@openedx/frontend-app-learner-dashboard 1.0.0-alpha.1 → 1.0.0-alpha.10
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.
- package/dist/Main.d.ts +2 -0
- package/dist/Main.js +9 -0
- package/dist/Main.js.map +1 -0
- package/dist/app.d.ts +3 -0
- package/dist/app.js +20 -0
- package/dist/app.js.map +1 -0
- package/dist/app.scss +38 -0
- package/dist/components/Banner.d.ts +24 -0
- package/dist/components/Banner.js +19 -0
- package/dist/components/Banner.js.map +1 -0
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -0
- package/dist/containers/CourseCard/CourseCard.scss +73 -0
- package/dist/containers/CourseCard/components/CourseCardActions/ActionButton/hooks.d.ts +2 -0
- package/dist/containers/CourseCard/components/CourseCardActions/ActionButton/hooks.js +7 -0
- package/dist/containers/CourseCard/components/CourseCardActions/ActionButton/hooks.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardActions/ActionButton/index.d.ts +2 -0
- package/dist/containers/CourseCard/components/CourseCardActions/ActionButton/index.js +10 -0
- package/dist/containers/CourseCard/components/CourseCardActions/ActionButton/index.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardActions/BeginCourseButton.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardActions/BeginCourseButton.js +31 -0
- package/dist/containers/CourseCard/components/CourseCardActions/BeginCourseButton.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardActions/ResumeButton.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardActions/ResumeButton.js +31 -0
- package/dist/containers/CourseCard/components/CourseCardActions/ResumeButton.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardActions/SelectSessionButton.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardActions/SelectSessionButton.js +19 -0
- package/dist/containers/CourseCard/components/CourseCardActions/SelectSessionButton.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardActions/ViewCourseButton.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardActions/ViewCourseButton.js +23 -0
- package/dist/containers/CourseCard/components/CourseCardActions/ViewCourseButton.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardActions/index.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardActions/index.js +26 -0
- package/dist/containers/CourseCard/components/CourseCardActions/index.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardActions/messages.d.ts +32 -0
- package/dist/containers/CourseCard/components/CourseCardActions/messages.js +25 -0
- package/dist/containers/CourseCard/components/CourseCardActions/messages.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CertificateBanner.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CertificateBanner.js +63 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CertificateBanner.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CourseBanner.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CourseBanner.js +36 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CourseBanner.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.d.ts +17 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.js +58 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/index.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/index.js +23 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/index.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/messages.d.ts +16 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/messages.js +15 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/messages.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/ApprovedContent.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/ApprovedContent.js +30 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/ApprovedContent.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/EligibleContent.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/EligibleContent.js +26 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/EligibleContent.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/MustRequestContent.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/MustRequestContent.js +27 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/MustRequestContent.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/PendingContent.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/PendingContent.js +23 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/PendingContent.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/RejectedContent.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/RejectedContent.js +22 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/RejectedContent.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditContent.d.ts +30 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditContent.js +27 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditContent.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/hooks.d.ts +5 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/hooks.js +12 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/hooks.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/index.d.ts +19 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/index.js +24 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/index.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/ProviderLink.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/ProviderLink.js +16 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/ProviderLink.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/hooks.d.ts +9 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/hooks.js +31 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/hooks.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/messages.d.ts +88 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/messages.js +60 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/messages.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.js +42 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/ProgramsList.d.ts +13 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/ProgramsList.js +12 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/ProgramsList.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/index.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/index.js +23 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/index.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/messages.d.ts +40 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/messages.js +30 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/messages.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/index.d.ts +10 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/index.js +22 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/index.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/messages.d.ts +160 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/messages.js +105 -0
- package/dist/containers/CourseCard/components/CourseCardBanners/messages.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardDetails/hooks.d.ts +16 -0
- package/dist/containers/CourseCard/components/CourseCardDetails/hooks.js +51 -0
- package/dist/containers/CourseCard/components/CourseCardDetails/hooks.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardDetails/index.d.ts +11 -0
- package/dist/containers/CourseCard/components/CourseCardDetails/index.js +16 -0
- package/dist/containers/CourseCard/components/CourseCardDetails/index.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardDetails/index.scss +3 -0
- package/dist/containers/CourseCard/components/CourseCardDetails/messages.d.ts +56 -0
- package/dist/containers/CourseCard/components/CourseCardDetails/messages.js +40 -0
- package/dist/containers/CourseCard/components/CourseCardDetails/messages.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardImage.d.ts +13 -0
- package/dist/containers/CourseCard/components/CourseCardImage.js +35 -0
- package/dist/containers/CourseCard/components/CourseCardImage.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardMenu/SocialShareMenu.d.ts +17 -0
- package/dist/containers/CourseCard/components/CourseCardMenu/SocialShareMenu.js +43 -0
- package/dist/containers/CourseCard/components/CourseCardMenu/SocialShareMenu.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardMenu/hooks.d.ts +26 -0
- package/dist/containers/CourseCard/components/CourseCardMenu/hooks.js +67 -0
- package/dist/containers/CourseCard/components/CourseCardMenu/hooks.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardMenu/index.d.ts +13 -0
- package/dist/containers/CourseCard/components/CourseCardMenu/index.js +34 -0
- package/dist/containers/CourseCard/components/CourseCardMenu/index.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardMenu/messages.d.ts +48 -0
- package/dist/containers/CourseCard/components/CourseCardMenu/messages.js +35 -0
- package/dist/containers/CourseCard/components/CourseCardMenu/messages.js.map +1 -0
- package/dist/containers/CourseCard/components/CourseCardTitle.d.ts +11 -0
- package/dist/containers/CourseCard/components/CourseCardTitle.js +22 -0
- package/dist/containers/CourseCard/components/CourseCardTitle.js.map +1 -0
- package/dist/containers/CourseCard/components/RelatedProgramsBadge/hooks.d.ts +11 -0
- package/dist/containers/CourseCard/components/RelatedProgramsBadge/hooks.js +29 -0
- package/dist/containers/CourseCard/components/RelatedProgramsBadge/hooks.js.map +1 -0
- package/dist/containers/CourseCard/components/RelatedProgramsBadge/index.d.ts +10 -0
- package/dist/containers/CourseCard/components/RelatedProgramsBadge/index.js +20 -0
- package/dist/containers/CourseCard/components/RelatedProgramsBadge/index.js.map +1 -0
- package/dist/containers/CourseCard/components/RelatedProgramsBadge/messages.d.ts +16 -0
- package/dist/containers/CourseCard/components/RelatedProgramsBadge/messages.js +14 -0
- package/dist/containers/CourseCard/components/RelatedProgramsBadge/messages.js.map +1 -0
- package/dist/containers/CourseCard/components/hooks.d.ts +8 -0
- package/dist/containers/CourseCard/components/hooks.js +25 -0
- package/dist/containers/CourseCard/components/hooks.js.map +1 -0
- package/dist/containers/CourseCard/hooks.d.ts +1 -0
- package/dist/containers/CourseCard/hooks.js +6 -0
- package/dist/containers/CourseCard/hooks.js.map +1 -0
- package/dist/containers/CourseCard/index.d.ts +10 -0
- package/dist/containers/CourseCard/index.js +22 -0
- package/dist/containers/CourseCard/index.js.map +1 -0
- package/dist/containers/CourseCard/messages.d.ts +32 -0
- package/dist/containers/CourseCard/messages.js +25 -0
- package/dist/containers/CourseCard/messages.js.map +1 -0
- package/dist/containers/CourseFilterControls/ActiveCourseFilters.d.ts +2 -0
- package/dist/containers/CourseFilterControls/ActiveCourseFilters.js +15 -0
- package/dist/containers/CourseFilterControls/ActiveCourseFilters.js.map +1 -0
- package/dist/containers/CourseFilterControls/CourseFilterControls.d.ts +2 -0
- package/dist/containers/CourseFilterControls/CourseFilterControls.js +41 -0
- package/dist/containers/CourseFilterControls/CourseFilterControls.js.map +1 -0
- package/dist/containers/CourseFilterControls/components/Checkbox.d.ts +10 -0
- package/dist/containers/CourseFilterControls/components/Checkbox.js +15 -0
- package/dist/containers/CourseFilterControls/components/Checkbox.js.map +1 -0
- package/dist/containers/CourseFilterControls/components/FilterForm.d.ts +13 -0
- package/dist/containers/CourseFilterControls/components/FilterForm.js +25 -0
- package/dist/containers/CourseFilterControls/components/FilterForm.js.map +1 -0
- package/dist/containers/CourseFilterControls/components/SortForm.d.ts +12 -0
- package/dist/containers/CourseFilterControls/components/SortForm.js +17 -0
- package/dist/containers/CourseFilterControls/components/SortForm.js.map +1 -0
- package/dist/containers/CourseFilterControls/index.d.ts +4 -0
- package/dist/containers/CourseFilterControls/index.js +5 -0
- package/dist/containers/CourseFilterControls/index.js.map +1 -0
- package/dist/containers/CourseFilterControls/messages.d.ts +88 -0
- package/dist/containers/CourseFilterControls/messages.js +60 -0
- package/dist/containers/CourseFilterControls/messages.js.map +1 -0
- package/dist/containers/CoursesPanel/CourseList/hooks.d.ts +2 -0
- package/dist/containers/CoursesPanel/CourseList/hooks.js +7 -0
- package/dist/containers/CoursesPanel/CourseList/hooks.js.map +1 -0
- package/dist/containers/CoursesPanel/CourseList/index.d.ts +16 -0
- package/dist/containers/CoursesPanel/CourseList/index.js +23 -0
- package/dist/containers/CoursesPanel/CourseList/index.js.map +1 -0
- package/dist/containers/CoursesPanel/NoCoursesView/index.d.ts +2 -0
- package/dist/containers/CoursesPanel/NoCoursesView/index.js +19 -0
- package/dist/containers/CoursesPanel/NoCoursesView/index.js.map +1 -0
- package/dist/containers/CoursesPanel/NoCoursesView/index.scss +13 -0
- package/dist/containers/CoursesPanel/NoCoursesView/messages.d.ts +32 -0
- package/dist/containers/CoursesPanel/NoCoursesView/messages.js +25 -0
- package/dist/containers/CoursesPanel/NoCoursesView/messages.js.map +1 -0
- package/dist/containers/CoursesPanel/index.d.ts +5 -0
- package/dist/containers/CoursesPanel/index.js +45 -0
- package/dist/containers/CoursesPanel/index.js.map +1 -0
- package/dist/containers/CoursesPanel/index.scss +40 -0
- package/dist/containers/CoursesPanel/messages.d.ts +8 -0
- package/dist/containers/CoursesPanel/messages.js +10 -0
- package/dist/containers/CoursesPanel/messages.js.map +1 -0
- package/dist/containers/Dashboard/DashboardLayout.d.ts +58 -0
- package/dist/containers/Dashboard/DashboardLayout.js +34 -0
- package/dist/containers/Dashboard/DashboardLayout.js.map +1 -0
- package/dist/containers/Dashboard/LoadingView.d.ts +2 -0
- package/dist/containers/Dashboard/LoadingView.js +10 -0
- package/dist/containers/Dashboard/LoadingView.js.map +1 -0
- package/dist/containers/Dashboard/hooks.d.ts +15 -0
- package/dist/containers/Dashboard/hooks.js +30 -0
- package/dist/containers/Dashboard/hooks.js.map +1 -0
- package/dist/containers/Dashboard/index.d.ts +2 -0
- package/dist/containers/Dashboard/index.js +23 -0
- package/dist/containers/Dashboard/index.js.map +1 -0
- package/dist/containers/Dashboard/index.scss +27 -0
- package/dist/containers/EmailSettingsModal/hooks.d.ts +10 -0
- package/dist/containers/EmailSettingsModal/hooks.js +27 -0
- package/dist/containers/EmailSettingsModal/hooks.js.map +1 -0
- package/dist/containers/EmailSettingsModal/index.d.ts +14 -0
- package/dist/containers/EmailSettingsModal/index.js +20 -0
- package/dist/containers/EmailSettingsModal/index.js.map +1 -0
- package/dist/containers/EmailSettingsModal/messages.d.ts +49 -0
- package/dist/containers/EmailSettingsModal/messages.js +35 -0
- package/dist/containers/EmailSettingsModal/messages.js.map +1 -0
- package/dist/containers/RelatedProgramsModal/components/ProgramCard.d.ts +19 -0
- package/dist/containers/RelatedProgramsModal/components/ProgramCard.js +29 -0
- package/dist/containers/RelatedProgramsModal/components/ProgramCard.js.map +1 -0
- package/dist/containers/RelatedProgramsModal/components/messages.d.ts +32 -0
- package/dist/containers/RelatedProgramsModal/components/messages.js +24 -0
- package/dist/containers/RelatedProgramsModal/components/messages.js.map +1 -0
- package/dist/containers/RelatedProgramsModal/index.d.ts +14 -0
- package/dist/containers/RelatedProgramsModal/index.js +25 -0
- package/dist/containers/RelatedProgramsModal/index.js.map +1 -0
- package/dist/containers/RelatedProgramsModal/messages.d.ts +17 -0
- package/dist/containers/RelatedProgramsModal/messages.js +15 -0
- package/dist/containers/RelatedProgramsModal/messages.js.map +1 -0
- package/dist/containers/SelectSessionModal/constants.d.ts +1 -0
- package/dist/containers/SelectSessionModal/constants.js +2 -0
- package/dist/containers/SelectSessionModal/constants.js.map +1 -0
- package/dist/containers/SelectSessionModal/hooks.d.ts +17 -0
- package/dist/containers/SelectSessionModal/hooks.js +76 -0
- package/dist/containers/SelectSessionModal/hooks.js.map +1 -0
- package/dist/containers/SelectSessionModal/index.d.ts +2 -0
- package/dist/containers/SelectSessionModal/index.js +17 -0
- package/dist/containers/SelectSessionModal/index.js.map +1 -0
- package/dist/containers/SelectSessionModal/messages.d.ts +56 -0
- package/dist/containers/SelectSessionModal/messages.js +40 -0
- package/dist/containers/SelectSessionModal/messages.js.map +1 -0
- package/dist/containers/UnenrollConfirmModal/components/ConfirmPane.d.ts +14 -0
- package/dist/containers/UnenrollConfirmModal/components/ConfirmPane.js +22 -0
- package/dist/containers/UnenrollConfirmModal/components/ConfirmPane.js.map +1 -0
- package/dist/containers/UnenrollConfirmModal/components/FinishedPane.d.ts +12 -0
- package/dist/containers/UnenrollConfirmModal/components/FinishedPane.js +21 -0
- package/dist/containers/UnenrollConfirmModal/components/FinishedPane.js.map +1 -0
- package/dist/containers/UnenrollConfirmModal/components/ReasonPane.d.ts +22 -0
- package/dist/containers/UnenrollConfirmModal/components/ReasonPane.js +28 -0
- package/dist/containers/UnenrollConfirmModal/components/ReasonPane.js.map +1 -0
- package/dist/containers/UnenrollConfirmModal/components/messages.d.ts +80 -0
- package/dist/containers/UnenrollConfirmModal/components/messages.js +55 -0
- package/dist/containers/UnenrollConfirmModal/components/messages.js.map +1 -0
- package/dist/containers/UnenrollConfirmModal/constants.d.ts +65 -0
- package/dist/containers/UnenrollConfirmModal/constants.js +89 -0
- package/dist/containers/UnenrollConfirmModal/constants.js.map +1 -0
- package/dist/containers/UnenrollConfirmModal/hooks/index.d.ts +25 -0
- package/dist/containers/UnenrollConfirmModal/hooks/index.js +53 -0
- package/dist/containers/UnenrollConfirmModal/hooks/index.js.map +1 -0
- package/dist/containers/UnenrollConfirmModal/hooks/reasons.d.ts +15 -0
- package/dist/containers/UnenrollConfirmModal/hooks/reasons.js +53 -0
- package/dist/containers/UnenrollConfirmModal/hooks/reasons.js.map +1 -0
- package/dist/containers/UnenrollConfirmModal/index.d.ts +14 -0
- package/dist/containers/UnenrollConfirmModal/index.js +22 -0
- package/dist/containers/UnenrollConfirmModal/index.js.map +1 -0
- package/dist/data/constants/app.d.ts +4 -0
- package/dist/data/constants/app.js +15 -0
- package/dist/data/constants/app.js.map +1 -0
- package/dist/data/constants/course.d.ts +11 -0
- package/dist/data/constants/course.js +17 -0
- package/dist/data/constants/course.js.map +1 -0
- package/dist/data/constants/credit.d.ts +5 -0
- package/dist/data/constants/credit.js +8 -0
- package/dist/data/constants/credit.js.map +1 -0
- package/dist/data/constants/files.d.ts +4 -0
- package/dist/data/constants/files.js +18 -0
- package/dist/data/constants/files.js.map +1 -0
- package/dist/data/constants/htmlKeys.d.ts +7 -0
- package/dist/data/constants/htmlKeys.js +19 -0
- package/dist/data/constants/htmlKeys.js.map +1 -0
- package/dist/data/constants/requests.d.ts +4 -0
- package/dist/data/constants/requests.js +31 -0
- package/dist/data/constants/requests.js.map +1 -0
- package/dist/data/context/FiltersProvider.d.ts +18 -0
- package/dist/data/context/FiltersProvider.js +37 -0
- package/dist/data/context/FiltersProvider.js.map +1 -0
- package/dist/data/context/MasqueradeProvider.d.ts +11 -0
- package/dist/data/context/MasqueradeProvider.js +19 -0
- package/dist/data/context/MasqueradeProvider.js.map +1 -0
- package/dist/data/context/SelectSessionProvider.d.ts +15 -0
- package/dist/data/context/SelectSessionProvider.js +40 -0
- package/dist/data/context/SelectSessionProvider.js.map +1 -0
- package/dist/data/context/index.d.ts +10 -0
- package/dist/data/context/index.js +8 -0
- package/dist/data/context/index.js.map +1 -0
- package/dist/data/contexts/GlobalDataContext.d.ts +16 -0
- package/dist/data/contexts/GlobalDataContext.js +14 -0
- package/dist/data/contexts/GlobalDataContext.js.map +1 -0
- package/dist/data/contexts/GlobalDataProvider.d.ts +3 -0
- package/dist/data/contexts/GlobalDataProvider.js +15 -0
- package/dist/data/contexts/GlobalDataProvider.js.map +1 -0
- package/dist/data/hooks/index.d.ts +3 -0
- package/dist/data/hooks/index.js +4 -0
- package/dist/data/hooks/index.js.map +1 -0
- package/dist/data/hooks/mutationHooks.d.ts +26 -0
- package/dist/data/hooks/mutationHooks.js +84 -0
- package/dist/data/hooks/mutationHooks.js.map +1 -0
- package/dist/data/hooks/queryHooks.d.ts +164 -0
- package/dist/data/hooks/queryHooks.js +57 -0
- package/dist/data/hooks/queryHooks.js.map +1 -0
- package/dist/data/hooks/queryKeys.d.ts +13 -0
- package/dist/data/hooks/queryKeys.js +15 -0
- package/dist/data/hooks/queryKeys.js.map +1 -0
- package/dist/data/services/lms/api.d.ts +32 -0
- package/dist/data/services/lms/api.js +80 -0
- package/dist/data/services/lms/api.js.map +1 -0
- package/dist/data/services/lms/constants.d.ts +8 -0
- package/dist/data/services/lms/constants.js +16 -0
- package/dist/data/services/lms/constants.js.map +1 -0
- package/dist/data/services/lms/index.d.ts +2 -0
- package/dist/data/services/lms/index.js +8 -0
- package/dist/data/services/lms/index.js.map +1 -0
- package/dist/data/services/lms/urls.d.ts +8 -0
- package/dist/data/services/lms/urls.js +37 -0
- package/dist/data/services/lms/urls.js.map +1 -0
- package/dist/data/services/lms/utils.d.ts +6 -0
- package/dist/data/services/lms/utils.js +56 -0
- package/dist/data/services/lms/utils.js.map +1 -0
- package/dist/data/services/segment/utils.d.ts +3 -0
- package/dist/data/services/segment/utils.js +12 -0
- package/dist/data/services/segment/utils.js.map +1 -0
- package/dist/hooks/index.d.ts +7 -0
- package/dist/hooks/index.js +11 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useCourseData.d.ts +2 -0
- package/dist/hooks/useCourseData.js +8 -0
- package/dist/hooks/useCourseData.js.map +1 -0
- package/dist/hooks/useCourseTrackingEvent.d.ts +2 -0
- package/dist/hooks/useCourseTrackingEvent.js +13 -0
- package/dist/hooks/useCourseTrackingEvent.js.map +1 -0
- package/dist/hooks/useEntitlementInfo.d.ts +22 -0
- package/dist/hooks/useEntitlementInfo.js +29 -0
- package/dist/hooks/useEntitlementInfo.js.map +1 -0
- package/dist/hooks/useIsMasquerading.d.ts +2 -0
- package/dist/hooks/useIsMasquerading.js +9 -0
- package/dist/hooks/useIsMasquerading.js.map +1 -0
- package/dist/hooks/utils.d.ts +7 -0
- package/dist/hooks/utils.js +14 -0
- package/dist/hooks/utils.js.map +1 -0
- package/dist/i18n/index.d.ts +1 -0
- package/dist/i18n/index.js +2 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/messages.d.ts +13 -0
- package/dist/messages.js +15 -0
- package/dist/messages.js.map +1 -0
- package/dist/providers.d.ts +3 -0
- package/dist/providers.js +8 -0
- package/dist/providers.js.map +1 -0
- package/dist/routes.d.ts +13 -0
- package/dist/routes.js +28 -0
- package/dist/routes.js.map +1 -0
- package/dist/segment.d.ts +1 -0
- package/dist/segment.js +74 -0
- package/dist/segment.js.map +1 -0
- package/dist/slots/CourseBannerSlot/index.d.ts +10 -0
- package/dist/slots/CourseBannerSlot/index.js +10 -0
- package/dist/slots/CourseBannerSlot/index.js.map +1 -0
- package/dist/slots/CourseCardActionSlot/index.d.ts +10 -0
- package/dist/slots/CourseCardActionSlot/index.js +9 -0
- package/dist/slots/CourseCardActionSlot/index.js.map +1 -0
- package/dist/slots/CourseListSlot/index.d.ts +10 -0
- package/dist/slots/CourseListSlot/index.js +9 -0
- package/dist/slots/CourseListSlot/index.js.map +1 -0
- package/dist/slots/DashboardModalSlot/index.d.ts +2 -0
- package/dist/slots/DashboardModalSlot/index.js +5 -0
- package/dist/slots/DashboardModalSlot/index.js.map +1 -0
- package/dist/slots/NoCoursesViewSlot/index.d.ts +2 -0
- package/dist/slots/NoCoursesViewSlot/index.js +6 -0
- package/dist/slots/NoCoursesViewSlot/index.js.map +1 -0
- package/dist/slots/WidgetSidebarSlot/index.d.ts +2 -0
- package/dist/slots/WidgetSidebarSlot/index.js +6 -0
- package/dist/slots/WidgetSidebarSlot/index.js.map +1 -0
- package/dist/slots.d.ts +3 -0
- package/dist/slots.js +6 -0
- package/dist/slots.js.map +1 -0
- package/dist/testUtils.d.ts +86 -0
- package/dist/testUtils.js +183 -0
- package/dist/testUtils.js.map +1 -0
- package/dist/tracking/constants.d.ts +6 -0
- package/dist/tracking/constants.js +45 -0
- package/dist/tracking/constants.js.map +1 -0
- package/dist/tracking/index.d.ts +17 -0
- package/dist/tracking/index.js +17 -0
- package/dist/tracking/index.js.map +1 -0
- package/dist/tracking/trackers/course.d.ts +13 -0
- package/dist/tracking/trackers/course.js +31 -0
- package/dist/tracking/trackers/course.js.map +1 -0
- package/dist/tracking/trackers/credit.d.ts +5 -0
- package/dist/tracking/trackers/credit.js +16 -0
- package/dist/tracking/trackers/credit.js.map +1 -0
- package/dist/tracking/trackers/engagement.d.ts +9 -0
- package/dist/tracking/trackers/engagement.js +18 -0
- package/dist/tracking/trackers/engagement.js.map +1 -0
- package/dist/tracking/trackers/entitlements.d.ts +9 -0
- package/dist/tracking/trackers/entitlements.js +27 -0
- package/dist/tracking/trackers/entitlements.js.map +1 -0
- package/dist/tracking/trackers/filter.d.ts +7 -0
- package/dist/tracking/trackers/filter.js +13 -0
- package/dist/tracking/trackers/filter.js.map +1 -0
- package/dist/tracking/trackers/findCourses.d.ts +5 -0
- package/dist/tracking/trackers/findCourses.js +7 -0
- package/dist/tracking/trackers/findCourses.js.map +1 -0
- package/dist/tracking/trackers/socialShare.d.ts +2 -0
- package/dist/tracking/trackers/socialShare.js +10 -0
- package/dist/tracking/trackers/socialShare.js.map +1 -0
- package/dist/utils/StrictDict.d.ts +2 -0
- package/dist/utils/StrictDict.js +15 -0
- package/dist/utils/StrictDict.js.map +1 -0
- package/dist/utils/dataTransformers.d.ts +7 -0
- package/dist/utils/dataTransformers.js +58 -0
- package/dist/utils/dataTransformers.js.map +1 -0
- package/dist/utils/dateFormatter.d.ts +2 -0
- package/dist/utils/dateFormatter.js +8 -0
- package/dist/utils/dateFormatter.js.map +1 -0
- package/dist/utils/hooks.d.ts +5 -0
- package/dist/utils/hooks.js +10 -0
- package/dist/utils/hooks.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/keyStore.d.ts +2 -0
- package/dist/utils/keyStore.js +4 -0
- package/dist/utils/keyStore.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.d.ts +10 -0
- package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.js +34 -0
- package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/index.d.ts +2 -0
- package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/index.js +19 -0
- package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/index.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/messages.d.ts +48 -0
- package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/messages.js +35 -0
- package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/messages.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/CoursesLink.d.ts +1 -0
- package/dist/widgets/LearnerDashboardHeader/CoursesLink.js +8 -0
- package/dist/widgets/LearnerDashboardHeader/CoursesLink.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/DiscoverLinkMenuItem.d.ts +3 -0
- package/dist/widgets/LearnerDashboardHeader/DiscoverLinkMenuItem.js +17 -0
- package/dist/widgets/LearnerDashboardHeader/DiscoverLinkMenuItem.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.d.ts +22 -0
- package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.js +44 -0
- package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/index.d.ts +2 -0
- package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/index.js +20 -0
- package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/index.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/index.scss +36 -0
- package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/messages.d.ts +48 -0
- package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/messages.js +35 -0
- package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/messages.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/OrderHistoryLinkMenuItem.d.ts +3 -0
- package/dist/widgets/LearnerDashboardHeader/OrderHistoryLinkMenuItem.js +15 -0
- package/dist/widgets/LearnerDashboardHeader/OrderHistoryLinkMenuItem.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/ProgramsLinkMenuItem.d.ts +3 -0
- package/dist/widgets/LearnerDashboardHeader/ProgramsLinkMenuItem.js +13 -0
- package/dist/widgets/LearnerDashboardHeader/ProgramsLinkMenuItem.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/SupportLinkMenuItem.d.ts +3 -0
- package/dist/widgets/LearnerDashboardHeader/SupportLinkMenuItem.js +15 -0
- package/dist/widgets/LearnerDashboardHeader/SupportLinkMenuItem.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/app.d.ts +3 -0
- package/dist/widgets/LearnerDashboardHeader/app.js +69 -0
- package/dist/widgets/LearnerDashboardHeader/app.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/hooks.d.ts +9 -0
- package/dist/widgets/LearnerDashboardHeader/hooks.js +15 -0
- package/dist/widgets/LearnerDashboardHeader/hooks.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/index.js +2 -0
- package/dist/widgets/LearnerDashboardHeader/index.js.map +1 -0
- package/dist/widgets/LearnerDashboardHeader/messages.d.ts +136 -0
- package/dist/widgets/LearnerDashboardHeader/messages.js +90 -0
- package/dist/widgets/LearnerDashboardHeader/messages.js.map +1 -0
- package/dist/widgets/LookingForChallengeWidget/index.d.ts +6 -0
- package/dist/widgets/LookingForChallengeWidget/index.js +22 -0
- package/dist/widgets/LookingForChallengeWidget/index.js.map +1 -0
- package/dist/widgets/LookingForChallengeWidget/messages.d.ts +16 -0
- package/dist/widgets/LookingForChallengeWidget/messages.js +15 -0
- package/dist/widgets/LookingForChallengeWidget/messages.js.map +1 -0
- package/dist/widgets/LookingForChallengeWidget/track.d.ts +7 -0
- package/dist/widgets/LookingForChallengeWidget/track.js +13 -0
- package/dist/widgets/LookingForChallengeWidget/track.js.map +1 -0
- package/package.json +35 -21
- package/src/Main.jsx +0 -20
- package/src/__mocks__/file.js +0 -1
- package/src/__mocks__/svg.js +0 -1
- package/src/__snapshots__/App.test.jsx.snap +0 -83
- package/src/__snapshots__/index.test.jsx.snap +0 -43
- package/src/app.scss +0 -41
- package/src/app.ts +0 -23
- package/src/components/Banner.jsx +0 -26
- package/src/components/Banner.test.jsx +0 -27
- package/src/components/__snapshots__/Banner.test.jsx.snap +0 -31
- package/src/constants.ts +0 -1
- package/src/containers/CourseCard/CourseCard.scss +0 -75
- package/src/containers/CourseCard/__snapshots__/index.test.jsx.snap +0 -111
- package/src/containers/CourseCard/components/CourseCardActions/ActionButton/__snapshots__/index.test.jsx.snap +0 -14
- package/src/containers/CourseCard/components/CourseCardActions/ActionButton/hooks.js +0 -8
- package/src/containers/CourseCard/components/CourseCardActions/ActionButton/hooks.test.js +0 -21
- package/src/containers/CourseCard/components/CourseCardActions/ActionButton/index.jsx +0 -16
- package/src/containers/CourseCard/components/CourseCardActions/ActionButton/index.test.jsx +0 -25
- package/src/containers/CourseCard/components/CourseCardActions/BeginCourseButton.jsx +0 -38
- package/src/containers/CourseCard/components/CourseCardActions/BeginCourseButton.test.jsx +0 -86
- package/src/containers/CourseCard/components/CourseCardActions/ResumeButton.jsx +0 -38
- package/src/containers/CourseCard/components/CourseCardActions/ResumeButton.test.jsx +0 -84
- package/src/containers/CourseCard/components/CourseCardActions/SelectSessionButton.jsx +0 -28
- package/src/containers/CourseCard/components/CourseCardActions/SelectSessionButton.test.jsx +0 -34
- package/src/containers/CourseCard/components/CourseCardActions/ViewCourseButton.jsx +0 -37
- package/src/containers/CourseCard/components/CourseCardActions/ViewCourseButton.test.jsx +0 -45
- package/src/containers/CourseCard/components/CourseCardActions/__snapshots__/BeginCourseButton.test.jsx.snap +0 -39
- package/src/containers/CourseCard/components/CourseCardActions/__snapshots__/ResumeButton.test.jsx.snap +0 -39
- package/src/containers/CourseCard/components/CourseCardActions/__snapshots__/SelectSessionButton.test.jsx.snap +0 -19
- package/src/containers/CourseCard/components/CourseCardActions/__snapshots__/ViewCourseButton.test.jsx.snap +0 -39
- package/src/containers/CourseCard/components/CourseCardActions/index.jsx +0 -42
- package/src/containers/CourseCard/components/CourseCardActions/index.test.jsx +0 -97
- package/src/containers/CourseCard/components/CourseCardActions/messages.js +0 -26
- package/src/containers/CourseCard/components/CourseCardBanners/CertificateBanner.jsx +0 -95
- package/src/containers/CourseCard/components/CourseCardBanners/CertificateBanner.test.jsx +0 -227
- package/src/containers/CourseCard/components/CourseCardBanners/CourseBanner.jsx +0 -57
- package/src/containers/CourseCard/components/CourseCardBanners/CourseBanner.test.jsx +0 -131
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/__snapshots__/index.test.jsx.snap +0 -58
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.js +0 -42
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.test.js +0 -90
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/index.jsx +0 -36
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/index.test.jsx +0 -95
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/messages.js +0 -16
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/ApprovedContent.jsx +0 -35
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/ApprovedContent.test.jsx +0 -64
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/EligibleContent.jsx +0 -34
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/EligibleContent.test.jsx +0 -82
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/MustRequestContent.jsx +0 -36
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/MustRequestContent.test.jsx +0 -74
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/PendingContent.jsx +0 -30
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/PendingContent.test.jsx +0 -63
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/RejectedContent.jsx +0 -27
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/RejectedContent.test.jsx +0 -54
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditContent.jsx +0 -51
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditContent.test.jsx +0 -60
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/__snapshots__/index.test.jsx.snap +0 -32
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/hooks.js +0 -13
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/hooks.test.js +0 -45
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/index.jsx +0 -43
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/index.test.jsx +0 -65
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/CreditRequestForm/ref.test.jsx +0 -34
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/ProviderLink.jsx +0 -24
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/ProviderLink.test.jsx +0 -42
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/__snapshots__/CreditContent.test.jsx.snap +0 -60
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/components/__snapshots__/ProviderLink.test.jsx.snap +0 -11
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/hooks.js +0 -27
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/hooks.test.js +0 -56
- package/src/containers/CourseCard/components/CourseCardBanners/CreditBanner/views/messages.js +0 -61
- package/src/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.jsx +0 -66
- package/src/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.test.jsx +0 -63
- package/src/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/ProgramsList.jsx +0 -23
- package/src/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/ProgramsList.test.jsx +0 -23
- package/src/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/__snapshots__/ProgramsList.test.jsx.snap +0 -28
- package/src/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/__snapshots__/index.test.jsx.snap +0 -29
- package/src/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/index.jsx +0 -38
- package/src/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/index.test.jsx +0 -42
- package/src/containers/CourseCard/components/CourseCardBanners/RelatedProgramsBanner/messages.js +0 -31
- package/src/containers/CourseCard/components/CourseCardBanners/__snapshots__/CertificateBanner.test.jsx.snap +0 -205
- package/src/containers/CourseCard/components/CourseCardBanners/__snapshots__/CourseBanner.test.jsx.snap +0 -38
- package/src/containers/CourseCard/components/CourseCardBanners/__snapshots__/EntitlementBanner.test.jsx.snap +0 -53
- package/src/containers/CourseCard/components/CourseCardBanners/__snapshots__/index.test.jsx.snap +0 -41
- package/src/containers/CourseCard/components/CourseCardBanners/index.jsx +0 -28
- package/src/containers/CourseCard/components/CourseCardBanners/index.test.jsx +0 -32
- package/src/containers/CourseCard/components/CourseCardBanners/messages.js +0 -106
- package/src/containers/CourseCard/components/CourseCardDetails/__snapshots__/index.test.jsx.snap +0 -56
- package/src/containers/CourseCard/components/CourseCardDetails/hooks.js +0 -67
- package/src/containers/CourseCard/components/CourseCardDetails/hooks.test.js +0 -186
- package/src/containers/CourseCard/components/CourseCardDetails/index.jsx +0 -45
- package/src/containers/CourseCard/components/CourseCardDetails/index.scss +0 -7
- package/src/containers/CourseCard/components/CourseCardDetails/index.test.jsx +0 -71
- package/src/containers/CourseCard/components/CourseCardDetails/messages.js +0 -41
- package/src/containers/CourseCard/components/CourseCardImage.jsx +0 -68
- package/src/containers/CourseCard/components/CourseCardImage.test.jsx +0 -66
- package/src/containers/CourseCard/components/CourseCardMenu/SocialShareMenu.jsx +0 -83
- package/src/containers/CourseCard/components/CourseCardMenu/SocialShareMenu.test.jsx +0 -236
- package/src/containers/CourseCard/components/CourseCardMenu/__snapshots__/index.test.jsx.snap +0 -81
- package/src/containers/CourseCard/components/CourseCardMenu/hooks.js +0 -58
- package/src/containers/CourseCard/components/CourseCardMenu/hooks.test.js +0 -153
- package/src/containers/CourseCard/components/CourseCardMenu/index.jsx +0 -85
- package/src/containers/CourseCard/components/CourseCardMenu/index.test.jsx +0 -214
- package/src/containers/CourseCard/components/CourseCardMenu/messages.js +0 -36
- package/src/containers/CourseCard/components/CourseCardTitle.jsx +0 -43
- package/src/containers/CourseCard/components/CourseCardTitle.test.jsx +0 -67
- package/src/containers/CourseCard/components/RelatedProgramsBadge/__snapshots__/index.test.jsx.snap +0 -25
- package/src/containers/CourseCard/components/RelatedProgramsBadge/hooks.jsx +0 -35
- package/src/containers/CourseCard/components/RelatedProgramsBadge/hooks.test.js +0 -76
- package/src/containers/CourseCard/components/RelatedProgramsBadge/index.jsx +0 -39
- package/src/containers/CourseCard/components/RelatedProgramsBadge/index.test.jsx +0 -30
- package/src/containers/CourseCard/components/RelatedProgramsBadge/messages.js +0 -13
- package/src/containers/CourseCard/components/__snapshots__/CourseCardImage.test.jsx.snap +0 -72
- package/src/containers/CourseCard/components/__snapshots__/CourseCardTitle.test.jsx.snap +0 -33
- package/src/containers/CourseCard/components/hooks.js +0 -33
- package/src/containers/CourseCard/components/hooks.test.js +0 -165
- package/src/containers/CourseCard/hooks.js +0 -23
- package/src/containers/CourseCard/hooks.test.js +0 -48
- package/src/containers/CourseCard/index.jsx +0 -50
- package/src/containers/CourseCard/index.test.jsx +0 -29
- package/src/containers/CourseCard/messages.js +0 -26
- package/src/containers/CourseFilterControls/ActiveCourseFilters.jsx +0 -40
- package/src/containers/CourseFilterControls/ActiveCourseFilters.test.jsx +0 -17
- package/src/containers/CourseFilterControls/CourseFilterControls.jsx +0 -115
- package/src/containers/CourseFilterControls/CourseFilterControls.test.jsx +0 -60
- package/src/containers/CourseFilterControls/__snapshots__/ActiveCourseFilters.test.jsx.snap +0 -39
- package/src/containers/CourseFilterControls/__snapshots__/CourseFilterControls.test.jsx.snap +0 -169
- package/src/containers/CourseFilterControls/components/Checkbox.jsx +0 -21
- package/src/containers/CourseFilterControls/components/Checkbox.test.jsx +0 -15
- package/src/containers/CourseFilterControls/components/FilterForm.jsx +0 -45
- package/src/containers/CourseFilterControls/components/FilterForm.test.jsx +0 -29
- package/src/containers/CourseFilterControls/components/SortForm.jsx +0 -39
- package/src/containers/CourseFilterControls/components/SortForm.test.jsx +0 -19
- package/src/containers/CourseFilterControls/components/__snapshots__/Checkbox.test.jsx.snap +0 -46
- package/src/containers/CourseFilterControls/components/__snapshots__/FilterForm.test.jsx.snap +0 -41
- package/src/containers/CourseFilterControls/components/__snapshots__/SortForm.test.jsx.snap +0 -29
- package/src/containers/CourseFilterControls/hooks.js +0 -60
- package/src/containers/CourseFilterControls/hooks.test.js +0 -113
- package/src/containers/CourseFilterControls/index.jsx +0 -6
- package/src/containers/CourseFilterControls/messages.js +0 -61
- package/src/containers/CoursesPanel/CourseList/__snapshots__/index.test.jsx.snap +0 -70
- package/src/containers/CoursesPanel/CourseList/hooks.js +0 -8
- package/src/containers/CoursesPanel/CourseList/index.jsx +0 -54
- package/src/containers/CoursesPanel/CourseList/index.test.jsx +0 -64
- package/src/containers/CoursesPanel/NoCoursesView/__snapshots__/index.test.jsx.snap +0 -29
- package/src/containers/CoursesPanel/NoCoursesView/index.jsx +0 -40
- package/src/containers/CoursesPanel/NoCoursesView/index.scss +0 -15
- package/src/containers/CoursesPanel/NoCoursesView/index.test.jsx +0 -18
- package/src/containers/CoursesPanel/NoCoursesView/messages.js +0 -26
- package/src/containers/CoursesPanel/__snapshots__/index.test.jsx.snap +0 -55
- package/src/containers/CoursesPanel/hooks.js +0 -54
- package/src/containers/CoursesPanel/hooks.test.js +0 -115
- package/src/containers/CoursesPanel/index.jsx +0 -40
- package/src/containers/CoursesPanel/index.scss +0 -42
- package/src/containers/CoursesPanel/index.test.jsx +0 -58
- package/src/containers/CoursesPanel/messages.js +0 -11
- package/src/containers/Dashboard/DashboardLayout.jsx +0 -54
- package/src/containers/Dashboard/DashboardLayout.test.jsx +0 -115
- package/src/containers/Dashboard/LoadingView.jsx +0 -20
- package/src/containers/Dashboard/LoadingView.test.jsx +0 -23
- package/src/containers/Dashboard/__snapshots__/DashboardLayout.test.jsx.snap +0 -197
- package/src/containers/Dashboard/__snapshots__/LoadingView.test.jsx.snap +0 -13
- package/src/containers/Dashboard/__snapshots__/index.test.jsx.snap +0 -69
- package/src/containers/Dashboard/hooks.js +0 -34
- package/src/containers/Dashboard/hooks.test.js +0 -88
- package/src/containers/Dashboard/index.jsx +0 -43
- package/src/containers/Dashboard/index.scss +0 -29
- package/src/containers/Dashboard/index.test.jsx +0 -122
- package/src/containers/EmailSettingsModal/__snapshots__/index.test.jsx.snap +0 -133
- package/src/containers/EmailSettingsModal/hooks.js +0 -32
- package/src/containers/EmailSettingsModal/hooks.test.js +0 -71
- package/src/containers/EmailSettingsModal/index.jsx +0 -58
- package/src/containers/EmailSettingsModal/index.test.jsx +0 -57
- package/src/containers/EmailSettingsModal/messages.js +0 -37
- package/src/containers/RelatedProgramsModal/__snapshots__/index.test.jsx.snap +0 -169
- package/src/containers/RelatedProgramsModal/components/ProgramCard.jsx +0 -66
- package/src/containers/RelatedProgramsModal/components/ProgramCard.test.jsx +0 -23
- package/src/containers/RelatedProgramsModal/components/__snapshots__/ProgramCard.test.jsx.snap +0 -60
- package/src/containers/RelatedProgramsModal/components/messages.js +0 -24
- package/src/containers/RelatedProgramsModal/hooks.js +0 -10
- package/src/containers/RelatedProgramsModal/index.jsx +0 -62
- package/src/containers/RelatedProgramsModal/index.test.jsx +0 -60
- package/src/containers/RelatedProgramsModal/messages.js +0 -16
- package/src/containers/SelectSessionModal/__snapshots__/index.test.jsx.snap +0 -176
- package/src/containers/SelectSessionModal/constants.js +0 -2
- package/src/containers/SelectSessionModal/hooks.js +0 -77
- package/src/containers/SelectSessionModal/hooks.test.js +0 -194
- package/src/containers/SelectSessionModal/index.jsx +0 -75
- package/src/containers/SelectSessionModal/index.test.jsx +0 -53
- package/src/containers/SelectSessionModal/messages.js +0 -41
- package/src/containers/UnenrollConfirmModal/__snapshots__/index.test.jsx.snap +0 -101
- package/src/containers/UnenrollConfirmModal/components/ConfirmPane.jsx +0 -36
- package/src/containers/UnenrollConfirmModal/components/ConfirmPane.test.jsx +0 -14
- package/src/containers/UnenrollConfirmModal/components/FinishedPane.jsx +0 -35
- package/src/containers/UnenrollConfirmModal/components/FinishedPane.test.jsx +0 -21
- package/src/containers/UnenrollConfirmModal/components/ReasonPane.jsx +0 -65
- package/src/containers/UnenrollConfirmModal/components/ReasonPane.test.jsx +0 -26
- package/src/containers/UnenrollConfirmModal/components/__snapshots__/ConfirmPane.test.jsx.snap +0 -22
- package/src/containers/UnenrollConfirmModal/components/__snapshots__/FinishedPane.test.jsx.snap +0 -38
- package/src/containers/UnenrollConfirmModal/components/__snapshots__/ReasonPane.test.jsx.snap +0 -183
- package/src/containers/UnenrollConfirmModal/components/messages.js +0 -56
- package/src/containers/UnenrollConfirmModal/constants.js +0 -86
- package/src/containers/UnenrollConfirmModal/hooks/index.js +0 -55
- package/src/containers/UnenrollConfirmModal/hooks/index.test.js +0 -101
- package/src/containers/UnenrollConfirmModal/hooks/reasons.js +0 -79
- package/src/containers/UnenrollConfirmModal/hooks/reasons.test.js +0 -192
- package/src/containers/UnenrollConfirmModal/index.jsx +0 -59
- package/src/containers/UnenrollConfirmModal/index.test.jsx +0 -61
- package/src/data/constants/app.js +0 -20
- package/src/data/constants/app.test.js +0 -24
- package/src/data/constants/course.js +0 -17
- package/src/data/constants/credit.js +0 -9
- package/src/data/constants/files.js +0 -20
- package/src/data/constants/htmlKeys.js +0 -21
- package/src/data/constants/requests.js +0 -34
- package/src/data/contexts/GlobalDataContext.jsx +0 -15
- package/src/data/contexts/GlobalDataProvider.jsx +0 -23
- package/src/data/contexts/MasqueradeUserContext.jsx +0 -16
- package/src/data/contexts/MasqueradeUserProvider.jsx +0 -31
- package/src/data/redux/app/index.js +0 -2
- package/src/data/redux/app/reducer.js +0 -81
- package/src/data/redux/app/reducer.test.js +0 -124
- package/src/data/redux/app/selectors/appSelectors.js +0 -23
- package/src/data/redux/app/selectors/appSelectors.test.js +0 -28
- package/src/data/redux/app/selectors/courseCard.js +0 -155
- package/src/data/redux/app/selectors/courseCard.test.js +0 -398
- package/src/data/redux/app/selectors/currentList.js +0 -60
- package/src/data/redux/app/selectors/currentList.test.js +0 -185
- package/src/data/redux/app/selectors/index.js +0 -13
- package/src/data/redux/app/selectors/simpleSelectors.js +0 -38
- package/src/data/redux/app/selectors/simpleSelectors.test.js +0 -75
- package/src/data/redux/hooks/app.js +0 -106
- package/src/data/redux/hooks/index.js +0 -2
- package/src/data/redux/hooks/requests.js +0 -47
- package/src/data/redux/index.js +0 -37
- package/src/data/redux/requests/index.js +0 -2
- package/src/data/redux/requests/reducer.js +0 -53
- package/src/data/redux/requests/reducer.test.js +0 -62
- package/src/data/redux/requests/selectors.js +0 -29
- package/src/data/redux/requests/selectors.test.js +0 -110
- package/src/data/services/lms/api.js +0 -77
- package/src/data/services/lms/api.test.js +0 -156
- package/src/data/services/lms/constants.js +0 -18
- package/src/data/services/lms/fakeData/courses.js +0 -828
- package/src/data/services/lms/fakeData/testUtils.js +0 -40
- package/src/data/services/lms/index.js +0 -8
- package/src/data/services/lms/urls.js +0 -43
- package/src/data/services/lms/urls.test.js +0 -51
- package/src/data/services/lms/utils.js +0 -60
- package/src/data/services/lms/utils.test.js +0 -40
- package/src/data/services/segment/utils.js +0 -17
- package/src/data/services/segment/utils.test.js +0 -36
- package/src/data/store.js +0 -25
- package/src/data/store.test.js +0 -47
- package/src/data/utils.js +0 -19
- package/src/data/utils.test.js +0 -29
- package/src/hooks/api.js +0 -123
- package/src/hooks/api.test.js +0 -273
- package/src/hooks/index.js +0 -7
- package/src/hooks/utils.js +0 -17
- package/src/hooks/utils.test.js +0 -16
- package/src/i18n/index.js +0 -25
- package/src/index.ts +0 -3
- package/src/messages.js +0 -16
- package/src/providers.ts +0 -11
- package/src/routes.jsx +0 -14
- package/src/segment.js +0 -85
- package/src/setupTest.jsx +0 -251
- package/src/slots/CourseBannerSlot/README.md +0 -44
- package/src/slots/CourseBannerSlot/images/course_banner_slot_default.png +0 -0
- package/src/slots/CourseBannerSlot/images/custom_course_banner.png +0 -0
- package/src/slots/CourseBannerSlot/index.jsx +0 -18
- package/src/slots/CourseCardActionSlot/README.md +0 -53
- package/src/slots/CourseCardActionSlot/images/post_course_card_action.png +0 -0
- package/src/slots/CourseCardActionSlot/index.jsx +0 -15
- package/src/slots/CourseListSlot/README.md +0 -54
- package/src/slots/CourseListSlot/images/course_list_slot.png +0 -0
- package/src/slots/CourseListSlot/images/readme_custom_course_list.png +0 -0
- package/src/slots/CourseListSlot/index.jsx +0 -17
- package/src/slots/DashboardModalSlot/README.md +0 -30
- package/src/slots/DashboardModalSlot/images/dashboard_modal_slot.png +0 -0
- package/src/slots/DashboardModalSlot/index.jsx +0 -7
- package/src/slots/NoCoursesViewSlot/README.md +0 -34
- package/src/slots/NoCoursesViewSlot/images/no_course_view_slot.png +0 -0
- package/src/slots/NoCoursesViewSlot/images/readme_custom_no_courses.png +0 -0
- package/src/slots/NoCoursesViewSlot/index.jsx +0 -11
- package/src/slots/README.md +0 -8
- package/src/slots/WidgetSidebarSlot/README.md +0 -51
- package/src/slots/WidgetSidebarSlot/__snapshots__/index.test.jsx.snap +0 -14
- package/src/slots/WidgetSidebarSlot/images/readme_custom_sidebar.png +0 -0
- package/src/slots/WidgetSidebarSlot/images/widget_sidebar_slot.png +0 -0
- package/src/slots/WidgetSidebarSlot/index.jsx +0 -10
- package/src/slots/WidgetSidebarSlot/index.test.jsx +0 -18
- package/src/slots.tsx +0 -9
- package/src/test/app.test.jsx +0 -255
- package/src/test/inspector.js +0 -50
- package/src/test/messages.js +0 -29
- package/src/test/utils.js +0 -3
- package/src/testUtils.js +0 -211
- package/src/tracking/constants.js +0 -50
- package/src/tracking/index.js +0 -17
- package/src/tracking/trackers/course.js +0 -44
- package/src/tracking/trackers/course.test.js +0 -80
- package/src/tracking/trackers/credit.js +0 -20
- package/src/tracking/trackers/credit.test.js +0 -38
- package/src/tracking/trackers/engagement.js +0 -23
- package/src/tracking/trackers/engagement.test.js +0 -31
- package/src/tracking/trackers/entitlements.js +0 -34
- package/src/tracking/trackers/entitlements.test.js +0 -34
- package/src/tracking/trackers/filter.js +0 -21
- package/src/tracking/trackers/filter.test.js +0 -45
- package/src/tracking/trackers/findCourses.js +0 -16
- package/src/tracking/trackers/findCourses.test.js +0 -45
- package/src/tracking/trackers/socialShare.js +0 -11
- package/src/tracking/trackers/socialShare.test.js +0 -17
- package/src/utils/StrictDict.js +0 -19
- package/src/utils/StrictDict.test.js +0 -66
- package/src/utils/dateFormatter.js +0 -9
- package/src/utils/hooks.js +0 -12
- package/src/utils/index.js +0 -5
- package/src/utils/keyStore.js +0 -10
- package/src/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.js +0 -45
- package/src/widgets/LearnerDashboardHeader/ConfirmEmailBanner/index.jsx +0 -66
- package/src/widgets/LearnerDashboardHeader/ConfirmEmailBanner/messages.js +0 -36
- package/src/widgets/LearnerDashboardHeader/CoursesLink.jsx +0 -14
- package/src/widgets/LearnerDashboardHeader/DiscoverLinkMenuItem.jsx +0 -30
- package/src/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.js +0 -69
- package/src/widgets/LearnerDashboardHeader/MasqueradeBar/index.jsx +0 -92
- package/src/widgets/LearnerDashboardHeader/MasqueradeBar/index.scss +0 -38
- package/src/widgets/LearnerDashboardHeader/MasqueradeBar/messages.js +0 -36
- package/src/widgets/LearnerDashboardHeader/OrderHistoryLinkMenuItem.jsx +0 -29
- package/src/widgets/LearnerDashboardHeader/ProgramsLinkMenuItem.jsx +0 -26
- package/src/widgets/LearnerDashboardHeader/SupportLinkMenuItem.jsx +0 -29
- package/src/widgets/LearnerDashboardHeader/app.tsx +0 -93
- package/src/widgets/LearnerDashboardHeader/hooks.js +0 -20
- package/src/widgets/LearnerDashboardHeader/messages.js +0 -91
- package/src/widgets/LookingForChallengeWidget/__snapshots__/index.test.jsx.snap +0 -45
- package/src/widgets/LookingForChallengeWidget/index.jsx +0 -47
- package/src/widgets/LookingForChallengeWidget/index.test.jsx +0 -24
- package/src/widgets/LookingForChallengeWidget/messages.js +0 -16
- package/src/widgets/LookingForChallengeWidget/track.js +0 -15
- /package/{src → dist}/assets/empty-course.svg +0 -0
- /package/{src → dist}/assets/more-courses-sidewidget.svg +0 -0
- /package/{src → dist}/assets/verified-ribbon.png +0 -0
- /package/{src → dist}/containers/CourseFilterControls/index.scss +0 -0
- /package/{src → dist}/containers/RelatedProgramsModal/components/index.scss +0 -0
- /package/{src → dist}/containers/RelatedProgramsModal/index.scss +0 -0
- /package/{src → dist}/widgets/LearnerDashboardHeader/ConfirmEmailBanner/ConfirmEmailBanner.scss +0 -0
- /package/{src → dist}/widgets/LearnerDashboardHeader/ConfirmEmailBanner/assets/confirm-email.svg +0 -0
- /package/{src/widgets/LearnerDashboardHeader/index.ts → dist/widgets/LearnerDashboardHeader/index.d.ts} +0 -0
- /package/{src → dist}/widgets/LookingForChallengeWidget/index.scss +0 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import react from 'react';
|
|
3
|
+
import { StrictDict } from './utils';
|
|
4
|
+
/**
|
|
5
|
+
* Mocked formatMessage provided by react-intl
|
|
6
|
+
*/
|
|
7
|
+
export const formatMessage = (msg, values) => {
|
|
8
|
+
let message = msg.defaultMessage;
|
|
9
|
+
if (values === undefined) {
|
|
10
|
+
return message;
|
|
11
|
+
}
|
|
12
|
+
// check if value is not a primitive type.
|
|
13
|
+
if (Object.values(values).filter(value => Object(value) === value).length) {
|
|
14
|
+
return _jsx("format-message-function", { message: msg, values });
|
|
15
|
+
}
|
|
16
|
+
Object.keys(values).forEach((key) => {
|
|
17
|
+
message = message.replaceAll(`{${key}}`, values[key]);
|
|
18
|
+
});
|
|
19
|
+
return message;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Mock a single component, or a nested component so that its children render nicely
|
|
23
|
+
* in snapshots.
|
|
24
|
+
* @param {string} name - parent component name
|
|
25
|
+
* @param {obj} contents - object of child components with intended component
|
|
26
|
+
* render name.
|
|
27
|
+
* @return {func} - mock component with nested children.
|
|
28
|
+
*
|
|
29
|
+
* usage:
|
|
30
|
+
* mockNestedComponent('Card', { Body: 'Card.Body', Form: { Control: { Feedback: 'Form.Control.Feedback' }}... });
|
|
31
|
+
* mockNestedComponent('IconButton', 'IconButton');
|
|
32
|
+
*/
|
|
33
|
+
export const mockNestedComponent = (name, contents) => {
|
|
34
|
+
if (typeof contents === 'function') {
|
|
35
|
+
return contents();
|
|
36
|
+
}
|
|
37
|
+
if (typeof contents !== 'object') {
|
|
38
|
+
return contents;
|
|
39
|
+
}
|
|
40
|
+
const fn = () => name;
|
|
41
|
+
Object.defineProperty(fn, 'name', { value: name });
|
|
42
|
+
Object.keys(contents).forEach((nestedName) => {
|
|
43
|
+
const value = contents[nestedName];
|
|
44
|
+
fn[nestedName] = typeof value !== 'object'
|
|
45
|
+
? value
|
|
46
|
+
: mockNestedComponent(`${name}.${nestedName}`, value);
|
|
47
|
+
});
|
|
48
|
+
return fn;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Mock a module of components. nested components will be rendered nicely in snapshots.
|
|
52
|
+
* @param {obj} mapping - component module mock config.
|
|
53
|
+
* @return {obj} - module of flat and nested components that will render nicely in snapshots.
|
|
54
|
+
* usage:
|
|
55
|
+
* mockNestedComponents({
|
|
56
|
+
* Card: { Body: 'Card.Body' },
|
|
57
|
+
* IconButton: 'IconButton',
|
|
58
|
+
* })
|
|
59
|
+
*/
|
|
60
|
+
export const mockNestedComponents = (mapping) => Object.entries(mapping).reduce((obj, [name, value]) => (Object.assign(Object.assign({}, obj), { [name]: mockNestedComponent(name, value) })), {});
|
|
61
|
+
/**
|
|
62
|
+
* Mock utility for working with useState in a hooks module.
|
|
63
|
+
* Expects/requires an object containing the state object in order to ensure
|
|
64
|
+
* the mock behavior works appropriately.
|
|
65
|
+
*
|
|
66
|
+
* Expected format:
|
|
67
|
+
* hooks = { state: { <key>: (val) => React.createRef(val), ... } }
|
|
68
|
+
*
|
|
69
|
+
* Returns a utility for mocking useState and providing access to specific state values
|
|
70
|
+
* and setState methods, as well as allowing per-test configuration of useState value returns.
|
|
71
|
+
*
|
|
72
|
+
* Example usage:
|
|
73
|
+
* // hooks.js
|
|
74
|
+
* import * as module from './hooks';
|
|
75
|
+
* const state = {
|
|
76
|
+
* isOpen: (val) => React.useState(val),
|
|
77
|
+
* hasDoors: (val) => React.useState(val),
|
|
78
|
+
* selected: (val) => React.useState(val),
|
|
79
|
+
* };
|
|
80
|
+
* ...
|
|
81
|
+
* export const exampleHook = () => {
|
|
82
|
+
* const [isOpen, setIsOpen] = module.state.isOpen(false);
|
|
83
|
+
* if (!isOpen) { return null; }
|
|
84
|
+
* return { isOpen, setIsOpen };
|
|
85
|
+
* }
|
|
86
|
+
* ...
|
|
87
|
+
*
|
|
88
|
+
* // hooks.test.js
|
|
89
|
+
* import * as hooks from './hooks';
|
|
90
|
+
* const state = new MockUseState(hooks)
|
|
91
|
+
* ...
|
|
92
|
+
* describe('state hooks', () => {
|
|
93
|
+
* state.testGetter(state.keys.isOpen);
|
|
94
|
+
* state.testGetter(state.keys.hasDoors);
|
|
95
|
+
* state.testGetter(state.keys.selected);
|
|
96
|
+
* });
|
|
97
|
+
* describe('exampleHook', () => {
|
|
98
|
+
* beforeEach(() => { state.mock(); });
|
|
99
|
+
* it('returns null if isOpen is default value', () => {
|
|
100
|
+
* expect(hooks.exampleHook()).toEqual(null);
|
|
101
|
+
* });
|
|
102
|
+
* it('returns isOpen and setIsOpen if isOpen is not null', () => {
|
|
103
|
+
* state.mockVal(state.keys.isOpen, true);
|
|
104
|
+
* expect(hooks.exampleHook()).toEqual({
|
|
105
|
+
* isOpen: true,
|
|
106
|
+
* setIsOpen: state.setState[state.keys.isOpen],
|
|
107
|
+
* });
|
|
108
|
+
* });
|
|
109
|
+
* afterEach(() => { state.restore(); });
|
|
110
|
+
* });
|
|
111
|
+
*
|
|
112
|
+
* @param {obj} hooks - hooks module containing a 'state' object
|
|
113
|
+
*/
|
|
114
|
+
export class MockUseState {
|
|
115
|
+
constructor(hooks) {
|
|
116
|
+
this.hooks = hooks;
|
|
117
|
+
this.oldState = null;
|
|
118
|
+
this.setState = {};
|
|
119
|
+
this.stateVals = {};
|
|
120
|
+
this.mock = this.mock.bind(this);
|
|
121
|
+
this.restore = this.restore.bind(this);
|
|
122
|
+
this.mockVal = this.mockVal.bind(this);
|
|
123
|
+
this.testGetter = this.testGetter.bind(this);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* @return {object} - StrictDict of state object keys
|
|
127
|
+
*/
|
|
128
|
+
get keys() {
|
|
129
|
+
return StrictDict(Object.keys(this.hooks.state).reduce((obj, key) => (Object.assign(Object.assign({}, obj), { [key]: key })), {}));
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Replace the hook module's state object with a mocked version, initialized to default values.
|
|
133
|
+
*/
|
|
134
|
+
mock() {
|
|
135
|
+
this.oldState = this.hooks.state;
|
|
136
|
+
Object.keys(this.keys).forEach(key => {
|
|
137
|
+
this.hooks.state[key] = jest.fn(val => {
|
|
138
|
+
this.stateVals[key] = val;
|
|
139
|
+
return [val, this.setState[key]];
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
this.setState = Object.keys(this.keys).reduce((obj, key) => (Object.assign(Object.assign({}, obj), { [key]: jest.fn(val => {
|
|
143
|
+
this.hooks.state[key] = val;
|
|
144
|
+
}) })), {});
|
|
145
|
+
}
|
|
146
|
+
expectInitializedWith(key, value) {
|
|
147
|
+
expect(this.hooks.state[key]).toHaveBeenCalledWith(value);
|
|
148
|
+
}
|
|
149
|
+
expectSetStateCalledWith(key, value) {
|
|
150
|
+
expect(this.setState[key]).toHaveBeenCalledWith(value);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Restore the hook module's state object to the actual code.
|
|
154
|
+
*/
|
|
155
|
+
restore() {
|
|
156
|
+
this.hooks.state = this.oldState;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Mock the state getter associated with a single key to return a specific value one time.
|
|
160
|
+
* @param {string} key - state key (from this.keys)
|
|
161
|
+
* @param {any} val - new value to be returned by the useState call.
|
|
162
|
+
*/
|
|
163
|
+
mockVal(key, val) {
|
|
164
|
+
this.hooks.state[key].mockReturnValueOnce([val, this.setState[key]]);
|
|
165
|
+
}
|
|
166
|
+
testGetter(key) {
|
|
167
|
+
test(`${key} state getter should return useState passthrough`, () => {
|
|
168
|
+
const testValue = 'some value';
|
|
169
|
+
const useState = (val) => ({ useState: val });
|
|
170
|
+
jest.spyOn(react, 'useState').mockImplementationOnce(useState);
|
|
171
|
+
expect(this.hooks.state[key](testValue)).toEqual(useState(testValue));
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
get values() {
|
|
175
|
+
return StrictDict(Object.assign({}, this.hooks.state));
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
export const mockLocation = (href) => {
|
|
179
|
+
delete global.window.location;
|
|
180
|
+
global.window = Object.create(window);
|
|
181
|
+
global.window.location = { href };
|
|
182
|
+
};
|
|
183
|
+
//# sourceMappingURL=testUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../src/testUtils.js"],"names":[],"mappings":"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","sourcesContent":["import react from 'react';\n\nimport { StrictDict } from '@src/utils';\n\n/**\n * Mocked formatMessage provided by react-intl\n */\nexport const formatMessage = (msg, values) => {\n let message = msg.defaultMessage;\n if (values === undefined) {\n return message;\n }\n // check if value is not a primitive type.\n if (Object.values(values).filter(value => Object(value) === value).length) {\n return <format-message-function {...{ message: msg, values }} />;\n }\n Object.keys(values).forEach((key) => {\n message = message.replaceAll(`{${key}}`, values[key]);\n });\n return message;\n};\n\n/**\n * Mock a single component, or a nested component so that its children render nicely\n * in snapshots.\n * @param {string} name - parent component name\n * @param {obj} contents - object of child components with intended component\n * render name.\n * @return {func} - mock component with nested children.\n *\n * usage:\n * mockNestedComponent('Card', { Body: 'Card.Body', Form: { Control: { Feedback: 'Form.Control.Feedback' }}... });\n * mockNestedComponent('IconButton', 'IconButton');\n */\nexport const mockNestedComponent = (name, contents) => {\n if (typeof contents === 'function') {\n return contents();\n }\n if (typeof contents !== 'object') {\n return contents;\n }\n const fn = () => name;\n Object.defineProperty(fn, 'name', { value: name });\n Object.keys(contents).forEach((nestedName) => {\n const value = contents[nestedName];\n fn[nestedName] = typeof value !== 'object'\n ? value\n : mockNestedComponent(`${name}.${nestedName}`, value);\n });\n return fn;\n};\n\n/**\n * Mock a module of components. nested components will be rendered nicely in snapshots.\n * @param {obj} mapping - component module mock config.\n * @return {obj} - module of flat and nested components that will render nicely in snapshots.\n * usage:\n * mockNestedComponents({\n * Card: { Body: 'Card.Body' },\n * IconButton: 'IconButton',\n * })\n */\nexport const mockNestedComponents = (mapping) => Object.entries(mapping).reduce(\n (obj, [name, value]) => ({\n ...obj,\n [name]: mockNestedComponent(name, value),\n }),\n {},\n);\n\n/**\n * Mock utility for working with useState in a hooks module.\n * Expects/requires an object containing the state object in order to ensure\n * the mock behavior works appropriately.\n *\n * Expected format:\n * hooks = { state: { <key>: (val) => React.createRef(val), ... } }\n *\n * Returns a utility for mocking useState and providing access to specific state values\n * and setState methods, as well as allowing per-test configuration of useState value returns.\n *\n * Example usage:\n * // hooks.js\n * import * as module from './hooks';\n * const state = {\n * isOpen: (val) => React.useState(val),\n * hasDoors: (val) => React.useState(val),\n * selected: (val) => React.useState(val),\n * };\n * ...\n * export const exampleHook = () => {\n * const [isOpen, setIsOpen] = module.state.isOpen(false);\n * if (!isOpen) { return null; }\n * return { isOpen, setIsOpen };\n * }\n * ...\n *\n * // hooks.test.js\n * import * as hooks from './hooks';\n * const state = new MockUseState(hooks)\n * ...\n * describe('state hooks', () => {\n * state.testGetter(state.keys.isOpen);\n * state.testGetter(state.keys.hasDoors);\n * state.testGetter(state.keys.selected);\n * });\n * describe('exampleHook', () => {\n * beforeEach(() => { state.mock(); });\n * it('returns null if isOpen is default value', () => {\n * expect(hooks.exampleHook()).toEqual(null);\n * });\n * it('returns isOpen and setIsOpen if isOpen is not null', () => {\n * state.mockVal(state.keys.isOpen, true);\n * expect(hooks.exampleHook()).toEqual({\n * isOpen: true,\n * setIsOpen: state.setState[state.keys.isOpen],\n * });\n * });\n * afterEach(() => { state.restore(); });\n * });\n *\n * @param {obj} hooks - hooks module containing a 'state' object\n */\nexport class MockUseState {\n constructor(hooks) {\n this.hooks = hooks;\n this.oldState = null;\n this.setState = {};\n this.stateVals = {};\n\n this.mock = this.mock.bind(this);\n this.restore = this.restore.bind(this);\n this.mockVal = this.mockVal.bind(this);\n this.testGetter = this.testGetter.bind(this);\n }\n\n /**\n * @return {object} - StrictDict of state object keys\n */\n get keys() {\n return StrictDict(Object.keys(this.hooks.state).reduce(\n (obj, key) => ({ ...obj, [key]: key }),\n {},\n ));\n }\n\n /**\n * Replace the hook module's state object with a mocked version, initialized to default values.\n */\n mock() {\n this.oldState = this.hooks.state;\n Object.keys(this.keys).forEach(key => {\n this.hooks.state[key] = jest.fn(val => {\n this.stateVals[key] = val;\n return [val, this.setState[key]];\n });\n });\n this.setState = Object.keys(this.keys).reduce(\n (obj, key) => ({\n ...obj,\n [key]: jest.fn(val => {\n this.hooks.state[key] = val;\n }),\n }),\n {},\n );\n }\n\n expectInitializedWith(key, value) {\n expect(this.hooks.state[key]).toHaveBeenCalledWith(value);\n }\n\n expectSetStateCalledWith(key, value) {\n expect(this.setState[key]).toHaveBeenCalledWith(value);\n }\n\n /**\n * Restore the hook module's state object to the actual code.\n */\n restore() {\n this.hooks.state = this.oldState;\n }\n\n /**\n * Mock the state getter associated with a single key to return a specific value one time.\n * @param {string} key - state key (from this.keys)\n * @param {any} val - new value to be returned by the useState call.\n */\n mockVal(key, val) {\n this.hooks.state[key].mockReturnValueOnce([val, this.setState[key]]);\n }\n\n testGetter(key) {\n test(`${key} state getter should return useState passthrough`, () => {\n const testValue = 'some value';\n const useState = (val) => ({ useState: val });\n jest.spyOn(react, 'useState').mockImplementationOnce(useState);\n expect(this.hooks.state[key](testValue)).toEqual(useState(testValue));\n });\n }\n\n get values() {\n return StrictDict({ ...this.hooks.state });\n }\n}\n\nexport const mockLocation = (href) => {\n delete global.window.location;\n global.window = Object.create(window);\n global.window.location = { href };\n};\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { StrictDict } from '../utils';
|
|
2
|
+
export const categories = StrictDict({
|
|
3
|
+
dashboard: 'dashboard',
|
|
4
|
+
userEngagement: 'user-engagement',
|
|
5
|
+
searchButton: 'search_button',
|
|
6
|
+
credit: 'credit',
|
|
7
|
+
filter: 'filter',
|
|
8
|
+
});
|
|
9
|
+
export const events = StrictDict({
|
|
10
|
+
enterCourseClicked: 'enterCourseClicked',
|
|
11
|
+
courseImageClicked: 'courseImageClicked',
|
|
12
|
+
courseTitleClicked: 'courseTitleClicked',
|
|
13
|
+
courseOptionsDropdownClicked: 'courseOptionsDropdownClicked',
|
|
14
|
+
shareClicked: 'shareClicked',
|
|
15
|
+
userSettingsChanged: 'userSettingsChanged',
|
|
16
|
+
newSession: 'newSession',
|
|
17
|
+
switchSession: 'switchSession',
|
|
18
|
+
leaveSession: 'leaveSession',
|
|
19
|
+
unenrollReason: 'unenrollReason',
|
|
20
|
+
entitlementUnenrollReason: 'entitlementUnenrollReason',
|
|
21
|
+
});
|
|
22
|
+
export const eventNames = StrictDict({
|
|
23
|
+
enterCourseClicked: 'edx.bi.dashboard.enter_course.clicked',
|
|
24
|
+
courseImageClicked: 'edx.bi.dashboard.course_image.clicked',
|
|
25
|
+
courseTitleClicked: 'edx.bi.dashboard.course_title.clicked',
|
|
26
|
+
courseOptionsDropdownClicked: 'edx.bi.dashboard.course_options_dropdown.clicked',
|
|
27
|
+
shareClicked: 'edx.course.share_clicked',
|
|
28
|
+
userSettingsChanged: 'edx.user.settings.changed',
|
|
29
|
+
newSession: 'course-dashboard.new-session',
|
|
30
|
+
switchSession: 'course-dashboard.switch-session',
|
|
31
|
+
leaveSession: 'course-dashboard.leave-session',
|
|
32
|
+
unenrollReason: 'unenrollment_reason.selected',
|
|
33
|
+
entitlementUnenrollReason: 'entitlement_unenrollment_reason.selected',
|
|
34
|
+
findCoursesClicked: 'edx.bi.dashboard.find_courses_button.clicked',
|
|
35
|
+
purchaseCredit: 'edx.bi.credit.clicked_purchase_credit',
|
|
36
|
+
filterClicked: 'course-dashboard.filter.clicked',
|
|
37
|
+
filterOptionSelected: 'course-dashboard.filter_option.selected',
|
|
38
|
+
});
|
|
39
|
+
export const linkNames = StrictDict({
|
|
40
|
+
learnerHomeNavExplore: 'learner_home_nav_explore',
|
|
41
|
+
learnerHomeNavDropdownExplore: 'learner_home_nav_dropdown_explore',
|
|
42
|
+
});
|
|
43
|
+
export const appName = 'learner-home';
|
|
44
|
+
export default eventNames;
|
|
45
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tracking/constants.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACnC,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,iBAAiB;IACjC,YAAY,EAAE,eAAe;IAC7B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC;IAC/B,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,4BAA4B,EAAE,8BAA8B;IAC5D,YAAY,EAAE,cAAc;IAC5B,mBAAmB,EAAE,qBAAqB;IAC1C,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,yBAAyB,EAAE,2BAA2B;CACvD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACnC,kBAAkB,EAAE,uCAAuC;IAC3D,kBAAkB,EAAE,uCAAuC;IAC3D,kBAAkB,EAAE,uCAAuC;IAC3D,4BAA4B,EAAE,kDAAkD;IAChF,YAAY,EAAE,0BAA0B;IACxC,mBAAmB,EAAE,2BAA2B;IAChD,UAAU,EAAE,8BAA8B;IAC1C,aAAa,EAAE,iCAAiC;IAChD,YAAY,EAAE,gCAAgC;IAC9C,cAAc,EAAE,8BAA8B;IAC9C,yBAAyB,EAAE,0CAA0C;IACrE,kBAAkB,EAAE,8CAA8C;IAClE,cAAc,EAAE,uCAAuC;IACvD,aAAa,EAAE,iCAAiC;IAChD,oBAAoB,EAAE,yCAAyC;CAChE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;IAClC,qBAAqB,EAAE,0BAA0B;IACjD,6BAA6B,EAAE,mCAAmC;CACnE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAC;AAEtC,eAAe,UAAU,CAAC","sourcesContent":["import { StrictDict } from '../utils';\n\nexport const categories = StrictDict({\n dashboard: 'dashboard',\n userEngagement: 'user-engagement',\n searchButton: 'search_button',\n credit: 'credit',\n filter: 'filter',\n});\n\nexport const events = StrictDict({\n enterCourseClicked: 'enterCourseClicked',\n courseImageClicked: 'courseImageClicked',\n courseTitleClicked: 'courseTitleClicked',\n courseOptionsDropdownClicked: 'courseOptionsDropdownClicked',\n shareClicked: 'shareClicked',\n userSettingsChanged: 'userSettingsChanged',\n newSession: 'newSession',\n switchSession: 'switchSession',\n leaveSession: 'leaveSession',\n unenrollReason: 'unenrollReason',\n entitlementUnenrollReason: 'entitlementUnenrollReason',\n});\n\nexport const eventNames = StrictDict({\n enterCourseClicked: 'edx.bi.dashboard.enter_course.clicked',\n courseImageClicked: 'edx.bi.dashboard.course_image.clicked',\n courseTitleClicked: 'edx.bi.dashboard.course_title.clicked',\n courseOptionsDropdownClicked: 'edx.bi.dashboard.course_options_dropdown.clicked',\n shareClicked: 'edx.course.share_clicked',\n userSettingsChanged: 'edx.user.settings.changed',\n newSession: 'course-dashboard.new-session',\n switchSession: 'course-dashboard.switch-session',\n leaveSession: 'course-dashboard.leave-session',\n unenrollReason: 'unenrollment_reason.selected',\n entitlementUnenrollReason: 'entitlement_unenrollment_reason.selected',\n findCoursesClicked: 'edx.bi.dashboard.find_courses_button.clicked',\n purchaseCredit: 'edx.bi.credit.clicked_purchase_credit',\n filterClicked: 'course-dashboard.filter.clicked',\n filterOptionSelected: 'course-dashboard.filter_option.selected',\n});\n\nexport const linkNames = StrictDict({\n learnerHomeNavExplore: 'learner_home_nav_explore',\n learnerHomeNavDropdownExplore: 'learner_home_nav_dropdown_explore',\n});\n\nexport const appName = 'learner-home';\n\nexport default eventNames;\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
export { course };
|
|
3
|
+
export { credit };
|
|
4
|
+
export { engagement };
|
|
5
|
+
export { entitlements };
|
|
6
|
+
export { socialShare };
|
|
7
|
+
export { findCourses };
|
|
8
|
+
export { filter };
|
|
9
|
+
}
|
|
10
|
+
export default _default;
|
|
11
|
+
import course from './trackers/course';
|
|
12
|
+
import credit from './trackers/credit';
|
|
13
|
+
import engagement from './trackers/engagement';
|
|
14
|
+
import entitlements from './trackers/entitlements';
|
|
15
|
+
import socialShare from './trackers/socialShare';
|
|
16
|
+
import findCourses from './trackers/findCourses';
|
|
17
|
+
import filter from './trackers/filter';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import course from './trackers/course';
|
|
2
|
+
import credit from './trackers/credit';
|
|
3
|
+
import engagement from './trackers/engagement';
|
|
4
|
+
import entitlements from './trackers/entitlements';
|
|
5
|
+
import socialShare from './trackers/socialShare';
|
|
6
|
+
import findCourses from './trackers/findCourses';
|
|
7
|
+
import filter from './trackers/filter';
|
|
8
|
+
export default {
|
|
9
|
+
course,
|
|
10
|
+
credit,
|
|
11
|
+
engagement,
|
|
12
|
+
entitlements,
|
|
13
|
+
socialShare,
|
|
14
|
+
findCourses,
|
|
15
|
+
filter,
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracking/index.js"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,eAAe;IACb,MAAM;IACN,MAAM;IACN,UAAU;IACV,YAAY;IACZ,WAAW;IACX,WAAW;IACX,MAAM;CACP,CAAC","sourcesContent":["import course from './trackers/course';\nimport credit from './trackers/credit';\nimport engagement from './trackers/engagement';\nimport entitlements from './trackers/entitlements';\nimport socialShare from './trackers/socialShare';\nimport findCourses from './trackers/findCourses';\nimport filter from './trackers/filter';\n\nexport default {\n course,\n credit,\n engagement,\n entitlements,\n socialShare,\n findCourses,\n filter,\n};\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function courseEventTracker(eventName: string, courseId: string, options?: [object]): () => void;
|
|
2
|
+
export function courseLinkTracker(eventName: string): callback;
|
|
3
|
+
export function courseOptionsDropdownClicked(courseId: any): () => void;
|
|
4
|
+
export function courseImageClicked(...args: any[]): any;
|
|
5
|
+
export function courseTitleClicked(...args: any[]): any;
|
|
6
|
+
export function enterCourseClicked(...args: any[]): any;
|
|
7
|
+
declare namespace _default {
|
|
8
|
+
export { courseImageClicked };
|
|
9
|
+
export { courseOptionsDropdownClicked };
|
|
10
|
+
export { courseTitleClicked };
|
|
11
|
+
export { enterCourseClicked };
|
|
12
|
+
}
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { createEventTracker, createLinkTracker } from '../../data/services/segment/utils';
|
|
2
|
+
import { categories, eventNames } from '../constants';
|
|
3
|
+
import * as module from './course';
|
|
4
|
+
// Utils/Helpers
|
|
5
|
+
/**
|
|
6
|
+
* Generate a segement event tracker for a given course event.
|
|
7
|
+
* @param {string} eventName - segment event name
|
|
8
|
+
* @param {string} courseId - course run identifier
|
|
9
|
+
* @param {[object]} options - optional event data
|
|
10
|
+
*/
|
|
11
|
+
export const courseEventTracker = (eventName, courseId, options = {}) => createEventTracker(eventName, Object.assign({ category: categories.dashboard, label: courseId }, options));
|
|
12
|
+
/**
|
|
13
|
+
* Generate a hook to allow components to provide a courseId and link href and provide
|
|
14
|
+
* a link tracker with defined event name and options, over a set of default optiosn.
|
|
15
|
+
* @param {string} eventName - event name for the click event
|
|
16
|
+
* @return {callback} - component hook returning a link tracking event callback
|
|
17
|
+
*/
|
|
18
|
+
export const courseLinkTracker = (eventName) => (courseId, href) => (createLinkTracker(module.courseEventTracker(eventName, courseId), href));
|
|
19
|
+
// Non-Link events
|
|
20
|
+
export const courseOptionsDropdownClicked = (courseId) => (module.courseEventTracker(eventNames.courseOptionsDropdownClicked, courseId));
|
|
21
|
+
// Link events (track and then change page location)
|
|
22
|
+
export const courseImageClicked = (...args) => (module.courseLinkTracker(eventNames.courseImageClicked)(...args));
|
|
23
|
+
export const courseTitleClicked = (...args) => (module.courseLinkTracker(eventNames.courseTitleClicked)(...args));
|
|
24
|
+
export const enterCourseClicked = (...args) => (module.courseLinkTracker(eventNames.enterCourseClicked)(...args));
|
|
25
|
+
export default {
|
|
26
|
+
courseImageClicked,
|
|
27
|
+
courseOptionsDropdownClicked,
|
|
28
|
+
courseTitleClicked,
|
|
29
|
+
enterCourseClicked,
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=course.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"course.js","sourceRoot":"","sources":["../../../src/tracking/trackers/course.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,gBAAgB;AAChB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,CAAC,kBAAkB,CACzF,SAAS,kBACP,QAAQ,EAAE,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,IAAK,OAAO,EAC9D,CAAC;AACF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAClE,iBAAiB,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CACxE,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CACxD,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAC7E,CAAC;AAEF,oDAAoD;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAC7C,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAC7C,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAC7C,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAEpE,eAAe;IACb,kBAAkB;IAClB,4BAA4B;IAC5B,kBAAkB;IAClB,kBAAkB;CACnB,CAAC","sourcesContent":["import { createEventTracker, createLinkTracker } from '../../data/services/segment/utils';\nimport { categories, eventNames } from '../constants';\nimport * as module from './course';\n\n// Utils/Helpers\n/**\n * Generate a segement event tracker for a given course event.\n * @param {string} eventName - segment event name\n * @param {string} courseId - course run identifier\n * @param {[object]} options - optional event data\n */\nexport const courseEventTracker = (eventName, courseId, options = {}) => createEventTracker(\n eventName,\n { category: categories.dashboard, label: courseId, ...options },\n);\n/**\n * Generate a hook to allow components to provide a courseId and link href and provide\n * a link tracker with defined event name and options, over a set of default optiosn.\n * @param {string} eventName - event name for the click event\n * @return {callback} - component hook returning a link tracking event callback\n */\nexport const courseLinkTracker = (eventName) => (courseId, href) => (\n createLinkTracker(module.courseEventTracker(eventName, courseId), href)\n);\n\n// Non-Link events\nexport const courseOptionsDropdownClicked = (courseId) => (\n module.courseEventTracker(eventNames.courseOptionsDropdownClicked, courseId)\n);\n\n// Link events (track and then change page location)\nexport const courseImageClicked = (...args) => (\n module.courseLinkTracker(eventNames.courseImageClicked)(...args));\nexport const courseTitleClicked = (...args) => (\n module.courseLinkTracker(eventNames.courseTitleClicked)(...args));\nexport const enterCourseClicked = (...args) => (\n module.courseLinkTracker(eventNames.enterCourseClicked)(...args));\n\nexport default {\n courseImageClicked,\n courseOptionsDropdownClicked,\n courseTitleClicked,\n enterCourseClicked,\n};\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createEventTracker, createLinkTracker } from '../../data/services/segment/utils';
|
|
2
|
+
import { creditPurchaseUrl } from '../../data/services/lms/urls';
|
|
3
|
+
import { categories, eventNames } from '../constants';
|
|
4
|
+
/**
|
|
5
|
+
* Create event tracker for purchase credit event
|
|
6
|
+
* @param {string} fromCourseRun - course run identifier for leaving course
|
|
7
|
+
* @return {callback} - callback that triggers the event tracker
|
|
8
|
+
*/
|
|
9
|
+
export const purchase = (courseId) => createLinkTracker(createEventTracker(eventNames.purchaseCredit, {
|
|
10
|
+
label: courseId,
|
|
11
|
+
category: categories.credit,
|
|
12
|
+
}), creditPurchaseUrl(courseId));
|
|
13
|
+
export default {
|
|
14
|
+
purchase,
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=credit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credit.js","sourceRoot":"","sources":["../../../src/tracking/trackers/credit.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CACrD,kBAAkB,CAAC,UAAU,CAAC,cAAc,EAAE;IAC5C,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,UAAU,CAAC,MAAM;CAC5B,CAAC,EACF,iBAAiB,CAAC,QAAQ,CAAC,CAC5B,CAAC;AAEF,eAAe;IACb,QAAQ;CACT,CAAC","sourcesContent":["import { createEventTracker, createLinkTracker } from '../../data/services/segment/utils';\nimport { creditPurchaseUrl } from '../../data/services/lms/urls';\nimport { categories, eventNames } from '../constants';\n\n/**\n * Create event tracker for purchase credit event\n * @param {string} fromCourseRun - course run identifier for leaving course\n * @return {callback} - callback that triggers the event tracker\n */\nexport const purchase = (courseId) => createLinkTracker(\n createEventTracker(eventNames.purchaseCredit, {\n label: courseId,\n category: categories.credit,\n }),\n creditPurchaseUrl(courseId),\n);\n\nexport default {\n purchase,\n};\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export namespace engagementOptions {
|
|
2
|
+
let category: any;
|
|
3
|
+
let displayName: string;
|
|
4
|
+
}
|
|
5
|
+
export function unenrollReason(courseId: string, reason: string, isEntitlement: bool): callback;
|
|
6
|
+
declare namespace _default {
|
|
7
|
+
export { unenrollReason };
|
|
8
|
+
}
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createEventTracker } from '../../data/services/segment/utils';
|
|
2
|
+
import { categories, eventNames } from '../constants';
|
|
3
|
+
export const engagementOptions = {
|
|
4
|
+
category: categories.userEngagement,
|
|
5
|
+
displayName: 'v1',
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Creates callback which sends segment event for unenroll with reason event
|
|
9
|
+
* @param {string} courseId - course run identifier
|
|
10
|
+
* @param {string} reason - unenroll reason
|
|
11
|
+
* @param {bool} isEntitlement - is the course an entitlement course?
|
|
12
|
+
* @return {callback} - callback that will send the appropriate segment message.
|
|
13
|
+
*/
|
|
14
|
+
export const unenrollReason = (courseId, reason, isEntitlement) => createEventTracker(isEntitlement ? eventNames.entitlementUnenrollReason : eventNames.unenrollReason, Object.assign({ reason, course_id: courseId }, engagementOptions));
|
|
15
|
+
export default {
|
|
16
|
+
unenrollReason,
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=engagement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engagement.js","sourceRoot":"","sources":["../../../src/tracking/trackers/engagement.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,UAAU,CAAC,cAAc;IACnC,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,kBAAkB,CACnF,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,kBAC9E,MAAM,EAAE,SAAS,EAAE,QAAQ,IAAK,iBAAiB,EACpD,CAAC;AAEF,eAAe;IACb,cAAc;CACf,CAAC","sourcesContent":["import { createEventTracker } from '../../data/services/segment/utils';\nimport { categories, eventNames } from '../constants';\n\nexport const engagementOptions = {\n category: categories.userEngagement,\n displayName: 'v1',\n};\n\n/**\n * Creates callback which sends segment event for unenroll with reason event\n * @param {string} courseId - course run identifier\n * @param {string} reason - unenroll reason\n * @param {bool} isEntitlement - is the course an entitlement course?\n * @return {callback} - callback that will send the appropriate segment message.\n */\nexport const unenrollReason = (courseId, reason, isEntitlement) => createEventTracker(\n isEntitlement ? eventNames.entitlementUnenrollReason : eventNames.unenrollReason,\n { reason, course_id: courseId, ...engagementOptions },\n);\n\nexport default {\n unenrollReason,\n};\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function leaveSession(fromCourseRun: string): callback;
|
|
2
|
+
export function newSession(toCourseRun: string): callback;
|
|
3
|
+
export function switchSession(fromCourseRun: string, toCourseRun: string): callback;
|
|
4
|
+
declare namespace _default {
|
|
5
|
+
export { leaveSession };
|
|
6
|
+
export { newSession };
|
|
7
|
+
export { switchSession };
|
|
8
|
+
}
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createEventTracker } from '../../data/services/segment/utils';
|
|
2
|
+
import { eventNames } from '../constants';
|
|
3
|
+
/**
|
|
4
|
+
* Create event tracker for leave entitlement session event
|
|
5
|
+
* @param {string} fromCourseRun - course run identifier for leaving course
|
|
6
|
+
* @return {callback} - callback that triggers the event tracker
|
|
7
|
+
*/
|
|
8
|
+
export const leaveSession = (fromCourseRun) => (createEventTracker(eventNames.leaveSession, { fromCourseRun, toCourseRun: null }));
|
|
9
|
+
/**
|
|
10
|
+
* Create event tracker for new entitlement session event
|
|
11
|
+
* @param {string} toCourseRun - course run identifier for new course
|
|
12
|
+
* @return {callback} - callback that triggers the event tracker
|
|
13
|
+
*/
|
|
14
|
+
export const newSession = (toCourseRun) => (createEventTracker(eventNames.newSession, { fromCourseRun: null, toCourseRun }));
|
|
15
|
+
/**
|
|
16
|
+
* Create event tracker for switch entitlement session event
|
|
17
|
+
* @param {string} fromCourseRun - course run identifier for leaving course
|
|
18
|
+
* @param {string} toCourseRun - course run identifier for new course
|
|
19
|
+
* @return {callback} - callback that triggers the event tracker
|
|
20
|
+
*/
|
|
21
|
+
export const switchSession = (fromCourseRun, toCourseRun) => (createEventTracker(eventNames.switchSession, { fromCourseRun, toCourseRun }));
|
|
22
|
+
export default {
|
|
23
|
+
leaveSession,
|
|
24
|
+
newSession,
|
|
25
|
+
switchSession,
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=entitlements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entitlements.js","sourceRoot":"","sources":["../../../src/tracking/trackers/entitlements.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAC7C,kBAAkB,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAClF,CAAC;AACF;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CACzC,kBAAkB,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAChF,CAAC;AACF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,EAAE,CAAC,CAC3D,kBAAkB,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAC7E,CAAC;AAEF,eAAe;IACb,YAAY;IACZ,UAAU;IACV,aAAa;CACd,CAAC","sourcesContent":["import { createEventTracker } from '../../data/services/segment/utils';\nimport { eventNames } from '../constants';\n\n/**\n * Create event tracker for leave entitlement session event\n * @param {string} fromCourseRun - course run identifier for leaving course\n * @return {callback} - callback that triggers the event tracker\n */\nexport const leaveSession = (fromCourseRun) => (\n createEventTracker(eventNames.leaveSession, { fromCourseRun, toCourseRun: null })\n);\n/**\n * Create event tracker for new entitlement session event\n * @param {string} toCourseRun - course run identifier for new course\n * @return {callback} - callback that triggers the event tracker\n */\nexport const newSession = (toCourseRun) => (\n createEventTracker(eventNames.newSession, { fromCourseRun: null, toCourseRun })\n);\n/**\n * Create event tracker for switch entitlement session event\n * @param {string} fromCourseRun - course run identifier for leaving course\n * @param {string} toCourseRun - course run identifier for new course\n * @return {callback} - callback that triggers the event tracker\n */\nexport const switchSession = (fromCourseRun, toCourseRun) => (\n createEventTracker(eventNames.switchSession, { fromCourseRun, toCourseRun })\n);\n\nexport default {\n leaveSession,\n newSession,\n switchSession,\n};\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createEventTracker } from '../../data/services/segment/utils';
|
|
2
|
+
import { categories, eventNames } from '../constants';
|
|
3
|
+
export const filterClicked = () => createEventTracker(eventNames.filterClicked, { category: categories.filter })();
|
|
4
|
+
export const filterOptionSelected = (filters = []) => createEventTracker(eventNames.filterOptionSelected, {
|
|
5
|
+
category: categories.filter,
|
|
6
|
+
// make sure to clone before sorting
|
|
7
|
+
filters: [...filters].sort(),
|
|
8
|
+
})();
|
|
9
|
+
export default {
|
|
10
|
+
filterClicked,
|
|
11
|
+
filterOptionSelected,
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/tracking/trackers/filter.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,kBAAkB,CACnD,UAAU,CAAC,aAAa,EACxB,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,CAChC,EAAE,CAAC;AAEJ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,CAAC,kBAAkB,CACtE,UAAU,CAAC,oBAAoB,EAC/B;IACE,QAAQ,EAAE,UAAU,CAAC,MAAM;IAC3B,oCAAoC;IACpC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE;CAC7B,CACF,EAAE,CAAC;AAEJ,eAAe;IACb,aAAa;IACb,oBAAoB;CACrB,CAAC","sourcesContent":["import { createEventTracker } from '../../data/services/segment/utils';\nimport { categories, eventNames } from '../constants';\n\nexport const filterClicked = () => createEventTracker(\n eventNames.filterClicked,\n { category: categories.filter },\n)();\n\nexport const filterOptionSelected = (filters = []) => createEventTracker(\n eventNames.filterOptionSelected,\n {\n category: categories.filter,\n // make sure to clone before sorting\n filters: [...filters].sort(),\n },\n)();\n\nexport default {\n filterClicked,\n filterOptionSelected,\n};\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createLinkTracker, createEventTracker } from '../../data/services/segment/utils';
|
|
2
|
+
import { categories, eventNames } from '../constants';
|
|
3
|
+
export const findCoursesClicked = (href, args = {}) => createLinkTracker(createEventTracker(eventNames.findCoursesClicked, Object.assign({ pageName: 'learner_home', linkType: 'button', linkCategory: categories.searchButton }, args)), href);
|
|
4
|
+
export default {
|
|
5
|
+
findCoursesClicked,
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=findCourses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findCourses.js","sourceRoot":"","sources":["../../../src/tracking/trackers/findCourses.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,iBAAiB,CACtE,kBAAkB,CAAC,UAAU,CAAC,kBAAkB,kBAC9C,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,UAAU,CAAC,YAAY,IAClC,IAAI,EACP,EACF,IAAI,CACL,CAAC;AAEF,eAAe;IACb,kBAAkB;CACnB,CAAC","sourcesContent":["import { createLinkTracker, createEventTracker } from '../../data/services/segment/utils';\nimport { categories, eventNames } from '../constants';\n\nexport const findCoursesClicked = (href, args = {}) => createLinkTracker(\n createEventTracker(eventNames.findCoursesClicked, {\n pageName: 'learner_home',\n linkType: 'button',\n linkCategory: categories.searchButton,\n ...args,\n }),\n href,\n);\n\nexport default {\n findCoursesClicked,\n};\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { logShare } from '../../data/services/lms/api';
|
|
2
|
+
/**
|
|
3
|
+
* Track Social Share event click.
|
|
4
|
+
* @param {string} courseId - course run identifier
|
|
5
|
+
* @param {string} site - sharing destination ('facebook', 'twitter')
|
|
6
|
+
* @return {func} - Callback that tracks the event when fired.
|
|
7
|
+
*/
|
|
8
|
+
export const shareClicked = (courseId, site) => () => logShare({ courseId, site });
|
|
9
|
+
export default shareClicked;
|
|
10
|
+
//# sourceMappingURL=socialShare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socialShare.js","sourceRoot":"","sources":["../../../src/tracking/trackers/socialShare.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAEnF,eAAe,YAAY,CAAC","sourcesContent":["import { logShare } from '@src/data/services/lms/api';\n\n/**\n * Track Social Share event click.\n * @param {string} courseId - course run identifier\n * @param {string} site - sharing destination ('facebook', 'twitter')\n * @return {func} - Callback that tracks the event when fired.\n */\nexport const shareClicked = (courseId, site) => () => logShare({ courseId, site });\n\nexport default shareClicked;\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const strictGet = (target, name) => {
|
|
2
|
+
if (name === Symbol.toStringTag) {
|
|
3
|
+
return target;
|
|
4
|
+
}
|
|
5
|
+
if (name === '$$typeof') {
|
|
6
|
+
return typeof target;
|
|
7
|
+
}
|
|
8
|
+
if (name in target || name === '_reactFragment') {
|
|
9
|
+
return target[name];
|
|
10
|
+
}
|
|
11
|
+
return undefined;
|
|
12
|
+
};
|
|
13
|
+
const StrictDict = (dict) => new Proxy(dict, { get: strictGet });
|
|
14
|
+
export default StrictDict;
|
|
15
|
+
//# sourceMappingURL=StrictDict.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StrictDict.js","sourceRoot":"","sources":["../../src/utils/StrictDict.js"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;IACjC,IAAI,IAAI,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,OAAO,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;AAEjE,eAAe,UAAU,CAAC","sourcesContent":["const strictGet = (target, name) => {\n if (name === Symbol.toStringTag) {\n return target;\n }\n\n if (name === '$$typeof') {\n return typeof target;\n }\n\n if (name in target || name === '_reactFragment') {\n return target[name];\n }\n\n return undefined;\n};\n\nconst StrictDict = (dict) => new Proxy(dict, { get: strictGet });\n\nexport default StrictDict;\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare const getTransformedCourseDataObject: (courses: any) => any;
|
|
2
|
+
declare const getTransformedCourseDataList: (courses: any) => unknown[];
|
|
3
|
+
declare const getVisibleList: (courses: any[], filters: string[], sortBy: string, pageNumber: number) => {
|
|
4
|
+
visibleList: any[];
|
|
5
|
+
numPages: number;
|
|
6
|
+
};
|
|
7
|
+
export { getVisibleList, getTransformedCourseDataList, getTransformedCourseDataObject };
|