@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.
Files changed (895) hide show
  1. package/README.md +22 -84
  2. package/dist/index.d.ts +4 -0
  3. package/dist/index.js +4 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/runtime/analytics/MockAnalyticsService.d.ts +50 -0
  6. package/dist/runtime/analytics/MockAnalyticsService.js +64 -0
  7. package/dist/runtime/analytics/MockAnalyticsService.js.map +1 -0
  8. package/dist/runtime/analytics/SegmentAnalyticsService.d.ts +64 -0
  9. package/dist/runtime/analytics/SegmentAnalyticsService.js +218 -0
  10. package/dist/runtime/analytics/SegmentAnalyticsService.js.map +1 -0
  11. package/dist/runtime/analytics/index.d.ts +3 -0
  12. package/dist/runtime/analytics/index.js +4 -0
  13. package/dist/runtime/analytics/index.js.map +1 -0
  14. package/dist/runtime/analytics/interface.d.ts +53 -0
  15. package/dist/runtime/analytics/interface.js +133 -0
  16. package/dist/runtime/analytics/interface.js.map +1 -0
  17. package/dist/runtime/auth/AxiosCsrfTokenService.d.ts +10 -0
  18. package/dist/runtime/auth/AxiosCsrfTokenService.js +64 -0
  19. package/dist/runtime/auth/AxiosCsrfTokenService.js.map +1 -0
  20. package/dist/runtime/auth/AxiosJwtAuthService.d.ts +182 -0
  21. package/dist/runtime/auth/AxiosJwtAuthService.js +339 -0
  22. package/dist/runtime/auth/AxiosJwtAuthService.js.map +1 -0
  23. package/dist/runtime/auth/AxiosJwtTokenService.d.ts +16 -0
  24. package/dist/runtime/auth/AxiosJwtTokenService.js +130 -0
  25. package/dist/runtime/auth/AxiosJwtTokenService.js.map +1 -0
  26. package/dist/runtime/auth/LocalForageCache.d.ts +7 -0
  27. package/dist/runtime/auth/LocalForageCache.js +78 -0
  28. package/dist/runtime/auth/LocalForageCache.js.map +1 -0
  29. package/dist/runtime/auth/MockAuthService.d.ts +209 -0
  30. package/dist/runtime/auth/MockAuthService.js +256 -0
  31. package/dist/runtime/auth/MockAuthService.js.map +1 -0
  32. package/dist/runtime/auth/index.d.ts +3 -0
  33. package/dist/runtime/auth/index.js +4 -0
  34. package/dist/runtime/auth/index.js.map +1 -0
  35. package/dist/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.d.ts +2 -0
  36. package/dist/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.js +42 -0
  37. package/dist/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.js.map +1 -0
  38. package/dist/runtime/auth/interceptors/createJwtTokenProviderInterceptor.d.ts +2 -0
  39. package/dist/runtime/auth/interceptors/createJwtTokenProviderInterceptor.js +40 -0
  40. package/dist/runtime/auth/interceptors/createJwtTokenProviderInterceptor.js.map +1 -0
  41. package/dist/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.d.ts +2 -0
  42. package/dist/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js +26 -0
  43. package/dist/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js.map +1 -0
  44. package/dist/runtime/auth/interceptors/createRetryInterceptor.d.ts +3 -0
  45. package/dist/runtime/auth/interceptors/createRetryInterceptor.js +67 -0
  46. package/dist/runtime/auth/interceptors/createRetryInterceptor.js.map +1 -0
  47. package/dist/runtime/auth/interface.d.ts +133 -0
  48. package/dist/runtime/auth/interface.js +302 -0
  49. package/dist/runtime/auth/interface.js.map +1 -0
  50. package/dist/runtime/auth/utils.d.ts +13 -0
  51. package/dist/runtime/auth/utils.js +66 -0
  52. package/dist/runtime/auth/utils.js.map +1 -0
  53. package/dist/runtime/babel.config.d.ts +2 -0
  54. package/dist/runtime/babel.config.js +4 -0
  55. package/dist/runtime/babel.config.js.map +1 -0
  56. package/dist/runtime/config/index.d.ts +216 -0
  57. package/dist/runtime/config/index.js +428 -0
  58. package/dist/runtime/config/index.js.map +1 -0
  59. package/dist/runtime/constants.d.ts +57 -0
  60. package/dist/runtime/constants.js +58 -0
  61. package/dist/runtime/constants.js.map +1 -0
  62. package/dist/runtime/i18n/index.d.ts +3 -0
  63. package/dist/runtime/i18n/index.js +78 -0
  64. package/dist/runtime/i18n/index.js.map +1 -0
  65. package/dist/runtime/i18n/injectIntlWithShim.d.ts +11 -0
  66. package/dist/runtime/i18n/injectIntlWithShim.js +45 -0
  67. package/dist/runtime/i18n/injectIntlWithShim.js.map +1 -0
  68. package/dist/runtime/i18n/lib.d.ts +113 -0
  69. package/dist/runtime/i18n/lib.js +223 -0
  70. package/dist/runtime/i18n/lib.js.map +1 -0
  71. package/dist/runtime/index.d.ts +14 -0
  72. package/dist/runtime/index.js +15 -0
  73. package/dist/runtime/index.js.map +1 -0
  74. package/dist/runtime/initialize.d.ts +87 -0
  75. package/dist/runtime/initialize.js +305 -0
  76. package/dist/runtime/initialize.js.map +1 -0
  77. package/dist/runtime/jest.config.d.ts +16 -0
  78. package/dist/runtime/jest.config.js +34 -0
  79. package/dist/runtime/jest.config.js.map +1 -0
  80. package/dist/runtime/logging/MockLoggingService.d.ts +28 -0
  81. package/dist/runtime/logging/MockLoggingService.js +31 -0
  82. package/dist/runtime/logging/MockLoggingService.js.map +1 -0
  83. package/dist/runtime/logging/NewRelicLoggingService.d.ts +67 -0
  84. package/dist/runtime/logging/NewRelicLoggingService.js +175 -0
  85. package/dist/runtime/logging/NewRelicLoggingService.js.map +1 -0
  86. package/dist/runtime/logging/index.d.ts +3 -0
  87. package/dist/runtime/logging/index.js +4 -0
  88. package/dist/runtime/logging/index.js.map +1 -0
  89. package/dist/runtime/logging/interface.d.ts +38 -0
  90. package/dist/runtime/logging/interface.js +99 -0
  91. package/dist/runtime/logging/interface.js.map +1 -0
  92. package/dist/runtime/logging/types.d.ts +4 -0
  93. package/dist/runtime/logging/types.js +2 -0
  94. package/dist/runtime/logging/types.js.map +1 -0
  95. package/dist/runtime/react/AuthenticatedPageRoute.d.ts +30 -0
  96. package/dist/runtime/react/AuthenticatedPageRoute.js +38 -0
  97. package/dist/runtime/react/AuthenticatedPageRoute.js.map +1 -0
  98. package/dist/runtime/react/CombinedAppProvider.d.ts +6 -0
  99. package/dist/runtime/react/CombinedAppProvider.js +20 -0
  100. package/dist/runtime/react/CombinedAppProvider.js.map +1 -0
  101. package/dist/runtime/react/CurrentAppContext.d.ts +20 -0
  102. package/dist/runtime/react/CurrentAppContext.js +21 -0
  103. package/dist/runtime/react/CurrentAppContext.js.map +1 -0
  104. package/dist/runtime/react/CurrentAppProvider.d.ts +23 -0
  105. package/dist/runtime/react/CurrentAppProvider.js +33 -0
  106. package/dist/runtime/react/CurrentAppProvider.js.map +1 -0
  107. package/dist/runtime/react/Divider.d.ts +1 -0
  108. package/dist/runtime/react/Divider.js +5 -0
  109. package/dist/runtime/react/Divider.js.map +1 -0
  110. package/dist/runtime/react/ErrorBoundary.d.ts +32 -0
  111. package/dist/runtime/react/ErrorBoundary.js +40 -0
  112. package/dist/runtime/react/ErrorBoundary.js.map +1 -0
  113. package/dist/runtime/react/ErrorPage.d.ts +17 -0
  114. package/dist/runtime/react/ErrorPage.js +29 -0
  115. package/dist/runtime/react/ErrorPage.js.map +1 -0
  116. package/dist/runtime/react/LoginRedirect.d.ts +8 -0
  117. package/dist/runtime/react/LoginRedirect.js +16 -0
  118. package/dist/runtime/react/LoginRedirect.js.map +1 -0
  119. package/dist/runtime/react/NotFoundPage.d.ts +2 -0
  120. package/dist/runtime/react/NotFoundPage.js +14 -0
  121. package/dist/runtime/react/NotFoundPage.js.map +1 -0
  122. package/dist/runtime/react/PageWrap.d.ts +8 -0
  123. package/dist/runtime/react/PageWrap.js +21 -0
  124. package/dist/runtime/react/PageWrap.js.map +1 -0
  125. package/dist/runtime/react/SiteContext.d.ts +24 -0
  126. package/dist/runtime/react/SiteContext.js +26 -0
  127. package/dist/runtime/react/SiteContext.js.map +1 -0
  128. package/dist/runtime/react/SiteProvider.d.ts +29 -0
  129. package/dist/runtime/react/SiteProvider.js +69 -0
  130. package/dist/runtime/react/SiteProvider.js.map +1 -0
  131. package/dist/runtime/react/constants.d.ts +3 -0
  132. package/dist/runtime/react/constants.js +4 -0
  133. package/dist/runtime/react/constants.js.map +1 -0
  134. package/dist/runtime/react/hooks/index.d.ts +7 -0
  135. package/dist/runtime/react/hooks/index.js +8 -0
  136. package/dist/runtime/react/hooks/index.js.map +1 -0
  137. package/dist/runtime/react/hooks/theme/index.js +3 -0
  138. package/dist/runtime/react/hooks/theme/index.js.map +1 -0
  139. package/dist/runtime/react/hooks/theme/useTheme.d.ts +35 -0
  140. package/dist/runtime/react/hooks/theme/useTheme.js +153 -0
  141. package/dist/runtime/react/hooks/theme/useTheme.js.map +1 -0
  142. package/dist/runtime/react/hooks/theme/useThemeConfig.d.ts +16 -0
  143. package/dist/runtime/react/hooks/theme/useThemeConfig.js +29 -0
  144. package/dist/runtime/react/hooks/theme/useThemeConfig.js.map +1 -0
  145. package/dist/runtime/react/hooks/theme/useThemeCore.d.ts +10 -0
  146. package/dist/runtime/react/hooks/theme/useThemeCore.js +48 -0
  147. package/dist/runtime/react/hooks/theme/useThemeCore.js.map +1 -0
  148. package/dist/runtime/react/hooks/theme/useThemeVariants.d.ts +17 -0
  149. package/dist/runtime/react/hooks/theme/useThemeVariants.js +90 -0
  150. package/dist/runtime/react/hooks/theme/useThemeVariants.js.map +1 -0
  151. package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.d.ts +8 -0
  152. package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.js +30 -0
  153. package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.js.map +1 -0
  154. package/dist/runtime/react/hooks/theme/utils.d.ts +6 -0
  155. package/dist/runtime/react/hooks/theme/utils.js +11 -0
  156. package/dist/runtime/react/hooks/theme/utils.js.map +1 -0
  157. package/dist/runtime/react/hooks/useActiveRoles.d.ts +2 -0
  158. package/dist/runtime/react/hooks/useActiveRoles.js +16 -0
  159. package/dist/runtime/react/hooks/useActiveRoles.js.map +1 -0
  160. package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.d.ts +2 -0
  161. package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.js +22 -0
  162. package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.js.map +1 -0
  163. package/dist/runtime/react/hooks/useAppConfig.d.ts +2 -0
  164. package/dist/runtime/react/hooks/useAppConfig.js +8 -0
  165. package/dist/runtime/react/hooks/useAppConfig.js.map +1 -0
  166. package/dist/runtime/react/hooks/useAuthenticatedUser.d.ts +2 -0
  167. package/dist/runtime/react/hooks/useAuthenticatedUser.js +8 -0
  168. package/dist/runtime/react/hooks/useAuthenticatedUser.js.map +1 -0
  169. package/dist/runtime/react/hooks/useSiteConfig.d.ts +2 -0
  170. package/dist/runtime/react/hooks/useSiteConfig.js +8 -0
  171. package/dist/runtime/react/hooks/useSiteConfig.js.map +1 -0
  172. package/dist/runtime/react/hooks/useSiteEvent.d.ts +12 -0
  173. package/dist/runtime/react/hooks/useSiteEvent.js +22 -0
  174. package/dist/runtime/react/hooks/useSiteEvent.js.map +1 -0
  175. package/dist/runtime/react/index.d.ts +19 -0
  176. package/dist/runtime/react/index.js +20 -0
  177. package/dist/runtime/react/index.js.map +1 -0
  178. package/dist/runtime/react/reducers.d.ts +11 -0
  179. package/dist/runtime/react/reducers.js +28 -0
  180. package/dist/runtime/react/reducers.js.map +1 -0
  181. package/dist/runtime/routing/authenticatedLoader.d.ts +2 -0
  182. package/dist/runtime/routing/authenticatedLoader.js +27 -0
  183. package/dist/runtime/routing/authenticatedLoader.js.map +1 -0
  184. package/dist/runtime/routing/index.d.ts +2 -0
  185. package/dist/runtime/routing/index.js +3 -0
  186. package/dist/runtime/routing/index.js.map +1 -0
  187. package/dist/runtime/routing/utils.d.ts +4 -0
  188. package/dist/runtime/routing/utils.js +43 -0
  189. package/dist/runtime/routing/utils.js.map +1 -0
  190. package/dist/runtime/scripts/index.d.ts +1 -0
  191. package/dist/runtime/scripts/index.js +14 -0
  192. package/dist/runtime/scripts/index.js.map +1 -0
  193. package/dist/runtime/setupTest.d.ts +1 -0
  194. package/dist/runtime/setupTest.js +12 -0
  195. package/dist/runtime/setupTest.js.map +1 -0
  196. package/dist/runtime/slots/Slot.d.ts +11 -0
  197. package/dist/runtime/slots/Slot.js +37 -0
  198. package/dist/runtime/slots/Slot.js.map +1 -0
  199. package/dist/runtime/slots/SlotContext.d.ts +8 -0
  200. package/dist/runtime/slots/SlotContext.js +7 -0
  201. package/dist/runtime/slots/SlotContext.js.map +1 -0
  202. package/dist/runtime/slots/hooks.d.ts +11 -0
  203. package/dist/runtime/slots/hooks.js +19 -0
  204. package/dist/runtime/slots/hooks.js.map +1 -0
  205. package/dist/runtime/slots/index.js +7 -0
  206. package/dist/runtime/slots/index.js.map +1 -0
  207. package/dist/runtime/slots/layout/DefaultSlotLayout.d.ts +1 -0
  208. package/dist/runtime/slots/layout/DefaultSlotLayout.js +7 -0
  209. package/dist/runtime/slots/layout/DefaultSlotLayout.js.map +1 -0
  210. package/dist/runtime/slots/layout/hooks.d.ts +9 -0
  211. package/dist/runtime/slots/layout/hooks.js +52 -0
  212. package/dist/runtime/slots/layout/hooks.js.map +1 -0
  213. package/dist/runtime/slots/layout/index.js +5 -0
  214. package/dist/runtime/slots/layout/index.js.map +1 -0
  215. package/dist/runtime/slots/layout/types.d.ts +30 -0
  216. package/dist/runtime/slots/layout/types.js +12 -0
  217. package/dist/runtime/slots/layout/types.js.map +1 -0
  218. package/dist/runtime/slots/layout/utils.d.ts +5 -0
  219. package/dist/runtime/slots/layout/utils.js +11 -0
  220. package/dist/runtime/slots/layout/utils.js.map +1 -0
  221. package/dist/runtime/slots/types.d.ts +18 -0
  222. package/dist/runtime/slots/types.js +7 -0
  223. package/dist/runtime/slots/types.js.map +1 -0
  224. package/dist/runtime/slots/utils.d.ts +3 -0
  225. package/dist/runtime/slots/utils.js +65 -0
  226. package/dist/runtime/slots/utils.js.map +1 -0
  227. package/dist/runtime/slots/widget/WidgetContext.d.ts +6 -0
  228. package/dist/runtime/slots/widget/WidgetContext.js +8 -0
  229. package/dist/runtime/slots/widget/WidgetContext.js.map +1 -0
  230. package/dist/runtime/slots/widget/WidgetProvider.d.ts +9 -0
  231. package/dist/runtime/slots/widget/WidgetProvider.js +18 -0
  232. package/dist/runtime/slots/widget/WidgetProvider.js.map +1 -0
  233. package/dist/runtime/slots/widget/hooks.d.ts +12 -0
  234. package/dist/runtime/slots/widget/hooks.js +84 -0
  235. package/dist/runtime/slots/widget/hooks.js.map +1 -0
  236. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.d.ts +10 -0
  237. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.js +42 -0
  238. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.js.map +1 -0
  239. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.d.ts +13 -0
  240. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.js +15 -0
  241. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.js.map +1 -0
  242. package/dist/runtime/slots/widget/iframe/IFrameWidget.d.ts +6 -0
  243. package/dist/runtime/slots/widget/iframe/IFrameWidget.js +32 -0
  244. package/dist/runtime/slots/widget/iframe/IFrameWidget.js.map +1 -0
  245. package/dist/runtime/slots/widget/iframe/constants.d.ts +15 -0
  246. package/dist/runtime/slots/widget/iframe/constants.js +17 -0
  247. package/dist/runtime/slots/widget/iframe/constants.js.map +1 -0
  248. package/dist/runtime/slots/widget/iframe/hooks.d.ts +64 -0
  249. package/dist/runtime/slots/widget/iframe/hooks.js +144 -0
  250. package/dist/runtime/slots/widget/iframe/hooks.js.map +1 -0
  251. package/dist/runtime/slots/widget/iframe/index.d.ts +3 -0
  252. package/dist/runtime/slots/widget/iframe/index.js +3 -0
  253. package/dist/runtime/slots/widget/iframe/index.js.map +1 -0
  254. package/dist/runtime/slots/widget/iframe/types.d.ts +5 -0
  255. package/dist/runtime/slots/widget/iframe/types.js +3 -0
  256. package/dist/runtime/slots/widget/iframe/types.js.map +1 -0
  257. package/dist/runtime/slots/widget/index.js +6 -0
  258. package/dist/runtime/slots/widget/index.js.map +1 -0
  259. package/dist/runtime/slots/widget/types.d.ts +108 -0
  260. package/dist/runtime/slots/widget/types.js +41 -0
  261. package/dist/runtime/slots/widget/types.js.map +1 -0
  262. package/dist/runtime/slots/widget/utils.d.ts +22 -0
  263. package/dist/runtime/slots/widget/utils.js +181 -0
  264. package/dist/runtime/slots/widget/utils.js.map +1 -0
  265. package/dist/runtime/subscriptions.d.ts +24 -0
  266. package/dist/runtime/subscriptions.js +48 -0
  267. package/dist/runtime/subscriptions.js.map +1 -0
  268. package/dist/runtime/testing/index.d.ts +8 -0
  269. package/dist/runtime/testing/index.js +9 -0
  270. package/dist/runtime/testing/index.js.map +1 -0
  271. package/dist/runtime/testing/initializeMockApp.d.ts +46 -0
  272. package/dist/runtime/testing/initializeMockApp.js +71 -0
  273. package/dist/runtime/testing/initializeMockApp.js.map +1 -0
  274. package/dist/runtime/testing/mockMessages.d.ts +22 -0
  275. package/dist/runtime/testing/mockMessages.js +23 -0
  276. package/dist/runtime/testing/mockMessages.js.map +1 -0
  277. package/dist/runtime/utils.d.ts +95 -0
  278. package/dist/runtime/utils.js +163 -0
  279. package/dist/runtime/utils.js.map +1 -0
  280. package/dist/shell/DefaultLayout.d.ts +1 -0
  281. package/dist/shell/DefaultLayout.js +7 -0
  282. package/dist/shell/DefaultLayout.js.map +1 -0
  283. package/dist/shell/DefaultMain.d.ts +1 -0
  284. package/dist/shell/DefaultMain.js +6 -0
  285. package/dist/shell/DefaultMain.js.map +1 -0
  286. package/dist/shell/Logo.d.ts +6 -0
  287. package/dist/shell/Logo.js +16 -0
  288. package/dist/shell/Logo.js.map +1 -0
  289. package/dist/shell/Shell.d.ts +1 -0
  290. package/dist/shell/Shell.js +10 -0
  291. package/dist/shell/Shell.js.map +1 -0
  292. package/dist/shell/Shell.messages.d.ts +63 -0
  293. package/dist/shell/Shell.messages.js +65 -0
  294. package/dist/shell/Shell.messages.js.map +1 -0
  295. package/dist/shell/app.d.ts +3 -0
  296. package/dist/shell/app.js +43 -0
  297. package/dist/shell/app.js.map +1 -0
  298. package/dist/shell/babel.config.d.ts +2 -0
  299. package/dist/shell/babel.config.js +4 -0
  300. package/dist/shell/babel.config.js.map +1 -0
  301. package/dist/shell/constants.d.ts +2 -0
  302. package/dist/shell/constants.js +3 -0
  303. package/dist/shell/constants.js.map +1 -0
  304. package/dist/shell/dev/devFooter/app.d.ts +3 -0
  305. package/dist/shell/dev/devFooter/app.js +36 -0
  306. package/dist/shell/dev/devFooter/app.js.map +1 -0
  307. package/dist/shell/dev/devFooter/index.js +2 -0
  308. package/dist/shell/dev/devFooter/index.js.map +1 -0
  309. package/dist/shell/dev/devHeader/BarContext.d.ts +7 -0
  310. package/dist/shell/dev/devHeader/BarContext.js +8 -0
  311. package/dist/shell/dev/devHeader/BarContext.js.map +1 -0
  312. package/dist/shell/dev/devHeader/BarLink.d.ts +1 -0
  313. package/dist/shell/dev/devHeader/BarLink.js +10 -0
  314. package/dist/shell/dev/devHeader/BarLink.js.map +1 -0
  315. package/dist/shell/dev/devHeader/BarProvider.d.ts +6 -0
  316. package/dist/shell/dev/devHeader/BarProvider.js +16 -0
  317. package/dist/shell/dev/devHeader/BarProvider.js.map +1 -0
  318. package/dist/shell/dev/devHeader/CoursesLink.d.ts +1 -0
  319. package/dist/shell/dev/devHeader/CoursesLink.js +10 -0
  320. package/dist/shell/dev/devHeader/CoursesLink.js.map +1 -0
  321. package/dist/shell/dev/devHeader/FooContext.d.ts +7 -0
  322. package/dist/shell/dev/devHeader/FooContext.js +8 -0
  323. package/dist/shell/dev/devHeader/FooContext.js.map +1 -0
  324. package/dist/shell/dev/devHeader/FooLink.d.ts +1 -0
  325. package/dist/shell/dev/devHeader/FooLink.js +10 -0
  326. package/dist/shell/dev/devHeader/FooLink.js.map +1 -0
  327. package/dist/shell/dev/devHeader/FooProvider.d.ts +6 -0
  328. package/dist/shell/dev/devHeader/FooProvider.js +16 -0
  329. package/dist/shell/dev/devHeader/FooProvider.js.map +1 -0
  330. package/dist/shell/dev/devHeader/app.d.ts +3 -0
  331. package/dist/shell/dev/devHeader/app.js +34 -0
  332. package/dist/shell/dev/devHeader/app.js.map +1 -0
  333. package/dist/shell/dev/devHeader/index.js +2 -0
  334. package/dist/shell/dev/devHeader/index.js.map +1 -0
  335. package/dist/shell/dev/devHeader/providers.d.ts +3 -0
  336. package/dist/shell/dev/devHeader/providers.js +8 -0
  337. package/dist/shell/dev/devHeader/providers.js.map +1 -0
  338. package/dist/shell/dev/devHome/HomePage.d.ts +1 -0
  339. package/dist/shell/dev/devHome/HomePage.js +14 -0
  340. package/dist/shell/dev/devHome/HomePage.js.map +1 -0
  341. package/dist/shell/dev/devHome/app.d.ts +3 -0
  342. package/dist/shell/dev/devHome/app.js +15 -0
  343. package/dist/shell/dev/devHome/app.js.map +1 -0
  344. package/dist/shell/dev/devHome/index.js +2 -0
  345. package/dist/shell/dev/devHome/index.js.map +1 -0
  346. package/dist/shell/dev/devHome/messages.d.ts +8 -0
  347. package/dist/shell/dev/devHome/messages.js +10 -0
  348. package/dist/shell/dev/devHome/messages.js.map +1 -0
  349. package/dist/shell/dev/index.d.ts +4 -0
  350. package/dist/shell/dev/index.js +5 -0
  351. package/dist/shell/dev/index.js.map +1 -0
  352. package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.d.ts +1 -0
  353. package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.js +8 -0
  354. package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.js.map +1 -0
  355. package/dist/shell/dev/slotShowcase/LayoutWithOptions.d.ts +1 -0
  356. package/dist/shell/dev/slotShowcase/LayoutWithOptions.js +9 -0
  357. package/dist/shell/dev/slotShowcase/LayoutWithOptions.js.map +1 -0
  358. package/dist/shell/dev/slotShowcase/SlotShowcase.scss +50 -0
  359. package/dist/shell/dev/slotShowcase/SlotShowcasePage.d.ts +2 -0
  360. package/dist/shell/dev/slotShowcase/SlotShowcasePage.js +17 -0
  361. package/dist/shell/dev/slotShowcase/SlotShowcasePage.js.map +1 -0
  362. package/dist/shell/dev/slotShowcase/ToggleByRoleLayout.d.ts +1 -0
  363. package/dist/shell/dev/slotShowcase/ToggleByRoleLayout.js +11 -0
  364. package/dist/shell/dev/slotShowcase/ToggleByRoleLayout.js.map +1 -0
  365. package/dist/shell/dev/slotShowcase/WidgetWithOptions.d.ts +1 -0
  366. package/dist/shell/dev/slotShowcase/WidgetWithOptions.js +8 -0
  367. package/dist/shell/dev/slotShowcase/WidgetWithOptions.js.map +1 -0
  368. package/dist/shell/dev/slotShowcase/app.d.ts +3 -0
  369. package/dist/shell/dev/slotShowcase/app.js +372 -0
  370. package/dist/shell/dev/slotShowcase/app.js.map +1 -0
  371. package/dist/shell/dev/slotShowcase/index.js +2 -0
  372. package/dist/shell/dev/slotShowcase/index.js.map +1 -0
  373. package/dist/shell/footer/CenterLinks.d.ts +1 -0
  374. package/dist/shell/footer/CenterLinks.js +7 -0
  375. package/dist/shell/footer/CenterLinks.js.map +1 -0
  376. package/dist/shell/footer/CopyrightNotice.d.ts +10 -0
  377. package/dist/shell/footer/CopyrightNotice.js +10 -0
  378. package/dist/shell/footer/CopyrightNotice.js.map +1 -0
  379. package/dist/shell/footer/DesktopFooterLayout.d.ts +1 -0
  380. package/dist/shell/footer/DesktopFooterLayout.js +12 -0
  381. package/dist/shell/footer/DesktopFooterLayout.js.map +1 -0
  382. package/dist/shell/footer/Footer.d.ts +1 -0
  383. package/dist/shell/footer/Footer.js +6 -0
  384. package/dist/shell/footer/Footer.js.map +1 -0
  385. package/dist/shell/footer/LabeledLinkColumn.d.ts +1 -0
  386. package/dist/shell/footer/LabeledLinkColumn.js +11 -0
  387. package/dist/shell/footer/LabeledLinkColumn.js.map +1 -0
  388. package/dist/shell/footer/LanguageMenu.d.ts +1 -0
  389. package/dist/shell/footer/LanguageMenu.js +16 -0
  390. package/dist/shell/footer/LanguageMenu.js.map +1 -0
  391. package/dist/shell/footer/LanguageMenuItem.d.ts +8 -0
  392. package/dist/shell/footer/LanguageMenuItem.js +11 -0
  393. package/dist/shell/footer/LanguageMenuItem.js.map +1 -0
  394. package/dist/shell/footer/LeftLinks.d.ts +1 -0
  395. package/dist/shell/footer/LeftLinks.js +7 -0
  396. package/dist/shell/footer/LeftLinks.js.map +1 -0
  397. package/dist/shell/footer/LegalNotices.d.ts +1 -0
  398. package/dist/shell/footer/LegalNotices.js +10 -0
  399. package/dist/shell/footer/LegalNotices.js.map +1 -0
  400. package/dist/shell/footer/PoweredBy.d.ts +1 -0
  401. package/dist/shell/footer/PoweredBy.js +9 -0
  402. package/dist/shell/footer/PoweredBy.js.map +1 -0
  403. package/dist/shell/footer/RevealLinks.d.ts +1 -0
  404. package/dist/shell/footer/RevealLinks.js +16 -0
  405. package/dist/shell/footer/RevealLinks.js.map +1 -0
  406. package/dist/shell/footer/RightLinks.d.ts +1 -0
  407. package/dist/shell/footer/RightLinks.js +7 -0
  408. package/dist/shell/footer/RightLinks.js.map +1 -0
  409. package/dist/shell/footer/app.d.ts +3 -0
  410. package/dist/shell/footer/app.js +67 -0
  411. package/dist/shell/footer/app.js.map +1 -0
  412. package/dist/shell/footer/data/api.d.ts +1 -0
  413. package/dist/shell/footer/data/api.js +45 -0
  414. package/dist/shell/footer/data/api.js.map +1 -0
  415. package/dist/shell/footer/index.js +3 -0
  416. package/dist/shell/footer/index.js.map +1 -0
  417. package/dist/shell/header/AuthenticatedMenu.d.ts +5 -0
  418. package/dist/shell/header/AuthenticatedMenu.js +9 -0
  419. package/dist/shell/header/AuthenticatedMenu.js.map +1 -0
  420. package/dist/shell/header/Header.d.ts +1 -0
  421. package/dist/shell/header/Header.js +8 -0
  422. package/dist/shell/header/Header.js.map +1 -0
  423. package/dist/shell/header/HelpButton.d.ts +5 -0
  424. package/dist/shell/header/HelpButton.js +10 -0
  425. package/dist/shell/header/HelpButton.js.map +1 -0
  426. package/dist/shell/header/anonymous-menu/AnonymousMenu.d.ts +5 -0
  427. package/dist/shell/header/anonymous-menu/AnonymousMenu.js +7 -0
  428. package/dist/shell/header/anonymous-menu/AnonymousMenu.js.map +1 -0
  429. package/dist/shell/header/anonymous-menu/LoginButton.d.ts +3 -0
  430. package/dist/shell/header/anonymous-menu/LoginButton.js +22 -0
  431. package/dist/shell/header/anonymous-menu/LoginButton.js.map +1 -0
  432. package/dist/shell/header/anonymous-menu/RegisterButton.d.ts +3 -0
  433. package/dist/shell/header/anonymous-menu/RegisterButton.js +22 -0
  434. package/dist/shell/header/anonymous-menu/RegisterButton.js.map +1 -0
  435. package/dist/shell/header/app.d.ts +4 -0
  436. package/dist/shell/header/app.js +157 -0
  437. package/dist/shell/header/app.js.map +1 -0
  438. package/dist/shell/header/app.scss +20 -0
  439. package/dist/shell/header/constants.d.ts +3 -0
  440. package/dist/shell/header/constants.js +4 -0
  441. package/dist/shell/header/constants.js.map +1 -0
  442. package/dist/shell/header/course-bar/data/service.d.ts +11 -0
  443. package/dist/shell/header/course-bar/data/service.js +49 -0
  444. package/dist/shell/header/course-bar/data/service.js.map +1 -0
  445. package/dist/shell/header/course-bar/masquerade/MasqueradeBar.d.ts +1 -0
  446. package/dist/shell/header/course-bar/masquerade/MasqueradeBar.js +22 -0
  447. package/dist/shell/header/course-bar/masquerade/MasqueradeBar.js.map +1 -0
  448. package/dist/shell/header/course-bar/masquerade/MasqueradeContext.d.ts +3 -0
  449. package/dist/shell/header/course-bar/masquerade/MasqueradeContext.js +10 -0
  450. package/dist/shell/header/course-bar/masquerade/MasqueradeContext.js.map +1 -0
  451. package/dist/shell/header/course-bar/masquerade/StudioLink.d.ts +6 -0
  452. package/dist/shell/header/course-bar/masquerade/StudioLink.js +27 -0
  453. package/dist/shell/header/course-bar/masquerade/StudioLink.js.map +1 -0
  454. package/dist/shell/header/course-bar/masquerade/data/api.d.ts +29 -0
  455. package/dist/shell/header/course-bar/masquerade/data/api.js +33 -0
  456. package/dist/shell/header/course-bar/masquerade/data/api.js.map +1 -0
  457. package/dist/shell/header/course-bar/masquerade/hooks.d.ts +20 -0
  458. package/dist/shell/header/course-bar/masquerade/hooks.js +203 -0
  459. package/dist/shell/header/course-bar/masquerade/hooks.js.map +1 -0
  460. package/dist/shell/header/course-bar/masquerade/index.d.ts +1 -0
  461. package/dist/shell/header/course-bar/masquerade/index.js +2 -0
  462. package/dist/shell/header/course-bar/masquerade/index.js.map +1 -0
  463. package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeUserNameInput.d.ts +7 -0
  464. package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeUserNameInput.js +18 -0
  465. package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeUserNameInput.js.map +1 -0
  466. package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeWidget.d.ts +1 -0
  467. package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeWidget.js +16 -0
  468. package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeWidget.js.map +1 -0
  469. package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeWidgetOption.d.ts +6 -0
  470. package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeWidgetOption.js +18 -0
  471. package/dist/shell/header/course-bar/masquerade/masquerade-widget/MasqueradeWidgetOption.js.map +1 -0
  472. package/dist/shell/header/course-bar/masquerade/masquerade-widget/index.d.ts +2 -0
  473. package/dist/shell/header/course-bar/masquerade/masquerade-widget/index.js +3 -0
  474. package/dist/shell/header/course-bar/masquerade/masquerade-widget/index.js.map +1 -0
  475. package/dist/shell/header/course-bar/masquerade/masquerade-widget/messages.d.ts +28 -0
  476. package/dist/shell/header/course-bar/masquerade/masquerade-widget/messages.js +30 -0
  477. package/dist/shell/header/course-bar/masquerade/masquerade-widget/messages.js.map +1 -0
  478. package/dist/shell/header/course-bar/masquerade/messages.d.ts +28 -0
  479. package/dist/shell/header/course-bar/masquerade/messages.js +30 -0
  480. package/dist/shell/header/course-bar/masquerade/messages.js.map +1 -0
  481. package/dist/shell/header/course-bar/navigation/CourseTabsNavigation.d.ts +3 -0
  482. package/dist/shell/header/course-bar/navigation/CourseTabsNavigation.js +39 -0
  483. package/dist/shell/header/course-bar/navigation/CourseTabsNavigation.js.map +1 -0
  484. package/dist/shell/header/course-bar/navigation/course-tabs-navigation.scss +7 -0
  485. package/dist/shell/header/course-bar/navigation/messages.d.ts +8 -0
  486. package/dist/shell/header/course-bar/navigation/messages.js +10 -0
  487. package/dist/shell/header/course-bar/navigation/messages.js.map +1 -0
  488. package/dist/shell/header/course-bar/utils.d.ts +3 -0
  489. package/dist/shell/header/course-bar/utils.js +54 -0
  490. package/dist/shell/header/course-bar/utils.js.map +1 -0
  491. package/dist/shell/header/desktop/DesktopLayout.d.ts +1 -0
  492. package/dist/shell/header/desktop/DesktopLayout.js +10 -0
  493. package/dist/shell/header/desktop/DesktopLayout.js.map +1 -0
  494. package/dist/shell/header/desktop/PrimaryNavLinks.d.ts +1 -0
  495. package/dist/shell/header/desktop/PrimaryNavLinks.js +7 -0
  496. package/dist/shell/header/desktop/PrimaryNavLinks.js.map +1 -0
  497. package/dist/shell/header/desktop/SecondaryNavLinks.d.ts +1 -0
  498. package/dist/shell/header/desktop/SecondaryNavLinks.js +7 -0
  499. package/dist/shell/header/desktop/SecondaryNavLinks.js.map +1 -0
  500. package/dist/shell/header/helpButtonSlotOperation.d.ts +6 -0
  501. package/dist/shell/header/helpButtonSlotOperation.js +14 -0
  502. package/dist/shell/header/helpButtonSlotOperation.js.map +1 -0
  503. package/dist/shell/header/index.d.ts +5 -0
  504. package/dist/shell/header/index.js +6 -0
  505. package/dist/shell/header/index.js.map +1 -0
  506. package/dist/shell/header/mobile/MobileLayout.d.ts +1 -0
  507. package/dist/shell/header/mobile/MobileLayout.js +17 -0
  508. package/dist/shell/header/mobile/MobileLayout.js.map +1 -0
  509. package/dist/shell/header/mobile/MobileNavLinks.d.ts +1 -0
  510. package/dist/shell/header/mobile/MobileNavLinks.js +7 -0
  511. package/dist/shell/header/mobile/MobileNavLinks.js.map +1 -0
  512. package/dist/shell/index.d.ts +8 -0
  513. package/dist/shell/index.js +9 -0
  514. package/dist/shell/index.js.map +1 -0
  515. package/dist/shell/jest.config.d.ts +15 -0
  516. package/dist/shell/jest.config.js +32 -0
  517. package/dist/shell/jest.config.js.map +1 -0
  518. package/dist/shell/layer-order.scss +1 -0
  519. package/dist/shell/menus/LinkMenuItem.d.ts +9 -0
  520. package/dist/shell/menus/LinkMenuItem.js +38 -0
  521. package/dist/shell/menus/LinkMenuItem.js.map +1 -0
  522. package/dist/shell/menus/NavDropdownMenuSlot.d.ts +7 -0
  523. package/dist/shell/menus/NavDropdownMenuSlot.js +14 -0
  524. package/dist/shell/menus/NavDropdownMenuSlot.js.map +1 -0
  525. package/dist/shell/menus/ProfileLinkMenuItem.d.ts +8 -0
  526. package/dist/shell/menus/ProfileLinkMenuItem.js +16 -0
  527. package/dist/shell/menus/ProfileLinkMenuItem.js.map +1 -0
  528. package/dist/shell/menus/data/utils.d.ts +4 -0
  529. package/dist/shell/menus/data/utils.js +13 -0
  530. package/dist/shell/menus/data/utils.js.map +1 -0
  531. package/dist/shell/router/createRouter.d.ts +1 -0
  532. package/dist/shell/router/createRouter.js +26 -0
  533. package/dist/shell/router/createRouter.js.map +1 -0
  534. package/dist/shell/router/getAppRoutes.d.ts +2 -0
  535. package/dist/shell/router/getAppRoutes.js +27 -0
  536. package/dist/shell/router/getAppRoutes.js.map +1 -0
  537. package/dist/shell/setupTest.d.ts +1 -0
  538. package/dist/shell/setupTest.js +12 -0
  539. package/dist/shell/setupTest.js.map +1 -0
  540. package/dist/shell/site.config.dev.d.ts +4 -0
  541. package/dist/shell/site.config.dev.js +43 -0
  542. package/dist/shell/site.config.dev.js.map +1 -0
  543. package/dist/shell/site.d.ts +1 -0
  544. package/dist/shell/site.js +45 -0
  545. package/dist/shell/site.js.map +1 -0
  546. package/dist/shell/style.d.ts +3 -0
  547. package/dist/shell/style.js +10 -0
  548. package/dist/shell/style.js.map +1 -0
  549. package/dist/shell/style.scss +147 -0
  550. package/dist/tools/babel/babel.config.d.ts +12 -0
  551. package/dist/tools/babel.config.d.ts +2 -0
  552. package/dist/tools/babel.config.js +3 -0
  553. package/dist/tools/cli/commands/serve.d.ts +1 -0
  554. package/dist/tools/cli/commands/translations.d.ts +2 -0
  555. package/dist/tools/cli/commands/translations.js +20 -0
  556. package/dist/tools/cli/openedx.d.ts +2 -0
  557. package/dist/tools/cli/openedx.js +111 -0
  558. package/dist/tools/cli/utils/ensureConfigFilenameOption.d.ts +2 -0
  559. package/dist/tools/cli/utils/formatter.d.ts +1 -0
  560. package/dist/tools/cli/utils/formatter.js +3 -0
  561. package/dist/tools/cli/utils/getResolvedConfigPath.d.ts +2 -0
  562. package/dist/tools/cli/utils/prettyPrintTitle.d.ts +1 -0
  563. package/dist/tools/cli/utils/printUsage.d.ts +1 -0
  564. package/dist/tools/cli/utils/printUsage.js +47 -0
  565. package/dist/tools/cli/utils/translations/index.d.ts +2 -0
  566. package/dist/tools/cli/utils/translations/index.js +7 -0
  567. package/dist/tools/cli/utils/translations/messagesObject.d.ts +26 -0
  568. package/dist/tools/cli/utils/translations/messagesObject.js +66 -0
  569. package/dist/tools/cli/utils/translations/prepare.d.ts +5 -0
  570. package/dist/tools/cli/utils/translations/prepare.js +98 -0
  571. package/dist/tools/cli/utils/translations/pull.d.ts +6 -0
  572. package/dist/tools/cli/utils/translations/pull.js +102 -0
  573. package/dist/tools/config-helpers/createConfig.d.ts +2 -0
  574. package/dist/tools/config-helpers/createLintConfig.d.ts +2 -0
  575. package/dist/tools/config-helpers/getBaseConfig.d.ts +2 -0
  576. package/dist/tools/defaultConfigPaths.d.ts +8 -0
  577. package/dist/tools/eslint/base.eslint.config.d.ts +3 -0
  578. package/dist/tools/eslint/base.eslint.config.js +114 -0
  579. package/dist/tools/eslint.config.d.ts +3 -0
  580. package/dist/tools/index.d.ts +3 -0
  581. package/dist/tools/jest/jest.config.d.ts +14 -0
  582. package/dist/tools/jest.config.d.ts +8 -0
  583. package/dist/tools/types.d.ts +20 -0
  584. package/dist/tools/types.js +25 -0
  585. package/dist/tools/typescript/tsconfig.json +33 -0
  586. package/dist/tools/webpack/common-config/all/getCodeRules.d.ts +2 -0
  587. package/dist/tools/webpack/common-config/all/getFileLoaderRules.d.ts +11 -0
  588. package/dist/tools/webpack/common-config/all/getImageMinimizer.d.ts +5 -0
  589. package/dist/tools/webpack/common-config/all/getStylesheetRule.d.ts +12 -0
  590. package/dist/tools/webpack/common-config/all/getStylesheetRule.js +150 -0
  591. package/dist/tools/webpack/common-config/all/postcssWrapLayer.d.ts +4 -0
  592. package/dist/tools/webpack/common-config/all/postcssWrapLayer.js +32 -0
  593. package/dist/tools/webpack/common-config/dev/getDevServer.d.ts +2 -0
  594. package/dist/tools/webpack/common-config/dev/getDevServer.js +36 -0
  595. package/dist/tools/webpack/common-config/index.d.ts +7 -0
  596. package/dist/tools/webpack/common-config/index.js +20 -0
  597. package/dist/tools/webpack/common-config/site/getHtmlWebpackPlugin.d.ts +2 -0
  598. package/dist/tools/webpack/common-config/site/getHtmlWebpackPlugin.js +24 -0
  599. package/dist/tools/webpack/common-config/site/getI18nMessagesFallbackPlugin/emptyI18n.d.ts +2 -0
  600. package/dist/tools/webpack/common-config/site/getI18nMessagesFallbackPlugin/emptyI18n.js +3 -0
  601. package/dist/tools/webpack/common-config/site/getI18nMessagesFallbackPlugin/index.d.ts +2 -0
  602. package/dist/tools/webpack/common-config/site/getI18nMessagesFallbackPlugin/index.js +26 -0
  603. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.d.ts +16 -0
  604. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/index.d.ts +2 -0
  605. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.d.ts +1 -0
  606. package/dist/tools/webpack/utils/getPublicPath.d.ts +1 -0
  607. package/dist/tools/webpack/utils/getPublicPath.js +6 -0
  608. package/dist/tools/webpack/utils/getResolvedSiteConfigPath.d.ts +1 -0
  609. package/dist/tools/webpack/utils/getResolvedSiteI18nPath.d.ts +1 -0
  610. package/dist/tools/webpack/utils/getResolvedSiteI18nPath.js +25 -0
  611. package/dist/tools/webpack/webpack.config.build.d.ts +3 -0
  612. package/dist/tools/webpack/webpack.config.build.js +78 -0
  613. package/dist/tools/webpack/webpack.config.dev.d.ts +3 -0
  614. package/dist/tools/webpack/webpack.config.dev.js +78 -0
  615. package/dist/tools/webpack/webpack.config.dev.shell.d.ts +3 -0
  616. package/dist/tools/webpack/webpack.config.dev.shell.js +105 -0
  617. package/dist/types.d.ts +93 -0
  618. package/dist/types.js +7 -0
  619. package/dist/types.js.map +1 -0
  620. package/package.json +45 -32
  621. package/config/eslint/base.eslint.config.js +0 -113
  622. package/config/tsconfig.json +0 -32
  623. package/config/types.js +0 -23
  624. package/config/webpack/common-config/all/getIgnoreWarnings.js +0 -14
  625. package/config/webpack/common-config/all/getStylesheetRule.js +0 -112
  626. package/config/webpack/common-config/dev/getDevServer.js +0 -38
  627. package/config/webpack/common-config/index.js +0 -18
  628. package/config/webpack/common-config/site/getHtmlWebpackPlugin.js +0 -16
  629. package/config/webpack/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.js +0 -66
  630. package/config/webpack/utils/getLocalAliases.js +0 -65
  631. package/config/webpack/utils/getPublicPath.js +0 -6
  632. package/config/webpack/webpack.config.build.js +0 -69
  633. package/config/webpack/webpack.config.dev.js +0 -69
  634. package/config/webpack/webpack.config.dev.shell.js +0 -103
  635. package/index.ts +0 -7
  636. package/runtime/__mocks__/file.js +0 -1
  637. package/runtime/__mocks__/svg.js +0 -1
  638. package/runtime/__mocks__/universal-cookie.js +0 -6
  639. package/runtime/analytics/MockAnalyticsService.js +0 -71
  640. package/runtime/analytics/SegmentAnalyticsService.js +0 -243
  641. package/runtime/analytics/index.ts +0 -12
  642. package/runtime/analytics/interface.js +0 -145
  643. package/runtime/analytics/interface.test.js +0 -242
  644. package/runtime/auth/AxiosCsrfTokenService.js +0 -60
  645. package/runtime/auth/AxiosJwtAuthService.js +0 -363
  646. package/runtime/auth/AxiosJwtAuthService.test.jsx +0 -1076
  647. package/runtime/auth/AxiosJwtTokenService.js +0 -134
  648. package/runtime/auth/LocalForageCache.js +0 -76
  649. package/runtime/auth/MockAuthService.js +0 -278
  650. package/runtime/auth/index.ts +0 -19
  651. package/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.js +0 -36
  652. package/runtime/auth/interceptors/createJwtTokenProviderInterceptor.js +0 -37
  653. package/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js +0 -20
  654. package/runtime/auth/interceptors/createRetryInterceptor.js +0 -74
  655. package/runtime/auth/interceptors/createRetryInterceptor.test.js +0 -23
  656. package/runtime/auth/interface.js +0 -309
  657. package/runtime/auth/utils.js +0 -105
  658. package/runtime/babel.config.js +0 -3
  659. package/runtime/config/getExternalLinkUrl.test.js +0 -76
  660. package/runtime/config/index.ts +0 -294
  661. package/runtime/constants.ts +0 -68
  662. package/runtime/i18n/index.js +0 -118
  663. package/runtime/i18n/injectIntlWithShim.jsx +0 -48
  664. package/runtime/i18n/lib.test.js +0 -230
  665. package/runtime/i18n/lib.ts +0 -272
  666. package/runtime/index.ts +0 -139
  667. package/runtime/initialize.async.function.config.test.js +0 -43
  668. package/runtime/initialize.const.config.test.js +0 -41
  669. package/runtime/initialize.function.config.test.js +0 -41
  670. package/runtime/initialize.js +0 -352
  671. package/runtime/initialize.test.js +0 -356
  672. package/runtime/jest.config.js +0 -33
  673. package/runtime/logging/MockLoggingService.js +0 -31
  674. package/runtime/logging/NewRelicLoggingService.js +0 -184
  675. package/runtime/logging/NewRelicLoggingService.test.js +0 -214
  676. package/runtime/logging/index.ts +0 -9
  677. package/runtime/logging/interface.js +0 -109
  678. package/runtime/logging/types.ts +0 -4
  679. package/runtime/react/AuthenticatedPageRoute.jsx +0 -43
  680. package/runtime/react/AuthenticatedPageRoute.test.jsx +0 -135
  681. package/runtime/react/CombinedAppProvider.tsx +0 -46
  682. package/runtime/react/CurrentAppContext.tsx +0 -25
  683. package/runtime/react/CurrentAppProvider.tsx +0 -46
  684. package/runtime/react/Divider.tsx +0 -5
  685. package/runtime/react/ErrorBoundary.jsx +0 -47
  686. package/runtime/react/ErrorBoundary.test.jsx +0 -83
  687. package/runtime/react/ErrorPage.jsx +0 -72
  688. package/runtime/react/LoginRedirect.jsx +0 -16
  689. package/runtime/react/PageWrap.jsx +0 -24
  690. package/runtime/react/SiteContext.tsx +0 -32
  691. package/runtime/react/SiteProvider.test.jsx +0 -66
  692. package/runtime/react/SiteProvider.tsx +0 -101
  693. package/runtime/react/constants.ts +0 -3
  694. package/runtime/react/hooks/index.ts +0 -8
  695. package/runtime/react/hooks/theme/useTheme.test.ts +0 -221
  696. package/runtime/react/hooks/theme/useTheme.ts +0 -179
  697. package/runtime/react/hooks/theme/useThemeConfig.test.ts +0 -107
  698. package/runtime/react/hooks/theme/useThemeConfig.ts +0 -34
  699. package/runtime/react/hooks/theme/useThemeCore.test.ts +0 -65
  700. package/runtime/react/hooks/theme/useThemeCore.ts +0 -52
  701. package/runtime/react/hooks/theme/useThemeVariants.test.ts +0 -97
  702. package/runtime/react/hooks/theme/useThemeVariants.ts +0 -116
  703. package/runtime/react/hooks/theme/useTrackColorSchemeChoice.test.ts +0 -54
  704. package/runtime/react/hooks/theme/useTrackColorSchemeChoice.ts +0 -30
  705. package/runtime/react/hooks/theme/utils.ts +0 -11
  706. package/runtime/react/hooks/useActiveRoles.ts +0 -15
  707. package/runtime/react/hooks/useActiveRouteRoleWatcher.ts +0 -31
  708. package/runtime/react/hooks/useAppConfig.ts +0 -9
  709. package/runtime/react/hooks/useAuthenticatedUser.test.tsx +0 -41
  710. package/runtime/react/hooks/useAuthenticatedUser.ts +0 -9
  711. package/runtime/react/hooks/useSiteConfig.test.tsx +0 -13
  712. package/runtime/react/hooks/useSiteConfig.ts +0 -9
  713. package/runtime/react/hooks/useSiteEvent.ts +0 -24
  714. package/runtime/react/index.ts +0 -19
  715. package/runtime/react/reducers.ts +0 -40
  716. package/runtime/routing/index.ts +0 -1
  717. package/runtime/routing/utils.test.ts +0 -7
  718. package/runtime/routing/utils.ts +0 -34
  719. package/runtime/scripts/GoogleAnalyticsLoader.test.ts +0 -77
  720. package/runtime/scripts/GoogleAnalyticsLoader.ts +0 -59
  721. package/runtime/scripts/index.ts +0 -1
  722. package/runtime/setupTest.js +0 -14
  723. package/runtime/site.config.test.tsx +0 -33
  724. package/runtime/slots/Slot.test.tsx +0 -40
  725. package/runtime/slots/Slot.tsx +0 -32
  726. package/runtime/slots/SlotContext.tsx +0 -8
  727. package/runtime/slots/hooks.ts +0 -35
  728. package/runtime/slots/layout/DefaultSlotLayout.test.tsx +0 -31
  729. package/runtime/slots/layout/DefaultSlotLayout.tsx +0 -9
  730. package/runtime/slots/layout/hooks.test.tsx +0 -178
  731. package/runtime/slots/layout/hooks.ts +0 -65
  732. package/runtime/slots/layout/types.ts +0 -45
  733. package/runtime/slots/layout/utils.test.ts +0 -67
  734. package/runtime/slots/layout/utils.ts +0 -14
  735. package/runtime/slots/types.ts +0 -24
  736. package/runtime/slots/utils.test.ts +0 -64
  737. package/runtime/slots/utils.ts +0 -78
  738. package/runtime/slots/widget/WidgetContext.tsx +0 -9
  739. package/runtime/slots/widget/WidgetProvider.tsx +0 -30
  740. package/runtime/slots/widget/hooks.ts +0 -105
  741. package/runtime/slots/widget/iframe/IFrameContentWrapper.messages.tsx +0 -16
  742. package/runtime/slots/widget/iframe/IFrameContentWrapper.tsx +0 -84
  743. package/runtime/slots/widget/iframe/IFrameWidget.tsx +0 -59
  744. package/runtime/slots/widget/iframe/constants.ts +0 -19
  745. package/runtime/slots/widget/iframe/hooks.ts +0 -179
  746. package/runtime/slots/widget/iframe/index.ts +0 -6
  747. package/runtime/slots/widget/iframe/types.ts +0 -7
  748. package/runtime/slots/widget/types.ts +0 -134
  749. package/runtime/slots/widget/utils.tsx +0 -201
  750. package/runtime/subscriptions.ts +0 -60
  751. package/runtime/testing/index.ts +0 -9
  752. package/runtime/testing/initializeMockApp.test.ts +0 -66
  753. package/runtime/testing/initializeMockApp.ts +0 -86
  754. package/runtime/testing/mockMessages.ts +0 -23
  755. package/runtime/utils.js +0 -178
  756. package/runtime/utils.test.js +0 -116
  757. package/shell/DefaultLayout.tsx +0 -18
  758. package/shell/DefaultMain.tsx +0 -7
  759. package/shell/Logo.test.tsx +0 -32
  760. package/shell/Logo.tsx +0 -28
  761. package/shell/Shell.messages.ts +0 -61
  762. package/shell/Shell.tsx +0 -18
  763. package/shell/__mocks__/file.js +0 -1
  764. package/shell/__mocks__/svg.js +0 -1
  765. package/shell/__mocks__/universal-cookie.js +0 -6
  766. package/shell/app.scss +0 -150
  767. package/shell/app.ts +0 -38
  768. package/shell/babel.config.js +0 -3
  769. package/shell/dev/devFooter/app.tsx +0 -43
  770. package/shell/dev/devHeader/BarContext.tsx +0 -13
  771. package/shell/dev/devHeader/BarLink.tsx +0 -16
  772. package/shell/dev/devHeader/BarProvider.tsx +0 -25
  773. package/shell/dev/devHeader/CoursesLink.tsx +0 -16
  774. package/shell/dev/devHeader/FooContext.tsx +0 -13
  775. package/shell/dev/devHeader/FooLink.tsx +0 -16
  776. package/shell/dev/devHeader/FooProvider.tsx +0 -25
  777. package/shell/dev/devHeader/app.tsx +0 -53
  778. package/shell/dev/devHeader/providers.tsx +0 -11
  779. package/shell/dev/devHome/HomePage.tsx +0 -28
  780. package/shell/dev/devHome/app.ts +0 -18
  781. package/shell/dev/devHome/i18n/index.ts +0 -27
  782. package/shell/dev/devHome/messages.ts +0 -11
  783. package/shell/dev/devUser/app.tsx +0 -24
  784. package/shell/dev/devUser/index.ts +0 -1
  785. package/shell/dev/index.ts +0 -5
  786. package/shell/dev/slotShowcase/HorizontalSlotLayout.tsx +0 -11
  787. package/shell/dev/slotShowcase/LayoutWithOptions.tsx +0 -17
  788. package/shell/dev/slotShowcase/SlotShowcasePage.tsx +0 -66
  789. package/shell/dev/slotShowcase/WidgetWithOptions.tsx +0 -11
  790. package/shell/dev/slotShowcase/app.tsx +0 -373
  791. package/shell/footer/CenterLinks.tsx +0 -11
  792. package/shell/footer/CopyrightNotice.tsx +0 -36
  793. package/shell/footer/Footer.tsx +0 -34
  794. package/shell/footer/LabeledLinkColumn.tsx +0 -19
  795. package/shell/footer/LanguageMenu.tsx +0 -35
  796. package/shell/footer/LanguageMenuItem.tsx +0 -23
  797. package/shell/footer/LeftLinks.tsx +0 -11
  798. package/shell/footer/LegalNotices.tsx +0 -17
  799. package/shell/footer/PoweredBy.tsx +0 -17
  800. package/shell/footer/RevealLinks.tsx +0 -43
  801. package/shell/footer/RightLinks.tsx +0 -11
  802. package/shell/footer/app.tsx +0 -73
  803. package/shell/footer/data/api.ts +0 -48
  804. package/shell/header/AuthenticatedMenu.tsx +0 -32
  805. package/shell/header/Header.tsx +0 -17
  806. package/shell/header/anonymous-menu/AnonymousMenu.tsx +0 -14
  807. package/shell/header/anonymous-menu/LoginButton.tsx +0 -14
  808. package/shell/header/anonymous-menu/RegisterButton.tsx +0 -15
  809. package/shell/header/app.tsx +0 -142
  810. package/shell/header/desktop/DesktopLayout.tsx +0 -22
  811. package/shell/header/desktop/PrimaryNavLinks.tsx +0 -10
  812. package/shell/header/desktop/SecondaryNavLinks.tsx +0 -10
  813. package/shell/header/index.ts +0 -2
  814. package/shell/header/mobile/MobileLayout.tsx +0 -47
  815. package/shell/header/mobile/MobileNavLinks.tsx +0 -10
  816. package/shell/i18n/index.ts +0 -25
  817. package/shell/index.ts +0 -7
  818. package/shell/jest.config.js +0 -31
  819. package/shell/menus/LinkMenuItem.tsx +0 -64
  820. package/shell/menus/NavDropdownMenuSlot.tsx +0 -29
  821. package/shell/menus/ProfileLinkMenuItem.tsx +0 -33
  822. package/shell/menus/data/utils.ts +0 -19
  823. package/shell/public/index.html +0 -10
  824. package/shell/router/createRouter.test.tsx +0 -50
  825. package/shell/router/createRouter.ts +0 -17
  826. package/shell/router/getAppRoutes.test.tsx +0 -59
  827. package/shell/router/getAppRoutes.ts +0 -21
  828. package/shell/setupTest.js +0 -13
  829. package/shell/site.config.dev.tsx +0 -49
  830. package/shell/site.config.test.tsx +0 -16
  831. package/shell/site.tsx +0 -41
  832. package/tools/dist/babel/babel.config.js +0 -28
  833. package/tools/dist/cli/intl-imports.js +0 -233
  834. package/tools/dist/cli/intl-imports.test.js +0 -146
  835. package/tools/dist/cli/openedx.js +0 -86
  836. package/tools/dist/cli/transifex-utils.js +0 -68
  837. package/tools/dist/cli/utils/formatter.js +0 -10
  838. package/tools/dist/cli/utils/printUsage.js +0 -39
  839. package/tools/dist/config-helpers/createConfig.js +0 -13
  840. package/tools/dist/config-helpers/createLintConfig.js +0 -16
  841. package/tools/dist/config-helpers/getBaseConfig.js +0 -12
  842. package/tools/dist/defaultConfigPaths.js +0 -35
  843. package/tools/dist/eslint/base.eslint.config.js +0 -113
  844. package/tools/dist/index.js +0 -12
  845. package/tools/dist/jest/jest.config.js +0 -30
  846. package/tools/dist/types.js +0 -23
  847. package/tools/dist/typescript/tsconfig.json +0 -32
  848. package/tools/dist/webpack/common-config/all/getCodeRules.js +0 -52
  849. package/tools/dist/webpack/common-config/all/getFileLoaderRules.js +0 -26
  850. package/tools/dist/webpack/common-config/all/getIgnoreWarnings.js +0 -14
  851. package/tools/dist/webpack/common-config/all/getImageMinimizer.js +0 -25
  852. package/tools/dist/webpack/common-config/all/getStylesheetRule.js +0 -112
  853. package/tools/dist/webpack/common-config/dev/getDevServer.js +0 -38
  854. package/tools/dist/webpack/common-config/index.js +0 -18
  855. package/tools/dist/webpack/common-config/site/getHtmlWebpackPlugin.js +0 -16
  856. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.js +0 -91
  857. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/index.js +0 -7
  858. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.js +0 -66
  859. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.js +0 -3
  860. package/tools/dist/webpack/utils/getLocalAliases.js +0 -65
  861. package/tools/dist/webpack/utils/getPublicPath.js +0 -6
  862. package/tools/dist/webpack/utils/getResolvedSiteConfigPath.js +0 -32
  863. package/tools/dist/webpack/webpack.config.build.js +0 -69
  864. package/tools/dist/webpack/webpack.config.dev.js +0 -69
  865. package/tools/dist/webpack/webpack.config.dev.shell.js +0 -103
  866. package/types.ts +0 -119
  867. /package/{runtime/react/hooks/theme/index.ts → dist/runtime/react/hooks/theme/index.d.ts} +0 -0
  868. /package/{runtime/slots/index.ts → dist/runtime/slots/index.d.ts} +0 -0
  869. /package/{runtime/slots/layout/index.ts → dist/runtime/slots/layout/index.d.ts} +0 -0
  870. /package/{runtime/slots/widget/index.ts → dist/runtime/slots/widget/index.d.ts} +0 -0
  871. /package/{shell/dev/devFooter/index.ts → dist/shell/dev/devFooter/index.d.ts} +0 -0
  872. /package/{shell/dev/devHeader/index.ts → dist/shell/dev/devHeader/index.d.ts} +0 -0
  873. /package/{shell/dev/devHome/index.ts → dist/shell/dev/devHome/index.d.ts} +0 -0
  874. /package/{shell/dev/slotShowcase/index.ts → dist/shell/dev/slotShowcase/index.d.ts} +0 -0
  875. /package/{shell/footer/index.ts → dist/shell/footer/index.d.ts} +0 -0
  876. /package/{config → dist/tools}/babel/babel.config.js +0 -0
  877. /package/{tools/dist → dist/tools}/cli/commands/serve.js +0 -0
  878. /package/{tools/dist → dist/tools}/cli/utils/ensureConfigFilenameOption.js +0 -0
  879. /package/{tools/dist → dist/tools}/cli/utils/getResolvedConfigPath.js +0 -0
  880. /package/{tools/dist → dist/tools}/cli/utils/prettyPrintTitle.js +0 -0
  881. /package/{config → dist/tools}/config-helpers/createConfig.js +0 -0
  882. /package/{config → dist/tools}/config-helpers/createLintConfig.js +0 -0
  883. /package/{config → dist/tools}/config-helpers/getBaseConfig.js +0 -0
  884. /package/{config → dist/tools}/defaultConfigPaths.js +0 -0
  885. /package/{tools/dist → dist/tools}/eslint.config.js +0 -0
  886. /package/{config → dist/tools}/index.js +0 -0
  887. /package/{config → dist/tools}/jest/jest.config.js +0 -0
  888. /package/{tools/dist → dist/tools}/jest.config.js +0 -0
  889. /package/{config → dist/tools}/webpack/common-config/all/getCodeRules.js +0 -0
  890. /package/{config → dist/tools}/webpack/common-config/all/getFileLoaderRules.js +0 -0
  891. /package/{config → dist/tools}/webpack/common-config/all/getImageMinimizer.js +0 -0
  892. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.js +0 -0
  893. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/index.js +0 -0
  894. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.js +0 -0
  895. /package/{config → dist/tools}/webpack/utils/getResolvedSiteConfigPath.js +0 -0
@@ -0,0 +1,175 @@
1
+ import { EnvironmentTypes } from '../../types';
2
+ import { getSiteConfig } from '../config';
3
+ /**
4
+ * NewRelic will not log an error if it is too long.
5
+ *
6
+ * @ignore
7
+ */
8
+ export const MAX_ERROR_LENGTH = 4000;
9
+ function fixErrorLength(error) {
10
+ if (error.message && error.message.length > MAX_ERROR_LENGTH) {
11
+ const processedError = Object.create(error);
12
+ processedError.message = processedError.message.substring(0, MAX_ERROR_LENGTH);
13
+ return processedError;
14
+ }
15
+ if (typeof error === 'string' && error.length > MAX_ERROR_LENGTH) {
16
+ return error.substring(0, MAX_ERROR_LENGTH);
17
+ }
18
+ return error;
19
+ }
20
+ /* Constants used as New Relic page action names. */
21
+ const pageActionNameInfo = 'INFO';
22
+ const pageActionNameIgnoredError = 'IGNORED_ERROR';
23
+ function sendPageAction(actionName, message, customAttributes) {
24
+ if (getSiteConfig().environment === EnvironmentTypes.DEVELOPMENT) {
25
+ console.log(actionName, message, customAttributes);
26
+ }
27
+ if (window && typeof window.newrelic !== 'undefined') {
28
+ // https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/addpageaction/
29
+ window.newrelic.addPageAction(actionName, Object.assign({ message }, customAttributes));
30
+ }
31
+ }
32
+ function sendError(error, customAttributes) {
33
+ if (getSiteConfig().environment === EnvironmentTypes.DEVELOPMENT) {
34
+ console.error(error, customAttributes);
35
+ }
36
+ if (window && typeof window.newrelic !== 'undefined') {
37
+ // https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/noticeerror/
38
+ window.newrelic.noticeError(fixErrorLength(error), customAttributes);
39
+ }
40
+ }
41
+ function setCustomAttribute(name, value) {
42
+ if (getSiteConfig().environment === EnvironmentTypes.DEVELOPMENT) {
43
+ console.log(name, value);
44
+ }
45
+ if (window && typeof window.newrelic !== 'undefined') {
46
+ // https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/setcustomattribute/
47
+ window.newrelic.setCustomAttribute(name, value);
48
+ }
49
+ }
50
+ /**
51
+ * The NewRelicLoggingService is a concrete implementation of the logging service interface that
52
+ * sends messages to NewRelic that can be seen in NewRelic Browser and NewRelic Insights. When in
53
+ * development mode, all messages will instead be sent to the console.
54
+ *
55
+ * When you use `logError`, your errors will be checked to see if they're ignored *or* not.
56
+ * Not-ignored errors will appear under "JS errors" for your Browser application.
57
+ *
58
+ * ```
59
+ * SELECT * from JavaScriptError WHERE errorStatus is not null SINCE 10 days ago
60
+ * ```
61
+ *
62
+ * Ignored errors will appear in New Relic Insights as page actions, which can be queried:
63
+ *
64
+ * ```
65
+ * SELECT * from PageAction WHERE actionName = 'IGNORED_ERROR' SINCE 1 hour ago
66
+ * ```
67
+ *
68
+ * When using `logInfo`, these only appear in New Relic Insights when querying for page actions as
69
+ * follows:
70
+ *
71
+ * ```
72
+ * SELECT * from PageAction WHERE actionName = 'INFO' SINCE 1 hour ago
73
+ * ```
74
+ *
75
+ * You can also add your own custom metrics as an additional argument, or see the code to find
76
+ * other standard custom attributes. By default, userId is added (via setCustomAttribute) for logged
77
+ * in users via the auth service (AuthAxiosJwtService).
78
+ *
79
+ * Requires the NewRelic Browser JavaScript snippet.
80
+ *
81
+ * @implements {LoggingService}
82
+ * @memberof module:Logging
83
+ */
84
+ export default class NewRelicLoggingService {
85
+ constructor(options) {
86
+ const config = options ? options.config : undefined;
87
+ /*
88
+ String which is an explicit error message regex. If an error message matches the regex, the error
89
+ is considered an *ignored* error and submitted to New Relic as a page action - not an error.
90
+
91
+ Ignored error regexes are configured per frontend application (MFE).
92
+
93
+ The regex for all ignored errors are represented in the .env files as a single string. If you need to
94
+ ignore multiple errors, use the standard `|` regex syntax.
95
+
96
+ For example, here's a .env line which ignores two specific errors:
97
+
98
+ ignoredErrorRegex='^\\[frontend-auth\\] Unimportant Error|Specific non-critical error #[\\d]+'
99
+
100
+ This example would ignore errors with the following messages:
101
+
102
+ [frontend-app-generic] - Specific non-critical error #45678 happened.
103
+ [frontend-app-generic] - Specific non-critical error #93475 happened.
104
+ [frontend-auth] Unimportant Error: Browser strangeness occurred.
105
+
106
+ To test your regex additions, use a JS CLI environment (such as node) and run code like this:
107
+
108
+ x = new RegExp('^\\[frontend-auth\\] Unimportant Error|Specific non-critical error #[\\d]+');
109
+ '[frontend-app-generic] - Specific non-critical error #45678 happened.'.match(x);
110
+ '[frontend-auth] Unimportant Error: Browser strangeness occurred.'.match(x);
111
+ 'This error should not match anything!'.match(x);
112
+
113
+ For edx.org, add new error message regexes in edx-internal YAML as needed.
114
+ */
115
+ this.ignoredErrorRegexes = config ? config.ignoredErrorRegex : undefined;
116
+ }
117
+ /**
118
+ *
119
+ *
120
+ * @param {*} infoStringOrErrorObject
121
+ * @param {*} [customAttributes={}]
122
+ * @memberof NewRelicLoggingService
123
+ */
124
+ logInfo(infoStringOrErrorObject, customAttributes = {}) {
125
+ let message = infoStringOrErrorObject;
126
+ let customAttrs = customAttributes;
127
+ if (typeof infoStringOrErrorObject === 'object' && 'message' in infoStringOrErrorObject) {
128
+ /* Caller has passed in an error object to be logged as a page action. */
129
+ /* Extract the attributes and the message. */
130
+ const infoCustomAttributes = infoStringOrErrorObject.customAttributes || {};
131
+ customAttrs = Object.assign(Object.assign({}, infoCustomAttributes), customAttributes);
132
+ message = infoStringOrErrorObject.message;
133
+ }
134
+ sendPageAction(pageActionNameInfo, message, customAttrs);
135
+ }
136
+ /**
137
+ *
138
+ *
139
+ * @param {*} errorStringOrObject
140
+ * @param {*} [customAttributes={}]
141
+ * @memberof NewRelicLoggingService
142
+ */
143
+ logError(errorStringOrObject, customAttributes = {}) {
144
+ const errorCustomAttributes = errorStringOrObject.customAttributes || {};
145
+ let allCustomAttributes = Object.assign(Object.assign({}, errorCustomAttributes), customAttributes);
146
+ if (Object.keys(allCustomAttributes).length === 0) {
147
+ // noticeError expects undefined if there are no custom attributes.
148
+ allCustomAttributes = undefined;
149
+ }
150
+ /*
151
+ Separate the errors into ignored errors and other errors.
152
+ Ignored errors are logged via adding a page action.
153
+ Other errors are logged via noticeError and count as "JS Errors" for the application.
154
+ */
155
+ const errorMessage = errorStringOrObject.message || (typeof errorStringOrObject === 'string' ? errorStringOrObject : '');
156
+ if (this.ignoredErrorRegexes && errorMessage.match(this.ignoredErrorRegexes)) {
157
+ /* ignored error */
158
+ sendPageAction(pageActionNameIgnoredError, errorMessage, allCustomAttributes);
159
+ }
160
+ else {
161
+ /* error! */
162
+ sendError(errorStringOrObject, allCustomAttributes);
163
+ }
164
+ }
165
+ /**
166
+ * Sets a custom attribute that will be included with all subsequent log messages.
167
+ *
168
+ * @param {string} name
169
+ * @param {string|number|null} value
170
+ */
171
+ setCustomAttribute(name, value) {
172
+ setCustomAttribute(name, value);
173
+ }
174
+ }
175
+ //# sourceMappingURL=NewRelicLoggingService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewRelicLoggingService.js","sourceRoot":"","sources":["../../../runtime/logging/NewRelicLoggingService.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC,SAAS,cAAc,CAAC,KAAK;IAC3B,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAC/E,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QACjE,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oDAAoD;AACpD,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAEnD,SAAS,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,gBAAgB;IAC3D,IAAI,aAAa,EAAE,CAAC,WAAW,KAAK,gBAAgB,CAAC,WAAW,EAAE,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACrD,uFAAuF;QACvF,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,kBAAI,OAAO,IAAK,gBAAgB,EAAG,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAK,EAAE,gBAAgB;IACxC,IAAI,aAAa,EAAE,CAAC,WAAW,KAAK,gBAAgB,CAAC,WAAW,EAAE,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACrD,qFAAqF;QACrF,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAI,EAAE,KAAK;IACrC,IAAI,aAAa,EAAE,CAAC,WAAW,KAAK,gBAAgB,CAAC,WAAW,EAAE,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACrD,4FAA4F;QAC5F,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,OAAO,OAAO,sBAAsB;IACzC,YAAY,OAAO;QACjB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACpD;;;;;;;;;;;;;;;;;;;;;;;;;;;UA2BE;QACF,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB,EAAE,gBAAgB,GAAG,EAAE;QACpD,IAAI,OAAO,GAAG,uBAAuB,CAAC;QACtC,IAAI,WAAW,GAAG,gBAAgB,CAAC;QACnC,IAAI,OAAO,uBAAuB,KAAK,QAAQ,IAAI,SAAS,IAAI,uBAAuB,EAAE,CAAC;YACxF,yEAAyE;YACzE,6CAA6C;YAC7C,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAC5E,WAAW,mCAAQ,oBAAoB,GAAK,gBAAgB,CAAE,CAAC;YAC/D,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC;QAC5C,CAAC;QACD,cAAc,CAAC,kBAAkB,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,mBAAmB,EAAE,gBAAgB,GAAG,EAAE;QACjD,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACzE,IAAI,mBAAmB,mCAAQ,qBAAqB,GAAK,gBAAgB,CAAE,CAAC;QAC5E,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,mEAAmE;YACnE,mBAAmB,GAAG,SAAS,CAAC;QAClC,CAAC;QAED;;;;UAIE;QACF,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,IAAI,CAAC,OAAO,mBAAmB,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzH,IAAI,IAAI,CAAC,mBAAmB,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC7E,mBAAmB;YACnB,cAAc,CAAC,0BAA0B,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,aAAa;YACb,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,KAAK;QAC5B,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;CACF","sourcesContent":["import { EnvironmentTypes } from '../../types';\nimport { getSiteConfig } from '../config';\n\n/**\n * NewRelic will not log an error if it is too long.\n *\n * @ignore\n */\nexport const MAX_ERROR_LENGTH = 4000;\n\nfunction fixErrorLength(error) {\n if (error.message && error.message.length > MAX_ERROR_LENGTH) {\n const processedError = Object.create(error);\n processedError.message = processedError.message.substring(0, MAX_ERROR_LENGTH);\n return processedError;\n }\n if (typeof error === 'string' && error.length > MAX_ERROR_LENGTH) {\n return error.substring(0, MAX_ERROR_LENGTH);\n }\n return error;\n}\n\n/* Constants used as New Relic page action names. */\nconst pageActionNameInfo = 'INFO';\nconst pageActionNameIgnoredError = 'IGNORED_ERROR';\n\nfunction sendPageAction(actionName, message, customAttributes) {\n if (getSiteConfig().environment === EnvironmentTypes.DEVELOPMENT) {\n console.log(actionName, message, customAttributes);\n }\n if (window && typeof window.newrelic !== 'undefined') {\n // https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/addpageaction/\n window.newrelic.addPageAction(actionName, { message, ...customAttributes });\n }\n}\n\nfunction sendError(error, customAttributes) {\n if (getSiteConfig().environment === EnvironmentTypes.DEVELOPMENT) {\n console.error(error, customAttributes);\n }\n if (window && typeof window.newrelic !== 'undefined') {\n // https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/noticeerror/\n window.newrelic.noticeError(fixErrorLength(error), customAttributes);\n }\n}\n\nfunction setCustomAttribute(name, value) {\n if (getSiteConfig().environment === EnvironmentTypes.DEVELOPMENT) {\n console.log(name, value);\n }\n if (window && typeof window.newrelic !== 'undefined') {\n // https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/setcustomattribute/\n window.newrelic.setCustomAttribute(name, value);\n }\n}\n\n/**\n * The NewRelicLoggingService is a concrete implementation of the logging service interface that\n * sends messages to NewRelic that can be seen in NewRelic Browser and NewRelic Insights. When in\n * development mode, all messages will instead be sent to the console.\n *\n * When you use `logError`, your errors will be checked to see if they're ignored *or* not.\n * Not-ignored errors will appear under \"JS errors\" for your Browser application.\n *\n * ```\n * SELECT * from JavaScriptError WHERE errorStatus is not null SINCE 10 days ago\n * ```\n *\n * Ignored errors will appear in New Relic Insights as page actions, which can be queried:\n *\n * ```\n * SELECT * from PageAction WHERE actionName = 'IGNORED_ERROR' SINCE 1 hour ago\n * ```\n *\n * When using `logInfo`, these only appear in New Relic Insights when querying for page actions as\n * follows:\n *\n * ```\n * SELECT * from PageAction WHERE actionName = 'INFO' SINCE 1 hour ago\n * ```\n *\n * You can also add your own custom metrics as an additional argument, or see the code to find\n * other standard custom attributes. By default, userId is added (via setCustomAttribute) for logged\n * in users via the auth service (AuthAxiosJwtService).\n *\n * Requires the NewRelic Browser JavaScript snippet.\n *\n * @implements {LoggingService}\n * @memberof module:Logging\n */\nexport default class NewRelicLoggingService {\n constructor(options) {\n const config = options ? options.config : undefined;\n /*\n String which is an explicit error message regex. If an error message matches the regex, the error\n is considered an *ignored* error and submitted to New Relic as a page action - not an error.\n\n Ignored error regexes are configured per frontend application (MFE).\n\n The regex for all ignored errors are represented in the .env files as a single string. If you need to\n ignore multiple errors, use the standard `|` regex syntax.\n\n For example, here's a .env line which ignores two specific errors:\n\n ignoredErrorRegex='^\\\\[frontend-auth\\\\] Unimportant Error|Specific non-critical error #[\\\\d]+'\n\n This example would ignore errors with the following messages:\n\n [frontend-app-generic] - Specific non-critical error #45678 happened.\n [frontend-app-generic] - Specific non-critical error #93475 happened.\n [frontend-auth] Unimportant Error: Browser strangeness occurred.\n\n To test your regex additions, use a JS CLI environment (such as node) and run code like this:\n\n x = new RegExp('^\\\\[frontend-auth\\\\] Unimportant Error|Specific non-critical error #[\\\\d]+');\n '[frontend-app-generic] - Specific non-critical error #45678 happened.'.match(x);\n '[frontend-auth] Unimportant Error: Browser strangeness occurred.'.match(x);\n 'This error should not match anything!'.match(x);\n\n For edx.org, add new error message regexes in edx-internal YAML as needed.\n */\n this.ignoredErrorRegexes = config ? config.ignoredErrorRegex : undefined;\n }\n\n /**\n *\n *\n * @param {*} infoStringOrErrorObject\n * @param {*} [customAttributes={}]\n * @memberof NewRelicLoggingService\n */\n logInfo(infoStringOrErrorObject, customAttributes = {}) {\n let message = infoStringOrErrorObject;\n let customAttrs = customAttributes;\n if (typeof infoStringOrErrorObject === 'object' && 'message' in infoStringOrErrorObject) {\n /* Caller has passed in an error object to be logged as a page action. */\n /* Extract the attributes and the message. */\n const infoCustomAttributes = infoStringOrErrorObject.customAttributes || {};\n customAttrs = { ...infoCustomAttributes, ...customAttributes };\n message = infoStringOrErrorObject.message;\n }\n sendPageAction(pageActionNameInfo, message, customAttrs);\n }\n\n /**\n *\n *\n * @param {*} errorStringOrObject\n * @param {*} [customAttributes={}]\n * @memberof NewRelicLoggingService\n */\n logError(errorStringOrObject, customAttributes = {}) {\n const errorCustomAttributes = errorStringOrObject.customAttributes || {};\n let allCustomAttributes = { ...errorCustomAttributes, ...customAttributes };\n if (Object.keys(allCustomAttributes).length === 0) {\n // noticeError expects undefined if there are no custom attributes.\n allCustomAttributes = undefined;\n }\n\n /*\n Separate the errors into ignored errors and other errors.\n Ignored errors are logged via adding a page action.\n Other errors are logged via noticeError and count as \"JS Errors\" for the application.\n */\n const errorMessage = errorStringOrObject.message || (typeof errorStringOrObject === 'string' ? errorStringOrObject : '');\n if (this.ignoredErrorRegexes && errorMessage.match(this.ignoredErrorRegexes)) {\n /* ignored error */\n sendPageAction(pageActionNameIgnoredError, errorMessage, allCustomAttributes);\n } else {\n /* error! */\n sendError(errorStringOrObject, allCustomAttributes);\n }\n }\n\n /**\n * Sets a custom attribute that will be included with all subsequent log messages.\n *\n * @param {string} name\n * @param {string|number|null} value\n */\n setCustomAttribute(name, value) {\n setCustomAttribute(name, value);\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export { configureLogging, getLoggingService, logError, logInfo, resetLoggingService } from './interface';
2
+ export { default as MockLoggingService } from './MockLoggingService';
3
+ export { default as NewRelicLoggingService } from './NewRelicLoggingService';
@@ -0,0 +1,4 @@
1
+ export { configureLogging, getLoggingService, logError, logInfo, resetLoggingService } from './interface';
2
+ export { default as MockLoggingService } from './MockLoggingService';
3
+ export { default as NewRelicLoggingService } from './NewRelicLoggingService';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../runtime/logging/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,OAAO,EACP,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC","sourcesContent":["export {\n configureLogging,\n getLoggingService,\n logError,\n logInfo,\n resetLoggingService\n} from './interface';\nexport { default as MockLoggingService } from './MockLoggingService';\nexport { default as NewRelicLoggingService } from './NewRelicLoggingService';\n"]}
@@ -0,0 +1,38 @@
1
+ /**
2
+ *
3
+ */
4
+ export function configureLogging(LoggingService: any, options: any): any;
5
+ /**
6
+ * Logs a message to the 'info' log level. Can accept custom attributes as a property of the error
7
+ * object, or as an optional second parameter.
8
+ *
9
+ * @param {string|Error} infoStringOrErrorObject
10
+ * @param {Object} [customAttributes={}]
11
+ */
12
+ export function logInfo(infoStringOrErrorObject: string | Error, customAttributes?: any): any;
13
+ /**
14
+ * Logs a message to the 'error' log level. Can accept custom attributes as a property of the error
15
+ * object, or as an optional second parameter.
16
+ *
17
+ * @param {string|Error} errorStringOrObject
18
+ * @param {Object} [customAttributes={}]
19
+ */
20
+ export function logError(errorStringOrObject: string | Error, customAttributes?: any): any;
21
+ /**
22
+ * Sets a custom attribute that will be included with all subsequent log messages.
23
+ *
24
+ * @param {string} name
25
+ * @param {string|number|null} value
26
+ */
27
+ export function setCustomAttribute(name: string, value: string | number | null): any;
28
+ /**
29
+ *
30
+ * @throws {Error} Thrown if the logging service has not yet been configured via {@link configureLogging}.
31
+ * @returns {LoggingService}
32
+ */
33
+ export function getLoggingService(): LoggingService;
34
+ /**
35
+ * Sets the configured logging service back to null.
36
+ *
37
+ */
38
+ export function resetLoggingService(): void;
@@ -0,0 +1,99 @@
1
+ /**
2
+ * #### Import members from **@openedx/frontend-base logging**
3
+ *
4
+ * Contains a shared interface for logging information. (The default implementation is in
5
+ * NewRelicLoggingService.js.) When in development mode, all messages will instead be sent to the console.
6
+ *
7
+ * The `initialize` function performs much of the logging configuration for you. If, however,
8
+ * you're not using the `initialize` function, logging (via New Relic) can be configured via:
9
+ *
10
+ * ```
11
+ * import { getSiteConfig, configureLogging, NewRelicLoggingService, logInfo, logError } from '@openedx/frontend-base';
12
+ *
13
+ * configureLogging(NewRelicLoggingService, {
14
+ * config: getSiteConfig(),
15
+ * });
16
+ *
17
+ * logInfo('Just so you know...');
18
+ * logInfo(new Error('Unimportant error'), { type: 'unimportant' });
19
+ * logError('Uhoh!');
20
+ * logError(new Error('Uhoh error!'));
21
+ * ```
22
+ *
23
+ * As shown in this example, logging depends on the configuration document.
24
+ *
25
+ * @module Logging
26
+ */
27
+ import PropTypes from 'prop-types';
28
+ const optionsShape = {
29
+ config: PropTypes.object.isRequired,
30
+ };
31
+ const serviceShape = {
32
+ logInfo: PropTypes.func.isRequired,
33
+ logError: PropTypes.func.isRequired,
34
+ };
35
+ let service = null;
36
+ /**
37
+ *
38
+ */
39
+ export function configureLogging(LoggingService, options) {
40
+ PropTypes.checkPropTypes(optionsShape, options, 'property', 'Logging');
41
+ service = new LoggingService(options);
42
+ PropTypes.checkPropTypes(serviceShape, service, 'property', 'LoggingService');
43
+ return service;
44
+ }
45
+ /**
46
+ * Logs a message to the 'info' log level. Can accept custom attributes as a property of the error
47
+ * object, or as an optional second parameter.
48
+ *
49
+ * @param {string|Error} infoStringOrErrorObject
50
+ * @param {Object} [customAttributes={}]
51
+ */
52
+ export function logInfo(infoStringOrErrorObject, customAttributes) {
53
+ return service.logInfo(infoStringOrErrorObject, customAttributes);
54
+ }
55
+ /**
56
+ * Logs a message to the 'error' log level. Can accept custom attributes as a property of the error
57
+ * object, or as an optional second parameter.
58
+ *
59
+ * @param {string|Error} errorStringOrObject
60
+ * @param {Object} [customAttributes={}]
61
+ */
62
+ export function logError(errorStringOrObject, customAttributes) {
63
+ return service.logError(errorStringOrObject, customAttributes);
64
+ }
65
+ /**
66
+ * Sets a custom attribute that will be included with all subsequent log messages.
67
+ *
68
+ * @param {string} name
69
+ * @param {string|number|null} value
70
+ */
71
+ export function setCustomAttribute(name, value) {
72
+ return service.setCustomAttribute(name, value);
73
+ }
74
+ /**
75
+ *
76
+ * @throws {Error} Thrown if the logging service has not yet been configured via {@link configureLogging}.
77
+ * @returns {LoggingService}
78
+ */
79
+ export function getLoggingService() {
80
+ if (!service) {
81
+ throw Error('You must first configure the logging service.');
82
+ }
83
+ return service;
84
+ }
85
+ /**
86
+ * Sets the configured logging service back to null.
87
+ *
88
+ */
89
+ export function resetLoggingService() {
90
+ service = null;
91
+ }
92
+ /**
93
+ * @name LoggingService
94
+ * @interface
95
+ * @memberof module:Logging
96
+ * @property {function} logError
97
+ * @property {function} logInfo
98
+ */
99
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../runtime/logging/interface.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,MAAM,YAAY,GAAG;IACnB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;CACpC,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;IAClC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;CACpC,CAAC;AAEF,IAAI,OAAO,GAAG,IAAI,CAAC;AAEnB;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,cAAc,EAAE,OAAO;IACtD,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACvE,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC9E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,uBAAuB,EAAE,gBAAgB;IAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,mBAAmB,EAAE,gBAAgB;IAC5D,OAAO,OAAO,CAAC,QAAQ,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAI,EAAE,KAAK;IAC5C,OAAO,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC;AAED;;;;;;GAMG","sourcesContent":["/**\n * #### Import members from **@openedx/frontend-base logging**\n *\n * Contains a shared interface for logging information. (The default implementation is in\n * NewRelicLoggingService.js.) When in development mode, all messages will instead be sent to the console.\n *\n * The `initialize` function performs much of the logging configuration for you. If, however,\n * you're not using the `initialize` function, logging (via New Relic) can be configured via:\n *\n * ```\n * import { getSiteConfig, configureLogging, NewRelicLoggingService, logInfo, logError } from '@openedx/frontend-base';\n *\n * configureLogging(NewRelicLoggingService, {\n * config: getSiteConfig(),\n * });\n *\n * logInfo('Just so you know...');\n * logInfo(new Error('Unimportant error'), { type: 'unimportant' });\n * logError('Uhoh!');\n * logError(new Error('Uhoh error!'));\n * ```\n *\n * As shown in this example, logging depends on the configuration document.\n *\n * @module Logging\n */\n\nimport PropTypes from 'prop-types';\n\nconst optionsShape = {\n config: PropTypes.object.isRequired,\n};\n\nconst serviceShape = {\n logInfo: PropTypes.func.isRequired,\n logError: PropTypes.func.isRequired,\n};\n\nlet service = null;\n\n/**\n *\n */\nexport function configureLogging(LoggingService, options) {\n PropTypes.checkPropTypes(optionsShape, options, 'property', 'Logging');\n service = new LoggingService(options);\n PropTypes.checkPropTypes(serviceShape, service, 'property', 'LoggingService');\n return service;\n}\n\n/**\n * Logs a message to the 'info' log level. Can accept custom attributes as a property of the error\n * object, or as an optional second parameter.\n *\n * @param {string|Error} infoStringOrErrorObject\n * @param {Object} [customAttributes={}]\n */\nexport function logInfo(infoStringOrErrorObject, customAttributes) {\n return service.logInfo(infoStringOrErrorObject, customAttributes);\n}\n\n/**\n * Logs a message to the 'error' log level. Can accept custom attributes as a property of the error\n * object, or as an optional second parameter.\n *\n * @param {string|Error} errorStringOrObject\n * @param {Object} [customAttributes={}]\n */\nexport function logError(errorStringOrObject, customAttributes) {\n return service.logError(errorStringOrObject, customAttributes);\n}\n\n/**\n * Sets a custom attribute that will be included with all subsequent log messages.\n *\n * @param {string} name\n * @param {string|number|null} value\n */\nexport function setCustomAttribute(name, value) {\n return service.setCustomAttribute(name, value);\n}\n\n/**\n *\n * @throws {Error} Thrown if the logging service has not yet been configured via {@link configureLogging}.\n * @returns {LoggingService}\n */\nexport function getLoggingService() {\n if (!service) {\n throw Error('You must first configure the logging service.');\n }\n return service;\n}\n\n/**\n * Sets the configured logging service back to null.\n *\n */\nexport function resetLoggingService() {\n service = null;\n}\n\n/**\n * @name LoggingService\n * @interface\n * @memberof module:Logging\n * @property {function} logError\n * @property {function} logInfo\n */\n"]}
@@ -0,0 +1,4 @@
1
+ export interface LoggingService {
2
+ logError: (errorStringOrObject: string | Error, customAttributes: any) => void;
3
+ logInfo: (infoStringOrErrorObject: string | Error, customAttributes: any) => void;
4
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../runtime/logging/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface LoggingService {\n logError: (errorStringOrObject: string | Error, customAttributes: any) => void,\n logInfo: (infoStringOrErrorObject: string | Error, customAttributes: any) => void,\n}\n"]}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @deprecated Use authenticatedLoader instead.
3
+ *
4
+ * A react-router route that redirects to the login page when the route becomes active and the user
5
+ * is not authenticated. If the application has been initialized with `requireAuthenticatedUser`
6
+ * false, an authenticatedPageRoute can be used to protect a subset of the application's routes,
7
+ * rather than the entire application.
8
+ *
9
+ * It can optionally accept an override URL to redirect to instead of the login page.
10
+ *
11
+ * Like a `PageWrap`, also calls `sendPageEvent` when the route becomes active.
12
+ *
13
+ * @see PageWrap
14
+ * @see {@link module:frontend-base~sendPageEvent}
15
+ * @memberof module:React
16
+ * @param {Object} props
17
+ * @param {string} props.redirectUrl The URL anonymous users should be redirected to, rather than
18
+ * viewing the route's contents.
19
+ */
20
+ declare function AuthenticatedPageRoute({ redirectUrl, children }: {
21
+ redirectUrl: string;
22
+ }): import("react/jsx-runtime").JSX.Element | null;
23
+ declare namespace AuthenticatedPageRoute {
24
+ namespace propTypes {
25
+ let redirectUrl: PropTypes.Requireable<string>;
26
+ let children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
27
+ }
28
+ }
29
+ export default AuthenticatedPageRoute;
30
+ import PropTypes from 'prop-types';
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import PropTypes from 'prop-types';
3
+ import { getLoginRedirectUrl } from '../auth';
4
+ import PageWrap from './PageWrap';
5
+ import { useAuthenticatedUser } from './hooks';
6
+ /**
7
+ * @deprecated Use authenticatedLoader instead.
8
+ *
9
+ * A react-router route that redirects to the login page when the route becomes active and the user
10
+ * is not authenticated. If the application has been initialized with `requireAuthenticatedUser`
11
+ * false, an authenticatedPageRoute can be used to protect a subset of the application's routes,
12
+ * rather than the entire application.
13
+ *
14
+ * It can optionally accept an override URL to redirect to instead of the login page.
15
+ *
16
+ * Like a `PageWrap`, also calls `sendPageEvent` when the route becomes active.
17
+ *
18
+ * @see PageWrap
19
+ * @see {@link module:frontend-base~sendPageEvent}
20
+ * @memberof module:React
21
+ * @param {Object} props
22
+ * @param {string} props.redirectUrl The URL anonymous users should be redirected to, rather than
23
+ * viewing the route's contents.
24
+ */
25
+ export default function AuthenticatedPageRoute({ redirectUrl = null, children }) {
26
+ const authenticatedUser = useAuthenticatedUser();
27
+ if (authenticatedUser === null) {
28
+ const destination = redirectUrl || getLoginRedirectUrl(global.location.href);
29
+ global.location.assign(destination);
30
+ return null;
31
+ }
32
+ return (_jsx(PageWrap, { children: children }));
33
+ }
34
+ AuthenticatedPageRoute.propTypes = {
35
+ redirectUrl: PropTypes.string,
36
+ children: PropTypes.node.isRequired,
37
+ };
38
+ //# sourceMappingURL=AuthenticatedPageRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthenticatedPageRoute.js","sourceRoot":"","sources":["../../../runtime/react/AuthenticatedPageRoute.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAE,WAAW,GAAG,IAAI,EAAE,QAAQ,EAAE;IAC7E,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IACjD,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,WAAW,IAAI,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAC,QAAQ,cACN,QAAQ,GACA,CACZ,CAAC;AACJ,CAAC;AAED,sBAAsB,CAAC,SAAS,GAAG;IACjC,WAAW,EAAE,SAAS,CAAC,MAAM;IAC7B,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;CACpC,CAAC","sourcesContent":["import PropTypes from 'prop-types';\n\nimport { getLoginRedirectUrl } from '../auth';\nimport PageWrap from './PageWrap';\nimport { useAuthenticatedUser } from './hooks';\n\n/**\n * @deprecated Use authenticatedLoader instead.\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-base~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 = null, children }) {\n const authenticatedUser = useAuthenticatedUser();\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"]}
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ interface CombinedAppProviderProps {
3
+ children: ReactNode;
4
+ }
5
+ export default function CombinedAppProvider({ children }: CombinedAppProviderProps): ReactNode;
6
+ export {};
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { getSiteConfig } from '../config';
4
+ export default function CombinedAppProvider({ children }) {
5
+ const { apps } = getSiteConfig();
6
+ const providers = useMemo(() => {
7
+ const list = [];
8
+ if (apps) {
9
+ apps.forEach((app) => {
10
+ if (Array.isArray(app.providers)) {
11
+ list.push(...app.providers);
12
+ }
13
+ });
14
+ }
15
+ return list;
16
+ }, [apps]);
17
+ return providers.reduceRight((acc, Provider) => _jsx(Provider, { children: acc }), children);
18
+ }
19
+ ;
20
+ //# sourceMappingURL=CombinedAppProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CombinedAppProvider.js","sourceRoot":"","sources":["../../../runtime/react/CombinedAppProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,OAAO,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAM1C,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,QAAQ,EAA4B;IAChF,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IAEjC,MAAM,SAAS,GAAG,OAAO,CAAgB,GAAG,EAAE;QAC5C,MAAM,IAAI,GAAkB,EAAE,CAAC;QAC/B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACxB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,SAAS,CAAC,WAAW,CAC1B,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAC,QAAQ,cAAE,GAAG,GAAY,EAC7C,QAAQ,CACT,CAAC;AACJ,CAAC;AAAA,CAAC","sourcesContent":["import { ReactNode, useMemo } from 'react';\nimport { App, AppProvider } from '../../types';\nimport { getSiteConfig } from '../config';\n\ninterface CombinedAppProviderProps {\n children: ReactNode,\n}\n\nexport default function CombinedAppProvider({ children }: CombinedAppProviderProps) {\n const { apps } = getSiteConfig();\n\n const providers = useMemo<AppProvider[]>(() => {\n const list: AppProvider[] = [];\n if (apps) {\n apps.forEach((app: App) => {\n if (Array.isArray(app.providers)) {\n list.push(...app.providers);\n }\n });\n }\n return list;\n }, [apps]);\n\n return providers.reduceRight<ReactNode>(\n (acc, Provider) => <Provider>{acc}</Provider>,\n children,\n );\n};\n"]}
@@ -0,0 +1,20 @@
1
+ import { AppConfig } from '../../types';
2
+ /**
3
+ * `CurrentAppContext` provides data from `App` in a way that React components can readily consume.
4
+ * if it's mutable data. `CurrentAppContext` contains the following data structure:
5
+ *
6
+ * ```
7
+ * {
8
+ * config: <THE App.config OBJECT>
9
+ * }
10
+ * ```
11
+ * If the `App.config` data changes, `CurrentAppContext` will be updated
12
+ * accordingly and pass those changes onto React components using the context.
13
+ *
14
+ * `CurrentAppContext` is used in a React application like any other `[React Context](https://reactjs.org/docs/context.html)
15
+ * @memberof module:React
16
+ */
17
+ declare const CurrentAppContext: import("react").Context<{
18
+ appConfig: AppConfig;
19
+ }>;
20
+ export default CurrentAppContext;
@@ -0,0 +1,21 @@
1
+ import { createContext } from 'react';
2
+ /**
3
+ * `CurrentAppContext` provides data from `App` in a way that React components can readily consume.
4
+ * if it's mutable data. `CurrentAppContext` contains the following data structure:
5
+ *
6
+ * ```
7
+ * {
8
+ * config: <THE App.config OBJECT>
9
+ * }
10
+ * ```
11
+ * If the `App.config` data changes, `CurrentAppContext` will be updated
12
+ * accordingly and pass those changes onto React components using the context.
13
+ *
14
+ * `CurrentAppContext` is used in a React application like any other `[React Context](https://reactjs.org/docs/context.html)
15
+ * @memberof module:React
16
+ */
17
+ const CurrentAppContext = createContext({
18
+ appConfig: {},
19
+ });
20
+ export default CurrentAppContext;
21
+ //# sourceMappingURL=CurrentAppContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurrentAppContext.js","sourceRoot":"","sources":["../../../runtime/react/CurrentAppContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC;;;;;;;;;;;;;;GAcG;AACH,MAAM,iBAAiB,GAAG,aAAa,CAEpC;IACD,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,eAAe,iBAAiB,CAAC","sourcesContent":["import { createContext } from 'react';\nimport { AppConfig } from '../../types';\n\n/**\n * `CurrentAppContext` provides data from `App` in a way that React components can readily consume.\n * if it's mutable data. `CurrentAppContext` contains the following data structure:\n *\n * ```\n * {\n * config: <THE App.config OBJECT>\n * }\n * ```\n * If the `App.config` data changes, `CurrentAppContext` will be updated\n * accordingly and pass those changes onto React components using the context.\n *\n * `CurrentAppContext` is used in a React application like any other `[React Context](https://reactjs.org/docs/context.html)\n * @memberof module:React\n */\nconst CurrentAppContext = createContext<{\n appConfig: AppConfig,\n}>({\n appConfig: {},\n});\n\nexport default CurrentAppContext;\n"]}
@@ -0,0 +1,23 @@
1
+ import { ReactNode } from 'react';
2
+ interface CurrentAppProviderProps {
3
+ appId: string;
4
+ children: ReactNode;
5
+ }
6
+ /**
7
+ * A wrapper component for React-based micro-frontends to initialize a number of common data/
8
+ * context providers.
9
+ *
10
+ * ```
11
+ * <CurrentAppProvider appId="my.app">
12
+ * <HelloWorld />
13
+ * </CurrentAppProvider>
14
+ * ```
15
+ *
16
+ * This will provide the following to HelloWorld:
17
+ * - A `CurrentAppContext` provider for React context data.
18
+ *
19
+ * @param {Object} props
20
+ * @memberof module:React
21
+ */
22
+ export default function CurrentAppProvider({ appId, children }: CurrentAppProviderProps): import("react/jsx-runtime").JSX.Element;
23
+ export {};
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo, useState } from 'react';
3
+ import { getAppConfig } from '../config';
4
+ import { CONFIG_CHANGED } from '../constants';
5
+ import CurrentAppContext from './CurrentAppContext';
6
+ import { useSiteEvent } from './hooks';
7
+ /**
8
+ * A wrapper component for React-based micro-frontends to initialize a number of common data/
9
+ * context providers.
10
+ *
11
+ * ```
12
+ * <CurrentAppProvider appId="my.app">
13
+ * <HelloWorld />
14
+ * </CurrentAppProvider>
15
+ * ```
16
+ *
17
+ * This will provide the following to HelloWorld:
18
+ * - A `CurrentAppContext` provider for React context data.
19
+ *
20
+ * @param {Object} props
21
+ * @memberof module:React
22
+ */
23
+ export default function CurrentAppProvider({ appId, children }) {
24
+ const [appConfig, setAppConfig] = useState(getAppConfig(appId));
25
+ useSiteEvent(CONFIG_CHANGED, () => {
26
+ setAppConfig(getAppConfig(appId));
27
+ });
28
+ const appContextValue = useMemo(() => ({
29
+ appConfig,
30
+ }), [appConfig]);
31
+ return (_jsx(CurrentAppContext.Provider, { value: appContextValue, children: children }));
32
+ }
33
+ //# sourceMappingURL=CurrentAppProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurrentAppProvider.js","sourceRoot":"","sources":["../../../runtime/react/CurrentAppProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAA2B;IACrF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAEhE,YAAY,CAAC,cAAc,EAAE,GAAG,EAAE;QAChC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACrC,SAAS;KACV,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEjB,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,eAAe,YAC/C,QAAQ,GACkB,CAC9B,CAAC;AACJ,CAAC","sourcesContent":["import { ReactNode, useMemo, useState } from 'react';\n\nimport { getAppConfig } from '../config';\nimport { CONFIG_CHANGED } from '../constants';\n\nimport CurrentAppContext from './CurrentAppContext';\nimport { useSiteEvent } from './hooks';\n\ninterface CurrentAppProviderProps {\n appId: string,\n children: ReactNode,\n}\n\n/**\n * A wrapper component for React-based micro-frontends to initialize a number of common data/\n * context providers.\n *\n * ```\n * <CurrentAppProvider appId=\"my.app\">\n * <HelloWorld />\n * </CurrentAppProvider>\n * ```\n *\n * This will provide the following to HelloWorld:\n * - A `CurrentAppContext` provider for React context data.\n *\n * @param {Object} props\n * @memberof module:React\n */\nexport default function CurrentAppProvider({ appId, children }: CurrentAppProviderProps) {\n const [appConfig, setAppConfig] = useState(getAppConfig(appId));\n\n useSiteEvent(CONFIG_CHANGED, () => {\n setAppConfig(getAppConfig(appId));\n });\n\n const appContextValue = useMemo(() => ({\n appConfig,\n }), [appConfig]);\n\n return (\n <CurrentAppContext.Provider value={appContextValue}>\n {children}\n </CurrentAppContext.Provider>\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ export default function Divider(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export default function Divider() {
3
+ return (_jsx("hr", { className: "w-100 my-2" }));
4
+ }
5
+ //# sourceMappingURL=Divider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider.js","sourceRoot":"","sources":["../../../runtime/react/Divider.tsx"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,UAAU,OAAO;IAC7B,OAAO,CACL,aAAI,SAAS,EAAC,YAAY,GAAG,CAC9B,CAAC;AACJ,CAAC","sourcesContent":["export default function Divider() {\n return (\n <hr className=\"w-100 my-2\" />\n );\n}\n"]}