{"version":3,"file":"js/43207-11073c3fc85a4744a231.js","mappings":"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","sources":["webpack://StravaModern/../src/Element.tsx","webpack://StravaModern/../src/Filter.ts","webpack://StravaModern/../src/constants.ts","webpack://StravaModern/../src/StyleFilter.ts","webpack://StravaModern/../src/Parser.ts","webpack://StravaModern/../src/Interweave.tsx","webpack://StravaModern/../src/Markup.tsx","webpack://StravaModern/./node_modules/@strava/authentication-ui/src/AccountAuthButton/AccountAuthButton.module.scss?771e","webpack://StravaModern/./node_modules/@strava/authentication-ui/src/AccountAuthButton/AccountAuthButton.tsx","webpack://StravaModern/./node_modules/@strava/authentication-ui/src/DisclaimerText/DisclaimerText.module.scss?86ce","webpack://StravaModern/./node_modules/@strava/authentication-ui/src/DisclaimerText/DisclaimerText.tsx","webpack://StravaModern/./node_modules/@strava/authentication-ui/node_modules/react-google-recaptcha/lib/esm/recaptcha.js","webpack://StravaModern/./node_modules/@strava/authentication-ui/node_modules/react-google-recaptcha/lib/esm/recaptcha-wrapper.js","webpack://StravaModern/./node_modules/@strava/authentication-ui/node_modules/react-google-recaptcha/lib/esm/index.js","webpack://StravaModern/./node_modules/@strava/authentication-ui/node_modules/lodash-es/isNil.js","webpack://StravaModern/./node_modules/@strava/ui/Input/Input.module.scss?50e4","webpack://StravaModern/./node_modules/@strava/ui/Input/Input.tsx","webpack://StravaModern/./node_modules/@strava/ui/node_modules/@strava/icons/dist/ActionsVisibleDisabledNormalSmall.js","webpack://StravaModern/./node_modules/@strava/ui/node_modules/@strava/icons/dist/ActionsVisibleNormalSmall.js","webpack://StravaModern/./node_modules/@strava/ui/Input/PasswordInput.module.scss?7172","webpack://StravaModern/./node_modules/@strava/ui/Input/PasswordInput.tsx","webpack://StravaModern/./node_modules/@strava/authentication-ui/src/RegistrationInput/RegistrationInput.module.scss?70f3","webpack://StravaModern/./node_modules/@strava/authentication-ui/src/RegistrationInput/RegistrationInput.tsx","webpack://StravaModern/./node_modules/@strava/authentication-ui/src/EmailRegistrationForm/EmailRegistrationForm.module.scss?ddf9","webpack://StravaModern/./node_modules/@strava/authentication-ui/src/EmailRegistrationForm/EmailRegistrationForm.tsx","webpack://StravaModern/./node_modules/@strava/authentication-ui/src/EmailRegistrationForm/email-registration-api.ts","webpack://StravaModern/./node_modules/@strava/authentication-ui/src/OrDivider/OrDivider.module.scss?37b1","webpack://StravaModern/./node_modules/@strava/authentication-ui/src/OrDivider/OrDivider.tsx","webpack://StravaModern/./node_modules/@strava/authentication-ui/src/constants.ts","webpack://StravaModern/./node_modules/@strava/authentication-ui/src/utils.ts","webpack://StravaModern/./node_modules/@strava/react-hooks/src/use-safe-state/useSafeState.hook.ts","webpack://StravaModern/./node_modules/@strava/ui/node_modules/@strava/icons/dist/ActionsCancelCircleHighlightedMedium.js","webpack://StravaModern/./node_modules/@strava/ui/node_modules/@strava/icons/dist/ActionsCheckCircleOnMedium.js","webpack://StravaModern/./node_modules/@strava/ui/node_modules/@strava/icons/dist/NavigationWarningHighlightedMedium.js","webpack://StravaModern/./node_modules/@strava/ui/node_modules/@strava/icons/dist/NavigationInformationNormalMedium.js","webpack://StravaModern/./node_modules/@strava/ui/node_modules/@strava/icons/dist/ActionsCancelNormalSmall.js","webpack://StravaModern/./node_modules/@strava/react-hooks/src/use-interval/useInterval.hook.ts","webpack://StravaModern/./node_modules/@strava/ui/Alert/Alert.module.scss?7e0f","webpack://StravaModern/./node_modules/@strava/ui/Alert/Alert.tsx","webpack://StravaModern/./node_modules/@strava/react-hooks/src/use-queue/useQueue.hook.ts","webpack://StravaModern/./node_modules/@strava/ui/Alert/AlertProvider/AlertContext.tsx","webpack://StravaModern/./node_modules/@strava/ui/Alert/AlertProvider/AlertContainer.module.scss?1a42","webpack://StravaModern/./node_modules/@strava/ui/Alert/AlertProvider/AlertContainer.tsx","webpack://StravaModern/./node_modules/@strava/ui/node_modules/@strava/icons/dist/NavigationProfileHighlightedMedium.js","webpack://StravaModern/./node_modules/@strava/ui/node_modules/@strava/icons/dist/BadgesMulticolorSuperuserSmall.js","webpack://StravaModern/./node_modules/@strava/ui/node_modules/@strava/icons/dist/BadgesMulticolorSummitSmall.js","webpack://StravaModern/./node_modules/@strava/ui/node_modules/@strava/icons/dist/BadgesMulticolorProSmall.js","webpack://StravaModern/./node_modules/@strava/ui/node_modules/@strava/icons/dist/BadgesMulticolorVerifiedSmall.js","webpack://StravaModern/./node_modules/@strava/ui/Avatar/Avatar.module.scss?3ebc","webpack://StravaModern/./node_modules/@strava/ui/Avatar/Avatar.tsx","webpack://StravaModern/./node_modules/@strava/ui/Spinner/Spinner.module.scss?87e9","webpack://StravaModern/./node_modules/@strava/ui/Spinner/Spinner.tsx","webpack://StravaModern/./node_modules/@strava/ui/VisuallyHidden/VisuallyHidden.tsx","webpack://StravaModern/./node_modules/email-validator/index.js","webpack://StravaModern/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://StravaModern/./node_modules/react-async-script/lib/esm/async-script-loader.js"],"sourcesContent":[null,null,null,null,null,null,null,"// extracted by mini-css-extract-plugin\nexport default {\"authButton\":\"AccountAuthButton--authButton--yFnD+\",\"placeholder\":\"AccountAuthButton--placeholder--JAgxq\",\"facebookBlue\":\"AccountAuthButton--facebookBlue--eWNdO\"};","import React, { ReactNode } from 'react';\nimport clsx from '@strava/ui/clsx';\nimport Button from '@strava/ui/Button';\nimport styles from './AccountAuthButton.module.scss';\n\nconst AppleLogo = React.lazy(() => import('@strava/icons/LogosAppleSmall'));\nconst FacebookLogo = React.lazy(\n () => import('@strava/icons/LogosFacebookSmall')\n);\nconst GoogleLogo = React.lazy(() => import('@strava/icons/LogosGoogleSmall'));\nconst EmailLogo = React.lazy(\n () => import('@strava/icons/ActionsEmailNormalSmall')\n);\n\nexport type AuthButtonVariantTypes =\n | 'apple'\n | 'email'\n | 'facebook'\n | 'facebook-blue' // ironically corresponds to the lighter version of the icon\n | 'google';\n\ntype AccountAuthButtonProps = {\n children: ReactNode;\n className?: string;\n variant?: AuthButtonVariantTypes;\n onClick?: () => void;\n};\n\nconst AccountAuthButton = ({\n children,\n onClick,\n variant,\n className,\n ...options\n}: AccountAuthButtonProps) => {\n return (\n \n }>\n {variant === 'apple' && }\n {variant === 'facebook' && }\n {variant === 'facebook-blue' && }\n {variant === 'google' && }\n {variant === 'email' && }\n \n {children}\n \n );\n};\n\nexport default AccountAuthButton;\n","// extracted by mini-css-extract-plugin\nexport default {\"disclaimerText\":\"DisclaimerText--disclaimerText--oXzH1\"};","import React from 'react';\nimport { Markup } from 'interweave';\nimport { useStravaTranslations } from '@strava/container-context';\nimport clsx from '@strava/ui/clsx/clsx';\n\nimport styles from './DisclaimerText.module.scss';\n\ntype DisclaimerTextProps = {\n className?: string;\n};\n\nconst DisclaimerText = ({ className }: DisclaimerTextProps) => {\n const { t } = useStravaTranslations();\n\n const legalTerms = t(\n 'authentication_ui.disclaimer_text.by_clicking_cta_html',\n { terms_path: '/legal/terms' }\n );\n\n const legalPrivacy = t(\n 'authentication_ui.disclaimer_text.view_privacy_policy_html',\n { privacy_path: '/legal/privacy' }\n );\n\n return (\n

\n {' '}\n \n

\n );\n};\n\nexport default DisclaimerText;\n","var _excluded = [\"sitekey\", \"onChange\", \"theme\", \"type\", \"tabindex\", \"onExpired\", \"onErrored\", \"size\", \"stoken\", \"grecaptcha\", \"badge\", \"hl\", \"isolated\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nimport * as React from \"react\";\nimport PropTypes from \"prop-types\";\nvar ReCAPTCHA = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ReCAPTCHA, _React$Component);\n function ReCAPTCHA() {\n var _this;\n _this = _React$Component.call(this) || this;\n _this.handleExpired = _this.handleExpired.bind(_assertThisInitialized(_this));\n _this.handleErrored = _this.handleErrored.bind(_assertThisInitialized(_this));\n _this.handleChange = _this.handleChange.bind(_assertThisInitialized(_this));\n _this.handleRecaptchaRef = _this.handleRecaptchaRef.bind(_assertThisInitialized(_this));\n return _this;\n }\n var _proto = ReCAPTCHA.prototype;\n _proto.getCaptchaFunction = function getCaptchaFunction(fnName) {\n if (this.props.grecaptcha) {\n if (this.props.grecaptcha.enterprise) {\n return this.props.grecaptcha.enterprise[fnName];\n }\n return this.props.grecaptcha[fnName];\n }\n return null;\n };\n _proto.getValue = function getValue() {\n var getResponse = this.getCaptchaFunction(\"getResponse\");\n if (getResponse && this._widgetId !== undefined) {\n return getResponse(this._widgetId);\n }\n return null;\n };\n _proto.getWidgetId = function getWidgetId() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n return this._widgetId;\n }\n return null;\n };\n _proto.execute = function execute() {\n var execute = this.getCaptchaFunction(\"execute\");\n if (execute && this._widgetId !== undefined) {\n return execute(this._widgetId);\n } else {\n this._executeRequested = true;\n }\n };\n _proto.executeAsync = function executeAsync() {\n var _this2 = this;\n return new Promise(function (resolve, reject) {\n _this2.executionResolve = resolve;\n _this2.executionReject = reject;\n _this2.execute();\n });\n };\n _proto.reset = function reset() {\n var resetter = this.getCaptchaFunction(\"reset\");\n if (resetter && this._widgetId !== undefined) {\n resetter(this._widgetId);\n }\n };\n _proto.forceReset = function forceReset() {\n var resetter = this.getCaptchaFunction(\"reset\");\n if (resetter) {\n resetter();\n }\n };\n _proto.handleExpired = function handleExpired() {\n if (this.props.onExpired) {\n this.props.onExpired();\n } else {\n this.handleChange(null);\n }\n };\n _proto.handleErrored = function handleErrored() {\n if (this.props.onErrored) {\n this.props.onErrored();\n }\n if (this.executionReject) {\n this.executionReject();\n delete this.executionResolve;\n delete this.executionReject;\n }\n };\n _proto.handleChange = function handleChange(token) {\n if (this.props.onChange) {\n this.props.onChange(token);\n }\n if (this.executionResolve) {\n this.executionResolve(token);\n delete this.executionReject;\n delete this.executionResolve;\n }\n };\n _proto.explicitRender = function explicitRender() {\n var render = this.getCaptchaFunction(\"render\");\n if (render && this._widgetId === undefined) {\n var wrapper = document.createElement(\"div\");\n this._widgetId = render(wrapper, {\n sitekey: this.props.sitekey,\n callback: this.handleChange,\n theme: this.props.theme,\n type: this.props.type,\n tabindex: this.props.tabindex,\n \"expired-callback\": this.handleExpired,\n \"error-callback\": this.handleErrored,\n size: this.props.size,\n stoken: this.props.stoken,\n hl: this.props.hl,\n badge: this.props.badge,\n isolated: this.props.isolated\n });\n this.captcha.appendChild(wrapper);\n }\n if (this._executeRequested && this.props.grecaptcha && this._widgetId !== undefined) {\n this._executeRequested = false;\n this.execute();\n }\n };\n _proto.componentDidMount = function componentDidMount() {\n this.explicitRender();\n };\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.explicitRender();\n };\n _proto.handleRecaptchaRef = function handleRecaptchaRef(elem) {\n this.captcha = elem;\n };\n _proto.render = function render() {\n // consume properties owned by the reCATPCHA, pass the rest to the div so the user can style it.\n /* eslint-disable no-unused-vars */\n var _this$props = this.props,\n sitekey = _this$props.sitekey,\n onChange = _this$props.onChange,\n theme = _this$props.theme,\n type = _this$props.type,\n tabindex = _this$props.tabindex,\n onExpired = _this$props.onExpired,\n onErrored = _this$props.onErrored,\n size = _this$props.size,\n stoken = _this$props.stoken,\n grecaptcha = _this$props.grecaptcha,\n badge = _this$props.badge,\n hl = _this$props.hl,\n isolated = _this$props.isolated,\n childProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n /* eslint-enable no-unused-vars */\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, childProps, {\n ref: this.handleRecaptchaRef\n }));\n };\n return ReCAPTCHA;\n}(React.Component);\nexport { ReCAPTCHA as default };\nReCAPTCHA.displayName = \"ReCAPTCHA\";\nReCAPTCHA.propTypes = {\n sitekey: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n grecaptcha: PropTypes.object,\n theme: PropTypes.oneOf([\"dark\", \"light\"]),\n type: PropTypes.oneOf([\"image\", \"audio\"]),\n tabindex: PropTypes.number,\n onExpired: PropTypes.func,\n onErrored: PropTypes.func,\n size: PropTypes.oneOf([\"compact\", \"normal\", \"invisible\"]),\n stoken: PropTypes.string,\n hl: PropTypes.string,\n badge: PropTypes.oneOf([\"bottomright\", \"bottomleft\", \"inline\"]),\n isolated: PropTypes.bool\n};\nReCAPTCHA.defaultProps = {\n onChange: function onChange() {},\n theme: \"light\",\n type: \"image\",\n tabindex: 0,\n size: \"normal\",\n badge: \"bottomright\"\n};","import ReCAPTCHA from \"./recaptcha\";\nimport makeAsyncScriptLoader from \"react-async-script\";\nvar callbackName = \"onloadcallback\";\nvar globalName = \"grecaptcha\";\nfunction getOptions() {\n return typeof window !== \"undefined\" && window.recaptchaOptions || {};\n}\nfunction getURL() {\n var dynamicOptions = getOptions();\n var hostname = dynamicOptions.useRecaptchaNet ? \"recaptcha.net\" : \"www.google.com\";\n if (dynamicOptions.enterprise) {\n return \"https://\" + hostname + \"/recaptcha/enterprise.js?onload=\" + callbackName + \"&render=explicit\";\n }\n return \"https://\" + hostname + \"/recaptcha/api.js?onload=\" + callbackName + \"&render=explicit\";\n}\nexport default makeAsyncScriptLoader(getURL, {\n callbackName: callbackName,\n globalName: globalName,\n attributes: getOptions().nonce ? {\n nonce: getOptions().nonce\n } : {}\n})(ReCAPTCHA);","import RecaptchaWrapper from \"./recaptcha-wrapper\";\nimport ReCAPTCHA from \"./recaptcha\";\nexport default RecaptchaWrapper;\nexport { ReCAPTCHA };","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nexport default isNil;\n","// extracted by mini-css-extract-plugin\nexport default {\"input\":\"Input--input--myCs3\"};","import React, { forwardRef } from 'react';\nimport clsx from '@strava/ui/clsx';\nimport styles from './Input.module.scss';\n\ntype InputProps = React.ComponentPropsWithoutRef<'input'>;\n\nexport const Input = forwardRef(\n ({ className, ...props }, ref) => (\n \n )\n);\n\nexport default Input;\n","import * as React from \"react\";\nimport PropTypes from \"prop-types\";\nconst SvgActionsVisibleDisabledNormalSmall = React.forwardRef(\n ({ color, size, title, titleId, ...props }, ref) => (\n \n {title ? {title} : null}\n \n \n \n )\n);\nSvgActionsVisibleDisabledNormalSmall.defaultProps = {\n color: \"currentColor\",\n size: 24,\n title: undefined,\n titleId: undefined,\n};\nSvgActionsVisibleDisabledNormalSmall.propTypes = {\n color: PropTypes.string,\n size: PropTypes.number,\n title: PropTypes.string,\n titleId: PropTypes.string,\n};\nexport default SvgActionsVisibleDisabledNormalSmall;\n","import * as React from \"react\";\nimport PropTypes from \"prop-types\";\nconst SvgActionsVisibleNormalSmall = React.forwardRef(\n ({ color, size, title, titleId, ...props }, ref) => (\n \n {title ? {title} : null}\n \n \n \n )\n);\nSvgActionsVisibleNormalSmall.defaultProps = {\n color: \"currentColor\",\n size: 24,\n title: undefined,\n titleId: undefined,\n};\nSvgActionsVisibleNormalSmall.propTypes = {\n color: PropTypes.string,\n size: PropTypes.number,\n title: PropTypes.string,\n titleId: PropTypes.string,\n};\nexport default SvgActionsVisibleNormalSmall;\n","// extracted by mini-css-extract-plugin\nexport default {\"passwordInput\":\"Input--passwordInput--ARtRG\",\"showPasswordButton\":\"Input--showPasswordButton--9Ubgm\"};","import React, { forwardRef, useState } from 'react';\nimport clsx from '@strava/ui/clsx';\nimport ActionsVisibleDisabledNormalSmall from '@strava/icons/ActionsVisibleDisabledNormalSmall';\nimport ActionsVisibleNormalSmall from '@strava/icons/ActionsVisibleNormalSmall';\nimport VisuallyHidden from '../VisuallyHidden';\nimport Input from '.';\n\nimport styles from './PasswordInput.module.scss';\n\nexport type PasswordInputProps = React.ComponentPropsWithoutRef<'input'> & {\n showPasswordText: string; // translated text for accessibility. Should inform users that clicking show password button will display the password on the screen\n hidePasswordText: string;\n};\n\nconst PasswordInput = forwardRef(\n ({ showPasswordText, hidePasswordText, className, ...props }, ref) => {\n const [passwordIsVisible, setPasswordIsVisible] = useState(false);\n\n return (\n
\n \n setPasswordIsVisible((prev) => !prev)}\n className={styles.showPasswordButton}\n type=\"button\"\n role=\"switch\"\n aria-checked={passwordIsVisible}\n title={passwordIsVisible ? hidePasswordText : showPasswordText}\n >\n {passwordIsVisible ? (\n \n ) : (\n \n )}\n \n {passwordIsVisible ? hidePasswordText : showPasswordText}\n \n \n
\n );\n }\n);\n\nexport default PasswordInput;\n","// extracted by mini-css-extract-plugin\nexport default {\"input\":\"RegistrationInput--input--AQh-V\",\"label\":\"RegistrationInput--label--0tXB5\",\"light\":\"RegistrationInput--light--xymPQ\",\"textInput\":\"RegistrationInput--textInput--zLJDS\",\"message\":\"RegistrationInput--message--zQeRu\",\"error\":\"RegistrationInput--error--40No1\"};","import React, { forwardRef } from 'react';\nimport Input, { PasswordInput } from '@strava/ui/Input';\nimport { ThemeTypes } from '@strava/authentication-ui';\nimport clsx from '@strava/ui/clsx';\nimport styles from './RegistrationInput.module.scss';\n\ntype RegistrationInputProps = React.ComponentPropsWithoutRef<'input'> &\n (\n | {\n // type just has to not be 'password' or string for the conditional to work\n type: 'email' | 'text';\n hidePasswordText?: string;\n showPasswordText?: string;\n }\n | {\n type: 'password';\n hidePasswordText: string;\n showPasswordText: string;\n }\n ) & {\n label: string;\n inputMessage?: string | null;\n errorMessage?: string | null;\n errorMessageTestId?: string;\n theme?: ThemeTypes;\n };\n\nexport const RegistrationInput = forwardRef<\n HTMLInputElement,\n RegistrationInputProps\n>(\n (\n {\n label,\n id,\n type,\n inputMessage,\n errorMessage,\n errorMessageTestId,\n hidePasswordText,\n showPasswordText,\n theme = 'dark',\n ...props\n },\n ref\n ) => (\n
\n \n {type === 'password' ? (\n \n ) : (\n \n )}\n {inputMessage && !errorMessage && (\n

{inputMessage}

\n )}\n {errorMessage && (\n

\n {errorMessage}\n

\n )}\n
\n )\n);\n\nexport default RegistrationInput;\n","// extracted by mini-css-extract-plugin\nexport default {\"emailCaption\":\"EmailRegistrationForm--emailCaption--Ccjzm\",\"submitButton\":\"EmailRegistrationForm--submitButton--4ptar\"};","import React, { useState, useRef } from 'react';\nimport Button from '@strava/ui/Button';\nimport * as EmailValidator from 'email-validator';\nimport ReCAPTCHA from 'react-google-recaptcha';\nimport { isNil } from 'lodash-es';\nimport Spinner from '@strava/ui/Spinner';\nimport { AlertStatus, useAlertContext } from '@strava/ui/Alert';\nimport {\n elemAttrForAnalytics,\n EMAIL,\n ThemeTypes\n} from '@strava/authentication-ui';\nimport RegistrationInput from '../RegistrationInput';\nimport {\n submitFormData,\n isAlreadyRegisteredEmail\n} from './email-registration-api';\n\nimport {\n useStravaErrorLogging,\n useStravaTranslations\n} from '@strava/container-context';\n\nimport styles from './EmailRegistrationForm.module.scss';\n\nconst i18nPrefix = 'authentication_ui.email_registration_form';\n\nexport const EMAIL_REGISTRATION_FORM_ALERT_ID = 'email-registration-form-alert';\n\n// these props are passed into the parent component from the active\nexport interface EmailRegistrationFormProps {\n reCaptchaSiteKey: string;\n clubId?: number;\n isPremium: boolean;\n challengeId?: number;\n autoJoinChallenge?: boolean;\n honeyPot: string;\n plan?: string;\n formAuthToken?: string;\n}\n\ntype FormInputTypes = {\n email: string;\n password: string;\n honeyPot: string;\n};\n\ntype EmailValidationStateTypes = {\n message: string;\n isExistingEmail: boolean;\n isValidEmail: boolean;\n};\n\nexport type AnalyticsFieldsTypes = {\n action: string;\n element?: string;\n properties?: Record;\n};\n\nexport type AlertConfigTypes = {\n className?: string;\n contentPosition?: 'left' | 'center' | 'right';\n};\n\nconst EmailRegistrationForm = ({\n authorizationUrl,\n reCaptchaSiteKey,\n honeyPot,\n isPremium,\n clubId,\n plan,\n challengeId,\n autoJoinChallenge,\n formAuthToken,\n track,\n className,\n theme = 'dark',\n idPrefix,\n alertConfig,\n isInView = true\n}: EmailRegistrationFormProps & {\n // these props are passed in from the parent component\n authorizationUrl: string; // this url generally still comes from active\n track: (fields: AnalyticsFieldsTypes) => void;\n className?: string;\n idPrefix: string;\n theme?: ThemeTypes;\n alertConfig?: AlertConfigTypes;\n isInView?: boolean;\n}) => {\n const [formInput, setFormInput] = useState({\n email: '',\n password: '',\n honeyPot: '' // if this field gets filled out, user is probably a bot\n });\n const [passwordErrorMsg, setPasswordErrMsg] = useState(null);\n const [emailValidationState, setEmailValidationState] =\n useState(null);\n const [isProcessing, setIsProcessing] = useState(false);\n\n const emailInput = useRef(null);\n const passwordInput = useRef(null);\n const recaptchaRef = useRef(null);\n\n const useRecaptcha = !!reCaptchaSiteKey && isInView;\n\n const { logError } = useStravaErrorLogging();\n const { t } = useStravaTranslations();\n const { showAlert, clearAlerts } = useAlertContext();\n\n const emailRegFormAlert = (content: React.ReactNode, id: string) => ({\n content,\n alertType: AlertStatus.ERROR,\n containerId: EMAIL_REGISTRATION_FORM_ALERT_ID,\n hideCloseButton: true,\n ...(alertConfig && { ...alertConfig }),\n id // to prevent showing duplicate error messages\n });\n\n const getRecaptchaToken = async () => {\n if (useRecaptcha) {\n return (await recaptchaRef?.current?.executeAsync()) ?? '';\n }\n return '';\n };\n\n const handleEmailFormSubmit = async () => {\n const recaptchaToken = await getRecaptchaToken();\n\n const element = elemAttrForAnalytics(EMAIL);\n const { email, password, honeyPot } = formInput;\n\n const formData = new FormData();\n formData.append('web_registration_form', 'true');\n formData.append('email', email);\n formData.append('password', password);\n formData.append('g-recaptcha-response', recaptchaToken);\n formData.append('checkbox_agreed_to_terms', 'on');\n formData.append(honeyPot, honeyPot);\n formData.append('plan', String(plan));\n formData.append('authenticity_token', String(formAuthToken));\n\n if (isPremium) {\n formData.append('premium', 'true');\n }\n if (!isNil(clubId)) {\n formData.append('club_id', String(clubId));\n }\n if (!isNil(challengeId)) {\n formData.append('challenge_id', String(challengeId));\n }\n if (!isNil(autoJoinChallenge)) {\n formData.append('auto_join_challenge', String(autoJoinChallenge));\n }\n\n try {\n const response = await submitFormData({\n formData,\n url: authorizationUrl,\n logError\n });\n\n if ('error' in response) {\n // join request failed server-side validations,\n // flash message is populated and shown if an error occurred\n showAlert(emailRegFormAlert(response.error, 'submitFormData error'));\n setIsProcessing(false); // let user try again\n } else {\n const { pathType, load } = response;\n track({\n action: 'redirect',\n element,\n properties: {\n path_type: pathType,\n redirect_url: load\n }\n });\n\n // navigate to onboarding flow if no errors were encountered\n window.location.href = load;\n }\n } catch (error) {\n logError(error);\n\n // generic \"something went wrong\" alert\n showAlert(\n emailRegFormAlert(\n t(`${i18nPrefix}.error_message`),\n 'submitFormData catch'\n )\n );\n setIsProcessing(false); // let user try again\n }\n };\n\n /**\n * Validate athlete email -\n * 1 - value should be provided (required)\n * 2 - valid email address should be entered (eg. should have @)\n * 3 - email address should not be already registered on strava\n *\n * @returns {Object} result\n * @returns {boolean} result.isValidEmail - true when the email has passed all validation criteria\n * @returns {string} result.isExistingEmail - true when the email is already registered on strava\n * @returns {string} result.message - string message to display to athlete when an error occurs\n */\n const validateEmail = async () => {\n const { email } = formInput;\n if (emailValidationState) {\n // avoid validating email if there is already an error that is not addressed by the athlete yet\n // this prevents making an unnecessary api call to check if email is already registered (see #isAlreadyRegisteredEmail)\n return emailValidationState;\n } else {\n let isValidEmail = true;\n let isExistingEmail = false;\n let message = null;\n\n if (!(email && email.length > 0)) {\n message = t(`${i18nPrefix}.email_required`);\n isValidEmail = false;\n } else if (!EmailValidator.validate(email)) {\n message = t(`${i18nPrefix}.email_invalid`);\n isValidEmail = false;\n } else {\n try {\n const isUniqueEmail = await isAlreadyRegisteredEmail(email);\n if (!isUniqueEmail) {\n message = t(`${i18nPrefix}.email_taken`);\n isExistingEmail = true;\n }\n } catch (error) {\n logError(error);\n isValidEmail = false;\n\n // generic \"something went wrong\" alert\n showAlert(\n emailRegFormAlert(\n t(`${i18nPrefix}.error_message`),\n 'isAlreadyRegisteredEmail catch'\n )\n );\n }\n }\n setEmailValidationState({ isExistingEmail, isValidEmail, message });\n return { message, isValidEmail, isExistingEmail };\n }\n };\n\n /**\n * Validates athlete password\n * - value should be provided (required)\n * - max length of 40 chars\n * - min length of 8 chars\n *\n * @returns {boolean} result true when the password is valid\n */\n const validatePassword = () => {\n const { password } = formInput;\n\n if (!passwordErrorMsg) {\n // avoid validating email if there is already an error that is not addressed by the athlete yet\n let isValidPassword = true;\n let passwordValidationMsg = null;\n if (!(password && password.length > 0)) {\n passwordValidationMsg = t(`${i18nPrefix}.password_required`);\n isValidPassword = false;\n } else if (password.length > 40) {\n passwordValidationMsg = t(`${i18nPrefix}.password_max_length`);\n isValidPassword = false;\n } else if (password.length < 8) {\n passwordValidationMsg = t(`${i18nPrefix}.password_min_length`);\n isValidPassword = false;\n }\n setPasswordErrMsg(passwordValidationMsg);\n return isValidPassword;\n }\n return false;\n };\n\n const validateForm = async () => {\n return {\n ...(await validateEmail()),\n isValidPassword: validatePassword()\n };\n };\n\n /**\n * Actions to perform when a user hits the \"sign up\" button (account registration using email).\n * - validate user input (email and password)\n * - submit form if input is valid\n * - focus on invalid inputs if input is invalid\n */\n const handleFormSubmission = async (\n event: React.FormEvent\n ) => {\n event.preventDefault();\n setIsProcessing(true); // prevent impatient submit clicks\n\n const { isValidEmail, isValidPassword, isExistingEmail } =\n await validateForm();\n\n track({\n action: 'click',\n element: 'signup',\n properties: {\n is_valid_email: isValidEmail,\n is_valid_password: isValidPassword,\n is_existing_email: isExistingEmail\n }\n });\n\n if (isValidEmail && !isExistingEmail && isValidPassword) {\n handleEmailFormSubmit();\n } else {\n setIsProcessing(false); // let user try again\n\n if (recaptchaRef.current) {\n recaptchaRef.current.reset();\n }\n if (!isValidPassword) {\n passwordInput?.current?.focus();\n }\n // prioritize focus on email input if both password and email inputs are invalid\n if (!isValidEmail || isExistingEmail) {\n emailInput?.current?.focus();\n }\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent) => {\n const { target } = event;\n const { name } = target;\n\n // save honeyPot input as 'honeyPot' instead of whatever the value of honeyPot is\n // (server determines honeyPot value)\n setFormInput((prev) => {\n return { ...prev, [name === honeyPot ? 'honeyPot' : name]: target.value };\n });\n\n // clear input specific errors\n if (name === 'email' && emailValidationState?.message) {\n setEmailValidationState(null);\n } else if (passwordErrorMsg) {\n setPasswordErrMsg(null);\n }\n // clear alerts on all input changes\n clearAlerts(EMAIL_REGISTRATION_FORM_ALERT_ID);\n };\n\n return (\n \n \n\n \n\n {/**\n * Honeypot input is hidden to real users but visible to bots.\n * It should be a value that seems legit to bots but one we don't actually use/care about.\n * If the input is populated, we know it's a bot. */}\n
\n \n \n
\n\n {useRecaptcha && (\n \n )}\n\n \n {isProcessing ? : t(`${i18nPrefix}.sign_up`)}\n \n \n );\n};\n\nexport default EmailRegistrationForm;\n","import apiClient from '@strava/api/lib/axios-client';\n\ntype SubmitFormDataSuccessResponse = {\n success: boolean;\n pathType: string;\n load: string;\n};\n\ntype SubmitFormDataErrorResponse = {\n error: string;\n};\n\ntype SubmitFormDataResponseType =\n | SubmitFormDataSuccessResponse\n | SubmitFormDataErrorResponse;\n\nexport const submitFormData = async ({\n formData,\n url,\n logError\n}: {\n formData: FormData;\n url: string;\n logError: (s: string | unknown) => void;\n}): Promise => {\n return new Promise((resolve, reject) => {\n apiClient({\n options: {\n headers: { 'Content-Type': 'multipart/form-data' }\n }\n })\n .post(url, formData)\n .then((response: { data: SubmitFormDataResponseType }) => {\n resolve(response.data);\n })\n .catch((error: unknown) => {\n logError(error);\n reject(error);\n });\n });\n};\n\nexport const isAlreadyRegisteredEmail = async (email: string) => {\n return new Promise((resolve, reject) => {\n apiClient()\n .get('/athletes/email_unique', { params: { email } })\n .then(({ data }: { data: boolean }) => {\n resolve(data);\n })\n .catch((error: unknown) => {\n reject(error);\n });\n });\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"orDivider\":\"OrDivider--orDivider--X6SS0\",\"or\":\"OrDivider--or--rdcMJ\",\"light\":\"OrDivider--light--BPhFE\",\"line\":\"OrDivider--line--LX6dD\"};","import React from 'react';\nimport clsx from '@strava/ui/clsx';\n\nimport styles from './OrDivider.module.scss';\nimport { ThemeTypes } from '..';\n\ninterface OrDividerProps {\n text: string;\n theme?: ThemeTypes;\n className?: string;\n}\n\nexport const OrDivider = ({\n text,\n theme = 'dark',\n className\n}: OrDividerProps) => {\n return (\n
\n
\n {text}\n
\n
\n );\n};\n\nexport default OrDivider;\n","// authentication options\nexport const APPLE = 'apple';\nexport const EMAIL = 'email';\nexport const FACEBOOK = 'facebook';\nexport const GOOGLE = 'google';\n\n// session storage key(s)\nexport const HIDE_TIME_DELAY_MODAL = 'hide-time-delay-modal';\n","import { APPLE, EMAIL, FACEBOOK, GOOGLE } from './constants';\n\ntype ElementTypes =\n | typeof APPLE\n | typeof EMAIL\n | typeof FACEBOOK\n | typeof GOOGLE;\n\nexport const elemAttrForAnalytics = (option: ElementTypes) => {\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","import {\n Dispatch,\n SetStateAction,\n useRef,\n useCallback,\n useEffect,\n useState\n} from 'react';\n\n/**\n * The `useSafeState` hook acts the same as React's `useState`,\n * where we can set the initial state, and it returns (1) the current state,\n * and (2) the state setter.\n *\n * But with `useSafeState`, it will only set the state when the component is mounted\n * in order to prevent memory leaks and avoid this warning:\n * \"Warning: Can’t perform a React state update on an unmounted component.\"\n * When a component is unmounted, we don't want to set the state.\n *\n * This helps when we have async behavior where we call an async API call,\n * then based on the async response, we set the state. But if the component\n * unmounts before the API call resolves, we don't want to set the state.\n * */\n// eslint-disable-next-line import/prefer-default-export\nexport const useSafeState = (\n initialState: S | (() => S)\n): [S, Dispatch>] => {\n const mountedRef = useRef(false);\n const [state, setState] = useState(initialState);\n\n useEffect(() => {\n mountedRef.current = true;\n return () => {\n mountedRef.current = false;\n };\n }, []);\n\n const setSafeState = useCallback(\n (args) => (mountedRef.current ? setState(args) : () => {}),\n []\n );\n\n return [state, setSafeState];\n};\n","import * as React from \"react\";\nimport PropTypes from \"prop-types\";\nconst SvgActionsCancelCircleHighlightedMedium = React.forwardRef(\n ({ color, size, title, titleId, ...props }, ref) => (\n \n {title ? {title} : null}\n \n \n )\n);\nSvgActionsCancelCircleHighlightedMedium.defaultProps = {\n color: \"currentColor\",\n size: 32,\n title: undefined,\n titleId: undefined,\n};\nSvgActionsCancelCircleHighlightedMedium.propTypes = {\n color: PropTypes.string,\n size: PropTypes.number,\n title: PropTypes.string,\n titleId: PropTypes.string,\n};\nexport default SvgActionsCancelCircleHighlightedMedium;\n","import * as React from \"react\";\nimport PropTypes from \"prop-types\";\nconst SvgActionsCheckCircleOnMedium = React.forwardRef(\n ({ color, size, title, titleId, ...props }, ref) => (\n \n {title ? {title} : null}\n \n \n )\n);\nSvgActionsCheckCircleOnMedium.defaultProps = {\n color: \"currentColor\",\n size: 32,\n title: undefined,\n titleId: undefined,\n};\nSvgActionsCheckCircleOnMedium.propTypes = {\n color: PropTypes.string,\n size: PropTypes.number,\n title: PropTypes.string,\n titleId: PropTypes.string,\n};\nexport default SvgActionsCheckCircleOnMedium;\n","import * as React from \"react\";\nimport PropTypes from \"prop-types\";\nconst SvgNavigationWarningHighlightedMedium = React.forwardRef(\n ({ color, size, title, titleId, ...props }, ref) => (\n \n {title ? {title} : null}\n \n \n )\n);\nSvgNavigationWarningHighlightedMedium.defaultProps = {\n color: \"currentColor\",\n size: 32,\n title: undefined,\n titleId: undefined,\n};\nSvgNavigationWarningHighlightedMedium.propTypes = {\n color: PropTypes.string,\n size: PropTypes.number,\n title: PropTypes.string,\n titleId: PropTypes.string,\n};\nexport default SvgNavigationWarningHighlightedMedium;\n","import * as React from \"react\";\nimport PropTypes from \"prop-types\";\nconst SvgNavigationInformationNormalMedium = React.forwardRef(\n ({ color, size, title, titleId, ...props }, ref) => (\n \n {title ? {title} : null}\n \n \n \n )\n);\nSvgNavigationInformationNormalMedium.defaultProps = {\n color: \"currentColor\",\n size: 32,\n title: undefined,\n titleId: undefined,\n};\nSvgNavigationInformationNormalMedium.propTypes = {\n color: PropTypes.string,\n size: PropTypes.number,\n title: PropTypes.string,\n titleId: PropTypes.string,\n};\nexport default SvgNavigationInformationNormalMedium;\n","import * as React from \"react\";\nimport PropTypes from \"prop-types\";\nconst SvgActionsCancelNormalSmall = React.forwardRef(\n ({ color, size, title, titleId, ...props }, ref) => (\n \n {title ? {title} : null}\n \n \n )\n);\nSvgActionsCancelNormalSmall.defaultProps = {\n color: \"currentColor\",\n size: 24,\n title: undefined,\n titleId: undefined,\n};\nSvgActionsCancelNormalSmall.propTypes = {\n color: PropTypes.string,\n size: PropTypes.number,\n title: PropTypes.string,\n titleId: PropTypes.string,\n};\nexport default SvgActionsCancelNormalSmall;\n","import { useRef, useEffect } from 'react';\n\n/**\n * Declarative setInterval React hook.\n *\n * `useInterval` uses the same API as setInterval, but the arguments of this hook is \"dynamic\".\n * Set your `callback` function as the first argument and the `delay` as the second argument.\n * When passing `null` or `undefined` to the `delay` arg then it will stop/pause the interval.\n *\n * For implementation details explanation, why to use useInterval hook, and an example see Dan Abramov's blog post\n * 👀: https://overreacted.io/making-setinterval-declarative-with-react-hooks/\n * */\nexport const useInterval = (callback: Function, delay: number | null) => {\n const savedCallback = useRef(null);\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n // If no delay then pause/stop the interval.\n // Delay of 0 is valid delay.\n if ((!delay && delay !== 0) || delay < 0) {\n return;\n }\n\n const id = setInterval(() => savedCallback.current?.(), delay);\n // eslint-disable-next-line consistent-return\n return () => clearInterval(id);\n }, [delay]);\n};\n\nexport default useInterval;\n","// extracted by mini-css-extract-plugin\nexport default {\"alert\":\"Alert--alert--mHJG0\",\"alertInner\":\"Alert--alertInner--Cohht\",\"hasError\":\"Alert--hasError--6H8nL\",\"buttonError\":\"Alert--buttonError--JNCju\",\"hasWarning\":\"Alert--hasWarning--XMcB+\",\"buttonWarning\":\"Alert--buttonWarning--B8+01\",\"hasSuccess\":\"Alert--hasSuccess--HEVyx\",\"buttonSuccess\":\"Alert--buttonSuccess--8cDF1\",\"hasInfo\":\"Alert--hasInfo--cIXeI\",\"buttonInfo\":\"Alert--buttonInfo--3W2YL\",\"alertContent\":\"Alert--alertContent--Ady-v\",\"alignLeft\":\"Alert--alignLeft--TWc3-\",\"alignCenter\":\"Alert--alignCenter--Wjvd+\",\"alignRight\":\"Alert--alignRight--GltzN\",\"indicatorIcon\":\"Alert--indicatorIcon--mcHuS\",\"closeButtonContainer\":\"Alert--closeButtonContainer--0bGld\",\"button\":\"Alert--button--j9wSm\",\"autoDismissBar\":\"Alert--autoDismissBar--mBh+B\",\"countdown\":\"Alert--countdown--4hdDW\",\"fadeIn\":\"Alert--fadeIn--m0c6K\",\"fadeOut\":\"Alert--fadeOut--V2zHS\",\"enterFadeOut\":\"Alert--enterFadeOut--ZHCGw\",\"newKudo\":\"Alert--newKudo--xwJ9a\"};","import React, { ComponentPropsWithoutRef, ReactNode, useState } from 'react';\n// import ReachAlert from '@reach/alert';\nimport {\n ActionsCancelCircleHighlightedMedium as ErrorIcon,\n ActionsCheckCircleOnMedium as SuccessIcon,\n NavigationWarningHighlightedMedium as WarningIcon,\n NavigationInformationNormalMedium as InfoIcon,\n ActionsCancelNormalSmall as CancelIcon\n} from '@strava/icons';\nimport { useInterval } from '@strava/react-hooks';\nimport { isTest } from '@strava/utils';\nimport clsx from '../clsx';\nimport VisuallyHidden from '../VisuallyHidden';\nimport styles from './Alert.module.scss';\n\nexport const AlertStatus = {\n ERROR: 'error',\n SUCCESS: 'success',\n WARNING: 'warning',\n INFO: 'info'\n} as const;\n\nexport type AlertStatusType = (typeof AlertStatus)[keyof typeof AlertStatus];\n\nexport type AlertStyleType =\n | 'hasError'\n | 'hasSuccess'\n | 'hasWarning'\n | 'hasInfo';\nexport type AlertButtonStyleType =\n | 'buttonError'\n | 'buttonSuccess'\n | 'buttonWarning'\n | 'buttonInfo';\n\nconst ALERT_DELAY = 8000;\n\nconst getAlertDetails = ({\n type,\n iconSize\n}: {\n type: AlertStatusType;\n iconSize: number;\n}): {\n indicatorIcon: ReactNode;\n messageType: AlertStatusType;\n alertStyle: AlertStyleType;\n buttonStyle: AlertButtonStyleType;\n} =>\n ({\n [AlertStatus.ERROR]: {\n indicatorIcon: (\n \n ),\n messageType: AlertStatus.ERROR,\n alertStyle: 'hasError' as const,\n buttonStyle: 'buttonError' as const\n },\n [AlertStatus.SUCCESS]: {\n indicatorIcon: (\n \n ),\n messageType: AlertStatus.SUCCESS,\n alertStyle: 'hasSuccess' as const,\n buttonStyle: 'buttonSuccess' as const\n },\n [AlertStatus.WARNING]: {\n indicatorIcon: (\n \n ),\n messageType: AlertStatus.WARNING,\n alertStyle: 'hasWarning' as const,\n buttonStyle: 'buttonWarning' as const\n },\n [AlertStatus.INFO]: {\n indicatorIcon: (\n \n ),\n messageType: AlertStatus.INFO,\n alertStyle: 'hasInfo' as const,\n buttonStyle: 'buttonInfo' as const\n }\n }[type]);\n\nconst fadeStyles = {\n enter: isTest() ? '' : 'fadeIn',\n exit: isTest() ? '' : 'fadeOut'\n};\n\nexport interface AlertProps extends ComponentPropsWithoutRef<'div'> {\n children: ReactNode;\n alertType?: AlertStatusType;\n autoDismiss?: boolean;\n autoDismissDelay?: number;\n className?: string;\n contentPosition?: 'left' | 'center' | 'right';\n hideCloseButton?: boolean;\n hideIcon?: boolean;\n iconSize?: number;\n onClose?: () => void;\n}\n\nexport const Alert = ({\n children,\n className,\n alertType = AlertStatus.ERROR,\n autoDismiss = false,\n autoDismissDelay = ALERT_DELAY,\n contentPosition = 'left',\n hideCloseButton = false,\n hideIcon = true,\n iconSize = 32,\n onClose = () => {},\n ...options\n}: AlertProps) => {\n const { indicatorIcon, messageType, alertStyle, buttonStyle } =\n getAlertDetails({ type: alertType, iconSize });\n const [fadeStyle, setFadeStyle] = useState(fadeStyles.enter);\n\n const handleOnClose = async () => {\n setFadeStyle(fadeStyles.exit);\n // eslint-disable-next-line no-unused-expressions\n !isTest() && (await new Promise((resolve) => setTimeout(resolve, 0)));\n onClose();\n };\n\n useInterval(\n () => {\n handleOnClose();\n },\n autoDismiss ? autoDismissDelay : null\n );\n\n return (\n \n
\n {/* Icon */}\n {!hideIcon && (\n
{indicatorIcon}
\n )}\n\n {/* Content */}\n \n {messageType}: \n
{children}
\n
\n\n {/* Close Button */}\n {!hideCloseButton && (\n
\n \n \n \n
\n )}\n
\n\n {/* Auto Dismiss Progress */}\n {autoDismiss && (\n \n
\n
\n )}\n
\n );\n};\n\nexport default Alert;\n","import { useState, useCallback } from 'react';\n\ninterface QueueOptions {\n initialValues?: T[];\n}\n\nexport interface QueueState {\n queue: T[];\n length: number;\n enqueue: (...items: T[]) => void;\n dequeue: () => void;\n updateQueue: (fn: (current: T[]) => T[]) => void;\n clearQueue: () => void;\n peek: () => T | undefined;\n}\n\nexport const useQueue = ({\n initialValues = []\n}: QueueOptions = {}): QueueState => {\n const [queue, setState] = useState(initialValues);\n\n /**\n * Enqueue; Adds item to queue.\n */\n const enqueue = useCallback((...items: T[]) => {\n setState((current) => [...current, ...items]);\n }, []);\n\n /**\n * Dequeue; Removes first item in queue.\n */\n const dequeue = useCallback(() => {\n // Immutable solution to remove first element in array.\n setState((current) => current.slice(1));\n }, []);\n\n /**\n * Update function to allow for more granular control of updating the queue.\n * The `update` function accepts a callback fn where the first arg is the\n * current queue state that we can then manipulate. See tests for examples.\n * */\n const updateQueue = useCallback(\n (fn: (current: T[]) => T[]) => setState((current) => fn([...current])),\n []\n );\n\n /**\n * Remove all items from queue.\n */\n const clearQueue = useCallback(() => setState(() => []), []);\n\n /**\n * Returns the first item in the queue.\n */\n const peek = useCallback(() => {\n if (queue.length > 0) {\n return queue[0];\n }\n\n return undefined;\n }, [queue]);\n\n return {\n queue,\n length: queue.length,\n enqueue,\n dequeue,\n updateQueue,\n clearQueue,\n peek\n };\n};\n\nexport default useQueue;\n","import React, {\n createContext,\n ReactNode,\n useCallback,\n useContext,\n useMemo\n} from 'react';\nimport { useQueue } from '@strava/react-hooks';\nimport { generateRandomId } from '@strava/utils';\nimport { AlertStatusType } from '../Alert';\n\nexport interface AlertConfig {\n alertType: AlertStatusType;\n content: ReactNode;\n containerId?: string;\n id?: string;\n className?: string;\n autoDismiss?: boolean;\n autoDismissDelay?: number;\n contentPosition?: 'left' | 'center' | 'right';\n hideCloseButton?: boolean;\n hideIcon?: boolean;\n iconSize?: number;\n onClose?: () => void;\n}\n\nexport interface AlertState {\n alerts: AlertConfig[];\n showAlert: (config: AlertConfig) => string;\n hideAlert: (id: string) => void;\n clearAlerts: (containerId?: string) => void;\n}\n\nconst AlertContext = createContext(undefined);\nAlertContext.displayName = 'AlertContext';\n\nexport const useAlertContext = () => {\n const context = useContext(AlertContext);\n\n // Fail fast if useAlertContext hook is used outside the Provider.\n if (!context) {\n throw new Error(`useAlertContext must be used within the AlertProvider`);\n }\n\n return context;\n};\n\ninterface AlertProviderProps {\n children: ReactNode;\n}\n\nexport const AlertProvider = ({ children }: AlertProviderProps) => {\n const { queue, updateQueue, clearQueue } = useQueue({\n initialValues: []\n });\n\n /**\n * @description Display an alert.\n *\n * @param {Object} alertConfig\n * @param {'error' | 'warning' | 'info' | 'success'} alertConfig.alertType\n * @param {ReactNode} alertConfig.content - Message to display in the the content of the Alert Component.\n * @param {string} [alertConfig.containerId=\"base\"] - It's used to identify which `AlertContainer` the alert is associated to.\n * @param {string | number} [alertConfig.id] - Optional; by default id is randomly generated. Used to update or close alert.\n * @param {string} [alertConfig.className] - The className passed to Alert component.\n * @param {boolean} [alertConfig.autoDismiss=false] - Determine if alert will auto dismiss/close.\n * @param {number} [alertConfig.autoDismissDelay=8000] - Delay in ms that alert will auto dismiss.\n * @param {'left' | 'center' | 'right'} [alertConfig.contentPosition=\"left\"] - Position to align content inside of alert container.\n * @param {boolean} [alertConfig.hideCloseButton=false] - Hides the close button, alert can only be closed programmatically.\n * @param {boolean} [alertConfig.hideIcon=false] - Display or hide alert icon.\n * @param {number} [alertConfig.iconSize=32] - The Alert's SVG icon's width and height.\n * @param {Function} [alertConfig.onClose] - Callback fn; called when alert closes.\n *\n * @return {string} - Alert ID\n */\n const showAlert = useCallback(\n (alertConfig: AlertConfig) => {\n const id = alertConfig.id ?? generateRandomId();\n const containerId = alertConfig.containerId ?? 'base';\n\n updateQueue((alerts) => {\n const hasAlert =\n alertConfig?.id &&\n alerts.some((alert) => alert.id === alertConfig.id);\n // Check if alert exist in queue.\n // If true then return hasAlerts\n // Else add/append alert to queue.\n if (hasAlert) {\n return alerts;\n }\n\n return [...alerts, { ...alertConfig, id, containerId }];\n });\n\n return `${id}`;\n },\n [updateQueue]\n );\n\n /**\n * @description Hide an alert by id.\n *\n * @param {string} id - Unique id to hide/remove alert.\n *\n * @return {boolean}\n * */\n const hideAlert = useCallback(\n (id) =>\n updateQueue((alerts) =>\n alerts.filter((alert) => {\n if (alert.id === id) {\n // eslint-disable-next-line no-unused-expressions\n alert?.onClose?.();\n return false;\n }\n\n return true;\n })\n ),\n [updateQueue]\n );\n\n /**\n * @description Clears/remove all alerts.\n * If no `containerId` provided then removes ALL alerts. Else if `containerId`\n * provided then clears alerts for specific container when working with multiple containers.\n *\n * @param {string} [containerId] - Optional; Clear alerts for specific container when working with multiple containers.\n *\n * @return {boolean}\n * */\n const clearAlerts = useCallback(\n (containerId) => {\n // If containerId is passed then remove all alerts for specific container\n if (containerId) {\n return updateQueue((alerts) =>\n alerts.filter((alert) => {\n if (alert.containerId === containerId) {\n // eslint-disable-next-line no-unused-expressions\n alert?.onClose?.();\n return false;\n }\n\n return true;\n })\n );\n }\n // Else clear entire queue\n return clearQueue();\n },\n [updateQueue, clearQueue]\n );\n\n const providerState = useMemo(\n () => ({\n alerts: queue,\n showAlert,\n hideAlert,\n clearAlerts\n }),\n [queue, showAlert, hideAlert, clearAlerts]\n );\n\n return (\n \n {children}\n \n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"alertContainerInfoContainer\":\"AlertProvider--alertContainerInfoContainer--dxEXE\",\"alertContainerInfo\":\"AlertProvider--alertContainerInfo--RDrkO\"};","import React from 'react';\nimport { AlertConfig, useAlertContext } from './AlertContext';\nimport Alert from '../Alert';\nimport styles from './AlertContainer.module.scss';\n\nconst defaultTranslateAlertInfoText = (\n totalAlertsShown: number,\n totalAlerts: number\n) => `Showing ${totalAlertsShown} of ${totalAlerts} alerts`;\n\ninterface AlertContainerProps {\n containerId?: string;\n limit?: number;\n shouldShowAlertInfoText?: boolean;\n translateAlertInfoText?: typeof defaultTranslateAlertInfoText;\n}\n\nexport const AlertContainer = ({\n containerId = 'base',\n limit,\n shouldShowAlertInfoText = true,\n translateAlertInfoText = defaultTranslateAlertInfoText\n}: AlertContainerProps) => {\n const { alerts, hideAlert } = useAlertContext();\n\n const handleOnClose = (id?: string) => {\n if (id) {\n hideAlert(id);\n }\n };\n\n const filterLimit = (_: unknown, index: number) => !limit || index < limit;\n const filterContainer = (alert: AlertConfig) =>\n alert?.containerId === containerId;\n\n const totalAlerts = alerts.filter(filterContainer).length;\n const totalAlertsShown = alerts\n .filter(filterContainer)\n .filter(filterLimit).length;\n\n return (\n <>\n {alerts\n .filter(filterContainer)\n .filter(filterLimit)\n .map(\n ({\n alertType,\n id,\n content,\n containerId: containerIdProp,\n ...rest\n }) => (\n handleOnClose(id)}\n >\n {content}\n \n )\n )}\n {shouldShowAlertInfoText && totalAlerts > totalAlertsShown && (\n \n
\n {translateAlertInfoText(totalAlertsShown, totalAlerts)}\n
\n \n )}\n \n );\n};\n\nexport default AlertContainer;\n","import * as React from \"react\";\nimport PropTypes from \"prop-types\";\nconst SvgNavigationProfileHighlightedMedium = React.forwardRef(\n ({ color, size, title, titleId, ...props }, ref) => (\n \n {title ? {title} : null}\n \n \n )\n);\nSvgNavigationProfileHighlightedMedium.defaultProps = {\n color: \"currentColor\",\n size: 32,\n title: undefined,\n titleId: undefined,\n};\nSvgNavigationProfileHighlightedMedium.propTypes = {\n color: PropTypes.string,\n size: PropTypes.number,\n title: PropTypes.string,\n titleId: PropTypes.string,\n};\nexport default SvgNavigationProfileHighlightedMedium;\n","import * as React from \"react\";\nimport PropTypes from \"prop-types\";\nconst SvgBadgesMulticolorSuperuserSmall = React.forwardRef(\n ({ color, size, title, titleId, ...props }, ref) => (\n \n {title ? {title} : null}\n \n \n \n \n \n \n )\n);\nSvgBadgesMulticolorSuperuserSmall.defaultProps = {\n color: \"currentColor\",\n size: 24,\n title: undefined,\n titleId: undefined,\n};\nSvgBadgesMulticolorSuperuserSmall.propTypes = {\n color: PropTypes.string,\n size: PropTypes.number,\n title: PropTypes.string,\n titleId: PropTypes.string,\n};\nexport default SvgBadgesMulticolorSuperuserSmall;\n","import * as React from \"react\";\nimport PropTypes from \"prop-types\";\nconst SvgBadgesMulticolorSummitSmall = React.forwardRef(\n ({ color, size, title, titleId, ...props }, ref) => (\n \n {title ? {title} : null}\n \n \n \n \n \n \n )\n);\nSvgBadgesMulticolorSummitSmall.defaultProps = {\n color: \"currentColor\",\n size: 24,\n title: undefined,\n titleId: undefined,\n};\nSvgBadgesMulticolorSummitSmall.propTypes = {\n color: PropTypes.string,\n size: PropTypes.number,\n title: PropTypes.string,\n titleId: PropTypes.string,\n};\nexport default SvgBadgesMulticolorSummitSmall;\n","import * as React from \"react\";\nimport PropTypes from \"prop-types\";\nconst SvgBadgesMulticolorProSmall = React.forwardRef(\n ({ color, size, title, titleId, ...props }, ref) => (\n \n {title ? {title} : null}\n \n \n \n \n \n \n )\n);\nSvgBadgesMulticolorProSmall.defaultProps = {\n color: \"currentColor\",\n size: 24,\n title: undefined,\n titleId: undefined,\n};\nSvgBadgesMulticolorProSmall.propTypes = {\n color: PropTypes.string,\n size: PropTypes.number,\n title: PropTypes.string,\n titleId: PropTypes.string,\n};\nexport default SvgBadgesMulticolorProSmall;\n","import * as React from \"react\";\nimport PropTypes from \"prop-types\";\nconst SvgBadgesMulticolorVerifiedSmall = React.forwardRef(\n ({ color, size, title, titleId, ...props }, ref) => (\n \n {title ? {title} : null}\n \n \n \n \n \n )\n);\nSvgBadgesMulticolorVerifiedSmall.defaultProps = {\n color: \"currentColor\",\n size: 24,\n title: undefined,\n titleId: undefined,\n};\nSvgBadgesMulticolorVerifiedSmall.propTypes = {\n color: PropTypes.string,\n size: PropTypes.number,\n title: PropTypes.string,\n titleId: PropTypes.string,\n};\nexport default SvgBadgesMulticolorVerifiedSmall;\n","// extracted by mini-css-extract-plugin\nexport default {\"avatar\":\"Avatar--avatar--EjA+i\",\"imgWrapper\":\"Avatar--imgWrapper--no4rK\",\"badge\":\"Avatar--badge--AGhgx\",\"athlete\":\"Avatar--athlete--swByo\",\"xsmall\":\"Avatar--xsmall--ooxrp\",\"small\":\"Avatar--small--d-InS\",\"large\":\"Avatar--large--yUfy1\",\"xlarge\":\"Avatar--xlarge--Yt5UL\",\"club\":\"Avatar--club--HMeLa\",\"default\":\"Avatar--default--cRgUh\"};","import React, { useEffect } from 'react';\nimport { useSafeState } from '@strava/react-hooks/src/use-safe-state';\nimport AvatarFallback from '@strava/icons/NavigationProfileHighlightedMedium';\nimport EmployeeBadge from '@strava/icons/BadgesMulticolorSuperuserSmall';\nimport SubscriberBadge from '@strava/icons/BadgesMulticolorSummitSmall';\nimport ProBadge from '@strava/icons/BadgesMulticolorProSmall';\nimport VerifiedBadge from '@strava/icons/BadgesMulticolorVerifiedSmall';\nimport clsx from '../clsx';\n\nimport styles from './Avatar.module.scss';\n\ninterface ImgProps {\n src: string;\n alt: string;\n title: string;\n fallback?: React.ReactNode;\n}\n\nconst Img = ({ src, alt, title, fallback = null }: ImgProps) => {\n const [children, setChildren] = useSafeState(\n {alt}\n );\n\n useEffect(() => {\n let image: HTMLImageElement | null = new Image();\n image.onload = () => {\n setChildren({alt});\n };\n image.onerror = () => {\n setChildren(fallback);\n };\n image.src = src;\n return () => {\n image = null;\n };\n }, [src, alt, title, fallback]);\n\n return <>{children};\n};\n\nfunction getBadge(badge: string) {\n switch (badge) {\n case 'ambassador':\n return ;\n case 'employee':\n return ;\n case 'subscriber':\n case 'premium':\n return ;\n case 'pro':\n return ;\n case 'verified':\n return ;\n default:\n return null;\n }\n}\n\nexport type AvatarType = 'athlete' | 'club';\nexport type AvatarSize = 'xsmall' | 'small' | 'default' | 'large' | 'xlarge';\nexport type AvatarBadge =\n | '' // in some cases active has member_type as empty string for default users\n | 'ambassador'\n | 'employee'\n | 'subscriber'\n | 'premium' // legacy name referring to 'subscriber', used in active\n | 'pro'\n | 'verified';\n\ninterface BaseAvatarProps {\n src: string;\n type: AvatarType;\n name?: string;\n alt?: string;\n title?: string;\n size?: AvatarSize;\n badge?: AvatarBadge;\n className?: string;\n}\n\ntype AnchorProps = React.ComponentPropsWithoutRef<'a'> & {\n href?: string;\n};\ntype DivProps = React.ComponentPropsWithoutRef<'div'> & {\n href?: never;\n};\n\n// Guard to check if href exists in props\nconst hasHref = (props: AnchorProps | DivProps): props is AnchorProps =>\n 'href' in props;\n\ntype AvatarProps = BaseAvatarProps & (AnchorProps | DivProps);\n\n/**\n * Prop Deprecation Warning: We are slowly deprecating the `name` prop in favor of the `title` prop\n * so that the React props match up to the element's attribute.\n * */\nconst Avatar = ({\n name = '',\n alt = '',\n title,\n type,\n src,\n size,\n badge,\n className,\n ...otherProps\n}: AvatarProps) => {\n const classNames = clsx([\n styles.avatar,\n styles[type],\n className,\n size && styles[size]\n ]);\n\n // TODO: uncomment when existing Avatar usage is refactored. Otherwise, there will be a lot of warning in the console.\n // if (name || process.env.NODE_ENV !== 'production') {\n // console.warn(\n // '[Prop Deprecation Warning] Deprecating the `name` prop in favor of the `title`.'\n // );\n // }\n\n const children = (\n <>\n {badge &&
{getBadge(badge)}
}\n
\n : null}\n />\n
\n \n );\n\n if (hasHref(otherProps)) {\n return (\n \n {children}\n \n );\n }\n\n return (\n \n {children}\n \n );\n};\n\nexport default Avatar;\n","// extracted by mini-css-extract-plugin\nexport default {\"spinner\":\"Spinner--spinner--VZwB-\",\"graphic\":\"Spinner--graphic--D-BJP\",\"spin\":\"Spinner--spin--Rlswq\"};","import React from 'react';\nimport clsx from '../clsx';\n\nimport styles from './Spinner.module.scss';\n\nexport type SpinnerProps = {\n color?: 'default' | 'white';\n size?: number;\n};\n\nconst Spinner = ({ color = 'default', size = 20 }: SpinnerProps) => (\n \n \n \n);\n\nexport default Spinner;\n","import React, { forwardRef } from 'react';\n\ntype VisuallyHiddenProps = React.ComponentPropsWithoutRef<'span'>;\n\n// visually hidden styling comes from https://www.a11yproject.com/posts/how-to-hide-content/\nconst VisuallyHidden = forwardRef(\n ({ style, ...props }, ref) => {\n return (\n \n );\n }\n);\n\nexport default VisuallyHidden;\n","\"use strict\";\r\n\r\nvar tester = /^[-!#$%&'*+\\/0-9=?A-Z^_a-z{|}~](\\.?[-!#$%&'*+\\/0-9=?A-Z^_a-z`{|}~])*@[a-zA-Z0-9](-*\\.?[a-zA-Z0-9])*\\.[a-zA-Z](-?[a-zA-Z0-9])+$/;\r\n// Thanks to:\r\n// http://fightingforalostcause.net/misc/2006/compare-email-regex.php\r\n// http://thedailywtf.com/Articles/Validating_Email_Addresses.aspx\r\n// http://stackoverflow.com/questions/201323/what-is-the-best-regular-expression-for-validating-email-addresses/201378#201378\r\nexports.validate = function(email)\r\n{\r\n\tif (!email)\r\n\t\treturn false;\r\n\t\t\r\n\tif(email.length>254)\r\n\t\treturn false;\r\n\r\n\tvar valid = tester.test(email);\r\n\tif(!valid)\r\n\t\treturn false;\r\n\r\n\t// Further checking of some things regex can't handle\r\n\tvar parts = email.split(\"@\");\r\n\tif(parts[0].length>64)\r\n\t\treturn false;\r\n\r\n\tvar domainParts = parts[1].split(\".\");\r\n\tif(domainParts.some(function(part) { return part.length>63; }))\r\n\t\treturn false;\r\n\r\n\treturn true;\r\n}","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nimport { Component, createElement, forwardRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nvar SCRIPT_MAP = {}; // A counter used to generate a unique id for each component that uses the function\n\nvar idCount = 0;\nexport default function makeAsyncScript(getScriptURL, options) {\n options = options || {};\n return function wrapWithAsyncScript(WrappedComponent) {\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || \"Component\";\n\n var AsyncScriptLoader =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(AsyncScriptLoader, _Component);\n\n function AsyncScriptLoader(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this.state = {};\n _this.__scriptURL = \"\";\n return _this;\n }\n\n var _proto = AsyncScriptLoader.prototype;\n\n _proto.asyncScriptLoaderGetScriptLoaderID = function asyncScriptLoaderGetScriptLoaderID() {\n if (!this.__scriptLoaderID) {\n this.__scriptLoaderID = \"async-script-loader-\" + idCount++;\n }\n\n return this.__scriptLoaderID;\n };\n\n _proto.setupScriptURL = function setupScriptURL() {\n this.__scriptURL = typeof getScriptURL === \"function\" ? getScriptURL() : getScriptURL;\n return this.__scriptURL;\n };\n\n _proto.asyncScriptLoaderHandleLoad = function asyncScriptLoaderHandleLoad(state) {\n var _this2 = this;\n\n // use reacts setState callback to fire props.asyncScriptOnLoad with new state/entry\n this.setState(state, function () {\n return _this2.props.asyncScriptOnLoad && _this2.props.asyncScriptOnLoad(_this2.state);\n });\n };\n\n _proto.asyncScriptLoaderTriggerOnScriptLoaded = function asyncScriptLoaderTriggerOnScriptLoaded() {\n var mapEntry = SCRIPT_MAP[this.__scriptURL];\n\n if (!mapEntry || !mapEntry.loaded) {\n throw new Error(\"Script is not loaded.\");\n }\n\n for (var obsKey in mapEntry.observers) {\n mapEntry.observers[obsKey](mapEntry);\n }\n\n delete window[options.callbackName];\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var _this3 = this;\n\n var scriptURL = this.setupScriptURL();\n var key = this.asyncScriptLoaderGetScriptLoaderID();\n var _options = options,\n globalName = _options.globalName,\n callbackName = _options.callbackName,\n scriptId = _options.scriptId; // check if global object already attached to window\n\n if (globalName && typeof window[globalName] !== \"undefined\") {\n SCRIPT_MAP[scriptURL] = {\n loaded: true,\n observers: {}\n };\n } // check if script loading already\n\n\n if (SCRIPT_MAP[scriptURL]) {\n var entry = SCRIPT_MAP[scriptURL]; // if loaded or errored then \"finish\"\n\n if (entry && (entry.loaded || entry.errored)) {\n this.asyncScriptLoaderHandleLoad(entry);\n return;\n } // if still loading then callback to observer queue\n\n\n entry.observers[key] = function (entry) {\n return _this3.asyncScriptLoaderHandleLoad(entry);\n };\n\n return;\n }\n /*\n * hasn't started loading\n * start the \"magic\"\n * setup script to load and observers\n */\n\n\n var observers = {};\n\n observers[key] = function (entry) {\n return _this3.asyncScriptLoaderHandleLoad(entry);\n };\n\n SCRIPT_MAP[scriptURL] = {\n loaded: false,\n observers: observers\n };\n var script = document.createElement(\"script\");\n script.src = scriptURL;\n script.async = true;\n\n for (var attribute in options.attributes) {\n script.setAttribute(attribute, options.attributes[attribute]);\n }\n\n if (scriptId) {\n script.id = scriptId;\n }\n\n var callObserverFuncAndRemoveObserver = function callObserverFuncAndRemoveObserver(func) {\n if (SCRIPT_MAP[scriptURL]) {\n var mapEntry = SCRIPT_MAP[scriptURL];\n var observersMap = mapEntry.observers;\n\n for (var obsKey in observersMap) {\n if (func(observersMap[obsKey])) {\n delete observersMap[obsKey];\n }\n }\n }\n };\n\n if (callbackName && typeof window !== \"undefined\") {\n window[callbackName] = function () {\n return _this3.asyncScriptLoaderTriggerOnScriptLoaded();\n };\n }\n\n script.onload = function () {\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n mapEntry.loaded = true;\n callObserverFuncAndRemoveObserver(function (observer) {\n if (callbackName) {\n return false;\n }\n\n observer(mapEntry);\n return true;\n });\n }\n };\n\n script.onerror = function () {\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n mapEntry.errored = true;\n callObserverFuncAndRemoveObserver(function (observer) {\n observer(mapEntry);\n return true;\n });\n }\n };\n\n document.body.appendChild(script);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n // Remove tag script\n var scriptURL = this.__scriptURL;\n\n if (options.removeOnUnmount === true) {\n var allScripts = document.getElementsByTagName(\"script\");\n\n for (var i = 0; i < allScripts.length; i += 1) {\n if (allScripts[i].src.indexOf(scriptURL) > -1) {\n if (allScripts[i].parentNode) {\n allScripts[i].parentNode.removeChild(allScripts[i]);\n }\n }\n }\n } // Clean the observer entry\n\n\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n delete mapEntry.observers[this.asyncScriptLoaderGetScriptLoaderID()];\n\n if (options.removeOnUnmount === true) {\n delete SCRIPT_MAP[scriptURL];\n }\n }\n };\n\n _proto.render = function render() {\n var globalName = options.globalName; // remove asyncScriptOnLoad from childProps\n\n var _this$props = this.props,\n asyncScriptOnLoad = _this$props.asyncScriptOnLoad,\n forwardedRef = _this$props.forwardedRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"asyncScriptOnLoad\", \"forwardedRef\"]); // eslint-disable-line no-unused-vars\n\n\n if (globalName && typeof window !== \"undefined\") {\n childProps[globalName] = typeof window[globalName] !== \"undefined\" ? window[globalName] : undefined;\n }\n\n childProps.ref = forwardedRef;\n return createElement(WrappedComponent, childProps);\n };\n\n return AsyncScriptLoader;\n }(Component); // Note the second param \"ref\" provided by React.forwardRef.\n // We can pass it along to AsyncScriptLoader as a regular prop, e.g. \"forwardedRef\"\n // And it can then be attached to the Component.\n\n\n var ForwardedComponent = forwardRef(function (props, ref) {\n return createElement(AsyncScriptLoader, _extends({}, props, {\n forwardedRef: ref\n }));\n });\n ForwardedComponent.displayName = \"AsyncScriptLoader(\" + wrappedComponentName + \")\";\n ForwardedComponent.propTypes = {\n asyncScriptOnLoad: PropTypes.func\n };\n return hoistStatics(ForwardedComponent, WrappedComponent);\n };\n}"],"names":["target","arguments","Element","_ref","attributes","_ref$attributes","className","_ref$children","children","_ref$selfClose","selfClose","Tag","_proto","name","_node","Filter","a","content","self","type","address","invalid","audio","br","void","body","TYPE_FLOW","button","TYPE_PHRASING","caption","parent","col","colgroup","details","dd","dl","dt","figcaption","footer","header","hr","img","li","main","ol","picture","rb","rp","rt","rtc","ruby","source","summary","table","tbody","td","tfoot","th","thead","tr","track","ul","video","wbr","createConfigBuilder","config","tagConfigs","_extends2","forEach","TYPE_PALPABLE","Object","tag","alt","cite","class","colspan","controls","datetime","default","disabled","dir","height","href","id","kind","label","lang","loading","loop","media","muted","poster","role","sizes","span","start","style","src","srclang","srcset","title","width","rowspan","StyleFilter","_Filter","apply","value","keys","key","String","match","INVALID_STYLES","document","createHTMLDocument","Parser","props","matchers","filters","concat","keyIndex","container","allowed","allowList","ALLOWED_TAG_LIST","Set","BANNED_TAG_LIST","_proto3","reduce","nextNode","filter","node","string","parentConfig","tagName","matchedString","parts","index","length","valid","_parts","isVoid","partProps","tokenName","elementIndex","tokenizedString","_this","elements","_match","slice","includes","childConfig","Boolean","noHtml","disableLineBreaks","nextMarkup","createContainer","global","createDocument","INVALID_ROOTS","el","Array","newName","ATTRIBUTES","newValue","Number","_this2","count","styles","letter","toUpperCase","protocol","toLowerCase","parseNode","parentNode","transform","transformOnlyAllowList","mergedText","_this3","React","transformed","has","elementProps","open","_open","_match2","text","startIndex","_elements$tokenName","matcher","endIndex","nodes","push","containerTagName","emptyContent","parsedContent","mainContent","markup","AppleLogo","FacebookLogo","GoogleLogo","EmailLogo","onClick","variant","options","Button","_extends","clsx","fallback","fill","t","useStravaTranslations","legalTerms","terms_path","legalPrivacy","privacy_path","Markup","noWrap","_excluded","assign","bind","i","prototype","hasOwnProperty","call","this","_assertThisInitialized","ReferenceError","_setPrototypeOf","o","p","setPrototypeOf","__proto__","ReCAPTCHA","_React$Component","subClass","superClass","handleExpired","handleErrored","handleChange","handleRecaptchaRef","create","constructor","getCaptchaFunction","fnName","grecaptcha","enterprise","getValue","getResponse","undefined","_widgetId","getWidgetId","execute","_executeRequested","executeAsync","Promise","resolve","reject","executionResolve","executionReject","reset","resetter","forceReset","onExpired","onErrored","token","onChange","explicitRender","render","wrapper","createElement","sitekey","callback","theme","tabindex","size","stoken","hl","badge","isolated","captcha","appendChild","componentDidMount","componentDidUpdate","elem","_this$props","childProps","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","ref","displayName","propTypes","PropTypes","isRequired","defaultProps","callbackName","getOptions","window","recaptchaOptions","makeAsyncScriptLoader","dynamicOptions","hostname","useRecaptchaNet","globalName","nonce","forwardRef","SvgActionsVisibleDisabledNormalSmall","color","titleId","xmlns","viewBox","d","SvgActionsVisibleNormalSmall","showPasswordText","hidePasswordText","passwordIsVisible","setPasswordIsVisible","useState","Input","prev","ActionsVisibleNormalSmall","ActionsVisibleDisabledNormalSmall","VisuallyHidden","inputMessage","errorMessage","errorMessageTestId","input","htmlFor","PasswordInput","textInput","message","error","i18nPrefix","EMAIL_REGISTRATION_FORM_ALERT_ID","authorizationUrl","reCaptchaSiteKey","honeyPot","isPremium","clubId","plan","challengeId","autoJoinChallenge","formAuthToken","idPrefix","alertConfig","isInView","formInput","setFormInput","email","password","passwordErrorMsg","setPasswordErrMsg","emailValidationState","setEmailValidationState","isProcessing","setIsProcessing","emailInput","useRef","passwordInput","recaptchaRef","useRecaptcha","logError","useStravaErrorLogging","showAlert","clearAlerts","useAlertContext","emailRegFormAlert","alertType","AlertStatus","ERROR","containerId","hideCloseButton","handleEmailFormSubmit","async","recaptchaToken","current","getRecaptchaToken","element","elemAttrForAnalytics","EMAIL","formData","FormData","append","isNil","response","url","apiClient","headers","post","then","data","catch","submitFormData","pathType","load","action","properties","path_type","redirect_url","location","validateEmail","isValidEmail","isExistingEmail","EmailValidator","isUniqueEmail","get","params","_ref2","isAlreadyRegisteredEmail","validatePassword","isValidPassword","passwordValidationMsg","handleInputChange","event","onSubmit","preventDefault","validateForm","is_valid_email","is_valid_password","is_existing_email","focus","noValidate","RegistrationInput","placeholder","onBlur","autoComplete","display","Spinner","orDivider","line","or","APPLE","FACEBOOK","GOOGLE","HIDE_TIME_DELAY_MODAL","option","useSafeState","initialState","mountedRef","state","setState","useEffect","useCallback","args","SvgActionsCancelCircleHighlightedMedium","fillRule","SvgActionsCheckCircleOnMedium","SvgNavigationWarningHighlightedMedium","SvgNavigationInformationNormalMedium","SvgActionsCancelNormalSmall","useInterval","delay","savedCallback","setInterval","clearInterval","SUCCESS","WARNING","INFO","ALERT_DELAY","fadeStyles","enter","isTest","exit","autoDismiss","autoDismissDelay","contentPosition","hideIcon","iconSize","onClose","indicatorIcon","messageType","alertStyle","buttonStyle","ErrorIcon","SuccessIcon","WarningIcon","InfoIcon","getAlertDetails","fadeStyle","setFadeStyle","handleOnClose","setTimeout","alert","fadeIn","fadeOut","alertInner","alertContent","alignLeft","alignCenter","alignRight","closeButtonContainer","CancelIcon","autoDismissBar","useQueue","initialValues","_temp","queue","enqueue","items","_key","dequeue","updateQueue","fn","clearQueue","peek","AlertContext","createContext","context","useContext","Error","AlertProvider","generateRandomId","alerts","some","hideAlert","providerState","useMemo","Provider","defaultTranslateAlertInfoText","totalAlertsShown","totalAlerts","AlertContainer","limit","shouldShowAlertInfoText","translateAlertInfoText","filterLimit","_","filterContainer","map","containerIdProp","rest","Alert","SvgNavigationProfileHighlightedMedium","SvgBadgesMulticolorSuperuserSmall","SvgBadgesMulticolorSummitSmall","SvgBadgesMulticolorProSmall","SvgBadgesMulticolorVerifiedSmall","Img","setChildren","image","Image","onload","onerror","otherProps","classNames","avatar","ProBadge","EmployeeBadge","SubscriberBadge","VerifiedBadge","getBadge","imgWrapper","AvatarFallback","clip","clipPath","overflow","position","whiteSpace","tester","exports","test","split","part","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","module","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","e","SCRIPT_MAP","idCount","makeAsyncScript","getScriptURL","WrappedComponent","wrappedComponentName","AsyncScriptLoader","_Component","__scriptURL","asyncScriptLoaderGetScriptLoaderID","__scriptLoaderID","setupScriptURL","asyncScriptLoaderHandleLoad","asyncScriptOnLoad","asyncScriptLoaderTriggerOnScriptLoaded","mapEntry","loaded","obsKey","observers","scriptURL","_options","scriptId","entry","errored","script","attribute","setAttribute","callObserverFuncAndRemoveObserver","func","observersMap","observer","componentWillUnmount","removeOnUnmount","allScripts","getElementsByTagName","removeChild","forwardedRef","Component","ForwardedComponent"],"sourceRoot":""}