{"version":3,"file":"js/42571-38c4b63f0b87b307f74d.js","mappings":"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","sources":["webpack://StravaModern/./app/javascript/constants/alerts/alert-types.js","webpack://StravaModern/./app/javascript/components/StravaAlert/StravaAlert.scss?a1ac","webpack://StravaModern/./app/javascript/components/StravaAlert/StravaAlert.js","webpack://StravaModern/./app/javascript/components/shared/AccountAuthButton/ButtonWrapper/index.scss?5210","webpack://StravaModern/./app/javascript/components/shared/AccountAuthButton/ButtonWrapper/ButtonWrapper.js","webpack://StravaModern/./app/javascript/components/shared/AccountAuthButton/FacebookButton/index.scss?deb1","webpack://StravaModern/./app/javascript/components/shared/AccountAuthButton/FacebookButton/FacebookButton.js","webpack://StravaModern/./app/javascript/components/shared/AccountAuthButton/GoogleButton/index.scss?1b4a","webpack://StravaModern/./app/javascript/components/shared/AccountAuthButton/GoogleButton/GoogleButton.js","webpack://StravaModern/./app/javascript/components/shared/AccountAuthButton/EmailButton/index.scss?46a9","webpack://StravaModern/./app/javascript/components/shared/AccountAuthButton/EmailButton/EmailButton.js","webpack://StravaModern/./app/javascript/components/shared/AccountAuthButton/AccountAuthButton.js","webpack://StravaModern/./app/javascript/externalSocialPartners.js","webpack://StravaModern/./app/javascript/hooks/externalSocialPartners/useApple.js","webpack://StravaModern/./app/javascript/components/shared/AccountSignupForm/index.scss?885e","webpack://StravaModern/./app/javascript/components/shared/AccountAuthButton/AppleButton/index.scss?6e0c","webpack://StravaModern/./app/javascript/components/shared/AccountAuthButton/AppleButton/AppleButton.js","webpack://StravaModern/./app/javascript/components/shared/AccountSignupForm/AccountSignupForm.js","webpack://StravaModern/./app/javascript/components/shared/DisclaimerText/index.scss?253f","webpack://StravaModern/./app/javascript/components/shared/DisclaimerText/DisclaimerText.js","webpack://StravaModern/./app/javascript/constants/appConstants.js","webpack://StravaModern/./app/javascript/utils/onboarding.js"],"sourcesContent":["export const ALERT_TYPES = Object.freeze({\n warning: 'warning',\n error: 'error',\n info: 'info',\n success: 'success'\n});\n\nexport default { ALERT_TYPES };\n","// extracted by mini-css-extract-plugin\nexport default {\"alert\":\"StravaAlert--alert--0tRrZ\",\"error\":\"StravaAlert--error--Cha6i\",\"success\":\"StravaAlert--success--52fm+\",\"warning\":\"StravaAlert--warning--JQQmd\",\"info\":\"StravaAlert--info---apjx\"};","import React from 'react';\nimport Alert from '@reach/alert';\nimport PropTypes from 'prop-types';\nimport clsx from '@strava/ui/clsx';\nimport { ALERT_TYPES } from 'constants/alerts/alert-types';\nimport styles from './StravaAlert.scss';\n\nconst StravaAlert = ({ children, className, severity, ...options }) => {\n return (\n \n {children}\n \n );\n};\n\nStravaAlert.defaultProps = {\n className: null\n};\n\nStravaAlert.propTypes = {\n severity: PropTypes.oneOf(Object.values(ALERT_TYPES)).isRequired,\n children: PropTypes.node.isRequired,\n className: PropTypes.string\n};\n\nexport default StravaAlert;\n","// extracted by mini-css-extract-plugin\nexport default {\"auth-button\":\"ButtonWrapper--auth-button--7vRBM\",\"authButton\":\"ButtonWrapper--auth-button--7vRBM\"};","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styles from './index.scss';\n\nexport const LOG_IN = 'log_in';\nexport const SIGN_UP = 'sign_up';\n\nconst ButtonWrapper = ({ children, className, ...options }) => {\n return (\n \n {children}\n \n );\n};\n\nButtonWrapper.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string.isRequired\n};\n\nexport default ButtonWrapper;\n","// extracted by mini-css-extract-plugin\nexport default {\"facebook-button\":\"FacebookButton--facebook-button---mxGR\",\"facebookButton\":\"FacebookButton--facebook-button---mxGR\"};","import React from 'react';\nimport I18n from 'utils/I18n';\nimport PropTypes from 'prop-types';\n\nimport styles from './index.scss';\nimport ButtonWrapper, { LOG_IN, SIGN_UP } from '../ButtonWrapper';\n\nconst FacebookButton = ({ type, onClick }) => {\n const I18nPrefix = 'strava.landing_page';\n\n return (\n \n {type === SIGN_UP\n ? I18n.t(`${I18nPrefix}.here_to_join.facebook_cta`)\n : 'implement_me'}\n \n );\n};\n\nFacebookButton.propTypes = {\n onClick: PropTypes.func,\n type: PropTypes.oneOf([SIGN_UP, LOG_IN]).isRequired\n};\n\nFacebookButton.defaultProps = {\n onClick: () => {}\n};\n\nexport default FacebookButton;\n","// extracted by mini-css-extract-plugin\nexport default {\"google-button\":\"GoogleButton--google-button--oTGb8\",\"googleButton\":\"GoogleButton--google-button--oTGb8\"};","import React from 'react';\nimport I18n from 'utils/I18n';\nimport PropTypes from 'prop-types';\n\nimport styles from './index.scss';\nimport ButtonWrapper, { LOG_IN, SIGN_UP } from '../ButtonWrapper';\n\nconst GoogleButton = ({ type, onClick }) => {\n const I18nPrefix = 'strava.landing_page';\n\n return (\n \n {type === SIGN_UP\n ? I18n.t(`${I18nPrefix}.here_to_join.google_cta`)\n : 'implement_me'}\n \n );\n};\n\nGoogleButton.propTypes = {\n onClick: PropTypes.func,\n type: PropTypes.oneOf([SIGN_UP, LOG_IN]).isRequired\n};\n\nGoogleButton.defaultProps = {\n onClick: () => {}\n};\n\nexport default GoogleButton;\n","// extracted by mini-css-extract-plugin\nexport default {\"email-button\":\"EmailButton--email-button--EJuHg\",\"emailButton\":\"EmailButton--email-button--EJuHg\"};","import React from 'react';\nimport I18n from 'utils/I18n';\nimport PropTypes from 'prop-types';\n\nimport styles from './index.scss';\nimport ButtonWrapper, { LOG_IN, SIGN_UP } from '../ButtonWrapper';\n\nconst AccountAuthEmailButton = ({ type, onClick }) => {\n const I18nPrefix = 'strava.landing_page';\n\n return (\n \n {type === SIGN_UP\n ? I18n.t(`${I18nPrefix}.here_to_join.email_cta`)\n : 'implement_me'}\n \n );\n};\n\nAccountAuthEmailButton.propTypes = {\n onClick: PropTypes.func,\n type: PropTypes.oneOf([SIGN_UP, LOG_IN]).isRequired\n};\n\nAccountAuthEmailButton.defaultProps = {\n onClick: () => {}\n};\n\nexport default AccountAuthEmailButton;\n","import FacebookButton from './FacebookButton';\nimport GoogleButton from './GoogleButton';\nimport EmailButton from './EmailButton';\n\nimport { LOG_IN, SIGN_UP } from './ButtonWrapper';\n\nconst APPLE = 'apple';\nconst EMAIL = 'email';\nconst FACEBOOK = 'facebook';\nconst GOOGLE = 'google';\n\nconst elemAttrForAnalytics = (option) => {\n switch (option) {\n case FACEBOOK:\n return 'facebook_signup';\n case APPLE:\n return 'apple_signup';\n case EMAIL:\n return 'email_signup';\n case GOOGLE:\n return 'google_signup';\n default:\n return 'signup';\n }\n};\n\nexport {\n APPLE,\n EMAIL,\n EmailButton,\n FACEBOOK,\n FacebookButton,\n GOOGLE,\n GoogleButton,\n LOG_IN,\n SIGN_UP,\n elemAttrForAnalytics\n};\n","import { replace } from 'lodash-es';\nimport { logError } from './utils/sentry';\n\nconst appendScriptToBody = ({ script, name }) => {\n if (document.querySelector('body')) {\n document.querySelector('body').appendChild(script);\n } else {\n const e = new Error(`Failed to inject ${name} script`);\n logError(e);\n }\n};\n\n// this injects window.google and not the legacy window.gapi JS api\nexport const injectGoogleScript = (callback) => {\n if (!window.google) {\n const script = document.createElement('script');\n script.src = 'https://accounts.google.com/gsi/client';\n script.async = true;\n script.onload = callback;\n script.id = 'google-client-script';\n appendScriptToBody({ script, name: 'google gsi' });\n } else {\n callback();\n }\n};\n\nexport const injectAppleScript = (locale = 'en_US') => {\n if (!window.apple) {\n const script = window.document.createElement('script');\n const formattedLocale = replace(locale, '-', '_');\n script.src = `https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/${formattedLocale}/appleid.auth.js`;\n script.async = true;\n appendScriptToBody({ script, name: 'apple' });\n }\n};\n\nexport const injectFacebookScript = ({\n appId,\n version,\n callback,\n locale = 'en_US'\n}) => {\n if (!window.FB) {\n window.fbAsyncInit = () => {\n // ref - https://developers.facebook.com/docs/javascript/reference/FB.init/v13.0\n window.FB.init({\n appId,\n xfbml: true,\n version,\n status: true,\n cookie: true\n });\n callback();\n };\n\n // facebook uses format ll_CC - see https://developers.facebook.com/docs/javascript/internationalization\n const formattedLocale = replace(locale, '-', '_');\n\n const script = window.document.createElement('script');\n script.src = `https://connect.facebook.net/${formattedLocale}/sdk.js`;\n script.async = true;\n appendScriptToBody({ script, name: 'facebook-jssdk' });\n } else {\n callback();\n }\n};\n\nexport default { injectGoogleScript, injectAppleScript, injectFacebookScript };\n","import { useEffect } from 'react';\nimport { injectAppleScript } from 'externalSocialPartners';\n\n/**\n *\n * @param {String} state https://developer.apple.com/documentation/sign_in_with_apple/clientconfigi/3230956-state\n */\nconst useApple = (state) => {\n useEffect(() => {\n injectAppleScript();\n }, []);\n\n const signin = () => {\n if (!window?.AppleID?.stravaInit) {\n window.AppleID.auth.init({\n clientId: 'com.strava.app.sign.in',\n scope: 'name email',\n redirectURI: 'https://www.strava.com/o_auth/apple',\n state\n });\n window.AppleID.stravaInit = true;\n }\n window.AppleID.auth.signIn();\n };\n\n return { signin };\n};\n\nexport default useApple;\n","// extracted by mini-css-extract-plugin\nexport default {\"hr\":\"AccountSignupForm--hr--UJLN0\",\"hr-text\":\"AccountSignupForm--hr-text--rrMpt\",\"hrText\":\"AccountSignupForm--hr-text--rrMpt\"};","// extracted by mini-css-extract-plugin\nexport default {\"apple-button\":\"AppleButton--apple-button--fZrIp\",\"appleButton\":\"AppleButton--apple-button--fZrIp\"};","import React from 'react';\nimport I18n from 'utils/I18n';\nimport PropTypes from 'prop-types';\n\nimport styles from './index.scss';\nimport ButtonWrapper, { LOG_IN, SIGN_UP } from '../ButtonWrapper';\n\nconst AppleButton = ({ type, onClick }) => {\n const I18nPrefix = 'strava.landing_page';\n\n return (\n \n {type === SIGN_UP\n ? I18n.t(`${I18nPrefix}.here_to_join.apple_cta`)\n : 'implement_me'}\n \n );\n};\n\nAppleButton.propTypes = {\n onClick: PropTypes.func,\n type: PropTypes.oneOf([SIGN_UP, LOG_IN]).isRequired\n};\n\nAppleButton.defaultProps = {\n onClick: () => {}\n};\n\nexport default AppleButton;\n","import React, { useEffect } from 'react';\nimport I18n from 'utils/I18n';\nimport PropTypes from 'prop-types';\n\nimport useApple from 'hooks/externalSocialPartners/useApple';\nimport { isEmpty } from 'lodash-es';\nimport clsx from '@strava/ui/clsx';\nimport styles from './index.scss';\nimport DisclaimerText from '../DisclaimerText';\n\nimport {\n FacebookButton,\n GoogleButton,\n EmailButton,\n SIGN_UP,\n FACEBOOK,\n GOOGLE,\n EMAIL,\n APPLE,\n elemAttrForAnalytics\n} from '../AccountAuthButton';\nimport AppleButton from '../AccountAuthButton/AppleButton';\n\nimport {\n LANDING_PAGE,\n PRIVATE_ACTIVITY,\n MOBILE_REGISTRATION_PAGE,\n pageAttrForAnalytics,\n track\n} from '../../../utils/onboarding';\nimport StravaAlert from '../../StravaAlert';\n\nconst AccountSignupForm = ({\n authorizationUrls,\n config,\n page,\n flashMessage,\n className\n}) => {\n const { signin: appleSignin } = useApple(config.appleState);\n\n const I18nPrefix = 'strava.landing_page';\n\n useEffect(() => {\n if (page !== LANDING_PAGE) {\n track({\n page: pageAttrForAnalytics(page),\n action: 'screen_enter'\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleOnClick = (clickedOption) => {\n if (clickedOption === EMAIL && page !== MOBILE_REGISTRATION_PAGE) {\n // Tracking for clicks on email signup on desktop homepage\n track({\n page: pageAttrForAnalytics(page),\n action: 'click',\n element: 'start_signup',\n properties: {\n signup_copy: 'email_signup'\n }\n });\n } else {\n // Tracking for clicks on social signup option on desktop homepage i.e. redirected to social auth flow\n // OR clicks on email signup on MOBILE_REGISTRATION_PAGE\n track({\n page: pageAttrForAnalytics(page),\n action: 'click',\n element: elemAttrForAnalytics(clickedOption)\n });\n }\n\n if (clickedOption === EMAIL && page !== MOBILE_REGISTRATION_PAGE) {\n // email button navigates to anchor #reg-step-2 on mobile\n window.location.href = authorizationUrls[EMAIL];\n } else if (clickedOption === APPLE) {\n appleSignin(config.appleState);\n } else {\n window.location.href = authorizationUrls[clickedOption];\n }\n };\n\n const orDivider = (\n
\n
{I18n.t(`${I18nPrefix}.or`)}
\n
\n );\n\n return (\n
\n {!isEmpty(flashMessage) && (\n \n {flashMessage}\n \n )}\n handleOnClick(FACEBOOK)} />\n handleOnClick(GOOGLE)} />\n {config.appleEnabled && (\n handleOnClick(APPLE)} />\n )}\n {page === LANDING_PAGE && orDivider}\n handleOnClick(EMAIL)} />\n \n {page === PRIVATE_ACTIVITY && orDivider}\n
\n );\n};\n\nAccountSignupForm.defaultProps = {\n flashMessage: null,\n className: null\n};\n\nAccountSignupForm.propTypes = {\n page: PropTypes.oneOf([\n LANDING_PAGE,\n PRIVATE_ACTIVITY,\n MOBILE_REGISTRATION_PAGE\n ]).isRequired,\n config: PropTypes.shape({\n appleEnabled: PropTypes.bool.isRequired,\n appleState: PropTypes.string.isRequired // https://developer.apple.com/documentation/sign_in_with_apple/clientconfigi/3230956-state\n }).isRequired,\n authorizationUrls: PropTypes.shape({\n google: PropTypes.string.isRequired,\n facebook: PropTypes.string.isRequired\n }).isRequired,\n flashMessage: PropTypes.string,\n className: PropTypes.string\n};\n\nexport default AccountSignupForm;\n","// extracted by mini-css-extract-plugin\nexport default {\"disclaimer-text\":\"DisclaimerText--disclaimer-text--T2255\",\"disclaimerText\":\"DisclaimerText--disclaimer-text--T2255\"};","import React from 'react';\nimport { Markup } from 'interweave';\nimport I18n from 'utils/I18n';\nimport PropTypes from 'prop-types';\n\nimport styles from './index.scss';\n\nconst DisclaimerText = ({ showLoginOption }) => {\n const I18nPrefix = 'strava.landing_page';\n\n const legalTerms = I18n.t(\n `${I18nPrefix}.disclaimer_text.by_clicking_cta_html`,\n {\n terms_path: '/legal/terms'\n }\n );\n\n const legalPrivacy = I18n.t(\n `${I18nPrefix}.disclaimer_text.view_privacy_policy_html`,\n {\n privacy_path: '/legal/privacy'\n }\n );\n\n return (\n
\n

\n {' '}\n \n

\n {showLoginOption && (\n

\n {I18n.t(`${I18nPrefix}.already_a_member`)}{' '}\n \n {' '}\n {I18n.t(`${I18nPrefix}.log_in`)}\n \n

\n )}\n
\n );\n};\n\nDisclaimerText.propTypes = {\n showLoginOption: PropTypes.bool\n};\n\nDisclaimerText.defaultProps = {\n showLoginOption: true\n};\n\nexport default DisclaimerText;\n","export const YOUNGEST_AGE_ON_PLATFORM = 13;\n\nexport const YOUNGEST_AGE_FOR_HEALTH_AND_PROMO = 16;\n\nexport const GENDER = Object.freeze({\n man: 'man',\n woman: 'woman',\n preferNotSay: 'prefer_not_say',\n nonBinary: 'nonbinary'\n});\n\nexport const LOCALE = Object.freeze({\n enUS: 'en-US',\n frFR: 'fr-FR',\n deDE: 'de-DE',\n esES: 'es-ES',\n ptBR: 'pt-BR',\n ruRU: 'ru-RU',\n itIT: 'it-IT',\n jaJP: 'ja-JP',\n es419: 'es-419',\n koKR: 'ko-KR',\n nlNL: 'nl-NL',\n zhTW: 'zh-TW',\n ptPT: 'pt-PT',\n zhCN: 'zh-CN'\n});\n\nexport default {\n YOUNGEST_AGE_ON_PLATFORM,\n YOUNGEST_AGE_FOR_HEALTH_AND_PROMO,\n GENDER,\n LOCALE\n};\n","import { trackV2 } from 'utils/analytics';\n\nconst LANDING_PAGE = 'landing_page';\nconst PRIVATE_ACTIVITY = 'private_activity';\nconst MOBILE_REGISTRATION_PAGE = 'mobile_registration';\nconst REGISTRATION_PAGE = 'registration';\n\nconst pageAttrForAnalytics = (page) => {\n switch (page) {\n case LANDING_PAGE:\n return 'home';\n case PRIVATE_ACTIVITY:\n return 'referral';\n case MOBILE_REGISTRATION_PAGE:\n return 'register_mobile';\n case REGISTRATION_PAGE:\n return 'register';\n default:\n return '';\n }\n};\n\nconst track = (attrs) => {\n trackV2({\n category: 'onboarding',\n ...attrs,\n properties: {\n ...attrs.properties\n }\n });\n};\n\n// Get background CSS class added to html element, e.g. 'background-7' for use in analytics. Ref: https://strava.atlassian.net/browse/ACQN-141\nconst getBackgroundName = () => {\n const classList = document.querySelector('html')?.classList;\n return classList\n ? Array.from(classList).find((item) => item.includes('background-')) || null\n : null;\n};\n\nexport {\n LANDING_PAGE,\n PRIVATE_ACTIVITY,\n MOBILE_REGISTRATION_PAGE,\n REGISTRATION_PAGE,\n pageAttrForAnalytics,\n track,\n getBackgroundName\n};\n"],"names":["Object","freeze","warning","error","info","success","StravaAlert","children","className","severity","options","clsx","styles","defaultProps","SIGN_UP","variant","type","FacebookButton","onClick","I18nPrefix","ButtonWrapper","I18n","GoogleButton","AccountAuthEmailButton","APPLE","EMAIL","FACEBOOK","GOOGLE","elemAttrForAnalytics","option","appendScriptToBody","script","name","document","querySelector","appendChild","e","Error","logError","injectAppleScript","locale","window","apple","createElement","formattedLocale","replace","src","async","state","useEffect","signin","AppleID","stravaInit","auth","init","clientId","scope","redirectURI","signIn","AppleButton","AccountSignupForm","authorizationUrls","config","page","flashMessage","appleSignin","useApple","appleState","LANDING_PAGE","track","pageAttrForAnalytics","action","handleOnClick","clickedOption","MOBILE_REGISTRATION_PAGE","element","properties","signup_copy","location","href","orDivider","isEmpty","appleEnabled","DisclaimerText","showLoginOption","PRIVATE_ACTIVITY","legalTerms","terms_path","legalPrivacy","privacy_path","noWrap","content","YOUNGEST_AGE_ON_PLATFORM","LOCALE","man","woman","preferNotSay","nonBinary","enUS","frFR","deDE","esES","ptBR","ruRU","itIT","jaJP","es419","koKR","nlNL","zhTW","ptPT","zhCN","REGISTRATION_PAGE","attrs","trackV2","category","getBackgroundName","classList","Array","from","find","item","includes"],"sourceRoot":""}