@codecademy/brand 4.0.0-alpha.14deb86052.0 → 4.0.0-alpha.65b0979c7d.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AbbreviatedCommunityEventCard/index.d.ts +2 -1
- package/dist/AbbreviatedCommunityEventCard/index.d.ts.map +1 -0
- package/dist/AbbreviatedCommunityEventCard/index.js +2 -1
- package/dist/AbbreviatedCommunityEventCard/index.js.map +1 -0
- package/dist/AppBar/AppBarSection.d.ts +2 -1
- package/dist/AppBar/AppBarSection.d.ts.map +1 -0
- package/dist/AppBar/AppBarSection.js +2 -1
- package/dist/AppBar/AppBarSection.js.map +1 -0
- package/dist/AppBar/index.d.ts +2 -1
- package/dist/AppBar/index.d.ts.map +1 -0
- package/dist/AppBar/index.js +2 -1
- package/dist/AppBar/index.js.map +1 -0
- package/dist/AppBarDeprecated/AppBarSectionDeprecated.d.ts +2 -1
- package/dist/AppBarDeprecated/AppBarSectionDeprecated.d.ts.map +1 -0
- package/dist/AppBarDeprecated/AppBarSectionDeprecated.js +2 -1
- package/dist/AppBarDeprecated/AppBarSectionDeprecated.js.map +1 -0
- package/dist/AppBarDeprecated/index.d.ts +2 -1
- package/dist/AppBarDeprecated/index.d.ts.map +1 -0
- package/dist/AppBarDeprecated/index.js +2 -1
- package/dist/AppBarDeprecated/index.js.map +1 -0
- package/dist/AppBarDeprecated/styles/index.module.js +2 -1
- package/dist/AppBarDeprecated/styles/index.module.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/MarketingBanner.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/MarketingBanner.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/NavPanels.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/NavPanels.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/consts.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/consts.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.d.ts +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.d.ts.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderDietCard/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderDietCard/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderDropdown/index.d.ts +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderDropdown/index.d.ts.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderDropdown/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderDropdown/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownProvider/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownProvider/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderFeatureCard/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderFeatureCard/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderLink/index.d.ts +8 -7
- package/dist/AppHeader/AppHeaderElements/AppHeaderLink/index.d.ts.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderLink/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderLink/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderLinkSections/elements.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderLinkSections/elements.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderLinkSections/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderLinkSections/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderListItem/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderListItem/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderLogo/index.d.ts +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderLogo/index.d.ts.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderLogo/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderLogo/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderMenuProvider/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderMenuProvider/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderNavButton/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderNavButton/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderProvider/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderProvider/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/NavPanels.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/NavPanels.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/consts.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/consts.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/index.d.ts +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/index.d.ts.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/AppHeaderSectionContext.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/AppHeaderSectionContext.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/MobileBackButton.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/MobileBackButton.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/MobileNavMenu.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/MobileNavMenu.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavTabs.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavTabs.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/PanelLayout.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/PanelLayout.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/elements.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/elements.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/index.js.map +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSkillTile/index.js +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderSkillTile/index.js.map +1 -0
- package/dist/AppHeader/Search/DefaultResults.js +2 -1
- package/dist/AppHeader/Search/DefaultResults.js.map +1 -0
- package/dist/AppHeader/Search/QuizAndHelpCenterLinks.js +2 -1
- package/dist/AppHeader/Search/QuizAndHelpCenterLinks.js.map +1 -0
- package/dist/AppHeader/Search/SearchButton.js +2 -1
- package/dist/AppHeader/Search/SearchButton.js.map +1 -0
- package/dist/AppHeader/Search/SearchPane.js +2 -1
- package/dist/AppHeader/Search/SearchPane.js.map +1 -0
- package/dist/AppHeader/Search/SearchTrackingProvider/index.js +2 -1
- package/dist/AppHeader/Search/SearchTrackingProvider/index.js.map +1 -0
- package/dist/AppHeader/Search/SearchWorker/PromiseLookup.js +2 -1
- package/dist/AppHeader/Search/SearchWorker/PromiseLookup.js.map +1 -0
- package/dist/AppHeader/Search/SearchWorker/index.d.ts +2 -1
- package/dist/AppHeader/Search/SearchWorker/index.d.ts.map +1 -0
- package/dist/AppHeader/Search/SearchWorker/index.js +2 -1
- package/dist/AppHeader/Search/SearchWorker/index.js.map +1 -0
- package/dist/AppHeader/Search/SearchWorker/src.js +2 -1
- package/dist/AppHeader/Search/SearchWorker/src.js.map +1 -0
- package/dist/AppHeader/Search/SearchWorker/types.d.ts +2 -1
- package/dist/AppHeader/Search/SearchWorker/types.d.ts.map +1 -0
- package/dist/AppHeader/Search/SearchWorker/types.js +2 -1
- package/dist/AppHeader/Search/SearchWorker/types.js.map +1 -0
- package/dist/AppHeader/Search/SearchWorker/worker.js +2 -1
- package/dist/AppHeader/Search/SearchWorker/worker.js.map +1 -0
- package/dist/AppHeader/Search/consts.d.ts +2 -1
- package/dist/AppHeader/Search/consts.d.ts.map +1 -0
- package/dist/AppHeader/Search/consts.js +2 -1
- package/dist/AppHeader/Search/consts.js.map +1 -0
- package/dist/AppHeader/Search/hooks/useUrlChangeDetection.js +2 -1
- package/dist/AppHeader/Search/hooks/useUrlChangeDetection.js.map +1 -0
- package/dist/AppHeader/Search/safelyRedirect.js +2 -1
- package/dist/AppHeader/Search/safelyRedirect.js.map +1 -0
- package/dist/AppHeader/Search/types.d.ts +2 -1
- package/dist/AppHeader/Search/types.d.ts.map +1 -0
- package/dist/AppHeader/Search/useHeaderSearch.js +2 -1
- package/dist/AppHeader/Search/useHeaderSearch.js.map +1 -0
- package/dist/AppHeader/index.d.ts +2 -1
- package/dist/AppHeader/index.d.ts.map +1 -0
- package/dist/AppHeader/index.js +2 -1
- package/dist/AppHeader/index.js.map +1 -0
- package/dist/AppHeader/shared/elements.js +2 -1
- package/dist/AppHeader/shared/elements.js.map +1 -0
- package/dist/AppHeader/shared/keyboardNav.js +2 -1
- package/dist/AppHeader/shared/keyboardNav.js.map +1 -0
- package/dist/AppHeader/shared/types.d.ts +2 -1
- package/dist/AppHeader/shared/types.d.ts.map +1 -0
- package/dist/AppHeader/shared/types.js +2 -1
- package/dist/AppHeader/shared/types.js.map +1 -0
- package/dist/AppHeader/shared/utils.js +2 -1
- package/dist/AppHeader/shared/utils.js.map +1 -0
- package/dist/AppHeaderMobile/AppHeaderMainMenuMobile/index.d.ts +2 -1
- package/dist/AppHeaderMobile/AppHeaderMainMenuMobile/index.d.ts.map +1 -0
- package/dist/AppHeaderMobile/AppHeaderMainMenuMobile/index.js +2 -1
- package/dist/AppHeaderMobile/AppHeaderMainMenuMobile/index.js.map +1 -0
- package/dist/AppHeaderMobile/AppHeaderSubMenuMobile/elements.js +2 -1
- package/dist/AppHeaderMobile/AppHeaderSubMenuMobile/elements.js.map +1 -0
- package/dist/AppHeaderMobile/AppHeaderSubMenuMobile/index.d.ts +2 -1
- package/dist/AppHeaderMobile/AppHeaderSubMenuMobile/index.d.ts.map +1 -0
- package/dist/AppHeaderMobile/AppHeaderSubMenuMobile/index.js +2 -1
- package/dist/AppHeaderMobile/AppHeaderSubMenuMobile/index.js.map +1 -0
- package/dist/AppHeaderMobile/AppHeaderSubMenuTarget/index.js +2 -1
- package/dist/AppHeaderMobile/AppHeaderSubMenuTarget/index.js.map +1 -0
- package/dist/AppHeaderMobile/index.d.ts +2 -1
- package/dist/AppHeaderMobile/index.d.ts.map +1 -0
- package/dist/AppHeaderMobile/index.js +2 -1
- package/dist/AppHeaderMobile/index.js.map +1 -0
- package/dist/Avatar/index.d.ts +2 -1
- package/dist/Avatar/index.d.ts.map +1 -0
- package/dist/Avatar/index.js +2 -1
- package/dist/Avatar/index.js.map +1 -0
- package/dist/AvatarChooser/index.d.ts +2 -1
- package/dist/AvatarChooser/index.d.ts.map +1 -0
- package/dist/AvatarChooser/index.js +2 -1
- package/dist/AvatarChooser/index.js.map +1 -0
- package/dist/BackToTopAnchor/index.d.ts +2 -1
- package/dist/BackToTopAnchor/index.d.ts.map +1 -0
- package/dist/BackToTopAnchor/index.js +2 -1
- package/dist/BackToTopAnchor/index.js.map +1 -0
- package/dist/Banner/CountdownTimer.d.ts +2 -1
- package/dist/Banner/CountdownTimer.d.ts.map +1 -0
- package/dist/Banner/CountdownTimer.js +2 -1
- package/dist/Banner/CountdownTimer.js.map +1 -0
- package/dist/Banner/EnhancedBanner.d.ts +2 -1
- package/dist/Banner/EnhancedBanner.d.ts.map +1 -0
- package/dist/Banner/EnhancedBanner.js +2 -1
- package/dist/Banner/EnhancedBanner.js.map +1 -0
- package/dist/Banner/index.d.ts +2 -1
- package/dist/Banner/index.d.ts.map +1 -0
- package/dist/Banner/index.js +2 -1
- package/dist/Banner/index.js.map +1 -0
- package/dist/BetaSticker/index.d.ts +2 -1
- package/dist/BetaSticker/index.d.ts.map +1 -0
- package/dist/BetaSticker/index.js +2 -1
- package/dist/BetaSticker/index.js.map +1 -0
- package/dist/CareerPathCard/index.d.ts +2 -1
- package/dist/CareerPathCard/index.d.ts.map +1 -0
- package/dist/CareerPathCard/index.js +2 -1
- package/dist/CareerPathCard/index.js.map +1 -0
- package/dist/Carousel/elements.js +2 -1
- package/dist/Carousel/elements.js.map +1 -0
- package/dist/Carousel/index.d.ts +2 -1
- package/dist/Carousel/index.d.ts.map +1 -0
- package/dist/Carousel/index.js +2 -1
- package/dist/Carousel/index.js.map +1 -0
- package/dist/CertificationPathCard/index.d.ts +2 -1
- package/dist/CertificationPathCard/index.d.ts.map +1 -0
- package/dist/CertificationPathCard/index.js +2 -1
- package/dist/CertificationPathCard/index.js.map +1 -0
- package/dist/CoachingSessionCard/index.d.ts +2 -1
- package/dist/CoachingSessionCard/index.d.ts.map +1 -0
- package/dist/CoachingSessionCard/index.js +2 -1
- package/dist/CoachingSessionCard/index.js.map +1 -0
- package/dist/CommunityEventCard/EventTypeIcon.js +2 -1
- package/dist/CommunityEventCard/EventTypeIcon.js.map +1 -0
- package/dist/CommunityEventCard/index.d.ts +2 -1
- package/dist/CommunityEventCard/index.d.ts.map +1 -0
- package/dist/CommunityEventCard/index.js +2 -1
- package/dist/CommunityEventCard/index.js.map +1 -0
- package/dist/CommunityEventToast/index.d.ts +2 -1
- package/dist/CommunityEventToast/index.d.ts.map +1 -0
- package/dist/CommunityEventToast/index.js +2 -1
- package/dist/CommunityEventToast/index.js.map +1 -0
- package/dist/ContentGroupBaseCard/helpers.d.ts +2 -1
- package/dist/ContentGroupBaseCard/helpers.d.ts.map +1 -0
- package/dist/ContentGroupBaseCard/helpers.js +2 -1
- package/dist/ContentGroupBaseCard/helpers.js.map +1 -0
- package/dist/ContentGroupBaseCard/index.d.ts +2 -1
- package/dist/ContentGroupBaseCard/index.d.ts.map +1 -0
- package/dist/ContentGroupBaseCard/index.js +2 -1
- package/dist/ContentGroupBaseCard/index.js.map +1 -0
- package/dist/ContentGroupBaseCard/shared.js +2 -1
- package/dist/ContentGroupBaseCard/shared.js.map +1 -0
- package/dist/ContentGroupBaseCard/types.d.ts +2 -1
- package/dist/ContentGroupBaseCard/types.d.ts.map +1 -0
- package/dist/ContentGroupBaseCard/types.js +2 -1
- package/dist/ContentGroupBaseCard/types.js.map +1 -0
- package/dist/CourseCard/index.d.ts +2 -1
- package/dist/CourseCard/index.d.ts.map +1 -0
- package/dist/CourseCard/index.js +2 -1
- package/dist/CourseCard/index.js.map +1 -0
- package/dist/CurriculumCard/BottomTag/index.d.ts +2 -1
- package/dist/CurriculumCard/BottomTag/index.d.ts.map +1 -0
- package/dist/CurriculumCard/BottomTag/index.js +2 -1
- package/dist/CurriculumCard/BottomTag/index.js.map +1 -0
- package/dist/CurriculumCard/Difficulty/helpers.d.ts +2 -1
- package/dist/CurriculumCard/Difficulty/helpers.d.ts.map +1 -0
- package/dist/CurriculumCard/Difficulty/helpers.js +2 -1
- package/dist/CurriculumCard/Difficulty/helpers.js.map +1 -0
- package/dist/CurriculumCard/Difficulty/index.d.ts +2 -1
- package/dist/CurriculumCard/Difficulty/index.d.ts.map +1 -0
- package/dist/CurriculumCard/Difficulty/index.js +2 -1
- package/dist/CurriculumCard/Difficulty/index.js.map +1 -0
- package/dist/CurriculumCard/Difficulty/types.d.ts +2 -1
- package/dist/CurriculumCard/Difficulty/types.d.ts.map +1 -0
- package/dist/CurriculumCard/Difficulty/types.js +2 -1
- package/dist/CurriculumCard/Difficulty/types.js.map +1 -0
- package/dist/CurriculumCard/Footer/index.js +2 -1
- package/dist/CurriculumCard/Footer/index.js.map +1 -0
- package/dist/CurriculumCard/Image/index.js +2 -1
- package/dist/CurriculumCard/Image/index.js.map +1 -0
- package/dist/CurriculumCard/Subtitle/helpers.js +2 -1
- package/dist/CurriculumCard/Subtitle/helpers.js.map +1 -0
- package/dist/CurriculumCard/Subtitle/index.d.ts +2 -1
- package/dist/CurriculumCard/Subtitle/index.d.ts.map +1 -0
- package/dist/CurriculumCard/Subtitle/index.js +2 -1
- package/dist/CurriculumCard/Subtitle/index.js.map +1 -0
- package/dist/CurriculumCard/index.d.ts +2 -1
- package/dist/CurriculumCard/index.d.ts.map +1 -0
- package/dist/CurriculumCard/index.js +2 -1
- package/dist/CurriculumCard/index.js.map +1 -0
- package/dist/DropdownButton/DropdownList.d.ts +2 -1
- package/dist/DropdownButton/DropdownList.d.ts.map +1 -0
- package/dist/DropdownButton/DropdownList.js +2 -1
- package/dist/DropdownButton/DropdownList.js.map +1 -0
- package/dist/DropdownButton/index.d.ts +2 -1
- package/dist/DropdownButton/index.d.ts.map +1 -0
- package/dist/DropdownButton/index.js +2 -1
- package/dist/DropdownButton/index.js.map +1 -0
- package/dist/DropdownButton/useDynamicPopoverPosition.js +2 -1
- package/dist/DropdownButton/useDynamicPopoverPosition.js.map +1 -0
- package/dist/EditorialImage/index.d.ts +2 -1
- package/dist/EditorialImage/index.d.ts.map +1 -0
- package/dist/EditorialImage/index.js +2 -1
- package/dist/EditorialImage/index.js.map +1 -0
- package/dist/EditorialImage/styles.module.js +2 -1
- package/dist/EditorialImage/styles.module.js.map +1 -0
- package/dist/EmptySection/index.d.ts +2 -1
- package/dist/EmptySection/index.d.ts.map +1 -0
- package/dist/EmptySection/index.js +2 -1
- package/dist/EmptySection/index.js.map +1 -0
- package/dist/ErrorContents/index.d.ts +2 -1
- package/dist/ErrorContents/index.d.ts.map +1 -0
- package/dist/ErrorContents/index.js +2 -1
- package/dist/ErrorContents/index.js.map +1 -0
- package/dist/FeatureList/index.d.ts +2 -1
- package/dist/FeatureList/index.d.ts.map +1 -0
- package/dist/FeatureList/index.js +2 -1
- package/dist/FeatureList/index.js.map +1 -0
- package/dist/GlobalFooter/FooterHeading.js +2 -1
- package/dist/GlobalFooter/FooterHeading.js.map +1 -0
- package/dist/GlobalFooter/FooterLegal/LegalLinks.js +2 -1
- package/dist/GlobalFooter/FooterLegal/LegalLinks.js.map +1 -0
- package/dist/GlobalFooter/FooterLegal/MadeIn.js +2 -1
- package/dist/GlobalFooter/FooterLegal/MadeIn.js.map +1 -0
- package/dist/GlobalFooter/FooterLegal/index.js +2 -1
- package/dist/GlobalFooter/FooterLegal/index.js.map +1 -0
- package/dist/GlobalFooter/FooterLinks.js +2 -1
- package/dist/GlobalFooter/FooterLinks.js.map +1 -0
- package/dist/GlobalFooter/FooterNavLinks/CatalogLinks.js +2 -1
- package/dist/GlobalFooter/FooterNavLinks/CatalogLinks.js.map +1 -0
- package/dist/GlobalFooter/FooterNavLinks/CompanyLinks.js +2 -1
- package/dist/GlobalFooter/FooterNavLinks/CompanyLinks.js.map +1 -0
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/ReferAFriendLinkWithModal.js +2 -1
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/ReferAFriendLinkWithModal.js.map +1 -0
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/ReferralFields.js +2 -1
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/ReferralFields.js.map +1 -0
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/ReferralForm.js +2 -1
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/ReferralForm.js.map +1 -0
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/ReferralLinkSocialMediaSharing.js +2 -1
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/ReferralLinkSocialMediaSharing.js.map +1 -0
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/types.d.ts +2 -1
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/types.d.ts.map +1 -0
- package/dist/GlobalFooter/FooterNavLinks/SocialMediaLinks.js +2 -1
- package/dist/GlobalFooter/FooterNavLinks/SocialMediaLinks.js.map +1 -0
- package/dist/GlobalFooter/FooterNavLinks/assets/download-on-the-app-store.js +2 -1
- package/dist/GlobalFooter/FooterNavLinks/assets/download-on-the-app-store.js.map +1 -0
- package/dist/GlobalFooter/FooterNavLinks/assets/get-it-on-google-play.js +2 -1
- package/dist/GlobalFooter/FooterNavLinks/assets/get-it-on-google-play.js.map +1 -0
- package/dist/GlobalFooter/FooterNavLinks/index.js +2 -1
- package/dist/GlobalFooter/FooterNavLinks/index.js.map +1 -0
- package/dist/GlobalFooter/index.d.ts +2 -1
- package/dist/GlobalFooter/index.d.ts.map +1 -0
- package/dist/GlobalFooter/index.js +2 -1
- package/dist/GlobalFooter/index.js.map +1 -0
- package/dist/GlobalFooter/types.d.ts +2 -1
- package/dist/GlobalFooter/types.d.ts.map +1 -0
- package/dist/GlobalHeader/GlobalHeaderItems.js +2 -1
- package/dist/GlobalHeader/GlobalHeaderItems.js.map +1 -0
- package/dist/GlobalHeader/GlobalHeaderVariants.js +2 -1
- package/dist/GlobalHeader/GlobalHeaderVariants.js.map +1 -0
- package/dist/GlobalHeader/context.js +2 -1
- package/dist/GlobalHeader/context.js.map +1 -0
- package/dist/GlobalHeader/index.d.ts +2 -1
- package/dist/GlobalHeader/index.d.ts.map +1 -0
- package/dist/GlobalHeader/index.js +2 -1
- package/dist/GlobalHeader/index.js.map +1 -0
- package/dist/GlobalHeader/types.d.ts +2 -1
- package/dist/GlobalHeader/types.d.ts.map +1 -0
- package/dist/GlobalHeader/urlHelpers.js +2 -1
- package/dist/GlobalHeader/urlHelpers.js.map +1 -0
- package/dist/GlobalPage/index.d.ts +2 -1
- package/dist/GlobalPage/index.d.ts.map +1 -0
- package/dist/GlobalPage/index.js +2 -1
- package/dist/GlobalPage/index.js.map +1 -0
- package/dist/Grid/GridCollapse.d.ts +2 -1
- package/dist/Grid/GridCollapse.d.ts.map +1 -0
- package/dist/Grid/GridCollapse.js +2 -1
- package/dist/Grid/GridCollapse.js.map +1 -0
- package/dist/Grid/Subgrid.d.ts +4 -3
- package/dist/Grid/Subgrid.d.ts.map +1 -0
- package/dist/Grid/Subgrid.js +2 -1
- package/dist/Grid/Subgrid.js.map +1 -0
- package/dist/Grid/getCSSFromColumnCount.d.ts +2 -1
- package/dist/Grid/getCSSFromColumnCount.d.ts.map +1 -0
- package/dist/Grid/getCSSFromColumnCount.js +2 -1
- package/dist/Grid/getCSSFromColumnCount.js.map +1 -0
- package/dist/HeaderHeightArea/index.d.ts +2 -1
- package/dist/HeaderHeightArea/index.d.ts.map +1 -0
- package/dist/HeaderHeightArea/index.js +2 -1
- package/dist/HeaderHeightArea/index.js.map +1 -0
- package/dist/HeaderHeightArea/useIsInHeaderRegion.js +2 -1
- package/dist/HeaderHeightArea/useIsInHeaderRegion.js.map +1 -0
- package/dist/HorizontalScrollMenu/index.d.ts +2 -1
- package/dist/HorizontalScrollMenu/index.d.ts.map +1 -0
- package/dist/HorizontalScrollMenu/index.js +2 -1
- package/dist/HorizontalScrollMenu/index.js.map +1 -0
- package/dist/HubCard/index.d.ts +2 -1
- package/dist/HubCard/index.d.ts.map +1 -0
- package/dist/HubCard/index.js +2 -1
- package/dist/HubCard/index.js.map +1 -0
- package/dist/InfoCard/index.d.ts +2 -1
- package/dist/InfoCard/index.d.ts.map +1 -0
- package/dist/InfoCard/index.js +2 -1
- package/dist/InfoCard/index.js.map +1 -0
- package/dist/Konamimojisplosion/Konamimojisplosion.d.ts +2 -1
- package/dist/Konamimojisplosion/Konamimojisplosion.d.ts.map +1 -0
- package/dist/Konamimojisplosion/Konamimojisplosion.js +2 -1
- package/dist/Konamimojisplosion/Konamimojisplosion.js.map +1 -0
- package/dist/Konamimojisplosion/useKonamimojisplosion.d.ts +2 -1
- package/dist/Konamimojisplosion/useKonamimojisplosion.d.ts.map +1 -0
- package/dist/Konamimojisplosion/useKonamimojisplosion.js +2 -1
- package/dist/Konamimojisplosion/useKonamimojisplosion.js.map +1 -0
- package/dist/LandingPage/CTA.js +2 -1
- package/dist/LandingPage/CTA.js.map +1 -0
- package/dist/LandingPage/Description.d.ts +2 -1
- package/dist/LandingPage/Description.d.ts.map +1 -0
- package/dist/LandingPage/Description.js +2 -1
- package/dist/LandingPage/Description.js.map +1 -0
- package/dist/LandingPage/Feature.js +2 -1
- package/dist/LandingPage/Feature.js.map +1 -0
- package/dist/LandingPage/PageFAQs.d.ts +2 -1
- package/dist/LandingPage/PageFAQs.d.ts.map +1 -0
- package/dist/LandingPage/PageFAQs.js +2 -1
- package/dist/LandingPage/PageFAQs.js.map +1 -0
- package/dist/LandingPage/PageFeatures.d.ts +2 -1
- package/dist/LandingPage/PageFeatures.d.ts.map +1 -0
- package/dist/LandingPage/PageFeatures.js +2 -1
- package/dist/LandingPage/PageFeatures.js.map +1 -0
- package/dist/LandingPage/PageFeaturesEnhanced.d.ts +2 -1
- package/dist/LandingPage/PageFeaturesEnhanced.d.ts.map +1 -0
- package/dist/LandingPage/PageFeaturesEnhanced.js +2 -1
- package/dist/LandingPage/PageFeaturesEnhanced.js.map +1 -0
- package/dist/LandingPage/PageFeaturesWithReferences.d.ts +2 -1
- package/dist/LandingPage/PageFeaturesWithReferences.d.ts.map +1 -0
- package/dist/LandingPage/PageFeaturesWithReferences.js +2 -1
- package/dist/LandingPage/PageFeaturesWithReferences.js.map +1 -0
- package/dist/LandingPage/PageHero.d.ts +2 -1
- package/dist/LandingPage/PageHero.d.ts.map +1 -0
- package/dist/LandingPage/PageHero.js +2 -1
- package/dist/LandingPage/PageHero.js.map +1 -0
- package/dist/LandingPage/PagePrefooter.d.ts +2 -1
- package/dist/LandingPage/PagePrefooter.d.ts.map +1 -0
- package/dist/LandingPage/PagePrefooter.js +2 -1
- package/dist/LandingPage/PagePrefooter.js.map +1 -0
- package/dist/LandingPage/PageSingleFeature.d.ts +2 -1
- package/dist/LandingPage/PageSingleFeature.d.ts.map +1 -0
- package/dist/LandingPage/PageSingleFeature.js +2 -1
- package/dist/LandingPage/PageSingleFeature.js.map +1 -0
- package/dist/LandingPage/PageTestimonials.d.ts +2 -1
- package/dist/LandingPage/PageTestimonials.d.ts.map +1 -0
- package/dist/LandingPage/PageTestimonials.js +2 -1
- package/dist/LandingPage/PageTestimonials.js.map +1 -0
- package/dist/LandingPage/PageVideoGallery.d.ts +2 -1
- package/dist/LandingPage/PageVideoGallery.d.ts.map +1 -0
- package/dist/LandingPage/PageVideoGallery.js +2 -1
- package/dist/LandingPage/PageVideoGallery.js.map +1 -0
- package/dist/LandingPage/Title.d.ts +2 -1
- package/dist/LandingPage/Title.d.ts.map +1 -0
- package/dist/LandingPage/Title.js +2 -1
- package/dist/LandingPage/Title.js.map +1 -0
- package/dist/LandingPage/TitleWithEyebrow.d.ts +2 -1
- package/dist/LandingPage/TitleWithEyebrow.d.ts.map +1 -0
- package/dist/LandingPage/TitleWithEyebrow.js +2 -1
- package/dist/LandingPage/TitleWithEyebrow.js.map +1 -0
- package/dist/LandingPage/types.d.ts +2 -1
- package/dist/LandingPage/types.d.ts.map +1 -0
- package/dist/LayoutMenu/AccordionMenu.d.ts +2 -1
- package/dist/LayoutMenu/AccordionMenu.d.ts.map +1 -0
- package/dist/LayoutMenu/AccordionMenu.js +2 -1
- package/dist/LayoutMenu/AccordionMenu.js.map +1 -0
- package/dist/LayoutMenu/LayoutMenu.d.ts +2 -1
- package/dist/LayoutMenu/LayoutMenu.d.ts.map +1 -0
- package/dist/LayoutMenu/LayoutMenu.js +2 -1
- package/dist/LayoutMenu/LayoutMenu.js.map +1 -0
- package/dist/LayoutMenu/LayoutMenuSection.js +2 -1
- package/dist/LayoutMenu/LayoutMenuSection.js.map +1 -0
- package/dist/LayoutMenu/SectionItemLink.d.ts +2 -1
- package/dist/LayoutMenu/SectionItemLink.d.ts.map +1 -0
- package/dist/LayoutMenu/SectionItemLink.js +2 -1
- package/dist/LayoutMenu/SectionItemLink.js.map +1 -0
- package/dist/LayoutMenu/SelectedSectionItem.d.ts +2 -1
- package/dist/LayoutMenu/SelectedSectionItem.d.ts.map +1 -0
- package/dist/LayoutMenu/SelectedSectionItem.js +2 -1
- package/dist/LayoutMenu/SelectedSectionItem.js.map +1 -0
- package/dist/LayoutMenuVariant/AccordionMenu.d.ts +2 -1
- package/dist/LayoutMenuVariant/AccordionMenu.d.ts.map +1 -0
- package/dist/LayoutMenuVariant/AccordionMenu.js +2 -1
- package/dist/LayoutMenuVariant/AccordionMenu.js.map +1 -0
- package/dist/LayoutMenuVariant/LayoutMenu.d.ts +2 -1
- package/dist/LayoutMenuVariant/LayoutMenu.d.ts.map +1 -0
- package/dist/LayoutMenuVariant/LayoutMenu.js +2 -1
- package/dist/LayoutMenuVariant/LayoutMenu.js.map +1 -0
- package/dist/LayoutMenuVariant/LayoutMenuSection.js +2 -1
- package/dist/LayoutMenuVariant/LayoutMenuSection.js.map +1 -0
- package/dist/LayoutMenuVariant/SectionItemLink.d.ts +2 -1
- package/dist/LayoutMenuVariant/SectionItemLink.d.ts.map +1 -0
- package/dist/LayoutMenuVariant/SectionItemLink.js +2 -1
- package/dist/LayoutMenuVariant/SectionItemLink.js.map +1 -0
- package/dist/LayoutMenuVariant/index.d.ts +2 -1
- package/dist/LayoutMenuVariant/index.d.ts.map +1 -0
- package/dist/LayoutMenuVariant/index.js +2 -1
- package/dist/LayoutMenuVariant/index.js.map +1 -0
- package/dist/LearningOutcomeAssessmentScores/AssessmentDetail.js +2 -1
- package/dist/LearningOutcomeAssessmentScores/AssessmentDetail.js.map +1 -0
- package/dist/LearningOutcomeAssessmentScores/index.d.ts +2 -1
- package/dist/LearningOutcomeAssessmentScores/index.d.ts.map +1 -0
- package/dist/LearningOutcomeAssessmentScores/index.js +2 -1
- package/dist/LearningOutcomeAssessmentScores/index.js.map +1 -0
- package/dist/LearningOutcomeBadges/LearningOutcomeLevelBadge.d.ts +2 -1
- package/dist/LearningOutcomeBadges/LearningOutcomeLevelBadge.d.ts.map +1 -0
- package/dist/LearningOutcomeBadges/LearningOutcomeLevelBadge.js +2 -1
- package/dist/LearningOutcomeBadges/LearningOutcomeLevelBadge.js.map +1 -0
- package/dist/LearningOutcomeBadges/LearningOutcomeLowAssessmentBadge.d.ts +10 -9
- package/dist/LearningOutcomeBadges/LearningOutcomeLowAssessmentBadge.d.ts.map +1 -0
- package/dist/LearningOutcomeBadges/LearningOutcomeLowAssessmentBadge.js +2 -1
- package/dist/LearningOutcomeBadges/LearningOutcomeLowAssessmentBadge.js.map +1 -0
- package/dist/LearningOutcomeCard/index.d.ts +2 -1
- package/dist/LearningOutcomeCard/index.d.ts.map +1 -0
- package/dist/LearningOutcomeCard/index.js +2 -1
- package/dist/LearningOutcomeCard/index.js.map +1 -0
- package/dist/LearningOutcomeFlyout/LearningOutcomeCardList.js +2 -1
- package/dist/LearningOutcomeFlyout/LearningOutcomeCardList.js.map +1 -0
- package/dist/LearningOutcomeFlyout/index.d.ts +2 -1
- package/dist/LearningOutcomeFlyout/index.d.ts.map +1 -0
- package/dist/LearningOutcomeFlyout/index.js +2 -1
- package/dist/LearningOutcomeFlyout/index.js.map +1 -0
- package/dist/LearningOutcomeFlyout/types.d.ts +2 -1
- package/dist/LearningOutcomeFlyout/types.d.ts.map +1 -0
- package/dist/LearningOutcomeFlyout/types.js +2 -1
- package/dist/LearningOutcomeFlyout/types.js.map +1 -0
- package/dist/LearningOutcomePopover/index.d.ts +2 -1
- package/dist/LearningOutcomePopover/index.d.ts.map +1 -0
- package/dist/LearningOutcomePopover/index.js +2 -1
- package/dist/LearningOutcomePopover/index.js.map +1 -0
- package/dist/LearningOutcomeTile/Tile.js +2 -1
- package/dist/LearningOutcomeTile/Tile.js.map +1 -0
- package/dist/LearningOutcomeTile/index.d.ts +2 -1
- package/dist/LearningOutcomeTile/index.d.ts.map +1 -0
- package/dist/LearningOutcomeTile/index.js +2 -1
- package/dist/LearningOutcomeTile/index.js.map +1 -0
- package/dist/LearningOutcomeTile/types.d.ts +2 -1
- package/dist/LearningOutcomeTile/types.d.ts.map +1 -0
- package/dist/LearningOutcomeTile/types.js +2 -1
- package/dist/LearningOutcomeTile/types.js.map +1 -0
- package/dist/ListSection/index.d.ts +2 -1
- package/dist/ListSection/index.d.ts.map +1 -0
- package/dist/ListSection/index.js +2 -1
- package/dist/ListSection/index.js.map +1 -0
- package/dist/Loading/index.d.ts +2 -1
- package/dist/Loading/index.d.ts.map +1 -0
- package/dist/Loading/index.js +2 -1
- package/dist/Loading/index.js.map +1 -0
- package/dist/Loading/styles.module.js +2 -1
- package/dist/Loading/styles.module.js.map +1 -0
- package/dist/LoadingCurriculumCard/index.d.ts +2 -1
- package/dist/LoadingCurriculumCard/index.d.ts.map +1 -0
- package/dist/LoadingCurriculumCard/index.js +2 -1
- package/dist/LoadingCurriculumCard/index.js.map +1 -0
- package/dist/Logos/LogoCodecademy/index.d.ts +2 -1
- package/dist/Logos/LogoCodecademy/index.d.ts.map +1 -0
- package/dist/Logos/LogoCodecademy/index.js +2 -1
- package/dist/Logos/LogoCodecademy/index.js.map +1 -0
- package/dist/Logos/LogoCodecademyMini/index.d.ts +2 -1
- package/dist/Logos/LogoCodecademyMini/index.d.ts.map +1 -0
- package/dist/Logos/LogoCodecademyMini/index.js +2 -1
- package/dist/Logos/LogoCodecademyMini/index.js.map +1 -0
- package/dist/Logos/LogoCodecademyPro/index.d.ts +2 -1
- package/dist/Logos/LogoCodecademyPro/index.d.ts.map +1 -0
- package/dist/Logos/LogoCodecademyPro/index.js +2 -1
- package/dist/Logos/LogoCodecademyPro/index.js.map +1 -0
- package/dist/Logos/LogoCodecademyTeams/index.d.ts +2 -1
- package/dist/Logos/LogoCodecademyTeams/index.d.ts.map +1 -0
- package/dist/Logos/LogoCodecademyTeams/index.js +2 -1
- package/dist/Logos/LogoCodecademyTeams/index.js.map +1 -0
- package/dist/Logos/LogoFromSkillsoft/index.d.ts +2 -1
- package/dist/Logos/LogoFromSkillsoft/index.d.ts.map +1 -0
- package/dist/Logos/LogoFromSkillsoft/index.js +2 -1
- package/dist/Logos/LogoFromSkillsoft/index.js.map +1 -0
- package/dist/Logos/LogoLXStudio/index.d.ts +2 -1
- package/dist/Logos/LogoLXStudio/index.d.ts.map +1 -0
- package/dist/Logos/LogoLXStudio/index.js +2 -1
- package/dist/Logos/LogoLXStudio/index.js.map +1 -0
- package/dist/Logos/ProLabel/ProLabelCutout/index.js +2 -1
- package/dist/Logos/ProLabel/ProLabelCutout/index.js.map +1 -0
- package/dist/Logos/ProLabel/ProLabelCutoutTransparent/index.js +2 -1
- package/dist/Logos/ProLabel/ProLabelCutoutTransparent/index.js.map +1 -0
- package/dist/Logos/ProLabel/index.d.ts +2 -1
- package/dist/Logos/ProLabel/index.d.ts.map +1 -0
- package/dist/Logos/ProLabel/index.js +2 -1
- package/dist/Logos/ProLabel/index.js.map +1 -0
- package/dist/Logos/shared.d.ts +2 -1
- package/dist/Logos/shared.d.ts.map +1 -0
- package/dist/Logos/shared.js +2 -1
- package/dist/Logos/shared.js.map +1 -0
- package/dist/MarketingToaster/index.d.ts +2 -1
- package/dist/MarketingToaster/index.d.ts.map +1 -0
- package/dist/MarketingToaster/index.js +2 -1
- package/dist/MarketingToaster/index.js.map +1 -0
- package/dist/NotFoundContent/404.js +2 -1
- package/dist/NotFoundContent/404.js.map +1 -0
- package/dist/NotFoundContent/index.d.ts +2 -1
- package/dist/NotFoundContent/index.d.ts.map +1 -0
- package/dist/NotFoundContent/index.js +2 -1
- package/dist/NotFoundContent/index.js.map +1 -0
- package/dist/NotificationList/EmptyNotification/emptyNotificationContents.js +2 -1
- package/dist/NotificationList/EmptyNotification/emptyNotificationContents.js.map +1 -0
- package/dist/NotificationList/EmptyNotification/index.js +2 -1
- package/dist/NotificationList/EmptyNotification/index.js.map +1 -0
- package/dist/NotificationList/NotificationItem.d.ts +2 -1
- package/dist/NotificationList/NotificationItem.d.ts.map +1 -0
- package/dist/NotificationList/NotificationItem.js +2 -1
- package/dist/NotificationList/NotificationItem.js.map +1 -0
- package/dist/NotificationList/index.d.ts +2 -1
- package/dist/NotificationList/index.d.ts.map +1 -0
- package/dist/NotificationList/index.js +2 -1
- package/dist/NotificationList/index.js.map +1 -0
- package/dist/NotificationList/typings.d.ts +2 -1
- package/dist/NotificationList/typings.d.ts.map +1 -0
- package/dist/Notifications/NotificationBell.js +2 -1
- package/dist/Notifications/NotificationBell.js.map +1 -0
- package/dist/Notifications/NotificationsContents.js +2 -1
- package/dist/Notifications/NotificationsContents.js.map +1 -0
- package/dist/Notifications/NotificationsDropdown.js +2 -1
- package/dist/Notifications/NotificationsDropdown.js.map +1 -0
- package/dist/Notifications/constants.js +2 -1
- package/dist/Notifications/constants.js.map +1 -0
- package/dist/Notifications/elements.js +2 -1
- package/dist/Notifications/elements.js.map +1 -0
- package/dist/Notifications/types.d.ts +2 -1
- package/dist/Notifications/types.d.ts.map +1 -0
- package/dist/Notifications/useHeaderNotifications.js +2 -1
- package/dist/Notifications/useHeaderNotifications.js.map +1 -0
- package/dist/Notifications/useNotificationButtons.js +2 -1
- package/dist/Notifications/useNotificationButtons.js.map +1 -0
- package/dist/PageAlerts/PageAlerts.d.ts +6 -5
- package/dist/PageAlerts/PageAlerts.d.ts.map +1 -0
- package/dist/PageAlerts/PageAlerts.js +2 -1
- package/dist/PageAlerts/PageAlerts.js.map +1 -0
- package/dist/PageAlerts/PageAlertsProvider.d.ts +2 -1
- package/dist/PageAlerts/PageAlertsProvider.d.ts.map +1 -0
- package/dist/PageAlerts/PageAlertsProvider.js +2 -1
- package/dist/PageAlerts/PageAlertsProvider.js.map +1 -0
- package/dist/PageAlerts/types.d.ts +2 -1
- package/dist/PageAlerts/types.d.ts.map +1 -0
- package/dist/PageLayoutWithSidebarMenu/PageLayoutWithSidebarMenu.d.ts +2 -1
- package/dist/PageLayoutWithSidebarMenu/PageLayoutWithSidebarMenu.d.ts.map +1 -0
- package/dist/PageLayoutWithSidebarMenu/PageLayoutWithSidebarMenu.js +2 -1
- package/dist/PageLayoutWithSidebarMenu/PageLayoutWithSidebarMenu.js.map +1 -0
- package/dist/PageSection/index.d.ts +2 -1
- package/dist/PageSection/index.d.ts.map +1 -0
- package/dist/PageSection/index.js +2 -1
- package/dist/PageSection/index.js.map +1 -0
- package/dist/PastDue/PastDueModalContents/index.d.ts +2 -1
- package/dist/PastDue/PastDueModalContents/index.d.ts.map +1 -0
- package/dist/PastDue/PastDueModalContents/index.js +2 -1
- package/dist/PastDue/PastDueModalContents/index.js.map +1 -0
- package/dist/PastDue/pastDueMessages.d.ts +2 -1
- package/dist/PastDue/pastDueMessages.d.ts.map +1 -0
- package/dist/PastDue/pastDueMessages.js +2 -1
- package/dist/PastDue/pastDueMessages.js.map +1 -0
- package/dist/PausableImage/BaseImage/index.js +2 -1
- package/dist/PausableImage/BaseImage/index.js.map +1 -0
- package/dist/PausableImage/index.d.ts +2 -1
- package/dist/PausableImage/index.d.ts.map +1 -0
- package/dist/PausableImage/index.js +2 -1
- package/dist/PausableImage/index.js.map +1 -0
- package/dist/PlanCard/PlanCardBanner.d.ts +2 -1
- package/dist/PlanCard/PlanCardBanner.d.ts.map +1 -0
- package/dist/PlanCard/PlanCardBanner.js +2 -1
- package/dist/PlanCard/PlanCardBanner.js.map +1 -0
- package/dist/PlanCard/PlanFeature.js +2 -1
- package/dist/PlanCard/PlanFeature.js.map +1 -0
- package/dist/PlanCard/PopularBadge.js +2 -1
- package/dist/PlanCard/PopularBadge.js.map +1 -0
- package/dist/PlanCard/PricingAmount.js +2 -1
- package/dist/PlanCard/PricingAmount.js.map +1 -0
- package/dist/PlanCard/RecommendedBadge.js +2 -1
- package/dist/PlanCard/RecommendedBadge.js.map +1 -0
- package/dist/PlanCard/consts.js +2 -1
- package/dist/PlanCard/consts.js.map +1 -0
- package/dist/PlanCard/index.d.ts +2 -1
- package/dist/PlanCard/index.d.ts.map +1 -0
- package/dist/PlanCard/index.js +2 -1
- package/dist/PlanCard/index.js.map +1 -0
- package/dist/PlanCard/types.d.ts +2 -1
- package/dist/PlanCard/types.d.ts.map +1 -0
- package/dist/PlanCard/types.js +2 -1
- package/dist/PlanCard/types.js.map +1 -0
- package/dist/PlanCardTeams/consts.js +2 -1
- package/dist/PlanCardTeams/consts.js.map +1 -0
- package/dist/PlanCardTeams/index.d.ts +2 -1
- package/dist/PlanCardTeams/index.d.ts.map +1 -0
- package/dist/PlanCardTeams/index.js +2 -1
- package/dist/PlanCardTeams/index.js.map +1 -0
- package/dist/PricingSection/ConditionalColorMode.js +2 -1
- package/dist/PricingSection/ConditionalColorMode.js.map +1 -0
- package/dist/PricingSection/PricingCard/PricingAmount.js +2 -1
- package/dist/PricingSection/PricingCard/PricingAmount.js.map +1 -0
- package/dist/PricingSection/PricingCard/RecommendedBadge.js +2 -1
- package/dist/PricingSection/PricingCard/RecommendedBadge.js.map +1 -0
- package/dist/PricingSection/PricingCard/index.js +2 -1
- package/dist/PricingSection/PricingCard/index.js.map +1 -0
- package/dist/PricingSection/PricingCard/types.d.ts +2 -1
- package/dist/PricingSection/PricingCard/types.d.ts.map +1 -0
- package/dist/PricingSection/PricingCard/types.js +2 -1
- package/dist/PricingSection/PricingCard/types.js.map +1 -0
- package/dist/PricingSection/ProductCTA.js +2 -1
- package/dist/PricingSection/ProductCTA.js.map +1 -0
- package/dist/PricingSection/Products.js +2 -1
- package/dist/PricingSection/Products.js.map +1 -0
- package/dist/PricingSection/config.js +2 -1
- package/dist/PricingSection/config.js.map +1 -0
- package/dist/PricingSection/index.d.ts +2 -1
- package/dist/PricingSection/index.d.ts.map +1 -0
- package/dist/PricingSection/index.js +2 -1
- package/dist/PricingSection/index.js.map +1 -0
- package/dist/PricingSection/types.d.ts +2 -1
- package/dist/PricingSection/types.d.ts.map +1 -0
- package/dist/PricingSection/types.js +2 -1
- package/dist/PricingSection/types.js.map +1 -0
- package/dist/ProLogoAlt/index.d.ts +2 -1
- package/dist/ProLogoAlt/index.d.ts.map +1 -0
- package/dist/ProLogoAlt/index.js +2 -1
- package/dist/ProLogoAlt/index.js.map +1 -0
- package/dist/ProductFeatureShowcase/index.d.ts +2 -1
- package/dist/ProductFeatureShowcase/index.d.ts.map +1 -0
- package/dist/ProductFeatureShowcase/index.js +2 -1
- package/dist/ProductFeatureShowcase/index.js.map +1 -0
- package/dist/QuizScore/index.d.ts +2 -1
- package/dist/QuizScore/index.d.ts.map +1 -0
- package/dist/QuizScore/index.js +2 -1
- package/dist/QuizScore/index.js.map +1 -0
- package/dist/RatingsBar/index.d.ts +2 -1
- package/dist/RatingsBar/index.d.ts.map +1 -0
- package/dist/RatingsBar/index.js +2 -1
- package/dist/RatingsBar/index.js.map +1 -0
- package/dist/Recurly/context/NoProvider.js +2 -1
- package/dist/Recurly/context/NoProvider.js.map +1 -0
- package/dist/Recurly/context/elements/index.d.ts +4 -3
- package/dist/Recurly/context/elements/index.d.ts.map +1 -0
- package/dist/Recurly/context/elements/index.js +2 -1
- package/dist/Recurly/context/elements/index.js.map +1 -0
- package/dist/Recurly/context/recurly/index.d.ts +4 -3
- package/dist/Recurly/context/recurly/index.d.ts.map +1 -0
- package/dist/Recurly/context/recurly/index.js +2 -1
- package/dist/Recurly/context/recurly/index.js.map +1 -0
- package/dist/Recurly/context/recurly/loadRecurly.d.ts +2 -1
- package/dist/Recurly/context/recurly/loadRecurly.d.ts.map +1 -0
- package/dist/Recurly/context/recurly/loadRecurly.js +2 -1
- package/dist/Recurly/context/recurly/loadRecurly.js.map +1 -0
- package/dist/Recurly/context/recurly/w.js +2 -1
- package/dist/Recurly/context/recurly/w.js.map +1 -0
- package/dist/Recurly/fields/RecurlyField.d.ts +4 -3
- package/dist/Recurly/fields/RecurlyField.d.ts.map +1 -0
- package/dist/Recurly/fields/RecurlyField.js +2 -1
- package/dist/Recurly/fields/RecurlyField.js.map +1 -0
- package/dist/Recurly/fields/elements.d.ts +7 -6
- package/dist/Recurly/fields/elements.d.ts.map +1 -0
- package/dist/Recurly/fields/elements.js +2 -1
- package/dist/Recurly/fields/elements.js.map +1 -0
- package/dist/ResourceCard/index.d.ts +2 -1
- package/dist/ResourceCard/index.d.ts.map +1 -0
- package/dist/ResourceCard/index.js +2 -1
- package/dist/ResourceCard/index.js.map +1 -0
- package/dist/ScoreSummary/SubScores.d.ts +2 -1
- package/dist/ScoreSummary/SubScores.d.ts.map +1 -0
- package/dist/ScoreSummary/SubScores.js +2 -1
- package/dist/ScoreSummary/SubScores.js.map +1 -0
- package/dist/ScoreSummary/helpers.js +2 -1
- package/dist/ScoreSummary/helpers.js.map +1 -0
- package/dist/ScoreSummary/index.d.ts +2 -1
- package/dist/ScoreSummary/index.d.ts.map +1 -0
- package/dist/ScoreSummary/index.js +2 -1
- package/dist/ScoreSummary/index.js.map +1 -0
- package/dist/ScoreSummary/types.d.ts +2 -1
- package/dist/ScoreSummary/types.d.ts.map +1 -0
- package/dist/SkillPathCard/index.d.ts +2 -1
- package/dist/SkillPathCard/index.d.ts.map +1 -0
- package/dist/SkillPathCard/index.js +2 -1
- package/dist/SkillPathCard/index.js.map +1 -0
- package/dist/SocialMediaSharing/SocialShareIconLink.d.ts +2 -1
- package/dist/SocialMediaSharing/SocialShareIconLink.d.ts.map +1 -0
- package/dist/SocialMediaSharing/SocialShareIconLink.js +2 -1
- package/dist/SocialMediaSharing/SocialShareIconLink.js.map +1 -0
- package/dist/SocialMediaSharing/index.d.ts +2 -1
- package/dist/SocialMediaSharing/index.d.ts.map +1 -0
- package/dist/SocialMediaSharing/index.js +2 -1
- package/dist/SocialMediaSharing/index.js.map +1 -0
- package/dist/SocialMediaSharingDropdown/index.d.ts +2 -1
- package/dist/SocialMediaSharingDropdown/index.d.ts.map +1 -0
- package/dist/SocialMediaSharingDropdown/index.js +2 -1
- package/dist/SocialMediaSharingDropdown/index.js.map +1 -0
- package/dist/Testimonial/index.d.ts +2 -1
- package/dist/Testimonial/index.d.ts.map +1 -0
- package/dist/Testimonial/index.js +2 -1
- package/dist/Testimonial/index.js.map +1 -0
- package/dist/assets/navyQuotes.js +2 -1
- package/dist/assets/navyQuotes.js.map +1 -0
- package/dist/lib/breakpointHooks/index.d.ts +2 -1
- package/dist/lib/breakpointHooks/index.d.ts.map +1 -0
- package/dist/lib/breakpointHooks/index.js +2 -1
- package/dist/lib/breakpointHooks/index.js.map +1 -0
- package/dist/lib/catalogList/index.js +2 -24
- package/dist/lib/catalogList/index.js.map +1 -0
- package/dist/lib/resourcesList/index.js +2 -1
- package/dist/lib/resourcesList/index.js.map +1 -0
- package/dist/remoteAssets/components.js +2 -1
- package/dist/remoteAssets/components.js.map +1 -0
- package/package.json +292 -364
- package/dist/AbbreviatedCommunityEventCard/index.cjs +0 -89
- package/dist/AbbreviatedCommunityEventCard/index.d.cts +0 -11
- package/dist/AppBar/AppBarSection.cjs +0 -40
- package/dist/AppBar/AppBarSection.d.cts +0 -15
- package/dist/AppBar/index.cjs +0 -22
- package/dist/AppBar/index.d.cts +0 -13
- package/dist/AppBarDeprecated/AppBarSectionDeprecated.cjs +0 -26
- package/dist/AppBarDeprecated/AppBarSectionDeprecated.d.cts +0 -18
- package/dist/AppBarDeprecated/index.cjs +0 -27
- package/dist/AppBarDeprecated/index.d.cts +0 -18
- package/dist/AppBarDeprecated/styles/index.module.cjs +0 -5
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/MarketingBanner.cjs +0 -134
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/NavPanels.cjs +0 -300
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/consts.cjs +0 -274
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.cjs +0 -110
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.d.cts +0 -8
- package/dist/AppHeader/AppHeaderElements/AppHeaderDietCard/index.cjs +0 -114
- package/dist/AppHeader/AppHeaderElements/AppHeaderDropdown/index.cjs +0 -97
- package/dist/AppHeader/AppHeaderElements/AppHeaderDropdown/index.d.cts +0 -16
- package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownProvider/index.cjs +0 -36
- package/dist/AppHeader/AppHeaderElements/AppHeaderFeatureCard/index.cjs +0 -61
- package/dist/AppHeader/AppHeaderElements/AppHeaderLink/index.cjs +0 -59
- package/dist/AppHeader/AppHeaderElements/AppHeaderLink/index.d.cts +0 -56
- package/dist/AppHeader/AppHeaderElements/AppHeaderLinkSections/elements.cjs +0 -34
- package/dist/AppHeader/AppHeaderElements/AppHeaderLinkSections/index.cjs +0 -44
- package/dist/AppHeader/AppHeaderElements/AppHeaderListItem/index.cjs +0 -26
- package/dist/AppHeader/AppHeaderElements/AppHeaderLogo/index.cjs +0 -53
- package/dist/AppHeader/AppHeaderElements/AppHeaderLogo/index.d.cts +0 -10
- package/dist/AppHeader/AppHeaderElements/AppHeaderMenuProvider/index.cjs +0 -85
- package/dist/AppHeader/AppHeaderElements/AppHeaderNavButton/index.cjs +0 -80
- package/dist/AppHeader/AppHeaderElements/AppHeaderProvider/index.cjs +0 -25
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/NavPanels.cjs +0 -118
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/consts.cjs +0 -341
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/index.cjs +0 -105
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/index.d.cts +0 -8
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/AppHeaderSectionContext.cjs +0 -18
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/MobileBackButton.cjs +0 -85
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/MobileNavMenu.cjs +0 -51
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavTabs.cjs +0 -105
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/PanelLayout.cjs +0 -84
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/elements.cjs +0 -179
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/index.cjs +0 -119
- package/dist/AppHeader/AppHeaderElements/AppHeaderSkillTile/index.cjs +0 -55
- package/dist/AppHeader/Search/DefaultResults.cjs +0 -105
- package/dist/AppHeader/Search/QuizAndHelpCenterLinks.cjs +0 -70
- package/dist/AppHeader/Search/SearchButton.cjs +0 -50
- package/dist/AppHeader/Search/SearchPane.cjs +0 -482
- package/dist/AppHeader/Search/SearchTrackingProvider/index.cjs +0 -32
- package/dist/AppHeader/Search/SearchWorker/PromiseLookup.cjs +0 -43
- package/dist/AppHeader/Search/SearchWorker/index.cjs +0 -24
- package/dist/AppHeader/Search/SearchWorker/index.d.cts +0 -10
- package/dist/AppHeader/Search/SearchWorker/src.cjs +0 -159
- package/dist/AppHeader/Search/SearchWorker/types.cjs +0 -10
- package/dist/AppHeader/Search/SearchWorker/types.d.cts +0 -30
- package/dist/AppHeader/Search/SearchWorker/worker.cjs +0 -26
- package/dist/AppHeader/Search/consts.cjs +0 -68
- package/dist/AppHeader/Search/consts.d.cts +0 -26
- package/dist/AppHeader/Search/hooks/useUrlChangeDetection.cjs +0 -17
- package/dist/AppHeader/Search/safelyRedirect.cjs +0 -39
- package/dist/AppHeader/Search/types.d.cts +0 -14
- package/dist/AppHeader/Search/useHeaderSearch.cjs +0 -39
- package/dist/AppHeader/index.cjs +0 -97
- package/dist/AppHeader/index.d.cts +0 -28
- package/dist/AppHeader/shared/elements.cjs +0 -172
- package/dist/AppHeader/shared/keyboardNav.cjs +0 -67
- package/dist/AppHeader/shared/types.cjs +0 -6
- package/dist/AppHeader/shared/types.d.cts +0 -111
- package/dist/AppHeader/shared/utils.cjs +0 -85
- package/dist/AppHeaderMobile/AppHeaderMainMenuMobile/index.cjs +0 -126
- package/dist/AppHeaderMobile/AppHeaderMainMenuMobile/index.d.cts +0 -12
- package/dist/AppHeaderMobile/AppHeaderSubMenuMobile/elements.cjs +0 -29
- package/dist/AppHeaderMobile/AppHeaderSubMenuMobile/index.cjs +0 -110
- package/dist/AppHeaderMobile/AppHeaderSubMenuMobile/index.d.cts +0 -12
- package/dist/AppHeaderMobile/AppHeaderSubMenuTarget/index.cjs +0 -61
- package/dist/AppHeaderMobile/index.cjs +0 -194
- package/dist/AppHeaderMobile/index.d.cts +0 -24
- package/dist/Avatar/index.cjs +0 -52
- package/dist/Avatar/index.d.cts +0 -40
- package/dist/AvatarChooser/index.cjs +0 -99
- package/dist/AvatarChooser/index.d.cts +0 -15
- package/dist/BackToTopAnchor/index.cjs +0 -33
- package/dist/BackToTopAnchor/index.d.cts +0 -15
- package/dist/Banner/CountdownTimer.cjs +0 -111
- package/dist/Banner/CountdownTimer.d.cts +0 -10
- package/dist/Banner/EnhancedBanner.cjs +0 -142
- package/dist/Banner/EnhancedBanner.d.cts +0 -20
- package/dist/Banner/index.cjs +0 -83
- package/dist/Banner/index.d.cts +0 -24
- package/dist/BetaSticker/index.cjs +0 -63
- package/dist/BetaSticker/index.d.cts +0 -9
- package/dist/CareerPathCard/index.cjs +0 -34
- package/dist/CareerPathCard/index.d.cts +0 -26
- package/dist/Carousel/elements.cjs +0 -12
- package/dist/Carousel/index.cjs +0 -194
- package/dist/Carousel/index.d.cts +0 -27
- package/dist/CertificationPathCard/index.cjs +0 -41
- package/dist/CertificationPathCard/index.d.cts +0 -27
- package/dist/CoachingSessionCard/index.cjs +0 -87
- package/dist/CoachingSessionCard/index.d.cts +0 -24
- package/dist/CommunityEventCard/EventTypeIcon.cjs +0 -61
- package/dist/CommunityEventCard/index.cjs +0 -260
- package/dist/CommunityEventCard/index.d.cts +0 -31
- package/dist/CommunityEventToast/index.cjs +0 -35
- package/dist/CommunityEventToast/index.d.cts +0 -9
- package/dist/ContentGroupBaseCard/helpers.cjs +0 -15
- package/dist/ContentGroupBaseCard/helpers.d.cts +0 -8
- package/dist/ContentGroupBaseCard/index.cjs +0 -215
- package/dist/ContentGroupBaseCard/index.d.cts +0 -40
- package/dist/ContentGroupBaseCard/shared.cjs +0 -80
- package/dist/ContentGroupBaseCard/types.cjs +0 -18
- package/dist/ContentGroupBaseCard/types.d.cts +0 -13
- package/dist/CourseCard/index.cjs +0 -32
- package/dist/CourseCard/index.d.cts +0 -25
- package/dist/CurriculumCard/BottomTag/index.cjs +0 -30
- package/dist/CurriculumCard/BottomTag/index.d.cts +0 -4
- package/dist/CurriculumCard/Difficulty/helpers.cjs +0 -17
- package/dist/CurriculumCard/Difficulty/helpers.d.cts +0 -13
- package/dist/CurriculumCard/Difficulty/index.cjs +0 -45
- package/dist/CurriculumCard/Difficulty/index.d.cts +0 -7
- package/dist/CurriculumCard/Difficulty/types.cjs +0 -21
- package/dist/CurriculumCard/Difficulty/types.d.cts +0 -25
- package/dist/CurriculumCard/Footer/index.cjs +0 -49
- package/dist/CurriculumCard/Image/index.cjs +0 -50
- package/dist/CurriculumCard/Subtitle/helpers.cjs +0 -9
- package/dist/CurriculumCard/Subtitle/index.cjs +0 -40
- package/dist/CurriculumCard/Subtitle/index.d.cts +0 -10
- package/dist/CurriculumCard/index.cjs +0 -122
- package/dist/CurriculumCard/index.d.cts +0 -63
- package/dist/DropdownButton/DropdownList.cjs +0 -57
- package/dist/DropdownButton/DropdownList.d.cts +0 -19
- package/dist/DropdownButton/index.cjs +0 -140
- package/dist/DropdownButton/index.d.cts +0 -80
- package/dist/DropdownButton/useDynamicPopoverPosition.cjs +0 -41
- package/dist/EditorialImage/index.cjs +0 -21
- package/dist/EditorialImage/index.d.cts +0 -14
- package/dist/EditorialImage/styles.module.cjs +0 -5
- package/dist/EmptySection/index.cjs +0 -159
- package/dist/EmptySection/index.d.cts +0 -32
- package/dist/ErrorContents/index.cjs +0 -64
- package/dist/ErrorContents/index.d.cts +0 -12
- package/dist/FeatureList/index.cjs +0 -41
- package/dist/FeatureList/index.d.cts +0 -18
- package/dist/GlobalFooter/FooterHeading.cjs +0 -28
- package/dist/GlobalFooter/FooterLegal/LegalLinks.cjs +0 -77
- package/dist/GlobalFooter/FooterLegal/MadeIn.cjs +0 -79
- package/dist/GlobalFooter/FooterLegal/index.cjs +0 -29
- package/dist/GlobalFooter/FooterLinks.cjs +0 -51
- package/dist/GlobalFooter/FooterNavLinks/CatalogLinks.cjs +0 -297
- package/dist/GlobalFooter/FooterNavLinks/CompanyLinks.cjs +0 -254
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/ReferAFriendLinkWithModal.cjs +0 -246
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/ReferralFields.cjs +0 -27
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/ReferralForm.cjs +0 -72
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/ReferralLinkSocialMediaSharing.cjs +0 -70
- package/dist/GlobalFooter/FooterNavLinks/ReferralRock/types.d.cts +0 -7
- package/dist/GlobalFooter/FooterNavLinks/SocialMediaLinks.cjs +0 -59
- package/dist/GlobalFooter/FooterNavLinks/assets/download-on-the-app-store.cjs +0 -5
- package/dist/GlobalFooter/FooterNavLinks/assets/get-it-on-google-play.cjs +0 -5
- package/dist/GlobalFooter/FooterNavLinks/index.cjs +0 -44
- package/dist/GlobalFooter/index.cjs +0 -38
- package/dist/GlobalFooter/index.d.cts +0 -26
- package/dist/GlobalFooter/types.d.cts +0 -16
- package/dist/GlobalHeader/GlobalHeaderItems.cjs +0 -443
- package/dist/GlobalHeader/GlobalHeaderVariants.cjs +0 -351
- package/dist/GlobalHeader/context.cjs +0 -82
- package/dist/GlobalHeader/index.cjs +0 -171
- package/dist/GlobalHeader/index.d.cts +0 -10
- package/dist/GlobalHeader/types.d.cts +0 -124
- package/dist/GlobalHeader/urlHelpers.cjs +0 -22
- package/dist/GlobalPage/index.cjs +0 -45
- package/dist/GlobalPage/index.d.cts +0 -51
- package/dist/Grid/GridCollapse.cjs +0 -161
- package/dist/Grid/GridCollapse.d.cts +0 -49
- package/dist/Grid/Subgrid.cjs +0 -41
- package/dist/Grid/Subgrid.d.cts +0 -29
- package/dist/Grid/getCSSFromColumnCount.cjs +0 -10
- package/dist/Grid/getCSSFromColumnCount.d.cts +0 -10
- package/dist/Grid/index.cjs +0 -9
- package/dist/Grid/index.d.cts +0 -4
- package/dist/HeaderHeightArea/index.cjs +0 -38
- package/dist/HeaderHeightArea/index.d.cts +0 -13
- package/dist/HeaderHeightArea/useIsInHeaderRegion.cjs +0 -17
- package/dist/HorizontalScrollMenu/index.cjs +0 -68
- package/dist/HorizontalScrollMenu/index.d.cts +0 -10
- package/dist/HubCard/index.cjs +0 -40
- package/dist/HubCard/index.d.cts +0 -12
- package/dist/InfoCard/index.cjs +0 -121
- package/dist/InfoCard/index.d.cts +0 -23
- package/dist/Konamimojisplosion/Konamimojisplosion.cjs +0 -10
- package/dist/Konamimojisplosion/Konamimojisplosion.d.cts +0 -9
- package/dist/Konamimojisplosion/index.cjs +0 -5
- package/dist/Konamimojisplosion/index.d.cts +0 -3
- package/dist/Konamimojisplosion/useKonamimojisplosion.cjs +0 -47
- package/dist/Konamimojisplosion/useKonamimojisplosion.d.cts +0 -4
- package/dist/LandingPage/CTA.cjs +0 -11
- package/dist/LandingPage/Description.cjs +0 -18
- package/dist/LandingPage/Description.d.cts +0 -10
- package/dist/LandingPage/Feature.cjs +0 -89
- package/dist/LandingPage/PageFAQs.cjs +0 -49
- package/dist/LandingPage/PageFAQs.d.cts +0 -14
- package/dist/LandingPage/PageFeatures.cjs +0 -99
- package/dist/LandingPage/PageFeatures.d.cts +0 -20
- package/dist/LandingPage/PageFeaturesEnhanced.cjs +0 -152
- package/dist/LandingPage/PageFeaturesEnhanced.d.cts +0 -11
- package/dist/LandingPage/PageFeaturesWithReferences.cjs +0 -128
- package/dist/LandingPage/PageFeaturesWithReferences.d.cts +0 -23
- package/dist/LandingPage/PageHero.cjs +0 -20
- package/dist/LandingPage/PageHero.d.cts +0 -11
- package/dist/LandingPage/PagePrefooter.cjs +0 -66
- package/dist/LandingPage/PagePrefooter.d.cts +0 -9
- package/dist/LandingPage/PageSingleFeature.cjs +0 -108
- package/dist/LandingPage/PageSingleFeature.d.cts +0 -60
- package/dist/LandingPage/PageTestimonials.cjs +0 -108
- package/dist/LandingPage/PageTestimonials.d.cts +0 -25
- package/dist/LandingPage/PageVideoGallery.cjs +0 -70
- package/dist/LandingPage/PageVideoGallery.d.cts +0 -15
- package/dist/LandingPage/Title.cjs +0 -33
- package/dist/LandingPage/Title.d.cts +0 -27
- package/dist/LandingPage/TitleWithEyebrow.cjs +0 -39
- package/dist/LandingPage/TitleWithEyebrow.d.cts +0 -15
- package/dist/LandingPage/index.cjs +0 -29
- package/dist/LandingPage/index.d.cts +0 -15
- package/dist/LandingPage/types.d.cts +0 -31
- package/dist/LayoutMenu/AccordionMenu.cjs +0 -64
- package/dist/LayoutMenu/AccordionMenu.d.cts +0 -18
- package/dist/LayoutMenu/LayoutMenu.cjs +0 -107
- package/dist/LayoutMenu/LayoutMenu.d.cts +0 -48
- package/dist/LayoutMenu/LayoutMenuSection.cjs +0 -38
- package/dist/LayoutMenu/SectionItemLink.cjs +0 -19
- package/dist/LayoutMenu/SectionItemLink.d.cts +0 -11
- package/dist/LayoutMenu/SelectedSectionItem.cjs +0 -22
- package/dist/LayoutMenu/SelectedSectionItem.d.cts +0 -7
- package/dist/LayoutMenu/index.cjs +0 -7
- package/dist/LayoutMenu/index.d.cts +0 -4
- package/dist/LayoutMenuVariant/AccordionMenu.cjs +0 -76
- package/dist/LayoutMenuVariant/AccordionMenu.d.cts +0 -19
- package/dist/LayoutMenuVariant/LayoutMenu.cjs +0 -88
- package/dist/LayoutMenuVariant/LayoutMenu.d.cts +0 -43
- package/dist/LayoutMenuVariant/LayoutMenuSection.cjs +0 -37
- package/dist/LayoutMenuVariant/SectionItemLink.cjs +0 -19
- package/dist/LayoutMenuVariant/SectionItemLink.d.cts +0 -12
- package/dist/LayoutMenuVariant/index.cjs +0 -19
- package/dist/LayoutMenuVariant/index.d.cts +0 -9
- package/dist/LearningOutcomeAssessmentScores/AssessmentDetail.cjs +0 -52
- package/dist/LearningOutcomeAssessmentScores/index.cjs +0 -25
- package/dist/LearningOutcomeAssessmentScores/index.d.cts +0 -10
- package/dist/LearningOutcomeBadges/LearningOutcomeLevelBadge.cjs +0 -50
- package/dist/LearningOutcomeBadges/LearningOutcomeLevelBadge.d.cts +0 -21
- package/dist/LearningOutcomeBadges/LearningOutcomeLowAssessmentBadge.cjs +0 -38
- package/dist/LearningOutcomeBadges/LearningOutcomeLowAssessmentBadge.d.cts +0 -18
- package/dist/LearningOutcomeBadges/index.cjs +0 -8
- package/dist/LearningOutcomeBadges/index.d.cts +0 -3
- package/dist/LearningOutcomeCard/index.cjs +0 -167
- package/dist/LearningOutcomeCard/index.d.cts +0 -30
- package/dist/LearningOutcomeFlyout/LearningOutcomeCardList.cjs +0 -41
- package/dist/LearningOutcomeFlyout/index.cjs +0 -316
- package/dist/LearningOutcomeFlyout/index.d.cts +0 -12
- package/dist/LearningOutcomeFlyout/types.cjs +0 -10
- package/dist/LearningOutcomeFlyout/types.d.cts +0 -66
- package/dist/LearningOutcomePopover/index.cjs +0 -117
- package/dist/LearningOutcomePopover/index.d.cts +0 -13
- package/dist/LearningOutcomeTile/Tile.cjs +0 -68
- package/dist/LearningOutcomeTile/index.cjs +0 -96
- package/dist/LearningOutcomeTile/index.d.cts +0 -7
- package/dist/LearningOutcomeTile/types.cjs +0 -11
- package/dist/LearningOutcomeTile/types.d.cts +0 -45
- package/dist/ListSection/index.cjs +0 -56
- package/dist/ListSection/index.d.cts +0 -25
- package/dist/Loading/index.cjs +0 -91
- package/dist/Loading/index.d.cts +0 -9
- package/dist/Loading/styles.module.cjs +0 -5
- package/dist/LoadingCurriculumCard/index.cjs +0 -85
- package/dist/LoadingCurriculumCard/index.d.cts +0 -10
- package/dist/Logos/LogoCodecademy/index.cjs +0 -23
- package/dist/Logos/LogoCodecademy/index.d.cts +0 -6
- package/dist/Logos/LogoCodecademyMini/index.cjs +0 -19
- package/dist/Logos/LogoCodecademyMini/index.d.cts +0 -6
- package/dist/Logos/LogoCodecademyPro/index.cjs +0 -26
- package/dist/Logos/LogoCodecademyPro/index.d.cts +0 -6
- package/dist/Logos/LogoCodecademyTeams/index.cjs +0 -53
- package/dist/Logos/LogoCodecademyTeams/index.d.cts +0 -6
- package/dist/Logos/LogoFromSkillsoft/index.cjs +0 -49
- package/dist/Logos/LogoFromSkillsoft/index.d.cts +0 -7
- package/dist/Logos/LogoLXStudio/index.cjs +0 -38
- package/dist/Logos/LogoLXStudio/index.d.cts +0 -7
- package/dist/Logos/ProLabel/ProLabelCutout/index.cjs +0 -38
- package/dist/Logos/ProLabel/ProLabelCutoutTransparent/index.cjs +0 -39
- package/dist/Logos/ProLabel/index.cjs +0 -27
- package/dist/Logos/ProLabel/index.d.cts +0 -18
- package/dist/Logos/index.cjs +0 -15
- package/dist/Logos/index.d.cts +0 -8
- package/dist/Logos/shared.cjs +0 -14
- package/dist/Logos/shared.d.cts +0 -232
- package/dist/MarketingToaster/index.cjs +0 -50
- package/dist/MarketingToaster/index.d.cts +0 -11
- package/dist/NotFoundContent/404.cjs +0 -5
- package/dist/NotFoundContent/index.cjs +0 -49
- package/dist/NotFoundContent/index.d.cts +0 -11
- package/dist/NotificationList/EmptyNotification/emptyNotificationContents.cjs +0 -34
- package/dist/NotificationList/EmptyNotification/index.cjs +0 -44
- package/dist/NotificationList/NotificationItem.cjs +0 -162
- package/dist/NotificationList/NotificationItem.d.cts +0 -12
- package/dist/NotificationList/index.cjs +0 -45
- package/dist/NotificationList/index.d.cts +0 -13
- package/dist/NotificationList/typings.d.cts +0 -19
- package/dist/Notifications/NotificationBell.cjs +0 -61
- package/dist/Notifications/NotificationsContents.cjs +0 -80
- package/dist/Notifications/NotificationsDropdown.cjs +0 -24
- package/dist/Notifications/constants.cjs +0 -9
- package/dist/Notifications/elements.cjs +0 -23
- package/dist/Notifications/types.d.cts +0 -17
- package/dist/Notifications/useHeaderNotifications.cjs +0 -38
- package/dist/Notifications/useNotificationButtons.cjs +0 -53
- package/dist/PageAlerts/PageAlerts.cjs +0 -69
- package/dist/PageAlerts/PageAlerts.d.cts +0 -16
- package/dist/PageAlerts/PageAlertsProvider.cjs +0 -41
- package/dist/PageAlerts/PageAlertsProvider.d.cts +0 -15
- package/dist/PageAlerts/index.cjs +0 -8
- package/dist/PageAlerts/index.d.cts +0 -4
- package/dist/PageAlerts/types.d.cts +0 -18
- package/dist/PageLayoutWithSidebarMenu/PageLayoutWithSidebarMenu.cjs +0 -50
- package/dist/PageLayoutWithSidebarMenu/PageLayoutWithSidebarMenu.d.cts +0 -22
- package/dist/PageLayoutWithSidebarMenu/index.cjs +0 -3
- package/dist/PageLayoutWithSidebarMenu/index.d.cts +0 -2
- package/dist/PageSection/index.cjs +0 -65
- package/dist/PageSection/index.d.cts +0 -20
- package/dist/PastDue/PastDueModalContents/index.cjs +0 -28
- package/dist/PastDue/PastDueModalContents/index.d.cts +0 -12
- package/dist/PastDue/index.cjs +0 -5
- package/dist/PastDue/index.d.cts +0 -3
- package/dist/PastDue/pastDueMessages.cjs +0 -55
- package/dist/PastDue/pastDueMessages.d.cts +0 -8
- package/dist/PausableImage/BaseImage/index.cjs +0 -77
- package/dist/PausableImage/index.cjs +0 -32
- package/dist/PausableImage/index.d.cts +0 -16
- package/dist/PlanCard/PlanCardBanner.cjs +0 -30
- package/dist/PlanCard/PlanCardBanner.d.cts +0 -10
- package/dist/PlanCard/PlanFeature.cjs +0 -91
- package/dist/PlanCard/PopularBadge.cjs +0 -20
- package/dist/PlanCard/PricingAmount.cjs +0 -122
- package/dist/PlanCard/RecommendedBadge.cjs +0 -31
- package/dist/PlanCard/consts.cjs +0 -220
- package/dist/PlanCard/index.cjs +0 -341
- package/dist/PlanCard/index.d.cts +0 -22
- package/dist/PlanCard/types.cjs +0 -75
- package/dist/PlanCard/types.d.cts +0 -43
- package/dist/PlanCardTeams/consts.cjs +0 -22
- package/dist/PlanCardTeams/index.cjs +0 -140
- package/dist/PlanCardTeams/index.d.cts +0 -12
- package/dist/PricingSection/ConditionalColorMode.cjs +0 -14
- package/dist/PricingSection/PricingCard/PricingAmount.cjs +0 -122
- package/dist/PricingSection/PricingCard/RecommendedBadge.cjs +0 -30
- package/dist/PricingSection/PricingCard/index.cjs +0 -176
- package/dist/PricingSection/PricingCard/types.cjs +0 -67
- package/dist/PricingSection/PricingCard/types.d.cts +0 -26
- package/dist/PricingSection/ProductCTA.cjs +0 -106
- package/dist/PricingSection/Products.cjs +0 -86
- package/dist/PricingSection/config.cjs +0 -33
- package/dist/PricingSection/index.cjs +0 -36
- package/dist/PricingSection/index.d.cts +0 -22
- package/dist/PricingSection/types.cjs +0 -14
- package/dist/PricingSection/types.d.cts +0 -18
- package/dist/ProLogoAlt/index.cjs +0 -28
- package/dist/ProLogoAlt/index.d.cts +0 -13
- package/dist/ProductFeatureShowcase/index.cjs +0 -108
- package/dist/ProductFeatureShowcase/index.d.cts +0 -19
- package/dist/QuizScore/index.cjs +0 -93
- package/dist/QuizScore/index.d.cts +0 -15
- package/dist/RatingsBar/index.cjs +0 -44
- package/dist/RatingsBar/index.d.cts +0 -16
- package/dist/Recurly/context/NoProvider.cjs +0 -12
- package/dist/Recurly/context/elements/index.cjs +0 -45
- package/dist/Recurly/context/elements/index.d.cts +0 -15
- package/dist/Recurly/context/recurly/index.cjs +0 -49
- package/dist/Recurly/context/recurly/index.d.cts +0 -38
- package/dist/Recurly/context/recurly/loadRecurly.cjs +0 -21
- package/dist/Recurly/context/recurly/loadRecurly.d.cts +0 -9
- package/dist/Recurly/context/recurly/w.cjs +0 -6
- package/dist/Recurly/fields/RecurlyField.cjs +0 -69
- package/dist/Recurly/fields/RecurlyField.d.cts +0 -18
- package/dist/Recurly/fields/elements.cjs +0 -63
- package/dist/Recurly/fields/elements.d.cts +0 -22
- package/dist/Recurly/index.cjs +0 -13
- package/dist/Recurly/index.d.cts +0 -5
- package/dist/ResourceCard/index.cjs +0 -59
- package/dist/ResourceCard/index.d.cts +0 -19
- package/dist/ScoreSummary/SubScores.cjs +0 -136
- package/dist/ScoreSummary/SubScores.d.cts +0 -40
- package/dist/ScoreSummary/helpers.cjs +0 -20
- package/dist/ScoreSummary/index.cjs +0 -98
- package/dist/ScoreSummary/index.d.cts +0 -25
- package/dist/ScoreSummary/types.d.cts +0 -313
- package/dist/SkillPathCard/index.cjs +0 -34
- package/dist/SkillPathCard/index.d.cts +0 -25
- package/dist/SocialMediaSharing/SocialShareIconLink.cjs +0 -43
- package/dist/SocialMediaSharing/SocialShareIconLink.d.cts +0 -9
- package/dist/SocialMediaSharing/index.cjs +0 -86
- package/dist/SocialMediaSharing/index.d.cts +0 -64
- package/dist/SocialMediaSharingDropdown/index.cjs +0 -98
- package/dist/SocialMediaSharingDropdown/index.d.cts +0 -19
- package/dist/Testimonial/index.cjs +0 -141
- package/dist/Testimonial/index.d.cts +0 -53
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/defineProperty.cjs +0 -14
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPrimitive.cjs +0 -16
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPropertyKey.cjs +0 -11
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/typeof.cjs +0 -18
- package/dist/_virtual/rolldown_runtime.cjs +0 -43
- package/dist/assets/navyQuotes.cjs +0 -5
- package/dist/index.cjs +0 -279
- package/dist/index.d.cts +0 -122
- package/dist/lib/breakpointHooks/index.cjs +0 -64
- package/dist/lib/breakpointHooks/index.d.cts +0 -46
- package/dist/lib/catalogList/index.cjs +0 -52
- package/dist/lib/resourcesList/index.cjs +0 -68
- package/dist/remoteAssets/components.cjs +0 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["AppHeaderSubMenuRow: React.FC<AppHeaderSubMenuTargetProps>"],"sources":["../../../src/AppHeaderMobile/AppHeaderSubMenuTarget/index.tsx"],"sourcesContent":["import { Anchor, Text } from '@codecademy/gamut';\nimport { ArrowChevronRightIcon } from '@codecademy/gamut-icons';\nimport { css } from '@codecademy/gamut-styles';\nimport styled from '@emotion/styled';\nimport * as React from 'react';\n\nimport {\n AppHeaderCatalogDropdownItem,\n AppHeaderDropdownItem,\n AppHeaderResourcesDropdownItem,\n} from '../../AppHeader/shared/types';\nimport { Avatar } from '../../Avatar';\n\nexport type AppHeaderSubMenuTargetProps = {\n item:\n | AppHeaderDropdownItem\n | AppHeaderCatalogDropdownItem\n | AppHeaderResourcesDropdownItem;\n openSubMenu: (\n event: React.MouseEvent,\n item:\n | AppHeaderDropdownItem\n | AppHeaderCatalogDropdownItem\n | AppHeaderResourcesDropdownItem\n ) => void;\n};\n\nconst StyledAnchor = styled(Anchor)(\n css({\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n py: 16,\n width: '100%',\n })\n);\n\nconst StyledText = styled(Text)(\n css({\n ml: 16,\n maxWidth: `70vw`,\n overflow: `hidden`,\n textOverflow: `ellipsis`,\n })\n);\n\nexport const AppHeaderSubMenuRow: React.FC<AppHeaderSubMenuTargetProps> = ({\n item,\n openSubMenu,\n}) => {\n const getIcon = () => {\n if (item.type !== 'profile-dropdown') {\n const Icon = item.icon;\n return Icon && <Icon size={24} aria-hidden />;\n }\n return (\n <Avatar\n src={item.avatar}\n alt=\"User profile avatar\"\n disableDropshadow\n size={24}\n />\n );\n };\n\n return (\n <StyledAnchor\n aria-label={`Open ${item.text} navigation`}\n data-testid={item.dataTestId}\n onClick={(event: React.MouseEvent) => openSubMenu(event, item)}\n variant=\"interface\"\n >\n {getIcon()}\n <StyledText>\n {item.type === 'profile-dropdown' ? item.userDisplayName : item.text}\n </StyledText>\n <ArrowChevronRightIcon ml=\"auto\" my=\"auto\" size={12} aria-hidden />\n </StyledAnchor>\n );\n};\n"],"mappings":";;;;;;;;;AA2BA,MAAM,eAAe,OAAO,OAAO,CACjC,IAAI;CACF,YAAY;CACZ,SAAS;CACT,gBAAgB;CAChB,IAAI;CACJ,OAAO;CACR,CAAC,CACH;AAED,MAAM,aAAa,OAAO,KAAK,CAC7B,IAAI;CACF,IAAI;CACJ,UAAU;CACV,UAAU;CACV,cAAc;CACf,CAAC,CACH;AAED,MAAaA,uBAA8D,EACzE,MACA,kBACI;CACJ,MAAM,gBAAgB;AACpB,MAAI,KAAK,SAAS,oBAAoB;GACpC,MAAM,OAAO,KAAK;AAClB,UAAO,QAAQ,oBAAC;IAAK,MAAM;IAAI;KAAc;;AAE/C,SACE,oBAAC;GACC,KAAK,KAAK;GACV,KAAI;GACJ;GACA,MAAM;IACN;;AAIN,QACE,qBAAC;EACC,cAAY,QAAQ,KAAK,KAAK;EAC9B,eAAa,KAAK;EAClB,UAAU,UAA4B,YAAY,OAAO,KAAK;EAC9D,SAAQ;;GAEP,SAAS;GACV,oBAAC,wBACE,KAAK,SAAS,qBAAqB,KAAK,kBAAkB,KAAK,OACrD;GACb,oBAAC;IAAsB,IAAG;IAAO,IAAG;IAAO,MAAM;IAAI;KAAc;;GACtD"}
|
|
@@ -24,4 +24,5 @@ type AppHeaderMobileProps = AppHeaderAction & {
|
|
|
24
24
|
};
|
|
25
25
|
declare const AppHeaderMobile: React$1.FC<AppHeaderMobileProps>;
|
|
26
26
|
//#endregion
|
|
27
|
-
export { AppHeaderMobile, AppHeaderMobileProps };
|
|
27
|
+
export { AppHeaderMobile, AppHeaderMobileProps };
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/AppHeaderMobile/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;KA8BY,oBAAA,GAAuB;SAC1B;kBACS;;UAER;EAJE,MAAA,EAAA,OAAA;EAAuB;;;EAIzB,YAAA,CAAA,EAAA,OAAA;EAQuB,QAAA,CAAA,EAAA,OAAA;EAA4B,mBAAA,CAAA,EAAA,OAAA;EAoChD,4BA+LZ,CAAA,EAnOgC,4BAoCH;;cAAjB,iBAAiB,OAAA,CAAM,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["AppHeaderMobile: React.FC<AppHeaderMobileProps>","items"],"sources":["../../src/AppHeaderMobile/index.tsx"],"sourcesContent":["import {\n Box,\n ButtonBaseElements,\n IconButton,\n Overlay,\n} from '@codecademy/gamut';\nimport { MenuIcon } from '@codecademy/gamut-icons';\nimport { Background, css, states, theme } from '@codecademy/gamut-styles';\nimport styled from '@emotion/styled';\nimport { useEffect, useRef, useState } from 'react';\nimport * as React from 'react';\n\nimport { AppHeaderSearch } from '..';\nimport { AppHeaderListItem } from '../AppHeader/AppHeaderElements/AppHeaderListItem';\nimport { useHeaderSearch } from '../AppHeader/Search/useHeaderSearch';\nimport {\n AppHeaderAction,\n AppHeaderItem,\n appHeaderMobileBreakpoint,\n FormattedMobileAppHeaderItems,\n StyledAppBar,\n} from '../AppHeader/shared';\nimport { mapAppHeaderItemToElement } from '../AppHeader/shared/utils';\nimport { AppHeaderMainMenuMobile } from '../AppHeaderMobile/AppHeaderMainMenuMobile';\nimport { NavigationMenuFormattedLabel } from '../GlobalHeader';\nimport { HeaderHeightArea } from '../HeaderHeightArea';\nimport { NotificationsContents } from '../Notifications/NotificationsContents';\nimport { AppHeaderNotificationSettings } from '../Notifications/types';\nimport { useHeaderNotifications } from '../Notifications/useHeaderNotifications';\n\nexport type AppHeaderMobileProps = AppHeaderAction & {\n items: FormattedMobileAppHeaderItems;\n notifications?: AppHeaderNotificationSettings;\n redirectParam?: string;\n search: AppHeaderSearch;\n isAnon: boolean;\n /**\n * used to conditonally hide the default search icon and notification bell\n */\n isEnterprise?: boolean;\n isSimple?: boolean;\n hideRightMenuButton?: boolean;\n navigationMenuFormattedLabel?: NavigationMenuFormattedLabel;\n};\n\nconst StyledOverlay = styled(Overlay)(\n css({\n display: { _: `block`, [appHeaderMobileBreakpoint]: `none` },\n width: `100vw`,\n height: `100vh`,\n opacity: 1,\n bg: `beige`,\n position: `fixed`,\n left: 0,\n top: 0,\n overflowX: `hidden`,\n })\n);\n\nconst StyledNavBar = styled.ul<{ center?: boolean }>(\n css({\n display: `flex`,\n padding: 0,\n listStyle: `none`,\n margin: 0,\n width: `100%`,\n alignItems: 'center',\n }),\n states({\n center: {\n justifyContent: {\n _: 'center',\n sm: 'flex-start',\n },\n },\n })\n);\n\nexport const AppHeaderMobile: React.FC<AppHeaderMobileProps> = ({\n action,\n items,\n notifications,\n search,\n redirectParam,\n isAnon,\n isEnterprise,\n isSimple,\n hideRightMenuButton,\n navigationMenuFormattedLabel,\n}) => {\n const [mobileMenuOpen, setMobileMenuOpen] = useState<boolean | undefined>(\n undefined\n );\n const [allowScroll, setAllowScroll] = useState<boolean>(false);\n const openButtonRef = useRef<ButtonBaseElements>(null);\n const closeButtonRef = useRef<ButtonBaseElements>(null);\n\n const [notificationsBell, notificationsView] = useHeaderNotifications({\n settings: notifications,\n Renderer: NotificationsContents,\n });\n\n const [searchButton, searchPane] = useHeaderSearch({\n ...search,\n });\n\n const openMobileMenu = () => {\n setMobileMenuOpen(true);\n\n if (closeButtonRef.current) {\n closeButtonRef.current.focus();\n }\n };\n\n useEffect(() => {\n if (mobileMenuOpen === false && openButtonRef.current) {\n setTimeout(() => {\n if (openButtonRef.current) openButtonRef.current.focus();\n }, 0);\n }\n }, [mobileMenuOpen]);\n\n const mapItemsToElement = <T extends AppHeaderItem[]>(\n items: T,\n side: 'left' | 'right',\n hideExtraItems?: boolean\n ) => {\n const shouldHideItems = hideExtraItems === true && items.length > 1;\n return items.map((item, index) => {\n const isLastItem = index + 1 === items.length;\n const isHidable = !isLastItem && shouldHideItems;\n return (\n <AppHeaderListItem\n key={item.id}\n ml={side === 'right' && index === 0 ? 'auto' : 0}\n display={{\n _: isHidable ? 'none' : 'flex',\n xs: 'flex',\n }}\n >\n {mapAppHeaderItemToElement({\n action,\n isStandalone: undefined,\n isTeams: undefined,\n item,\n mobile: true,\n redirectParam,\n })}\n </AppHeaderListItem>\n );\n });\n };\n\n const right = [\n ...(!isEnterprise ? [searchButton] : []),\n ...(notificationsBell && !isEnterprise ? [notificationsBell] : []),\n ...items.right,\n ];\n\n const onItemType = (type: string | undefined) => {\n if (\n type &&\n (type === 'catalog-dropdown' || type === 'resources-dropdown')\n ) {\n setAllowScroll(true);\n } else {\n setAllowScroll(false);\n }\n };\n\n return (\n <>\n {!mobileMenuOpen && ( // need this bc AppBar has a hardcoded z-Index of 15\n <HeaderHeightArea\n display={{ _: `block`, [appHeaderMobileBreakpoint]: `none` }}\n >\n <StyledAppBar as=\"nav\" aria-label=\"Main\">\n <StyledNavBar center={!!isSimple}>\n {mapItemsToElement(items.left, 'left')}\n {mapItemsToElement(right, 'right', true)}\n {!hideRightMenuButton && (\n <AppHeaderListItem ml={right.length === 0 ? 'auto' : 0}>\n <IconButton\n aria-expanded={mobileMenuOpen}\n aria-label={\n navigationMenuFormattedLabel?.siteNavigation ||\n 'Site navigation'\n }\n tip={'Site\\nnavigation'}\n tipProps={{\n alignment: 'bottom-center',\n placement: 'floating',\n }}\n data-testid=\"header-mobile-menu\"\n onClick={() => {\n openMobileMenu();\n }}\n icon={MenuIcon}\n variant=\"interface\"\n ref={openButtonRef}\n />\n </AppHeaderListItem>\n )}\n </StyledNavBar>\n </StyledAppBar>\n </HeaderHeightArea>\n )}\n <StyledOverlay\n clickOutsideCloses\n escapeCloses\n isOpen={mobileMenuOpen}\n onRequestClose={() => setMobileMenuOpen(false)}\n allowScroll={allowScroll}\n >\n <Background bg=\"beige\">\n <HeaderHeightArea\n display={{ _: `block`, [appHeaderMobileBreakpoint]: `none` }}\n as=\"nav\"\n ariaLabel=\"Main\"\n data-testid=\"header-mobile-menu-dropdown\"\n >\n <StyledAppBar>\n <StyledNavBar>\n {mapItemsToElement(items.left, 'left')}\n <AppHeaderListItem ml=\"auto\">\n <IconButton\n aria-expanded={mobileMenuOpen}\n onClick={() => {\n setMobileMenuOpen(false);\n }}\n icon={MenuIcon}\n aria-label={\n navigationMenuFormattedLabel?.siteNavigation ||\n 'Site navigation'\n }\n tip={\n navigationMenuFormattedLabel?.siteNavigation ||\n 'Site navigation'\n }\n tipProps={{\n alignment: 'bottom-center',\n placement: 'floating',\n }}\n ref={closeButtonRef}\n />\n </AppHeaderListItem>\n </StyledNavBar>\n </StyledAppBar>\n <Box background={theme.colors.beige} height=\"auto\">\n <AppHeaderMainMenuMobile\n action={action}\n items={items.mainMenu}\n getItemType={onItemType}\n isAnon={isAnon}\n />\n </Box>\n </HeaderHeightArea>\n </Background>\n </StyledOverlay>\n {!isEnterprise && (\n <Box display={{ _: `block`, [appHeaderMobileBreakpoint]: `none` }}>\n {searchPane}\n </Box>\n )}\n <Box display={{ _: `block`, [appHeaderMobileBreakpoint]: `none` }}>\n {notificationsView}\n </Box>\n </>\n );\n};\n"],"mappings":"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"}
|
package/dist/Avatar/index.d.ts
CHANGED
|
@@ -37,4 +37,5 @@ type AvatarBaseProps = {
|
|
|
37
37
|
type AvatarProps = AvatarBaseProps & AvatarImageProps;
|
|
38
38
|
declare const Avatar: React$1.FC<AvatarProps>;
|
|
39
39
|
//#endregion
|
|
40
|
-
export { Avatar, AvatarBaseProps, AvatarImageProps, AvatarProps };
|
|
40
|
+
export { Avatar, AvatarBaseProps, AvatarImageProps, AvatarProps };
|
|
41
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/Avatar/index.tsx"],"sourcesContent":[],"mappings":";;;;;KAiDY,gBAAA;;EAAA,iBAAA,CAAA,EAAgB,KAAA;AAI5B,CAAA,GAAY;EA6BA,GAAA,CAAA,EAAA,KAAA;EAEC,iBAgBZ,EAAA,MAhB6B;;KA/BlB,eAAA;;;;;;;;;;;;SAcH;;;;;;;;;;SAYA;;KAGG,WAAA,GAAc,kBAAkB;cAE/B,QAAQ,OAAA,CAAM,GAAG"}
|
package/dist/Avatar/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Avatar: React.FC<AvatarProps>"],"sources":["../../src/Avatar/index.tsx"],"sourcesContent":["import { VisualTheme } from '@codecademy/gamut';\nimport { styledOptions, system, theme } from '@codecademy/gamut-styles';\nimport { ResponsiveProp } from '@codecademy/variance';\nimport { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport * as React from 'react';\n\nconst Image = styled('img', styledOptions<'img'>())(system.layout);\n\nconst AvatarContainer = styled.div<{\n mode?: VisualTheme;\n disableDropshadow?: boolean;\n}>`\n position: relative;\n display: table;\n\n ${({ disableDropshadow, mode }) =>\n !disableDropshadow &&\n css`\n &::before {\n content: '';\n position: absolute;\n border-radius: 50%;\n transform: scale(0.92);\n transform-origin: bottom right;\n height: 100%;\n width: 100%;\n background-color: ${mode\n ? mode === 'light'\n ? theme.colors.lightGreen\n : theme.colors.green\n : theme.colors['feedback-success']};\n }\n `}\n\n ${Image} {\n position: relative;\n border-radius: 50%;\n object-fit: cover;\n\n ${({ disableDropshadow }) =>\n !disableDropshadow &&\n css`\n transform: scale(0.92);\n transform-origin: top left;\n `}\n }\n`;\n\nexport type AvatarImageProps =\n | { alt: string; 'aria-labelledby'?: never }\n | { alt?: never; 'aria-labelledby': string };\n\nexport type AvatarBaseProps = {\n /**\n * path to image asset\n */\n src: string;\n\n /**\n * Disables the drop shadow entirely.\n */\n disableDropshadow?: boolean;\n\n /**\n * Size of the Avatar.\n */\n size?: ResponsiveProp<24 | 32 | 40 | 48 | 64 | 118> | '100%';\n\n /**\n * Overrides styles on the Avatar container.\n */\n className?: string;\n\n /**\n * @deprecated\n * This will be determined automatically by the theme moving forward.\n * Supplying it will determine the color of drop shadow.\n */\n mode?: VisualTheme;\n};\n\nexport type AvatarProps = AvatarBaseProps & AvatarImageProps;\n\nexport const Avatar: React.FC<AvatarProps> = ({\n mode,\n disableDropshadow,\n // ENT-361 Fixed Firefox Issue, set default size to 24 from 118\n size = 24,\n className,\n ...avatarImageProps\n}) => (\n <AvatarContainer\n className={className}\n mode={mode}\n disableDropshadow={disableDropshadow}\n data-testid=\"avatar-container\"\n >\n <Image dimensions={size} {...avatarImageProps} />\n </AvatarContainer>\n);\n"],"mappings":";;;;;;;AAOA,MAAM,QAAQ,OAAO,OAAO,eAAsB,CAAC,CAAC,OAAO,OAAO;AAElE,MAAM,kBAAkB,OAAO,GAG7B;;;;KAIG,EAAE,mBAAmB,WACtB,CAAC,qBACD,KAAG;;;;;;;;;4BASqB,OAChB,SAAS,UACP,MAAM,OAAO,aACb,MAAM,OAAO,QACf,MAAM,OAAO,oBAAoB;;MAEvC;;IAEF,MAAM;;;;;OAKH,EAAE,wBACH,CAAC,qBACD,KAAG;;;QAGD;;;AAuCR,MAAaA,UAAiC,EAC5C,MACA,mBAEA,OAAO,IACP,WACA,GAAG,uBAEH,oBAAC;CACY;CACL;CACa;CACnB,eAAY;WAEZ,oBAAC;EAAM,YAAY;EAAM,GAAI;GAAoB;EACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/AvatarChooser/index.tsx"],"sourcesContent":[],"mappings":";;;;KAeK,kBAAA;;EAAA,IAAA,CAAA,EAAA,MAAA;EAGQ,QAAA,CAAA,EAAA,aAAA,CAAA,UAAA,CAAA;EACsB,cAAA,CAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,GAAA,IAAA;EAEpB,QAAA,CAAA,EAAT,QAAS,CAAA,QAAA,EAAA,CAAW,QAAX,CAAA,CAAA,GACT,MADS,CAAA,MAAA,EACM,QADN,CACe,QADf,EAAA,CAC0B,QAD1B,CAAA,CAAA,CAAA;EAAW,KAAA,CAAA,EAAA,MAAA;CAApB;AACwB,cA8BjB,aA9BiB,EA8BF,OAAA,CAAM,EA9BJ,CA8BO,kBA9BP,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["AvatarChooser: React.FC<AvatarChooserProps>"],"sources":["../../src/AvatarChooser/index.tsx"],"sourcesContent":["import {\n FlexBox,\n FormError,\n Input,\n TextButton,\n UseFormReturn,\n Validate,\n} from '@codecademy/gamut';\nimport { pxRem, theme } from '@codecademy/gamut-styles';\nimport styled from '@emotion/styled';\nimport { useCallback, useRef, useState } from 'react';\nimport * as React from 'react';\n\nimport { Avatar } from '../Avatar';\n\ntype AvatarChooserProps = {\n src: string;\n name?: string;\n register?: UseFormReturn['register'];\n onImageChanged?: (imageFileList: FileList) => void;\n validate?:\n | Validate<FileList, [FileList]>\n | Record<string, Validate<FileList, [FileList]>>;\n error?: string;\n};\n\nconst baseSize = 75;\nconst smBreakpointSize = 120;\n\nconst StyledAvatar = styled(Avatar)`\n img {\n width: ${pxRem(baseSize)};\n height: ${pxRem(baseSize)};\n }\n\n ${theme.breakpoints.sm} {\n img {\n width: ${pxRem(smBreakpointSize)};\n height: ${pxRem(smBreakpointSize)};\n }\n }\n`;\n\nconst HiddenInput = styled(Input)`\n display: none;\n`;\n\nconst StyledFormError = styled(FormError)`\n position: initial;\n text-align: center;\n`;\n\nexport const AvatarChooser: React.FC<AvatarChooserProps> = ({\n src: existingSrc,\n onImageChanged,\n error,\n register,\n validate = validatePhotoUpload,\n name = 'Avatar Photo',\n}) => {\n const [imageSrc, setImageSrc] = useState<string>(existingSrc);\n const choosePhotoLabelRef = useRef<HTMLLabelElement>(null);\n\n const onChange = useCallback(\n (event: React.FormEvent<HTMLInputElement>) => {\n const target = event?.target as HTMLInputElement;\n const imageFilelist = target?.files;\n const imageFile = imageFilelist?.[0];\n\n if (imageFilelist) onImageChanged?.(imageFilelist);\n if (imageFile) setImageSrc(URL.createObjectURL(imageFile));\n },\n [setImageSrc, onImageChanged]\n );\n\n return (\n <FlexBox\n alignItems=\"center\"\n flexDirection=\"column\"\n justifyContent=\"center\"\n width=\"fit-content\"\n maxWidth={pxRem(120)}\n aria-live=\"polite\"\n >\n <StyledAvatar src={imageSrc} disableDropshadow alt=\"Avatar Photo\" />\n <TextButton\n mt={{ _: 4, sm: 12 }}\n onClick={() => choosePhotoLabelRef.current?.click()}\n >\n {/* https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/label-has-associated-control.md */}\n {/* eslint-disable-next-line jsx-a11y/label-has-associated-control */}\n <label ref={choosePhotoLabelRef} htmlFor=\"avatar-chooser\">\n Choose Photo\n </label>\n </TextButton>\n\n <HiddenInput\n type=\"file\"\n id=\"avatar-chooser\"\n aria-invalid={Boolean(error)}\n name={name}\n onChange={onChange}\n {...register?.(name, {\n onChange,\n validate,\n required: false,\n })}\n />\n {error && <StyledFormError role=\"alert\">{error}</StyledFormError>}\n </FlexBox>\n );\n};\n\nconst validatePhotoUpload = (files: FileList): boolean | string => {\n const MAX_FILE_SIZE = 5242880;\n const MAX_FILE_SIZE_IN_MB = 5;\n\n const file = files?.item(0);\n if (!file) return true;\n\n const { type, size } = file;\n if (!['image/jpeg', 'image/png'].includes(type))\n return 'Please upload a jpeg or png file.';\n\n if (size > MAX_FILE_SIZE)\n return `Sorry, we cannot accept files larger than ${MAX_FILE_SIZE_IN_MB} MB.`;\n\n return true;\n};\n"],"mappings":";;;;;;;;AA0BA,MAAM,WAAW;AACjB,MAAM,mBAAmB;AAEzB,MAAM,eAAe,OAAO,OAAO;;aAEtB,MAAM,SAAS,CAAC;cACf,MAAM,SAAS,CAAC;;;IAG1B,MAAM,YAAY,GAAG;;eAEV,MAAM,iBAAiB,CAAC;gBACvB,MAAM,iBAAiB,CAAC;;;;AAKxC,MAAM,cAAc,OAAO,MAAM;;;AAIjC,MAAM,kBAAkB,OAAO,UAAU;;;;AAKzC,MAAaA,iBAA+C,EAC1D,KAAK,aACL,gBACA,OACA,UACA,WAAW,qBACX,OAAO,qBACH;CACJ,MAAM,CAAC,UAAU,eAAe,SAAiB,YAAY;CAC7D,MAAM,sBAAsB,OAAyB,KAAK;CAE1D,MAAM,WAAW,aACd,UAA6C;EAE5C,MAAM,iBADS,OAAO,SACQ;EAC9B,MAAM,YAAY,gBAAgB;AAElC,MAAI,cAAe,kBAAiB,cAAc;AAClD,MAAI,UAAW,aAAY,IAAI,gBAAgB,UAAU,CAAC;IAE5D,CAAC,aAAa,eAAe,CAC9B;AAED,QACE,qBAAC;EACC,YAAW;EACX,eAAc;EACd,gBAAe;EACf,OAAM;EACN,UAAU,MAAM,IAAI;EACpB,aAAU;;GAEV,oBAAC;IAAa,KAAK;IAAU;IAAkB,KAAI;KAAiB;GACpE,oBAAC;IACC,IAAI;KAAE,GAAG;KAAG,IAAI;KAAI;IACpB,eAAe,oBAAoB,SAAS,OAAO;cAInD,oBAAC;KAAM,KAAK;KAAqB,SAAQ;eAAiB;MAElD;KACG;GAEb,oBAAC;IACC,MAAK;IACL,IAAG;IACH,gBAAc,QAAQ,MAAM;IACtB;IACI;IACV,GAAI,WAAW,MAAM;KACnB;KACA;KACA,UAAU;KACX,CAAC;KACF;GACD,SAAS,oBAAC;IAAgB,MAAK;cAAS;KAAwB;;GACzD;;AAId,MAAM,uBAAuB,UAAsC;CACjE,MAAM,gBAAgB;CACtB,MAAM,sBAAsB;CAE5B,MAAM,OAAO,OAAO,KAAK,EAAE;AAC3B,KAAI,CAAC,KAAM,QAAO;CAElB,MAAM,EAAE,MAAM,SAAS;AACvB,KAAI,CAAC,CAAC,cAAc,YAAY,CAAC,SAAS,KAAK,CAC7C,QAAO;AAET,KAAI,OAAO,cACT,QAAO,6CAA6C,oBAAoB;AAE1E,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/BackToTopAnchor/index.tsx"],"sourcesContent":[],"mappings":";KAGK,oBAAA;EAAA;EAYQ,QAAA,EAAA,MAAA;;;;;;;;;cAAA,iBAAiB,KAAA,CAAM,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["BackToTopAnchor: React.FC<BackToTopAnchorProps>"],"sources":["../../src/BackToTopAnchor/index.tsx"],"sourcesContent":["import { Anchor, FlexBox } from '@codecademy/gamut';\nimport { ArrowUpIcon } from '@codecademy/gamut-icons';\n\ntype BackToTopAnchorProps = {\n /** The id of the element to scroll to */\n targetId: string;\n /** Whether to show the arrow icon */\n showIcon?: boolean;\n /** The size of the anchor */\n size?: 'small' | 'base';\n /** The onClick here usually contains tracking data */\n onClick?: () => void;\n variant?: false | 'inline' | 'standard' | 'interface';\n};\n\nexport const BackToTopAnchor: React.FC<BackToTopAnchorProps> = ({\n targetId,\n showIcon = true,\n size = 'base',\n onClick,\n variant,\n}) => {\n return (\n <Anchor\n onClick={() => {\n // move focus to page title without scrolling page\n document.getElementById(targetId)?.focus({ preventScroll: true });\n\n // scroll to top (or jump to top if user prefers reduced motion)\n window.scrollTo({\n top: 0,\n behavior: window.matchMedia('(prefers-reduced-motion: reduce)')\n .matches\n ? undefined\n : 'smooth',\n });\n\n onClick?.();\n }}\n variant={variant || 'interface'}\n fontSize={size === 'small' ? 14 : 18}\n alignSelf=\"end\"\n mt={64}\n >\n <FlexBox alignItems=\"center\" justifyContent=\"center\">\n {showIcon && <ArrowUpIcon size={24} mr={8} />} Back to top\n </FlexBox>\n </Anchor>\n );\n};\n"],"mappings":";;;;;AAeA,MAAaA,mBAAmD,EAC9D,UACA,WAAW,MACX,OAAO,QACP,SACA,cACI;AACJ,QACE,oBAAC;EACC,eAAe;AAEb,YAAS,eAAe,SAAS,EAAE,MAAM,EAAE,eAAe,MAAM,CAAC;AAGjE,UAAO,SAAS;IACd,KAAK;IACL,UAAU,OAAO,WAAW,mCAAmC,CAC5D,UACC,SACA;IACL,CAAC;AAEF,cAAW;;EAEb,SAAS,WAAW;EACpB,UAAU,SAAS,UAAU,KAAK;EAClC,WAAU;EACV,IAAI;YAEJ,qBAAC;GAAQ,YAAW;GAAS,gBAAe;cACzC,YAAY,oBAAC;IAAY,MAAM;IAAI,IAAI;KAAK,EAAC;IACtC;GACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CountdownTimer.d.ts","names":[],"sources":["../../src/Banner/CountdownTimer.tsx"],"sourcesContent":[],"mappings":";;;UAGU,mBAAA;;EAAA,QAAA,CAAA,EAAA,GAAA,GAAA,IAAA;AAmEV;cAAa,gBAAgB,KAAA,CAAM,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CountdownTimer.js","names":["CountdownTimer: React.FC<CountdownTimerProps>"],"sources":["../../src/Banner/CountdownTimer.tsx"],"sourcesContent":["import { Box, FlexBox, Text } from '@codecademy/gamut';\nimport React, { useEffect, useMemo, useState } from 'react';\n\ninterface CountdownTimerProps {\n targetDate: string;\n onExpire?: () => void;\n}\n\ninterface TimeRemaining {\n days: number;\n hours: number;\n minutes: number;\n seconds: number;\n}\n\nconst MS_SECOND = 1000;\nconst MS_MINUTE = 60 * MS_SECOND;\nconst MS_HOUR = 60 * MS_MINUTE;\nconst MS_DAY = 24 * MS_HOUR;\n\nconst getTimeRemaining = (target: number): TimeRemaining => {\n const diff = Math.max(0, target - Date.now());\n\n return {\n days: Math.floor(diff / MS_DAY),\n hours: Math.floor((diff % MS_DAY) / MS_HOUR),\n minutes: Math.floor((diff % MS_HOUR) / MS_MINUTE),\n seconds: Math.floor((diff % MS_MINUTE) / MS_SECOND),\n };\n};\n\nconst TimeUnit = React.memo<{ value: number; label: string }>(\n ({ value, label }) => (\n <FlexBox alignItems=\"center\">\n <Text\n fontFamily=\"accent\"\n fontWeight={700}\n variant=\"title-md\"\n fontSize={{ _: 20, md: 26 }}\n as=\"span\"\n color=\"inherit\"\n >\n {value.toString().padStart(2, '0')}\n </Text>\n <Text\n fontFamily=\"accent\"\n fontWeight={700}\n variant=\"title-md\"\n fontSize={{ _: 20, md: 26 }}\n as=\"span\"\n color=\"inherit\"\n >\n {label}\n </Text>\n </FlexBox>\n )\n);\n\nconst Separator = React.memo(() => (\n <Text\n fontFamily=\"accent\"\n variant=\"title-md\"\n fontSize={16}\n color=\"inherit\"\n fontWeight=\"bold\"\n >\n :\n </Text>\n));\n\nexport const CountdownTimer: React.FC<CountdownTimerProps> = ({\n targetDate,\n onExpire,\n}) => {\n const targetTimestamp = useMemo(\n () => new Date(targetDate).getTime(),\n [targetDate]\n );\n\n const [timeRemaining, setTimeRemaining] = useState<TimeRemaining>(() =>\n getTimeRemaining(targetTimestamp)\n );\n\n useEffect(() => {\n setTimeRemaining(getTimeRemaining(targetTimestamp));\n\n if (targetTimestamp <= Date.now()) {\n onExpire?.();\n return;\n }\n\n const id = window.setInterval(() => {\n const next = getTimeRemaining(targetTimestamp);\n setTimeRemaining(next);\n\n if (targetTimestamp <= Date.now()) {\n onExpire?.();\n window.clearInterval(id);\n }\n }, MS_SECOND);\n\n return () => window.clearInterval(id);\n }, [targetTimestamp, onExpire]);\n\n if (targetTimestamp <= Date.now()) {\n return null;\n }\n\n const { days, hours, minutes, seconds } = timeRemaining;\n\n return (\n <Box\n display=\"inline-flex\"\n alignItems=\"center\"\n py={8}\n px={16}\n bg=\"yellow-0\"\n borderRadius={6 as never}\n color=\"navy\"\n data-testid=\"branded-countdown-timer\"\n boxShadow=\"minimal\"\n gap={2 as never}\n >\n <TimeUnit value={days} label=\"d\" />\n <Separator />\n <TimeUnit value={hours} label=\"h\" />\n <Separator />\n <TimeUnit value={minutes} label=\"m\" />\n <Separator />\n <TimeUnit value={seconds} label=\"s\" />\n </Box>\n );\n};\n"],"mappings":";;;;;AAeA,MAAM,YAAY;AAClB,MAAM,YAAY,KAAK;AACvB,MAAM,UAAU,KAAK;AACrB,MAAM,SAAS,KAAK;AAEpB,MAAM,oBAAoB,WAAkC;CAC1D,MAAM,OAAO,KAAK,IAAI,GAAG,SAAS,KAAK,KAAK,CAAC;AAE7C,QAAO;EACL,MAAM,KAAK,MAAM,OAAO,OAAO;EAC/B,OAAO,KAAK,MAAO,OAAO,SAAU,QAAQ;EAC5C,SAAS,KAAK,MAAO,OAAO,UAAW,UAAU;EACjD,SAAS,KAAK,MAAO,OAAO,YAAa,UAAU;EACpD;;AAGH,MAAM,WAAW,MAAM,MACpB,EAAE,OAAO,YACR,qBAAC;CAAQ,YAAW;YAClB,oBAAC;EACC,YAAW;EACX,YAAY;EACZ,SAAQ;EACR,UAAU;GAAE,GAAG;GAAI,IAAI;GAAI;EAC3B,IAAG;EACH,OAAM;YAEL,MAAM,UAAU,CAAC,SAAS,GAAG,IAAI;GAC7B,EACP,oBAAC;EACC,YAAW;EACX,YAAY;EACZ,SAAQ;EACR,UAAU;GAAE,GAAG;GAAI,IAAI;GAAI;EAC3B,IAAG;EACH,OAAM;YAEL;GACI;EACC,CAEb;AAED,MAAM,YAAY,MAAM,WACtB,oBAAC;CACC,YAAW;CACX,SAAQ;CACR,UAAU;CACV,OAAM;CACN,YAAW;WACZ;EAEM,CACP;AAEF,MAAaA,kBAAiD,EAC5D,YACA,eACI;CACJ,MAAM,kBAAkB,cAChB,IAAI,KAAK,WAAW,CAAC,SAAS,EACpC,CAAC,WAAW,CACb;CAED,MAAM,CAAC,eAAe,oBAAoB,eACxC,iBAAiB,gBAAgB,CAClC;AAED,iBAAgB;AACd,mBAAiB,iBAAiB,gBAAgB,CAAC;AAEnD,MAAI,mBAAmB,KAAK,KAAK,EAAE;AACjC,eAAY;AACZ;;EAGF,MAAM,KAAK,OAAO,kBAAkB;AAElC,oBADa,iBAAiB,gBAAgB,CACxB;AAEtB,OAAI,mBAAmB,KAAK,KAAK,EAAE;AACjC,gBAAY;AACZ,WAAO,cAAc,GAAG;;KAEzB,UAAU;AAEb,eAAa,OAAO,cAAc,GAAG;IACpC,CAAC,iBAAiB,SAAS,CAAC;AAE/B,KAAI,mBAAmB,KAAK,KAAK,CAC/B,QAAO;CAGT,MAAM,EAAE,MAAM,OAAO,SAAS,YAAY;AAE1C,QACE,qBAAC;EACC,SAAQ;EACR,YAAW;EACX,IAAI;EACJ,IAAI;EACJ,IAAG;EACH,cAAc;EACd,OAAM;EACN,eAAY;EACZ,WAAU;EACV,KAAK;;GAEL,oBAAC;IAAS,OAAO;IAAM,OAAM;KAAM;GACnC,oBAAC,cAAY;GACb,oBAAC;IAAS,OAAO;IAAO,OAAM;KAAM;GACpC,oBAAC,cAAY;GACb,oBAAC;IAAS,OAAO;IAAS,OAAM;KAAM;GACtC,oBAAC,cAAY;GACb,oBAAC;IAAS,OAAO;IAAS,OAAM;KAAM;;GAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnhancedBanner.d.ts","names":[],"sources":["../../src/Banner/EnhancedBanner.tsx"],"sourcesContent":[],"mappings":";;;;UAiBiB,mBAAA,SACP,KAAK;YACH;EAFK,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACF,UAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACH,YAAA,CAAA,EAAA,MAAA;EADF,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAAI,SAAA,CAAA,EAAA,MAAA,GAAA,IAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnhancedBanner.js","names":["EnhancedBanner: React.FC<EnhancedBannerProps>","variant"],"sources":["../../src/Banner/EnhancedBanner.tsx"],"sourcesContent":["import {\n Box,\n FillButton,\n FlexBox,\n IconButton,\n Markdown,\n Text,\n} from '@codecademy/gamut';\nimport { MiniDeleteIcon } from '@codecademy/gamut-icons';\nimport { Background, BackgroundProps, css } from '@codecademy/gamut-styles';\nimport { useTheme } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { useMemo } from 'react';\n\nimport { BannerVariant } from '.';\nimport { CountdownTimer } from './CountdownTimer';\n\nexport interface EnhancedBannerProps\n extends Omit<BackgroundProps, 'bg' | 'containerType'> {\n variant?: BannerVariant | null;\n onClose?: () => void;\n onCtaClick?: () => void;\n ctaAriaLabel?: string;\n header?: string | null;\n subheader?: string | null;\n cta?: { title: string; href: string } | null;\n countdownTo?: string | null;\n onCountdownExpire?: () => void;\n}\n\nconst bannerVariants = {\n navy: 'navy',\n yellow: 'yellow',\n subtle: 'background-hover',\n} as const;\n\nconst bannerStyles = {\n width: '100%',\n p: 4,\n display: 'grid',\n gridTemplateColumns: '2rem minmax(0, 1fr) 2rem',\n gridTemplateAreas: \"'empty content close'\",\n columnGap: 8,\n alignItems: 'center',\n textAlign: 'center',\n} as const;\n\nconst BannerBg = styled(Background)(css(bannerStyles));\nconst BannerBox = styled(Box)(css(bannerStyles));\n\nconst StyledMarkdown = styled(Markdown)`\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n`;\n\nconst StyledTitle = styled(StyledMarkdown)`\n p {\n font-size: 22px;\n font-weight: 700;\n }\n`;\n\nconst StyledSubheader = styled(StyledMarkdown)`\n p {\n font-size: 16px;\n }\n`;\n\nexport const EnhancedBanner: React.FC<EnhancedBannerProps> = ({\n variant = 'navy',\n onClose,\n onCtaClick,\n ctaAriaLabel,\n header,\n subheader,\n cta,\n countdownTo,\n onCountdownExpire,\n ...rest\n}) => {\n const validCta = useMemo(\n () => (cta && cta.title && cta.href ? cta : undefined),\n [cta]\n );\n const { mode } = useTheme();\n const isDarkMode = mode === 'dark';\n\n if (!header) return null;\n\n const renderEnhanced = () => {\n const textBlock = (\n <Box textAlign={{ _: 'center', md: 'left' }} width=\"100%\">\n <StyledTitle text={header} />\n {subheader && <StyledSubheader text={subheader} />}\n </Box>\n );\n\n return (\n <FlexBox\n flexDirection={{ _: 'column', md: 'row' }}\n alignItems=\"center\"\n justifyContent=\"center\"\n width=\"100%\"\n p={8}\n gap={{ _: 16, md: 40 }}\n >\n <FlexBox gap={16} alignItems=\"center\">\n {countdownTo && (\n <CountdownTimer\n targetDate={countdownTo}\n onExpire={onCountdownExpire}\n />\n )}\n {validCta && (\n <Box display={{ _: 'flex', md: 'none' }} ml={0}>\n <FillButton\n variant=\"primary\"\n href={validCta.href}\n onClick={onCtaClick}\n >\n {validCta.title}\n </FillButton>\n </Box>\n )}\n </FlexBox>\n\n <Text maxWidth={{ _: '100%', md: '50%' }}>{textBlock}</Text>\n\n {validCta && (\n <Box display={{ _: 'none', md: 'flex' }}>\n <FillButton\n variant={isDarkMode ? 'secondary' : 'primary'}\n href={validCta.href}\n onClick={onCtaClick}\n >\n {validCta.title}\n </FillButton>\n </Box>\n )}\n </FlexBox>\n );\n };\n\n const backgroundVariant = isDarkMode ? 'yellow' : variant;\n const Container = backgroundVariant === 'subtle' ? BannerBox : BannerBg;\n\n return (\n <Container {...rest} bg={bannerVariants[backgroundVariant ?? 'navy']}>\n <Box gridArea=\"content\" fontSize=\"inherit\">\n {renderEnhanced()}\n </Box>\n {onClose && (\n <Box gridArea=\"close\" alignSelf=\"center\">\n <IconButton\n variant=\"secondary\"\n size=\"small\"\n icon={MiniDeleteIcon}\n onClick={onClose}\n tip=\"Close banner\"\n tipProps={{ alignment: 'left-center' }}\n />\n </Box>\n )}\n </Container>\n );\n};\n"],"mappings":";;;;;;;;;;AA8BA,MAAM,iBAAiB;CACrB,MAAM;CACN,QAAQ;CACR,QAAQ;CACT;AAED,MAAM,eAAe;CACnB,OAAO;CACP,GAAG;CACH,SAAS;CACT,qBAAqB;CACrB,mBAAmB;CACnB,WAAW;CACX,YAAY;CACZ,WAAW;CACZ;AAED,MAAM,WAAW,OAAO,WAAW,CAAC,IAAI,aAAa,CAAC;AACtD,MAAM,YAAY,OAAO,IAAI,CAAC,IAAI,aAAa,CAAC;AAEhD,MAAM,iBAAiB,OAAO,SAAS;;;;;;;AAQvC,MAAM,cAAc,OAAO,eAAe;;;;;;AAO1C,MAAM,kBAAkB,OAAO,eAAe;;;;;AAM9C,MAAaA,kBAAiD,EAC5D,qBAAU,QACV,SACA,YACA,cACA,QACA,WACA,KACA,aACA,mBACA,GAAG,WACC;CACJ,MAAM,WAAW,cACR,OAAO,IAAI,SAAS,IAAI,OAAO,MAAM,QAC5C,CAAC,IAAI,CACN;CACD,MAAM,EAAE,SAAS,UAAU;CAC3B,MAAM,aAAa,SAAS;AAE5B,KAAI,CAAC,OAAQ,QAAO;CAEpB,MAAM,uBAAuB;EAC3B,MAAM,YACJ,qBAAC;GAAI,WAAW;IAAE,GAAG;IAAU,IAAI;IAAQ;GAAE,OAAM;cACjD,oBAAC,eAAY,MAAM,SAAU,EAC5B,aAAa,oBAAC,mBAAgB,MAAM,YAAa;IAC9C;AAGR,SACE,qBAAC;GACC,eAAe;IAAE,GAAG;IAAU,IAAI;IAAO;GACzC,YAAW;GACX,gBAAe;GACf,OAAM;GACN,GAAG;GACH,KAAK;IAAE,GAAG;IAAI,IAAI;IAAI;;IAEtB,qBAAC;KAAQ,KAAK;KAAI,YAAW;gBAC1B,eACC,oBAAC;MACC,YAAY;MACZ,UAAU;OACV,EAEH,YACC,oBAAC;MAAI,SAAS;OAAE,GAAG;OAAQ,IAAI;OAAQ;MAAE,IAAI;gBAC3C,oBAAC;OACC,SAAQ;OACR,MAAM,SAAS;OACf,SAAS;iBAER,SAAS;QACC;OACT;MAEA;IAEV,oBAAC;KAAK,UAAU;MAAE,GAAG;MAAQ,IAAI;MAAO;eAAG;MAAiB;IAE3D,YACC,oBAAC;KAAI,SAAS;MAAE,GAAG;MAAQ,IAAI;MAAQ;eACrC,oBAAC;MACC,SAAS,aAAa,cAAc;MACpC,MAAM,SAAS;MACf,SAAS;gBAER,SAAS;OACC;MACT;;IAEA;;CAId,MAAM,oBAAoB,aAAa,WAAWC;AAGlD,QACE,qBAHgB,sBAAsB,WAAW,YAAY;EAGlD,GAAI;EAAM,IAAI,eAAe,qBAAqB;aAC3D,oBAAC;GAAI,UAAS;GAAU,UAAS;aAC9B,gBAAgB;IACb,EACL,WACC,oBAAC;GAAI,UAAS;GAAQ,WAAU;aAC9B,oBAAC;IACC,SAAQ;IACR,MAAK;IACL,MAAM;IACN,SAAS;IACT,KAAI;IACJ,UAAU,EAAE,WAAW,eAAe;KACtC;IACE;GAEE"}
|
package/dist/Banner/index.d.ts
CHANGED
|
@@ -21,4 +21,5 @@ interface BannerProps extends Omit<BackgroundProps, 'bg' | 'containerType'> {
|
|
|
21
21
|
}
|
|
22
22
|
declare const Banner: React$1.FC<BannerProps>;
|
|
23
23
|
//#endregion
|
|
24
|
-
export { Banner, BannerProps, BannerVariant };
|
|
24
|
+
export { Banner, BannerProps, BannerVariant };
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/Banner/index.tsx"],"sourcesContent":[],"mappings":";;;;;KAOY,aAAA,gBAA6B;cACnC;EADM,SAAA,IAAA,EAAA,MAAa;EACnB,SAAA,MAAA,EAII,QAAA;EAOO,SAAA,MACf,EAAA,kBAAA;CAAa;AACH,UAFK,WAAA,SACP,IACE,CADG,eACH,EAAA,IAAA,GAAA,eAAA,CAAA,CAAA;EAEA,QAAA,EAFA,SAEA,GAAA,MAAA;EAHF;EAAI,OAAA,CAAA,EAGF,aAHE,GAAA,IAAA;EAkDD;;;;;;cAAA,QAAQ,OAAA,CAAM,GAAG"}
|
package/dist/Banner/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["variant","Banner: React.FC<BannerProps>","safeVariant: BannerVariant"],"sources":["../../src/Banner/index.tsx"],"sourcesContent":["import { Box, IconButton, Markdown, TextButton } from '@codecademy/gamut';\nimport { MiniDeleteIcon } from '@codecademy/gamut-icons';\nimport { Background, BackgroundProps, css } from '@codecademy/gamut-styles';\nimport styled from '@emotion/styled';\nimport { ReactNode, useMemo } from 'react';\nimport * as React from 'react';\n\nexport type BannerVariant = keyof typeof bannerVariants;\nconst bannerVariants = {\n navy: 'navy',\n yellow: 'yellow',\n subtle: 'background-hover',\n} as const;\n\nconst isAllowedVariant = (\n variant: string | undefined | null\n): variant is BannerVariant =>\n Object.keys(bannerVariants).includes(variant as BannerVariant);\n\nexport interface BannerProps\n extends Omit<BackgroundProps, 'bg' | 'containerType'> {\n children: ReactNode | string;\n /** Visual variation for banners, defaults to navy */\n variant?: BannerVariant | null;\n /** Callback called when the user closes the banner. */\n onClose?: () => void;\n /** Call to action click callback */\n onCtaClick?: () => void;\n ctaAriaLabel?: string;\n}\n\nconst bannerStyles = {\n width: '100%',\n p: 4,\n display: 'grid',\n gridTemplateColumns: '2rem minmax(0, 1fr) 2rem',\n gridTemplateAreas: \"'empty content close'\",\n columnGap: 8,\n alignItems: 'center',\n textAlign: 'center',\n} as const;\n\nconst BannerContainerBackground = styled(Background)(css(bannerStyles));\n\nconst BannerContainerBox = styled(Box)(css(bannerStyles));\n\nconst BannerMarkdown = styled(Markdown)(css({ fontSize: 'inherit' }));\n\nconst bindBannerAnchor = (\n onCtaClick?: BannerProps['onCtaClick'],\n ctaAriaLabel?: string\n) => ({\n allowedAttributes: ['href', 'target'],\n component: TextButton,\n processNode: (_node: unknown, props: { onClick?: () => void }) => (\n <TextButton\n {...props}\n onClick={() => {\n onCtaClick?.();\n props?.onClick?.();\n }}\n mx={4}\n size=\"small\"\n target=\"_BLANK\"\n aria-label={ctaAriaLabel}\n display={{ _: 'block', xs: 'inline-flex' }}\n />\n ),\n});\n\nexport const Banner: React.FC<BannerProps> = ({\n children,\n ctaAriaLabel,\n variant = 'navy',\n onCtaClick,\n onClose,\n ...rest\n}) => {\n const overrides = useMemo(\n () => ({\n a: bindBannerAnchor(onCtaClick, ctaAriaLabel),\n }),\n [onCtaClick, ctaAriaLabel]\n );\n\n // Contentful is unable to programmatically communicate what values it does/doesn't allow in these kinds of fields,\n // which makes it difficult for us to ensure the Contentful configuration hasn't diverged from Gamut restrictions.\n const safeVariant: BannerVariant = isAllowedVariant(variant)\n ? variant\n : 'navy';\n\n const BannerContainer =\n safeVariant === 'subtle' ? BannerContainerBox : BannerContainerBackground;\n\n return (\n <BannerContainer {...rest} bg={bannerVariants[safeVariant]}>\n <Box gridArea=\"content\" fontSize=\"inherit\">\n {typeof children === 'string' ? (\n <BannerMarkdown\n overrides={overrides}\n text={children}\n skipDefaultOverrides={{ a: true }}\n />\n ) : (\n children\n )}\n </Box>\n {onClose && (\n <Box gridArea=\"close\" alignSelf=\"start\">\n <IconButton\n variant=\"secondary\"\n size=\"small\"\n icon={MiniDeleteIcon}\n onClick={onClose}\n tip=\"Close banner\"\n tipProps={{ alignment: 'bottom-center', placement: 'floating' }}\n />\n </Box>\n )}\n </BannerContainer>\n );\n};\n"],"mappings":";;;;;;;;AAQA,MAAM,iBAAiB;CACrB,MAAM;CACN,QAAQ;CACR,QAAQ;CACT;AAED,MAAM,oBACJ,cAEA,OAAO,KAAK,eAAe,CAAC,SAASA,UAAyB;AAchE,MAAM,eAAe;CACnB,OAAO;CACP,GAAG;CACH,SAAS;CACT,qBAAqB;CACrB,mBAAmB;CACnB,WAAW;CACX,YAAY;CACZ,WAAW;CACZ;AAED,MAAM,4BAA4B,OAAO,WAAW,CAAC,IAAI,aAAa,CAAC;AAEvE,MAAM,qBAAqB,OAAO,IAAI,CAAC,IAAI,aAAa,CAAC;AAEzD,MAAM,iBAAiB,OAAO,SAAS,CAAC,IAAI,EAAE,UAAU,WAAW,CAAC,CAAC;AAErE,MAAM,oBACJ,YACA,kBACI;CACJ,mBAAmB,CAAC,QAAQ,SAAS;CACrC,WAAW;CACX,cAAc,OAAgB,UAC5B,oBAAC;EACC,GAAI;EACJ,eAAe;AACb,iBAAc;AACd,UAAO,WAAW;;EAEpB,IAAI;EACJ,MAAK;EACL,QAAO;EACP,cAAY;EACZ,SAAS;GAAE,GAAG;GAAS,IAAI;GAAe;GAC1C;CAEL;AAED,MAAaC,UAAiC,EAC5C,UACA,cACA,qBAAU,QACV,YACA,SACA,GAAG,WACC;CACJ,MAAM,YAAY,eACT,EACL,GAAG,iBAAiB,YAAY,aAAa,EAC9C,GACD,CAAC,YAAY,aAAa,CAC3B;CAID,MAAMC,cAA6B,iBAAiBF,UAAQ,GACxDA,YACA;AAKJ,QACE,qBAHA,gBAAgB,WAAW,qBAAqB;EAG/B,GAAI;EAAM,IAAI,eAAe;aAC5C,oBAAC;GAAI,UAAS;GAAU,UAAS;aAC9B,OAAO,aAAa,WACnB,oBAAC;IACY;IACX,MAAM;IACN,sBAAsB,EAAE,GAAG,MAAM;KACjC,GAEF;IAEE,EACL,WACC,oBAAC;GAAI,UAAS;GAAQ,WAAU;aAC9B,oBAAC;IACC,SAAQ;IACR,MAAK;IACL,MAAM;IACN,SAAS;IACT,KAAI;IACJ,UAAU;KAAE,WAAW;KAAiB,WAAW;KAAY;KAC/D;IACE;GAEQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/BetaSticker/index.tsx"],"sourcesContent":[],"mappings":";;;KA2BK,gBAAA;;AAzB0B,CAAA;AA6BlB,cAAA,WAAsB,EAAT,OAAA,CAAM,EAAG,CAAA,gBAAD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["BetaSticker: React.FC<BetaStickerProps>"],"sources":["../../src/BetaSticker/index.tsx"],"sourcesContent":["import { variant } from '@codecademy/gamut-styles';\nimport styled from '@emotion/styled';\nimport * as React from 'react';\n\nconst BetaStickerContainer = styled.svg(\n variant({\n defaultVariant: 'normal',\n base: {\n lineHeight: 0,\n },\n variants: {\n small: {\n height: 16,\n width: 32,\n },\n normal: {\n height: 26,\n width: 52,\n },\n medium: {\n height: 22,\n width: 42,\n },\n },\n })\n);\n\ntype BetaStickerProps = {\n size?: 'normal' | 'small' | 'medium';\n};\n\nexport const BetaSticker: React.FC<BetaStickerProps> = ({\n size = 'normal',\n}) => {\n return (\n <BetaStickerContainer\n variant={size}\n viewBox=\"0 0 52 27\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <title>Beta</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2 0.5H0V24.5V26.5H2H52V24.5H2V0.5Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M8 19.1H11.792C14.256 19.1 15.936 18.092 15.936 15.5C15.936 14.092 15.232 13.292 14.288 12.876C15.056 12.348 15.536 11.484 15.536 10.492C15.536 8.076 13.84 7.5 11.6 7.5H8V19.1ZM10.4 12.268V9.452H11.568C12.544 9.452 13.024 9.932 13.024 10.86C13.024 11.788 12.544 12.268 11.568 12.268H10.4ZM13.392 15.58C13.392 16.604 12.88 17.116 11.696 17.116H10.4V14.028H11.696C12.88 14.028 13.392 14.54 13.392 15.58Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M18.5677 19.1H25.5917V17.036H20.9677V14.204H25.2717V12.14H20.9677V9.564H25.5917V7.5H18.5677V19.1Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M31.1675 19.1H33.5675V9.564H36.8475V7.5H27.8875V9.564H31.1675V19.1Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M38.2312 19.1H40.7913L41.3193 16.684H44.0393L44.5673 19.1H47.1913L44.1992 7.5H41.2073L38.2312 19.1ZM42.6953 10.556L43.6233 14.812H41.7353L42.6953 10.556Z\"\n fill=\"currentColor\"\n />\n </BetaStickerContainer>\n );\n};\n"],"mappings":";;;;;;AAIA,MAAM,uBAAuB,OAAO,IAClC,QAAQ;CACN,gBAAgB;CAChB,MAAM,EACJ,YAAY,GACb;CACD,UAAU;EACR,OAAO;GACL,QAAQ;GACR,OAAO;GACR;EACD,QAAQ;GACN,QAAQ;GACR,OAAO;GACR;EACD,QAAQ;GACN,QAAQ;GACR,OAAO;GACR;EACF;CACF,CAAC,CACH;AAMD,MAAaA,eAA2C,EACtD,OAAO,eACH;AACJ,QACE,qBAAC;EACC,SAAS;EACT,SAAQ;EACR,MAAK;EACL,OAAM;;GAEN,oBAAC,qBAAM,SAAY;GACnB,oBAAC;IACC,UAAS;IACT,UAAS;IACT,GAAE;IACF,MAAK;KACL;GACF,oBAAC;IACC,GAAE;IACF,MAAK;KACL;GACF,oBAAC;IACC,GAAE;IACF,MAAK;KACL;GACF,oBAAC;IACC,GAAE;IACF,MAAK;KACL;GACF,oBAAC;IACC,GAAE;IACF,MAAK;KACL;;GACmB"}
|
|
@@ -23,4 +23,5 @@ type CareerPathCardProps = {
|
|
|
23
23
|
};
|
|
24
24
|
declare const CareerPathCard: react1.ForwardRefExoticComponent<CareerPathCardProps & react1.RefAttributes<HTMLAnchorElement>>;
|
|
25
25
|
//#endregion
|
|
26
|
-
export { CareerPathCard };
|
|
26
|
+
export { CareerPathCard };
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/CareerPathCard/index.tsx"],"sourcesContent":[],"mappings":";;;;;KAcK,mBAAA;;;EAAA,gBAAA,EAGe,gBAHI;EAGJ,gBAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAEL,UAAA,CAAA,EAAA,gBAAA,GAAA,IAAA;EAKE,gBAAA,CAAA,EAAA,OAAA;EAEN,QAAM,EAAA,MAAA;EACN,WAAM,EAAA,MAAA;EAAS,UAAA,CAAA,EAAA,OAAA;EAMb,YAAA,CAAA,EATI,WA4DhB;EAnD0B,cAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAAA,MAAA,CAAA,EAPhB,KAAA,CAAM,SAOU;EAAA,MAAA,CAAA,EANhB,KAAA,CAAM,SAMU;EAAA,YAAA,CAAA,EAAA,OAAA;EAAA,IAAA,EAAA,MAAA;;;cAAd,gBAAc,MAAA,CAAA,0BAAA,sBAAA,MAAA,CAAA,cAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/CareerPathCard/index.tsx"],"sourcesContent":["import { HeadingTags } from '@codecademy/gamut';\nimport { forwardRef, PropsWithRef } from 'react';\n\nimport { getPathImageUrl } from '../ContentGroupBaseCard/helpers';\nimport { ContentGroupBaseCard } from '../ContentGroupBaseCard/index';\nimport {\n CertificateComponent,\n CourseCountComponent,\n} from '../ContentGroupBaseCard/shared';\nimport {\n CourseDifficulty,\n EnrollmentStatus,\n} from '../ContentGroupBaseCard/types';\n\ntype CareerPathCardProps = {\n title: string;\n lessonCount: number;\n enrollmentStatus: EnrollmentStatus;\n shortDescription?: string | null;\n difficulty?: CourseDifficulty | null;\n hasCareerJourney?: boolean;\n imageUrl: string;\n courseCount: number;\n isFullSize?: boolean;\n headingLevel?: HeadingTags;\n timeToComplete?: number | null;\n header?: React.ReactNode;\n footer?: React.ReactNode;\n openInNewTab?: boolean;\n href: string;\n onClick: () => void;\n};\n\nexport const CareerPathCard = forwardRef<\n HTMLAnchorElement,\n PropsWithRef<CareerPathCardProps>\n>(\n (\n {\n imageUrl,\n courseCount,\n shortDescription,\n difficulty,\n enrollmentStatus,\n lessonCount,\n title,\n isFullSize,\n hasCareerJourney,\n headingLevel = 'h3',\n timeToComplete,\n header,\n footer,\n openInNewTab = false,\n href,\n onClick,\n },\n ref\n ) => {\n return (\n <ContentGroupBaseCard\n headerBackgroundColor=\"navy\"\n headerText=\"Career path\"\n title={title}\n headingLevel={headingLevel}\n description={shortDescription}\n difficulty={difficulty}\n numLessons={lessonCount}\n shadow=\"outline\"\n imageSrc={getPathImageUrl(enrollmentStatus, imageUrl)}\n isFullSize={isFullSize}\n enrollmentStatus={enrollmentStatus}\n timeToComplete={timeToComplete}\n header={header}\n footer={footer}\n href={href}\n openInNewTab={openInNewTab}\n onClick={onClick}\n ref={ref}\n >\n <CourseCountComponent count={courseCount} />\n <CertificateComponent professionalCert={!!hasCareerJourney} />\n </ContentGroupBaseCard>\n );\n }\n);\n"],"mappings":";;;;;;;AAiCA,MAAa,iBAAiB,YAK1B,EACE,UACA,aACA,kBACA,YACA,kBACA,aACA,OACA,YACA,kBACA,eAAe,MACf,gBACA,QACA,QACA,eAAe,OACf,MACA,WAEF,QACG;AACH,QACE,qBAAC;EACC,uBAAsB;EACtB,YAAW;EACJ;EACO;EACd,aAAa;EACD;EACZ,YAAY;EACZ,QAAO;EACP,UAAU,gBAAgB,kBAAkB,SAAS;EACzC;EACM;EACF;EACR;EACA;EACF;EACQ;EACL;EACJ;aAEL,oBAAC,wBAAqB,OAAO,cAAe,EAC5C,oBAAC,wBAAqB,kBAAkB,CAAC,CAAC,mBAAoB;GACzC;EAG5B"}
|
|
@@ -7,4 +7,5 @@ const arrowButtonStates = states({ disabled: { borderColor: "background-disabled
|
|
|
7
7
|
const ArrowButton = styled(IconButton)(css({ borderColor: "currentColor" }), arrowButtonStates);
|
|
8
8
|
|
|
9
9
|
//#endregion
|
|
10
|
-
export { ArrowButton };
|
|
10
|
+
export { ArrowButton };
|
|
11
|
+
//# sourceMappingURL=elements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elements.js","names":[],"sources":["../../src/Carousel/elements.tsx"],"sourcesContent":["import { IconButton } from '@codecademy/gamut';\nimport { css, states } from '@codecademy/gamut-styles';\nimport { StyleProps } from '@codecademy/variance';\nimport styled from '@emotion/styled';\n\nconst arrowButtonStates = states({\n disabled: { borderColor: 'background-disabled' },\n});\nexport const ArrowButton = styled(IconButton)<\n StyleProps<typeof arrowButtonStates>\n>(css({ borderColor: 'currentColor' }), arrowButtonStates);\n"],"mappings":";;;;;AAKA,MAAM,oBAAoB,OAAO,EAC/B,UAAU,EAAE,aAAa,uBAAuB,EACjD,CAAC;AACF,MAAa,cAAc,OAAO,WAAW,CAE3C,IAAI,EAAE,aAAa,gBAAgB,CAAC,EAAE,kBAAkB"}
|
package/dist/Carousel/index.d.ts
CHANGED
|
@@ -25,4 +25,5 @@ declare const PatternedContainer: React.FC<React.PropsWithChildren<{
|
|
|
25
25
|
}>>;
|
|
26
26
|
declare const Carousel: React.FC<CarouselProps>;
|
|
27
27
|
//#endregion
|
|
28
|
-
export { Carousel, PatternedContainer };
|
|
28
|
+
export { Carousel, PatternedContainer };
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/Carousel/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;KAuBK,UAAA,gBAA0B;KAE1B,aAAA;EAFA,KAAA,EAGI,GAAA,CAAI,OAHE,EAAA;EAEV,YAAA,CAAA,EAAA,CAAa,KAAA,EAEO,aAFP,EAAA,GAAA,IAAA;EACT,OAAI,CAAA,EAED,OAFC;EACY,mBAAA,CAAA,EAAA,OAAA;EACb,WAAA,CAAA,EAAA,OAAA;EAGgB,gBAAA,CAAA,EAAP,MAAO,CAAA,UAAA,EAAA,OAAA,CAAA,GAAA,CAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,OAAA,CAAA;EAAP,aAAA,CAAA,EAAA,KAAA,GAAA,QAAA;EAEX,KAAI,CAAA,EAAJ,GAAA,CAAI,OAAA;EAAO,OAAA,CAAA,EAAA,cAAA,GAAA,aAAA;AA+CrB,CAAA;AAGe,cAHF,kBAGE,EAHkB,KAAA,CAAM,EAGxB,CAFb,KAAA,CAAM,iBAEO,CAAA;EAFb,EAAA,CAAM,EAEC,KAAA,CAAM,WAFP,CAAA,GAAA,CAAA;EADyB,aAAM,CAAA,EAAA,OAAA;EAAE,WAAA,CAAA,EAAA,OAAA;EAwC5B,YA6JZ,CAAA,EAAA,OAAA;;cA7JY,UAAU,KAAA,CAAM,GAAG"}
|
package/dist/Carousel/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["SplideTrack","UnstyledSplideTrack","SplideSlide","UnstyledSplideSlide","PatternedContainer: React.FC<\n React.PropsWithChildren<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n as?: React.ElementType<any>;\n bottomPadding?: boolean;\n leftPadding?: boolean;\n overflowAuto?: boolean;\n }>\n>","Carousel: React.FC<CarouselProps>","arrowDisplay: BoxProps['display']","variant","index","showArrowDisplay"],"sources":["../../src/Carousel/index.tsx"],"sourcesContent":["// eslint-disable-next-line gamut/no-css-standalone\nimport '@splidejs/splide/dist/css/splide.min.css';\n\nimport { Box, BoxProps, FlexBox } from '@codecademy/gamut';\nimport {\n MiniChevronLeftIcon,\n MiniChevronRightIcon,\n} from '@codecademy/gamut-icons';\nimport { CheckerDense } from '@codecademy/gamut-patterns';\nimport { breakpoints } from '@codecademy/gamut-styles';\nimport { UserClickData } from '@codecademy/tracking';\nimport isPropValid from '@emotion/is-prop-valid';\nimport styled from '@emotion/styled';\nimport {\n Options,\n Splide,\n SplideSlide as UnstyledSplideSlide,\n SplideTrack as UnstyledSplideTrack,\n} from '@splidejs/react-splide';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { ArrowButton } from './elements';\n\ntype Breakpoint = keyof typeof breakpoints;\n\ntype CarouselProps = {\n items: JSX.Element[];\n onArrowClick?: (props: UserClickData) => void;\n options?: Options;\n patternedBackground?: boolean;\n leftPadding?: boolean;\n showArrowDisplay?: Record<Breakpoint, boolean> | ((count: number) => boolean);\n arrowPosition?: 'top' | 'bottom';\n title?: JSX.Element;\n variant?: 'catalog_home' | 'catalog_hub';\n};\n\nconst CarouselWrapper = styled(Box)`\n transform: translateX(-1rem);\n width: calc(100% + 2rem);\n`;\n\nconst SplideTrack = styled(UnstyledSplideTrack, {\n shouldForwardProp: isPropValid,\n})`\n padding-top: ${(props: { patternedBackground?: boolean }) =>\n props.patternedBackground ? '1rem' : '0'};\n padding-bottom: ${(props: { patternedBackground?: boolean }) =>\n props.patternedBackground ? '2rem' : '0'};\n`;\n\nconst SplideSlide = styled(UnstyledSplideSlide, {\n shouldForwardProp: isPropValid,\n})`\n display: flex;\n flex-shrink: ${(props: { noShrink?: boolean }) =>\n props.noShrink ? 'initial' : 0};\n`;\n\nconst defaultOptions = {\n gap: '2rem',\n perPage: 3,\n pagination: false,\n keyboard: false,\n slideFocus: false,\n arrows: false,\n perMove: 2,\n padding: '1rem',\n breakpoints: {\n [parseInt(breakpoints.md, 10)]: {\n perPage: 2,\n perMove: 1,\n },\n },\n};\n\nconst StyledBox = styled(FlexBox)`\n list-style-type: none;\n`;\n\nexport const PatternedContainer: React.FC<\n React.PropsWithChildren<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n as?: React.ElementType<any>;\n bottomPadding?: boolean;\n leftPadding?: boolean;\n overflowAuto?: boolean;\n }>\n> = ({ as, children, bottomPadding, leftPadding, overflowAuto }) => {\n return (\n <Box position=\"relative\" py={24} px={8}>\n <Box\n borderRadius=\"lg\"\n overflow=\"hidden\"\n position=\"absolute\"\n top={0}\n bottom={0}\n left={0}\n width=\"100%\"\n zIndex={0}\n >\n <CheckerDense />\n </Box>\n <StyledBox\n as={as}\n columnGap={64}\n position=\"relative\"\n overflowX={overflowAuto ? 'auto' : 'hidden'}\n pt={16}\n pb={bottomPadding ? 24 : 0}\n pl={{ xl: leftPadding ? 16 : 0 }}\n m={0}\n zIndex={1}\n >\n {children}\n </StyledBox>\n </Box>\n );\n};\n\nexport const Carousel: React.FC<CarouselProps> = ({\n items,\n leftPadding = false,\n onArrowClick,\n options: optionsProp = {},\n patternedBackground = false,\n showArrowDisplay,\n arrowPosition = 'top',\n title,\n variant = 'catalog_home',\n}) => {\n const ref = useRef<Splide | null>(null);\n const [index, setIndex] = useState(0);\n const [lastIndex, setLastIndex] = useState<number | null>();\n\n // required in the case where items conditionally update (i.e. loading cards to actual cards)\n useEffect(() => {\n if (ref.current?.splide?.options.perPage) {\n setLastIndex(items.length - ref.current.splide.options.perPage);\n } else {\n setLastIndex(items.length);\n }\n }, [items, ref.current?.splide?.options.perPage]);\n\n const options = useMemo(() => {\n return {\n ...defaultOptions,\n ...optionsProp,\n };\n }, [optionsProp]);\n\n const arrowDisplay: BoxProps['display'] = useMemo(() => {\n switch (items.length) {\n case 1:\n case 2:\n return 'none';\n default:\n return 'flex';\n }\n }, [items]);\n\n const onClickForward = () => {\n onArrowClick?.({ target: 'forward_arrow' });\n ref.current?.go('>');\n };\n const onClickBack = () => {\n onArrowClick?.({ target: 'backward_arrow' });\n ref.current?.go('<');\n };\n const determineLastIndex = (perPage: number) => {\n setLastIndex(items.length - perPage);\n };\n\n const isCatalogHubVariant = variant === 'catalog_hub';\n\n const CarouselContent = (\n <Splide\n onMove={({ index }) => setIndex(index)}\n onUpdated={(splide) => {\n if (splide.options.perPage) determineLastIndex(splide.options.perPage);\n }}\n onMounted={(splide) => {\n if (splide.options.perPage) determineLastIndex(splide.options.perPage);\n if (splide.options.autoplay) {\n splide.Components.Autoplay.play();\n }\n }}\n hasTrack={false}\n ref={ref}\n options={{ ...options }}\n >\n <SplideTrack patternedBackground={patternedBackground}>\n {items.map((item, index) => (\n <SplideSlide\n noShrink={items.length === 1 && options.perPage !== 1}\n // index should be ok since order should not change\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n >\n {item}\n </SplideSlide>\n ))}\n </SplideTrack>\n </Splide>\n );\n\n const shouldDisplayArrow = (\n showArrowDisplay?: CarouselProps['showArrowDisplay']\n ) => {\n if (showArrowDisplay) {\n if (typeof showArrowDisplay === 'function') {\n return showArrowDisplay(items.length) ? 'flex' : 'none';\n }\n const displayProps = { _: '', xs: '', sm: '', md: '', lg: '', xl: '' };\n Object.keys(displayProps).forEach((screensize: Breakpoint) => {\n displayProps[screensize] =\n isCatalogHubVariant || showArrowDisplay?.[screensize]\n ? 'flex'\n : arrowDisplay;\n });\n return displayProps;\n }\n\n return isCatalogHubVariant ? 'flex' : arrowDisplay;\n };\n\n const arrows = (\n <Box display={shouldDisplayArrow(showArrowDisplay)} pr={0}>\n <ArrowButton\n disabled={index === 0}\n icon={MiniChevronLeftIcon}\n mr={8}\n onClick={onClickBack}\n px={4}\n tip=\"Scroll backward\"\n tipProps={{ placement: 'floating' }}\n />\n <ArrowButton\n disabled={index === lastIndex}\n icon={MiniChevronRightIcon}\n onClick={onClickForward}\n px={4}\n tip=\"Scroll forward\"\n tipProps={{ placement: 'floating' }}\n />\n </Box>\n );\n\n return (\n <>\n <FlexBox\n justifyContent={{\n _: title ? 'space-between' : isCatalogHubVariant ? 'start' : 'end',\n md: title ? 'space-between' : 'end',\n }}\n pb={8}\n alignItems=\"baseline\"\n >\n {title ? (\n <FlexBox pb={patternedBackground ? 8 : 0}>{title}</FlexBox>\n ) : null}\n {arrowPosition === 'top' ? arrows : null}\n </FlexBox>\n {patternedBackground ? (\n <PatternedContainer leftPadding={leftPadding}>\n <CarouselWrapper>{CarouselContent}</CarouselWrapper>\n </PatternedContainer>\n ) : (\n <CarouselWrapper>{CarouselContent}</CarouselWrapper>\n )}\n {arrowPosition === 'bottom' ? (\n <FlexBox justifyContent=\"flex-end\" pt={8}>\n {arrows}\n </FlexBox>\n ) : null}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAqCA,MAAM,kBAAkB,OAAO,IAAI;;;;AAKnC,MAAMA,gBAAc,OAAOC,aAAqB,EAC9C,mBAAmB,aACpB,CAAC;kBACgB,UACd,MAAM,sBAAsB,SAAS,IAAI;qBACxB,UACjB,MAAM,sBAAsB,SAAS,IAAI;;AAG7C,MAAMC,gBAAc,OAAOC,aAAqB,EAC9C,mBAAmB,aACpB,CAAC;;kBAEgB,UACd,MAAM,WAAW,YAAY,EAAE;;AAGnC,MAAM,iBAAiB;CACrB,KAAK;CACL,SAAS;CACT,YAAY;CACZ,UAAU;CACV,YAAY;CACZ,QAAQ;CACR,SAAS;CACT,SAAS;CACT,aAAa,GACV,SAAS,YAAY,IAAI,GAAG,GAAG;EAC9B,SAAS;EACT,SAAS;EACV,EACF;CACF;AAED,MAAM,YAAY,OAAO,QAAQ;;;AAIjC,MAAaC,sBAQR,EAAE,IAAI,UAAU,eAAe,aAAa,mBAAmB;AAClE,QACE,qBAAC;EAAI,UAAS;EAAW,IAAI;EAAI,IAAI;aACnC,oBAAC;GACC,cAAa;GACb,UAAS;GACT,UAAS;GACT,KAAK;GACL,QAAQ;GACR,MAAM;GACN,OAAM;GACN,QAAQ;aAER,oBAAC,iBAAe;IACZ,EACN,oBAAC;GACK;GACJ,WAAW;GACX,UAAS;GACT,WAAW,eAAe,SAAS;GACnC,IAAI;GACJ,IAAI,gBAAgB,KAAK;GACzB,IAAI,EAAE,IAAI,cAAc,KAAK,GAAG;GAChC,GAAG;GACH,QAAQ;GAEP;IACS;GACR;;AAIV,MAAaC,YAAqC,EAChD,OACA,cAAc,OACd,cACA,SAAS,cAAc,EAAE,EACzB,sBAAsB,OACtB,kBACA,gBAAgB,OAChB,OACA,qBAAU,qBACN;CACJ,MAAM,MAAM,OAAsB,KAAK;CACvC,MAAM,CAAC,OAAO,YAAY,SAAS,EAAE;CACrC,MAAM,CAAC,WAAW,gBAAgB,UAAyB;AAG3D,iBAAgB;AACd,MAAI,IAAI,SAAS,QAAQ,QAAQ,QAC/B,cAAa,MAAM,SAAS,IAAI,QAAQ,OAAO,QAAQ,QAAQ;MAE/D,cAAa,MAAM,OAAO;IAE3B,CAAC,OAAO,IAAI,SAAS,QAAQ,QAAQ,QAAQ,CAAC;CAEjD,MAAM,UAAU,cAAc;AAC5B,SAAO;GACL,GAAG;GACH,GAAG;GACJ;IACA,CAAC,YAAY,CAAC;CAEjB,MAAMC,eAAoC,cAAc;AACtD,UAAQ,MAAM,QAAd;GACE,KAAK;GACL,KAAK,EACH,QAAO;GACT,QACE,QAAO;;IAEV,CAAC,MAAM,CAAC;CAEX,MAAM,uBAAuB;AAC3B,iBAAe,EAAE,QAAQ,iBAAiB,CAAC;AAC3C,MAAI,SAAS,GAAG,IAAI;;CAEtB,MAAM,oBAAoB;AACxB,iBAAe,EAAE,QAAQ,kBAAkB,CAAC;AAC5C,MAAI,SAAS,GAAG,IAAI;;CAEtB,MAAM,sBAAsB,YAAoB;AAC9C,eAAa,MAAM,SAAS,QAAQ;;CAGtC,MAAM,sBAAsBC,cAAY;CAExC,MAAM,kBACJ,oBAAC;EACC,SAAS,EAAE,qBAAY,SAASC,QAAM;EACtC,YAAY,WAAW;AACrB,OAAI,OAAO,QAAQ,QAAS,oBAAmB,OAAO,QAAQ,QAAQ;;EAExE,YAAY,WAAW;AACrB,OAAI,OAAO,QAAQ,QAAS,oBAAmB,OAAO,QAAQ,QAAQ;AACtE,OAAI,OAAO,QAAQ,SACjB,QAAO,WAAW,SAAS,MAAM;;EAGrC,UAAU;EACL;EACL,SAAS,EAAE,GAAG,SAAS;YAEvB,oBAACR;GAAiC;aAC/B,MAAM,KAAK,MAAM,YAChB,oBAACE;IACC,UAAU,MAAM,WAAW,KAAK,QAAQ,YAAY;cAKnD;MAFIM,QAGO,CACd;IACU;GACP;CAGX,MAAM,sBACJ,uBACG;AACH,MAAIC,oBAAkB;AACpB,OAAI,OAAOA,uBAAqB,WAC9B,QAAOA,mBAAiB,MAAM,OAAO,GAAG,SAAS;GAEnD,MAAM,eAAe;IAAE,GAAG;IAAI,IAAI;IAAI,IAAI;IAAI,IAAI;IAAI,IAAI;IAAI,IAAI;IAAI;AACtE,UAAO,KAAK,aAAa,CAAC,SAAS,eAA2B;AAC5D,iBAAa,cACX,uBAAuBA,qBAAmB,cACtC,SACA;KACN;AACF,UAAO;;AAGT,SAAO,sBAAsB,SAAS;;CAGxC,MAAM,SACJ,qBAAC;EAAI,SAAS,mBAAmB,iBAAiB;EAAE,IAAI;aACtD,oBAAC;GACC,UAAU,UAAU;GACpB,MAAM;GACN,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,KAAI;GACJ,UAAU,EAAE,WAAW,YAAY;IACnC,EACF,oBAAC;GACC,UAAU,UAAU;GACpB,MAAM;GACN,SAAS;GACT,IAAI;GACJ,KAAI;GACJ,UAAU,EAAE,WAAW,YAAY;IACnC;GACE;AAGR,QACE;EACE,qBAAC;GACC,gBAAgB;IACd,GAAG,QAAQ,kBAAkB,sBAAsB,UAAU;IAC7D,IAAI,QAAQ,kBAAkB;IAC/B;GACD,IAAI;GACJ,YAAW;cAEV,QACC,oBAAC;IAAQ,IAAI,sBAAsB,IAAI;cAAI;KAAgB,GACzD,MACH,kBAAkB,QAAQ,SAAS;IAC5B;EACT,sBACC,oBAAC;GAAgC;aAC/B,oBAAC,6BAAiB,kBAAkC;IACjC,GAErB,oBAAC,6BAAiB,kBAAkC;EAErD,kBAAkB,WACjB,oBAAC;GAAQ,gBAAe;GAAW,IAAI;aACpC;IACO,GACR;KACH"}
|
|
@@ -24,4 +24,5 @@ interface CertificationPathCardProps {
|
|
|
24
24
|
}
|
|
25
25
|
declare const CertificationPathCard: react3.ForwardRefExoticComponent<CertificationPathCardProps & react3.RefAttributes<HTMLAnchorElement>>;
|
|
26
26
|
//#endregion
|
|
27
|
-
export { CertificationPathCard, CertificationPathCardProps };
|
|
27
|
+
export { CertificationPathCard, CertificationPathCardProps };
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/CertificationPathCard/index.tsx"],"sourcesContent":[],"mappings":";;;;;UAUU,4BAAA;;;AAF6B;AAOtB,UAAA,0BAAA,CAA0B;EAGvB,KAAA,EAAA,MAAA;EAEL,WAAA,EAAA,MAAA;EACW,gBAAA,EAHN,gBAGM;EACT,gBAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAEN,UAAM,CAAA,EAJF,gBAIE,GAAA,IAAA;EACN,qBAAM,CAAA,EAJS,4BAIT,GAAA,IAAA;EAAS,YAAA,CAAA,EAHT,WAGS;EAMb,cAAA,CAAA,EAAA,MAAA,GA0DZ,IAAA;EA1DiC,MAAA,CAAA,EAPvB,KAAA,CAAM,SAOiB;EAAA,MAAA,CAAA,EANvB,KAAA,CAAM,SAMiB;EAAA,YAAA,CAAA,EAAA,OAAA;EAAA,IAAA,EAAA,MAAA;EAAA,OAAA,EAAA,GAAA,GAAA,IAAA;;cAArB,uBAAqB,MAAA,CAAA,0BAAA,6BAAA,MAAA,CAAA,cAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/CertificationPathCard/index.tsx"],"sourcesContent":["import { HeadingTags } from '@codecademy/gamut';\nimport { forwardRef, PropsWithRef } from 'react';\n\nimport { ContentGroupBaseCard } from '../ContentGroupBaseCard';\nimport { CourseCountComponent } from '../ContentGroupBaseCard/shared';\nimport {\n CourseDifficulty,\n EnrollmentStatus,\n} from '../ContentGroupBaseCard/types';\n\ninterface CertificationProviderDetails {\n name: string;\n logoUrl: string;\n}\n\nexport interface CertificationPathCardProps {\n title: string;\n courseCount: number;\n enrollmentStatus: EnrollmentStatus;\n shortDescription?: string | null;\n difficulty?: CourseDifficulty | null;\n certificationProvider?: CertificationProviderDetails | null;\n headingLevel?: HeadingTags;\n timeToComplete?: number | null;\n header?: React.ReactNode;\n footer?: React.ReactNode;\n openInNewTab?: boolean;\n href: string;\n onClick: () => void;\n}\n\nexport const CertificationPathCard = forwardRef<\n HTMLAnchorElement,\n PropsWithRef<CertificationPathCardProps>\n>(\n (\n {\n title,\n courseCount,\n enrollmentStatus,\n shortDescription,\n difficulty,\n certificationProvider,\n headingLevel,\n timeToComplete,\n header,\n footer,\n openInNewTab = false,\n href,\n onClick,\n },\n ref\n ) => {\n const logoWidthOverrides: Record<string, number> = {\n AWS: 28,\n Microsoft: 20,\n HRCI: 28,\n 'Red Hat': 20,\n };\n\n return (\n <ContentGroupBaseCard\n headerBackgroundColor=\"orange-100\"\n headerText=\"Certification path\"\n title={title}\n headingLevel={headingLevel}\n description={shortDescription}\n difficulty={difficulty}\n numLessons={courseCount}\n shadow=\"outline\"\n enrollmentStatus={enrollmentStatus}\n timeToComplete={timeToComplete}\n brandDetails={{\n name: certificationProvider?.name || '',\n logoUrl: certificationProvider?.logoUrl || '',\n logoHeight:\n logoWidthOverrides[certificationProvider?.name || ''] || 24,\n }}\n header={header}\n footer={footer}\n openInNewTab={openInNewTab}\n href={href}\n onClick={onClick}\n ref={ref}\n >\n <CourseCountComponent count={courseCount} />\n </ContentGroupBaseCard>\n );\n }\n);\n"],"mappings":";;;;;;AA+BA,MAAa,wBAAwB,YAKjC,EACE,OACA,aACA,kBACA,kBACA,YACA,uBACA,cACA,gBACA,QACA,QACA,eAAe,OACf,MACA,WAEF,QACG;AAQH,QACE,oBAAC;EACC,uBAAsB;EACtB,YAAW;EACJ;EACO;EACd,aAAa;EACD;EACZ,YAAY;EACZ,QAAO;EACW;EACF;EAChB,cAAc;GACZ,MAAM,uBAAuB,QAAQ;GACrC,SAAS,uBAAuB,WAAW;GAC3C,YAtB6C;IACjD,KAAK;IACL,WAAW;IACX,MAAM;IACN,WAAW;IACZ,CAkB0B,uBAAuB,QAAQ,OAAO;GAC5D;EACO;EACA;EACM;EACR;EACG;EACJ;YAEL,oBAAC,wBAAqB,OAAO,cAAe;GACvB;EAG5B"}
|
|
@@ -21,4 +21,5 @@ interface CoachingSessionCardProps {
|
|
|
21
21
|
}
|
|
22
22
|
declare const CoachingSessionCard: React.FC<CoachingSessionCardProps>;
|
|
23
23
|
//#endregion
|
|
24
|
-
export { CoachingSessionCard, CoachingSessionCardProps };
|
|
24
|
+
export { CoachingSessionCard, CoachingSessionCardProps };
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/CoachingSessionCard/index.tsx"],"sourcesContent":[],"mappings":";UAmBiB,wBAAA;EAAA,OAAA,EAAA;IAqBJ,EAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;cAAA,qBAAqB,KAAA,CAAM,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["CoachingSessionCard: React.FC<CoachingSessionCardProps>"],"sources":["../../src/CoachingSessionCard/index.tsx"],"sourcesContent":["import {\n Card,\n FillButton,\n FlexBox,\n StrokeButton,\n Text,\n TextButton,\n} from '@codecademy/gamut';\nimport { CalendarIcon, ClockIcon } from '@codecademy/gamut-icons';\nimport { formatInTimeZone } from 'date-fns-tz';\n\nconst formatTime = (timeString: string, format: string) => {\n return formatInTimeZone(\n new Date(timeString),\n Intl.DateTimeFormat().resolvedOptions().timeZone,\n format\n );\n};\n\nexport interface CoachingSessionCardProps {\n session: {\n id: string;\n startTime: string;\n endTime: string;\n coachOfferingCategoryName: string;\n participantName?: string | null;\n zoomJoinUrl?: string | null;\n rescheduleUrl?: string | null;\n status?: string | null;\n };\n ctas?: {\n text: string;\n href?: string;\n onClick?: () => void;\n buttonType?: 'fill' | 'stroke' | 'text';\n disabled?: boolean;\n variant?: 'primary' | 'secondary' | 'danger';\n }[];\n}\n\nexport const CoachingSessionCard: React.FC<CoachingSessionCardProps> = ({\n session,\n ctas,\n}) => (\n <Card borderRadius=\"xl\" p={32} height=\"auto\">\n <FlexBox column>\n <Text mb={12}>\n <Text fontWeight=\"bold\">{session.coachOfferingCategoryName}</Text>{' '}\n coaching session with{' '}\n <Text fontWeight=\"bold\">{session.participantName}</Text>\n </Text>\n <FlexBox alignItems=\"center\" gap={16} mb={24}>\n <FlexBox alignItems=\"center\" gap={8}>\n <CalendarIcon size={16} />\n <Text variant=\"p-small\" color=\"text-secondary\">\n {new Date(session.startTime).toLocaleDateString(undefined, {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n })}\n </Text>\n </FlexBox>\n <FlexBox alignItems=\"center\" gap={8}>\n <ClockIcon size={16} />\n <Text variant=\"p-small\" color=\"text-secondary\">\n {`${formatTime(session.startTime, 'h:mm aa')} - ${formatTime(\n session.endTime,\n 'h:mm aa z'\n )}`}\n </Text>\n </FlexBox>\n {session.status && (\n <Text variant=\"p-small\" fontWeight=\"bold\">\n Status: {session.status}\n </Text>\n )}\n </FlexBox>\n <FlexBox alignItems=\"center\" gap={8}>\n {ctas?.map((cta) => {\n const Button =\n cta.buttonType === 'fill'\n ? FillButton\n : cta.buttonType === 'stroke'\n ? StrokeButton\n : TextButton;\n return (\n <Button\n href={cta.href}\n key={cta.text}\n onClick={cta.onClick}\n disabled={cta.disabled}\n variant={cta.variant}\n >\n {cta.text}\n </Button>\n );\n })}\n </FlexBox>\n </FlexBox>\n </Card>\n);\n"],"mappings":";;;;;;AAWA,MAAM,cAAc,YAAoB,WAAmB;AACzD,QAAO,iBACL,IAAI,KAAK,WAAW,EACpB,KAAK,gBAAgB,CAAC,iBAAiB,CAAC,UACxC,OACD;;AAwBH,MAAaA,uBAA2D,EACtE,SACA,WAEA,oBAAC;CAAK,cAAa;CAAK,GAAG;CAAI,QAAO;WACpC,qBAAC;EAAQ;;GACP,qBAAC;IAAK,IAAI;;KACR,oBAAC;MAAK,YAAW;gBAAQ,QAAQ;OAAiC;KAAC;KAAI;KACjD;KACtB,oBAAC;MAAK,YAAW;gBAAQ,QAAQ;OAAuB;;KACnD;GACP,qBAAC;IAAQ,YAAW;IAAS,KAAK;IAAI,IAAI;;KACxC,qBAAC;MAAQ,YAAW;MAAS,KAAK;iBAChC,oBAAC,gBAAa,MAAM,KAAM,EAC1B,oBAAC;OAAK,SAAQ;OAAU,OAAM;iBAC3B,IAAI,KAAK,QAAQ,UAAU,CAAC,mBAAmB,QAAW;QACzD,SAAS;QACT,OAAO;QACP,KAAK;QACL,MAAM;QACP,CAAC;QACG;OACC;KACV,qBAAC;MAAQ,YAAW;MAAS,KAAK;iBAChC,oBAAC,aAAU,MAAM,KAAM,EACvB,oBAAC;OAAK,SAAQ;OAAU,OAAM;iBAC3B,GAAG,WAAW,QAAQ,WAAW,UAAU,CAAC,KAAK,WAChD,QAAQ,SACR,YACD;QACI;OACC;KACT,QAAQ,UACP,qBAAC;MAAK,SAAQ;MAAU,YAAW;iBAAO,YAC/B,QAAQ;OACZ;;KAED;GACV,oBAAC;IAAQ,YAAW;IAAS,KAAK;cAC/B,MAAM,KAAK,QAAQ;AAOlB,YACE,oBANA,IAAI,eAAe,SACf,aACA,IAAI,eAAe,WACnB,eACA;MAGF,MAAM,IAAI;MAEV,SAAS,IAAI;MACb,UAAU,IAAI;MACd,SAAS,IAAI;gBAEZ,IAAI;QALA,IAAI,KAMF;MAEX;KACM;;GACF;EACL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventTypeIcon.js","names":["eventTypeMap: Record<string, EventTypeMapProps | undefined>","EventTypeIcon: React.FC<EventTypeIconProps>"],"sources":["../../src/CommunityEventCard/EventTypeIcon.tsx"],"sourcesContent":["import { FlexBox } from '@codecademy/gamut';\nimport {\n BookFlipPageIcon,\n BriefcaseIcon,\n KeyboardIcon,\n MicrophoneIcon,\n PersonPonytailIcon,\n QuestionMarkIcon,\n RulerTriangleIcon,\n YoutubePlayIcon,\n} from '@codecademy/gamut-icons';\n\ninterface EventTypeMapProps {\n icon: typeof BookFlipPageIcon;\n copy: string;\n}\n\nexport const eventTypeMap: Record<string, EventTypeMapProps | undefined> = {\n careergrowth: {\n icon: BriefcaseIcon,\n copy: 'Career growth',\n },\n hackathon: {\n icon: KeyboardIcon,\n copy: 'Hackathon',\n },\n networking: {\n icon: PersonPonytailIcon,\n copy: 'Networking',\n },\n 'q&a': {\n icon: QuestionMarkIcon,\n copy: 'Q&A',\n },\n studysession: {\n icon: BookFlipPageIcon,\n copy: 'Study session',\n },\n webinar: {\n icon: MicrophoneIcon,\n copy: 'Webinar',\n },\n workshop: {\n icon: RulerTriangleIcon,\n copy: 'Workshop',\n },\n youtube: {\n icon: YoutubePlayIcon,\n copy: 'YouTube',\n },\n};\n\ninterface EventTypeIconProps {\n eventType?: string | null;\n}\n\nexport const EventTypeIcon: React.FC<EventTypeIconProps> = ({ eventType }) => {\n const key = eventType?.toLowerCase().replace(/\\s/, '');\n const IconComponent = key ? eventTypeMap[key]?.icon : undefined;\n const iconLoaded = key && IconComponent;\n return (\n <FlexBox\n display=\"flex\"\n alignItems=\"center\"\n fontFamily=\"accent\"\n fontSize={14}\n aria-label={key && `${key} event`}\n aria-hidden={!iconLoaded}\n >\n {iconLoaded && (\n <>\n <IconComponent aria-hidden alignSelf=\"center\" mr={8} />\n {eventTypeMap[key]?.copy}\n </>\n )}\n </FlexBox>\n );\n};\n"],"mappings":";;;;;AAiBA,MAAaA,eAA8D;CACzE,cAAc;EACZ,MAAM;EACN,MAAM;EACP;CACD,WAAW;EACT,MAAM;EACN,MAAM;EACP;CACD,YAAY;EACV,MAAM;EACN,MAAM;EACP;CACD,OAAO;EACL,MAAM;EACN,MAAM;EACP;CACD,cAAc;EACZ,MAAM;EACN,MAAM;EACP;CACD,SAAS;EACP,MAAM;EACN,MAAM;EACP;CACD,UAAU;EACR,MAAM;EACN,MAAM;EACP;CACD,SAAS;EACP,MAAM;EACN,MAAM;EACP;CACF;AAMD,MAAaC,iBAA+C,EAAE,gBAAgB;CAC5E,MAAM,MAAM,WAAW,aAAa,CAAC,QAAQ,MAAM,GAAG;CACtD,MAAM,gBAAgB,MAAM,aAAa,MAAM,OAAO;CACtD,MAAM,aAAa,OAAO;AAC1B,QACE,oBAAC;EACC,SAAQ;EACR,YAAW;EACX,YAAW;EACX,UAAU;EACV,cAAY,OAAO,GAAG,IAAI;EAC1B,eAAa,CAAC;YAEb,cACC,4CACE,oBAAC;GAAc;GAAY,WAAU;GAAS,IAAI;IAAK,EACtD,aAAa,MAAM,QACnB;GAEG"}
|
|
@@ -28,4 +28,5 @@ interface CommunityEventCardProps {
|
|
|
28
28
|
declare const formatTime: (startDate: string, endDate: string) => string;
|
|
29
29
|
declare const CommunityEventCard: React.FC<CommunityEventCardProps>;
|
|
30
30
|
//#endregion
|
|
31
|
-
export { CommunityEventCard, CommunityEventCardProps, formatTime };
|
|
31
|
+
export { CommunityEventCard, CommunityEventCardProps, formatTime };
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/CommunityEventCard/index.tsx"],"sourcesContent":[],"mappings":";UAyBiB,uBAAA;EAAA,KAAA,EAAA,MAAA;EA4CJ,SAAA,EAAA,MAsBZ;EAEY,OAAA,EAAA,MAAA;;;;;;;;;;;;mBArDM;;;;;;;;;;;cA6BN;cAwBA,oBAAoB,KAAA,CAAM,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["CommunityEventCard: React.FC<CommunityEventCardProps>","mobileDevice: boolean"],"sources":["../../src/CommunityEventCard/index.tsx"],"sourcesContent":["import {\n Anchor,\n Box,\n Card,\n FillButton,\n FlexBox,\n Spinner,\n Text,\n} from '@codecademy/gamut';\nimport {\n CalendarIcon,\n CheckFilledIcon,\n LockIcon,\n PeopleIcon,\n RoundPinIcon,\n} from '@codecademy/gamut-icons';\nimport { pxRem, theme } from '@codecademy/gamut-styles';\nimport styled from '@emotion/styled';\nimport { format, parseJSON } from 'date-fns';\nimport { motion } from 'framer-motion';\nimport isMobile from 'ismobilejs';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { EventTypeIcon } from './EventTypeIcon';\n\nexport interface CommunityEventCardProps {\n title: string;\n startDate: string;\n endDate: string;\n descriptionShort: string;\n url: string;\n totalAttendees?: number | null;\n audienceType: string;\n isProEvent?: boolean;\n isProUser?: boolean;\n isAnonUser?: boolean;\n isTrialEligible?: boolean;\n upsellUrl?: string;\n venueType?: string;\n inPersonLocation?: string | null;\n sendRSVP?: () => Promise<boolean>;\n handleCardClick?: () => void;\n handleAnonUserCardClick?: () => void;\n handleRSVPClick?: () => void;\n handleUpgradeCTAClick?: () => void;\n handleOnRSVPSuccess?: () => void;\n handleOnRSVPFailure?: () => void;\n isRegistered?: boolean;\n hideButton?: boolean;\n type?: string | null;\n}\n\nconst HoverCard = styled(Card)`\n border-radius: 4px;\n &:hover {\n cursor: pointer;\n }\n`;\n\nconst StyledLink = styled(Anchor)`\n flex-grow: 1;\n text-decoration: none;\n color: ${theme.colors.navy};\n &:hover,\n &:focus {\n text-decoration: none;\n }\n`;\n\nexport const formatTime = (startDate: string, endDate: string) => {\n const startTime = parseJSON(startDate);\n const startHour = format(startTime, 'h');\n const startMinutes = format(startTime, 'mm');\n const startTimeOfDay = format(startTime, 'a').toLowerCase();\n const endTime = parseJSON(endDate);\n const endHour = format(endTime, 'h');\n const endMinutes = format(endTime, 'mm');\n const endTimeOfDay = format(endTime, 'a').toLowerCase();\n let text = `${startHour}`;\n if (startMinutes !== '00') {\n text += `:${startMinutes}`;\n }\n if (startTimeOfDay !== endTimeOfDay) {\n text += `${startTimeOfDay}`;\n }\n text += `-${endHour}`;\n if (endMinutes !== '00') {\n text += `:${endMinutes}`;\n }\n text += `${endTimeOfDay}`;\n return text;\n};\n\nexport const CommunityEventCard: React.FC<CommunityEventCardProps> = ({\n title,\n startDate,\n endDate,\n descriptionShort,\n url,\n totalAttendees = null,\n audienceType,\n inPersonLocation = null,\n isProEvent,\n isProUser,\n isAnonUser,\n isTrialEligible,\n upsellUrl,\n sendRSVP,\n hideButton,\n handleCardClick,\n handleAnonUserCardClick,\n handleRSVPClick,\n handleUpgradeCTAClick,\n handleOnRSVPSuccess,\n handleOnRSVPFailure,\n isRegistered,\n type,\n}) => {\n const cannotShowButton = hideButton || isAnonUser;\n const [isMobileDevice, setIsMobileDevice] = useState(true);\n const [showCardButton, setShowCardButton] = useState(\n cannotShowButton ? false : isMobileDevice\n );\n const [rsvpSuccessful, setRsvpSuccessful] = useState(false);\n const [rsvpLoading, setRsvpLoading] = useState(false);\n const isAttending = rsvpSuccessful || isRegistered;\n const cardLinkRef = useRef<HTMLAnchorElement>(null);\n\n useEffect(() => {\n const mobileDevice: boolean = isMobile().any;\n setIsMobileDevice(mobileDevice);\n setShowCardButton(mobileDevice);\n }, []);\n useEffect(() => {\n // focus should only be set once because we only set rsvp true after save a spot button is clicked\n if (rsvpSuccessful) {\n cardLinkRef.current?.focus();\n setRsvpLoading(false);\n }\n }, [rsvpSuccessful]);\n\n const nonProButtonText = isTrialEligible\n ? 'Start 7-day free trial'\n : 'Upgrade';\n const eventTime = formatTime(startDate, endDate);\n const hideYear = eventTime.length > 11;\n const canAccessPro = !(isProEvent && !isProUser);\n const revealCardButton = () => {\n if (!cannotShowButton && !isAttending) {\n setShowCardButton(true);\n }\n };\n const isSafari =\n typeof navigator !== 'undefined' &&\n /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n return (\n <HoverCard\n display=\"flex\"\n flexDirection=\"column\"\n height={pxRem(318)}\n justifyContent=\"space-between\"\n variant=\"white\"\n isInteractive\n p={0}\n pt={isProEvent || isAttending ? 0 : 16}\n position=\"relative\"\n overflow=\"hidden\"\n onTouchStart={revealCardButton}\n onFocus={revealCardButton}\n onMouseEnter={revealCardButton}\n onMouseLeave={() => {\n if (!rsvpLoading && !isMobileDevice) {\n setShowCardButton(false);\n }\n }}\n tabIndex={isSafari ? 0 : undefined}\n >\n <StyledLink\n href={url}\n onClick={\n isAnonUser\n ? (e: React.MouseEvent) => {\n e.preventDefault();\n handleCardClick?.();\n handleAnonUserCardClick?.();\n }\n : () => handleCardClick?.()\n }\n ref={cardLinkRef}\n target=\"_blank\"\n >\n {isAttending ? (\n <motion.div\n key=\"success\"\n initial={{ opacity: 0, y: -16 }}\n animate={{ opacity: 1, y: 0, transition: { ease: 'easeInOut' } }}\n >\n <FlexBox\n position=\"absolute\"\n top={0}\n width=\"100%\"\n alignItems=\"center\"\n borderBottom=\"solid\"\n borderStyleBottom={{\n '1': 'solid',\n }}\n px={16}\n py={4}\n borderColor=\"black\"\n bg=\"hyper\"\n color=\"white\"\n >\n <CheckFilledIcon mr={8} />\n <Text fontSize={14}>\n <Text screenreader>\n {isRegistered\n ? \"You're going to the event\"\n : \"You've saved a spot for the event\"}\n </Text>\n <Text aria-hidden>You're going!</Text>\n </Text>\n </FlexBox>\n </motion.div>\n ) : (\n isProEvent && (\n <FlexBox\n position=\"absolute\"\n top={0}\n width=\"100%\"\n bg=\"navy\"\n color=\"white\"\n px={16}\n py={4}\n borderBottom=\"solid\"\n borderStyleBottom={{ '1': 'solid' }}\n >\n <Text fontSize={14}>Pro/Plus</Text>\n </FlexBox>\n )\n )}\n <FlexBox\n flexDirection=\"column\"\n justifyContent=\"space-between\"\n height=\"100%\"\n >\n <Box\n p={16}\n pb={8}\n pt={isAttending || isProEvent ? (36 as never) : 0}\n flexGrow={1}\n >\n <Text truncate=\"ellipsis\" truncateLines={2} fontSize={22} as=\"h3\">\n {title}\n </Text>\n {audienceType === 'in_person' && (\n <FlexBox alignItems=\"center\" mb={8} mt={4}>\n <RoundPinIcon mr={8} mb={4} size={16} />\n <Text\n fontFamily=\"accent\"\n color=\"navy-600\"\n truncate=\"ellipsis\"\n truncateLines={1}\n fontSize={14}\n >\n {inPersonLocation ?? 'In-person event'}\n </Text>\n </FlexBox>\n )}\n <FlexBox\n justifyContent=\"space-between\"\n alignItems=\"center\"\n fontSize={14}\n fontFamily=\"accent\"\n my={8}\n >\n <FlexBox alignItems=\"center\">\n <CalendarIcon alignSelf=\"center\" mr={8} />\n {format(\n parseJSON(startDate),\n hideYear ? \"MMM dd'...'\" : 'MMM dd, yyyy'\n )}\n </FlexBox>\n {eventTime}\n </FlexBox>\n <Text truncate=\"ellipsis\" truncateLines={3}>\n {descriptionShort}\n </Text>\n </Box>\n <FlexBox justifyContent=\"space-between\" p={16} pt={8} tabIndex={0}>\n <EventTypeIcon eventType={type} />\n {totalAttendees !== null && totalAttendees > 0 && (\n <Text display=\"flex\" fontFamily=\"accent\" fontSize={14}>\n <PeopleIcon alignSelf=\"center\" mr={8} aria-hidden />\n {totalAttendees === 100\n ? '100+'\n : rsvpSuccessful\n ? totalAttendees + 1\n : totalAttendees}\n </Text>\n )}\n </FlexBox>\n </FlexBox>\n </StyledLink>\n {showCardButton && sendRSVP && !isAttending && !isAnonUser && (\n <motion.div\n key=\"rsvp\"\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n >\n {canAccessPro ? (\n <FillButton\n width=\"calc(100% - 32px)\"\n mx={16}\n position=\"absolute\"\n bottom={48}\n disabled={rsvpLoading}\n onClick={async () => {\n setRsvpLoading(true);\n handleRSVPClick?.();\n const didRsvp = await sendRSVP();\n if (didRsvp) {\n handleOnRSVPSuccess?.();\n } else {\n handleOnRSVPFailure?.();\n }\n setRsvpSuccessful(didRsvp);\n }}\n onBlur={() => {\n if (!rsvpLoading && !isMobileDevice) {\n setShowCardButton(false);\n }\n }}\n >\n {rsvpLoading ? <Spinner size={16} /> : 'Save a spot'}\n </FillButton>\n ) : (\n <FillButton\n width=\"calc(100% - 32px)\"\n mx={16}\n position=\"absolute\"\n bottom={48}\n href={upsellUrl}\n variant=\"secondary\"\n onClick={() => handleUpgradeCTAClick?.()}\n >\n <FlexBox alignItems=\"center\">\n <LockIcon mr={8} />\n {nonProButtonText}\n </FlexBox>\n </FillButton>\n )}\n </motion.div>\n )}\n </HoverCard>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/CommunityEventToast/index.tsx"],"sourcesContent":[],"mappings":";;;UAIU,wBAAA;;AAFgB;AAMb,cAAA,mBAA8B,EAAT,KAAA,CAAM,EAAG,CAAA,wBAAD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["CommunityEventToast: React.FC<CommunityEventToastProps>"],"sources":["../../src/CommunityEventToast/index.tsx"],"sourcesContent":["import { Box, FlexBox, Text, Toaster } from '@codecademy/gamut';\nimport { CalendarIcon } from '@codecademy/gamut-icons';\nimport React from 'react';\n\ninterface CommunityEventToastProps {\n onClose: () => void;\n}\n\nexport const CommunityEventToast: React.FC<CommunityEventToastProps> = ({\n onClose,\n}) => {\n return (\n <Toaster\n toasts={[\n {\n children: (\n <Box>\n <FlexBox alignItems=\"center\">\n <CalendarIcon size={16} mr={8} mb={8} />\n <Text variant=\"p-base\" fontWeight=\"title\" mb={4}>\n You're going!\n </Text>\n </FlexBox>\n <Text variant=\"p-small\">\n Please remember to mark your calendar.\n </Text>\n </Box>\n ),\n id: 'you-are-going-toast',\n },\n ]}\n onClose={onClose}\n />\n );\n};\n"],"mappings":";;;;;;AAQA,MAAaA,uBAA2D,EACtE,cACI;AACJ,QACE,oBAAC;EACC,QAAQ,CACN;GACE,UACE,qBAAC,kBACC,qBAAC;IAAQ,YAAW;eAClB,oBAAC;KAAa,MAAM;KAAI,IAAI;KAAG,IAAI;MAAK,EACxC,oBAAC;KAAK,SAAQ;KAAS,YAAW;KAAQ,IAAI;eAAG;MAE1C;KACC,EACV,oBAAC;IAAK,SAAQ;cAAU;KAEjB,IACH;GAER,IAAI;GACL,CACF;EACQ;GACT"}
|
|
@@ -5,4 +5,5 @@ declare const getPathImageUrl: (enrollment: EnrollmentStatus, imageUrl: string)
|
|
|
5
5
|
declare const getTimeToCompleteDisplayAmount: (amount: number) => number | "< 1";
|
|
6
6
|
declare const getTimeToCompleteDisplayDuration: (amount: number) => "hour" | "hours";
|
|
7
7
|
//#endregion
|
|
8
|
-
export { getPathImageUrl, getTimeToCompleteDisplayAmount, getTimeToCompleteDisplayDuration };
|
|
8
|
+
export { getPathImageUrl, getTimeToCompleteDisplayAmount, getTimeToCompleteDisplayDuration };
|
|
9
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","names":[],"sources":["../../src/ContentGroupBaseCard/helpers.ts"],"sourcesContent":[],"mappings":";;;cAEa,8BACC;cAYD;AAbA,cAgBA,gCAfiB,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,GAAA,MAAA,GAAA,OAAA"}
|
|
@@ -10,4 +10,5 @@ const getTimeToCompleteDisplayAmount = (amount) => amount <= 0 ? "< 1" : amount;
|
|
|
10
10
|
const getTimeToCompleteDisplayDuration = (amount) => amount <= 1 ? "hour" : "hours";
|
|
11
11
|
|
|
12
12
|
//#endregion
|
|
13
|
-
export { getPathImageUrl, getTimeToCompleteDisplayAmount, getTimeToCompleteDisplayDuration };
|
|
13
|
+
export { getPathImageUrl, getTimeToCompleteDisplayAmount, getTimeToCompleteDisplayDuration };
|
|
14
|
+
//# sourceMappingURL=helpers.js.map
|