{"version":3,"file":"js/58603-2a0d617bdeada2c4eb42.js","mappings":"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","sources":["webpack://StravaModern/./app/javascript/apps/Microfrontend/styles.scss?dd46","webpack://StravaModern/./app/javascript/apps/Microfrontend/Microfrontend.js"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"mfcontainer\":\"Microfrontend--mfcontainer--Sw1H-\"};","import * as ContainerContext from '@strava/container-context';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { devLog } from '../../utils/devUtils';\nimport I18n from '../../utils/I18n';\nimport { logError, withScope } from '../../utils/sentry';\nimport styles from './styles.scss';\n\n// eslint-disable-next-line no-underscore-dangle\nwindow.__mfe_containers__ ??= {};\n\nconst ENTRY_ERROR_CODE_GENERAL = 0;\n\nconst ENTRY_ERROR_CODE_NETWORK = 1;\n\nconst DEFAULT_ACTIVE_SHARE_SCOPE = {\n react: {\n [React.version]: {\n get: () => () => React,\n from: 'webpack4',\n loaded: true,\n singleton: true\n }\n },\n '@strava/container-context': {\n // eslint-disable-next-line no-undef\n [CONTAINER_CONTEXT_VERSION]: {\n get: () => () => ContainerContext,\n from: 'webpack4',\n loaded: true,\n singleton: true\n }\n }\n};\n\nconst DEFAULT_ANALYTICS_CONTEXT_VALUE = {\n track: (data) => window.Strava.ExternalAnalytics.trackV2(data)\n};\n\nconst DEFAULT_TRANSLATION_CONTEXT_VALUE = {\n t: (key, props = {}) => I18n.t(key, props),\n getLanguage: () => I18n.language()\n};\n\nconst DEFAULT_ERROR_LOGGING_CONTEXT_VALUE = { logError };\n\nconst {\n AnalyticsContext,\n ErrorLoggingContext,\n TranslationContext\n} = ContainerContext;\n\nconst { Provider: AnalyticsProvider } = AnalyticsContext;\nconst { Provider: TranslationProvider } = TranslationContext;\nconst { Provider: ErrorLoggingProvider } = ErrorLoggingContext;\n\nconst isNil = (value) => value === null || value === undefined;\n\nconst isFunction = (value) => typeof value === 'function';\n\nconst hasProperty = (object, property) =>\n Object.prototype.hasOwnProperty.call(object, property);\n\nconst resolveRemoteContainer = ({\n shareScope = {},\n remoteEntry,\n containerName\n}) => {\n // eslint-disable-next-line no-underscore-dangle\n const containers = window.__mfe_containers__;\n\n containers[containerName] ??= new Promise((resolve, reject) => {\n const headEl = document.querySelector('head');\n const scriptEl = document.createElement('script');\n\n const onEntryError = (error, code = ENTRY_ERROR_CODE_GENERAL) => {\n if (error instanceof Error) {\n reject(error);\n } else {\n const entryError = new Error(error);\n\n entryError.name = 'MfeError';\n entryError.code = code;\n\n reject(entryError);\n }\n };\n\n const onEntryLoaded = () => {\n if (!hasProperty(window, containerName)) {\n onEntryError(\n `Remote container with name \"${containerName}\" does not exist.`\n );\n return;\n }\n\n const container = window[containerName];\n\n if (isNil(container)) {\n onEntryError(`Remote container with name \"${containerName}\" is nil.`);\n return;\n }\n\n if (!isFunction(container.get) || !isFunction(container.init)) {\n onEntryError(\n `Remote container with name \"${containerName}\" is invalid.`\n );\n return;\n }\n\n Promise.resolve(container.init(shareScope))\n .catch(onEntryError)\n .then(() => {\n resolve(container);\n devLog(`MFE Loaded:\\n${containerName}\\n${remoteEntry}`);\n });\n };\n\n scriptEl.src = remoteEntry;\n scriptEl.type = 'text/javascript';\n scriptEl.async = true;\n\n scriptEl.addEventListener('load', () => onEntryLoaded());\n scriptEl.addEventListener('error', () =>\n onEntryError(\n `Remote container with name \"${containerName}\" failed to load.`,\n ENTRY_ERROR_CODE_NETWORK\n )\n );\n\n headEl.appendChild(scriptEl);\n });\n\n return containers[containerName];\n};\n\nconst createFederatedComponent = (options) => {\n const {\n mfeStatus,\n shareScope,\n remoteEntry,\n containerName,\n containerRequest\n } = options;\n\n return React.lazy(() => {\n const onBeforeUnload = () => {\n window.removeEventListener('beforeunload', onBeforeUnload);\n mfeStatus.isUnloading = true;\n };\n\n const cleanup = () => {\n window.removeEventListener('beforeunload', onBeforeUnload);\n };\n\n const tapReject = (error) => {\n cleanup();\n return Promise.reject(error);\n };\n\n mfeStatus.isResolving = true;\n\n window.addEventListener('beforeunload', onBeforeUnload);\n\n return resolveRemoteContainer({\n shareScope,\n remoteEntry,\n containerName\n })\n .catch(tapReject)\n .then((container) => {\n const moduleFactory = Promise.resolve(container.get(containerRequest))\n .catch(tapReject)\n .then((value) => {\n cleanup();\n\n mfeStatus.isResolving = false;\n\n return Promise.resolve(value);\n });\n\n return moduleFactory.then((resolveModule) => resolveModule());\n });\n });\n};\n\nclass MfeErrorBoundary extends React.Component {\n static contextType = ErrorLoggingContext;\n\n state = { error: false };\n\n static getDerivedStateFromError = (error) => ({ error });\n\n componentDidCatch(error, { componentStack }) {\n if (this.isFalsePositiveNetworkError(error)) {\n return;\n }\n\n const { shareScope } = this.props;\n\n const { logError: logException = logError } =\n /** @type {{ logError?: typeof logError }} */ (this.context ?? {});\n\n logException(error, {\n contexts: {\n contexts: {\n react: { componentStack },\n microfrontend: {\n // eslint-disable-next-line no-underscore-dangle\n containers: Object.keys(window.__mfe_containers__),\n shareScope: JSON.stringify(\n Object.keys(shareScope).reduce(\n (memo, current) => ({\n ...memo,\n [current]: Object.keys(shareScope[current])\n }),\n {}\n ),\n null,\n 2\n )\n }\n }\n }\n });\n }\n\n isFalsePositiveNetworkError(error) {\n const { mfeStatus } = this.props;\n const { isUnloading, isResolving } = mfeStatus;\n\n const isChunkLoadError = error.name === 'ChunkLoadError';\n const isMfeNetworkError =\n error.name === 'MfeError' && error.code === ENTRY_ERROR_CODE_NETWORK;\n\n return (\n (isUnloading || isResolving) && (isChunkLoadError || isMfeNetworkError)\n );\n }\n\n render() {\n const { error } = this.state;\n const { children } = this.props;\n\n if (error) {\n return null;\n }\n\n return children;\n }\n}\n\nMfeErrorBoundary.propTypes = {\n children: PropTypes.element.isRequired,\n mfeStatus: PropTypes.shape({\n isUnloading: PropTypes.bool.isRequired,\n isResolving: PropTypes.bool.isRequired\n }).isRequired,\n shareScope: PropTypes.shape({}).isRequired\n};\n\nconst Microfrontend = ({\n url: remoteEntry,\n scope: containerName,\n component: containerRequest,\n appContext\n}) => {\n const isMountedRef = React.useRef(false);\n const mfeStatusRef = React.useRef({ isUnloading: false, isResolving: false });\n const shareScope = DEFAULT_ACTIVE_SHARE_SCOPE;\n const analyticsContext =\n React.useContext(AnalyticsContext) ?? DEFAULT_ANALYTICS_CONTEXT_VALUE;\n const translationContext =\n React.useContext(TranslationContext) ?? DEFAULT_TRANSLATION_CONTEXT_VALUE;\n const errorLoggingContext =\n React.useContext(ErrorLoggingContext) ??\n DEFAULT_ERROR_LOGGING_CONTEXT_VALUE;\n\n const wrappedErrorLoggingContext = React.useMemo(() => {\n const { logError: originalLogError } = errorLoggingContext;\n\n /** @type {typeof logError} */\n const wrappedLogError = (exception, captureContext) => {\n withScope((scope) => {\n scope.setTags({\n 'mfe.name': containerName,\n 'mfe.request': containerRequest,\n 'mfe.remoteEntry': remoteEntry\n });\n\n originalLogError(exception, captureContext);\n });\n };\n\n return {\n ...errorLoggingContext,\n logError: wrappedLogError\n };\n }, [containerName, containerRequest, remoteEntry, errorLoggingContext]);\n\n const [\n { errorBoundaryKey, FederatedComponent },\n updateMfeState\n ] = React.useState(() => ({\n errorBoundaryKey: 0,\n FederatedComponent: createFederatedComponent({\n mfeStatus: mfeStatusRef.current,\n shareScope,\n remoteEntry,\n containerName,\n containerRequest\n })\n }));\n\n React.useEffect(() => {\n if (!isMountedRef.current) {\n return;\n }\n\n updateMfeState(({ errorBoundaryKey: currentBoundaryKey }) => ({\n errorBoundaryKey: currentBoundaryKey + 1,\n FederatedComponent: createFederatedComponent({\n mfeStatus: mfeStatusRef.current,\n shareScope,\n remoteEntry,\n containerName,\n containerRequest\n })\n }));\n }, [\n shareScope,\n remoteEntry,\n isMountedRef,\n mfeStatusRef,\n containerName,\n containerRequest\n ]);\n\n React.useEffect(() => {\n isMountedRef.current = true;\n\n return () => {\n isMountedRef.current = false;\n };\n }, [isMountedRef]);\n\n return (\n