@openedx/frontend-base 1.0.0-alpha.12 → 1.0.0-alpha.13

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 (754) hide show
  1. package/{index.ts → dist/index.d.ts} +0 -3
  2. package/dist/index.js +4 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/runtime/analytics/MockAnalyticsService.d.ts +50 -0
  5. package/dist/runtime/analytics/MockAnalyticsService.js +64 -0
  6. package/dist/runtime/analytics/MockAnalyticsService.js.map +1 -0
  7. package/dist/runtime/analytics/SegmentAnalyticsService.d.ts +64 -0
  8. package/dist/runtime/analytics/SegmentAnalyticsService.js +218 -0
  9. package/dist/runtime/analytics/SegmentAnalyticsService.js.map +1 -0
  10. package/dist/runtime/analytics/index.d.ts +3 -0
  11. package/dist/runtime/analytics/index.js +4 -0
  12. package/dist/runtime/analytics/index.js.map +1 -0
  13. package/dist/runtime/analytics/interface.d.ts +53 -0
  14. package/{runtime → dist/runtime}/analytics/interface.js +26 -38
  15. package/dist/runtime/analytics/interface.js.map +1 -0
  16. package/dist/runtime/auth/AxiosCsrfTokenService.d.ts +10 -0
  17. package/dist/runtime/auth/AxiosCsrfTokenService.js +64 -0
  18. package/dist/runtime/auth/AxiosCsrfTokenService.js.map +1 -0
  19. package/dist/runtime/auth/AxiosJwtAuthService.d.ts +182 -0
  20. package/dist/runtime/auth/AxiosJwtAuthService.js +339 -0
  21. package/dist/runtime/auth/AxiosJwtAuthService.js.map +1 -0
  22. package/dist/runtime/auth/AxiosJwtTokenService.d.ts +16 -0
  23. package/dist/runtime/auth/AxiosJwtTokenService.js +130 -0
  24. package/dist/runtime/auth/AxiosJwtTokenService.js.map +1 -0
  25. package/dist/runtime/auth/LocalForageCache.d.ts +7 -0
  26. package/dist/runtime/auth/LocalForageCache.js +78 -0
  27. package/dist/runtime/auth/LocalForageCache.js.map +1 -0
  28. package/dist/runtime/auth/MockAuthService.d.ts +209 -0
  29. package/dist/runtime/auth/MockAuthService.js +256 -0
  30. package/dist/runtime/auth/MockAuthService.js.map +1 -0
  31. package/dist/runtime/auth/index.d.ts +3 -0
  32. package/dist/runtime/auth/index.js +4 -0
  33. package/dist/runtime/auth/index.js.map +1 -0
  34. package/dist/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.d.ts +2 -0
  35. package/dist/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.js +42 -0
  36. package/dist/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.js.map +1 -0
  37. package/dist/runtime/auth/interceptors/createJwtTokenProviderInterceptor.d.ts +2 -0
  38. package/dist/runtime/auth/interceptors/createJwtTokenProviderInterceptor.js +40 -0
  39. package/dist/runtime/auth/interceptors/createJwtTokenProviderInterceptor.js.map +1 -0
  40. package/dist/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.d.ts +2 -0
  41. package/dist/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js +26 -0
  42. package/dist/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js.map +1 -0
  43. package/dist/runtime/auth/interceptors/createRetryInterceptor.d.ts +3 -0
  44. package/dist/runtime/auth/interceptors/createRetryInterceptor.js +67 -0
  45. package/dist/runtime/auth/interceptors/createRetryInterceptor.js.map +1 -0
  46. package/dist/runtime/auth/interface.d.ts +133 -0
  47. package/{runtime → dist/runtime}/auth/interface.js +65 -72
  48. package/dist/runtime/auth/interface.js.map +1 -0
  49. package/dist/runtime/auth/utils.d.ts +13 -0
  50. package/dist/runtime/auth/utils.js +66 -0
  51. package/dist/runtime/auth/utils.js.map +1 -0
  52. package/dist/runtime/babel.config.d.ts +2 -0
  53. package/{shell → dist/runtime}/babel.config.js +2 -1
  54. package/dist/runtime/babel.config.js.map +1 -0
  55. package/{runtime/config/index.ts → dist/runtime/config/index.d.ts} +28 -123
  56. package/dist/runtime/config/index.js +323 -0
  57. package/dist/runtime/config/index.js.map +1 -0
  58. package/dist/runtime/constants.d.ts +57 -0
  59. package/{runtime/constants.ts → dist/runtime/constants.js} +1 -11
  60. package/dist/runtime/constants.js.map +1 -0
  61. package/dist/runtime/i18n/index.d.ts +3 -0
  62. package/{runtime → dist/runtime}/i18n/index.js +4 -44
  63. package/dist/runtime/i18n/index.js.map +1 -0
  64. package/dist/runtime/i18n/injectIntlWithShim.d.ts +11 -0
  65. package/dist/runtime/i18n/injectIntlWithShim.js +45 -0
  66. package/dist/runtime/i18n/injectIntlWithShim.js.map +1 -0
  67. package/dist/runtime/i18n/lib.d.ts +119 -0
  68. package/dist/runtime/i18n/lib.js +236 -0
  69. package/dist/runtime/i18n/lib.js.map +1 -0
  70. package/dist/runtime/index.d.ts +13 -0
  71. package/dist/runtime/index.js +14 -0
  72. package/dist/runtime/index.js.map +1 -0
  73. package/dist/runtime/initialize.d.ts +91 -0
  74. package/dist/runtime/initialize.js +312 -0
  75. package/dist/runtime/initialize.js.map +1 -0
  76. package/dist/runtime/jest.config.d.ts +17 -0
  77. package/dist/runtime/jest.config.js +35 -0
  78. package/dist/runtime/jest.config.js.map +1 -0
  79. package/dist/runtime/logging/MockLoggingService.d.ts +28 -0
  80. package/dist/runtime/logging/MockLoggingService.js +31 -0
  81. package/dist/runtime/logging/MockLoggingService.js.map +1 -0
  82. package/dist/runtime/logging/NewRelicLoggingService.d.ts +67 -0
  83. package/dist/runtime/logging/NewRelicLoggingService.js +175 -0
  84. package/dist/runtime/logging/NewRelicLoggingService.js.map +1 -0
  85. package/{runtime/logging/index.ts → dist/runtime/logging/index.d.ts} +1 -7
  86. package/dist/runtime/logging/index.js +4 -0
  87. package/dist/runtime/logging/index.js.map +1 -0
  88. package/dist/runtime/logging/interface.d.ts +38 -0
  89. package/{runtime → dist/runtime}/logging/interface.js +16 -26
  90. package/dist/runtime/logging/interface.js.map +1 -0
  91. package/dist/runtime/logging/types.d.ts +4 -0
  92. package/dist/runtime/logging/types.js +2 -0
  93. package/dist/runtime/logging/types.js.map +1 -0
  94. package/dist/runtime/react/AuthenticatedPageRoute.d.ts +28 -0
  95. package/{runtime/react/AuthenticatedPageRoute.jsx → dist/runtime/react/AuthenticatedPageRoute.js} +11 -18
  96. package/dist/runtime/react/AuthenticatedPageRoute.js.map +1 -0
  97. package/dist/runtime/react/CombinedAppProvider.d.ts +6 -0
  98. package/dist/runtime/react/CombinedAppProvider.js +24 -0
  99. package/dist/runtime/react/CombinedAppProvider.js.map +1 -0
  100. package/dist/runtime/react/CurrentAppContext.d.ts +20 -0
  101. package/{runtime/react/CurrentAppContext.tsx → dist/runtime/react/CurrentAppContext.js} +3 -7
  102. package/dist/runtime/react/CurrentAppContext.js.map +1 -0
  103. package/dist/runtime/react/CurrentAppProvider.d.ts +23 -0
  104. package/dist/runtime/react/CurrentAppProvider.js +33 -0
  105. package/dist/runtime/react/CurrentAppProvider.js.map +1 -0
  106. package/dist/runtime/react/Divider.d.ts +1 -0
  107. package/dist/runtime/react/Divider.js +5 -0
  108. package/dist/runtime/react/Divider.js.map +1 -0
  109. package/dist/runtime/react/ErrorBoundary.d.ts +32 -0
  110. package/dist/runtime/react/ErrorBoundary.js +40 -0
  111. package/dist/runtime/react/ErrorBoundary.js.map +1 -0
  112. package/dist/runtime/react/ErrorPage.d.ts +17 -0
  113. package/dist/runtime/react/ErrorPage.js +29 -0
  114. package/dist/runtime/react/ErrorPage.js.map +1 -0
  115. package/dist/runtime/react/LoginRedirect.d.ts +8 -0
  116. package/{runtime/react/LoginRedirect.jsx → dist/runtime/react/LoginRedirect.js} +5 -5
  117. package/dist/runtime/react/LoginRedirect.js.map +1 -0
  118. package/dist/runtime/react/PageWrap.d.ts +8 -0
  119. package/{runtime/react/PageWrap.jsx → dist/runtime/react/PageWrap.js} +7 -10
  120. package/dist/runtime/react/PageWrap.js.map +1 -0
  121. package/dist/runtime/react/SiteContext.d.ts +24 -0
  122. package/{runtime/react/SiteContext.tsx → dist/runtime/react/SiteContext.js} +5 -11
  123. package/dist/runtime/react/SiteContext.js.map +1 -0
  124. package/dist/runtime/react/SiteProvider.d.ts +29 -0
  125. package/dist/runtime/react/SiteProvider.js +69 -0
  126. package/dist/runtime/react/SiteProvider.js.map +1 -0
  127. package/dist/runtime/react/constants.d.ts +3 -0
  128. package/{runtime/react/constants.ts → dist/runtime/react/constants.js} +1 -0
  129. package/dist/runtime/react/constants.js.map +1 -0
  130. package/{runtime/react/hooks/index.ts → dist/runtime/react/hooks/index.d.ts} +0 -1
  131. package/dist/runtime/react/hooks/index.js +8 -0
  132. package/dist/runtime/react/hooks/index.js.map +1 -0
  133. package/dist/runtime/react/hooks/theme/index.js +3 -0
  134. package/dist/runtime/react/hooks/theme/index.js.map +1 -0
  135. package/dist/runtime/react/hooks/theme/useTheme.d.ts +35 -0
  136. package/dist/runtime/react/hooks/theme/useTheme.js +153 -0
  137. package/dist/runtime/react/hooks/theme/useTheme.js.map +1 -0
  138. package/dist/runtime/react/hooks/theme/useThemeConfig.d.ts +16 -0
  139. package/{runtime/react/hooks/theme/useThemeConfig.ts → dist/runtime/react/hooks/theme/useThemeConfig.js} +11 -16
  140. package/dist/runtime/react/hooks/theme/useThemeConfig.js.map +1 -0
  141. package/dist/runtime/react/hooks/theme/useThemeCore.d.ts +10 -0
  142. package/dist/runtime/react/hooks/theme/useThemeCore.js +40 -0
  143. package/dist/runtime/react/hooks/theme/useThemeCore.js.map +1 -0
  144. package/dist/runtime/react/hooks/theme/useThemeVariants.d.ts +17 -0
  145. package/dist/runtime/react/hooks/theme/useThemeVariants.js +90 -0
  146. package/dist/runtime/react/hooks/theme/useThemeVariants.js.map +1 -0
  147. package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.d.ts +8 -0
  148. package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.js +30 -0
  149. package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.js.map +1 -0
  150. package/dist/runtime/react/hooks/theme/utils.d.ts +6 -0
  151. package/{runtime/react/hooks/theme/utils.ts → dist/runtime/react/hooks/theme/utils.js} +4 -4
  152. package/dist/runtime/react/hooks/theme/utils.js.map +1 -0
  153. package/dist/runtime/react/hooks/useActiveRoles.d.ts +2 -0
  154. package/{runtime/react/hooks/useActiveRoles.ts → dist/runtime/react/hooks/useActiveRoles.js} +6 -8
  155. package/dist/runtime/react/hooks/useActiveRoles.js.map +1 -0
  156. package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.d.ts +2 -0
  157. package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.js +26 -0
  158. package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.js.map +1 -0
  159. package/dist/runtime/react/hooks/useAppConfig.d.ts +2 -0
  160. package/{runtime/react/hooks/useAppConfig.ts → dist/runtime/react/hooks/useAppConfig.js} +3 -4
  161. package/dist/runtime/react/hooks/useAppConfig.js.map +1 -0
  162. package/dist/runtime/react/hooks/useAuthenticatedUser.d.ts +2 -0
  163. package/{runtime/react/hooks/useAuthenticatedUser.ts → dist/runtime/react/hooks/useAuthenticatedUser.js} +3 -4
  164. package/dist/runtime/react/hooks/useAuthenticatedUser.js.map +1 -0
  165. package/dist/runtime/react/hooks/useSiteConfig.d.ts +2 -0
  166. package/{runtime/react/hooks/useSiteConfig.ts → dist/runtime/react/hooks/useSiteConfig.js} +3 -4
  167. package/dist/runtime/react/hooks/useSiteConfig.js.map +1 -0
  168. package/dist/runtime/react/hooks/useSiteEvent.d.ts +12 -0
  169. package/{runtime/react/hooks/useSiteEvent.ts → dist/runtime/react/hooks/useSiteEvent.js} +7 -9
  170. package/dist/runtime/react/hooks/useSiteEvent.js.map +1 -0
  171. package/{runtime/react/index.ts → dist/runtime/react/index.d.ts} +0 -1
  172. package/dist/runtime/react/index.js +19 -0
  173. package/dist/runtime/react/index.js.map +1 -0
  174. package/dist/runtime/react/reducers.d.ts +11 -0
  175. package/dist/runtime/react/reducers.js +28 -0
  176. package/dist/runtime/react/reducers.js.map +1 -0
  177. package/dist/runtime/routing/index.js +2 -0
  178. package/dist/runtime/routing/index.js.map +1 -0
  179. package/dist/runtime/routing/utils.d.ts +4 -0
  180. package/dist/runtime/routing/utils.js +28 -0
  181. package/dist/runtime/routing/utils.js.map +1 -0
  182. package/dist/runtime/scripts/GoogleAnalyticsLoader.d.ts +12 -0
  183. package/dist/runtime/scripts/GoogleAnalyticsLoader.js +49 -0
  184. package/dist/runtime/scripts/GoogleAnalyticsLoader.js.map +1 -0
  185. package/dist/runtime/scripts/index.js +2 -0
  186. package/dist/runtime/scripts/index.js.map +1 -0
  187. package/dist/runtime/setupTest.d.ts +1 -0
  188. package/{runtime → dist/runtime}/setupTest.js +6 -8
  189. package/dist/runtime/setupTest.js.map +1 -0
  190. package/dist/runtime/slots/Slot.d.ts +9 -0
  191. package/dist/runtime/slots/Slot.js +30 -0
  192. package/dist/runtime/slots/Slot.js.map +1 -0
  193. package/dist/runtime/slots/SlotContext.d.ts +7 -0
  194. package/dist/runtime/slots/SlotContext.js +7 -0
  195. package/dist/runtime/slots/SlotContext.js.map +1 -0
  196. package/dist/runtime/slots/hooks.d.ts +12 -0
  197. package/dist/runtime/slots/hooks.js +29 -0
  198. package/dist/runtime/slots/hooks.js.map +1 -0
  199. package/dist/runtime/slots/index.js +7 -0
  200. package/dist/runtime/slots/index.js.map +1 -0
  201. package/dist/runtime/slots/layout/DefaultSlotLayout.d.ts +1 -0
  202. package/dist/runtime/slots/layout/DefaultSlotLayout.js +7 -0
  203. package/dist/runtime/slots/layout/DefaultSlotLayout.js.map +1 -0
  204. package/dist/runtime/slots/layout/hooks.d.ts +10 -0
  205. package/dist/runtime/slots/layout/hooks.js +57 -0
  206. package/dist/runtime/slots/layout/hooks.js.map +1 -0
  207. package/dist/runtime/slots/layout/index.js +5 -0
  208. package/dist/runtime/slots/layout/index.js.map +1 -0
  209. package/{runtime/slots/layout/types.ts → dist/runtime/slots/layout/types.d.ts} +10 -25
  210. package/dist/runtime/slots/layout/types.js +12 -0
  211. package/dist/runtime/slots/layout/types.js.map +1 -0
  212. package/dist/runtime/slots/layout/utils.d.ts +5 -0
  213. package/dist/runtime/slots/layout/utils.js +11 -0
  214. package/dist/runtime/slots/layout/utils.js.map +1 -0
  215. package/{runtime/slots/types.ts → dist/runtime/slots/types.d.ts} +6 -12
  216. package/dist/runtime/slots/types.js +7 -0
  217. package/dist/runtime/slots/types.js.map +1 -0
  218. package/dist/runtime/slots/utils.d.ts +3 -0
  219. package/dist/runtime/slots/utils.js +66 -0
  220. package/dist/runtime/slots/utils.js.map +1 -0
  221. package/dist/runtime/slots/widget/WidgetContext.d.ts +6 -0
  222. package/dist/runtime/slots/widget/WidgetContext.js +8 -0
  223. package/dist/runtime/slots/widget/WidgetContext.js.map +1 -0
  224. package/dist/runtime/slots/widget/WidgetProvider.d.ts +9 -0
  225. package/dist/runtime/slots/widget/WidgetProvider.js +18 -0
  226. package/dist/runtime/slots/widget/WidgetProvider.js.map +1 -0
  227. package/dist/runtime/slots/widget/hooks.d.ts +13 -0
  228. package/dist/runtime/slots/widget/hooks.js +104 -0
  229. package/dist/runtime/slots/widget/hooks.js.map +1 -0
  230. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.d.ts +10 -0
  231. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.js +42 -0
  232. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.js.map +1 -0
  233. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.d.ts +13 -0
  234. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.js +15 -0
  235. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.js.map +1 -0
  236. package/dist/runtime/slots/widget/iframe/IFrameWidget.d.ts +6 -0
  237. package/dist/runtime/slots/widget/iframe/IFrameWidget.js +32 -0
  238. package/dist/runtime/slots/widget/iframe/IFrameWidget.js.map +1 -0
  239. package/dist/runtime/slots/widget/iframe/constants.d.ts +15 -0
  240. package/{runtime/slots/widget/iframe/constants.ts → dist/runtime/slots/widget/iframe/constants.js} +2 -4
  241. package/dist/runtime/slots/widget/iframe/constants.js.map +1 -0
  242. package/dist/runtime/slots/widget/iframe/hooks.d.ts +64 -0
  243. package/dist/runtime/slots/widget/iframe/hooks.js +144 -0
  244. package/dist/runtime/slots/widget/iframe/hooks.js.map +1 -0
  245. package/{runtime/slots/widget/iframe/index.ts → dist/runtime/slots/widget/iframe/index.d.ts} +1 -4
  246. package/dist/runtime/slots/widget/iframe/index.js +3 -0
  247. package/dist/runtime/slots/widget/iframe/index.js.map +1 -0
  248. package/{runtime/slots/widget/iframe/types.ts → dist/runtime/slots/widget/iframe/types.d.ts} +2 -4
  249. package/dist/runtime/slots/widget/iframe/types.js +3 -0
  250. package/dist/runtime/slots/widget/iframe/types.js.map +1 -0
  251. package/dist/runtime/slots/widget/index.js +6 -0
  252. package/dist/runtime/slots/widget/index.js.map +1 -0
  253. package/{runtime/slots/widget/types.ts → dist/runtime/slots/widget/types.d.ts} +50 -84
  254. package/dist/runtime/slots/widget/types.js +41 -0
  255. package/dist/runtime/slots/widget/types.js.map +1 -0
  256. package/dist/runtime/slots/widget/utils.d.ts +22 -0
  257. package/dist/runtime/slots/widget/utils.js +166 -0
  258. package/dist/runtime/slots/widget/utils.js.map +1 -0
  259. package/{runtime/subscriptions.ts → dist/runtime/subscriptions.d.ts} +5 -41
  260. package/dist/runtime/subscriptions.js +48 -0
  261. package/dist/runtime/subscriptions.js.map +1 -0
  262. package/{runtime/testing/index.ts → dist/runtime/testing/index.d.ts} +0 -1
  263. package/dist/runtime/testing/index.js +9 -0
  264. package/dist/runtime/testing/index.js.map +1 -0
  265. package/dist/runtime/testing/initializeMockApp.d.ts +46 -0
  266. package/{runtime/testing/initializeMockApp.ts → dist/runtime/testing/initializeMockApp.js} +26 -41
  267. package/dist/runtime/testing/initializeMockApp.js.map +1 -0
  268. package/dist/runtime/testing/mockMessages.d.ts +22 -0
  269. package/dist/runtime/testing/mockMessages.js +23 -0
  270. package/dist/runtime/testing/mockMessages.js.map +1 -0
  271. package/dist/runtime/utils.d.ts +95 -0
  272. package/{runtime → dist/runtime}/utils.js +55 -70
  273. package/dist/runtime/utils.js.map +1 -0
  274. package/dist/shell/DefaultLayout.d.ts +1 -0
  275. package/dist/shell/DefaultLayout.js +7 -0
  276. package/dist/shell/DefaultLayout.js.map +1 -0
  277. package/dist/shell/DefaultMain.d.ts +1 -0
  278. package/dist/shell/DefaultMain.js +6 -0
  279. package/dist/shell/DefaultMain.js.map +1 -0
  280. package/dist/shell/Logo.d.ts +6 -0
  281. package/dist/shell/Logo.js +11 -0
  282. package/dist/shell/Logo.js.map +1 -0
  283. package/dist/shell/Shell.d.ts +1 -0
  284. package/dist/shell/Shell.js +10 -0
  285. package/dist/shell/Shell.js.map +1 -0
  286. package/dist/shell/Shell.messages.d.ts +58 -0
  287. package/dist/shell/Shell.messages.js +60 -0
  288. package/dist/shell/Shell.messages.js.map +1 -0
  289. package/dist/shell/app.d.ts +3 -0
  290. package/dist/shell/app.js +35 -0
  291. package/dist/shell/app.js.map +1 -0
  292. package/dist/shell/babel.config.d.ts +2 -0
  293. package/{runtime → dist/shell}/babel.config.js +2 -1
  294. package/dist/shell/babel.config.js.map +1 -0
  295. package/dist/shell/dev/devFooter/app.d.ts +3 -0
  296. package/dist/shell/dev/devFooter/app.js +36 -0
  297. package/dist/shell/dev/devFooter/app.js.map +1 -0
  298. package/dist/shell/dev/devFooter/index.js +2 -0
  299. package/dist/shell/dev/devFooter/index.js.map +1 -0
  300. package/dist/shell/dev/devHeader/BarContext.d.ts +7 -0
  301. package/dist/shell/dev/devHeader/BarContext.js +8 -0
  302. package/dist/shell/dev/devHeader/BarContext.js.map +1 -0
  303. package/dist/shell/dev/devHeader/BarLink.d.ts +1 -0
  304. package/dist/shell/dev/devHeader/BarLink.js +10 -0
  305. package/dist/shell/dev/devHeader/BarLink.js.map +1 -0
  306. package/dist/shell/dev/devHeader/BarProvider.d.ts +6 -0
  307. package/dist/shell/dev/devHeader/BarProvider.js +16 -0
  308. package/dist/shell/dev/devHeader/BarProvider.js.map +1 -0
  309. package/dist/shell/dev/devHeader/CoursesLink.d.ts +1 -0
  310. package/dist/shell/dev/devHeader/CoursesLink.js +10 -0
  311. package/dist/shell/dev/devHeader/CoursesLink.js.map +1 -0
  312. package/dist/shell/dev/devHeader/FooContext.d.ts +7 -0
  313. package/dist/shell/dev/devHeader/FooContext.js +8 -0
  314. package/dist/shell/dev/devHeader/FooContext.js.map +1 -0
  315. package/dist/shell/dev/devHeader/FooLink.d.ts +1 -0
  316. package/dist/shell/dev/devHeader/FooLink.js +10 -0
  317. package/dist/shell/dev/devHeader/FooLink.js.map +1 -0
  318. package/dist/shell/dev/devHeader/FooProvider.d.ts +6 -0
  319. package/dist/shell/dev/devHeader/FooProvider.js +16 -0
  320. package/dist/shell/dev/devHeader/FooProvider.js.map +1 -0
  321. package/dist/shell/dev/devHeader/app.d.ts +3 -0
  322. package/dist/shell/dev/devHeader/app.js +34 -0
  323. package/dist/shell/dev/devHeader/app.js.map +1 -0
  324. package/dist/shell/dev/devHeader/index.js +2 -0
  325. package/dist/shell/dev/devHeader/index.js.map +1 -0
  326. package/dist/shell/dev/devHeader/providers.d.ts +3 -0
  327. package/dist/shell/dev/devHeader/providers.js +8 -0
  328. package/dist/shell/dev/devHeader/providers.js.map +1 -0
  329. package/dist/shell/dev/devHome/HomePage.d.ts +1 -0
  330. package/dist/shell/dev/devHome/HomePage.js +13 -0
  331. package/dist/shell/dev/devHome/HomePage.js.map +1 -0
  332. package/dist/shell/dev/devHome/app.d.ts +3 -0
  333. package/dist/shell/dev/devHome/app.js +16 -0
  334. package/dist/shell/dev/devHome/app.js.map +1 -0
  335. package/dist/shell/dev/devHome/i18n/index.d.ts +27 -0
  336. package/dist/shell/dev/devHome/i18n/index.js +28 -0
  337. package/dist/shell/dev/devHome/i18n/index.js.map +1 -0
  338. package/dist/shell/dev/devHome/index.js +2 -0
  339. package/dist/shell/dev/devHome/index.js.map +1 -0
  340. package/dist/shell/dev/devHome/messages.d.ts +8 -0
  341. package/dist/shell/dev/devHome/messages.js +10 -0
  342. package/dist/shell/dev/devHome/messages.js.map +1 -0
  343. package/dist/shell/dev/devUser/app.d.ts +3 -0
  344. package/dist/shell/dev/devUser/app.js +22 -0
  345. package/dist/shell/dev/devUser/app.js.map +1 -0
  346. package/dist/shell/dev/devUser/index.js +2 -0
  347. package/dist/shell/dev/devUser/index.js.map +1 -0
  348. package/dist/shell/dev/index.js +6 -0
  349. package/dist/shell/dev/index.js.map +1 -0
  350. package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.d.ts +1 -0
  351. package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.js +7 -0
  352. package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.js.map +1 -0
  353. package/dist/shell/dev/slotShowcase/LayoutWithOptions.d.ts +1 -0
  354. package/dist/shell/dev/slotShowcase/LayoutWithOptions.js +9 -0
  355. package/dist/shell/dev/slotShowcase/LayoutWithOptions.js.map +1 -0
  356. package/dist/shell/dev/slotShowcase/SlotShowcasePage.d.ts +1 -0
  357. package/dist/shell/dev/slotShowcase/SlotShowcasePage.js +8 -0
  358. package/dist/shell/dev/slotShowcase/SlotShowcasePage.js.map +1 -0
  359. package/dist/shell/dev/slotShowcase/WidgetWithOptions.d.ts +1 -0
  360. package/dist/shell/dev/slotShowcase/WidgetWithOptions.js +8 -0
  361. package/dist/shell/dev/slotShowcase/WidgetWithOptions.js.map +1 -0
  362. package/dist/shell/dev/slotShowcase/app.d.ts +3 -0
  363. package/dist/shell/dev/slotShowcase/app.js +336 -0
  364. package/dist/shell/dev/slotShowcase/app.js.map +1 -0
  365. package/dist/shell/dev/slotShowcase/index.js +2 -0
  366. package/dist/shell/dev/slotShowcase/index.js.map +1 -0
  367. package/dist/shell/footer/CenterLinks.d.ts +1 -0
  368. package/dist/shell/footer/CenterLinks.js +7 -0
  369. package/dist/shell/footer/CenterLinks.js.map +1 -0
  370. package/dist/shell/footer/CopyrightNotice.d.ts +10 -0
  371. package/dist/shell/footer/CopyrightNotice.js +10 -0
  372. package/dist/shell/footer/CopyrightNotice.js.map +1 -0
  373. package/dist/shell/footer/Footer.d.ts +1 -0
  374. package/dist/shell/footer/Footer.js +12 -0
  375. package/dist/shell/footer/Footer.js.map +1 -0
  376. package/dist/shell/footer/LabeledLinkColumn.d.ts +1 -0
  377. package/dist/shell/footer/LabeledLinkColumn.js +11 -0
  378. package/dist/shell/footer/LabeledLinkColumn.js.map +1 -0
  379. package/dist/shell/footer/LanguageMenu.d.ts +1 -0
  380. package/dist/shell/footer/LanguageMenu.js +16 -0
  381. package/dist/shell/footer/LanguageMenu.js.map +1 -0
  382. package/dist/shell/footer/LanguageMenuItem.d.ts +8 -0
  383. package/dist/shell/footer/LanguageMenuItem.js +11 -0
  384. package/dist/shell/footer/LanguageMenuItem.js.map +1 -0
  385. package/dist/shell/footer/LeftLinks.d.ts +1 -0
  386. package/dist/shell/footer/LeftLinks.js +7 -0
  387. package/dist/shell/footer/LeftLinks.js.map +1 -0
  388. package/dist/shell/footer/LegalNotices.d.ts +1 -0
  389. package/dist/shell/footer/LegalNotices.js +10 -0
  390. package/dist/shell/footer/LegalNotices.js.map +1 -0
  391. package/dist/shell/footer/PoweredBy.d.ts +1 -0
  392. package/dist/shell/footer/PoweredBy.js +9 -0
  393. package/dist/shell/footer/PoweredBy.js.map +1 -0
  394. package/dist/shell/footer/RevealLinks.d.ts +1 -0
  395. package/dist/shell/footer/RevealLinks.js +16 -0
  396. package/dist/shell/footer/RevealLinks.js.map +1 -0
  397. package/dist/shell/footer/RightLinks.d.ts +1 -0
  398. package/dist/shell/footer/RightLinks.js +7 -0
  399. package/dist/shell/footer/RightLinks.js.map +1 -0
  400. package/dist/shell/footer/app.d.ts +3 -0
  401. package/dist/shell/footer/app.js +59 -0
  402. package/dist/shell/footer/app.js.map +1 -0
  403. package/dist/shell/footer/data/api.d.ts +1 -0
  404. package/dist/shell/footer/data/api.js +45 -0
  405. package/dist/shell/footer/data/api.js.map +1 -0
  406. package/dist/shell/footer/index.js +3 -0
  407. package/dist/shell/footer/index.js.map +1 -0
  408. package/dist/shell/header/AuthenticatedMenu.d.ts +5 -0
  409. package/dist/shell/header/AuthenticatedMenu.js +13 -0
  410. package/dist/shell/header/AuthenticatedMenu.js.map +1 -0
  411. package/dist/shell/header/Header.d.ts +1 -0
  412. package/dist/shell/header/Header.js +8 -0
  413. package/dist/shell/header/Header.js.map +1 -0
  414. package/dist/shell/header/anonymous-menu/AnonymousMenu.d.ts +5 -0
  415. package/dist/shell/header/anonymous-menu/AnonymousMenu.js +7 -0
  416. package/dist/shell/header/anonymous-menu/AnonymousMenu.js.map +1 -0
  417. package/dist/shell/header/anonymous-menu/LoginButton.d.ts +3 -0
  418. package/dist/shell/header/anonymous-menu/LoginButton.js +22 -0
  419. package/dist/shell/header/anonymous-menu/LoginButton.js.map +1 -0
  420. package/dist/shell/header/anonymous-menu/RegisterButton.d.ts +3 -0
  421. package/dist/shell/header/anonymous-menu/RegisterButton.js +22 -0
  422. package/dist/shell/header/anonymous-menu/RegisterButton.js.map +1 -0
  423. package/dist/shell/header/app.d.ts +3 -0
  424. package/dist/shell/header/app.js +119 -0
  425. package/dist/shell/header/app.js.map +1 -0
  426. package/dist/shell/header/desktop/DesktopLayout.d.ts +1 -0
  427. package/dist/shell/header/desktop/DesktopLayout.js +9 -0
  428. package/dist/shell/header/desktop/DesktopLayout.js.map +1 -0
  429. package/dist/shell/header/desktop/PrimaryNavLinks.d.ts +1 -0
  430. package/dist/shell/header/desktop/PrimaryNavLinks.js +7 -0
  431. package/dist/shell/header/desktop/PrimaryNavLinks.js.map +1 -0
  432. package/dist/shell/header/desktop/SecondaryNavLinks.d.ts +1 -0
  433. package/dist/shell/header/desktop/SecondaryNavLinks.js +7 -0
  434. package/dist/shell/header/desktop/SecondaryNavLinks.js.map +1 -0
  435. package/dist/shell/header/index.js +3 -0
  436. package/dist/shell/header/index.js.map +1 -0
  437. package/dist/shell/header/mobile/MobileLayout.d.ts +1 -0
  438. package/dist/shell/header/mobile/MobileLayout.js +17 -0
  439. package/dist/shell/header/mobile/MobileLayout.js.map +1 -0
  440. package/dist/shell/header/mobile/MobileNavLinks.d.ts +1 -0
  441. package/dist/shell/header/mobile/MobileNavLinks.js +7 -0
  442. package/dist/shell/header/mobile/MobileNavLinks.js.map +1 -0
  443. package/dist/shell/i18n/index.d.ts +25 -0
  444. package/dist/shell/i18n/index.js +26 -0
  445. package/dist/shell/i18n/index.js.map +1 -0
  446. package/dist/shell/index.js +8 -0
  447. package/dist/shell/index.js.map +1 -0
  448. package/dist/shell/jest.config.d.ts +16 -0
  449. package/{tools/dist/jest → dist/shell}/jest.config.js +13 -11
  450. package/dist/shell/jest.config.js.map +1 -0
  451. package/dist/shell/menus/LinkMenuItem.d.ts +9 -0
  452. package/dist/shell/menus/LinkMenuItem.js +36 -0
  453. package/dist/shell/menus/LinkMenuItem.js.map +1 -0
  454. package/dist/shell/menus/NavDropdownMenuSlot.d.ts +7 -0
  455. package/dist/shell/menus/NavDropdownMenuSlot.js +14 -0
  456. package/dist/shell/menus/NavDropdownMenuSlot.js.map +1 -0
  457. package/dist/shell/menus/ProfileLinkMenuItem.d.ts +8 -0
  458. package/dist/shell/menus/ProfileLinkMenuItem.js +16 -0
  459. package/dist/shell/menus/ProfileLinkMenuItem.js.map +1 -0
  460. package/dist/shell/menus/data/utils.d.ts +4 -0
  461. package/dist/shell/menus/data/utils.js +13 -0
  462. package/dist/shell/menus/data/utils.js.map +1 -0
  463. package/dist/shell/router/createRouter.d.ts +1 -0
  464. package/{shell/router/createRouter.ts → dist/shell/router/createRouter.js} +9 -11
  465. package/dist/shell/router/createRouter.js.map +1 -0
  466. package/dist/shell/router/getAppRoutes.d.ts +2 -0
  467. package/dist/shell/router/getAppRoutes.js +14 -0
  468. package/dist/shell/router/getAppRoutes.js.map +1 -0
  469. package/dist/shell/setupTest.d.ts +1 -0
  470. package/{shell → dist/shell}/setupTest.js +6 -7
  471. package/dist/shell/setupTest.js.map +1 -0
  472. package/dist/shell/site.config.dev.d.ts +4 -0
  473. package/dist/shell/site.config.dev.js +43 -0
  474. package/dist/shell/site.config.dev.js.map +1 -0
  475. package/dist/shell/site.d.ts +1 -0
  476. package/dist/shell/site.js +35 -0
  477. package/dist/shell/site.js.map +1 -0
  478. package/dist/tools/babel/babel.config.d.ts +12 -0
  479. package/dist/tools/cli/commands/serve.d.ts +1 -0
  480. package/dist/tools/cli/intl-imports.d.ts +7 -0
  481. package/dist/tools/cli/intl-imports.test.d.ts +1 -0
  482. package/dist/tools/cli/openedx.d.ts +2 -0
  483. package/{tools/dist → dist/tools}/cli/openedx.js +1 -1
  484. package/dist/tools/cli/transifex-utils.d.ts +2 -0
  485. package/dist/tools/cli/utils/ensureConfigFilenameOption.d.ts +2 -0
  486. package/dist/tools/cli/utils/formatter.d.ts +1 -0
  487. package/dist/tools/cli/utils/getResolvedConfigPath.d.ts +2 -0
  488. package/dist/tools/cli/utils/prettyPrintTitle.d.ts +1 -0
  489. package/dist/tools/cli/utils/printUsage.d.ts +1 -0
  490. package/dist/tools/config-helpers/createConfig.d.ts +2 -0
  491. package/dist/tools/config-helpers/createLintConfig.d.ts +2 -0
  492. package/dist/tools/config-helpers/getBaseConfig.d.ts +2 -0
  493. package/dist/tools/defaultConfigPaths.d.ts +8 -0
  494. package/dist/tools/eslint/base.eslint.config.d.ts +3 -0
  495. package/dist/tools/eslint.config.d.ts +3 -0
  496. package/dist/tools/index.d.ts +3 -0
  497. package/dist/tools/jest/jest.config.d.ts +15 -0
  498. package/dist/tools/jest.config.d.ts +8 -0
  499. package/dist/tools/types.d.ts +18 -0
  500. package/{tools/dist → dist/tools}/typescript/tsconfig.json +2 -1
  501. package/dist/tools/webpack/common-config/all/getCodeRules.d.ts +2 -0
  502. package/dist/tools/webpack/common-config/all/getFileLoaderRules.d.ts +11 -0
  503. package/dist/tools/webpack/common-config/all/getImageMinimizer.d.ts +5 -0
  504. package/dist/tools/webpack/common-config/all/getStylesheetRule.d.ts +8 -0
  505. package/dist/tools/webpack/common-config/dev/getDevServer.d.ts +2 -0
  506. package/dist/tools/webpack/common-config/index.d.ts +6 -0
  507. package/dist/tools/webpack/common-config/site/getHtmlWebpackPlugin.d.ts +2 -0
  508. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.d.ts +18 -0
  509. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/index.d.ts +2 -0
  510. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.d.ts +1 -0
  511. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.d.ts +1 -0
  512. package/dist/tools/webpack/utils/getPublicPath.d.ts +1 -0
  513. package/dist/tools/webpack/utils/getResolvedSiteConfigPath.d.ts +1 -0
  514. package/dist/tools/webpack/webpack.config.build.d.ts +3 -0
  515. package/{config → dist/tools}/webpack/webpack.config.build.js +8 -5
  516. package/dist/tools/webpack/webpack.config.dev.d.ts +3 -0
  517. package/{tools/dist → dist/tools}/webpack/webpack.config.dev.js +8 -5
  518. package/dist/tools/webpack/webpack.config.dev.shell.d.ts +3 -0
  519. package/{tools/dist → dist/tools}/webpack/webpack.config.dev.shell.js +0 -4
  520. package/dist/types.d.ts +82 -0
  521. package/dist/types.js +7 -0
  522. package/dist/types.js.map +1 -0
  523. package/package.json +21 -16
  524. package/config/tsconfig.json +0 -32
  525. package/config/webpack/common-config/all/getIgnoreWarnings.js +0 -14
  526. package/config/webpack/utils/getLocalAliases.js +0 -65
  527. package/config/webpack/webpack.config.dev.js +0 -70
  528. package/config/webpack/webpack.config.dev.shell.js +0 -104
  529. package/runtime/__mocks__/file.js +0 -1
  530. package/runtime/__mocks__/svg.js +0 -1
  531. package/runtime/__mocks__/universal-cookie.js +0 -6
  532. package/runtime/analytics/MockAnalyticsService.js +0 -71
  533. package/runtime/analytics/SegmentAnalyticsService.js +0 -243
  534. package/runtime/analytics/index.ts +0 -12
  535. package/runtime/analytics/interface.test.js +0 -242
  536. package/runtime/auth/AxiosCsrfTokenService.js +0 -60
  537. package/runtime/auth/AxiosJwtAuthService.js +0 -363
  538. package/runtime/auth/AxiosJwtAuthService.test.jsx +0 -1076
  539. package/runtime/auth/AxiosJwtTokenService.js +0 -134
  540. package/runtime/auth/LocalForageCache.js +0 -76
  541. package/runtime/auth/MockAuthService.js +0 -278
  542. package/runtime/auth/index.ts +0 -19
  543. package/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.js +0 -36
  544. package/runtime/auth/interceptors/createJwtTokenProviderInterceptor.js +0 -37
  545. package/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js +0 -20
  546. package/runtime/auth/interceptors/createRetryInterceptor.js +0 -74
  547. package/runtime/auth/interceptors/createRetryInterceptor.test.js +0 -23
  548. package/runtime/auth/utils.js +0 -105
  549. package/runtime/config/getExternalLinkUrl.test.js +0 -76
  550. package/runtime/i18n/injectIntlWithShim.jsx +0 -48
  551. package/runtime/i18n/lib.test.js +0 -230
  552. package/runtime/i18n/lib.ts +0 -272
  553. package/runtime/index.ts +0 -139
  554. package/runtime/initialize.async.function.config.test.js +0 -43
  555. package/runtime/initialize.const.config.test.js +0 -41
  556. package/runtime/initialize.function.config.test.js +0 -41
  557. package/runtime/initialize.js +0 -352
  558. package/runtime/initialize.test.js +0 -356
  559. package/runtime/jest.config.js +0 -33
  560. package/runtime/logging/MockLoggingService.js +0 -31
  561. package/runtime/logging/NewRelicLoggingService.js +0 -184
  562. package/runtime/logging/NewRelicLoggingService.test.js +0 -214
  563. package/runtime/logging/types.ts +0 -4
  564. package/runtime/react/AuthenticatedPageRoute.test.jsx +0 -135
  565. package/runtime/react/CombinedAppProvider.tsx +0 -46
  566. package/runtime/react/CurrentAppProvider.tsx +0 -46
  567. package/runtime/react/Divider.tsx +0 -5
  568. package/runtime/react/ErrorBoundary.jsx +0 -47
  569. package/runtime/react/ErrorBoundary.test.jsx +0 -83
  570. package/runtime/react/ErrorPage.jsx +0 -72
  571. package/runtime/react/SiteProvider.test.jsx +0 -66
  572. package/runtime/react/SiteProvider.tsx +0 -101
  573. package/runtime/react/hooks/theme/useTheme.test.ts +0 -221
  574. package/runtime/react/hooks/theme/useTheme.ts +0 -179
  575. package/runtime/react/hooks/theme/useThemeConfig.test.ts +0 -107
  576. package/runtime/react/hooks/theme/useThemeCore.test.ts +0 -65
  577. package/runtime/react/hooks/theme/useThemeCore.ts +0 -52
  578. package/runtime/react/hooks/theme/useThemeVariants.test.ts +0 -97
  579. package/runtime/react/hooks/theme/useThemeVariants.ts +0 -116
  580. package/runtime/react/hooks/theme/useTrackColorSchemeChoice.test.ts +0 -54
  581. package/runtime/react/hooks/theme/useTrackColorSchemeChoice.ts +0 -30
  582. package/runtime/react/hooks/useActiveRouteRoleWatcher.ts +0 -31
  583. package/runtime/react/hooks/useAuthenticatedUser.test.tsx +0 -41
  584. package/runtime/react/hooks/useSiteConfig.test.tsx +0 -13
  585. package/runtime/react/reducers.ts +0 -40
  586. package/runtime/routing/utils.test.ts +0 -7
  587. package/runtime/routing/utils.ts +0 -34
  588. package/runtime/scripts/GoogleAnalyticsLoader.test.ts +0 -77
  589. package/runtime/scripts/GoogleAnalyticsLoader.ts +0 -59
  590. package/runtime/site.config.test.tsx +0 -33
  591. package/runtime/slots/Slot.test.tsx +0 -40
  592. package/runtime/slots/Slot.tsx +0 -32
  593. package/runtime/slots/SlotContext.tsx +0 -8
  594. package/runtime/slots/hooks.ts +0 -35
  595. package/runtime/slots/layout/DefaultSlotLayout.test.tsx +0 -31
  596. package/runtime/slots/layout/DefaultSlotLayout.tsx +0 -9
  597. package/runtime/slots/layout/hooks.test.tsx +0 -178
  598. package/runtime/slots/layout/hooks.ts +0 -65
  599. package/runtime/slots/layout/utils.test.ts +0 -67
  600. package/runtime/slots/layout/utils.ts +0 -14
  601. package/runtime/slots/utils.test.ts +0 -64
  602. package/runtime/slots/utils.ts +0 -78
  603. package/runtime/slots/widget/WidgetContext.tsx +0 -9
  604. package/runtime/slots/widget/WidgetProvider.tsx +0 -30
  605. package/runtime/slots/widget/hooks.ts +0 -105
  606. package/runtime/slots/widget/iframe/IFrameContentWrapper.messages.tsx +0 -16
  607. package/runtime/slots/widget/iframe/IFrameContentWrapper.tsx +0 -84
  608. package/runtime/slots/widget/iframe/IFrameWidget.tsx +0 -59
  609. package/runtime/slots/widget/iframe/hooks.ts +0 -179
  610. package/runtime/slots/widget/utils.tsx +0 -201
  611. package/runtime/testing/initializeMockApp.test.ts +0 -66
  612. package/runtime/testing/mockMessages.ts +0 -23
  613. package/runtime/utils.test.js +0 -116
  614. package/shell/DefaultLayout.tsx +0 -18
  615. package/shell/DefaultMain.tsx +0 -7
  616. package/shell/Logo.test.tsx +0 -32
  617. package/shell/Logo.tsx +0 -28
  618. package/shell/Shell.messages.ts +0 -61
  619. package/shell/Shell.tsx +0 -18
  620. package/shell/__mocks__/file.js +0 -1
  621. package/shell/__mocks__/svg.js +0 -1
  622. package/shell/__mocks__/universal-cookie.js +0 -6
  623. package/shell/app.ts +0 -38
  624. package/shell/dev/devFooter/app.tsx +0 -43
  625. package/shell/dev/devHeader/BarContext.tsx +0 -13
  626. package/shell/dev/devHeader/BarLink.tsx +0 -16
  627. package/shell/dev/devHeader/BarProvider.tsx +0 -25
  628. package/shell/dev/devHeader/CoursesLink.tsx +0 -16
  629. package/shell/dev/devHeader/FooContext.tsx +0 -13
  630. package/shell/dev/devHeader/FooLink.tsx +0 -16
  631. package/shell/dev/devHeader/FooProvider.tsx +0 -25
  632. package/shell/dev/devHeader/app.tsx +0 -53
  633. package/shell/dev/devHeader/providers.tsx +0 -11
  634. package/shell/dev/devHome/HomePage.tsx +0 -28
  635. package/shell/dev/devHome/app.ts +0 -18
  636. package/shell/dev/devHome/i18n/index.ts +0 -27
  637. package/shell/dev/devHome/messages.ts +0 -11
  638. package/shell/dev/devUser/app.tsx +0 -24
  639. package/shell/dev/slotShowcase/HorizontalSlotLayout.tsx +0 -11
  640. package/shell/dev/slotShowcase/LayoutWithOptions.tsx +0 -17
  641. package/shell/dev/slotShowcase/SlotShowcasePage.tsx +0 -66
  642. package/shell/dev/slotShowcase/WidgetWithOptions.tsx +0 -11
  643. package/shell/dev/slotShowcase/app.tsx +0 -373
  644. package/shell/footer/CenterLinks.tsx +0 -11
  645. package/shell/footer/CopyrightNotice.tsx +0 -36
  646. package/shell/footer/Footer.tsx +0 -34
  647. package/shell/footer/LabeledLinkColumn.tsx +0 -19
  648. package/shell/footer/LanguageMenu.tsx +0 -35
  649. package/shell/footer/LanguageMenuItem.tsx +0 -23
  650. package/shell/footer/LeftLinks.tsx +0 -11
  651. package/shell/footer/LegalNotices.tsx +0 -17
  652. package/shell/footer/PoweredBy.tsx +0 -17
  653. package/shell/footer/RevealLinks.tsx +0 -43
  654. package/shell/footer/RightLinks.tsx +0 -11
  655. package/shell/footer/app.tsx +0 -73
  656. package/shell/footer/data/api.ts +0 -48
  657. package/shell/header/AuthenticatedMenu.tsx +0 -32
  658. package/shell/header/Header.tsx +0 -17
  659. package/shell/header/anonymous-menu/AnonymousMenu.tsx +0 -14
  660. package/shell/header/anonymous-menu/LoginButton.tsx +0 -14
  661. package/shell/header/anonymous-menu/RegisterButton.tsx +0 -15
  662. package/shell/header/app.tsx +0 -142
  663. package/shell/header/desktop/DesktopLayout.tsx +0 -22
  664. package/shell/header/desktop/PrimaryNavLinks.tsx +0 -10
  665. package/shell/header/desktop/SecondaryNavLinks.tsx +0 -10
  666. package/shell/header/mobile/MobileLayout.tsx +0 -47
  667. package/shell/header/mobile/MobileNavLinks.tsx +0 -10
  668. package/shell/i18n/index.ts +0 -25
  669. package/shell/jest.config.js +0 -31
  670. package/shell/menus/LinkMenuItem.tsx +0 -64
  671. package/shell/menus/NavDropdownMenuSlot.tsx +0 -29
  672. package/shell/menus/ProfileLinkMenuItem.tsx +0 -33
  673. package/shell/menus/data/utils.ts +0 -19
  674. package/shell/public/index.html +0 -10
  675. package/shell/router/createRouter.test.tsx +0 -50
  676. package/shell/router/getAppRoutes.test.tsx +0 -59
  677. package/shell/router/getAppRoutes.ts +0 -21
  678. package/shell/site.config.dev.tsx +0 -49
  679. package/shell/site.config.test.tsx +0 -16
  680. package/shell/site.tsx +0 -41
  681. package/tools/dist/babel/babel.config.js +0 -28
  682. package/tools/dist/config-helpers/createConfig.js +0 -13
  683. package/tools/dist/config-helpers/createLintConfig.js +0 -16
  684. package/tools/dist/config-helpers/getBaseConfig.js +0 -12
  685. package/tools/dist/defaultConfigPaths.js +0 -35
  686. package/tools/dist/eslint/base.eslint.config.js +0 -113
  687. package/tools/dist/index.js +0 -12
  688. package/tools/dist/types.js +0 -23
  689. package/tools/dist/webpack/common-config/all/getCodeRules.js +0 -52
  690. package/tools/dist/webpack/common-config/all/getFileLoaderRules.js +0 -26
  691. package/tools/dist/webpack/common-config/all/getIgnoreWarnings.js +0 -14
  692. package/tools/dist/webpack/common-config/all/getImageMinimizer.js +0 -25
  693. package/tools/dist/webpack/common-config/all/getStylesheetRule.js +0 -112
  694. package/tools/dist/webpack/common-config/dev/getDevServer.js +0 -38
  695. package/tools/dist/webpack/common-config/index.js +0 -18
  696. package/tools/dist/webpack/common-config/site/getHtmlWebpackPlugin.js +0 -16
  697. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.js +0 -91
  698. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/index.js +0 -7
  699. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.js +0 -66
  700. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.js +0 -3
  701. package/tools/dist/webpack/utils/getLocalAliases.js +0 -65
  702. package/tools/dist/webpack/utils/getPublicPath.js +0 -6
  703. package/tools/dist/webpack/utils/getResolvedSiteConfigPath.js +0 -32
  704. package/tools/dist/webpack/webpack.config.build.js +0 -70
  705. package/types.ts +0 -119
  706. /package/{runtime/react/hooks/theme/index.ts → dist/runtime/react/hooks/theme/index.d.ts} +0 -0
  707. /package/{runtime/routing/index.ts → dist/runtime/routing/index.d.ts} +0 -0
  708. /package/{runtime/scripts/index.ts → dist/runtime/scripts/index.d.ts} +0 -0
  709. /package/{runtime/slots/index.ts → dist/runtime/slots/index.d.ts} +0 -0
  710. /package/{runtime/slots/layout/index.ts → dist/runtime/slots/layout/index.d.ts} +0 -0
  711. /package/{runtime/slots/widget/index.ts → dist/runtime/slots/widget/index.d.ts} +0 -0
  712. /package/{shell → dist/shell}/app.scss +0 -0
  713. /package/{shell/dev/devFooter/index.ts → dist/shell/dev/devFooter/index.d.ts} +0 -0
  714. /package/{shell/dev/devHeader/index.ts → dist/shell/dev/devHeader/index.d.ts} +0 -0
  715. /package/{shell/dev/devHome/index.ts → dist/shell/dev/devHome/index.d.ts} +0 -0
  716. /package/{shell/dev/devUser/index.ts → dist/shell/dev/devUser/index.d.ts} +0 -0
  717. /package/{shell/dev/index.ts → dist/shell/dev/index.d.ts} +0 -0
  718. /package/{shell/dev/slotShowcase/index.ts → dist/shell/dev/slotShowcase/index.d.ts} +0 -0
  719. /package/{shell/footer/index.ts → dist/shell/footer/index.d.ts} +0 -0
  720. /package/{shell/header/index.ts → dist/shell/header/index.d.ts} +0 -0
  721. /package/{shell/index.ts → dist/shell/index.d.ts} +0 -0
  722. /package/{config → dist/tools}/babel/babel.config.js +0 -0
  723. /package/{tools/dist → dist/tools}/cli/commands/serve.js +0 -0
  724. /package/{tools/dist → dist/tools}/cli/intl-imports.js +0 -0
  725. /package/{tools/dist → dist/tools}/cli/intl-imports.test.js +0 -0
  726. /package/{tools/dist → dist/tools}/cli/transifex-utils.js +0 -0
  727. /package/{tools/dist → dist/tools}/cli/utils/ensureConfigFilenameOption.js +0 -0
  728. /package/{tools/dist → dist/tools}/cli/utils/formatter.js +0 -0
  729. /package/{tools/dist → dist/tools}/cli/utils/getResolvedConfigPath.js +0 -0
  730. /package/{tools/dist → dist/tools}/cli/utils/prettyPrintTitle.js +0 -0
  731. /package/{tools/dist → dist/tools}/cli/utils/printUsage.js +0 -0
  732. /package/{config → dist/tools}/config-helpers/createConfig.js +0 -0
  733. /package/{config → dist/tools}/config-helpers/createLintConfig.js +0 -0
  734. /package/{config → dist/tools}/config-helpers/getBaseConfig.js +0 -0
  735. /package/{config → dist/tools}/defaultConfigPaths.js +0 -0
  736. /package/{config → dist/tools}/eslint/base.eslint.config.js +0 -0
  737. /package/{tools/dist → dist/tools}/eslint.config.js +0 -0
  738. /package/{config → dist/tools}/index.js +0 -0
  739. /package/{config → dist/tools}/jest/jest.config.js +0 -0
  740. /package/{tools/dist → dist/tools}/jest.config.js +0 -0
  741. /package/{config → dist/tools}/types.js +0 -0
  742. /package/{config → dist/tools}/webpack/common-config/all/getCodeRules.js +0 -0
  743. /package/{config → dist/tools}/webpack/common-config/all/getFileLoaderRules.js +0 -0
  744. /package/{config → dist/tools}/webpack/common-config/all/getImageMinimizer.js +0 -0
  745. /package/{config → dist/tools}/webpack/common-config/all/getStylesheetRule.js +0 -0
  746. /package/{config → dist/tools}/webpack/common-config/dev/getDevServer.js +0 -0
  747. /package/{config → dist/tools}/webpack/common-config/index.js +0 -0
  748. /package/{config → dist/tools}/webpack/common-config/site/getHtmlWebpackPlugin.js +0 -0
  749. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.js +0 -0
  750. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/index.js +0 -0
  751. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.js +0 -0
  752. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.js +0 -0
  753. /package/{config → dist/tools}/webpack/utils/getPublicPath.js +0 -0
  754. /package/{config → dist/tools}/webpack/utils/getResolvedSiteConfigPath.js +0 -0
@@ -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
+ export * from './utils';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../runtime/routing/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC","sourcesContent":["export * 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,28 @@
1
+ import { getSiteConfig } from '../config';
2
+ export function getUrlByRouteRole(role) {
3
+ var _a, _b;
4
+ const { apps, externalRoutes } = getSiteConfig();
5
+ if (apps) {
6
+ for (const app of apps) {
7
+ if (Array.isArray(app.routes)) {
8
+ for (const route of app.routes) {
9
+ if (((_a = route === null || route === void 0 ? void 0 : route.handle) === null || _a === void 0 ? void 0 : _a.role) === role) {
10
+ return (_b = route.path) !== null && _b !== void 0 ? _b : null;
11
+ }
12
+ }
13
+ }
14
+ }
15
+ }
16
+ if (externalRoutes) {
17
+ for (const externalRoute of externalRoutes) {
18
+ if (externalRoute.role === role) {
19
+ return externalRoute.url;
20
+ }
21
+ }
22
+ }
23
+ return null;
24
+ }
25
+ export function isRoleRouteObject(match) {
26
+ return match.handle !== undefined && 'role' in match.handle;
27
+ }
28
+ //# 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,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,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,IAAI,MAAK,IAAI,EAAE,CAAC;wBACjC,OAAO,MAAA,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC;oBAC5B,CAAC;gBACH,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,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;AAC9D,CAAC","sourcesContent":["import { RouteObject } from 'react-router';\n\nimport { RoleRouteObject } from '../../types';\nimport { getSiteConfig } from '../config';\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 for (const route of app.routes) {\n if (route?.handle?.role === role) {\n return route.path ?? null;\n }\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 && 'role' in match.handle;\n}\n"]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @implements {GoogleAnalyticsLoader}
3
+ * @memberof module:GoogleAnalytics
4
+ */
5
+ declare class GoogleAnalyticsLoader {
6
+ analyticsId: string;
7
+ constructor({ config }: {
8
+ config: any;
9
+ });
10
+ loadScript(): void;
11
+ }
12
+ export default GoogleAnalyticsLoader;
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @implements {GoogleAnalyticsLoader}
3
+ * @memberof module:GoogleAnalytics
4
+ */
5
+ class GoogleAnalyticsLoader {
6
+ constructor({ config }) {
7
+ this.analyticsId = config.GOOGLE_ANALYTICS_4_ID;
8
+ }
9
+ loadScript() {
10
+ if (!this.analyticsId) {
11
+ return;
12
+ }
13
+ global.googleAnalytics = global.googleAnalytics || [];
14
+ // @ts-expect-error We just added googleAnalytics to global, it's there.
15
+ const { googleAnalytics } = global;
16
+ // If the snippet was invoked do nothing.
17
+ if (googleAnalytics.invoked) {
18
+ return;
19
+ }
20
+ // Invoked flag, to make sure the snippet
21
+ // is never invoked twice.
22
+ googleAnalytics.invoked = true;
23
+ googleAnalytics.load = (key, options) => {
24
+ const scriptSrc = document.createElement('script');
25
+ scriptSrc.type = 'text/javascript';
26
+ scriptSrc.async = true;
27
+ scriptSrc.src = `https://www.googletagmanager.com/gtag/js?id=${key}`;
28
+ const scriptGtag = document.createElement('script');
29
+ scriptGtag.innerHTML = `
30
+ window.dataLayer = window.dataLayer || [];
31
+ function gtag(){dataLayer.push(arguments);}
32
+ gtag('js', new Date());
33
+ gtag('config', '${key}');
34
+ `;
35
+ // Insert our scripts next to the first script element.
36
+ const first = document.getElementsByTagName('script')[0];
37
+ if ((first === null || first === void 0 ? void 0 : first.parentNode) === null) {
38
+ throw new Error('No script to insert Google analytics script before.');
39
+ }
40
+ first.parentNode.insertBefore(scriptSrc, first);
41
+ first.parentNode.insertBefore(scriptGtag, first);
42
+ googleAnalytics._loadOptions = options;
43
+ };
44
+ // Load GoogleAnalytics with your key.
45
+ googleAnalytics.load(this.analyticsId);
46
+ }
47
+ }
48
+ export default GoogleAnalyticsLoader;
49
+ //# sourceMappingURL=GoogleAnalyticsLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GoogleAnalyticsLoader.js","sourceRoot":"","sources":["../../../runtime/scripts/GoogleAnalyticsLoader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,qBAAqB;IAGzB,YAAY,EAAE,MAAM,EAAE;QACpB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAClD,CAAC;IAED,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;QACtD,wEAAwE;QACxE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;QAEnC,yCAAyC;QACzC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,0BAA0B;QAC1B,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;QAE/B,eAAe,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACnD,SAAS,CAAC,IAAI,GAAG,iBAAiB,CAAC;YACnC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;YACvB,SAAS,CAAC,GAAG,GAAG,+CAA+C,GAAG,EAAE,CAAC;YAErE,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACpD,UAAU,CAAC,SAAS,GAAG;;;;0BAIH,GAAG;OACtB,CAAC;YAEF,uDAAuD;YACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,MAAK,IAAI,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;YACD,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChD,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACjD,eAAe,CAAC,YAAY,GAAG,OAAO,CAAC;QACzC,CAAC,CAAC;QAEF,sCAAsC;QACtC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;CACF;AAED,eAAe,qBAAqB,CAAC","sourcesContent":["/**\n * @implements {GoogleAnalyticsLoader}\n * @memberof module:GoogleAnalytics\n */\nclass GoogleAnalyticsLoader {\n analyticsId: string;\n\n constructor({ config }) {\n this.analyticsId = config.GOOGLE_ANALYTICS_4_ID;\n }\n\n loadScript() {\n if (!this.analyticsId) {\n return;\n }\n\n global.googleAnalytics = global.googleAnalytics || [];\n // @ts-expect-error We just added googleAnalytics to global, it's there.\n const { googleAnalytics } = global;\n\n // If the snippet was invoked do nothing.\n if (googleAnalytics.invoked) {\n return;\n }\n\n // Invoked flag, to make sure the snippet\n // is never invoked twice.\n googleAnalytics.invoked = true;\n\n googleAnalytics.load = (key, options) => {\n const scriptSrc = document.createElement('script');\n scriptSrc.type = 'text/javascript';\n scriptSrc.async = true;\n scriptSrc.src = `https://www.googletagmanager.com/gtag/js?id=${key}`;\n\n const scriptGtag = document.createElement('script');\n scriptGtag.innerHTML = `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${key}');\n `;\n\n // Insert our scripts next to the first script element.\n const first = document.getElementsByTagName('script')[0];\n if (first?.parentNode === null) {\n throw new Error('No script to insert Google analytics script before.');\n }\n first.parentNode.insertBefore(scriptSrc, first);\n first.parentNode.insertBefore(scriptGtag, first);\n googleAnalytics._loadOptions = options;\n };\n\n // Load GoogleAnalytics with your key.\n googleAnalytics.load(this.analyticsId);\n }\n}\n\nexport default GoogleAnalyticsLoader;\n"]}
@@ -0,0 +1,2 @@
1
+ export { default as GoogleAnalyticsLoader } from './GoogleAnalyticsLoader';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../runtime/scripts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC","sourcesContent":["export { default as GoogleAnalyticsLoader } from './GoogleAnalyticsLoader';\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,14 +1,12 @@
1
1
  import '@testing-library/jest-dom';
2
-
3
2
  import siteConfig from 'site.config';
4
3
  import { mergeSiteConfig } from './config';
5
-
6
4
  jest.mock('universal-cookie', () => {
7
- const mCookie = {
8
- get: jest.fn(),
9
- remove: jest.fn(),
10
- };
11
- return jest.fn(() => mCookie);
5
+ const mCookie = {
6
+ get: jest.fn(),
7
+ remove: jest.fn(),
8
+ };
9
+ return jest.fn(() => mCookie);
12
10
  });
13
-
14
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,9 @@
1
+ import { ComponentType, ReactNode } from 'react';
2
+ interface SlotProps {
3
+ id: string;
4
+ children?: ReactNode;
5
+ layout?: ComponentType | ReactNode;
6
+ [key: string]: unknown;
7
+ }
8
+ export default function Slot({ id, children, layout, ...props }: SlotProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,30 @@
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 { jsx as _jsx } from "react/jsx-runtime";
13
+ import { createElement, isValidElement } from 'react';
14
+ import DefaultSlotLayout from './layout/DefaultSlotLayout';
15
+ import { useLayoutForSlotId } from './layout/hooks';
16
+ import SlotContext from './SlotContext';
17
+ export default function Slot(_a) {
18
+ var { id, children, layout = DefaultSlotLayout } = _a, props = __rest(_a, ["id", "children", "layout"]);
19
+ let layoutElement = layout;
20
+ const overrideLayout = useLayoutForSlotId(id);
21
+ // Weed out any ReactNode types that aren't actually JSX.
22
+ if (overrideLayout && overrideLayout !== null && overrideLayout !== undefined && typeof overrideLayout !== 'boolean') {
23
+ layoutElement = overrideLayout;
24
+ }
25
+ if (!isValidElement(layoutElement)) {
26
+ layoutElement = createElement(layoutElement);
27
+ }
28
+ return (_jsx(SlotContext.Provider, { value: Object.assign({ id, children }, props), children: layoutElement }));
29
+ }
30
+ //# 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,EAAa,MAAM,OAAO,CAAC;AAChF,OAAO,iBAAiB,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,WAAW,MAAM,eAAe,CAAC;AASxC,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAAiE;QAAjE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,OAAuB,EAAlB,KAAK,cAApD,4BAAsD,CAAF;IAC/E,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,CACL,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,kBAAI,EAAE,EAAE,QAAQ,IAAK,KAAK,aAClD,aAAa,GACO,CACxB,CAAC;AACJ,CAAC","sourcesContent":["import { ComponentType, createElement, isValidElement, ReactNode } from 'react';\nimport DefaultSlotLayout from './layout/DefaultSlotLayout';\nimport { useLayoutForSlotId } from './layout/hooks';\nimport SlotContext from './SlotContext';\n\ninterface SlotProps {\n id: string,\n children?: ReactNode,\n layout?: ComponentType | ReactNode,\n [key: string]: unknown,\n}\n\nexport default function Slot({ id, children, layout = DefaultSlotLayout, ...props }: SlotProps) {\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 (\n <SlotContext.Provider value={{ id, children, ...props }}>\n {layoutElement}\n </SlotContext.Provider>\n );\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ declare const SlotContext: import("react").Context<{
3
+ [key: string]: unknown;
4
+ id: string;
5
+ children?: ReactNode;
6
+ }>;
7
+ 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,CAA+D;IAC9F,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, children?: ReactNode, [key: string]: unknown }>({\n id: '',\n children: null,\n});\n\nexport default SlotContext;\n"]}
@@ -0,0 +1,12 @@
1
+ import { SlotOperation } from './types';
2
+ /**
3
+ * The useSlotOperations hook will trigger re-renders when the slot configuration changes.
4
+ * It is a fundamental hook that is used by many of the others to ensure they're using up-to-date
5
+ * config as it changes.
6
+ */
7
+ export declare function useSlotOperations(id: string): SlotOperation[];
8
+ export declare function useSlotContext(): {
9
+ [key: string]: unknown;
10
+ id: string;
11
+ children?: import("react").ReactNode;
12
+ };
@@ -0,0 +1,29 @@
1
+ import { useContext, useEffect, useState } from 'react';
2
+ import { useLocation } from 'react-router-dom';
3
+ import { getSlotOperations } from './utils';
4
+ import SlotContext from './SlotContext';
5
+ import { createWidgetAppendOperation } from './widget';
6
+ /**
7
+ * The useSlotOperations hook will trigger re-renders when the slot configuration changes.
8
+ * It is a fundamental hook that is used by many of the others to ensure they're using up-to-date
9
+ * config as it changes.
10
+ */
11
+ export function useSlotOperations(id) {
12
+ const { children } = useSlotContext();
13
+ const location = useLocation();
14
+ const [operations, setOperations] = useState([]);
15
+ useEffect(() => {
16
+ // Setting default content has to happen inside `useEffect()` so that re-renders only happen
17
+ // when [children] props change. This avoids an endless render loop. After all, the whole
18
+ // point of a slot is to modify its children via slot operations.
19
+ const defaultOperation = createWidgetAppendOperation('defaultContent', id, children);
20
+ setOperations(getSlotOperations(id, defaultOperation));
21
+ // We depend on [location] to force re-renders on navigation. This guarantees changes in active
22
+ // roles (and thus, changes in what conditional widgets are shown) properly.
23
+ }, [id, children, location]);
24
+ return operations;
25
+ }
26
+ export function useSlotContext() {
27
+ return useContext(SlotContext);
28
+ }
29
+ //# 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,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAEvD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAkB,EAAE,CAAC,CAAC;IAElE,SAAS,CAAC,GAAG,EAAE;QACb,4FAA4F;QAC5F,2FAA2F;QAC3F,iEAAiE;QACjE,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,gBAAgB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QACrF,aAAa,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAEvD,gGAAgG;QAChG,4EAA4E;IAC9E,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC","sourcesContent":["import { useContext, useEffect, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nimport { SlotOperation } from './types';\nimport { getSlotOperations } from './utils';\nimport SlotContext from './SlotContext';\nimport { createWidgetAppendOperation } from './widget';\n\n/**\n * The useSlotOperations hook will trigger re-renders when the slot configuration changes.\n * It is a fundamental hook that is used by many of the others to ensure they're using up-to-date\n * config as it changes.\n */\nexport function useSlotOperations(id: string) {\n const { children } = useSlotContext();\n const location = useLocation();\n const [operations, setOperations] = useState<SlotOperation[]>([]);\n\n useEffect(() => {\n // Setting default content has to happen inside `useEffect()` so that re-renders only happen\n // when [children] props change. This avoids an endless render loop. After all, the whole\n // point of a slot is to modify its children via slot operations.\n const defaultOperation = createWidgetAppendOperation('defaultContent', id, children);\n setOperations(getSlotOperations(id, defaultOperation));\n\n // We depend on [location] to force re-renders on navigation. This guarantees changes in active\n // roles (and thus, changes in what conditional widgets are shown) properly.\n }, [id, children, location]);\n\n return operations;\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,10 @@
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. useLayoutOptions only triggers a
7
+ * re-render when the options change.
8
+ */
9
+ export declare function useLayoutOptions(): Record<string, unknown>;
10
+ export declare function useLayoutOptionsForId(id: string): Record<string, unknown>;
@@ -0,0 +1,57 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { useSlotContext, useSlotOperations } from '../hooks';
3
+ import { isSlotOperationConditionSatisfied } from '../utils';
4
+ import { isLayoutOperation, isLayoutOptionsOperation, isLayoutReplaceOperation } from './utils';
5
+ function hasLayoutComponentProps(operation) {
6
+ return isLayoutOperation(operation) && 'component' in operation;
7
+ }
8
+ function hasLayoutElementProps(operation) {
9
+ return isLayoutOperation(operation) && 'element' in operation;
10
+ }
11
+ export function useLayoutForSlotId(id) {
12
+ const operations = useSlotOperations(id);
13
+ let layoutElement = null;
14
+ for (const operation of operations) {
15
+ if (isSlotOperationConditionSatisfied(operation)) {
16
+ if (isLayoutReplaceOperation(operation)) {
17
+ if (hasLayoutComponentProps(operation)) {
18
+ layoutElement = operation.component;
19
+ }
20
+ else if (hasLayoutElementProps(operation)) {
21
+ layoutElement = operation.element;
22
+ }
23
+ }
24
+ }
25
+ }
26
+ return layoutElement;
27
+ }
28
+ /**
29
+ * useLayoutOptions iterates through the slot's operations to find any which are "layout
30
+ * options" operations. It merges these into a single object and returns them - operations are
31
+ * merged in declaration order, meaning last one in wins. useLayoutOptions only triggers a
32
+ * re-render when the options change.
33
+ */
34
+ export function useLayoutOptions() {
35
+ const { id } = useSlotContext();
36
+ return useLayoutOptionsForId(id);
37
+ }
38
+ export function useLayoutOptionsForId(id) {
39
+ const operations = useSlotOperations(id);
40
+ const [options, setOptions] = useState({});
41
+ useEffect(() => {
42
+ const findOptions = () => {
43
+ let nextOptions = {};
44
+ for (const operation of operations) {
45
+ if (isSlotOperationConditionSatisfied(operation)) {
46
+ if (isLayoutOptionsOperation(operation)) {
47
+ nextOptions = Object.assign(Object.assign({}, nextOptions), operation.options);
48
+ }
49
+ }
50
+ }
51
+ return nextOptions;
52
+ };
53
+ setOptions(findOptions());
54
+ }, [operations]);
55
+ return options;
56
+ }
57
+ //# 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,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtE,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,IAAI,aAAa,GAA8B,IAAI,CAAC;IAEpD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,iCAAiC,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,IAAI,wBAAwB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxC,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;IACH,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;GAKG;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,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IAEpE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,WAAW,GAA4B,EAAE,CAAC;YAC9C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,iCAAiC,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjD,IAAI,wBAAwB,CAAC,SAAS,CAAC,EAAE,CAAC;wBACxC,WAAW,mCAAQ,WAAW,GAAK,SAAS,CAAC,OAAO,CAAE,CAAC;oBACzD,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEF,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { ComponentType, ReactNode, useEffect, useState } from 'react';\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 let layoutElement: ReactNode | ComponentType = null;\n\n for (const operation of operations) {\n if (isSlotOperationConditionSatisfied(operation)) {\n if (isLayoutReplaceOperation(operation)) {\n if (hasLayoutComponentProps(operation)) {\n layoutElement = operation.component;\n } else if (hasLayoutElementProps(operation)) {\n layoutElement = operation.element;\n }\n }\n }\n }\n return layoutElement;\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. useLayoutOptions only triggers a\n * re-render when the options change.\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 [options, setOptions] = useState<Record<string, unknown>>({});\n\n useEffect(() => {\n const findOptions = () => {\n let nextOptions: Record<string, unknown> = {};\n for (const operation of operations) {\n if (isSlotOperationConditionSatisfied(operation)) {\n if (isLayoutOptionsOperation(operation)) {\n nextOptions = { ...nextOptions, ...operation.options };\n }\n }\n }\n return nextOptions;\n };\n\n setOptions(findOptions());\n }, [operations]);\n\n return options;\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"]}
@@ -4,42 +4,27 @@
4
4
  * "Layout" operations are a sub-type of UI operations which affect the layout component of a UI
5
5
  * slot. They have no effect on the widgets loaded into a UI slot.
6
6
  */
7
-
8
7
  import { ReactNode } from 'react';
9
8
  import { BaseSlotOperation } from '../types';
10
-
11
- export enum LayoutOperationTypes {
12
- OPTIONS = 'layoutOptions',
13
- REPLACE = 'layoutReplace',
9
+ export declare enum LayoutOperationTypes {
10
+ OPTIONS = "layoutOptions",
11
+ REPLACE = "layoutReplace"
14
12
  }
15
-
16
13
  export interface BaseLayoutOperation extends BaseSlotOperation {
17
- op: LayoutOperationTypes,
14
+ op: LayoutOperationTypes;
18
15
  }
19
-
20
- // Concrete UI Layout Operations
21
-
22
16
  export type LayoutOptionsOperation = BaseLayoutOperation & {
23
- op: LayoutOperationTypes.OPTIONS,
24
- options: Record<string, unknown>,
17
+ op: LayoutOperationTypes.OPTIONS;
18
+ options: Record<string, unknown>;
25
19
  };
26
-
27
20
  export interface LayoutComponentProps {
28
- component: React.ComponentType,
21
+ component: React.ComponentType;
29
22
  }
30
-
31
23
  export interface LayoutElementProps {
32
- element: ReactNode,
24
+ element: ReactNode;
33
25
  }
34
-
35
- export type LayoutRendererProps = (
36
- LayoutComponentProps | LayoutElementProps
37
- );
38
-
26
+ export type LayoutRendererProps = (LayoutComponentProps | LayoutElementProps);
39
27
  export type LayoutReplaceOperation = BaseLayoutOperation & LayoutRendererProps & {
40
- op: LayoutOperationTypes.REPLACE,
28
+ op: LayoutOperationTypes.REPLACE;
41
29
  };
42
-
43
- // Aggregate UI Layout Operations
44
-
45
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"]}
@@ -3,22 +3,16 @@
3
3
  *
4
4
  * These are properties shared by all slot operations defined below.
5
5
  */
6
-
7
6
  import { LayoutOperation } from './layout/types';
8
7
  import { WidgetOperation } from './widget/types';
9
-
10
8
  export interface SlotOperationCondition {
11
- active?: string[],
12
- inactive?: string[],
13
- authenticated?: boolean,
14
- callback?: () => boolean,
9
+ active?: string[];
10
+ inactive?: string[];
11
+ authenticated?: boolean;
12
+ callback?: () => boolean;
15
13
  }
16
-
17
14
  export interface BaseSlotOperation {
18
- slotId: string,
19
- condition?: SlotOperationCondition,
15
+ slotId: string;
16
+ condition?: SlotOperationCondition;
20
17
  }
21
-
22
- // Aggregate Slot Operations
23
-
24
18
  export type SlotOperation = WidgetOperation | LayoutOperation;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Base Slot Operations
3
+ *
4
+ * These are properties shared by all slot operations defined below.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../runtime/slots/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG","sourcesContent":["/**\n * Base Slot Operations\n *\n * These are properties shared by all slot operations defined below.\n */\n\nimport { LayoutOperation } from './layout/types';\nimport { WidgetOperation } from './widget/types';\n\nexport interface SlotOperationCondition {\n active?: string[],\n inactive?: string[],\n authenticated?: boolean,\n callback?: () => boolean,\n}\n\nexport interface BaseSlotOperation {\n slotId: string,\n condition?: SlotOperationCondition,\n}\n\n// Aggregate Slot Operations\n\nexport type SlotOperation = WidgetOperation | LayoutOperation;\n"]}
@@ -0,0 +1,3 @@
1
+ import { SlotOperation } from './types';
2
+ export declare function getSlotOperations(id: string, defaultOperation?: SlotOperation): SlotOperation[];
3
+ export declare function isSlotOperationConditionSatisfied(operation: SlotOperation): boolean;
@@ -0,0 +1,66 @@
1
+ import { getAuthenticatedUser } from '../auth';
2
+ import { getActiveRoles, getSiteConfig } from '../config';
3
+ export function getSlotOperations(id, defaultOperation) {
4
+ const { apps } = getSiteConfig();
5
+ const ops = [];
6
+ if (defaultOperation) {
7
+ ops.push(defaultOperation);
8
+ }
9
+ if (apps) {
10
+ apps.forEach((app) => {
11
+ if (Array.isArray(app.slots)) {
12
+ app.slots.forEach((operation) => {
13
+ if (operation.slotId === id) {
14
+ ops.push(operation);
15
+ }
16
+ });
17
+ }
18
+ });
19
+ }
20
+ return ops;
21
+ }
22
+ export function isSlotOperationConditionSatisfied(operation) {
23
+ const { condition } = operation;
24
+ if ((condition === null || condition === void 0 ? void 0 : condition.authenticated) !== undefined) {
25
+ const isAuthenticated = getAuthenticatedUser() !== null;
26
+ // If we failed the authenticated condition, return false.
27
+ if (condition.authenticated !== isAuthenticated) {
28
+ return false;
29
+ }
30
+ }
31
+ if ((condition === null || condition === void 0 ? void 0 : condition.active) !== undefined || (condition === null || condition === void 0 ? void 0 : condition.inactive) !== undefined) {
32
+ const activeRoles = getActiveRoles();
33
+ if ((condition === null || condition === void 0 ? void 0 : condition.active) !== undefined) {
34
+ let activeConditionRoleFound = false;
35
+ for (const conditionRole of condition.active) {
36
+ if (activeRoles.includes(conditionRole)) {
37
+ activeConditionRoleFound = true;
38
+ break;
39
+ }
40
+ }
41
+ // If we couldn't find an active role in our list, then we've failed this condition.
42
+ if (!activeConditionRoleFound) {
43
+ return false;
44
+ }
45
+ }
46
+ if ((condition === null || condition === void 0 ? void 0 : condition.inactive) !== undefined) {
47
+ let inactiveConditionRoleFound = false;
48
+ for (const conditionRole of condition.inactive) {
49
+ if (activeRoles.includes(conditionRole)) {
50
+ inactiveConditionRoleFound = true;
51
+ break;
52
+ }
53
+ }
54
+ // If we find an active role from our inactive list, then we've failed this condition.
55
+ if (inactiveConditionRoleFound) {
56
+ return false;
57
+ }
58
+ }
59
+ }
60
+ if ((condition === null || condition === void 0 ? void 0 : condition.callback) !== undefined && condition.callback() === false) {
61
+ return false;
62
+ }
63
+ // If there was no condition, we return true.
64
+ return true;
65
+ }
66
+ //# sourceMappingURL=utils.js.map