@openedx/frontend-base 1.0.0-alpha.2 → 1.0.0-alpha.21

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 (782) hide show
  1. package/README.md +27 -0
  2. package/{index.ts → dist/index.d.ts} +0 -3
  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/{runtime → dist/runtime}/analytics/interface.js +26 -38
  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/{runtime → dist/runtime}/auth/interface.js +65 -72
  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/{runtime → dist/runtime}/babel.config.js +2 -1
  55. package/dist/runtime/babel.config.js.map +1 -0
  56. package/{runtime/config/index.ts → dist/runtime/config/index.d.ts} +28 -124
  57. package/dist/runtime/config/index.js +327 -0
  58. package/dist/runtime/config/index.js.map +1 -0
  59. package/dist/runtime/constants.d.ts +57 -0
  60. package/{runtime/constants.ts → dist/runtime/constants.js} +1 -11
  61. package/dist/runtime/constants.js.map +1 -0
  62. package/dist/runtime/i18n/index.d.ts +3 -0
  63. package/{runtime → dist/runtime}/i18n/index.js +4 -44
  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 +119 -0
  69. package/dist/runtime/i18n/lib.js +236 -0
  70. package/dist/runtime/i18n/lib.js.map +1 -0
  71. package/dist/runtime/index.d.ts +13 -0
  72. package/dist/runtime/index.js +14 -0
  73. package/dist/runtime/index.js.map +1 -0
  74. package/dist/runtime/initialize.d.ts +91 -0
  75. package/dist/runtime/initialize.js +315 -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/{runtime/logging/index.ts → dist/runtime/logging/index.d.ts} +1 -7
  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/{runtime → dist/runtime}/logging/interface.js +16 -26
  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/{runtime/react/AuthenticatedPageRoute.jsx → dist/runtime/react/AuthenticatedPageRoute.js} +13 -18
  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 +24 -0
  100. package/dist/runtime/react/CombinedAppProvider.js.map +1 -0
  101. package/dist/runtime/react/CurrentAppContext.d.ts +20 -0
  102. package/{runtime/react/CurrentAppContext.tsx → dist/runtime/react/CurrentAppContext.js} +3 -7
  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/{runtime/react/LoginRedirect.jsx → dist/runtime/react/LoginRedirect.js} +5 -5
  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/{runtime/react/PageWrap.jsx → dist/runtime/react/PageWrap.js} +7 -10
  124. package/dist/runtime/react/PageWrap.js.map +1 -0
  125. package/dist/runtime/react/SiteContext.d.ts +24 -0
  126. package/{runtime/react/SiteContext.tsx → dist/runtime/react/SiteContext.js} +5 -11
  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.d.ts +2 -0
  138. package/dist/runtime/react/hooks/theme/index.js +3 -0
  139. package/dist/runtime/react/hooks/theme/index.js.map +1 -0
  140. package/dist/runtime/react/hooks/theme/useTheme.d.ts +35 -0
  141. package/dist/runtime/react/hooks/theme/useTheme.js +153 -0
  142. package/dist/runtime/react/hooks/theme/useTheme.js.map +1 -0
  143. package/dist/runtime/react/hooks/theme/useThemeConfig.d.ts +16 -0
  144. package/dist/runtime/react/hooks/theme/useThemeConfig.js +29 -0
  145. package/dist/runtime/react/hooks/theme/useThemeConfig.js.map +1 -0
  146. package/dist/runtime/react/hooks/theme/useThemeCore.d.ts +10 -0
  147. package/dist/runtime/react/hooks/theme/useThemeCore.js +40 -0
  148. package/dist/runtime/react/hooks/theme/useThemeCore.js.map +1 -0
  149. package/dist/runtime/react/hooks/theme/useThemeVariants.d.ts +17 -0
  150. package/dist/runtime/react/hooks/theme/useThemeVariants.js +90 -0
  151. package/dist/runtime/react/hooks/theme/useThemeVariants.js.map +1 -0
  152. package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.d.ts +8 -0
  153. package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.js +30 -0
  154. package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.js.map +1 -0
  155. package/dist/runtime/react/hooks/theme/utils.d.ts +6 -0
  156. package/dist/runtime/react/hooks/theme/utils.js +11 -0
  157. package/dist/runtime/react/hooks/theme/utils.js.map +1 -0
  158. package/dist/runtime/react/hooks/useActiveRoles.d.ts +2 -0
  159. package/dist/runtime/react/hooks/useActiveRoles.js +13 -0
  160. package/dist/runtime/react/hooks/useActiveRoles.js.map +1 -0
  161. package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.d.ts +2 -0
  162. package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.js +26 -0
  163. package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.js.map +1 -0
  164. package/dist/runtime/react/hooks/useAppConfig.d.ts +2 -0
  165. package/dist/runtime/react/hooks/useAppConfig.js +8 -0
  166. package/dist/runtime/react/hooks/useAppConfig.js.map +1 -0
  167. package/dist/runtime/react/hooks/useAuthenticatedUser.d.ts +2 -0
  168. package/dist/runtime/react/hooks/useAuthenticatedUser.js +8 -0
  169. package/dist/runtime/react/hooks/useAuthenticatedUser.js.map +1 -0
  170. package/dist/runtime/react/hooks/useSiteConfig.d.ts +2 -0
  171. package/dist/runtime/react/hooks/useSiteConfig.js +8 -0
  172. package/dist/runtime/react/hooks/useSiteConfig.js.map +1 -0
  173. package/dist/runtime/react/hooks/useSiteEvent.d.ts +12 -0
  174. package/dist/runtime/react/hooks/useSiteEvent.js +22 -0
  175. package/dist/runtime/react/hooks/useSiteEvent.js.map +1 -0
  176. package/{runtime/react/index.ts → dist/runtime/react/index.d.ts} +1 -1
  177. package/dist/runtime/react/index.js +20 -0
  178. package/dist/runtime/react/index.js.map +1 -0
  179. package/dist/runtime/react/reducers.d.ts +11 -0
  180. package/dist/runtime/react/reducers.js +28 -0
  181. package/dist/runtime/react/reducers.js.map +1 -0
  182. package/dist/runtime/routing/authenticatedLoader.d.ts +2 -0
  183. package/dist/runtime/routing/authenticatedLoader.js +27 -0
  184. package/dist/runtime/routing/authenticatedLoader.js.map +1 -0
  185. package/dist/runtime/routing/index.d.ts +2 -0
  186. package/dist/runtime/routing/index.js +3 -0
  187. package/dist/runtime/routing/index.js.map +1 -0
  188. package/dist/runtime/routing/utils.d.ts +4 -0
  189. package/dist/runtime/routing/utils.js +43 -0
  190. package/dist/runtime/routing/utils.js.map +1 -0
  191. package/dist/runtime/scripts/GoogleAnalyticsLoader.d.ts +12 -0
  192. package/dist/runtime/scripts/GoogleAnalyticsLoader.js +49 -0
  193. package/dist/runtime/scripts/GoogleAnalyticsLoader.js.map +1 -0
  194. package/dist/runtime/scripts/index.js +2 -0
  195. package/dist/runtime/scripts/index.js.map +1 -0
  196. package/dist/runtime/setupTest.d.ts +1 -0
  197. package/dist/runtime/setupTest.js +12 -0
  198. package/dist/runtime/setupTest.js.map +1 -0
  199. package/dist/runtime/slots/Slot.d.ts +10 -0
  200. package/dist/runtime/slots/Slot.js +35 -0
  201. package/dist/runtime/slots/Slot.js.map +1 -0
  202. package/dist/runtime/slots/SlotContext.d.ts +8 -0
  203. package/dist/runtime/slots/SlotContext.js +7 -0
  204. package/dist/runtime/slots/SlotContext.js.map +1 -0
  205. package/dist/runtime/slots/hooks.d.ts +13 -0
  206. package/dist/runtime/slots/hooks.js +29 -0
  207. package/dist/runtime/slots/hooks.js.map +1 -0
  208. package/dist/runtime/slots/index.js +7 -0
  209. package/dist/runtime/slots/index.js.map +1 -0
  210. package/dist/runtime/slots/layout/DefaultSlotLayout.d.ts +1 -0
  211. package/dist/runtime/slots/layout/DefaultSlotLayout.js +7 -0
  212. package/dist/runtime/slots/layout/DefaultSlotLayout.js.map +1 -0
  213. package/dist/runtime/slots/layout/hooks.d.ts +10 -0
  214. package/dist/runtime/slots/layout/hooks.js +57 -0
  215. package/dist/runtime/slots/layout/hooks.js.map +1 -0
  216. package/dist/runtime/slots/layout/index.js +5 -0
  217. package/dist/runtime/slots/layout/index.js.map +1 -0
  218. package/{runtime/slots/layout/types.ts → dist/runtime/slots/layout/types.d.ts} +10 -25
  219. package/dist/runtime/slots/layout/types.js +12 -0
  220. package/dist/runtime/slots/layout/types.js.map +1 -0
  221. package/dist/runtime/slots/layout/utils.d.ts +5 -0
  222. package/dist/runtime/slots/layout/utils.js +11 -0
  223. package/dist/runtime/slots/layout/utils.js.map +1 -0
  224. package/{runtime/slots/types.ts → dist/runtime/slots/types.d.ts} +6 -12
  225. package/dist/runtime/slots/types.js +7 -0
  226. package/dist/runtime/slots/types.js.map +1 -0
  227. package/dist/runtime/slots/utils.d.ts +3 -0
  228. package/dist/runtime/slots/utils.js +66 -0
  229. package/dist/runtime/slots/utils.js.map +1 -0
  230. package/dist/runtime/slots/widget/WidgetContext.d.ts +6 -0
  231. package/dist/runtime/slots/widget/WidgetContext.js +8 -0
  232. package/dist/runtime/slots/widget/WidgetContext.js.map +1 -0
  233. package/dist/runtime/slots/widget/WidgetProvider.d.ts +9 -0
  234. package/dist/runtime/slots/widget/WidgetProvider.js +18 -0
  235. package/dist/runtime/slots/widget/WidgetProvider.js.map +1 -0
  236. package/dist/runtime/slots/widget/hooks.d.ts +13 -0
  237. package/dist/runtime/slots/widget/hooks.js +104 -0
  238. package/dist/runtime/slots/widget/hooks.js.map +1 -0
  239. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.d.ts +10 -0
  240. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.js +42 -0
  241. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.js.map +1 -0
  242. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.d.ts +13 -0
  243. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.js +15 -0
  244. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.js.map +1 -0
  245. package/dist/runtime/slots/widget/iframe/IFrameWidget.d.ts +6 -0
  246. package/dist/runtime/slots/widget/iframe/IFrameWidget.js +32 -0
  247. package/dist/runtime/slots/widget/iframe/IFrameWidget.js.map +1 -0
  248. package/dist/runtime/slots/widget/iframe/constants.d.ts +15 -0
  249. package/{runtime/slots/widget/iframe/constants.ts → dist/runtime/slots/widget/iframe/constants.js} +2 -4
  250. package/dist/runtime/slots/widget/iframe/constants.js.map +1 -0
  251. package/dist/runtime/slots/widget/iframe/hooks.d.ts +64 -0
  252. package/dist/runtime/slots/widget/iframe/hooks.js +144 -0
  253. package/dist/runtime/slots/widget/iframe/hooks.js.map +1 -0
  254. package/{runtime/slots/widget/iframe/index.ts → dist/runtime/slots/widget/iframe/index.d.ts} +1 -4
  255. package/dist/runtime/slots/widget/iframe/index.js +3 -0
  256. package/dist/runtime/slots/widget/iframe/index.js.map +1 -0
  257. package/{runtime/slots/widget/iframe/types.ts → dist/runtime/slots/widget/iframe/types.d.ts} +2 -4
  258. package/dist/runtime/slots/widget/iframe/types.js +3 -0
  259. package/dist/runtime/slots/widget/iframe/types.js.map +1 -0
  260. package/dist/runtime/slots/widget/index.js +6 -0
  261. package/dist/runtime/slots/widget/index.js.map +1 -0
  262. package/{runtime/slots/widget/types.ts → dist/runtime/slots/widget/types.d.ts} +58 -84
  263. package/dist/runtime/slots/widget/types.js +41 -0
  264. package/dist/runtime/slots/widget/types.js.map +1 -0
  265. package/dist/runtime/slots/widget/utils.d.ts +22 -0
  266. package/dist/runtime/slots/widget/utils.js +184 -0
  267. package/dist/runtime/slots/widget/utils.js.map +1 -0
  268. package/{runtime/subscriptions.ts → dist/runtime/subscriptions.d.ts} +5 -41
  269. package/dist/runtime/subscriptions.js +48 -0
  270. package/dist/runtime/subscriptions.js.map +1 -0
  271. package/{runtime/testing/index.ts → dist/runtime/testing/index.d.ts} +0 -1
  272. package/dist/runtime/testing/index.js +9 -0
  273. package/dist/runtime/testing/index.js.map +1 -0
  274. package/dist/runtime/testing/initializeMockApp.d.ts +46 -0
  275. package/{runtime/testing/initializeMockApp.ts → dist/runtime/testing/initializeMockApp.js} +26 -36
  276. package/dist/runtime/testing/initializeMockApp.js.map +1 -0
  277. package/dist/runtime/testing/mockMessages.d.ts +22 -0
  278. package/dist/runtime/testing/mockMessages.js +23 -0
  279. package/dist/runtime/testing/mockMessages.js.map +1 -0
  280. package/dist/runtime/utils.d.ts +95 -0
  281. package/{runtime → dist/runtime}/utils.js +55 -70
  282. package/dist/runtime/utils.js.map +1 -0
  283. package/dist/shell/DefaultLayout.d.ts +1 -0
  284. package/dist/shell/DefaultLayout.js +7 -0
  285. package/dist/shell/DefaultLayout.js.map +1 -0
  286. package/dist/shell/DefaultMain.d.ts +1 -0
  287. package/dist/shell/DefaultMain.js +6 -0
  288. package/dist/shell/DefaultMain.js.map +1 -0
  289. package/dist/shell/Logo.d.ts +6 -0
  290. package/dist/shell/Logo.js +14 -0
  291. package/dist/shell/Logo.js.map +1 -0
  292. package/dist/shell/Shell.d.ts +1 -0
  293. package/dist/shell/Shell.js +10 -0
  294. package/dist/shell/Shell.js.map +1 -0
  295. package/dist/shell/Shell.messages.d.ts +58 -0
  296. package/dist/shell/Shell.messages.js +60 -0
  297. package/dist/shell/Shell.messages.js.map +1 -0
  298. package/dist/shell/app.d.ts +3 -0
  299. package/dist/shell/app.js +35 -0
  300. package/dist/shell/app.js.map +1 -0
  301. package/{shell → dist/shell}/app.scss +2 -1
  302. package/dist/shell/babel.config.d.ts +2 -0
  303. package/{shell → dist/shell}/babel.config.js +2 -1
  304. package/dist/shell/babel.config.js.map +1 -0
  305. package/dist/shell/dev/devFooter/app.d.ts +3 -0
  306. package/dist/shell/dev/devFooter/app.js +36 -0
  307. package/dist/shell/dev/devFooter/app.js.map +1 -0
  308. package/dist/shell/dev/devFooter/index.js +2 -0
  309. package/dist/shell/dev/devFooter/index.js.map +1 -0
  310. package/dist/shell/dev/devHeader/BarContext.d.ts +7 -0
  311. package/dist/shell/dev/devHeader/BarContext.js +8 -0
  312. package/dist/shell/dev/devHeader/BarContext.js.map +1 -0
  313. package/dist/shell/dev/devHeader/BarLink.d.ts +1 -0
  314. package/dist/shell/dev/devHeader/BarLink.js +10 -0
  315. package/dist/shell/dev/devHeader/BarLink.js.map +1 -0
  316. package/dist/shell/dev/devHeader/BarProvider.d.ts +6 -0
  317. package/dist/shell/dev/devHeader/BarProvider.js +16 -0
  318. package/dist/shell/dev/devHeader/BarProvider.js.map +1 -0
  319. package/dist/shell/dev/devHeader/CoursesLink.d.ts +1 -0
  320. package/dist/shell/dev/devHeader/CoursesLink.js +10 -0
  321. package/dist/shell/dev/devHeader/CoursesLink.js.map +1 -0
  322. package/dist/shell/dev/devHeader/FooContext.d.ts +7 -0
  323. package/dist/shell/dev/devHeader/FooContext.js +8 -0
  324. package/dist/shell/dev/devHeader/FooContext.js.map +1 -0
  325. package/dist/shell/dev/devHeader/FooLink.d.ts +1 -0
  326. package/dist/shell/dev/devHeader/FooLink.js +10 -0
  327. package/dist/shell/dev/devHeader/FooLink.js.map +1 -0
  328. package/dist/shell/dev/devHeader/FooProvider.d.ts +6 -0
  329. package/dist/shell/dev/devHeader/FooProvider.js +16 -0
  330. package/dist/shell/dev/devHeader/FooProvider.js.map +1 -0
  331. package/dist/shell/dev/devHeader/app.d.ts +3 -0
  332. package/dist/shell/dev/devHeader/app.js +34 -0
  333. package/dist/shell/dev/devHeader/app.js.map +1 -0
  334. package/dist/shell/dev/devHeader/index.js +2 -0
  335. package/dist/shell/dev/devHeader/index.js.map +1 -0
  336. package/dist/shell/dev/devHeader/providers.d.ts +3 -0
  337. package/dist/shell/dev/devHeader/providers.js +8 -0
  338. package/dist/shell/dev/devHeader/providers.js.map +1 -0
  339. package/dist/shell/dev/devHome/HomePage.d.ts +1 -0
  340. package/dist/shell/dev/devHome/HomePage.js +13 -0
  341. package/dist/shell/dev/devHome/HomePage.js.map +1 -0
  342. package/dist/shell/dev/devHome/app.d.ts +3 -0
  343. package/dist/shell/dev/devHome/app.js +16 -0
  344. package/dist/shell/dev/devHome/app.js.map +1 -0
  345. package/dist/shell/dev/devHome/i18n/index.d.ts +27 -0
  346. package/dist/shell/dev/devHome/i18n/index.js +28 -0
  347. package/dist/shell/dev/devHome/i18n/index.js.map +1 -0
  348. package/dist/shell/dev/devHome/index.js +2 -0
  349. package/dist/shell/dev/devHome/index.js.map +1 -0
  350. package/dist/shell/dev/devHome/messages.d.ts +8 -0
  351. package/dist/shell/dev/devHome/messages.js +10 -0
  352. package/dist/shell/dev/devHome/messages.js.map +1 -0
  353. package/dist/shell/dev/devUser/app.d.ts +3 -0
  354. package/dist/shell/dev/devUser/app.js +22 -0
  355. package/dist/shell/dev/devUser/app.js.map +1 -0
  356. package/dist/shell/dev/devUser/index.js +2 -0
  357. package/dist/shell/dev/devUser/index.js.map +1 -0
  358. package/dist/shell/dev/index.js +6 -0
  359. package/dist/shell/dev/index.js.map +1 -0
  360. package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.d.ts +1 -0
  361. package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.js +8 -0
  362. package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.js.map +1 -0
  363. package/dist/shell/dev/slotShowcase/LayoutWithOptions.d.ts +1 -0
  364. package/dist/shell/dev/slotShowcase/LayoutWithOptions.js +9 -0
  365. package/dist/shell/dev/slotShowcase/LayoutWithOptions.js.map +1 -0
  366. package/dist/shell/dev/slotShowcase/SlotShowcasePage.d.ts +2 -0
  367. package/dist/shell/dev/slotShowcase/SlotShowcasePage.js +17 -0
  368. package/dist/shell/dev/slotShowcase/SlotShowcasePage.js.map +1 -0
  369. package/dist/shell/dev/slotShowcase/ToggleByRoleLayout.d.ts +1 -0
  370. package/dist/shell/dev/slotShowcase/ToggleByRoleLayout.js +11 -0
  371. package/dist/shell/dev/slotShowcase/ToggleByRoleLayout.js.map +1 -0
  372. package/dist/shell/dev/slotShowcase/WidgetWithOptions.d.ts +1 -0
  373. package/dist/shell/dev/slotShowcase/WidgetWithOptions.js +8 -0
  374. package/dist/shell/dev/slotShowcase/WidgetWithOptions.js.map +1 -0
  375. package/dist/shell/dev/slotShowcase/app.d.ts +3 -0
  376. package/dist/shell/dev/slotShowcase/app.js +372 -0
  377. package/dist/shell/dev/slotShowcase/app.js.map +1 -0
  378. package/dist/shell/dev/slotShowcase/index.js +2 -0
  379. package/dist/shell/dev/slotShowcase/index.js.map +1 -0
  380. package/dist/shell/footer/CenterLinks.d.ts +1 -0
  381. package/dist/shell/footer/CenterLinks.js +7 -0
  382. package/dist/shell/footer/CenterLinks.js.map +1 -0
  383. package/dist/shell/footer/CopyrightNotice.d.ts +10 -0
  384. package/dist/shell/footer/CopyrightNotice.js +10 -0
  385. package/dist/shell/footer/CopyrightNotice.js.map +1 -0
  386. package/dist/shell/footer/Footer.d.ts +1 -0
  387. package/dist/shell/footer/Footer.js +12 -0
  388. package/dist/shell/footer/Footer.js.map +1 -0
  389. package/dist/shell/footer/LabeledLinkColumn.d.ts +1 -0
  390. package/dist/shell/footer/LabeledLinkColumn.js +11 -0
  391. package/dist/shell/footer/LabeledLinkColumn.js.map +1 -0
  392. package/dist/shell/footer/LanguageMenu.d.ts +1 -0
  393. package/dist/shell/footer/LanguageMenu.js +16 -0
  394. package/dist/shell/footer/LanguageMenu.js.map +1 -0
  395. package/dist/shell/footer/LanguageMenuItem.d.ts +8 -0
  396. package/dist/shell/footer/LanguageMenuItem.js +11 -0
  397. package/dist/shell/footer/LanguageMenuItem.js.map +1 -0
  398. package/dist/shell/footer/LeftLinks.d.ts +1 -0
  399. package/dist/shell/footer/LeftLinks.js +7 -0
  400. package/dist/shell/footer/LeftLinks.js.map +1 -0
  401. package/dist/shell/footer/LegalNotices.d.ts +1 -0
  402. package/dist/shell/footer/LegalNotices.js +10 -0
  403. package/dist/shell/footer/LegalNotices.js.map +1 -0
  404. package/dist/shell/footer/PoweredBy.d.ts +1 -0
  405. package/dist/shell/footer/PoweredBy.js +9 -0
  406. package/dist/shell/footer/PoweredBy.js.map +1 -0
  407. package/dist/shell/footer/RevealLinks.d.ts +1 -0
  408. package/dist/shell/footer/RevealLinks.js +16 -0
  409. package/dist/shell/footer/RevealLinks.js.map +1 -0
  410. package/dist/shell/footer/RightLinks.d.ts +1 -0
  411. package/dist/shell/footer/RightLinks.js +7 -0
  412. package/dist/shell/footer/RightLinks.js.map +1 -0
  413. package/dist/shell/footer/app.d.ts +3 -0
  414. package/dist/shell/footer/app.js +59 -0
  415. package/dist/shell/footer/app.js.map +1 -0
  416. package/dist/shell/footer/data/api.d.ts +1 -0
  417. package/dist/shell/footer/data/api.js +45 -0
  418. package/dist/shell/footer/data/api.js.map +1 -0
  419. package/dist/shell/footer/index.js +3 -0
  420. package/dist/shell/footer/index.js.map +1 -0
  421. package/dist/shell/header/AuthenticatedMenu.d.ts +5 -0
  422. package/dist/shell/header/AuthenticatedMenu.js +11 -0
  423. package/dist/shell/header/AuthenticatedMenu.js.map +1 -0
  424. package/dist/shell/header/Header.d.ts +1 -0
  425. package/dist/shell/header/Header.js +8 -0
  426. package/dist/shell/header/Header.js.map +1 -0
  427. package/dist/shell/header/anonymous-menu/AnonymousMenu.d.ts +5 -0
  428. package/dist/shell/header/anonymous-menu/AnonymousMenu.js +7 -0
  429. package/dist/shell/header/anonymous-menu/AnonymousMenu.js.map +1 -0
  430. package/dist/shell/header/anonymous-menu/LoginButton.d.ts +3 -0
  431. package/dist/shell/header/anonymous-menu/LoginButton.js +22 -0
  432. package/dist/shell/header/anonymous-menu/LoginButton.js.map +1 -0
  433. package/dist/shell/header/anonymous-menu/RegisterButton.d.ts +3 -0
  434. package/dist/shell/header/anonymous-menu/RegisterButton.js +22 -0
  435. package/dist/shell/header/anonymous-menu/RegisterButton.js.map +1 -0
  436. package/dist/shell/header/app.d.ts +3 -0
  437. package/dist/shell/header/app.js +119 -0
  438. package/dist/shell/header/app.js.map +1 -0
  439. package/dist/shell/header/desktop/DesktopLayout.d.ts +1 -0
  440. package/dist/shell/header/desktop/DesktopLayout.js +9 -0
  441. package/dist/shell/header/desktop/DesktopLayout.js.map +1 -0
  442. package/dist/shell/header/desktop/PrimaryNavLinks.d.ts +1 -0
  443. package/dist/shell/header/desktop/PrimaryNavLinks.js +7 -0
  444. package/dist/shell/header/desktop/PrimaryNavLinks.js.map +1 -0
  445. package/dist/shell/header/desktop/SecondaryNavLinks.d.ts +1 -0
  446. package/dist/shell/header/desktop/SecondaryNavLinks.js +7 -0
  447. package/dist/shell/header/desktop/SecondaryNavLinks.js.map +1 -0
  448. package/dist/shell/header/index.js +3 -0
  449. package/dist/shell/header/index.js.map +1 -0
  450. package/dist/shell/header/mobile/MobileLayout.d.ts +1 -0
  451. package/dist/shell/header/mobile/MobileLayout.js +17 -0
  452. package/dist/shell/header/mobile/MobileLayout.js.map +1 -0
  453. package/dist/shell/header/mobile/MobileNavLinks.d.ts +1 -0
  454. package/dist/shell/header/mobile/MobileNavLinks.js +7 -0
  455. package/dist/shell/header/mobile/MobileNavLinks.js.map +1 -0
  456. package/dist/shell/i18n/index.d.ts +25 -0
  457. package/dist/shell/i18n/index.js +26 -0
  458. package/dist/shell/i18n/index.js.map +1 -0
  459. package/dist/shell/index.js +8 -0
  460. package/dist/shell/index.js.map +1 -0
  461. package/dist/shell/jest.config.d.ts +15 -0
  462. package/{tools/dist/jest → dist/shell}/jest.config.js +12 -10
  463. package/dist/shell/jest.config.js.map +1 -0
  464. package/dist/shell/menus/LinkMenuItem.d.ts +9 -0
  465. package/dist/shell/menus/LinkMenuItem.js +36 -0
  466. package/dist/shell/menus/LinkMenuItem.js.map +1 -0
  467. package/dist/shell/menus/NavDropdownMenuSlot.d.ts +7 -0
  468. package/dist/shell/menus/NavDropdownMenuSlot.js +14 -0
  469. package/dist/shell/menus/NavDropdownMenuSlot.js.map +1 -0
  470. package/dist/shell/menus/ProfileLinkMenuItem.d.ts +8 -0
  471. package/dist/shell/menus/ProfileLinkMenuItem.js +16 -0
  472. package/dist/shell/menus/ProfileLinkMenuItem.js.map +1 -0
  473. package/dist/shell/menus/data/utils.d.ts +4 -0
  474. package/dist/shell/menus/data/utils.js +13 -0
  475. package/dist/shell/menus/data/utils.js.map +1 -0
  476. package/dist/shell/router/createRouter.d.ts +1 -0
  477. package/dist/shell/router/createRouter.js +26 -0
  478. package/dist/shell/router/createRouter.js.map +1 -0
  479. package/dist/shell/router/getAppRoutes.d.ts +2 -0
  480. package/dist/shell/router/getAppRoutes.js +14 -0
  481. package/dist/shell/router/getAppRoutes.js.map +1 -0
  482. package/dist/shell/setupTest.d.ts +1 -0
  483. package/dist/shell/setupTest.js +12 -0
  484. package/dist/shell/setupTest.js.map +1 -0
  485. package/dist/shell/site.config.dev.d.ts +4 -0
  486. package/dist/shell/site.config.dev.js +43 -0
  487. package/dist/shell/site.config.dev.js.map +1 -0
  488. package/dist/shell/site.d.ts +1 -0
  489. package/dist/shell/site.js +35 -0
  490. package/dist/shell/site.js.map +1 -0
  491. package/dist/tools/babel/babel.config.d.ts +12 -0
  492. package/dist/tools/babel.config.d.ts +2 -0
  493. package/dist/tools/babel.config.js +3 -0
  494. package/dist/tools/cli/commands/serve.d.ts +1 -0
  495. package/dist/tools/cli/intl-imports.d.ts +7 -0
  496. package/{tools/dist → dist/tools}/cli/intl-imports.js +0 -0
  497. package/dist/tools/cli/intl-imports.test.d.ts +1 -0
  498. package/dist/tools/cli/openedx.d.ts +2 -0
  499. package/{tools/dist → dist/tools}/cli/openedx.js +27 -8
  500. package/dist/tools/cli/transifex-utils.d.ts +2 -0
  501. package/{tools/dist → dist/tools}/cli/transifex-utils.js +0 -0
  502. package/dist/tools/cli/utils/ensureConfigFilenameOption.d.ts +2 -0
  503. package/dist/tools/cli/utils/formatter.d.ts +1 -0
  504. package/dist/tools/cli/utils/formatter.js +3 -0
  505. package/dist/tools/cli/utils/getResolvedConfigPath.d.ts +2 -0
  506. package/dist/tools/cli/utils/prettyPrintTitle.d.ts +1 -0
  507. package/dist/tools/cli/utils/printUsage.d.ts +1 -0
  508. package/dist/tools/config-helpers/createConfig.d.ts +2 -0
  509. package/dist/tools/config-helpers/createLintConfig.d.ts +2 -0
  510. package/dist/tools/config-helpers/getBaseConfig.d.ts +2 -0
  511. package/dist/tools/defaultConfigPaths.d.ts +8 -0
  512. package/dist/tools/eslint/base.eslint.config.d.ts +3 -0
  513. package/{config → dist/tools}/eslint/base.eslint.config.js +5 -4
  514. package/dist/tools/eslint.config.d.ts +3 -0
  515. package/dist/tools/index.d.ts +3 -0
  516. package/dist/tools/jest/jest.config.d.ts +14 -0
  517. package/dist/tools/jest.config.d.ts +8 -0
  518. package/dist/tools/types.d.ts +18 -0
  519. package/{tools/dist → dist/tools}/typescript/tsconfig.json +2 -1
  520. package/dist/tools/webpack/common-config/all/getCodeRules.d.ts +2 -0
  521. package/dist/tools/webpack/common-config/all/getFileLoaderRules.d.ts +11 -0
  522. package/dist/tools/webpack/common-config/all/getImageMinimizer.d.ts +5 -0
  523. package/dist/tools/webpack/common-config/all/getStylesheetRule.d.ts +8 -0
  524. package/{config → dist/tools}/webpack/common-config/all/getStylesheetRule.js +1 -1
  525. package/dist/tools/webpack/common-config/dev/getDevServer.d.ts +2 -0
  526. package/{tools/dist → dist/tools}/webpack/common-config/dev/getDevServer.js +3 -5
  527. package/dist/tools/webpack/common-config/index.d.ts +6 -0
  528. package/dist/tools/webpack/common-config/site/getHtmlWebpackPlugin.d.ts +2 -0
  529. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.d.ts +16 -0
  530. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/index.d.ts +2 -0
  531. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.d.ts +1 -0
  532. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.d.ts +1 -0
  533. package/dist/tools/webpack/utils/getPublicPath.d.ts +1 -0
  534. package/{tools/dist → dist/tools}/webpack/utils/getPublicPath.js +1 -1
  535. package/dist/tools/webpack/utils/getResolvedSiteConfigPath.d.ts +1 -0
  536. package/dist/tools/webpack/webpack.config.build.d.ts +3 -0
  537. package/{config → dist/tools}/webpack/webpack.config.build.js +8 -15
  538. package/dist/tools/webpack/webpack.config.dev.d.ts +3 -0
  539. package/{tools/dist → dist/tools}/webpack/webpack.config.dev.js +12 -15
  540. package/dist/tools/webpack/webpack.config.dev.shell.d.ts +3 -0
  541. package/{config → dist/tools}/webpack/webpack.config.dev.shell.js +4 -14
  542. package/dist/types.d.ts +84 -0
  543. package/dist/types.js +7 -0
  544. package/dist/types.js.map +1 -0
  545. package/package.json +28 -17
  546. package/config/tsconfig.json +0 -32
  547. package/config/webpack/common-config/all/getIgnoreWarnings.js +0 -14
  548. package/config/webpack/common-config/dev/getDevServer.js +0 -38
  549. package/config/webpack/plugins/paragon-webpack-plugin/ParagonWebpackPlugin.js +0 -108
  550. package/config/webpack/plugins/paragon-webpack-plugin/index.js +0 -7
  551. package/config/webpack/plugins/paragon-webpack-plugin/utils/assetUtils.js +0 -64
  552. package/config/webpack/plugins/paragon-webpack-plugin/utils/htmlUtils.js +0 -53
  553. package/config/webpack/plugins/paragon-webpack-plugin/utils/index.js +0 -9
  554. package/config/webpack/plugins/paragon-webpack-plugin/utils/paragonStylesheetUtils.js +0 -114
  555. package/config/webpack/plugins/paragon-webpack-plugin/utils/scriptUtils.js +0 -146
  556. package/config/webpack/plugins/paragon-webpack-plugin/utils/stylesheetUtils.js +0 -126
  557. package/config/webpack/plugins/paragon-webpack-plugin/utils/tagUtils.js +0 -57
  558. package/config/webpack/types.js +0 -2
  559. package/config/webpack/utils/getLocalAliases.js +0 -65
  560. package/config/webpack/utils/getPublicPath.js +0 -6
  561. package/config/webpack/utils/paragonUtils.js +0 -138
  562. package/config/webpack/webpack.config.dev.js +0 -76
  563. package/runtime/__mocks__/file.js +0 -1
  564. package/runtime/__mocks__/svg.js +0 -1
  565. package/runtime/__mocks__/universal-cookie.js +0 -6
  566. package/runtime/analytics/MockAnalyticsService.js +0 -71
  567. package/runtime/analytics/SegmentAnalyticsService.js +0 -243
  568. package/runtime/analytics/index.ts +0 -12
  569. package/runtime/analytics/interface.test.js +0 -242
  570. package/runtime/auth/AxiosCsrfTokenService.js +0 -60
  571. package/runtime/auth/AxiosJwtAuthService.js +0 -363
  572. package/runtime/auth/AxiosJwtAuthService.test.jsx +0 -1076
  573. package/runtime/auth/AxiosJwtTokenService.js +0 -134
  574. package/runtime/auth/LocalForageCache.js +0 -76
  575. package/runtime/auth/MockAuthService.js +0 -278
  576. package/runtime/auth/index.ts +0 -19
  577. package/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.js +0 -36
  578. package/runtime/auth/interceptors/createJwtTokenProviderInterceptor.js +0 -37
  579. package/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js +0 -20
  580. package/runtime/auth/interceptors/createRetryInterceptor.js +0 -74
  581. package/runtime/auth/interceptors/createRetryInterceptor.test.js +0 -23
  582. package/runtime/auth/utils.js +0 -105
  583. package/runtime/config/getExternalLinkUrl.test.js +0 -76
  584. package/runtime/i18n/injectIntlWithShim.jsx +0 -48
  585. package/runtime/i18n/lib.test.js +0 -230
  586. package/runtime/i18n/lib.ts +0 -272
  587. package/runtime/index.ts +0 -134
  588. package/runtime/initialize.async.function.config.test.js +0 -43
  589. package/runtime/initialize.const.config.test.js +0 -41
  590. package/runtime/initialize.function.config.test.js +0 -41
  591. package/runtime/initialize.js +0 -352
  592. package/runtime/initialize.test.js +0 -356
  593. package/runtime/jest.config.js +0 -32
  594. package/runtime/logging/MockLoggingService.js +0 -31
  595. package/runtime/logging/NewRelicLoggingService.js +0 -184
  596. package/runtime/logging/NewRelicLoggingService.test.js +0 -214
  597. package/runtime/logging/types.ts +0 -4
  598. package/runtime/react/AuthenticatedPageRoute.test.jsx +0 -135
  599. package/runtime/react/CombinedAppProvider.tsx +0 -46
  600. package/runtime/react/CurrentAppProvider.tsx +0 -46
  601. package/runtime/react/Divider.tsx +0 -5
  602. package/runtime/react/ErrorBoundary.jsx +0 -47
  603. package/runtime/react/ErrorBoundary.test.jsx +0 -83
  604. package/runtime/react/ErrorPage.jsx +0 -72
  605. package/runtime/react/SiteProvider.test.jsx +0 -66
  606. package/runtime/react/SiteProvider.tsx +0 -78
  607. package/runtime/react/hooks.test.jsx +0 -104
  608. package/runtime/react/hooks.ts +0 -106
  609. package/runtime/routing/index.ts +0 -1
  610. package/runtime/routing/utils.test.ts +0 -7
  611. package/runtime/routing/utils.ts +0 -34
  612. package/runtime/scripts/GoogleAnalyticsLoader.test.ts +0 -77
  613. package/runtime/scripts/GoogleAnalyticsLoader.ts +0 -59
  614. package/runtime/setupTest.js +0 -49
  615. package/runtime/site.config.test.tsx +0 -33
  616. package/runtime/slots/Slot.test.tsx +0 -40
  617. package/runtime/slots/Slot.tsx +0 -32
  618. package/runtime/slots/SlotContext.tsx +0 -8
  619. package/runtime/slots/hooks.ts +0 -35
  620. package/runtime/slots/layout/DefaultSlotLayout.test.tsx +0 -31
  621. package/runtime/slots/layout/DefaultSlotLayout.tsx +0 -9
  622. package/runtime/slots/layout/hooks.test.tsx +0 -178
  623. package/runtime/slots/layout/hooks.ts +0 -65
  624. package/runtime/slots/layout/utils.test.ts +0 -67
  625. package/runtime/slots/layout/utils.ts +0 -14
  626. package/runtime/slots/utils.test.ts +0 -64
  627. package/runtime/slots/utils.ts +0 -78
  628. package/runtime/slots/widget/WidgetContext.tsx +0 -9
  629. package/runtime/slots/widget/WidgetProvider.tsx +0 -30
  630. package/runtime/slots/widget/hooks.ts +0 -105
  631. package/runtime/slots/widget/iframe/IFrameContentWrapper.messages.tsx +0 -16
  632. package/runtime/slots/widget/iframe/IFrameContentWrapper.tsx +0 -84
  633. package/runtime/slots/widget/iframe/IFrameWidget.tsx +0 -59
  634. package/runtime/slots/widget/iframe/hooks.ts +0 -179
  635. package/runtime/slots/widget/utils.tsx +0 -201
  636. package/runtime/testing/initializeMockApp.test.ts +0 -66
  637. package/runtime/testing/mockMessages.ts +0 -23
  638. package/runtime/utils.test.js +0 -116
  639. package/shell/DefaultLayout.tsx +0 -18
  640. package/shell/DefaultMain.tsx +0 -7
  641. package/shell/Logo.test.tsx +0 -32
  642. package/shell/Logo.tsx +0 -28
  643. package/shell/Shell.messages.ts +0 -61
  644. package/shell/Shell.tsx +0 -18
  645. package/shell/__mocks__/file.js +0 -1
  646. package/shell/__mocks__/svg.js +0 -1
  647. package/shell/__mocks__/universal-cookie.js +0 -6
  648. package/shell/app.ts +0 -38
  649. package/shell/dev/devFooter/app.tsx +0 -43
  650. package/shell/dev/devHeader/BarContext.tsx +0 -13
  651. package/shell/dev/devHeader/BarLink.tsx +0 -16
  652. package/shell/dev/devHeader/BarProvider.tsx +0 -25
  653. package/shell/dev/devHeader/CoursesLink.tsx +0 -16
  654. package/shell/dev/devHeader/FooContext.tsx +0 -13
  655. package/shell/dev/devHeader/FooLink.tsx +0 -16
  656. package/shell/dev/devHeader/FooProvider.tsx +0 -25
  657. package/shell/dev/devHeader/app.tsx +0 -53
  658. package/shell/dev/devHeader/providers.tsx +0 -11
  659. package/shell/dev/devHome/HomePage.tsx +0 -28
  660. package/shell/dev/devHome/app.ts +0 -18
  661. package/shell/dev/devHome/i18n/index.ts +0 -27
  662. package/shell/dev/devHome/messages.ts +0 -11
  663. package/shell/dev/devUser/app.tsx +0 -24
  664. package/shell/dev/slotShowcase/HorizontalSlotLayout.tsx +0 -11
  665. package/shell/dev/slotShowcase/LayoutWithOptions.tsx +0 -17
  666. package/shell/dev/slotShowcase/SlotShowcasePage.tsx +0 -66
  667. package/shell/dev/slotShowcase/WidgetWithOptions.tsx +0 -11
  668. package/shell/dev/slotShowcase/app.tsx +0 -373
  669. package/shell/footer/CenterLinks.tsx +0 -11
  670. package/shell/footer/CopyrightNotice.tsx +0 -36
  671. package/shell/footer/Footer.tsx +0 -34
  672. package/shell/footer/LabeledLinkColumn.tsx +0 -19
  673. package/shell/footer/LanguageMenu.tsx +0 -35
  674. package/shell/footer/LanguageMenuItem.tsx +0 -23
  675. package/shell/footer/LeftLinks.tsx +0 -11
  676. package/shell/footer/LegalNotices.tsx +0 -17
  677. package/shell/footer/PoweredBy.tsx +0 -17
  678. package/shell/footer/RevealLinks.tsx +0 -43
  679. package/shell/footer/RightLinks.tsx +0 -11
  680. package/shell/footer/app.tsx +0 -73
  681. package/shell/footer/data/api.ts +0 -48
  682. package/shell/header/AuthenticatedMenu.tsx +0 -32
  683. package/shell/header/Header.tsx +0 -17
  684. package/shell/header/anonymous-menu/AnonymousMenu.tsx +0 -14
  685. package/shell/header/anonymous-menu/LoginButton.tsx +0 -14
  686. package/shell/header/anonymous-menu/RegisterButton.tsx +0 -15
  687. package/shell/header/app.tsx +0 -142
  688. package/shell/header/desktop/DesktopLayout.tsx +0 -22
  689. package/shell/header/desktop/PrimaryNavLinks.tsx +0 -10
  690. package/shell/header/desktop/SecondaryNavLinks.tsx +0 -10
  691. package/shell/header/mobile/MobileLayout.tsx +0 -47
  692. package/shell/header/mobile/MobileNavLinks.tsx +0 -10
  693. package/shell/i18n/index.ts +0 -25
  694. package/shell/jest.config.js +0 -30
  695. package/shell/menus/LinkMenuItem.tsx +0 -64
  696. package/shell/menus/NavDropdownMenuSlot.tsx +0 -29
  697. package/shell/menus/ProfileLinkMenuItem.tsx +0 -33
  698. package/shell/menus/data/utils.ts +0 -19
  699. package/shell/public/index.html +0 -10
  700. package/shell/router/createRouter.test.tsx +0 -50
  701. package/shell/router/createRouter.ts +0 -17
  702. package/shell/router/getAppRoutes.test.tsx +0 -59
  703. package/shell/router/getAppRoutes.ts +0 -21
  704. package/shell/setupTest.js +0 -48
  705. package/shell/site.config.dev.tsx +0 -49
  706. package/shell/site.config.test.tsx +0 -16
  707. package/shell/site.tsx +0 -41
  708. package/tools/dist/babel/babel.config.js +0 -28
  709. package/tools/dist/cli/utils/formatter.js +0 -10
  710. package/tools/dist/config-helpers/createConfig.js +0 -13
  711. package/tools/dist/config-helpers/createLintConfig.js +0 -16
  712. package/tools/dist/config-helpers/getBaseConfig.js +0 -12
  713. package/tools/dist/defaultConfigPaths.js +0 -35
  714. package/tools/dist/eslint/base.eslint.config.js +0 -113
  715. package/tools/dist/index.js +0 -12
  716. package/tools/dist/types.js +0 -23
  717. package/tools/dist/webpack/common-config/all/getCodeRules.js +0 -52
  718. package/tools/dist/webpack/common-config/all/getFileLoaderRules.js +0 -26
  719. package/tools/dist/webpack/common-config/all/getIgnoreWarnings.js +0 -14
  720. package/tools/dist/webpack/common-config/all/getImageMinimizer.js +0 -25
  721. package/tools/dist/webpack/common-config/all/getStylesheetRule.js +0 -112
  722. package/tools/dist/webpack/common-config/index.js +0 -18
  723. package/tools/dist/webpack/common-config/site/getHtmlWebpackPlugin.js +0 -16
  724. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.js +0 -91
  725. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/index.js +0 -7
  726. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.js +0 -66
  727. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.js +0 -3
  728. package/tools/dist/webpack/plugins/paragon-webpack-plugin/ParagonWebpackPlugin.js +0 -108
  729. package/tools/dist/webpack/plugins/paragon-webpack-plugin/index.js +0 -7
  730. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/assetUtils.js +0 -64
  731. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/htmlUtils.js +0 -53
  732. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/index.js +0 -9
  733. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/paragonStylesheetUtils.js +0 -114
  734. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/scriptUtils.js +0 -146
  735. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/stylesheetUtils.js +0 -126
  736. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/tagUtils.js +0 -57
  737. package/tools/dist/webpack/types.js +0 -2
  738. package/tools/dist/webpack/utils/getLocalAliases.js +0 -65
  739. package/tools/dist/webpack/utils/getResolvedSiteConfigPath.js +0 -32
  740. package/tools/dist/webpack/utils/paragonUtils.js +0 -138
  741. package/tools/dist/webpack/webpack.config.build.js +0 -80
  742. package/tools/dist/webpack/webpack.config.dev.shell.js +0 -110
  743. package/types.ts +0 -99
  744. /package/{runtime/scripts/index.ts → dist/runtime/scripts/index.d.ts} +0 -0
  745. /package/{runtime/slots/index.ts → dist/runtime/slots/index.d.ts} +0 -0
  746. /package/{runtime/slots/layout/index.ts → dist/runtime/slots/layout/index.d.ts} +0 -0
  747. /package/{runtime/slots/widget/index.ts → dist/runtime/slots/widget/index.d.ts} +0 -0
  748. /package/{shell/dev/devFooter/index.ts → dist/shell/dev/devFooter/index.d.ts} +0 -0
  749. /package/{shell/dev/devHeader/index.ts → dist/shell/dev/devHeader/index.d.ts} +0 -0
  750. /package/{shell/dev/devHome/index.ts → dist/shell/dev/devHome/index.d.ts} +0 -0
  751. /package/{shell/dev/devUser/index.ts → dist/shell/dev/devUser/index.d.ts} +0 -0
  752. /package/{shell/dev/index.ts → dist/shell/dev/index.d.ts} +0 -0
  753. /package/{shell/dev/slotShowcase/index.ts → dist/shell/dev/slotShowcase/index.d.ts} +0 -0
  754. /package/{shell/footer/index.ts → dist/shell/footer/index.d.ts} +0 -0
  755. /package/{shell/header/index.ts → dist/shell/header/index.d.ts} +0 -0
  756. /package/{shell/index.ts → dist/shell/index.d.ts} +0 -0
  757. /package/{config → dist/tools}/babel/babel.config.js +0 -0
  758. /package/{tools/dist → dist/tools}/cli/commands/serve.js +0 -0
  759. /package/{tools/dist → dist/tools}/cli/intl-imports.test.js +0 -0
  760. /package/{tools/dist → dist/tools}/cli/utils/ensureConfigFilenameOption.js +0 -0
  761. /package/{tools/dist → dist/tools}/cli/utils/getResolvedConfigPath.js +0 -0
  762. /package/{tools/dist → dist/tools}/cli/utils/prettyPrintTitle.js +0 -0
  763. /package/{tools/dist → dist/tools}/cli/utils/printUsage.js +0 -0
  764. /package/{config → dist/tools}/config-helpers/createConfig.js +0 -0
  765. /package/{config → dist/tools}/config-helpers/createLintConfig.js +0 -0
  766. /package/{config → dist/tools}/config-helpers/getBaseConfig.js +0 -0
  767. /package/{config → dist/tools}/defaultConfigPaths.js +0 -0
  768. /package/{tools/dist → dist/tools}/eslint.config.js +0 -0
  769. /package/{config → dist/tools}/index.js +0 -0
  770. /package/{config → dist/tools}/jest/jest.config.js +0 -0
  771. /package/{tools/dist → dist/tools}/jest.config.js +0 -0
  772. /package/{config → dist/tools}/types.js +0 -0
  773. /package/{config → dist/tools}/webpack/common-config/all/getCodeRules.js +0 -0
  774. /package/{config → dist/tools}/webpack/common-config/all/getFileLoaderRules.js +0 -0
  775. /package/{config → dist/tools}/webpack/common-config/all/getImageMinimizer.js +0 -0
  776. /package/{config → dist/tools}/webpack/common-config/index.js +0 -0
  777. /package/{config → dist/tools}/webpack/common-config/site/getHtmlWebpackPlugin.js +0 -0
  778. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.js +0 -0
  779. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/index.js +0 -0
  780. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.js +0 -0
  781. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.js +0 -0
  782. /package/{config → dist/tools}/webpack/utils/getResolvedSiteConfigPath.js +0 -0
@@ -1,179 +0,0 @@
1
- /**
2
- * Hooks file for functions that handle the communication between a Plugin and its Host
3
- */
4
-
5
- import {
6
- LegacyRef,
7
- useCallback,
8
- useEffect,
9
- useLayoutEffect,
10
- useMemo,
11
- useRef,
12
- useState
13
- } from 'react';
14
-
15
- import { IFRAME_MOUNTED, IFRAME_READY, IFRAME_UNMOUNTED } from './constants';
16
- import { MessageEventCallback } from './types';
17
-
18
- /* Listening for events */
19
-
20
- /**
21
- * Dynamically add an event listener to the provided source window.
22
- * The source window can be the global parent (ie. the "window" object in the browser)
23
- * or it can be the content window of an individual element (ie. iFrame plugin container)
24
- */
25
- export function useMessageEvent(srcWindow: Window | null, type: string, callback: MessageEventCallback) {
26
- // useLayoutEffect is called before the browser repaints the screen
27
- useLayoutEffect(() => {
28
- // Create a listener callback function
29
- const listener = (event: MessageEvent<{ type: string, payload: any }>) => {
30
- // Filter messages to those from our source window.
31
- // NOTE: the "srcWindow" is determined by the below useHostEvent and usePluginEvent functions
32
- if (event.source === srcWindow) {
33
- // Fire callback if the type from the listened event matches the type from the message event
34
- if (event.data.type === type) {
35
- callback({ type, payload: event.data.payload });
36
- }
37
- }
38
- };
39
- // Add the listener to the global object if the srcWindow is not null
40
- if (srcWindow !== null) {
41
- global.addEventListener('message', listener);
42
- }
43
- // useEffect cleanup
44
- return () => {
45
- global.removeEventListener('message', listener);
46
- };
47
- }, [srcWindow, type, callback]);
48
- }
49
-
50
- /**
51
- * Called by the Plugin component to use events that were listened to (ie. PLUGIN_RESIZE)
52
- */
53
- export function useHostEvent(type: string, callback: MessageEventCallback) {
54
- useMessageEvent(global.parent, type, callback);
55
- }
56
-
57
- /**
58
- * Used to listen for events from a wrapped Plugin element (eg. PluginContainerIframe)
59
- *
60
- * @param element - Plugin element (eg. <iframe>)
61
- * @param type - Event type (eg. PLUGIN_RESIZE)
62
- * @param callback - Function to call when the event is triggered
63
- */
64
- export function usePluginEvent(element: HTMLIFrameElement | undefined, type: string, callback: MessageEventCallback) {
65
- const contentWindow = element ? element.contentWindow : null;
66
- useMessageEvent(contentWindow, type, callback);
67
- }
68
-
69
- /** Dispatching events */
70
-
71
- /**
72
- * Base dispatch function called by dispatchHostEvent and dispatchPluginEvent.
73
- * Uses the `postMessage` method to enable cross-origin communication between Window objects
74
- *
75
- * @param targetWindow - Window that the message event is being dispatched to
76
- * @param message - Data object for the message
77
- * @param targetOrigin - URL for the window that the message event is being dispatched from
78
- */
79
- export function dispatchMessageEvent(targetWindow: Window | null, message: any, targetOrigin: string) {
80
- /** Checking targetOrigin falsiness here since '', null or undefined would all be
81
- * reasons not to try to post a message to the origin.
82
- */
83
- if (targetWindow && targetOrigin) {
84
- targetWindow.postMessage(message, targetOrigin);
85
- }
86
- }
87
-
88
- /**
89
- * Used to dispatch events for a Plugin
90
- *
91
- * @param element - Plugin element (eg. <iframe>)
92
- * @param message - Data object for the message
93
- * @param targetOrigin - URL for the window that the message event is being dispatched from
94
- */
95
- export function dispatchPluginEvent(element: HTMLIFrameElement, message: any, targetOrigin: string) {
96
- dispatchMessageEvent(element.contentWindow, message, targetOrigin);
97
- }
98
-
99
- /**
100
- * Used to dispatch events for the Host
101
- *
102
- * @param message - Data object for the message
103
- */
104
- export function dispatchHostEvent(message: any) {
105
- dispatchMessageEvent(global.parent, message, global.document.referrer);
106
- }
107
-
108
- // Called inside Plugin when 'ready' prop is true
109
- export function dispatchReadyEvent() {
110
- dispatchHostEvent({ type: IFRAME_READY });
111
- }
112
-
113
- // Below mounted events are called in a useEffect inside Plugin with [] dependencies — https://react.dev/learn/synchronizing-with-effects
114
- export function dispatchMountedEvent() {
115
- dispatchHostEvent({ type: IFRAME_MOUNTED });
116
- }
117
-
118
- export function dispatchUnmountedEvent() {
119
- dispatchHostEvent({ type: IFRAME_UNMOUNTED });
120
- }
121
-
122
- /**
123
- * Used to determine the size of an element as it is being resized in the browser.
124
- * ResizeObserver (https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver) is used to maintain a reference to the element's content/border box.
125
- *
126
- * @returns Memoized value that contains a reference to the Plugin element (eg. iframe)
127
- */
128
- export function useElementSize() {
129
- // Holds a reference to the ResizeObserver
130
- const observerRef = useRef<ResizeObserver>();
131
-
132
- const [dimensions, setDimensions] = useState({ width: 0, height: 0 });
133
- const [offset, setOffset] = useState({ x: 0, y: 0 });
134
- const [element, setElement] = useState<HTMLIFrameElement | undefined>();
135
- // Sets a reference to the Plugin element when passed to the Plugin element as a "ref" attribute (eg. <iframe>)
136
- const measuredRef: LegacyRef<HTMLIFrameElement> = useCallback(_element => {
137
- setElement(_element);
138
- }, []);
139
-
140
- useEffect(() => {
141
- // Create a new ResizeObserver
142
- observerRef.current = new ResizeObserver(() => {
143
- if (element) {
144
- // Set dimensions and any offset
145
- setDimensions({
146
- width: element.clientWidth,
147
- height: element.clientHeight,
148
- });
149
- setOffset({
150
- x: element.offsetLeft,
151
- y: element.offsetTop,
152
- });
153
- }
154
- });
155
- if (element) {
156
- // Tell the ResizeObserver to start watching the element — this enables the hook to detect resizing
157
- observerRef.current.observe(element);
158
- }
159
- }, [element]);
160
-
161
- return useMemo<{
162
- ref: LegacyRef<HTMLIFrameElement>,
163
- element: HTMLIFrameElement | undefined,
164
- width: number,
165
- height: number,
166
- x: number,
167
- y: number,
168
- }>(
169
- () => ({
170
- ref: measuredRef,
171
- element: element,
172
- width: dimensions.width,
173
- height: dimensions.height,
174
- x: offset.x,
175
- y: offset.y
176
- }),
177
- [measuredRef, element, dimensions, offset],
178
- );
179
- }
@@ -1,201 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { SlotOperation } from '../types';
3
- import { isSlotOperationConditionSatisfied } from '../utils';
4
- import { IFrameWidget } from './iframe';
5
- import { IdentifiedWidget, WidgetAbsoluteOperation, WidgetAppendOperation, WidgetComponentProps, WidgetElementProps, WidgetIdentityProps, WidgetIFrameProps, WidgetInsertAfterOperation, WidgetInsertBeforeOperation, WidgetOperation, WidgetOperationTypes, WidgetOptionsOperation, WidgetPrependOperation, WidgetRemoveOperation, WidgetRendererOperation, WidgetRendererProps, WidgetReplaceOperation } from './types';
6
- import WidgetProvider from './WidgetProvider';
7
-
8
- export function isWidgetOperation(operation: SlotOperation): operation is WidgetOperation {
9
- return Object.values(WidgetOperationTypes).includes(operation.op as WidgetOperationTypes);
10
- }
11
-
12
- export function isWidgetAbsoluteOperation(operation: WidgetOperation): operation is WidgetAbsoluteOperation {
13
- return operation.op === WidgetOperationTypes.APPEND || operation.op === WidgetOperationTypes.PREPEND;
14
- }
15
-
16
- export function isWidgetRelativeOperation(operation: WidgetOperation): operation is (WidgetInsertAfterOperation | WidgetInsertBeforeOperation) {
17
- return operation.op === WidgetOperationTypes.INSERT_AFTER || operation.op === WidgetOperationTypes.INSERT_BEFORE;
18
- }
19
-
20
- export function isWidgetAppendOperation(operation: SlotOperation): operation is WidgetAppendOperation {
21
- return isWidgetOperation(operation) && operation.op === WidgetOperationTypes.APPEND;
22
- }
23
-
24
- export function isWidgetInsertAfterOperation(operation: SlotOperation): operation is WidgetInsertAfterOperation {
25
- return isWidgetOperation(operation) && operation.op === WidgetOperationTypes.INSERT_AFTER;
26
- }
27
-
28
- export function isWidgetInsertBeforeOperation(operation: SlotOperation): operation is WidgetInsertBeforeOperation {
29
- return isWidgetOperation(operation) && operation.op === WidgetOperationTypes.INSERT_BEFORE;
30
- }
31
-
32
- export function isWidgetPrependOperation(operation: SlotOperation): operation is WidgetPrependOperation {
33
- return isWidgetOperation(operation) && operation.op === WidgetOperationTypes.PREPEND;
34
- }
35
-
36
- export function isWidgetRemoveOperation(operation: SlotOperation): operation is WidgetRemoveOperation {
37
- return isWidgetOperation(operation) && operation.op === WidgetOperationTypes.REMOVE;
38
- }
39
-
40
- export function isWidgetReplaceOperation(operation: SlotOperation): operation is WidgetReplaceOperation {
41
- return isWidgetOperation(operation) && operation.op === WidgetOperationTypes.REPLACE;
42
- }
43
-
44
- export function isWidgetOptionsOperation(operation: SlotOperation): operation is WidgetOptionsOperation {
45
- return isWidgetOperation(operation) && operation.op === WidgetOperationTypes.OPTIONS;
46
- }
47
-
48
- export function isWidgetRendererOperation(operation: SlotOperation): operation is WidgetRendererOperation {
49
- return isWidgetOperation(operation) && hasWidgetRendererProps(operation);
50
- }
51
-
52
- export function isWidgetIdentityOperation(operation: SlotOperation): operation is (WidgetOperation & WidgetIdentityProps) {
53
- return isWidgetOperation(operation) && hasWidgetIdentityProps(operation);
54
- }
55
-
56
- export function isWidgetIdentityRoleOperation(operation: SlotOperation): operation is (WidgetOperation & WidgetIdentityProps & { role: string }) {
57
- return isWidgetIdentityOperation(operation) && hasWidgetIdentityRoleProps(operation);
58
- }
59
-
60
- export function createWidgetAppendOperation(id: string, slotId: string, element: ReactNode) {
61
- let operation: WidgetOperation | undefined = undefined;
62
- if (element) {
63
- operation = {
64
- slotId,
65
- id,
66
- op: WidgetOperationTypes.APPEND,
67
- element
68
- };
69
- }
70
-
71
- return operation;
72
- }
73
-
74
- // Widget Operation props helpers
75
-
76
- function hasWidgetComponentProps(operation: WidgetOperation): operation is (WidgetOperation & WidgetComponentProps) {
77
- return isWidgetOperation(operation) && 'component' in operation;
78
- }
79
-
80
- function hasWidgetElementProps(operation: WidgetOperation): operation is (WidgetOperation & WidgetElementProps) {
81
- return isWidgetOperation(operation) && 'element' in operation;
82
- }
83
-
84
- function hasWidgetIFrameProps(operation: WidgetOperation): operation is (WidgetOperation & WidgetIFrameProps) {
85
- return isWidgetOperation(operation) && 'url' in operation && 'title' in operation;
86
- }
87
-
88
- function hasWidgetRendererProps(operation: WidgetOperation): operation is (WidgetOperation & WidgetRendererProps) {
89
- return hasWidgetComponentProps(operation) || hasWidgetElementProps(operation) || hasWidgetIFrameProps(operation);
90
- }
91
-
92
- function hasWidgetIdentityProps(operation: WidgetOperation): operation is (WidgetOperation & WidgetIdentityProps) {
93
- return isWidgetOperation(operation) && 'id' in operation;
94
- }
95
-
96
- function hasWidgetIdentityRoleProps(operation: WidgetOperation): operation is (WidgetOperation & WidgetIdentityProps & { role: string }) {
97
- return hasWidgetIdentityProps(operation) && 'role' in operation;
98
- }
99
-
100
- /**
101
- * An 'identified' widget just means a data structure with an ID and a ReactNode.
102
- */
103
- function createIdentifiedWidget(operation: WidgetRendererOperation, componentProps?: Record<string, unknown>) {
104
- let widget: ReactNode = null;
105
- const { id } = operation;
106
- if (hasWidgetComponentProps(operation)) {
107
- widget = (
108
- <operation.component {...componentProps} />
109
- );
110
- } else if (hasWidgetElementProps(operation)) {
111
- widget = operation.element;
112
- } else if (hasWidgetIFrameProps(operation)) {
113
- widget = (
114
- <IFrameWidget url={operation.url} title={operation.title} />
115
- );
116
- }
117
-
118
- return {
119
- id,
120
- node: (
121
- <WidgetProvider key={id} slotId={operation.slotId} widgetId={operation.id} role={operation.role}>
122
- {widget}
123
- </WidgetProvider>
124
- ),
125
- };
126
- }
127
-
128
- function findRelatedWidgetIndex(id: string, widgets: IdentifiedWidget[]) {
129
- for (const candidateRelatedWidget of widgets) {
130
- if (candidateRelatedWidget.id === id) {
131
- return widgets.indexOf(candidateRelatedWidget);
132
- }
133
- }
134
- return null;
135
- }
136
-
137
- function appendWidget(operation: WidgetAppendOperation, widgets: IdentifiedWidget[], componentProps?: Record<string, unknown>) {
138
- const widget = createIdentifiedWidget(operation, componentProps);
139
- widgets.push(widget);
140
- }
141
-
142
- function prependWidget(operation: WidgetPrependOperation, widgets: IdentifiedWidget[], componentProps?: Record<string, unknown>) {
143
- const widget = createIdentifiedWidget(operation, componentProps);
144
- widgets.unshift(widget);
145
- }
146
-
147
- function insertAfterWidget(operation: WidgetInsertAfterOperation, widgets: IdentifiedWidget[], componentProps?: Record<string, unknown>) {
148
- const widget = createIdentifiedWidget(operation, componentProps);
149
- const relatedIndex = findRelatedWidgetIndex(operation.relatedId, widgets);
150
- if (relatedIndex !== null) {
151
- widgets.splice(relatedIndex + 1, 0, widget);
152
- }
153
- }
154
-
155
- function insertBeforeWidget(operation: WidgetInsertBeforeOperation, widgets: IdentifiedWidget[], componentProps?: Record<string, unknown>) {
156
- const widget = createIdentifiedWidget(operation, componentProps);
157
- const relatedIndex = findRelatedWidgetIndex(operation.relatedId, widgets);
158
- if (relatedIndex !== null) {
159
- widgets.splice(relatedIndex, 0, widget);
160
- }
161
- }
162
-
163
- function replaceWidget(operation: WidgetReplaceOperation, widgets: IdentifiedWidget[], componentProps?: Record<string, unknown>) {
164
- const widget = createIdentifiedWidget(operation, componentProps);
165
- const relatedIndex = findRelatedWidgetIndex(operation.relatedId, widgets);
166
- if (relatedIndex !== null) {
167
- widgets.splice(relatedIndex, 1, widget);
168
- }
169
- }
170
-
171
- function removeWidget(operation: WidgetRemoveOperation, widgets: IdentifiedWidget[]) {
172
- const relatedIndex = findRelatedWidgetIndex(operation.relatedId, widgets);
173
- if (relatedIndex !== null) {
174
- widgets.splice(relatedIndex, 1);
175
- }
176
- }
177
-
178
- export function createWidgets(operations: WidgetOperation[], componentProps?: Record<string, unknown>) {
179
- const identifiedWidgets: IdentifiedWidget[] = [];
180
-
181
- for (const operation of operations) {
182
- if (isSlotOperationConditionSatisfied(operation)) {
183
- if (isWidgetAppendOperation(operation)) {
184
- appendWidget(operation, identifiedWidgets, componentProps);
185
- } else if (isWidgetPrependOperation(operation)) {
186
- prependWidget(operation, identifiedWidgets, componentProps);
187
- } else if (isWidgetInsertAfterOperation(operation)) {
188
- insertAfterWidget(operation, identifiedWidgets, componentProps);
189
- } else if (isWidgetInsertBeforeOperation(operation)) {
190
- insertBeforeWidget(operation, identifiedWidgets, componentProps);
191
- } else if (isWidgetReplaceOperation(operation)) {
192
- replaceWidget(operation, identifiedWidgets, componentProps);
193
- } else if (isWidgetRemoveOperation(operation)) {
194
- removeWidget(operation, identifiedWidgets);
195
- }
196
- }
197
- }
198
-
199
- // Remove the 'id' metadata and return just the nodes.
200
- return identifiedWidgets.map(widget => widget.node);
201
- }
@@ -1,66 +0,0 @@
1
- import {
2
- getAnalyticsService,
3
- MockAnalyticsService,
4
- sendTrackEvent,
5
- } from '../analytics';
6
- import {
7
- ensureAuthenticatedUser,
8
- getAuthService,
9
- getLoginRedirectUrl,
10
- MockAuthService,
11
- setAuthenticatedUser,
12
- } from '../auth';
13
- import {
14
- getLoggingService,
15
- logInfo,
16
- MockLoggingService,
17
- } from '../logging';
18
- import initializeMockApp from './initializeMockApp';
19
-
20
- describe('initializeMockApp', () => {
21
- it('should create mock analytics, auth, and logging services, and a real i18n service', () => {
22
- const {
23
- analyticsService,
24
- authService,
25
- loggingService,
26
- } = initializeMockApp();
27
-
28
- expect(getAnalyticsService()).toBeInstanceOf(MockAnalyticsService);
29
- expect(getAuthService()).toBeInstanceOf(MockAuthService);
30
- expect(getLoggingService()).toBeInstanceOf(MockLoggingService);
31
-
32
- const customAttributes = { custom: 'attribute' };
33
-
34
- // Next, test a representative sample of functionality to prove mocking is working the way we hope.
35
-
36
- // Analytics
37
- sendTrackEvent('testEvent', customAttributes);
38
- expect(analyticsService.sendTrackEvent).toHaveBeenCalledWith('testEvent', customAttributes);
39
- // The mock analytics service calls checkIdentifyCalled when sendTrackEvent is called. Prove
40
- // the jest.fn() works.
41
- expect(analyticsService.checkIdentifyCalled).toHaveBeenCalledTimes(1);
42
-
43
- // Auth
44
- getLoginRedirectUrl('http://localhost/redirect/url');
45
- setAuthenticatedUser({
46
- userId: 'abc123',
47
- username: 'Mock User',
48
- roles: [],
49
- administrator: false,
50
- name: 'mock tester',
51
- });
52
- ensureAuthenticatedUser();
53
-
54
- expect(authService.getLoginRedirectUrl).toHaveBeenCalledWith('http://localhost/redirect/url');
55
- expect(authService.ensureAuthenticatedUser).toHaveBeenCalled();
56
- // ensureAuthenticatedUser calls a few other things under the covers. Prove our mocking is
57
- // working as expected across multiple levels.
58
- expect(authService.fetchAuthenticatedUser).toHaveBeenCalled();
59
- expect(authService.getAuthenticatedUser).toHaveBeenCalled();
60
- expect(authService.redirectToLogin).not.toHaveBeenCalled();
61
-
62
- // Logging
63
- logInfo('logging info', customAttributes);
64
- expect(loggingService.logInfo).toHaveBeenCalledWith('logging info', customAttributes);
65
- });
66
- });
@@ -1,23 +0,0 @@
1
- /**
2
- * An empty messages object suitable for fulfilling the i18n service's contract.
3
- * @memberof module:Testing
4
- */
5
- const messages = {
6
- ar: {},
7
- 'es-419': {},
8
- fa: {},
9
- 'fa-ir': {},
10
- fr: {},
11
- 'zh-cn': {},
12
- ca: {},
13
- he: {},
14
- id: {},
15
- 'ko-kr': {},
16
- pl: {},
17
- 'pt-br': {},
18
- ru: {},
19
- th: {},
20
- uk: {},
21
- };
22
-
23
- export default messages;
@@ -1,116 +0,0 @@
1
- import { waitFor } from '@testing-library/react';
2
- import {
3
- camelCaseObject,
4
- convertKeyNames,
5
- getQueryParameters,
6
- modifyObjectKeys,
7
- snakeCaseObject,
8
- } from '.';
9
-
10
- describe('modifyObjectKeys', () => {
11
- it('should use the provided modify function to change all keys in and object and its children', () => {
12
- function meowKeys(key) {
13
- return `${key}Meow`;
14
- }
15
-
16
- const result = modifyObjectKeys(
17
- {
18
- one: undefined,
19
- two: null,
20
- three: '',
21
- four: 0,
22
- five: NaN,
23
- six: [1, 2, { seven: 'woof' }],
24
- eight: { nine: { ten: 'bark' }, eleven: true },
25
- },
26
- meowKeys,
27
- );
28
-
29
- expect(result).toEqual({
30
- oneMeow: undefined,
31
- twoMeow: null,
32
- threeMeow: '',
33
- fourMeow: 0,
34
- fiveMeow: NaN,
35
- sixMeow: [1, 2, { sevenMeow: 'woof' }],
36
- eightMeow: { nineMeow: { tenMeow: 'bark' }, elevenMeow: true },
37
- });
38
- });
39
- });
40
-
41
- describe('camelCaseObject', () => {
42
- it('should make everything camelCase', () => {
43
- const result = camelCaseObject({
44
- what_now: 'brown cow',
45
- but_who: { says_you_people: 'okay then', but_how: { will_we_even_know: 'the song is over' } },
46
- 'dot.dot.dot': 123,
47
- });
48
-
49
- expect(result).toEqual({
50
- whatNow: 'brown cow',
51
- butWho: { saysYouPeople: 'okay then', butHow: { willWeEvenKnow: 'the song is over' } },
52
- dotDotDot: 123,
53
- });
54
- });
55
- });
56
-
57
- describe('snakeCaseObject', () => {
58
- it('should make everything snake_case', () => {
59
- const result = snakeCaseObject({
60
- whatNow: 'brown cow',
61
- butWho: { saysYouPeople: 'okay then', butHow: { willWeEvenKnow: 'the song is over' } },
62
- 'dot.dot.dot': 123,
63
- });
64
-
65
- expect(result).toEqual({
66
- what_now: 'brown cow',
67
- but_who: { says_you_people: 'okay then', but_how: { will_we_even_know: 'the song is over' } },
68
- dot_dot_dot: 123,
69
- });
70
- });
71
- });
72
-
73
- describe('convertKeyNames', () => {
74
- it('should replace the specified keynames', () => {
75
- const result = convertKeyNames(
76
- {
77
- one: { two: { three: 'four' } },
78
- five: 'six',
79
- },
80
- {
81
- two: 'blue',
82
- five: 'alive',
83
- seven: 'heaven',
84
- },
85
- );
86
-
87
- expect(result).toEqual({
88
- one: { blue: { three: 'four' } },
89
- alive: 'six',
90
- });
91
- });
92
- });
93
-
94
- describe('getQueryParameters', () => {
95
- it('should use window location by default', () => {
96
- expect(global.location.search).toEqual('');
97
- expect(getQueryParameters()).toEqual({});
98
- });
99
-
100
- it('should make an empty object with no query string', () => {
101
- expect(getQueryParameters('')).toEqual({});
102
- });
103
-
104
- it('should make an object with one key value pair', () => {
105
- expect(getQueryParameters('?foo=bar')).toEqual({
106
- foo: 'bar',
107
- });
108
- });
109
-
110
- it('should make an object with one key value pair', () => {
111
- expect(getQueryParameters('?foo=bar&baz=1')).toEqual({
112
- foo: 'bar',
113
- baz: '1',
114
- });
115
- });
116
- });
@@ -1,18 +0,0 @@
1
- import { Slot } from '../runtime';
2
- import DefaultMain from './DefaultMain';
3
-
4
- export default function DefaultLayout() {
5
- return (
6
- <div className="d-flex flex-column min-vh-100">
7
- <div className="flex-grow-0 flex-shrink-0">
8
- <Slot id="org.openedx.frontend.slot.header.main.v1" />
9
- </div>
10
- <div id="main-content" className="flex-grow-1">
11
- <Slot id="org.openedx.frontend.slot.content.main.v1" layout={DefaultMain} />
12
- </div>
13
- <div className="flex-grow-0 flex-shrink-0">
14
- <Slot id="org.openedx.frontend.slot.footer.main.v1" />
15
- </div>
16
- </div>
17
- );
18
- }
@@ -1,7 +0,0 @@
1
- import { Outlet } from 'react-router';
2
-
3
- export default function DefaultMain() {
4
- return (
5
- <Outlet />
6
- );
7
- }
@@ -1,32 +0,0 @@
1
- import '@testing-library/jest-dom';
2
- import { render } from '@testing-library/react';
3
- import Logo from './Logo';
4
-
5
- describe('Logo component', () => {
6
- it('renders the image with default URL when no props are provided', async () => {
7
- const { getByRole, queryByRole } = render(<Logo />);
8
- const image = getByRole('img');
9
- expect(image).toHaveAttribute('src', 'https://edx-cdn.org/v3/default/logo.svg');
10
- const link = queryByRole('link');
11
- expect(link).toBeNull();
12
- });
13
-
14
- it('renders the image with provided imageUrl', () => {
15
- const testUrl = 'https://example.com/test-logo.svg';
16
- const { getByRole, queryByRole } = render(<Logo imageUrl={testUrl} />);
17
- const image = getByRole('img');
18
- expect(image).toHaveAttribute('src', testUrl);
19
- const link = queryByRole('link');
20
- expect(link).toBeNull();
21
- });
22
-
23
- it('renders the image wrapped in a Hyperlink when destinationUrl is provided', () => {
24
- const testDestinationUrl = 'https://example.com';
25
- const { getByRole } = render(<Logo destinationUrl={testDestinationUrl} />);
26
- const link = getByRole('link');
27
- expect(link).toHaveAttribute('href', testDestinationUrl);
28
- const image = getByRole('img');
29
- expect(image).toBeInTheDocument();
30
- expect(image).toHaveAttribute('src', 'https://edx-cdn.org/v3/default/logo.svg');
31
- });
32
- });
package/shell/Logo.tsx DELETED
@@ -1,28 +0,0 @@
1
- import { IntlProvider } from 'react-intl';
2
- import { Hyperlink, Image } from '@openedx/paragon';
3
-
4
- interface LogoProps {
5
- imageUrl?: string,
6
- destinationUrl?: string,
7
- }
8
-
9
- export default function Logo({
10
- imageUrl = 'https://edx-cdn.org/v3/default/logo.svg',
11
- destinationUrl
12
- }: LogoProps) {
13
- const image = (
14
- <Image src={imageUrl} style={{ maxHeight: '2rem' }} />
15
- );
16
-
17
- if (destinationUrl === undefined) {
18
- return image;
19
- }
20
-
21
- return (
22
- <IntlProvider locale="en">
23
- <Hyperlink destination={destinationUrl} className="p-0">
24
- {image}
25
- </Hyperlink>
26
- </IntlProvider>
27
- );
28
- }