@codecademy/brand 4.0.0-alpha.a575634273.0 → 4.0.0-alpha.b03641fd89.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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +142 -142
- 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":"worker.js","names":[],"sources":["../../../../src/AppHeader/Search/SearchWorker/worker.ts"],"sourcesContent":["import { PromiseLookup } from './PromiseLookup';\nimport { serializeSearchWorkerSrc } from './src';\nimport type { SearchAction, SearchResultTypes, SearchWorker } from './types';\n\nconst mockWorker = () => ({ onmessage: () => null, postMessage: () => null });\n\nexport function createSearchWorker(): SearchWorker {\n const src = serializeSearchWorkerSrc();\n const blob = new Blob([src], { type: 'text/javascript' });\n const dataUrl = URL.createObjectURL?.(blob);\n const w = typeof Worker === 'undefined' ? mockWorker() : new Worker(dataUrl);\n\n const results = new PromiseLookup<SearchResultTypes>({\n onKeyInit: (action, query) => w.postMessage({ action, query }),\n });\n\n w.onmessage = ({ data }) => {\n const { query, result, action } = data;\n results.resolve(action, query, result);\n };\n\n return <A extends SearchAction>(action: A, query: string) =>\n results.get<A>(action, query);\n}\n"],"mappings":";;;;AAIA,MAAM,oBAAoB;CAAE,iBAAiB;CAAM,mBAAmB;CAAM;AAE5E,SAAgB,qBAAmC;CACjD,MAAM,MAAM,0BAA0B;CACtC,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,mBAAmB,CAAC;CACzD,MAAM,UAAU,IAAI,kBAAkB,KAAK;CAC3C,MAAM,IAAI,OAAO,WAAW,cAAc,YAAY,GAAG,IAAI,OAAO,QAAQ;CAE5E,MAAM,UAAU,IAAI,cAAiC,EACnD,YAAY,QAAQ,UAAU,EAAE,YAAY;EAAE;EAAQ;EAAO,CAAC,EAC/D,CAAC;AAEF,GAAE,aAAa,EAAE,WAAW;EAC1B,MAAM,EAAE,OAAO,QAAQ,WAAW;AAClC,UAAQ,QAAQ,QAAQ,OAAO,OAAO;;AAGxC,SAAgC,QAAW,UACzC,QAAQ,IAAO,QAAQ,MAAM"}
|
|
@@ -23,4 +23,5 @@ declare const popularContent: ({
|
|
|
23
23
|
})[];
|
|
24
24
|
declare const ALLOWED_HOSTS: string[];
|
|
25
25
|
//#endregion
|
|
26
|
-
export { ALLOWED_HOSTS, ContentType, popularContent, popularSearchTerms, searchPlaceholder };
|
|
26
|
+
export { ALLOWED_HOSTS, ContentType, popularContent, popularSearchTerms, searchPlaceholder };
|
|
27
|
+
//# sourceMappingURL=consts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.d.ts","names":[],"sources":["../../../src/AppHeader/Search/consts.ts"],"sourcesContent":[],"mappings":";cAAa,iBAAA;AAAA,cAEA,kBAFiB,EAAA,MAAA,EAAA;AAEjB,aASD,WAAA;EAAA,MAAA,GAAA,QAAW;EAQV,SAAA,GAAA,YAkCZ;EAEY,UAAA,GAAA,aAMZ;;;;cA1CY;;;QAkCZ;;;;;;QAAA;;;;cAEY"}
|
|
@@ -60,4 +60,5 @@ const ALLOWED_HOSTS = [
|
|
|
60
60
|
];
|
|
61
61
|
|
|
62
62
|
//#endregion
|
|
63
|
-
export { ALLOWED_HOSTS, ContentType, popularContent, popularSearchTerms, searchPlaceholder };
|
|
63
|
+
export { ALLOWED_HOSTS, ContentType, popularContent, popularSearchTerms, searchPlaceholder };
|
|
64
|
+
//# sourceMappingURL=consts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","names":[],"sources":["../../../src/AppHeader/Search/consts.ts"],"sourcesContent":["export const searchPlaceholder = 'What are you learning today?';\n\nexport const popularSearchTerms = [\n 'Artificial Intelligence',\n 'Data Science',\n 'Python',\n 'Web Development',\n 'HTML',\n 'Java',\n];\n\nexport enum ContentType {\n COURSE = 'Course',\n SKILLPATH = 'Skill Path',\n CAREERPATH = 'Career Path',\n ARTICLE = 'Article',\n DOC = 'Doc',\n}\n\nexport const popularContent = [\n {\n title: 'Learn Python 3',\n href: '/learn/learn-python-3',\n type: ContentType.COURSE,\n slug: 'learn-python-3',\n contentId: '6c152bd262967f8c941c9707ed636bda',\n },\n {\n title: 'Business Intelligence Data Analyst',\n href: '/learn/paths/bi-data-analyst',\n type: ContentType.CAREERPATH,\n slug: 'bi-data-analyst',\n contentId: 'd03c7391224540ef8f850f8807a2b72a',\n },\n {\n title: 'Code Foundations',\n href: '/learn/paths/code-foundations',\n type: ContentType.SKILLPATH,\n slug: 'code-foundations',\n contentId: '5b55e668646caa552f8e4d1d',\n },\n {\n title: 'What is Programming?',\n href: '/article/what-is-programming',\n type: ContentType.ARTICLE,\n slug: 'what-is-programming',\n },\n {\n title: 'HTML | Elements',\n href: '/resources/docs/html',\n type: ContentType.DOC,\n slug: 'html/concepts/elements',\n },\n];\n\nexport const ALLOWED_HOSTS = [\n 'skillsoft.com',\n 'percipio.com',\n 'localhost',\n 'codecademy.com',\n 'squads-dev.com',\n];\n"],"mappings":";AAAA,MAAa,oBAAoB;AAEjC,MAAa,qBAAqB;CAChC;CACA;CACA;CACA;CACA;CACA;CACD;AAED,IAAY,sDAAL;AACL;AACA;AACA;AACA;AACA;;;AAGF,MAAa,iBAAiB;CAC5B;EACE,OAAO;EACP,MAAM;EACN,MAAM,YAAY;EAClB,MAAM;EACN,WAAW;EACZ;CACD;EACE,OAAO;EACP,MAAM;EACN,MAAM,YAAY;EAClB,MAAM;EACN,WAAW;EACZ;CACD;EACE,OAAO;EACP,MAAM;EACN,MAAM,YAAY;EAClB,MAAM;EACN,WAAW;EACZ;CACD;EACE,OAAO;EACP,MAAM;EACN,MAAM,YAAY;EAClB,MAAM;EACP;CACD;EACE,OAAO;EACP,MAAM;EACN,MAAM,YAAY;EAClB,MAAM;EACP;CACF;AAED,MAAa,gBAAgB;CAC3B;CACA;CACA;CACA;CACA;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUrlChangeDetection.js","names":[],"sources":["../../../../src/AppHeader/Search/hooks/useUrlChangeDetection.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nexport interface UrlChangeDetectionOptions {\n onUrlChange: () => void;\n getCurrentUrl?: () => string;\n}\n\nexport const useUrlChangeDetection = ({\n onUrlChange,\n getCurrentUrl = () => window.location?.href,\n}: UrlChangeDetectionOptions) => {\n const currentUrl = getCurrentUrl();\n const prevUrlRef = useRef(currentUrl);\n\n useEffect(() => {\n if (prevUrlRef.current !== currentUrl) {\n onUrlChange();\n prevUrlRef.current = currentUrl;\n }\n }, [currentUrl, onUrlChange]);\n};\n"],"mappings":";;;AAOA,MAAa,yBAAyB,EACpC,aACA,sBAAsB,OAAO,UAAU,WACR;CAC/B,MAAM,aAAa,eAAe;CAClC,MAAM,aAAa,OAAO,WAAW;AAErC,iBAAgB;AACd,MAAI,WAAW,YAAY,YAAY;AACrC,gBAAa;AACb,cAAW,UAAU;;IAEtB,CAAC,YAAY,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safelyRedirect.js","names":[],"sources":["../../../src/AppHeader/Search/safelyRedirect.ts"],"sourcesContent":["/**\n * fork of @mono/util-url/src/safelyRedirect.ts, since\n * the build script doesn't resolve @mono dependencies\n */\n\nimport { ALLOWED_HOSTS } from './consts';\n\nexport function safelyRedirect(url: string) {\n try {\n const sanitizedURL = sanitizeURL(url);\n\n if (isRelativeUrl(sanitizedURL) || hasAllowedHost(sanitizedURL)) {\n window.location.assign(sanitizedURL);\n } else {\n throw new Error(`Invalid redirect url: ${sanitizedURL}`);\n }\n } catch (error) {}\n}\n\nfunction hasAllowedHost(url: string) {\n const parsedUrl = new URL(url);\n const { hostname } = parsedUrl;\n\n return ALLOWED_HOSTS.some(\n (host) =>\n // Exact match or exact subdomain match (e.g. sub.codecademy.com)\n hostname === host || hostname.endsWith(`.${host}`)\n );\n}\n\n// when a url is relative, the URL constructor will throw a TypeError;\nfunction isRelativeUrl(url: string) {\n try {\n const parsedUrl = new URL(url);\n return parsedUrl === undefined;\n } catch (error) {\n return true;\n }\n}\n\n// supports already encoded urls by decoding and re-encoding.\n// params are handled separately to allow for the encoding of / characters\nfunction sanitizeURL(url: string) {\n const [path, params] = url.split('?', 2);\n const sanitizedPath = encodeURI(decodeURI(path));\n\n if (!params) return sanitizedPath;\n\n const urlParams = new URLSearchParams(params);\n urlParams.forEach((value, key) => {\n const decoded = decodeURIComponent(value);\n urlParams.set(key, decoded);\n });\n\n return `${sanitizedPath}?${urlParams.toString()}`;\n}\n"],"mappings":";;;;;;;AAOA,SAAgB,eAAe,KAAa;AAC1C,KAAI;EACF,MAAM,eAAe,YAAY,IAAI;AAErC,MAAI,cAAc,aAAa,IAAI,eAAe,aAAa,CAC7D,QAAO,SAAS,OAAO,aAAa;MAEpC,OAAM,IAAI,MAAM,yBAAyB,eAAe;UAEnD,OAAO;;AAGlB,SAAS,eAAe,KAAa;CAEnC,MAAM,EAAE,aADU,IAAI,IAAI,IAAI;AAG9B,QAAO,cAAc,MAClB,SAEC,aAAa,QAAQ,SAAS,SAAS,IAAI,OAAO,CACrD;;AAIH,SAAS,cAAc,KAAa;AAClC,KAAI;AAEF,SADkB,IAAI,IAAI,IAAI,KACT;UACd,OAAO;AACd,SAAO;;;AAMX,SAAS,YAAY,KAAa;CAChC,MAAM,CAAC,MAAM,UAAU,IAAI,MAAM,KAAK,EAAE;CACxC,MAAM,gBAAgB,UAAU,UAAU,KAAK,CAAC;AAEhD,KAAI,CAAC,OAAQ,QAAO;CAEpB,MAAM,YAAY,IAAI,gBAAgB,OAAO;AAC7C,WAAU,SAAS,OAAO,QAAQ;EAChC,MAAM,UAAU,mBAAmB,MAAM;AACzC,YAAU,IAAI,KAAK,QAAQ;GAC3B;AAEF,QAAO,GAAG,cAAc,GAAG,UAAU,UAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/AppHeader/Search/types.ts"],"sourcesContent":[],"mappings":";;;;UAGU,eAAA;yDAGe;AALwB;AAKlB,UAIrB,QAAA,CAAQ;EAeD,QAAA,EAAA,CAAA,KAAA,EAAgB,MAAA,EAAA,cAAkB,CAAA,EAAA,MAAA,EAAA,GAAA,IAAe;;;UAAjD,eAAA,SAAwB,UAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHeaderSearch.js","names":[],"sources":["../../../src/AppHeader/Search/useHeaderSearch.tsx"],"sourcesContent":["import { ButtonBaseElements } from '@codecademy/gamut';\nimport { useRef, useState } from 'react';\n\nimport { AnimatedHeaderZone } from '../shared';\nimport { SearchButton } from './SearchButton';\nimport { SearchPane } from './SearchPane';\nimport { AppHeaderSearch } from './types';\n\nexport const useHeaderSearch = ({\n onEnable,\n onSearch,\n onTrackingClick,\n onSearchAsYouType,\n}: AppHeaderSearch) => {\n const [isSearchVisible, setIsSearchVisible] = useState(false);\n const searchButtonRef = useRef<ButtonBaseElements>(null);\n\n const toggleSearch = () => {\n if (!isSearchVisible) {\n onEnable();\n }\n setIsSearchVisible((oldIsSearchVisible) => !oldIsSearchVisible);\n };\n\n return [\n {\n id: 'search',\n type: 'render-element',\n renderElement: () => (\n <SearchButton\n isSearchVisible={isSearchVisible}\n setIsSearchVisible={setIsSearchVisible}\n toggleSearch={toggleSearch}\n searchButtonRef={searchButtonRef}\n onSearchAsYouType={onSearchAsYouType}\n />\n ),\n },\n <AnimatedHeaderZone visible={isSearchVisible} key=\"search-content\">\n <SearchPane\n onSearch={onSearch}\n onTrackingClick={onTrackingClick}\n toggleSearch={toggleSearch}\n searchButtonRef={searchButtonRef}\n onSearchAsYouType={onSearchAsYouType}\n />\n </AnimatedHeaderZone>,\n ] as const;\n};\n"],"mappings":";;;;;;;AAQA,MAAa,mBAAmB,EAC9B,UACA,UACA,iBACA,wBACqB;CACrB,MAAM,CAAC,iBAAiB,sBAAsB,SAAS,MAAM;CAC7D,MAAM,kBAAkB,OAA2B,KAAK;CAExD,MAAM,qBAAqB;AACzB,MAAI,CAAC,gBACH,WAAU;AAEZ,sBAAoB,uBAAuB,CAAC,mBAAmB;;AAGjE,QAAO,CACL;EACE,IAAI;EACJ,MAAM;EACN,qBACE,oBAAC;GACkB;GACG;GACN;GACG;GACE;IACnB;EAEL,EACD,oBAAC;EAAmB,SAAS;YAC3B,oBAAC;GACW;GACO;GACH;GACG;GACE;IACnB;IAP8C,iBAQ7B,CACtB"}
|
|
@@ -26,4 +26,5 @@ type AppHeaderProps = AppHeaderAction & {
|
|
|
26
26
|
};
|
|
27
27
|
declare const AppHeader: React$1.FC<AppHeaderProps>;
|
|
28
28
|
//#endregion
|
|
29
|
-
export { ALLOWED_HOSTS, AppHeader, AppHeaderProps, ContentType, popularContent, popularSearchTerms, searchPlaceholder };
|
|
29
|
+
export { ALLOWED_HOSTS, AppHeader, AppHeaderProps, ContentType, popularContent, popularSearchTerms, searchPlaceholder };
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/AppHeader/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;KA6BY,cAAA,GAAiB;SACpB;kBACS;;EAFN,MAAA,EAIF,eAJgB;EAAG;;;EAInB,uBAAA,CAAA,EAAA,OAAA;EAUsC;;;EAInC,YAkHZ,CAAA,EAAA,OAAA;;oBAtHmB,OAAA,CAAM,sBAAsB;;;cAInC,WAAW,OAAA,CAAM,GAAG"}
|
package/dist/AppHeader/index.js
CHANGED
|
@@ -87,4 +87,5 @@ const AppHeader = ({ action, hideRightButtonDefaults, items, notifications, redi
|
|
|
87
87
|
};
|
|
88
88
|
|
|
89
89
|
//#endregion
|
|
90
|
-
export { ALLOWED_HOSTS, AppHeader, ContentType, popularContent, popularSearchTerms, searchPlaceholder };
|
|
90
|
+
export { ALLOWED_HOSTS, AppHeader, ContentType, popularContent, popularSearchTerms, searchPlaceholder };
|
|
91
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["AppHeader: React.FC<AppHeaderProps>","items"],"sources":["../../src/AppHeader/index.tsx"],"sourcesContent":["import { Menu } from '@codecademy/gamut';\nimport * as React from 'react';\nimport { useContext, useMemo, useRef } from 'react';\n\nimport {\n AppHeaderAction,\n AppHeaderItem,\n AppHeaderSearch,\n FormattedAppHeaderItems,\n LogErrorContext,\n} from '..';\nimport { HeaderHeightArea } from '../HeaderHeightArea';\nimport { NotificationsDropdown } from '../Notifications/NotificationsDropdown';\nimport { AppHeaderNotificationSettings } from '../Notifications/types';\nimport { useHeaderNotifications } from '../Notifications/useHeaderNotifications';\nimport { AppHeaderListItem } from './AppHeaderElements/AppHeaderListItem';\nimport { AppHeaderProvider } from './AppHeaderElements/AppHeaderProvider';\nimport { SearchTrackingProvider } from './Search/SearchTrackingProvider';\nimport { useHeaderSearch } from './Search/useHeaderSearch';\nimport {\n appHeaderMobileBreakpoint,\n appHeaderSpacing,\n StyledAppBar,\n StyledNavBar,\n} from './shared';\nimport { mapAppHeaderItemToElement } from './shared/utils';\n\nexport * from './Search/consts';\n\nexport type AppHeaderProps = AppHeaderAction & {\n items: FormattedAppHeaderItems;\n notifications?: AppHeaderNotificationSettings;\n redirectParam?: string;\n search: AppHeaderSearch;\n /**\n * used to conditonally hide the default search icon and notification bell\n */\n hideRightButtonDefaults?: boolean;\n /**\n * temporary solution to allow this to be used in LXStudio. Future Header epic here: GM-1024\n */\n isStandalone?: boolean;\n isTeams?: boolean;\n dropdownSpacing?: React.ComponentProps<typeof Menu>['spacing'];\n type?: 'standard' | 'enterprise';\n};\n\nexport const AppHeader: React.FC<AppHeaderProps> = ({\n action,\n hideRightButtonDefaults,\n items,\n notifications,\n redirectParam,\n search,\n isStandalone,\n isTeams,\n dropdownSpacing,\n type = 'standard',\n}) => {\n const menuContainerRef = useRef<HTMLUListElement>(null);\n\n const [notificationsBell, notificationsView] = useHeaderNotifications({\n settings: notifications,\n Renderer: NotificationsDropdown,\n });\n const [searchButton, searchPane] = useHeaderSearch({\n ...search,\n });\n\n const right = useMemo(() => {\n const defaultItems = hideRightButtonDefaults\n ? []\n : [searchButton, ...(notificationsBell ? [notificationsBell] : [])];\n\n if (isTeams) {\n const teamsSpecificMenuItems = items.right.slice(0, -1);\n const profile = items.right[items.right.length - 1];\n\n return [...teamsSpecificMenuItems, ...defaultItems, profile];\n }\n\n return [...defaultItems, ...items.right];\n }, [\n searchButton,\n notificationsBell,\n hideRightButtonDefaults,\n items,\n isTeams,\n ]);\n\n const { logError } = useContext(LogErrorContext);\n\n const mapItemsToElement = <T extends AppHeaderItem[]>(\n items: T,\n side: 'left' | 'right'\n ) => {\n // logging error to help with debugging\n if (items && items.some((item) => !item)) {\n try {\n const itemTypesString = items\n .map((item) => {\n if (!item) return '**UNDEFINED ITEM**';\n return item.type;\n })\n .join(', ');\n\n logError?.(\n `Error: Found an undefined app header item on the ${side} side of the header.`,\n {\n message: `The current array of items includes the following header item types: ${itemTypesString}`,\n }\n );\n } catch (e) {\n logError?.(`Error while logging undefined header items: ${e}`);\n }\n }\n\n return (\n items\n // preventative measure to handle a possibly undefined item from being rendered\n .filter((item) => !!item)\n .map((item, index) => {\n const margin = appHeaderSpacing[type];\n return (\n <AppHeaderListItem\n key={item.id}\n mr={margin}\n ml={side === 'right' && index === 0 ? 'auto' : margin}\n >\n {mapAppHeaderItemToElement({\n action,\n item,\n isStandalone,\n isTeams,\n redirectParam,\n spacing: dropdownSpacing,\n })}\n </AppHeaderListItem>\n );\n })\n );\n };\n\n return (\n <HeaderHeightArea\n display={{ _: 'none', [appHeaderMobileBreakpoint]: 'block' }}\n >\n <AppHeaderProvider>\n <SearchTrackingProvider>\n <StyledAppBar aria-label=\"Main\" as=\"nav\">\n <StyledNavBar ref={menuContainerRef}>\n {mapItemsToElement(items.left, 'left')}\n {mapItemsToElement(right, 'right')}\n </StyledNavBar>\n </StyledAppBar>\n {notificationsView}\n {searchPane}\n </SearchTrackingProvider>\n </AppHeaderProvider>\n </HeaderHeightArea>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AA+CA,MAAaA,aAAuC,EAClD,QACA,yBACA,OACA,eACA,eACA,QACA,cACA,SACA,iBACA,OAAO,iBACH;CACJ,MAAM,mBAAmB,OAAyB,KAAK;CAEvD,MAAM,CAAC,mBAAmB,qBAAqB,uBAAuB;EACpE,UAAU;EACV,UAAU;EACX,CAAC;CACF,MAAM,CAAC,cAAc,cAAc,gBAAgB,EACjD,GAAG,QACJ,CAAC;CAEF,MAAM,QAAQ,cAAc;EAC1B,MAAM,eAAe,0BACjB,EAAE,GACF,CAAC,cAAc,GAAI,oBAAoB,CAAC,kBAAkB,GAAG,EAAE,CAAE;AAErE,MAAI,SAAS;GACX,MAAM,yBAAyB,MAAM,MAAM,MAAM,GAAG,GAAG;GACvD,MAAM,UAAU,MAAM,MAAM,MAAM,MAAM,SAAS;AAEjD,UAAO;IAAC,GAAG;IAAwB,GAAG;IAAc;IAAQ;;AAG9D,SAAO,CAAC,GAAG,cAAc,GAAG,MAAM,MAAM;IACvC;EACD;EACA;EACA;EACA;EACA;EACD,CAAC;CAEF,MAAM,EAAE,aAAa,WAAW,gBAAgB;CAEhD,MAAM,qBACJ,SACA,SACG;AAEH,MAAIC,WAASA,QAAM,MAAM,SAAS,CAAC,KAAK,CACtC,KAAI;GACF,MAAM,kBAAkBA,QACrB,KAAK,SAAS;AACb,QAAI,CAAC,KAAM,QAAO;AAClB,WAAO,KAAK;KACZ,CACD,KAAK,KAAK;AAEb,cACE,oDAAoD,KAAK,uBACzD,EACE,SAAS,wEAAwE,mBAClF,CACF;WACM,GAAG;AACV,cAAW,+CAA+C,IAAI;;AAIlE,SACEA,QAEG,QAAQ,SAAS,CAAC,CAAC,KAAK,CACxB,KAAK,MAAM,UAAU;GACpB,MAAM,SAAS,iBAAiB;AAChC,UACE,oBAAC;IAEC,IAAI;IACJ,IAAI,SAAS,WAAW,UAAU,IAAI,SAAS;cAE9C,0BAA0B;KACzB;KACA;KACA;KACA;KACA;KACA,SAAS;KACV,CAAC;MAXG,KAAK,GAYQ;IAEtB;;AAIR,QACE,oBAAC;EACC,SAAS;GAAE,GAAG;IAAS,4BAA4B;GAAS;YAE5D,oBAAC,+BACC,qBAAC;GACC,oBAAC;IAAa,cAAW;IAAO,IAAG;cACjC,qBAAC;KAAa,KAAK;gBAChB,kBAAkB,MAAM,MAAM,OAAO,EACrC,kBAAkB,OAAO,QAAQ;MACrB;KACF;GACd;GACA;MACsB,GACP;GACH"}
|
|
@@ -157,4 +157,5 @@ const appHeaderSpacing = {
|
|
|
157
157
|
};
|
|
158
158
|
|
|
159
159
|
//#endregion
|
|
160
|
-
export { AnimatedHeaderZone, AnimatedMegaMenuDropdown, AnimatedSimpleDropdown, DropdownAnchor, DropdownIcon, StyledAppBar, StyledNavBar, StyledText, appHeaderMobileBreakpoint, appHeaderSpacing };
|
|
160
|
+
export { AnimatedHeaderZone, AnimatedMegaMenuDropdown, AnimatedSimpleDropdown, DropdownAnchor, DropdownIcon, StyledAppBar, StyledNavBar, StyledText, appHeaderMobileBreakpoint, appHeaderSpacing };
|
|
161
|
+
//# sourceMappingURL=elements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elements.js","names":["animatedPopoverVariants: Variants","AnimatedHeaderZone: React.FC<AnimatedHeaderZoneProps>","React"],"sources":["../../../src/AppHeader/shared/elements.tsx"],"sourcesContent":["import {\n Anchor,\n Box,\n FlexBox,\n LayoutGrid,\n Text,\n WithChildrenProp,\n} from '@codecademy/gamut';\nimport { ArrowChevronDownFilledIcon } from '@codecademy/gamut-icons';\nimport {\n Colors,\n css,\n pxRem,\n states,\n useCurrentMode,\n} from '@codecademy/gamut-styles';\nimport { StyleProps } from '@codecademy/variance';\nimport styled from '@emotion/styled';\nimport {\n AnimatePresence,\n motion,\n useReducedMotion,\n Variants,\n} from 'framer-motion';\nimport * as React from 'react';\n\nimport { AppBar } from '../../AppBar';\nimport { GradientBackground } from '../AppHeaderElements/AppHeaderSection/elements';\n\nexport const appHeaderMobileBreakpoint = 'lg' as const;\n\nexport interface AnimatedHeaderZoneProps extends WithChildrenProp {\n visible?: boolean;\n}\n\nconst animatedPopoverVariants: Variants = {\n enter: { opacity: 1, transition: { duration: 0.2 } },\n exit: { opacity: 0, transition: { duration: 0.2 } },\n};\n\nexport const useMegaMenuHeaderResponsiveStyles = (): {\n bg: Colors;\n borderColor: Colors;\n color: Colors;\n} => {\n const mode = useCurrentMode();\n\n const bg = mode === 'dark' ? 'white' : 'navy-800';\n const color = mode === 'dark' ? 'navy-900' : 'blue-0';\n\n return { bg, borderColor: color, color };\n};\n\nexport const AnimatedHeaderZone: React.FC<AnimatedHeaderZoneProps> = ({\n children,\n visible,\n}) => {\n return visible ? (\n <AnimatePresence>\n <motion.div\n animate=\"enter\"\n exit=\"exit\"\n initial=\"exit\"\n variants={animatedPopoverVariants}\n >\n {children}\n </motion.div>\n </AnimatePresence>\n ) : null;\n};\n\nexport const DropdownAnchor = styled(Anchor)(\n css({\n alignItems: `center`,\n display: `flex`,\n padding: `0.5rem 0`,\n textAlign: `center`,\n whiteSpace: `nowrap`,\n\n '&:focus::before': {\n opacity: 1,\n },\n })\n);\n\nconst dropdownStates = states({\n open: {\n transform: `rotate(-180deg)`,\n },\n});\n\nexport const DropdownIcon = styled(ArrowChevronDownFilledIcon)<\n StyleProps<typeof dropdownStates>\n>(\n css({\n marginLeft: pxRem(5),\n transition: `transform 0.35s ease-out`,\n transformOrigin: `center ${pxRem(5)}`,\n }),\n dropdownStates\n);\n\nexport const StyledText = styled(Text)(\n css({\n '&::after': {\n display: `block`,\n content: `attr(title)`,\n fontWeight: `bold`,\n height: `1px`,\n color: `transparent`,\n overflow: `hidden`,\n visibility: `hidden`,\n },\n })\n);\n\nconst getDropdownAnimations = ({\n isOpen,\n prefersReducedMotion,\n}: {\n isOpen: boolean;\n prefersReducedMotion: boolean | null;\n}) => {\n const openState = {\n transform: 'translateY(0)',\n opacity: 1,\n };\n const closedState = {\n transform: prefersReducedMotion ? 'none' : 'translateY(-8px)',\n opacity: 0,\n };\n\n return {\n animate: isOpen ? openState : closedState,\n initial: closedState,\n transition: {\n duration: 0.15,\n ease: 'easeOut',\n },\n };\n};\n\nconst BaseDropdown = styled(motion.create('div'))(() =>\n css({ position: `absolute` })\n);\n\nconst MegaMenuBackdrop = styled(motion.create('div'))(\n css({\n position: 'relative',\n zIndex: -1,\n })\n);\n\nexport const AnimatedMegaMenuDropdown = React.forwardRef(\n (\n {\n isOpen,\n ...props\n }: React.ComponentProps<typeof BaseDropdown> & {\n isOpen: boolean;\n },\n ref: React.ForwardedRef<HTMLDivElement>\n ) => {\n const [isAnimating, setIsAnimating] = React.useState(false);\n const prefersReducedMotion = useReducedMotion();\n\n return (\n <>\n <AnimatePresence>\n {isOpen && (\n <MegaMenuBackdrop\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.15, ease: 'easeOut' }}\n >\n <GradientBackground\n key=\"dropdown-backdrop\"\n position=\"fixed\"\n top=\"0\"\n left=\"0\"\n right=\"0\"\n bottom=\"0\"\n />\n </MegaMenuBackdrop>\n )}\n </AnimatePresence>\n {/* the preferred way to animate this would be via AnimatePresence, but it is unclear if\n keeping closed dropdown content in the DOM has a positive effect on SEO */}\n <Box display={isOpen || isAnimating ? 'block' : 'none'}>\n <BaseDropdown\n key=\"dropdown-content\"\n ref={ref}\n {...getDropdownAnimations({ isOpen, prefersReducedMotion })}\n {...props}\n onAnimationComplete={(anim) => {\n if (!isOpen) {\n // only consider animation complete when dropdown is closed to prevent flickering from rapid state changes\n setIsAnimating(false);\n }\n props.onAnimationComplete?.(anim);\n }}\n onAnimationStart={(anim) => {\n setIsAnimating(true);\n props.onAnimationStart?.(anim);\n }}\n />\n </Box>\n </>\n );\n }\n);\n\nexport const AnimatedSimpleDropdown = ({\n isOpen,\n ...props\n}: React.ComponentProps<typeof BaseDropdown> & {\n isOpen: boolean;\n}) => {\n const [isAnimating, setIsAnimating] = React.useState(false);\n const prefersReducedMotion = useReducedMotion();\n\n // the preferred way to animate this would be via AnimatePresence, but it is unclear if\n // keeping closed dropdown content in the DOM has a positive effect on SEO\n return (\n <Box display={isOpen || isAnimating ? 'block' : 'none'}>\n <BaseDropdown\n {...getDropdownAnimations({ isOpen, prefersReducedMotion })}\n {...props}\n onAnimationComplete={(anim) => {\n if (!isOpen) {\n // only consider animation complete when dropdown is closed to prevent flickering from rapid state changes\n setIsAnimating(false);\n }\n props.onAnimationComplete?.(anim);\n }}\n onAnimationStart={(anim) => {\n setIsAnimating(true);\n props.onAnimationStart?.(anim);\n }}\n />\n </Box>\n );\n};\n\nexport const LayoutGridAntiAliased = styled(LayoutGrid)`\n -webkit-font-smoothing: antialiased;\n`;\n\n/* for Resources & Catalog menus */\nexport const DescriptionSectionContainer = styled(FlexBox)(\n css({\n '&:focus-visible': {\n color: 'text',\n outline: '1px solid currentColor !important',\n },\n })\n);\n\nexport const StyledAppBar = styled(AppBar)(\n css({\n boxShadow: `none`,\n })\n);\n\nexport const StyledNavBar = styled.ul(\n css({\n alignItems: 'stretch',\n display: `flex`,\n padding: 0,\n listStyle: `none`,\n margin: 0,\n width: `100%`,\n })\n);\n\nexport const appHeaderSpacing = {\n standard: 8,\n\n enterprise: 12,\n} as const;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboardNav.js","names":[],"sources":["../../../src/AppHeader/shared/keyboardNav.tsx"],"sourcesContent":["import { KeyboardEvent } from 'react';\n\ninterface KeyboardNavigation {\n back: (arg0: boolean) => void;\n next: (arg0: boolean) => void;\n first: () => void;\n last: () => void;\n closeDropdown: () => void;\n}\n\nexport const KEY_CODES = {\n UP: 'ArrowUp',\n DOWN: 'ArrowDown',\n LEFT: 'ArrowLeft',\n RIGHT: 'ArrowRight',\n END: 'End',\n ENTER: 'Enter',\n ESC: 'Escape',\n HOME: 'Home',\n SPACE: ' ',\n TAB: 'Tab',\n} as const;\n\nexport const useOnEscHandler = (\n escapeHandler: (e?: KeyboardEvent<HTMLDivElement>) => void\n) => {\n return (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.code === KEY_CODES.ESC) {\n e.stopPropagation();\n e.preventDefault();\n escapeHandler(e);\n }\n };\n};\n\nexport const useMenuKeyboardNavigation = ({\n back,\n next,\n first,\n last,\n closeDropdown,\n}: KeyboardNavigation) => {\n return (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.shiftKey && e.code === KEY_CODES.TAB) {\n e.stopPropagation();\n back(false);\n return;\n }\n switch (e.code) {\n case KEY_CODES.TAB:\n e.stopPropagation();\n next(false);\n break;\n case KEY_CODES.DOWN:\n e.stopPropagation();\n e.preventDefault();\n next(true);\n break;\n case KEY_CODES.UP:\n e.stopPropagation();\n e.preventDefault();\n back(true);\n break;\n case KEY_CODES.HOME:\n e.stopPropagation();\n e.preventDefault();\n first();\n break;\n case KEY_CODES.END:\n e.stopPropagation();\n e.preventDefault();\n last();\n break;\n case KEY_CODES.ESC:\n e.stopPropagation();\n e.preventDefault();\n closeDropdown();\n break;\n }\n };\n};\n"],"mappings":";AAUA,MAAa,YAAY;CACvB,IAAI;CACJ,MAAM;CACN,MAAM;CACN,OAAO;CACP,KAAK;CACL,OAAO;CACP,KAAK;CACL,MAAM;CACN,OAAO;CACP,KAAK;CACN;AAED,MAAa,mBACX,kBACG;AACH,SAAQ,MAAqC;AAC3C,MAAI,EAAE,SAAS,UAAU,KAAK;AAC5B,KAAE,iBAAiB;AACnB,KAAE,gBAAgB;AAClB,iBAAc,EAAE;;;;AAKtB,MAAa,6BAA6B,EACxC,MACA,MACA,OACA,MACA,oBACwB;AACxB,SAAQ,MAAqC;AAC3C,MAAI,EAAE,YAAY,EAAE,SAAS,UAAU,KAAK;AAC1C,KAAE,iBAAiB;AACnB,QAAK,MAAM;AACX;;AAEF,UAAQ,EAAE,MAAV;GACE,KAAK,UAAU;AACb,MAAE,iBAAiB;AACnB,SAAK,MAAM;AACX;GACF,KAAK,UAAU;AACb,MAAE,iBAAiB;AACnB,MAAE,gBAAgB;AAClB,SAAK,KAAK;AACV;GACF,KAAK,UAAU;AACb,MAAE,iBAAiB;AACnB,MAAE,gBAAgB;AAClB,SAAK,KAAK;AACV;GACF,KAAK,UAAU;AACb,MAAE,iBAAiB;AACnB,MAAE,gBAAgB;AAClB,WAAO;AACP;GACF,KAAK,UAAU;AACb,MAAE,iBAAiB;AACnB,MAAE,gBAAgB;AAClB,UAAM;AACN;GACF,KAAK,UAAU;AACb,MAAE,iBAAiB;AACnB,MAAE,gBAAgB;AAClB,mBAAe;AACf"}
|
|
@@ -108,4 +108,5 @@ type FormattedMobileAppHeaderItems = FormattedAppHeaderItems & {
|
|
|
108
108
|
};
|
|
109
109
|
type AnchorRefItemType = RefObject<HTMLAnchorElement>['current'] | RefObject<HTMLButtonElement>['current'] | null;
|
|
110
110
|
//#endregion
|
|
111
|
-
export { AnchorRefItemType, AppFooterResourcesDataItem, AppHeaderAction, AppHeaderCatalogDropdownItem, AppHeaderClickHandler, AppHeaderDescriptiveLinkItem, AppHeaderDropdownItem, AppHeaderFillButtonItem, AppHeaderIconButtonItem, AppHeaderItem, AppHeaderItemWithHref, AppHeaderLinkItem, AppHeaderLogoItem, AppHeaderProfileDropdownItem, AppHeaderRenderElementItem, AppHeaderResourcesDataItem, AppHeaderResourcesDropdownItem, AppHeaderResourcesSimpleDropdownItem, AppHeaderSimpleDropdownItem, AppHeaderStrokeButtonItem, AppHeaderTextButtonItem, FormattedAppHeaderItems, FormattedMobileAppHeaderItems, isAppHeaderItemWithHref };
|
|
111
|
+
export { AnchorRefItemType, AppFooterResourcesDataItem, AppHeaderAction, AppHeaderCatalogDropdownItem, AppHeaderClickHandler, AppHeaderDescriptiveLinkItem, AppHeaderDropdownItem, AppHeaderFillButtonItem, AppHeaderIconButtonItem, AppHeaderItem, AppHeaderItemWithHref, AppHeaderLinkItem, AppHeaderLogoItem, AppHeaderProfileDropdownItem, AppHeaderRenderElementItem, AppHeaderResourcesDataItem, AppHeaderResourcesDropdownItem, AppHeaderResourcesSimpleDropdownItem, AppHeaderSimpleDropdownItem, AppHeaderStrokeButtonItem, AppHeaderTextButtonItem, FormattedAppHeaderItems, FormattedMobileAppHeaderItems, isAppHeaderItemWithHref };
|
|
112
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/AppHeader/shared/types.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/AppHeader/shared/types.ts"],"sourcesContent":["import {\n Anchor,\n BadgeProps,\n FillButtonProps,\n IconButtonProps,\n StrokeButtonProps,\n TextButtonProps,\n} from '@codecademy/gamut';\nimport { GamutIconProps } from '@codecademy/gamut-icons';\nimport React, { ComponentProps, ReactNode, RefObject } from 'react';\n\nexport type AppHeaderItem =\n | AppHeaderItemWithHref\n | AppHeaderSimpleDropdownItem\n | AppHeaderProfileDropdownItem\n | AppHeaderRenderElementItem\n | AppHeaderCatalogDropdownItem\n | AppHeaderDescriptiveLinkItem\n | AppHeaderResourcesDropdownItem\n | AppHeaderResourcesSimpleDropdownItem;\n\nexport type AppHeaderItemWithHref =\n | AppHeaderLogoItem\n | AppHeaderLinkItem\n | AppHeaderTextButtonItem\n | AppHeaderFillButtonItem\n | AppHeaderStrokeButtonItem\n | AppHeaderIconButtonItem;\n\ntype AppHeaderBaseItem<Type extends string> = {\n dataTestId?: string;\n id: string;\n redirect?: boolean;\n type: Type;\n};\n\ntype AppHeaderBaseHrefItem<Type extends string> = AppHeaderBaseItem<Type> & {\n href: string;\n trackingTarget?: string;\n};\n\nexport type AppHeaderLogoItem = AppHeaderBaseHrefItem<'logo'> & {\n enterprise: boolean;\n pro: boolean;\n checkMini?: boolean;\n removeAnchorLink?: boolean;\n};\n\nexport type AppHeaderLinkItem = AppHeaderBaseHrefItem<'link'> &\n Pick<ComponentProps<typeof Anchor>, 'icon' | 'iconPosition'> & {\n ariaLabel?: string;\n newTab?: boolean;\n text: string;\n badge?: React.ReactElement<BadgeProps>;\n };\n\nexport type AppHeaderStrokeButtonItem = AppHeaderBaseHrefItem<'stroke-button'> &\n Pick<StrokeButtonProps, 'variant' | 'icon' | 'iconPosition'> & {\n text: string;\n };\n\nexport type AppHeaderTextButtonItem = AppHeaderBaseHrefItem<'text-button'> &\n Pick<TextButtonProps, 'variant' | 'icon' | 'iconPosition'> & {\n text: string;\n };\n\nexport type AppHeaderFillButtonItem = AppHeaderBaseHrefItem<'fill-button'> &\n Pick<FillButtonProps, 'variant' | 'icon' | 'iconPosition'> & {\n text: string;\n };\n\nexport type AppHeaderIconButtonItem = AppHeaderBaseHrefItem<'icon-button'> &\n Pick<IconButtonProps, 'variant' | 'icon'> & {\n text: string;\n };\n\nexport type AppHeaderDropdownItem =\n | AppHeaderSimpleDropdownItem\n | AppHeaderProfileDropdownItem\n | AppHeaderResourcesSimpleDropdownItem;\n\nexport type AppHeaderSimpleDropdownItem = AppHeaderBaseItem<'dropdown'> & {\n popover: AppHeaderLinkItem[];\n text: string;\n trackingTarget: string;\n icon?: React.ComponentType<GamutIconProps>;\n isIconOnly?: boolean;\n};\n\nexport type AppHeaderProfileDropdownItem =\n AppHeaderBaseItem<'profile-dropdown'> & {\n avatar: string;\n userDisplayName: string;\n //* * AppHeader items that go into the AppHeader. Each array will be in its own section */\n popover: AppHeaderLinkItem[][];\n text: string;\n trackingTarget?: string;\n };\n\nexport type AppHeaderRenderElementItem = AppHeaderBaseItem<'render-element'> & {\n renderElement: () => ReactNode;\n};\n\nexport type AppHeaderCatalogDropdownItem =\n AppHeaderBaseItem<'catalog-dropdown'> & {\n icon?: React.ComponentType<GamutIconProps>;\n text: string;\n trackingTarget?: string;\n hideCareerPaths?: boolean;\n isCoachingEnabled?: boolean;\n };\n\nexport type AppHeaderResourcesDropdownItem =\n AppHeaderBaseItem<'resources-dropdown'> & {\n text: string;\n trackingTarget?: string;\n hideCareerPaths?: boolean;\n icon?: React.ComponentType<GamutIconProps>;\n };\n\nexport type AppHeaderResourcesSimpleDropdownItem =\n AppHeaderBaseItem<'resources-simple-dropdown'> & {\n icon?: React.ComponentType<GamutIconProps>;\n text: string;\n trackingTarget?: string;\n hideCareerPaths?: boolean;\n popover: AppHeaderLinkItem[];\n };\n\nexport type AppHeaderClickHandler<ItemType = AppHeaderItem> = (\n event: React.MouseEvent,\n item: ItemType\n) => void;\n\nexport type AppHeaderAction = {\n /** A method to be called on click/activating a header item */\n action: AppHeaderClickHandler;\n};\n\nexport const isAppHeaderItemWithHref = (\n item: AppHeaderItem\n): item is AppHeaderItemWithHref => !!(item as AppHeaderItemWithHref).href;\n\nexport type AppHeaderDescriptiveLinkItem = AppHeaderLinkItem & {\n description: string;\n};\n\nexport type AppHeaderResourcesDataItem = {\n title: string;\n description?: string;\n links?: AppHeaderLinkItem[];\n data: (AppHeaderLinkItem | AppHeaderDescriptiveLinkItem)[];\n};\n\nexport type AppFooterResourcesDataItem = {\n id: string;\n href: string;\n trackingTarget: string;\n text: string;\n newTab?: boolean;\n};\n\nexport type FormattedAppHeaderItems = {\n left: AppHeaderItem[];\n right: AppHeaderItem[];\n};\n\nexport type FormattedMobileAppHeaderItems = FormattedAppHeaderItems & {\n mainMenu: AppHeaderItem[];\n};\n\nexport type AnchorRefItemType =\n | RefObject<HTMLAnchorElement>['current']\n | RefObject<HTMLButtonElement>['current']\n | null;\n"],"mappings":";AA2IA,MAAa,2BACX,SACkC,CAAC,CAAE,KAA+B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../../src/AppHeader/shared/utils.tsx"],"sourcesContent":["import {\n FillButton,\n IconButton,\n Menu,\n StrokeButton,\n TextButton,\n} from '@codecademy/gamut';\nimport { ComponentProps, ReactNode } from 'react';\n\nimport { formatUrlWithRedirect } from '../../GlobalHeader/urlHelpers';\nimport { AppHeaderCatalogDropdown } from '../AppHeaderElements/AppHeaderCatalogDropdown';\nimport { AppHeaderDropdown } from '../AppHeaderElements/AppHeaderDropdown';\nimport { AppHeaderLink } from '../AppHeaderElements/AppHeaderLink';\nimport { AppHeaderLogo } from '../AppHeaderElements/AppHeaderLogo';\nimport { AppHeaderResourcesDropdown } from '../AppHeaderElements/AppHeaderResourcesDropdown';\nimport { AppHeaderClickHandler, AppHeaderItem } from './types';\n\ntype AppHeaderItemToElementType = {\n action: AppHeaderClickHandler;\n item: AppHeaderItem;\n isStandalone?: boolean;\n isTeams?: boolean;\n redirectParam?: string;\n mobile?: boolean;\n spacing?: ComponentProps<typeof Menu>['spacing'];\n};\n\nexport const mapAppHeaderItemToElement = ({\n action,\n item,\n isStandalone,\n isTeams,\n redirectParam,\n mobile = false,\n spacing = 'normal',\n}: AppHeaderItemToElementType): ReactNode => {\n // preventative measure to handle a possibly undefined item from being rendered\n if (!item) return null;\n\n switch (item.type) {\n case 'logo':\n return <AppHeaderLogo action={action} item={item} />;\n case 'link':\n return <AppHeaderLink mx={0} action={action} item={item} />;\n case 'dropdown':\n case 'resources-simple-dropdown':\n case 'profile-dropdown':\n return (\n <AppHeaderDropdown\n action={action}\n item={item}\n standalone={isStandalone}\n spacing={spacing}\n />\n );\n case 'catalog-dropdown':\n return <AppHeaderCatalogDropdown action={action} item={item} />;\n case 'resources-dropdown':\n return <AppHeaderResourcesDropdown action={action} item={item} />;\n\n case 'render-element':\n return item.renderElement();\n case 'text-button':\n return (\n <TextButton\n size={mobile ? 'small' : 'normal'}\n onClick={(event: React.MouseEvent) => action(event, item)}\n data-testid={item.dataTestId}\n href={\n item.redirect\n ? formatUrlWithRedirect(item.href, redirectParam)\n : item.href\n }\n variant={isTeams ? 'primary' : 'interface'}\n icon={item.icon}\n iconPosition={item.iconPosition}\n >\n {item.text}\n </TextButton>\n );\n case 'fill-button':\n return (\n <FillButton\n size={mobile ? 'small' : 'normal'}\n data-testid={item.dataTestId}\n href={\n item.redirect\n ? formatUrlWithRedirect(item.href, redirectParam)\n : item.href\n }\n onClick={(event: React.MouseEvent) => action(event, item)}\n variant={item.variant || 'interface'}\n icon={item.icon}\n iconPosition={item.iconPosition}\n >\n {item.text}\n </FillButton>\n );\n case 'stroke-button':\n return (\n <StrokeButton\n size={mobile ? 'small' : 'normal'}\n data-testid={item.dataTestId}\n href={\n item.redirect\n ? formatUrlWithRedirect(item.href, redirectParam)\n : item.href\n }\n onClick={(event: React.MouseEvent) => action(event, item)}\n variant={item.variant || 'interface'}\n icon={item.icon}\n iconPosition={item.iconPosition}\n >\n {item.text}\n </StrokeButton>\n );\n case 'icon-button':\n return (\n <IconButton\n size={mobile ? 'small' : 'normal'}\n data-testid={item.dataTestId}\n href={\n item.redirect\n ? formatUrlWithRedirect(item.href, redirectParam)\n : item.href\n }\n onClick={(event: React.MouseEvent) => action(event, item)}\n variant={item.variant || 'interface'}\n icon={item.icon}\n tip={item.text}\n tipProps={{ alignment: 'bottom-center' }}\n />\n );\n }\n};\n"],"mappings":";;;;;;;;;;AA2BA,MAAa,6BAA6B,EACxC,QACA,MACA,cACA,SACA,eACA,SAAS,OACT,UAAU,eACiC;AAE3C,KAAI,CAAC,KAAM,QAAO;AAElB,SAAQ,KAAK,MAAb;EACE,KAAK,OACH,QAAO,oBAAC;GAAsB;GAAc;IAAQ;EACtD,KAAK,OACH,QAAO,oBAAC;GAAc,IAAI;GAAW;GAAc;IAAQ;EAC7D,KAAK;EACL,KAAK;EACL,KAAK,mBACH,QACE,oBAAC;GACS;GACF;GACN,YAAY;GACH;IACT;EAEN,KAAK,mBACH,QAAO,oBAAC;GAAiC;GAAc;IAAQ;EACjE,KAAK,qBACH,QAAO,oBAAC;GAAmC;GAAc;IAAQ;EAEnE,KAAK,iBACH,QAAO,KAAK,eAAe;EAC7B,KAAK,cACH,QACE,oBAAC;GACC,MAAM,SAAS,UAAU;GACzB,UAAU,UAA4B,OAAO,OAAO,KAAK;GACzD,eAAa,KAAK;GAClB,MACE,KAAK,WACD,sBAAsB,KAAK,MAAM,cAAc,GAC/C,KAAK;GAEX,SAAS,UAAU,YAAY;GAC/B,MAAM,KAAK;GACX,cAAc,KAAK;aAElB,KAAK;IACK;EAEjB,KAAK,cACH,QACE,oBAAC;GACC,MAAM,SAAS,UAAU;GACzB,eAAa,KAAK;GAClB,MACE,KAAK,WACD,sBAAsB,KAAK,MAAM,cAAc,GAC/C,KAAK;GAEX,UAAU,UAA4B,OAAO,OAAO,KAAK;GACzD,SAAS,KAAK,WAAW;GACzB,MAAM,KAAK;GACX,cAAc,KAAK;aAElB,KAAK;IACK;EAEjB,KAAK,gBACH,QACE,oBAAC;GACC,MAAM,SAAS,UAAU;GACzB,eAAa,KAAK;GAClB,MACE,KAAK,WACD,sBAAsB,KAAK,MAAM,cAAc,GAC/C,KAAK;GAEX,UAAU,UAA4B,OAAO,OAAO,KAAK;GACzD,SAAS,KAAK,WAAW;GACzB,MAAM,KAAK;GACX,cAAc,KAAK;aAElB,KAAK;IACO;EAEnB,KAAK,cACH,QACE,oBAAC;GACC,MAAM,SAAS,UAAU;GACzB,eAAa,KAAK;GAClB,MACE,KAAK,WACD,sBAAsB,KAAK,MAAM,cAAc,GAC/C,KAAK;GAEX,UAAU,UAA4B,OAAO,OAAO,KAAK;GACzD,SAAS,KAAK,WAAW;GACzB,MAAM,KAAK;GACX,KAAK,KAAK;GACV,UAAU,EAAE,WAAW,iBAAiB;IACxC"}
|
|
@@ -10,4 +10,5 @@ type AppHeaderMainMenuMobileProps = AppHeaderAction & {
|
|
|
10
10
|
};
|
|
11
11
|
declare const AppHeaderMainMenuMobile: React$1.FC<AppHeaderMainMenuMobileProps>;
|
|
12
12
|
//#endregion
|
|
13
|
-
export { AppHeaderMainMenuMobile, AppHeaderMainMenuMobileProps };
|
|
13
|
+
export { AppHeaderMainMenuMobile, AppHeaderMainMenuMobileProps };
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/AppHeaderMobile/AppHeaderMainMenuMobile/index.tsx"],"sourcesContent":[],"mappings":";;;;;KAgDY,4BAAA,GAA+B;SAClC;;EADG,MAAA,EAAA,OAAA;AAMZ,CAAA;cAAa,yBAAyB,OAAA,CAAM,GAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["AppHeaderMainMenuMobile: React.FC<\n AppHeaderMainMenuMobileProps\n>","action"],"sources":["../../../src/AppHeaderMobile/AppHeaderMainMenuMobile/index.tsx"],"sourcesContent":["import {\n Box,\n ContentContainer,\n FillButton,\n Text,\n TextButton,\n} from '@codecademy/gamut';\nimport { css, theme } from '@codecademy/gamut-styles';\nimport styled from '@emotion/styled';\nimport { useState } from 'react';\nimport * as React from 'react';\n\nimport { AppHeaderLink } from '../../AppHeader/AppHeaderElements/AppHeaderLink';\nimport { AppHeaderLinkSections } from '../../AppHeader/AppHeaderElements/AppHeaderLinkSections';\nimport {\n AppHeaderAction,\n AppHeaderClickHandler,\n AppHeaderDropdownItem,\n AppHeaderItem,\n} from '../../AppHeader/shared';\nimport {\n login,\n requestTeamsDemo,\n signUp,\n signUpTextButton,\n} from '../../GlobalHeader/GlobalHeaderItems';\nimport { AppHeaderSubNavMobile } from '../AppHeaderSubMenuMobile';\nimport { MobileUlWrapper } from '../AppHeaderSubMenuMobile/elements';\nimport { AppHeaderSubMenuRow } from '../AppHeaderSubMenuTarget';\n\nconst isBusinessPage = () => {\n if (typeof window === 'undefined') return false;\n return (\n window.location.pathname === '/business' ||\n window.location.pathname === '/business/pricing'\n );\n};\n\nconst BackgroundWrapper = styled(Box)(\n css({\n background: theme.colors.white,\n border: 1,\n borderColor: 'border-tertiary',\n borderRadius: 'lg',\n padding: '16px',\n })\n);\n\nexport type AppHeaderMainMenuMobileProps = AppHeaderAction & {\n items: AppHeaderItem[];\n getItemType: (type: string | undefined) => void;\n isAnon: boolean;\n};\n\nexport const AppHeaderMainMenuMobile: React.FC<\n AppHeaderMainMenuMobileProps\n> = ({ action, items, getItemType, isAnon }) => {\n const [subMenuItem, setSubMenuItem] = useState<AppHeaderDropdownItem>();\n\n const openSubMenu = (\n event: React.MouseEvent,\n item: AppHeaderDropdownItem\n ) => {\n action(event, item);\n setSubMenuItem(item);\n getItemType(item.type);\n };\n\n const closeSubMenu = () => {\n setSubMenuItem(undefined);\n getItemType(undefined);\n };\n\n const mapItemToElement = (\n item: AppHeaderItem,\n action: AppHeaderClickHandler\n ) => {\n switch (item.type) {\n case 'link':\n return (\n <AppHeaderLink action={action} item={item} key={item.id} mobile />\n );\n case 'dropdown':\n case 'profile-dropdown':\n case 'catalog-dropdown':\n case 'resources-dropdown':\n return (\n <AppHeaderSubMenuRow\n key={item.id}\n item={item}\n openSubMenu={openSubMenu}\n />\n );\n case 'resources-simple-dropdown':\n return (\n <>\n <Text as=\"h2\" fontSize={22} mt={16} mb={16}>\n {item.text}\n </Text>\n <AppHeaderLinkSections action={action} item={item} mobile />\n </>\n );\n case 'fill-button':\n return (\n <FillButton\n data-testid={item.dataTestId}\n href={item.href}\n onClick={(event: React.MouseEvent) => action(event, item)}\n mt={24}\n key={item.id}\n >\n {item.text}\n </FillButton>\n );\n case 'text-button':\n return (\n <TextButton\n mt={16}\n key={item.id}\n data-testid={item.dataTestId}\n href={item.href}\n onClick={(event: React.MouseEvent) => action(event, item)}\n >\n {item.text}\n </TextButton>\n );\n default:\n return <></>;\n }\n };\n\n return subMenuItem ? (\n <AppHeaderSubNavMobile\n handleCloseSubMenu={closeSubMenu}\n action={action}\n item={subMenuItem}\n />\n ) : (\n <ContentContainer\n role=\"navigation\"\n aria-label=\"site navigation\"\n tabIndex={-1}\n >\n <BackgroundWrapper>\n <MobileUlWrapper as=\"ul\">\n {items.map((item) => mapItemToElement(item, action))}\n {isAnon && (\n <div\n // eslint-disable-next-line gamut/no-inline-style\n style={{\n display: 'flex',\n alignItems: 'baseline',\n justifyContent: 'center',\n paddingTop: '16px',\n borderTop: '1px solid var(--border-tertiary)',\n }}\n >\n {isBusinessPage() ? (\n <>\n <TextButton\n data-testid={signUpTextButton.dataTestId}\n href={signUpTextButton.href}\n onClick={(event: React.MouseEvent) =>\n action(event, signUpTextButton)\n }\n key={signUpTextButton.id}\n >\n {signUpTextButton.text}\n </TextButton>\n\n <FillButton\n data-testid={requestTeamsDemo.dataTestId}\n href={requestTeamsDemo.href}\n onClick={(event: React.MouseEvent) =>\n action(event, requestTeamsDemo)\n }\n key={requestTeamsDemo.id}\n >\n {requestTeamsDemo.text}\n </FillButton>\n </>\n ) : (\n <>\n <FillButton\n data-testid={signUp.dataTestId}\n href={signUp.href}\n onClick={(event: React.MouseEvent) => action(event, signUp)}\n key={signUp.id}\n >\n {signUp.text}\n </FillButton>\n\n <TextButton\n key={login.id}\n data-testid={login.dataTestId}\n href={login.href}\n onClick={(event: React.MouseEvent) => action(event, login)}\n >\n {login.text}\n </TextButton>\n </>\n )}\n </div>\n )}\n </MobileUlWrapper>\n </BackgroundWrapper>\n </ContentContainer>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AA8BA,MAAM,uBAAuB;AAC3B,KAAI,OAAO,WAAW,YAAa,QAAO;AAC1C,QACE,OAAO,SAAS,aAAa,eAC7B,OAAO,SAAS,aAAa;;AAIjC,MAAM,oBAAoB,OAAO,IAAI,CACnC,IAAI;CACF,YAAY,MAAM,OAAO;CACzB,QAAQ;CACR,aAAa;CACb,cAAc;CACd,SAAS;CACV,CAAC,CACH;AAQD,MAAaA,2BAER,EAAE,QAAQ,OAAO,aAAa,aAAa;CAC9C,MAAM,CAAC,aAAa,kBAAkB,UAAiC;CAEvE,MAAM,eACJ,OACA,SACG;AACH,SAAO,OAAO,KAAK;AACnB,iBAAe,KAAK;AACpB,cAAY,KAAK,KAAK;;CAGxB,MAAM,qBAAqB;AACzB,iBAAe,OAAU;AACzB,cAAY,OAAU;;CAGxB,MAAM,oBACJ,MACA,aACG;AACH,UAAQ,KAAK,MAAb;GACE,KAAK,OACH,QACE,oBAAC;IAAc,QAAQC;IAAc;IAAoB;MAAT,KAAK,GAAa;GAEtE,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,qBACH,QACE,oBAAC;IAEO;IACO;MAFR,KAAK,GAGV;GAEN,KAAK,4BACH,QACE,4CACE,oBAAC;IAAK,IAAG;IAAK,UAAU;IAAI,IAAI;IAAI,IAAI;cACrC,KAAK;KACD,EACP,oBAAC;IAAsB,QAAQA;IAAc;IAAM;KAAS,IAC3D;GAEP,KAAK,cACH,QACE,oBAAC;IACC,eAAa,KAAK;IAClB,MAAM,KAAK;IACX,UAAU,UAA4BA,SAAO,OAAO,KAAK;IACzD,IAAI;cAGH,KAAK;MAFD,KAAK,GAGC;GAEjB,KAAK,cACH,QACE,oBAAC;IACC,IAAI;IAEJ,eAAa,KAAK;IAClB,MAAM,KAAK;IACX,UAAU,UAA4BA,SAAO,OAAO,KAAK;cAExD,KAAK;MALD,KAAK,GAMC;GAEjB,QACE,QAAO,iCAAK;;;AAIlB,QAAO,cACL,oBAAC;EACC,oBAAoB;EACZ;EACR,MAAM;GACN,GAEF,oBAAC;EACC,MAAK;EACL,cAAW;EACX,UAAU;YAEV,oBAAC,+BACC,qBAAC;GAAgB,IAAG;cACjB,MAAM,KAAK,SAAS,iBAAiB,MAAM,OAAO,CAAC,EACnD,UACC,oBAAC;IAEC,OAAO;KACL,SAAS;KACT,YAAY;KACZ,gBAAgB;KAChB,YAAY;KACZ,WAAW;KACZ;cAEA,gBAAgB,GACf,4CACE,oBAAC;KACC,eAAa,iBAAiB;KAC9B,MAAM,iBAAiB;KACvB,UAAU,UACR,OAAO,OAAO,iBAAiB;eAIhC,iBAAiB;OAFb,iBAAiB,GAGX,EAEb,oBAAC;KACC,eAAa,iBAAiB;KAC9B,MAAM,iBAAiB;KACvB,UAAU,UACR,OAAO,OAAO,iBAAiB;eAIhC,iBAAiB;OAFb,iBAAiB,GAGX,IACZ,GAEH,4CACE,oBAAC;KACC,eAAa,OAAO;KACpB,MAAM,OAAO;KACb,UAAU,UAA4B,OAAO,OAAO,OAAO;eAG1D,OAAO;OAFH,OAAO,GAGD,EAEb,oBAAC;KAEC,eAAa,MAAM;KACnB,MAAM,MAAM;KACZ,UAAU,UAA4B,OAAO,OAAO,MAAM;eAEzD,MAAM;OALF,MAAM,GAMA,IACZ;KAED;IAEQ,GACA;GACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elements.js","names":[],"sources":["../../../src/AppHeaderMobile/AppHeaderSubMenuMobile/elements.tsx"],"sourcesContent":["import { focusVisibleStyle } from '@codecademy/gamut';\nimport { css } from '@codecademy/gamut-styles';\nimport styled from '@emotion/styled';\nimport { PropsWithChildren } from 'react';\n\nimport { AppHeaderListItem } from '../../AppHeader/AppHeaderElements/AppHeaderListItem';\nimport {\n AppHeaderMenuProvider,\n AppHeaderMenuProviderProps,\n} from '../../AppHeader/AppHeaderElements/AppHeaderMenuProvider';\n\nconst uiWrapperFocus = focusVisibleStyle('-4px');\n\nexport const MobileUlWrapper = styled.ul(\n css({\n listStyle: 'none',\n p: 0,\n m: 0,\n pb: 4,\n ...uiWrapperFocus,\n })\n);\n\ntype MobileSubMenuWrapperProps =\n | Pick<AppHeaderMenuProviderProps, 'handleClose'> & { isMenuRole: boolean };\n\nexport const MobileSubMenuWrapper = ({\n children,\n handleClose,\n isMenuRole,\n}: PropsWithChildren<MobileSubMenuWrapperProps>) => {\n return isMenuRole ? (\n <AppHeaderMenuProvider as={AppHeaderListItem} handleClose={handleClose}>\n {children}\n </AppHeaderMenuProvider>\n ) : (\n <AppHeaderListItem>{children}</AppHeaderListItem>\n );\n};\n"],"mappings":";;;;;;;;AAWA,MAAM,iBAAiB,kBAAkB,OAAO;AAEhD,MAAa,kBAAkB,OAAO,GACpC,IAAI;CACF,WAAW;CACX,GAAG;CACH,GAAG;CACH,IAAI;CACJ,GAAG;CACJ,CAAC,CACH;AAKD,MAAa,wBAAwB,EACnC,UACA,aACA,iBACkD;AAClD,QAAO,aACL,oBAAC;EAAsB,IAAI;EAAgC;EACxD;GACqB,GAExB,oBAAC,qBAAmB,WAA6B"}
|
|
@@ -9,4 +9,5 @@ type AppHeaderSubMenuMobileProps = (AppHeaderDropdownProps | AppHeaderCatalogDro
|
|
|
9
9
|
};
|
|
10
10
|
declare const AppHeaderSubNavMobile: React$1.FC<AppHeaderSubMenuMobileProps>;
|
|
11
11
|
//#endregion
|
|
12
|
-
export { AppHeaderSubMenuMobileProps, AppHeaderSubNavMobile };
|
|
12
|
+
export { AppHeaderSubMenuMobileProps, AppHeaderSubNavMobile };
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/AppHeaderMobile/AppHeaderSubMenuMobile/index.tsx"],"sourcesContent":[],"mappings":";;;;;;KAwBY,2BAAA,IACR,yBACA,gCACA;;AAHJ,CAAA;AACI,cAqES,qBArET,EAqEgC,OAAA,CAAM,EArEtC,CAqEyC,2BArEzC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["AppHeaderSubNavMobile: React.FC<AppHeaderSubMenuMobileProps>"],"sources":["../../../src/AppHeaderMobile/AppHeaderSubMenuMobile/index.tsx"],"sourcesContent":["import { Anchor, Box, Menu, Text } from '@codecademy/gamut';\nimport { ArrowLeftIcon } from '@codecademy/gamut-icons';\nimport { css, states, theme } from '@codecademy/gamut-styles';\nimport styled from '@emotion/styled';\nimport { useEffect, useRef } from 'react';\nimport * as React from 'react';\n\nimport { AppHeaderCatalogDropdownProps } from '../../AppHeader/AppHeaderElements/AppHeaderCatalogDropdown';\nimport { CATALOG_NAV_SECTIONS } from '../../AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/consts';\nimport { MarketingBanner } from '../../AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/MarketingBanner';\nimport { AppHeaderDropdownProps } from '../../AppHeader/AppHeaderElements/AppHeaderDropdown';\nimport { AppHeaderLinkSections } from '../../AppHeader/AppHeaderElements/AppHeaderLinkSections';\nimport { AppHeaderListItem } from '../../AppHeader/AppHeaderElements/AppHeaderListItem';\nimport { AppHeaderResourceDropdownProps } from '../../AppHeader/AppHeaderElements/AppHeaderResourcesDropdown';\nimport { RESOURCES_NAV_SECTIONS } from '../../AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/consts';\nimport { AppHeaderSection } from '../../AppHeader/AppHeaderElements/AppHeaderSection';\nimport {\n AppHeaderCatalogDropdownItem,\n AppHeaderClickHandler,\n AppHeaderDropdownItem,\n AppHeaderResourcesDropdownItem,\n} from '../../AppHeader/shared';\nimport { MobileSubMenuWrapper, MobileUlWrapper } from './elements';\n\nexport type AppHeaderSubMenuMobileProps = (\n | AppHeaderDropdownProps\n | AppHeaderCatalogDropdownProps\n | AppHeaderResourceDropdownProps\n) & {\n handleCloseSubMenu: () => void;\n};\n\ntype AppHeaderSectionItem =\n | AppHeaderDropdownItem\n | AppHeaderCatalogDropdownItem\n | AppHeaderResourcesDropdownItem;\n\nconst StyledAnchor = styled(Anchor)(\n css({\n alignItems: `center`,\n display: `flex`,\n width: 'calc(100% - 64px)',\n py: 8,\n mt: 0,\n mb: 16,\n })\n);\n\nconst BackgroundWrapper = styled(Box)<{\n isNotCatalogOrResources: boolean;\n}>(\n states({\n isNotCatalogOrResources: {\n background: theme.colors.white,\n border: 1,\n borderColor: 'border-tertiary',\n borderRadius: 'lg',\n padding: '16px',\n mx: 16,\n },\n })\n);\n\nconst renderHeaderSection = (\n item: AppHeaderSectionItem,\n action: AppHeaderClickHandler,\n handleCloseSubMenu: () => void\n) => {\n switch (item.type) {\n case 'catalog-dropdown':\n return (\n <AppHeaderSection\n navSections={CATALOG_NAV_SECTIONS}\n MarketingBanner={MarketingBanner}\n isMobile\n handleClose={handleCloseSubMenu}\n type=\"catalog-dropdown\"\n isCoachingEnabled={item.isCoachingEnabled}\n />\n );\n case 'resources-dropdown':\n return (\n <AppHeaderSection\n navSections={RESOURCES_NAV_SECTIONS}\n isMobile\n handleClose={handleCloseSubMenu}\n type=\"resources-dropdown\"\n />\n );\n default:\n return <AppHeaderLinkSections action={action} item={item} mobile />;\n }\n};\n\nexport const AppHeaderSubNavMobile: React.FC<AppHeaderSubMenuMobileProps> = ({\n action,\n handleCloseSubMenu,\n item,\n}) => {\n const mainUlWrapper = useRef<HTMLUListElement>(null);\n\n useEffect(() => {\n if (mainUlWrapper?.current) {\n mainUlWrapper.current.focus();\n }\n }, []);\n\n const isProfileMenu = item.type === 'profile-dropdown';\n\n const isCatalogOrResourcesMenu =\n item.type === 'catalog-dropdown' || item.type === 'resources-dropdown';\n\n const renderBackButton = () => {\n if (!isCatalogOrResourcesMenu) {\n return (\n <AppHeaderListItem>\n <StyledAnchor\n onClick={handleCloseSubMenu}\n variant=\"interface\"\n as=\"button\"\n >\n <ArrowLeftIcon size={24} aria-hidden />\n <Text pl={8}>Back</Text>\n </StyledAnchor>\n </AppHeaderListItem>\n );\n }\n return null;\n };\n\n return (\n <BackgroundWrapper isNotCatalogOrResources={!isCatalogOrResourcesMenu}>\n <MobileUlWrapper ref={mainUlWrapper} tabIndex={-1}>\n {renderBackButton()}\n <MobileSubMenuWrapper\n handleClose={handleCloseSubMenu}\n isMenuRole={isProfileMenu}\n >\n {!isCatalogOrResourcesMenu && (\n <Text as=\"h1\" fontSize={20} mb={16} ml={0}>\n {isProfileMenu ? item.userDisplayName : item.text}\n </Text>\n )}\n <Menu\n variant=\"fixed\"\n mx={isCatalogOrResourcesMenu ? { _: 16, sm: 32 } : 0}\n width=\"auto\"\n bg=\"transparent\"\n >\n {renderHeaderSection(item, action, handleCloseSubMenu)}\n </Menu>\n </MobileSubMenuWrapper>\n </MobileUlWrapper>\n </BackgroundWrapper>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAqCA,MAAM,eAAe,OAAO,OAAO,CACjC,IAAI;CACF,YAAY;CACZ,SAAS;CACT,OAAO;CACP,IAAI;CACJ,IAAI;CACJ,IAAI;CACL,CAAC,CACH;AAED,MAAM,oBAAoB,OAAO,IAAI,CAGnC,OAAO,EACL,yBAAyB;CACvB,YAAY,MAAM,OAAO;CACzB,QAAQ;CACR,aAAa;CACb,cAAc;CACd,SAAS;CACT,IAAI;CACL,EACF,CAAC,CACH;AAED,MAAM,uBACJ,MACA,QACA,uBACG;AACH,SAAQ,KAAK,MAAb;EACE,KAAK,mBACH,QACE,oBAAC;GACC,aAAa;GACI;GACjB;GACA,aAAa;GACb,MAAK;GACL,mBAAmB,KAAK;IACxB;EAEN,KAAK,qBACH,QACE,oBAAC;GACC,aAAa;GACb;GACA,aAAa;GACb,MAAK;IACL;EAEN,QACE,QAAO,oBAAC;GAA8B;GAAc;GAAM;IAAS;;;AAIzE,MAAaA,yBAAgE,EAC3E,QACA,oBACA,WACI;CACJ,MAAM,gBAAgB,OAAyB,KAAK;AAEpD,iBAAgB;AACd,MAAI,eAAe,QACjB,eAAc,QAAQ,OAAO;IAE9B,EAAE,CAAC;CAEN,MAAM,gBAAgB,KAAK,SAAS;CAEpC,MAAM,2BACJ,KAAK,SAAS,sBAAsB,KAAK,SAAS;CAEpD,MAAM,yBAAyB;AAC7B,MAAI,CAAC,yBACH,QACE,oBAAC,+BACC,qBAAC;GACC,SAAS;GACT,SAAQ;GACR,IAAG;cAEH,oBAAC;IAAc,MAAM;IAAI;KAAc,EACvC,oBAAC;IAAK,IAAI;cAAG;KAAW;IACX,GACG;AAGxB,SAAO;;AAGT,QACE,oBAAC;EAAkB,yBAAyB,CAAC;YAC3C,qBAAC;GAAgB,KAAK;GAAe,UAAU;cAC5C,kBAAkB,EACnB,qBAAC;IACC,aAAa;IACb,YAAY;eAEX,CAAC,4BACA,oBAAC;KAAK,IAAG;KAAK,UAAU;KAAI,IAAI;KAAI,IAAI;eACrC,gBAAgB,KAAK,kBAAkB,KAAK;MACxC,EAET,oBAAC;KACC,SAAQ;KACR,IAAI,2BAA2B;MAAE,GAAG;MAAI,IAAI;MAAI,GAAG;KACnD,OAAM;KACN,IAAG;eAEF,oBAAoB,MAAM,QAAQ,mBAAmB;MACjD;KACc;IACP;GACA"}
|
|
@@ -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"}
|