@codecademy/brand 3.8.0-alpha.bbe6a143bc.0 → 3.8.0-alpha.bdbfac4885.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.
@@ -5,5 +5,6 @@ export declare const DietCardGrid: ({ children }: {
5
5
  export declare const CareerPathCard: () => import("react/jsx-runtime").JSX.Element;
6
6
  export declare const CareerPathsPanel: () => import("react/jsx-runtime").JSX.Element;
7
7
  export declare const SkillPathsPanel: () => import("react/jsx-runtime").JSX.Element;
8
+ export declare const getCertificationProviderLogoUrl: (fileName: string) => string;
8
9
  export declare const CertificationPathsPanel: () => import("react/jsx-runtime").JSX.Element;
9
10
  export declare const LiveLearningPanel: () => import("react/jsx-runtime").JSX.Element;
@@ -1,15 +1,15 @@
1
+ import _styled from "@emotion/styled/base";
1
2
  /* eslint-disable react/no-array-index-key */ // can be removed once we add dynamic data
2
3
  import { Anchor, Box, Card, FlexBox, GridBox, Text } from '@codecademy/gamut';
3
4
  import { LevelIcon } from '@codecademy/gamut-icons';
4
5
  import { theme } from '@codecademy/gamut-styles';
5
6
  import { CourseDifficulty } from '../../../ContentGroupBaseCard/types';
6
7
  import { useGlobalHeaderItemClick } from '../../../GlobalHeader/context';
7
- import { liveLearningHubItems } from '../../../lib/catalogList';
8
+ import { liveLearningHubItems, topLanguages } from '../../../lib/catalogList';
8
9
  import { AppHeaderDietCard } from '../AppHeaderDietCard';
9
10
  import { useAppHeaderSectionContext } from '../AppHeaderSection/AppHeaderSectionContext';
10
11
  import { PanelLayout } from '../AppHeaderSection/PanelLayout';
11
- import { SkillTile } from '../AppHeaderSkillTile';
12
- import { popularLanguages, popularSubjects } from './consts';
12
+ import { CERTIFICATION_PROVIDERS } from './consts';
13
13
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  export const CourseTopicsPanel = () => {
15
15
  const {
@@ -31,7 +31,7 @@ export const CourseTopicsPanel = () => {
31
31
  children: "Take the quiz"
32
32
  })]
33
33
  });
34
- return /*#__PURE__*/_jsxs(PanelLayout, {
34
+ return /*#__PURE__*/_jsx(PanelLayout, {
35
35
  heading: "Course topics",
36
36
  description: description,
37
37
  linkItem: {
@@ -41,31 +41,7 @@ export const CourseTopicsPanel = () => {
41
41
  trackingTarget: 'catalog-header-view-all-courses',
42
42
  id: 'view-all-courses'
43
43
  },
44
- children: [/*#__PURE__*/_jsx(Text, {
45
- variant: "p-large",
46
- fontWeight: 700,
47
- as: "h3",
48
- children: "Popular languages"
49
- }), /*#__PURE__*/_jsx(GridBox, {
50
- gridTemplateColumns: {
51
- _: '1fr',
52
- xs: '1fr 1fr',
53
- md: '1fr 1fr 1fr'
54
- },
55
- gap: 8,
56
- pl: 0,
57
- as: "ul",
58
- listStyle: "none",
59
- mb: 24,
60
- children: popularLanguages.map(item => /*#__PURE__*/_jsx(SkillTile, {
61
- item: item
62
- }, item.id))
63
- }), /*#__PURE__*/_jsx(Text, {
64
- variant: "p-large",
65
- fontWeight: 700,
66
- as: "h3",
67
- children: "Popular subjects"
68
- }), /*#__PURE__*/_jsx(GridBox, {
44
+ children: /*#__PURE__*/_jsx(GridBox, {
69
45
  gridTemplateColumns: {
70
46
  _: '1fr',
71
47
  xs: '1fr 1fr',
@@ -75,10 +51,23 @@ export const CourseTopicsPanel = () => {
75
51
  pl: 0,
76
52
  as: "ul",
77
53
  listStyle: "none",
78
- children: popularSubjects.map(item => /*#__PURE__*/_jsx(SkillTile, {
79
- item: item
80
- }, item.id))
81
- })]
54
+ children: topLanguages.map(item => /*#__PURE__*/_jsx(Anchor, {
55
+ variant: "interface",
56
+ href: item.href,
57
+ onClick: event => globalHeaderItemClick(event, item),
58
+ tabIndex: tabIndex,
59
+ children: /*#__PURE__*/_jsxs(FlexBox, {
60
+ height: 48,
61
+ px: 16,
62
+ py: 8,
63
+ borderRadius: "md",
64
+ border: 1,
65
+ borderColor: "border-tertiary",
66
+ alignItems: "center",
67
+ children: [item.text, item.badge]
68
+ }, `${item.id}`)
69
+ }, `${item.id}`))
70
+ })
82
71
  });
83
72
  };
84
73
  export const DietCardGrid = ({
@@ -142,22 +131,95 @@ export const SkillPathsPanel = () => {
142
131
  })
143
132
  });
144
133
  };
134
+ export const getCertificationProviderLogoUrl = fileName => `https://static-assets.codecademy.com/assets/certification-provider-logos/catalog-dropdown/v1/${fileName}`;
135
+ const Image = Box.withComponent('img', {
136
+ target: "eqfnvo1",
137
+ label: "Image"
138
+ });
139
+ const GrayscaleToColorHoverCard = /*#__PURE__*/_styled(Card, {
140
+ target: "eqfnvo0",
141
+ label: "GrayscaleToColorHoverCard"
142
+ })("filter:grayscale(1);img{filter:", ({
143
+ overrideImgFilters
144
+ }) => overrideImgFilters ? 'contrast(5)' : 'brightness(0.25)', ";}transition:filter 0.2s ease-in-out;&:hover,a:focus &{filter:grayscale(0);img{filter:brightness(1);}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL05hdlBhbmVscy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0tFIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL05hdlBhbmVscy50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXkgKi8gLy8gY2FuIGJlIHJlbW92ZWQgb25jZSB3ZSBhZGQgZHluYW1pYyBkYXRhXG5pbXBvcnQgeyBBbmNob3IsIEJveCwgQ2FyZCwgRmxleEJveCwgR3JpZEJveCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IExldmVsSWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgQ291cnNlRGlmZmljdWx0eSB9IGZyb20gJy4uLy4uLy4uL0NvbnRlbnRHcm91cEJhc2VDYXJkL3R5cGVzJztcbmltcG9ydCB7IHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljayB9IGZyb20gJy4uLy4uLy4uL0dsb2JhbEhlYWRlci9jb250ZXh0JztcbmltcG9ydCB7IGxpdmVMZWFybmluZ0h1Ykl0ZW1zLCB0b3BMYW5ndWFnZXMgfSBmcm9tICcuLi8uLi8uLi9saWIvY2F0YWxvZ0xpc3QnO1xuaW1wb3J0IHsgQXBwSGVhZGVyRGlldENhcmQgfSBmcm9tICcuLi9BcHBIZWFkZXJEaWV0Q2FyZCc7XG5pbXBvcnQgeyB1c2VBcHBIZWFkZXJTZWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL0FwcEhlYWRlclNlY3Rpb24vQXBwSGVhZGVyU2VjdGlvbkNvbnRleHQnO1xuaW1wb3J0IHsgUGFuZWxMYXlvdXQgfSBmcm9tICcuLi9BcHBIZWFkZXJTZWN0aW9uL1BhbmVsTGF5b3V0JztcbmltcG9ydCB7IENFUlRJRklDQVRJT05fUFJPVklERVJTIH0gZnJvbSAnLi9jb25zdHMnO1xuXG5leHBvcnQgY29uc3QgQ291cnNlVG9waWNzUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcbiAgY29uc3QgeyB0YWJJbmRleCB9ID0gdXNlQXBwSGVhZGVyU2VjdGlvbkNvbnRleHQoKTtcblxuICBjb25zdCBkZXNjcmlwdGlvbiA9IChcbiAgICA8PlxuICAgICAgRXhwbG9yZSBmcmVlIG9yIHBhaWQgY291cnNlcyBpbiBhIHdpZGUgdmFyaWV0eSBvZiB0b3BpY3MuIFdpdGggc29tZXRoaW5nXG4gICAgICBmb3IgZXZlcnkgc2tpbGwgbGV2ZWwsIGl0JmFwb3M7cyBlYXN5IHRvIGZpbmQgYSBjb3Vyc2UgdGhhdCBmaXRzIHlvdXJcbiAgICAgIGdvYWxzLiBOb3Qgc3VyZSB3aGVyZSB0byBzdGFydD8gJm5ic3A7XG4gICAgICA8QW5jaG9yXG4gICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgaHJlZj1cIi93ZWxjb21lL2ZpbmQtYS1jb3Vyc2VcIlxuICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PlxuICAgICAgICAgIGdsb2JhbEhlYWRlckl0ZW1DbGljayhldmVudCwge1xuICAgICAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICAgICAgaHJlZjogJy93ZWxjb21lL2ZpbmQtYS1jb3Vyc2UnLFxuICAgICAgICAgICAgdGV4dDogJ1Rha2UgdGhlIHF1aXonLFxuICAgICAgICAgICAgaWQ6ICd0YWtlLXRoZS1xdWl6JyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIFRha2UgdGhlIHF1aXpcbiAgICAgIDwvQW5jaG9yPlxuICAgIDwvPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFBhbmVsTGF5b3V0XG4gICAgICBoZWFkaW5nPVwiQ291cnNlIHRvcGljc1wiXG4gICAgICBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259XG4gICAgICBsaW5rSXRlbT17e1xuICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgIGhyZWY6ICcvY2F0YWxvZz90eXBlPWNvdXJzZScsXG4gICAgICAgIHRleHQ6ICdWaWV3IGFsbCBjb3Vyc2VzJyxcbiAgICAgICAgdHJhY2tpbmdUYXJnZXQ6ICdjYXRhbG9nLWhlYWRlci12aWV3LWFsbC1jb3Vyc2VzJyxcbiAgICAgICAgaWQ6ICd2aWV3LWFsbC1jb3Vyc2VzJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPEdyaWRCb3hcbiAgICAgICAgZ3JpZFRlbXBsYXRlQ29sdW1ucz17eyBfOiAnMWZyJywgeHM6ICcxZnIgMWZyJywgbWQ6ICcxZnIgMWZyIDFmcicgfX1cbiAgICAgICAgZ2FwPXs4fVxuICAgICAgICBwbD17MH1cbiAgICAgICAgYXM9XCJ1bFwiXG4gICAgICAgIGxpc3RTdHlsZT1cIm5vbmVcIlxuICAgICAgPlxuICAgICAgICB7dG9wTGFuZ3VhZ2VzLm1hcCgoaXRlbSkgPT4gKFxuICAgICAgICAgIDxBbmNob3JcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxuICAgICAgICAgICAgb25DbGljaz17KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50LCBNb3VzZUV2ZW50PikgPT5cbiAgICAgICAgICAgICAgZ2xvYmFsSGVhZGVySXRlbUNsaWNrKGV2ZW50LCBpdGVtKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAga2V5PXtgJHtpdGVtLmlkfWB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEZsZXhCb3hcbiAgICAgICAgICAgICAgaGVpZ2h0PXs0OH1cbiAgICAgICAgICAgICAgcHg9ezE2fVxuICAgICAgICAgICAgICBweT17OH1cbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzPVwibWRcIlxuICAgICAgICAgICAgICBib3JkZXI9ezF9XG4gICAgICAgICAgICAgIGJvcmRlckNvbG9yPVwiYm9yZGVyLXRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgIGtleT17YCR7aXRlbS5pZH1gfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aXRlbS50ZXh0fVxuICAgICAgICAgICAgICB7aXRlbS5iYWRnZX1cbiAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICA8L0FuY2hvcj5cbiAgICAgICAgKSl9XG4gICAgICA8L0dyaWRCb3g+XG4gICAgPC9QYW5lbExheW91dD5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBEaWV0Q2FyZEdyaWQgPSAoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxHcmlkQm94XG4gICAgICBncmlkVGVtcGxhdGVDb2x1bW5zPXt7IF86ICcxZnInLCBzbTogJzFmciAxZnInLCBtZDogJ3JlcGVhdCgzLCAxZnIpJyB9fVxuICAgICAgZ2FwPXsxNn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9HcmlkQm94PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IENhcmVlclBhdGhDYXJkID0gKCkgPT4ge1xuICBjb25zdCB7IHRhYkluZGV4IH0gPSB1c2VBcHBIZWFkZXJTZWN0aW9uQ29udGV4dCgpO1xuICByZXR1cm4gKFxuICAgIDxBcHBIZWFkZXJEaWV0Q2FyZFxuICAgICAgdGl0bGU9XCJGdWxsLVN0YWNrIEVuZ2luZWVyXCJcbiAgICAgIGhvdXJzPXsxNTB9XG4gICAgICBpY29uPXs8TGV2ZWxJY29uIC8+fVxuICAgICAgZGlmZmljdWx0eT17Q291cnNlRGlmZmljdWx0eS5CZWdpbm5lcn1cbiAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IENhcmVlclBhdGhzUGFuZWwgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFBhbmVsTGF5b3V0XG4gICAgICBoZWFkaW5nPVwiUG9wdWxhciBjYXJlZXIgcGF0aHNcIlxuICAgICAgZGVzY3JpcHRpb249XCJDaG9vc2UgeW91ciBjYXJlZXIgYW5kIHdlJ2xsIHRlYWNoIHlvdSB0aGUgc2tpbGxzIHRvIGdldCBqb2ItcmVhZHkuIEVhY2ggQ2FyZWVyIFBhdGggY29udGFpbnMgYSBjdXJhdGVkIGxpc3Qgb2YgbGVzc29ucywgcXVpenplcywgdmlkZW9zLCBhbmQgcHJvamVjdHMgdG8gaGVscCB5b3UgbGVhcm4gYW5kIHByYWN0aWNlIHJlYWwtd29ybGQgc2tpbGxzLlwiXG4gICAgICBsaW5rSXRlbT17e1xuICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgIGhyZWY6ICcvY2F0YWxvZz90eXBlPWNhcmVlci1wYXRoJyxcbiAgICAgICAgdGV4dDogJ1ZpZXcgYWxsIGNhcmVlciBwYXRocycsXG4gICAgICAgIHRyYWNraW5nVGFyZ2V0OiAnY2F0YWxvZy1oZWFkZXItdmlldy1hbGwtY2FyZWVyLXBhdGhzJyxcbiAgICAgICAgaWQ6ICd2aWV3LWFsbC1jYXJlZXItcGF0aHMnLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8RGlldENhcmRHcmlkPlxuICAgICAgICB7QXJyYXkuZnJvbSh7IGxlbmd0aDogNiB9KS5tYXAoKF8sIGluZGV4KSA9PiAoXG4gICAgICAgICAgPENhcmVlclBhdGhDYXJkIGtleT17YCR7aW5kZXh9LWNhcmRgfSAvPlxuICAgICAgICApKX1cbiAgICAgIDwvRGlldENhcmRHcmlkPlxuICAgIDwvUGFuZWxMYXlvdXQ+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgU2tpbGxQYXRoc1BhbmVsID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxQYW5lbExheW91dFxuICAgICAgaGVhZGluZz1cIlNraWxsIHBhdGhzXCJcbiAgICAgIGRlc2NyaXB0aW9uPVwiQnVpbGQgYSBzcGVjaWZpYyBza2lsbCBmYXN0IHdpdGggYSBzaG9ydCwgY3VyYXRlZCBwYXRoLlwiXG4gICAgICBsaW5rSXRlbT17e1xuICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgIGhyZWY6ICcvY2F0YWxvZz90eXBlPXNraWxsLXBhdGgnLFxuICAgICAgICB0ZXh0OiAnVmlldyBhbGwgc2tpbGwgcGF0aHMnLFxuICAgICAgICB0cmFja2luZ1RhcmdldDogJ2NhdGFsb2ctaGVhZGVyLXZpZXctYWxsLXNraWxsLXBhdGhzJyxcbiAgICAgICAgaWQ6ICd2aWV3LWFsbC1za2lsbC1wYXRocycsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxEaWV0Q2FyZEdyaWQ+XG4gICAgICAgIHtBcnJheS5mcm9tKHsgbGVuZ3RoOiA2IH0pLm1hcCgoXywgaW5kZXgpID0+IChcbiAgICAgICAgICA8Q2FyZWVyUGF0aENhcmQga2V5PXtgJHtpbmRleH0tY2FyZGB9IC8+XG4gICAgICAgICkpfVxuICAgICAgPC9EaWV0Q2FyZEdyaWQ+XG4gICAgPC9QYW5lbExheW91dD5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDZXJ0aWZpY2F0aW9uUHJvdmlkZXJMb2dvVXJsID0gKGZpbGVOYW1lOiBzdHJpbmcpID0+XG4gIGBodHRwczovL3N0YXRpYy1hc3NldHMuY29kZWNhZGVteS5jb20vYXNzZXRzL2NlcnRpZmljYXRpb24tcHJvdmlkZXItbG9nb3MvY2F0YWxvZy1kcm9wZG93bi92MS8ke2ZpbGVOYW1lfWA7XG5cbmNvbnN0IEltYWdlID0gQm94LndpdGhDb21wb25lbnQoJ2ltZycpO1xuXG5jb25zdCBHcmF5c2NhbGVUb0NvbG9ySG92ZXJDYXJkID0gc3R5bGVkKENhcmQpPHtcbiAgb3ZlcnJpZGVJbWdGaWx0ZXJzPzogYm9vbGVhbjtcbn0+YFxuICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgaW1nIHtcbiAgICBmaWx0ZXI6ICR7KHsgb3ZlcnJpZGVJbWdGaWx0ZXJzIH0pID0+XG4gICAgICBvdmVycmlkZUltZ0ZpbHRlcnMgPyAnY29udHJhc3QoNSknIDogJ2JyaWdodG5lc3MoMC4yNSknfTtcbiAgfVxuICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4ycyBlYXNlLWluLW91dDtcbiAgJjpob3ZlcixcbiAgYTpmb2N1cyAmIHtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgICBpbWcge1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEpO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgUHJvdmlkZXJDaGlwID0gKHtcbiAgbmFtZSxcbiAgaHJlZixcbiAgaW1nU3JjLFxuICB0YWJJbmRleCxcbn06IHtcbiAgbmFtZTogc3RyaW5nO1xuICBocmVmOiBzdHJpbmc7XG4gIGltZ1NyYzogc3RyaW5nO1xuICB0YWJJbmRleDogbnVtYmVyO1xufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxBbmNob3JcbiAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICB2YXJpYW50PVwiaW50ZXJmYWNlXCJcbiAgICAgIGtleT17bmFtZX1cbiAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICBoZWlnaHQ9XCIxMDAlXCJcbiAgICAgIGRpc3BsYXk9XCJibG9ja1wiXG4gICAgPlxuICAgICAgPEdyYXlzY2FsZVRvQ29sb3JIb3ZlckNhcmRcbiAgICAgICAgYm9yZGVyQ29sb3I9XCJib3JkZXItdGVydGlhcnlcIlxuICAgICAgICBib3JkZXJSYWRpdXM9XCJsZ1wiXG4gICAgICAgIGlzSW50ZXJhY3RpdmVcbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgICAgIHA9ezh9XG4gICAgICAgIG92ZXJyaWRlSW1nRmlsdGVycz17bmFtZS50b0xvd2VyQ2FzZSgpID09PSAna3ViZXJuZXRlcyd9XG4gICAgICA+XG4gICAgICAgIDxJbWFnZSBzcmM9e2ltZ1NyY30gYWx0PXtuYW1lfSBkaXNwbGF5PVwiYmxvY2tcIiBtPVwiYXV0b1wiIGhlaWdodD17NTJ9IC8+XG4gICAgICA8L0dyYXlzY2FsZVRvQ29sb3JIb3ZlckNhcmQ+XG4gICAgPC9BbmNob3I+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgQ2VydGlmaWNhdGlvblBhdGhzUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdGFiSW5kZXggfSA9IHVzZUFwcEhlYWRlclNlY3Rpb25Db250ZXh0KCk7XG4gIHJldHVybiAoXG4gICAgPFBhbmVsTGF5b3V0XG4gICAgICBoZWFkaW5nPVwiQ2VydGlmaWNhdGlvbiBwYXRoc1wiXG4gICAgICBkZXNjcmlwdGlvbj1cIlByZXBhcmUgZm9yIHRvcCBpbmR1c3RyeSBjZXJ0aWZpY2F0aW9ucyB3aXRoIGEgZ3VpZGVkIHBhdGguIEVhY2ggb25lIGluY2x1ZGVzIGV4cGVydC1yZXZpZXdlZCBsZXNzb25zLCBoYW5kcy1vbiBwcm9qZWN0cywgYW5kIHByYWN0aWNlIHRlc3RzIHRvIGhlbHAgeW91IHBhc3MgdGhlIGV4YW0uXCJcbiAgICAgIGxpbmtJdGVtPXt7XG4gICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgaHJlZjogJy9jYXRhbG9nL2NlcnRpZmljYXRpb24tcHJlcCcsXG4gICAgICAgIHRleHQ6ICdFeHBsb3JlIGFsbCBjZXJ0aWZpY2F0aW9uIHBhdGhzJyxcbiAgICAgICAgdHJhY2tpbmdUYXJnZXQ6ICdjYXRhbG9nLWhlYWRlci12aWV3LWFsbC1jZXJ0aWZpY2F0aW9uLXBhdGhzJyxcbiAgICAgICAgaWQ6ICd2aWV3LWFsbC1jZXJ0aWZpY2F0aW9uLXBhdGhzJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPFRleHQgYXM9XCJoM1wiIGZvbnRTaXplPXsxOH0gZm9udFdlaWdodD1cImJvbGRcIj5cbiAgICAgICAgUHJvdmlkZXJzXG4gICAgICA8L1RleHQ+XG4gICAgICA8R3JpZEJveFxuICAgICAgICBncmlkVGVtcGxhdGVDb2x1bW5zPXt7XG4gICAgICAgICAgXzogJzFmcicsXG4gICAgICAgICAgeHM6ICdyZXBlYXQoMiwgMWZyKScsXG4gICAgICAgICAgc206ICdyZXBlYXQoMywgMWZyKScsXG4gICAgICAgICAgbWQ6ICdyZXBlYXQoNCwgMWZyKScsXG4gICAgICAgIH19XG4gICAgICAgIGdhcD17MTZ9XG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgIGFzPVwidWxcIlxuICAgICAgICBsaXN0U3R5bGU9XCJub25lXCJcbiAgICAgICAgcD17MH1cbiAgICAgICAgbT17MH1cbiAgICAgID5cbiAgICAgICAge0NFUlRJRklDQVRJT05fUFJPVklERVJTLm1hcCgoeyBuYW1lLCBsb2dvVXJsLCBodWJUeXBlIH0pID0+IChcbiAgICAgICAgICA8Qm94IGFzPVwibGlcIiBrZXk9e25hbWV9IHdpZHRoPVwiMTAwJVwiPlxuICAgICAgICAgICAgPFByb3ZpZGVyQ2hpcFxuICAgICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgICBocmVmPXtcbiAgICAgICAgICAgICAgICBodWJUeXBlID09PSAnc3ViaHViJ1xuICAgICAgICAgICAgICAgICAgPyBgL3NlYXJjaD9xdWVyeT0ke25hbWV9IGNlcnRpZmljYXRpb25zYFxuICAgICAgICAgICAgICAgICAgOiBgL2NhdGFsb2cvY2VydGlmaWNhdGlvbi1wcmVwP3Byb3ZpZGVyPSR7bmFtZS50b0xvd2VyQ2FzZSgpfWBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpbWdTcmM9e2xvZ29Vcmx9XG4gICAgICAgICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Cb3g+XG4gICAgICAgICkpfVxuICAgICAgPC9HcmlkQm94PlxuICAgIDwvUGFuZWxMYXlvdXQ+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgTGl2ZUxlYXJuaW5nUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcbiAgcmV0dXJuIChcbiAgICA8UGFuZWxMYXlvdXRcbiAgICAgIGhlYWRpbmc9XCJMaXZlIGxlYXJuaW5nXCJcbiAgICAgIGRlc2NyaXB0aW9uPVwiRXhwbG9yZSB0aGUgbGl2ZSBsZWFybmluZyBvcHBvcnR1bml0aWVzIGF2YWlsYWJsZSBpbiBvdXIgY291cnNlc1wiXG4gICAgICBsaW5rSXRlbT17e1xuICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgIGhyZWY6ICcvbGl2ZS1sZWFybmluZycsXG4gICAgICAgIHRleHQ6ICdMZWFybiBtb3JlIGFib3V0IGxpdmUgbGVhcm5pbmcnLFxuICAgICAgICB0cmFja2luZ1RhcmdldDogJ2NhdGFsb2ctaGVhZGVyLWxlYXJuLW1vcmUtYWJvdXQtbGl2ZS1sZWFybmluZycsXG4gICAgICAgIGlkOiAnbGVhcm4tbW9yZS1hYm91dC1saXZlLWxlYXJuaW5nJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPEdyaWRCb3hcbiAgICAgICAgZ3JpZFRlbXBsYXRlQ29sdW1ucz17eyBfOiAnMWZyJywgbWQ6ICdyZXBlYXQoMiwgMWZyKScgfX1cbiAgICAgICAgZ2FwPXsxNn1cbiAgICAgID5cbiAgICAgICAge2xpdmVMZWFybmluZ0h1Ykl0ZW1zLmRhdGEubWFwKChpdGVtKSA9PiAoXG4gICAgICAgICAgPEFuY2hvclxuICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxuICAgICAgICAgICAga2V5PXtpdGVtLmlkfVxuICAgICAgICAgICAgdmFyaWFudD1cImludGVyZmFjZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PlxuICAgICAgICAgICAgICBnbG9iYWxIZWFkZXJJdGVtQ2xpY2soZXZlbnQsIGl0ZW0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENhcmQgaXNJbnRlcmFjdGl2ZSBwPXswfT5cbiAgICAgICAgICAgICAgPEJveFxuICAgICAgICAgICAgICAgIGhlaWdodD1cIjIyNXB4XCJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ9e3RoZW1lLmNvbG9yc1snZ3JheS0zMDAnXX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPEZsZXhCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIGdhcD17OH0gcD17MTZ9PlxuICAgICAgICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJ0aXRsZS14c1wiPntpdGVtLnRleHR9PC9UZXh0PlxuICAgICAgICAgICAgICAgIHsnZGVzY3JpcHRpb24nIGluIGl0ZW0gJiYgPFRleHQ+e2l0ZW0uZGVzY3JpcHRpb259PC9UZXh0Pn1cbiAgICAgICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQW5jaG9yPlxuICAgICAgICApKX1cbiAgICAgIDwvR3JpZEJveD5cbiAgICA8L1BhbmVsTGF5b3V0PlxuICApO1xufTtcbiJdfQ== */"));
145
+ const ProviderChip = ({
146
+ name,
147
+ href,
148
+ imgSrc,
149
+ tabIndex
150
+ }) => {
151
+ return /*#__PURE__*/_jsx(Anchor, {
152
+ href: href,
153
+ variant: "interface",
154
+ tabIndex: tabIndex,
155
+ width: "100%",
156
+ height: "100%",
157
+ display: "block",
158
+ children: /*#__PURE__*/_jsx(GrayscaleToColorHoverCard, {
159
+ borderColor: "border-tertiary",
160
+ borderRadius: "lg",
161
+ isInteractive: true,
162
+ width: "100%",
163
+ height: "100%",
164
+ p: 8,
165
+ overrideImgFilters: name.toLowerCase() === 'kubernetes',
166
+ children: /*#__PURE__*/_jsx(Image, {
167
+ src: imgSrc,
168
+ alt: name,
169
+ display: "block",
170
+ m: "auto",
171
+ height: 52
172
+ })
173
+ })
174
+ }, name);
175
+ };
145
176
  export const CertificationPathsPanel = () => {
146
- return /*#__PURE__*/_jsx(PanelLayout, {
177
+ const {
178
+ tabIndex
179
+ } = useAppHeaderSectionContext();
180
+ return /*#__PURE__*/_jsxs(PanelLayout, {
147
181
  heading: "Certification paths",
148
- description: "Get ready for certification exams with guided learning paths.",
182
+ description: "Prepare for top industry certifications with a guided path. Each one includes expert-reviewed lessons, hands-on projects, and practice tests to help you pass the exam.",
149
183
  linkItem: {
150
184
  type: 'link',
151
- href: '/catalog?type=certification-path',
152
- text: 'View all certification paths',
185
+ href: '/catalog/certification-prep',
186
+ text: 'Explore all certification paths',
153
187
  trackingTarget: 'catalog-header-view-all-certification-paths',
154
188
  id: 'view-all-certification-paths'
155
189
  },
156
- children: /*#__PURE__*/_jsx(DietCardGrid, {
157
- children: Array.from({
158
- length: 6
159
- }).map((_, index) => /*#__PURE__*/_jsx(CareerPathCard, {}, `${index}-card`))
160
- })
190
+ children: [/*#__PURE__*/_jsx(Text, {
191
+ as: "h3",
192
+ fontSize: 18,
193
+ fontWeight: "bold",
194
+ children: "Providers"
195
+ }), /*#__PURE__*/_jsx(GridBox, {
196
+ gridTemplateColumns: {
197
+ _: '1fr',
198
+ xs: 'repeat(2, 1fr)',
199
+ sm: 'repeat(3, 1fr)',
200
+ md: 'repeat(4, 1fr)'
201
+ },
202
+ gap: 16,
203
+ width: "100%",
204
+ as: "ul",
205
+ listStyle: "none",
206
+ p: 0,
207
+ m: 0,
208
+ children: CERTIFICATION_PROVIDERS.map(({
209
+ name,
210
+ logoUrl,
211
+ hubType
212
+ }) => /*#__PURE__*/_jsx(Box, {
213
+ as: "li",
214
+ width: "100%",
215
+ children: /*#__PURE__*/_jsx(ProviderChip, {
216
+ name: name,
217
+ href: hubType === 'subhub' ? `/search?query=${name} certifications` : `/catalog/certification-prep?provider=${name.toLowerCase()}`,
218
+ imgSrc: logoUrl,
219
+ tabIndex: tabIndex
220
+ })
221
+ }, name))
222
+ })]
161
223
  });
162
224
  };
163
225
  export const LiveLearningPanel = () => {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { AppHeaderCatalogDropdownItem, AppHeaderLinkItem } from '../../shared';
2
+ import { AppHeaderCatalogDropdownItem } from '../../shared';
3
3
  export type NavSectionConfig = {
4
4
  item: AppHeaderCatalogDropdownItem;
5
5
  panel: React.ComponentType<{
@@ -11,5 +11,8 @@ export declare const bannerData: {
11
11
  text: string;
12
12
  href: string;
13
13
  };
14
- export declare const popularLanguages: AppHeaderLinkItem[];
15
- export declare const popularSubjects: AppHeaderLinkItem[];
14
+ export declare const CERTIFICATION_PROVIDERS: {
15
+ name: string;
16
+ logoUrl: string;
17
+ hubType: string;
18
+ }[];
@@ -1,5 +1,5 @@
1
- import { ArtificialIntelligenceIcon, BookLibraryIcon, BriefcaseIcon, CIcon, CloudComputingIcon, CPlusIcon, CSharpIcon, CybersecurityIcon, DataEngineeringIcon, DataScienceIcon, GrowthIcon, HtmlCssIcon, JavaIcon, JavascriptIcon, OnlineClassStudentIcon, PhpIcon, ProfessionalCertificateIcon, ProgrammingBrowserIcon, PythonIcon, SqlIcon, StudyBookIcon, WebDesignIcon, WebDevelopmentIcon } from '@codecademy/gamut-icons';
2
- import { CareerPathsPanel, CertificationPathsPanel, CourseTopicsPanel, LiveLearningPanel, SkillPathsPanel } from './NavPanels';
1
+ import { BookLibraryIcon, BriefcaseIcon, OnlineClassStudentIcon, ProfessionalCertificateIcon, StudyBookIcon } from '@codecademy/gamut-icons';
2
+ import { CareerPathsPanel, CertificationPathsPanel, CourseTopicsPanel, getCertificationProviderLogoUrl, LiveLearningPanel, SkillPathsPanel } from './NavPanels';
3
3
  export const CATALOG_NAV_SECTIONS = [{
4
4
  item: {
5
5
  icon: StudyBookIcon,
@@ -50,131 +50,52 @@ export const bannerData = {
50
50
  text: 'Want to help shape digital products? Check out the new UX Designer career path.',
51
51
  href: '/learn/paths/ux-designer-career-path'
52
52
  };
53
- export const popularLanguages = [{
54
- id: 'python',
55
- href: '/catalog/language/python',
56
- trackingTarget: 'topnav_catalog_skill_python',
57
- text: 'Python',
58
- type: 'link',
59
- icon: PythonIcon
60
- }, {
61
- id: 'javascript',
62
- href: '/catalog/language/javascript',
63
- trackingTarget: 'topnav_catalog_skill_javascript',
64
- text: 'JavaScript',
65
- type: 'link',
66
- icon: JavascriptIcon
67
- }, {
68
- id: 'html-css',
69
- href: '/catalog/language/html-css',
70
- trackingTarget: 'topnav_catalog_skill_html-css',
71
- text: 'HTML & CSS',
72
- type: 'link',
73
- icon: HtmlCssIcon
74
- }, {
75
- id: 'c-sharp',
76
- href: '/catalog/language/c-sharp',
77
- trackingTarget: 'topnav_catalog_skill_c-sharp',
78
- text: 'C#',
79
- type: 'link',
80
- icon: CSharpIcon
81
- }, {
82
- id: 'c-plus-plus',
83
- href: '/catalog/language/c-plus-plus',
84
- trackingTarget: 'topnav_catalog_skill_c-plus-plus',
85
- text: 'C++',
86
- type: 'link',
87
- icon: CPlusIcon
88
- }, {
89
- id: 'c',
90
- href: '/catalog/language/c',
91
- trackingTarget: 'topnav_catalog_skill_c',
92
- text: 'C',
93
- type: 'link',
94
- icon: CIcon
95
- }, {
96
- id: 'php',
97
- href: '/catalog/language/php',
98
- trackingTarget: 'topnav_catalog_skill_php',
99
- text: 'PHP',
100
- type: 'link',
101
- icon: PhpIcon
102
- }, {
103
- id: 'java',
104
- href: '/catalog/language/java',
105
- trackingTarget: 'topnav_catalog_skill_java',
106
- text: 'Java',
107
- type: 'link',
108
- icon: JavaIcon
109
- }, {
110
- id: 'sql',
111
- href: '/catalog/language/sql',
112
- trackingTarget: 'topnav_catalog_skill_sql',
113
- text: 'SQL',
114
- type: 'link',
115
- icon: SqlIcon
116
- }];
117
- export const popularSubjects = [{
118
- id: 'artificial-intelligence',
119
- href: '/catalog/subject/artificial-intelligence',
120
- trackingTarget: 'topnav_catalog_skill_ai',
121
- text: 'AI',
122
- type: 'link',
123
- icon: ArtificialIntelligenceIcon
124
- }, {
125
- id: 'it',
126
- href: '/catalog/subject/information-technology',
127
- trackingTarget: 'topnav_catalog_skill_it',
128
- text: 'IT',
129
- type: 'link',
130
- icon: DataEngineeringIcon
131
- }, {
132
- id: 'cybersecurity',
133
- href: '/catalog/subject/cybersecurity',
134
- trackingTarget: 'topnav_catalog_skill_cybersecurity',
135
- text: 'Cybersecurity',
136
- type: 'link',
137
- icon: CybersecurityIcon
138
- }, {
139
- id: 'cloud-computing',
140
- href: '/catalog/subject/cloud-computing',
141
- trackingTarget: 'topnav_catalog_skill_cloud-computing',
142
- text: 'Cloud computing',
143
- type: 'link',
144
- icon: CloudComputingIcon
145
- }, {
146
- id: 'web-development',
147
- href: '/catalog/subject/web-development',
148
- trackingTarget: 'topnav_catalog_skill_web_development',
149
- text: 'Web development',
150
- type: 'link',
151
- icon: WebDevelopmentIcon
152
- }, {
153
- id: 'data-science',
154
- href: '/catalog/subject/data-science',
155
- trackingTarget: 'topnav_catalog_skill_data-science',
156
- text: 'Data science',
157
- type: 'link',
158
- icon: DataScienceIcon
159
- }, {
160
- id: 'web-design',
161
- href: '/catalog/subject/web-design',
162
- trackingTarget: 'topnav_catalog_skill_web-design',
163
- text: 'Web design',
164
- type: 'link',
165
- icon: WebDesignIcon
166
- }, {
167
- id: 'professional-skills',
168
- href: '/catalog/subject/professional-skills',
169
- trackingTarget: 'topnav_catalog_skill_professional-skills',
170
- text: 'Professional skills',
171
- type: 'link',
172
- icon: GrowthIcon
173
- }, {
174
- id: 'code-foundations',
175
- href: '/catalog/subject/code-foundations',
176
- trackingTarget: 'topnav_catalog_skill_code-foundations',
177
- text: 'Code foundations',
178
- type: 'link',
179
- icon: ProgrammingBrowserIcon
53
+ export const CERTIFICATION_PROVIDERS = [{
54
+ name: 'Microsoft',
55
+ logoUrl: getCertificationProviderLogoUrl('microsoft.svg'),
56
+ hubType: 'subhub'
57
+ }, {
58
+ name: 'CompTIA',
59
+ logoUrl: getCertificationProviderLogoUrl('comptia.svg'),
60
+ hubType: 'subhub'
61
+ }, {
62
+ name: 'ISC2',
63
+ logoUrl: getCertificationProviderLogoUrl('isc2.svg'),
64
+ hubType: 'subhub'
65
+ }, {
66
+ name: 'AWS',
67
+ logoUrl: getCertificationProviderLogoUrl('aws.svg'),
68
+ hubType: 'subhub'
69
+ }, {
70
+ name: 'Google',
71
+ logoUrl: getCertificationProviderLogoUrl('google.svg'),
72
+ hubType: 'certification-prep'
73
+ }, {
74
+ name: 'Cisco',
75
+ logoUrl: getCertificationProviderLogoUrl('cisco.svg'),
76
+ hubType: 'certification-prep'
77
+ }, {
78
+ name: 'IIBA',
79
+ logoUrl: getCertificationProviderLogoUrl('iiba.svg'),
80
+ hubType: 'certification-prep'
81
+ }, {
82
+ name: 'ISTQB',
83
+ logoUrl: getCertificationProviderLogoUrl('istqb.svg'),
84
+ hubType: 'certification-prep'
85
+ }, {
86
+ name: 'ISACA',
87
+ logoUrl: getCertificationProviderLogoUrl('isaca.svg'),
88
+ hubType: 'certification-prep'
89
+ }, {
90
+ name: 'Kubernetes',
91
+ logoUrl: getCertificationProviderLogoUrl('kubernetes.svg'),
92
+ hubType: 'certification-prep'
93
+ }, {
94
+ name: 'Oracle',
95
+ logoUrl: getCertificationProviderLogoUrl('oracle.svg'),
96
+ hubType: 'certification-prep'
97
+ }, {
98
+ name: 'Project Management Institute',
99
+ logoUrl: getCertificationProviderLogoUrl('pmi.svg'),
100
+ hubType: 'certification-prep'
180
101
  }];
@@ -10,13 +10,13 @@ const StyledCard = /*#__PURE__*/_styled(Card, {
10
10
  theme
11
11
  }) => theme.colors.primary, ";border-color:", ({
12
12
  theme
13
- }) => theme.colors.primary, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyRmVhdHVyZUNhcmQvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU8rQiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlckZlYXR1cmVDYXJkL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJveCwgQ2FyZCwgRmxleEJveCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IEdyaWREZW5zZSB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXBhdHRlcm5zJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgQXBwSGVhZGVyQ2FyZEl0ZW0gfSBmcm9tICcuLi9BcHBIZWFkZXJSZXNvdXJjZXNEcm9wZG93bi9jb25zdHMnO1xuXG5jb25zdCBTdHlsZWRDYXJkID0gc3R5bGVkKENhcmQpYFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeX07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5fTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IEFwcEhlYWRlckZlYXR1cmVDYXJkID0gKHsgaXRlbSB9OiB7IGl0ZW06IEFwcEhlYWRlckNhcmRJdGVtIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2FyZFxuICAgICAgaXNJbnRlcmFjdGl2ZVxuICAgICAgcHg9ezE2fVxuICAgICAgcHk9ezI0fVxuICAgICAgYm9yZGVyUmFkaXVzPVwibGdcIlxuICAgICAgYm9yZGVyPXsxfVxuICAgICAgYm9yZGVyQ29sb3I9XCJib3JkZXItdGVydGlhcnlcIlxuICAgICAgZGlzcGxheT1cImZsZXhcIlxuICAgICAgYWxpZ25JdGVtcz1cImZsZXgtc3RhcnRcIlxuICAgICAgZmxleERpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICBoZWlnaHQ9XCIxMDAlXCJcbiAgICA+XG4gICAgICA8RmxleEJveCBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXs4fT5cbiAgICAgICAgPEZsZXhCb3hcbiAgICAgICAgICBiYWNrZ3JvdW5kPXt0aGVtZS5jb2xvcnNbJ25hdnktMjAwJ119XG4gICAgICAgICAgYm9yZGVyUmFkaXVzPVwibWRcIlxuICAgICAgICAgIHA9ezR9XG4gICAgICAgICAgaGVpZ2h0PXszMn1cbiAgICAgICAgICB3aWR0aD17MzJ9XG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICA+XG4gICAgICAgICAge2l0ZW0uaWNvbn1cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICA8VGV4dCB2YXJpYW50PVwicC1sYXJnZVwiIGZvbnRXZWlnaHQ9ezcwMH0+XG4gICAgICAgICAge2l0ZW0ubGlua0l0ZW0udGV4dH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9GbGV4Qm94PlxuICAgICAgPEJveCB3aWR0aD1cIjEwMCVcIj5cbiAgICAgICAgPEdyaWREZW5zZSBoZWlnaHQ9ezR9IC8+XG4gICAgICA8L0JveD5cbiAgICAgIDxUZXh0IHZhcmlhbnQ9XCJwLXNtYWxsXCI+e2l0ZW0uZGVzY3JpcHRpb259PC9UZXh0PlxuICAgIDwvU3R5bGVkQ2FyZD5cbiAgKTtcbn07XG4iXX0= */"));
13
+ }) => theme.colors.primary, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyRmVhdHVyZUNhcmQvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU8rQiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlckZlYXR1cmVDYXJkL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJveCwgQ2FyZCwgRmxleEJveCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IEdyaWREZW5zZSB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXBhdHRlcm5zJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgQXBwSGVhZGVyQ2FyZEl0ZW0gfSBmcm9tICcuLi9BcHBIZWFkZXJSZXNvdXJjZXNEcm9wZG93bi9jb25zdHMnO1xuXG5jb25zdCBTdHlsZWRDYXJkID0gc3R5bGVkKENhcmQpYFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeX07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5fTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IEFwcEhlYWRlckZlYXR1cmVDYXJkID0gKHsgaXRlbSB9OiB7IGl0ZW06IEFwcEhlYWRlckNhcmRJdGVtIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2FyZFxuICAgICAgaXNJbnRlcmFjdGl2ZVxuICAgICAgcHg9ezh9XG4gICAgICBweT17MjR9XG4gICAgICBib3JkZXJSYWRpdXM9XCJsZ1wiXG4gICAgICBib3JkZXI9ezF9XG4gICAgICBib3JkZXJDb2xvcj1cImJvcmRlci10ZXJ0aWFyeVwiXG4gICAgICBkaXNwbGF5PVwiZmxleFwiXG4gICAgICBhbGlnbkl0ZW1zPVwiZmxleC1zdGFydFwiXG4gICAgICBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgIGhlaWdodD1cIjEwMCVcIlxuICAgID5cbiAgICAgIDxGbGV4Qm94IGFsaWduSXRlbXM9XCJjZW50ZXJcIiBnYXA9ezh9PlxuICAgICAgICA8Qm94XG4gICAgICAgICAgYmFja2dyb3VuZD17dGhlbWUuY29sb3JzWyduYXZ5LTIwMCddfVxuICAgICAgICAgIGJvcmRlclJhZGl1cz1cIm1kXCJcbiAgICAgICAgICBwPXs0fVxuICAgICAgICAgIGhlaWdodD17MjZ9XG4gICAgICAgID5cbiAgICAgICAgICB7aXRlbS5pY29ufVxuICAgICAgICA8L0JveD5cbiAgICAgICAgPFRleHQgdmFyaWFudD1cInRpdGxlLXhzXCI+e2l0ZW0ubGlua0l0ZW0udGV4dH08L1RleHQ+XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgICA8Qm94IHdpZHRoPVwiMTAwJVwiPlxuICAgICAgICA8R3JpZERlbnNlIGhlaWdodD17NH0gLz5cbiAgICAgIDwvQm94PlxuICAgICAgPFRleHQgdmFyaWFudD1cInAtYmFzZVwiIGZvbnRTaXplPXsxNH0+XG4gICAgICAgIHtpdGVtLmRlc2NyaXB0aW9ufVxuICAgICAgPC9UZXh0PlxuICAgIDwvU3R5bGVkQ2FyZD5cbiAgKTtcbn07XG4iXX0= */"));
14
14
  export const AppHeaderFeatureCard = ({
15
15
  item
16
16
  }) => {
17
17
  return /*#__PURE__*/_jsxs(StyledCard, {
18
18
  isInteractive: true,
19
- px: 16,
19
+ px: 8,
20
20
  py: 24,
21
21
  borderRadius: "lg",
22
22
  border: 1,
@@ -28,18 +28,14 @@ export const AppHeaderFeatureCard = ({
28
28
  children: [/*#__PURE__*/_jsxs(FlexBox, {
29
29
  alignItems: "center",
30
30
  gap: 8,
31
- children: [/*#__PURE__*/_jsx(FlexBox, {
31
+ children: [/*#__PURE__*/_jsx(Box, {
32
32
  background: theme.colors['navy-200'],
33
33
  borderRadius: "md",
34
34
  p: 4,
35
- height: 32,
36
- width: 32,
37
- alignItems: "center",
38
- justifyContent: "center",
35
+ height: 26,
39
36
  children: item.icon
40
37
  }), /*#__PURE__*/_jsx(Text, {
41
- variant: "p-large",
42
- fontWeight: 700,
38
+ variant: "title-xs",
43
39
  children: item.linkItem.text
44
40
  })]
45
41
  }), /*#__PURE__*/_jsx(Box, {
@@ -48,7 +44,8 @@ export const AppHeaderFeatureCard = ({
48
44
  height: 4
49
45
  })
50
46
  }), /*#__PURE__*/_jsx(Text, {
51
- variant: "p-small",
47
+ variant: "p-base",
48
+ fontSize: 14,
52
49
  children: item.description
53
50
  })]
54
51
  });
@@ -1,23 +1,25 @@
1
- import { Anchor, Box, GridBox } from '@codecademy/gamut';
1
+ import { Anchor, Box, FlexBox, GridBox } from '@codecademy/gamut';
2
2
  import { useGlobalHeaderItemClick } from '../../../GlobalHeader/context';
3
3
  import { useAppHeaderDropdownContext } from '../AppHeaderDropdownProvider';
4
4
  import { AppHeaderFeatureCard } from '../AppHeaderFeatureCard';
5
5
  import { useAppHeaderSectionContext } from '../AppHeaderSection/AppHeaderSectionContext';
6
6
  import { PanelLayout } from '../AppHeaderSection/PanelLayout';
7
- import { SkillTile } from '../AppHeaderSkillTile';
8
7
  import { docsLinks, inspirationLinks, learningToolsLinks, practiceToolsLinks } from './consts';
9
8
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
10
9
  export const DocsPanel = () => {
11
10
  const {
12
11
  globalHeaderItemClick
13
12
  } = useGlobalHeaderItemClick();
13
+ const {
14
+ handleClose
15
+ } = useAppHeaderDropdownContext();
14
16
  const {
15
17
  tabIndex
16
18
  } = useAppHeaderSectionContext();
17
19
  const description = /*#__PURE__*/_jsxs(_Fragment, {
18
20
  children: [/*#__PURE__*/_jsx(Box, {
19
21
  mb: 8,
20
- children: "Definitions and guides to help you understand programming languages, frameworks, and concepts. Built and maintained by the coding community."
22
+ children: "Docs is a community-driven resource for all things programming. Even if you don't have a Codecademy account, you can quickly find definitions and explanations for most coding languages, frameworks, and technical concepts."
21
23
  }), "Interested in helping build it?", ' ', /*#__PURE__*/_jsx(Anchor, {
22
24
  tabIndex: tabIndex,
23
25
  href: "/docs/contribute",
@@ -44,15 +46,32 @@ export const DocsPanel = () => {
44
46
  gridTemplateColumns: {
45
47
  _: '1fr',
46
48
  xs: '1fr 1fr',
47
- md: '1fr 1fr 1fr'
49
+ lg: '1fr 1fr 1fr'
48
50
  },
49
51
  gap: 8,
50
52
  pl: 0,
51
53
  as: "ul",
52
54
  listStyle: "none",
53
- children: docsLinks.map(item => /*#__PURE__*/_jsx(SkillTile, {
54
- item: item
55
- }, item.id))
55
+ children: docsLinks.map(item => /*#__PURE__*/_jsx(Anchor, {
56
+ variant: "interface",
57
+ href: item.href,
58
+ onClick: event => {
59
+ globalHeaderItemClick(event, item);
60
+ handleClose();
61
+ },
62
+ tabIndex: tabIndex,
63
+ as: "li",
64
+ children: /*#__PURE__*/_jsxs(FlexBox, {
65
+ height: 48,
66
+ px: 16,
67
+ py: 8,
68
+ borderRadius: "md",
69
+ border: 1,
70
+ borderColor: "border-tertiary",
71
+ alignItems: "center",
72
+ children: [item.text, item.badge]
73
+ }, `${item.id}`)
74
+ }, `${item.id}`))
56
75
  })
57
76
  });
58
77
  };
@@ -98,11 +117,11 @@ export const FeatureCardPanel = ({
98
117
  return /*#__PURE__*/_jsx(GridBox, {
99
118
  gridTemplateColumns: {
100
119
  _: '1fr',
101
- sm: '1fr 1fr'
120
+ lg: '1fr 1fr'
102
121
  },
103
122
  gridTemplateRows: {
104
123
  _: '1fr',
105
- sm: '1fr 1fr'
124
+ lg: '1fr 1fr'
106
125
  },
107
126
  gap: 16,
108
127
  pl: 0,
@@ -1,4 +1,4 @@
1
- import { ArticleIcon, BriefcaseIcon, BulbIcon, CIcon, CommentsIcon, ComputerScienceIcon, CPlusIcon, FileIcon, GameDevelopmentIcon, GaugeDashboardIcon, GitIcon, GoIcon, HammerWrenchIcon, HtmlCssIcon, InfoCircleIcon, JavaIcon, JavascriptIcon, LearnIcon, MarkdownIcon, NotebookIcon, PeopleIcon, PhpIcon, ProgrammingBrowserIcon, ProjectsIcon, PythonIcon, ReactIcon, RulerTriangleIcon, SearchIcon, SqlIcon, SwiftIcon, TerminalIcon, TypescriptIcon, VideoPlayerMovieIcon } from '@codecademy/gamut-icons';
1
+ import { ArticleIcon, BriefcaseIcon, BulbIcon, CommentsIcon, FileIcon, HammerWrenchIcon, InfoCircleIcon, NotebookIcon, ProjectsIcon, RulerTriangleIcon, SearchIcon, VideoPlayerMovieIcon } from '@codecademy/gamut-icons';
2
2
  import React from 'react';
3
3
  import { DocsPanel, InspirationPanel, LearningToolsPanel, PracticeToolsPanel } from './NavPanels';
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -44,127 +44,109 @@ export const docsLinks = [{
44
44
  href: '/resources/docs/c',
45
45
  trackingTarget: 'topnav_resources_docs_c',
46
46
  text: 'C',
47
- type: 'link',
48
- icon: CIcon
47
+ type: 'link'
49
48
  }, {
50
49
  id: 'html',
51
50
  href: '/resources/docs/html',
52
51
  trackingTarget: 'topnav_resources_docs_html',
53
52
  text: 'HTML',
54
- type: 'link',
55
- icon: HtmlCssIcon
53
+ type: 'link'
56
54
  }, {
57
55
  id: 'python',
58
56
  href: '/resources/docs/python',
59
57
  trackingTarget: 'topnav_resources_docs_python',
60
58
  text: 'Python',
61
- type: 'link',
62
- icon: PythonIcon
59
+ type: 'link'
63
60
  }, {
64
61
  id: 'cpp',
65
62
  href: '/resources/docs/cpp',
66
63
  trackingTarget: 'topnav_resources_docs_cpp',
67
64
  text: 'C++',
68
- type: 'link',
69
- icon: CPlusIcon
65
+ type: 'link'
70
66
  }, {
71
67
  id: 'java',
72
68
  href: '/resources/docs/java',
73
69
  trackingTarget: 'topnav_resources_docs_java',
74
70
  text: 'Java',
75
- type: 'link',
76
- icon: JavaIcon
71
+ type: 'link'
77
72
  }, {
78
73
  id: 'react',
79
74
  href: '/resources/docs/react',
80
75
  trackingTarget: 'topnav_resources_docs_react',
81
76
  text: 'React',
82
- type: 'link',
83
- icon: ReactIcon
77
+ type: 'link'
84
78
  }, {
85
79
  id: 'css',
86
80
  href: '/resources/docs/css',
87
81
  trackingTarget: 'topnav_resources_docs_css',
88
82
  text: 'CSS',
89
- type: 'link',
90
- icon: HtmlCssIcon
83
+ type: 'link'
91
84
  }, {
92
85
  id: 'javascript',
93
86
  href: '/resources/docs/javascript',
94
87
  trackingTarget: 'topnav_resources_docs_javascript',
95
88
  text: 'JavaScript',
96
- type: 'link',
97
- icon: JavascriptIcon
89
+ type: 'link'
98
90
  }, {
99
91
  id: 'sql',
100
92
  href: '/resources/docs/sql',
101
93
  trackingTarget: 'topnav_resources_docs_sql',
102
94
  text: 'SQL',
103
- type: 'link',
104
- icon: SqlIcon
95
+ type: 'link'
105
96
  }, {
106
97
  id: 'git',
107
98
  href: '/resources/docs/git',
108
99
  trackingTarget: 'topnav_resources_docs_git',
109
100
  text: 'Git',
110
- type: 'link',
111
- icon: GitIcon
101
+ type: 'link'
112
102
  }, {
113
103
  id: 'php',
114
104
  href: '/resources/docs/php',
115
105
  trackingTarget: 'topnav_resources_docs_php',
116
106
  text: 'PHP',
117
- type: 'link',
118
- icon: PhpIcon
107
+ type: 'link'
108
+ }, {
109
+ id: 'uiux',
110
+ href: '/resources/docs/uiux',
111
+ trackingTarget: 'topnav_resources_docs_uiux',
112
+ text: 'UI/UX',
113
+ type: 'link'
119
114
  }, {
120
115
  id: 'markdown',
121
116
  href: '/resources/docs/markdown',
122
117
  trackingTarget: 'topnav_resources_docs_markdown',
123
118
  text: 'Markdown',
124
- type: 'link',
125
- icon: MarkdownIcon
119
+ type: 'link'
120
+ }, {
121
+ id: 'data-science',
122
+ href: '/resources/docs/data-science',
123
+ trackingTarget: 'topnav_resources_docs_data_science',
124
+ text: 'Data science',
125
+ type: 'link'
126
+ }, {
127
+ id: 'ai',
128
+ href: '/resources/docs/ai',
129
+ trackingTarget: 'topnav_resources_docs_ai',
130
+ text: 'AI',
131
+ type: 'link'
132
+ }, {
133
+ id: 'data-visualization',
134
+ href: '/resources/docs/data-visualization',
135
+ trackingTarget: 'topnav_resources_docs_data_visualization',
136
+ text: 'Data visualization',
137
+ type: 'link'
126
138
  }, {
127
139
  id: 'typescript',
128
140
  href: '/resources/docs/typescript',
129
141
  trackingTarget: 'topnav_resources_docs_typescript',
130
142
  text: 'TypeScript',
131
- type: 'link',
132
- icon: TypescriptIcon
133
- }, {
134
- id: 'lua',
135
- href: '/resources/docs/lua',
136
- trackingTarget: 'topnav_resources_docs_lua',
137
- text: 'Lua',
138
- type: 'link',
139
- icon: GameDevelopmentIcon
140
- }, {
141
- id: 'go',
142
- href: '/resources/docs/go',
143
- trackingTarget: 'topnav_resources_docs_go',
144
- text: 'Go',
145
- type: 'link',
146
- icon: GoIcon
143
+ type: 'link'
147
144
  }, {
148
- id: 'command-line',
149
- href: '/resources/docs/command-line',
150
- trackingTarget: 'topnav_resources_docs_command_line',
151
- text: 'Command line',
152
- type: 'link',
153
- icon: TerminalIcon
154
- }, {
155
- id: 'powershell',
156
- href: '/resources/docs/powershell',
157
- trackingTarget: 'topnav_resources_docs_powershell',
158
- text: 'Powershell',
159
- type: 'link',
160
- icon: ComputerScienceIcon
161
- }, {
162
- id: 'swift',
163
- href: '/resources/docs/swift',
164
- trackingTarget: 'topnav_resources_docs_swift',
165
- text: 'Swift',
166
- type: 'link',
167
- icon: SwiftIcon
145
+ id: 'ruby',
146
+ href: '/resources/docs/ruby',
147
+ trackingTarget: 'topnav_resources_docs_ruby',
148
+ text: 'Ruby',
149
+ type: 'link'
168
150
  }];
169
151
  export const learningToolsLinks = [{
170
152
  linkItem: {
@@ -175,7 +157,7 @@ export const learningToolsLinks = [{
175
157
  type: 'link'
176
158
  },
177
159
  icon: /*#__PURE__*/_jsx(ArticleIcon, {}),
178
- description: 'Dive deeper into coding concepts and developer workflows to level up your skills.'
160
+ description: "Articles are more in-depth explanations about concepts covered in Codecademy courses. Here you'll learn more about workflows that developers use every day, and take your coding skills to the next level."
179
161
  }, {
180
162
  linkItem: {
181
163
  id: 'cheatsheets',
@@ -185,7 +167,7 @@ export const learningToolsLinks = [{
185
167
  type: 'link'
186
168
  },
187
169
  icon: /*#__PURE__*/_jsx(NotebookIcon, {}),
188
- description: 'Quick guides that summarize key concepts across languages, tools, and technologies.'
170
+ description: 'Quick-reference guides that summarize key concepts taught in our courses and paths across various programming languages, tools, and technologies.'
189
171
  }, {
190
172
  linkItem: {
191
173
  id: 'videos',
@@ -195,7 +177,7 @@ export const learningToolsLinks = [{
195
177
  type: 'link'
196
178
  },
197
179
  icon: /*#__PURE__*/_jsx(VideoPlayerMovieIcon, {}),
198
- description: 'Learn from videos on languages, frameworks, and more—at any skill level.'
180
+ description: 'Watch our best programming videos for beginner, intermediate, and advanced learners about languages, frameworks, and more.'
199
181
  }, {
200
182
  linkItem: {
201
183
  id: 'projects',
@@ -205,7 +187,7 @@ export const learningToolsLinks = [{
205
187
  type: 'link'
206
188
  },
207
189
  icon: /*#__PURE__*/_jsx(ProjectsIcon, {}),
208
- description: 'Apply your skills, connect concepts, and build something of your own.'
190
+ description: "Projects let you apply what you're learning. Practice new skills, connect concepts, or put it all together to create something of your own."
209
191
  }];
210
192
  export const practiceToolsLinks = [{
211
193
  linkItem: {
@@ -215,8 +197,8 @@ export const practiceToolsLinks = [{
215
197
  text: 'Code Challenges',
216
198
  type: 'link'
217
199
  },
218
- icon: /*#__PURE__*/_jsx(ProgrammingBrowserIcon, {}),
219
- description: 'Sharpen your skills with real interview challenges from top tech companies, with guidance if you get stuck.'
200
+ icon: /*#__PURE__*/_jsx(ArticleIcon, {}),
201
+ description: "Test your knowledge with code challenges based on real-world technical interviews from companies like Google, Amazon, and Meta. Practice for your job search — or for fun. Don't worry if you get stuck. We'll recommend the right courses to help you."
220
202
  }, {
221
203
  linkItem: {
222
204
  id: 'workspaces',
@@ -225,8 +207,8 @@ export const practiceToolsLinks = [{
225
207
  text: 'Workspaces',
226
208
  type: 'link'
227
209
  },
228
- icon: /*#__PURE__*/_jsx(LearnIcon, {}),
229
- description: 'Build and share projects in 13 popular languages, all right in your browser.'
210
+ icon: /*#__PURE__*/_jsx(VideoPlayerMovieIcon, {}),
211
+ description: 'Practice building projects in 13 popular languages and libraries, tinker with code, and share your work—all without leaving your browser.'
230
212
  }, {
231
213
  linkItem: {
232
214
  id: 'job-readiness',
@@ -235,8 +217,8 @@ export const practiceToolsLinks = [{
235
217
  text: 'Job-Readiness Checker',
236
218
  type: 'link'
237
219
  },
238
- icon: /*#__PURE__*/_jsx(PeopleIcon, {}),
239
- description: 'See how your skills match a job posting and get tips on what to improve.'
220
+ icon: /*#__PURE__*/_jsx(NotebookIcon, {}),
221
+ description: "Add a LinkedIn or ZipRecruiter job posting to analyze how your skills fit the job. You'll need to add more information for jobs found on other websites."
240
222
  }, {
241
223
  linkItem: {
242
224
  id: 'interview-simulator',
@@ -245,8 +227,8 @@ export const practiceToolsLinks = [{
245
227
  text: 'Interview Simulator',
246
228
  type: 'link'
247
229
  },
248
- icon: /*#__PURE__*/_jsx(GaugeDashboardIcon, {}),
249
- description: 'Practice interviews, get feedback, and build confidence at any stage of your tech career.'
230
+ icon: /*#__PURE__*/_jsx(ProjectsIcon, {}),
231
+ description: 'Discover your potential through interviewing. Identify your strengths, get actionable feedback, and boost your confidence with customized practice — at any stage in your tech career.'
250
232
  }];
251
233
  export const inspirationLinks = [{
252
234
  linkItem: {
@@ -287,5 +269,5 @@ export const inspirationLinks = [{
287
269
  type: 'link'
288
270
  },
289
271
  icon: /*#__PURE__*/_jsx(SearchIcon, {}),
290
- description: 'Master the skills to land a tech job, from resumes and portfolios to interviews and offers.'
272
+ description: 'Want to break into the tech industry? Learn how to write a standout resume, build a professional portfolio, prepare for technical interviews, and negotiate job offers.'
291
273
  }];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@codecademy/brand",
3
3
  "description": "Brand component library for Codecademy",
4
- "version": "3.8.0-alpha.bbe6a143bc.0",
4
+ "version": "3.8.0-alpha.bdbfac4885.0",
5
5
  "author": "Codecademy Engineering <dev@codecademy.com>",
6
6
  "dependencies": {
7
7
  "@emotion/is-prop-valid": "^1.2.1",
@@ -1,6 +0,0 @@
1
- import { AppHeaderLinkItem } from '../../shared';
2
- interface SkillTileProps {
3
- item: AppHeaderLinkItem;
4
- }
5
- export declare const SkillTile: React.FC<SkillTileProps>;
6
- export {};
@@ -1,62 +0,0 @@
1
- import _styled from "@emotion/styled/base";
2
- import { Anchor, FlexBox, Text } from '@codecademy/gamut';
3
- import { css, theme } from '@codecademy/gamut-styles';
4
- import { useGlobalHeaderItemClick } from '../../../GlobalHeader/context';
5
- import { useAppHeaderDropdownContext } from '../AppHeaderDropdownProvider';
6
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
- const SkillAnchor = /*#__PURE__*/_styled(Anchor, {
8
- target: "e1t5ouwe0",
9
- label: "SkillAnchor"
10
- })(css({
11
- backgroundColor: theme.colors.background,
12
- borderColor: theme.colors['border-tertiary'],
13
- borderRadius: 'lg',
14
- border: 1,
15
- // transition: 'background-color 0.2s ease',
16
- '&:hover, &:focus': {
17
- borderColor: theme.colors.primary,
18
- background: theme.colors['navy-100']
19
- },
20
- '&:active': {
21
- borderColor: theme.colors.primary,
22
- background: theme.colors['navy-200']
23
- }
24
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyU2tpbGxUaWxlL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZb0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL0FwcEhlYWRlci9BcHBIZWFkZXJFbGVtZW50cy9BcHBIZWFkZXJTa2lsbFRpbGUvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jaG9yLCBGbGV4Qm94LCBUZXh0LCBUZXh0UHJvcHMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBjc3MsIHRoZW1lIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gZnJvbSAnLi4vLi4vLi4vR2xvYmFsSGVhZGVyL2NvbnRleHQnO1xuaW1wb3J0IHsgQXBwSGVhZGVyTGlua0l0ZW0gfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgdXNlQXBwSGVhZGVyRHJvcGRvd25Db250ZXh0IH0gZnJvbSAnLi4vQXBwSGVhZGVyRHJvcGRvd25Qcm92aWRlcic7XG5cbmludGVyZmFjZSBTa2lsbFRpbGVQcm9wcyB7XG4gIGl0ZW06IEFwcEhlYWRlckxpbmtJdGVtO1xufVxuXG5jb25zdCBTa2lsbEFuY2hvciA9IHN0eWxlZChBbmNob3IpKFxuICBjc3Moe1xuICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUuY29sb3JzLmJhY2tncm91bmQsXG4gICAgYm9yZGVyQ29sb3I6IHRoZW1lLmNvbG9yc1snYm9yZGVyLXRlcnRpYXJ5J10gYXMgVGV4dFByb3BzWydjb2xvciddLFxuICAgIGJvcmRlclJhZGl1czogJ2xnJyxcbiAgICBib3JkZXI6IDEsXG4gICAgLy8gdHJhbnNpdGlvbjogJ2JhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlJyxcbiAgICAnJjpob3ZlciwgJjpmb2N1cyc6IHtcbiAgICAgIGJvcmRlckNvbG9yOiB0aGVtZS5jb2xvcnMucHJpbWFyeSBhcyBUZXh0UHJvcHNbJ2NvbG9yJ10sXG4gICAgICBiYWNrZ3JvdW5kOiB0aGVtZS5jb2xvcnNbJ25hdnktMTAwJ10sXG4gICAgfSxcbiAgICAnJjphY3RpdmUnOiB7XG4gICAgICBib3JkZXJDb2xvcjogdGhlbWUuY29sb3JzLnByaW1hcnkgYXMgVGV4dFByb3BzWydjb2xvciddLFxuICAgICAgYmFja2dyb3VuZDogdGhlbWUuY29sb3JzWyduYXZ5LTIwMCddLFxuICAgIH0sXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QgU2tpbGxUaWxlOiBSZWFjdC5GQzxTa2lsbFRpbGVQcm9wcz4gPSAoeyBpdGVtIH0pID0+IHtcbiAgY29uc3QgeyBocmVmLCB0ZXh0LCBpY29uOiBJY29uIH0gPSBpdGVtO1xuICBjb25zdCB7IGdsb2JhbEhlYWRlckl0ZW1DbGljayB9ID0gdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrKCk7XG4gIGNvbnN0IHsgaGFuZGxlQ2xvc2UgfSA9IHVzZUFwcEhlYWRlckRyb3Bkb3duQ29udGV4dCgpO1xuXG4gIHJldHVybiAoXG4gICAgPFNraWxsQW5jaG9yXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgb25DbGljaz17KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4ge1xuICAgICAgICBnbG9iYWxIZWFkZXJJdGVtQ2xpY2soZXZlbnQsIGl0ZW0pO1xuICAgICAgICBoYW5kbGVDbG9zZSgpO1xuICAgICAgfX1cbiAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIGFzPVwibGlcIlxuICAgID5cbiAgICAgIDxGbGV4Qm94IHB5PXs4fSBweD17MTZ9IGhlaWdodD17NDh9IGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAge0ljb24gJiYgPEljb24gc2l6ZT17MjR9IC8+fVxuICAgICAgICA8VGV4dCB2YXJpYW50PVwicC1iYXNlXCIgcGw9ezE2fT5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9GbGV4Qm94PlxuICAgIDwvU2tpbGxBbmNob3I+XG4gICk7XG59O1xuIl19 */");
25
- export const SkillTile = ({
26
- item
27
- }) => {
28
- const {
29
- href,
30
- text,
31
- icon: Icon
32
- } = item;
33
- const {
34
- globalHeaderItemClick
35
- } = useGlobalHeaderItemClick();
36
- const {
37
- handleClose
38
- } = useAppHeaderDropdownContext();
39
- return /*#__PURE__*/_jsx(SkillAnchor, {
40
- href: href,
41
- onClick: event => {
42
- globalHeaderItemClick(event, item);
43
- handleClose();
44
- },
45
- variant: "interface",
46
- width: "100%",
47
- as: "li",
48
- children: /*#__PURE__*/_jsxs(FlexBox, {
49
- py: 8,
50
- px: 16,
51
- height: 48,
52
- alignItems: "center",
53
- children: [Icon && /*#__PURE__*/_jsx(Icon, {
54
- size: 24
55
- }), /*#__PURE__*/_jsx(Text, {
56
- variant: "p-base",
57
- pl: 16,
58
- children: text
59
- })]
60
- })
61
- });
62
- };