@openedx/frontend-base 1.0.0-alpha.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (895) hide show
  1. package/README.md +27 -0
  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,12 @@
1
+ /**
2
+ * A React hook that allows functional components to subscribe to application events. This should
3
+ * be used sparingly - for the most part, Context should be used higher-up in the application to
4
+ * provide necessary data to a given component, rather than utilizing a non-React-like Pub/Sub
5
+ * mechanism.
6
+ *
7
+ * @memberof module:React
8
+ * @param {string} type
9
+ * @param {function} callback
10
+ */
11
+ declare const useSiteEvent: (type: any, callback: any) => void;
12
+ export default useSiteEvent;
@@ -0,0 +1,22 @@
1
+ import { useEffect } from 'react';
2
+ import { subscribe, unsubscribe } from '../../subscriptions';
3
+ /**
4
+ * A React hook that allows functional components to subscribe to application events. This should
5
+ * be used sparingly - for the most part, Context should be used higher-up in the application to
6
+ * provide necessary data to a given component, rather than utilizing a non-React-like Pub/Sub
7
+ * mechanism.
8
+ *
9
+ * @memberof module:React
10
+ * @param {string} type
11
+ * @param {function} callback
12
+ */
13
+ const useSiteEvent = (type, callback) => {
14
+ useEffect(() => {
15
+ subscribe(type, callback);
16
+ return () => {
17
+ unsubscribe(type, callback);
18
+ };
19
+ }, [callback, type]);
20
+ };
21
+ export default useSiteEvent;
22
+ //# sourceMappingURL=useSiteEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSiteEvent.js","sourceRoot":"","sources":["../../../../runtime/react/hooks/useSiteEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;IACtC,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE1B,OAAO,GAAG,EAAE;YACV,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import { useEffect } from 'react';\nimport { subscribe, unsubscribe } from '../../subscriptions';\n\n/**\n * A React hook that allows functional components to subscribe to application events. This should\n * be used sparingly - for the most part, Context should be used higher-up in the application to\n * provide necessary data to a given component, rather than utilizing a non-React-like Pub/Sub\n * mechanism.\n *\n * @memberof module:React\n * @param {string} type\n * @param {function} callback\n */\nconst useSiteEvent = (type, callback) => {\n useEffect(() => {\n subscribe(type, callback);\n\n return () => {\n unsubscribe(type, callback);\n };\n }, [callback, type]);\n};\n\nexport default useSiteEvent;\n"]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * #### Import members from **@openedx/frontend-base** React
3
+ * The React module provides a variety of React components, hooks, and contexts for use in an
4
+ * application.
5
+ *
6
+ * @module React
7
+ */
8
+ export { default as CurrentAppContext } from './CurrentAppContext';
9
+ export { default as CurrentAppProvider } from './CurrentAppProvider';
10
+ export { default as SiteContext } from './SiteContext';
11
+ export { default as SiteProvider } from './SiteProvider';
12
+ export { default as AuthenticatedPageRoute } from './AuthenticatedPageRoute';
13
+ export { default as Divider } from './Divider';
14
+ export { default as ErrorBoundary } from './ErrorBoundary';
15
+ export { default as ErrorPage } from './ErrorPage';
16
+ export { default as NotFoundPage } from './NotFoundPage';
17
+ export { useSiteEvent, useAuthenticatedUser, useSiteConfig, useAppConfig } from './hooks';
18
+ export { default as LoginRedirect } from './LoginRedirect';
19
+ export { default as PageWrap } from './PageWrap';
@@ -0,0 +1,20 @@
1
+ /**
2
+ * #### Import members from **@openedx/frontend-base** React
3
+ * The React module provides a variety of React components, hooks, and contexts for use in an
4
+ * application.
5
+ *
6
+ * @module React
7
+ */
8
+ export { default as CurrentAppContext } from './CurrentAppContext';
9
+ export { default as CurrentAppProvider } from './CurrentAppProvider';
10
+ export { default as SiteContext } from './SiteContext';
11
+ export { default as SiteProvider } from './SiteProvider';
12
+ export { default as AuthenticatedPageRoute } from './AuthenticatedPageRoute';
13
+ export { default as Divider } from './Divider';
14
+ export { default as ErrorBoundary } from './ErrorBoundary';
15
+ export { default as ErrorPage } from './ErrorPage';
16
+ export { default as NotFoundPage } from './NotFoundPage';
17
+ export { useSiteEvent, useAuthenticatedUser, useSiteConfig, useAppConfig } from './hooks';
18
+ export { default as LoginRedirect } from './LoginRedirect';
19
+ export { default as PageWrap } from './PageWrap';
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../runtime/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC","sourcesContent":["/**\n * #### Import members from **@openedx/frontend-base** React\n * The React module provides a variety of React components, hooks, and contexts for use in an\n * application.\n *\n * @module React\n */\n\nexport { default as CurrentAppContext } from './CurrentAppContext';\nexport { default as CurrentAppProvider } from './CurrentAppProvider';\nexport { default as SiteContext } from './SiteContext';\nexport { default as SiteProvider } from './SiteProvider';\nexport { default as AuthenticatedPageRoute } from './AuthenticatedPageRoute';\nexport { default as Divider } from './Divider';\nexport { default as ErrorBoundary } from './ErrorBoundary';\nexport { default as ErrorPage } from './ErrorPage';\nexport { default as NotFoundPage } from './NotFoundPage';\nexport { useSiteEvent, useAuthenticatedUser, useSiteConfig, useAppConfig } from './hooks';\nexport { default as LoginRedirect } from './LoginRedirect';\nexport { default as PageWrap } from './PageWrap';\n"]}
@@ -0,0 +1,11 @@
1
+ export declare function themeReducer(state: any, action: any): any;
2
+ export declare const themeActions: {
3
+ setThemeVariant: (payload: any) => {
4
+ type: string;
5
+ payload: any;
6
+ };
7
+ setThemeLoaded: (payload: any) => {
8
+ type: string;
9
+ payload: any;
10
+ };
11
+ };
@@ -0,0 +1,28 @@
1
+ import { SET_THEME_VARIANT, SET_IS_THEME_LOADED, } from './constants';
2
+ export function themeReducer(state, action) {
3
+ switch (action.type) {
4
+ case SET_THEME_VARIANT: {
5
+ const requestedThemeVariant = action.payload;
6
+ return Object.assign(Object.assign({}, state), { themeVariant: requestedThemeVariant });
7
+ }
8
+ case SET_IS_THEME_LOADED: {
9
+ const requestedIsThemeLoaded = action.payload;
10
+ return Object.assign(Object.assign({}, state), { isThemeLoaded: requestedIsThemeLoaded });
11
+ }
12
+ default:
13
+ return state;
14
+ }
15
+ }
16
+ const setThemeVariant = (payload) => ({
17
+ type: SET_THEME_VARIANT,
18
+ payload,
19
+ });
20
+ const setThemeLoaded = (payload) => ({
21
+ type: SET_IS_THEME_LOADED,
22
+ payload,
23
+ });
24
+ export const themeActions = {
25
+ setThemeVariant,
26
+ setThemeLoaded,
27
+ };
28
+ //# sourceMappingURL=reducers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducers.js","sourceRoot":"","sources":["../../../runtime/react/reducers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,YAAY,CAAC,KAAK,EAAE,MAAM;IACxC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC;YAC7C,uCACK,KAAK,KACR,YAAY,EAAE,qBAAqB,IACnC;QACJ,CAAC;QACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC;YAC9C,uCACK,KAAK,KACR,aAAa,EAAE,sBAAsB,IACrC;QACJ,CAAC;QACD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpC,IAAI,EAAE,iBAAiB;IACvB,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,EAAE,mBAAmB;IACzB,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,eAAe;IACf,cAAc;CACf,CAAC","sourcesContent":["import {\n SET_THEME_VARIANT,\n SET_IS_THEME_LOADED,\n} from './constants';\n\nexport function themeReducer(state, action) {\n switch (action.type) {\n case SET_THEME_VARIANT: {\n const requestedThemeVariant = action.payload;\n return {\n ...state,\n themeVariant: requestedThemeVariant,\n };\n }\n case SET_IS_THEME_LOADED: {\n const requestedIsThemeLoaded = action.payload;\n return {\n ...state,\n isThemeLoaded: requestedIsThemeLoaded,\n };\n }\n default:\n return state;\n }\n}\n\nconst setThemeVariant = (payload) => ({\n type: SET_THEME_VARIANT,\n payload,\n});\n\nconst setThemeLoaded = (payload) => ({\n type: SET_IS_THEME_LOADED,\n payload,\n});\n\nexport const themeActions = {\n setThemeVariant,\n setThemeLoaded,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import { LoaderFunctionArgs } from 'react-router';
2
+ export default function authenticatedLoader({ request }: LoaderFunctionArgs): Response | Promise<unknown> | null;
@@ -0,0 +1,27 @@
1
+ import { redirect } from 'react-router';
2
+ import { getAuthenticatedUser, getLoginRedirectUrl } from '../auth';
3
+ import { getUrlByRouteRole } from './utils';
4
+ const loginRole = 'org.openedx.frontend.role.login';
5
+ export default function authenticatedLoader({ request }) {
6
+ const authenticatedUser = getAuthenticatedUser();
7
+ if (authenticatedUser !== null) {
8
+ return null;
9
+ }
10
+ const requestUrl = new URL(request.url);
11
+ const loginUrl = getUrlByRouteRole(loginRole);
12
+ // Internal login route → SPA redirect with a relative ?next so the login
13
+ // page can navigate() back without a full page refresh.
14
+ if (loginUrl === null || loginUrl === void 0 ? void 0 : loginUrl.startsWith('/')) {
15
+ return redirect(`${loginUrl}?next=${encodeURIComponent(requestUrl.pathname)}`);
16
+ }
17
+ // No login role found (or it's defined as an external route, which is not
18
+ // supported). Use loginUrl from siteConfig and the full href for the return
19
+ // path so the login service redirects back to the correct origin after
20
+ // login.
21
+ const fullLoginUrl = getLoginRedirectUrl(requestUrl.href);
22
+ // Return a never-resolving promise so React Router keeps waiting (and does
23
+ // not attempt to render the route) while the browser navigates away.
24
+ global.location.assign(fullLoginUrl);
25
+ return new Promise(() => { });
26
+ }
27
+ //# sourceMappingURL=authenticatedLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticatedLoader.js","sourceRoot":"","sources":["../../../runtime/routing/authenticatedLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,SAAS,GAAG,iCAAiC,CAAC;AAEpD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,OAAO,EAAsB;IACzE,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IACjD,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAE9C,yEAAyE;IACzE,wDAAwD;IACxD,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC,GAAG,QAAQ,SAAS,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,uEAAuE;IACvE,SAAS;IACT,MAAM,YAAY,GAAG,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAE1D,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACrC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAChC,CAAC","sourcesContent":["import { LoaderFunctionArgs, redirect } from 'react-router';\nimport { getAuthenticatedUser, getLoginRedirectUrl } from '../auth';\nimport { getUrlByRouteRole } from './utils';\n\nconst loginRole = 'org.openedx.frontend.role.login';\n\nexport default function authenticatedLoader({ request }: LoaderFunctionArgs) {\n const authenticatedUser = getAuthenticatedUser();\n if (authenticatedUser !== null) {\n return null;\n }\n\n const requestUrl = new URL(request.url);\n const loginUrl = getUrlByRouteRole(loginRole);\n\n // Internal login route → SPA redirect with a relative ?next so the login\n // page can navigate() back without a full page refresh.\n if (loginUrl?.startsWith('/')) {\n return redirect(`${loginUrl}?next=${encodeURIComponent(requestUrl.pathname)}`);\n }\n\n // No login role found (or it's defined as an external route, which is not\n // supported). Use loginUrl from siteConfig and the full href for the return\n // path so the login service redirects back to the correct origin after\n // login.\n const fullLoginUrl = getLoginRedirectUrl(requestUrl.href);\n\n // Return a never-resolving promise so React Router keeps waiting (and does\n // not attempt to render the route) while the browser navigates away.\n global.location.assign(fullLoginUrl);\n return new Promise(() => { });\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export { default as authenticatedLoader } from './authenticatedLoader';
2
+ export * from './utils';
@@ -0,0 +1,3 @@
1
+ export { default as authenticatedLoader } from './authenticatedLoader';
2
+ export * from './utils';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../runtime/routing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,cAAc,SAAS,CAAC","sourcesContent":["export { default as authenticatedLoader } from './authenticatedLoader';\nexport * from './utils';\n"]}
@@ -0,0 +1,4 @@
1
+ import { RouteObject } from 'react-router';
2
+ import { RoleRouteObject } from '../../types';
3
+ export declare function getUrlByRouteRole(role: string): string | null;
4
+ export declare function isRoleRouteObject(match: RouteObject): match is RoleRouteObject;
@@ -0,0 +1,43 @@
1
+ import { getSiteConfig } from '../config';
2
+ function findRoleInRoutes(routes, role, prefix = '') {
3
+ var _a, _b, _c;
4
+ for (const route of routes) {
5
+ const segment = (_a = route.path) !== null && _a !== void 0 ? _a : '';
6
+ const fullPath = segment.startsWith('/') ? segment : `${prefix}/${segment}`.replace(/\/+/g, '/');
7
+ if ((_c = (_b = route.handle) === null || _b === void 0 ? void 0 : _b.roles) === null || _c === void 0 ? void 0 : _c.includes(role)) {
8
+ return fullPath || null;
9
+ }
10
+ if (Array.isArray(route.children)) {
11
+ const found = findRoleInRoutes(route.children, role, fullPath);
12
+ if (found !== null) {
13
+ return found;
14
+ }
15
+ }
16
+ }
17
+ return null;
18
+ }
19
+ export function getUrlByRouteRole(role) {
20
+ const { apps, externalRoutes } = getSiteConfig();
21
+ if (apps) {
22
+ for (const app of apps) {
23
+ if (Array.isArray(app.routes)) {
24
+ const found = findRoleInRoutes(app.routes, role);
25
+ if (found !== null) {
26
+ return found;
27
+ }
28
+ }
29
+ }
30
+ }
31
+ if (externalRoutes) {
32
+ for (const externalRoute of externalRoutes) {
33
+ if (externalRoute.role === role) {
34
+ return externalRoute.url;
35
+ }
36
+ }
37
+ }
38
+ return null;
39
+ }
40
+ export function isRoleRouteObject(match) {
41
+ return match.handle !== undefined && 'roles' in match.handle;
42
+ }
43
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../runtime/routing/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,SAAS,gBAAgB,CAAC,MAAqB,EAAE,IAAY,EAAE,MAAM,GAAG,EAAE;;IACxE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAEjG,IAAI,MAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,KAAK,0CAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,QAAQ,IAAI,IAAI,CAAC;QAC1B,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAC;IAEjD,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACjD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YAC3C,IAAI,aAAa,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChC,OAAO,aAAa,CAAC,GAAG,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;AAC/D,CAAC","sourcesContent":["import { RouteObject } from 'react-router';\n\nimport { RoleRouteObject } from '../../types';\nimport { getSiteConfig } from '../config';\n\nfunction findRoleInRoutes(routes: RouteObject[], role: string, prefix = ''): string | null {\n for (const route of routes) {\n const segment = route.path ?? '';\n const fullPath = segment.startsWith('/') ? segment : `${prefix}/${segment}`.replace(/\\/+/g, '/');\n\n if (route.handle?.roles?.includes(role)) {\n return fullPath || null;\n }\n\n if (Array.isArray(route.children)) {\n const found = findRoleInRoutes(route.children, role, fullPath);\n if (found !== null) {\n return found;\n }\n }\n }\n return null;\n}\n\nexport function getUrlByRouteRole(role: string) {\n const { apps, externalRoutes } = getSiteConfig();\n\n if (apps) {\n for (const app of apps) {\n if (Array.isArray(app.routes)) {\n const found = findRoleInRoutes(app.routes, role);\n if (found !== null) {\n return found;\n }\n }\n }\n }\n\n if (externalRoutes) {\n for (const externalRoute of externalRoutes) {\n if (externalRoute.role === role) {\n return externalRoute.url;\n }\n }\n }\n\n return null;\n}\n\nexport function isRoleRouteObject(match: RouteObject): match is RoleRouteObject {\n return match.handle !== undefined && 'roles' in match.handle;\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function loadExternalScripts(): void;
@@ -0,0 +1,14 @@
1
+ import { getAppConfig, getSiteConfig } from '../config';
2
+ export function loadExternalScripts() {
3
+ var _a;
4
+ const apps = (_a = getSiteConfig().apps) !== null && _a !== void 0 ? _a : [];
5
+ apps.forEach(app => {
6
+ var _a, _b;
7
+ const config = (_a = getAppConfig(app.appId)) !== null && _a !== void 0 ? _a : {};
8
+ ((_b = app.externalScripts) !== null && _b !== void 0 ? _b : []).forEach(ExternalScript => {
9
+ const script = new ExternalScript({ config });
10
+ script.loadScript();
11
+ });
12
+ });
13
+ }
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../runtime/scripts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,UAAU,mBAAmB;;IACjC,MAAM,IAAI,GAAG,MAAA,aAAa,EAAE,CAAC,IAAI,mCAAI,EAAE,CAAC;IACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;;QACjB,MAAM,MAAM,GAAG,MAAA,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC;QAC7C,CAAC,MAAA,GAAG,CAAC,eAAe,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACnD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { getAppConfig, getSiteConfig } from '../config';\n\nexport function loadExternalScripts() {\n const apps = getSiteConfig().apps ?? [];\n apps.forEach(app => {\n const config = getAppConfig(app.appId) ?? {};\n (app.externalScripts ?? []).forEach(ExternalScript => {\n const script = new ExternalScript({ config });\n script.loadScript();\n });\n });\n}\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import '@testing-library/jest-dom';
2
+ import siteConfig from 'site.config';
3
+ import { mergeSiteConfig } from './config';
4
+ jest.mock('universal-cookie', () => {
5
+ const mCookie = {
6
+ get: jest.fn(),
7
+ remove: jest.fn(),
8
+ };
9
+ return jest.fn(() => mCookie);
10
+ });
11
+ mergeSiteConfig(siteConfig);
12
+ //# sourceMappingURL=setupTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupTest.js","sourceRoot":"","sources":["../../runtime/setupTest.js"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AAEnC,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACjC,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QACd,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;KAClB,CAAC;IACF,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,UAAU,CAAC,CAAC","sourcesContent":["import '@testing-library/jest-dom';\n\nimport siteConfig from 'site.config';\nimport { mergeSiteConfig } from './config';\n\njest.mock('universal-cookie', () => {\n const mCookie = {\n get: jest.fn(),\n remove: jest.fn(),\n };\n return jest.fn(() => mCookie);\n});\n\nmergeSiteConfig(siteConfig);\n"]}
@@ -0,0 +1,11 @@
1
+ import { ComponentType, ReactNode } from 'react';
2
+ interface SlotProps {
3
+ id: string;
4
+ idAliases?: string[];
5
+ children?: ReactNode;
6
+ layout?: ComponentType | ReactNode;
7
+ [key: string]: unknown;
8
+ }
9
+ declare function Slot({ id, idAliases, children, layout, ...props }: SlotProps): import("react/jsx-runtime").JSX.Element;
10
+ declare const _default: import("react").MemoExoticComponent<typeof Slot>;
11
+ export default _default;
@@ -0,0 +1,37 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
13
+ import { createElement, isValidElement, memo } from 'react';
14
+ import DefaultSlotLayout from './layout/DefaultSlotLayout';
15
+ import { useLayoutForSlotId } from './layout/hooks';
16
+ import SlotContext from './SlotContext';
17
+ import { useSlotContext } from './hooks';
18
+ function SlotRenderer({ layout }) {
19
+ const { id } = useSlotContext();
20
+ let layoutElement = layout;
21
+ const overrideLayout = useLayoutForSlotId(id);
22
+ // Weed out any ReactNode types that aren't actually JSX.
23
+ if (overrideLayout && overrideLayout !== null && overrideLayout !== undefined && typeof overrideLayout !== 'boolean') {
24
+ layoutElement = overrideLayout;
25
+ }
26
+ if (!isValidElement(layoutElement)) {
27
+ layoutElement = createElement(layoutElement);
28
+ }
29
+ return _jsx(_Fragment, { children: layoutElement });
30
+ }
31
+ function Slot(_a) {
32
+ var { id, idAliases, children, layout = DefaultSlotLayout } = _a, props = __rest(_a, ["id", "idAliases", "children", "layout"]);
33
+ return (_jsx(SlotContext.Provider, { value: Object.assign({ id, idAliases, children }, props), children: _jsx(SlotRenderer, { layout: layout }) }));
34
+ }
35
+ /* memo so parent re-renders don't cascade through Slot when props are shallow-equal. */
36
+ export default memo(Slot);
37
+ //# sourceMappingURL=Slot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slot.js","sourceRoot":"","sources":["../../../runtime/slots/Slot.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAiB,aAAa,EAAE,cAAc,EAAE,IAAI,EAAa,MAAM,OAAO,CAAC;AACtF,OAAO,iBAAiB,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAUzC,SAAS,YAAY,CAAC,EAAE,MAAM,EAAyC;IACrE,MAAM,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC;IAChC,IAAI,aAAa,GAA8B,MAAM,CAAC;IAEtD,MAAM,cAAc,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAE9C,yDAAyD;IACzD,IAAI,cAAc,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,SAAS,IAAI,OAAO,cAAc,KAAK,SAAS,EAAE,CAAC;QACrH,aAAa,GAAG,cAAc,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,aAAa,GAAG,aAAa,CAAC,aAA8B,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,4BAAG,aAAa,GAAI,CAAC;AAC9B,CAAC;AAED,SAAS,IAAI,CAAC,EAA4E;QAA5E,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,OAAuB,EAAlB,KAAK,cAA/D,yCAAiE,CAAF;IAC3E,OAAO,CACL,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,kBAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,IAAK,KAAK,aAC9D,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,GAAI,GACX,CACxB,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,eAAe,IAAI,CAAC,IAAI,CAAC,CAAC","sourcesContent":["import { ComponentType, createElement, isValidElement, memo, ReactNode } from 'react';\nimport DefaultSlotLayout from './layout/DefaultSlotLayout';\nimport { useLayoutForSlotId } from './layout/hooks';\nimport SlotContext from './SlotContext';\nimport { useSlotContext } from './hooks';\n\ninterface SlotProps {\n id: string,\n idAliases?: string[],\n children?: ReactNode,\n layout?: ComponentType | ReactNode,\n [key: string]: unknown,\n}\n\nfunction SlotRenderer({ layout }: { layout: ComponentType | ReactNode }) {\n const { id } = useSlotContext();\n let layoutElement: ComponentType | ReactNode = layout;\n\n const overrideLayout = useLayoutForSlotId(id);\n\n // Weed out any ReactNode types that aren't actually JSX.\n if (overrideLayout && overrideLayout !== null && overrideLayout !== undefined && typeof overrideLayout !== 'boolean') {\n layoutElement = overrideLayout;\n }\n\n if (!isValidElement(layoutElement)) {\n layoutElement = createElement(layoutElement as ComponentType);\n }\n\n return <>{layoutElement}</>;\n}\n\nfunction Slot({ id, idAliases, children, layout = DefaultSlotLayout, ...props }: SlotProps) {\n return (\n <SlotContext.Provider value={{ id, idAliases, children, ...props }}>\n <SlotRenderer layout={layout} />\n </SlotContext.Provider>\n );\n}\n\n/* memo so parent re-renders don't cascade through Slot when props are shallow-equal. */\nexport default memo(Slot);\n"]}
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ declare const SlotContext: import("react").Context<{
3
+ [key: string]: unknown;
4
+ id: string;
5
+ idAliases?: string[];
6
+ children?: ReactNode;
7
+ }>;
8
+ export default SlotContext;
@@ -0,0 +1,7 @@
1
+ import { createContext } from 'react';
2
+ const SlotContext = createContext({
3
+ id: '',
4
+ children: null,
5
+ });
6
+ export default SlotContext;
7
+ //# sourceMappingURL=SlotContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlotContext.js","sourceRoot":"","sources":["../../../runtime/slots/SlotContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,MAAM,OAAO,CAAC;AAEjD,MAAM,WAAW,GAAG,aAAa,CAAqF;IACpH,EAAE,EAAE,EAAE;IACN,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAEH,eAAe,WAAW,CAAC","sourcesContent":["import { createContext, ReactNode } from 'react';\n\nconst SlotContext = createContext<{ id: string, idAliases?: string[], children?: ReactNode, [key: string]: unknown }>({\n id: '',\n children: null,\n});\n\nexport default SlotContext;\n"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Resolves the operations registered for a given slot id (plus any aliases),
3
+ * prepended with a default-content operation built from the slot's children.
4
+ */
5
+ export declare function useSlotOperations(id: string): import("./types").SlotOperation[];
6
+ export declare function useSlotContext(): {
7
+ [key: string]: unknown;
8
+ id: string;
9
+ idAliases?: string[];
10
+ children?: import("react").ReactNode;
11
+ };
@@ -0,0 +1,19 @@
1
+ import { useContext, useMemo } from 'react';
2
+ import { getSlotOperations } from './utils';
3
+ import SlotContext from './SlotContext';
4
+ import { createWidgetAppendOperation } from './widget';
5
+ /**
6
+ * Resolves the operations registered for a given slot id (plus any aliases),
7
+ * prepended with a default-content operation built from the slot's children.
8
+ */
9
+ export function useSlotOperations(id) {
10
+ const { children, idAliases } = useSlotContext();
11
+ return useMemo(() => {
12
+ const defaultOperation = createWidgetAppendOperation('defaultContent', id, children);
13
+ return getSlotOperations([id, ...(idAliases !== null && idAliases !== void 0 ? idAliases : [])], defaultOperation);
14
+ }, [id, children, idAliases]);
15
+ }
16
+ export function useSlotContext() {
17
+ return useContext(SlotContext);
18
+ }
19
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../runtime/slots/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAEvD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEjD,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,gBAAgB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QACrF,OAAO,iBAAiB,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACzE,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC","sourcesContent":["import { useContext, useMemo } from 'react';\n\nimport { getSlotOperations } from './utils';\nimport SlotContext from './SlotContext';\nimport { createWidgetAppendOperation } from './widget';\n\n/**\n * Resolves the operations registered for a given slot id (plus any aliases),\n * prepended with a default-content operation built from the slot's children.\n */\nexport function useSlotOperations(id: string) {\n const { children, idAliases } = useSlotContext();\n\n return useMemo(() => {\n const defaultOperation = createWidgetAppendOperation('defaultContent', id, children);\n return getSlotOperations([id, ...(idAliases ?? [])], defaultOperation);\n }, [id, children, idAliases]);\n}\n\nexport function useSlotContext() {\n return useContext(SlotContext);\n}\n"]}
@@ -0,0 +1,7 @@
1
+ export * from './hooks';
2
+ export * from './layout';
3
+ export { default as Slot } from './Slot';
4
+ export { default as SlotContext } from './SlotContext';
5
+ export * from './utils';
6
+ export * from './widget';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../runtime/slots/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AAExB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC","sourcesContent":["export * from './hooks';\nexport type * from './types';\nexport * from './layout';\nexport { default as Slot } from './Slot';\nexport { default as SlotContext } from './SlotContext';\nexport * from './utils';\nexport * from './widget';\n"]}
@@ -0,0 +1 @@
1
+ export default function DefaultSlotLayout(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import { useWidgets } from '../widget/hooks';
3
+ export default function DefaultSlotLayout() {
4
+ const widgets = useWidgets();
5
+ return (_jsx(_Fragment, { children: widgets }));
6
+ }
7
+ //# sourceMappingURL=DefaultSlotLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultSlotLayout.js","sourceRoot":"","sources":["../../../../runtime/slots/layout/DefaultSlotLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,OAAO,CACL,4BAAG,OAAO,GAAI,CACf,CAAC;AACJ,CAAC","sourcesContent":["import { useWidgets } from '../widget/hooks';\n\nexport default function DefaultSlotLayout() {\n const widgets = useWidgets();\n\n return (\n <>{widgets}</>\n );\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import { ComponentType, ReactNode } from 'react';
2
+ export declare function useLayoutForSlotId(id: string): ReactNode | ComponentType;
3
+ /**
4
+ * useLayoutOptions iterates through the slot's operations to find any which are "layout
5
+ * options" operations. It merges these into a single object and returns them - operations are
6
+ * merged in declaration order, meaning last one in wins.
7
+ */
8
+ export declare function useLayoutOptions(): Record<string, unknown>;
9
+ export declare function useLayoutOptionsForId(id: string): Record<string, unknown>;
@@ -0,0 +1,52 @@
1
+ import { useMemo } from 'react';
2
+ import useActiveRoles from '../../react/hooks/useActiveRoles';
3
+ import { useSlotContext, useSlotOperations } from '../hooks';
4
+ import { isSlotOperationConditionSatisfied } from '../utils';
5
+ import { isLayoutOperation, isLayoutOptionsOperation, isLayoutReplaceOperation } from './utils';
6
+ function hasLayoutComponentProps(operation) {
7
+ return isLayoutOperation(operation) && 'component' in operation;
8
+ }
9
+ function hasLayoutElementProps(operation) {
10
+ return isLayoutOperation(operation) && 'element' in operation;
11
+ }
12
+ export function useLayoutForSlotId(id) {
13
+ const operations = useSlotOperations(id);
14
+ const activeRoles = useActiveRoles();
15
+ return useMemo(() => {
16
+ let layoutElement = null;
17
+ for (const operation of operations) {
18
+ if (isSlotOperationConditionSatisfied(operation, activeRoles) && isLayoutReplaceOperation(operation)) {
19
+ if (hasLayoutComponentProps(operation)) {
20
+ layoutElement = operation.component;
21
+ }
22
+ else if (hasLayoutElementProps(operation)) {
23
+ layoutElement = operation.element;
24
+ }
25
+ }
26
+ }
27
+ return layoutElement;
28
+ }, [operations, activeRoles]);
29
+ }
30
+ /**
31
+ * useLayoutOptions iterates through the slot's operations to find any which are "layout
32
+ * options" operations. It merges these into a single object and returns them - operations are
33
+ * merged in declaration order, meaning last one in wins.
34
+ */
35
+ export function useLayoutOptions() {
36
+ const { id } = useSlotContext();
37
+ return useLayoutOptionsForId(id);
38
+ }
39
+ export function useLayoutOptionsForId(id) {
40
+ const operations = useSlotOperations(id);
41
+ const activeRoles = useActiveRoles();
42
+ return useMemo(() => {
43
+ let options = {};
44
+ for (const operation of operations) {
45
+ if (isSlotOperationConditionSatisfied(operation, activeRoles) && isLayoutOptionsOperation(operation)) {
46
+ options = Object.assign(Object.assign({}, options), operation.options);
47
+ }
48
+ }
49
+ return options;
50
+ }, [operations, activeRoles]);
51
+ }
52
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../runtime/slots/layout/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEhG,SAAS,uBAAuB,CAAC,SAA0B;IACzD,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,WAAW,IAAI,SAAS,CAAC;AAClE,CAAC;AAED,SAAS,qBAAqB,CAAC,SAA0B;IACvD,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,SAAS,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,MAAM,UAAU,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,OAAO,OAAO,CAA4B,GAAG,EAAE;QAC7C,IAAI,aAAa,GAA8B,IAAI,CAAC;QACpD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,iCAAiC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,wBAAwB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrG,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvC,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC;gBACtC,CAAC;qBAAM,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC5C,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,qBAAqB,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC9C,MAAM,UAAU,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,OAAO,GAA4B,EAAE,CAAC;QAC1C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,iCAAiC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,wBAAwB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrG,OAAO,mCAAQ,OAAO,GAAK,SAAS,CAAC,OAAO,CAAE,CAAC;YACjD,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AAChC,CAAC","sourcesContent":["import { ComponentType, ReactNode, useMemo } from 'react';\nimport useActiveRoles from '../../react/hooks/useActiveRoles';\nimport { useSlotContext, useSlotOperations } from '../hooks';\nimport { isSlotOperationConditionSatisfied } from '../utils';\nimport { LayoutComponentProps, LayoutElementProps, LayoutOperation } from './types';\nimport { isLayoutOperation, isLayoutOptionsOperation, isLayoutReplaceOperation } from './utils';\n\nfunction hasLayoutComponentProps(operation: LayoutOperation): operation is (LayoutOperation & LayoutComponentProps) {\n return isLayoutOperation(operation) && 'component' in operation;\n}\n\nfunction hasLayoutElementProps(operation: LayoutOperation): operation is (LayoutOperation & LayoutElementProps) {\n return isLayoutOperation(operation) && 'element' in operation;\n}\n\nexport function useLayoutForSlotId(id: string) {\n const operations = useSlotOperations(id);\n const activeRoles = useActiveRoles();\n\n return useMemo<ReactNode | ComponentType>(() => {\n let layoutElement: ReactNode | ComponentType = null;\n for (const operation of operations) {\n if (isSlotOperationConditionSatisfied(operation, activeRoles) && isLayoutReplaceOperation(operation)) {\n if (hasLayoutComponentProps(operation)) {\n layoutElement = operation.component;\n } else if (hasLayoutElementProps(operation)) {\n layoutElement = operation.element;\n }\n }\n }\n return layoutElement;\n }, [operations, activeRoles]);\n}\n\n/**\n * useLayoutOptions iterates through the slot's operations to find any which are \"layout\n * options\" operations. It merges these into a single object and returns them - operations are\n * merged in declaration order, meaning last one in wins.\n */\nexport function useLayoutOptions() {\n const { id } = useSlotContext();\n return useLayoutOptionsForId(id);\n}\n\nexport function useLayoutOptionsForId(id: string) {\n const operations = useSlotOperations(id);\n const activeRoles = useActiveRoles();\n\n return useMemo(() => {\n let options: Record<string, unknown> = {};\n for (const operation of operations) {\n if (isSlotOperationConditionSatisfied(operation, activeRoles) && isLayoutOptionsOperation(operation)) {\n options = { ...options, ...operation.options };\n }\n }\n return options;\n }, [operations, activeRoles]);\n}\n"]}
@@ -0,0 +1,5 @@
1
+ export { default as DefaultSlotLayout } from './DefaultSlotLayout';
2
+ export * from './hooks';
3
+ export { LayoutOperationTypes } from './types';
4
+ export * from './utils';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../runtime/slots/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,cAAc,SAAS,CAAC","sourcesContent":["export { default as DefaultSlotLayout } from './DefaultSlotLayout';\nexport * from './hooks';\nexport type * from './types';\nexport { LayoutOperationTypes } from './types';\nexport * from './utils';\n"]}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Base UI Layout Operations
3
+ *
4
+ * "Layout" operations are a sub-type of UI operations which affect the layout component of a UI
5
+ * slot. They have no effect on the widgets loaded into a UI slot.
6
+ */
7
+ import { ReactNode } from 'react';
8
+ import { BaseSlotOperation } from '../types';
9
+ export declare enum LayoutOperationTypes {
10
+ OPTIONS = "layoutOptions",
11
+ REPLACE = "layoutReplace"
12
+ }
13
+ export interface BaseLayoutOperation extends BaseSlotOperation {
14
+ op: LayoutOperationTypes;
15
+ }
16
+ export type LayoutOptionsOperation = BaseLayoutOperation & {
17
+ op: LayoutOperationTypes.OPTIONS;
18
+ options: Record<string, unknown>;
19
+ };
20
+ export interface LayoutComponentProps {
21
+ component: React.ComponentType;
22
+ }
23
+ export interface LayoutElementProps {
24
+ element: ReactNode;
25
+ }
26
+ export type LayoutRendererProps = (LayoutComponentProps | LayoutElementProps);
27
+ export type LayoutReplaceOperation = BaseLayoutOperation & LayoutRendererProps & {
28
+ op: LayoutOperationTypes.REPLACE;
29
+ };
30
+ export type LayoutOperation = LayoutOptionsOperation | LayoutReplaceOperation;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Base UI Layout Operations
3
+ *
4
+ * "Layout" operations are a sub-type of UI operations which affect the layout component of a UI
5
+ * slot. They have no effect on the widgets loaded into a UI slot.
6
+ */
7
+ export var LayoutOperationTypes;
8
+ (function (LayoutOperationTypes) {
9
+ LayoutOperationTypes["OPTIONS"] = "layoutOptions";
10
+ LayoutOperationTypes["REPLACE"] = "layoutReplace";
11
+ })(LayoutOperationTypes || (LayoutOperationTypes = {}));
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../runtime/slots/layout/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,iDAAyB,CAAA;IACzB,iDAAyB,CAAA;AAC3B,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B","sourcesContent":["/**\n * Base UI Layout Operations\n *\n * \"Layout\" operations are a sub-type of UI operations which affect the layout component of a UI\n * slot. They have no effect on the widgets loaded into a UI slot.\n */\n\nimport { ReactNode } from 'react';\nimport { BaseSlotOperation } from '../types';\n\nexport enum LayoutOperationTypes {\n OPTIONS = 'layoutOptions',\n REPLACE = 'layoutReplace',\n}\n\nexport interface BaseLayoutOperation extends BaseSlotOperation {\n op: LayoutOperationTypes,\n}\n\n// Concrete UI Layout Operations\n\nexport type LayoutOptionsOperation = BaseLayoutOperation & {\n op: LayoutOperationTypes.OPTIONS,\n options: Record<string, unknown>,\n};\n\nexport interface LayoutComponentProps {\n component: React.ComponentType,\n}\n\nexport interface LayoutElementProps {\n element: ReactNode,\n}\n\nexport type LayoutRendererProps = (\n LayoutComponentProps | LayoutElementProps\n);\n\nexport type LayoutReplaceOperation = BaseLayoutOperation & LayoutRendererProps & {\n op: LayoutOperationTypes.REPLACE,\n};\n\n// Aggregate UI Layout Operations\n\nexport type LayoutOperation = LayoutOptionsOperation | LayoutReplaceOperation;\n"]}
@@ -0,0 +1,5 @@
1
+ import { SlotOperation } from '../types';
2
+ import { LayoutOperation, LayoutOptionsOperation, LayoutReplaceOperation } from './types';
3
+ export declare function isLayoutOperation(operation: SlotOperation): operation is LayoutOperation;
4
+ export declare function isLayoutOptionsOperation(operation: SlotOperation): operation is LayoutOptionsOperation;
5
+ export declare function isLayoutReplaceOperation(operation: SlotOperation): operation is LayoutReplaceOperation;
@@ -0,0 +1,11 @@
1
+ import { LayoutOperationTypes } from './types';
2
+ export function isLayoutOperation(operation) {
3
+ return Object.values(LayoutOperationTypes).includes(operation.op);
4
+ }
5
+ export function isLayoutOptionsOperation(operation) {
6
+ return isLayoutOperation(operation) && operation.op === LayoutOperationTypes.OPTIONS;
7
+ }
8
+ export function isLayoutReplaceOperation(operation) {
9
+ return isLayoutOperation(operation) && operation.op === LayoutOperationTypes.REPLACE;
10
+ }
11
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../runtime/slots/layout/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,oBAAoB,EAAkD,MAAM,SAAS,CAAC;AAEhH,MAAM,UAAU,iBAAiB,CAAC,SAAwB;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAA0B,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAAwB;IAC/D,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,EAAE,KAAK,oBAAoB,CAAC,OAAO,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAAwB;IAC/D,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,EAAE,KAAK,oBAAoB,CAAC,OAAO,CAAC;AACvF,CAAC","sourcesContent":["import { SlotOperation } from '../types';\nimport { LayoutOperation, LayoutOperationTypes, LayoutOptionsOperation, LayoutReplaceOperation } from './types';\n\nexport function isLayoutOperation(operation: SlotOperation): operation is LayoutOperation {\n return Object.values(LayoutOperationTypes).includes(operation.op as LayoutOperationTypes);\n}\n\nexport function isLayoutOptionsOperation(operation: SlotOperation): operation is LayoutOptionsOperation {\n return isLayoutOperation(operation) && operation.op === LayoutOperationTypes.OPTIONS;\n}\n\nexport function isLayoutReplaceOperation(operation: SlotOperation): operation is LayoutReplaceOperation {\n return isLayoutOperation(operation) && operation.op === LayoutOperationTypes.REPLACE;\n}\n"]}