@openedx/frontend-app-catalog 1.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/LICENSE +661 -0
  2. package/README.rst +300 -0
  3. package/dist/Main.d.ts +3 -0
  4. package/dist/Main.js +8 -0
  5. package/dist/Main.js.map +1 -0
  6. package/dist/app.d.ts +3 -0
  7. package/dist/app.js +22 -0
  8. package/dist/app.js.map +1 -0
  9. package/dist/assets/images/no-course-image.svg +4 -0
  10. package/dist/assets/scss/_animations.scss +23 -0
  11. package/dist/catalog/CatalogPage.d.ts +2 -0
  12. package/dist/catalog/CatalogPage.js +64 -0
  13. package/dist/catalog/CatalogPage.js.map +1 -0
  14. package/dist/catalog/hooks/types.d.ts +24 -0
  15. package/dist/catalog/hooks/types.js +2 -0
  16. package/dist/catalog/hooks/types.js.map +1 -0
  17. package/dist/catalog/hooks/useCatalog.d.ts +29 -0
  18. package/dist/catalog/hooks/useCatalog.js +52 -0
  19. package/dist/catalog/hooks/useCatalog.js.map +1 -0
  20. package/dist/catalog/hooks/useCourseData.d.ts +12 -0
  21. package/dist/catalog/hooks/useCourseData.js +21 -0
  22. package/dist/catalog/hooks/useCourseData.js.map +1 -0
  23. package/dist/catalog/hooks/useDebouncedSearchInput.d.ts +7 -0
  24. package/dist/catalog/hooks/useDebouncedSearchInput.js +26 -0
  25. package/dist/catalog/hooks/useDebouncedSearchInput.js.map +1 -0
  26. package/dist/catalog/hooks/useFilter.d.ts +18 -0
  27. package/dist/catalog/hooks/useFilter.js +58 -0
  28. package/dist/catalog/hooks/useFilter.js.map +1 -0
  29. package/dist/catalog/hooks/usePagination.d.ts +13 -0
  30. package/dist/catalog/hooks/usePagination.js +25 -0
  31. package/dist/catalog/hooks/usePagination.js.map +1 -0
  32. package/dist/catalog/hooks/useSearch.d.ts +16 -0
  33. package/dist/catalog/hooks/useSearch.js +63 -0
  34. package/dist/catalog/hooks/useSearch.js.map +1 -0
  35. package/dist/catalog/messages.d.ts +68 -0
  36. package/dist/catalog/messages.js +70 -0
  37. package/dist/catalog/messages.js.map +1 -0
  38. package/dist/catalog/types.d.ts +6 -0
  39. package/dist/catalog/types.js +2 -0
  40. package/dist/catalog/types.js.map +1 -0
  41. package/dist/catalog/utils.d.ts +25 -0
  42. package/dist/catalog/utils.js +82 -0
  43. package/dist/catalog/utils.js.map +1 -0
  44. package/dist/constants.d.ts +18 -0
  45. package/dist/constants.js +15 -0
  46. package/dist/constants.js.map +1 -0
  47. package/dist/course-about/CourseAboutPage.d.ts +2 -0
  48. package/dist/course-about/CourseAboutPage.js +39 -0
  49. package/dist/course-about/CourseAboutPage.js.map +1 -0
  50. package/dist/course-about/CourseAboutPage.scss +36 -0
  51. package/dist/course-about/course-intro/CourseIntro.d.ts +4 -0
  52. package/dist/course-about/course-intro/CourseIntro.js +19 -0
  53. package/dist/course-about/course-intro/CourseIntro.js.map +1 -0
  54. package/dist/course-about/course-intro/components/EnrolledStatus.d.ts +2 -0
  55. package/dist/course-about/course-intro/components/EnrolledStatus.js +13 -0
  56. package/dist/course-about/course-intro/components/EnrolledStatus.js.map +1 -0
  57. package/dist/course-about/course-intro/components/EnrollmentButton.d.ts +2 -0
  58. package/dist/course-about/course-intro/components/EnrollmentButton.js +12 -0
  59. package/dist/course-about/course-intro/components/EnrollmentButton.js.map +1 -0
  60. package/dist/course-about/course-intro/components/StatusMessage.d.ts +2 -0
  61. package/dist/course-about/course-intro/components/StatusMessage.js +12 -0
  62. package/dist/course-about/course-intro/components/StatusMessage.js.map +1 -0
  63. package/dist/course-about/course-intro/components/index.d.ts +3 -0
  64. package/dist/course-about/course-intro/components/index.js +4 -0
  65. package/dist/course-about/course-intro/components/index.js.map +1 -0
  66. package/dist/course-about/course-intro/components/types.d.ts +18 -0
  67. package/dist/course-about/course-intro/components/types.js +2 -0
  68. package/dist/course-about/course-intro/components/types.js.map +1 -0
  69. package/dist/course-about/course-intro/constants.d.ts +10 -0
  70. package/dist/course-about/course-intro/constants.js +12 -0
  71. package/dist/course-about/course-intro/constants.js.map +1 -0
  72. package/dist/course-about/course-intro/course-media/CourseMedia.d.ts +3 -0
  73. package/dist/course-about/course-intro/course-media/CourseMedia.js +17 -0
  74. package/dist/course-about/course-intro/course-media/CourseMedia.js.map +1 -0
  75. package/dist/course-about/course-intro/course-media/CourseMedia.scss +24 -0
  76. package/dist/course-about/course-intro/course-media/messages.d.ts +8 -0
  77. package/dist/course-about/course-intro/course-media/messages.js +10 -0
  78. package/dist/course-about/course-intro/course-media/messages.js.map +1 -0
  79. package/dist/course-about/course-intro/course-media/types.d.ts +8 -0
  80. package/dist/course-about/course-intro/course-media/types.js +2 -0
  81. package/dist/course-about/course-intro/course-media/types.js.map +1 -0
  82. package/dist/course-about/course-intro/course-media/utils.d.ts +12 -0
  83. package/dist/course-about/course-intro/course-media/utils.js +18 -0
  84. package/dist/course-about/course-intro/course-media/utils.js.map +1 -0
  85. package/dist/course-about/course-intro/hooks/index.d.ts +2 -0
  86. package/dist/course-about/course-intro/hooks/index.js +3 -0
  87. package/dist/course-about/course-intro/hooks/index.js.map +1 -0
  88. package/dist/course-about/course-intro/hooks/types.d.ts +16 -0
  89. package/dist/course-about/course-intro/hooks/types.js +2 -0
  90. package/dist/course-about/course-intro/hooks/types.js.map +1 -0
  91. package/dist/course-about/course-intro/hooks/useEnrollmentActions.d.ts +7 -0
  92. package/dist/course-about/course-intro/hooks/useEnrollmentActions.js +47 -0
  93. package/dist/course-about/course-intro/hooks/useEnrollmentActions.js.map +1 -0
  94. package/dist/course-about/course-intro/hooks/useEnrollmentStatus.d.ts +4 -0
  95. package/dist/course-about/course-intro/hooks/useEnrollmentStatus.js +35 -0
  96. package/dist/course-about/course-intro/hooks/useEnrollmentStatus.js.map +1 -0
  97. package/dist/course-about/course-intro/messages.d.ts +43 -0
  98. package/dist/course-about/course-intro/messages.js +45 -0
  99. package/dist/course-about/course-intro/messages.js.map +1 -0
  100. package/dist/course-about/course-intro/utils.d.ts +4 -0
  101. package/dist/course-about/course-intro/utils.js +7 -0
  102. package/dist/course-about/course-intro/utils.js.map +1 -0
  103. package/dist/course-about/course-overview/index.d.ts +2 -0
  104. package/dist/course-about/course-overview/index.js +21 -0
  105. package/dist/course-about/course-overview/index.js.map +1 -0
  106. package/dist/course-about/course-overview/types.d.ts +4 -0
  107. package/dist/course-about/course-overview/types.js +2 -0
  108. package/dist/course-about/course-overview/types.js.map +1 -0
  109. package/dist/course-about/course-overview/utils.d.ts +6 -0
  110. package/dist/course-about/course-overview/utils.js +12 -0
  111. package/dist/course-about/course-overview/utils.js.map +1 -0
  112. package/dist/course-about/course-sidebar/CourseSidebar.d.ts +5 -0
  113. package/dist/course-about/course-sidebar/CourseSidebar.js +7 -0
  114. package/dist/course-about/course-sidebar/CourseSidebar.js.map +1 -0
  115. package/dist/course-about/course-sidebar/sidebar-details/SidebarDetails.d.ts +5 -0
  116. package/dist/course-about/course-sidebar/sidebar-details/SidebarDetails.js +38 -0
  117. package/dist/course-about/course-sidebar/sidebar-details/SidebarDetails.js.map +1 -0
  118. package/dist/course-about/course-sidebar/sidebar-details/SidebarDetailsItem.d.ts +3 -0
  119. package/dist/course-about/course-sidebar/sidebar-details/SidebarDetailsItem.js +5 -0
  120. package/dist/course-about/course-sidebar/sidebar-details/SidebarDetailsItem.js.map +1 -0
  121. package/dist/course-about/course-sidebar/sidebar-details/constants.d.ts +7 -0
  122. package/dist/course-about/course-sidebar/sidebar-details/constants.js +8 -0
  123. package/dist/course-about/course-sidebar/sidebar-details/constants.js.map +1 -0
  124. package/dist/course-about/course-sidebar/sidebar-details/messages.d.ts +43 -0
  125. package/dist/course-about/course-sidebar/sidebar-details/messages.js +45 -0
  126. package/dist/course-about/course-sidebar/sidebar-details/messages.js.map +1 -0
  127. package/dist/course-about/course-sidebar/sidebar-details/types.d.ts +8 -0
  128. package/dist/course-about/course-sidebar/sidebar-details/types.js +2 -0
  129. package/dist/course-about/course-sidebar/sidebar-details/types.js.map +1 -0
  130. package/dist/course-about/course-sidebar/sidebar-details/utils.d.ts +37 -0
  131. package/dist/course-about/course-sidebar/sidebar-details/utils.js +49 -0
  132. package/dist/course-about/course-sidebar/sidebar-details/utils.js.map +1 -0
  133. package/dist/course-about/course-sidebar/sidebar-social/SidebarSocial.d.ts +5 -0
  134. package/dist/course-about/course-sidebar/sidebar-social/SidebarSocial.js +14 -0
  135. package/dist/course-about/course-sidebar/sidebar-social/SidebarSocial.js.map +1 -0
  136. package/dist/course-about/course-sidebar/sidebar-social/SocialLinks.d.ts +5 -0
  137. package/dist/course-about/course-sidebar/sidebar-social/SocialLinks.js +5 -0
  138. package/dist/course-about/course-sidebar/sidebar-social/SocialLinks.js.map +1 -0
  139. package/dist/course-about/course-sidebar/sidebar-social/messages.d.ts +43 -0
  140. package/dist/course-about/course-sidebar/sidebar-social/messages.js +45 -0
  141. package/dist/course-about/course-sidebar/sidebar-social/messages.js.map +1 -0
  142. package/dist/course-about/course-sidebar/sidebar-social/types.d.ts +7 -0
  143. package/dist/course-about/course-sidebar/sidebar-social/types.js +2 -0
  144. package/dist/course-about/course-sidebar/sidebar-social/types.js.map +1 -0
  145. package/dist/course-about/course-sidebar/sidebar-social/utils.d.ts +23 -0
  146. package/dist/course-about/course-sidebar/sidebar-social/utils.js +71 -0
  147. package/dist/course-about/course-sidebar/sidebar-social/utils.js.map +1 -0
  148. package/dist/course-about/data/api.d.ts +10 -0
  149. package/dist/course-about/data/api.js +36 -0
  150. package/dist/course-about/data/api.js.map +1 -0
  151. package/dist/course-about/data/hooks.d.ts +3 -0
  152. package/dist/course-about/data/hooks.js +35 -0
  153. package/dist/course-about/data/hooks.js.map +1 -0
  154. package/dist/course-about/data/types.d.ts +10 -0
  155. package/dist/course-about/data/types.js +2 -0
  156. package/dist/course-about/data/types.js.map +1 -0
  157. package/dist/course-about/data/urls.d.ts +8 -0
  158. package/dist/course-about/data/urls.js +10 -0
  159. package/dist/course-about/data/urls.js.map +1 -0
  160. package/dist/course-about/layout.d.ts +31 -0
  161. package/dist/course-about/layout.js +11 -0
  162. package/dist/course-about/layout.js.map +1 -0
  163. package/dist/course-about/messages.d.ts +18 -0
  164. package/dist/course-about/messages.js +20 -0
  165. package/dist/course-about/messages.js.map +1 -0
  166. package/dist/course-about/types.d.ts +125 -0
  167. package/dist/course-about/types.js +2 -0
  168. package/dist/course-about/types.js.map +1 -0
  169. package/dist/data/course-list-search/api.d.ts +6 -0
  170. package/dist/data/course-list-search/api.js +33 -0
  171. package/dist/data/course-list-search/api.js.map +1 -0
  172. package/dist/data/course-list-search/constants.d.ts +2 -0
  173. package/dist/data/course-list-search/constants.js +3 -0
  174. package/dist/data/course-list-search/constants.js.map +1 -0
  175. package/dist/data/course-list-search/hooks.d.ts +5 -0
  176. package/dist/data/course-list-search/hooks.js +47 -0
  177. package/dist/data/course-list-search/hooks.js.map +1 -0
  178. package/dist/data/course-list-search/types.d.ts +65 -0
  179. package/dist/data/course-list-search/types.js +2 -0
  180. package/dist/data/course-list-search/types.js.map +1 -0
  181. package/dist/data/course-list-search/urls.d.ts +2 -0
  182. package/dist/data/course-list-search/urls.js +4 -0
  183. package/dist/data/course-list-search/urls.js.map +1 -0
  184. package/dist/data/course-list-search/utils.d.ts +9 -0
  185. package/dist/data/course-list-search/utils.js +40 -0
  186. package/dist/data/course-list-search/utils.js.map +1 -0
  187. package/dist/generic/alert-notification/index.d.ts +2 -0
  188. package/dist/generic/alert-notification/index.js +5 -0
  189. package/dist/generic/alert-notification/index.js.map +1 -0
  190. package/dist/generic/alert-notification/types.d.ts +6 -0
  191. package/dist/generic/alert-notification/types.js +2 -0
  192. package/dist/generic/alert-notification/types.js.map +1 -0
  193. package/dist/generic/course-card/index.d.ts +2 -0
  194. package/dist/generic/course-card/index.js +27 -0
  195. package/dist/generic/course-card/index.js.map +1 -0
  196. package/dist/generic/course-card/messages.d.ts +8 -0
  197. package/dist/generic/course-card/messages.js +10 -0
  198. package/dist/generic/course-card/messages.js.map +1 -0
  199. package/dist/generic/course-card/types.d.ts +35 -0
  200. package/dist/generic/course-card/types.js +2 -0
  201. package/dist/generic/course-card/types.js.map +1 -0
  202. package/dist/generic/course-card/utils.d.ts +10 -0
  203. package/dist/generic/course-card/utils.js +24 -0
  204. package/dist/generic/course-card/utils.js.map +1 -0
  205. package/dist/generic/index.d.ts +5 -0
  206. package/dist/generic/index.js +6 -0
  207. package/dist/generic/index.js.map +1 -0
  208. package/dist/generic/loading-spinner/index.d.ts +3 -0
  209. package/dist/generic/loading-spinner/index.js +10 -0
  210. package/dist/generic/loading-spinner/index.js.map +1 -0
  211. package/dist/generic/loading-spinner/messages.d.ts +8 -0
  212. package/dist/generic/loading-spinner/messages.js +10 -0
  213. package/dist/generic/loading-spinner/messages.js.map +1 -0
  214. package/dist/generic/loading-spinner/types.d.ts +3 -0
  215. package/dist/generic/loading-spinner/types.js +2 -0
  216. package/dist/generic/loading-spinner/types.js.map +1 -0
  217. package/dist/generic/sub-header/index.d.ts +2 -0
  218. package/dist/generic/sub-header/index.js +4 -0
  219. package/dist/generic/sub-header/index.js.map +1 -0
  220. package/dist/generic/sub-header/types.d.ts +4 -0
  221. package/dist/generic/sub-header/types.js +2 -0
  222. package/dist/generic/sub-header/types.js.map +1 -0
  223. package/dist/generic/video-modal/index.d.ts +2 -0
  224. package/dist/generic/video-modal/index.js +10 -0
  225. package/dist/generic/video-modal/index.js.map +1 -0
  226. package/dist/generic/video-modal/messages.d.ts +13 -0
  227. package/dist/generic/video-modal/messages.js +15 -0
  228. package/dist/generic/video-modal/messages.js.map +1 -0
  229. package/dist/generic/video-modal/types.d.ts +6 -0
  230. package/dist/generic/video-modal/types.js +2 -0
  231. package/dist/generic/video-modal/types.js.map +1 -0
  232. package/dist/home/HomePage.d.ts +2 -0
  233. package/dist/home/HomePage.js +14 -0
  234. package/dist/home/HomePage.js.map +1 -0
  235. package/dist/home/components/courses-list/CoursesList.d.ts +2 -0
  236. package/dist/home/components/courses-list/CoursesList.js +50 -0
  237. package/dist/home/components/courses-list/CoursesList.js.map +1 -0
  238. package/dist/home/components/courses-list/messages.d.ts +23 -0
  239. package/dist/home/components/courses-list/messages.js +25 -0
  240. package/dist/home/components/courses-list/messages.js.map +1 -0
  241. package/dist/home/components/home-banner/HomeBanner.d.ts +2 -0
  242. package/dist/home/components/home-banner/HomeBanner.js +25 -0
  243. package/dist/home/components/home-banner/HomeBanner.js.map +1 -0
  244. package/dist/home/components/home-banner/HomePageOverlay.d.ts +2 -0
  245. package/dist/home/components/home-banner/HomePageOverlay.js +10 -0
  246. package/dist/home/components/home-banner/HomePageOverlay.js.map +1 -0
  247. package/dist/home/components/home-banner/HomePromoVideoBtn.d.ts +3 -0
  248. package/dist/home/components/home-banner/HomePromoVideoBtn.js +10 -0
  249. package/dist/home/components/home-banner/HomePromoVideoBtn.js.map +1 -0
  250. package/dist/home/components/home-banner/index.scss +20 -0
  251. package/dist/home/components/home-banner/messages.d.ts +28 -0
  252. package/dist/home/components/home-banner/messages.js +30 -0
  253. package/dist/home/components/home-banner/messages.js.map +1 -0
  254. package/dist/home/components/home-banner/types.d.ts +3 -0
  255. package/dist/home/components/home-banner/types.js +2 -0
  256. package/dist/home/components/home-banner/types.js.map +1 -0
  257. package/dist/home/components/index.d.ts +2 -0
  258. package/dist/home/components/index.js +3 -0
  259. package/dist/home/components/index.js.map +1 -0
  260. package/dist/home/constants.d.ts +1 -0
  261. package/dist/home/constants.js +2 -0
  262. package/dist/home/constants.js.map +1 -0
  263. package/dist/home/messages.d.ts +8 -0
  264. package/dist/home/messages.js +10 -0
  265. package/dist/home/messages.js.map +1 -0
  266. package/dist/i18n/index.d.ts +1 -0
  267. package/dist/i18n/index.js +2 -0
  268. package/dist/i18n/index.js.map +1 -0
  269. package/dist/index.d.ts +23 -0
  270. package/dist/index.js +3 -0
  271. package/dist/index.js.map +1 -0
  272. package/dist/routes.d.ts +28 -0
  273. package/dist/routes.js +62 -0
  274. package/dist/routes.js.map +1 -0
  275. package/dist/slots/CourseAboutCourseImageSlot/index.d.ts +6 -0
  276. package/dist/slots/CourseAboutCourseImageSlot/index.js +9 -0
  277. package/dist/slots/CourseAboutCourseImageSlot/index.js.map +1 -0
  278. package/dist/slots/CourseAboutCourseMediaSlot/index.d.ts +9 -0
  279. package/dist/slots/CourseAboutCourseMediaSlot/index.js +6 -0
  280. package/dist/slots/CourseAboutCourseMediaSlot/index.js.map +1 -0
  281. package/dist/slots/CourseAboutEnrollmentButtonSlot/index.d.ts +10 -0
  282. package/dist/slots/CourseAboutEnrollmentButtonSlot/index.js +6 -0
  283. package/dist/slots/CourseAboutEnrollmentButtonSlot/index.js.map +1 -0
  284. package/dist/slots/CourseAboutIntroSlot/index.d.ts +6 -0
  285. package/dist/slots/CourseAboutIntroSlot/index.js +6 -0
  286. package/dist/slots/CourseAboutIntroSlot/index.js.map +1 -0
  287. package/dist/slots/CourseAboutIntroVideoSlots/CourseAboutIntroVideoButtonSlot/index.d.ts +6 -0
  288. package/dist/slots/CourseAboutIntroVideoSlots/CourseAboutIntroVideoButtonSlot/index.js +11 -0
  289. package/dist/slots/CourseAboutIntroVideoSlots/CourseAboutIntroVideoButtonSlot/index.js.map +1 -0
  290. package/dist/slots/CourseAboutIntroVideoSlots/CourseAboutIntroVideoModalContentSlot/index.d.ts +6 -0
  291. package/dist/slots/CourseAboutIntroVideoSlots/CourseAboutIntroVideoModalContentSlot/index.js +9 -0
  292. package/dist/slots/CourseAboutIntroVideoSlots/CourseAboutIntroVideoModalContentSlot/index.js.map +1 -0
  293. package/dist/slots/CourseAboutIntroVideoSlots/CourseAboutIntroVideoModalSlot/index.d.ts +6 -0
  294. package/dist/slots/CourseAboutIntroVideoSlots/CourseAboutIntroVideoModalSlot/index.js +6 -0
  295. package/dist/slots/CourseAboutIntroVideoSlots/CourseAboutIntroVideoModalSlot/index.js.map +1 -0
  296. package/dist/slots/CourseAboutIntroVideoSlots/index.d.ts +4 -0
  297. package/dist/slots/CourseAboutIntroVideoSlots/index.js +5 -0
  298. package/dist/slots/CourseAboutIntroVideoSlots/index.js.map +1 -0
  299. package/dist/slots/CourseAboutOverviewSlot/index.d.ts +6 -0
  300. package/dist/slots/CourseAboutOverviewSlot/index.js +6 -0
  301. package/dist/slots/CourseAboutOverviewSlot/index.js.map +1 -0
  302. package/dist/slots/CourseAboutSidebarCoursePriceSlot/index.d.ts +6 -0
  303. package/dist/slots/CourseAboutSidebarCoursePriceSlot/index.js +11 -0
  304. package/dist/slots/CourseAboutSidebarCoursePriceSlot/index.js.map +1 -0
  305. package/dist/slots/CourseAboutSidebarSlot/index.d.ts +6 -0
  306. package/dist/slots/CourseAboutSidebarSlot/index.js +6 -0
  307. package/dist/slots/CourseAboutSidebarSlot/index.js.map +1 -0
  308. package/dist/slots/CourseAboutSidebarSocialSlot/index.d.ts +6 -0
  309. package/dist/slots/CourseAboutSidebarSocialSlot/index.js +22 -0
  310. package/dist/slots/CourseAboutSidebarSocialSlot/index.js.map +1 -0
  311. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableCardViewSlot/CourseCatalogDataTableCourseCardSlot/index.d.ts +16 -0
  312. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableCardViewSlot/CourseCatalogDataTableCourseCardSlot/index.js +18 -0
  313. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableCardViewSlot/CourseCatalogDataTableCourseCardSlot/index.js.map +1 -0
  314. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableCardViewSlot/index.d.ts +6 -0
  315. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableCardViewSlot/index.js +11 -0
  316. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableCardViewSlot/index.js.map +1 -0
  317. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableControlBarSlot/index.d.ts +6 -0
  318. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableControlBarSlot/index.js +6 -0
  319. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableControlBarSlot/index.js.map +1 -0
  320. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableSlot/index.d.ts +23 -0
  321. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableSlot/index.js +17 -0
  322. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableSlot/index.js.map +1 -0
  323. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableTableFooterSlot/index.d.ts +2 -0
  324. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableTableFooterSlot/index.js +6 -0
  325. package/dist/slots/CourseCatalogDataTableSlots/CourseCatalogDataTableTableFooterSlot/index.js.map +1 -0
  326. package/dist/slots/CourseCatalogDataTableSlots/index.d.ts +6 -0
  327. package/dist/slots/CourseCatalogDataTableSlots/index.js +7 -0
  328. package/dist/slots/CourseCatalogDataTableSlots/index.js.map +1 -0
  329. package/dist/slots/CourseCatalogIntroSlot/index.d.ts +6 -0
  330. package/dist/slots/CourseCatalogIntroSlot/index.js +17 -0
  331. package/dist/slots/CourseCatalogIntroSlot/index.js.map +1 -0
  332. package/dist/slots/CourseCatalogSearchFieldSlot/index.d.ts +7 -0
  333. package/dist/slots/CourseCatalogSearchFieldSlot/index.js +21 -0
  334. package/dist/slots/CourseCatalogSearchFieldSlot/index.js.map +1 -0
  335. package/dist/slots/HomeBannerSlot/index.d.ts +2 -0
  336. package/dist/slots/HomeBannerSlot/index.js +6 -0
  337. package/dist/slots/HomeBannerSlot/index.js.map +1 -0
  338. package/dist/slots/HomeCourseCardSlot/index.d.ts +16 -0
  339. package/dist/slots/HomeCourseCardSlot/index.js +18 -0
  340. package/dist/slots/HomeCourseCardSlot/index.js.map +1 -0
  341. package/dist/slots/HomeCoursesListSlot/index.d.ts +2 -0
  342. package/dist/slots/HomeCoursesListSlot/index.js +6 -0
  343. package/dist/slots/HomeCoursesListSlot/index.js.map +1 -0
  344. package/dist/slots/HomeOverlayHtmlSlot/index.d.ts +2 -0
  345. package/dist/slots/HomeOverlayHtmlSlot/index.js +6 -0
  346. package/dist/slots/HomeOverlayHtmlSlot/index.js.map +1 -0
  347. package/dist/slots/HomePromoVideoSlots/HomePromoVideoButtonSlot/index.d.ts +4 -0
  348. package/dist/slots/HomePromoVideoSlots/HomePromoVideoButtonSlot/index.js +8 -0
  349. package/dist/slots/HomePromoVideoSlots/HomePromoVideoButtonSlot/index.js.map +1 -0
  350. package/dist/slots/HomePromoVideoSlots/HomePromoVideoModalContentSlot/index.d.ts +6 -0
  351. package/dist/slots/HomePromoVideoSlots/HomePromoVideoModalContentSlot/index.js +9 -0
  352. package/dist/slots/HomePromoVideoSlots/HomePromoVideoModalContentSlot/index.js.map +1 -0
  353. package/dist/slots/HomePromoVideoSlots/HomePromoVideoModalSlot/index.d.ts +6 -0
  354. package/dist/slots/HomePromoVideoSlots/HomePromoVideoModalSlot/index.js +6 -0
  355. package/dist/slots/HomePromoVideoSlots/HomePromoVideoModalSlot/index.js.map +1 -0
  356. package/dist/slots/HomePromoVideoSlots/index.d.ts +4 -0
  357. package/dist/slots/HomePromoVideoSlots/index.js +5 -0
  358. package/dist/slots/HomePromoVideoSlots/index.js.map +1 -0
  359. package/dist/slots/LoaderSlot/index.d.ts +3 -0
  360. package/dist/slots/LoaderSlot/index.js +4 -0
  361. package/dist/slots/LoaderSlot/index.js.map +1 -0
  362. package/dist/slots.d.ts +3 -0
  363. package/dist/slots.js +7 -0
  364. package/dist/slots.js.map +1 -0
  365. package/dist/style.scss +4 -0
  366. package/dist/utils.d.ts +6 -0
  367. package/dist/utils.js +9 -0
  368. package/dist/utils.js.map +1 -0
  369. package/dist/widgets/CatalogHeader/CoursesLinkMenuItem.d.ts +3 -0
  370. package/dist/widgets/CatalogHeader/CoursesLinkMenuItem.js +9 -0
  371. package/dist/widgets/CatalogHeader/CoursesLinkMenuItem.js.map +1 -0
  372. package/dist/widgets/CatalogHeader/DiscoverLinkMenuItem.d.ts +3 -0
  373. package/dist/widgets/CatalogHeader/DiscoverLinkMenuItem.js +9 -0
  374. package/dist/widgets/CatalogHeader/DiscoverLinkMenuItem.js.map +1 -0
  375. package/dist/widgets/CatalogHeader/ExploreCoursesLinkMenuItem.d.ts +3 -0
  376. package/dist/widgets/CatalogHeader/ExploreCoursesLinkMenuItem.js +9 -0
  377. package/dist/widgets/CatalogHeader/ExploreCoursesLinkMenuItem.js.map +1 -0
  378. package/dist/widgets/CatalogHeader/ProgramsLinkMenuItem.d.ts +3 -0
  379. package/dist/widgets/CatalogHeader/ProgramsLinkMenuItem.js +9 -0
  380. package/dist/widgets/CatalogHeader/ProgramsLinkMenuItem.js.map +1 -0
  381. package/dist/widgets/CatalogHeader/app.d.ts +3 -0
  382. package/dist/widgets/CatalogHeader/app.js +55 -0
  383. package/dist/widgets/CatalogHeader/app.js.map +1 -0
  384. package/dist/widgets/CatalogHeader/index.d.ts +1 -0
  385. package/dist/widgets/CatalogHeader/index.js +2 -0
  386. package/dist/widgets/CatalogHeader/index.js.map +1 -0
  387. package/dist/widgets/CatalogHeader/messages.d.ts +32 -0
  388. package/dist/widgets/CatalogHeader/messages.js +25 -0
  389. package/dist/widgets/CatalogHeader/messages.js.map +1 -0
  390. package/package.json +86 -0
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Slot } from '@openedx/frontend-base';
3
+ import HomePageOverlay from '../../home/components/home-banner/HomePageOverlay';
4
+ const HomeOverlayHtmlSlot = () => (_jsx(Slot, { id: "org.openedx.frontend.slot.catalog.homeOverlayHtml.v1", children: _jsx(HomePageOverlay, {}) }));
5
+ export default HomeOverlayHtmlSlot;
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/slots/HomeOverlayHtmlSlot/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,eAAe,MAAM,kDAAkD,CAAC;AAE/E,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAChC,KAAC,IAAI,IAAC,EAAE,EAAC,sDAAsD,YAC7D,KAAC,eAAe,KAAG,GACd,CACR,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import { Slot } from '@openedx/frontend-base';\n\nimport HomePageOverlay from '@src/home/components/home-banner/HomePageOverlay';\n\nconst HomeOverlayHtmlSlot = () => (\n <Slot id=\"org.openedx.frontend.slot.catalog.homeOverlayHtml.v1\">\n <HomePageOverlay />\n </Slot>\n);\n\nexport default HomeOverlayHtmlSlot;\n"]}
@@ -0,0 +1,4 @@
1
+ export interface HomePromoVideoButtonSlotProps {
2
+ onClick: () => void;
3
+ }
4
+ export declare const HomePromoVideoButtonSlot: ({ onClick }: HomePromoVideoButtonSlotProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { getAppConfig, Slot } from '@openedx/frontend-base';
3
+ import { appId } from '../../../constants';
4
+ import HomePromoVideoBtn from '../../../home/components/home-banner/HomePromoVideoBtn';
5
+ export const HomePromoVideoButtonSlot = ({ onClick }) => (_jsx(Slot, { id: "org.openedx.frontend.slot.catalog.homePromoVideoButton.v1", onClick: onClick, children: getAppConfig(appId).HOMEPAGE_PROMO_VIDEO_YOUTUBE_ID
6
+ ? _jsx(HomePromoVideoBtn, { onClick: onClick })
7
+ : null }));
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/slots/HomePromoVideoSlots/HomePromoVideoButtonSlot/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,iBAAiB,MAAM,oDAAoD,CAAC;AAMnF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAE,OAAO,EAAiC,EAAE,EAAE,CAAC,CACtF,KAAC,IAAI,IACH,EAAE,EAAC,2DAA2D,EAC9D,OAAO,EAAE,OAAO,YAEf,YAAY,CAAC,KAAK,CAAC,CAAC,+BAA+B;QAClD,CAAC,CAAC,KAAC,iBAAiB,IAAC,OAAO,EAAE,OAAO,GAAI;QACzC,CAAC,CAAC,IAAI,GACH,CACR,CAAC","sourcesContent":["import { getAppConfig, Slot } from '@openedx/frontend-base';\n\nimport { appId } from '@src/constants';\nimport HomePromoVideoBtn from '@src/home/components/home-banner/HomePromoVideoBtn';\n\nexport interface HomePromoVideoButtonSlotProps {\n onClick: () => void,\n}\n\nexport const HomePromoVideoButtonSlot = ({ onClick }: HomePromoVideoButtonSlotProps) => (\n <Slot\n id=\"org.openedx.frontend.slot.catalog.homePromoVideoButton.v1\"\n onClick={onClick}\n >\n {getAppConfig(appId).HOMEPAGE_PROMO_VIDEO_YOUTUBE_ID\n ? <HomePromoVideoBtn onClick={onClick} />\n : null}\n </Slot>\n);\n"]}
@@ -0,0 +1,6 @@
1
+ export interface HomePromoVideoModalContentSlotProps {
2
+ videoId: string;
3
+ width?: string;
4
+ height?: number;
5
+ }
6
+ export declare const HomePromoVideoModalContentSlot: ({ videoId, width, height, }: HomePromoVideoModalContentSlotProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Slot, useIntl } from '@openedx/frontend-base';
3
+ import { DEFAULT_VIDEO_MODAL_HEIGHT, DEFAULT_VIDEO_MODAL_WIDTH, IFRAME_FEATURE_POLICY } from '../../../constants';
4
+ import messages from '../../../generic/video-modal/messages';
5
+ export const HomePromoVideoModalContentSlot = ({ videoId, width = DEFAULT_VIDEO_MODAL_WIDTH, height = DEFAULT_VIDEO_MODAL_HEIGHT, }) => {
6
+ const intl = useIntl();
7
+ return (_jsx(Slot, { id: "org.openedx.frontend.slot.catalog.homePromoVideoModalContent.v1", videoId: videoId, width: width, height: height, children: _jsx("iframe", { title: intl.formatMessage(messages.videoIframeTitle), width: width, height: height, src: `//www.youtube.com/embed/${videoId}?showinfo=0`, frameBorder: "0", allowFullScreen: true, allow: IFRAME_FEATURE_POLICY }) }));
8
+ };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/slots/HomePromoVideoSlots/HomePromoVideoModalContentSlot/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC9G,OAAO,QAAQ,MAAM,mCAAmC,CAAC;AAQzD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAC7C,OAAO,EACP,KAAK,GAAG,yBAAyB,EACjC,MAAM,GAAG,0BAA0B,GACC,EAAE,EAAE;IACxC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,OAAO,CACL,KAAC,IAAI,IACH,EAAE,EAAC,iEAAiE,EACpE,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,YAEd,iBACE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACpD,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,2BAA2B,OAAO,aAAa,EACpD,WAAW,EAAC,GAAG,EACf,eAAe,QACf,KAAK,EAAE,qBAAqB,GAC5B,GACG,CACR,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { Slot, useIntl } from '@openedx/frontend-base';\n\nimport { DEFAULT_VIDEO_MODAL_HEIGHT, DEFAULT_VIDEO_MODAL_WIDTH, IFRAME_FEATURE_POLICY } from '@src/constants';\nimport messages from '@src/generic/video-modal/messages';\n\nexport interface HomePromoVideoModalContentSlotProps {\n videoId: string,\n width?: string,\n height?: number,\n}\n\nexport const HomePromoVideoModalContentSlot = ({\n videoId,\n width = DEFAULT_VIDEO_MODAL_WIDTH,\n height = DEFAULT_VIDEO_MODAL_HEIGHT,\n}: HomePromoVideoModalContentSlotProps) => {\n const intl = useIntl();\n\n return (\n <Slot\n id=\"org.openedx.frontend.slot.catalog.homePromoVideoModalContent.v1\"\n videoId={videoId}\n width={width}\n height={height}\n >\n <iframe\n title={intl.formatMessage(messages.videoIframeTitle)}\n width={width}\n height={height}\n src={`//www.youtube.com/embed/${videoId}?showinfo=0`}\n frameBorder=\"0\"\n allowFullScreen\n allow={IFRAME_FEATURE_POLICY}\n />\n </Slot>\n );\n};\n"]}
@@ -0,0 +1,6 @@
1
+ export interface HomePromoVideoModalSlotProps {
2
+ isOpen: boolean;
3
+ close: () => void;
4
+ videoId: string;
5
+ }
6
+ export declare const HomePromoVideoModalSlot: ({ isOpen, close, videoId }: HomePromoVideoModalSlotProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Slot } from '@openedx/frontend-base';
3
+ import { VideoModal } from '../../../generic';
4
+ import { HomePromoVideoModalContentSlot } from '../HomePromoVideoModalContentSlot';
5
+ export const HomePromoVideoModalSlot = ({ isOpen, close, videoId }) => (_jsx(Slot, { id: "org.openedx.frontend.slot.catalog.homePromoVideoModal.v1", isOpen: isOpen, close: close, videoId: videoId, children: _jsx(VideoModal, { isOpen: isOpen, close: close, children: _jsx(HomePromoVideoModalContentSlot, { videoId: videoId }) }) }));
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/slots/HomePromoVideoSlots/HomePromoVideoModalSlot/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAQnF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAgC,EAAE,EAAE,CAAC,CACnG,KAAC,IAAI,IACH,EAAE,EAAC,0DAA0D,EAC7D,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,YAEhB,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,YACtC,KAAC,8BAA8B,IAAC,OAAO,EAAE,OAAO,GAAI,GACzC,GACR,CACR,CAAC","sourcesContent":["import { Slot } from '@openedx/frontend-base';\n\nimport { VideoModal } from '@src/generic';\nimport { HomePromoVideoModalContentSlot } from '../HomePromoVideoModalContentSlot';\n\nexport interface HomePromoVideoModalSlotProps {\n isOpen: boolean,\n close: () => void,\n videoId: string,\n}\n\nexport const HomePromoVideoModalSlot = ({ isOpen, close, videoId }: HomePromoVideoModalSlotProps) => (\n <Slot\n id=\"org.openedx.frontend.slot.catalog.homePromoVideoModal.v1\"\n isOpen={isOpen}\n close={close}\n videoId={videoId}\n >\n <VideoModal isOpen={isOpen} close={close}>\n <HomePromoVideoModalContentSlot videoId={videoId} />\n </VideoModal>\n </Slot>\n);\n"]}
@@ -0,0 +1,4 @@
1
+ import { HomePromoVideoModalSlot } from './HomePromoVideoModalSlot';
2
+ import { HomePromoVideoModalContentSlot } from './HomePromoVideoModalContentSlot';
3
+ import { HomePromoVideoButtonSlot } from './HomePromoVideoButtonSlot';
4
+ export { HomePromoVideoModalSlot, HomePromoVideoModalContentSlot, HomePromoVideoButtonSlot, };
@@ -0,0 +1,5 @@
1
+ import { HomePromoVideoModalSlot } from './HomePromoVideoModalSlot';
2
+ import { HomePromoVideoModalContentSlot } from './HomePromoVideoModalContentSlot';
3
+ import { HomePromoVideoButtonSlot } from './HomePromoVideoButtonSlot';
4
+ export { HomePromoVideoModalSlot, HomePromoVideoModalContentSlot, HomePromoVideoButtonSlot, };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/slots/HomePromoVideoSlots/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,wBAAwB,GACzB,CAAC","sourcesContent":["import { HomePromoVideoModalSlot } from './HomePromoVideoModalSlot';\nimport { HomePromoVideoModalContentSlot } from './HomePromoVideoModalContentSlot';\nimport { HomePromoVideoButtonSlot } from './HomePromoVideoButtonSlot';\n\nexport {\n HomePromoVideoModalSlot,\n HomePromoVideoModalContentSlot,\n HomePromoVideoButtonSlot,\n};\n"]}
@@ -0,0 +1,3 @@
1
+ export declare const LoaderSlot: ({ children }: {
2
+ children: React.ReactNode;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Slot } from '@openedx/frontend-base';
3
+ export const LoaderSlot = ({ children }) => (_jsx(Slot, { id: "org.openedx.frontend.slot.catalog.loader.v1", children: children }));
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/slots/LoaderSlot/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAiC,EAAE,EAAE,CAAC,CACzE,KAAC,IAAI,IAAC,EAAE,EAAC,6CAA6C,YACnD,QAAQ,GACJ,CACR,CAAC","sourcesContent":["import { Slot } from '@openedx/frontend-base';\n\nexport const LoaderSlot = ({ children }: { children: React.ReactNode }) => (\n <Slot id=\"org.openedx.frontend.slot.catalog.loader.v1\">\n {children}\n </Slot>\n);\n"]}
@@ -0,0 +1,3 @@
1
+ import { SlotOperation } from '@openedx/frontend-base';
2
+ declare const slots: SlotOperation[];
3
+ export default slots;
package/dist/slots.js ADDED
@@ -0,0 +1,7 @@
1
+ var _a;
2
+ import { catalogHeaderApp } from './widgets/CatalogHeader';
3
+ const slots = [
4
+ ...((_a = catalogHeaderApp.slots) !== null && _a !== void 0 ? _a : []),
5
+ ];
6
+ export default slots;
7
+ //# sourceMappingURL=slots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slots.js","sourceRoot":"","sources":["../src/slots.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,KAAK,GAAoB;IAC7B,GAAG,CAAC,MAAA,gBAAgB,CAAC,KAAK,mCAAI,EAAE,CAAC;CAClC,CAAC;AAEF,eAAe,KAAK,CAAC","sourcesContent":["import { SlotOperation } from '@openedx/frontend-base';\n\nimport { catalogHeaderApp } from './widgets/CatalogHeader';\n\nconst slots: SlotOperation[] = [\n ...(catalogHeaderApp.slots ?? []),\n];\n\nexport default slots;\n"]}
@@ -0,0 +1,4 @@
1
+ @use "@openedx/paragon/styles/css/core/custom-media-breakpoints.css";
2
+ @use "./assets/scss/animations";
3
+ @use "./home/components/home-banner";
4
+ @use "./course-about/CourseAboutPage";
@@ -0,0 +1,6 @@
1
+ import { useIntl } from '@openedx/frontend-base';
2
+ export type IntlShape = ReturnType<typeof useIntl>;
3
+ /**
4
+ * Formats a date string into a localized date format using React Intl.
5
+ */
6
+ export declare const formatDate: (dateString: string, intl: IntlShape) => string;
package/dist/utils.js ADDED
@@ -0,0 +1,9 @@
1
+ import { DATE_FORMAT_OPTIONS } from './constants';
2
+ /**
3
+ * Formats a date string into a localized date format using React Intl.
4
+ */
5
+ export const formatDate = (dateString, intl) => {
6
+ const date = new Date(dateString);
7
+ return intl.formatDate(date, DATE_FORMAT_OPTIONS);
8
+ };
9
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIlD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,IAAe,EAAU,EAAE;IACxE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;AACpD,CAAC,CAAC","sourcesContent":["import { useIntl } from '@openedx/frontend-base';\n\nimport { DATE_FORMAT_OPTIONS } from './constants';\n\nexport type IntlShape = ReturnType<typeof useIntl>;\n\n/**\n * Formats a date string into a localized date format using React Intl.\n */\nexport const formatDate = (dateString: string, intl: IntlShape): string => {\n const date = new Date(dateString);\n return intl.formatDate(date, DATE_FORMAT_OPTIONS);\n};\n"]}
@@ -0,0 +1,3 @@
1
+ export default function CoursesLinkMenuItem({ variant }: {
2
+ variant?: string | undefined;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { LinkMenuItem, getSiteConfig, useIntl } from '@openedx/frontend-base';
3
+ import messages from './messages';
4
+ export default function CoursesLinkMenuItem({ variant = 'hyperlink' }) {
5
+ const { formatMessage } = useIntl();
6
+ const url = `${getSiteConfig().lmsBaseUrl}/dashboard`;
7
+ return (_jsx(LinkMenuItem, { label: formatMessage(messages.courses), url: url, variant: variant }));
8
+ }
9
+ //# sourceMappingURL=CoursesLinkMenuItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoursesLinkMenuItem.js","sourceRoot":"","sources":["../../../src/widgets/CatalogHeader/CoursesLinkMenuItem.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE9E,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE;IACnE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,GAAG,aAAa,EAAE,CAAC,UAAU,YAAY,CAAC;IAEtD,OAAO,CACL,KAAC,YAAY,IACX,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EACtC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;AACJ,CAAC","sourcesContent":["import { LinkMenuItem, getSiteConfig, useIntl } from '@openedx/frontend-base';\n\nimport messages from './messages';\n\nexport default function CoursesLinkMenuItem({ variant = 'hyperlink' }) {\n const { formatMessage } = useIntl();\n const url = `${getSiteConfig().lmsBaseUrl}/dashboard`;\n\n return (\n <LinkMenuItem\n label={formatMessage(messages.courses)}\n url={url}\n variant={variant}\n />\n );\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export default function DiscoverLinkMenuItem({ variant }: {
2
+ variant?: string | undefined;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { LinkMenuItem, useIntl } from '@openedx/frontend-base';
3
+ import { coursesRole } from '../../constants';
4
+ import messages from './messages';
5
+ export default function DiscoverLinkMenuItem({ variant = 'hyperlink' }) {
6
+ const { formatMessage } = useIntl();
7
+ return (_jsx(LinkMenuItem, { label: formatMessage(messages.discoverNew), role: coursesRole, variant: variant }));
8
+ }
9
+ //# sourceMappingURL=DiscoverLinkMenuItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscoverLinkMenuItem.js","sourceRoot":"","sources":["../../../src/widgets/CatalogHeader/DiscoverLinkMenuItem.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE;IACpE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,KAAC,YAAY,IACX,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC1C,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;AACJ,CAAC","sourcesContent":["import { LinkMenuItem, useIntl } from '@openedx/frontend-base';\n\nimport { coursesRole } from '../../constants';\nimport messages from './messages';\n\nexport default function DiscoverLinkMenuItem({ variant = 'hyperlink' }) {\n const { formatMessage } = useIntl();\n\n return (\n <LinkMenuItem\n label={formatMessage(messages.discoverNew)}\n role={coursesRole}\n variant={variant}\n />\n );\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export default function ExploreCoursesLinkMenuItem({ variant }: {
2
+ variant?: string | undefined;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { LinkMenuItem, useIntl } from '@openedx/frontend-base';
3
+ import { coursesRole } from '../../constants';
4
+ import messages from './messages';
5
+ export default function ExploreCoursesLinkMenuItem({ variant = 'hyperlink' }) {
6
+ const { formatMessage } = useIntl();
7
+ return (_jsx(LinkMenuItem, { label: formatMessage(messages.exploreCourses), role: coursesRole, variant: variant }));
8
+ }
9
+ //# sourceMappingURL=ExploreCoursesLinkMenuItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExploreCoursesLinkMenuItem.js","sourceRoot":"","sources":["../../../src/widgets/CatalogHeader/ExploreCoursesLinkMenuItem.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE;IAC1E,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,OAAO,CACL,KAAC,YAAY,IACX,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,EAC7C,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;AACJ,CAAC","sourcesContent":["import { LinkMenuItem, useIntl } from '@openedx/frontend-base';\n\nimport { coursesRole } from '../../constants';\nimport messages from './messages';\n\nexport default function ExploreCoursesLinkMenuItem({ variant = 'hyperlink' }) {\n const { formatMessage } = useIntl();\n\n return (\n <LinkMenuItem\n label={formatMessage(messages.exploreCourses)}\n role={coursesRole}\n variant={variant}\n />\n );\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export default function ProgramsLinkMenuItem({ variant }: {
2
+ variant?: string | undefined;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { LinkMenuItem, getSiteConfig, useIntl } from '@openedx/frontend-base';
3
+ import messages from './messages';
4
+ export default function ProgramsLinkMenuItem({ variant = 'hyperlink' }) {
5
+ const { formatMessage } = useIntl();
6
+ const url = `${getSiteConfig().lmsBaseUrl}/dashboard/programs`;
7
+ return (_jsx(LinkMenuItem, { label: formatMessage(messages.programs), url: url, variant: variant }));
8
+ }
9
+ //# sourceMappingURL=ProgramsLinkMenuItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgramsLinkMenuItem.js","sourceRoot":"","sources":["../../../src/widgets/CatalogHeader/ProgramsLinkMenuItem.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE9E,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE;IACpE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,GAAG,aAAa,EAAE,CAAC,UAAU,qBAAqB,CAAC;IAE/D,OAAO,CACL,KAAC,YAAY,IACX,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACvC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;AACJ,CAAC","sourcesContent":["import { LinkMenuItem, getSiteConfig, useIntl } from '@openedx/frontend-base';\n\nimport messages from './messages';\n\nexport default function ProgramsLinkMenuItem({ variant = 'hyperlink' }) {\n const { formatMessage } = useIntl();\n const url = `${getSiteConfig().lmsBaseUrl}/dashboard/programs`;\n\n return (\n <LinkMenuItem\n label={formatMessage(messages.programs)}\n url={url}\n variant={variant}\n />\n );\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import { App } from '@openedx/frontend-base';
2
+ declare const app: App;
3
+ export default app;
@@ -0,0 +1,55 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { WidgetOperationTypes, getAppConfig, getAuthenticatedUser, helpButtonSlotOperation, } from '@openedx/frontend-base';
3
+ import { appId, catalogRole } from '../../constants';
4
+ import CoursesLinkMenuItem from './CoursesLinkMenuItem';
5
+ import ProgramsLinkMenuItem from './ProgramsLinkMenuItem';
6
+ import DiscoverLinkMenuItem from './DiscoverLinkMenuItem';
7
+ import ExploreCoursesLinkMenuItem from './ExploreCoursesLinkMenuItem';
8
+ const app = {
9
+ appId: 'org.openedx.frontend.app.catalog.header',
10
+ slots: [
11
+ {
12
+ slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',
13
+ id: 'org.openedx.frontend.widget.catalog.headerLinkCourses.v1',
14
+ op: WidgetOperationTypes.APPEND,
15
+ element: _jsx(CoursesLinkMenuItem, { variant: "navLink" }),
16
+ condition: {
17
+ active: [catalogRole],
18
+ callback: () => !!getAuthenticatedUser(),
19
+ },
20
+ },
21
+ {
22
+ slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',
23
+ id: 'org.openedx.frontend.widget.catalog.headerLinkPrograms.v1',
24
+ op: WidgetOperationTypes.APPEND,
25
+ element: _jsx(ProgramsLinkMenuItem, { variant: "navLink" }),
26
+ condition: {
27
+ active: [catalogRole],
28
+ callback: () => !!getAuthenticatedUser() && getAppConfig(appId).ENABLE_PROGRAMS === true,
29
+ },
30
+ },
31
+ {
32
+ slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',
33
+ id: 'org.openedx.frontend.widget.catalog.headerLinkDiscover.v1',
34
+ op: WidgetOperationTypes.APPEND,
35
+ element: _jsx(DiscoverLinkMenuItem, { variant: "navLink" }),
36
+ condition: {
37
+ active: [catalogRole],
38
+ callback: () => !!getAuthenticatedUser() && getAppConfig(appId).NON_BROWSABLE_COURSES !== true,
39
+ },
40
+ },
41
+ {
42
+ slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',
43
+ id: 'org.openedx.frontend.widget.catalog.headerLinkExploreCourses.v1',
44
+ op: WidgetOperationTypes.APPEND,
45
+ element: _jsx(ExploreCoursesLinkMenuItem, { variant: "navLink" }),
46
+ condition: {
47
+ active: [catalogRole],
48
+ callback: () => !getAuthenticatedUser() && getAppConfig(appId).ENABLE_COURSE_DISCOVERY === true,
49
+ },
50
+ },
51
+ helpButtonSlotOperation({ appId, role: catalogRole }),
52
+ ],
53
+ };
54
+ export default app;
55
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/widgets/CatalogHeader/app.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;AAEtE,MAAM,GAAG,GAAQ;IACf,KAAK,EAAE,yCAAyC;IAChD,KAAK,EAAE;QACL;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,0DAA0D;YAC9D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,KAAC,mBAAmB,IAAC,OAAO,EAAC,SAAS,GAAG;YAClD,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,WAAW,CAAC;gBACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE;aACzC;SACF;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,2DAA2D;YAC/D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,KAAC,oBAAoB,IAAC,OAAO,EAAC,SAAS,GAAG;YACnD,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,WAAW,CAAC;gBACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,eAAe,KAAK,IAAI;aACzF;SACF;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,2DAA2D;YAC/D,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,KAAC,oBAAoB,IAAC,OAAO,EAAC,SAAS,GAAG;YACnD,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,WAAW,CAAC;gBACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,qBAAqB,KAAK,IAAI;aAC/F;SACF;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,iEAAiE;YACrE,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,KAAC,0BAA0B,IAAC,OAAO,EAAC,SAAS,GAAG;YACzD,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,WAAW,CAAC;gBACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,oBAAoB,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,uBAAuB,KAAK,IAAI;aAChG;SACF;QACD,uBAAuB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;KACtD;CACF,CAAC;AAEF,eAAe,GAAG,CAAC","sourcesContent":["import {\n App,\n WidgetOperationTypes,\n getAppConfig,\n getAuthenticatedUser,\n helpButtonSlotOperation,\n} from '@openedx/frontend-base';\n\nimport { appId, catalogRole } from '../../constants';\n\nimport CoursesLinkMenuItem from './CoursesLinkMenuItem';\nimport ProgramsLinkMenuItem from './ProgramsLinkMenuItem';\nimport DiscoverLinkMenuItem from './DiscoverLinkMenuItem';\nimport ExploreCoursesLinkMenuItem from './ExploreCoursesLinkMenuItem';\n\nconst app: App = {\n appId: 'org.openedx.frontend.app.catalog.header',\n slots: [\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.catalog.headerLinkCourses.v1',\n op: WidgetOperationTypes.APPEND,\n element: <CoursesLinkMenuItem variant=\"navLink\" />,\n condition: {\n active: [catalogRole],\n callback: () => !!getAuthenticatedUser(),\n },\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.catalog.headerLinkPrograms.v1',\n op: WidgetOperationTypes.APPEND,\n element: <ProgramsLinkMenuItem variant=\"navLink\" />,\n condition: {\n active: [catalogRole],\n callback: () => !!getAuthenticatedUser() && getAppConfig(appId).ENABLE_PROGRAMS === true,\n },\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.catalog.headerLinkDiscover.v1',\n op: WidgetOperationTypes.APPEND,\n element: <DiscoverLinkMenuItem variant=\"navLink\" />,\n condition: {\n active: [catalogRole],\n callback: () => !!getAuthenticatedUser() && getAppConfig(appId).NON_BROWSABLE_COURSES !== true,\n },\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.catalog.headerLinkExploreCourses.v1',\n op: WidgetOperationTypes.APPEND,\n element: <ExploreCoursesLinkMenuItem variant=\"navLink\" />,\n condition: {\n active: [catalogRole],\n callback: () => !getAuthenticatedUser() && getAppConfig(appId).ENABLE_COURSE_DISCOVERY === true,\n },\n },\n helpButtonSlotOperation({ appId, role: catalogRole }),\n ],\n};\n\nexport default app;\n"]}
@@ -0,0 +1 @@
1
+ export { default as catalogHeaderApp } from './app';
@@ -0,0 +1,2 @@
1
+ export { default as catalogHeaderApp } from './app';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/widgets/CatalogHeader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,OAAO,CAAC","sourcesContent":["export { default as catalogHeaderApp } from './app';\n"]}
@@ -0,0 +1,32 @@
1
+ export default messages;
2
+ declare namespace messages {
3
+ namespace courses {
4
+ let id: string;
5
+ let defaultMessage: string;
6
+ let description: string;
7
+ }
8
+ namespace exploreCourses {
9
+ let id_1: string;
10
+ export { id_1 as id };
11
+ let defaultMessage_1: string;
12
+ export { defaultMessage_1 as defaultMessage };
13
+ let description_1: string;
14
+ export { description_1 as description };
15
+ }
16
+ namespace programs {
17
+ let id_2: string;
18
+ export { id_2 as id };
19
+ let defaultMessage_2: string;
20
+ export { defaultMessage_2 as defaultMessage };
21
+ let description_2: string;
22
+ export { description_2 as description };
23
+ }
24
+ namespace discoverNew {
25
+ let id_3: string;
26
+ export { id_3 as id };
27
+ let defaultMessage_3: string;
28
+ export { defaultMessage_3 as defaultMessage };
29
+ let description_3: string;
30
+ export { description_3 as description };
31
+ }
32
+ }
@@ -0,0 +1,25 @@
1
+ import { defineMessages } from '@openedx/frontend-base';
2
+ const messages = defineMessages({
3
+ courses: {
4
+ id: 'category.header.course',
5
+ defaultMessage: 'Courses',
6
+ description: 'The text for the link to the Courses page.',
7
+ },
8
+ exploreCourses: {
9
+ id: 'category.header.explore-courses',
10
+ defaultMessage: 'Explore courses',
11
+ description: 'The text for the link to the Explore courses page.',
12
+ },
13
+ programs: {
14
+ id: 'category.header.programs',
15
+ defaultMessage: 'Programs',
16
+ description: 'The text for the link to the Programs page.',
17
+ },
18
+ discoverNew: {
19
+ id: 'category.header.discoverNew',
20
+ defaultMessage: 'Discover new',
21
+ description: 'The text for the link to the Discover new page.',
22
+ },
23
+ });
24
+ export default messages;
25
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/widgets/CatalogHeader/messages.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,OAAO,EAAE;QACP,EAAE,EAAE,wBAAwB;QAC5B,cAAc,EAAE,SAAS;QACzB,WAAW,EAAE,4CAA4C;KAC1D;IACD,cAAc,EAAE;QACd,EAAE,EAAE,iCAAiC;QACrC,cAAc,EAAE,iBAAiB;QACjC,WAAW,EAAE,oDAAoD;KAClE;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,0BAA0B;QAC9B,cAAc,EAAE,UAAU;QAC1B,WAAW,EAAE,6CAA6C;KAC3D;IACD,WAAW,EAAE;QACX,EAAE,EAAE,6BAA6B;QACjC,cAAc,EAAE,cAAc;QAC9B,WAAW,EAAE,iDAAiD;KAC/D;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n courses: {\n id: 'category.header.course',\n defaultMessage: 'Courses',\n description: 'The text for the link to the Courses page.',\n },\n exploreCourses: {\n id: 'category.header.explore-courses',\n defaultMessage: 'Explore courses',\n description: 'The text for the link to the Explore courses page.',\n },\n programs: {\n id: 'category.header.programs',\n defaultMessage: 'Programs',\n description: 'The text for the link to the Programs page.',\n },\n discoverNew: {\n id: 'category.header.discoverNew',\n defaultMessage: 'Discover new',\n description: 'The text for the link to the Discover new page.',\n },\n});\n\nexport default messages;\n"]}
package/package.json ADDED
@@ -0,0 +1,86 @@
1
+ {
2
+ "name": "@openedx/frontend-app-catalog",
3
+ "version": "1.0.0-alpha.0",
4
+ "description": "Frontend catalog application",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/openedx/frontend-app-catalog.git"
8
+ },
9
+ "exports": {
10
+ ".": "./dist/index.js"
11
+ },
12
+ "files": [
13
+ "/dist"
14
+ ],
15
+ "workspaces": [
16
+ "packages/*"
17
+ ],
18
+ "browserslist": [
19
+ "extends @edx/browserslist-config"
20
+ ],
21
+ "sideEffects": [
22
+ "*.css",
23
+ "*.scss"
24
+ ],
25
+ "atlasTranslations": {
26
+ "path": "translations/frontend-app-catalog/src/i18n/messages",
27
+ "dependencies": [
28
+ "@openedx/frontend-base"
29
+ ]
30
+ },
31
+ "scripts": {
32
+ "build": "make build",
33
+ "build:ci": "make build-ci",
34
+ "build:packages": "make build-packages",
35
+ "clean": "make clean",
36
+ "clean:packages": "make clean-packages",
37
+ "dev": "PORT=1998 PUBLIC_PATH=/catalog openedx dev",
38
+ "dev:site": "make dev-site",
39
+ "dev:packages": "make dev-packages",
40
+ "i18n_extract": "openedx formatjs extract",
41
+ "lint": "openedx lint .",
42
+ "lint:fix": "openedx lint --fix .",
43
+ "prepack": "npm run clean && npm run build",
44
+ "snapshot": "openedx test --updateSnapshot",
45
+ "test": "openedx test --coverage --passWithNoTests",
46
+ "translations:pull": "openedx translations:pull",
47
+ "watch:build": "nodemon --exec 'npm run build'"
48
+ },
49
+ "author": "Open edX",
50
+ "license": "AGPL-3.0",
51
+ "homepage": "https://github.com/openedx/frontend-app-catalog#readme",
52
+ "publishConfig": {
53
+ "access": "public"
54
+ },
55
+ "bugs": {
56
+ "url": "https://github.com/openedx/frontend-app-catalog/issues"
57
+ },
58
+ "dependencies": {
59
+ "@edx/openedx-atlas": "^0.7.0",
60
+ "lodash.capitalize": "^4.2.1",
61
+ "react-helmet": "^6.1.0"
62
+ },
63
+ "devDependencies": {
64
+ "@edx/browserslist-config": "^1.5.0",
65
+ "@testing-library/jest-dom": "^6.9.1",
66
+ "@testing-library/react": "^16.3.0",
67
+ "@testing-library/user-event": "^14.6.1",
68
+ "@types/jest": "^29.5.14",
69
+ "@types/lodash.capitalize": "^4.2.9",
70
+ "@types/react": "^18",
71
+ "@types/react-dom": "^18",
72
+ "jest": "^29",
73
+ "nodemon": "^3.1.14",
74
+ "tsc-alias": "^1.8.16",
75
+ "turbo": "^2.9.2"
76
+ },
77
+ "peerDependencies": {
78
+ "@openedx/frontend-base": "^1.0.0 || 0.0.0-dev",
79
+ "@openedx/paragon": "^23",
80
+ "@tanstack/react-query": "^5",
81
+ "react": "^18",
82
+ "react-dom": "^18",
83
+ "react-router": "^6",
84
+ "react-router-dom": "^6"
85
+ }
86
+ }