{"version":3,"file":"static/chunks/196-c2fa7a6ee16caa12.js","mappings":"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","sources":["webpack://_N_E/./source/app/components/shared/BasePage/SurveyBasePage.tsx","webpack://_N_E/./components/pageLayout/SurveyMonkey.tsx","webpack://_N_E/./components/pageLayout/index.tsx","webpack://_N_E/./source/static/images/logos/facebook.png","webpack://_N_E/./source/static/images/logos/google.png","webpack://_N_E/./source/app/components/HeroFormCTA/useStyles.ts","webpack://_N_E/./source/app/hooks/useSignUpValidation.ts","webpack://_N_E/./source/app/components/HeroFormCTA/index.tsx","webpack://_N_E/./source/app/components/amplitudeEnums.ts","webpack://_N_E/./source/app/components/core/Button/Button.tsx","webpack://_N_E/./source/app/components/core/Button/index.ts","webpack://_N_E/./source/app/helpers/assetLoading.ts","webpack://_N_E/./source/app/pages/experiments.tsx","webpack://_N_E/./source/app/styles/cmsTheme.ts","webpack://_N_E/ignored|/app/apps/respweb/node_modules/intl-messageformat|./lib/locales","webpack://_N_E/ignored|/app/apps/respweb/node_modules/intl-relativeformat|./lib/locales","webpack://_N_E/"],"sourcesContent":["import React, { ReactNode, useContext } from 'react';\nimport Head from 'next/head';\nimport Script from 'next/script';\nimport { MetricsTracker, PageMetricsProvider } from '@sm/metrics';\nimport { StaticContext } from '@sm/webassets/StaticContext';\nimport { L10nProvider, L10nProviderProps } from '@sm/intl';\n\nexport type SurveyBasePageProps = {\n legacyWeb: string;\n pageId: string;\n includeExperiments?: boolean;\n includeGTM?: boolean;\n pageMetricsAttributes?: object;\n translationData?: L10nProviderProps;\n children: ReactNode;\n};\n\nconst SurveyBasePage = ({\n children,\n pageId,\n pageMetricsAttributes,\n legacyWeb,\n translationData,\n includeExperiments = false,\n includeGTM = false,\n}: SurveyBasePageProps): JSX.Element => {\n const { user, environment, 'client-config': clientConfig, GDPR } = useContext(StaticContext);\n const { countryCode: country } = environment;\n const { gtmId, amplitudeToken, amplitudeForceAnonymous, dataAnalyticsAPIPath, loggingAPIPath } = clientConfig;\n // For Metrics\n MetricsTracker.initialize({\n user,\n dataAnalyticsAPIPath,\n loggingAPIPath,\n country,\n legacyWeb,\n pageId,\n gtmId,\n amplitudeToken,\n // always fallback to anonymous events if not explicitly told otherwise\n forceAnonymous: amplitudeForceAnonymous || true,\n });\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {children}\n \n {includeGTM && (\n \n )}\n \n );\n};\n\nexport default SurveyBasePage;\n","import React, { ReactElement } from 'react';\nimport { StaticProvider } from '@sm/webassets/StaticContext';\nimport { HelmetProvider } from '@sm/webassets/Helmet';\nimport SurveyBasePage from '~app/components/shared/BasePage/SurveyBasePage';\nimport { PageLayoutProps } from './types';\n\nconst SurveyMonkey = ({\n children,\n layout: {\n options: { translationData: _translationData, ...layoutOptions },\n },\n translationData,\n staticData,\n}: PageLayoutProps): ReactElement => {\n return (\n \n \n \n {children}\n \n \n \n );\n};\n\nexport default SurveyMonkey;\n","import React, { ReactElement } from 'react';\nimport { PageLayoutProps } from './types';\nimport Layout from '~components/pageLayout/SurveyMonkey';\n\nconst PageLayout = ({ children, layout, translationData, staticData }: PageLayoutProps): ReactElement => {\n if (!layout) {\n return children;\n }\n // Hardcode SurveyMonkey for now as there is no other Variant and it breaks SSR\n // const variant = layout.variant ?? layout;\n // const Layout = dynamic(import(`~components/pageLayout/${variant}`), { ssr: true }) as PageLayoutComponent;\n\n return (\n \n {children}\n \n );\n};\n\nexport default PageLayout;\n","export default {\"src\":\"//prod.smassets.net/assets/smweb/_next/static/media/facebook.a94c5189.png\",\"height\":41,\"width\":42,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAA9klEQVR42mOwiZx+xTZqxm8g/cUhZsZXWa9JXxkser9IeU36ZR894w4DUPIpEP93jJn5Xztgyv/m/s3/X77++P/gsWv/GWz73jMAdT4C4v9u8bP+MTC0/L//6NX/t+8+/avr2vDfJHTqa5AJj4FG/TcLm/avZ/r2/58+f/9/9cbjfxmVy/+bh017A1YAMl7Ga9K/W3ef/YeCf3sOXfnPYNIDVvAIiP87xc78x+A04f/zlx/+Hzh27R+DXvd/94RZr0FueApVAHLU/xevgAqOXv3PoNcFUvAeZMIlIP4NVPCFwbH/6+Nnb3/vO3z1B4Nx90/3hFm3AeyWneQq7RFtAAAAAElFTkSuQmCC\",\"blurWidth\":8,\"blurHeight\":8};","export default {\"src\":\"//prod.smassets.net/assets/smweb/_next/static/media/google.8c73b61c.png\",\"height\":42,\"width\":41,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAA8klEQVR42mMAgVuB6qLX1LVWXtfQ/H9NQwuEr1/T0PFhAIFDDKZCVxm0b17XBEqqa+0ASiy6pqH995qmbjkDCLxbzzPtXpby/8sMOvEMUPCfgYGZAQa+HGN49vUww20GIFi0ioExqW73toiG/fdi6/aeBeLjDD8OMzx4e5DzEQMUxDbsWRNXt+9UbP3ebzF1+/4zXN6j0F653ua/wCrXSgYoiGreIhNXc/BHTP3eywwMxXnsOqtcDrqvcfrvstrlmssa+4PuK8L+h/Ut+ptQctqaAQQWbTVmc17t3Oa6xumx62qX985rLbZbb2MwYmBgYAAAA2NkXnQmTs8AAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":8};","import { createUseStyles } from 'react-jss';\nimport { Theme } from '@wds/styles';\nimport facebookLogo from '~static/images/logos/facebook.png';\nimport googleLogo from '~static/images/logos/google.png';\nimport { getSrc } from '~app/helpers/assetLoading';\n\ntype StyleProps = {\n isEnterpriseThankYou?: boolean;\n isExperiment?: boolean;\n};\n\ntype classNames =\n | 'hardRule'\n | 'ctaFormField'\n | 'ctaLabel'\n | 'visuallyHidden'\n | 'enterpriseThankYouForm'\n | 'facebookButton'\n | 'googleButton'\n | 'disclaimerContainer'\n | 'experimentSpan';\n\nconst useStyle = createUseStyles(theme => ({\n ctaFormField: ({ isEnterpriseThankYou, isExperiment }: StyleProps): Record => {\n const inputBase = {\n fontSize: '15px',\n padding: [0, theme.spacing[3]],\n };\n\n if (isEnterpriseThankYou) {\n return {\n margin: '0 auto',\n padding: [theme.spacing[3], 0, 0, 0],\n width: '224px',\n '@media (max-width: 374px)': {\n height: '62px',\n },\n // The wrench input used does not allow addition of a classname\n '& input': {\n ...inputBase,\n height: '50px',\n '@media (max-width: 374px)': {\n height: '48px',\n },\n },\n '& label > span': {\n color: theme.palette.text.light,\n },\n };\n }\n\n return {\n margin: 0,\n padding: isExperiment ? [theme.spacing[1], 0, theme.spacing[5]] : [theme.spacing[1], 0, theme.spacing[3]],\n '& input': inputBase,\n };\n },\n\n experimentSpan: {\n fontSize: theme.type.fontSize.cardTitle,\n [`@media (min-width: ${theme.breakpoints.sm}px)`]: {\n fontSize: 'inherit',\n },\n },\n\n ctaLabel: {\n display: 'block',\n boxSizing: 'border-box',\n marginBottom: '4px',\n // The wrench button used does not allow addition of a classname\n '& > span': {\n fontSize: '13px',\n lineHeight: '1.5em',\n fontWeight: 500,\n },\n },\n\n visuallyHidden: {\n clip: ' rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: '1px',\n width: '1px',\n overflow: 'hidden',\n position: 'absolute',\n whiteSpace: 'nowrap',\n },\n\n /** Only applies to `enterpriseThankYou` */\n enterpriseThankYouForm: {\n // The wrench button used does not allow addition of a classname\n '& button': {\n backgroundColor: theme.palette.background.light,\n height: '50px',\n width: '140px',\n margin: [20, 'auto', 0],\n padding: 0,\n color: theme.palette.text.dark,\n border: [1, 'solid', theme.palette.text.dark],\n '&:hover, &:focus': {\n borderColor: theme.palette.border.main,\n backgroundColor: theme.palette.background.light,\n },\n '&:active': {\n borderColor: theme.palette.border.active,\n backgroundColor: theme.palette.background.light,\n },\n },\n },\n\n hardRule: ({ isEnterpriseThankYou }) => ({\n borderTop: isEnterpriseThankYou ? 'none' : [2, 'solid', theme.palette.border.main],\n width: isEnterpriseThankYou ? 0 : '100%',\n }),\n\n facebookButton: {\n // The wrench button used does not allow addition of a classname\n '& > a': {\n boxSizing: 'border-box',\n fontSize: '15px',\n border: 'none',\n backgroundRepeat: 'no-repeat',\n backgroundSize: theme.spacing[5],\n backgroundColor: '#3d5a98',\n color: theme.palette.text.light,\n backgroundPosition: '10% 41%',\n backgroundImage: `url(${getSrc(facebookLogo)})`,\n\n '&:focus, &:hover': {\n backgroundColor: '#4a71c3',\n textDecoration: 'none',\n },\n '& > span': {\n marginLeft: theme.spacing[4],\n },\n },\n },\n\n googleButton: {\n // The wrench button used does not allow addition of a classname\n '& > a': {\n boxShadow: '0 0 1px 0 rgba(0, 0, 0, 0.12), 0 0 8px 0 rgba(0, 0, 0, 0.12)',\n boxSizing: 'border-box',\n fontSize: '15px',\n border: 'none',\n backgroundRepeat: 'no-repeat',\n backgroundSize: theme.spacing[5],\n backgroundColor: theme.palette.background.light,\n color: theme.palette.text.darkMuted,\n backgroundPosition: '13% 50%',\n backgroundImage: `url(${getSrc(googleLogo)})`,\n '&:focus, &:hover': {\n backgroundColor: theme.palette.background.main,\n textDecoration: 'none',\n },\n '& > span': {\n marginLeft: theme.spacing[4],\n },\n },\n },\n\n disclaimerContainer: {\n '& a': {\n color: theme.palette.link.main,\n },\n },\n}));\n\nexport default useStyle;\n","import { useCallback, useMemo, useState } from 'react';\n\nexport type ValidationType = 'email' | 'password';\n\ntype FieldValidatorHook = {\n data: string;\n error: string;\n hasEnteredText: boolean;\n isLoading: boolean;\n isValid: boolean;\n setText(this: void, text: string): void;\n};\n\ntype SignupValidatorHook = {\n emailError: string;\n hasEnteredEmail: boolean;\n hasEnteredPassword: boolean;\n isLoading: boolean;\n isValid: boolean;\n passwordError: string;\n setEmail(this: void, email: string): void;\n setPassword(this: void, password: string): void;\n};\n\n/**\n * Hook to validate a sign-up field against usersvc' validation API\n *\n * @private\n * @param validationType The type of sign-up field to be validated\n */\nexport function useUserSvcFieldValidator(validationType: ValidationType): FieldValidatorHook {\n const [data, setData] = useState('');\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState('');\n const [hasEnteredText, setHasEnteredText] = useState(false);\n\n useMemo(() => {\n const fetchValidationResponse = async (): Promise => {\n // don't validate on initial render; we know the inputs are empty\n if (hasEnteredText) {\n setIsLoading(true);\n try {\n // NOTE: as implemented, this currently only validates on an input's blur event, introducing\n // \"human reaction time\" debouncing. if that should change, we can add a proper debounce here\n const response = await fetch(`/resp/api/validate/${validationType}`, {\n method: 'POST',\n body: JSON.stringify({ data }),\n headers: {\n 'Content-Type': 'application/json',\n },\n }).then(async res => res.json());\n setError(response.valid ? '' : response.reason);\n } catch (err: unknown) {\n setError('network_error');\n }\n setIsLoading(false);\n }\n };\n\n // this and the above function-wrapped guts are to keep the linter from yelling at\n // me about no floating promises. I didn't invent the rules, I just follow them...\n void fetchValidationResponse();\n }, [validationType, data, hasEnteredText, setError, setIsLoading]);\n\n const setText = useCallback(\n text => {\n setHasEnteredText(true);\n setData(text);\n },\n [setData, setHasEnteredText]\n );\n\n return {\n data,\n hasEnteredText,\n setText,\n isLoading,\n isValid: !isLoading && !error && hasEnteredText,\n error,\n };\n}\n\n/**\n * React hook that validates an email address and password against usersvc for sign-ups\n *\n * NOTE: This uses an old sign-up path that will be replaced by Auth0 in the future.\n * We're using this as part of the migration from anonweb -> respweb so we can\n * compare the two services\n */\nexport default function useSignUpValidation(): SignupValidatorHook {\n const {\n setText: setEmail,\n data: email,\n hasEnteredText: hasEnteredEmail,\n isLoading: isEmailValidating,\n isValid: isEmailValid,\n error: emailError,\n } = useUserSvcFieldValidator('email');\n const {\n setText: setPassword,\n data: password,\n hasEnteredText: hasEnteredPassword,\n isLoading: isPasswordValidating,\n isValid: isPasswordValid,\n error: passwordError,\n } = useUserSvcFieldValidator('password');\n // there is one check that validates the email value against the password and is then presented as a password\n // error, so we'll track that here and use it to override the password error coming from the validation backend\n const [emailPasswordError, setEmailPasswordError] = useState('');\n const isLoading = useMemo(() => isEmailValidating || isPasswordValidating, [isEmailValidating, isPasswordValidating]);\n const isValid = useMemo(\n () => isEmailValid && isPasswordValid && !emailPasswordError,\n [isEmailValid, isPasswordValid, emailPasswordError]\n );\n\n // ensure the password and email are not the same\n useMemo(() => {\n // no error if the fields are empty\n if (!email || !password) {\n setEmailPasswordError('');\n return;\n }\n setEmailPasswordError(email.toLowerCase() === password.toLowerCase() ? 'email_password_same' : '');\n }, [email, password, setEmailPasswordError]);\n\n return {\n setEmail,\n setPassword,\n hasEnteredEmail,\n hasEnteredPassword,\n emailError,\n passwordError: passwordError || emailPasswordError,\n isLoading,\n isValid,\n };\n}\n","import React, { useCallback, useContext, useState, ReactNode, useRef, useMemo, useEffect } from 'react';\nimport { createURL } from '@sm/utils';\nimport { defineMessages, t } from '@sm/intl';\nimport { MetricsTracker, USER_EVENTS, generateMetricsAttribute } from '@sm/metrics';\nimport { Button } from '@wds/button';\nimport { Box } from '@wds/box';\nimport { Typography } from '@wds/typography';\nimport { Grid } from '@wds/grid';\nimport { Input } from '@wds/input';\nimport { Checkbox } from '@wds/checkbox';\nimport { StaticContext } from '@sm/webassets/StaticContext';\nimport { Recaptcha, useRecaptcha } from '@sm/webassets/Recaptcha';\nimport classnames from 'classnames';\n\nimport { Button as CoreButton } from '../core/Button';\nimport useStyles from './useStyles';\nimport {\n ENDPAGE_APP_TYPE,\n ENDPAGE_ERROR_TYPE,\n ENDPAGE_EVENTS,\n ENDPAGE_INTERACTION_LOCATION,\n ENDPAGE_INTERACTION_TYPE,\n} from '~app/components/amplitudeEnums';\nimport { CONTENTEXP_755 } from '~app/pages/experiments';\nimport useSignUpValidation from '~app/hooks/useSignUpValidation';\n\nconst COPY = defineMessages({\n HERO_FORM_SOCIAL_CTA_COPY: {\n id: 'HeroFormCTA.SocialSignUp',\n defaultMessage: 'Or sign in with',\n description: '[Type: Label][Vis: med] - Informs the viewer they can sign in with social media',\n },\n VALIDATION_ERROR_EMAIL_TOO_LONG: {\n id: 'HeroFormCTA.EmailTooLong',\n defaultMessage: 'Sorry, email addresses must be 50 characters or less.',\n description: '[Type: Error][Vis: med] - Error message for email address that is too long',\n },\n VALIDATION_ERROR_USERNAME_TOO_LONG: {\n id: 'HeroFormCTA.UsernameTooLong',\n defaultMessage: 'Sorry, email addresses must be 50 characters or less.',\n description: '[Type: Error][Vis: med] - Error message for email address that is too long (same error as email)',\n },\n VALIDATION_ERROR_EMAIL_TOO_SHORT: {\n id: 'HeroFormCTA.EmailTooShort',\n defaultMessage: 'Please make your email address at least 3 characters long.',\n description: '[Type: Error][Vis: med] - Error message for email address that is too short',\n },\n VALIDATION_ERROR_USERNAME_TOO_SHORT: {\n id: 'HeroFormCTA.UsernameTooShort',\n defaultMessage: 'Please make your email address at least 3 characters long.',\n description: '[Type: Error][Vis: med] - Error message for email address that is too short (same error as email)',\n },\n VALIDATION_ERROR_EMAIL_MALFORMED: {\n id: 'HeroFormCTA.EmailMalformed',\n defaultMessage: 'Please enter a valid email address.',\n description: '[Type: Error][Vis: med] - Error message for email address that is malformed',\n },\n VALIDATION_ERROR_EMAIL_ROLE_BASED: {\n id: 'HeroFormCTA.EmailRoleBased',\n defaultMessage: \"We can't deliver to this email address. Try a different one.\",\n description: '[Type: Error][Vis: med] - Error message for role-based email address',\n },\n VALIDATION_ERROR_EMAIL_MISENCODED: {\n id: 'HeroFormCTA.EmailMisencoded',\n defaultMessage: 'Your email address is not valid.',\n description: '[Type: Error][Vis: med] - Error message for misencoded email address',\n },\n VALIDATION_ERROR_USERNAME_TAKEN: {\n id: 'HeroFormCTA.UsernameTaken',\n defaultMessage: 'Sorry, that email is already taken.',\n description: '[Type: Error][Vis: med] - Error message for email address that is already taken',\n },\n VALIDATION_ERROR_USERNAME_WHITESPACE_NOT_ALLOWED: {\n id: 'HeroFormCTA.UsernameWhitespaceNotAllowed',\n defaultMessage: \"Sorry, we don't allow spaces.\",\n description: '[Type: Error][Vis: med] - Error message for email address that contains whitespace',\n },\n VALIDATION_ERROR_USERNAME_CONTAINS_URL: {\n id: 'HeroFormCTA.UsernameContainsUrl',\n defaultMessage: \"Email addresses can't include a URL.\",\n description: '[Type: Error][Vis: med] - Error message for email address that contains a URL',\n },\n VALIDATION_ERROR_PASSWORD_TOO_SHORT: {\n id: 'HeroFormCTA.PasswordTooShort',\n defaultMessage: 'Please use at least 8 characters.',\n description: '[Type: Error][Vis: med] - Error message for password that is too short',\n },\n VALIDATION_ERROR_PASSWORD_IN_PROHIBITED_LIST: {\n id: 'HeroFormCTA.PasswordInProhibitedList',\n defaultMessage: 'Common words are easy to guess. Try again.',\n description: '[Type: Error][Vis: med] - Error message for password that is in a prohibited list',\n },\n VALIDATION_ERROR_PASSWORD_DOES_NOT_MATCH: {\n id: 'HeroFormCTA.PasswordDoesNotMatch',\n defaultMessage: \"Passwords don't appear to match.\",\n description: '[Type: Error][Vis: med] - Error message for password that does not match',\n },\n VALIDATION_ERROR_EMAIL_PASSWORD_SAME: {\n id: 'HeroFormCTA.EmailPasswordSame',\n defaultMessage: `Please use a password that's different from your email.`,\n description: '[Type: Error][Vis: med] - Error message for email and password that are the same',\n },\n VALIDATION_USERSVC_ERROR: {\n id: 'HeroFormCTA.UsersvcError',\n defaultMessage: 'Sorry, something went wrong. Please try again.',\n description: '[Type: Error][Vis: med] - Generic error message for if validation fails',\n },\n VALIDATION_NETWORK_ERROR: {\n id: 'HeroFormCTA.NetworkError',\n defaultMessage: 'Sorry, something went wrong. Please try again.',\n description: '[Type: Error][Vis: med] - Generic error message for if validation fails due to a network error',\n },\n});\n\n// this is only ever shown in german, so we'll leave it outside of l10n for now\n// anonweb did it this way, so there's precedence\nconst DE_CHECKBOX_ERROR = {\n id: 'HeroFormCTA.DECheckboxError',\n defaultMessage: 'Sie müssen zuerst die oben markierte Checkbox auswählen.',\n description: '[Type: Error][Vis: med] - Error message when terms are not accepted',\n};\n\nexport type Props = {\n className: string;\n ctaFormSubmit: string;\n ctaFormEmail: string;\n ctaFormEmailPlaceholder: string;\n ctaFormNewsletterOptOut: string;\n ctaFormPassword: string;\n ctaFormPasswordPlaceholder: string;\n ctaFormPrivacyConsent: ReactNode;\n ctaFacebook?: string;\n ctaGoogle?: string;\n /** Disclaimer HTML string */\n disclaimer: string;\n utSource?: string;\n utSource2?: string;\n boldHeader?: string;\n subHeader?: string;\n showThirdPartySignUpActions?: boolean;\n showDisclaimer?: boolean;\n isEnterpriseThankYou?: boolean;\n};\n\n/** Type-wrapper for `Typography` to allow use of `dangerouslySetInnerHTML` */\nconst TypographyWithInnerHTML = Typography as React.ForwardRefExoticComponent<\n Omit, 'children'> & {\n dangerouslySetInnerHTML: { __html: string };\n children?: never;\n }\n>;\n\nconst getValidationError = (error?: string): string => {\n if (error) {\n // if we don't have a specific error message, default to a generic network error\n const errorKey =\n COPY[`VALIDATION_ERROR_${error.toUpperCase()}` as keyof typeof COPY] ?? COPY.VALIDATION_NETWORK_ERROR;\n return t(errorKey);\n }\n return '';\n};\n\nconst HeroFormCTA = ({\n className,\n ctaFormEmail,\n ctaFormEmailPlaceholder,\n ctaFormNewsletterOptOut,\n ctaFormPassword,\n ctaFormPasswordPlaceholder,\n ctaFormPrivacyConsent,\n ctaFormSubmit,\n ctaFacebook = 'Facebook',\n ctaGoogle = 'Google',\n disclaimer,\n utSource = '',\n utSource2 = '',\n boldHeader,\n subHeader,\n showThirdPartySignUpActions = true,\n showDisclaimer = true,\n isEnterpriseThankYou,\n}: Props): React.ReactElement => {\n const utSource3 = 'HeroFormCTA';\n const actionType = 'click-url';\n const actionFlow = 'survey-endpage';\n const thirdPartySignUpUrl = '/user/third-party/';\n const isExperiment = utSource2 === 'RebrandEpFormV1';\n const formRef = useRef(null);\n // we need references to the two inputs as doesn't support focusin for firing\n // the focused event...\n const emailInputRef = useRef(null);\n const passwordInputRef = useRef(null);\n const privacyCheckRef = useRef(null);\n\n const {\n environment: { countryCode },\n smParams: { surveyId, collectorId, respondentId },\n templateType,\n contentexp755Treatment,\n } = useContext(StaticContext);\n\n const {\n hardRule,\n enterpriseThankYouForm,\n ctaFormField,\n ctaLabel,\n visuallyHidden,\n facebookButton,\n googleButton,\n experimentSpan,\n disclaimerContainer,\n } = useStyles({\n isEnterpriseThankYou,\n isExperiment,\n });\n\n const containerClasses = classnames('sm-hero-form-cta', className);\n\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [hasAcceptedTerms, setHasAcceptedTerms] = useState(false);\n const {\n hasEnteredEmail,\n hasEnteredPassword,\n isValid,\n isLoading: isValidating,\n emailError,\n passwordError,\n setEmail: setValidatorEmail,\n setPassword: setValidatorPassword,\n } = useSignUpValidation();\n const [shouldSubmit, setShouldSubmit] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const recaptchaContext = useRecaptcha({\n actionName: 'user_signup',\n successCallback: undefined, // should not use for DOM manipulations\n siteKey: undefined, // set via StaticContext\n useEnterprise: undefined, // set via StaticContext\n errorCallback: undefined,\n });\n\n /**\n * Fires an Amplitude \"endpage user interaction\" event\n *\n * @param interactionType The type of interaction that's happening\n * @param interactionLocation Where the interaction is happening\n */\n const fireInteractionEvent = useCallback(\n (interactionType: ENDPAGE_INTERACTION_TYPE, interactionLocation: ENDPAGE_INTERACTION_LOCATION): void => {\n MetricsTracker.track({\n name: USER_EVENTS.ELEMENT_INTERACTION,\n data: {\n amplitudeEvent: ENDPAGE_EVENTS.USER_INTERACTION,\n interactionLocation,\n interactionType,\n templateType,\n app: ENDPAGE_APP_TYPE.RESPWEB,\n },\n });\n },\n [templateType]\n );\n\n useEffect(() => {\n // email/password event handlers so we can send the focus Amplitude event once\n const currentEmailRef = emailInputRef?.current;\n const handleEmailFocusIn = (): void => {\n fireInteractionEvent(ENDPAGE_INTERACTION_TYPE.FOCUSED, ENDPAGE_INTERACTION_LOCATION.EMAIL_INPUT);\n };\n currentEmailRef?.addEventListener('focusin', handleEmailFocusIn, { once: true });\n\n const currentPasswordRef = passwordInputRef?.current;\n const handlePasswordFocusIn = (): void => {\n fireInteractionEvent(ENDPAGE_INTERACTION_TYPE.FOCUSED, ENDPAGE_INTERACTION_LOCATION.PASSWORD_INPUT);\n };\n currentPasswordRef?.addEventListener('focusin', handlePasswordFocusIn, { once: true });\n return (): void => {\n currentEmailRef?.removeEventListener('focusin', handleEmailFocusIn);\n currentPasswordRef?.removeEventListener('focusin', handlePasswordFocusIn);\n };\n }, [emailInputRef, fireInteractionEvent, passwordInputRef]);\n\n const handlePasswordChange = useCallback>(\n e => {\n // only fire the event the first time the user enters a character\n if (!hasEnteredPassword && !password) {\n fireInteractionEvent(ENDPAGE_INTERACTION_TYPE.ENTERED_TEXT, ENDPAGE_INTERACTION_LOCATION.PASSWORD_INPUT);\n }\n setPassword(e.target.value);\n },\n [fireInteractionEvent, hasEnteredPassword, password, setPassword]\n );\n\n const handleEmailChange = useCallback>(\n e => {\n // only fire the event the first time the user enters a character\n if (!hasEnteredEmail && !email) {\n fireInteractionEvent(ENDPAGE_INTERACTION_TYPE.ENTERED_TEXT, ENDPAGE_INTERACTION_LOCATION.EMAIL_INPUT);\n }\n setEmail(e.target.value);\n },\n [email, fireInteractionEvent, hasEnteredEmail, setEmail]\n );\n\n const handleFormSubmit = useCallback>(\n evt => {\n evt.preventDefault();\n // kick off one last wave of re-validation. this will catch a user pressing\n // enter to submit the form or if something managed to sneak by before\n setValidatorEmail(email);\n setValidatorPassword(password);\n\n // raise the submit flag so we can begin evaluating the validation status\n setShouldSubmit(true);\n },\n [email, password, setShouldSubmit, setValidatorEmail, setValidatorPassword]\n );\n\n useMemo(() => {\n if (\n // if the form isn't trying to be submitted and this was run due to a\n // re-render triggered by another dependency, bail\n !shouldSubmit ||\n // the form is validating, wait regardless of what it's last valid state was\n isValidating\n ) {\n return;\n }\n\n // the form is valid and is not waiting for further validation, so begin actual submission\n // via reCAPTCHA (it'll do its thing and then get picked up below)\n if (isValid) {\n recaptchaContext.fireGRE();\n return;\n }\n\n // the form isn't valid and it's not validating, we shouldn't be trying to submit\n setShouldSubmit(false);\n }, [isValid, isValidating, recaptchaContext, shouldSubmit, setShouldSubmit]);\n\n // submits the form action when reCAPTCHA sets the token properly\n useMemo(() => {\n if (recaptchaContext.greToken.length && formRef && shouldSubmit) {\n // async the form submit to ensure that react has enough time\n // to re-render the form with the token input set\n setTimeout(() => {\n // one last check to make sure that nothing changed with the validation\n // before actually submitting the form\n if (isValidating || !isValid || !shouldSubmit || isSubmitting) {\n return;\n }\n\n fireInteractionEvent(ENDPAGE_INTERACTION_TYPE.SUBMITTED, ENDPAGE_INTERACTION_LOCATION.SIGNUP_FORM);\n MetricsTracker.track({\n name: USER_EVENTS.ELEMENT_INTERACTION,\n data: {\n amplitudeEvent: ENDPAGE_EVENTS.USER_INTERACTION,\n interactionLocation: ENDPAGE_INTERACTION_LOCATION.SIGNUP_FORM,\n interactionType: ENDPAGE_INTERACTION_TYPE.SUBMITTED,\n app: ENDPAGE_APP_TYPE.RESPWEB,\n },\n });\n setIsSubmitting(true);\n formRef.current?.submit();\n }, 0);\n }\n }, [\n fireInteractionEvent,\n recaptchaContext.greToken,\n isValidating,\n isValid,\n isSubmitting,\n shouldSubmit,\n setIsSubmitting,\n ]);\n\n // fires Amplitude validation error events when email/password errors crop up.\n // this is split between two different hooks so we're not potentially firing\n // the same event twice\n useMemo(() => {\n if (emailError) {\n MetricsTracker.track({\n name: USER_EVENTS.ELEMENT_INTERACTION,\n data: {\n amplitudeEvent: ENDPAGE_EVENTS.ERRORED,\n errorType: ENDPAGE_ERROR_TYPE.FORM_VALIDATION,\n errorInformation: emailError,\n templateType,\n app: ENDPAGE_APP_TYPE.RESPWEB,\n },\n });\n }\n }, [emailError, templateType]);\n\n useMemo(() => {\n if (passwordError) {\n MetricsTracker.track({\n name: USER_EVENTS.ELEMENT_INTERACTION,\n data: {\n amplitudeEvent: ENDPAGE_EVENTS.ERRORED,\n errorType: ENDPAGE_ERROR_TYPE.FORM_VALIDATION,\n errorInformation: passwordError,\n templateType,\n app: ENDPAGE_APP_TYPE.RESPWEB,\n },\n });\n }\n }, [passwordError, templateType]);\n\n const isTreatmentContentexp755 = contentexp755Treatment === CONTENTEXP_755.treatment;\n const treatmentURL = '/login/api/v1/quick-sign-up';\n const controlURL = '/user/sign-up/';\n\n const isGermanLang = useMemo(() => countryCode.toLowerCase() === 'de', [countryCode]);\n const disableFields = useMemo(() => shouldSubmit || isSubmitting, [shouldSubmit, isSubmitting]);\n\n return (\n \n {isExperiment ? (\n \n \n {boldHeader}\n \n \n \n {subHeader}\n \n \n \n ) : (\n <>\n )}\n \n \n \n \n \n \n setValidatorEmail(email)}\n errorMessage={getValidationError(emailError)}\n color={emailError ? 'error' : undefined}\n ref={emailInputRef}\n />\n \n \n \n {isTreatmentContentexp755 ? (\n setValidatorPassword(password)}\n errorMessage={getValidationError(passwordError)}\n color={passwordError ? 'error' : undefined}\n ref={passwordInputRef}\n />\n ) : (\n setValidatorPassword(password)}\n errorMessage={getValidationError(passwordError)}\n color={passwordError ? 'error' : undefined}\n ref={passwordInputRef}\n />\n )}\n \n {isGermanLang && (\n <>\n \n setHasAcceptedTerms((evt.target as HTMLInputElement).checked)}\n required\n />\n {!hasAcceptedTerms && {t(DE_CHECKBOX_ERROR)}}\n \n \n \n \n \n )}\n \n {ctaFormSubmit}\n \n \n {isExperiment ? (\n \n \n \n \n <>\n \n \n \n \n {t(COPY.HERO_FORM_SOCIAL_CTA_COPY)}\n \n \n \n \n <>\n \n \n \n \n ) : (\n \n <>\n \n )}\n {showThirdPartySignUpActions && (\n \n \n {isTreatmentContentexp755 ? (\n \n {ctaFacebook}\n \n ) : (\n \n {ctaFacebook}\n \n )}\n \n \n {isTreatmentContentexp755 ? (\n \n {ctaGoogle}\n \n ) : (\n \n {ctaGoogle}\n \n )}\n \n \n )}\n {showDisclaimer && (\n \n \n \n )}\n \n );\n};\n\nexport default HeroFormCTA;\n","enum ANALYTICS_EVENTS {\n FOOTER_INTERACTION = 'spage user interaction',\n SURVEY_LOADED = 'spage loaded survey page',\n SURVEY_COMPLETE = 'spage completed survey',\n SURVEY_PARTIAL = 'spage generated partial response',\n}\n\nenum ANALYTICS_INTERACTION_TYPE {\n CLICK = 'click',\n}\n\nenum ANALYTICS_WEBTYPE_TYPE {\n RESPWEB = 'respweb',\n}\n\nenum ANALYTICS_LOCATION {\n SURVEY_FOOTER = 'footer',\n}\n\nenum FOOTER_ANALYTICS_LINK_TEXT {\n POWERED_BY_CLICK = 'footer-powered-by',\n CREATE_SURVEY_CLICK = 'footer-create-survey',\n}\n\nenum ENDPAGE_APP_TYPE {\n RESPWEB = 'respweb',\n}\n\nenum ENDPAGE_ERROR_TYPE {\n FORM_VALIDATION = 'form validation',\n}\n\nenum ENDPAGE_EVENTS {\n USER_INTERACTION = 'endpage user interaction',\n ERRORED = 'endpage errored',\n}\n\nenum ENDPAGE_INTERACTION_TYPE {\n CLICK = 'click',\n FOCUSED = 'focused',\n ENTERED_TEXT = 'entered text',\n SUBMITTED = 'submitted',\n}\n\nenum ENDPAGE_INTERACTION_LOCATION {\n SIGNUP_FORM = 'signup form',\n EMAIL_INPUT = 'email input',\n PASSWORD_INPUT = 'password input',\n}\n\nexport {\n ANALYTICS_EVENTS,\n ANALYTICS_LOCATION,\n ANALYTICS_INTERACTION_TYPE,\n ENDPAGE_APP_TYPE,\n ENDPAGE_ERROR_TYPE,\n ENDPAGE_EVENTS,\n ENDPAGE_INTERACTION_LOCATION,\n ENDPAGE_INTERACTION_TYPE,\n FOOTER_ANALYTICS_LINK_TEXT,\n ANALYTICS_WEBTYPE_TYPE,\n};\n","import React from 'react';\nimport { Button as WrenchButton, ButtonProps as WrenchButtonProps } from '@wds/button';\n\ntype HTMLWrapperAttributes = React.AllHTMLAttributes & {\n // Until TS 4.4.x there is no way to specifically define a key-pattern\n // This is to allow data-* attributes to be passed as an object key.\n [dataAttributes: string]: unknown;\n};\n\nexport type ButtonProps = WrenchButtonProps & {\n /** element tag for the container (defaults to 'div') */\n element?: 'div' | 'span';\n /** Classes to be added to the `element` */\n className?: string;\n /** additional props specific to the `element` (trap-door); excludes `className` */\n componentProps?: Omit, 'className'>;\n};\n\n/**\n * @description Generic Stylable Button.\n * This component can be used in place of the `@wds/button` component to\n * modify the styles, until the `@wds/button` version supports className prop\n * passthrough.\n */\nexport default function Button({\n element: Element = 'div',\n className,\n componentProps,\n ...buttonProps\n}: ButtonProps): React.ReactElement {\n return (\n \n \n \n );\n}\n","export { default as Button } from './Button';\nexport * from './Button';\n","/** Shape of assets loaded with the next.js loader */\nexport type NextLoadedAsset = {\n src: string;\n height?: number;\n width?: number;\n blurDataURL?: string;\n};\n\n/**\n * Helper to get the url of an asset\n *\n * Workaround to get an assets `src` URL that works with both the next.js and\n * Storybook/Jest asset loader return format.\n *\n * This is just a temporary workaround till Storybook has better support for Next.js\n * See: https://storybook.js.org/blog/integrate-nextjs-and-storybook-automatically/\n *\n * @returns the normalized url of `asset`\n */\nexport const getSrc = (asset: NextLoadedAsset | string): string => (typeof asset === 'string' ? asset : asset.src);\n","import Cookies from 'js-cookie';\nimport { ExperimentData } from '~helpers/types';\n\nexport const CONTENTEXP_755 = {\n identifier: 'contentexp-14-auth0-sign-ups',\n control: 'contentexp-14-auth0-sign-ups-control',\n treatment: 'contentexp-14-auth0-sign-ups-treatment',\n};\n\nexport function setExperimentCookies(experiments?: ExperimentData[]): void {\n if (Array.isArray(experiments?.[0]?.cookies)) {\n // Todo: correct this code to handle multiple experiment assignments\n experiments?.[0]?.cookies?.forEach(cookie => {\n const { name, value, age } = cookie;\n Cookies.set(name, value, { expires: age });\n });\n }\n}\n","import { createUseStyles } from 'react-jss';\nimport { Theme as WrenchTheme } from '@wds/styles';\n\nconst cmsTheme = {\n brandColors: {\n accent: {\n bengal: '#F05B24',\n bumblebee: '#F9BE00',\n raspberry: '#AC145A',\n },\n background: {\n dark1: '#333E48', // wrench's theme.palette.background.dark\n dark2: '#05467E', // midnight\n dark3: '#671E75', // concord\n light1: '#F7F8FA', // wrench's theme.palette.background.main\n light2: '#FFFFFF', // wrench's theme.palette.background.light\n },\n neutral: {\n black: '#000000',\n canvas: '#F7F8FA',\n charcoal: '#333E48',\n flint: '#D0D2D3',\n slate: '#6C777D',\n stone: '#9DA5AA',\n white: '#FFFFFF',\n },\n primary: {\n arctic: '#2DCCD3',\n concord: '#671E75',\n midnight: '#05467E',\n sabaeus: '#00BF6F',\n vine: '#224F3C',\n },\n },\n endpageColors: {\n embeddedNonBranded: {\n backgroundColor: '#efefef',\n },\n onHover: {\n lighterBumblebee: '#FFCD2D',\n transparentWhite: 'rgba(255, 255, 255, 0.9)',\n },\n },\n util: {\n fullHeight: '100vh',\n },\n};\nexport default cmsTheme;\nexport type CmsTheme = typeof cmsTheme;\nexport type CmsWrenchTheme = CmsTheme & WrenchTheme;\n\nexport const useGlobalStyles = createUseStyles((theme: CmsWrenchTheme) => ({\n '@global': {\n body: {\n fontFamily: theme.type.fontFamily.base,\n },\n },\n}));\n","/* (ignored) */","/* (ignored) */"],"names":["BasePage_SurveyBasePage","children","pageId","pageMetricsAttributes","legacyWeb","translationData","includeExperiments","includeGTM","param","user","environment","clientConfig","GDPR","useContext","StaticContext","countryCode","country","gtmId","amplitudeToken","amplitudeForceAnonymous","dataAnalyticsAPIPath","loggingAPIPath","MetricsTracker","initialize","forceAnonymous","jsx_runtime","jsxs","L10nProvider","PageMetricsProvider","attributes","Head","jsx","link","rel","href","sizes","Script","id","strategy","concat","pageLayout_SurveyMonkey","layout","options","_translationData","layoutOptions","staticData","HelmetProvider","StaticProvider","value","SurveyBasePage","pageLayout","Layout","facebook","google","useStyle","createUseStyles","theme","ctaFormField","isEnterpriseThankYou","isExperiment","inputBase","fontSize","padding","spacing","margin","width","height","color","palette","text","light","experimentSpan","type","cardTitle","breakpoints","sm","ctaLabel","display","boxSizing","marginBottom","lineHeight","fontWeight","visuallyHidden","clip","clipPath","overflow","position","whiteSpace","enterpriseThankYouForm","backgroundColor","background","dark","border","borderColor","main","active","hardRule","borderTop","facebookButton","backgroundRepeat","backgroundSize","backgroundPosition","backgroundImage","getSrc","facebookLogo","textDecoration","marginLeft","googleButton","boxShadow","darkMuted","googleLogo","disclaimerContainer","useUserSvcFieldValidator","validationType","data","setData","useState","isLoading","setIsLoading","error","setError","hasEnteredText","setHasEnteredText","useMemo","fetchValidationResponse","response","fetch","method","body","JSON","stringify","headers","then","res","json","valid","reason","err","setText","useCallback","isValid","COPY","defineMessages","HERO_FORM_SOCIAL_CTA_COPY","defaultMessage","description","VALIDATION_ERROR_EMAIL_TOO_LONG","VALIDATION_ERROR_USERNAME_TOO_LONG","VALIDATION_ERROR_EMAIL_TOO_SHORT","VALIDATION_ERROR_USERNAME_TOO_SHORT","VALIDATION_ERROR_EMAIL_MALFORMED","VALIDATION_ERROR_EMAIL_ROLE_BASED","VALIDATION_ERROR_EMAIL_MISENCODED","VALIDATION_ERROR_USERNAME_TAKEN","VALIDATION_ERROR_USERNAME_WHITESPACE_NOT_ALLOWED","VALIDATION_ERROR_USERNAME_CONTAINS_URL","VALIDATION_ERROR_PASSWORD_TOO_SHORT","VALIDATION_ERROR_PASSWORD_IN_PROHIBITED_LIST","VALIDATION_ERROR_PASSWORD_DOES_NOT_MATCH","VALIDATION_ERROR_EMAIL_PASSWORD_SAME","VALIDATION_USERSVC_ERROR","VALIDATION_NETWORK_ERROR","DE_CHECKBOX_ERROR","TypographyWithInnerHTML","Typography","getValidationError","errorKey","toUpperCase","t","components_HeroFormCTA","className","ctaFormEmail","ctaFormEmailPlaceholder","ctaFormNewsletterOptOut","ctaFormPassword","ctaFormPasswordPlaceholder","ctaFormPrivacyConsent","ctaFormSubmit","ctaFacebook","ctaGoogle","disclaimer","utSource","utSource2","boldHeader","subHeader","showThirdPartySignUpActions","showDisclaimer","utSource3","actionType","actionFlow","thirdPartySignUpUrl","formRef","useRef","emailInputRef","passwordInputRef","privacyCheckRef","smParams","surveyId","collectorId","respondentId","templateType","contentexp755Treatment","useStyles","containerClasses","classnames","email","setEmail","password","setPassword","hasAcceptedTerms","setHasAcceptedTerms","hasEnteredEmail","hasEnteredPassword","isValidating","emailError","passwordError","setValidatorEmail","setValidatorPassword","useSignUpValidation","isEmailValidating","isEmailValid","isPasswordValidating","isPasswordValid","emailPasswordError","setEmailPasswordError","toLowerCase","shouldSubmit","setShouldSubmit","isSubmitting","setIsSubmitting","recaptchaContext","useRecaptcha","actionName","successCallback","undefined","siteKey","useEnterprise","errorCallback","fireInteractionEvent","interactionType","interactionLocation","track","name","USER_EVENTS","ELEMENT_INTERACTION","amplitudeEvent","ENDPAGE_EVENTS","USER_INTERACTION","app","ENDPAGE_APP_TYPE","RESPWEB","useEffect","currentEmailRef","current","handleEmailFocusIn","ENDPAGE_INTERACTION_TYPE","FOCUSED","ENDPAGE_INTERACTION_LOCATION","EMAIL_INPUT","addEventListener","once","currentPasswordRef","handlePasswordFocusIn","PASSWORD_INPUT","removeEventListener","handlePasswordChange","e","ENTERED_TEXT","target","handleEmailChange","handleFormSubmit","evt","preventDefault","fireGRE","greToken","length","setTimeout","SUBMITTED","SIGNUP_FORM","submit","ERRORED","errorType","ENDPAGE_ERROR_TYPE","FORM_VALIDATION","errorInformation","isTreatmentContentexp755","CONTENTEXP_755","treatment","isGermanLang","disableFields","Box","pt","data-testid","component","variant","weight","align","span","pb","Fragment","form","action","createURL","ut_source","ut_source2","ut_source3","ut_ctatext","data-sm-metrics","generateMetricsAttribute","itemSelected","log","message","onSubmit","ref","noValidate","Recaptcha","showError","setShowError","input","element","label","htmlFor","Input","placeholder","stretched","onChange","onBlur","errorMessage","ariaLabel","Checkbox","innerRef","checked","required","Button","size","onClick","disabled","buttonType","loading","mb","mt","Grid","noBleeds","Item","xs","CoreButton","connection","third_party","dangerouslySetInnerHTML","__html","ANALYTICS_EVENTS","FOOTER_ANALYTICS_LINK_TEXT","ANALYTICS_INTERACTION_TYPE","ANALYTICS_WEBTYPE_TYPE","ANALYTICS_LOCATION","Element","componentProps","buttonProps","WrenchButton","asset","src","identifier","control","setExperimentCookies","experiments","Array","isArray","cookies","forEach","cookie","age","Cookies","expires","__webpack_exports__","Z","brandColors","accent","bengal","bumblebee","raspberry","dark1","dark2","dark3","light1","light2","neutral","black","canvas","charcoal","flint","slate","stone","white","primary","arctic","concord","midnight","sabaeus","vine","endpageColors","embeddedNonBranded","onHover","lighterBumblebee","transparentWhite","util","fullHeight","useGlobalStyles","fontFamily","base"],"sourceRoot":""}