From afe34408c41aff6594d53e24a759bc46feecc658 Mon Sep 17 00:00:00 2001 From: Jake Hiller Date: Thu, 7 Sep 2023 21:07:05 +0000 Subject: [PATCH] =?UTF-8?q?chore:=20remove=20gamut=20labs=20=F0=9F=92=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 7 +- packages/gamut-labs/.gitignore | 1 - packages/gamut-labs/CHANGELOG.md | 8067 ----------------- packages/gamut-labs/README.md | 7 - packages/gamut-labs/babel.config.js | 14 - packages/gamut-labs/jest.config.ts | 10 - packages/gamut-labs/package.json | 66 - packages/gamut-labs/project.json | 31 - .../gamut-labs/src/AppBar/AppBarSection.tsx | 31 - packages/gamut-labs/src/AppBar/index.tsx | 34 - .../src/AppBar/styles/index.module.scss | 38 - .../AppHeaderCatalogDropdown.test.tsx | 40 - .../AppHeaderCatalogDropdown/index.tsx | 241 - .../AppHeaderCatalogSection/index.tsx | 298 - .../__tests__/AppHeaderDropdown.test.tsx | 48 - .../AppHeaderDropdown/index.tsx | 279 - .../__tests__/AppHeaderLink.test.tsx | 40 - .../AppHeaderElements/AppHeaderLink/index.tsx | 54 - .../AppHeaderLinkSections/index.tsx | 114 - .../AppHeaderListItem/index.tsx | 34 - .../__tests__/AppHeaderLogo.test.tsx | 100 - .../AppHeaderElements/AppHeaderLogo/index.tsx | 60 - .../AppHeaderResourcesDropdown/index.tsx | 234 - .../AppHeaderResourcesSection/index.tsx | 149 - .../src/AppHeader/AppHeaderElements/types.tsx | 117 - .../src/AppHeader/Search/SearchPane.tsx | 196 - .../Search/__tests__/SearchPane.test.tsx | 48 - .../src/AppHeader/Search/useHeaderSearch.tsx | 53 - .../AppHeader/__tests__/AppHeader.test.tsx | 174 - packages/gamut-labs/src/AppHeader/index.tsx | 291 - .../src/AppHeader/mockAppHeaderItems.tsx | 16 - packages/gamut-labs/src/AppHeader/shared.tsx | 106 - packages/gamut-labs/src/AppHeader/types.tsx | 10 - .../MobileSearchBar.tsx | 85 - .../AppHeaderMainMenuMobile.test.tsx | 122 - .../__tests__/MobileSearchBar.test.tsx | 20 - .../AppHeaderMainMenuMobile/index.tsx | 164 - .../__tests__/AppHeaderSubMenuMobile.test.tsx | 44 - .../AppHeaderSubMenuMobile/index.tsx | 103 - .../__tests__/AppHeaderSubMenuTarget.test.tsx | 31 - .../AppHeaderSubMenuTarget/index.tsx | 77 - .../__tests__/AppHeaderMobile.test.tsx | 118 - .../gamut-labs/src/AppHeaderMobile/index.tsx | 217 - .../src/Avatar/__tests__/Avatar.test.tsx | 39 - packages/gamut-labs/src/Avatar/index.tsx | 100 - .../__tests__/AvatarChooser.test.tsx | 70 - .../gamut-labs/src/AvatarChooser/index.tsx | 143 - .../src/Banner/__tests__/Banner.test.tsx | 70 - packages/gamut-labs/src/Banner/index.tsx | 96 - packages/gamut-labs/src/BetaSticker/index.tsx | 27 - .../src/Byline/__tests__/Byline.test.tsx | 18 - packages/gamut-labs/src/Byline/index.tsx | 53 - .../__tests__/CareerPathCard.test.tsx | 63 - .../gamut-labs/src/CareerPathCard/index.tsx | 83 - .../__tests__/ContentGroupBaseCard.test.tsx | 69 - .../src/ContentGroupBaseCard/helpers.ts | 14 - .../src/ContentGroupBaseCard/index.tsx | 165 - .../src/ContentGroupBaseCard/shared.tsx | 46 - .../src/ContentGroupBaseCard/types.ts | 16 - .../CourseCard/__tests__/CourseCard.test.tsx | 48 - .../__tests__/__fixtures__/index.tsx | 25 - packages/gamut-labs/src/CourseCard/index.tsx | 54 - .../BottomTag/__tests__/BottomTag.test.tsx | 15 - .../src/CurriculumCard/BottomTag/index.tsx | 24 - .../Difficulty/__tests__/Difficulty.test.tsx | 22 - .../src/CurriculumCard/Difficulty/helpers.ts | 18 - .../src/CurriculumCard/Difficulty/index.tsx | 50 - .../src/CurriculumCard/Difficulty/types.ts | 26 - .../Footer/__tests__/Footer.test.tsx | 58 - .../src/CurriculumCard/Footer/index.tsx | 59 - .../Image/__tests__/Image.test.tsx | 29 - .../src/CurriculumCard/Image/index.tsx | 72 - .../Subtitle/__tests__/Subtitle.test.tsx | 36 - .../src/CurriculumCard/Subtitle/helpers.tsx | 9 - .../src/CurriculumCard/Subtitle/index.tsx | 48 - .../__tests__/CurriculumCard.test.tsx | 60 - .../gamut-labs/src/CurriculumCard/index.tsx | 202 - .../src/DropdownButton/DropdownList.tsx | 47 - .../__tests__/DropdownButton.test.tsx | 68 - .../__tests__/DropdownList.test.tsx | 39 - .../gamut-labs/src/DropdownButton/index.tsx | 140 - .../gamut-labs/src/EditorialImage/index.tsx | 26 - .../src/EditorialImage/styles.module.scss | 36 - .../__tests__/EmptySection.test.tsx | 28 - .../gamut-labs/src/EmptySection/index.tsx | 150 - .../__tests__/ErrorContents.test.tsx | 21 - .../gamut-labs/src/ErrorContents/index.tsx | 44 - .../src/GlobalFooter/FooterHeading.tsx | 13 - .../GlobalFooter/FooterLegal/LegalLinks.tsx | 68 - .../src/GlobalFooter/FooterLegal/MadeIn.tsx | 66 - .../FooterLegal/__tests__/LegalLinks.test.tsx | 18 - .../FooterLegal/__tests__/MadeIn.test.tsx | 18 - .../src/GlobalFooter/FooterLegal/index.tsx | 37 - .../src/GlobalFooter/FooterLinks.tsx | 51 - .../FooterNavLinks/CatalogLinks.tsx | 283 - .../FooterNavLinks/CompanyLinks.tsx | 236 - .../FooterNavLinks/SocialMediaLinks.tsx | 56 - .../__tests__/CompanyLinks.test.tsx | 34 - .../assets/download-on-the-app-store.svg | 45 - .../assets/get-it-on-google-play.png | Bin 5895 -> 0 bytes .../src/GlobalFooter/FooterNavLinks/index.tsx | 31 - .../src/GlobalFooter/FooterSubHeading.tsx | 9 - .../__tests__/GlobalFooter.test.tsx | 15 - .../gamut-labs/src/GlobalFooter/index.tsx | 51 - packages/gamut-labs/src/GlobalFooter/types.ts | 15 - .../src/GlobalHeader/GlobalHeaderItems.tsx | 427 - .../src/GlobalHeader/GlobalHeaderVariants.tsx | 290 - .../__tests__/GlobalHeader.test.tsx | 452 - .../__tests__/GlobalHeaderVariants.test.tsx | 26 - .../__tests__/urlHelpers.test.tsx | 27 - .../gamut-labs/src/GlobalHeader/index.tsx | 159 - .../gamut-labs/src/GlobalHeader/types.tsx | 81 - .../src/GlobalHeader/urlHelpers.tsx | 16 - .../GlobalPage/__tests__/GlobalPage.test.tsx | 59 - packages/gamut-labs/src/GlobalPage/index.tsx | 86 - .../gamut-labs/src/HeaderHeightArea/index.tsx | 57 - .../HeaderHeightArea/useIsInHeaderRegion.ts | 17 - .../src/HorizontalScrollMenu/index.tsx | 87 - packages/gamut-labs/src/HubCard/index.tsx | 38 - .../src/InfoCard/__tests__/InfoCard.test.tsx | 35 - packages/gamut-labs/src/InfoCard/index.tsx | 170 - .../__tests__/Interstitial.test.tsx | 33 - .../gamut-labs/src/Interstitial/index.tsx | 97 - packages/gamut-labs/src/LandingPage/CTA.tsx | 18 - .../src/LandingPage/Description.tsx | 17 - .../gamut-labs/src/LandingPage/Feature.tsx | 90 - .../src/LandingPage/PageFeatures.tsx | 143 - .../gamut-labs/src/LandingPage/PageHero.tsx | 40 - .../src/LandingPage/PagePrefooter.tsx | 44 - .../src/LandingPage/PageSingleFeature.tsx | 159 - .../src/LandingPage/PageVideoGallery.tsx | 84 - packages/gamut-labs/src/LandingPage/Title.tsx | 33 - .../__tests__/PageFeatures.test.tsx | 119 - .../__tests__/PagePrefooter.test.tsx | 33 - .../__tests__/PageSingleFeature.test.tsx | 125 - .../__tests__/PageVideoGallery.test.tsx | 64 - packages/gamut-labs/src/LandingPage/index.ts | 5 - packages/gamut-labs/src/LandingPage/types.tsx | 28 - .../src/LayoutMenu/AccordionMenu.tsx | 89 - .../gamut-labs/src/LayoutMenu/LayoutMenu.tsx | 143 - .../src/LayoutMenu/LayoutMenuSection.tsx | 43 - .../src/LayoutMenu/SectionItemLink.tsx | 19 - .../src/LayoutMenu/SelectedSectionItem.tsx | 12 - .../__tests__/AccordionMenu.test.tsx | 51 - .../LayoutMenu/__tests__/LayoutMenu.test.tsx | 83 - .../__tests__/LayoutMenuSection.test.tsx | 30 - packages/gamut-labs/src/LayoutMenu/index.ts | 3 - .../src/LayoutMenuVariant/AccordionMenu.tsx | 96 - .../src/LayoutMenuVariant/LayoutMenu.tsx | 135 - .../LayoutMenuVariant/LayoutMenuSection.tsx | 40 - .../src/LayoutMenuVariant/SectionItemLink.tsx | 19 - .../__tests__/AccordionMenu.test.tsx | 42 - .../__tests__/LayoutMenu.test.tsx | 83 - .../__tests__/LayoutMenuSection.test.tsx | 30 - .../gamut-labs/src/LayoutMenuVariant/index.ts | 2 - .../__tests__/ListSection.test.tsx | 105 - packages/gamut-labs/src/ListSection/index.tsx | 88 - packages/gamut-labs/src/Loading/index.tsx | 93 - .../gamut-labs/src/Loading/styles.module.scss | 131 - .../gamut-labs/src/Logo/CodecademyLogo.tsx | 13 - .../src/Logo/CodecademyPremiumLogo.tsx | 34 - .../src/Logo/CodecademyProAltLogo.tsx | 15 - .../src/Logo/CodecademyProLockupLogo.tsx | 13 - .../gamut-labs/src/Logo/CodecademyProLogo.tsx | 19 - .../src/Logo/CodecademyProMonoLogo.tsx | 20 - .../src/Logo/CodecademyProgramLogo.tsx | 13 - packages/gamut-labs/src/Logo/index.tsx | 46 - .../src/LogoFromSkillsoft/index.tsx | 68 - .../__tests__/LogoProCutout.test.tsx | 13 - .../gamut-labs/src/LogoProCutout/index.tsx | 40 - .../LogoProCutoutTransparent.test.tsx | 13 - .../src/LogoProCutoutTransparent/index.tsx | 43 - .../src/Notifications/NotificationBell.tsx | 70 - .../Notifications/NotificationsContents.tsx | 89 - .../Notifications/NotificationsPopover.tsx | 33 - .../src/Notifications/__fixtures__/stubs.ts | 12 - .../__tests__/NotificationBell.test.tsx | 49 - .../__tests__/NotificationsContents.test.tsx | 95 - .../__tests__/useHeaderNotifications.test.tsx | 100 - .../__tests__/useNotificationButtons.test.tsx | 150 - .../gamut-labs/src/Notifications/constants.ts | 4 - .../gamut-labs/src/Notifications/types.ts | 26 - .../Notifications/useHeaderNotifications.tsx | 69 - .../Notifications/useNotificationButtons.tsx | 59 - .../gamut-labs/src/PageAlerts/PageAlerts.tsx | 93 - .../src/PageAlerts/PageAlertsProvider.tsx | 47 - .../PageAlerts/__tests__/PageAlerts.test.tsx | 125 - packages/gamut-labs/src/PageAlerts/index.ts | 3 - packages/gamut-labs/src/PageAlerts/types.ts | 20 - .../__tests__/PageSection.test.tsx | 67 - packages/gamut-labs/src/PageSection/index.tsx | 90 - .../BaseImage/__tests__/BaseImage.test.tsx | 31 - .../src/PausableImage/BaseImage/index.tsx | 68 - .../__tests__/PausableImage.test.tsx | 32 - .../gamut-labs/src/PausableImage/index.tsx | 44 - .../gamut-labs/src/PlanCard/PlanFeature.tsx | 60 - .../gamut-labs/src/PlanCard/PricingAmount.tsx | 108 - .../src/PlanCard/RecommendedBadge.tsx | 21 - packages/gamut-labs/src/PlanCard/consts.ts | 62 - packages/gamut-labs/src/PlanCard/index.tsx | 204 - packages/gamut-labs/src/PlanCard/types.tsx | 64 - packages/gamut-labs/src/ProLabel/index.tsx | 79 - packages/gamut-labs/src/ProLogo/index.tsx | 40 - .../ProLogoAlt/__tests__/ProLogoAlt.test.tsx | 13 - packages/gamut-labs/src/ProLogoAlt/index.tsx | 35 - packages/gamut-labs/src/QuizScore/index.tsx | 92 - .../RatingsBar/__tests__/RatingsBar.test.tsx | 27 - packages/gamut-labs/src/RatingsBar/index.tsx | 56 - .../gamut-labs/src/ScoreSummary/helpers.tsx | 63 - .../gamut-labs/src/ScoreSummary/index.tsx | 287 - .../gamut-labs/src/ScoreSummary/types.tsx | 442 - .../__tests__/SkillPathCard.test.tsx | 13 - .../__tests__/__fixtures__/index.tsx | 16 - .../gamut-labs/src/SkillPathCard/index.tsx | 54 - .../SocialShareIconLink.tsx | 63 - .../__tests__/SocialMediaSharing.test.tsx | 33 - .../src/SocialMediaSharing/index.tsx | 140 - .../gamut-labs/src/TabsExperimental/Tab.tsx | 69 - .../src/TabsExperimental/TabList.tsx | 28 - .../TabsExperimental/TabPanelExperimental.tsx | 16 - .../src/TabsExperimental/TabPanelList.tsx | 28 - .../src/TabsExperimental/TabsExperimental.tsx | 26 - .../__tests__/TabsExperimental.test.tsx | 57 - .../gamut-labs/src/TabsExperimental/index.ts | 2 - .../gamut-labs/src/TabsExperimental/types.ts | 33 - .../gamut-labs/src/TabsExperimental/utils.ts | 12 - .../__tests__/Testimonial.test.tsx | 84 - packages/gamut-labs/src/Testimonial/index.tsx | 172 - .../__tests__/TestimonialDeprecated.test.tsx | 30 - .../src/TestimonialDeprecated/index.tsx | 176 - packages/gamut-labs/src/assets/darkQuotes.svg | 1 - packages/gamut-labs/src/assets/dots.svg | 1 - .../gamut-labs/src/assets/lightQuotes.svg | 1 - packages/gamut-labs/src/assets/navyQuotes.svg | 5 - .../gamut-labs/src/assets/orange_squiggle.svg | 1 - packages/gamut-labs/src/index.ts | 58 - .../src/lib/breakpointHooks/index.ts | 66 - .../gamut-labs/src/lib/catalogList/index.tsx | 178 - .../resourcesList/__tests__/index.test.tsx | 14 - .../src/lib/resourcesList/index.tsx | 256 - .../gamut-labs/src/remoteAssets/components.ts | 2 - packages/gamut-labs/tsconfig.json | 28 - packages/gamut-labs/tsconfig.lib.json | 32 - packages/gamut-labs/tsconfig.spec.json | 21 - .../gamut-labs/typings/react-freezeframe.d.ts | 1 - .../styleguide/stories/Meta/FAQs.stories.mdx | 11 - 246 files changed, 1 insertion(+), 25163 deletions(-) delete mode 100644 packages/gamut-labs/.gitignore delete mode 100644 packages/gamut-labs/CHANGELOG.md delete mode 100644 packages/gamut-labs/README.md delete mode 100644 packages/gamut-labs/babel.config.js delete mode 100644 packages/gamut-labs/jest.config.ts delete mode 100644 packages/gamut-labs/package.json delete mode 100644 packages/gamut-labs/project.json delete mode 100644 packages/gamut-labs/src/AppBar/AppBarSection.tsx delete mode 100644 packages/gamut-labs/src/AppBar/index.tsx delete mode 100644 packages/gamut-labs/src/AppBar/styles/index.module.scss delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/__tests__/AppHeaderCatalogDropdown.test.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderCatalogSection/index.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderDropdown/__tests__/AppHeaderDropdown.test.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderDropdown/index.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLink/__tests__/AppHeaderLink.test.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLink/index.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLinkSections/index.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderListItem/index.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLogo/__tests__/AppHeaderLogo.test.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLogo/index.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/index.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderResourcesSection/index.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/AppHeaderElements/types.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/Search/SearchPane.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/Search/__tests__/SearchPane.test.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/Search/useHeaderSearch.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/__tests__/AppHeader.test.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/index.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/mockAppHeaderItems.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/shared.tsx delete mode 100644 packages/gamut-labs/src/AppHeader/types.tsx delete mode 100644 packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/MobileSearchBar.tsx delete mode 100644 packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/__tests__/AppHeaderMainMenuMobile.test.tsx delete mode 100644 packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/__tests__/MobileSearchBar.test.tsx delete mode 100644 packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/index.tsx delete mode 100644 packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuMobile/__tests__/AppHeaderSubMenuMobile.test.tsx delete mode 100644 packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuMobile/index.tsx delete mode 100644 packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuTarget/__tests__/AppHeaderSubMenuTarget.test.tsx delete mode 100644 packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuTarget/index.tsx delete mode 100644 packages/gamut-labs/src/AppHeaderMobile/__tests__/AppHeaderMobile.test.tsx delete mode 100644 packages/gamut-labs/src/AppHeaderMobile/index.tsx delete mode 100644 packages/gamut-labs/src/Avatar/__tests__/Avatar.test.tsx delete mode 100644 packages/gamut-labs/src/Avatar/index.tsx delete mode 100644 packages/gamut-labs/src/AvatarChooser/__tests__/AvatarChooser.test.tsx delete mode 100644 packages/gamut-labs/src/AvatarChooser/index.tsx delete mode 100644 packages/gamut-labs/src/Banner/__tests__/Banner.test.tsx delete mode 100644 packages/gamut-labs/src/Banner/index.tsx delete mode 100644 packages/gamut-labs/src/BetaSticker/index.tsx delete mode 100644 packages/gamut-labs/src/Byline/__tests__/Byline.test.tsx delete mode 100644 packages/gamut-labs/src/Byline/index.tsx delete mode 100644 packages/gamut-labs/src/CareerPathCard/__tests__/CareerPathCard.test.tsx delete mode 100644 packages/gamut-labs/src/CareerPathCard/index.tsx delete mode 100644 packages/gamut-labs/src/ContentGroupBaseCard/__tests__/ContentGroupBaseCard.test.tsx delete mode 100644 packages/gamut-labs/src/ContentGroupBaseCard/helpers.ts delete mode 100644 packages/gamut-labs/src/ContentGroupBaseCard/index.tsx delete mode 100644 packages/gamut-labs/src/ContentGroupBaseCard/shared.tsx delete mode 100644 packages/gamut-labs/src/ContentGroupBaseCard/types.ts delete mode 100644 packages/gamut-labs/src/CourseCard/__tests__/CourseCard.test.tsx delete mode 100644 packages/gamut-labs/src/CourseCard/__tests__/__fixtures__/index.tsx delete mode 100644 packages/gamut-labs/src/CourseCard/index.tsx delete mode 100644 packages/gamut-labs/src/CurriculumCard/BottomTag/__tests__/BottomTag.test.tsx delete mode 100644 packages/gamut-labs/src/CurriculumCard/BottomTag/index.tsx delete mode 100644 packages/gamut-labs/src/CurriculumCard/Difficulty/__tests__/Difficulty.test.tsx delete mode 100644 packages/gamut-labs/src/CurriculumCard/Difficulty/helpers.ts delete mode 100644 packages/gamut-labs/src/CurriculumCard/Difficulty/index.tsx delete mode 100644 packages/gamut-labs/src/CurriculumCard/Difficulty/types.ts delete mode 100644 packages/gamut-labs/src/CurriculumCard/Footer/__tests__/Footer.test.tsx delete mode 100644 packages/gamut-labs/src/CurriculumCard/Footer/index.tsx delete mode 100644 packages/gamut-labs/src/CurriculumCard/Image/__tests__/Image.test.tsx delete mode 100644 packages/gamut-labs/src/CurriculumCard/Image/index.tsx delete mode 100644 packages/gamut-labs/src/CurriculumCard/Subtitle/__tests__/Subtitle.test.tsx delete mode 100644 packages/gamut-labs/src/CurriculumCard/Subtitle/helpers.tsx delete mode 100644 packages/gamut-labs/src/CurriculumCard/Subtitle/index.tsx delete mode 100644 packages/gamut-labs/src/CurriculumCard/__tests__/CurriculumCard.test.tsx delete mode 100644 packages/gamut-labs/src/CurriculumCard/index.tsx delete mode 100644 packages/gamut-labs/src/DropdownButton/DropdownList.tsx delete mode 100644 packages/gamut-labs/src/DropdownButton/__tests__/DropdownButton.test.tsx delete mode 100644 packages/gamut-labs/src/DropdownButton/__tests__/DropdownList.test.tsx delete mode 100644 packages/gamut-labs/src/DropdownButton/index.tsx delete mode 100644 packages/gamut-labs/src/EditorialImage/index.tsx delete mode 100644 packages/gamut-labs/src/EditorialImage/styles.module.scss delete mode 100644 packages/gamut-labs/src/EmptySection/__tests__/EmptySection.test.tsx delete mode 100644 packages/gamut-labs/src/EmptySection/index.tsx delete mode 100644 packages/gamut-labs/src/ErrorContents/__tests__/ErrorContents.test.tsx delete mode 100644 packages/gamut-labs/src/ErrorContents/index.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterHeading.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterLegal/LegalLinks.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterLegal/MadeIn.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterLegal/__tests__/LegalLinks.test.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterLegal/__tests__/MadeIn.test.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterLegal/index.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterLinks.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterNavLinks/CatalogLinks.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterNavLinks/CompanyLinks.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterNavLinks/SocialMediaLinks.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterNavLinks/__tests__/CompanyLinks.test.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterNavLinks/assets/download-on-the-app-store.svg delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterNavLinks/assets/get-it-on-google-play.png delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterNavLinks/index.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/FooterSubHeading.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/__tests__/GlobalFooter.test.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/index.tsx delete mode 100644 packages/gamut-labs/src/GlobalFooter/types.ts delete mode 100644 packages/gamut-labs/src/GlobalHeader/GlobalHeaderItems.tsx delete mode 100644 packages/gamut-labs/src/GlobalHeader/GlobalHeaderVariants.tsx delete mode 100644 packages/gamut-labs/src/GlobalHeader/__tests__/GlobalHeader.test.tsx delete mode 100644 packages/gamut-labs/src/GlobalHeader/__tests__/GlobalHeaderVariants.test.tsx delete mode 100644 packages/gamut-labs/src/GlobalHeader/__tests__/urlHelpers.test.tsx delete mode 100644 packages/gamut-labs/src/GlobalHeader/index.tsx delete mode 100644 packages/gamut-labs/src/GlobalHeader/types.tsx delete mode 100644 packages/gamut-labs/src/GlobalHeader/urlHelpers.tsx delete mode 100644 packages/gamut-labs/src/GlobalPage/__tests__/GlobalPage.test.tsx delete mode 100644 packages/gamut-labs/src/GlobalPage/index.tsx delete mode 100644 packages/gamut-labs/src/HeaderHeightArea/index.tsx delete mode 100644 packages/gamut-labs/src/HeaderHeightArea/useIsInHeaderRegion.ts delete mode 100644 packages/gamut-labs/src/HorizontalScrollMenu/index.tsx delete mode 100644 packages/gamut-labs/src/HubCard/index.tsx delete mode 100644 packages/gamut-labs/src/InfoCard/__tests__/InfoCard.test.tsx delete mode 100644 packages/gamut-labs/src/InfoCard/index.tsx delete mode 100644 packages/gamut-labs/src/Interstitial/__tests__/Interstitial.test.tsx delete mode 100644 packages/gamut-labs/src/Interstitial/index.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/CTA.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/Description.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/Feature.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/PageFeatures.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/PageHero.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/PagePrefooter.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/PageSingleFeature.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/PageVideoGallery.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/Title.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/__tests__/PageFeatures.test.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/__tests__/PagePrefooter.test.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/__tests__/PageSingleFeature.test.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/__tests__/PageVideoGallery.test.tsx delete mode 100644 packages/gamut-labs/src/LandingPage/index.ts delete mode 100644 packages/gamut-labs/src/LandingPage/types.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenu/AccordionMenu.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenu/LayoutMenu.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenu/LayoutMenuSection.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenu/SectionItemLink.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenu/SelectedSectionItem.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenu/__tests__/AccordionMenu.test.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenu/__tests__/LayoutMenu.test.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenu/__tests__/LayoutMenuSection.test.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenu/index.ts delete mode 100644 packages/gamut-labs/src/LayoutMenuVariant/AccordionMenu.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenuVariant/LayoutMenu.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenuVariant/LayoutMenuSection.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenuVariant/SectionItemLink.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenuVariant/__tests__/AccordionMenu.test.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenuVariant/__tests__/LayoutMenu.test.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenuVariant/__tests__/LayoutMenuSection.test.tsx delete mode 100644 packages/gamut-labs/src/LayoutMenuVariant/index.ts delete mode 100644 packages/gamut-labs/src/ListSection/__tests__/ListSection.test.tsx delete mode 100644 packages/gamut-labs/src/ListSection/index.tsx delete mode 100644 packages/gamut-labs/src/Loading/index.tsx delete mode 100644 packages/gamut-labs/src/Loading/styles.module.scss delete mode 100644 packages/gamut-labs/src/Logo/CodecademyLogo.tsx delete mode 100644 packages/gamut-labs/src/Logo/CodecademyPremiumLogo.tsx delete mode 100644 packages/gamut-labs/src/Logo/CodecademyProAltLogo.tsx delete mode 100644 packages/gamut-labs/src/Logo/CodecademyProLockupLogo.tsx delete mode 100644 packages/gamut-labs/src/Logo/CodecademyProLogo.tsx delete mode 100644 packages/gamut-labs/src/Logo/CodecademyProMonoLogo.tsx delete mode 100644 packages/gamut-labs/src/Logo/CodecademyProgramLogo.tsx delete mode 100644 packages/gamut-labs/src/Logo/index.tsx delete mode 100644 packages/gamut-labs/src/LogoFromSkillsoft/index.tsx delete mode 100644 packages/gamut-labs/src/LogoProCutout/__tests__/LogoProCutout.test.tsx delete mode 100644 packages/gamut-labs/src/LogoProCutout/index.tsx delete mode 100644 packages/gamut-labs/src/LogoProCutoutTransparent/__tests__/LogoProCutoutTransparent.test.tsx delete mode 100644 packages/gamut-labs/src/LogoProCutoutTransparent/index.tsx delete mode 100644 packages/gamut-labs/src/Notifications/NotificationBell.tsx delete mode 100644 packages/gamut-labs/src/Notifications/NotificationsContents.tsx delete mode 100644 packages/gamut-labs/src/Notifications/NotificationsPopover.tsx delete mode 100644 packages/gamut-labs/src/Notifications/__fixtures__/stubs.ts delete mode 100644 packages/gamut-labs/src/Notifications/__tests__/NotificationBell.test.tsx delete mode 100644 packages/gamut-labs/src/Notifications/__tests__/NotificationsContents.test.tsx delete mode 100644 packages/gamut-labs/src/Notifications/__tests__/useHeaderNotifications.test.tsx delete mode 100644 packages/gamut-labs/src/Notifications/__tests__/useNotificationButtons.test.tsx delete mode 100644 packages/gamut-labs/src/Notifications/constants.ts delete mode 100644 packages/gamut-labs/src/Notifications/types.ts delete mode 100644 packages/gamut-labs/src/Notifications/useHeaderNotifications.tsx delete mode 100644 packages/gamut-labs/src/Notifications/useNotificationButtons.tsx delete mode 100644 packages/gamut-labs/src/PageAlerts/PageAlerts.tsx delete mode 100644 packages/gamut-labs/src/PageAlerts/PageAlertsProvider.tsx delete mode 100644 packages/gamut-labs/src/PageAlerts/__tests__/PageAlerts.test.tsx delete mode 100644 packages/gamut-labs/src/PageAlerts/index.ts delete mode 100644 packages/gamut-labs/src/PageAlerts/types.ts delete mode 100644 packages/gamut-labs/src/PageSection/__tests__/PageSection.test.tsx delete mode 100644 packages/gamut-labs/src/PageSection/index.tsx delete mode 100644 packages/gamut-labs/src/PausableImage/BaseImage/__tests__/BaseImage.test.tsx delete mode 100644 packages/gamut-labs/src/PausableImage/BaseImage/index.tsx delete mode 100644 packages/gamut-labs/src/PausableImage/__tests__/PausableImage.test.tsx delete mode 100644 packages/gamut-labs/src/PausableImage/index.tsx delete mode 100644 packages/gamut-labs/src/PlanCard/PlanFeature.tsx delete mode 100644 packages/gamut-labs/src/PlanCard/PricingAmount.tsx delete mode 100644 packages/gamut-labs/src/PlanCard/RecommendedBadge.tsx delete mode 100644 packages/gamut-labs/src/PlanCard/consts.ts delete mode 100644 packages/gamut-labs/src/PlanCard/index.tsx delete mode 100644 packages/gamut-labs/src/PlanCard/types.tsx delete mode 100644 packages/gamut-labs/src/ProLabel/index.tsx delete mode 100644 packages/gamut-labs/src/ProLogo/index.tsx delete mode 100644 packages/gamut-labs/src/ProLogoAlt/__tests__/ProLogoAlt.test.tsx delete mode 100644 packages/gamut-labs/src/ProLogoAlt/index.tsx delete mode 100644 packages/gamut-labs/src/QuizScore/index.tsx delete mode 100644 packages/gamut-labs/src/RatingsBar/__tests__/RatingsBar.test.tsx delete mode 100644 packages/gamut-labs/src/RatingsBar/index.tsx delete mode 100644 packages/gamut-labs/src/ScoreSummary/helpers.tsx delete mode 100644 packages/gamut-labs/src/ScoreSummary/index.tsx delete mode 100644 packages/gamut-labs/src/ScoreSummary/types.tsx delete mode 100644 packages/gamut-labs/src/SkillPathCard/__tests__/SkillPathCard.test.tsx delete mode 100644 packages/gamut-labs/src/SkillPathCard/__tests__/__fixtures__/index.tsx delete mode 100644 packages/gamut-labs/src/SkillPathCard/index.tsx delete mode 100644 packages/gamut-labs/src/SocialMediaSharing/SocialShareIconLink.tsx delete mode 100644 packages/gamut-labs/src/SocialMediaSharing/__tests__/SocialMediaSharing.test.tsx delete mode 100644 packages/gamut-labs/src/SocialMediaSharing/index.tsx delete mode 100644 packages/gamut-labs/src/TabsExperimental/Tab.tsx delete mode 100644 packages/gamut-labs/src/TabsExperimental/TabList.tsx delete mode 100644 packages/gamut-labs/src/TabsExperimental/TabPanelExperimental.tsx delete mode 100644 packages/gamut-labs/src/TabsExperimental/TabPanelList.tsx delete mode 100644 packages/gamut-labs/src/TabsExperimental/TabsExperimental.tsx delete mode 100644 packages/gamut-labs/src/TabsExperimental/__tests__/TabsExperimental.test.tsx delete mode 100644 packages/gamut-labs/src/TabsExperimental/index.ts delete mode 100644 packages/gamut-labs/src/TabsExperimental/types.ts delete mode 100644 packages/gamut-labs/src/TabsExperimental/utils.ts delete mode 100644 packages/gamut-labs/src/Testimonial/__tests__/Testimonial.test.tsx delete mode 100644 packages/gamut-labs/src/Testimonial/index.tsx delete mode 100644 packages/gamut-labs/src/TestimonialDeprecated/__tests__/TestimonialDeprecated.test.tsx delete mode 100644 packages/gamut-labs/src/TestimonialDeprecated/index.tsx delete mode 100644 packages/gamut-labs/src/assets/darkQuotes.svg delete mode 100644 packages/gamut-labs/src/assets/dots.svg delete mode 100644 packages/gamut-labs/src/assets/lightQuotes.svg delete mode 100644 packages/gamut-labs/src/assets/navyQuotes.svg delete mode 100644 packages/gamut-labs/src/assets/orange_squiggle.svg delete mode 100644 packages/gamut-labs/src/index.ts delete mode 100644 packages/gamut-labs/src/lib/breakpointHooks/index.ts delete mode 100644 packages/gamut-labs/src/lib/catalogList/index.tsx delete mode 100644 packages/gamut-labs/src/lib/resourcesList/__tests__/index.test.tsx delete mode 100644 packages/gamut-labs/src/lib/resourcesList/index.tsx delete mode 100644 packages/gamut-labs/src/remoteAssets/components.ts delete mode 100644 packages/gamut-labs/tsconfig.json delete mode 100644 packages/gamut-labs/tsconfig.lib.json delete mode 100644 packages/gamut-labs/tsconfig.spec.json delete mode 100644 packages/gamut-labs/typings/react-freezeframe.d.ts diff --git a/README.md b/README.md index 56f95f5a3b..49333cfdcb 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ This repository is a monorepo that we manage using [Lerna](https://lerna.js.org/ ## Gamut Kit -We provide a single package to manage the versions of a few core dependencies: `gamut`, `gamut-icons`, `gamut-illustrations`, `gamut-labs`, `gamut-patterns`, `gamut-styles`. Since these packages are highly intertwined we suggest only installing `@codecademy/gamut-kit` when your app needs all of these. +We provide a single package to manage the versions of a few core dependencies: `gamut`, `gamut-icons`, `gamut-illustrations`, `gamut-patterns`, `gamut-styles`. Since these packages are highly intertwined we suggest only installing `@codecademy/gamut-kit` when your app needs all of these. [`gamut-kit`: Include in your application instead of the individual packages to simplify version management. ](/packages/gamut-kit/README.md) @@ -26,7 +26,6 @@ We provide a single package to manage the versions of a few core dependencies: ` "@codecademy/gamut-icons": "*", "@codecademy/gamut-patterns": "*", "@codecademy/gamut-illustrations": "*", - "@codecademy/gamut-labs": "*", "@codecademy/gamut-styles": "*", "@codecademy/gamut-tests": "*", "@codecademy/variance": "*" @@ -48,10 +47,6 @@ We provide a single package to manage the versions of a few core dependencies: ` - [![npm version](https://badge.fury.io/js/%40codecademy%2Fgamut-icons.svg)](https://badge.fury.io/js/%40codecademy%2Fgamut-icons) -[`gamut-labs`: Experimental and brand level components](/packages/gamut-labs/README.md) - -- [![npm version](https://badge.fury.io/js/%40codecademy%2Fgamut-labs.svg)](https://badge.fury.io/js/%40codecademy%2Fgamut-labs) - [`variance`: TypeScript CSS in JS utility library](/packages/variance/README.md) - [![npm version](https://badge.fury.io/js/%40codecademy%2Fvariance.svg)](https://badge.fury.io/js/%40codecademy%2Fvariance) diff --git a/packages/gamut-labs/.gitignore b/packages/gamut-labs/.gitignore deleted file mode 100644 index 53c37a1660..0000000000 --- a/packages/gamut-labs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -dist \ No newline at end of file diff --git a/packages/gamut-labs/CHANGELOG.md b/packages/gamut-labs/CHANGELOG.md deleted file mode 100644 index 1a6c353b0c..0000000000 --- a/packages/gamut-labs/CHANGELOG.md +++ /dev/null @@ -1,8067 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -### [35.15.14](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.13...@codecademy/gamut-labs@35.15.14) (2023-08-21) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.15.13](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.12...@codecademy/gamut-labs@35.15.13) (2023-08-07) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.15.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.11...@codecademy/gamut-labs@35.15.12) (2023-08-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.15.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.10...@codecademy/gamut-labs@35.15.11) (2023-08-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.15.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.9...@codecademy/gamut-labs@35.15.10) (2023-08-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.15.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.8...@codecademy/gamut-labs@35.15.9) (2023-07-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.15.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.7...@codecademy/gamut-labs@35.15.8) (2023-07-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.15.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.6...@codecademy/gamut-labs@35.15.7) (2023-07-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.15.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.5...@codecademy/gamut-labs@35.15.6) (2023-07-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.15.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.4...@codecademy/gamut-labs@35.15.5) (2023-07-12) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.15.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.3...@codecademy/gamut-labs@35.15.4) (2023-07-12) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.15.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.2...@codecademy/gamut-labs@35.15.3) (2023-07-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.15.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.1...@codecademy/gamut-labs@35.15.2) (2023-06-21) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.15.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.15.0...@codecademy/gamut-labs@35.15.1) (2023-06-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [35.15.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.14...@codecademy/gamut-labs@35.15.0) (2023-06-01) - - -### Features - -* bump tracking in labs ([ec2d91c](https://github.com/Codecademy/gamut/commit/ec2d91cd5e2ca7248d9cb4c9fe038b81d740af98)) - - - -### [35.14.14](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.13...@codecademy/gamut-labs@35.14.14) (2023-05-31) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.14.13](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.12...@codecademy/gamut-labs@35.14.13) (2023-05-31) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.14.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.11...@codecademy/gamut-labs@35.14.12) (2023-05-30) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.14.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.10...@codecademy/gamut-labs@35.14.11) (2023-05-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.14.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.9...@codecademy/gamut-labs@35.14.10) (2023-05-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.14.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.8...@codecademy/gamut-labs@35.14.9) (2023-05-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.14.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.7...@codecademy/gamut-labs@35.14.8) (2023-05-22) - - -### Bug Fixes - -* tracking bump to ver 1.0.9 ([fa7e57a](https://github.com/Codecademy/gamut/commit/fa7e57a5e32f90a62ac80613bad35ba2a777e345)) - - - -### [35.14.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.6...@codecademy/gamut-labs@35.14.7) (2023-05-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.14.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.5...@codecademy/gamut-labs@35.14.6) (2023-05-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.14.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.4...@codecademy/gamut-labs@35.14.5) (2023-05-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.14.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.3...@codecademy/gamut-labs@35.14.4) (2023-05-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.14.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.2...@codecademy/gamut-labs@35.14.3) (2023-05-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.14.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.1...@codecademy/gamut-labs@35.14.2) (2023-05-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.14.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.14.0...@codecademy/gamut-labs@35.14.1) (2023-05-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [35.14.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.13.1...@codecademy/gamut-labs@35.14.0) (2023-04-27) - - -### Features - -* **GlabalHeaderItems:** Update a link in the site nav. ([017408b](https://github.com/Codecademy/gamut/commit/017408b94a2a95e3a4111c72d0f5da78b098b0ac)) - - - -### [35.13.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.13.0...@codecademy/gamut-labs@35.13.1) (2023-04-24) - - -### Bug Fixes - -* **ScoreSummary:** Add labels to informative icons ([2d2d6ca](https://github.com/Codecademy/gamut/commit/2d2d6ca79224283cbde40362322fb078d20fbc8a)) - - - -## [35.13.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.12.1...@codecademy/gamut-labs@35.13.0) (2023-04-20) - - -### Features - -* **GlobalHeader:** add upgrade link for plus users ([14be834](https://github.com/Codecademy/gamut/commit/14be834f812bc4c40a4dcb018496caa529700b0e)) - - - -### [35.12.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.12.0...@codecademy/gamut-labs@35.12.1) (2023-04-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [35.12.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.11.4...@codecademy/gamut-labs@35.12.0) (2023-04-14) - - -### Features - -* **Alert:** Add subtle light and dark variants to inline alerts ([37aa3a8](https://github.com/Codecademy/gamut/commit/37aa3a85ace90261ada31ff5470e6823bd72f9a2)) - - - -### [35.11.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.11.3...@codecademy/gamut-labs@35.11.4) (2023-04-13) - - -### Bug Fixes - -* made social media links a grouped list ([3a2991b](https://github.com/Codecademy/gamut/commit/3a2991bb64743d7410b801fa0af544529faf47dc)) - - - -### [35.11.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.11.2...@codecademy/gamut-labs@35.11.3) (2023-04-10) - - -### Bug Fixes - -* **PlanCard:** use darker color for crossed-out features ([31d2925](https://github.com/Codecademy/gamut/commit/31d29252bae45f50afbd2e995e397cd69c84353b)) - - - -### [35.11.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.11.1...@codecademy/gamut-labs@35.11.2) (2023-04-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.11.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.11.0...@codecademy/gamut-labs@35.11.1) (2023-04-05) - - -### Bug Fixes - -* **ScoreSummary:** Fix Safari ScoreSummary border bug ([eb4f02e](https://github.com/Codecademy/gamut/commit/eb4f02e70de97d732194bd04c45dfae3e8d40a2c)) - - - -## [35.11.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.10.0...@codecademy/gamut-labs@35.11.0) (2023-04-03) - - -### Features - -* **GlobalHeader:** Update enterprise home text ([eda337c](https://github.com/Codecademy/gamut/commit/eda337cec309941b6448f34efdd29d3c1ac53fd9)) - - - -## [35.10.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.9.1...@codecademy/gamut-labs@35.10.0) (2023-04-03) - - -### Features - -* **ScoreSummary:** percent to pass ([77d4b1f](https://github.com/Codecademy/gamut/commit/77d4b1fdbb5dc079bfe90d67b85f854836bb057a)) - - - -### [35.9.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.9.0...@codecademy/gamut-labs@35.9.1) (2023-03-31) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [35.9.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.8.5...@codecademy/gamut-labs@35.9.0) (2023-03-30) - - -### Features - -* **GlobalPage:** Make footer optional ([071eabb](https://github.com/Codecademy/gamut/commit/071eabb2d0baa0c18abffcf3a2861ede1e6cb77d)) - - - -### [35.8.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.8.4...@codecademy/gamut-labs@35.8.5) (2023-03-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.8.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.8.3...@codecademy/gamut-labs@35.8.4) (2023-03-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.8.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.8.2...@codecademy/gamut-labs@35.8.3) (2023-03-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.8.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.8.1...@codecademy/gamut-labs@35.8.2) (2023-03-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.8.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.8.0...@codecademy/gamut-labs@35.8.1) (2023-03-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [35.8.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.7.2...@codecademy/gamut-labs@35.8.0) (2023-03-15) - - -### Features - -* **GlobalHeader:** Enterprise view ([0d7551b](https://github.com/Codecademy/gamut/commit/0d7551bad700b5f89d851350257041b36ead2b3c)) - - - -### [35.7.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.7.1...@codecademy/gamut-labs@35.7.2) (2023-03-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.7.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.7.0...@codecademy/gamut-labs@35.7.1) (2023-03-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [35.7.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.6.4...@codecademy/gamut-labs@35.7.0) (2023-03-07) - - -### Features - -* **CareerPathCard:** :sparkles: Adds salary metadata to CareerPathCard component ([ab85e90](https://github.com/Codecademy/gamut/commit/ab85e90e76ebb1f69ec377af34e0dc7b32500c70)) -* **PlanCard:** Adds PlanCard ([0160d3e](https://github.com/Codecademy/gamut/commit/0160d3e8f3a70cda9cdb0058cd60f82a6e56656b)) - - - -### [35.6.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.6.3...@codecademy/gamut-labs@35.6.4) (2023-03-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.6.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.6.2...@codecademy/gamut-labs@35.6.3) (2023-03-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.6.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.6.1...@codecademy/gamut-labs@35.6.2) (2023-02-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.6.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.6.0...@codecademy/gamut-labs@35.6.1) (2023-02-24) - - -### Bug Fixes - -* **AppHeader:** Change title to aria-label ([5f7e18c](https://github.com/Codecademy/gamut/commit/5f7e18c118e88c24f6f5fdb2ad1d2cdc336ef241)) - - - -## [35.6.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.5.10...@codecademy/gamut-labs@35.6.0) (2023-02-22) - - -### Features - -* **GlobalHeader:** remove referral link in header ([31f8967](https://github.com/Codecademy/gamut/commit/31f8967ea3de9d00a141d5840d3c18ba8368859f)) - - - -### [35.5.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.5.9...@codecademy/gamut-labs@35.5.10) (2023-02-17) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.5.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.5.8...@codecademy/gamut-labs@35.5.9) (2023-02-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.5.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.5.7...@codecademy/gamut-labs@35.5.8) (2023-02-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.5.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.5.6...@codecademy/gamut-labs@35.5.7) (2023-02-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.5.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.5.5...@codecademy/gamut-labs@35.5.6) (2023-02-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.5.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.5.4...@codecademy/gamut-labs@35.5.5) (2023-02-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.5.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.5.3...@codecademy/gamut-labs@35.5.4) (2023-02-09) - - -### Bug Fixes - -* **CareerPathCard:** add professional certification text for Journeys ([85971d2](https://github.com/Codecademy/gamut/commit/85971d24d1ce6c9897ad913a8290fdc6330ea9ec)) - - - -### [35.5.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.5.2...@codecademy/gamut-labs@35.5.3) (2023-02-06) - - -### Bug Fixes - -* **LayoutMenuVariant:** change border color of accordion area ([2cf4fb8](https://github.com/Codecademy/gamut/commit/2cf4fb87852c518801ee456bf508122e361b9e8c)) - - - -### [35.5.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.5.1...@codecademy/gamut-labs@35.5.2) (2023-02-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [35.5.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.5.0...@codecademy/gamut-labs@35.5.1) (2023-02-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [35.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.4.0...@codecademy/gamut-labs@35.5.0) (2023-02-02) - - -### Features - -* **CareerPathCard:** New CareerPathCard ([7cf1ad0](https://github.com/Codecademy/gamut/commit/7cf1ad0f4aed837110d85a6bcc3f171a1dfb8d60)) - - - -## [35.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.3.1...@codecademy/gamut-labs@35.4.0) (2023-02-01) - - -### Features - -* **SkillPathCard:** New skill path card ([a90b0e4](https://github.com/Codecademy/gamut/commit/a90b0e4f973525160dd6d8b42533079866060ecd)) - - - -### [35.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.3.0...@codecademy/gamut-labs@35.3.1) (2023-02-01) - - -### Bug Fixes - -* **GlobalFooter:** show new career building links in footer ([3d85ed9](https://github.com/Codecademy/gamut/commit/3d85ed9a068d2c9198edcc799c3a2d109942ea22)) - - - -## [35.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.2.0...@codecademy/gamut-labs@35.3.0) (2023-01-31) - - -### Features - -* **CourseCard:** New course card ([a705447](https://github.com/Codecademy/gamut/commit/a705447e806a966e42623cfb6bf53795c84d3311)) - - - -## [35.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.1.0...@codecademy/gamut-labs@35.2.0) (2023-01-30) - - -### Features - -* **ContentGroupBaseCard:** New base card for upcoming curriculum cards ([#2653](https://github.com/Codecademy/gamut/issues/2653)) ([16fd7fe](https://github.com/Codecademy/gamut/commit/16fd7fe000bd3eeecfeb06d5d507cba60e2c6b2c)) - - - -## [35.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.0.2...@codecademy/gamut-labs@35.1.0) (2023-01-26) - - -### Features - -* **GlobalFooter:** Change 'Paid Memberships' URL to '/pages/paid-plans' ([1b1e3c6](https://github.com/Codecademy/gamut/commit/1b1e3c6200b951a008f33ca8f73abf5512f2863f)) - - - -### [35.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.0.1...@codecademy/gamut-labs@35.0.2) (2023-01-26) - - -### Bug Fixes - -* **ScoreSummary:** Use List role for subjects in ScoreSummary ([27fb197](https://github.com/Codecademy/gamut/commit/27fb197ccb14d130706a758265f6a16a97ccbc36)) - - - -### [35.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@35.0.0...@codecademy/gamut-labs@35.0.1) (2023-01-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [35.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@34.1.0...@codecademy/gamut-labs@35.0.0) (2023-01-19) - - -### ⚠ BREAKING CHANGES - -* Support React 18 [WEB-2055] - -### Miscellaneous Chores - -* Support React 18 [WEB-2055] ([89d6b22](https://github.com/Codecademy/gamut/commit/89d6b224831dd62d7bcd9a424142eaab02232a00)) - - - -## [34.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@34.0.11...@codecademy/gamut-labs@34.1.0) (2023-01-18) - - -### Features - -* **resourcesList:** update blog links in global header ([704f009](https://github.com/Codecademy/gamut/commit/704f009c03656ffa3665bfbeb188e9ee7eeffad3)) - - - -### [34.0.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@34.0.10...@codecademy/gamut-labs@34.0.11) (2023-01-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [34.0.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@34.0.9...@codecademy/gamut-labs@34.0.10) (2023-01-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [34.0.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@34.0.8...@codecademy/gamut-labs@34.0.9) (2023-01-09) - - -### Bug Fixes - -* **SocialMediaSharing:** fix partially undefined id ([868d25f](https://github.com/Codecademy/gamut/commit/868d25f1e91b660cc13fa7c595bb84de105a0141)) - - - -### [34.0.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@34.0.7...@codecademy/gamut-labs@34.0.8) (2023-01-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [34.0.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@34.0.6...@codecademy/gamut-labs@34.0.7) (2023-01-06) - - -### Bug Fixes - -* **CurriculumCard:** do not display pro label ([2b5a16c](https://github.com/Codecademy/gamut/commit/2b5a16c7bb19b9c11949ac45a1105f5716357f5a)) - - - -### [34.0.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@34.0.5...@codecademy/gamut-labs@34.0.6) (2023-01-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [34.0.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@34.0.4...@codecademy/gamut-labs@34.0.5) (2022-12-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [34.0.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@34.0.3...@codecademy/gamut-labs@34.0.4) (2022-12-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [34.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@34.0.2...@codecademy/gamut-labs@34.0.3) (2022-12-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [34.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@34.0.1...@codecademy/gamut-labs@34.0.2) (2022-12-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [34.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@34.0.0...@codecademy/gamut-labs@34.0.1) (2022-12-14) - - -### Bug Fixes - -* update width of page alert to match page contents ([d421306](https://github.com/Codecademy/gamut/commit/d4213064400c8f8a631e38beefc082f94fd9732d)) - - - -## [34.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.11.2...@codecademy/gamut-labs@34.0.0) (2022-12-13) - - -### ⚠ BREAKING CHANGES - -* **AppHeader:** Remove bookmarks and favorites - -### Miscellaneous Chores - -* **AppHeader:** Remove bookmarks and favorites ([5c80f93](https://github.com/Codecademy/gamut/commit/5c80f937956de18e3ecd53372d03e3493546b180)) - - - -### [33.11.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.11.1...@codecademy/gamut-labs@33.11.2) (2022-12-09) - - -### Bug Fixes - -* **RatingsBar:** Conditional box shadow (hide if 0%) ([592a559](https://github.com/Codecademy/gamut/commit/592a559497deb5b0f1f792ac5ce6d73fe7013f4f)) - - - -### [33.11.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.11.0...@codecademy/gamut-labs@33.11.1) (2022-12-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [33.11.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.10.1...@codecademy/gamut-labs@33.11.0) (2022-12-08) - - -### Features - -* **Footer:** rename Pro Membership link ([a953881](https://github.com/Codecademy/gamut/commit/a95388155a90b5d75acc6b267ed0e52df9b70fdb)) - - - -### [33.10.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.10.0...@codecademy/gamut-labs@33.10.1) (2022-12-08) - - -### Reverts - -* "feat: Add pricing link option to global header" ([1208ab6](https://github.com/Codecademy/gamut/commit/1208ab679f576029da5479166309adafd12bb52d)) - - - -## [33.10.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.9.3...@codecademy/gamut-labs@33.10.0) (2022-12-07) - - -### Features - -* **global header:** update copy for plan rename ([dbc69e3](https://github.com/Codecademy/gamut/commit/dbc69e3767a5e730b78d1f426c0ebef011781531)) - - - -### [33.9.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.9.2...@codecademy/gamut-labs@33.9.3) (2022-12-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.9.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.9.1...@codecademy/gamut-labs@33.9.2) (2022-12-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.9.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.9.0...@codecademy/gamut-labs@33.9.1) (2022-12-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [33.9.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.8.12...@codecademy/gamut-labs@33.9.0) (2022-12-05) - - -### Features - -* **LayoutMenuVariant:** create layout menu variant for experiment [#2199](https://github.com/Codecademy/gamut/issues/2199) ([160a20a](https://github.com/Codecademy/gamut/commit/160a20afdd8fd9a3c1819efd2cc4d8457f1f7f38)) - - - -### [33.8.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.8.11...@codecademy/gamut-labs@33.8.12) (2022-12-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.8.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.8.10...@codecademy/gamut-labs@33.8.11) (2022-12-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.8.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.8.9...@codecademy/gamut-labs@33.8.10) (2022-12-01) - - -### Bug Fixes - -* **RatingsBar:** fixes the focus on the wrapper ([0972f0d](https://github.com/Codecademy/gamut/commit/0972f0d4529bcf2f17d8f27e6f0dd6ec59b1a4ca)) - - - -### [33.8.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.8.8...@codecademy/gamut-labs@33.8.9) (2022-11-30) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.8.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.8.7...@codecademy/gamut-labs@33.8.8) (2022-11-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.8.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.8.6...@codecademy/gamut-labs@33.8.7) (2022-11-29) - - -### Bug Fixes - -* **ListSection:** Filter out falsy children ([66b1706](https://github.com/Codecademy/gamut/commit/66b17068de5612a9a310d98a334889c11ec74828)) - - - -### [33.8.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.8.5...@codecademy/gamut-labs@33.8.6) (2022-11-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.8.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.8.4...@codecademy/gamut-labs@33.8.5) (2022-11-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.8.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.8.3...@codecademy/gamut-labs@33.8.4) (2022-11-21) - - -### Bug Fixes - -* **RatingsBar:** Adds stroke between yellow bar and white background ([a0ac5c0](https://github.com/Codecademy/gamut/commit/a0ac5c02b5dac53fd26d5a0d5c30567310e610ef)) - - - -### [33.8.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.8.2...@codecademy/gamut-labs@33.8.3) (2022-11-18) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.8.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.8.1...@codecademy/gamut-labs@33.8.2) (2022-11-17) - - -### Reverts - -* upgrades to auto-id and react-use ([ffa2c87](https://github.com/Codecademy/gamut/commit/ffa2c8736bd6a069f28d6bc11338acbd49cfd9b7)) - - - -### [33.8.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.8.0...@codecademy/gamut-labs@33.8.1) (2022-11-17) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [33.8.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.7.2...@codecademy/gamut-labs@33.8.0) (2022-11-17) - - -### Features - -* **RatingsBar:** create RatingsBar gamut-labs component ([8f64269](https://github.com/Codecademy/gamut/commit/8f64269b12679cb63013fc1699c6bb6da3c5fa93)) - - - -### [33.7.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.7.1...@codecademy/gamut-labs@33.7.2) (2022-11-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.7.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.7.0...@codecademy/gamut-labs@33.7.1) (2022-11-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [33.7.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.18...@codecademy/gamut-labs@33.7.0) (2022-11-09) - - -### Features - -* **ScoreSummary:** create ScoreSummary gamut-labs component ([c7ed278](https://github.com/Codecademy/gamut/commit/c7ed27890a8839ea141fcba21ddb3af11f83d8a1)) - - - -### [33.6.18](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.17...@codecademy/gamut-labs@33.6.18) (2022-11-07) - - -### Bug Fixes - -* **HorizontalScrollMenu:** visibly hide cards when their ariaHidden is true ([6b3d00d](https://github.com/Codecademy/gamut/commit/6b3d00dc1563ec5f99f8948f27cb720b5e6b0246)), closes [Codecademy/gamut#2568](https://github.com/Codecademy/gamut/issues/2568) - - - -### [33.6.17](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.16...@codecademy/gamut-labs@33.6.17) (2022-11-07) - - -### Bug Fixes - -* **AppHeader:** visual focus to menu descriptions ([4f741d7](https://github.com/Codecademy/gamut/commit/4f741d7d6cbc466efa7cf5558313712db1d94095)) - - - -### [33.6.16](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.15...@codecademy/gamut-labs@33.6.16) (2022-11-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.6.15](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.14...@codecademy/gamut-labs@33.6.15) (2022-11-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.6.14](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.13...@codecademy/gamut-labs@33.6.14) (2022-11-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.6.13](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.12...@codecademy/gamut-labs@33.6.13) (2022-11-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.6.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.11...@codecademy/gamut-labs@33.6.12) (2022-10-31) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.6.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.10...@codecademy/gamut-labs@33.6.11) (2022-10-31) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.6.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.9...@codecademy/gamut-labs@33.6.10) (2022-10-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.6.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.8...@codecademy/gamut-labs@33.6.9) (2022-10-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.6.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.7...@codecademy/gamut-labs@33.6.8) (2022-10-21) - - -### Bug Fixes - -* **GlobalHeader:** a11y fixes for resources & catalog drop downs ([799bd92](https://github.com/Codecademy/gamut/commit/799bd92d2bcd40476855d2a26d50cf6730d4a547)) - - - -### [33.6.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.6...@codecademy/gamut-labs@33.6.7) (2022-10-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.6.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.5...@codecademy/gamut-labs@33.6.6) (2022-10-19) - - -### Bug Fixes - -* **HorizontalScrollMenu:** Do not visibly hide cards when their ariaHidden is true ([183906f](https://github.com/Codecademy/gamut/commit/183906f9e4b4f0ef70773b99877557acbbb3ecc2)) - - - -### [33.6.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.4...@codecademy/gamut-labs@33.6.5) (2022-10-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.6.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.3...@codecademy/gamut-labs@33.6.4) (2022-10-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.6.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.2...@codecademy/gamut-labs@33.6.3) (2022-10-11) - - -### Bug Fixes - -* **GlobalHeader:** capitalize S in JavaScript in catalog dropdown ([2535317](https://github.com/Codecademy/gamut/commit/253531759b55b1097df0259b8dccf292436a20b5)) - - - -### [33.6.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.1...@codecademy/gamut-labs@33.6.2) (2022-10-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.6.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.6.0...@codecademy/gamut-labs@33.6.1) (2022-10-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [33.6.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.5.4...@codecademy/gamut-labs@33.6.0) (2022-10-04) - - -### Features - -* **ColorMode:** correct background-current from useColorMode hook ([6e20044](https://github.com/Codecademy/gamut/commit/6e20044679771b0f8fd1b4faecf17de0a14202d2)) - - - -### [33.5.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.5.3...@codecademy/gamut-labs@33.5.4) (2022-10-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.5.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.5.2...@codecademy/gamut-labs@33.5.3) (2022-09-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.5.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.5.1...@codecademy/gamut-labs@33.5.2) (2022-09-23) - - -### Bug Fixes - -* **DropdownButton:** Add aria-expanded to dropdown buttons ([d01ad31](https://github.com/Codecademy/gamut/commit/d01ad3136a870ccdd507b3e18614bef0f1ae598e)) - - - -### [33.5.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.5.0...@codecademy/gamut-labs@33.5.1) (2022-09-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [33.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.4.1...@codecademy/gamut-labs@33.5.0) (2022-09-15) - - -### Features - -* **DropdownList:** Allow for dropdown item to open in new tab ([a80468c](https://github.com/Codecademy/gamut/commit/a80468c0053bc1daa08da48cb7bc65a86a268c6f)) - - - -### [33.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.4.0...@codecademy/gamut-labs@33.4.1) (2022-09-15) - - -### Bug Fixes - -* **DropdownList:** Make dropdown list items focusable ([f4803ba](https://github.com/Codecademy/gamut/commit/f4803bacc2797d4fd1bda0a3bbe1e522dfe9cf04)) - - - -## [33.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.3.5...@codecademy/gamut-labs@33.4.0) (2022-09-14) - - -### Features - -* **GlobalHeader:** Update business logic for BAM profile menu ([979d49a](https://github.com/Codecademy/gamut/commit/979d49a9503be0fb2a1ef8299f32c8c693614be0)) - - - -### [33.3.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.3.4...@codecademy/gamut-labs@33.3.5) (2022-09-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.3.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.3.3...@codecademy/gamut-labs@33.3.4) (2022-09-12) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.3.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.3.2...@codecademy/gamut-labs@33.3.3) (2022-09-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.3.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.3.1...@codecademy/gamut-labs@33.3.2) (2022-09-07) - - -### Bug Fixes - -* **GlobalHeader:** BAM profile menu changes Revert ([16cb6c7](https://github.com/Codecademy/gamut/commit/16cb6c71e6fd8ad468d4f37d3fb1135dcbb79016)) - - - -### [33.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.3.0...@codecademy/gamut-labs@33.3.1) (2022-09-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [33.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.2.3...@codecademy/gamut-labs@33.3.0) (2022-09-01) - - -### Features - -* **GlobalHeader:** Add business logic for Skillsoft users for BAM profile menu item ([e6b947e](https://github.com/Codecademy/gamut/commit/e6b947e3848a4f375dfcce69e70353a82a581d2f)) - - - -### [33.2.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.2.2...@codecademy/gamut-labs@33.2.3) (2022-08-31) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.2.1...@codecademy/gamut-labs@33.2.2) (2022-08-31) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.2.0...@codecademy/gamut-labs@33.2.1) (2022-08-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [33.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.1.12...@codecademy/gamut-labs@33.2.0) (2022-08-29) - - -### Features - -* **Footer:** remove shop link from footer ([1f308af](https://github.com/Codecademy/gamut/commit/1f308afa87682ab1cccf018d68b61b2cd2a20edc)) - - - -### [33.1.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.1.11...@codecademy/gamut-labs@33.1.12) (2022-08-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.1.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.1.10...@codecademy/gamut-labs@33.1.11) (2022-08-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.1.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.1.9...@codecademy/gamut-labs@33.1.10) (2022-08-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.1.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.1.8...@codecademy/gamut-labs@33.1.9) (2022-08-24) - - -### Bug Fixes - -* bookmarks and notification popovers esc key a11y ([d77aeda](https://github.com/Codecademy/gamut/commit/d77aedad0670712e840321b87ccca0615b8cea17)) - - - -### [33.1.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.1.7...@codecademy/gamut-labs@33.1.8) (2022-08-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.1.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.1.6...@codecademy/gamut-labs@33.1.7) (2022-08-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.1.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.1.5...@codecademy/gamut-labs@33.1.6) (2022-08-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.1.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.1.4...@codecademy/gamut-labs@33.1.5) (2022-08-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.1.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.1.3...@codecademy/gamut-labs@33.1.4) (2022-08-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.1.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.1.2...@codecademy/gamut-labs@33.1.3) (2022-08-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.1.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.1.1...@codecademy/gamut-labs@33.1.2) (2022-08-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.1.0...@codecademy/gamut-labs@33.1.1) (2022-08-18) - - -### Bug Fixes - -* **GlobalFooter:** open external links in new tab ([f8e00c9](https://github.com/Codecademy/gamut/commit/f8e00c9b247dcc7e7cc88d63911d156a0dcb19e7)) - - - -## [33.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.14...@codecademy/gamut-labs@33.1.0) (2022-08-17) - - -### Features - -* **MobileBookmarks:** Add support for mobile screen window pane ([6ff2636](https://github.com/Codecademy/gamut/commit/6ff2636675efbaeeb76c7d0f5652cded2299615d)) - - - -### [33.0.14](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.13...@codecademy/gamut-labs@33.0.14) (2022-08-12) - - -### Bug Fixes - -* **AppHeaderCatalogDropdown:** add click handler for subject links ([321f695](https://github.com/Codecademy/gamut/commit/321f6953943393f56254b6aa89c09be514870dcc)) - - - -### [33.0.13](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.12...@codecademy/gamut-labs@33.0.13) (2022-08-11) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.0.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.11...@codecademy/gamut-labs@33.0.12) (2022-08-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.0.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.10...@codecademy/gamut-labs@33.0.11) (2022-08-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.0.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.9...@codecademy/gamut-labs@33.0.10) (2022-08-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.0.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.8...@codecademy/gamut-labs@33.0.9) (2022-08-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.0.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.7...@codecademy/gamut-labs@33.0.8) (2022-08-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.0.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.6...@codecademy/gamut-labs@33.0.7) (2022-08-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.0.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.5...@codecademy/gamut-labs@33.0.6) (2022-08-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.0.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.4...@codecademy/gamut-labs@33.0.5) (2022-08-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.0.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.3...@codecademy/gamut-labs@33.0.4) (2022-07-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.2...@codecademy/gamut-labs@33.0.3) (2022-07-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.1...@codecademy/gamut-labs@33.0.2) (2022-07-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [33.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@33.0.0...@codecademy/gamut-labs@33.0.1) (2022-07-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [33.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.7.6...@codecademy/gamut-labs@33.0.0) (2022-07-20) - - -### ⚠ BREAKING CHANGES - -* **HeaderTab and HeaderContainer:** remove old unused components - -### Miscellaneous Chores - -* **HeaderTab and HeaderContainer:** remove old unused components ([ce3608a](https://github.com/Codecademy/gamut/commit/ce3608a2e1fa30130f9f0a083740bcf46296edb5)) - - - -### [32.7.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.7.5...@codecademy/gamut-labs@32.7.6) (2022-07-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [32.7.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.7.4...@codecademy/gamut-labs@32.7.5) (2022-07-19) - - -### Bug Fixes - -* **GlobalHeader:** correct tracking ([c9f3579](https://github.com/Codecademy/gamut/commit/c9f35792060fb34f69e0a2c9b9505e3a9b6f5f60)) - - - -### [32.7.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.7.3...@codecademy/gamut-labs@32.7.4) (2022-07-19) - - -### Bug Fixes - -* **GlobalHeader:** close dropdown on link click ([e1f0ff6](https://github.com/Codecademy/gamut/commit/e1f0ff6343d4eeff56c2a9594d8175a89679c774)) - - - -### [32.7.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.7.2...@codecademy/gamut-labs@32.7.3) (2022-07-18) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [32.7.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.7.1...@codecademy/gamut-labs@32.7.2) (2022-07-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [32.7.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.7.0...@codecademy/gamut-labs@32.7.1) (2022-07-14) - - -### Bug Fixes - -* **GlobalHeader:** add `business solutions` for Trial / Pro learners ([0b578e2](https://github.com/Codecademy/gamut/commit/0b578e2a5ee42af3bbef95a4f718ff99c6cb3ee9)) - - - -## [32.7.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.6.1...@codecademy/gamut-labs@32.7.0) (2022-07-14) - - -### Features - -* **PageSingleFeature:** Allow image to act as a link ([ef3547f](https://github.com/Codecademy/gamut/commit/ef3547fd909c7b556bbba5c6e9a9e873991f5b1c)) - - - -### [32.6.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.6.0...@codecademy/gamut-labs@32.6.1) (2022-07-13) - - -### Bug Fixes - -* **GlobalHeader:** Catalog and Resources dropdown fast follows ([2a264ea](https://github.com/Codecademy/gamut/commit/2a264ea9d6795828658544129c8fcc2f1e2d9734)) - - - -## [32.6.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.5.1...@codecademy/gamut-labs@32.6.0) (2022-07-08) - - -### Features - -* **GlobalHeader:** Mobile Resources menu ([b48c681](https://github.com/Codecademy/gamut/commit/b48c68179bc06913756f549b74080b8cd7959de5)) - - - -### [32.5.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.5.0...@codecademy/gamut-labs@32.5.1) (2022-07-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [32.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.4.0...@codecademy/gamut-labs@32.5.0) (2022-07-06) - - -### Features - -* **GlobalHeader:** refreshed Resources dropdown for desktop ([0464d98](https://github.com/Codecademy/gamut/commit/0464d98d30878ccb95ab738b586ca8bb3be94310)) - - - -## [32.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.3.0...@codecademy/gamut-labs@32.4.0) (2022-06-30) - - -### Features - -* **GlobalHeader:** Update mobile styling for Catalog dropdown v2 ([685163d](https://github.com/Codecademy/gamut/commit/685163d1a3394c627e9d53ac328b529619dbe87c)) - - - -## [32.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.2.3...@codecademy/gamut-labs@32.3.0) (2022-06-27) - - -### Features - -* **Bookmarks:** Adds ability to pass a bookmarks component to GlobalHeader ([323485a](https://github.com/Codecademy/gamut/commit/323485a5ca14e8632ba91b1a609b202f2bd41779)) - - - -### [32.2.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.2.2...@codecademy/gamut-labs@32.2.3) (2022-06-23) - - -### Bug Fixes - -* adds text wrap to long titles on accordion menu ([addead4](https://github.com/Codecademy/gamut/commit/addead46ab6517908b9600a4a74302473e17c4ce)) - - - -### [32.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.2.1...@codecademy/gamut-labs@32.2.2) (2022-06-23) - - -### Bug Fixes - -* **AppHeaderCatalogDropdown:** handle data science paths better ([181fbf5](https://github.com/Codecademy/gamut/commit/181fbf5d5fe78ab4ed4879b22c1a756063d62514)) - - - -### [32.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.2.0...@codecademy/gamut-labs@32.2.1) (2022-06-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [32.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.1.1...@codecademy/gamut-labs@32.2.0) (2022-06-22) - - -### Features - -* ⏯️ Update landing page image components to be pausable ([d27bf15](https://github.com/Codecademy/gamut/commit/d27bf15f29991dcd73474d01718fa0afd28522c5)) - - - -### [32.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.1.0...@codecademy/gamut-labs@32.1.1) (2022-06-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [32.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.0.7...@codecademy/gamut-labs@32.1.0) (2022-06-21) - - -### Features - -* **GlobalHeader:** v2 desktop styles for catalog dropdown ([d66187b](https://github.com/Codecademy/gamut/commit/d66187b2373d652d374487dc06622ff98b50cf9d)) - - - -### [32.0.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.0.6...@codecademy/gamut-labs@32.0.7) (2022-06-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [32.0.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.0.5...@codecademy/gamut-labs@32.0.6) (2022-06-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [32.0.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.0.4...@codecademy/gamut-labs@32.0.5) (2022-06-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [32.0.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.0.3...@codecademy/gamut-labs@32.0.4) (2022-06-14) - - -### Bug Fixes - -* **Popover:** Fix Popover story ([5504e68](https://github.com/Codecademy/gamut/commit/5504e685e46cd579dae9559907e289101abc04b8)) - - - -### [32.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.0.2...@codecademy/gamut-labs@32.0.3) (2022-06-13) - - -### Bug Fixes - -* update PasuableImage button to announce it's label change ([d233fb8](https://github.com/Codecademy/gamut/commit/d233fb858bb9b9eded1c019b2c04131c06e3e877)) - - - -### [32.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.0.1...@codecademy/gamut-labs@32.0.2) (2022-06-10) - - -### Bug Fixes - -* **HorizontalScrollMenu:** polyfill IntersectionObserver ([e329d62](https://github.com/Codecademy/gamut/commit/e329d62a0fcae966f9a37c0125934b3a0a094d3d)) - - - -### [32.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@32.0.0...@codecademy/gamut-labs@32.0.1) (2022-06-09) - - -### Bug Fixes - -* **AppHeader/SearchPane:** Axe - Popular Searches link are identified as button ([7617155](https://github.com/Codecademy/gamut/commit/76171550f7df4fe76a12a03e58b6a198da7f6739)) - - - -## [32.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.15.4...@codecademy/gamut-labs@32.0.0) (2022-06-08) - - -### ⚠ BREAKING CHANGES - -* move components to proper repositories - -### Miscellaneous Chores - -* move components to proper repositories ([3f68e23](https://github.com/Codecademy/gamut/commit/3f68e234aeb0ce4fcdfe61ccf9c13302d314d01c)) - - - -### [31.15.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.15.3...@codecademy/gamut-labs@31.15.4) (2022-06-07) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.15.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.15.2...@codecademy/gamut-labs@31.15.3) (2022-06-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.15.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.15.1...@codecademy/gamut-labs@31.15.2) (2022-06-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.15.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.15.0...@codecademy/gamut-labs@31.15.1) (2022-06-02) - - -### Bug Fixes - -* **GlobalHeader:** rename user.newSkuSubscription => user.hasNewSkuSu… ([aec3e05](https://github.com/Codecademy/gamut/commit/aec3e05051db6cc0feeb8f9d0ab2485f902e2632)) - - - -## [31.15.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.14.1...@codecademy/gamut-labs@31.15.0) (2022-06-01) - - -### Features - -* **GlobalHeader:** add newSkuSubscription prop to show regular logo … ([5f2b03f](https://github.com/Codecademy/gamut/commit/5f2b03fa05c4dc96670f70ebbe18a7aab00f5f31)) - - - -### [31.14.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.14.0...@codecademy/gamut-labs@31.14.1) (2022-05-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [31.14.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.13.1...@codecademy/gamut-labs@31.14.0) (2022-05-23) - - -### Features - -* **GlobalHeader:** Rename Chat to Discord ([46d52e4](https://github.com/Codecademy/gamut/commit/46d52e47e473c8c468d116bdcb4d731ca2235e4f)) - - - -### [31.13.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.13.0...@codecademy/gamut-labs@31.13.1) (2022-05-20) - - -### Bug Fixes - -* HorizontalScrollMenu - Add tabIndex to scrollable element ([#2358](https://github.com/Codecademy/gamut/issues/2358)) ([2a7ad33](https://github.com/Codecademy/gamut/commit/2a7ad333b01bcd93e9698caf0d4ffc6d15bf083f)) - - - -## [31.13.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.12.2...@codecademy/gamut-labs@31.13.0) (2022-05-19) - - -### Features - -* **CurriculumCard:** added horizontal orientation ([3587be1](https://github.com/Codecademy/gamut/commit/3587be15ab09297474d4872e8c95c225a15003d5)) - - - -### [31.12.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.12.1...@codecademy/gamut-labs@31.12.2) (2022-05-17) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.12.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.12.0...@codecademy/gamut-labs@31.12.1) (2022-05-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [31.12.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.13...@codecademy/gamut-labs@31.12.0) (2022-05-13) - - -### Features - -* Add pricing link option to global header ([18b35ba](https://github.com/Codecademy/gamut/commit/18b35ba009ae1443afac4c56f55c0678169debb5)) - - - -### [31.11.13](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.12...@codecademy/gamut-labs@31.11.13) (2022-05-12) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.11.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.11...@codecademy/gamut-labs@31.11.12) (2022-05-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.11.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.10...@codecademy/gamut-labs@31.11.11) (2022-05-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.11.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.9...@codecademy/gamut-labs@31.11.10) (2022-05-04) - - -### Bug Fixes - -* **CurriculumCard:** Wrap difficulty in span to avoid translation error ([dafb4ea](https://github.com/Codecademy/gamut/commit/dafb4eabeb7a4a12f541eaa4c740c4ee520137f3)), closes [/github.com/facebook/react/issues/11538#issuecomment-390386520](https://github.com/Codecademy//github.com/facebook/react/issues/11538/issues/issuecomment-390386520) - - - -### [31.11.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.8...@codecademy/gamut-labs@31.11.9) (2022-05-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.11.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.7...@codecademy/gamut-labs@31.11.8) (2022-05-03) - - -### Bug Fixes - -* **HorizontalScrollMenu:** fixing multiple root observer query issue ([b18ff90](https://github.com/Codecademy/gamut/commit/b18ff90a23ce04beda5d263917eb2c0e2fdbe628)) - - - -### [31.11.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.6...@codecademy/gamut-labs@31.11.7) (2022-05-02) - - -### Bug Fixes - -* **AppHeaderCatalogDropdown:** axe fixes ([c1fae05](https://github.com/Codecademy/gamut/commit/c1fae05ff88d6b65e60c47fe88673d06a53985fd)) - - - -### [31.11.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.5...@codecademy/gamut-labs@31.11.6) (2022-04-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.11.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.4...@codecademy/gamut-labs@31.11.5) (2022-04-29) - - -### Bug Fixes - -* **GlobalFooter:** don't display anchors if no click handler ([fc86f29](https://github.com/Codecademy/gamut/commit/fc86f2914957c0802769caba4f2f5586c341937e)) - - - -### [31.11.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.3...@codecademy/gamut-labs@31.11.4) (2022-04-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.11.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.2...@codecademy/gamut-labs@31.11.3) (2022-04-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.11.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.1...@codecademy/gamut-labs@31.11.2) (2022-04-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.11.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.11.0...@codecademy/gamut-labs@31.11.1) (2022-04-25) - - -### Bug Fixes - -* **CompanyLinks:** Wrap extole zone in a footer item ([a69e2d3](https://github.com/Codecademy/gamut/commit/a69e2d32e8c3717ebb2f461af9906dffce43a5eb)) - - - -## [31.11.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.10.0...@codecademy/gamut-labs@31.11.0) (2022-04-21) - - -### Features - -* **AppHeaderCatalogDropdown:** adding keyboard functionality ([15dcb9e](https://github.com/Codecademy/gamut/commit/15dcb9e842a4b12bc818dc580bc579219406634d)) - - - -## [31.10.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.9.1...@codecademy/gamut-labs@31.10.0) (2022-04-21) - - -### Features - -* **GlobalFooter:** Add Extole marketing anchor ([1e6adb1](https://github.com/Codecademy/gamut/commit/1e6adb16b4362840b60a910e8e1089cf18a729c0)) - - - -### [31.9.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.9.0...@codecademy/gamut-labs@31.9.1) (2022-04-21) - - -### Bug Fixes - -* **HorizontalScrollMenu:** fixed axe issue with hidden elements receiving focus ([f66e633](https://github.com/Codecademy/gamut/commit/f66e633a54aa0cb9fa27086c6b5e3bfe001b39db)) - - - -## [31.9.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.8.3...@codecademy/gamut-labs@31.9.0) (2022-04-21) - - -### Features - -* **GlobalHeader:** allowing access to Business Account Management on mobile ([#2227](https://github.com/Codecademy/gamut/issues/2227)) ([034e56d](https://github.com/Codecademy/gamut/commit/034e56d151a73f129fa0e0a445246bcc4f2fecb7)) - - - -### [31.8.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.8.2...@codecademy/gamut-labs@31.8.3) (2022-04-21) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.8.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.8.1...@codecademy/gamut-labs@31.8.2) (2022-04-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.8.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.8.0...@codecademy/gamut-labs@31.8.1) (2022-04-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [31.8.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.7.0...@codecademy/gamut-labs@31.8.0) (2022-04-15) - - -### Features - -* **AppHeaderCatalogDropdown:** Hide careers section if user cant access career paths ([2cf41b8](https://github.com/Codecademy/gamut/commit/2cf41b8aed825c6693fcec8bfca819d78f281f05)) - - - -## [31.7.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.6.1...@codecademy/gamut-labs@31.7.0) (2022-04-15) - - -### Features - -* **GlobalHeaderItems:** Business Sso check for profile ([ab21067](https://github.com/Codecademy/gamut/commit/ab21067bc71ee001832d465df8bdc18c1b8c949e)) - - - -### [31.6.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.6.0...@codecademy/gamut-labs@31.6.1) (2022-04-15) - - -### Bug Fixes - -* **AppHeaderCatalogSection:** hot fix for CI failures ([ae0434a](https://github.com/Codecademy/gamut/commit/ae0434aec33eb49d62225f321ea34edc6ec4028b)) - - - -## [31.6.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.5.0...@codecademy/gamut-labs@31.6.0) (2022-04-13) - - -### Features - -* **SocialMediaSharing:** making SocialMediaSharing responsive to colormode ([591414e](https://github.com/Codecademy/gamut/commit/591414e523b8c4a8fba73e1ee0c380806fe5ff1e)) - - - -## [31.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.4.0...@codecademy/gamut-labs@31.5.0) (2022-04-12) - - -### Features - -* **HorizontalScrollBar:** added Horizontal Scrollbar component ([f3feaeb](https://github.com/Codecademy/gamut/commit/f3feaeba7fc1342c18db26bcd458009d38da467d)) - - - -## [31.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.3.3...@codecademy/gamut-labs@31.4.0) (2022-04-12) - - -### Features - -* **AppHeaderCatalogDropdown:** added AppHeaderCatalogDropdown component ([e6920eb](https://github.com/Codecademy/gamut/commit/e6920eb7fd75fee00ea89f4e4a6091208d39feff)), closes [/www.notion.so/codecademy/Catalog-navigation-dropdown-3c192fe69b9d4bd392897f79ce188bef#429773b40b664620a0f3215dbd8cad58](https://github.com/Codecademy//www.notion.so/codecademy/Catalog-navigation-dropdown-3c192fe69b9d4bd392897f79ce188bef/issues/429773b40b664620a0f3215dbd8cad58) [/www.notion.so/codecademy/Navigation-catalog-dropdown-3c192fe69b9d4bd392897f79ce188bef#f9a5a439fe4444299fded4e28c6eca27](https://github.com/Codecademy//www.notion.so/codecademy/Navigation-catalog-dropdown-3c192fe69b9d4bd392897f79ce188bef/issues/f9a5a439fe4444299fded4e28c6eca27) - - - -### [31.3.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.3.2...@codecademy/gamut-labs@31.3.3) (2022-04-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.3.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.3.1...@codecademy/gamut-labs@31.3.2) (2022-04-06) - - -### Bug Fixes - -* **GlobalHeader:** Pass user to all anon header items ([d21ebab](https://github.com/Codecademy/gamut/commit/d21ebabb019437ffcbcceac687e524477fd5a743)) - - - -### [31.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.3.0...@codecademy/gamut-labs@31.3.1) (2022-04-05) - - -### Bug Fixes - -* **GlobalHeader:** fixing tab issue with GlobalHeader ([#2308](https://github.com/Codecademy/gamut/issues/2308)) ([43b66fd](https://github.com/Codecademy/gamut/commit/43b66fd7866ff619a11c05608d4ebb81e0edd53c)) - - - -## [31.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.2.1...@codecademy/gamut-labs@31.3.0) (2022-04-05) - - -### Features - -* **Footer:** new footer ([#2302](https://github.com/Codecademy/gamut/issues/2302)) ([6702a51](https://github.com/Codecademy/gamut/commit/6702a511708c5f21ca65e6d1febc5eb1bd2364a2)) - - - -### [31.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.2.0...@codecademy/gamut-labs@31.2.1) (2022-04-04) - - -### Reverts - -* Revert "feat(FromLogo): add logo" (#2306) ([6d16bdc](https://github.com/Codecademy/gamut/commit/6d16bdcb42b59de553398359393875d2c50b1f22)), closes [#2306](https://github.com/Codecademy/gamut/issues/2306) - - - -## [31.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.1.0...@codecademy/gamut-labs@31.2.0) (2022-04-01) - - -### Features - -* **FromLogo:** add logo ([c48a054](https://github.com/Codecademy/gamut/commit/c48a054d2fe87f67542db1365caaf79d9a6cbc2c)) - - - -## [31.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.0.3...@codecademy/gamut-labs@31.1.0) (2022-03-31) - - -### Features - -* **AppHeader:** hide projects and challenges in nav variant ([b1427ec](https://github.com/Codecademy/gamut/commit/b1427ec199e86cf751a8743bfc3441e0a1b670b7)) - - - -### [31.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.0.2...@codecademy/gamut-labs@31.0.3) (2022-03-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [31.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.0.1...@codecademy/gamut-labs@31.0.2) (2022-03-28) - - -### Bug Fixes - -* **AppHeader:** clean up search bar from experiment ([74cea44](https://github.com/Codecademy/gamut/commit/74cea443c0eb08a65f73809d0f42cdddca10f9a2)) - - - -### [31.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@31.0.0...@codecademy/gamut-labs@31.0.1) (2022-03-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [31.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.6.1...@codecademy/gamut-labs@31.0.0) (2022-03-25) - - -### ⚠ BREAKING CHANGES - -* **eslint-plugin-gamut:** gamut eslint-pkg + add no .scss / themed rules - -### Features - -* **eslint-plugin-gamut:** gamut eslint-pkg + add no .scss / themed rules ([4be6d9d](https://github.com/Codecademy/gamut/commit/4be6d9ddfbebb8b588f671c5f665d94a5e429384)) - - - -### [30.6.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.6.0...@codecademy/gamut-labs@30.6.1) (2022-03-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [30.6.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.5.0...@codecademy/gamut-labs@30.6.0) (2022-03-24) - - -### Features - -* **DropdownButton:** add horizontal kebab ([7ea2157](https://github.com/Codecademy/gamut/commit/7ea21570169a30e4c438b3d72b59d9c131ff382f)) - - - -## [30.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.4.1...@codecademy/gamut-labs@30.5.0) (2022-03-23) - - -### Features - -* **CurriculumCard:** Allowing dynamic difficulty spans ([3c5c9b3](https://github.com/Codecademy/gamut/commit/3c5c9b32b79683406e51f4a4f563643b13172368)) - - - -### [30.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.4.0...@codecademy/gamut-labs@30.4.1) (2022-03-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [30.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.3.1...@codecademy/gamut-labs@30.4.0) (2022-03-22) - - -### Features - -* **GlobalHeader:** Added prop for upcoming feature flag test for Catalog ([c9fdd0e](https://github.com/Codecademy/gamut/commit/c9fdd0ea6fc00ccc19e97d887f7080f4f1b0dca6)), closes [/github.com/Codecademy/gamut/blob/main/packages/gamut-labs/src/GlobalHeader/types.tsx#L28-L39](https://github.com/Codecademy//github.com/Codecademy/gamut/blob/main/packages/gamut-labs/src/GlobalHeader/types.tsx/issues/L28-L39) - - - -### [30.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.3.0...@codecademy/gamut-labs@30.3.1) (2022-03-21) - - -### Bug Fixes - -* **CurriculumCard:** made career goal checking less brittle ([d57136c](https://github.com/Codecademy/gamut/commit/d57136c927ba7d6bc78e23288bc55fd60f59b9b0)) - - - -## [30.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.2.6...@codecademy/gamut-labs@30.3.0) (2022-03-17) - - -### Features - -* **CurriculumCard:** added new career path card styles ([3efd3ac](https://github.com/Codecademy/gamut/commit/3efd3acd75f4305dce9bd275ee7d9a7d50fa5e9e)) - - - -### [30.2.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.2.5...@codecademy/gamut-labs@30.2.6) (2022-03-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [30.2.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.2.4...@codecademy/gamut-labs@30.2.5) (2022-03-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [30.2.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.2.3...@codecademy/gamut-labs@30.2.4) (2022-03-11) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [30.2.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.2.2...@codecademy/gamut-labs@30.2.3) (2022-03-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [30.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.2.1...@codecademy/gamut-labs@30.2.2) (2022-03-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [30.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.2.0...@codecademy/gamut-labs@30.2.1) (2022-03-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [30.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.1.2...@codecademy/gamut-labs@30.2.0) (2022-03-09) - - -### Features - -* **PauseableImage:** :sparkles: Creating new pausable image component ([00c233d](https://github.com/Codecademy/gamut/commit/00c233d56498b819546b41c4dfba872618283044)) - - - -### [30.1.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.1.1...@codecademy/gamut-labs@30.1.2) (2022-03-08) - - -### Bug Fixes - -* **LayoutMenu:** overflow ([1ab3650](https://github.com/Codecademy/gamut/commit/1ab3650442c233360cb30e9b71becb1b2541e90e)) - - - -### [30.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.1.0...@codecademy/gamut-labs@30.1.1) (2022-03-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [30.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.0.2...@codecademy/gamut-labs@30.1.0) (2022-03-08) - - -### Features - -* **ErrorContents:** update copy ([f7a286c](https://github.com/Codecademy/gamut/commit/f7a286c6b0805cc1106fb271047aabeb1a35b336)) - - - -### [30.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.0.1...@codecademy/gamut-labs@30.0.2) (2022-03-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [30.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@30.0.0...@codecademy/gamut-labs@30.0.1) (2022-03-07) - - -### Bug Fixes - -* **AvatarChooser:** update to proper rhf v7 syntax ([c8d3f9a](https://github.com/Codecademy/gamut/commit/c8d3f9a1094d5848e0b3c92c15067dd7b9615336)) - - - -## [30.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.3.8...@codecademy/gamut-labs@30.0.0) (2022-03-03) - - -### ⚠ BREAKING CHANGES - -* **ConnectedForm:** update react-hook-form to v7 - -### Features - -* **ConnectedForm:** update react-hook-form to v7 ([b7671a6](https://github.com/Codecademy/gamut/commit/b7671a6c4fbf295c58e50c95179574b5ef1c9f6c)) - - - -### [29.3.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.3.7...@codecademy/gamut-labs@29.3.8) (2022-02-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [29.3.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.3.6...@codecademy/gamut-labs@29.3.7) (2022-02-28) - - -### Bug Fixes - -* **InfoCard:** Fix placement of footer items ([#2268](https://github.com/Codecademy/gamut/issues/2268)) ([49247b3](https://github.com/Codecademy/gamut/commit/49247b305ddc6a3b7f3f39804d52e163aee1bea8)) - - - -### [29.3.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.3.5...@codecademy/gamut-labs@29.3.6) (2022-02-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [29.3.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.3.4...@codecademy/gamut-labs@29.3.5) (2022-02-23) - - -### Bug Fixes - -* Icons in Curriculum Card not center aligning with Text ([423a8f6](https://github.com/Codecademy/gamut/commit/423a8f604b0397800f5a61b3e0be0c18a04c5189)) - - - -### [29.3.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.3.3...@codecademy/gamut-labs@29.3.4) (2022-02-18) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [29.3.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.3.2...@codecademy/gamut-labs@29.3.3) (2022-02-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [29.3.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.3.1...@codecademy/gamut-labs@29.3.2) (2022-02-09) - - -### Bug Fixes - -* **GlobalHeader:** fix mobile menu for screen sizes btwn 1024-1200px ([1c86d8e](https://github.com/Codecademy/gamut/commit/1c86d8e2f34829db9e4f320741f9bb4f20341531)) - - - -### [29.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.3.0...@codecademy/gamut-labs@29.3.1) (2022-02-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [29.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.2.9...@codecademy/gamut-labs@29.3.0) (2022-02-08) - - -### Features - -* **Loading:** add dark mode ([7f5c97d](https://github.com/Codecademy/gamut/commit/7f5c97d746f9b293700ff230beba199c7178a19f)) - - - -### [29.2.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.2.8...@codecademy/gamut-labs@29.2.9) (2022-02-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [29.2.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.2.7...@codecademy/gamut-labs@29.2.8) (2022-02-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [29.2.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.2.6...@codecademy/gamut-labs@29.2.7) (2022-02-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [29.2.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.2.5...@codecademy/gamut-labs@29.2.6) (2022-02-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [29.2.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.2.4...@codecademy/gamut-labs@29.2.5) (2022-02-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [29.2.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.2.3...@codecademy/gamut-labs@29.2.4) (2022-02-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [29.2.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.2.2...@codecademy/gamut-labs@29.2.3) (2022-02-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [29.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.2.1...@codecademy/gamut-labs@29.2.2) (2022-01-31) - - -### Bug Fixes - -* **GlobalHeader:** Regression fixes ([1667861](https://github.com/Codecademy/gamut/commit/1667861ffe6e50d70aa4a5fe5ac6da003d277d7f)) - - - -### [29.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.2.0...@codecademy/gamut-labs@29.2.1) (2022-01-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [29.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.1.1...@codecademy/gamut-labs@29.2.0) (2022-01-28) - - -### Features - -* **GlobalHeader:** highlight projects in resources dropdown ([5ac07d9](https://github.com/Codecademy/gamut/commit/5ac07d95a902a27f6a32dd95d52c2e876d0b65b5)) - - - -### [29.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.1.0...@codecademy/gamut-labs@29.1.1) (2022-01-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [29.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.0.1...@codecademy/gamut-labs@29.1.0) (2022-01-27) - - -### Features - -* **CurriculumCard:** add isStaticSize prop for height ([b5c67d9](https://github.com/Codecademy/gamut/commit/b5c67d9f90fff4544cdb41a8af0de17b46893eca)) - - - -### [29.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@29.0.0...@codecademy/gamut-labs@29.0.1) (2022-01-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [29.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.7.1...@codecademy/gamut-labs@29.0.0) (2022-01-25) - - -### ⚠ BREAKING CHANGES - -* bumped React to 17 - -### Features - -* bumped React to 17 ([c074ecb](https://github.com/Codecademy/gamut/commit/c074ecbfa026ed8e37cf41e874d345574a46e5e4)) - - - -### [28.7.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.7.0...@codecademy/gamut-labs@28.7.1) (2022-01-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [28.7.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.6.5...@codecademy/gamut-labs@28.7.0) (2022-01-21) - - -### Features - -* add Breadcrumbs component ([c98d16a](https://github.com/Codecademy/gamut/commit/c98d16a8e669059998a6a39da781aedb16f30a89)) - - - -### [28.6.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.6.4...@codecademy/gamut-labs@28.6.5) (2022-01-21) - - -### Bug Fixes - -* **SectionBreak, AvatarChooser:** accessibility improvements, use roles & aria-live ([34d612f](https://github.com/Codecademy/gamut/commit/34d612fcc997b70f59e99768597936ea54606b94)) - - - -### [28.6.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.6.3...@codecademy/gamut-labs@28.6.4) (2022-01-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.6.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.6.2...@codecademy/gamut-labs@28.6.3) (2022-01-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.6.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.6.1...@codecademy/gamut-labs@28.6.2) (2022-01-11) - - -### Bug Fixes - -* **AppHeaderDropdown:** boder and tab fix ([4775c8c](https://github.com/Codecademy/gamut/commit/4775c8cf7202668336898a854e267af9e2108f72)) - - - -### [28.6.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.6.0...@codecademy/gamut-labs@28.6.1) (2022-01-07) - - -### Bug Fixes - -* **GlobalHeader:** Accessibility & Tests Fix ([ba8e643](https://github.com/Codecademy/gamut/commit/ba8e643f2c50ae1bea1ca8036b1ef8bf8a2daa9b)) - - - -## [28.6.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.5.1...@codecademy/gamut-labs@28.6.0) (2021-12-20) - - -### Features - -* Info Card ([dcfc1a3](https://github.com/Codecademy/gamut/commit/dcfc1a3a74b78a6a067f25e715598d374eb3d6d4)) - - - -### [28.5.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.5.0...@codecademy/gamut-labs@28.5.1) (2021-12-17) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [28.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.4.3...@codecademy/gamut-labs@28.5.0) (2021-12-16) - - -### Features - -* **GlobalHeader:** Accessible GlobalHeader! ([9467629](https://github.com/Codecademy/gamut/commit/946762989c41c9356d784fb5b14ddce6054bb51f)) - - - -### [28.4.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.4.2...@codecademy/gamut-labs@28.4.3) (2021-12-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.4.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.4.1...@codecademy/gamut-labs@28.4.2) (2021-12-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.4.0...@codecademy/gamut-labs@28.4.1) (2021-12-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [28.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.3.4...@codecademy/gamut-labs@28.4.0) (2021-12-13) - - -### Features - -* **AppHeaderLinkMobile:** show 'new' badge in dropdown header links ([0b204dd](https://github.com/Codecademy/gamut/commit/0b204dd151b166485c3129aac330824a272ce7f3)) - - - -### [28.3.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.3.3...@codecademy/gamut-labs@28.3.4) (2021-12-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.3.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.3.2...@codecademy/gamut-labs@28.3.3) (2021-12-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.3.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.3.1...@codecademy/gamut-labs@28.3.2) (2021-12-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.3.0...@codecademy/gamut-labs@28.3.1) (2021-12-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [28.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.2.1...@codecademy/gamut-labs@28.3.0) (2021-12-08) - - -### Features - -* **CurriculumCard:** added optional description ([7b0aa1d](https://github.com/Codecademy/gamut/commit/7b0aa1df930da1315277580fcd441c7f1d9771ef)) - - - -### [28.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.2.0...@codecademy/gamut-labs@28.2.1) (2021-12-07) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [28.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.1.3...@codecademy/gamut-labs@28.2.0) (2021-12-02) - - -### Features - -* **Header:** added configurable initial visibility for search ([a6164d4](https://github.com/Codecademy/gamut/commit/a6164d4a65af9aaf71761dd7d742aa30031881ec)) - - - -### [28.1.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.1.2...@codecademy/gamut-labs@28.1.3) (2021-11-30) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.1.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.1.1...@codecademy/gamut-labs@28.1.2) (2021-11-30) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.1.0...@codecademy/gamut-labs@28.1.1) (2021-11-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [28.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.14...@codecademy/gamut-labs@28.1.0) (2021-11-23) - - -### Features - -* remove unused brandColors and deprecatedColors variables ([3fdeb84](https://github.com/Codecademy/gamut/commit/3fdeb84b96f7be9bc7a40d72b0ac8d1903a7bc22)) - - - -### [28.0.14](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.13...@codecademy/gamut-labs@28.0.14) (2021-11-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.0.13](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.12...@codecademy/gamut-labs@28.0.13) (2021-11-17) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.0.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.11...@codecademy/gamut-labs@28.0.12) (2021-11-17) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.0.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.10...@codecademy/gamut-labs@28.0.11) (2021-11-16) - - -### Bug Fixes - -* **LayoutMenu:** set aria-current on SelectedSectionItem ([6a31732](https://github.com/Codecademy/gamut/commit/6a31732a9cccee8522253a3a65b53d65dbf7c860)) - - - -### [28.0.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.9...@codecademy/gamut-labs@28.0.10) (2021-11-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.0.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.8...@codecademy/gamut-labs@28.0.9) (2021-11-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.0.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.7...@codecademy/gamut-labs@28.0.8) (2021-11-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.0.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.6...@codecademy/gamut-labs@28.0.7) (2021-11-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.0.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.5...@codecademy/gamut-labs@28.0.6) (2021-11-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.0.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.4...@codecademy/gamut-labs@28.0.5) (2021-11-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.0.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.3...@codecademy/gamut-labs@28.0.4) (2021-11-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.2...@codecademy/gamut-labs@28.0.3) (2021-11-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.1...@codecademy/gamut-labs@28.0.2) (2021-11-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [28.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@28.0.0...@codecademy/gamut-labs@28.0.1) (2021-11-03) - - -### Bug Fixes - -* **Drawer:** add missing max-width: 100% ([b12691b](https://github.com/Codecademy/gamut/commit/b12691b43c1646413e132c8f6b852bb6c8ad2a4f)) - - - -## [28.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@27.1.1...@codecademy/gamut-labs@28.0.0) (2021-11-01) - - -### ⚠ BREAKING CHANGES - -* bumped framer-motion to v4 - -### Miscellaneous Chores - -* bumped framer-motion to v4 ([7590c77](https://github.com/Codecademy/gamut/commit/7590c77ecc01381fcd4a19ec8b2c73b792c9d960)) - - - -### [27.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@27.1.0...@codecademy/gamut-labs@27.1.1) (2021-10-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [27.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@27.0.2...@codecademy/gamut-labs@27.1.0) (2021-10-28) - - -### Features - -* **GlobalPage:** add banner to global page ([44724e8](https://github.com/Codecademy/gamut/commit/44724e80016be619ebc926b8f0ec507e76c7812e)) - - - -### [27.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@27.0.1...@codecademy/gamut-labs@27.0.2) (2021-10-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [27.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@27.0.0...@codecademy/gamut-labs@27.0.1) (2021-10-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## 27.0.0 (2021-10-26) - - -### ⚠ BREAKING CHANGES - -* **Pattern:** remove name-based Pattern component -* **PageSingleFeature:** add option for accent eyebrow -* **PageHero:** add short text variation -* **CurriculumCard:** Updated scope to support more content items, added alternative subtitle -* **Flyout:** switch to controlled component -* **GlobalHeader:** mark visible notifications as read upon opening -* **Avatar:** convert avatar sizes to using numbers over string enum -* release -kit-4.7 -* Refactor Testimonial and Avatar to Emotion -* **Header:** reroute header upsell for upgrade -* use a sticky Box for GlobalHeader -* update landing page exports -* add new dot Pattern and rename old dots to checker -* **ContentContainer:** update responsive padding -* **Card:** Animation Fixes and Gamut migration -* **Byline:** use Emotion for styles (#1464) -* bumped ESLint packages to latest and added recommended & Jest linting -* **BrandMono:** Remove Roboto Mono in favor of using Suisse -* **PageHero:** added functionality for PageHero to take images or videos as props -* replace VisualTheme enum with string type union (#1166) -* add landing page prefooter component (#1185) -* deprecate Button and ButtonBase (#1069) -* **gamut-styles:** deprecate legacy JS color variables (#940) -* Swapped default font family to Apercu (#935) -* **Gamut:** Enable Emotion (#917) - -### Features - -* **AppHeader types:** Updating AppHeaderItem types ([22398e0](https://github.com/Codecademy/gamut/commit/22398e0cf8db45a985e336180e82f4eaef8696db)) -* **Avatar:** add size prop ([496d9b3](https://github.com/Codecademy/gamut/commit/496d9b343730ca9dcf79f07cc32399d0d107c0a2)) -* **Avatar:** convert avatar sizes to using numbers over string enum ([02539fd](https://github.com/Codecademy/gamut/commit/02539fde8dc74436eb0811e335256dc101346158)) -* **Background:** Set current background color to local CSS variable GM-259 ([ea834ea](https://github.com/Codecademy/gamut/commit/ea834ea5654334b6b1bf5c26e8438038dcb0a8c5)) -* **Buttons:** Color + Structure Redux [GM-237] ([#1809](https://github.com/Codecademy/gamut/issues/1809)) ([698aa2a](https://github.com/Codecademy/gamut/commit/698aa2a184e59e32821c58686ac133cb043c8f65)) -* **CodeChallenges:** add challenges to list of resources in global nav ([149caa6](https://github.com/Codecademy/gamut/commit/149caa6d563d3cd74792f5c90d4387b9cc462a50)) -* **CurriculumCard:** Add beta sticker option to CurriculumCard ([6836ddb](https://github.com/Codecademy/gamut/commit/6836ddbaa24268cfe571ef18c3940634cdf133c9)) -* **CurriculumCard:** updated footer text variant ([e9cec05](https://github.com/Codecademy/gamut/commit/e9cec05356365b1bca119b4721c3117da3636582)) -* **CurriculumCard:** Updated scope to support more content items, added alternative subtitle ([f568930](https://github.com/Codecademy/gamut/commit/f568930daec3e4eb82903e1ec366d4cfa7bdb022)) -* **Drawer:** extract Drawer from Flyout ([e2352f9](https://github.com/Codecademy/gamut/commit/e2352f98dec94c539bbbbd4e1b87069e40a88e3d)) -* **Favorites:** allow global header to receive favorites section ([0e416a1](https://github.com/Codecademy/gamut/commit/0e416a10c13ea610ba5ad67802c1d00ff0583cec)) -* **Flyout:** switch to controlled component ([92bf1f0](https://github.com/Codecademy/gamut/commit/92bf1f0db95eaa91bb6bbcf7ddd793f663d2ef0d)) -* **Flyout:** feat(Flyout): ([531357d](https://github.com/Codecademy/gamut/commit/531357d6b27f7a34f8a84d4ff453564176f6499a)) -* **footer:** add link to docs resources footer and header ([bc81f21](https://github.com/Codecademy/gamut/commit/bc81f21a3c72afc442f37c9e122b49d30b99cfe1)) -* **GlobalFooter:** Update href of 'Beta Content' link to point at hub page ([6a4f3a9](https://github.com/Codecademy/gamut/commit/6a4f3a9c1cc6e5aa072c269410fd2b20ec136aeb)) -* **GlobalHeader:** [GM-399] Adding dark mode to GlobalHeader and all child components ([fa1b57d](https://github.com/Codecademy/gamut/commit/fa1b57def37330bfa9c6497d00295221a64886bd)) -* **GlobalHeader:** Added the better type for the link handler ([934d335](https://github.com/Codecademy/gamut/commit/934d3359c7c442114d72b32b6958b13514ea2f83)) -* **GlobalHeader:** adding referral link ([0825db1](https://github.com/Codecademy/gamut/commit/0825db12665bc715a01c64b4b038abf53e74179b)) -* **GlobalHeader, GlobalFooter:** Learner stories link in global footer and global header ([a5979f4](https://github.com/Codecademy/gamut/commit/a5979f44ff27538ea8f3a9e1e0d889d62bbff6e0)) -* **LayoutMenu:** add breakpoint prop for configurable layout switching ([c218ee4](https://github.com/Codecademy/gamut/commit/c218ee4287188762a9fb458793e9bcd316c8f928)) -* **LayoutMenu:** additional links section above accordions ([675de4e](https://github.com/Codecademy/gamut/commit/675de4edd452ba3bb32b861b0d2f4664bd41e4f5)) -* **LayoutMenu:** Creates LayoutMenu using Flyout and Accordions ([3552cec](https://github.com/Codecademy/gamut/commit/3552cecaa97e855d5cb7e426c628ce85c30921fb)) -* **Menu:** Add icon support and convert DropdownButton to use action menus GM-301 ([c09a952](https://github.com/Codecademy/gamut/commit/c09a9521717f38644a8d05ff08593a7e2653c33d)) -* **Nav:** add career center link ([161537e](https://github.com/Codecademy/gamut/commit/161537e135de0e5151c70a35c74458c56535516d)) -* **PageAlerts:** porting PageAlerts from Portal-App ([6087481](https://github.com/Codecademy/gamut/commit/60874815803fb8263fc88639047698580c38fcae)) -* **PageHero:** add option to show image on mobile ([2341c71](https://github.com/Codecademy/gamut/commit/2341c719a8afe16025374bceef1918f3c7d470b6)) -* **PageHero:** add optional eyebrow text ([0cbac21](https://github.com/Codecademy/gamut/commit/0cbac212c3d3018f2b17fd81b9f0b527274c422c)) -* **PageHero:** add short text variation ([edd8213](https://github.com/Codecademy/gamut/commit/edd8213c6aa1dbed5e2759bcd949b64ca41371d1)) -* **PageSingleFeature:** Abstract to PageSingleFeature ([4c68460](https://github.com/Codecademy/gamut/commit/4c6846047543f1f04f80094f8b55ce14264ca1b5)) -* **PageSingleFeature:** add option for accent eyebrow ([4805ba1](https://github.com/Codecademy/gamut/commit/4805ba177426003a98b942779d01ce075e29ac8c)), closes [#1557](https://github.com/Codecademy/gamut/issues/1557) -* **props:** Support `color` and other HTML attributes as system props without type collision GM-247 ([ff93f0c](https://github.com/Codecademy/gamut/commit/ff93f0c9b7ca64ed9819586709f58436ca4502b9)) -* Add AvatarChooser component ([c42472b](https://github.com/Codecademy/gamut/commit/c42472bc35eb41e10a004a74bfa95307b0cf7919)) -* add Kebab type to DropdownButton ([c736362](https://github.com/Codecademy/gamut/commit/c73636278a4a5756396956e43cb8985362eb6f10)) -* add new DropdownButton component and workspace icons ([37c4427](https://github.com/Codecademy/gamut/commit/37c4427b56043c3cede86490c7494d6f74ac566a)) -* add notifications to GlobalHeader ([015e605](https://github.com/Codecademy/gamut/commit/015e60539dd2dd96d3eac69873555b4db390bd3e)) -* add search to GlobalHeader ([c55faef](https://github.com/Codecademy/gamut/commit/c55faef2bf35ba8ede26a30f21f5335b2632a065)) -* add SocialMediaSharing component ([4b5cff0](https://github.com/Codecademy/gamut/commit/4b5cff001d783414fb19b273c526ce5c79255b3c)) -* added data-testid for GlobalPage's PageWrapper ([6e593b8](https://github.com/Codecademy/gamut/commit/6e593b87380e06ef4a8d8c9b0b36cd92cd0ca0ee)) -* added GlobalPage organism ([2287dae](https://github.com/Codecademy/gamut/commit/2287dae67c79fe64794a6ef1e1d8e34b70319aa0)) -* added hidePricing prop to GlobalFooter, GlobalHeader ([c8180c1](https://github.com/Codecademy/gamut/commit/c8180c1e96ef6e3d945e33984d1fbf4d76b44af7)) -* adding `isBusinessAdmin` field to User type ([0bf3d3f](https://github.com/Codecademy/gamut/commit/0bf3d3f8b071b99edb986d2ad631e66f65ea7d6b)) -* bump ESLint configs to latest ([4e3cf77](https://github.com/Codecademy/gamut/commit/4e3cf77928bdd69bce3eeca8a7f07439627b4f08)) -* Close DropdownButton list after an option is selected ([c31dc39](https://github.com/Codecademy/gamut/commit/c31dc39b611fe310b8a26e19656ef99d0e214e93)) -* enable @typescript-eslint/prefer-optional-chain ([2776ecb](https://github.com/Codecademy/gamut/commit/2776ecbb0b23594cdd0ab460763db91b31d4f466)) -* List Section ([4794680](https://github.com/Codecademy/gamut/commit/4794680ab0911d5f49576fbe866948dfe027394f)) -* Migrate final gamut-system docs + functions to variance [WEB-1413] ([f966933](https://github.com/Codecademy/gamut/commit/f966933ac814d228072e781ee2a3d75a33190a85)) -* Navy scale + color alias changes GM-237 ([3c8a772](https://github.com/Codecademy/gamut/commit/3c8a772271492e0ecc8d724f296f0bfe5ef17112)), closes [#10162](https://github.com/Codecademy/gamut/issues/10162) -* update landing page `CTA` to show fill button or cta button ([fde4dd0](https://github.com/Codecademy/gamut/commit/fde4dd0b7a028666a9f42ac3744d228f3ac74868)) -* **Anchor:** Variance Migration + ColorMode [GM-203] ([dd0058b](https://github.com/Codecademy/gamut/commit/dd0058b0ba96a2f8cca804884c2d2fcf66951ee4)) -* **Box:** Migration + Simplification [GM-202] ([9b5cbee](https://github.com/Codecademy/gamut/commit/9b5cbeee714c136814c6f9dc1406aaf541cecba3)), closes [/github.com/Codecademy/client-modules/pull/1658/files#diff-0a88d99d132d11cc2e6fbc3af0befc3973e56db2e35842fe02a35c92d58b9](https://github.com/Codecademy//github.com/Codecademy/client-modules/pull/1658/files/issues/diff-0a88d99d132d11cc2e6fbc3af0befc3973e56db2e35842fe02a35c92d58b9) -* **footer:** Hackathon egg for learn page footer ([a737592](https://github.com/Codecademy/gamut/commit/a73759272bc7e4ed0cac4fe40ff1e0ca4e6e4455)) -* **Global Footer:** add affiliate program link ([1ba80dd](https://github.com/Codecademy/gamut/commit/1ba80dd2e34bbd50702e1a7ad81d7629438edf38)) -* **Header:** reroute header upsell for upgrade ([80bedb1](https://github.com/Codecademy/gamut/commit/80bedb13856db058ec20ae93842b2083cb9172b9)) -* **ListSection:** Updating ListSection to have a ShowAll/ShowLess click handler prop ([1c00fb2](https://github.com/Codecademy/gamut/commit/1c00fb24344962cd6779e837287763c31c268e6c)) -* **Logo / Labels:** Consolidation + Props + Modes [GM-149] [GM-146] ([eff6cb6](https://github.com/Codecademy/gamut/commit/eff6cb61686a4e744bab1c582f5e78add965262f)) -* **PageWrapper:** Extend stacking context reset element for pages with a background color ([8a42aca](https://github.com/Codecademy/gamut/commit/8a42aca9b6e9bc833f5b4dcb63c18a962fb45762)) -* **Tabs:** Adding a gamut-labs Tabs component ([c5d404a](https://github.com/Codecademy/gamut/commit/c5d404af935828f5773562227be3e03e8c38ed39)) -* **Testimonial:** Add new Testimonial Component ([64c83be](https://github.com/Codecademy/gamut/commit/64c83be3650207b339459cd92179f3e5c58712db)) -* **theme:** createTheme self containment ([87a203c](https://github.com/Codecademy/gamut/commit/87a203c56df8002406552208b8b5ffc55b228262)), closes [#666666](https://github.com/Codecademy/gamut/issues/666666) [#666666](https://github.com/Codecademy/gamut/issues/666666) -* **variance:** states boolean toggle styles GM-233 ([a4fa8cf](https://github.com/Codecademy/gamut/commit/a4fa8cf473a1b22648fa480025630a9d1827f84d)) -* added EmptySection ([9b6a544](https://github.com/Codecademy/gamut/commit/9b6a54482121c7c8948074b24f1e055815679431)) -* Refactor Testimonial and Avatar to Emotion ([0311f84](https://github.com/Codecademy/gamut/commit/0311f846ea7d23eeb32c4e87b43b9b915866a910)) -* release -kit-4.7 ([f574c83](https://github.com/Codecademy/gamut/commit/f574c8317c2e6128eaead047146a774acc257293)) -* **Popover:** use theme.colors.secondary for outline color ([0fbec88](https://github.com/Codecademy/gamut/commit/0fbec88f491d9a3310380a300a0b8de8b79833d9)) -* use a sticky Box for GlobalHeader ([a4b6bdc](https://github.com/Codecademy/gamut/commit/a4b6bdc6edec9fe7f7674e20188e0b1a0646bab4)) -* **Text:** Migrate to variance and add new semantic variants [GM-204] ([152ac4e](https://github.com/Codecademy/gamut/commit/152ac4ef25a986a790b3f20da8f080ab1c389542)) -* Add PageSection molecule ([f80ea47](https://github.com/Codecademy/gamut/commit/f80ea47964a897bc85675d78da04b0ad1639f63a)) -* **AppHeaderDropdown:** dropdown AppHeaderElement ([#1279](https://github.com/Codecademy/gamut/issues/1279)) ([54e8add](https://github.com/Codecademy/gamut/commit/54e8addb83fee89bb92f04c31a40a6a9d0450643)) -* **AppHeaderProfileDropdown:** Pass through user avatar and display name ([#1330](https://github.com/Codecademy/gamut/issues/1330)) ([7d4ddc1](https://github.com/Codecademy/gamut/commit/7d4ddc1cacc7e98c041643e7eaf6320a26e986f1)) -* **Curriculum Card:** Port from monolith ([ecc10bf](https://github.com/Codecademy/gamut/commit/ecc10bfdad75e23d25e8eb449aab244a3fd94ccf)) -* add new dot Pattern and rename old dots to checker ([027c50e](https://github.com/Codecademy/gamut/commit/027c50eb3c71997978e8c0d9146ba136a3fb8ceb)) -* **Global Header:** add redirect parameter ([466b092](https://github.com/Codecademy/gamut/commit/466b092b12f007a0e4e1b7e9f3ba60f884881dbe)), closes [/github.com/codecademy-engineering/Codecademy/blob/develop/webpack/assets/libs/url.ts#L62](https://github.com/Codecademy//github.com/codecademy-engineering/Codecademy/blob/develop/webpack/assets/libs/url.ts/issues/L62) -* **GlobalHeader:** add GlobalHeader component ([#1306](https://github.com/Codecademy/gamut/issues/1306)) ([a9d2ad6](https://github.com/Codecademy/gamut/commit/a9d2ad6939c67d096df569218a04712dbefae270)) -* **LayoutGrid:** LayoutGrid conversion + Initial Variance Props [GM-81] ([14a753e](https://github.com/Codecademy/gamut/commit/14a753e2850bd381aa9f6819c5bac623b39e4036)) -* added GlobalFooter molecule ([#1598](https://github.com/Codecademy/gamut/issues/1598)) ([815f30f](https://github.com/Codecademy/gamut/commit/815f30f783e30633b5f6042fc62431243f0716ef)) -* **GlobalHeader:** Add pro paused and trial completed header types ([aecc098](https://github.com/Codecademy/gamut/commit/aecc0983d7ce2fd3d55e409152fd9db888a95ea4)) -* **GlobalHeader:** header animation on scroll ([#1430](https://github.com/Codecademy/gamut/issues/1430)) ([73152a9](https://github.com/Codecademy/gamut/commit/73152a90f0dae058a4aaf660a9f6c216ac7daa5f)) -* **Variance:** Initial Props and Refactor Tests [WEB-1390] ([9f29489](https://github.com/Codecademy/gamut/commit/9f294894b49915ea0504749ecdca7e62d46d475e)) -* add height animation to dropdown ([b811df3](https://github.com/Codecademy/gamut/commit/b811df37bb76f5074b703311d83510f4a118f408)) -* **AppHeader:** add AppHeader component ([#1300](https://github.com/Codecademy/gamut/issues/1300)) ([f36cad0](https://github.com/Codecademy/gamut/commit/f36cad08bb2d97d4a1c46eafa84ad48c8e5f86f6)) -* **ContentContainer:** update responsive padding ([4b6fb50](https://github.com/Codecademy/gamut/commit/4b6fb50171f412f2238c4f7519f227319cc686ff)) -* **GamutProvider:** Adds single provider for Theme + Cache + Globals + Assets [WEB-1352] [GM-173] ([afa9c7f](https://github.com/Codecademy/gamut/commit/afa9c7f647c005f2d17517726bf3409cafdbb6fc)) -* **HubCard:** Created a new hub page card component ([e3b3eff](https://github.com/Codecademy/gamut/commit/e3b3eff11d41e85bb586407091fa19a1ea300c7c)) -* **Mobile Menu components:** mobile menu set up ([#1320](https://github.com/Codecademy/gamut/issues/1320)) ([0455c70](https://github.com/Codecademy/gamut/commit/0455c70f1ba0aa9f5fec0d38424239f5fa0a0c83)) -* **PageHero:** don't hide video on xs screens ([#1505](https://github.com/Codecademy/gamut/issues/1505)) ([4defbb4](https://github.com/Codecademy/gamut/commit/4defbb46320b1486e34714d24079810d63f026c5)) -* add dark mode to video gallery and prefooter ([6308191](https://github.com/Codecademy/gamut/commit/63081912c2c995a376deb621d9a54c4269de4a54)) -* add linting for gamut imports ([bfddbc8](https://github.com/Codecademy/gamut/commit/bfddbc84074d6c745277fa28821c70179d15db28)) -* add new coachmark component ([e62a0d4](https://github.com/Codecademy/gamut/commit/e62a0d400c4c5d6a0cdfcc2531d0d9412d62cbac)) -* bumped ESLint packages to latest and added recommended & Jest linting ([0cecc5c](https://github.com/Codecademy/gamut/commit/0cecc5ca58883616a78c5429c1f6ec41fa03c4ba)) -* deprecated useBreakpoint and friends ([02fac9c](https://github.com/Codecademy/gamut/commit/02fac9cd8afcd4f0374140ec4b93869437975326)) -* **Mobile Menu:** mobile menu interactions ([64fbbf0](https://github.com/Codecademy/gamut/commit/64fbbf020d3d92fb299c5e3dc7e3dbefa2df8d3f)) -* **Mobile Menu Variants:** global header mobile ([58ec4df](https://github.com/Codecademy/gamut/commit/58ec4df0a7ae708c3ec663fabca2ea2f161c30a5)) -* **PageHero:** added functionality for PageHero to take images or videos as props ([e81133c](https://github.com/Codecademy/gamut/commit/e81133c32305d1f008a6505d47903fe93814da46)) -* **props:** Adds custom shouldForwardProp to omit system props ([5a02ac4](https://github.com/Codecademy/gamut/commit/5a02ac41ecd7200b0ded8cfff4406c09d8c48cd5)) -* add 3-video gallery component ([0ccb6f0](https://github.com/Codecademy/gamut/commit/0ccb6f02376ef549fe27e2a81182d0ed261682bc)) -* **Anchor:** add variants to anchor ([80a2e36](https://github.com/Codecademy/gamut/commit/80a2e360c97efe6b4cad35dd3b0278b3e7d4ae72)) -* **AppHeaderLink:** link AppHeaderElement ([#1278](https://github.com/Codecademy/gamut/issues/1278)) ([048abba](https://github.com/Codecademy/gamut/commit/048abba3d8aa8666e273e097d8ef426eef4eb02d)) -* **AppHeaderLogo:** logo button AppHeaderElement ([#1277](https://github.com/Codecademy/gamut/issues/1277)) ([889d8af](https://github.com/Codecademy/gamut/commit/889d8af604a8d4ed1d7def3539f05316c06bb471)) -* add beakPosition prop to Popover ([4e11a2c](https://github.com/Codecademy/gamut/commit/4e11a2cec9b0e06a901b456d170e6776adb6d753)) -* add landing page features section component ([#1175](https://github.com/Codecademy/gamut/issues/1175)) ([72e38c1](https://github.com/Codecademy/gamut/commit/72e38c1312cf4cea99b3ab472925ae2c295d89ec)) -* add landing page hero gamut component ([#1161](https://github.com/Codecademy/gamut/issues/1161)) ([e1fe265](https://github.com/Codecademy/gamut/commit/e1fe265347a4139b16b00754dd61342abb9f9753)) -* add landing page prefooter component ([#1185](https://github.com/Codecademy/gamut/issues/1185)) ([7c99630](https://github.com/Codecademy/gamut/commit/7c99630f50a7e0c0ba8505aff46d2f0d5e0d1a4e)) -* Add optional onClick handler to landing page CTA button ([aabd261](https://github.com/Codecademy/gamut/commit/aabd261bf162a36f757a0bfb179182404b2a5bc9)) -* add vertical and horizontal offsets to the popover component ([0d57c32](https://github.com/Codecademy/gamut/commit/0d57c32e18b3592303151dde7a00793b3d3b8963)) -* **Box:** Adds a set of utility Box components using system props ([a68f635](https://github.com/Codecademy/gamut/commit/a68f6354c674bdba9f8e5ae5ea9444abbc039d95)) -* **BreakpointHooks:** Port breakpoint hooks from Monolith into Gamut Labs ([01afcf0](https://github.com/Codecademy/gamut/commit/01afcf0e426128248e84f864d5c08c6dfd274983)) -* **Landing Page Components:** Allow passing callback for link clicks inside Markdown ([b2a6e5b](https://github.com/Codecademy/gamut/commit/b2a6e5be9bf5e4fc08eff51d5bf35ff77ba5357f)) -* onboarded eslint-plugin-simple-import-sort into ESLint plugin ([89520d0](https://github.com/Codecademy/gamut/commit/89520d0e50c85b325616c0963c22199eedbfb8b7)) -* **Box:** Temporary Box component ([#958](https://github.com/Codecademy/gamut/issues/958)) ([01ac3ef](https://github.com/Codecademy/gamut/commit/01ac3efc40e276493c242ee2db6ed5bd13629911)) -* **Button:** Automatically switch to anchor tag when href is defined ([#1172](https://github.com/Codecademy/gamut/issues/1172)) ([01c053c](https://github.com/Codecademy/gamut/commit/01c053cc80a117dd46a6955948d4523e379b246c)) -* added focus trap to Popover... ([#1164](https://github.com/Codecademy/gamut/issues/1164)) ([002b551](https://github.com/Codecademy/gamut/commit/002b5514c63ee30bc342ab7eea3c20ab4a5d9157)) -* **Box:** make ShadowOffset customizable ([#1060](https://github.com/Codecademy/gamut/issues/1060)) ([bde9aa1](https://github.com/Codecademy/gamut/commit/bde9aa15360f0cac62283db26c50afe6eb24d0bf)) -* **Emotion:** Upgrade to Emotion 11 ([#944](https://github.com/Codecademy/gamut/issues/944)) ([f87f19c](https://github.com/Codecademy/gamut/commit/f87f19c2578fe047561e62b806a44af2238e17ef)) -* **Gamut:** Enable Emotion ([#917](https://github.com/Codecademy/gamut/issues/917)) ([9b25901](https://github.com/Codecademy/gamut/commit/9b2590148018d07b889618b5dc2588a6a375bfd3)) -* **LayoutGrid:** add rowspan to LayoutGrid and fix colors for ProLogo ([#1056](https://github.com/Codecademy/gamut/issues/1056)) ([c5377a4](https://github.com/Codecademy/gamut/commit/c5377a45172df3200564264bc796cef9e15e35d7)) -* **popover:** add outline prop ([66506a3](https://github.com/Codecademy/gamut/commit/66506a3e395c04a2c3773e4de0ab7aa5166e1052)) -* **Styles:** Create system styles and gamut theme ([#1127](https://github.com/Codecademy/gamut/issues/1127)) ([57abf97](https://github.com/Codecademy/gamut/commit/57abf970d7f326a9cb59bdab4fd8f96d93f6a735)) -* **Text:** New Text primitive using system styles ([#1128](https://github.com/Codecademy/gamut/issues/1128)) ([a46a028](https://github.com/Codecademy/gamut/commit/a46a028797a2d4c2bd43579a9b74c9c5c018d2cf)) -* Add a popover component ([#846](https://github.com/Codecademy/gamut/issues/846)) ([c5a805d](https://github.com/Codecademy/gamut/commit/c5a805d3c399f49f09a32ca10fa5ac044c5dbebc)) -* added gamut-tests package around component-test-setup ([#1285](https://github.com/Codecademy/gamut/issues/1285)) ([f163d48](https://github.com/Codecademy/gamut/commit/f163d4872966ca2269fdfa2382b2eb2d15d9fec0)) -* added new pro logo ([#957](https://github.com/Codecademy/gamut/issues/957)) ([8add963](https://github.com/Codecademy/gamut/commit/8add9637e907bd2828779aaafb34add2cb0f746c)) -* change LP components text color to navy ([0554f97](https://github.com/Codecademy/gamut/commit/0554f97766639f69c21bcd21184db5a2e9299669)) -* Create default main export for gamut-styles [WEB-895] ([#820](https://github.com/Codecademy/gamut/issues/820)) ([540e710](https://github.com/Codecademy/gamut/commit/540e710390245a725ef0bcf229dd0f733f4ead0e)) -* deprecate Button and ButtonBase ([#1069](https://github.com/Codecademy/gamut/issues/1069)) ([7bb2d0a](https://github.com/Codecademy/gamut/commit/7bb2d0ac558be1a97c4c50642b72cd2646ca1203)) -* ProAltLogo ([#1071](https://github.com/Codecademy/gamut/issues/1071)) ([8dc2546](https://github.com/Codecademy/gamut/commit/8dc2546c816a254dfe4ea2ad640c62643e701fe8)) -* Start of the base landing page components section ([#1118](https://github.com/Codecademy/gamut/issues/1118)) ([f019beb](https://github.com/Codecademy/gamut/commit/f019bebfb4d648a7e43b93b0ccf435b3fa4e68fa)) -* Swapped default font family to Apercu ([#935](https://github.com/Codecademy/gamut/issues/935)) ([2fee178](https://github.com/Codecademy/gamut/commit/2fee17808514a9d91dfcd541c4ceef6491f22547)), closes [#943](https://github.com/Codecademy/gamut/issues/943) -* **Emotion:** Add Emotion Dependency to Next WEB-982 ([#888](https://github.com/Codecademy/gamut/issues/888)) ([7cfde27](https://github.com/Codecademy/gamut/commit/7cfde27834a71b119231b88f96e506167ef50311)) -* **PageFeatures:** Allow the PageFeatures component to render in a grid ([#1312](https://github.com/Codecademy/gamut/issues/1312)) ([41202cc](https://github.com/Codecademy/gamut/commit/41202cc368dd59cefb8164a46eca876cc91284e4)) -* **PageFeatures:** allow this component to render stats and no media, in addition to images and icons ([#1307](https://github.com/Codecademy/gamut/issues/1307)) ([d223e4c](https://github.com/Codecademy/gamut/commit/d223e4cced63dffa857dbf837a4eaad05b85c644)) - - -### Bug Fixes - -* **Drawer:** use minWidth instead of width in internal Box ([baafde4](https://github.com/Codecademy/gamut/commit/baafde4184ffc1206da44afe9ec94ff7fb96a195)) -* **Flyout:** title overflow ([529ed4c](https://github.com/Codecademy/gamut/commit/529ed4c834a7f9f9656171c6daca7858dc492b0c)) -* changing logic of Business Account Management profile item to use `isBusinessAdmin` ([f9500f3](https://github.com/Codecademy/gamut/commit/f9500f31948c3ab4c162ecb0966ca03a493b7947)) -* **Drawer:** add 100% height to inner Box ([e60e042](https://github.com/Codecademy/gamut/commit/e60e042c376d19f777b9edf420f9ef5cd46eeb40)) -* **GlobalHeader:** corrected 360px for notifications ([f27d7df](https://github.com/Codecademy/gamut/commit/f27d7dfb1cf0349089d0352b4312436dab58fc4f)) -* **GlobalHeader:** Limit buttons on mobile header < XS to 1 and use small size GM-345 ([41e8318](https://github.com/Codecademy/gamut/commit/41e83180f0f93db61c3b9ee4a478c229be632ff8)) -* **GlobalHeader:** mark visible notifications as read upon opening ([1fb2bb5](https://github.com/Codecademy/gamut/commit/1fb2bb5763cc07de2bb8f9297de98444ecadbd20)) -* **LayoutMenu:** add aria-expanded ([a14c460](https://github.com/Codecademy/gamut/commit/a14c4605cfc99f55357a60eeeb6ace38fc4b5d89)) -* **NotificationList:** a11y improvements ([b0a4d37](https://github.com/Codecademy/gamut/commit/b0a4d37160c42cc7afbb644425f4042d535a97d1)) -* **Testimonial:** aria-label on Anchor ([02356d2](https://github.com/Codecademy/gamut/commit/02356d287c34d10f6e81d5b1799acbfe6eb81c39)) -* accessibility and key violations in GlobalFooter ([c8eb27d](https://github.com/Codecademy/gamut/commit/c8eb27db0bb5fc0a5d12cb43bdb135d97276e4d2)) -* add docs back to header and footer ([965f7f1](https://github.com/Codecademy/gamut/commit/965f7f1df0ac52484e51480dd54959b4931ff14c)), closes [Codecademy/client-modules#2022](https://github.com/Codecademy/client-modules/issues/2022) -* add shouldForwardProp to DropdownButton ([47893f5](https://github.com/Codecademy/gamut/commit/47893f5aac61de57374ff07cde0bd6d31e87b19c)) -* disable react/jsx-one-expression-per-line rule ([#1728](https://github.com/Codecademy/gamut/issues/1728)) ([fad8401](https://github.com/Codecademy/gamut/commit/fad840107250b246e23b82135b8c0ab5e18c10b5)), closes [#1727](https://github.com/Codecademy/gamut/issues/1727) -* Google and App store ([18b5c4b](https://github.com/Codecademy/gamut/commit/18b5c4b5f4e2f771b65b38b8b98c279032d520b7)) -* mismatched footer links ([#1624](https://github.com/Codecademy/gamut/issues/1624)) ([5af740e](https://github.com/Codecademy/gamut/commit/5af740e0d9dd1a78833ed1063930fb375b186366)) -* remove DropdownButton animation and add offset props ([132a666](https://github.com/Codecademy/gamut/commit/132a666805366d3c472bb32893c385bb9c091871)) -* Replace focus-trap with focus-lock-on ([7282911](https://github.com/Codecademy/gamut/commit/72829115cc9dba57945b46dc55c20a20ff6d306b)) -* Revert "fix: add docs back to header and footer" ([d12a568](https://github.com/Codecademy/gamut/commit/d12a568b5bd157ff5ae58639766d64b097c28384)), closes [Codecademy/client-modules#2024](https://github.com/Codecademy/client-modules/issues/2024) -* Revert "fix: Revert "fix: add docs back to header and footer"" ([827a932](https://github.com/Codecademy/gamut/commit/827a932501d872711fb2d80ae8bd73f909c2588e)), closes [Codecademy/client-modules#2025](https://github.com/Codecademy/client-modules/issues/2025) -* Set HubCard Card variant ([18635cd](https://github.com/Codecademy/gamut/commit/18635cd4d3e87f7c3309470ac9aa4ce957a5c983)) -* **AvatarChooser:** Add alt text to Avatar image ([7096b90](https://github.com/Codecademy/gamut/commit/7096b9014f4808cb06af3d0f0d5ad584cdd6af41)) -* **DropdownButton:** add aria label ([79e7faa](https://github.com/Codecademy/gamut/commit/79e7faa674bc9ae766c921c10e8b3b83782aab87)) -* **Flyout:** change how we're setting full height ([499b7e5](https://github.com/Codecademy/gamut/commit/499b7e561a313fa53e688dde4d099faffebbf513)) -* **Flyout:** Move Close Icon Placement ([5fb65e3](https://github.com/Codecademy/gamut/commit/5fb65e3d7bb600ee40bd21fbe91806c2c8be258d)) -* **GlobalFooter:** update empty global footer onClick targets ([c5e4549](https://github.com/Codecademy/gamut/commit/c5e4549e8f3c2e11f6e0287979e432311baf7c69)) -* **GlobalFooter:** Update full catalog link ([ed99543](https://github.com/Codecademy/gamut/commit/ed99543218a953f7862b85c707a712ae829dc2d4)) -* **GlobalHeader:** fix transparent header when refreshing scrolled SSR'd page ([d6a842a](https://github.com/Codecademy/gamut/commit/d6a842ad6cd6cdb438d14623ba170b546e145d0b)) -* **GlobalPage:** extending bg color to whole page height ([570ff19](https://github.com/Codecademy/gamut/commit/570ff197fe973dc28b202463824201253a5940a4)) -* **labs:** Fix missing exported type ([6cfe3d8](https://github.com/Codecademy/gamut/commit/6cfe3d838b7630ca0d15736204ed82a3df0466cc)) -* **LayoutMenu:** Emotion Only GM-258 ([67d7c03](https://github.com/Codecademy/gamut/commit/67d7c03590e99194963ab338b85859db088f920b)) -* **LayoutMenu:** update focus visible states and x-button placement ([30d92d6](https://github.com/Codecademy/gamut/commit/30d92d6f760d22f16eb113108c03dc8bdc0844c5)) -* **ListSection:** Fixing accessibility and spacing ([6c7589a](https://github.com/Codecademy/gamut/commit/6c7589a1e99efa28fc7c02ea418520e1efa283c1)) -* **PageSection:** Adding margin-top to footer of PageSection ([2ee4764](https://github.com/Codecademy/gamut/commit/2ee47647cbc4fec953ab7cdde0f13fd8e3c07e69)) -* **Testimonial:** axe issue on Testimonial ([2ae6e12](https://github.com/Codecademy/gamut/commit/2ae6e123dca477b6f3823b5253626150f7bb9483)) -* **Testimonial:** fixed issue with optional text rendering ([9db324a](https://github.com/Codecademy/gamut/commit/9db324a32828cd03d324b493d7873e8fc7b61f56)) -* **Testimonial:** Fixes visual regression + renames to TestimonialDeprecated ([6cd3884](https://github.com/Codecademy/gamut/commit/6cd388409af0bc501b763ff8a3a77cc9796cb78c)) -* **Testimonial:** mobile sizing bug fix ([8ecd76e](https://github.com/Codecademy/gamut/commit/8ecd76e10581253d3a4597e2c8f254b47c2c9953)) -* **Testimonial:** pass display prop to Anchor if href is defined ([dedfda0](https://github.com/Codecademy/gamut/commit/dedfda071d74f98031d327fc784b40225c045e41)) -* add img role to ProLogo to improve voiceover ([b7734be](https://github.com/Codecademy/gamut/commit/b7734be8109aab0da1275ce13f29bfee06f24488)) -* corrected GlobalFooter shop link ([#1629](https://github.com/Codecademy/gamut/issues/1629)) ([c895386](https://github.com/Codecademy/gamut/commit/c89538696278833ab49dd9e2b839bd079d2a2323)) -* straight to main, j to J in CatalogLinks.tsx ([4d89608](https://github.com/Codecademy/gamut/commit/4d89608a8b564f682c4228fe6388db9b4dfce90c)) -* switch gamut-tests to an internal devDependency ([#1460](https://github.com/Codecademy/gamut/issues/1460)) ([c48ab81](https://github.com/Codecademy/gamut/commit/c48ab81ad1b6cf1dbe458de060ed508424d7c663)) -* use internal App Store and Google Play images ([#1625](https://github.com/Codecademy/gamut/issues/1625)) ([e9fc3ce](https://github.com/Codecademy/gamut/commit/e9fc3ceafe24231d962f11a6fc8176309d154723)) -* **app header mobile & notifs empty container:** add + fix test ids ([bc6a1a3](https://github.com/Codecademy/gamut/commit/bc6a1a3c26a8ff490d1e1b4d762260e31e52d11a)) -* **AppHeaderDropdown:** fix jumpiness of bold text when dropdown is opened ([#1394](https://github.com/Codecademy/gamut/issues/1394)) ([cb86529](https://github.com/Codecademy/gamut/commit/cb8652992fb7339ddf1c1e7a9e58dbd81c343329)) -* **Card:** Animation Fixes and Gamut migration ([856896d](https://github.com/Codecademy/gamut/commit/856896df6c310cad7fbfbcb513a7a52903cda248)) -* **catalog link:** copy should catalog, not course catalog ([c980295](https://github.com/Codecademy/gamut/commit/c980295e4f0e478b98b0f38aeac4e689a2c1b813)) -* **Feature:** Refactor the Feature component ([#1336](https://github.com/Codecademy/gamut/issues/1336)) ([f894247](https://github.com/Codecademy/gamut/commit/f8942476e527fd7880bf2d92cb9603a2bbed6f37)) -* **global header:** add support for user role "account manager" ([0286dfc](https://github.com/Codecademy/gamut/commit/0286dfcb5c5f0903dbc5e99ab0e07b742d486cac)) -* **global header:** export global header types ([e606f9e](https://github.com/Codecademy/gamut/commit/e606f9e1f06b9cda368716be5f85af307ee9809e)), closes [/github.com/codecademy-engineering/Codecademy/pull/22024#discussion_r585939943](https://github.com/Codecademy//github.com/codecademy-engineering/Codecademy/pull/22024/issues/discussion_r585939943) -* **global header:** for monolith migration work ([#1451](https://github.com/Codecademy/gamut/issues/1451)) ([19146c2](https://github.com/Codecademy/gamut/commit/19146c2196d0dec5573f4062edb28822ae6d6bf8)) -* **GlobalHeader:** add Projects link to Resources dropdown ([#1414](https://github.com/Codecademy/gamut/issues/1414)) ([9054852](https://github.com/Codecademy/gamut/commit/9054852c6a215ee12b1578a363fff31e274c1866)) -* **GlobalHeader:** Simplify loading header ([f77e6bd](https://github.com/Codecademy/gamut/commit/f77e6bd76babfc4d35065173c3fa949ae7b89c9f)) -* **GlobalHeader:** Spacing fixes ([20a954b](https://github.com/Codecademy/gamut/commit/20a954bb365e1304515e42e5d93559d8ab71429e)) -* **popover:** provide fallbackFocus ([b2bd697](https://github.com/Codecademy/gamut/commit/b2bd697bfa993f5fdc4b3dc59135809ae9f17026)) -* actually use testId prop in prefooter ([f1f1eb7](https://github.com/Codecademy/gamut/commit/f1f1eb7bfa8a461d1fe2f0dc674f99bce2e459ef)) -* add event parameter to landing page CTA onClick ([b6beaee](https://github.com/Codecademy/gamut/commit/b6beaee1fa61c17670b50b51e5e3d4f719b1c875)) -* add sideEffects globs that catch all components ([#932](https://github.com/Codecademy/gamut/issues/932)) ([4169e83](https://github.com/Codecademy/gamut/commit/4169e8349a8373f433d0ed41c974104649da2f20)) -* Automatically add display names to anonymous function components ([#878](https://github.com/Codecademy/gamut/issues/878)) ([14e0cca](https://github.com/Codecademy/gamut/commit/14e0ccae696b4c6e23784c4ac62d7bfa09abfe90)) -* Byline remove aria-labels ([#955](https://github.com/Codecademy/gamut/issues/955)) ([7aa8605](https://github.com/Codecademy/gamut/commit/7aa8605fd93286353b172f3fa713576f08237e98)) -* default img alt to "", accept isPageHeading, update tests ([#1177](https://github.com/Codecademy/gamut/issues/1177)) ([c396d48](https://github.com/Codecademy/gamut/commit/c396d4876a2a224f947a848d597f2731a6384da7)) -* fixes export/import of bodyportal ([#1078](https://github.com/Codecademy/gamut/issues/1078)) ([e4b175b](https://github.com/Codecademy/gamut/commit/e4b175bb74049a0260ad1000affe0d825beeb072)) -* increase feature column gaps ([278eb3b](https://github.com/Codecademy/gamut/commit/278eb3bbea872fc37cddfa14cb4db634ffd76b79)) -* landing page descriptions margin-top adjustments ([9e06759](https://github.com/Codecademy/gamut/commit/9e067591206909b80266693f967494254f47471d)) -* Logo's defaultProps need to be of type LogoProps ([6461fc2](https://github.com/Codecademy/gamut/commit/6461fc219954b97a91cf7c74d7fa6328c7d4b305)) -* popover pattern expands to the size of its container ([c5973d3](https://github.com/Codecademy/gamut/commit/c5973d358d6c2d45daf3afe4fbfffcb1e544c2d7)) -* reduce column gaps on mobile for LP components ([db0f54c](https://github.com/Codecademy/gamut/commit/db0f54cc4db5185224bec8f796aa9f864fe52023)) -* refine landing page ui ([41f4f69](https://github.com/Codecademy/gamut/commit/41f4f69e30b6561608302fa11bdcb6a9a1353f43)) -* Remove alt text on Testimonial avatars. ([#822](https://github.com/Codecademy/gamut/issues/822)) ([061cc04](https://github.com/Codecademy/gamut/commit/061cc04ad4dd6b7ff041a4cdb7cb355e939ff823)) -* remove indentation from lists in Feature descriptions ([#1377](https://github.com/Codecademy/gamut/issues/1377)) ([14d617d](https://github.com/Codecademy/gamut/commit/14d617d047ecba5135594f15778d3a788a9cb972)) -* remove z index from popover ([630c29c](https://github.com/Codecademy/gamut/commit/630c29c8fe9f0bee089c27f499dd97dca3920ac9)) -* revert "feat: add testId prop to Container ([#1242](https://github.com/Codecademy/gamut/issues/1242))" ([#1248](https://github.com/Codecademy/gamut/issues/1248)) ([63b4756](https://github.com/Codecademy/gamut/commit/63b475631a1ae149ad29e2e6c1e3a8dda0b4f6b4)) -* update font sizes within LP components at smaller than xs ([dd5405e](https://github.com/Codecademy/gamut/commit/dd5405ede72e09242430db3badc603282edd19d5)) -* use light variant by default ([7ad7282](https://github.com/Codecademy/gamut/commit/7ad72820fd88f0e7aa6a724922ca1581c2d00f2f)) -* used _, not xs, for lowest size in GlobalFooter ([#1633](https://github.com/Codecademy/gamut/issues/1633)) ([7410062](https://github.com/Codecademy/gamut/commit/74100620591b1e531ec1a62043d46d7b3ae161b6)) -* **GlobalHeader:** Change focus outline color and add export ([#1322](https://github.com/Codecademy/gamut/issues/1322)) ([1390e40](https://github.com/Codecademy/gamut/commit/1390e407c4acef5f5dd6183eb7f3c879134a9371)) -* **GlobalHeader:** Fixes for the static-sites transition ([#1361](https://github.com/Codecademy/gamut/issues/1361)) ([4d72bd9](https://github.com/Codecademy/gamut/commit/4d72bd95ab0d9489aaec965b040c989abe5e5531)) -* use relative import for ProLogoAlt test ([#1201](https://github.com/Codecademy/gamut/issues/1201)) ([4e7f5e9](https://github.com/Codecademy/gamut/commit/4e7f5e94444139e272d2b1f5d16e2a7d9ef02624)) -* **Popover:** Switch Popover to use allowOutsideClick ([#1194](https://github.com/Codecademy/gamut/issues/1194)) ([b19fc27](https://github.com/Codecademy/gamut/commit/b19fc27ac8fa4d7d59a14e9ef293f7a6b9260b7f)) -* **System:** Typescript memory performance fixes ([#1145](https://github.com/Codecademy/gamut/issues/1145)) ([4c9a92b](https://github.com/Codecademy/gamut/commit/4c9a92b72975752254ef4edf59f29663576a9423)) - - -### Reverts - -* Revert "chore: set packages to have publishConfig: access: public (#970)" (#981) ([c7fed45](https://github.com/Codecademy/gamut/commit/c7fed4565437b1a4505e1b3dd37f5bc88ffc208c)), closes [#970](https://github.com/Codecademy/gamut/issues/970) [#981](https://github.com/Codecademy/gamut/issues/981) - - -### Code Refactoring - -* update landing page exports ([221fa44](https://github.com/Codecademy/gamut/commit/221fa445fb30254d42e8ca23e6c9e4a7b299e26b)) -* **Byline:** use Emotion for styles ([#1464](https://github.com/Codecademy/gamut/issues/1464)) ([e378671](https://github.com/Codecademy/gamut/commit/e378671358ee68096343b6b4f97854a65700d56a)) - - -### Miscellaneous Chores - -* **BrandMono:** Remove Roboto Mono in favor of using Suisse ([43aa0d1](https://github.com/Codecademy/gamut/commit/43aa0d17e1dffffad1d29fc70bb73e0f5c18bf1d)) -* **gamut-styles:** deprecate legacy JS color variables ([#940](https://github.com/Codecademy/gamut/issues/940)) ([dd99a9c](https://github.com/Codecademy/gamut/commit/dd99a9ccda389cfa95de78aa9775f8100fcce811)) -* **Pattern:** remove name-based Pattern component ([4175f67](https://github.com/Codecademy/gamut/commit/4175f6719bdf092bb098d900d0922ab593e16508)) -* replace VisualTheme enum with string type union ([#1166](https://github.com/Codecademy/gamut/issues/1166)) ([cc6356e](https://github.com/Codecademy/gamut/commit/cc6356e921a03c02543c70bdd6b1b67ed99a9ab9)) - - - -### [26.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@26.0.0...@codecademy/gamut-labs@26.0.1) (2021-10-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [26.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.4.1...@codecademy/gamut-labs@26.0.0) (2021-10-26) - - -### ⚠ BREAKING CHANGES - -* **Pattern:** remove name-based Pattern component - -### Miscellaneous Chores - -* **Pattern:** remove name-based Pattern component ([0096880](https://github.com/Codecademy/gamut/commit/009688010e5026cb04a7aeb47b11dd90b53ec2c8)) - - - -### [25.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.4.0...@codecademy/gamut-labs@25.4.1) (2021-10-21) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [25.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.3.0...@codecademy/gamut-labs@25.4.0) (2021-10-20) - - -### Features - -* **GlobalHeader:** [GM-399] Adding dark mode to GlobalHeader and all child components ([1148a31](https://github.com/Codecademy/gamut/commit/1148a31ffb4fb320f3a5d1c6a9669469a3084712)) - - - -## [25.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.2.2...@codecademy/gamut-labs@25.3.0) (2021-10-20) - - -### Features - -* **PageAlerts:** porting PageAlerts from Portal-App ([9ab0dc1](https://github.com/Codecademy/gamut/commit/9ab0dc1d8d15e3534fb85267abcf7430e6528665)) - - - -### [25.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.2.1...@codecademy/gamut-labs@25.2.2) (2021-10-20) - - -### Bug Fixes - -* **Drawer:** use minWidth instead of width in internal Box ([d19d483](https://github.com/Codecademy/gamut/commit/d19d4836124f5e17b241813978dbb954f02d260d)) - - - -### [25.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.2.0...@codecademy/gamut-labs@25.2.1) (2021-10-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [25.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.1.8...@codecademy/gamut-labs@25.2.0) (2021-10-15) - - -### Features - -* **CodeChallenges:** add challenges to list of resources in global nav ([3578e58](https://github.com/Codecademy/gamut/commit/3578e58e574e589d7fff1f983ffe8fa6cd67f6f2)) - - - -### [25.1.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.1.7...@codecademy/gamut-labs@25.1.8) (2021-10-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [25.1.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.1.6...@codecademy/gamut-labs@25.1.7) (2021-10-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [25.1.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.1.5...@codecademy/gamut-labs@25.1.6) (2021-10-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [25.1.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.1.4...@codecademy/gamut-labs@25.1.5) (2021-10-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [25.1.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.1.3...@codecademy/gamut-labs@25.1.4) (2021-10-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [25.1.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.1.2...@codecademy/gamut-labs@25.1.3) (2021-10-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [25.1.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.1.1...@codecademy/gamut-labs@25.1.2) (2021-10-14) - - -### Bug Fixes - -* **Flyout:** title overflow ([2f27e50](https://github.com/Codecademy/gamut/commit/2f27e500e4c5552afcd04131e81f623d9736ab46)) - - - -### [25.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.1.0...@codecademy/gamut-labs@25.1.1) (2021-10-13) - - -### Bug Fixes - -* changing logic of Business Account Management profile item to use `isBusinessAdmin` ([4a954e7](https://github.com/Codecademy/gamut/commit/4a954e7f4ba9113ca0713e6d376ead23f5c7f314)) - - - -## [25.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@25.0.0...@codecademy/gamut-labs@25.1.0) (2021-10-12) - - -### Features - -* **Nav:** add career center link ([b16c488](https://github.com/Codecademy/gamut/commit/b16c48814d492e1c4f4f4ad9bfb69a644664fccf)) - - - -## [25.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@24.4.5...@codecademy/gamut-labs@25.0.0) (2021-10-07) - - -### ⚠ BREAKING CHANGES - -* **PageSingleFeature:** add option for accent eyebrow - -### Features - -* **PageSingleFeature:** add option for accent eyebrow ([aee6356](https://github.com/Codecademy/gamut/commit/aee635692cf0d7de342e5e81797867a2ce7a5da2)), closes [#1557](https://github.com/Codecademy/gamut/issues/1557) - - - -### [24.4.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@24.4.4...@codecademy/gamut-labs@24.4.5) (2021-10-07) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [24.4.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@24.4.3...@codecademy/gamut-labs@24.4.4) (2021-10-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [24.4.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@24.4.2...@codecademy/gamut-labs@24.4.3) (2021-10-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [24.4.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@24.4.1...@codecademy/gamut-labs@24.4.2) (2021-10-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [24.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@24.4.0...@codecademy/gamut-labs@24.4.1) (2021-10-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [24.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@24.3.1...@codecademy/gamut-labs@24.4.0) (2021-10-04) - - -### Features - -* **PageSingleFeature:** Abstract to PageSingleFeature ([7aaacb1](https://github.com/Codecademy/gamut/commit/7aaacb13154872356f4c94906ba409bf96ec38b1)) - - - -### [24.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@24.3.0...@codecademy/gamut-labs@24.3.1) (2021-10-04) - - -### Bug Fixes - -* **Drawer:** add 100% height to inner Box ([6572bea](https://github.com/Codecademy/gamut/commit/6572bea9caeee3a2d96c571dbfd8770d8c2d6849)) - - - -## [24.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@24.2.1...@codecademy/gamut-labs@24.3.0) (2021-10-04) - - -### Features - -* adding `isBusinessAdmin` field to User type ([85f5df5](https://github.com/Codecademy/gamut/commit/85f5df5b03a16ac5612da921f3e878990f8eb709)) - - - -### [24.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@24.2.0...@codecademy/gamut-labs@24.2.1) (2021-10-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [24.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@24.1.1...@codecademy/gamut-labs@24.2.0) (2021-09-30) - - -### Features - -* **Drawer:** extract Drawer from Flyout ([76f261c](https://github.com/Codecademy/gamut/commit/76f261cc7840bd640de368f70e125b5585638412)) - - - -### [24.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@24.1.0...@codecademy/gamut-labs@24.1.1) (2021-09-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [24.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@24.0.0...@codecademy/gamut-labs@24.1.0) (2021-09-29) - - -### Features - -* **PageHero:** add option to show image on mobile ([efa83a2](https://github.com/Codecademy/gamut/commit/efa83a2d79c85e48c732ccfdcef1efa3e298a745)) - - - -## [24.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@23.3.1...@codecademy/gamut-labs@24.0.0) (2021-09-29) - - -### ⚠ BREAKING CHANGES - -* **PageHero:** add short text variation - -### Features - -* **PageHero:** add short text variation ([f93b7ef](https://github.com/Codecademy/gamut/commit/f93b7efd82d469dcd948f2b2487eac77c3f6303c)) - - - -### [23.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@23.3.0...@codecademy/gamut-labs@23.3.1) (2021-09-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [23.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@23.2.0...@codecademy/gamut-labs@23.3.0) (2021-09-28) - - -### Features - -* **CurriculumCard:** updated footer text variant ([5ad0005](https://github.com/Codecademy/gamut/commit/5ad0005c34da14b7a7e06a4410264f989d97a27a)) - - - -## [23.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@23.1.0...@codecademy/gamut-labs@23.2.0) (2021-09-24) - - -### Features - -* update landing page `CTA` to show fill button or cta button ([c18f7f8](https://github.com/Codecademy/gamut/commit/c18f7f8bb494dfa4d0c9f0d53dd3decae56b3664)) - - - -## [23.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@23.0.1...@codecademy/gamut-labs@23.1.0) (2021-09-24) - - -### Features - -* **PageHero:** add optional eyebrow text ([ea3ce0b](https://github.com/Codecademy/gamut/commit/ea3ce0bc6f5f330514c1ac297ad7d3c9fdacc739)) - - - -### [23.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@23.0.0...@codecademy/gamut-labs@23.0.1) (2021-09-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [23.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@22.0.0...@codecademy/gamut-labs@23.0.0) (2021-09-21) - - -### ⚠ BREAKING CHANGES - -* **CurriculumCard:** Updated scope to support more content items, added alternative subtitle - -### Features - -* **CurriculumCard:** Updated scope to support more content items, added alternative subtitle ([1f038a8](https://github.com/Codecademy/gamut/commit/1f038a8299bf47b84e9eaf2deb2c71e78680d7d4)) - - - -## [22.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@21.0.0...@codecademy/gamut-labs@22.0.0) (2021-09-21) - - -### ⚠ BREAKING CHANGES - -* **Flyout:** switch to controlled component - -### Features - -* **Flyout:** switch to controlled component ([15919cd](https://github.com/Codecademy/gamut/commit/15919cd7b045c817cde49340fdeba3d9ae633515)) - - - -## [21.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@20.2.0...@codecademy/gamut-labs@21.0.0) (2021-09-21) - - -### ⚠ BREAKING CHANGES - -* **GlobalHeader:** mark visible notifications as read upon opening - -### Bug Fixes - -* **GlobalHeader:** mark visible notifications as read upon opening ([fe7b76b](https://github.com/Codecademy/gamut/commit/fe7b76bd8d4e15f2b562954579d570a18faebeec)) - - - -## [20.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@20.1.2...@codecademy/gamut-labs@20.2.0) (2021-09-20) - - -### Features - -* **LayoutMenu:** additional links section above accordions ([ca95ae7](https://github.com/Codecademy/gamut/commit/ca95ae7cd4f76b079530cad4984d2a1825f51cfb)) - - - -### [20.1.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@20.1.1...@codecademy/gamut-labs@20.1.2) (2021-09-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [20.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@20.1.0...@codecademy/gamut-labs@20.1.1) (2021-09-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [20.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@20.0.3...@codecademy/gamut-labs@20.1.0) (2021-09-17) - - -### Features - -* **GlobalHeader, GlobalFooter:** Learner stories link in global footer and global header ([d202a3f](https://github.com/Codecademy/gamut/commit/d202a3ff53f631ae2e5e8dd6a74c98cafed5bfb8)) - - - -### [20.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@20.0.2...@codecademy/gamut-labs@20.0.3) (2021-09-16) - - -### Bug Fixes - -* **Testimonial:** aria-label on Anchor ([4b9a0a6](https://github.com/Codecademy/gamut/commit/4b9a0a6d467f45d4531dcd046145a8634b222603)) - - - -### [20.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@20.0.1...@codecademy/gamut-labs@20.0.2) (2021-09-16) - - -### Bug Fixes - -* **NotificationList:** a11y improvements ([da9c7ee](https://github.com/Codecademy/gamut/commit/da9c7ee9219983be2b669426e9e09ed262e8a504)) - - - -### [20.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@20.0.0...@codecademy/gamut-labs@20.0.1) (2021-09-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [20.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.26.7...@codecademy/gamut-labs@20.0.0) (2021-09-15) - - -### ⚠ BREAKING CHANGES - -* **Avatar:** convert avatar sizes to using numbers over string enum - -### Features - -* **Avatar:** convert avatar sizes to using numbers over string enum ([a9a74fa](https://github.com/Codecademy/gamut/commit/a9a74fa95e29addece2af1e39225d24c8f2e7315)) - - - -### [19.26.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.26.6...@codecademy/gamut-labs@19.26.7) (2021-09-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.26.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.26.5...@codecademy/gamut-labs@19.26.6) (2021-09-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.26.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.26.4...@codecademy/gamut-labs@19.26.5) (2021-09-14) - - -### Bug Fixes - -* Set HubCard Card variant ([815030d](https://github.com/Codecademy/gamut/commit/815030d936421763934d74b3ee9c6a3144052cb7)) - - - -### [19.26.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.26.3...@codecademy/gamut-labs@19.26.4) (2021-09-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.26.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.26.2...@codecademy/gamut-labs@19.26.3) (2021-09-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.26.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.26.1...@codecademy/gamut-labs@19.26.2) (2021-09-13) - - -### Bug Fixes - -* **Testimonial:** pass display prop to Anchor if href is defined ([b62e2dc](https://github.com/Codecademy/gamut/commit/b62e2dc58ea6b807011b6cf1d9baa7f4f84b8a04)) - - - -### [19.26.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.26.0...@codecademy/gamut-labs@19.26.1) (2021-09-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.26.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.25.2...@codecademy/gamut-labs@19.26.0) (2021-09-10) - - -### Features - -* bump ESLint configs to latest ([e0a201a](https://github.com/Codecademy/gamut/commit/e0a201abcc5f49718538d3d91af21cb37db4470e)) - - - -### [19.25.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.25.1...@codecademy/gamut-labs@19.25.2) (2021-09-09) - - -### Bug Fixes - -* **GlobalHeader:** corrected 360px for notifications ([a5c0741](https://github.com/Codecademy/gamut/commit/a5c0741b13cc37eafd45a16dbbeb297647a72b6d)) - - - -### [19.25.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.25.0...@codecademy/gamut-labs@19.25.1) (2021-09-09) - - -### Bug Fixes - -* Revert "fix: Revert "fix: add docs back to header and footer"" ([df28352](https://github.com/Codecademy/gamut/commit/df283522a0540eb79bb6c1c922a3acfc974465ca)), closes [Codecademy/gamut#2025](https://github.com/Codecademy/gamut/issues/2025) - - - -## [19.25.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.24.11...@codecademy/gamut-labs@19.25.0) (2021-09-09) - - -### Features - -* add notifications to GlobalHeader ([867d35c](https://github.com/Codecademy/gamut/commit/867d35c8471c6173b37f0d26c9952cc5ceab3461)) - - - -### [19.24.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.24.10...@codecademy/gamut-labs@19.24.11) (2021-09-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.24.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.24.9...@codecademy/gamut-labs@19.24.10) (2021-09-09) - - -### Bug Fixes - -* **GlobalHeader:** Limit buttons on mobile header < XS to 1 and use small size GM-345 ([d74aab8](https://github.com/Codecademy/gamut/commit/d74aab8fb9fd05813efcce5e9607700ffbcf4877)) - - - -### [19.24.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.24.8...@codecademy/gamut-labs@19.24.9) (2021-09-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.24.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.24.7...@codecademy/gamut-labs@19.24.8) (2021-09-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.24.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.24.6...@codecademy/gamut-labs@19.24.7) (2021-09-04) - - -### Bug Fixes - -* Revert "fix: add docs back to header and footer" ([880d9d7](https://github.com/Codecademy/gamut/commit/880d9d74e5bcebba14834430cef4c0aa8f315724)), closes [Codecademy/gamut#2024](https://github.com/Codecademy/gamut/issues/2024) - - - -### [19.24.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.24.5...@codecademy/gamut-labs@19.24.6) (2021-09-03) - - -### Bug Fixes - -* add docs back to header and footer ([9df3b01](https://github.com/Codecademy/gamut/commit/9df3b016ae0c506b3f270fbd32127a3c3912f996)), closes [Codecademy/gamut#2022](https://github.com/Codecademy/gamut/issues/2022) - - - -### [19.24.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.24.4...@codecademy/gamut-labs@19.24.5) (2021-09-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.24.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.24.3...@codecademy/gamut-labs@19.24.4) (2021-09-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.24.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.24.2...@codecademy/gamut-labs@19.24.3) (2021-09-03) - - -### Bug Fixes - -* **Testimonial:** mobile sizing bug fix ([992b478](https://github.com/Codecademy/gamut/commit/992b47890b38d3d4d9bce9db7fa0f97f49c1d3c5)) - - - -### [19.24.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.24.1...@codecademy/gamut-labs@19.24.2) (2021-09-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.24.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.24.0...@codecademy/gamut-labs@19.24.1) (2021-09-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.24.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.18...@codecademy/gamut-labs@19.24.0) (2021-09-03) - - -### Features - -* **Avatar:** add size prop ([db47c19](https://github.com/Codecademy/gamut/commit/db47c1913c0c8ff5bcf81375cbe0cf183ce4289c)) - - - -### [19.23.18](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.17...@codecademy/gamut-labs@19.23.18) (2021-09-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.17](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.16...@codecademy/gamut-labs@19.23.17) (2021-09-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.16](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.15...@codecademy/gamut-labs@19.23.16) (2021-09-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.15](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.14...@codecademy/gamut-labs@19.23.15) (2021-08-31) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.14](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.13...@codecademy/gamut-labs@19.23.14) (2021-08-30) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.13](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.12...@codecademy/gamut-labs@19.23.13) (2021-08-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.11...@codecademy/gamut-labs@19.23.12) (2021-08-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.10...@codecademy/gamut-labs@19.23.11) (2021-08-27) - - -### Bug Fixes - -* **Testimonial:** axe issue on Testimonial ([e2a51d8](https://github.com/Codecademy/gamut/commit/e2a51d8d1654850de1fbef1873a443cf4cde1a9c)) - - - -### [19.23.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.9...@codecademy/gamut-labs@19.23.10) (2021-08-26) - - -### Bug Fixes - -* **Testimonial:** fixed issue with optional text rendering ([3ef12ae](https://github.com/Codecademy/gamut/commit/3ef12ae519ba5d7921f70f8192aa24edad320a78)) - - - -### [19.23.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.8...@codecademy/gamut-labs@19.23.9) (2021-08-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.7...@codecademy/gamut-labs@19.23.8) (2021-08-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.6...@codecademy/gamut-labs@19.23.7) (2021-08-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.5...@codecademy/gamut-labs@19.23.6) (2021-08-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.4...@codecademy/gamut-labs@19.23.5) (2021-08-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.3...@codecademy/gamut-labs@19.23.4) (2021-08-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.2...@codecademy/gamut-labs@19.23.3) (2021-08-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.1...@codecademy/gamut-labs@19.23.2) (2021-08-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.23.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.23.0...@codecademy/gamut-labs@19.23.1) (2021-08-18) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.23.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.22.2...@codecademy/gamut-labs@19.23.0) (2021-08-18) - - -### Features - -* **footer:** add link to docs resources footer and header ([7ce7205](https://github.com/Codecademy/gamut/commit/7ce7205e9e0c2c41c24e2f14470687ace17b2f14)) - - - -### [19.22.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.22.1...@codecademy/gamut-labs@19.22.2) (2021-08-17) - - -### Bug Fixes - -* **LayoutMenu:** add aria-expanded ([f7143ab](https://github.com/Codecademy/gamut/commit/f7143ab936d9d650ec2ca7f309f4e130d0fa3e6f)) - - - -### [19.22.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.22.0...@codecademy/gamut-labs@19.22.1) (2021-08-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.22.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.21.1...@codecademy/gamut-labs@19.22.0) (2021-08-16) - - -### Features - -* added hidePricing prop to GlobalFooter, GlobalHeader ([6802441](https://github.com/Codecademy/gamut/commit/6802441e394b0ef173753b3be95e97606382d794)) - - - -### [19.21.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.21.0...@codecademy/gamut-labs@19.21.1) (2021-08-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.21.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.20.6...@codecademy/gamut-labs@19.21.0) (2021-08-16) - - -### Features - -* **Testimonial:** Add new Testimonial Component ([efe1568](https://github.com/Codecademy/gamut/commit/efe156813cd10586b7a61f1013564cb5387f5aa3)) - - - -### [19.20.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.20.5...@codecademy/gamut-labs@19.20.6) (2021-08-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.20.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.20.4...@codecademy/gamut-labs@19.20.5) (2021-08-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.20.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.20.3...@codecademy/gamut-labs@19.20.4) (2021-08-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.20.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.20.2...@codecademy/gamut-labs@19.20.3) (2021-08-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.20.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.20.1...@codecademy/gamut-labs@19.20.2) (2021-08-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.20.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.20.0...@codecademy/gamut-labs@19.20.1) (2021-08-12) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.20.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.19.10...@codecademy/gamut-labs@19.20.0) (2021-08-12) - - -### Features - -* **CurriculumCard:** Add beta sticker option to CurriculumCard ([84b30d5](https://github.com/Codecademy/gamut/commit/84b30d52996e2323e5589ae0f5f65a3570951235)) - - - -### [19.19.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.19.9...@codecademy/gamut-labs@19.19.10) (2021-08-11) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.19.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.19.8...@codecademy/gamut-labs@19.19.9) (2021-08-11) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.19.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.19.7...@codecademy/gamut-labs@19.19.8) (2021-08-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.19.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.19.6...@codecademy/gamut-labs@19.19.7) (2021-08-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.19.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.19.5...@codecademy/gamut-labs@19.19.6) (2021-08-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.19.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.19.4...@codecademy/gamut-labs@19.19.5) (2021-08-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.19.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.19.3...@codecademy/gamut-labs@19.19.4) (2021-08-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.19.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.19.2...@codecademy/gamut-labs@19.19.3) (2021-08-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.19.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.19.1...@codecademy/gamut-labs@19.19.2) (2021-08-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.19.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.19.0...@codecademy/gamut-labs@19.19.1) (2021-08-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.19.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.18.5...@codecademy/gamut-labs@19.19.0) (2021-08-03) - - -### Features - -* **Favorites:** allow global header to receive favorites section ([f1d45fc](https://github.com/Codecademy/gamut/commit/f1d45fc444f6858db69b6031511ea9d33ff9fa42)) - - - -### [19.18.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.18.4...@codecademy/gamut-labs@19.18.5) (2021-08-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.18.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.18.3...@codecademy/gamut-labs@19.18.4) (2021-08-03) - - -### Bug Fixes - -* add img role to ProLogo to improve voiceover ([29208c4](https://github.com/Codecademy/gamut/commit/29208c4da07707188dba61fe7e9e19ed1833e063)) - - - -### [19.18.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.18.2...@codecademy/gamut-labs@19.18.3) (2021-08-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.18.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.18.1...@codecademy/gamut-labs@19.18.2) (2021-08-03) - - -### Bug Fixes - -* **Testimonial:** Fixes visual regression + renames to TestimonialDeprecated ([11d445f](https://github.com/Codecademy/gamut/commit/11d445fbf95ae28d124ec27d5a88fbf3200c5535)) - - - -### [19.18.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.18.0...@codecademy/gamut-labs@19.18.1) (2021-08-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.18.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.17.0...@codecademy/gamut-labs@19.18.0) (2021-08-03) - - -### Features - -* **Background:** Set current background color to local CSS variable GM-259 ([bbb71e6](https://github.com/Codecademy/gamut/commit/bbb71e6ef4a0b8d7d10409f81f936693a7b34962)) - - - -## [19.17.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.18...@codecademy/gamut-labs@19.17.0) (2021-08-03) - - -### Features - -* **Menu:** Add icon support and convert DropdownButton to use action menus GM-301 ([2b9ca76](https://github.com/Codecademy/gamut/commit/2b9ca7657630b099c77d84bf1324371ebcf492f8)) - - - -### [19.16.18](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.17...@codecademy/gamut-labs@19.16.18) (2021-08-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.17](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.16...@codecademy/gamut-labs@19.16.17) (2021-08-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.16](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.15...@codecademy/gamut-labs@19.16.16) (2021-07-30) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.15](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.14...@codecademy/gamut-labs@19.16.15) (2021-07-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.14](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.13...@codecademy/gamut-labs@19.16.14) (2021-07-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.13](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.12...@codecademy/gamut-labs@19.16.13) (2021-07-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.11...@codecademy/gamut-labs@19.16.12) (2021-07-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.10...@codecademy/gamut-labs@19.16.11) (2021-07-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.9...@codecademy/gamut-labs@19.16.10) (2021-07-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.8...@codecademy/gamut-labs@19.16.9) (2021-07-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.7...@codecademy/gamut-labs@19.16.8) (2021-07-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.6...@codecademy/gamut-labs@19.16.7) (2021-07-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.5...@codecademy/gamut-labs@19.16.6) (2021-07-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.4...@codecademy/gamut-labs@19.16.5) (2021-07-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.3...@codecademy/gamut-labs@19.16.4) (2021-07-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.2...@codecademy/gamut-labs@19.16.3) (2021-07-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.1...@codecademy/gamut-labs@19.16.2) (2021-07-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.16.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.16.0...@codecademy/gamut-labs@19.16.1) (2021-07-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.16.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.15.4...@codecademy/gamut-labs@19.16.0) (2021-07-12) - - -### Features - -* **Tabs:** Adding a gamut-labs Tabs component ([654faf3](https://github.com/Codecademy/gamut/commit/654faf38b72ddfbe0a6bd1b638e0c19806546440)) - - - -### [19.15.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.15.3...@codecademy/gamut-labs@19.15.4) (2021-07-12) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.15.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.15.2...@codecademy/gamut-labs@19.15.3) (2021-07-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.15.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.15.1...@codecademy/gamut-labs@19.15.2) (2021-07-01) - - -### Bug Fixes - -* **DropdownButton:** add aria label ([56cb917](https://github.com/Codecademy/gamut/commit/56cb917880395566998a288f2507a7e323954c88)) - - - -### [19.15.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.15.0...@codecademy/gamut-labs@19.15.1) (2021-06-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.15.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.14.1...@codecademy/gamut-labs@19.15.0) (2021-06-29) - - -### Features - -* add search to GlobalHeader ([f3f779a](https://github.com/Codecademy/gamut/commit/f3f779a0644cdeb539aab0e4eb21c67ee78f359f)) - - - -### [19.14.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.14.0...@codecademy/gamut-labs@19.14.1) (2021-06-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.14.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.13.0...@codecademy/gamut-labs@19.14.0) (2021-06-28) - - -### Features - -* **LayoutMenu:** add breakpoint prop for configurable layout switching ([539a002](https://github.com/Codecademy/gamut/commit/539a002944ac2a6d7db0e89face1579066971372)) - - - -## [19.13.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.12.3...@codecademy/gamut-labs@19.13.0) (2021-06-28) - - -### Features - -* **GlobalHeader:** Added the better type for the link handler ([788aed3](https://github.com/Codecademy/gamut/commit/788aed38fe80831986ed716d288655f2267c4fa7)) - - - -### [19.12.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.12.2...@codecademy/gamut-labs@19.12.3) (2021-06-28) - - -### Bug Fixes - -* **Flyout:** change how we're setting full height ([547c847](https://github.com/Codecademy/gamut/commit/547c8472b1deab16fad42f173e0eba6a088a2662)) - - - -### [19.12.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.12.1...@codecademy/gamut-labs@19.12.2) (2021-06-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.12.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.12.0...@codecademy/gamut-labs@19.12.1) (2021-06-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.12.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.11.5...@codecademy/gamut-labs@19.12.0) (2021-06-25) - - -### Features - -* **AppHeader types:** Updating AppHeaderItem types ([963f1a3](https://github.com/Codecademy/gamut/commit/963f1a358207cb073e24e705a7d7b3a1dcb69c0c)) - - - -### [19.11.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.11.4...@codecademy/gamut-labs@19.11.5) (2021-06-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.11.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.11.3...@codecademy/gamut-labs@19.11.4) (2021-06-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.11.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.11.2...@codecademy/gamut-labs@19.11.3) (2021-06-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.11.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.11.1...@codecademy/gamut-labs@19.11.2) (2021-06-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.11.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.11.0...@codecademy/gamut-labs@19.11.1) (2021-06-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.11.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.10.9...@codecademy/gamut-labs@19.11.0) (2021-06-22) - - -### Features - -* **GlobalHeader:** adding referral link ([5152044](https://github.com/Codecademy/gamut/commit/51520447e40a0fb23a0fb3826382c49433ed4f49)) - - - -### [19.10.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.10.8...@codecademy/gamut-labs@19.10.9) (2021-06-21) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.10.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.10.7...@codecademy/gamut-labs@19.10.8) (2021-06-21) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.10.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.10.6...@codecademy/gamut-labs@19.10.7) (2021-06-21) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.10.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.10.5...@codecademy/gamut-labs@19.10.6) (2021-06-21) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.10.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.10.4...@codecademy/gamut-labs@19.10.5) (2021-06-21) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.10.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.10.3...@codecademy/gamut-labs@19.10.4) (2021-06-21) - - -### Bug Fixes - -* **LayoutMenu:** Emotion Only GM-258 ([8ba715c](https://github.com/Codecademy/gamut/commit/8ba715cdaad33dba7133c9a9e595b4b172f69021)) - - - -### [19.10.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.10.2...@codecademy/gamut-labs@19.10.3) (2021-06-17) - - -### Bug Fixes - -* **Flyout:** Move Close Icon Placement ([4ab408f](https://github.com/Codecademy/gamut/commit/4ab408fa4bcfa98d7180b7a6cdf3f75e47ba1ecf)) - - - -### [19.10.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.10.1...@codecademy/gamut-labs@19.10.2) (2021-06-17) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.10.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.10.0...@codecademy/gamut-labs@19.10.1) (2021-06-17) - - -### Bug Fixes - -* **LayoutMenu:** update focus visible states and x-button placement ([bbf1908](https://github.com/Codecademy/gamut/commit/bbf1908e530d1b34df0086b80536ee51cc7b23d3)) - - - -## [19.10.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.9.2...@codecademy/gamut-labs@19.10.0) (2021-06-17) - - -### Features - -* **GlobalFooter:** Update href of 'Beta Content' link to point at hub page ([3898481](https://github.com/Codecademy/gamut/commit/38984812c21364dc8505f82c4657e94132cc3e5d)) - - - -### [19.9.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.9.1...@codecademy/gamut-labs@19.9.2) (2021-06-17) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.9.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.9.0...@codecademy/gamut-labs@19.9.1) (2021-06-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.9.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.8.1...@codecademy/gamut-labs@19.9.0) (2021-06-16) - - -### Features - -* **Buttons:** Color + Structure Redux [GM-237] ([#1809](https://github.com/Codecademy/gamut/issues/1809)) ([743c248](https://github.com/Codecademy/gamut/commit/743c2488ad5b62d41bfe3aec30504d9191a8c83c)) - - - -### [19.8.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.8.0...@codecademy/gamut-labs@19.8.1) (2021-06-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.8.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.7.0...@codecademy/gamut-labs@19.8.0) (2021-06-15) - - -### Features - -* **LayoutMenu:** Creates LayoutMenu using Flyout and Accordions ([52327bf](https://github.com/Codecademy/gamut/commit/52327bfc495d97c2a6fdd9a42fec7b561512615a)) - - - -## [19.7.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.6.2...@codecademy/gamut-labs@19.7.0) (2021-06-15) - - -### Features - -* **Flyout:** feat(Flyout): ([aa5fa88](https://github.com/Codecademy/gamut/commit/aa5fa8862f1cf15db2662170b6a5ce7ddc82dd43)) - - - -### [19.6.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.6.1...@codecademy/gamut-labs@19.6.2) (2021-06-15) - - -### Bug Fixes - -* **GlobalHeader:** fix transparent header when refreshing scrolled SSR'd page ([a68702b](https://github.com/Codecademy/gamut/commit/a68702b43ce45c0f57c3c116460beef36d6d7179)) - - - -### [19.6.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.6.0...@codecademy/gamut-labs@19.6.1) (2021-06-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.6.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.5.2...@codecademy/gamut-labs@19.6.0) (2021-06-15) - - -### Features - -* **props:** Support `color` and other HTML attributes as system props without type collision GM-247 ([50a8b43](https://github.com/Codecademy/gamut/commit/50a8b43b27eff2d75307d317d724383156e5a3ed)) - - - -### [19.5.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.5.1...@codecademy/gamut-labs@19.5.2) (2021-06-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.5.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.5.0...@codecademy/gamut-labs@19.5.1) (2021-06-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.4.3...@codecademy/gamut-labs@19.5.0) (2021-06-11) - - -### Features - -* enable @typescript-eslint/prefer-optional-chain ([ddb0f57](https://github.com/Codecademy/gamut/commit/ddb0f57d94d7dd414b1ca3ee50903c16e8e6a593)) - - - -### [19.4.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.4.2...@codecademy/gamut-labs@19.4.3) (2021-06-11) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.4.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.4.1...@codecademy/gamut-labs@19.4.2) (2021-06-11) - - -### Bug Fixes - -* **AvatarChooser:** Add alt text to Avatar image ([6ce7a69](https://github.com/Codecademy/gamut/commit/6ce7a69ec37a0fd03068681302da3cfc0f62bf39)) - - - -### [19.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.4.0...@codecademy/gamut-labs@19.4.1) (2021-06-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.3.1...@codecademy/gamut-labs@19.4.0) (2021-06-10) - - -### Features - -* Navy scale + color alias changes GM-237 ([bf896dd](https://github.com/Codecademy/gamut/commit/bf896dd3fcf0435ef557694740d96df38d12173b)), closes [#10162](https://github.com/Codecademy/gamut/issues/10162) - - - -### [19.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.3.0...@codecademy/gamut-labs@19.3.1) (2021-06-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.2.0...@codecademy/gamut-labs@19.3.0) (2021-06-10) - - -### Features - -* **variance:** states boolean toggle styles GM-233 ([e463f0e](https://github.com/Codecademy/gamut/commit/e463f0e77802a3565ddda4de2e14050372923678)) - - - -## [19.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.1.1...@codecademy/gamut-labs@19.2.0) (2021-06-09) - - -### Features - -* Add AvatarChooser component ([86471e3](https://github.com/Codecademy/gamut/commit/86471e36c7c8304661a45ae7b9e1083bf74a4574)) - - - -### [19.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.1.0...@codecademy/gamut-labs@19.1.1) (2021-06-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.0.5...@codecademy/gamut-labs@19.1.0) (2021-06-09) - - -### Features - -* add SocialMediaSharing component ([bb65733](https://github.com/Codecademy/gamut/commit/bb65733e8c88f1cadc31773ec4177558ce8a55df)) - - - -### [19.0.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.0.4...@codecademy/gamut-labs@19.0.5) (2021-06-07) - - -### Bug Fixes - -* Google and App store ([f6111f7](https://github.com/Codecademy/gamut/commit/f6111f70bbc73aadfaf832f3e4c84b9ab8aca447)) - - - -### [19.0.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.0.3...@codecademy/gamut-labs@19.0.4) (2021-06-07) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.0.2...@codecademy/gamut-labs@19.0.3) (2021-06-07) - - -### Bug Fixes - -* **GlobalPage:** extending bg color to whole page height ([dde3c37](https://github.com/Codecademy/gamut/commit/dde3c37f0e27e9a46ac3469f1cf6c49742a4aefc)) - - - -### [19.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.0.1...@codecademy/gamut-labs@19.0.2) (2021-06-07) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [19.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@19.0.0...@codecademy/gamut-labs@19.0.1) (2021-06-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [19.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.4.0...@codecademy/gamut-labs@19.0.0) (2021-06-03) - - -### ⚠ BREAKING CHANGES - -* release -kit-4.7 - -### Features - -* release -kit-4.7 ([1066f7b](https://github.com/Codecademy/gamut/commit/1066f7b87f5fc37d5595324953964945c3d2b082)) - - - -## [18.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.3.5...@codecademy/gamut-labs@18.4.0) (2021-06-02) - - -### Features - -* Close DropdownButton list after an option is selected ([e933b17](https://github.com/Codecademy/gamut/commit/e933b179531e136791ecb2f006dd0cb27a885c98)) - - - -### [18.3.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.3.4...@codecademy/gamut-labs@18.3.5) (2021-06-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [18.3.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.3.3...@codecademy/gamut-labs@18.3.4) (2021-05-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [18.3.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.3.2...@codecademy/gamut-labs@18.3.3) (2021-05-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [18.3.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.3.1...@codecademy/gamut-labs@18.3.2) (2021-05-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [18.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.3.0...@codecademy/gamut-labs@18.3.1) (2021-05-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [18.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.2.2...@codecademy/gamut-labs@18.3.0) (2021-05-27) - - -### Features - -* Migrate final gamut-system docs + functions to variance [WEB-1413] ([67c8651](https://github.com/Codecademy/gamut/commit/67c8651dc4985dd656c8d488af4cf56ca21a813b)) - - - -### [18.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.2.1...@codecademy/gamut-labs@18.2.2) (2021-05-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [18.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.2.0...@codecademy/gamut-labs@18.2.1) (2021-05-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [18.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.1.7...@codecademy/gamut-labs@18.2.0) (2021-05-26) - - -### Features - -* add Kebab type to DropdownButton ([2b72468](https://github.com/Codecademy/gamut/commit/2b72468432b13d3a30ca195732aea87389dfa695)) - - - -### [18.1.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.1.6...@codecademy/gamut-labs@18.1.7) (2021-05-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [18.1.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.1.5...@codecademy/gamut-labs@18.1.6) (2021-05-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [18.1.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.1.4...@codecademy/gamut-labs@18.1.5) (2021-05-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [18.1.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.1.3...@codecademy/gamut-labs@18.1.4) (2021-05-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [18.1.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.1.2...@codecademy/gamut-labs@18.1.3) (2021-05-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [18.1.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.1.1...@codecademy/gamut-labs@18.1.2) (2021-05-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [18.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.1.0...@codecademy/gamut-labs@18.1.1) (2021-05-19) - - -### Bug Fixes - -* add shouldForwardProp to DropdownButton ([7dc0ee5](https://github.com/Codecademy/gamut/commit/7dc0ee5fc292c4ec0e5f9d32cbcf40f55358f334)) - - - -## [18.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.0.1...@codecademy/gamut-labs@18.1.0) (2021-05-19) - - -### Features - -* added data-testid for GlobalPage's PageWrapper ([024eba0](https://github.com/Codecademy/gamut/commit/024eba0560804d575ea04a8a150b4f80cdd6fefc)) - - - -### [18.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@18.0.0...@codecademy/gamut-labs@18.0.1) (2021-05-19) - - -### Bug Fixes - -* remove DropdownButton animation and add offset props ([638f0ad](https://github.com/Codecademy/gamut/commit/638f0ad55a0d6ea33c3abbed7076ee6d9d77dd64)) - - - -## [18.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@17.3.1...@codecademy/gamut-labs@18.0.0) (2021-05-19) - - -### ⚠ BREAKING CHANGES - -* Refactor Testimonial and Avatar to Emotion - -### Features - -* Refactor Testimonial and Avatar to Emotion ([174a0d8](https://github.com/Codecademy/gamut/commit/174a0d86cf7f625e798ea24a9f8825f4888df321)) - - - -### [17.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@17.3.0...@codecademy/gamut-labs@17.3.1) (2021-05-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [17.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@17.2.0...@codecademy/gamut-labs@17.3.0) (2021-05-19) - - -### Features - -* **Popover:** use theme.colors.secondary for outline color ([63e0779](https://github.com/Codecademy/gamut/commit/63e07790c4b0c2966b569a7af9ed3aba33aeb06b)) - - - -## [17.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@17.1.1...@codecademy/gamut-labs@17.2.0) (2021-05-18) - - -### Features - -* **theme:** createTheme self containment ([59ddff7](https://github.com/Codecademy/gamut/commit/59ddff7224cd8e0972212dd6ba1696f40ccac835)), closes [#666666](https://github.com/Codecademy/gamut/issues/666666) [#666666](https://github.com/Codecademy/gamut/issues/666666) - - - -### [17.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@17.1.0...@codecademy/gamut-labs@17.1.1) (2021-05-17) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [17.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@17.0.0...@codecademy/gamut-labs@17.1.0) (2021-05-14) - - -### Features - -* added EmptySection ([2a0907a](https://github.com/Codecademy/gamut/commit/2a0907afa099fb93950ca19a5ca4c855c74e055b)) - - - -## [17.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@16.0.5...@codecademy/gamut-labs@17.0.0) (2021-05-14) - - -### ⚠ BREAKING CHANGES - -* **Header:** reroute header upsell for upgrade - -### Features - -* **Header:** reroute header upsell for upgrade ([312104c](https://github.com/Codecademy/gamut/commit/312104ca90262ce6cecb43a2c4779774d9830ea3)) - - - -### [16.0.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@16.0.4...@codecademy/gamut-labs@16.0.5) (2021-05-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [16.0.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@16.0.3...@codecademy/gamut-labs@16.0.4) (2021-05-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [16.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@16.0.2...@codecademy/gamut-labs@16.0.3) (2021-05-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [16.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@16.0.1...@codecademy/gamut-labs@16.0.2) (2021-05-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [16.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@16.0.0...@codecademy/gamut-labs@16.0.1) (2021-05-12) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [16.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.8.7...@codecademy/gamut-labs@16.0.0) (2021-05-12) - - -### ⚠ BREAKING CHANGES - -* use a sticky Box for GlobalHeader - -### Features - -* use a sticky Box for GlobalHeader ([dd8639e](https://github.com/Codecademy/gamut/commit/dd8639ee6a6ce669912907a60646d1bd1f829ee1)) - - - -### [15.8.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.8.6...@codecademy/gamut-labs@15.8.7) (2021-05-11) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.8.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.8.5...@codecademy/gamut-labs@15.8.6) (2021-05-11) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.8.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.8.4...@codecademy/gamut-labs@15.8.5) (2021-05-11) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.8.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.8.3...@codecademy/gamut-labs@15.8.4) (2021-05-11) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.8.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.8.2...@codecademy/gamut-labs@15.8.3) (2021-05-11) - - -### Bug Fixes - -* **GlobalFooter:** Update full catalog link ([f8ab6d3](https://github.com/Codecademy/gamut/commit/f8ab6d33ef49d05c4e402cc7af6d172f9e9b4a80)) - - - -### [15.8.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.8.1...@codecademy/gamut-labs@15.8.2) (2021-05-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.8.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.8.0...@codecademy/gamut-labs@15.8.1) (2021-05-10) - - -### Bug Fixes - -* disable react/jsx-one-expression-per-line rule ([#1728](https://github.com/Codecademy/gamut/issues/1728)) ([4ad44d1](https://github.com/Codecademy/gamut/commit/4ad44d16def81a89cda9cc7501e81f8bdc158b39)), closes [#1727](https://github.com/Codecademy/gamut/issues/1727) - - - -## [15.8.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.7.1...@codecademy/gamut-labs@15.8.0) (2021-05-10) - - -### Features - -* add new DropdownButton component and workspace icons ([9513181](https://github.com/Codecademy/gamut/commit/9513181e25a36072e88945fe617996707f23c791)) - - - -### [15.7.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.7.0...@codecademy/gamut-labs@15.7.1) (2021-05-07) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [15.7.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.6.1...@codecademy/gamut-labs@15.7.0) (2021-05-07) - - -### Features - -* **ListSection:** Updating ListSection to have a ShowAll/ShowLess click handler prop ([1f1a492](https://github.com/Codecademy/gamut/commit/1f1a492880410c01f245165bcb0a7475750939cd)) - - - -### [15.6.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.6.0...@codecademy/gamut-labs@15.6.1) (2021-05-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [15.6.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.5.6...@codecademy/gamut-labs@15.6.0) (2021-05-06) - - -### Features - -* **footer:** Hackathon egg for learn page footer ([b5b4eb3](https://github.com/Codecademy/gamut/commit/b5b4eb3b0245a5957e89b02fb9f3afde1bc2f8f9)) - - - -### [15.5.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.5.5...@codecademy/gamut-labs@15.5.6) (2021-05-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.5.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.5.4...@codecademy/gamut-labs@15.5.5) (2021-05-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.5.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.5.3...@codecademy/gamut-labs@15.5.4) (2021-05-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.5.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.5.2...@codecademy/gamut-labs@15.5.3) (2021-05-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.5.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.5.1...@codecademy/gamut-labs@15.5.2) (2021-05-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.5.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.5.0...@codecademy/gamut-labs@15.5.1) (2021-05-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [15.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.4.1...@codecademy/gamut-labs@15.5.0) (2021-05-05) - - -### Features - -* **PageWrapper:** Extend stacking context reset element for pages with a background color ([0a22b34](https://github.com/Codecademy/gamut/commit/0a22b3489625e524085ffd2076730e05b9a4d898)) - - - -### [15.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.4.0...@codecademy/gamut-labs@15.4.1) (2021-05-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [15.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.3.2...@codecademy/gamut-labs@15.4.0) (2021-05-04) - - -### Features - -* added GlobalPage organism ([56075b7](https://github.com/Codecademy/gamut/commit/56075b78a0b8cc344640656e48a392762a856dcc)) - - - -### [15.3.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.3.1...@codecademy/gamut-labs@15.3.2) (2021-05-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.3.0...@codecademy/gamut-labs@15.3.1) (2021-05-04) - - -### Bug Fixes - -* **ListSection:** Fixing accessibility and spacing ([43e9420](https://github.com/Codecademy/gamut/commit/43e9420382f92463b8654c1a983e1b1eabd2bd36)) - - - -## [15.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.2.10...@codecademy/gamut-labs@15.3.0) (2021-05-04) - - -### Features - -* **Box:** Migration + Simplification [GM-202] ([8e60ea2](https://github.com/Codecademy/gamut/commit/8e60ea2a0be36cb4443aed2018738ab7e568ae73)), closes [/github.com/Codecademy/gamut/pull/1658/files#diff-0a88d99d132d11cc2e6fbc3af0befc3973e56db2e35842fe02a35c92d58b9](https://github.com/Codecademy//github.com/Codecademy/gamut/pull/1658/files/issues/diff-0a88d99d132d11cc2e6fbc3af0befc3973e56db2e35842fe02a35c92d58b9) - - - -### [15.2.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.2.9...@codecademy/gamut-labs@15.2.10) (2021-05-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.2.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.2.8...@codecademy/gamut-labs@15.2.9) (2021-05-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.2.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.2.7...@codecademy/gamut-labs@15.2.8) (2021-05-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.2.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.2.6...@codecademy/gamut-labs@15.2.7) (2021-05-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.2.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.2.5...@codecademy/gamut-labs@15.2.6) (2021-04-30) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.2.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.2.4...@codecademy/gamut-labs@15.2.5) (2021-04-30) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.2.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.2.3...@codecademy/gamut-labs@15.2.4) (2021-04-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.2.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.2.2...@codecademy/gamut-labs@15.2.3) (2021-04-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.2.1...@codecademy/gamut-labs@15.2.2) (2021-04-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.2.0...@codecademy/gamut-labs@15.2.1) (2021-04-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [15.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.1.2...@codecademy/gamut-labs@15.2.0) (2021-04-29) - - -### Features - -* **Logo / Labels:** Consolidation + Props + Modes [GM-149] [GM-146] ([9b24a1b](https://github.com/Codecademy/gamut/commit/9b24a1b7798c604efb3e7b3009fb862f57296cea)) - - - -### [15.1.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.1.1...@codecademy/gamut-labs@15.1.2) (2021-04-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [15.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.1.0...@codecademy/gamut-labs@15.1.1) (2021-04-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [15.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@15.0.0...@codecademy/gamut-labs@15.1.0) (2021-04-28) - - -### Features - -* List Section ([2929764](https://github.com/Codecademy/gamut/commit/29297640df5cca2953749d18d84a010bbf2d7894)) - - - -## [15.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.5.1...@codecademy/gamut-labs@15.0.0) (2021-04-28) - - -### ⚠ BREAKING CHANGES - -* update landing page exports - -### Code Refactoring - -* update landing page exports ([68203b1](https://github.com/Codecademy/gamut/commit/68203b1f8cffbe7e6b22147e54484e9e2c7bb03c)) - - - -### [14.5.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.5.0...@codecademy/gamut-labs@14.5.1) (2021-04-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [14.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.4.5...@codecademy/gamut-labs@14.5.0) (2021-04-27) - - -### Features - -* **Global Footer:** add affiliate program link ([83ae7d7](https://github.com/Codecademy/gamut/commit/83ae7d7918075e181da7462a53dab7ccffaf2c77)) - - - -### [14.4.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.4.4...@codecademy/gamut-labs@14.4.5) (2021-04-27) - - -### Bug Fixes - -* **PageSection:** Adding margin-top to footer of PageSection ([7359c18](https://github.com/Codecademy/gamut/commit/7359c1860fe5e2deae7198b617876ae4df3d916a)) - - - -### [14.4.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.4.3...@codecademy/gamut-labs@14.4.4) (2021-04-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [14.4.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.4.2...@codecademy/gamut-labs@14.4.3) (2021-04-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [14.4.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.4.1...@codecademy/gamut-labs@14.4.2) (2021-04-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [14.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.4.0...@codecademy/gamut-labs@14.4.1) (2021-04-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [14.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.3.1...@codecademy/gamut-labs@14.4.0) (2021-04-26) - - -### Features - -* **Anchor:** Variance Migration + ColorMode [GM-203] ([d5ae675](https://github.com/Codecademy/gamut/commit/d5ae6758c65a837066562eb0ed8b964176889148)) - - - -### [14.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.3.0...@codecademy/gamut-labs@14.3.1) (2021-04-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [14.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.2.5...@codecademy/gamut-labs@14.3.0) (2021-04-26) - - -### Features - -* **Text:** Migrate to variance and add new semantic variants [GM-204] ([463b873](https://github.com/Codecademy/gamut/commit/463b87341bf6692ffc103ca87ad0989d1fd5408d)) - - - -### [14.2.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.2.4...@codecademy/gamut-labs@14.2.5) (2021-04-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [14.2.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.2.3...@codecademy/gamut-labs@14.2.4) (2021-04-23) - - -### Bug Fixes - -* **GlobalFooter:** update empty global footer onClick targets ([1346493](https://github.com/Codecademy/gamut/commit/134649393e0c5cd677f488de7ae9b10e7933b1da)) - - - -### [14.2.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.2.2...@codecademy/gamut-labs@14.2.3) (2021-04-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [14.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.2.1...@codecademy/gamut-labs@14.2.2) (2021-04-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [14.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.2.0...@codecademy/gamut-labs@14.2.1) (2021-04-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [14.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.1.0...@codecademy/gamut-labs@14.2.0) (2021-04-21) - - -### Features - -* Add PageSection molecule ([ccfb21f](https://github.com/Codecademy/gamut/commit/ccfb21fd77c4741256ee4d282248033680f17fdc)) - - - -## [14.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@14.0.0...@codecademy/gamut-labs@14.1.0) (2021-04-21) - - -### Features - -* **Curriculum Card:** Port from monolith ([80ff2f6](https://github.com/Codecademy/gamut/commit/80ff2f6250675dbba8ee41e9c729818d2de08859)) - - - -## [14.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.14...@codecademy/gamut-labs@14.0.0) (2021-04-20) - - -### ⚠ BREAKING CHANGES - -* add new dot Pattern and rename old dots to checker - -### Features - -* add new dot Pattern and rename old dots to checker ([cd1919b](https://github.com/Codecademy/gamut/commit/cd1919bbe5552991b336db4f5857082040d1debe)) - - - -### [13.5.14](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.13...@codecademy/gamut-labs@13.5.14) (2021-04-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.5.13](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.12...@codecademy/gamut-labs@13.5.13) (2021-04-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.5.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.11...@codecademy/gamut-labs@13.5.12) (2021-04-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.5.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.10...@codecademy/gamut-labs@13.5.11) (2021-04-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.5.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.9...@codecademy/gamut-labs@13.5.10) (2021-04-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.5.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.8...@codecademy/gamut-labs@13.5.9) (2021-04-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.5.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.7...@codecademy/gamut-labs@13.5.8) (2021-04-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.5.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.6...@codecademy/gamut-labs@13.5.7) (2021-04-19) - - -### Bug Fixes - -* **labs:** Fix missing exported type ([a45e2bf](https://github.com/Codecademy/gamut/commit/a45e2bf940b07a540002be575610ddab8ef8b604)) - - - -### [13.5.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.5...@codecademy/gamut-labs@13.5.6) (2021-04-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.5.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.4...@codecademy/gamut-labs@13.5.5) (2021-04-15) - - -### Bug Fixes - -* used _, not xs, for lowest size in GlobalFooter ([#1633](https://github.com/Codecademy/gamut/issues/1633)) ([c776e33](https://github.com/Codecademy/gamut/commit/c776e332df36a45d05dab9281cd872b6726644f3)) - - - -### [13.5.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.3...@codecademy/gamut-labs@13.5.4) (2021-04-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.5.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.2...@codecademy/gamut-labs@13.5.3) (2021-04-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.5.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.1...@codecademy/gamut-labs@13.5.2) (2021-04-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.5.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.5.0...@codecademy/gamut-labs@13.5.1) (2021-04-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [13.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.14...@codecademy/gamut-labs@13.5.0) (2021-04-15) - - -### Features - -* **LayoutGrid:** LayoutGrid conversion + Initial Variance Props [GM-81] ([2b51494](https://github.com/Codecademy/gamut/commit/2b514940871759b66f91aa1f333be558e1ee517a)) - - - -### [13.4.14](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.13...@codecademy/gamut-labs@13.4.14) (2021-04-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.4.13](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.12...@codecademy/gamut-labs@13.4.13) (2021-04-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.4.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.11...@codecademy/gamut-labs@13.4.12) (2021-04-14) - - -### Bug Fixes - -* corrected GlobalFooter shop link ([#1629](https://github.com/Codecademy/gamut/issues/1629)) ([3da9db9](https://github.com/Codecademy/gamut/commit/3da9db9767b966188bbabc3054ab7b400a2586c3)) - - - -### [13.4.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.10...@codecademy/gamut-labs@13.4.11) (2021-04-14) - - -### Bug Fixes - -* straight to main, j to J in CatalogLinks.tsx ([bc65aa7](https://github.com/Codecademy/gamut/commit/bc65aa7be1244c1442546f96bed532f80479ef63)) - - - -### [13.4.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.9...@codecademy/gamut-labs@13.4.10) (2021-04-14) - - -### Bug Fixes - -* use internal App Store and Google Play images ([#1625](https://github.com/Codecademy/gamut/issues/1625)) ([46ff9d9](https://github.com/Codecademy/gamut/commit/46ff9d91cd1aea085b42a78a6cc8b5805a418cc5)) - - - -### [13.4.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.8...@codecademy/gamut-labs@13.4.9) (2021-04-14) - - -### Bug Fixes - -* mismatched footer links ([#1624](https://github.com/Codecademy/gamut/issues/1624)) ([97a4e9e](https://github.com/Codecademy/gamut/commit/97a4e9e32729c25d4b215e63f918f162fd0913fd)) - - - -### [13.4.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.7...@codecademy/gamut-labs@13.4.8) (2021-04-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.4.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.6...@codecademy/gamut-labs@13.4.7) (2021-04-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.4.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.5...@codecademy/gamut-labs@13.4.6) (2021-04-13) - - -### Bug Fixes - -* accessibility and key violations in GlobalFooter ([3e636f4](https://github.com/Codecademy/gamut/commit/3e636f4a4c08f6d72d33e68c5245971fe4b70e43)) - - - -### [13.4.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.4...@codecademy/gamut-labs@13.4.5) (2021-04-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.4.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.3...@codecademy/gamut-labs@13.4.4) (2021-04-12) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.4.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.2...@codecademy/gamut-labs@13.4.3) (2021-04-12) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.4.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.1...@codecademy/gamut-labs@13.4.2) (2021-04-12) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.4.0...@codecademy/gamut-labs@13.4.1) (2021-04-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [13.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.3.7...@codecademy/gamut-labs@13.4.0) (2021-04-09) - - -### Features - -* added GlobalFooter molecule ([#1598](https://github.com/Codecademy/gamut/issues/1598)) ([b17603c](https://github.com/Codecademy/gamut/commit/b17603c296918c09f0c8a350b07056227287c74e)) - - - -### [13.3.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.3.6...@codecademy/gamut-labs@13.3.7) (2021-04-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.3.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.3.5...@codecademy/gamut-labs@13.3.6) (2021-04-08) - - -### Bug Fixes - -* switch gamut-tests to an internal devDependency ([#1460](https://github.com/Codecademy/gamut/issues/1460)) ([e12d005](https://github.com/Codecademy/gamut/commit/e12d00501bff58e0a5365b950793201fb9f6c640)) - - - -### [13.3.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.3.4...@codecademy/gamut-labs@13.3.5) (2021-04-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.3.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.3.3...@codecademy/gamut-labs@13.3.4) (2021-04-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.3.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.3.2...@codecademy/gamut-labs@13.3.3) (2021-04-07) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.3.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.3.1...@codecademy/gamut-labs@13.3.2) (2021-04-07) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.3.0...@codecademy/gamut-labs@13.3.1) (2021-04-07) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [13.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.2.10...@codecademy/gamut-labs@13.3.0) (2021-04-06) - - -### Features - -* **Variance:** Initial Props and Refactor Tests [WEB-1390] ([e4b5177](https://github.com/Codecademy/gamut/commit/e4b5177544643fec274d20f37be594b140a4cba3)) - - - -### [13.2.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.2.9...@codecademy/gamut-labs@13.2.10) (2021-04-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.2.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.2.8...@codecademy/gamut-labs@13.2.9) (2021-04-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.2.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.2.7...@codecademy/gamut-labs@13.2.8) (2021-04-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.2.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.2.6...@codecademy/gamut-labs@13.2.7) (2021-03-30) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.2.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.2.5...@codecademy/gamut-labs@13.2.6) (2021-03-30) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.2.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.2.4...@codecademy/gamut-labs@13.2.5) (2021-03-30) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.2.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.2.3...@codecademy/gamut-labs@13.2.4) (2021-03-30) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.2.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.2.2...@codecademy/gamut-labs@13.2.3) (2021-03-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.2.1...@codecademy/gamut-labs@13.2.2) (2021-03-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.2.0...@codecademy/gamut-labs@13.2.1) (2021-03-26) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [13.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.1.6...@codecademy/gamut-labs@13.2.0) (2021-03-25) - - -### Features - -* add height animation to dropdown ([bfb22ad](https://github.com/Codecademy/gamut/commit/bfb22adea29c756a4f2d046f19a4605f9658ad79)) - - - -### [13.1.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.1.5...@codecademy/gamut-labs@13.1.6) (2021-03-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.1.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.1.4...@codecademy/gamut-labs@13.1.5) (2021-03-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.1.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.1.3...@codecademy/gamut-labs@13.1.4) (2021-03-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.1.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.1.2...@codecademy/gamut-labs@13.1.3) (2021-03-24) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.1.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.1.1...@codecademy/gamut-labs@13.1.2) (2021-03-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.1.0...@codecademy/gamut-labs@13.1.1) (2021-03-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [13.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.0.5...@codecademy/gamut-labs@13.1.0) (2021-03-23) - - -### Features - -* **GamutProvider:** Adds single provider for Theme + Cache + Globals + Assets [WEB-1352] [GM-173] ([9eac700](https://github.com/Codecademy/gamut/commit/9eac7009b4d773621a0993cc125d6878b76977ce)) - - - -### [13.0.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.0.4...@codecademy/gamut-labs@13.0.5) (2021-03-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.0.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.0.3...@codecademy/gamut-labs@13.0.4) (2021-03-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.0.2...@codecademy/gamut-labs@13.0.3) (2021-03-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.0.1...@codecademy/gamut-labs@13.0.2) (2021-03-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [13.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@13.0.0...@codecademy/gamut-labs@13.0.1) (2021-03-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [13.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@12.0.3...@codecademy/gamut-labs@13.0.0) (2021-03-18) - - -### ⚠ BREAKING CHANGES - -* **ContentContainer:** update responsive padding - -### Features - -* **ContentContainer:** update responsive padding ([4f66f22](https://github.com/Codecademy/gamut/commit/4f66f22a3572f1e721b5da0a8c41ebe3dd385279)) - - - -### [12.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@12.0.2...@codecademy/gamut-labs@12.0.3) (2021-03-18) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [12.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@12.0.1...@codecademy/gamut-labs@12.0.2) (2021-03-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [12.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@12.0.0...@codecademy/gamut-labs@12.0.1) (2021-03-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [12.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.4.2...@codecademy/gamut-labs@12.0.0) (2021-03-16) - - -### ⚠ BREAKING CHANGES - -* **Card:** Animation Fixes and Gamut migration - -### Bug Fixes - -* **Card:** Animation Fixes and Gamut migration ([c44ac2f](https://github.com/Codecademy/gamut/commit/c44ac2f096ed36018c5eb41eac5d56ffca8bd74f)) - - - -### [11.4.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.4.1...@codecademy/gamut-labs@11.4.2) (2021-03-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [11.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.4.0...@codecademy/gamut-labs@11.4.1) (2021-03-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [11.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.3.0...@codecademy/gamut-labs@11.4.0) (2021-03-15) - - -### Features - -* **PageHero:** don't hide video on xs screens ([#1505](https://github.com/Codecademy/gamut/issues/1505)) ([0260108](https://github.com/Codecademy/gamut/commit/026010825c5d159a918665c083eacd5ed6e07915)) - - - -## [11.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.2.3...@codecademy/gamut-labs@11.3.0) (2021-03-15) - - -### Features - -* **GlobalHeader:** header animation on scroll ([#1430](https://github.com/Codecademy/gamut/issues/1430)) ([3c46b5a](https://github.com/Codecademy/gamut/commit/3c46b5ada775471e021de2ead4e2b03b9d4fe126)) - - - -### [11.2.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.2.2...@codecademy/gamut-labs@11.2.3) (2021-03-12) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [11.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.2.1...@codecademy/gamut-labs@11.2.2) (2021-03-11) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [11.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.2.0...@codecademy/gamut-labs@11.2.1) (2021-03-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [11.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.1.1...@codecademy/gamut-labs@11.2.0) (2021-03-10) - - -### Features - -* **GlobalHeader:** Add pro paused and trial completed header types ([3cf3323](https://github.com/Codecademy/gamut/commit/3cf33236f7f06457095cd1096949d21622734185)) - - - -### [11.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.1.0...@codecademy/gamut-labs@11.1.1) (2021-03-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [11.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.0.5...@codecademy/gamut-labs@11.1.0) (2021-03-09) - - -### Features - -* **Global Header:** add redirect parameter ([0d67ea4](https://github.com/Codecademy/gamut/commit/0d67ea4a93af4b50c1e2f55252a134afe6308f76)), closes [/github.com/codecademy-engineering/Codecademy/blob/develop/webpack/assets/libs/url.ts#L62](https://github.com/Codecademy//github.com/codecademy-engineering/Codecademy/blob/develop/webpack/assets/libs/url.ts/issues/L62) - - - -### [11.0.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.0.4...@codecademy/gamut-labs@11.0.5) (2021-03-09) - - -### Bug Fixes - -* Replace focus-trap with focus-lock-on ([d65e3de](https://github.com/Codecademy/gamut/commit/d65e3de3149a16603039218c81204a914da6c7cd)) - - - -### [11.0.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.0.3...@codecademy/gamut-labs@11.0.4) (2021-03-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [11.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.0.2...@codecademy/gamut-labs@11.0.3) (2021-03-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [11.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.0.1...@codecademy/gamut-labs@11.0.2) (2021-03-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [11.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@11.0.0...@codecademy/gamut-labs@11.0.1) (2021-03-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [11.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.5.2...@codecademy/gamut-labs@11.0.0) (2021-03-08) - - -### ⚠ BREAKING CHANGES - -* **Byline:** use Emotion for styles (#1464) - -### Code Refactoring - -* **Byline:** use Emotion for styles ([#1464](https://github.com/Codecademy/gamut/issues/1464)) ([4b76254](https://github.com/Codecademy/gamut/commit/4b76254cfc91e2cad617b52851447cd366817877)) - - - -### [10.5.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.5.1...@codecademy/gamut-labs@10.5.2) (2021-03-05) - - -### Bug Fixes - -* **global header:** add support for user role "account manager" ([0cc5ac4](https://github.com/Codecademy/gamut/commit/0cc5ac4440033dcbe3873658c00def16674fc4ea)) - - - -### [10.5.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.5.0...@codecademy/gamut-labs@10.5.1) (2021-03-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [10.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.4.6...@codecademy/gamut-labs@10.5.0) (2021-03-05) - - -### Features - -* **HubCard:** Created a new hub page card component ([794f369](https://github.com/Codecademy/gamut/commit/794f369431b1c68191b76b771138275c710997f3)) - - - -### [10.4.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.4.5...@codecademy/gamut-labs@10.4.6) (2021-03-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.4.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.4.4...@codecademy/gamut-labs@10.4.5) (2021-03-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.4.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.4.3...@codecademy/gamut-labs@10.4.4) (2021-03-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.4.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.4.2...@codecademy/gamut-labs@10.4.3) (2021-03-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.4.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.4.1...@codecademy/gamut-labs@10.4.2) (2021-03-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.4.0...@codecademy/gamut-labs@10.4.1) (2021-03-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [10.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.3.4...@codecademy/gamut-labs@10.4.0) (2021-03-04) - - -### Features - -* deprecated useBreakpoint and friends ([263f35e](https://github.com/Codecademy/gamut/commit/263f35e1bcb3c8eee0397cfa857f889ea69bd735)) - - - -### [10.3.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.3.3...@codecademy/gamut-labs@10.3.4) (2021-03-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.3.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.3.2...@codecademy/gamut-labs@10.3.3) (2021-03-03) - - -### Bug Fixes - -* **global header:** export global header types ([64987a3](https://github.com/Codecademy/gamut/commit/64987a3de6d44edcf664535bcd653e64aeb06fb2)), closes [/github.com/codecademy-engineering/Codecademy/pull/22024#discussion_r585939943](https://github.com/Codecademy//github.com/codecademy-engineering/Codecademy/pull/22024/issues/discussion_r585939943) - - - -### [10.3.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.3.1...@codecademy/gamut-labs@10.3.2) (2021-03-03) - - -### Bug Fixes - -* **global header:** for monolith migration work ([#1451](https://github.com/Codecademy/gamut/issues/1451)) ([0fafe0c](https://github.com/Codecademy/gamut/commit/0fafe0c2ab4bdb19a045ae6d5debf0caed0d58ef)) - - - -### [10.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.3.0...@codecademy/gamut-labs@10.3.1) (2021-03-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [10.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.2.4...@codecademy/gamut-labs@10.3.0) (2021-03-02) - - -### Features - -* **props:** Adds custom shouldForwardProp to omit system props ([2048045](https://github.com/Codecademy/gamut/commit/2048045c2710333a79b4b1f60a41d74128029cfd)) - - - -### [10.2.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.2.3...@codecademy/gamut-labs@10.2.4) (2021-03-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.2.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.2.2...@codecademy/gamut-labs@10.2.3) (2021-03-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.2.1...@codecademy/gamut-labs@10.2.2) (2021-03-01) - - -### Bug Fixes - -* **popover:** provide fallbackFocus ([7a25f5b](https://github.com/Codecademy/gamut/commit/7a25f5b31d5f20d4e49c851208ba1bf6002bbe6a)) - - - -### [10.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.2.0...@codecademy/gamut-labs@10.2.1) (2021-02-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [10.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.1.10...@codecademy/gamut-labs@10.2.0) (2021-02-25) - - -### Features - -* add linting for gamut imports ([17980c9](https://github.com/Codecademy/gamut/commit/17980c9993c1334c4a3a6a875fe15dbcc1052c08)) - - - -### [10.1.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.1.9...@codecademy/gamut-labs@10.1.10) (2021-02-24) - - -### Bug Fixes - -* **app header mobile & notifs empty container:** add + fix test ids ([cb3b235](https://github.com/Codecademy/gamut/commit/cb3b235f38c104809d887e2d77b812c7dcc60ed6)) - - - -### [10.1.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.1.8...@codecademy/gamut-labs@10.1.9) (2021-02-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.1.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.1.7...@codecademy/gamut-labs@10.1.8) (2021-02-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.1.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.1.6...@codecademy/gamut-labs@10.1.7) (2021-02-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.1.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.1.5...@codecademy/gamut-labs@10.1.6) (2021-02-23) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.1.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.1.4...@codecademy/gamut-labs@10.1.5) (2021-02-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.1.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.1.3...@codecademy/gamut-labs@10.1.4) (2021-02-22) - - -### Bug Fixes - -* remove z index from popover ([ef1750f](https://github.com/Codecademy/gamut/commit/ef1750fac144f26da4db5459297c2de7e59001f7)) - - - -### [10.1.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.1.2...@codecademy/gamut-labs@10.1.3) (2021-02-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.1.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.1.1...@codecademy/gamut-labs@10.1.2) (2021-02-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.1.0...@codecademy/gamut-labs@10.1.1) (2021-02-19) - - -### Bug Fixes - -* popover pattern expands to the size of its container ([f74d723](https://github.com/Codecademy/gamut/commit/f74d723010d96ce5e0ff463a1834a1e30a338976)) - - - -## [10.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.13...@codecademy/gamut-labs@10.1.0) (2021-02-19) - - -### Features - -* add new coachmark component ([f268e07](https://github.com/Codecademy/gamut/commit/f268e07d55de5625c0a89295578b6bb43ea6e025)) - - - -### [10.0.13](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.12...@codecademy/gamut-labs@10.0.13) (2021-02-18) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.0.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.11...@codecademy/gamut-labs@10.0.12) (2021-02-18) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.0.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.10...@codecademy/gamut-labs@10.0.11) (2021-02-17) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.0.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.9...@codecademy/gamut-labs@10.0.10) (2021-02-17) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.0.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.8...@codecademy/gamut-labs@10.0.9) (2021-02-17) - - -### Bug Fixes - -* **GlobalHeader:** add Projects link to Resources dropdown ([#1414](https://github.com/Codecademy/gamut/issues/1414)) ([4936988](https://github.com/Codecademy/gamut/commit/49369884c3a97e3db79c166f9954177d5a495ec6)) - - - -### [10.0.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.7...@codecademy/gamut-labs@10.0.8) (2021-02-17) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.0.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.6...@codecademy/gamut-labs@10.0.7) (2021-02-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.0.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.5...@codecademy/gamut-labs@10.0.6) (2021-02-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.0.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.4...@codecademy/gamut-labs@10.0.5) (2021-02-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.0.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.3...@codecademy/gamut-labs@10.0.4) (2021-02-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.2...@codecademy/gamut-labs@10.0.3) (2021-02-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.1...@codecademy/gamut-labs@10.0.2) (2021-02-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [10.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@10.0.0...@codecademy/gamut-labs@10.0.1) (2021-02-12) - - -### Bug Fixes - -* **GlobalHeader:** Simplify loading header ([9c5ebc0](https://github.com/Codecademy/gamut/commit/9c5ebc0bf45e73851310c4053a3341c6ee7034fc)) - - - -## [10.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.3.7...@codecademy/gamut-labs@10.0.0) (2021-02-12) - - -### ⚠ BREAKING CHANGES - -* bumped ESLint packages to latest and added recommended & Jest linting - -### Features - -* bumped ESLint packages to latest and added recommended & Jest linting ([2e8af11](https://github.com/Codecademy/gamut/commit/2e8af111b372f35f1cfca28cbc22744f7489615d)) - - - -### [9.3.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.3.6...@codecademy/gamut-labs@9.3.7) (2021-02-12) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [9.3.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.3.5...@codecademy/gamut-labs@9.3.6) (2021-02-12) - - -### Bug Fixes - -* reduce column gaps on mobile for LP components ([fa887a1](https://github.com/Codecademy/gamut/commit/fa887a1f525f9c5434f4591ce01126a4d7fd5ae4)) - - - -### [9.3.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.3.4...@codecademy/gamut-labs@9.3.5) (2021-02-12) - - -### Bug Fixes - -* **AppHeaderDropdown:** fix jumpiness of bold text when dropdown is opened ([#1394](https://github.com/Codecademy/gamut/issues/1394)) ([932a00c](https://github.com/Codecademy/gamut/commit/932a00c9c6304440cfd06b38e2ccb0a5438afe81)) - - - -### [9.3.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.3.3...@codecademy/gamut-labs@9.3.4) (2021-02-11) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [9.3.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.3.2...@codecademy/gamut-labs@9.3.3) (2021-02-11) - - -### Bug Fixes - -* **GlobalHeader:** Spacing fixes ([b30e101](https://github.com/Codecademy/gamut/commit/b30e10192d64dae25ebad333c4a711fbc834b44e)) - - - -### [9.3.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.3.1...@codecademy/gamut-labs@9.3.2) (2021-02-11) - - -### Bug Fixes - -* update font sizes within LP components at smaller than xs ([0fe480b](https://github.com/Codecademy/gamut/commit/0fe480bd814641edf0ab0c2e11b557888f3a4639)) - - - -### [9.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.3.0...@codecademy/gamut-labs@9.3.1) (2021-02-11) - - -### Bug Fixes - -* **catalog link:** copy should catalog, not course catalog ([62bec44](https://github.com/Codecademy/gamut/commit/62bec4415db36496a67dd12b52243bc4ef2a0ed2)) - - - -## [9.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.2.12...@codecademy/gamut-labs@9.3.0) (2021-02-10) - - -### Features - -* **Mobile Menu Variants:** global header mobile ([e0670b6](https://github.com/Codecademy/gamut/commit/e0670b68b65dea9d03901b7798852b371c235ffe)) - - - -### [9.2.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.2.11...@codecademy/gamut-labs@9.2.12) (2021-02-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [9.2.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.2.10...@codecademy/gamut-labs@9.2.11) (2021-02-10) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [9.2.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.2.9...@codecademy/gamut-labs@9.2.10) (2021-02-10) - - -### Bug Fixes - -* add event parameter to landing page CTA onClick ([bd770aa](https://github.com/Codecademy/gamut/commit/bd770aa9eea726da587d809630993b016faa3f95)) - - - -### [9.2.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.2.8...@codecademy/gamut-labs@9.2.9) (2021-02-09) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [9.2.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.2.7...@codecademy/gamut-labs@9.2.8) (2021-02-08) - - -### Bug Fixes - -* increase feature column gaps ([7ab374f](https://github.com/Codecademy/gamut/commit/7ab374ff835b32793aa4ff80deb95f3f602e4223)) - - - -### [9.2.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.2.6...@codecademy/gamut-labs@9.2.7) (2021-02-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [9.2.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.2.5...@codecademy/gamut-labs@9.2.6) (2021-02-08) - - -### Bug Fixes - -* use light variant by default ([29468e0](https://github.com/Codecademy/gamut/commit/29468e0fc15097915ffdc31e51c8ea12bc19e785)) - - - -### [9.2.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.2.4...@codecademy/gamut-labs@9.2.5) (2021-02-08) - - -### Bug Fixes - -* remove indentation from lists in Feature descriptions ([#1377](https://github.com/Codecademy/gamut/issues/1377)) ([32862ac](https://github.com/Codecademy/gamut/commit/32862ac580c4415b185e9c272abfd19bd227115d)) - - - -### [9.2.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.2.3...@codecademy/gamut-labs@9.2.4) (2021-02-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [9.2.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.2.2...@codecademy/gamut-labs@9.2.3) (2021-02-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [9.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.2.1...@codecademy/gamut-labs@9.2.2) (2021-02-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [9.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.2.0...@codecademy/gamut-labs@9.2.1) (2021-02-05) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [9.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.1.0...@codecademy/gamut-labs@9.2.0) (2021-02-05) - - -### Features - -* added gamut-tests package around component-test-setup ([#1285](https://github.com/Codecademy/gamut/issues/1285)) ([42f10fd](https://github.com/Codecademy/gamut/commit/42f10fd7932d91ac7a7caceb6c875ace53a8e1b0)) - - - -## [9.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.0.1...@codecademy/gamut-labs@9.1.0) (2021-02-04) - - -### Features - -* add dark mode to video gallery and prefooter ([8551755](https://github.com/Codecademy/gamut/commit/8551755c3c4c8e637832c641754e0587f7860ced)) - - - -### [9.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@9.0.0...@codecademy/gamut-labs@9.0.1) (2021-02-04) - - -### Bug Fixes - -* **GlobalHeader:** Fixes for the static-sites transition ([#1361](https://github.com/Codecademy/gamut/issues/1361)) ([0b88cca](https://github.com/Codecademy/gamut/commit/0b88ccafc093c3cc4cad0e502864fe239f7e097e)) - - - -## [9.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.3.3...@codecademy/gamut-labs@9.0.0) (2021-02-04) - - -### ⚠ BREAKING CHANGES - -* **BrandMono:** Remove Roboto Mono in favor of using Suisse - -### Miscellaneous Chores - -* **BrandMono:** Remove Roboto Mono in favor of using Suisse ([042259e](https://github.com/Codecademy/gamut/commit/042259e51bfea3864187adfe7b0a409d86b68634)) - - - -### [8.3.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.3.2...@codecademy/gamut-labs@8.3.3) (2021-02-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [8.3.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.3.1...@codecademy/gamut-labs@8.3.2) (2021-02-04) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [8.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.3.0...@codecademy/gamut-labs@8.3.1) (2021-02-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [8.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.2.0...@codecademy/gamut-labs@8.3.0) (2021-02-02) - - -### Features - -* change LP components text color to navy ([76bb79a](https://github.com/Codecademy/gamut/commit/76bb79a7d58da2bcdda487c0c95dd26ced648f20)) - - - -## [8.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.1.6...@codecademy/gamut-labs@8.2.0) (2021-02-02) - - -### Features - -* **Mobile Menu:** mobile menu interactions ([aec9a6d](https://github.com/Codecademy/gamut/commit/aec9a6dfb158e2f0b02dbf5a98bfe08e86a3f193)) - - - -### [8.1.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.1.5...@codecademy/gamut-labs@8.1.6) (2021-02-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [8.1.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.1.4...@codecademy/gamut-labs@8.1.5) (2021-02-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [8.1.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.1.3...@codecademy/gamut-labs@8.1.4) (2021-02-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [8.1.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.1.2...@codecademy/gamut-labs@8.1.3) (2021-02-02) - - -### Bug Fixes - -* **Feature:** Refactor the Feature component ([#1336](https://github.com/Codecademy/gamut/issues/1336)) ([386f9dc](https://github.com/Codecademy/gamut/commit/386f9dc82623d39992b4b7ea343a616f7a4fbf30)) - - - -### [8.1.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.1.1...@codecademy/gamut-labs@8.1.2) (2021-02-02) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [8.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.1.0...@codecademy/gamut-labs@8.1.1) (2021-02-01) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [8.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.0.2...@codecademy/gamut-labs@8.1.0) (2021-02-01) - - -### Features - -* **AppHeaderProfileDropdown:** Pass through user avatar and display name ([#1330](https://github.com/Codecademy/gamut/issues/1330)) ([dcbf9f3](https://github.com/Codecademy/gamut/commit/dcbf9f3fcf9cbacd4396a3563bcd0293074c72c4)) - - - -### [8.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.0.1...@codecademy/gamut-labs@8.0.2) (2021-01-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [8.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@8.0.0...@codecademy/gamut-labs@8.0.1) (2021-01-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [8.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.16.5...@codecademy/gamut-labs@8.0.0) (2021-01-29) - - -### ⚠ BREAKING CHANGES - -* **PageHero:** added functionality for PageHero to take images or videos as props - -### Features - -* **PageHero:** added functionality for PageHero to take images or videos as props ([3a9040f](https://github.com/Codecademy/gamut/commit/3a9040f30c3a0784cec0e7cb2c6ac2f48251d586)) - - - -### [7.16.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.16.4...@codecademy/gamut-labs@7.16.5) (2021-01-29) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.16.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.16.3...@codecademy/gamut-labs@7.16.4) (2021-01-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.16.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.16.2...@codecademy/gamut-labs@7.16.3) (2021-01-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.16.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.16.1...@codecademy/gamut-labs@7.16.2) (2021-01-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.16.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.16.0...@codecademy/gamut-labs@7.16.1) (2021-01-28) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [7.16.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.15.0...@codecademy/gamut-labs@7.16.0) (2021-01-27) - - -### Features - -* add 3-video gallery component ([a9175ec](https://github.com/Codecademy/gamut/commit/a9175ece067e716476c85609d904f1e5e3ea9155)) - - - -## [7.15.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.14.2...@codecademy/gamut-labs@7.15.0) (2021-01-27) - - -### Features - -* **PageFeatures:** Allow the PageFeatures component to render in a grid ([#1312](https://github.com/Codecademy/gamut/issues/1312)) ([4532a1e](https://github.com/Codecademy/gamut/commit/4532a1e956ee56bf002f45b49fc529a9df147666)) - - - -### [7.14.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.14.1...@codecademy/gamut-labs@7.14.2) (2021-01-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.14.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.14.0...@codecademy/gamut-labs@7.14.1) (2021-01-27) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [7.14.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.13.4...@codecademy/gamut-labs@7.14.0) (2021-01-27) - - -### Features - -* **Mobile Menu components:** mobile menu set up ([#1320](https://github.com/Codecademy/gamut/issues/1320)) ([6d33a20](https://github.com/Codecademy/gamut/commit/6d33a204de35bf3167773241af2ed77706bbcb89)) - - - -### [7.13.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.13.3...@codecademy/gamut-labs@7.13.4) (2021-01-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.13.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.13.2...@codecademy/gamut-labs@7.13.3) (2021-01-25) - - -### Bug Fixes - -* **GlobalHeader:** Change focus outline color and add export ([#1322](https://github.com/Codecademy/gamut/issues/1322)) ([e5fe628](https://github.com/Codecademy/gamut/commit/e5fe628ca7e347d6c65e6efc50271a006ef7a6e5)) - - - -### [7.13.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.13.1...@codecademy/gamut-labs@7.13.2) (2021-01-25) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.13.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.13.0...@codecademy/gamut-labs@7.13.1) (2021-01-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [7.13.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.12.0...@codecademy/gamut-labs@7.13.0) (2021-01-22) - - -### Features - -* **GlobalHeader:** add GlobalHeader component ([#1306](https://github.com/Codecademy/gamut/issues/1306)) ([7656137](https://github.com/Codecademy/gamut/commit/7656137fd532dcaeff37408b6bc1f6e933807aee)) - - - -## [7.12.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.11.1...@codecademy/gamut-labs@7.12.0) (2021-01-22) - - -### Features - -* **AppHeader:** add AppHeader component ([#1300](https://github.com/Codecademy/gamut/issues/1300)) ([040ca60](https://github.com/Codecademy/gamut/commit/040ca60dfd4e98eb2c48aada2d40eab2a63425cf)) - - - -### [7.11.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.11.0...@codecademy/gamut-labs@7.11.1) (2021-01-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [7.11.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.10.8...@codecademy/gamut-labs@7.11.0) (2021-01-22) - - -### Features - -* **PageFeatures:** allow this component to render stats and no media, in addition to images and icons ([#1307](https://github.com/Codecademy/gamut/issues/1307)) ([61370f5](https://github.com/Codecademy/gamut/commit/61370f508390b3fbc4eb3aef660684c9253617a8)) - - - -### [7.10.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.10.7...@codecademy/gamut-labs@7.10.8) (2021-01-22) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.10.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.10.6...@codecademy/gamut-labs@7.10.7) (2021-01-20) - - -### Bug Fixes - -* landing page descriptions margin-top adjustments ([813f183](https://github.com/Codecademy/gamut/commit/813f183ee8248c5859c3c385a4888d6aa46ccbb7)) - - - -### [7.10.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.10.5...@codecademy/gamut-labs@7.10.6) (2021-01-20) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.10.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.10.4...@codecademy/gamut-labs@7.10.5) (2021-01-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.10.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.10.3...@codecademy/gamut-labs@7.10.4) (2021-01-19) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.10.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.10.2...@codecademy/gamut-labs@7.10.3) (2021-01-18) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.10.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.10.1...@codecademy/gamut-labs@7.10.2) (2021-01-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.10.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.10.0...@codecademy/gamut-labs@7.10.1) (2021-01-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [7.10.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.9.0...@codecademy/gamut-labs@7.10.0) (2021-01-15) - - -### Features - -* **AppHeaderDropdown:** dropdown AppHeaderElement ([#1279](https://github.com/Codecademy/gamut/issues/1279)) ([1d7505f](https://github.com/Codecademy/gamut/commit/1d7505fda48b247b295722859b5f64862f067b0f)) - - - -## [7.9.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.8.0...@codecademy/gamut-labs@7.9.0) (2021-01-15) - - -### Features - -* **AppHeaderLink:** link AppHeaderElement ([#1278](https://github.com/Codecademy/gamut/issues/1278)) ([f75674f](https://github.com/Codecademy/gamut/commit/f75674f07eee218c7ecd5628826334873d710b56)) - - - -## [7.8.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.7.4...@codecademy/gamut-labs@7.8.0) (2021-01-14) - - -### Features - -* **AppHeaderLogo:** logo button AppHeaderElement ([#1277](https://github.com/Codecademy/gamut/issues/1277)) ([9e3f25b](https://github.com/Codecademy/gamut/commit/9e3f25b837d0332db54973a5b5dfea2c3f430525)) - - - -### [7.7.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.7.3...@codecademy/gamut-labs@7.7.4) (2021-01-13) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.7.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.7.2...@codecademy/gamut-labs@7.7.3) (2021-01-12) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.7.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.7.1...@codecademy/gamut-labs@7.7.2) (2021-01-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.7.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.7.0...@codecademy/gamut-labs@7.7.1) (2021-01-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [7.7.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.6.5...@codecademy/gamut-labs@7.7.0) (2021-01-07) - - -### Features - -* **Anchor:** add variants to anchor ([e3ad3c3](https://github.com/Codecademy/gamut/commit/e3ad3c311ba1342c9c3e0e09d1f11b27bbb6c549)) - - - -### [7.6.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.6.4...@codecademy/gamut-labs@7.6.5) (2021-01-07) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.6.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.6.3...@codecademy/gamut-labs@7.6.4) (2021-01-06) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.6.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.6.2...@codecademy/gamut-labs@7.6.3) (2020-12-21) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.6.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.6.1...@codecademy/gamut-labs@7.6.2) (2020-12-18) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.6.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.6.0...@codecademy/gamut-labs@7.6.1) (2020-12-18) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [7.6.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.5.5...@codecademy/gamut-labs@7.6.0) (2020-12-17) - - -### Features - -* add vertical and horizontal offsets to the popover component ([8c5b178](https://github.com/Codecademy/gamut/commit/8c5b178dbd2eb820b58de6cbc0e93c495d2ab55f)) - - - -### [7.5.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.5.4...@codecademy/gamut-labs@7.5.5) (2020-12-16) - - -### Bug Fixes - -* revert "feat: add testId prop to Container ([#1242](https://github.com/Codecademy/gamut/issues/1242))" ([#1248](https://github.com/Codecademy/gamut/issues/1248)) ([5a69644](https://github.com/Codecademy/gamut/commit/5a69644499ec9f684d670aa11250e3ab1db767cd)) - - - -### [7.5.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.5.3...@codecademy/gamut-labs@7.5.4) (2020-12-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.5.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.5.2...@codecademy/gamut-labs@7.5.3) (2020-12-16) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.5.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.5.1...@codecademy/gamut-labs@7.5.2) (2020-12-15) - - -### Bug Fixes - -* actually use testId prop in prefooter ([bb748dc](https://github.com/Codecademy/gamut/commit/bb748dc1f938aa6bd922824d763fa9106afe89df)) - - - -### [7.5.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.5.0...@codecademy/gamut-labs@7.5.1) (2020-12-15) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [7.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.4.4...@codecademy/gamut-labs@7.5.0) (2020-12-14) - - -### Features - -* **Landing Page Components:** Allow passing callback for link clicks inside Markdown ([a2cef95](https://github.com/Codecademy/gamut/commit/a2cef959e9107e5510de4d1b44f0b014230bfdbc)) - - - -### [7.4.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.4.3...@codecademy/gamut-labs@7.4.4) (2020-12-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.4.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.4.2...@codecademy/gamut-labs@7.4.3) (2020-12-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.4.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.4.1...@codecademy/gamut-labs@7.4.2) (2020-12-14) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.4.0...@codecademy/gamut-labs@7.4.1) (2020-12-11) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [7.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.3.0...@codecademy/gamut-labs@7.4.0) (2020-12-11) - - -### Features - -* onboarded eslint-plugin-simple-import-sort into ESLint plugin ([59d6fe5](https://github.com/Codecademy/gamut/commit/59d6fe54d9af4b3ba2a88f7c234f65fc63506c0c)) - - - -## [7.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.2.0...@codecademy/gamut-labs@7.3.0) (2020-12-10) - - -### Features - -* add beakPosition prop to Popover ([d2fd977](https://github.com/Codecademy/gamut/commit/d2fd9776ddae130b505ae871d3d386a028fc21e8)) - - - -## [7.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.1.4...@codecademy/gamut-labs@7.2.0) (2020-12-10) - - -### Features - -* **Box:** Adds a set of utility Box components using system props ([3a2353e](https://github.com/Codecademy/gamut/commit/3a2353e00b22fa2e93a5fa287dcd1f972b00c731)) - - - -### [7.1.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.1.3...@codecademy/gamut-labs@7.1.4) (2020-12-09) - - -### Bug Fixes - -* Logo's defaultProps need to be of type LogoProps ([e0f3479](https://github.com/Codecademy/gamut/commit/e0f34796e890b796e1b484cafc6a529a0179ccd9)) - - - -### [7.1.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.1.2...@codecademy/gamut-labs@7.1.3) (2020-12-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.1.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.1.1...@codecademy/gamut-labs@7.1.2) (2020-12-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.1.0...@codecademy/gamut-labs@7.1.1) (2020-12-08) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -## [7.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.0.7...@codecademy/gamut-labs@7.1.0) (2020-12-07) - - -### Features - -* Add optional onClick handler to landing page CTA button ([f0ec6be](https://github.com/Codecademy/gamut/commit/f0ec6be21fe248dbc931633184a4dbfaada1fd52)) - - - -### [7.0.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.0.6...@codecademy/gamut-labs@7.0.7) (2020-12-07) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.0.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.0.5...@codecademy/gamut-labs@7.0.6) (2020-12-07) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.0.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.0.4...@codecademy/gamut-labs@7.0.5) (2020-12-03) - -**Note:** Version bump only for package @codecademy/gamut-labs - - - - - -### [7.0.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.0.3...@codecademy/gamut-labs@7.0.4) (2020-12-02) - -### [7.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.0.2...@codecademy/gamut-labs@7.0.3) (2020-12-02) - - -### 🐛 Bug Fixes - -* refine landing page ui ([65cdf0f](https://github.com/Codecademy/gamut/commit/65cdf0fd8394f22acd5f14d103eeaf94902781d5)) - -### [7.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.0.1...@codecademy/gamut-labs@7.0.2) (2020-12-02) - - -### 🐛 Bug Fixes - -* use relative import for ProLogoAlt test ([#1201](https://github.com/Codecademy/gamut/issues/1201)) ([3ab6963](https://github.com/Codecademy/gamut/commit/3ab69632a3603403f2febe93b197d336443955ad)) - -### [7.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@7.0.0...@codecademy/gamut-labs@7.0.1) (2020-12-01) - - -### 🐛 Bug Fixes - -* **Popover:** Switch Popover to use allowOutsideClick ([#1194](https://github.com/Codecademy/gamut/issues/1194)) ([8becd84](https://github.com/Codecademy/gamut/commit/8becd8421b57928cff569088f06303ba51697195)) - -## [7.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@6.0.4...@codecademy/gamut-labs@7.0.0) (2020-12-01) - - -### ⚠ BREAKING CHANGES - -* replace VisualTheme enum with string type union (#1166) - -### Other Changes - -* replace VisualTheme enum with string type union ([#1166](https://github.com/Codecademy/gamut/issues/1166)) ([30827e3](https://github.com/Codecademy/gamut/commit/30827e3f47610b074f23cc51f3ab51dbb55bc609)) - -### [6.0.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@6.0.3...@codecademy/gamut-labs@6.0.4) (2020-12-01) - - -### 🧹 Code Refactoring - -* rename landing page components and remove atoms from storybook ([997607c](https://github.com/Codecademy/gamut/commit/997607c98e749c12fcbf24d176de6a30790c37f0)) - -### [6.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@6.0.2...@codecademy/gamut-labs@6.0.3) (2020-12-01) - -### [6.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@6.0.1...@codecademy/gamut-labs@6.0.2) (2020-11-30) - -### [6.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@6.0.0...@codecademy/gamut-labs@6.0.1) (2020-11-30) - -## [6.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.7.4...@codecademy/gamut-labs@6.0.0) (2020-11-24) - - -### ⚠ BREAKING CHANGES - -* add landing page prefooter component (#1185) - -### ✨ Features - -* add landing page prefooter component ([#1185](https://github.com/Codecademy/gamut/issues/1185)) ([f5aa7f6](https://github.com/Codecademy/gamut/commit/f5aa7f6ba529dbe359bae5e654d6bc11baea9916)) - -### [5.7.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.7.3...@codecademy/gamut-labs@5.7.4) (2020-11-24) - -### [5.7.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.7.2...@codecademy/gamut-labs@5.7.3) (2020-11-24) - -### [5.7.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.7.1...@codecademy/gamut-labs@5.7.2) (2020-11-20) - - -### Other Changes - -* update flex items to grow and shrink evenly ([#1178](https://github.com/Codecademy/gamut/issues/1178)) ([0f0c268](https://github.com/Codecademy/gamut/commit/0f0c268af67c7fdfc5297a2beb38d5eff4b5d4d9)) - -### [5.7.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.7.0...@codecademy/gamut-labs@5.7.1) (2020-11-20) - - -### 🐛 Bug Fixes - -* default img alt to "", accept isPageHeading, update tests ([#1177](https://github.com/Codecademy/gamut/issues/1177)) ([eb2501e](https://github.com/Codecademy/gamut/commit/eb2501e8599c3f3061ab56caef1f28985926ad9f)) - -## [5.7.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.6.0...@codecademy/gamut-labs@5.7.0) (2020-11-20) - - -### ✨ Features - -* add landing page features section component ([#1175](https://github.com/Codecademy/gamut/issues/1175)) ([9051740](https://github.com/Codecademy/gamut/commit/90517405cf42d14abe672a3f4891911b80003d5c)) - -## [5.6.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.5.1...@codecademy/gamut-labs@5.6.0) (2020-11-20) - - -### ✨ Features - -* **Button:** Automatically switch to anchor tag when href is defined ([#1172](https://github.com/Codecademy/gamut/issues/1172)) ([a7f539e](https://github.com/Codecademy/gamut/commit/a7f539ed083100980610542b9052d7d519a50ca9)) - -### [5.5.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.5.0...@codecademy/gamut-labs@5.5.1) (2020-11-19) - -## [5.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.4.2...@codecademy/gamut-labs@5.5.0) (2020-11-19) - - -### ✨ Features - -* add landing page hero gamut component ([#1161](https://github.com/Codecademy/gamut/issues/1161)) ([b1797b4](https://github.com/Codecademy/gamut/commit/b1797b4439af0ee8d5c1fa9f7ba6574881438ba5)) - -### [5.4.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.4.1...@codecademy/gamut-labs@5.4.2) (2020-11-19) - - -### Other Changes - -* Bump to true emotion 11 release ([#1148](https://github.com/Codecademy/gamut/issues/1148)) ([d0ba23d](https://github.com/Codecademy/gamut/commit/d0ba23d07a3a59e8b407ac3f24abedd8e8521e69)) - -### [5.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.4.0...@codecademy/gamut-labs@5.4.1) (2020-11-19) - -## [5.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.3.2...@codecademy/gamut-labs@5.4.0) (2020-11-18) - - -### ✨ Features - -* added focus trap to Popover... ([#1164](https://github.com/Codecademy/gamut/issues/1164)) ([dd8958f](https://github.com/Codecademy/gamut/commit/dd8958fc5ad7de11670d318a5c45dd09c06453d8)) - -### [5.3.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.3.1...@codecademy/gamut-labs@5.3.2) (2020-11-17) - -### [5.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.3.0...@codecademy/gamut-labs@5.3.1) (2020-11-16) - -## [5.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.2.7...@codecademy/gamut-labs@5.3.0) (2020-11-13) - - -### ✨ Features - -* **popover:** add outline prop ([8374ee4](https://github.com/Codecademy/gamut/commit/8374ee4cc21de12603a4911a66fb5b30f0792352)) - -### [5.2.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.2.6...@codecademy/gamut-labs@5.2.7) (2020-11-13) - -### [5.2.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.2.5...@codecademy/gamut-labs@5.2.6) (2020-11-13) - -### [5.2.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.2.4...@codecademy/gamut-labs@5.2.5) (2020-11-13) - -### [5.2.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.2.3...@codecademy/gamut-labs@5.2.4) (2020-11-13) - -### [5.2.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.2.2...@codecademy/gamut-labs@5.2.3) (2020-11-13) - - -### 🐛 Bug Fixes - -* **System:** Typescript memory performance fixes ([#1145](https://github.com/Codecademy/gamut/issues/1145)) ([496a122](https://github.com/Codecademy/gamut/commit/496a122602d5fede07b4cc551666c338e9a25b10)) - -### [5.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.2.1...@codecademy/gamut-labs@5.2.2) (2020-11-12) - -### [5.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.2.0...@codecademy/gamut-labs@5.2.1) (2020-11-10) - -## [5.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.1.0...@codecademy/gamut-labs@5.2.0) (2020-11-10) - - -### ✨ Features - -* **Text:** New Text primitive using system styles ([#1128](https://github.com/Codecademy/gamut/issues/1128)) ([c1aa3ce](https://github.com/Codecademy/gamut/commit/c1aa3cec67de3bc457092b1aa9f834d5746147c0)) - -## [5.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.0.1...@codecademy/gamut-labs@5.1.0) (2020-11-10) - - -### ✨ Features - -* **Styles:** Create system styles and gamut theme ([#1127](https://github.com/Codecademy/gamut/issues/1127)) ([fb9d9cd](https://github.com/Codecademy/gamut/commit/fb9d9cd6f64d5ca24025731186c009b84808e812)) - -### [5.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@5.0.0...@codecademy/gamut-labs@5.0.1) (2020-11-09) - -## [5.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.8.0...@codecademy/gamut-labs@5.0.0) (2020-11-05) - - -### ⚠ BREAKING CHANGES - -* deprecate Button and ButtonBase (#1069) - -### ✨ Features - -* deprecate Button and ButtonBase ([#1069](https://github.com/Codecademy/gamut/issues/1069)) ([172b2ba](https://github.com/Codecademy/gamut/commit/172b2ba023561e40cdc037c50402a7d6615cec64)) - -## [4.8.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.7.2...@codecademy/gamut-labs@4.8.0) (2020-11-05) - - -### ✨ Features - -* Start of the base landing page components section ([#1118](https://github.com/Codecademy/gamut/issues/1118)) ([1d4d4e1](https://github.com/Codecademy/gamut/commit/1d4d4e10897db293bba1a33af426f44864d053ee)) - - -### 🧹 Code Refactoring - -* remove disableOutsideClick prop in popover ([#1120](https://github.com/Codecademy/gamut/issues/1120)) ([9ae3c95](https://github.com/Codecademy/gamut/commit/9ae3c956d06e9af0765aece060d89b00bb2fd03c)) - -### [4.7.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.7.1...@codecademy/gamut-labs@4.7.2) (2020-11-04) - -### [4.7.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.7.0...@codecademy/gamut-labs@4.7.1) (2020-11-04) - -## [4.7.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.6.2...@codecademy/gamut-labs@4.7.0) (2020-11-02) - - -### ✨ Features - -* **Emotion:** Upgrade to Emotion 11 ([#944](https://github.com/Codecademy/gamut/issues/944)) ([547c17e](https://github.com/Codecademy/gamut/commit/547c17e22c6e5d6f9074c2e7c63c73968da4bab2)) - -### [4.6.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.6.1...@codecademy/gamut-labs@4.6.2) (2020-10-28) - -### [4.6.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.6.0...@codecademy/gamut-labs@4.6.1) (2020-10-27) - - -### 🐛 Bug Fixes - -* fixes export/import of bodyportal ([#1078](https://github.com/Codecademy/gamut/issues/1078)) ([9543ce2](https://github.com/Codecademy/gamut/commit/9543ce2292d633c337e0149b73c0e48ff0e856d4)) - -## [4.6.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.5.0...@codecademy/gamut-labs@4.6.0) (2020-10-23) - - -### ✨ Features - -* ProAltLogo ([#1071](https://github.com/Codecademy/gamut/issues/1071)) ([c608e95](https://github.com/Codecademy/gamut/commit/c608e958b57e54b4c43f241a2862a708df659594)) - -## [4.5.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.4.5...@codecademy/gamut-labs@4.5.0) (2020-10-22) - - -### ✨ Features - -* Add a popover component ([#846](https://github.com/Codecademy/gamut/issues/846)) ([baaef9d](https://github.com/Codecademy/gamut/commit/baaef9db73282e868fef4f519201b64c8f54d0a2)) - -### [4.4.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.4.4...@codecademy/gamut-labs@4.4.5) (2020-10-20) - -### [4.4.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.4.3...@codecademy/gamut-labs@4.4.4) (2020-10-20) - -### [4.4.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.4.2...@codecademy/gamut-labs@4.4.3) (2020-10-20) - -### [4.4.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.4.1...@codecademy/gamut-labs@4.4.2) (2020-10-20) - -### [4.4.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.4.0...@codecademy/gamut-labs@4.4.1) (2020-10-19) - -## [4.4.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.3.3...@codecademy/gamut-labs@4.4.0) (2020-10-19) - - -### ✨ Features - -* **Box:** make ShadowOffset customizable ([#1060](https://github.com/Codecademy/gamut/issues/1060)) ([0435253](https://github.com/Codecademy/gamut/commit/04352538399244b861ea30d634edb4a8959ac62e)) - -### [4.3.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.3.2...@codecademy/gamut-labs@4.3.3) (2020-10-16) - - -### Other Changes - -* bump a few assorted dependencies to latest ([#986](https://github.com/Codecademy/gamut/issues/986)) ([2d61eef](https://github.com/Codecademy/gamut/commit/2d61eefa4fb0d8604d99e8aae45131b93d045248)), closes [#930](https://github.com/Codecademy/gamut/issues/930) [#900](https://github.com/Codecademy/gamut/issues/900) [#987](https://github.com/Codecademy/gamut/issues/987) [#988](https://github.com/Codecademy/gamut/issues/988) [#989](https://github.com/Codecademy/gamut/issues/989) [#990](https://github.com/Codecademy/gamut/issues/990) [#991](https://github.com/Codecademy/gamut/issues/991) [#992](https://github.com/Codecademy/gamut/issues/992) [#994](https://github.com/Codecademy/gamut/issues/994) [#1002](https://github.com/Codecademy/gamut/issues/1002) [#1004](https://github.com/Codecademy/gamut/issues/1004) [#1005](https://github.com/Codecademy/gamut/issues/1005) [#1007](https://github.com/Codecademy/gamut/issues/1007) [#1006](https://github.com/Codecademy/gamut/issues/1006) [#1010](https://github.com/Codecademy/gamut/issues/1010) [#1011](https://github.com/Codecademy/gamut/issues/1011) [#996](https://github.com/Codecademy/gamut/issues/996) [#995](https://github.com/Codecademy/gamut/issues/995) [#997](https://github.com/Codecademy/gamut/issues/997) [#993](https://github.com/Codecademy/gamut/issues/993) [#1013](https://github.com/Codecademy/gamut/issues/1013) [#1014](https://github.com/Codecademy/gamut/issues/1014) [#1016](https://github.com/Codecademy/gamut/issues/1016) [#1015](https://github.com/Codecademy/gamut/issues/1015) [#1017](https://github.com/Codecademy/gamut/issues/1017) [#1008](https://github.com/Codecademy/gamut/issues/1008) [#1012](https://github.com/Codecademy/gamut/issues/1012) [#1018](https://github.com/Codecademy/gamut/issues/1018) [#1020](https://github.com/Codecademy/gamut/issues/1020) [#1021](https://github.com/Codecademy/gamut/issues/1021) [#1022](https://github.com/Codecademy/gamut/issues/1022) [#1023](https://github.com/Codecademy/gamut/issues/1023) [#1024](https://github.com/Codecademy/gamut/issues/1024) [#1025](https://github.com/Codecademy/gamut/issues/1025) [#1026](https://github.com/Codecademy/gamut/issues/1026) [#1028](https://github.com/Codecademy/gamut/issues/1028) [#1029](https://github.com/Codecademy/gamut/issues/1029) [#1031](https://github.com/Codecademy/gamut/issues/1031) [#1032](https://github.com/Codecademy/gamut/issues/1032) [#1035](https://github.com/Codecademy/gamut/issues/1035) [#1027](https://github.com/Codecademy/gamut/issues/1027) [#1034](https://github.com/Codecademy/gamut/issues/1034) [#1039](https://github.com/Codecademy/gamut/issues/1039) [#1041](https://github.com/Codecademy/gamut/issues/1041) [#1033](https://github.com/Codecademy/gamut/issues/1033) [#1042](https://github.com/Codecademy/gamut/issues/1042) [#1043](https://github.com/Codecademy/gamut/issues/1043) [#1044](https://github.com/Codecademy/gamut/issues/1044) [#1045](https://github.com/Codecademy/gamut/issues/1045) [#1047](https://github.com/Codecademy/gamut/issues/1047) [#1048](https://github.com/Codecademy/gamut/issues/1048) [#1050](https://github.com/Codecademy/gamut/issues/1050) [#1051](https://github.com/Codecademy/gamut/issues/1051) [#1052](https://github.com/Codecademy/gamut/issues/1052) [#1053](https://github.com/Codecademy/gamut/issues/1053) [#1054](https://github.com/Codecademy/gamut/issues/1054) - -### [4.3.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.3.1...@codecademy/gamut-labs@4.3.2) (2020-10-14) - - -### Other Changes - -* added aria-label prop to pro logo ([#1057](https://github.com/Codecademy/gamut/issues/1057)) ([0c5e13b](https://github.com/Codecademy/gamut/commit/0c5e13b98e6c535bde2ba78480548c6c92615d2f)) - -### [4.3.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.3.0...@codecademy/gamut-labs@4.3.1) (2020-10-14) - -## [4.3.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.2.10...@codecademy/gamut-labs@4.3.0) (2020-10-14) - - -### ✨ Features - -* **LayoutGrid:** add rowspan to LayoutGrid and fix colors for ProLogo ([#1056](https://github.com/Codecademy/gamut/issues/1056)) ([a820693](https://github.com/Codecademy/gamut/commit/a8206937a02909c776f63c4c391af7043f7cf5db)) - -### [4.2.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.2.9...@codecademy/gamut-labs@4.2.10) (2020-10-08) - - -### Other Changes - -* rename 's' styles to 'styles' ([#984](https://github.com/Codecademy/gamut/issues/984)) ([0cf7210](https://github.com/Codecademy/gamut/commit/0cf721035564f9050cdbcc9de689f149be0e96a2)) - -### [4.2.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.2.8...@codecademy/gamut-labs@4.2.9) (2020-10-08) - -### [4.2.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.2.7...@codecademy/gamut-labs@4.2.8) (2020-10-08) - -### [4.2.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.2.6...@codecademy/gamut-labs@4.2.7) (2020-10-06) - -### [4.2.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.2.5...@codecademy/gamut-labs@4.2.6) (2020-10-06) - - -### 🗑 Reverts - -* Revert "chore: set packages to have publishConfig: access: public ([#970](https://github.com/Codecademy/gamut/issues/970))" ([#981](https://github.com/Codecademy/gamut/issues/981)) ([056f5ac](https://github.com/Codecademy/gamut/commit/056f5ac0df91493c2535274ec043d6e4335d71d8)) - - -### Other Changes - -* set packages to have publishConfig: access: public ([#970](https://github.com/Codecademy/gamut/issues/970)) ([bd026a8](https://github.com/Codecademy/gamut/commit/bd026a85193dbd077d0ee8661df996d105cf709c)) -* set packages to have publishConfig: access: public (again) ([#982](https://github.com/Codecademy/gamut/issues/982)) ([294d355](https://github.com/Codecademy/gamut/commit/294d355f353dc307a400679ce849dd7b2388d95d)), closes [#970](https://github.com/Codecademy/gamut/issues/970) [#981](https://github.com/Codecademy/gamut/issues/981) - -### [4.2.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.2.4...@codecademy/gamut-labs@4.2.5) (2020-10-02) - -### [4.2.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.2.3...@codecademy/gamut-labs@4.2.4) (2020-09-29) - -### [4.2.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.2.2...@codecademy/gamut-labs@4.2.3) (2020-09-28) - -### [4.2.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.2.1...@codecademy/gamut-labs@4.2.2) (2020-09-25) - -### [4.2.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.2.0...@codecademy/gamut-labs@4.2.1) (2020-09-25) - -## [4.2.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.1.7...@codecademy/gamut-labs@4.2.0) (2020-09-25) - - -### ✨ Features - -* added new pro logo ([#957](https://github.com/Codecademy/gamut/issues/957)) ([dfa1b9b](https://github.com/Codecademy/gamut/commit/dfa1b9ba1bffe48e30a8ebcd4051585d3024c64c)) - -### [4.1.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.1.6...@codecademy/gamut-labs@4.1.7) (2020-09-24) - -### [4.1.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.1.5...@codecademy/gamut-labs@4.1.6) (2020-09-24) - -### [4.1.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.1.4...@codecademy/gamut-labs@4.1.5) (2020-09-24) - -### [4.1.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.1.3...@codecademy/gamut-labs@4.1.4) (2020-09-22) - -### [4.1.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.1.2...@codecademy/gamut-labs@4.1.3) (2020-09-22) - -### [4.1.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.1.1...@codecademy/gamut-labs@4.1.2) (2020-09-22) - -### [4.1.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.1.0...@codecademy/gamut-labs@4.1.1) (2020-09-21) - - -### Other Changes - -* Correct Navy Box Variant shadow and update imports ([#961](https://github.com/Codecademy/gamut/issues/961)) ([4c2cfa5](https://github.com/Codecademy/gamut/commit/4c2cfa5fe1c2a56e8ef61fb636215950337866c9)) - -## [4.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.0.3...@codecademy/gamut-labs@4.1.0) (2020-09-18) - - -### ✨ Features - -* **Box:** Temporary Box component ([#958](https://github.com/Codecademy/gamut/issues/958)) ([d24f196](https://github.com/Codecademy/gamut/commit/d24f196bccd04af3d80accc286d5a574c9bbf4f5)) - -### [4.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.0.2...@codecademy/gamut-labs@4.0.3) (2020-09-11) - - -### 🐛 Bug Fixes - -* Byline remove aria-labels ([#955](https://github.com/Codecademy/gamut/issues/955)) ([374904a](https://github.com/Codecademy/gamut/commit/374904a17f12f1d8bc4d82fac1bde91dea66b081)) - -### [4.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.0.1...@codecademy/gamut-labs@4.0.2) (2020-09-03) - -### [4.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@4.0.0...@codecademy/gamut-labs@4.0.1) (2020-09-02) - -## [4.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@3.0.1...@codecademy/gamut-labs@4.0.0) (2020-09-01) - - -### ⚠ BREAKING CHANGES - -* **gamut-styles:** deprecate legacy JS color variables (#940) - -### Other Changes - -* **gamut-styles:** deprecate legacy JS color variables ([#940](https://github.com/Codecademy/gamut/issues/940)) ([903de62](https://github.com/Codecademy/gamut/commit/903de62bf3086e3d51ba6dec36cc77ca482ba52f)) - -### [3.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@3.0.0...@codecademy/gamut-labs@3.0.1) (2020-08-28) - -## [3.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@2.1.0...@codecademy/gamut-labs@3.0.0) (2020-08-28) - - -### ⚠ BREAKING CHANGES - -* Swapped default font family to Apercu (#935) - -### ✨ Features - -* Swapped default font family to Apercu ([#935](https://github.com/Codecademy/gamut/issues/935)) ([ce20167](https://github.com/Codecademy/gamut/commit/ce20167524c2302cff218261d10a81eb3deb41c0)), closes [#943](https://github.com/Codecademy/gamut/issues/943) - -## [2.1.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@2.0.7...@codecademy/gamut-labs@2.1.0) (2020-08-27) - - -### ✨ Features - -* **BreakpointHooks:** Port breakpoint hooks from Monolith into Gamut Labs ([db2e22a](https://github.com/Codecademy/gamut/commit/db2e22a20abed47615a2f26e4111cb2ef3d00b96)) - -### [2.0.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@2.0.6...@codecademy/gamut-labs@2.0.7) (2020-08-27) - -### [2.0.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@2.0.5...@codecademy/gamut-labs@2.0.6) (2020-08-27) - -### [2.0.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@2.0.4...@codecademy/gamut-labs@2.0.5) (2020-08-24) - -### [2.0.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@2.0.3...@codecademy/gamut-labs@2.0.4) (2020-08-24) - -### [2.0.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@2.0.2...@codecademy/gamut-labs@2.0.3) (2020-08-21) - - -### 🐛 Bug Fixes - -* add sideEffects globs that catch all components ([#932](https://github.com/Codecademy/gamut/issues/932)) ([5cc4204](https://github.com/Codecademy/gamut/commit/5cc4204784c73b24c30de51931fb9f4d90538120)) - -### [2.0.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@2.0.1...@codecademy/gamut-labs@2.0.2) (2020-08-21) - -### [2.0.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@2.0.0...@codecademy/gamut-labs@2.0.1) (2020-08-21) - -## [2.0.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.9.5...@codecademy/gamut-labs@2.0.0) (2020-08-18) - - -### ⚠ BREAKING CHANGES - -* **Gamut:** Enable Emotion (#917) - -### ✨ Features - -* **Gamut:** Enable Emotion ([#917](https://github.com/Codecademy/gamut/issues/917)) ([11c83a5](https://github.com/Codecademy/gamut/commit/11c83a58736f080abd87019990d5c8049bdf9c9a)) - -### [1.9.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.9.4...@codecademy/gamut-labs@1.9.5) (2020-08-17) - -### [1.9.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.9.3...@codecademy/gamut-labs@1.9.4) (2020-08-14) - -### [1.9.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.9.2...@codecademy/gamut-labs@1.9.3) (2020-08-13) - - -### Other Changes - -* Migrated default exports to named ([#913](https://github.com/Codecademy/gamut/issues/913)) ([5250e0c](https://github.com/Codecademy/gamut/commit/5250e0c1a104694ec6cc44d5cab45bd401b85f56)) - -### [1.9.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.9.1...@codecademy/gamut-labs@1.9.2) (2020-08-11) - -### [1.9.1](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.9.0...@codecademy/gamut-labs@1.9.1) (2020-08-11) - - -### Other Changes - -* fix package.json artifacts ([2bb761f](https://github.com/Codecademy/gamut/commit/2bb761fa3133b858bcef7ea369f9a7b616b09c42)) - -## [1.9.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.8.7...@codecademy/gamut-labs@1.9.0) (2020-08-11) - -### [1.8.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.8.6...@codecademy/gamut-labs@1.8.7) (2020-08-06) - -### [1.8.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.8.5...@codecademy/gamut-labs@1.8.6) (2020-08-06) - -### [1.8.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.8.4...@codecademy/gamut-labs@1.8.5) (2020-08-06) - -### [1.8.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.8.3...@codecademy/gamut-labs@1.8.4) (2020-08-06) - -### [1.8.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.8.0...@codecademy/gamut-labs@1.8.3) (2020-07-29) - - -### Other Changes - -* Revert "Merge branch 'next' into master" ([#898](https://github.com/Codecademy/gamut/issues/898)) ([c055d41](https://github.com/Codecademy/gamut/commit/c055d4103ba70782ffe825053ce45e66447a220a)) -* v1.8.2 ([5fc833b](https://github.com/Codecademy/gamut/commit/5fc833b51f479f997564830a3ecec55412c96d5d)) - -## [1.8.0](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.53...@codecademy/gamut-labs@1.8.0) (2020-07-27) - - -### ✨ Features - -* Create default main export for gamut-styles [WEB-895] ([#820](https://github.com/Codecademy/gamut/issues/820)) ([be4e941](https://github.com/Codecademy/gamut/commit/be4e9415c6e14f2d6905d7f94587fc59d3d0ba45)) -* **Emotion:** Add Emotion Dependency to Next WEB-982 ([#888](https://github.com/Codecademy/gamut/issues/888)) ([d24fda1](https://github.com/Codecademy/gamut/commit/d24fda19cd7ba7af94a0a9b42a262e4843f83a2f)) - - -### Other Changes - -* Merge branch 'next' into master ([9eb2c8e](https://github.com/Codecademy/gamut/commit/9eb2c8ef3605db8efb6e96eac043eb1d046514dd)) - -### [1.7.53](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.52...@codecademy/gamut-labs@1.7.53) (2020-07-27) - -### [1.7.52](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.51...@codecademy/gamut-labs@1.7.52) (2020-07-24) - -### [1.7.51](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.50...@codecademy/gamut-labs@1.7.51) (2020-07-24) - -### [1.7.50](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.49...@codecademy/gamut-labs@1.7.50) (2020-07-22) - -### [1.7.49](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.48...@codecademy/gamut-labs@1.7.49) (2020-07-22) - -### [1.7.48](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.47...@codecademy/gamut-labs@1.7.48) (2020-07-21) - -### [1.7.47](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.46...@codecademy/gamut-labs@1.7.47) (2020-07-21) - -### [1.7.46](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.45...@codecademy/gamut-labs@1.7.46) (2020-07-21) - -### [1.7.45](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.44...@codecademy/gamut-labs@1.7.45) (2020-07-17) - - -### 🐛 Bug Fixes - -* Automatically add display names to anonymous function components ([#878](https://github.com/Codecademy/gamut/issues/878)) ([a6296fb](https://github.com/Codecademy/gamut/commit/a6296fb5e9e701e7e4a7740341e4dac6b04f0b96)) - -### [1.7.44](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.43...@codecademy/gamut-labs@1.7.44) (2020-07-17) - -### [1.7.43](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.42...@codecademy/gamut-labs@1.7.43) (2020-07-17) - -### [1.7.42](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.41...@codecademy/gamut-labs@1.7.42) (2020-07-16) - -### [1.7.41](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.40...@codecademy/gamut-labs@1.7.41) (2020-07-14) - -### [1.7.40](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.36...@codecademy/gamut-labs@1.7.40) (2020-07-13) - -### [1.7.36](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.35...@codecademy/gamut-labs@1.7.36) (2020-07-08) - -### [1.7.35](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.34...@codecademy/gamut-labs@1.7.35) (2020-07-08) - -### [1.7.34](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.33...@codecademy/gamut-labs@1.7.34) (2020-06-30) - -### [1.7.33](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.32...@codecademy/gamut-labs@1.7.33) (2020-06-30) - -### [1.7.32](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.31...@codecademy/gamut-labs@1.7.32) (2020-06-29) - -### [1.7.31](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.30...@codecademy/gamut-labs@1.7.31) (2020-06-25) - -### [1.7.30](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.29...@codecademy/gamut-labs@1.7.30) (2020-06-24) - -### [1.7.29](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.28...@codecademy/gamut-labs@1.7.29) (2020-06-23) - -### [1.7.28](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.27...@codecademy/gamut-labs@1.7.28) (2020-06-22) - -### [1.7.27](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.26...@codecademy/gamut-labs@1.7.27) (2020-06-18) - -### [1.7.26](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.25...@codecademy/gamut-labs@1.7.26) (2020-06-16) - -### [1.7.25](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.24...@codecademy/gamut-labs@1.7.25) (2020-06-16) - -### [1.7.24](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.23...@codecademy/gamut-labs@1.7.24) (2020-06-16) - -### [1.7.23](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.22...@codecademy/gamut-labs@1.7.23) (2020-06-12) - -### [1.7.22](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.21...@codecademy/gamut-labs@1.7.22) (2020-06-11) - -### [1.7.21](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.20...@codecademy/gamut-labs@1.7.21) (2020-06-10) - -### [1.7.20](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.19...@codecademy/gamut-labs@1.7.20) (2020-06-09) - -### [1.7.19](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.18...@codecademy/gamut-labs@1.7.19) (2020-06-09) - -### [1.7.18](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.17...@codecademy/gamut-labs@1.7.18) (2020-06-09) - -### [1.7.17](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.16...@codecademy/gamut-labs@1.7.17) (2020-06-08) - -### [1.7.16](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.15...@codecademy/gamut-labs@1.7.16) (2020-06-05) - -### [1.7.15](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.14...@codecademy/gamut-labs@1.7.15) (2020-06-03) - -### [1.7.14](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.13...@codecademy/gamut-labs@1.7.14) (2020-06-03) - -### [1.7.13](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.12...@codecademy/gamut-labs@1.7.13) (2020-06-01) - - -### 🐛 Bug Fixes - -* Remove alt text on Testimonial avatars. ([#822](https://github.com/Codecademy/gamut/issues/822)) ([10b46c2](https://github.com/Codecademy/gamut/commit/10b46c2fdaf9409efd1021cf57e6edb53fc83c42)) - -### [1.7.12](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.11...@codecademy/gamut-labs@1.7.12) (2020-05-22) - -### [1.7.11](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.10...@codecademy/gamut-labs@1.7.11) (2020-05-21) - -### [1.7.10](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.9...@codecademy/gamut-labs@1.7.10) (2020-05-21) - -### [1.7.9](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.8...@codecademy/gamut-labs@1.7.9) (2020-05-21) - - -### 💅 Styles - -* **Testimonial:** fix full width styling ([#814](https://github.com/Codecademy/gamut/issues/814)) ([5bccc21](https://github.com/Codecademy/gamut/commit/5bccc21ca7982f758c9063691bdf7497f3ab1ec8)) - -### [1.7.8](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.7...@codecademy/gamut-labs@1.7.8) (2020-05-20) - -### [1.7.7](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.6...@codecademy/gamut-labs@1.7.7) (2020-05-20) - -### [1.7.6](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.5...@codecademy/gamut-labs@1.7.6) (2020-05-20) - -### [1.7.5](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.4...@codecademy/gamut-labs@1.7.5) (2020-05-20) - -### [1.7.4](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.3...@codecademy/gamut-labs@1.7.4) (2020-05-19) - -### [1.7.3](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.2...@codecademy/gamut-labs@1.7.3) (2020-05-15) - -### [1.7.2](https://github.com/Codecademy/gamut/compare/@codecademy/gamut-labs@1.7.1...@codecademy/gamut-labs@1.7.2) (2020-05-15) - -### [1.7.1](https://github.com/Codecademy/gamut/compare/d1aaabf0ebefc0a4a7c0e83e803e1117bf60747d...@codecademy/gamut-labs@1.7.1) (2020-05-15) - - -### Other Changes - -* Repurposed and renamed brand-components into gamut-labs ⚗️ ([#797](https://github.com/Codecademy/gamut/issues/797)) ([d1aaabf](https://github.com/Codecademy/gamut/commit/d1aaabf0ebefc0a4a7c0e83e803e1117bf60747d)) diff --git a/packages/gamut-labs/README.md b/packages/gamut-labs/README.md deleted file mode 100644 index e0b19c6351..0000000000 --- a/packages/gamut-labs/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# ⚗️ Gamut Labs - -## Component Guidelines - -The Labs package is used for components that are more experimental or tied to brand representation. These are components that might be more frequently subject to style updates do their nature, but are not just solely used in the main Codecademy monolith app. (e.g., a brand component might also be used in a Gatsby hosted campaign page) - -See the Gamut FAQs for more details. diff --git a/packages/gamut-labs/babel.config.js b/packages/gamut-labs/babel.config.js deleted file mode 100644 index b1bcb85b9c..0000000000 --- a/packages/gamut-labs/babel.config.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - extends: '../../babel.defaults.js', - presets: ['codecademy', '@babel/preset-typescript'], - plugins: [ - [ - '@emotion/babel-plugin', - { - sourceMap: true, - autoLabel: 'always', - labelFormat: '[local]', - }, - ], - ], -}; diff --git a/packages/gamut-labs/jest.config.ts b/packages/gamut-labs/jest.config.ts deleted file mode 100644 index 46031b06ca..0000000000 --- a/packages/gamut-labs/jest.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import base from '../../jest.config.base'; - -export default base('gamut-labs', { - transform: { - '^.+\\.[tj]sx?$': 'babel-jest', - }, - setupFiles: ['/../../script/jest/base-setup.js'], - setupFilesAfterEnv: ['/../../script/jest/rtl-setup.js'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], -}); diff --git a/packages/gamut-labs/package.json b/packages/gamut-labs/package.json deleted file mode 100644 index 2d09a91b51..0000000000 --- a/packages/gamut-labs/package.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "name": "@codecademy/gamut-labs", - "description": "Brand and experimental component library for Codecademy", - "version": "35.15.14", - "author": "Codecademy Engineering ", - "sideEffects": [ - "*.css", - "*.scss", - "dist/**/[A-Z]**/[A-Z]*.js", - "dist/**/[A-Z]**/index.js" - ], - "module": "./dist/index.js", - "main": "./dist/index.js", - "files": [ - "dist" - ], - "repository": { - "type": "git", - "url": "git@github.com:Codecademy/gamut.git" - }, - "peerDependencies": { - "@emotion/react": "^11.4.0", - "@emotion/styled": "^11.3.0", - "react": "^17.0.2 || ^18.2.0", - "react-dom": "^17.0.2 || ^18.2.0" - }, - "dependencies": { - "@codecademy/gamut": "55.3.1", - "@codecademy/gamut-icons": "9.4.0", - "@codecademy/gamut-illustrations": "0.39.0", - "@codecademy/gamut-patterns": "0.9.7", - "@codecademy/gamut-styles": "16.1.2", - "@codecademy/tracking": "1.0.10", - "@codecademy/variance": "0.21.0", - "classnames": "^2.2.5", - "framer-motion": "^6.5.1", - "freezeframe": "^5.0.2", - "intersection-observer": "^0.12.0", - "lodash": "^4.17.5", - "pluralize": "8.0.0", - "react-focus-on": "^3.5.1", - "react-freezeframe": "^5.0.2", - "react-hook-form": "^7.21.2", - "react-hotkeys-hook": "^2.3.1", - "react-use": "15.3.8" - }, - "devDependencies": { - "@codecademy/gamut-tests": "5.0.6", - "@emotion/jest": "^11.3.0", - "@testing-library/dom": "^8.11.1", - "@testing-library/jest-dom": "^5.16.5", - "@testing-library/react": "^12.1.2", - "@testing-library/react-hooks": "^7.0.2", - "@testing-library/user-event": "^13.5.0", - "@types/pluralize": "0.0.29" - }, - "scripts": { - "verify": "tsc --noEmit", - "build:watch": "yarn build && onchange ./src -- yarn build", - "build": "nx build @codecademy/gamut-labs" - }, - "license": "MIT", - "publishConfig": { - "access": "public" - } -} diff --git a/packages/gamut-labs/project.json b/packages/gamut-labs/project.json deleted file mode 100644 index 68d17b21ea..0000000000 --- a/packages/gamut-labs/project.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/gamut-labs/src", - "projectType": "library", - "targets": { - "build": { - "outputs": ["{options.outputPath}"], - "executor": "nx:run-commands", - "options": { - "cwd": "packages/gamut-labs", - "outputPath": "./dist", - "commands": [ - "rm -rf ./dist", - "babel ./src --out-dir ./dist --extensions \".ts,.tsx\"", - "tsc --emitDeclarationOnly --project tsconfig.lib.json", - "cpy './src/**/*.{d.ts,scss,svg,png}' './typings/**/*.d.ts' ./dist" - ], - "parallel": false - } - }, - "test": { - "executor": "@nrwl/jest:jest", - "outputs": ["coverage/packages/gamut-labs"], - "options": { - "jestConfig": "packages/gamut-labs/jest.config.ts", - "passWithNoTests": true - } - } - }, - "tags": [] -} diff --git a/packages/gamut-labs/src/AppBar/AppBarSection.tsx b/packages/gamut-labs/src/AppBar/AppBarSection.tsx deleted file mode 100644 index 7534607ddc..0000000000 --- a/packages/gamut-labs/src/AppBar/AppBarSection.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { WithChildrenProp } from '@codecademy/gamut'; -import cx from 'classnames'; -import * as React from 'react'; - -// eslint-disable-next-line gamut/no-css-standalone -import styles from './styles/index.module.scss'; - -export interface AppBarSectionProps extends WithChildrenProp { - /** - * Position of the the section within the AppBar. - */ - position?: 'left' | 'center' | 'right'; - className?: string; -} - -export const AppBarSection: React.FC = ({ - position, - className, - children, -}) => { - const classes = cx( - styles.section, - { - [styles.sectionRight]: position === 'right', - [styles.sectionLeft]: position === 'left', - [styles.sectionCenter]: position === 'center', - }, - className - ); - return
{children}
; -}; diff --git a/packages/gamut-labs/src/AppBar/index.tsx b/packages/gamut-labs/src/AppBar/index.tsx deleted file mode 100644 index c74d3ddf85..0000000000 --- a/packages/gamut-labs/src/AppBar/index.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { ContentContainer, WithChildrenProp } from '@codecademy/gamut'; -import cx from 'classnames'; -import * as React from 'react'; - -// eslint-disable-next-line gamut/no-css-standalone -import styles from './styles/index.module.scss'; - -export interface AppBarProps extends WithChildrenProp { - className?: string; - /** - * Whether the container should be larger than the default content size. - */ - wide?: boolean; -} - -export const AppBar: React.FC = ({ - wide, - children, - className, -}) => { - const classes = cx(styles.wrapper, className); - - return ( - - {children} - - ); -}; diff --git a/packages/gamut-labs/src/AppBar/styles/index.module.scss b/packages/gamut-labs/src/AppBar/styles/index.module.scss deleted file mode 100644 index 833c416218..0000000000 --- a/packages/gamut-labs/src/AppBar/styles/index.module.scss +++ /dev/null @@ -1,38 +0,0 @@ -@import "~@codecademy/gamut-styles/utils"; - -$appbar-gutter: rem(8px); -$appbar-tab-width: rem(48px); -$appbar-z: 14; - -.wrapper { - display: flex; - align-items: center; - height: 100%; - z-index: $appbar-z; -} - -.section { - display: flex; - align-items: center; - height: 100%; - z-index: 1; -} - -.sectionRight { - justify-content: flex-end; -} - -.sectionLeft { - flex: 1; -} - -.sectionRight, -.sectionLeft { - flex: 1; -} - -.sectionCenter { - flex: 2; - justify-content: center; - text-align: center; -} diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/__tests__/AppHeaderCatalogDropdown.test.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/__tests__/AppHeaderCatalogDropdown.test.tsx deleted file mode 100644 index d53055bed7..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/__tests__/AppHeaderCatalogDropdown.test.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; -import { fireEvent } from '@testing-library/dom'; - -import { AppHeaderCatalogDropdown, KEY_CODES } from '..'; - -describe('AppHeaderCatalogDropdown', () => { - const renderView = setupRtl(AppHeaderCatalogDropdown, { - item: { - text: 'catalog', - id: 'the-catalog', - type: 'catalog-dropdown', - trackingTarget: 'fine', - }, - }); - - describe('on key down', () => { - it('makes links accessible', () => { - const { view } = renderView(); - const menuElement = view.getByText('catalog'); - - expect( - view.getAllByRole('link', { hidden: true }).length - ).toBeLessThanOrEqual(26); - menuElement.focus(); - fireEvent.keyDown(menuElement, { key: KEY_CODES.DOWN }); - - expect(view.getAllByRole('link').length).toBeLessThanOrEqual(26); - }); - it('focuses on first title and description section', () => { - const { view } = renderView(); - const menuElement = view.getByText('catalog'); - menuElement.focus(); - - fireEvent.keyDown(menuElement, { key: KEY_CODES.DOWN }); - - const [first] = view.getAllByTestId('title-description-section'); - expect(first).toHaveFocus(); - }); - }); -}); diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.tsx deleted file mode 100644 index 3c3c759eb3..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.tsx +++ /dev/null @@ -1,241 +0,0 @@ -import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; -import * as React from 'react'; - -import { - careerPaths, - topLanguages, - topSubjects, -} from '../../../lib/catalogList'; -import { - DropdownAnchor, - DropdownIcon, - StyledDropdown, - StyledText, -} from '../../shared'; -import { AppHeaderCatalogSection } from '../AppHeaderCatalogSection'; -import { AppHeaderCatalogDropdownItem, AppHeaderClickHandler } from '../types'; - -export type AppHeaderCatalogDropdownProps = { - action: AppHeaderClickHandler; - item: AppHeaderCatalogDropdownItem; - isAnon: boolean; -}; - -export const KEY_CODES = { - UP: 'ArrowUp', - DOWN: 'ArrowDown', - LEFT: 'ArrowLeft', - RIGHT: 'ArrowRight', - END: 'End', - ENTER: 'Enter', - ESC: 'Escape', - HOME: 'Home', - SPACE: ' ', - TAB: 'Tab', -} as const; - -export const AppHeaderCatalogDropdown: React.FC = ({ - action, - item, - isAnon, -}) => { - const { text, dataTestId } = item; - const containerRef = useRef(null); - const buttonRef = useRef(null); - const [isOpen, setIsOpen] = useState(false); - - const [focusIndex, setFocusIndex] = useState(0); - - const focusFirstItem = () => setFocusIndex(0); - const focusLastItem = () => setFocusIndex(itemsCount); - - const itemsCount = useMemo(() => { - const languageAndSubjectCount = - topLanguages.length + topSubjects.length + 4; // extra two for hard coded headers - return item.hideCareerPaths - ? languageAndSubjectCount - : languageAndSubjectCount + careerPaths.length; - }, [item]); - - const focusNextItem = () => { - if (focusIndex === itemsCount) { - focusFirstItem(); - } else { - setFocusIndex(focusIndex + 1); - } - }; - - const focusPreviousItem = () => { - if (focusIndex === 0) { - focusLastItem(); - } else { - setFocusIndex(focusIndex - 1); - } - }; - - const getNode = (index: number) => { - return containerRef.current?.querySelectorAll( - '[data-focusablecatalog=true]' - )[index]; - }; - - const buttonHandleKeyEvents = (event: React.KeyboardEvent) => { - switch (event.key) { - case KEY_CODES.ENTER: - case KEY_CODES.SPACE: - event.preventDefault(); - setIsOpen(true); - break; - case KEY_CODES.DOWN: - event.preventDefault(); - setIsOpen(true); - focusFirstItem(); - break; - case KEY_CODES.UP: - event.preventDefault(); - setIsOpen(true); - focusLastItem(); - break; - default: - break; - } - }; - - const menuHandleKeyEvents = (event: React.KeyboardEvent) => { - switch (event.key) { - case KEY_CODES.HOME: - event.preventDefault(); - event.stopPropagation(); - focusFirstItem(); - break; - case KEY_CODES.END: - event.preventDefault(); - event.stopPropagation(); - focusLastItem(); - break; - case KEY_CODES.UP: - event.preventDefault(); - focusPreviousItem(); - break; - case KEY_CODES.DOWN: - event.preventDefault(); - focusNextItem(); - break; - case KEY_CODES.TAB: - case KEY_CODES.LEFT: - case KEY_CODES.RIGHT: - setIsOpen(false); - break; - case KEY_CODES.ESC: - event.stopPropagation(); - handleClose(); - break; - default: - break; - } - }; - - const focusButton = () => { - buttonRef?.current?.focus(); - }; - - const toggleIsOpen = () => setIsOpen((prev) => !prev); - - const handleOnClick = (event: React.MouseEvent) => { - toggleIsOpen(); - if (!isOpen) { - action(event, item); - } - }; - - const handleClose = useCallback(() => { - setIsOpen(false); - focusButton(); - }, []); - - useEffect(() => { - const firstNode = getNode(0); - const nextNode = getNode(focusIndex); - if (firstNode && nextNode) { - if (isOpen) { - if (focusIndex >= 0 && focusIndex <= itemsCount) { - nextNode.focus(); - } - } - } - }, [focusIndex, isOpen, itemsCount]); - - useEffect(() => { - function handleClickOutside(event: MouseEvent | Event) { - const container = containerRef?.current; - const button = buttonRef?.current; - if ( - isOpen && - container && - !container.contains(event.target as Node) && - button && - !button.contains(event.target as Node) - ) { - handleClose(); - } - } - - document.addEventListener('mousedown', handleClickOutside); - document.addEventListener('blur', handleClickOutside); - return () => { - document.removeEventListener('mousedown', handleClickOutside); - document.removeEventListener('blur', handleClickOutside); - }; - }, [containerRef, handleClose, isOpen]); - - return ( - <> - - - {text} - - - - - setIsOpen(false)} - /> - - - ); -}; diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderCatalogSection/index.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderCatalogSection/index.tsx deleted file mode 100644 index 0442a095f7..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderCatalogSection/index.tsx +++ /dev/null @@ -1,298 +0,0 @@ -import { - Anchor, - Box, - Column, - FillButton, - FlexBox, - GridBox, - LayoutGrid, - Text, -} from '@codecademy/gamut'; -import { TinyBlocks } from '@codecademy/gamut-illustrations'; -import { Background, css } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import * as React from 'react'; - -import { - careerPaths, - topLanguages, - topSubjects, -} from '../../../lib/catalogList'; -import { - DescriptionSectionContainer, - LayoutGridAntiAliased, -} from '../../shared'; -import { - AppHeaderCatalogDropdownItem, - AppHeaderClickHandler, - AppHeaderItem, -} from '../types'; - -export type AppHeaderCatalogSectionProps = { - action: AppHeaderClickHandler; - item: AppHeaderCatalogDropdownItem; - ref?: React.RefObject; - role?: string; - id?: string; - keyDownEvents?: (event: React.KeyboardEvent) => void; - isOpen?: boolean; - handleClose?: () => void; -}; - -const StyledColumn = styled(Column)( - css({ - borderBottom: 1, - borderColor: 'navy-300', - }) -); - -const StyledAnchorColumn = styled(Column)( - css({ - pb: 16, - '&:last-child': { - pb: 0, - }, - }) -); - -const quizAnchorData: AppHeaderItem = { - text: 'Take our quiz', - id: 'quiz', - type: 'text-button', - href: '/explore/sorting-quiz', - trackingTarget: 'sorting_quiz', -}; - -const catalogButtonData: AppHeaderItem = { - text: 'Explore all courses', - id: 'catalog', - type: 'text-button', - href: '/catalog', - trackingTarget: 'topnav_catalog_explore_full', -}; - -const gridTemplate = `'language language subject' - 'language language subject' - 'language language subject' - 'language language subject' - 'language language subject' - 'language language subject'`; - -const responsiveGridTemplate = `'language' - 'language' - 'language' - 'language' - 'language' - 'language' - 'language' - 'language' - 'language' - 'language' - 'language' - 'language' - 'space' - 'subject' - 'subject' - 'subject' - 'subject' - 'subject' - 'subject'`; - -export const AppHeaderCatalogSection = React.forwardRef< - HTMLDivElement, - AppHeaderCatalogSectionProps ->(({ action, item, isOpen, keyDownEvents, handleClose }, ref) => { - const tabIndex = isOpen === false ? -1 : 0; - - const onClick = ( - event: React.MouseEvent, - linkItem: AppHeaderItem - ) => { - handleClose?.(); - return action(event, linkItem); - }; - - const DescriptionSection: React.FunctionComponent<{ - title: string; - subtitle: string; - }> = ({ title, subtitle }) => ( - - - {title} - - {subtitle} - - ); - - return ( - - - - - - - - ) => onClick(event, item as AppHeaderItem)} - tabIndex={tabIndex} - mt={{ _: 16, lg: 96 }} - maxWidth={170} - > - {catalogButtonData.text} - - - - - - - {topLanguages.map((item) => ( - - - ) => onClick(event, item as AppHeaderItem)} - tabIndex={tabIndex} - > - {item.text} - - - ))} - - - - {topSubjects.map((item) => ( - - - ) => onClick(event, item as AppHeaderItem)} - tabIndex={tabIndex} - > - {item.text} - - - ))} - - - - - - {!item.hideCareerPaths && ( - - - - - - - - - - {careerPaths.map((item) => ( - - - ) => onClick(event, item as AppHeaderItem)} - tabIndex={tabIndex} - > - {item.text} - - - ))} - - - - - )} - - - - - - - Not sure where to begin? - - - - ) => onClick(event, quizAnchorData)} - tabIndex={tabIndex} - ml={{ _: 0, sm: 16 }} - pt={{ _: 8, sm: 0 }} - > - {quizAnchorData.text} -  → - - - - - - ); -}); diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderDropdown/__tests__/AppHeaderDropdown.test.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderDropdown/__tests__/AppHeaderDropdown.test.tsx deleted file mode 100644 index a434ad9e5b..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderDropdown/__tests__/AppHeaderDropdown.test.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; -import { fireEvent } from '@testing-library/react'; - -import { createMockAppHeaderLinkItem } from '../../../mockAppHeaderItems'; -import { AppHeaderDropdown } from '..'; - -const testDropdownTexts = ['Test SubLink 1 Text', 'Test Sublink 2 Text']; -const testDropdownUrls = ['test-sublink-url-1', 'test-sublink-url-2']; - -const renderView = setupRtl(AppHeaderDropdown, { - action: jest.fn(), - item: { - dataTestId: '', - id: 'target-link', - text: 'Test Link', - popover: [ - createMockAppHeaderLinkItem( - 'link-0', - testDropdownUrls[0], - testDropdownTexts[0] - ), - createMockAppHeaderLinkItem( - 'link-1', - testDropdownUrls[1], - testDropdownTexts[1] - ), - ], - trackingTarget: '', - type: 'dropdown', - }, -}); - -describe('AppHeaderDropdown', () => { - it('displays sublinks text upon expanding the dropdown', () => { - const { view } = renderView(); - fireEvent.click(view.getByRole('button')); - view.getByText(testDropdownTexts[0]); - view.getByText(testDropdownTexts[1]); - }); - - it('sublinks link to the provided hrefs', () => { - const { view } = renderView(); - fireEvent.click(view.getByRole('button')); - expect( - view.getAllByRole('menuitem').map((node) => node.getAttribute('href')) - ).toStrictEqual(testDropdownUrls); - }); -}); diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderDropdown/index.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderDropdown/index.tsx deleted file mode 100644 index 41f2d8f807..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderDropdown/index.tsx +++ /dev/null @@ -1,279 +0,0 @@ -import { IconButton } from '@codecademy/gamut'; -import { css } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; -import * as React from 'react'; -import { useIsomorphicLayoutEffect } from 'react-use'; - -import { Avatar } from '../../../Avatar'; -import { - DropdownAnchor, - DropdownIcon, - StyledDropdown, - StyledText, -} from '../../shared'; -import { AppHeaderLinkSections } from '../AppHeaderLinkSections'; -import { AppHeaderClickHandler, AppHeaderDropdownItem } from '../types'; - -const StyledLinkSection = styled(AppHeaderLinkSections)( - css({ - padding: `0.75rem 0`, - position: `absolute`, - }) -); - -export type AppHeaderDropdownProps = { - action: AppHeaderClickHandler; - item: AppHeaderDropdownItem; - onKeyDown?: (event: React.KeyboardEvent) => void; -}; - -const KEY_CODES = { - UP: 'ArrowUp', - DOWN: 'ArrowDown', - LEFT: 'ArrowLeft', - RIGHT: 'ArrowRight', - END: 'End', - ENTER: 'Enter', - ESC: 'Escape', - HOME: 'Home', - SPACE: ' ', - TAB: 'Tab', -} as const; - -export const AppHeaderDropdown: React.FC = ({ - action, - item, -}) => { - const listRef = useRef(null); - const buttonRef = useRef(null); - - const [dimensions, setDimensions] = useState({ height: 0, width: 0 }); - const [isOpen, setIsOpen] = useState(false); - - const [focusIndex, setFocusIndex] = useState(0); - - const focusFirstItem = () => setFocusIndex(0); - const focusLastItem = () => setFocusIndex(itemsCount); - - const itemsCount = useMemo(() => [...item.popover].flat().length - 1, [item]); - - const focusNextItem = () => { - if (focusIndex === itemsCount) { - focusFirstItem(); - } else { - setFocusIndex(focusIndex + 1); - } - }; - - const focusPreviousItem = () => { - if (focusIndex === 0) { - focusLastItem(); - } else { - setFocusIndex(focusIndex - 1); - } - }; - - const focusButton = () => { - buttonRef?.current?.focus(); - }; - - const getNode = (index: number) => { - const children = listRef?.current?.childNodes[index].childNodes; - if (children) { - const nodeList = Array.from(children); - return nodeList.find( - (node) => node.nodeName === 'A' - ) as HTMLAnchorElement; - } - }; - - const toggleIsOpen = () => setIsOpen((prev) => !prev); - - const handleOnClick = (event: React.MouseEvent) => { - toggleIsOpen(); - if (!isOpen) { - action(event, item); - } - }; - - const handleClose = useCallback(() => { - setIsOpen(false); - focusButton(); - }, []); - - const buttonHandleKeyEvents = (event: React.KeyboardEvent) => { - switch (event.key) { - case KEY_CODES.ENTER: - case KEY_CODES.SPACE: - event.preventDefault(); - setIsOpen(true); - break; - case KEY_CODES.DOWN: - event.preventDefault(); - setIsOpen(true); - focusFirstItem(); - break; - case KEY_CODES.UP: - event.preventDefault(); - setIsOpen(true); - focusLastItem(); - break; - default: - break; - } - }; - - const menuHandleKeyEvents = (event: React.KeyboardEvent) => { - switch (event.key) { - case KEY_CODES.HOME: - event.preventDefault(); - event.stopPropagation(); - focusFirstItem(); - break; - case KEY_CODES.END: - event.preventDefault(); - event.stopPropagation(); - focusLastItem(); - break; - case KEY_CODES.UP: - event.preventDefault(); - focusPreviousItem(); - break; - case KEY_CODES.DOWN: - event.preventDefault(); - focusNextItem(); - break; - case KEY_CODES.TAB: - case KEY_CODES.LEFT: - case KEY_CODES.RIGHT: - setIsOpen(false); - break; - case KEY_CODES.ESC: - event.stopPropagation(); - handleClose(); - break; - default: - break; - } - }; - - useEffect(() => { - const firstNode = getNode(0); - const nextNode = getNode(focusIndex); - - if (firstNode && nextNode) { - if (isOpen) { - if (focusIndex >= 0 && focusIndex <= itemsCount) { - nextNode.focus(); - } - } - } - }, [focusIndex, isOpen, itemsCount]); - - useIsomorphicLayoutEffect(() => { - if (listRef.current) { - const { height, width } = listRef.current.getBoundingClientRect(); - setDimensions({ height, width }); - } - }, [listRef, isOpen]); - - useEffect(() => { - function handleClickOutside(event: MouseEvent | Event) { - const list = listRef?.current; - const button = buttonRef?.current; - if ( - isOpen && - list && - !list.contains(event.target as Node) && - button && - !button.contains(event.target as Node) - ) { - handleClose(); - } - } - - document.addEventListener('mousedown', handleClickOutside); - document.addEventListener('blur', handleClickOutside); - return () => { - document.removeEventListener('mousedown', handleClickOutside); - document.removeEventListener('blur', handleClickOutside); - }; - }, [listRef, isOpen, handleClose]); - - const isProfileDropdown = item.type === 'profile-dropdown'; - - const clickTarget = isProfileDropdown ? ( - - - - ) : ( - - - {item.text} - - - - ); - - return ( - <> - {clickTarget} - - - - - ); -}; diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLink/__tests__/AppHeaderLink.test.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLink/__tests__/AppHeaderLink.test.tsx deleted file mode 100644 index de29f29f22..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLink/__tests__/AppHeaderLink.test.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import { Badge } from '@codecademy/gamut'; -import { setupRtl } from '@codecademy/gamut-tests'; -import { fireEvent } from '@testing-library/react'; - -import { createMockAppHeaderLinkItem } from '../../../mockAppHeaderItems'; -import { AppHeaderLink } from '..'; - -const testText = 'Test Link'; -const action = jest.fn(); - -const item = createMockAppHeaderLinkItem('test-link', 'test-url', testText); - -const renderView = setupRtl(AppHeaderLink, { - action, - item: createMockAppHeaderLinkItem('test-link', 'test-url', testText), -}); - -describe('AppHeaderLink', () => { - it('calls action() when clicked', () => { - const { view } = renderView(); - - fireEvent.click(view.getByRole('menuitem')); - - expect(action).toHaveBeenCalled(); - }); - - it('renders badge when badge prop is included', () => { - const { view } = renderView({ - item: { ...item, badge: New }, - }); - - view.getByText('New'); - }); - - it('does not render badge when badge prop is not included', () => { - const { view } = renderView(); - - expect(view.queryByText('New')).toBeNull(); - }); -}); diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLink/index.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLink/index.tsx deleted file mode 100644 index daff3da70a..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLink/index.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import { Anchor, AnchorProps } from '@codecademy/gamut'; -import * as React from 'react'; - -import { appHeaderMobileBreakpoint } from '../../shared'; -import { AppHeaderClickHandler, AppHeaderLinkItem } from '../types'; - -export type AppHeaderLinkProps = { - action: AppHeaderClickHandler; - item: AppHeaderLinkItem; - showIcon?: boolean; - tabIndex?: string; - onKeyDown?: (event: React.KeyboardEvent) => void; -} & AnchorProps; - -export const AppHeaderLink: React.FC = ({ - action, - item, - showIcon = false, - mx = { _: 0, [appHeaderMobileBreakpoint]: 24 }, - py = { _: 16, [appHeaderMobileBreakpoint]: 8 }, - onKeyDown, - ...props -}) => { - const Icon = item.icon; - - return ( - action(event, item)} - onKeyDown={onKeyDown} - role="menuitem" - target={item.newTab ? 'blank' : ''} - variant="interface" - alignContent="center" - alignItems="center" - display="flex" - fontWeight="normal" - lineHeight="base" - minWidth="0" - textAlign="left" - whiteSpace="nowrap" - // makes sure this is level with our dropdowns, which have a 1px height differential - mb={{ _: 0, [appHeaderMobileBreakpoint]: 1 as any }} - mx={mx} - py={py} - {...props} - > - {showIcon && Icon && } - {item.text} - {item.badge} - - ); -}; diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLinkSections/index.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLinkSections/index.tsx deleted file mode 100644 index 7cd58f0027..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLinkSections/index.tsx +++ /dev/null @@ -1,114 +0,0 @@ -import { ContentContainer } from '@codecademy/gamut'; -import { css, states } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import * as React from 'react'; - -import { AppHeaderLink } from '../AppHeaderLink'; -import { - AppHeaderClickHandler, - AppHeaderDropdownItem, - AppHeaderLinkItem, -} from '../types'; - -export type AppHeaderLinkSectionsProps = { - action: AppHeaderClickHandler; - item: AppHeaderDropdownItem; - ref?: React.RefObject; - role?: string; - id?: string; - style?: {}; - showIcon?: boolean; - onKeyDown?: (event: React.KeyboardEvent) => void; - onFocus?: () => void; - onBlur?: () => void; - mobile?: boolean; -}; - -type LinkComponentProps = { - action: AppHeaderClickHandler; - link: AppHeaderLinkItem; - showLineBreak?: boolean; - showIcon?: boolean; - onKeyDown?: (event: React.KeyboardEvent) => void; -}; - -type StyledListItemProps = { - showLineBreak?: boolean; -}; - -const StyledList = styled.ul( - css({ - listStyle: `none`, - padding: 0, - }) -); - -const StyledListItem = styled.li( - states({ - showLineBreak: { - '&:before': { - bg: `gray-600`, - content: `''`, - display: `block`, - height: `1px`, - margin: `0.5rem 1.5rem`, - width: `calc(100% - 3rem)`, - }, - }, - }) -); - -const LinkComponent: React.FC = ({ - action, - link, - showIcon = false, - showLineBreak = false, - onKeyDown, -}) => ( - - - -); - -export const AppHeaderLinkSections = React.forwardRef< - HTMLUListElement, - AppHeaderLinkSectionsProps ->( - ( - { action, item, showIcon = false, onKeyDown, mobile = false, ...props }, - ref - ) => ( - - - {item.type === 'profile-dropdown' - ? item.popover.map((linkSection: AppHeaderLinkItem[], sectionIndex) => - linkSection.map((link: AppHeaderLinkItem, linkIndex) => ( - - )) - ) - : item.popover.map((link: AppHeaderLinkItem) => ( - - ))} - - - ) -); diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderListItem/index.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderListItem/index.tsx deleted file mode 100644 index 7596ba46e9..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderListItem/index.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { Box, BoxProps } from '@codecademy/gamut'; -import { css } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import * as React from 'react'; - -export const StyledListItem = styled(Box)( - css({ - display: `flex`, - justifyContent: `center`, - flexDirection: `column`, - position: `relative`, - - '&:first-of-type': { - ml: { md: 0 }, - }, - '&:last-of-type': { - mr: { md: 0 }, - }, - }) -); - -type AppHeaderListItemProps = { - onBlur?: () => void; - onFocus?: () => void; -} & BoxProps; - -export const AppHeaderListItem: React.FC = ({ - children, - ...props -}) => ( - - {children} - -); diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLogo/__tests__/AppHeaderLogo.test.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLogo/__tests__/AppHeaderLogo.test.tsx deleted file mode 100644 index 9d7b688660..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLogo/__tests__/AppHeaderLogo.test.tsx +++ /dev/null @@ -1,100 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; -import { fireEvent } from '@testing-library/dom'; - -import { AppHeaderLogoItem } from '../../types'; -import { AppHeaderLogo } from '..'; - -const testUrl = 'https://codecademy.com'; -const action = jest.fn(); - -const item: AppHeaderLogoItem = { - id: '1dfa', - href: testUrl, - type: 'logo', - pro: false, - enterprise: false, - trackingTarget: 'tracking target', -}; - -const renderView = setupRtl(AppHeaderLogo, { - action, - item, -}); - -describe('AppHeaderLogo', () => { - it('renders a logo', () => { - const { view } = renderView(); - view.getByTitle('Codecademy Logo'); - }); - - describe('when item.checkMini is set to true', () => { - it('shows mini logo when window width is within 1200', () => { - global.innerWidth = 1200; - - const { view } = renderView({ - item: { ...item, pro: true, checkMini: true }, - }); - view.getByTitle('Codecademy Logo Mini'); - }); - - it('shows mini logo when window width is within 1260', () => { - global.innerWidth = 1260; - - const { view } = renderView({ - item: { ...item, pro: true, checkMini: true }, - }); - view.getByTitle('Codecademy Logo Mini'); - }); - - it('does NOT show the mini logo when window width is 1199 (outside the 1200-1260 range)', () => { - global.innerWidth = 1199; - - const { view } = renderView({ - item: { ...item, pro: false, checkMini: true }, - }); - view.getByTitle('Codecademy Logo'); - }); - - it('does NOT show the mini logo when window width is 1261 (outside the 1200-1260 range)', () => { - global.innerWidth = 1261; - - const { view } = renderView({ - item: { ...item, pro: true, checkMini: true }, - }); - view.getByTitle('Codecademy Pro Logo'); - }); - }); - - it('does NOT show the mini logo even if in the 1200-1260 range when item.checkMini is not set', () => { - global.innerWidth = 1230; - - const { view } = renderView({ item: { ...item, pro: false } }); - view.getByTitle('Codecademy Logo'); - }); - - it('does NOT show the mini logo even if in the 1200-1260 range when item.checkMini is false', () => { - global.innerWidth = 1230; - - const { view } = renderView({ - item: { ...item, pro: true, checkMini: false }, - }); - view.getByTitle('Codecademy Pro Logo'); - }); - - it('shows the pro logo when user has pro subscription', () => { - const { view } = renderView({ item: { ...item, pro: true } }); - view.getByTitle('Codecademy Pro Logo'); - }); - - it('links to the provided href', () => { - const { view } = renderView(); - const link = view.getByRole('menuitem'); - expect(link).toHaveAttribute('href', testUrl); - }); - - it('calls action() when clicked', () => { - const { view } = renderView(); - fireEvent.click(view.getByRole('menuitem')); - expect(action).toHaveBeenCalled(); - }); -}); diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLogo/index.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLogo/index.tsx deleted file mode 100644 index dcb897b2b4..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderLogo/index.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import { Anchor, Logo } from '@codecademy/gamut'; -import { useEffect, useState } from 'react'; -import * as React from 'react'; - -import { AppHeaderClickHandler, AppHeaderLogoItem } from '../types'; - -const getLogoVariant = (item: AppHeaderLogoItem, showMini: boolean) => { - if (item.checkMini && showMini) return 'mini'; - if (item.enterprise) return 'enterprise'; - return item.pro ? 'pro' : 'default'; -}; - -export type AppHeaderLogoProps = { - action: AppHeaderClickHandler; - item: AppHeaderLogoItem; -}; - -export const AppHeaderLogo: React.FC = ({ - action, - item, -}) => { - const [showMini, setShowMini] = useState(false); - - useEffect(() => { - if (!item.checkMini) { - return; - } - const handleResize = () => { - const shouldShowMini = - window.innerWidth <= 1260 && window.innerWidth >= 1200; - // avoid unnecessary setState actions if val doesnt change - if (showMini !== shouldShowMini) { - setShowMini(shouldShowMini); - } - }; - window.addEventListener('resize', handleResize); - handleResize(); - // Remove event listener on cleanup - return () => window.removeEventListener('resize', handleResize); - }, [item.checkMini, showMini]); - - return ( - action(event, item)} - href={item.href} - tabIndex="0" - role="menuitem" - > - - - ); -}; diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/index.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/index.tsx deleted file mode 100644 index d74185a10a..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/index.tsx +++ /dev/null @@ -1,234 +0,0 @@ -import { useCallback, useEffect, useRef, useState } from 'react'; -import * as React from 'react'; - -import { headerResourcesList } from '../../../lib/resourcesList'; -import { - DropdownAnchor, - DropdownIcon, - StyledDropdown, - StyledText, -} from '../../shared'; -import { AppHeaderResourcesSection } from '../AppHeaderResourcesSection'; -import { - AppHeaderClickHandler, - AppHeaderResourcesDropdownItem, -} from '../types'; - -export type AppHeaderResourceDropdownProps = { - action: AppHeaderClickHandler; - item: AppHeaderResourcesDropdownItem; - isAnon: Boolean; -}; - -export const KEY_CODES = { - UP: 'ArrowUp', - DOWN: 'ArrowDown', - LEFT: 'ArrowLeft', - RIGHT: 'ArrowRight', - END: 'End', - ENTER: 'Enter', - ESC: 'Escape', - HOME: 'Home', - SPACE: ' ', - TAB: 'Tab', -} as const; - -export const AppHeaderResourcesDropdown: React.FC = ({ - action, - item, - isAnon, -}) => { - const { text, dataTestId } = item; - const containerRef = useRef(null); - const buttonRef = useRef(null); - const [isOpen, setIsOpen] = useState(false); - - const [focusIndex, setFocusIndex] = useState(0); - - const items = headerResourcesList.map((item) => item.data.length); - const itemsCount = - items.reduce((prevLength, currLength) => prevLength + currLength) + 4; // extra for hardcoded headers and descriptions - const focusFirstItem = () => setFocusIndex(0); - const focusLastItem = () => setFocusIndex(itemsCount); - - const focusNextItem = () => { - if (focusIndex === itemsCount) { - focusFirstItem(); - } else { - setFocusIndex(focusIndex + 1); - } - }; - - const focusPreviousItem = () => { - if (focusIndex === 0) { - focusLastItem(); - } else { - setFocusIndex(focusIndex - 1); - } - }; - - const getNode = (index: number) => { - return containerRef.current?.querySelectorAll( - '[data-focusableresource=true]' - )[index]; - }; - - const buttonHandleKeyEvents = (event: React.KeyboardEvent) => { - switch (event.key) { - case KEY_CODES.ENTER: - case KEY_CODES.SPACE: - event.preventDefault(); - setIsOpen(true); - break; - case KEY_CODES.DOWN: - event.preventDefault(); - setIsOpen(true); - focusFirstItem(); - break; - case KEY_CODES.UP: - event.preventDefault(); - setIsOpen(true); - focusLastItem(); - break; - default: - break; - } - }; - - const menuHandleKeyEvents = (event: React.KeyboardEvent) => { - switch (event.key) { - case KEY_CODES.HOME: - event.preventDefault(); - event.stopPropagation(); - focusFirstItem(); - break; - case KEY_CODES.END: - event.preventDefault(); - event.stopPropagation(); - focusLastItem(); - break; - case KEY_CODES.UP: - event.preventDefault(); - focusPreviousItem(); - break; - case KEY_CODES.DOWN: - event.preventDefault(); - focusNextItem(); - break; - case KEY_CODES.TAB: - case KEY_CODES.LEFT: - case KEY_CODES.RIGHT: - setIsOpen(false); - break; - case KEY_CODES.ESC: - event.stopPropagation(); - handleClose(); - break; - default: - break; - } - }; - - const focusButton = () => { - buttonRef?.current?.focus(); - }; - - const toggleIsOpen = () => setIsOpen((prev) => !prev); - - const handleOnClick = (event: React.MouseEvent) => { - toggleIsOpen(); - if (!isOpen) { - action(event, item); - } - }; - - const handleClose = useCallback(() => { - setIsOpen(false); - focusButton(); - }, []); - - useEffect(() => { - const firstNode = getNode(0); - const nextNode = getNode(focusIndex); - if (firstNode && nextNode) { - if (isOpen) { - if (focusIndex >= 0 && focusIndex <= itemsCount) { - nextNode.focus(); - } - } - } - }, [focusIndex, isOpen, itemsCount]); - - useEffect(() => { - function handleClickOutside(event: MouseEvent | Event) { - const container = containerRef?.current; - const button = buttonRef?.current; - if ( - isOpen && - container && - !container.contains(event.target as Node) && - button && - !button.contains(event.target as Node) - ) { - handleClose(); - } - } - - document.addEventListener('mousedown', handleClickOutside); - document.addEventListener('blur', handleClickOutside); - return () => { - document.removeEventListener('mousedown', handleClickOutside); - document.removeEventListener('blur', handleClickOutside); - }; - }, [containerRef, handleClose, isOpen]); - - return ( - <> - - - {text} - - - - - setIsOpen(false)} - /> - - - ); -}; diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderResourcesSection/index.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderResourcesSection/index.tsx deleted file mode 100644 index 5c7b3ddd85..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/AppHeaderResourcesSection/index.tsx +++ /dev/null @@ -1,149 +0,0 @@ -import { Anchor, Column, FlexBox, LayoutGrid, Text } from '@codecademy/gamut'; -import { Background, css } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import * as React from 'react'; - -import { headerResourcesList } from '../../../lib/resourcesList'; -import { - DescriptionSectionContainer, - LayoutGridAntiAliased, -} from '../../shared'; -import { AppHeaderClickHandler, AppHeaderLinkItem } from '../types'; - -export type AppHeaderResourcesSectionProps = { - action: AppHeaderClickHandler; - ref?: React.RefObject; - role?: string; - id?: string; - keyDownEvents?: (event: React.KeyboardEvent) => void; - isOpen?: boolean; - handleClose?: () => void; -}; - -const StyledColumn = styled(Column)( - css({ - borderBottom: 1, - borderColor: 'navy-300', - }) -); - -export const AppHeaderResourcesSection = React.forwardRef< - HTMLDivElement, - AppHeaderResourcesSectionProps ->(({ action, isOpen, keyDownEvents, handleClose }, ref) => { - const tabIndex = isOpen === false ? -1 : 0; - - const onClick = ( - event: React.MouseEvent, - linkItem: AppHeaderLinkItem - ) => { - handleClose?.(); - return action(event, linkItem); - }; - - const DescriptionSection: React.FunctionComponent<{ - title: string; - subtitle?: string; - }> = ({ title, subtitle }) => ( - - - {title} - - {subtitle && {subtitle}} - - ); - - return ( - - {headerResourcesList.map((section) => ( - - - - - - {section.link && ( - onClick(event, section.link!)} - tabIndex={tabIndex} - mt={{ _: 24, lg: section.description ? 24 : 48 }} - target={section.link.newTab ? '_blank' : '_self'} - > - {section.link.text} -  → - - )} - - - - - {section.data.map((item) => { - const { id, href, text, badge, newTab } = item; - return ( - - onClick(event, item)} - tabIndex={tabIndex} - pb={0} - target={newTab ? '_blank' : '_self'} - > - {'description' in item ? ( - <> - - - {text} - - {badge} - - - {item.description} - - - ) : ( - - {text} - - )} - - - ); - })} - - - - - ))} - - ); -}); diff --git a/packages/gamut-labs/src/AppHeader/AppHeaderElements/types.tsx b/packages/gamut-labs/src/AppHeader/AppHeaderElements/types.tsx deleted file mode 100644 index 48e3e9eff8..0000000000 --- a/packages/gamut-labs/src/AppHeader/AppHeaderElements/types.tsx +++ /dev/null @@ -1,117 +0,0 @@ -import { BadgeProps } from '@codecademy/gamut'; -import { GamutIconProps } from '@codecademy/gamut-icons'; -import { ReactNode } from 'react'; - -export type AppHeaderItem = - | AppHeaderItemWithHref - | AppHeaderSimpleDropdownItem - | AppHeaderProfileDropdownItem - | AppHeaderRenderElementItem - | AppHeaderCatalogDropdownItem - | AppHeaderDescriptiveLinkItem - | AppHeaderResourcesDropdownItem; - -export type AppHeaderItemWithHref = - | AppHeaderLogoItem - | AppHeaderLinkItem - | AppHeaderTextButtonItem - | AppHeaderFillButtonItem; - -type AppHeaderBaseItem = { - dataTestId?: string; - id: string; - redirect?: boolean; - type: Type; -}; - -type AppHeaderBaseHrefItem = AppHeaderBaseItem & { - href: string; - trackingTarget: string; -}; - -export type AppHeaderLogoItem = AppHeaderBaseHrefItem<'logo'> & { - enterprise: boolean; - pro: boolean; - checkMini?: boolean; -}; - -export type AppHeaderLinkItem = AppHeaderBaseHrefItem<'link'> & { - icon?: React.ComponentType; - newTab?: boolean; - text: string; - topSeparator?: boolean; - badge?: React.ReactElement; -}; - -export type AppHeaderTextButtonItem = AppHeaderBaseHrefItem<'text-button'> & { - text: string; -}; - -export type AppHeaderFillButtonItem = AppHeaderBaseHrefItem<'fill-button'> & { - text: string; -}; - -export type AppHeaderDropdownItem = - | AppHeaderSimpleDropdownItem - | AppHeaderProfileDropdownItem; - -export type AppHeaderSimpleDropdownItem = AppHeaderBaseItem<'dropdown'> & { - icon?: React.ComponentType; - popover: AppHeaderLinkItem[]; - text: string; - trackingTarget: string; -}; - -export type AppHeaderProfileDropdownItem = AppHeaderBaseItem<'profile-dropdown'> & { - avatar: string; - userDisplayName: string; - popover: AppHeaderLinkItem[][]; - text: string; - trackingTarget: string; -}; - -export type AppHeaderRenderElementItem = AppHeaderBaseItem<'render-element'> & { - renderElement: () => ReactNode; -}; - -export type AppHeaderCatalogDropdownItem = AppHeaderBaseItem<'catalog-dropdown'> & { - icon?: React.ComponentType; - text: string; - trackingTarget: string; - hideCareerPaths?: boolean; -}; - -export type AppHeaderResourcesDropdownItem = AppHeaderBaseItem<'resources-dropdown'> & { - icon?: React.ComponentType; - text: string; - trackingTarget: string; - hideCareerPaths?: boolean; -}; - -export type AppHeaderClickHandler = ( - event: React.MouseEvent, - item: ItemType -) => void; - -export const isAppHeaderItemWithHref = ( - item: AppHeaderItem -): item is AppHeaderItemWithHref => !!(item as AppHeaderItemWithHref).href; - -export type AppHeaderDescriptiveLinkItem = AppHeaderLinkItem & { - description: string; -}; - -export type AppHeaderResourcesDataItem = { - title: string; - description?: string; - link?: AppHeaderLinkItem; - data: (AppHeaderLinkItem | AppHeaderDescriptiveLinkItem)[]; -}; - -export type AppFooterResourcesDataItem = { - id: string; - href: string; - trackingTarget: string; - text: string; - newTab?: boolean; -}; diff --git a/packages/gamut-labs/src/AppHeader/Search/SearchPane.tsx b/packages/gamut-labs/src/AppHeader/Search/SearchPane.tsx deleted file mode 100644 index 2429b63193..0000000000 --- a/packages/gamut-labs/src/AppHeader/Search/SearchPane.tsx +++ /dev/null @@ -1,196 +0,0 @@ -import { - Box, - ContentContainer, - FlexBox, - FocusTrap, - Text, - TextButton, -} from '@codecademy/gamut'; -import { SearchIcon, SupportIcon } from '@codecademy/gamut-icons'; -import { css } from '@codecademy/gamut-styles'; -import { useTheme } from '@emotion/react'; -import styled from '@emotion/styled'; -import { camelCase } from 'lodash'; -import { useEffect, useRef, useState } from 'react'; -import * as React from 'react'; - -export type SearchPaneProps = { - onSearch: (query: string) => void; - onTrackingClick: (target: string) => void; - toggleSearch: () => void; -}; - -const searchTerms = [ - 'Data Science', - 'Python', - 'Web Development', - 'HTML', - 'Java', -]; - -const Form = Box.withComponent('form'); -const Input = Box.withComponent('input'); - -const QueryContainer = styled(ContentContainer)( - css({ - display: 'flex', - pb: 0, - pt: 16, - width: '100%', - }) -); - -const SuggestionContainer = styled(ContentContainer)( - css({ - pb: 24, - pt: 16, - }) -); - -const StyledInput = styled(Input)( - css({ - outline: `none`, - }) -); - -export const SearchPane: React.FC = ({ - onSearch, - onTrackingClick, - toggleSearch, -}) => { - const theme = useTheme(); - const [value, setValue] = useState(''); - const searchElementRef = useRef(null); - const inputRef = useRef(null); - - const handleOutsideClick = (e: MouseEvent) => { - const target = e.target as Element; - if ( - searchElementRef.current?.contains(target) || - document.querySelector('[data-testid="header-search"]')?.contains(target) - ) { - return; - } - - toggleSearch(); - }; - - const navigateToSearch = (searchTerm: string) => { - onSearch(searchTerm); - toggleSearch(); - }; - - const handleChange: React.ChangeEventHandler = (event) => { - setValue(event.target.value); - }; - - const handleSubmit: React.FormEventHandler = (event) => { - event.preventDefault(); - navigateToSearch(value); - }; - - useEffect(() => { - inputRef.current?.focus(); - }, []); - - return ( - <> - - - - - - - -
- event.stopPropagation()} - placeholder="Search our catalog" - ref={inputRef} - type="search" - value={value} - width="100%" - /> - -
-
-
- - - Popular Searches - - -
- {searchTerms.map((searchTerm) => ( - { - navigateToSearch(searchTerm); - onTrackingClick( - `popular_search_term_${camelCase(searchTerm)}` - ); - }} - > - {searchTerm} - - ))} -
- onTrackingClick('help_center')} - > - Help Center - -
-
-
-
- - ); -}; diff --git a/packages/gamut-labs/src/AppHeader/Search/__tests__/SearchPane.test.tsx b/packages/gamut-labs/src/AppHeader/Search/__tests__/SearchPane.test.tsx deleted file mode 100644 index b642f88483..0000000000 --- a/packages/gamut-labs/src/AppHeader/Search/__tests__/SearchPane.test.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; -import userEvent from '@testing-library/user-event'; - -import { SearchPane } from '../SearchPane'; - -const renderView = setupRtl(SearchPane, { - onSearch: jest.fn(), - onTrackingClick: jest.fn(), - toggleSearch: jest.fn(), -}); - -describe('SearchPane', () => { - it('calls toggleClose when the hidden background is clicked', () => { - const { props, view } = renderView(); - - userEvent.click(view.container.firstElementChild!); - - expect(props.toggleSearch).toHaveBeenCalled(); - }); - - it('triggers a search when the form is submitted', () => { - const { props, view } = renderView(); - const value = 'abc'; - - userEvent.type(view.getByRole('searchbox'), `${value}{enter}`); - - expect(props.onSearch).toHaveBeenCalledWith(value); - expect(props.toggleSearch).toHaveBeenCalled(); - }); - - it('fires a tracking event when a term button is clicked', () => { - const { props, view } = renderView(); - - userEvent.click(view.getByText('Web Development')); - - expect(props.onTrackingClick).toHaveBeenCalledWith( - 'popular_search_term_webDevelopment' - ); - }); - - it('fires a tracking event when the help button is clicked', () => { - const { props, view } = renderView(); - - userEvent.click(view.getByText(/Help Center$/)); - - expect(props.onTrackingClick).toHaveBeenCalledWith('help_center'); - }); -}); diff --git a/packages/gamut-labs/src/AppHeader/Search/useHeaderSearch.tsx b/packages/gamut-labs/src/AppHeader/Search/useHeaderSearch.tsx deleted file mode 100644 index 1b6c552e66..0000000000 --- a/packages/gamut-labs/src/AppHeader/Search/useHeaderSearch.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { IconButton } from '@codecademy/gamut'; -import { SearchIcon } from '@codecademy/gamut-icons'; -import { useState } from 'react'; - -import { AnimatedHeaderZone } from '../shared'; -import { SearchPane } from './SearchPane'; - -export type AppHeaderSearch = { - onEnable: () => void; - onSearch: (query: string) => void; - onTrackingClick: (target: string) => void; -}; - -export const useHeaderSearch = ({ - onEnable, - onSearch, - onTrackingClick, -}: AppHeaderSearch) => { - const [isSearchVisible, setIsSearchVisible] = useState(false); - - const toggleSearch = () => { - if (!isSearchVisible) { - onEnable(); - } - - setIsSearchVisible((oldIsSearchVisible) => !oldIsSearchVisible); - }; - - return [ - { - id: 'search', - type: 'render-element', - renderElement: () => ( - - ), - }, - - - , - ] as const; -}; diff --git a/packages/gamut-labs/src/AppHeader/__tests__/AppHeader.test.tsx b/packages/gamut-labs/src/AppHeader/__tests__/AppHeader.test.tsx deleted file mode 100644 index 1b5565f3e6..0000000000 --- a/packages/gamut-labs/src/AppHeader/__tests__/AppHeader.test.tsx +++ /dev/null @@ -1,174 +0,0 @@ -import { IconButton } from '@codecademy/gamut'; -import { FaviconIcon } from '@codecademy/gamut-icons'; -import { setupRtl } from '@codecademy/gamut-tests'; -import { fireEvent } from '@testing-library/react'; - -import { CrossDeviceItemId } from '../../GlobalHeader/types'; -import { AppHeader, AppHeaderProps } from '..'; - -const action = jest.fn(); - -const defaultProps = { - action, - search: { - onEnable: jest.fn(), - onSearch: jest.fn(), - onTrackingClick: jest.fn(), - }, - isAnon: true, - openCrossDeviceItemId: CrossDeviceItemId.UNSET, - setOpenCrossDeviceItemId: jest.fn(), - items: { - left: [], - right: [], - }, -}; - -const logoProps: AppHeaderProps = { - ...defaultProps, - items: { - left: [ - { - id: 'logo-1', - href: 'http://codecademy.com', - pro: false, - trackingTarget: 'tracking-target', - type: 'logo', - }, - ], - right: [], - }, -}; - -const linkProps: AppHeaderProps = { - ...defaultProps, - items: { - left: [ - { - id: 'link', - href: 'http://codecademy.com', - trackingTarget: 'tracking-target', - text: 'AppHeaderLink', - type: 'link', - }, - ], - right: [], - }, -}; - -const dropdownProps: AppHeaderProps = { - ...defaultProps, - items: { - left: [ - { - id: 'dropdown', - text: 'AppHeaderDropdown', - popover: [ - { - id: 'sublink-1', - href: 'http://codecademy.com', - trackingTarget: 'tracking-target', - text: 'AppHeaderLink', - type: 'link', - }, - { - id: 'sublink-2', - href: 'http://codecademy.com', - trackingTarget: 'tracking-target', - text: 'AppHeaderLink', - type: 'link', - }, - ], - trackingTarget: 'tracking-target', - type: 'dropdown', - }, - ], - right: [], - }, -}; - -const renderElementProps: AppHeaderProps = { - ...defaultProps, - items: { - left: [], - right: [ - { - id: 'render-element', - renderElement: () => , - type: 'render-element', - }, - ], - }, -}; - -const textButtonProps: AppHeaderProps = { - ...defaultProps, - items: { - left: [], - right: [ - { - id: 'text-button', - text: 'TextButton', - href: 'http://codecademy.com', - trackingTarget: 'tracking-target', - type: 'text-button', - }, - ], - }, -}; - -const fillButtonProps: AppHeaderProps = { - ...defaultProps, - items: { - left: [], - right: [ - { - id: 'fill-button', - text: 'FillButton', - href: 'http://codecademy.com', - trackingTarget: 'tracking-target', - type: 'fill-button', - }, - ], - }, -}; - -const renderView = setupRtl(AppHeader); - -describe('AppHeader', () => { - it('renders an AppHeaderLogo when the item type is logo', () => { - const { view } = renderView(logoProps); - fireEvent.click(view.getByTitle('Codecademy Logo')); - expect(action).toHaveBeenCalledTimes(1); - }); - - it('renders an AppHeaderLink when the item type is link', () => { - const { view } = renderView(linkProps); - fireEvent.click(view.getByText('AppHeaderLink')); - expect(action).toHaveBeenCalledTimes(1); - }); - - it('renders an AppHeaderDropdown when the item type is dropdown', () => { - const { view } = renderView(dropdownProps); - fireEvent.click(view.getByText('AppHeaderDropdown')); - expect(action).toHaveBeenCalledTimes(1); - }); - - it('renders a custom component when the item type is render-element', () => { - const { view } = renderView(renderElementProps); - fireEvent.click(view.getByTitle('Favicon Icon')); - expect(action).not.toHaveBeenCalled(); - }); - - it('calls action() when a TextButton is clicked', () => { - const { view } = renderView(textButtonProps); - fireEvent.click(view.getByText('TextButton')); - expect(action).toHaveBeenCalledTimes(1); - }); - - it('calls action() when a FillButton clicked', () => { - const { view } = renderView(fillButtonProps); - fireEvent.click(view.getByText('FillButton')); - expect(action).toHaveBeenCalledTimes(1); - }); -}); diff --git a/packages/gamut-labs/src/AppHeader/index.tsx b/packages/gamut-labs/src/AppHeader/index.tsx deleted file mode 100644 index 958513eb7f..0000000000 --- a/packages/gamut-labs/src/AppHeader/index.tsx +++ /dev/null @@ -1,291 +0,0 @@ -import { FillButton, TextButton } from '@codecademy/gamut'; -import { css } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import { ReactNode, useEffect, useMemo, useRef, useState } from 'react'; -import * as React from 'react'; - -import { AppBar } from '../AppBar'; -import { CrossDeviceStateProps } from '../GlobalHeader/types'; -import { formatUrlWithRedirect } from '../GlobalHeader/urlHelpers'; -import { HeaderHeightArea } from '../HeaderHeightArea'; -import { NotificationsPopover } from '../Notifications/NotificationsPopover'; -import { AppHeaderNotificationSettings } from '../Notifications/types'; -import { useHeaderNotifications } from '../Notifications/useHeaderNotifications'; -import { AppHeaderCatalogDropdown } from './AppHeaderElements/AppHeaderCatalogDropdown'; -import { AppHeaderDropdown } from './AppHeaderElements/AppHeaderDropdown'; -import { AppHeaderLink } from './AppHeaderElements/AppHeaderLink'; -import { AppHeaderListItem } from './AppHeaderElements/AppHeaderListItem'; -import { AppHeaderLogo } from './AppHeaderElements/AppHeaderLogo'; -import { AppHeaderResourcesDropdown } from './AppHeaderElements/AppHeaderResourcesDropdown'; -import { - AppHeaderClickHandler, - AppHeaderItem, -} from './AppHeaderElements/types'; -import { AppHeaderSearch, useHeaderSearch } from './Search/useHeaderSearch'; -import { appHeaderMobileBreakpoint } from './shared'; -import { FormattedAppHeaderItems } from './types'; - -export type AppHeaderProps = { - action: AppHeaderClickHandler; - items: FormattedAppHeaderItems; - notifications?: AppHeaderNotificationSettings; - redirectParam?: string; - search: AppHeaderSearch; - isAnon: boolean; - /** - * used to conditonally hide the default search icon and notification bell - */ - isEnterprise?: boolean; -} & CrossDeviceStateProps; - -export const StyledAppBar = styled(AppBar)( - css({ - boxShadow: `none`, - }) -); - -export const StyledMenuBar = styled.ul( - css({ - alignItems: 'stretch', - display: `flex`, - padding: 0, - listStyle: `none`, - margin: 0, - width: `100%`, - }) -); - -const KEY_CODES = { - UP: 'ArrowUp', - DOWN: 'ArrowDown', - LEFT: 'ArrowLeft', - RIGHT: 'ArrowRight', - END: 'End', - HOME: 'Home', -} as const; - -const spacing = { - standard: 8, - enterprise: 12, -} as const; - -export const mapItemToElement = ( - action: AppHeaderClickHandler, - item: AppHeaderItem, - isAnon: boolean, - redirectParam?: string, - onKeyDown?: (event: React.KeyboardEvent) => void, - mobile = false -): ReactNode => { - switch (item.type) { - case 'logo': - return ; - case 'link': - return ; - case 'dropdown': - case 'profile-dropdown': - return ( - - ); - case 'catalog-dropdown': - return ( - - ); - case 'resources-dropdown': - return ( - - ); - case 'render-element': - return item.renderElement(); - case 'text-button': - return ( - action(event, item)} - data-testid={item.dataTestId} - tabIndex="-1" - role="menuitem" - href={ - item.redirect - ? formatUrlWithRedirect(item.href, redirectParam) - : item.href - } - variant="interface" - > - {item.text} - - ); - case 'fill-button': - return ( - action(event, item)} - variant="interface" - > - {item.text} - - ); - } -}; - -export const AppHeader: React.FC = ({ - action, - isAnon, - isEnterprise, - items, - notifications, - openCrossDeviceItemId, - redirectParam, - search, - setOpenCrossDeviceItemId, -}) => { - const menuContainerRef = useRef(null); - - const [notificationsBell, notificationsView] = useHeaderNotifications({ - settings: notifications, - Renderer: NotificationsPopover, - openCrossDeviceItemId, - setOpenCrossDeviceItemId, - }); - const [searchButton, searchPane] = useHeaderSearch(search); - - const right = useMemo(() => { - const defaultItems = isEnterprise - ? [] - : [searchButton, ...(notificationsBell ? [notificationsBell] : [])]; - return [...defaultItems, ...items.right]; - }, [searchButton, notificationsBell, isEnterprise, items]); - - const itemsCount = [...items.left, ...right].length - 1; - - const [focusIndex, setFocusIndex] = useState(0); - const [isFocused, setIsFocused] = useState(false); - const [isContainerFocused, setIsContainerFocused] = useState(false); - - const focusFirstItem = () => setFocusIndex(0); - const focusLastItem = () => setFocusIndex(itemsCount); - - const focusNextItem = () => { - if (focusIndex === itemsCount) { - focusFirstItem(); - } else { - setFocusIndex(focusIndex + 1); - } - }; - - const focusPreviousItem = () => { - if (focusIndex === 0) { - focusLastItem(); - } else { - setFocusIndex(focusIndex - 1); - } - }; - - const getNode = (index: number) => { - return menuContainerRef?.current?.childNodes[index] - .childNodes[0] as HTMLElement; - }; - - const menuHandleKeyEvents = (event: React.KeyboardEvent) => { - switch (event.key) { - case KEY_CODES.HOME: - event.preventDefault(); - focusFirstItem(); - break; - case KEY_CODES.END: - event.preventDefault(); - focusLastItem(); - break; - case KEY_CODES.RIGHT: - focusNextItem(); - break; - case KEY_CODES.LEFT: - focusPreviousItem(); - break; - case KEY_CODES.UP: - case KEY_CODES.DOWN: - event.preventDefault(); - break; - default: - break; - } - }; - - useEffect(() => { - const firstNode = getNode(0); - const nextNode = getNode(focusIndex); - - if (firstNode && nextNode) { - if (isContainerFocused) { - if (focusIndex >= 0 && focusIndex <= itemsCount) { - nextNode.focus(); - } else { - firstNode.focus(); - } - } - - if (!isFocused && !isContainerFocused) { - if (focusIndex !== 0) { - focusFirstItem(); - firstNode.focus(); - firstNode.blur(); - } - } - } - }, [focusIndex, isContainerFocused, isFocused, itemsCount]); - - const mapItemsToElement = ( - items: T, - side: 'left' | 'right' - ) => { - return items.map((item, index) => { - const margin = isEnterprise ? spacing.enterprise : spacing.standard; - return ( - setIsFocused(true)} - onBlur={() => setIsFocused(false)} - > - {mapItemToElement(action, item, isAnon, redirectParam)} - - ); - }); - }; - - return ( - - - setIsContainerFocused(true)} - onBlur={() => setIsContainerFocused(false)} - > - {mapItemsToElement(items.left, 'left')} - {mapItemsToElement(right, 'right')} - - - {notificationsView} - {searchPane} - - ); -}; diff --git a/packages/gamut-labs/src/AppHeader/mockAppHeaderItems.tsx b/packages/gamut-labs/src/AppHeader/mockAppHeaderItems.tsx deleted file mode 100644 index 8bfbeb4d87..0000000000 --- a/packages/gamut-labs/src/AppHeader/mockAppHeaderItems.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { AppHeaderLinkItem } from './AppHeaderElements/types'; - -export const createMockAppHeaderLinkItem = ( - id: string, - href: string, - text: string -): AppHeaderLinkItem => { - return { - dataTestId: `app-header-link-${id}`, - id, - href, - text, - trackingTarget: '', - type: 'link', - }; -}; diff --git a/packages/gamut-labs/src/AppHeader/shared.tsx b/packages/gamut-labs/src/AppHeader/shared.tsx deleted file mode 100644 index f61b2f08d7..0000000000 --- a/packages/gamut-labs/src/AppHeader/shared.tsx +++ /dev/null @@ -1,106 +0,0 @@ -import { - Anchor, - FlexBox, - LayoutGrid, - Text, - WithChildrenProp, -} from '@codecademy/gamut'; -import { ArrowChevronDownFilledIcon } from '@codecademy/gamut-icons'; -import { css, pxRem, states } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import { AnimatePresence, motion, Variants } from 'framer-motion'; -import * as React from 'react'; - -export const appHeaderMobileBreakpoint = 'lg' as const; - -export interface AnimatedHeaderZoneProps extends WithChildrenProp { - visible?: boolean; -} - -const animatedPopoverVariants: Variants = { - enter: { opacity: 1, transition: { duration: 0.2 } }, - exit: { opacity: 0, transition: { duration: 0.2 } }, -}; - -export const AnimatedHeaderZone: React.FC = ({ - children, - visible, -}) => { - return visible ? ( - - - {children} - - - ) : null; -}; - -export const DropdownAnchor = styled(Anchor)( - css({ - alignItems: `center`, - display: `flex`, - padding: `0.5rem 0`, - textAlign: `center`, - whiteSpace: `nowrap`, - - '&:focus::before': { - opacity: 1, - }, - }) -); - -export const DropdownIcon = styled(ArrowChevronDownFilledIcon)( - css({ - marginLeft: pxRem(5), - transition: `transform 0.35s ease-out`, - transformOrigin: `center ${pxRem(5)}`, - }), - states({ - open: { - transform: `rotate(-180deg)`, - }, - }) -); - -export const StyledText = styled(Text)( - css({ - '&::after': { - display: `block`, - content: `attr(title)`, - fontWeight: `bold`, - height: `1px`, - color: `transparent`, - overflow: `hidden`, - visibility: `hidden`, - }, - }) -); - -export const StyledDropdown = styled(motion.div)( - css({ - bg: `background`, - borderColor: `navy-300`, - borderStyle: `solid`, - overflow: `hidden`, - position: `absolute`, - }) -); - -export const LayoutGridAntiAliased = styled(LayoutGrid)` - -webkit-font-smoothing: antialiased; -`; - -/* for Resources & Catalog menus */ -export const DescriptionSectionContainer = styled(FlexBox)( - css({ - '&:focus-visible': { - color: 'text', - outline: '1px solid currentColor !important', - }, - }) -); diff --git a/packages/gamut-labs/src/AppHeader/types.tsx b/packages/gamut-labs/src/AppHeader/types.tsx deleted file mode 100644 index 6d63bd52ce..0000000000 --- a/packages/gamut-labs/src/AppHeader/types.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { AppHeaderItem } from './AppHeaderElements/types'; - -export type FormattedAppHeaderItems = { - left: AppHeaderItem[]; - right: AppHeaderItem[]; -}; - -export type FormattedMobileAppHeaderItems = FormattedAppHeaderItems & { - mainMenu: AppHeaderItem[]; -}; diff --git a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/MobileSearchBar.tsx b/packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/MobileSearchBar.tsx deleted file mode 100644 index f73b4c61bd..0000000000 --- a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/MobileSearchBar.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { Box } from '@codecademy/gamut'; -import { SearchIcon } from '@codecademy/gamut-icons'; -import { css } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import { useState } from 'react'; -import * as React from 'react'; - -const SearchForm = Box.withComponent('form'); - -const StyledInput = styled.input( - css({ - background: `none`, - borderWidth: `1px`, - borderColor: `gray-800`, - color: `text`, - fontSize: 16, - outline: `none`, - padding: `0.75rem`, - paddingRight: `2.5rem`, - width: `100%`, - - '&::placeholder': { - color: 'text-disabled', - }, - }) -); - -const SearchButton = styled.button( - css({ - position: `absolute`, - top: `50%`, - transform: `translate(0, -50%)`, - right: `0.75rem`, - color: `text`, - cursor: `pointer`, - outline: 0, - border: `none`, - backgroundColor: `transparent`, - p: 0, - lineHeight: 0, - }) -); - -export type MobileSearchBarProps = { - onSearch: (query: string) => void; -}; - -export const MobileSearchBar: React.FC = ({ - onSearch, -}) => { - const [searchValue, setSearchValue] = useState(''); - - const handleChange: React.ChangeEventHandler = (event) => { - setSearchValue(event.target.value); - }; - - const handleSubmit: React.FormEventHandler = (event) => { - event.preventDefault(); - onSearch(searchValue); - }; - - return ( - - - - - - - ); -}; diff --git a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/__tests__/AppHeaderMainMenuMobile.test.tsx b/packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/__tests__/AppHeaderMainMenuMobile.test.tsx deleted file mode 100644 index 623adf8e39..0000000000 --- a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/__tests__/AppHeaderMainMenuMobile.test.tsx +++ /dev/null @@ -1,122 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; - -import { createMockAppHeaderLinkItem } from '../../../AppHeader/mockAppHeaderItems'; -import { AppHeaderMainMenuMobile } from '../index'; - -const action = jest.fn(); - -const link1Href = 'https://codecademy.com'; -const link2Href = 'https://codecademy.com/resources/blog'; - -const fillButtonTestId = 'app-header-link-sign-up'; -const fillButtonText = 'sign up'; -const fillButtonHref = 'codecademy.com/sign-up'; - -const sublink1Id = 'sublink-1'; -const sublink2Id = 'sublink-2'; -const sublink1Href = 'https://google.com'; -const sublink2Href = 'https://medium.com'; - -const profileLink1Id = 'profile-link-1'; -const profileLink2Id = 'profile-link-2'; -const profileLink1Href = 'test.io'; -const profileLink2Href = 'stackoverflow.com'; - -const idToTestId = (id: string) => { - return `app-header-link-${id}`; -}; - -const renderView = setupRtl(AppHeaderMainMenuMobile, { - action, - items: [ - { - dataTestId: '', - id: 'test-link', - text: 'resources target', - trackingTarget: '', - type: 'dropdown', - popover: [ - createMockAppHeaderLinkItem(sublink1Id, sublink1Href, 'cheatsheet'), - createMockAppHeaderLinkItem(sublink2Id, sublink2Href, 'blog'), - ], - }, - createMockAppHeaderLinkItem('simple-link-1', link1Href, 'simple link 1'), - createMockAppHeaderLinkItem('simple-link-2', link2Href, 'simple link 2'), - { - dataTestId: '', - id: 'test-profile-link', - text: 'profile target', - userDisplayName: 'user name', - trackingTarget: '', - type: 'profile-dropdown', - avatar: '', - popover: [ - [ - createMockAppHeaderLinkItem( - profileLink1Id, - profileLink1Href, - 'profile link' - ), - ], - [ - createMockAppHeaderLinkItem( - profileLink2Id, - profileLink2Href, - 'my account' - ), - ], - ], - }, - { - id: 'sign-up-btn', - dataTestId: fillButtonTestId, - type: 'fill-button', - href: fillButtonHref, - text: fillButtonText, - trackingTarget: 'sign-up-tracking', - }, - ], - onSearch: jest.fn(), - getItemType: jest.fn(), -}); - -describe('AppHeaderMainMenuMobile', () => { - it('renders links for the items with type link and type fill-button', () => { - const { view } = renderView(); - const linkArray = view - .getAllByRole('menuitem') - .map((node) => node.getAttribute('href')) - .filter((node) => !!node); - expect(linkArray).toStrictEqual([link1Href, link2Href, fillButtonHref]); - }); - - it('renders a target button for the items with type dropdown', () => { - const { view } = renderView(); - const targetButton = view.getByLabelText('open resources target submenu'); - expect(targetButton).toHaveTextContent('resources target'); - }); - - it('does not render the submenu on load', () => { - const { view } = renderView(); - expect(view.queryByTestId(idToTestId(sublink1Id))).not.toBeInTheDocument(); - expect(view.queryByTestId(idToTestId(sublink2Id))).not.toBeInTheDocument(); - }); - - it('renders a submenu when its target button is clicked', () => { - const { view } = renderView(); - const targetButton = view.getByText('resources target'); - targetButton.click(); - expect(action).toHaveBeenCalled(); - expect(view.getByTestId(idToTestId(sublink1Id))); - expect(view.getByTestId(idToTestId(sublink2Id))); - }); - - it('renders the profile submenu when its target button is clicked', () => { - const { view } = renderView(); - const targetButton = view.getByText('user name'); - targetButton.click(); - expect(action).toHaveBeenCalled(); - expect(view.getByTestId(idToTestId(profileLink1Id))); - expect(view.getByTestId(idToTestId(profileLink2Id))); - }); -}); diff --git a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/__tests__/MobileSearchBar.test.tsx b/packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/__tests__/MobileSearchBar.test.tsx deleted file mode 100644 index e52ef98a9c..0000000000 --- a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/__tests__/MobileSearchBar.test.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; -import userEvent from '@testing-library/user-event'; - -import { MobileSearchBar } from '../MobileSearchBar'; - -const renderView = setupRtl(MobileSearchBar); - -describe('MobileSearchBar', () => { - it('calls onSearch with the value when the form is submitted with a value', () => { - const { props, view } = renderView({ - onSearch: jest.fn(), - }); - const value = 'abc'; - - userEvent.type(view.getByRole('searchbox'), value); - userEvent.click(view.getByRole('button')); - - expect(props.onSearch).toHaveBeenCalledWith(value); - }); -}); diff --git a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/index.tsx b/packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/index.tsx deleted file mode 100644 index e7806e4b00..0000000000 --- a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderMainMenuMobile/index.tsx +++ /dev/null @@ -1,164 +0,0 @@ -import { - Box, - ContentContainer, - FillButton, - FlexBox, - TextButton, -} from '@codecademy/gamut'; -import { useState } from 'react'; -import * as React from 'react'; - -import { AppHeaderLink } from '../../AppHeader/AppHeaderElements/AppHeaderLink'; -import { AppHeaderListItem } from '../../AppHeader/AppHeaderElements/AppHeaderListItem'; -import { - AppHeaderClickHandler, - AppHeaderDropdownItem, - AppHeaderItem, -} from '../../AppHeader/AppHeaderElements/types'; -import { login, signUp } from '../../GlobalHeader/GlobalHeaderItems'; -import { AppHeaderSubMenuMobile } from '../AppHeaderSubMenuMobile'; -import { AppHeaderSubMenuTarget } from '../AppHeaderSubMenuTarget'; -import { MobileSearchBar } from './MobileSearchBar'; - -export type AppHeaderMainMenuMobileProps = { - action: AppHeaderClickHandler; - items: AppHeaderItem[]; - onSearch: (query: string) => void; - getItemType: (type: string | undefined) => void; - isAnon: boolean; - isEnterprise?: boolean; - handleCloseMainMenu: () => void; -}; - -export const AppHeaderMainMenuMobile: React.FC = ({ - action, - items, - onSearch, - getItemType, - isAnon, - isEnterprise, - handleCloseMainMenu, -}) => { - const [subMenuItem, setSubMenuItem] = useState(); - - const openSubMenu = ( - event: React.MouseEvent, - item: AppHeaderDropdownItem - ) => { - action(event, item); - setSubMenuItem(item); - getItemType(item.type); - }; - - const closeSubMenu = () => { - setSubMenuItem(undefined); - getItemType(undefined); - }; - - const mapItemToElement = ( - item: AppHeaderItem, - action: AppHeaderClickHandler - ) => { - switch (item.type) { - case 'link': - return ( - - ); - case 'dropdown': - case 'profile-dropdown': - case 'catalog-dropdown': - case 'resources-dropdown': - return ( - - ); - case 'fill-button': - return ( - action(event, item)} - mt={32} - mx="auto" - key={item.id} - role="menuitem" - > - {item.text} - - ); - case 'text-button': - return ( - action(event, item)} - role="menuitem" - > - {item.text} - - ); - } - }; - - return subMenuItem ? ( - - ) : ( - - - {!isEnterprise && ( - - - - )} - - {items.map((item) => ( - - {mapItemToElement(item, action)} - - ))} - - - {isAnon && ( - - action(event, signUp)} - key={signUp.id} - role="menuitem" - > - {signUp.text} - - - action(event, login)} - role="menuitem" - > - {login.text} - - - )} - - ); -}; diff --git a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuMobile/__tests__/AppHeaderSubMenuMobile.test.tsx b/packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuMobile/__tests__/AppHeaderSubMenuMobile.test.tsx deleted file mode 100644 index 06258c07e6..0000000000 --- a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuMobile/__tests__/AppHeaderSubMenuMobile.test.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; -import { fireEvent } from '@testing-library/dom'; - -import { createMockAppHeaderLinkItem } from '../../../AppHeader/mockAppHeaderItems'; -import { AppHeaderSubMenuMobile } from '../index'; - -const sublink1Href = 'https://google.com'; -const sublink2Href = 'https://medium.com'; -const action = jest.fn(); -const handleCloseSubMenu = jest.fn(); -const handleCloseMainMenu = jest.fn(); - -const renderView = setupRtl(AppHeaderSubMenuMobile, { - action, - item: { - dataTestId: '', - id: 'test-link', - text: 'menu heading', - trackingTarget: '', - type: 'dropdown', - popover: [ - createMockAppHeaderLinkItem('sublink-1', sublink1Href, 'forum'), - createMockAppHeaderLinkItem('sublink-2', sublink2Href, 'blog'), - ], - }, - handleCloseSubMenu, - handleCloseMainMenu, -}); - -describe('AppHeaderSubMenuMobile', () => { - it('creates sublinks with the provided hrefs', () => { - const { view } = renderView(); - const linkArray = view - .getAllByRole('menuitem') - .map((node) => node.getAttribute('href')); - expect(linkArray).toStrictEqual([sublink1Href, sublink2Href]); - }); - - it('calls handleClose when the menu link is clicked', () => { - const { view } = renderView(); - fireEvent.click(view.getByText('Menu')); - expect(handleCloseSubMenu).toHaveBeenCalled(); - }); -}); diff --git a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuMobile/index.tsx b/packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuMobile/index.tsx deleted file mode 100644 index cfa8c1b38d..0000000000 --- a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuMobile/index.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import { Anchor, Text } from '@codecademy/gamut'; -import { ArrowChevronLeftIcon } from '@codecademy/gamut-icons'; -import { css } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import * as React from 'react'; - -import { AppHeaderCatalogDropdownProps } from '../../AppHeader/AppHeaderElements/AppHeaderCatalogDropdown'; -import { AppHeaderCatalogSection } from '../../AppHeader/AppHeaderElements/AppHeaderCatalogSection'; -import { AppHeaderDropdownProps } from '../../AppHeader/AppHeaderElements/AppHeaderDropdown'; -import { AppHeaderLinkSections } from '../../AppHeader/AppHeaderElements/AppHeaderLinkSections'; -import { AppHeaderListItem } from '../../AppHeader/AppHeaderElements/AppHeaderListItem'; -import { AppHeaderResourceDropdownProps } from '../../AppHeader/AppHeaderElements/AppHeaderResourcesDropdown'; -import { AppHeaderResourcesSection } from '../../AppHeader/AppHeaderElements/AppHeaderResourcesSection'; -import { - AppHeaderCatalogDropdownItem, - AppHeaderClickHandler, - AppHeaderDropdownItem, - AppHeaderResourcesDropdownItem, -} from '../../AppHeader/AppHeaderElements/types'; - -export type AppHeaderSubMenuMobileProps = ( - | AppHeaderDropdownProps - | AppHeaderCatalogDropdownProps - | AppHeaderResourceDropdownProps -) & { - handleCloseSubMenu: () => void; - handleCloseMainMenu: () => void; -}; - -type AppHeaderSectionItem = - | AppHeaderDropdownItem - | AppHeaderCatalogDropdownItem - | AppHeaderResourcesDropdownItem; - -const StyledAnchor = styled(Anchor)( - css({ - alignItems: `center`, - display: `flex`, - my: 24, - padding: 0, - width: `100%`, - }) -); - -const renderHeaderSection = ( - item: AppHeaderSectionItem, - action: AppHeaderClickHandler, - handleCloseMainMenu: () => void -) => { - switch (item.type) { - case 'catalog-dropdown': - return ( - - ); - case 'resources-dropdown': - return ( - - ); - default: - return ( - - ); - } -}; - -export const AppHeaderSubMenuMobile: React.FC = ({ - action, - handleCloseSubMenu, - handleCloseMainMenu, - item, -}) => { - return ( - - - - - Menu - - - - {item.type === 'profile-dropdown' ? item.userDisplayName : item.text} - - {renderHeaderSection(item, action, handleCloseMainMenu)} - - ); -}; diff --git a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuTarget/__tests__/AppHeaderSubMenuTarget.test.tsx b/packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuTarget/__tests__/AppHeaderSubMenuTarget.test.tsx deleted file mode 100644 index e380b8ac15..0000000000 --- a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuTarget/__tests__/AppHeaderSubMenuTarget.test.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; -import { fireEvent } from '@testing-library/dom'; - -import { AppHeaderSimpleDropdownItem } from '../../../AppHeader/AppHeaderElements/types'; -import { createMockAppHeaderLinkItem } from '../../../AppHeader/mockAppHeaderItems'; -import { AppHeaderSubMenuTarget } from '../index'; - -const sublink1Href = 'https://google.com'; -const openSubMenu = jest.fn(); - -const mockItem: AppHeaderSimpleDropdownItem = { - dataTestId: 'test-target', - id: 'test-target', - text: 'submenu target', - trackingTarget: 'tracking data', - type: 'dropdown', - popover: [createMockAppHeaderLinkItem('sublink-1', sublink1Href, 'forum')], -}; - -const renderView = setupRtl(AppHeaderSubMenuTarget, { - item: mockItem, - openSubMenu, -}); - -describe('AppHeaderSubMenuTarget', () => { - it('calls openSubMenu when the submenu target link is clicked', () => { - const { view } = renderView(); - fireEvent.click(view.getByText('submenu target')); - expect(openSubMenu).toHaveBeenCalled(); - }); -}); diff --git a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuTarget/index.tsx b/packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuTarget/index.tsx deleted file mode 100644 index 27cca2007d..0000000000 --- a/packages/gamut-labs/src/AppHeaderMobile/AppHeaderSubMenuTarget/index.tsx +++ /dev/null @@ -1,77 +0,0 @@ -import { Anchor, Text } from '@codecademy/gamut'; -import { ArrowChevronRightIcon } from '@codecademy/gamut-icons'; -import { css } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import * as React from 'react'; - -import { - AppHeaderCatalogDropdownItem, - AppHeaderDropdownItem, - AppHeaderResourcesDropdownItem, -} from '../../AppHeader/AppHeaderElements/types'; -import { Avatar } from '../../Avatar'; - -export type AppHeaderSubMenuTargetProps = { - item: - | AppHeaderDropdownItem - | AppHeaderCatalogDropdownItem - | AppHeaderResourcesDropdownItem; - openSubMenu: ( - event: React.MouseEvent, - item: - | AppHeaderDropdownItem - | AppHeaderCatalogDropdownItem - | AppHeaderResourcesDropdownItem - ) => void; -}; - -const StyledText = styled(Text)( - css({ - ml: 16, - maxWidth: `70vw`, - overflow: `hidden`, - textOverflow: `ellipsis`, - }) -); - -export const AppHeaderSubMenuTarget: React.FC = ({ - item, - openSubMenu, -}) => { - const getIcon = () => { - if (item.type !== 'profile-dropdown') { - const Icon = item.icon; - return Icon && ; - } - return ( - - ); - }; - - return ( - openSubMenu(event, item)} - py={16} - role="menuitem" - variant="interface" - width="100%" - > - {getIcon()} - - {item.type === 'profile-dropdown' ? item.userDisplayName : item.text} - - - - ); -}; diff --git a/packages/gamut-labs/src/AppHeaderMobile/__tests__/AppHeaderMobile.test.tsx b/packages/gamut-labs/src/AppHeaderMobile/__tests__/AppHeaderMobile.test.tsx deleted file mode 100644 index 1bf41eef53..0000000000 --- a/packages/gamut-labs/src/AppHeaderMobile/__tests__/AppHeaderMobile.test.tsx +++ /dev/null @@ -1,118 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; -import { fireEvent } from '@testing-library/dom'; - -import { CrossDeviceItemId } from '../../GlobalHeader/types'; -import { AppHeaderMobile, AppHeaderMobileProps } from '..'; - -const action = jest.fn(); - -const defaultProps = { - action, - onSearch: jest.fn(), - isAnon: true, - openCrossDeviceItemId: CrossDeviceItemId.UNSET, - setOpenCrossDeviceItemId: jest.fn(), - items: { - left: [], - right: [], - }, -}; - -const logoProps: AppHeaderMobileProps = { - ...defaultProps, - items: { - left: [ - { - id: 'logo-1', - href: 'http://codecademy.com', - pro: false, - trackingTarget: 'tracking-target', - type: 'logo', - }, - ], - right: [], - mainMenu: [], - }, -}; - -const linkProps: AppHeaderMobileProps = { - ...defaultProps, - items: { - left: [ - { - id: 'link', - href: 'http://codecademy.com', - trackingTarget: 'tracking-target', - text: 'AppHeaderLink', - type: 'link', - }, - ], - right: [], - mainMenu: [], - }, -}; - -const mainMenuProps: AppHeaderMobileProps = { - ...defaultProps, - items: { - left: [], - right: [], - mainMenu: [ - { - id: 'link', - href: 'http://codecademy.com', - trackingTarget: 'tracking-target', - text: 'App Header Link', - type: 'link', - }, - { - id: 'link2', - href: 'http://codecademy.com', - trackingTarget: 'tracking-target', - text: 'App Header Button', - type: 'fill-button', - }, - ], - }, -}; - -const renderView = setupRtl(AppHeaderMobile); - -describe('AppHeaderMobile', () => { - it('renders an AppHeaderLogo when the item type is logo', () => { - const { view } = renderView(logoProps); - view.getByTitle('Codecademy Logo'); - }); - - it('renders an AppHeaderLink when the item type is link', () => { - const { view } = renderView(linkProps); - view.getByText('AppHeaderLink'); - }); - - it('renders a button to open the mobile menu', () => { - const { view } = renderView(linkProps); - view.getByText('AppHeaderLink'); - }); - - describe('Mobile Menu Open', () => { - it('renders the mobile menu content', () => { - const { view } = renderView(mainMenuProps); - fireEvent.click(view.getByTestId('header-mobile-menu')); - expect(view.getByText('App Header Link')); - expect(view.getByText('App Header Button')); - }); - - it('hides the mobile app header', () => { - const { view } = renderView(mainMenuProps); - fireEvent.click(view.getByTestId('header-mobile-menu')); - expect(view.queryByTestId('header-mobile-menu')).not.toBeInTheDocument(); - }); - - it('renders a button to close the mobile menu', () => { - const { view } = renderView(mainMenuProps); - fireEvent.click(view.getByTestId('header-mobile-menu')); - fireEvent.click(view.getByLabelText('close menu')); - expect(view.queryByTestId('header-mobile-menu')).toBeInTheDocument(); - }); - }); -}); diff --git a/packages/gamut-labs/src/AppHeaderMobile/index.tsx b/packages/gamut-labs/src/AppHeaderMobile/index.tsx deleted file mode 100644 index 23f5ba538b..0000000000 --- a/packages/gamut-labs/src/AppHeaderMobile/index.tsx +++ /dev/null @@ -1,217 +0,0 @@ -import { Box, ContentContainer, IconButton, Overlay } from '@codecademy/gamut'; -import { CloseIcon, MenuIcon } from '@codecademy/gamut-icons'; -import { Background, css, useColorModes } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import { useState } from 'react'; -import * as React from 'react'; - -import { mapItemToElement, StyledAppBar } from '../AppHeader'; -import { AppHeaderListItem } from '../AppHeader/AppHeaderElements/AppHeaderListItem'; -import { - AppHeaderClickHandler, - AppHeaderItem, -} from '../AppHeader/AppHeaderElements/types'; -import { appHeaderMobileBreakpoint } from '../AppHeader/shared'; -import { FormattedMobileAppHeaderItems } from '../AppHeader/types'; -import { AppHeaderMainMenuMobile } from '../AppHeaderMobile/AppHeaderMainMenuMobile'; -import { CrossDeviceStateProps } from '../GlobalHeader/types'; -import { HeaderHeightArea } from '../HeaderHeightArea'; -import { NotificationsContents } from '../Notifications/NotificationsContents'; -import { AppHeaderNotificationSettings } from '../Notifications/types'; -import { useHeaderNotifications } from '../Notifications/useHeaderNotifications'; - -export type AppHeaderMobileProps = { - action: AppHeaderClickHandler; - items: FormattedMobileAppHeaderItems; - notifications?: AppHeaderNotificationSettings; - redirectParam?: string; - onSearch: (query: string) => void; - isAnon: boolean; - /** - * used to conditonally hide the default search icon and notification bell - */ - isEnterprise?: boolean; -} & CrossDeviceStateProps; - -const StyledOverlay = styled(Overlay)( - css({ - display: { _: `block`, [appHeaderMobileBreakpoint]: `none` }, - width: `100vw`, - height: `100vh`, - opacity: 1, - bg: `background`, - position: `fixed`, - left: 0, - top: 0, - overflowX: `hidden`, - }) -); - -const StyledContentContainer = styled(ContentContainer)( - css({ - display: `flex`, - flexDirection: `column`, - p: 0, - }) -); - -const StyledMenuBar = styled.ul( - css({ - display: `flex`, - padding: 0, - listStyle: `none`, - margin: 0, - width: `100%`, - alignItems: 'center', - }) -); - -export const AppHeaderMobile: React.FC = ({ - action, - items, - notifications, - onSearch, - redirectParam, - isAnon, - isEnterprise, - openCrossDeviceItemId, - setOpenCrossDeviceItemId, -}) => { - const [mode, , modes] = useColorModes(); - const bgCurrent = modes[mode]['background-current']; - const [mobileMenuOpen, setMobileMenuOpen] = useState(false); - const [allowScroll, setAllowScroll] = useState(false); - - const [notificationsBell, notificationsView] = useHeaderNotifications({ - settings: notifications, - Renderer: NotificationsContents, - openCrossDeviceItemId, - setOpenCrossDeviceItemId, - }); - - const openMobileMenu = () => { - setMobileMenuOpen(true); - }; - - const mapItemsToElement = ( - items: T, - side: 'left' | 'right', - hideExtraItems?: boolean - ) => { - const shouldHideItems = hideExtraItems === true && items.length > 1; - return items.map((item, index) => { - const isLastItem = index + 1 === items.length; - const isHidable = !isLastItem && shouldHideItems; - return ( - - {mapItemToElement( - action, - item, - isAnon, - redirectParam, - undefined, - true - )} - - ); - }); - }; - - const right = [ - ...(notificationsBell && !isEnterprise ? [notificationsBell] : []), - ...items.right, - ]; - - const onItemType = (type: string | undefined) => { - if ( - type && - (type === 'catalog-dropdown' || type === 'resources-dropdown') - ) { - setAllowScroll(true); - } else { - setAllowScroll(false); - } - }; - - return ( - <> - {!mobileMenuOpen && ( // need this bc AppBar has a hardcoded z-Index of 15 - - - - {mapItemsToElement(items.left, 'left')} - {mapItemsToElement(right, 'right', true)} - - { - openMobileMenu(); - }} - icon={MenuIcon} - variant="interface" - /> - - - - - )} - setMobileMenuOpen(false)} - allowScroll={allowScroll} - > - - - - - {mapItemsToElement(items.left, 'left')} - - { - setMobileMenuOpen(false); - }} - icon={CloseIcon} - /> - - - - - setMobileMenuOpen(false)} - /> - - - - - - {notificationsView} - - - ); -}; diff --git a/packages/gamut-labs/src/Avatar/__tests__/Avatar.test.tsx b/packages/gamut-labs/src/Avatar/__tests__/Avatar.test.tsx deleted file mode 100644 index 22542a41bd..0000000000 --- a/packages/gamut-labs/src/Avatar/__tests__/Avatar.test.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; - -import { Avatar } from '..'; - -const renderView = setupRtl(Avatar, { - src: '', - alt: '', -}); - -describe('Avatar', () => { - it('when an "alt" prop is passed, an "alt" attribute is added to the ', () => { - const { view } = renderView({ alt: 'alt' }); - - view.getByAltText('alt'); - }); - - it('when an "aria-labelledby" prop is passed, an "aria-labelledby" attribute is added to the ', () => { - const { view } = renderView({ 'aria-labelledby': 'label', alt: undefined }); - - const img = view.getByRole('img'); - expect(img).toHaveAttribute('aria-labelledby', 'label'); - }); - - it('when a "size" prop is passed, the height and width attributes are set accordingly', () => { - const { view } = renderView({ size: 32 }); - - const img = view.getByRole('img'); - expect(img).toHaveStyle('width: 32px'); - expect(img).toHaveStyle('height: 32px'); - }); - - it('when a "size" prop is not passed, the height and width attributes are set to the default value', () => { - const { view } = renderView(); - - const img = view.getByRole('img'); - expect(img).toHaveStyle('width: 118px'); - expect(img).toHaveStyle('height: 118px'); - }); -}); diff --git a/packages/gamut-labs/src/Avatar/index.tsx b/packages/gamut-labs/src/Avatar/index.tsx deleted file mode 100644 index bb8856f0bf..0000000000 --- a/packages/gamut-labs/src/Avatar/index.tsx +++ /dev/null @@ -1,100 +0,0 @@ -import { VisualTheme } from '@codecademy/gamut'; -import { styledOptions, system, theme } from '@codecademy/gamut-styles'; -import { ResponsiveProp } from '@codecademy/variance'; -import { css } from '@emotion/react'; -import styled from '@emotion/styled'; -import * as React from 'react'; - -const Image = styled('img', styledOptions<'img'>())(system.layout); - -const AvatarContainer = styled.div<{ - mode?: VisualTheme; - disableDropshadow?: boolean; -}>` - position: relative; - display: table; - - ${({ disableDropshadow, mode }) => - !disableDropshadow && - css` - &::before { - content: ''; - position: absolute; - border-radius: 50%; - transform: scale(0.92); - transform-origin: bottom right; - height: 100%; - width: 100%; - background-color: ${mode - ? mode === 'light' - ? theme.colors.lightGreen - : theme.colors.green - : theme.colors['feedback-success']}; - } - `} - - ${Image} { - position: relative; - border-radius: 50%; - object-fit: cover; - - ${({ disableDropshadow }) => - !disableDropshadow && - css` - transform: scale(0.92); - transform-origin: top left; - `} - } -`; - -export type AvatarImageProps = - | { alt: string; 'aria-labelledby'?: never } - | { alt?: never; 'aria-labelledby': string }; - -export type AvatarBaseProps = { - /** - * path to image asset - */ - src: string; - - /** - * Disables the drop shadow entirely. - */ - disableDropshadow?: boolean; - - /** - * Size of the Avatar. - */ - size?: ResponsiveProp<24 | 32 | 40 | 48 | 64 | 118>; - - /** - * Overrides styles on the Avatar container. - */ - className?: string; - - /** - * @deprecated - * This will be determined automatically by the theme moving forward. - * Supplying it will determine the color of drop shadow. - */ - mode?: VisualTheme; -}; - -export type AvatarProps = AvatarBaseProps & AvatarImageProps; - -export const Avatar: React.FC = ({ - mode, - disableDropshadow, - size = 118, - className, - ...avatarImageProps -}) => ( - - - -); diff --git a/packages/gamut-labs/src/AvatarChooser/__tests__/AvatarChooser.test.tsx b/packages/gamut-labs/src/AvatarChooser/__tests__/AvatarChooser.test.tsx deleted file mode 100644 index 667e5dd61d..0000000000 --- a/packages/gamut-labs/src/AvatarChooser/__tests__/AvatarChooser.test.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; -import userEvent from '@testing-library/user-event'; - -import { AvatarChooser } from '..'; - -const testImageSource = 'testImageSource'; -const renderView = setupRtl(AvatarChooser, { - src: testImageSource, -}); - -const mockAvatarImageFile = new File(['fileBlob'], 'profileImage.png', { - type: 'image/png', -}); - -global.URL.createObjectURL = jest.fn(); - -describe('AvatarChooser', () => { - it('Renders "Choose Photo"', () => { - const { view } = renderView(); - view.getByText('Choose Photo'); - }); - - it('Renders image default src', () => { - const { view } = renderView(); - const img = view.getByRole('img') as HTMLImageElement; - expect(img.src).toMatch(testImageSource); - }); - - it('Renders image alt text', () => { - const { view } = renderView(); - const img = view.getByRole('img') as HTMLImageElement; - expect(img.alt).toBe('Avatar Photo'); - }); - - it('Renders error', () => { - const error = 'This is a test error!'; - const { view } = renderView({ error }); - view.getByText(error); - }); - - it('Calls onImageChanged with the uploaded image', () => { - const onImageChanged = jest.fn(); - const { view } = renderView({ onImageChanged }); - - userEvent.upload( - view.getByLabelText('Choose Photo') as HTMLInputElement, - mockAvatarImageFile - ); - - const fileList: FileList = onImageChanged.mock.calls[0][0]; - expect(fileList[0]).toBe(mockAvatarImageFile); - }); - - it('Updates the img src when an image is uploaded', () => { - const uploadedImageUrl = 'uploadedImageUrl'; - global.URL.createObjectURL = jest - .fn() - .mockImplementation(() => uploadedImageUrl); - const { view } = renderView(); - - userEvent.upload( - view.getByLabelText('Choose Photo') as HTMLInputElement, - mockAvatarImageFile - ); - - const img = view.getByRole('img') as HTMLImageElement; - expect(global.URL.createObjectURL).toBeCalledWith(mockAvatarImageFile); - expect(img.src).toMatch(uploadedImageUrl); - }); -}); diff --git a/packages/gamut-labs/src/AvatarChooser/index.tsx b/packages/gamut-labs/src/AvatarChooser/index.tsx deleted file mode 100644 index 73fd1e8864..0000000000 --- a/packages/gamut-labs/src/AvatarChooser/index.tsx +++ /dev/null @@ -1,143 +0,0 @@ -import { FlexBox, FormError, Input } from '@codecademy/gamut'; -import { pxRem, theme } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import { useCallback, useRef, useState } from 'react'; -import * as React from 'react'; -import { UseFormReturn, Validate } from 'react-hook-form'; - -import { Avatar } from '..'; - -type AvatarChooserProps = { - src: string; - name?: string; - register?: UseFormReturn['register']; - onImageChanged?: (imageFileList: FileList) => void; - validate?: Validate | Record>; - error?: string; -}; - -const baseSize = 75; -const smBreakpointSize = 120; - -const StyledAvatar = styled(Avatar)` - img { - width: ${pxRem(baseSize)}; - height: ${pxRem(baseSize)}; - } - - ${theme.breakpoints.sm} { - img { - width: ${pxRem(smBreakpointSize)}; - height: ${pxRem(smBreakpointSize)}; - } - } -`; - -const ChoosePhotoLabel = styled.label` - padding-top: ${theme.spacing[16]}; - ${theme.breakpoints.sm} { - padding-top: ${theme.spacing[24]}; - } -`; - -const ChoosePhotoSpan = styled.span` - color: ${theme.colors.hyper}; - font-weight: ${theme.fontWeight.title}; - cursor: pointer; -`; - -const HiddenInput = styled(Input)` - display: none; -`; - -const StyledFormError = styled(FormError)` - position: initial; - text-align: center; -`; - -export const AvatarChooser: React.FC = ({ - src: existingSrc, - onImageChanged, - error, - register, - validate = validatePhotoUpload, - name = 'Avatar Photo', -}) => { - const [imageSrc, setImageSrc] = useState(existingSrc); - - const choosePhotoLabelRef = useRef(null); - - const onChange = useCallback( - (event: React.FormEvent) => { - const target = event?.target as HTMLInputElement; - const imageFilelist = target?.files; - const imageFile = imageFilelist?.[0]; - - onImageChanged?.(imageFilelist!); - if (imageFile) setImageSrc(URL.createObjectURL(imageFile)); - }, - [setImageSrc, onImageChanged] - ); - - // Need to simulate Enter and Space keyboard presses to activate the - // file uploader here since it's not a real button. - const onChooseUploadKeyPress = useCallback( - (event: React.KeyboardEvent) => { - if (event.key === 'Enter' || event.key === ' ') - choosePhotoLabelRef.current?.click(); - }, - [choosePhotoLabelRef] - ); - - return ( - - - - - Choose Photo - - - - {error && {error}} - - ); -}; - -const validatePhotoUpload = (files: FileList): boolean | string => { - const MAX_FILE_SIZE = 5242880; - const MAX_FILE_SIZE_IN_MB = 5; - - const file = files?.item(0); - if (!file) return true; - - const { type, size } = file; - if (!['image/jpeg', 'image/png'].includes(type)) - return 'Please upload a jpeg or png file.'; - - if (size > MAX_FILE_SIZE) - return `Sorry, we cannot accept files larger than ${MAX_FILE_SIZE_IN_MB} MB.`; - - return true; -}; diff --git a/packages/gamut-labs/src/Banner/__tests__/Banner.test.tsx b/packages/gamut-labs/src/Banner/__tests__/Banner.test.tsx deleted file mode 100644 index e88e021e16..0000000000 --- a/packages/gamut-labs/src/Banner/__tests__/Banner.test.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import { theme } from '@codecademy/gamut-styles'; -import { setupRtl } from '@codecademy/gamut-tests'; -import { fireEvent, queryByAttribute } from '@testing-library/dom'; - -import { Banner, BannerVariant } from '..'; - -const getById = queryByAttribute.bind(null, 'id'); - -const onClose = jest.fn(); -const onCtaClick = jest.fn(); - -const renderView = setupRtl(Banner, { - onClose, - children: 'Hello world', - id: 'banner', -}); - -describe('Banner', () => { - it('renders children markdown children', () => { - const { view } = renderView(); - - view.getByText('Hello world'); - }); - - it('renders a button when a cta is provided in markdown', () => { - const { view } = renderView({ - onCtaClick, - children: '[Hello](/)', - }); - - const button = view.getByRole('link', { name: 'Hello' }); - - fireEvent.click(button); - - expect(onCtaClick).toHaveBeenCalled(); - }); - - it('calls the onClose callback when the close icon is clicked', () => { - const { view } = renderView(); - - fireEvent.click(view.getByLabelText('dismiss')); - - expect(onClose).toHaveBeenCalled(); - }); - - test.each([ - ['undefined', undefined], - ['null', null], - ['not a banner variant', ('test' as unknown) as BannerVariant], - ['navy', 'navy' as const], - ])('renders navy background when variant is %s', (_, bannerVariant) => { - const { view } = renderView({ variant: bannerVariant }); - - const background = getById(view.container, 'banner'); - expect(background).toHaveStyle( - `--color-background-current: ${theme.colors.navy}` - ); - }); - - it('renders yellow background when variant is yellow', () => { - const { view } = renderView({ - variant: 'yellow', - }); - - const background = getById(view.container, 'banner'); - expect(background).toHaveStyle( - `--color-background-current: ${theme.colors.yellow}` - ); - }); -}); diff --git a/packages/gamut-labs/src/Banner/index.tsx b/packages/gamut-labs/src/Banner/index.tsx deleted file mode 100644 index 67573ccd22..0000000000 --- a/packages/gamut-labs/src/Banner/index.tsx +++ /dev/null @@ -1,96 +0,0 @@ -import { Box, IconButton, Markdown, TextButton } from '@codecademy/gamut'; -import { MiniDeleteIcon } from '@codecademy/gamut-icons'; -import { Background, BackgroundProps, system } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import { useMemo } from 'react'; -import * as React from 'react'; - -export type BannerVariant = typeof bannerVariants[number]; -const bannerVariants = ['navy', 'yellow'] as const; - -const isAllowedVariant = ( - variant: string | undefined | null -): variant is BannerVariant => - bannerVariants.includes(variant as BannerVariant); - -export interface BannerProps extends Omit { - children: string; - /** Visual variation for banners, defaults to navy */ - variant?: BannerVariant | null; - /** Callback called when the user closes the banner. */ - onClose: () => void; - /** Call to action click callback */ - onCtaClick?: () => void; -} - -const BannerContainer = styled(Background)( - system.css({ - width: '100%', - p: 4, - display: 'grid', - gridTemplateColumns: '2rem minmax(0, 1fr) 2rem', - gridTemplateAreas: "'empty content close'", - columnGap: 8, - alignItems: 'center', - textAlign: 'center', - }) -); - -const BannerMarkdown = styled(Markdown)(system.css({ fontSize: 'inherit' })); - -const bindBannerAnchor = (onCtaClick?: BannerProps['onCtaClick']) => ({ - allowedAttributes: ['href', 'target'], - component: TextButton, - processNode: (node: unknown, props: { onClick?: () => void }) => ( - { - onCtaClick?.(); - props?.onClick?.(); - }} - mx={4} - size="small" - target="_BLANK" - /> - ), -}); - -export const Banner: React.FC = ({ - children, - variant: rawVariant, - onCtaClick, - onClose, - ...rest -}: BannerProps) => { - const overrides = useMemo( - () => ({ - a: bindBannerAnchor(onCtaClick), - }), - [onCtaClick] - ); - - // Contentful is unable to programmatically communicate what values it does/doesn't allow in these kinds of fields, - // which makes it difficult for us to ensure the Contentful configuration hasn't diverged from Gamut restrictions. - const variant = isAllowedVariant(rawVariant) ? rawVariant : 'navy'; - - return ( - - - - - - - - - ); -}; diff --git a/packages/gamut-labs/src/BetaSticker/index.tsx b/packages/gamut-labs/src/BetaSticker/index.tsx deleted file mode 100644 index de10cb47a6..0000000000 --- a/packages/gamut-labs/src/BetaSticker/index.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { FlexBox, Text } from '@codecademy/gamut'; -import { useTheme } from '@emotion/react'; -import * as React from 'react'; - -type BetaStickerProps = { - children?: never; -}; - -export const BetaSticker: React.FC = () => { - const { - colors: { text }, - } = useTheme(); - return ( - - - BETA - - - ); -}; diff --git a/packages/gamut-labs/src/Byline/__tests__/Byline.test.tsx b/packages/gamut-labs/src/Byline/__tests__/Byline.test.tsx deleted file mode 100644 index cffe559c5a..0000000000 --- a/packages/gamut-labs/src/Byline/__tests__/Byline.test.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; - -import { Byline } from '..'; - -const renderView = setupRtl(Byline, { - firstName: 'César', - lastName: 'Milan', - occupation: 'Dog Whisperer', - location: 'Los Angeles, CA', -}); - -describe('Byline', () => { - it('displays a location when present', () => { - const { view } = renderView(); - - view.getByText('Los Angeles, CA'); - }); -}); diff --git a/packages/gamut-labs/src/Byline/index.tsx b/packages/gamut-labs/src/Byline/index.tsx deleted file mode 100644 index 2880a634b5..0000000000 --- a/packages/gamut-labs/src/Byline/index.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { Box, FlexBox } from '@codecademy/gamut'; -import { LocationPinIcon } from '@codecademy/gamut-icons'; -import * as React from 'react'; - -export type BylineProps = { - firstName: string; - occupation: string; - location?: string; - company?: string; - lastName?: string; -}; - -export const Byline: React.FC = ({ - firstName, - occupation, - location, - company, - lastName, -}) => ( -
- - {firstName} - {lastName && ( - {` ${lastName}`} - )} - - - {occupation} - {company && ( - {` @ ${company}`} - )} - - {location && ( - - - - {location} - - - )} -
-); diff --git a/packages/gamut-labs/src/CareerPathCard/__tests__/CareerPathCard.test.tsx b/packages/gamut-labs/src/CareerPathCard/__tests__/CareerPathCard.test.tsx deleted file mode 100644 index ef67ef221b..0000000000 --- a/packages/gamut-labs/src/CareerPathCard/__tests__/CareerPathCard.test.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; - -import { - CourseDifficulty, - EnrollmentStatus, -} from '../../ContentGroupBaseCard/types'; -import { CareerPathCard } from '../index'; - -const renderView = setupRtl(CareerPathCard, { - enrollmentStatus: EnrollmentStatus.None, - lessonCount: 46, - shortDescription: - 'BI Data Analysts use Python and SQL to query, analyze, and visualize data.', - difficulty: CourseDifficulty.Beginner, - title: 'Python 101', - imageUrl: - 'https://static-assets.codecademy.com/components/curriculum/path/front-end-engineer-career-path/curriculum-card.svg', - courseCount: 18, -}); - -describe('CareerPathCard', () => { - it('renders career in header', () => { - const { view } = renderView(); - view.getByText('Career path'); - }); - - it('renders professional certification if career journey exists for the career', () => { - const { view } = renderView({ hasCareerJourney: true }); - view.getByText('Professional Certification'); - }); - - it('renders certificate for other career paths', () => { - const { view } = renderView({ hasCareerJourney: false }); - view.getByText('Certificate'); - }); - - it('renders salary data when provided', () => { - const { view } = renderView({ - salary: { upperBound: 200000, lowerBound: 145000 }, - }); - view.getByText('Average Salary (US)'); - view.getByText('$145K - 200K'); - }); - - it('does not render course count data when salary data is provided', () => { - const { view } = renderView({ - salary: { upperBound: 200000, lowerBound: 145000 }, - }); - view.getByText('Average Salary (US)'); - view.getByText('$145K - 200K'); - expect(view.queryByText('18 Courses')).toBeNull(); - }); - - it('renders course count data when salary data is not provided', () => { - const { view } = renderView({}); - view.getByText('18 Courses'); - }); - - it('does not render salary information when salary data is not provided', () => { - const { view } = renderView({}); - expect(view.queryByText('Average Salary (US)')).toBeNull(); - }); -}); diff --git a/packages/gamut-labs/src/CareerPathCard/index.tsx b/packages/gamut-labs/src/CareerPathCard/index.tsx deleted file mode 100644 index a9006fc1e0..0000000000 --- a/packages/gamut-labs/src/CareerPathCard/index.tsx +++ /dev/null @@ -1,83 +0,0 @@ -import { Text } from '@codecademy/gamut'; - -import { getPathImageUrl } from '../ContentGroupBaseCard/helpers'; -import { ContentGroupBaseCard } from '../ContentGroupBaseCard/index'; -import { - CertificateComponent, - CourseCountComponent, - Divider, -} from '../ContentGroupBaseCard/shared'; -import { - CourseDifficulty, - EnrollmentStatus, - SalaryRange, -} from '../ContentGroupBaseCard/types'; - -type CareerPathCardProps = { - title: string; - lessonCount: number; - enrollmentStatus: EnrollmentStatus; - shortDescription?: string | null; - difficulty?: CourseDifficulty | null; - hasCareerJourney?: boolean; - imageUrl: string; - courseCount: number; - isFullSize?: boolean; - salary?: SalaryRange; -}; - -const SalaryComponent: React.FC = ({ lowerBound, upperBound }) => { - return ( - - Average Salary (US){' '} - - ${lowerBound / 1000}K - {upperBound / 1000}K - - - ); -}; -export const CareerPathCard: React.FC = ({ - imageUrl, - courseCount, - shortDescription, - difficulty, - enrollmentStatus, - lessonCount, - title, - isFullSize, - hasCareerJourney, - salary, -}) => { - return ( - - - {salary ? ( - <> - - - ) : ( - <> - - - )} - - - - - ); -}; diff --git a/packages/gamut-labs/src/ContentGroupBaseCard/__tests__/ContentGroupBaseCard.test.tsx b/packages/gamut-labs/src/ContentGroupBaseCard/__tests__/ContentGroupBaseCard.test.tsx deleted file mode 100644 index 76acf3f9b5..0000000000 --- a/packages/gamut-labs/src/ContentGroupBaseCard/__tests__/ContentGroupBaseCard.test.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; - -import { ContentGroupBaseCard } from '..'; -import { CourseDifficulty, EnrollmentStatus } from '../types'; - -const renderView = setupRtl(ContentGroupBaseCard, { - headerBackgroundColor: 'pink', - headerText: 'Course', - headingLevel: 'h3', - title: 'Python 101', - numLessons: 20, -}); - -const image = - 'https://static-assets.codecademy.com/components/curriculum/path/front-end-engineer-career-path/curriculum-card.svg'; - -describe('ContentGroupBaseCard', () => { - it('displays the header title', () => { - const { view } = renderView(); - - expect(view.getByRole('heading', { level: 3 })).toHaveTextContent( - 'Python 101' - ); - }); - - it('appends the word Lessons to the number of lessons', () => { - const { view } = renderView(); - - const lessonsContent = view.getByTestId('card-num-lessons'); - expect(lessonsContent).toHaveTextContent('20 Lessons'); - }); - - it('appends the word Friendly if the difficulty level is Beginner', () => { - const { view } = renderView({ - difficulty: CourseDifficulty.Beginner, - }); - - const difficultyContent = view.getByTestId('card-difficulty'); - expect(difficultyContent).toHaveTextContent('Beginner Friendly'); - }); - - it('displays an image on the full size card', () => { - const { view } = renderView({ - isFullSize: true, - imageSrc: image, - }); - - expect(view.getAllByRole('img', { hidden: true })[1]).toHaveAttribute( - 'src', - image - ); - }); - - it('displays an enrolled state', () => { - const { view } = renderView({ - enrollmentStatus: EnrollmentStatus.InProgress, - }); - - view.getByText('In progress...'); - }); - - it('displays a completed state', () => { - const { view } = renderView({ - enrollmentStatus: EnrollmentStatus.Completed, - }); - - view.getByText('Course completed!'); - }); -}); diff --git a/packages/gamut-labs/src/ContentGroupBaseCard/helpers.ts b/packages/gamut-labs/src/ContentGroupBaseCard/helpers.ts deleted file mode 100644 index ca285d8adb..0000000000 --- a/packages/gamut-labs/src/ContentGroupBaseCard/helpers.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { EnrollmentStatus } from './types'; - -export const getPathImageUrl = ( - enrollment: EnrollmentStatus, - imageUrl: string -) => { - if (enrollment === EnrollmentStatus.InProgress) { - return imageUrl.replace('-inProgress', ''); - } - if (enrollment === EnrollmentStatus.Completed) { - return imageUrl.replace('-completed', ''); - } - return imageUrl; -}; diff --git a/packages/gamut-labs/src/ContentGroupBaseCard/index.tsx b/packages/gamut-labs/src/ContentGroupBaseCard/index.tsx deleted file mode 100644 index 71df0c7088..0000000000 --- a/packages/gamut-labs/src/ContentGroupBaseCard/index.tsx +++ /dev/null @@ -1,165 +0,0 @@ -import { - Box, - Card, - FlexBox, - GridBox, - HeadingTags, - Text, -} from '@codecademy/gamut'; -import { LevelIcon } from '@codecademy/gamut-icons'; -import { Background, Colors } from '@codecademy/gamut-styles'; -import pluralize from 'pluralize'; -import React from 'react'; - -import { Divider } from './shared'; -import { CourseDifficulty, EnrollmentStatus } from './types'; - -const Image = Box.withComponent('img'); - -type ContentGroupBaseCardProps = { - headerBackgroundColor: Colors; - headerText: string; - title: string; - headingLevel?: HeadingTags; - description?: string | null; - difficulty?: CourseDifficulty | null; - numLessons: number; - imageSrc?: string; - isFullSize?: boolean; - shadow?: 'small' | 'outline' | 'medium'; - enrollmentStatus?: EnrollmentStatus; - children?: React.ReactNode; -}; - -type EnrollmentStatusAssets = { - [status in - | EnrollmentStatus.InProgress - | EnrollmentStatus.Completed - | EnrollmentStatus.None]: { text: string; backgroundColor: Colors }; -}; - -export const ContentGroupBaseCard: React.FC = ({ - headerBackgroundColor, - headerText, - title, - headingLevel, - description, - difficulty, - numLessons, - imageSrc, - isFullSize = false, - shadow = 'medium', - enrollmentStatus, - children, -}) => { - const enrollmentAssets: EnrollmentStatusAssets = { - completed: { text: headerText + ' completed!', backgroundColor: 'green' }, - inProgress: { text: 'In progress...', backgroundColor: 'yellow' }, - none: { text: headerText, backgroundColor: headerBackgroundColor }, - }; - - const isEnrolled = - enrollmentStatus === EnrollmentStatus.InProgress || - enrollmentStatus === EnrollmentStatus.Completed; - - return ( - - - - {enrollmentStatus - ? enrollmentAssets[enrollmentStatus].text - : headerText} - - - - - - - {title} - - {description && ( - - {description} - - )} - - - {children} - - - {difficulty && ( - - - - - - {difficulty} - {difficulty === CourseDifficulty.Beginner && <> Friendly} - - - )} - {numLessons > 0 && ( - - - {numLessons} {pluralize('Lessons', numLessons)} - - - )} - - - - - - - - - ); -}; diff --git a/packages/gamut-labs/src/ContentGroupBaseCard/shared.tsx b/packages/gamut-labs/src/ContentGroupBaseCard/shared.tsx deleted file mode 100644 index 78c9db11e0..0000000000 --- a/packages/gamut-labs/src/ContentGroupBaseCard/shared.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { Box, FlexBox, Text } from '@codecademy/gamut'; -import { CertificateIcon } from '@codecademy/gamut-icons'; -import { CheckerDense } from '@codecademy/gamut-patterns'; -import pluralize from 'pluralize'; - -export const Divider: React.FC = () => { - return ( - // the height and position properties are necessary for iOS devices - - - - ); -}; - -export const CertificateComponent: React.FC<{ professionalCert?: boolean }> = ({ - professionalCert, -}) => { - return ( - <> - - - - - - With{' '} - - {professionalCert ? `Professional Certification` : `Certificate`} - - - - - ); -}; - -export const CourseCountComponent: React.FC<{ count: number }> = ({ - count, -}) => { - return ( - - Includes{' '} - - {count} {pluralize('Courses', count)} - - - ); -}; diff --git a/packages/gamut-labs/src/ContentGroupBaseCard/types.ts b/packages/gamut-labs/src/ContentGroupBaseCard/types.ts deleted file mode 100644 index c5c60d44d2..0000000000 --- a/packages/gamut-labs/src/ContentGroupBaseCard/types.ts +++ /dev/null @@ -1,16 +0,0 @@ -export enum CourseDifficulty { - Beginner = 'Beginner', - Intermediate = 'Intermediate', - Advanced = 'Advanced', -} - -export enum EnrollmentStatus { - InProgress = 'inProgress', - Completed = 'completed', - None = 'none', -} - -export interface SalaryRange { - lowerBound: number; - upperBound: number; -} diff --git a/packages/gamut-labs/src/CourseCard/__tests__/CourseCard.test.tsx b/packages/gamut-labs/src/CourseCard/__tests__/CourseCard.test.tsx deleted file mode 100644 index 52fee7d590..0000000000 --- a/packages/gamut-labs/src/CourseCard/__tests__/CourseCard.test.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; - -import { CourseCard } from '..'; -import { mockFreeCourseContent, mockProCourseContent } from './__fixtures__'; - -const renderView = setupRtl(CourseCard); - -describe('CourseCard', () => { - describe('When the course is free', () => { - it('renders Free course in header', () => { - const { view } = renderView(mockFreeCourseContent); - view.getByText('Free course'); - }); - - it('does not show certificate copy', () => { - const { view } = renderView(mockFreeCourseContent); - expect(view.queryByText('Certificate')).toBeFalsy(); - }); - - it('does not show certificate even if course can grant certificate', () => { - const { view } = renderView({ - ...mockFreeCourseContent, - grantsCertificate: true, - }); - expect(view.queryByText('Certificate')).toBeFalsy(); - }); - }); - - describe('When the course is pro', () => { - it('renders just Course in header', () => { - const { view } = renderView(mockProCourseContent); - view.getByText('Course'); - }); - - it('renders certificate when the course grants a certificate', () => { - const { view } = renderView(mockProCourseContent); - view.getByText('Certificate'); - }); - - it('does not render certificate when the course does not grant a certificate', () => { - const { view } = renderView({ - ...mockProCourseContent, - grantsCertificate: false, - }); - expect(view.queryByText('Certificate')).toBeFalsy(); - }); - }); -}); diff --git a/packages/gamut-labs/src/CourseCard/__tests__/__fixtures__/index.tsx b/packages/gamut-labs/src/CourseCard/__tests__/__fixtures__/index.tsx deleted file mode 100644 index e6216996eb..0000000000 --- a/packages/gamut-labs/src/CourseCard/__tests__/__fixtures__/index.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { - CourseDifficulty, - EnrollmentStatus, -} from '../../../ContentGroupBaseCard/types'; -import { CourseCardProps } from '../..'; - -export const mockFreeCourseContent: CourseCardProps = { - difficulty: CourseDifficulty.Beginner, - enrollmentStatus: EnrollmentStatus.None, - grantsCertificate: false, - lessonCount: 20, - pro: false, - shortDescription: 'This is a free course card.', - title: 'Free Title 101', -}; - -export const mockProCourseContent: CourseCardProps = { - difficulty: CourseDifficulty.Advanced, - enrollmentStatus: EnrollmentStatus.None, - grantsCertificate: true, - lessonCount: 10, - pro: true, - shortDescription: 'This is a pro course card.', - title: 'Pro Title 101', -}; diff --git a/packages/gamut-labs/src/CourseCard/index.tsx b/packages/gamut-labs/src/CourseCard/index.tsx deleted file mode 100644 index 7f534123bd..0000000000 --- a/packages/gamut-labs/src/CourseCard/index.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import { ContentGroupBaseCard } from '../ContentGroupBaseCard'; -import { CertificateComponent, Divider } from '../ContentGroupBaseCard/shared'; -import { - CourseDifficulty, - EnrollmentStatus, -} from '../ContentGroupBaseCard/types'; - -export type CourseCardProps = { - title: string; - lessonCount: number; - grantsCertificate: boolean; - enrollmentStatus: EnrollmentStatus; - pro: boolean; - shortDescription?: string | null; - difficulty?: CourseDifficulty | null; - isFullSize?: boolean; -}; - -export const CourseCard: React.FC = ({ - title, - lessonCount, - grantsCertificate, - shortDescription, - difficulty, - enrollmentStatus, - pro, - isFullSize, -}) => { - // only show certificates for pro exclusive courses, since only pro users can do pro courses & only pro users can gain certificates - // edge case here: pro users who are logged in wont be able to tell - from the card - that a free course can grant them a cert as well - const showCertificate = grantsCertificate && pro; - - return ( - - {showCertificate && ( - <> - - - - )} - - ); -}; diff --git a/packages/gamut-labs/src/CurriculumCard/BottomTag/__tests__/BottomTag.test.tsx b/packages/gamut-labs/src/CurriculumCard/BottomTag/__tests__/BottomTag.test.tsx deleted file mode 100644 index e4f80b4a01..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/BottomTag/__tests__/BottomTag.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; - -import { BottomTag } from '../index'; - -const renderView = setupRtl(BottomTag, { - text: 'this is a test', - color: 'pink', -}); - -describe('CurriculumCard BottomTag', () => { - it('displays text', () => { - const { view } = renderView(); - view.getByText('this is a test'); - }); -}); diff --git a/packages/gamut-labs/src/CurriculumCard/BottomTag/index.tsx b/packages/gamut-labs/src/CurriculumCard/BottomTag/index.tsx deleted file mode 100644 index af4a89b759..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/BottomTag/index.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { Box, Text } from '@codecademy/gamut'; -import * as React from 'react'; - -export type TagColor = 'blue' | 'green' | 'pink'; -export type BottomTagProps = { - text: string; - color: TagColor; -}; - -const colorMap = { - blue: 'paleBlue', - green: 'paleGreen', - pink: `palePink`, -} as const; - -export const BottomTag: React.FC = ({ text, color }) => { - return ( - - - {text} - - - ); -}; diff --git a/packages/gamut-labs/src/CurriculumCard/Difficulty/__tests__/Difficulty.test.tsx b/packages/gamut-labs/src/CurriculumCard/Difficulty/__tests__/Difficulty.test.tsx deleted file mode 100644 index 770a6485a0..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/Difficulty/__tests__/Difficulty.test.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; - -import { Difficulty } from '../index'; - -const renderView = setupRtl(Difficulty, {}); - -describe('CurriculumCard Difficulty', () => { - it('displays beginner friendly difficulty', () => { - const { view } = renderView({ difficulty: 'Beginner' }); - view.getByText('Beginner friendly'); - }); - - it('displays intermediate difficulty', () => { - const { view } = renderView({ difficulty: 'Intermediate' }); - view.getByText('Intermediate'); - }); - - it('displays advance difficulty', () => { - const { view } = renderView({ difficulty: 'Advanced' }); - view.getByText('Advanced'); - }); -}); diff --git a/packages/gamut-labs/src/CurriculumCard/Difficulty/helpers.ts b/packages/gamut-labs/src/CurriculumCard/Difficulty/helpers.ts deleted file mode 100644 index 69ae56babf..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/Difficulty/helpers.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { ContainerDifficulty, ContainerDifficultyUnion } from './types'; - -/** - * calculate the number associated with the difficulty level for a particular content - * - * @param difficulty level of difficulty for a particular content - * @returns 0 indicating beginner, 1 intermediate and 2 for advanced content. - */ -export const getDifficultyNumber = < - Type extends ContainerDifficultyUnion | ContainerDifficulty ->( - difficulty: Type -): 0 | 1 | 2 => { - if (difficulty === ContainerDifficulty.Beginner) return 0; - if (difficulty === ContainerDifficulty.Intermediate) return 1; - - return 2; -}; diff --git a/packages/gamut-labs/src/CurriculumCard/Difficulty/index.tsx b/packages/gamut-labs/src/CurriculumCard/Difficulty/index.tsx deleted file mode 100644 index 75fa0c5349..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/Difficulty/index.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { Box, Text } from '@codecademy/gamut'; -import { pxRem, system, theme } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import { times, uniqueId } from 'lodash'; -import * as React from 'react'; - -import { getDifficultyNumber } from './helpers'; -import { ContentDifficultyProps, DifficultyString } from './types'; - -const DifficultySpan = styled(Box)( - system.variant({ - base: { - display: 'inline-block', - marginRight: pxRem(4), - verticalAlign: 'middle', - border: 1, - background: theme.colors.navy, - marginBottom: pxRem(1), - }, - defaultVariant: 'small', - variants: { - small: { - width: pxRem(8), - height: pxRem(8), - borderRadius: pxRem(8), - }, - medium: { - width: pxRem(10), - height: pxRem(10), - borderRadius: pxRem(10), - }, - }, - }) -); - -export const Difficulty: React.FC = ({ - difficulty, - variant, -}) => { - const difficultyNumber = getDifficultyNumber(difficulty); - - return ( - <> - {times(difficultyNumber + 1, () => ( - - ))} - {DifficultyString[difficultyNumber]} - - ); -}; diff --git a/packages/gamut-labs/src/CurriculumCard/Difficulty/types.ts b/packages/gamut-labs/src/CurriculumCard/Difficulty/types.ts deleted file mode 100644 index eed995d221..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/Difficulty/types.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Exported enums sometimes come up undefined when used in Jest tests because of the way they are compiled. Be careful when using this in test mocks. - */ -export enum ContainerDifficulty { - Beginner = 'Beginner', - Intermediate = 'Intermediate', - Advanced = 'Advanced', -} - -/** - * converting ContainerDifficulty enum into union type - */ -export type ContainerDifficultyUnion = `${ContainerDifficulty}`; - -export type DifficultyVariant = 'small' | 'medium'; - -export type ContentDifficultyProps = { - difficulty: ContainerDifficulty | ContainerDifficultyUnion; - variant?: DifficultyVariant; -}; - -export enum DifficultyString { - 'Beginner friendly', - 'Intermediate', - 'Advanced', -} diff --git a/packages/gamut-labs/src/CurriculumCard/Footer/__tests__/Footer.test.tsx b/packages/gamut-labs/src/CurriculumCard/Footer/__tests__/Footer.test.tsx deleted file mode 100644 index 0f61f5a3a9..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/Footer/__tests__/Footer.test.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; - -import { Footer } from '../index'; - -const renderView = setupRtl(Footer, { - tag: 'tag', - tagColor: 'green', -}); - -describe('CurriculumCard Footer', () => { - it('displays bottom tag by default', () => { - const { view } = renderView(); - view.getByText('tag'); - }); - - it('does not show bottom tag when inProgress', () => { - const { view } = renderView({ progressState: 'inProgress' }); - expect(view.queryByText('tag')).toBeFalsy(); - }); - - it('does not show bottom tag when completed', () => { - const { view } = renderView({ progressState: 'completed' }); - expect(view.queryByText('tag')).toBeFalsy(); - }); - - it('displays a beta sticker', () => { - const { view } = renderView({ beta: true }); - view.getByText('BETA'); - }); - - it('does not display tag information when beta is true', () => { - const { view } = renderView({ beta: true }); - expect(view.queryByText('tag')).toBeFalsy(); - }); - - it('does not display beta sticker when inProgress', () => { - const { view } = renderView({ beta: true, progressState: 'inProgress' }); - expect(view.queryByText('BETA')).toBeFalsy(); - }); - - it('does not display beta sticker when completed', () => { - const { view } = renderView({ beta: true, progressState: 'completed' }); - expect(view.queryByText('BETA')).toBeFalsy(); - }); - - it('displays enrolled footer variant by default', () => { - const { view } = renderView({ progressState: 'inProgress' }); - view.getByText('Enrolled...'); - }); - - it('displays inProgress footer variant', () => { - const { view } = renderView({ - progressState: 'inProgress', - footerTextVariant: 'inProgress', - }); - expect(view.queryByText('In Progress...')).toBeTruthy(); - }); -}); diff --git a/packages/gamut-labs/src/CurriculumCard/Footer/index.tsx b/packages/gamut-labs/src/CurriculumCard/Footer/index.tsx deleted file mode 100644 index e37777767b..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/Footer/index.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { Box, FlexBox, Text } from '@codecademy/gamut'; -import * as React from 'react'; - -import { BetaSticker } from '../../BetaSticker'; -import { BottomTag, TagColor } from '../BottomTag/index'; - -export type FooterProps = { - beta?: boolean; - progressState?: 'completed' | 'inProgress'; - tag?: string; - tagColor?: TagColor; - footerTextVariant?: 'enrolled' | 'inProgress'; -}; - -export const Footer: React.FC = ({ - beta, - progressState, - tag, - tagColor, - footerTextVariant, -}) => { - if (progressState) { - return ( - - {progressState === 'completed' && ( - - Completed - - )} - {progressState === 'inProgress' && ( - - - {footerTextVariant === 'inProgress' - ? 'In Progress...' - : 'Enrolled...'} - - Keep Going - - )} - - ); - } - if (beta) { - return ( - - - - ); - } - if (tag && tagColor) { - return ; - } - return null; -}; diff --git a/packages/gamut-labs/src/CurriculumCard/Image/__tests__/Image.test.tsx b/packages/gamut-labs/src/CurriculumCard/Image/__tests__/Image.test.tsx deleted file mode 100644 index ceabca482c..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/Image/__tests__/Image.test.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; -import { fireEvent } from '@testing-library/dom'; - -import { Image } from '..'; - -const image = 'test_url'; - -const renderView = setupRtl(Image, { image }); - -describe('CurriculumCard Image', () => { - it('displays an image when image exists', () => { - const { view } = renderView(); - expect(view.getByRole('img')).toHaveAttribute('src', image); - }); - - it('should not have alt text', () => { - const { view } = renderView(); - - expect(view.getByRole('img')).toHaveAttribute('alt', ''); - }); - - it('sets a placeholder image src if an error occurs loading the real image', () => { - const { view } = renderView(); - - fireEvent.error(view.getByRole('img'), new Event('error')); - - expect(view.getByRole('img').getAttribute('src')).toMatch('.svg'); - }); -}); diff --git a/packages/gamut-labs/src/CurriculumCard/Image/index.tsx b/packages/gamut-labs/src/CurriculumCard/Image/index.tsx deleted file mode 100644 index ece2a90659..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/Image/index.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import { variant } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import { useState } from 'react'; -import * as React from 'react'; -import { useIsomorphicLayoutEffect } from 'react-use'; - -import { BASE_STATIC_ASSET_PATH } from '../../remoteAssets/components'; - -const variants = variant({ - base: { - display: 'block', - margin: '0 auto', - }, - variants: { - default: { - width: 160, - }, - small: { - width: 111, - }, - }, -}); - -const StyledImg = styled.img(variants); - -type ProgressState = 'inProgress' | 'completed'; - -const getPlaceholderAssetPath = (pathProgressState?: ProgressState) => { - const progressState = pathProgressState ? `-${pathProgressState}` : ''; - return `${BASE_STATIC_ASSET_PATH}/curriculum/path/placeholder${progressState}.svg`; -}; - -export type ImageProps = { - image: string; - progressState?: ProgressState; - isSmall?: boolean; -}; - -export const Image: React.FC = ({ - image, - progressState, - isSmall, -}) => { - const [ready, setReady] = useState(false); - const [error, setError] = useState(false); - - /** Delay initial render once to ensure that rehydration does not conflict with portal mounting */ - useIsomorphicLayoutEffect(() => { - setReady(typeof document !== 'undefined'); - }, []); - - if (!ready) return null; - - const addDefaultImageSource = (event: React.SyntheticEvent) => { - if (!error) { - (event.target as HTMLImageElement).onerror = null; - (event.target as HTMLImageElement).src = getPlaceholderAssetPath( - progressState - ); - setError(true); - } - }; - - return ( - - ); -}; diff --git a/packages/gamut-labs/src/CurriculumCard/Subtitle/__tests__/Subtitle.test.tsx b/packages/gamut-labs/src/CurriculumCard/Subtitle/__tests__/Subtitle.test.tsx deleted file mode 100644 index beb04d96eb..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/Subtitle/__tests__/Subtitle.test.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; - -import { Subtitle } from '../index'; - -const renderView = setupRtl(Subtitle, { - difficulty: 'Intermediate', - scope: { lesson: 10 }, - showAltSubtitle: false, -}); - -describe('CurriculumCard > Subtitle', () => { - it('displays scope count', () => { - const { view } = renderView(); - view.getByText('10'); - view.getByText('Lessons'); - }); - - it('does not display scope count if scope count is undefined', () => { - const { view } = renderView({ scope: {} }); - - expect(view.queryByText('lesson')).toBeFalsy(); - }); - - it('does not display scope count if scope count is 0', () => { - const { view } = renderView({ scope: { lesson: 0, quiz: 10 } }); - - expect(view.queryByText('lesson')).toBeFalsy(); - }); - - it('does not show difficulty when displaying the alt subtitle', () => { - const { view } = renderView({ showAltSubtitle: true }); - - expect(view.queryByText('Beginner friendly')).toBeFalsy(); - expect(view.queryByText('Intermediate')).toBeFalsy(); - }); -}); diff --git a/packages/gamut-labs/src/CurriculumCard/Subtitle/helpers.tsx b/packages/gamut-labs/src/CurriculumCard/Subtitle/helpers.tsx deleted file mode 100644 index 21277d8c44..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/Subtitle/helpers.tsx +++ /dev/null @@ -1,9 +0,0 @@ -/* Quick and easy credit: https://stackoverflow.com/a/39835908 */ -export const pluralizeWithS = (scope: string, scopeCount: number) => { - // Out of all of our content types, only quizzes need a different way to be pluralized - if (scope.charAt(scope.length - 1) === 'z') { - return `${scope}${scopeCount !== 1 ? 'zes' : ''}`; - } - - return `${scope}${scopeCount !== 1 ? 's' : ''}`; -}; diff --git a/packages/gamut-labs/src/CurriculumCard/Subtitle/index.tsx b/packages/gamut-labs/src/CurriculumCard/Subtitle/index.tsx deleted file mode 100644 index 501b572e86..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/Subtitle/index.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { FlexBox, Text } from '@codecademy/gamut'; -import { capitalize } from 'lodash'; -import * as React from 'react'; - -import { Difficulty } from '../Difficulty'; -import { ContentDifficultyProps, DifficultyVariant } from '../Difficulty/types'; -import { pluralizeWithS } from './helpers'; - -export type SubtitleProps = Pick & { - scope: Record; - showAltSubtitle?: boolean; - difficultyVariant?: DifficultyVariant; -}; - -export const Subtitle: React.FC = ({ - difficulty, - scope, - showAltSubtitle = false, - difficultyVariant, -}) => { - const scopeToMap = Object.keys(scope).filter((val) => scope[val] > 0); - - const separatingChar = showAltSubtitle ? '|' : ','; - - return ( - <> - {!showAltSubtitle && ( - - - {scopeToMap.length ? separatingChar : null} - - )} - {scopeToMap.map((scopeType, index) => ( - - {scope[scopeType]}{' '} - - {capitalize(pluralizeWithS(scopeType, scope[scopeType]))} - {' '} - {index < scopeToMap.length - 1 && separatingChar}{' '} - - ))} - - ); -}; diff --git a/packages/gamut-labs/src/CurriculumCard/__tests__/CurriculumCard.test.tsx b/packages/gamut-labs/src/CurriculumCard/__tests__/CurriculumCard.test.tsx deleted file mode 100644 index 393c590518..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/__tests__/CurriculumCard.test.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import { setupRtl } from '@codecademy/gamut-tests'; - -import { ContainerDifficulty } from '../Difficulty/types'; -import { CurriculumCard } from '../index'; - -const renderView = setupRtl(CurriculumCard, { - difficulty: ContainerDifficulty.Beginner, - scope: { lesson: 12 }, - text: 'Course', - title: 'I am a card', -}); - -describe('CurriculumCard', () => { - it('loads', () => { - const { view } = renderView(); - view.getByText('I am a card'); - }); - - it('prefixes the content type with Free for free courses', () => { - const { view } = renderView({ - description: 'hey now!', - showDescription: true, - showProLogo: false, - }); - view.getByText('Free Course'); - }); - - it('does not prefix the content type with Free for courses that are pro only', () => { - const { view } = renderView({ - description: 'hey now!', - showDescription: true, - showProLogo: true, - }); - view.getByText('Course'); - expect(view.queryByText('Free Course')).toBeFalsy(); - }); - - it('does not display an image when image does not exist', () => { - const { view } = renderView(); - expect(view.queryByRole('img')).toBeFalsy(); - }); - - it('shows an enrolled state', () => { - const { view } = renderView({ progressState: 'inProgress' }); - view.getByText('Enrolled...'); - }); - - it('shows a completed state', () => { - const { view } = renderView({ progressState: 'completed' }); - view.getByText('Completed'); - }); - - it('shows a description when value is present and showDescription is true', () => { - const { view } = renderView({ - description: 'hey now!', - showDescription: true, - }); - view.getByText('hey now!'); - }); -}); diff --git a/packages/gamut-labs/src/CurriculumCard/index.tsx b/packages/gamut-labs/src/CurriculumCard/index.tsx deleted file mode 100644 index 8dff40ddce..0000000000 --- a/packages/gamut-labs/src/CurriculumCard/index.tsx +++ /dev/null @@ -1,202 +0,0 @@ -import { - Box, - Card, - CardProps, - FlexBox, - HeadingTags, - Text, -} from '@codecademy/gamut'; -import { pxRem, theme } from '@codecademy/gamut-styles'; -import styled from '@emotion/styled'; -import { useMemo } from 'react'; -import * as React from 'react'; - -import { TagColor } from './BottomTag/index'; -import { Footer } from './Footer/index'; -import { Image } from './Image/index'; -import { Subtitle, SubtitleProps } from './Subtitle'; - -export type ProgressState = 'inProgress' | 'completed'; - -export type FooterTextVariantType = 'enrolled' | 'inProgress'; - -const cardHeight = 180; - -const cardStyles = { - inProgress: 'yellow', - completed: 'navy', -} as const; - -export type CurriculumCardProps = SubtitleProps & { - beta?: boolean; - /** - * Displays the curriculum type above the title - */ - text: string; - title: string; - headingLevel?: HeadingTags; - image?: string; - isFullSize?: boolean; - isStaticSize?: boolean; - progressState?: ProgressState; - showProLogo?: boolean; - tag?: string; - tagColor?: TagColor; - showAltSubtitle?: boolean; - /** - * Changes In Progress card footer text from "Enrolled..." to "In Progress..." - */ - footerTextVariant?: FooterTextVariantType; - /** - * optional text to be displayed below card subtitle - */ - description?: string; - /** - * allows description to be shown in card body. - */ - showDescription?: boolean; - /** - * career path cards are displayed with a variant style / decorative element - */ - showCareerPathVariant?: boolean; - /** - * displays inner content with a horizontal orientation - */ - horizontalOrientation?: boolean; - - /** - * custom minimum height for curriculum card in pixels - */ - minHeight?: CardProps['minHeight']; - /** - * custom minimum width for curriculum card in pixels - */ - minWidth?: CardProps['minWidth']; -}; - -const LineDecoration = styled(Box)` - border-top: 1px solid - ${({ inProgress }: { inProgress?: boolean }) => - inProgress ? theme.colors.navy : theme.colors['navy-200']}; -`; - -/** - * - * @deprecated This component is deprecated - * - * Please use the CareerPathCard, SkillPathCard, or CourseCard instead - */ - -export const CurriculumCard: React.FC = ({ - beta, - difficulty, - description, - headingLevel = 'h3', - image, - isFullSize = false, - isStaticSize = false, - progressState, - scope, - tag, - tagColor, - text, - title, - showCareerPathVariant, - showAltSubtitle = false, - footerTextVariant = 'enrolled', - showDescription, - difficultyVariant, - horizontalOrientation, - minHeight, - minWidth, - showProLogo: pro, -}) => { - const boxVariant = progressState && cardStyles[progressState]; - - const isCareerPathVariant = - text.toLowerCase() === 'career path' && showCareerPathVariant; - - const minimumHeight = useMemo(() => { - if (minHeight) return minHeight; - return isStaticSize - ? pxRem(285) - : isFullSize - ? pxRem(cardHeight * 2 + 32) - : pxRem(cardHeight); - }, [isFullSize, isStaticSize, minHeight]); - - const contentType = text === 'Course' && !pro ? 'Free Course' : text; - return ( - - - - {contentType} - - - {title} - - {!progressState && ( - - - - )} - {isCareerPathVariant && ( - - )} - {(isCareerPathVariant || showDescription) && ( - - {description} - - )} - - {isFullSize && image && ( - - - - )} -