@openedx/frontend-base 1.0.0-alpha.9 → 1.0.1-alpha.1
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/README.md +22 -84
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/runtime/analytics/MockAnalyticsService.d.ts +50 -0
- package/dist/runtime/analytics/MockAnalyticsService.js +64 -0
- package/dist/runtime/analytics/MockAnalyticsService.js.map +1 -0
- package/dist/runtime/analytics/SegmentAnalyticsService.d.ts +64 -0
- package/dist/runtime/analytics/SegmentAnalyticsService.js +218 -0
- package/dist/runtime/analytics/SegmentAnalyticsService.js.map +1 -0
- package/dist/runtime/analytics/index.d.ts +3 -0
- package/dist/runtime/analytics/index.js +4 -0
- package/dist/runtime/analytics/index.js.map +1 -0
- package/dist/runtime/analytics/interface.d.ts +53 -0
- package/dist/runtime/analytics/interface.js +133 -0
- package/dist/runtime/analytics/interface.js.map +1 -0
- package/dist/runtime/auth/AxiosCsrfTokenService.d.ts +10 -0
- package/dist/runtime/auth/AxiosCsrfTokenService.js +64 -0
- package/dist/runtime/auth/AxiosCsrfTokenService.js.map +1 -0
- package/dist/runtime/auth/AxiosJwtAuthService.d.ts +182 -0
- package/dist/runtime/auth/AxiosJwtAuthService.js +339 -0
- package/dist/runtime/auth/AxiosJwtAuthService.js.map +1 -0
- package/dist/runtime/auth/AxiosJwtTokenService.d.ts +16 -0
- package/dist/runtime/auth/AxiosJwtTokenService.js +130 -0
- package/dist/runtime/auth/AxiosJwtTokenService.js.map +1 -0
- package/dist/runtime/auth/LocalForageCache.d.ts +7 -0
- package/dist/runtime/auth/LocalForageCache.js +78 -0
- package/dist/runtime/auth/LocalForageCache.js.map +1 -0
- package/dist/runtime/auth/MockAuthService.d.ts +209 -0
- package/dist/runtime/auth/MockAuthService.js +256 -0
- package/dist/runtime/auth/MockAuthService.js.map +1 -0
- package/dist/runtime/auth/index.d.ts +3 -0
- package/dist/runtime/auth/index.js +4 -0
- package/dist/runtime/auth/index.js.map +1 -0
- package/dist/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.d.ts +2 -0
- package/dist/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.js +42 -0
- package/dist/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.js.map +1 -0
- package/dist/runtime/auth/interceptors/createJwtTokenProviderInterceptor.d.ts +2 -0
- package/dist/runtime/auth/interceptors/createJwtTokenProviderInterceptor.js +40 -0
- package/dist/runtime/auth/interceptors/createJwtTokenProviderInterceptor.js.map +1 -0
- package/dist/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.d.ts +2 -0
- package/dist/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js +26 -0
- package/dist/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js.map +1 -0
- package/dist/runtime/auth/interceptors/createRetryInterceptor.d.ts +3 -0
- package/dist/runtime/auth/interceptors/createRetryInterceptor.js +67 -0
- package/dist/runtime/auth/interceptors/createRetryInterceptor.js.map +1 -0
- package/dist/runtime/auth/interface.d.ts +133 -0
- package/dist/runtime/auth/interface.js +302 -0
- package/dist/runtime/auth/interface.js.map +1 -0
- package/dist/runtime/auth/utils.d.ts +13 -0
- package/dist/runtime/auth/utils.js +66 -0
- package/dist/runtime/auth/utils.js.map +1 -0
- package/dist/runtime/babel.config.d.ts +2 -0
- package/dist/runtime/babel.config.js +4 -0
- package/dist/runtime/babel.config.js.map +1 -0
- package/dist/runtime/config/index.d.ts +216 -0
- package/dist/runtime/config/index.js +428 -0
- package/dist/runtime/config/index.js.map +1 -0
- package/dist/runtime/constants.d.ts +57 -0
- package/dist/runtime/constants.js +58 -0
- package/dist/runtime/constants.js.map +1 -0
- package/dist/runtime/i18n/index.d.ts +3 -0
- package/dist/runtime/i18n/index.js +78 -0
- package/dist/runtime/i18n/index.js.map +1 -0
- package/dist/runtime/i18n/injectIntlWithShim.d.ts +11 -0
- package/dist/runtime/i18n/injectIntlWithShim.js +45 -0
- package/dist/runtime/i18n/injectIntlWithShim.js.map +1 -0
- package/dist/runtime/i18n/lib.d.ts +113 -0
- package/dist/runtime/i18n/lib.js +223 -0
- package/dist/runtime/i18n/lib.js.map +1 -0
- package/dist/runtime/index.d.ts +14 -0
- package/dist/runtime/index.js +15 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/initialize.d.ts +87 -0
- package/dist/runtime/initialize.js +305 -0
- package/dist/runtime/initialize.js.map +1 -0
- package/dist/runtime/jest.config.d.ts +16 -0
- package/dist/runtime/jest.config.js +34 -0
- package/dist/runtime/jest.config.js.map +1 -0
- package/dist/runtime/logging/MockLoggingService.d.ts +28 -0
- package/dist/runtime/logging/MockLoggingService.js +31 -0
- package/dist/runtime/logging/MockLoggingService.js.map +1 -0
- package/dist/runtime/logging/NewRelicLoggingService.d.ts +67 -0
- package/dist/runtime/logging/NewRelicLoggingService.js +175 -0
- package/dist/runtime/logging/NewRelicLoggingService.js.map +1 -0
- package/dist/runtime/logging/index.d.ts +3 -0
- package/dist/runtime/logging/index.js +4 -0
- package/dist/runtime/logging/index.js.map +1 -0
- package/dist/runtime/logging/interface.d.ts +38 -0
- package/dist/runtime/logging/interface.js +99 -0
- package/dist/runtime/logging/interface.js.map +1 -0
- package/dist/runtime/logging/types.d.ts +4 -0
- package/dist/runtime/logging/types.js +2 -0
- package/dist/runtime/logging/types.js.map +1 -0
- package/dist/runtime/react/AuthenticatedPageRoute.d.ts +30 -0
- package/dist/runtime/react/AuthenticatedPageRoute.js +38 -0
- package/dist/runtime/react/AuthenticatedPageRoute.js.map +1 -0
- package/dist/runtime/react/CombinedAppProvider.d.ts +6 -0
- package/dist/runtime/react/CombinedAppProvider.js +20 -0
- package/dist/runtime/react/CombinedAppProvider.js.map +1 -0
- package/dist/runtime/react/CurrentAppContext.d.ts +20 -0
- package/dist/runtime/react/CurrentAppContext.js +21 -0
- package/dist/runtime/react/CurrentAppContext.js.map +1 -0
- package/dist/runtime/react/CurrentAppProvider.d.ts +23 -0
- package/dist/runtime/react/CurrentAppProvider.js +33 -0
- package/dist/runtime/react/CurrentAppProvider.js.map +1 -0
- package/dist/runtime/react/Divider.d.ts +1 -0
- package/dist/runtime/react/Divider.js +5 -0
- package/dist/runtime/react/Divider.js.map +1 -0
- package/dist/runtime/react/ErrorBoundary.d.ts +32 -0
- package/dist/runtime/react/ErrorBoundary.js +40 -0
- package/dist/runtime/react/ErrorBoundary.js.map +1 -0
- package/dist/runtime/react/ErrorPage.d.ts +17 -0
- package/dist/runtime/react/ErrorPage.js +29 -0
- package/dist/runtime/react/ErrorPage.js.map +1 -0
- package/dist/runtime/react/LoginRedirect.d.ts +8 -0
- package/dist/runtime/react/LoginRedirect.js +16 -0
- package/dist/runtime/react/LoginRedirect.js.map +1 -0
- package/dist/runtime/react/NotFoundPage.d.ts +2 -0
- package/dist/runtime/react/NotFoundPage.js +14 -0
- package/dist/runtime/react/NotFoundPage.js.map +1 -0
- package/dist/runtime/react/PageWrap.d.ts +8 -0
- package/dist/runtime/react/PageWrap.js +21 -0
- package/dist/runtime/react/PageWrap.js.map +1 -0
- package/dist/runtime/react/SiteContext.d.ts +24 -0
- package/dist/runtime/react/SiteContext.js +26 -0
- package/dist/runtime/react/SiteContext.js.map +1 -0
- package/dist/runtime/react/SiteProvider.d.ts +29 -0
- package/dist/runtime/react/SiteProvider.js +69 -0
- package/dist/runtime/react/SiteProvider.js.map +1 -0
- package/dist/runtime/react/constants.d.ts +3 -0
- package/dist/runtime/react/constants.js +4 -0
- package/dist/runtime/react/constants.js.map +1 -0
- package/dist/runtime/react/hooks/index.d.ts +7 -0
- package/dist/runtime/react/hooks/index.js +8 -0
- package/dist/runtime/react/hooks/index.js.map +1 -0
- package/dist/runtime/react/hooks/theme/index.js +3 -0
- package/dist/runtime/react/hooks/theme/index.js.map +1 -0
- package/dist/runtime/react/hooks/theme/useTheme.d.ts +35 -0
- package/dist/runtime/react/hooks/theme/useTheme.js +153 -0
- package/dist/runtime/react/hooks/theme/useTheme.js.map +1 -0
- package/dist/runtime/react/hooks/theme/useThemeConfig.d.ts +16 -0
- package/dist/runtime/react/hooks/theme/useThemeConfig.js +29 -0
- package/dist/runtime/react/hooks/theme/useThemeConfig.js.map +1 -0
- package/dist/runtime/react/hooks/theme/useThemeCore.d.ts +10 -0
- package/dist/runtime/react/hooks/theme/useThemeCore.js +48 -0
- package/dist/runtime/react/hooks/theme/useThemeCore.js.map +1 -0
- package/dist/runtime/react/hooks/theme/useThemeVariants.d.ts +17 -0
- package/dist/runtime/react/hooks/theme/useThemeVariants.js +90 -0
- package/dist/runtime/react/hooks/theme/useThemeVariants.js.map +1 -0
- package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.d.ts +8 -0
- package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.js +30 -0
- package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.js.map +1 -0
- package/dist/runtime/react/hooks/theme/utils.d.ts +6 -0
- package/dist/runtime/react/hooks/theme/utils.js +11 -0
- package/dist/runtime/react/hooks/theme/utils.js.map +1 -0
- package/dist/runtime/react/hooks/useActiveRoles.d.ts +2 -0
- package/dist/runtime/react/hooks/useActiveRoles.js +16 -0
- package/dist/runtime/react/hooks/useActiveRoles.js.map +1 -0
- package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.d.ts +2 -0
- package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.js +22 -0
- package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.js.map +1 -0
- package/dist/runtime/react/hooks/useAppConfig.d.ts +2 -0
- package/dist/runtime/react/hooks/useAppConfig.js +8 -0
- package/dist/runtime/react/hooks/useAppConfig.js.map +1 -0
- package/dist/runtime/react/hooks/useAuthenticatedUser.d.ts +2 -0
- package/dist/runtime/react/hooks/useAuthenticatedUser.js +8 -0
- package/dist/runtime/react/hooks/useAuthenticatedUser.js.map +1 -0
- package/dist/runtime/react/hooks/useSiteConfig.d.ts +2 -0
- package/dist/runtime/react/hooks/useSiteConfig.js +8 -0
- package/dist/runtime/react/hooks/useSiteConfig.js.map +1 -0
- package/dist/runtime/react/hooks/useSiteEvent.d.ts +12 -0
- package/dist/runtime/react/hooks/useSiteEvent.js +22 -0
- package/dist/runtime/react/hooks/useSiteEvent.js.map +1 -0
- package/dist/runtime/react/index.d.ts +19 -0
- package/dist/runtime/react/index.js +20 -0
- package/dist/runtime/react/index.js.map +1 -0
- package/dist/runtime/react/reducers.d.ts +11 -0
- package/dist/runtime/react/reducers.js +28 -0
- package/dist/runtime/react/reducers.js.map +1 -0
- package/dist/runtime/routing/authenticatedLoader.d.ts +2 -0
- package/dist/runtime/routing/authenticatedLoader.js +27 -0
- package/dist/runtime/routing/authenticatedLoader.js.map +1 -0
- package/dist/runtime/routing/index.d.ts +2 -0
- package/dist/runtime/routing/index.js +3 -0
- package/dist/runtime/routing/index.js.map +1 -0
- package/dist/runtime/routing/utils.d.ts +4 -0
- package/dist/runtime/routing/utils.js +43 -0
- package/dist/runtime/routing/utils.js.map +1 -0
- package/dist/runtime/scripts/index.d.ts +1 -0
- package/dist/runtime/scripts/index.js +14 -0
- package/dist/runtime/scripts/index.js.map +1 -0
- package/dist/runtime/setupTest.d.ts +1 -0
- package/dist/runtime/setupTest.js +12 -0
- package/dist/runtime/setupTest.js.map +1 -0
- package/dist/runtime/slots/Slot.d.ts +11 -0
- package/dist/runtime/slots/Slot.js +37 -0
- package/dist/runtime/slots/Slot.js.map +1 -0
- package/dist/runtime/slots/SlotContext.d.ts +8 -0
- package/dist/runtime/slots/SlotContext.js +7 -0
- package/dist/runtime/slots/SlotContext.js.map +1 -0
- package/dist/runtime/slots/hooks.d.ts +11 -0
- package/dist/runtime/slots/hooks.js +19 -0
- package/dist/runtime/slots/hooks.js.map +1 -0
- package/dist/runtime/slots/index.js +7 -0
- package/dist/runtime/slots/index.js.map +1 -0
- package/dist/runtime/slots/layout/DefaultSlotLayout.d.ts +1 -0
- package/dist/runtime/slots/layout/DefaultSlotLayout.js +7 -0
- package/dist/runtime/slots/layout/DefaultSlotLayout.js.map +1 -0
- package/dist/runtime/slots/layout/hooks.d.ts +9 -0
- package/dist/runtime/slots/layout/hooks.js +52 -0
- package/dist/runtime/slots/layout/hooks.js.map +1 -0
- package/dist/runtime/slots/layout/index.js +5 -0
- package/dist/runtime/slots/layout/index.js.map +1 -0
- package/dist/runtime/slots/layout/types.d.ts +30 -0
- package/dist/runtime/slots/layout/types.js +12 -0
- package/dist/runtime/slots/layout/types.js.map +1 -0
- package/dist/runtime/slots/layout/utils.d.ts +5 -0
- package/dist/runtime/slots/layout/utils.js +11 -0
- package/dist/runtime/slots/layout/utils.js.map +1 -0
- package/dist/runtime/slots/types.d.ts +18 -0
- package/dist/runtime/slots/types.js +7 -0
- package/dist/runtime/slots/types.js.map +1 -0
- package/dist/runtime/slots/utils.d.ts +3 -0
- package/dist/runtime/slots/utils.js +65 -0
- package/dist/runtime/slots/utils.js.map +1 -0
- package/dist/runtime/slots/widget/WidgetContext.d.ts +6 -0
- package/dist/runtime/slots/widget/WidgetContext.js +8 -0
- package/dist/runtime/slots/widget/WidgetContext.js.map +1 -0
- package/dist/runtime/slots/widget/WidgetProvider.d.ts +9 -0
- package/dist/runtime/slots/widget/WidgetProvider.js +18 -0
- package/dist/runtime/slots/widget/WidgetProvider.js.map +1 -0
- package/dist/runtime/slots/widget/hooks.d.ts +12 -0
- package/dist/runtime/slots/widget/hooks.js +84 -0
- package/dist/runtime/slots/widget/hooks.js.map +1 -0
- package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.d.ts +10 -0
- package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.js +42 -0
- package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.js.map +1 -0
- package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.d.ts +13 -0
- package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.js +15 -0
- package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.js.map +1 -0
- package/dist/runtime/slots/widget/iframe/IFrameWidget.d.ts +6 -0
- package/dist/runtime/slots/widget/iframe/IFrameWidget.js +32 -0
- package/dist/runtime/slots/widget/iframe/IFrameWidget.js.map +1 -0
- package/dist/runtime/slots/widget/iframe/constants.d.ts +15 -0
- package/dist/runtime/slots/widget/iframe/constants.js +17 -0
- package/dist/runtime/slots/widget/iframe/constants.js.map +1 -0
- package/dist/runtime/slots/widget/iframe/hooks.d.ts +64 -0
- package/dist/runtime/slots/widget/iframe/hooks.js +144 -0
- package/dist/runtime/slots/widget/iframe/hooks.js.map +1 -0
- package/dist/runtime/slots/widget/iframe/index.d.ts +3 -0
- package/dist/runtime/slots/widget/iframe/index.js +3 -0
- package/dist/runtime/slots/widget/iframe/index.js.map +1 -0
- package/dist/runtime/slots/widget/iframe/types.d.ts +5 -0
- package/dist/runtime/slots/widget/iframe/types.js +3 -0
- package/dist/runtime/slots/widget/iframe/types.js.map +1 -0
- package/dist/runtime/slots/widget/index.js +6 -0
- package/dist/runtime/slots/widget/index.js.map +1 -0
- package/dist/runtime/slots/widget/types.d.ts +108 -0
- package/dist/runtime/slots/widget/types.js +41 -0
- package/dist/runtime/slots/widget/types.js.map +1 -0
- package/dist/runtime/slots/widget/utils.d.ts +22 -0
- package/dist/runtime/slots/widget/utils.js +181 -0
- package/dist/runtime/slots/widget/utils.js.map +1 -0
- package/dist/runtime/subscriptions.d.ts +24 -0
- package/dist/runtime/subscriptions.js +48 -0
- package/dist/runtime/subscriptions.js.map +1 -0
- package/dist/runtime/testing/index.d.ts +8 -0
- package/dist/runtime/testing/index.js +9 -0
- package/dist/runtime/testing/index.js.map +1 -0
- package/dist/runtime/testing/initializeMockApp.d.ts +46 -0
- package/dist/runtime/testing/initializeMockApp.js +71 -0
- package/dist/runtime/testing/initializeMockApp.js.map +1 -0
- package/dist/runtime/testing/mockMessages.d.ts +22 -0
- package/dist/runtime/testing/mockMessages.js +23 -0
- package/dist/runtime/testing/mockMessages.js.map +1 -0
- package/dist/runtime/utils.d.ts +95 -0
- package/dist/runtime/utils.js +163 -0
- package/dist/runtime/utils.js.map +1 -0
- package/dist/shell/DefaultLayout.d.ts +1 -0
- package/dist/shell/DefaultLayout.js +7 -0
- package/dist/shell/DefaultLayout.js.map +1 -0
- package/dist/shell/DefaultMain.d.ts +1 -0
- package/dist/shell/DefaultMain.js +6 -0
- package/dist/shell/DefaultMain.js.map +1 -0
- package/dist/shell/Logo.d.ts +6 -0
- package/dist/shell/Logo.js +16 -0
- package/dist/shell/Logo.js.map +1 -0
- package/dist/shell/Shell.d.ts +1 -0
- package/dist/shell/Shell.js +10 -0
- package/dist/shell/Shell.js.map +1 -0
- package/dist/shell/Shell.messages.d.ts +63 -0
- package/dist/shell/Shell.messages.js +65 -0
- package/dist/shell/Shell.messages.js.map +1 -0
- package/dist/shell/app.d.ts +3 -0
- package/dist/shell/app.js +43 -0
- package/dist/shell/app.js.map +1 -0
- package/dist/shell/babel.config.d.ts +2 -0
- package/dist/shell/babel.config.js +4 -0
- package/dist/shell/babel.config.js.map +1 -0
- package/dist/shell/constants.d.ts +2 -0
- package/dist/shell/constants.js +3 -0
- package/dist/shell/constants.js.map +1 -0
- package/dist/shell/dev/devFooter/app.d.ts +3 -0
- package/dist/shell/dev/devFooter/app.js +36 -0
- package/dist/shell/dev/devFooter/app.js.map +1 -0
- package/dist/shell/dev/devFooter/index.js +2 -0
- package/dist/shell/dev/devFooter/index.js.map +1 -0
- package/dist/shell/dev/devHeader/BarContext.d.ts +7 -0
- package/dist/shell/dev/devHeader/BarContext.js +8 -0
- package/dist/shell/dev/devHeader/BarContext.js.map +1 -0
- package/dist/shell/dev/devHeader/BarLink.d.ts +1 -0
- package/dist/shell/dev/devHeader/BarLink.js +10 -0
- package/dist/shell/dev/devHeader/BarLink.js.map +1 -0
- package/dist/shell/dev/devHeader/BarProvider.d.ts +6 -0
- package/dist/shell/dev/devHeader/BarProvider.js +16 -0
- package/dist/shell/dev/devHeader/BarProvider.js.map +1 -0
- package/dist/shell/dev/devHeader/CoursesLink.d.ts +1 -0
- package/dist/shell/dev/devHeader/CoursesLink.js +10 -0
- package/dist/shell/dev/devHeader/CoursesLink.js.map +1 -0
- package/dist/shell/dev/devHeader/FooContext.d.ts +7 -0
- package/dist/shell/dev/devHeader/FooContext.js +8 -0
- package/dist/shell/dev/devHeader/FooContext.js.map +1 -0
- package/dist/shell/dev/devHeader/FooLink.d.ts +1 -0
- package/dist/shell/dev/devHeader/FooLink.js +10 -0
- package/dist/shell/dev/devHeader/FooLink.js.map +1 -0
- package/dist/shell/dev/devHeader/FooProvider.d.ts +6 -0
- package/dist/shell/dev/devHeader/FooProvider.js +16 -0
- package/dist/shell/dev/devHeader/FooProvider.js.map +1 -0
- package/dist/shell/dev/devHeader/app.d.ts +3 -0
- package/dist/shell/dev/devHeader/app.js +34 -0
- package/dist/shell/dev/devHeader/app.js.map +1 -0
- package/dist/shell/dev/devHeader/index.js +2 -0
- package/dist/shell/dev/devHeader/index.js.map +1 -0
- package/dist/shell/dev/devHeader/providers.d.ts +3 -0
- package/dist/shell/dev/devHeader/providers.js +8 -0
- package/dist/shell/dev/devHeader/providers.js.map +1 -0
- package/dist/shell/dev/devHome/HomePage.d.ts +1 -0
- package/dist/shell/dev/devHome/HomePage.js +14 -0
- package/dist/shell/dev/devHome/HomePage.js.map +1 -0
- package/dist/shell/dev/devHome/app.d.ts +3 -0
- package/dist/shell/dev/devHome/app.js +15 -0
- package/dist/shell/dev/devHome/app.js.map +1 -0
- package/dist/shell/dev/devHome/index.js +2 -0
- package/dist/shell/dev/devHome/index.js.map +1 -0
- package/dist/shell/dev/devHome/messages.d.ts +8 -0
- package/dist/shell/dev/devHome/messages.js +10 -0
- package/dist/shell/dev/devHome/messages.js.map +1 -0
- package/dist/shell/dev/index.d.ts +4 -0
- package/dist/shell/dev/index.js +5 -0
- package/dist/shell/dev/index.js.map +1 -0
- package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.d.ts +1 -0
- package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.js +8 -0
- package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.js.map +1 -0
- package/dist/shell/dev/slotShowcase/LayoutWithOptions.d.ts +1 -0
- package/dist/shell/dev/slotShowcase/LayoutWithOptions.js +9 -0
- package/dist/shell/dev/slotShowcase/LayoutWithOptions.js.map +1 -0
- package/dist/shell/dev/slotShowcase/SlotShowcase.scss +50 -0
- package/dist/shell/dev/slotShowcase/SlotShowcasePage.d.ts +2 -0
- package/dist/shell/dev/slotShowcase/SlotShowcasePage.js +17 -0
- package/dist/shell/dev/slotShowcase/SlotShowcasePage.js.map +1 -0
- package/dist/shell/dev/slotShowcase/ToggleByRoleLayout.d.ts +1 -0
- package/dist/shell/dev/slotShowcase/ToggleByRoleLayout.js +11 -0
- package/dist/shell/dev/slotShowcase/ToggleByRoleLayout.js.map +1 -0
- package/dist/shell/dev/slotShowcase/WidgetWithOptions.d.ts +1 -0
- package/dist/shell/dev/slotShowcase/WidgetWithOptions.js +8 -0
- package/dist/shell/dev/slotShowcase/WidgetWithOptions.js.map +1 -0
- package/dist/shell/dev/slotShowcase/app.d.ts +3 -0
- package/dist/shell/dev/slotShowcase/app.js +372 -0
- package/dist/shell/dev/slotShowcase/app.js.map +1 -0
- package/dist/shell/dev/slotShowcase/index.js +2 -0
- package/dist/shell/dev/slotShowcase/index.js.map +1 -0
- package/dist/shell/footer/CenterLinks.d.ts +1 -0
- package/dist/shell/footer/CenterLinks.js +7 -0
- package/dist/shell/footer/CenterLinks.js.map +1 -0
- package/dist/shell/footer/CopyrightNotice.d.ts +10 -0
- package/dist/shell/footer/CopyrightNotice.js +10 -0
- package/dist/shell/footer/CopyrightNotice.js.map +1 -0
- package/dist/shell/footer/DesktopFooterLayout.d.ts +1 -0
- package/dist/shell/footer/DesktopFooterLayout.js +12 -0
- package/dist/shell/footer/DesktopFooterLayout.js.map +1 -0
- package/dist/shell/footer/Footer.d.ts +1 -0
- package/dist/shell/footer/Footer.js +6 -0
- package/dist/shell/footer/Footer.js.map +1 -0
- package/dist/shell/footer/LabeledLinkColumn.d.ts +1 -0
- package/dist/shell/footer/LabeledLinkColumn.js +11 -0
- package/dist/shell/footer/LabeledLinkColumn.js.map +1 -0
- package/dist/shell/footer/LanguageMenu.d.ts +1 -0
- package/dist/shell/footer/LanguageMenu.js +16 -0
- package/dist/shell/footer/LanguageMenu.js.map +1 -0
- package/dist/shell/footer/LanguageMenuItem.d.ts +8 -0
- package/dist/shell/footer/LanguageMenuItem.js +11 -0
- package/dist/shell/footer/LanguageMenuItem.js.map +1 -0
- package/dist/shell/footer/LeftLinks.d.ts +1 -0
- package/dist/shell/footer/LeftLinks.js +7 -0
- package/dist/shell/footer/LeftLinks.js.map +1 -0
- package/dist/shell/footer/LegalNotices.d.ts +1 -0
- package/dist/shell/footer/LegalNotices.js +10 -0
- package/dist/shell/footer/LegalNotices.js.map +1 -0
- package/dist/shell/footer/PoweredBy.d.ts +1 -0
- package/dist/shell/footer/PoweredBy.js +9 -0
- package/dist/shell/footer/PoweredBy.js.map +1 -0
- package/dist/shell/footer/RevealLinks.d.ts +1 -0
- package/dist/shell/footer/RevealLinks.js +16 -0
- package/dist/shell/footer/RevealLinks.js.map +1 -0
- package/dist/shell/footer/RightLinks.d.ts +1 -0
- package/dist/shell/footer/RightLinks.js +7 -0
- package/dist/shell/footer/RightLinks.js.map +1 -0
- package/dist/shell/footer/app.d.ts +3 -0
- package/dist/shell/footer/app.js +67 -0
- package/dist/shell/footer/app.js.map +1 -0
- package/dist/shell/footer/data/api.d.ts +1 -0
- package/dist/shell/footer/data/api.js +45 -0
- package/dist/shell/footer/data/api.js.map +1 -0
- package/dist/shell/footer/index.js +3 -0
- package/dist/shell/footer/index.js.map +1 -0
- package/dist/shell/header/AuthenticatedMenu.d.ts +5 -0
- package/dist/shell/header/AuthenticatedMenu.js +9 -0
- package/dist/shell/header/AuthenticatedMenu.js.map +1 -0
- package/dist/shell/header/Header.d.ts +1 -0
- package/dist/shell/header/Header.js +8 -0
- package/dist/shell/header/Header.js.map +1 -0
- package/dist/shell/header/HelpButton.d.ts +5 -0
- package/dist/shell/header/HelpButton.js +10 -0
- package/dist/shell/header/HelpButton.js.map +1 -0
- package/dist/shell/header/anonymous-menu/AnonymousMenu.d.ts +5 -0
- package/dist/shell/header/anonymous-menu/AnonymousMenu.js +7 -0
- package/dist/shell/header/anonymous-menu/AnonymousMenu.js.map +1 -0
- package/dist/shell/header/anonymous-menu/LoginButton.d.ts +3 -0
- package/dist/shell/header/anonymous-menu/LoginButton.js +22 -0
- package/dist/shell/header/anonymous-menu/LoginButton.js.map +1 -0
- package/dist/shell/header/anonymous-menu/RegisterButton.d.ts +3 -0
- package/dist/shell/header/anonymous-menu/RegisterButton.js +22 -0
- package/dist/shell/header/anonymous-menu/RegisterButton.js.map +1 -0
- package/dist/shell/header/app.d.ts +4 -0
- package/dist/shell/header/app.js +157 -0
- package/dist/shell/header/app.js.map +1 -0
- package/dist/shell/header/app.scss +20 -0
- package/dist/shell/header/constants.d.ts +3 -0
- package/dist/shell/header/constants.js +4 -0
- package/dist/shell/header/constants.js.map +1 -0
- package/dist/shell/header/course-bar/data/service.d.ts +11 -0
- package/dist/shell/header/course-bar/data/service.js +49 -0
- package/dist/shell/header/course-bar/data/service.js.map +1 -0
- package/dist/shell/header/course-bar/masquerade/MasqueradeBar.d.ts +1 -0
- package/dist/shell/header/course-bar/masquerade/MasqueradeBar.js +22 -0
- package/dist/shell/header/course-bar/masquerade/MasqueradeBar.js.map +1 -0
- package/dist/shell/header/course-bar/masquerade/MasqueradeContext.d.ts +3 -0
- package/dist/shell/header/course-bar/masquerade/MasqueradeContext.js +10 -0
- package/dist/shell/header/course-bar/masquerade/MasqueradeContext.js.map +1 -0
- package/dist/shell/header/course-bar/masquerade/StudioLink.d.ts +6 -0
- package/dist/shell/header/course-bar/masquerade/StudioLink.js +27 -0
- package/dist/shell/header/course-bar/masquerade/StudioLink.js.map +1 -0
- package/dist/shell/header/course-bar/masquerade/data/api.d.ts +29 -0
- package/dist/shell/header/course-bar/masquerade/data/api.js +33 -0
- package/dist/shell/header/course-bar/masquerade/data/api.js.map +1 -0
- package/dist/shell/header/course-bar/masquerade/hooks.d.ts +20 -0
- package/dist/shell/header/course-bar/masquerade/hooks.js +203 -0
- package/dist/shell/header/course-bar/masquerade/hooks.js.map +1 -0
- package/dist/shell/header/course-bar/masquerade/index.d.ts +1 -0
- package/dist/shell/header/course-bar/masquerade/index.js +2 -0
- package/dist/shell/header/course-bar/masquerade/index.js.map +1 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeUserNameInput.d.ts +7 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeUserNameInput.js +18 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeUserNameInput.js.map +1 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeWidget.d.ts +1 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeWidget.js +16 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeWidget.js.map +1 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeWidgetOption.d.ts +6 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeWidgetOption.js +18 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeWidgetOption.js.map +1 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/index.d.ts +2 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/index.js +3 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/index.js.map +1 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/messages.d.ts +28 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/messages.js +30 -0
- package/dist/shell/header/course-bar/masquerade/masquerade-widget/messages.js.map +1 -0
- package/dist/shell/header/course-bar/masquerade/messages.d.ts +28 -0
- package/dist/shell/header/course-bar/masquerade/messages.js +30 -0
- package/dist/shell/header/course-bar/masquerade/messages.js.map +1 -0
- package/dist/shell/header/course-bar/navigation/CourseTabsNavigation.d.ts +3 -0
- package/dist/shell/header/course-bar/navigation/CourseTabsNavigation.js +39 -0
- package/dist/shell/header/course-bar/navigation/CourseTabsNavigation.js.map +1 -0
- package/dist/shell/header/course-bar/navigation/course-tabs-navigation.scss +7 -0
- package/dist/shell/header/course-bar/navigation/messages.d.ts +8 -0
- package/dist/shell/header/course-bar/navigation/messages.js +10 -0
- package/dist/shell/header/course-bar/navigation/messages.js.map +1 -0
- package/dist/shell/header/course-bar/utils.d.ts +3 -0
- package/dist/shell/header/course-bar/utils.js +54 -0
- package/dist/shell/header/course-bar/utils.js.map +1 -0
- package/dist/shell/header/desktop/DesktopLayout.d.ts +1 -0
- package/dist/shell/header/desktop/DesktopLayout.js +10 -0
- package/dist/shell/header/desktop/DesktopLayout.js.map +1 -0
- package/dist/shell/header/desktop/PrimaryNavLinks.d.ts +1 -0
- package/dist/shell/header/desktop/PrimaryNavLinks.js +7 -0
- package/dist/shell/header/desktop/PrimaryNavLinks.js.map +1 -0
- package/dist/shell/header/desktop/SecondaryNavLinks.d.ts +1 -0
- package/dist/shell/header/desktop/SecondaryNavLinks.js +7 -0
- package/dist/shell/header/desktop/SecondaryNavLinks.js.map +1 -0
- package/dist/shell/header/helpButtonSlotOperation.d.ts +6 -0
- package/dist/shell/header/helpButtonSlotOperation.js +14 -0
- package/dist/shell/header/helpButtonSlotOperation.js.map +1 -0
- package/dist/shell/header/index.d.ts +5 -0
- package/dist/shell/header/index.js +6 -0
- package/dist/shell/header/index.js.map +1 -0
- package/dist/shell/header/mobile/MobileLayout.d.ts +1 -0
- package/dist/shell/header/mobile/MobileLayout.js +17 -0
- package/dist/shell/header/mobile/MobileLayout.js.map +1 -0
- package/dist/shell/header/mobile/MobileNavLinks.d.ts +1 -0
- package/dist/shell/header/mobile/MobileNavLinks.js +7 -0
- package/dist/shell/header/mobile/MobileNavLinks.js.map +1 -0
- package/dist/shell/index.d.ts +8 -0
- package/dist/shell/index.js +9 -0
- package/dist/shell/index.js.map +1 -0
- package/dist/shell/jest.config.d.ts +15 -0
- package/dist/shell/jest.config.js +32 -0
- package/dist/shell/jest.config.js.map +1 -0
- package/dist/shell/layer-order.scss +1 -0
- package/dist/shell/menus/LinkMenuItem.d.ts +9 -0
- package/dist/shell/menus/LinkMenuItem.js +38 -0
- package/dist/shell/menus/LinkMenuItem.js.map +1 -0
- package/dist/shell/menus/NavDropdownMenuSlot.d.ts +7 -0
- package/dist/shell/menus/NavDropdownMenuSlot.js +14 -0
- package/dist/shell/menus/NavDropdownMenuSlot.js.map +1 -0
- package/dist/shell/menus/ProfileLinkMenuItem.d.ts +8 -0
- package/dist/shell/menus/ProfileLinkMenuItem.js +16 -0
- package/dist/shell/menus/ProfileLinkMenuItem.js.map +1 -0
- package/dist/shell/menus/data/utils.d.ts +4 -0
- package/dist/shell/menus/data/utils.js +13 -0
- package/dist/shell/menus/data/utils.js.map +1 -0
- package/dist/shell/router/createRouter.d.ts +1 -0
- package/dist/shell/router/createRouter.js +26 -0
- package/dist/shell/router/createRouter.js.map +1 -0
- package/dist/shell/router/getAppRoutes.d.ts +2 -0
- package/dist/shell/router/getAppRoutes.js +27 -0
- package/dist/shell/router/getAppRoutes.js.map +1 -0
- package/dist/shell/setupTest.d.ts +1 -0
- package/dist/shell/setupTest.js +12 -0
- package/dist/shell/setupTest.js.map +1 -0
- package/dist/shell/site.config.dev.d.ts +4 -0
- package/dist/shell/site.config.dev.js +43 -0
- package/dist/shell/site.config.dev.js.map +1 -0
- package/dist/shell/site.d.ts +1 -0
- package/dist/shell/site.js +45 -0
- package/dist/shell/site.js.map +1 -0
- package/dist/shell/style.d.ts +3 -0
- package/dist/shell/style.js +10 -0
- package/dist/shell/style.js.map +1 -0
- package/dist/shell/style.scss +147 -0
- package/dist/tools/babel/babel.config.d.ts +12 -0
- package/dist/tools/babel.config.d.ts +2 -0
- package/dist/tools/babel.config.js +3 -0
- package/dist/tools/cli/commands/serve.d.ts +1 -0
- package/dist/tools/cli/commands/translations.d.ts +2 -0
- package/dist/tools/cli/commands/translations.js +20 -0
- package/dist/tools/cli/openedx.d.ts +2 -0
- package/dist/tools/cli/openedx.js +111 -0
- package/dist/tools/cli/utils/ensureConfigFilenameOption.d.ts +2 -0
- package/dist/tools/cli/utils/formatter.d.ts +1 -0
- package/dist/tools/cli/utils/formatter.js +3 -0
- package/dist/tools/cli/utils/getResolvedConfigPath.d.ts +2 -0
- package/dist/tools/cli/utils/prettyPrintTitle.d.ts +1 -0
- package/dist/tools/cli/utils/printUsage.d.ts +1 -0
- package/dist/tools/cli/utils/printUsage.js +47 -0
- package/dist/tools/cli/utils/translations/index.d.ts +2 -0
- package/dist/tools/cli/utils/translations/index.js +7 -0
- package/dist/tools/cli/utils/translations/messagesObject.d.ts +26 -0
- package/dist/tools/cli/utils/translations/messagesObject.js +66 -0
- package/dist/tools/cli/utils/translations/prepare.d.ts +5 -0
- package/dist/tools/cli/utils/translations/prepare.js +98 -0
- package/dist/tools/cli/utils/translations/pull.d.ts +6 -0
- package/dist/tools/cli/utils/translations/pull.js +102 -0
- package/dist/tools/config-helpers/createConfig.d.ts +2 -0
- package/dist/tools/config-helpers/createLintConfig.d.ts +2 -0
- package/dist/tools/config-helpers/getBaseConfig.d.ts +2 -0
- package/dist/tools/defaultConfigPaths.d.ts +8 -0
- package/dist/tools/eslint/base.eslint.config.d.ts +3 -0
- package/dist/tools/eslint/base.eslint.config.js +114 -0
- package/dist/tools/eslint.config.d.ts +3 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/jest/jest.config.d.ts +14 -0
- package/dist/tools/jest.config.d.ts +8 -0
- package/dist/tools/types.d.ts +20 -0
- package/dist/tools/types.js +25 -0
- package/dist/tools/typescript/tsconfig.json +33 -0
- package/dist/tools/webpack/common-config/all/getCodeRules.d.ts +2 -0
- package/dist/tools/webpack/common-config/all/getFileLoaderRules.d.ts +11 -0
- package/dist/tools/webpack/common-config/all/getImageMinimizer.d.ts +5 -0
- package/dist/tools/webpack/common-config/all/getStylesheetRule.d.ts +12 -0
- package/dist/tools/webpack/common-config/all/getStylesheetRule.js +150 -0
- package/dist/tools/webpack/common-config/all/postcssWrapLayer.d.ts +4 -0
- package/dist/tools/webpack/common-config/all/postcssWrapLayer.js +32 -0
- package/dist/tools/webpack/common-config/dev/getDevServer.d.ts +2 -0
- package/dist/tools/webpack/common-config/dev/getDevServer.js +36 -0
- package/dist/tools/webpack/common-config/index.d.ts +7 -0
- package/dist/tools/webpack/common-config/index.js +20 -0
- package/dist/tools/webpack/common-config/site/getHtmlWebpackPlugin.d.ts +2 -0
- package/dist/tools/webpack/common-config/site/getHtmlWebpackPlugin.js +24 -0
- package/dist/tools/webpack/common-config/site/getI18nMessagesFallbackPlugin/emptyI18n.d.ts +2 -0
- package/dist/tools/webpack/common-config/site/getI18nMessagesFallbackPlugin/emptyI18n.js +3 -0
- package/dist/tools/webpack/common-config/site/getI18nMessagesFallbackPlugin/index.d.ts +2 -0
- package/dist/tools/webpack/common-config/site/getI18nMessagesFallbackPlugin/index.js +26 -0
- package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.d.ts +16 -0
- package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/index.d.ts +2 -0
- package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.d.ts +1 -0
- package/dist/tools/webpack/utils/getPublicPath.d.ts +1 -0
- package/dist/tools/webpack/utils/getPublicPath.js +6 -0
- package/dist/tools/webpack/utils/getResolvedSiteConfigPath.d.ts +1 -0
- package/dist/tools/webpack/utils/getResolvedSiteI18nPath.d.ts +1 -0
- package/dist/tools/webpack/utils/getResolvedSiteI18nPath.js +25 -0
- package/dist/tools/webpack/webpack.config.build.d.ts +3 -0
- package/dist/tools/webpack/webpack.config.build.js +78 -0
- package/dist/tools/webpack/webpack.config.dev.d.ts +3 -0
- package/dist/tools/webpack/webpack.config.dev.js +78 -0
- package/dist/tools/webpack/webpack.config.dev.shell.d.ts +3 -0
- package/dist/tools/webpack/webpack.config.dev.shell.js +105 -0
- package/dist/types.d.ts +93 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- package/package.json +45 -32
- package/config/eslint/base.eslint.config.js +0 -113
- package/config/tsconfig.json +0 -32
- package/config/types.js +0 -23
- package/config/webpack/common-config/all/getIgnoreWarnings.js +0 -14
- package/config/webpack/common-config/all/getStylesheetRule.js +0 -112
- package/config/webpack/common-config/dev/getDevServer.js +0 -38
- package/config/webpack/common-config/index.js +0 -18
- package/config/webpack/common-config/site/getHtmlWebpackPlugin.js +0 -16
- package/config/webpack/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.js +0 -66
- package/config/webpack/utils/getLocalAliases.js +0 -65
- package/config/webpack/utils/getPublicPath.js +0 -6
- package/config/webpack/webpack.config.build.js +0 -69
- package/config/webpack/webpack.config.dev.js +0 -69
- package/config/webpack/webpack.config.dev.shell.js +0 -103
- package/index.ts +0 -7
- package/runtime/__mocks__/file.js +0 -1
- package/runtime/__mocks__/svg.js +0 -1
- package/runtime/__mocks__/universal-cookie.js +0 -6
- package/runtime/analytics/MockAnalyticsService.js +0 -71
- package/runtime/analytics/SegmentAnalyticsService.js +0 -243
- package/runtime/analytics/index.ts +0 -12
- package/runtime/analytics/interface.js +0 -145
- package/runtime/analytics/interface.test.js +0 -242
- package/runtime/auth/AxiosCsrfTokenService.js +0 -60
- package/runtime/auth/AxiosJwtAuthService.js +0 -363
- package/runtime/auth/AxiosJwtAuthService.test.jsx +0 -1076
- package/runtime/auth/AxiosJwtTokenService.js +0 -134
- package/runtime/auth/LocalForageCache.js +0 -76
- package/runtime/auth/MockAuthService.js +0 -278
- package/runtime/auth/index.ts +0 -19
- package/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.js +0 -36
- package/runtime/auth/interceptors/createJwtTokenProviderInterceptor.js +0 -37
- package/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js +0 -20
- package/runtime/auth/interceptors/createRetryInterceptor.js +0 -74
- package/runtime/auth/interceptors/createRetryInterceptor.test.js +0 -23
- package/runtime/auth/interface.js +0 -309
- package/runtime/auth/utils.js +0 -105
- package/runtime/babel.config.js +0 -3
- package/runtime/config/getExternalLinkUrl.test.js +0 -76
- package/runtime/config/index.ts +0 -294
- package/runtime/constants.ts +0 -68
- package/runtime/i18n/index.js +0 -118
- package/runtime/i18n/injectIntlWithShim.jsx +0 -48
- package/runtime/i18n/lib.test.js +0 -230
- package/runtime/i18n/lib.ts +0 -272
- package/runtime/index.ts +0 -139
- package/runtime/initialize.async.function.config.test.js +0 -43
- package/runtime/initialize.const.config.test.js +0 -41
- package/runtime/initialize.function.config.test.js +0 -41
- package/runtime/initialize.js +0 -352
- package/runtime/initialize.test.js +0 -356
- package/runtime/jest.config.js +0 -33
- package/runtime/logging/MockLoggingService.js +0 -31
- package/runtime/logging/NewRelicLoggingService.js +0 -184
- package/runtime/logging/NewRelicLoggingService.test.js +0 -214
- package/runtime/logging/index.ts +0 -9
- package/runtime/logging/interface.js +0 -109
- package/runtime/logging/types.ts +0 -4
- package/runtime/react/AuthenticatedPageRoute.jsx +0 -43
- package/runtime/react/AuthenticatedPageRoute.test.jsx +0 -135
- package/runtime/react/CombinedAppProvider.tsx +0 -46
- package/runtime/react/CurrentAppContext.tsx +0 -25
- package/runtime/react/CurrentAppProvider.tsx +0 -46
- package/runtime/react/Divider.tsx +0 -5
- package/runtime/react/ErrorBoundary.jsx +0 -47
- package/runtime/react/ErrorBoundary.test.jsx +0 -83
- package/runtime/react/ErrorPage.jsx +0 -72
- package/runtime/react/LoginRedirect.jsx +0 -16
- package/runtime/react/PageWrap.jsx +0 -24
- package/runtime/react/SiteContext.tsx +0 -32
- package/runtime/react/SiteProvider.test.jsx +0 -66
- package/runtime/react/SiteProvider.tsx +0 -101
- package/runtime/react/constants.ts +0 -3
- package/runtime/react/hooks/index.ts +0 -8
- package/runtime/react/hooks/theme/useTheme.test.ts +0 -221
- package/runtime/react/hooks/theme/useTheme.ts +0 -179
- package/runtime/react/hooks/theme/useThemeConfig.test.ts +0 -107
- package/runtime/react/hooks/theme/useThemeConfig.ts +0 -34
- package/runtime/react/hooks/theme/useThemeCore.test.ts +0 -65
- package/runtime/react/hooks/theme/useThemeCore.ts +0 -52
- package/runtime/react/hooks/theme/useThemeVariants.test.ts +0 -97
- package/runtime/react/hooks/theme/useThemeVariants.ts +0 -116
- package/runtime/react/hooks/theme/useTrackColorSchemeChoice.test.ts +0 -54
- package/runtime/react/hooks/theme/useTrackColorSchemeChoice.ts +0 -30
- package/runtime/react/hooks/theme/utils.ts +0 -11
- package/runtime/react/hooks/useActiveRoles.ts +0 -15
- package/runtime/react/hooks/useActiveRouteRoleWatcher.ts +0 -31
- package/runtime/react/hooks/useAppConfig.ts +0 -9
- package/runtime/react/hooks/useAuthenticatedUser.test.tsx +0 -41
- package/runtime/react/hooks/useAuthenticatedUser.ts +0 -9
- package/runtime/react/hooks/useSiteConfig.test.tsx +0 -13
- package/runtime/react/hooks/useSiteConfig.ts +0 -9
- package/runtime/react/hooks/useSiteEvent.ts +0 -24
- package/runtime/react/index.ts +0 -19
- package/runtime/react/reducers.ts +0 -40
- package/runtime/routing/index.ts +0 -1
- package/runtime/routing/utils.test.ts +0 -7
- package/runtime/routing/utils.ts +0 -34
- package/runtime/scripts/GoogleAnalyticsLoader.test.ts +0 -77
- package/runtime/scripts/GoogleAnalyticsLoader.ts +0 -59
- package/runtime/scripts/index.ts +0 -1
- package/runtime/setupTest.js +0 -14
- package/runtime/site.config.test.tsx +0 -33
- package/runtime/slots/Slot.test.tsx +0 -40
- package/runtime/slots/Slot.tsx +0 -32
- package/runtime/slots/SlotContext.tsx +0 -8
- package/runtime/slots/hooks.ts +0 -35
- package/runtime/slots/layout/DefaultSlotLayout.test.tsx +0 -31
- package/runtime/slots/layout/DefaultSlotLayout.tsx +0 -9
- package/runtime/slots/layout/hooks.test.tsx +0 -178
- package/runtime/slots/layout/hooks.ts +0 -65
- package/runtime/slots/layout/types.ts +0 -45
- package/runtime/slots/layout/utils.test.ts +0 -67
- package/runtime/slots/layout/utils.ts +0 -14
- package/runtime/slots/types.ts +0 -24
- package/runtime/slots/utils.test.ts +0 -64
- package/runtime/slots/utils.ts +0 -78
- package/runtime/slots/widget/WidgetContext.tsx +0 -9
- package/runtime/slots/widget/WidgetProvider.tsx +0 -30
- package/runtime/slots/widget/hooks.ts +0 -105
- package/runtime/slots/widget/iframe/IFrameContentWrapper.messages.tsx +0 -16
- package/runtime/slots/widget/iframe/IFrameContentWrapper.tsx +0 -84
- package/runtime/slots/widget/iframe/IFrameWidget.tsx +0 -59
- package/runtime/slots/widget/iframe/constants.ts +0 -19
- package/runtime/slots/widget/iframe/hooks.ts +0 -179
- package/runtime/slots/widget/iframe/index.ts +0 -6
- package/runtime/slots/widget/iframe/types.ts +0 -7
- package/runtime/slots/widget/types.ts +0 -134
- package/runtime/slots/widget/utils.tsx +0 -201
- package/runtime/subscriptions.ts +0 -60
- package/runtime/testing/index.ts +0 -9
- package/runtime/testing/initializeMockApp.test.ts +0 -66
- package/runtime/testing/initializeMockApp.ts +0 -86
- package/runtime/testing/mockMessages.ts +0 -23
- package/runtime/utils.js +0 -178
- package/runtime/utils.test.js +0 -116
- package/shell/DefaultLayout.tsx +0 -18
- package/shell/DefaultMain.tsx +0 -7
- package/shell/Logo.test.tsx +0 -32
- package/shell/Logo.tsx +0 -28
- package/shell/Shell.messages.ts +0 -61
- package/shell/Shell.tsx +0 -18
- package/shell/__mocks__/file.js +0 -1
- package/shell/__mocks__/svg.js +0 -1
- package/shell/__mocks__/universal-cookie.js +0 -6
- package/shell/app.scss +0 -150
- package/shell/app.ts +0 -38
- package/shell/babel.config.js +0 -3
- package/shell/dev/devFooter/app.tsx +0 -43
- package/shell/dev/devHeader/BarContext.tsx +0 -13
- package/shell/dev/devHeader/BarLink.tsx +0 -16
- package/shell/dev/devHeader/BarProvider.tsx +0 -25
- package/shell/dev/devHeader/CoursesLink.tsx +0 -16
- package/shell/dev/devHeader/FooContext.tsx +0 -13
- package/shell/dev/devHeader/FooLink.tsx +0 -16
- package/shell/dev/devHeader/FooProvider.tsx +0 -25
- package/shell/dev/devHeader/app.tsx +0 -53
- package/shell/dev/devHeader/providers.tsx +0 -11
- package/shell/dev/devHome/HomePage.tsx +0 -28
- package/shell/dev/devHome/app.ts +0 -18
- package/shell/dev/devHome/i18n/index.ts +0 -27
- package/shell/dev/devHome/messages.ts +0 -11
- package/shell/dev/devUser/app.tsx +0 -24
- package/shell/dev/devUser/index.ts +0 -1
- package/shell/dev/index.ts +0 -5
- package/shell/dev/slotShowcase/HorizontalSlotLayout.tsx +0 -11
- package/shell/dev/slotShowcase/LayoutWithOptions.tsx +0 -17
- package/shell/dev/slotShowcase/SlotShowcasePage.tsx +0 -66
- package/shell/dev/slotShowcase/WidgetWithOptions.tsx +0 -11
- package/shell/dev/slotShowcase/app.tsx +0 -373
- package/shell/footer/CenterLinks.tsx +0 -11
- package/shell/footer/CopyrightNotice.tsx +0 -36
- package/shell/footer/Footer.tsx +0 -34
- package/shell/footer/LabeledLinkColumn.tsx +0 -19
- package/shell/footer/LanguageMenu.tsx +0 -35
- package/shell/footer/LanguageMenuItem.tsx +0 -23
- package/shell/footer/LeftLinks.tsx +0 -11
- package/shell/footer/LegalNotices.tsx +0 -17
- package/shell/footer/PoweredBy.tsx +0 -17
- package/shell/footer/RevealLinks.tsx +0 -43
- package/shell/footer/RightLinks.tsx +0 -11
- package/shell/footer/app.tsx +0 -73
- package/shell/footer/data/api.ts +0 -48
- package/shell/header/AuthenticatedMenu.tsx +0 -32
- package/shell/header/Header.tsx +0 -17
- package/shell/header/anonymous-menu/AnonymousMenu.tsx +0 -14
- package/shell/header/anonymous-menu/LoginButton.tsx +0 -14
- package/shell/header/anonymous-menu/RegisterButton.tsx +0 -15
- package/shell/header/app.tsx +0 -142
- package/shell/header/desktop/DesktopLayout.tsx +0 -22
- package/shell/header/desktop/PrimaryNavLinks.tsx +0 -10
- package/shell/header/desktop/SecondaryNavLinks.tsx +0 -10
- package/shell/header/index.ts +0 -2
- package/shell/header/mobile/MobileLayout.tsx +0 -47
- package/shell/header/mobile/MobileNavLinks.tsx +0 -10
- package/shell/i18n/index.ts +0 -25
- package/shell/index.ts +0 -7
- package/shell/jest.config.js +0 -31
- package/shell/menus/LinkMenuItem.tsx +0 -64
- package/shell/menus/NavDropdownMenuSlot.tsx +0 -29
- package/shell/menus/ProfileLinkMenuItem.tsx +0 -33
- package/shell/menus/data/utils.ts +0 -19
- package/shell/public/index.html +0 -10
- package/shell/router/createRouter.test.tsx +0 -50
- package/shell/router/createRouter.ts +0 -17
- package/shell/router/getAppRoutes.test.tsx +0 -59
- package/shell/router/getAppRoutes.ts +0 -21
- package/shell/setupTest.js +0 -13
- package/shell/site.config.dev.tsx +0 -49
- package/shell/site.config.test.tsx +0 -16
- package/shell/site.tsx +0 -41
- package/tools/dist/babel/babel.config.js +0 -28
- package/tools/dist/cli/intl-imports.js +0 -233
- package/tools/dist/cli/intl-imports.test.js +0 -146
- package/tools/dist/cli/openedx.js +0 -86
- package/tools/dist/cli/transifex-utils.js +0 -68
- package/tools/dist/cli/utils/formatter.js +0 -10
- package/tools/dist/cli/utils/printUsage.js +0 -39
- package/tools/dist/config-helpers/createConfig.js +0 -13
- package/tools/dist/config-helpers/createLintConfig.js +0 -16
- package/tools/dist/config-helpers/getBaseConfig.js +0 -12
- package/tools/dist/defaultConfigPaths.js +0 -35
- package/tools/dist/eslint/base.eslint.config.js +0 -113
- package/tools/dist/index.js +0 -12
- package/tools/dist/jest/jest.config.js +0 -30
- package/tools/dist/types.js +0 -23
- package/tools/dist/typescript/tsconfig.json +0 -32
- package/tools/dist/webpack/common-config/all/getCodeRules.js +0 -52
- package/tools/dist/webpack/common-config/all/getFileLoaderRules.js +0 -26
- package/tools/dist/webpack/common-config/all/getIgnoreWarnings.js +0 -14
- package/tools/dist/webpack/common-config/all/getImageMinimizer.js +0 -25
- package/tools/dist/webpack/common-config/all/getStylesheetRule.js +0 -112
- package/tools/dist/webpack/common-config/dev/getDevServer.js +0 -38
- package/tools/dist/webpack/common-config/index.js +0 -18
- package/tools/dist/webpack/common-config/site/getHtmlWebpackPlugin.js +0 -16
- package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.js +0 -91
- package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/index.js +0 -7
- package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.js +0 -66
- package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.js +0 -3
- package/tools/dist/webpack/utils/getLocalAliases.js +0 -65
- package/tools/dist/webpack/utils/getPublicPath.js +0 -6
- package/tools/dist/webpack/utils/getResolvedSiteConfigPath.js +0 -32
- package/tools/dist/webpack/webpack.config.build.js +0 -69
- package/tools/dist/webpack/webpack.config.dev.js +0 -69
- package/tools/dist/webpack/webpack.config.dev.shell.js +0 -103
- package/types.ts +0 -119
- /package/{runtime/react/hooks/theme/index.ts → dist/runtime/react/hooks/theme/index.d.ts} +0 -0
- /package/{runtime/slots/index.ts → dist/runtime/slots/index.d.ts} +0 -0
- /package/{runtime/slots/layout/index.ts → dist/runtime/slots/layout/index.d.ts} +0 -0
- /package/{runtime/slots/widget/index.ts → dist/runtime/slots/widget/index.d.ts} +0 -0
- /package/{shell/dev/devFooter/index.ts → dist/shell/dev/devFooter/index.d.ts} +0 -0
- /package/{shell/dev/devHeader/index.ts → dist/shell/dev/devHeader/index.d.ts} +0 -0
- /package/{shell/dev/devHome/index.ts → dist/shell/dev/devHome/index.d.ts} +0 -0
- /package/{shell/dev/slotShowcase/index.ts → dist/shell/dev/slotShowcase/index.d.ts} +0 -0
- /package/{shell/footer/index.ts → dist/shell/footer/index.d.ts} +0 -0
- /package/{config → dist/tools}/babel/babel.config.js +0 -0
- /package/{tools/dist → dist/tools}/cli/commands/serve.js +0 -0
- /package/{tools/dist → dist/tools}/cli/utils/ensureConfigFilenameOption.js +0 -0
- /package/{tools/dist → dist/tools}/cli/utils/getResolvedConfigPath.js +0 -0
- /package/{tools/dist → dist/tools}/cli/utils/prettyPrintTitle.js +0 -0
- /package/{config → dist/tools}/config-helpers/createConfig.js +0 -0
- /package/{config → dist/tools}/config-helpers/createLintConfig.js +0 -0
- /package/{config → dist/tools}/config-helpers/getBaseConfig.js +0 -0
- /package/{config → dist/tools}/defaultConfigPaths.js +0 -0
- /package/{tools/dist → dist/tools}/eslint.config.js +0 -0
- /package/{config → dist/tools}/index.js +0 -0
- /package/{config → dist/tools}/jest/jest.config.js +0 -0
- /package/{tools/dist → dist/tools}/jest.config.js +0 -0
- /package/{config → dist/tools}/webpack/common-config/all/getCodeRules.js +0 -0
- /package/{config → dist/tools}/webpack/common-config/all/getFileLoaderRules.js +0 -0
- /package/{config → dist/tools}/webpack/common-config/all/getImageMinimizer.js +0 -0
- /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.js +0 -0
- /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/index.js +0 -0
- /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.js +0 -0
- /package/{config → dist/tools}/webpack/utils/getResolvedSiteConfigPath.js +0 -0
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import merge from 'lodash/merge';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import Cookies from 'universal-cookie';
|
|
4
|
+
import { getSiteConfig } from '../config';
|
|
5
|
+
import { publish } from '../subscriptions';
|
|
6
|
+
const cookies = new Cookies();
|
|
7
|
+
// This list is based on https://help.smartling.com/hc/en-us/articles/1260802028830-Right-to-left-RTL-Languages
|
|
8
|
+
// There are very few resources available online outlining the locale codes for RTL languages;
|
|
9
|
+
// If this list is inaccurate, we should change it.
|
|
10
|
+
const rtlLocales = [
|
|
11
|
+
'ar', // Arabic (International)
|
|
12
|
+
'ar-ae', // Arabic (United Arab Emirates)
|
|
13
|
+
'ar-bh', // Arabic (Bahrain)
|
|
14
|
+
'ar-dj', // Arabic (Djibouti)
|
|
15
|
+
'ar-dz', // Arabic (Algeria)
|
|
16
|
+
'ar-eg', // Arabic (Egypt)
|
|
17
|
+
'ar-iq', // Arabic (Iraq)
|
|
18
|
+
'ar-jo', // Arabic (Jordan)
|
|
19
|
+
'ar-kw', // Arabic (Kuwait)
|
|
20
|
+
'ar-lb', // Arabic (Lebanon)
|
|
21
|
+
'ar-ly', // Arabic (Libya)
|
|
22
|
+
'ar-ma', // Arabic (Morocco)
|
|
23
|
+
'ar-om', // Arabic (Oman)
|
|
24
|
+
'ar-qa', // Arabic (Qatar)
|
|
25
|
+
'ar-sa', // Arabic (Saudi Arabia)
|
|
26
|
+
'ar-sd', // Arabic (Sudan)
|
|
27
|
+
'ar-sy', // Arabic (Syria)
|
|
28
|
+
'ar-tn', // Arabic (Tunisia)
|
|
29
|
+
'ar-ye', // Arabic (Yemen)
|
|
30
|
+
'fa', // Persian
|
|
31
|
+
'fa-af', // Dari/Persian (Afghanistan)
|
|
32
|
+
'fa-ir', // Persian (Iran)
|
|
33
|
+
'he', // Hebrew (he)
|
|
34
|
+
'he-il', // Hebrew
|
|
35
|
+
'iw', // Hebrew (iw)
|
|
36
|
+
'kd', // Kurdish (Sorani) RTL
|
|
37
|
+
'pk-pk', // Panjabi-Shahmuki (Pakistan)
|
|
38
|
+
'ps', // Pushto; Pashto
|
|
39
|
+
'ug', // Uighur; Uyghur
|
|
40
|
+
'ur', // Urdu
|
|
41
|
+
'ur-in', // Urdu (India)
|
|
42
|
+
'ur-pk', // Urdu (Pakistan)
|
|
43
|
+
'yi', // Yiddish
|
|
44
|
+
'yi-us', // Yiddish (United States)
|
|
45
|
+
];
|
|
46
|
+
let messages;
|
|
47
|
+
/**
|
|
48
|
+
* @memberof module:Internationalization
|
|
49
|
+
*
|
|
50
|
+
* Prior versions of react-intl (our primary implementation of the i18n service) included a
|
|
51
|
+
* PropTypes-based 'shape' for its `intl` object. This has since been removed. For legacy
|
|
52
|
+
* compatibility, we include an `intlShape` export that is set to PropTypes.object. Usage of this
|
|
53
|
+
* export is deprecated.
|
|
54
|
+
*
|
|
55
|
+
* @deprecated
|
|
56
|
+
*/
|
|
57
|
+
export const intlShape = PropTypes.object;
|
|
58
|
+
/**
|
|
59
|
+
* @memberof module:Internationalization
|
|
60
|
+
*/
|
|
61
|
+
export const LOCALE_TOPIC = 'LOCALE';
|
|
62
|
+
/**
|
|
63
|
+
* @memberof module:Internationalization
|
|
64
|
+
*/
|
|
65
|
+
export const LOCALE_CHANGED = `${LOCALE_TOPIC}.CHANGED`;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @memberof module:Internationalization
|
|
69
|
+
* @returns {Cookies}
|
|
70
|
+
*/
|
|
71
|
+
export function getCookies() {
|
|
72
|
+
return cookies;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Some of our dependencies function on primary language subtags, rather than full locales.
|
|
76
|
+
* This function strips a locale down to that first subtag. Depending on the code, this
|
|
77
|
+
* may be 2 or more characters.
|
|
78
|
+
*
|
|
79
|
+
* @param {string} code
|
|
80
|
+
* @memberof module:Internationalization
|
|
81
|
+
*/
|
|
82
|
+
export function getPrimaryLanguageSubtag(code) {
|
|
83
|
+
return code.split('-')[0];
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Finds the closest supported locale to the one provided. This is done in three steps:
|
|
87
|
+
*
|
|
88
|
+
* 1. Returning the locale itself if its exact language code is supported.
|
|
89
|
+
* 2. Returning the primary language subtag of the language code if it is supported (ar for ar-eg,
|
|
90
|
+
* for instance).
|
|
91
|
+
* 3. Returning 'en' if neither of the above produce a supported locale.
|
|
92
|
+
*
|
|
93
|
+
* @param {string} locale
|
|
94
|
+
* @returns {string}
|
|
95
|
+
* @memberof module:Internationalization
|
|
96
|
+
*/
|
|
97
|
+
export function findSupportedLocale(locale) {
|
|
98
|
+
if (messages === undefined) {
|
|
99
|
+
throw new Error('findSupportedLocale called before configuring i18n. Call configureI18n with messages first.');
|
|
100
|
+
}
|
|
101
|
+
if (messages[locale] !== undefined) {
|
|
102
|
+
return locale;
|
|
103
|
+
}
|
|
104
|
+
if (messages[getPrimaryLanguageSubtag(locale)] !== undefined) {
|
|
105
|
+
return getPrimaryLanguageSubtag(locale);
|
|
106
|
+
}
|
|
107
|
+
return 'en';
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get the locale from the cookie or, failing that, the browser setting.
|
|
111
|
+
* Gracefully fall back to a more general primary language subtag or to English (en)
|
|
112
|
+
* if we don't support that language.
|
|
113
|
+
*
|
|
114
|
+
* @param {string|undefined} locale If a locale is provided, returns the closest supported locale. Optional.
|
|
115
|
+
* @throws An error if i18n has not yet been configured.
|
|
116
|
+
* @returns {string}
|
|
117
|
+
* @memberof module:Internationalization
|
|
118
|
+
*/
|
|
119
|
+
export function getLocale(locale) {
|
|
120
|
+
if (messages === null) {
|
|
121
|
+
throw new Error('getLocale called before configuring i18n. Call configureI18n with messages first.');
|
|
122
|
+
}
|
|
123
|
+
// 1. Explicit application request
|
|
124
|
+
if (locale !== undefined) {
|
|
125
|
+
return findSupportedLocale(locale);
|
|
126
|
+
}
|
|
127
|
+
// 2. User setting in cookie
|
|
128
|
+
const { languagePreferenceCookieName } = getSiteConfig();
|
|
129
|
+
if (languagePreferenceCookieName) {
|
|
130
|
+
const languagePreference = cookies.get(languagePreferenceCookieName);
|
|
131
|
+
if (languagePreference) {
|
|
132
|
+
return findSupportedLocale(languagePreference.toLowerCase());
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// 3. Browser language (default)
|
|
136
|
+
// Note that some browers prefer upper case for the region part of the locale, while others don't.
|
|
137
|
+
// Thus the toLowerCase, for consistency.
|
|
138
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/NavigatorLanguage/language
|
|
139
|
+
return findSupportedLocale(globalThis.navigator.language.toLowerCase());
|
|
140
|
+
}
|
|
141
|
+
export function getLocalizedLanguageName(locale) {
|
|
142
|
+
const localizedName = (new Intl.DisplayNames([locale], { type: 'language' })).of(locale);
|
|
143
|
+
if (localizedName === undefined) {
|
|
144
|
+
throw new Error(`Unsupported locale: ${locale}`);
|
|
145
|
+
}
|
|
146
|
+
return `${localizedName.charAt(0).toLocaleUpperCase(locale)}${localizedName.slice(1)}`;
|
|
147
|
+
}
|
|
148
|
+
export function getSupportedLanguageList() {
|
|
149
|
+
const locales = Object.keys(messages);
|
|
150
|
+
locales.push('en'); // 'en' is not in the messages object because it's the default.
|
|
151
|
+
locales.sort();
|
|
152
|
+
return locales.map((locale) => ({
|
|
153
|
+
code: locale,
|
|
154
|
+
name: getLocalizedLanguageName(locale),
|
|
155
|
+
}));
|
|
156
|
+
}
|
|
157
|
+
export function updateLocale() {
|
|
158
|
+
handleRtl();
|
|
159
|
+
publish(LOCALE_CHANGED);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Returns messages for the provided locale, or the user's preferred locale if no argument is
|
|
163
|
+
* provided.
|
|
164
|
+
*
|
|
165
|
+
* @param {string} [locale=getLocale()]
|
|
166
|
+
* @memberof module:Internationalization
|
|
167
|
+
*/
|
|
168
|
+
export function getMessages(locale = getLocale()) {
|
|
169
|
+
if (messages === undefined) {
|
|
170
|
+
throw new Error('getMessages called before configuring i18n. Call configureI18n with messages first.');
|
|
171
|
+
}
|
|
172
|
+
return messages[locale];
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Determines if the provided locale is a right-to-left language.
|
|
176
|
+
*
|
|
177
|
+
* @param {string} locale
|
|
178
|
+
* @memberof module:Internationalization
|
|
179
|
+
*/
|
|
180
|
+
export function isRtl(locale) {
|
|
181
|
+
return rtlLocales.includes(locale);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Handles applying the RTL stylesheet and "dir=rtl" attribute to the html tag if the current locale
|
|
185
|
+
* is a RTL language.
|
|
186
|
+
*
|
|
187
|
+
* @memberof module:Internationalization
|
|
188
|
+
*/
|
|
189
|
+
export function handleRtl() {
|
|
190
|
+
if (isRtl(getLocale())) {
|
|
191
|
+
globalThis.document.getElementsByTagName('html')[0].setAttribute('dir', 'rtl');
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
globalThis.document.getElementsByTagName('html')[0].setAttribute('dir', 'ltr');
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
*
|
|
199
|
+
*
|
|
200
|
+
* @param {Object} newMessages
|
|
201
|
+
* @returns {Object}
|
|
202
|
+
* @memberof module:Internationalization
|
|
203
|
+
*/
|
|
204
|
+
export function mergeMessages(newMessages = {}) {
|
|
205
|
+
const msgs = Array.isArray(newMessages) ? merge({}, ...newMessages) : newMessages;
|
|
206
|
+
messages = merge(messages, msgs);
|
|
207
|
+
return messages;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Configures the i18n library with messages for your application.
|
|
211
|
+
*
|
|
212
|
+
* Logs a warning if it detects a locale it doesn't expect (as defined by the supportedLocales list
|
|
213
|
+
* above), or if an expected locale is not provided.
|
|
214
|
+
*
|
|
215
|
+
* @param {Object} options
|
|
216
|
+
* @param {Object} options.messages
|
|
217
|
+
* @memberof module:Internationalization
|
|
218
|
+
*/
|
|
219
|
+
export function configureI18n(options) {
|
|
220
|
+
messages = Array.isArray(options.messages) ? merge({}, ...options.messages) : options.messages;
|
|
221
|
+
handleRtl();
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=lib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../runtime/i18n/lib.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AACjC,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,+GAA+G;AAC/G,8FAA8F;AAC9F,mDAAmD;AACnD,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,yBAAyB;IAC/B,OAAO,EAAE,gCAAgC;IACzC,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,oBAAoB;IAC7B,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,gBAAgB;IACzB,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,gBAAgB;IACzB,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,wBAAwB;IACjC,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,iBAAiB;IAC1B,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,6BAA6B;IACtC,OAAO,EAAE,iBAAiB;IAC1B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,8BAA8B;IACvC,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,0BAA0B;CACpC,CAAC;AAEF,IAAI,QAAqG,CAAC;AAE1G;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;AAErC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,YAAY,UAAU,CAAC;AAExD;;;;GAIG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAI;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAM;IACxC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;IACjH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,QAAQ,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC7D,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,MAAe;IACvC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;IACvG,CAAC;IAED,kCAAkC;IAClC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,4BAA4B;IAE5B,MAAM,EAAE,4BAA4B,EAAE,GAAG,aAAa,EAAE,CAAC;IACzD,IAAI,4BAA4B,EAAE,CAAC;QACjC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACrE,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,kGAAkG;IAClG,yCAAyC;IACzC,8EAA8E;IAC9E,OAAO,mBAAmB,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAM;IAC7C,MAAM,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAEzF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,+DAA+D;IACnF,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC;KACvC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,cAAc,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,MAAM,GAAG,SAAS,EAAE;IAC9C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACzG,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,MAAM;IAC1B,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS;IACvB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;QACvB,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,WAAW,GAAG,EAAE;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAClF,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEjC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAMD;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,OAA6B;IACzD,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAE/F,SAAS,EAAE,CAAC;AACd,CAAC","sourcesContent":["import merge from 'lodash/merge';\nimport PropTypes from 'prop-types';\nimport { MessageFormatElement } from 'react-intl';\nimport Cookies from 'universal-cookie';\n\nimport { LocalizedMessages } from '../../types';\nimport { getSiteConfig } from '../config';\nimport { publish } from '../subscriptions';\n\nconst cookies = new Cookies();\n\n// This list is based on https://help.smartling.com/hc/en-us/articles/1260802028830-Right-to-left-RTL-Languages\n// There are very few resources available online outlining the locale codes for RTL languages;\n// If this list is inaccurate, we should change it.\nconst rtlLocales = [\n 'ar', // Arabic (International)\n 'ar-ae', // Arabic (United Arab Emirates)\n 'ar-bh', // Arabic (Bahrain)\n 'ar-dj', // Arabic (Djibouti)\n 'ar-dz', // Arabic (Algeria)\n 'ar-eg', // Arabic (Egypt)\n 'ar-iq', // Arabic (Iraq)\n 'ar-jo', // Arabic (Jordan)\n 'ar-kw', // Arabic (Kuwait)\n 'ar-lb', // Arabic (Lebanon)\n 'ar-ly', // Arabic (Libya)\n 'ar-ma', // Arabic (Morocco)\n 'ar-om', // Arabic (Oman)\n 'ar-qa', // Arabic (Qatar)\n 'ar-sa', // Arabic (Saudi Arabia)\n 'ar-sd', // Arabic (Sudan)\n 'ar-sy', // Arabic (Syria)\n 'ar-tn', // Arabic (Tunisia)\n 'ar-ye', // Arabic (Yemen)\n 'fa', // Persian\n 'fa-af', // Dari/Persian (Afghanistan)\n 'fa-ir', // Persian (Iran)\n 'he', // Hebrew (he)\n 'he-il', // Hebrew\n 'iw', // Hebrew (iw)\n 'kd', // Kurdish (Sorani) RTL\n 'pk-pk', // Panjabi-Shahmuki (Pakistan)\n 'ps', // Pushto; Pashto\n 'ug', // Uighur; Uyghur\n 'ur', // Urdu\n 'ur-in', // Urdu (India)\n 'ur-pk', // Urdu (Pakistan)\n 'yi', // Yiddish\n 'yi-us', // Yiddish (United States)\n];\n\nlet messages: Record<string, Record<string, string> | Record<string, MessageFormatElement[]> | undefined>;\n\n/**\n * @memberof module:Internationalization\n *\n * Prior versions of react-intl (our primary implementation of the i18n service) included a\n * PropTypes-based 'shape' for its `intl` object. This has since been removed. For legacy\n * compatibility, we include an `intlShape` export that is set to PropTypes.object. Usage of this\n * export is deprecated.\n *\n * @deprecated\n */\nexport const intlShape = PropTypes.object;\n\n/**\n * @memberof module:Internationalization\n */\nexport const LOCALE_TOPIC = 'LOCALE';\n\n/**\n * @memberof module:Internationalization\n */\nexport const LOCALE_CHANGED = `${LOCALE_TOPIC}.CHANGED`;\n\n/**\n *\n * @memberof module:Internationalization\n * @returns {Cookies}\n */\nexport function getCookies() {\n return cookies;\n}\n\n/**\n * Some of our dependencies function on primary language subtags, rather than full locales.\n * This function strips a locale down to that first subtag. Depending on the code, this\n * may be 2 or more characters.\n *\n * @param {string} code\n * @memberof module:Internationalization\n */\nexport function getPrimaryLanguageSubtag(code) {\n return code.split('-')[0];\n}\n\n/**\n * Finds the closest supported locale to the one provided. This is done in three steps:\n *\n * 1. Returning the locale itself if its exact language code is supported.\n * 2. Returning the primary language subtag of the language code if it is supported (ar for ar-eg,\n * for instance).\n * 3. Returning 'en' if neither of the above produce a supported locale.\n *\n * @param {string} locale\n * @returns {string}\n * @memberof module:Internationalization\n */\nexport function findSupportedLocale(locale) {\n if (messages === undefined) {\n throw new Error('findSupportedLocale called before configuring i18n. Call configureI18n with messages first.');\n }\n\n if (messages[locale] !== undefined) {\n return locale;\n }\n\n if (messages[getPrimaryLanguageSubtag(locale)] !== undefined) {\n return getPrimaryLanguageSubtag(locale);\n }\n\n return 'en';\n}\n\n/**\n * Get the locale from the cookie or, failing that, the browser setting.\n * Gracefully fall back to a more general primary language subtag or to English (en)\n * if we don't support that language.\n *\n * @param {string|undefined} locale If a locale is provided, returns the closest supported locale. Optional.\n * @throws An error if i18n has not yet been configured.\n * @returns {string}\n * @memberof module:Internationalization\n */\nexport function getLocale(locale?: string) {\n if (messages === null) {\n throw new Error('getLocale called before configuring i18n. Call configureI18n with messages first.');\n }\n\n // 1. Explicit application request\n if (locale !== undefined) {\n return findSupportedLocale(locale);\n }\n // 2. User setting in cookie\n\n const { languagePreferenceCookieName } = getSiteConfig();\n if (languagePreferenceCookieName) {\n const languagePreference = cookies.get(languagePreferenceCookieName);\n if (languagePreference) {\n return findSupportedLocale(languagePreference.toLowerCase());\n }\n }\n\n // 3. Browser language (default)\n // Note that some browers prefer upper case for the region part of the locale, while others don't.\n // Thus the toLowerCase, for consistency.\n // https://developer.mozilla.org/en-US/docs/Web/API/NavigatorLanguage/language\n return findSupportedLocale(globalThis.navigator.language.toLowerCase());\n}\n\nexport function getLocalizedLanguageName(locale) {\n const localizedName = (new Intl.DisplayNames([locale], { type: 'language' })).of(locale);\n\n if (localizedName === undefined) {\n throw new Error(`Unsupported locale: ${locale}`);\n }\n\n return `${localizedName.charAt(0).toLocaleUpperCase(locale)}${localizedName.slice(1)}`;\n}\n\nexport function getSupportedLanguageList() {\n const locales = Object.keys(messages);\n locales.push('en'); // 'en' is not in the messages object because it's the default.\n locales.sort();\n\n return locales.map((locale) => ({\n code: locale,\n name: getLocalizedLanguageName(locale),\n }));\n}\n\nexport function updateLocale() {\n handleRtl();\n publish(LOCALE_CHANGED);\n}\n\n/**\n * Returns messages for the provided locale, or the user's preferred locale if no argument is\n * provided.\n *\n * @param {string} [locale=getLocale()]\n * @memberof module:Internationalization\n */\nexport function getMessages(locale = getLocale()) {\n if (messages === undefined) {\n throw new Error('getMessages called before configuring i18n. Call configureI18n with messages first.');\n }\n\n return messages[locale];\n}\n\n/**\n * Determines if the provided locale is a right-to-left language.\n *\n * @param {string} locale\n * @memberof module:Internationalization\n */\nexport function isRtl(locale) {\n return rtlLocales.includes(locale);\n}\n\n/**\n * Handles applying the RTL stylesheet and \"dir=rtl\" attribute to the html tag if the current locale\n * is a RTL language.\n *\n * @memberof module:Internationalization\n */\nexport function handleRtl() {\n if (isRtl(getLocale())) {\n globalThis.document.getElementsByTagName('html')[0].setAttribute('dir', 'rtl');\n } else {\n globalThis.document.getElementsByTagName('html')[0].setAttribute('dir', 'ltr');\n }\n}\n\n/**\n *\n *\n * @param {Object} newMessages\n * @returns {Object}\n * @memberof module:Internationalization\n */\nexport function mergeMessages(newMessages = {}) {\n const msgs = Array.isArray(newMessages) ? merge({}, ...newMessages) : newMessages;\n messages = merge(messages, msgs);\n\n return messages;\n}\n\ninterface ConfigureI18nOptions {\n messages: LocalizedMessages[] | LocalizedMessages,\n}\n\n/**\n * Configures the i18n library with messages for your application.\n *\n * Logs a warning if it detects a locale it doesn't expect (as defined by the supportedLocales list\n * above), or if an expected locale is not provided.\n *\n * @param {Object} options\n * @param {Object} options.messages\n * @memberof module:Internationalization\n */\nexport function configureI18n(options: ConfigureI18nOptions) {\n messages = Array.isArray(options.messages) ? merge({}, ...options.messages) : options.messages;\n\n handleRtl();\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { configureAnalytics, getAnalyticsService, identifyAnonymousUser, identifyAuthenticatedUser, MockAnalyticsService, resetAnalyticsService, SegmentAnalyticsService, sendPageEvent, sendTrackEvent, sendTrackingLogEvent } from './analytics';
|
|
2
|
+
export { AUTHENTICATED_USER_CHANGED, AUTHENTICATED_USER_TOPIC, AxiosJwtAuthService, configureAuth, ensureAuthenticatedUser, fetchAuthenticatedUser, getAuthenticatedHttpClient, getAuthenticatedUser, getAuthService, getHttpClient, getLoginRedirectUrl, getLogoutRedirectUrl, hydrateAuthenticatedUser, MockAuthService, redirectToLogin, redirectToLogout, setAuthenticatedUser } from './auth';
|
|
3
|
+
export { getSiteConfig, setSiteConfig, mergeSiteConfig, addAppConfigs, getAppConfig, mergeAppConfig, setActiveRouteRoles, getActiveRouteRoles, addActiveWidgetRole, removeActiveWidgetRole, getActiveWidgetRoles, getActiveRoles, getExternalLinkUrl, getProvides, getProvidesAsStrings } from './config';
|
|
4
|
+
export * from './constants';
|
|
5
|
+
export { configureI18n, createIntl, defineMessages, FormattedDate, FormattedMessage, FormattedNumber, FormattedPlural, FormattedRelativeTime, FormattedTime, getLocale, getLocalizedLanguageName, getMessages, getPrimaryLanguageSubtag, getSupportedLanguageList, handleRtl, injectIntl, IntlProvider, intlShape, isRtl, LOCALE_CHANGED, LOCALE_TOPIC, mergeMessages, updateLocale, useIntl } from './i18n';
|
|
6
|
+
export { auth, getBasename, initError, initialize } from './initialize';
|
|
7
|
+
export { loadExternalScripts } from './scripts';
|
|
8
|
+
export { configureLogging, getLoggingService, logError, logInfo, MockLoggingService, NewRelicLoggingService, resetLoggingService } from './logging';
|
|
9
|
+
export { CurrentAppContext, CurrentAppProvider, SiteContext, SiteProvider, AuthenticatedPageRoute, Divider, ErrorBoundary, ErrorPage, LoginRedirect, PageWrap, useSiteEvent, useAuthenticatedUser, useSiteConfig, useAppConfig } from './react';
|
|
10
|
+
export { authenticatedLoader, getUrlByRouteRole, isRoleRouteObject } from './routing';
|
|
11
|
+
export { clearAllSubscriptions, publish, subscribe, unsubscribe } from './subscriptions';
|
|
12
|
+
export { initializeMockApp, mockMessages } from './testing';
|
|
13
|
+
export { camelCaseObject, convertKeyNames, getQueryParameters, isValidVariableName, modifyObjectKeys, snakeCaseObject } from './utils';
|
|
14
|
+
export * from './slots';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { configureAnalytics, getAnalyticsService, identifyAnonymousUser, identifyAuthenticatedUser, MockAnalyticsService, resetAnalyticsService, SegmentAnalyticsService, sendPageEvent, sendTrackEvent, sendTrackingLogEvent } from './analytics';
|
|
2
|
+
export { AUTHENTICATED_USER_CHANGED, AUTHENTICATED_USER_TOPIC, AxiosJwtAuthService, configureAuth, ensureAuthenticatedUser, fetchAuthenticatedUser, getAuthenticatedHttpClient, getAuthenticatedUser, getAuthService, getHttpClient, getLoginRedirectUrl, getLogoutRedirectUrl, hydrateAuthenticatedUser, MockAuthService, redirectToLogin, redirectToLogout, setAuthenticatedUser } from './auth';
|
|
3
|
+
export { getSiteConfig, setSiteConfig, mergeSiteConfig, addAppConfigs, getAppConfig, mergeAppConfig, setActiveRouteRoles, getActiveRouteRoles, addActiveWidgetRole, removeActiveWidgetRole, getActiveWidgetRoles, getActiveRoles, getExternalLinkUrl, getProvides, getProvidesAsStrings } from './config';
|
|
4
|
+
export * from './constants';
|
|
5
|
+
export { configureI18n, createIntl, defineMessages, FormattedDate, FormattedMessage, FormattedNumber, FormattedPlural, FormattedRelativeTime, FormattedTime, getLocale, getLocalizedLanguageName, getMessages, getPrimaryLanguageSubtag, getSupportedLanguageList, handleRtl, injectIntl, IntlProvider, intlShape, isRtl, LOCALE_CHANGED, LOCALE_TOPIC, mergeMessages, updateLocale, useIntl } from './i18n';
|
|
6
|
+
export { auth, getBasename, initError, initialize } from './initialize';
|
|
7
|
+
export { loadExternalScripts } from './scripts';
|
|
8
|
+
export { configureLogging, getLoggingService, logError, logInfo, MockLoggingService, NewRelicLoggingService, resetLoggingService } from './logging';
|
|
9
|
+
export { CurrentAppContext, CurrentAppProvider, SiteContext, SiteProvider, AuthenticatedPageRoute, Divider, ErrorBoundary, ErrorPage, LoginRedirect, PageWrap, useSiteEvent, useAuthenticatedUser, useSiteConfig, useAppConfig } from './react';
|
|
10
|
+
export { authenticatedLoader, getUrlByRouteRole, isRoleRouteObject } from './routing';
|
|
11
|
+
export { clearAllSubscriptions, publish, subscribe, unsubscribe } from './subscriptions';
|
|
12
|
+
export { initializeMockApp, mockMessages } from './testing';
|
|
13
|
+
export { camelCaseObject, convertKeyNames, getQueryParameters, isValidVariableName, modifyObjectKeys, snakeCaseObject } from './utils';
|
|
14
|
+
export * from './slots';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACb,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,cAAc,aAAa,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,wBAAwB,EACxB,WAAW,EACX,wBAAwB,EACxB,wBAAwB,EACxB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,KAAK,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,OAAO,EACR,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,SAAS,EACT,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,OAAO,EACP,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,SAAS,EACT,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,qBAAqB,EACrB,OAAO,EACP,SAAS,EACT,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,cAAc,SAAS,CAAC","sourcesContent":["export {\n configureAnalytics,\n getAnalyticsService,\n identifyAnonymousUser,\n identifyAuthenticatedUser,\n MockAnalyticsService,\n resetAnalyticsService,\n SegmentAnalyticsService,\n sendPageEvent,\n sendTrackEvent,\n sendTrackingLogEvent\n} from './analytics';\n\nexport {\n AUTHENTICATED_USER_CHANGED,\n AUTHENTICATED_USER_TOPIC,\n AxiosJwtAuthService,\n configureAuth,\n ensureAuthenticatedUser,\n fetchAuthenticatedUser,\n getAuthenticatedHttpClient,\n getAuthenticatedUser,\n getAuthService,\n getHttpClient,\n getLoginRedirectUrl,\n getLogoutRedirectUrl,\n hydrateAuthenticatedUser,\n MockAuthService,\n redirectToLogin,\n redirectToLogout,\n setAuthenticatedUser\n} from './auth';\n\nexport {\n getSiteConfig,\n setSiteConfig,\n mergeSiteConfig,\n addAppConfigs,\n getAppConfig,\n mergeAppConfig,\n setActiveRouteRoles,\n getActiveRouteRoles,\n addActiveWidgetRole,\n removeActiveWidgetRole,\n getActiveWidgetRoles,\n getActiveRoles,\n getExternalLinkUrl,\n getProvides,\n getProvidesAsStrings\n} from './config';\n\nexport * from './constants';\n\nexport {\n configureI18n,\n createIntl,\n defineMessages,\n FormattedDate,\n FormattedMessage,\n FormattedNumber,\n FormattedPlural,\n FormattedRelativeTime,\n FormattedTime,\n getLocale,\n getLocalizedLanguageName,\n getMessages,\n getPrimaryLanguageSubtag,\n getSupportedLanguageList,\n handleRtl,\n injectIntl,\n IntlProvider,\n intlShape,\n isRtl,\n LOCALE_CHANGED,\n LOCALE_TOPIC,\n mergeMessages,\n updateLocale,\n useIntl\n} from './i18n';\n\nexport {\n auth,\n getBasename,\n initError,\n initialize\n} from './initialize';\n\nexport {\n loadExternalScripts\n} from './scripts';\n\nexport {\n configureLogging,\n getLoggingService,\n logError,\n logInfo,\n MockLoggingService,\n NewRelicLoggingService,\n resetLoggingService\n} from './logging';\n\nexport {\n CurrentAppContext,\n CurrentAppProvider,\n SiteContext,\n SiteProvider,\n AuthenticatedPageRoute,\n Divider,\n ErrorBoundary,\n ErrorPage,\n LoginRedirect,\n PageWrap,\n useSiteEvent,\n useAuthenticatedUser,\n useSiteConfig,\n useAppConfig\n} from './react';\n\nexport {\n authenticatedLoader,\n getUrlByRouteRole,\n isRoleRouteObject\n} from './routing';\n\nexport {\n clearAllSubscriptions,\n publish,\n subscribe,\n unsubscribe\n} from './subscriptions';\n\nexport {\n initializeMockApp,\n mockMessages\n} from './testing';\n\nexport {\n camelCaseObject,\n convertKeyNames,\n getQueryParameters,\n isValidVariableName,\n modifyObjectKeys,\n snakeCaseObject\n} from './utils';\n\nexport * from './slots';\n"]}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The default handler for the initialization lifecycle's `initError` phase. Logs the error to the
|
|
3
|
+
* LoggingService using `logError`
|
|
4
|
+
*
|
|
5
|
+
* @see {@link module:frontend-base~logError}
|
|
6
|
+
* @param {*} error
|
|
7
|
+
*/
|
|
8
|
+
export function initError(error: any): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* The default handler for the initialization lifecycle's `auth` phase.
|
|
11
|
+
*
|
|
12
|
+
* The handler has several responsibilities:
|
|
13
|
+
* - Determining the user's authentication state (authenticated or anonymous)
|
|
14
|
+
* - Optionally redirecting to login if the application requires an authenticated user.
|
|
15
|
+
* - Optionally loading additional user information via the application's user account data
|
|
16
|
+
* endpoint.
|
|
17
|
+
*
|
|
18
|
+
* @param {boolean} requireUser Whether or not we should redirect to login if a user is not
|
|
19
|
+
* authenticated.
|
|
20
|
+
* @param {boolean} hydrateUser Whether or not we should fetch additional user account data.
|
|
21
|
+
*/
|
|
22
|
+
export function auth(requireUser: boolean, hydrateUser: boolean): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* The default handler for the initialization lifecycle's `analytics` phase.
|
|
25
|
+
*
|
|
26
|
+
* The handler is responsible for identifying authenticated and anonymous users with the analytics
|
|
27
|
+
* service. This is a pre-requisite for sending analytics events, thus, we do it during the
|
|
28
|
+
* initialization sequence so that analytics is ready once the application's UI code starts to load.
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
31
|
+
export function analytics(): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Invokes the application initialization sequence.
|
|
34
|
+
*
|
|
35
|
+
* The sequence proceeds through a number of lifecycle phases, during which pertinent services are
|
|
36
|
+
* configured.
|
|
37
|
+
*
|
|
38
|
+
* Using the `handlers` option, lifecycle phase handlers can be overridden to perform custom
|
|
39
|
+
* functionality. Note that while these override handlers _do_ replace the default handler
|
|
40
|
+
* functionality for analytics, auth, and initError (the other phases have no default
|
|
41
|
+
* functionality), they do _not_ override the configuration of the actual services that those
|
|
42
|
+
* handlers leverage.
|
|
43
|
+
*
|
|
44
|
+
* Some services can be overridden via the loggingService and analyticsService options. The other
|
|
45
|
+
* services (auth and i18n) cannot currently be overridden.
|
|
46
|
+
*
|
|
47
|
+
* The following lifecycle phases exist:
|
|
48
|
+
*
|
|
49
|
+
* - pubSub: A no-op by default.
|
|
50
|
+
* - config: A no-op by default.
|
|
51
|
+
* - logging: A no-op by default.
|
|
52
|
+
* - auth: Uses the 'auth' handler defined above.
|
|
53
|
+
* - analytics: Uses the 'analytics' handler defined above.
|
|
54
|
+
* - i18n: A no-op by default.
|
|
55
|
+
* - ready: A no-op by default.
|
|
56
|
+
* - initError: Uses the 'initError' handler defined above.
|
|
57
|
+
*
|
|
58
|
+
* @param {Object} [options]
|
|
59
|
+
* @param {*} [options.loggingService=NewRelicLoggingService] The `LoggingService` implementation
|
|
60
|
+
* to use.
|
|
61
|
+
* @param {*} [options.analyticsService=SegmentAnalyticsService] The `AnalyticsService`
|
|
62
|
+
* implementation to use.
|
|
63
|
+
* @param {*} [options.authMiddleware=[]] An array of middleware to apply to http clients in the auth service.
|
|
64
|
+
* @param {*} [options.requireAuthenticatedUser=false] If true, turns on automatic login
|
|
65
|
+
* redirection for unauthenticated users. Defaults to false, meaning that by default the
|
|
66
|
+
* application will allow anonymous/unauthenticated sessions.
|
|
67
|
+
* @param {*} [options.hydrateAuthenticatedUser=false] If true, makes an API call to the user
|
|
68
|
+
* account endpoint (`${App.config.lmsBaseUrl}/api/user/v1/accounts/${username}`) to fetch
|
|
69
|
+
* detailed account information for the authenticated user. This data is merged into the return
|
|
70
|
+
* value of `getAuthenticatedUser`, overriding any duplicate keys that already exist. Defaults to
|
|
71
|
+
* false, meaning that no additional account information will be loaded.
|
|
72
|
+
* @param {*} [options.messages] A i18n-compatible messages object, or an array of such objects. If
|
|
73
|
+
* an array is provided, duplicate keys are resolved with the last-one-in winning.
|
|
74
|
+
* @param {*} [options.handlers={}] An optional object of handlers which can be used to replace the
|
|
75
|
+
* default behavior of any part of the startup sequence. It can also be used to add additional
|
|
76
|
+
* initialization behavior before or after the rest of the sequence.
|
|
77
|
+
*/
|
|
78
|
+
export function initialize({ loggingService, analyticsService, authService, authMiddleware, requireAuthenticatedUser: requireUser, hydrateAuthenticatedUser: hydrateUser, messages, handlers: overrideHandlers, }?: {
|
|
79
|
+
loggingService?: any;
|
|
80
|
+
analyticsService?: any;
|
|
81
|
+
authMiddleware?: any;
|
|
82
|
+
requireAuthenticatedUser?: any;
|
|
83
|
+
hydrateAuthenticatedUser?: any;
|
|
84
|
+
messages?: any;
|
|
85
|
+
handlers?: any;
|
|
86
|
+
}): Promise<void>;
|
|
87
|
+
export function getBasename(): string | undefined;
|