{"version":3,"file":"contentweb/sm-app-contentweb.4f6d71cb.js","mappings":"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,kBAAmB,GACnBwB,mBAAoB,GACpBtB,uBAAwB,GACxBuB,kBAAclO,EACdmO,kBAAcnO,EACdoO,iBAAiB,EACjBC,cAAc,EACdC,iBAAatO,EACbuO,eAAgBA,IAAsBT,IAKtCU,SAAUnB,ICpBZ,ICDE,CACEnO,KAAM,kBAER,CACEA,KAAM,yCAER,CACEA,KAAM,yBAER,CACEA,KAAM,kCAER,CACEA,KAAM,2BAER,CACEA,KAAM,iCAER,CACEA,KAAM,uCAER,CACEA,KAAM,iCAER,CACEA,KAAM,kCAER,CACEA,KAAM,kCAER,CACEA,KAAM,2BAER,CACEA,KAAM,iCAER,CACEA,KAAM,yBAER,CACEA,KAAM,gCAER,CACEA,KAAM,uCAER,CACEA,KAAM,iCAER,CACEA,KAAM,+BAER,CACEA,KAAM,sCAER,CACEA,KAAM,oCAER,CACEA,KAAM,oCAER,CACEA,KAAM,uBAER,CACEA,KAAM,sCAER,CACEA,KAAM,sCCpEV,IACE,CACEuP,WAAW,EACXvP,KAAM,aAER,CACEuP,WAAW,EACXvP,KAAM,iBAER,CACEuP,WAAW,EACXvP,KAAM,mBAER,CACEuP,WAAW,EACXvP,KAAM,mBAER,CACEuP,WAAW,EACXvP,KAAM,uBAER,CACEuP,WAAW,EACXvP,KAAM,gCAER,CACEuP,WAAW,EACXvP,KAAM,4BAER,CACEuP,WAAW,EACXvP,KAAM,qBAER,CACEuP,WAAW,EACXvP,KAAM,8BAER,CACEuP,WAAW,EACXvP,KAAM,2BAER,CACEuP,WAAW,EACXvP,KAAM,wBAER,CACEuP,WAAW,EACXvP,KAAM,oCAER,CACEuP,WAAW,EACXvP,KAAM,oBAER,CACEuP,WAAW,EACXvP,KAAM,4B,yBCpDV,MAuCA,IAvCanG,EAAAA,EAAAA,gBAAe,CAC1B2V,oBAAqB,CACnBjW,GAAI,gCACJQ,eAAgB,gFAChBC,KAAM,CACJT,GAAI,gCACJU,QAAS,+EACTC,QAASC,IAGbsV,UAAW,CACTlW,GAAI,yBACJQ,eAAgB,YAChBC,KAAM,CACJT,GAAI,yBACJU,QAAS,2EACTC,QAASC,IAGbuV,YAAa,CACXn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U,CACR,gBACA,kBACA,eACA,iBACA,uBACA,cACA,qBAGJ,CACED,eAAgB,oCAElB,CACEA,eAAgB,2BAElB,CACEA,eAAgB,iCAElB,CACEA,eAAgB,kBAChBC,SAAU,CAAC,+BAAgC,kCAAmC,iCAEhF,CACED,eAAgB,iBAElB,CACEA,eAAgB,gBAElB,CACEA,eAAgB,mCAElB,CACEA,eAAgB,gBAElB,CACEA,eAAgB,4BAElB,CACEA,eAAgB,YAChBC,SAAU,CAAC,uBAAwB,oBAErC,CACED,eAAgB,mBAElB,CACEA,eAAgB,aAChBC,SAAU,CAAC,iBAAkB,kBAAmB,cAElD,CACED,eAAgB,kBAElB,CACEA,eAAgB,mBAElB,CACEA,eAAgB,kBAElB,CACEA,eAAgB,4BAElB,CACEA,eAAgB,mBAElB,CACEA,eAAgB,qBAElB,CACEA,eAAgB,wBAElB,CACEA,eAAgB,6BAElB,CACEA,eAAgB,uBAElB,CACEA,eAAgB,uBAElB,CACEA,eAAgB,gBAElB,CACEA,eAAgB,mBAElB,CACEA,eAAgB,uBAElB,CACEA,eAAgB,iBAElB,CACEA,eAAgB,oBAElB,CACEA,eAAgB,uBAElB,CACEA,eAAgB,wCAElB,CACEA,eAAgB,sBAvLI,ICFqB,CAC3C,CACEA,eAAgB,gCAChBC,SAAU,CAAC,wBAEb,CACED,eAAgB,wCAChBC,SAAU,CAAC,wBAAyB,oCAEtC,CACED,eAAgB,kBAElB,CACEA,eAAgB,6BAElB,CACEA,eAAgB,4BAElB,CACEA,eAAgB,yCAElB,CACEA,eAAgB,2BAElB,CACEA,eAAgB,iCAElB,CACEA,eAAgB,2BAElB,CACEA,eAAgB,0BAElB,CACEA,eAAgB,yBAElB,CACEA,eAAgB,oCAElB,CACEA,eAAgB,yBAElB,CACEA,eAAgB,qCAElB,CACEA,eAAgB,uCAElB,CACEA,eAAgB,qBAElB,CACEA,eAAgB,gCAElB,CACEA,eAAgB,iCAChBC,SAAU,CAAC,gC,0sBC9CA,SAAS83B,2BACtBC,EACAC,GAEA,MAAO,CAACvW,EAAgCtnB,IACtC49B,EAAYz2C,KAAK22C,IAA4B,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T,CAACZ,GAAaqB,wBAAyB,CACrCX,gBAAiB,CAACxgD,EAASa,WAAYb,EAASU,cAAeV,EAASY,aACxE6/C,MAAOC,GAAAA,sDAET,CAACZ,GAAasB,QAAS,CACrBZ,gBAAiB,CAACxgD,EAASa,WAAYb,EAASU,cAAeV,EAASY,aACxE6/C,MAAOG,GAAAA,uBAET,CAACd,GAAauB,kBAAmB,CAC/Bb,gBAAiB,CAACxgD,EAASa,WAAYb,EAASU,cAAeV,EAASY,aACxE6/C,MAAOG,GAAAA,iCAET,CAACd,GAAawB,QAAS,CACrBd,gBAAiB,CACfxgD,EAASa,WACTb,EAASQ,gBACTR,EAASU,cACTV,EAASe,aACTf,EAASgB,YACThB,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAGXkgD,MAAOC,GAAAA,4CAET,CAACZ,GAAayB,oBAAqB,CACjCf,gBAAiB,CACfxgD,EAASa,WACTb,EAASG,gBACTH,EAASI,eACTJ,EAASQ,gBACTR,EAASU,cACTV,EAASe,aACTf,EAASgB,YACThB,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOG,GAAAA,2BAET,CAACd,GAAa0B,QAAS,CACrBhB,gBAAiB,CAACxgD,EAASa,WAAYb,EAASU,cAAeV,EAASY,aACxE6/C,MAAOG,GAAAA,uBAET,CAACd,GAAa2B,iBAAkB,CAC9BjB,gBAAiB,CACfxgD,EAASa,WACTb,EAASG,gBACTH,EAASI,eACTJ,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOC,GAAAA,qCAET,CAACZ,GAAa4B,sBAAuB,CACnClB,gBAAiB,CACfxgD,EAASa,WACTb,EAASG,gBACTH,EAASI,eACTJ,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOG,GAAAA,qBAET,CAACd,GAAa6B,sBAAuB,CACnCnB,gBAAiB,CACfxgD,EAASa,WACTb,EAASQ,gBACTR,EAASU,cACTV,EAASe,aACTf,EAASgB,YACThB,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOC,GAAAA,4BAET,CAACZ,GAAa8B,cAAe,CAC3BpB,gBAAiB,CACfxgD,EAASa,WACTb,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOG,GAAAA,cAET,CAACd,GAAa+B,aAAc,CAC1BrB,gBAAiB,CACfxgD,EAASa,WACTb,EAASG,gBACTH,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOG,GAAAA,aAET,CAACd,GAAagC,kBAAmB,CAC/BtB,gBAAiB,CACfxgD,EAASa,WACTb,EAASQ,gBACTR,EAASU,cACTV,EAASe,aACTf,EAASgB,YACThB,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOG,GAAAA,YAET,CAACd,GAAaiC,oBAAqB,CACjCvB,gBAAiB,CAACxgD,EAASa,WAAYb,EAASU,cAAeV,EAASY,aACxE6/C,MAAOG,GAAAA,cAET,CAACd,GAAakC,kBAAmB,CAC/BxB,gBAAiB,CACfxgD,EAASa,WACTb,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOG,GAAAA,yBAET,CAACd,GAAamC,gBAAiB,CAC7BzB,gBAAiB,CACfxgD,EAASa,WACTb,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOG,GAAAA,gBAET,CAACd,GAAaoC,eAAgB,CAC5B1B,gBAAiB,CACfxgD,EAASa,WACTb,EAASG,gBACTH,EAASI,eACTJ,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,iBACTP,EAASe,aACTf,EAASgB,aAEXy/C,MAAOC,GAAAA,wCAET,CAACZ,GAAaqC,aAAc,CAC1B3B,gBAAiB,CACfxgD,EAASa,WACTb,EAASG,gBACTH,EAASI,eACTJ,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,iBACTP,EAASe,aACTf,EAASgB,aAEXy/C,MAAOC,GAAAA,qCAET,CAACZ,GAAasC,cAAe,CAC3B5B,gBAAiB,CACfxgD,EAASa,WACTb,EAASG,gBACTH,EAASI,eACTJ,EAASQ,gBACTR,EAASU,cACTV,EAASe,aACTf,EAASgB,YACThB,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOG,GAAAA,6BAET,CAACd,GAAauC,oBAAqB,CACjC7B,gBAAiB,CACfxgD,EAASa,WACTb,EAASG,gBACTH,EAASI,eACTJ,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,iBACTP,EAASe,aACTf,EAASgB,aAEXy/C,MAAOC,GAAAA,0CAET,CAACZ,GAAawC,SAAU,CACtB9B,gBAAiB,CACfxgD,EAASa,WACTb,EAASG,gBACTH,EAASI,eACTJ,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOG,GAAAA,uBAET,CAACd,GAAayC,QAAS,CACrB/B,gBAAiB,CACfxgD,EAASa,WACTb,EAASG,gBACTH,EAASI,eACTJ,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOG,GAAAA,sBAET,CAACd,GAAa0C,mBAAoB,CAChChC,gBAAiB,CACfxgD,EAASa,WACTb,EAASG,gBACTH,EAASI,eACTJ,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOC,GAAAA,qCAET,CAACZ,GAAa2C,qBAAsB,CAClCjC,gBAAiB,CACfxgD,EAASa,WACTb,EAASG,gBACTH,EAASI,eACTJ,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,kBAEXkgD,MAAOC,GAAAA,iCAET,CAACZ,GAAa4C,gBAAiB,CAC7BlC,gBAAiB,CACfxgD,EAASa,WACTb,EAASG,gBACTH,EAASI,eACTJ,EAASQ,gBACTR,EAASU,cACTV,EAASW,cACTX,EAASY,YACTZ,EAASO,iBACTP,EAASe,aACTf,EAASgB,aAEXy/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8BACA,sBACA,uBACA,mCACA,cACA,4BACA,sBACA,cACA,+BACA,cACA,wBACA,eACA,eACA,iBACA,kCACA,yBAGJ,CACEmiB,SAAUp8B,GAAAA,uBACVia,SAAU,CACR,eACA,kBACA,sBACA,8BACA,iBACA,iCACA,8BACA,0CACA,2CACA,0BACA,wBACA,gBACA,kCACA,+BACA,mCACA,gCACA,qBAGJ,CACEmiB,SAAUp8B,GAAAA,mBACVia,SAAU,CACR,oBACA,gBACA,mBACA,aACA,yBACA,2BACA,0BACA,qBACA,qBACA,YACA,qCACA,yBACA,+BACA,uBACA,yBACA,kBACA,8BACA,0BACA,4BACA,yBAGJ,CACEmiB,SAAUp8B,GAAAA,oBACVia,SAAU,CACR,iBACA,kBACA,2BACA,sBACA,6BACA,kCACA,qBACA,2BAGJ,CACEmiB,SAAUp8B,GAAAA,kBACVia,SAAU,CAAC,sBAAuB,uBAEpC,CACEmiB,SAAUp8B,GAAAA,qBACVia,SAAU,CACR,eACA,+BACA,wCACA,eACA,kBC1JN,IACE,CACEmiB,SAAUp8B,GAAAA,oBACVia,SAAU,CACR,sBACA,wBACA,sBACA,6BACA,yBACA,mBACA,wBACA,0BACA,oBACA,aACA,8BACA,6BAGJ,CACEmiB,SAAUp8B,GAAAA,mBACVia,SAAU,CACR,YACA,yBACA,2BACA,mBACA,cACA,mBAGJ,CACEmiB,SAAUp8B,GAAAA,aACVia,SAAU,CAAC,gBAAiB,yBAA0B,kBAExD,CACEmiB,SAAUp8B,GAAAA,gBACVia,SAAU,CAAC,iBAAkB,kBAAmB,yBAElD,CACEmiB,SAAUp8B,GAAAA,eACVia,SAAU,CACR,2BACA,0BACA,aACA,4BACA,2BACA,mBACA,oBACA,uBACA,gBACA,8BACA,sBACA,uBACA,mCACA,cACA,4BACA,sBACA,cACA,+BACA,cACA,wBACA,iBACA,eACA,eACA,oCAGJ,CACEmiB,SAAUp8B,GAAAA,uBACVia,SAAU,CACR,eACA,kBACA,sBACA,8BACA,iBACA,iCACA,8BACA,0CACA,wBACA,gBACA,kCACA,+BACA,mCACA,kCAGJ,CACEmiB,SAAUp8B,GAAAA,mBACVia,SAAU,CACR,oBACA,gBACA,yBACA,2BACA,mBACA,aACA,0BACA,+BACA,uBACA,yBACA,kBACA,qBACA,qBACA,uBACA,yBACA,gCAGJ,CACEmiB,SAAUp8B,GAAAA,oBACVia,SAAU,CACR,iBACA,kBACA,2BACA,sBACA,6BACA,kCACA,yBACA,uBAGJ,CACEmiB,SAAUp8B,GAAAA,kBACVia,SAAU,CAAC,sBAAuB,uBAEpC,CACEmiB,SAAUp8B,GAAAA,qBACVia,SAAU,CAAC,eAAgB,+BAAgC,wCAAyC,kBC/HlGrD,GAAiB,YAGjB4pD,GAAW,mBAkDjB,GAhD+B,CAC7BC,6BAA8B,CAC5BtkE,GAAI,mDACJQ,eAAgB,mCAChBC,KAAM,CACJT,GAAI,mDACJU,QAAU,iCAAsB2jE,6DAChC1jE,QAAS8Z,KAGb8pD,0BAA2B,CACzBvkE,GAAI,gDACJQ,eAAgB,gCAChBC,KAAM,CACJT,GAAI,gDACJU,QAAU,iCAAsB2jE,6DAChC1jE,QAAS8Z,KAGb+pD,mCAAoC,CAClCxkE,GAAI,wDACJQ,eAAgB,6BAChBC,KAAM,CACJT,GAAI,wDACJU,QAAU,iCAAsB2jE,6DAChC1jE,QAAS8Z,KAGbQ,yBAA0B,CACxBjb,GAAI,mDACJQ,eAAgB,wBAChBC,KAAM,CACJT,GAAI,mDACJU,QAAU,iCAAsB2jE,6DAChC1jE,QAAS8Z,KAGbgqD,oCAAqC,CACnCzkE,GAAI,+CACJQ,eAAgB,sCAChBC,KAAM,CACJT,GAAI,+CACJU,QAAU,iCAAsB2jE,6DAChC1jE,QAAS8Z,MC7Cf,IACE,CACEwlB,SAAUykC,GAAAA,mCACV5mD,SAAU,CACR,gCACA,sCACA,sBACA,6BACA,yBACA,mBACA,0BACA,aACA,wBACA,8BACA,8BACA,6BAGJ,CACEmiB,SAAUykC,GAAAA,6BACV5mD,SAAU,CACR,YACA,gBACA,yBACA,2BACA,mBACA,cACA,mBAGJ,CACEmiB,SAAUp8B,GAAAA,aACVia,SAAU,CAAC,gBAAiB,yBAA0B,gBAAiB,uCAEzE,CACEmiB,SAAUykC,GAAAA,0BACV5mD,SAAU,CAAC,iBAAkB,kBAAmB,mCAAoC,yBAEtF,CACEmiB,SAAUykC,GAAAA,yBACV5mD,SAAU,CACR,2BACA,0BACA,aACA,4BACA,2BACA,mBACA,oBACA,8BACA,sBACA,mCACA,4BACA,cACA,uBACA,gBACA,wBACA,uBACA,uBACA,cACA,sBACA,eACA,+BACA,cACA,wBACA,eACA,iBACA,kCACA,yBAGJ,CACEmiB,SAAUp8B,GAAAA,uBACVia,SAAU,CACR,eACA,kBACA,8BACA,sBACA,iBACA,iCACA,8BACA,0CACA,0BACA,2CACA,wBACA,gBACA,kCACA,+BACA,mCACA,gCACA,qBAGJ,CACEmiB,SAAUp8B,GAAAA,mBACVia,SAAU,CACR,oBACA,gBACA,mBACA,aACA,yBACA,mCACA,0BACA,uBACA,yBACA,kBACA,+BACA,qBACA,qBACA,sBACA,qCACA,8BACA,yBACA,2BACA,oCACA,4BACA,yBAGJ,CACEmiB,SAAUp8B,GAAAA,oBACVia,SAAU,CACR,iBACA,kBACA,2BACA,sBACA,6BACA,kCACA,yBACA,uBAGJ,CACEmiB,SAAUp8B,GAAAA,kBACVia,SAAU,CAAC,sBAAuB,uBAEpC,CACEmiB,SAAUp8B,GAAAA,qBACVia,SAAU,CACR,eACA,+BACA,wCACA,eACA,iBAGJ,CACEmiB,SAAUykC,GAAAA,oCACV5mD,SAAU,CACR,kBACA,gBACA,kBACA,iBACA,kBACA,sBACA,+BACA,mBCrJO6mD,GAAc,CACzBC,mBAAoB/gE,GAAAA,mBAAAA,eACpBghE,gBAAiBhhE,GAAAA,gBAAAA,eACjBihE,0BAA2BjhE,GAAAA,0BAAAA,eAC3BkhE,oBAAqBlhE,GAAAA,oBAAAA,eACrBmhE,aAAcnhE,GAAAA,aAAAA,eACdohE,eAAgBphE,GAAAA,eAAAA,eAChBqhE,uBAAwBrhE,GAAAA,uBAAAA,eACxBshE,mBAAoBthE,GAAAA,mBAAAA,eACpBuhE,oBAAqBvhE,GAAAA,oBAAAA,eACrBwhE,kBAAmBxhE,GAAAA,kBAAAA,eACnByhE,qBAAsBzhE,GAA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","sources":["/app/apps/contentweb/node_modules/@sm/webassets/dist/locales/translated|lazy|/^/.//.*$/|chunkName: i18n/webassets/[request]|groupOptions: {}|namespace object","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/UsedInOrgs/getLocalizedLogos/images|lazy|/^/.//.*/-/-lg/.png$/|groupOptions: {}|namespace object","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/UsedInOrgs/getLocalizedLogos/images|lazy|/^/.//.*/.png$/|groupOptions: {}|namespace object","/app/apps/contentweb/src/locales/translated|lazy|/^/.//.*$/|chunkName: i18n/[request]|groupOptions: {}|namespace object","/app/apps/contentweb/src/app/pages/Pricing/constants/project.ts","/app/apps/contentweb/src/app/pages/Pricing/copy.ts","/app/apps/contentweb/src/shared/constants/pricing.ts","/app/apps/contentweb/src/app/styles/pricing/colors.ts","/app/apps/contentweb/src/app/styles/pricing/pricing-theme.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/theme.ts","/app/apps/contentweb/src/server/routes/Pricing/experimentsConfig.ts","/app/apps/contentweb/src/shared/hooks/usePricingExperiments.tsx","/app/apps/contentweb/src/app/pages/Pricing/hooks/useExperimentAssignment.ts","/app/apps/contentweb/src/app/helpers/possibleTypes.js","/app/apps/contentweb/src/app/pages/LinkBlocked/index.js","/app/apps/contentweb/src/shared/hooks/usePricingExperience.tsx","/app/apps/contentweb/src/app/pages/Pricing/hooks/useTrackingDetails.ts","/app/apps/contentweb/src/shared/util.ts","/app/apps/contentweb/src/app/pages/Pricing/pages/shared/utilities/pageEvents.ts","/app/apps/contentweb/src/app/pages/Pricing/hocs/withPageHandler.tsx","/app/apps/contentweb/src/shared/types/pricing/package.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/constants.ts","/app/apps/contentweb/src/shared/constants/sales.ts","/app/apps/contentweb/src/app/pages/Pricing/hooks/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/actions.ts","/app/apps/contentweb/src/shared/actions/index.ts","/app/apps/contentweb/src/shared/reducers/packageReducer.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/reducer.ts","/app/apps/contentweb/src/shared/state/index.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/details/experimentFeatures.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/details/groupings/fakeFeatures.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/details/marketingFeatures.ts","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsTable/Categories/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsTable/Categories/IncludedLink.tsx","/app/apps/contentweb/src/app/pages/Pricing/lib/PackageFeatures/details/cellCopy.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/details/helpers.tsx","/app/apps/contentweb/src/app/pages/Pricing/transformers/details/rules/defaultRules.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/copy/experimentDetailsCopy.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/Categories/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/Categories/IncludedLink.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/helpers.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/details/groupings/featureRules.tsx","/app/apps/contentweb/src/app/pages/Pricing/transformers/details/rules/index.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/details/combinedFeatures.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/PackageFeatures/summary/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/PackageFeatures/details/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/PackageFeatures/tooltipCopy.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/PackageFeatures/details/tooltipCopyOverrides.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/copy/experimentSummaryCopy.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/PackageFeatures/summary/experimentCopy.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/PackageFeatures/details/experimentCopy.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/copy/experimentTooltipCopy.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/PackageFeatures/experimentTooltipCopy.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/PackageFeatures/constants.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/PackageFeatures/index.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/experiments/featureRules.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/rules/featureRules.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/details/index.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/lib-helpers.ts","/app/apps/contentweb/src/shared/hooks/usePricingState.tsx","/app/apps/contentweb/src/app/pages/Pricing/hooks/useCta.ts","/app/apps/contentweb/src/shared/constants/sizes.ts","/app/apps/contentweb/src/shared/media-query.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PackageCta/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PackageCta/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/PackageHeader/PackageByline.tsx","/app/apps/contentweb/src/app/pages/Pricing/hooks/usePriceDisplay/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/packages/packageDefs.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PackagePrice/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PackagePrice/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/Ribbon/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Ribbon/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/PackageHeader/useStyles.ts","/app/apps/contentweb/src/shared/hooks/eduContext.tsx","/app/apps/contentweb/src/app/pages/Pricing/hooks/usePriceDisplay/index.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PackageHeader/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PackageHeader/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/FeatureSet/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Tooltip/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Tooltip/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Tooltip/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/FeatureSet/uniqueFeatureNameMap.ts","/app/apps/contentweb/src/app/pages/Pricing/components/FeatureSet/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/features/defaultIndividualsFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/features/defaultTeamsFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/summaryFeatureMap.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/summary/features/featureRulesMap.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/summaryFeaturesTransformer.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/classes/SummaryTransformer.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/classes/PlanTransformers.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/summary/features/formsFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/summary/features/advantageFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/summary/features/premierFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/summary/features/enterpriseFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/summary/features/basicFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/summary/features/featureRules.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/summary/features/featureRulesT1T2.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/summary/features/featureRulesT3.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/features/premierAnnualFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/features/standardMonthlyFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/features/starterAnnualFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/features/flexPlanFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/features/advantageAnnualFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/features/enterpriseFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/features/teamPremierFeatureList.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/features/index.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/summary/features/index.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/index.ts","/app/apps/contentweb/src/app/pages/Pricing/hooks/useSummaryDisplayFeatures.ts","/app/apps/contentweb/src/app/pages/Pricing/hooks/useFeatureSet.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/Package.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/PricingFooter/config/disclaimers.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PricingFooter/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PricingFooter/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PricingFooter/config/features.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PricingFooter/components/EnabledCheckMark.js","/app/apps/contentweb/src/app/pages/Pricing/components/PricingFooter/components/DisabledCheckMark.js","/app/apps/contentweb/src/app/pages/Pricing/components/PricingFooter/PricingFeatures.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/PricingFooter/components/FAQ.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/PricingFooter/components/FAQAnswer.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/PricingFooter/MoreAbout.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/copy/experimentPackageCopy.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/types.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/constants.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PricingFooter/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/MainHeading/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/MainHeading/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/Navigation/routes.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Navigation/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Navigation/NavItem.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/Navigation/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/pages/Summary/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/hooks/useTreatment/constants.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/EnterpriseFeaturesGp69/assets/EnterpriseFeaturesCopy.js","/app/apps/contentweb/src/app/pages/Pricing/experiments/EnterpriseFeaturesGp69/useStyles.js","/app/apps/contentweb/src/app/pages/Pricing/experiments/EnterpriseFeaturesGp69/components/mrxSection.js","/app/apps/contentweb/src/app/pages/Pricing/pages/Enterprise/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/types.ts","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/Validation.ts","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/helpers.ts","/app/apps/contentweb/src/app/pages/Pricing/hooks/useHubSpotAPI.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/EnterpriseFeaturesGp69/helpers.js","/app/apps/contentweb/src/app/pages/Pricing/experiments/EnterpriseFeaturesGp69/components/NotifyInterestModal.js","/app/apps/contentweb/src/app/pages/Pricing/experiments/EnterpriseFeaturesGp69/components/testimonialSection.js","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/HubSpotErrorBanner.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/HubspotInput.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/EnterpriseFeaturesGp69/components/addOnSection.js","/app/apps/contentweb/src/app/pages/Pricing/lib/HelmetWrapper/HelmetWrappers.tsx","/app/apps/contentweb/src/app/pages/Pricing/lib/HelmetWrapper/index.ts","/app/apps/contentweb/src/app/pages/Pricing/components/SEO/types.ts","/app/apps/contentweb/src/app/pages/Pricing/components/SEO/links.ts","/app/apps/contentweb/src/app/pages/Pricing/components/SEO/SEO.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/SEO/SeoHeadTags.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/SEO/HrefLangsTags.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/SEO/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/EnterpriseFeaturesGp69/EnterpriseFeatures.js","/app/apps/contentweb/src/app/pages/Pricing/experiments/EnterpriseFeaturesGp69/index.js","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2427_social_proof/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2427_social_proof/Logos.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2427_social_proof/SocialProof.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2427_social_proof/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/DiscountBanner/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/DiscountBanner/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/components/DiscountBanner/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/hooks/useTreatment/treatments.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/GROW2911AdaChatbot/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/hooks/useTreatment/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/pages/Summary/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/BackToSummary/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/BackToSummary/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsTable/PackageHeader/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsTable/PackageHeader/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/Accordion/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Accordion/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/lib/PackageFeatures/details/categoryCopy.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/details/groupings/teams.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/details/groupings/individual.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/copy/experimentCategoryCopy.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/details/groupings/index.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/details/groupings/index.ts","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsPackagesView/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsTable/Categories/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsTable/Categories/FeatureCell.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsTable/Categories/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsPackagesView/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/pages/Details/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/pages/Enterprise/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/pages/Enterprise/ContactUs.tsx","/app/apps/contentweb/src/app/pages/Pricing/pages/Enterprise/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/pages/Educational/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/pages/Educational/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/hooks/useCta.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/PackageCta/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/PackageHeader/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/Ribbon/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/Ribbon/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/ToggleSwitch/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/ToggleSwitch/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/UserSelector/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/UserSelector/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/DiscountByline/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/DiscountByline/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/PackageHeader/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/Package/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/Package/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/SocialProof/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/SocialProof/assets/Uber.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/SocialProof/assets/Adidas.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/SocialProof/assets/ClickUp.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/SocialProof/assets/Harvard.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/SocialProof/assets/Kelloggs.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/SocialProof/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/SocialProof/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/Summary/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/copy/experimentHeadingCopy.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/Summary/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/BackToSummary/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/BackToSummary/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/DetailsPackageHeader/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/DetailsPackageHeader/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/Categories/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/Categories/FeatureCell.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/Categories/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/DetailsPackagesView/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/components/DetailsPackagesView/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/Details/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/IPPM/components/Package/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/IPPM/components/FeatureSet/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/IPPM/components/FeatureSet/features.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/copy/ippmCopy.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/IPPM/components/FeatureSet/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/IPPM/components/PaidFeatures/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/IPPM/components/PaidFeatures/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/IPPM/components/Package/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/IPPM/copy.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/IPPM/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/IPPM/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/pages/IPPM/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/pages/IPPM/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/hooks/usePackageSet.ts","/app/apps/contentweb/src/app/pages/Pricing/hooks/useStarterEnabled.ts","/app/apps/contentweb/src/app/pages/Pricing/PricingRoutes.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/Layout/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Layout/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/hooks/useScripts.ts","/app/apps/contentweb/src/app/pages/Pricing/router.tsx","/app/apps/contentweb/src/app/pages/Pricing/pages/index.ts","/app/apps/contentweb/src/app/pages/Pricing/index.tsx","/app/apps/contentweb/src/app/pages/AppsDirectory/components/LinkWithSearch/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/AppDirNavHeader/AppDirNavHeaderDesktop.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/AppDirNavHeader/AppDirNavHeaderMobile.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/AppDirNavHeader/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/ModernHeader/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/Layouts/LeftNavLayout.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/MyAppsV2/styles.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/components/UninstallConfirmModal.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/MyAppsV2/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/JumboHeader/styles.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/JumboHeader/index.js","/app/apps/contentweb/src/app/helpers/waitForUsabilla.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/SearchContext/constants.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/SearchContext/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/CategoriesContext/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/FilterNav/FilterNavSkeleton.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/FilterNav/index.js","/app/apps/contentweb/src/app/pages/components/UCSModule/UCSModuleLoaders/index.js","/app/apps/contentweb/src/app/pages/components/UCSModule/index.js","/app/apps/contentweb/src/app/helpers/getCanonicalUrlOrNoIndex.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/AppListingContext/AppListingSkeleton.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/AppListingContext/AppListingContext.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/utils.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/AppCard/styles.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/AppCard/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/AppsGrid/styles.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/AppsGrid/AppsGrid.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/CategorySection/CategorySectionSkeleton.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/CategorySection/styles.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/CategorySection/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/AppListingSort/AppListingSort.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/styles.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/NoResultsCard/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/Listings.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/SearchBox/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/NewAppDirectoryBanner/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/AppDetailsSkeleton.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/styles.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/components/AppDetailsFooter.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/components/AppDetailsInfo.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/components/AppDetailsFeatures.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/components/AppDetailsActionButton.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/components/UninstallButton.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/components/AppDetailsJumboHeader.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/components/CarouselContext.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/components/ResponsiveImage.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/components/DisplayMedia.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/AppDetails.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/AppDetailsModal.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/index.js","/app/apps/contentweb/src/app/pages/MRX/enums.js","/app/apps/contentweb/src/app/pages/MRX/helpers/useBrowser.js","/app/apps/contentweb/src/app/pages/MRX/helpers/getClickHandlers.js","/app/apps/contentweb/src/app/pages/MRX/helpers/useIsomorphicLayoutEffect.js","/app/apps/contentweb/src/app/pages/MRX/helpers/getLinkWithParams.js","/app/apps/contentweb/src/app/pages/MRX/helpers/logging.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/helpers/enums.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/helpers/scrollListener.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/helpers/logger.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/helpers/copy.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/helpers/menuConfig.js","/app/apps/contentweb/src/app/pages/MRX/propTypes.js","/app/apps/contentweb/src/app/pages/MRX/helpers/useCursor.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/ExpandableMenu/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/NavForDesktop.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/NavForTablet.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/NavForIE/DesktopNavForIE.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/NavForIE/MobileNavForIE.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/NavForIE/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/MRXHeader/index.js","/app/apps/contentweb/src/app/pages/MRX/helpers/swipe.js","/app/apps/contentweb/src/app/pages/MRX/sharedComponents/MRXCarousel/index.js","/app/apps/contentweb/src/app/pages/MRX/sharedComponents/Anchor.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/ProductCategory/ProductTile/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/ProductCategory/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/HereToHelp/index.js","/app/apps/contentweb/src/app/pages/MRX/sharedComponents/CustomScreen/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/UsedInOrgs/getLocalizedLogos/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/UsedInOrgs/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/filter.js","/app/apps/contentweb/src/app/pages/MRX/helpers/SynchronousQueryStream.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/index.js","/app/apps/contentweb/src/app/pages/CreateWizard/CreateWizardConfigContext.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/questionTypes.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/MultipleChoice/ChoiceOptions.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/MultipleChoice/SurveyChoice.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/MultipleChoice/QuizChoice.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/MultipleChoice/index.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/helper.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/actionTypes.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/questions.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/questionTransformer/questionFromApi.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/questionTransformer/questionToApi.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/inputConfig.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/index.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/IconWrapper/IconPoll.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/IconWrapper/IconSurvey.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/IconWrapper/IconTemplate.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/IconWrapper/IconQuiz.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/Home/index.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/Templates/index.js","/app/apps/contentweb/src/app/pages/CreateWizard/DefaultCreateWizardConfig.js","/app/apps/contentweb/src/app/pages/CreateWizard/index.js","/app/apps/contentweb/src/app/helpers/makeLinksStatic.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/components/DeveloperWebNavHeader/DeveloperWebNavHeaderDesktop.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/components/DeveloperWebNavHeader/DeveloperWebNavHeaderMobile.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/components/DeveloperWebNavHeader/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/components/ModernHeader/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/DeveloperWebBasePage.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/Home/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/Docs/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/components/AppTable/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/FAQ/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/TOU/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/BuildAPrivateApp/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/BuildAPublicApp/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/index.js","/app/apps/contentweb/src/app/App.js","/app/apps/contentweb/src/app/RenderedApp.js","/app/apps/contentweb/src/app/helpers/clientTypePolicies.ts","/app/apps/contentweb/src/app/pages/Pricing/hooks/useTheme.ts","/app/apps/contentweb/src/app/entry.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/CategoriesContext/CategoriesContext.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/preview-application-listing-details.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/published-application-listing-details.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/DetailsV2/remove-app.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/AppListingContext/AppListings.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/MyAppsV2/myApps.graphql","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/Home/home.graphql","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/solutions.graphql","/app/apps/contentweb/src/app/pages/Pricing/experiments/EnterpriseFeaturesGp69/UserInfo.graphql","/app/apps/contentweb/external var \"jsdom\""],"sourcesContent":["var map = {\n\t\"./da-DK\": [\n\t\t833,\n\t\t233\n\t],\n\t\"./da-DK.json\": [\n\t\t833,\n\t\t233\n\t],\n\t\"./de-DE\": [\n\t\t963,\n\t\t233\n\t],\n\t\"./de-DE.json\": [\n\t\t963,\n\t\t233\n\t],\n\t\"./es-LA\": [\n\t\t6137,\n\t\t233\n\t],\n\t\"./es-LA.json\": [\n\t\t6137,\n\t\t233\n\t],\n\t\"./fi-FI\": [\n\t\t1049,\n\t\t233\n\t],\n\t\"./fi-FI.json\": [\n\t\t1049,\n\t\t233\n\t],\n\t\"./fr-FR\": [\n\t\t3798,\n\t\t233\n\t],\n\t\"./fr-FR.json\": [\n\t\t3798,\n\t\t233\n\t],\n\t\"./it-IT\": [\n\t\t6977,\n\t\t233\n\t],\n\t\"./it-IT.json\": [\n\t\t6977,\n\t\t233\n\t],\n\t\"./ja-JP\": [\n\t\t8572,\n\t\t233\n\t],\n\t\"./ja-JP.json\": [\n\t\t8572,\n\t\t233\n\t],\n\t\"./ko-KR\": [\n\t\t6058,\n\t\t233\n\t],\n\t\"./ko-KR.json\": [\n\t\t6058,\n\t\t233\n\t],\n\t\"./nl-NL\": [\n\t\t4742,\n\t\t233\n\t],\n\t\"./nl-NL.json\": [\n\t\t4742,\n\t\t233\n\t],\n\t\"./no-NO\": [\n\t\t7813,\n\t\t233\n\t],\n\t\"./no-NO.json\": [\n\t\t7813,\n\t\t233\n\t],\n\t\"./pt-BR\": [\n\t\t8815,\n\t\t233\n\t],\n\t\"./pt-BR.json\": [\n\t\t8815,\n\t\t233\n\t],\n\t\"./ru-RU\": [\n\t\t7962,\n\t\t233\n\t],\n\t\"./ru-RU.json\": [\n\t\t7962,\n\t\t233\n\t],\n\t\"./sv-SE\": [\n\t\t9207,\n\t\t233\n\t],\n\t\"./sv-SE.json\": [\n\t\t9207,\n\t\t233\n\t],\n\t\"./tr-TR\": [\n\t\t8314,\n\t\t233\n\t],\n\t\"./tr-TR.json\": [\n\t\t8314,\n\t\t233\n\t],\n\t\"./zh-TW\": [\n\t\t2729,\n\t\t233\n\t],\n\t\"./zh-TW.json\": [\n\t\t2729,\n\t\t233\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 8686;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./allbirds_logo--lg.png\": [\n\t\t8287,\n\t\t287\n\t],\n\t\"./ibm_logo--lg.png\": [\n\t\t6450,\n\t\t450\n\t],\n\t\"./just_logo--lg.png\": [\n\t\t3508,\n\t\t508\n\t],\n\t\"./rj_logo--lg.png\": [\n\t\t6612,\n\t\t612\n\t],\n\t\"./tweezerman_logo--lg.png\": [\n\t\t3397,\n\t\t397\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 1 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 5428;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./allbirds_logo--lg.png\": [\n\t\t8287,\n\t\t287\n\t],\n\t\"./allbirds_logo.png\": [\n\t\t3479,\n\t\t479\n\t],\n\t\"./ibm_logo--lg.png\": [\n\t\t6450,\n\t\t450\n\t],\n\t\"./ibm_logo.png\": [\n\t\t1659,\n\t\t659\n\t],\n\t\"./just_logo--lg.png\": [\n\t\t3508,\n\t\t508\n\t],\n\t\"./just_logo.png\": [\n\t\t3320,\n\t\t320\n\t],\n\t\"./rj_logo--lg.png\": [\n\t\t6612,\n\t\t612\n\t],\n\t\"./rj_logo.png\": [\n\t\t2585,\n\t\t585\n\t],\n\t\"./tweezerman_logo--lg.png\": [\n\t\t3397,\n\t\t397\n\t],\n\t\"./tweezerman_logo.png\": [\n\t\t639,\n\t\t639\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 1 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 394;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./da-DK\": [\n\t\t9302,\n\t\t2\n\t],\n\t\"./da-DK.json\": [\n\t\t9302,\n\t\t2\n\t],\n\t\"./de-DE\": [\n\t\t9125,\n\t\t750\n\t],\n\t\"./de-DE.json\": [\n\t\t9125,\n\t\t750\n\t],\n\t\"./es-LA\": [\n\t\t4547,\n\t\t597\n\t],\n\t\"./es-LA.json\": [\n\t\t4547,\n\t\t597\n\t],\n\t\"./fi-FI\": [\n\t\t3989,\n\t\t675\n\t],\n\t\"./fi-FI.json\": [\n\t\t3989,\n\t\t675\n\t],\n\t\"./fr-FR\": [\n\t\t3836,\n\t\t821\n\t],\n\t\"./fr-FR.json\": [\n\t\t3836,\n\t\t821\n\t],\n\t\"./it-IT\": [\n\t\t2546,\n\t\t174\n\t],\n\t\"./it-IT.json\": [\n\t\t2546,\n\t\t174\n\t],\n\t\"./ja-JP\": [\n\t\t5340,\n\t\t93\n\t],\n\t\"./ja-JP.json\": [\n\t\t5340,\n\t\t93\n\t],\n\t\"./ko-KR\": [\n\t\t3097,\n\t\t890\n\t],\n\t\"./ko-KR.json\": [\n\t\t3097,\n\t\t890\n\t],\n\t\"./nl-NL\": [\n\t\t1212,\n\t\t574\n\t],\n\t\"./nl-NL.json\": [\n\t\t1212,\n\t\t574\n\t],\n\t\"./no-NO\": [\n\t\t2883,\n\t\t244\n\t],\n\t\"./no-NO.json\": [\n\t\t2883,\n\t\t244\n\t],\n\t\"./pt-BR\": [\n\t\t3924,\n\t\t319\n\t],\n\t\"./pt-BR.json\": [\n\t\t3924,\n\t\t319\n\t],\n\t\"./ru-RU\": [\n\t\t6917,\n\t\t484\n\t],\n\t\"./ru-RU.json\": [\n\t\t6917,\n\t\t484\n\t],\n\t\"./sv-SE\": [\n\t\t7570,\n\t\t130\n\t],\n\t\"./sv-SE.json\": [\n\t\t7570,\n\t\t130\n\t],\n\t\"./tr-TR\": [\n\t\t8016,\n\t\t580\n\t],\n\t\"./tr-TR.json\": [\n\t\t8016,\n\t\t580\n\t],\n\t\"./zh-TW\": [\n\t\t1515,\n\t\t10\n\t],\n\t\"./zh-TW.json\": [\n\t\t1515,\n\t\t10\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 8972;\nmodule.exports = webpackAsyncContext;","const PROJECT_NAME = 'PricingWeb';\n\nexport default PROJECT_NAME;\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\n/**\n * Shared copy file between all the pages\n */\n\nconst COPY = defineMessages({\n MAIN_HEADING: {\n id: 'Pricing.copy.SharedPagesHeading',\n defaultMessage: 'Choose a plan that works for you',\n desc: {\n id: 'Pricing.copy.SharedPagesHeading',\n message: '[Type: header][Vis: high] - Primary header for pricing summary page',\n project: PROJECT_NAME,\n },\n },\n DETAILS_HEADING: {\n id: 'Pricing.copy.SharedPagesDetailsHeading',\n defaultMessage: 'Compare our full set of features',\n desc: {\n id: 'Pricing.copy.SharedPagesDetailsHeading',\n message: '[Type: header][Vis: high] - Primary header for pricing details page',\n project: PROJECT_NAME,\n },\n },\n EDUCATIONAL_HEADING: {\n id: 'Pricing.copy.SharedPagesEnterpriseHeading',\n defaultMessage: 'Discounts for Students and Educators',\n desc: {\n id: 'Pricing.copy.SharedPagesEnterpriseHeading',\n message: '[Type: header][Vis: high] - Primary header for pricing educational page',\n project: PROJECT_NAME,\n },\n },\n EDUCATIONAL_SUBHEADING: {\n id: 'Pricing.copy.SharedPagesSubHeading',\n defaultMessage:\n 'You must have a valid student, staff, or faculty ID to qualify for discounted pricing. Not eligible for this discount?',\n desc: {\n id: 'Pricing.copy.SharedPagesSubHeading',\n message: '[Type: header][Vis: high] - Subheader for pricing educational page',\n project: PROJECT_NAME,\n },\n },\n VIEW_PRICING: {\n id: 'Pricing.copy.SharedPagesLink',\n defaultMessage: 'View pricing',\n desc: {\n id: 'Pricing.copy.SharedPagesLink',\n message: '[Type: Link][Vis: high] - Link to pricing page',\n project: PROJECT_NAME,\n },\n },\n TEAM_PLANS: {\n id: 'Pricing.copy.SharedPagesTeamPlans',\n defaultMessage: 'Team Plans',\n desc: {\n id: 'Pricing.copy.SharedPagesTeamPlans',\n message: '[Type: Link][Vis.: high] - A link that will direct the user to the Team Plans Pricing Summary page',\n project: PROJECT_NAME,\n },\n },\n INDIVIDUAL_PLANS: {\n id: 'Pricing.copy.SharedPagesIndividualPlans',\n defaultMessage: 'Individual Plans',\n desc: {\n id: 'Pricing.copy.SharedPagesIndividualPlans',\n message:\n '[Type: Link][Vis.: high] - A link that will direct the user to the Individual Plans Pricing Summary page',\n project: PROJECT_NAME,\n },\n },\n ENTERPRISE: {\n id: 'Pricing.copy.SharedPagesEnterprise',\n defaultMessage: 'Enterprise',\n desc: {\n id: 'Pricing.copy.SharedPagesEnterprise',\n message: '[Type: Link][Vis.: high] - A link that will direct the user to the Enterprise Pricing page',\n project: PROJECT_NAME,\n },\n },\n BACK_TO_SUMMARY: {\n id: 'Pricing.copy.SharedPagesBackToSummary',\n defaultMessage: 'Back to pricing summary',\n desc: {\n id: 'Pricing.copy.SharedPagesBackToSummary',\n message: '[Type: Link][Vis.: high] - A link that will direct the user to back to the pricing summary page',\n project: PROJECT_NAME,\n },\n },\n EXPAND_ALL: {\n id: 'Pricing.copy.SharedPagesExpandAll',\n defaultMessage: 'Expand all',\n desc: {\n id: 'Pricing.copy.SharedPagesExpandAll',\n message: '[Type: Link][Vis.: high] - A button description to Expand all accordions',\n project: PROJECT_NAME,\n },\n },\n COLLAPSE_ALL: {\n id: 'Pricing.copy.SharedPagesCollapseAll',\n defaultMessage: 'Collapse all',\n desc: {\n id: 'Pricing.copy.SharedPagesCollapseAll',\n message: '[Type: Link][Vis.: high] - A button description to Collapse all accordions',\n project: PROJECT_NAME,\n },\n },\n BASIC: {\n id: 'Pricing.copy.SharedPagesBasic',\n defaultMessage: 'Basic',\n desc: {\n id: 'Pricing.copy.SharedPagesBasic',\n message: '[Type: Heading][Vis.: high] - Basic package name heading',\n project: PROJECT_NAME,\n },\n },\n STANDARD_MONTHLY: {\n id: 'Pricing.copy.SharedPagesStandardMonthly',\n defaultMessage: 'Standard Monthly',\n desc: {\n id: 'Pricing.copy.SharedPagesStandardMonthly',\n message: '[Type: Heading][Vis.: high] - Standard Monthly package name heading',\n project: PROJECT_NAME,\n },\n },\n STANDARD_ANNUAL: {\n id: 'Pricing.copy.SharedPagesStandardAnnual',\n defaultMessage: 'Standard Annual',\n desc: {\n id: 'Pricing.copy.SharedPagesStandardAnnual',\n message: '[Type: Heading][Vis.: high] - Standard Annual package name heading',\n project: PROJECT_NAME,\n },\n },\n STARTER_MONTHLY: {\n id: 'Pricing.copy.SharedPagesStarterMonthly',\n defaultMessage: 'Starter Monthly',\n desc: {\n id: 'Pricing.copy.SharedPagesStarterMonthly',\n message: '[Type: Heading][Vis.: high] - Starter Monthly package name heading',\n project: PROJECT_NAME,\n },\n },\n STARTER_ANNUAL: {\n id: 'Pricing.copy.SharedPagesStarterAnnual',\n defaultMessage: 'Starter Annual',\n desc: {\n id: 'Pricing.copy.SharedPagesStarterAnnual',\n message: '[Type: Heading][Vis.: high] - Starter Annual package name heading',\n project: PROJECT_NAME,\n },\n },\n ADVANTAGE_MONTHLY: {\n id: 'Pricing.copy.SharedPagesAdvantageMonthly',\n defaultMessage: 'Advantage',\n desc: {\n id: 'Pricing.copy.SharedPagesAdvantageMonthly',\n message: '[Type: Heading][Vis.: high] - Advantage Monthly package name heading',\n project: PROJECT_NAME,\n },\n },\n ADVANTAGE_ANNUAL: {\n id: 'Pricing.copy.SharedPagesAdvantageAnnual',\n defaultMessage: 'Advantage Annual',\n desc: {\n id: 'Pricing.copy.SharedPagesAdvantageAnnual',\n message: '[Type: Heading][Vis.: high] - Advantage Annual package name heading',\n project: PROJECT_NAME,\n },\n },\n PREMIER_MONTHLY: {\n id: 'Pricing.copy.SharedPagesPremierMonthly',\n defaultMessage: 'Premier Monthly',\n desc: {\n id: 'Pricing.copy.SharedPagesPremierMonthly',\n message: '[Type: Heading][Vis.: high] - Premier Monthly package name heading',\n project: PROJECT_NAME,\n },\n },\n PREMIER_ANNUAL: {\n id: 'Pricing.copy.SharedPagesPremierAnnual',\n defaultMessage: 'Premier Annual',\n desc: {\n id: 'Pricing.copy.SharedPagesPremierAnnual',\n message: '[Type: Heading][Vis.: high] - Premier Annual package name heading',\n project: PROJECT_NAME,\n },\n },\n TEAM_ADVANTAGE: {\n id: 'Pricing.copy.SharedPagesTeamAdvantage',\n defaultMessage: 'Team Advantage',\n desc: {\n id: 'Pricing.copy.SharedPagesTeamAdvantage',\n message: '[Type: Heading][Vis.: high] - Team Advantage package name heading',\n project: PROJECT_NAME,\n },\n },\n TEAM_PREMIER: {\n id: 'Pricing.copy.SharedPagesTeamPremier',\n defaultMessage: 'Team Premier',\n desc: {\n id: 'Pricing.copy.SharedPagesTeamPremier',\n message: '[Type: Heading][Vis.: high] - Team Premier package name heading',\n project: PROJECT_NAME,\n },\n },\n ENT_PLATINUM: {\n id: 'Pricing.copy.EnterprisePlatinum',\n defaultMessage: 'Enterprise',\n desc: {\n id: 'Pricing.copy.EnterprisePlatinum',\n message: '[Type: Heading][Vis.: high] - Enterprise package name heading',\n project: PROJECT_NAME,\n },\n },\n FLEX: {\n id: 'Pricing.copy.SharedPagesFlex',\n defaultMessage: 'Flex',\n desc: {\n id: 'Pricing.copy.SharedPagesFlex',\n message: '[Type: Heading][Vis.: high] - Flex package name heading',\n project: PROJECT_NAME,\n },\n },\n FORMS: {\n id: 'Pricing.copy.SharedPagesForms',\n defaultMessage: 'Forms',\n desc: {\n id: 'Pricing.copy.SharedPagesForms',\n message: '[Type: Heading][Vis.: high] - Forms package name heading',\n project: PROJECT_NAME,\n },\n },\n PLAN_FEATURES: {\n id: 'Pricing.copy.SharedPlanFeaturesLink',\n defaultMessage: 'See all plan features',\n desc: {\n id: 'Pricing.copy.SharedPlanFeaturesLink',\n message: '[Type: Heading][Vis.: high] - See all plans features link',\n project: PROJECT_NAME,\n },\n },\n});\n\nexport default COPY;\n","import { Desc } from '@sm/intl';\n\nimport COPY from '~pricing/copy';\n\nexport const ROOT_PRICING_ROUTE = '/pricing';\n\nexport enum Sources {\n PRICINGWEB = 'pricingweb',\n}\n\nexport enum Packages {\n Basic = 'BASIC',\n\n StandardMonthly = 'STANDARD_MONTHLY',\n StandardAnnual = 'STANDARD_ANNUAL', // This is preserve because of canonical name (which it may never change)\n\n StarterMonthly = 'STARTER_MONTHLY',\n StarterAnnual = 'STANDARD_ANNUAL', // Please note Starter Annual is STANDARD_ANNUAL and is preserved due to canonical reasons.\n\n AdvantageMonthly = 'ADVANTAGE_MONTHLY',\n AdvantageAnnual = 'ADVANTAGE_ANNUAL',\n\n PremierMonthly = 'PREMIER_MONTHLY',\n PremierAnnual = 'PREMIER_ANNUAL',\n\n TeamAdvantage = 'TEAM_ADVANTAGE_ANNUAL',\n TeamPremier = 'TEAM_PREMIER_ANNUAL',\n\n Enterprise = 'ENT_PLATINUM',\n Flex = 'ANALYZE_MONTHLY',\n\n FormsMonthly = 'FORMS_MONTHLY',\n FormsAnnual = 'FORMS_ANNUAL',\n}\n\nexport const PackageIds: Record = {\n [Packages.Basic]: 1,\n [Packages.StandardMonthly]: 31,\n [Packages.StandardAnnual]: 32, // See Packages\n\n [Packages.StarterMonthly]: 31,\n [Packages.StarterAnnual]: 32,\n\n [Packages.AdvantageMonthly]: 33,\n [Packages.AdvantageAnnual]: 34,\n\n [Packages.PremierMonthly]: 35,\n [Packages.PremierAnnual]: 36,\n\n [Packages.TeamAdvantage]: 134,\n [Packages.TeamPremier]: 136,\n\n [Packages.Enterprise]: 26,\n [Packages.Flex]: 37,\n\n [Packages.FormsMonthly]: 41,\n [Packages.FormsAnnual]: 42,\n};\n\nexport const ComparePlanIds: string[] = [\n Packages.Basic,\n Packages.StandardMonthly,\n Packages.StarterAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.Enterprise,\n];\n\nexport enum SkuTypes {\n CoreSeat = 'SUBSCRIPTION_CORE_SEAT',\n AdditionalSeat = 'SUBSCRIPTION_ADDITIONAL_SEAT',\n ResponseOverage = 'RESPONSES',\n}\n\n/**\n * Localization should only happen in the L10nProvider\n * See https://github.com/pages/mntv-webplatform/smweb/#/pages/webs/localization?id=ltl10nprovidergt-t-and-lttgt\n */\nexport const PackageDisplayNames: Record = Object.freeze({\n [Packages.Basic]: COPY.BASIC,\n [Packages.StandardMonthly]: COPY.STANDARD_MONTHLY,\n [Packages.StandardAnnual]: COPY.STANDARD_ANNUAL, // In the process of decommissioning but who knows, maybe never\n [Packages.StarterMonthly]: COPY.STARTER_MONTHLY,\n [Packages.StarterAnnual]: COPY.STARTER_ANNUAL,\n [Packages.AdvantageMonthly]: COPY.ADVANTAGE_MONTHLY,\n [Packages.AdvantageAnnual]: COPY.ADVANTAGE_ANNUAL,\n [Packages.PremierMonthly]: COPY.PREMIER_MONTHLY,\n [Packages.PremierAnnual]: COPY.PREMIER_ANNUAL,\n [Packages.TeamAdvantage]: COPY.TEAM_ADVANTAGE,\n [Packages.TeamPremier]: COPY.TEAM_PREMIER,\n [Packages.Enterprise]: COPY.ENT_PLATINUM,\n [Packages.Flex]: COPY.STANDARD_MONTHLY,\n [Packages.FormsMonthly]: COPY.FORMS,\n [Packages.FormsAnnual]: COPY.FORMS,\n});\n\nexport const MarketedFeatures: string[] = [\n 'survey_create_limit',\n 'create_question_limit',\n 'base_response_count',\n 'num_free_responses',\n 'email_support',\n 'priority_email_support',\n 'phone_support',\n 'quizzes_pro',\n 'analyze_export_enabled',\n 'analyze_export_spss_enabled',\n 'download_as_csv_xls_pdf',\n 'download_as_ppt',\n 'create_skip_logic_enabled',\n 'create_piping_enabled',\n 'funneling_enabled',\n 'statistical_significance',\n 'show_sig_diffs_enabled',\n 'create_logo_enabled',\n 'create_custom_theme_enabled',\n 'collector_friendly_url_enabled',\n 'create_quotas_enabled',\n 'a_b_testing',\n 'create_randomization_enabled',\n 'create_custom_variables_enabled',\n 'payment_qt',\n 'file_upload',\n 'plans_benchmarks',\n 'analyze_access_benchmarking',\n 'benchmarks',\n 'click_map_qt',\n 'collaboration',\n 'build_surveys_together',\n 'share_with_your_organization',\n 'analyze_can_export_hide_branding',\n 'analyze_combine_filters',\n 'analyze_sentiment_enabled',\n 'sa_en_ga',\n 'analyze_trends_enabled',\n 'asset_library',\n 'group_templates',\n 'lite_library',\n 'shared_library',\n 'shared_group_library',\n 'team_themes',\n 'custom_templates',\n 'collector_completion_url_enabled',\n 'collector_popup_enabled',\n 'collector_white_label_enabled',\n 'create_toggle_footer_enabled',\n 'disable_footer_branding_enabled',\n 'hide_export_branding_enabled',\n 'hipaa_enabled',\n 'multilingual',\n 'multiple_block_rotation_enabled',\n 'private_apps',\n 'response_quality_enabled',\n 'show_create_crosstab',\n 'filter_crosstab',\n 'team_ownership',\n 'user_management',\n 'add_users',\n 'advanced_logic',\n 'admin_dashboard',\n 'single_sign_on',\n 'analyze_results_together',\n 'analyze_integrations',\n 'analyze_can_share_customize_branding',\n 'extended_piping',\n 'essential_question_types',\n 'collector_create_limit',\n 'pop_up_collector',\n 'track_email_responses',\n 'recurring_surveys',\n 'kiosk_mode_inactivity_timer',\n 'kiosk_mode_passcode_lock',\n 'consolidated_billing',\n 'all_languages_supported',\n 'pagination',\n 'labeling_titles_numbering',\n 'create_templates_enabled',\n 'question_library',\n '508_accessibility',\n 'matrix_question_type',\n 'collect_contact_information',\n 'video_question_type',\n 'rating_question_type',\n 'menu_matrix_enabled',\n 'progress_bar',\n 'text_formatting',\n 'premium_themes',\n 'collector_thank_you_enabled',\n 'customize_disqualification_page_enabled',\n 'carry_forward',\n 'real_time_results',\n 'share_surveys',\n 'analyze_can_customize_charts',\n 'create_print_enabled',\n 'analyze_ta_enabled',\n 'analyze_can_ta_tag',\n 'require_answer',\n 'validate_answer',\n 'randomize_answer_choices',\n 'set_survey_end_date',\n 'view_respondent_ip_address',\n 'record_respondent_email_address',\n 'set_max_response_count',\n 'respondent_receipt',\n 'password_protection',\n 'enable_ip_blocking',\n 'send_surveys',\n 'collector_mobile_sdk_enabled',\n 'mobile_sdk_pull_response_data_enabled',\n 'ranking_question_type',\n 'slider_question_type',\n 'create_custom_html_email_message_enabled',\n 'create_grayscale_footer',\n 'analyze_dashboard_password_enabled',\n 'extract_data',\n 'best_worst_qt',\n];\n\n// Sanctioned countries for the pricing page\n// https://surveymonkey.atlassian.net/browse/GROW-3301\nexport const SANCTIONED_COUNTRIES: readonly string[] = Object.freeze([\n 'CU', // CUBA',\n 'IR', // IRAN',\n 'KP', // 'NORTH KOREA',\n 'RU', // 'RUSSIA',\n 'VE', // 'VENEZUELA',\n]);\n","import { PricingPalette } from './types';\n\nexport default Object.freeze([\n 'sabaeus',\n 'midnight',\n 'link',\n 'arctic',\n 'concord',\n 'raspberry',\n 'bengal',\n 'bumblebee',\n 'black',\n 'charcoal',\n 'slate',\n 'stone',\n 'flint',\n 'pebble',\n 'canvas',\n 'white',\n 'navy',\n 'dijon',\n]);\n\nexport const pricingPalette: Required = {\n colors: {\n sabaeus: '#00BF6F',\n midnight: '#05467E',\n link: '#007FAA',\n arctic: '#2DCCD3',\n concord: '#671E75',\n raspberry: '#AC145A',\n bengal: '#F05B24',\n bumblebee: '#F9BE00',\n black: '#000000',\n charcoal: '#333E48',\n slate: '#6B787F',\n stone: '#9DA5AA',\n flint: '#D0D2D3',\n pebble: '#EDEEEE',\n canvas: '#F7F8FA',\n white: '#FFFFFF',\n navy: '#051C4F',\n dijon: '#F7E298',\n },\n};\n","import { Packages } from '~shared/constants/pricing';\n\nimport { PackageColors, PackageTheme } from './types';\nimport { pricingPalette } from './colors';\n\nexport const packageColors: PackageColors = {\n advantageAnnual: pricingPalette.colors.sabaeus,\n advantageMonthly: pricingPalette.colors.sabaeus,\n basic: pricingPalette.colors.slate,\n enterprise: pricingPalette.colors.midnight,\n flex: pricingPalette.colors.arctic,\n premierAnnual: pricingPalette.colors.midnight,\n premierMonthly: pricingPalette.colors.midnight,\n starterAnnual: pricingPalette.colors.link,\n // Please note standard annual is still sold thru paymentweb,\n // for canonical reasons we should be careful changing the color scheme\n standardAnnual: pricingPalette.colors.link,\n starterMonthly: pricingPalette.colors.link, // Standard Monthly in comparsion\n standardMonthly: pricingPalette.colors.arctic,\n teamAdvantage: pricingPalette.colors.link,\n teamPremier: pricingPalette.colors.concord,\n forms: pricingPalette.colors.concord,\n};\n\nexport const packageTheme: PackageTheme = {\n [Packages.AdvantageAnnual]: {\n primary: packageColors.advantageAnnual,\n },\n [Packages.AdvantageMonthly]: {\n primary: packageColors.advantageMonthly,\n },\n [Packages.Basic]: {\n primary: packageColors.basic,\n },\n [Packages.Enterprise]: {\n primary: packageColors.enterprise,\n },\n [Packages.PremierAnnual]: {\n primary: packageColors.premierAnnual,\n },\n [Packages.StarterMonthly]: {\n primary: packageColors.starterMonthly,\n },\n [Packages.PremierMonthly]: {\n primary: packageColors.premierMonthly,\n },\n [Packages.StarterAnnual]: {\n primary: packageColors.starterAnnual,\n },\n [Packages.StandardMonthly]: {\n primary: packageColors.standardMonthly,\n },\n [Packages.StandardAnnual]: {\n // Noted, due to package canonical reasons we will deal wit it when the time arises\n primary: packageColors.standardAnnual,\n },\n [Packages.TeamAdvantage]: {\n primary: packageColors.teamAdvantage,\n },\n [Packages.TeamPremier]: {\n primary: packageColors.teamPremier,\n },\n [Packages.Flex]: {\n primary: packageColors.standardMonthly,\n },\n [Packages.FormsAnnual]: {\n primary: packageColors.forms,\n },\n [Packages.FormsMonthly]: {\n primary: packageColors.forms,\n },\n};\n\nexport const pricingElevation: Record = {\n zero: 0,\n minusOne: -1,\n plusOne: 1,\n};\n","import { PackageTheme } from '~app/styles/pricing/types';\nimport { Packages } from '~shared/constants/pricing';\nimport { pricingPalette } from '~app/styles/pricing/colors';\n\nconst grow2792Theme: PackageTheme = {\n [Packages.Enterprise]: {\n primary: pricingPalette.colors.charcoal,\n },\n [Packages.TeamAdvantage]: {\n primary: pricingPalette.colors.sabaeus,\n },\n [Packages.TeamPremier]: {\n primary: pricingPalette.colors.midnight,\n },\n};\n\nexport default grow2792Theme;\n","import { ExperimentList, TreatmentExperimentMap } from '~shared/types/pricing/experiments';\n\n// Use type inference to get the keys and values of the EXPERIMENT_IDENTIFIERS object.\n// This way we can use the keys to create a union type of all the experiment names and we are no constantly guessing\nexport const EXPERIMENT_IDENTIFIERS = Object.freeze({\n ENTERPRISE_FEATURES_GP69: {\n name: 'gp_69_pnp_sme_features',\n treatment: 'gp_69_pnp_sme_treatment',\n },\n GROW_2427: {\n name: 'grow_2427_pnp_social_proof',\n treatment: 'grow_2427_pnp_social_proof_treatment',\n },\n GROW_2763: {\n name: 'grow_2763_gb_ca_and_edu_price_test',\n treatment: 'grow_2763_gb_ca_and_edu_price_test_treatment',\n },\n GROW_2792: {\n name: 'grow_2792_pnp_refresh_v1',\n treatment1: 'grow_2792_pnp_refresh_v1_treatment',\n treatment2: 'grow_2792_pnp_refresh_v1_no_forms_monthly',\n treatment3: 'grow_2792_pnp_refresh_v1_no_forms',\n },\n IG_3021: {\n name: 'ig_3021_expand_basic_v4',\n treatment1: 'ig_3021_expand_basic_v4_treatment',\n treatment2: 'ig_3021_expand_basic_v4_treatment_c',\n },\n IG_2825: {\n name: 'ig_2825_expand_basic_v3',\n treatment1: 'ig_2825_expand_basic_v3_treatment_b',\n treatment2: 'ig_2825_expand_basic_v3_treatment_c',\n treatment3: 'ig_2825_expand_basic_v3_treatment_d',\n },\n BILLING_20014: {\n name: 'billing_20014_teams_discount',\n treatment: 'billing_20014_teams_discount_treatment',\n },\n GROW_2911: {\n name: 'grow_2911_ada_chatbot_pricing',\n treatment: 'grow_2911_ada_chatbot_pricing_treatment',\n },\n});\n\n// A map of `price_test` treatment names to the original experiment\n// identifier. Only experiments that have been added to experimentsvc\n// as a \"managed experiment\" should be added here.\n// ALL TREATMENTS INCLUDING CONTROL MUST BE ADDED\n//\n// This step is needed since we get price tests with the magical experiment\n// identifier \"price_test\", which hands us a treatment but not the original\n// experiment identifier.\n//\n// Price tests are generally used to test package price changes, but some times\n// also make changes to displayed features or some other UI change. If this is\n// the case for your test, be sure to add it to `FEATURE_EXPERIMENTS` or\n// `UI_EXPERIMENTS` below so other experiments will not be considered\nexport const PRICE_TEST_TREATMENTS: TreatmentExperimentMap = {\n grow_2763_gb_ca_and_edu_price_test_control: EXPERIMENT_IDENTIFIERS.GROW_2763.name,\n grow_2763_gb_ca_and_edu_price_test_treatment: EXPERIMENT_IDENTIFIERS.GROW_2763.name,\n};\n\n// same situation as above, but for \"feature_test\"\nexport const FEATURE_TEST_TREATMENTS: TreatmentExperimentMap = {\n ig_2825_expand_basic_v3_control: EXPERIMENT_IDENTIFIERS.IG_2825.name,\n ig_2825_expand_basic_v3_treatment_b: EXPERIMENT_IDENTIFIERS.IG_2825.name,\n ig_2825_expand_basic_v3_treatment_c: EXPERIMENT_IDENTIFIERS.IG_2825.name,\n ig_2825_expand_basic_v3_treatment_d: EXPERIMENT_IDENTIFIERS.IG_2825.name,\n ig_3021_expand_basic_v4_control: EXPERIMENT_IDENTIFIERS.IG_3021.name,\n ig_3021_expand_basic_v4_treatment: EXPERIMENT_IDENTIFIERS.IG_3021.name,\n ig_3021_expand_basic_v4_treatment_c: EXPERIMENT_IDENTIFIERS.IG_3021.name,\n};\n\n// A list of experiments that may change the display of prices. If your experiment\n// is listed in PRICE_TEST_TREATMENTS above, you do not need to add it again! If\n// a user is not assigned to any running price_test, we will start checking\n// for assignments against this list of experiment identifiers\nexport const PRICE_EXPERIMENTS: ExperimentList = [EXPERIMENT_IDENTIFIERS.GROW_2792.name];\n\n// A list of experiments that may change the display of features. This can include\n// an experiment being run as a price_test, but if your experiment is already in\n// FEATURE_TEST_TREATMENTS, DO NOT ADD IT HERE\nexport const FEATURE_EXPERIMENTS: ExperimentList = [];\n\n// A list of experiments that will alter the UI of the page and are significant\n// enough that they should not overlay with each other. If you have a price test or\n// feature test above that makes changes to the UI, you should add them here so the\n// user isn't added to a different UI experiment\nexport const UI_EXPERIMENTS: ExperimentList = [\n EXPERIMENT_IDENTIFIERS.BILLING_20014.name,\n EXPERIMENT_IDENTIFIERS.ENTERPRISE_FEATURES_GP69.name,\n EXPERIMENT_IDENTIFIERS.GROW_2427.name,\n EXPERIMENT_IDENTIFIERS.GROW_2911.name,\n];\n","import React, { useContext, createContext } from 'react';\nimport { PricingExperiments } from '~shared/types/pricing/experiments';\nimport { PricingConfigStaticData } from '~shared/types/pricing/load-cache';\n\nconst BOOTSTRAP_CONTEXT: PricingExperiments = {\n priceExperiment: {\n hasAssignment: false,\n experimentName: null,\n treatmentName: null,\n },\n featureExperiment: {\n hasAssignment: false,\n experimentName: null,\n treatmentName: null,\n },\n uiExperiment: {\n hasAssignment: false,\n experimentName: null,\n treatmentName: null,\n },\n};\n\n// attempt to grab the cached experiments response to rehydrate when we make it to the browser\nconst win = typeof window !== 'undefined' ? window : undefined;\nconst payloadCache: PricingConfigStaticData | undefined =\n win && (win?.SM?.__LOAD_PAYLOAD_CACHE__ as PricingConfigStaticData);\nconst defaultContextValue = payloadCache?.experiments || BOOTSTRAP_CONTEXT;\n\nexport const PricingExperimentContext = createContext(defaultContextValue);\n\nexport const PricingExperimentProvider = ({\n experiments,\n children,\n}: {\n experiments: PricingExperiments | undefined;\n children: React.ReactNode;\n}): React.ReactElement => (\n \n {children}\n \n);\n\nexport function usePricingExperiments(): PricingExperiments {\n return useContext(PricingExperimentContext);\n}\n","import { EXPERIMENT_IDENTIFIERS } from '~server/routes/Pricing/experimentsConfig';\nimport { usePricingExperiments } from '~shared/hooks/usePricingExperiments';\nimport { Experience } from './types';\n\nexport default function useExperimentAssignment(): Experience {\n const { uiExperiment, priceExperiment, featureExperiment } = usePricingExperiments();\n\n const experience =\n (uiExperiment.hasAssignment && uiExperiment.treatmentName) ||\n (priceExperiment.hasAssignment && priceExperiment.treatmentName) ||\n (featureExperiment.hasAssignment && featureExperiment.treatmentName) ||\n '';\n\n const noFormsMonthly =\n priceExperiment.hasAssignment && priceExperiment.treatmentName === EXPERIMENT_IDENTIFIERS.GROW_2792.treatment2;\n const noFormsAtAll =\n priceExperiment.hasAssignment && priceExperiment.treatmentName === EXPERIMENT_IDENTIFIERS.GROW_2792.treatment3;\n\n const isPnPRefresh =\n priceExperiment.hasAssignment &&\n (priceExperiment.treatmentName === EXPERIMENT_IDENTIFIERS.GROW_2792.treatment1 ||\n priceExperiment.treatmentName === EXPERIMENT_IDENTIFIERS.GROW_2792.treatment2 ||\n priceExperiment.treatmentName === EXPERIMENT_IDENTIFIERS.GROW_2792.treatment3);\n\n return {\n experience,\n isPnPRefresh,\n noFormsAtAll,\n noFormsMonthly,\n };\n}\n","const possibleTypes = {\n SurveyQuestion: [\n 'PresentationQuestion',\n 'SingleChoiceQuestion',\n 'MultipleChoiceQuestion',\n 'OpenEndedQuestion',\n 'MatrixQuestion',\n 'DemographicQuestion',\n 'ClickMapQuestion',\n 'DatetimeQuestion',\n 'BasicQuestion',\n ],\n BaseQuestionHeader: ['SurveyQuestionHeader', 'VideoStimuliSurveyQuestionHeader'],\n PaginatedList: [\n 'AnalysisStandardViewList',\n 'RespondentList',\n 'SurveyRespondentResultsList',\n 'SurveyQuestionColumnChoiceList',\n 'SurveyQuestionList',\n 'CollaboratorList',\n 'CollectorList',\n 'CrossTabReportList',\n 'AnalysisResultsDashboardList',\n 'SurveyPageList',\n 'AnalysisSharedViewList',\n 'SurveyQuestionRowList',\n 'SurveyQuestionOptionList',\n 'WordCloudTagList',\n 'SurveyOtherResponseList',\n 'TeamImageAssetsList',\n 'ApplicationListingList',\n 'LibraryAssetsList',\n 'SurveyList',\n 'AnalysisExportJobList',\n 'SurveyTemplateList',\n 'SurveyCategoryList',\n 'SurveyCategoryIdList',\n 'SurveyTemplateCategoryList',\n 'SurveyTemplateAttributesList',\n 'TeamSurveyList',\n 'SurveyQuestionTemplateList',\n 'BillingInvoiceList',\n 'SurveyQuestionColumnList',\n 'NotificationPreferenceList',\n ],\n AnalysisStandardViewFilterRule: [\n 'QnAFilter',\n 'CollectorFilter',\n 'QuizScoreBucketsFilter',\n 'TimePeriodFilter',\n 'CompletenessFilter',\n 'RandomAssignmentFilter',\n 'RelativeTimePeriodFilter',\n 'ResponseQualityFilter',\n 'SinceLastInviteFilter',\n 'TagFilter',\n ],\n AnalysisStandardViewCompareRule: ['QuestionAndAnswerCompare', 'RandomAssignmentCompare'],\n SurveyRespondentAnswer: [\n 'SurveyChoiceResponse',\n 'SurveyImageChoiceResponse',\n 'SurveyOtherResponse',\n 'SurveyOpenEndedResponse',\n 'SurveyMatrixResponse',\n 'SurveyMatrixOtherResponse',\n 'SurveyMatrixDropDownResponse',\n 'SurveyMatrixOpenEndedResponse',\n 'SurveyFileUploadResponse',\n 'SurveyPaymentResponse',\n 'SurveyPresentationImageResponse',\n 'SurveyPresentationTextResponse',\n ],\n SurveyQuestionOption: [\n 'SurveyQuestionRow',\n 'SurveyQuestionOther',\n 'SurveyQuestionColumn',\n 'SurveyQuestionColumnChoice',\n ],\n Project: ['ConceptTestingProject'],\n ProjectVariableConfiguration: [\n 'DefaultConfiguration',\n 'ImageStimuliVariableConfiguration',\n 'TextStimuliVariableConfiguration',\n 'VideoStimuliVariableConfiguration',\n 'ProductStimuliVariableConfiguration',\n 'NormsVariableConfiguration',\n 'AttributesVariableConfiguration',\n 'StimuliComparisonQuestionVariableConfiguration',\n 'CustomQuestionsBeforeStimuliVariableConfiguration',\n 'CustomQuestionsAfterStimuliVariableConfiguration',\n ],\n ProjectVariableAnswer: ['QuestionVariableAnswer', 'QuestionBankVariableAnswer', 'ValueVariableAnswer'],\n ConceptTestingStimulus: ['ConceptTestingTextStimulus', 'ConceptTestingImageStimulus'],\n AttributeQuestion: ['SingleChoiceQuestion', 'MultipleChoiceQuestion', 'OpenEndedQuestion'],\n QuestionResponseSummary: [\n 'OneDimensionalResponseSummary',\n 'TwoDimensionalResponseSummary',\n 'ThreeDimensionalResponseSummary',\n ],\n MultipleComparisonQuestion: ['MultipleChoiceQuestion', 'SingleChoiceQuestion'],\n CustomQuestion: ['SingleChoiceQuestion', 'MultipleChoiceQuestion', 'OpenEndedQuestion'],\n ProjectEntity: ['ProjectAudienceCollectorEntity', 'ProjectSurveyEntity'],\n AudienceTargetingCriteria: [\n 'AudienceRangeCriteria',\n 'AudienceCategoricalCriteria',\n 'AudienceHouseholdIncomeRangeCriteria',\n ],\n AudienceCriteriaSelection: [\n 'AudienceCategoricalCriteriaSelection',\n 'AudienceRangeCriteriaSelection',\n 'AudienceHouseholdIncomeRangeCriteriaSelection',\n ],\n CustomQuestionResponseSummary: ['CustomQuestionAggregateResponseSummary', 'CustomQuestionStimuliResponseSummary'],\n ImageAsset: ['TeamImageAsset'],\n TeamAsset: ['TeamImageAsset'],\n Asset: ['TeamImageAsset'],\n LibraryAsset: ['LibraryImage', 'LibraryTheme', 'LibraryCustomQuestion', 'LibrarySurveyTemplate', 'LibraryDocument'],\n WelcomeFlowQuestion: [\n 'WelcomeFlowSingleChoiceQuestion',\n 'WelcomeFlowMultipleChoiceQuestion',\n 'WelcomeFlowFlagQuestion',\n 'WelcomeFlowNumberQuestion',\n 'WelcomeFlowTextQuestion',\n ],\n SurveyQuestionTemplate: [\n 'BasicQuestionTemplate',\n 'SingleChoiceQuestionTemplate',\n 'MatrixQuestionTemplate',\n 'OpenEndedQuestionTemplate',\n 'DemographicQuestionTemplate',\n 'MultipleChoiceQuestionTemplate',\n 'ClickMapQuestionTemplate',\n 'DatetimeQuestionTemplate',\n 'PresentationQuestionTemplate',\n ],\n QuestionVariableAnswerData: [\n 'DefaultQuestionVariableAnswerData',\n 'ABQuestionVariableAnswerData',\n 'VideoABQuestionVariableAnswerData',\n ],\n SurveyQuestionTemplateOption: [\n 'SurveyQuestionTemplateRow',\n 'SurveyQuestionTemplateOther',\n 'SurveyQuestionTemplateColumn',\n 'SurveyQuestionTemplateColumnChoice',\n ],\n};\n\nexport default possibleTypes;\n","import React from 'react';\nimport { Typography, Button } from '@sm/wds-react';\nimport { BasePage, Helmet, LogoWithText } from '@sm/webassets';\nimport { defineMessages, T } from '@sm/intl';\nimport { generateMetricsAttribute } from '@sm/metrics';\nimport './link-blocked.scss';\n\nconst COPY = defineMessages({\n LINK_BLOCKED_MAIN_MESSAGE: {\n id: 'LinkBlocked.MainMessage',\n defaultMessage: \"The link you clicked was blocked due to a violation of SurveyMonkey's Terms of Use.\",\n description: '[Type: Link][Vis.: Low] - The link blocked page main message',\n },\n LINK_BLOCKED_PAGE_TITLE: {\n id: 'LinkBlocked.PageTitle',\n defaultMessage: 'Link blocked',\n description: '[Type: Link][Vis.: Low] - The link blocked page title',\n },\n LINK_BLOCKED_SIGN_UP_BLURB: {\n id: 'LinkBlocked.SignUpBlurb',\n defaultMessage: 'Want to create your own survey?',\n description: '[Type: Link][Vis.: Low] - A blurb for a link that will direct users to the sign up page',\n },\n LINK_BLOCKED_SIGN_UP: {\n id: 'LinkBlocked.SignUp',\n defaultMessage: 'Sign Up FREE',\n description: '[Type: Link][Vis.: Low] - A link that will direct users to the sign up page',\n },\n LINK_BLOCKED_HOME: {\n id: 'LinkBlocked.SMHome',\n defaultMessage: 'SurveyMonkey Home',\n description: '[Type: Link][Vis.: Low] - A link that will direct users to the homepage',\n },\n LINK_BLOCKED_TERMS_OF_USE: {\n id: 'LinkBlocked.TermsofUse',\n defaultMessage: 'Terms of Use',\n description: '[Type: Link][Vis.: Low] - A link that will direct users to the Terms of Use page',\n },\n});\n\nconst LinkBlocked = () => (\n \n \n {T(COPY.LINK_BLOCKED_MAIN_MESSAGE)}\n \n \n \n
\n
\n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n
\n
    \n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n
\n
\n
\n \n
\n
\n
\n);\n\nexport default LinkBlocked;\n","import React, { useContext, createContext } from 'react';\n\nimport { PricingConfigStaticData } from '~shared/types/pricing/load-cache';\nimport { PricingExperience } from '~shared/types/pricing/pricingsvc';\n\n// attempt to grab the cached experiments response to rehydrate when we make it to the browser\nconst win = typeof window !== 'undefined' ? window : undefined;\nconst payloadCache: PricingConfigStaticData | undefined =\n win && (win?.SM?.__LOAD_PAYLOAD_CACHE__ as PricingConfigStaticData);\nconst initialPricingExperience = (payloadCache?.pricingExperience || {}) as PricingExperience;\n\n// NOOP API so the page doesn't explode on initial render\nexport const PackageDataContext = createContext(initialPricingExperience);\n\nexport const PackageDataProvider = ({\n pricingExperience,\n children,\n}: {\n pricingExperience?: PricingExperience;\n children: React.ReactNode;\n}): React.ReactElement => {\n return (\n \n {children}\n \n );\n};\n\nexport const usePricingExperience = (): PricingExperience => useContext(PackageDataContext);\n","import { useLocation } from 'react-router';\nimport { TrackingDetails } from './types';\n\n// for sonarqube\nconst PRICING_ROUTE = 'pricing';\nconst TEAMS_SUMMARY = 'pricing-teams-summary';\n/**\n * We need to send exactly what is sent in prod now so we do not mess up existing dashboards.\n * For now, details & summary will suffice (we do not track enterprise page).\n * Do not change the object mapping without approval\n */\nconst PAGE_NAME_MAP: Record = Object.freeze({\n [PRICING_ROUTE]: 'pricing summary canonical',\n [`${PRICING_ROUTE}-teams`]: 'pricing summary teams',\n [`${PRICING_ROUTE}-individual`]: 'pricing summary individual',\n [`${PRICING_ROUTE}-details`]: 'pricing details canonical',\n [`${PRICING_ROUTE}-teams-details`]: 'pricing details teams',\n [`${PRICING_ROUTE}-individual-details`]: 'pricing details individual',\n [`${PRICING_ROUTE}-educational`]: 'pricing educational',\n [`${PRICING_ROUTE}-enterprise`]: 'pricing enterprise',\n [`${PRICING_ROUTE}-ippm`]: 'pricing ippm', // GROW-2792 PnP Refresh IPPM\n});\n\n/**\n * Similar to the above, a map of generated page names to the ut_source\n * parameter that will be attached to outgoing links\n */\nconst UT_SOURCE_MAP: Record = Object.freeze({\n [PRICING_ROUTE]: TEAMS_SUMMARY,\n [`${PRICING_ROUTE}-teams`]: TEAMS_SUMMARY,\n [`${PRICING_ROUTE}-details`]: 'pricing-teams-details',\n [`${PRICING_ROUTE}-individual`]: 'pricing-indv-summary',\n [`${PRICING_ROUTE}-teams-details`]: 'pricing-teams-details',\n [`${PRICING_ROUTE}-individual-details`]: 'pricing-indv-details',\n [`${PRICING_ROUTE}-educational`]: 'pricing-indv-details',\n [`${PRICING_ROUTE}-enterprise`]: TEAMS_SUMMARY, // for now we are replicating legacy billweb\n [`${PRICING_ROUTE}-enterprise-details`]: TEAMS_SUMMARY,\n [`${PRICING_ROUTE}-ippm`]: 'in_product_pricing', // GROW-2792 PnP Refresh IPPM\n});\n\n/**\n * This hook returns the tracking info we need for either @sm/metrics or amplitude.\n * This hook can be extended to support all required tracking information in the near future\n * If display name is not provided, we fall back to the route.\n * @returns TrackingDetails\n */\nexport default function useTrackingDetails(): TrackingDetails {\n const { pathname, search } = useLocation();\n const utSource = new URLSearchParams(search).get('ut_source');\n // strips and replaces beginning and ending forward slash in the pathname\n const pageName = pathname\n ?.replace(/\\//g, '-')\n .replace(/^\\W+|\\W+$/gm, '')\n .trim();\n\n return {\n utSource,\n pageName: PAGE_NAME_MAP[pageName],\n pageUtSource: UT_SOURCE_MAP[pageName],\n };\n}\n","import { Request, Response } from 'express';\n\nimport { sanitizeCountryCode } from '@sm/locale';\n\nimport { Packages, SANCTIONED_COUNTRIES } from '~shared/constants/pricing';\nimport { ExpCookie, ExpResult } from '~shared/types/pricing/experiments';\nimport { PRICING_LOG } from './types/pricing/common';\n/**\n * Checks if we are in a browser\n * @returns boolean\n */\nexport const EMPTY_STRING = '';\n\n/**\n * Check if we are in the DOM or browser\n * @returns boolean\n */\nexport const isBrowser = (): boolean => typeof window === 'object';\n\n/**\n * See https://docs.google.com/document/d/1a6JLyH4V7C6Wipl28lJa84yeaqqvUINfrBLmUQ3lNLA/\n * See https://momentiveai.atlassian.net/wiki/spaces/GROW/pages/977240306/Amplitude+Naming+Conventions\n */\nexport const AMPLITUDE_PAGE_EVENTS: Record = Object.freeze({\n pageView: 'page viewed',\n selectedPlans: 'pricing selected plan',\n experimentEvent: 'experiment event',\n});\n\n/**\n * https://momentiveai.atlassian.net/browse/GROW-2234\n * Some canonical name does not match what amplitude tracking expects\n * The object mapping resolves anything that is different from the canonical name\n * This can also serve as an override to existing packages. Please do so with authorization\n */\nexport const AMPLITUDE_SELECTED_PACKAGE_MAP: Partial> = Object.freeze({\n [Packages.Enterprise]: 'enterprise_platinum',\n});\n\n/**\n * A utility function that converts arrays to object like\n * @param keys\n * @returns object\n */\n\nexport function convertToObject(...keys: K[]): { [T in K]: string } {\n const tempObject = {} as { [T in K]: string };\n return keys.reduce((a, v) => ({ ...a, [v]: v }), tempObject);\n}\n\n/**\n * This is a modified clone of the below function to get a specified cookie value\n * https://github.com/mntv-webplatform/smpackages/blob/97fcc41a6808c4e2b867dc35d54b2b5abc21279c/packages/metrics/src/utils.ts#L9\n * @param cookieName\n * @param defaultValue\n * @returns The cookie value we are interested in\n */\nexport function getCookieValue(cookieName: string): string {\n if (!isBrowser()) return '';\n const name = `${cookieName}=`;\n let cookieValue = '';\n const decodedCookieFromDocument = decodeURIComponent(document.cookie);\n const decodedCookies = decodedCookieFromDocument.split(';');\n decodedCookies?.forEach((decodedCookie: string) => {\n const trimmedCookieValue = decodedCookie.trim();\n // remove any leading and trailing spaces from the cookie\n if (trimmedCookieValue.startsWith(name)) {\n cookieValue = trimmedCookieValue.substring(name.length);\n }\n });\n return cookieValue;\n}\n/**\n * We need to set smexp cookie for logged-out experiments to ensure smooth experience from page to page\n * The smexp cookie value has the format {experiment_id}.{treatment_id}.{datetime_created}|{experiment_id2}.{treatment_id2}.{datetime_created2}\n * Since we don't want to take any chances we will set every cookie expsvc returns except the preview cookie.\n * @param res\n * @param cookies\n */\nexport function setExperimentCookies(res: Response, cookies: ExpCookie[] | undefined, hostname: string): void {\n const remappedCookies = cookies?.reduce((acc: ExpResult, { name, value, age }: ExpCookie) => {\n return {\n ...acc,\n [name]: {\n value: acc[name]?.value ? `${acc[name]?.value}|${value}` : value,\n age,\n },\n };\n }, {});\n if (remappedCookies) {\n Object.keys(remappedCookies).forEach((name: string) => {\n const { value, age } = remappedCookies[name];\n const removeDeDupsCookieValue = Array.from(new Set(value.split('|'))).join('|');\n res.cookie(name, removeDeDupsCookieValue, {\n domain: hostname?.replace('www', ''), // surveymonkey ttld is preserved with this approach\n expires: new Date(age * 1000 + Date.now()),\n secure: true,\n path: '/',\n encode: tempValue => tempValue,\n });\n });\n }\n}\n\n/**\n * Generate splunk log data for contentWeb/PricingRoutes events\n * @param message\n * @param request\n * @param error\n */\nexport function generateLogData(message: string, request: Request, response: Response, error?: unknown): PRICING_LOG {\n return {\n ...(!!error && { err: error }),\n reqId: request?.id,\n message,\n method: request?.method,\n url: request?.originalUrl,\n host: request?.get('host'),\n ip: request?.get('x-true-origin') ?? request?.get('x-forwarded-for') ?? request?.get('remote-addr'),\n userId: request?.user?.core?.user_id,\n locale: request?.smenviron?.slLanguageLocale,\n legacy_web: 'billweb', // Required for ETL flow\n page: 'pricing',\n params: request?.params,\n referrer: request?.get('Referrer'),\n session: response?.locals?.payloads?.user?.session,\n };\n}\n\n/**\n * This function filters out the sanctioned countries from the SANCTIONED_COUNTRIES list\n * @param countryCode\n * @returns Returns the countryCode if it is not in the SANCTIONED_COUNTRIES list\n */\nexport function filterSanctionedCountries(countryCode: string): string {\n const sanitizedCountryCode = sanitizeCountryCode(countryCode);\n return !SANCTIONED_COUNTRIES.includes(sanitizedCountryCode) ? sanitizedCountryCode : 'US';\n}\n\nexport { convertToObject as default };\n","import { MetricsTracker, USER_EVENTS, generateMetricsAttribute } from '@sm/metrics';\nimport { AMPLITUDE_PAGE_EVENTS, AMPLITUDE_SELECTED_PACKAGE_MAP } from '~shared/util';\nimport { Sources } from '~shared/constants/pricing';\nimport { AmplitudeProps, CTAClickEventType, PageEventLoadType } from './types';\n\n/**\n * Function to create an amplitude event to log the pricing page being loaded\n *\n * @param {string} pageName Name of page being loaded\n * @param {string} utSource utSource params\n * @returns void\n */\nexport function logPricingPageLoad({ pageName, utSource }: PageEventLoadType): void {\n if (!pageName) {\n return;\n }\n\n // async this to not block main thread\n setTimeout(() => {\n MetricsTracker.track({\n name: USER_EVENTS.PAGE_VIEW,\n data: {\n actionType: USER_EVENTS.PAGE_VIEW,\n actionFlow: pageName,\n amplitudeEvent: AMPLITUDE_PAGE_EVENTS.pageView,\n pageName,\n upgradeTriggerSource: utSource,\n source: Sources.PRICINGWEB,\n },\n });\n }, 0);\n}\n\n/**\n * Function to create an amplitude event to log a CTA button being clicked\n *\n * @param {string} pageName Name of page being loaded\n * @param {string} packageId ID of package where CTA was clicked\n * @param {string} packageName Name of package where CTA was clicked\n * @returns String\n */\nexport function generateCTAMetricsAttribute({ pageName, packageId, packageName }: CTAClickEventType): String {\n return generateMetricsAttribute({\n name: USER_EVENTS.ELEMENT_INTERACTION,\n data: {\n actionType: USER_EVENTS.ELEMENT_INTERACTION,\n actionFlow: pageName,\n amplitudeEvent: AMPLITUDE_PAGE_EVENTS.selectedPlans,\n pageName,\n selectedPackageId: packageId,\n selectedPackageName: AMPLITUDE_SELECTED_PACKAGE_MAP[packageName] ?? packageName.toLowerCase(),\n source: Sources.PRICINGWEB,\n },\n });\n}\n\n/**\n * A generic function to log amplitude events\n */\nexport function logAmplitudeEvent({\n eventName,\n pageName,\n amplitudeEvent = AMPLITUDE_PAGE_EVENTS.pageView,\n source = Sources.PRICINGWEB,\n userEvent = USER_EVENTS.ELEMENT_INTERACTION,\n otherData = {},\n}: AmplitudeProps): void {\n // async this to not block main thread\n setTimeout(() => {\n MetricsTracker.track({\n name: userEvent,\n data: {\n pageName,\n amplitudeEvent,\n eventName,\n source,\n ...otherData,\n },\n });\n }, 0);\n}\n","import React, { useMemo } from 'react';\nimport { useLocation } from 'react-router';\n\nimport { FiveHundredErrorPage } from '@sm/webassets';\n\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\nimport { usePricingExperience } from '~shared/hooks/usePricingExperience';\nimport { logAmplitudeEvent, logPricingPageLoad } from '~pricing/pages/shared/index';\nimport { AMPLITUDE_PAGE_EVENTS } from '~shared/util';\n\nexport function withPageHandler

(WrappedComponent: React.ComponentType

): React.ComponentType

{\n return props => {\n const { search } = useLocation();\n\n const query = new URLSearchParams(search);\n const featureId = query.get('selected_feature');\n const categoryId = query.get('selected_category');\n\n const { pageName, utSource } = useTrackingDetails();\n\n useMemo(() => {\n logPricingPageLoad({ pageName, utSource });\n }, [pageName, utSource]);\n\n useMemo(() => {\n if (categoryId || featureId) {\n logAmplitudeEvent({\n eventName: `selected ${featureId ? 'feature' : 'category'} from upgrade cta`,\n pageName,\n amplitudeEvent: AMPLITUDE_PAGE_EVENTS.experimentEvent,\n otherData: {\n [`selected${categoryId ? 'Category' : 'Feature'}`]: categoryId ?? featureId ?? '',\n },\n });\n }\n }, [categoryId, featureId, pageName]);\n\n const { packages } = usePricingExperience();\n\n // no data is no page\n const error = !Array.isArray(packages) || !packages.length;\n\n return (\n \n {/* if there was an issue loading the data from pricingsvc, we've got nothing to show. bail */}\n \n \n \n 0}>\n \n \n \n );\n };\n}\n\nexport default withPageHandler;\n","import { PaidFeatures } from '~app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/types';\nimport { DetailsPackageData } from '~app/pages/Pricing/transformers/details/types';\nimport { Packages } from '~shared/constants/pricing';\nimport { FeatureSet } from '~shared/types/pricing/features';\nimport { DiscountInfo, PackageList, PricingPackage } from '~shared/types/pricing/pricingsvc';\n\nexport enum PackageType {\n Individual = 'individual',\n Teams = 'teams',\n Educational = 'educational',\n Enterprise = 'enterprise',\n Details = 'details', // `pricing/details` is a valid route that renders the teams details page\n}\n\ntype Currency = {\n code: string;\n};\n\nexport type PackageSkuCost = {\n skuType: string;\n cost: number;\n currency: Currency;\n};\n\nexport type PackageSkuCosts = PackageSkuCost[];\n\nexport enum PACKAGE_PRICE_TYPE {\n SUMMARY = 'Summary',\n DETAIL = 'Detail',\n COMPARISON = 'Comparison',\n}\n\nexport type PACKAGE_PRICE_TYPE_KEYS = keyof typeof PACKAGE_PRICE_TYPE;\nexport type PACKAGE_PRICE_TYPE_VALUES = `${PACKAGE_PRICE_TYPE}`;\nexport type DisplayString = React.ReactElement | string | undefined;\nexport type PackageData = PricingPackage;\nexport type PackageDataSet = PackageData[];\nexport type PackageSet = Packages[];\n\nexport type PackagesStateType = {\n allPackages: PricingPackage[];\n userPackage: PricingPackage;\n displayPackages: PricingPackage[];\n displayPackageSet: PackageList;\n detailsPackageData: DetailsPackageData;\n packagesToDisplayState: PackageList;\n discountInfo: DiscountInfo | undefined;\n paidFeatures: PaidFeatures[] | undefined; // GROW-2792 PnP refresh - IPPM Embed Modal\n showEduDiscount: boolean;\n comparePlans: boolean;\n overageCost: PackageSkuCost | undefined;\n getPackageById(packageId: number | string): PricingPackage;\n};\n\nexport type PackageMap = Record;\n\nexport type PackagesProviderProps = {\n packagesToDisplay: PackageList;\n showEduDiscount: boolean;\n comparePlans: boolean;\n canonicalPath: string;\n subPath?: string;\n children: React.ReactNode;\n isIPPM?: boolean;\n};\n\nexport type PackageProps = {\n packageName: Packages;\n skuCost: PackageSkuCosts;\n comparisonSkuCost: PackageSkuCosts;\n ribbonText?: string | boolean | null;\n features: FeatureSet;\n isLastPackage: boolean;\n comparePlans?: boolean;\n discountInfo?: DiscountInfo;\n paidFeatures?: PaidFeatures[]; // GROW-2792 PnP refresh - IPPM Embed Modal\n};\n\nexport type RoutePackageMap = {\n [x: string]: PackageSet;\n};\n","import { GBCountryCodes, USTerritoryCountryCodes } from '@sm/locale/dist/localeSets';\n\nimport { Packages } from '~shared/constants/pricing';\nimport { PackageSet, PackageType, RoutePackageMap } from '~shared/types/pricing/package';\n\nexport const EXTERNAL_SCRIPTS: readonly string[] = Object.freeze(['https://js.stripe.com/v3/']);\n\nexport enum PRICING_TERMS {\n BASIC = 0,\n MONTHLY = 1,\n ANNUAL = 12,\n}\nexport type PRICING_TERMS_OPTIONS = keyof typeof PRICING_TERMS;\n\nexport const MONTHLY_PACKAGES: PackageSet = [\n Packages.StandardMonthly,\n Packages.AdvantageMonthly,\n Packages.PremierMonthly,\n Packages.FormsMonthly,\n Packages.Flex,\n];\n\nexport const INDIVIDUAL_PACKAGES: PackageSet = [\n Packages.PremierAnnual,\n Packages.AdvantageAnnual,\n Packages.StandardMonthly,\n Packages.Basic,\n];\n\nexport const INDIVIDUAL_PACKAGES_WITH_STARTER: PackageSet = [\n Packages.PremierAnnual,\n Packages.AdvantageAnnual,\n Packages.StarterAnnual,\n Packages.StandardMonthly,\n Packages.Basic,\n];\n\n// GROW-2792 PnP Refresh Packages\nexport const GROW_2792_PACKAGES: PackageSet = [\n Packages.Basic,\n Packages.FormsAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.Enterprise,\n];\nexport const GROW_2792_PACKAGES_T3: PackageSet = [\n Packages.Basic,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.Enterprise,\n];\n\n// For now, the educational package set is identical to what we show for\n// individual details. That may change some day, though, so making an explicitly\n// named set here in case that ever changes. The shallow copy is to prevent any\n// unexpected results when doing equality checks elsewhere\nexport const EDUCATIONAL_PACKAGES: PackageSet = [...INDIVIDUAL_PACKAGES];\n\nexport const TEAMS_PACKAGES: PackageSet = [Packages.TeamAdvantage, Packages.TeamPremier, Packages.Enterprise];\n\nexport const SUITE_PRICING_PACKAGES: PackageSet = [\n Packages.AdvantageAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n];\n\n// As of 2023/05/09, only annual packages are eligible for stripe checkout\nexport const STRIPE_ELIGIBLE_PACKAGES: PackageSet = [\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n];\n\nexport const GUAC_COUNTRY_CODES = Object.freeze(['GB', 'US', 'AU', 'CA']);\nexport const STARTER_ENABLED_COUNTRIES = Object.freeze([...USTerritoryCountryCodes, ...GBCountryCodes, 'AU']);\n\nexport const COMPARISON_PACKAGES: Partial> = {\n [Packages.TeamAdvantage]: Packages.AdvantageAnnual,\n [Packages.TeamPremier]: Packages.PremierAnnual,\n};\n\n// A list of packages that should display highlighted\nexport const HIGHLIGHTED_PACKAGES = [Packages.AdvantageAnnual];\n\n// these domains do not get hreflang tags added to their \nexport const SKIP_HREF_LANG_TAGS = Object.freeze({\n 'de.surveymonkey.com': true,\n 'ru.surveymonkey.com': true,\n});\n\n// Package type(route) and comparison packages mapping\nexport const ROUTE_PACKAGE_MAP: RoutePackageMap = {\n [PackageType.Individual]: INDIVIDUAL_PACKAGES,\n [PackageType.Teams]: TEAMS_PACKAGES,\n [PackageType.Educational]: EDUCATIONAL_PACKAGES,\n};\n","// These programIDs are absorbed by Hubspot Forms across our site\n// in order to map user's form submission to sales campaigns\n\nconst ProgramIDs = Object.freeze({\n GeneralIntegrations: '7014V000001yzq9QAA',\n ZoomIntegration: '7014V000002YsROQA0',\n HIPAAIntegration: '7014V000002XmJRQA0',\n SMSCollector: '7014V000002MgaCQAS',\n SingleSignOn: '7014V000002hM6XQAU',\n ProfessionalServices: '7014V000002dEzdQAE',\n Marketing: '7014V000002pf9LQAQ',\n ContactSalesPNP: '701PZ000008DyhiYAC',\n});\n\nexport default ProgramIDs;\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst COPY = defineMessages({\n SELECT: {\n id: 'Pricing.copy.Select',\n defaultMessage: 'SELECT',\n desc: {\n id: 'Pricing.copy.Select',\n message: '[Type: Button][Vis.: high] - A button/link text for an authenticated user',\n project: PROJECT_NAME,\n },\n },\n SIGN_UP: {\n id: 'Pricing.copy.SignUp',\n defaultMessage: 'SIGN UP',\n desc: {\n id: 'Pricing.copy.SignUp',\n message: '[Type: Button][Vis.: high] - A button/link text for an unauthenticated user',\n project: PROJECT_NAME,\n },\n },\n YOUR_PLAN: {\n id: 'Pricing.copy.YourPlan',\n defaultMessage: 'YOUR PLAN',\n desc: {\n id: 'Pricing.copy.YourPlan',\n message: '[Type: Button][Vis.: high] - A button/link text for an purchased user',\n project: PROJECT_NAME,\n },\n },\n CONTACT_US: {\n id: 'Pricing.copy.ContactUs',\n defaultMessage: 'CONTACT US',\n desc: {\n id: 'Pricing.copy.ContactUs',\n message: '[Type: Button][Vis.: high] - A button/link text to contact the sales team',\n project: PROJECT_NAME,\n },\n },\n});\n\nexport default COPY;\n","enum GROW2792_ACTIONS {\n PNP_REFRESH_RESET_TOGGLE_SWITCH = 'PNP_REFRESH_RESET_TOGGLE_SWITCH',\n PNP_REFRESH_CHANGE_USERS = 'PNP_REFRESH_CHANGE_USERS',\n PNP_REFRESH_INITIAL_LOAD = 'PNP_REFRESH_INITIAL_LOAD',\n PNP_REFRESH_RESET_ALL = 'PNP_REFRESH_RESET_ALL',\n}\n\nexport default GROW2792_ACTIONS;\n","import GROW2792_ACTIONS from '~app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/actions';\n\nexport enum PACKAGE_ACTIONS {\n SWITCH_PACKAGES = 'SWITCH_PACKAGES',\n UPDATE_PACKAGES = 'UPDATE_PACKAGES',\n UPDATE_PACKAGES_TO_DISPLAY = 'UPDATE_PACKAGES_TO_DISPLAY',\n}\n\nconst ACTIONS = { ...PACKAGE_ACTIONS, ...GROW2792_ACTIONS };\n\nexport default ACTIONS;\n","import { PackagesStateType } from '~shared/types/pricing/package';\nimport { CombinedActions } from '~shared/types/pricing/actions';\nimport ACTIONS from '~shared/actions';\nimport { PricingPackage } from '~shared/types/pricing/pricingsvc';\n\nexport default function packageReducer(state: PackagesStateType, action: CombinedActions): PackagesStateType {\n if (action.type === ACTIONS.UPDATE_PACKAGES) {\n return {\n ...state,\n displayPackages: action.payload.displayPackages,\n displayPackageSet: action.payload.displayPackages.map(pkg => pkg.packageName),\n };\n }\n\n if (action.type === ACTIONS.UPDATE_PACKAGES_TO_DISPLAY) {\n return {\n ...state,\n packagesToDisplayState: action.payload.packagesToDisplay,\n };\n }\n\n if (action.type === ACTIONS.SWITCH_PACKAGES) {\n const replacementPackage = state?.allPackages.find(pkg => Number(pkg?.id) === action.payload.replacedWith);\n const newPackages = state?.displayPackages?.map(pkg =>\n Number(pkg?.id) === action.payload.packageToBeReplaced ? replacementPackage : pkg\n ) as PricingPackage[];\n\n const packages = newPackages ?? state.displayPackages;\n\n return {\n ...state,\n displayPackages: packages,\n displayPackageSet: packages.map(pkg => pkg.packageName),\n };\n }\n\n return state;\n}\n","import ACTIONS from '~shared/actions';\nimport { Grow2792StateType } from './types';\nimport { CombinedActions } from '~shared/types/pricing/actions';\n\nexport const grow2792State: Grow2792StateType = {\n advantageUsers: 1,\n premierUsers: 1,\n initialLoad: true,\n isIPPM: false,\n};\n\nexport default function Grow2792Reducer(state: Grow2792StateType, action: CombinedActions): Grow2792StateType {\n if (action.type === ACTIONS.PNP_REFRESH_RESET_TOGGLE_SWITCH) {\n return {\n ...state,\n advantageUsers: 1,\n };\n }\n\n if (action.type === ACTIONS.PNP_REFRESH_CHANGE_USERS) {\n return {\n ...state,\n [action.payload.packageType]: action.payload.users,\n };\n }\n\n if (action.type === ACTIONS.PNP_REFRESH_INITIAL_LOAD) {\n return {\n ...state,\n initialLoad: action.payload.loadedState,\n };\n }\n\n if (action.type === ACTIONS.PNP_REFRESH_RESET_ALL) {\n return grow2792State;\n }\n\n return state;\n}\n","import { grow2792State } from '~app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/reducer';\nimport { PackageList, PricingPackage } from '~shared/types/pricing/pricingsvc';\n\nconst NULL_PACKAGE = {} as PricingPackage;\n\nexport const packageState = {\n allPackages: [] as PricingPackage[],\n userPackage: {} as PricingPackage,\n displayPackages: [] as PricingPackage[],\n displayPackageSet: [],\n detailsPackageData: {},\n packagesToDisplayState: [] as PackageList,\n discountInfo: undefined,\n paidFeatures: undefined,\n showEduDiscount: false,\n comparePlans: false,\n overageCost: undefined,\n getPackageById: (): PricingPackage => NULL_PACKAGE,\n};\n\nexport const combinedStates = {\n packages: packageState,\n grow2792: grow2792State,\n};\n","import grow2792DetailsFakeFeatures from '~pricing/experiments/grow_2792_pnp_refresh_v1/transformers/details/groupings/fakeFeatures';\n\nexport default [...grow2792DetailsFakeFeatures];\n","export default [\n {\n name: 'grow_2792_user',\n },\n {\n name: 'grow_2792_create_custom_theme_enabled',\n },\n {\n name: 'grow_2792_single_user',\n },\n {\n name: 'grow_2792_forms_advantage_team',\n },\n {\n name: 'grow_2792_email_support',\n },\n {\n name: 'grow_2792_survey_create_limit',\n },\n {\n name: 'grow_2792_questions_per_form_survey',\n },\n {\n name: 'grow_2792_unlimited_questions',\n },\n {\n name: 'grow_2792_basic_question_types',\n },\n {\n name: 'grow_2792_forms_question_types',\n },\n {\n name: 'grow_2792_website_embed',\n },\n {\n name: 'grow_2792_zapier_integrations',\n },\n {\n name: 'grow_2792_file_upload',\n },\n {\n name: 'grow_2792_num_free_responses',\n },\n {\n name: 'grow_2792_basic_base_response_count',\n },\n {\n name: 'grow_2792_base_response_count',\n },\n {\n name: 'grow_2792_recurring_surveys',\n },\n {\n name: 'grow_2792_customer_success_manager',\n },\n {\n name: 'grow_2792_advanced_collaboration',\n },\n {\n name: 'grow_2792_database_response_view',\n },\n {\n name: 'grow_2792_dashboard',\n },\n {\n name: 'grow_2792_dashboard_pwd_protection',\n },\n {\n name: 'grow_2792_word_cloud_combine_hide',\n },\n];\n","export default [\n {\n isEnabled: true,\n name: 'dashboard',\n },\n {\n isEnabled: true,\n name: 'team_activity',\n },\n {\n isEnabled: true,\n name: 'account_control',\n },\n {\n isEnabled: true,\n name: 'global_settings',\n },\n {\n isEnabled: true,\n name: 'custom_terms_of_use',\n },\n {\n isEnabled: true,\n name: 'enterprise_only_integrations',\n },\n {\n isEnabled: true,\n name: 'customer_success_manager',\n },\n {\n isEnabled: true,\n name: 'contributor_seats',\n },\n {\n isEnabled: true,\n name: 'web_social_email_responses',\n },\n {\n isEnabled: true,\n name: 'mobile_apps_ios_android',\n },\n {\n isEnabled: true,\n name: 'custom_question_bank',\n },\n {\n isEnabled: true,\n name: 'quiz_scoring_and_instant_results',\n },\n {\n isEnabled: true,\n name: 'custom_subdomain',\n },\n {\n isEnabled: true,\n name: 'word_cloud_combine_hide',\n },\n];\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst COPY = defineMessages({\n CELL_ARIA_ROLE_DESC: {\n id: 'Pricing.copy.CellAriaRoleDesc',\n defaultMessage: 'Cell containing data on whether the feature is included in the package or not',\n desc: {\n id: 'Pricing.copy.CellAriaRoleDesc',\n message: '[Type: aria role description][Vis: low] - Accessibility description for cell',\n project: PROJECT_NAME,\n },\n },\n AVAILABLE: {\n id: 'Pricing.copy.Available',\n defaultMessage: 'available',\n desc: {\n id: 'Pricing.copy.Available',\n message: '[Type: label][Vis: high] - Pricing details comparison feature cell value',\n project: PROJECT_NAME,\n },\n },\n UNAVAILABLE: {\n id: 'Pricing.copy.Unavailable',\n defaultMessage: 'unavailable',\n desc: {\n id: 'Pricing.copy.Unavailable',\n message: '[Type: label][Vis: high] - Pricing details comparison feature cell value',\n project: PROJECT_NAME,\n },\n },\n BUSINESS_PLANS_LINK: {\n id: 'Pricing.copy.BusinessPlansLink',\n defaultMessage: 'Included with business plans',\n desc: {\n id: 'Pricing.copy.BusinessPlansLink',\n message: '[Type: link][Vis: high] - Link to pricing teams details page',\n project: PROJECT_NAME,\n },\n },\n});\n\nexport default COPY;\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { t } from '@sm/intl';\nimport COPY from './copy';\nimport { ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\n\nexport default function IncludedLink(): React.ReactElement {\n return {t(COPY.BUSINESS_PLANS_LINK)};\n}\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst TYPE_TEXT = '[Type: Text][Vis: high] - Feature Set Cell Value Item';\n\nexport default defineMessages({\n base_response_count: {\n id: 'Pricing.cellCopy.BaseResponseCount',\n defaultMessage: '{amount} responses per year**',\n desc: {\n id: 'Pricing.cellCopy.BaseResponseCount',\n message: `${TYPE_TEXT} - BaseResponseCount`,\n project: PROJECT_NAME,\n },\n },\n num_free_responses: {\n id: 'Pricing.cellCopy.NumFreeResponses',\n defaultMessage: '{amount} responses per month**',\n desc: {\n id: 'Pricing.cellCopy.NumFreeResponses',\n message: `${TYPE_TEXT} - NumFreeResponses`,\n project: PROJECT_NAME,\n },\n },\n create_question_limit: {\n id: 'Pricing.cellCopy.CreateQuestionLimit',\n defaultMessage: '{amount} questions per survey',\n desc: {\n id: 'Pricing.cellCopy.CreateQuestionLimit',\n message: `${TYPE_TEXT} - CreateQuestionLimit`,\n project: PROJECT_NAME,\n },\n },\n collector_create_limit: {\n id: 'Pricing.cellCopy.CollectorCreateLimit',\n defaultMessage: 'Use {amount} collectors per survey',\n desc: {\n id: 'Pricing.cellCopy.CollectorCreateLimit',\n message: `${TYPE_TEXT} - CollectorCreateLimit`,\n project: PROJECT_NAME,\n },\n },\n CONTACT_US: {\n id: 'Pricing.cellCopy.ContactUsBaseResponseCount',\n defaultMessage: 'Contact Us',\n desc: {\n id: 'Pricing.cellCopy.ContactUsBaseResponseCount',\n message: `${TYPE_TEXT} - ContactUsBaseResponseCount`,\n project: PROJECT_NAME,\n },\n },\n BASIC_COMPARE_FILTER: {\n id: 'Pricing.cellCopy.BasicCompareFilter',\n defaultMessage: '1 filter',\n desc: {\n id: 'Pricing.cellCopy.BasicCompareFilter',\n message: `${TYPE_TEXT} - BasicCompareFilter`,\n project: PROJECT_NAME,\n },\n },\n BASIC_NUM_RESPONSES: {\n id: 'Pricing.cellCopy.BasicNumberOfResponses',\n defaultMessage: 'View {amount} responses per survey',\n desc: {\n id: 'Pricing.cellCopy.BasicNumberOfResponses',\n message: `${TYPE_TEXT} - BasicNumberOfResponses`,\n project: PROJECT_NAME,\n },\n },\n MANUAL: {\n id: 'Pricing.cellCopy.Manual',\n defaultMessage: 'Manual',\n desc: {\n id: 'Pricing.cellCopy.Manual',\n message: `${TYPE_TEXT} - Manual`,\n project: PROJECT_NAME,\n },\n },\n MANUAL_RULE: {\n id: 'Pricing.cellCopy.ManualRule',\n defaultMessage: 'Manual and Rule-based',\n desc: {\n id: 'Pricing.cellCopy.ManualRule',\n message: `${TYPE_TEXT} - ManualRule`,\n project: PROJECT_NAME,\n },\n },\n TEMPLATE_ENABLED_VALUE: {\n id: 'Pricing.cellCopy.TemplateEnabledValue',\n defaultMessage: '180 +',\n desc: {\n id: 'Pricing.cellCopy.TemplateEnabledValue',\n message: `${TYPE_TEXT} - TemplateEnabledValue`,\n project: PROJECT_NAME,\n },\n },\n BASIC_TEMPLATE_ENABLED_VALUE: {\n id: 'Pricing.cellCopy.BasicTemplateEnabledValue',\n defaultMessage: '40 short survey templates',\n desc: {\n id: 'Pricing.cellCopy.BasicTemplateEnabledValue',\n message: `${TYPE_TEXT} - BasicTemplateEnabledValue`,\n project: PROJECT_NAME,\n },\n },\n BASIC_WEBLINK_AND_SOCIAL_ENABLED_VALUE: {\n id: 'Pricing.cellCopy.BasicWeblinkAndSocialEnabledValue',\n defaultMessage: 'Web and Social collection only',\n desc: {\n id: 'Pricing.cellCopy.BasicWeblinkAndSocialEnabledValue',\n message: `${TYPE_TEXT} - BasicWeblinkAndSocialEnabledValue`,\n project: PROJECT_NAME,\n },\n },\n UNLIMITED: {\n id: 'Pricing.cellCopy.Unlimited',\n defaultMessage: 'UNLIMITED',\n desc: {\n id: 'Pricing.cellCopy.Unlimited',\n message: `${TYPE_TEXT} - Unlimited`,\n project: PROJECT_NAME,\n },\n },\n});\n","import React from 'react';\nimport { Desc, t } from '@sm/intl';\nimport { Feature, FeatureSetMap } from '~shared/types/pricing/pricingsvc';\nimport { DetailsFeatureRuleOptions, ItemType } from './types';\nimport { TEAMS_PACKAGES, INDIVIDUAL_PACKAGES } from '~pricing/lib/constants';\nimport { Packages } from '~shared/constants/pricing';\nimport IncludedLink from '~pricing/components/DetailsTable/Categories/IncludedLink';\nimport CELL_COPY from '~pricing/lib/PackageFeatures/details/cellCopy';\n\nconst SETTING_UNLIMITED = 'unlimited';\n\nexport function getTeamCollaborationValues(packageName: Packages): boolean | React.ReactElement {\n let value: boolean | React.ReactElement = false;\n if (TEAMS_PACKAGES.includes(packageName)) {\n value = true;\n } else if (\n INDIVIDUAL_PACKAGES.includes(packageName) &&\n (packageName === Packages.AdvantageAnnual || packageName === Packages.PremierAnnual)\n ) {\n value = ;\n }\n\n return value;\n}\n\nexport function getStringValue(feature: Feature): string {\n const values: ItemType[] = Object.values(CELL_COPY);\n // fetch the copy corresponding to the feature setting from the COPY file\n const settingCopy = values.filter(\n (item: ItemType) => item.defaultMessage.toLowerCase() === feature?.setting?.toLowerCase()\n );\n // create a param with the correct type for the `t` function (if settingCopy array is not empty)\n const cellValue: Desc | undefined = settingCopy.length\n ? {\n id: settingCopy[0].id,\n defaultMessage: settingCopy[0].defaultMessage,\n }\n : undefined;\n // translate the value if it exists, otherwise return empty string\n return cellValue ? t(cellValue) : '';\n}\n\nexport function getUpperCaseValue(feature: Feature): string {\n return feature?.setting ? feature.setting?.toUpperCase() : '';\n}\n\nconst { MANUAL, MANUAL_RULE } = CELL_COPY;\nexport const tagValue: Record = {\n [Packages.TeamAdvantage]: MANUAL,\n [Packages.TeamPremier]: MANUAL,\n [Packages.Enterprise]: MANUAL_RULE,\n [Packages.PremierAnnual]: MANUAL,\n [Packages.AdvantageAnnual]: MANUAL,\n [Packages.StandardMonthly]: MANUAL,\n [Packages.StandardAnnual]: MANUAL,\n [Packages.StarterMonthly]: MANUAL,\n [Packages.StandardAnnual]: MANUAL,\n [Packages.StarterAnnual]: MANUAL,\n [Packages.Basic]: '',\n [Packages.AdvantageMonthly]: '',\n [Packages.PremierMonthly]: '',\n [Packages.Flex]: MANUAL,\n [Packages.FormsAnnual]: '',\n [Packages.FormsMonthly]: '',\n};\n\nexport function getTagValue(packageName: Packages): string {\n if (typeof tagValue[packageName] === 'string') {\n return tagValue[packageName] as string;\n }\n return t(tagValue[packageName] as Desc);\n}\n\nexport function getFormattedAmountValue(feature: Feature, options: DetailsFeatureRuleOptions): string {\n if (feature?.amount) {\n return t(CELL_COPY[feature.name as keyof typeof CELL_COPY], {\n amount: feature.amount.toLocaleString(options?.locale),\n });\n }\n return '';\n}\n\nexport function response_count(\n { base_response_count, num_free_responses }: FeatureSetMap,\n options: DetailsFeatureRuleOptions,\n packageName: string\n): string {\n let value = '';\n\n // Annual packages\n if (base_response_count?.amount) {\n value = t(CELL_COPY.base_response_count, { amount: base_response_count.amount.toLocaleString(options?.locale) });\n\n // Basic/Standard monthly\n } else if (num_free_responses?.amount) {\n const copy = packageName === Packages.Basic ? CELL_COPY.BASIC_NUM_RESPONSES : CELL_COPY.num_free_responses;\n value = t(copy, { amount: num_free_responses.amount.toLocaleString(options?.locale) });\n\n // Enterprise\n } else if (num_free_responses?.setting === SETTING_UNLIMITED) {\n return t(CELL_COPY.CONTACT_US);\n }\n return value;\n}\n\nexport function getBaseResponseCount(\n packageName: string,\n feature: FeatureSetMap,\n options: DetailsFeatureRuleOptions\n): string {\n return packageName === Packages.Enterprise ? t(CELL_COPY.CONTACT_US) : response_count(feature, options, packageName);\n}\n\nexport function getCompareResults(packageName: string): boolean | string {\n return packageName === Packages.Basic ? t(CELL_COPY.BASIC_COMPARE_FILTER) : true;\n}\n\nexport function getWebAndSocialEnabledValue(packageName: string): boolean | string {\n return packageName !== Packages.Basic || t(CELL_COPY.BASIC_WEBLINK_AND_SOCIAL_ENABLED_VALUE);\n}\n\nexport function getTemplatesEnabledValue(packageName: string): string {\n return packageName === Packages.Basic\n ? t(CELL_COPY.BASIC_TEMPLATE_ENABLED_VALUE)\n : t(CELL_COPY.TEMPLATE_ENABLED_VALUE);\n}\n\nexport function getCreateQuestionLimitValue(feature: Feature): string {\n return t(CELL_COPY.create_question_limit, { amount: feature.amount });\n}\n\nexport function getCollectorCreateLimitValue(feature: Feature): string {\n return t(CELL_COPY.collector_create_limit, { amount: feature.amount });\n}\n","import React from 'react';\nimport { Feature, FeatureSetMap } from '~shared/types/pricing/pricingsvc';\nimport { DetailsFeatureRuleOptions, DetailsFeatureRules } from '~pricing/transformers/details/types';\nimport { Packages } from '~shared/constants/pricing';\n\nimport {\n getBaseResponseCount,\n getCollectorCreateLimitValue,\n getCompareResults,\n getCreateQuestionLimitValue,\n getTagValue,\n getTeamCollaborationValues,\n getTemplatesEnabledValue,\n getStringValue,\n getWebAndSocialEnabledValue,\n} from '../helpers';\n\nconst ALL_BUT_BASIC = [\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.Enterprise,\n Packages.PremierAnnual,\n Packages.AdvantageAnnual,\n Packages.StandardMonthly,\n Packages.StarterMonthly,\n Packages.StarterAnnual,\n Packages.StandardAnnual,\n Packages.Flex,\n];\n\nconst ADVANTAGE_AND_ABOVE = [\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.Enterprise,\n Packages.PremierAnnual,\n Packages.AdvantageAnnual,\n];\n\nconst teamCollaborationRules = [\n 'add_users',\n 'build_surveys_together',\n 'analyze_results_together',\n 'custom_templates',\n 'team_themes',\n 'shared_library',\n 'collaboration',\n 'team_ownership',\n 'consolidated_billing',\n 'user_management',\n].reduce(\n (acc, key) => ({\n ...acc,\n [key]: (packageName: Packages): boolean | React.ReactElement => getTeamCollaborationValues(packageName),\n }),\n {}\n);\n\nconst stringValueRules = ['survey_create_limit'].reduce(\n (acc, key) => ({\n ...acc,\n [key]: (packageName: Packages, feature: Feature): string => getStringValue(feature),\n }),\n {}\n);\n\nconst enterpriseOnly = [\n 'admin_dashboard',\n 'team_activity',\n 'account_control',\n 'global_settings',\n 'custom_terms_of_use',\n 'enterprise_only_integrations',\n 'customer_success_manager',\n 'custom_question_bank',\n 'custom_subdomain',\n].reduce(\n (acc, key) => ({\n ...acc,\n [key]: (packageName: Packages): boolean => packageName === Packages.Enterprise,\n }),\n {}\n);\n\nconst includeInAllPackages = [\n '508_accessibility',\n 'pop_up_collector',\n 'real_time_results',\n 'share_surveys',\n 'statistical_significance',\n 'progress_bar',\n 'plans_benchmarks',\n 'benchmarks',\n 'dashboard',\n 'send_surveys',\n 'password_protection',\n 'enable_ip_blocking',\n 'mobile_apps_ios_android',\n 'video_question_type',\n 'rating_question_type',\n 'quiz_scoring_and_instant_results',\n 'require_answer',\n 'validate_answer',\n 'randomize_answer_choices',\n 'set_survey_end_date',\n 'view_respondent_ip_address',\n 'record_respondent_email_address',\n 'set_max_response_count',\n 'essential_question_types',\n 'all_languages_supported',\n 'pagination',\n 'labeling_titles_numbering',\n 'collector_mobile_sdk_enabled',\n].reduce(\n (acc, key) => ({\n ...acc,\n [key]: (): boolean => true,\n }),\n {}\n);\n\nfunction includeInPackagesOnly(packageName: Packages, packages: string[]): boolean {\n return packages.includes(packageName);\n}\n\nexport default {\n ...teamCollaborationRules,\n ...stringValueRules,\n ...includeInAllPackages,\n ...enterpriseOnly,\n analyze_can_ta_tag: (packageName: Packages): string => getTagValue(packageName),\n analyze_combine_filters: (packageName: Packages): string | boolean => getCompareResults(packageName),\n web_social_email_responses: (packageName: Packages): string | boolean => getWebAndSocialEnabledValue(packageName),\n contributor_seats: (packageName: Packages): boolean => packageName !== Packages.Enterprise,\n response_count: (packageName: Packages, feature: FeatureSetMap, options: DetailsFeatureRuleOptions): string =>\n getBaseResponseCount(packageName, feature, options),\n word_cloud_combine_hide: (packageName: Packages): boolean => packageName !== Packages.TeamAdvantage,\n create_templates_enabled: (packageName: Packages): string => getTemplatesEnabledValue(packageName),\n a_b_testing: (packageName: Packages): boolean => includeInPackagesOnly(packageName, ADVANTAGE_AND_ABOVE),\n advanced_logic: (packageName: Packages): boolean =>\n includeInPackagesOnly(packageName, [Packages.TeamPremier, Packages.Enterprise, Packages.PremierAnnual]),\n text_formatting: (packageName: Packages): boolean => includeInPackagesOnly(packageName, ADVANTAGE_AND_ABOVE),\n carry_forward: (packageName: Packages): boolean => includeInPackagesOnly(packageName, ADVANTAGE_AND_ABOVE),\n extract_data: (packageName: Packages): boolean => includeInPackagesOnly(packageName, ADVANTAGE_AND_ABOVE),\n track_email_responses: (packageName: Packages): boolean => includeInPackagesOnly(packageName, ADVANTAGE_AND_ABOVE),\n priority_email_support: (packageName: Packages): boolean =>\n ![Packages.Basic, Packages.FormsAnnual, Packages.FormsMonthly].includes(packageName),\n rating_question_type: (packageName: Packages): boolean => includeInPackagesOnly(packageName, ALL_BUT_BASIC),\n download_as_ppt: (packageName: Packages): boolean => includeInPackagesOnly(packageName, ALL_BUT_BASIC),\n collector_create_limit: (packageName: Packages, feature: Feature): string =>\n packageName === Packages.Basic ? getCollectorCreateLimitValue(feature) : getStringValue(feature),\n create_question_limit: (packageName: Packages, feature: Feature): string =>\n packageName === Packages.Basic ? getCreateQuestionLimitValue(feature) : getStringValue(feature),\n collector_thank_you_enabled: (packageName: Packages): boolean =>\n includeInPackagesOnly(packageName, ADVANTAGE_AND_ABOVE),\n} as DetailsFeatureRules;\n","const PNP_REFRESH_V1 = 'GROW-2792';\nconst TYPE_DESCRIPTION = '[Type: String][Vis.: high] - ';\nconst EXPERIMENT_DESCRIPTION = ' - A string in pricing experiment GROW-2792';\nconst DETAILS_TABLE = 'form details table';\n\nconst experimentDetailsCopy = {\n grow_2792_survey_create_limit: {\n id: 'Pricing.experimentDetailsCopy.SurveyCreateLimit',\n defaultMessage: 'Number of forms & surveys',\n desc: {\n id: 'Pricing.experimentDetailsCopy.SurveyCreateLimit',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} label ${EXPERIMENT_DESCRIPTION} (new)`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_questions_per_form_survey: {\n id: 'Pricing.experimentDetailsCopy.QuestionsPerFormSurvey',\n defaultMessage: 'Questions per form or survey',\n desc: {\n id: 'Pricing.experimentDetailsCopy.QuestionsPerFormSurvey',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} label ${EXPERIMENT_DESCRIPTION} (new)`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_recurring_surveys: {\n id: 'Pricing.experimentDetailsCopy.RecurringFormsSurveys',\n defaultMessage: 'Recurring forms & surveys',\n desc: {\n id: 'Pricing.experimentDetailsCopy.RecurringFormsSurveys',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} label ${EXPERIMENT_DESCRIPTION} (override)`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_skip_logic: {\n id: 'Pricing.experimentDetailsCopy.SkipLogicOnly',\n defaultMessage: 'Skip logic only',\n desc: {\n id: 'Pricing.experimentDetailsCopy.SkipLogicOnly',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} label ${EXPERIMENT_DESCRIPTION} (override)`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_survey_builder: {\n id: 'Pricing.experimentDetailsCopy.FormSurveyBuilder',\n defaultMessage: 'Form & Survey Builder',\n desc: {\n id: 'Pricing.experimentDetailsCopy.FormSurveyBuilder',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} heading ${EXPERIMENT_DESCRIPTION} (new)`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_database_response_view: {\n id: 'Pricing.experimentDetailsCopy.DatabaseResponseView',\n defaultMessage: 'Database response view',\n desc: {\n id: 'Pricing.experimentDetailsCopy.DatabaseResponseView',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} heading ${EXPERIMENT_DESCRIPTION} (new)`,\n project: PNP_REFRESH_V1,\n },\n },\n best_worst_qt: {\n id: 'Pricing.experimentDetailsCopy.BestWorstQt',\n defaultMessage: 'Best worst scale',\n desc: {\n id: 'Pricing.experimentDetailsCopy.BestWorstQt',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} heading ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_use_collectors: {\n id: 'Pricing.experimentDetailsCopy.UseCollectors',\n defaultMessage: 'Use {number} collectors per form or survey',\n desc: {\n id: 'Pricing.experimentDetailsCopy.UseCollectors',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} details ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_customer_success_manager: {\n id: 'Pricing.experimentDetailsCopy.CustomerSuccessManger',\n defaultMessage: 'Customer success manager',\n desc: {\n id: 'Pricing.experimentDetailsCopy.CustomerSuccessManger',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} details ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_advanced_collaboration: {\n id: 'Pricing.experimentDetailsCopy.AdvancedCollaboration',\n defaultMessage: 'Contributor seats',\n desc: {\n id: 'Pricing.experimentDetailsCopy.AdvancedCollaboration',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} details ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_dashboard: {\n id: 'Pricing.experimentDetailsCopy.Dashboard',\n defaultMessage: 'Dashboard',\n desc: {\n id: 'Pricing.experimentDetailsCopy.Dashboard',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} details ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_dashboard_pwd_protection: {\n id: 'Pricing.experimentDetailsCopy.DashboardPwdProtection',\n defaultMessage: 'Dashboard password protection',\n desc: {\n id: 'Pricing.experimentDetailsCopy.DashboardPwdProtection',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} details ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_word_cloud_combine_hide: {\n id: 'Pricing.experimentDetailsCopy.WordCloudCombineHide',\n defaultMessage: 'Word clouds: Combine or hide words',\n desc: {\n id: 'Pricing.experimentDetailsCopy.WordCloudCombineHide',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} details ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_tag_written_answers_enterprise: {\n id: 'Pricing.experimentDetailsCopy.TagWrittenAnswersEnterprise',\n defaultMessage: 'Manual & rule-based',\n desc: {\n id: 'Pricing.experimentDetailsCopy.TagWrittenAnswersEnterprise',\n message: `${TYPE_DESCRIPTION} ${DETAILS_TABLE} details ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n};\n\nexport default experimentDetailsCopy;\n","import PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst COPY = {\n CELL_ARIA_ROLE_DESC_2792: {\n id: 'Pricing.copy.CellAriaRoleDesc',\n defaultMessage: 'Cell containing data on whether the feature is included in the package or not',\n desc: {\n id: 'Pricing.copy.CellAriaRoleDesc',\n message: '[Type: aria role description][Vis: low] - Accessibility description for cell',\n project: PROJECT_NAME,\n },\n },\n AVAILABLE: {\n id: 'Pricing.copy.Available',\n defaultMessage: 'available',\n desc: {\n id: 'Pricing.copy.Available',\n message: '[Type: label][Vis: high] - Pricing details comparison feature cell value',\n project: PROJECT_NAME,\n },\n },\n UNAVAILABLE: {\n id: 'Pricing.copy.Unavailable',\n defaultMessage: 'unavailable',\n desc: {\n id: 'Pricing.copy.Unavailable',\n message: '[Type: label][Vis: high] - Pricing details comparison feature cell value',\n project: PROJECT_NAME,\n },\n },\n BUSINESS_PLANS_LINK: {\n id: 'Pricing.copy.BusinessPlansLink',\n defaultMessage: 'Included with 3+ users',\n desc: {\n id: 'Pricing.copy.BusinessPlansLink',\n message: '[Type: link][Vis: high] - Link to pricing teams details page',\n project: PROJECT_NAME,\n },\n },\n BUSINESS_PLANS_LINK_MONTHLY: {\n id: 'Pricing.copy.BusinessPlansLinkMonthly',\n defaultMessage: 'Included with 3+ users on an annual plan',\n desc: {\n id: 'Pricing.copy.BusinessPlansLinkMonthly',\n message: '[Type: link][Vis: high] - Link to pricing teams details page',\n project: PROJECT_NAME,\n },\n },\n};\n\nexport default COPY;\n","import React, { SyntheticEvent } from 'react';\nimport { Link } from 'react-router-dom';\nimport COPY from './copy';\n\nimport { switchAndSave } from '../../helpers';\nimport { Packages, ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport useTrackingDetails from '~app/pages/Pricing/hooks/useTrackingDetails';\n\nexport default function IncludedLink({ packageName }: Readonly<{ packageName: Packages }>): React.ReactElement {\n const { dispatch } = usePricingState();\n const { pageName } = useTrackingDetails();\n\n const copy =\n packageName === Packages.AdvantageMonthly\n ? COPY.BUSINESS_PLANS_LINK_MONTHLY.defaultMessage\n : COPY.BUSINESS_PLANS_LINK.defaultMessage;\n const isAdvantagePackage = [Packages.AdvantageAnnual, Packages.AdvantageMonthly, Packages.TeamAdvantage].includes(\n packageName\n );\n const isPremierPackage = [Packages.PremierAnnual, Packages.TeamPremier].includes(packageName);\n\n const handleClick = (event: SyntheticEvent): void => {\n event.preventDefault();\n switchAndSave({ numberOfUsers: '3', isAdvantagePackage, isPremierPackage, dispatch, pageName, packageName });\n };\n\n return (\n \n {copy}\n \n );\n}\n","import React from 'react';\nimport ACTIONS from '~shared/actions';\nimport { PackageIds, Packages } from '~shared/constants/pricing';\nimport { CombinedActions } from '~shared/types/pricing/actions';\nimport IncludedLink from './components/Categories/IncludedLink';\nimport { TEAMS_PACKAGES } from '../../lib/constants';\nimport { SwitchAndSaveProps } from './types';\nimport { logAmplitudeEvent } from '../../pages/shared';\nimport { AMPLITUDE_PAGE_EVENTS } from '~shared/util';\n\nexport function determinePackageSwap(\n numberOfUsers: string,\n isAdvantagePackage: boolean,\n isPremierPackage: boolean,\n dispatch: React.Dispatch,\n packageName?: Packages,\n isAdvantageMonthlyCurrentlySelected = false\n): void {\n let packageSwap = {};\n const userCount = Number(numberOfUsers);\n\n if (isAdvantagePackage) {\n if (isAdvantageMonthlyCurrentlySelected) {\n packageSwap = {\n packageToBeReplaced: PackageIds.ADVANTAGE_MONTHLY,\n replacedWith: PackageIds.TEAM_ADVANTAGE_ANNUAL,\n };\n } else if (userCount > 1) {\n packageSwap = {\n packageToBeReplaced:\n packageName && packageName === Packages.AdvantageMonthly\n ? PackageIds.ADVANTAGE_MONTHLY\n : PackageIds.ADVANTAGE_ANNUAL,\n replacedWith: PackageIds.TEAM_ADVANTAGE_ANNUAL,\n };\n } else {\n packageSwap = {\n packageToBeReplaced: PackageIds.TEAM_ADVANTAGE_ANNUAL,\n replacedWith: PackageIds.ADVANTAGE_ANNUAL,\n };\n }\n dispatch({ type: ACTIONS.SWITCH_PACKAGES, payload: packageSwap } as CombinedActions);\n }\n\n if (isPremierPackage) {\n if (userCount > 1) {\n packageSwap = {\n packageToBeReplaced: PackageIds.PREMIER_ANNUAL,\n replacedWith: PackageIds.TEAM_PREMIER_ANNUAL,\n };\n } else {\n packageSwap = {\n packageToBeReplaced: PackageIds.TEAM_PREMIER_ANNUAL,\n replacedWith: PackageIds.PREMIER_ANNUAL,\n };\n }\n dispatch({ type: ACTIONS.SWITCH_PACKAGES, payload: packageSwap } as CombinedActions);\n }\n}\n\nexport function switchAndSave({\n numberOfUsers,\n isAdvantagePackage,\n isPremierPackage,\n pageName,\n dispatch,\n packageName,\n isAdvantageMonthlyCurrentlySelected = false,\n}: SwitchAndSaveProps): void {\n determinePackageSwap(\n numberOfUsers,\n isAdvantagePackage,\n isPremierPackage,\n dispatch,\n packageName,\n isAdvantageMonthlyCurrentlySelected\n );\n\n dispatch({\n type: ACTIONS.PNP_REFRESH_CHANGE_USERS,\n payload: { users: numberOfUsers, packageType: isAdvantagePackage ? 'advantageUsers' : 'premierUsers' },\n } as CombinedActions);\n\n logAmplitudeEvent({\n eventName: 'pricing clicked Switch and Save button',\n pageName,\n amplitudeEvent: AMPLITUDE_PAGE_EVENTS.experimentEvent,\n otherData: {\n selectedPackage: isAdvantagePackage ? Packages.TeamAdvantage : Packages.TeamPremier,\n numberOfUsers,\n },\n });\n}\n\nexport function getTeamCollaborationValues(packageName: Packages): boolean | React.ReactElement {\n let value: boolean | React.ReactElement = false;\n if (TEAMS_PACKAGES.includes(packageName)) {\n value = true;\n }\n\n if ([Packages.AdvantageAnnual, Packages.AdvantageMonthly, Packages.PremierAnnual].includes(packageName)) {\n value = ;\n }\n\n return value;\n}\n","import { t } from '@sm/intl';\nimport { DetailsFeatureRules } from '~pricing/transformers/details/types';\nimport { Packages } from '~shared/constants/pricing';\nimport CELL_COPY from '~pricing/lib/PackageFeatures/details/cellCopy';\nimport experimentDetailsCopy from '~pricing/experiments/grow_2792_pnp_refresh_v1/copy/experimentDetailsCopy';\nimport { getTeamCollaborationValues } from '~pricing/experiments/grow_2792_pnp_refresh_v1/helpers';\n\nconst formsAndEnhanced = [\n Packages.AdvantageAnnual,\n Packages.AdvantageMonthly,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.FormsAnnual,\n Packages.FormsMonthly,\n];\nconst allExceptForms = [\n Packages.AdvantageAnnual,\n Packages.AdvantageMonthly,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.Enterprise,\n];\n\nconst allExceptBasicFeatures = [\n 'create_print_enabled',\n 'download_as_ppt',\n 'create_print_enabled',\n 'text_formatting',\n].reduce(\n (acc, key) => ({\n ...acc,\n [key]: (packageName: Packages): boolean => packageName !== Packages.Basic,\n }),\n {}\n);\n\nconst allExceptFormsRule = [\n 'grow_2792_recurring_surveys',\n 'track_email_responses',\n 'rating_question_type',\n 'matrix_question_type',\n 'collector_thank_you_enabled',\n 'grow_2792_dashboard',\n 'grow_2792_dashboard_pwd_protection',\n 'extract_data',\n].reduce(\n (acc, key) => ({\n ...acc,\n [key]: (packageName: Packages): boolean => allExceptForms.includes(packageName),\n }),\n {}\n);\n\nconst teamCollaborationRule = [\n 'add_users',\n 'build_surveys_together',\n 'analyze_results_together',\n 'custom_templates',\n 'team_themes',\n 'shared_library',\n 'collaboration',\n 'team_ownership',\n 'consolidated_billing',\n 'user_management',\n 'grow_2792_advanced_collaboration',\n].reduce(\n (acc, key) => ({\n ...acc,\n [key]: (packageName: Packages): boolean | React.ReactElement => getTeamCollaborationValues(packageName),\n }),\n {}\n);\n\nconst premierAndAboveRule = [\n 'a_b_testing',\n 'carry_forward',\n 'response_quality_enabled',\n 'grow_2792_word_cloud_combine_hide',\n].reduce(\n (acc, key) => ({\n ...acc,\n [key]: (packageName: Packages): boolean =>\n [Packages.PremierAnnual, Packages.TeamPremier, Packages.Enterprise].includes(packageName),\n }),\n {}\n);\n\nconst allPackagesRule = ['grow_2792_database_response_view'].reduce(\n (acc, key) => ({\n ...acc,\n [key]: (): boolean => true,\n }),\n {}\n);\n\nexport default {\n ...allPackagesRule,\n ...allExceptBasicFeatures,\n ...allExceptFormsRule,\n ...teamCollaborationRule,\n ...premierAndAboveRule,\n mobile_apps_ios_android: (): string | boolean => true,\n\n grow_2792_survey_create_limit: (): string => t(CELL_COPY.UNLIMITED),\n\n grow_2792_questions_per_form_survey: (packageName: Packages): string =>\n packageName === Packages.Basic ? t(CELL_COPY.create_question_limit, { amount: 10 }) : t(CELL_COPY.UNLIMITED),\n\n collector_create_limit: (packageName: Packages): string =>\n packageName === Packages.Basic\n ? t(experimentDetailsCopy.grow_2792_use_collectors, { number: 3 })\n : t(CELL_COPY.UNLIMITED),\n\n grow_2792_file_upload: (packageName: Packages): boolean => formsAndEnhanced.includes(packageName),\n\n analyze_combine_filters: (packageName: Packages): string | boolean => {\n return packageName === Packages.Basic ? t(CELL_COPY.BASIC_COMPARE_FILTER) : true;\n },\n\n analyze_trends_enabled: () => true,\n\n analyze_can_ta_tag: (packageName: Packages): string => {\n if (\n [\n Packages.AdvantageAnnual,\n Packages.AdvantageMonthly,\n Packages.TeamAdvantage,\n Packages.PremierAnnual,\n Packages.TeamPremier,\n ].includes(packageName)\n ) {\n return t(CELL_COPY.MANUAL);\n }\n\n if (packageName === Packages.Enterprise) {\n return experimentDetailsCopy.grow_2792_tag_written_answers_enterprise.defaultMessage;\n }\n\n return '';\n },\n\n grow_2792_customer_success_manager: (packageName: Packages): boolean => packageName === Packages.Enterprise,\n\n collect_contact_information: () => true,\n} as DetailsFeatureRules;\n","import { EXPERIMENT_IDENTIFIERS } from '~server/routes/Pricing/experimentsConfig';\nimport defaultRules from './defaultRules';\n\nimport GROW_2792_FEATURE_RULES from '~pricing/experiments/grow_2792_pnp_refresh_v1/transformers/details/groupings/featureRules';\n\nimport { DetailsFeatureRulesMap } from '../types';\n\nconst detailsFeatureRules: DetailsFeatureRulesMap = {\n default: defaultRules,\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment1]: { ...defaultRules, ...GROW_2792_FEATURE_RULES },\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment2]: { ...defaultRules, ...GROW_2792_FEATURE_RULES },\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment3]: { ...defaultRules, ...GROW_2792_FEATURE_RULES },\n};\n\nexport default detailsFeatureRules;\n","export default [\n {\n featureItemKey: 'response_count',\n features: ['base_response_count', 'num_free_responses'],\n },\n];\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst TYPE_LABEL = '[Type: Label][Vis: high] - Feature Set List Item';\n\nexport default defineMessages({\n '508_accessibility': {\n id: 'Pricing.copy.Summary508Accessibility',\n defaultMessage: 'ADA compliant',\n desc: {\n id: 'Pricing.copy.Summary508Accessibility',\n message: `${TYPE_LABEL} - Summary508Accessibility`,\n project: PROJECT_NAME,\n },\n },\n a_b_testing: {\n id: 'Pricing.copy.SummaryABTestingOverride',\n defaultMessage: 'A/B testing, randomization, quotas',\n desc: {\n id: 'Pricing.copy.SummaryABTestingOverride',\n message: `${TYPE_LABEL} - SummaryABTestingOverride`,\n project: PROJECT_NAME,\n },\n },\n account_control: {\n id: 'Pricing.copy.SummaryAccountControl',\n defaultMessage: 'Account control and migration',\n desc: {\n id: 'Pricing.copy.SummaryAccountControl',\n message: `${TYPE_LABEL} - SummaryAccountControl`,\n project: PROJECT_NAME,\n },\n },\n add_users: {\n id: 'Pricing.copy.SummaryAddUsers',\n defaultMessage: 'Add Users',\n desc: {\n id: 'Pricing.copy.SummaryAddUsers',\n message: `${TYPE_LABEL} - SummaryAddUsers`,\n project: PROJECT_NAME,\n },\n },\n admin_dashboard: {\n id: 'Pricing.copy.SummaryAdminDashboard',\n defaultMessage: 'Admin dashboard and user management',\n desc: {\n id: 'Pricing.copy.SummaryAdminDashboard',\n message: `${TYPE_LABEL} - SummaryAdminDashboard`,\n project: PROJECT_NAME,\n },\n },\n advanced_analyze_features: {\n id: 'Pricing.copy.SummaryAdvancedAnalyzeFeatures',\n defaultMessage: 'Advanced analyze features',\n desc: {\n id: 'Pricing.copy.SummaryAdvancedAnalyzeFeatures',\n message: `${TYPE_LABEL} - SummaryAdvancedAnalyzeFeatures`,\n project: PROJECT_NAME,\n },\n },\n advanced_collaboration: {\n id: 'Pricing.copy.SummaryAdvancedCollaborationFeatures',\n defaultMessage: 'Advanced collaboration features',\n desc: {\n id: 'Pricing.copy.SummaryAdvancedCollaborationFeatures',\n message: `${TYPE_LABEL} - `,\n project: PROJECT_NAME,\n },\n },\n advanced_logic: {\n id: 'Pricing.copy.SummaryAdvancedLogic',\n defaultMessage: 'Advanced survey logic tools',\n desc: {\n id: 'Pricing.copy.SummaryAdvancedLogic',\n message: `${TYPE_LABEL} - SummaryAdvancedLogic`,\n project: PROJECT_NAME,\n },\n },\n all_data_exports: {\n id: 'Pricing.copy.SummaryAllDataExports',\n defaultMessage: 'All data exports (CSV, XLS, PPT, PDF, SPSS)',\n desc: {\n id: 'Pricing.copy.SummaryAllDataExports',\n message: `${TYPE_LABEL} - SummaryAllDataExports`,\n project: PROJECT_NAME,\n },\n },\n all_languages_supported: {\n id: 'Pricing.copy.SummaryAllLanguagesSupported',\n defaultMessage: 'All Languages Supported',\n desc: {\n id: 'Pricing.copy.SummaryAllLanguagesSupported',\n message: `${TYPE_LABEL} - SummaryAllLanguagesSupported`,\n project: PROJECT_NAME,\n },\n },\n analyze_can_share_customize_branding: {\n id: 'Pricing.copy.SummaryAnalyzeCanShareCustomizeBranding',\n defaultMessage: 'Customization and branding',\n desc: {\n id: 'Pricing.copy.SummaryAnalyzeCanShareCustomizeBranding',\n message: `${TYPE_LABEL} - SummaryAnalyzeCanShareCustomizeBranding`,\n project: PROJECT_NAME,\n },\n },\n analyze_combine_filters: {\n id: 'Pricing.copy.SummaryCombineFilters',\n defaultMessage: 'Unlimited filter and compare rules, data trends',\n desc: {\n id: 'Pricing.copy.SummaryCombineFilters',\n message: `${TYPE_LABEL} - SummaryCombineFilters`,\n project: PROJECT_NAME,\n },\n },\n analyze_export_enabled: {\n id: 'Pricing.copy.SummaryAnalyzeExportEnabled',\n defaultMessage: 'Data exports (CSV, PDF, PPT, XLS)',\n desc: {\n id: 'Pricing.copy.SummaryAnalyzeExportEnabled',\n message: `${TYPE_LABEL} - SummaryAnalyzeExportEnabled`,\n project: PROJECT_NAME,\n },\n },\n analyze_export_spss_enabled: {\n id: 'Pricing.copy.SummaryAnalyzeExportSpssEnabled',\n defaultMessage: 'Advanced data exports (SPSS)',\n desc: {\n id: 'Pricing.copy.SummaryAnalyzeExportSpssEnabled',\n message: `${TYPE_LABEL} - SummaryAnalyzeExportSpssEnabled`,\n project: PROJECT_NAME,\n },\n },\n analyze_integrations: {\n id: 'Pricing.copy.SummaryAnalyzeIntegrations',\n defaultMessage: 'Free integrations with popular collaboration apps',\n desc: {\n id: 'Pricing.copy.SummaryAnalyzeIntegrations',\n message: `${TYPE_LABEL} - SummaryAnalyzeIntegrations`,\n project: PROJECT_NAME,\n },\n },\n analyze_results_together: {\n id: 'Pricing.copy.SummaryAnalyzeResultsTogether',\n defaultMessage: 'Let team members analyze, filter, and export results',\n desc: {\n id: 'Pricing.copy.SummaryAnalyzeResultsTogether',\n message: `${TYPE_LABEL} - SummaryAnalyzeResultsTogether`,\n project: PROJECT_NAME,\n },\n },\n sentiment: {\n id: 'Pricing.copy.SummaryAnalyzeSentimentEnabled',\n defaultMessage: 'Sentiment analysis',\n desc: {\n id: 'Pricing.copy.SummaryAnalyzeSentimentEnabled',\n message: `${TYPE_LABEL} - SummaryAnalyzeSentimentEnabled`,\n project: PROJECT_NAME,\n },\n },\n analyze_trends_enabled: {\n id: 'Pricing.copy.SummaryAnalyzeTrendsEnabled',\n defaultMessage: '1 filter',\n desc: {\n id: 'Pricing.copy.SummaryAnalyzeTrendsEnabled',\n message: `${TYPE_LABEL} - SummaryAnalyzeTrendsEnabled`,\n project: PROJECT_NAME,\n },\n },\n asset_library: {\n id: 'Pricing.copy.SummaryAssetLibrary',\n defaultMessage: 'Shared asset library for on-brand surveys',\n desc: {\n id: 'Pricing.copy.SummaryAssetLibrary',\n message: `${TYPE_LABEL} - SummaryAssetLibrary`,\n project: PROJECT_NAME,\n },\n },\n base_response_count: {\n id: 'Pricing.copy.SummaryBaseResponseCount',\n defaultMessage: '{amount} responses per year**',\n desc: {\n id: 'Pricing.copy.SummaryBaseResponseCount',\n message: `${TYPE_LABEL} - SummaryBaseResponseCount`,\n project: PROJECT_NAME,\n },\n },\n benchmarks: {\n id: 'Pricing.copy.SummaryBenchmarks',\n defaultMessage: 'SurveyMonkey industry benchmarks',\n desc: {\n id: 'Pricing.copy.SummaryBenchmarks',\n message: `${TYPE_LABEL} - SummaryBenchmarks`,\n project: PROJECT_NAME,\n },\n },\n block_randomization: {\n id: 'Pricing.copy.SummaryBlockRandomization',\n defaultMessage: 'Block randomization',\n desc: {\n id: 'Pricing.copy.SummaryBlockRandomization',\n message: `${TYPE_LABEL} - SummaryBlockRandomization`,\n project: PROJECT_NAME,\n },\n },\n build_surveys_together: {\n id: 'Pricing.copy.SummaryBuildSurveysTogether',\n defaultMessage: 'Build Surveys Together',\n desc: {\n id: 'Pricing.copy.SummaryBuildSurveysTogether',\n message: `${TYPE_LABEL} - SummaryBuildSurveysTogether`,\n project: PROJECT_NAME,\n },\n },\n carry_forward: {\n id: 'Pricing.copy.SummaryCarryForward',\n defaultMessage: 'Carry Forward',\n desc: {\n id: 'Pricing.copy.SummaryCarryForward',\n message: `${TYPE_LABEL} - SummaryCarryForward`,\n project: PROJECT_NAME,\n },\n },\n click_map_qt: {\n id: 'Pricing.copy.SummaryClickMapQT',\n defaultMessage: 'Click map data visualization',\n desc: {\n id: 'Pricing.copy.SummaryClickMapQT',\n message: `${TYPE_LABEL} - SummaryClickMapQT`,\n project: PROJECT_NAME,\n },\n },\n collaborate: {\n id: 'Pricing.copy.SummaryCollaborate',\n defaultMessage: 'Survey sharing with fine control over who can view and edit',\n desc: {\n id: 'Pricing.copy.SummaryCollaborate',\n message: `${TYPE_LABEL} - SummaryCollaborate`,\n project: PROJECT_NAME,\n },\n },\n collect_contact_information: {\n id: 'Pricing.copy.SummaryCollectContactInformation',\n defaultMessage: 'Contact Information',\n desc: {\n id: 'Pricing.copy.SummaryCollectContactInformation',\n message: `${TYPE_LABEL} - SummaryCollectContactInformation`,\n project: PROJECT_NAME,\n },\n },\n collector_completion_url_enabled: {\n id: 'Pricing.copy.SummaryCollectorCompletionUrlEnabled',\n defaultMessage: 'Survey completion redirect',\n desc: {\n id: 'Pricing.copy.SummaryCollectorCompletionUrlEnabled',\n message: `${TYPE_LABEL} - SummaryCollectorCompletionUrlEnabled`,\n project: PROJECT_NAME,\n },\n },\n collector_mobile_sdk_enabled: {\n id: 'Pricing.copy.SummaryCollectorMobileSdkEnabled',\n defaultMessage: 'Mobile SDK',\n desc: {\n id: 'Pricing.copy.SummaryCollectorMobileSdkEnabled',\n message: `${TYPE_LABEL} - SummaryCollectorMobileSdkEnabled`,\n project: PROJECT_NAME,\n },\n },\n collector_popup_enabled: {\n id: 'Pricing.copy.SummaryCollectorPopupEnabled',\n defaultMessage: 'Pop up online surveys',\n desc: {\n id: 'Pricing.copy.SummaryCollectorPopupEnabled',\n message: `${TYPE_LABEL} - SummaryCollectorPopupEnabled`,\n project: PROJECT_NAME,\n },\n },\n collector_friendly_url_enabled: {\n id: 'Pricing.copy.SummaryCollectorFriendlyUrlEnabled',\n defaultMessage: 'Custom logo, colors, and survey URL',\n desc: {\n id: 'Pricing.copy.SummaryCollectorFriendlyUrlEnabled',\n message: `${TYPE_LABEL} - SummaryCollectorFriendlyUrlEnabled`,\n project: PROJECT_NAME,\n },\n },\n collector_white_label_enabled: {\n id: 'Pricing.copy.SummaryCollectorWhiteLabelEnabled',\n defaultMessage: 'White label surveys',\n desc: {\n id: 'Pricing.copy.SummaryCollectorWhiteLabelEnabled',\n message: `${TYPE_LABEL} - SummaryCollectorWhiteLabelEnabled`,\n project: PROJECT_NAME,\n },\n },\n consolidated_billing: {\n id: 'Pricing.copy.SummaryConsolidatedBilling',\n defaultMessage: 'Consolidated Billing',\n desc: {\n id: 'Pricing.copy.SummaryConsolidatedBilling',\n message: `${TYPE_LABEL} - SummaryConsolidatedBilling`,\n project: PROJECT_NAME,\n },\n },\n contributor_seats: {\n id: 'Pricing.copy.SummaryContributorSeats',\n defaultMessage: 'Add Contributor Seats',\n desc: {\n id: 'Pricing.copy.SummaryContributorSeats',\n message: `${TYPE_LABEL} - SummaryContributorSeats`,\n project: PROJECT_NAME,\n },\n },\n create_advanced_features: {\n id: 'Pricing.copy.SummaryCreateAdvancedFeatures',\n defaultMessage: 'A/B testing, randomization, quotas',\n desc: {\n id: 'Pricing.copy.SummaryCreateAdvancedFeatures',\n message: `${TYPE_LABEL} - SummaryCreateAdvancedFeatures`,\n project: PROJECT_NAME,\n },\n },\n create_custom_theme_enabled: {\n id: 'Pricing.copy.SummaryCreateCustomThemeEnabled',\n defaultMessage: 'Create Custom Theme',\n desc: {\n id: 'Pricing.copy.SummaryCreateCustomThemeEnabled',\n message: `${TYPE_LABEL} - SummaryCreateCustomThemeEnabled`,\n project: PROJECT_NAME,\n },\n },\n create_custom_variables_enabled: {\n id: 'Pricing.copy.SummaryCreateCustomVariablesEnabled',\n defaultMessage: 'Custom variables',\n desc: {\n id: 'Pricing.copy.SummaryCreateCustomVariablesEnabled',\n message: `${TYPE_LABEL} - SummaryCreateCustomVariablesEnabled`,\n project: PROJECT_NAME,\n },\n },\n create_piping_enabled: {\n id: 'Pricing.copy.SummaryCreatePipingEnabled',\n defaultMessage: 'Skip logic, question & answer piping',\n desc: {\n id: 'Pricing.copy.SummaryCreatePipingEnabled',\n message: `${TYPE_LABEL} - SummaryCreatePipingEnabled`,\n project: PROJECT_NAME,\n },\n },\n create_question_limit: {\n id: 'Pricing.copy.SummaryCreateQuestionLimit',\n defaultMessage: 'Unlimited surveys and questions',\n desc: {\n id: 'Pricing.copy.SummaryCreateQuestionLimit',\n message: `${TYPE_LABEL} - SummaryCreateQuestionLimit`,\n project: PROJECT_NAME,\n },\n },\n skip_logic: {\n id: 'Pricing.copy.SummaryCreateSkipLogicEnabled',\n defaultMessage: 'Skip logic only',\n desc: {\n id: 'Pricing.copy.SummaryCreateSkipLogicEnabled',\n message: `${TYPE_LABEL} - SummaryCreateSkipLogicEnabled`,\n project: PROJECT_NAME,\n },\n },\n create_toggle_footer_enabled: {\n id: 'Pricing.copy.SummaryCreateToggleFooterEnabled',\n defaultMessage: 'Hide SurveyMonkey footer',\n desc: {\n id: 'Pricing.copy.SummaryCreateToggleFooterEnabled',\n message: `${TYPE_LABEL} - SummaryCreateToggleFooterEnabled`,\n project: PROJECT_NAME,\n },\n },\n custom_templates: {\n id: 'Pricing.copy.SummaryCustomTemplates',\n defaultMessage: 'Custom Templates',\n desc: {\n id: 'Pricing.copy.SummaryCustomTemplates',\n message: `${TYPE_LABEL} - SummaryCustomTemplates`,\n project: PROJECT_NAME,\n },\n },\n customer_success: {\n id: 'Pricing.copy.SummaryCustomerSuccess',\n defaultMessage: 'Dedicated customer success manager***',\n desc: {\n id: 'Pricing.copy.SummaryCustomerSuccess',\n message: `${TYPE_LABEL} - SummaryCustomerSuccess`,\n project: PROJECT_NAME,\n },\n },\n download_as_ppt: {\n id: 'Pricing.copy.SummaryDownloadAsPpt',\n defaultMessage: 'Download as PPT',\n desc: {\n id: 'Pricing.copy.SummaryDownloadAsPpt',\n message: `${TYPE_LABEL} - SummaryDownloadAsPpt`,\n project: PROJECT_NAME,\n },\n },\n email_support: {\n id: 'Pricing.copy.SummaryEmailSupport',\n defaultMessage: '24/7 customer support via email',\n desc: {\n id: 'Pricing.copy.SummaryEmailSupport',\n message: `${TYPE_LABEL} - SummaryEmailSupport`,\n project: PROJECT_NAME,\n },\n },\n enable_ip_blocking: {\n id: 'Pricing.copy.SummaryEnableIpBlocking',\n defaultMessage: 'Enable IP Blocking',\n desc: {\n id: 'Pricing.copy.SummaryEnableIpBlocking',\n message: `${TYPE_LABEL} - SummaryEnableIpBlocking`,\n project: PROJECT_NAME,\n },\n },\n enhanced_governance: {\n id: 'Pricing.copy.SummaryEnhancedGovernance',\n defaultMessage: 'Enhanced governance and security features',\n desc: {\n id: 'Pricing.copy.SummaryEnhancedGovernance',\n message: `${TYPE_LABEL} - SummaryEnhancedGovernance`,\n project: PROJECT_NAME,\n },\n },\n essential_question_types: {\n id: 'Pricing.copy.SummaryEssentialQuestionTypes',\n defaultMessage: 'Essential question types',\n desc: {\n id: 'Pricing.copy.SummaryEssentialQuestionTypes',\n message: `${TYPE_LABEL} - SummaryEssentialQuestionTypes`,\n project: PROJECT_NAME,\n },\n },\n extended_piping: {\n id: 'Pricing.copy.SummaryExtendedPiping',\n defaultMessage: 'Advanced branching & piping, block randomization',\n desc: {\n id: 'Pricing.copy.SummaryExtendedPiping',\n message: `${TYPE_LABEL} - SummaryExtendedPiping`,\n project: PROJECT_NAME,\n },\n },\n extract_data: {\n id: 'Pricing.copy.SummaryExtractData',\n defaultMessage: 'Extract data',\n desc: {\n id: 'Pricing.copy.SummaryExtractData',\n message: `${TYPE_LABEL} - SummaryExtractData`,\n project: PROJECT_NAME,\n },\n },\n file_upload: {\n id: 'Pricing.copy.SummaryFileUpload',\n defaultMessage: 'File upload',\n desc: {\n id: 'Pricing.copy.SummaryFileUpload',\n message: `${TYPE_LABEL} - SummaryFileUpload`,\n project: PROJECT_NAME,\n },\n },\n flexible_plan_types: {\n id: 'Pricing.copy.SummaryFlexiblePlanTypes',\n defaultMessage: 'Flexible plan types for multiple users',\n desc: {\n id: 'Pricing.copy.SummaryFlexiblePlanTypes',\n message: `${TYPE_LABEL} - SummaryFlexiblePlanTypes`,\n project: PROJECT_NAME,\n },\n },\n footer_branding: {\n id: 'Pricing.copy.SummaryAnalyzeCanExportHideBranding',\n defaultMessage: 'Remove SurveyMonkey footer',\n desc: {\n id: 'Pricing.copy.SummaryAnalyzeCanExportHideBranding',\n message: `${TYPE_LABEL} - SummaryAnalyzeCanExportHideBranding`,\n project: PROJECT_NAME,\n },\n },\n gather_comments: {\n id: 'Pricing.copy.SummaryGatherComments',\n defaultMessage: 'Gather comments all in one place',\n desc: {\n id: 'Pricing.copy.SummaryGatherComments',\n message: `${TYPE_LABEL} - SummaryGatherComments`,\n project: PROJECT_NAME,\n },\n },\n hipaa_enabled: {\n id: 'Pricing.copy.SummaryHipaaEnabled',\n defaultMessage: 'HIPAA-compliant features***',\n desc: {\n id: 'Pricing.copy.SummaryHipaaEnabled',\n message: `${TYPE_LABEL} - SummaryHipaaEnabled`,\n project: PROJECT_NAME,\n },\n },\n integrations: {\n id: 'Pricing.copy.SummaryIntegrations',\n defaultMessage: 'Integrations with Salesforce, Marketo, Eloqua, and Tableau***',\n desc: {\n id: 'Pricing.copy.SummaryIntegrations',\n message: `${TYPE_LABEL} - `,\n project: PROJECT_NAME,\n },\n },\n kiosk_mode_inactivity_timer: {\n id: 'Pricing.copy.SummaryKioskModeInactivityTimer',\n defaultMessage: 'Kiosk Mode Inactivity Timer',\n desc: {\n id: 'Pricing.copy.SummaryKioskModeInactivityTimer',\n message: `${TYPE_LABEL} - SummaryKioskModeInactivityTimer`,\n project: PROJECT_NAME,\n },\n },\n kiosk_mode_passcode_lock: {\n id: 'Pricing.copy.SummaryKioskModePasscodeLock',\n defaultMessage: 'Kiosk Mode Passcode Lock',\n desc: {\n id: 'Pricing.copy.SummaryKioskModePasscodeLock',\n message: `${TYPE_LABEL} - SummaryKioskModePasscodeLock`,\n project: PROJECT_NAME,\n },\n },\n matrix_question_type: {\n id: 'Pricing.copy.SummaryMatrixQuestionType',\n defaultMessage: 'Matrix Question Type',\n desc: {\n id: 'Pricing.copy.SummaryMatrixQuestionType',\n message: `${TYPE_LABEL} - SummaryMatrixQuestionType`,\n project: PROJECT_NAME,\n },\n },\n multilingual: {\n id: 'Pricing.copy.SummaryMultilingual',\n defaultMessage: 'Multilingual surveys',\n desc: {\n id: 'Pricing.copy.SummaryMultilingual',\n message: `${TYPE_LABEL} - `,\n project: PROJECT_NAME,\n },\n },\n num_free_responses: {\n id: 'Pricing.copy.SummaryNumFreeResponses',\n defaultMessage: '{amount} responses per month**',\n desc: {\n id: 'Pricing.copy.SummaryNumFreeResponses',\n message: `${TYPE_LABEL} - SummaryNumFreeResponses`,\n project: PROJECT_NAME,\n },\n },\n pagination: {\n id: 'Pricing.copy.SummaryPagination',\n defaultMessage: 'Pagination',\n desc: {\n id: 'Pricing.copy.SummaryPagination',\n message: `${TYPE_LABEL} - SummaryPagination`,\n project: PROJECT_NAME,\n },\n },\n password_protection: {\n id: 'Pricing.copy.SummaryPasswordProtection',\n defaultMessage: 'Password Protection',\n desc: {\n id: 'Pricing.copy.SummaryPasswordProtection',\n message: `${TYPE_LABEL} - SummaryPasswordProtection`,\n project: PROJECT_NAME,\n },\n },\n payment_qt: {\n id: 'Pricing.copy.SummaryPaymentQT',\n defaultMessage: 'Accept payments',\n desc: {\n id: 'Pricing.copy.SummaryPaymentQT',\n message: `${TYPE_LABEL} - `,\n project: PROJECT_NAME,\n },\n },\n phone_support: {\n id: 'Pricing.copy.SummaryPhoneSupport',\n defaultMessage: 'Phone support and 24/7 email support',\n desc: {\n id: 'Pricing.copy.SummaryPhoneSupport',\n message: `${TYPE_LABEL} - SummaryPhoneSupport`,\n project: PROJECT_NAME,\n },\n },\n benchmark_logic: {\n id: 'Pricing.copy.SummaryPlansBenchmark',\n defaultMessage: 'SurveyMonkey industry benchmarks',\n desc: {\n id: 'Pricing.copy.SummaryPlansBenchmark',\n message: `${TYPE_LABEL} - SummaryPlansBenchmark`,\n project: PROJECT_NAME,\n },\n },\n pop_up_collector: {\n id: 'Pricing.copy.SummaryPopupCollector',\n defaultMessage: 'Popup Collector',\n desc: {\n id: 'Pricing.copy.SummaryPopupCollector',\n message: `${TYPE_LABEL} - SummaryPopupCollector`,\n project: PROJECT_NAME,\n },\n },\n premium_themes: {\n id: 'Pricing.copy.SummaryPremiumThemes',\n defaultMessage: 'Premium Themes',\n desc: {\n id: 'Pricing.copy.SummaryPremiumThemes',\n message: `${TYPE_LABEL} - SummaryPremiumThemes`,\n project: PROJECT_NAME,\n },\n },\n priority_email_support: {\n id: 'Pricing.copy.SummaryPrimaryEmailSupport',\n defaultMessage: '24/7 expedited email support',\n desc: {\n id: 'Pricing.copy.SummaryPrimaryEmailSupport',\n message: `${TYPE_LABEL} - SummaryPrimaryEmailSupport`,\n project: PROJECT_NAME,\n },\n },\n private_apps: {\n id: 'Pricing.copy.SummaryPrivateApps',\n defaultMessage: 'Unlimited API access***',\n desc: {\n id: 'Pricing.copy.SummaryPrivateApps',\n message: `${TYPE_LABEL} - SummaryPrivateApps`,\n project: PROJECT_NAME,\n },\n },\n progress_bar: {\n id: 'Pricing.copy.SummaryProgressBar',\n defaultMessage: 'Progress Bar',\n desc: {\n id: 'Pricing.copy.SummaryProgressBar',\n message: `${TYPE_LABEL} - SummaryProgressBar`,\n project: PROJECT_NAME,\n },\n },\n question_library: {\n id: 'Pricing.copy.SummaryQuestionLibrary',\n defaultMessage: 'Question Library',\n desc: {\n id: 'Pricing.copy.SummaryQuestionLibrary',\n message: `${TYPE_LABEL} - SummaryQuestionLibrary`,\n project: PROJECT_NAME,\n },\n },\n quizzes_pro: {\n id: 'Pricing.copy.SummaryQuizzesPro',\n defaultMessage: 'Quizzes with custom feedback',\n desc: {\n id: 'Pricing.copy.SummaryQuizzesPro',\n message: `${TYPE_LABEL} - SummaryQuizzesPro`,\n project: PROJECT_NAME,\n },\n },\n randomize_answer_choices: {\n id: 'Pricing.copy.SummaryRandomizeAnswerChoices',\n defaultMessage: 'Randomize Answer Choices',\n desc: {\n id: 'Pricing.copy.SummaryRandomizeAnswerChoices',\n message: `${TYPE_LABEL} - SummaryRandomizeAnswerChoices`,\n project: PROJECT_NAME,\n },\n },\n ranking_question_type: {\n id: 'Pricing.copy.SummaryRankingQuestionType',\n defaultMessage: 'Ranking Question Type',\n desc: {\n id: 'Pricing.copy.SummaryRankingQuestionType',\n message: `${TYPE_LABEL} - SummaryRankingQuestionType`,\n project: PROJECT_NAME,\n },\n },\n rating_question_type: {\n id: 'Pricing.copy.SummaryRatingQuestionType',\n defaultMessage: 'Rating Question Type',\n desc: {\n id: 'Pricing.copy.SummaryRatingQuestionType',\n message: `${TYPE_LABEL} - SummaryRatingQuestionType`,\n project: PROJECT_NAME,\n },\n },\n real_time_results: {\n id: 'Pricing.copy.SummaryRealTimeResults',\n defaultMessage: 'Real Time Results',\n desc: {\n id: 'Pricing.copy.SummaryRealTimeResults',\n message: `${TYPE_LABEL} - SummaryRealTimeResults`,\n project: PROJECT_NAME,\n },\n },\n record_respondent_email_address: {\n id: 'Pricing.copy.SummaryRecordRespondentEmailAddress',\n defaultMessage: 'Record Respondent Email Address',\n desc: {\n id: 'Pricing.copy.SummaryRecordRespondentEmailAddress',\n message: `${TYPE_LABEL} - SummaryRecordRespondentEmailAddress`,\n project: PROJECT_NAME,\n },\n },\n recurring_surveys: {\n id: 'Pricing.copy.SummaryRecurringSurveys',\n defaultMessage: 'Recurring Surveys',\n desc: {\n id: 'Pricing.copy.SummaryRecurringSurveys',\n message: `${TYPE_LABEL} - SummaryRecurringSurveys`,\n project: PROJECT_NAME,\n },\n },\n response_alerts: {\n id: 'Pricing.copy.SummaryResponseAlerts',\n defaultMessage: 'Notify others when you get new responses',\n desc: {\n id: 'Pricing.copy.SummaryResponseAlerts',\n message: `${TYPE_LABEL} - SummaryResponseAlerts`,\n project: PROJECT_NAME,\n },\n },\n response_quality_enabled: {\n id: 'Pricing.copy.SummaryResponseQualityEnabled',\n defaultMessage: 'Response Quality',\n desc: {\n id: 'Pricing.copy.SummaryResponseQualityEnabled',\n message: `${TYPE_LABEL} - SummaryResponseQualityEnabled`,\n project: PROJECT_NAME,\n },\n },\n send_surveys: {\n id: 'Pricing.copy.SummarySendSurveys',\n defaultMessage: 'Send Surveys',\n desc: {\n id: 'Pricing.copy.SummarySendSurveys',\n message: `${TYPE_LABEL} - SummarySendSurveys`,\n project: PROJECT_NAME,\n },\n },\n set_max_response_count: {\n id: 'Pricing.copy.SummarySetMaxResponseCount',\n defaultMessage: 'Set Max Response Count',\n desc: {\n id: 'Pricing.copy.SummarySetMaxResponseCount',\n message: `${TYPE_LABEL} - SummarySetMaxResponseCount`,\n project: PROJECT_NAME,\n },\n },\n set_survey_end_date: {\n id: 'Pricing.copy.SummarySetSurveyEndDate',\n defaultMessage: 'Set Survey End Date',\n desc: {\n id: 'Pricing.copy.SummarySetSurveyEndDate',\n message: `${TYPE_LABEL} - SummarySetSurveyEndDate`,\n project: PROJECT_NAME,\n },\n },\n share_surveys: {\n id: 'Pricing.copy.SummaryShareSurveys',\n defaultMessage: 'Share Surveys',\n desc: {\n id: 'Pricing.copy.SummaryShareSurveys',\n message: `${TYPE_LABEL} - SummaryShareSurveys`,\n project: PROJECT_NAME,\n },\n },\n shared_assets: {\n id: 'Pricing.copy.SummarySharedAssets',\n defaultMessage: 'Shared asset library for on-brand surveys',\n desc: {\n id: 'Pricing.copy.SummarySharedAssets',\n message: `${TYPE_LABEL} - SummarySharedAssets`,\n project: PROJECT_NAME,\n },\n },\n shared_library: {\n id: 'Pricing.copy.SummarySharedLibrary',\n defaultMessage: 'Shared Library',\n desc: {\n id: 'Pricing.copy.SummarySharedLibrary',\n message: `${TYPE_LABEL} - SummarySharedLibrary`,\n project: PROJECT_NAME,\n },\n },\n show_create_crosstab: {\n id: 'Pricing.copy.SummaryShowCreateCrosstab',\n defaultMessage: 'Crosstabs',\n desc: {\n id: 'Pricing.copy.SummaryShowCreateCrosstab',\n message: `${TYPE_LABEL} - SummaryShowCreateCrosstab`,\n project: PROJECT_NAME,\n },\n },\n single_sign_on: {\n id: 'Pricing.copy.SummarySingleSignOn',\n defaultMessage: 'Single sign-on (SSO)',\n desc: {\n id: 'Pricing.copy.SummarySingleSignOn',\n message: `${TYPE_LABEL} - SummarySingleSignOn`,\n project: PROJECT_NAME,\n },\n },\n slider_question_type: {\n id: 'Pricing.copy.SummarySliderQuestionType',\n defaultMessage: 'Slider Question Type',\n desc: {\n id: 'Pricing.copy.SummarySliderQuestionType',\n message: `${TYPE_LABEL} - SummarySliderQuestionType`,\n project: PROJECT_NAME,\n },\n },\n statistical_significance: {\n id: 'Pricing.copy.SummaryStatisticalSignificance',\n defaultMessage: 'Text analysis & statistical significance',\n desc: {\n id: 'Pricing.copy.SummaryStatisticalSignificance',\n message: `${TYPE_LABEL} - SummaryStatisticalSignificance`,\n project: PROJECT_NAME,\n },\n },\n survey_branding: {\n id: 'Pricing.copy.SummarySurveyBranding',\n defaultMessage: 'Custom logo, colors, and survey URL',\n desc: {\n id: 'Pricing.copy.SummarySurveyBranding',\n message: `${TYPE_LABEL} - SummarySurveyBranding`,\n project: PROJECT_NAME,\n },\n },\n survey_create_limit: {\n id: 'Pricing.copy.SummarySurveyCreateLimit',\n defaultMessage: 'Unlimited number of surveys',\n desc: {\n id: 'Pricing.copy.SummarySurveyCreateLimit',\n message: `${TYPE_LABEL} - SummarySurveyCreateLimit`,\n project: PROJECT_NAME,\n },\n },\n team_activity: {\n id: 'Pricing.copy.SummaryTeamActivity',\n defaultMessage: 'Activity tracking through audit logs',\n desc: {\n id: 'Pricing.copy.SummaryTeamActivity',\n message: `${TYPE_LABEL} - SummaryTeamActivity`,\n project: PROJECT_NAME,\n },\n },\n team_logic: {\n id: 'Pricing.copy.SummaryTeamLogic',\n defaultMessage: 'Add or reassign accounts at any time',\n desc: {\n id: 'Pricing.copy.SummaryTeamLogic',\n message: `${TYPE_LABEL} - SummaryTeamLogic`,\n project: PROJECT_NAME,\n },\n },\n team_ownership: {\n id: 'Pricing.copy.SummaryTeamOwnership',\n defaultMessage: 'Team Ownership',\n desc: {\n id: 'Pricing.copy.SummaryTeamOwnership',\n message: `${TYPE_LABEL} - SummaryTeamOwnership`,\n project: PROJECT_NAME,\n },\n },\n team_themes: {\n id: 'Pricing.copy.SummaryTeamThemes',\n defaultMessage: 'Team Themes',\n desc: {\n id: 'Pricing.copy.SummaryTeamThemes',\n message: `${TYPE_LABEL} - SummaryTeamThemes`,\n project: PROJECT_NAME,\n },\n },\n text_analysis: {\n id: 'Pricing.copy.SummaryTextAnalysis',\n defaultMessage: 'Text analysis',\n desc: {\n id: 'Pricing.copy.SummaryTextAnalysis',\n message: `${TYPE_LABEL} - SummaryTextAnalysis`,\n project: PROJECT_NAME,\n },\n },\n text_formatting: {\n id: 'Pricing.copy.SummaryTextFormatting',\n defaultMessage: 'Text Formatting',\n desc: {\n id: 'Pricing.copy.SummaryTextFormatting',\n message: `${TYPE_LABEL} - SummaryTextFormatting`,\n project: PROJECT_NAME,\n },\n },\n track_email_responses: {\n id: 'Pricing.copy.SummaryTrackEmailResponses',\n defaultMessage: 'Track Email Responses',\n desc: {\n id: 'Pricing.copy.SummaryTrackEmailResponses',\n message: `${TYPE_LABEL} - SummaryTrackEmailResponses`,\n project: PROJECT_NAME,\n },\n },\n unlimited_questions: {\n id: 'Pricing.copy.SummaryUnlimitedQuestions',\n defaultMessage: 'Unlimited questions per survey',\n desc: {\n id: 'Pricing.copy.SummaryUnlimitedQuestions',\n message: `${TYPE_LABEL} - SummaryUnlimitedQuestions`,\n project: PROJECT_NAME,\n },\n },\n unlimited_responses: {\n id: 'Pricing.copy.SummaryUnlimitedResponses',\n defaultMessage: 'Unlimited surveys and questions',\n desc: {\n id: 'Pricing.copy.SummaryUnlimitedResponses',\n message: `${TYPE_LABEL} - SummaryUnlimitedResponses`,\n project: PROJECT_NAME,\n },\n },\n user_management: {\n id: 'Pricing.copy.SummaryUserManagement',\n defaultMessage: 'User Management',\n desc: {\n id: 'Pricing.copy.SummaryUserManagement',\n message: `${TYPE_LABEL} - SummaryUserManagement`,\n project: PROJECT_NAME,\n },\n },\n validate_answer: {\n id: 'Pricing.copy.SummaryValidateAnswer',\n defaultMessage: 'Validate Answer',\n desc: {\n id: 'Pricing.copy.SummaryValidateAnswer',\n message: `${TYPE_LABEL} - SummaryValidateAnswer`,\n project: PROJECT_NAME,\n },\n },\n video_question_type: {\n id: 'Pricing.copy.SummaryVideoQuestionType',\n defaultMessage: 'Video Question Type',\n desc: {\n id: 'Pricing.copy.SummaryVideoQuestionType',\n message: `${TYPE_LABEL} - SummaryVideoQuestionType`,\n project: PROJECT_NAME,\n },\n },\n view_respondent_ip_address: {\n id: 'Pricing.copy.SummaryViewRespondentIpAddress',\n defaultMessage: `View respondent's IP address`,\n desc: {\n id: 'Pricing.copy.SummaryViewRespondentIpAddress',\n message: `${TYPE_LABEL} - SummaryViewRespondentIpAddress`,\n project: PROJECT_NAME,\n },\n },\n});\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst TYPE_LABEL = '[Type: Label][Vis: high] - Feature Set List Item';\nconst GLOBAL_BENCHMARKS = 'SurveyMonkey Global Benchmarks';\nconst RESPONSES_PER_YEAR = 'Number of responses';\nconst SHARED_LIBRARY = 'Shared library';\n\nexport default defineMessages({\n '508_accessibility': {\n id: 'Pricing.copy.Details508Accessibility',\n defaultMessage: 'Fully accessible, 508 compliant surveys',\n desc: {\n id: 'Pricing.copy.Details508Accessibility',\n message: `${TYPE_LABEL} - Details508Accessibility`,\n project: PROJECT_NAME,\n },\n },\n a_b_testing: {\n id: 'Pricing.copy.DetailsABTesting',\n defaultMessage: 'A/B test question type',\n desc: {\n id: 'Pricing.copy.DetailsABTesting',\n message: `${TYPE_LABEL} - DetailsABTesting`,\n project: PROJECT_NAME,\n },\n },\n account_control: {\n id: 'Pricing.copy.DetailsAccountControl',\n defaultMessage: 'Account control',\n desc: {\n id: 'Pricing.copy.DetailsAccountControl',\n message: `${TYPE_LABEL} - DetailsAccountControl`,\n project: PROJECT_NAME,\n },\n },\n add_users: {\n id: 'Pricing.copy.DetailsAddUsers',\n defaultMessage: 'Additional Full User Accounts',\n desc: {\n id: 'Pricing.copy.DetailsAddUsers',\n message: `${TYPE_LABEL} - DetailsAddUsers`,\n project: PROJECT_NAME,\n },\n },\n admin_dashboard: {\n id: 'Pricing.copy.DetailsAdminDashboard',\n defaultMessage: 'Admin dashboard',\n desc: {\n id: 'Pricing.copy.DetailsAdminDashboard',\n message: `${TYPE_LABEL} - DetailsAdminDashboard`,\n project: PROJECT_NAME,\n },\n },\n advanced_logic: {\n id: 'Pricing.copy.DetailsAdvancedLogic',\n defaultMessage: 'Advanced survey logic',\n desc: {\n id: 'Pricing.copy.DetailsAdvancedLogic',\n message: `${TYPE_LABEL} - DetailsAdvancedLogic`,\n project: PROJECT_NAME,\n },\n },\n advanced_survey_features: {\n id: 'Pricing.copy.DetailsAdvancedSurveyFeatures',\n defaultMessage: 'A/B testing, randomization, quotas',\n desc: {\n id: 'Pricing.copy.DetailsAdvancedSurveyFeatures',\n message: `${TYPE_LABEL} - DetailsAdvancedSurveyFeatures`,\n project: PROJECT_NAME,\n },\n },\n all_languages_supported: {\n id: 'Pricing.copy.DetailsAllLanguagesSupported',\n defaultMessage: 'All languages supported',\n desc: {\n id: 'Pricing.copy.DetailsAllLanguagesSupported',\n message: `${TYPE_LABEL} - DetailsAllLanguagesSupported`,\n project: PROJECT_NAME,\n },\n },\n analyze_can_customize_charts: {\n id: 'Pricing.copy.DetailsAnalyzeCanCustomizeCharts',\n defaultMessage: 'Generate custom charts & reports',\n desc: {\n id: 'Pricing.copy.DetailsAnalyzeCanCustomizeCharts',\n message: `${TYPE_LABEL} - DetailsAnalyzeCanCustomizeCharts`,\n project: PROJECT_NAME,\n },\n },\n analyze_can_export_hide_branding: {\n id: 'Pricing.copy.DetailsAnalyzeCanExportHideBranding',\n defaultMessage: 'Remove SurveyMonkey footer',\n desc: {\n id: 'Pricing.copy.DetailsAnalyzeCanExportHideBranding',\n message: `${TYPE_LABEL} - DetailsAnalyzeCanExportHideBranding`,\n project: PROJECT_NAME,\n },\n },\n analyze_can_share_customize_branding: {\n id: 'Pricing.copy.DetailsAnalyzeCanShareCustomizeBranding',\n defaultMessage: 'Add your logo',\n desc: {\n id: 'Pricing.copy.DetailsAnalyzeCanShareCustomizeBranding',\n message: `${TYPE_LABEL} - DetailsAnalyzeCanShareCustomizeBranding`,\n project: PROJECT_NAME,\n },\n },\n analyze_can_ta_tag: {\n id: 'Pricing.copy.DetailsAnalyzeCanTATag',\n defaultMessage: 'Tag written answers',\n desc: {\n id: 'Pricing.copy.DetailsAnalyzeCanTATag',\n message: `${TYPE_LABEL} - DetailsAnalyzeCanTATag`,\n project: PROJECT_NAME,\n },\n },\n analyze_combine_filters: {\n id: 'Pricing.copy.DetailsCombineFilters',\n defaultMessage: 'Filter & compare results',\n desc: {\n id: 'Pricing.copy.DetailsCombineFilters',\n message: `${TYPE_LABEL} - DetailsCombineFilters`,\n project: PROJECT_NAME,\n },\n },\n analyze_dashboard_password_enabled: {\n id: 'Pricing.copy.DetailsAnalyzeDashboardPasswordEnabled',\n defaultMessage: 'Dashboard: Password protection',\n desc: {\n id: 'Pricing.copy.DetailsAnalyzeDashboardPasswordEnabled',\n message: `${TYPE_LABEL} - DetailsAnalyzeDashboardPasswordEnabled`,\n project: PROJECT_NAME,\n },\n },\n analyze_export_enabled: {\n id: 'Pricing.copy.DetailsAnalyzeExportEnabled',\n defaultMessage: 'Download results as CSV, XLS or PDF',\n desc: {\n id: 'Pricing.copy.DetailsAnalyzeExportEnabled',\n message: `${TYPE_LABEL} - DetailsAnalyzeExportEnabled`,\n project: PROJECT_NAME,\n },\n },\n analyze_export_spss_enabled: {\n id: 'Pricing.copy.DetailsAnalyzeExportSpssEnabled',\n defaultMessage: 'Export to SPSS',\n desc: {\n id: 'Pricing.copy.DetailsAnalyzeExportSpssEnabled',\n message: `${TYPE_LABEL} - DetailsAnalyzeExportSpssEnabled`,\n project: PROJECT_NAME,\n },\n },\n analyze_integrations: {\n id: 'Pricing.copy.DetailsAnalyzeIntegrations',\n defaultMessage: 'Extract data',\n desc: {\n id: 'Pricing.copy.DetailsAnalyzeIntegrations',\n message: `${TYPE_LABEL} - DetailsAnalyzeIntegrations`,\n project: PROJECT_NAME,\n },\n },\n analyze_results_together: {\n id: 'Pricing.copy.DetailsAnalyzeResultsTogether',\n defaultMessage: 'Analyze results together',\n desc: {\n id: 'Pricing.copy.DetailsAnalyzeResultsTogether',\n message: `${TYPE_LABEL} - DetailsAnalyzeResultsTogether`,\n project: PROJECT_NAME,\n },\n },\n analyze_sentiment_enabled: {\n id: 'Pricing.copy.DetailsAnalyzeSentimentEnabled',\n defaultMessage: 'Sentiment analysis',\n desc: {\n id: 'Pricing.copy.DetailsAnalyzeSentimentEnabled',\n message: `${TYPE_LABEL} - DetailsAnalyzeSentimentEnabled`,\n project: PROJECT_NAME,\n },\n },\n analyze_ta_enabled: {\n id: 'Pricing.copy.DetailsAnalyzeTAEnabled',\n defaultMessage: 'Word clouds',\n desc: {\n id: 'Pricing.copy.DetailsAnalyzeTAEnabled',\n message: `${TYPE_LABEL} - DetailsAnalyzeTAEnabled`,\n project: PROJECT_NAME,\n },\n },\n analyze_trends_enabled: {\n id: 'Pricing.copy.DetailsAnalyzeTrendsEnabled',\n defaultMessage: 'Data trends',\n desc: {\n id: 'Pricing.copy.DetailsAnalyzeTrendsEnabled',\n message: `${TYPE_LABEL} - DetailsAnalyzeTrendsEnabled`,\n project: PROJECT_NAME,\n },\n },\n asset_library: {\n id: 'Pricing.copy.DetailsAssetLibrary',\n defaultMessage: SHARED_LIBRARY,\n desc: {\n id: 'Pricing.copy.DetailsAssetLibrary',\n message: `${TYPE_LABEL} - DetailsAssetLibrary`,\n project: PROJECT_NAME,\n },\n },\n base_response_count: {\n id: 'Pricing.copy.DetailsBaseResponseCount',\n defaultMessage: RESPONSES_PER_YEAR,\n desc: {\n id: 'Pricing.copy.DetailsBaseResponseCount',\n message: `${TYPE_LABEL} - DetailsBaseResponseCount`,\n project: PROJECT_NAME,\n },\n },\n benchmarks: {\n id: 'Pricing.copy.DetailsBenchmarks',\n defaultMessage: 'SurveyMonkey Industry Benchmarks',\n desc: {\n id: 'Pricing.copy.DetailsBenchmarks',\n message: `${TYPE_LABEL} - DetailsBenchmarks`,\n project: PROJECT_NAME,\n },\n },\n build_surveys_together: {\n id: 'Pricing.copy.DetailsBuildSurveysTogether',\n defaultMessage: 'Build surveys together',\n desc: {\n id: 'Pricing.copy.DetailsBuildSurveysTogether',\n message: `${TYPE_LABEL} - DetailsBuildSurveysTogether`,\n project: PROJECT_NAME,\n },\n },\n carry_forward: {\n id: 'Pricing.copy.DetailsCarryForward',\n defaultMessage: 'Carry forward responses',\n desc: {\n id: 'Pricing.copy.DetailsCarryForward',\n message: `${TYPE_LABEL} - DetailsCarryForward`,\n project: PROJECT_NAME,\n },\n },\n click_map_qt: {\n id: 'Pricing.copy.DetailsClickMapQT',\n defaultMessage: 'Click map data visualization',\n desc: {\n id: 'Pricing.copy.DetailsClickMapQT',\n message: `${TYPE_LABEL} - DetailsClickMapQT`,\n project: PROJECT_NAME,\n },\n },\n collaboration: {\n id: 'Pricing.copy.DetailsCollaboration',\n defaultMessage: 'Advanced permissions',\n desc: {\n id: 'Pricing.copy.DetailsCollaboration',\n message: `${TYPE_LABEL} - DetailsCollaboration`,\n project: PROJECT_NAME,\n },\n },\n collect_contact_information: {\n id: 'Pricing.copy.DetailsCollectContactInformation',\n defaultMessage: 'Collect contact information',\n desc: {\n id: 'Pricing.copy.DetailsCollectContactInformation',\n message: `${TYPE_LABEL} - DetailsCollectContactInformation`,\n project: PROJECT_NAME,\n },\n },\n collector_completion_url_enabled: {\n id: 'Pricing.copy.DetailsCollectorCompletionUrlEnabled',\n defaultMessage: 'Survey completion redirect',\n desc: {\n id: 'Pricing.copy.DetailsCollectorCompletionUrlEnabled',\n message: `${TYPE_LABEL} - DetailsCollectorCompletionUrlEnabled`,\n project: PROJECT_NAME,\n },\n },\n collector_create_limit: {\n id: 'Pricing.copy.DetailsCollectorCreateLimit',\n defaultMessage: 'Number of collectors',\n desc: {\n id: 'Pricing.copy.DetailsCollectorCreateLimit',\n message: `${TYPE_LABEL} - DetailsCollectorCreateLimit`,\n project: PROJECT_NAME,\n },\n },\n collector_mobile_sdk_enabled: {\n id: 'Pricing.copy.DetailsCollectorMobileSdkEnabled',\n defaultMessage: 'Mobile SDK',\n desc: {\n id: 'Pricing.copy.DetailsCollectorMobileSdkEnabled',\n message: `${TYPE_LABEL} - DetailsCollectorMobileSdkEnabled`,\n project: PROJECT_NAME,\n },\n },\n collector_popup_enabled: {\n id: 'Pricing.copy.DetailsCollectorPopupEnabled',\n defaultMessage: 'Pop up online surveys',\n desc: {\n id: 'Pricing.copy.DetailsCollectorPopupEnabled',\n message: `${TYPE_LABEL} - DetailsCollectorPopupEnabled`,\n project: PROJECT_NAME,\n },\n },\n collector_friendly_url_enabled: {\n id: 'Pricing.copy.DetailsCollectorFriendlyUrlEnabled',\n defaultMessage: 'Custom SurveyMonkey URL',\n desc: {\n id: 'Pricing.copy.DetailsCollectorFriendlyUrlEnabled',\n message: `${TYPE_LABEL} - DetailsCollectorFriendlyUrlEnabled`,\n project: PROJECT_NAME,\n },\n },\n collector_thank_you_enabled: {\n id: 'Pricing.copy.DetailsCollectorThankYouEnabled',\n defaultMessage: `Display a 'thank you' page`,\n desc: {\n id: 'Pricing.copy.DetailsCollectorThankYouEnabled',\n message: `${TYPE_LABEL} - DetailsCollectorThankYouEnabled`,\n project: PROJECT_NAME,\n },\n },\n collector_white_label_enabled: {\n id: 'Pricing.copy.DetailsCollectorWhiteLabelEnabled',\n defaultMessage: 'White label surveys',\n desc: {\n id: 'Pricing.copy.DetailsCollectorWhiteLabelEnabled',\n message: `${TYPE_LABEL} - DetailsCollectorWhiteLabelEnabled`,\n project: PROJECT_NAME,\n },\n },\n consolidated_billing: {\n id: 'Pricing.copy.DetailsConsolidatedBilling',\n defaultMessage: 'Consolidated billing',\n desc: {\n id: 'Pricing.copy.DetailsConsolidatedBilling',\n message: `${TYPE_LABEL} - DetailsConsolidatedBilling`,\n project: PROJECT_NAME,\n },\n },\n contributor_seats: {\n id: 'Pricing.copy.DetailsContributorSeats',\n defaultMessage: 'Contributor Seats',\n desc: {\n id: 'Pricing.copy.DetailsContributorSeats',\n message: `${TYPE_LABEL} - DetailsContributorSeats`,\n project: PROJECT_NAME,\n },\n },\n create_custom_html_email_message_enabled: {\n id: 'Pricing.copy.DetailsCreateCustomHtmlEmailMessageEnabled',\n defaultMessage: 'Custom HTML email invitations',\n desc: {\n id: 'Pricing.copy.DetailsCreateCustomHtmlEmailMessageEnabled',\n message: `${TYPE_LABEL} - DetailsCreateCustomHtmlEmailMessageEnabled`,\n project: PROJECT_NAME,\n },\n },\n create_custom_theme_enabled: {\n id: 'Pricing.copy.DetailsCreateCustomThemeEnabled',\n defaultMessage: 'Custom themes, colors & more',\n desc: {\n id: 'Pricing.copy.DetailsCreateCustomThemeEnabled',\n message: `${TYPE_LABEL} - DetailsCreateCustomThemeEnabled`,\n project: PROJECT_NAME,\n },\n },\n create_custom_variables_enabled: {\n id: 'Pricing.copy.DetailsCreateCustomVariablesEnabled',\n defaultMessage: 'Custom variables',\n desc: {\n id: 'Pricing.copy.DetailsCreateCustomVariablesEnabled',\n message: `${TYPE_LABEL} - DetailsCreateCustomVariablesEnabled`,\n project: PROJECT_NAME,\n },\n },\n create_grayscale_footer: {\n id: 'Pricing.copy.DetailsCreateGrayscaleFooter',\n defaultMessage: 'Subtle SurveyMonkey footer',\n desc: {\n id: 'Pricing.copy.DetailsCreateGrayscaleFooter',\n message: `${TYPE_LABEL} - DetailsCreateGrayscaleFooter`,\n project: PROJECT_NAME,\n },\n },\n create_logo_enabled: {\n id: 'Pricing.copy.DetailsCreateLogoEnabled',\n defaultMessage: 'Add your logo',\n desc: {\n id: 'Pricing.copy.DetailsCreateLogoEnabled',\n message: `${TYPE_LABEL} - `,\n project: PROJECT_NAME,\n },\n },\n create_piping_enabled: {\n id: 'Pricing.copy.DetailsCreatePipingEnabled',\n defaultMessage: 'Question & answer piping',\n desc: {\n id: 'Pricing.copy.DetailsCreatePipingEnabled',\n message: `${TYPE_LABEL} - DetailsCreatePipingEnabled`,\n project: PROJECT_NAME,\n },\n },\n create_print_enabled: {\n id: 'Pricing.copy.DetailsCreatePrintEnabled',\n defaultMessage: 'Print reports',\n desc: {\n id: 'Pricing.copy.DetailsCreatePrintEnabled',\n message: `${TYPE_LABEL} - DetailsCreatePrintEnabled`,\n project: PROJECT_NAME,\n },\n },\n create_question_limit: {\n id: 'Pricing.copy.DetailsCreateQuestionLimit',\n defaultMessage: 'Questions per survey',\n desc: {\n id: 'Pricing.copy.DetailsCreateQuestionLimit',\n message: `${TYPE_LABEL} - DetailsCreateQuestionLimit`,\n project: PROJECT_NAME,\n },\n },\n create_quotas_enabled: {\n id: 'Pricing.copy.DetailsCreateQuotasEnabled',\n defaultMessage: 'Response quotas',\n desc: {\n id: 'Pricing.copy.DetailsCreateQuotasEnabled',\n message: `${TYPE_LABEL} - DetailsCreateQuotasEnabled`,\n project: PROJECT_NAME,\n },\n },\n create_randomization_enabled: {\n id: 'Pricing.copy.DetailsCreateRandomizationEnabled',\n defaultMessage: 'Question & page randomization',\n desc: {\n id: 'Pricing.copy.DetailsCreateRandomizationEnabled',\n message: `${TYPE_LABEL} - DetailsCreateRandomizationEnabled`,\n project: PROJECT_NAME,\n },\n },\n create_skip_logic_enabled: {\n id: 'Pricing.copy.DetailsCreateSkipLogicEnabled',\n defaultMessage: 'Question & page skip logic',\n desc: {\n id: 'Pricing.copy.DetailsCreateSkipLogicEnabled',\n message: `${TYPE_LABEL} - DetailsCreateSkipLogicEnabled`,\n project: PROJECT_NAME,\n },\n },\n create_templates_enabled: {\n id: 'Pricing.copy.DetailsCreateTemplatesEnabled',\n defaultMessage: 'Expert, pre-written survey templates',\n desc: {\n id: 'Pricing.copy.DetailsCreateTemplatesEnabled',\n message: `${TYPE_LABEL} - DetailsCreateTemplatesEnabled`,\n project: PROJECT_NAME,\n },\n },\n create_toggle_footer_enabled: {\n id: 'Pricing.copy.DetailsCreateToggleFooterEnabled',\n defaultMessage: 'Remove SurveyMonkey footer',\n desc: {\n id: 'Pricing.copy.DetailsCreateToggleFooterEnabled',\n message: `${TYPE_LABEL} - DetailsCreateToggleFooterEnabled`,\n project: PROJECT_NAME,\n },\n },\n custom_question_bank: {\n id: 'Pricing.copy.DetailsCustomQuestionBank',\n defaultMessage: 'Custom Question Bank',\n desc: {\n id: 'Pricing.copy.DetailsCustomQuestionBank',\n message: `${TYPE_LABEL} - DetailsCustomQuestionBank`,\n project: PROJECT_NAME,\n },\n },\n custom_subdomain: {\n id: 'Pricing.copy.DetailsCustomSubdomain',\n defaultMessage: 'Custom subdomain',\n desc: {\n id: 'Pricing.copy.DetailsCustomSubdomain',\n message: `${TYPE_LABEL} - DetailsCustomSubdomain`,\n project: PROJECT_NAME,\n },\n },\n custom_templates: {\n id: 'Pricing.copy.DetailsCustomTemplates',\n defaultMessage: 'Shared templates',\n desc: {\n id: 'Pricing.copy.DetailsCustomTemplates',\n message: `${TYPE_LABEL} - DetailsCustomTemplates`,\n project: PROJECT_NAME,\n },\n },\n custom_terms_of_use: {\n id: 'Pricing.copy.DetailsCustomTermsOfUse',\n defaultMessage: 'Custom Terms of Use',\n desc: {\n id: 'Pricing.copy.DetailsCustomTermsOfUse',\n message: `${TYPE_LABEL} - DetailsCustomTermsOfUse`,\n project: PROJECT_NAME,\n },\n },\n customize_disqualification_page_enabled: {\n id: 'Pricing.copy.DetailsCustomizeDisqualificationPageEnabled',\n defaultMessage: 'Display disqualification page',\n desc: {\n id: 'Pricing.copy.DetailsCustomizeDisqualificationPageEnabled',\n message: `${TYPE_LABEL} - DetailsCustomizeDisqualificationPageEnabled`,\n project: PROJECT_NAME,\n },\n },\n customer_success_manager: {\n id: 'Pricing.copy.DetailsCustomerSuccessManager',\n defaultMessage: 'Customer Success Manager',\n desc: {\n id: 'Pricing.copy.DetailsCustomerSuccessManager',\n message: `${TYPE_LABEL} - DetailsCustomerSuccessManager`,\n project: PROJECT_NAME,\n },\n },\n dashboard: {\n id: 'Pricing.copy.DetailsDashboard',\n defaultMessage: 'Dashboard',\n desc: {\n id: 'Pricing.copy.DetailsDashboard',\n message: `${TYPE_LABEL} - DetailsDashboard`,\n project: PROJECT_NAME,\n },\n },\n download_as_ppt: {\n id: 'Pricing.copy.DetailsDownloadAsPpt',\n defaultMessage: 'Download results in PPT format',\n desc: {\n id: 'Pricing.copy.DetailsDownloadAsPpt',\n message: `${TYPE_LABEL} - DetailsDownloadAsPpt`,\n project: PROJECT_NAME,\n },\n },\n email_support: {\n id: 'Pricing.copy.DetailsEmailSupport',\n defaultMessage: '24/7 email support',\n desc: {\n id: 'Pricing.copy.DetailsEmailSupport',\n message: `${TYPE_LABEL} - DetailsEmailSupport`,\n project: PROJECT_NAME,\n },\n },\n enable_ip_blocking: {\n id: 'Pricing.copy.DetailsEnableIpBlocking',\n defaultMessage: 'Enable IP Blocking',\n desc: {\n id: 'Pricing.copy.DetailsEnableIpBlocking',\n message: `${TYPE_LABEL} - DetailsEnableIpBlocking`,\n project: PROJECT_NAME,\n },\n },\n essential_question_types: {\n id: 'Pricing.copy.DetailsEssentialQuestionTypes',\n defaultMessage: 'Essential question types',\n desc: {\n id: 'Pricing.copy.DetailsEssentialQuestionTypes',\n message: `${TYPE_LABEL} - DetailsEssentialQuestionTypes`,\n project: PROJECT_NAME,\n },\n },\n extract_data: {\n id: 'Pricing.copy.DetailsExtractData',\n defaultMessage: 'Extract data',\n desc: {\n id: 'Pricing.copy.DetailsExtractData',\n message: `${TYPE_LABEL} - DetailsExtractData`,\n project: PROJECT_NAME,\n },\n },\n file_upload: {\n id: 'Pricing.copy.DetailsFileUpload',\n defaultMessage: 'File upload',\n desc: {\n id: 'Pricing.copy.DetailsFileUpload',\n message: `${TYPE_LABEL} - DetailsFileUpload`,\n project: PROJECT_NAME,\n },\n },\n global_settings: {\n id: 'Pricing.copy.DetailsGlobalSettings',\n defaultMessage: 'Global settings',\n desc: {\n id: 'Pricing.copy.DetailsGlobalSettings',\n message: `${TYPE_LABEL} - DetailsGlobalSettings`,\n project: PROJECT_NAME,\n },\n },\n hipaa_enabled: {\n id: 'Pricing.copy.DetailsHipaaEnabled',\n defaultMessage: 'HIPAA-compliant features',\n desc: {\n id: 'Pricing.copy.DetailsHipaaEnabled',\n message: `${TYPE_LABEL} - DetailsHipaaEnabled`,\n project: PROJECT_NAME,\n },\n },\n enterprise_only_integrations: {\n id: 'Pricing.copy.DetailsEnterpriseOnlyIntegrations',\n defaultMessage: 'Enterprise-only integrations',\n desc: {\n id: 'Pricing.copy.DetailsEnterpriseOnlyIntegrations',\n message: `${TYPE_LABEL} - DetailsEnterpriseOnlyIntegrations`,\n project: PROJECT_NAME,\n },\n },\n kiosk_mode_inactivity_timer: {\n id: 'Pricing.copy.DetailsKioskModeInactivityTimer',\n defaultMessage: 'Kiosk Mode: Inactivity Timer',\n desc: {\n id: 'Pricing.copy.DetailsKioskModeInactivityTimer',\n message: `${TYPE_LABEL} - DetailsKioskModeInactivityTimer`,\n project: PROJECT_NAME,\n },\n },\n kiosk_mode_passcode_lock: {\n id: 'Pricing.copy.DetailsKioskModePasscodeLock',\n defaultMessage: 'Kiosk Mode: Passcode Lock',\n desc: {\n id: 'Pricing.copy.DetailsKioskModePasscodeLock',\n message: `${TYPE_LABEL} - DetailsKioskModePasscodeLock`,\n project: PROJECT_NAME,\n },\n },\n labeling_titles_numbering: {\n id: 'Pricing.copy.DetailsLabelingTitlesNumbering',\n defaultMessage: 'Labeling, titles & numbering',\n desc: {\n id: 'Pricing.copy.DetailsLabelingTitlesNumbering',\n message: `${TYPE_LABEL} - DetailsLabelingTitlesNumbering`,\n project: PROJECT_NAME,\n },\n },\n matrix_question_type: {\n id: 'Pricing.copy.DetailsMatrixQuestionType',\n defaultMessage: 'Matrix questions',\n desc: {\n id: 'Pricing.copy.DetailsMatrixQuestionType',\n message: `${TYPE_LABEL} - DetailsMatrixQuestionType`,\n project: PROJECT_NAME,\n },\n },\n menu_matrix_enabled: {\n id: 'Pricing.copy.DetailsMenuMatrixEnabled',\n defaultMessage: 'Matrix of dropdown menus',\n desc: {\n id: 'Pricing.copy.DetailsMenuMatrixEnabled',\n message: `${TYPE_LABEL} - DetailsMenuMatrixEnabled`,\n project: PROJECT_NAME,\n },\n },\n mobile_apps_ios_android: {\n id: 'Pricing.copy.DetailsMobileAppsIOSAndAndroid',\n defaultMessage: 'Mobile apps for iOS and Android',\n desc: {\n id: 'Pricing.copy.DetailsMobileAppsIOSAndAndroid',\n message: `${TYPE_LABEL} - DetailsMobileAppsIOSAndAndroid`,\n project: PROJECT_NAME,\n },\n },\n mobile_sdk_pull_response_data_enabled: {\n id: 'Pricing.copy.DetailsMobileSdkPullResponseDataEnabled',\n defaultMessage: 'Mobile SDK - Data Pull',\n desc: {\n id: 'Pricing.copy.DetailsMobileSdkPullResponseDataEnabled',\n message: `${TYPE_LABEL} - DetailsMobileSdkPullResponseDataEnabled`,\n project: PROJECT_NAME,\n },\n },\n multilingual: {\n id: 'Pricing.copy.DetailsMultilingual',\n defaultMessage: 'Multilingual surveys',\n desc: {\n id: 'Pricing.copy.DetailsMultilingual',\n message: `${TYPE_LABEL} - DetailsMultilingual`,\n project: PROJECT_NAME,\n },\n },\n multiple_block_rotation_enabled: {\n id: 'Pricing.copy.DetailsMultipleBlockRotationEnabled',\n defaultMessage: 'Block randomization',\n desc: {\n id: 'Pricing.copy.DetailsMultipleBlockRotationEnabled',\n message: `${TYPE_LABEL} - DetailsMultipleBlockRotationEnabled`,\n project: PROJECT_NAME,\n },\n },\n num_free_responses: {\n id: 'Pricing.copy.DetailsNumFreeResponses',\n defaultMessage: RESPONSES_PER_YEAR,\n desc: {\n id: 'Pricing.copy.DetailsNumFreeResponses',\n message: `${TYPE_LABEL} - DetailsNumFreeResponses`,\n project: PROJECT_NAME,\n },\n },\n onboarding: {\n id: 'Pricing.copy.DetailsOnboarding',\n defaultMessage: 'Onboarding',\n desc: {\n id: 'Pricing.copy.DetailsOnboarding',\n message: `${TYPE_LABEL} - DetailsOnboarding`,\n project: PROJECT_NAME,\n },\n },\n pagination: {\n id: 'Pricing.copy.DetailsPagination',\n defaultMessage: 'Pagination',\n desc: {\n id: 'Pricing.copy.DetailsPagination',\n message: `${TYPE_LABEL} - DetailsPagination`,\n project: PROJECT_NAME,\n },\n },\n password_protection: {\n id: 'Pricing.copy.DetailsPasswordProtection',\n defaultMessage: 'Password-protected surveys',\n desc: {\n id: 'Pricing.copy.DetailsPasswordProtection',\n message: `${TYPE_LABEL} - DetailsPasswordProtection`,\n project: PROJECT_NAME,\n },\n },\n payment_qt: {\n id: 'Pricing.copy.DetailsPaymentQT',\n defaultMessage: 'Accept payments',\n desc: {\n id: 'Pricing.copy.DetailsPaymentQT',\n message: `${TYPE_LABEL} - DetailsPaymentQT`,\n project: PROJECT_NAME,\n },\n },\n phone_support: {\n id: 'Pricing.copy.DetailsPhoneSupport',\n defaultMessage: 'Phone support',\n desc: {\n id: 'Pricing.copy.DetailsPhoneSupport',\n message: `${TYPE_LABEL} - DetailsPhoneSupport`,\n project: PROJECT_NAME,\n },\n },\n plans_benchmarks: {\n id: 'Pricing.copy.DetailsPlansBenchmark',\n defaultMessage: GLOBAL_BENCHMARKS,\n desc: {\n id: 'Pricing.copy.DetailsPlansBenchmark',\n message: `${TYPE_LABEL} - DetailsPlansBenchmark`,\n project: PROJECT_NAME,\n },\n },\n pop_up_collector: {\n id: 'Pricing.copy.DetailsPopupCollector',\n defaultMessage: 'Pop up online surveys',\n desc: {\n id: 'Pricing.copy.DetailsPopupCollector',\n message: `${TYPE_LABEL} - DetailsPopupCollector`,\n project: PROJECT_NAME,\n },\n },\n premium_themes: {\n id: 'Pricing.copy.DetailsPremiumThemes',\n defaultMessage: 'Premium themes',\n desc: {\n id: 'Pricing.copy.DetailsPremiumThemes',\n message: `${TYPE_LABEL} - DetailsPremiumThemes`,\n project: PROJECT_NAME,\n },\n },\n priority_email_support: {\n id: 'Pricing.copy.DetailsPrimaryEmailSupport',\n defaultMessage: 'Expedited email support',\n desc: {\n id: 'Pricing.copy.DetailsPrimaryEmailSupport',\n message: `${TYPE_LABEL} - DetailsPrimaryEmailSupport`,\n project: PROJECT_NAME,\n },\n },\n private_apps: {\n id: 'Pricing.copy.DetailsPrivateApps',\n defaultMessage: 'Unlimited API access',\n desc: {\n id: 'Pricing.copy.DetailsPrivateApps',\n message: `${TYPE_LABEL} - DetailsPrivateApps`,\n project: PROJECT_NAME,\n },\n },\n progress_bar: {\n id: 'Pricing.copy.DetailsProgressBar',\n defaultMessage: 'Progress bar',\n desc: {\n id: 'Pricing.copy.DetailsProgressBar',\n message: `${TYPE_LABEL} - DetailsProgressBar`,\n project: PROJECT_NAME,\n },\n },\n question_library: {\n id: 'Pricing.copy.DetailsQuestionLibrary',\n defaultMessage: 'Question Bank approved questions',\n desc: {\n id: 'Pricing.copy.DetailsQuestionLibrary',\n message: `${TYPE_LABEL} - DetailsQuestionLibrary`,\n project: PROJECT_NAME,\n },\n },\n quiz_scoring_and_instant_results: {\n id: 'Pricing.copy.DetailsQuizScoring',\n defaultMessage: 'Quiz scoring & instant results',\n desc: {\n id: 'Pricing.copy.DetailsQuizScoring',\n message: `${TYPE_LABEL} - DetailsQuizScoring`,\n project: PROJECT_NAME,\n },\n },\n quizzes_pro: {\n id: 'Pricing.copy.DetailsQuizzesPro',\n defaultMessage: 'Quizzes pro',\n desc: {\n id: 'Pricing.copy.DetailsQuizzesPro',\n message: `${TYPE_LABEL} - DetailsQuizzesPro`,\n project: PROJECT_NAME,\n },\n },\n randomize_answer_choices: {\n id: 'Pricing.copy.DetailsRandomizeAnswerChoices',\n defaultMessage: 'Randomize answer choices',\n desc: {\n id: 'Pricing.copy.DetailsRandomizeAnswerChoices',\n message: `${TYPE_LABEL} - DetailsRandomizeAnswerChoices`,\n project: PROJECT_NAME,\n },\n },\n ranking_question_type: {\n id: 'Pricing.copy.DetailsRankingQuestionType',\n defaultMessage: 'Ranking questions',\n desc: {\n id: 'Pricing.copy.DetailsRankingQuestionType',\n message: `${TYPE_LABEL} - DetailsRankingQuestionType`,\n project: PROJECT_NAME,\n },\n },\n rating_question_type: {\n id: 'Pricing.copy.DetailsRatingQuestionType',\n defaultMessage: 'Rating questions',\n desc: {\n id: 'Pricing.copy.DetailsRatingQuestionType',\n message: `${TYPE_LABEL} - DetailsRatingQuestionType`,\n project: PROJECT_NAME,\n },\n },\n real_time_results: {\n id: 'Pricing.copy.DetailsRealTimeResults',\n defaultMessage: 'Real time results',\n desc: {\n id: 'Pricing.copy.DetailsRealTimeResults',\n message: `${TYPE_LABEL} - DetailsRealTimeResults`,\n project: PROJECT_NAME,\n },\n },\n record_respondent_email_address: {\n id: 'Pricing.copy.DetailsRecordRespondentEmailAddress',\n defaultMessage: 'Record respondent email address',\n desc: {\n id: 'Pricing.copy.DetailsRecordRespondentEmailAddress',\n message: `${TYPE_LABEL} - DetailsRecordRespondentEmailAddress`,\n project: PROJECT_NAME,\n },\n },\n recurring_surveys: {\n id: 'Pricing.copy.DetailsRecurringSurveys',\n defaultMessage: 'Recurring surveys',\n desc: {\n id: 'Pricing.copy.DetailsRecurringSurveys',\n message: `${TYPE_LABEL} - DetailsRecurringSurveys`,\n project: PROJECT_NAME,\n },\n },\n require_answer: {\n id: 'Pricing.copy.DetailsRequireAnswer',\n defaultMessage: 'Require answer completion',\n desc: {\n id: 'Pricing.copy.DetailsRequireAnswer',\n message: `${TYPE_LABEL} - DetailsRequireAnswer`,\n project: PROJECT_NAME,\n },\n },\n respondent_receipt: {\n id: 'Pricing.copy.DetailsRespondentReceipt',\n defaultMessage: 'Confirmation Email to Respondents',\n desc: {\n id: 'Pricing.copy.DetailsRespondentReceipt',\n message: `${TYPE_LABEL} - DetailsRespondentReceipt`,\n project: PROJECT_NAME,\n },\n },\n response_quality_enabled: {\n id: 'Pricing.copy.DetailsResponseQualityEnabled',\n defaultMessage: 'Response Quality',\n desc: {\n id: 'Pricing.copy.DetailsResponseQualityEnabled',\n message: `${TYPE_LABEL} - DetailsResponseQualityEnabled`,\n project: PROJECT_NAME,\n },\n },\n send_surveys: {\n id: 'Pricing.copy.DetailsSendSurveys',\n defaultMessage: 'Send Surveys',\n desc: {\n id: 'Pricing.copy.DetailsSendSurveys',\n message: `${TYPE_LABEL} - DetailsSendSurveys`,\n project: PROJECT_NAME,\n },\n },\n set_max_response_count: {\n id: 'Pricing.copy.DetailsSetMaxResponseCount',\n defaultMessage: 'Set Max Response Count',\n desc: {\n id: 'Pricing.copy.DetailsSetMaxResponseCount',\n message: `${TYPE_LABEL} - DetailsSetMaxResponseCount`,\n project: PROJECT_NAME,\n },\n },\n set_survey_end_date: {\n id: 'Pricing.copy.DetailsSetSurveyEndDate',\n defaultMessage: 'Set survey end date',\n desc: {\n id: 'Pricing.copy.DetailsSetSurveyEndDate',\n message: `${TYPE_LABEL} - DetailsSetSurveyEndDate`,\n project: PROJECT_NAME,\n },\n },\n share_surveys: {\n id: 'Pricing.copy.DetailsShareSurveys',\n defaultMessage: 'Share survey data',\n desc: {\n id: 'Pricing.copy.DetailsShareSurveys',\n message: `${TYPE_LABEL} - DetailsShareSurveys`,\n project: PROJECT_NAME,\n },\n },\n shared_library: {\n id: 'Pricing.copy.DetailsSharedLibrary',\n defaultMessage: SHARED_LIBRARY,\n desc: {\n id: 'Pricing.copy.DetailsSharedLibrary',\n message: `${TYPE_LABEL} - DetailsSharedLibrary`,\n project: PROJECT_NAME,\n },\n },\n show_create_crosstab: {\n id: 'Pricing.copy.DetailsShowCreateCrosstab',\n defaultMessage: 'Crosstabs',\n desc: {\n id: 'Pricing.copy.DetailsShowCreateCrosstab',\n message: `${TYPE_LABEL} - DetailsShowCreateCrosstab`,\n project: PROJECT_NAME,\n },\n },\n show_sig_diffs_enabled: {\n id: 'Pricing.copy.DetailsShowSigDiffsEnabled',\n defaultMessage: 'Statistical significance',\n desc: {\n id: 'Pricing.copy.DetailsShowSigDiffsEnabled',\n message: `${TYPE_LABEL} - DetailsShowSigDiffsEnabled`,\n project: PROJECT_NAME,\n },\n },\n single_sign_on: {\n id: 'Pricing.copy.DetailsSingleSignOn',\n defaultMessage: 'Single sign-on',\n desc: {\n id: 'Pricing.copy.DetailsSingleSignOn',\n message: `${TYPE_LABEL} - DetailsSingleSignOn`,\n project: PROJECT_NAME,\n },\n },\n slider_question_type: {\n id: 'Pricing.copy.DetailsSliderQuestionType',\n defaultMessage: 'Slider questions',\n desc: {\n id: 'Pricing.copy.DetailsSliderQuestionType',\n message: `${TYPE_LABEL} - DetailsSliderQuestionType`,\n project: PROJECT_NAME,\n },\n },\n survey_branding: {\n id: 'Pricing.copy.DetailsSurveyBranding',\n defaultMessage: 'Custom logo, colors, and survey URL',\n desc: {\n id: 'Pricing.copy.DetailsSurveyBranding',\n message: `${TYPE_LABEL} - DetailsSurveyBranding`,\n project: PROJECT_NAME,\n },\n },\n survey_create_limit: {\n id: 'Pricing.copy.DetailsSurveyCreateLimit',\n defaultMessage: 'Number of surveys',\n desc: {\n id: 'Pricing.copy.DetailsSurveyCreateLimit',\n message: `${TYPE_LABEL} - DetailsSurveyCreateLimit`,\n project: PROJECT_NAME,\n },\n },\n team_activity: {\n id: 'Pricing.copy.DetailsTeamActivity',\n defaultMessage: 'Team activity',\n desc: {\n id: 'Pricing.copy.DetailsTeamActivity',\n message: `${TYPE_LABEL} - DetailsTeamActivity`,\n project: PROJECT_NAME,\n },\n },\n team_ownership: {\n id: 'Pricing.copy.DetailsTeamOwnership',\n defaultMessage: 'Team ownership',\n desc: {\n id: 'Pricing.copy.DetailsTeamOwnership',\n message: `${TYPE_LABEL} - DetailsTeamOwnership`,\n project: PROJECT_NAME,\n },\n },\n team_themes: {\n id: 'Pricing.copy.DetailsTeamThemes',\n defaultMessage: 'Shared themes',\n desc: {\n id: 'Pricing.copy.DetailsTeamThemes',\n message: `${TYPE_LABEL} - DetailsTeamThemes`,\n project: PROJECT_NAME,\n },\n },\n text_analysis: {\n id: 'Pricing.copy.DetailsTextAnalysis',\n defaultMessage: 'Text analysis',\n desc: {\n id: 'Pricing.copy.DetailsTextAnalysis',\n message: `${TYPE_LABEL} - DetailsTextAnalysis`,\n project: PROJECT_NAME,\n },\n },\n text_formatting: {\n id: 'Pricing.copy.DetailsTextFormatting',\n defaultMessage: 'Text formatting',\n desc: {\n id: 'Pricing.copy.DetailsTextFormatting',\n message: `${TYPE_LABEL} - DetailsTextFormatting`,\n project: PROJECT_NAME,\n },\n },\n track_email_responses: {\n id: 'Pricing.copy.DetailsTrackEmailResponses',\n defaultMessage: 'Track Email Responses',\n desc: {\n id: 'Pricing.copy.DetailsTrackEmailResponses',\n message: `${TYPE_LABEL} - DetailsTrackEmailResponses`,\n project: PROJECT_NAME,\n },\n },\n unlimited_responses: {\n id: 'Pricing.copy.DetailsUnlimitedResponses',\n defaultMessage: 'Unlimited surveys and questions',\n desc: {\n id: 'Pricing.copy.DetailsUnlimitedResponses',\n message: `${TYPE_LABEL} - DetailsUnlimitedResponses`,\n project: PROJECT_NAME,\n },\n },\n user_management: {\n id: 'Pricing.copy.DetailsUserManagement',\n defaultMessage: 'Additional Users',\n desc: {\n id: 'Pricing.copy.DetailsUserManagement',\n message: `${TYPE_LABEL} - DetailsUserManagement`,\n project: PROJECT_NAME,\n },\n },\n validate_answer: {\n id: 'Pricing.copy.DetailsValidateAnswer',\n defaultMessage: 'Answer validation',\n desc: {\n id: 'Pricing.copy.DetailsValidateAnswer',\n message: `${TYPE_LABEL} - DetailsValidateAnswer`,\n project: PROJECT_NAME,\n },\n },\n video_question_type: {\n id: 'Pricing.copy.DetailsVideoQuestionType',\n defaultMessage: 'Video and image questions',\n desc: {\n id: 'Pricing.copy.DetailsVideoQuestionType',\n message: `${TYPE_LABEL} - DetailsVideoQuestionType`,\n project: PROJECT_NAME,\n },\n },\n view_respondent_ip_address: {\n id: 'Pricing.copy.DetailsViewRespondentIpAddress',\n defaultMessage: `View respondent's IP address`,\n desc: {\n id: 'Pricing.copy.DetailsViewRespondentIpAddress',\n message: `${TYPE_LABEL} - DetailsViewRespondentIpAddress`,\n project: PROJECT_NAME,\n },\n },\n web_social_email_responses: {\n id: 'Pricing.copy.DetailsWebSocialQrCodeAndEmailResponses',\n defaultMessage: 'Get responses via web, social, QR code, and email',\n desc: {\n id: 'Pricing.copy.DetailsWebSocialQrCodeAndEmailResponses',\n message: `${TYPE_LABEL} - DetailsWebSocialQrCodeAndEmailResponses`,\n project: PROJECT_NAME,\n },\n },\n word_cloud_combine_hide: {\n id: 'Pricing.copy.DetailsWordCloudCombineHide',\n defaultMessage: 'Word clouds: Combine or hide words',\n desc: {\n id: 'Pricing.copy.DetailsWordCloudCombineHide',\n message: `${TYPE_LABEL} - DetailsWordCloudCombineHide`,\n project: PROJECT_NAME,\n },\n },\n});\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nexport const TYPE_HEADER = '[Type: Header][Vis: high] - Feature Set List Item Tooltip Headings';\nexport const TYPE_PARAGRAPH = '[Type: Paragraph][Vis: high] - Feature Set List Item Tooltip';\nconst NUM_RESPONSES = 'Number of responses';\nconst NUM_RESPONSES_TOOLTIP =\n 'Each plan has a limited number of responses as indicated. Basic users must purchase a paid plan to view responses in excess of the Response Limit. For other plans, users will be invoiced up to {overageCost} or equivalent, for each response over the indicated Response Limit.';\nconst SUPPORT = '24/7 Customer support via email';\nconst SUPPORT_TOOLTIP =\n 'We offer 24/7 email support for all customers. Emails from ADVANTAGE and PREMIER customers are prioritized to receive responses as quickly as possible. We also offer phone support for our PREMIER customers.';\nconst CONTRIBUTOR_SEATS = 'Contributor seats';\nconst CONTRIBUTOR_SEATS_TOOLTIP =\n 'While purchasing a team plan, you can add Contributor seats as a cost-effective way to include more stakeholders to analyze survey results. Contributors can use SurveyMonkey analysis features but cannot create or send surveys. Full Users on your team can share surveys with Contributors.';\nconst SENTIMENT_ANALYSIS = 'Sentiment analysis';\nconst SENTIMENT_ANALYSIS_TOOLTIP = `We'll automatically label your text responses as positive, neutral, or negative to reveal the emotion behind what people are saying.`;\nconst DATA_EXPORTS = 'Data exports';\nconst DATA_EXPORTS_TOOLTIP = `Create and print custom charts and reports quickly and easily. You'll be able to download survey results in several file formats, including as CSV, PDF, PPT, or XLS files. Export for SPSS for Advantage and Premier members.`;\nconst ADVANCED_LOGIC = 'Advanced survey logic';\nconst ADVANCED_LOGIC_TOOLTIP =\n 'Enhance your survey data with access to advanced branching, advanced piping, block randomization, quotas, and more. Use custom variables to track data about respondents by passing one or more values through a survey link and into your survey results.';\nconst ADVANCED_SURVEY_LOGIC = 'Advanced survey analysis';\nconst ADVANCED_SURVEY_LOGIC_TOOLTIP =\n 'Get more context for your data. See if there are statistically significant differences between response groups. And use text analysis to search and categorize open-ended responses and quickly see frequently used words and phrases.';\n\nexport default defineMessages({\n a_b_testing_tooltip_heading: {\n id: 'Pricing.tooltipCopy.ABTestingTooltipHeading',\n defaultMessage: 'A/B test question type',\n desc: {\n id: 'Pricing.tooltipCopy.ABTestingTooltipHeading',\n message: `${TYPE_HEADER} - ABTestingTooltipHeading`,\n project: PROJECT_NAME,\n },\n },\n a_b_testing_tooltip: {\n id: 'Pricing.tooltipCopy.ABTestingTooltip',\n defaultMessage:\n 'Conduct A/B tests and test for answer bias by randomly segmenting respondents to see different images or text.',\n desc: {\n id: 'Pricing.tooltipCopy.ABTestingTooltip',\n message: `${TYPE_PARAGRAPH} - 1`,\n project: PROJECT_NAME,\n },\n },\n account_control_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AccountControlTooltipHeading',\n defaultMessage: 'Account control',\n desc: {\n id: 'Pricing.tooltipCopy.AccountControlTooltipHeading',\n message: `${TYPE_HEADER} - 2`,\n project: PROJECT_NAME,\n },\n },\n account_control_tooltip: {\n id: 'Pricing.tooltipCopy.AccountControlTooltip',\n defaultMessage: `Automate onboarding users. Seamlessly enable new users to sign up or migrate existing users into your organization's SurveyMonkey Enterprise account.`,\n desc: {\n id: 'Pricing.tooltipCopy.AccountControlTooltip',\n message: `${TYPE_PARAGRAPH} - 3`,\n project: PROJECT_NAME,\n },\n },\n add_users_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AddUsersTooltipHeading',\n defaultMessage: 'Additional Full User accounts',\n desc: {\n id: 'Pricing.tooltipCopy.AddUsersTooltipHeading',\n message: `${TYPE_HEADER} - 4`,\n project: PROJECT_NAME,\n },\n },\n add_users_tooltip: {\n id: 'Pricing.tooltipCopy.AddUsersTooltip',\n defaultMessage: `Business plans start at 3 Full Users, and allow you to invite more Full Users to your SurveyMonkey team for an additional fee. While purchasing a plan with a minimum of 3 users, you can add Contributor seats in bundles of 2 as a cost-effective way to add stakeholders to focus solely on analyzing survey results. Learn More »`,\n desc: {\n id: 'Pricing.tooltipCopy.AddUsersTooltip',\n message: `${TYPE_PARAGRAPH} - 5`,\n project: PROJECT_NAME,\n },\n },\n admin_dashboard_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AdminDashboardTooltipHeading',\n defaultMessage: 'Admin dashboard',\n desc: {\n id: 'Pricing.tooltipCopy.AdminDashboardTooltipHeading',\n message: `${TYPE_HEADER} - 6`,\n project: PROJECT_NAME,\n },\n },\n admin_dashboard_tooltip: {\n id: 'Pricing.tooltipCopy.AdminDashboardTooltip',\n defaultMessage: `Get visibility into your team's activity. View usage metrics like the number of surveys each user has in their account, and the date of their last login. You can also preview surveys in each account too.`,\n desc: {\n id: 'Pricing.tooltipCopy.AdminDashboardTooltip',\n message: `${TYPE_PARAGRAPH} - 7`,\n project: PROJECT_NAME,\n },\n },\n advanced_analyze_features_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AdvancedAnalyzeFeaturesTooltipHeading',\n defaultMessage: ADVANCED_SURVEY_LOGIC,\n desc: {\n id: 'Pricing.tooltipCopy.AdvancedAnalyzeFeaturesTooltipHeading',\n message: `${TYPE_HEADER} - 8`,\n project: PROJECT_NAME,\n },\n },\n advanced_analyze_features_tooltip: {\n id: 'Pricing.tooltipCopy.AdvancedAnalyzeFeaturesTooltip',\n defaultMessage: ADVANCED_SURVEY_LOGIC_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.AdvancedAnalyzeFeaturesTooltip',\n message: `${TYPE_PARAGRAPH} - 9`,\n project: PROJECT_NAME,\n },\n },\n advanced_collaboration_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AdvancedCollaborationTooltipHeading',\n defaultMessage: CONTRIBUTOR_SEATS,\n desc: {\n id: 'Pricing.tooltipCopy.AdvancedCollaborationTooltipHeading',\n message: `${TYPE_HEADER} - 10`,\n project: PROJECT_NAME,\n },\n },\n advanced_collaboration_tooltip: {\n id: 'Pricing.tooltipCopy.AdvancedCollaborationTooltip',\n defaultMessage: CONTRIBUTOR_SEATS_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.AdvancedCollaborationTooltip',\n message: `${TYPE_PARAGRAPH} - 11`,\n project: PROJECT_NAME,\n },\n },\n advanced_logic_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AdvancedLogicTooltipHeading',\n defaultMessage: ADVANCED_LOGIC,\n desc: {\n id: 'Pricing.tooltipCopy.AdvancedLogicTooltipHeading',\n message: `${TYPE_HEADER} - 12`,\n project: PROJECT_NAME,\n },\n },\n advanced_logic_tooltip: {\n id: 'Pricing.tooltipCopy.AdvancedLogicTooltip',\n defaultMessage: ADVANCED_LOGIC_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.AdvancedLogicTooltip',\n message: `${TYPE_PARAGRAPH} - 13`,\n project: PROJECT_NAME,\n },\n },\n all_data_exports_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AllDataExportsTooltipHeading',\n defaultMessage: DATA_EXPORTS,\n desc: {\n id: 'Pricing.tooltipCopy.AllDataExportsTooltipHeading',\n message: `${TYPE_HEADER} - 14`,\n project: PROJECT_NAME,\n },\n },\n all_data_exports_tooltip: {\n id: 'Pricing.tooltipCopy.AllDataExportsTooltip',\n defaultMessage: DATA_EXPORTS_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.AllDataExportsTooltip',\n message: `${TYPE_PARAGRAPH} - 15`,\n project: PROJECT_NAME,\n },\n },\n all_languages_supported_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AllLanguagesSupportedTooltipHeading',\n defaultMessage: 'All languages supported',\n desc: {\n id: 'Pricing.tooltipCopy.AllLanguagesSupportedTooltipHeading',\n message: `${TYPE_HEADER} - 16`,\n project: PROJECT_NAME,\n },\n },\n all_languages_supported_tooltip: {\n id: 'Pricing.tooltipCopy.AllLanguagesSupportedTooltip',\n defaultMessage:\n 'Create surveys in any language. You can write in unicode or multi-byte languages, and choose navigation buttons, help text, and error messages from 58 languages.',\n desc: {\n id: 'Pricing.tooltipCopy.AllLanguagesSupportedTooltip',\n message: `${TYPE_PARAGRAPH} - 17`,\n project: PROJECT_NAME,\n },\n },\n analyze_can_share_customize_branding_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AnalyzeCanShareCustomizeBrandingTooltipHeading',\n defaultMessage: 'Customization and branding',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeCanShareCustomizeBrandingTooltipHeading',\n message: `${TYPE_HEADER} - 18`,\n project: PROJECT_NAME,\n },\n },\n analyze_can_share_customize_branding_tooltip: {\n id: 'Pricing.tooltipCopy.AnalyzeCanShareCustomizeBrandingTooltip',\n defaultMessage:\n 'Ensure a consistent brand experience for all survey-takers and enjoy customization features like Custom Subdomain, Custom Terms of Use and Custom Question Bank.',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeCanShareCustomizeBrandingTooltip',\n message: `${TYPE_PARAGRAPH} - 19`,\n project: PROJECT_NAME,\n },\n },\n analyze_can_ta_tag_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AnalyzeCanTATagTooltipHeading',\n defaultMessage: 'Tag written answers',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeCanTATagTooltipHeading',\n message: `${TYPE_HEADER} - 20`,\n project: PROJECT_NAME,\n },\n },\n analyze_can_ta_tag_tooltip: {\n id: 'Pricing.tooltipCopy.AnalyzeCanTATagTooltip',\n defaultMessage:\n 'Tag written answers to organize them by topic and uncover trends. See the percentage of answers that include each tag.',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeCanTATagTooltip',\n message: `${TYPE_PARAGRAPH} - 21`,\n project: PROJECT_NAME,\n },\n },\n analyze_combine_filters_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CombineFiltersTooltipHeading',\n defaultMessage: 'Filter and compare rules',\n desc: {\n id: 'Pricing.tooltipCopy.CombineFiltersTooltipHeading',\n message: `${TYPE_HEADER} - 22`,\n project: PROJECT_NAME,\n },\n },\n analyze_combine_filters_tooltip: {\n id: 'Pricing.tooltipCopy.CombineFiltersTooltip',\n defaultMessage:\n 'Use filter and compare rules to segment your data and discover hidden trends. With a Basic plan, you can apply and save one rule to your data, but paid plans allow you to save and apply an unlimited number of rules. Data trends let you see how your results have changed over time.',\n desc: {\n id: 'Pricing.tooltipCopy.CombineFiltersTooltip',\n message: `${TYPE_PARAGRAPH} - 23`,\n project: PROJECT_NAME,\n },\n },\n analyze_dashboard_password_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AnalyzeDashboardPasswordEnabledTooltipHeading',\n defaultMessage: 'Dashboard: Password protection',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeDashboardPasswordEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 24`,\n project: PROJECT_NAME,\n },\n },\n analyze_dashboard_password_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.AnalyzeDashboardPasswordEnabledTooltip',\n defaultMessage: 'Set a password for your dashboards for share more securely.',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeDashboardPasswordEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 25`,\n project: PROJECT_NAME,\n },\n },\n analyze_export_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AnalyzeExportEnabledTooltipHeading',\n defaultMessage: DATA_EXPORTS,\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeExportEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 26`,\n project: PROJECT_NAME,\n },\n },\n analyze_export_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.AnalyzeExportEnabledTooltip',\n defaultMessage: DATA_EXPORTS_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeExportEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 27`,\n project: PROJECT_NAME,\n },\n },\n analyze_export_spss_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AnalyzeExportSpssEnabledTooltipHeading',\n defaultMessage: 'Advanced data exports',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeExportSpssEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 28`,\n project: PROJECT_NAME,\n },\n },\n analyze_export_spss_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.AnalyzeExportSpssEnabledTooltip',\n defaultMessage:\n 'Download your survey results into SPSS—along with CSV, PDF, PPT, or XLS files too. Also create and print custom charts and reports quickly and easily.',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeExportSpssEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 29`,\n project: PROJECT_NAME,\n },\n },\n analyze_integrations_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AnalyzeIntegrationsTooltipHeading',\n defaultMessage: 'Integrations',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeIntegrationsTooltipHeading',\n message: `${TYPE_HEADER} - 30`,\n project: PROJECT_NAME,\n },\n },\n analyze_integrations_tooltip: {\n id: 'Pricing.tooltipCopy.AnalyzeIntegrationsTooltip',\n defaultMessage: `SurveyMonkey integrates with popular apps like Office 365, Google Drive, and Slack, so it's easy to use with your existing workflows.`,\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeIntegrationsTooltip',\n message: `${TYPE_PARAGRAPH} - 31`,\n project: PROJECT_NAME,\n },\n },\n analyze_results_together_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AnalyzeResultsTogetherTooltipHeading',\n defaultMessage: 'Analyze results together',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeResultsTogetherTooltipHeading',\n message: `${TYPE_HEADER} - 32`,\n project: PROJECT_NAME,\n },\n },\n analyze_results_together_tooltip: {\n id: 'Pricing.tooltipCopy.AnalyzeResultsTogetherTooltip',\n defaultMessage: 'Give your team access to survey results and export tools.',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeResultsTogetherTooltip',\n message: `${TYPE_PARAGRAPH} - 33`,\n project: PROJECT_NAME,\n },\n },\n analyze_sentiment_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AnalyzeSentimentEnabledTooltipHeading',\n defaultMessage: SENTIMENT_ANALYSIS,\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeSentimentEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 34`,\n project: PROJECT_NAME,\n },\n },\n analyze_sentiment_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.AnalyzeSentimentEnabledTooltip',\n defaultMessage: SENTIMENT_ANALYSIS_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeSentimentEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 35`,\n project: PROJECT_NAME,\n },\n },\n sentiment_tooltip_heading: {\n id: 'Pricing.tooltipCopy.SentimentAnalysisEnabledTooltipHeading',\n defaultMessage: SENTIMENT_ANALYSIS,\n desc: {\n id: 'Pricing.tooltipCopy.SentimentAnalysisEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 36`,\n project: PROJECT_NAME,\n },\n },\n sentiment_tooltip: {\n id: 'Pricing.tooltipCopy.SentimentAnalysisEnabledTooltip',\n defaultMessage: SENTIMENT_ANALYSIS_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.SentimentAnalysisEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 37`,\n project: PROJECT_NAME,\n },\n },\n analyze_ta_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AnalyzeTAEnabledTooltipHeading',\n defaultMessage: 'Word clouds',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeTAEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 38`,\n project: PROJECT_NAME,\n },\n },\n analyze_ta_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.AnalyzeTAEnabledTooltip',\n defaultMessage:\n 'Quickly spot trends and common themes in written answers. Words with lots of mentions appear bigger so you can get a quick understanding of what matters most to your respondents.',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeTAEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 39`,\n project: PROJECT_NAME,\n },\n },\n analyze_trends_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AnalyzeTrendsEnabledTooltipHeading',\n defaultMessage: 'Data trends',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeTrendsEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 40`,\n project: PROJECT_NAME,\n },\n },\n analyze_trends_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.AnalyzeTrendsEnabledTooltip',\n defaultMessage: 'View your results trended over time to spot changes when they happen.',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeTrendsEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 41`,\n project: PROJECT_NAME,\n },\n },\n base_response_count_tooltip_heading: {\n id: 'Pricing.tooltipCopy.BaseResponseCountTooltipHeading',\n defaultMessage: NUM_RESPONSES,\n desc: {\n id: 'Pricing.tooltipCopy.BaseResponseCountTooltipHeading',\n message: `${TYPE_HEADER} - 42`,\n project: PROJECT_NAME,\n },\n },\n base_response_count_tooltip: {\n id: 'Pricing.tooltipCopy.BaseResponseCountTooltip',\n defaultMessage: NUM_RESPONSES_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.BaseResponseCountTooltip',\n message: `${TYPE_PARAGRAPH} - 43`,\n project: PROJECT_NAME,\n },\n },\n benchmarks_tooltip_heading: {\n id: 'Pricing.tooltipCopy.BenchmarksTooltipHeading',\n defaultMessage: 'SurveyMonkey industry benchmarks',\n desc: {\n id: 'Pricing.tooltipCopy.BenchmarksTooltipHeading',\n message: `${TYPE_HEADER} - 44`,\n project: PROJECT_NAME,\n },\n },\n benchmarks_tooltip: {\n id: 'Pricing.tooltipCopy.BenchmarksTooltip',\n defaultMessage: `Compare your results against the Industry Benchmark to understand how you're doing in the context of your greater industry. See your results in context to see how you measure up against your peers.`,\n desc: {\n id: 'Pricing.tooltipCopy.BenchmarksTooltip',\n message: `${TYPE_PARAGRAPH} - 45`,\n project: PROJECT_NAME,\n },\n },\n best_worst_qt_tooltip_heading: {\n id: 'Pricing.tooltipCopy.BestWorstScaleTooltipHeading',\n defaultMessage: 'Best worst scale',\n desc: {\n id: 'Pricing.tooltipCopy.BestWorstScaleTooltipHeading',\n message: `${TYPE_HEADER}`,\n project: PROJECT_NAME,\n },\n },\n best_worst_qt_tooltip: {\n id: 'Pricing.tooltipCopy.BestWorstScaleTooltip',\n defaultMessage: `Find out what people like most, what they like least, and what they think of everything in between.`,\n desc: {\n id: 'Pricing.tooltipCopy.BestWorstScaleTooltip',\n message: `${TYPE_PARAGRAPH}`,\n project: PROJECT_NAME,\n },\n },\n block_randomization_tooltip_heading: {\n id: 'Pricing.tooltipCopy.BlockRandomizationTooltipHeading',\n defaultMessage: 'Block randomization',\n desc: {\n id: 'Pricing.tooltipCopy.BlockRandomizationTooltipHeading',\n message: `${TYPE_HEADER} - 46`,\n project: PROJECT_NAME,\n },\n },\n block_randomization_tooltip: {\n id: 'Pricing.tooltipCopy.BlockRandomizationTooltip',\n defaultMessage:\n 'Blocks are groups of pages, where each group contains related questions about a particular concept you want to test. You can use block randomization logic to rotate, flip, or randomize blocks to minimize order bias.',\n desc: {\n id: 'Pricing.tooltipCopy.BlockRandomizationTooltip',\n message: `${TYPE_PARAGRAPH} - 47`,\n project: PROJECT_NAME,\n },\n },\n build_surveys_together_tooltip_heading: {\n id: 'Pricing.tooltipCopy.BuildSurveysTogetherTooltipHeading',\n defaultMessage: 'Build Surveys Together',\n desc: {\n id: 'Pricing.tooltipCopy.BuildSurveysTogetherTooltipHeading',\n message: `${TYPE_HEADER} - 48`,\n project: PROJECT_NAME,\n },\n },\n build_surveys_together_tooltip: {\n id: 'Pricing.tooltipCopy.BuildSurveysTogetherTooltip',\n defaultMessage: 'Let people on your team view, edit, or comment on your surveys.',\n desc: {\n id: 'Pricing.tooltipCopy.BuildSurveysTogetherTooltip',\n message: `${TYPE_PARAGRAPH} - 49`,\n project: PROJECT_NAME,\n },\n },\n carry_forward_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CarryForwardTooltipHeading',\n defaultMessage: 'Carry forward responses',\n desc: {\n id: 'Pricing.tooltipCopy.CarryForwardTooltipHeading',\n message: `${TYPE_HEADER} - 50`,\n project: PROJECT_NAME,\n },\n },\n carry_forward_tooltip: {\n id: 'Pricing.tooltipCopy.CarryForwardTooltip',\n defaultMessage: `Use each respondent's previous answer choices in a related question that appears later in your survey. You can carry forward either a respondent's selected or unselected answer choices and choose to show all or some previously selected or unselected answers. Responses that are carried forward cannot be edited.`,\n desc: {\n id: 'Pricing.tooltipCopy.CarryForwardTooltip',\n message: `${TYPE_PARAGRAPH} - 51`,\n project: PROJECT_NAME,\n },\n },\n click_map_qt_tooltip_heading: {\n id: 'Pricing.tooltipCopy.ClickMapQTTooltipHeading',\n defaultMessage: 'Click map data visualization',\n desc: {\n id: 'Pricing.tooltipCopy.ClickMapQTTooltipHeading',\n message: `${TYPE_HEADER} - 52`,\n project: PROJECT_NAME,\n },\n },\n click_map_qt_tooltip: {\n id: 'Pricing.tooltipCopy.ClickMapQTTooltip',\n defaultMessage: `Feedback on an image by tracking where and how many respondents click on it. When analyzing and presenting results, you'll be able to see each click represented by a corresponding dot, so it's clear which areas stand out to your audience.`,\n desc: {\n id: 'Pricing.tooltipCopy.ClickMapQTTooltip',\n message: `${TYPE_PARAGRAPH} - 53`,\n project: PROJECT_NAME,\n },\n },\n collaboration_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CollaborationTooltipHeading',\n defaultMessage: 'Advanced permissions',\n desc: {\n id: 'Pricing.tooltipCopy.CollaborationTooltipHeading',\n message: `${TYPE_HEADER} - 54`,\n project: PROJECT_NAME,\n },\n },\n collaboration_tooltip: {\n id: 'Pricing.tooltipCopy.CollaborationTooltip',\n defaultMessage: 'Collaborate with fine control over who can view and edit your survey projects.',\n desc: {\n id: 'Pricing.tooltipCopy.CollaborationTooltip',\n message: `${TYPE_PARAGRAPH} - 55`,\n project: PROJECT_NAME,\n },\n },\n collaborate_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CollaborateTooltipHeading',\n defaultMessage: 'Build surveys together',\n desc: {\n id: 'Pricing.tooltipCopy.CollaborateTooltipHeading',\n message: `${TYPE_HEADER} - 56`,\n project: PROJECT_NAME,\n },\n },\n collaborate_tooltip: {\n id: 'Pricing.tooltipCopy.CollaborateTooltip',\n defaultMessage: 'Let people on your team view, edit, or comment on your surveys.',\n desc: {\n id: 'Pricing.tooltipCopy.CollaborateTooltip',\n message: `${TYPE_PARAGRAPH} - 57`,\n project: PROJECT_NAME,\n },\n },\n collector_completion_url_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CollectorCompletionUrlEnabledTooltipHeading',\n defaultMessage: 'Survey completion redirect',\n desc: {\n id: 'Pricing.tooltipCopy.CollectorCompletionUrlEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 58`,\n project: PROJECT_NAME,\n },\n },\n collector_completion_url_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.CollectorCompletionUrlEnabledTooltip',\n defaultMessage:\n 'For a customized experience, redirect survey respondents to your website once they complete your survey.',\n desc: {\n id: 'Pricing.tooltipCopy.CollectorCompletionUrlEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 59`,\n project: PROJECT_NAME,\n },\n },\n collector_create_limit_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CollectorCreateLimitTooltipHeading',\n defaultMessage: 'Number of collectors',\n desc: {\n id: 'Pricing.tooltipCopy.CollectorCreateLimitTooltipHeading',\n message: `${TYPE_HEADER} - 60`,\n project: PROJECT_NAME,\n },\n },\n collector_create_limit_tooltip: {\n id: 'Pricing.tooltipCopy.CollectorCreateLimitTooltip',\n defaultMessage:\n 'Collectors are ways you can send your survey to respondents. Our collector types include weblinks, email, embedding on your website, and more.',\n desc: {\n id: 'Pricing.tooltipCopy.CollectorCreateLimitTooltip',\n message: `${TYPE_PARAGRAPH} - 61`,\n project: PROJECT_NAME,\n },\n },\n collector_mobile_sdk_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CollectorMobileSdkEnabledTooltipHeading',\n defaultMessage: 'Mobile SDK',\n desc: {\n id: 'Pricing.tooltipCopy.CollectorMobileSdkEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 62`,\n project: PROJECT_NAME,\n },\n },\n collector_mobile_sdk_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.CollectorMobileSdkEnabledTooltip',\n defaultMessage: 'Integrate surveys directly into your iOS and Android mobile app.',\n desc: {\n id: 'Pricing.tooltipCopy.CollectorMobileSdkEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 63`,\n project: PROJECT_NAME,\n },\n },\n collector_friendly_url_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CollectorFriendlyUrlEnabledTooltipHeading',\n defaultMessage: 'Custom SurveyMonkey URL',\n desc: {\n id: 'Pricing.tooltipCopy.CollectorFriendlyUrlEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 64`,\n project: PROJECT_NAME,\n },\n },\n collector_friendly_url_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.CollectorFriendlyUrlEnabledTooltip',\n defaultMessage: 'Write customized survey URLs, for example: http://www.surveymonkey.com/s/your-survey',\n desc: {\n id: 'Pricing.tooltipCopy.CollectorFriendlyUrlEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 65`,\n project: PROJECT_NAME,\n },\n },\n collector_white_label_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CollectorWhiteLabelEnabledTooltipHeading',\n defaultMessage: 'White label surveys',\n desc: {\n id: 'Pricing.tooltipCopy.CollectorWhiteLabelEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 66`,\n project: PROJECT_NAME,\n },\n },\n collector_white_label_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.CollectorWhiteLabelEnabledTooltip',\n defaultMessage:\n 'Completely customize and brand your surveys. Remove the SurveyMonkey footer from your surveys, change the domain of your survey link to research.net, and redirect survey respondents to your site upon survey completion.',\n desc: {\n id: 'Pricing.tooltipCopy.CollectorWhiteLabelEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 67`,\n project: PROJECT_NAME,\n },\n },\n consolidated_billing_tooltip_heading: {\n id: 'Pricing.tooltipCopy.ConsolidatedBillingTooltipHeading',\n defaultMessage: 'Consolidated billing',\n desc: {\n id: 'Pricing.tooltipCopy.ConsolidatedBillingTooltipHeading',\n message: `${TYPE_HEADER} - 68`,\n project: PROJECT_NAME,\n },\n },\n consolidated_billing_tooltip: {\n id: 'Pricing.tooltipCopy.ConsolidatedBillingTooltip',\n defaultMessage: 'Receive a consolidated bill for your entire team in SurveyMonkey.',\n desc: {\n id: 'Pricing.tooltipCopy.ConsolidatedBillingTooltip',\n message: `${TYPE_PARAGRAPH} - 69`,\n project: PROJECT_NAME,\n },\n },\n contributor_seats_tooltip_heading: {\n id: 'Pricing.tooltipCopy.ContributorSeatsTooltipHeading',\n defaultMessage: CONTRIBUTOR_SEATS,\n desc: {\n id: 'Pricing.tooltipCopy.ContributorSeatsTooltipHeading',\n message: `${TYPE_HEADER} - 70`,\n project: PROJECT_NAME,\n },\n },\n contributor_seats_tooltip: {\n id: 'Pricing.tooltipCopy.ContributorSeatsTooltip',\n defaultMessage: CONTRIBUTOR_SEATS_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.ContributorSeatsTooltip',\n message: `${TYPE_PARAGRAPH} - 71`,\n project: PROJECT_NAME,\n },\n },\n create_advanced_features_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CreateAdvancedFeaturesTooltipHeading',\n defaultMessage: 'A/B test question type',\n desc: {\n id: 'Pricing.tooltipCopy.CreateAdvancedFeaturesTooltipHeading',\n message: `${TYPE_HEADER} - 72`,\n project: PROJECT_NAME,\n },\n },\n create_advanced_features_tooltip: {\n id: 'Pricing.tooltipCopy.CreateAdvancedFeaturesTooltip',\n defaultMessage:\n 'Conduct A/B tests and test for answer bias by randomly segmenting respondents to see different images or text.',\n desc: {\n id: 'Pricing.tooltipCopy.CreateAdvancedFeaturesTooltip',\n message: `${TYPE_PARAGRAPH} - 73`,\n project: PROJECT_NAME,\n },\n },\n create_custom_html_email_message_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CreateCustomHtmlEmailMessageEnabledTooltipHeading',\n defaultMessage: 'Custom HTML email invitations',\n desc: {\n id: 'Pricing.tooltipCopy.CreateCustomHtmlEmailMessageEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 74`,\n project: PROJECT_NAME,\n },\n },\n create_custom_html_email_message_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.CreateCustomHtmlEmailMessageEnabledTooltip',\n defaultMessage:\n 'Add custom designs, images, embed videos, or hyperlink text in your email messages used to send your survey.',\n desc: {\n id: 'Pricing.tooltipCopy.CreateCustomHtmlEmailMessageEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 75`,\n project: PROJECT_NAME,\n },\n },\n create_custom_theme_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CreateCustomThemeEnabledTooltipHeading',\n defaultMessage: 'Custom themes, colors & more',\n desc: {\n id: 'Pricing.tooltipCopy.CreateCustomThemeEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 76`,\n project: PROJECT_NAME,\n },\n },\n create_custom_theme_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.CreateCustomThemeEnabledTooltip',\n defaultMessage:\n 'Create custom themes to change the look and feel of your survey. You can edit the colors of different survey elements and choose from several web fonts for your survey.',\n desc: {\n id: 'Pricing.tooltipCopy.CreateCustomThemeEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 77`,\n project: PROJECT_NAME,\n },\n },\n create_custom_variables_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CreateCustomVariablesEnabledTooltipHeading',\n defaultMessage: 'Custom variables',\n desc: {\n id: 'Pricing.tooltipCopy.CreateCustomVariablesEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 78`,\n project: PROJECT_NAME,\n },\n },\n create_custom_variables_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.CreateCustomVariablesEnabledTooltip',\n defaultMessage:\n 'Use custom variables to track data about respondents by passing one or more values through a survey link and into your survey results.',\n desc: {\n id: 'Pricing.tooltipCopy.CreateCustomVariablesEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 79`,\n project: PROJECT_NAME,\n },\n },\n create_logo_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CreateLogoEnabledTooltipHeading',\n defaultMessage: 'Customized surveys',\n desc: {\n id: 'Pricing.tooltipCopy.CreateLogoEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 80`,\n project: PROJECT_NAME,\n },\n },\n create_logo_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.CreateLogoEnabledTooltip',\n defaultMessage: `Customize your survey's look and feel by adding your logo, selecting colors and web fonts, and uploading images. Create and save custom themes to quickly build on-brand surveys. You can also modify the ending of your survey's URL. For example: www.surveymonkey.com/s/your-survey`,\n desc: {\n id: 'Pricing.tooltipCopy.CreateLogoEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 81`,\n project: PROJECT_NAME,\n },\n },\n create_piping_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CreatePipingEnabledTooltipHeading',\n defaultMessage: 'Customized survey experience',\n desc: {\n id: 'Pricing.tooltipCopy.CreatePipingEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 82`,\n project: PROJECT_NAME,\n },\n },\n create_piping_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.CreatePipingEnabledTooltip',\n defaultMessage: `Get more ways to personalize each respondent's experience while taking your survey. Use skip logic to create custom paths through a survey based on each respondent's answers. With question & answer piping, you can insert answer text from a question into another question on a later page in the survey.`,\n desc: {\n id: 'Pricing.tooltipCopy.CreatePipingEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 83`,\n project: PROJECT_NAME,\n },\n },\n create_quotas_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CreateQuotasEnabledTooltipHeading',\n defaultMessage: 'Response quotas',\n desc: {\n id: 'Pricing.tooltipCopy.CreateQuotasEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 84`,\n project: PROJECT_NAME,\n },\n },\n create_quotas_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.CreateQuotasEnabledTooltip',\n defaultMessage: 'Close your survey automatically when you get all the qualified responses you need.',\n desc: {\n id: 'Pricing.tooltipCopy.CreateQuotasEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 85`,\n project: PROJECT_NAME,\n },\n },\n create_randomization_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CreateRandomizationEnabledTooltipHeading',\n defaultMessage: 'Question & page randomization',\n desc: {\n id: 'Pricing.tooltipCopy.CreateRandomizationEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 86`,\n project: PROJECT_NAME,\n },\n },\n create_randomization_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.CreateRandomizationEnabledTooltip',\n defaultMessage:\n 'Reduce answer bias by randomizing the order of the pages in a survey or the order of questions within a page.',\n desc: {\n id: 'Pricing.tooltipCopy.CreateRandomizationEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 87`,\n project: PROJECT_NAME,\n },\n },\n create_skip_logic_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CreateSkipLogicEnabledTooltipHeading',\n defaultMessage: 'Question and page skip logic',\n desc: {\n id: 'Pricing.tooltipCopy.CreateSkipLogicEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 88`,\n project: PROJECT_NAME,\n },\n },\n create_skip_logic_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.CreateSkipLogicEnabledTooltip',\n defaultMessage: `Create custom paths through surveys that change based on a respondent's answers. Skip logic is also known as 'conditional branching' or 'branch logic'.`,\n desc: {\n id: 'Pricing.tooltipCopy.CreateSkipLogicEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 89`,\n project: PROJECT_NAME,\n },\n },\n create_templates_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CreateTemplatesEnabledTooltipHeading',\n defaultMessage: 'Expert, pre-written survey templates',\n desc: {\n id: 'Pricing.tooltipCopy.CreateTemplatesEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 90`,\n project: PROJECT_NAME,\n },\n },\n create_templates_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.CreateTemplatesEnabledTooltip',\n defaultMessage:\n 'Choose from over 180 survey templates in our Question Bank library. All templates are certified by our expert methodologists.',\n desc: {\n id: 'Pricing.tooltipCopy.CreateTemplatesEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 91`,\n project: PROJECT_NAME,\n },\n },\n custom_question_bank_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CustomQuestionBankTooltipHeading',\n defaultMessage: 'Custom Question Bank',\n desc: {\n id: 'Pricing.tooltipCopy.CustomQuestionBankTooltipHeading',\n message: `${TYPE_HEADER} - 92`,\n project: PROJECT_NAME,\n },\n },\n custom_question_bank_tooltip: {\n id: 'Pricing.tooltipCopy.CustomQuestionBankTooltip',\n defaultMessage:\n 'Easily create pre-composed survey questions that are unique to your business, and to share them with your entire organization.',\n desc: {\n id: 'Pricing.tooltipCopy.CustomQuestionBankTooltip',\n message: `${TYPE_PARAGRAPH} - 93`,\n project: PROJECT_NAME,\n },\n },\n custom_subdomain_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CustomSubdomainTooltipHeading',\n defaultMessage: 'Custom subdomain',\n desc: {\n id: 'Pricing.tooltipCopy.CustomSubdomainTooltipHeading',\n message: `${TYPE_HEADER} - 94`,\n project: PROJECT_NAME,\n },\n },\n custom_subdomain_tooltip: {\n id: 'Pricing.tooltipCopy.CustomSubdomainTooltip',\n defaultMessage:\n 'Get a custom URL and landing page to ensure a seamlessly branded survey experience for your respondents.',\n desc: {\n id: 'Pricing.tooltipCopy.CustomSubdomainTooltip',\n message: `${TYPE_PARAGRAPH} - 95`,\n project: PROJECT_NAME,\n },\n },\n custom_templates_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CustomTemplatesTooltipHeading',\n defaultMessage: 'Shared templates',\n desc: {\n id: 'Pricing.tooltipCopy.CustomTemplatesTooltipHeading',\n message: `${TYPE_HEADER} - 96`,\n project: PROJECT_NAME,\n },\n },\n custom_templates_tooltip: {\n id: 'Pricing.tooltipCopy.CustomTemplatesTooltip',\n defaultMessage: 'Turn your custom surveys into standard templates that everyone in your team can use.',\n desc: {\n id: 'Pricing.tooltipCopy.CustomTemplatesTooltip',\n message: `${TYPE_PARAGRAPH} - 97`,\n project: PROJECT_NAME,\n },\n },\n customer_success_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CustomerSuccessTooltipHeading',\n defaultMessage: 'Customer success',\n desc: {\n id: 'Pricing.tooltipCopy.CustomerSuccessTooltipHeading',\n message: `${TYPE_HEADER} - 98`,\n project: PROJECT_NAME,\n },\n },\n customer_success_tooltip: {\n id: 'Pricing.tooltipCopy.CustomerSuccessTooltip',\n defaultMessage:\n 'Get a dedicated customer success manager to help you with onboarding, training users as well as implementing best practices to ensure optimal use of the SurveyMonkey platform across your organization.',\n desc: {\n id: 'Pricing.tooltipCopy.CustomerSuccessTooltip',\n message: `${TYPE_HEADER} - 99`,\n project: PROJECT_NAME,\n },\n },\n custom_terms_of_use_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CustomTermsOfUseTooltipHeading',\n defaultMessage: 'Custom Terms of Use',\n desc: {\n id: 'Pricing.tooltipCopy.CustomTermsOfUseTooltipHeading',\n message: `${TYPE_HEADER} - 100`,\n project: PROJECT_NAME,\n },\n },\n custom_terms_of_use_tooltip: {\n id: 'Pricing.tooltipCopy.CustomTermsOfUseTooltip',\n defaultMessage: `Ensure your employees opt in to your organization's Terms of Use for SurveyMonkey.`,\n desc: {\n id: 'Pricing.tooltipCopy.CustomTermsOfUseTooltip',\n message: `${TYPE_PARAGRAPH} - 101`,\n project: PROJECT_NAME,\n },\n },\n customer_success_manager_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CustomerSuccessManagerTooltipHeading',\n defaultMessage: 'Customer Success Manager',\n desc: {\n id: 'Pricing.tooltipCopy.CustomerSuccessManagerTooltipHeading',\n message: `${TYPE_HEADER} - 102`,\n project: PROJECT_NAME,\n },\n },\n customer_success_manager_tooltip: {\n id: 'Pricing.tooltipCopy.CustomerSuccessManagerTooltip',\n defaultMessage:\n 'Get a dedicated customer success manager to help you with onboarding, training users as well as implementing best practices to ensure optimal use of the SurveyMonkey platform across your organization.',\n desc: {\n id: 'Pricing.tooltipCopy.CustomerSuccessManagerTooltip',\n message: `${TYPE_PARAGRAPH} - 103`,\n project: PROJECT_NAME,\n },\n },\n dashboard_tooltip_heading: {\n id: 'Pricing.tooltipCopy.DashboardTooltipHeading',\n defaultMessage: 'Dashboard',\n desc: {\n id: 'Pricing.tooltipCopy.DashboardTooltipHeading',\n message: `${TYPE_HEADER} - 104`,\n project: PROJECT_NAME,\n },\n },\n dashboard_tooltip: {\n id: 'Pricing.tooltipCopy.DashboardTooltip',\n defaultMessage:\n 'Tell stories with your data by arranging charts, images, and findings in a custom layout. Share your dashboard with anyone.',\n desc: {\n id: 'Pricing.tooltipCopy.DashboardTooltip',\n message: `${TYPE_PARAGRAPH} - 105`,\n project: PROJECT_NAME,\n },\n },\n email_support_tooltip_heading: {\n id: 'Pricing.tooltipCopy.EmailSupportTooltipHeading',\n defaultMessage: SUPPORT,\n desc: {\n id: 'Pricing.tooltipCopy.EmailSupportTooltipHeading',\n message: `${TYPE_HEADER} - 106`,\n project: PROJECT_NAME,\n },\n },\n email_support_tooltip: {\n id: 'Pricing.tooltipCopy.EmailSupportTooltip',\n defaultMessage: SUPPORT_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.EmailSupportTooltip',\n message: `${TYPE_PARAGRAPH} - 107`,\n project: PROJECT_NAME,\n },\n },\n enhanced_governance_tooltip_heading: {\n id: 'Pricing.tooltipCopy.EnhancedGovernanceTooltipHeading',\n defaultMessage: 'Governance and security',\n desc: {\n id: 'Pricing.tooltipCopy.EnhancedGovernanceTooltipHeading',\n message: `${TYPE_HEADER} - 108`,\n project: PROJECT_NAME,\n },\n },\n enhanced_governance_tooltip: {\n id: 'Pricing.tooltipCopy.EnhancedGovernanceTooltip',\n defaultMessage:\n 'Get access to a vast array of governance and security features, including SSO for user authentication, data encryption, access controls, SSAE-16 SOC II compliant data centers and more.',\n desc: {\n id: 'Pricing.tooltipCopy.EnhancedGovernanceTooltip',\n message: `${TYPE_PARAGRAPH} - 109`,\n project: PROJECT_NAME,\n },\n },\n essential_question_types_tooltip_heading: {\n id: 'Pricing.tooltipCopy.EssentialQuestionTypesTooltipHeading',\n defaultMessage: 'Essential question types',\n desc: {\n id: 'Pricing.tooltipCopy.EssentialQuestionTypesTooltipHeading',\n message: `${TYPE_HEADER} - 110`,\n project: PROJECT_NAME,\n },\n },\n essential_question_types_tooltip: {\n id: 'Pricing.tooltipCopy.EssentialQuestionTypesTooltip',\n defaultMessage: 'Use essential questions such as multiple choice, checkboxes, dropdown, and text box.',\n desc: {\n id: 'Pricing.tooltipCopy.EssentialQuestionTypesTooltip',\n message: `${TYPE_PARAGRAPH} - 111`,\n project: PROJECT_NAME,\n },\n },\n extended_piping_tooltip_heading: {\n id: 'Pricing.tooltipCopy.ExtendedPipingTooltipHeading',\n defaultMessage: ADVANCED_LOGIC,\n desc: {\n id: 'Pricing.tooltipCopy.ExtendedPipingTooltipHeading',\n message: `${TYPE_HEADER} - 112`,\n project: PROJECT_NAME,\n },\n },\n extended_piping_tooltip: {\n id: 'Pricing.tooltipCopy.ExtendedPipingTooltip',\n defaultMessage: ADVANCED_LOGIC_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.ExtendedPipingTooltip',\n message: `${TYPE_PARAGRAPH} - 113`,\n project: PROJECT_NAME,\n },\n },\n extract_data_tooltip_heading: {\n id: 'Pricing.tooltipCopy.ExtractDataTooltipHeading',\n defaultMessage: 'Extract data',\n desc: {\n id: 'Pricing.tooltipCopy.ExtractDataTooltipHeading',\n message: `${TYPE_HEADER} - 114`,\n project: PROJECT_NAME,\n },\n },\n extract_data_tooltip: {\n id: 'Pricing.tooltipCopy.ExtractDataTooltip',\n defaultMessage: 'Extract and leverage your survey data using powerful 3rd-party integration tools.',\n desc: {\n id: 'Pricing.tooltipCopy.ExtractDataTooltip',\n message: `${TYPE_PARAGRAPH} - 115`,\n project: PROJECT_NAME,\n },\n },\n file_upload_tooltip_heading: {\n id: 'Pricing.tooltipCopy.FileUploadTooltipHeading',\n defaultMessage: 'File upload',\n desc: {\n id: 'Pricing.tooltipCopy.FileUploadTooltipHeading',\n message: `${TYPE_HEADER} - 116`,\n project: PROJECT_NAME,\n },\n },\n file_upload_tooltip: {\n id: 'Pricing.tooltipCopy.FileUploadTooltip',\n defaultMessage:\n 'Allow respondents to upload a file as part of their survey response. You can add up to 20 file upload questions per survey.',\n desc: {\n id: 'Pricing.tooltipCopy.FileUploadTooltip',\n message: `${TYPE_PARAGRAPH} - 117`,\n project: PROJECT_NAME,\n },\n },\n flexible_plan_types_tooltip_heading: {\n id: 'Pricing.tooltipCopy.FlexiblePlanTypesTooltipHeading',\n defaultMessage: 'Flexible plan types',\n desc: {\n id: 'Pricing.tooltipCopy.FlexiblePlanTypesTooltipHeading',\n message: `${TYPE_HEADER} - 118`,\n project: PROJECT_NAME,\n },\n },\n flexible_plan_types_tooltip: {\n id: 'Pricing.tooltipCopy.FlexiblePlanTypesTooltip',\n defaultMessage: `Enjoy flexible and custom plan types to fit your organization's survey needs.`,\n desc: {\n id: 'Pricing.tooltipCopy.FlexiblePlanTypesTooltip',\n message: `${TYPE_PARAGRAPH} - 119`,\n project: PROJECT_NAME,\n },\n },\n footer_branding_tooltip_heading: {\n id: 'Pricing.tooltipCopy.AnalyzeCanExportHideBrandingTooltipHeading',\n defaultMessage: 'Remove footer',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeCanExportHideBrandingTooltipHeading',\n message: `${TYPE_HEADER} - 120`,\n project: PROJECT_NAME,\n },\n },\n footer_branding_tooltip: {\n id: 'Pricing.tooltipCopy.AnalyzeCanExportHideBrandingTooltip',\n defaultMessage:\n 'Turn off the \"powered by SurveyMonkey\" footer that appears by default in your survey design, email invitation messages, and embedded surveys.',\n desc: {\n id: 'Pricing.tooltipCopy.AnalyzeCanExportHideBrandingTooltip',\n message: `${TYPE_PARAGRAPH} - 121`,\n project: PROJECT_NAME,\n },\n },\n gather_comments_tooltip_heading: {\n id: 'Pricing.tooltipCopy.GatherCommentsTooltipHeading',\n defaultMessage: 'Commenting feature',\n desc: {\n id: 'Pricing.tooltipCopy.GatherCommentsTooltipHeading',\n message: `${TYPE_HEADER} - 122`,\n project: PROJECT_NAME,\n },\n },\n gather_comments_tooltip: {\n id: 'Pricing.tooltipCopy.GatherCommentsTooltip',\n defaultMessage:\n 'Invite people to provide feedback on your survey projects all in one place. Our commenting feature allows you to share both survey drafts and results with anyone you want.',\n desc: {\n id: 'Pricing.tooltipCopy.GatherCommentsTooltip',\n message: `${TYPE_HEADER} - 123`,\n project: PROJECT_NAME,\n },\n },\n global_settings_tooltip_heading: {\n id: 'Pricing.tooltipCopy.GlobalSettingsTooltipHeading',\n defaultMessage: 'Global settings',\n desc: {\n id: 'Pricing.tooltipCopy.GlobalSettingsTooltipHeading',\n message: `${TYPE_HEADER} - 124`,\n project: PROJECT_NAME,\n },\n },\n global_settings_tooltip: {\n id: 'Pricing.tooltipCopy.GlobalSettingsTooltip',\n defaultMessage:\n 'Create global settings for everyone in your plan. Includes PII management, collector and respondent data settings, and Audience credits management.',\n desc: {\n id: 'Pricing.tooltipCopy.GlobalSettingsTooltip',\n message: `${TYPE_PARAGRAPH} - 125`,\n project: PROJECT_NAME,\n },\n },\n hipaa_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.HipaaEnabledTooltipHeading',\n defaultMessage: 'HIPAA-compliant features',\n desc: {\n id: 'Pricing.tooltipCopy.HipaaEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 126`,\n project: PROJECT_NAME,\n },\n },\n hipaa_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.HipaaEnabledTooltip',\n defaultMessage:\n 'Collect and manage Protected Health Information (PHI) through surveys. To enable HIPAA features, you must enter into a Business Associate Agreement (BAA) with SurveyMonkey.',\n desc: {\n id: 'Pricing.tooltipCopy.HipaaEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 127`,\n project: PROJECT_NAME,\n },\n },\n integrations_tooltip_heading: {\n id: 'Pricing.tooltipCopy.IntegrationsTooltipHeading',\n defaultMessage: 'Integrations',\n desc: {\n id: 'Pricing.tooltipCopy.IntegrationsTooltipHeading',\n message: `${TYPE_HEADER} - 128`,\n project: PROJECT_NAME,\n },\n },\n integrations_tooltip: {\n id: 'Pricing.tooltipCopy.IntegrationsTooltip',\n defaultMessage:\n 'Integrate your survey data into important business applications that your organization already uses such as Salesforce, Marketo, Oracle Eloqua, and Tableau.',\n desc: {\n id: 'Pricing.tooltipCopy.IntegrationsTooltip',\n message: `${TYPE_PARAGRAPH} - 129`,\n project: PROJECT_NAME,\n },\n },\n enterprise_only_integrations_tooltip_heading: {\n id: 'Pricing.tooltipCopy.EnterpriseOnlyIntegrationsTooltipHeading',\n defaultMessage: 'Enterprise-only integrations',\n desc: {\n id: 'Pricing.tooltipCopy.EnterpriseOnlyIntegrationsTooltipHeading',\n message: `${TYPE_HEADER} - 130`,\n project: PROJECT_NAME,\n },\n },\n enterprise_only_integrations_tooltip: {\n id: 'Pricing.tooltipCopy.EnterpriseOnlyIntegrationsTooltip',\n defaultMessage:\n 'Enterprise plans enjoy unlimited API access and can add on integrations with Salesforce, Marketo, Eloqua, Tableau, and more.',\n desc: {\n id: 'Pricing.tooltipCopy.EnterpriseOnlyIntegrationsTooltip',\n message: `${TYPE_PARAGRAPH} - 131`,\n project: PROJECT_NAME,\n },\n },\n kiosk_mode_inactivity_timer_tooltip_heading: {\n id: 'Pricing.tooltipCopy.KioskModeInactivityTimerTooltipHeading',\n defaultMessage: 'Kiosk Mode: Inactivity Timer',\n desc: {\n id: 'Pricing.tooltipCopy.KioskModeInactivityTimerTooltipHeading',\n message: `${TYPE_HEADER} - 132`,\n project: PROJECT_NAME,\n },\n },\n kiosk_mode_inactivity_timer_tooltip: {\n id: 'Pricing.tooltipCopy.KioskModeInactivityTimerTooltip',\n defaultMessage: `When a survey's inactive for the amount of time you choose, it will loop back to start for the next person. Available in the SurveyMonkey Anywhere app.`,\n desc: {\n id: 'Pricing.tooltipCopy.KioskModeInactivityTimerTooltip',\n message: `${TYPE_PARAGRAPH} - 133`,\n project: PROJECT_NAME,\n },\n },\n kiosk_mode_passcode_lock_tooltip_heading: {\n id: 'Pricing.tooltipCopy.KioskModePasscodeLockTooltipHeading',\n defaultMessage: 'Kiosk Mode: Passcode Lock',\n desc: {\n id: 'Pricing.tooltipCopy.KioskModePasscodeLockTooltipHeading',\n message: `${TYPE_HEADER} - 134`,\n project: PROJECT_NAME,\n },\n },\n kiosk_mode_passcode_lock_tooltip: {\n id: 'Pricing.tooltipCopy.KioskModePasscodeLockTooltip',\n defaultMessage:\n 'Keep your device secure-set a passcode that must be entered to exit the survey. Available in the SurveyMonkey Anywhere app.',\n desc: {\n id: 'Pricing.tooltipCopy.KioskModePasscodeLockTooltip',\n message: `${TYPE_PARAGRAPH} - 135`,\n project: PROJECT_NAME,\n },\n },\n labeling_titles_numbering_tooltip_heading: {\n id: 'Pricing.tooltipCopy.LabelingTitlesNumberingTooltipHeading',\n defaultMessage: 'Labeling, titles & numbering',\n desc: {\n id: 'Pricing.tooltipCopy.LabelingTitlesNumberingTooltipHeading',\n message: `${TYPE_HEADER} - 136`,\n project: PROJECT_NAME,\n },\n },\n labeling_titles_numbering_tooltip: {\n id: 'Pricing.tooltipCopy.LabelingTitlesNumberingTooltip',\n defaultMessage:\n 'Guide respondents through your surveys with labels, titles, and page numbers for any page in your surveys.',\n desc: {\n id: 'Pricing.tooltipCopy.LabelingTitlesNumberingTooltip',\n message: `${TYPE_PARAGRAPH} - 137`,\n project: PROJECT_NAME,\n },\n },\n menu_matrix_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.MenuMatrixEnabledTooltipHeading',\n defaultMessage: 'Matrix of dropdown menus',\n desc: {\n id: 'Pricing.tooltipCopy.MenuMatrixEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 138`,\n project: PROJECT_NAME,\n },\n },\n menu_matrix_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.MenuMatrixEnabledTooltip',\n defaultMessage:\n 'Allow respondents to evaluate several items using the same set of measurements by choosing from a preset list of answer choices.',\n desc: {\n id: 'Pricing.tooltipCopy.MenuMatrixEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 139`,\n project: PROJECT_NAME,\n },\n },\n mobile_apps_ios_android_tooltip_heading: {\n id: 'Pricing.tooltipCopy.MobileIosAndroidAppsTooltipHeading',\n defaultMessage: 'Mobile apps for iOS and Android',\n desc: {\n id: 'Pricing.tooltipCopy.MobileIosAndroidAppsTooltipHeading',\n message: `${TYPE_HEADER} - 140`,\n project: PROJECT_NAME,\n },\n },\n mobile_apps_ios_android_tooltip: {\n id: 'Pricing.tooltipCopy.MobileIosAndroidAppsTooltip',\n defaultMessage:\n 'Access the essential features you need to create a survey, collect responses, and analyze results with the free SurveyMonkey app for iOS and Android.',\n desc: {\n id: 'Pricing.tooltipCopy.MobileIosAndroidAppsTooltip',\n message: `${TYPE_PARAGRAPH} - 141`,\n project: PROJECT_NAME,\n },\n },\n mobile_sdk_pull_response_data_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.MobileSdkPullResponseDataEnabledTooltipHeading',\n defaultMessage: 'Mobile SDK - Data Pull',\n desc: {\n id: 'Pricing.tooltipCopy.MobileSdkPullResponseDataEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 142`,\n project: PROJECT_NAME,\n },\n },\n mobile_sdk_pull_response_data_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.MobileSdkPullResponseDataEnabledTooltip',\n defaultMessage:\n 'Take actions in your app based on survey responses collected through the Mobile SDK. For example, prompt people to leave a review if they enter a positive rating.',\n desc: {\n id: 'Pricing.tooltipCopy.MobileSdkPullResponseDataEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 143`,\n project: PROJECT_NAME,\n },\n },\n multilingual_tooltip_heading: {\n id: 'Pricing.tooltipCopy.MultilingualTooltipHeading',\n defaultMessage: 'Multilingual surveys',\n desc: {\n id: 'Pricing.tooltipCopy.MultilingualTooltipHeading',\n message: `${TYPE_HEADER} - 144`,\n project: PROJECT_NAME,\n },\n },\n multilingual_tooltip: {\n id: 'Pricing.tooltipCopy.MultilingualTooltip',\n defaultMessage: `Reach everyone in the language they're most comfortable with. Add multiple languages to a single survey, and analyze all your results together as one data set.`,\n desc: {\n id: 'Pricing.tooltipCopy.MultilingualTooltip',\n message: `${TYPE_PARAGRAPH} - 145`,\n project: PROJECT_NAME,\n },\n },\n multiple_block_rotation_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.MultipleBlockRotationEnabledTooltipHeading',\n defaultMessage: 'Block randomization',\n desc: {\n id: 'Pricing.tooltipCopy.MultipleBlockRotationEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 146`,\n project: PROJECT_NAME,\n },\n },\n multiple_block_rotation_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.MultipleBlockRotationEnabledTooltip',\n defaultMessage:\n 'Blocks are groups of pages, where each group contains related questions about a particular concept you want to test. You can use block randomization logic to rotate, flip, or randomize blocks to minimize order bias.',\n desc: {\n id: 'Pricing.tooltipCopy.MultipleBlockRotationEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 147`,\n project: PROJECT_NAME,\n },\n },\n num_free_responses_tooltip_heading: {\n id: 'Pricing.tooltipCopy.NumFreeResponsesTooltipHeading',\n defaultMessage: NUM_RESPONSES,\n desc: {\n id: 'Pricing.tooltipCopy.NumFreeResponsesTooltipHeading',\n message: `${TYPE_HEADER} - 148`,\n project: PROJECT_NAME,\n },\n },\n num_free_responses_tooltip: {\n id: 'Pricing.tooltipCopy.NumFreeResponsesTooltip',\n defaultMessage: NUM_RESPONSES_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.NumFreeResponsesTooltip',\n message: `${TYPE_PARAGRAPH} - 149`,\n project: PROJECT_NAME,\n },\n },\n payment_qt_tooltip_heading: {\n id: 'Pricing.tooltipCopy.PaymentQTTooltipHeading',\n defaultMessage: 'Accept payments',\n desc: {\n id: 'Pricing.tooltipCopy.PaymentQTTooltipHeading',\n message: `${TYPE_HEADER} - 150`,\n project: PROJECT_NAME,\n },\n },\n payment_qt_tooltip: {\n id: 'Pricing.tooltipCopy.PaymentQTTooltip',\n defaultMessage: 'Accept credit card payments from respondents in your surveys with our Stripe integration.',\n desc: {\n id: 'Pricing.tooltipCopy.PaymentQTTooltip',\n message: `${TYPE_PARAGRAPH} - 151`,\n project: PROJECT_NAME,\n },\n },\n phone_support_tooltip_heading: {\n id: 'Pricing.tooltipCopy.PhoneSupportTooltipHeading',\n defaultMessage: SUPPORT,\n desc: {\n id: 'Pricing.tooltipCopy.PhoneSupportTooltipHeading',\n message: `${TYPE_HEADER} - 152`,\n project: PROJECT_NAME,\n },\n },\n phone_support_tooltip: {\n id: 'Pricing.tooltipCopy.PhoneSupportTooltip',\n defaultMessage: SUPPORT_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.PhoneSupportTooltip',\n message: `${TYPE_PARAGRAPH} - 153`,\n project: PROJECT_NAME,\n },\n },\n benchmark_logic_tooltip_heading: {\n id: 'Pricing.tooltipCopy.PlansBenchmarkTooltipHeading',\n defaultMessage: 'SurveyMonkey industry benchmarks',\n desc: {\n id: 'Pricing.tooltipCopy.PlansBenchmarkTooltipHeading',\n message: `${TYPE_HEADER} - 154`,\n project: PROJECT_NAME,\n },\n },\n benchmark_logic_tooltip: {\n id: 'Pricing.tooltipCopy.PlansBenchmarkTooltip',\n defaultMessage: `Compare your results against the Industry Benchmark to understand how you're doing in the context of your greater industry. See your results in context to see how you measure up against your peers.`,\n desc: {\n id: 'Pricing.tooltipCopy.PlansBenchmarkTooltip',\n message: `${TYPE_PARAGRAPH} - 156`,\n project: PROJECT_NAME,\n },\n },\n plans_benchmarks_tooltip_heading: {\n id: 'Pricing.tooltipCopy.PlansBenchmarksTooltipHeading',\n defaultMessage: 'SurveyMonkey Global Benchmarks',\n desc: {\n id: 'Pricing.tooltipCopy.PlansBenchmarksTooltipHeading',\n message: `${TYPE_HEADER} - 157`,\n project: PROJECT_NAME,\n },\n },\n plans_benchmarks_tooltip: {\n id: 'Pricing.tooltipCopy.PlansBenchmarksTooltip',\n defaultMessage:\n 'SurveyMonkey Global Benchmarks give your results context by letting you compare them with the global average. More specific comparison data is available for an extra fee.',\n desc: {\n id: 'Pricing.tooltipCopy.PlansBenchmarksTooltip',\n message: `${TYPE_PARAGRAPH} - 158`,\n project: PROJECT_NAME,\n },\n },\n premium_themes_tooltip_heading: {\n id: 'Pricing.tooltipCopy.PremiumThemesTooltipHeading',\n defaultMessage: 'Premium themes',\n desc: {\n id: 'Pricing.tooltipCopy.PremiumThemesTooltipHeading',\n message: `${TYPE_HEADER} - 159`,\n project: PROJECT_NAME,\n },\n },\n premium_themes_tooltip: {\n id: 'Pricing.tooltipCopy.PremiumThemesTooltip',\n defaultMessage:\n 'Select from pre-designed themes to pick a survey theme that matches the topic of your survey. You can also edit the premium themes to create a fully customized design using colors, fonts, images and layouts.',\n desc: {\n id: 'Pricing.tooltipCopy.PremiumThemesTooltip',\n message: `${TYPE_PARAGRAPH} - 160`,\n project: PROJECT_NAME,\n },\n },\n priority_email_support_tooltip_heading: {\n id: 'Pricing.tooltipCopy.PrimaryEmailSupportTooltipHeading',\n defaultMessage: SUPPORT,\n desc: {\n id: 'Pricing.tooltipCopy.PrimaryEmailSupportTooltipHeading',\n message: `${TYPE_HEADER} - 161`,\n project: PROJECT_NAME,\n },\n },\n priority_email_support_tooltip: {\n id: 'Pricing.tooltipCopy.PrimaryEmailSupportTooltip',\n defaultMessage: SUPPORT_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.PrimaryEmailSupportTooltip',\n message: `${TYPE_PARAGRAPH} - 162`,\n project: PROJECT_NAME,\n },\n },\n private_apps_tooltip_heading: {\n id: 'Pricing.tooltipCopy.PrivateAppsTooltipHeading',\n defaultMessage: 'Unlimited API access',\n desc: {\n id: 'Pricing.tooltipCopy.PrivateAppsTooltipHeading',\n message: `${TYPE_HEADER} - 163`,\n project: PROJECT_NAME,\n },\n },\n private_apps_tooltip: {\n id: 'Pricing.tooltipCopy.PrivateAppsTooltip',\n defaultMessage:\n 'Get unlimited access to the SurveyMonkey API to integrate survey data into your mobile and web applications.',\n desc: {\n id: 'Pricing.tooltipCopy.PrivateAppsTooltip',\n message: `${TYPE_PARAGRAPH} - 164`,\n project: PROJECT_NAME,\n },\n },\n question_library_tooltip_heading: {\n id: 'Pricing.tooltipCopy.QuestionLibraryTooltipHeading',\n defaultMessage: 'Question Bank approved questions',\n desc: {\n id: 'Pricing.tooltipCopy.QuestionLibraryTooltipHeading',\n message: `${TYPE_HEADER} - 165`,\n project: PROJECT_NAME,\n },\n },\n question_library_tooltip: {\n id: 'Pricing.tooltipCopy.QuestionLibraryTooltip',\n defaultMessage:\n 'Rely on over 1800 pre-written survey questions (and 180+ survey templates), written by experts to make it easier to get great results.',\n desc: {\n id: 'Pricing.tooltipCopy.QuestionLibraryTooltip',\n message: `${TYPE_PARAGRAPH} - 166`,\n project: PROJECT_NAME,\n },\n },\n quizzes_pro_tooltip_heading: {\n id: 'Pricing.tooltipCopy.QuizzesProTooltipHeading',\n defaultMessage: 'Quizzes',\n desc: {\n id: 'Pricing.tooltipCopy.QuizzesProTooltipHeading',\n message: `${TYPE_HEADER} - 167`,\n project: PROJECT_NAME,\n },\n },\n quizzes_pro_tooltip: {\n id: 'Pricing.tooltipCopy.QuizzesProTooltip',\n defaultMessage: `Easily create tests and assessments with automatic scoring for employees, customers, students, and more. You can choose whether you want to display your respondent's score to them after they complete your quiz. You'll also be able to see rankings, segment response data, and access statistics for your results.`,\n desc: {\n id: 'Pricing.tooltipCopy.QuizzesProTooltip',\n message: `${TYPE_PARAGRAPH} - 168`,\n project: PROJECT_NAME,\n },\n },\n randomize_answer_choices_tooltip_heading: {\n id: 'Pricing.tooltipCopy.RandomizeAnswerChoicesTooltipHeading',\n defaultMessage: 'Randomize Answer Choices',\n desc: {\n id: 'Pricing.tooltipCopy.RandomizeAnswerChoicesTooltipHeading',\n message: `${TYPE_HEADER} - 169`,\n project: PROJECT_NAME,\n },\n },\n randomize_answer_choices_tooltip: {\n id: 'Pricing.tooltipCopy.RandomizeAnswerChoicesTooltip',\n defaultMessage: 'Reduce bias by randomly changing the order of answer choices for different respondents.',\n desc: {\n id: 'Pricing.tooltipCopy.RandomizeAnswerChoicesTooltip',\n message: `${TYPE_PARAGRAPH} - 170`,\n project: PROJECT_NAME,\n },\n },\n record_respondent_email_address_tooltip_heading: {\n id: 'Pricing.tooltipCopy.RecordRespondentEmailAddressTooltipHeading',\n defaultMessage: 'Record respondent email address',\n desc: {\n id: 'Pricing.tooltipCopy.RecordRespondentEmailAddressTooltipHeading',\n message: `${TYPE_HEADER} - 171`,\n project: PROJECT_NAME,\n },\n },\n record_respondent_email_address_tooltip: {\n id: 'Pricing.tooltipCopy.RecordRespondentEmailAddressTooltip',\n defaultMessage:\n 'Automatically record the email address of respondents to track who takes your surveys, or to follow up with them later.',\n desc: {\n id: 'Pricing.tooltipCopy.RecordRespondentEmailAddressTooltip',\n message: `${TYPE_PARAGRAPH} - 172`,\n project: PROJECT_NAME,\n },\n },\n recurring_surveys_tooltip_heading: {\n id: 'Pricing.tooltipCopy.RecurringSurveysTooltipHeading',\n defaultMessage: 'Recurring surveys',\n desc: {\n id: 'Pricing.tooltipCopy.RecurringSurveysTooltipHeading',\n message: `${TYPE_HEADER} - 173`,\n project: PROJECT_NAME,\n },\n },\n recurring_surveys_tooltip: {\n id: 'Pricing.tooltipCopy.RecurringSurveysTooltip',\n defaultMessage: `Recurring surveys make it easy to collect new results for the same survey on a weekly, monthly, or quarterly basis. We'll email you new survey links when they're ready, so all you need to do is copy each new link and send it to respondents. Filter your results by each occurrence to see how people responded differently over time.`,\n desc: {\n id: 'Pricing.tooltipCopy.RecurringSurveysTooltip',\n message: `${TYPE_PARAGRAPH} - 174`,\n project: PROJECT_NAME,\n },\n },\n respondent_receipt_tooltip_heading: {\n id: 'Pricing.tooltipCopy.RespondentReceiptTooltipHeading',\n defaultMessage: 'Confirmation Email to Respondents',\n desc: {\n id: 'Pricing.tooltipCopy.RespondentReceiptTooltipHeading',\n message: `${TYPE_HEADER} - 175`,\n project: PROJECT_NAME,\n },\n },\n respondent_receipt_tooltip: {\n id: 'Pricing.tooltipCopy.RespondentReceiptTooltip',\n defaultMessage:\n 'When distributing surveys with the email collector, send a confirmation email to each respondent with a copy of their answers.',\n desc: {\n id: 'Pricing.tooltipCopy.RespondentReceiptTooltip',\n message: `${TYPE_PARAGRAPH} - 176`,\n project: PROJECT_NAME,\n },\n },\n response_alerts_tooltip_heading: {\n id: 'Pricing.tooltipCopy.ResponseAlertsTooltipHeading',\n defaultMessage: 'Response alerts',\n desc: {\n id: 'Pricing.tooltipCopy.ResponseAlertsTooltipHeading',\n message: `${TYPE_HEADER} - 177`,\n project: PROJECT_NAME,\n },\n },\n response_alerts_tooltip: {\n id: 'Pricing.tooltipCopy.ResponseAlertsTooltip',\n defaultMessage: `Receive email notifications about new survey responses. You can share Response Alerts with other people (in or outside your team)-as long as you're the survey owner.`,\n desc: {\n id: 'Pricing.tooltipCopy.ResponseAlertsTooltip',\n message: `${TYPE_PARAGRAPH} - 178`,\n project: PROJECT_NAME,\n },\n },\n response_quality_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.ResponseQualityEnabledTooltipHeading',\n defaultMessage: 'Response quality',\n desc: {\n id: 'Pricing.tooltipCopy.ResponseQualityEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 179`,\n project: PROJECT_NAME,\n },\n },\n response_quality_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.ResponseQualityEnabledTooltip',\n defaultMessage:\n 'Response Quality uses machine learning to scan your survey results and flag poor-quality responses.',\n desc: {\n id: 'Pricing.tooltipCopy.ResponseQualityEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 180`,\n project: PROJECT_NAME,\n },\n },\n send_surveys_tooltip_heading: {\n id: 'Pricing.tooltipCopy.SendSurveysTooltipHeading',\n defaultMessage: 'Send surveys',\n desc: {\n id: 'Pricing.tooltipCopy.SendSurveysTooltipHeading',\n message: `${TYPE_HEADER} - 181`,\n project: PROJECT_NAME,\n },\n },\n send_surveys_tooltip: {\n id: 'Pricing.tooltipCopy.SendSurveysTooltip',\n defaultMessage: 'Seamlessly send surveys using powerful 3rd-party integration tools.',\n desc: {\n id: 'Pricing.tooltipCopy.SendSurveysTooltip',\n message: `${TYPE_PARAGRAPH} - 182`,\n project: PROJECT_NAME,\n },\n },\n share_surveys_tooltip_heading: {\n id: 'Pricing.tooltipCopy.ShareSurveysTooltipHeading',\n defaultMessage: 'Share survey data',\n desc: {\n id: 'Pricing.tooltipCopy.ShareSurveysTooltipHeading',\n message: `${TYPE_HEADER} - 183`,\n project: PROJECT_NAME,\n },\n },\n share_surveys_tooltip: {\n id: 'Pricing.tooltipCopy.ShareSurveysTooltip',\n defaultMessage: 'Invite anyone to view data from your survey.',\n desc: {\n id: 'Pricing.tooltipCopy.ShareSurveysTooltip',\n message: `${TYPE_PARAGRAPH} - 184`,\n project: PROJECT_NAME,\n },\n },\n shared_assets_tooltip_heading: {\n id: 'Pricing.tooltipCopy.SharedGroupAssetLibraryTooltipHeading',\n defaultMessage: 'Shared library',\n desc: {\n id: 'Pricing.tooltipCopy.SharedGroupAssetLibraryTooltipHeading',\n message: `${TYPE_HEADER} - 185`,\n project: PROJECT_NAME,\n },\n },\n shared_assets_tooltip: {\n id: 'Pricing.tooltipCopy.SharedGroupAssetsLibraryTooltip',\n defaultMessage: 'Get access to shared images, documents, themes, and templates that everyone in your team can use.',\n desc: {\n id: 'Pricing.tooltipCopy.SharedGroupAssetsLibraryTooltip',\n message: `${TYPE_PARAGRAPH} - 186`,\n project: PROJECT_NAME,\n },\n },\n shared_library_tooltip_heading: {\n id: 'Pricing.tooltipCopy.SharedLibraryTooltipHeading',\n defaultMessage: 'Shared library',\n desc: {\n id: 'Pricing.tooltipCopy.SharedLibraryTooltipHeading',\n message: `${TYPE_HEADER} - 187`,\n project: PROJECT_NAME,\n },\n },\n shared_library_tooltip: {\n id: 'Pricing.tooltipCopy.SharedLibraryTooltip',\n defaultMessage: 'Get access to shared images, documents, themes, and templates that everyone in your team can use.',\n desc: {\n id: 'Pricing.tooltipCopy.SharedLibraryTooltip',\n message: `${TYPE_PARAGRAPH} - 188`,\n project: PROJECT_NAME,\n },\n },\n show_create_crosstab_tooltip_heading: {\n id: 'Pricing.tooltipCopy.ShowCreateCrosstabTooltipHeading',\n defaultMessage: 'Crosstabs',\n desc: {\n id: 'Pricing.tooltipCopy.ShowCreateCrosstabTooltipHeading',\n message: `${TYPE_HEADER} - 189`,\n project: PROJECT_NAME,\n },\n },\n show_create_crosstab_tooltip: {\n id: 'Pricing.tooltipCopy.ShowCreateCrosstabTooltip',\n defaultMessage:\n 'Run advanced comparisons across multiple questions, uncover statistically significant differences, and share your crosstab report with anyone.',\n desc: {\n id: 'Pricing.tooltipCopy.ShowCreateCrosstabTooltip',\n message: `${TYPE_PARAGRAPH} - 190`,\n project: PROJECT_NAME,\n },\n },\n show_sig_diffs_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopy.ShowSigDiffsEnabledTooltipHeading',\n defaultMessage: 'Statistical significance',\n desc: {\n id: 'Pricing.tooltipCopy.ShowSigDiffsEnabledTooltipHeading',\n message: `${TYPE_HEADER} - 191`,\n project: PROJECT_NAME,\n },\n },\n show_sig_diffs_enabled_tooltip: {\n id: 'Pricing.tooltipCopy.ShowSigDiffsEnabledTooltip',\n defaultMessage: 'Use to see if there are statistically significant differences between response groups.',\n desc: {\n id: 'Pricing.tooltipCopy.ShowSigDiffsEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 192`,\n project: PROJECT_NAME,\n },\n },\n single_sign_on_tooltip_heading: {\n id: 'Pricing.tooltipCopy.SingleSignOnTooltipHeading',\n defaultMessage: 'Single sign-on',\n desc: {\n id: 'Pricing.tooltipCopy.SingleSignOnTooltipHeading',\n message: `${TYPE_HEADER} - 193`,\n project: PROJECT_NAME,\n },\n },\n single_sign_on_tooltip: {\n id: 'Pricing.tooltipCopy.SingleSignOnTooltip',\n defaultMessage:\n 'Control access to SurveyMonkey across the organization and define authentication policies for increased security and governance.',\n desc: {\n id: 'Pricing.tooltipCopy.SingleSignOnTooltip',\n message: `${TYPE_PARAGRAPH} - 194`,\n project: PROJECT_NAME,\n },\n },\n skip_logic_tooltip_heading: {\n id: 'Pricing.tooltipCopy.CreateSkipLogicEnabledHeading',\n defaultMessage: 'Customized survey experience',\n desc: {\n id: 'Pricing.tooltipCopy.CreateSkipLogicEnabledHeading',\n message: `${TYPE_HEADER} - 195`,\n project: PROJECT_NAME,\n },\n },\n skip_logic_tooltip: {\n id: 'Pricing.tooltipCopy.SkipLogicEnabledTooltip',\n defaultMessage: `Get more ways to personalize each respondent's experience while taking your survey. Use skip logic to create custom paths through a survey based on each respondent's answers. With question & answer piping, you can insert answer text from a question into another question on a later page in the survey.`,\n desc: {\n id: 'Pricing.tooltipCopy.SkipLogicEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - 196`,\n project: PROJECT_NAME,\n },\n },\n statistical_significance_tooltip_heading: {\n id: 'Pricing.tooltipCopy.StatisticalSignificanceTooltipHeading',\n defaultMessage: ADVANCED_SURVEY_LOGIC,\n desc: {\n id: 'Pricing.tooltipCopy.StatisticalSignificanceTooltipHeading',\n message: `${TYPE_HEADER} - 197`,\n project: PROJECT_NAME,\n },\n },\n statistical_significance_tooltip: {\n id: 'Pricing.tooltipCopy.StatisticalSignificanceTooltip',\n defaultMessage: ADVANCED_SURVEY_LOGIC_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.StatisticalSignificanceTooltip',\n message: `${TYPE_PARAGRAPH} - 198`,\n project: PROJECT_NAME,\n },\n },\n survey_branding_tooltip_heading: {\n id: 'Pricing.tooltipCopy.SurveyBrandingTooltipHeading',\n defaultMessage: 'Customized surveys',\n desc: {\n id: 'Pricing.tooltipCopy.SurveyBrandingTooltipHeading',\n message: `${TYPE_HEADER} - 199`,\n project: PROJECT_NAME,\n },\n },\n survey_branding_tooltip: {\n id: 'Pricing.tooltipCopy.SurveyBrandingTooltip',\n defaultMessage: `Customize your survey's look and feel by adding your logo, selecting colors and web fonts, and uploading images. Create and save custom themes to quickly build on-brand surveys. You can also modify the ending of your survey's URL. For example: www.surveymonkey.com/s/your-survey`,\n desc: {\n id: 'Pricing.tooltipCopy.SurveyBrandingTooltip',\n message: `${TYPE_PARAGRAPH} - 200`,\n project: PROJECT_NAME,\n },\n },\n survey_create_limit_tooltip_heading: {\n id: 'Pricing.tooltipCopy.SurveyCreateLimitTooltipHeading',\n defaultMessage: 'Number of surveys',\n desc: {\n id: 'Pricing.tooltipCopy.SurveyCreateLimitTooltipHeading',\n message: `${TYPE_HEADER} - 201`,\n project: PROJECT_NAME,\n },\n },\n survey_create_limit_tooltip: {\n id: 'Pricing.tooltipCopy.SurveyCreateLimitTooltip',\n defaultMessage: 'You can create and send as many surveys, polls, and quizzes as you need with any plan.',\n desc: {\n id: 'Pricing.tooltipCopy.SurveyCreateLimitTooltip',\n message: `${TYPE_PARAGRAPH} - 202`,\n project: PROJECT_NAME,\n },\n },\n team_activity_tooltip_heading: {\n id: 'Pricing.tooltipCopy.TeamActivityTooltipHeading',\n defaultMessage: 'Team activity',\n desc: {\n id: 'Pricing.tooltipCopy.TeamActivityTooltipHeading',\n message: `${TYPE_HEADER} - 203`,\n project: PROJECT_NAME,\n },\n },\n team_activity_tooltip: {\n id: 'Pricing.tooltipCopy.TeamActivityTooltip',\n defaultMessage: `Track all user activity in your Enterprise account, such as user logins, survey creation, survey sharing, survey exports, etc. with the ability to search and filter through audit logs.`,\n desc: {\n id: 'Pricing.tooltipCopy.TeamActivityTooltip',\n message: `${TYPE_PARAGRAPH} - 204`,\n project: PROJECT_NAME,\n },\n },\n team_logic_tooltip_heading: {\n id: 'Pricing.tooltipCopy.TeamLogicTooltipHeading',\n defaultMessage: 'Team management',\n desc: {\n id: 'Pricing.tooltipCopy.TeamLogicTooltipHeading',\n message: `${TYPE_HEADER} - 205`,\n project: PROJECT_NAME,\n },\n },\n team_logic_tooltip: {\n id: 'Pricing.tooltipCopy.TeamLogicTooltip',\n defaultMessage: `If you're the Primary Admin or Admin of a team, you can invite more people to join the team and manage existing accounts.`,\n desc: {\n id: 'Pricing.tooltipCopy.TeamLogicTooltip',\n message: `${TYPE_PARAGRAPH} - 206`,\n project: PROJECT_NAME,\n },\n },\n team_ownership_tooltip_heading: {\n id: 'Pricing.tooltipCopy.TeamOwnershipTooltipHeading',\n defaultMessage: 'Team ownership',\n desc: {\n id: 'Pricing.tooltipCopy.TeamOwnershipTooltipHeading',\n message: `${TYPE_HEADER} - 207`,\n project: PROJECT_NAME,\n },\n },\n team_ownership_tooltip: {\n id: 'Pricing.tooltipCopy.TeamOwnershipTooltip',\n defaultMessage: 'Choose whether you or your organization owns all the accounts within your team in SurveyMonkey.',\n desc: {\n id: 'Pricing.tooltipCopy.TeamOwnershipTooltip',\n message: `${TYPE_PARAGRAPH} - 208`,\n project: PROJECT_NAME,\n },\n },\n team_themes_tooltip_heading: {\n id: 'Pricing.tooltipCopy.TeamThemesTooltipHeading',\n defaultMessage: 'Shared themes',\n desc: {\n id: 'Pricing.tooltipCopy.TeamThemesTooltipHeading',\n message: `${TYPE_HEADER} - 209`,\n project: PROJECT_NAME,\n },\n },\n team_themes_tooltip: {\n id: 'Pricing.tooltipCopy.TeamThemesTooltip',\n defaultMessage: `Share custom themes with your team to stay consistent with your brand's look and feel.`,\n desc: {\n id: 'Pricing.tooltipCopy.TeamThemesTooltip',\n message: `${TYPE_PARAGRAPH} - 210`,\n project: PROJECT_NAME,\n },\n },\n text_analysis_tooltip_heading: {\n id: 'Pricing.tooltipCopy.TextAnalysisTooltipHeading',\n defaultMessage: ADVANCED_SURVEY_LOGIC,\n desc: {\n id: 'Pricing.tooltipCopy.TextAnalysisTooltipHeading',\n message: `${TYPE_HEADER} - 211`,\n project: PROJECT_NAME,\n },\n },\n text_analysis_tooltip: {\n id: 'Pricing.tooltipCopy.TextAnalysisTooltip',\n defaultMessage: ADVANCED_SURVEY_LOGIC_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.TextAnalysisTooltip',\n message: `${TYPE_PARAGRAPH} - 212`,\n project: PROJECT_NAME,\n },\n },\n unlimited_questions_tooltip_heading: {\n id: 'Pricing.tooltipCopy.UnlimitedQuestionsTooltipHeading',\n defaultMessage: 'Questions per survey',\n desc: {\n id: 'Pricing.tooltipCopy.UnlimitedQuestionsTooltipHeading',\n message: `${TYPE_HEADER} - 213`,\n project: PROJECT_NAME,\n },\n },\n unlimited_questions_tooltip: {\n id: 'Pricing.tooltipCopy.UnlimitedQuestionsTooltip',\n defaultMessage:\n 'Some of our plans only allow a certain number of questions for each survey you send. All plans allow you to create and send as many surveys as you want.',\n desc: {\n id: 'Pricing.tooltipCopy.UnlimitedQuestionsTooltip',\n message: `${TYPE_PARAGRAPH} - 214`,\n project: PROJECT_NAME,\n },\n },\n unlimited_responses_tooltip_heading: {\n id: 'Pricing.tooltipCopy.UnlimitedResponsesTooltipHeading',\n defaultMessage: NUM_RESPONSES,\n desc: {\n id: 'Pricing.tooltipCopy.UnlimitedResponsesTooltipHeading',\n message: `${TYPE_HEADER} - 215`,\n project: PROJECT_NAME,\n },\n },\n unlimited_responses_tooltip: {\n id: 'Pricing.tooltipCopy.UnlimitedResponsesTooltip',\n defaultMessage: NUM_RESPONSES_TOOLTIP,\n desc: {\n id: 'Pricing.tooltipCopy.UnlimitedResponsesTooltip',\n message: `${TYPE_PARAGRAPH} - 216`,\n project: PROJECT_NAME,\n },\n },\n user_management_tooltip_heading: {\n id: 'Pricing.tooltipCopy.UserManagementTooltipHeading',\n defaultMessage: 'Additional users',\n desc: {\n id: 'Pricing.tooltipCopy.UserManagementTooltipHeading',\n message: `${TYPE_HEADER} - 217`,\n project: PROJECT_NAME,\n },\n },\n user_management_tooltip: {\n id: 'Pricing.tooltipCopy.UserManagementTooltip',\n defaultMessage:\n 'Business plans start at 3 Full Users, and allow you to invite more Full Users to your SurveyMonkey team for an additional fee. With a team plan, you can add Contributor seats in bundles of 2 as a cost-effective way to add stakeholders to focus solely on analyzing survey results. Enterprise plans allow you to add as many users as you need across your organization and allows for broad collaboration at scale.',\n desc: {\n id: 'Pricing.tooltipCopy.UserManagementTooltip',\n message: `${TYPE_PARAGRAPH} - 218`,\n project: PROJECT_NAME,\n },\n },\n validate_answer_tooltip_heading: {\n id: 'Pricing.tooltipCopy.ValidateAnswerTooltipHeading',\n defaultMessage: 'Answer validation',\n desc: {\n id: 'Pricing.tooltipCopy.ValidateAnswerTooltipHeading',\n message: `${TYPE_HEADER} - 219`,\n project: PROJECT_NAME,\n },\n },\n validate_answer_tooltip: {\n id: 'Pricing.tooltipCopy.ValidateAnswerTooltip',\n defaultMessage: 'Require the text in survey responses to meet formatting and content criteria you set.',\n desc: {\n id: 'Pricing.tooltipCopy.ValidateAnswerTooltip',\n message: `${TYPE_PARAGRAPH} - 220`,\n project: PROJECT_NAME,\n },\n },\n view_respondent_ip_address_tooltip_heading: {\n id: 'Pricing.tooltipCopy.ViewRespondentIpAddressTooltipHeading',\n defaultMessage: `View respondent's IP address`,\n desc: {\n id: 'Pricing.tooltipCopy.ViewRespondentIpAddressTooltipHeading',\n message: `${TYPE_HEADER} - 221`,\n project: PROJECT_NAME,\n },\n },\n view_respondent_ip_address_tooltip: {\n id: 'Pricing.tooltipCopy.ViewRespondentIpAddressTooltip',\n defaultMessage:\n 'Automatically record the IP address of respondents to get a better sense of who answers your surveys.',\n desc: {\n id: 'Pricing.tooltipCopy.ViewRespondentIpAddressTooltip',\n message: `${TYPE_PARAGRAPH} - 222`,\n project: PROJECT_NAME,\n },\n },\n word_cloud_combine_hide_tooltip_heading: {\n id: 'Pricing.tooltipCopy.WordCloudCombineHideTooltipHeading',\n defaultMessage: 'Word clouds: Combine or hide words',\n desc: {\n id: 'Pricing.tooltipCopy.WordCloudCombineHideTooltipHeading',\n message: `${TYPE_HEADER} - 223`,\n project: PROJECT_NAME,\n },\n },\n word_cloud_combine_hide_tooltip: {\n id: 'Pricing.tooltipCopy.WordCloudCombineHideTooltip',\n defaultMessage:\n 'Get more control over the words that appear in your word cloud. Combine similar words, hide others, and choose the frequency of words to include.',\n desc: {\n id: 'Pricing.tooltipCopy.WordCloudCombineHideTooltip',\n message: `${TYPE_PARAGRAPH} - 224`,\n project: PROJECT_NAME,\n },\n },\n});\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nimport { TYPE_HEADER, TYPE_PARAGRAPH } from '~pricing/lib/PackageFeatures/tooltipCopy';\n\nexport default defineMessages({\n analyze_export_enabled_tooltip: {\n id: 'Pricing.tooltipCopyOverrides.DetailsAnalyzeExportEnabledTooltip',\n defaultMessage: 'N/A', // These are are overrides not to show the toop tip either in details or summary\n desc: {\n id: 'Pricing.tooltipCopyOverrides.DetailsAnalyzeExportEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - DetailsAnalyzeExportEnabledTooltip`,\n project: PROJECT_NAME,\n },\n },\n analyze_export_spss_enabled_tooltip: {\n id: 'Pricing.tooltipCopyOverrides.DetailsAnalyzeExportSPSSEnabledTooltip',\n defaultMessage: 'N/A',\n desc: {\n id: 'Pricing.tooltipCopyOverrides.DetailsAnalyzeExportSPSSEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - DetailsAnalyzeExportSPSSEnabledTooltip`,\n project: PROJECT_NAME,\n },\n },\n phone_support_tooltip: {\n id: 'Pricing.tooltipCopyOverrides.DetailsPhoneSupportTooltip',\n defaultMessage: 'N/A',\n desc: {\n id: 'Pricing.tooltipCopyOverrides.DetailsPhoneSupportTooltip',\n message: `${TYPE_PARAGRAPH} - DetailsPhoneSupportTooltip`,\n project: PROJECT_NAME,\n },\n },\n email_support_tooltip: {\n id: 'Pricing.tooltipCopyOverrides.DetailsEmailSupportTooltip',\n defaultMessage: 'N/A',\n desc: {\n id: 'Pricing.tooltipCopyOverrides.DetailsEmailSupportTooltip',\n message: `${TYPE_PARAGRAPH} - DetailsEmailSupportTooltip`,\n project: PROJECT_NAME,\n },\n },\n priority_email_support_tooltip: {\n id: 'Pricing.tooltipCopyOverrides.DetailsPriorityEmailSupportTooltip',\n defaultMessage: 'N/A',\n desc: {\n id: 'Pricing.tooltipCopyOverrides.DetailsPriorityEmailSupportTooltip',\n message: `${TYPE_PARAGRAPH} - DetailsPriorityEmailSupportTooltip`,\n project: PROJECT_NAME,\n },\n },\n analyze_combine_filters_tooltip_heading: {\n id: 'Pricing.tooltipCopyOverrides.DetailsCombineFiltersTooltipHeading',\n defaultMessage: 'Filter and compare results',\n desc: {\n id: 'Pricing.tooltipCopyOverrides.DetailsCombineFiltersTooltipHeading',\n message: `${TYPE_HEADER} - DetailsCombineFiltersTooltipHeading`,\n project: PROJECT_NAME,\n },\n },\n analyze_combine_filters_tooltip: {\n id: 'Pricing.tooltipCopyOverrides.DetailsCombineFiltersTooltip',\n defaultMessage:\n 'Filter your results and compare how different groups answered the questions in your survey. Segment your data to uncover trends and correlations in your data.',\n desc: {\n id: 'Pricing.tooltipCopyOverrides.DetailsCombineFiltersTooltip',\n message: `${TYPE_PARAGRAPH} - DetailsCombineFiltersTooltip`,\n project: PROJECT_NAME,\n },\n },\n create_logo_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopyOverrides.DetailsCreateLogoEnabledTooltipHeading',\n defaultMessage: 'Add your logo',\n desc: {\n id: 'Pricing.tooltipCopyOverrides.DetailsCreateLogoEnabledTooltipHeading',\n message: `${TYPE_HEADER} - DetailsCreateLogoEnabledTooltipHeading`,\n project: PROJECT_NAME,\n },\n },\n create_logo_enabled_tooltip: {\n id: 'Pricing.tooltipCopyOverrides.DetailsCreateLogoEnabledTooltip',\n defaultMessage: `Make your survey stand out. Add a custom image or logo, and personalize the work you send.`,\n desc: {\n id: 'Pricing.tooltipCopyOverrides.DetailsCreateLogoEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - DetailsCreateLogoEnabledTooltip`,\n project: PROJECT_NAME,\n },\n },\n create_piping_enabled_tooltip_heading: {\n id: 'Pricing.tooltipCopyOverrides.DetailsCreatePipingEnabledTooltipHeading',\n defaultMessage: 'Question & answer piping',\n desc: {\n id: 'Pricing.tooltipCopyOverrides.DetailsCreatePipingEnabledTooltipHeading',\n message: `${TYPE_HEADER} - DetailsCreatePipingEnabledTooltipHeading`,\n project: PROJECT_NAME,\n },\n },\n create_piping_enabled_tooltip: {\n id: 'Pricing.tooltipCopyOverrides.DetailsCreatePipingEnabledTooltip',\n defaultMessage: `Take respondents' answers from a previous question to personalize questions on a later page in the survey.`,\n desc: {\n id: 'Pricing.tooltipCopyOverrides.DetailsCreatePipingEnabledTooltip',\n message: `${TYPE_PARAGRAPH} - DetailsCreatePipingEnabledTooltip`,\n project: PROJECT_NAME,\n },\n },\n quizzes_pro_tooltip_heading: {\n id: 'Pricing.tooltipCopyOverrides.DetailsQuizzesProTooltipHeading',\n defaultMessage: 'Quizzes pro',\n desc: {\n id: 'Pricing.tooltipCopyOverrides.DetailsQuizzesProTooltipHeading',\n message: `${TYPE_HEADER} - DetailsQuizzesProTooltipHeading`,\n project: PROJECT_NAME,\n },\n },\n quizzes_pro_tooltip: {\n id: 'Pricing.tooltipCopyOverrides.DetailsQuizzesProTooltip',\n defaultMessage:\n 'Show custom feedback for correct, partially correct, and incorrect responses as people take your quiz. At the end, show people custom feedback based on their overall score. Quizzes Pro also lets you email people their quiz results automatically, or export your quiz statistics in PDF, XLS, and CSV format.',\n desc: {\n id: 'Pricing.tooltipCopyOverrides.DetailsQuizzesProTooltip',\n message: `${TYPE_PARAGRAPH} - DetailsQuizzesProTooltip`,\n project: PROJECT_NAME,\n },\n },\n});\n","const PNP_REFRESH_V1 = 'GROW-2792';\nconst DESC_MESSAGE = '[Type: String][Vis.: high] - features summary - A string in pricing experiment GROW-2792';\n\nconst experimentSummaryCopy = {\n grow_2792_base_response_count: {\n id: 'Pricing.cellCopy.BaseResponseCount',\n defaultMessage: '{amount} responses per year**',\n desc: {\n id: 'Pricing.experimentSummaryCopy.BaseResponseCount',\n message: `${DESC_MESSAGE} - BaseResponseCount`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_skip_logic: {\n id: 'Pricing.experimentSummaryCopy.JustSkipLogic',\n defaultMessage: 'Skip logic',\n desc: {\n id: 'Pricing.experimentSummaryCopy.JustSkipLogic',\n message: `${DESC_MESSAGE} - SkipLogic`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_create_custom_theme_enabled: {\n id: 'Pricing.experimentSummaryCopy.CreateCustomThemesEnabled',\n defaultMessage: 'Custom themes, colors, and more',\n desc: {\n id: 'Pricing.experimentSummaryCopy.CreateCustomThemesEnabled',\n message: `${DESC_MESSAGE} - CreateCustomThemesEnabled`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_custom_colors: {\n id: 'Pricing.experimentSummaryCopy.CustomColors',\n defaultMessage: 'Custom colors',\n desc: {\n id: 'Pricing.experimentSummaryCopy.CustomColors',\n message: `${DESC_MESSAGE} - CustomColors`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_custom_colors_survey_url: {\n id: 'Pricing.experimentSummaryCopy.CustomColorsSurveyUrl',\n defaultMessage: 'Custom colors & survey URL',\n desc: {\n id: 'Pricing.experimentSummaryCopy.CustomColorsSurveyUrl',\n message: `${DESC_MESSAGE} - CustomColorsSurveyUrl`,\n project: PNP_REFRESH_V1,\n },\n },\n // needed for tooltip override\n grow_2792_priority_email_support: {\n id: 'Pricing.copy.SummaryPrimaryEmailSupport',\n defaultMessage: '24/7 expedited email support',\n desc: {\n id: 'Pricing.copy.SummaryPrimaryEmailSupport',\n message: `${DESC_MESSAGE} - SummaryPrimaryEmailSupport`,\n project: PNP_REFRESH_V1,\n },\n },\n // needed for tooltip override\n grow_2792_phone_support: {\n id: 'Pricing.copy.SummaryPhoneSupport',\n defaultMessage: 'Phone support and 24/7 email support',\n desc: {\n id: 'Pricing.copy.SummaryPhoneSupport',\n message: `${DESC_MESSAGE} - SummaryPhoneSupport`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_single_user: {\n id: 'Pricing.experimentSummaryCopy.SingleUser',\n defaultMessage: 'Single user',\n desc: {\n id: 'Pricing.experimentSummaryCopy.SingleUser',\n message: `${DESC_MESSAGE} - SingleUser`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_basic_base_response_count: {\n id: 'Pricing.experimentSummaryCopy.ResponseCount',\n defaultMessage: '{amount} responses per survey',\n desc: {\n id: 'Pricing.experimentSummaryCopy.ResponseCount',\n message: `${DESC_MESSAGE} - ResponseCount`,\n project: PNP_REFRESH_V1,\n },\n },\n // needed for tooltip override\n grow_2792_basic_create_question_limit: {\n id: 'Pricing.experimentSummaryCopy.QuestionsPerFormSurveyBasic',\n defaultMessage: '{amount} questions per survey',\n desc: {\n id: 'Pricing.experimentSummaryCopy.QuestionsPerFormSurveyBasic',\n message: `${DESC_MESSAGE} - QuestionsPerFormSurveyBasic`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_create_question_limit: {\n id: 'Pricing.experimentSummaryCopy.QuestionsPerFormSurvey',\n defaultMessage: '{amount} questions per survey',\n desc: {\n id: 'Pricing.experimentSummaryCopy.QuestionsPerFormSurvey',\n message: `${DESC_MESSAGE} - QuestionsPerFormSurvey`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_collector_create_limit: {\n id: 'Pricing.experimentSummaryCopy.CollectorsPerSurvey',\n defaultMessage: '{amount} collectors per survey',\n desc: {\n id: 'Pricing.experimentSummaryCopy.CollectorsPerSurvey',\n message: `${DESC_MESSAGE} - CollectorsPerSurvey`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_support: {\n id: 'Pricing.experimentSummaryCopy.Support',\n defaultMessage: '24/7 email support',\n desc: {\n id: 'Pricing.experimentSummaryCopy.Support',\n message: `${DESC_MESSAGE} - Support`,\n },\n },\n grow_2792_forms_advantage_team: {\n id: 'Pricing.experimentSummaryCopy.FormsAdvantageUser',\n defaultMessage: 'Single user',\n desc: {\n id: 'Pricing.experimentSummaryCopy.FormsAdvantageUser',\n message: `${DESC_MESSAGE} - SingleUser`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_team_collaboration_user: {\n id: 'Pricing.experimentSummaryCopy.TeamCollaborationUser',\n defaultMessage: 'Team collaboration with 3+ users',\n desc: {\n id: 'Pricing.experimentSummaryCopy.TeamCollaborationUser',\n message: `${DESC_MESSAGE} - TeamCollaborationUser`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_advanced_team_collaboration_user: {\n id: 'Pricing.experimentSummaryCopy.AdvancedTeamCollaborationUser',\n defaultMessage: 'Advanced team collaboration',\n desc: {\n id: 'Pricing.experimentSummaryCopy.AdvancedTeamCollaborationUser',\n message: `${DESC_MESSAGE} - AdvancedTeamCollaborationUser`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_survey_create_limit: {\n id: 'Pricing.experimentSummaryCopy.SurveyFormsCreateLimit',\n defaultMessage: 'Unlimited surveys and forms',\n desc: {\n id: 'Pricing.experimentSummaryCopy.SurveyFormsCreateLimit',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_unlimited_questions: {\n id: 'Pricing.experimentSummaryCopy.UnlimitedFieldsPerForm',\n defaultMessage: 'Unlimited questions per survey',\n desc: {\n id: 'Pricing.experimentSummaryCopy.UnlimitedFieldsPerForm',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_essential_question_types: {\n id: 'Pricing.copy.SummaryEssentialQuestionTypesOnly',\n defaultMessage: 'Essential question types only',\n desc: {\n id: 'Pricing.experimentSummaryCopy.SummaryEssentialQuestionTypes',\n message: `${DESC_MESSAGE} - SummaryEssentialQuestionTypesOnly`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_forms_question_types: {\n id: 'Pricing.experimentSummaryCopy.FormsQuestionTypes',\n defaultMessage: 'Form question types',\n desc: {\n id: 'Pricing.experimentSummaryCopy.FormsQuestionTypesDesc',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_all_question_types_t1_t2: {\n id: 'Pricing.experimentSummaryCopy.AllQuestionTypes',\n defaultMessage: 'All question types',\n desc: {\n id: 'Pricing.experimentSummaryCopy.AllQuestionTypesDesc',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_all_question_types_t3: {\n id: 'Pricing.experimentSummaryCopy.AllQuestionTypes',\n defaultMessage: 'All question types',\n desc: {\n id: 'Pricing.experimentSummaryCopy.AllQuestionTypesDesc',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_basic_question_types: {\n id: 'Pricing.experimentSummaryCopy.BasicQuestionTypes',\n defaultMessage: 'Essential question types only',\n desc: {\n id: 'Pricing.experimentSummaryCopy.BasicQuestionTypes',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_analyze_export_enabled: {\n id: 'Pricing.experimentSummaryCopy.AnalyzeExportEnabled',\n defaultMessage: 'Data exports (CSV, PDF, PPT, XLS)',\n desc: {\n id: 'Pricing.experimentSummaryCopy.AnalyzeExportEnabledDesc',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_website_embed: {\n id: 'Pricing.experimentSummaryCopy.WebsiteEmbed',\n defaultMessage: 'Website embed',\n desc: {\n id: 'Pricing.experimentSummaryCopy.WebsiteEmbed',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_zapier_integrations: {\n id: 'Pricing.experimentSummaryCopy.ZapierIntegrations',\n defaultMessage: '5000+ integrations with Zapier',\n desc: {\n id: 'Pricing.experimentSummaryCopy.ZapierIntegrations',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_text_analysis: {\n id: 'Pricing.experimentSummaryCopy.TextAnalysis',\n defaultMessage: 'Text Analysis',\n desc: {\n id: 'Pricing.experimentSummaryCopy.TextAnalysis',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_a_b_testing: {\n id: 'Pricing.experimentSummaryCopy.ABTesting',\n defaultMessage: 'A/B testing & Statistical Significance',\n desc: {\n id: 'Pricing.experimentSummaryCopy.ABTesting',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_custom_response_limits: {\n id: 'Pricing.experimentSummaryCopy.CustomResponseLimits',\n defaultMessage: 'Custom response limits',\n desc: {\n id: 'Pricing.experimentSummaryCopy.CustomResponseLimits',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n\n // IPPM specific features\n grow_2792_ippm_a_b_testing: {\n id: 'Pricing.experimentIPPMSummaryCopy.ABTesting',\n defaultMessage: 'A/B test text and images',\n desc: {\n id: 'Pricing.experimentIPPMSummaryCopy.ABTesting',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_ippm_create_piping_enabled: {\n id: 'Pricing.experimentIPPMSummaryCopy.CreatePipingEnabled',\n defaultMessage: 'Question & answer piping',\n desc: {\n id: 'Pricing.experimentIPPMSummaryCopy.CreatePipingEnabled',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_ippm_best_worst_scale: {\n id: 'Pricing.experimentIPPMSummaryCopy.BestWorstScale',\n defaultMessage: 'Best worst scale',\n desc: {\n id: 'Pricing.experimentIPPMSummaryCopy.BestWorstScale',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_ippm_response_count: {\n id: 'Pricing.cellCopy.IPPMResponseCount',\n defaultMessage: '{amount} responses per {frequency}**',\n desc: {\n id: 'Pricing.experimentSummaryCopy.IPPMResponseCount',\n message: `${DESC_MESSAGE} - IPPMResponseCount`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_ippm_advanced_data_exports: {\n id: 'Pricing.cellCopy.IPPMAdvancedDataExports',\n defaultMessage: 'Advanced data exports',\n desc: {\n id: 'Pricing.experimentSummaryCopy.IPPMAdvancedDataExports',\n message: `${DESC_MESSAGE} - IPPMAdvancedDataExports`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_advanced_branching: {\n id: 'Pricing.experimentIPPMSummaryCopy.AdvancedBranching',\n defaultMessage: 'Advanced Branching Logic',\n desc: {\n id: 'Pricing.experimentIPPMSummaryCopy.AdvancedBranching',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_star_rating_question_type: {\n id: 'Pricing.experimentIPPMPaidFeatureCopy.StarRating',\n defaultMessage: 'Rating question',\n desc: {\n id: 'Pricing.experimentIPPMPaidFeatureCopy.StarRating',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_textbox_multiple_question_type: {\n id: 'Pricing.experimentIPPMPaidFeatureCopy.MultipleTextboxes',\n defaultMessage: 'Multiple Textboxes',\n desc: {\n id: 'Pricing.experimentIPPMPaidFeatureCopy.MultipleTextboxes',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_comment_box_question_type: {\n id: 'Pricing.experimentIPPMPaidFeatureCopy.CommentBox',\n defaultMessage: 'Comment box question',\n desc: {\n id: 'Pricing.experimentIPPMPaidFeatureCopy.CommentBox',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_create_custom_chatbot_avatar: {\n id: 'Pricing.experimentIPPMPaidFeatureCopy.CustomAvatar',\n defaultMessage: 'Add your custom avatar',\n desc: {\n id: 'Pricing.experimentIPPMPaidFeatureCopy.CustomAvatar',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_funneling_enabled: {\n id: 'Pricing.experimentIPPMPaidFeatureCopy.Funneling',\n defaultMessage: 'Carry Forward Responses',\n desc: {\n id: 'Pricing.experimentIPPMPaidFeatureCopy.Funneling',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_create_random_assignment_enabled: {\n id: 'Pricing.experimentIPPMPaidFeatureCopy.RandomAssignment',\n defaultMessage: 'A/B test text and images',\n desc: {\n id: 'Pricing.experimentIPPMPaidFeatureCopy.RandomAssignment',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_ippm_create_question_limit: {\n id: 'Pricing.experimentSummaryCopy.IPPMQuestionsPerFormSurvey',\n defaultMessage: 'Unlimited questions',\n desc: {\n id: 'Pricing.experimentSummaryCopy.IPPMQuestionsPerFormSurvey',\n message: `${DESC_MESSAGE} - IPPM QuestionsPerFormSurvey`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_ippm_file_upload: {\n id: 'Pricing.experimentSummaryCopy.IPPMFileUplaod',\n defaultMessage: 'Let survey takers upload files',\n desc: {\n id: 'Pricing.experimentSummaryCopy.IPPMFileUplaod',\n message: `${DESC_MESSAGE} - IPPMFileUplaod`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_ippm_matrix_question_type: {\n id: 'Pricing.experimentSummaryCopy.IPPMMatrixQuestionType',\n defaultMessage: 'Matrix/Rating Scale questions',\n desc: {\n id: 'Pricing.experimentSummaryCopy.IPPMMatrixQuestionType',\n message: `${DESC_MESSAGE} - IPPMMatrixQuestionType`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_ippm_create_randomization_enabled_question: {\n id: 'Pricing.experimentSummaryCopy.IPPMCreateRandomizationEnabledQuestions',\n defaultMessage: 'Randomize questions',\n desc: {\n id: 'Pricing.experimentSummaryCopy.IPPMCreateRandomizationEnabledQuestions',\n message: `${DESC_MESSAGE} - IPPMCreateRandomizationEnabledQuestions`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_ippm_create_randomization_enabled_page: {\n id: 'Pricing.experimentSummaryCopy.IPPMCreateRandomizationEnabledPage',\n defaultMessage: 'Randomize pages',\n desc: {\n id: 'Pricing.experimentSummaryCopy.IPPMCreateRandomizationEnabledPage',\n message: `${DESC_MESSAGE} - IPPMCreateRandomizationEnabledPage`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_ippm_create_custom_theme_enabled: {\n id: 'Pricing.experimentSummaryCopy.IPPMCreateCustomTheme',\n defaultMessage: 'Custom themes',\n desc: {\n id: 'Pricing.experimentSummaryCopy.IPPMCreateCustomTheme',\n message: `${DESC_MESSAGE} - IPPMCreateCustomTheme`,\n project: PNP_REFRESH_V1,\n },\n },\n};\n\nexport default experimentSummaryCopy;\n","import grow2792ExperimentSummaryCopy from '~pricing/experiments/grow_2792_pnp_refresh_v1/copy/experimentSummaryCopy';\n\nconst EXPERIMENT_SUMMARY_COPY = {\n ...grow2792ExperimentSummaryCopy,\n};\n\nexport default EXPERIMENT_SUMMARY_COPY;\n","import GROW_2792_EXPERIMENT_DETAILS_COPY from '~app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/copy/experimentDetailsCopy';\n\nconst EXPERIMENT_DETAILS_COPY = {\n ...GROW_2792_EXPERIMENT_DETAILS_COPY,\n};\n\nexport default EXPERIMENT_DETAILS_COPY;\n","const PNP_REFRESH_V1 = 'GROW-2792';\nconst DESC_MESSAGE = '[Type: String][Vis.: high] - form features tooltips - A string in pricing experiment GROW-2729';\nconst TEAM_COLLABORATION_HEADING = 'Team Collaboration';\nconst TEAM_COLLABORATION_TOOLTIP = `Build, edit, analyze and comment on surveys together, plus access a shared asset library for on-brand surveys. As admin, you can invite more people to join the team and manage existing accounts. Available for Advantage and Premier members with 3+ users on an annual account. Advanced collaboration features available for enterprise customers.`;\nconst QUESTION_TYPES_HEADING = 'Question types';\nconst QUESTION_TYPES_EXCEPT_FORMS = `

Pick from 25+ question types on our Free plan, or upgrade to a paid plan to ensure you get exactly the information you need.

\n

Paid plans include all our question types, including file upload, rating and matrix questions, and more.

`;\nconst CUSTOMER_SUPPORT = '24/7 customer support';\nconst CUSTOMER_SUPPORT_TOOLTIP = `

We provide 24/7 email support on all plans. Emails from Advantage and Premier customers are prioritized to receive responses as quickly as possible.

\n

We also offer phone support on Premier and Enterprise.

`;\nconst QUESTIONS_PER_SURVEY = 'Questions per survey';\n\nconst experimentTooltipCopy = {\n grow_2792_single_user_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.SingleUserTooltipHeading',\n defaultMessage: TEAM_COLLABORATION_HEADING,\n desc: {\n id: 'Pricing.experimentTooltipCopy.SingleUserTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_single_user_tooltip: {\n id: 'Pricing.experimentTooltipCopy.SingleUserTooltip',\n defaultMessage: TEAM_COLLABORATION_TOOLTIP,\n desc: {\n id: 'Pricing.experimentTooltipCopy.SingleUserTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_basic_base_response_count_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.BasicResponseCountTooltipHeading',\n defaultMessage: 'Number of responses',\n desc: {\n id: 'Pricing.experimentTooltipCopy.BasicResponseCountTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_basic_base_response_count_tooltip: {\n id: 'Pricing.experimentTooltipCopy.BasicResponseCountTooltip',\n defaultMessage: `

Each plan has a limited number of responses as indicated. Free users must upgrade to view responses in excess of the response limit.

\n

For paid plans, users will be invoiced up to $0.15 USD or equivalent for each response over their response limit.

`,\n desc: {\n id: 'Pricing.experimentTooltipCopy.BasicResponseCountTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_custom_response_limits_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.CustomResponseLimitsTooltipHeading',\n defaultMessage: 'Number of responses',\n desc: {\n id: 'Pricing.experimentTooltipCopy.CustomResponseLimitsTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_custom_response_limits_tooltip: {\n id: 'Pricing.experimentTooltipCopy.CustomResponseLimitsTooltip',\n defaultMessage: `

Each plan has a limited number of responses as indicated. Free users must upgrade to view responses in excess of the response limit.

\n

For paid plans, users will be invoiced up to $0.15 USD or equivalent for each response over their response limit.

`,\n desc: {\n id: 'Pricing.experimentTooltipCopy.CustomResponseLimitsTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_base_response_count_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.BaseResponseCountTooltipHeading',\n defaultMessage: 'Number of responses',\n desc: {\n id: 'Pricing.experimentTooltipCopy.BaseResponseCountTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_base_response_count_tooltip: {\n id: 'Pricing.experimentTooltipCopy.BaseResponseCountTooltip',\n defaultMessage: `

Each plan has a limited number of responses as indicated. Free users must upgrade to view responses in excess of the response limit.

\n

For paid plans, users will be invoiced up to $0.15 USD or equivalent for each response over their response limit.

`,\n desc: {\n id: 'Pricing.experimentTooltipCopy.BaseResponseCountTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_forms_advantage_team_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.FormsAdvantageTeamTooltipHeading',\n defaultMessage: 'Start a team to collaborate',\n desc: {\n id: 'Pricing.experimentTooltipCopy.FormsAdvantageTeamTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_forms_advantage_team_tooltip: {\n id: 'Pricing.experimentTooltipCopy.FormsAdvantageTeamTooltip',\n defaultMessage: `

Add 3+ users on Advantage or Premier Annual to create and analyze surveys with others. Get features like shared assets, commenting, roles and permissions, and more.

\n

Advanced collaboration is available on Enterprise.

`,\n desc: {\n id: 'Pricing.experimentTooltipCopy.FormsAdvantageTeamTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_team_collaboration_user_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.TeamCollaborationUserTooltipHeading',\n defaultMessage: 'Start a team to collaborate',\n desc: {\n id: 'Pricing.experimentTooltipCopy.TeamCollaborationUserTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_team_collaboration_user_tooltip: {\n id: 'Pricing.experimentTooltipCopy.TeamCollaborationUserTooltip',\n defaultMessage: `

Add 3+ users on Advantage or Premier Annual to create and analyze surveys with others. Get features like shared assets, commenting, roles and permissions, and more.

\n

Advanced collaboration is available on Enterprise.

`,\n desc: {\n id: 'Pricing.experimentTooltipCopy.TeamCollaborationUserTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_advanced_team_collaboration_user_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.AdvancedTeamCollaborationUserTooltipHeading',\n defaultMessage: 'Start a team to collaborate',\n desc: {\n id: 'Pricing.experimentTooltipCopy.AdvancedTeamCollaborationUserTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_advanced_team_collaboration_user_tooltip: {\n id: 'Pricing.experimentTooltipCopy.AdvancedTeamCollaborationUserTooltip',\n defaultMessage: `

Add 3+ users on Advantage or Premier Annual to create and analyze surveys with others. Get features like shared assets, commenting, roles and permissions, and more.

\n

Advanced collaboration is available on Enterprise.

`,\n desc: {\n id: 'Pricing.experimentTooltipCopy.AdvancedTeamCollaborationUserTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_survey_create_limit_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.SurveyCreateLimitTooltipHeading',\n defaultMessage: 'Number of surveys and forms',\n desc: {\n id: 'Pricing.experimentTooltipCopy.SurveyCreateLimitTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_survey_create_limit_tooltip: {\n id: 'Pricing.experimentTooltipCopy.SurveyCreateLimitTooltip',\n defaultMessage: 'You can create and send as many surveys, polls, forms, and quizzes as you need with any plan.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.SurveyCreateLimitTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_unlimited_questions_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.UnlimitedQuestionsTooltipHeading',\n defaultMessage: QUESTIONS_PER_SURVEY,\n desc: {\n id: 'Pricing.experimentTooltipCopy.UnlimitedQuestionsTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_unlimited_questions_tooltip: {\n id: 'Pricing.experimentTooltipCopy.UnlimitedQuestionsTooltip',\n defaultMessage: 'You can add unlimited questions to a survey and unlimited fields to a form with any paid plan.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.UnlimitedQuestionsTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_forms_question_types_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.FormsQuestionTypesTooltipHeading',\n defaultMessage: QUESTION_TYPES_HEADING,\n desc: {\n id: 'Pricing.experimentTooltipCopy.FormsQuestionTypesTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_forms_question_types_tooltip: {\n id: 'Pricing.experimentTooltipCopy.FormsQuestionTypesTooltip',\n defaultMessage: `

Basic is limited to essential question types only. With the Forms plan, you'll have what you need to collect contact information, online orders, and more.

\n

Advantage, Premier, and Enterprise include all our question types, including rating, slider, and matrix questions.

`,\n desc: {\n id: 'Pricing.experimentTooltipCopy.FormsQuestionTypesTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_all_question_types_t1_t2_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.AllQuestionTypesTooltipHeading',\n defaultMessage: QUESTION_TYPES_HEADING,\n desc: {\n id: 'Pricing.experimentTooltipCopy.AllQuestionTypesTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_all_question_types_t1_t2_tooltip: {\n id: 'Pricing.experimentTooltipCopy.AllQuestionTypesTooltip',\n defaultMessage: `

Basic is limited to essential question types only. With the Forms plan, you'll have what you need to collect contact information, online orders, and more.

\n

Advantage, Premier, and Enterprise include all our question types, including rating, slider, and matrix questions.

`,\n desc: {\n id: 'Pricing.experimentTooltipCopy.AllQuestionTypesTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_all_question_types_t3_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.AllQuestionTypesTooltipHeading',\n defaultMessage: QUESTION_TYPES_HEADING,\n desc: {\n id: 'Pricing.experimentTooltipCopy.AllQuestionTypesTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_all_question_types_t3_tooltip: {\n id: 'Pricing.experimentTooltipCopy.AllQuestionTypesTooltip',\n defaultMessage: QUESTION_TYPES_EXCEPT_FORMS,\n desc: {\n id: 'Pricing.experimentTooltipCopy.AllQuestionTypesTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_essential_question_types_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.AllQuestionTypesTooltipHeading',\n defaultMessage: QUESTION_TYPES_HEADING,\n desc: {\n id: 'Pricing.experimentTooltipCopy.AllQuestionTypesTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_essential_question_types_tooltip: {\n id: 'Pricing.experimentTooltipCopy.AllQuestionTypesTooltip',\n defaultMessage: QUESTION_TYPES_EXCEPT_FORMS,\n desc: {\n id: 'Pricing.experimentTooltipCopy.AllQuestionTypesTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_analyze_export_enabled_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.AnalyzeExportEnabledTooltipHeading',\n defaultMessage: 'Data exports',\n desc: {\n id: 'Pricing.experimentTooltipCopy.AnalyzeExportEnabledTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_analyze_export_enabled_tooltip: {\n id: 'Pricing.experimentTooltipCopy.AnalyzeExportEnabledTooltip',\n defaultMessage: `Create and print custom charts and reports quickly and easily. You'll be able to download survey results in several file formats, including as CSV, PDF, PPT, or XLS files. Export for SPSS for Premier and Enterprise members.`,\n desc: {\n id: 'Pricing.experimentTooltipCopy.AnalyzeExportEnabledTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_website_embed_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.WebsiteEmbedTooltipHeading',\n defaultMessage: 'Website embed',\n desc: {\n id: 'Pricing.experimentTooltipCopy.WebsiteEmbedTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_website_embed_tooltip: {\n id: 'Pricing.experimentTooltipCopy.WebsiteEmbedTooltip',\n defaultMessage: 'Seamlessly embed a form or survey on your website, or present them in a pop-up message.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.WebsiteEmbedTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_zapier_integrations_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.ZapierIntegrationsTooltipHeading',\n defaultMessage: '5000+ integrations with Zapier',\n desc: {\n id: 'Pricing.experimentTooltipCopy.ZapierIntegrationsTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_zapier_integrations_tooltip: {\n id: 'Pricing.experimentTooltipCopy.ZapierIntegrationsTooltip',\n defaultMessage:\n 'Zapier lets you connect SurveyMonkey with thousands of the most popular apps, so you can automate your workflow and have more time for what matters most—no code required.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.ZapierIntegrationsTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_skip_logic_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.SkipLogicTooltipHeading',\n defaultMessage: 'Customized survey experience',\n desc: {\n id: 'Pricing.experimentTooltipCopy.SkipLogicTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_skip_logic_tooltip: {\n id: 'Pricing.experimentTooltipCopy.DataExportsTooltip',\n defaultMessage: `Get more ways to personalize each respondent's experience while taking your survey. Use skip logic to create custom paths through a survey based on each respondent's answers. With question & answer piping, you can insert answer text from a question into another question on a later page in the survey.`,\n desc: {\n id: 'Pricing.experimentTooltipCopy.DataExportsTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_create_custom_theme_enabled_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.CreateCustomThemeEnabledTooltipHeading',\n defaultMessage: 'Custom themes, colors & more',\n desc: {\n id: 'Pricing.experimentTooltipCopy.CreateCustomThemeEnabledTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_create_custom_theme_enabled_tooltip: {\n id: 'Pricing.experimentTooltipCopy.CreateCustomThemeEnabledTooltip',\n defaultMessage:\n 'Create custom themes to change the look and feel of your survey. You can edit the colors of different survey elements and choose from several web fonts for your survey.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.CreateCustomThemeEnabledTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_text_analysis_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.TextAnalysisTooltipHeading',\n defaultMessage: 'Text Analysis',\n desc: {\n id: 'Pricing.experimentTooltipCopy.TextAnalysisTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_text_analysis_tooltip: {\n id: 'Pricing.experimentTooltipCopy.TextAnalysisTooltip',\n defaultMessage:\n 'Use text analysis to search and categorize open-ended responses and quickly see frequently used words and phrases.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.TextAnalysisTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_a_b_testing_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.ABTestingTooltipHeading',\n defaultMessage: 'A/B test question type & statistical significance analysis',\n desc: {\n id: 'Pricing.experimentTooltipCopy.ABTestingTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_a_b_testing_tooltip: {\n id: 'Pricing.experimentTooltipCopy.ABTestingTooltip',\n defaultMessage:\n 'Conduct A/B tests and test for answer bias by randomly segmenting respondents to see different images or text. Use statistical significance analysis to see if there are statistically significant differences between response groups.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.ABTestingTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_recurring_surveys_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.RecurringFormsSurveysTooltip',\n defaultMessage: 'Recurring forms & surveys',\n desc: {\n id: 'Pricing.experimentTooltipCopy.RecurringFormsSurveysTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_recurring_surveys_tooltip: {\n id: 'Pricing.experimentTooltipCopy.RecurringFormsSurveysTooltipDescription',\n defaultMessage: `Recurring forms & surveys make it easy to collect new results for the same forms & surveys on a weekly, monthly, or quarterly basis. We'll email you new survey links when they're ready, so all you need to do is copy each new link and send it to respondents. Filter your results by each occurrence to see how people responded differently over time.`,\n desc: {\n id: 'Pricing.experimentTooltipCopy.RecurringFormsSurveysTooltipDescription',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_customer_success_manager_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.CustomerSuccessManagerTooltip',\n defaultMessage: 'Customer Success Manager',\n desc: {\n id: 'Pricing.experimentTooltipCopy.CustomerSuccessManagerTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_customer_success_manager_tooltip: {\n id: 'Pricing.experimentTooltipCopy.CustomerSuccessManagerTooltipDescription',\n defaultMessage:\n 'Get a dedicated customer success manager to help you with onboarding, training users as well as implementing best practices to ensure optimal use of the SurveyMonkey platform across your organization.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.CustomerSuccessManagerTooltipDescription',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_advanced_collaboration_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.AdvancedCollaborationTooltip',\n defaultMessage: 'Contributor seats',\n desc: {\n id: 'Pricing.experimentTooltipCopy.AdvancedCollaborationTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_advanced_collaboration_tooltip: {\n id: 'Pricing.experimentTooltipCopy.AdvancedCollaborationTooltipDescription',\n defaultMessage:\n 'While purchasing a team plan, you can add Contributor seats as a cost-effective way to include more stakeholders to analyze survey results. Contributors can use SurveyMonkey analysis features but cannot create or send surveys. Full Users on your team can share surveys with Contributors.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.AdvancedCollaborationTooltipDescription',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_database_response_view_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.DatabaseResponseViewTooltip',\n defaultMessage: 'Database response view',\n desc: {\n id: 'Pricing.experimentTooltipCopy.DatabaseResponseViewTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_database_response_view_tooltip: {\n id: 'Pricing.experimentTooltipCopy.DatabaseResponseViewTooltipDescription',\n defaultMessage: 'View and manage all of your responses in one table.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.DatabaseResponseViewTooltipDescription',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_dashboard_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.DashboardTooltipHeading',\n defaultMessage: 'Dashboard',\n desc: {\n id: 'Pricing.experimentTooltipCopy.DashboardTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_dashboard_tooltip: {\n id: 'Pricing.experimentTooltipCopy.DashboardTooltip',\n defaultMessage:\n 'Tell stories with your data by arranging charts, images, and findings in a custom layout. Share your dashboard with anyone.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.DashboardTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_dashboard_pwd_protection_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.DashboardPwdProtectionTooltipHeading',\n defaultMessage: 'Dashboard: Password protection',\n desc: {\n id: 'Pricing.experimentTooltipCopy.DashboardPwdProtectionTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_dashboard_pwd_protection_tooltip: {\n id: 'Pricing.experimentTooltipCopy.DashboardPwdProtectionTooltip',\n defaultMessage: 'Set a password for your dashboards for share more securely.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.DashboardPwdProtectionTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_support_tooltip_heading: {\n id: 'Pricing.tooltipCopy.EmailSupportTooltipHeading',\n defaultMessage: CUSTOMER_SUPPORT,\n desc: {\n id: 'Pricing.experimentTooltipCopy.EmailSupportTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_support_tooltip: {\n id: 'Pricing.tooltipCopy.EmailSupportTooltip',\n defaultMessage: CUSTOMER_SUPPORT_TOOLTIP,\n desc: {\n id: 'Pricing.experimentTooltipCopy.EmailSupportTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_word_cloud_combine_hide_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.WordCloudCombineHideTooltipHeading',\n defaultMessage: 'Word clouds: Combine or hide words',\n desc: {\n id: 'Pricing.experimentTooltipCopy.WordCloudCombineHideTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_word_cloud_combine_hide_tooltip: {\n id: 'Pricing.experimentTooltipCopy.WordCloudCombineHideTooltip',\n defaultMessage:\n 'Get more control over the words that appear in your word cloud. Combine similar words, hide others, and choose the frequency of words to include.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.WordCloudCombineHideTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n // basic/free tooltips\n grow_2792_basic_question_types_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.BasicQuestionTypesTooltipHeading',\n defaultMessage: 'Question types',\n desc: {\n id: 'Pricing.experimentTooltipCopy.BasicQuestionTypesTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_basic_question_types_tooltip: {\n id: 'Pricing.experimentTooltipCopy.BasicQuestionTypesTooltip',\n defaultMessage: QUESTION_TYPES_EXCEPT_FORMS,\n desc: {\n id: 'Pricing.experimentTooltipCopy.BasicQuestionTypesTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_basic_create_question_limit_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.BasicCreateQuestionLimitTooltipHeading',\n defaultMessage: QUESTIONS_PER_SURVEY,\n desc: {\n id: 'Pricing.experimentTooltipCopy.BasicCreateQuestionLimitTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_basic_create_question_limit_tooltip: {\n id: 'Pricing.experimentTooltipCopy.BasicCreateQuestionLimitTooltip',\n defaultMessage: 'Get up to 10 questions per survey for free. Upgrade to any paid plan to add unlimited questions.',\n desc: {\n id: 'Pricing.experimentTooltipCopy.BasicCreateQuestionLimitTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_create_question_limit_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.QuestionsPerFormSurveyTooltipHeading',\n defaultMessage: QUESTIONS_PER_SURVEY,\n desc: {\n id: 'Pricing.experimentTooltipCopy.QuestionsPerFormSurveyTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_create_question_limit_tooltip: {\n id: 'Pricing.experimentTooltipCopy.QuestionsPerFormSurveyTooltip',\n defaultMessage: QUESTION_TYPES_EXCEPT_FORMS,\n desc: {\n id: 'Pricing.experimentTooltipCopy.QuestionsPerFormSurveyTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_priority_email_support_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.SummaryPrimaryEmailSupportTooltipHeading',\n defaultMessage: CUSTOMER_SUPPORT,\n desc: {\n id: 'Pricing.experimentTooltipCopy.SummaryPrimaryEmailSupportTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_priority_email_support_tooltip: {\n id: 'Pricing.experimentTooltipCopy.SummaryPrimaryEmailSupportTooltip',\n defaultMessage: CUSTOMER_SUPPORT_TOOLTIP,\n desc: {\n id: 'Pricing.experimentTooltipCopy.SummaryPrimaryEmailSupportTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_phone_support_tooltip_heading: {\n id: 'Pricing.experimentTooltipCopy.SummaryPrimaryEmailSupportTooltipHeading',\n defaultMessage: CUSTOMER_SUPPORT,\n desc: {\n id: 'Pricing.experimentTooltipCopy.SummaryPrimaryEmailSupportTooltipHeading',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_phone_support_tooltip: {\n id: 'Pricing.experimentTooltipCopy.PhoneSupportTooltip',\n defaultMessage: CUSTOMER_SUPPORT_TOOLTIP,\n desc: {\n id: 'Pricing.experimentTooltipCopy.PhoneSupportTooltip',\n message: DESC_MESSAGE,\n project: PNP_REFRESH_V1,\n },\n },\n};\n\nexport default experimentTooltipCopy;\n","import GROW_2792_EXPERIMENT_TOOLTIP_COPY from '~pricing/experiments/grow_2792_pnp_refresh_v1/copy/experimentTooltipCopy';\n\nconst EXPERIMENT_TOOLTIP_COPY = {\n ...GROW_2792_EXPERIMENT_TOOLTIP_COPY,\n};\n\nexport default EXPERIMENT_TOOLTIP_COPY;\n","// Standard copy\nimport SUMMARY_COPY from './summary/copy';\nimport DETAILS_COPY from './details/copy';\n\n// Common Overrides\nimport COMMON_TOOLTIP_COPY from './tooltipCopy';\n\n// Details Overrides\nimport DETAILS_TOOLTIP_COPY from './details/tooltipCopyOverrides';\n\n// Experiment Overrides\nimport EXPERIMENT_SUMMARY_COPY from './summary/experimentCopy';\nimport EXPERIMENT_DETAILS_COPY from './details/experimentCopy';\nimport EXPERIMENT_TOOLTIP_COPY from './experimentTooltipCopy';\n\nexport const NOT_APPLICABLE = 'N/A'; // see src/app/pages/Pricing/lib/packageFeatures/details/tooltipCopy.ts\n\nexport const SUMMARY_MERGED_COPY = Object.freeze({\n ...COMMON_TOOLTIP_COPY,\n ...SUMMARY_COPY,\n ...EXPERIMENT_SUMMARY_COPY,\n ...EXPERIMENT_TOOLTIP_COPY,\n});\nexport const DETAILS_MERGED_COPY = Object.freeze({\n ...COMMON_TOOLTIP_COPY,\n ...DETAILS_TOOLTIP_COPY,\n ...DETAILS_COPY,\n ...EXPERIMENT_DETAILS_COPY,\n ...EXPERIMENT_TOOLTIP_COPY,\n});\n","import { t } from '@sm/intl';\n\nimport { DisplayFeatureStatic } from '~shared/types/pricing/features';\nimport { Copy } from '~shared/types/pricing/copy';\n\nimport { SUMMARY_MERGED_COPY, DETAILS_MERGED_COPY, NOT_APPLICABLE } from './constants';\nimport { SUMMARY_COPY_TYPE, DETAILS_COPY_TYPE } from './types';\n\n/**\n * A formatter method that takes a map of l10n ready strings and builds a DisplayFeatureStatic\n * object populating summary/tooltip values wrapped with l10n formatting\n *\n * @param COPY_MAP The l10n copy object that will be referenced in building DisplayFeature objects\n * @returns A curried function that will generate DisplayFeature objects with l10n formatting\n */\nfunction createFeatureFormatter(COPY_MAP: T) {\n return (featureName: string, formatValues?: Record): DisplayFeatureStatic => {\n const tooltipKey = `${String(featureName)}_tooltip`;\n const tooltipHeadingKey = `${String(featureName)}_tooltip_heading`;\n const tooltip = tooltipKey in COPY_MAP && COPY_MAP[tooltipKey as keyof SUMMARY_COPY_TYPE];\n const tooltipHeading = tooltipHeadingKey in COPY_MAP && COPY_MAP[tooltipHeadingKey as keyof SUMMARY_COPY_TYPE];\n\n return {\n name: featureName,\n summary: COPY_MAP[featureName] ? t(COPY_MAP[featureName], formatValues) : undefined,\n tooltip: tooltip && tooltip.defaultMessage !== NOT_APPLICABLE ? t(tooltip, formatValues) : undefined,\n tooltipHeading: tooltipHeading ? t(tooltipHeading, formatValues) : undefined,\n };\n };\n}\n\nexport const formatSummaryFeature = createFeatureFormatter(SUMMARY_MERGED_COPY);\nexport const formatDetailsFeature = createFeatureFormatter(DETAILS_MERGED_COPY);\n","import { SummaryFeatureRuleMap } from '../types';\n\nconst ExperimentFeatureRules: SummaryFeatureRuleMap = {};\n\nexport default ExperimentFeatureRules;\n","import { DisplayFeatureStatic } from '~shared/types/pricing/features';\nimport { formatSummaryFeature } from '~pricing/lib/PackageFeatures';\nimport { Packages } from '~shared/constants/pricing';\nimport { GUAC_COUNTRY_CODES } from '~app/pages/Pricing/lib/constants';\nimport ExperimentFeatureRules from '../experiments/featureRules';\n\nimport { SummaryFeatureRuleMap, DisplayFeature } from '../types';\n\nexport const SETTING_UNLIMITED = 'unlimited';\n\nconst singleEnabledFeaturesRules = [\n 'quizzes_pro',\n 'analyze_export_enabled',\n 'analyze_export_spss_enabled',\n 'create_custom_variables_enabled',\n 'file_upload',\n 'click_map_qt',\n 'analyze_can_export_hide_branding',\n 'analyze_combine_filters',\n 'analyze_trends_enabled',\n 'collector_completion_url_enabled',\n 'collector_popup_enabled',\n 'collector_white_label_enabled',\n 'multiple_block_rotation_enabled',\n 'response_quality_enabled',\n 'single_sign_on',\n 'analyze_can_share_customize_branding',\n].reduce(\n (acc, feature): SummaryFeatureRuleMap => ({\n ...acc,\n [feature]: ({ [feature]: featureItem }) =>\n featureItem?.isEnabled ? formatSummaryFeature(feature as keyof DisplayFeatureStatic) : null,\n }),\n {}\n);\n\nconst nonConditionalFeatureRules = [\n 'analyze_integrations',\n 'hipaa_enabled',\n 'private_apps',\n 'gather_comments',\n 'team_logic',\n 'advanced_logic',\n 'admin_dashboard',\n 'analyze_results_together',\n 'response_alerts',\n 'advanced_analyze_features',\n 'block_randomization',\n 'flexible_plan_types',\n 'integrations',\n 'account_control',\n 'enhanced_governance',\n 'team_activity',\n 'customer_success',\n 'unlimited_questions',\n 'extended_piping',\n].reduce(\n (acc, feature): SummaryFeatureRuleMap => ({\n ...acc,\n [feature]: () => formatSummaryFeature(feature as keyof DisplayFeatureStatic),\n }),\n {}\n);\n\n// Individual feature line rules\nconst FeatureRules: SummaryFeatureRuleMap = {\n ...nonConditionalFeatureRules,\n ...singleEnabledFeaturesRules,\n\n create_limit: ({ survey_create_limit, create_question_limit }) => {\n let obj: DisplayFeatureStatic = {};\n\n if (survey_create_limit?.setting === SETTING_UNLIMITED) {\n obj = formatSummaryFeature('survey_create_limit');\n } else if (create_question_limit?.setting === SETTING_UNLIMITED) {\n obj = formatSummaryFeature('create_question_limit');\n }\n\n return obj;\n },\n\n response_count: ({ base_response_count, num_free_responses }, { locale, overageCost = '' }) => {\n let obj: DisplayFeatureStatic = {};\n\n // Annual packages\n if (base_response_count?.amount) {\n obj = formatSummaryFeature('base_response_count', {\n amount: base_response_count.amount.toLocaleString(locale),\n overageCost,\n });\n\n // Basic/Standard monthly\n } else if (num_free_responses?.amount) {\n obj = formatSummaryFeature('num_free_responses', {\n amount: num_free_responses.amount.toLocaleString(locale),\n overageCost,\n });\n\n // Enterprise\n } else if (num_free_responses?.setting === SETTING_UNLIMITED) {\n obj = formatSummaryFeature('unlimited_responses', { overageCost });\n }\n\n return obj;\n },\n\n support: ({ priority_email_support, phone_support }) => {\n let obj: DisplayFeatureStatic = {};\n\n // we'll check from highest level support to lowest\n if (phone_support?.isEnabled) {\n obj = formatSummaryFeature('phone_support');\n } else if (priority_email_support?.isEnabled) {\n obj = formatSummaryFeature('priority_email_support');\n } else {\n obj = formatSummaryFeature('email_support');\n }\n\n return obj;\n },\n\n skip_logic: ({ create_skip_logic_enabled, create_piping_enabled, funneling_enabled }) => {\n let obj: DisplayFeature = {};\n\n if (create_piping_enabled?.isEnabled || funneling_enabled?.isEnabled) {\n obj = formatSummaryFeature('create_piping_enabled');\n } else if (create_skip_logic_enabled?.isEnabled) {\n obj = formatSummaryFeature('skip_logic');\n }\n\n return obj;\n },\n\n survey_branding: ({ create_logo_enabled, create_custom_theme_enabled, collector_friendly_url_enabled }) => {\n const hasBranding =\n create_logo_enabled?.isEnabled &&\n create_custom_theme_enabled?.isEnabled &&\n collector_friendly_url_enabled?.isEnabled;\n return hasBranding ? formatSummaryFeature('survey_branding') : null;\n },\n\n collaborate: ({ collaboration, build_surveys_together, share_with_your_organization }) => {\n const hasCollaboration =\n collaboration?.isEnabled || build_surveys_together?.isEnabled || share_with_your_organization?.isEnabled;\n return hasCollaboration ? formatSummaryFeature('collaborate') : null;\n },\n\n create_advanced_features: ({ create_quotas_enabled, a_b_testing, create_randomization_enabled }) => {\n const hasAdvancedFeatures =\n create_quotas_enabled?.isEnabled || a_b_testing?.isEnabled || create_randomization_enabled?.isEnabled;\n return hasAdvancedFeatures ? formatSummaryFeature('create_advanced_features') : null;\n },\n\n footer_branding: ({\n create_toggle_footer_enabled,\n disable_footer_branding_enabled,\n hide_export_branding_enabled,\n }) => {\n const hasFooterLogic =\n create_toggle_footer_enabled?.isEnabled ||\n disable_footer_branding_enabled?.isEnabled ||\n hide_export_branding_enabled?.isEnabled;\n return hasFooterLogic ? formatSummaryFeature('footer_branding') : null;\n },\n\n shared_assets: ({\n asset_library,\n group_templates,\n lite_library,\n shared_library,\n shared_group_library,\n team_themes,\n custom_templates,\n }) => {\n const hasSharedAssets =\n asset_library?.isEnabled ||\n group_templates?.isEnabled ||\n lite_library?.isEnabled ||\n shared_library?.isEnabled ||\n shared_group_library?.isEnabled ||\n team_themes?.isEnabled ||\n custom_templates?.isEnabled;\n return hasSharedAssets ? formatSummaryFeature('shared_assets') : null;\n },\n\n benchmark_logic: ({ plans_benchmarks, analyze_access_benchmarking, benchmarks }) => {\n const hasBenchmarkLogic =\n plans_benchmarks?.isEnabled || analyze_access_benchmarking?.isEnabled || benchmarks?.isEnabled;\n return hasBenchmarkLogic ? formatSummaryFeature('benchmark_logic') : null;\n },\n\n sentiment: ({ analyze_sentiment_enabled, sa_en_ga }, { packageName, countryCode }) => {\n const hasSentiment = analyze_sentiment_enabled?.isEnabled && sa_en_ga?.isEnabled;\n const allowedPackages = [\n Packages.PremierMonthly,\n Packages.PremierAnnual,\n Packages.TeamPremier,\n Packages.Enterprise,\n ];\n return hasSentiment &&\n packageName &&\n allowedPackages.includes(packageName) &&\n countryCode &&\n GUAC_COUNTRY_CODES.includes(countryCode)\n ? formatSummaryFeature('sentiment')\n : null;\n },\n\n crosstabs: ({ show_create_crosstab, filter_crosstab }) => {\n const hasCrosstabs = show_create_crosstab?.isEnabled || filter_crosstab?.isEnabled;\n return hasCrosstabs ? formatSummaryFeature('show_create_crosstab') : null;\n },\n\n statistical_significance: ({ statistical_significance, show_sig_diffs_enabled }) => {\n const hasSignificance = statistical_significance?.isEnabled || show_sig_diffs_enabled?.isEnabled;\n return hasSignificance ? formatSummaryFeature('statistical_significance') : null;\n },\n\n all_data_exports: ({ analyze_export_enabled, analyze_export_spss_enabled }) => {\n const hasAllDataExports = analyze_export_enabled?.isEnabled && analyze_export_spss_enabled?.isEnabled;\n return hasAllDataExports ? formatSummaryFeature('all_data_exports') : null;\n },\n\n contributor_seats: (_, { packageName }) => {\n return formatSummaryFeature(packageName === Packages.Enterprise ? 'advanced_collaboration' : 'contributor_seats');\n },\n\n multilingual: ({ _ }, { packageName, countryCode }) => {\n const disAllowedPackages = [Packages.AdvantageMonthly, Packages.AdvantageAnnual, Packages.TeamAdvantage];\n\n return (packageName && !disAllowedPackages.includes(packageName)) ||\n (countryCode && !GUAC_COUNTRY_CODES.includes(countryCode))\n ? formatSummaryFeature('multilingual')\n : null;\n },\n\n payment_qt: ({ payment_qt }, { dataCenter }) => {\n return payment_qt?.isEnabled && dataCenter !== 'EU' ? formatSummaryFeature('payment_qt') : null;\n },\n\n // ExperimentFeatureRules should always be at the bottom\n ...ExperimentFeatureRules,\n};\n\nexport default FeatureRules;\n","import { t } from '@sm/intl';\nimport { Feature, FeatureSetMap } from '~shared/types/pricing/pricingsvc';\nimport { FeatureMapItem } from '~pricing/transformers/types';\n\nimport detailsFeatureRules from '~pricing/transformers/details/rules';\n\nimport CELL_COPY from '~pricing/lib/PackageFeatures/details/cellCopy';\n\nimport {\n DetailsFeatureCategoryGroups,\n DetailsFeatureSets,\n DetailsFeatureValueType,\n DetailsFeatureRow,\n DetailsFeatureRowFeature,\n FeaturesCategoryGroup,\n DetailsPackageData,\n} from './types';\n\nimport { getFormattedAmountValue } from './helpers';\nimport combinedFeatures from './combinedFeatures';\nimport { SETTING_UNLIMITED } from '../summary/rules/featureRules';\nimport { PackageDataSet } from '~shared/types/pricing/package';\n\n/**\n * Determines the value to display for that feature based on its featureRule given the following preconditions\n * @param packageName\n * @param feature\n * @param locale\n * @returns\n */\nexport function getFeatureValue(\n packageName: string,\n feature: Feature,\n locale: string,\n experience: string\n): DetailsFeatureValueType {\n const rules =\n experience && detailsFeatureRules[experience] ? detailsFeatureRules[experience] : detailsFeatureRules.default;\n\n if (feature?.amount) {\n return rules[feature?.name]\n ? rules[feature.name](packageName, feature, { locale })\n : getFormattedAmountValue(feature, { locale });\n }\n\n if (feature?.setting === SETTING_UNLIMITED) {\n return t(CELL_COPY.UNLIMITED);\n }\n\n if (feature?.setting) {\n return rules[feature?.name] ? rules[feature.name](packageName, feature) : feature?.setting;\n }\n\n return rules[feature?.name] ? rules[feature.name](packageName) : feature?.isEnabled;\n}\n\n/**\n * Determines if the current feature being looped over is part of a combined list,\n * meaning only show one line item for a set of given features, otherwise just show the feature as its own line item\n * @param packageName\n * @param packageFeatures\n * @param feature\n * @param locale\n * @returns\n */\nexport function determineCombinedFeature(\n packageName: string,\n packageFeatures: Feature[],\n feature: string,\n locale: string,\n experience: string\n): DetailsFeatureValueType {\n const combinedFeature: FeatureMapItem =\n combinedFeatures.find(combined => combined.features.includes(feature)) ?? null;\n if (combinedFeature) {\n const features = combinedFeature?.features?.reduce((acc, key) => {\n const foundFeature = packageFeatures.find(pkg => pkg.name === key);\n\n if (foundFeature) {\n acc[key] = foundFeature;\n }\n return acc;\n }, {});\n\n const rules =\n experience && detailsFeatureRules[experience] ? detailsFeatureRules[experience] : detailsFeatureRules.default;\n\n return features ? rules[combinedFeature.featureItemKey](packageName, features, { locale }) : null;\n }\n return null;\n}\n\n/**\n * Returns an array with the following structure of features grouped by category\n * [\n {\n name: 'Team Collaboration',\n features: [\n {\n name: 'team_themes',\n summary: 'Summary description text',\n tooltip: 'Tooltip description text,\n tooltipHeading: 'Tooltip heading text',\n packages: {\n ADVANTAGE_ANNUAL: value,\n ADVANTAGE_MONTHLY: value,\n BASIC: value,\n ENT_PLATINUM: value,\n ...\n }\n },\n ...\n ],\n },\n {\n name: 'Survey Capabilities',\n features: [\n {\n name: 'survey_create_limit',\n summary: 'Number of surveys',\n tooltip: 'Tooltip description text,\n tooltipHeading: 'Tooltip heading text',\n packages: {\n ADVANTAGE_ANNUAL: value,\n ADVANTAGE_MONTHLY: value,\n BASIC: value,\n ENT_PLATINUM: value,\n ...\n }\n },\n ...\n ],\n },\n ];\n */\n\n/**\n * Transforms detail pages features\n * This is the main function that loops over all category groupings and which features they contain\n * @param displayedPackages\n * @param groupings\n * @param detailsPackageData\n * @returns\n */\nexport default function getFeatureCategories(\n displayedPackages: PackageDataSet,\n groupings: DetailsFeatureCategoryGroups,\n detailsPackageData: DetailsPackageData\n): DetailsFeatureSets {\n if (displayedPackages) {\n return groupings.map(({ category, features }: FeaturesCategoryGroup): DetailsFeatureRow => {\n return {\n name: category,\n features: features?.map((feature: string): DetailsFeatureRowFeature => {\n const { name, summary, tooltip, tooltipHeading, ...rest } = detailsPackageData[feature];\n return {\n name,\n summary,\n tooltip,\n tooltipHeading,\n packages: rest,\n };\n }),\n };\n });\n }\n\n return [];\n}\n","import { FormattedNumber } from '@sm/intl';\n\nimport { ComparePlanIds, PackageIds, Packages, SkuTypes } from '~shared/constants/pricing';\nimport { INDIVIDUAL_PACKAGES_WITH_STARTER, PRICING_TERMS, ROUTE_PACKAGE_MAP, TEAMS_PACKAGES } from './constants';\n\nimport {\n PackageData,\n PackageDataSet,\n PackageSet,\n PackageSkuCost,\n PackageSkuCosts,\n PackageType,\n} from '~shared/types/pricing/package';\nimport { DiscountInfo, Feature, FeatureSetMap } from '~shared/types/pricing/pricingsvc';\nimport { PlaceHolderType } from './types';\nimport { PackageCheck } from '../experiments/grow_2792_pnp_refresh_v1/components/PackageHeader/types';\n\n/**\n * Creates a className friendly string from a package label\n *\n * @param {PlaceHolderType} packageObj The package object to create the class name from\n * @return {string} The label name, ready to be used as a className\n */\nexport function packageLabelToClassName(packageObj: PlaceHolderType): string {\n return packageObj.label.trim().replace(/\\s/g, '-').toLowerCase();\n}\n\n/**\n * Returns a package's SKU cost object for a particular SKU type\n *\n * @param skuCosts The package's SKU costs\n * @param skuType The type of SKU to find\n * @returns The SkuCost object of the requested type or undefined if not found\n */\nexport function getSkuCostByType(skuCosts: PackageSkuCost[], skuType: SkuTypes): PackageSkuCost | undefined {\n const skuCostsArr = Array.from(skuCosts);\n return skuCostsArr.find(sku => sku.skuType === skuType);\n}\n\n/**\n *\n * @param skuCosts\n * @returns The package set cost information based on the subscription type\n */\nexport function getCoreCostFromSkus(skuCosts: PackageSkuCosts): PackageSkuCost | undefined {\n return getSkuCostByType(skuCosts, SkuTypes.CoreSeat);\n}\n\nexport function getPackageType(packageName: Packages): PackageCheck {\n const isAdvantagePackage = [Packages.AdvantageAnnual, Packages.AdvantageMonthly, Packages.TeamAdvantage].includes(\n packageName\n );\n const isPremierPackage = [Packages.PremierAnnual, Packages.TeamPremier].includes(packageName);\n\n return {\n isAdvantagePackage,\n isPremierPackage,\n };\n}\n\n/**\n *\n * @param packages\n * @returns The package set cost information replicated from one of the other comparison packages\n */\n\nexport function getCoreCostReplicaForBasicPackage(packages: PackageDataSet): PackageSkuCost | undefined {\n const referencePackageSkuCost = packages.find(packageData => packageData?.skuCost.length)?.skuCost[0];\n return referencePackageSkuCost\n ? {\n skuType: referencePackageSkuCost?.skuType,\n cost: 0,\n currency: referencePackageSkuCost?.currency,\n }\n : undefined;\n}\n\n/**\n * Given two skuCosts, returns the rounded percentage savings between them\n *\n * @param {object} skuCostOriginal The originally priced skuCost object\n * @param {object} skuCostDiscounted The discounted priced skuCost object\n */\nexport function calculateSavingsPercent(skuCostOriginal: PackageSkuCost, skuCostDiscounted: PackageSkuCost): number {\n let retVal = 0;\n const costDifference = skuCostOriginal?.cost - skuCostDiscounted?.cost;\n\n // If the \"discounted\" price is greater, we'll just ignore that...\n if (costDifference > 0) {\n retVal = Math.floor((costDifference / skuCostOriginal?.cost) * 100);\n }\n\n return retVal;\n}\n\nexport function formatCostInSkuCurrency(\n value: number,\n skuCost: PackageSkuCost,\n minimumFractionDigits = 0\n): React.ReactElement | string {\n return FormattedNumber({\n value,\n formatStyle: 'currency',\n currency: skuCost?.currency?.code,\n currencyDisplay: 'symbol',\n minimumFractionDigits,\n });\n}\n\n/**\n * This calculates the straight up cost for monthly packages. It uses the formula ( cost / 100)\n * No rounding necessarily currently since our pricing is usually on point for monthly packages\n * @param skuCost\n * @param minimumFractionDigits\n * @returns\n */\nexport function formatCostInLocaleCurrency(\n skuCost: PackageSkuCost,\n minimumFractionDigits = 0\n): React.ReactElement | string {\n return formatCostInSkuCurrency(skuCost.cost / 100, skuCost, minimumFractionDigits);\n}\n\n/**\n * This function returns the monthly cost derived from the annual package original sku cost\n * It uses the formula ( cost / 100 / 12 months(PRICING_TERMS.ANNUAL))\n * References: https://github.com/mntv-python-guild/smlib.locale/blob/0060b822c71be344e69f1408888ea07a83bf4111/smlib/locale/cost.py#L54\n * https://github.com/mntv-billing/BillWeb/blob/dd01d7bb6b04c04ff085c15541c914b67731ef82/billweb/models/package.py#L510\n * @param skuCost\n * @returns The monthly cost derived from the annual package original sku cost\n */\nexport function monthlyCostInDollars(skuCost: PackageSkuCost): number {\n return Math.floor(skuCost.cost / 100 / PRICING_TERMS.ANNUAL);\n}\n\nexport function formatMonthlyCostInLocaleCurrency(skuCost: PackageSkuCost): React.ReactElement | string {\n const monthlyCost = monthlyCostInDollars(skuCost);\n return formatCostInSkuCurrency(monthlyCost, skuCost);\n}\n\nexport function getDiscountedSkuCost(skuCost: PackageSkuCost, discountInfo: DiscountInfo): PackageSkuCost {\n const tempSkuCost = { ...skuCost };\n tempSkuCost.cost = (skuCost.cost * (100 - discountInfo.discountPercentage)) / 100;\n return tempSkuCost;\n}\n\nexport function createPackagesList(packages: PackageDataSet, packageSet: PackageSet): PackageDataSet {\n // The provided package list is both the filter and determines the order\n return packages\n .filter((packageObj: PackageData) => packageSet.includes(packageObj.packageName))\n .sort((a, b) => packageSet.indexOf(a.packageName) - packageSet.indexOf(b.packageName));\n}\n\nexport function convertFeatureSetToMap(featureSet: Feature[]): FeatureSetMap {\n return featureSet?.reduce((acc: FeatureSetMap, feature: Feature) => {\n acc[feature.name] = feature;\n return acc;\n }, {});\n}\n\n/**\n * Get PackageSet based on package type (route) and if starter is enabled for user\n * @param packageType\n * @param isStarterEnabled (optional)\n * @returns PackageSet\n */\n\nexport function getPackageSetBasedOnPath(packageType: string, isStarterEnabled = false): PackageSet {\n if (isStarterEnabled && packageType === PackageType.Individual) {\n return INDIVIDUAL_PACKAGES_WITH_STARTER;\n }\n return ROUTE_PACKAGE_MAP[packageType] ?? TEAMS_PACKAGES;\n}\n\nexport function getPackagesBasedOnQueryStringIds(ids: string, packageType: string): PackageSet {\n const packages = ids\n .split(',')\n .map(id => {\n return Object.keys(PackageIds).find((key: string): boolean => {\n return PackageIds[key as keyof typeof PackageIds] === Number(id);\n });\n })\n .filter(packageName => packageName && ComparePlanIds.includes(packageName)) as PackageSet;\n\n return packages?.length ? packages : getPackageSetBasedOnPath(packageType);\n}\n\nexport function isPaidUser(pkg: number | string): boolean {\n return Number(pkg) !== PackageIds[Packages.Basic];\n}\n\n/*\n Simple compare. Assumes sorted single-dimension arrays.\n\tSources: user2782196: http://stackoverflow.com/a/19746771/308645\n https://jsben.ch/1Mq8s 92.83% efficiency.\n*/\nexport function arrayCompare(a1: unknown[], a2: unknown[]): boolean {\n return a1.every((v, i) => v === a2[i]);\n}\n","import React, { createContext, useContext, useReducer, useMemo, useState, useCallback, useEffect } from 'react';\nimport { StaticContext } from '@sm/webassets';\nimport packageReducer from '~shared/reducers/packageReducer';\nimport Grow2792Reducer from '~app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/reducer';\nimport { combinedStates } from '~shared/state';\n\nimport { CombinedStates, RootPricingProviderStateType } from '~shared/types/pricing/state';\nimport { CombinedActions } from '~shared/types/pricing/actions';\nimport { PackageMap, PackagesProviderProps } from '~shared/types/pricing/package';\nimport { usePricingExperience } from './usePricingExperience';\nimport { PackageSkuCost, PricingPackage, Feature } from '~shared/types/pricing/pricingsvc';\nimport { PackageIds, SkuTypes } from '~shared/constants/pricing';\nimport ACTIONS from '~shared/actions';\nimport experimentFeatures from '~pricing/transformers/details/experimentFeatures';\nimport fakeFeatures from '~pricing/transformers/details/marketingFeatures';\nimport { determineCombinedFeature, getFeatureValue } from '~app/pages/Pricing/transformers/details';\nimport { formatCostInLocaleCurrency } from '~app/pages/Pricing/lib/lib-helpers';\nimport { formatDetailsFeature } from '~pricing/lib/PackageFeatures';\nimport DETAILS_COPY from '~pricing/lib/PackageFeatures/details/copy';\nimport { DetailsPackageData } from '~app/pages/Pricing/transformers/details/types';\nimport useExperimentAssignment from '~app/pages/Pricing/hooks/useExperimentAssignment';\n\nconst detailsPackageData: DetailsPackageData = {};\n\nexport const PricingStateContext = createContext({\n state: combinedStates,\n dispatch: () => {},\n});\n\nexport function PricingStateProvider({\n packagesToDisplay,\n showEduDiscount,\n comparePlans,\n children,\n isIPPM = false,\n}: PackagesProviderProps): JSX.Element {\n const { packages: expPackages, discountInfo, paidFeatures } = usePricingExperience();\n const [packagesForExperience, setPackagesForExperience] = useState(expPackages);\n const [packageIdToPackageMap, setPackageIdToPackageMap] = useState({});\n\n const displayedPackages = useMemo(\n () => packagesToDisplay?.map(packageName => packageIdToPackageMap[PackageIds[packageName]]) || [],\n [packagesToDisplay, packageIdToPackageMap]\n );\n\n // update combinedStates initialState with determined packages\n combinedStates.packages.allPackages = packagesForExperience;\n combinedStates.packages.displayPackages = displayedPackages;\n combinedStates.packages.packagesToDisplayState = packagesToDisplay;\n\n const {\n user,\n environment: { slLanguageLocale },\n } = useContext(StaticContext);\n\n const { isPnPRefresh, experience } = useExperimentAssignment();\n\n // this will reformat the data from pricingsvc to match whether we are displaying\n // the educational discount or not. since the OG data contains _all_ the information,\n // we just need to fake what gets disseminated to the page components at this point\n useMemo(() => {\n const updatedPackageMap: PackageMap = {};\n const updatedPackages =\n expPackages?.map(pkg => {\n const newPackage = {\n ...pkg,\n\n // `comparisonSkuCosts` is the OG pricing data, so if this isn't EDU pricing,\n // we'll slip that in as the normal `skuCost`\n skuCost: showEduDiscount || !pkg.comparisonSkuCost?.length ? pkg.skuCost : pkg.comparisonSkuCost,\n\n // in normal view, don't send the comparison costs down\n comparisonSkuCost: showEduDiscount ? pkg.comparisonSkuCost : undefined,\n };\n updatedPackageMap[parseInt(newPackage.id, 10)] = newPackage;\n return newPackage;\n }) || [];\n\n setPackagesForExperience(updatedPackages);\n setPackageIdToPackageMap(updatedPackageMap);\n }, [showEduDiscount, expPackages, setPackagesForExperience, setPackageIdToPackageMap]);\n\n const getPackageById = useCallback(\n packageId => packageIdToPackageMap[parseInt(packageId, 10)],\n [packageIdToPackageMap]\n );\n\n const userPackage = useMemo(\n () => getPackageById(user.package || PackageIds.BASIC),\n [user, getPackageById]\n );\n\n const overageCost = useMemo(() => {\n // From the implementation of BILLING-18548, overage cost is package agnostic, so we'll\n // pull the overage SKU cost from team premier\n const teamPremier = getPackageById(PackageIds.TEAM_PREMIER_ANNUAL);\n return teamPremier?.skuCost.find(skuCost => skuCost.skuType === SkuTypes.ResponseOverage);\n }, [getPackageById]);\n\n // Combine all reducers into one\n const rootReducer = useMemo(\n () =>\n ({ packages, grow2792 }: CombinedStates, action: CombinedActions): CombinedStates => {\n return {\n packages: packageReducer(packages, action),\n grow2792: Grow2792Reducer(grow2792, action),\n };\n },\n []\n );\n\n const [state, dispatch] = useReducer(rootReducer, combinedStates);\n\n useEffect(() => {\n if (packagesToDisplay !== state.packages?.packagesToDisplayState) {\n // GROW=2792\n if (isPnPRefresh) {\n dispatch({ type: ACTIONS.PNP_REFRESH_RESET_ALL } as CombinedActions);\n }\n // ALL\n dispatch({ type: ACTIONS.UPDATE_PACKAGES_TO_DISPLAY, payload: { packagesToDisplay } } as CombinedActions);\n dispatch({ type: ACTIONS.UPDATE_PACKAGES, payload: { displayPackages: displayedPackages } } as CombinedActions);\n }\n }, [dispatch, displayedPackages, isPnPRefresh, packagesToDisplay, state.packages?.packagesToDisplayState]);\n\n const formattedOverageCost = useMemo(\n () => overageCost && formatCostInLocaleCurrency(overageCost, 2),\n [overageCost]\n ) as string;\n\n /**\n * Takes all packages and features for each and combines them with any experiment and other fake features not coming from pricingsvc.\n * Adds each feature to the detailsPackageData as an object with package keys and computed values.\n * This allows for a quicker lookup of details category values for each package without the need to run the transformers on every render when toggling\n * packages on the Details View\n *\n * Ex: {\n * {\n BASIC: \"View 25 responses per survey\",\n name: \"base_response_count\",\n summary: \"Number of responses\",\n tooltip: \"Each plan has a limited number of responses as indicated...\",\n tooltipHeading: \"Number of responses\",\n ENT_PLATINUM: \"Contact Us\",\n STANDARD_MONTHLY: \"1,000 responses per month**\",\n STANDARD_ANNUAL: \"2,500 responses per year**\",\n ADVANTAGE_ANNUAL: \"15,000 responses per year**\",\n PREMIER_ANNUAL: \"40,000 responses per year**\",\n FORMS_MONTHLY: \"200 responses per month**\",\n FORMS_ANNUAL: \"2,500 responses per year**\",\n TEAM_ADVANTAGE_ANNUAL: \"50,000 responses per year**\",\n TEAM_PREMIER_ANNUAL: \"100,000 responses per year**\",\n ADVANTAGE_MONTHLY: \"1,000 responses per month**\"\n }\n * }\n */\n useMemo(() => {\n if (!isIPPM) {\n packagesForExperience?.forEach(pkg => {\n [...pkg.features, ...fakeFeatures, ...experimentFeatures].forEach((feature: Feature) => {\n detailsPackageData[feature.name] = {\n ...detailsPackageData[feature.name],\n [pkg.packageName]:\n determineCombinedFeature(pkg.packageName, pkg.features, feature.name, slLanguageLocale, experience) ??\n getFeatureValue(pkg.packageName, feature, slLanguageLocale, experience),\n ...formatDetailsFeature(feature.name as keyof typeof DETAILS_COPY, { overageCost: formattedOverageCost }),\n };\n });\n });\n }\n }, [experience, formattedOverageCost, packagesForExperience, slLanguageLocale, isIPPM]);\n\n const value = useMemo(() => {\n return {\n state: {\n ...state,\n grow2792: {\n ...state.grow2792,\n isIPPM,\n },\n packages: {\n ...state.packages,\n allPackages: packagesForExperience,\n comparePlans,\n detailsPackageData,\n displayPackages: state.packages.displayPackages.length ? state.packages.displayPackages : displayedPackages,\n discountInfo,\n displayPackageSet: state.packages.displayPackageSet.length\n ? state.packages.displayPackageSet\n : packagesToDisplay,\n packagesToDisplayState: packagesToDisplay,\n showEduDiscount,\n overageCost,\n userPackage,\n getPackageById,\n paidFeatures, // GROW-2792 PnP Refresh - IPPM Embed Modal\n },\n },\n dispatch,\n };\n }, [\n comparePlans,\n discountInfo,\n displayedPackages,\n getPackageById,\n overageCost,\n packagesForExperience,\n packagesToDisplay,\n showEduDiscount,\n state,\n userPackage,\n paidFeatures, // GROW-2792 PnP Refresh - IPPM Embed Modal\n isIPPM, // GROW-2792\n ]);\n\n return {children};\n}\n\nexport const usePricingState = (): RootPricingProviderStateType => useContext(PricingStateContext);\n","import { useContext, useMemo, useState } from 'react';\nimport { t } from '@sm/intl';\nimport { StaticContext } from '@sm/webassets';\n\nimport { STRIPE_ELIGIBLE_PACKAGES } from '~pricing/lib/constants';\nimport { Packages } from '~shared/constants/pricing';\nimport ProgramIDs from '~shared/constants/sales';\nimport { PricingPackage } from '~shared/types/pricing/pricingsvc';\n\nimport COPY from './copy';\nimport useTrackingDetails from './useTrackingDetails';\nimport { CtaArgs, CtaHook } from './types';\nimport { usePricingState } from '~shared/hooks/usePricingState';\n\nlet isUpgradeable: boolean;\nlet packageIsUserPackage: boolean;\nlet isAuthenticated: boolean;\nlet isStripeEligible: boolean;\nlet useStripeCheckout: boolean;\n\n/**\n * if user is eligible for edu discount, get the appropriate URL\n * @param pageUtSource\n * @param pricingPackage\n * @param userPackage\n * @returns\n */\nfunction getEduDiscountUrl(pageUtSource: string, pricingPackage: PricingPackage, userPackage: PricingPackage): string {\n let eduDiscountUrl = '';\n if (isAuthenticated && userPackage?.packageName === Packages.Basic) {\n eduDiscountUrl = `/billing/pw/discount/verify?package_id=${pricingPackage?.id}&ut_source=${pageUtSource}`;\n } else if (isAuthenticated) {\n eduDiscountUrl = `/upgrade?package_id=${pricingPackage?.id}&e=edu_faq&ut_source=${pageUtSource}`;\n } else {\n eduDiscountUrl = `/user/sign-up/?e=edu_faq&sm=${pricingPackage?.encryptedEduParam}&ut_source=${pageUtSource}`;\n }\n return eduDiscountUrl;\n}\n\n/**\n * if user is logged in and package can be upgrade, determine the URL\n * @param pricingPackage\n * @param pageUtSource\n * @param showEduDiscount\n * @param userPackage\n * @returns\n */\nfunction getUrlForUpgrade(\n pricingPackage: PricingPackage,\n pageUtSource: string,\n showEduDiscount: boolean,\n userPackage: PricingPackage\n): string {\n let newUrl = '';\n if (pricingPackage?.packageName === Packages.Enterprise) {\n const utSource2 = pageUtSource?.includes('details') ? 'teams_details' : 'teams';\n newUrl = `/mp/ipas-contact-sales/?program=${ProgramIDs.ContactSalesPNP}&ut_source=${pageUtSource}&ut_source2=${utSource2}&ut_source3=primary_contact_cta&package_id=${pricingPackage?.id}`;\n } else if (showEduDiscount) {\n newUrl = getEduDiscountUrl(pageUtSource, pricingPackage, userPackage);\n } else if (isAuthenticated) {\n if (userPackage?.packageName === Packages.Basic) {\n newUrl = `/billing/checkout?package_id=${pricingPackage?.id}&ut_source=${pageUtSource}`;\n } else {\n newUrl = `/upgrade?package_id=${pricingPackage?.id}&ut_source=${pageUtSource}`;\n }\n } else {\n newUrl = `/user/sign-up/?sm=${pricingPackage.encryptedCtaParam}&ut_source=${pageUtSource}`;\n }\n return newUrl;\n}\n\n/**\n * Determine new CTA URL from whether user is logged in, has a package that could be upgraded,\n * how many seats in their plan, and if we should show the edu discount and use Stripe checkout\n * @param args CtaArgs\n * @returns ctaUrl\n */\nfunction getNewCtaUrl(args: CtaArgs): string {\n const { pageUtSource, showEduDiscount, pricingPackage, userPackage } = args;\n let newCtaUrl = '';\n if (packageIsUserPackage) {\n /* Since all users start with a basic package, we check if they are authenticated or not\n and set the correct sign up URL */\n if (!isAuthenticated) {\n newCtaUrl = `/user/sign-up/?ut_source=${pageUtSource}`;\n }\n } else if (isUpgradeable) {\n newCtaUrl = getUrlForUpgrade(pricingPackage, pageUtSource, showEduDiscount, userPackage);\n }\n\n /* if this is good to go for stripe checkout, make the URL swap here; it's a pretty easy find/replace scenario on the path.\n GROW-2426: if it's the user-subscribed package and using stripe do not set the url\n Setting the url renders a link, see https://code.corp.surveymonkey.com/wrench/wrench/blob/master/packages/button/Button.tsx */\n if (useStripeCheckout && !packageIsUserPackage && !showEduDiscount) {\n newCtaUrl = `/checkout${newCtaUrl.replace('/billing/checkout', '').replace('/upgrade', '')}`;\n }\n return newCtaUrl;\n}\n\n/**\n * Derive CTA label from whether the user is logged in, what package they're signed up for, and if they can upgrade it.\n * @param pricingPackage\n * @returns\n */\nfunction getNewCtaLabel(pricingPackage: PricingPackage): string {\n let ctaLabel = '';\n const signUp = t(COPY.SIGN_UP);\n const select = t(COPY.SELECT);\n const yourPlan = t(COPY.YOUR_PLAN);\n const contact = t(COPY.CONTACT_US);\n const signUpOrSelect = isAuthenticated ? select : signUp;\n\n if (packageIsUserPackage) {\n /* Since all users start with a basic package, we check if they are authenticated or not\n and set the correct cta label and sign up URL */\n if (!isAuthenticated) {\n ctaLabel = signUp;\n } else {\n ctaLabel = yourPlan;\n }\n } else if (isUpgradeable) {\n // Labels first; simpler logic\n if (pricingPackage?.packageName === Packages.Enterprise) {\n ctaLabel = contact;\n } else {\n ctaLabel = signUpOrSelect;\n }\n }\n return ctaLabel;\n}\n\n/**\n * Given a user's details & the package they've signed up for,\n * returns the relevant CTA label and URL for signup/upgrade\n * @param {PricingPackage} pricingPackage Details of the pricing and features available in a package\n * @returns CtaHook\n */\nexport default function useCta(pricingPackage: PricingPackage): CtaHook {\n const { user } = useContext(StaticContext);\n const {\n state: {\n packages: { userPackage, showEduDiscount },\n },\n } = usePricingState();\n const [isEnabled, setIsEnabled] = useState(true);\n const [isUserPackage, setIsUserPackage] = useState(false);\n const [ctaUrl, setCtaUrl] = useState('');\n const [ctaLabel, setCtaLabel] = useState('');\n const { pageUtSource } = useTrackingDetails();\n\n useMemo(() => {\n isUpgradeable = userPackage?.details ? userPackage.details.tier < pricingPackage?.details.tier : true;\n packageIsUserPackage = userPackage?.packageName === pricingPackage?.packageName;\n isAuthenticated = user.isAuthenticated;\n isStripeEligible = user.isStripeEligible;\n useStripeCheckout = isStripeEligible && STRIPE_ELIGIBLE_PACKAGES.includes(pricingPackage?.packageName);\n\n const newCtaLabel = getNewCtaLabel(pricingPackage);\n setCtaLabel(newCtaLabel);\n\n const args = {\n pageUtSource,\n showEduDiscount,\n pricingPackage,\n userPackage,\n };\n const newCtaUrl = getNewCtaUrl(args);\n setCtaUrl(newCtaUrl);\n\n setIsEnabled(!isAuthenticated || isUpgradeable);\n setIsUserPackage(packageIsUserPackage);\n }, [userPackage, pricingPackage, user.isAuthenticated, user.isStripeEligible, pageUtSource, showEduDiscount]);\n\n return {\n isEnabled,\n isUserPackage,\n ctaUrl,\n ctaLabel,\n };\n}\n","import { WrenchTheme } from '@wds/styles';\nimport { convertToObject } from '~shared/util';\n\nconst DISPLAY_SIZE_OPTIONS_DATA = Object.freeze(['default', 'sm', 'mds-sm', 'md', 'lg', 'xl', 'xs', 'none']);\n\nexport const SIZE_OPTIONS: { [key: string]: string } = convertToObject(...DISPLAY_SIZE_OPTIONS_DATA);\n\nexport type DisplaySizeOption = (typeof DISPLAY_SIZE_OPTIONS_DATA)[number];\nexport type DisplaySizeOptions = Record;\n\nconst DISPLAY_SIZE_OPTIONS: Required = {\n default: 'default',\n sm: WrenchTheme.breakpoints.sm,\n 'mds-sm': 320,\n md: WrenchTheme.breakpoints.md,\n lg: WrenchTheme.breakpoints.lg,\n xl: WrenchTheme.breakpoints.xl,\n xs: WrenchTheme.breakpoints.xs,\n none: 'none',\n};\n\nexport default DISPLAY_SIZE_OPTIONS;\n","import DISPLAY_SIZE_OPTIONS, { SIZE_OPTIONS } from '~shared/constants/sizes';\n\n// CSS Constants\n/**\n * Breakpoints to delineate special handling\n */\n// If mixing lowerBPMediaQUery with upperBPMediaQuery at same WrenchTheme.breakpoints[size],\n// most recent (in sequence) or most specific css rules would apply.\n// For MDS_MOBILE (768 and below rule) in conjunction with MDS_TABLET(768 and above rule), place\n// MDS_MOBILE first, followed by MDS_TABLET\nconst lowerBPMediaQuery = (size: string | number, overrideSize?: number): string => {\n return `@media only screen and (min-width: ${overrideSize ?? DISPLAY_SIZE_OPTIONS[size]}px)`;\n};\n\n/**\n * Use this if you need an in-between media query for styles that only affect the component when the screen is between two screen sizes.\n * This allows you to not have to specify already defined styles at a lower breakpoint that need to be reapplied to a higher breakpoint\n *\n * Example:\n * someClass: {\n * fontSize: 16px,\n *\n * [BETWEEN_MD_LG_MEDIA_QUERY]: {\n * fontSize: 12px,\n * }\n * }\n *\n * In the example above, the fontSize: 12px would be applied on screen sizes between 768px and 992px, all other screen sizes would default 16px.\n * Without the between query, the following would need to be used to achieve the same:\n *\n * someClass: {\n * fontSize: 16px,\n *\n * [MD_MEDIA_QUERY]: {\n * fontSize: 12px,\n * },\n *\n * [LG_MEDIA_QUERY]: {\n * fontSize: 16px,\n * },\n * }\n */\n\nconst lowerBPMBetweenMediaQuery = (minSize: string | number, maxSize: string | number): string => {\n return `@media only screen and (min-width: ${DISPLAY_SIZE_OPTIONS[minSize]}px) and (max-width: ${DISPLAY_SIZE_OPTIONS[maxSize]}px)`;\n};\n\n/**\n * This set of media queries are designed to work with Wrench's breakpoints.\n * In particular, use alongside GridPlus/Wrench Grid and other
s (e.g., FlexContainer).\n *\n * NOTE: media queries cascade from small to large.\n * Thus specify in the following order for ease of use, ease of understanding, and to leverage CSS\n * cascading and rule specificity precedence.\n * XS_MEDIA_QUERY, SM_MEDIA_QUERY, MD_MEDIA_QUERY, LG_MEDIA_QUERY, XL_MEDIA_QUERY.\n\n* All browser widths > WrenchTheme.breakpoints.xl conform to XL_MEDIA_QUERY.\n * Similarly, if XS_MEDIA_QUERY is not stated and others are stated, e.g., SM_MEDIA_QUERY,\n * then widths from 0 to < WrenchTheme.breakpoints.sm use default CSS rules.\n */\n// Wrench.breakpoints - lg: '992px'\nexport const LG_MEDIA_QUERY = lowerBPMediaQuery(SIZE_OPTIONS.lg);\n// Wrench.breakpoints - md: '768px'\nexport const MD_MEDIA_QUERY = lowerBPMediaQuery(SIZE_OPTIONS.md);\n// Wrench.breakpoints - sm: '576px'\nexport const SM_MEDIA_QUERY = lowerBPMediaQuery(SIZE_OPTIONS.sm);\n// MDS_SMALL_BREAKPOINT = '320px'\nexport const SM_MOBILE_MEDIA_QUERY = lowerBPMediaQuery(SIZE_OPTIONS['mds-sm']);\n// Wrench.breakpoints - xs: '0'\nexport const XS_MEDIA_QUERY = lowerBPMediaQuery(SIZE_OPTIONS.xs);\n// Wrench.breakpoints - xl: '1200px'\nexport const XL_MEDIA_QUERY = lowerBPMediaQuery(SIZE_OPTIONS.xl);\n\n// Wrench.breakpoints - between xs: '0px and mds-sm: 320px'\nexport const BETWEEN_XS_SM_MOBILE_MEDIA_QUERY = lowerBPMBetweenMediaQuery(SIZE_OPTIONS.xs, SIZE_OPTIONS['mds-sm']);\n// Wrench.breakpoints - between mds-sm: '320px and sm: 576px'\nexport const BETWEEN_SM_MOBILE_AND_SM_MEDIA_QUERY = lowerBPMBetweenMediaQuery(SIZE_OPTIONS['mds-sm'], SIZE_OPTIONS.sm);\n// Wrench.breakpoints - between sm: '576px and md: 768px'\nexport const BETWEEN_SM_AND_MD_MEDIA_QUERY = lowerBPMBetweenMediaQuery(SIZE_OPTIONS.sm, SIZE_OPTIONS.md);\n// Wrench.breakpoints - between md: '768px' and lg: '992px'\nexport const BETWEEN_MD_LG_MEDIA_QUERY = lowerBPMBetweenMediaQuery(SIZE_OPTIONS.md, SIZE_OPTIONS.lg);\n// Wrench.breakpoints - between lg: '992px and xl: 1200px'\nexport const BETWEEN_LG_XL_MEDIA_QUERY = lowerBPMBetweenMediaQuery(SIZE_OPTIONS.lg, SIZE_OPTIONS.xl);\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\nimport { StyleProps, StyleRules } from './types';\n\nexport default createMemoStyles(\n ({ pricingPalette, packageTheme, spacing }: PricingAppTheme) => ({\n CTACommon: {\n margin: [spacing[3], spacing[4], 0],\n [MD_MEDIA_QUERY]: {\n marginTop: 'auto',\n },\n },\n CTA: {\n extend: 'CTACommon',\n display: 'flex',\n '& a': {\n flex: 1,\n backgroundColor: ({ packageName }: StyleProps) => packageTheme[packageName]?.primary,\n border: 'none',\n '&:hover, &:focus': {\n backgroundColor: ({ packageName }: StyleProps) => packageTheme[packageName]?.primary,\n },\n },\n },\n noCTA: {\n extend: 'CTACommon',\n display: 'flex',\n justifyContent: 'center',\n background: 'none',\n },\n noShow: {\n display: 'none',\n\n [MD_MEDIA_QUERY]: {\n display: 'block',\n visibility: 'hidden',\n },\n },\n })\n);\n","import React from 'react';\nimport { Button } from '@wds/button';\n\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\n\nimport useCta from '~pricing/hooks/useCta';\nimport { generateCTAMetricsAttribute } from '~pricing/pages/shared/index';\nimport { PackageIds } from '~shared/constants/pricing';\nimport { PackageCTAProps } from './types';\n\nimport useStyles from './useStyles';\nimport { usePricingState } from '~shared/hooks/usePricingState';\n\nconst PackageCta = ({ packageName, isSummaryPage = false, className = '' }: PackageCTAProps): JSX.Element => {\n const {\n state: {\n packages: { getPackageById },\n },\n } = usePricingState();\n\n const { CTA, noCTA } = useStyles({ packageName });\n const packageId = PackageIds[packageName];\n const { pageName } = useTrackingDetails();\n const { isEnabled, ctaUrl, ctaLabel } = useCta(getPackageById(packageId));\n const buttonWrapperClassName = `${className} ${isEnabled ? CTA : noCTA}`;\n\n return (\n
\n \n {ctaLabel}\n \n
\n );\n};\n\nexport default PackageCta;\n","import React from 'react';\nimport { Typography } from '@wds/typography';\nimport { BylineProps } from './types';\n\nexport default function PackageByline({ byline, color = 'secondary' }: BylineProps): JSX.Element {\n if (!byline) {\n return <>;\n }\n return (\n \n {byline}\n \n );\n}\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst COPY = defineMessages({\n ALWAYS_FREE: {\n id: 'Pricing.copy.AlwaysFreeByline',\n defaultMessage: 'Always free',\n desc: {\n id: 'Pricing.copy.AlwaysFreeByline',\n message: '[Type: Text][Vis: high] - Always free byline',\n project: PROJECT_NAME,\n },\n },\n PER_MONTH: {\n id: 'Pricing.copy.PricePerMonthByline',\n defaultMessage: '/ month',\n desc: {\n id: 'Pricing.copy.PricePerMonthByline',\n message: '[Type: Text][Vis: high] - Price per month byline',\n project: PROJECT_NAME,\n },\n },\n PER_USER_PER_MONTH: {\n id: 'Pricing.copy.PricePerUserPerMonthByline',\n defaultMessage: '/ user / month',\n desc: {\n id: 'Pricing.copy.PricePerUserPerMonthByline',\n message: '[Type: Text][Vis: high] - Price per user per month byline',\n project: PROJECT_NAME,\n },\n },\n BILLED_ANNUALLY: {\n id: 'Pricing.copy.PerMonthAnnuallyByline',\n defaultMessage: `{price} billed annually`,\n desc: {\n id: 'Pricing.copy.PerMonthAnnuallyByline',\n message: '[Type: Text][Vis: high] - Price per month billed annually byline',\n project: PROJECT_NAME,\n },\n },\n BILLED_MONTHLY: {\n id: 'Pricing.copy.PerMonthByline',\n defaultMessage: 'Billed monthly',\n desc: {\n id: 'Pricing.copy.PerMonthByline',\n message: '[Type: Text][Vis: high] - Price billed monthly byline',\n project: PROJECT_NAME,\n },\n },\n TEAMS_BILLED_ANNUALLY: {\n id: 'Pricing.copy.PriceBilledAnnuallyByline',\n defaultMessage: 'Starting at 3 users, billed annually',\n desc: {\n id: 'Pricing.copy.PriceBilledAnnuallyByline',\n message: '[Type: Text][Vis: high] - Price billed annually byline',\n project: PROJECT_NAME,\n },\n },\n // individual country overrides. to override, prefix `BILLED_ANNUALLY` or `TEAMS_BILLED_ANNUALLY` with the country code\n BR_BILLED_ANNUALLY: {\n id: 'Pricing.copy.BrazilBilledAnnually',\n defaultMessage: 'paid annually (up front)',\n desc: {\n id: 'Pricing.copy.BrazilBilledAnnually',\n message: '[Type: Text][Vis: high] - Brazil billed annually byline',\n project: PROJECT_NAME,\n },\n },\n BR_TEAMS_BILLED_ANNUALLY: {\n id: 'Pricing.copy.BrazilTeamsBilledAnnually',\n defaultMessage: 'paid annually for 3 users (up front)',\n desc: {\n id: 'Pricing.copy.BrazilTeamsBilledAnnually',\n message: '[Type: Text][Vis: high] - Brazil teams billed annually byline',\n project: PROJECT_NAME,\n },\n },\n ENT_PLATINUM_BYLINE: {\n id: 'Pricing.copy.EnterpriseByline',\n defaultMessage: 'Powerful admin tools, integrations, and collaboration features for your organization.',\n desc: {\n id: 'Pricing.copy.EnterpriseByline',\n message: '[Type: Text][Vis: high] - Enterprise pricing byline',\n project: PROJECT_NAME,\n },\n },\n});\n\nexport default COPY;\n","import { t } from '@sm/intl';\nimport { Packages } from '~shared/constants/pricing';\n\nimport COPY from '~pricing/hooks/usePriceDisplay/copy';\nimport { PackageDef } from './types';\n\nconst PER_MONTH = t(COPY.PER_MONTH);\nconst PER_USER_PER_MONTH = t(COPY.PER_USER_PER_MONTH);\nconst BR_BILLED_ANNUALLY = t(COPY.BR_BILLED_ANNUALLY);\n\nconst PackageDefs: PackageDef = {\n [Packages.Basic]: {\n byline: t(COPY.ALWAYS_FREE),\n },\n [Packages.TeamAdvantage]: {\n priceUnit: PER_USER_PER_MONTH,\n },\n [Packages.TeamPremier]: {\n priceUnit: PER_USER_PER_MONTH,\n },\n [`${Packages.TeamAdvantage}_BR`]: {\n byline: BR_BILLED_ANNUALLY,\n },\n [`${Packages.TeamPremier}_BR`]: {\n byline: BR_BILLED_ANNUALLY,\n },\n [Packages.Enterprise]: {\n byline: t(COPY.ENT_PLATINUM_BYLINE),\n },\n [Packages.PremierAnnual]: {\n priceUnit: PER_MONTH,\n },\n [Packages.AdvantageAnnual]: {\n priceUnit: PER_MONTH,\n highlighted: true,\n },\n [Packages.StarterAnnual]: {\n priceUnit: PER_MONTH,\n },\n [Packages.StandardMonthly]: {\n priceUnit: PER_MONTH,\n },\n [Packages.Flex]: {\n priceUnit: PER_MONTH,\n },\n [Packages.FormsMonthly]: {\n priceUnit: PER_MONTH,\n },\n [Packages.FormsAnnual]: {\n priceUnit: PER_MONTH,\n },\n};\n\nexport default PackageDefs;\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\n\nexport default createMemoStyles(({ spacing, type, pricingPalette }: PricingAppTheme) => ({\n PriceLabel: {\n '&>h3': {\n fontSize: '1.75em',\n fontWeight: type.fontWeight.medium,\n whiteSpace: 'nowrap',\n },\n '&>span': {\n textDecoration: 'line-through ',\n fontWeight: type.fontWeight.light,\n color: pricingPalette.colors.stone,\n lineHeight: 1,\n '&>span': {\n color: pricingPalette.colors.stone,\n },\n },\n },\n Price: {\n marginRight: spacing[1],\n },\n SwissPriceUnit: {\n [MD_MEDIA_QUERY]: {\n '& span': {\n fontSize: type.fontSize.bodySm,\n },\n },\n },\n}));\n","import React from 'react';\nimport { ComponentType, Typography, Variant } from '@wds/typography';\nimport { PACKAGE_PRICE_TYPE, PACKAGE_PRICE_TYPE_VALUES } from '~shared/types/pricing/package';\n\nimport usePackagePriceStyles from '~app/pages/Pricing/components/PackagePrice/useStyles';\nimport { PackagePriceProps } from './types';\n\nconst packagePriceVariantMap: Record = {\n [PACKAGE_PRICE_TYPE.SUMMARY]: 'pageTitle',\n [PACKAGE_PRICE_TYPE.DETAIL]: 'sectionTitle',\n [PACKAGE_PRICE_TYPE.COMPARISON]: 'body',\n};\n\nconst packagePriceComponentMap: Record = {\n [PACKAGE_PRICE_TYPE.SUMMARY]: 'h3',\n [PACKAGE_PRICE_TYPE.DETAIL]: 'h3',\n [PACKAGE_PRICE_TYPE.COMPARISON]: 'span',\n};\n\nexport default function PackagePrice({\n formattedPrice,\n packagePriceType,\n costUnit,\n}: Readonly): React.ReactElement {\n const { PriceLabel, Price, SwissPriceUnit } = usePackagePriceStyles();\n const priceString = formattedPrice as string;\n const unitClass = priceString?.endsWith('CHF') ? SwissPriceUnit : '';\n\n return (\n
\n \n {formattedPrice}\n {costUnit && (\n \n \n {costUnit}\n \n \n )}\n \n
\n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { StyleProps } from './types';\nimport { pricingElevation } from '~app/styles/theme';\n\nexport default createMemoStyles(({ type, packageTheme }: PricingAppTheme) => ({\n RibbonStyle: {\n fontSize: 10,\n position: 'absolute',\n right: -3,\n top: -3,\n zIndex: pricingElevation.plusOne,\n overflow: 'hidden',\n width: 96,\n height: 96,\n '&:before, &:after': {\n content: \"''\",\n display: 'block',\n zIndex: pricingElevation.minusOne,\n backgroundColor: ({ packageName }: StyleProps) => packageTheme[packageName].primary,\n position: 'absolute',\n },\n '&:before': {\n top: 0,\n height: 3,\n width: 10,\n left: 0,\n borderTopLeftRadius: 3,\n },\n '&:after': {\n width: 3,\n height: 10,\n right: 0,\n borderBottomRightRadius: 3,\n bottom: 0,\n },\n '& p': {\n fontSize: 10,\n fontWeight: type.fontWeight.medium,\n color: '#fff',\n textAlign: 'center',\n lineHeight: '20px',\n transform: `translate(-50%, -50%) rotate(45deg) translateY(-11px)`,\n width: 184,\n display: 'block',\n boxShadow: 'none',\n position: 'absolute',\n top: '50%',\n left: '50%',\n backgroundColor: ({ packageName }) => packageTheme[packageName]?.primary,\n margin: 0,\n },\n },\n}));\n","import React from 'react';\nimport { RibbonType } from './types';\n\nimport useRibbonStyles from './useStyles';\n\nexport const DATA_TESTID = 'Ribbon';\n\nexport default function Ribbon({ children, packageName }: RibbonType): React.ReactElement {\n const { RibbonStyle } = useRibbonStyles({ packageName });\n return (\n \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { MD_MEDIA_QUERY, LG_MEDIA_QUERY } from '~shared/media-query';\nimport { StyleProps, StyleRules } from './types';\n\nexport default createMemoStyles(\n ({ spacing, type, pricingPalette }: PricingAppTheme) => ({\n Header: {\n textAlign: 'center',\n padding: [spacing[4], spacing[1]],\n fontSize: 16,\n '& h2': {\n // Package header text\n fontWeight: type.fontWeight.medium,\n fontSize: ({ isSummaryPage }: StyleProps) => (isSummaryPage ? '1.5em' : '1.25em'),\n marginBottom: spacing[1],\n },\n '& p': {\n // Package byline\n color: pricingPalette.colors.slate,\n marginTop: spacing[2],\n fontSize: '.875em',\n },\n [MD_MEDIA_QUERY]: {\n fontSize: 12,\n minHeight: 180,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'stretch',\n },\n [LG_MEDIA_QUERY]: {\n fontSize: 16,\n },\n },\n })\n);\n","import { createContext } from 'react';\n\n/**\n * Context used to show/hide things for educational discounts.\n *\n * @returns {Object}\n */\nconst EduContext = createContext({ isEdu: false });\n\nexport default EduContext;\n","import { t } from '@sm/intl';\nimport { CountryCodes } from '@sm/locale/dist/localeSets';\nimport { StaticContext } from '@sm/webassets';\nimport React, { useContext, useMemo } from 'react';\n\nimport { MONTHLY_PACKAGES, PRICING_TERMS, TEAMS_PACKAGES } from '~pricing/lib/constants';\nimport {\n formatCostInLocaleCurrency,\n formatCostInSkuCurrency,\n formatMonthlyCostInLocaleCurrency,\n getCoreCostReplicaForBasicPackage,\n getDiscountedSkuCost,\n getSkuCostByType,\n} from '~pricing/lib/lib-helpers';\nimport { Packages, SkuTypes } from '~shared/constants/pricing';\n\nimport { PackageSkuCosts } from '~shared/types/pricing/package';\nimport { PriceDisplayHook } from '../types';\n\nimport { DiscountInfo } from '~shared/types/pricing/pricingsvc';\nimport COPY from './copy';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport useExperimentAssignment from '../useExperimentAssignment';\n\nconst MINIMUM_EXTRA_TEAM_SEATS = 2;\n\nexport default function usePriceDisplay(\n packageName: Packages,\n skuCosts: PackageSkuCosts,\n discountInfo?: DiscountInfo,\n isEdu?: boolean\n): PriceDisplayHook {\n const {\n environment: { countryCode },\n } = useContext(StaticContext);\n const {\n state: {\n packages: { displayPackages },\n },\n } = usePricingState();\n const isBasic = useMemo(() => packageName === Packages.Basic, [packageName]);\n const isBrazil = useMemo(() => countryCode === CountryCodes.BR, [countryCode]);\n const isMonthlyPackage = useMemo(() => MONTHLY_PACKAGES.includes(packageName), [packageName]);\n const isTeamsPackage = useMemo(() => TEAMS_PACKAGES.includes(packageName), [packageName]);\n const { isPnPRefresh } = useExperimentAssignment();\n\n const [coreSeatCost, additionalSeatCost, discountedCoreSeatCost, discountedAdditionalSeatCost] = useMemo(() => {\n // fake a SKU for basic\n const coreSeatSku = isBasic\n ? getCoreCostReplicaForBasicPackage(displayPackages)\n : getSkuCostByType(skuCosts, SkuTypes.CoreSeat);\n const additionalSeatSku = isBasic ? coreSeatSku : getSkuCostByType(skuCosts, SkuTypes.AdditionalSeat);\n\n const discountedCoreSeatSku = coreSeatSku && discountInfo && getDiscountedSkuCost(coreSeatSku, discountInfo);\n\n const discountedAdditionalSeatSku =\n additionalSeatSku && discountInfo && getDiscountedSkuCost(additionalSeatSku, discountInfo);\n\n return [coreSeatSku, additionalSeatSku, discountedCoreSeatSku, discountedAdditionalSeatSku];\n }, [isBasic, skuCosts, displayPackages, discountInfo]);\n\n const monthlyFormattedCost = useMemo(\n () =>\n coreSeatCost &&\n (isMonthlyPackage ? formatCostInLocaleCurrency(coreSeatCost) : formatMonthlyCostInLocaleCurrency(coreSeatCost)),\n [isMonthlyPackage, coreSeatCost]\n );\n\n const annualFormattedCost = useMemo(\n () =>\n coreSeatCost &&\n (isMonthlyPackage\n ? formatCostInSkuCurrency((coreSeatCost.cost / 100) * PRICING_TERMS.ANNUAL, coreSeatCost)\n : formatCostInLocaleCurrency(coreSeatCost)),\n [isMonthlyPackage, coreSeatCost]\n );\n\n const monthlyFormattedDiscountedCost = useMemo(\n () =>\n discountedCoreSeatCost &&\n (isMonthlyPackage\n ? formatCostInLocaleCurrency(discountedCoreSeatCost)\n : formatMonthlyCostInLocaleCurrency(discountedCoreSeatCost)),\n [isMonthlyPackage, discountedCoreSeatCost]\n );\n\n const annualFormattedDiscountedCost = useMemo(\n () =>\n discountedCoreSeatCost &&\n (isMonthlyPackage\n ? formatCostInSkuCurrency((discountedCoreSeatCost.cost / 100) * 12, discountedCoreSeatCost)\n : formatCostInLocaleCurrency(discountedCoreSeatCost)),\n [isMonthlyPackage, discountedCoreSeatCost]\n );\n\n const annualTeamsFormattedCost = useMemo(() => {\n let retVal: React.ReactElement | null | string = null;\n\n if (isTeamsPackage && coreSeatCost && additionalSeatCost) {\n // a base teams cost will be one core seat + two additional seats\n // I don't know if these two seat types have ever had different values,\n // but some day they will... some day...\n const baseCost = Number(coreSeatCost.cost) + Number(additionalSeatCost.cost) * MINIMUM_EXTRA_TEAM_SEATS;\n retVal = formatCostInSkuCurrency(baseCost / 100, coreSeatCost);\n }\n\n return retVal;\n }, [isTeamsPackage, coreSeatCost, additionalSeatCost]);\n\n const annualTeamsFormattedDiscountedCost = useMemo(() => {\n let retVal: React.ReactElement | null | string = null;\n\n if (isTeamsPackage && discountedCoreSeatCost && discountedAdditionalSeatCost) {\n // a base teams cost will be one core seat + two additional seats\n // I don't know if these two seat types have ever had different values,\n // but some day they will... some day...\n const baseCost =\n Number(discountedCoreSeatCost.cost) + Number(discountedAdditionalSeatCost.cost) * MINIMUM_EXTRA_TEAM_SEATS;\n retVal = formatCostInSkuCurrency(baseCost / 100, discountedCoreSeatCost);\n }\n\n return retVal;\n }, [isTeamsPackage, discountedCoreSeatCost, discountedAdditionalSeatCost]);\n\n const headerCost = useMemo(() => {\n // monthly packages always display the monthly cost, regardless of geo (at this point in time)\n if (isMonthlyPackage) {\n return monthlyFormattedCost;\n }\n\n // brazil always displays a calculated annual cost\n if (isBrazil) {\n return isTeamsPackage ? annualTeamsFormattedCost : annualFormattedCost;\n }\n\n // for everything else, monthly\n return monthlyFormattedCost;\n }, [annualTeamsFormattedCost, annualFormattedCost, monthlyFormattedCost, isBrazil, isMonthlyPackage, isTeamsPackage]);\n\n const headerDiscountedCost = useMemo(() => {\n // monthly packages always display the monthly cost, regardless of geo (at this point in time)\n // Intentionally returning null value for monthly packages, as discounts don't apply\n if (isMonthlyPackage) {\n return null;\n }\n\n // brazil always displays a calculated annual cost\n if (isBrazil) {\n return isTeamsPackage ? annualTeamsFormattedDiscountedCost : annualFormattedDiscountedCost;\n }\n\n // for everything else, monthly\n return monthlyFormattedDiscountedCost;\n }, [\n annualTeamsFormattedDiscountedCost,\n annualFormattedDiscountedCost,\n monthlyFormattedDiscountedCost,\n isBrazil,\n isMonthlyPackage,\n isTeamsPackage,\n ]);\n\n const headerUnit = useMemo(() => {\n if (isBrazil || isBasic) {\n return '';\n }\n\n if (isTeamsPackage || (isPnPRefresh && !isEdu)) {\n return t(COPY.PER_USER_PER_MONTH);\n }\n\n return t(COPY.PER_MONTH);\n }, [isBrazil, isBasic, isTeamsPackage, isPnPRefresh, isEdu]);\n\n const headerByline = useMemo(() => {\n // monthly packages have no byline\n if (isMonthlyPackage && !isPnPRefresh) {\n return '';\n }\n\n if (isMonthlyPackage && isPnPRefresh) {\n return t(COPY.BILLED_MONTHLY);\n }\n\n // basic is also special\n if (isBasic) {\n return t(COPY.ALWAYS_FREE);\n }\n\n // Check to see if there's a package specific byline\n const packageCopyKey = `${packageName?.toUpperCase()}_BYLINE` as keyof typeof COPY;\n if (packageCopyKey in COPY) {\n return t(COPY[packageCopyKey]);\n }\n\n // fallback to default text\n const copyKey = `${isTeamsPackage ? 'TEAMS_' : ''}BILLED_ANNUALLY` as keyof typeof COPY;\n\n // use the COPY file to check to see if there's a country specific byline\n const countryOverrideCopyKey = `${countryCode.toUpperCase()}_${copyKey}` as keyof typeof COPY;\n if (countryOverrideCopyKey in COPY) {\n return t(COPY[countryOverrideCopyKey]);\n }\n\n return t(COPY[copyKey], { price: annualFormattedCost });\n }, [isMonthlyPackage, isBasic, packageName, isPnPRefresh, isTeamsPackage, countryCode, annualFormattedCost]);\n\n return {\n isMonthlyPackage,\n isTeamsPackage,\n annualFormattedCost,\n monthlyFormattedCost,\n monthlyFormattedDiscountedCost,\n annualTeamsFormattedCost,\n annualFormattedDiscountedCost,\n annualTeamsFormattedDiscountedCost,\n headerCost,\n headerDiscountedCost,\n headerUnit,\n headerByline,\n };\n}\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst COPY = defineMessages({\n BEST_VALUE: {\n id: 'Pricing.copy.BestValue',\n defaultMessage: 'BEST VALUE',\n desc: {\n id: 'Pricing.copy.BestValue',\n message: '[Type: Label][Vis.: high] - Default text for Package Ribbon',\n project: PROJECT_NAME,\n },\n },\n SAVE_PERCENTAGE: {\n id: 'Pricing.copy.SavePercentage',\n defaultMessage: 'Save {percentage}% *',\n desc: {\n id: 'Pricing.copy.SavePercentage',\n message: '[Type: Label][Vis.: high] - Percentage of savings displayed in Package Ribbon',\n project: PROJECT_NAME,\n },\n },\n});\n\nexport default COPY;\n","import React, { useContext, useMemo } from 'react';\n\nimport { t } from '@sm/intl';\nimport { Typography } from '@wds/typography';\n\nimport { COMPARISON_PACKAGES } from '~app/pages/Pricing/lib/constants';\nimport { Packages, PackageDisplayNames } from '~shared/constants/pricing';\nimport { PackageData, PACKAGE_PRICE_TYPE } from '~shared/types/pricing/package';\nimport { PackageHeaderProps } from '~pricing/components/Summary/types';\n\nimport PackageByline from '~pricing/components/PackageHeader/PackageByline';\nimport PackageCta from '~pricing/components/PackageCta';\nimport packageDefs from '~pricing/lib/packages/packageDefs';\nimport PackagePrice from '~pricing/components/PackagePrice';\nimport Ribbon from '~pricing/components/Ribbon';\nimport usePackageHeaderStyles from '~pricing/components/PackageHeader/useStyles';\nimport EduContext from '~shared/hooks/eduContext';\n\nimport {\n calculateSavingsPercent,\n formatMonthlyCostInLocaleCurrency,\n formatCostInLocaleCurrency,\n getCoreCostFromSkus,\n} from '~app/pages/Pricing/lib/lib-helpers';\n\nimport usePriceDisplay from '~pricing/hooks/usePriceDisplay';\n\nimport COPY from './copy';\nimport { usePricingState } from '~shared/hooks/usePricingState';\n\nexport default function PackageHeader({\n packageName,\n comparisonSkuCosts,\n skuCosts,\n isSummaryPage = false,\n discountInfo,\n}: Readonly): JSX.Element {\n const { isEdu } = useContext(EduContext);\n const { Header } = usePackageHeaderStyles({ isSummaryPage });\n const comparisonPackageName = COMPARISON_PACKAGES[packageName];\n\n const {\n state: {\n packages: { allPackages: packageData },\n },\n } = usePricingState();\n\n const { headerCost, headerDiscountedCost, headerByline, headerUnit } = usePriceDisplay(\n packageName,\n skuCosts,\n discountInfo,\n isEdu\n );\n\n const coreSeatCost = useMemo(() => getCoreCostFromSkus(skuCosts), [skuCosts]);\n\n const comparisonCoreSeatCost = useMemo(\n () => comparisonSkuCosts && getCoreCostFromSkus(comparisonSkuCosts),\n [comparisonSkuCosts]\n );\n\n const comparisonFormattedPrice = useMemo(\n () => comparisonCoreSeatCost && formatCostInLocaleCurrency(comparisonCoreSeatCost),\n [comparisonCoreSeatCost]\n ) as string;\n\n const comparisonFormattedMonthlyPrice = useMemo(\n () => comparisonCoreSeatCost && formatMonthlyCostInLocaleCurrency(comparisonCoreSeatCost),\n [comparisonCoreSeatCost]\n ) as string;\n\n const comparisonPackage = useMemo(\n () =>\n comparisonPackageName\n ? packageData?.find((packageObj: PackageData) => packageObj.packageName === comparisonPackageName)\n : null,\n [comparisonPackageName, packageData]\n );\n\n const comparisonSeatCost = useMemo(\n () => (comparisonPackage ? getCoreCostFromSkus(comparisonPackage?.skuCost) : null),\n [comparisonPackage]\n );\n\n const savingsPercentage = useMemo(\n () => (coreSeatCost && comparisonSeatCost ? calculateSavingsPercent(comparisonSeatCost, coreSeatCost) : 0),\n [comparisonSeatCost, coreSeatCost]\n );\n\n const getRibbon = useMemo(() => {\n let ribbonText = packageDefs[packageName]?.highlighted ? t(COPY.BEST_VALUE) : null;\n\n if (savingsPercentage > 0) {\n ribbonText = t(COPY.SAVE_PERCENTAGE, { percentage: savingsPercentage });\n }\n\n if (ribbonText) {\n return {ribbonText};\n }\n return null;\n }, [packageName, savingsPercentage]);\n\n return (\n <>\n {getRibbon}\n\n
\n \n {t(PackageDisplayNames[packageName])}\n \n {packageName !== Packages.Enterprise && (\n \n )}\n {![Packages.Enterprise, Packages.Basic].includes(packageName) && headerDiscountedCost && (\n \n )}\n {comparisonFormattedPrice && !headerDiscountedCost && (\n \n )}\n\n \n \n
\n \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\nimport { PricingAppTheme, PackageTheme } from '~app/styles/pricing/types';\nimport { Packages } from '~shared/constants/pricing';\n\ntype Props = {\n packageName: Packages;\n};\n\ntype RuleNames = 'PricingPackageContainer' | 'PricingPackage' | 'Highlighted' | 'PlanFeaturesLink';\n\nexport const HIGHLIGHT = (defaultColor: string, packageTheme: PackageTheme, borderWidth = '1px'): object => ({\n border: ({ packageName }: Props) =>\n `${borderWidth} solid ${packageTheme[packageName] ? packageTheme[packageName].primary : defaultColor}`,\n});\n\nexport default createMemoStyles(\n ({ spacing, pricingPalette, packageTheme }: PricingAppTheme) => ({\n PricingPackageContainer: {\n marginBottom: spacing[4],\n width: '100%',\n\n [MD_MEDIA_QUERY]: {\n display: 'flex',\n flexDirection: 'column',\n maxWidth: 320,\n marginLeft: spacing[3],\n marginRight: spacing[3],\n },\n\n [`&.package-${Packages.AdvantageAnnual}`]: {\n gridRow: 1,\n },\n },\n PricingPackage: {\n position: 'relative',\n padding: [spacing[5], 0],\n border: `1px solid ${pricingPalette.colors.flint}`,\n borderRadius: 3,\n marginBottom: spacing[6],\n\n '& + div': {\n display: 'none',\n },\n\n [MD_MEDIA_QUERY]: {\n height: '100%',\n transition: 'border-color 0.5s ease',\n\n '&:hover': {\n ...HIGHLIGHT(pricingPalette.colors.flint, packageTheme),\n },\n\n '& + div': {\n display: 'inherit',\n },\n },\n },\n\n Highlighted: {\n [MD_MEDIA_QUERY]: {\n ...HIGHLIGHT(pricingPalette.colors.flint, packageTheme),\n marginTop: -spacing[6],\n paddingTop: 56,\n },\n },\n\n PlanFeaturesLink: {\n fontSize: 13,\n margin: [spacing[4], spacing[5], 0],\n textAlign: 'center',\n\n [MD_MEDIA_QUERY]: {\n position: 'absolute',\n bottom: spacing[4],\n textAlign: 'left',\n },\n },\n })\n);\n","import { createMemoStyles } from '@wds/styles';\n\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\n\nexport default createMemoStyles(({ spacing, pricingPalette }: PricingAppTheme) => ({\n Highlight: {\n backgroundColor: pricingPalette.colors.canvas,\n },\n Features: {\n listStyle: 'none',\n fontSize: 13,\n lineHeight: 1.2,\n color: pricingPalette.colors.charcoal,\n display: 'flex',\n flexDirection: 'column',\n padding: 0,\n margin: [20, 'auto', 30],\n width: '100%',\n [MD_MEDIA_QUERY]: {\n margin: [20, 0, 30],\n },\n },\n FeatureItem: {\n position: 'relative',\n padding: [6, spacing[6], 6],\n display: 'flex',\n alignItems: 'center',\n wordBreak: 'break-word',\n '&:before': {\n content: '\"•\"',\n display: 'inline-block',\n paddingRight: 10,\n color: pricingPalette.colors.stone,\n fontSize: 20,\n flex: 1,\n alignSelf: 'flex-start',\n lineHeight: 0.9,\n },\n [MD_MEDIA_QUERY]: {\n padding: `6px ${spacing[7]}px 6px ${spacing[6]}px`,\n '&:hover': {\n extend: 'Highlight',\n transition: '0.2s ease',\n },\n },\n },\n FeatureSummary: {\n lineHeight: 1.6,\n position: 'relative',\n width: '100%',\n paddingLeft: 10,\n marginLeft: -10,\n [MD_MEDIA_QUERY]: {\n '&:hover': {\n '& $TooltipContainer': {\n display: 'inline-block',\n },\n },\n },\n },\n TooltipContainer: {\n display: 'none',\n },\n}));\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\nimport { StyleProps } from './types';\n\nconst TOOLTIP_WIDTH = 220;\nconst ARROW_POS = -37;\n\nexport default createMemoStyles(({ spacing, type, pricingPalette, elevation }: PricingAppTheme) => ({\n Tooltip: {\n position: 'absolute',\n width: TOOLTIP_WIDTH,\n padding: spacing[5],\n backgroundColor: pricingPalette.colors.white,\n borderRadius: 2,\n boxShadow: '0 0 10px 0 rgba(0, 0, 0, 0.2)',\n zIndex: elevation.space,\n '& h5': {\n fontWeight: type.fontWeight.medium,\n marginBottom: spacing[3],\n textTransform: ({ locale }: StyleProps) => (locale === 'en-US' ? 'uppercase' : 'none'),\n },\n '& a': {\n whiteSpace: 'nowrap',\n },\n },\n TooltipArrow: {\n width: 50,\n height: 25,\n position: 'absolute',\n top: '50%',\n overflow: 'hidden',\n '&:after': {\n content: '\"\"',\n position: 'absolute',\n width: 20,\n height: 20,\n background: pricingPalette.colors.white,\n transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',\n top: 0,\n left: '50%',\n boxShadow: '0 0 10px 0 rgba(0, 0, 0, 0.2)',\n },\n },\n TooltipLeft: {\n extend: 'Tooltip',\n top: '100%',\n left: 0,\n right: 0,\n width: 'auto',\n '& $TooltipArrow': {\n top: 0,\n right: -3,\n transform: 'translateY(-100%) rotate(180deg)',\n },\n [MD_MEDIA_QUERY]: {\n left: '100%',\n top: '50%',\n width: TOOLTIP_WIDTH,\n transform: 'translate(24px, -50%)',\n '& $TooltipArrow': {\n left: ARROW_POS,\n top: '50%',\n transform: 'translateY(-50%) rotate(90deg)',\n },\n },\n },\n TooltipRight: {\n extend: 'Tooltip',\n right: '100%',\n top: '50%',\n transform: 'translate(-24px, -50%)',\n '& $TooltipArrow': {\n right: ARROW_POS,\n top: '50%',\n transform: 'translateY(-50%) rotate(270deg)',\n },\n },\n}));\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst COPY = defineMessages({\n TOOLTIP_ARIA_ROLE_DESC: {\n id: 'Pricing.copy.TooltipAriaRoleDesc',\n defaultMessage: 'A tooltip describing the functionality of the feature',\n desc: {\n id: 'Pricing.copy.TooltipAriaRoleDesc',\n message: '[Type: aria role description][Vis: low] - Accessibility description for cell',\n project: PROJECT_NAME,\n },\n },\n});\n\nexport default COPY;\n","import React, { useContext } from 'react';\nimport { StaticContext } from '@sm/webassets';\nimport { sanitizeString } from '@sm/utils';\nimport { t } from '@sm/intl';\nimport { Box } from '@wds/box';\nimport { Typography } from '@wds/typography';\nimport useTooltipStyles from './useStyles';\nimport { FeatureTooltipProps } from './types';\nimport COPY from './copy';\n\nexport default function FeatureTooltip({\n tooltipHeading,\n tooltip,\n isLastPackage,\n}: Readonly): React.ReactElement {\n const {\n environment: { slLanguageLocale },\n } = useContext(StaticContext);\n\n const { TooltipLeft, TooltipRight, TooltipArrow } = useTooltipStyles({ locale: slLanguageLocale });\n\n return (\n \n \n {tooltipHeading}\n \n \n \n \n );\n}\n","import { UniqueFeatureName } from './types';\n\n/**\n * This map groups the feature names together to ensure that when you hover over a feature name in a column on the Summary page,\n * the corresponding feature in other packages will be highlighted.\n */\n\nconst ExperimentUniqFeatureNames = {\n grow_2792_create_question_limit: [\n 'create_question_limit',\n 'unlimited_questions',\n 'grow_2792_unlimited_questions',\n 'grow_2792_basic_create_question_limit',\n ],\n grow_2792_user: [\n 'grow_2792_single_user',\n 'grow_2792_team_collaboration_user',\n 'grow_2792_advanced_team_collaboration_user',\n 'grow_2792_forms_advantage_team',\n ],\n grow_2792_question_types: [\n 'grow_2792_forms_question_types',\n 'grow_2792_all_question_types_t1_t2',\n 'grow_2792_all_question_types_t3',\n 'grow_2792_basic_question_types',\n ],\n grow_2792_survey_branding: ['grow_2792_create_custom_theme_enabled', 'survey_branding'],\n};\n\nconst uniqueFeatureNameMap: UniqueFeatureName = {\n contributor_seats: ['contributor_seats', 'advanced_collaboration'],\n response_count: [\n 'base_response_count',\n 'unlimited_responses',\n 'num_free_responses',\n 'grow_2792_custom_response_limits',\n 'grow_2792_base_response_count',\n 'grow_2792_basic_base_response_count',\n ],\n support: [\n 'priority_email_support',\n 'phone_support',\n 'email_support',\n 'grow_2792_support',\n 'grow_2792_priority_email_support',\n 'grow_2792_phone_support',\n ],\n skip_logic: ['create_piping_enabled', 'skip_logic', 'grow_2792_skip_logic'],\n statistical_significance: ['statistical_significance', 'text_analysis'],\n\n // ExperimentUniqFeatureNames should always be last\n ...ExperimentUniqFeatureNames,\n};\n\nexport default uniqueFeatureNameMap;\n","import React, { useCallback } from 'react';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nimport useFeatureSetStyles from '~app/pages/Pricing/components/FeatureSet/useStyles';\nimport { DisplayFeatureStatic, SummaryDisplayFeatureList } from '~shared/types/pricing/features';\nimport FeatureTooltip from '~pricing/components/Tooltip';\nimport uniqueFeatureNameMap from './uniqueFeatureNameMap';\nimport { UniqueFeatureName } from './types';\n\nfunction getUniqueFeatureName(featureName: string): string {\n const uniqueFeature = Object.keys(uniqueFeatureNameMap).find(feature => {\n return uniqueFeatureNameMap[feature as keyof UniqueFeatureName]?.includes(featureName) ? feature : null;\n });\n\n return uniqueFeature ?? featureName;\n}\n\nexport default function FeatureSet({\n features,\n packageName,\n isLastPackage,\n}: {\n features: SummaryDisplayFeatureList;\n packageName: string;\n isLastPackage: boolean;\n}): React.ReactElement {\n const { Features, FeatureItem, FeatureSummary, TooltipContainer, Highlight } = useFeatureSetStyles();\n const { isMobile } = getClientEnvironmentDetails();\n\n const handleFeatureHover = useCallback(\n (featureName): void => {\n if (!isMobile) {\n document\n .querySelectorAll(`[data-feature='${featureName}']`)\n .forEach(feature => feature.classList.add(Highlight));\n }\n },\n [Highlight, isMobile]\n );\n\n const handleFeatureLeave = useCallback(\n (featureName): void => {\n if (!isMobile) {\n document\n .querySelectorAll(`[data-feature='${featureName}']`)\n .forEach(feature => feature.classList.remove(Highlight));\n }\n },\n [Highlight, isMobile]\n );\n\n return (\n
    \n {features\n .filter((feature: DisplayFeatureStatic) => !!feature)\n .map((feature: DisplayFeatureStatic) => {\n const featureName = feature?.name && getUniqueFeatureName(feature?.name);\n return (\n \n {feature?.summary && (\n \n {feature?.summary}\n {feature?.tooltip && feature?.tooltipHeading && (\n \n \n \n )}\n \n )}\n \n );\n })}\n
\n );\n}\n","import { SummaryFeatureList } from '../types';\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst DefaultIndividualsFeatureList: SummaryFeatureList = [\n 'create_limit',\n 'unlimited_questions',\n 'response_count',\n 'support',\n 'quizzes_pro',\n 'analyze_export_enabled',\n 'skip_logic',\n 'statistical_significance',\n];\n\nexport default DefaultIndividualsFeatureList;\n","import { SummaryFeatureList } from '../types';\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst DefaultTeamsFeatureList: SummaryFeatureList = [\n 'collaborate',\n 'gather_comments',\n 'analyze_results_together',\n 'response_alerts',\n 'shared_assets',\n 'contributor_seats',\n 'team_logic',\n 'analyze_integrations',\n 'response_count',\n 'support',\n 'quizzes_pro',\n 'survey_branding',\n 'skip_logic',\n 'all_data_exports',\n 'payment_qt',\n 'statistical_significance',\n 'advanced_analyze_features',\n 'benchmark_logic',\n 'multilingual',\n 'sentiment',\n];\n\nexport default DefaultTeamsFeatureList;\n","import { FeatureMapItem } from '../types';\n\nimport Grow2792FeatureMap from '../../experiments/grow_2792_pnp_refresh_v1/transformers/summary/features/featureRulesMap';\n\nconst EXPERIMENTS_MAP = [...Grow2792FeatureMap];\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst SummaryFeatureMap: FeatureMapItem[] = [\n {\n featureItemKey: 'create_limit',\n features: ['survey_create_limit', 'create_question_limit'],\n },\n {\n featureItemKey: 'response_count',\n features: ['base_response_count', 'num_free_responses', 'unlimited_responses'],\n },\n {\n featureItemKey: 'support',\n features: ['email_support', 'priority_email_support', 'phone_support'],\n },\n {\n featureItemKey: 'quizzes_pro',\n },\n {\n featureItemKey: 'analyze_export_enabled',\n },\n {\n featureItemKey: 'analyze_export_spss_enabled',\n },\n {\n featureItemKey: 'all_data_exports',\n features: ['analyze_export_enabled', 'analyze_export_spss_enabled', 'download_as_csv_xls_pdf', 'download_as_ppt'],\n },\n {\n featureItemKey: 'skip_logic',\n features: ['create_skip_logic_enabled', 'create_piping_enabled', 'funneling_enabled'],\n },\n {\n featureItemKey: 'statistical_significance',\n features: ['statistical_significance', 'show_sig_diffs_enabled'],\n },\n {\n featureItemKey: 'survey_branding',\n features: ['create_logo_enabled', 'create_custom_theme_enabled', 'collector_friendly_url_enabled'],\n },\n {\n featureItemKey: 'create_advanced_features',\n features: ['create_quotas_enabled', 'a_b_testing', 'create_randomization_enabled'],\n },\n {\n featureItemKey: 'create_custom_variables_enabled',\n },\n {\n featureItemKey: 'payment_qt',\n },\n {\n featureItemKey: 'file_upload',\n },\n {\n featureItemKey: 'benchmark_logic',\n features: ['plans_benchmarks', 'analyze_access_benchmarking', 'benchmarks'],\n },\n {\n featureItemKey: 'click_map_qt',\n },\n {\n featureItemKey: 'collaborate',\n features: ['collaboration', 'build_surveys_together', 'share_with_your_organization'],\n },\n {\n featureItemKey: 'analyze_can_export_hide_branding',\n },\n {\n featureItemKey: 'analyze_combine_filters',\n },\n {\n featureItemKey: 'sentiment',\n features: ['analyze_sentiment_enabled', 'sa_en_ga'],\n },\n {\n featureItemKey: 'analyze_trends_enabled',\n },\n {\n featureItemKey: 'shared_assets',\n features: [\n 'asset_library',\n 'group_templates',\n 'lite_library',\n 'shared_library',\n 'shared_group_library',\n 'team_themes',\n 'custom_templates',\n ],\n },\n {\n featureItemKey: 'collector_completion_url_enabled',\n },\n {\n featureItemKey: 'collector_popup_enabled',\n },\n {\n featureItemKey: 'collector_white_label_enabled',\n },\n {\n featureItemKey: 'footer_branding',\n features: ['create_toggle_footer_enabled', 'disable_footer_branding_enabled', 'hide_export_branding_enabled'],\n },\n {\n featureItemKey: 'hipaa_enabled',\n },\n {\n featureItemKey: 'multilingual',\n },\n {\n featureItemKey: 'multiple_block_rotation_enabled',\n },\n {\n featureItemKey: 'private_apps',\n },\n {\n featureItemKey: 'response_quality_enabled',\n },\n {\n featureItemKey: 'crosstabs',\n features: ['show_create_crosstab', 'filter_crosstab'],\n },\n {\n featureItemKey: 'gather_comments',\n },\n {\n featureItemKey: 'team_logic',\n features: ['team_ownership', 'user_management', 'add_users'],\n },\n {\n featureItemKey: 'advanced_logic',\n },\n {\n featureItemKey: 'admin_dashboard',\n },\n {\n featureItemKey: 'single_sign_on',\n },\n {\n featureItemKey: 'analyze_results_together',\n },\n {\n featureItemKey: 'response_alerts',\n },\n {\n featureItemKey: 'contributor_seats',\n },\n {\n featureItemKey: 'analyze_integrations',\n },\n {\n featureItemKey: 'advanced_analyze_features',\n },\n {\n featureItemKey: 'block_randomization',\n },\n {\n featureItemKey: 'flexible_plan_types',\n },\n {\n featureItemKey: 'integrations',\n },\n {\n featureItemKey: 'account_control',\n },\n {\n featureItemKey: 'enhanced_governance',\n },\n {\n featureItemKey: 'team_activity',\n },\n {\n featureItemKey: 'customer_success',\n },\n {\n featureItemKey: 'unlimited_questions',\n },\n {\n featureItemKey: 'analyze_can_share_customize_branding',\n },\n {\n featureItemKey: 'extended_piping',\n },\n\n ...EXPERIMENTS_MAP,\n];\n\nexport default SummaryFeatureMap;\n","import { FeatureMapItem } from '~app/pages/Pricing/transformers/types';\n\nconst Grow2792FeatureMap: FeatureMapItem[] = [\n {\n featureItemKey: 'grow_2792_survey_create_limit',\n features: ['survey_create_limit'],\n },\n {\n featureItemKey: 'grow_2792_basic_create_question_limit',\n features: ['create_question_limit', 'grow_2792_create_question_limit'],\n },\n {\n featureItemKey: 'grow_2792_user',\n },\n {\n featureItemKey: 'grow_2792_survey_branding',\n },\n {\n featureItemKey: 'grow_2792_question_types',\n },\n {\n featureItemKey: 'grow_2792_create_custom_theme_enabled',\n },\n {\n featureItemKey: 'grow_2792_website_embed',\n },\n {\n featureItemKey: 'grow_2792_zapier_integrations',\n },\n {\n featureItemKey: 'grow_2792_text_analysis',\n },\n {\n featureItemKey: 'grow_2792_multilingual',\n },\n {\n featureItemKey: 'grow_2792_a_b_testing',\n },\n {\n featureItemKey: 'grow_2792_analyze_export_enabled',\n },\n {\n featureItemKey: 'grow_2792_single_user',\n },\n {\n featureItemKey: 'grow_2792_team_collaboration_user',\n },\n {\n featureItemKey: 'grow_2792_basic_base_response_count',\n },\n {\n featureItemKey: 'grow_2792_support',\n },\n {\n featureItemKey: 'grow_2792_all_question_types',\n },\n {\n featureItemKey: 'grow_2792_basic_question_types',\n features: ['grow_2792_question_types'],\n },\n];\n\nexport default Grow2792FeatureMap;\n","import { SummaryDisplayFeatureList } from '~shared/types/pricing/features';\nimport { FeatureSetMap } from '~shared/types/pricing/pricingsvc';\nimport { FeatureMapItem } from '../types';\nimport {\n SummaryFeatureRuleMap,\n FeatureTransformerOptions,\n SummaryFeatureTransformer,\n SummaryFeatureList,\n} from './types';\n\nimport SummaryFeatureMap from './summaryFeatureMap';\n\nexport default function summaryFeaturesTransformer(\n featureList: SummaryFeatureList,\n featureListRules: SummaryFeatureRuleMap\n): SummaryFeatureTransformer {\n return (packageFeatures: FeatureSetMap, options: FeatureTransformerOptions): SummaryDisplayFeatureList =>\n featureList.map((featureListItem: string) => {\n const featureItem: FeatureMapItem =\n SummaryFeatureMap.find(item => item?.featureItemKey === featureListItem) ?? null;\n\n if (featureItem) {\n // if the features are empty , push the key inside the feature array based on the rule mapping\n // See src/app/pages/Pricing/transformers/summary/featureRules.ts\n const featureKeys: string[] = featureItem?.features ?? [featureItem.featureItemKey];\n\n // map the feature keys with the defined package features\n const featureValues = featureKeys.reduce(\n (acc: FeatureSetMap, featureKey: string) => ({\n ...acc,\n [featureKey]: packageFeatures[featureKey],\n }),\n {}\n );\n // apply the proper rule for this display feature\n return featureListRules[featureItem.featureItemKey](featureValues, options);\n }\n return null;\n });\n}\n","import {\n SummaryFeatureList,\n SummaryFeatureTransformer,\n SummaryFeatureRuleMap,\n FeatureList,\n} from '~pricing/transformers/summary/types';\nimport FeatureRules from '~pricing/transformers/summary/rules/featureRules';\nimport DefaultIndividualsFeatureList from '~pricing/transformers/summary/features/defaultIndividualsFeatureList';\nimport TeamsFeatureList from '~pricing/transformers/summary/features/defaultTeamsFeatureList';\n\nimport summaryFeaturesTransformer from '~pricing/transformers/summary/summaryFeaturesTransformer';\n\ntype Transformer = {\n // internal to this class only\n defaultIndividualList: SummaryFeatureList;\n defaultTeamsList: SummaryFeatureList;\n featureRules: SummaryFeatureRuleMap;\n individualSummaryFeatureTransform(featureListConfig: FeatureList): SummaryFeatureTransformer;\n teamsSummaryFeatureTransform(featureListConfig: FeatureList): SummaryFeatureTransformer;\n};\n\n/**\n * The SummaryTransformer Singleton class defines the `getInstance` method that lets clients access\n * the unique singleton instance.\n */\nexport default class SummaryTransformer implements Transformer {\n private static instance: SummaryTransformer;\n\n // overridden thru the config\n private readonly _defaultIndividualList: SummaryFeatureList = DefaultIndividualsFeatureList;\n\n // overridden thru the config, experimental feature rules also present here\n private readonly _featureRules: SummaryFeatureRuleMap = FeatureRules;\n\n private _defaultTeamsList: SummaryFeatureList = TeamsFeatureList;\n\n /**\n * The SummaryTransformer Singleton's constructor should always be private to prevent direct\n * construction calls with the `new` operator.\n */\n\n /* eslint no-empty-function: [\"error\", { \"allow\": [\"constructors\"] }] */\n private constructor() {}\n\n public get defaultIndividualList(): SummaryFeatureList {\n return this._defaultIndividualList;\n }\n\n public get featureRules(): SummaryFeatureRuleMap {\n return this._featureRules;\n }\n\n public get defaultTeamsList(): SummaryFeatureList {\n return this._defaultTeamsList;\n }\n\n public set defaultTeamsList(value: SummaryFeatureList) {\n this._defaultTeamsList = value;\n }\n\n /**\n * The static method that controls the access to the singleton instance.\n * This implementation let you subclass the SummaryTransformer Singleton class while keeping\n * just one instance of each subclass around.\n */\n public static getInstance(): SummaryTransformer {\n if (!SummaryTransformer.instance) {\n SummaryTransformer.instance = new SummaryTransformer();\n }\n return SummaryTransformer.instance;\n }\n\n public individualSummaryFeatureTransform(featureListConfig: FeatureList): SummaryFeatureTransformer {\n if (featureListConfig?.includesDefaultList) {\n return summaryFeaturesTransformer([...featureListConfig.list], {\n ...this.featureRules,\n ...featureListConfig.rules,\n });\n }\n return summaryFeaturesTransformer([...this._defaultIndividualList, ...(featureListConfig?.list ?? [])], {\n ...this.featureRules,\n ...featureListConfig?.rules,\n });\n }\n\n public teamsSummaryFeatureTransform(featureListConfig: FeatureList): SummaryFeatureTransformer {\n if (featureListConfig?.includesDefaultList) {\n return summaryFeaturesTransformer([...featureListConfig.list], {\n ...this.featureRules,\n ...featureListConfig.rules,\n });\n }\n return summaryFeaturesTransformer([...this._defaultTeamsList, ...(featureListConfig?.list ?? [])], {\n ...this.featureRules,\n ...featureListConfig?.rules,\n });\n }\n}\n","import { FeatureListMap, SummaryPackageFeatureList } from '~pricing/transformers/summary/types';\n\n/**\n * The factory class declares the factory method that is supposed to return an\n * object of a summary package list which is then fed to the summary transformer.\n * The subclasses usually provide the implementation of this method.\n */\nexport abstract class PlanTransformersFactory {\n /**\n * Note that the factory class may also provide some default implementation of the\n * factory method.\n */\n public initializeList(): SummaryPackageFeatureList {\n // Call the factory method to create a SummaryPackageFeatureList object.\n return this.createFeatureList();\n }\n\n /**\n * Also note that, despite its name, the factory's primary responsibility is\n * not creating summary list. Usually, it contains some core business logic that\n * relies on summary transformer objects, returned by the factory method. Subclasses can\n * indirectly change that business logic by overriding the factory method\n * and returning a different type of summary transformer from it.\n */\n public abstract createFeatureList(): SummaryPackageFeatureList;\n}\n\n/**\n * Extensions allowed, but it is easier to override the featureList with your own config\n */\nexport default class PlanTransformers extends PlanTransformersFactory {\n private _featureList: FeatureListMap;\n\n private readonly treatment: string;\n\n constructor(featureList: FeatureListMap, treatment: string) {\n super();\n this._featureList = featureList;\n this.treatment = treatment;\n }\n\n public get featureList(): FeatureListMap {\n return this._featureList;\n }\n\n public set featureList(value: FeatureListMap) {\n this._featureList = value;\n }\n\n /**\n * Use the treatment config mapping so any control assignment uses the default.\n * @returns SummaryPackageFeatureList\n */\n public createFeatureList(): SummaryPackageFeatureList {\n return this._featureList[this.treatment] ?? this.featureList?.default;\n }\n}\n","import { SummaryFeatureList } from '~app/pages/Pricing/transformers/summary/types';\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst FormsFeatureList: SummaryFeatureList = [\n 'grow_2792_user',\n 'grow_2792_survey_create_limit', // Unlimited number of surveys and forms\n 'unlimited_questions', // Unlimited questions per survey\n 'grow_2792_question_types',\n 'response_count', // 200 responses per month\n 'support', // 24/7 email support\n 'grow_2792_analyze_export_enabled', // Data exports (CSV, PDF, PPT, XLS)\n 'grow_2792_website_embed', // Website embed\n 'grow_2792_zapier_integrations', // 5000+ integrations with Zapier\n 'skip_logic', // Skip logic\n 'grow_2792_survey_branding',\n 'payment_qt', // Accept Payments\n 'file_upload', // File upload\n];\n\nexport default FormsFeatureList;\n","import { SummaryFeatureList } from '~app/pages/Pricing/transformers/summary/types';\nimport FormsFeatureList from './formsFeatureList';\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst AdvantageFeatureList: SummaryFeatureList = ['grow_2792_text_analysis', 'quizzes_pro', 'grow_2792_multilingual'];\n\nexport default [...FormsFeatureList, ...AdvantageFeatureList];\n","import { SummaryFeatureList } from '~app/pages/Pricing/transformers/summary/types';\nimport AdvantageFeatureList from './advantageFeatureList';\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst PremierFeatureList: SummaryFeatureList = [\n 'grow_2792_a_b_testing',\n 'sentiment',\n 'response_quality_enabled',\n 'crosstabs',\n 'extended_piping',\n 'click_map_qt',\n];\n\nexport default [...AdvantageFeatureList, ...PremierFeatureList];\n","import { SummaryFeatureList } from '~app/pages/Pricing/transformers/summary/types';\nimport PremierFeatureList from './premierFeatureList';\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst EnterpriseFeatureList: SummaryFeatureList = [\n 'private_apps',\n 'flexible_plan_types',\n 'hipaa_enabled',\n 'analyze_can_share_customize_branding',\n 'integrations',\n 'admin_dashboard',\n 'account_control',\n 'enhanced_governance',\n 'single_sign_on',\n 'team_activity',\n 'customer_success',\n];\n\nexport default [...PremierFeatureList, ...EnterpriseFeatureList];\n","import { SummaryFeatureList } from '~app/pages/Pricing/transformers/summary/types';\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst BasicFeatureList: SummaryFeatureList = [\n 'grow_2792_user',\n 'grow_2792_survey_create_limit', // Unlimited surveys and forms\n 'grow_2792_basic_create_question_limit', // 10 questions per survey\n 'grow_2792_question_types', // Essential question types only\n 'grow_2792_basic_base_response_count', // 25 responses per survey\n 'grow_2792_support', // 24/7 email support\n];\n\nexport default BasicFeatureList;\n","import { formatSummaryFeature } from '~app/pages/Pricing/lib/PackageFeatures';\nimport { SETTING_UNLIMITED } from '~app/pages/Pricing/transformers/summary/rules/featureRules';\nimport { SummaryFeatureRuleMap } from '~app/pages/Pricing/transformers/summary/types';\nimport { Packages } from '~shared/constants/pricing';\nimport { DisplayFeatureStatic } from '~shared/types/pricing/features';\n\nconst FeatureRules: SummaryFeatureRuleMap = {\n // Add feature rule overrides below\n grow_2792_user: (_, { packageName }) => {\n let obj: DisplayFeatureStatic = formatSummaryFeature('grow_2792_single_user');\n\n if (packageName) {\n if (\n [Packages.TeamAdvantage, Packages.AdvantageAnnual, Packages.PremierAnnual, Packages.TeamPremier].includes(\n packageName\n )\n ) {\n obj = formatSummaryFeature('grow_2792_team_collaboration_user');\n }\n if (\n [Packages.FormsAnnual, Packages.FormsMonthly, Packages.AdvantageMonthly, Packages.Basic].includes(packageName)\n ) {\n obj = formatSummaryFeature('grow_2792_forms_advantage_team');\n }\n\n if ([Packages.Enterprise].includes(packageName)) {\n obj = formatSummaryFeature('grow_2792_advanced_team_collaboration_user');\n }\n }\n\n return obj;\n },\n grow_2792_survey_create_limit: ({ survey_create_limit, create_question_limit }) => {\n let obj: DisplayFeatureStatic = {};\n\n if (survey_create_limit?.setting === SETTING_UNLIMITED) {\n obj = formatSummaryFeature('grow_2792_survey_create_limit');\n } else if (create_question_limit?.setting === SETTING_UNLIMITED) {\n obj = formatSummaryFeature('create_question_limit');\n }\n\n return obj;\n },\n unlimited_questions: () => {\n return formatSummaryFeature('grow_2792_unlimited_questions');\n },\n response_count: ({ base_response_count, num_free_responses }, { locale, overageCost = '' }) => {\n let obj: DisplayFeatureStatic = formatSummaryFeature('grow_2792_response_count', {\n amount: base_response_count?.amount?.toLocaleString(locale) as string,\n overageCost,\n });\n\n // Annual packages\n if (base_response_count?.amount) {\n obj = formatSummaryFeature('grow_2792_base_response_count', {\n amount: base_response_count.amount.toLocaleString(locale),\n overageCost,\n });\n\n // Basic/Standard monthly\n } else if (num_free_responses?.amount) {\n obj = formatSummaryFeature('num_free_responses', {\n amount: num_free_responses.amount.toLocaleString(locale),\n overageCost,\n });\n\n // Enterprise\n } else if (num_free_responses?.setting === SETTING_UNLIMITED) {\n obj = formatSummaryFeature('grow_2792_custom_response_limits');\n }\n\n return obj;\n },\n\n grow_2792_question_types: (_, { packageName }) => {\n let obj: DisplayFeatureStatic = {};\n if (packageName && [Packages.Basic].includes(packageName)) {\n obj = formatSummaryFeature('grow_2792_basic_question_types');\n } else {\n obj = formatSummaryFeature(\n packageName && [Packages.FormsAnnual, Packages.FormsMonthly].includes(packageName)\n ? 'grow_2792_forms_question_types'\n : 'grow_2792_all_question_types_t1_t2'\n );\n }\n return obj;\n },\n support: (_, { packageName }) => {\n let obj = formatSummaryFeature(\n packageName && [Packages.FormsMonthly, Packages.FormsAnnual, Packages.Basic].includes(packageName)\n ? 'grow_2792_support'\n : 'priority_email_support'\n );\n if (packageName && [Packages.Enterprise, Packages.PremierAnnual, Packages.TeamPremier].includes(packageName)) {\n obj = formatSummaryFeature('grow_2792_phone_support');\n }\n if (\n packageName &&\n [Packages.AdvantageMonthly, Packages.TeamAdvantage, Packages.AdvantageAnnual].includes(packageName)\n ) {\n obj = formatSummaryFeature('grow_2792_priority_email_support');\n }\n return obj;\n },\n grow_2792_analyze_export_enabled: (_, { packageName }) => {\n if (packageName && [Packages.Enterprise, Packages.PremierAnnual, Packages.TeamPremier].includes(packageName)) {\n return formatSummaryFeature('all_data_exports');\n }\n return formatSummaryFeature('grow_2792_analyze_export_enabled');\n },\n grow_2792_website_embed: () => formatSummaryFeature('grow_2792_website_embed'),\n grow_2792_zapier_integrations: () => formatSummaryFeature('grow_2792_zapier_integrations'),\n skip_logic: (_, { packageName }) => {\n let obj = formatSummaryFeature('grow_2792_skip_logic');\n if (\n packageName &&\n [Packages.Enterprise, Packages.PremierAnnual, Packages.PremierMonthly, Packages.TeamPremier].includes(packageName)\n ) {\n obj = formatSummaryFeature('create_piping_enabled');\n }\n return obj;\n },\n grow_2792_survey_branding: (_, { packageName }) => {\n let obj = formatSummaryFeature(\n packageName && [Packages.FormsAnnual, Packages.FormsMonthly].includes(packageName)\n ? 'grow_2792_create_custom_theme_enabled'\n : 'survey_branding'\n );\n if (\n packageName &&\n [Packages.Enterprise, Packages.PremierAnnual, Packages.PremierMonthly, Packages.TeamPremier].includes(packageName)\n ) {\n obj = formatSummaryFeature('collector_white_label_enabled');\n }\n return obj;\n },\n grow_2792_text_analysis: () => formatSummaryFeature('grow_2792_text_analysis'),\n grow_2792_multilingual: () => formatSummaryFeature('multilingual'),\n grow_2792_a_b_testing: () => formatSummaryFeature('grow_2792_a_b_testing'),\n grow_2792_basic_create_question_limit: () =>\n formatSummaryFeature('grow_2792_basic_create_question_limit', { amount: 10 }),\n grow_2792_all_question_types: () => formatSummaryFeature('grow_2792_all_question_types'),\n grow_2792_basic_base_response_count: () =>\n formatSummaryFeature('grow_2792_basic_base_response_count', { amount: 25 }),\n grow_2792_support: () => formatSummaryFeature('grow_2792_support'),\n};\n\nexport default FeatureRules;\n","import { formatSummaryFeature } from '~app/pages/Pricing/lib/PackageFeatures';\nimport { SummaryFeatureRuleMap } from '~app/pages/Pricing/transformers/summary/types';\nimport { Packages } from '~shared/constants/pricing';\nimport { DisplayFeatureStatic } from '~shared/types/pricing/features';\nimport FeatureRules from './featureRules';\n\n/**\n * feature rules for treatment 1 and treatment 2, GROW-2792\n */\nconst FeatureRulesT1T2: SummaryFeatureRuleMap = {\n ...FeatureRules,\n grow_2792_question_types: (_, { packageName }) => {\n let obj: DisplayFeatureStatic = {};\n if (packageName && [Packages.Basic].includes(packageName)) {\n obj = formatSummaryFeature('grow_2792_basic_question_types');\n } else {\n obj = formatSummaryFeature(\n packageName && [Packages.FormsAnnual, Packages.FormsMonthly].includes(packageName)\n ? 'grow_2792_forms_question_types'\n : 'grow_2792_all_question_types_t1_t2'\n );\n }\n return obj;\n },\n};\n\nexport default FeatureRulesT1T2;\n","import { formatSummaryFeature } from '~app/pages/Pricing/lib/PackageFeatures';\nimport { SummaryFeatureRuleMap } from '~app/pages/Pricing/transformers/summary/types';\nimport { Packages } from '~shared/constants/pricing';\nimport { DisplayFeatureStatic } from '~shared/types/pricing/features';\nimport FeatureRules from './featureRules';\n\n/**\n * feature rules for treatment 3, GROW-2792\n */\nconst FeatureRulesT3: SummaryFeatureRuleMap = {\n ...FeatureRules,\n // Add feature rule overrides below\n\n grow_2792_question_types: (_, { packageName }) => {\n let obj: DisplayFeatureStatic = {};\n if (packageName && [Packages.Basic].includes(packageName)) {\n obj = formatSummaryFeature('grow_2792_basic_question_types');\n } else {\n obj = formatSummaryFeature(\n packageName && [Packages.FormsAnnual, Packages.FormsMonthly].includes(packageName)\n ? 'grow_2792_forms_question_types'\n : 'grow_2792_all_question_types_t3'\n );\n }\n return obj;\n },\n};\n\nexport default FeatureRulesT3;\n","import { formatSummaryFeature } from '~pricing/lib/PackageFeatures';\n\nimport { SummaryFeatureList, SummaryFeatureRuleMap } from '../types';\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst PremierAnnualFeatureList: SummaryFeatureList = [\n 'click_map_qt',\n 'sentiment',\n 'response_quality_enabled',\n 'crosstabs',\n 'analyze_combine_filters',\n 'extended_piping',\n 'collector_white_label_enabled',\n];\n\nconst PremierAnnualOverrideRules: SummaryFeatureRuleMap = {\n // Add feature rule overrides below\n support: () => formatSummaryFeature('email_support'),\n statistical_significance: () => formatSummaryFeature('text_analysis'),\n};\n\nexport { PremierAnnualFeatureList, PremierAnnualOverrideRules };\n","import { formatSummaryFeature } from '~pricing/lib/PackageFeatures';\n\nimport { SummaryFeatureList, SummaryFeatureRuleMap } from '../types';\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst StandardMonthlyFeatureList: SummaryFeatureList = [];\n\nconst StandardMonthlyOverrideRules: SummaryFeatureRuleMap = {\n // Add feature rule overrides below\n support: () => formatSummaryFeature('email_support'),\n statistical_significance: () => formatSummaryFeature('text_analysis'),\n};\n\nexport { StandardMonthlyFeatureList, StandardMonthlyOverrideRules };\n","import { formatSummaryFeature } from '~pricing/lib/PackageFeatures';\n\nimport { SummaryFeatureList, SummaryFeatureRuleMap } from '../types';\n\nconst StarterMonthlyFeatureList: SummaryFeatureList = [];\n\nconst StarterAnnualOverrideRules: SummaryFeatureRuleMap = {\n // Add feature rule overrides below\n support: () => formatSummaryFeature('email_support'),\n statistical_significance: () => formatSummaryFeature('text_analysis'),\n};\n\nexport { StarterMonthlyFeatureList, StarterAnnualOverrideRules };\n","import { StandardMonthlyFeatureList } from './standardMonthlyFeatureList';\nimport { formatSummaryFeature } from '~pricing/lib/PackageFeatures';\nimport { SummaryFeatureList, SummaryFeatureRuleMap } from '../types';\n\nconst FlexFeatureList: SummaryFeatureList = StandardMonthlyFeatureList;\n\nconst FlexFeatureOverrideRules: SummaryFeatureRuleMap = {\n // Add feature rule overrides below\n support: () => formatSummaryFeature('email_support'),\n statistical_significance: () => formatSummaryFeature('text_analysis'),\n};\n\nexport { FlexFeatureList, FlexFeatureOverrideRules };\n","import { SummaryFeatureList } from '../types';\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst AdvantageAnnualFeatureList: SummaryFeatureList = [\n 'survey_branding',\n 'analyze_export_spss_enabled',\n 'create_advanced_features',\n 'create_custom_variables_enabled',\n 'payment_qt',\n 'file_upload',\n 'benchmark_logic',\n 'multilingual',\n];\n\nexport default AdvantageAnnualFeatureList;\n","import { SummaryFeatureList } from '../types';\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst EnterpriseFeatureList: SummaryFeatureList = [\n 'private_apps',\n 'flexible_plan_types',\n 'hipaa_enabled',\n 'analyze_can_share_customize_branding',\n 'integrations',\n 'admin_dashboard',\n 'account_control',\n 'enhanced_governance',\n 'single_sign_on',\n 'team_activity',\n 'customer_success',\n];\n\nexport default EnterpriseFeatureList;\n","import { SummaryFeatureList } from '../types';\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst TeamPremierFeatureList: SummaryFeatureList = [\n 'click_map_qt',\n 'response_quality_enabled',\n 'crosstabs',\n 'analyze_combine_filters',\n 'advanced_logic',\n 'block_randomization',\n 'collector_white_label_enabled',\n 'collector_completion_url_enabled',\n 'footer_branding',\n];\n\nexport default TeamPremierFeatureList;\n","import { Packages } from '~shared/constants/pricing';\n\nimport Grow2792FeatureListMap from '~app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/transformers/summary/features';\n\nimport { PremierAnnualFeatureList, PremierAnnualOverrideRules } from './premierAnnualFeatureList';\nimport { StandardMonthlyFeatureList, StandardMonthlyOverrideRules } from './standardMonthlyFeatureList';\nimport { StarterMonthlyFeatureList, StarterAnnualOverrideRules } from './starterAnnualFeatureList';\nimport { FlexFeatureList, FlexFeatureOverrideRules } from './flexPlanFeatureList';\n\nimport AdvantageAnnualFeatureList from './advantageAnnualFeatureList';\nimport EnterpriseFeatureList from './enterpriseFeatureList';\nimport TeamPremierFeatureList from './teamPremierFeatureList';\n\nimport { FeatureListMap } from '../types';\n\n/**\n * All feature list configuration mapping. See the FeatureListMap for how to set up the config object.\n * It is advisable to import experiment feature list config from the experiment subfolder of your experiment.\n * Failure to provide the correct config can result in incorrect UI and business logic presentation.\n * We also encourage all new package or package name change to define their own feature list.\n */\nconst FeatureList: FeatureListMap = {\n ...Grow2792FeatureListMap,\n\n default: {\n [Packages.StarterAnnual]: {\n list: [...StandardMonthlyFeatureList, ...StarterMonthlyFeatureList],\n rules: StarterAnnualOverrideRules,\n },\n [Packages.StandardMonthly]: {\n list: StandardMonthlyFeatureList,\n rules: StandardMonthlyOverrideRules,\n },\n [Packages.Flex]: {\n list: [...StandardMonthlyFeatureList, ...FlexFeatureList],\n rules: FlexFeatureOverrideRules,\n },\n [Packages.AdvantageAnnual]: {\n list: AdvantageAnnualFeatureList,\n },\n [Packages.AdvantageMonthly]: {\n list: AdvantageAnnualFeatureList,\n },\n [Packages.PremierAnnual]: {\n list: [...AdvantageAnnualFeatureList, ...PremierAnnualFeatureList],\n rules: PremierAnnualOverrideRules,\n },\n [Packages.TeamAdvantage]: {\n list: [],\n },\n [Packages.TeamPremier]: {\n list: TeamPremierFeatureList,\n },\n [Packages.Enterprise]: {\n list: [...TeamPremierFeatureList, ...EnterpriseFeatureList],\n },\n },\n};\n\nexport default FeatureList;\n","import { Packages } from '~shared/constants/pricing';\n\nimport { EXPERIMENT_IDENTIFIERS } from '~server/routes/Pricing/experimentsConfig';\nimport { FeatureListMap } from '~app/pages/Pricing/transformers/summary/types';\n\nimport AdvantageFeatureList from './advantageFeatureList';\nimport PremierFeatureList from './premierFeatureList';\nimport EnterpriseFeatureList from './enterpriseFeatureList';\nimport FormsFeatureList from './formsFeatureList';\nimport BasicFeatureList from './basicFeatureList';\nimport FeatureRulesT1T2 from './featureRulesT1T2';\nimport FeatureRulesT3 from './featureRulesT3';\n/**\n * All feature list configuration mapping. See the FeatureListMap for how to set up the config object.\n * It is advisable to import experiment feature list config from the experiment subfolder of your experiment.\n * Failure to provide the correct config can result in incorrect UI and business logic presentation.\n * We also encourage all new package or package name change to define their own feature list.\n */\nconst Grow2792FeatureListMap: FeatureListMap = {\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment1]: {\n [Packages.FormsAnnual]: {\n list: FormsFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n [Packages.FormsMonthly]: {\n list: FormsFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n [Packages.AdvantageAnnual]: {\n list: AdvantageFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n [Packages.AdvantageMonthly]: {\n list: AdvantageFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n [Packages.TeamAdvantage]: {\n list: AdvantageFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n [Packages.PremierAnnual]: {\n list: PremierFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n [Packages.TeamPremier]: {\n list: PremierFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n [Packages.Enterprise]: {\n list: EnterpriseFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n },\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment2]: {\n [Packages.FormsAnnual]: {\n list: FormsFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n [Packages.AdvantageAnnual]: {\n list: AdvantageFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n [Packages.AdvantageMonthly]: {\n list: AdvantageFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n [Packages.TeamAdvantage]: {\n list: AdvantageFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n [Packages.PremierAnnual]: {\n list: PremierFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n [Packages.TeamPremier]: {\n list: PremierFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n [Packages.Enterprise]: {\n list: EnterpriseFeatureList,\n rules: FeatureRulesT1T2,\n includesDefaultList: true,\n },\n },\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment3]: {\n [Packages.Basic]: {\n list: BasicFeatureList,\n rules: FeatureRulesT3,\n includesDefaultList: true,\n },\n [Packages.AdvantageAnnual]: {\n list: AdvantageFeatureList,\n rules: FeatureRulesT3,\n includesDefaultList: true,\n },\n [Packages.AdvantageMonthly]: {\n list: AdvantageFeatureList,\n rules: FeatureRulesT3,\n includesDefaultList: true,\n },\n [Packages.TeamAdvantage]: {\n list: AdvantageFeatureList,\n rules: FeatureRulesT3,\n includesDefaultList: true,\n },\n [Packages.PremierAnnual]: {\n list: PremierFeatureList,\n rules: FeatureRulesT3,\n includesDefaultList: true,\n },\n [Packages.TeamPremier]: {\n list: PremierFeatureList,\n rules: FeatureRulesT3,\n includesDefaultList: true,\n },\n [Packages.Enterprise]: {\n list: EnterpriseFeatureList,\n rules: FeatureRulesT3,\n includesDefaultList: true,\n },\n },\n};\n\nexport default Grow2792FeatureListMap;\n","import { Packages } from '~shared/constants/pricing';\n\nimport { TEAMS_PACKAGES } from '~pricing/lib/constants';\nimport SummaryTransformer from '~pricing/transformers/classes/SummaryTransformer';\nimport PlanTransformers from '~pricing/transformers/classes/PlanTransformers';\n\nimport FeatureList from './features';\nimport { SummaryFeatureTransformer } from './types';\n\n/**\n * We can override feature rules by the configuration no accessor methods.\n * There should be only one instance of the SummaryTransformer class\n */\nconst summaryTransformer = SummaryTransformer.getInstance();\n\n/**\n * Retrieve specific feature based on experiment or certain overrides.\n * This falls back to the default configuration for transformers\n * @param options\n * @returns SummaryFeatureTransformer\n */\nexport default function getSummaryFeatureTransformer(\n packageName: Packages,\n treatment: string\n): SummaryFeatureTransformer {\n const planTransformers = new PlanTransformers(FeatureList, treatment).initializeList();\n /* if packages to display is not configured based on route and featureList config,\n this will fail to ensure the developer knows what they want to achieve */\n const transformerConfigObject = planTransformers[packageName];\n if (transformerConfigObject && TEAMS_PACKAGES.includes(packageName)) {\n return summaryTransformer.teamsSummaryFeatureTransform(transformerConfigObject);\n }\n return summaryTransformer.individualSummaryFeatureTransform(transformerConfigObject);\n}\n","import { useState, useMemo, useCallback, useContext } from 'react';\nimport { StaticContext } from '@sm/webassets';\nimport { getDataCenterIdFromCurrentUrl, getDataCenterById } from '@sm/locale';\n\nimport { FeatureSet, SummaryDisplayFeatureList } from '~shared/types/pricing/features';\nimport { Packages } from '~shared/constants/pricing';\n\nimport getSummaryFeatureTransformer from '~pricing/transformers/summary';\nimport { formatCostInLocaleCurrency } from '~pricing/lib/lib-helpers';\n\nimport useFeatureSet from './useFeatureSet';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport useExperimentAssignment from './useExperimentAssignment';\n\n/**\n * Given an array of features and the pricing package to be displayed,\n * returns the values for the Feature Summary table.\n * @param {FeatureSet} features An array of Feature\n * @param {Packages} packageName A value from the Packages enum\n * @returns {SummaryDisplayFeatureList} An array of DisplayFeatureStatic\n */\nexport default function useSummaryDisplayFeatures(\n features: FeatureSet,\n packageName: Packages\n): SummaryDisplayFeatureList {\n const [displayFeatures, setDisplayFeatures] = useState([]);\n\n const {\n environment: { slLanguageLocale, countryCode },\n hostname,\n url,\n } = useContext(StaticContext);\n\n const {\n state: {\n packages: { overageCost },\n },\n } = usePricingState();\n\n const { experience } = useExperimentAssignment();\n const dataCenter = getDataCenterById(getDataCenterIdFromCurrentUrl(`${hostname}${url}`));\n\n const featureTransformer = useCallback(\n () => getSummaryFeatureTransformer(packageName, experience),\n [packageName, experience]\n );\n\n const featureSetMap = useFeatureSet(features);\n\n const formattedOverageCost = useMemo(\n () => overageCost && formatCostInLocaleCurrency(overageCost, 2),\n [overageCost]\n ) as string;\n\n useMemo(() => {\n if (featureTransformer) {\n const featureSetData = featureTransformer()(featureSetMap, {\n locale: slLanguageLocale,\n countryCode,\n dataCenter: dataCenter?.regionCode,\n packageName,\n overageCost: formattedOverageCost,\n });\n setDisplayFeatures(featureSetData);\n }\n }, [featureSetMap, featureTransformer, slLanguageLocale, countryCode, dataCenter, packageName, formattedOverageCost]);\n\n return displayFeatures;\n}\n","import { useMemo, useState } from 'react';\nimport { FeatureSet } from '~shared/types/pricing/features';\nimport { FeatureSetMap } from '~shared/types/pricing/pricingsvc';\nimport { convertFeatureSetToMap } from '~pricing/lib/lib-helpers';\n\n/**\n * Given an array of features, return a Map with [key: string] and Feature\n * @param {FeatureSet} featureSet An array of features\n * @returns {FeatureSetMap} A map of features\n */\nexport default function usePackageFeatureSet(featureSet: FeatureSet): FeatureSetMap {\n const [featureSetMap, setFeatureSetMap] = useState({});\n useMemo(() => {\n setFeatureSetMap(convertFeatureSetToMap(featureSet));\n }, [featureSet]);\n\n return featureSetMap;\n}\n","import React from 'react';\nimport { t } from '@sm/intl';\n\nimport { useParams } from 'react-router';\nimport { Link } from 'react-router-dom';\nimport { Box } from '@wds/box';\nimport { NavRouteParams } from '~pricing/components/Navigation/types';\nimport { PackageProps, PackageType } from '~shared/types/pricing/package';\n\nimport PackageCta from '~pricing/components/PackageCta';\nimport PackageHeader from '~pricing/components/PackageHeader';\nimport usePackageStyles from '~pricing/components/Summary/useStyles';\nimport FeatureSet from '~pricing/components/FeatureSet';\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\nimport useSummaryDisplayFeatures from '~pricing/hooks/useSummaryDisplayFeatures';\nimport PackageDefs from '~pricing/lib/packages/packageDefs';\n\nimport COPY from '~pricing/copy';\nimport { ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\n\nexport default function Package({\n skuCost,\n packageName,\n features,\n comparePlans,\n isLastPackage,\n discountInfo,\n}: PackageProps): React.ReactElement | null {\n const { canonicalPath = PackageType.Teams } = useParams();\n const displayFeatures = useSummaryDisplayFeatures(features, packageName);\n\n const { PricingPackageContainer, PricingPackage, Highlighted, PlanFeaturesLink } = usePackageStyles({ packageName });\n const { pageUtSource } = useTrackingDetails();\n\n if (!displayFeatures) {\n return null;\n }\n\n return (\n \n \n \n \n {!comparePlans && (\n \n \n {t(COPY.PLAN_FEATURES)}\n \n \n )}\n \n \n \n );\n}\n","import { PackageType } from '~shared/types/pricing/package';\n\nexport enum LegaleseDisclaimer {\n TeamsDiscount = 'DISPLAYED_PRICING',\n OverageCost = 'PER_ADDITIONAL_RESPONSE',\n EnterpriseAddons = 'ADD_ON_FEATURES',\n}\n\nexport default {\n [PackageType.Teams]: [\n LegaleseDisclaimer.TeamsDiscount,\n LegaleseDisclaimer.OverageCost,\n LegaleseDisclaimer.EnterpriseAddons,\n ],\n [PackageType.Individual]: [LegaleseDisclaimer.OverageCost],\n [PackageType.Educational]: [LegaleseDisclaimer.OverageCost],\n};\n","import { createMemoStyles } from '@wds/styles';\n\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport footerImg from '~pricing/components/PricingFooter/assets/pricing-footer.webp';\nimport { XL_MEDIA_QUERY, LG_MEDIA_QUERY, MD_MEDIA_QUERY, SM_MEDIA_QUERY } from '~shared/media-query';\n\nexport default createMemoStyles(({ pricingPalette, spacing, type }: PricingAppTheme) => ({\n Footer: {\n padding: [0, spacing[6]],\n margin: [spacing[5], 'auto', spacing[6]],\n [XL_MEDIA_QUERY]: {\n margin: [spacing[5], spacing[10], spacing[6]],\n },\n },\n Header: {\n background: 'rgba(249,190,0,0.25);',\n padding: spacing[2],\n '& h1': {\n fontWeight: type.fontWeight.medium,\n },\n },\n Content: {\n background: pricingPalette.colors.white,\n '& p': {\n margin: [spacing[4], 0],\n },\n },\n Audience: {\n display: 'none',\n [SM_MEDIA_QUERY]: {\n display: 'block',\n },\n },\n Accordion: {\n display: 'block',\n },\n AccordionContent: {\n display: 'none',\n },\n FAQHeading: {\n padding: [spacing[3], 0, spacing[2]],\n backgroundColor: 'transparent',\n border: 'none',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n cursor: 'pointer',\n '& h5': {\n fontWeight: 500,\n },\n [MD_MEDIA_QUERY]: {\n pointerEvents: 'none',\n },\n },\n Answer: {\n paddingBottom: spacing[2],\n '& a': {\n whiteSpace: 'nowrap',\n fontSize: 14,\n },\n },\n Spacer: {\n [SM_MEDIA_QUERY]: {\n display: 'none',\n },\n [MD_MEDIA_QUERY]: {\n display: 'block',\n },\n },\n Active: {\n '& $AccordionContent': {\n display: 'block',\n },\n },\n Inactive: {\n '& $AccordionContent': {\n display: 'none',\n },\n [MD_MEDIA_QUERY]: {\n '& $AccordionContent': {\n display: 'block',\n },\n },\n },\n Toggle: {\n [MD_MEDIA_QUERY]: {\n display: 'none',\n },\n },\n Features: {\n '& h2': {\n fontWeight: type.fontWeight.medium,\n },\n [LG_MEDIA_QUERY]: {\n background: `url(${footerImg}) no-repeat top left`,\n backgroundSize: 'contain',\n paddingTop: 0,\n paddingLeft: 300,\n },\n },\n FeatureList: {\n padding: 0,\n },\n Feature: {\n display: 'flex',\n fontSize: 14,\n margin: [0, spacing[3], spacing[4], spacing[4]],\n '& svg': {\n width: 18,\n height: 18,\n marginRight: 5,\n flex: '0 0 auto',\n },\n [MD_MEDIA_QUERY]: {\n display: 'inline-flex',\n alignItems: 'center',\n width: 'calc(50% - 32px)',\n maxWidth: 300,\n },\n },\n Disclaimers: {\n display: 'block',\n listStyle: 'none',\n padding: 0,\n },\n Disclaimer: {\n margin: [spacing[2], 0],\n },\n GetStarted: {\n fontSize: 18,\n marginBottom: spacing[5],\n },\n More: {\n borderTop: `1px solid ${pricingPalette.colors.pebble}`,\n margin: [15, 0, spacing[6]],\n paddingTop: 30,\n '&>h4': {\n fontWeight: type.fontWeight.medium,\n },\n },\n PricingList: {\n [MD_MEDIA_QUERY]: {\n display: 'flex',\n justifyContent: 'space-between',\n flexWrap: 'wrap',\n flexDirection: 'row',\n\n '& $Accordion': {\n flexBasis: '47%',\n maxWidth: '47%',\n flexGrow: 1,\n\n '&:nth-child(odd)': {\n paddingRight: '1.5%',\n },\n '&:nth-child(even)': {\n paddingLeft: '1.5%',\n },\n },\n },\n },\n SeeAllLink: {\n fontSize: 18,\n fontWeight: 700,\n },\n}));\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst PRICING_DISCLAIMER = '[Type: String][Vis.: high] - A string in pricing footer disclaimer';\n\nconst COPY = defineMessages({\n BUY_RESPONSES: {\n id: 'Pricing.copy.BuyResponses',\n defaultMessage: 'BUY TARGETED RESPONSES',\n desc: {\n id: 'Pricing.copy.BuyResponses',\n message: '[Type: Button][Vis.: high] - A button/link text on pricing footer',\n project: PROJECT_NAME,\n },\n },\n ADVANCE_SURVEY: {\n id: 'Pricing.copy.AdvanceSurvey',\n defaultMessage: 'Advanced survey design and analysis features are included in the price of your Audience project.',\n desc: {\n id: 'Pricing.copy.AdvanceSurvey',\n message: '[Type: String][Vis.: high] - A string above pricing footer list',\n project: PROJECT_NAME,\n },\n },\n TARGET_PEOPLE: {\n id: 'Pricing.copy.TargetPeople',\n defaultMessage:\n 'Target the types of people you want to hear from based on specific attributes, like country, gender, age, income, employment status, and more.',\n desc: {\n id: 'Pricing.copy.TargetPeople',\n message: '[Type: String][Vis.: high] - A string above pricing footer cta',\n project: PROJECT_NAME,\n },\n },\n SURVEY_RESPONSES: {\n id: 'Pricing.copy.SurveyResponses',\n defaultMessage:\n 'Get survey responses from around the world in minutes with SurveyMonkey Audience',\n desc: {\n id: 'Pricing.copy.SurveyResponses',\n message: '[Type: String][Vis.: high] - A string in pricing footer below header',\n project: PROJECT_NAME,\n },\n },\n PAID_FEATURES: {\n id: 'Pricing.copy.PaidFeatures',\n defaultMessage: 'SurveyMonkey Audience includes access to Paid Features',\n desc: {\n id: 'Pricing.copy.PaidFeatures',\n message: '[Type: Header][Vis.: high] - A string in pricing footer header',\n project: PROJECT_NAME,\n },\n },\n DISPLAYED_PRICING: {\n id: 'Pricing.copy.DisplayedPricingDisclaimer',\n defaultMessage:\n '*Displayed pricing represents a {teamsMinimumDiscount}% or more savings per user per month compared to individual Advantage and Premier plans',\n desc: {\n id: 'Pricing.copy.DisplayedPricingDisclaimer',\n message: PRICING_DISCLAIMER,\n project: PROJECT_NAME,\n },\n },\n PER_ADDITIONAL_RESPONSE: {\n id: 'Pricing.copy.PerAddResponseDisclaimer',\n defaultMessage: '**{overageCost} per additional response. SurveyMonkey Audience responses sold separately',\n desc: {\n id: 'Pricing.copy.PerAddResponseDisclaimer',\n message: PRICING_DISCLAIMER,\n project: PROJECT_NAME,\n },\n },\n ADD_ON_FEATURES: {\n id: 'Pricing.copy.AddOnFeaturesDisclaimer',\n defaultMessage: '***Add-on features available with Enterprise plan must be purchased separately',\n desc: {\n id: 'Pricing.copy.AddOnFeaturesDisclaimer',\n message: PRICING_DISCLAIMER,\n project: PROJECT_NAME,\n },\n },\n BASICS: {\n id: 'Pricing.copy.Basics',\n defaultMessage: 'Just need the basics?',\n desc: {\n id: 'Pricing.copy.Basics',\n message: '[Type: String][Vis.: high] - A string asking if the user is only interested in the basics',\n project: PROJECT_NAME,\n },\n },\n GET_STARTED: {\n id: 'Pricing.copy.GetStarted',\n defaultMessage: 'Get started for free.',\n desc: {\n id: 'Pricing.copy.GetStarted',\n message: '[Type: Link][Vis.: high] - A link to sign up page ',\n project: PROJECT_NAME,\n },\n },\n ALL_FEATURES: {\n id: 'Pricing.copy.AllFeatures',\n defaultMessage: 'SEE ALL PLAN FEATURES',\n desc: {\n id: 'Pricing.copy.AllFeatures',\n message: '[Type: Link][Vis.: high] - A link to details page',\n project: PROJECT_NAME,\n },\n },\n MORE: {\n id: 'Pricing.copy.More',\n defaultMessage: 'More about plans and pricing',\n desc: {\n id: 'Pricing.copy.More',\n message: '[Type: Header][Vis.: high] - More info about plans and pricing',\n project: PROJECT_NAME,\n },\n },\n SEE_PRICING: {\n id: 'Pricing.copy.SeePricing',\n defaultMessage: 'See pricing',\n desc: {\n id: 'Pricing.copy.SeePricing',\n message: '[Type: Link][Vis.: high] - A link to pricing',\n project: PROJECT_NAME,\n },\n },\n SPECIAL_PRICING_FOR_EDUCATORS_FAQ: {\n id: 'Pricing.copy.SpecialPricingForEducatorsFaq',\n defaultMessage: 'Do you offer special pricing for students or educators?',\n desc: {\n id: 'Pricing.copy.SpecialPricingForEducatorsFaq',\n message: '[Type: Title][Vis.: high] - A string for special pricing for educators and students faq',\n project: PROJECT_NAME,\n },\n },\n SPECIAL_PRICING_FOR_EDUCATORS_ANSWER: {\n id: 'Pricing.copy.SpecialPricingForEducatorsAnswer',\n defaultMessage: 'Yes! We offer discounted pricing for students and educators.',\n desc: {\n id: 'Pricing.copy.SpecialPricingForEducatorsAnswer',\n message: '[Type: String][Vis.: high] - A string for special pricing for educators and students answer',\n project: PROJECT_NAME,\n },\n },\n DISCOUNTS_FOR_TEAMS_FAQ: {\n id: 'Pricing.copy.DiscountForTeamsFaq',\n defaultMessage: 'Do you offer discounts for teams?',\n desc: {\n id: 'Pricing.copy.DiscountForTeamsFaq',\n message: '[Type: Title][Vis.: high] - A string for discounts for teams faq',\n project: PROJECT_NAME,\n },\n },\n DISCOUNTS_FOR_TEAMS_ANSWER: {\n id: 'Pricing.copy.DiscountForTeamsAnswer',\n defaultMessage:\n 'We offer discounts when you sign up for team plans that include 3 or more people. With Team Advantage and Team Premier plans, you’ll save {teamsMinimumDiscount}% or more over individual plans and get access to additional collaboration features.',\n desc: {\n id: 'Pricing.copy.DiscountForTeamsAnswer',\n message: '[Type: String][Vis.: high] - A string for discounts for teams answer',\n project: PROJECT_NAME,\n },\n },\n CORPORATE_PLANS_FAQ: {\n id: 'Pricing.copy.CorporatePlansFaq',\n defaultMessage: 'Do you offer plans for corporate needs?',\n desc: {\n id: 'Pricing.copy.CorporatePlansFaq',\n message: '[Type: Title][Vis.: high] - A string for corporate plans faq',\n project: PROJECT_NAME,\n },\n },\n CORPORATE_PLANS_ANSWER: {\n id: 'Pricing.copy.CorporatePlansAnswer',\n defaultMessage:\n 'Our Enterprise plans offer HIPAA compliance, advanced security, and admin features for increased governance and control.',\n desc: {\n id: 'Pricing.copy.CorporatePlansAnswer',\n message: '[Type: String][Vis.: high] - A string for corporate plans answer',\n project: PROJECT_NAME,\n },\n },\n CONTACT_SALES: {\n id: 'Pricing.copy.ContactSales',\n defaultMessage: 'Contact sales',\n desc: {\n id: 'Pricing.copy.ContactSales',\n message: '[Type: Link][Vis.: high] - A link to contact sales',\n project: PROJECT_NAME,\n },\n },\n\n // FEATURE COPY FOR AUDIENCE MODULE\n AUDIENCE_NUMBER_OF_SURVEYS: {\n id: 'Pricing.copy.NumberOfSurveys',\n defaultMessage: 'Unlimited number of surveys',\n desc: {\n id: 'Pricing.copy.NumberOfSurveys',\n message: '[Type: String][Vis.: high] - Number of surveys feature string',\n project: PROJECT_NAME,\n },\n },\n AUDIENCE_QUESTIONS_PER_SURVEY: {\n id: 'Pricing.copy.QuestionsPerSurvey',\n defaultMessage: '50 questions per survey',\n desc: {\n id: 'Pricing.copy.QuestionsPerSurvey',\n message: '[Type: String][Vis.: high] - questions per survey feature string',\n project: PROJECT_NAME,\n },\n },\n AUDIENCE_UNLIMITED_RESPONSES: {\n id: 'Pricing.copy.UnlimitedResponses',\n defaultMessage: 'Unlimited responses',\n desc: {\n id: 'Pricing.copy.UnlimitedResponses',\n message: '[Type: String][Vis.: high] - An Unlimited Responses feature string',\n project: PROJECT_NAME,\n },\n },\n AUDIENCE_EMAIL_SUPPORT: {\n id: 'Pricing.copy.EmailSupport',\n defaultMessage: '24/7 customer support via email',\n desc: {\n id: 'Pricing.copy.EmailSupport',\n message: '[Type: String][Vis.: high] - An Email Support feature string',\n project: PROJECT_NAME,\n },\n },\n AUDIENCE_CUSTOMIZATION: {\n id: 'Pricing.copy.SurveyCustomization',\n defaultMessage: 'Custom colors & survey URL',\n desc: {\n id: 'Pricing.copy.SurveyCustomization',\n message: '[Type: String][Vis.: high] - A Survey Customization feature string',\n project: PROJECT_NAME,\n },\n },\n AUDIENCE_DATA_EXPORTS: {\n id: 'Pricing.copy.DataExports',\n defaultMessage: 'Data exports (CSV, PDF, PPT, XLS)',\n desc: {\n id: 'Pricing.copy.DataExports',\n message: '[Type: String][Vis.: high] - A Data Exports feature string',\n project: PROJECT_NAME,\n },\n },\n AUDIENCE_SKIP_LOGIC: {\n id: 'Pricing.copy.SkipLogic',\n defaultMessage: 'Skip logic',\n desc: {\n id: 'Pricing.copy.SkipLogic',\n message: '[Type: String][Vis.: high] - A SkipLogic feature string',\n project: PROJECT_NAME,\n },\n },\n AUDIENCE_PIPING: {\n id: 'Pricing.copy.QuestionAnswerPiping',\n defaultMessage: 'Question & answer piping',\n desc: {\n id: 'Pricing.copy.QuestionAnswerPiping',\n message: '[Type: String][Vis.: high] - A Question Answer Piping feature string',\n project: PROJECT_NAME,\n },\n },\n AUDIENCE_FILE_UPLOAD: {\n id: 'Pricing.copy.FileUpload',\n defaultMessage: 'File upload',\n desc: {\n id: 'Pricing.copy.FileUpload',\n message: '[Type: String][Vis.: high] - A File Upload feature string',\n project: PROJECT_NAME,\n },\n },\n AUDIENCE_A_B_TESTING: {\n id: 'Pricing.copy.ABTesting',\n defaultMessage: 'A/B test text and images',\n desc: {\n id: 'Pricing.copy.ABTesting',\n message: '[Type: String][Vis.: high] - An ABTesting feature string',\n project: PROJECT_NAME,\n },\n },\n AUDIENCE_HIDE_FOOTER: {\n id: 'Pricing.copy.HideFooter',\n defaultMessage: 'Hide SurveyMonkey footer',\n desc: {\n id: 'Pricing.copy.HideFooter',\n message: '[Type: String][Vis.: high] - Hide SurveyMonkey footer feature string',\n project: PROJECT_NAME,\n },\n },\n AUDIENCE_MULTILINGUAL: {\n id: 'Pricing.copy.MultilingualSurveys',\n defaultMessage: 'Multilingual surveys',\n desc: {\n id: 'Pricing.copy.MultilingualSurveys',\n message: '[Type: String][Vis.: high] - Multilingual Surveys feature string',\n project: PROJECT_NAME,\n },\n },\n});\n\nexport default COPY;\n","export default [\n {\n name: 'number_of_surveys',\n included: true,\n },\n {\n name: 'questions_per_survey',\n included: true,\n },\n {\n name: 'unlimited_responses',\n included: true,\n },\n {\n name: 'email_support',\n included: true,\n },\n {\n name: 'customization',\n included: true,\n },\n {\n name: 'data_exports',\n included: true,\n },\n {\n name: 'skip_logic',\n included: true,\n },\n {\n name: 'piping',\n included: true,\n },\n {\n name: 'file_upload',\n included: false,\n },\n {\n name: 'a_b_testing',\n included: true,\n },\n {\n name: 'hide_footer',\n included: true,\n },\n {\n name: 'multilingual',\n included: true,\n },\n];\n","import React from 'react';\n\nexport default function EnabledCheckMark() {\n return (\n \n \n \n \n \n \n );\n}\n","import React from 'react';\n\nexport default function DisabledCheckMark() {\n return (\n \n \n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\nimport { t } from '@sm/intl';\nimport { Typography } from '@wds/typography';\nimport { Button } from '@wds/button';\nimport { Box } from '@wds/box';\n\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\nimport COPY from '~pricing/components/PricingFooter/copy';\n\nimport { TranslationsPlaceHolderType } from '~pricing/types';\n\nimport audienceFeatures from './config/features';\nimport EnabledCheckMark from './components/EnabledCheckMark';\nimport DisabledCheckMark from './components/DisabledCheckMark';\nimport usePricingFooterStyles from './useStyles';\n\nfunction AudiencePlaceholder({ children }: TranslationsPlaceHolderType): JSX.Element {\n return {children};\n}\n\nexport default function PricingFeatures(): JSX.Element {\n const { Features, Header, Content, Feature, FeatureList } = usePricingFooterStyles();\n const { pageUtSource } = useTrackingDetails();\n const utSource2 = pageUtSource?.includes('indv') ? 'pricing_individual' : 'pricing';\n\n return (\n \n \n \n {t(COPY.PAID_FEATURES)}\n \n \n \n \n {/* // because translation really dislike concat string since its harder to figure for different languages, context matters */}\n \n {t(\n {\n ...COPY.SURVEY_RESPONSES,\n },\n {\n audience: AudiencePlaceholder,\n }\n )}\n \n\n {t(COPY.TARGET_PEOPLE)}\n\n \n \n {t(COPY.BUY_RESPONSES)}\n \n \n\n \n {t(COPY.ADVANCE_SURVEY)}\n \n\n \n {audienceFeatures?.map(feature => {\n const copyKey = `AUDIENCE_${feature.name.toUpperCase()}` as keyof typeof COPY;\n return (\n \n {feature.included ? : }\n \n {t(COPY[copyKey])}\n \n \n );\n })}\n \n \n \n \n );\n}\n","import React, { useCallback, useState } from 'react';\nimport { Typography } from '@wds/typography';\nimport { IconChevronDown, IconChevronUp } from '@wds/icons';\nimport usePricingFooterStyles from '~pricing/components/PricingFooter/useStyles';\n\ntype FAQAccordion = {\n heading: string;\n children: React.ReactNode;\n testid?: string;\n};\n\nexport default function FAQ({ heading, children, testid }: FAQAccordion): JSX.Element {\n const [isActive, setIsActive] = useState(false);\n\n const { Accordion, AccordionContent, FAQHeading, Active, Inactive, Toggle } = usePricingFooterStyles();\n\n const handleClick = useCallback(() => {\n setIsActive(!isActive);\n }, [isActive]);\n\n return (\n
\n \n
{children}
\n
\n );\n}\n","import React from 'react';\nimport { Typography } from '@wds/typography';\nimport usePricingFooterStyles from '~pricing/components/PricingFooter/useStyles';\n\nexport default function FAQAnswer({ children }: { children: React.ReactNode }): JSX.Element {\n const { Answer } = usePricingFooterStyles();\n\n return (\n
\n \n {children}\n \n
\n );\n}\n","import React, { ReactElement, useCallback } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport { t } from '@sm/intl';\nimport { Box } from '@wds/box';\n\nimport FrequentlyAskedQuestion from './components/FAQ';\nimport FAQAnswer from './components/FAQAnswer';\nimport usePricingFooterStyles from './useStyles';\n\nimport COPY from './copy';\nimport { MoreAboutProps } from './types';\nimport { Packages, ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\nimport ProgramIDs from '~shared/constants/sales';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport useExperimentAssignment from '../../hooks/useExperimentAssignment';\nimport { switchAndSave } from '../../experiments/grow_2792_pnp_refresh_v1/helpers';\nimport { logPricingPageLoad } from '../../pages/shared';\n\nexport default function MoreAbout({\n displayTeamsDiscountFAQ,\n teamsDiscountPercent,\n pageUtSource,\n pageName,\n utSource2,\n utSource3,\n displayEduFaq, // optional since most experiments currently exclude edu_faq\n}: Readonly): ReactElement {\n const { PricingList } = usePricingFooterStyles();\n\n const {\n state: {\n packages: { displayPackageSet },\n },\n dispatch,\n } = usePricingState();\n const { isPnPRefresh } = useExperimentAssignment();\n const isAdvantageMonthlyCurrentlySelected = displayPackageSet.includes(Packages.AdvantageMonthly);\n\n const handleSwitchAndSave = useCallback(() => {\n switchAndSave({\n numberOfUsers: '3',\n isAdvantagePackage: true,\n isPremierPackage: false,\n pageName,\n dispatch,\n isAdvantageMonthlyCurrentlySelected,\n }); // update Advantage\n\n switchAndSave({ numberOfUsers: '3', isAdvantagePackage: false, isPremierPackage: true, pageName, dispatch }); // update Premier\n\n logPricingPageLoad({ pageName, utSource: 'pricing-summary-more-about-teams' });\n }, [dispatch, isAdvantageMonthlyCurrentlySelected, pageName]);\n\n return (\n \n {displayEduFaq && (\n \n \n {t(COPY.SPECIAL_PRICING_FOR_EDUCATORS_ANSWER)}{' '}\n {t(COPY.SEE_PRICING)}\n \n \n )}\n\n \n \n {t(COPY.CORPORATE_PLANS_ANSWER)}{' '}\n \n {t(COPY.CONTACT_SALES)}\n \n \n \n\n {displayTeamsDiscountFAQ && (\n \n \n {t(COPY.DISCOUNTS_FOR_TEAMS_ANSWER, { teamsMinimumDiscount: teamsDiscountPercent })}{' '}\n {isPnPRefresh ? (\n \n {t(COPY.SEE_PRICING)}\n \n ) : (\n {t(COPY.SEE_PRICING)}\n )}\n \n \n )}\n \n );\n}\n","import PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst ADVANTAGE = 'Advantage';\nconst PREMIER = 'Premier';\n\nconst experimentPackageCopy = {\n ADVANTAGE_MONTHLY: {\n id: 'Pricing.experimentPackageCopy.SharedPagesAdvantageMonthly',\n defaultMessage: ADVANTAGE,\n desc: {\n id: 'Pricing.experimentPackageCopy.SharedPagesAdvantageMonthly',\n message: '[Type: Heading][Vis.: high] - Advantage Monthly package name heading',\n project: PROJECT_NAME,\n },\n },\n ADVANTAGE_ANNUAL: {\n id: 'Pricing.experimentPackageCopy.SharedPagesAdvantageAnnual',\n defaultMessage: ADVANTAGE,\n desc: {\n id: 'Pricing.experimentPackageCopy.SharedPagesAdvantageAnnual',\n message: '[Type: Heading][Vis.: high] - Advantage Annual package name heading',\n project: PROJECT_NAME,\n },\n },\n BASIC_FREE: {\n id: 'Pricing.experimentPackageCopy.SharedPagesBasicFree',\n defaultMessage: 'Free',\n desc: {\n id: 'Pricing.experimentPackageCopy.SharedPagesBasicFree',\n message: '[Type: Heading][Vis.: high] - Basic package name heading',\n project: PROJECT_NAME,\n },\n },\n BASIC_ALWAYS_FREE_BYLINE: {\n id: 'Pricing.experimentPackageCopy.BasicAlwaysFreeByline',\n defaultMessage: 'Create as many surveys and forms as you need. Always free.',\n desc: {\n id: 'Pricing.experimentPackageCopy.BasicAlwaysFreeByline',\n message: '[Type: Heading][Vis.: high] - Basic package byline',\n project: PROJECT_NAME,\n },\n },\n BEST_VALUE: {\n id: 'Pricing.experimentPackageCopy.Grow2792BestValue',\n defaultMessage: 'Best value',\n desc: {\n id: 'Pricing.experimentPackageCopy.Grow2792BestValue',\n message: '[Type: Heading][Vis.: high] - Best value ribbon',\n project: PROJECT_NAME,\n },\n },\n CONTACT_SALES: {\n id: 'Pricing.experimentPackageCopy.SharedPagesContactSales',\n defaultMessage: 'Contact Sales',\n desc: {\n id: 'Pricing.experimentPackageCopy.SharedPagesContactSales',\n message: '[Type: Heading][Vis.: high] - Package CTA contact sales button',\n project: PROJECT_NAME,\n },\n },\n ENTERPRISE_CONTACT_SALES: {\n id: 'Pricing.experimentPackageCopy.EnterpriseContactSales',\n defaultMessage: 'Contact sales for pricing',\n desc: {\n id: 'Pricing.experimentPackageCopy.EnterpriseContactSales',\n message: '[Type: Heading][Vis.: high] - Package header contact sales for pricing byline',\n project: PROJECT_NAME,\n },\n },\n PREMIER_ANNUAL: {\n id: 'Pricing.experimentPackageCopy.SharedPagesPremierAnnual',\n defaultMessage: PREMIER,\n desc: {\n id: 'Pricing.experimentPackageCopy.SharedPagesPremierAnnual',\n message: '[Type: Heading][Vis.: high] - Premier Annual package name heading',\n project: PROJECT_NAME,\n },\n },\n RECOMMENDED: {\n id: 'Pricing.experimentPackageCopy.Grow2792Recommended',\n defaultMessage: 'Recommended for you',\n desc: {\n id: 'Pricing.experimentPackageCopy.Grow2792Recommended',\n message: '[Type: Heading][Vis.: high] - Recommended for you ribbon',\n project: PROJECT_NAME,\n },\n },\n SELECT: {\n id: 'Pricing.experimentPackageCopy.SharedPagesSelect',\n defaultMessage: 'Select',\n desc: {\n id: 'Pricing.experimentPackageCopy.SharedPagesSelect',\n message: '[Type: Heading][Vis.: high] - Package CTA select button',\n project: PROJECT_NAME,\n },\n },\n SIGN_UP: {\n id: 'Pricing.experimentPackageCopy.SharedPagesSignup',\n defaultMessage: 'Sign up',\n desc: {\n id: 'Pricing.experimentPackageCopy.SharedPagesSignup',\n message: '[Type: Heading][Vis.: high] - Package CTA sign up button',\n project: PROJECT_NAME,\n },\n },\n TEAM_ADVANTAGE: {\n id: 'Pricing.experimentPackageCopy.SharedPagesTeamAdvantage',\n defaultMessage: ADVANTAGE,\n desc: {\n id: 'Pricing.experimentPackageCopy.SharedPagesTeamAdvantage',\n message: '[Type: Heading][Vis.: high] - Team Advantage package name heading',\n project: PROJECT_NAME,\n },\n },\n TEAM_PREMIER: {\n id: 'Pricing.experimentPackageCopy.SharedPagesTeamPremier',\n defaultMessage: PREMIER,\n desc: {\n id: 'Pricing.experimentPackageCopy.SharedPagesTeamPremier',\n message: '[Type: Heading][Vis.: high] - Team Premier package name heading',\n project: PROJECT_NAME,\n },\n },\n YOUR_PLAN: {\n id: 'Pricing.experimentPackageCopy.SharedPagesYourPlan',\n defaultMessage: 'Your plan',\n desc: {\n id: 'Pricing.experimentPackageCopy.SharedPagesYourPlan',\n message: '[Type: Heading][Vis.: high] - Package CTA your plan copy for logged in users',\n project: PROJECT_NAME,\n },\n },\n SAVE_WITH_ANNUAL: {\n id: 'Pricing.experimentPackageCopy.SaveWithAnnual',\n defaultMessage: 'Save {percentage}% with an annual plan',\n desc: {\n id: 'Pricing.experimentPackageCopy.SaveWithAnnual',\n message: '[Type: Link][Vis.: high] - Package link to save with annual plan',\n project: PROJECT_NAME,\n },\n },\n SAVE_MORE_WITH_TEAMS: {\n id: 'Pricing.experimentPackageCopy.SaveWithTeams',\n defaultMessage: 'Save {percentage}% with 3+ users',\n desc: {\n id: 'Pricing.experimentPackageCopy.SaveWithTeams',\n message: '[Type: Link][Vis.: high] - Package link to save with more with a teams plan',\n project: PROJECT_NAME,\n },\n },\n};\n\nexport default experimentPackageCopy;\n","import ACTIONS from '~shared/actions';\nimport { Packages } from '~shared/constants/pricing';\nimport { ActionMap, CombinedActions } from '~shared/types/pricing/actions';\n\nexport type Grow2792StateType = {\n advantageUsers: number;\n premierUsers: number;\n initialLoad: boolean;\n isIPPM: boolean;\n};\n\nexport type Grow2792PayloadType = {\n [ACTIONS.PNP_REFRESH_CHANGE_USERS]: {\n users: string;\n packageType: string;\n };\n [ACTIONS.PNP_REFRESH_INITIAL_LOAD]: {\n loadedState: boolean;\n };\n [ACTIONS.PNP_REFRESH_RESET_TOGGLE_SWITCH]: {\n packageType: string;\n };\n [ACTIONS.PNP_REFRESH_RESET_ALL]: undefined;\n};\n\nexport type Grow2792ToggleProps = {\n packageName: string;\n};\n\nexport enum PaidFeatures {\n RANDOM_ASSIGNMENT = 'random_assign',\n BLOCK_RANDOMIZATION = 'block_randomization',\n FUNNELING = 'funneling',\n LOGO = 'logo',\n FOOTER = 'footer',\n PAGESKIPLOGIC = 'page_logic',\n PAGE_RANDOMIZATION = 'page_randomization',\n QUESTION_RANDOMIZATION = 'question_randomization',\n QUOTAS = 'quotas',\n CUSTOM_VARIABLES = 'custom_variables',\n THEMES = 'custom_theme',\n QUESTIONSKIP_LOGIC = 'question_logic',\n PIPING = 'piping',\n QUESTION_MATRIX = 'matrix_question_type',\n QUESTION_MENU_MATRIX = 'matrix_menu',\n QUESTION_FILE_UPLOAD = 'file_upload',\n MULTILINGUAL = 'multilingual',\n QUIZZES_PRO = 'pro_quiz',\n QUESTION_PAYMENT = 'payment_qt',\n QUESTION_CLICK_MAP = 'click_map',\n FOOTER_GRAYSCALE = 'footer_grayscale',\n PREMIUM_THEMES = 'premium_theme',\n CUSTOM_AVATAR = 'create_custom_chatbot_avatar',\n COMMENT_BOX = 'comment_box_question_type',\n CONTACT_INFO = 'collect_contact_information',\n MULTIPLE_TEXTBOXES = 'textbox_multiple_question_type',\n RANKING = 'ranking_question_type',\n SLIDER = 'slider_question_type',\n STAR_RATING_SCALE = 'star_rating_question_type',\n QUESTION_BEST_WORST = 'best_worst',\n THEME_LAYOUT = 'theme_layout',\n QUESTION_LIMIT = 'question_limit',\n ADVANCED_BRANCHING = 'advanced_branching',\n}\n\nexport type Grow2792Actions = ActionMap[keyof ActionMap];\n\nexport type SwitchAndSaveProps = {\n numberOfUsers: string;\n isAdvantagePackage: boolean;\n isPremierPackage: boolean;\n pageName: string;\n dispatch: React.Dispatch;\n packageName?: Packages;\n isAdvantageMonthlyCurrentlySelected?: boolean;\n};\n","import { Desc } from '@sm/intl';\nimport { Packages, PackageIds } from '~shared/constants/pricing';\nimport PACKAGE_COPY from '~pricing/experiments/grow_2792_pnp_refresh_v1/copy/experimentPackageCopy';\nimport { PackageDef } from '~pricing/lib/packages/types';\nimport { PackageType } from '~shared/types/pricing/package';\nimport { LegaleseDisclaimer } from '~pricing/components/PricingFooter/config/disclaimers';\nimport { EXPERIMENT_IDENTIFIERS } from '~server/routes/Pricing/experimentsConfig';\nimport PAID_FEATURES_COPY from '~pricing/experiments/grow_2792_pnp_refresh_v1/copy/experimentSummaryCopy';\nimport ORIGINAL_FEATURES_COPY from '~pricing/lib/PackageFeatures/details/copy';\nimport { PaidFeatures } from './types';\n\nexport const TogglePackages = {\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment1]: [\n Packages.AdvantageMonthly,\n Packages.AdvantageAnnual,\n Packages.TeamAdvantage,\n Packages.FormsAnnual,\n Packages.FormsMonthly,\n ],\n // PnP refresh no forms monthly variant\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment2]: [\n Packages.AdvantageMonthly,\n Packages.AdvantageAnnual,\n Packages.TeamAdvantage,\n ],\n // \"No Forms at all: Free, Adv (Monthly + Annual), Premier, Enterprise\"\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment3]: [\n Packages.AdvantageMonthly,\n Packages.AdvantageAnnual,\n Packages.TeamAdvantage,\n ],\n};\n\nexport const PACKAGE_SWAP = {\n [Packages.FormsAnnual]: {\n id: PackageIds.FORMS_ANNUAL,\n swap: {\n packageName: Packages.FormsMonthly,\n id: PackageIds.FORMS_MONTHLY,\n },\n },\n [Packages.FormsMonthly]: {\n id: PackageIds.FORMS_MONTHLY,\n swap: {\n packageName: Packages.FormsAnnual,\n id: PackageIds.FORMS_ANNUAL,\n },\n },\n [Packages.AdvantageAnnual]: {\n id: PackageIds.ADVANTAGE_ANNUAL,\n swap: {\n packageName: Packages.AdvantageMonthly,\n id: PackageIds.ADVANTAGE_MONTHLY,\n },\n },\n [Packages.AdvantageMonthly]: {\n id: PackageIds.ADVANTAGE_MONTHLY,\n swap: {\n packageName: Packages.AdvantageAnnual,\n id: PackageIds.ADVANTAGE_ANNUAL,\n },\n },\n [Packages.TeamAdvantage]: {\n id: PackageIds.TEAM_ADVANTAGE_ANNUAL,\n swap: {\n packageName: Packages.AdvantageMonthly,\n id: PackageIds.ADVANTAGE_MONTHLY,\n },\n },\n};\n\nexport const PackageDefs: PackageDef = {\n [Packages.AdvantageMonthly]: {\n highlighted: true,\n },\n [Packages.TeamAdvantage]: {\n highlighted: true,\n },\n};\n\nexport const PackageDisplayNames: Partial> = {\n [Packages.Basic]: PACKAGE_COPY.BASIC_FREE,\n [Packages.AdvantageMonthly]: PACKAGE_COPY.ADVANTAGE_MONTHLY,\n [Packages.AdvantageAnnual]: PACKAGE_COPY.ADVANTAGE_ANNUAL,\n [Packages.TeamAdvantage]: PACKAGE_COPY.TEAM_ADVANTAGE,\n [Packages.PremierAnnual]: PACKAGE_COPY.PREMIER_ANNUAL,\n [Packages.TeamPremier]: PACKAGE_COPY.TEAM_PREMIER,\n};\n\nexport const GROW_2792_DISCLAIMERS = {\n [PackageType.Teams]: [LegaleseDisclaimer.OverageCost, LegaleseDisclaimer.EnterpriseAddons],\n [PackageType.Individual]: [LegaleseDisclaimer.OverageCost],\n [PackageType.Educational]: [LegaleseDisclaimer.OverageCost],\n};\n\nexport const PAID_TBYB_FEATURES_COPY_MAP: Record = {\n [PaidFeatures.RANDOM_ASSIGNMENT]: {\n includedPackage: [Packages.Enterprise, Packages.PremierAnnual, Packages.TeamPremier],\n label: PAID_FEATURES_COPY.grow_2792_create_random_assignment_enabled,\n },\n [PaidFeatures.THEME_LAYOUT]: {\n // \"create_custom_theme_enabled\"\n includedPackage: [\n Packages.Enterprise,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.FormsMonthly,\n Packages.FormsAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: ORIGINAL_FEATURES_COPY.premium_themes,\n }, // Using Preimum_themes copy for theme_layout as in UCS\n [PaidFeatures.BLOCK_RANDOMIZATION]: {\n includedPackage: [Packages.Enterprise, Packages.PremierAnnual, Packages.TeamPremier],\n label: ORIGINAL_FEATURES_COPY.multiple_block_rotation_enabled,\n },\n [PaidFeatures.FUNNELING]: {\n includedPackage: [Packages.Enterprise, Packages.PremierAnnual, Packages.TeamPremier],\n label: PAID_FEATURES_COPY.grow_2792_funneling_enabled,\n },\n [PaidFeatures.LOGO]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: ORIGINAL_FEATURES_COPY.create_logo_enabled,\n },\n [PaidFeatures.FOOTER]: {\n includedPackage: [Packages.Enterprise, Packages.PremierAnnual, Packages.TeamPremier],\n label: ORIGINAL_FEATURES_COPY.create_toggle_footer_enabled,\n },\n [PaidFeatures.PAGESKIPLOGIC]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.StandardAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.FormsMonthly,\n Packages.FormsAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: ORIGINAL_FEATURES_COPY.create_skip_logic_enabled,\n },\n [PaidFeatures.PAGE_RANDOMIZATION]: {\n includedPackage: [Packages.Enterprise, Packages.PremierAnnual, Packages.TeamPremier],\n label: PAID_FEATURES_COPY.grow_2792_ippm_create_randomization_enabled_page,\n },\n [PaidFeatures.QUESTION_RANDOMIZATION]: {\n includedPackage: [Packages.Enterprise, Packages.PremierAnnual, Packages.TeamPremier],\n label: PAID_FEATURES_COPY.grow_2792_ippm_create_randomization_enabled_question,\n },\n [PaidFeatures.QUOTAS]: {\n includedPackage: [Packages.Enterprise, Packages.PremierAnnual, Packages.TeamPremier],\n label: ORIGINAL_FEATURES_COPY.create_quotas_enabled,\n },\n [PaidFeatures.CUSTOM_VARIABLES]: {\n includedPackage: [Packages.Enterprise, Packages.PremierAnnual, Packages.TeamPremier],\n label: ORIGINAL_FEATURES_COPY.create_custom_variables_enabled,\n },\n [PaidFeatures.THEMES]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.FormsMonthly,\n Packages.FormsAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n\n label: PAID_FEATURES_COPY.grow_2792_ippm_create_custom_theme_enabled,\n }, // Using Preimum_themes copy for custom_themes as in UCS\n [PaidFeatures.QUESTIONSKIP_LOGIC]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.StandardAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.FormsMonthly,\n Packages.FormsAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: ORIGINAL_FEATURES_COPY.create_skip_logic_enabled,\n },\n [PaidFeatures.PIPING]: {\n includedPackage: [Packages.Enterprise, Packages.PremierAnnual, Packages.TeamPremier],\n label: ORIGINAL_FEATURES_COPY.create_piping_enabled,\n },\n [PaidFeatures.QUESTION_MATRIX]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.StandardAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: PAID_FEATURES_COPY.grow_2792_ippm_matrix_question_type,\n },\n [PaidFeatures.QUESTION_MENU_MATRIX]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.StandardAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: ORIGINAL_FEATURES_COPY.menu_matrix_enabled,\n },\n [PaidFeatures.QUESTION_FILE_UPLOAD]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.FormsMonthly,\n Packages.FormsAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: PAID_FEATURES_COPY.grow_2792_ippm_file_upload,\n },\n [PaidFeatures.MULTILINGUAL]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: ORIGINAL_FEATURES_COPY.multilingual,\n },\n [PaidFeatures.QUIZZES_PRO]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: ORIGINAL_FEATURES_COPY.quizzes_pro,\n },\n [PaidFeatures.QUESTION_PAYMENT]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.FormsMonthly,\n Packages.FormsAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: ORIGINAL_FEATURES_COPY.payment_qt,\n },\n [PaidFeatures.QUESTION_CLICK_MAP]: {\n includedPackage: [Packages.Enterprise, Packages.PremierAnnual, Packages.TeamPremier],\n label: ORIGINAL_FEATURES_COPY.click_map_qt,\n },\n [PaidFeatures.FOOTER_GRAYSCALE]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: ORIGINAL_FEATURES_COPY.create_grayscale_footer,\n },\n [PaidFeatures.PREMIUM_THEMES]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: ORIGINAL_FEATURES_COPY.premium_themes,\n },\n [PaidFeatures.CUSTOM_AVATAR]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.StandardAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n Packages.FormsMonthly,\n Packages.FormsAnnual,\n ],\n label: PAID_FEATURES_COPY.grow_2792_create_custom_chatbot_avatar,\n },\n [PaidFeatures.COMMENT_BOX]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.StandardAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n Packages.FormsMonthly,\n Packages.FormsAnnual,\n ],\n label: PAID_FEATURES_COPY.grow_2792_comment_box_question_type,\n },\n [PaidFeatures.CONTACT_INFO]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.StandardAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.FormsMonthly,\n Packages.FormsAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: ORIGINAL_FEATURES_COPY.collect_contact_information,\n },\n [PaidFeatures.MULTIPLE_TEXTBOXES]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.StandardAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n Packages.FormsMonthly,\n Packages.FormsAnnual,\n ],\n label: PAID_FEATURES_COPY.grow_2792_textbox_multiple_question_type,\n },\n [PaidFeatures.RANKING]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.StandardAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: ORIGINAL_FEATURES_COPY.ranking_question_type,\n },\n [PaidFeatures.SLIDER]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.StandardAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: ORIGINAL_FEATURES_COPY.slider_question_type,\n },\n [PaidFeatures.STAR_RATING_SCALE]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.StandardAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: PAID_FEATURES_COPY.grow_2792_star_rating_question_type,\n },\n [PaidFeatures.QUESTION_BEST_WORST]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.StandardAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n ],\n label: PAID_FEATURES_COPY.grow_2792_ippm_best_worst_scale,\n },\n [PaidFeatures.QUESTION_LIMIT]: {\n includedPackage: [\n Packages.Enterprise,\n Packages.StandardMonthly,\n Packages.StandardAnnual,\n Packages.AdvantageAnnual,\n Packages.PremierAnnual,\n Packages.TeamAdvantage,\n Packages.TeamPremier,\n Packages.AdvantageMonthly,\n Packages.FormsMonthly,\n Packages.FormsAnnual,\n ],\n label: PAID_FEATURES_COPY.grow_2792_ippm_create_question_limit,\n },\n [PaidFeatures.ADVANCED_BRANCHING]: {\n includedPackage: [Packages.Enterprise, Packages.PremierAnnual, Packages.TeamPremier],\n label: PAID_FEATURES_COPY.grow_2792_advanced_branching,\n },\n};\n","import React, { useContext, useMemo } from 'react';\nimport { Link } from 'react-router-dom';\nimport { useParams } from 'react-router';\n\nimport { t } from '@sm/intl';\nimport { StaticContext } from '@sm/webassets';\nimport { Typography } from '@wds/typography';\nimport { Box } from '@wds/box';\nimport { IconArrowRight } from '@wds/icons';\n\nimport { formatCostInLocaleCurrency, getCoreCostFromSkus, isPaidUser } from '~app/pages/Pricing/lib/lib-helpers';\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\nimport { COMPARISON_PACKAGES } from '~pricing/lib/constants';\nimport { PackageIds, Packages, ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\nimport { NavRouteParams } from '~pricing/components/Navigation/types';\nimport { PackageType } from '~shared/types/pricing/package';\nimport { SummaryFooterPackages, SummaryDisclaimer } from './types';\n\nimport disclaimers, { LegaleseDisclaimer } from './config/disclaimers';\n\nimport usePricingFooterStyles from './useStyles';\n\nimport PricingFeatures from './PricingFeatures';\nimport COPY from './copy';\nimport MoreAbout from './MoreAbout';\nimport { GROW_2792_DISCLAIMERS } from '../../experiments/grow_2792_pnp_refresh_v1/constants';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport useExperimentAssignment from '../../hooks/useExperimentAssignment';\n\n// List of country codes where we allow the educational discount\nconst EDU_COUNTRIES = ['US', 'GB'];\n\n// List of packages to not display in the footer FAQ\n// TODO @sking please deal with this as you see fit once forms package goes live after experiment\nconst HIDDEN_FAQ_PACKAGES = [\n Packages.StarterAnnual,\n Packages.Enterprise,\n Packages.Flex,\n Packages.FormsAnnual,\n Packages.FormsMonthly,\n];\n\nexport default function PricingFooter({ packages }: SummaryFooterPackages): React.ReactElement {\n const {\n user,\n environment: { countryCode },\n } = useContext(StaticContext);\n const {\n state: {\n packages: { overageCost, getPackageById },\n },\n } = usePricingState();\n const { canonicalPath, subPath } = useParams();\n const { pageUtSource, pageName } = useTrackingDetails();\n const { isPnPRefresh } = useExperimentAssignment();\n\n const disclaimersMap = isPnPRefresh ? GROW_2792_DISCLAIMERS : disclaimers;\n\n const { Audience, Disclaimers, Disclaimer, Footer, GetStarted, More, SeeAllLink } = usePricingFooterStyles();\n\n const displayPackages = useMemo(() => {\n const filteredPackages = packages.filter(pkg => !HIDDEN_FAQ_PACKAGES.includes(pkg.packageName));\n // Reverse the packages cost FAQ list for EDU page.\n if (canonicalPath === PackageType.Educational) {\n filteredPackages.reverse();\n }\n return filteredPackages;\n }, [packages, canonicalPath]);\n // for the sales form link\n const utSource2 = pageUtSource?.includes('summary') ? 'summary' : 'details';\n const utSource3 = `${utSource2}_bottom_${user.isAuthenticated ? 'li' : 'lo'}`;\n\n const path = canonicalPath || PackageType.Teams;\n const displayEduFaq =\n !isPaidUser(user?.package) && path !== PackageType.Educational && EDU_COUNTRIES.includes(countryCode);\n // we hide the teams FAQ only on teams details and, subsequently, canonical details\n const displayTeamsDiscountFAQ =\n !(path === PackageType.Teams && subPath) && path !== 'details' && path !== PackageType.Educational;\n\n // this value represents the lowest percentage discount of all teams <-> individual packages,\n // rounded down to the nearest ten. it's used for legalese underneath the teams packages\n const teamsDiscountPercent = useMemo(() => {\n const discountPercent = Object.keys(COMPARISON_PACKAGES).reduce((minimumPercent, teamPackageName) => {\n let newMinimumPercent = minimumPercent;\n\n const comparisonPackageName = COMPARISON_PACKAGES[teamPackageName as Packages];\n if (comparisonPackageName) {\n const teamPricingPackage = getPackageById(PackageIds[teamPackageName as Packages]);\n const comparisonPricingPackage = getPackageById(PackageIds[comparisonPackageName]);\n const teamSku = getCoreCostFromSkus(teamPricingPackage?.skuCost);\n const comparisonSku = getCoreCostFromSkus(comparisonPricingPackage?.skuCost);\n\n if (teamSku && comparisonSku) {\n const packagePercent = Math.floor(100 - (teamSku.cost / comparisonSku.cost) * 100);\n if (packagePercent < newMinimumPercent) {\n newMinimumPercent = packagePercent;\n }\n }\n }\n\n return newMinimumPercent;\n }, 100);\n\n return Math.floor(discountPercent / 10) * 10;\n }, [getPackageById]);\n\n const conditionalPath = !isPnPRefresh ? `${path}/` : '';\n const featuresLink = `${ROOT_PRICING_ROUTE}/${conditionalPath}details?ut_source=${pageUtSource}`;\n\n return (\n
\n
    \n {disclaimersMap[path as keyof SummaryDisclaimer]?.map((disclaimer: string) => {\n if (disclaimer === LegaleseDisclaimer.EnterpriseAddons && subPath) {\n return null;\n }\n let formattedOverageCost = null;\n if (disclaimer === LegaleseDisclaimer.OverageCost && overageCost) {\n formattedOverageCost = formatCostInLocaleCurrency(overageCost, 2);\n }\n\n return (\n
  • \n {formattedOverageCost && }\n \n {t(COPY[disclaimer as keyof typeof COPY], {\n overageCost: formattedOverageCost,\n teamsMinimumDiscount: teamsDiscountPercent,\n })}\n \n
  • \n );\n })}\n
\n\n {/**\n *\n * The Audience portion of the footer should only be rendered on Summary pages.\n * subPath is required to to determine if we are on the details page or not.\n * path can be either 'educational' (details view) or 'teams', or 'individual' (summary view)\n */}\n {path !== PackageType.Educational && !subPath && (\n
\n \n\n {!user.isAuthenticated && (\n \n \n {t(COPY.BASICS)} {t(COPY.GET_STARTED)}\n \n \n )}\n\n \n \n {t(COPY.ALL_FEATURES)} \n \n \n
\n )}\n\n \n \n {t(COPY.MORE)}\n \n \n\n {/* if we are not in the treatment, show the default */}\n \n
\n );\n}\n","import { createMemoStyles } from '@wds/styles';\n\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\n\nexport default createMemoStyles(({ spacing, type }: PricingAppTheme) => ({\n Heading: {\n '& h1': {\n display: 'block',\n fontSize: type?.fontSize?.sectionTitle,\n textAlign: 'center',\n margin: [spacing[5], spacing[3], spacing[2]],\n fontWeight: type.fontWeight.medium,\n [MD_MEDIA_QUERY]: {\n fontSize: type?.fontSize?.hero2,\n margin: [spacing[6], 'auto', spacing[2]],\n },\n },\n },\n}));\n","import React from 'react';\n\nimport { Box } from '@wds/box';\nimport { Typography } from '@wds/typography';\nimport { T } from '@sm/intl';\n\nimport COPY from '~app/pages/Pricing/copy';\n\nimport useHeadingStyles from './useStyles';\nimport { HeadingProps } from './types';\n\nexport default function MainHeading({\n children,\n variant = 'hero2',\n className = '',\n}: Readonly): React.ReactElement {\n const { Heading } = useHeadingStyles();\n\n return (\n \n \n {children ?? }\n \n \n );\n}\n","import { Desc } from '@sm/intl';\n\nimport COPY from '~pricing/copy';\nimport { ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\n\nexport type RouteObject = {\n [key: string]: Route;\n};\n\nexport type Route = {\n path: string;\n title: Desc;\n packageType: string;\n};\n\n/**\n *\n * During runtime route, config title cannot be picked up when it is directly translated here,\n * so it is better to send the COPY object to the component to deal with it\n */\n\nconst ROUTE_CONFIG: RouteObject = {\n teams: {\n path: `${ROOT_PRICING_ROUTE}/teams`,\n title: COPY.TEAM_PLANS,\n packageType: 'teams',\n },\n individual: {\n path: `${ROOT_PRICING_ROUTE}/individual`,\n title: COPY.INDIVIDUAL_PLANS,\n packageType: 'individual',\n },\n enterprise: {\n path: `${ROOT_PRICING_ROUTE}/enterprise`,\n title: COPY.ENTERPRISE,\n packageType: 'enterprise',\n },\n};\n\nexport default ROUTE_CONFIG;\n","import { createMemoStyles } from '@wds/styles';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\n\nexport default createMemoStyles(({ spacing, type, pricingPalette }: PricingAppTheme) => ({\n Container: {\n margin: [0, 'auto', spacing[5]],\n [MD_MEDIA_QUERY]: {\n marginBottom: spacing[8],\n },\n },\n List: {\n display: 'flex',\n listStyle: 'none',\n justifyContent: 'center',\n padding: 0,\n },\n ListItem: {\n padding: '0.6em 0.8em 0.6em 0.6em',\n margin: [0, 12],\n fontSize: type.fontSize.bodySm,\n textAlign: 'center',\n display: 'flex',\n alignItems: 'center',\n [MD_MEDIA_QUERY]: {\n fontSize: type.fontSize.body,\n },\n '& a': {\n color: pricingPalette.colors.charcoal,\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'none',\n },\n },\n '&.selected': {\n borderBottom: `3px solid ${pricingPalette.colors.sabaeus}`,\n '& a': {\n color: pricingPalette.colors.sabaeus,\n },\n },\n },\n}));\n","import React from 'react';\n\nimport { Link } from 'react-router-dom';\n\nimport { NavItemProps } from './types';\nimport usePricingNavigationStyles from './useStyles';\n\nexport default function NavItem({ title, selected, url }: Readonly): React.ReactElement {\n const { ListItem } = usePricingNavigationStyles();\n return (\n
  • \n \n {title}\n \n
  • \n );\n}\n","import React, { useMemo } from 'react';\nimport { useParams } from 'react-router';\n\nimport { createURL } from '@sm/utils';\nimport { t } from '@sm/intl';\n\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\nimport { PackageType } from '~shared/types/pricing/package';\n\nimport { NavRouteParams, NavItemType } from './types';\n\nimport ROUTE_CONFIG from './routes';\nimport NavItem from './NavItem';\nimport useNavigationStyles from './useStyles';\nimport { usePricingState } from '~shared/hooks/usePricingState';\n\nexport default function Navigation(): React.ReactElement {\n const { canonicalPath = PackageType.Teams, subPath } = useParams();\n const { Container, List } = useNavigationStyles();\n const {\n state: {\n packages: { comparePlans },\n },\n } = usePricingState();\n const { pageUtSource } = useTrackingDetails();\n\n const navItems = useMemo(() => {\n return Object.keys(ROUTE_CONFIG).map((routeName): NavItemType => {\n const { title: TITLE, packageType, path } = ROUTE_CONFIG[routeName as keyof typeof ROUTE_CONFIG];\n const selected =\n canonicalPath === packageType ||\n (canonicalPath === PackageType.Educational && packageType === PackageType.Individual)\n ? 'selected'\n : '';\n const url = createURL(`${path}/${subPath ?? ''}`, { ut_source: pageUtSource });\n return {\n title: t(TITLE),\n selected,\n routeName,\n url,\n };\n });\n }, [canonicalPath, subPath, pageUtSource]);\n\n return (\n \n );\n}\n","import { createMemoStyles } from '@wds/styles';\n\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\n\nexport default createMemoStyles(({ spacing }: PricingAppTheme) => ({\n Summary: {\n margin: [0, 'auto'],\n },\n PackagesContainer: {\n display: 'grid',\n padding: [0, spacing[3]],\n [MD_MEDIA_QUERY]: {\n display: 'flex',\n justifyContent: 'center',\n padding: 0,\n },\n },\n}));\n","import { Treatment } from './types';\nimport { EXPERIMENT_IDENTIFIERS } from '~server/routes/Pricing/experimentsConfig';\n\nconst Treatments: Treatment = {\n ENTERPRISE_FEATURES_GP69: EXPERIMENT_IDENTIFIERS.ENTERPRISE_FEATURES_GP69.treatment,\n GROW_2427_TREATMENT: EXPERIMENT_IDENTIFIERS.GROW_2427.treatment,\n BILLING_20014_T1: EXPERIMENT_IDENTIFIERS.BILLING_20014.treatment,\n GROW_2911_TREATMENT: EXPERIMENT_IDENTIFIERS.GROW_2911.treatment,\n};\n\nexport default Treatments;\n","import {\n SmsSurvey,\n HipaaSvg,\n OfflineSurveySVG,\n ResponseManagerSvg,\n SalesforceSvg,\n UnlimitedApi,\n TableauSvg,\n ChimeSvg,\n ColgateSvg,\n PumaLogo,\n AdTestingSvg,\n MaxDiffSvg,\n PriceOptimizationSvg,\n ConceptTestingSvg,\n} from '.';\n\nconst { defineMessages } = require('@sm/intl');\n\nconst COPY = defineMessages({\n isOfflineModeEnterpriseEnabled: {\n title: 'Offline Surveys',\n body: 'No WiFi? No problem! Conduct field surveys with SurveyMonkey Anywhere app.',\n image: OfflineSurveySVG,\n link: 'https://help.surveymonkey.com/en/surveymonkey/send/offline-mode/',\n desiredProduct: 'offline mode',\n programId: '7014V000002J0E4QAK',\n },\n\n isResponseManagerEnabled: {\n title: 'Response Manager',\n body: 'Respond to data deletion requests and stay compliant with privacy laws.',\n image: ResponseManagerSvg,\n link: 'https://help.surveymonkey.com/en/surveymonkey/teams/enterprise-settings/#response-manager',\n desiredProduct: 'response manager',\n programId: '7014V000002J0DzQAK',\n },\n\n smsCollector: {\n title: 'SMS Surveys',\n body: 'Meet your audience where they are by sending them a mobile survey via text.',\n image: SmsSurvey,\n link: 'https://help.surveymonkey.com/en/surveymonkey/send/text-message/',\n programId: '7014V000001yzq9QAA',\n desiredProduct: 'sms surveys',\n },\n\n isTableauEnabled: {\n title: 'Power BI & Tableau',\n body: 'Automatically import survey responses into your favorite analytics platform.',\n image: TableauSvg,\n link: 'https://help.surveymonkey.com/en/surveymonkey/integrations/#syncing-data',\n programId: '7014V000002dF8qQAE',\n desiredProduct: 'power bi and tableau',\n },\n\n isUnlimitedApiEnabled: {\n title: 'Unlimited Api Calls',\n body: 'View survey results inside other platforms.',\n image: UnlimitedApi,\n link: 'https://help.surveymonkey.com/en/surveymonkey/integrations/surveymonkey-api/',\n programId: '7014V0000029osMQAQ',\n desiredProduct: 'unlimited api calls',\n },\n isHipaaEnabled: {\n title: 'HIPAA Compliance',\n body: 'Protect the sensitive data your organization collects and ensure patient privacy.',\n image: HipaaSvg,\n link: 'https://help.surveymonkey.com/en/surveymonkey/teams/hipaa/',\n programId: '7014V000002XmJRQA0',\n desiredProduct: 'hipaa compliance',\n },\n isSalesForceEnabled: {\n title: 'Salesforce Integration',\n body: 'Automate workflows and integrate data with easy-to-use Salesforce mapping.',\n image: SalesforceSvg,\n link: 'https://help.surveymonkey.com/en/surveymonkey/integrations/surveymonkey-salesforce-app/',\n programId: '7014V000001yzq9QAA',\n desiredProduct: 'salesforce integration',\n },\n chimeTestimonial: {\n logo: { img: ChimeSvg, height: '32px', width: '72px' },\n body: '“Momentive managed to capture the nuance to diversity, equity, and belonging work, moving beyond the surface level - they helped us achieve a higher level of understanding.”',\n quottedPerson: 'Erica Johnson',\n company: 'Chime',\n },\n pumaTestimonial: {\n logo: { img: PumaLogo, height: '30px', width: '60px' },\n body: \"“It's been a fun experience because I've been able to leverage the feedback we get in a much more thoughtful manner and ensure that it falls in line with what our customers want.”\",\n quottedPerson: 'Joey CasaDeCalvo',\n company: 'Puma',\n },\n colgateTestimonial: {\n logo: { img: ColgateSvg, height: '32px', width: '60%' },\n body: '“We were really impressed with the level of service from the Momentive team. It felt like a spa treatment. It felt very customized, very intensive, very supportive. That was surprising and delightful.”',\n quottedPerson: 'Mike Fitzgerald',\n company: 'Colgate-Palmolive',\n },\n conceptTesting: {\n title: 'Concept Testing',\n body: 'Validate and optimize product concepts with your target audience and compare against industry benchmarks.',\n image: { img: ConceptTestingSvg, height: '110px', width: '102px' },\n ctaLink: '/solutions/create/511',\n learnMoreLink: 'https://help.surveymonkey.com/en/surveymonkey/solutions/concept-testing/',\n desiredProduct: 'concept testing',\n },\n adTesting: {\n title: 'Ad Testing',\n body: 'Test ad creatives before they launch to maximize campaign effectiveness.',\n image: { img: AdTestingSvg, height: '127px', width: '160px' },\n ctaLink: '/solutions/create/506',\n learnMoreLink: 'https://www.surveymonkey.com/market-research/solutions/ad-creative-analysis/',\n desiredProduct: 'ad testing',\n },\n priceOptimization: {\n title: 'Price Optimization',\n body: 'Find the optimal price range for your product or service using the Van Westendorp model.',\n image: { img: PriceOptimizationSvg, height: '145px', width: '158px' },\n ctaLink: '/solutions/mrx/van_westendorp/studies/create/',\n learnMoreLink: 'https://help.surveymonkey.com/en/surveymonkey/solutions/van-westendorp/',\n desiredProduct: 'price optimization',\n },\n maxDiff: {\n title: 'Feature Importance (MaxDiff)',\n body: 'Understand which product features influence decisions and satisfaction the most with advanced MaxDiff analysis.',\n image: { img: MaxDiffSvg, height: '120px', width: '150px' },\n ctaLink: '/market-research/services/',\n desiredProduct: 'feature importance',\n learnMoreLink:\n 'https://www.surveymonkey.com/market-research/resources/feature-importance-research-product-success/',\n },\n});\n\nexport default COPY;\n","import { createUseStyles } from 'react-jss';\n// Sonarcube asked for a constant\nconst boldText = '500 !important';\n\nexport default createUseStyles(theme => ({\n root: {\n backgroundColor: 'red',\n },\n topBanner: {\n width: '100% !important',\n height: '460px',\n backgroundColor: '#FFFDED',\n maxWidth: `${window.innerWidth} !important`,\n },\n\n bannerTitle: {\n fontWeight: boldText,\n },\n\n bannerBody: {\n width: '480px',\n },\n\n bannerButton: {\n marginTop: '25px',\n },\n\n bannerCTA: {\n marginRight: '80px',\n },\n\n linkIcon: {\n marginBottom: '-1px',\n },\n sectionTitle: {\n fontWeight: boldText,\n marginTop: '56px',\n },\n centerText: {\n textAlign: 'center',\n },\n\n addOnCard: {\n height: '280px',\n width: '308px',\n borderRadius: '8px',\n border: '2px solid #D1D3D4',\n padding: '40px 32px 32px 32px',\n marginTop: '25px',\n },\n\n addOnContainer: {\n paddingRight: '197px !important',\n paddingLeft: '197px !important',\n marginBottom: '55px',\n },\n\n addOnCardTitle: {\n fontSize: '20px !important',\n fontWeight: '500',\n },\n\n addOnCardButton: {\n marginTop: 'auto',\n },\n\n expertServicesPanel: {\n width: '100%',\n height: '670px',\n backgroundColor: '#051C4F',\n paddingTop: '56px',\n },\n\n lightTitle: {\n color: '#fff',\n fontWeight: boldText,\n },\n\n lightBody: {\n color: '#fff',\n padding: '0px 33%',\n fontSize: '16px',\n },\n\n row: {\n width: '100%',\n },\n\n testimonialCard: {\n border: '2px solid #53225B',\n borderRadius: '16px 16px 16px 0px',\n height: '356px',\n width: '308px',\n marginTop: '32px',\n backgroundColor: '#fff',\n marginLeft: '12px',\n marginRight: '12px',\n padding: '16px 16px 25px 16px',\n },\n\n chimeBox: {\n backgroundColor: '#F7F2FD',\n height: '250px',\n width: '95%',\n color: '#53225B',\n paddingLeft: '16px',\n paddingTop: '16px',\n },\n\n pumaBox: {\n backgroundColor: '#FEF0F1',\n height: '250px',\n width: '95%',\n color: '#902B3C',\n paddingLeft: '16px',\n paddingTop: '16px',\n },\n\n colgateBox: {\n backgroundColor: '#EEF9FE',\n height: '250px',\n width: '95%',\n color: '#051C4F',\n paddingLeft: '16px',\n paddingTop: '16px',\n },\n\n testimonialBody: {\n width: '90%',\n marginTop: '15px',\n },\n\n quoteBox: {\n marginTop: '16px',\n },\n\n mrxCard: {\n height: '370px',\n width: '308px',\n marginTop: '25px',\n },\n mrxCardInnerBox: {\n backgroundColor: '#F5FAF6',\n height: '40%',\n },\n mrxButton: {\n width: '150px',\n marginTop: 'auto',\n },\n\n mrxCardBody: {\n paddingRight: '16px',\n },\n modalContainer: {\n '&.wds-modal--md .wds-modal__modal ': {\n borderRadius: '16px !important',\n padding: '48px',\n backgroundColor: '#fff',\n\n '&.wds-modal__body': {\n backgroundColor: '#fff',\n },\n },\n },\n modalTitle: {\n fontSize: '24px',\n fontWeight: '500',\n fontFamily: theme.type.fontFamily.base,\n color: '#333E48',\n },\n modalButton: {\n width: '160px',\n },\n checkMark: {\n marginRight: '5px',\n height: '12px',\n width: '16px',\n },\n inlineLink: {\n margin: '0px 5px',\n },\n}));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Box } from '@wds/box';\nimport { Grid } from '@wds/grid';\nimport { Button, Typography } from '@sm/wds-react';\nimport { generateMetricsAttribute } from '@sm/metrics';\nimport { LinkIcon } from '../assets';\nimport COPY from '../assets/EnterpriseFeaturesCopy';\nimport useStyles from '../useStyles';\n\nexport default function MrxSection() {\n const { sectionTitle, centerText, addOnContainer } = useStyles();\n const cardKeys = ['conceptTesting', 'adTesting', 'priceOptimization', 'maxDiff'];\n const viewAllSolutionsUrl = 'https://www.surveymonkey.com/market-research/solutions/get-started';\n return (\n \n \n Market Research Solutions\n \n \n Explore our portfolio of AI-powered solutions.{' '}\n \n View all solutions\n \n \n \n {cardKeys.map(feature => {\n return (\n \n \n \n );\n })}\n \n \n );\n}\n\nfunction MrxCard({ solution }) {\n const { addOnCardTitle, mrxButton, mrxCard, mrxCardInnerBox, mrxCardBody, linkIcon } = useStyles();\n\n const { title, body, image, learnMoreLink, ctaLink, desiredProduct } = solution;\n const { img, height, width } = image;\n\n return (\n <>\n \n \n {title}\n \n

    \n {title}\n

    \n \n {body}{' '}\n \n Learn more \"link\"\n {' '}\n \n \n Get Started\n \n
    \n \n );\n}\n\nMrxCard.propTypes = {\n solution: PropTypes.shape(\n PropTypes.shape({\n title: PropTypes.string,\n body: PropTypes.string,\n link: PropTypes.string,\n ctaLink: PropTypes.string,\n desiredProduct: PropTypes.string,\n learnMoreLink: PropTypes.string,\n image: PropTypes.shape({\n img: PropTypes.node,\n height: PropTypes.string,\n width: PropTypes.string,\n }),\n })\n ).isRequired,\n};\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst COPY = defineMessages({\n CONTACT_US_TODAY: {\n id: 'Enterprise.copy.Heading',\n defaultMessage: 'Contact us today',\n desc: {\n id: 'Enterprise.copy.Heading',\n message: '[Type: header][Vis: high] - Primary header for enterprise tab contact us form',\n project: PROJECT_NAME,\n },\n },\n MAIN_HEADING: {\n id: 'Enterprise.copy.MainHeading',\n defaultMessage: 'Choose a plan that works for you',\n desc: {\n id: 'Enterprise.copy.MainHeading',\n message: '[Type: header][Vis: high] - Primary header for pricing enterprise page',\n project: PROJECT_NAME,\n },\n },\n SURVEY_MONKEY_ENTERPRISE: {\n id: 'Enterprise.copy.SurveyMonkeyEnterpriseHeading',\n defaultMessage: 'SurveyMonkey Enterprise',\n desc: {\n id: 'Enterprise.copy.SurveyMonkeyEnterpriseHeading',\n message: '[Type: header][Vis: high] - Primary header for enterprise user pricing page',\n project: PROJECT_NAME,\n },\n },\n LEARN_MORE: {\n id: 'Enterprise.copy.SubHeading',\n defaultMessage: 'Learn more about SurveyMonkey Enterprise and schedule a demo.',\n desc: {\n id: 'Enterprise.copy.SubHeading',\n message: '[Type: header][Vis: high] - Subheader for enterprise tab contact us form',\n project: PROJECT_NAME,\n },\n },\n MANAGE_USERS: {\n id: 'Enterprise.copy.ManageUsersBullet',\n defaultMessage:\n 'Manage multiple users and gain visibility into all survey data collected across your organization with admin controls and dashboards.',\n desc: {\n id: 'Enterprise.copy.ManageUsersBullet',\n message: '[Type: paragraph][Vis: high] - First bullet for enterprise tab contact us form',\n project: PROJECT_NAME,\n },\n },\n CONFIDENTIAL_DATA: {\n id: 'Enterprise.copy.ConfidentialDataBullet',\n defaultMessage:\n 'Ensure confidential data is protected with enhanced security including encryption, SSO, and features that help you remain compliant with HIPAA and GDPR.',\n desc: {\n id: 'Enterprise.copy.ConfidentialDataBullet',\n message: '[Type: paragraph][Vis: high] - Second bullet for enterprise tab contact us form',\n project: PROJECT_NAME,\n },\n },\n FEEDBACK: {\n id: 'Enterprise.copy.FeedbackBullet',\n defaultMessage:\n 'Make feedback automated and actionable by connecting to key business systems using APIs and powerful integrations, including Salesforce, Marketo, Tableau, and more.',\n desc: {\n id: 'Enterprise.copy.FeedbackBullet',\n message: '[Type: paragraph][Vis: high] - Third bullet for enterprise tab contact us form',\n project: PROJECT_NAME,\n },\n },\n INVALID_EMAIL: {\n id: 'Enterprise.copy.Invalid-Email',\n defaultMessage: 'Please enter a valid email address',\n desc: {\n id: 'Enterprise.copy.Invalid-Email',\n message: '[Type: Form][Vis.: high] - A message that is shown if the email entered is invalid',\n project: PROJECT_NAME,\n },\n },\n BLOCKED_EMAIL: {\n id: 'Enterprise.copy.InvalidBusinessEmail',\n defaultMessage: 'Please use your business email address',\n desc: {\n id: 'Enterprise.copy.InvalidBusinessEmail',\n message: '[Type: Form][Vis.: high] - A message that is shown if a the email is not a business email',\n project: PROJECT_NAME,\n },\n },\n INVALID_PHONE_NUMBER: {\n id: 'Enterprise.copy.InvalidPhoneNumber',\n defaultMessage: 'Please enter your phone number',\n desc: {\n id: 'Enterprise.copy.InvalidPhoneNumber',\n message: '[Type: Form][Vis.: high] - A message that is shown if the phone number is not valid',\n project: PROJECT_NAME,\n },\n },\n REQUIRED: {\n id: 'Enterprise.copy.Required',\n defaultMessage: 'Required',\n desc: {\n id: 'Enterprise.copy.Required',\n message: '[Type: Form][Vis.: high] - A message that is shown if a field is required to process the form',\n project: PROJECT_NAME,\n },\n },\n CONTACT_SALES: {\n id: 'Enterprise.copy.ContactSales',\n defaultMessage: 'Contact sales',\n desc: {\n id: 'Enterprise.copy.ContactSales',\n message: '[Type: Button][Vis.: high] - A button/link text to contact the sales team',\n project: PROJECT_NAME,\n },\n },\n HUBSPOT_FORM_ERROR: {\n id: 'Enterprise.copy.BackendError',\n defaultMessage: 'Unable to load form.',\n desc: {\n id: 'Enterprise.copy.BackendError',\n message: '[Type: Button][Vis.: high] - A generic error message',\n project: PROJECT_NAME,\n },\n },\n ERROR: {\n id: 'Enterprise.copy.GenericError',\n defaultMessage: 'Error',\n desc: {\n id: 'Enterprise.copy.GenericError',\n message: '[Type: Button][Vis.: high] - A generic error message',\n project: PROJECT_NAME,\n },\n },\n CONSENT: {\n id: 'Enterprise.copy.ConsentMessage',\n defaultMessage: `Contact me about SurveyMonkey Business Solutions like product updates, news, information, and special promotions. I can unsubscribe here at any time and can visit SurveyMonkey's privacy notice if I have any questions. We remember your preference so you do not have to submit it to us again and we will retain this preference until you opt-out.`,\n desc: {\n id: 'Enterprise.copy.ConsentMessage',\n message: '[Type: Text][Vis.: high] - Consent to newsletter subscription verbiage',\n project: PROJECT_NAME,\n },\n },\n CONSENT_UPDATED: {\n id: 'Enterprise.copy.ConsentMessageUpdated',\n defaultMessage: `I wish to receive other information about SurveyMonkey, like the news and updates described here. You can unsubscribe at any time.`,\n desc: {\n id: 'Enterprise.copy.ConsentMessageUpdated',\n message: '[Type: Text][Vis.: high] - Consent to newsletter subscription verbiage legacy updates',\n project: PROJECT_NAME,\n },\n },\n CONSENT_PRIVACY_NOTICE: {\n id: 'Enterprise.copy.ConsentPrivacyNotice',\n defaultMessage: `By clicking 'Contact sales', I am requesting that someone contact me about my inquiry and confirming I have read the SurveyMonkey Privacy Notice.`,\n desc: {\n id: 'Enterprise.copy.ConsentPrivacyNotice',\n message: '[Type: Text][Vis.: high] - Consent to newsletter subscription verbiage privacy notice',\n project: PROJECT_NAME,\n },\n },\n CONSENT_FOR_SUBMISSION: {\n id: 'Enterprise.copy.ConsentMessageSubmission',\n defaultMessage: `Contact me about SurveyMonkey Business Solutions like product updates, news, information, and special promotions. I can unsubscribe if I have any questions. We remember your preference so you do not have to submit it to us again and we will retain this preference until you opt-out.`,\n desc: {\n id: 'Enterprise.copy.ConsentMessageSubmission',\n message: '[Type: Text][Vis.: high] - Consent to newsletter subscription verbiage submitted to hubspot',\n project: PROJECT_NAME,\n },\n },\n});\n\nexport default COPY;\n","import { FocusEvent } from 'react';\nimport { ERROR_MAP } from './Validation';\n\nexport type FIELD_TYPE = { [x: string]: ValidateFn[] };\n\nexport enum ValidationColor {\n success = 'success',\n error = 'error',\n}\n\nexport type FormState = {\n [x: string]: {\n value: string;\n color: ValidationColor | undefined;\n errorMessage: string | undefined;\n };\n};\n\nexport type HubspotServerResponse = {\n message: string;\n status: string;\n errorType?: string;\n};\n\nexport type ValidationResult = {\n error?: string;\n color?: ValidationColor;\n};\n\ntype ValidateFn = (value: string) => ValidationResult;\n\nexport type ValidatorFn = {\n value: string;\n validators: ValidateFn[];\n};\n\n// since we don't know the type we get from the backend the most generic type that applies\n// Unless we have a way to map the whole data structure in flight\nexport type HubspotDataType = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [x: string]: any;\n};\n\nexport type HsFormFields = {\n id: string;\n type: string;\n name: string;\n label: string;\n defaultValue: string;\n fieldType: string;\n required: boolean;\n hidden: boolean;\n placeholder: string;\n hideLabel?: boolean;\n};\n\nexport type HubspotData = {\n fields: HsFormFields[];\n redirect?: string;\n portalId?: number;\n guid?: string;\n};\n\nexport enum HubspotApiStatus {\n // API request is being made\n Loading = 'Loading',\n // API call was successful\n Success = 'Success',\n // API resulted in an error\n Error = 'Error',\n}\n\nexport type HubspotApiData = {\n status?: HubspotApiStatus;\n error?: Error | null;\n data?: HubspotData | null;\n};\n\ntype HubspotApiError = {\n message: string;\n errorType: keyof typeof ERROR_MAP;\n};\n\nexport type HubspotApiReturnStatus = {\n status: string;\n message: string;\n errors: HubspotApiError[];\n redirectUri?: string;\n};\n\nexport type HsContext = {\n hutk: string;\n pageName: string;\n pageUri: string;\n};\n\nexport type HsCommunicationDTO = {\n text: string;\n subscriptionTypeId: number;\n value: boolean;\n};\n\nexport type HsConsent = {\n [key in 'consent']: {\n communications: HsCommunicationDTO[];\n consentToProcess: boolean;\n text: string;\n };\n};\nexport type HsFormValues = Pick & { value: string };\n\nexport type HubspotDTO = {\n context: HsContext;\n fields: HsFormValues[];\n legalConsentOptions?: HsConsent;\n};\n\nexport type SubmissionDataOptions = {\n formFields: HsFormFields[];\n formData: FormState;\n};\n\nexport type HubspotInputType = {\n fields: HsFormFields[] | undefined;\n formData: FormState;\n handleOnBlur(e: FocusEvent): void;\n};\n\n// Johnny's defined type\nexport type HubspotFormType = {\n customOnSubmitFunction?: Function;\n};\n","import { t } from '@sm/intl';\nimport { isValidEmail } from '@sm/utils';\n\nimport COPY from '~pricing/pages/Enterprise/copy';\nimport { ValidationResult, ValidatorFn, ValidationColor, FIELD_TYPE, FormState } from './types';\n\nconst FIELDS = Object.freeze({ email: 'email', phone: 'phone', defaultType: 'defaultType' });\n\nexport const ERROR_MAP = {\n INVALID_EMAIL: t(COPY.INVALID_EMAIL),\n BLOCKED_EMAIL: t(COPY.BLOCKED_EMAIL),\n INVALID_PHONE_NUMBER: t(COPY.INVALID_PHONE_NUMBER),\n REQUIRED_FIELD: t(COPY.REQUIRED),\n GENERIC_ERROR: t(COPY.ERROR),\n INVALID_HUTK: t(COPY.ERROR), // invalid request\n};\n\nconst PHONE_NUMBER_REGEX = new RegExp(\n '^(\\\\+\\\\d{1,2}\\\\s?)?1?\\\\-?\\\\.?\\\\s?\\\\(?\\\\d{3}\\\\)?[\\\\s.-]?\\\\d{3}[\\\\s.-]?\\\\d{4}$',\n 's'\n);\n\nconst VALIDATOR_SUCCESS: ValidationResult = { color: ValidationColor.success };\n\n/**\n * This applies to most specific validator to an input\n * @param param ValidatorFn\n * @returns a validation result in accordance with Wrench input component\n */\nexport function applyValidators({ value, validators }: ValidatorFn): ValidationResult {\n let validatorResult: ValidationResult = {};\n validators.every(validate => {\n validatorResult = validate(value);\n return !validatorResult.error;\n });\n return validatorResult;\n}\n\nexport function minLengthValidator(value: string): ValidationResult {\n return value.length < 1 ? { error: ERROR_MAP.REQUIRED_FIELD, color: ValidationColor.error } : VALIDATOR_SUCCESS;\n}\n\nexport function emailValidator(value: string): ValidationResult {\n return !isValidEmail(value) ? { error: ERROR_MAP.INVALID_EMAIL, color: ValidationColor.error } : VALIDATOR_SUCCESS;\n}\n\nexport function phoneValidator(value: string): ValidationResult {\n return PHONE_NUMBER_REGEX.test(value)\n ? VALIDATOR_SUCCESS\n : { error: ERROR_MAP.INVALID_PHONE_NUMBER, color: ValidationColor.error };\n}\n\nconst FIELD_VALIDATORS: FIELD_TYPE = Object.freeze({\n [FIELDS.email]: [minLengthValidator, emailValidator],\n [FIELDS.phone]: [minLengthValidator, phoneValidator],\n [FIELDS.defaultType]: [minLengthValidator],\n});\n\n/**\n * This routine validates and returns the final final state\n * @param fieldType\n * @param value\n * @returns the form validated state\n */\nexport function validateAndGetFormData(fieldType: string, value: string): FormState {\n const validatorType = FIELD_VALIDATORS[fieldType] ? fieldType : 'defaultType';\n const validator = applyValidators({ value, validators: FIELD_VALIDATORS[validatorType] });\n return {\n [fieldType]: {\n value,\n color: validator?.color,\n errorMessage: validator?.error,\n },\n };\n}\n\n/**\n * A simple utility to check the form validity status\n * @param formData\n * @returns {boolean} if all the form fields are valid\n */\nexport const isFormValid = (formData: FormState): boolean | number => {\n const formValues = Object.values(formData);\n return formValues.length && !formValues?.some(({ errorMessage }) => errorMessage);\n};\n","import { t } from '@sm/intl';\n\nimport { getCookieValue, isBrowser, EMPTY_STRING } from '~shared/util';\n\nimport COPY from '~pricing/pages/Enterprise/copy';\n\nimport {\n HsContext,\n HsConsent,\n HsFormFields,\n HsFormValues,\n HubspotDTO,\n HsCommunicationDTO,\n HubspotApiReturnStatus,\n FormState,\n ValidationColor,\n SubmissionDataOptions,\n HubspotServerResponse,\n} from './types';\nimport { isFormValid, ERROR_MAP } from './Validation';\n\nconst ENDPOINT = 'https://api.hsforms.com/submissions/v3/integration/submit';\n\nconst DEFAULT_HUBSPOT_ROUTE = '/5811593/289edeb2-bb6b-45f7-bef3-7185f3c6e9f4';\nconst MONTHLY_SUB_ID = 9074378;\nconst PRODUCT_UPDATES_SUB_ID = 9074384;\nconst HUBSPOT_COOKIE = 'hubspotutk';\n\nexport const HS_ERROR_STATUS: string[] = ['error', 'INVALID_HUTK'];\n\n/**\n * Utility to retrieve hubspot Utility values\n * @returns HsContext\n */\nexport const getHubspotContextValues = (): HsContext => ({\n hutk: getCookieValue(HUBSPOT_COOKIE), // this cookie needs to be set by SurveyMonkey, otherwise hubspot yells\n pageName: isBrowser() ? document.title : '',\n pageUri: isBrowser() ? document.location.pathname : '',\n});\n\n/**\n * Maps the name and value for given set of fields\n * @param fields\n * @param formData\n * @returns key value pair for hubspot submission values\n */\nfunction mapFieldAndValues(fields: HsFormFields[], formData: FormState): HsFormValues[] {\n return fields?.map(({ name, defaultValue }): HsFormValues => {\n const formDTO = formData[name];\n return {\n name,\n value: formDTO ? formDTO.value : defaultValue,\n };\n });\n}\n\n/**\n * Sanitizes Hubspot form data for submission\n * @param formFields\n * @param formData\n * @returns HubspotDTO | undefined\n */\nfunction mapHubspotSubmissionData(formFields: HsFormFields[], formData: FormState): HubspotDTO | undefined {\n const communications: HsCommunicationDTO[] = [\n {\n text: t(COPY.CONSENT_FOR_SUBMISSION),\n subscriptionTypeId: MONTHLY_SUB_ID,\n value: !!formData?.consent?.value,\n },\n {\n text: t(COPY.CONSENT_FOR_SUBMISSION),\n subscriptionTypeId: PRODUCT_UPDATES_SUB_ID,\n value: !!formData?.consent?.value,\n },\n ];\n const legalConsentOptions: HsConsent = {\n consent: {\n communications,\n consentToProcess: true,\n text: EMPTY_STRING,\n },\n };\n return {\n context: getHubspotContextValues(),\n fields: mapFieldAndValues(formFields, formData),\n legalConsentOptions,\n } as HubspotDTO;\n}\n/**\n * A fetch helper function to submit Hubspot forms\n * @param dataOptions\n * @returns Promise\n */\nexport async function saveFormData(\n dataOptions: SubmissionDataOptions,\n autoSubmit = false,\n apiRoute: string = DEFAULT_HUBSPOT_ROUTE\n): Promise {\n const { formFields, formData } = dataOptions;\n // bail right away if the overall form lacks a required field\n if (!isFormValid(formData) && !autoSubmit) {\n const error = { message: 'REQUIRED FIELDS', status: 'Form submitted with more than one required field missing' };\n throw new Error(`[${error.message}]: ${error.status}`); // proper error handling for SplunkRum\n }\n const submitData = mapHubspotSubmissionData(formFields, formData);\n const url = `${ENDPOINT}${apiRoute}`;\n const response =\n submitData &&\n (await fetch(url, {\n method: 'POST',\n body: JSON.stringify(submitData),\n headers: {\n 'Content-Type': 'application/json;charset=utf-8',\n },\n }));\n return response?.json();\n}\n\n/**\n * Parses and validates Hubspot server side error\n * @param responseData\n * @param formData\n * @returns FormState | undefined\n */\nexport function parseHubspotApiResponse(\n responseData: HubspotApiReturnStatus,\n formData: FormState\n): [FormState[], HubspotServerResponse] | undefined {\n const { message: serverMessage, status = EMPTY_STRING, errors = [] } = responseData;\n let serverResponse: HubspotServerResponse = {\n status,\n message: serverMessage,\n };\n const fieldErrorMaps = errors.map(({ message, errorType }): FormState => {\n // check for specific error types that are not field related\n if (HS_ERROR_STATUS.includes(errorType)) {\n serverResponse = { ...serverResponse, errorType };\n return {};\n }\n const [field] = RegExp(/(fields|context)\\.([^']*)/).exec(message) as RegExpMatchArray; // modified version from cms\n const fieldName = field?.replace(/(.*)\\./, ''); // retrieves the field name from the above string\n const mapFormDataWithError: FormState = {\n [fieldName]: {\n value: formData[fieldName]?.value,\n color: ValidationColor.error,\n errorMessage: ERROR_MAP[errorType],\n },\n };\n return mapFormDataWithError;\n });\n return [fieldErrorMaps, serverResponse];\n}\n","import { useState, useEffect } from 'react';\n\nimport { errorHandler } from '@sm/webassets/dist/helpers/errorHandler';\n\nimport {\n HsFormFields,\n HubspotApiData,\n HubspotApiStatus,\n HubspotDataType,\n HubspotData,\n} from '~app/pages/Pricing/components/HubSpotForm/types';\n\nconst EXCLUDE_COUNTRY_FIELD = 'contact_country__c';\nconst HUBSPOT_PROXY = '/cc/hs/';\nconst HUBSPOT_FORM_ID = '289edeb2-bb6b-45f7-bef3-7185f3c6e9f4';\n\nexport const MAPPED_FIELD_TYPES = Object.freeze({\n email: 'email',\n phone: 'tel',\n});\n\n/**\n * Given the ID of the form to be displayed, fetches Hubspot JSON data from the API\n * @param formId The ID of the form to be displayed\n * @returns Promise Status, error, form data\n */\nconst fetchHubSpotForm = async (formId = HUBSPOT_FORM_ID): Promise => {\n const formData = new URLSearchParams();\n formData.append('formId', formId);\n const fetchHSForms = await fetch(HUBSPOT_PROXY, {\n method: 'POST',\n body: formData,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n });\n if (!fetchHSForms.ok) {\n const hubSpotFormError = new Error('Failed to fetch HubSpot form data');\n hubSpotFormError.name = 'HubSpotAPIError';\n hubSpotFormError.stack = fetchHSForms.statusText;\n throw hubSpotFormError;\n }\n return fetchHSForms.json();\n};\n\n/**\n * If the field name is 'contact_country__c', hide the field,\n * otherwise return the value of the hidden flag associated with the field.\n * @param {param0} name, hidden\n * @returns boolean Whether or not the field should be hidden\n */\nfunction mapHiddenField({ name, hidden }: HubspotDataType): boolean {\n return name === EXCLUDE_COUNTRY_FIELD ? true : hidden;\n}\n\n/**\n * Function used in useHubSpotFormAPI; takes the values returned from the API\n * and transforms them into the format required for the front end.\n * @param hsData {T extends HubspotDataType}\n * @returns HubspotData\n */\nfunction mapHubSpotFormFields(hsData: T): HubspotData {\n const { form } = hsData;\n const mappedData: HubspotData = {\n fields: [],\n redirect: form?.redirect,\n guid: form?.guid,\n portalId: form?.portalId,\n };\n\n const shallowCopiedFormFields: HubspotDataType[] = [...form?.formFieldGroups];\n\n const temp = shallowCopiedFormFields.map((field: HubspotDataType) => {\n return field?.fields.map((formFields: HubspotDataType): HsFormFields => {\n return {\n id: `HubSpotForm__${formFields.name}`,\n type: formFields.type,\n name: formFields.name,\n defaultValue: formFields.defaultValue,\n label: formFields.label,\n fieldType: MAPPED_FIELD_TYPES[formFields.name as keyof typeof MAPPED_FIELD_TYPES] ?? formFields.fieldType,\n required: formFields.required,\n hidden: mapHiddenField(formFields),\n hideLabel: formFields.labelHidden,\n placeholder: formFields.placeholder,\n };\n });\n });\n return { ...mappedData, fields: temp.flat() };\n}\n\n/**\n * Used directly in the HubspotForm component.\n * Calls the function to fetch the data from the API\n * and then returns either the formatted data or an error.\n * @param {string} formId The ID of the form to be fetched\n * @returns form data\n */\nexport default function useHubSpotFormAPI>(formId = HUBSPOT_FORM_ID): T | {} {\n const [data, setData] = useState({\n status: HubspotApiStatus.Loading,\n error: null,\n data: null,\n });\n useEffect(() => {\n let isMounted = true;\n fetchHubSpotForm(formId)\n .then((formData: HubspotDataType) => {\n if (isMounted) {\n setData({\n data: mapHubSpotFormFields(formData),\n error: null,\n status: 'Success',\n });\n }\n return () => {\n isMounted = false;\n };\n })\n .catch(err => {\n setData({\n data: null,\n status: HubspotApiStatus.Error,\n error: err,\n });\n errorHandler.logError(err);\n });\n }, [formId]);\n\n return data;\n}\n","function buildHubspotPayload(user) {\n const { firstName, lastName, email } = user;\n return {\n firstname: {\n value: firstName || 'N/A',\n color: 'success',\n },\n lastname: {\n value: lastName || 'N/A',\n color: 'success',\n },\n email: {\n value: email,\n color: 'success',\n },\n /* Since these fields are sometimes not present in the db,\n we will keep them as N/A, since this is an auto-filled and auto-submitted form\n */\n company: {\n value: 'N/A',\n color: 'success',\n },\n phone: {\n value: 'N/A',\n color: 'success',\n },\n jobtitle: {\n value: 'N/A',\n color: 'success',\n },\n contact_country__c: {\n value: 'N/A',\n color: 'success',\n },\n };\n}\n\nconst cleanUpFormFields = (programId, formFields) => {\n let editedFormFields = formFields.filter(\n field => field.id !== 'HubSpotForm__most_recent_lead_source__c' && field.id !== 'HubSpotForm__program'\n );\n const leadSource = formFields.find(field => field.id === 'HubSpotForm__most_recent_lead_source__c');\n const hubspotProgram = formFields.find(field => field.id === 'HubSpotForm__program');\n\n if (leadSource) {\n leadSource.hidden = false;\n leadSource.defaultValue = 'Contact Sales';\n editedFormFields.push(leadSource);\n }\n\n if (hubspotProgram) {\n hubspotProgram.hidden = false;\n hubspotProgram.defaultValue = programId;\n editedFormFields.push(hubspotProgram);\n }\n // Clean up any undefined\n editedFormFields = editedFormFields.filter(form => form);\n\n return editedFormFields;\n};\n\nexport { buildHubspotPayload, cleanUpFormFields };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Box } from '@wds/box';\nimport { Button, Typography, Modal, ModalBody } from '@sm/wds-react';\nimport { InPersonSvg } from '../assets';\nimport useStyles from '../useStyles';\n\nexport default function NotifyInterestModal({ toggleModal, showModal }) {\n const { modalContainer, modalTitle, modalButton, bannerButton } = useStyles();\n\n return (\n toggleModal(false)} className={modalContainer} size=\"md\">\n \n \n \"SVG\"\n

    We'll be in touch

    \n \n {\n \"Our support team will email you within 2 business days to follow up about your interest. Add us to your allow list so you don't miss the email.\"\n }{' '}\n \n Learn more\n \n \n \n
    \n
    \n
    \n );\n}\n\nNotifyInterestModal.propTypes = {\n toggleModal: PropTypes.func.isRequired,\n showModal: PropTypes.bool.isRequired,\n};\n","import React, { useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Box } from '@wds/box';\nimport { IconCheck } from '@sm/wds-icons';\nimport { Button, Typography } from '@sm/wds-react';\nimport { clientErrorHandler } from '@sm/webassets';\nimport { generateMetricsAttribute } from '@sm/metrics';\nimport { saveFormData } from '../../../components/HubSpotForm/helpers';\nimport useHubSpotFormAPI from '~pricing/hooks/useHubSpotAPI';\nimport { buildHubspotPayload, cleanUpFormFields } from '../helpers';\nimport NotifyInterestModal from './NotifyInterestModal';\nimport useStyles from '../useStyles';\nimport COPY from '../assets/EnterpriseFeaturesCopy';\n\nconst EXPERT_SERVICES_PROGRAM_ID = '7014V000002dEzdQAE';\nexport default function ExpertServices({ user }) {\n const {\n expertServicesPanel,\n centerText,\n lightTitle,\n lightBody,\n bannerButton,\n row,\n chimeBox,\n colgateBox,\n pumaBox,\n checkMark,\n } = useStyles();\n const [showThankYouModal, setShowThankYouModal] = useState(false);\n const [submitted, setSubmitted] = useState(false);\n const { data } = useHubSpotFormAPI('1a594719-3256-4c2f-b2ea-06fcb43de45f');\n const formFields = useMemo(() => data?.fields, [data?.fields]);\n const expertServicesInterest = localStorage.getItem('pnp-notify-interest-expert-services');\n\n const toggleThankYouModal = open => {\n setShowThankYouModal(open);\n };\n\n const notifyInterest = async programId => {\n const autoFilledFormData = buildHubspotPayload(user);\n const hubspotUrlRoute = `${data?.portalId}/${data?.guid}`;\n\n try {\n const res = await saveFormData(\n { formFields: cleanUpFormFields(programId, formFields), formData: autoFilledFormData },\n true,\n hubspotUrlRoute\n );\n if (!res?.status?.errors) {\n setSubmitted(true);\n toggleThankYouModal(true);\n }\n } catch (err) {\n clientErrorHandler.logError(err, 'Error notifying sales team of interest.');\n }\n };\n\n return (\n \n \n Expert Services\n \n \n We offer 1:1 expert services support for optimizing your survey programming. Connect with our research\n professionals who can guide you or manage your project end-to-end.\n \n \n {\n notifyInterest(EXPERT_SERVICES_PROGRAM_ID);\n localStorage.setItem('pnp-notify-interest-expert-services', true);\n }}\n data-sm-metrics={generateMetricsAttribute({\n data: {\n desiredProduct: 'expert services',\n amplitudeEvent: 'pricing clicked enterprise cta',\n },\n })}\n >\n {submitted || expertServicesInterest ? : <>}\n {submitted || expertServicesInterest ? 'Interest Sent' : 'Notify Interest'}\n \n \n\n \n \n \n \n \n \n \n );\n}\n\nfunction TestimonialCard({ testimonial, cssClass, cardColor }) {\n const { testimonialCard, testimonialBody, quoteBox } = useStyles();\n const { logo, body, quottedPerson, company } = testimonial;\n const { img, height, width } = logo;\n\n return (\n <>\n {/* Border color depends on card so it's done inline */}\n \n \n {company}\n \n {body}\n \n \n
    \n \n {quottedPerson}\n \n \n {company}\n \n
    \n
    \n \n );\n}\n\nExpertServices.propTypes = {\n user: PropTypes.objectOf(PropTypes.object).isRequired,\n};\n\nTestimonialCard.propTypes = {\n cssClass: PropTypes.string.isRequired,\n cardColor: PropTypes.string.isRequired,\n testimonial: PropTypes.shape(\n PropTypes.shape({\n body: PropTypes.string,\n quottedPerson: PropTypes.string,\n company: PropTypes.string,\n logo: PropTypes.shape({\n img: PropTypes.node,\n height: PropTypes.string,\n width: PropTypes.string,\n }),\n })\n ).isRequired,\n};\n","import React from 'react';\n\nimport { t } from '@sm/intl';\n\nimport { Typography } from '@wds/typography';\nimport { Box } from '@wds/box';\nimport { Banner } from '@wds/banner';\n\nimport COPY from '~pricing/pages/Enterprise/copy';\n\nexport default function HubSpotErrorBanner(): JSX.Element {\n return (\n \n \n \n {t(COPY.HUBSPOT_FORM_ERROR)}\n \n \n \n );\n}\n","import React from 'react';\n\nimport { FormField } from '@wds/form-group';\nimport { Input } from '@wds/input';\n\nimport { HsFormFields, HubspotInputType } from './types';\n\n// TODO: translation required @Richmond, CMS gets the translated labels from the API but how? investigating\n// This is an uncontrolled component, so we need to handle the blur event to update the form state\n// Recent uncontrolled component changes in the Wrench library do not require the value prop to be passed in the input\n// That is the only way to trigger the `onBlur` event, making it controlled will trigger the `onChange` event after every key stroke\n// Uncontrolled input does not support autocomplete very well, and setting it off does not really work, so we have to set a name attribute\n// https://stackoverflow.com/questions/50347574/how-to-disable-chrome-autocomplete-feature\nexport default function HubspotInput({ fields, formData, handleOnBlur }: Readonly): JSX.Element {\n return (\n <>\n {fields?.map(\n (field: HsFormFields) =>\n !field.hidden && (\n \n \n \n )\n )}\n \n );\n}\n","import { createMemoStyles } from '@wds/styles';\n\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { SM_MEDIA_QUERY, MD_MEDIA_QUERY } from '~shared/media-query';\n\nconst useHubSpotStyles = createMemoStyles(({ spacing }) => ({\n CheckBoxWrapper: {\n display: 'inline-grid',\n gridTemplateColumns: '1fr 12fr',\n '& div > p': {\n overflowX: 'clip',\n },\n [SM_MEDIA_QUERY]: {\n gridTemplateColumns: '1fr 10fr',\n },\n [MD_MEDIA_QUERY]: {\n gap: spacing[2],\n },\n },\n}));\n\nexport default useHubSpotStyles;\n","import React, { useState, useMemo, useCallback, FocusEvent, ChangeEvent, FormEvent } from 'react';\n\nimport { t } from '@sm/intl';\n\nimport { Typography } from '@wds/typography';\nimport { Checkbox } from '@wds/checkbox';\nimport { Box } from '@wds/box';\nimport { Button } from '@wds/button';\nimport { FormGroup, FormField } from '@wds/form-group';\nimport { ProgressCircle } from '@wds/progress-circle';\nimport { errorHandler } from '@sm/webassets/dist/helpers/errorHandler';\n\nimport { EMPTY_STRING } from '~shared/util';\n\nimport useHubSpotFormAPI from '~pricing/hooks/useHubSpotAPI';\nimport COPY from '~pricing/pages/Enterprise/copy';\n\nimport { TranslationsPlaceHolderType } from '~pricing/types';\nimport { HS_ERROR_STATUS, parseHubspotApiResponse, saveFormData } from './helpers';\nimport {\n HubspotApiStatus,\n HubspotApiData,\n HubspotFormType,\n HubspotApiReturnStatus,\n FormState,\n HsFormFields,\n} from './types';\nimport { validateAndGetFormData } from './Validation';\n\nimport HubSpotErrorBanner from './HubSpotErrorBanner';\nimport HubspotInput from './HubspotInput';\nimport useHubSpotStyles from './useStyles';\n\nfunction RequestDemo({ children }: Readonly): JSX.Element {\n return {children};\n}\n\nfunction OptOutLink({ children }: Readonly): JSX.Element {\n return (\n \n {children}\n \n );\n}\n\nfunction PrivacyLink({ children }: Readonly): JSX.Element {\n return (\n \n {children}\n \n );\n}\n\nexport default function HubSpotForm({ customOnSubmitFunction }: Readonly): JSX.Element {\n const [formData, setFormData] = useState({});\n const { status, data, error }: HubspotApiData = useHubSpotFormAPI();\n const { CheckBoxWrapper } = useHubSpotStyles();\n\n const formFields = useMemo(() => data?.fields, [data?.fields]);\n\n const handleChange = useCallback(\n ({ target }: FocusEvent) => {\n const { name, value } = target;\n const validatedData = validateAndGetFormData(name, value);\n setFormData({\n ...formData,\n ...validatedData,\n });\n },\n [setFormData, formData]\n );\n\n const handleConsentChecked = useCallback(\n ({ target }: ChangeEvent) => {\n const { name, checked } = target;\n setFormData({\n ...formData,\n [name]: {\n value: checked,\n color: undefined,\n errorMessage: checked ? undefined : t(COPY.ERROR),\n },\n } as FormState);\n },\n [setFormData, formData]\n );\n\n const validateFormFields = (fields: HsFormFields[], formDataState: FormState): FormState => {\n let newFormData = { ...formDataState };\n fields.forEach(({ name, hidden }) => {\n if (!hidden) {\n const currentValue = newFormData[name] ? newFormData[name].value : EMPTY_STRING;\n const submitErrors = validateAndGetFormData(name, currentValue);\n newFormData = { ...newFormData, ...submitErrors };\n }\n });\n return newFormData;\n };\n\n const handleFormSubmission = useCallback(\n (event: FormEvent) => {\n event.preventDefault();\n if (!formFields || !formFields.length) {\n return;\n }\n const newFormData = validateFormFields(formFields, formData);\n setFormData(newFormData);\n saveFormData({ formFields, formData })\n .then((response: HubspotApiReturnStatus | undefined) => {\n if (response?.redirectUri) {\n window.location.assign(response?.redirectUri);\n if (customOnSubmitFunction) {\n customOnSubmitFunction();\n }\n } else {\n const errors = parseHubspotApiResponse(response as HubspotApiReturnStatus, formData);\n // if we got any errors, let's dissect them; field errors are also server errors\n if (errors) {\n const [fieldErrors, serverError] = errors;\n if (HS_ERROR_STATUS.includes(serverError?.errorType ?? 'error')) {\n errorHandler.logError(\n new Error(`${serverError?.errorType} ${serverError?.message}`),\n serverError.status, // message\n serverError // metaData\n );\n // After reporting the error to RUM, should we do a Toast or something?\n // TODO: Add a toast or something\n }\n fieldErrors?.forEach(fs => setFormData({ ...formData, ...fs }));\n }\n }\n })\n .catch(err => {\n errorHandler.logError(err); // RUM reporting, threshold show flag this error\n });\n },\n [setFormData, formFields, formData, customOnSubmitFunction]\n );\n\n if (error) {\n return ;\n }\n\n return (\n <>\n {status === HubspotApiStatus.Success ? (\n
    \n \n \n \n \n \n \n \n \n {t(\n { ...COPY.CONSENT_UPDATED },\n {\n optoutLink: OptOutLink,\n }\n )}\n \n \n {t(\n { ...COPY.CONSENT_PRIVACY_NOTICE },\n {\n requestDemo: RequestDemo,\n privacyNotice: PrivacyLink,\n }\n )}\n \n \n \n \n \n \n \n
    \n ) : (\n \n \n \n )}\n \n );\n}\n","import React, { useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Typography } from '@sm/wds-react';\nimport { Modal } from '@wds/modal';\nimport { Grid } from '@wds/grid';\nimport { clientErrorHandler } from '@sm/webassets';\nimport { generateMetricsAttribute } from '@sm/metrics';\nimport { IconCheck } from '@sm/wds-icons';\nimport HubSpotForm from '~pricing/components/HubSpotForm';\nimport { saveFormData } from '../../../components/HubSpotForm/helpers';\nimport useHubSpotFormAPI from '~pricing/hooks/useHubSpotAPI';\nimport NotifyInterestModal from './NotifyInterestModal';\nimport { buildHubspotPayload, cleanUpFormFields } from '../helpers';\nimport { LinkIcon } from '../assets';\nimport COPY from '../assets/EnterpriseFeaturesCopy';\nimport useStyles from '../useStyles';\n\nexport default function AddOnSection({ features, user }) {\n const { addOnContainer } = useStyles();\n const PADDING_X = 9;\n const PADDING_Y = 7;\n const SMALL_COL_BREAKPOINT = 6;\n const LARGE_COL_BREAKPOINT = 4;\n\n return (\n \n {features.map(feature => {\n return (\n \n {' '}\n \n );\n })}\n \n );\n}\n\nfunction AddOnCard({ addOn, user }) {\n const [submitted, setSubmitted] = useState(false);\n const [showThankYouModal, setShowThankYouModal] = useState(false);\n const [showHubspotModal, setShowHubspotModal] = useState(false);\n const { addOnCard, addOnCardTitle, bannerButton, checkMark, linkIcon, inlineLink } = useStyles();\n const { data } = useHubSpotFormAPI('1a594719-3256-4c2f-b2ea-06fcb43de45f');\n const formFields = useMemo(() => data?.fields, [data?.fields]);\n\n const toggleThankYouModal = open => {\n setShowThankYouModal(open);\n };\n\n const notifyInterest = async programId => {\n const autoFilledFormData = buildHubspotPayload(user);\n const hubspotUrlRoute = `${data?.portalId}/${data?.guid}`;\n\n try {\n const res = await saveFormData(\n { formFields: cleanUpFormFields(programId, formFields), formData: autoFilledFormData },\n true,\n hubspotUrlRoute\n );\n if (!res?.status?.errors) {\n setSubmitted(true);\n toggleThankYouModal(true);\n }\n } catch (err) {\n clientErrorHandler.logError(err, 'Error notifying sales team of interest.');\n }\n };\n\n const handleSubmission = () => {\n setShowHubspotModal(false);\n setSubmitted(true);\n };\n\n if (addOn) {\n const { title, body, image, link, programId, desiredProduct } = addOn;\n const desiredProductInterestSent = localStorage.getItem(`pnp-notify-interest-${desiredProduct}`);\n\n return (\n <>\n \n
    \n \"add\n {/* None of the variants fit the design */}\n

    \n {title}\n

    \n \n {body}\n \n Learn more \"link\"\n \n \n {submitted || desiredProductInterestSent ? (\n \n ) : (\n {\n notifyInterest(programId);\n localStorage.setItem(`pnp-notify-interest-${desiredProduct}`, true);\n }}\n data-sm-metrics={generateMetricsAttribute({\n data: {\n desiredProduct,\n amplitudeEvent: 'pricing clicked enterprise cta',\n },\n })}\n >\n Notify Interest\n \n )}\n
    \n
    \n \n setShowHubspotModal(false)}>\n \n handleSubmission()} />\n \n \n \n );\n }\n return null;\n}\n\nAddOnSection.propTypes = {\n features: PropTypes.arrayOf(\n PropTypes.shape({\n body: PropTypes.string,\n image: PropTypes.objectOf(PropTypes.object).isRequired,\n link: PropTypes.string,\n desiredProduct: PropTypes.string,\n programId: PropTypes.string,\n })\n ).isRequired,\n user: PropTypes.objectOf(PropTypes.object).isRequired,\n};\n\nAddOnCard.propTypes = {\n addOn: PropTypes.shape({\n title: PropTypes.string,\n body: PropTypes.string,\n desiredProduct: PropTypes.string,\n image: PropTypes.objectOf(PropTypes.object).isRequired,\n link: PropTypes.string,\n programId: PropTypes.string,\n }).isRequired,\n user: PropTypes.objectOf(PropTypes.object).isRequired,\n};\n","import React from 'react';\nimport { Helmet } from '@sm/webassets';\nimport { HelmetProps } from './types';\n\n/**\n * To appease TS and extend Helmet which does not accept direct JSX.Element component instead as a function,\n * This wrapper is needed to extend the basic Helmet component to accept children as optional\n * See this thread https://github.com/nfl/react-helmet/issues/646#issuecomment-1398700719\n */\n\nexport default function HelmetWithChildren({ children, ...rest }: HelmetProps): JSX.Element {\n return {children};\n}\n","import HelmetWithChildren from './HelmetWrappers';\n\nexport default HelmetWithChildren;\n","export type Links = {\n lang: string;\n href?: string;\n};\n\nexport enum ORDER {\n First = 2,\n Last = 1,\n None = 0,\n Skipped = 3,\n}\n\ntype LanguageDetails = {\n langCode: string;\n order: ORDER;\n};\n\nexport type Language = {\n [key: string]: LanguageDetails;\n};\n\nexport type HrefLangsTagsProps = {\n hrefLangs: Links[];\n hostname: string;\n path: string;\n};\n\nexport type SeoProps = {\n canonicalPath?: string;\n noIndex?: boolean;\n children?: React.ReactNode;\n};\n","import { Language, Links, ORDER } from './types';\n\nconst languages: Required = Object.freeze({\n 'x-default': {\n langCode: '',\n order: ORDER.None,\n },\n 'en-US': {\n langCode: '',\n order: ORDER.None,\n },\n 'en-GB': {\n langCode: 'uk',\n order: ORDER.First,\n },\n de: {\n langCode: 'de',\n order: ORDER.First,\n },\n ru: {\n langCode: 'ru',\n order: ORDER.First, // we do business in Russia, but not in rubles.\n },\n es: {\n langCode: 'es',\n order: ORDER.First,\n },\n pt: {\n langCode: 'pt',\n order: ORDER.First,\n },\n nl: {\n langCode: 'nl',\n order: ORDER.First,\n },\n fr: {\n langCode: 'fr',\n order: ORDER.First,\n },\n it: {\n langCode: 'it',\n order: ORDER.First,\n },\n da: {\n langCode: 'da',\n order: ORDER.First,\n },\n sv: {\n langCode: 'sv',\n order: ORDER.First,\n },\n ja: {\n langCode: 'ja',\n order: ORDER.First,\n },\n ko: {\n langCode: 'ko',\n order: ORDER.First,\n },\n zh: {\n langCode: 'zh',\n order: ORDER.First,\n },\n tr: {\n langCode: 'tr',\n order: ORDER.First,\n },\n no: {\n langCode: 'no',\n order: ORDER.First,\n },\n fi: {\n langCode: 'fi',\n order: ORDER.First,\n },\n});\n\nexport const LINKS: Links[] = [\n {\n lang: 'x-default',\n },\n {\n lang: 'en-US',\n },\n {\n lang: 'en-GB',\n },\n {\n lang: 'de',\n },\n {\n lang: 'ru',\n },\n {\n lang: 'es',\n },\n {\n lang: 'pt',\n },\n {\n lang: 'nl',\n },\n {\n lang: 'fr',\n },\n {\n lang: 'it',\n },\n {\n lang: 'da',\n },\n {\n lang: 'sv',\n },\n {\n lang: 'ja',\n },\n {\n lang: 'ko',\n },\n {\n lang: 'zh',\n },\n {\n lang: 'tr',\n },\n {\n lang: 'no',\n },\n {\n lang: 'fi',\n },\n];\n\nexport function getLinks(domain: string, path: string): (Links | undefined)[] {\n const tempLinks = LINKS.map(({ lang }: Links): Links | undefined => {\n const language = languages[lang].langCode;\n if (languages[lang].order === ORDER.None) {\n return {\n lang,\n href: `https://www.${domain}.com${path}`,\n };\n }\n if (languages[lang].order === ORDER.First) {\n return {\n lang,\n href: `https://${language}.${domain}.com${path}`,\n };\n }\n if (languages[lang].order === ORDER.Last) {\n // legacy\n return {\n lang,\n href: `https://www.${domain}.${language}${path}`,\n };\n }\n return undefined;\n });\n return tempLinks.filter(links => links);\n}\n","import React, { useContext, useMemo } from 'react';\nimport { StaticContext } from '@sm/webassets';\n\nimport HelmetWithChildren from '~pricing/lib/HelmetWrapper';\nimport { SeoHeadTags, HrefLangsTags } from '~pricing/components/SEO';\n\nimport { getLinks } from './links';\nimport { SeoProps, Links } from './types';\n\nexport default function Seo({ canonicalPath = '', noIndex = false, children }: SeoProps): JSX.Element {\n const {\n environment: { domain },\n req: { hostname },\n url,\n } = useContext(StaticContext);\n\n const path = canonicalPath || url;\n const hrefLangs = useMemo(() => getLinks(domain, path) as Links[], [domain, path]);\n return (\n <>\n \n {/*\n these need to be referenced as function calls because of Helmet's requirements for children:\n https://github.com/nfl/react-helmet/issues/326\n */}\n\n {SeoHeadTags()}\n {/* Don't allow this page to be indexed by search engines, should happen after title has been generated */}\n \n {/* https://developers.google.com/search/docs/crawling-indexing/block-indexing?hl=en&sjid=6366088352522703778-NC&visit_id=638453660902171326-2338794797&rd=1 */}\n \n \n {HrefLangsTags({ hrefLangs, hostname, path })}\n \n {children}\n \n );\n}\n","import * as React from 'react';\nimport { t } from '@sm/intl';\n\nimport COPY from './copy';\n\nexport default function SeoHeadTags(): JSX.Element {\n return (\n <>\n {t(COPY.pageTitle)}\n \n \n \n );\n}\n","import * as React from 'react';\nimport { HrefLangsTagsProps } from './types';\n\nexport default function HrefLangsTags({ hrefLangs, hostname, path }: HrefLangsTagsProps): JSX.Element {\n return (\n <>\n \n {hrefLangs?.map(({ lang, href }) => (\n \n ))}\n \n );\n}\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst COPY = defineMessages({\n pageTitle: {\n id: 'Pricing.copy.pageTitle',\n defaultMessage: 'SurveyMonkey Plans and Pricing',\n desc: {\n id: 'Pricing.copy.pageTitle',\n message: '[Type: Label][Vis: med] - Page title for Pricing pages',\n project: PROJECT_NAME,\n },\n },\n pageDescription: {\n id: 'Pricing.copy.pageDescription',\n defaultMessage:\n 'Create and publish online surveys in minutes, and view results graphically and in real time. SurveyMonkey provides free online questionnaire and survey software.',\n desc: {\n id: 'Pricing.copy.pageDescription',\n message: '[Type: Label][Vis: med] - Page meta description for pricing pages',\n project: PROJECT_NAME,\n },\n },\n pageKeywords: {\n id: 'Pricing.copy.pageKeywords',\n defaultMessage:\n 'questionnaire, questionnaires, questionaire, questionaires, free online survey, free online surveys',\n desc: {\n id: 'Pricing.copy.pageKeywords',\n message: '[Type: Label][Vis: med] - Page meta keywords for pricing pages. Includes deliberate misspellings',\n project: PROJECT_NAME,\n },\n },\n});\n\nexport default COPY;\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { Box } from '@wds/box';\nimport { Button, Typography } from '@sm/wds-react';\nimport { BasePage, clientErrorHandler } from '@sm/webassets';\nimport { MetricsTracker, USER_EVENTS, generateMetricsAttribute } from '@sm/metrics';\nimport { IconCheck } from '@sm/wds-icons';\nimport MrxSection from './components/mrxSection';\nimport ExpertServices from './components/testimonialSection';\nimport AddOnSection from './components/addOnSection';\nimport NotifyInterestModal from './components/NotifyInterestModal';\nimport { saveFormData } from '../../components/HubSpotForm/helpers';\nimport useHubSpotFormAPI from '~pricing/hooks/useHubSpotAPI';\nimport SEO from '~pricing/components/SEO';\nimport { buildHubspotPayload, cleanUpFormFields } from './helpers';\nimport UserAccountInfo from './UserInfo.graphql';\nimport useStyles from './useStyles';\nimport { LinkIcon, SSOSVG } from './assets';\n\nconst SSO_PROGRAM_ID = '7014V000002hM6XQAU';\nexport default function EnterpriseFeatures() {\n const { topBanner, bannerTitle, bannerBody, bannerButton, bannerCTA, linkIcon, sectionTitle, centerText, checkMark } =\n useStyles();\n const [user, setUser] = useState({});\n const [features, setFeatures] = useState([]);\n const [showThankYouModal, setShowThankYouModal] = useState(false);\n const [submitted, setSubmitted] = useState(false);\n const { data } = useHubSpotFormAPI('1a594719-3256-4c2f-b2ea-06fcb43de45f');\n const formFields = useMemo(() => data?.fields, [data?.fields]);\n const ssoInterestSent = localStorage.getItem('pnp-notify-interest-sso');\n\n useEffect(() => {\n MetricsTracker.track({\n name: USER_EVENTS.PAGE_VIEW,\n data: {\n amplitudeEvent: 'page viewed',\n pageName: 'Enterprise PnP Page',\n urlPath: window.location.pathname,\n },\n });\n }, []);\n\n useQuery(UserAccountInfo, {\n onCompleted(hookData) {\n const { user: userResp } = hookData;\n if (userResp?.features) {\n const userFeatures = userResp.features;\n const activeFeatures = Object.keys(userFeatures).filter(key => {\n const keyValue = !userFeatures[key];\n if (key === 'isTableauEnabled') {\n return keyValue && !userFeatures.powerBIEnabled;\n }\n if (key === 'isPowerBIEnabled') {\n return false;\n }\n return keyValue && key !== '__typename';\n });\n setFeatures(activeFeatures);\n setUser(hookData.user);\n }\n },\n });\n\n const toggleThankYouModal = open => {\n setShowThankYouModal(open);\n };\n\n const notifyInterest = async programId => {\n const autoFilledFormData = buildHubspotPayload(user);\n const hubspotUrlRoute = `${data?.portalId}/${data?.guid}`;\n\n try {\n const res = await saveFormData(\n { formFields: cleanUpFormFields(programId, formFields), formData: autoFilledFormData },\n true,\n hubspotUrlRoute\n );\n if (!res?.status?.errors) {\n setSubmitted(true);\n toggleThankYouModal(true);\n }\n } catch (err) {\n clientErrorHandler.logError(err, 'Error notifying sales team of interest.');\n }\n };\n\n return (\n \n \n \n \n \n Activate Single Sign-On (SSO)\n \n \n Increase security, ease of access, and control by ensuring all SurveyMonkey users within your organization\n are centralized under your SurveyMonkey Enterprise account.{' '}\n \n Learn more \"link\"\n \n \n {\n notifyInterest(SSO_PROGRAM_ID);\n localStorage.setItem('pnp-notify-interest-sso', true);\n }}\n data-sm-metrics={generateMetricsAttribute({\n data: {\n desiredProduct: 'single sign on',\n amplitudeEvent: 'pricing clicked enterprise cta',\n },\n })}\n >\n {submitted || ssoInterestSent ? : <>}\n {submitted || ssoInterestSent ? 'Interest Sent' : 'Set it up'}\n \n \n\n \"SSO\"\n \n {features.length ? (\n <>\n \n Customize your Enterprise experience with add-ons\n \n \n Let us know which value-added features and services will help you achieve your feedback goals, and we’ll\n help you get started.\n \n \n \n ) : (\n <>\n )}\n \n \n \n \n \n );\n}\n","import EnterpriseFeatures from './EnterpriseFeatures';\n\nexport default EnterpriseFeatures;\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\n\nexport default createMemoStyles(({ spacing, type, pricingPalette }: PricingAppTheme) => ({\n SocialProof: {\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignItems: 'center',\n fontSize: type.fontSize.bodySm,\n margin: [spacing[2], spacing[3]],\n paddingBottom: spacing[2],\n fontWeight: type.fontWeight.medium,\n borderBottom: `1px solid ${pricingPalette.colors.flint}`,\n color: pricingPalette.colors.slate,\n [MD_MEDIA_QUERY]: {\n flexWrap: 'nowrap',\n },\n\n '& > *': {\n height: 15,\n padding: [spacing[3], spacing[3]],\n [MD_MEDIA_QUERY]: {\n flex: '0 1 auto',\n },\n },\n\n '& .trusted-text': {\n flex: '0 1 100%',\n textAlign: 'center',\n [MD_MEDIA_QUERY]: {\n flex: '0 1 auto',\n },\n },\n\n '& .shopify-logo': {\n flex: '0 1 10%',\n height: 20,\n objectFit: 'contain',\n [MD_MEDIA_QUERY]: {\n flex: '0 1 auto',\n },\n },\n\n '& .chewy-logo': {\n flex: '0 1 10%',\n padding: [spacing[4], spacing[3], spacing[3]],\n objectFit: 'contain',\n [MD_MEDIA_QUERY]: {\n flex: '0 1 auto',\n },\n },\n\n '& .adidas-logo': {\n flex: '0 1 10%',\n objectFit: 'contain',\n [MD_MEDIA_QUERY]: {\n flex: '0 1 auto',\n },\n },\n\n '& .jpm-logo, .jhu-logo': {\n flex: '0 1 30%',\n objectFit: 'contain',\n [MD_MEDIA_QUERY]: {\n flex: '0 1 auto',\n },\n },\n },\n}));\n","import React from 'react';\nimport shopifyLogo from './assets/shopify_logo.png';\nimport chewyLogo from './assets/chewy_logo.png';\nimport adidasLogo from './assets/adidas_logo.png';\nimport jhuLogo from './assets/jhu_logo.png';\nimport jpmLogo from './assets/jpm_logo.png';\n\nexport default function SocialProofLogos(): JSX.Element {\n return (\n <>\n \"Shopify\"\n \"Chewy\"\n \"Adidas\"\n \"JP\n \"Johns\n \n );\n}\n","import React from 'react';\nimport { Box } from '@wds/box';\nimport useStyles from './useStyles';\nimport SocialProofLogos from './Logos';\n\nexport default function Grow2427SocialProof(): JSX.Element {\n const { SocialProof } = useStyles();\n\n return (\n \n
    Trusted by
    \n \n
    \n );\n}\n","import SocialProof from './SocialProof';\n\nexport default SocialProof;\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\nimport DotGrid from './assets/DotGrid.svg';\n\nexport default createMemoStyles(({ spacing, pricingPalette, radius, type }: PricingAppTheme) => ({\n BannerRow: {\n padding: [0, '15%'],\n },\n BannerContainer: {\n background: `url(${DotGrid}) left bottom no-repeat ${pricingPalette.colors.dijon}`,\n width: '100%',\n height: 80,\n marginTop: spacing[6],\n borderRadius: 4,\n border: `2px solid ${pricingPalette.colors.black}`,\n overflow: 'hidden',\n display: 'none',\n [MD_MEDIA_QUERY]: {\n display: 'flex',\n },\n },\n\n DiscountLargeText: {\n '& div': {\n fontFamily: 'National 2',\n fontStyle: 'normal',\n fontWeight: 500,\n fontSize: type.fontSize.sectionTitleSm,\n lineHeight: 1,\n marginRight: spacing[2],\n marginLeft: spacing[6],\n },\n },\n\n TryNowBox: {\n backgroundColor: pricingPalette.colors.bumblebee,\n borderRadius: '150px 0px 70px 0px',\n width: 320,\n height: 200,\n marginTop: -59,\n },\n\n ViewPlansButton: {\n padding: [spacing[1], spacing[4]],\n backgroundColor: pricingPalette.colors.navy,\n color: pricingPalette.colors.white,\n fontFamily: 'National 2',\n fontWeight: 500,\n fontSize: spacing[4],\n borderRadius: radius.small,\n width: 160,\n height: spacing[6],\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n '&:hover': {\n textDecoration: 'none',\n },\n },\n}));\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst COPY = defineMessages({\n DISCOUNT_TEXT: {\n id: 'Pricing.copy.DiscountBannerText',\n defaultMessage: 'GET 15% OFF your first year of Teams',\n desc: {\n id: 'Pricing.copy.DiscountBannerText',\n message: '[Type: label][Vis: high] - Pricing discount for Teams',\n project: PROJECT_NAME,\n },\n },\n VIEW_PLANS_BUTTON: {\n id: 'Pricing.copy.ViewPlansButtonText',\n defaultMessage: 'View Plans',\n desc: {\n id: 'Pricing.copy.ViewPlansButtonText',\n message: '[Type: button][Vis: med] - Link to pricing teams details page',\n project: PROJECT_NAME,\n },\n },\n});\n\nexport default COPY;\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { T } from '@sm/intl';\nimport { Box } from '@wds/box';\nimport { Typography } from '@wds/typography';\nimport useStyles from './useStyles';\nimport COPY from './copy';\nimport { ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\n\nexport default function DiscountBanner(): JSX.Element {\n const { BannerContainer, DiscountLargeText, TryNowBox, ViewPlansButton, BannerRow } = useStyles();\n return (\n \n \n \n \n \n 1\n \n \n \n \n \n \n \n \n \n \n );\n}\n","import Treatments from './constants';\nimport EnterpriseFeaturesGp69 from '~pricing/experiments/EnterpriseFeaturesGp69';\nimport Grow2427SocialProof from '~app/pages/Pricing/experiments/grow_2427_social_proof';\nimport DiscountBanner from '~pricing/components/DiscountBanner';\nimport AdaChatBot from '~app/pages/Pricing/experiments/GROW2911AdaChatbot';\n\nconst ACTIVE_TREATMENTS = {\n [Treatments.ENTERPRISE_FEATURES_GP69]: {\n configExperimentIdentifier: 'ENTERPRISE_FEATURES_GP69',\n experimentComponent: EnterpriseFeaturesGp69,\n },\n [Treatments.GROW_2427_TREATMENT]: {\n configExperimentIdentifier: 'GROW_2427_TREATMENT',\n experimentComponent: Grow2427SocialProof,\n },\n [Treatments.BILLING_20014_T1]: {\n configExperimentIdentifier: 'BILLING_20014_T1',\n experimentComponent: DiscountBanner,\n },\n [Treatments.GROW_2911_TREATMENT]: {\n configExperimentIdentifier: 'GROW_2911_TREATMENT',\n experimentComponent: AdaChatBot,\n },\n} as const; // readonly\n\nexport default ACTIVE_TREATMENTS;\n","import React, { useEffect, useRef } from 'react';\n\nimport { logAmplitudeEvent } from '~app/pages/Pricing/pages/shared';\nimport { AMPLITUDE_PAGE_EVENTS } from '~shared/util';\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\n\nexport default function AdaChatBot(): JSX.Element {\n const ADA_SCRIPT = 'https://static.ada.support/embed2.js';\n const ADA_HANDLE = 'surveymonkey';\n const ADA_ID = 'ada-entry';\n const { pageName } = useTrackingDetails();\n const ADA_IFRAME = useRef(document.getElementById(ADA_ID) as HTMLScriptElement | null);\n\n useEffect(() => {\n const isTeamsPage =\n pageName === 'pricing details teams' ||\n pageName === 'pricing summary teams' ||\n pageName === 'pricing summary canonical';\n\n // Load script on pricing details\n if (!ADA_IFRAME.current && isTeamsPage) {\n // Creating ADA script\n ADA_IFRAME.current = document.createElement('script');\n ADA_IFRAME.current.id = '__ada';\n ADA_IFRAME.current.setAttribute('data-handle', ADA_HANDLE);\n ADA_IFRAME.current.src = ADA_SCRIPT;\n ADA_IFRAME.current.setAttribute('data-status', 'loading');\n ADA_IFRAME.current.async = true;\n\n ADA_IFRAME.current.onload = (): void => {\n logAmplitudeEvent({\n eventName: 'ada chatbot loaded',\n pageName,\n amplitudeEvent: AMPLITUDE_PAGE_EVENTS.experimentEvent,\n });\n };\n\n ADA_IFRAME.current.onerror = (): void => {\n logAmplitudeEvent({\n eventName: 'ada chatbot error loading',\n pageName,\n amplitudeEvent: AMPLITUDE_PAGE_EVENTS.experimentEvent,\n });\n };\n\n // Append ADA script to body and execute\n document.body.appendChild(ADA_IFRAME.current);\n\n // Removing the ada script after execution/mount .. just incase there are side effects of keeping it around\n return () => {\n if (ADA_IFRAME.current) {\n document.body.removeChild(ADA_IFRAME.current);\n }\n };\n }\n // Hide script on all other pages\n if (ADA_IFRAME.current && !isTeamsPage) {\n ADA_IFRAME.current.style.display = 'none';\n } else if (ADA_IFRAME.current && isTeamsPage) {\n // Show script on teams\n ADA_IFRAME.current.style.display = 'block';\n }\n return undefined;\n }, [pageName]);\n\n return <>;\n}\n","import { useRef, useMemo } from 'react';\n\nimport { usePricingExperiments } from '~shared/hooks/usePricingExperiments';\nimport { PricingExperiments } from '~shared/types/pricing/experiments';\n\nimport ACTIVE_TREATMENTS from './treatments';\n\nimport { ExperimentTreatment } from './types';\n\n/**\n * This hook returns an object containing active experiment components\n * intended for full component swaps within a page or an entire page component itself\n * There can be multiple active experiments at once but only one treatment name and component per experiment\n * @returns ExperimentTreatment\n */\n\nexport default function useTreatment(conditions = true): ExperimentTreatment {\n const assignments = usePricingExperiments();\n const treatments = useRef({\n priceExperiment: {},\n uiExperiment: {},\n featureExperiment: {},\n });\n useMemo(() => {\n Object.keys(assignments).forEach(assignment => {\n const exp = assignments[assignment as keyof PricingExperiments];\n\n if (exp.hasAssignment && exp.treatmentName in ACTIVE_TREATMENTS && conditions) {\n const { configExperimentIdentifier, experimentComponent } = ACTIVE_TREATMENTS[exp.treatmentName];\n treatments.current = {\n ...treatments.current,\n [assignment]: {\n configExperimentIdentifier,\n experimentComponent,\n },\n };\n }\n });\n }, [assignments, treatments, conditions]);\n return treatments.current;\n}\n","import React from 'react';\n\nimport { Box } from '@wds/box';\nimport { Package } from '~pricing/components/Summary';\n\nimport MainHeading from '~pricing/components/MainHeading';\nimport Navigation from '~pricing/components/Navigation';\nimport SummaryFooter from '~pricing/components/PricingFooter';\nimport { Packages } from '~shared/constants/pricing';\nimport useSummaryStyles from './useStyles';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport useTreatment from '~pricing/hooks/useTreatment';\nimport { PricingPackage } from '~shared/types/pricing/pricingsvc';\n\nexport default function PricingSummaryPage(): JSX.Element {\n const { PackagesContainer, Summary } = useSummaryStyles();\n const {\n state: {\n packages: { comparePlans, discountInfo, displayPackages, allPackages },\n },\n } = usePricingState();\n\n const {\n uiExperiment: { configExperimentIdentifier, experimentComponent: ExperimentComponent },\n } = useTreatment();\n\n const filteredPackages = displayPackages?.filter(pkg => pkg?.packageName !== Packages.Basic);\n\n function getPackage(pricingPackage: PricingPackage, index: number): JSX.Element {\n const props = {\n ...pricingPackage,\n comparisonSkuCost: pricingPackage.comparisonSkuCost || [],\n comparePlans,\n discountInfo,\n key: `package-${pricingPackage.packageName}`,\n isLastPackage: index + 1 === filteredPackages.length,\n };\n\n return ;\n }\n\n return (\n
    \n {configExperimentIdentifier === 'BILLING_20014_T1' && ExperimentComponent && }\n
    \n {configExperimentIdentifier === 'GROW_2427_TREATMENT' && ExperimentComponent && }\n {configExperimentIdentifier === 'GROW_2911_TREATMENT' && ExperimentComponent && }\n \n \n
    \n \n \n {filteredPackages?.map(\n (pricingPackage, index: number) => pricingPackage && getPackage(pricingPackage, index)\n )}\n \n \n \n
    \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\n\nexport default createMemoStyles(({ spacing }: PricingAppTheme) => ({\n Back: {\n maxWidth: 1200,\n margin: '0 auto',\n padding: [spacing[6], spacing[6], 0],\n '& a': {\n fontSize: 14,\n display: 'inline-flex',\n alignItems: 'center',\n '& svg': {\n marginRight: 3,\n },\n },\n },\n}));\n","import React from 'react';\nimport { t } from '@sm/intl';\nimport { Link } from 'react-router-dom';\nimport { Box } from '@wds/box';\nimport { IconArrowLeft } from '@wds/icons';\n\nimport COPY from '~app/pages/Pricing/copy';\n\nimport useStyles from './useStyles';\n\nexport default function BackToSummary({ url }: Readonly<{ url: string }>): JSX.Element {\n const { Back } = useStyles();\n const text = t(COPY.BACK_TO_SUMMARY);\n\n return (\n \n \n {text}\n \n \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { HIGHLIGHT } from '~pricing/components/Summary/useStyles';\nimport { Packages } from '~shared/constants/pricing';\n\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\n\ntype Props = {\n packageName: Packages;\n};\ntype Rules = 'Highlighted' | 'Package';\n\nexport default createMemoStyles(\n ({ spacing, pricingPalette, packageTheme }: PricingAppTheme) => ({\n Package: {\n position: 'relative',\n border: `1px solid ${pricingPalette.colors.pebble}`,\n [MD_MEDIA_QUERY]: {\n '&:not(:last-of-type):not($Highlighted)': {\n borderRight: 'none',\n },\n },\n '& aside': {\n top: 0,\n right: 0,\n width: '100%',\n '&:before, &:after': {\n display: 'none',\n },\n '& p': {\n transform: 'none',\n top: 0,\n left: 0,\n width: '100%',\n fontSize: 13,\n },\n },\n '& header': {\n paddingTop: spacing[6],\n },\n },\n Highlighted: {\n ...HIGHLIGHT(pricingPalette.colors.flint, packageTheme),\n borderWidth: '3px !important',\n '& header': {\n paddingTop: spacing[6] - 2,\n },\n },\n })\n);\n","import React from 'react';\n\nimport PackageDefs from '~app/pages/Pricing/lib/packages/packageDefs';\nimport PackageHeader from '~app/pages/Pricing/components/PackageHeader';\nimport { PackageHeaderProps } from '~pricing/components/Summary/types';\n\nimport useDetailsPackageHeaderStyles from './useStyles';\n\ntype DetailsHeader = {\n index: string;\n};\n\ntype DetailsPackageHeaderProps = PackageHeaderProps & DetailsHeader;\n\nexport default function DetailsPackageHeader({\n comparisonSkuCosts,\n discountInfo,\n skuCosts,\n packageName,\n index,\n}: DetailsPackageHeaderProps): JSX.Element {\n const { Highlighted, Package } = useDetailsPackageHeaderStyles({ packageName });\n const packageHeaderClassName = `${Package} ${PackageDefs[packageName]?.highlighted ? Highlighted : ''}`;\n\n return (\n
    \n \n
    \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\n\nexport default createMemoStyles(({ palette, spacing }: PricingAppTheme) => ({\n AccordionContainer: {\n padding: 0,\n margin: 0,\n '&:not(:last-child)': {\n borderBottom: `1px solid ${palette.border.main}`,\n },\n },\n Collapsed: {\n display: 'none',\n },\n Trigger: {\n cursor: 'pointer',\n backgroundColor: palette.background.main,\n padding: [spacing[4], spacing[6], spacing[4], spacing[3]],\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n}));\n","import React, { useCallback, useEffect, useState, forwardRef, LegacyRef } from 'react';\nimport { Box } from '@wds/box';\nimport { Typography } from '@wds/typography';\nimport { IconChevronDown, IconChevronUp } from '@wds/icons';\n\nimport useStyles from './useStyles';\n\nconst Accordion = forwardRef(function Accordion(\n { title, isExpanded, children }: { title: string; isExpanded: boolean; children: React.ReactNode },\n ref: LegacyRef | undefined\n): JSX.Element {\n const { AccordionContainer, Collapsed, Trigger } = useStyles();\n const [expanded, setExpanded] = useState(isExpanded);\n\n const icon = expanded ? (\n \n ) : (\n \n );\n\n const handleClick = useCallback(() => {\n setExpanded(!expanded);\n }, [expanded]);\n\n useEffect(() => {\n setExpanded(isExpanded);\n }, [isExpanded]);\n\n return (\n
    \n \n {title}\n {icon}\n \n {children}\n
    \n );\n});\n\nexport default Accordion;\n","import { defineMessages } from '@sm/intl';\nimport PROJECT_NAME from '~app/pages/Pricing/constants/project';\n\nconst TYPE_TEXT = '[Type: Text][Vis: high] - Feature Set Category Name';\n\nexport default defineMessages({\n TEAM_COLLABORATION: {\n id: 'Pricing.categoryCopy.TeamCollaboration',\n defaultMessage: 'Team Collaboration',\n desc: {\n id: 'Pricing.categoryCopy.TeamCollaboration',\n message: `${TYPE_TEXT} - TeamCollaboration`,\n project: PROJECT_NAME,\n },\n },\n TEAM_MANAGEMENT: {\n id: 'Pricing.categoryCopy.TeamManagement',\n defaultMessage: 'Team Management',\n desc: {\n id: 'Pricing.categoryCopy.TeamManagement',\n message: `${TYPE_TEXT} - TeamManagement`,\n project: PROJECT_NAME,\n },\n },\n ENTERPRISE_GRADE_SECURITY: {\n id: 'Pricing.categoryCopy.EnterpriseGradeSecurity',\n defaultMessage: 'Enterprise-grade admin and security',\n desc: {\n id: 'Pricing.categoryCopy.EnterpriseGradeSecurity',\n message: `${TYPE_TEXT} - EnterpriseGradeSecurity`,\n project: PROJECT_NAME,\n },\n },\n SURVEY_CAPABILITIES: {\n id: 'Pricing.categoryCopy.SurveyCapabilities',\n defaultMessage: 'Survey Capabilities',\n desc: {\n id: 'Pricing.categoryCopy.SurveyCapabilities',\n message: `${TYPE_TEXT} - SurveyCapabilities`,\n project: PROJECT_NAME,\n },\n },\n FAST_SUPPORT: {\n id: 'Pricing.categoryCopy.FastSupport',\n defaultMessage: 'Fast Support',\n desc: {\n id: 'Pricing.categoryCopy.FastSupport',\n message: `${TYPE_TEXT} - FastSupport`,\n project: PROJECT_NAME,\n },\n },\n SURVEY_BUILDER: {\n id: 'Pricing.categoryCopy.SurveyBuilder',\n defaultMessage: 'Survey Builder',\n desc: {\n id: 'Pricing.categoryCopy.SurveyBuilder',\n message: `${TYPE_TEXT} - SurveyBuilder`,\n project: PROJECT_NAME,\n },\n },\n CUSTOMIZATION_BRANDING: {\n id: 'Pricing.categoryCopy.CustomizationBranding',\n defaultMessage: 'Customization & Branding',\n desc: {\n id: 'Pricing.categoryCopy.CustomizationBranding',\n message: `${TYPE_TEXT} - CustomizationBranding`,\n project: PROJECT_NAME,\n },\n },\n ANALYSIS_REPORTING: {\n id: 'Pricing.categoryCopy.AnalysisReporting',\n defaultMessage: 'Analysis & Reporting',\n desc: {\n id: 'Pricing.categoryCopy.AnalysisReporting',\n message: `${TYPE_TEXT} - AnalysisReporting`,\n project: PROJECT_NAME,\n },\n },\n RESPONSE_MANAGEMENT: {\n id: 'Pricing.categoryCopy.ResponseManagement',\n defaultMessage: 'Response Management',\n desc: {\n id: 'Pricing.categoryCopy.ResponseManagement',\n message: `${TYPE_TEXT} - ResponseManagement`,\n project: PROJECT_NAME,\n },\n },\n ENHANCED_SECURITY: {\n id: 'Pricing.categoryCopy.EnhancedSecurity',\n defaultMessage: 'Enhanced Security',\n desc: {\n id: 'Pricing.categoryCopy.EnhancedSecurity',\n message: `${TYPE_TEXT} - EnhancedSecurity`,\n project: PROJECT_NAME,\n },\n },\n PARTNER_INTEGRATIONS: {\n id: 'Pricing.categoryCopy.PartnerIntegrations',\n defaultMessage: 'Partner Integrations & APIs',\n desc: {\n id: 'Pricing.categoryCopy.PartnerIntegrations',\n message: `${TYPE_TEXT} - PartnerIntegrations`,\n project: PROJECT_NAME,\n },\n },\n});\n","import COPY from '~pricing/lib/PackageFeatures/details/categoryCopy';\n\nexport default [\n {\n category: COPY.TEAM_COLLABORATION,\n features: [\n 'add_users',\n 'collaboration',\n 'build_surveys_together',\n 'analyze_results_together',\n 'custom_templates',\n 'team_themes',\n 'shared_library',\n ],\n },\n {\n category: COPY.TEAM_MANAGEMENT,\n features: ['team_ownership', 'user_management', 'contributor_seats', 'consolidated_billing'],\n },\n {\n category: COPY.ENTERPRISE_GRADE_SECURITY,\n features: [\n 'admin_dashboard',\n 'team_activity',\n 'account_control',\n 'single_sign_on',\n 'global_settings',\n 'custom_terms_of_use',\n 'enterprise_only_integrations',\n 'hipaa_enabled',\n ],\n },\n {\n category: COPY.SURVEY_CAPABILITIES,\n features: [\n 'survey_create_limit',\n 'create_question_limit',\n 'base_response_count',\n 'web_social_email_responses',\n 'collector_create_limit',\n 'pop_up_collector',\n 'track_email_responses',\n 'mobile_apps_ios_android',\n 'recurring_surveys',\n 'payment_qt',\n 'kiosk_mode_inactivity_timer',\n 'kiosk_mode_passcode_lock',\n ],\n },\n {\n category: COPY.FAST_SUPPORT,\n features: ['email_support', 'priority_email_support', 'phone_support', 'customer_success_manager'],\n },\n {\n category: COPY.SURVEY_BUILDER,\n features: [\n 'essential_question_types',\n 'all_languages_supported',\n 'pagination',\n 'labeling_titles_numbering',\n 'create_templates_enabled',\n 'question_library',\n '508_accessibility',\n 'matrix_question_type',\n 'best_worst_qt',\n 'ranking_question_type',\n 'slider_question_type',\n 'collect_contact_information',\n 'video_question_type',\n 'rating_question_type',\n 'quiz_scoring_and_instant_results',\n 'quizzes_pro',\n 'create_skip_logic_enabled',\n 'menu_matrix_enabled',\n 'file_upload',\n 'create_randomization_enabled',\n 'a_b_testing',\n 'create_quotas_enabled',\n 'click_map_qt',\n 'multilingual',\n 'advanced_logic',\n 'multiple_block_rotation_enabled',\n 'custom_question_bank',\n ],\n },\n {\n category: COPY.CUSTOMIZATION_BRANDING,\n features: [\n 'progress_bar',\n 'text_formatting',\n 'create_logo_enabled',\n 'create_custom_theme_enabled',\n 'premium_themes',\n 'collector_friendly_url_enabled',\n 'collector_thank_you_enabled',\n 'customize_disqualification_page_enabled',\n 'create_custom_html_email_message_enabled',\n 'create_grayscale_footer',\n 'create_piping_enabled',\n 'carry_forward',\n 'create_custom_variables_enabled',\n 'create_toggle_footer_enabled',\n 'collector_completion_url_enabled',\n 'collector_white_label_enabled',\n 'custom_subdomain',\n ],\n },\n {\n category: COPY.ANALYSIS_REPORTING,\n features: [\n 'real_time_results',\n 'share_surveys',\n 'plans_benchmarks',\n 'benchmarks',\n 'analyze_trends_enabled',\n 'response_quality_enabled',\n 'analyze_combine_filters',\n 'analyze_ta_enabled',\n 'analyze_can_ta_tag',\n 'dashboard',\n 'analyze_dashboard_password_enabled',\n 'show_sig_diffs_enabled',\n 'analyze_can_customize_charts',\n 'create_print_enabled',\n 'analyze_export_enabled',\n 'download_as_ppt',\n 'analyze_export_spss_enabled',\n 'word_cloud_combine_hide',\n 'analyze_sentiment_enabled',\n 'show_create_crosstab',\n ],\n },\n {\n category: COPY.RESPONSE_MANAGEMENT,\n features: [\n 'require_answer',\n 'validate_answer',\n 'randomize_answer_choices',\n 'set_survey_end_date',\n 'view_respondent_ip_address',\n 'record_respondent_email_address',\n 'respondent_receipt',\n 'set_max_response_count',\n ],\n },\n {\n category: COPY.ENHANCED_SECURITY,\n features: ['password_protection', 'enable_ip_blocking'],\n },\n {\n category: COPY.PARTNER_INTEGRATIONS,\n features: [\n 'send_surveys',\n 'collector_mobile_sdk_enabled',\n 'mobile_sdk_pull_response_data_enabled',\n 'extract_data',\n 'private_apps',\n ],\n },\n];\n","import COPY from '~pricing/lib/PackageFeatures/details/categoryCopy';\n\nexport default [\n {\n category: COPY.SURVEY_CAPABILITIES,\n features: [\n 'survey_create_limit',\n 'create_question_limit',\n 'base_response_count',\n 'web_social_email_responses',\n 'collector_create_limit',\n 'pop_up_collector',\n 'track_email_responses',\n 'mobile_apps_ios_android',\n 'recurring_surveys',\n 'payment_qt',\n 'kiosk_mode_inactivity_timer',\n 'kiosk_mode_passcode_lock',\n ],\n },\n {\n category: COPY.TEAM_COLLABORATION,\n features: [\n 'add_users',\n 'build_surveys_together',\n 'analyze_results_together',\n 'custom_templates',\n 'team_themes',\n 'shared_library',\n ],\n },\n {\n category: COPY.FAST_SUPPORT,\n features: ['email_support', 'priority_email_support', 'phone_support'],\n },\n {\n category: COPY.TEAM_MANAGEMENT,\n features: ['team_ownership', 'user_management', 'consolidated_billing'],\n },\n {\n category: COPY.SURVEY_BUILDER,\n features: [\n 'essential_question_types',\n 'all_languages_supported',\n 'pagination',\n 'labeling_titles_numbering',\n 'create_templates_enabled',\n 'question_library',\n '508_accessibility',\n 'matrix_question_type',\n 'best_worst_qt',\n 'collect_contact_information',\n 'video_question_type',\n 'rating_question_type',\n 'quiz_scoring_and_instant_results',\n 'quizzes_pro',\n 'create_skip_logic_enabled',\n 'menu_matrix_enabled',\n 'file_upload',\n 'create_randomization_enabled',\n 'a_b_testing',\n 'create_quotas_enabled',\n 'advanced_logic',\n 'click_map_qt',\n 'multilingual',\n 'multiple_block_rotation_enabled',\n ],\n },\n {\n category: COPY.CUSTOMIZATION_BRANDING,\n features: [\n 'progress_bar',\n 'text_formatting',\n 'create_logo_enabled',\n 'create_custom_theme_enabled',\n 'premium_themes',\n 'collector_friendly_url_enabled',\n 'collector_thank_you_enabled',\n 'customize_disqualification_page_enabled',\n 'create_piping_enabled',\n 'carry_forward',\n 'create_custom_variables_enabled',\n 'create_toggle_footer_enabled',\n 'collector_completion_url_enabled',\n 'collector_white_label_enabled',\n ],\n },\n {\n category: COPY.ANALYSIS_REPORTING,\n features: [\n 'real_time_results',\n 'share_surveys',\n 'analyze_trends_enabled',\n 'response_quality_enabled',\n 'plans_benchmarks',\n 'benchmarks',\n 'analyze_combine_filters',\n 'analyze_can_customize_charts',\n 'create_print_enabled',\n 'analyze_export_enabled',\n 'download_as_ppt',\n 'analyze_ta_enabled',\n 'analyze_can_ta_tag',\n 'show_create_crosstab',\n 'show_sig_diffs_enabled',\n 'analyze_export_spss_enabled',\n ],\n },\n {\n category: COPY.RESPONSE_MANAGEMENT,\n features: [\n 'require_answer',\n 'validate_answer',\n 'randomize_answer_choices',\n 'set_survey_end_date',\n 'view_respondent_ip_address',\n 'record_respondent_email_address',\n 'set_max_response_count',\n 'respondent_receipt',\n ],\n },\n {\n category: COPY.ENHANCED_SECURITY,\n features: ['password_protection', 'enable_ip_blocking'],\n },\n {\n category: COPY.PARTNER_INTEGRATIONS,\n features: ['send_surveys', 'collector_mobile_sdk_enabled', 'mobile_sdk_pull_response_data_enabled', 'extract_data'],\n },\n];\n","const PNP_REFRESH_V1 = 'GROW-2792';\nconst TYPE_DESCRIPTION = '[Type: String][Vis.: high] - ';\nconst EXPERIMENT_DESCRIPTION = ' - A string in pricing experiment GROW-2792';\nconst CATEGORY = 'category heading';\n\nconst experimentCategoryCopy = {\n grow_2792_team_collaboration: {\n id: 'Pricing.experimentCategoryCopy.TeamCollaboration',\n defaultMessage: 'Team Collaboration with 3+ users',\n desc: {\n id: 'Pricing.experimentCategoryCopy.TeamCollaboration',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION} (new)`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_team_management: {\n id: 'Pricing.experimentCategoryCopy.TeamManagement',\n defaultMessage: 'Team Management with 3+ users',\n desc: {\n id: 'Pricing.experimentCategoryCopy.TeamManagement',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION} (new)`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_form_survey_capabilities: {\n id: 'Pricing.experimentCategoryCopy.FormSurveyCapabilities',\n defaultMessage: 'Form & Survey Capabilities',\n desc: {\n id: 'Pricing.experimentCategoryCopy.FormSurveyCapabilities',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION} (new)`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_survey_builder: {\n id: 'Pricing.experimentCategoryCopy.FormSurveyBuilder',\n defaultMessage: 'Form & Survey Builder',\n desc: {\n id: 'Pricing.experimentCategoryCopy.FormSurveyBuilder',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION} (new)`,\n project: PNP_REFRESH_V1,\n },\n },\n grow_2792_enterprise_grade_security: {\n id: 'Pricing.categoryCopy.EnterpriseGradeSecurity',\n defaultMessage: 'Enterprise-grade Admin and Security',\n desc: {\n id: 'Pricing.categoryCopy.EnterpriseGradeSecurity',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION} (new)`,\n project: PNP_REFRESH_V1,\n },\n },\n};\n\nexport default experimentCategoryCopy;\n","import COPY from '~pricing/lib/PackageFeatures/details/categoryCopy';\nimport EXPERIMENT_CATEGORY_COPY from '~pricing/experiments/grow_2792_pnp_refresh_v1/copy/experimentCategoryCopy';\n\nexport default [\n {\n category: EXPERIMENT_CATEGORY_COPY.grow_2792_form_survey_capabilities,\n features: [\n 'grow_2792_survey_create_limit',\n 'grow_2792_questions_per_form_survey',\n 'base_response_count',\n 'web_social_email_responses',\n 'collector_create_limit',\n 'pop_up_collector',\n 'mobile_apps_ios_android',\n 'payment_qt',\n 'track_email_responses',\n 'grow_2792_recurring_surveys',\n 'kiosk_mode_inactivity_timer',\n 'kiosk_mode_passcode_lock',\n ],\n },\n {\n category: EXPERIMENT_CATEGORY_COPY.grow_2792_team_collaboration,\n features: [\n 'add_users',\n 'collaboration',\n 'build_surveys_together',\n 'analyze_results_together',\n 'custom_templates',\n 'team_themes',\n 'shared_library',\n ],\n },\n {\n category: COPY.FAST_SUPPORT,\n features: ['email_support', 'priority_email_support', 'phone_support', 'grow_2792_customer_success_manager'],\n },\n {\n category: EXPERIMENT_CATEGORY_COPY.grow_2792_team_management,\n features: ['team_ownership', 'user_management', 'grow_2792_advanced_collaboration', 'consolidated_billing'],\n },\n {\n category: EXPERIMENT_CATEGORY_COPY.grow_2792_survey_builder,\n features: [\n 'essential_question_types',\n 'all_languages_supported',\n 'pagination',\n 'labeling_titles_numbering',\n 'create_templates_enabled',\n 'question_library',\n '508_accessibility',\n 'collect_contact_information',\n 'video_question_type',\n 'quiz_scoring_and_instant_results',\n 'create_skip_logic_enabled',\n 'file_upload',\n 'matrix_question_type',\n 'best_worst_qt',\n 'ranking_question_type',\n 'slider_question_type',\n 'rating_question_type',\n 'quizzes_pro',\n 'menu_matrix_enabled',\n 'multilingual',\n 'create_randomization_enabled',\n 'a_b_testing',\n 'create_quotas_enabled',\n 'click_map_qt',\n 'advanced_logic',\n 'multiple_block_rotation_enabled',\n 'custom_question_bank',\n ],\n },\n {\n category: COPY.CUSTOMIZATION_BRANDING,\n features: [\n 'progress_bar',\n 'text_formatting',\n 'create_custom_theme_enabled',\n 'create_logo_enabled',\n 'premium_themes',\n 'collector_friendly_url_enabled',\n 'collector_thank_you_enabled',\n 'customize_disqualification_page_enabled',\n 'create_grayscale_footer',\n 'create_custom_html_email_message_enabled',\n 'create_piping_enabled',\n 'carry_forward',\n 'create_custom_variables_enabled',\n 'create_toggle_footer_enabled',\n 'collector_completion_url_enabled',\n 'collector_white_label_enabled',\n 'custom_subdomain',\n ],\n },\n {\n category: COPY.ANALYSIS_REPORTING,\n features: [\n 'real_time_results',\n 'share_surveys',\n 'plans_benchmarks',\n 'benchmarks',\n 'analyze_trends_enabled',\n 'grow_2792_database_response_view',\n 'analyze_combine_filters',\n 'create_print_enabled',\n 'analyze_export_enabled',\n 'download_as_ppt',\n 'analyze_can_customize_charts',\n 'analyze_ta_enabled',\n 'analyze_can_ta_tag',\n 'grow_2792_dashboard',\n 'grow_2792_dashboard_pwd_protection',\n 'analyze_export_spss_enabled',\n 'show_sig_diffs_enabled',\n 'response_quality_enabled',\n 'grow_2792_word_cloud_combine_hide',\n 'analyze_sentiment_enabled',\n 'show_create_crosstab',\n ],\n },\n {\n category: COPY.RESPONSE_MANAGEMENT,\n features: [\n 'require_answer',\n 'validate_answer',\n 'randomize_answer_choices',\n 'set_survey_end_date',\n 'view_respondent_ip_address',\n 'record_respondent_email_address',\n 'set_max_response_count',\n 'respondent_receipt',\n ],\n },\n {\n category: COPY.ENHANCED_SECURITY,\n features: ['password_protection', 'enable_ip_blocking'],\n },\n {\n category: COPY.PARTNER_INTEGRATIONS,\n features: [\n 'send_surveys',\n 'collector_mobile_sdk_enabled',\n 'mobile_sdk_pull_response_data_enabled',\n 'extract_data',\n 'private_apps',\n ],\n },\n {\n category: EXPERIMENT_CATEGORY_COPY.grow_2792_enterprise_grade_security,\n features: [\n 'admin_dashboard',\n 'team_activity',\n 'account_control',\n 'single_sign_on',\n 'global_settings',\n 'custom_terms_of_use',\n 'enterprise_only_integrations',\n 'hipaa_enabled',\n ],\n },\n];\n","import { CategoryGrouping } from '../types';\nimport { EXPERIMENT_IDENTIFIERS } from '~server/routes/Pricing/experimentsConfig';\nimport teamGroupings from './teams';\nimport individualGroupings from './individual';\nimport { PackageType } from '~shared/types/pricing/package';\n\nimport GROW_2792_GROUPINGS from '~pricing/experiments/grow_2792_pnp_refresh_v1/transformers/details/groupings';\nimport COPY from '~pricing/lib/PackageFeatures/details/categoryCopy';\n\nexport const categoryIds = {\n team_collaboration: COPY.TEAM_COLLABORATION.defaultMessage,\n team_management: COPY.TEAM_MANAGEMENT.defaultMessage,\n enterprise_grade_security: COPY.ENTERPRISE_GRADE_SECURITY.defaultMessage,\n survey_capabilities: COPY.SURVEY_CAPABILITIES.defaultMessage,\n fast_support: COPY.FAST_SUPPORT.defaultMessage,\n survey_builder: COPY.SURVEY_BUILDER.defaultMessage,\n customization_branding: COPY.CUSTOMIZATION_BRANDING.defaultMessage,\n analysis_reporting: COPY.ANALYSIS_REPORTING.defaultMessage,\n response_management: COPY.RESPONSE_MANAGEMENT.defaultMessage,\n enhanced_security: COPY.ENHANCED_SECURITY.defaultMessage,\n partner_integrations: COPY.PARTNER_INTEGRATIONS.defaultMessage,\n};\n\nconst categoryGroupings: CategoryGrouping = {\n [PackageType.Teams]: {\n default: teamGroupings,\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment1]: GROW_2792_GROUPINGS,\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment2]: GROW_2792_GROUPINGS,\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment3]: GROW_2792_GROUPINGS,\n },\n [PackageType.Details]: {\n default: teamGroupings,\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment1]: GROW_2792_GROUPINGS,\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment2]: GROW_2792_GROUPINGS,\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment3]: GROW_2792_GROUPINGS,\n },\n [PackageType.Individual]: {\n default: individualGroupings,\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment1]: GROW_2792_GROUPINGS,\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment2]: GROW_2792_GROUPINGS,\n [EXPERIMENT_IDENTIFIERS.GROW_2792.treatment3]: GROW_2792_GROUPINGS,\n },\n [PackageType.Educational]: {\n default: individualGroupings,\n },\n};\n\nexport default categoryGroupings;\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { HIGHLIGHT } from '~pricing/components/Summary/useStyles';\nimport { Packages } from '~shared/constants/pricing';\n\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\nimport { StyleProps, StyleRules } from './types';\n\nfunction getGridTemplateAreas(packageCount: number): string {\n let str = '.';\n let i;\n for (i = 1; i <= packageCount; i += 1) {\n str += ` package${i}`;\n }\n return `\"${str}\"`;\n}\nfunction getTemplateArea(): object {\n return {\n gridTemplateAreas: ({ packageCount }: StyleProps) => getGridTemplateAreas(packageCount),\n };\n}\n\nexport function getTemplate(): object {\n return {\n display: 'grid',\n gridTemplateColumns: ({ packageCount }: StyleProps) =>\n `minmax(10%, 380px) repeat(${packageCount}, minmax(10%, 280px))`,\n justifyContent: 'center',\n };\n}\n\nexport default createMemoStyles(\n ({ elevation, spacing, pricingPalette, packageTheme }: PricingAppTheme) => ({\n Details: {\n padding: `0 ${spacing[4]}px`,\n margin: `0 auto ${spacing[4]}px`,\n display: 'block',\n maxWidth: 1200,\n [MD_MEDIA_QUERY]: {\n width: 'fit-content',\n },\n },\n Sticky: {\n [MD_MEDIA_QUERY]: {\n backgroundColor: pricingPalette.colors.white,\n ...getTemplate(),\n ...getTemplateArea(),\n top: 0,\n position: 'sticky',\n boxShadow: `0 4px 2px -2px rgb(0 0 0 / 11%)`,\n zIndex: elevation.sky - 1,\n },\n },\n Highlighted: {\n ...HIGHLIGHT(pricingPalette.colors.flint, packageTheme),\n },\n Package1: {\n gridArea: 'package1',\n },\n Package2: {\n gridArea: 'package2',\n },\n Package3: {\n gridArea: 'package3',\n },\n Package4: {\n gridArea: 'package4',\n },\n Package5: {\n gridArea: 'package5',\n },\n Package6: {\n gridArea: 'package6',\n },\n Mobile: {\n display: 'grid',\n [`& .package-${Packages.AdvantageAnnual}`]: {\n gridRow: 1,\n },\n [`& .package-${Packages.FormsAnnual}, & .package-${Packages.FormsMonthly}`]: {\n gridRow: 3,\n },\n [MD_MEDIA_QUERY]: {\n display: 'none',\n },\n },\n Desktop: {\n display: 'none',\n [MD_MEDIA_QUERY]: {\n display: 'block',\n },\n },\n })\n);\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\n\nimport { LG_MEDIA_QUERY, MD_MEDIA_QUERY, SM_MOBILE_MEDIA_QUERY } from '~shared/media-query';\nimport { StyleProps } from './types';\nimport { getTemplate } from '~pricing/components/DetailsPackagesView/useStyles';\n\nexport default createMemoStyles(({ spacing, palette, elevation, pricingPalette, packageTheme }: PricingAppTheme) => ({\n AccordionControl: {\n marginBottom: spacing[4],\n '& [role=button]': {\n backgroundColor: palette.background.main,\n '& span:first-child': {\n paddingLeft: spacing[3],\n '& strong': {\n fontSize: 13,\n [MD_MEDIA_QUERY]: {\n fontSize: 16,\n },\n },\n },\n },\n },\n Cell: {\n border: `1px solid ${pricingPalette.colors.pebble}`,\n borderTop: 'none',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: `0 ${spacing[1]}px`,\n textAlign: 'center',\n [MD_MEDIA_QUERY]: {\n '&:not(:last-child)': {\n borderRight: 'none',\n },\n },\n },\n Highlighted: {\n backgroundColor: ({ packageName }: StyleProps) => (packageName ? packageTheme[packageName].primary : 'transparent'),\n color: pricingPalette.colors.white,\n '& a': {\n color: pricingPalette.colors.white,\n },\n },\n DetailRow: {\n ...getTemplate(),\n fontSize: 13,\n color: pricingPalette.colors.charcoal,\n },\n HighlightFeature: {\n backgroundColor: palette.background.primary.light,\n },\n Feature: {\n padding: spacing[4],\n borderLeft: `1px solid ${pricingPalette.colors.pebble}`,\n borderBottom: `1px solid ${pricingPalette.colors.pebble}`,\n position: 'relative',\n display: 'flex',\n justifyContent: 'space-between',\n [MD_MEDIA_QUERY]: {\n borderLeft: 'none',\n },\n },\n Bullet: {\n borderRadius: '100%',\n backgroundColor: ({ packageName }: StyleProps) => (packageName ? packageTheme[packageName].primary : 'none'),\n width: 10,\n height: 10,\n display: 'block',\n },\n BulletInverse: {\n composes: '$Bullet',\n backgroundColor: pricingPalette.colors.white,\n },\n ExpandCollapse: {\n fontSize: 13,\n left: spacing[3],\n backgroundColor: 'transparent',\n color: pricingPalette.colors.link,\n border: 'none',\n borderLeft: `1px solid ${pricingPalette.colors.pebble}`,\n borderRight: `1px solid ${pricingPalette.colors.pebble}`,\n padding: spacing[4],\n width: '100%',\n '&:hover, &:focus': {\n textDecoration: 'none',\n backgroundColor: 'transparent !important',\n color: [pricingPalette.colors.link, '!important'],\n border: 'none',\n },\n '& svg': {\n marginLeft: 5,\n },\n [SM_MOBILE_MEDIA_QUERY]: {\n display: 'inline-block',\n padding: 0,\n borderRadius: 0,\n left: 0,\n },\n [MD_MEDIA_QUERY]: {\n display: 'flex',\n padding: 0,\n border: 'none',\n borderRadius: 0,\n left: 0,\n position: 'sticky',\n top: 190,\n zIndex: elevation.sky - 1,\n margin: [-30, 0, 0, 10],\n width: 'auto',\n },\n [LG_MEDIA_QUERY]: {\n display: 'flex',\n },\n },\n TooltipContainer: {\n '&:hover $Tooltip': {\n display: 'inline-block',\n },\n [MD_MEDIA_QUERY]: {\n position: 'relative',\n },\n },\n TooltipIndicator: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 13,\n height: 13,\n fontSize: 13,\n color: 'white',\n borderRadius: '100%',\n backgroundColor: pricingPalette.colors.stone,\n cursor: 'help',\n '&:hover': {\n backgroundColor: pricingPalette.colors.flint,\n },\n marginLeft: 5,\n },\n Tooltip: {\n display: 'none',\n color: pricingPalette.colors.charcoal,\n cursor: 'auto',\n },\n}));\n","import React from 'react';\nimport { t } from '@sm/intl';\nimport { DetailsFeatureRowPackages } from '~app/pages/Pricing/transformers/details/types';\nimport PackageDefs from '~app/pages/Pricing/lib/packages/packageDefs';\n\nimport useCategoryStyles from './useStyles';\nimport COPY from './copy';\n\nexport default function FeatureCell(pkg: Readonly): JSX.Element {\n const { Cell, Bullet, BulletInverse, Highlighted } = useCategoryStyles({ packageName: pkg.packageName });\n let a11yValue = t(COPY.UNAVAILABLE);\n\n if (typeof pkg.value === 'string') {\n a11yValue = pkg.value;\n } else if (pkg.value) {\n a11yValue = t(COPY.AVAILABLE);\n }\n\n const ariaLabel = `${pkg.packageName} ${a11yValue}`;\n const cellClassName = `${Cell} ${PackageDefs[pkg.packageName]?.highlighted ? Highlighted : ''}`;\n const packageValueClassName = PackageDefs[pkg.packageName]?.highlighted ? BulletInverse : Bullet;\n\n return (\n \n {typeof pkg.value === 'boolean' ? pkg.value && : pkg.value}\n
    \n );\n}\n","import React, { useMemo, useState, useCallback, useRef, useEffect } from 'react';\nimport { useParams, useLocation } from 'react-router';\nimport { t } from '@sm/intl';\nimport { Box } from '@wds/box';\nimport { Button } from '@sm/wds-react';\nimport { IconCaretUp, IconCaretDown } from '@wds/icons';\nimport Accordion from '~pricing/components/Accordion';\nimport getFeatureCategories from '~pricing/transformers/details';\nimport FeatureTooltip from '~pricing/components/Tooltip';\nimport categoryGroupings, { categoryIds } from '~app/pages/Pricing/transformers/details/groupings';\nimport { PackageDataSet } from '~shared/types/pricing/package';\nimport { NavRouteParams } from '~pricing/components/Navigation/types';\nimport { usePricingExperiments } from '~shared/hooks/usePricingExperiments';\nimport { DetailsFeatureRowFeature } from '~pricing/transformers/details/types';\n\nimport FeatureCell from './FeatureCell';\nimport useCategoryStyles from './useStyles';\nimport COPY from '~app/pages/Pricing/copy';\nimport { ToggleState } from './types';\nimport { usePricingState } from '~shared/hooks/usePricingState';\n\nconst CaretDown = ;\nconst CaretUp = ;\n\nexport default function Categories({\n displayedPackages,\n isMobile,\n}: Readonly<{\n displayedPackages: PackageDataSet;\n isMobile?: boolean;\n}>): JSX.Element {\n const { canonicalPath, subPath } = useParams();\n const { uiExperiment } = usePricingExperiments();\n\n const {\n state: {\n packages: { detailsPackageData, displayPackageSet },\n },\n } = usePricingState();\n\n const { search } = useLocation();\n const query = new URLSearchParams(search);\n const featureId = query.get('selected_feature');\n const highlightedFeature = useRef(null);\n const categoryId = query.get('selected_category');\n const selectedCategoryRef = useRef(null);\n\n // Scroll to the category or highlighted feature if it exists on page load\n useEffect(() => {\n if ((highlightedFeature.current || selectedCategoryRef.current) && !isMobile) {\n setTimeout(() => {\n const offsetTop = highlightedFeature?.current?.offsetTop ?? selectedCategoryRef?.current?.offsetTop ?? 0;\n const packagesHeader = document.getElementById('PackagesHeader');\n const offsetHeight = packagesHeader ? packagesHeader.clientHeight : 0;\n\n window.scrollTo({ top: offsetTop - offsetHeight, behavior: 'smooth' });\n }, 1000);\n }\n }, [isMobile]);\n\n const {\n AccordionControl,\n DetailRow,\n Feature,\n HighlightFeature,\n TooltipContainer,\n TooltipIndicator,\n Tooltip,\n ExpandCollapse,\n } = useCategoryStyles({\n packageCount: displayedPackages.length,\n });\n\n // get the experience name if there is one\n const experience = (uiExperiment.hasAssignment && uiExperiment.treatmentName) || '';\n /**\n * Since /pricing/details is a valid route lets handle experiments categories accordingly\n * See src/app/pages/Pricing/pages/index.ts L24 for the regex path matching\n */\n const currentPath = canonicalPath ?? subPath;\n\n const categories = useMemo(() => {\n const groupings = categoryGroupings[currentPath][experience] ?? categoryGroupings[currentPath].default;\n return getFeatureCategories(displayedPackages, groupings, detailsPackageData);\n }, [currentPath, experience, displayedPackages, detailsPackageData]);\n\n const initialState: ToggleState = useMemo(() => {\n return {\n initialLoad: isMobile,\n isExpanded: !isMobile,\n text: isMobile ? t(COPY.EXPAND_ALL) : t(COPY.COLLAPSE_ALL),\n icon: isMobile ? CaretUp : CaretDown,\n };\n }, [isMobile]);\n const [toggleData, setToggleData] = useState(initialState);\n\n const handleToggle = useCallback(\n (event: React.SyntheticEvent): void => {\n event.preventDefault();\n setToggleData({\n initialLoad: false,\n isExpanded: !toggleData.isExpanded,\n text: toggleData.isExpanded ? t(COPY.EXPAND_ALL) : t(COPY.COLLAPSE_ALL),\n icon: toggleData.isExpanded ? CaretUp : CaretDown,\n });\n },\n [toggleData]\n );\n\n const key = isMobile ? 'Mobile' : 'Desktop';\n\n // if isMobile, use only the individual package passed in, otherwise use only the displayed package set.\n const data = useMemo(\n () => (isMobile ? [displayedPackages[0].packageName] : displayPackageSet),\n [displayPackageSet, displayedPackages, isMobile]\n );\n\n const featureRowCells = useCallback(\n (feature: DetailsFeatureRowFeature, id: string): JSX.Element => {\n return (\n <>\n {data.map(pkg => (\n \n ))}\n \n );\n },\n [data, key]\n );\n\n return (\n <>\n \n \n {/* name: NAME rename to preserve the COPY constant format */}\n {categories.map(({ name: NAME, features }, index) => {\n const isSelectedCategory =\n categoryId && categoryIds[categoryId as keyof typeof categoryIds] === NAME.defaultMessage;\n return (\n \n
    \n {features?.map(feature => {\n const isHighlightedFeature = featureId && featureId === feature.name;\n return (\n \n
    \n {feature.summary}\n {feature.tooltip && feature.tooltipHeading && (\n \n ?\n \n \n \n \n )}\n
    \n {featureRowCells(feature, NAME.id)}\n \n );\n })}\n
    \n \n );\n })}\n
    \n \n );\n}\n","import React, { Fragment, useContext } from 'react';\nimport { StaticContext } from '@sm/webassets';\nimport { Box } from '@wds/box';\nimport { Responsive } from '@wds/responsive';\nimport { PricingData } from './types';\n\nimport DetailsPackageHeader from '~pricing/components/DetailsTable/PackageHeader';\nimport Categories from '~app/pages/Pricing/components/DetailsTable/Categories';\n\nimport useDetailsStyles from './useStyles';\n\nexport default function DetailsPackagesView({ packageData, discountInfo }: PricingData): JSX.Element {\n const { Details, Sticky, Mobile, Desktop } = useDetailsStyles({\n packageCount: packageData.length,\n });\n\n const { ssrEnv } = useContext(StaticContext);\n\n if (!packageData) {\n return <>;\n }\n\n return (\n \n \n \n {packageData.map((pricingPackage, index: number) => {\n if (pricingPackage) {\n const { comparisonSkuCost, skuCost, packageName } = pricingPackage;\n return (\n
    \n \n \n
    \n );\n }\n return null;\n })}\n
    \n
    \n\n \n \n \n {packageData.map((pricingPackage, index: number) => {\n if (pricingPackage) {\n const { comparisonSkuCost, skuCost, packageName } = pricingPackage;\n return (\n \n \n \n );\n }\n return null;\n })}\n \n \n \n \n
    \n );\n}\n","import React, { useEffect } from 'react';\nimport { useParams } from 'react-router';\nimport { t } from '@sm/intl';\nimport { createURL } from '@sm/utils';\nimport { useExperiment } from '@sm/webassets';\nimport { NavRouteParams } from '~pricing/components/Navigation/types';\n\nimport BackToSummary from '~pricing/components/BackToSummary';\nimport MainHeading from '~pricing/components/MainHeading';\nimport Navigation from '~pricing/components/Navigation';\nimport DetailsFooter from '~pricing/components/PricingFooter';\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\nimport COPY from '~app/pages/Pricing/copy';\nimport DetailsPackagesView from '~pricing/components/DetailsPackagesView';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport DiscountBanner from '~pricing/components/DiscountBanner';\nimport useTreatment from '~pricing/hooks/useTreatment';\nimport { ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\n/**\n * This only gets generated on the details page. If canonical path is missing then,\n * we must be on the /pricing/details (canonical to details), the back link should default to teams summary\n * with ut_source attached as per legacy billweb\n */\n\nexport default function PricingDetailsPage(): JSX.Element {\n const { canonicalPath } = useParams();\n\n const {\n state: {\n packages: { allPackages, discountInfo, displayPackages },\n },\n } = usePricingState();\n const { pageUtSource } = useTrackingDetails();\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, []);\n\n const {\n uiExperiment: { configExperimentIdentifier, experimentComponent: ExperimentComponent },\n } = useTreatment();\n\n const { treatments: discountBannerTreatments } = useExperiment({\n name: 'billing_20014_teams_discount',\n treatmentNames: ['billing_20014_teams_discount_control', 'billing_20014_teams_discount_treatment'],\n });\n\n const showDiscountBanner = discountBannerTreatments?.billing_20014_teams_discount_treatment?.treatmentName;\n\n // TODO: Load ChatBot on the Details Page depending on convo with Brok\n return (\n
    \n
    \n {configExperimentIdentifier === 'GROW_2911_TREATMENT' && ExperimentComponent && }\n \n {showDiscountBanner && }\n {t(COPY.DETAILS_HEADING)}\n \n
    \n \n \n
    \n );\n}\n","import { createMemoStyles } from '@wds/styles';\n\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { StyleProps } from './types';\n\nconst useEnterprisePageStyles = createMemoStyles(\n ({ pricingPalette, spacing }) => ({\n ContactList: {\n lineHeight: '1.8',\n listStyleType: 'none',\n textAlign: 'center',\n marginTop: spacing[1],\n },\n FeatureItem: {\n fontSize: '16px',\n textAlign: 'left',\n lineHeight: '32px',\n '&:before': {\n content: '\"•\"',\n marginLeft: '-35px',\n marginRight: spacing[3],\n paddingRight: spacing[4],\n color: pricingPalette.colors.sabaeus,\n },\n },\n ListHeading: {\n fontSize: '16px',\n textAlign: 'left',\n marginTop: '5px',\n lineHeight: '32px',\n maxWidth: '350px',\n },\n TypographyBolded: {\n fontSize: '32px',\n fontWeight: '500',\n margin: '16px 0',\n color: pricingPalette.colors.charcoal,\n },\n HubSpotWrapper: {\n background: pricingPalette.colors.canvas,\n },\n })\n);\n\nexport default useEnterprisePageStyles;\n","import React from 'react';\n\nimport { Box } from '@wds/box';\nimport { t } from '@sm/intl';\nimport { Typography } from '@wds/typography';\n\nimport COPY from './copy';\n\nimport useEnterprisePageStyles from './useStyles';\n\nexport default function ContactUs(): JSX.Element {\n const { ContactList, FeatureItem, ListHeading, TypographyBolded } = useEnterprisePageStyles();\n\n return (\n \n {/* Change div line below to following once wds/typography is changed to v3+ to inherit styling\n \n also remove class in style file */}\n

    {t(COPY.CONTACT_US_TODAY)}

    \n

    {t(COPY.LEARN_MORE)}

    \n \n \n
  • {t(COPY.MANAGE_USERS)}
  • \n
  • {t(COPY.CONFIDENTIAL_DATA)}
  • \n
  • {t(COPY.FEEDBACK)}
  • \n
    \n
    \n
    \n );\n}\n","import React, { useMemo } from 'react';\nimport { t } from '@sm/intl';\nimport { isEnterprisePackage } from '@sm/utils';\nimport { Grid } from '@wds/grid';\nimport { Box } from '@wds/box';\n\nimport MainHeading from '~pricing/components/MainHeading';\nimport Navigation from '~pricing/components/Navigation';\nimport HubSpotForm from '~pricing/components/HubSpotForm';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport useTreatment from '~pricing/hooks/useTreatment';\n\nimport COPY from './copy';\nimport ContactUs from './ContactUs';\n\nimport useEnterprisePageStyles from './useStyles';\n\nexport default function EnterprisePage(): JSX.Element {\n const { HubSpotWrapper } = useEnterprisePageStyles();\n const {\n state: {\n packages: { userPackage },\n },\n } = usePricingState();\n\n const {\n uiExperiment: { configExperimentIdentifier, experimentComponent: ExperimentComponent },\n } = useTreatment();\n\n const isEnterpriseUser = useMemo(() => isEnterprisePackage(parseInt(userPackage?.id, 10)), [userPackage]);\n\n return (\n
    \n
    \n {configExperimentIdentifier === 'GROW_2911_TREATMENT' && ExperimentComponent && }\n {t(isEnterpriseUser ? COPY.SURVEY_MONKEY_ENTERPRISE : COPY.MAIN_HEADING)}\n {!isEnterpriseUser && }\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n );\n}\n","import { createMemoStyles } from '@wds/styles';\n\nexport default createMemoStyles({\n ViewPricingLink: {\n display: 'inline-flex',\n alignItems: 'center',\n fontSize: 14,\n '& svg': {\n marginLeft: 3,\n },\n },\n});\n","import React, { useEffect, useMemo } from 'react';\nimport { useParams } from 'react-router';\nimport { Link } from 'react-router-dom';\nimport { t } from '@sm/intl';\nimport { createURL } from '@sm/utils';\nimport { IconArrowRight } from '@wds/icons';\nimport { Typography } from '@wds/typography';\nimport { NavRouteParams } from '~pricing/components/Navigation/types';\n\nimport COPY from '~app/pages/Pricing/copy';\nimport BackToSummary from '~pricing/components/BackToSummary';\nimport DetailsPackagesView from '~pricing/components/DetailsPackagesView';\nimport MainHeading from '~pricing/components/MainHeading';\nimport Navigation from '~pricing/components/Navigation';\nimport DetailsFooter from '~pricing/components/PricingFooter';\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\nimport { usePricingState } from '~shared/hooks/usePricingState';\n\nimport useEducationalStyles from './useStyles';\nimport EduContext from '~shared/hooks/eduContext';\nimport { ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\n\nexport default function EducationalDetailsPage(): JSX.Element {\n const { ViewPricingLink } = useEducationalStyles();\n const { canonicalPath } = useParams();\n const {\n state: {\n packages: { displayPackages, discountInfo },\n },\n } = usePricingState();\n const { pageUtSource } = useTrackingDetails();\n\n const path = canonicalPath === 'educational' ? 'individual' : canonicalPath;\n const viewPricingLinkText = t(COPY.VIEW_PRICING);\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, []);\n\n const isEduValue = useMemo(\n () => ({\n isEdu: true,\n }),\n []\n );\n\n return (\n
    \n
    \n \n {t(COPY.EDUCATIONAL_HEADING)}\n \n {t(COPY.EDUCATIONAL_SUBHEADING)}{' '}\n \n {viewPricingLinkText}\n \n \n \n \n
    \n \n \n \n \n
    \n );\n}\n","import { useCallback, useContext, useEffect, useMemo, useState } from 'react';\nimport { t } from '@sm/intl';\nimport { StaticContext } from '@sm/webassets';\n\nimport { PackageIds, Packages } from '~shared/constants/pricing';\nimport ProgramIDs from '~shared/constants/sales';\nimport { PricingPackage } from '~shared/types/pricing/pricingsvc';\n\nimport EXPERIMENT_COPY from '../copy/experimentPackageCopy';\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\nimport { CtaHook } from '~pricing/hooks/types';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport { GROW2792_CtaArgs } from './types';\n\nlet isUpgradeable: boolean;\nlet packageIsUserPackage: boolean;\nlet isAuthenticated: boolean;\n\n/**\n * if user is eligible for edu discount, get the appropriate URL\n * @param pageUtSource\n * @param pricingPackage\n * @param userPackage\n * @returns\n */\nfunction getEduDiscountUrl(pageUtSource: string, pricingPackage: PricingPackage, userPackage: PricingPackage): string {\n let eduDiscountUrl = '';\n if (isAuthenticated && userPackage?.packageName === Packages.Basic) {\n eduDiscountUrl = `/billing/pw/discount/verify?package_id=${pricingPackage?.id}&ut_source=${pageUtSource}`;\n } else if (isAuthenticated) {\n eduDiscountUrl = `/upgrade?package_id=${pricingPackage?.id}&e=edu_faq&ut_source=${pageUtSource}`;\n } else {\n eduDiscountUrl = `/user/sign-up/?e=edu_faq&sm=${pricingPackage?.encryptedEduParam}&ut_source=${pageUtSource}`;\n }\n return eduDiscountUrl;\n}\n\n/**\n * if user is logged in and package can be upgrade, determine the URL\n * @param pricingPackage\n * @param pageUtSource\n * @param showEduDiscount\n * @param userPackage\n * @returns\n */\nfunction getUrlForUpgrade(\n pricingPackage: PricingPackage,\n pageUtSource: string,\n showEduDiscount: boolean,\n userPackage: PricingPackage,\n numSeatsQueryParam: string | null,\n isIPPM: boolean,\n paidFeaturesString: string | undefined\n): string {\n let newUrl = '';\n if (pricingPackage?.packageName === Packages.Enterprise) {\n const utSource2 = pageUtSource?.includes('details') ? 'teams_details' : 'teams';\n newUrl = `/mp/ipas-contact-sales/?program=${ProgramIDs.ContactSalesPNP}&ut_source=${pageUtSource}&ut_source2=${utSource2}&ut_source3=primary_contact_cta&package_id=${pricingPackage?.id}`;\n } else if (showEduDiscount) {\n newUrl = getEduDiscountUrl(pageUtSource, pricingPackage, userPackage);\n } else if (isAuthenticated) {\n let checkoutParams = `?package_id=${pricingPackage?.id}&ut_source=${pageUtSource}${numSeatsQueryParam ?? ''}`;\n if (isIPPM) {\n const utSourceStr = paidFeaturesString || 'create';\n const utSource = `&ut_source=${utSourceStr}`;\n const returnUrl =\n window.parent && encodeURIComponent(window.parent.location.pathname + window.parent.location.search);\n const legacyReturn = returnUrl && `&return=${returnUrl}`;\n const ippmReturnUrl = returnUrl.includes('create') ? `&ippm_return_url=${returnUrl}` : '';\n checkoutParams = `${checkoutParams.replace('ut_source', 'ut_source2')}${utSource}${legacyReturn}${ippmReturnUrl}`;\n }\n if (userPackage?.packageName === Packages.Basic) {\n newUrl = `/billing/checkout${checkoutParams}`;\n } else {\n newUrl = `/upgrade${checkoutParams}`;\n }\n } else {\n newUrl = `/user/sign-up/?sm=${pricingPackage.encryptedCtaParam}&ut_source=${pageUtSource}`;\n }\n return newUrl;\n}\n\n/**\n * Determine new CTA URL from whether user is logged in, has a package that could be upgraded,\n * how many seats in their plan, and if we should show the edu discount and use Stripe checkout\n * @param args CtaArgs\n * @returns ctaUrl\n */\nfunction getNewCtaUrl(args: GROW2792_CtaArgs): string {\n const { pageUtSource, showEduDiscount, pricingPackage, userPackage, numSeatsQueryParam, isIPPM, paidFeaturesString } =\n args;\n let newCtaUrl = '';\n if (packageIsUserPackage) {\n /* Since all users start with a basic package, we check if they are authenticated or not\n and set the correct sign up URL */\n if (!isAuthenticated) {\n newCtaUrl = `/user/sign-up/?ut_source=${pageUtSource}`;\n }\n } else if (isUpgradeable) {\n newCtaUrl = getUrlForUpgrade(\n pricingPackage,\n pageUtSource,\n showEduDiscount,\n userPackage,\n numSeatsQueryParam ?? null,\n isIPPM,\n paidFeaturesString\n );\n }\n\n return newCtaUrl;\n}\n\n/**\n * Derive CTA label from whether the user is logged in, what package they're signed up for, and if they can upgrade it.\n * @param pricingPackage\n * @returns\n */\nfunction getNewCtaLabel(pricingPackage: PricingPackage): string {\n let ctaLabel = '';\n const signUp = t(EXPERIMENT_COPY.SIGN_UP);\n const select = t(EXPERIMENT_COPY.SELECT);\n const yourPlan = t(EXPERIMENT_COPY.YOUR_PLAN);\n const contact = t(EXPERIMENT_COPY.CONTACT_SALES);\n const signUpOrSelect = isAuthenticated ? select : signUp;\n\n if (packageIsUserPackage) {\n /* Since all users start with a basic package, we check if they are authenticated or not\n and set the correct cta label and sign up URL */\n if (!isAuthenticated) {\n ctaLabel = signUp;\n } else {\n ctaLabel = yourPlan;\n }\n } else if (isUpgradeable) {\n // Labels first; simpler logic\n if (pricingPackage?.packageName === Packages.Enterprise) {\n ctaLabel = contact;\n } else {\n ctaLabel = signUpOrSelect;\n }\n }\n return ctaLabel;\n}\n\n/**\n * Given a user's details & the package they've signed up for,\n * returns the relevant CTA label and URL for signup/upgrade\n * @param {PricingPackage} pricingPackage Details of the pricing and features available in a package\n * @returns CtaHook\n */\nexport default function useCta(pricingPackage: PricingPackage): CtaHook {\n const { user } = useContext(StaticContext);\n const {\n state: {\n packages: { userPackage, showEduDiscount, paidFeatures },\n grow2792: { advantageUsers, premierUsers, isIPPM },\n },\n } = usePricingState();\n const [isEnabled, setIsEnabled] = useState(true);\n const [isUserPackage, setIsUserPackage] = useState(false);\n const [ctaUrl, setCtaUrl] = useState('');\n const [ctaLabel, setCtaLabel] = useState('');\n const [numSeatsParam, setNumSeatsParam] = useState(null);\n const { pageUtSource } = useTrackingDetails();\n\n /**\n * Fetches the encrypted value of given ctaParam\n * @param ctaParam The query string to be encrypted\n * @returns Promise\n */\n const getEncryptCtaParams = useCallback(async (ctaParam: string): Promise => {\n const response = await fetch(`/content/api/encrypt-params?cta_param=${ctaParam}`);\n const { encryptedCtaParam: respEncryptedCtaParam } = await response.json();\n return respEncryptedCtaParam;\n }, []);\n\n useMemo(() => {\n /* if we don't have the user's package details (because they're in a package that's\n not part of the standard pricingweb load-out), default to allowing the CTA\n TODO: at the server side, if the user's package is not returned in the pricingsvc\n call, we need to do a separate fetch to retrieve it so we can reflect this CTA correctly */\n isUpgradeable = userPackage?.details ? userPackage.details.tier < pricingPackage?.details.tier : true;\n packageIsUserPackage = userPackage?.packageName === pricingPackage?.packageName;\n isAuthenticated = user.isAuthenticated;\n\n const numSeats = Number(pricingPackage.id) === PackageIds.TEAM_ADVANTAGE_ANNUAL ? advantageUsers : premierUsers;\n\n const isAuthenticatedAndNotBasic = isAuthenticated && userPackage?.packageName !== Packages.Basic;\n const seatsParam = isAuthenticatedAndNotBasic ? '&additional_seats' : '&num_seats';\n\n const numSeatsQueryParam =\n pricingPackage &&\n [PackageIds.TEAM_ADVANTAGE_ANNUAL, PackageIds.TEAM_PREMIER_ANNUAL].includes(Number(pricingPackage.id))\n ? `${seatsParam}=${isAuthenticatedAndNotBasic ? numSeats - 1 : numSeats}`\n : null;\n\n const newCtaLabel = getNewCtaLabel(pricingPackage);\n setCtaLabel(newCtaLabel);\n\n const paidFeaturesString = paidFeatures && encodeURIComponent(paidFeatures?.join(','));\n\n const args = {\n pageUtSource,\n showEduDiscount,\n pricingPackage,\n userPackage,\n numSeatsQueryParam,\n isIPPM,\n paidFeaturesString,\n };\n\n setNumSeatsParam(numSeatsQueryParam);\n const newCtaUrl = getNewCtaUrl(args);\n setCtaUrl(newCtaUrl);\n\n setIsEnabled(!isAuthenticated || isUpgradeable);\n setIsUserPackage(packageIsUserPackage);\n }, [\n userPackage,\n pricingPackage,\n user.isAuthenticated,\n advantageUsers,\n premierUsers,\n pageUtSource,\n showEduDiscount,\n isIPPM,\n paidFeatures,\n ]);\n\n useEffect(() => {\n if (\n !isAuthenticated &&\n [PackageIds.TEAM_ADVANTAGE_ANNUAL, PackageIds.TEAM_PREMIER_ANNUAL].includes(Number(pricingPackage.id))\n ) {\n (async () => {\n const baseParams = `package_id=${pricingPackage.id}${numSeatsParam ?? ''}`;\n const encryptedCtaParam = await getEncryptCtaParams(encodeURIComponent(baseParams));\n const newCtaUrl = `/user/sign-up/?sm=${encryptedCtaParam}`;\n setCtaUrl(newCtaUrl);\n })();\n }\n }, [getEncryptCtaParams, numSeatsParam, pageUtSource, pricingPackage, showEduDiscount, userPackage]);\n\n return {\n isEnabled,\n isUserPackage,\n ctaUrl,\n ctaLabel,\n };\n}\n","import React, { SyntheticEvent } from 'react';\nimport { Button } from '@wds/button';\n\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\n\nimport useCta from '../../hooks/useCta';\nimport { generateCTAMetricsAttribute } from '~pricing/pages/shared/index';\nimport { PackageIds } from '~shared/constants/pricing';\n\nimport useStyles from '~pricing/components/PackageCta/useStyles';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport { PackageCTAProps } from '~app/pages/Pricing/components/PackageCta/types';\n\nconst PackageCta = ({ packageName, isSummaryPage = false, className = '' }: PackageCTAProps): JSX.Element => {\n const {\n state: {\n packages: { getPackageById },\n grow2792: { isIPPM = false },\n },\n } = usePricingState();\n\n const { CTA, noCTA, noShow } = useStyles({ packageName });\n const packageId = PackageIds[packageName];\n const { pageName } = useTrackingDetails();\n const { isEnabled, ctaUrl, ctaLabel } = useCta(getPackageById(packageId));\n\n const handlePackageSelectClick = (e: SyntheticEvent, CTA_URL: string): void => {\n e.preventDefault();\n if (window) {\n window.parent.postMessage(\n {\n action: 'open_checkout_link',\n checkoutURL: CTA_URL,\n },\n window.location.origin\n );\n }\n };\n\n return (\n
    \n handlePackageSelectClick(e, ctaUrl) })}\n variant={isEnabled ? 'solid' : 'ghost'}\n disabled={!isEnabled}\n stretched={!isEnabled}\n data-testid=\"PackageCta__Btn\"\n size={isSummaryPage ? 'md' : 'sm'}\n >\n {ctaLabel}\n \n
    \n );\n};\n\nexport default PackageCta;\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { MD_MEDIA_QUERY, BETWEEN_MD_LG_MEDIA_QUERY, LG_MEDIA_QUERY, XL_MEDIA_QUERY } from '~shared/media-query';\nimport { StyleProps } from '~pricing/components/PackageHeader/types';\nimport { StyleRules } from './types';\n\nexport default createMemoStyles(\n ({ spacing, type, pricingPalette }: PricingAppTheme) => ({\n Header: {\n padding: [spacing[5], spacing[6], spacing[4]],\n fontSize: 16,\n '& h2': {\n // Package header text\n fontWeight: type.fontWeight.medium,\n fontSize: ({ isSummaryPage }: StyleProps) => (isSummaryPage ? '1.5em' : '1.25em'),\n margin: [spacing[4], 0],\n\n [BETWEEN_MD_LG_MEDIA_QUERY]: {\n marginBottom: spacing[3],\n marginTop: '36px',\n },\n },\n '& h3': {\n margin: 0,\n fontSize: '1em',\n whiteSpace: 'normal',\n\n '& > span:first-of-type': {\n fontSize: '1.75em',\n },\n\n '& svg': {\n margin: [spacing[1], 0],\n fontSize: 24,\n },\n\n [MD_MEDIA_QUERY]: {\n minHeight: 40,\n },\n },\n\n '& *': {\n textAlign: 'left',\n },\n\n [MD_MEDIA_QUERY]: {\n minHeight: 320,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n alignItems: 'stretch',\n },\n\n [BETWEEN_MD_LG_MEDIA_QUERY]: {\n fontSize: 12,\n paddingLeft: spacing[3],\n paddingRight: spacing[3],\n },\n },\n\n ToggleContainer: {\n [MD_MEDIA_QUERY]: {\n height: 50,\n },\n\n [LG_MEDIA_QUERY]: {\n height: spacing[8],\n },\n },\n\n CTA: {\n margin: 0,\n minHeight: 40,\n },\n\n Byline: {\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'flex-start',\n margin: [spacing[4], 0],\n\n [MD_MEDIA_QUERY]: {\n minHeight: 70,\n },\n\n [LG_MEDIA_QUERY]: {\n minHeight: 120,\n },\n\n [XL_MEDIA_QUERY]: {\n minHeight: 84,\n },\n\n '& p': {\n fontSize: '1em',\n },\n\n '& > svg': {\n margin: [5, spacing[3], 0, 0],\n flex: '0 0 auto',\n\n [BETWEEN_MD_LG_MEDIA_QUERY]: {\n marginTop: 1,\n },\n },\n },\n\n Discount: {\n fontWeight: type.fontWeight.medium,\n padding: 0,\n margin: [spacing[2], 0, 0],\n\n '& button': {\n fontSize: '1em',\n padding: 0,\n border: 'none',\n minHeight: 'auto',\n display: 'inline-block',\n\n '& svg:last-child': {\n marginLeft: 0,\n fontSize: 'inherit',\n },\n\n '& span': {\n whiteSpace: 'nowrap',\n },\n\n '&:hover': {\n background: 'transparent',\n border: 'none',\n },\n },\n },\n\n SwitchForDiscount: {\n color: pricingPalette.colors.link,\n display: 'flex',\n alignItems: 'center',\n\n '& svg': {\n marginLeft: spacing[2],\n },\n },\n\n DiscountApplied: {\n color: pricingPalette.colors.sabaeus,\n },\n })\n);\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { pricingElevation } from '~app/styles/theme';\nimport { StyleProps } from '~pricing/components/Ribbon/types';\n\nexport default createMemoStyles(({ type, palette, packageTheme }: PricingAppTheme) => ({\n RibbonStyle: {\n fontSize: 10,\n position: 'absolute',\n height: 32,\n bottom: '100%',\n left: -2,\n right: -2,\n zIndex: pricingElevation.plusOne,\n display: 'flex',\n alignItems: 'center',\n borderTopLeftRadius: 4,\n borderTopRightRadius: 4,\n border: ({ packageName }: StyleProps) => `2px solid ${packageTheme[packageName].primary}`,\n borderBottom: 'none !important',\n backgroundColor: palette.background.primary.medium,\n '& p': {\n fontSize: type.fontSize.body,\n fontWeight: type.fontWeight.medium,\n textAlign: 'center',\n width: '100%',\n display: 'block',\n boxShadow: 'none',\n position: 'absolute',\n margin: 0,\n },\n },\n}));\n","import React from 'react';\nimport { RibbonType } from '~pricing/components/Ribbon/types';\n\nimport useRibbonStyles from './useStyles';\n\nexport const DATA_TESTID = 'Ribbon';\n\nexport default function Ribbon({ children, packageName }: Readonly): React.ReactElement {\n const { RibbonStyle } = useRibbonStyles({ packageName });\n return (\n \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { pricingElevation } from '~app/styles/theme';\nimport { BETWEEN_LG_XL_MEDIA_QUERY, BETWEEN_MD_LG_MEDIA_QUERY, LG_MEDIA_QUERY } from '~shared/media-query';\n\nexport default createMemoStyles(({ spacing, type, pricingPalette }: PricingAppTheme) => ({\n Shadow: {\n boxShadow: `0px 2px 8px 0px rgba(0, 0, 0, 0.16)`,\n },\n Switch: {\n fontSize: type.fontSize.body,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'stretch',\n margin: [0, 'auto'],\n lineHeight: 1.5,\n color: pricingPalette.colors.slate,\n backgroundColor: pricingPalette.colors.pebble,\n border: `1px solid ${pricingPalette.colors.flint}`,\n borderRadius: 50,\n minHeight: '36px',\n\n [LG_MEDIA_QUERY]: {\n marginBottom: 0,\n },\n\n '& input': {\n opacity: 0,\n width: 0,\n height: 0,\n position: 'absolute',\n },\n },\n Values: {\n minHeight: 28,\n width: '100%',\n borderRadius: 50,\n display: 'flex',\n alignSelf: 'stretch',\n position: 'relative',\n cursor: 'pointer',\n\n [BETWEEN_MD_LG_MEDIA_QUERY]: {\n fontSize: '.75em',\n },\n [BETWEEN_LG_XL_MEDIA_QUERY]: {\n fontSize: '.75em',\n },\n\n '& span': {\n textAlign: 'center',\n zIndex: pricingElevation.plusOne,\n transition: 'all ease-out .3s',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 50,\n maxWidth: '50%',\n flexBasis: '50%',\n boxSizing: 'border-box',\n },\n },\n\n NotSelected: {\n backgroundColor: 'transparent',\n fontWeight: type.fontWeight.light,\n color: pricingPalette.colors.charcoal,\n },\n Selected: {\n fontWeight: type.fontWeight.medium,\n backgroundColor: pricingPalette.colors.white,\n border: `1px solid ${pricingPalette.colors.charcoal}`,\n color: pricingPalette.colors.charcoal,\n height: '100%',\n },\n}));\n","import React, { useMemo } from 'react';\n\nimport { Box } from '@wds/box';\nimport { logAmplitudeEvent } from '~app/pages/Pricing/pages/shared';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport { Packages } from '~shared/constants/pricing';\n\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\nimport ACTIONS from '~shared/actions';\nimport { AMPLITUDE_PAGE_EVENTS } from '~shared/util';\nimport { CombinedActions } from '~shared/types/pricing/actions';\nimport { Grow2792ToggleProps } from '../../types';\nimport { PACKAGE_SWAP } from '../../constants';\n\nimport useStyles from './useStyles';\n\nconst allowedTogglePackages = [Packages.FormsAnnual, Packages.AdvantageAnnual, Packages.TeamAdvantage];\n\nexport default function ToggleSwitch({ packageName }: Readonly): JSX.Element {\n const { dispatch } = usePricingState();\n\n const { Switch, Values, Selected, NotSelected } = useStyles();\n const { pageName } = useTrackingDetails();\n\n function handleChange(): void {\n const packageSwap = {\n packageToBeReplaced: PACKAGE_SWAP[packageName as keyof typeof PACKAGE_SWAP].id,\n replacedWith: PACKAGE_SWAP[packageName as keyof typeof PACKAGE_SWAP].swap.id,\n };\n dispatch({ type: ACTIONS.SWITCH_PACKAGES, payload: packageSwap } as CombinedActions);\n\n if (packageName === Packages.TeamAdvantage) {\n dispatch({ type: ACTIONS.PNP_REFRESH_RESET_TOGGLE_SWITCH } as CombinedActions);\n }\n\n logAmplitudeEvent({\n eventName: 'pricing clicked toggle',\n pageName,\n amplitudeEvent: AMPLITUDE_PAGE_EVENTS.experimentEvent,\n otherData: {\n selectedPackage: PACKAGE_SWAP[packageName as keyof typeof PACKAGE_SWAP].swap.packageName,\n },\n });\n }\n\n const isChecked = useMemo(() => allowedTogglePackages?.includes(packageName as Packages), [packageName]);\n\n const monthlyPackages = [Packages.AdvantageMonthly, Packages.FormsMonthly];\n const annualPackages = [Packages.AdvantageAnnual, Packages.FormsAnnual, Packages.TeamAdvantage];\n\n const monthlySelected = monthlyPackages.includes(packageName as Packages) ? Selected : NotSelected;\n const annualSelected = annualPackages.includes(packageName as Packages) ? Selected : NotSelected;\n\n const id = `${packageName}-toggle`;\n\n return (\n <>\n \n \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\n\nexport default createMemoStyles(({ spacing, palette, type }: PricingAppTheme) => ({\n SelectUser: {\n margin: [0, 0, spacing[5]],\n textAlign: 'left',\n display: 'flex',\n flexWrap: 'wrap',\n columnGap: spacing[3],\n alignItems: 'center',\n minHeight: 40,\n\n '& > svg': {\n margin: 0,\n },\n\n '& > div': {\n flexGrow: 1,\n maxWidth: 160,\n },\n\n '& ul li div': {\n flexDirection: 'row-reverse',\n '&[disabled]': {\n opacity: 1,\n borderBottom: `1px solid ${palette.border.muted}`,\n },\n },\n },\n ValueWrapper: {\n paddingLeft: spacing[4],\n },\n Selected: {\n fontWeight: type.fontWeight.medium,\n },\n}));\n","import React, { useCallback, useMemo } from 'react';\nimport { Box } from '@wds/box';\nimport { IconUser } from '@wds/icons';\nimport { Typography } from '@wds/typography';\nimport { SelectMenu } from '@wds/select-menu';\n\nimport { SelectOptions } from './types';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport useStyles from './useStyles';\nimport { Packages } from '~shared/constants/pricing';\nimport ACTIONS from '~shared/actions';\nimport { CombinedActions } from '~shared/types/pricing/actions';\n\nimport { determinePackageSwap } from '../../helpers';\nimport { logAmplitudeEvent } from '~app/pages/Pricing/pages/shared';\nimport useTrackingDetails from '~app/pages/Pricing/hooks/useTrackingDetails';\nimport { AMPLITUDE_PAGE_EVENTS } from '~shared/util';\n\nexport default function UserSelector({ packageName }: Readonly<{ packageName: Packages }>): JSX.Element {\n const { SelectUser, ValueWrapper, Selected } = useStyles();\n const { pageName } = useTrackingDetails();\n\n const {\n state: {\n grow2792: { advantageUsers, premierUsers },\n },\n dispatch,\n } = usePricingState();\n\n const isAdvantagePackage = [Packages.AdvantageAnnual, Packages.TeamAdvantage].includes(packageName);\n const isPremierPackage = [Packages.PremierAnnual, Packages.TeamPremier].includes(packageName);\n const isEnterprise = packageName === Packages.Enterprise;\n\n const getUserText = (num: string | number): string => {\n return Number(num) > 1 ? 'users' : 'user';\n };\n\n const selectedUserInfo = useMemo(() => {\n if (isAdvantagePackage) {\n return {\n text: '',\n count: advantageUsers,\n };\n }\n\n if (isPremierPackage) {\n return {\n text: '',\n count: premierUsers,\n };\n }\n\n if (isEnterprise) {\n return { text: `5+ ${getUserText(5)}` };\n }\n\n return { text: `Single user`, count: 1 };\n }, [advantageUsers, isAdvantagePackage, isEnterprise, isPremierPackage, premierUsers]);\n\n const MAX_OPTIONS: SelectOptions[] = Array(23)\n .fill(3)\n .map((start: number, end: number): SelectOptions => {\n const opt = (start + end).toString();\n return {\n value: opt,\n text: `${opt} users`,\n };\n });\n\n const OPTIONS: SelectOptions[] = [\n {\n value: '1',\n text: 'Single user',\n },\n {\n value: '',\n text: 'Team plan (3 users minimum)',\n },\n ...MAX_OPTIONS,\n ];\n\n const handleUserChange = useCallback(\n (e): void => {\n const numberOfUsers = e.currentTarget.dataset.value;\n\n if (\n (isAdvantagePackage && numberOfUsers !== advantageUsers) ||\n (isPremierPackage && numberOfUsers !== premierUsers)\n ) {\n determinePackageSwap(numberOfUsers, isAdvantagePackage, isPremierPackage, dispatch);\n\n dispatch({\n type: ACTIONS.PNP_REFRESH_CHANGE_USERS,\n payload: { users: numberOfUsers, packageType: isAdvantagePackage ? 'advantageUsers' : 'premierUsers' },\n } as CombinedActions);\n }\n\n logAmplitudeEvent({\n eventName: 'pricing changed user selection option',\n pageName,\n amplitudeEvent: AMPLITUDE_PAGE_EVENTS.experimentEvent,\n otherData: {\n packageName,\n numberOfUsers,\n },\n });\n },\n\n [advantageUsers, dispatch, isAdvantagePackage, isPremierPackage, packageName, pageName, premierUsers]\n );\n\n const handleUserClick = useCallback((): void => {\n logAmplitudeEvent({\n eventName: 'pricing clicked user selection menu',\n pageName,\n amplitudeEvent: AMPLITUDE_PAGE_EVENTS.experimentEvent,\n otherData: {\n packageName,\n },\n });\n }, [packageName, pageName]);\n\n return (\n \n \n {(isAdvantagePackage || isPremierPackage) && (\n \n \n {OPTIONS.map(({ value, text }) => (\n \n
    \n {text}\n
    \n
    \n ))}\n \n
    \n )}\n \n {selectedUserInfo.text}\n \n
    \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { StyleProps } from '~pricing/components/PackageHeader/types';\nimport { StyleRules } from './types';\n\nexport default createMemoStyles(\n ({ spacing, type, pricingPalette }: PricingAppTheme) => ({\n Discount: {\n fontWeight: type.fontWeight.medium,\n padding: 0,\n margin: [spacing[2], 0, 0],\n\n '& button': {\n fontSize: '1em',\n padding: 0,\n border: 'none',\n minHeight: 'auto',\n display: 'inline-block',\n\n '& svg:last-child': {\n marginLeft: 0,\n fontSize: 'inherit',\n },\n\n '& span': {\n whiteSpace: 'nowrap',\n },\n\n '&:hover': {\n background: 'transparent',\n border: 'none',\n },\n },\n },\n\n SwitchForDiscount: {\n color: pricingPalette.colors.link,\n display: 'flex',\n alignItems: 'center',\n\n '& svg': {\n marginLeft: spacing[2],\n },\n },\n\n DiscountApplied: {\n color: pricingPalette.colors.sabaeus,\n },\n })\n);\n","import React, { useCallback, useMemo } from 'react';\nimport { t } from '@sm/intl';\nimport { Box } from '@wds/box';\nimport { Button } from '@wds/button';\nimport { IconChevronRight } from '@wds/icons';\n\nimport { COMPARISON_PACKAGES } from '~app/pages/Pricing/lib/constants';\nimport { Packages } from '~shared/constants/pricing';\nimport { PackageData } from '~shared/types/pricing/package';\nimport { PACKAGE_SWAP } from '../../constants';\n\nimport useDiscountStyles from './useStyles';\n\nimport { getCoreCostFromSkus, getPackageType } from '~app/pages/Pricing/lib/lib-helpers';\n\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport { switchAndSave } from '../../helpers';\nimport useTrackingDetails from '~app/pages/Pricing/hooks/useTrackingDetails';\nimport { PackageHeaderProps } from '~app/pages/Pricing/components/Summary/types';\nimport COPY from '../../copy/experimentPackageCopy';\nimport ACTIONS from '~shared/actions';\nimport { CombinedActions } from '~shared/types/pricing/actions';\nimport { TranslationsPlaceHolderType } from '~app/pages/Pricing/types';\nimport { logAmplitudeEvent } from '~app/pages/Pricing/pages/shared';\nimport { AMPLITUDE_PAGE_EVENTS } from '~shared/util';\n\nconst EXP_COMPARISON_PACKAGES = {\n ...COMPARISON_PACKAGES,\n [Packages.AdvantageAnnual]: Packages.TeamAdvantage,\n [Packages.PremierAnnual]: Packages.TeamPremier,\n};\n\nconst TEAMS_NUM_USERS = '3';\n\nexport default function DiscountByline({ packageName, skuCosts }: Readonly): JSX.Element {\n const { Discount, DiscountApplied, SwitchForDiscount } = useDiscountStyles();\n const { pageName } = useTrackingDetails();\n\n const comparisonPackageName = EXP_COMPARISON_PACKAGES[packageName];\n\n const {\n state: {\n packages: { allPackages },\n grow2792: { advantageUsers, premierUsers },\n },\n dispatch,\n } = usePricingState();\n\n const { isAdvantagePackage, isPremierPackage } = getPackageType(packageName);\n\n const coreSeatCost = useMemo(() => getCoreCostFromSkus(skuCosts), [skuCosts]);\n\n const comparisonPackage = useMemo(\n () =>\n comparisonPackageName\n ? allPackages?.find((packageObj: PackageData) => packageObj.packageName === comparisonPackageName)\n : null,\n [comparisonPackageName, allPackages]\n );\n\n const comparisonSeatCost = useMemo(\n () => (comparisonPackage ? getCoreCostFromSkus(comparisonPackage?.skuCost) : null),\n [comparisonPackage]\n );\n\n const savingsPercentage = useMemo(() => {\n let annualPackage = null;\n let monthlyPackage = null;\n\n switch (packageName) {\n case Packages.FormsAnnual:\n case Packages.FormsMonthly:\n annualPackage = allPackages.find(pkg => pkg.packageName === Packages.FormsAnnual);\n monthlyPackage = allPackages.find(pkg => pkg.packageName === Packages.FormsMonthly);\n break;\n\n case Packages.TeamAdvantage:\n case Packages.AdvantageAnnual:\n case Packages.AdvantageMonthly:\n annualPackage = allPackages.find(pkg => pkg.packageName === Packages.AdvantageAnnual);\n monthlyPackage = allPackages.find(pkg => pkg.packageName === Packages.AdvantageMonthly);\n break;\n }\n\n let percentage = 0;\n\n if (annualPackage && monthlyPackage) {\n const annualSkuCost = getCoreCostFromSkus(annualPackage.skuCost);\n const monthlySkuCost = getCoreCostFromSkus(monthlyPackage.skuCost);\n\n if (annualSkuCost && monthlySkuCost) {\n percentage = (annualSkuCost.cost / (monthlySkuCost.cost * 12)) * 100 - 100;\n }\n }\n\n return Math.floor(-percentage);\n }, [allPackages, packageName]);\n\n const seatSavingsPercentage = useMemo(() => {\n let percentage = 0;\n\n if (comparisonPackage && coreSeatCost && comparisonSeatCost) {\n const costDifference = Math.abs(comparisonSeatCost?.cost - coreSeatCost?.cost);\n const equation =\n packageName === Packages.TeamAdvantage || packageName === Packages.TeamPremier\n ? costDifference / comparisonSeatCost?.cost\n : costDifference / coreSeatCost?.cost;\n percentage = Math.floor(equation * 100);\n }\n\n return percentage;\n }, [comparisonPackage, comparisonSeatCost, coreSeatCost, packageName]);\n\n const handleClick = useCallback(() => {\n if ([Packages.AdvantageAnnual, Packages.PremierAnnual].includes(packageName)) {\n switchAndSave({ numberOfUsers: TEAMS_NUM_USERS, isAdvantagePackage, isPremierPackage, pageName, dispatch });\n }\n\n if ([Packages.FormsMonthly, Packages.AdvantageMonthly].includes(packageName)) {\n const packageSwap = {\n packageToBeReplaced: PACKAGE_SWAP[packageName as keyof typeof PACKAGE_SWAP].id,\n replacedWith: PACKAGE_SWAP[packageName as keyof typeof PACKAGE_SWAP].swap.id,\n };\n dispatch({ type: ACTIONS.SWITCH_PACKAGES, payload: packageSwap } as CombinedActions);\n\n logAmplitudeEvent({\n eventName: 'pricing clicked Save with annual plan button',\n pageName,\n amplitudeEvent: AMPLITUDE_PAGE_EVENTS.experimentEvent,\n otherData: {\n packageName,\n },\n });\n }\n }, [dispatch, isAdvantagePackage, isPremierPackage, packageName, pageName]);\n\n const getSavings = (): JSX.Element => {\n if ((isAdvantagePackage && advantageUsers > 1) || (isPremierPackage && premierUsers > 1)) {\n return

    {seatSavingsPercentage}% multi-user discount applied

    ;\n }\n\n const Arrow = ;\n\n let btnCopy = t(COPY.SAVE_MORE_WITH_TEAMS, {\n percentage: seatSavingsPercentage,\n group: ({ children }: TranslationsPlaceHolderType) => (\n \n {children} {Arrow}\n \n ),\n });\n\n if ([Packages.FormsMonthly, Packages.AdvantageMonthly].includes(packageName)) {\n btnCopy = t(COPY.SAVE_WITH_ANNUAL, {\n percentage: savingsPercentage,\n group: ({ children }: TranslationsPlaceHolderType) => (\n \n {children} {Arrow}\n \n ),\n });\n }\n\n return (\n \n \n \n );\n };\n\n return getSavings();\n}\n","import React, { useContext, useEffect, useMemo } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { t } from '@sm/intl';\nimport { Typography } from '@wds/typography';\nimport { Box } from '@wds/box';\nimport { IconCalendar, IconGovBuilding } from '@wds/icons';\n\nimport { MONTHLY_PACKAGES } from '~app/pages/Pricing/lib/constants';\nimport { Packages, PackageDisplayNames } from '~shared/constants/pricing';\nimport { PACKAGE_PRICE_TYPE, PackageType, DisplayString } from '~shared/types/pricing/package';\n\nimport usePackageHeaderStyles from './useStyles';\nimport PackageDefs from '~pricing/lib/packages/packageDefs';\nimport PackageCta from '../PackageCta';\nimport PackagePrice from '~pricing/components/PackagePrice';\nimport PackageByline from '~pricing/components/PackageHeader/PackageByline';\nimport Ribbon from '../Ribbon';\nimport ToggleSwitch from '../ToggleSwitch';\nimport UserSelector from '../UserSelector';\nimport DiscountByline from '../DiscountByline';\n\nimport {\n formatMonthlyCostInLocaleCurrency,\n formatCostInLocaleCurrency,\n getCoreCostFromSkus,\n formatCostInSkuCurrency,\n getPackageType,\n} from '~app/pages/Pricing/lib/lib-helpers';\n\nimport usePriceDisplay from '~pricing/hooks/usePriceDisplay';\nimport useExperimentAssignment from '~pricing/hooks/useExperimentAssignment';\n\nimport PRICING_COPY from '~pricing/hooks/usePriceDisplay/copy';\nimport EXPERIMENT_PACKAGE_COPY from '../../copy/experimentPackageCopy';\nimport {\n TogglePackages,\n PackageDisplayNames as Grow2792PackageDisplayNames,\n PackageDefs as Grow2792PackageDefs,\n} from '../../constants';\nimport EduContext from '~shared/hooks/eduContext';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport { switchAndSave } from '../../helpers';\nimport ACTIONS from '~shared/actions';\nimport { CombinedActions } from '~shared/types/pricing/actions';\nimport { NavRouteParams } from '~app/pages/Pricing/components/Navigation/types';\nimport { usePricingExperiments } from '~shared/hooks/usePricingExperiments';\nimport useTrackingDetails from '~app/pages/Pricing/hooks/useTrackingDetails';\nimport { PackageHeaderProps } from '~app/pages/Pricing/components/Summary/types';\n\nconst PACKAGE_SAVINGS = [\n Packages.FormsMonthly,\n Packages.AdvantageMonthly,\n Packages.AdvantageAnnual,\n Packages.TeamAdvantage,\n Packages.PremierAnnual,\n Packages.TeamPremier,\n];\n\nconst TEAMS_NUM_USERS = '3';\n\nconst expPackageDisplayNames = { ...PackageDisplayNames, ...Grow2792PackageDisplayNames };\nconst expPackageDefs = { ...PackageDefs, ...Grow2792PackageDefs };\n\nexport default function PackageHeader({\n packageName,\n comparisonSkuCosts,\n skuCosts,\n isSummaryPage = false,\n discountInfo,\n}: Readonly): JSX.Element {\n const { Header, Byline, CTA, ToggleContainer } = usePackageHeaderStyles({\n isSummaryPage,\n });\n const { pageName } = useTrackingDetails();\n const { priceExperiment } = usePricingExperiments();\n const { canonicalPath } = useParams();\n const isMonthlyPackage = useMemo(() => MONTHLY_PACKAGES.includes(packageName), [packageName]);\n\n const { headerCost, headerDiscountedCost, headerByline, headerUnit } = usePriceDisplay(\n packageName,\n skuCosts,\n discountInfo\n );\n\n const {\n state: {\n grow2792: { advantageUsers, premierUsers, initialLoad },\n },\n dispatch,\n } = usePricingState();\n\n const { noFormsAtAll, noFormsMonthly } = useExperimentAssignment();\n\n const { isAdvantagePackage, isPremierPackage } = getPackageType(packageName);\n\n const coreSeatCost = useMemo(() => getCoreCostFromSkus(skuCosts), [skuCosts]);\n\n const annualFormattedCost = useMemo(() => {\n const userMultiplier = (): number => {\n if (isAdvantagePackage) {\n return advantageUsers;\n }\n\n if (isPremierPackage) {\n return premierUsers;\n }\n\n return 1;\n };\n\n if (coreSeatCost) {\n return isMonthlyPackage\n ? formatCostInSkuCurrency(((coreSeatCost.cost * userMultiplier()) / 100) * 12, coreSeatCost)\n : formatCostInSkuCurrency((coreSeatCost.cost * userMultiplier()) / 100, coreSeatCost);\n }\n\n return '';\n }, [advantageUsers, coreSeatCost, isAdvantagePackage, isMonthlyPackage, isPremierPackage, premierUsers]);\n\n const comparisonCoreSeatCost = useMemo(\n () => comparisonSkuCosts && getCoreCostFromSkus(comparisonSkuCosts),\n [comparisonSkuCosts]\n );\n\n const comparisonFormattedPrice = useMemo(\n () => comparisonCoreSeatCost && formatCostInLocaleCurrency(comparisonCoreSeatCost),\n [comparisonCoreSeatCost]\n ) as string;\n\n const comparisonFormattedMonthlyPrice = useMemo(\n () => comparisonCoreSeatCost && formatMonthlyCostInLocaleCurrency(comparisonCoreSeatCost),\n [comparisonCoreSeatCost]\n ) as string;\n\n const shouldDefaultToThreeSeats =\n initialLoad && (canonicalPath === PackageType.Teams || noFormsAtAll || noFormsMonthly);\n\n useEffect(() => {\n if (shouldDefaultToThreeSeats) {\n if (packageName === Packages.AdvantageAnnual || packageName === Packages.PremierAnnual) {\n setTimeout(() => {\n dispatch({\n type: ACTIONS.PNP_REFRESH_INITIAL_LOAD,\n payload: { loadedState: false },\n } as CombinedActions);\n\n switchAndSave({ numberOfUsers: TEAMS_NUM_USERS, isAdvantagePackage, isPremierPackage, pageName, dispatch });\n }, 0);\n }\n }\n }, [dispatch, isAdvantagePackage, isPremierPackage, packageName, pageName, shouldDefaultToThreeSeats]);\n\n const getRibbon = useMemo(() => {\n const copy = t(canonicalPath === 'ippm' ? EXPERIMENT_PACKAGE_COPY.RECOMMENDED : EXPERIMENT_PACKAGE_COPY.BEST_VALUE);\n const ribbonText = expPackageDefs[packageName]?.highlighted ? copy : null;\n\n if (ribbonText && isAdvantagePackage) {\n return {ribbonText};\n }\n\n return null;\n }, [canonicalPath, isAdvantagePackage, packageName]);\n\n const { isEdu } = useContext(EduContext);\n\n const getBylineText = (): DisplayString => {\n let bylineText = headerByline;\n\n if (packageName === Packages.TeamAdvantage || packageName === Packages.TeamPremier) {\n bylineText = t(PRICING_COPY.BILLED_ANNUALLY, { price: annualFormattedCost });\n }\n\n if (!isSummaryPage && packageName === Packages.Enterprise) {\n bylineText = EXPERIMENT_PACKAGE_COPY.ENTERPRISE_CONTACT_SALES.defaultMessage;\n }\n\n if (noFormsAtAll && packageName === Packages.Basic) {\n bylineText = EXPERIMENT_PACKAGE_COPY.BASIC_ALWAYS_FREE_BYLINE.defaultMessage;\n }\n\n return bylineText;\n };\n\n return (\n <>\n {getRibbon}\n\n
    \n \n {!isEdu &&\n priceExperiment.hasAssignment &&\n TogglePackages[priceExperiment.treatmentName].includes(packageName) && (\n \n )}\n \n \n {noFormsAtAll && [Packages.Basic].includes(packageName)\n ? t(EXPERIMENT_PACKAGE_COPY.BASIC_FREE)\n : t(expPackageDisplayNames[packageName])}\n \n {packageName !== Packages.Enterprise && (\n \n )}\n {![Packages.Enterprise, Packages.Basic].includes(packageName) && headerDiscountedCost && (\n \n )}\n {comparisonFormattedPrice && !headerDiscountedCost && (\n \n )}\n\n {packageName === Packages.Enterprise && (\n

    \n \n

    \n )}\n\n \n {![Packages.Enterprise, Packages.Basic].includes(packageName) && (\n \n )}\n \n \n {PACKAGE_SAVINGS.includes(packageName) && }\n \n \n\n \n\n \n
    \n \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { BETWEEN_MD_LG_MEDIA_QUERY, MD_MEDIA_QUERY } from '~shared/media-query';\nimport { PricingAppTheme, PackageTheme } from '~app/styles/pricing/types';\nimport { Packages } from '~shared/constants/pricing';\n\ntype Props = {\n packageName: Packages;\n};\n\ntype RuleNames = 'PackageFooterCTA' | 'PricingPackageContainer' | 'PricingPackage' | 'Highlighted' | 'PlanFeaturesLink';\n\nexport const HIGHLIGHT = (defaultColor: string, packageTheme: PackageTheme): object => ({\n border: ({ packageName }: Props) =>\n `2px solid ${packageTheme[packageName] ? packageTheme[packageName].primary : defaultColor}`,\n});\n\nexport default createMemoStyles(\n ({ spacing, pricingPalette, packageTheme }: PricingAppTheme) => ({\n PricingPackageContainer: {\n marginBottom: spacing[4],\n width: '100%',\n maxWidth: 345,\n\n [MD_MEDIA_QUERY]: {\n display: 'flex',\n flexDirection: 'column',\n\n '&:last-of-type $PricingPackage': {\n borderRight: `1px solid ${pricingPalette.colors.flint}`,\n },\n\n '&:has(> $Highlighted) + $PricingPackageContainer $PricingPackage': {\n borderLeft: 'none',\n },\n },\n },\n\n PricingPackage: {\n position: 'relative',\n padding: [0, 0, spacing[5]],\n border: `1px solid ${pricingPalette.colors.flint}`,\n marginBottom: spacing[6],\n\n '& + div': {\n display: 'none',\n },\n\n [MD_MEDIA_QUERY]: {\n height: '100%',\n transition: 'border-color 0.5s ease',\n borderRight: 'none',\n\n '& + div': {\n display: 'inherit',\n },\n },\n\n [BETWEEN_MD_LG_MEDIA_QUERY]: {\n '& [class*=FeatureItem]': {\n paddingLeft: spacing[3],\n paddingRight: spacing[5],\n },\n },\n },\n\n Highlighted: {\n marginTop: 28,\n ...HIGHLIGHT(pricingPalette.colors.flint, packageTheme),\n\n '& header': {\n paddingTop: spacing[5] - 1,\n },\n\n [MD_MEDIA_QUERY]: {\n marginTop: 0,\n },\n },\n\n PlanFeaturesLink: {\n fontSize: 13,\n margin: [spacing[4], spacing[5], 0],\n textAlign: 'center',\n\n [MD_MEDIA_QUERY]: {\n position: 'absolute',\n bottom: spacing[4],\n textAlign: 'left',\n },\n },\n\n PackageFooterCTA: {\n padding: [0, spacing[4]],\n },\n })\n);\n","import React from 'react';\nimport { t } from '@sm/intl';\n\nimport { Link } from 'react-router-dom';\nimport { Box } from '@wds/box';\nimport { PackageProps } from '~shared/types/pricing/package';\n\nimport PackageCta from '../PackageCta';\nimport PackageHeader from '../PackageHeader';\nimport usePackageStyles from './useStyles';\nimport FeatureSet from '~pricing/components/FeatureSet';\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\nimport useSummaryDisplayFeatures from '~pricing/hooks/useSummaryDisplayFeatures';\nimport PackageDefs from '~pricing/lib/packages/packageDefs';\nimport { PackageDefs as Grow2792PackageDefs } from '../../constants';\n\nimport COPY from '~pricing/copy';\nimport { ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\n\nconst expPackageDefs = { ...PackageDefs, ...Grow2792PackageDefs };\n\nexport default function Package({\n skuCost,\n packageName,\n features,\n comparePlans,\n isLastPackage,\n discountInfo,\n}: Readonly): React.ReactElement | null {\n const displayFeatures = useSummaryDisplayFeatures(features, packageName);\n\n const { PricingPackageContainer, PricingPackage, Highlighted, PlanFeaturesLink } = usePackageStyles({\n packageName,\n });\n const { pageUtSource } = useTrackingDetails();\n\n if (!displayFeatures) {\n return null;\n }\n\n return (\n \n \n \n \n {!comparePlans && (\n \n {t(COPY.PLAN_FEATURES)}\n \n )}\n \n \n \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\n\nexport default createMemoStyles(({ spacing, type, pricingPalette }: PricingAppTheme) => ({\n SocialProofContainer: {\n display: 'none',\n [MD_MEDIA_QUERY]: {\n display: 'flex',\n flexWrap: 'nowrap',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n fontSize: type.fontSize.bodySm,\n margin: [spacing[4], spacing[3], 0],\n paddingBottom: spacing[2],\n fontWeight: type.fontWeight.medium,\n color: pricingPalette.colors.slate,\n },\n },\n\n Logos: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: spacing[3],\n\n '& svg': {\n padding: [0, 10],\n },\n },\n\n TrustedBy: {\n flex: '0 1 auto',\n textAlign: 'center',\n fontSize: type.fontSize.body,\n },\n}));\n","import React from 'react';\nimport { Box } from '@wds/box';\n\nexport default function UberLogo(): JSX.Element {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\nimport { Box } from '@wds/box';\n\nexport default function AdidasLogo(): JSX.Element {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\nimport { Box } from '@wds/box';\n\nexport default function ClickUpLogo(): JSX.Element {\n return (\n \n \n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\nimport { Box } from '@wds/box';\n\nexport default function HarvardLogo(): JSX.Element {\n return (\n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\nimport { Box } from '@wds/box';\n\nexport default function KellogsLogo(): JSX.Element {\n return (\n \n \n \n \n \n \n \n \n );\n}\n","const COPY = {\n SOCIAL_PROOF: {\n id: 'Pricing.copy.SocialProofDesc',\n defaultMessage: 'Trusted by 300K+ organizations worldwide, including 95% of the Fortune 500',\n desc: {\n id: 'Pricing.copy.SocialProofDesc',\n message: '[Type: String][Vis.: low] - A string in pricing experiment GROW-2792 of companies who use SurveyMonkey',\n project: 'GROW-2792',\n },\n },\n};\n\nexport default COPY;\n","import React from 'react';\nimport { t } from '@sm/intl';\nimport { Box } from '@wds/box';\nimport useStyles from './useStyles';\nimport UberLogo from './assets/Uber';\nimport AdidasLogo from './assets/Adidas';\nimport ClickUpLogo from './assets/ClickUp';\nimport HarvardLogo from './assets/Harvard';\nimport KelloggsLogo from './assets/Kelloggs';\nimport COPY from './copy';\n\nexport default function SocialProof(): JSX.Element {\n const { Logos, SocialProofContainer, TrustedBy } = useStyles();\n\n return (\n \n
    {t(COPY.SOCIAL_PROOF)}
    \n \n \n \n \n \n \n \n
    \n );\n}\n","import { createMemoStyles } from '@wds/styles';\n\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\n\nexport default createMemoStyles(({ spacing }: PricingAppTheme) => ({\n Summary: {\n margin: [spacing[8], 'auto', 0],\n },\n PackagesContainer: {\n display: 'grid',\n padding: [0, spacing[3]],\n maxWidth: 350,\n margin: [0, 'auto'],\n\n [MD_MEDIA_QUERY]: {\n display: 'flex',\n justifyContent: 'center',\n maxWidth: '100%',\n },\n },\n}));\n","const PNP_REFRESH_V1 = 'GROW-2792';\nconst TYPE_DESCRIPTION = '[Type: String][Vis.: high] - ';\nconst EXPERIMENT_DESCRIPTION = ' - A string in pricing experiment GROW-2792';\nconst CATEGORY = 'Heading';\n\nconst HEADING_COPY = {\n CHOOSE_PLAN: {\n id: 'Pricing.experimentHeadingCopy.ChooseThePlan',\n defaultMessage: 'Choose the plan that works for you',\n desc: {\n id: 'Pricing.experimentHeadingCopy.ChooseThePlan',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n};\n\nexport default HEADING_COPY;\n","import React from 'react';\n\nimport { Box } from '@wds/box';\nimport { t } from '@sm/intl';\nimport Package from '../components/Package';\nimport SocialProof from '../components/SocialProof';\nimport MainHeading from '~pricing/components/MainHeading';\nimport SummaryFooter from '~pricing/components/PricingFooter';\nimport { Packages } from '~shared/constants/pricing';\nimport useSummaryStyles from './useStyles';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport { PricingPackage } from '~shared/types/pricing/pricingsvc';\nimport { usePricingExperiments } from '~shared/hooks/usePricingExperiments';\nimport { EXPERIMENT_IDENTIFIERS } from '~server/routes/Pricing/experimentsConfig';\nimport HEADING_COPY from '../copy/experimentHeadingCopy';\n\nexport default function PricingSummaryPage(): JSX.Element {\n const { PackagesContainer, Summary } = useSummaryStyles();\n const {\n state: {\n packages: { comparePlans, discountInfo, displayPackages, allPackages },\n },\n } = usePricingState();\n\n const { priceExperiment } = usePricingExperiments();\n\n const filteredPackages =\n priceExperiment.hasAssignment && priceExperiment.treatmentName === EXPERIMENT_IDENTIFIERS.GROW_2792.treatment3\n ? displayPackages\n : displayPackages?.filter(pkg => pkg?.packageName !== Packages.Basic);\n\n function getPackage(pricingPackage: PricingPackage, index: number): JSX.Element {\n const props = {\n ...pricingPackage,\n comparisonSkuCost: pricingPackage.comparisonSkuCost || [],\n comparePlans,\n discountInfo,\n key: `package-${pricingPackage.packageName}`,\n isLastPackage: index + 1 === filteredPackages.length,\n };\n\n return ;\n }\n\n return (\n
    \n
    \n {t(HEADING_COPY.CHOOSE_PLAN)}\n \n
    \n \n \n {filteredPackages.length &&\n filteredPackages?.map(\n (pricingPackage, index: number) => pricingPackage && getPackage(pricingPackage, index)\n )}\n \n \n \n
    \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\n\nexport default createMemoStyles(({ spacing }: PricingAppTheme) => ({\n Back: {\n margin: '0 auto',\n padding: [spacing[6], spacing[6], 0],\n '& a': {\n fontSize: 14,\n display: 'inline-flex',\n alignItems: 'center',\n '& svg': {\n marginRight: 3,\n },\n },\n },\n}));\n","import React from 'react';\nimport { t } from '@sm/intl';\nimport { Link } from 'react-router-dom';\nimport { Box } from '@wds/box';\nimport { IconArrowLeft } from '@wds/icons';\n\nimport COPY from '~app/pages/Pricing/copy';\n\nimport useStyles from './useStyles';\n\nexport default function BackToSummary({ url }: { url: string }): JSX.Element {\n const { Back } = useStyles();\n const text = t(COPY.BACK_TO_SUMMARY);\n\n return (\n \n \n {text}\n \n \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { HIGHLIGHT } from '~pricing/components/Summary/useStyles';\nimport { Packages } from '~shared/constants/pricing';\n\nimport {\n BETWEEN_LG_XL_MEDIA_QUERY,\n BETWEEN_MD_LG_MEDIA_QUERY,\n LG_MEDIA_QUERY,\n MD_MEDIA_QUERY,\n XL_MEDIA_QUERY,\n} from '~shared/media-query';\n\ntype Props = {\n packageName: Packages;\n};\ntype Rules = 'Highlighted' | 'Package';\n\nexport default createMemoStyles(\n ({ spacing, pricingPalette, packageTheme }: PricingAppTheme) => ({\n Package: {\n position: 'relative',\n border: `1px solid ${pricingPalette.colors.pebble}`,\n [MD_MEDIA_QUERY]: {\n '&:not(:last-of-type):not($Highlighted)': {\n borderRight: 'none',\n },\n },\n '& aside': {\n '&:before, &:after': {\n display: 'none',\n },\n\n '& p': {\n fontSize: 13,\n },\n\n [MD_MEDIA_QUERY]: {\n position: 'absolute',\n },\n },\n '& header': {\n '& h2, & h3': {\n textAlign: 'center',\n },\n\n '& [class*=CTA], & [class*=noCTA]': {\n minHeight: 'auto',\n },\n\n [MD_MEDIA_QUERY]: {\n fontSize: 12,\n padding: [spacing[4], spacing[3]],\n\n '& [class*=ToggleContainer]': {\n height: 50,\n },\n\n '& h3': {\n '& span:last-of-type *': {\n fontSize: '1em',\n },\n },\n },\n\n [BETWEEN_MD_LG_MEDIA_QUERY]: {\n '& [class*=Values]': {\n minHeight: 24,\n fontSize: '.5em',\n '& span': {\n padding: [0, '3%'],\n },\n },\n\n '& h3': {\n minHeight: 50,\n },\n },\n\n [BETWEEN_LG_XL_MEDIA_QUERY]: {\n paddingLeft: spacing[3],\n paddingRight: spacing[3],\n\n '& [class*=Values]': {\n fontSize: '.7em',\n },\n },\n\n [XL_MEDIA_QUERY]: {\n fontSize: 16,\n minHeight: 300,\n maxHeight: 300,\n\n '& [class*=Values], & h3 span:last-of-type *, & [class*=Byline] p, & [class*=Byline] h4, & button': {\n fontSize: '.875em',\n },\n\n '& h3, & [class*=Byline]': {\n minHeight: 'unset',\n },\n\n '& h2': {\n fontSize: '1em',\n marginBottom: spacing[3],\n },\n\n '& h3 > span:first-of-type': {\n fontSize: '1.25em',\n },\n },\n\n '& [class*=Byline]': {\n justifyContent: 'center',\n '& *': {\n textAlign: 'center',\n },\n\n '& svg:first-child': {\n display: 'none',\n },\n\n '& button svg:first-child': {\n display: 'inline-block',\n },\n\n [MD_MEDIA_QUERY]: {\n minHeight: 90,\n },\n\n [LG_MEDIA_QUERY]: {\n minHeight: 70,\n },\n\n [XL_MEDIA_QUERY]: {\n minHeight: 50,\n },\n },\n\n '& [class*=SelectUser]': {\n justifyContent: 'center',\n\n [MD_MEDIA_QUERY]: {\n minHeight: 60,\n columnGap: 0,\n\n '& > svg': {\n display: 'none',\n },\n },\n\n [XL_MEDIA_QUERY]: {\n marginBottom: 0,\n },\n },\n },\n },\n Highlighted: {\n ...HIGHLIGHT(pricingPalette.colors.flint, packageTheme, '2px'),\n marginTop: 46,\n [MD_MEDIA_QUERY]: {\n marginTop: 0,\n '& header': {\n paddingTop: spacing[4] - 2,\n },\n },\n },\n })\n);\n","import React from 'react';\n\nimport PackageDefs from '~app/pages/Pricing/lib/packages/packageDefs';\nimport { PackageDefs as Grow2792PackageDefs } from '../../constants';\nimport PackageHeader from '~pricing/experiments/grow_2792_pnp_refresh_v1/components/PackageHeader';\nimport { PackageHeaderProps } from '~pricing/components/Summary/types';\n\nimport useDetailsPackageHeaderStyles from './useStyles';\n\ntype DetailsHeader = {\n index: string;\n};\n\ntype DetailsPackageHeaderProps = PackageHeaderProps & DetailsHeader;\n\nconst expPackageDefs = { ...PackageDefs, ...Grow2792PackageDefs };\n\nexport default function DetailsPackageHeader({\n comparisonSkuCosts,\n discountInfo,\n skuCosts,\n packageName,\n index,\n}: DetailsPackageHeaderProps): JSX.Element {\n const { Highlighted, Package } = useDetailsPackageHeaderStyles({ packageName });\n\n return (\n \n \n \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\n\nimport { MD_MEDIA_QUERY, SM_MOBILE_MEDIA_QUERY } from '~shared/media-query';\nimport { StyleProps } from './types';\nimport { getTemplate } from '~pricing/components/DetailsPackagesView/useStyles';\n\nexport default createMemoStyles(({ spacing, palette, elevation, pricingPalette, packageTheme }: PricingAppTheme) => ({\n AccordionControl: {\n marginBottom: spacing[4],\n '& [role=button]': {\n backgroundColor: palette.background.main,\n '& span:first-child': {\n paddingLeft: spacing[3],\n '& strong': {\n fontSize: 13,\n [MD_MEDIA_QUERY]: {\n fontSize: 16,\n },\n },\n },\n },\n '& ul li > div > div': {\n padding: 0,\n },\n },\n Cell: {\n border: `1px solid ${pricingPalette.colors.pebble}`,\n borderTop: 'none',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: `0 ${spacing[1]}px`,\n textAlign: 'center',\n [MD_MEDIA_QUERY]: {\n '&:not(:last-child)': {\n borderRight: 'none',\n },\n },\n },\n DetailRow: {\n ...getTemplate(),\n fontSize: 13,\n color: pricingPalette.colors.charcoal,\n },\n HighlightFeature: {\n backgroundColor: palette.background.primary.light,\n },\n Feature: {\n padding: spacing[4],\n borderLeft: `1px solid ${pricingPalette.colors.pebble}`,\n borderBottom: `1px solid ${pricingPalette.colors.pebble}`,\n position: 'relative',\n display: 'flex',\n justifyContent: 'space-between',\n [MD_MEDIA_QUERY]: {\n borderLeft: 'none',\n },\n },\n Bullet: {\n borderRadius: '100%',\n backgroundColor: ({ packageName }: StyleProps) => (packageName ? packageTheme[packageName].primary : 'none'),\n width: 10,\n height: 10,\n display: 'block',\n },\n ExpandCollapseContainer: {\n [MD_MEDIA_QUERY]: {\n left: 0,\n position: 'sticky',\n zIndex: elevation.sky - 1,\n margin: [-30, 0, 0, 10],\n width: 'fit-content',\n },\n },\n ExpandCollapse: {\n fontSize: 13,\n left: spacing[3],\n backgroundColor: 'transparent',\n color: pricingPalette.colors.link,\n border: 'none',\n borderLeft: `1px solid ${pricingPalette.colors.pebble}`,\n borderRight: `1px solid ${pricingPalette.colors.pebble}`,\n padding: spacing[4],\n width: '100%',\n '&:hover, &:focus': {\n textDecoration: 'none',\n backgroundColor: 'transparent !important',\n color: [pricingPalette.colors.link, '!important'],\n border: 'none',\n },\n '& svg': {\n marginLeft: 5,\n },\n [SM_MOBILE_MEDIA_QUERY]: {\n display: 'inline-block',\n padding: 0,\n borderRadius: 0,\n left: 0,\n },\n [MD_MEDIA_QUERY]: {\n display: 'flex',\n width: 'auto',\n padding: 0,\n border: 'none',\n borderRadius: 0,\n },\n },\n TooltipContainer: {\n '&:hover $Tooltip': {\n display: 'inline-block',\n },\n [MD_MEDIA_QUERY]: {\n position: 'relative',\n },\n },\n TooltipIndicator: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 13,\n height: 13,\n fontSize: 13,\n color: 'white',\n borderRadius: '100%',\n backgroundColor: pricingPalette.colors.stone,\n cursor: 'help',\n '&:hover': {\n backgroundColor: pricingPalette.colors.flint,\n },\n marginLeft: 5,\n },\n Tooltip: {\n display: 'none',\n color: pricingPalette.colors.charcoal,\n cursor: 'auto',\n },\n}));\n","import React from 'react';\nimport { t } from '@sm/intl';\nimport { DetailsFeatureRowPackages } from '~app/pages/Pricing/transformers/details/types';\n\nimport useCategoryStyles from './useStyles';\nimport COPY from './copy';\n\nexport default function FeatureCell(pkg: Readonly): JSX.Element {\n const { Cell, Bullet } = useCategoryStyles({ packageName: pkg.packageName });\n let a11yValue = COPY.UNAVAILABLE.defaultMessage;\n\n if (typeof pkg.value === 'string') {\n a11yValue = pkg.value;\n } else if (pkg.value) {\n a11yValue = COPY.AVAILABLE.defaultMessage;\n }\n\n return (\n \n {typeof pkg.value === 'boolean' ? pkg.value && : pkg.value}\n \n );\n}\n","import React, { useMemo, useState, useCallback, useRef, useEffect, RefObject } from 'react';\nimport { useParams, useLocation } from 'react-router';\nimport { debounce } from 'lodash';\nimport { t } from '@sm/intl';\nimport { Box } from '@wds/box';\nimport { Accordion } from '@wds/accordion';\nimport { IconCaretUp, IconCaretDown } from '@wds/icons';\nimport { Button } from '@sm/wds-react';\nimport getFeatureCategories from '~pricing/transformers/details';\nimport FeatureTooltip from '~pricing/components/Tooltip';\nimport categoryGroupings, { categoryIds } from '~app/pages/Pricing/transformers/details/groupings';\nimport { PackageDataSet } from '~shared/types/pricing/package';\nimport { NavRouteParams } from '~pricing/components/Navigation/types';\nimport { usePricingExperiments } from '~shared/hooks/usePricingExperiments';\nimport { DetailsFeatureRowFeature } from '~pricing/transformers/details/types';\n\nimport FeatureCell from './FeatureCell';\nimport useCategoryStyles from './useStyles';\nimport COPY from '~app/pages/Pricing/copy';\nimport { ToggleState } from './types';\nimport { usePricingState } from '~shared/hooks/usePricingState';\n\nconst CaretDown = ;\nconst CaretUp = ;\nconst expandAll = t(COPY.EXPAND_ALL);\nconst collapseAll = t(COPY.COLLAPSE_ALL);\n\nexport default function Categories({\n displayedPackages,\n isMobile,\n stickyRef,\n}: Readonly<{\n displayedPackages: PackageDataSet;\n isMobile?: boolean;\n stickyRef?: RefObject;\n}>): JSX.Element {\n const { canonicalPath, subPath } = useParams();\n const { uiExperiment, priceExperiment } = usePricingExperiments();\n\n const {\n state: {\n packages: { detailsPackageData, displayPackageSet },\n },\n } = usePricingState();\n\n const { search } = useLocation();\n const query = new URLSearchParams(search);\n const featureId = query.get('selected_feature');\n const highlightedFeature = useRef(null);\n const categoryId = query.get('selected_category');\n const selectedCategoryRef = useRef(null);\n const [expColButtonPos, setExpColButtonPos] = useState(0);\n\n // Scroll to the category or highlighted feature if it exists on page load\n useEffect(() => {\n if ((highlightedFeature.current || selectedCategoryRef.current) && !isMobile) {\n setTimeout(() => {\n const offsetTop = highlightedFeature?.current?.offsetTop ?? selectedCategoryRef?.current?.offsetTop ?? 0;\n const packagesHeader = document.getElementById('PackagesHeader');\n const offsetHeight = packagesHeader ? packagesHeader.clientHeight : 0;\n\n window.scrollTo({ top: offsetTop - offsetHeight, behavior: 'smooth' });\n }, 1000);\n }\n }, [isMobile]);\n\n const {\n AccordionControl,\n DetailRow,\n Feature,\n HighlightFeature,\n TooltipContainer,\n TooltipIndicator,\n Tooltip,\n ExpandCollapseContainer,\n ExpandCollapse,\n } = useCategoryStyles({\n packageCount: displayedPackages.length,\n });\n\n function calcTopPos(value: number): number {\n return value - 31;\n }\n\n useEffect(() => {\n if (stickyRef?.current) {\n setExpColButtonPos(calcTopPos(stickyRef.current.clientHeight));\n }\n }, [stickyRef]);\n\n useEffect(() => {\n const options = {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true,\n };\n\n const handleChange = debounce(function handleChange() {\n if (stickyRef?.current) {\n setExpColButtonPos(calcTopPos(stickyRef?.current?.clientHeight));\n }\n }, 100);\n\n const observer = new MutationObserver(handleChange);\n if (stickyRef?.current) {\n observer.observe(stickyRef.current, options);\n }\n window.addEventListener('resize', handleChange);\n\n return () => {\n observer.disconnect();\n window.removeEventListener('resize', handleChange);\n };\n });\n\n // get the experience name if there is one\n const experience =\n (uiExperiment.hasAssignment && uiExperiment.treatmentName) ||\n (priceExperiment.hasAssignment && priceExperiment.treatmentName) ||\n '';\n /**\n * Since /pricing/details is a valid route, let's handle experiments categories accordingly\n * See src/app/pages/Pricing/pages/index.ts L24 for the regex path matching\n */\n const currentPath = canonicalPath ?? subPath;\n\n const categories = useMemo(() => {\n const groupings = categoryGroupings[currentPath][experience] ?? categoryGroupings[currentPath].default;\n return getFeatureCategories(displayedPackages, groupings, detailsPackageData);\n }, [currentPath, experience, displayedPackages, detailsPackageData]);\n\n const categoryIndices: number[] = categories.map((_category, index) => index);\n\n const initialState: ToggleState = useMemo(() => {\n return {\n initialLoad: isMobile,\n isExpanded: !isMobile,\n indices: isMobile ? [0] : categoryIndices,\n text: isMobile ? expandAll : collapseAll,\n icon: isMobile ? CaretUp : CaretDown,\n };\n }, [categoryIndices, isMobile]);\n const [toggleData, setToggleData] = useState(initialState);\n\n const handleToggle = useCallback(\n (event: React.SyntheticEvent): void => {\n event.preventDefault();\n setToggleData({\n initialLoad: false,\n isExpanded: !toggleData.isExpanded,\n indices: !toggleData.initialLoad && toggleData.indices.length ? [] : categoryIndices,\n text: toggleData.isExpanded ? expandAll : collapseAll,\n icon: toggleData.isExpanded ? CaretUp : CaretDown,\n });\n },\n [categoryIndices, toggleData]\n );\n\n const key = isMobile ? 'Mobile' : 'Desktop';\n\n const featureRowCells = (feature: DetailsFeatureRowFeature, id: string): JSX.Element => {\n // if isMobile, map over only the individual package passed in, otherwise map over only the displayed package set.\n const data = isMobile ? [displayedPackages[0].packageName] : displayPackageSet;\n return (\n <>\n {data.map(pkg => (\n \n ))}\n \n );\n };\n\n return (\n <>\n
    \n \n
    \n \n {\n setToggleData(state => {\n return {\n ...state,\n indices: isExpanding ? [...state.indices, index] : state.indices.filter(item => item !== index),\n };\n });\n }}\n >\n {/* name: NAME rename to preserve the COPY constant format */}\n {categories.map(({ name: NAME, features }, index) => {\n const isSelectedCategory =\n categoryId && categoryIds[categoryId as keyof typeof categoryIds] === NAME.defaultMessage;\n return (\n feature.name === featureId))\n }\n title={t(NAME)}\n ref={isSelectedCategory ? selectedCategoryRef : null}\n >\n
    \n {features?.map(feature => {\n const isHighlightedFeature = featureId && featureId === feature.name;\n return (\n \n
    \n {feature.summary}\n {feature.tooltip && feature.tooltipHeading && (\n \n ?\n \n \n \n \n )}\n
    \n {featureRowCells(feature, NAME.id)}\n \n );\n })}\n
    \n \n );\n })}\n \n
    \n \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\n\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\nimport { StyleProps, StyleRules } from './types';\n\nfunction getGridTemplateAreas(packageCount: number): string {\n let str = '.';\n let i;\n for (i = 1; i <= packageCount; i += 1) {\n str += ` package${i}`;\n }\n return `\"${str}\"`;\n}\nfunction getTemplateArea(): object {\n return {\n gridTemplateAreas: ({ packageCount }: StyleProps) => getGridTemplateAreas(packageCount),\n };\n}\n\nexport function getTemplate(): object {\n return {\n display: 'grid',\n gridTemplateColumns: ({ packageCount }: StyleProps) =>\n `minmax(10%, 380px) repeat(${packageCount}, minmax(10%, 280px))`,\n justifyContent: 'center',\n };\n}\n\nexport default createMemoStyles(\n ({ elevation, spacing, pricingPalette, packageTheme }: PricingAppTheme) => ({\n Details: {\n padding: `0 ${spacing[6]}px`,\n margin: `${spacing[8]}px auto ${spacing[4]}px`,\n display: 'block',\n maxWidth: 350,\n [MD_MEDIA_QUERY]: {\n width: 'fit-content',\n maxWidth: 'unset',\n },\n },\n Sticky: {\n [MD_MEDIA_QUERY]: {\n backgroundColor: pricingPalette.colors.white,\n ...getTemplate(),\n ...getTemplateArea(),\n top: -1,\n position: 'sticky',\n boxShadow: `0 4px 2px -2px rgb(0 0 0 / 11%)`,\n zIndex: elevation.sky - 1,\n },\n },\n Package1: {\n gridArea: 'package1',\n },\n Package2: {\n gridArea: 'package2',\n },\n Package3: {\n gridArea: 'package3',\n },\n Package4: {\n gridArea: 'package4',\n },\n Package5: {\n gridArea: 'package5',\n },\n Package6: {\n gridArea: 'package6',\n },\n Mobile: {\n display: 'block',\n [MD_MEDIA_QUERY]: {\n display: 'none',\n },\n },\n Desktop: {\n display: 'none',\n [MD_MEDIA_QUERY]: {\n display: 'block',\n },\n },\n })\n);\n","import React, { Fragment, useContext, useRef } from 'react';\nimport { StaticContext } from '@sm/webassets';\nimport { Box } from '@wds/box';\nimport { Responsive } from '@wds/responsive';\nimport { PricingData } from './types';\n\nimport DetailsPackageHeader from '~pricing/experiments/grow_2792_pnp_refresh_v1/components/DetailsPackageHeader';\nimport Categories from '~pricing/experiments/grow_2792_pnp_refresh_v1/components/Categories';\n\nimport useDetailsStyles from './useStyles';\n\nexport default function DetailsPackagesView({ packageData, discountInfo }: Readonly): JSX.Element {\n const { Details, Sticky, Mobile, Desktop } = useDetailsStyles({\n packageCount: packageData.length,\n });\n\n const { ssrEnv } = useContext(StaticContext);\n const stickyRef = useRef(null);\n\n if (!packageData) {\n return <>;\n }\n\n return (\n \n \n \n {packageData.map((pricingPackage, index: number) => {\n if (pricingPackage) {\n const { comparisonSkuCost, skuCost, packageName } = pricingPackage;\n const packageClassName = `package-${packageName}`;\n return (\n
    \n \n \n
    \n );\n }\n return null;\n })}\n
    \n
    \n\n \n \n \n {packageData.map((pricingPackage, index: number) => {\n if (pricingPackage) {\n const { comparisonSkuCost, skuCost, packageName } = pricingPackage;\n return (\n \n \n \n );\n }\n return null;\n })}\n \n \n
    \n \n \n );\n}\n","import React, { useEffect } from 'react';\nimport { useParams } from 'react-router';\nimport { t } from '@sm/intl';\nimport { createURL } from '@sm/utils';\nimport { NavRouteParams } from '~pricing/components/Navigation/types';\n\nimport BackToSummary from '~pricing/experiments/grow_2792_pnp_refresh_v1/components/BackToSummary';\nimport MainHeading from '~pricing/components/MainHeading';\nimport DetailsFooter from '~pricing/components/PricingFooter';\nimport useTrackingDetails from '~pricing/hooks/useTrackingDetails';\nimport COPY from '~app/pages/Pricing/copy';\nimport DetailsPackagesView from '~pricing/experiments/grow_2792_pnp_refresh_v1/components/DetailsPackagesView';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport { ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\n\n/**\n * This only gets generated on the details page. If canonical path is missing then,\n * we must be on the /pricing/details (canonical to details), the back link should default to teams summary\n * with ut_source attached as per legacy billweb\n */\nexport default function PricingDetailsPage(): JSX.Element {\n const { canonicalPath } = useParams();\n\n const {\n state: {\n packages: { allPackages, discountInfo, displayPackages },\n },\n } = usePricingState();\n const { pageUtSource } = useTrackingDetails();\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, []);\n\n return (\n
    \n
    \n \n {t(COPY.DETAILS_HEADING)}\n
    \n \n \n
    \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { BETWEEN_MD_LG_MEDIA_QUERY, MD_MEDIA_QUERY } from '~shared/media-query';\nimport { PricingAppTheme, PackageTheme } from '~app/styles/pricing/types';\nimport { Packages } from '~shared/constants/pricing';\n\ntype Props = {\n packageName: Packages;\n};\n\ntype RuleNames = 'PricingPackageContainer' | 'PricingPackage' | 'Highlighted';\n\nexport const HIGHLIGHT = (defaultColor: string, packageTheme: PackageTheme): object => ({\n border: ({ packageName }: Props) =>\n `2px solid ${packageTheme[packageName] ? packageTheme[packageName].primary : defaultColor}`,\n});\n\nexport default createMemoStyles(\n ({ spacing, pricingPalette, packageTheme }: PricingAppTheme) => ({\n PricingPackageContainer: {\n marginBottom: spacing[4],\n width: '100%',\n maxWidth: 345,\n\n [MD_MEDIA_QUERY]: {\n display: 'flex',\n flexDirection: 'column',\n\n '&:last-of-type $PricingPackage': {\n borderRight: `1px solid ${pricingPalette.colors.flint}`,\n },\n\n '&:has(> $Highlighted) + $PricingPackageContainer $PricingPackage': {\n borderLeft: 'none',\n },\n },\n },\n\n PricingPackage: {\n position: 'relative',\n padding: [0, 0, spacing[5]],\n border: `1px solid ${pricingPalette.colors.flint}`,\n marginBottom: spacing[6],\n\n '& + div': {\n display: 'none',\n },\n\n [MD_MEDIA_QUERY]: {\n height: '100%',\n transition: 'border-color 0.5s ease',\n borderRight: 'none',\n\n '& + div': {\n display: 'inherit',\n },\n },\n\n [BETWEEN_MD_LG_MEDIA_QUERY]: {\n '& [class*=FeatureItem]': {\n paddingLeft: spacing[3],\n paddingRight: spacing[5],\n },\n },\n },\n\n Highlighted: {\n marginTop: 28,\n ...HIGHLIGHT(pricingPalette.colors.flint, packageTheme),\n\n '& header': {\n paddingTop: spacing[5] - 1,\n },\n\n [MD_MEDIA_QUERY]: {\n marginTop: 0,\n },\n },\n })\n);\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\n\nexport default createMemoStyles(({ spacing, pricingPalette }: PricingAppTheme) => ({\n Features: {\n padding: [spacing[4], spacing[6], 0],\n },\n FeatureList: {\n listStyle: 'none',\n fontSize: 13,\n lineHeight: 1.2,\n color: pricingPalette.colors.charcoal,\n display: 'flex',\n flexDirection: 'column',\n padding: 0,\n margin: [spacing[4], 'auto', 0],\n width: '100%',\n },\n FeatureItem: {\n padding: [6, 0, 6],\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n wordBreak: 'break-word',\n\n '& svg': {\n width: 16,\n marginRight: spacing[3],\n },\n },\n}));\n","import { Packages } from '~shared/constants/pricing';\nimport { PackageSet } from '~shared/types/pricing/package';\n\nexport default [\n 'grow_2792_survey_create_limit',\n 'questions',\n 'response_count',\n 'support',\n 'colors',\n 'exports',\n 'grow_2792_skip_logic',\n 'file_upload',\n 'multilingual',\n 'grow_2792_ippm_best_worst_scale',\n 'click_map_qt',\n 'grow_2792_ippm_create_piping_enabled',\n 'grow_2792_ippm_a_b_testing',\n 'create_toggle_footer_enabled',\n];\n\nconst ALL_PACKAGES: PackageSet = [\n Packages.Basic,\n Packages.AdvantageAnnual,\n Packages.AdvantageMonthly,\n Packages.TeamAdvantage,\n Packages.FormsAnnual,\n Packages.FormsMonthly,\n Packages.PremierAnnual,\n Packages.TeamPremier,\n];\n\nconst ALL_BUT_BASIC: PackageSet = [\n Packages.AdvantageAnnual,\n Packages.AdvantageMonthly,\n Packages.TeamAdvantage,\n Packages.FormsAnnual,\n Packages.FormsMonthly,\n Packages.PremierAnnual,\n Packages.TeamPremier,\n];\n\nconst ADVANTAGE_PLUS: PackageSet = [\n Packages.AdvantageAnnual,\n Packages.AdvantageMonthly,\n Packages.TeamAdvantage,\n Packages.PremierAnnual,\n Packages.TeamPremier,\n];\nconst PREMIER: PackageSet = [Packages.PremierAnnual, Packages.TeamPremier];\n\nexport const packageFeaturesIncluded = {\n grow_2792_survey_create_limit: ALL_PACKAGES,\n questions: ALL_PACKAGES,\n response_count: ALL_PACKAGES,\n support: ALL_PACKAGES,\n colors: ALL_BUT_BASIC,\n exports: ALL_BUT_BASIC,\n grow_2792_skip_logic: ALL_BUT_BASIC,\n file_upload: ALL_BUT_BASIC,\n multilingual: ADVANTAGE_PLUS,\n grow_2792_ippm_best_worst_scale: ADVANTAGE_PLUS,\n click_map_qt: PREMIER,\n grow_2792_ippm_create_piping_enabled: PREMIER,\n grow_2792_ippm_a_b_testing: PREMIER,\n create_toggle_footer_enabled: PREMIER,\n};\n\nconst YEAR = 'year';\nconst MONTH = 'month';\nconst RESPONSE_COUNT = 'grow_2792_ippm_response_count';\nconst EMAIL_SUPPORT = 'grow_2792_support';\nconst PRIORITY_EMAIL_SUPPORT = 'priority_email_support';\nconst PHONE_SUPPORT = 'phone_support';\nconst DATA_EXPORTS = 'grow_2792_analyze_export_enabled';\nconst ADVANCED_DATA_EXPORTS = 'grow_2792_ippm_advanced_data_exports';\nconst COLORS = 'grow_2792_custom_colors';\nconst COLORS_SURVEY_URL = 'grow_2792_custom_colors_survey_url';\nconst QUESTIONS_PER_SURVEY = 'grow_2792_create_question_limit';\nconst UNLIMITED = 'Unlimited';\n\nexport const combinedFeatureValues = {\n [Packages.Basic]: {\n response_count: {\n name: RESPONSE_COUNT,\n amount: 25,\n frequency: MONTH,\n },\n questions: {\n name: QUESTIONS_PER_SURVEY,\n amount: 10,\n },\n support: {\n name: EMAIL_SUPPORT,\n },\n exports: {\n name: DATA_EXPORTS,\n },\n colors: {\n name: COLORS,\n },\n },\n [Packages.FormsMonthly]: {\n response_count: {\n name: RESPONSE_COUNT,\n amount: 200,\n frequency: MONTH,\n },\n questions: {\n name: QUESTIONS_PER_SURVEY,\n amount: UNLIMITED,\n },\n support: {\n name: EMAIL_SUPPORT,\n },\n exports: {\n name: DATA_EXPORTS,\n },\n colors: {\n name: COLORS,\n },\n },\n [Packages.FormsAnnual]: {\n response_count: {\n name: RESPONSE_COUNT,\n amount: 2500,\n frequency: YEAR,\n },\n questions: {\n name: QUESTIONS_PER_SURVEY,\n amount: UNLIMITED,\n },\n support: {\n name: EMAIL_SUPPORT,\n },\n exports: {\n name: DATA_EXPORTS,\n },\n colors: {\n name: COLORS,\n },\n },\n [Packages.AdvantageMonthly]: {\n response_count: {\n name: RESPONSE_COUNT,\n amount: 1000,\n frequency: MONTH,\n },\n questions: {\n name: QUESTIONS_PER_SURVEY,\n amount: UNLIMITED,\n },\n support: {\n name: PRIORITY_EMAIL_SUPPORT,\n },\n exports: {\n name: DATA_EXPORTS,\n },\n colors: {\n name: COLORS_SURVEY_URL,\n },\n },\n [Packages.AdvantageAnnual]: {\n response_count: {\n name: RESPONSE_COUNT,\n amount: 15000,\n frequency: YEAR,\n },\n questions: {\n name: QUESTIONS_PER_SURVEY,\n amount: UNLIMITED,\n },\n support: {\n name: PRIORITY_EMAIL_SUPPORT,\n },\n exports: {\n name: DATA_EXPORTS,\n },\n colors: {\n name: COLORS_SURVEY_URL,\n },\n },\n [Packages.TeamAdvantage]: {\n response_count: {\n name: RESPONSE_COUNT,\n amount: 50000,\n frequency: YEAR,\n },\n questions: {\n name: QUESTIONS_PER_SURVEY,\n amount: UNLIMITED,\n },\n support: {\n name: PRIORITY_EMAIL_SUPPORT,\n },\n exports: {\n name: DATA_EXPORTS,\n },\n colors: {\n name: COLORS_SURVEY_URL,\n },\n },\n [Packages.PremierAnnual]: {\n response_count: {\n name: RESPONSE_COUNT,\n amount: 40000,\n frequency: YEAR,\n },\n questions: {\n name: QUESTIONS_PER_SURVEY,\n amount: UNLIMITED,\n },\n support: {\n name: PHONE_SUPPORT,\n },\n exports: {\n name: ADVANCED_DATA_EXPORTS,\n },\n colors: {\n name: COLORS_SURVEY_URL,\n },\n },\n [Packages.TeamPremier]: {\n response_count: {\n name: RESPONSE_COUNT,\n amount: 100000,\n frequency: YEAR,\n },\n questions: {\n name: QUESTIONS_PER_SURVEY,\n amount: UNLIMITED,\n },\n support: {\n name: PHONE_SUPPORT,\n },\n exports: {\n name: ADVANCED_DATA_EXPORTS,\n },\n colors: {\n name: COLORS_SURVEY_URL,\n },\n },\n};\n","const PNP_REFRESH_V1 = 'GROW-2792';\nconst TYPE_DESCRIPTION = '[Type: String][Vis.: high] - ';\nconst EXPERIMENT_DESCRIPTION = ' - A string in pricing experiment GROW-2792';\nconst CATEGORY = 'IPPM';\n\nconst IPPM_DRAFT_COPY = {\n ALSO_INCLUDED_IN: {\n id: 'Pricing.experimentIPPMCopy.AlsoIncludedIn',\n defaultMessage: 'Also included in {package}',\n desc: {\n id: 'Pricing.experimentIPPMCopy.AlsoIncludedIn',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n INCLUDED_IN: {\n id: 'Pricing.experimentIPPMCopy.IncludedIn',\n defaultMessage: 'Included in {package}',\n desc: {\n id: 'Pricing.experimentIPPMCopy.IncludedIn',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n PAID_FEATURES: {\n id: 'Pricing.experimentIPPMCopy.PaidFeatures',\n defaultMessage: 'Paid features in your survey',\n desc: {\n id: 'Pricing.experimentIPPMCopy.PaidFeatures',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n};\n\nexport default IPPM_DRAFT_COPY;\n","import React, { useContext } from 'react';\nimport { t } from '@sm/intl';\n\nimport { Box } from '@wds/box';\nimport { Typography } from '@wds/typography';\nimport { StaticContext } from '@sm/webassets';\nimport useFeatureSetStyles from './useStyles';\nimport featureList, { packageFeaturesIncluded, combinedFeatureValues } from './features';\nimport { formatSummaryFeature } from '~app/pages/Pricing/lib/PackageFeatures';\nimport { DisplayFeatureStatic } from '~shared/types/pricing/features';\nimport EnabledCheckMark from '~app/pages/Pricing/components/PricingFooter/components/EnabledCheckMark';\nimport DisabledCheckMark from '~app/pages/Pricing/components/PricingFooter/components/DisabledCheckMark';\nimport { Packages, PackageDisplayNames } from '~shared/constants/pricing';\nimport COPY from '~pricing/experiments/grow_2792_pnp_refresh_v1/copy/ippmCopy';\n\nimport { PackageDisplayNames as Grow2792PackageDisplayNames } from '~pricing/experiments/grow_2792_pnp_refresh_v1/constants';\n\nexport default function FeatureSet({\n packageName,\n hasPaidFeatures = false,\n}: {\n packageName: Packages;\n hasPaidFeatures: boolean;\n}): React.ReactElement {\n const { Features, FeatureList, FeatureItem } = useFeatureSetStyles();\n const {\n environment: { slLanguageLocale },\n } = useContext(StaticContext);\n\n const expPackageDisplayNames = { ...PackageDisplayNames, ...Grow2792PackageDisplayNames };\n\n const filteredFeatures = featureList.map(feature => {\n let featureItem;\n const packageFeature = combinedFeatureValues[packageName as keyof typeof combinedFeatureValues];\n\n if (feature === 'response_count') {\n const { name, amount, frequency } = packageFeature[feature];\n\n if (packageName === Packages.Basic) {\n featureItem = formatSummaryFeature('grow_2792_basic_base_response_count', { amount });\n } else {\n featureItem = formatSummaryFeature(name, { amount: amount.toLocaleString(slLanguageLocale), frequency });\n }\n }\n\n if (feature === 'questions') {\n const { name, amount } = packageFeature[feature];\n featureItem = formatSummaryFeature(name, { amount });\n }\n\n if (['support', 'exports', 'colors'].includes(feature)) {\n featureItem = formatSummaryFeature(packageFeature[feature as keyof typeof packageFeature]?.name);\n }\n\n if (featureItem) {\n featureItem.name = feature;\n } else {\n featureItem = formatSummaryFeature(feature);\n }\n\n return featureItem;\n });\n\n return (\n \n \n {t(hasPaidFeatures ? COPY.ALSO_INCLUDED_IN : COPY.INCLUDED_IN, {\n package: t(expPackageDisplayNames[packageName]),\n })}\n \n
      \n {filteredFeatures.map((feature: DisplayFeatureStatic) => {\n return (\n
    • \n {feature?.name &&\n packageFeaturesIncluded[feature?.name as keyof typeof packageFeaturesIncluded].includes(packageName) ? (\n \n ) : (\n \n )}\n \n {feature?.summary}\n \n
    • \n );\n })}\n
    \n
    \n );\n}\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\n\nexport default createMemoStyles(({ spacing, pricingPalette }: PricingAppTheme) => ({\n Features: {\n margin: [spacing[4], spacing[6], 0],\n borderBottom: `1px solid ${pricingPalette.colors.flint}`,\n },\n FeatureList: {\n listStyle: 'none',\n fontSize: 13,\n lineHeight: 1.2,\n color: pricingPalette.colors.charcoal,\n display: 'flex',\n flexDirection: 'column',\n padding: [0, 0, spacing[4]],\n margin: [spacing[4], 'auto', 0],\n width: '100%',\n },\n FeatureItem: {\n padding: [6, 0, 6],\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n wordBreak: 'break-word',\n\n '& svg': {\n width: 16,\n marginRight: spacing[3],\n },\n },\n}));\n","import React from 'react';\nimport { t } from '@sm/intl';\n\nimport { Box } from '@wds/box';\nimport { Typography } from '@wds/typography';\nimport useFeatureSetStyles from './useStyles';\nimport EnabledCheckMark from '~app/pages/Pricing/components/PricingFooter/components/EnabledCheckMark';\nimport COPY from '~pricing/experiments/grow_2792_pnp_refresh_v1/copy/ippmCopy';\nimport { PAID_TBYB_FEATURES_COPY_MAP } from '../../../constants';\nimport DisabledCheckMark from '~app/pages/Pricing/components/PricingFooter/components/DisabledCheckMark';\nimport { PaidFeatures as PaidFeaturesType } from '../../../types';\nimport { Packages } from '~shared/constants/pricing';\n\nexport default function PaidFeatures({\n paidFeatures,\n packageName,\n}: {\n paidFeatures: PaidFeaturesType[];\n packageName: Packages;\n}): React.ReactElement {\n const { Features, FeatureList, FeatureItem } = useFeatureSetStyles();\n\n return (\n \n \n {t(COPY.PAID_FEATURES)}\n \n
      \n {paidFeatures.map(feature => {\n const mappedFeature = PAID_TBYB_FEATURES_COPY_MAP[feature];\n\n return (\n
    • \n {mappedFeature.includedPackage?.includes(packageName) ? : }\n \n {t(mappedFeature?.label)}\n \n
    • \n );\n })}\n
    \n
    \n );\n}\n","import React from 'react';\nimport { Box } from '@wds/box';\nimport { PackageProps } from '~shared/types/pricing/package';\n\nimport PackageHeader from '~pricing/experiments/grow_2792_pnp_refresh_v1/components/PackageHeader';\nimport usePackageStyles from './useStyles';\nimport PackageDefs from '~pricing/lib/packages/packageDefs';\nimport { PackageDefs as Grow2792PackageDefs } from '~pricing/experiments/grow_2792_pnp_refresh_v1/constants';\nimport FeatureSet from '../FeatureSet';\nimport PaidFeatures from '../PaidFeatures';\n\nconst expPackageDefs = { ...PackageDefs, ...Grow2792PackageDefs };\n\nexport default function Package({\n skuCost,\n packageName,\n paidFeatures,\n}: Readonly): React.ReactElement | null {\n const { PricingPackageContainer, PricingPackage, Highlighted } = usePackageStyles({\n packageName,\n });\n\n return (\n \n \n \n {paidFeatures && }\n \n \n \n );\n}\n","const PNP_REFRESH_V1 = 'GROW-2792';\nconst TYPE_DESCRIPTION = '[Type: String][Vis.: high] - ';\nconst EXPERIMENT_DESCRIPTION = ' - A string in pricing experiment GROW-2792';\nconst CATEGORY = 'IPPM';\n\nconst ippmCopy = {\n BACK_TO_SURVEY: {\n id: 'Pricing.experimentIPPMCopy.BackToSurvey',\n defaultMessage: 'Back to survey',\n desc: {\n id: 'Pricing.experimentIPPMCopy.BackToSurvey',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n ENTERPRISE: {\n id: 'Pricing.experimentIPPMCopy.Enterprise',\n defaultMessage: `Need powerful admin tools, integrations, and collaboration features? Contact Sales`,\n desc: {\n id: 'Pricing.experimentIPPMCopy.Enterprise',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n PAGE_HEADING: {\n id: 'Pricing.experimentIPPMCopy.PageHeading',\n defaultMessage: 'Your survey includes paid features',\n desc: {\n id: 'Pricing.experimentIPPMCopy.PageHeading',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n PAGE_HEADING_NO_PAID_FEATURES: {\n id: 'Pricing.experimentIPPMCopy.PageHeadingNoPaidFeatures',\n defaultMessage: 'Do more with a paid plan',\n desc: {\n id: 'Pricing.experimentIPPMCopy.PageHeadingNoPaidFeatures',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n UPGRADE: {\n id: 'Pricing.experimentIPPMCopy.Upgrade',\n defaultMessage: `Choose a plan to keep your added features. Or return to your survey and remove paid features to send for free. Education discounts available`,\n desc: {\n id: 'Pricing.experimentIPPMCopy.Upgrade',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n UPGRADE_NO_PAID_FEATURE: {\n id: 'Pricing.experimentIPPMCopy.UpgradeNoPaidFeature',\n defaultMessage: `Get our best features and more responses. Education discounts available`,\n desc: {\n id: 'Pricing.experimentIPPMCopy.UpgradeNoPaidFeature',\n message: `${TYPE_DESCRIPTION} ${CATEGORY} label ${EXPERIMENT_DESCRIPTION}`,\n project: PNP_REFRESH_V1,\n },\n },\n};\n\nexport default ippmCopy;\n","import { createMemoStyles } from '@wds/styles';\nimport { PricingAppTheme } from '~app/styles/pricing/types';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\n\nexport default createMemoStyles(({ spacing, type }: PricingAppTheme) => ({\n Header: {\n paddingBottom: spacing[8],\n },\n IPPMPackages: {\n padding: [0, spacing[3], spacing[4]],\n\n '& [class^=\"PackagesContainer-\"]': {\n padding: 0,\n },\n\n '& [class^=\"PricingPackage-\"]': {\n marginBottom: 0,\n },\n },\n MainHeadingStyle: {\n '& h1': {\n margin: [spacing[5], spacing[3], spacing[2]],\n [MD_MEDIA_QUERY]: {\n margin: [spacing[6], 'auto', spacing[2]],\n },\n },\n },\n}));\n","import React from 'react';\nimport { t } from '@sm/intl';\nimport { Box } from '@wds/box';\nimport { Link } from '@wds/link';\n\nimport { Typography } from '@wds/typography';\nimport { usePricingState } from '~shared/hooks/usePricingState';\nimport { PackageIds, Packages, ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\nimport { PricingPackage } from '~shared/types/pricing/pricingsvc';\nimport { TranslationsPlaceHolderType } from '~app/pages/Pricing/types';\n\nimport useSummaryStyles from '../Summary/useStyles';\nimport MainHeading from '~pricing/components/MainHeading';\nimport Package from './components/Package';\nimport COPY from './copy';\nimport FOOTER_COPY from '~pricing/components/PricingFooter/copy';\nimport useStyles from './useStyles';\nimport { formatCostInLocaleCurrency } from '~app/pages/Pricing/lib/lib-helpers';\nimport useCta from '../hooks/useCta';\nimport useExperimentAssignment from '~app/pages/Pricing/hooks/useExperimentAssignment';\n\nexport default function PnPRefreshIPPM(): JSX.Element {\n const {\n state: {\n packages: { discountInfo, displayPackages, paidFeatures, overageCost, getPackageById },\n },\n } = usePricingState();\n\n const { noFormsAtAll } = useExperimentAssignment();\n\n const { Header, IPPMPackages, MainHeadingStyle } = useStyles();\n const { PackagesContainer } = useSummaryStyles();\n const { ctaUrl: contactSalesCtaUrl } = useCta(getPackageById(PackageIds[Packages.Enterprise]));\n\n const filteredPackages = displayPackages?.filter(\n pkg => ![Packages.Enterprise, ...[!noFormsAtAll && Packages.Basic]].includes(pkg?.packageName)\n );\n\n function getPackage(pricingPackage: PricingPackage, index: number): JSX.Element {\n const props = {\n ...pricingPackage,\n comparisonSkuCost: pricingPackage.comparisonSkuCost || [],\n discountInfo,\n key: `package-${pricingPackage.packageName}`,\n isLastPackage: index + 1 === filteredPackages.length,\n paidFeatures,\n };\n\n return ;\n }\n\n function removeLink({ children }: Readonly): JSX.Element {\n return (\n {\n if (window) {\n window.parent.postMessage(\n {\n action: 'close_paywall',\n },\n window.location.origin\n );\n }\n }}\n rel=\"noreferrer\"\n >\n {children}\n \n );\n }\n function educationLink({ children }: Readonly): JSX.Element {\n return (\n \n {children}\n \n );\n }\n function contactLink({ children }: Readonly): JSX.Element {\n return (\n \n {children}\n \n );\n }\n\n return (\n <>\n
    \n \n {t(paidFeatures ? COPY.PAGE_HEADING : COPY.PAGE_HEADING_NO_PAID_FEATURES)}\n \n \n {t(paidFeatures ? { ...COPY.UPGRADE } : { ...COPY.UPGRADE_NO_PAID_FEATURE }, {\n returnBackToSurvey: removeLink,\n education: educationLink,\n })}\n \n \n {t(\n { ...COPY.ENTERPRISE },\n {\n contact: contactLink,\n }\n )}\n \n
    \n \n \n {filteredPackages?.map(\n (pricingPackage, index: number) => pricingPackage && getPackage(pricingPackage, index)\n )}\n \n {overageCost && (\n \n {t(FOOTER_COPY.PER_ADDITIONAL_RESPONSE, {\n overageCost: formatCostInLocaleCurrency(overageCost, 2),\n })}\n \n )}\n \n \n );\n}\n","import { createMemoStyles } from '@wds/styles';\n\nimport { PricingAppTheme } from '~app/styles/pricing/types';\n\nconst useIppmStyles = createMemoStyles(({ palette }: PricingAppTheme) => ({\n IPPMWrapper: {\n backgroundColor: palette.background.light,\n },\n}));\n\nexport default useIppmStyles;\n","import React from 'react';\nimport PnPRefreshIPPM from '~pricing/experiments/grow_2792_pnp_refresh_v1/IPPM';\nimport PricingSummaryPage from '../Summary';\nimport useExperimentAssignment from '~pricing/hooks/useExperimentAssignment';\nimport useIppmStyles from './useStyles';\n\nexport default function IPPM(): JSX.Element {\n const { IPPMWrapper } = useIppmStyles();\n const { isPnPRefresh } = useExperimentAssignment();\n\n return (\n
    \n {isPnPRefresh ? : }\n
    \n );\n}\n","import useStarterEnabled from '~pricing/hooks/useStarterEnabled';\nimport { EXPERIMENT_IDENTIFIERS } from '~server/routes/Pricing/experimentsConfig';\n\nimport { getPackageSetBasedOnPath } from '~pricing/lib/lib-helpers';\nimport { PackageSet, PackageType } from '~shared/types/pricing/package';\nimport { GROW_2792_PACKAGES, GROW_2792_PACKAGES_T3 } from '../lib/constants';\nimport useExperimentAssignment from './useExperimentAssignment';\n\nexport default function usePackageSet(canonicalPath: string): { packageSet: PackageSet } {\n const { isStarterEnabled } = useStarterEnabled();\n const { experience, isPnPRefresh } = useExperimentAssignment();\n const isEducational = canonicalPath === PackageType.Educational;\n\n function determinePackageSet(): PackageSet {\n if (!isEducational && isPnPRefresh) {\n if (experience === EXPERIMENT_IDENTIFIERS.GROW_2792.treatment3) {\n return GROW_2792_PACKAGES_T3;\n }\n return GROW_2792_PACKAGES;\n }\n\n return getPackageSetBasedOnPath(canonicalPath, isStarterEnabled);\n }\n\n return {\n packageSet: determinePackageSet(),\n };\n}\n","import { useContext, useMemo, useState } from 'react';\nimport { StaticContext } from '@sm/webassets';\n\nimport { PackageIds } from '~shared/constants/pricing';\nimport { STARTER_ENABLED_COUNTRIES } from '~pricing/lib/constants';\n\nimport { StarterEnabled } from './types';\n\n/**\n * Given an authenticated user and the country they live in, check to see if\n * that country is in the list of countries that qualify for Standard Annual.\n * @returns {StarterEnabled} A boolean flag: { isStarterEnabled: boolean; }\n */\nexport default function useStarterEnabled(): StarterEnabled {\n const [isStarterEnabled, setIsStarterEnabled] = useState(false);\n const {\n user: {\n package: packageID,\n isAuthenticated,\n subscribedAt,\n billingCountry, // see https://momentiveai.atlassian.net/browse/GROW-2417\n },\n environment: { countryCode }, // use countryCode otherwise use billingCountry\n } = useContext(StaticContext);\n\n useMemo(() => {\n const convertedPackageID = parseInt(packageID, 10);\n const isQualifiedBasedOnAuthAndCountry =\n isAuthenticated && STARTER_ENABLED_COUNTRIES.includes(countryCode ?? billingCountry);\n // if the user package_id is 32 then there is no need to check subscription status\n if (isQualifiedBasedOnAuthAndCountry && convertedPackageID === PackageIds.STANDARD_ANNUAL) {\n setIsStarterEnabled(true);\n } else {\n setIsStarterEnabled(isQualifiedBasedOnAuthAndCountry && convertedPackageID === PackageIds.BASIC && !subscribedAt);\n }\n }, [packageID, billingCountry, countryCode, isAuthenticated, subscribedAt]);\n return {\n isStarterEnabled,\n };\n}\n","import React, { useContext } from 'react';\nimport { Route, Redirect } from 'react-router-dom';\n\nimport { StaticContext } from '@sm/webassets';\n\nimport { LocationProps, PricingRouteProps } from './types';\nimport { ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\n\nconst UPGRADE_PATH = `${ROOT_PRICING_ROUTE}/upgrade/`;\nconst EDUCATIONAL_PATH = `${ROOT_PRICING_ROUTE}/educational`;\n\nconst PricingRoutes: React.FC = ({ redirectPath, path, ...rest }) => {\n const {\n user: { isEduQualified },\n } = useContext(StaticContext);\n\n const { search } = rest.location as LocationProps;\n // Only redirect to educational page on the base route(/pricing), and continue on with the same flow as before\n if (isEduQualified && path === ROOT_PRICING_ROUTE) {\n return ;\n }\n // Since we will eventually get rid of the upgrade path\n if (path?.includes(UPGRADE_PATH)) {\n if (isEduQualified) {\n return ;\n }\n return ;\n }\n return ;\n};\n\nexport default PricingRoutes;\n","import { createMemoStyles } from '@wds/styles';\n\nconst useMainStyles = createMemoStyles({\n Main: {\n maxWidth: 1400,\n margin: [0, 'auto'],\n },\n RefreshFullWidth: {\n maxWidth: 1780,\n margin: [0, 'auto'],\n },\n});\n\nexport default useMainStyles;\n","import React from 'react';\nimport { BasePage } from '@sm/webassets';\nimport { useLocation } from 'react-router-dom';\nimport SEO from '~pricing/components/SEO';\nimport useScript from '~pricing/hooks/useScripts';\nimport { EXTERNAL_SCRIPTS } from '~pricing/lib/constants';\nimport useMainStyles from './useStyles';\nimport { ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\nimport useExperimentAssignment from '~pricing/hooks/useExperimentAssignment';\n\nexport default function Layout({ isIPPM, children }: { isIPPM?: boolean; children?: React.ReactNode }): JSX.Element {\n const { isPnPRefresh } = useExperimentAssignment();\n\n useScript(EXTERNAL_SCRIPTS);\n // GP-69 Needs full page width so having the 1400px max-width from Main breaks the ui\n const routerLocation = useLocation();\n const { Main, RefreshFullWidth } = useMainStyles();\n\n // TODO: When/if GP-69 is implemented into production, this logic will need to be modified to look for /pricing/enterprise page\n // in order to not apply the max width of 1400px\n const main = routerLocation.pathname.includes(ROOT_PRICING_ROUTE) ? Main : '';\n const width = isPnPRefresh ? RefreshFullWidth : '';\n\n const classes = `${main} ${width}`;\n\n return (\n \n \n
    {children}
    \n
    \n
    \n );\n}\n","import { useEffect, useRef } from 'react';\n\n/**\n * This hook creates a script tag that is appended to the body of an HTML page\n * e.g. the Stripe fraud detection script.\n * @param {string[]} urls\n * @returns void\n */\n\nexport default function useScript(urls: readonly string[]): void {\n const scriptElements = useRef([]);\n\n useEffect(() => {\n scriptElements.current = urls.map((url: string): HTMLScriptElement => {\n const existingScriptElement = document.querySelector(`script[src=\"${url}\"]`) as HTMLScriptElement;\n if (!existingScriptElement) {\n const script = document.createElement('script');\n script.src = url;\n script.async = true;\n script.type = 'text/javascript';\n script.setAttribute('data-status', 'loading');\n document.body.appendChild(script);\n return script;\n }\n return existingScriptElement;\n });\n\n return () => {\n // cleanup\n scriptElements.current?.forEach(\n (scriptElement: HTMLScriptElement) => scriptElement && document.body.removeChild(scriptElement)\n );\n };\n }, [urls]);\n}\n","import React from 'react';\nimport { useLocation, Switch } from 'react-router-dom';\nimport { FourOhFourErrorPage } from '@sm/webassets';\n\nimport pages from '~pricing/pages';\nimport useTreatment from '~pricing/hooks/useTreatment';\nimport { PricingStateProvider } from '~shared/hooks/usePricingState';\nimport usePackageSet from './hooks/usePackageSet';\nimport { PackageType } from '~shared/types/pricing/package';\nimport { getPackagesBasedOnQueryStringIds } from './lib/lib-helpers';\n\nimport PricingRoutes from './PricingRoutes';\nimport { ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\nimport Layout from './components/Layout';\n\nconst PricingRouter = (): JSX.Element => {\n const { search, pathname } = useLocation();\n const query = new URLSearchParams(search);\n let canonicalPath = PackageType.Teams;\n let subPath;\n\n if (pathname.includes(PackageType.Individual)) {\n canonicalPath = PackageType.Individual;\n }\n\n if (pathname.includes(PackageType.Educational)) {\n canonicalPath = PackageType.Educational;\n }\n\n if (pathname.includes('details')) {\n subPath = 'details';\n }\n\n const isIPPM = pathname.includes('ippm');\n\n const { packageSet } = usePackageSet(canonicalPath);\n\n const comparePlans = query.get('compare_plans');\n\n const {\n uiExperiment: { configExperimentIdentifier, experimentComponent: EnterpriseFeaturesGP69 },\n } = useTreatment();\n\n // GP-69: this experiment is a full page take over for enterprise users\n // viewing the pricing pages and doesn't fit into the standard page layout.\n // we'll let it provide all of its own stuff as necessary\n\n if (\n configExperimentIdentifier === 'ENTERPRISE_FEATURES_GP69' &&\n EnterpriseFeaturesGP69 &&\n pathname.includes('enterprise')\n ) {\n return ;\n }\n\n return (\n \n \n \n {pages().map(page =>\n page.paths.map((path: string) => (\n \n ))\n )}\n \n \n \n \n );\n};\n\nexport default PricingRouter;\n","import withPageHandler from '~pricing/hocs/withPageHandler';\nimport PricingSummary from './Summary';\nimport PricingDetails from './Details';\nimport EnterprisePage from './Enterprise';\nimport EducationalPage from './Educational';\n\nimport GROW2792Summary from '~app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/Summary';\nimport GROW2792Details from '~app/pages/Pricing/experiments/grow_2792_pnp_refresh_v1/Details';\nimport { Page } from '../types';\nimport { ROOT_PRICING_ROUTE } from '~shared/constants/pricing';\nimport useExperimentAssignment from '../hooks/useExperimentAssignment';\nimport IPPM from './IPPM';\n\n/**\n * Please note /pricing/details is a valid route that renders the team details page\n * We should always take into account this route in all our experiments and use cases.\n */\nexport default function GetPricingPage(): Page[] {\n const { isPnPRefresh } = useExperimentAssignment();\n\n const PricingPage = isPnPRefresh ? GROW2792Summary : PricingSummary;\n const DetailsPage = isPnPRefresh ? GROW2792Details : PricingDetails;\n\n return [\n {\n component: withPageHandler(PricingPage),\n paths: [\n ROOT_PRICING_ROUTE,\n `${ROOT_PRICING_ROUTE}/`,\n `${ROOT_PRICING_ROUTE}/upgrade/`,\n `${ROOT_PRICING_ROUTE}/upgrade/quickview/`,\n `${ROOT_PRICING_ROUTE}/:canonicalPath(individual|teams)`,\n ],\n },\n {\n component: withPageHandler(EnterprisePage),\n paths: [`${ROOT_PRICING_ROUTE}/:canonicalPath(enterprise)/:subPath(details)?`],\n },\n {\n component: withPageHandler(DetailsPage),\n paths: [`${ROOT_PRICING_ROUTE}/:canonicalPath(details|individual|teams)?/:subPath(details)`],\n },\n {\n component: withPageHandler(EducationalPage),\n paths: [`${ROOT_PRICING_ROUTE}/:canonicalPath(educational)`],\n },\n {\n component: withPageHandler(IPPM),\n paths: [`${ROOT_PRICING_ROUTE}/:canonicalPath(ippm)`],\n },\n ];\n}\n","import React from 'react';\n\nimport { PricingExperimentProvider } from '~shared/hooks/usePricingExperiments';\nimport { PackageDataProvider } from '~shared/hooks/usePricingExperience';\nimport { PricingPageProps } from './types';\nimport PricingRouter from './router';\n\nconst PricingPage = ({ experiments, pricingExperience }: PricingPageProps = {}): JSX.Element => {\n return (\n \n \n \n \n \n );\n};\n\nexport default PricingPage;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter, Link } from 'react-router-dom';\n\nconst LinkWithSearch = ({\n pathname,\n location: { search },\n // removes staticContext from the props that are being passed down to prevent a React warning\n staticContext, // eslint-disable-line\n ...args\n}) => {\n return (\n \n {args.children}\n \n );\n};\n\nLinkWithSearch.propTypes = {\n pathname: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n location: PropTypes.shape({\n search: PropTypes.string,\n }).isRequired,\n};\n\nexport default withRouter(LinkWithSearch);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nimport { Typography, Button } from '@sm/wds-react';\nimport { Logo } from '@sm/webassets';\nimport { defineMessages, T } from '@sm/intl';\n// LinkWithSearch should be used so it will keep any existing query arguments present in the url (needed for ut_source)\nimport LinkWithSearch from '../LinkWithSearch';\n\nconst COPY = defineMessages({\n NAV_MY_ACCOUNT: {\n id: 'AppsDirectory.AppDirNavHeaderDesktop.MyAccountLink',\n defaultMessage: 'My Account',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to their profile page',\n },\n NAV_SWITCH_ACCOUNTS: {\n id: 'AppsDirectory.AppDirNavHeaderDesktop.SwitchAccountsLink',\n defaultMessage: 'Switch accounts',\n description: '[Type: Label][Vis.: high] - A link that will direct the user to the switch accounts page',\n },\n NAV_HELP_CENTER: {\n id: 'AppsDirectory.AppDirNavHeaderDesktop.HelpCenterLink',\n defaultMessage: 'Help Center',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to the help center page',\n },\n NAV_SIGN_OUT: {\n id: 'AppsDirectory.AppDirNavHeaderDesktop.SignOutLink',\n defaultMessage: 'Sign Out',\n description: '[Type: Link][Vis.: Low] - A link that will sign the user out',\n },\n NAV_SIGN_IN: {\n id: 'AppsDirectory.AppDirNavHeaderDesktop.SignInLink',\n defaultMessage: 'Sign In',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to the sign in page',\n },\n NAV_SIGN_UP: {\n id: 'AppsDirectory.AppDirNavHeaderDesktop.SignUpLink',\n defaultMessage: 'Sign Up',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to the sign up page',\n },\n});\n\nconst AppDirNavHeaderDesktop = ({ navItems, location: { search } }) => {\n return (\n
    \n \n \n \n App Directory\n \n \n
    \n \n
    \n\n
    \n \n \n
    \n
    \n );\n};\n\nAppDirNavHeaderDesktop.propTypes = {\n navItems: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.string.isRequired,\n text: PropTypes.node.isRequired,\n requiresAuthentication: PropTypes.bool,\n })\n ).isRequired,\n location: PropTypes.shape({\n pathname: PropTypes.string,\n search: PropTypes.string,\n }).isRequired,\n};\n\nexport default withRouter(AppDirNavHeaderDesktop);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nimport { Menu, MenuItem } from '@sm/wds-react';\nimport { IconMenu, IconLogoGoldie } from '@sm/wds-icons';\nimport { defineMessages, T } from '@sm/intl';\n\nconst COPY = defineMessages({\n NAV_MY_ACCOUNT: {\n id: 'AppsDirectory.AppDirNavHeaderMobile.MyAccountLink',\n defaultMessage: 'My Account',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to their profile page',\n },\n NAV_SWITCH_ACCOUNTS: {\n id: 'AppsDirectory.AppDirNavHeaderMobile.SwitchAccountsLink',\n defaultMessage: 'Switch accounts',\n description: '[Type: Label][Vis.: high] - A link that will direct the user to the switch accounts page',\n },\n NAV_HELP_CENTER: {\n id: 'AppsDirectory.AppDirNavHeaderMobile.HelpCenterLink',\n defaultMessage: 'Help Center',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to the help center page',\n },\n NAV_SIGN_OUT: {\n id: 'AppsDirectory.AppDirNavHeaderMobile.SignOutLink',\n defaultMessage: 'Sign Out',\n description: '[Type: Link][Vis.: Low] - A link that will sign the user out',\n },\n NAV_SIGN_IN: {\n id: 'AppsDirectory.AppDirNavHeaderMobile.SignInLink',\n defaultMessage: 'Sign In',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to the sign in page',\n },\n NAV_SIGN_UP: {\n id: 'AppsDirectory.AppDirNavHeaderMobile.SignUpLink',\n defaultMessage: 'Sign Up',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to the sign up page',\n },\n});\n\nfunction urlWithSearch(url, search) {\n return `${url}${search}`;\n}\n\nconst AppDirNavHeaderMobile = ({ navItems, location: { search } }) => {\n const authorizedMenuItems = navItems.map(nav => (\n // The query params need to be preserved between urls (needed for ut_source)\n \n {nav.text}\n \n ));\n return (\n
    \n \n \n \n\n
    \n \n \n \n \n
    \n }\n >\n {authorizedMenuItems}\n \n \n \n \n \n \n \n
    \n \n );\n};\n\nAppDirNavHeaderMobile.propTypes = {\n navItems: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.string.isRequired,\n text: PropTypes.node.isRequired,\n requiresAuthentication: PropTypes.bool,\n })\n ).isRequired,\n location: PropTypes.shape({\n pathname: PropTypes.string,\n search: PropTypes.string,\n }).isRequired,\n};\n\nexport default withRouter(AppDirNavHeaderMobile);\n","import React, { useContext } from 'react';\n\nimport { DesktopScreen, MobileTabletScreen, StaticContext } from '@sm/webassets';\nimport { defineMessages, T } from '@sm/intl';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nimport AppDirNavHeaderDesktop from './AppDirNavHeaderDesktop';\nimport AppDirNavHeaderMobile from './AppDirNavHeaderMobile';\n\nimport './app-dir-nav-header.scss';\n\nexport const COPY = defineMessages({\n NAV_EXPLORE: {\n id: 'AppsDirectory.AppDirNavHeader.ExploreLink',\n defaultMessage: 'Explore',\n description:\n '[Type: Link][Vis.: High] - A link that will direct the user to initial page of the app directory site',\n },\n NAV_MANAGE: {\n id: 'AppsDirectory.AppDirNavHeader.ManageLink',\n defaultMessage: 'Manage',\n description:\n '[Type: Link][Vis.: High] - A link that will direct the user their installed apps and will be able to manage them',\n },\n NAV_DEVELOP: {\n id: 'AppsDirectory.AppDirNavHeader.DevelopLink',\n defaultMessage: 'Develop',\n description: '[Type: Link][Vis.: High] - A link that will direct the user to the developer portal',\n },\n NAV_PARTNER: {\n id: 'AppsDirectory.AppDirNavHeader.PartnerLink',\n defaultMessage: 'Partner',\n description: '[Type: Link][Vis.: High] - A link that will direct the user to the partner form page',\n },\n});\n\nexport const subdomainUri = (altdomain, domain, subdomain, tld) => {\n if (subdomain !== 'www') {\n return `https://${altdomain}.${subdomain}.${domain}.${tld}`;\n }\n return `https://${altdomain}.${domain}.${tld}`;\n};\n\nconst navigationItems = ({ domain, subdomain, tld }) => [\n { target: '/apps', text: },\n {\n target: subdomainUri('developer', domain, subdomain, tld),\n text: ,\n },\n {\n target: 'https://www.surveymonkey.com/mp/partner-program/',\n text: ,\n },\n];\n\nexport function shouldDisplayNavItem(nav) {\n return !nav.requiresAuthentication;\n}\n\nconst AppDirNavHeader = () => {\n const { environment } = useContext(StaticContext);\n const { userAgent } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\n return (\n <>\n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n \n );\n};\n\nexport default AppDirNavHeader;\n","import React, { useContext, useEffect, useState } from 'react';\nimport { SMHeader, StaticContext } from '@sm/webassets';\nimport AppDirNavHeader from '../AppDirNavHeader';\n\nconst ModernHeader = () => {\n const {\n environment: { languageCode: language },\n user,\n locale: { isEUDC },\n } = useContext(StaticContext);\n\n // Render the header post SSR as it is breaking SSR\n const [renderHeader, setRenderHeader] = useState(false);\n\n useEffect(() => {\n setRenderHeader(true);\n }, [setRenderHeader]);\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default ModernHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { createUseStyles } from 'react-jss';\nimport { Box } from '@wds/box';\n\nconst useStyles = createUseStyles(theme => {\n const { breakpoints, spacing } = theme;\n\n return {\n container: {\n [`@media screen and (max-width: 1400px)`]: {\n marginLeft: `${spacing['6']}px`,\n marginRight: `${spacing['6']}px`,\n },\n },\n leftColumn: {\n width: '300px',\n minWidth: '258px',\n position: 'sticky',\n top: 0,\n marginBottom: `${spacing['8']}px`,\n display: 'none',\n [`@media screen and (min-width: ${breakpoints.md}px)`]: {\n display: 'block',\n },\n },\n };\n});\n\nexport const LeftNavLayout = ({ nav, children }) => {\n const { container, leftColumn } = useStyles();\n\n return (\n \n
    {nav}
    \n {children}\n
    \n );\n};\n\nLeftNavLayout.propTypes = {\n nav: PropTypes.node.isRequired,\n children: PropTypes.node.isRequired,\n};\n\nexport default LeftNavLayout;\n","import { createUseStyles } from 'react-jss';\n\nconst styles = createUseStyles(theme => {\n const { breakpoints, palette, spacing, border, radius } = theme;\n return {\n homeContainer: {\n backgroundColor: palette.background.main,\n minHeight: '1250px',\n },\n bodyContainer: {\n marginTop: `${spacing['5']}px`,\n maxWidth: '1400px',\n minHeight: '500px',\n margin: 'auto',\n [`@media screen and (min-width: ${breakpoints.md}px)`]: {\n marginTop: `${spacing['7']}px`,\n },\n },\n installedAppCard: {\n border: border.muted,\n borderRadius: `${radius.medium}px`,\n background: palette.background.light,\n padding: `${spacing['5']}px`,\n },\n installedAppCardTag: {\n width: '100%',\n },\n };\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Modal } from '@wds/modal';\nimport { Button } from '@wds/button';\n\nconst UninstallConfirmModal = ({ showModal, handleConfirm, handleCancel, loading }) => {\n return (\n \n \n Would you like to uninstall this app?\n \n \n \n \n \n );\n};\n\nUninstallConfirmModal.propTypes = {\n showModal: PropTypes.bool.isRequired,\n loading: PropTypes.bool,\n handleConfirm: PropTypes.func.isRequired,\n handleCancel: PropTypes.func.isRequired,\n};\n\nUninstallConfirmModal.defaultProps = {\n loading: false,\n};\n\nexport default UninstallConfirmModal;\n","import React, { useEffect, useState } from 'react';\nimport { useQuery, useMutation } from '@apollo/client';\nimport { Box } from '@wds/box';\nimport { BasePage, Helmet } from '@sm/webassets';\nimport { Link } from '@wds/link';\nimport { Typography } from '@wds/typography';\nimport { Button } from '@wds/button';\nimport { MENU_PLACEMENTS, Menu } from '@wds/menu';\nimport { IconArrowLeft, IconMore } from '@wds/icons';\nimport ModernHeader from '../../components/ModernHeader';\nimport LeftNavLayout from '../../components/Layouts/LeftNavLayout';\nimport useStyles from './styles';\nimport installedApplications from './myApps.graphql';\nimport uninstallAppMutation from '../DetailsV2/remove-app.graphql';\nimport UninstallConfirmModal from '../DetailsV2/components/UninstallConfirmModal';\n\nexport const MyAppsV2Page = () => {\n const { homeContainer, bodyContainer, installedAppCard, installedAppCardTag } = useStyles();\n\n const [installedApps, setInstalledApps] = useState([]);\n const [appToUninstall, setAppToUninstall] = useState();\n const [confirmDialogVisible, setConfirmDialogVisible] = useState(false);\n\n const {\n data: queryResponseData,\n loading,\n refetch,\n } = useQuery(installedApplications, {\n variables: { language: 'en', page: 1, pageSize: 50 },\n });\n\n useEffect(() => {\n const {\n installedApplications: { items = [] },\n } = queryResponseData;\n setInstalledApps([...items]);\n }, [queryResponseData]);\n\n const [uninstallApp, { loading: uninstalling }] = useMutation(uninstallAppMutation, {\n onCompleted: () => {\n setConfirmDialogVisible(false);\n setAppToUninstall();\n refetch();\n },\n });\n\n const handleUninstallCancel = () => {\n setConfirmDialogVisible(false);\n };\n\n const handleUninstallConfirm = () => {\n uninstallApp({\n variables: { input: { appId: appToUninstall } },\n });\n };\n\n return (\n
    \n \n \n SurveyMonkey Installed Apps\n \n \n \n \n \n Back\n \n \n }\n >\n <>\n \n \n Installed\n \n \n \n \n {installedApps.map(app => (\n \n \n {`${app.name}\n \n \n {app.name}\n \n \n {app.tagline}\n \n \n \n \n\n \n \n \n }\n >\n {\n setAppToUninstall(app.id);\n setConfirmDialogVisible(true);\n }}\n >\n Remove\n \n \n \n \n \n ))}\n \n \n \n You currently have no installed apps\n \n \n \n \n \n \n \n \n
    \n );\n};\n\nexport default MyAppsV2Page;\n","import { createUseStyles } from 'react-jss';\n\nconst styles = createUseStyles(() => {\n return {\n headerContainer: {\n height: 'auto',\n },\n headerSubtitle: {\n maxWidth: '650px',\n },\n };\n});\n\nexport default styles;\n","import React, { useContext } from 'react';\n\nimport { StaticContext } from '@sm/webassets';\nimport { Typography } from '@wds/typography';\nimport { Button } from '@wds/button';\nimport { Box } from '@wds/box';\nimport useStyles from './styles';\nimport './jumbo-header.scss';\n\nconst JumboHeader = () => {\n const { headerContainer, headerSubtitle } = useStyles();\n const { user } = useContext(StaticContext);\n return (\n \n \n \n We're better together\n \n \n \n \n \n Connect SurveyMonkey with the apps you use daily—gather holistic feedback from the right audience at the\n right time, right place, and take insights-driven actions fast.\n \n \n \n {!user.isAuthenticated && (\n \n )}\n \n );\n};\n\nexport default JumboHeader;\n","export default function waitForUsabilla(callback) {\n let count = 0;\n const waitForUsabillaLiveToLoad = () => {\n if (window && window.usabilla_live) {\n count = 0;\n callback();\n } else {\n count += 1;\n if (count < 10) {\n setTimeout(waitForUsabillaLiveToLoad, 250);\n } else {\n // Give up and reset count\n count = 0;\n }\n }\n };\n\n waitForUsabillaLiveToLoad();\n}\n","export const ALPHABETICAL = {\n label: 'Alphabetical',\n value: 'alphabetical',\n};\n\nexport const FEATURED = {\n label: 'Featured',\n value: 'featured',\n};\n\nexport const POPULAR = {\n label: 'Most Popular',\n value: 'popular',\n};\n\nexport const RELEVANCE = {\n label: 'Relevance',\n value: 'relevance',\n};\n\nexport const ALL_SORT_BY_TYPES = [ALPHABETICAL, RELEVANCE, POPULAR];\n\nexport const SORT_BY_TYPES_PRE_SEARCH = [ALPHABETICAL, POPULAR];\nexport const SORT_BY_TYPES_POST_SEARCH = [ALPHABETICAL, RELEVANCE, POPULAR];\n\nexport const SORT_ORDER = {\n ascending: 'asc',\n descending: 'desc',\n};\n\nexport const getLabelFromValue = value => {\n const sortOrder = ALL_SORT_BY_TYPES.find(e => e.value === value);\n return sortOrder ? sortOrder.label : 'Sort by';\n};\n\nexport default ALL_SORT_BY_TYPES;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { POPULAR, RELEVANCE, SORT_ORDER } from './constants';\n\nconst DEFAULT_SEARCH = '';\nconst DEFAULT_FILTERS = [];\nconst DEFAULT_SORTBY = POPULAR.value;\nconst DEFAULT_PAGENUM = 0;\nconst DEFAULT_SORTORDER = SORT_ORDER.ascending;\n\nconst DEFAULT_SEARCH_PARAMS = {\n search: DEFAULT_SEARCH,\n filters: DEFAULT_FILTERS,\n sortBy: DEFAULT_SORTBY,\n sortOrder: DEFAULT_SORTORDER,\n pageNum: DEFAULT_PAGENUM,\n};\n\nconst SearchContext = React.createContext(DEFAULT_SEARCH_PARAMS);\n\nconst SearchProvider = ({ children }) => {\n const [search, setSearch] = useState(DEFAULT_SEARCH);\n const [filters, setFilters] = useState(DEFAULT_FILTERS);\n const [sortBy, setSortBy] = useState(DEFAULT_SORTBY);\n const [sortOrder, setSortOrder] = useState(DEFAULT_SORTORDER);\n const [pageNum, setPageNum] = useState(DEFAULT_PAGENUM);\n const [searchParams, setSearchParams] = useState({ ...DEFAULT_SEARCH_PARAMS });\n\n const updateSearch = newSearch => {\n setSearch(newSearch);\n setSortBy(RELEVANCE.value);\n setSortOrder(SORT_ORDER.descending);\n setPageNum(DEFAULT_PAGENUM);\n setSearchParams({\n ...searchParams,\n search: newSearch,\n sortBy: RELEVANCE.value,\n sortOrder: SORT_ORDER.descending,\n pageNum: DEFAULT_PAGENUM,\n });\n };\n const updateFilter = filter => {\n setFilters(filter);\n setSortBy(RELEVANCE.value);\n setSortOrder(SORT_ORDER.descending);\n setPageNum(DEFAULT_PAGENUM);\n setSearchParams({\n ...searchParams,\n filters: filter,\n sortBy: RELEVANCE.value,\n sortOrder: SORT_ORDER.descending,\n pageNum: DEFAULT_PAGENUM,\n });\n };\n const updateSortBy = order => {\n setSortBy(order);\n const newSortOrder = order === RELEVANCE.value ? SORT_ORDER.descending : SORT_ORDER.ascending;\n setSortOrder(newSortOrder);\n setPageNum(DEFAULT_PAGENUM);\n\n setSearchParams({ ...searchParams, sortBy: order, sortOrder: newSortOrder, pageNum: DEFAULT_PAGENUM });\n };\n const updatePageNum = page => {\n setPageNum(page);\n setSearchParams({ ...searchParams, pageNum: page });\n };\n\n const resetSearch = () => {\n setSearch(DEFAULT_SEARCH);\n setFilters(DEFAULT_FILTERS);\n setSortBy(DEFAULT_SORTBY);\n setSortOrder(DEFAULT_SORTORDER);\n setPageNum(DEFAULT_PAGENUM);\n setSearchParams({ ...DEFAULT_SEARCH_PARAMS });\n };\n\n const hasSearchParams = () => {\n return search !== DEFAULT_SEARCH || filters !== DEFAULT_FILTERS;\n };\n\n useEffect(() => {\n const savedSearchParams = sessionStorage.getItem('searchParams');\n if (savedSearchParams) {\n const newSearchParams = JSON.parse(savedSearchParams);\n setSearchParams(newSearchParams);\n setSearch(newSearchParams.search);\n setFilters(newSearchParams.filters);\n setSortBy(newSearchParams.sortBy);\n setSortOrder(newSearchParams.sortOrder);\n setPageNum(newSearchParams.pageNum);\n }\n }, []);\n\n // Save to sessionStorage when searchParams changes\n useEffect(() => {\n sessionStorage.setItem('searchParams', JSON.stringify(searchParams));\n }, [searchParams]);\n\n return (\n \n {children}\n \n );\n};\n\nSearchProvider.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nconst SearchConsumer = SearchContext.Consumer;\n\nexport { SearchProvider, SearchConsumer, SearchContext };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { cloneDeep } from 'lodash';\n\nimport categoriesQuery from './CategoriesContext.graphql';\n\nconst CategoriesContext = React.createContext([]);\n\nexport const CategoriesProvider = ({ children }) => {\n const { data, error, loading } = useQuery(categoriesQuery);\n const clone = cloneDeep(data);\n\n const value = {\n isLoading: loading,\n isError: error,\n categories: clone?.fetchAppCategories?.data || [],\n };\n\n return {children};\n};\n\nCategoriesProvider.propTypes = {\n children: PropTypes.node.isRequired,\n};\nexport default CategoriesContext;\n","import React from 'react';\n\nimport { SkeletonLoader } from '@sm/webassets';\n\nconst FilterNavSkeleton = props => {\n return (\n <>\n \n \n \n \n \n \n );\n};\n\nexport default FilterNavSkeleton;\n","import React, { useContext } from 'react';\nimport { Checkbox } from '@wds/checkbox';\nimport { Typography } from '@wds/typography';\nimport { ErrorCard } from '@sm/webassets';\nimport { Box } from '@wds/box';\nimport { SearchConsumer } from '../SearchContext';\n\nimport CategoriesContext from '../CategoriesContext';\nimport FilterNavSkeleton from './FilterNavSkeleton';\n\nexport const buildCategoryTree = categories => {\n const result = [];\n\n // Create the \"Others\" category\n const noParentCategories = {\n id: 0,\n title: 'Others',\n description: '',\n key: 'others',\n parentId: null,\n children: [],\n ordinal: 0,\n };\n\n // Get the items with no parents\n const parents = categories.filter(item => item.parentId === null);\n\n // For each parent, add it to the result and find its children\n parents.forEach(parent => {\n const parentWithChildren = { ...parent, children: [] };\n\n categories.forEach(item => {\n if (item.parentId === parent.id) {\n parentWithChildren.children.push(item);\n }\n });\n\n // If a parent has no children, add it to the \"Others\" category\n if (parentWithChildren.children.length === 0) {\n noParentCategories.children.push(parent);\n } else {\n // Otherwise, add it to the result\n result.push(parentWithChildren);\n }\n });\n\n // Add the \"Others\" category to the result\n if (noParentCategories.children.length > 0) {\n result.push(noParentCategories);\n }\n // Sort the result array by title\n result.sort((a, b) => a.ordinal - b.ordinal || a.title?.localeCompare(b.title));\n\n // Sort the children arrays by title\n result.forEach(item => {\n item.children.sort(({ key: aKey = '' }, { key: bKey = '' }) => aKey?.localeCompare(bKey));\n });\n\n return result;\n};\n\nconst FilterNav = () => {\n const { isLoading: isCategoriesLoading, categories } = useContext(CategoriesContext);\n const categoryTree = buildCategoryTree(categories);\n\n return (\n \n {({ filters, updateFilter }) => {\n const isChecked = filter => filters.includes(filter);\n const handleChange = filter => {\n updateFilter(isChecked(filter) ? filters.filter(f => f !== filter) : [...filters, filter]);\n };\n\n const renderFilter = ({ name, title, key, id }) => (\n \n handleChange(id)}\n checked={isChecked(id)}\n />\n \n );\n\n const renderCategoryTree = () => {\n return categoryTree.map(parent => (\n
    \n \n \n {parent.title}\n \n \n {parent.children.length && parent.children.map(cat => renderFilter(cat))}\n
    \n ));\n };\n\n if (isCategoriesLoading) {\n return ;\n }\n\n if (!isCategoriesLoading && categories.length === 0) {\n return ;\n }\n\n return (\n
    \n \n Filters\n \n <>{renderCategoryTree()}\n
    \n );\n }}\n
    \n );\n};\n\nexport default FilterNav;\n","import React from 'react';\n\nimport { SkeletonLoader } from '@sm/webassets';\nimport { ProgressCircle } from '@sm/wds-react';\n\nimport './ucs-module-loaders.scss';\n\nconst TopBarSkeleton = () => (\n
    \n \n
    \n);\n\nconst DefaultLoader = () => (\n
    \n \n
    \n);\n\nconst MODULE_SKELETONS = {\n top_bar: TopBarSkeleton,\n};\n\nexport default DefaultLoader;\nexport { MODULE_SKELETONS };\n","import React, { Component } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { ErrorBoundary, clientErrorHandler } from '@sm/webassets';\n\nimport { sanitizeString } from '@sm/utils';\nimport DefaultLoader, { MODULE_SKELETONS } from './UCSModuleLoaders';\n\nconst UCS_CONTAINER_ID_PREFIX = 'ucs-content';\n\n// TODO: this component is a duplicate of UCSModule from coreweb and\n// will need to be moved somewhere common\nclass UCSModule extends Component {\n static propTypes = {\n className: PropTypes.string,\n moduleName: PropTypes.string,\n customLoader: PropTypes.node,\n };\n\n static defaultProps = {\n moduleName: null,\n className: null,\n customLoader: null,\n };\n\n state = {\n data: {\n moduleHTML: null,\n },\n loading: true,\n error: false,\n };\n\n componentDidMount() {\n this._isMounted = true;\n this.getModuleHTML();\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n }\n\n getPreloadedModule() {\n const { moduleName } = this.props;\n const moduleContainer = document.getElementById(`${UCS_CONTAINER_ID_PREFIX}-${moduleName}`);\n if (moduleContainer) {\n moduleContainer.remove();\n return moduleContainer.textContent;\n }\n return null;\n }\n\n async getModuleHTML() {\n const reFetchFailed = () => {\n this.setState({\n loading: false,\n error: true,\n });\n };\n\n let moduleHTML = this.getPreloadedModule();\n if (!moduleHTML) {\n try {\n moduleHTML = await this.reFetchModule();\n if (!this._isMounted) {\n return null;\n }\n } catch (error) {\n if (!this._isMounted) {\n return null;\n }\n clientErrorHandler.logError(error, 'ucsFetchFailure');\n return reFetchFailed();\n }\n }\n\n if (moduleHTML === null) {\n return reFetchFailed();\n }\n\n return this.setState({\n data: { moduleHTML },\n loading: false,\n error: false,\n });\n }\n\n async reFetchModule() {\n const { moduleName } = this.props;\n const moduleContent = await fetch(`/content/api/ucs/${moduleName}/html`, {\n credentials: 'include',\n });\n const moduleJson = await moduleContent.json();\n return moduleJson.html;\n }\n\n renderLoadingState = () => {\n const { customLoader, moduleName } = this.props;\n const ModuleLoader = MODULE_SKELETONS[moduleName];\n\n if (customLoader) {\n return customLoader;\n }\n\n if (ModuleLoader) {\n return ;\n }\n\n return ;\n };\n\n render() {\n const { className } = this.props;\n const { data, loading, error } = this.state;\n // fail silently\n const errorComponent = null;\n\n const classNames = classnames('sm-ucs-module__content-container', className);\n\n return (\n \n {this.renderLoadingState()}\n {errorComponent}\n \n \n \n \n );\n }\n}\n\nconst BoundUCSModule = props => (\n \n \n \n);\n\nexport default BoundUCSModule;\n","/**\n * Get the canonical URL for the current page\n * @returns {canonicalUrl} string\n */\nexport default function getCanonicalUrlOrNoIndex(subdomain, domain, tld, url) {\n let path = '';\n let noIndex = false;\n let canonicalUrl = '';\n\n if (subdomain !== 'www' || tld !== 'com') {\n noIndex = true;\n } else {\n if (typeof window !== 'undefined') {\n path = window.location.pathname;\n } else {\n path = url.indexOf('?') > -1 ? url.substr(0, url.indexOf('?')) : url;\n }\n\n if (path.substr(-1) !== '/') {\n path += '/';\n }\n\n canonicalUrl = `https://${subdomain}.${domain}.${tld}${path}`;\n }\n\n return { noIndex, canonicalUrl };\n}\n","import React, { useContext } from 'react';\n\nimport { SkeletonLoader, TabletScreen, MobileScreen, StaticContext } from '@sm/webassets';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nconst AppListingSkeleton = props => {\n const { userAgent } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\n return (\n <>\n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n );\n};\n\nexport default AppListingSkeleton;\n","import React, { createContext, useContext, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { clientErrorHandler } from '@sm/webassets';\nimport { useLocation } from 'react-router-dom';\nimport { SearchContext } from '../../../../components/SearchContext';\nimport appsAppListings from './AppListings.graphql';\nimport AppListingSkeleton from './AppListingSkeleton';\nimport { POPULAR } from '~app/pages/AppsDirectory/components/SearchContext/constants';\n\nconst initialState = {\n search: '',\n categories: [],\n featured: false,\n sortBy: POPULAR.value,\n page: 1,\n pageSize: 16,\n};\n\nconst isNewParamsInitialState = newVariables => {\n const paramsWithoutSort = { ...newVariables, sortBy: '', sortOrder: '' };\n const initialWithoutSort = { ...initialState, sortBy: '', sortOrder: '' };\n return JSON.stringify(paramsWithoutSort) === JSON.stringify(initialWithoutSort);\n};\n\nexport const AppListingContext = createContext({\n appListings: [],\n isInitialSearch: false,\n pageInfo: {},\n});\n\nexport const AppListingProvider = ({ children }) => {\n const { state } = useLocation();\n\n const { search, filters, sortBy, sortOrder, pageNum, resetSearch } = useContext(SearchContext);\n const [appListings, setAppListings] = useState([]);\n const [isInitialSearch, setInitialSearch] = useState(true);\n const [pageInfo, setPageInfo] = useState({});\n const [variables, setVariables] = useState(initialState);\n\n const {\n loading: isLoading,\n error,\n data,\n } = useQuery(appsAppListings, {\n variables,\n });\n\n useEffect(() => {\n if (data?.fetchPublishedApplicationListings?.data) {\n const { data: listings, ...paging } = data.fetchPublishedApplicationListings;\n setPageInfo(paging);\n setAppListings(listings);\n }\n }, [data]);\n\n useEffect(() => {\n if (state) {\n const { moreParams = {} } = state;\n if (Object.keys(moreParams).length) {\n setVariables(prevVariables => ({\n ...prevVariables,\n ...moreParams,\n }));\n }\n }\n }, [state]);\n\n useEffect(() => {\n if (error) {\n clientErrorHandler.logError(error);\n }\n }, [error]);\n\n useEffect(() => {\n setVariables(prevVariables => {\n if (prevVariables.search !== search) {\n const newVariables = { ...prevVariables, search };\n setInitialSearch(isNewParamsInitialState(newVariables));\n return newVariables;\n }\n return prevVariables;\n });\n }, [search]);\n\n useEffect(() => {\n setVariables(prevVariables => {\n const newVariables =\n filters && filters.length > 0\n ? { ...prevVariables, categories: [filters.toString()] }\n : { ...prevVariables, categories: [] };\n setInitialSearch(isNewParamsInitialState(newVariables));\n return newVariables;\n });\n }, [filters]);\n\n useEffect(() => {\n setVariables(prevVariables => {\n if (prevVariables.sortBy !== sortBy) {\n const newVariables = { ...prevVariables, sortBy };\n setInitialSearch(isNewParamsInitialState(newVariables));\n return newVariables;\n }\n return prevVariables;\n });\n }, [sortBy]);\n\n useEffect(() => {\n setVariables(prevVariables => {\n if (prevVariables.sortOrder !== sortOrder) {\n const newVariables = { ...prevVariables, sortOrder };\n setInitialSearch(isNewParamsInitialState(newVariables));\n return newVariables;\n }\n return prevVariables;\n });\n }, [sortOrder]);\n\n useEffect(() => {\n setVariables(prevVariables => {\n const nextPageNum = pageNum + 1;\n if (prevVariables.page !== nextPageNum) {\n const newVariables = { ...prevVariables, page: nextPageNum };\n setInitialSearch(isNewParamsInitialState(newVariables));\n return newVariables;\n }\n return prevVariables;\n });\n }, [pageNum]);\n\n const clearSearch = () => {\n resetSearch();\n setVariables(initialState);\n setInitialSearch(true);\n };\n\n if (isLoading) {\n return ;\n }\n\n return (\n \n {children}\n \n );\n};\n\nAppListingProvider.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default AppListingContext;\n","import React from 'react';\nimport { useLocation } from 'react-router-dom';\n\nexport const removeQueryParameters = url => {\n try {\n const urlObj = new URL(url);\n urlObj.search = '';\n return urlObj.href;\n } catch (e) {\n return url;\n }\n};\n\nexport const stripHttp = url => url.replace(/(^\\w+:|^)\\/\\//, '');\n\nexport const trimStringTo = (toLength, str) => {\n return str.length > toLength ? `${str.substring(0, toLength)}\\u2026` : str;\n};\n\nexport const useSearchParams = () => {\n const { search } = useLocation();\n return React.useMemo(() => new URLSearchParams(search), [search]);\n};\n","import { createUseStyles } from 'react-jss';\n\nconst styles = createUseStyles(() => {\n return {\n appCardLogo: {\n height: '50px',\n },\n };\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { generateMetricsAttribute } from '@sm/metrics';\nimport { createURL } from '@sm/utils';\nimport { Box } from '@wds/box';\nimport { Card } from '@wds/card';\nimport { Typography } from '@wds/typography';\nimport AppPlaceHolderImg from '~app/pages/AppsDirectory/static/images/app-placeholder.png';\nimport { trimStringTo } from '~app/pages/AppsDirectory/components/utils';\nimport useStyles from './styles';\n\nconst AppCard = ({ app, isFeatured }) => {\n const { appCardLogo } = useStyles();\n const href = createURL(app.link);\n\n const metricsInteractionLocation = `${isFeatured ? 'featured ' : ''}integration tile`;\n\n return (\n \n \n \n {app.name}\n \n \n \n \n {app.name}\n \n \n \n {trimStringTo(85, app.tagline)}\n \n \n );\n};\n\nAppCard.defaultProps = {\n isFeatured: false,\n};\n\nAppCard.propTypes = {\n app: PropTypes.shape({\n encryptedAppId: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n tagline: PropTypes.string.isRequired,\n image: PropTypes.string,\n link: PropTypes.string.isRequired,\n }).isRequired,\n isFeatured: PropTypes.bool,\n};\n\nexport default AppCard;\n","import { createUseStyles } from 'react-jss';\n\nconst styles = createUseStyles(() => {\n return {\n /* TODO:\n - temporary fix for using `href` params, as `wds-react` css is interfering with the Card component's styling\n - does not provide a minHeight property at the moment\n - does not have a way to remove margins, making cards in a grid look misaligned\n */\n appGrid: {\n '& a': {\n textDecoration: 'none',\n minHeight: '250px',\n\n '&:hover': {\n textDecoration: 'none',\n },\n '& div[class^=\"wrenchCardBody-\"]': {\n margin: 0,\n },\n },\n },\n };\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Card } from '@wds/card';\nimport { Box } from '@wds/box';\nimport AppCard from '../AppCard';\nimport useStyles from './styles';\n\nconst AppsGrid = ({ apps = [], isFeatured }) => {\n const { appGrid } = useStyles();\n return (\n \n \n {apps.map(app => app && )}\n \n \n );\n};\n\nAppsGrid.defaultProps = {\n isFeatured: false,\n};\n\nAppsGrid.propTypes = {\n apps: PropTypes.arrayOf(\n PropTypes.shape({\n encryptedAppId: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n tagline: PropTypes.string.isRequired,\n image: PropTypes.string,\n link: PropTypes.string.isRequired,\n categories: PropTypes.arrayOf(PropTypes.string),\n })\n ).isRequired,\n isFeatured: PropTypes.bool,\n};\n\nexport default AppsGrid;\n","import React, { useContext } from 'react';\n\nimport { SkeletonLoader, TabletScreen, MobileScreen, StaticContext } from '@sm/webassets';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nconst CategorySectionSkeleton = props => {\n const { userAgent } = useContext(StaticContext);\n const { isMobile } = getClientEnvironmentDetails(userAgent);\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n );\n};\n\nexport default CategorySectionSkeleton;\n","import { createUseStyles } from 'react-jss';\n\nconst styles = createUseStyles(() => ({\n textRight: {\n textAlign: 'right',\n },\n}));\n\nexport default styles;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\n\nimport { ErrorCard } from '@sm/webassets';\nimport { Typography } from '@wds/typography';\nimport { Box } from '@wds/box';\nimport { Button } from '@wds/button';\n\nimport appsAppListings from '../AppListingContext/AppListings.graphql';\nimport AppsGrid from '../AppsGrid/AppsGrid';\nimport CategorySectionSkeleton from './CategorySectionSkeleton';\nimport useStyles from './styles';\n\nexport const getCategoryFromKey = (categories, key) => {\n const results = categories.filter(cat => cat.key === key);\n return results[0] || {};\n};\n\nconst CategorySection = ({ queryParams, sectionName, moreLink, moreLinkLabel, lessLink, lessLinkLabel }) => {\n const [showMore, setShowMore] = useState(false);\n const { textRight } = useStyles();\n\n const { data, error, loading } = useQuery(appsAppListings, { variables: queryParams });\n\n return (\n
    \n \n \n {sectionName}\n \n \n {\n moreLink();\n setShowMore(true);\n }}\n >\n {moreLinkLabel}\n \n \n \n \n \n \n \n \n \n \n \n <>\n \n \n \n {\n lessLink();\n setShowMore(false);\n }}\n >\n {lessLinkLabel}\n \n \n \n \n \n \n
    \n );\n};\n\nCategorySection.propTypes = {\n queryParams: PropTypes.shape({\n categories: PropTypes.arrayOf(PropTypes.string),\n featured: PropTypes.bool,\n search: PropTypes.string,\n sortOrder: PropTypes.string,\n sortBy: PropTypes.string,\n page: PropTypes.number,\n pageSize: PropTypes.number,\n }),\n sectionName: PropTypes.string,\n moreLink: PropTypes.func,\n moreLinkLabel: PropTypes.string,\n lessLink: PropTypes.func,\n lessLinkLabel: PropTypes.string,\n};\n\nCategorySection.defaultProps = {\n queryParams: {\n featured: true,\n },\n sectionName: 'Featured',\n moreLink: () => {},\n moreLinkLabel: '',\n lessLink: () => {},\n lessLinkLabel: '',\n};\n\nexport default CategorySection;\n","import React from 'react';\nimport { Menu } from '@wds/menu';\nimport { Button } from '@wds/button';\nimport { Box } from '@wds/box';\nimport { IconCaretDown, IconCheck } from '@wds/icons';\nimport { SearchConsumer } from '~app/pages/AppsDirectory/components/SearchContext';\nimport {\n SORT_BY_TYPES_POST_SEARCH,\n SORT_BY_TYPES_PRE_SEARCH,\n getLabelFromValue,\n} from '~app/pages/AppsDirectory/components/SearchContext/constants';\n\nconst MenuTrigger = order => {\n return (\n \n );\n};\n\nexport const AppListingSort = () => {\n return (\n \n {({ sortBy, updateSortBy, hasSearchParams }) => {\n const sortTypes = hasSearchParams() ? SORT_BY_TYPES_POST_SEARCH : SORT_BY_TYPES_PRE_SEARCH;\n return (\n \n {sortTypes.map(({ label, value }) => (\n updateSortBy(value)}>\n \n {label}\n \n \n \n \n \n \n \n ))}\n \n );\n }}\n \n );\n};\n\nexport default AppListingSort;\n","import { createUseStyles } from 'react-jss';\n\nconst styles = createUseStyles(theme => {\n const { breakpoints, palette, spacing } = theme;\n return {\n homeContainer: {\n backgroundColor: palette.background.main,\n minHeight: '1250px',\n },\n bodyContainer: {\n marginTop: `${spacing['5']}px`,\n maxWidth: '1400px',\n margin: 'auto',\n [`@media screen and (min-width: ${breakpoints.md}px)`]: {\n marginTop: `${spacing['7']}px`,\n },\n },\n mobileSearchBox: {\n visibility: 'hidden',\n height: 0,\n margin: 0,\n [`@media screen and (max-width: ${breakpoints.sm}px)`]: {\n height: 'auto',\n visibility: 'visible',\n margin: `${spacing['4']}px`,\n },\n },\n\n tabletSearchBox: {\n visibility: 'hidden',\n [`@media screen and (min-width: ${breakpoints.sm}px)`]: {\n visibility: 'visible',\n },\n [`@media screen and (min-width: ${breakpoints.md}px)`]: {\n width: '70%',\n },\n [`@media screen and (min-width: ${breakpoints.lg}px)`]: {\n width: '50%',\n },\n },\n featuredApps: {\n [`@media screen and (max-width: 1383px) and (min-width: 1133px)`]: {\n '& .appCardSelector:nth-child(n+4)': {\n display: 'none',\n },\n },\n },\n results: {\n '& button': {\n height: 'auto',\n },\n },\n fullWidth: {\n width: '100%',\n },\n };\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Box } from '@wds/box';\nimport { Typography } from '@wds/typography';\nimport CategorySection from '../CategorySection';\nimport { FEATURED } from '~app/pages/AppsDirectory/components/SearchContext/constants';\nimport EmptySearchImg from '../../../../static/images/empty-search.svg';\nimport useStyles from '../../styles';\n\nexport const NoResultsCard = ({ searchTerm }) => {\n const { featuredApps, fullWidth } = useStyles();\n\n return (\n <>\n \n \n \n \n \n \n “{searchTerm}” returned no results\n \n \n \n We weren't able to find a match with our search.\n
    \n Take a look at the trending integrations below\n
    \n
    \n \n \n \n Try removing a filter\n \n \n \n No results matched this set of filters.\n
    \n Or, take a look at the trending integrations below\n
    \n
    \n
    \n \n \"No\n \n
    \n
    \n \n \n \n \n );\n};\nNoResultsCard.propTypes = {\n searchTerm: PropTypes.string.isRequired,\n};\n\nexport default NoResultsCard;\n","import React, { useContext, useState } from 'react';\nimport { Typography } from '@wds/typography';\nimport { Box } from '@wds/box';\nimport { Button } from '@wds/button';\nimport { Pagination } from '@wds/pagination';\nimport { Grid } from '@wds/grid';\nimport AppListingContext from './components/AppListingContext/AppListingContext';\nimport AppsGrid from './components/AppsGrid/AppsGrid';\nimport CategorySection from './components/CategorySection';\nimport { SearchContext } from '../../components/SearchContext';\nimport { FEATURED } from '../../components/SearchContext/constants';\nimport AppListingSort from './components/AppListingSort/AppListingSort';\nimport useStyles from './styles';\nimport NoResultsCard from './components/NoResultsCard';\n\nconst Listings = () => {\n const { featuredApps, results } = useStyles();\n const { search: searchTerm, pageNum, updatePageNum } = useContext(SearchContext);\n const { appListings, pageInfo, isInitialSearch, clearSearch } = useContext(AppListingContext);\n const [featuredParams, setFeaturedParams] = useState({ sortBy: FEATURED.value, page: 1, pageSize: 4 });\n\n const showAllFeatured = () => {\n setFeaturedParams({ sortBy: FEATURED.value, page: 1, pageSize: 12 });\n };\n\n const hideAllFeatured = () => {\n setFeaturedParams({ sortBy: FEATURED.value, page: 1, pageSize: 4 });\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n All Apps\n \n \n \n \n \n Results\n \n \n \n \n \n \n \n \n \n \n \n \n \n 0}>\n \n \n {\n updatePageNum(newPage);\n }}\n />\n \n \n \n \n \n \n \n );\n};\n\nexport default Listings;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Box } from '@wds/box';\nimport { InputGroup, InputGroupAddon } from '@wds/input-group';\nimport { Input } from '@wds/input';\nimport { IconSearch } from '@wds/icons';\nimport { MetricsTracker, USER_EVENTS } from '@sm/metrics';\nimport { debounce } from 'lodash';\nimport { withRouter } from 'react-router-dom';\nimport { SearchConsumer } from '~app/pages/AppsDirectory/components/SearchContext';\n\nconst SearchBox = ({ location }) => {\n const debouncedSearchTracking = debounce(value => {\n MetricsTracker.track({\n name: USER_EVENTS.ELEMENT_INTERACTION,\n data: {\n amplitudeEvent: 'app directory searched',\n actionType: 'directory_search.searched',\n actionFlow: 'directory_search',\n searchTerm: value,\n location: location.pathname,\n },\n });\n }, 500);\n\n return (\n \n \n {({ search, updateSearch }) => {\n const onSearchTextChange = text => {\n updateSearch(text);\n if (text.length > 4) {\n debouncedSearchTracking(text);\n }\n };\n\n return (\n \n {\n onSearchTextChange(e.target.value);\n }}\n />\n \n \n \n \n );\n }}\n \n \n );\n};\n\nSearchBox.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string,\n }).isRequired,\n};\n\nexport default withRouter(SearchBox);\n","import { Banner } from '@wds/banner';\nimport React, { useState } from 'react';\nimport { useSearchParams } from '~app/pages/AppsDirectory/components/utils';\n\nexport const NewAppDirectoryBanner = () => {\n const urlParams = useSearchParams();\n const fromV1 = urlParams.get('from_v1');\n const [showFromV1Banner, setShowFromV1Banner] = useState(fromV1);\n\n return (\n <>\n \n setShowFromV1Banner(false)}\n dismissible\n color=\"info\"\n >\n The URL you have selected is no longer valid as we have updated our App Directory to provide you a better\n experience. You may continue to filter and search for your desired app or integration. And, don’t forget to\n update any bookmarks you may have.\n \n \n \n );\n};\n\nexport default NewAppDirectoryBanner;\n","import React, { useEffect, useContext } from 'react';\nimport { BasePage, StaticContext, Helmet } from '@sm/webassets';\nimport { Box } from '@wds/box';\n\nimport { MetricsTracker, USER_EVENTS } from '@sm/metrics';\n\nimport JumboHeader from './components/JumboHeader';\nimport ModernHeader from '../../components/ModernHeader';\nimport waitForUsabilla from '~app/helpers/waitForUsabilla';\nimport FilterNav from '../../components/FilterNav';\nimport UCSModule from '../../../components/UCSModule';\nimport { CategoriesProvider } from '../../components/CategoriesContext';\nimport { SearchProvider } from '../../components/SearchContext';\n\nimport getCanonicalUrlOrNoIndex from '~app/helpers/getCanonicalUrlOrNoIndex';\nimport Listings from './Listings';\nimport { AppListingProvider } from './components/AppListingContext/AppListingContext';\nimport LeftNavLayout from '../../components/Layouts/LeftNavLayout';\nimport SearchBox from './components/SearchBox';\nimport useStyles from './styles';\nimport NewAppDirectoryBanner from './components/NewAppDirectoryBanner';\n\nconst HomeV2 = () => {\n useEffect(() => {\n waitForUsabilla(() => {\n window.usabilla_live('show');\n window.usabilla_live('setForm', 'APP DIRECTORY');\n });\n }, []);\n\n const {\n environment: { subdomain, domain, tld },\n user,\n url,\n } = useContext(StaticContext);\n\n useEffect(() => {\n MetricsTracker.track({\n name: USER_EVENTS.PAGE_VIEW,\n data: {\n amplitudeEvent: 'page viewed',\n pageName: 'apps',\n },\n });\n }, []);\n\n const { mobileSearchBox, tabletSearchBox, homeContainer, bodyContainer } = useStyles();\n\n const { noIndex, canonicalUrl } = getCanonicalUrlOrNoIndex(subdomain, domain, tld, url);\n\n return (\n
    \n \n \n \n SurveyMonkey App Directory & Integrations\n \n \n \n \n \n \n \n \n <>\n \n \n \n \n \n } />\n \n \n \n \n \n \n }>\n \n \n \n \n \n \n \n \n \n \n \n
    \n );\n};\n\nexport default HomeV2;\n","import React, { useContext } from 'react';\n\nimport { SkeletonLoader, DesktopScreen, MobileScreen, StaticContext } from '@sm/webassets';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nconst AppDetailsSkeleton = props => {\n const { userAgent } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\n return (\n <>\n \n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n\n \n \n \n \n \n \n );\n};\n\nexport default AppDetailsSkeleton;\n","import { createUseStyles } from 'react-jss';\n\nconst styles = createUseStyles(theme => {\n const responsiveContainerPadding = {\n paddingLeft: `${theme.spacing['6']}px`,\n paddingRight: `${theme.spacing['6']}px`,\n [`@media screen and (min-width: ${theme.breakpoints.sm}px)`]: {\n paddingLeft: `${theme.spacing['8']}px`,\n paddingRight: `${theme.spacing['8']}px`,\n },\n };\n\n return {\n appDetailsHeader: {\n backgroundColor: '#DAEAE4',\n ...responsiveContainerPadding,\n },\n contentContainer: {\n ...responsiveContainerPadding,\n },\n footerContainer: {\n ...responsiveContainerPadding,\n },\n appDetailsHeaderLogo: {\n borderRadius: '5px',\n backgroundColor: theme.palette.background.light,\n boxShadow: '0px 1px 2px grey',\n maxHeight: '350px',\n },\n appDetailsHeaderLogoImg: {\n maxInlineSize: '100%',\n blockSize: 'auto',\n maxWidth: '300px',\n },\n textContainer: {\n width: '860px',\n [`@media screen and (max-width: ${theme.breakpoints.sm}px)`]: {\n width: '100%',\n },\n },\n appDetailsTab: {\n minHeight: '500px',\n padding: `${theme.spacing['4']}px ${theme.spacing['6']}px`,\n width: '860px',\n [`@media screen and (max-width: ${theme.breakpoints.lg}px)`]: {\n paddingLeft: 0,\n paddingRight: 0,\n width: '100%',\n },\n },\n appDetailsMediaGallery: {\n maxHeight: '150px',\n },\n appDetailsMediaModalImg: {\n maxInlineSize: '100%',\n blockSize: 'auto',\n height: 'auto',\n maxHeight: '80vh',\n maxWidth: '80vw',\n marginTop: `${theme.spacing['3']}px`,\n },\n appDetailsMediaModalYoutube: {\n // height: '85vh',\n // width: '75vw',\n width: '100%',\n height: '100%',\n maxWidth: '75vw',\n maxHeight: '85vh',\n },\n appDetailsYoutubeWrapper: {\n marginTop: `${theme.spacing['5']}px`,\n position: 'relative',\n paddingBottom: '56.25%',\n height: '0',\n\n [`@media screen and (min-width: ${theme.breakpoints.lg}px)`]: {\n marginTop: 0,\n },\n },\n appDetailsMediaModalYoutubeWrapper: {\n position: 'relative',\n paddingBottom: '56.25%',\n height: '0',\n marginTop: `${theme.spacing['3']}px`,\n },\n appDetailsYoutubeFrame: {\n position: 'absolute',\n border: 'none',\n top: '0',\n left: '0',\n width: '100%',\n height: '100%',\n },\n appDetailsModalLeft: {\n display: 'flex',\n placeItems: 'center',\n },\n appDetailsModalMain: {\n display: 'flex',\n placeItems: 'center',\n justifyContent: 'center',\n },\n appDetailsModalRight: {\n display: 'flex',\n placeItems: 'center',\n },\n uninstallButton: {\n marginLeft: `${theme.spacing[2]}px`,\n },\n appDetailsModal: {\n height: '100vh',\n overflow: 'hidden',\n },\n appDetailsModalBody: {\n overflowY: 'auto',\n },\n appDetailsModalMediaOpened: {\n display: 'block',\n background: 'white',\n position: 'absolute',\n top: 0,\n marginTop: '80px',\n width: '100%',\n height: 'calc(100vh- 160px)',\n },\n appDetailsModalMediaClosed: {\n display: 'none',\n },\n appDetailsModalMediaWrapper: {\n '& button': {\n height: 'calc(100vh - 160px)',\n '&:hover, &:active, &:focus': {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n },\n },\n },\n footerColumn: {\n marginBottom: `${theme.spacing['6']}px`,\n wordBreak: 'break-all',\n },\n };\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Grid } from '@wds/grid';\nimport { Typography } from '@wds/typography';\nimport { Box } from '@wds/box';\nimport { removeQueryParameters, stripHttp } from '~app/pages/AppsDirectory/components/utils';\nimport useStyles from '../styles';\n\nexport const AppDetailsFooter = ({ appDetails }) => {\n const { footerContainer, footerColumn } = useStyles();\n return (\n \n \n \n \n \n Support URL\n \n {appDetails.supportUrl}\n \n \n \n \n \n \n \n Support Email\n \n {appDetails.supportEmail}\n \n \n \n \n \n \n \n Support Number\n \n {appDetails.supportPhoneNumber}\n \n \n \n \n \n \n Privacy\n \n {stripHttp(removeQueryParameters(appDetails.privacyPolicyUrl))}\n \n \n \n \n \n Terms of service\n \n {stripHttp(removeQueryParameters(appDetails.termsOfUseUrl))}\n \n \n \n \n \n );\n};\n\nAppDetailsFooter.propTypes = {\n appDetails: PropTypes.shape({\n publisher: PropTypes.string,\n featureList: PropTypes.arrayOf(PropTypes.string),\n googleAnalyticsTrackingId: PropTypes.string,\n supportEmail: PropTypes.string,\n supportPhoneNumber: PropTypes.string,\n supportUrl: PropTypes.string,\n requirements: PropTypes.arrayOf(PropTypes.string),\n screenshots: PropTypes.arrayOf(PropTypes.string),\n privacyPolicyUrl: PropTypes.string,\n termsOfUseUrl: PropTypes.string,\n blogUrl: PropTypes.string,\n youtubeUrl: PropTypes.string,\n websiteUrl: PropTypes.string,\n installUrl: PropTypes.string,\n upgradeRequired: PropTypes.bool,\n optionalUpgrade: PropTypes.bool,\n scopes: PropTypes.arrayOf(PropTypes.string),\n link: PropTypes.string,\n linkType: PropTypes.string,\n }).isRequired,\n};\n\nexport default AppDetailsFooter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Grid } from '@wds/grid';\nimport { Tab, Tabs } from '@wds/tabs';\nimport { Box } from '@wds/box';\nimport { sanitizeString } from '@sm/utils';\nimport { Typography } from '@wds/typography';\nimport { List } from '@wds/list';\nimport { IconGear, IconUserFilled } from '@wds/icons';\nimport useStyles from '../styles';\n\nexport const AppDetailsInfo = ({ appDetails }) => {\n const { appDetailsTab } = useStyles();\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {`This app will require an additional ${appDetails.details.requirements.type} account:`}\n \n \n \n }>\n \n \n {appDetails.details.requirements.label}\n \n \n \n \n \n

    {appDetails.details.requirements.description}

    \n
    \n
    \n \n \n \n This app will require access to:\n \n \n \n {appDetails.details.scopes.map(scope => (\n }>\n {scope}\n \n ))}\n \n \n
    \n
    \n
    \n
    \n
    \n );\n};\n\nAppDetailsInfo.propTypes = {\n appDetails: PropTypes.shape({\n id: PropTypes.string,\n isIntegration: PropTypes.bool,\n name: PropTypes.string,\n tagline: PropTypes.string,\n fullDescription: PropTypes.string,\n logo: PropTypes.string,\n installed: PropTypes.bool,\n details: PropTypes.shape({\n publisher: PropTypes.string,\n featureList: PropTypes.arrayOf(PropTypes.string),\n googleAnalyticsTrackingId: PropTypes.string,\n supportEmail: PropTypes.string,\n supportPhoneNumber: PropTypes.string,\n supportUrl: PropTypes.string,\n requirements: PropTypes.arrayOf(PropTypes.string),\n screenshots: PropTypes.arrayOf(PropTypes.string),\n privacyPolicyUrl: PropTypes.string,\n termsOfUseUrl: PropTypes.string,\n blogUrl: PropTypes.string,\n youtubeUrl: PropTypes.string,\n websiteUrl: PropTypes.string,\n installUrl: PropTypes.string,\n upgradeRequired: PropTypes.bool,\n optionalUpgrade: PropTypes.bool,\n scopes: PropTypes.arrayOf(PropTypes.string),\n link: PropTypes.string,\n linkType: PropTypes.string,\n }),\n }).isRequired,\n};\n\nexport default AppDetailsInfo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Grid } from '@wds/grid';\nimport { Box } from '@wds/box';\nimport { Typography } from '@wds/typography';\nimport useStyles from '../styles';\nimport { trimStringTo } from '~app/pages/AppsDirectory/components/utils';\n\nexport const AppDetailsFeatures = ({ featureList }) => {\n const { textContainer } = useStyles();\n\n return (\n \n \n \n
      \n {featureList.map(feature => (\n
    • \n {trimStringTo(200, feature)}\n
    • \n ))}\n
    \n
    \n
    \n
    \n );\n};\n\nAppDetailsFeatures.propTypes = {\n featureList: PropTypes.arrayOf(PropTypes.string),\n};\n\nAppDetailsFeatures.defaultProps = {\n featureList: [],\n};\n\nexport default AppDetailsFeatures;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from '@wds/button';\nimport { generateMetricsAttribute } from '@sm/metrics';\nimport { useSearchParams } from '~app/pages/AppsDirectory/components/utils';\n\nexport const AppDetailsActionButton = ({ appDetails, stretched, target, inModal }) => {\n const urlParams = useSearchParams();\n\n const openLink = url => {\n window.open(url, target);\n };\n\n // common amplitude properties to be added to most events.\n // Use ...expansion in your metrics event and override\n // props when necessary\n const sharedMetricProps = {\n amplitudeEvent: 'app directory user interaction',\n pageName: 'app details',\n appName: appDetails.name,\n interactionType: 'click',\n sourceApp: urlParams.get('ut_source'),\n };\n\n return (\n \n \n \n \n \n \n \n \n openLink(appDetails.details.link)}\n color=\"upgrade\"\n stretched={stretched}\n data-sm-metrics={\n inModal\n ? generateMetricsAttribute({\n data: {\n amplitudeEvent: 'experiment event',\n eventName: 'connect upgrade clicked',\n actionType: 'app_details.connect_upgrade_click',\n actionFlow: 'browsing',\n interactionType: 'click',\n interactionLocation: 'upgrade',\n integrationOptionClicked: appDetails.name,\n },\n })\n : generateMetricsAttribute({\n data: {\n ...sharedMetricProps,\n actionType: 'app_details.upgrade_click',\n actionFlow: 'browsing',\n interactionLocation: 'upgrade button',\n },\n })\n }\n >\n Upgrade\n \n \n \n openLink(appDetails.details.link)}\n color=\"primary\"\n stretched={stretched}\n data-sm-metrics={\n inModal\n ? generateMetricsAttribute({\n data: {\n amplitudeEvent: 'experiment event',\n eventName: 'connect install clicked',\n actionType: 'app_details.connect_install_click',\n actionFlow: 'browsing',\n interactionType: 'click',\n interactionLocation: 'install',\n integrationOptionClicked: appDetails.name,\n },\n })\n : generateMetricsAttribute({\n data: {\n ...sharedMetricProps,\n actionType: 'app_details.install_click',\n actionFlow: 'browsing',\n interactionLocation: 'install button',\n },\n })\n }\n >\n Install\n \n \n \n );\n};\n\nAppDetailsActionButton.propTypes = {\n appDetails: PropTypes.shape({\n id: PropTypes.string,\n isIntegration: PropTypes.bool,\n name: PropTypes.string,\n tagline: PropTypes.string,\n fullDescription: PropTypes.string,\n logo: PropTypes.string,\n installed: PropTypes.bool,\n details: PropTypes.shape({\n publisher: PropTypes.string,\n featureList: PropTypes.arrayOf(PropTypes.string),\n googleAnalyticsTrackingId: PropTypes.string,\n supportEmail: PropTypes.string,\n supportPhoneNumber: PropTypes.string,\n supportUrl: PropTypes.string,\n requirements: PropTypes.arrayOf(PropTypes.string),\n screenshots: PropTypes.arrayOf(PropTypes.string),\n privacyPolicyUrl: PropTypes.string,\n termsOfUseUrl: PropTypes.string,\n blogUrl: PropTypes.string,\n youtubeUrl: PropTypes.string,\n websiteUrl: PropTypes.string,\n installUrl: PropTypes.string,\n upgradeRequired: PropTypes.bool,\n optionalUpgrade: PropTypes.bool,\n scopes: PropTypes.arrayOf(PropTypes.string),\n link: PropTypes.string,\n linkType: PropTypes.string,\n }),\n }).isRequired,\n stretched: PropTypes.bool.isRequired,\n target: PropTypes.string,\n inModal: PropTypes.bool,\n};\n\nAppDetailsActionButton.defaultProps = {\n target: '_self',\n inModal: false,\n};\n\nexport default AppDetailsActionButton;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useMutation } from '@apollo/client';\nimport { Button } from '@wds/button';\nimport uninstallAppMutation from '../remove-app.graphql';\nimport UninstallConfirmModal from './UninstallConfirmModal';\n\nimport useStyles from '../styles';\n\nconst UninstallButton = ({ appId, onSuccess, onClose, color, stretched }) => {\n const { uninstallButton } = useStyles();\n const [confirmDialogVisible, setConfirmDialogVisible] = useState(false);\n\n const [uninstallApp, { loading }] = useMutation(uninstallAppMutation, {\n onCompleted: () => {\n setConfirmDialogVisible(false);\n onSuccess();\n },\n });\n\n const handleCancel = () => {\n setConfirmDialogVisible(false);\n onClose();\n };\n\n const handleConfirm = () => {\n uninstallApp({\n variables: { input: { appId } },\n });\n };\n\n return (\n <>\n \n setConfirmDialogVisible(true)}\n data-testid=\"UninstallButton\"\n color={color}\n stretched={stretched}\n >\n Uninstall\n \n \n \n \n );\n};\n\nUninstallButton.propTypes = {\n appId: PropTypes.string.isRequired,\n onClose: PropTypes.func,\n onSuccess: PropTypes.func,\n color: PropTypes.string,\n stretched: PropTypes.bool,\n};\n\nUninstallButton.defaultProps = {\n onClose: () => {},\n onSuccess: () => {},\n color: 'alt',\n stretched: false,\n};\n\nexport default UninstallButton;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Box } from '@wds/box';\nimport { MobileScreen, StaticContext, TabletScreen } from '@sm/webassets';\nimport { Grid } from '@wds/grid';\nimport { Typography } from '@wds/typography';\nimport { getClientEnvironmentDetails } from '@sm/utils';\nimport AppDetailsActionButton from './AppDetailsActionButton';\nimport UninstallButton from './UninstallButton';\nimport useStyles from '../styles';\n\nexport const AppDetailsJumboHeader = ({ appDetails, refreshDetails, showCTA }) => {\n const { userAgent } = useContext(StaticContext);\n const { isMobile } = getClientEnvironmentDetails(userAgent);\n const { appDetailsHeaderLogo, appDetailsHeaderLogoImg } = useStyles();\n\n return (\n \n \n \n \n \n \n \n \n \n \n {appDetails.name}\n \n \n by {appDetails.details.publisher}\n \n \n {appDetails.tagline}\n \n \n \n \n \n refreshDetails()}\n color=\"alt\"\n stretched={isMobile}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {appDetails.name}\n \n \n by {appDetails.details.publisher}\n \n \n \n\n \n {appDetails.tagline}\n \n \n \n \n refreshDetails()} color=\"alt\" stretched />\n \n \n \n \n \n );\n};\n\nAppDetailsJumboHeader.propTypes = {\n appDetails: PropTypes.shape({\n id: PropTypes.string,\n isIntegration: PropTypes.bool,\n name: PropTypes.string,\n tagline: PropTypes.string,\n fullDescription: PropTypes.string,\n logo: PropTypes.string,\n installed: PropTypes.bool,\n details: PropTypes.shape({\n publisher: PropTypes.string,\n featureList: PropTypes.arrayOf(PropTypes.string),\n googleAnalyticsTrackingId: PropTypes.string,\n supportEmail: PropTypes.string,\n supportPhoneNumber: PropTypes.string,\n supportUrl: PropTypes.string,\n requirements: PropTypes.arrayOf(PropTypes.string),\n screenshots: PropTypes.arrayOf(PropTypes.string),\n privacyPolicyUrl: PropTypes.string,\n termsOfUseUrl: PropTypes.string,\n blogUrl: PropTypes.string,\n youtubeUrl: PropTypes.string,\n websiteUrl: PropTypes.string,\n installUrl: PropTypes.string,\n upgradeRequired: PropTypes.bool,\n optionalUpgrade: PropTypes.bool,\n scopes: PropTypes.arrayOf(PropTypes.string),\n link: PropTypes.string,\n linkType: PropTypes.string,\n }),\n }).isRequired,\n refreshDetails: PropTypes.func.isRequired,\n showCTA: PropTypes.bool,\n};\n\nAppDetailsJumboHeader.defaultProps = {\n showCTA: false,\n};\n\nexport default AppDetailsJumboHeader;\n","import React, { createContext, useCallback, useContext, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nconst CarouselContext = createContext();\n\nexport const CarouselProvider = ({ children }) => {\n const [mediaList, setMediaList] = useState([]);\n const [selectedMediaIndex, setSelectedMediaIndex] = useState(0);\n\n const updateMediaList = useCallback(newList => {\n setMediaList(newList);\n setSelectedMediaIndex(0);\n }, []);\n\n const selectMedia = index => {\n if (index >= 0 && index < mediaList.length) {\n setSelectedMediaIndex(index);\n }\n };\n\n const selectNextMedia = () => {\n selectMedia((selectedMediaIndex + 1) % mediaList.length);\n };\n\n const selectPreviousMedia = () => {\n selectMedia((selectedMediaIndex - 1 + mediaList.length) % mediaList.length);\n };\n\n const contextValue = {\n mediaList,\n selectMedia,\n selectedMedia: mediaList[selectedMediaIndex],\n updateMediaList,\n selectNextMedia,\n selectPreviousMedia,\n };\n\n return {children};\n};\n\nCarouselProvider.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport const useCarousel = () => useContext(CarouselContext);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction ResponsiveImage({ src, maxHeight, alt }) {\n return (\n \n );\n}\n\nResponsiveImage.propTypes = {\n src: PropTypes.string.isRequired,\n maxHeight: PropTypes.string.isRequired,\n alt: PropTypes.string,\n};\n\nResponsiveImage.defaultProps = {\n alt: '',\n};\n\nexport default ResponsiveImage;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Box } from '@wds/box';\nimport ResponsiveImage from './ResponsiveImage';\nimport useStyles from '../styles';\n\nexport const DisplayMedia = ({ media, onClick, maxHeight }) => {\n const { appDetailsYoutubeWrapper, appDetailsYoutubeFrame } = useStyles();\n\n return (\n \n \n
    \n