@codecademy/brand 3.0.0-alpha.da574fc3ea.0 → 3.1.0-alpha.0155f9e803.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/MarketingBanner.d.ts +3 -0
  2. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/MarketingBanner.js +83 -0
  3. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/NavPanels.d.ts +10 -0
  4. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/NavPanels.js +232 -0
  5. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/consts.d.ts +13 -0
  6. package/dist/AppHeader/AppHeaderElements/{AppHeaderCatalogSectionVariant → AppHeaderCatalogDropdown}/consts.js +17 -4
  7. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.js +13 -7
  8. package/dist/AppHeader/AppHeaderElements/AppHeaderDietCard/index.d.ts +10 -0
  9. package/dist/AppHeader/AppHeaderElements/AppHeaderDietCard/index.js +82 -0
  10. package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownProvider/index.d.ts +1 -0
  11. package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownProvider/index.js +5 -2
  12. package/dist/AppHeader/AppHeaderElements/AppHeaderFeatureCard/index.d.ts +4 -0
  13. package/dist/AppHeader/AppHeaderElements/AppHeaderFeatureCard/index.js +52 -0
  14. package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/NavPanels.d.ts +11 -0
  15. package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/NavPanels.js +140 -0
  16. package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/consts.d.ts +18 -0
  17. package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/consts.js +273 -0
  18. package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/index.js +31 -5
  19. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/AppHeaderSection.test.js +83 -0
  20. package/dist/AppHeader/AppHeaderElements/{AppHeaderCatalogSectionVariant → AppHeaderSection}/NavSection.d.ts +2 -2
  21. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavSection.js +79 -0
  22. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/PanelLayout.d.ts +10 -0
  23. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/PanelLayout.js +54 -0
  24. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/index.d.ts +17 -0
  25. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/index.js +86 -0
  26. package/dist/AppHeader/AppHeaderElements/AppHeaderSectionVariant/NavSection.d.ts +15 -0
  27. package/dist/AppHeader/AppHeaderElements/AppHeaderSectionVariant/NavSection.js +79 -0
  28. package/dist/AppHeaderMobile/AppHeaderCatalogSectonVariantMobile/index.d.ts +4 -0
  29. package/dist/AppHeaderMobile/AppHeaderCatalogSectonVariantMobile/index.js +63 -0
  30. package/dist/AppHeaderMobile/AppHeaderMainMenuMobile/index.js +34 -14
  31. package/dist/AppHeaderMobile/AppHeaderSubMenuMobile/index.js +12 -5
  32. package/dist/GlobalHeader/GlobalHeaderItems.d.ts +2 -0
  33. package/dist/GlobalHeader/GlobalHeaderItems.js +18 -1
  34. package/dist/GlobalHeader/GlobalHeaderVariants.d.ts +2 -2
  35. package/dist/GlobalHeader/GlobalHeaderVariants.js +39 -17
  36. package/dist/GlobalHeader/index.d.ts +1 -0
  37. package/dist/GlobalHeader/index.js +46 -42
  38. package/dist/GlobalHeader/types.d.ts +33 -0
  39. package/dist/LearningOutcomeCard/index.js +3 -3
  40. package/dist/LearningOutcomeFlyout/LearningOutcomeCardList.d.ts +2 -1
  41. package/dist/LearningOutcomeFlyout/LearningOutcomeCardList.js +26 -7
  42. package/dist/LearningOutcomeFlyout/index.d.ts +5 -47
  43. package/dist/LearningOutcomeFlyout/index.js +32 -21
  44. package/dist/LearningOutcomeFlyout/types.d.ts +49 -0
  45. package/dist/LearningOutcomeFlyout/types.js +5 -0
  46. package/dist/index.d.ts +0 -1
  47. package/dist/index.js +0 -1
  48. package/dist/stories/Molecules/LearningOutcomeFlyout.stories.js +8 -4
  49. package/package.json +1 -1
  50. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/NavPanels.d.ts +0 -4
  51. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/NavPanels.js +0 -98
  52. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/NavSection.js +0 -67
  53. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/consts.d.ts +0 -7
  54. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/index.d.ts +0 -11
  55. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/index.js +0 -68
  56. package/dist/CourseRecommendationsLink/index.d.ts +0 -3
  57. package/dist/CourseRecommendationsLink/index.js +0 -27
@@ -0,0 +1,3 @@
1
+ export declare const MarketingBanner: ({ tabIndex }: {
2
+ tabIndex: number;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,83 @@
1
+ import _styled from "@emotion/styled/base";
2
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
3
+ import { Anchor, Badge, FlexBox, Text } from '@codecademy/gamut';
4
+ import { ArrowRightIcon } from '@codecademy/gamut-icons';
5
+ import { useGlobalHeaderItemClick } from '../../../GlobalHeader/context';
6
+ import { bannerData } from './consts';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const MarketingBannerAnchor = /*#__PURE__*/_styled(Anchor, {
9
+ target: "e11di3442",
10
+ label: "MarketingBannerAnchor"
11
+ })(process.env.NODE_ENV === "production" ? {
12
+ name: "pdaf9u",
13
+ styles: "display:flex;&:hover,&:focus-visible{outline:none;text-decoration:none;}"
14
+ } : {
15
+ name: "pdaf9u",
16
+ styles: "display:flex;&:hover,&:focus-visible{outline:none;text-decoration:none;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL01hcmtldGluZ0Jhbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTzRDIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL01hcmtldGluZ0Jhbm5lci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNob3IsIEJhZGdlLCBGbGV4Qm94LCBUZXh0IH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQnO1xuaW1wb3J0IHsgQXJyb3dSaWdodEljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljayB9IGZyb20gJy4uLy4uLy4uL0dsb2JhbEhlYWRlci9jb250ZXh0JztcbmltcG9ydCB7IGJhbm5lckRhdGEgfSBmcm9tICcuL2NvbnN0cyc7XG5cbmNvbnN0IE1hcmtldGluZ0Jhbm5lckFuY2hvciA9IHN0eWxlZChBbmNob3IpYFxuICBkaXNwbGF5OiBmbGV4O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbmA7XG5cbmNvbnN0IE1hcmtldGluZ0Jhbm5lckJveCA9IHN0eWxlZChGbGV4Qm94KWBcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2JvcmRlci10ZXJ0aWFyeSddfTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIDE0NWRlZyxcbiAgICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snbmF2eS04MDAnXX0gNTAlLFxuICAgICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydibHVlLTQwMCddfSAxMDAlXG4gICk7XG5cbiAgJHtNYXJrZXRpbmdCYW5uZXJBbmNob3J9OmhvdmVyICYsICR7TWFya2V0aW5nQmFubmVyQW5jaG9yfTpmb2N1cy12aXNpYmxlICYge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1sneWVsbG93LTUwMCddfTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAxNDVkZWcsXG4gICAgICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snbmF2eS04MDAnXX0gODUlLFxuICAgICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2JsdWUtNDAwJ119IDEwMCVcbiAgICApO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0O1xuICB9XG5gO1xuXG5jb25zdCBNYXJrZXRpbmdBcnJvd0ljb24gPSBzdHlsZWQoQXJyb3dSaWdodEljb24pYFxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcblxuICAke01hcmtldGluZ0Jhbm5lckFuY2hvcn06aG92ZXIgJiwgJHtNYXJrZXRpbmdCYW5uZXJBbmNob3J9OmZvY3VzLXZpc2libGUgJiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICB9XG5cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgTWFya2V0aW5nQmFubmVyID0gKHsgdGFiSW5kZXggfTogeyB0YWJJbmRleDogbnVtYmVyIH0pID0+IHtcbiAgY29uc3QgeyBnbG9iYWxIZWFkZXJJdGVtQ2xpY2sgfSA9IHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljaygpO1xuXG4gIHJldHVybiAoXG4gICAgPE1hcmtldGluZ0Jhbm5lckFuY2hvclxuICAgICAgdmFyaWFudD1cImludGVyZmFjZVwiXG4gICAgICBocmVmPXtiYW5uZXJEYXRhLmhyZWZ9XG4gICAgICBvbkNsaWNrPXsoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PlxuICAgICAgICBnbG9iYWxIZWFkZXJJdGVtQ2xpY2soZXZlbnQsIHtcbiAgICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgICAgaHJlZjogYmFubmVyRGF0YS5ocmVmLFxuICAgICAgICAgIHRleHQ6IGJhbm5lckRhdGEudGV4dCxcbiAgICAgICAgICBpZDogJ2dsb2JhbF9uYXZfbWFya2V0aW5nX2Jhbm5lcicsXG4gICAgICAgICAgdHJhY2tpbmdUYXJnZXQ6ICdnbG9iYWxfbmF2X21hcmtldGluZ19iYW5uZXInLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgID5cbiAgICAgIDxNYXJrZXRpbmdCYW5uZXJCb3hcbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgIGhlaWdodD1cIjQwcHhcIlxuICAgICAgICBjb2xvcj1cIndoaXRlXCJcbiAgICAgICAgbXg9ezh9XG4gICAgICAgIG10PXs4fVxuICAgICAgICBweD17MjR9XG4gICAgICAgIHB5PXs4fVxuICAgICAgICBib3JkZXJSYWRpdXM9XCJsZ1wiXG4gICAgICA+XG4gICAgICAgIDxGbGV4Qm94IGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8QmFkZ2VcbiAgICAgICAgICAgIGJnPVwieWVsbG93LTUwMFwiXG4gICAgICAgICAgICBjb2xvcj1cIm5hdnktODAwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJjdXN0b21cIlxuICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgIG1yPXs4fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIE5ld1xuICAgICAgICAgIDwvQmFkZ2U+XG4gICAgICAgICAgPFRleHQgdmFyaWFudD1cInAtYmFzZVwiPntiYW5uZXJEYXRhLnRleHR9PC9UZXh0PlxuICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgIDxNYXJrZXRpbmdBcnJvd0ljb24gLz5cbiAgICAgIDwvTWFya2V0aW5nQmFubmVyQm94PlxuICAgIDwvTWFya2V0aW5nQmFubmVyQW5jaG9yPlxuICApO1xufTtcbiJdfQ== */",
17
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
18
+ });
19
+ const MarketingBannerBox = /*#__PURE__*/_styled(FlexBox, {
20
+ target: "e11di3441",
21
+ label: "MarketingBannerBox"
22
+ })("border:1px solid ", ({
23
+ theme
24
+ }) => theme.colors['border-tertiary'], ";background:linear-gradient(\n 145deg,\n ", ({
25
+ theme
26
+ }) => theme.colors['navy-800'], " 50%,\n ", ({
27
+ theme
28
+ }) => theme.colors['blue-400'], " 100%\n );", MarketingBannerAnchor, ":hover &,", MarketingBannerAnchor, ":focus-visible &{box-shadow:0 0 0 2px ", ({
29
+ theme
30
+ }) => theme.colors['yellow-500'], ";background:linear-gradient(\n 145deg,\n ", ({
31
+ theme
32
+ }) => theme.colors['navy-800'], " 85%,\n ", ({
33
+ theme
34
+ }) => theme.colors['blue-400'], " 100%\n );transition:background 0.2s ease-in-out,box-shadow 0.2s ease-in-out;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL01hcmtldGluZ0Jhbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUIwQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlckNhdGFsb2dEcm9wZG93bi9NYXJrZXRpbmdCYW5uZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jaG9yLCBCYWRnZSwgRmxleEJveCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IEFycm93UmlnaHRJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuXG5pbXBvcnQgeyB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2sgfSBmcm9tICcuLi8uLi8uLi9HbG9iYWxIZWFkZXIvY29udGV4dCc7XG5pbXBvcnQgeyBiYW5uZXJEYXRhIH0gZnJvbSAnLi9jb25zdHMnO1xuXG5jb25zdCBNYXJrZXRpbmdCYW5uZXJBbmNob3IgPSBzdHlsZWQoQW5jaG9yKWBcbiAgZGlzcGxheTogZmxleDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5gO1xuXG5jb25zdCBNYXJrZXRpbmdCYW5uZXJCb3ggPSBzdHlsZWQoRmxleEJveClgXG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydib3JkZXItdGVydGlhcnknXX07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAxNDVkZWcsXG4gICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ25hdnktODAwJ119IDUwJSxcbiAgICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snYmx1ZS00MDAnXX0gMTAwJVxuICApO1xuXG4gICR7TWFya2V0aW5nQmFubmVyQW5jaG9yfTpob3ZlciAmLCAke01hcmtldGluZ0Jhbm5lckFuY2hvcn06Zm9jdXMtdmlzaWJsZSAmIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ3llbGxvdy01MDAnXX07XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgMTQ1ZGVnLFxuICAgICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ25hdnktODAwJ119IDg1JSxcbiAgICAgICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydibHVlLTQwMCddfSAxMDAlXG4gICAgKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4ycyBlYXNlLWluLW91dDtcbiAgfVxuYDtcblxuY29uc3QgTWFya2V0aW5nQXJyb3dJY29uID0gc3R5bGVkKEFycm93UmlnaHRJY29uKWBcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgJHtNYXJrZXRpbmdCYW5uZXJBbmNob3J9OmhvdmVyICYsICR7TWFya2V0aW5nQmFubmVyQW5jaG9yfTpmb2N1cy12aXNpYmxlICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxuXG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IE1hcmtldGluZ0Jhbm5lciA9ICh7IHRhYkluZGV4IH06IHsgdGFiSW5kZXg6IG51bWJlciB9KSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcblxuICByZXR1cm4gKFxuICAgIDxNYXJrZXRpbmdCYW5uZXJBbmNob3JcbiAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAgaHJlZj17YmFubmVyRGF0YS5ocmVmfVxuICAgICAgb25DbGljaz17KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50LCBNb3VzZUV2ZW50PikgPT5cbiAgICAgICAgZ2xvYmFsSGVhZGVySXRlbUNsaWNrKGV2ZW50LCB7XG4gICAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICAgIGhyZWY6IGJhbm5lckRhdGEuaHJlZixcbiAgICAgICAgICB0ZXh0OiBiYW5uZXJEYXRhLnRleHQsXG4gICAgICAgICAgaWQ6ICdnbG9iYWxfbmF2X21hcmtldGluZ19iYW5uZXInLFxuICAgICAgICAgIHRyYWNraW5nVGFyZ2V0OiAnZ2xvYmFsX25hdl9tYXJrZXRpbmdfYmFubmVyJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICA+XG4gICAgICA8TWFya2V0aW5nQmFubmVyQm94XG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICBoZWlnaHQ9XCI0MHB4XCJcbiAgICAgICAgY29sb3I9XCJ3aGl0ZVwiXG4gICAgICAgIG14PXs4fVxuICAgICAgICBtdD17OH1cbiAgICAgICAgcHg9ezI0fVxuICAgICAgICBweT17OH1cbiAgICAgICAgYm9yZGVyUmFkaXVzPVwibGdcIlxuICAgICAgPlxuICAgICAgICA8RmxleEJveCBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPEJhZGdlXG4gICAgICAgICAgICBiZz1cInllbGxvdy01MDBcIlxuICAgICAgICAgICAgY29sb3I9XCJuYXZ5LTgwMFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiY3VzdG9tXCJcbiAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICBtcj17OH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBOZXdcbiAgICAgICAgICA8L0JhZGdlPlxuICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJwLWJhc2VcIj57YmFubmVyRGF0YS50ZXh0fTwvVGV4dD5cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICA8TWFya2V0aW5nQXJyb3dJY29uIC8+XG4gICAgICA8L01hcmtldGluZ0Jhbm5lckJveD5cbiAgICA8L01hcmtldGluZ0Jhbm5lckFuY2hvcj5cbiAgKTtcbn07XG4iXX0= */"));
35
+ const MarketingArrowIcon = /*#__PURE__*/_styled(ArrowRightIcon, {
36
+ target: "e11di3440",
37
+ label: "MarketingArrowIcon"
38
+ })("transition:transform 0.2s ease-in-out;", MarketingBannerAnchor, ":hover &,", MarketingBannerAnchor, ":focus-visible &{transform:translateX(10px);}@media (prefers-reduced-motion: reduce){transition:none;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL01hcmtldGluZ0Jhbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0NpRCIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlckNhdGFsb2dEcm9wZG93bi9NYXJrZXRpbmdCYW5uZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jaG9yLCBCYWRnZSwgRmxleEJveCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IEFycm93UmlnaHRJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuXG5pbXBvcnQgeyB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2sgfSBmcm9tICcuLi8uLi8uLi9HbG9iYWxIZWFkZXIvY29udGV4dCc7XG5pbXBvcnQgeyBiYW5uZXJEYXRhIH0gZnJvbSAnLi9jb25zdHMnO1xuXG5jb25zdCBNYXJrZXRpbmdCYW5uZXJBbmNob3IgPSBzdHlsZWQoQW5jaG9yKWBcbiAgZGlzcGxheTogZmxleDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5gO1xuXG5jb25zdCBNYXJrZXRpbmdCYW5uZXJCb3ggPSBzdHlsZWQoRmxleEJveClgXG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydib3JkZXItdGVydGlhcnknXX07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAxNDVkZWcsXG4gICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ25hdnktODAwJ119IDUwJSxcbiAgICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snYmx1ZS00MDAnXX0gMTAwJVxuICApO1xuXG4gICR7TWFya2V0aW5nQmFubmVyQW5jaG9yfTpob3ZlciAmLCAke01hcmtldGluZ0Jhbm5lckFuY2hvcn06Zm9jdXMtdmlzaWJsZSAmIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ3llbGxvdy01MDAnXX07XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgMTQ1ZGVnLFxuICAgICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ25hdnktODAwJ119IDg1JSxcbiAgICAgICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydibHVlLTQwMCddfSAxMDAlXG4gICAgKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4ycyBlYXNlLWluLW91dDtcbiAgfVxuYDtcblxuY29uc3QgTWFya2V0aW5nQXJyb3dJY29uID0gc3R5bGVkKEFycm93UmlnaHRJY29uKWBcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgJHtNYXJrZXRpbmdCYW5uZXJBbmNob3J9OmhvdmVyICYsICR7TWFya2V0aW5nQmFubmVyQW5jaG9yfTpmb2N1cy12aXNpYmxlICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxuXG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IE1hcmtldGluZ0Jhbm5lciA9ICh7IHRhYkluZGV4IH06IHsgdGFiSW5kZXg6IG51bWJlciB9KSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcblxuICByZXR1cm4gKFxuICAgIDxNYXJrZXRpbmdCYW5uZXJBbmNob3JcbiAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAgaHJlZj17YmFubmVyRGF0YS5ocmVmfVxuICAgICAgb25DbGljaz17KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50LCBNb3VzZUV2ZW50PikgPT5cbiAgICAgICAgZ2xvYmFsSGVhZGVySXRlbUNsaWNrKGV2ZW50LCB7XG4gICAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICAgIGhyZWY6IGJhbm5lckRhdGEuaHJlZixcbiAgICAgICAgICB0ZXh0OiBiYW5uZXJEYXRhLnRleHQsXG4gICAgICAgICAgaWQ6ICdnbG9iYWxfbmF2X21hcmtldGluZ19iYW5uZXInLFxuICAgICAgICAgIHRyYWNraW5nVGFyZ2V0OiAnZ2xvYmFsX25hdl9tYXJrZXRpbmdfYmFubmVyJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICA+XG4gICAgICA8TWFya2V0aW5nQmFubmVyQm94XG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICBoZWlnaHQ9XCI0MHB4XCJcbiAgICAgICAgY29sb3I9XCJ3aGl0ZVwiXG4gICAgICAgIG14PXs4fVxuICAgICAgICBtdD17OH1cbiAgICAgICAgcHg9ezI0fVxuICAgICAgICBweT17OH1cbiAgICAgICAgYm9yZGVyUmFkaXVzPVwibGdcIlxuICAgICAgPlxuICAgICAgICA8RmxleEJveCBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPEJhZGdlXG4gICAgICAgICAgICBiZz1cInllbGxvdy01MDBcIlxuICAgICAgICAgICAgY29sb3I9XCJuYXZ5LTgwMFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiY3VzdG9tXCJcbiAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICBtcj17OH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBOZXdcbiAgICAgICAgICA8L0JhZGdlPlxuICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJwLWJhc2VcIj57YmFubmVyRGF0YS50ZXh0fTwvVGV4dD5cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICA8TWFya2V0aW5nQXJyb3dJY29uIC8+XG4gICAgICA8L01hcmtldGluZ0Jhbm5lckJveD5cbiAgICA8L01hcmtldGluZ0Jhbm5lckFuY2hvcj5cbiAgKTtcbn07XG4iXX0= */"));
39
+ export const MarketingBanner = ({
40
+ tabIndex
41
+ }) => {
42
+ const {
43
+ globalHeaderItemClick
44
+ } = useGlobalHeaderItemClick();
45
+ return /*#__PURE__*/_jsx(MarketingBannerAnchor, {
46
+ variant: "interface",
47
+ href: bannerData.href,
48
+ onClick: event => globalHeaderItemClick(event, {
49
+ type: 'link',
50
+ href: bannerData.href,
51
+ text: bannerData.text,
52
+ id: 'global_nav_marketing_banner',
53
+ trackingTarget: 'global_nav_marketing_banner'
54
+ }),
55
+ tabIndex: tabIndex,
56
+ children: /*#__PURE__*/_jsxs(MarketingBannerBox, {
57
+ width: "100%",
58
+ justifyContent: "space-between",
59
+ alignItems: "center",
60
+ height: "40px",
61
+ color: "white",
62
+ mx: 8,
63
+ mt: 8,
64
+ px: 24,
65
+ py: 8,
66
+ borderRadius: "lg",
67
+ children: [/*#__PURE__*/_jsxs(FlexBox, {
68
+ alignItems: "center",
69
+ children: [/*#__PURE__*/_jsx(Badge, {
70
+ bg: "yellow-500",
71
+ color: "navy-800",
72
+ variant: "custom",
73
+ size: "sm",
74
+ mr: 8,
75
+ children: "New"
76
+ }), /*#__PURE__*/_jsx(Text, {
77
+ variant: "p-base",
78
+ children: bannerData.text
79
+ })]
80
+ }), /*#__PURE__*/_jsx(MarketingArrowIcon, {})]
81
+ })
82
+ });
83
+ };
@@ -0,0 +1,10 @@
1
+ type NavPanelProps = {
2
+ tabIndex?: number;
3
+ };
4
+ export declare const CourseTopicsPanel: ({ tabIndex }: NavPanelProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const CareerPathCard: ({ tabIndex }: NavPanelProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const CareerPathsPanel: ({ tabIndex }: NavPanelProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const SkillPathsPanel: ({ tabIndex }: NavPanelProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const CertificationPathsPanel: ({ tabIndex }: NavPanelProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const LiveLearningPanel: ({ tabIndex }: NavPanelProps) => import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,232 @@
1
+ /* eslint-disable react/no-array-index-key */ // can be removed once we add dynamic data
2
+ import { Anchor, Box, Card, FlexBox, GridBox, Text } from '@codecademy/gamut';
3
+ import { LevelIcon } from '@codecademy/gamut-icons';
4
+ import { theme } from '@codecademy/gamut-styles';
5
+ import { CourseDifficulty } from '../../../ContentGroupBaseCard/types';
6
+ import { useGlobalHeaderItemClick } from '../../../GlobalHeader/context';
7
+ import { liveLearningHubItems, topLanguages } from '../../../lib/catalogList';
8
+ import { AppHeaderDietCard } from '../AppHeaderDietCard';
9
+ import { PanelLayout } from '../AppHeaderSection/PanelLayout';
10
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
11
+ export const CourseTopicsPanel = ({
12
+ tabIndex = 0
13
+ }) => {
14
+ const {
15
+ globalHeaderItemClick
16
+ } = useGlobalHeaderItemClick();
17
+ return /*#__PURE__*/_jsx(PanelLayout, {
18
+ heading: "Course topics",
19
+ description: "Explore the topics covered in our courses",
20
+ linkItem: {
21
+ type: 'link',
22
+ href: '/catalog?type=course',
23
+ text: 'View all courses',
24
+ trackingTarget: 'catalog-header-view-all-courses',
25
+ id: 'view-all-courses'
26
+ },
27
+ tabIndex: tabIndex,
28
+ children: /*#__PURE__*/_jsx(FlexBox, {
29
+ flexDirection: {
30
+ _: 'column',
31
+ lg: 'row'
32
+ },
33
+ wrap: true,
34
+ gap: 16,
35
+ children: topLanguages.map(item => /*#__PURE__*/_jsx(Anchor, {
36
+ variant: "interface",
37
+ href: item.href,
38
+ onClick: event => globalHeaderItemClick(event, item),
39
+ tabIndex: tabIndex,
40
+ children: /*#__PURE__*/_jsxs(FlexBox, {
41
+ width: "281px",
42
+ height: 48,
43
+ px: 16,
44
+ py: 8,
45
+ borderRadius: "md",
46
+ border: 1,
47
+ borderColor: "border-tertiary",
48
+ alignItems: "center",
49
+ children: [item.text, item.badge]
50
+ }, `${item.id}`)
51
+ }, `${item.id}`))
52
+ })
53
+ });
54
+ };
55
+ export const CareerPathCard = ({
56
+ tabIndex = 0
57
+ }) => {
58
+ return /*#__PURE__*/_jsx(AppHeaderDietCard, {
59
+ title: "Full-Stack Engineer",
60
+ hours: 150,
61
+ icon: /*#__PURE__*/_jsx(LevelIcon, {}),
62
+ difficulty: CourseDifficulty.Beginner,
63
+ tabIndex: tabIndex
64
+ });
65
+ };
66
+ export const CareerPathsPanel = ({
67
+ tabIndex = 0
68
+ }) => {
69
+ return /*#__PURE__*/_jsx(PanelLayout, {
70
+ heading: "Popular career paths",
71
+ description: "Career paths teach you exactly what you need to start a new career. Curated by our team of experts, career paths contain a collection of courses, projects, prep for technical interviews, and more.",
72
+ linkItem: {
73
+ type: 'link',
74
+ href: '/catalog?type=career-path',
75
+ text: 'View all career paths',
76
+ trackingTarget: 'catalog-header-view-all-career-paths',
77
+ id: 'view-all-career-paths'
78
+ },
79
+ tabIndex: tabIndex,
80
+ children: /*#__PURE__*/_jsx(GridBox, {
81
+ gridTemplateColumns: {
82
+ _: '1fr',
83
+ md: 'repeat(3, 1fr)'
84
+ },
85
+ gap: 16,
86
+ children: Array.from({
87
+ length: 6
88
+ }).map((_, index) => /*#__PURE__*/_jsx(CareerPathCard, {
89
+ tabIndex: tabIndex
90
+ }, `${index}-card`))
91
+ })
92
+ });
93
+ };
94
+ export const SkillPathsPanel = ({
95
+ tabIndex = 0
96
+ }) => {
97
+ return /*#__PURE__*/_jsx(PanelLayout, {
98
+ heading: "Skill paths",
99
+ description: "Build a specific skill fast with a short, curated path.",
100
+ linkItem: {
101
+ type: 'link',
102
+ href: '/catalog?type=skill-path',
103
+ text: 'View all skill paths',
104
+ trackingTarget: 'catalog-header-view-all-skill-paths',
105
+ id: 'view-all-skill-paths'
106
+ },
107
+ tabIndex: tabIndex,
108
+ children: /*#__PURE__*/_jsx(GridBox, {
109
+ gridTemplateColumns: {
110
+ _: '1fr',
111
+ md: 'repeat(3, 1fr)'
112
+ },
113
+ gap: 16,
114
+ children: Array.from({
115
+ length: 6
116
+ }).map((_, index) => /*#__PURE__*/_jsx(CareerPathCard, {
117
+ tabIndex: tabIndex
118
+ }, `${index}-card`))
119
+ })
120
+ });
121
+ };
122
+ const providers = ['AWS', 'Microsoft', 'Google', 'COMPTIA', 'ISC2'];
123
+ const ProviderChip = ({
124
+ text,
125
+ href,
126
+ tabIndex
127
+ }) => {
128
+ return /*#__PURE__*/_jsx(Anchor, {
129
+ href: href,
130
+ variant: "interface",
131
+ tabIndex: tabIndex,
132
+ children: /*#__PURE__*/_jsx(FlexBox, {
133
+ border: 1,
134
+ borderColor: "border-secondary",
135
+ borderRadius: "md",
136
+ py: 1.5,
137
+ px: 8,
138
+ children: /*#__PURE__*/_jsx(Text, {
139
+ children: text
140
+ })
141
+ })
142
+ }, text);
143
+ };
144
+ export const CertificationPathsPanel = ({
145
+ tabIndex = 0
146
+ }) => {
147
+ return /*#__PURE__*/_jsxs(PanelLayout, {
148
+ heading: "Certification paths",
149
+ description: "Get ready for certification exams with guided learning paths.",
150
+ linkItem: {
151
+ type: 'link',
152
+ href: '/catalog?type=certification-path',
153
+ text: 'View all certification paths',
154
+ trackingTarget: 'catalog-header-view-all-certification-paths',
155
+ id: 'view-all-certification-paths'
156
+ },
157
+ tabIndex: tabIndex,
158
+ children: [/*#__PURE__*/_jsxs(FlexBox, {
159
+ gap: 8,
160
+ children: [providers.map(provider => /*#__PURE__*/_jsx(ProviderChip, {
161
+ text: provider,
162
+ href: `/search?query=${provider} certifications`,
163
+ tabIndex: tabIndex
164
+ }, provider)), /*#__PURE__*/_jsx(ProviderChip, {
165
+ text: "+ More providers",
166
+ href: "/catalog/certification-prep",
167
+ tabIndex: tabIndex
168
+ }, "more-providers")]
169
+ }), /*#__PURE__*/_jsx(GridBox, {
170
+ gridTemplateColumns: {
171
+ _: '1fr',
172
+ md: 'repeat(3, 1fr)'
173
+ },
174
+ gap: 16,
175
+ children: Array.from({
176
+ length: 6
177
+ }).map((_, index) => /*#__PURE__*/_jsx(CareerPathCard, {
178
+ tabIndex: tabIndex
179
+ }, `${index}-card`))
180
+ })]
181
+ });
182
+ };
183
+ export const LiveLearningPanel = ({
184
+ tabIndex = 0
185
+ }) => {
186
+ const {
187
+ globalHeaderItemClick
188
+ } = useGlobalHeaderItemClick();
189
+ return /*#__PURE__*/_jsx(PanelLayout, {
190
+ heading: "Live learning",
191
+ description: "Explore the live learning opportunities available in our courses",
192
+ linkItem: {
193
+ type: 'link',
194
+ href: '/live-learning',
195
+ text: 'Learn more about live learning',
196
+ trackingTarget: 'catalog-header-learn-more-about-live-learning',
197
+ id: 'learn-more-about-live-learning'
198
+ },
199
+ tabIndex: tabIndex,
200
+ children: /*#__PURE__*/_jsx(GridBox, {
201
+ gridTemplateColumns: {
202
+ _: '1fr',
203
+ md: 'repeat(2, 1fr)'
204
+ },
205
+ gap: 16,
206
+ children: liveLearningHubItems.data.map(item => /*#__PURE__*/_jsx(Anchor, {
207
+ href: item.href,
208
+ variant: "interface",
209
+ onClick: event => globalHeaderItemClick(event, item),
210
+ children: /*#__PURE__*/_jsxs(Card, {
211
+ isInteractive: true,
212
+ p: 0,
213
+ children: [/*#__PURE__*/_jsx(Box, {
214
+ height: "225px",
215
+ width: "100%",
216
+ background: theme.colors['gray-300']
217
+ }), /*#__PURE__*/_jsxs(FlexBox, {
218
+ flexDirection: "column",
219
+ gap: 8,
220
+ p: 16,
221
+ children: [/*#__PURE__*/_jsx(Text, {
222
+ variant: "title-xs",
223
+ children: item.text
224
+ }), 'description' in item && /*#__PURE__*/_jsx(Text, {
225
+ children: item.description
226
+ })]
227
+ })]
228
+ })
229
+ }, item.id))
230
+ })
231
+ });
232
+ };
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { AppHeaderCatalogDropdownItem } from '../../shared';
3
+ export type NavSectionConfig = {
4
+ item: AppHeaderCatalogDropdownItem;
5
+ panel: React.ComponentType<{
6
+ tabIndex?: number;
7
+ }>;
8
+ };
9
+ export declare const CATALOG_NAV_SECTIONS: NavSectionConfig[];
10
+ export declare const bannerData: {
11
+ text: string;
12
+ href: string;
13
+ };
@@ -1,6 +1,6 @@
1
- import { BriefcaseIcon, ProfessionalCertificateIcon, ProgrammingTeamChatIcon, StudyBookIcon } from '@codecademy/gamut-icons';
2
- import { CareerPathsPanel, CertificationPathsPanel, CourseTopicsPanel, LiveLearningPanel } from './NavPanels';
3
- export const NAV_SECTIONS = [{
1
+ import { BriefcaseIcon, DiamondIcon, ProfessionalCertificateIcon, ProgrammingTeamChatIcon, StudyBookIcon } from '@codecademy/gamut-icons';
2
+ import { CareerPathsPanel, CertificationPathsPanel, CourseTopicsPanel, LiveLearningPanel, SkillPathsPanel } from './NavPanels';
3
+ export const CATALOG_NAV_SECTIONS = [{
4
4
  item: {
5
5
  icon: StudyBookIcon,
6
6
  text: 'Course topics',
@@ -9,6 +9,15 @@ export const NAV_SECTIONS = [{
9
9
  trackingTarget: 'topnav_catalog_course_topics'
10
10
  },
11
11
  panel: CourseTopicsPanel
12
+ }, {
13
+ item: {
14
+ icon: DiamondIcon,
15
+ text: 'Skill paths',
16
+ id: 'skill-paths',
17
+ type: 'catalog-dropdown',
18
+ trackingTarget: 'topnav_catalog_skill_paths'
19
+ },
20
+ panel: SkillPathsPanel
12
21
  }, {
13
22
  item: {
14
23
  icon: BriefcaseIcon,
@@ -36,4 +45,8 @@ export const NAV_SECTIONS = [{
36
45
  trackingTarget: 'topnav_catalog_live_learning'
37
46
  },
38
47
  panel: LiveLearningPanel
39
- }];
48
+ }];
49
+ export const bannerData = {
50
+ text: 'Want to help shape digital products? Check out the new UX Designer career path.',
51
+ href: '/career-paths/ux-designer'
52
+ };
@@ -1,13 +1,16 @@
1
1
  import _styled from "@emotion/styled/base";
2
+ import { ColorMode } from '@codecademy/gamut-styles';
2
3
  import { useCallback, useContext, useEffect, useRef, useState } from 'react';
3
4
  import * as React from 'react';
4
5
  import { GlobalNavRedesignContext } from '../../../GlobalHeader';
5
6
  import { AnimatedMegaMenuDropdown } from '../../shared';
6
7
  import { AppHeaderCatalogSection } from '../AppHeaderCatalogSection';
7
- import { AppHeaderCatalogSectionVariant } from '../AppHeaderCatalogSectionVariant';
8
8
  import { AppHeaderDropdownProvider } from '../AppHeaderDropdownProvider';
9
9
  import { AppHeaderDropdownNavButton } from '../AppHeaderNavButton/AppHeaderDropdownNavButton';
10
10
  import { useAppHeaderContext } from '../AppHeaderProvider';
11
+ import { AppHeaderSection } from '../AppHeaderSection';
12
+ import { CATALOG_NAV_SECTIONS } from './consts';
13
+ import { MarketingBanner } from './MarketingBanner';
11
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
15
  const StyledAnimatedMegaMenuDropdown = /*#__PURE__*/_styled(AnimatedMegaMenuDropdown, {
13
16
  target: "eaa3s9f0",
@@ -18,7 +21,7 @@ const StyledAnimatedMegaMenuDropdown = /*#__PURE__*/_styled(AnimatedMegaMenuDrop
18
21
  }) => displayGlobalNavRedesign ? '-58px' : isAnon ? '-9rem' : '-14rem', ";@media (min-width: 1261px){left:", ({
19
22
  isAnon,
20
23
  displayGlobalNavRedesign
21
- }) => displayGlobalNavRedesign ? '-152px' : isAnon ? '-9rem' : '-14rem', ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3QkUiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL0FwcEhlYWRlci9BcHBIZWFkZXJFbGVtZW50cy9BcHBIZWFkZXJDYXRhbG9nRHJvcGRvd24vaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgR2xvYmFsTmF2UmVkZXNpZ25Db250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vR2xvYmFsSGVhZGVyJztcbmltcG9ydCB7XG4gIEFuaW1hdGVkTWVnYU1lbnVEcm9wZG93bixcbiAgQXBwSGVhZGVyQWN0aW9uLFxuICBBcHBIZWFkZXJDYXRhbG9nRHJvcGRvd25JdGVtLFxufSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgQXBwSGVhZGVyQ2F0YWxvZ1NlY3Rpb24gfSBmcm9tICcuLi9BcHBIZWFkZXJDYXRhbG9nU2VjdGlvbic7XG5pbXBvcnQgeyBBcHBIZWFkZXJDYXRhbG9nU2VjdGlvblZhcmlhbnQgfSBmcm9tICcuLi9BcHBIZWFkZXJDYXRhbG9nU2VjdGlvblZhcmlhbnQnO1xuaW1wb3J0IHsgQXBwSGVhZGVyRHJvcGRvd25Qcm92aWRlciB9IGZyb20gJy4uL0FwcEhlYWRlckRyb3Bkb3duUHJvdmlkZXInO1xuaW1wb3J0IHsgQXBwSGVhZGVyRHJvcGRvd25OYXZCdXR0b24gfSBmcm9tICcuLi9BcHBIZWFkZXJOYXZCdXR0b24vQXBwSGVhZGVyRHJvcGRvd25OYXZCdXR0b24nO1xuaW1wb3J0IHsgdXNlQXBwSGVhZGVyQ29udGV4dCB9IGZyb20gJy4uL0FwcEhlYWRlclByb3ZpZGVyJztcblxuZXhwb3J0IHR5cGUgQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duUHJvcHMgPSBBcHBIZWFkZXJBY3Rpb24gJiB7XG4gIGl0ZW06IEFwcEhlYWRlckNhdGFsb2dEcm9wZG93bkl0ZW07XG4gIGlzQW5vbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZEFuaW1hdGVkTWVnYU1lbnVEcm9wZG93biA9IHN0eWxlZChBbmltYXRlZE1lZ2FNZW51RHJvcGRvd24pPHtcbiAgaXNBbm9uOiBib29sZWFuO1xuICBkaXNwbGF5R2xvYmFsTmF2UmVkZXNpZ246IGJvb2xlYW47XG59PmBcbiAgbGVmdDogJHsoeyBpc0Fub24sIGRpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbiB9KSA9PlxuICAgIGRpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbiA/ICctNThweCcgOiBpc0Fub24gPyAnLTlyZW0nIDogJy0xNHJlbSd9O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjYxcHgpIHtcbiAgICBsZWZ0OiAkeyh7IGlzQW5vbiwgZGlzcGxheUdsb2JhbE5hdlJlZGVzaWduIH0pID0+XG4gICAgICBkaXNwbGF5R2xvYmFsTmF2UmVkZXNpZ24gPyAnLTE1MnB4JyA6IGlzQW5vbiA/ICctOXJlbScgOiAnLTE0cmVtJ307XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBBcHBIZWFkZXJDYXRhbG9nRHJvcGRvd246IFJlYWN0LkZDPFxuICBBcHBIZWFkZXJDYXRhbG9nRHJvcGRvd25Qcm9wc1xuPiA9ICh7IGFjdGlvbiwgaXRlbSwgaXNBbm9uIH0pID0+IHtcbiAgY29uc3QgeyB0ZXh0IH0gPSBpdGVtO1xuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgYnV0dG9uUmVmID0gdXNlUmVmPEhUTUxCdXR0b25FbGVtZW50PihudWxsKTtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgeyBsYXN0T3BlbmVkRHJvcGRvd24sIHNldExhc3RPcGVuZWREcm9wZG93biB9ID0gdXNlQXBwSGVhZGVyQ29udGV4dCgpO1xuXG4gIGNvbnN0IGZvY3VzQnV0dG9uID0gKCkgPT4ge1xuICAgIGJ1dHRvblJlZj8uY3VycmVudD8uZm9jdXMoKTtcbiAgfTtcblxuICBjb25zdCB0b2dnbGVJc09wZW4gPSAoKSA9PiBzZXRJc09wZW4oKHByZXYpID0+ICFwcmV2KTtcblxuICBjb25zdCBoYW5kbGVPbkNsaWNrID0gKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50KSA9PiB7XG4gICAgdG9nZ2xlSXNPcGVuKCk7XG5cbiAgICBpZiAoIWlzT3Blbikge1xuICAgICAgYWN0aW9uKGV2ZW50LCBpdGVtKTtcbiAgICAgIGlmIChzZXRMYXN0T3BlbmVkRHJvcGRvd24pIHtcbiAgICAgICAgc2V0TGFzdE9wZW5lZERyb3Bkb3duKHRleHQpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgIGZvY3VzQnV0dG9uKCk7XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsYXN0T3BlbmVkRHJvcGRvd24gIT09IHRleHQgJiYgaXNPcGVuKSB7XG4gICAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFtsYXN0T3BlbmVkRHJvcGRvd25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZ1bmN0aW9uIGhhbmRsZUNsaWNrT3V0c2lkZShldmVudDogTW91c2VFdmVudCB8IEV2ZW50KSB7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWY/LmN1cnJlbnQ7XG4gICAgICBjb25zdCBidXR0b24gPSBidXR0b25SZWY/LmN1cnJlbnQ7XG4gICAgICBpZiAoXG4gICAgICAgIGlzT3BlbiAmJlxuICAgICAgICBjb250YWluZXIgJiZcbiAgICAgICAgIWNvbnRhaW5lci5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgYnV0dG9uICYmXG4gICAgICAgICFidXR0b24uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpXG4gICAgICApIHtcbiAgICAgICAgaGFuZGxlQ2xvc2UoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfTtcbiAgfSwgW2NvbnRhaW5lclJlZiwgaGFuZGxlQ2xvc2UsIGlzT3Blbl0pO1xuICBjb25zdCBkaXNwbGF5R2xvYmFsTmF2UmVkZXNpZ24gPSB1c2VDb250ZXh0KEdsb2JhbE5hdlJlZGVzaWduQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8QXBwSGVhZGVyRHJvcGRvd25Qcm92aWRlciBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9PlxuICAgICAgPEFwcEhlYWRlckRyb3Bkb3duTmF2QnV0dG9uXG4gICAgICAgIGJ1dHRvblJlZj17YnV0dG9uUmVmfVxuICAgICAgICBoYW5kbGVPbkNsaWNrPXtoYW5kbGVPbkNsaWNrfVxuICAgICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgICAgdGl0bGU9e3RleHR9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEFuaW1hdGVkTWVnYU1lbnVEcm9wZG93blxuICAgICAgICBpc0Fub249e2lzQW5vbn1cbiAgICAgICAgZGlzcGxheUdsb2JhbE5hdlJlZGVzaWduPXtkaXNwbGF5R2xvYmFsTmF2UmVkZXNpZ259XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgdG9wOiAnMy41cmVtJyxcbiAgICAgICAgICBtaW5XaWR0aDogJzY0cmVtJyxcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGRpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbiA/ICd0cmFuc3BhcmVudCcgOiAnJyxcbiAgICAgICAgfX1cbiAgICAgICAgaW5pdGlhbD17eyBib3JkZXJXaWR0aDogMCwgaGVpZ2h0OiAwIH19XG4gICAgICAgIGFuaW1hdGU9e3tcbiAgICAgICAgICBib3JkZXJXaWR0aDogaXNPcGVuID8gKGRpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbiA/IDAgOiAxKSA6IDAsXG4gICAgICAgICAgaGVpZ2h0OiBpc09wZW4gPyAnZml0LWNvbnRlbnQnIDogMCxcbiAgICAgICAgfX1cbiAgICAgICAgdHJhbnNpdGlvbj17eyBkdXJhdGlvbjogMC4xNzUgfX1cbiAgICAgICAgYXJpYS1oaWRkZW49eyFpc09wZW59XG4gICAgICAgIGRhdGEtdGVzdGlkPVwiY2F0YWxvZy1tZW51LWRyb3Bkb3duXCJcbiAgICAgID5cbiAgICAgICAge2Rpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbiA/IChcbiAgICAgICAgICA8QXBwSGVhZGVyQ2F0YWxvZ1NlY3Rpb25WYXJpYW50XG4gICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgICAgICBpZD17YG1lbnUtY29udGFpbmVyJHtpdGVtLnRleHR9YH1cbiAgICAgICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEFwcEhlYWRlckNhdGFsb2dTZWN0aW9uXG4gICAgICAgICAgICBhY3Rpb249e2FjdGlvbn1cbiAgICAgICAgICAgIGl0ZW09e2l0ZW19XG4gICAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAgIGlkPXtgbWVudS1jb250YWluZXIke2l0ZW0udGV4dH1gfVxuICAgICAgICAgICAgaXNPcGVuPXtpc09wZW59XG4gICAgICAgICAgICBoYW5kbGVDbG9zZT17KCkgPT4gc2V0SXNPcGVuKGZhbHNlKX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWRBbmltYXRlZE1lZ2FNZW51RHJvcGRvd24+XG4gICAgPC9BcHBIZWFkZXJEcm9wZG93blByb3ZpZGVyPlxuICApO1xufTtcbiJdfQ== */"));
24
+ }) => displayGlobalNavRedesign ? '-152px' : isAnon ? '-9rem' : '-14rem', ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQkUiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL0FwcEhlYWRlci9BcHBIZWFkZXJFbGVtZW50cy9BcHBIZWFkZXJDYXRhbG9nRHJvcGRvd24vaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3JNb2RlIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IEdsb2JhbE5hdlJlZGVzaWduQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL0dsb2JhbEhlYWRlcic7XG5pbXBvcnQge1xuICBBbmltYXRlZE1lZ2FNZW51RHJvcGRvd24sXG4gIEFwcEhlYWRlckFjdGlvbixcbiAgQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duSXRlbSxcbn0gZnJvbSAnLi4vLi4vc2hhcmVkJztcbmltcG9ydCB7IEFwcEhlYWRlckNhdGFsb2dTZWN0aW9uIH0gZnJvbSAnLi4vQXBwSGVhZGVyQ2F0YWxvZ1NlY3Rpb24nO1xuaW1wb3J0IHsgQXBwSGVhZGVyRHJvcGRvd25Qcm92aWRlciB9IGZyb20gJy4uL0FwcEhlYWRlckRyb3Bkb3duUHJvdmlkZXInO1xuaW1wb3J0IHsgQXBwSGVhZGVyRHJvcGRvd25OYXZCdXR0b24gfSBmcm9tICcuLi9BcHBIZWFkZXJOYXZCdXR0b24vQXBwSGVhZGVyRHJvcGRvd25OYXZCdXR0b24nO1xuaW1wb3J0IHsgdXNlQXBwSGVhZGVyQ29udGV4dCB9IGZyb20gJy4uL0FwcEhlYWRlclByb3ZpZGVyJztcbmltcG9ydCB7IEFwcEhlYWRlclNlY3Rpb24gfSBmcm9tICcuLi9BcHBIZWFkZXJTZWN0aW9uJztcbmltcG9ydCB7IENBVEFMT0dfTkFWX1NFQ1RJT05TIH0gZnJvbSAnLi9jb25zdHMnO1xuaW1wb3J0IHsgTWFya2V0aW5nQmFubmVyIH0gZnJvbSAnLi9NYXJrZXRpbmdCYW5uZXInO1xuXG5leHBvcnQgdHlwZSBBcHBIZWFkZXJDYXRhbG9nRHJvcGRvd25Qcm9wcyA9IEFwcEhlYWRlckFjdGlvbiAmIHtcbiAgaXRlbTogQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duSXRlbTtcbiAgaXNBbm9uOiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQW5pbWF0ZWRNZWdhTWVudURyb3Bkb3duID0gc3R5bGVkKEFuaW1hdGVkTWVnYU1lbnVEcm9wZG93bik8e1xuICBpc0Fub246IGJvb2xlYW47XG4gIGRpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbjogYm9vbGVhbjtcbn0+YFxuICBsZWZ0OiAkeyh7IGlzQW5vbiwgZGlzcGxheUdsb2JhbE5hdlJlZGVzaWduIH0pID0+XG4gICAgZGlzcGxheUdsb2JhbE5hdlJlZGVzaWduID8gJy01OHB4JyA6IGlzQW5vbiA/ICctOXJlbScgOiAnLTE0cmVtJ307XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyNjFweCkge1xuICAgIGxlZnQ6ICR7KHsgaXNBbm9uLCBkaXNwbGF5R2xvYmFsTmF2UmVkZXNpZ24gfSkgPT5cbiAgICAgIGRpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbiA/ICctMTUycHgnIDogaXNBbm9uID8gJy05cmVtJyA6ICctMTRyZW0nfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IEFwcEhlYWRlckNhdGFsb2dEcm9wZG93bjogUmVhY3QuRkM8XG4gIEFwcEhlYWRlckNhdGFsb2dEcm9wZG93blByb3BzXG4+ID0gKHsgYWN0aW9uLCBpdGVtLCBpc0Fub24gfSkgPT4ge1xuICBjb25zdCB7IHRleHQgfSA9IGl0ZW07XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBidXR0b25SZWYgPSB1c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB7IGxhc3RPcGVuZWREcm9wZG93biwgc2V0TGFzdE9wZW5lZERyb3Bkb3duIH0gPSB1c2VBcHBIZWFkZXJDb250ZXh0KCk7XG5cbiAgY29uc3QgZm9jdXNCdXR0b24gPSAoKSA9PiB7XG4gICAgYnV0dG9uUmVmPy5jdXJyZW50Py5mb2N1cygpO1xuICB9O1xuXG4gIGNvbnN0IHRvZ2dsZUlzT3BlbiA9ICgpID0+IHNldElzT3BlbigocHJldikgPT4gIXByZXYpO1xuXG4gIGNvbnN0IGhhbmRsZU9uQ2xpY2sgPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IHtcbiAgICB0b2dnbGVJc09wZW4oKTtcblxuICAgIGlmICghaXNPcGVuKSB7XG4gICAgICBhY3Rpb24oZXZlbnQsIGl0ZW0pO1xuICAgICAgaWYgKHNldExhc3RPcGVuZWREcm9wZG93bikge1xuICAgICAgICBzZXRMYXN0T3BlbmVkRHJvcGRvd24odGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgZm9jdXNCdXR0b24oKTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxhc3RPcGVuZWREcm9wZG93biAhPT0gdGV4dCAmJiBpc09wZW4pIHtcbiAgICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW2xhc3RPcGVuZWREcm9wZG93bl0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xpY2tPdXRzaWRlKGV2ZW50OiBNb3VzZUV2ZW50IHwgRXZlbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZj8uY3VycmVudDtcbiAgICAgIGNvbnN0IGJ1dHRvbiA9IGJ1dHRvblJlZj8uY3VycmVudDtcbiAgICAgIGlmIChcbiAgICAgICAgaXNPcGVuICYmXG4gICAgICAgIGNvbnRhaW5lciAmJlxuICAgICAgICAhY29udGFpbmVyLmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICBidXR0b24gJiZcbiAgICAgICAgIWJ1dHRvbi5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSlcbiAgICAgICkge1xuICAgICAgICBoYW5kbGVDbG9zZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICB9O1xuICB9LCBbY29udGFpbmVyUmVmLCBoYW5kbGVDbG9zZSwgaXNPcGVuXSk7XG4gIGNvbnN0IGRpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbiA9IHVzZUNvbnRleHQoR2xvYmFsTmF2UmVkZXNpZ25Db250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxBcHBIZWFkZXJEcm9wZG93blByb3ZpZGVyIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZX0+XG4gICAgICA8QXBwSGVhZGVyRHJvcGRvd25OYXZCdXR0b25cbiAgICAgICAgYnV0dG9uUmVmPXtidXR0b25SZWZ9XG4gICAgICAgIGhhbmRsZU9uQ2xpY2s9e2hhbmRsZU9uQ2xpY2t9XG4gICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICB0aXRsZT17dGV4dH1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkQW5pbWF0ZWRNZWdhTWVudURyb3Bkb3duXG4gICAgICAgIGlzQW5vbj17aXNBbm9ufVxuICAgICAgICBkaXNwbGF5R2xvYmFsTmF2UmVkZXNpZ249e2Rpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbn1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICB0b3A6ICczLjVyZW0nLFxuICAgICAgICAgIG1pbldpZHRoOiAnNjRyZW0nLFxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogZGlzcGxheUdsb2JhbE5hdlJlZGVzaWduID8gJ3RyYW5zcGFyZW50JyA6ICcnLFxuICAgICAgICB9fVxuICAgICAgICBpbml0aWFsPXt7IGJvcmRlcldpZHRoOiAwLCBoZWlnaHQ6IDAgfX1cbiAgICAgICAgYW5pbWF0ZT17e1xuICAgICAgICAgIGJvcmRlcldpZHRoOiBpc09wZW4gPyAoZGlzcGxheUdsb2JhbE5hdlJlZGVzaWduID8gMCA6IDEpIDogMCxcbiAgICAgICAgICBoZWlnaHQ6IGlzT3BlbiA/ICdmaXQtY29udGVudCcgOiAwLFxuICAgICAgICB9fVxuICAgICAgICB0cmFuc2l0aW9uPXt7IGR1cmF0aW9uOiAwLjE3NSB9fVxuICAgICAgICBhcmlhLWhpZGRlbj17IWlzT3Blbn1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJjYXRhbG9nLW1lbnUtZHJvcGRvd25cIlxuICAgICAgPlxuICAgICAgICB7ZGlzcGxheUdsb2JhbE5hdlJlZGVzaWduID8gKFxuICAgICAgICAgIDxDb2xvck1vZGUgbW9kZT1cImxpZ2h0XCI+XG4gICAgICAgICAgICA8QXBwSGVhZGVyU2VjdGlvblxuICAgICAgICAgICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgIG5hdlNlY3Rpb25zPXtDQVRBTE9HX05BVl9TRUNUSU9OU31cbiAgICAgICAgICAgICAgTWFya2V0aW5nQmFubmVyPXtNYXJrZXRpbmdCYW5uZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sb3JNb2RlPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxBcHBIZWFkZXJDYXRhbG9nU2VjdGlvblxuICAgICAgICAgICAgYWN0aW9uPXthY3Rpb259XG4gICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgICAgICBpZD17YG1lbnUtY29udGFpbmVyJHtpdGVtLnRleHR9YH1cbiAgICAgICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICAgICAgaGFuZGxlQ2xvc2U9eygpID0+IHNldElzT3BlbihmYWxzZSl9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvU3R5bGVkQW5pbWF0ZWRNZWdhTWVudURyb3Bkb3duPlxuICAgIDwvQXBwSGVhZGVyRHJvcGRvd25Qcm92aWRlcj5cbiAgKTtcbn07XG4iXX0= */"));
22
25
  export const AppHeaderCatalogDropdown = ({
23
26
  action,
24
27
  item,
@@ -101,11 +104,14 @@ export const AppHeaderCatalogDropdown = ({
101
104
  },
102
105
  "aria-hidden": !isOpen,
103
106
  "data-testid": "catalog-menu-dropdown",
104
- children: displayGlobalNavRedesign ? /*#__PURE__*/_jsx(AppHeaderCatalogSectionVariant, {
105
- item: item,
106
- ref: containerRef,
107
- id: `menu-container${item.text}`,
108
- isOpen: isOpen
107
+ children: displayGlobalNavRedesign ? /*#__PURE__*/_jsx(ColorMode, {
108
+ mode: "light",
109
+ children: /*#__PURE__*/_jsx(AppHeaderSection, {
110
+ isOpen: isOpen,
111
+ ref: containerRef,
112
+ navSections: CATALOG_NAV_SECTIONS,
113
+ MarketingBanner: MarketingBanner
114
+ })
109
115
  }) : /*#__PURE__*/_jsx(AppHeaderCatalogSection, {
110
116
  action: action,
111
117
  item: item,
@@ -0,0 +1,10 @@
1
+ import { CourseDifficulty } from '../../../ContentGroupBaseCard/types';
2
+ type AppHeaderDietCardProps = {
3
+ title: string;
4
+ hours: number;
5
+ icon: React.ReactNode;
6
+ difficulty: CourseDifficulty;
7
+ tabIndex: number;
8
+ };
9
+ export declare const AppHeaderDietCard: ({ title, hours, icon, difficulty, }: AppHeaderDietCardProps) => import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,82 @@
1
+ import _styled from "@emotion/styled/base";
2
+ import { Box, Card, FlexBox, Text } from '@codecademy/gamut';
3
+ import { CheckerDense } from '@codecademy/gamut-patterns';
4
+ import { css } from '@codecademy/gamut-styles';
5
+ import { CourseDifficulty } from '../../../ContentGroupBaseCard/types';
6
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const StyledCard = /*#__PURE__*/_styled(Card, {
8
+ target: "e1d52gk01",
9
+ label: "StyledCard"
10
+ })("&:hover{border-color:", ({
11
+ theme
12
+ }) => theme.colors.black, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyRGlldENhcmQvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU8rQiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlckRpZXRDYXJkL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJveCwgQ2FyZCwgRmxleEJveCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IENoZWNrZXJEZW5zZSB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXBhdHRlcm5zJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IENvdXJzZURpZmZpY3VsdHkgfSBmcm9tICcuLi8uLi8uLi9Db250ZW50R3JvdXBCYXNlQ2FyZC90eXBlcyc7XG5cbmNvbnN0IFN0eWxlZENhcmQgPSBzdHlsZWQoQ2FyZClgXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuYmxhY2t9O1xuICB9XG5gO1xuXG5jb25zdCBEb3R0ZWRMaW5lID0gc3R5bGVkKENoZWNrZXJEZW5zZSkoXG4gIGNzcyh7XG4gICAgaGVpZ2h0OiAnMXB4JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbWFyZ2luVG9wOiAnLTFweCcsXG4gIH0pXG4pO1xuXG50eXBlIEFwcEhlYWRlckRpZXRDYXJkUHJvcHMgPSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGhvdXJzOiBudW1iZXI7XG4gIGljb246IFJlYWN0LlJlYWN0Tm9kZTtcbiAgZGlmZmljdWx0eTogQ291cnNlRGlmZmljdWx0eTtcbiAgdGFiSW5kZXg6IG51bWJlcjsgLy8gdG8gYmUgdXNlZCB3aGVuIHdlIGFkZCBsaW5rc1xufTtcblxuZXhwb3J0IGNvbnN0IEFwcEhlYWRlckRpZXRDYXJkID0gKHtcbiAgdGl0bGUsXG4gIGhvdXJzLFxuICBpY29uLFxuICBkaWZmaWN1bHR5LFxufTogQXBwSGVhZGVyRGlldENhcmRQcm9wcykgPT4ge1xuICBjb25zdCBpc0JlZ2lubmVyQ29udGFpbmVyID0gZGlmZmljdWx0eSA9PT0gQ291cnNlRGlmZmljdWx0eS5CZWdpbm5lcjtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDYXJkXG4gICAgICBib3JkZXJSYWRpdXM9XCJtZFwiXG4gICAgICBib3JkZXJDb2xvcj1cImJvcmRlci10ZXJ0aWFyeVwiXG4gICAgICBtaW5IZWlnaHQ9ezEyMH1cbiAgICAgIGRpc3BsYXk9XCJmbGV4XCJcbiAgICAgIGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgIHB4PXsxMn1cbiAgICAgIHB5PXs4fVxuICAgICAgaXNJbnRlcmFjdGl2ZVxuICAgID5cbiAgICAgIDxUZXh0IGFzPVwiaDNcIiB2YXJpYW50PVwidGl0bGUteHNcIj5cbiAgICAgICAge3RpdGxlfVxuICAgICAgPC9UZXh0PlxuXG4gICAgICA8Qm94PlxuICAgICAgICA8Qm94IHB5PXs0fSBoZWlnaHQ9ezB9IHBvc2l0aW9uPVwicmVsYXRpdmVcIiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICA8RG90dGVkTGluZSBjb2xvcj1cImJvcmRlci10ZXJ0aWFyeVwiIC8+XG4gICAgICAgIDwvQm94PlxuICAgICAgICA8RmxleEJveCBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIj5cbiAgICAgICAgICA8RmxleEJveCBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXs4fT5cbiAgICAgICAgICAgIHtpY29ufVxuICAgICAgICAgICAgPFRleHQgc2NyZWVucmVhZGVyPntgJHtkaWZmaWN1bHR5fSR7XG4gICAgICAgICAgICAgIGlzQmVnaW5uZXJDb250YWluZXIgPyAnIEZyaWVuZGx5JyA6ICcnXG4gICAgICAgICAgICB9LmB9PC9UZXh0PlxuICAgICAgICAgICAgPFRleHRcbiAgICAgICAgICAgICAgdmFyaWFudD1cInAtc21hbGxcIlxuICAgICAgICAgICAgICBjb2xvcj1cInRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgcGw9ezh9XG4gICAgICAgICAgICAgIHdoaXRlU3BhY2U9XCJub3dyYXBcIlxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImNhcmQtZGlmZmljdWx0eVwiXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxiPntkaWZmaWN1bHR5fTwvYj5cbiAgICAgICAgICAgICAge2lzQmVnaW5uZXJDb250YWluZXIgJiYgPD4gRnJpZW5kbHk8Lz59XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgIDxUZXh0IGNvbG9yPVwidGV4dC1zZWNvbmRhcnlcIj5cbiAgICAgICAgICAgIDxiPntob3Vyc308L2I+IGhvdXJzXG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICA8L0JveD5cbiAgICA8L1N0eWxlZENhcmQ+XG4gICk7XG59O1xuIl19 */"));
13
+ const DottedLine = /*#__PURE__*/_styled(CheckerDense, {
14
+ target: "e1d52gk00",
15
+ label: "DottedLine"
16
+ })(css({
17
+ height: '1px',
18
+ display: 'flex',
19
+ position: 'absolute',
20
+ marginTop: '-1px'
21
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyRGlldENhcmQvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFtQiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlckRpZXRDYXJkL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJveCwgQ2FyZCwgRmxleEJveCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IENoZWNrZXJEZW5zZSB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXBhdHRlcm5zJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IENvdXJzZURpZmZpY3VsdHkgfSBmcm9tICcuLi8uLi8uLi9Db250ZW50R3JvdXBCYXNlQ2FyZC90eXBlcyc7XG5cbmNvbnN0IFN0eWxlZENhcmQgPSBzdHlsZWQoQ2FyZClgXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuYmxhY2t9O1xuICB9XG5gO1xuXG5jb25zdCBEb3R0ZWRMaW5lID0gc3R5bGVkKENoZWNrZXJEZW5zZSkoXG4gIGNzcyh7XG4gICAgaGVpZ2h0OiAnMXB4JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbWFyZ2luVG9wOiAnLTFweCcsXG4gIH0pXG4pO1xuXG50eXBlIEFwcEhlYWRlckRpZXRDYXJkUHJvcHMgPSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGhvdXJzOiBudW1iZXI7XG4gIGljb246IFJlYWN0LlJlYWN0Tm9kZTtcbiAgZGlmZmljdWx0eTogQ291cnNlRGlmZmljdWx0eTtcbiAgdGFiSW5kZXg6IG51bWJlcjsgLy8gdG8gYmUgdXNlZCB3aGVuIHdlIGFkZCBsaW5rc1xufTtcblxuZXhwb3J0IGNvbnN0IEFwcEhlYWRlckRpZXRDYXJkID0gKHtcbiAgdGl0bGUsXG4gIGhvdXJzLFxuICBpY29uLFxuICBkaWZmaWN1bHR5LFxufTogQXBwSGVhZGVyRGlldENhcmRQcm9wcykgPT4ge1xuICBjb25zdCBpc0JlZ2lubmVyQ29udGFpbmVyID0gZGlmZmljdWx0eSA9PT0gQ291cnNlRGlmZmljdWx0eS5CZWdpbm5lcjtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDYXJkXG4gICAgICBib3JkZXJSYWRpdXM9XCJtZFwiXG4gICAgICBib3JkZXJDb2xvcj1cImJvcmRlci10ZXJ0aWFyeVwiXG4gICAgICBtaW5IZWlnaHQ9ezEyMH1cbiAgICAgIGRpc3BsYXk9XCJmbGV4XCJcbiAgICAgIGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgIHB4PXsxMn1cbiAgICAgIHB5PXs4fVxuICAgICAgaXNJbnRlcmFjdGl2ZVxuICAgID5cbiAgICAgIDxUZXh0IGFzPVwiaDNcIiB2YXJpYW50PVwidGl0bGUteHNcIj5cbiAgICAgICAge3RpdGxlfVxuICAgICAgPC9UZXh0PlxuXG4gICAgICA8Qm94PlxuICAgICAgICA8Qm94IHB5PXs0fSBoZWlnaHQ9ezB9IHBvc2l0aW9uPVwicmVsYXRpdmVcIiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICA8RG90dGVkTGluZSBjb2xvcj1cImJvcmRlci10ZXJ0aWFyeVwiIC8+XG4gICAgICAgIDwvQm94PlxuICAgICAgICA8RmxleEJveCBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIj5cbiAgICAgICAgICA8RmxleEJveCBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXs4fT5cbiAgICAgICAgICAgIHtpY29ufVxuICAgICAgICAgICAgPFRleHQgc2NyZWVucmVhZGVyPntgJHtkaWZmaWN1bHR5fSR7XG4gICAgICAgICAgICAgIGlzQmVnaW5uZXJDb250YWluZXIgPyAnIEZyaWVuZGx5JyA6ICcnXG4gICAgICAgICAgICB9LmB9PC9UZXh0PlxuICAgICAgICAgICAgPFRleHRcbiAgICAgICAgICAgICAgdmFyaWFudD1cInAtc21hbGxcIlxuICAgICAgICAgICAgICBjb2xvcj1cInRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgcGw9ezh9XG4gICAgICAgICAgICAgIHdoaXRlU3BhY2U9XCJub3dyYXBcIlxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImNhcmQtZGlmZmljdWx0eVwiXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxiPntkaWZmaWN1bHR5fTwvYj5cbiAgICAgICAgICAgICAge2lzQmVnaW5uZXJDb250YWluZXIgJiYgPD4gRnJpZW5kbHk8Lz59XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgIDxUZXh0IGNvbG9yPVwidGV4dC1zZWNvbmRhcnlcIj5cbiAgICAgICAgICAgIDxiPntob3Vyc308L2I+IGhvdXJzXG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICA8L0JveD5cbiAgICA8L1N0eWxlZENhcmQ+XG4gICk7XG59O1xuIl19 */");
22
+ export const AppHeaderDietCard = ({
23
+ title,
24
+ hours,
25
+ icon,
26
+ difficulty
27
+ }) => {
28
+ const isBeginnerContainer = difficulty === CourseDifficulty.Beginner;
29
+ return /*#__PURE__*/_jsxs(StyledCard, {
30
+ borderRadius: "md",
31
+ borderColor: "border-tertiary",
32
+ minHeight: 120,
33
+ display: "flex",
34
+ flexDirection: "column",
35
+ justifyContent: "space-between",
36
+ px: 12,
37
+ py: 8,
38
+ isInteractive: true,
39
+ children: [/*#__PURE__*/_jsx(Text, {
40
+ as: "h3",
41
+ variant: "title-xs",
42
+ children: title
43
+ }), /*#__PURE__*/_jsxs(Box, {
44
+ children: [/*#__PURE__*/_jsx(Box, {
45
+ py: 4,
46
+ height: 0,
47
+ position: "relative",
48
+ "aria-hidden": true,
49
+ children: /*#__PURE__*/_jsx(DottedLine, {
50
+ color: "border-tertiary"
51
+ })
52
+ }), /*#__PURE__*/_jsxs(FlexBox, {
53
+ justifyContent: "space-between",
54
+ children: [/*#__PURE__*/_jsxs(FlexBox, {
55
+ alignItems: "center",
56
+ gap: 8,
57
+ children: [icon, /*#__PURE__*/_jsx(Text, {
58
+ screenreader: true,
59
+ children: `${difficulty}${isBeginnerContainer ? ' Friendly' : ''}.`
60
+ }), /*#__PURE__*/_jsxs(Text, {
61
+ variant: "p-small",
62
+ color: "text-secondary",
63
+ pl: 8,
64
+ whiteSpace: "nowrap",
65
+ "data-testid": "card-difficulty",
66
+ "aria-hidden": true,
67
+ children: [/*#__PURE__*/_jsx("b", {
68
+ children: difficulty
69
+ }), isBeginnerContainer && /*#__PURE__*/_jsx(_Fragment, {
70
+ children: " Friendly"
71
+ })]
72
+ })]
73
+ }), /*#__PURE__*/_jsxs(Text, {
74
+ color: "text-secondary",
75
+ children: [/*#__PURE__*/_jsx("b", {
76
+ children: hours
77
+ }), " hours"]
78
+ })]
79
+ })]
80
+ })]
81
+ });
82
+ };
@@ -3,6 +3,7 @@ import { AnchorRefItemType } from '../../shared';
3
3
  export interface AppHeaderDropdownContextType {
4
4
  firstItemRef?: AnchorRefItemType;
5
5
  setFirstItemRef: Dispatch<SetStateAction<AnchorRefItemType>> | undefined;
6
+ handleClose: () => void;
6
7
  }
7
8
  export declare const AppHeaderDropdownContext: React.Context<AppHeaderDropdownContextType>;
8
9
  export declare const AppHeaderDropdownProvider: React.FC<{
@@ -1,10 +1,12 @@
1
1
  import { Box } from '@codecademy/gamut';
2
+ import noop from 'lodash/fp/noop';
2
3
  import React, { createContext, useContext, useState } from 'react';
3
4
  import { useOnEscHandler } from '../../shared';
4
5
  import { jsx as _jsx } from "react/jsx-runtime";
5
6
  export const AppHeaderDropdownContext = /*#__PURE__*/createContext({
6
7
  firstItemRef: undefined,
7
- setFirstItemRef: undefined
8
+ setFirstItemRef: undefined,
9
+ handleClose: () => noop
8
10
  });
9
11
  export const AppHeaderDropdownProvider = ({
10
12
  children,
@@ -15,7 +17,8 @@ export const AppHeaderDropdownProvider = ({
15
17
  return /*#__PURE__*/_jsx(AppHeaderDropdownContext.Provider, {
16
18
  value: {
17
19
  firstItemRef,
18
- setFirstItemRef
20
+ setFirstItemRef,
21
+ handleClose
19
22
  },
20
23
  children: /*#__PURE__*/_jsx(Box, {
21
24
  onKeyDown: onKeyDown,
@@ -0,0 +1,4 @@
1
+ import { AppHeaderCardItem } from '../AppHeaderResourcesDropdown/consts';
2
+ export declare const AppHeaderFeatureCard: ({ item }: {
3
+ item: AppHeaderCardItem;
4
+ }) => import("react/jsx-runtime").JSX.Element;