@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":"app.js","sourceRoot":"","sources":["../../../../shell/dev/devUser/app.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,cAAc,MAAM,4CAA4C,CAAC;AAExE,MAAM,GAAG,GAAQ;IACf,KAAK,EAAE,mCAAmC;IAC1C,KAAK,EAAE;QACL;YACE,MAAM,EAAE,mDAAmD;YAC3D,EAAE,EAAE,gCAAgC;YACpC,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,SAAS,EAAE,WAAW;SACvB;QACD;YACE,MAAM,EAAE,mDAAmD;YAC3D,EAAE,EAAE,mCAAmC;YACvC,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,SAAS,EAAE,cAAc;SAC1B;KACF;CACF,CAAC;AAEF,eAAe,GAAG,CAAC","sourcesContent":["import { WidgetOperationTypes } from '../../../runtime';\nimport { App } from '../../../types';\nimport LoginButton from '../../header/anonymous-menu/LoginButton';\nimport RegisterButton from '../../header/anonymous-menu/RegisterButton';\n\nconst app: App = {\n appId: 'org.openedx.frontend.app.dev.user',\n slots: [\n {\n slotId: 'org.openedx.frontend.slot.header.anonymousMenu.v1',\n id: 'user.anonymousMenu.loginButton',\n op: WidgetOperationTypes.APPEND,\n component: LoginButton,\n },\n {\n slotId: 'org.openedx.frontend.slot.header.anonymousMenu.v1',\n id: 'user.anonymousMenu.registerButton',\n op: WidgetOperationTypes.APPEND,\n component: RegisterButton,\n },\n ]\n};\n\nexport default app;\n"]}
@@ -0,0 +1,2 @@
1
+ export { default as devUserApp } from './app';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../shell/dev/devUser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,OAAO,CAAC","sourcesContent":["export { default as devUserApp } from './app';\n"]}
@@ -0,0 +1,6 @@
1
+ export { devFooterApp } from './devFooter';
2
+ export { devHeaderApp } from './devHeader';
3
+ export { devHomeApp } from './devHome';
4
+ export { devUserApp } from './devUser';
5
+ export { slotShowcaseApp } from './slotShowcase';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../shell/dev/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["export { devFooterApp } from './devFooter';\nexport { devHeaderApp } from './devHeader';\nexport { devHomeApp } from './devHome';\nexport { devUserApp } from './devUser';\nexport { slotShowcaseApp } from './slotShowcase';\n"]}
@@ -0,0 +1 @@
1
+ export default function HorizontalSlotLayout(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useWidgets } from '../../../runtime';
3
+ export default function HorizontalSlotLayout() {
4
+ const widgets = useWidgets();
5
+ return (_jsx("div", { className: "d-flex gap-3", children: widgets }));
6
+ }
7
+ //# sourceMappingURL=HorizontalSlotLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HorizontalSlotLayout.js","sourceRoot":"","sources":["../../../../shell/dev/slotShowcase/HorizontalSlotLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,OAAO,CACL,cAAK,SAAS,EAAC,cAAc,YAC1B,OAAO,GACJ,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useWidgets } from '../../../runtime';\n\nexport default function HorizontalSlotLayout() {\n const widgets = useWidgets();\n\n return (\n <div className=\"d-flex gap-3\">\n {widgets}\n </div>\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ export default function LayoutWithOptions(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useLayoutOptions, useWidgets } from '../../../runtime';
3
+ export default function LayoutWithOptions() {
4
+ const widgets = useWidgets();
5
+ const options = useLayoutOptions();
6
+ const title = typeof options.title === 'string' ? options.title : 'Foo';
7
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { children: ["Layout Title: ", _jsx("strong", { children: title })] }), _jsx("div", { children: widgets })] }));
8
+ }
9
+ //# sourceMappingURL=LayoutWithOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutWithOptions.js","sourceRoot":"","sources":["../../../../shell/dev/slotShowcase/LayoutWithOptions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IAEnC,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAExE,OAAO,CACL,8BACE,4CAAmB,2BAAS,KAAK,GAAU,IAAM,EACjD,wBACG,OAAO,GACJ,IACL,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import { useLayoutOptions, useWidgets } from '../../../runtime';\n\nexport default function LayoutWithOptions() {\n const widgets = useWidgets();\n const options = useLayoutOptions();\n\n const title = typeof options.title === 'string' ? options.title : 'Foo';\n\n return (\n <>\n <div>Layout Title: <strong>{title}</strong></div>\n <div>\n {widgets}\n </div>\n </>\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ export default function SlotShowcasePage(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Slot } from '../../../runtime';
3
+ import HorizontalSlotLayout from './HorizontalSlotLayout';
4
+ import LayoutWithOptions from './LayoutWithOptions';
5
+ export default function SlotShowcasePage() {
6
+ return (_jsxs("div", { className: "p-3", children: [_jsx("h1", { children: "Slot Showcase" }), _jsxs("p", { children: ["As a best practice, widgets should pass additional props (", _jsx("code", { children: "...props" }), ") to their rendered HTMLElement. This accomplishes two things:"] }), _jsxs("ul", { children: [_jsxs("li", { children: ["It allows custom layouts to add ", _jsx("code", { children: "className" }), " and ", _jsx("code", { children: "style" }), " props as necessary for the layout."] }), _jsx("li", { children: "It allows widgets to be effectively \"wrapped\" by a parent component to alter their behavior." })] }), _jsx("h3", { children: "Simple slot with default layout" }), _jsx("p", { children: "This slot has no opinionated layout, it just renders its children." }), _jsx(Slot, { id: "org.openedx.frontend.slot.dev.slotShowcaseSimple" }), _jsx("h3", { children: "Simple slot with default content and props" }), _jsx("p", { children: "This slot has default content, and it exposes a slot prop to widgets." }), _jsx(Slot, { id: "org.openedx.frontend.slot.dev.slotShowcaseSimpleWithDefaultContent", aSlotProp: "hello!", children: _jsx("div", { children: "Look, I'm default content!" }) }), _jsx("h2", { children: "UI Layout Operations" }), _jsx("h3", { children: "Slot with custom layout" }), _jsx("p", { children: "This slot uses a horizontal flexbox layout from a component." }), _jsx(Slot, { id: "org.openedx.frontend.slot.dev.slotShowcaseCustom", layout: HorizontalSlotLayout }), _jsx("p", { children: "This slot uses a horizontal flexbox layout from a JSX element." }), _jsx(Slot, { id: "org.openedx.frontend.slot.dev.slotShowcaseCustom", layout: _jsx(HorizontalSlotLayout, {}) }), _jsx("h3", { children: "Slot with override custom layout" }), _jsx("p", { children: "This slot uses a horizontal flexbox layout, but it was added by a layout replace operation." }), _jsx(Slot, { id: "org.openedx.frontend.slot.dev.slotShowcaseCustomConfig" }), _jsx("h3", { children: "Slot with layout options" }), _jsx("p", { children: "These slots use a custom layout that takes options. The first shows the default title, the second shows it set to \"Bar\"" }), _jsx(Slot, { id: "org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptionsDefault", layout: LayoutWithOptions }), _jsx(Slot, { id: "org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptions", layout: LayoutWithOptions }), _jsx("h2", { children: "UI Widget Operations" }), _jsx("h3", { children: "Slot with prepended element" }), _jsx("p", { children: "This slot has a prepended element (and two appended elements)." }), _jsx(Slot, { id: "org.openedx.frontend.slot.dev.slotShowcasePrepending" }), _jsx("h3", { children: "Slot with inserted elements" }), _jsxs("p", { children: ["This slot has elements inserted before and after the second element. Also note that the insert operations are declared ", _jsx("em", { children: "before" }), " the related element is declared, but can still insert themselves relative to it."] }), _jsx(Slot, { id: "org.openedx.frontend.slot.dev.slotShowcaseInserting" }), _jsx("h3", { children: "Slot with replaced element" }), _jsx("p", { children: "This slot has an element replacing element two." }), _jsx(Slot, { id: "org.openedx.frontend.slot.dev.slotShowcaseReplacing" }), _jsx("h3", { children: "Slot with removed element" }), _jsxs("p", { children: ["This slot has removed element two (", _jsx("code", { children: "WidgetOperationTypes.REMOVE" }), ")."] }), _jsx(Slot, { id: "org.openedx.frontend.slot.dev.slotShowcaseRemoving" }), _jsx("h3", { children: "Slot with widget with options." }), _jsx("p", { children: "Both widgets accept options. The first shows the default title, the second shows it set to \"Bar\"" }), _jsx(Slot, { id: "org.openedx.frontend.slot.dev.slotShowcaseWidgetOptions" })] }));
7
+ }
8
+ //# sourceMappingURL=SlotShowcasePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlotShowcasePage.js","sourceRoot":"","sources":["../../../../shell/dev/slotShowcase/SlotShowcasePage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,OAAO,UAAU,gBAAgB;IACtC,OAAO,CACL,eAAK,SAAS,EAAC,KAAK,aAClB,yCAAsB,EAEtB,sFAA6D,sCAAqB,sEAAkE,EACpJ,yBACE,6DAAoC,uCAAsB,WAAK,mCAAkB,2CAAwC,EACzH,0HAA+G,IAC5G,EAEL,2DAAwC,EACxC,6FAAyE,EACzE,KAAC,IAAI,IAAC,EAAE,EAAC,kDAAkD,GAAG,EAE9D,sEAAmD,EACnD,gGAA4E,EAC5E,KAAC,IAAI,IAAC,EAAE,EAAC,oEAAoE,EAAC,SAAS,EAAC,QAAQ,YAC9F,uDAA0C,GACrC,EAEP,gDAA6B,EAE7B,mDAAgC,EAChC,uFAAmE,EACnE,KAAC,IAAI,IAAC,EAAE,EAAC,kDAAkD,EAAC,MAAM,EAAE,oBAAoB,GAAI,EAC5F,yFAAqE,EACrE,KAAC,IAAI,IAAC,EAAE,EAAC,kDAAkD,EAAC,MAAM,EAAE,KAAC,oBAAoB,KAAG,GAAI,EAEhG,4DAAyC,EACzC,sHAAkG,EAClG,KAAC,IAAI,IAAC,EAAE,EAAC,wDAAwD,GAAG,EAEpE,oDAAiC,EACjC,qJAAyI,EACzI,KAAC,IAAI,IAAC,EAAE,EAAC,oEAAoE,EAAC,MAAM,EAAE,iBAAiB,GAAI,EAC3G,KAAC,IAAI,IAAC,EAAE,EAAC,6DAA6D,EAAC,MAAM,EAAE,iBAAiB,GAAI,EAEpG,gDAA6B,EAE7B,uDAAoC,EACpC,yFAAqE,EACrE,KAAC,IAAI,IAAC,EAAE,EAAC,sDAAsD,GAAG,EAElE,uDAAoC,EACpC,mJAA0H,kCAAe,yFAAqF,EAC9N,KAAC,IAAI,IAAC,EAAE,EAAC,qDAAqD,GAAG,EAEjE,sDAAmC,EACnC,0EAAsD,EACtD,KAAC,IAAI,IAAC,EAAE,EAAC,qDAAqD,GAAG,EAEjE,qDAAkC,EAClC,+DAAsC,yDAAwC,UAAM,EACpF,KAAC,IAAI,IAAC,EAAE,EAAC,oDAAoD,GAAG,EAEhE,0DAAuC,EACvC,8HAAkH,EAClH,KAAC,IAAI,IAAC,EAAE,EAAC,yDAAyD,GAAG,IACjE,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { Slot } from '../../../runtime';\nimport HorizontalSlotLayout from './HorizontalSlotLayout';\nimport LayoutWithOptions from './LayoutWithOptions';\n\nexport default function SlotShowcasePage() {\n return (\n <div className=\"p-3\">\n <h1>Slot Showcase</h1>\n\n <p>As a best practice, widgets should pass additional props (<code>...props</code>) to their rendered HTMLElement. This accomplishes two things:</p>\n <ul>\n <li>It allows custom layouts to add <code>className</code> and <code>style</code> props as necessary for the layout.</li>\n <li>It allows widgets to be effectively &quot;wrapped&quot; by a parent component to alter their behavior.</li>\n </ul>\n\n <h3>Simple slot with default layout</h3>\n <p>This slot has no opinionated layout, it just renders its children.</p>\n <Slot id=\"org.openedx.frontend.slot.dev.slotShowcaseSimple\" />\n\n <h3>Simple slot with default content and props</h3>\n <p>This slot has default content, and it exposes a slot prop to widgets.</p>\n <Slot id=\"org.openedx.frontend.slot.dev.slotShowcaseSimpleWithDefaultContent\" aSlotProp=\"hello!\">\n <div>Look, I&apos;m default content!</div>\n </Slot>\n\n <h2>UI Layout Operations</h2>\n\n <h3>Slot with custom layout</h3>\n <p>This slot uses a horizontal flexbox layout from a component.</p>\n <Slot id=\"org.openedx.frontend.slot.dev.slotShowcaseCustom\" layout={HorizontalSlotLayout} />\n <p>This slot uses a horizontal flexbox layout from a JSX element.</p>\n <Slot id=\"org.openedx.frontend.slot.dev.slotShowcaseCustom\" layout={<HorizontalSlotLayout />} />\n\n <h3>Slot with override custom layout</h3>\n <p>This slot uses a horizontal flexbox layout, but it was added by a layout replace operation.</p>\n <Slot id=\"org.openedx.frontend.slot.dev.slotShowcaseCustomConfig\" />\n\n <h3>Slot with layout options</h3>\n <p>These slots use a custom layout that takes options. The first shows the default title, the second shows it set to &quot;Bar&quot;</p>\n <Slot id=\"org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptionsDefault\" layout={LayoutWithOptions} />\n <Slot id=\"org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptions\" layout={LayoutWithOptions} />\n\n <h2>UI Widget Operations</h2>\n\n <h3>Slot with prepended element</h3>\n <p>This slot has a prepended element (and two appended elements).</p>\n <Slot id=\"org.openedx.frontend.slot.dev.slotShowcasePrepending\" />\n\n <h3>Slot with inserted elements</h3>\n <p>This slot has elements inserted before and after the second element. Also note that the insert operations are declared <em>before</em> the related element is declared, but can still insert themselves relative to it.</p>\n <Slot id=\"org.openedx.frontend.slot.dev.slotShowcaseInserting\" />\n\n <h3>Slot with replaced element</h3>\n <p>This slot has an element replacing element two.</p>\n <Slot id=\"org.openedx.frontend.slot.dev.slotShowcaseReplacing\" />\n\n <h3>Slot with removed element</h3>\n <p>This slot has removed element two (<code>WidgetOperationTypes.REMOVE</code>).</p>\n <Slot id=\"org.openedx.frontend.slot.dev.slotShowcaseRemoving\" />\n\n <h3>Slot with widget with options.</h3>\n <p>Both widgets accept options. The first shows the default title, the second shows it set to &quot;Bar&quot;</p>\n <Slot id=\"org.openedx.frontend.slot.dev.slotShowcaseWidgetOptions\" />\n </div>\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ export default function WidgetWithOptions(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useWidgetOptions } from '../../../runtime';
3
+ export default function WidgetWithOptions() {
4
+ const options = useWidgetOptions();
5
+ const title = typeof options.title === 'string' ? options.title : 'Foo';
6
+ return (_jsx("div", { children: title }));
7
+ }
8
+ //# sourceMappingURL=WidgetWithOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetWithOptions.js","sourceRoot":"","sources":["../../../../shell/dev/slotShowcase/WidgetWithOptions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IAEnC,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAExE,OAAO,CACL,wBAAM,KAAK,GAAO,CACnB,CAAC;AACJ,CAAC","sourcesContent":["import { useWidgetOptions } from '../../../runtime';\n\nexport default function WidgetWithOptions() {\n const options = useWidgetOptions();\n\n const title = typeof options.title === 'string' ? options.title : 'Foo';\n\n return (\n <div>{title}</div>\n );\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import { App } from '../../../types';
2
+ declare const app: App;
3
+ export default app;
@@ -0,0 +1,336 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { NavDropdownMenuSlot } from '../..';
3
+ import LinkMenuItem from '../../menus/LinkMenuItem';
4
+ import { LayoutOperationTypes, WidgetOperationTypes, useSlotContext } from '../../../runtime';
5
+ import HorizontalSlotLayout from './HorizontalSlotLayout';
6
+ import SlotShowcasePage from './SlotShowcasePage';
7
+ import WidgetWithOptions from './WidgetWithOptions';
8
+ function Title({ title, op }) {
9
+ return (_jsxs("span", { children: [title, op && (_jsxs(_Fragment, { children: [' ', "(", _jsx("code", { children: op }), ")"] }))] }));
10
+ }
11
+ function Child({ title, op }) {
12
+ return (_jsxs("div", { children: [title, op && (_jsxs("span", { children: [' ', "(", _jsx("code", { children: op }), ")"] }))] }));
13
+ }
14
+ function TakesProps({ aSlotProp }) {
15
+ return (_jsxs("div", { children: ["And this is a slot prop that was passed down via props: ", _jsx("code", { children: aSlotProp })] }));
16
+ }
17
+ function TakesPropsViaContext() {
18
+ const slotContext = useSlotContext();
19
+ const aSlotProp = typeof slotContext.aSlotProp === 'string' ? slotContext.aSlotProp : 'foo';
20
+ return (_jsxs("div", { children: ["And this is the same prop, but accessed via slot context: ", _jsx("code", { children: aSlotProp })] }));
21
+ }
22
+ const app = {
23
+ appId: 'org.openedx.frontend.app.slotShowcase',
24
+ routes: [{
25
+ id: 'org.openedx.frontend.route.slotShowcase',
26
+ path: '/slots',
27
+ Component: SlotShowcasePage,
28
+ handle: {
29
+ role: 'org.openedx.frontend.role.slotShowcase',
30
+ }
31
+ }],
32
+ slots: [
33
+ // Simple
34
+ {
35
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseSimple',
36
+ id: 'org.openedx.frontend.widget.slotShowcase.simpleChild1',
37
+ op: WidgetOperationTypes.APPEND,
38
+ element: (_jsx(Child, { title: "Child One" }))
39
+ },
40
+ {
41
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseSimple',
42
+ id: 'org.openedx.frontend.widget.slotShowcase.simpleChild2',
43
+ op: WidgetOperationTypes.APPEND,
44
+ element: (_jsx(Child, { title: "Child Two" }))
45
+ },
46
+ {
47
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseSimple',
48
+ id: 'org.openedx.frontend.widget.slotShowcase.simpleChild3',
49
+ op: WidgetOperationTypes.APPEND,
50
+ element: (_jsx(Child, { title: "Child Three" }))
51
+ },
52
+ {
53
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseSimpleWithDefaultContent',
54
+ id: 'org.openedx.frontend.widget.slotShowcase.simpleChild4',
55
+ op: WidgetOperationTypes.APPEND,
56
+ component: TakesProps
57
+ },
58
+ {
59
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseSimpleWithDefaultContent',
60
+ id: 'org.openedx.frontend.widget.slotShowcase.simpleChild5',
61
+ op: WidgetOperationTypes.APPEND,
62
+ component: TakesPropsViaContext
63
+ },
64
+ // Custom Layout
65
+ {
66
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustom',
67
+ id: 'org.openedx.frontend.widget.slotShowcase.customChild1',
68
+ op: WidgetOperationTypes.APPEND,
69
+ element: (_jsx(Child, { title: "Child One" }))
70
+ },
71
+ {
72
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustom',
73
+ id: 'org.openedx.frontend.widget.slotShowcase.customChild2',
74
+ op: WidgetOperationTypes.APPEND,
75
+ element: (_jsx(Child, { title: "Child Two" }))
76
+ },
77
+ {
78
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustom',
79
+ id: 'org.openedx.frontend.widget.slotShowcase.customChild3',
80
+ op: WidgetOperationTypes.APPEND,
81
+ element: (_jsx(Child, { title: "Child Three" }))
82
+ },
83
+ // Override custom layout
84
+ {
85
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustomConfig',
86
+ id: 'org.openedx.frontend.widget.slotShowcase.customConfigChild1',
87
+ op: WidgetOperationTypes.APPEND,
88
+ element: (_jsx(Child, { title: "Child One" }))
89
+ },
90
+ {
91
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustomConfig',
92
+ id: 'org.openedx.frontend.widget.slotShowcase.customConfigChild2',
93
+ op: WidgetOperationTypes.APPEND,
94
+ element: (_jsx(Child, { title: "Child Two" }))
95
+ },
96
+ {
97
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustomConfig',
98
+ id: 'org.openedx.frontend.widget.slotShowcase.customConfigChild3',
99
+ op: WidgetOperationTypes.APPEND,
100
+ element: (_jsx(Child, { title: "Child Three" }))
101
+ },
102
+ {
103
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustomConfig',
104
+ op: LayoutOperationTypes.REPLACE,
105
+ element: _jsx(HorizontalSlotLayout, {}),
106
+ },
107
+ // Layout Options
108
+ {
109
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptions',
110
+ op: LayoutOperationTypes.OPTIONS,
111
+ options: {
112
+ title: (_jsx(Title, { title: "Bar", op: "LayoutOperationTypes.OPTIONS" })),
113
+ }
114
+ },
115
+ {
116
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptions',
117
+ id: 'org.openedx.frontend.widget.slotShowcase.layoutWithOptionsChild1',
118
+ op: WidgetOperationTypes.APPEND,
119
+ element: (_jsx(Child, { title: "Child One" }))
120
+ },
121
+ {
122
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptions',
123
+ id: 'org.openedx.frontend.widget.slotShowcase.layoutWithOptionsChild2',
124
+ op: WidgetOperationTypes.APPEND,
125
+ element: (_jsx(Child, { title: "Child Two" }))
126
+ },
127
+ {
128
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptions',
129
+ id: 'org.openedx.frontend.widget.slotShowcase.layoutWithOptionsChild3',
130
+ op: WidgetOperationTypes.APPEND,
131
+ element: (_jsx(Child, { title: "Child Three" }))
132
+ },
133
+ {
134
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptionsDefault',
135
+ id: 'org.openedx.frontend.widget.slotShowcase.layoutWithOptionsDefaultChild1',
136
+ op: WidgetOperationTypes.APPEND,
137
+ element: (_jsx(Child, { title: "Child One" }))
138
+ },
139
+ {
140
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptionsDefault',
141
+ id: 'org.openedx.frontend.widget.slotShowcase.layoutWithOptionsDefaultChild2',
142
+ op: WidgetOperationTypes.APPEND,
143
+ element: (_jsx(Child, { title: "Child Two" }))
144
+ },
145
+ {
146
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptionsDefault',
147
+ id: 'org.openedx.frontend.widget.slotShowcase.layoutWithOptionsDefaultChild3',
148
+ op: WidgetOperationTypes.APPEND,
149
+ element: (_jsx(Child, { title: "Child Three" }))
150
+ },
151
+ // TODO: Override Layout
152
+ // Prepending
153
+ {
154
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcasePrepending',
155
+ id: 'org.openedx.frontend.widget.slotShowcase.prependingChild1',
156
+ op: WidgetOperationTypes.APPEND,
157
+ element: (_jsx(Child, { title: "Child One", op: "WidgetOperationTypes.APPEND" }))
158
+ },
159
+ {
160
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcasePrepending',
161
+ id: 'org.openedx.frontend.widget.slotShowcase.prependingChild2',
162
+ op: WidgetOperationTypes.APPEND,
163
+ element: (_jsx(Child, { title: "Child Two", op: "WidgetOperationTypes.APPEND" }))
164
+ },
165
+ {
166
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcasePrepending',
167
+ id: 'org.openedx.frontend.widget.slotShowcase.prependingChild3',
168
+ op: WidgetOperationTypes.PREPEND,
169
+ element: (_jsx(Child, { title: "Child Three", op: "WidgetOperationTypes.PREPEND" }))
170
+ },
171
+ // Inserting
172
+ {
173
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseInserting',
174
+ id: 'slot-showcase.inserting.child4',
175
+ op: WidgetOperationTypes.INSERT_AFTER,
176
+ relatedId: 'org.openedx.frontend.widget.slotShowcase.insertingChild2',
177
+ element: (_jsx(Child, { title: "Child Four", op: "WidgetOperationTypes.INSERT_AFTER" }))
178
+ },
179
+ {
180
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseInserting',
181
+ id: 'slot-showcase.inserting.child5',
182
+ op: WidgetOperationTypes.INSERT_BEFORE,
183
+ relatedId: 'org.openedx.frontend.widget.slotShowcase.insertingChild2',
184
+ element: (_jsx(Child, { title: "Child Five", op: "WidgetOperationTypes.INSERT_BEFORE" }))
185
+ },
186
+ {
187
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseInserting',
188
+ id: 'org.openedx.frontend.widget.slotShowcase.insertingChild1',
189
+ op: WidgetOperationTypes.APPEND,
190
+ element: (_jsx(Child, { title: "Child One" }))
191
+ },
192
+ {
193
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseInserting',
194
+ id: 'org.openedx.frontend.widget.slotShowcase.insertingChild2',
195
+ op: WidgetOperationTypes.APPEND,
196
+ element: (_jsx(Child, { title: "Child Two" }))
197
+ },
198
+ {
199
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseInserting',
200
+ id: 'org.openedx.frontend.widget.slotShowcase.insertingChild3',
201
+ op: WidgetOperationTypes.APPEND,
202
+ element: (_jsx(Child, { title: "Child Three" }))
203
+ },
204
+ // Replacing
205
+ {
206
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseReplacing',
207
+ id: 'org.openedx.frontend.widget.slotShowcase.replacingChild1',
208
+ op: WidgetOperationTypes.APPEND,
209
+ element: (_jsx(Child, { title: "Child One" }))
210
+ },
211
+ {
212
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseReplacing',
213
+ id: 'org.openedx.frontend.widget.slotShowcase.replacingChild2',
214
+ op: WidgetOperationTypes.APPEND,
215
+ element: (_jsx(Child, { title: "Child Two" }))
216
+ },
217
+ {
218
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseReplacing',
219
+ id: 'org.openedx.frontend.widget.slotShowcase.replacingChild3',
220
+ op: WidgetOperationTypes.APPEND,
221
+ element: (_jsx(Child, { title: "Child Three" }))
222
+ },
223
+ {
224
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseReplacing',
225
+ id: 'org.openedx.frontend.widget.slotShowcase.replacingChild4',
226
+ op: WidgetOperationTypes.REPLACE,
227
+ relatedId: 'org.openedx.frontend.widget.slotShowcase.replacingChild2',
228
+ element: (_jsx(Child, { title: "Child Four", op: "WidgetOperationTypes.REPLACE" }))
229
+ },
230
+ // Hiding
231
+ {
232
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseRemoving',
233
+ id: 'org.openedx.frontend.widget.slotShowcase.removingChild1',
234
+ op: WidgetOperationTypes.APPEND,
235
+ element: (_jsx(Child, { title: "Child One" }))
236
+ },
237
+ {
238
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseRemoving',
239
+ id: 'org.openedx.frontend.widget.slotShowcase.removingChild2',
240
+ op: WidgetOperationTypes.APPEND,
241
+ element: (_jsx(Child, { title: "Child Two" }))
242
+ },
243
+ {
244
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseRemoving',
245
+ id: 'org.openedx.frontend.widget.slotShowcase.removingChild3',
246
+ op: WidgetOperationTypes.APPEND,
247
+ element: (_jsx(Child, { title: "Child Three" }))
248
+ },
249
+ {
250
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseRemoving',
251
+ op: WidgetOperationTypes.REMOVE,
252
+ relatedId: 'org.openedx.frontend.widget.slotShowcase.removingChild2',
253
+ },
254
+ // Widget Options
255
+ {
256
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseWidgetOptions',
257
+ id: 'org.openedx.frontend.widget.slotShowcase.widgetOptionsChild1',
258
+ op: WidgetOperationTypes.APPEND,
259
+ component: WidgetWithOptions,
260
+ },
261
+ {
262
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseWidgetOptions',
263
+ id: 'org.openedx.frontend.widget.slotShowcase.widgetOptionsChild2',
264
+ op: WidgetOperationTypes.APPEND,
265
+ component: WidgetWithOptions,
266
+ },
267
+ {
268
+ slotId: 'org.openedx.frontend.slot.dev.slotShowcaseWidgetOptions',
269
+ relatedId: 'org.openedx.frontend.widget.slotShowcase.widgetOptionsChild2',
270
+ op: WidgetOperationTypes.OPTIONS,
271
+ options: {
272
+ title: (_jsx(Title, { title: "Bar", op: "WidgetOperationTypes.OPTIONS" })),
273
+ }
274
+ },
275
+ // Header
276
+ {
277
+ slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',
278
+ relatedId: 'org.openedx.frontend.widget.slotShowcase.headerLink',
279
+ op: WidgetOperationTypes.OPTIONS,
280
+ options: {
281
+ title: 'Courses (modified)',
282
+ },
283
+ condition: {
284
+ active: ['org.openedx.frontend.role.slotShowcase'],
285
+ }
286
+ },
287
+ {
288
+ slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',
289
+ id: 'org.openedx.frontend.widget.slotShowcase.headerLinkAfter3',
290
+ op: WidgetOperationTypes.INSERT_AFTER,
291
+ relatedId: 'org.openedx.frontend.widget.slotShowcase.headerLink3',
292
+ element: (_jsx(LinkMenuItem, { label: "Link After 3", url: "#", variant: "navLink" })),
293
+ condition: {
294
+ active: ['org.openedx.frontend.role.slotShowcase'],
295
+ }
296
+ },
297
+ {
298
+ slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',
299
+ id: 'org.openedx.frontend.widget.slotShowcase.headerPrimaryLinksDropdownPrepend',
300
+ op: WidgetOperationTypes.PREPEND,
301
+ element: (_jsx(NavDropdownMenuSlot, { id: "org.openedx.frontend.slot.header.primaryLinksDropdown.v1", label: "Resources" })),
302
+ condition: {
303
+ active: ['org.openedx.frontend.role.slotShowcase']
304
+ }
305
+ },
306
+ {
307
+ slotId: 'org.openedx.frontend.slot.header.primaryLinksDropdown.v1',
308
+ id: 'org.openedx.frontend.widget.slotShowcase.headerPrimaryLinksDropdownAppend',
309
+ op: WidgetOperationTypes.APPEND,
310
+ element: (_jsx(LinkMenuItem, { label: "Resource 1", url: "#", variant: "dropdownItem" })),
311
+ condition: {
312
+ active: ['org.openedx.frontend.role.slotShowcase'],
313
+ }
314
+ },
315
+ {
316
+ slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',
317
+ id: 'org.openedx.frontend.widget.slotShowcase.headerLink3',
318
+ op: WidgetOperationTypes.APPEND,
319
+ element: (_jsx(LinkMenuItem, { label: "Link 3", url: "#", variant: "navLink" })),
320
+ condition: {
321
+ active: ['org.openedx.frontend.role.slotShowcase'],
322
+ }
323
+ },
324
+ {
325
+ slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',
326
+ id: 'org.openedx.frontend.widget.slotShowcase.headerLink4',
327
+ op: WidgetOperationTypes.APPEND,
328
+ element: (_jsx(LinkMenuItem, { label: "Link 4", url: "#", variant: "navLink" })),
329
+ condition: {
330
+ active: ['org.openedx.frontend.role.slotShowcase'],
331
+ }
332
+ },
333
+ ]
334
+ };
335
+ export default app;
336
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../shell/dev/slotShowcase/app.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9F,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,SAAS,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAkC;IAC1D,OAAO,CACL,2BACG,KAAK,EACL,EAAE,IAAI,CACL,8BAAG,GAAG,OAAE,yBAAO,EAAE,GAAQ,SAAI,CAC9B,IACI,CACR,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAkC;IAC1D,OAAO,CACL,0BACG,KAAK,EACL,EAAE,IAAI,CACL,2BAAO,GAAG,OAAE,yBAAO,EAAE,GAAQ,SAAQ,CACtC,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAyB;IACtD,OAAO,CACL,sFAA6D,yBAAO,SAAS,GAAQ,IAAM,CAC5F,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5F,OAAO,CACL,wFAA+D,yBAAO,SAAS,GAAQ,IAAM,CAC9F,CAAC;AACJ,CAAC;AAED,MAAM,GAAG,GAAQ;IACf,KAAK,EAAE,uCAAuC;IAC9C,MAAM,EAAE,CAAC;YACP,EAAE,EAAE,yCAAyC;YAC7C,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE;gBACN,IAAI,EAAE,wCAAwC;aAC/C;SACF,CAAC;IACF,KAAK,EAAE;QACL,SAAS;QACT;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,uDAAuD;YAC3D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,uDAAuD;YAC3D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,uDAAuD;YAC3D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,aAAa,GAAG,CAAC;SACzC;QACD;YACE,MAAM,EAAE,oEAAoE;YAC5E,EAAE,EAAE,uDAAuD;YAC3D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,SAAS,EAAE,UAAU;SACtB;QACD;YACE,MAAM,EAAE,oEAAoE;YAC5E,EAAE,EAAE,uDAAuD;YAC3D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,SAAS,EAAE,oBAAoB;SAChC;QAED,gBAAgB;QAChB;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,uDAAuD;YAC3D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,uDAAuD;YAC3D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,uDAAuD;YAC3D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,aAAa,GAAG,CAAC;SACzC;QAED,yBAAyB;QACzB;YACE,MAAM,EAAE,wDAAwD;YAChE,EAAE,EAAE,6DAA6D;YACjE,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,wDAAwD;YAChE,EAAE,EAAE,6DAA6D;YACjE,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,wDAAwD;YAChE,EAAE,EAAE,6DAA6D;YACjE,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,aAAa,GAAG,CAAC;SACzC;QACD;YACE,MAAM,EAAE,wDAAwD;YAChE,EAAE,EAAE,oBAAoB,CAAC,OAAO;YAChC,OAAO,EAAE,KAAC,oBAAoB,KAAG;SAClC;QAED,iBAAiB;QACjB;YACE,MAAM,EAAE,6DAA6D;YACrE,EAAE,EAAE,oBAAoB,CAAC,OAAO;YAChC,OAAO,EAAE;gBACP,KAAK,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,KAAK,EAAC,EAAE,EAAC,8BAA8B,GAAG,CAAC;aACjE;SACF;QACD;YACE,MAAM,EAAE,6DAA6D;YACrE,EAAE,EAAE,kEAAkE;YACtE,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,6DAA6D;YACrE,EAAE,EAAE,kEAAkE;YACtE,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,6DAA6D;YACrE,EAAE,EAAE,kEAAkE;YACtE,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,aAAa,GAAG,CAAC;SACzC;QACD;YACE,MAAM,EAAE,oEAAoE;YAC5E,EAAE,EAAE,yEAAyE;YAC7E,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,oEAAoE;YAC5E,EAAE,EAAE,yEAAyE;YAC7E,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,oEAAoE;YAC5E,EAAE,EAAE,yEAAyE;YAC7E,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,aAAa,GAAG,CAAC;SACzC;QAED,wBAAwB;QAExB,aAAa;QACb;YACE,MAAM,EAAE,sDAAsD;YAC9D,EAAE,EAAE,2DAA2D;YAC/D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,EAAC,EAAE,EAAC,6BAA6B,GAAG,CAAC;SACxE;QACD;YACE,MAAM,EAAE,sDAAsD;YAC9D,EAAE,EAAE,2DAA2D;YAC/D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,EAAC,EAAE,EAAC,6BAA6B,GAAG,CAAC;SACxE;QACD;YACE,MAAM,EAAE,sDAAsD;YAC9D,EAAE,EAAE,2DAA2D;YAC/D,EAAE,EAAE,oBAAoB,CAAC,OAAO;YAChC,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,aAAa,EAAC,EAAE,EAAC,8BAA8B,GAAG,CAAC;SAC3E;QAED,YAAY;QACZ;YACE,MAAM,EAAE,qDAAqD;YAC7D,EAAE,EAAE,gCAAgC;YACpC,EAAE,EAAE,oBAAoB,CAAC,YAAY;YACrC,SAAS,EAAE,0DAA0D;YACrE,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,YAAY,EAAC,EAAE,EAAC,mCAAmC,GAAG,CAAC;SAC/E;QACD;YACE,MAAM,EAAE,qDAAqD;YAC7D,EAAE,EAAE,gCAAgC;YACpC,EAAE,EAAE,oBAAoB,CAAC,aAAa;YACtC,SAAS,EAAE,0DAA0D;YACrE,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,YAAY,EAAC,EAAE,EAAC,oCAAoC,GAAG,CAAC;SAChF;QACD;YACE,MAAM,EAAE,qDAAqD;YAC7D,EAAE,EAAE,0DAA0D;YAC9D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,qDAAqD;YAC7D,EAAE,EAAE,0DAA0D;YAC9D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,qDAAqD;YAC7D,EAAE,EAAE,0DAA0D;YAC9D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,aAAa,GAAG,CAAC;SACzC;QAED,YAAY;QACZ;YACE,MAAM,EAAE,qDAAqD;YAC7D,EAAE,EAAE,0DAA0D;YAC9D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,qDAAqD;YAC7D,EAAE,EAAE,0DAA0D;YAC9D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,qDAAqD;YAC7D,EAAE,EAAE,0DAA0D;YAC9D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,aAAa,GAAG,CAAC;SACzC;QACD;YACE,MAAM,EAAE,qDAAqD;YAC7D,EAAE,EAAE,0DAA0D;YAC9D,EAAE,EAAE,oBAAoB,CAAC,OAAO;YAChC,SAAS,EAAE,0DAA0D;YACrE,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,YAAY,EAAC,EAAE,EAAC,8BAA8B,GAAG,CAAC;SAC1E;QAED,SAAS;QACT;YACE,MAAM,EAAE,oDAAoD;YAC5D,EAAE,EAAE,yDAAyD;YAC7D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,oDAAoD;YAC5D,EAAE,EAAE,yDAAyD;YAC7D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,GAAG,CAAC;SACvC;QACD;YACE,MAAM,EAAE,oDAAoD;YAC5D,EAAE,EAAE,yDAAyD;YAC7D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,aAAa,GAAG,CAAC;SACzC;QACD;YACE,MAAM,EAAE,oDAAoD;YAC5D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,SAAS,EAAE,yDAAyD;SACrE;QAED,iBAAiB;QACjB;YACE,MAAM,EAAE,yDAAyD;YACjE,EAAE,EAAE,8DAA8D;YAClE,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,SAAS,EAAE,iBAAiB;SAC7B;QACD;YACE,MAAM,EAAE,yDAAyD;YACjE,EAAE,EAAE,8DAA8D;YAClE,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,SAAS,EAAE,iBAAiB;SAC7B;QACD;YACE,MAAM,EAAE,yDAAyD;YACjE,SAAS,EAAE,8DAA8D;YACzE,EAAE,EAAE,oBAAoB,CAAC,OAAO;YAChC,OAAO,EAAE;gBACP,KAAK,EAAE,CAAC,KAAC,KAAK,IAAC,KAAK,EAAC,KAAK,EAAC,EAAE,EAAC,8BAA8B,GAAG,CAAC;aACjE;SACF;QAED,SAAS;QACT;YACE,MAAM,EAAE,kDAAkD;YAC1D,SAAS,EAAE,qDAAqD;YAChE,EAAE,EAAE,oBAAoB,CAAC,OAAO;YAChC,OAAO,EAAE;gBACP,KAAK,EAAE,oBAAoB;aAC5B;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,wCAAwC,CAAC;aACnD;SACF;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,2DAA2D;YAC/D,EAAE,EAAE,oBAAoB,CAAC,YAAY;YACrC,SAAS,EAAE,sDAAsD;YACjE,OAAO,EAAE,CAAC,KAAC,YAAY,IAAC,KAAK,EAAC,cAAc,EAAC,GAAG,EAAC,GAAG,EAAC,OAAO,EAAC,SAAS,GAAG,CAAC;YAC1E,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,wCAAwC,CAAC;aACnD;SACF;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,4EAA4E;YAChF,EAAE,EAAE,oBAAoB,CAAC,OAAO;YAChC,OAAO,EAAE,CACP,KAAC,mBAAmB,IAAC,EAAE,EAAC,0DAA0D,EAAC,KAAK,EAAC,WAAW,GAAG,CACxG;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,wCAAwC,CAAC;aACnD;SACF;QACD;YACE,MAAM,EAAE,0DAA0D;YAClE,EAAE,EAAE,2EAA2E;YAC/E,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CACP,KAAC,YAAY,IAAC,KAAK,EAAC,YAAY,EAAC,GAAG,EAAC,GAAG,EAAC,OAAO,EAAC,cAAc,GAAG,CACnE;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,wCAAwC,CAAC;aACnD;SACF;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,sDAAsD;YAC1D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,YAAY,IAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAC,OAAO,EAAC,SAAS,GAAG,CAAC;YACpE,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,wCAAwC,CAAC;aACnD;SACF;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,sDAAsD;YAC1D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CAAC,KAAC,YAAY,IAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAC,OAAO,EAAC,SAAS,GAAG,CAAC;YACpE,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,wCAAwC,CAAC;aACnD;SACF;KACF;CACF,CAAC;AAEF,eAAe,GAAG,CAAC","sourcesContent":["import { NavDropdownMenuSlot } from '../..';\nimport LinkMenuItem from '../../menus/LinkMenuItem';\nimport { LayoutOperationTypes, WidgetOperationTypes, useSlotContext } from '../../../runtime';\nimport { App } from '../../../types';\nimport HorizontalSlotLayout from './HorizontalSlotLayout';\nimport SlotShowcasePage from './SlotShowcasePage';\nimport WidgetWithOptions from './WidgetWithOptions';\n\nfunction Title({ title, op }: { title: string, op?: string }) {\n return (\n <span>\n {title}\n {op && (\n <>{' '}(<code>{op}</code>)</>\n )}\n </span>\n );\n}\n\nfunction Child({ title, op }: { title: string, op?: string }) {\n return (\n <div>\n {title}\n {op && (\n <span>{' '}(<code>{op}</code>)</span>\n )}\n </div>\n );\n}\n\nfunction TakesProps({ aSlotProp }: { aSlotProp: string }) {\n return (\n <div>And this is a slot prop that was passed down via props: <code>{aSlotProp}</code></div>\n );\n}\n\nfunction TakesPropsViaContext() {\n const slotContext = useSlotContext();\n const aSlotProp = typeof slotContext.aSlotProp === 'string' ? slotContext.aSlotProp : 'foo';\n return (\n <div>And this is the same prop, but accessed via slot context: <code>{aSlotProp}</code></div>\n );\n}\n\nconst app: App = {\n appId: 'org.openedx.frontend.app.slotShowcase',\n routes: [{\n id: 'org.openedx.frontend.route.slotShowcase',\n path: '/slots',\n Component: SlotShowcasePage,\n handle: {\n role: 'org.openedx.frontend.role.slotShowcase',\n }\n }],\n slots: [\n // Simple\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseSimple',\n id: 'org.openedx.frontend.widget.slotShowcase.simpleChild1',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child One\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseSimple',\n id: 'org.openedx.frontend.widget.slotShowcase.simpleChild2',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Two\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseSimple',\n id: 'org.openedx.frontend.widget.slotShowcase.simpleChild3',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Three\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseSimpleWithDefaultContent',\n id: 'org.openedx.frontend.widget.slotShowcase.simpleChild4',\n op: WidgetOperationTypes.APPEND,\n component: TakesProps\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseSimpleWithDefaultContent',\n id: 'org.openedx.frontend.widget.slotShowcase.simpleChild5',\n op: WidgetOperationTypes.APPEND,\n component: TakesPropsViaContext\n },\n\n // Custom Layout\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustom',\n id: 'org.openedx.frontend.widget.slotShowcase.customChild1',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child One\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustom',\n id: 'org.openedx.frontend.widget.slotShowcase.customChild2',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Two\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustom',\n id: 'org.openedx.frontend.widget.slotShowcase.customChild3',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Three\" />)\n },\n\n // Override custom layout\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustomConfig',\n id: 'org.openedx.frontend.widget.slotShowcase.customConfigChild1',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child One\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustomConfig',\n id: 'org.openedx.frontend.widget.slotShowcase.customConfigChild2',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Two\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustomConfig',\n id: 'org.openedx.frontend.widget.slotShowcase.customConfigChild3',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Three\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseCustomConfig',\n op: LayoutOperationTypes.REPLACE,\n element: <HorizontalSlotLayout />,\n },\n\n // Layout Options\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptions',\n op: LayoutOperationTypes.OPTIONS,\n options: {\n title: (<Title title=\"Bar\" op=\"LayoutOperationTypes.OPTIONS\" />),\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptions',\n id: 'org.openedx.frontend.widget.slotShowcase.layoutWithOptionsChild1',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child One\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptions',\n id: 'org.openedx.frontend.widget.slotShowcase.layoutWithOptionsChild2',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Two\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptions',\n id: 'org.openedx.frontend.widget.slotShowcase.layoutWithOptionsChild3',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Three\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptionsDefault',\n id: 'org.openedx.frontend.widget.slotShowcase.layoutWithOptionsDefaultChild1',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child One\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptionsDefault',\n id: 'org.openedx.frontend.widget.slotShowcase.layoutWithOptionsDefaultChild2',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Two\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseLayoutWithOptionsDefault',\n id: 'org.openedx.frontend.widget.slotShowcase.layoutWithOptionsDefaultChild3',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Three\" />)\n },\n\n // TODO: Override Layout\n\n // Prepending\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcasePrepending',\n id: 'org.openedx.frontend.widget.slotShowcase.prependingChild1',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child One\" op=\"WidgetOperationTypes.APPEND\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcasePrepending',\n id: 'org.openedx.frontend.widget.slotShowcase.prependingChild2',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Two\" op=\"WidgetOperationTypes.APPEND\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcasePrepending',\n id: 'org.openedx.frontend.widget.slotShowcase.prependingChild3',\n op: WidgetOperationTypes.PREPEND,\n element: (<Child title=\"Child Three\" op=\"WidgetOperationTypes.PREPEND\" />)\n },\n\n // Inserting\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseInserting',\n id: 'slot-showcase.inserting.child4',\n op: WidgetOperationTypes.INSERT_AFTER,\n relatedId: 'org.openedx.frontend.widget.slotShowcase.insertingChild2',\n element: (<Child title=\"Child Four\" op=\"WidgetOperationTypes.INSERT_AFTER\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseInserting',\n id: 'slot-showcase.inserting.child5',\n op: WidgetOperationTypes.INSERT_BEFORE,\n relatedId: 'org.openedx.frontend.widget.slotShowcase.insertingChild2',\n element: (<Child title=\"Child Five\" op=\"WidgetOperationTypes.INSERT_BEFORE\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseInserting',\n id: 'org.openedx.frontend.widget.slotShowcase.insertingChild1',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child One\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseInserting',\n id: 'org.openedx.frontend.widget.slotShowcase.insertingChild2',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Two\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseInserting',\n id: 'org.openedx.frontend.widget.slotShowcase.insertingChild3',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Three\" />)\n },\n\n // Replacing\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseReplacing',\n id: 'org.openedx.frontend.widget.slotShowcase.replacingChild1',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child One\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseReplacing',\n id: 'org.openedx.frontend.widget.slotShowcase.replacingChild2',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Two\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseReplacing',\n id: 'org.openedx.frontend.widget.slotShowcase.replacingChild3',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Three\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseReplacing',\n id: 'org.openedx.frontend.widget.slotShowcase.replacingChild4',\n op: WidgetOperationTypes.REPLACE,\n relatedId: 'org.openedx.frontend.widget.slotShowcase.replacingChild2',\n element: (<Child title=\"Child Four\" op=\"WidgetOperationTypes.REPLACE\" />)\n },\n\n // Hiding\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseRemoving',\n id: 'org.openedx.frontend.widget.slotShowcase.removingChild1',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child One\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseRemoving',\n id: 'org.openedx.frontend.widget.slotShowcase.removingChild2',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Two\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseRemoving',\n id: 'org.openedx.frontend.widget.slotShowcase.removingChild3',\n op: WidgetOperationTypes.APPEND,\n element: (<Child title=\"Child Three\" />)\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseRemoving',\n op: WidgetOperationTypes.REMOVE,\n relatedId: 'org.openedx.frontend.widget.slotShowcase.removingChild2',\n },\n\n // Widget Options\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseWidgetOptions',\n id: 'org.openedx.frontend.widget.slotShowcase.widgetOptionsChild1',\n op: WidgetOperationTypes.APPEND,\n component: WidgetWithOptions,\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseWidgetOptions',\n id: 'org.openedx.frontend.widget.slotShowcase.widgetOptionsChild2',\n op: WidgetOperationTypes.APPEND,\n component: WidgetWithOptions,\n },\n {\n slotId: 'org.openedx.frontend.slot.dev.slotShowcaseWidgetOptions',\n relatedId: 'org.openedx.frontend.widget.slotShowcase.widgetOptionsChild2',\n op: WidgetOperationTypes.OPTIONS,\n options: {\n title: (<Title title=\"Bar\" op=\"WidgetOperationTypes.OPTIONS\" />),\n }\n },\n\n // Header\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n relatedId: 'org.openedx.frontend.widget.slotShowcase.headerLink',\n op: WidgetOperationTypes.OPTIONS,\n options: {\n title: 'Courses (modified)',\n },\n condition: {\n active: ['org.openedx.frontend.role.slotShowcase'],\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.slotShowcase.headerLinkAfter3',\n op: WidgetOperationTypes.INSERT_AFTER,\n relatedId: 'org.openedx.frontend.widget.slotShowcase.headerLink3',\n element: (<LinkMenuItem label=\"Link After 3\" url=\"#\" variant=\"navLink\" />),\n condition: {\n active: ['org.openedx.frontend.role.slotShowcase'],\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.slotShowcase.headerPrimaryLinksDropdownPrepend',\n op: WidgetOperationTypes.PREPEND,\n element: (\n <NavDropdownMenuSlot id=\"org.openedx.frontend.slot.header.primaryLinksDropdown.v1\" label=\"Resources\" />\n ),\n condition: {\n active: ['org.openedx.frontend.role.slotShowcase']\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinksDropdown.v1',\n id: 'org.openedx.frontend.widget.slotShowcase.headerPrimaryLinksDropdownAppend',\n op: WidgetOperationTypes.APPEND,\n element: (\n <LinkMenuItem label=\"Resource 1\" url=\"#\" variant=\"dropdownItem\" />\n ),\n condition: {\n active: ['org.openedx.frontend.role.slotShowcase'],\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.slotShowcase.headerLink3',\n op: WidgetOperationTypes.APPEND,\n element: (<LinkMenuItem label=\"Link 3\" url=\"#\" variant=\"navLink\" />),\n condition: {\n active: ['org.openedx.frontend.role.slotShowcase'],\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.slotShowcase.headerLink4',\n op: WidgetOperationTypes.APPEND,\n element: (<LinkMenuItem label=\"Link 4\" url=\"#\" variant=\"navLink\" />),\n condition: {\n active: ['org.openedx.frontend.role.slotShowcase'],\n }\n },\n ]\n};\n\nexport default app;\n"]}
@@ -0,0 +1,2 @@
1
+ export { default as slotShowcaseApp } from './app';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../shell/dev/slotShowcase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,OAAO,CAAC","sourcesContent":["export { default as slotShowcaseApp } from './app';\n"]}
@@ -0,0 +1 @@
1
+ export default function CenterLinks(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useWidgets } from '../../runtime';
3
+ export default function CenterLinks() {
4
+ const widgets = useWidgets();
5
+ return (_jsx("div", { className: "d-flex flex-wrap column-gap-6 row-gap-4", children: widgets }));
6
+ }
7
+ //# sourceMappingURL=CenterLinks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CenterLinks.js","sourceRoot":"","sources":["../../../shell/footer/CenterLinks.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,CAAC,OAAO,UAAU,WAAW;IACjC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,OAAO,CACL,cAAK,SAAS,EAAC,yCAAyC,YACrD,OAAO,GACJ,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useWidgets } from '../../runtime';\n\nexport default function CenterLinks() {\n const widgets = useWidgets();\n\n return (\n <div className=\"d-flex flex-wrap column-gap-6 row-gap-4\">\n {widgets}\n </div>\n );\n}\n"]}
@@ -0,0 +1,10 @@
1
+ interface CopyrightNoticeProps {
2
+ title?: string;
3
+ /**
4
+ * The URL that the copyright notice should link to when a user clicks on the title. If not set,
5
+ * the title will not be a link.
6
+ */
7
+ destination?: string;
8
+ }
9
+ export default function CopyrightNotice({ title, destination }: CopyrightNoticeProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,10 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Hyperlink } from '@openedx/paragon';
3
+ import { useSiteConfig } from '../../runtime';
4
+ export default function CopyrightNotice({ title, destination }) {
5
+ const config = useSiteConfig();
6
+ // Allow overrides via props and fallback to defaults.
7
+ const finalTitle = title !== null && title !== void 0 ? title : config.siteName;
8
+ return (_jsxs("div", { className: "text-center x-small", children: [_jsxs("span", { children: ["\u00A9\u00A0", new Date().getFullYear(), "\u00A0"] }), destination !== undefined ? (_jsx(Hyperlink, { destination: destination, target: "_blank", children: finalTitle })) : (_jsx("span", { children: finalTitle })), _jsx("span", { children: "." })] }));
9
+ }
10
+ //# sourceMappingURL=CopyrightNotice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyrightNotice.js","sourceRoot":"","sources":["../../../shell/footer/CopyrightNotice.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAW9C,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,KAAK,EAAE,WAAW,EAAwB;IAClF,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,sDAAsD;IACtD,MAAM,UAAU,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,CAAC,QAAQ,CAAC;IAE5C,OAAO,CACL,eAAK,SAAS,EAAC,qBAAqB,aAClC,2CAAmB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,cAAc,EACxD,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAC3B,KAAC,SAAS,IACR,WAAW,EAAE,WAAW,EACxB,MAAM,EAAC,QAAQ,YAEd,UAAU,GACD,CACb,CAAC,CAAC,CAAC,CACF,yBAAO,UAAU,GAAQ,CAC1B,EACD,+BAAc,IACV,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { Hyperlink } from '@openedx/paragon';\n\nimport { useSiteConfig } from '../../runtime';\n\ninterface CopyrightNoticeProps {\n title?: string,\n /**\n * The URL that the copyright notice should link to when a user clicks on the title. If not set,\n * the title will not be a link.\n */\n destination?: string,\n}\n\nexport default function CopyrightNotice({ title, destination }: CopyrightNoticeProps) {\n const config = useSiteConfig();\n\n // Allow overrides via props and fallback to defaults.\n const finalTitle = title ?? config.siteName;\n\n return (\n <div className=\"text-center x-small\">\n <span>&copy;&nbsp;{new Date().getFullYear()}&nbsp;</span>\n {destination !== undefined ? (\n <Hyperlink\n destination={destination}\n target=\"_blank\"\n >\n {finalTitle}\n </Hyperlink>\n ) : (\n <span>{finalTitle}</span>\n )}\n <span>.</span>\n </div>\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ export default function Footer(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Slot } from '../../runtime';
3
+ import CenterLinks from './CenterLinks';
4
+ import LeftLinks from './LeftLinks';
5
+ import LegalNotices from './LegalNotices';
6
+ import PoweredBy from './PoweredBy';
7
+ import RevealLinks from './RevealLinks';
8
+ import RightLinks from './RightLinks';
9
+ export default function Footer() {
10
+ return (_jsxs("footer", { className: "d-flex flex-column align-items-stretch", children: [_jsx(Slot, { id: "org.openedx.frontend.slot.footer.desktopTop.v1", layout: RevealLinks }), _jsxs("div", { className: "py-3 px-3 d-flex gap-5 justify-content-between align-items-stretch", children: [_jsx("div", { className: "flex-basis-0 d-flex align-items-start", children: _jsx("div", { className: "d-flex gap-3 align-items-center", children: _jsx(Slot, { id: "org.openedx.frontend.slot.footer.desktopLeftLinks.v1", layout: LeftLinks }) }) }), _jsx("div", { className: "flex-grow-1 flex-basis-0 d-flex justify-content-center", children: _jsxs("div", { className: "d-flex flex-column justify-content-between gap-5", children: [_jsx(Slot, { id: "org.openedx.frontend.slot.footer.desktopCenterLinks.v1", layout: CenterLinks }), _jsx(Slot, { id: "org.openedx.frontend.slot.footer.desktopLegalNotices.v1", layout: LegalNotices })] }) }), _jsx("div", { className: "flex-basis-0 d-flex justify-content-end", children: _jsxs("div", { className: "d-flex flex-column justify-content-between", children: [_jsx(Slot, { id: "org.openedx.frontend.slot.footer.desktopRightLinks.v1", layout: RightLinks }), _jsx(PoweredBy, {})] }) })] })] }));
11
+ }
12
+ //# sourceMappingURL=Footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../shell/footer/Footer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,OAAO,UAAU,MAAM;IAC5B,OAAO,CACL,kBAAQ,SAAS,EAAC,wCAAwC,aACxD,KAAC,IAAI,IAAC,EAAE,EAAC,gDAAgD,EAAC,MAAM,EAAE,WAAW,GAAI,EACjF,eAAK,SAAS,EAAC,oEAAoE,aACjF,cAAK,SAAS,EAAC,uCAAuC,YACpD,cAAK,SAAS,EAAC,iCAAiC,YAC9C,KAAC,IAAI,IAAC,EAAE,EAAC,sDAAsD,EAAC,MAAM,EAAE,SAAS,GAAI,GACjF,GACF,EACN,cAAK,SAAS,EAAC,wDAAwD,YACrE,eAAK,SAAS,EAAC,kDAAkD,aAC/D,KAAC,IAAI,IAAC,EAAE,EAAC,wDAAwD,EAAC,MAAM,EAAE,WAAW,GAAI,EACzF,KAAC,IAAI,IAAC,EAAE,EAAC,yDAAyD,EAAC,MAAM,EAAE,YAAY,GAAI,IACvF,GACF,EACN,cAAK,SAAS,EAAC,yCAAyC,YACtD,eAAK,SAAS,EAAC,4CAA4C,aACzD,KAAC,IAAI,IAAC,EAAE,EAAC,uDAAuD,EAAC,MAAM,EAAE,UAAU,GAAI,EACvF,KAAC,SAAS,KAAG,IACT,GACF,IACF,IACC,CACV,CAAC;AACJ,CAAC","sourcesContent":["import { Slot } from '../../runtime';\nimport CenterLinks from './CenterLinks';\nimport LeftLinks from './LeftLinks';\nimport LegalNotices from './LegalNotices';\nimport PoweredBy from './PoweredBy';\nimport RevealLinks from './RevealLinks';\nimport RightLinks from './RightLinks';\n\nexport default function Footer() {\n return (\n <footer className=\"d-flex flex-column align-items-stretch\">\n <Slot id=\"org.openedx.frontend.slot.footer.desktopTop.v1\" layout={RevealLinks} />\n <div className=\"py-3 px-3 d-flex gap-5 justify-content-between align-items-stretch\">\n <div className=\"flex-basis-0 d-flex align-items-start\">\n <div className=\"d-flex gap-3 align-items-center\">\n <Slot id=\"org.openedx.frontend.slot.footer.desktopLeftLinks.v1\" layout={LeftLinks} />\n </div>\n </div>\n <div className=\"flex-grow-1 flex-basis-0 d-flex justify-content-center\">\n <div className=\"d-flex flex-column justify-content-between gap-5\">\n <Slot id=\"org.openedx.frontend.slot.footer.desktopCenterLinks.v1\" layout={CenterLinks} />\n <Slot id=\"org.openedx.frontend.slot.footer.desktopLegalNotices.v1\" layout={LegalNotices} />\n </div>\n </div>\n <div className=\"flex-basis-0 d-flex justify-content-end\">\n <div className=\"d-flex flex-column justify-content-between\">\n <Slot id=\"org.openedx.frontend.slot.footer.desktopRightLinks.v1\" layout={RightLinks} />\n <PoweredBy />\n </div>\n </div>\n </div>\n </footer>\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ export default function LabeledLinkColumn(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useLayoutOptions, useWidgets } from '../../runtime';
3
+ export default function LabeledLinkColumn() {
4
+ const widgets = useWidgets();
5
+ const options = useLayoutOptions();
6
+ if (widgets.length === 0) {
7
+ return null;
8
+ }
9
+ return (_jsxs("div", { className: "d-flex flex-grow-1 flex-column gap-2 small", children: [typeof options.label === 'string' && (_jsx("div", { className: "mb-1 font-weight-bold", children: options.label })), widgets] }));
10
+ }
11
+ //# sourceMappingURL=LabeledLinkColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabeledLinkColumn.js","sourceRoot":"","sources":["../../../shell/footer/LabeledLinkColumn.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE7D,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IAEnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,4CAA4C,aACxD,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,CACpC,cAAK,SAAS,EAAC,uBAAuB,YAAE,OAAO,CAAC,KAAK,GAAO,CAC7D,EACA,OAAO,IACJ,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useLayoutOptions, useWidgets } from '../../runtime';\n\nexport default function LabeledLinkColumn() {\n const widgets = useWidgets();\n const options = useLayoutOptions();\n\n if (widgets.length === 0) {\n return null;\n }\n\n return (\n <div className=\"d-flex flex-grow-1 flex-column gap-2 small\">\n {typeof options.label === 'string' && (\n <div className=\"mb-1 font-weight-bold\">{options.label}</div>\n )}\n {widgets}\n </div>\n );\n}\n"]}