@edx/frontend-platform 4.6.1 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/initialize.js +5 -5
- package/initialize.js.map +1 -1
- package/package.json +7 -7
- package/react/AppProvider.js +8 -8
- package/react/AppProvider.js.map +1 -1
- package/react/AuthenticatedPageRoute.js +9 -26
- package/react/AuthenticatedPageRoute.js.map +1 -1
- package/react/PageWrap.js +23 -0
- package/react/PageWrap.js.map +1 -0
- package/react/index.js +1 -1
- package/react/index.js.map +1 -1
- package/react/PageRoute.js +0 -28
- package/react/PageRoute.js.map +0 -1
package/initialize.js
CHANGED
|
@@ -20,19 +20,19 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
|
|
|
20
20
|
* APP_READY,
|
|
21
21
|
* subscribe,
|
|
22
22
|
* } from '@edx/frontend-platform';
|
|
23
|
-
* import { AppProvider, ErrorPage,
|
|
23
|
+
* import { AppProvider, ErrorPage, PageWrap } from '@edx/frontend-platform/react';
|
|
24
24
|
* import React from 'react';
|
|
25
25
|
* import ReactDOM from 'react-dom';
|
|
26
|
-
* import {
|
|
26
|
+
* import { Routes, Route } from 'react-router-dom';
|
|
27
27
|
*
|
|
28
28
|
* subscribe(APP_READY, () => {
|
|
29
29
|
* ReactDOM.render(
|
|
30
30
|
* <AppProvider store={configureStore()}>
|
|
31
31
|
* <Header />
|
|
32
32
|
* <main>
|
|
33
|
-
* <
|
|
34
|
-
* <
|
|
35
|
-
* </
|
|
33
|
+
* <Routes>
|
|
34
|
+
* <Route path="/" element={<PageWrap><PaymentPage /></PageWrap>} />
|
|
35
|
+
* </Routes>
|
|
36
36
|
* </main>
|
|
37
37
|
* <Footer />
|
|
38
38
|
* </AppProvider>,
|
package/initialize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","createBrowserHistory","createMemoryHistory","envConfig","publish","getConfig","mergeConfig","configure","configureLogging","getLoggingService","NewRelicLoggingService","logError","configureAnalytics","SegmentAnalyticsService","identifyAnonymousUser","identifyAuthenticatedUser","GoogleAnalyticsLoader","getAuthenticatedHttpClient","configureAuth","ensureAuthenticatedUser","fetchAuthenticatedUser","hydrateAuthenticatedUser","getAuthenticatedUser","AxiosJwtAuthService","configureI18n","APP_PUBSUB_INITIALIZED","APP_CONFIG_INITIALIZED","APP_AUTH_INITIALIZED","APP_I18N_INITIALIZED","APP_LOGGING_INITIALIZED","APP_ANALYTICS_INITIALIZED","APP_READY","APP_INIT_ERROR","configureCache","history","window","basename","PUBLIC_PATH","initError","_x","_initError","_callee2","_callee2$","_context2","auth","_x2","_x3","_auth","_callee3","requireUser","hydrateUser","_callee3$","_context3","global","location","href","jsFileConfig","_jsFileConfig","_callee4","config","_callee4$","_context4","runtimeConfig","_runtimeConfig","_callee5","_getConfig","MFE_CONFIG_API_URL","APP_ID","apiConfig","apiService","params","url","_yield$apiService$get","data","_callee5$","_context5","headers","accept","URLSearchParams","append","concat","toString","get","t0","console","message","loadExternalScripts","externalScripts","ExternalScript","script","loadScript","analytics","_analytics","_callee6","authenticatedUser","_callee6$","_context6","userId","applyOverrideHandlers","overrides","noOp","_ref","_callee","_callee$","_context","_objectSpread","pubSub","logging","i18n","ready","initialize","_x4","_initialize","_callee7","_ref2","_ref2$loggingService","loggingService","_ref2$analyticsServic","analyticsService","_ref2$authService","authService","_ref2$authMiddleware","authMiddleware","_ref2$externalScripts","_ref2$requireAuthenti","_ref2$hydrateAuthenti","messages","_ref2$handlers","overrideHandlers","handlers","loggingServiceImpl","analyticsServiceImpl","authServiceImpl","_callee7$","_context7","requireAuthenticatedUser","middleware","httpClient","isRedirecting"],"sources":["../src/initialize.js"],"sourcesContent":["/**\n * #### Import members from **@edx/frontend-platform**\n *\n * The initialization module provides a function for managing an application's initialization\n * lifecycle. It also provides constants and default handler implementations.\n *\n * ```\n * import {\n * initialize,\n * APP_INIT_ERROR,\n * APP_READY,\n * subscribe,\n * } from '@edx/frontend-platform';\n * import { AppProvider, ErrorPage, PageRoute } from '@edx/frontend-platform/react';\n * import React from 'react';\n * import ReactDOM from 'react-dom';\n * import { Switch } from 'react-router-dom';\n *\n * subscribe(APP_READY, () => {\n * ReactDOM.render(\n * <AppProvider store={configureStore()}>\n * <Header />\n * <main>\n * <Switch>\n * <PageRoute exact path=\"/\" component={PaymentPage} />\n * </Switch>\n * </main>\n * <Footer />\n * </AppProvider>,\n * document.getElementById('root'),\n * );\n * });\n *\n * subscribe(APP_INIT_ERROR, (error) => {\n * ReactDOM.render(<ErrorPage message={error.message} />, document.getElementById('root'));\n * });\n *\n * initialize({\n * messages: [appMessages],\n * requireAuthenticatedUser: true,\n * hydrateAuthenticatedUser: true,\n * });\n\n```\n * @module Initialization\n */\n\nimport { createBrowserHistory, createMemoryHistory } from 'history';\n/*\nThis 'env.config' package is a special 'magic' alias in our webpack configuration in frontend-build.\nIt points at an `env.config.js` file in the root of an MFE's repository if it exists and falls back\nto an empty object `{}` if the file doesn't exist. This acts like an 'optional' import, in a sense.\nNote that the env.config.js file in frontend-platform's root directory is NOT used by the actual\ninitialization code, it's just there for the test suite and example application.\n*/\nimport envConfig from 'env.config'; // eslint-disable-line import/no-unresolved\n\nimport {\n publish,\n} from './pubSub';\n// eslint-disable-next-line import/no-cycle\nimport {\n getConfig, mergeConfig,\n} from './config';\nimport {\n configure as configureLogging, getLoggingService, NewRelicLoggingService, logError,\n} from './logging';\nimport {\n configure as configureAnalytics, SegmentAnalyticsService, identifyAnonymousUser, identifyAuthenticatedUser,\n} from './analytics';\nimport { GoogleAnalyticsLoader } from './scripts';\nimport {\n getAuthenticatedHttpClient,\n configure as configureAuth,\n ensureAuthenticatedUser,\n fetchAuthenticatedUser,\n hydrateAuthenticatedUser,\n getAuthenticatedUser,\n AxiosJwtAuthService,\n} from './auth';\nimport { configure as configureI18n } from './i18n';\nimport {\n APP_PUBSUB_INITIALIZED,\n APP_CONFIG_INITIALIZED,\n APP_AUTH_INITIALIZED,\n APP_I18N_INITIALIZED,\n APP_LOGGING_INITIALIZED,\n APP_ANALYTICS_INITIALIZED,\n APP_READY, APP_INIT_ERROR,\n} from './constants';\nimport configureCache from './auth/LocalForageCache';\n\n/**\n * A browser history or memory history object created by the [history](https://github.com/ReactTraining/history)\n * package. Applications are encouraged to use this history object, rather than creating their own,\n * as behavior may be undefined when managing history via multiple mechanisms/instances. Note that\n * in environments where browser history may be inaccessible due to `window` being undefined, this\n * falls back to memory history.\n */\nexport const history = (typeof window !== 'undefined')\n ? createBrowserHistory({\n basename: getConfig().PUBLIC_PATH,\n }) : createMemoryHistory();\n\n/**\n * The default handler for the initialization lifecycle's `initError` phase. Logs the error to the\n * LoggingService using `logError`\n *\n * @see {@link module:frontend-platform/logging~logError}\n * @param {*} error\n */\nexport async function initError(error) {\n logError(error);\n}\n\n/**\n * The default handler for the initialization lifecycle's `auth` phase.\n *\n * The handler has several responsibilities:\n * - Determining the user's authentication state (authenticated or anonymous)\n * - Optionally redirecting to login if the application requires an authenticated user.\n * - Optionally loading additional user information via the application's user account data\n * endpoint.\n *\n * @param {boolean} requireUser Whether or not we should redirect to login if a user is not\n * authenticated.\n * @param {boolean} hydrateUser Whether or not we should fetch additional user account data.\n */\nexport async function auth(requireUser, hydrateUser) {\n if (requireUser) {\n await ensureAuthenticatedUser(global.location.href);\n } else {\n await fetchAuthenticatedUser();\n }\n\n if (hydrateUser && getAuthenticatedUser() !== null) {\n // We intentionally do not await the promise returned by hydrateAuthenticatedUser. All the\n // critical data is returned as part of fetch/ensureAuthenticatedUser above, and anything else\n // is a nice-to-have for application code.\n hydrateAuthenticatedUser();\n }\n}\n\n/**\n * Set or overrides configuration via an env.config.js file in the consuming application.\n * This env.config.js is loaded at runtime and must export one of two things:\n *\n * - An object which will be merged into the application config via `mergeConfig`.\n * - A function which returns an object which will be merged into the application config via\n * `mergeConfig`. This function can return a promise.\n */\nasync function jsFileConfig() {\n let config = {};\n if (typeof envConfig === 'function') {\n config = await envConfig();\n } else {\n config = envConfig;\n }\n\n mergeConfig(config);\n}\n\n/*\n * Set or overrides configuration through an API.\n * This method allows runtime configuration.\n * Set a basic configuration when an error happen and allow initError and display the ErrorPage.\n */\nasync function runtimeConfig() {\n try {\n const { MFE_CONFIG_API_URL, APP_ID } = getConfig();\n\n if (MFE_CONFIG_API_URL) {\n const apiConfig = { headers: { accept: 'application/json' } };\n const apiService = await configureCache();\n\n const params = new URLSearchParams();\n params.append('mfe', APP_ID);\n const url = `${MFE_CONFIG_API_URL}?${params.toString()}`;\n\n const { data } = await apiService.get(url, apiConfig);\n mergeConfig(data);\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error with config API', error.message);\n }\n}\n\nexport function loadExternalScripts(externalScripts, data) {\n externalScripts.forEach(ExternalScript => {\n const script = new ExternalScript(data);\n script.loadScript();\n });\n}\n\n/**\n * The default handler for the initialization lifecycle's `analytics` phase.\n *\n * The handler is responsible for identifying authenticated and anonymous users with the analytics\n * service. This is a pre-requisite for sending analytics events, thus, we do it during the\n * initialization sequence so that analytics is ready once the application's UI code starts to load.\n *\n */\nexport async function analytics() {\n const authenticatedUser = getAuthenticatedUser();\n if (authenticatedUser && authenticatedUser.userId) {\n identifyAuthenticatedUser(authenticatedUser.userId);\n } else {\n await identifyAnonymousUser();\n }\n}\n\nfunction applyOverrideHandlers(overrides) {\n const noOp = async () => { };\n return {\n pubSub: noOp,\n config: noOp,\n logging: noOp,\n auth,\n analytics,\n i18n: noOp,\n ready: noOp,\n initError,\n ...overrides, // This will override any same-keyed handlers from above.\n };\n}\n\n/**\n * Invokes the application initialization sequence.\n *\n * The sequence proceeds through a number of lifecycle phases, during which pertinent services are\n * configured.\n *\n * Using the `handlers` option, lifecycle phase handlers can be overridden to perform custom\n * functionality. Note that while these override handlers _do_ replace the default handler\n * functionality for analytics, auth, and initError (the other phases have no default\n * functionality), they do _not_ override the configuration of the actual services that those\n * handlers leverage.\n *\n * Some services can be overridden via the loggingService and analyticsService options. The other\n * services (auth and i18n) cannot currently be overridden.\n *\n * The following lifecycle phases exist:\n *\n * - pubSub: A no-op by default.\n * - config: A no-op by default.\n * - logging: A no-op by default.\n * - auth: Uses the 'auth' handler defined above.\n * - analytics: Uses the 'analytics' handler defined above.\n * - i18n: A no-op by default.\n * - ready: A no-op by default.\n * - initError: Uses the 'initError' handler defined above.\n *\n * @param {Object} [options]\n * @param {*} [options.loggingService=NewRelicLoggingService] The `LoggingService` implementation\n * to use.\n * @param {*} [options.analyticsService=SegmentAnalyticsService] The `AnalyticsService`\n * implementation to use.\n * @param {*} [options.authMiddleware=[]] An array of middleware to apply to http clients in the auth service.\n * @param {*} [options.externalScripts=[GoogleAnalyticsLoader]] An array of externalScripts.\n * By default added GoogleAnalyticsLoader.\n * @param {*} [options.requireAuthenticatedUser=false] If true, turns on automatic login\n * redirection for unauthenticated users. Defaults to false, meaning that by default the\n * application will allow anonymous/unauthenticated sessions.\n * @param {*} [options.hydrateAuthenticatedUser=false] If true, makes an API call to the user\n * account endpoint (`${App.config.LMS_BASE_URL}/api/user/v1/accounts/${username}`) to fetch\n * detailed account information for the authenticated user. This data is merged into the return\n * value of `getAuthenticatedUser`, overriding any duplicate keys that already exist. Defaults to\n * false, meaning that no additional account information will be loaded.\n * @param {*} [options.messages] A i18n-compatible messages object, or an array of such objects. If\n * an array is provided, duplicate keys are resolved with the last-one-in winning.\n * @param {*} [options.handlers={}] An optional object of handlers which can be used to replace the\n * default behavior of any part of the startup sequence. It can also be used to add additional\n * initialization behavior before or after the rest of the sequence.\n */\nexport async function initialize({\n loggingService = NewRelicLoggingService,\n analyticsService = SegmentAnalyticsService,\n authService = AxiosJwtAuthService,\n authMiddleware = [],\n externalScripts = [GoogleAnalyticsLoader],\n requireAuthenticatedUser: requireUser = false,\n hydrateAuthenticatedUser: hydrateUser = false,\n messages,\n handlers: overrideHandlers = {},\n}) {\n const handlers = applyOverrideHandlers(overrideHandlers);\n try {\n // Pub/Sub\n await handlers.pubSub();\n publish(APP_PUBSUB_INITIALIZED);\n\n // Configuration\n await handlers.config();\n await jsFileConfig();\n await runtimeConfig();\n publish(APP_CONFIG_INITIALIZED);\n\n loadExternalScripts(externalScripts, {\n config: getConfig(),\n });\n\n // This allows us to replace the implementations of the logging, analytics, and auth services\n // based on keys in the ConfigDocument. The JavaScript File Configuration method is the only\n // one capable of supplying an alternate implementation since it can import other modules.\n // If a service wasn't supplied we fall back to the default parameters on the initialize\n // function signature.\n const loggingServiceImpl = getConfig().loggingService || loggingService;\n const analyticsServiceImpl = getConfig().analyticsService || analyticsService;\n const authServiceImpl = getConfig().authService || authService;\n\n // Logging\n configureLogging(loggingServiceImpl, {\n config: getConfig(),\n });\n await handlers.logging();\n publish(APP_LOGGING_INITIALIZED);\n\n // Authentication\n configureAuth(authServiceImpl, {\n loggingService: getLoggingService(),\n config: getConfig(),\n middleware: authMiddleware,\n });\n\n await handlers.auth(requireUser, hydrateUser);\n publish(APP_AUTH_INITIALIZED);\n\n // Analytics\n configureAnalytics(analyticsServiceImpl, {\n config: getConfig(),\n loggingService: getLoggingService(),\n httpClient: getAuthenticatedHttpClient(),\n });\n await handlers.analytics();\n publish(APP_ANALYTICS_INITIALIZED);\n\n // Internationalization\n configureI18n({\n messages,\n config: getConfig(),\n loggingService: getLoggingService(),\n });\n await handlers.i18n();\n publish(APP_I18N_INITIALIZED);\n\n // Application Ready\n await handlers.ready();\n publish(APP_READY);\n } catch (error) {\n if (!error.isRedirecting) {\n // Initialization Error\n await handlers.initError(error);\n publish(APP_INIT_ERROR, error);\n }\n }\n}\n"],"mappings":";;;;;;+CACA,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,OAAA,SAAAA,OAAA,OAAAC,EAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,MAAA,GAAAH,EAAA,CAAAI,cAAA,EAAAC,cAAA,GAAAJ,MAAA,CAAAI,cAAA,cAAAC,GAAA,EAAAC,GAAA,EAAAC,IAAA,IAAAF,GAAA,CAAAC,GAAA,IAAAC,IAAA,CAAAC,KAAA,KAAAC,OAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,cAAA,GAAAF,OAAA,CAAAG,QAAA,kBAAAC,mBAAA,GAAAJ,OAAA,CAAAK,aAAA,uBAAAC,iBAAA,GAAAN,OAAA,CAAAO,WAAA,8BAAAC,OAAAZ,GAAA,EAAAC,GAAA,EAAAE,KAAA,WAAAR,MAAA,CAAAI,cAAA,CAAAC,GAAA,EAAAC,GAAA,IAAAE,KAAA,EAAAA,KAAA,EAAAU,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAAf,GAAA,CAAAC,GAAA,WAAAW,MAAA,mBAAAI,GAAA,IAAAJ,MAAA,YAAAA,OAAAZ,GAAA,EAAAC,GAAA,EAAAE,KAAA,WAAAH,GAAA,CAAAC,GAAA,IAAAE,KAAA,gBAAAc,KAAAC,OAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,QAAAC,cAAA,GAAAH,OAAA,IAAAA,OAAA,CAAAvB,SAAA,YAAA2B,SAAA,GAAAJ,OAAA,GAAAI,SAAA,EAAAC,SAAA,GAAA7B,MAAA,CAAA8B,MAAA,CAAAH,cAAA,CAAA1B,SAAA,GAAA8B,OAAA,OAAAC,OAAA,CAAAN,WAAA,gBAAAtB,cAAA,CAAAyB,SAAA,eAAArB,KAAA,EAAAyB,gBAAA,CAAAV,OAAA,EAAAE,IAAA,EAAAM,OAAA,MAAAF,SAAA,aAAAK,SAAAC,EAAA,EAAA9B,GAAA,EAAA+B,GAAA,mBAAAC,IAAA,YAAAD,GAAA,EAAAD,EAAA,CAAAG,IAAA,CAAAjC,GAAA,EAAA+B,GAAA,cAAAf,GAAA,aAAAgB,IAAA,WAAAD,GAAA,EAAAf,GAAA,QAAAvB,OAAA,CAAAwB,IAAA,GAAAA,IAAA,MAAAiB,gBAAA,gBAAAX,UAAA,cAAAY,kBAAA,cAAAC,2BAAA,SAAAC,iBAAA,OAAAzB,MAAA,CAAAyB,iBAAA,EAAA/B,cAAA,qCAAAgC,QAAA,GAAA3C,MAAA,CAAA4C,cAAA,EAAAC,uBAAA,GAAAF,QAAA,IAAAA,QAAA,CAAAA,QAAA,CAAAG,MAAA,QAAAD,uBAAA,IAAAA,uBAAA,KAAA9C,EAAA,IAAAG,MAAA,CAAAoC,IAAA,CAAAO,uBAAA,EAAAlC,cAAA,MAAA+B,iBAAA,GAAAG,uBAAA,OAAAE,EAAA,GAAAN,0BAAA,CAAAxC,SAAA,GAAA2B,SAAA,CAAA3B,SAAA,GAAAD,MAAA,CAAA8B,MAAA,CAAAY,iBAAA,YAAAM,sBAAA/C,SAAA,gCAAAgD,OAAA,WAAAC,MAAA,IAAAjC,MAAA,CAAAhB,SAAA,EAAAiD,MAAA,YAAAd,GAAA,gBAAAe,OAAA,CAAAD,MAAA,EAAAd,GAAA,sBAAAgB,cAAAvB,SAAA,EAAAwB,WAAA,aAAAC,OAAAJ,MAAA,EAAAd,GAAA,EAAAmB,OAAA,EAAAC,MAAA,QAAAC,MAAA,GAAAvB,QAAA,CAAAL,SAAA,CAAAqB,MAAA,GAAArB,SAAA,EAAAO,GAAA,mBAAAqB,MAAA,CAAApB,IAAA,QAAAqB,MAAA,GAAAD,MAAA,CAAArB,GAAA,EAAA5B,KAAA,GAAAkD,MAAA,CAAAlD,KAAA,SAAAA,KAAA,gBAAAmD,OAAA,CAAAnD,KAAA,KAAAN,MAAA,CAAAoC,IAAA,CAAA9B,KAAA,eAAA6C,WAAA,CAAAE,OAAA,CAAA/C,KAAA,CAAAoD,OAAA,EAAAC,IAAA,WAAArD,KAAA,IAAA8C,MAAA,SAAA9C,KAAA,EAAA+C,OAAA,EAAAC,MAAA,gBAAAnC,GAAA,IAAAiC,MAAA,UAAAjC,GAAA,EAAAkC,OAAA,EAAAC,MAAA,QAAAH,WAAA,CAAAE,OAAA,CAAA/C,KAAA,EAAAqD,IAAA,WAAAC,SAAA,IAAAJ,MAAA,CAAAlD,KAAA,GAAAsD,SAAA,EAAAP,OAAA,CAAAG,MAAA,gBAAAK,KAAA,WAAAT,MAAA,UAAAS,KAAA,EAAAR,OAAA,EAAAC,MAAA,SAAAA,MAAA,CAAAC,MAAA,CAAArB,GAAA,SAAA4B,eAAA,EAAA5D,cAAA,oBAAAI,KAAA,WAAAA,MAAA0C,MAAA,EAAAd,GAAA,aAAA6B,2BAAA,eAAAZ,WAAA,WAAAE,OAAA,EAAAC,MAAA,IAAAF,MAAA,CAAAJ,MAAA,EAAAd,GAAA,EAAAmB,OAAA,EAAAC,MAAA,gBAAAQ,eAAA,GAAAA,eAAA,GAAAA,eAAA,CAAAH,IAAA,CAAAI,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAAhC,iBAAAV,OAAA,EAAAE,IAAA,EAAAM,OAAA,QAAAmC,KAAA,sCAAAhB,MAAA,EAAAd,GAAA,wBAAA8B,KAAA,YAAAC,KAAA,sDAAAD,KAAA,oBAAAhB,MAAA,QAAAd,GAAA,SAAAgC,UAAA,WAAArC,OAAA,CAAAmB,MAAA,GAAAA,MAAA,EAAAnB,OAAA,CAAAK,GAAA,GAAAA,GAAA,UAAAiC,QAAA,GAAAtC,OAAA,CAAAsC,QAAA,MAAAA,QAAA,QAAAC,cAAA,GAAAC,mBAAA,CAAAF,QAAA,EAAAtC,OAAA,OAAAuC,cAAA,QAAAA,cAAA,KAAA/B,gBAAA,mBAAA+B,cAAA,qBAAAvC,OAAA,CAAAmB,MAAA,EAAAnB,OAAA,CAAAyC,IAAA,GAAAzC,OAAA,CAAA0C,KAAA,GAAA1C,OAAA,CAAAK,GAAA,sBAAAL,OAAA,CAAAmB,MAAA,6BAAAgB,KAAA,QAAAA,KAAA,gBAAAnC,OAAA,CAAAK,GAAA,EAAAL,OAAA,CAAA2C,iBAAA,CAAA3C,OAAA,CAAAK,GAAA,uBAAAL,OAAA,CAAAmB,MAAA,IAAAnB,OAAA,CAAA4C,MAAA,WAAA5C,OAAA,CAAAK,GAAA,GAAA8B,KAAA,oBAAAT,MAAA,GAAAvB,QAAA,CAAAX,OAAA,EAAAE,IAAA,EAAAM,OAAA,oBAAA0B,MAAA,CAAApB,IAAA,QAAA6B,KAAA,GAAAnC,OAAA,CAAA6C,IAAA,mCAAAnB,MAAA,CAAArB,GAAA,KAAAG,gBAAA,qBAAA/B,KAAA,EAAAiD,MAAA,CAAArB,GAAA,EAAAwC,IAAA,EAAA7C,OAAA,CAAA6C,IAAA,kBAAAnB,MAAA,CAAApB,IAAA,KAAA6B,KAAA,gBAAAnC,OAAA,CAAAmB,MAAA,YAAAnB,OAAA,CAAAK,GAAA,GAAAqB,MAAA,CAAArB,GAAA,mBAAAmC,oBAAAF,QAAA,EAAAtC,OAAA,QAAA8C,UAAA,GAAA9C,OAAA,CAAAmB,MAAA,EAAAA,MAAA,GAAAmB,QAAA,CAAAzD,QAAA,CAAAiE,UAAA,OAAAC,SAAA,KAAA5B,MAAA,SAAAnB,OAAA,CAAAsC,QAAA,qBAAAQ,UAAA,IAAAR,QAAA,CAAAzD,QAAA,eAAAmB,OAAA,CAAAmB,MAAA,aAAAnB,OAAA,CAAAK,GAAA,GAAA0C,SAAA,EAAAP,mBAAA,CAAAF,QAAA,EAAAtC,OAAA,eAAAA,OAAA,CAAAmB,MAAA,kBAAA2B,UAAA,KAAA9C,OAAA,CAAAmB,MAAA,YAAAnB,OAAA,CAAAK,GAAA,OAAA2C,SAAA,uCAAAF,UAAA,iBAAAtC,gBAAA,MAAAkB,MAAA,GAAAvB,QAAA,CAAAgB,MAAA,EAAAmB,QAAA,CAAAzD,QAAA,EAAAmB,OAAA,CAAAK,GAAA,mBAAAqB,MAAA,CAAApB,IAAA,SAAAN,OAAA,CAAAmB,MAAA,YAAAnB,OAAA,CAAAK,GAAA,GAAAqB,MAAA,CAAArB,GAAA,EAAAL,OAAA,CAAAsC,QAAA,SAAA9B,gBAAA,MAAAyC,IAAA,GAAAvB,MAAA,CAAArB,GAAA,SAAA4C,IAAA,GAAAA,IAAA,CAAAJ,IAAA,IAAA7C,OAAA,CAAAsC,QAAA,CAAAY,UAAA,IAAAD,IAAA,CAAAxE,KAAA,EAAAuB,OAAA,CAAAmD,IAAA,GAAAb,QAAA,CAAAc,OAAA,eAAApD,OAAA,CAAAmB,MAAA,KAAAnB,OAAA,CAAAmB,MAAA,WAAAnB,OAAA,CAAAK,GAAA,GAAA0C,SAAA,GAAA/C,OAAA,CAAAsC,QAAA,SAAA9B,gBAAA,IAAAyC,IAAA,IAAAjD,OAAA,CAAAmB,MAAA,YAAAnB,OAAA,CAAAK,GAAA,OAAA2C,SAAA,sCAAAhD,OAAA,CAAAsC,QAAA,SAAA9B,gBAAA,cAAA6C,aAAAC,IAAA,QAAAC,KAAA,KAAAC,MAAA,EAAAF,IAAA,YAAAA,IAAA,KAAAC,KAAA,CAAAE,QAAA,GAAAH,IAAA,WAAAA,IAAA,KAAAC,KAAA,CAAAG,UAAA,GAAAJ,IAAA,KAAAC,KAAA,CAAAI,QAAA,GAAAL,IAAA,WAAAM,UAAA,CAAAC,IAAA,CAAAN,KAAA,cAAAO,cAAAP,KAAA,QAAA7B,MAAA,GAAA6B,KAAA,CAAAQ,UAAA,QAAArC,MAAA,CAAApB,IAAA,oBAAAoB,MAAA,CAAArB,GAAA,EAAAkD,KAAA,CAAAQ,UAAA,GAAArC,MAAA,aAAAzB,QAAAN,WAAA,SAAAiE,UAAA,MAAAJ,MAAA,aAAA7D,WAAA,CAAAuB,OAAA,CAAAmC,YAAA,cAAAW,KAAA,iBAAAjD,OAAAkD,QAAA,QAAAA,QAAA,QAAAC,cAAA,GAAAD,QAAA,CAAArF,cAAA,OAAAsF,cAAA,SAAAA,cAAA,CAAA3D,IAAA,CAAA0D,QAAA,4BAAAA,QAAA,CAAAd,IAAA,SAAAc,QAAA,OAAAE,KAAA,CAAAF,QAAA,CAAAG,MAAA,SAAAC,CAAA,OAAAlB,IAAA,YAAAA,KAAA,aAAAkB,CAAA,GAAAJ,QAAA,CAAAG,MAAA,OAAAjG,MAAA,CAAAoC,IAAA,CAAA0D,QAAA,EAAAI,CAAA,UAAAlB,IAAA,CAAA1E,KAAA,GAAAwF,QAAA,CAAAI,CAAA,GAAAlB,IAAA,CAAAN,IAAA,OAAAM,IAAA,SAAAA,IAAA,CAAA1E,KAAA,GAAAsE,SAAA,EAAAI,IAAA,CAAAN,IAAA,OAAAM,IAAA,YAAAA,IAAA,CAAAA,IAAA,GAAAA,IAAA,eAAAA,IAAA,EAAAd,UAAA,eAAAA,WAAA,aAAA5D,KAAA,EAAAsE,SAAA,EAAAF,IAAA,iBAAApC,iBAAA,CAAAvC,SAAA,GAAAwC,0BAAA,EAAArC,cAAA,CAAA2C,EAAA,mBAAAvC,KAAA,EAAAiC,0BAAA,EAAAtB,YAAA,SAAAf,cAAA,CAAAqC,0BAAA,mBAAAjC,KAAA,EAAAgC,iBAAA,EAAArB,YAAA,SAAAqB,iBAAA,CAAA6D,WAAA,GAAApF,MAAA,CAAAwB,0BAAA,EAAA1B,iBAAA,wBAAAjB,OAAA,CAAAwG,mBAAA,aAAAC,MAAA,QAAAC,IAAA,wBAAAD,MAAA,IAAAA,MAAA,CAAAE,WAAA,WAAAD,IAAA,KAAAA,IAAA,KAAAhE,iBAAA,6BAAAgE,IAAA,CAAAH,WAAA,IAAAG,IAAA,CAAAE,IAAA,OAAA5G,OAAA,CAAA6G,IAAA,aAAAJ,MAAA,WAAAvG,MAAA,CAAA4G,cAAA,GAAA5G,MAAA,CAAA4G,cAAA,CAAAL,MAAA,EAAA9D,0BAAA,KAAA8D,MAAA,CAAAM,SAAA,GAAApE,0BAAA,EAAAxB,MAAA,CAAAsF,MAAA,EAAAxF,iBAAA,yBAAAwF,MAAA,CAAAtG,SAAA,GAAAD,MAAA,CAAA8B,MAAA,CAAAiB,EAAA,GAAAwD,MAAA,KAAAzG,OAAA,CAAAgH,KAAA,aAAA1E,GAAA,aAAAwB,OAAA,EAAAxB,GAAA,OAAAY,qBAAA,CAAAI,aAAA,CAAAnD,SAAA,GAAAgB,MAAA,CAAAmC,aAAA,CAAAnD,SAAA,EAAAY,mBAAA,iCAAAf,OAAA,CAAAsD,aAAA,GAAAA,aAAA,EAAAtD,OAAA,CAAAiH,KAAA,aAAAxF,OAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,EAAA2B,WAAA,eAAAA,WAAA,KAAAA,WAAA,GAAA2D,OAAA,OAAAC,IAAA,OAAA7D,aAAA,CAAA9B,IAAA,CAAAC,OAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,GAAA2B,WAAA,UAAAvD,OAAA,CAAAwG,mBAAA,CAAA9E,OAAA,IAAAyF,IAAA,GAAAA,IAAA,CAAA/B,IAAA,GAAArB,IAAA,WAAAH,MAAA,WAAAA,MAAA,CAAAkB,IAAA,GAAAlB,MAAA,CAAAlD,KAAA,GAAAyG,IAAA,CAAA/B,IAAA,WAAAlC,qBAAA,CAAAD,EAAA,GAAA9B,MAAA,CAAA8B,EAAA,EAAAhC,iBAAA,gBAAAE,MAAA,CAAA8B,EAAA,EAAApC,cAAA,iCAAAM,MAAA,CAAA8B,EAAA,6DAAAjD,OAAA,CAAAoH,IAAA,aAAAC,GAAA,QAAAC,MAAA,GAAApH,MAAA,CAAAmH,GAAA,GAAAD,IAAA,gBAAA5G,GAAA,IAAA8G,MAAA,EAAAF,IAAA,CAAAtB,IAAA,CAAAtF,GAAA,UAAA4G,IAAA,CAAAG,OAAA,aAAAnC,KAAA,WAAAgC,IAAA,CAAAf,MAAA,SAAA7F,GAAA,GAAA4G,IAAA,CAAAI,GAAA,QAAAhH,GAAA,IAAA8G,MAAA,SAAAlC,IAAA,CAAA1E,KAAA,GAAAF,GAAA,EAAA4E,IAAA,CAAAN,IAAA,OAAAM,IAAA,WAAAA,IAAA,CAAAN,IAAA,OAAAM,IAAA,QAAApF,OAAA,CAAAgD,MAAA,GAAAA,MAAA,EAAAd,OAAA,CAAA/B,SAAA,KAAAwG,WAAA,EAAAzE,OAAA,EAAA+D,KAAA,WAAAA,MAAAwB,aAAA,aAAAC,IAAA,WAAAtC,IAAA,WAAAV,IAAA,QAAAC,KAAA,GAAAK,SAAA,OAAAF,IAAA,YAAAP,QAAA,cAAAnB,MAAA,gBAAAd,GAAA,GAAA0C,SAAA,OAAAa,UAAA,CAAA1C,OAAA,CAAA4C,aAAA,IAAA0B,aAAA,WAAAb,IAAA,kBAAAA,IAAA,CAAAe,MAAA,OAAAvH,MAAA,CAAAoC,IAAA,OAAAoE,IAAA,MAAAR,KAAA,EAAAQ,IAAA,CAAAgB,KAAA,cAAAhB,IAAA,IAAA5B,SAAA,MAAA6C,IAAA,WAAAA,KAAA,SAAA/C,IAAA,WAAAgD,UAAA,QAAAjC,UAAA,IAAAG,UAAA,kBAAA8B,UAAA,CAAAvF,IAAA,QAAAuF,UAAA,CAAAxF,GAAA,cAAAyF,IAAA,KAAAnD,iBAAA,WAAAA,kBAAAoD,SAAA,aAAAlD,IAAA,QAAAkD,SAAA,MAAA/F,OAAA,kBAAAgG,OAAAC,GAAA,EAAAC,MAAA,WAAAxE,MAAA,CAAApB,IAAA,YAAAoB,MAAA,CAAArB,GAAA,GAAA0F,SAAA,EAAA/F,OAAA,CAAAmD,IAAA,GAAA8C,GAAA,EAAAC,MAAA,KAAAlG,OAAA,CAAAmB,MAAA,WAAAnB,OAAA,CAAAK,GAAA,GAAA0C,SAAA,KAAAmD,MAAA,aAAA7B,CAAA,QAAAT,UAAA,CAAAQ,MAAA,MAAAC,CAAA,SAAAA,CAAA,QAAAd,KAAA,QAAAK,UAAA,CAAAS,CAAA,GAAA3C,MAAA,GAAA6B,KAAA,CAAAQ,UAAA,iBAAAR,KAAA,CAAAC,MAAA,SAAAwC,MAAA,aAAAzC,KAAA,CAAAC,MAAA,SAAAiC,IAAA,QAAAU,QAAA,GAAAhI,MAAA,CAAAoC,IAAA,CAAAgD,KAAA,eAAA6C,UAAA,GAAAjI,MAAA,CAAAoC,IAAA,CAAAgD,KAAA,qBAAA4C,QAAA,IAAAC,UAAA,aAAAX,IAAA,GAAAlC,KAAA,CAAAE,QAAA,SAAAuC,MAAA,CAAAzC,KAAA,CAAAE,QAAA,gBAAAgC,IAAA,GAAAlC,KAAA,CAAAG,UAAA,SAAAsC,MAAA,CAAAzC,KAAA,CAAAG,UAAA,cAAAyC,QAAA,aAAAV,IAAA,GAAAlC,KAAA,CAAAE,QAAA,SAAAuC,MAAA,CAAAzC,KAAA,CAAAE,QAAA,qBAAA2C,UAAA,YAAAhE,KAAA,qDAAAqD,IAAA,GAAAlC,KAAA,CAAAG,UAAA,SAAAsC,MAAA,CAAAzC,KAAA,CAAAG,UAAA,YAAAd,MAAA,WAAAA,OAAAtC,IAAA,EAAAD,GAAA,aAAAgE,CAAA,QAAAT,UAAA,CAAAQ,MAAA,MAAAC,CAAA,SAAAA,CAAA,QAAAd,KAAA,QAAAK,UAAA,CAAAS,CAAA,OAAAd,KAAA,CAAAC,MAAA,SAAAiC,IAAA,IAAAtH,MAAA,CAAAoC,IAAA,CAAAgD,KAAA,wBAAAkC,IAAA,GAAAlC,KAAA,CAAAG,UAAA,QAAA2C,YAAA,GAAA9C,KAAA,aAAA8C,YAAA,iBAAA/F,IAAA,mBAAAA,IAAA,KAAA+F,YAAA,CAAA7C,MAAA,IAAAnD,GAAA,IAAAA,GAAA,IAAAgG,YAAA,CAAA3C,UAAA,KAAA2C,YAAA,cAAA3E,MAAA,GAAA2E,YAAA,GAAAA,YAAA,CAAAtC,UAAA,cAAArC,MAAA,CAAApB,IAAA,GAAAA,IAAA,EAAAoB,MAAA,CAAArB,GAAA,GAAAA,GAAA,EAAAgG,YAAA,SAAAlF,MAAA,gBAAAgC,IAAA,GAAAkD,YAAA,CAAA3C,UAAA,EAAAlD,gBAAA,SAAA8F,QAAA,CAAA5E,MAAA,MAAA4E,QAAA,WAAAA,SAAA5E,MAAA,EAAAiC,QAAA,oBAAAjC,MAAA,CAAApB,IAAA,QAAAoB,MAAA,CAAArB,GAAA,qBAAAqB,MAAA,CAAApB,IAAA,mBAAAoB,MAAA,CAAApB,IAAA,QAAA6C,IAAA,GAAAzB,MAAA,CAAArB,GAAA,gBAAAqB,MAAA,CAAApB,IAAA,SAAAwF,IAAA,QAAAzF,GAAA,GAAAqB,MAAA,CAAArB,GAAA,OAAAc,MAAA,kBAAAgC,IAAA,yBAAAzB,MAAA,CAAApB,IAAA,IAAAqD,QAAA,UAAAR,IAAA,GAAAQ,QAAA,GAAAnD,gBAAA,KAAA+F,MAAA,WAAAA,OAAA7C,UAAA,aAAAW,CAAA,QAAAT,UAAA,CAAAQ,MAAA,MAAAC,CAAA,SAAAA,CAAA,QAAAd,KAAA,QAAAK,UAAA,CAAAS,CAAA,OAAAd,KAAA,CAAAG,UAAA,KAAAA,UAAA,cAAA4C,QAAA,CAAA/C,KAAA,CAAAQ,UAAA,EAAAR,KAAA,CAAAI,QAAA,GAAAG,aAAA,CAAAP,KAAA,GAAA/C,gBAAA,yBAAAgG,OAAAhD,MAAA,aAAAa,CAAA,QAAAT,UAAA,CAAAQ,MAAA,MAAAC,CAAA,SAAAA,CAAA,QAAAd,KAAA,QAAAK,UAAA,CAAAS,CAAA,OAAAd,KAAA,CAAAC,MAAA,KAAAA,MAAA,QAAA9B,MAAA,GAAA6B,KAAA,CAAAQ,UAAA,kBAAArC,MAAA,CAAApB,IAAA,QAAAmG,MAAA,GAAA/E,MAAA,CAAArB,GAAA,EAAAyD,aAAA,CAAAP,KAAA,YAAAkD,MAAA,gBAAArE,KAAA,8BAAAsE,aAAA,WAAAA,cAAAzC,QAAA,EAAAf,UAAA,EAAAE,OAAA,gBAAAd,QAAA,KAAAzD,QAAA,EAAAkC,MAAA,CAAAkD,QAAA,GAAAf,UAAA,EAAAA,UAAA,EAAAE,OAAA,EAAAA,OAAA,oBAAAjC,MAAA,UAAAd,GAAA,GAAA0C,SAAA,GAAAvC,gBAAA,OAAAzC,OAAA;AAAA,SAAA4I,mBAAAC,GAAA,EAAApF,OAAA,EAAAC,MAAA,EAAAoF,KAAA,EAAAC,MAAA,EAAAvI,GAAA,EAAA8B,GAAA,cAAA4C,IAAA,GAAA2D,GAAA,CAAArI,GAAA,EAAA8B,GAAA,OAAA5B,KAAA,GAAAwE,IAAA,CAAAxE,KAAA,WAAAuD,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAiB,IAAA,CAAAJ,IAAA,IAAArB,OAAA,CAAA/C,KAAA,YAAAwG,OAAA,CAAAzD,OAAA,CAAA/C,KAAA,EAAAqD,IAAA,CAAA+E,KAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAA3G,EAAA,6BAAAV,IAAA,SAAAsH,IAAA,GAAAC,SAAA,aAAAhC,OAAA,WAAAzD,OAAA,EAAAC,MAAA,QAAAmF,GAAA,GAAAxG,EAAA,CAAA8G,KAAA,CAAAxH,IAAA,EAAAsH,IAAA,YAAAH,MAAApI,KAAA,IAAAkI,kBAAA,CAAAC,GAAA,EAAApF,OAAA,EAAAC,MAAA,EAAAoF,KAAA,EAAAC,MAAA,UAAArI,KAAA,cAAAqI,OAAAxH,GAAA,IAAAqH,kBAAA,CAAAC,GAAA,EAAApF,OAAA,EAAAC,MAAA,EAAAoF,KAAA,EAAAC,MAAA,WAAAxH,GAAA,KAAAuH,KAAA,CAAA9D,SAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASoE,oBAAoB,EAAEC,mBAAmB,QAAQ,SAAS;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOC,SAAS,MAAM,YAAY,CAAC,CAAC;;AAEpC,SACEC,OAAO,QACF,UAAU;AACjB;AACA,SACEC,SAAS,EAAEC,WAAW,QACjB,UAAU;AACjB,SACEC,SAAS,IAAIC,gBAAgB,EAAEC,iBAAiB,EAAEC,sBAAsB,EAAEC,QAAQ,QAC7E,WAAW;AAClB,SACEJ,SAAS,IAAIK,kBAAkB,EAAEC,uBAAuB,EAAEC,qBAAqB,EAAEC,yBAAyB,QACrG,aAAa;AACpB,SAASC,qBAAqB,QAAQ,WAAW;AACjD,SACEC,0BAA0B,EAC1BV,SAAS,IAAIW,aAAa,EAC1BC,uBAAuB,EACvBC,sBAAsB,EACtBC,wBAAwB,EACxBC,oBAAoB,EACpBC,mBAAmB,QACd,QAAQ;AACf,SAAShB,SAAS,IAAIiB,aAAa,QAAQ,QAAQ;AACnD,SACEC,sBAAsB,EACtBC,sBAAsB,EACtBC,oBAAoB,EACpBC,oBAAoB,EACpBC,uBAAuB,EACvBC,yBAAyB,EACzBC,SAAS,EAAEC,cAAc,QACpB,aAAa;AACpB,OAAOC,cAAc,MAAM,yBAAyB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,OAAO,GAAI,OAAOC,MAAM,KAAK,WAAW,GACjDlC,oBAAoB,CAAC;EACrBmC,QAAQ,EAAE/B,SAAS,CAAC,CAAC,CAACgC;AACxB,CAAC,CAAC,GAAGnC,mBAAmB,CAAC,CAAC;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAsBoC,SAASA,CAAAC,EAAA;EAAA,OAAAC,UAAA,CAAAxC,KAAA,OAAAD,SAAA;AAAA;;AAI/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZA,SAAAyC,WAAA;EAAAA,UAAA,GAAA3C,iBAAA,eAAAjJ,mBAAA,GAAA8G,IAAA,CAJO,SAAA+E,SAAyB3H,KAAK;IAAA,OAAAlE,mBAAA,GAAAyB,IAAA,UAAAqK,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAApE,IAAA,GAAAoE,SAAA,CAAA1G,IAAA;QAAA;UACnC0E,QAAQ,CAAC7F,KAAK,CAAC;QAAC;QAAA;UAAA,OAAA6H,SAAA,CAAAjE,IAAA;MAAA;IAAA,GAAA+D,QAAA;EAAA,CACjB;EAAA,OAAAD,UAAA,CAAAxC,KAAA,OAAAD,SAAA;AAAA;AAeD,gBAAsB6C,IAAIA,CAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,KAAA,CAAA/C,KAAA,OAAAD,SAAA;AAAA;;AAe1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,SAAAgD,MAAA;EAAAA,KAAA,GAAAlD,iBAAA,eAAAjJ,mBAAA,GAAA8G,IAAA,CAfO,SAAAsF,SAAoBC,WAAW,EAAEC,WAAW;IAAA,OAAAtM,mBAAA,GAAAyB,IAAA,UAAA8K,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAA7E,IAAA,GAAA6E,SAAA,CAAAnH,IAAA;QAAA;UAAA,KAC7CgH,WAAW;YAAAG,SAAA,CAAAnH,IAAA;YAAA;UAAA;UAAAmH,SAAA,CAAAnH,IAAA;UAAA,OACPkF,uBAAuB,CAACkC,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAC;QAAA;UAAAH,SAAA,CAAAnH,IAAA;UAAA;QAAA;UAAAmH,SAAA,CAAAnH,IAAA;UAAA,OAE7CmF,sBAAsB,CAAC,CAAC;QAAA;UAGhC,IAAI8B,WAAW,IAAI5B,oBAAoB,CAAC,CAAC,KAAK,IAAI,EAAE;YAClD;YACA;YACA;YACAD,wBAAwB,CAAC,CAAC;UAC5B;QAAC;QAAA;UAAA,OAAA+B,SAAA,CAAA1E,IAAA;MAAA;IAAA,GAAAsE,QAAA;EAAA,CACF;EAAA,OAAAD,KAAA,CAAA/C,KAAA,OAAAD,SAAA;AAAA;AAAA,SAUcyD,YAAYA,CAAA;EAAA,OAAAC,aAAA,CAAAzD,KAAA,OAAAD,SAAA;AAAA;AAW3B;AACA;AACA;AACA;AACA;AAJA,SAAA0D,cAAA;EAAAA,aAAA,GAAA5D,iBAAA,eAAAjJ,mBAAA,GAAA8G,IAAA,CAXA,SAAAgG,SAAA;IAAA,IAAAC,MAAA;IAAA,OAAA/M,mBAAA,GAAAyB,IAAA,UAAAuL,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAtF,IAAA,GAAAsF,SAAA,CAAA5H,IAAA;QAAA;UACM0H,MAAM,GAAG,CAAC,CAAC;UAAA,MACX,OAAOxD,SAAS,KAAK,UAAU;YAAA0D,SAAA,CAAA5H,IAAA;YAAA;UAAA;UAAA4H,SAAA,CAAA5H,IAAA;UAAA,OAClBkE,SAAS,CAAC,CAAC;QAAA;UAA1BwD,MAAM,GAAAE,SAAA,CAAAtI,IAAA;UAAAsI,SAAA,CAAA5H,IAAA;UAAA;QAAA;UAEN0H,MAAM,GAAGxD,SAAS;QAAC;UAGrBG,WAAW,CAACqD,MAAM,CAAC;QAAC;QAAA;UAAA,OAAAE,SAAA,CAAAnF,IAAA;MAAA;IAAA,GAAAgF,QAAA;EAAA,CACrB;EAAA,OAAAD,aAAA,CAAAzD,KAAA,OAAAD,SAAA;AAAA;AAAA,SAOc+D,aAAaA,CAAA;EAAA,OAAAC,cAAA,CAAA/D,KAAA,OAAAD,SAAA;AAAA;AAAA,SAAAgE,eAAA;EAAAA,cAAA,GAAAlE,iBAAA,eAAAjJ,mBAAA,GAAA8G,IAAA,CAA5B,SAAAsG,SAAA;IAAA,IAAAC,UAAA,EAAAC,kBAAA,EAAAC,MAAA,EAAAC,SAAA,EAAAC,UAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAC,qBAAA,EAAAC,IAAA;IAAA,OAAA7N,mBAAA,GAAAyB,IAAA,UAAAqM,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAApG,IAAA,GAAAoG,SAAA,CAAA1I,IAAA;QAAA;UAAA0I,SAAA,CAAApG,IAAA;UAAA0F,UAAA,GAE2C5D,SAAS,CAAC,CAAC,EAA1C6D,kBAAkB,GAAAD,UAAA,CAAlBC,kBAAkB,EAAEC,MAAM,GAAAF,UAAA,CAANE,MAAM;UAAA,KAE9BD,kBAAkB;YAAAS,SAAA,CAAA1I,IAAA;YAAA;UAAA;UACdmI,SAAS,GAAG;YAAEQ,OAAO,EAAE;cAAEC,MAAM,EAAE;YAAmB;UAAE,CAAC;UAAAF,SAAA,CAAA1I,IAAA;UAAA,OACpCgG,cAAc,CAAC,CAAC;QAAA;UAAnCoC,UAAU,GAAAM,SAAA,CAAApJ,IAAA;UAEV+I,MAAM,GAAG,IAAIQ,eAAe,CAAC,CAAC;UACpCR,MAAM,CAACS,MAAM,CAAC,KAAK,EAAEZ,MAAM,CAAC;UACtBI,GAAG,MAAAS,MAAA,CAAMd,kBAAkB,OAAAc,MAAA,CAAIV,MAAM,CAACW,QAAQ,CAAC,CAAC;UAAAN,SAAA,CAAA1I,IAAA;UAAA,OAE/BoI,UAAU,CAACa,GAAG,CAACX,GAAG,EAAEH,SAAS,CAAC;QAAA;UAAAI,qBAAA,GAAAG,SAAA,CAAApJ,IAAA;UAA7CkJ,IAAI,GAAAD,qBAAA,CAAJC,IAAI;UACZnE,WAAW,CAACmE,IAAI,CAAC;QAAC;UAAAE,SAAA,CAAA1I,IAAA;UAAA;QAAA;UAAA0I,SAAA,CAAApG,IAAA;UAAAoG,SAAA,CAAAQ,EAAA,GAAAR,SAAA;UAGpB;UACAS,OAAO,CAACtK,KAAK,CAAC,uBAAuB,EAAE6J,SAAA,CAAAQ,EAAA,CAAME,OAAO,CAAC;QAAC;QAAA;UAAA,OAAAV,SAAA,CAAAjG,IAAA;MAAA;IAAA,GAAAsF,QAAA;EAAA,CAEzD;EAAA,OAAAD,cAAA,CAAA/D,KAAA,OAAAD,SAAA;AAAA;AAED,OAAO,SAASuF,mBAAmBA,CAACC,eAAe,EAAEd,IAAI,EAAE;EACzDc,eAAe,CAACvL,OAAO,CAAC,UAAAwL,cAAc,EAAI;IACxC,IAAMC,MAAM,GAAG,IAAID,cAAc,CAACf,IAAI,CAAC;IACvCgB,MAAM,CAACC,UAAU,CAAC,CAAC;EACrB,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAsBC,SAASA,CAAA;EAAA,OAAAC,UAAA,CAAA5F,KAAA,OAAAD,SAAA;AAAA;AAO9B,SAAA6F,WAAA;EAAAA,UAAA,GAAA/F,iBAAA,eAAAjJ,mBAAA,GAAA8G,IAAA,CAPM,SAAAmI,SAAA;IAAA,IAAAC,iBAAA;IAAA,OAAAlP,mBAAA,GAAAyB,IAAA,UAAA0N,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAzH,IAAA,GAAAyH,SAAA,CAAA/J,IAAA;QAAA;UACC6J,iBAAiB,GAAGxE,oBAAoB,CAAC,CAAC;UAAA,MAC5CwE,iBAAiB,IAAIA,iBAAiB,CAACG,MAAM;YAAAD,SAAA,CAAA/J,IAAA;YAAA;UAAA;UAC/C8E,yBAAyB,CAAC+E,iBAAiB,CAACG,MAAM,CAAC;UAACD,SAAA,CAAA/J,IAAA;UAAA;QAAA;UAAA+J,SAAA,CAAA/J,IAAA;UAAA,OAE9C6E,qBAAqB,CAAC,CAAC;QAAA;QAAA;UAAA,OAAAkF,SAAA,CAAAtH,IAAA;MAAA;IAAA,GAAAmH,QAAA;EAAA,CAEhC;EAAA,OAAAD,UAAA,CAAA5F,KAAA,OAAAD,SAAA;AAAA;AAED,SAASmG,qBAAqBA,CAACC,SAAS,EAAE;EACxC,IAAMC,IAAI;IAAA,IAAAC,IAAA,GAAAxG,iBAAA,eAAAjJ,mBAAA,GAAA8G,IAAA,CAAG,SAAA4I,QAAA;MAAA,OAAA1P,mBAAA,GAAAyB,IAAA,UAAAkO,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAjI,IAAA,GAAAiI,QAAA,CAAAvK,IAAA;UAAA;UAAA;YAAA,OAAAuK,QAAA,CAAA9H,IAAA;QAAA;MAAA,GAAA4H,OAAA;IAAA,CAAe;IAAA,gBAAtBF,IAAIA,CAAA;MAAA,OAAAC,IAAA,CAAArG,KAAA,OAAAD,SAAA;IAAA;EAAA,GAAkB;EAC5B,OAAA0G,aAAA;IACEC,MAAM,EAAEN,IAAI;IACZzC,MAAM,EAAEyC,IAAI;IACZO,OAAO,EAAEP,IAAI;IACbxD,IAAI,EAAJA,IAAI;IACJ+C,SAAS,EAATA,SAAS;IACTiB,IAAI,EAAER,IAAI;IACVS,KAAK,EAAET,IAAI;IACX9D,SAAS,EAATA;EAAS,GACN6D,SAAS;AAEhB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAsBW,UAAUA,CAAAC,GAAA;EAAA,OAAAC,WAAA,CAAAhH,KAAA,OAAAD,SAAA;AAAA;AAiF/B,SAAAiH,YAAA;EAAAA,WAAA,GAAAnH,iBAAA,eAAAjJ,mBAAA,GAAA8G,IAAA,CAjFM,SAAAuJ,SAAAC,KAAA;IAAA,IAAAC,oBAAA,EAAAC,cAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,iBAAA,EAAAC,WAAA,EAAAC,oBAAA,EAAAC,cAAA,EAAAC,qBAAA,EAAApC,eAAA,EAAAqC,qBAAA,EAAA3E,WAAA,EAAA4E,qBAAA,EAAA3E,WAAA,EAAA4E,QAAA,EAAAC,cAAA,EAAAC,gBAAA,EAAAC,QAAA,EAAAC,kBAAA,EAAAC,oBAAA,EAAAC,eAAA;IAAA,OAAAxR,mBAAA,GAAAyB,IAAA,UAAAgQ,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAA/J,IAAA,GAAA+J,SAAA,CAAArM,IAAA;QAAA;UAAAkL,oBAAA,GAAAD,KAAA,CACLE,cAAc,EAAdA,cAAc,GAAAD,oBAAA,cAAGzG,sBAAsB,GAAAyG,oBAAA,EAAAE,qBAAA,GAAAH,KAAA,CACvCI,gBAAgB,EAAhBA,gBAAgB,GAAAD,qBAAA,cAAGxG,uBAAuB,GAAAwG,qBAAA,EAAAE,iBAAA,GAAAL,KAAA,CAC1CM,WAAW,EAAXA,WAAW,GAAAD,iBAAA,cAAGhG,mBAAmB,GAAAgG,iBAAA,EAAAE,oBAAA,GAAAP,KAAA,CACjCQ,cAAc,EAAdA,cAAc,GAAAD,oBAAA,cAAG,EAAE,GAAAA,oBAAA,EAAAE,qBAAA,GAAAT,KAAA,CACnB3B,eAAe,EAAfA,eAAe,GAAAoC,qBAAA,cAAG,CAAC3G,qBAAqB,CAAC,GAAA2G,qBAAA,EAAAC,qBAAA,GAAAV,KAAA,CACzCqB,wBAAwB,EAAEtF,WAAW,GAAA2E,qBAAA,cAAG,KAAK,GAAAA,qBAAA,EAAAC,qBAAA,GAAAX,KAAA,CAC7C7F,wBAAwB,EAAE6B,WAAW,GAAA2E,qBAAA,cAAG,KAAK,GAAAA,qBAAA,EAC7CC,QAAQ,GAAAZ,KAAA,CAARY,QAAQ,EAAAC,cAAA,GAAAb,KAAA,CACRe,QAAQ,EAAED,gBAAgB,GAAAD,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;UAEzBE,QAAQ,GAAG/B,qBAAqB,CAAC8B,gBAAgB,CAAC;UAAAM,SAAA,CAAA/J,IAAA;UAAA+J,SAAA,CAAArM,IAAA;UAAA,OAGhDgM,QAAQ,CAACvB,MAAM,CAAC,CAAC;QAAA;UACvBtG,OAAO,CAACqB,sBAAsB,CAAC;;UAE/B;UAAA6G,SAAA,CAAArM,IAAA;UAAA,OACMgM,QAAQ,CAACtE,MAAM,CAAC,CAAC;QAAA;UAAA2E,SAAA,CAAArM,IAAA;UAAA,OACjBuH,YAAY,CAAC,CAAC;QAAA;UAAA8E,SAAA,CAAArM,IAAA;UAAA,OACd6H,aAAa,CAAC,CAAC;QAAA;UACrB1D,OAAO,CAACsB,sBAAsB,CAAC;UAE/B4D,mBAAmB,CAACC,eAAe,EAAE;YACnC5B,MAAM,EAAEtD,SAAS,CAAC;UACpB,CAAC,CAAC;;UAEF;UACA;UACA;UACA;UACA;UACM6H,kBAAkB,GAAG7H,SAAS,CAAC,CAAC,CAAC+G,cAAc,IAAIA,cAAc;UACjEe,oBAAoB,GAAG9H,SAAS,CAAC,CAAC,CAACiH,gBAAgB,IAAIA,gBAAgB;UACvEc,eAAe,GAAG/H,SAAS,CAAC,CAAC,CAACmH,WAAW,IAAIA,WAAW,EAE9D;UACAhH,gBAAgB,CAAC0H,kBAAkB,EAAE;YACnCvE,MAAM,EAAEtD,SAAS,CAAC;UACpB,CAAC,CAAC;UAACiI,SAAA,CAAArM,IAAA;UAAA,OACGgM,QAAQ,CAACtB,OAAO,CAAC,CAAC;QAAA;UACxBvG,OAAO,CAACyB,uBAAuB,CAAC;;UAEhC;UACAX,aAAa,CAACkH,eAAe,EAAE;YAC7BhB,cAAc,EAAE3G,iBAAiB,CAAC,CAAC;YACnCkD,MAAM,EAAEtD,SAAS,CAAC,CAAC;YACnBmI,UAAU,EAAEd;UACd,CAAC,CAAC;UAACY,SAAA,CAAArM,IAAA;UAAA,OAEGgM,QAAQ,CAACrF,IAAI,CAACK,WAAW,EAAEC,WAAW,CAAC;QAAA;UAC7C9C,OAAO,CAACuB,oBAAoB,CAAC;;UAE7B;UACAf,kBAAkB,CAACuH,oBAAoB,EAAE;YACvCxE,MAAM,EAAEtD,SAAS,CAAC,CAAC;YACnB+G,cAAc,EAAE3G,iBAAiB,CAAC,CAAC;YACnCgI,UAAU,EAAExH,0BAA0B,CAAC;UACzC,CAAC,CAAC;UAACqH,SAAA,CAAArM,IAAA;UAAA,OACGgM,QAAQ,CAACtC,SAAS,CAAC,CAAC;QAAA;UAC1BvF,OAAO,CAAC0B,yBAAyB,CAAC;;UAElC;UACAN,aAAa,CAAC;YACZsG,QAAQ,EAARA,QAAQ;YACRnE,MAAM,EAAEtD,SAAS,CAAC,CAAC;YACnB+G,cAAc,EAAE3G,iBAAiB,CAAC;UACpC,CAAC,CAAC;UAAC6H,SAAA,CAAArM,IAAA;UAAA,OACGgM,QAAQ,CAACrB,IAAI,CAAC,CAAC;QAAA;UACrBxG,OAAO,CAACwB,oBAAoB,CAAC;;UAE7B;UAAA0G,SAAA,CAAArM,IAAA;UAAA,OACMgM,QAAQ,CAACpB,KAAK,CAAC,CAAC;QAAA;UACtBzG,OAAO,CAAC2B,SAAS,CAAC;UAACuG,SAAA,CAAArM,IAAA;UAAA;QAAA;UAAAqM,SAAA,CAAA/J,IAAA;UAAA+J,SAAA,CAAAnD,EAAA,GAAAmD,SAAA;UAAA,IAEdA,SAAA,CAAAnD,EAAA,CAAMuD,aAAa;YAAAJ,SAAA,CAAArM,IAAA;YAAA;UAAA;UAAAqM,SAAA,CAAArM,IAAA;UAAA,OAEhBgM,QAAQ,CAAC3F,SAAS,CAAAgG,SAAA,CAAAnD,EAAM,CAAC;QAAA;UAC/B/E,OAAO,CAAC4B,cAAc,EAAAsG,SAAA,CAAAnD,EAAO,CAAC;QAAC;QAAA;UAAA,OAAAmD,SAAA,CAAA5J,IAAA;MAAA;IAAA,GAAAuI,QAAA;EAAA,CAGpC;EAAA,OAAAD,WAAA,CAAAhH,KAAA,OAAAD,SAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"initialize.js","names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","createBrowserHistory","createMemoryHistory","envConfig","publish","getConfig","mergeConfig","configure","configureLogging","getLoggingService","NewRelicLoggingService","logError","configureAnalytics","SegmentAnalyticsService","identifyAnonymousUser","identifyAuthenticatedUser","GoogleAnalyticsLoader","getAuthenticatedHttpClient","configureAuth","ensureAuthenticatedUser","fetchAuthenticatedUser","hydrateAuthenticatedUser","getAuthenticatedUser","AxiosJwtAuthService","configureI18n","APP_PUBSUB_INITIALIZED","APP_CONFIG_INITIALIZED","APP_AUTH_INITIALIZED","APP_I18N_INITIALIZED","APP_LOGGING_INITIALIZED","APP_ANALYTICS_INITIALIZED","APP_READY","APP_INIT_ERROR","configureCache","history","window","basename","PUBLIC_PATH","initError","_x","_initError","_callee2","_callee2$","_context2","auth","_x2","_x3","_auth","_callee3","requireUser","hydrateUser","_callee3$","_context3","global","location","href","jsFileConfig","_jsFileConfig","_callee4","config","_callee4$","_context4","runtimeConfig","_runtimeConfig","_callee5","_getConfig","MFE_CONFIG_API_URL","APP_ID","apiConfig","apiService","params","url","_yield$apiService$get","data","_callee5$","_context5","headers","accept","URLSearchParams","append","concat","toString","get","t0","console","message","loadExternalScripts","externalScripts","ExternalScript","script","loadScript","analytics","_analytics","_callee6","authenticatedUser","_callee6$","_context6","userId","applyOverrideHandlers","overrides","noOp","_ref","_callee","_callee$","_context","_objectSpread","pubSub","logging","i18n","ready","initialize","_x4","_initialize","_callee7","_ref2","_ref2$loggingService","loggingService","_ref2$analyticsServic","analyticsService","_ref2$authService","authService","_ref2$authMiddleware","authMiddleware","_ref2$externalScripts","_ref2$requireAuthenti","_ref2$hydrateAuthenti","messages","_ref2$handlers","overrideHandlers","handlers","loggingServiceImpl","analyticsServiceImpl","authServiceImpl","_callee7$","_context7","requireAuthenticatedUser","middleware","httpClient","isRedirecting"],"sources":["../src/initialize.js"],"sourcesContent":["/**\n * #### Import members from **@edx/frontend-platform**\n *\n * The initialization module provides a function for managing an application's initialization\n * lifecycle. It also provides constants and default handler implementations.\n *\n * ```\n * import {\n * initialize,\n * APP_INIT_ERROR,\n * APP_READY,\n * subscribe,\n * } from '@edx/frontend-platform';\n * import { AppProvider, ErrorPage, PageWrap } from '@edx/frontend-platform/react';\n * import React from 'react';\n * import ReactDOM from 'react-dom';\n * import { Routes, Route } from 'react-router-dom';\n *\n * subscribe(APP_READY, () => {\n * ReactDOM.render(\n * <AppProvider store={configureStore()}>\n * <Header />\n * <main>\n * <Routes>\n * <Route path=\"/\" element={<PageWrap><PaymentPage /></PageWrap>} />\n * </Routes>\n * </main>\n * <Footer />\n * </AppProvider>,\n * document.getElementById('root'),\n * );\n * });\n *\n * subscribe(APP_INIT_ERROR, (error) => {\n * ReactDOM.render(<ErrorPage message={error.message} />, document.getElementById('root'));\n * });\n *\n * initialize({\n * messages: [appMessages],\n * requireAuthenticatedUser: true,\n * hydrateAuthenticatedUser: true,\n * });\n\n```\n * @module Initialization\n */\n\nimport { createBrowserHistory, createMemoryHistory } from 'history';\n/*\nThis 'env.config' package is a special 'magic' alias in our webpack configuration in frontend-build.\nIt points at an `env.config.js` file in the root of an MFE's repository if it exists and falls back\nto an empty object `{}` if the file doesn't exist. This acts like an 'optional' import, in a sense.\nNote that the env.config.js file in frontend-platform's root directory is NOT used by the actual\ninitialization code, it's just there for the test suite and example application.\n*/\nimport envConfig from 'env.config'; // eslint-disable-line import/no-unresolved\n\nimport {\n publish,\n} from './pubSub';\n// eslint-disable-next-line import/no-cycle\nimport {\n getConfig, mergeConfig,\n} from './config';\nimport {\n configure as configureLogging, getLoggingService, NewRelicLoggingService, logError,\n} from './logging';\nimport {\n configure as configureAnalytics, SegmentAnalyticsService, identifyAnonymousUser, identifyAuthenticatedUser,\n} from './analytics';\nimport { GoogleAnalyticsLoader } from './scripts';\nimport {\n getAuthenticatedHttpClient,\n configure as configureAuth,\n ensureAuthenticatedUser,\n fetchAuthenticatedUser,\n hydrateAuthenticatedUser,\n getAuthenticatedUser,\n AxiosJwtAuthService,\n} from './auth';\nimport { configure as configureI18n } from './i18n';\nimport {\n APP_PUBSUB_INITIALIZED,\n APP_CONFIG_INITIALIZED,\n APP_AUTH_INITIALIZED,\n APP_I18N_INITIALIZED,\n APP_LOGGING_INITIALIZED,\n APP_ANALYTICS_INITIALIZED,\n APP_READY, APP_INIT_ERROR,\n} from './constants';\nimport configureCache from './auth/LocalForageCache';\n\n/**\n * A browser history or memory history object created by the [history](https://github.com/ReactTraining/history)\n * package. Applications are encouraged to use this history object, rather than creating their own,\n * as behavior may be undefined when managing history via multiple mechanisms/instances. Note that\n * in environments where browser history may be inaccessible due to `window` being undefined, this\n * falls back to memory history.\n */\nexport const history = (typeof window !== 'undefined')\n ? createBrowserHistory({\n basename: getConfig().PUBLIC_PATH,\n }) : createMemoryHistory();\n\n/**\n * The default handler for the initialization lifecycle's `initError` phase. Logs the error to the\n * LoggingService using `logError`\n *\n * @see {@link module:frontend-platform/logging~logError}\n * @param {*} error\n */\nexport async function initError(error) {\n logError(error);\n}\n\n/**\n * The default handler for the initialization lifecycle's `auth` phase.\n *\n * The handler has several responsibilities:\n * - Determining the user's authentication state (authenticated or anonymous)\n * - Optionally redirecting to login if the application requires an authenticated user.\n * - Optionally loading additional user information via the application's user account data\n * endpoint.\n *\n * @param {boolean} requireUser Whether or not we should redirect to login if a user is not\n * authenticated.\n * @param {boolean} hydrateUser Whether or not we should fetch additional user account data.\n */\nexport async function auth(requireUser, hydrateUser) {\n if (requireUser) {\n await ensureAuthenticatedUser(global.location.href);\n } else {\n await fetchAuthenticatedUser();\n }\n\n if (hydrateUser && getAuthenticatedUser() !== null) {\n // We intentionally do not await the promise returned by hydrateAuthenticatedUser. All the\n // critical data is returned as part of fetch/ensureAuthenticatedUser above, and anything else\n // is a nice-to-have for application code.\n hydrateAuthenticatedUser();\n }\n}\n\n/**\n * Set or overrides configuration via an env.config.js file in the consuming application.\n * This env.config.js is loaded at runtime and must export one of two things:\n *\n * - An object which will be merged into the application config via `mergeConfig`.\n * - A function which returns an object which will be merged into the application config via\n * `mergeConfig`. This function can return a promise.\n */\nasync function jsFileConfig() {\n let config = {};\n if (typeof envConfig === 'function') {\n config = await envConfig();\n } else {\n config = envConfig;\n }\n\n mergeConfig(config);\n}\n\n/*\n * Set or overrides configuration through an API.\n * This method allows runtime configuration.\n * Set a basic configuration when an error happen and allow initError and display the ErrorPage.\n */\nasync function runtimeConfig() {\n try {\n const { MFE_CONFIG_API_URL, APP_ID } = getConfig();\n\n if (MFE_CONFIG_API_URL) {\n const apiConfig = { headers: { accept: 'application/json' } };\n const apiService = await configureCache();\n\n const params = new URLSearchParams();\n params.append('mfe', APP_ID);\n const url = `${MFE_CONFIG_API_URL}?${params.toString()}`;\n\n const { data } = await apiService.get(url, apiConfig);\n mergeConfig(data);\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error with config API', error.message);\n }\n}\n\nexport function loadExternalScripts(externalScripts, data) {\n externalScripts.forEach(ExternalScript => {\n const script = new ExternalScript(data);\n script.loadScript();\n });\n}\n\n/**\n * The default handler for the initialization lifecycle's `analytics` phase.\n *\n * The handler is responsible for identifying authenticated and anonymous users with the analytics\n * service. This is a pre-requisite for sending analytics events, thus, we do it during the\n * initialization sequence so that analytics is ready once the application's UI code starts to load.\n *\n */\nexport async function analytics() {\n const authenticatedUser = getAuthenticatedUser();\n if (authenticatedUser && authenticatedUser.userId) {\n identifyAuthenticatedUser(authenticatedUser.userId);\n } else {\n await identifyAnonymousUser();\n }\n}\n\nfunction applyOverrideHandlers(overrides) {\n const noOp = async () => { };\n return {\n pubSub: noOp,\n config: noOp,\n logging: noOp,\n auth,\n analytics,\n i18n: noOp,\n ready: noOp,\n initError,\n ...overrides, // This will override any same-keyed handlers from above.\n };\n}\n\n/**\n * Invokes the application initialization sequence.\n *\n * The sequence proceeds through a number of lifecycle phases, during which pertinent services are\n * configured.\n *\n * Using the `handlers` option, lifecycle phase handlers can be overridden to perform custom\n * functionality. Note that while these override handlers _do_ replace the default handler\n * functionality for analytics, auth, and initError (the other phases have no default\n * functionality), they do _not_ override the configuration of the actual services that those\n * handlers leverage.\n *\n * Some services can be overridden via the loggingService and analyticsService options. The other\n * services (auth and i18n) cannot currently be overridden.\n *\n * The following lifecycle phases exist:\n *\n * - pubSub: A no-op by default.\n * - config: A no-op by default.\n * - logging: A no-op by default.\n * - auth: Uses the 'auth' handler defined above.\n * - analytics: Uses the 'analytics' handler defined above.\n * - i18n: A no-op by default.\n * - ready: A no-op by default.\n * - initError: Uses the 'initError' handler defined above.\n *\n * @param {Object} [options]\n * @param {*} [options.loggingService=NewRelicLoggingService] The `LoggingService` implementation\n * to use.\n * @param {*} [options.analyticsService=SegmentAnalyticsService] The `AnalyticsService`\n * implementation to use.\n * @param {*} [options.authMiddleware=[]] An array of middleware to apply to http clients in the auth service.\n * @param {*} [options.externalScripts=[GoogleAnalyticsLoader]] An array of externalScripts.\n * By default added GoogleAnalyticsLoader.\n * @param {*} [options.requireAuthenticatedUser=false] If true, turns on automatic login\n * redirection for unauthenticated users. Defaults to false, meaning that by default the\n * application will allow anonymous/unauthenticated sessions.\n * @param {*} [options.hydrateAuthenticatedUser=false] If true, makes an API call to the user\n * account endpoint (`${App.config.LMS_BASE_URL}/api/user/v1/accounts/${username}`) to fetch\n * detailed account information for the authenticated user. This data is merged into the return\n * value of `getAuthenticatedUser`, overriding any duplicate keys that already exist. Defaults to\n * false, meaning that no additional account information will be loaded.\n * @param {*} [options.messages] A i18n-compatible messages object, or an array of such objects. If\n * an array is provided, duplicate keys are resolved with the last-one-in winning.\n * @param {*} [options.handlers={}] An optional object of handlers which can be used to replace the\n * default behavior of any part of the startup sequence. It can also be used to add additional\n * initialization behavior before or after the rest of the sequence.\n */\nexport async function initialize({\n loggingService = NewRelicLoggingService,\n analyticsService = SegmentAnalyticsService,\n authService = AxiosJwtAuthService,\n authMiddleware = [],\n externalScripts = [GoogleAnalyticsLoader],\n requireAuthenticatedUser: requireUser = false,\n hydrateAuthenticatedUser: hydrateUser = false,\n messages,\n handlers: overrideHandlers = {},\n}) {\n const handlers = applyOverrideHandlers(overrideHandlers);\n try {\n // Pub/Sub\n await handlers.pubSub();\n publish(APP_PUBSUB_INITIALIZED);\n\n // Configuration\n await handlers.config();\n await jsFileConfig();\n await runtimeConfig();\n publish(APP_CONFIG_INITIALIZED);\n\n loadExternalScripts(externalScripts, {\n config: getConfig(),\n });\n\n // This allows us to replace the implementations of the logging, analytics, and auth services\n // based on keys in the ConfigDocument. The JavaScript File Configuration method is the only\n // one capable of supplying an alternate implementation since it can import other modules.\n // If a service wasn't supplied we fall back to the default parameters on the initialize\n // function signature.\n const loggingServiceImpl = getConfig().loggingService || loggingService;\n const analyticsServiceImpl = getConfig().analyticsService || analyticsService;\n const authServiceImpl = getConfig().authService || authService;\n\n // Logging\n configureLogging(loggingServiceImpl, {\n config: getConfig(),\n });\n await handlers.logging();\n publish(APP_LOGGING_INITIALIZED);\n\n // Authentication\n configureAuth(authServiceImpl, {\n loggingService: getLoggingService(),\n config: getConfig(),\n middleware: authMiddleware,\n });\n\n await handlers.auth(requireUser, hydrateUser);\n publish(APP_AUTH_INITIALIZED);\n\n // Analytics\n configureAnalytics(analyticsServiceImpl, {\n config: getConfig(),\n loggingService: getLoggingService(),\n httpClient: getAuthenticatedHttpClient(),\n });\n await handlers.analytics();\n publish(APP_ANALYTICS_INITIALIZED);\n\n // Internationalization\n configureI18n({\n messages,\n config: getConfig(),\n loggingService: getLoggingService(),\n });\n await handlers.i18n();\n publish(APP_I18N_INITIALIZED);\n\n // Application Ready\n await handlers.ready();\n publish(APP_READY);\n } catch (error) {\n if (!error.isRedirecting) {\n // Initialization Error\n await handlers.initError(error);\n publish(APP_INIT_ERROR, error);\n }\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@edx/frontend-platform",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "Foundational application framework for Open edX micro-frontend applications.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@edx/brand": "npm:@edx/brand-openedx@1.2.0",
|
|
36
36
|
"@edx/browserslist-config": "1.2.0",
|
|
37
|
-
"@edx/frontend-build": "12.9.
|
|
37
|
+
"@edx/frontend-build": "12.9.4",
|
|
38
38
|
"@edx/paragon": "^20.44.0",
|
|
39
39
|
"@testing-library/react-hooks": "^8.0.1",
|
|
40
40
|
"@wojtekmaj/enzyme-adapter-react-17": "0.8.0",
|
|
@@ -43,14 +43,14 @@
|
|
|
43
43
|
"enzyme": "3.11.0",
|
|
44
44
|
"husky": "8.0.3",
|
|
45
45
|
"jsdoc": "^4.0.0",
|
|
46
|
-
"nodemon": "
|
|
46
|
+
"nodemon": "3.0.1",
|
|
47
47
|
"prop-types": "15.8.1",
|
|
48
48
|
"react": "17.0.2",
|
|
49
49
|
"react-dom": "17.0.2",
|
|
50
50
|
"react-redux": "7.2.9",
|
|
51
|
-
"react-router-dom": "
|
|
51
|
+
"react-router-dom": "^6.6.1",
|
|
52
52
|
"redux": "4.2.1",
|
|
53
|
-
"regenerator-runtime": "0.
|
|
53
|
+
"regenerator-runtime": "0.14.0"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"@cospired/i18n-iso-languages": "4.1.0",
|
|
@@ -75,12 +75,12 @@
|
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
77
|
"@edx/frontend-build": ">= 8.1.0 || ^12.9.0-alpha.1",
|
|
78
|
-
"@edx/paragon": ">= 10.0.0 <
|
|
78
|
+
"@edx/paragon": ">= 10.0.0 < 22.0.0",
|
|
79
79
|
"prop-types": "^15.7.2",
|
|
80
80
|
"react": "^16.9.0 || ^17.0.0",
|
|
81
81
|
"react-dom": "^16.9.0 || ^17.0.0",
|
|
82
82
|
"react-redux": "^7.1.1",
|
|
83
|
-
"react-router-dom": "^
|
|
83
|
+
"react-router-dom": "^6.0.0",
|
|
84
84
|
"redux": "^4.0.4"
|
|
85
85
|
}
|
|
86
86
|
}
|
package/react/AppProvider.js
CHANGED
|
@@ -6,7 +6,7 @@ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefine
|
|
|
6
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
7
|
import React, { useState, useMemo } from 'react';
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
|
-
import { Router } from 'react-router-dom';
|
|
9
|
+
import { BrowserRouter as Router } from 'react-router-dom';
|
|
10
10
|
import OptionalReduxProvider from './OptionalReduxProvider';
|
|
11
11
|
import ErrorBoundary from './ErrorBoundary';
|
|
12
12
|
import AppContext from './AppContext';
|
|
@@ -14,7 +14,6 @@ import { useAppEvent, useTrackColorSchemeChoice } from './hooks';
|
|
|
14
14
|
import { getAuthenticatedUser, AUTHENTICATED_USER_CHANGED } from '../auth';
|
|
15
15
|
import { getConfig } from '../config';
|
|
16
16
|
import { CONFIG_CHANGED } from '../constants';
|
|
17
|
-
import { history } from '../initialize';
|
|
18
17
|
import { getLocale, getMessages, IntlProvider, LOCALE_CHANGED } from '../i18n';
|
|
19
18
|
|
|
20
19
|
/**
|
|
@@ -45,7 +44,8 @@ import { getLocale, getMessages, IntlProvider, LOCALE_CHANGED } from '../i18n';
|
|
|
45
44
|
*/
|
|
46
45
|
export default function AppProvider(_ref) {
|
|
47
46
|
var store = _ref.store,
|
|
48
|
-
children = _ref.children
|
|
47
|
+
children = _ref.children,
|
|
48
|
+
wrapWithRouter = _ref.wrapWithRouter;
|
|
49
49
|
var _useState = useState(getConfig()),
|
|
50
50
|
_useState2 = _slicedToArray(_useState, 2),
|
|
51
51
|
config = _useState2[0],
|
|
@@ -82,16 +82,16 @@ export default function AppProvider(_ref) {
|
|
|
82
82
|
value: appContextValue
|
|
83
83
|
}, /*#__PURE__*/React.createElement(OptionalReduxProvider, {
|
|
84
84
|
store: store
|
|
85
|
-
}, /*#__PURE__*/React.createElement(Router,
|
|
86
|
-
history: history
|
|
87
|
-
}, children)))));
|
|
85
|
+
}, wrapWithRouter ? /*#__PURE__*/React.createElement(Router, null, children) : children))));
|
|
88
86
|
}
|
|
89
87
|
AppProvider.propTypes = {
|
|
90
88
|
// eslint-disable-next-line react/forbid-prop-types
|
|
91
89
|
store: PropTypes.object,
|
|
92
|
-
children: PropTypes.node.isRequired
|
|
90
|
+
children: PropTypes.node.isRequired,
|
|
91
|
+
wrapWithRouter: PropTypes.bool
|
|
93
92
|
};
|
|
94
93
|
AppProvider.defaultProps = {
|
|
95
|
-
store: null
|
|
94
|
+
store: null,
|
|
95
|
+
wrapWithRouter: true
|
|
96
96
|
};
|
|
97
97
|
//# sourceMappingURL=AppProvider.js.map
|
package/react/AppProvider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppProvider.js","names":["React","useState","useMemo","PropTypes","Router","OptionalReduxProvider","ErrorBoundary","AppContext","useAppEvent","useTrackColorSchemeChoice","getAuthenticatedUser","AUTHENTICATED_USER_CHANGED","getConfig","CONFIG_CHANGED","
|
|
1
|
+
{"version":3,"file":"AppProvider.js","names":["React","useState","useMemo","PropTypes","BrowserRouter","Router","OptionalReduxProvider","ErrorBoundary","AppContext","useAppEvent","useTrackColorSchemeChoice","getAuthenticatedUser","AUTHENTICATED_USER_CHANGED","getConfig","CONFIG_CHANGED","getLocale","getMessages","IntlProvider","LOCALE_CHANGED","AppProvider","_ref","store","children","wrapWithRouter","_useState","_useState2","_slicedToArray","config","setConfig","_useState3","_useState4","authenticatedUser","setAuthenticatedUser","_useState5","_useState6","locale","setLocale","appContextValue","createElement","messages","Provider","value","propTypes","object","node","isRequired","bool","defaultProps"],"sources":["../../src/react/AppProvider.jsx"],"sourcesContent":["import React, { useState, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { BrowserRouter as Router } from 'react-router-dom';\n\nimport OptionalReduxProvider from './OptionalReduxProvider';\n\nimport ErrorBoundary from './ErrorBoundary';\nimport AppContext from './AppContext';\nimport { useAppEvent, useTrackColorSchemeChoice } from './hooks';\nimport { getAuthenticatedUser, AUTHENTICATED_USER_CHANGED } from '../auth';\nimport { getConfig } from '../config';\nimport { CONFIG_CHANGED } from '../constants';\nimport {\n getLocale,\n getMessages,\n IntlProvider,\n LOCALE_CHANGED,\n} from '../i18n';\n\n/**\n * A wrapper component for React-based micro-frontends to initialize a number of common data/\n * context providers.\n *\n * ```\n * subscribe(APP_READY, () => {\n * ReactDOM.render(\n * <AppProvider>\n * <HelloWorld />\n * </AppProvider>\n * )\n * });\n * ```\n *\n * This will provide the following to HelloWorld:\n * - An error boundary as described above.\n * - An `AppContext` provider for React context data.\n * - IntlProvider for @edx/frontend-i18n internationalization\n * - Optionally a redux `Provider`. Will only be included if a `store` property is passed to\n * `AppProvider`.\n * - A `Router` for react-router.\n *\n * @param {Object} props\n * @param {Object} [props.store] A redux store.\n * @memberof module:React\n */\nexport default function AppProvider({ store, children, wrapWithRouter }) {\n const [config, setConfig] = useState(getConfig());\n const [authenticatedUser, setAuthenticatedUser] = useState(getAuthenticatedUser());\n const [locale, setLocale] = useState(getLocale());\n\n useTrackColorSchemeChoice();\n\n useAppEvent(AUTHENTICATED_USER_CHANGED, () => {\n setAuthenticatedUser(getAuthenticatedUser());\n });\n\n useAppEvent(CONFIG_CHANGED, () => {\n setConfig(getConfig());\n });\n\n useAppEvent(LOCALE_CHANGED, () => {\n setLocale(getLocale());\n });\n\n const appContextValue = useMemo(() => ({ authenticatedUser, config, locale }), [authenticatedUser, config, locale]);\n\n return (\n <IntlProvider locale={locale} messages={getMessages()}>\n <ErrorBoundary>\n <AppContext.Provider\n value={appContextValue}\n >\n <OptionalReduxProvider store={store}>\n {wrapWithRouter ? (\n <Router>\n {children}\n </Router>\n ) : children}\n </OptionalReduxProvider>\n </AppContext.Provider>\n </ErrorBoundary>\n </IntlProvider>\n );\n}\n\nAppProvider.propTypes = {\n // eslint-disable-next-line react/forbid-prop-types\n store: PropTypes.object,\n children: PropTypes.node.isRequired,\n wrapWithRouter: PropTypes.bool,\n};\n\nAppProvider.defaultProps = {\n store: null,\n wrapWithRouter: true,\n};\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,OAAO,QAAQ,OAAO;AAChD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,aAAa,IAAIC,MAAM,QAAQ,kBAAkB;AAE1D,OAAOC,qBAAqB,MAAM,yBAAyB;AAE3D,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,SAASC,WAAW,EAAEC,yBAAyB,QAAQ,SAAS;AAChE,SAASC,oBAAoB,EAAEC,0BAA0B,QAAQ,SAAS;AAC1E,SAASC,SAAS,QAAQ,WAAW;AACrC,SAASC,cAAc,QAAQ,cAAc;AAC7C,SACEC,SAAS,EACTC,WAAW,EACXC,YAAY,EACZC,cAAc,QACT,SAAS;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,WAAWA,CAAAC,IAAA,EAAsC;EAAA,IAAnCC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,cAAc,GAAAH,IAAA,CAAdG,cAAc;EACnE,IAAAC,SAAA,GAA4BvB,QAAQ,CAACY,SAAS,CAAC,CAAC,CAAC;IAAAY,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAA1CG,MAAM,GAAAF,UAAA;IAAEG,SAAS,GAAAH,UAAA;EACxB,IAAAI,UAAA,GAAkD5B,QAAQ,CAACU,oBAAoB,CAAC,CAAC,CAAC;IAAAmB,UAAA,GAAAJ,cAAA,CAAAG,UAAA;IAA3EE,iBAAiB,GAAAD,UAAA;IAAEE,oBAAoB,GAAAF,UAAA;EAC9C,IAAAG,UAAA,GAA4BhC,QAAQ,CAACc,SAAS,CAAC,CAAC,CAAC;IAAAmB,UAAA,GAAAR,cAAA,CAAAO,UAAA;IAA1CE,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EAExBxB,yBAAyB,CAAC,CAAC;EAE3BD,WAAW,CAACG,0BAA0B,EAAE,YAAM;IAC5CoB,oBAAoB,CAACrB,oBAAoB,CAAC,CAAC,CAAC;EAC9C,CAAC,CAAC;EAEFF,WAAW,CAACK,cAAc,EAAE,YAAM;IAChCc,SAAS,CAACf,SAAS,CAAC,CAAC,CAAC;EACxB,CAAC,CAAC;EAEFJ,WAAW,CAACS,cAAc,EAAE,YAAM;IAChCkB,SAAS,CAACrB,SAAS,CAAC,CAAC,CAAC;EACxB,CAAC,CAAC;EAEF,IAAMsB,eAAe,GAAGnC,OAAO,CAAC;IAAA,OAAO;MAAE6B,iBAAiB,EAAjBA,iBAAiB;MAAEJ,MAAM,EAANA,MAAM;MAAEQ,MAAM,EAANA;IAAO,CAAC;EAAA,CAAC,EAAE,CAACJ,iBAAiB,EAAEJ,MAAM,EAAEQ,MAAM,CAAC,CAAC;EAEnH,oBACEnC,KAAA,CAAAsC,aAAA,CAACrB,YAAY;IAACkB,MAAM,EAAEA,MAAO;IAACI,QAAQ,EAAEvB,WAAW,CAAC;EAAE,gBACpDhB,KAAA,CAAAsC,aAAA,CAAC/B,aAAa,qBACZP,KAAA,CAAAsC,aAAA,CAAC9B,UAAU,CAACgC,QAAQ;IAClBC,KAAK,EAAEJ;EAAgB,gBAEvBrC,KAAA,CAAAsC,aAAA,CAAChC,qBAAqB;IAACe,KAAK,EAAEA;EAAM,GACjCE,cAAc,gBACbvB,KAAA,CAAAsC,aAAA,CAACjC,MAAM,QACJiB,QACK,CAAC,GACPA,QACiB,CACJ,CACR,CACH,CAAC;AAEnB;AAEAH,WAAW,CAACuB,SAAS,GAAG;EACtB;EACArB,KAAK,EAAElB,SAAS,CAACwC,MAAM;EACvBrB,QAAQ,EAAEnB,SAAS,CAACyC,IAAI,CAACC,UAAU;EACnCtB,cAAc,EAAEpB,SAAS,CAAC2C;AAC5B,CAAC;AAED3B,WAAW,CAAC4B,YAAY,GAAG;EACzB1B,KAAK,EAAE,IAAI;EACXE,cAAc,EAAE;AAClB,CAAC"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
var _excluded = ["redirectUrl"];
|
|
2
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
3
|
-
function _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; }
|
|
4
1
|
import React, { useContext } from 'react';
|
|
5
2
|
import PropTypes from 'prop-types';
|
|
6
|
-
import { useRouteMatch } from 'react-router-dom';
|
|
7
3
|
import AppContext from './AppContext';
|
|
8
|
-
import
|
|
4
|
+
import PageWrap from './PageWrap';
|
|
9
5
|
import { getLoginRedirectUrl } from '../auth';
|
|
10
6
|
|
|
11
7
|
/**
|
|
@@ -16,9 +12,9 @@ import { getLoginRedirectUrl } from '../auth';
|
|
|
16
12
|
*
|
|
17
13
|
* It can optionally accept an override URL to redirect to instead of the login page.
|
|
18
14
|
*
|
|
19
|
-
* Like a `
|
|
15
|
+
* Like a `PageWrap`, also calls `sendPageEvent` when the route becomes active.
|
|
20
16
|
*
|
|
21
|
-
* @see
|
|
17
|
+
* @see PageWrap
|
|
22
18
|
* @see {@link module:frontend-platform/analytics~sendPageEvent}
|
|
23
19
|
* @memberof module:React
|
|
24
20
|
* @param {Object} props
|
|
@@ -27,32 +23,19 @@ import { getLoginRedirectUrl } from '../auth';
|
|
|
27
23
|
*/
|
|
28
24
|
export default function AuthenticatedPageRoute(_ref) {
|
|
29
25
|
var redirectUrl = _ref.redirectUrl,
|
|
30
|
-
|
|
26
|
+
children = _ref.children;
|
|
31
27
|
var _useContext = useContext(AppContext),
|
|
32
28
|
authenticatedUser = _useContext.authenticatedUser;
|
|
33
|
-
var match = useRouteMatch({
|
|
34
|
-
// eslint-disable-next-line react/prop-types
|
|
35
|
-
path: props.path,
|
|
36
|
-
// eslint-disable-next-line react/prop-types
|
|
37
|
-
exact: props.exact,
|
|
38
|
-
// eslint-disable-next-line react/prop-types
|
|
39
|
-
strict: props.strict,
|
|
40
|
-
// eslint-disable-next-line react/prop-types
|
|
41
|
-
sensitive: props.sensitive
|
|
42
|
-
});
|
|
43
29
|
if (authenticatedUser === null) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
global.location.assign(destination);
|
|
47
|
-
}
|
|
48
|
-
// This emulates a Route's way of displaying nothing if the route's path doesn't match the
|
|
49
|
-
// current URL.
|
|
30
|
+
var destination = redirectUrl || getLoginRedirectUrl(global.location.href);
|
|
31
|
+
global.location.assign(destination);
|
|
50
32
|
return null;
|
|
51
33
|
}
|
|
52
|
-
return /*#__PURE__*/React.createElement(
|
|
34
|
+
return /*#__PURE__*/React.createElement(PageWrap, null, children);
|
|
53
35
|
}
|
|
54
36
|
AuthenticatedPageRoute.propTypes = {
|
|
55
|
-
redirectUrl: PropTypes.string
|
|
37
|
+
redirectUrl: PropTypes.string,
|
|
38
|
+
children: PropTypes.node.isRequired
|
|
56
39
|
};
|
|
57
40
|
AuthenticatedPageRoute.defaultProps = {
|
|
58
41
|
redirectUrl: null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticatedPageRoute.js","names":["React","useContext","PropTypes","
|
|
1
|
+
{"version":3,"file":"AuthenticatedPageRoute.js","names":["React","useContext","PropTypes","AppContext","PageWrap","getLoginRedirectUrl","AuthenticatedPageRoute","_ref","redirectUrl","children","_useContext","authenticatedUser","destination","global","location","href","assign","createElement","propTypes","string","node","isRequired","defaultProps"],"sources":["../../src/react/AuthenticatedPageRoute.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport AppContext from './AppContext';\nimport PageWrap from './PageWrap';\nimport { getLoginRedirectUrl } from '../auth';\n\n/**\n * A react-router route that redirects to the login page when the route becomes active and the user\n * is not authenticated. If the application has been initialized with `requireAuthenticatedUser`\n * false, an authenticatedPageRoute can be used to protect a subset of the application's routes,\n * rather than the entire application.\n *\n * It can optionally accept an override URL to redirect to instead of the login page.\n *\n * Like a `PageWrap`, also calls `sendPageEvent` when the route becomes active.\n *\n * @see PageWrap\n * @see {@link module:frontend-platform/analytics~sendPageEvent}\n * @memberof module:React\n * @param {Object} props\n * @param {string} props.redirectUrl The URL anonymous users should be redirected to, rather than\n * viewing the route's contents.\n */\nexport default function AuthenticatedPageRoute({ redirectUrl, children }) {\n const { authenticatedUser } = useContext(AppContext);\n if (authenticatedUser === null) {\n const destination = redirectUrl || getLoginRedirectUrl(global.location.href);\n global.location.assign(destination);\n\n return null;\n }\n\n return (\n <PageWrap>\n {children}\n </PageWrap>\n );\n}\n\nAuthenticatedPageRoute.propTypes = {\n redirectUrl: PropTypes.string,\n children: PropTypes.node.isRequired,\n};\n\nAuthenticatedPageRoute.defaultProps = {\n redirectUrl: null,\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAElC,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,mBAAmB,QAAQ,SAAS;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,sBAAsBA,CAAAC,IAAA,EAA4B;EAAA,IAAzBC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EACpE,IAAAC,WAAA,GAA8BT,UAAU,CAACE,UAAU,CAAC;IAA5CQ,iBAAiB,GAAAD,WAAA,CAAjBC,iBAAiB;EACzB,IAAIA,iBAAiB,KAAK,IAAI,EAAE;IAC9B,IAAMC,WAAW,GAAGJ,WAAW,IAAIH,mBAAmB,CAACQ,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAC;IAC5EF,MAAM,CAACC,QAAQ,CAACE,MAAM,CAACJ,WAAW,CAAC;IAEnC,OAAO,IAAI;EACb;EAEA,oBACEZ,KAAA,CAAAiB,aAAA,CAACb,QAAQ,QACNK,QACO,CAAC;AAEf;AAEAH,sBAAsB,CAACY,SAAS,GAAG;EACjCV,WAAW,EAAEN,SAAS,CAACiB,MAAM;EAC7BV,QAAQ,EAAEP,SAAS,CAACkB,IAAI,CAACC;AAC3B,CAAC;AAEDf,sBAAsB,CAACgB,YAAY,GAAG;EACpCd,WAAW,EAAE;AACf,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/* eslint-disable react/prop-types */
|
|
2
|
+
// eslint-disable-next-line no-unused-vars
|
|
3
|
+
import React, { useEffect } from 'react';
|
|
4
|
+
import { useLocation } from 'react-router-dom';
|
|
5
|
+
import { sendPageEvent } from '../analytics';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A Wrapper component that calls `sendPageEvent` when it becomes active.
|
|
9
|
+
*
|
|
10
|
+
* @see {@link module:frontend-platform/analytics~sendPageEvent}
|
|
11
|
+
* @memberof module:React
|
|
12
|
+
* @param {Object} props
|
|
13
|
+
*/
|
|
14
|
+
export default function PageWrap(_ref) {
|
|
15
|
+
var children = _ref.children;
|
|
16
|
+
var location = useLocation();
|
|
17
|
+
useEffect(function () {
|
|
18
|
+
sendPageEvent();
|
|
19
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
20
|
+
}, [location.pathname]);
|
|
21
|
+
return children;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=PageWrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageWrap.js","names":["React","useEffect","useLocation","sendPageEvent","PageWrap","_ref","children","location","pathname"],"sources":["../../src/react/PageWrap.jsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n// eslint-disable-next-line no-unused-vars\nimport React, { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nimport { sendPageEvent } from '../analytics';\n\n/**\n * A Wrapper component that calls `sendPageEvent` when it becomes active.\n *\n * @see {@link module:frontend-platform/analytics~sendPageEvent}\n * @memberof module:React\n * @param {Object} props\n */\nexport default function PageWrap({ children }) {\n const location = useLocation();\n\n useEffect(() => {\n sendPageEvent();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.pathname]);\n\n return children;\n}\n"],"mappings":"AAAA;AACA;AACA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,WAAW,QAAQ,kBAAkB;AAE9C,SAASC,aAAa,QAAQ,cAAc;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,QAAQA,CAAAC,IAAA,EAAe;EAAA,IAAZC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EACzC,IAAMC,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAE9BD,SAAS,CAAC,YAAM;IACdE,aAAa,CAAC,CAAC;IACjB;EACA,CAAC,EAAE,CAACI,QAAQ,CAACC,QAAQ,CAAC,CAAC;EAEvB,OAAOF,QAAQ;AACjB"}
|
package/react/index.js
CHANGED
|
@@ -12,6 +12,6 @@ export { default as AuthenticatedPageRoute } from './AuthenticatedPageRoute';
|
|
|
12
12
|
export { default as ErrorBoundary } from './ErrorBoundary';
|
|
13
13
|
export { default as ErrorPage } from './ErrorPage';
|
|
14
14
|
export { default as LoginRedirect } from './LoginRedirect';
|
|
15
|
-
export { default as
|
|
15
|
+
export { default as PageWrap } from './PageWrap';
|
|
16
16
|
export { useAppEvent } from './hooks';
|
|
17
17
|
//# sourceMappingURL=index.js.map
|
package/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","AppContext","AppProvider","AuthenticatedPageRoute","ErrorBoundary","ErrorPage","LoginRedirect","
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","AppContext","AppProvider","AuthenticatedPageRoute","ErrorBoundary","ErrorPage","LoginRedirect","PageWrap","useAppEvent"],"sources":["../../src/react/index.js"],"sourcesContent":["/**\n * #### Import members from **@edx/frontend-platform/react**\n * The React module provides a variety of React components, hooks, and contexts for use in an\n * application.\n *\n * @module React\n */\n\nexport { default as AppContext } from './AppContext';\nexport { default as AppProvider } from './AppProvider';\nexport { default as AuthenticatedPageRoute } from './AuthenticatedPageRoute';\nexport { default as ErrorBoundary } from './ErrorBoundary';\nexport { default as ErrorPage } from './ErrorPage';\nexport { default as LoginRedirect } from './LoginRedirect';\nexport { default as PageWrap } from './PageWrap';\nexport { useAppEvent } from './hooks';\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,IAAIC,UAAU,QAAQ,cAAc;AACpD,SAASD,OAAO,IAAIE,WAAW,QAAQ,eAAe;AACtD,SAASF,OAAO,IAAIG,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASH,OAAO,IAAII,aAAa,QAAQ,iBAAiB;AAC1D,SAASJ,OAAO,IAAIK,SAAS,QAAQ,aAAa;AAClD,SAASL,OAAO,IAAIM,aAAa,QAAQ,iBAAiB;AAC1D,SAASN,OAAO,IAAIO,QAAQ,QAAQ,YAAY;AAChD,SAASC,WAAW,QAAQ,SAAS"}
|
package/react/PageRoute.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/* eslint-disable react/prop-types */
|
|
2
|
-
import React, { useEffect } from 'react';
|
|
3
|
-
import { Route, useRouteMatch } from 'react-router-dom';
|
|
4
|
-
import { sendPageEvent } from '../analytics';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* A react-router Route component that calls `sendPageEvent` when it becomes active.
|
|
8
|
-
*
|
|
9
|
-
* @see {@link module:frontend-platform/analytics~sendPageEvent}
|
|
10
|
-
* @memberof module:React
|
|
11
|
-
* @param {Object} props
|
|
12
|
-
*/
|
|
13
|
-
export default function PageRoute(props) {
|
|
14
|
-
var match = useRouteMatch({
|
|
15
|
-
path: props.path,
|
|
16
|
-
exact: props.exact,
|
|
17
|
-
strict: props.strict,
|
|
18
|
-
sensitive: props.sensitive
|
|
19
|
-
});
|
|
20
|
-
useEffect(function () {
|
|
21
|
-
if (match) {
|
|
22
|
-
sendPageEvent();
|
|
23
|
-
}
|
|
24
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25
|
-
}, [JSON.stringify(match)]);
|
|
26
|
-
return /*#__PURE__*/React.createElement(Route, props);
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=PageRoute.js.map
|
package/react/PageRoute.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PageRoute.js","names":["React","useEffect","Route","useRouteMatch","sendPageEvent","PageRoute","props","match","path","exact","strict","sensitive","JSON","stringify","createElement"],"sources":["../../src/react/PageRoute.jsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useEffect } from 'react';\nimport { Route, useRouteMatch } from 'react-router-dom';\nimport { sendPageEvent } from '../analytics';\n\n/**\n * A react-router Route component that calls `sendPageEvent` when it becomes active.\n *\n * @see {@link module:frontend-platform/analytics~sendPageEvent}\n * @memberof module:React\n * @param {Object} props\n */\nexport default function PageRoute(props) {\n const match = useRouteMatch({\n path: props.path,\n exact: props.exact,\n strict: props.strict,\n sensitive: props.sensitive,\n });\n\n useEffect(() => {\n if (match) {\n sendPageEvent();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(match)]);\n\n return (\n <Route {...props} />\n );\n}\n"],"mappings":"AAAA;AACA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,KAAK,EAAEC,aAAa,QAAQ,kBAAkB;AACvD,SAASC,aAAa,QAAQ,cAAc;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,SAASA,CAACC,KAAK,EAAE;EACvC,IAAMC,KAAK,GAAGJ,aAAa,CAAC;IAC1BK,IAAI,EAAEF,KAAK,CAACE,IAAI;IAChBC,KAAK,EAAEH,KAAK,CAACG,KAAK;IAClBC,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBC,SAAS,EAAEL,KAAK,CAACK;EACnB,CAAC,CAAC;EAEFV,SAAS,CAAC,YAAM;IACd,IAAIM,KAAK,EAAE;MACTH,aAAa,CAAC,CAAC;IACjB;IACF;EACA,CAAC,EAAE,CAACQ,IAAI,CAACC,SAAS,CAACN,KAAK,CAAC,CAAC,CAAC;EAE3B,oBACEP,KAAA,CAAAc,aAAA,CAACZ,KAAK,EAAKI,KAAQ,CAAC;AAExB"}
|