@openedx/frontend-app-learner-dashboard 1.0.0-alpha.5 → 1.0.0-alpha.7

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 (764) hide show
  1. package/dist/Main.d.ts +2 -0
  2. package/dist/Main.js +9 -0
  3. package/dist/Main.js.map +1 -0
  4. package/dist/app.d.ts +3 -0
  5. package/dist/app.js +22 -0
  6. package/dist/app.js.map +1 -0
  7. package/dist/components/Banner.d.ts +24 -0
  8. package/dist/components/Banner.js +19 -0
  9. package/dist/components/Banner.js.map +1 -0
  10. package/dist/constants.d.ts +1 -0
  11. package/{src/constants.ts → dist/constants.js} +1 -0
  12. package/dist/constants.js.map +1 -0
  13. package/dist/containers/CourseCard/components/CourseCardActions/ActionButton/hooks.d.ts +2 -0
  14. package/dist/containers/CourseCard/components/CourseCardActions/ActionButton/hooks.js +7 -0
  15. package/dist/containers/CourseCard/components/CourseCardActions/ActionButton/hooks.js.map +1 -0
  16. package/dist/containers/CourseCard/components/CourseCardActions/ActionButton/index.d.ts +2 -0
  17. package/dist/containers/CourseCard/components/CourseCardActions/ActionButton/index.js +10 -0
  18. package/dist/containers/CourseCard/components/CourseCardActions/ActionButton/index.js.map +1 -0
  19. package/dist/containers/CourseCard/components/CourseCardActions/BeginCourseButton.d.ts +10 -0
  20. package/dist/containers/CourseCard/components/CourseCardActions/BeginCourseButton.js +31 -0
  21. package/dist/containers/CourseCard/components/CourseCardActions/BeginCourseButton.js.map +1 -0
  22. package/dist/containers/CourseCard/components/CourseCardActions/ResumeButton.d.ts +10 -0
  23. package/dist/containers/CourseCard/components/CourseCardActions/ResumeButton.js +31 -0
  24. package/dist/containers/CourseCard/components/CourseCardActions/ResumeButton.js.map +1 -0
  25. package/dist/containers/CourseCard/components/CourseCardActions/SelectSessionButton.d.ts +10 -0
  26. package/dist/containers/CourseCard/components/CourseCardActions/SelectSessionButton.js +19 -0
  27. package/dist/containers/CourseCard/components/CourseCardActions/SelectSessionButton.js.map +1 -0
  28. package/dist/containers/CourseCard/components/CourseCardActions/ViewCourseButton.d.ts +10 -0
  29. package/dist/containers/CourseCard/components/CourseCardActions/ViewCourseButton.js +23 -0
  30. package/dist/containers/CourseCard/components/CourseCardActions/ViewCourseButton.js.map +1 -0
  31. package/dist/containers/CourseCard/components/CourseCardActions/index.d.ts +10 -0
  32. package/dist/containers/CourseCard/components/CourseCardActions/index.js +26 -0
  33. package/dist/containers/CourseCard/components/CourseCardActions/index.js.map +1 -0
  34. package/dist/containers/CourseCard/components/CourseCardActions/messages.d.ts +32 -0
  35. package/dist/containers/CourseCard/components/CourseCardActions/messages.js +25 -0
  36. package/dist/containers/CourseCard/components/CourseCardActions/messages.js.map +1 -0
  37. package/dist/containers/CourseCard/components/CourseCardBanners/CertificateBanner.d.ts +10 -0
  38. package/dist/containers/CourseCard/components/CourseCardBanners/CertificateBanner.js +63 -0
  39. package/dist/containers/CourseCard/components/CourseCardBanners/CertificateBanner.js.map +1 -0
  40. package/dist/containers/CourseCard/components/CourseCardBanners/CourseBanner.d.ts +10 -0
  41. package/dist/containers/CourseCard/components/CourseCardBanners/CourseBanner.js +36 -0
  42. package/dist/containers/CourseCard/components/CourseCardBanners/CourseBanner.js.map +1 -0
  43. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.d.ts +17 -0
  44. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.js +58 -0
  45. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.js.map +1 -0
  46. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/index.d.ts +10 -0
  47. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/index.js +23 -0
  48. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/index.js.map +1 -0
  49. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/messages.d.ts +16 -0
  50. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/messages.js +15 -0
  51. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/messages.js.map +1 -0
  52. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/ApprovedContent.d.ts +10 -0
  53. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/ApprovedContent.js +30 -0
  54. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/ApprovedContent.js.map +1 -0
  55. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/EligibleContent.d.ts +10 -0
  56. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/EligibleContent.js +26 -0
  57. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/EligibleContent.js.map +1 -0
  58. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/MustRequestContent.d.ts +10 -0
  59. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/MustRequestContent.js +27 -0
  60. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/MustRequestContent.js.map +1 -0
  61. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/PendingContent.d.ts +10 -0
  62. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/PendingContent.js +23 -0
  63. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/PendingContent.js.map +1 -0
  64. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/RejectedContent.d.ts +10 -0
  65. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/RejectedContent.js +22 -0
  66. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/RejectedContent.js.map +1 -0
  67. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditContent.d.ts +30 -0
  68. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditContent.js +27 -0
  69. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditContent.js.map +1 -0
  70. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/hooks.d.ts +5 -0
  71. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/hooks.js +12 -0
  72. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/hooks.js.map +1 -0
  73. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/index.d.ts +19 -0
  74. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/index.js +24 -0
  75. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/index.js.map +1 -0
  76. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/ProviderLink.d.ts +10 -0
  77. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/ProviderLink.js +16 -0
  78. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/ProviderLink.js.map +1 -0
  79. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/hooks.d.ts +9 -0
  80. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/hooks.js +31 -0
  81. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/hooks.js.map +1 -0
  82. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/messages.d.ts +88 -0
  83. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/messages.js +60 -0
  84. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/messages.js.map +1 -0
  85. package/dist/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.d.ts +10 -0
  86. package/dist/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.js +42 -0
  87. package/dist/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.js.map +1 -0
  88. package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/ProgramsList.d.ts +13 -0
  89. package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/ProgramsList.js +12 -0
  90. package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/ProgramsList.js.map +1 -0
  91. package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/index.d.ts +10 -0
  92. package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/index.js +23 -0
  93. package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/index.js.map +1 -0
  94. package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/messages.d.ts +40 -0
  95. package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/messages.js +30 -0
  96. package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/messages.js.map +1 -0
  97. package/dist/containers/CourseCard/components/CourseCardBanners/index.d.ts +10 -0
  98. package/dist/containers/CourseCard/components/CourseCardBanners/index.js +22 -0
  99. package/dist/containers/CourseCard/components/CourseCardBanners/index.js.map +1 -0
  100. package/dist/containers/CourseCard/components/CourseCardBanners/messages.d.ts +160 -0
  101. package/dist/containers/CourseCard/components/CourseCardBanners/messages.js +105 -0
  102. package/dist/containers/CourseCard/components/CourseCardBanners/messages.js.map +1 -0
  103. package/dist/containers/CourseCard/components/CourseCardDetails/hooks.d.ts +16 -0
  104. package/dist/containers/CourseCard/components/CourseCardDetails/hooks.js +51 -0
  105. package/dist/containers/CourseCard/components/CourseCardDetails/hooks.js.map +1 -0
  106. package/dist/containers/CourseCard/components/CourseCardDetails/index.d.ts +11 -0
  107. package/dist/containers/CourseCard/components/CourseCardDetails/index.js +16 -0
  108. package/dist/containers/CourseCard/components/CourseCardDetails/index.js.map +1 -0
  109. package/dist/containers/CourseCard/components/CourseCardDetails/messages.d.ts +56 -0
  110. package/dist/containers/CourseCard/components/CourseCardDetails/messages.js +40 -0
  111. package/dist/containers/CourseCard/components/CourseCardDetails/messages.js.map +1 -0
  112. package/dist/containers/CourseCard/components/CourseCardImage.d.ts +13 -0
  113. package/dist/containers/CourseCard/components/CourseCardImage.js +35 -0
  114. package/dist/containers/CourseCard/components/CourseCardImage.js.map +1 -0
  115. package/dist/containers/CourseCard/components/CourseCardMenu/SocialShareMenu.d.ts +17 -0
  116. package/dist/containers/CourseCard/components/CourseCardMenu/SocialShareMenu.js +43 -0
  117. package/dist/containers/CourseCard/components/CourseCardMenu/SocialShareMenu.js.map +1 -0
  118. package/dist/containers/CourseCard/components/CourseCardMenu/hooks.d.ts +26 -0
  119. package/dist/containers/CourseCard/components/CourseCardMenu/hooks.js +67 -0
  120. package/dist/containers/CourseCard/components/CourseCardMenu/hooks.js.map +1 -0
  121. package/dist/containers/CourseCard/components/CourseCardMenu/index.d.ts +13 -0
  122. package/dist/containers/CourseCard/components/CourseCardMenu/index.js +34 -0
  123. package/dist/containers/CourseCard/components/CourseCardMenu/index.js.map +1 -0
  124. package/dist/containers/CourseCard/components/CourseCardMenu/messages.d.ts +48 -0
  125. package/dist/containers/CourseCard/components/CourseCardMenu/messages.js +35 -0
  126. package/dist/containers/CourseCard/components/CourseCardMenu/messages.js.map +1 -0
  127. package/dist/containers/CourseCard/components/CourseCardTitle.d.ts +11 -0
  128. package/dist/containers/CourseCard/components/CourseCardTitle.js +22 -0
  129. package/dist/containers/CourseCard/components/CourseCardTitle.js.map +1 -0
  130. package/dist/containers/CourseCard/components/RelatedProgramsBadge/hooks.d.ts +11 -0
  131. package/dist/containers/CourseCard/components/RelatedProgramsBadge/hooks.js +29 -0
  132. package/dist/containers/CourseCard/components/RelatedProgramsBadge/hooks.js.map +1 -0
  133. package/dist/containers/CourseCard/components/RelatedProgramsBadge/index.d.ts +10 -0
  134. package/dist/containers/CourseCard/components/RelatedProgramsBadge/index.js +20 -0
  135. package/dist/containers/CourseCard/components/RelatedProgramsBadge/index.js.map +1 -0
  136. package/dist/containers/CourseCard/components/RelatedProgramsBadge/messages.d.ts +16 -0
  137. package/dist/containers/CourseCard/components/RelatedProgramsBadge/messages.js +14 -0
  138. package/dist/containers/CourseCard/components/RelatedProgramsBadge/messages.js.map +1 -0
  139. package/dist/containers/CourseCard/components/hooks.d.ts +8 -0
  140. package/dist/containers/CourseCard/components/hooks.js +25 -0
  141. package/dist/containers/CourseCard/components/hooks.js.map +1 -0
  142. package/dist/containers/CourseCard/hooks.d.ts +1 -0
  143. package/dist/containers/CourseCard/hooks.js +6 -0
  144. package/dist/containers/CourseCard/hooks.js.map +1 -0
  145. package/dist/containers/CourseCard/index.d.ts +10 -0
  146. package/dist/containers/CourseCard/index.js +22 -0
  147. package/dist/containers/CourseCard/index.js.map +1 -0
  148. package/dist/containers/CourseCard/messages.d.ts +32 -0
  149. package/dist/containers/CourseCard/messages.js +25 -0
  150. package/dist/containers/CourseCard/messages.js.map +1 -0
  151. package/dist/containers/CourseFilterControls/ActiveCourseFilters.d.ts +2 -0
  152. package/dist/containers/CourseFilterControls/ActiveCourseFilters.js +15 -0
  153. package/dist/containers/CourseFilterControls/ActiveCourseFilters.js.map +1 -0
  154. package/dist/containers/CourseFilterControls/CourseFilterControls.d.ts +2 -0
  155. package/dist/containers/CourseFilterControls/CourseFilterControls.js +41 -0
  156. package/dist/containers/CourseFilterControls/CourseFilterControls.js.map +1 -0
  157. package/dist/containers/CourseFilterControls/components/Checkbox.d.ts +10 -0
  158. package/dist/containers/CourseFilterControls/components/Checkbox.js +15 -0
  159. package/dist/containers/CourseFilterControls/components/Checkbox.js.map +1 -0
  160. package/dist/containers/CourseFilterControls/components/FilterForm.d.ts +13 -0
  161. package/dist/containers/CourseFilterControls/components/FilterForm.js +25 -0
  162. package/dist/containers/CourseFilterControls/components/FilterForm.js.map +1 -0
  163. package/dist/containers/CourseFilterControls/components/SortForm.d.ts +12 -0
  164. package/dist/containers/CourseFilterControls/components/SortForm.js +17 -0
  165. package/dist/containers/CourseFilterControls/components/SortForm.js.map +1 -0
  166. package/dist/containers/CourseFilterControls/index.d.ts +4 -0
  167. package/{src/containers/CourseFilterControls/index.jsx → dist/containers/CourseFilterControls/index.js} +1 -2
  168. package/dist/containers/CourseFilterControls/index.js.map +1 -0
  169. package/dist/containers/CourseFilterControls/messages.d.ts +88 -0
  170. package/dist/containers/CourseFilterControls/messages.js +60 -0
  171. package/dist/containers/CourseFilterControls/messages.js.map +1 -0
  172. package/dist/containers/CoursesPanel/CourseList/hooks.d.ts +2 -0
  173. package/{src → dist}/containers/CoursesPanel/CourseList/hooks.js +3 -4
  174. package/dist/containers/CoursesPanel/CourseList/hooks.js.map +1 -0
  175. package/dist/containers/CoursesPanel/CourseList/index.d.ts +16 -0
  176. package/dist/containers/CoursesPanel/CourseList/index.js +23 -0
  177. package/dist/containers/CoursesPanel/CourseList/index.js.map +1 -0
  178. package/dist/containers/CoursesPanel/NoCoursesView/index.d.ts +2 -0
  179. package/dist/containers/CoursesPanel/NoCoursesView/index.js +19 -0
  180. package/dist/containers/CoursesPanel/NoCoursesView/index.js.map +1 -0
  181. package/dist/containers/CoursesPanel/NoCoursesView/messages.d.ts +32 -0
  182. package/dist/containers/CoursesPanel/NoCoursesView/messages.js +25 -0
  183. package/dist/containers/CoursesPanel/NoCoursesView/messages.js.map +1 -0
  184. package/dist/containers/CoursesPanel/index.d.ts +5 -0
  185. package/dist/containers/CoursesPanel/index.js +45 -0
  186. package/dist/containers/CoursesPanel/index.js.map +1 -0
  187. package/dist/containers/CoursesPanel/messages.d.ts +8 -0
  188. package/dist/containers/CoursesPanel/messages.js +10 -0
  189. package/dist/containers/CoursesPanel/messages.js.map +1 -0
  190. package/dist/containers/Dashboard/DashboardLayout.d.ts +58 -0
  191. package/dist/containers/Dashboard/DashboardLayout.js +34 -0
  192. package/dist/containers/Dashboard/DashboardLayout.js.map +1 -0
  193. package/dist/containers/Dashboard/LoadingView.d.ts +2 -0
  194. package/dist/containers/Dashboard/LoadingView.js +10 -0
  195. package/dist/containers/Dashboard/LoadingView.js.map +1 -0
  196. package/dist/containers/Dashboard/hooks.d.ts +15 -0
  197. package/dist/containers/Dashboard/hooks.js +30 -0
  198. package/dist/containers/Dashboard/hooks.js.map +1 -0
  199. package/dist/containers/Dashboard/index.d.ts +2 -0
  200. package/dist/containers/Dashboard/index.js +23 -0
  201. package/dist/containers/Dashboard/index.js.map +1 -0
  202. package/dist/containers/EmailSettingsModal/hooks.d.ts +10 -0
  203. package/dist/containers/EmailSettingsModal/hooks.js +27 -0
  204. package/dist/containers/EmailSettingsModal/hooks.js.map +1 -0
  205. package/dist/containers/EmailSettingsModal/index.d.ts +14 -0
  206. package/dist/containers/EmailSettingsModal/index.js +20 -0
  207. package/dist/containers/EmailSettingsModal/index.js.map +1 -0
  208. package/dist/containers/EmailSettingsModal/messages.d.ts +49 -0
  209. package/dist/containers/EmailSettingsModal/messages.js +35 -0
  210. package/dist/containers/EmailSettingsModal/messages.js.map +1 -0
  211. package/dist/containers/RelatedProgramsModal/components/ProgramCard.d.ts +19 -0
  212. package/dist/containers/RelatedProgramsModal/components/ProgramCard.js +29 -0
  213. package/dist/containers/RelatedProgramsModal/components/ProgramCard.js.map +1 -0
  214. package/dist/containers/RelatedProgramsModal/components/messages.d.ts +32 -0
  215. package/dist/containers/RelatedProgramsModal/components/messages.js +24 -0
  216. package/dist/containers/RelatedProgramsModal/components/messages.js.map +1 -0
  217. package/dist/containers/RelatedProgramsModal/index.d.ts +14 -0
  218. package/dist/containers/RelatedProgramsModal/index.js +25 -0
  219. package/dist/containers/RelatedProgramsModal/index.js.map +1 -0
  220. package/dist/containers/RelatedProgramsModal/messages.d.ts +17 -0
  221. package/dist/containers/RelatedProgramsModal/messages.js +15 -0
  222. package/dist/containers/RelatedProgramsModal/messages.js.map +1 -0
  223. package/dist/containers/SelectSessionModal/constants.d.ts +1 -0
  224. package/{src → dist}/containers/SelectSessionModal/constants.js +1 -0
  225. package/dist/containers/SelectSessionModal/constants.js.map +1 -0
  226. package/dist/containers/SelectSessionModal/hooks.d.ts +17 -0
  227. package/dist/containers/SelectSessionModal/hooks.js +76 -0
  228. package/dist/containers/SelectSessionModal/hooks.js.map +1 -0
  229. package/dist/containers/SelectSessionModal/index.d.ts +2 -0
  230. package/dist/containers/SelectSessionModal/index.js +17 -0
  231. package/dist/containers/SelectSessionModal/index.js.map +1 -0
  232. package/dist/containers/SelectSessionModal/messages.d.ts +56 -0
  233. package/dist/containers/SelectSessionModal/messages.js +40 -0
  234. package/dist/containers/SelectSessionModal/messages.js.map +1 -0
  235. package/dist/containers/UnenrollConfirmModal/components/ConfirmPane.d.ts +14 -0
  236. package/dist/containers/UnenrollConfirmModal/components/ConfirmPane.js +22 -0
  237. package/dist/containers/UnenrollConfirmModal/components/ConfirmPane.js.map +1 -0
  238. package/dist/containers/UnenrollConfirmModal/components/FinishedPane.d.ts +12 -0
  239. package/dist/containers/UnenrollConfirmModal/components/FinishedPane.js +21 -0
  240. package/dist/containers/UnenrollConfirmModal/components/FinishedPane.js.map +1 -0
  241. package/dist/containers/UnenrollConfirmModal/components/ReasonPane.d.ts +22 -0
  242. package/dist/containers/UnenrollConfirmModal/components/ReasonPane.js +28 -0
  243. package/dist/containers/UnenrollConfirmModal/components/ReasonPane.js.map +1 -0
  244. package/dist/containers/UnenrollConfirmModal/components/messages.d.ts +80 -0
  245. package/dist/containers/UnenrollConfirmModal/components/messages.js +55 -0
  246. package/dist/containers/UnenrollConfirmModal/components/messages.js.map +1 -0
  247. package/dist/containers/UnenrollConfirmModal/constants.d.ts +65 -0
  248. package/dist/containers/UnenrollConfirmModal/constants.js +89 -0
  249. package/dist/containers/UnenrollConfirmModal/constants.js.map +1 -0
  250. package/dist/containers/UnenrollConfirmModal/hooks/index.d.ts +25 -0
  251. package/dist/containers/UnenrollConfirmModal/hooks/index.js +53 -0
  252. package/dist/containers/UnenrollConfirmModal/hooks/index.js.map +1 -0
  253. package/dist/containers/UnenrollConfirmModal/hooks/reasons.d.ts +15 -0
  254. package/dist/containers/UnenrollConfirmModal/hooks/reasons.js +53 -0
  255. package/dist/containers/UnenrollConfirmModal/hooks/reasons.js.map +1 -0
  256. package/dist/containers/UnenrollConfirmModal/index.d.ts +14 -0
  257. package/dist/containers/UnenrollConfirmModal/index.js +22 -0
  258. package/dist/containers/UnenrollConfirmModal/index.js.map +1 -0
  259. package/dist/data/constants/app.d.ts +4 -0
  260. package/{src → dist}/data/constants/app.js +8 -10
  261. package/dist/data/constants/app.js.map +1 -0
  262. package/dist/data/constants/course.d.ts +11 -0
  263. package/dist/data/constants/course.js +17 -0
  264. package/dist/data/constants/course.js.map +1 -0
  265. package/dist/data/constants/credit.d.ts +5 -0
  266. package/{src → dist}/data/constants/credit.js +4 -5
  267. package/dist/data/constants/credit.js.map +1 -0
  268. package/dist/data/constants/files.d.ts +4 -0
  269. package/dist/data/constants/files.js +18 -0
  270. package/dist/data/constants/files.js.map +1 -0
  271. package/dist/data/constants/htmlKeys.d.ts +7 -0
  272. package/dist/data/constants/htmlKeys.js +19 -0
  273. package/dist/data/constants/htmlKeys.js.map +1 -0
  274. package/dist/data/constants/requests.d.ts +4 -0
  275. package/dist/data/constants/requests.js +31 -0
  276. package/dist/data/constants/requests.js.map +1 -0
  277. package/dist/data/context/FiltersProvider.d.ts +18 -0
  278. package/dist/data/context/FiltersProvider.js +37 -0
  279. package/dist/data/context/FiltersProvider.js.map +1 -0
  280. package/dist/data/context/MasqueradeProvider.d.ts +11 -0
  281. package/dist/data/context/MasqueradeProvider.js +19 -0
  282. package/dist/data/context/MasqueradeProvider.js.map +1 -0
  283. package/dist/data/context/SelectSessionProvider.d.ts +15 -0
  284. package/dist/data/context/SelectSessionProvider.js +40 -0
  285. package/dist/data/context/SelectSessionProvider.js.map +1 -0
  286. package/dist/data/context/index.d.ts +10 -0
  287. package/dist/data/context/index.js +8 -0
  288. package/dist/data/context/index.js.map +1 -0
  289. package/dist/data/contexts/GlobalDataContext.d.ts +16 -0
  290. package/dist/data/contexts/GlobalDataContext.js +14 -0
  291. package/dist/data/contexts/GlobalDataContext.js.map +1 -0
  292. package/dist/data/contexts/GlobalDataProvider.d.ts +3 -0
  293. package/dist/data/contexts/GlobalDataProvider.js +15 -0
  294. package/dist/data/contexts/GlobalDataProvider.js.map +1 -0
  295. package/dist/data/hooks/index.d.ts +3 -0
  296. package/dist/data/hooks/index.js +4 -0
  297. package/dist/data/hooks/index.js.map +1 -0
  298. package/dist/data/hooks/mutationHooks.d.ts +26 -0
  299. package/dist/data/hooks/mutationHooks.js +84 -0
  300. package/dist/data/hooks/mutationHooks.js.map +1 -0
  301. package/dist/data/hooks/queryHooks.d.ts +164 -0
  302. package/dist/data/hooks/queryHooks.js +57 -0
  303. package/dist/data/hooks/queryHooks.js.map +1 -0
  304. package/dist/data/hooks/queryKeys.d.ts +13 -0
  305. package/dist/data/hooks/queryKeys.js +15 -0
  306. package/dist/data/hooks/queryKeys.js.map +1 -0
  307. package/dist/data/services/lms/api.d.ts +32 -0
  308. package/dist/data/services/lms/api.js +80 -0
  309. package/dist/data/services/lms/api.js.map +1 -0
  310. package/dist/data/services/lms/constants.d.ts +8 -0
  311. package/{src → dist}/data/services/lms/constants.js +9 -11
  312. package/dist/data/services/lms/constants.js.map +1 -0
  313. package/dist/data/services/lms/index.d.ts +2 -0
  314. package/dist/data/services/lms/index.js +8 -0
  315. package/dist/data/services/lms/index.js.map +1 -0
  316. package/dist/data/services/lms/urls.d.ts +8 -0
  317. package/{src → dist}/data/services/lms/urls.js +18 -24
  318. package/dist/data/services/lms/urls.js.map +1 -0
  319. package/dist/data/services/lms/utils.d.ts +6 -0
  320. package/{src → dist}/data/services/lms/utils.js +21 -25
  321. package/dist/data/services/lms/utils.js.map +1 -0
  322. package/dist/data/services/segment/utils.d.ts +3 -0
  323. package/{src → dist}/data/services/segment/utils.js +7 -12
  324. package/dist/data/services/segment/utils.js.map +1 -0
  325. package/dist/hooks/index.d.ts +7 -0
  326. package/dist/hooks/index.js +11 -0
  327. package/dist/hooks/index.js.map +1 -0
  328. package/dist/hooks/useCourseData.d.ts +2 -0
  329. package/dist/hooks/useCourseData.js +8 -0
  330. package/dist/hooks/useCourseData.js.map +1 -0
  331. package/dist/hooks/useCourseTrackingEvent.d.ts +2 -0
  332. package/dist/hooks/useCourseTrackingEvent.js +13 -0
  333. package/dist/hooks/useCourseTrackingEvent.js.map +1 -0
  334. package/dist/hooks/useEntitlementInfo.d.ts +22 -0
  335. package/dist/hooks/useEntitlementInfo.js +29 -0
  336. package/dist/hooks/useEntitlementInfo.js.map +1 -0
  337. package/dist/hooks/useIsMasquerading.d.ts +2 -0
  338. package/dist/hooks/useIsMasquerading.js +9 -0
  339. package/dist/hooks/useIsMasquerading.js.map +1 -0
  340. package/dist/hooks/utils.d.ts +7 -0
  341. package/dist/hooks/utils.js +14 -0
  342. package/dist/hooks/utils.js.map +1 -0
  343. package/dist/i18n/index.d.ts +25 -0
  344. package/dist/i18n/index.js +26 -0
  345. package/dist/i18n/index.js.map +1 -0
  346. package/dist/index.js +4 -0
  347. package/dist/index.js.map +1 -0
  348. package/dist/messages.d.ts +13 -0
  349. package/dist/messages.js +15 -0
  350. package/dist/messages.js.map +1 -0
  351. package/dist/providers.d.ts +3 -0
  352. package/dist/providers.js +8 -0
  353. package/dist/providers.js.map +1 -0
  354. package/dist/routes.d.ts +13 -0
  355. package/dist/routes.js +28 -0
  356. package/dist/routes.js.map +1 -0
  357. package/dist/segment.d.ts +1 -0
  358. package/dist/segment.js +74 -0
  359. package/dist/segment.js.map +1 -0
  360. package/dist/slots/CourseBannerSlot/index.d.ts +10 -0
  361. package/dist/slots/CourseBannerSlot/index.js +10 -0
  362. package/dist/slots/CourseBannerSlot/index.js.map +1 -0
  363. package/dist/slots/CourseCardActionSlot/index.d.ts +10 -0
  364. package/dist/slots/CourseCardActionSlot/index.js +9 -0
  365. package/dist/slots/CourseCardActionSlot/index.js.map +1 -0
  366. package/dist/slots/CourseListSlot/index.d.ts +10 -0
  367. package/dist/slots/CourseListSlot/index.js +9 -0
  368. package/dist/slots/CourseListSlot/index.js.map +1 -0
  369. package/dist/slots/DashboardModalSlot/index.d.ts +2 -0
  370. package/dist/slots/DashboardModalSlot/index.js +5 -0
  371. package/dist/slots/DashboardModalSlot/index.js.map +1 -0
  372. package/dist/slots/NoCoursesViewSlot/index.d.ts +2 -0
  373. package/dist/slots/NoCoursesViewSlot/index.js +6 -0
  374. package/dist/slots/NoCoursesViewSlot/index.js.map +1 -0
  375. package/dist/slots/WidgetSidebarSlot/index.d.ts +2 -0
  376. package/dist/slots/WidgetSidebarSlot/index.js +6 -0
  377. package/dist/slots/WidgetSidebarSlot/index.js.map +1 -0
  378. package/dist/slots.d.ts +3 -0
  379. package/dist/slots.js +6 -0
  380. package/dist/slots.js.map +1 -0
  381. package/dist/testUtils.d.ts +86 -0
  382. package/dist/testUtils.js +183 -0
  383. package/dist/testUtils.js.map +1 -0
  384. package/dist/tracking/constants.d.ts +6 -0
  385. package/dist/tracking/constants.js +45 -0
  386. package/dist/tracking/constants.js.map +1 -0
  387. package/dist/tracking/index.d.ts +17 -0
  388. package/{src → dist}/tracking/index.js +8 -8
  389. package/dist/tracking/index.js.map +1 -0
  390. package/dist/tracking/trackers/course.d.ts +13 -0
  391. package/{src → dist}/tracking/trackers/course.js +11 -24
  392. package/dist/tracking/trackers/course.js.map +1 -0
  393. package/dist/tracking/trackers/credit.d.ts +5 -0
  394. package/{src → dist}/tracking/trackers/credit.js +4 -8
  395. package/dist/tracking/trackers/credit.js.map +1 -0
  396. package/dist/tracking/trackers/engagement.d.ts +9 -0
  397. package/{src → dist}/tracking/trackers/engagement.js +5 -10
  398. package/dist/tracking/trackers/engagement.js.map +1 -0
  399. package/dist/tracking/trackers/entitlements.d.ts +9 -0
  400. package/{src → dist}/tracking/trackers/entitlements.js +7 -14
  401. package/dist/tracking/trackers/entitlements.js.map +1 -0
  402. package/dist/tracking/trackers/filter.d.ts +7 -0
  403. package/{src → dist}/tracking/trackers/filter.js +6 -14
  404. package/dist/tracking/trackers/filter.js.map +1 -0
  405. package/dist/tracking/trackers/findCourses.d.ts +5 -0
  406. package/dist/tracking/trackers/findCourses.js +7 -0
  407. package/dist/tracking/trackers/findCourses.js.map +1 -0
  408. package/dist/tracking/trackers/socialShare.d.ts +2 -0
  409. package/{src → dist}/tracking/trackers/socialShare.js +3 -4
  410. package/dist/tracking/trackers/socialShare.js.map +1 -0
  411. package/dist/utils/StrictDict.d.ts +2 -0
  412. package/dist/utils/StrictDict.js +15 -0
  413. package/dist/utils/StrictDict.js.map +1 -0
  414. package/dist/utils/dataTransformers.d.ts +7 -0
  415. package/dist/utils/dataTransformers.js +58 -0
  416. package/dist/utils/dataTransformers.js.map +1 -0
  417. package/dist/utils/dateFormatter.d.ts +2 -0
  418. package/{src → dist}/utils/dateFormatter.js +4 -5
  419. package/dist/utils/dateFormatter.js.map +1 -0
  420. package/dist/utils/hooks.d.ts +5 -0
  421. package/{src → dist}/utils/hooks.js +4 -6
  422. package/dist/utils/hooks.js.map +1 -0
  423. package/dist/utils/index.d.ts +4 -0
  424. package/{src → dist}/utils/index.js +1 -1
  425. package/dist/utils/index.js.map +1 -0
  426. package/dist/utils/keyStore.d.ts +2 -0
  427. package/dist/utils/keyStore.js +4 -0
  428. package/dist/utils/keyStore.js.map +1 -0
  429. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.d.ts +10 -0
  430. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.js +34 -0
  431. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.js.map +1 -0
  432. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/index.d.ts +2 -0
  433. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/index.js +19 -0
  434. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/index.js.map +1 -0
  435. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/messages.d.ts +48 -0
  436. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/messages.js +35 -0
  437. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/messages.js.map +1 -0
  438. package/dist/widgets/LearnerDashboardHeader/CoursesLink.d.ts +1 -0
  439. package/dist/widgets/LearnerDashboardHeader/CoursesLink.js +8 -0
  440. package/dist/widgets/LearnerDashboardHeader/CoursesLink.js.map +1 -0
  441. package/dist/widgets/LearnerDashboardHeader/DiscoverLinkMenuItem.d.ts +3 -0
  442. package/dist/widgets/LearnerDashboardHeader/DiscoverLinkMenuItem.js +17 -0
  443. package/dist/widgets/LearnerDashboardHeader/DiscoverLinkMenuItem.js.map +1 -0
  444. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.d.ts +22 -0
  445. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.js +44 -0
  446. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.js.map +1 -0
  447. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/index.d.ts +2 -0
  448. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/index.js +20 -0
  449. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/index.js.map +1 -0
  450. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/messages.d.ts +48 -0
  451. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/messages.js +35 -0
  452. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/messages.js.map +1 -0
  453. package/dist/widgets/LearnerDashboardHeader/OrderHistoryLinkMenuItem.d.ts +3 -0
  454. package/dist/widgets/LearnerDashboardHeader/OrderHistoryLinkMenuItem.js +15 -0
  455. package/dist/widgets/LearnerDashboardHeader/OrderHistoryLinkMenuItem.js.map +1 -0
  456. package/dist/widgets/LearnerDashboardHeader/ProgramsLinkMenuItem.d.ts +3 -0
  457. package/dist/widgets/LearnerDashboardHeader/ProgramsLinkMenuItem.js +13 -0
  458. package/dist/widgets/LearnerDashboardHeader/ProgramsLinkMenuItem.js.map +1 -0
  459. package/dist/widgets/LearnerDashboardHeader/SupportLinkMenuItem.d.ts +3 -0
  460. package/dist/widgets/LearnerDashboardHeader/SupportLinkMenuItem.js +15 -0
  461. package/dist/widgets/LearnerDashboardHeader/SupportLinkMenuItem.js.map +1 -0
  462. package/dist/widgets/LearnerDashboardHeader/app.d.ts +3 -0
  463. package/dist/widgets/LearnerDashboardHeader/app.js +69 -0
  464. package/dist/widgets/LearnerDashboardHeader/app.js.map +1 -0
  465. package/dist/widgets/LearnerDashboardHeader/hooks.d.ts +9 -0
  466. package/dist/widgets/LearnerDashboardHeader/hooks.js +15 -0
  467. package/dist/widgets/LearnerDashboardHeader/hooks.js.map +1 -0
  468. package/dist/widgets/LearnerDashboardHeader/index.js +2 -0
  469. package/dist/widgets/LearnerDashboardHeader/index.js.map +1 -0
  470. package/dist/widgets/LearnerDashboardHeader/messages.d.ts +136 -0
  471. package/dist/widgets/LearnerDashboardHeader/messages.js +90 -0
  472. package/dist/widgets/LearnerDashboardHeader/messages.js.map +1 -0
  473. package/dist/widgets/LookingForChallengeWidget/index.d.ts +6 -0
  474. package/dist/widgets/LookingForChallengeWidget/index.js +22 -0
  475. package/dist/widgets/LookingForChallengeWidget/index.js.map +1 -0
  476. package/dist/widgets/LookingForChallengeWidget/messages.d.ts +16 -0
  477. package/dist/widgets/LookingForChallengeWidget/messages.js +15 -0
  478. package/dist/widgets/LookingForChallengeWidget/messages.js.map +1 -0
  479. package/dist/widgets/LookingForChallengeWidget/track.d.ts +7 -0
  480. package/{src → dist}/widgets/LookingForChallengeWidget/track.js +5 -7
  481. package/dist/widgets/LookingForChallengeWidget/track.js.map +1 -0
  482. package/package.json +26 -18
  483. package/src/Main.jsx +0 -20
  484. package/src/__mocks__/file.js +0 -1
  485. package/src/__mocks__/svg.js +0 -1
  486. package/src/app.ts +0 -23
  487. package/src/components/Banner.jsx +0 -26
  488. package/src/components/Banner.test.jsx +0 -27
  489. package/src/containers/CourseCard/components/CourseCardActions/ActionButton/hooks.js +0 -8
  490. package/src/containers/CourseCard/components/CourseCardActions/ActionButton/hooks.test.js +0 -48
  491. package/src/containers/CourseCard/components/CourseCardActions/ActionButton/index.jsx +0 -16
  492. package/src/containers/CourseCard/components/CourseCardActions/ActionButton/index.test.jsx +0 -28
  493. package/src/containers/CourseCard/components/CourseCardActions/BeginCourseButton.jsx +0 -38
  494. package/src/containers/CourseCard/components/CourseCardActions/BeginCourseButton.test.jsx +0 -89
  495. package/src/containers/CourseCard/components/CourseCardActions/ResumeButton.jsx +0 -38
  496. package/src/containers/CourseCard/components/CourseCardActions/ResumeButton.test.jsx +0 -84
  497. package/src/containers/CourseCard/components/CourseCardActions/SelectSessionButton.jsx +0 -28
  498. package/src/containers/CourseCard/components/CourseCardActions/SelectSessionButton.test.jsx +0 -43
  499. package/src/containers/CourseCard/components/CourseCardActions/ViewCourseButton.jsx +0 -37
  500. package/src/containers/CourseCard/components/CourseCardActions/ViewCourseButton.test.jsx +0 -55
  501. package/src/containers/CourseCard/components/CourseCardActions/index.jsx +0 -42
  502. package/src/containers/CourseCard/components/CourseCardActions/index.test.jsx +0 -95
  503. package/src/containers/CourseCard/components/CourseCardActions/messages.js +0 -26
  504. package/src/containers/CourseCard/components/CourseCardBanners/CertificateBanner.jsx +0 -95
  505. package/src/containers/CourseCard/components/CourseCardBanners/CertificateBanner.test.jsx +0 -242
  506. package/src/containers/CourseCard/components/CourseCardBanners/CourseBanner.jsx +0 -57
  507. package/src/containers/CourseCard/components/CourseCardBanners/CourseBanner.test.jsx +0 -104
  508. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.js +0 -42
  509. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.test.js +0 -90
  510. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/index.jsx +0 -36
  511. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/index.test.jsx +0 -65
  512. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/messages.js +0 -16
  513. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/ApprovedContent.jsx +0 -34
  514. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/ApprovedContent.test.jsx +0 -81
  515. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/EligibleContent.jsx +0 -34
  516. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/EligibleContent.test.jsx +0 -74
  517. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/MustRequestContent.jsx +0 -35
  518. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/MustRequestContent.test.jsx +0 -104
  519. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/PendingContent.jsx +0 -29
  520. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/PendingContent.test.jsx +0 -69
  521. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/RejectedContent.jsx +0 -27
  522. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/RejectedContent.test.jsx +0 -44
  523. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditContent.jsx +0 -51
  524. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditContent.test.jsx +0 -70
  525. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/hooks.js +0 -13
  526. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/hooks.test.js +0 -51
  527. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/index.jsx +0 -43
  528. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/index.test.jsx +0 -66
  529. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/ref.test.jsx +0 -31
  530. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/ProviderLink.jsx +0 -24
  531. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/ProviderLink.test.jsx +0 -44
  532. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/hooks.js +0 -27
  533. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/hooks.test.js +0 -56
  534. package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/messages.js +0 -61
  535. package/src/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.jsx +0 -66
  536. package/src/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.test.jsx +0 -72
  537. package/src/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/ProgramsList.jsx +0 -23
  538. package/src/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/ProgramsList.test.jsx +0 -31
  539. package/src/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/index.jsx +0 -38
  540. package/src/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/index.test.jsx +0 -49
  541. package/src/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/messages.js +0 -31
  542. package/src/containers/CourseCard/components/CourseCardBanners/index.jsx +0 -28
  543. package/src/containers/CourseCard/components/CourseCardBanners/index.test.jsx +0 -61
  544. package/src/containers/CourseCard/components/CourseCardBanners/messages.js +0 -106
  545. package/src/containers/CourseCard/components/CourseCardDetails/hooks.js +0 -67
  546. package/src/containers/CourseCard/components/CourseCardDetails/hooks.test.js +0 -196
  547. package/src/containers/CourseCard/components/CourseCardDetails/index.jsx +0 -45
  548. package/src/containers/CourseCard/components/CourseCardDetails/index.test.jsx +0 -83
  549. package/src/containers/CourseCard/components/CourseCardDetails/messages.js +0 -41
  550. package/src/containers/CourseCard/components/CourseCardImage.jsx +0 -68
  551. package/src/containers/CourseCard/components/CourseCardImage.test.jsx +0 -73
  552. package/src/containers/CourseCard/components/CourseCardMenu/SocialShareMenu.jsx +0 -82
  553. package/src/containers/CourseCard/components/CourseCardMenu/SocialShareMenu.test.jsx +0 -206
  554. package/src/containers/CourseCard/components/CourseCardMenu/hooks.js +0 -59
  555. package/src/containers/CourseCard/components/CourseCardMenu/hooks.test.js +0 -146
  556. package/src/containers/CourseCard/components/CourseCardMenu/index.jsx +0 -84
  557. package/src/containers/CourseCard/components/CourseCardMenu/index.test.jsx +0 -180
  558. package/src/containers/CourseCard/components/CourseCardMenu/messages.js +0 -36
  559. package/src/containers/CourseCard/components/CourseCardTitle.jsx +0 -43
  560. package/src/containers/CourseCard/components/CourseCardTitle.test.jsx +0 -73
  561. package/src/containers/CourseCard/components/RelatedProgramsBadge/hooks.jsx +0 -35
  562. package/src/containers/CourseCard/components/RelatedProgramsBadge/hooks.test.js +0 -90
  563. package/src/containers/CourseCard/components/RelatedProgramsBadge/index.jsx +0 -39
  564. package/src/containers/CourseCard/components/RelatedProgramsBadge/index.test.jsx +0 -34
  565. package/src/containers/CourseCard/components/RelatedProgramsBadge/messages.js +0 -13
  566. package/src/containers/CourseCard/components/hooks.js +0 -33
  567. package/src/containers/CourseCard/components/hooks.test.js +0 -176
  568. package/src/containers/CourseCard/hooks.js +0 -23
  569. package/src/containers/CourseCard/hooks.test.js +0 -58
  570. package/src/containers/CourseCard/index.jsx +0 -50
  571. package/src/containers/CourseCard/index.test.jsx +0 -50
  572. package/src/containers/CourseCard/messages.js +0 -26
  573. package/src/containers/CourseFilterControls/ActiveCourseFilters.jsx +0 -40
  574. package/src/containers/CourseFilterControls/ActiveCourseFilters.test.jsx +0 -28
  575. package/src/containers/CourseFilterControls/CourseFilterControls.jsx +0 -115
  576. package/src/containers/CourseFilterControls/CourseFilterControls.test.jsx +0 -75
  577. package/src/containers/CourseFilterControls/components/Checkbox.jsx +0 -21
  578. package/src/containers/CourseFilterControls/components/Checkbox.test.jsx +0 -18
  579. package/src/containers/CourseFilterControls/components/FilterForm.jsx +0 -45
  580. package/src/containers/CourseFilterControls/components/FilterForm.test.jsx +0 -54
  581. package/src/containers/CourseFilterControls/components/SortForm.jsx +0 -39
  582. package/src/containers/CourseFilterControls/components/SortForm.test.jsx +0 -29
  583. package/src/containers/CourseFilterControls/hooks.js +0 -60
  584. package/src/containers/CourseFilterControls/hooks.test.js +0 -125
  585. package/src/containers/CourseFilterControls/messages.js +0 -61
  586. package/src/containers/CoursesPanel/CourseList/index.jsx +0 -54
  587. package/src/containers/CoursesPanel/CourseList/index.test.jsx +0 -81
  588. package/src/containers/CoursesPanel/NoCoursesView/index.jsx +0 -40
  589. package/src/containers/CoursesPanel/NoCoursesView/index.test.jsx +0 -38
  590. package/src/containers/CoursesPanel/NoCoursesView/messages.js +0 -26
  591. package/src/containers/CoursesPanel/hooks.js +0 -54
  592. package/src/containers/CoursesPanel/hooks.test.js +0 -115
  593. package/src/containers/CoursesPanel/index.jsx +0 -40
  594. package/src/containers/CoursesPanel/index.test.jsx +0 -92
  595. package/src/containers/CoursesPanel/messages.js +0 -11
  596. package/src/containers/Dashboard/DashboardLayout.jsx +0 -54
  597. package/src/containers/Dashboard/DashboardLayout.test.jsx +0 -106
  598. package/src/containers/Dashboard/LoadingView.jsx +0 -20
  599. package/src/containers/Dashboard/LoadingView.test.jsx +0 -18
  600. package/src/containers/Dashboard/hooks.js +0 -34
  601. package/src/containers/Dashboard/hooks.test.js +0 -90
  602. package/src/containers/Dashboard/index.jsx +0 -43
  603. package/src/containers/Dashboard/index.test.jsx +0 -81
  604. package/src/containers/EmailSettingsModal/hooks.js +0 -32
  605. package/src/containers/EmailSettingsModal/hooks.test.js +0 -71
  606. package/src/containers/EmailSettingsModal/index.jsx +0 -58
  607. package/src/containers/EmailSettingsModal/index.test.jsx +0 -74
  608. package/src/containers/EmailSettingsModal/messages.js +0 -37
  609. package/src/containers/RelatedProgramsModal/components/ProgramCard.jsx +0 -66
  610. package/src/containers/RelatedProgramsModal/components/ProgramCard.test.jsx +0 -43
  611. package/src/containers/RelatedProgramsModal/components/messages.js +0 -24
  612. package/src/containers/RelatedProgramsModal/hooks.js +0 -10
  613. package/src/containers/RelatedProgramsModal/index.jsx +0 -62
  614. package/src/containers/RelatedProgramsModal/index.test.jsx +0 -72
  615. package/src/containers/RelatedProgramsModal/messages.js +0 -16
  616. package/src/containers/SelectSessionModal/hooks.js +0 -77
  617. package/src/containers/SelectSessionModal/hooks.test.js +0 -204
  618. package/src/containers/SelectSessionModal/index.jsx +0 -75
  619. package/src/containers/SelectSessionModal/index.test.jsx +0 -66
  620. package/src/containers/SelectSessionModal/messages.js +0 -41
  621. package/src/containers/UnenrollConfirmModal/components/ConfirmPane.jsx +0 -36
  622. package/src/containers/UnenrollConfirmModal/components/ConfirmPane.test.jsx +0 -30
  623. package/src/containers/UnenrollConfirmModal/components/FinishedPane.jsx +0 -35
  624. package/src/containers/UnenrollConfirmModal/components/FinishedPane.test.jsx +0 -46
  625. package/src/containers/UnenrollConfirmModal/components/ReasonPane.jsx +0 -65
  626. package/src/containers/UnenrollConfirmModal/components/ReasonPane.test.jsx +0 -43
  627. package/src/containers/UnenrollConfirmModal/components/messages.js +0 -56
  628. package/src/containers/UnenrollConfirmModal/constants.js +0 -86
  629. package/src/containers/UnenrollConfirmModal/hooks/index.js +0 -55
  630. package/src/containers/UnenrollConfirmModal/hooks/index.test.js +0 -149
  631. package/src/containers/UnenrollConfirmModal/hooks/reasons.js +0 -79
  632. package/src/containers/UnenrollConfirmModal/hooks/reasons.test.js +0 -192
  633. package/src/containers/UnenrollConfirmModal/index.jsx +0 -59
  634. package/src/containers/UnenrollConfirmModal/index.test.jsx +0 -78
  635. package/src/data/constants/app.test.js +0 -12
  636. package/src/data/constants/course.js +0 -17
  637. package/src/data/constants/files.js +0 -20
  638. package/src/data/constants/htmlKeys.js +0 -21
  639. package/src/data/constants/requests.js +0 -34
  640. package/src/data/contexts/GlobalDataContext.jsx +0 -15
  641. package/src/data/contexts/GlobalDataProvider.jsx +0 -23
  642. package/src/data/contexts/MasqueradeUserContext.jsx +0 -16
  643. package/src/data/contexts/MasqueradeUserProvider.jsx +0 -31
  644. package/src/data/redux/app/index.js +0 -2
  645. package/src/data/redux/app/reducer.js +0 -81
  646. package/src/data/redux/app/reducer.test.js +0 -124
  647. package/src/data/redux/app/selectors/appSelectors.js +0 -23
  648. package/src/data/redux/app/selectors/appSelectors.test.js +0 -28
  649. package/src/data/redux/app/selectors/courseCard.js +0 -155
  650. package/src/data/redux/app/selectors/courseCard.test.js +0 -398
  651. package/src/data/redux/app/selectors/currentList.js +0 -60
  652. package/src/data/redux/app/selectors/currentList.test.js +0 -187
  653. package/src/data/redux/app/selectors/index.js +0 -13
  654. package/src/data/redux/app/selectors/simpleSelectors.js +0 -38
  655. package/src/data/redux/app/selectors/simpleSelectors.test.js +0 -75
  656. package/src/data/redux/hooks/app.js +0 -106
  657. package/src/data/redux/hooks/index.js +0 -2
  658. package/src/data/redux/hooks/requests.js +0 -47
  659. package/src/data/redux/index.js +0 -37
  660. package/src/data/redux/requests/index.js +0 -2
  661. package/src/data/redux/requests/reducer.js +0 -53
  662. package/src/data/redux/requests/reducer.test.js +0 -62
  663. package/src/data/redux/requests/selectors.js +0 -28
  664. package/src/data/redux/requests/selectors.test.js +0 -82
  665. package/src/data/services/lms/api.js +0 -77
  666. package/src/data/services/lms/api.test.js +0 -156
  667. package/src/data/services/lms/fakeData/courses.js +0 -828
  668. package/src/data/services/lms/fakeData/testUtils.js +0 -40
  669. package/src/data/services/lms/index.js +0 -8
  670. package/src/data/services/lms/urls.test.js +0 -51
  671. package/src/data/services/lms/utils.test.js +0 -40
  672. package/src/data/services/segment/utils.test.js +0 -36
  673. package/src/data/store.js +0 -25
  674. package/src/data/store.test.js +0 -47
  675. package/src/data/utils.js +0 -19
  676. package/src/data/utils.test.js +0 -29
  677. package/src/hooks/api.js +0 -123
  678. package/src/hooks/api.test.js +0 -268
  679. package/src/hooks/index.js +0 -7
  680. package/src/hooks/utils.js +0 -17
  681. package/src/hooks/utils.test.js +0 -20
  682. package/src/i18n/index.js +0 -25
  683. package/src/messages.js +0 -16
  684. package/src/providers.ts +0 -11
  685. package/src/routes.jsx +0 -14
  686. package/src/segment.js +0 -84
  687. package/src/setupTest.jsx +0 -45
  688. package/src/slots/CourseBannerSlot/README.md +0 -44
  689. package/src/slots/CourseBannerSlot/images/course_banner_slot_default.png +0 -0
  690. package/src/slots/CourseBannerSlot/images/custom_course_banner.png +0 -0
  691. package/src/slots/CourseBannerSlot/index.jsx +0 -18
  692. package/src/slots/CourseCardActionSlot/README.md +0 -53
  693. package/src/slots/CourseCardActionSlot/images/post_course_card_action.png +0 -0
  694. package/src/slots/CourseCardActionSlot/index.jsx +0 -15
  695. package/src/slots/CourseListSlot/README.md +0 -54
  696. package/src/slots/CourseListSlot/images/course_list_slot.png +0 -0
  697. package/src/slots/CourseListSlot/images/readme_custom_course_list.png +0 -0
  698. package/src/slots/CourseListSlot/index.jsx +0 -17
  699. package/src/slots/DashboardModalSlot/README.md +0 -30
  700. package/src/slots/DashboardModalSlot/images/dashboard_modal_slot.png +0 -0
  701. package/src/slots/DashboardModalSlot/index.jsx +0 -7
  702. package/src/slots/NoCoursesViewSlot/README.md +0 -34
  703. package/src/slots/NoCoursesViewSlot/images/no_course_view_slot.png +0 -0
  704. package/src/slots/NoCoursesViewSlot/images/readme_custom_no_courses.png +0 -0
  705. package/src/slots/NoCoursesViewSlot/index.jsx +0 -11
  706. package/src/slots/README.md +0 -8
  707. package/src/slots/WidgetSidebarSlot/README.md +0 -51
  708. package/src/slots/WidgetSidebarSlot/images/readme_custom_sidebar.png +0 -0
  709. package/src/slots/WidgetSidebarSlot/images/widget_sidebar_slot.png +0 -0
  710. package/src/slots/WidgetSidebarSlot/index.jsx +0 -10
  711. package/src/slots/WidgetSidebarSlot/index.test.jsx +0 -28
  712. package/src/slots.tsx +0 -9
  713. package/src/test/app.test.jsx +0 -245
  714. package/src/test/inspector.js +0 -44
  715. package/src/test/messages.js +0 -29
  716. package/src/test/utils.js +0 -3
  717. package/src/testUtils.js +0 -211
  718. package/src/tracking/constants.js +0 -50
  719. package/src/tracking/trackers/course.test.js +0 -80
  720. package/src/tracking/trackers/credit.test.js +0 -38
  721. package/src/tracking/trackers/engagement.test.js +0 -31
  722. package/src/tracking/trackers/entitlements.test.js +0 -34
  723. package/src/tracking/trackers/filter.test.js +0 -45
  724. package/src/tracking/trackers/findCourses.js +0 -16
  725. package/src/tracking/trackers/findCourses.test.js +0 -45
  726. package/src/tracking/trackers/socialShare.test.js +0 -17
  727. package/src/utils/StrictDict.js +0 -19
  728. package/src/utils/StrictDict.test.js +0 -58
  729. package/src/utils/keyStore.js +0 -10
  730. package/src/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.js +0 -45
  731. package/src/widgets/LearnerDashboardHeader/ConfirmEmailBanner/index.jsx +0 -66
  732. package/src/widgets/LearnerDashboardHeader/ConfirmEmailBanner/messages.js +0 -36
  733. package/src/widgets/LearnerDashboardHeader/CoursesLink.jsx +0 -14
  734. package/src/widgets/LearnerDashboardHeader/DiscoverLinkMenuItem.jsx +0 -30
  735. package/src/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.js +0 -69
  736. package/src/widgets/LearnerDashboardHeader/MasqueradeBar/index.jsx +0 -92
  737. package/src/widgets/LearnerDashboardHeader/MasqueradeBar/messages.js +0 -36
  738. package/src/widgets/LearnerDashboardHeader/OrderHistoryLinkMenuItem.jsx +0 -29
  739. package/src/widgets/LearnerDashboardHeader/ProgramsLinkMenuItem.jsx +0 -26
  740. package/src/widgets/LearnerDashboardHeader/SupportLinkMenuItem.jsx +0 -29
  741. package/src/widgets/LearnerDashboardHeader/app.tsx +0 -93
  742. package/src/widgets/LearnerDashboardHeader/hooks.js +0 -20
  743. package/src/widgets/LearnerDashboardHeader/messages.js +0 -91
  744. package/src/widgets/LookingForChallengeWidget/index.jsx +0 -47
  745. package/src/widgets/LookingForChallengeWidget/index.test.jsx +0 -38
  746. package/src/widgets/LookingForChallengeWidget/messages.js +0 -16
  747. /package/{src → dist}/app.scss +0 -0
  748. /package/{src → dist}/assets/empty-course.svg +0 -0
  749. /package/{src → dist}/assets/more-courses-sidewidget.svg +0 -0
  750. /package/{src → dist}/assets/verified-ribbon.png +0 -0
  751. /package/{src → dist}/containers/CourseCard/CourseCard.scss +0 -0
  752. /package/{src → dist}/containers/CourseCard/components/CourseCardDetails/index.scss +0 -0
  753. /package/{src → dist}/containers/CourseFilterControls/index.scss +0 -0
  754. /package/{src → dist}/containers/CoursesPanel/NoCoursesView/index.scss +0 -0
  755. /package/{src → dist}/containers/CoursesPanel/index.scss +0 -0
  756. /package/{src → dist}/containers/Dashboard/index.scss +0 -0
  757. /package/{src → dist}/containers/RelatedProgramsModal/components/index.scss +0 -0
  758. /package/{src → dist}/containers/RelatedProgramsModal/index.scss +0 -0
  759. /package/{src/index.ts → dist/index.d.ts} +0 -0
  760. /package/{src → dist}/widgets/LearnerDashboardHeader/ConfirmEmailBanner/ConfirmEmailBanner.scss +0 -0
  761. /package/{src → dist}/widgets/LearnerDashboardHeader/ConfirmEmailBanner/assets/confirm-email.svg +0 -0
  762. /package/{src → dist}/widgets/LearnerDashboardHeader/MasqueradeBar/index.scss +0 -0
  763. /package/{src/widgets/LearnerDashboardHeader/index.ts → dist/widgets/LearnerDashboardHeader/index.d.ts} +0 -0
  764. /package/{src → dist}/widgets/LookingForChallengeWidget/index.scss +0 -0
@@ -0,0 +1,105 @@
1
+ import { defineMessages } from '@openedx/frontend-base';
2
+ const messages = defineMessages({
3
+ auditAccessExpired: {
4
+ id: 'learner-dash.courseCard.banners.auditAccessExpired',
5
+ description: 'Audit access expiration banner message',
6
+ defaultMessage: 'Your audit access to this course has expired.',
7
+ },
8
+ findAnotherCourse: {
9
+ id: 'learner-dash.courseCard.banners.findAnotherCourse',
10
+ description: 'Action prompt taking learners to course exploration',
11
+ defaultMessage: 'Find another course',
12
+ },
13
+ certRestricted: {
14
+ id: 'learner-dash.courseCard.banners.certificateRestricted',
15
+ description: 'Restricted certificate warning message',
16
+ defaultMessage: 'Your Certificate of Achievement is being held pending confirmation that the issuance of your Certificate is in compliance with strict U.S. embargoes on Iran, Cuba, Syria, and Sudan. If you think our system has mistakenly identified you as being connected with one of those countries, please let us know by contacting {supportEmail}.',
17
+ },
18
+ certRestrictedNoEmail: {
19
+ id: 'learner-dash.courseCard.banners.certificateRestrictedNoEmail',
20
+ description: 'Restricted certificate warning message',
21
+ defaultMessage: 'Your Certificate of Achievement is being held pending confirmation that the issuance of your Certificate is in compliance with strict U.S. embargoes on Iran, Cuba, Syria, and Sudan. If you think our system has mistakenly identified you as being connected with one of those countries, please let us know.',
22
+ },
23
+ certRefundContactBilling: {
24
+ id: 'learner-dash.courseCard.banners.certificateRefundContactBilling',
25
+ description: 'Message to learners to contact billing for certificate refunds',
26
+ defaultMessage: 'If you would like a refund on your Certificate of Achievement, please contact our billing address {billingEmail}',
27
+ },
28
+ certRefundContactBillingNoEmail: {
29
+ id: 'learner-dash.courseCard.banners.certificateRefundContactBillingNoEmail',
30
+ description: 'Message to learners to contact billing for certificate refunds',
31
+ defaultMessage: 'If you would like a refund on your Certificate of Achievement, please contact us.',
32
+ },
33
+ passingGrade: {
34
+ id: 'learner-dash.courseCard.banners.passingGrade',
35
+ description: 'Message to learners with minimum passing grade for the course',
36
+ defaultMessage: 'Grade required to pass the course: {minPassingGrade}\u200f%',
37
+ },
38
+ notEligibleForCert: {
39
+ id: 'learner-dash.courseCard.banners.notEligibleForCert',
40
+ description: 'Certificate inelligibility message',
41
+ defaultMessage: 'You are not eligible for a certificate.',
42
+ },
43
+ viewGrades: {
44
+ id: 'learner-dash.courseCard.banners.viewGrades',
45
+ description: 'Gradses link text',
46
+ defaultMessage: 'View grades.',
47
+ },
48
+ certReady: {
49
+ id: 'learner-dash.courseCard.banners.certReady',
50
+ description: 'Certificate ready message',
51
+ defaultMessage: 'Congratulations. Your certificate is ready.',
52
+ },
53
+ viewCertificate: {
54
+ id: 'learner-dash.courseCard.banners.viewCertificate',
55
+ description: 'Certificate link text',
56
+ defaultMessage: 'View Certificate.',
57
+ },
58
+ certMinGrade: {
59
+ id: 'learner-dash.courseCard.banners.certMinGrade',
60
+ description: 'Passing grade requirement message',
61
+ defaultMessage: 'Grade required for a certificate: {minPassingGrade}\u200f%',
62
+ },
63
+ downloadCertificate: {
64
+ id: 'learner-dash.courseCard.banners.downloadCertificate',
65
+ description: 'Certificate download link text',
66
+ defaultMessage: 'Download Certificate.',
67
+ },
68
+ gradeAndCertReadyAfter: {
69
+ id: 'learner-dash.courseCard.banners.gradseAndCertReadyAfter',
70
+ description: 'Grade and certificate availability date message',
71
+ defaultMessage: 'Your grade and certificate will be ready after {availableDate}.',
72
+ },
73
+ entitlementUnavailable: {
74
+ id: 'learner-dash.courseCard.banners.entitlementUnavailable',
75
+ description: 'Entitlement course message when no sessions are available',
76
+ defaultMessage: 'There are no sessions available at the moment. The course team will create new sessions soon. If no sessions appear, please contact {emailLink} for information.',
77
+ },
78
+ entitlementExpiringSoon: {
79
+ id: 'learner-dash.courseCard.banners.entitlementExpiringSoon',
80
+ description: 'Entitlement course message when the entitlement is expiring soon.',
81
+ defaultMessage: 'You must {selectSessionButton} by {changeDeadline} to access the course.',
82
+ },
83
+ entitlementExpired: {
84
+ id: 'learner-dash.courseCard.banners.entitlementExpired',
85
+ description: 'Entitlement course message when the entitlement is expired.',
86
+ defaultMessage: 'You can no longer change sessions.',
87
+ },
88
+ selectSession: {
89
+ id: 'learner-dash.courseCard.banners.selectSession',
90
+ description: 'Entitlement session selection link text',
91
+ defaultMessage: 'select a session',
92
+ },
93
+ prerequisitesNotMet: {
94
+ id: 'learner-dash.courseCard.banners.prerequisitesNotMet',
95
+ description: 'Message to learners with unmet prerequisites',
96
+ defaultMessage: 'You can\'t access this course just yet because you have not met the pre-requisites.',
97
+ },
98
+ courseHasNotStarted: {
99
+ id: 'learner-dash.courseCard.banners.courseHasNotStarted',
100
+ description: 'Course has not started message',
101
+ defaultMessage: 'You can\'t access this course just yet because the course hasn\'t started yet. The course will start on {startDate}.',
102
+ },
103
+ });
104
+ export default messages;
105
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../src/containers/CourseCard/components/CourseCardBanners/messages.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,kBAAkB,EAAE;QAClB,EAAE,EAAE,oDAAoD;QACxD,WAAW,EAAE,wCAAwC;QACrD,cAAc,EAAE,+CAA+C;KAChE;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,mDAAmD;QACvD,WAAW,EAAE,qDAAqD;QAClE,cAAc,EAAE,qBAAqB;KACtC;IACD,cAAc,EAAE;QACd,EAAE,EAAE,uDAAuD;QAC3D,WAAW,EAAE,wCAAwC;QACrD,cAAc,EAAE,+UAA+U;KAChW;IACD,qBAAqB,EAAE;QACrB,EAAE,EAAE,8DAA8D;QAClE,WAAW,EAAE,wCAAwC;QACrD,cAAc,EAAE,kTAAkT;KACnU;IACD,wBAAwB,EAAE;QACxB,EAAE,EAAE,iEAAiE;QACrE,WAAW,EAAE,gEAAgE;QAC7E,cAAc,EAAE,kHAAkH;KACnI;IACD,+BAA+B,EAAE;QAC/B,EAAE,EAAE,wEAAwE;QAC5E,WAAW,EAAE,gEAAgE;QAC7E,cAAc,EAAE,mFAAmF;KACpG;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,8CAA8C;QAClD,WAAW,EAAE,+DAA+D;QAC5E,cAAc,EAAE,6DAA6D;KAC9E;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,oDAAoD;QACxD,WAAW,EAAE,oCAAoC;QACjD,cAAc,EAAE,yCAAyC;KAC1D;IACD,UAAU,EAAE;QACV,EAAE,EAAE,4CAA4C;QAChD,WAAW,EAAE,mBAAmB;QAChC,cAAc,EAAE,cAAc;KAC/B;IACD,SAAS,EAAE;QACT,EAAE,EAAE,2CAA2C;QAC/C,WAAW,EAAE,2BAA2B;QACxC,cAAc,EAAE,8CAA8C;KAC/D;IACD,eAAe,EAAE;QACf,EAAE,EAAE,iDAAiD;QACrD,WAAW,EAAE,uBAAuB;QACpC,cAAc,EAAE,mBAAmB;KACpC;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,8CAA8C;QAClD,WAAW,EAAE,mCAAmC;QAChD,cAAc,EAAE,4DAA4D;KAC7E;IACD,mBAAmB,EAAE;QACnB,EAAE,EAAE,qDAAqD;QACzD,WAAW,EAAE,gCAAgC;QAC7C,cAAc,EAAE,uBAAuB;KACxC;IACD,sBAAsB,EAAE;QACtB,EAAE,EAAE,yDAAyD;QAC7D,WAAW,EAAE,iDAAiD;QAC9D,cAAc,EAAE,iEAAiE;KAClF;IACD,sBAAsB,EAAE;QACtB,EAAE,EAAE,wDAAwD;QAC5D,WAAW,EAAE,2DAA2D;QACxE,cAAc,EAAE,oKAAoK;KACrL;IACD,uBAAuB,EAAE;QACvB,EAAE,EAAE,yDAAyD;QAC7D,WAAW,EAAE,mEAAmE;QAChF,cAAc,EAAE,0EAA0E;KAC3F;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,oDAAoD;QACxD,WAAW,EAAE,6DAA6D;QAC1E,cAAc,EAAE,oCAAoC;KACrD;IACD,aAAa,EAAE;QACb,EAAE,EAAE,+CAA+C;QACnD,WAAW,EAAE,yCAAyC;QACtD,cAAc,EAAE,kBAAkB;KACnC;IACD,mBAAmB,EAAE;QACnB,EAAE,EAAE,qDAAqD;QACzD,WAAW,EAAE,8CAA8C;QAC3D,cAAc,EAAE,qFAAqF;KACtG;IACD,mBAAmB,EAAE;QACnB,EAAE,EAAE,qDAAqD;QACzD,WAAW,EAAE,gCAAgC;QAC7C,cAAc,EAAE,sHAAsH;KACvI;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n auditAccessExpired: {\n id: 'learner-dash.courseCard.banners.auditAccessExpired',\n description: 'Audit access expiration banner message',\n defaultMessage: 'Your audit access to this course has expired.',\n },\n findAnotherCourse: {\n id: 'learner-dash.courseCard.banners.findAnotherCourse',\n description: 'Action prompt taking learners to course exploration',\n defaultMessage: 'Find another course',\n },\n certRestricted: {\n id: 'learner-dash.courseCard.banners.certificateRestricted',\n description: 'Restricted certificate warning message',\n defaultMessage: 'Your Certificate of Achievement is being held pending confirmation that the issuance of your Certificate is in compliance with strict U.S. embargoes on Iran, Cuba, Syria, and Sudan. If you think our system has mistakenly identified you as being connected with one of those countries, please let us know by contacting {supportEmail}.',\n },\n certRestrictedNoEmail: {\n id: 'learner-dash.courseCard.banners.certificateRestrictedNoEmail',\n description: 'Restricted certificate warning message',\n defaultMessage: 'Your Certificate of Achievement is being held pending confirmation that the issuance of your Certificate is in compliance with strict U.S. embargoes on Iran, Cuba, Syria, and Sudan. If you think our system has mistakenly identified you as being connected with one of those countries, please let us know.',\n },\n certRefundContactBilling: {\n id: 'learner-dash.courseCard.banners.certificateRefundContactBilling',\n description: 'Message to learners to contact billing for certificate refunds',\n defaultMessage: 'If you would like a refund on your Certificate of Achievement, please contact our billing address {billingEmail}',\n },\n certRefundContactBillingNoEmail: {\n id: 'learner-dash.courseCard.banners.certificateRefundContactBillingNoEmail',\n description: 'Message to learners to contact billing for certificate refunds',\n defaultMessage: 'If you would like a refund on your Certificate of Achievement, please contact us.',\n },\n passingGrade: {\n id: 'learner-dash.courseCard.banners.passingGrade',\n description: 'Message to learners with minimum passing grade for the course',\n defaultMessage: 'Grade required to pass the course: {minPassingGrade}\\u200f%',\n },\n notEligibleForCert: {\n id: 'learner-dash.courseCard.banners.notEligibleForCert',\n description: 'Certificate inelligibility message',\n defaultMessage: 'You are not eligible for a certificate.',\n },\n viewGrades: {\n id: 'learner-dash.courseCard.banners.viewGrades',\n description: 'Gradses link text',\n defaultMessage: 'View grades.',\n },\n certReady: {\n id: 'learner-dash.courseCard.banners.certReady',\n description: 'Certificate ready message',\n defaultMessage: 'Congratulations. Your certificate is ready.',\n },\n viewCertificate: {\n id: 'learner-dash.courseCard.banners.viewCertificate',\n description: 'Certificate link text',\n defaultMessage: 'View Certificate.',\n },\n certMinGrade: {\n id: 'learner-dash.courseCard.banners.certMinGrade',\n description: 'Passing grade requirement message',\n defaultMessage: 'Grade required for a certificate: {minPassingGrade}\\u200f%',\n },\n downloadCertificate: {\n id: 'learner-dash.courseCard.banners.downloadCertificate',\n description: 'Certificate download link text',\n defaultMessage: 'Download Certificate.',\n },\n gradeAndCertReadyAfter: {\n id: 'learner-dash.courseCard.banners.gradseAndCertReadyAfter',\n description: 'Grade and certificate availability date message',\n defaultMessage: 'Your grade and certificate will be ready after {availableDate}.',\n },\n entitlementUnavailable: {\n id: 'learner-dash.courseCard.banners.entitlementUnavailable',\n description: 'Entitlement course message when no sessions are available',\n defaultMessage: 'There are no sessions available at the moment. The course team will create new sessions soon. If no sessions appear, please contact {emailLink} for information.',\n },\n entitlementExpiringSoon: {\n id: 'learner-dash.courseCard.banners.entitlementExpiringSoon',\n description: 'Entitlement course message when the entitlement is expiring soon.',\n defaultMessage: 'You must {selectSessionButton} by {changeDeadline} to access the course.',\n },\n entitlementExpired: {\n id: 'learner-dash.courseCard.banners.entitlementExpired',\n description: 'Entitlement course message when the entitlement is expired.',\n defaultMessage: 'You can no longer change sessions.',\n },\n selectSession: {\n id: 'learner-dash.courseCard.banners.selectSession',\n description: 'Entitlement session selection link text',\n defaultMessage: 'select a session',\n },\n prerequisitesNotMet: {\n id: 'learner-dash.courseCard.banners.prerequisitesNotMet',\n description: 'Message to learners with unmet prerequisites',\n defaultMessage: 'You can\\'t access this course just yet because you have not met the pre-requisites.',\n },\n courseHasNotStarted: {\n id: 'learner-dash.courseCard.banners.courseHasNotStarted',\n description: 'Course has not started message',\n defaultMessage: 'You can\\'t access this course just yet because the course hasn\\'t started yet. The course will start on {startDate}.',\n },\n});\n\nexport default messages;\n"]}
@@ -0,0 +1,16 @@
1
+ export function useAccessMessage({ cardId }: {
2
+ cardId: any;
3
+ }): string | null;
4
+ export function useCardDetailsData({ cardId }: {
5
+ cardId: any;
6
+ }): {
7
+ providerName: any;
8
+ accessMessage: string | null;
9
+ isEntitlement: boolean;
10
+ isFulfilled: any;
11
+ canChange: boolean | undefined;
12
+ openSessionModal: () => void;
13
+ courseNumber: any;
14
+ changeOrLeaveSessionMessage: string;
15
+ };
16
+ export default hooks.useCardDetailsData;
@@ -0,0 +1,51 @@
1
+ import { useIntl } from '@openedx/frontend-base';
2
+ import { utilHooks, useCourseData, useEntitlementInfo } from '../../../../hooks';
3
+ import { useSelectSessionModal } from '../../../../data/context';
4
+ import * as hooks from './hooks';
5
+ import messages from './messages';
6
+ export const useAccessMessage = ({ cardId }) => {
7
+ const { formatMessage } = useIntl();
8
+ const courseData = useCourseData(cardId);
9
+ const { courseRun, enrollment } = courseData || {};
10
+ const formatDate = utilHooks.useFormatDate();
11
+ if (!courseRun.isStarted) {
12
+ if (!courseRun.startDate && !courseRun.advertisedStart) {
13
+ return null;
14
+ }
15
+ const startDate = courseRun.advertisedStart || formatDate(courseRun.startDate);
16
+ return formatMessage(messages.courseStarts, { startDate });
17
+ }
18
+ if (enrollment === null || enrollment === void 0 ? void 0 : enrollment.isEnrolled) {
19
+ const { isArchived, endDate } = courseRun;
20
+ const { accessExpirationDate, isAuditAccessExpired, } = enrollment;
21
+ if (enrollment.isAudit && accessExpirationDate) {
22
+ return formatMessage(isAuditAccessExpired ? messages.accessExpired : messages.accessExpires, { accessExpirationDate: formatDate(accessExpirationDate) });
23
+ }
24
+ if (!endDate) {
25
+ return null;
26
+ }
27
+ return formatMessage(isArchived ? messages.courseEnded : messages.courseEnds, { endDate: formatDate(endDate) });
28
+ }
29
+ return null;
30
+ };
31
+ export const useCardDetailsData = ({ cardId }) => {
32
+ var _a, _b;
33
+ const { formatMessage } = useIntl();
34
+ const courseData = useCourseData(cardId);
35
+ const providerName = (_a = courseData === null || courseData === void 0 ? void 0 : courseData.courseProvider) === null || _a === void 0 ? void 0 : _a.name;
36
+ const courseNumber = (_b = courseData === null || courseData === void 0 ? void 0 : courseData.course) === null || _b === void 0 ? void 0 : _b.courseNumber;
37
+ const { isEntitlement, isFulfilled, canChange, } = useEntitlementInfo(courseData);
38
+ const { updateSelectSessionModal } = useSelectSessionModal();
39
+ return {
40
+ providerName: providerName || formatMessage(messages.unknownProviderName),
41
+ accessMessage: hooks.useAccessMessage({ cardId }),
42
+ isEntitlement,
43
+ isFulfilled,
44
+ canChange,
45
+ openSessionModal: () => updateSelectSessionModal(cardId),
46
+ courseNumber,
47
+ changeOrLeaveSessionMessage: formatMessage(messages.changeOrLeaveSessionButton),
48
+ };
49
+ };
50
+ export default useCardDetailsData;
51
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../../src/containers/CourseCard/components/CourseCardDetails/hooks.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;IAC7C,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,SAAS,CAAC,eAAe,IAAI,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/E,OAAO,aAAa,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,EAAE,CAAC;QAC3B,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;QAC1C,MAAM,EACJ,oBAAoB,EACpB,oBAAoB,GACrB,GAAG,UAAU,CAAC;QAEf,IAAI,UAAU,CAAC,OAAO,IAAI,oBAAoB,EAAE,CAAC;YAC/C,OAAO,aAAa,CAClB,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EACtE,EAAE,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAC3D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,aAAa,CAClB,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EACvD,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CACjC,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;;IAC/C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,cAAc,0CAAE,IAAI,CAAC;IACtD,MAAM,YAAY,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,0CAAE,YAAY,CAAC;IACtD,MAAM,EACJ,aAAa,EACb,WAAW,EACX,SAAS,GACV,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,EAAE,wBAAwB,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAE7D,OAAO;QACL,YAAY,EAAE,YAAY,IAAI,aAAa,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACzE,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QACjD,aAAa;QACb,WAAW;QACX,SAAS;QACT,gBAAgB,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC;QACxD,YAAY;QACZ,2BAA2B,EAAE,aAAa,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KAChF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { useIntl } from '@openedx/frontend-base';\nimport { utilHooks, useCourseData, useEntitlementInfo } from '@src/hooks';\nimport { useSelectSessionModal } from '@src/data/context';\n\nimport * as hooks from './hooks';\nimport messages from './messages';\n\nexport const useAccessMessage = ({ cardId }) => {\n const { formatMessage } = useIntl();\n const courseData = useCourseData(cardId);\n const { courseRun, enrollment } = courseData || {};\n const formatDate = utilHooks.useFormatDate();\n if (!courseRun.isStarted) {\n if (!courseRun.startDate && !courseRun.advertisedStart) {\n return null;\n }\n const startDate = courseRun.advertisedStart || formatDate(courseRun.startDate);\n return formatMessage(messages.courseStarts, { startDate });\n }\n if (enrollment?.isEnrolled) {\n const { isArchived, endDate } = courseRun;\n const {\n accessExpirationDate,\n isAuditAccessExpired,\n } = enrollment;\n\n if (enrollment.isAudit && accessExpirationDate) {\n return formatMessage(\n isAuditAccessExpired ? messages.accessExpired : messages.accessExpires,\n { accessExpirationDate: formatDate(accessExpirationDate) },\n );\n }\n if (!endDate) {\n return null;\n }\n return formatMessage(\n isArchived ? messages.courseEnded : messages.courseEnds,\n { endDate: formatDate(endDate) },\n );\n }\n return null;\n};\n\nexport const useCardDetailsData = ({ cardId }) => {\n const { formatMessage } = useIntl();\n const courseData = useCourseData(cardId);\n const providerName = courseData?.courseProvider?.name;\n const courseNumber = courseData?.course?.courseNumber;\n const {\n isEntitlement,\n isFulfilled,\n canChange,\n } = useEntitlementInfo(courseData);\n const { updateSelectSessionModal } = useSelectSessionModal();\n\n return {\n providerName: providerName || formatMessage(messages.unknownProviderName),\n accessMessage: hooks.useAccessMessage({ cardId }),\n isEntitlement,\n isFulfilled,\n canChange,\n openSessionModal: () => updateSelectSessionModal(cardId),\n courseNumber,\n changeOrLeaveSessionMessage: formatMessage(messages.changeOrLeaveSessionButton),\n };\n};\n\nexport default useCardDetailsData;\n"]}
@@ -0,0 +1,11 @@
1
+ export function CourseCardDetails({ cardId }: {
2
+ cardId: any;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
+ export namespace CourseCardDetails {
5
+ namespace propTypes {
6
+ let cardId: PropTypes.Validator<string>;
7
+ }
8
+ let defaultProps: {};
9
+ }
10
+ export default CourseCardDetails;
11
+ import PropTypes from 'prop-types';
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { Button } from '@openedx/paragon';
5
+ import useCardDetailsData from './hooks';
6
+ import './index.scss';
7
+ export const CourseCardDetails = ({ cardId }) => {
8
+ const { providerName, accessMessage, isEntitlement, isFulfilled, canChange, openSessionModal, courseNumber, changeOrLeaveSessionMessage, } = useCardDetailsData({ cardId });
9
+ return (_jsxs("span", { className: "small", "data-testid": "CourseCardDetails", children: [providerName, " \u2022 ", courseNumber, !(isEntitlement && !isFulfilled) && accessMessage && (` • ${accessMessage}`), isEntitlement && isFulfilled && canChange ? (_jsxs(_Fragment, { children: [' • ', _jsx(Button, { variant: "link", size: "inline", className: "m-0 p-0", onClick: openSessionModal, children: changeOrLeaveSessionMessage })] })) : null] }));
10
+ };
11
+ CourseCardDetails.propTypes = {
12
+ cardId: PropTypes.string.isRequired,
13
+ };
14
+ CourseCardDetails.defaultProps = {};
15
+ export default CourseCardDetails;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/containers/CourseCard/components/CourseCardDetails/index.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,kBAAkB,MAAM,SAAS,CAAC;AACzC,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IAC9C,MAAM,EACJ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,2BAA2B,GAC5B,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnC,OAAO,CACL,gBAAM,SAAS,EAAC,OAAO,iBAAa,mBAAmB,aACpD,YAAY,cAAK,YAAY,EAC7B,CAAC,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,IAAI,aAAa,IAAI,CACpD,MAAM,aAAa,EAAE,CACtB,EACA,aAAa,IAAI,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,CAC3C,8BACG,KAAK,EACN,KAAC,MAAM,IAAC,OAAO,EAAC,MAAM,EAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,OAAO,EAAE,gBAAgB,YAC/E,2BAA2B,GACrB,IACR,CACJ,CAAC,CAAC,CAAC,IAAI,IACH,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,iBAAiB,CAAC,SAAS,GAAG;IAC5B,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;CACpC,CAAC;AAEF,iBAAiB,CAAC,YAAY,GAAG,EAAE,CAAC;AAEpC,eAAe,iBAAiB,CAAC","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Button } from '@openedx/paragon';\n\nimport useCardDetailsData from './hooks';\nimport './index.scss';\n\nexport const CourseCardDetails = ({ cardId }) => {\n const {\n providerName,\n accessMessage,\n isEntitlement,\n isFulfilled,\n canChange,\n openSessionModal,\n courseNumber,\n changeOrLeaveSessionMessage,\n } = useCardDetailsData({ cardId });\n\n return (\n <span className=\"small\" data-testid=\"CourseCardDetails\">\n {providerName} • {courseNumber}\n {!(isEntitlement && !isFulfilled) && accessMessage && (\n ` • ${accessMessage}`\n )}\n {isEntitlement && isFulfilled && canChange ? (\n <>\n {' • '}\n <Button variant=\"link\" size=\"inline\" className=\"m-0 p-0\" onClick={openSessionModal}>\n {changeOrLeaveSessionMessage}\n </Button>\n </>\n ) : null}\n </span>\n );\n};\n\nCourseCardDetails.propTypes = {\n cardId: PropTypes.string.isRequired,\n};\n\nCourseCardDetails.defaultProps = {};\n\nexport default CourseCardDetails;\n"]}
@@ -0,0 +1,56 @@
1
+ export default messages;
2
+ declare namespace messages {
3
+ namespace accessExpired {
4
+ let id: string;
5
+ let description: string;
6
+ let defaultMessage: string;
7
+ }
8
+ namespace accessExpires {
9
+ let id_1: string;
10
+ export { id_1 as id };
11
+ let description_1: string;
12
+ export { description_1 as description };
13
+ let defaultMessage_1: string;
14
+ export { defaultMessage_1 as defaultMessage };
15
+ }
16
+ namespace courseEnded {
17
+ let id_2: string;
18
+ export { id_2 as id };
19
+ let description_2: string;
20
+ export { description_2 as description };
21
+ let defaultMessage_2: string;
22
+ export { defaultMessage_2 as defaultMessage };
23
+ }
24
+ namespace courseEnds {
25
+ let id_3: string;
26
+ export { id_3 as id };
27
+ let description_3: string;
28
+ export { description_3 as description };
29
+ let defaultMessage_3: string;
30
+ export { defaultMessage_3 as defaultMessage };
31
+ }
32
+ namespace courseStarts {
33
+ let id_4: string;
34
+ export { id_4 as id };
35
+ let description_4: string;
36
+ export { description_4 as description };
37
+ let defaultMessage_4: string;
38
+ export { defaultMessage_4 as defaultMessage };
39
+ }
40
+ namespace unknownProviderName {
41
+ let id_5: string;
42
+ export { id_5 as id };
43
+ let description_5: string;
44
+ export { description_5 as description };
45
+ let defaultMessage_5: string;
46
+ export { defaultMessage_5 as defaultMessage };
47
+ }
48
+ namespace changeOrLeaveSessionButton {
49
+ let id_6: string;
50
+ export { id_6 as id };
51
+ let description_6: string;
52
+ export { description_6 as description };
53
+ let defaultMessage_6: string;
54
+ export { defaultMessage_6 as defaultMessage };
55
+ }
56
+ }
@@ -0,0 +1,40 @@
1
+ import { defineMessages } from '@openedx/frontend-base';
2
+ const messages = defineMessages({
3
+ accessExpired: {
4
+ id: 'learner-dash.courseCard.CourseCardDetails.accessExpired',
5
+ description: 'Course access expiration date message on course card for expired access.',
6
+ defaultMessage: 'Access expired {accessExpirationDate}',
7
+ },
8
+ accessExpires: {
9
+ id: 'learner-dash.courseCard.CourseCardDetails.accessExpires',
10
+ description: 'Course access expiration date message on course card.',
11
+ defaultMessage: 'Access expires {accessExpirationDate}',
12
+ },
13
+ courseEnded: {
14
+ id: 'learner-dash.courseCard.CourseCardDetails.courseEnded',
15
+ description: 'Course ended message on course card.',
16
+ defaultMessage: 'Course ended {endDate}',
17
+ },
18
+ courseEnds: {
19
+ id: 'learner-dash.courseCard.CourseCardDetails.courseEnds',
20
+ description: 'Course ending message on course card.',
21
+ defaultMessage: 'Course ends {endDate}',
22
+ },
23
+ courseStarts: {
24
+ id: 'learner-dash.courseCard.CourseCardDetails.courseStarts',
25
+ description: 'Course start date message on course card.',
26
+ defaultMessage: 'Course starts {startDate}',
27
+ },
28
+ unknownProviderName: {
29
+ id: 'learner-dash.courseCard.CourseCardDetails.unknownProviderName',
30
+ description: 'Provider name display when name is unknown',
31
+ defaultMessage: 'Unknown',
32
+ },
33
+ changeOrLeaveSessionButton: {
34
+ id: 'learner-dash.courseCard.CourseCardDetails.changeOrLeaveSessionButton',
35
+ description: 'Button for trigger change or leave session for entitlement course',
36
+ defaultMessage: 'Change or leave session',
37
+ },
38
+ });
39
+ export default messages;
40
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../src/containers/CourseCard/components/CourseCardDetails/messages.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,aAAa,EAAE;QACb,EAAE,EAAE,yDAAyD;QAC7D,WAAW,EAAE,0EAA0E;QACvF,cAAc,EAAE,uCAAuC;KACxD;IACD,aAAa,EAAE;QACb,EAAE,EAAE,yDAAyD;QAC7D,WAAW,EAAE,uDAAuD;QACpE,cAAc,EAAE,uCAAuC;KACxD;IACD,WAAW,EAAE;QACX,EAAE,EAAE,uDAAuD;QAC3D,WAAW,EAAE,sCAAsC;QACnD,cAAc,EAAE,wBAAwB;KACzC;IACD,UAAU,EAAE;QACV,EAAE,EAAE,sDAAsD;QAC1D,WAAW,EAAE,uCAAuC;QACpD,cAAc,EAAE,uBAAuB;KACxC;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,wDAAwD;QAC5D,WAAW,EAAE,2CAA2C;QACxD,cAAc,EAAE,2BAA2B;KAC5C;IACD,mBAAmB,EAAE;QACnB,EAAE,EAAE,+DAA+D;QACnE,WAAW,EAAE,4CAA4C;QACzD,cAAc,EAAE,SAAS;KAC1B;IACD,0BAA0B,EAAE;QAC1B,EAAE,EAAE,sEAAsE;QAC1E,WAAW,EAAE,mEAAmE;QAChF,cAAc,EAAE,yBAAyB;KAC1C;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n accessExpired: {\n id: 'learner-dash.courseCard.CourseCardDetails.accessExpired',\n description: 'Course access expiration date message on course card for expired access.',\n defaultMessage: 'Access expired {accessExpirationDate}',\n },\n accessExpires: {\n id: 'learner-dash.courseCard.CourseCardDetails.accessExpires',\n description: 'Course access expiration date message on course card.',\n defaultMessage: 'Access expires {accessExpirationDate}',\n },\n courseEnded: {\n id: 'learner-dash.courseCard.CourseCardDetails.courseEnded',\n description: 'Course ended message on course card.',\n defaultMessage: 'Course ended {endDate}',\n },\n courseEnds: {\n id: 'learner-dash.courseCard.CourseCardDetails.courseEnds',\n description: 'Course ending message on course card.',\n defaultMessage: 'Course ends {endDate}',\n },\n courseStarts: {\n id: 'learner-dash.courseCard.CourseCardDetails.courseStarts',\n description: 'Course start date message on course card.',\n defaultMessage: 'Course starts {startDate}',\n },\n unknownProviderName: {\n id: 'learner-dash.courseCard.CourseCardDetails.unknownProviderName',\n description: 'Provider name display when name is unknown',\n defaultMessage: 'Unknown',\n },\n changeOrLeaveSessionButton: {\n id: 'learner-dash.courseCard.CourseCardDetails.changeOrLeaveSessionButton',\n description: 'Button for trigger change or leave session for entitlement course',\n defaultMessage: 'Change or leave session',\n },\n});\n\nexport default messages;\n"]}
@@ -0,0 +1,13 @@
1
+ export function CourseCardImage({ cardId, orientation }: {
2
+ cardId: any;
3
+ orientation: any;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ export namespace CourseCardImage {
6
+ namespace propTypes {
7
+ let cardId: PropTypes.Validator<string>;
8
+ let orientation: PropTypes.Validator<string>;
9
+ }
10
+ let defaultProps: {};
11
+ }
12
+ export default CourseCardImage;
13
+ import PropTypes from 'prop-types';
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { useIntl } from '@openedx/frontend-base';
5
+ import { baseAppUrl } from '../../../data/services/lms/urls';
6
+ import { Badge } from '@openedx/paragon';
7
+ import track from '../../../tracking';
8
+ import { useCourseData, useCourseTrackingEvent } from '../../../hooks';
9
+ import verifiedRibbon from '../../../assets/verified-ribbon.png';
10
+ import useActionDisabledState from './hooks';
11
+ import messages from '../messages';
12
+ const { courseImageClicked } = track.course;
13
+ export const CourseCardImage = ({ cardId, orientation }) => {
14
+ var _a, _b;
15
+ const { formatMessage } = useIntl();
16
+ const courseData = useCourseData(cardId);
17
+ const { homeUrl } = (courseData === null || courseData === void 0 ? void 0 : courseData.courseRun) || {};
18
+ const { disableCourseTitle } = useActionDisabledState(cardId);
19
+ const handleImageClicked = useCourseTrackingEvent(courseImageClicked, cardId, homeUrl);
20
+ const wrapperClassName = `pgn__card-wrapper-image-cap d-inline-block overflow-visible ${orientation}`;
21
+ const image = (_jsxs(_Fragment, { children: [_jsx("img", {
22
+ // w-100 is necessary for images on Safari, otherwise stretches full height of the image
23
+ // https://stackoverflow.com/a/44250830
24
+ className: "pgn__card-image-cap w-100 show", src: ((_a = courseData === null || courseData === void 0 ? void 0 : courseData.course) === null || _a === void 0 ? void 0 : _a.bannerImgSrc) && baseAppUrl(courseData.course.bannerImgSrc), alt: formatMessage(messages.bannerAlt) }), ((_b = courseData === null || courseData === void 0 ? void 0 : courseData.enrollment) === null || _b === void 0 ? void 0 : _b.isVerified) && (_jsxs("span", { className: "course-card-verify-ribbon-container", title: formatMessage(messages.verifiedHoverDescription), children: [_jsx(Badge, { as: "div", variant: "success", className: "w-100", children: formatMessage(messages.verifiedBanner) }), _jsx("img", { src: verifiedRibbon, alt: formatMessage(messages.verifiedBannerRibbonAlt) })] }))] }));
25
+ return disableCourseTitle
26
+ ? (_jsx("div", { className: wrapperClassName, children: image }))
27
+ : (_jsx("a", { className: wrapperClassName, href: homeUrl, onClick: handleImageClicked, tabIndex: "-1", children: image }));
28
+ };
29
+ CourseCardImage.propTypes = {
30
+ cardId: PropTypes.string.isRequired,
31
+ orientation: PropTypes.string.isRequired,
32
+ };
33
+ CourseCardImage.defaultProps = {};
34
+ export default CourseCardImage;
35
+ //# sourceMappingURL=CourseCardImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourseCardImage.js","sourceRoot":"","sources":["../../../../src/containers/CourseCard/components/CourseCardImage.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,KAAK,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,sBAAsB,MAAM,SAAS,CAAC;AAE7C,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;AAE5C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;;IACzD,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,KAAI,EAAE,CAAC;IAChD,MAAM,EAAE,kBAAkB,EAAE,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvF,MAAM,gBAAgB,GAAG,+DAA+D,WAAW,EAAE,CAAC;IACtG,MAAM,KAAK,GAAG,CACZ,8BACE;gBACE,wFAAwF;gBACxF,uCAAuC;gBACvC,SAAS,EAAC,gCAAgC,EAC1C,GAAG,EAAE,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,0CAAE,YAAY,KAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,EACnF,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,GACtC,EAEA,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,0CAAE,UAAU,KAAI,CACpC,gBACE,SAAS,EAAC,qCAAqC,EAC/C,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,aAEvD,KAAC,KAAK,IAAC,EAAE,EAAC,KAAK,EAAC,OAAO,EAAC,SAAS,EAAC,SAAS,EAAC,OAAO,YAChD,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,GACjC,EACR,cAAK,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAI,IAC7E,CACR,IAEF,CACJ,CAAC;IACF,OAAO,kBAAkB;QACvB,CAAC,CAAC,CAAC,cAAK,SAAS,EAAE,gBAAgB,YAAG,KAAK,GAAO,CAAC;QACnD,CAAC,CAAC,CACA,YACE,SAAS,EAAE,gBAAgB,EAC3B,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAC,IAAI,YAEZ,KAAK,GACJ,CACL,CAAC;AACN,CAAC,CAAC;AACF,eAAe,CAAC,SAAS,GAAG;IAC1B,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;IACnC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;CACzC,CAAC;AAEF,eAAe,CAAC,YAAY,GAAG,EAAE,CAAC;AAElC,eAAe,eAAe,CAAC","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useIntl } from '@openedx/frontend-base';\nimport { baseAppUrl } from '@src/data/services/lms/urls';\n\nimport { Badge } from '@openedx/paragon';\n\nimport track from '@src/tracking';\nimport { useCourseData, useCourseTrackingEvent } from '@src/hooks';\nimport verifiedRibbon from '@src/assets/verified-ribbon.png';\nimport useActionDisabledState from './hooks';\n\nimport messages from '../messages';\n\nconst { courseImageClicked } = track.course;\n\nexport const CourseCardImage = ({ cardId, orientation }) => {\n const { formatMessage } = useIntl();\n const courseData = useCourseData(cardId);\n const { homeUrl } = courseData?.courseRun || {};\n const { disableCourseTitle } = useActionDisabledState(cardId);\n const handleImageClicked = useCourseTrackingEvent(courseImageClicked, cardId, homeUrl);\n const wrapperClassName = `pgn__card-wrapper-image-cap d-inline-block overflow-visible ${orientation}`;\n const image = (\n <>\n <img\n // w-100 is necessary for images on Safari, otherwise stretches full height of the image\n // https://stackoverflow.com/a/44250830\n className=\"pgn__card-image-cap w-100 show\"\n src={courseData?.course?.bannerImgSrc && baseAppUrl(courseData.course.bannerImgSrc)}\n alt={formatMessage(messages.bannerAlt)}\n />\n {\n courseData?.enrollment?.isVerified && (\n <span\n className=\"course-card-verify-ribbon-container\"\n title={formatMessage(messages.verifiedHoverDescription)}\n >\n <Badge as=\"div\" variant=\"success\" className=\"w-100\">\n {formatMessage(messages.verifiedBanner)}\n </Badge>\n <img src={verifiedRibbon} alt={formatMessage(messages.verifiedBannerRibbonAlt)} />\n </span>\n )\n }\n </>\n );\n return disableCourseTitle\n ? (<div className={wrapperClassName}>{image}</div>)\n : (\n <a\n className={wrapperClassName}\n href={homeUrl}\n onClick={handleImageClicked}\n tabIndex=\"-1\"\n >\n {image}\n </a>\n );\n};\nCourseCardImage.propTypes = {\n cardId: PropTypes.string.isRequired,\n orientation: PropTypes.string.isRequired,\n};\n\nCourseCardImage.defaultProps = {};\n\nexport default CourseCardImage;\n"]}
@@ -0,0 +1,17 @@
1
+ export namespace testIds {
2
+ let emailSettingsModalToggle: string;
3
+ }
4
+ export function SocialShareMenu({ cardId, emailSettings }: {
5
+ cardId: any;
6
+ emailSettings: any;
7
+ }): import("react/jsx-runtime").JSX.Element | null;
8
+ export namespace SocialShareMenu {
9
+ namespace propTypes {
10
+ let cardId: PropTypes.Validator<string>;
11
+ let emailSettings: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
12
+ show: PropTypes.Requireable<(...args: any[]) => any>;
13
+ }>>>;
14
+ }
15
+ }
16
+ export default SocialShareMenu;
17
+ import PropTypes from 'prop-types';
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import PropTypes from 'prop-types';
3
+ import * as ReactShare from 'react-share';
4
+ import { EXECUTIVE_EDUCATION_COURSE_MODES } from '../../../../data/constants/course';
5
+ import { useIntl } from '@openedx/frontend-base';
6
+ import { Dropdown } from '@openedx/paragon';
7
+ import track from '../../../../tracking';
8
+ import { useCourseTrackingEvent, useCourseData, useIsMasquerading } from '../../../../hooks';
9
+ import { useCardSocialSettingsData } from './hooks';
10
+ import messages from './messages';
11
+ export const testIds = {
12
+ emailSettingsModalToggle: 'emailSettingsModalToggle',
13
+ };
14
+ export const SocialShareMenu = ({ cardId, emailSettings }) => {
15
+ var _a, _b, _c;
16
+ const { formatMessage } = useIntl();
17
+ const courseData = useCourseData(cardId);
18
+ const courseName = (_a = courseData === null || courseData === void 0 ? void 0 : courseData.course) === null || _a === void 0 ? void 0 : _a.courseName;
19
+ const isExecEd2UCourse = EXECUTIVE_EDUCATION_COURSE_MODES.includes(courseData.enrollment.mode);
20
+ const isEmailEnabled = (_c = (_b = courseData === null || courseData === void 0 ? void 0 : courseData.enrollment) === null || _b === void 0 ? void 0 : _b.isEmailEnabled) !== null && _c !== void 0 ? _c : false;
21
+ const { twitter, facebook } = useCardSocialSettingsData(cardId);
22
+ const isMasquerading = useIsMasquerading();
23
+ const handleTwitterShare = useCourseTrackingEvent(track.socialShare, cardId, 'twitter');
24
+ const handleFacebookShare = useCourseTrackingEvent(track.socialShare, cardId, 'facebook');
25
+ if (isExecEd2UCourse) {
26
+ return null;
27
+ }
28
+ return (_jsxs(_Fragment, { children: [isEmailEnabled && (_jsx(Dropdown.Item, { disabled: isMasquerading, onClick: emailSettings.show, "data-testid": testIds.emailSettingsModalToggle, children: formatMessage(messages.emailSettings) })), facebook.isEnabled && (_jsx(ReactShare.FacebookShareButton, { url: facebook.shareUrl, onClick: handleFacebookShare, title: formatMessage(messages.shareQuote, {
29
+ courseName,
30
+ socialBrand: facebook.socialBrand,
31
+ }), resetButtonStyle: false, className: "pgn__dropdown-item dropdown-item", "aria-label": "facebook", children: formatMessage(messages.shareToFacebook) })), twitter.isEnabled && (_jsx(ReactShare.TwitterShareButton, { url: twitter.shareUrl, onClick: handleTwitterShare, title: formatMessage(messages.shareQuote, {
32
+ courseName,
33
+ socialBrand: twitter.socialBrand,
34
+ }), resetButtonStyle: false, className: "pgn__dropdown-item dropdown-item", "aria-label": "twitter", children: formatMessage(messages.shareToTwitter) }))] }));
35
+ };
36
+ SocialShareMenu.propTypes = {
37
+ cardId: PropTypes.string.isRequired,
38
+ emailSettings: PropTypes.shape({
39
+ show: PropTypes.func,
40
+ }).isRequired,
41
+ };
42
+ export default SocialShareMenu;
43
+ //# sourceMappingURL=SocialShareMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SocialShareMenu.js","sourceRoot":"","sources":["../../../../../src/containers/CourseCard/components/CourseCardMenu/SocialShareMenu.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport * as ReactShare from 'react-share';\nimport { EXECUTIVE_EDUCATION_COURSE_MODES } from '@src/data/constants/course';\nimport { useIntl } from '@openedx/frontend-base';\nimport { Dropdown } from '@openedx/paragon';\n\nimport track from '@src/tracking';\nimport { useCourseTrackingEvent, useCourseData, useIsMasquerading } from '@src/hooks';\nimport { useCardSocialSettingsData } from './hooks';\nimport messages from './messages';\n\nexport const testIds = {\n emailSettingsModalToggle: 'emailSettingsModalToggle',\n};\n\nexport const SocialShareMenu = ({ cardId, emailSettings }) => {\n const { formatMessage } = useIntl();\n const courseData = useCourseData(cardId);\n const courseName = courseData?.course?.courseName;\n const isExecEd2UCourse = EXECUTIVE_EDUCATION_COURSE_MODES.includes(courseData.enrollment.mode);\n const isEmailEnabled = courseData?.enrollment?.isEmailEnabled ?? false;\n const { twitter, facebook } = useCardSocialSettingsData(cardId);\n const isMasquerading = useIsMasquerading();\n\n const handleTwitterShare = useCourseTrackingEvent(track.socialShare, cardId, 'twitter');\n const handleFacebookShare = useCourseTrackingEvent(track.socialShare, cardId, 'facebook');\n\n if (isExecEd2UCourse) {\n return null;\n }\n\n return (\n <>\n {isEmailEnabled && (\n <Dropdown.Item\n disabled={isMasquerading}\n onClick={emailSettings.show}\n data-testid={testIds.emailSettingsModalToggle}\n >\n {formatMessage(messages.emailSettings)}\n </Dropdown.Item>\n )}\n {facebook.isEnabled && (\n <ReactShare.FacebookShareButton\n url={facebook.shareUrl}\n onClick={handleFacebookShare}\n title={formatMessage(messages.shareQuote, {\n courseName,\n socialBrand: facebook.socialBrand,\n })}\n resetButtonStyle={false}\n className=\"pgn__dropdown-item dropdown-item\"\n aria-label=\"facebook\"\n >\n {formatMessage(messages.shareToFacebook)}\n </ReactShare.FacebookShareButton>\n )}\n {twitter.isEnabled && (\n <ReactShare.TwitterShareButton\n url={twitter.shareUrl}\n onClick={handleTwitterShare}\n title={formatMessage(messages.shareQuote, {\n courseName,\n socialBrand: twitter.socialBrand,\n })}\n resetButtonStyle={false}\n className=\"pgn__dropdown-item dropdown-item\"\n aria-label=\"twitter\"\n >\n {formatMessage(messages.shareToTwitter)}\n </ReactShare.TwitterShareButton>\n )}\n </>\n );\n};\nSocialShareMenu.propTypes = {\n cardId: PropTypes.string.isRequired,\n emailSettings: PropTypes.shape({\n show: PropTypes.func,\n }).isRequired,\n};\n\nexport default SocialShareMenu;\n"]}
@@ -0,0 +1,26 @@
1
+ export const state: any;
2
+ export function useUnenrollData(): {
3
+ show: () => any;
4
+ hide: () => any;
5
+ isVisible: any;
6
+ };
7
+ export function useEmailSettings(): {
8
+ show: () => any;
9
+ hide: () => any;
10
+ isVisible: any;
11
+ };
12
+ export function useHandleToggleDropdown(cardId: any): (isOpen: any) => void;
13
+ export function useCardSocialSettingsData(cardId: any): {
14
+ facebook: {
15
+ isEnabled: any;
16
+ shareUrl: string;
17
+ };
18
+ twitter: {
19
+ isEnabled: any;
20
+ shareUrl: string;
21
+ };
22
+ };
23
+ export function useOptionVisibility(cardId: any): {
24
+ shouldShowUnenrollItem: any;
25
+ shouldShowDropdown: any;
26
+ };
@@ -0,0 +1,67 @@
1
+ import track from '../../../../tracking';
2
+ import { useCourseData, useCourseTrackingEvent } from '../../../../hooks';
3
+ import { useState } from 'react';
4
+ import { StrictDict } from '../../../../utils';
5
+ import { useInitializeLearnerHome } from '../../../../data/hooks';
6
+ export const state = StrictDict({
7
+ isUnenrollConfirmVisible: (val) => useState(val), // eslint-disable-line
8
+ isEmailSettingsVisible: (val) => useState(val), // eslint-disable-line
9
+ });
10
+ export const useUnenrollData = () => {
11
+ const [isVisible, setIsVisible] = state.isUnenrollConfirmVisible(false);
12
+ return {
13
+ show: () => setIsVisible(true),
14
+ hide: () => setIsVisible(false),
15
+ isVisible,
16
+ };
17
+ };
18
+ export const useEmailSettings = () => {
19
+ const [isVisible, setIsVisible] = state.isEmailSettingsVisible(false);
20
+ return {
21
+ show: () => setIsVisible(true),
22
+ hide: () => setIsVisible(false),
23
+ isVisible,
24
+ };
25
+ };
26
+ export const useHandleToggleDropdown = (cardId) => {
27
+ const trackCourseEvent = useCourseTrackingEvent(track.course.courseOptionsDropdownClicked, cardId);
28
+ return (isOpen) => {
29
+ if (isOpen) {
30
+ trackCourseEvent();
31
+ }
32
+ };
33
+ };
34
+ export const useCardSocialSettingsData = (cardId) => {
35
+ const { data: learnerHomeData } = useInitializeLearnerHome();
36
+ const courseData = useCourseData(cardId);
37
+ const socialShareSettings = learnerHomeData === null || learnerHomeData === void 0 ? void 0 : learnerHomeData.socialShareSettings;
38
+ const { socialShareUrl } = (courseData === null || courseData === void 0 ? void 0 : courseData.course) || {};
39
+ const defaultSettings = { isEnabled: false, shareUrl: '' };
40
+ if (!socialShareSettings) {
41
+ return { facebook: defaultSettings, twitter: defaultSettings };
42
+ }
43
+ const { facebook, twitter } = socialShareSettings;
44
+ const loadSettings = (target) => ({
45
+ isEnabled: target.isEnabled,
46
+ shareUrl: `${socialShareUrl}?${target.utmParams}`,
47
+ });
48
+ return { facebook: loadSettings(facebook), twitter: loadSettings(twitter) };
49
+ };
50
+ export const useOptionVisibility = (cardId) => {
51
+ var _a, _b, _c, _d, _e, _f;
52
+ const courseData = useCourseData(cardId);
53
+ const isEmailEnabled = (_b = (_a = courseData === null || courseData === void 0 ? void 0 : courseData.enrollment) === null || _a === void 0 ? void 0 : _a.isEmailEnabled) !== null && _b !== void 0 ? _b : false;
54
+ const isEnrolled = (_d = (_c = courseData === null || courseData === void 0 ? void 0 : courseData.enrollment) === null || _c === void 0 ? void 0 : _c.isEnrolled) !== null && _d !== void 0 ? _d : false;
55
+ const { twitter, facebook } = useCardSocialSettingsData(cardId);
56
+ const isEarned = (_f = (_e = courseData === null || courseData === void 0 ? void 0 : courseData.certificate) === null || _e === void 0 ? void 0 : _e.isEarned) !== null && _f !== void 0 ? _f : false;
57
+ const shouldShowUnenrollItem = isEnrolled && !isEarned;
58
+ const shouldShowDropdown = (shouldShowUnenrollItem
59
+ || isEmailEnabled
60
+ || facebook.isEnabled
61
+ || twitter.isEnabled);
62
+ return {
63
+ shouldShowUnenrollItem,
64
+ shouldShowDropdown,
65
+ };
66
+ };
67
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../../src/containers/CourseCard/components/CourseCardMenu/hooks.js"],"names":[],"mappings":"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","sourcesContent":["import track from '@src/tracking';\nimport { useCourseData, useCourseTrackingEvent } from '@src/hooks';\nimport { useState } from 'react';\nimport { StrictDict } from '@src/utils';\nimport { useInitializeLearnerHome } from '@src/data/hooks';\n\nexport const state = StrictDict({\n isUnenrollConfirmVisible: (val) => useState(val), // eslint-disable-line\n isEmailSettingsVisible: (val) => useState(val), // eslint-disable-line\n});\n\nexport const useUnenrollData = () => {\n const [isVisible, setIsVisible] = state.isUnenrollConfirmVisible(false);\n return {\n show: () => setIsVisible(true),\n hide: () => setIsVisible(false),\n isVisible,\n };\n};\n\nexport const useEmailSettings = () => {\n const [isVisible, setIsVisible] = state.isEmailSettingsVisible(false);\n return {\n show: () => setIsVisible(true),\n hide: () => setIsVisible(false),\n isVisible,\n };\n};\n\nexport const useHandleToggleDropdown = (cardId) => {\n const trackCourseEvent = useCourseTrackingEvent(\n track.course.courseOptionsDropdownClicked,\n cardId,\n );\n return (isOpen) => {\n if (isOpen) {\n trackCourseEvent();\n }\n };\n};\n\nexport const useCardSocialSettingsData = (cardId) => {\n const { data: learnerHomeData } = useInitializeLearnerHome();\n const courseData = useCourseData(cardId);\n const socialShareSettings = learnerHomeData?.socialShareSettings;\n const { socialShareUrl } = courseData?.course || {};\n const defaultSettings = { isEnabled: false, shareUrl: '' };\n\n if (!socialShareSettings) {\n return { facebook: defaultSettings, twitter: defaultSettings };\n }\n const { facebook, twitter } = socialShareSettings;\n const loadSettings = (target) => ({\n isEnabled: target.isEnabled,\n shareUrl: `${socialShareUrl}?${target.utmParams}`,\n });\n return { facebook: loadSettings(facebook), twitter: loadSettings(twitter) };\n};\n\nexport const useOptionVisibility = (cardId) => {\n const courseData = useCourseData(cardId);\n const isEmailEnabled = courseData?.enrollment?.isEmailEnabled ?? false;\n const isEnrolled = courseData?.enrollment?.isEnrolled ?? false;\n const { twitter, facebook } = useCardSocialSettingsData(cardId);\n const isEarned = courseData?.certificate?.isEarned ?? false;\n\n const shouldShowUnenrollItem = isEnrolled && !isEarned;\n const shouldShowDropdown = (\n shouldShowUnenrollItem\n || isEmailEnabled\n || facebook.isEnabled\n || twitter.isEnabled\n );\n\n return {\n shouldShowUnenrollItem,\n shouldShowDropdown,\n };\n};\n"]}
@@ -0,0 +1,13 @@
1
+ export namespace testIds {
2
+ let unenrollModalToggle: string;
3
+ }
4
+ export function CourseCardMenu({ cardId }: {
5
+ cardId: any;
6
+ }): import("react/jsx-runtime").JSX.Element | null;
7
+ export namespace CourseCardMenu {
8
+ namespace propTypes {
9
+ let cardId: PropTypes.Validator<string>;
10
+ }
11
+ }
12
+ export default CourseCardMenu;
13
+ import PropTypes from 'prop-types';