@codecademy/brand 2.11.0-alpha.5efd9a735f.0 → 2.11.0-alpha.9ca190917a.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AppHeader/AppHeaderElements/{AppHeaderCatalogSectionVariant → AppHeaderCatalogDropdown}/NavPanels.js +4 -44
- package/dist/AppHeader/AppHeaderElements/{AppHeaderCatalogSectionVariant → AppHeaderCatalogDropdown}/consts.d.ts +1 -1
- package/dist/AppHeader/AppHeaderElements/{AppHeaderCatalogSectionVariant → AppHeaderCatalogDropdown}/consts.js +1 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.js +6 -6
- package/dist/AppHeader/AppHeaderElements/AppHeaderFeatureCard/index.d.ts +5 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderFeatureCard/index.js +53 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/NavPanels.d.ts +11 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/NavPanels.js +122 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/consts.d.ts +18 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/consts.js +237 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/index.js +31 -5
- package/dist/AppHeader/AppHeaderElements/AppHeaderSectionVariant/AppHeaderSectionVariant.test.js +83 -0
- package/dist/AppHeader/AppHeaderElements/{AppHeaderCatalogSectionVariant → AppHeaderSectionVariant}/NavSection.d.ts +2 -2
- package/dist/AppHeader/AppHeaderElements/AppHeaderSectionVariant/NavSection.js +79 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSectionVariant/PanelLayout.d.ts +10 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSectionVariant/PanelLayout.js +51 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSectionVariant/index.d.ts +15 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSectionVariant/index.js +84 -0
- package/dist/AppHeaderMobile/AppHeaderCatalogSectonVariantMobile/index.js +3 -3
- package/package.json +1 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/NavSection.js +0 -75
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/index.d.ts +0 -11
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/index.js +0 -100
- /package/dist/AppHeader/AppHeaderElements/{AppHeaderCatalogSectionVariant → AppHeaderCatalogDropdown}/NavPanels.d.ts +0 -0
|
@@ -1,12 +1,27 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _styled from "@emotion/styled/base";
|
|
2
|
+
import { ColorMode } from '@codecademy/gamut-styles';
|
|
3
|
+
import { useCallback, useContext, useEffect, useRef, useState } from 'react';
|
|
2
4
|
import * as React from 'react';
|
|
5
|
+
import { GlobalNavRedesignContext } from '../../../GlobalHeader';
|
|
3
6
|
import { getHeaderResourcesList } from '../../../lib/resourcesList';
|
|
4
7
|
import { AnimatedMegaMenuDropdown } from '../../shared';
|
|
5
8
|
import { AppHeaderDropdownProvider } from '../AppHeaderDropdownProvider';
|
|
6
9
|
import { AppHeaderDropdownNavButton } from '../AppHeaderNavButton/AppHeaderDropdownNavButton';
|
|
7
10
|
import { useAppHeaderContext } from '../AppHeaderProvider';
|
|
8
11
|
import { AppHeaderResourcesSection } from '../AppHeaderResourcesSection';
|
|
12
|
+
import { AppHeaderSectionVariant } from '../AppHeaderSectionVariant';
|
|
13
|
+
import { RESOURCES_NAV_SECTIONS } from './consts';
|
|
9
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
const StyledAnimatedMegaMenuDropdown = /*#__PURE__*/_styled(AnimatedMegaMenuDropdown, {
|
|
16
|
+
target: "ekdg1bw0",
|
|
17
|
+
label: "StyledAnimatedMegaMenuDropdown"
|
|
18
|
+
})("left:", ({
|
|
19
|
+
isAnon,
|
|
20
|
+
displayGlobalNavRedesign
|
|
21
|
+
}) => displayGlobalNavRedesign ? '-58px' : isAnon ? '-9rem' : '-14rem', ";@media (min-width: 1261px){left:", ({
|
|
22
|
+
isAnon,
|
|
23
|
+
displayGlobalNavRedesign
|
|
24
|
+
}) => displayGlobalNavRedesign ? '-152px' : isAnon ? '-9rem' : '-14rem', ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyUmVzb3VyY2VzRHJvcGRvd24vaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCRSIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlclJlc291cmNlc0Ryb3Bkb3duL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yTW9kZSB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBHbG9iYWxOYXZSZWRlc2lnbkNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9HbG9iYWxIZWFkZXInO1xuaW1wb3J0IHsgZ2V0SGVhZGVyUmVzb3VyY2VzTGlzdCB9IGZyb20gJy4uLy4uLy4uL2xpYi9yZXNvdXJjZXNMaXN0JztcbmltcG9ydCB7XG4gIEFuaW1hdGVkTWVnYU1lbnVEcm9wZG93bixcbiAgQXBwSGVhZGVyQWN0aW9uLFxuICBBcHBIZWFkZXJSZXNvdXJjZXNEcm9wZG93bkl0ZW0sXG59IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBBcHBIZWFkZXJEcm9wZG93blByb3ZpZGVyIH0gZnJvbSAnLi4vQXBwSGVhZGVyRHJvcGRvd25Qcm92aWRlcic7XG5pbXBvcnQgeyBBcHBIZWFkZXJEcm9wZG93bk5hdkJ1dHRvbiB9IGZyb20gJy4uL0FwcEhlYWRlck5hdkJ1dHRvbi9BcHBIZWFkZXJEcm9wZG93bk5hdkJ1dHRvbic7XG5pbXBvcnQgeyB1c2VBcHBIZWFkZXJDb250ZXh0IH0gZnJvbSAnLi4vQXBwSGVhZGVyUHJvdmlkZXInO1xuaW1wb3J0IHsgQXBwSGVhZGVyUmVzb3VyY2VzU2VjdGlvbiB9IGZyb20gJy4uL0FwcEhlYWRlclJlc291cmNlc1NlY3Rpb24nO1xuaW1wb3J0IHsgQXBwSGVhZGVyU2VjdGlvblZhcmlhbnQgfSBmcm9tICcuLi9BcHBIZWFkZXJTZWN0aW9uVmFyaWFudCc7XG5pbXBvcnQgeyBSRVNPVVJDRVNfTkFWX1NFQ1RJT05TIH0gZnJvbSAnLi9jb25zdHMnO1xuXG5leHBvcnQgdHlwZSBBcHBIZWFkZXJSZXNvdXJjZURyb3Bkb3duUHJvcHMgPSBBcHBIZWFkZXJBY3Rpb24gJiB7XG4gIGl0ZW06IEFwcEhlYWRlclJlc291cmNlc0Ryb3Bkb3duSXRlbTtcbiAgaXNBbm9uOiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkQW5pbWF0ZWRNZWdhTWVudURyb3Bkb3duID0gc3R5bGVkKEFuaW1hdGVkTWVnYU1lbnVEcm9wZG93bik8e1xuICBpc0Fub246IGJvb2xlYW47XG4gIGRpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbjogYm9vbGVhbjtcbn0+YFxuICBsZWZ0OiAkeyh7IGlzQW5vbiwgZGlzcGxheUdsb2JhbE5hdlJlZGVzaWduIH0pID0+XG4gICAgZGlzcGxheUdsb2JhbE5hdlJlZGVzaWduID8gJy01OHB4JyA6IGlzQW5vbiA/ICctOXJlbScgOiAnLTE0cmVtJ307XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyNjFweCkge1xuICAgIGxlZnQ6ICR7KHsgaXNBbm9uLCBkaXNwbGF5R2xvYmFsTmF2UmVkZXNpZ24gfSkgPT5cbiAgICAgIGRpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbiA/ICctMTUycHgnIDogaXNBbm9uID8gJy05cmVtJyA6ICctMTRyZW0nfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IEFwcEhlYWRlclJlc291cmNlc0Ryb3Bkb3duOiBSZWFjdC5GQzxcbiAgQXBwSGVhZGVyUmVzb3VyY2VEcm9wZG93blByb3BzXG4+ID0gKHsgYWN0aW9uLCBpdGVtLCBpc0Fub24gfSkgPT4ge1xuICBjb25zdCB7IHRleHQgfSA9IGl0ZW07XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBidXR0b25SZWYgPSB1c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB7IGxhc3RPcGVuZWREcm9wZG93biwgc2V0TGFzdE9wZW5lZERyb3Bkb3duIH0gPSB1c2VBcHBIZWFkZXJDb250ZXh0KCk7XG5cbiAgLy8gQWRkIHNjcm9sbGJhciBmb3Igc2hvcnQgc2NyZWVucyBhZnRlciB0cmFuc2l0aW9uIChvdGhlcndpc2Ugc2Nyb2xsYmFyIGFwcGVhcnMgYW5kIGRpc3NhcGVhcnMgZm9yIGFkZXF1YXRlIGhlaWdodHMgZHVyaW5nIHRyYW5zaXRpb24pXG4gIGNvbnN0IFthbmltYXRpb25Db21wbGV0ZVN0eWxlcywgc2V0QW5pbWF0aW9uQ29tcGxldGVTdHlsZXNdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IGhlYWRlclJlc291cmNlc0xpc3QgPSBnZXRIZWFkZXJSZXNvdXJjZXNMaXN0KCk7XG5cbiAgY29uc3QgYW5pbWF0aW9uRmluaXNoZWQgPSAoKSA9PiB7XG4gICAgc2V0QW5pbWF0aW9uQ29tcGxldGVTdHlsZXMoaXNPcGVuKTtcbiAgICBpZiAoaXNPcGVuICYmIGRyb3Bkb3duUmVmLmN1cnJlbnQpIHtcbiAgICAgIGRyb3Bkb3duUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID0gMDtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdG9nZ2xlSXNPcGVuID0gKCkgPT4gc2V0SXNPcGVuKChwcmV2KSA9PiAhcHJldik7XG5cbiAgY29uc3QgaGFuZGxlT25DbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudCkgPT4ge1xuICAgIHRvZ2dsZUlzT3BlbigpO1xuICAgIGlmICghaXNPcGVuKSB7XG4gICAgICBhY3Rpb24oZXZlbnQsIGl0ZW0pO1xuICAgICAgaWYgKHNldExhc3RPcGVuZWREcm9wZG93bikge1xuICAgICAgICBzZXRMYXN0T3BlbmVkRHJvcGRvd24odGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgYnV0dG9uUmVmPy5jdXJyZW50Py5mb2N1cygpO1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobGFzdE9wZW5lZERyb3Bkb3duICE9PSB0ZXh0ICYmIGlzT3Blbikge1xuICAgICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbbGFzdE9wZW5lZERyb3Bkb3duXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGlja091dHNpZGUoZXZlbnQ6IE1vdXNlRXZlbnQgfCBFdmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyID0gY29udGFpbmVyUmVmPy5jdXJyZW50O1xuICAgICAgY29uc3QgYnV0dG9uID0gYnV0dG9uUmVmPy5jdXJyZW50O1xuICAgICAgaWYgKFxuICAgICAgICBpc09wZW4gJiZcbiAgICAgICAgY29udGFpbmVyICYmXG4gICAgICAgICFjb250YWluZXIuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgIGJ1dHRvbiAmJlxuICAgICAgICAhYnV0dG9uLmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKVxuICAgICAgKSB7XG4gICAgICAgIGhhbmRsZUNsb3NlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JsdXInLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgIH07XG4gIH0sIFtjb250YWluZXJSZWYsIGhhbmRsZUNsb3NlLCBpc09wZW5dKTtcblxuICBjb25zdCBkaXNwbGF5R2xvYmFsTmF2UmVkZXNpZ24gPSB1c2VDb250ZXh0KEdsb2JhbE5hdlJlZGVzaWduQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8QXBwSGVhZGVyRHJvcGRvd25Qcm92aWRlciBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9PlxuICAgICAgPEFwcEhlYWRlckRyb3Bkb3duTmF2QnV0dG9uXG4gICAgICAgIGJ1dHRvblJlZj17YnV0dG9uUmVmfVxuICAgICAgICBoYW5kbGVPbkNsaWNrPXtoYW5kbGVPbkNsaWNrfVxuICAgICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgICAgdGl0bGU9e3RleHR9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEFuaW1hdGVkTWVnYU1lbnVEcm9wZG93blxuICAgICAgICBpc0Fub249e2lzQW5vbn1cbiAgICAgICAgZGlzcGxheUdsb2JhbE5hdlJlZGVzaWduPXtkaXNwbGF5R2xvYmFsTmF2UmVkZXNpZ259XG4gICAgICAgIHRhYkluZGV4PXstMX0gLy8gcHJldmVudCBmcm9tIGludGVyZmVyaW5nIHdpdGggQXBwSGVhZGVyIGZvY3VzIGxvZ2ljXG4gICAgICAgIHJlZj17ZHJvcGRvd25SZWZ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgdG9wOiAnMy41cmVtJyxcbiAgICAgICAgICBtaW5XaWR0aDogJzY0cmVtJyxcbiAgICAgICAgICBsZWZ0OiBpc0Fub24gPyAnLTE0LjVyZW0nIDogJy0xOS41cmVtJyxcbiAgICAgICAgICBvdmVyZmxvd1k6ICdhdXRvJyxcbiAgICAgICAgICBtYXhIZWlnaHQ6IGFuaW1hdGlvbkNvbXBsZXRlU3R5bGVzID8gJzg1dmgnIDogMCxcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGRpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbiA/ICd0cmFuc3BhcmVudCcgOiAnJyxcbiAgICAgICAgfX1cbiAgICAgICAgaW5pdGlhbD17eyBib3JkZXJXaWR0aDogMCwgaGVpZ2h0OiAwIH19XG4gICAgICAgIGFuaW1hdGU9e3tcbiAgICAgICAgICBib3JkZXJXaWR0aDogaXNPcGVuID8gKGRpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbiA/IDAgOiAxKSA6IDAsXG4gICAgICAgICAgaGVpZ2h0OiBpc09wZW4gPyAnZml0LWNvbnRlbnQnIDogMCxcbiAgICAgICAgfX1cbiAgICAgICAgdHJhbnNpdGlvbj17eyBkdXJhdGlvbjogMC4xNzUgfX1cbiAgICAgICAgYXJpYS1oaWRkZW49eyFpc09wZW59XG4gICAgICAgIGRhdGEtdGVzdGlkPVwicmVzb3VyY2VzLW1lbnUtZHJvcGRvd25cIlxuICAgICAgICBvbkFuaW1hdGlvbkNvbXBsZXRlPXthbmltYXRpb25GaW5pc2hlZH1cbiAgICAgID5cbiAgICAgICAge2Rpc3BsYXlHbG9iYWxOYXZSZWRlc2lnbiA/IChcbiAgICAgICAgICA8Q29sb3JNb2RlIG1vZGU9XCJsaWdodFwiPlxuICAgICAgICAgICAgPEFwcEhlYWRlclNlY3Rpb25WYXJpYW50XG4gICAgICAgICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgbmF2U2VjdGlvbnM9e1JFU09VUkNFU19OQVZfU0VDVElPTlN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sb3JNb2RlPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxBcHBIZWFkZXJSZXNvdXJjZXNTZWN0aW9uXG4gICAgICAgICAgICBhY3Rpb249e2FjdGlvbn1cbiAgICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgICAgaWQ9e2BtZW51LWNvbnRhaW5lciR7aXRlbS50ZXh0fWB9XG4gICAgICAgICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgICAgICAgIGhhbmRsZUNsb3NlPXsoKSA9PiBzZXRJc09wZW4oZmFsc2UpfVxuICAgICAgICAgICAgcmVzb3VyY2VzPXtoZWFkZXJSZXNvdXJjZXNMaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZEFuaW1hdGVkTWVnYU1lbnVEcm9wZG93bj5cbiAgICA8L0FwcEhlYWRlckRyb3Bkb3duUHJvdmlkZXI+XG4gICk7XG59O1xuIl19 */"));
|
|
10
25
|
export const AppHeaderResourcesDropdown = ({
|
|
11
26
|
action,
|
|
12
27
|
item,
|
|
@@ -68,6 +83,7 @@ export const AppHeaderResourcesDropdown = ({
|
|
|
68
83
|
document.removeEventListener('blur', handleClickOutside);
|
|
69
84
|
};
|
|
70
85
|
}, [containerRef, handleClose, isOpen]);
|
|
86
|
+
const displayGlobalNavRedesign = useContext(GlobalNavRedesignContext);
|
|
71
87
|
return /*#__PURE__*/_jsxs(AppHeaderDropdownProvider, {
|
|
72
88
|
handleClose: handleClose,
|
|
73
89
|
children: [/*#__PURE__*/_jsx(AppHeaderDropdownNavButton, {
|
|
@@ -75,7 +91,9 @@ export const AppHeaderResourcesDropdown = ({
|
|
|
75
91
|
handleOnClick: handleOnClick,
|
|
76
92
|
isOpen: isOpen,
|
|
77
93
|
title: text
|
|
78
|
-
}), /*#__PURE__*/_jsx(
|
|
94
|
+
}), /*#__PURE__*/_jsx(StyledAnimatedMegaMenuDropdown, {
|
|
95
|
+
isAnon: isAnon,
|
|
96
|
+
displayGlobalNavRedesign: displayGlobalNavRedesign,
|
|
79
97
|
tabIndex: -1 // prevent from interfering with AppHeader focus logic
|
|
80
98
|
,
|
|
81
99
|
ref: dropdownRef,
|
|
@@ -84,14 +102,15 @@ export const AppHeaderResourcesDropdown = ({
|
|
|
84
102
|
minWidth: '64rem',
|
|
85
103
|
left: isAnon ? '-14.5rem' : '-19.5rem',
|
|
86
104
|
overflowY: 'auto',
|
|
87
|
-
maxHeight: animationCompleteStyles ? '85vh' : 0
|
|
105
|
+
maxHeight: animationCompleteStyles ? '85vh' : 0,
|
|
106
|
+
backgroundColor: displayGlobalNavRedesign ? 'transparent' : ''
|
|
88
107
|
},
|
|
89
108
|
initial: {
|
|
90
109
|
borderWidth: 0,
|
|
91
110
|
height: 0
|
|
92
111
|
},
|
|
93
112
|
animate: {
|
|
94
|
-
borderWidth: isOpen ? 1 : 0,
|
|
113
|
+
borderWidth: isOpen ? displayGlobalNavRedesign ? 0 : 1 : 0,
|
|
95
114
|
height: isOpen ? 'fit-content' : 0
|
|
96
115
|
},
|
|
97
116
|
transition: {
|
|
@@ -100,7 +119,14 @@ export const AppHeaderResourcesDropdown = ({
|
|
|
100
119
|
"aria-hidden": !isOpen,
|
|
101
120
|
"data-testid": "resources-menu-dropdown",
|
|
102
121
|
onAnimationComplete: animationFinished,
|
|
103
|
-
children: /*#__PURE__*/_jsx(
|
|
122
|
+
children: displayGlobalNavRedesign ? /*#__PURE__*/_jsx(ColorMode, {
|
|
123
|
+
mode: "light",
|
|
124
|
+
children: /*#__PURE__*/_jsx(AppHeaderSectionVariant, {
|
|
125
|
+
isOpen: isOpen,
|
|
126
|
+
ref: containerRef,
|
|
127
|
+
navSections: RESOURCES_NAV_SECTIONS
|
|
128
|
+
})
|
|
129
|
+
}) : /*#__PURE__*/_jsx(AppHeaderResourcesSection, {
|
|
104
130
|
action: action,
|
|
105
131
|
ref: containerRef,
|
|
106
132
|
id: `menu-container${item.text}`,
|
package/dist/AppHeader/AppHeaderElements/AppHeaderSectionVariant/AppHeaderSectionVariant.test.js
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { setupRtl } from '@codecademy/gamut-tests';
|
|
2
|
+
import userEvent from '@testing-library/user-event';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { GlobalHeaderItemClickContext } from '../../../GlobalHeader/context';
|
|
5
|
+
import { CATALOG_NAV_SECTIONS } from '../AppHeaderCatalogDropdown/consts';
|
|
6
|
+
import { AppHeaderSectionVariant } from '.';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
const mockOnClick = jest.fn();
|
|
9
|
+
const mockKeyDownEvents = jest.fn();
|
|
10
|
+
const mockItem = {
|
|
11
|
+
text: 'catalog',
|
|
12
|
+
id: 'the-catalog',
|
|
13
|
+
type: 'catalog-dropdown',
|
|
14
|
+
trackingTarget: 'catalog-dropdown'
|
|
15
|
+
};
|
|
16
|
+
const defaultProps = {
|
|
17
|
+
item: mockItem,
|
|
18
|
+
isOpen: true,
|
|
19
|
+
keyDownEvents: mockKeyDownEvents
|
|
20
|
+
};
|
|
21
|
+
const mockContextValue = {
|
|
22
|
+
globalHeaderItemClick: mockOnClick
|
|
23
|
+
};
|
|
24
|
+
describe('AppHeaderSectionVariant', () => {
|
|
25
|
+
const renderView = setupRtl(AppHeaderSectionVariant, defaultProps).options({
|
|
26
|
+
wrapper: ({
|
|
27
|
+
children
|
|
28
|
+
}) => /*#__PURE__*/_jsx(GlobalHeaderItemClickContext.Provider, {
|
|
29
|
+
value: mockContextValue,
|
|
30
|
+
children: children
|
|
31
|
+
})
|
|
32
|
+
});
|
|
33
|
+
it('renders the component ', () => {
|
|
34
|
+
const {
|
|
35
|
+
view
|
|
36
|
+
} = renderView({
|
|
37
|
+
navSections: CATALOG_NAV_SECTIONS
|
|
38
|
+
});
|
|
39
|
+
expect(view.getByRole('heading', {
|
|
40
|
+
name: 'Course topics'
|
|
41
|
+
})).toBeInTheDocument();
|
|
42
|
+
});
|
|
43
|
+
describe('tab navigation', () => {
|
|
44
|
+
it('starts with the first tab active by default', () => {
|
|
45
|
+
const {
|
|
46
|
+
view
|
|
47
|
+
} = renderView({
|
|
48
|
+
navSections: CATALOG_NAV_SECTIONS
|
|
49
|
+
});
|
|
50
|
+
const courseTopicsButton = view.getByTestId('nav-section-course-topics');
|
|
51
|
+
expect(courseTopicsButton).toHaveAttribute('aria-expanded', 'true');
|
|
52
|
+
});
|
|
53
|
+
it('switches active tab when clicking on different sections', async () => {
|
|
54
|
+
const {
|
|
55
|
+
view
|
|
56
|
+
} = renderView({
|
|
57
|
+
navSections: CATALOG_NAV_SECTIONS
|
|
58
|
+
});
|
|
59
|
+
const careerPathsButton = view.getByTestId('nav-section-career-paths');
|
|
60
|
+
await userEvent.click(careerPathsButton);
|
|
61
|
+
expect(careerPathsButton).toHaveAttribute('aria-expanded', 'true');
|
|
62
|
+
const courseTopicsButton = view.getByTestId('nav-section-course-topics');
|
|
63
|
+
expect(courseTopicsButton).toHaveAttribute('aria-expanded', 'false');
|
|
64
|
+
});
|
|
65
|
+
it('calls tracking with correct parameters when clicking nav section', async () => {
|
|
66
|
+
const {
|
|
67
|
+
view
|
|
68
|
+
} = renderView({
|
|
69
|
+
navSections: CATALOG_NAV_SECTIONS
|
|
70
|
+
});
|
|
71
|
+
const careerPathsButton = view.getByTestId('nav-section-career-paths');
|
|
72
|
+
await userEvent.click(careerPathsButton);
|
|
73
|
+
expect(mockOnClick).toHaveBeenCalledTimes(1);
|
|
74
|
+
expect(mockOnClick).toHaveBeenCalledWith(expect.anything(),
|
|
75
|
+
// event object
|
|
76
|
+
expect.objectContaining({
|
|
77
|
+
id: 'career-paths',
|
|
78
|
+
type: 'catalog-dropdown'
|
|
79
|
+
}) // tracking parameters
|
|
80
|
+
);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { GamutIconProps } from '@codecademy/gamut-icons';
|
|
2
2
|
import React, { PropsWithChildren } from 'react';
|
|
3
|
-
import { AppHeaderCatalogDropdownItem } from '../../shared';
|
|
3
|
+
import { AppHeaderCatalogDropdownItem, AppHeaderResourcesDropdownItem } from '../../shared';
|
|
4
4
|
type NavSectionProps = PropsWithChildren & {
|
|
5
5
|
activeTab: number;
|
|
6
|
-
item: AppHeaderCatalogDropdownItem;
|
|
6
|
+
item: AppHeaderCatalogDropdownItem | AppHeaderResourcesDropdownItem;
|
|
7
7
|
setActiveTab: (tab: number) => void;
|
|
8
8
|
icon?: React.ComponentType<GamutIconProps>;
|
|
9
9
|
text: string;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import _styled from "@emotion/styled/base";
|
|
2
|
+
import { Box, FlexBox } from '@codecademy/gamut';
|
|
3
|
+
import { ArrowChevronRightIcon } from '@codecademy/gamut-icons';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { useGlobalHeaderItemClick } from '../../../GlobalHeader/context';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
|
+
const NavPanelContainer = /*#__PURE__*/_styled(Box, {
|
|
8
|
+
target: "ewhfiay1",
|
|
9
|
+
label: "NavPanelContainer"
|
|
10
|
+
})("display:", ({
|
|
11
|
+
isActive
|
|
12
|
+
}) => isActive ? 'block' : 'none', ";grid-column:2/span 12;grid-row:1/span 8;background-color:", ({
|
|
13
|
+
theme
|
|
14
|
+
}) => theme.colors.background, ";border-radius:", ({
|
|
15
|
+
isActive,
|
|
16
|
+
isFirst
|
|
17
|
+
}) => isActive && isFirst ? '0 8px 8px 8px' : '8px', ";padding:24px 32px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyU2VjdGlvblZhcmlhbnQvTmF2U2VjdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0I4RSIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlclNlY3Rpb25WYXJpYW50L05hdlNlY3Rpb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm94LCBGbGV4Qm94IH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQnO1xuaW1wb3J0IHsgQXJyb3dDaGV2cm9uUmlnaHRJY29uLCBHYW11dEljb25Qcm9wcyB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyBQcm9wc1dpdGhDaGlsZHJlbiB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gZnJvbSAnLi4vLi4vLi4vR2xvYmFsSGVhZGVyL2NvbnRleHQnO1xuaW1wb3J0IHtcbiAgQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duSXRlbSxcbiAgQXBwSGVhZGVyUmVzb3VyY2VzRHJvcGRvd25JdGVtLFxufSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuXG50eXBlIE5hdlNlY3Rpb25Qcm9wcyA9IFByb3BzV2l0aENoaWxkcmVuICYge1xuICBhY3RpdmVUYWI6IG51bWJlcjtcbiAgaXRlbTogQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duSXRlbSB8IEFwcEhlYWRlclJlc291cmNlc0Ryb3Bkb3duSXRlbTtcbiAgc2V0QWN0aXZlVGFiOiAodGFiOiBudW1iZXIpID0+IHZvaWQ7XG4gIGljb24/OiBSZWFjdC5Db21wb25lbnRUeXBlPEdhbXV0SWNvblByb3BzPjtcbiAgdGV4dDogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICB0YWJJbmRleD86IG51bWJlcjtcbn07XG5cbmNvbnN0IE5hdlBhbmVsQ29udGFpbmVyID0gc3R5bGVkKEJveCk8eyBpc0FjdGl2ZTogYm9vbGVhbjsgaXNGaXJzdDogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogJHsoeyBpc0FjdGl2ZSB9KSA9PiAoaXNBY3RpdmUgPyAnYmxvY2snIDogJ25vbmUnKX07XG4gIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxMjtcbiAgZ3JpZC1yb3c6IDEgLyBzcGFuIDg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IGlzQWN0aXZlLCBpc0ZpcnN0IH0pID0+XG4gICAgaXNBY3RpdmUgJiYgaXNGaXJzdCA/ICcwIDhweCA4cHggOHB4JyA6ICc4cHgnfTtcbiAgcGFkZGluZzogMjRweCAzMnB4O1xuYDtcblxuY29uc3QgU3R5bGVkQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7IGlzQWN0aXZlOiBib29sZWFuOyBpbmRleDogbnVtYmVyIH0+YFxuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6ICR7KHsgaW5kZXggfSkgPT4gaW5kZXggKyAxfTtcbiAgcGFkZGluZzogMTZweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAkeyh7IGlzQWN0aXZlIH0pID0+IChpc0FjdGl2ZSA/ICc4cHggMCAwIDhweCcgOiAnOHB4Jyl9O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICR7KHsgdGhlbWUsIGlzQWN0aXZlIH0pID0+XG4gICAgaXNBY3RpdmUgPyB0aGVtZS5jb2xvcnMucHJpbWFyeSA6IHRoZW1lLmNvbG9ycy50ZXh0fTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKGlzQWN0aXZlID8gJzEwMCUnIDogJ2NhbGMoMTAwJSAtIDhweCknKX07XG4gIGhlaWdodDogNjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGlzQWN0aXZlLCB0aGVtZSB9KSA9PlxuICAgIGlzQWN0aXZlID8gdGhlbWUuY29sb3JzLmJhY2tncm91bmQgOiB0aGVtZS5jb2xvcnNbJ2dyYXktMTAwJ119O1xuXG4gICNhcnJvdy1jaGV2cm9uLXJpZ2h0LWljb24ge1xuICAgIGRpc3BsYXk6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKGlzQWN0aXZlID8gJ2Jsb2NrJyA6ICdub25lJyl9O1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSwgaXNBY3RpdmUgfSkgPT5cbiAgICAgIGlzQWN0aXZlID8gdGhlbWUuY29sb3JzLmJhY2tncm91bmQgOiB0aGVtZS5jb2xvcnNbJ25hdnktMTAwJ119O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5fTtcbiAgfVxuYDtcblxuY29uc3QgTmF2U2VjdGlvbiA9ICh7XG4gIGFjdGl2ZVRhYixcbiAgc2V0QWN0aXZlVGFiLFxuICBpY29uOiBJY29uLFxuICB0ZXh0LFxuICBpbmRleCxcbiAgY2hpbGRyZW4sXG4gIGl0ZW0sXG4gIHRhYkluZGV4LFxufTogTmF2U2VjdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U3R5bGVkQnV0dG9uXG4gICAgICAgIGlzQWN0aXZlPXthY3RpdmVUYWIgPT09IGluZGV4fVxuICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgIGdsb2JhbEhlYWRlckl0ZW1DbGljayhldmVudCwgaXRlbSk7XG4gICAgICAgICAgc2V0QWN0aXZlVGFiKGluZGV4KTtcbiAgICAgICAgfX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9e2BuYXYtc2VjdGlvbi0ke2l0ZW0uaWR9YH1cbiAgICAgICAgYXJpYS1leHBhbmRlZD17YWN0aXZlVGFiID09PSBpbmRleH1cbiAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgPlxuICAgICAgICA8RmxleEJveCBnYXA9ezh9IGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICB7SWNvbiAmJiA8SWNvbiAvPn1cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICA8QXJyb3dDaGV2cm9uUmlnaHRJY29uIGlkPVwiYXJyb3ctY2hldnJvbi1yaWdodC1pY29uXCIgLz5cbiAgICAgIDwvU3R5bGVkQnV0dG9uPlxuXG4gICAgICA8TmF2UGFuZWxDb250YWluZXIgaXNBY3RpdmU9e2FjdGl2ZVRhYiA9PT0gaW5kZXh9IGlzRmlyc3Q9e2luZGV4ID09PSAwfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9OYXZQYW5lbENvbnRhaW5lcj5cbiAgICA8Lz5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBOYXZTZWN0aW9uO1xuIl19 */"));
|
|
18
|
+
const StyledButton = /*#__PURE__*/_styled("button", {
|
|
19
|
+
target: "ewhfiay0",
|
|
20
|
+
label: "StyledButton"
|
|
21
|
+
})("grid-column:1;grid-row:", ({
|
|
22
|
+
index
|
|
23
|
+
}) => index + 1, ";padding:16px;border:none;border-radius:", ({
|
|
24
|
+
isActive
|
|
25
|
+
}) => isActive ? '8px 0 0 8px' : '8px', ";background:none;cursor:pointer;font-size:18px;font-weight:400;color:", ({
|
|
26
|
+
theme,
|
|
27
|
+
isActive
|
|
28
|
+
}) => isActive ? theme.colors.primary : theme.colors.text, ";text-align:left;width:", ({
|
|
29
|
+
isActive
|
|
30
|
+
}) => isActive ? '100%' : 'calc(100% - 8px)', ";height:60px;display:flex;justify-content:space-between;align-items:center;background-color:", ({
|
|
31
|
+
isActive,
|
|
32
|
+
theme
|
|
33
|
+
}) => isActive ? theme.colors.background : theme.colors['gray-100'], ";#arrow-chevron-right-icon{display:", ({
|
|
34
|
+
isActive
|
|
35
|
+
}) => isActive ? 'block' : 'none', ";}&:hover,&:focus{background-color:", ({
|
|
36
|
+
theme,
|
|
37
|
+
isActive
|
|
38
|
+
}) => isActive ? theme.colors.background : theme.colors['navy-100'], ";color:", ({
|
|
39
|
+
theme
|
|
40
|
+
}) => theme.colors.primary, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyU2VjdGlvblZhcmlhbnQvTmF2U2VjdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0N3RSIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlclNlY3Rpb25WYXJpYW50L05hdlNlY3Rpb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm94LCBGbGV4Qm94IH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQnO1xuaW1wb3J0IHsgQXJyb3dDaGV2cm9uUmlnaHRJY29uLCBHYW11dEljb25Qcm9wcyB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyBQcm9wc1dpdGhDaGlsZHJlbiB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gZnJvbSAnLi4vLi4vLi4vR2xvYmFsSGVhZGVyL2NvbnRleHQnO1xuaW1wb3J0IHtcbiAgQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duSXRlbSxcbiAgQXBwSGVhZGVyUmVzb3VyY2VzRHJvcGRvd25JdGVtLFxufSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuXG50eXBlIE5hdlNlY3Rpb25Qcm9wcyA9IFByb3BzV2l0aENoaWxkcmVuICYge1xuICBhY3RpdmVUYWI6IG51bWJlcjtcbiAgaXRlbTogQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duSXRlbSB8IEFwcEhlYWRlclJlc291cmNlc0Ryb3Bkb3duSXRlbTtcbiAgc2V0QWN0aXZlVGFiOiAodGFiOiBudW1iZXIpID0+IHZvaWQ7XG4gIGljb24/OiBSZWFjdC5Db21wb25lbnRUeXBlPEdhbXV0SWNvblByb3BzPjtcbiAgdGV4dDogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICB0YWJJbmRleD86IG51bWJlcjtcbn07XG5cbmNvbnN0IE5hdlBhbmVsQ29udGFpbmVyID0gc3R5bGVkKEJveCk8eyBpc0FjdGl2ZTogYm9vbGVhbjsgaXNGaXJzdDogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogJHsoeyBpc0FjdGl2ZSB9KSA9PiAoaXNBY3RpdmUgPyAnYmxvY2snIDogJ25vbmUnKX07XG4gIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxMjtcbiAgZ3JpZC1yb3c6IDEgLyBzcGFuIDg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IGlzQWN0aXZlLCBpc0ZpcnN0IH0pID0+XG4gICAgaXNBY3RpdmUgJiYgaXNGaXJzdCA/ICcwIDhweCA4cHggOHB4JyA6ICc4cHgnfTtcbiAgcGFkZGluZzogMjRweCAzMnB4O1xuYDtcblxuY29uc3QgU3R5bGVkQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7IGlzQWN0aXZlOiBib29sZWFuOyBpbmRleDogbnVtYmVyIH0+YFxuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6ICR7KHsgaW5kZXggfSkgPT4gaW5kZXggKyAxfTtcbiAgcGFkZGluZzogMTZweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAkeyh7IGlzQWN0aXZlIH0pID0+IChpc0FjdGl2ZSA/ICc4cHggMCAwIDhweCcgOiAnOHB4Jyl9O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICR7KHsgdGhlbWUsIGlzQWN0aXZlIH0pID0+XG4gICAgaXNBY3RpdmUgPyB0aGVtZS5jb2xvcnMucHJpbWFyeSA6IHRoZW1lLmNvbG9ycy50ZXh0fTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKGlzQWN0aXZlID8gJzEwMCUnIDogJ2NhbGMoMTAwJSAtIDhweCknKX07XG4gIGhlaWdodDogNjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGlzQWN0aXZlLCB0aGVtZSB9KSA9PlxuICAgIGlzQWN0aXZlID8gdGhlbWUuY29sb3JzLmJhY2tncm91bmQgOiB0aGVtZS5jb2xvcnNbJ2dyYXktMTAwJ119O1xuXG4gICNhcnJvdy1jaGV2cm9uLXJpZ2h0LWljb24ge1xuICAgIGRpc3BsYXk6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKGlzQWN0aXZlID8gJ2Jsb2NrJyA6ICdub25lJyl9O1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSwgaXNBY3RpdmUgfSkgPT5cbiAgICAgIGlzQWN0aXZlID8gdGhlbWUuY29sb3JzLmJhY2tncm91bmQgOiB0aGVtZS5jb2xvcnNbJ25hdnktMTAwJ119O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5fTtcbiAgfVxuYDtcblxuY29uc3QgTmF2U2VjdGlvbiA9ICh7XG4gIGFjdGl2ZVRhYixcbiAgc2V0QWN0aXZlVGFiLFxuICBpY29uOiBJY29uLFxuICB0ZXh0LFxuICBpbmRleCxcbiAgY2hpbGRyZW4sXG4gIGl0ZW0sXG4gIHRhYkluZGV4LFxufTogTmF2U2VjdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U3R5bGVkQnV0dG9uXG4gICAgICAgIGlzQWN0aXZlPXthY3RpdmVUYWIgPT09IGluZGV4fVxuICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgIGdsb2JhbEhlYWRlckl0ZW1DbGljayhldmVudCwgaXRlbSk7XG4gICAgICAgICAgc2V0QWN0aXZlVGFiKGluZGV4KTtcbiAgICAgICAgfX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9e2BuYXYtc2VjdGlvbi0ke2l0ZW0uaWR9YH1cbiAgICAgICAgYXJpYS1leHBhbmRlZD17YWN0aXZlVGFiID09PSBpbmRleH1cbiAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgPlxuICAgICAgICA8RmxleEJveCBnYXA9ezh9IGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICB7SWNvbiAmJiA8SWNvbiAvPn1cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICA8QXJyb3dDaGV2cm9uUmlnaHRJY29uIGlkPVwiYXJyb3ctY2hldnJvbi1yaWdodC1pY29uXCIgLz5cbiAgICAgIDwvU3R5bGVkQnV0dG9uPlxuXG4gICAgICA8TmF2UGFuZWxDb250YWluZXIgaXNBY3RpdmU9e2FjdGl2ZVRhYiA9PT0gaW5kZXh9IGlzRmlyc3Q9e2luZGV4ID09PSAwfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9OYXZQYW5lbENvbnRhaW5lcj5cbiAgICA8Lz5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBOYXZTZWN0aW9uO1xuIl19 */"));
|
|
41
|
+
const NavSection = ({
|
|
42
|
+
activeTab,
|
|
43
|
+
setActiveTab,
|
|
44
|
+
icon: Icon,
|
|
45
|
+
text,
|
|
46
|
+
index,
|
|
47
|
+
children,
|
|
48
|
+
item,
|
|
49
|
+
tabIndex
|
|
50
|
+
}) => {
|
|
51
|
+
const {
|
|
52
|
+
globalHeaderItemClick
|
|
53
|
+
} = useGlobalHeaderItemClick();
|
|
54
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
55
|
+
children: [/*#__PURE__*/_jsxs(StyledButton, {
|
|
56
|
+
isActive: activeTab === index,
|
|
57
|
+
index: index,
|
|
58
|
+
onClick: event => {
|
|
59
|
+
globalHeaderItemClick(event, item);
|
|
60
|
+
setActiveTab(index);
|
|
61
|
+
},
|
|
62
|
+
"data-testid": `nav-section-${item.id}`,
|
|
63
|
+
"aria-expanded": activeTab === index,
|
|
64
|
+
tabIndex: tabIndex,
|
|
65
|
+
children: [/*#__PURE__*/_jsxs(FlexBox, {
|
|
66
|
+
gap: 8,
|
|
67
|
+
alignItems: "center",
|
|
68
|
+
children: [Icon && /*#__PURE__*/_jsx(Icon, {}), text]
|
|
69
|
+
}), /*#__PURE__*/_jsx(ArrowChevronRightIcon, {
|
|
70
|
+
id: "arrow-chevron-right-icon"
|
|
71
|
+
})]
|
|
72
|
+
}), /*#__PURE__*/_jsx(NavPanelContainer, {
|
|
73
|
+
isActive: activeTab === index,
|
|
74
|
+
isFirst: index === 0,
|
|
75
|
+
children: children
|
|
76
|
+
})]
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
export default NavSection;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PropsWithChildren, ReactNode } from 'react';
|
|
2
|
+
import { AppHeaderLinkItem } from '../../..';
|
|
3
|
+
type PanelLayoutProps = PropsWithChildren & {
|
|
4
|
+
heading: string;
|
|
5
|
+
description: ReactNode;
|
|
6
|
+
linkItem?: AppHeaderLinkItem;
|
|
7
|
+
tabIndex?: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const PanelLayout: ({ heading, description, linkItem, children, tabIndex, }: PanelLayoutProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Anchor, FlexBox, Text } from '@codecademy/gamut';
|
|
2
|
+
import { MiniArrowRightIcon } from '@codecademy/gamut-icons';
|
|
3
|
+
import { useGlobalHeaderItemClick } from '../../../GlobalHeader/context';
|
|
4
|
+
import { useAppHeaderDropdownContext } from '../AppHeaderDropdownProvider';
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
+
export const PanelLayout = ({
|
|
7
|
+
heading,
|
|
8
|
+
description,
|
|
9
|
+
linkItem,
|
|
10
|
+
children,
|
|
11
|
+
tabIndex = 0
|
|
12
|
+
}) => {
|
|
13
|
+
const {
|
|
14
|
+
globalHeaderItemClick
|
|
15
|
+
} = useGlobalHeaderItemClick();
|
|
16
|
+
const {
|
|
17
|
+
handleClose
|
|
18
|
+
} = useAppHeaderDropdownContext();
|
|
19
|
+
return /*#__PURE__*/_jsxs(FlexBox, {
|
|
20
|
+
flexDirection: "column",
|
|
21
|
+
gap: 24,
|
|
22
|
+
pr: {
|
|
23
|
+
_: 32,
|
|
24
|
+
md: 16,
|
|
25
|
+
lg: 0
|
|
26
|
+
},
|
|
27
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
28
|
+
as: "h2",
|
|
29
|
+
variant: "title-sm",
|
|
30
|
+
children: heading
|
|
31
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
32
|
+
children: description
|
|
33
|
+
}), children, linkItem && /*#__PURE__*/_jsx(FlexBox, {
|
|
34
|
+
justifyContent: "center",
|
|
35
|
+
children: /*#__PURE__*/_jsx(Anchor, {
|
|
36
|
+
href: linkItem.href,
|
|
37
|
+
onClick: event => {
|
|
38
|
+
globalHeaderItemClick(event, linkItem);
|
|
39
|
+
handleClose();
|
|
40
|
+
},
|
|
41
|
+
tabIndex: tabIndex,
|
|
42
|
+
variant: "standard",
|
|
43
|
+
children: /*#__PURE__*/_jsxs(FlexBox, {
|
|
44
|
+
alignItems: "center",
|
|
45
|
+
gap: 8,
|
|
46
|
+
children: [linkItem.text, " ", /*#__PURE__*/_jsx(MiniArrowRightIcon, {})]
|
|
47
|
+
})
|
|
48
|
+
})
|
|
49
|
+
})]
|
|
50
|
+
});
|
|
51
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React, { RefObject } from 'react';
|
|
2
|
+
import { AppHeaderCatalogDropdownItem, AppHeaderResourcesDropdownItem } from '../../shared';
|
|
3
|
+
export type AppHeaderSectionVariantProps = {
|
|
4
|
+
isOpen?: boolean;
|
|
5
|
+
keyDownEvents?: (event: React.KeyboardEvent) => void;
|
|
6
|
+
ref?: RefObject<HTMLDivElement>;
|
|
7
|
+
navSections: {
|
|
8
|
+
item: AppHeaderCatalogDropdownItem | AppHeaderResourcesDropdownItem;
|
|
9
|
+
panel: React.ComponentType<{
|
|
10
|
+
tabIndex?: number;
|
|
11
|
+
}>;
|
|
12
|
+
}[];
|
|
13
|
+
marketingBanner?: React.ReactNode;
|
|
14
|
+
};
|
|
15
|
+
export declare const AppHeaderSectionVariant: React.ForwardRefExoticComponent<Omit<AppHeaderSectionVariantProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,84 @@
|
|
|
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 { Box, GridBox } from '@codecademy/gamut';
|
|
4
|
+
import React, { useEffect, useState } from 'react';
|
|
5
|
+
import NavSection from './NavSection';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
|
+
const StyledBox = /*#__PURE__*/_styled(Box, {
|
|
8
|
+
target: "elr36wf2",
|
|
9
|
+
label: "StyledBox"
|
|
10
|
+
})("width:calc(100vw - 11rem);max-width:calc(1440px - 11rem);border:1px solid ", ({
|
|
11
|
+
theme
|
|
12
|
+
}) => theme.colors['border-tertiary'], ";border-radius:16px;background-color:", ({
|
|
13
|
+
theme
|
|
14
|
+
}) => theme.colors['gray-100'], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyU2VjdGlvblZhcmlhbnQvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVU2QiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlclNlY3Rpb25WYXJpYW50L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJveCwgR3JpZEJveCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7XG4gIEFwcEhlYWRlckNhdGFsb2dEcm9wZG93bkl0ZW0sXG4gIEFwcEhlYWRlclJlc291cmNlc0Ryb3Bkb3duSXRlbSxcbn0gZnJvbSAnLi4vLi4vc2hhcmVkJztcbmltcG9ydCBOYXZTZWN0aW9uIGZyb20gJy4vTmF2U2VjdGlvbic7XG5cbmNvbnN0IFN0eWxlZEJveCA9IHN0eWxlZChCb3gpYFxuICB3aWR0aDogY2FsYygxMDB2dyAtIDExcmVtKTtcbiAgbWF4LXdpZHRoOiBjYWxjKDE0NDBweCAtIDExcmVtKTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2JvcmRlci10ZXJ0aWFyeSddfTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2dyYXktMTAwJ119O1xuYDtcblxuY29uc3QgU3R5bGVkR3JpZEJveCA9IHN0eWxlZChHcmlkQm94KWBcbiAgcGFkZGluZzogOHB4O1xuICByb3ctZ2FwOiA4cHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjY1cHggMzJweCAxZnI7XG5gO1xuXG5jb25zdCBHcmFkaWVudEJhY2tncm91bmQgPSBzdHlsZWQoQm94KWBcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIDE4MGRlZyxcbiAgICByZ2JhKDAsIDAsIDAsIDApIDcuNjUlLFxuICAgIHJnYmEoMCwgMCwgMCwgMC4xNSkgMTAwJVxuICApO1xuYDtcblxuZXhwb3J0IHR5cGUgQXBwSGVhZGVyU2VjdGlvblZhcmlhbnRQcm9wcyA9IHtcbiAgaXNPcGVuPzogYm9vbGVhbjtcbiAga2V5RG93bkV2ZW50cz86IChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudCkgPT4gdm9pZDtcbiAgcmVmPzogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgbmF2U2VjdGlvbnM6IHtcbiAgICBpdGVtOiBBcHBIZWFkZXJDYXRhbG9nRHJvcGRvd25JdGVtIHwgQXBwSGVhZGVyUmVzb3VyY2VzRHJvcGRvd25JdGVtO1xuICAgIHBhbmVsOiBSZWFjdC5Db21wb25lbnRUeXBlPHsgdGFiSW5kZXg/OiBudW1iZXIgfT47XG4gIH1bXTtcbiAgbWFya2V0aW5nQmFubmVyPzogUmVhY3QuUmVhY3ROb2RlO1xufTtcblxuZXhwb3J0IGNvbnN0IEFwcEhlYWRlclNlY3Rpb25WYXJpYW50ID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgSFRNTERpdkVsZW1lbnQsXG4gIEFwcEhlYWRlclNlY3Rpb25WYXJpYW50UHJvcHNcbj4oKHsgaXNPcGVuLCBrZXlEb3duRXZlbnRzLCBuYXZTZWN0aW9ucywgbWFya2V0aW5nQmFubmVyIH0sIHJlZikgPT4ge1xuICBjb25zdCBbYWN0aXZlVGFiLCBzZXRBY3RpdmVUYWJdID0gdXNlU3RhdGU8bnVtYmVyPigwKTtcblxuICBjb25zdCB0YWJJbmRleCA9IGlzT3BlbiA/IDAgOiAtMTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc09wZW4pIHtcbiAgICAgIHNldEFjdGl2ZVRhYigwKTtcbiAgICB9XG4gIH0sIFtpc09wZW5dKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U3R5bGVkQm94PlxuICAgICAgICB7bWFya2V0aW5nQmFubmVyfVxuICAgICAgICA8U3R5bGVkR3JpZEJveCByZWY9e3JlZn0gb25LZXlEb3duPXtrZXlEb3duRXZlbnRzfT5cbiAgICAgICAgICB7bmF2U2VjdGlvbnMubWFwKChzZWN0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBpdGVtLCBwYW5lbDogUGFuZWwgfSA9IHNlY3Rpb247XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8TmF2U2VjdGlvblxuICAgICAgICAgICAgICAgIGFjdGl2ZVRhYj17YWN0aXZlVGFifVxuICAgICAgICAgICAgICAgIHNldEFjdGl2ZVRhYj17c2V0QWN0aXZlVGFifVxuICAgICAgICAgICAgICAgIGljb249e2l0ZW0uaWNvbn1cbiAgICAgICAgICAgICAgICB0ZXh0PXtpdGVtLnRleHR9XG4gICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgIGl0ZW09e2l0ZW19XG4gICAgICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYW5lbCB0YWJJbmRleD17dGFiSW5kZXh9IC8+XG4gICAgICAgICAgICAgIDwvTmF2U2VjdGlvbj5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvU3R5bGVkR3JpZEJveD5cbiAgICAgIDwvU3R5bGVkQm94PlxuXG4gICAgICA8R3JhZGllbnRCYWNrZ3JvdW5kXG4gICAgICAgIHBvc2l0aW9uPVwiZml4ZWRcIlxuICAgICAgICB0b3A9XCIwXCJcbiAgICAgICAgbGVmdD1cIjBcIlxuICAgICAgICByaWdodD1cIjBcIlxuICAgICAgICBib3R0b209XCIwXCJcbiAgICAgICAgekluZGV4PXstMX1cbiAgICAgICAgZGlzcGxheT17aXNPcGVuID8gJ2Jsb2NrJyA6ICdub25lJ31cbiAgICAgIC8+XG4gICAgPC8+XG4gICk7XG59KTtcbiJdfQ== */"));
|
|
15
|
+
const StyledGridBox = /*#__PURE__*/_styled(GridBox, {
|
|
16
|
+
target: "elr36wf1",
|
|
17
|
+
label: "StyledGridBox"
|
|
18
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
19
|
+
name: "29co2b",
|
|
20
|
+
styles: "padding:8px;row-gap:8px;grid-template-columns:265px 32px 1fr"
|
|
21
|
+
} : {
|
|
22
|
+
name: "29co2b",
|
|
23
|
+
styles: "padding:8px;row-gap:8px;grid-template-columns:265px 32px 1fr/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyU2VjdGlvblZhcmlhbnQvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCcUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL0FwcEhlYWRlci9BcHBIZWFkZXJFbGVtZW50cy9BcHBIZWFkZXJTZWN0aW9uVmFyaWFudC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb3gsIEdyaWRCb3ggfSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QsIHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge1xuICBBcHBIZWFkZXJDYXRhbG9nRHJvcGRvd25JdGVtLFxuICBBcHBIZWFkZXJSZXNvdXJjZXNEcm9wZG93bkl0ZW0sXG59IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgTmF2U2VjdGlvbiBmcm9tICcuL05hdlNlY3Rpb24nO1xuXG5jb25zdCBTdHlsZWRCb3ggPSBzdHlsZWQoQm94KWBcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSAxMXJlbSk7XG4gIG1heC13aWR0aDogY2FsYygxNDQwcHggLSAxMXJlbSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydib3JkZXItdGVydGlhcnknXX07XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydncmF5LTEwMCddfTtcbmA7XG5cbmNvbnN0IFN0eWxlZEdyaWRCb3ggPSBzdHlsZWQoR3JpZEJveClgXG4gIHBhZGRpbmc6IDhweDtcbiAgcm93LWdhcDogOHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI2NXB4IDMycHggMWZyO1xuYDtcblxuY29uc3QgR3JhZGllbnRCYWNrZ3JvdW5kID0gc3R5bGVkKEJveClgXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAxODBkZWcsXG4gICAgcmdiYSgwLCAwLCAwLCAwKSA3LjY1JSxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMTUpIDEwMCVcbiAgKTtcbmA7XG5cbmV4cG9ydCB0eXBlIEFwcEhlYWRlclNlY3Rpb25WYXJpYW50UHJvcHMgPSB7XG4gIGlzT3Blbj86IGJvb2xlYW47XG4gIGtleURvd25FdmVudHM/OiAoZXZlbnQ6IFJlYWN0LktleWJvYXJkRXZlbnQpID0+IHZvaWQ7XG4gIHJlZj86IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG4gIG5hdlNlY3Rpb25zOiB7XG4gICAgaXRlbTogQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duSXRlbSB8IEFwcEhlYWRlclJlc291cmNlc0Ryb3Bkb3duSXRlbTtcbiAgICBwYW5lbDogUmVhY3QuQ29tcG9uZW50VHlwZTx7IHRhYkluZGV4PzogbnVtYmVyIH0+O1xuICB9W107XG4gIG1hcmtldGluZ0Jhbm5lcj86IFJlYWN0LlJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCBjb25zdCBBcHBIZWFkZXJTZWN0aW9uVmFyaWFudCA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIEhUTUxEaXZFbGVtZW50LFxuICBBcHBIZWFkZXJTZWN0aW9uVmFyaWFudFByb3BzXG4+KCh7IGlzT3Blbiwga2V5RG93bkV2ZW50cywgbmF2U2VjdGlvbnMsIG1hcmtldGluZ0Jhbm5lciB9LCByZWYpID0+IHtcbiAgY29uc3QgW2FjdGl2ZVRhYiwgc2V0QWN0aXZlVGFiXSA9IHVzZVN0YXRlPG51bWJlcj4oMCk7XG5cbiAgY29uc3QgdGFiSW5kZXggPSBpc09wZW4gPyAwIDogLTE7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICBzZXRBY3RpdmVUYWIoMCk7XG4gICAgfVxuICB9LCBbaXNPcGVuXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPFN0eWxlZEJveD5cbiAgICAgICAge21hcmtldGluZ0Jhbm5lcn1cbiAgICAgICAgPFN0eWxlZEdyaWRCb3ggcmVmPXtyZWZ9IG9uS2V5RG93bj17a2V5RG93bkV2ZW50c30+XG4gICAgICAgICAge25hdlNlY3Rpb25zLm1hcCgoc2VjdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgaXRlbSwgcGFuZWw6IFBhbmVsIH0gPSBzZWN0aW9uO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPE5hdlNlY3Rpb25cbiAgICAgICAgICAgICAgICBhY3RpdmVUYWI9e2FjdGl2ZVRhYn1cbiAgICAgICAgICAgICAgICBzZXRBY3RpdmVUYWI9e3NldEFjdGl2ZVRhYn1cbiAgICAgICAgICAgICAgICBpY29uPXtpdGVtLmljb259XG4gICAgICAgICAgICAgICAgdGV4dD17aXRlbS50ZXh0fVxuICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGFuZWwgdGFiSW5kZXg9e3RhYkluZGV4fSAvPlxuICAgICAgICAgICAgICA8L05hdlNlY3Rpb24+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pfVxuICAgICAgICA8L1N0eWxlZEdyaWRCb3g+XG4gICAgICA8L1N0eWxlZEJveD5cblxuICAgICAgPEdyYWRpZW50QmFja2dyb3VuZFxuICAgICAgICBwb3NpdGlvbj1cImZpeGVkXCJcbiAgICAgICAgdG9wPVwiMFwiXG4gICAgICAgIGxlZnQ9XCIwXCJcbiAgICAgICAgcmlnaHQ9XCIwXCJcbiAgICAgICAgYm90dG9tPVwiMFwiXG4gICAgICAgIHpJbmRleD17LTF9XG4gICAgICAgIGRpc3BsYXk9e2lzT3BlbiA/ICdibG9jaycgOiAnbm9uZSd9XG4gICAgICAvPlxuICAgIDwvPlxuICApO1xufSk7XG4iXX0= */",
|
|
24
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
25
|
+
});
|
|
26
|
+
const GradientBackground = /*#__PURE__*/_styled(Box, {
|
|
27
|
+
target: "elr36wf0",
|
|
28
|
+
label: "GradientBackground"
|
|
29
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
30
|
+
name: "1n848ez",
|
|
31
|
+
styles: "background:linear-gradient(\n 180deg,\n rgba(0, 0, 0, 0) 7.65%,\n rgba(0, 0, 0, 0.15) 100%\n )"
|
|
32
|
+
} : {
|
|
33
|
+
name: "1n848ez",
|
|
34
|
+
styles: "background:linear-gradient(\n 180deg,\n rgba(0, 0, 0, 0) 7.65%,\n rgba(0, 0, 0, 0.15) 100%\n )/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyU2VjdGlvblZhcmlhbnQvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCc0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL0FwcEhlYWRlci9BcHBIZWFkZXJFbGVtZW50cy9BcHBIZWFkZXJTZWN0aW9uVmFyaWFudC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb3gsIEdyaWRCb3ggfSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgUmVhY3QsIHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge1xuICBBcHBIZWFkZXJDYXRhbG9nRHJvcGRvd25JdGVtLFxuICBBcHBIZWFkZXJSZXNvdXJjZXNEcm9wZG93bkl0ZW0sXG59IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgTmF2U2VjdGlvbiBmcm9tICcuL05hdlNlY3Rpb24nO1xuXG5jb25zdCBTdHlsZWRCb3ggPSBzdHlsZWQoQm94KWBcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSAxMXJlbSk7XG4gIG1heC13aWR0aDogY2FsYygxNDQwcHggLSAxMXJlbSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydib3JkZXItdGVydGlhcnknXX07XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydncmF5LTEwMCddfTtcbmA7XG5cbmNvbnN0IFN0eWxlZEdyaWRCb3ggPSBzdHlsZWQoR3JpZEJveClgXG4gIHBhZGRpbmc6IDhweDtcbiAgcm93LWdhcDogOHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI2NXB4IDMycHggMWZyO1xuYDtcblxuY29uc3QgR3JhZGllbnRCYWNrZ3JvdW5kID0gc3R5bGVkKEJveClgXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAxODBkZWcsXG4gICAgcmdiYSgwLCAwLCAwLCAwKSA3LjY1JSxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMTUpIDEwMCVcbiAgKTtcbmA7XG5cbmV4cG9ydCB0eXBlIEFwcEhlYWRlclNlY3Rpb25WYXJpYW50UHJvcHMgPSB7XG4gIGlzT3Blbj86IGJvb2xlYW47XG4gIGtleURvd25FdmVudHM/OiAoZXZlbnQ6IFJlYWN0LktleWJvYXJkRXZlbnQpID0+IHZvaWQ7XG4gIHJlZj86IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG4gIG5hdlNlY3Rpb25zOiB7XG4gICAgaXRlbTogQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duSXRlbSB8IEFwcEhlYWRlclJlc291cmNlc0Ryb3Bkb3duSXRlbTtcbiAgICBwYW5lbDogUmVhY3QuQ29tcG9uZW50VHlwZTx7IHRhYkluZGV4PzogbnVtYmVyIH0+O1xuICB9W107XG4gIG1hcmtldGluZ0Jhbm5lcj86IFJlYWN0LlJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCBjb25zdCBBcHBIZWFkZXJTZWN0aW9uVmFyaWFudCA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIEhUTUxEaXZFbGVtZW50LFxuICBBcHBIZWFkZXJTZWN0aW9uVmFyaWFudFByb3BzXG4+KCh7IGlzT3Blbiwga2V5RG93bkV2ZW50cywgbmF2U2VjdGlvbnMsIG1hcmtldGluZ0Jhbm5lciB9LCByZWYpID0+IHtcbiAgY29uc3QgW2FjdGl2ZVRhYiwgc2V0QWN0aXZlVGFiXSA9IHVzZVN0YXRlPG51bWJlcj4oMCk7XG5cbiAgY29uc3QgdGFiSW5kZXggPSBpc09wZW4gPyAwIDogLTE7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICBzZXRBY3RpdmVUYWIoMCk7XG4gICAgfVxuICB9LCBbaXNPcGVuXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPFN0eWxlZEJveD5cbiAgICAgICAge21hcmtldGluZ0Jhbm5lcn1cbiAgICAgICAgPFN0eWxlZEdyaWRCb3ggcmVmPXtyZWZ9IG9uS2V5RG93bj17a2V5RG93bkV2ZW50c30+XG4gICAgICAgICAge25hdlNlY3Rpb25zLm1hcCgoc2VjdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgaXRlbSwgcGFuZWw6IFBhbmVsIH0gPSBzZWN0aW9uO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPE5hdlNlY3Rpb25cbiAgICAgICAgICAgICAgICBhY3RpdmVUYWI9e2FjdGl2ZVRhYn1cbiAgICAgICAgICAgICAgICBzZXRBY3RpdmVUYWI9e3NldEFjdGl2ZVRhYn1cbiAgICAgICAgICAgICAgICBpY29uPXtpdGVtLmljb259XG4gICAgICAgICAgICAgICAgdGV4dD17aXRlbS50ZXh0fVxuICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGFuZWwgdGFiSW5kZXg9e3RhYkluZGV4fSAvPlxuICAgICAgICAgICAgICA8L05hdlNlY3Rpb24+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pfVxuICAgICAgICA8L1N0eWxlZEdyaWRCb3g+XG4gICAgICA8L1N0eWxlZEJveD5cblxuICAgICAgPEdyYWRpZW50QmFja2dyb3VuZFxuICAgICAgICBwb3NpdGlvbj1cImZpeGVkXCJcbiAgICAgICAgdG9wPVwiMFwiXG4gICAgICAgIGxlZnQ9XCIwXCJcbiAgICAgICAgcmlnaHQ9XCIwXCJcbiAgICAgICAgYm90dG9tPVwiMFwiXG4gICAgICAgIHpJbmRleD17LTF9XG4gICAgICAgIGRpc3BsYXk9e2lzT3BlbiA/ICdibG9jaycgOiAnbm9uZSd9XG4gICAgICAvPlxuICAgIDwvPlxuICApO1xufSk7XG4iXX0= */",
|
|
35
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
36
|
+
});
|
|
37
|
+
export const AppHeaderSectionVariant = /*#__PURE__*/React.forwardRef(({
|
|
38
|
+
isOpen,
|
|
39
|
+
keyDownEvents,
|
|
40
|
+
navSections,
|
|
41
|
+
marketingBanner
|
|
42
|
+
}, ref) => {
|
|
43
|
+
const [activeTab, setActiveTab] = useState(0);
|
|
44
|
+
const tabIndex = isOpen ? 0 : -1;
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
if (isOpen) {
|
|
47
|
+
setActiveTab(0);
|
|
48
|
+
}
|
|
49
|
+
}, [isOpen]);
|
|
50
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
51
|
+
children: [/*#__PURE__*/_jsxs(StyledBox, {
|
|
52
|
+
children: [marketingBanner, /*#__PURE__*/_jsx(StyledGridBox, {
|
|
53
|
+
ref: ref,
|
|
54
|
+
onKeyDown: keyDownEvents,
|
|
55
|
+
children: navSections.map((section, index) => {
|
|
56
|
+
const {
|
|
57
|
+
item,
|
|
58
|
+
panel: Panel
|
|
59
|
+
} = section;
|
|
60
|
+
return /*#__PURE__*/_jsx(NavSection, {
|
|
61
|
+
activeTab: activeTab,
|
|
62
|
+
setActiveTab: setActiveTab,
|
|
63
|
+
icon: item.icon,
|
|
64
|
+
text: item.text,
|
|
65
|
+
index: index,
|
|
66
|
+
item: item,
|
|
67
|
+
tabIndex: tabIndex,
|
|
68
|
+
children: /*#__PURE__*/_jsx(Panel, {
|
|
69
|
+
tabIndex: tabIndex
|
|
70
|
+
})
|
|
71
|
+
}, item.id);
|
|
72
|
+
})
|
|
73
|
+
})]
|
|
74
|
+
}), /*#__PURE__*/_jsx(GradientBackground, {
|
|
75
|
+
position: "fixed",
|
|
76
|
+
top: "0",
|
|
77
|
+
left: "0",
|
|
78
|
+
right: "0",
|
|
79
|
+
bottom: "0",
|
|
80
|
+
zIndex: -1,
|
|
81
|
+
display: isOpen ? 'block' : 'none'
|
|
82
|
+
})]
|
|
83
|
+
});
|
|
84
|
+
});
|
|
@@ -2,7 +2,7 @@ import _styled from "@emotion/styled/base";
|
|
|
2
2
|
import { Box, FlexBox } from '@codecademy/gamut';
|
|
3
3
|
import { ArrowChevronRightIcon } from '@codecademy/gamut-icons';
|
|
4
4
|
import React, { useState } from 'react';
|
|
5
|
-
import {
|
|
5
|
+
import { CATALOG_NAV_SECTIONS } from '../../AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/consts';
|
|
6
6
|
import { useGlobalHeaderItemClick } from '../../GlobalHeader/context';
|
|
7
7
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
8
8
|
const StyledButton = /*#__PURE__*/_styled("button", {
|
|
@@ -12,7 +12,7 @@ const StyledButton = /*#__PURE__*/_styled("button", {
|
|
|
12
12
|
theme
|
|
13
13
|
}) => theme.colors['border-tertiary'], ";border-radius:8px;background:none;cursor:pointer;font-size:18px;font-weight:400;color:", ({
|
|
14
14
|
theme
|
|
15
|
-
}) => theme.colors.text, ";text-align:left;width:264px;height:60px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
15
|
+
}) => theme.colors.text, ";text-align:left;width:264px;height:60px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9BcHBIZWFkZXJNb2JpbGUvQXBwSGVhZGVyQ2F0YWxvZ1NlY3RvblZhcmlhbnRNb2JpbGUvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNxRCIsImZpbGUiOiIuLi8uLi8uLi9zcmMvQXBwSGVhZGVyTW9iaWxlL0FwcEhlYWRlckNhdGFsb2dTZWN0b25WYXJpYW50TW9iaWxlL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJveCwgRmxleEJveCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IEFycm93Q2hldnJvblJpZ2h0SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgQ0FUQUxPR19OQVZfU0VDVElPTlMgfSBmcm9tICcuLi8uLi9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL2NvbnN0cyc7XG5pbXBvcnQgeyBBcHBIZWFkZXJDYXRhbG9nU2VjdGlvblByb3BzIH0gZnJvbSAnLi4vLi4vQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlckNhdGFsb2dTZWN0aW9uJztcbmltcG9ydCB7IHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljayB9IGZyb20gJy4uLy4uL0dsb2JhbEhlYWRlci9jb250ZXh0JztcblxuY29uc3QgU3R5bGVkQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7IGluZGV4OiBudW1iZXIgfT5gXG4gIHBhZGRpbmc6IDE2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydib3JkZXItdGVydGlhcnknXX07XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy50ZXh0fTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDI2NHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbmA7XG5cbmNvbnN0IEFwcEhlYWRlckNhdGFsb2dTZWN0aW9uVmFyaWFudE1vYmlsZSA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIEhUTUxEaXZFbGVtZW50LFxuICBBcHBIZWFkZXJDYXRhbG9nU2VjdGlvblByb3BzXG4+KCh7IGtleURvd25FdmVudHMgfSwgcmVmKSA9PiB7XG4gIGNvbnN0IFthY3RpdmVNZW51LCBzZXRBY3RpdmVNZW51XSA9IHVzZVN0YXRlPG51bWJlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYWN0aXZlUGFuZWwsIHNldEFjdGl2ZVBhbmVsXSA9IHVzZVN0YXRlPFJlYWN0LlJlYWN0Tm9kZSB8IG51bGw+KG51bGwpO1xuICBjb25zdCB7IGdsb2JhbEhlYWRlckl0ZW1DbGljayB9ID0gdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8Qm94XG4gICAgICByZWY9e3JlZn1cbiAgICAgIG9uS2V5RG93bj17a2V5RG93bkV2ZW50c31cbiAgICAgIG1sPXt7IF86IDE2LCB4czogMzIsIHNtOiA2NCwgbWQ6IDQ4IH19XG4gICAgPlxuICAgICAge2FjdGl2ZU1lbnUgPT09IG51bGwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge0NBVEFMT0dfTkFWX1NFQ1RJT05TLm1hcCgoc2VjdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgaXRlbTogeyBpY29uOiBJY29uLCB0ZXh0LCBpZCB9LFxuICAgICAgICAgICAgICBwYW5lbDogUGFuZWwsXG4gICAgICAgICAgICB9ID0gc2VjdGlvbjtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxTdHlsZWRCdXR0b25cbiAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICBnbG9iYWxIZWFkZXJJdGVtQ2xpY2soZXZlbnQsIHNlY3Rpb24uaXRlbSk7XG4gICAgICAgICAgICAgICAgICBzZXRBY3RpdmVNZW51KGluZGV4KTtcbiAgICAgICAgICAgICAgICAgIHNldEFjdGl2ZVBhbmVsKDxQYW5lbCAvPik7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17YG5hdi1zZWN0aW9uLSR7aWR9YH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxGbGV4Qm94IGdhcD17OH0gYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAge0ljb24gJiYgPEljb24gLz59XG4gICAgICAgICAgICAgICAgICB7dGV4dH1cbiAgICAgICAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgICAgICAgICAgPEFycm93Q2hldnJvblJpZ2h0SWNvbiAvPlxuICAgICAgICAgICAgICA8L1N0eWxlZEJ1dHRvbj5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvPlxuICAgICAgKSA6IChcbiAgICAgICAgPD57YWN0aXZlUGFuZWx9PC8+XG4gICAgICApfVxuICAgIDwvQm94PlxuICApO1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0IEFwcEhlYWRlckNhdGFsb2dTZWN0aW9uVmFyaWFudE1vYmlsZTtcbiJdfQ== */"));
|
|
16
16
|
const AppHeaderCatalogSectionVariantMobile = /*#__PURE__*/React.forwardRef(({
|
|
17
17
|
keyDownEvents
|
|
18
18
|
}, ref) => {
|
|
@@ -31,7 +31,7 @@ const AppHeaderCatalogSectionVariantMobile = /*#__PURE__*/React.forwardRef(({
|
|
|
31
31
|
md: 48
|
|
32
32
|
},
|
|
33
33
|
children: activeMenu === null ? /*#__PURE__*/_jsx(_Fragment, {
|
|
34
|
-
children:
|
|
34
|
+
children: CATALOG_NAV_SECTIONS.map((section, index) => {
|
|
35
35
|
const {
|
|
36
36
|
item: {
|
|
37
37
|
icon: Icon,
|
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": "2.11.0-alpha.
|
|
4
|
+
"version": "2.11.0-alpha.9ca190917a.0",
|
|
5
5
|
"author": "Codecademy Engineering <dev@codecademy.com>",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@emotion/is-prop-valid": "^1.2.1",
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import _styled from "@emotion/styled/base";
|
|
2
|
-
import { Box, FlexBox } from '@codecademy/gamut';
|
|
3
|
-
import { ArrowChevronRightIcon } from '@codecademy/gamut-icons';
|
|
4
|
-
import React from 'react';
|
|
5
|
-
import { useGlobalHeaderItemClick } from '../../../GlobalHeader/context';
|
|
6
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
|
-
const NavPanelContainer = /*#__PURE__*/_styled(Box, {
|
|
8
|
-
target: "e1j23yaz1",
|
|
9
|
-
label: "NavPanelContainer"
|
|
10
|
-
})("display:", ({
|
|
11
|
-
isActive
|
|
12
|
-
}) => isActive ? 'block' : 'none', ";grid-column:2/span 12;grid-row:1/span 8;background-color:", ({
|
|
13
|
-
theme
|
|
14
|
-
}) => theme.colors.background, ";border-radius:", ({
|
|
15
|
-
isActive,
|
|
16
|
-
isFirst
|
|
17
|
-
}) => isActive && isFirst ? '0 8px 8px 8px' : '8px', ";padding:24px 32px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ1NlY3Rpb25WYXJpYW50L05hdlNlY3Rpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1COEUiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL0FwcEhlYWRlci9BcHBIZWFkZXJFbGVtZW50cy9BcHBIZWFkZXJDYXRhbG9nU2VjdGlvblZhcmlhbnQvTmF2U2VjdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb3gsIEZsZXhCb3ggfSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBBcnJvd0NoZXZyb25SaWdodEljb24sIEdhbXV0SWNvblByb3BzIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IFJlYWN0LCB7IFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2sgfSBmcm9tICcuLi8uLi8uLi9HbG9iYWxIZWFkZXIvY29udGV4dCc7XG5pbXBvcnQgeyBBcHBIZWFkZXJDYXRhbG9nRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vLi4vc2hhcmVkJztcblxudHlwZSBOYXZTZWN0aW9uUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbiAmIHtcbiAgYWN0aXZlVGFiOiBudW1iZXI7XG4gIGl0ZW06IEFwcEhlYWRlckNhdGFsb2dEcm9wZG93bkl0ZW07XG4gIHNldEFjdGl2ZVRhYjogKHRhYjogbnVtYmVyKSA9PiB2b2lkO1xuICBpY29uPzogUmVhY3QuQ29tcG9uZW50VHlwZTxHYW11dEljb25Qcm9wcz47XG4gIHRleHQ6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgdGFiSW5kZXg/OiBudW1iZXI7XG59O1xuXG5jb25zdCBOYXZQYW5lbENvbnRhaW5lciA9IHN0eWxlZChCb3gpPHsgaXNBY3RpdmU6IGJvb2xlYW47IGlzRmlyc3Q6IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKGlzQWN0aXZlID8gJ2Jsb2NrJyA6ICdub25lJyl9O1xuICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTI7XG4gIGdyaWQtcm93OiAxIC8gc3BhbiA4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyBpc0FjdGl2ZSwgaXNGaXJzdCB9KSA9PlxuICAgIGlzQWN0aXZlICYmIGlzRmlyc3QgPyAnMCA4cHggOHB4IDhweCcgOiAnOHB4J307XG4gIHBhZGRpbmc6IDI0cHggMzJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZEJ1dHRvbiA9IHN0eWxlZC5idXR0b248eyBpc0FjdGl2ZTogYm9vbGVhbjsgaW5kZXg6IG51bWJlciB9PmBcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAkeyh7IGluZGV4IH0pID0+IGluZGV4ICsgMX07XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyBpc0FjdGl2ZSB9KSA9PiAoaXNBY3RpdmUgPyAnOHB4IDAgMCA4cHgnIDogJzhweCcpfTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy50ZXh0fTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGlzQWN0aXZlLCB0aGVtZSB9KSA9PlxuICAgIGlzQWN0aXZlID8gdGhlbWUuY29sb3JzLmJhY2tncm91bmQgOiB0aGVtZS5jb2xvcnNbJ2dyYXktMTAwJ119O1xuXG4gICNhcnJvdy1jaGV2cm9uLXJpZ2h0LWljb24ge1xuICAgIGRpc3BsYXk6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKGlzQWN0aXZlID8gJ2Jsb2NrJyA6ICdub25lJyl9O1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ25hdnktMTAwJ119O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5fTtcbiAgICAjYXJyb3ctY2hldnJvbi1yaWdodC1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgTmF2U2VjdGlvbiA9ICh7XG4gIGFjdGl2ZVRhYixcbiAgc2V0QWN0aXZlVGFiLFxuICBpY29uOiBJY29uLFxuICB0ZXh0LFxuICBpbmRleCxcbiAgY2hpbGRyZW4sXG4gIGl0ZW0sXG4gIHRhYkluZGV4LFxufTogTmF2U2VjdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U3R5bGVkQnV0dG9uXG4gICAgICAgIGlzQWN0aXZlPXthY3RpdmVUYWIgPT09IGluZGV4fVxuICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgIGdsb2JhbEhlYWRlckl0ZW1DbGljayhldmVudCwgaXRlbSk7XG4gICAgICAgICAgc2V0QWN0aXZlVGFiKGluZGV4KTtcbiAgICAgICAgfX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9e2BuYXYtc2VjdGlvbi0ke2l0ZW0uaWR9YH1cbiAgICAgICAgYXJpYS1leHBhbmRlZD17YWN0aXZlVGFiID09PSBpbmRleH1cbiAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgPlxuICAgICAgICA8RmxleEJveCBnYXA9ezh9IGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICB7SWNvbiAmJiA8SWNvbiAvPn1cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICA8QXJyb3dDaGV2cm9uUmlnaHRJY29uIGlkPVwiYXJyb3ctY2hldnJvbi1yaWdodC1pY29uXCIgLz5cbiAgICAgIDwvU3R5bGVkQnV0dG9uPlxuXG4gICAgICA8TmF2UGFuZWxDb250YWluZXIgaXNBY3RpdmU9e2FjdGl2ZVRhYiA9PT0gaW5kZXh9IGlzRmlyc3Q9e2luZGV4ID09PSAwfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9OYXZQYW5lbENvbnRhaW5lcj5cbiAgICA8Lz5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBOYXZTZWN0aW9uO1xuIl19 */"));
|
|
18
|
-
const StyledButton = /*#__PURE__*/_styled("button", {
|
|
19
|
-
target: "e1j23yaz0",
|
|
20
|
-
label: "StyledButton"
|
|
21
|
-
})("grid-column:1;grid-row:", ({
|
|
22
|
-
index
|
|
23
|
-
}) => index + 1, ";padding:16px;border:none;border-radius:", ({
|
|
24
|
-
isActive
|
|
25
|
-
}) => isActive ? '8px 0 0 8px' : '8px', ";background:none;cursor:pointer;font-size:18px;font-weight:400;color:", ({
|
|
26
|
-
theme
|
|
27
|
-
}) => theme.colors.text, ";text-align:left;width:100%;height:60px;display:flex;justify-content:space-between;align-items:center;background-color:", ({
|
|
28
|
-
isActive,
|
|
29
|
-
theme
|
|
30
|
-
}) => isActive ? theme.colors.background : theme.colors['gray-100'], ";#arrow-chevron-right-icon{display:", ({
|
|
31
|
-
isActive
|
|
32
|
-
}) => isActive ? 'block' : 'none', ";}&:hover,&:focus{background-color:", ({
|
|
33
|
-
theme
|
|
34
|
-
}) => theme.colors['navy-100'], ";color:", ({
|
|
35
|
-
theme
|
|
36
|
-
}) => theme.colors.primary, ";#arrow-chevron-right-icon{display:block;}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ1NlY3Rpb25WYXJpYW50L05hdlNlY3Rpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZCd0UiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL0FwcEhlYWRlci9BcHBIZWFkZXJFbGVtZW50cy9BcHBIZWFkZXJDYXRhbG9nU2VjdGlvblZhcmlhbnQvTmF2U2VjdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb3gsIEZsZXhCb3ggfSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBBcnJvd0NoZXZyb25SaWdodEljb24sIEdhbXV0SWNvblByb3BzIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IFJlYWN0LCB7IFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2sgfSBmcm9tICcuLi8uLi8uLi9HbG9iYWxIZWFkZXIvY29udGV4dCc7XG5pbXBvcnQgeyBBcHBIZWFkZXJDYXRhbG9nRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vLi4vc2hhcmVkJztcblxudHlwZSBOYXZTZWN0aW9uUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbiAmIHtcbiAgYWN0aXZlVGFiOiBudW1iZXI7XG4gIGl0ZW06IEFwcEhlYWRlckNhdGFsb2dEcm9wZG93bkl0ZW07XG4gIHNldEFjdGl2ZVRhYjogKHRhYjogbnVtYmVyKSA9PiB2b2lkO1xuICBpY29uPzogUmVhY3QuQ29tcG9uZW50VHlwZTxHYW11dEljb25Qcm9wcz47XG4gIHRleHQ6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgdGFiSW5kZXg/OiBudW1iZXI7XG59O1xuXG5jb25zdCBOYXZQYW5lbENvbnRhaW5lciA9IHN0eWxlZChCb3gpPHsgaXNBY3RpdmU6IGJvb2xlYW47IGlzRmlyc3Q6IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKGlzQWN0aXZlID8gJ2Jsb2NrJyA6ICdub25lJyl9O1xuICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTI7XG4gIGdyaWQtcm93OiAxIC8gc3BhbiA4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5iYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyBpc0FjdGl2ZSwgaXNGaXJzdCB9KSA9PlxuICAgIGlzQWN0aXZlICYmIGlzRmlyc3QgPyAnMCA4cHggOHB4IDhweCcgOiAnOHB4J307XG4gIHBhZGRpbmc6IDI0cHggMzJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZEJ1dHRvbiA9IHN0eWxlZC5idXR0b248eyBpc0FjdGl2ZTogYm9vbGVhbjsgaW5kZXg6IG51bWJlciB9PmBcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAkeyh7IGluZGV4IH0pID0+IGluZGV4ICsgMX07XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyBpc0FjdGl2ZSB9KSA9PiAoaXNBY3RpdmUgPyAnOHB4IDAgMCA4cHgnIDogJzhweCcpfTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy50ZXh0fTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGlzQWN0aXZlLCB0aGVtZSB9KSA9PlxuICAgIGlzQWN0aXZlID8gdGhlbWUuY29sb3JzLmJhY2tncm91bmQgOiB0aGVtZS5jb2xvcnNbJ2dyYXktMTAwJ119O1xuXG4gICNhcnJvdy1jaGV2cm9uLXJpZ2h0LWljb24ge1xuICAgIGRpc3BsYXk6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKGlzQWN0aXZlID8gJ2Jsb2NrJyA6ICdub25lJyl9O1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ25hdnktMTAwJ119O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5fTtcbiAgICAjYXJyb3ctY2hldnJvbi1yaWdodC1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgTmF2U2VjdGlvbiA9ICh7XG4gIGFjdGl2ZVRhYixcbiAgc2V0QWN0aXZlVGFiLFxuICBpY29uOiBJY29uLFxuICB0ZXh0LFxuICBpbmRleCxcbiAgY2hpbGRyZW4sXG4gIGl0ZW0sXG4gIHRhYkluZGV4LFxufTogTmF2U2VjdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U3R5bGVkQnV0dG9uXG4gICAgICAgIGlzQWN0aXZlPXthY3RpdmVUYWIgPT09IGluZGV4fVxuICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgIGdsb2JhbEhlYWRlckl0ZW1DbGljayhldmVudCwgaXRlbSk7XG4gICAgICAgICAgc2V0QWN0aXZlVGFiKGluZGV4KTtcbiAgICAgICAgfX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9e2BuYXYtc2VjdGlvbi0ke2l0ZW0uaWR9YH1cbiAgICAgICAgYXJpYS1leHBhbmRlZD17YWN0aXZlVGFiID09PSBpbmRleH1cbiAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgPlxuICAgICAgICA8RmxleEJveCBnYXA9ezh9IGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICB7SWNvbiAmJiA8SWNvbiAvPn1cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICA8QXJyb3dDaGV2cm9uUmlnaHRJY29uIGlkPVwiYXJyb3ctY2hldnJvbi1yaWdodC1pY29uXCIgLz5cbiAgICAgIDwvU3R5bGVkQnV0dG9uPlxuXG4gICAgICA8TmF2UGFuZWxDb250YWluZXIgaXNBY3RpdmU9e2FjdGl2ZVRhYiA9PT0gaW5kZXh9IGlzRmlyc3Q9e2luZGV4ID09PSAwfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9OYXZQYW5lbENvbnRhaW5lcj5cbiAgICA8Lz5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBOYXZTZWN0aW9uO1xuIl19 */"));
|
|
37
|
-
const NavSection = ({
|
|
38
|
-
activeTab,
|
|
39
|
-
setActiveTab,
|
|
40
|
-
icon: Icon,
|
|
41
|
-
text,
|
|
42
|
-
index,
|
|
43
|
-
children,
|
|
44
|
-
item,
|
|
45
|
-
tabIndex
|
|
46
|
-
}) => {
|
|
47
|
-
const {
|
|
48
|
-
globalHeaderItemClick
|
|
49
|
-
} = useGlobalHeaderItemClick();
|
|
50
|
-
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
51
|
-
children: [/*#__PURE__*/_jsxs(StyledButton, {
|
|
52
|
-
isActive: activeTab === index,
|
|
53
|
-
index: index,
|
|
54
|
-
onClick: event => {
|
|
55
|
-
globalHeaderItemClick(event, item);
|
|
56
|
-
setActiveTab(index);
|
|
57
|
-
},
|
|
58
|
-
"data-testid": `nav-section-${item.id}`,
|
|
59
|
-
"aria-expanded": activeTab === index,
|
|
60
|
-
tabIndex: tabIndex,
|
|
61
|
-
children: [/*#__PURE__*/_jsxs(FlexBox, {
|
|
62
|
-
gap: 8,
|
|
63
|
-
alignItems: "center",
|
|
64
|
-
children: [Icon && /*#__PURE__*/_jsx(Icon, {}), text]
|
|
65
|
-
}), /*#__PURE__*/_jsx(ArrowChevronRightIcon, {
|
|
66
|
-
id: "arrow-chevron-right-icon"
|
|
67
|
-
})]
|
|
68
|
-
}), /*#__PURE__*/_jsx(NavPanelContainer, {
|
|
69
|
-
isActive: activeTab === index,
|
|
70
|
-
isFirst: index === 0,
|
|
71
|
-
children: children
|
|
72
|
-
})]
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
export default NavSection;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React, { RefObject } from 'react';
|
|
2
|
-
import { AppHeaderCatalogDropdownItem } from '../../shared';
|
|
3
|
-
export type AppHeaderCatalogSectionVariantProps = {
|
|
4
|
-
item: AppHeaderCatalogDropdownItem;
|
|
5
|
-
ref?: RefObject<HTMLUListElement>;
|
|
6
|
-
role?: string;
|
|
7
|
-
id?: string;
|
|
8
|
-
keyDownEvents?: (event: React.KeyboardEvent) => void;
|
|
9
|
-
isOpen?: boolean;
|
|
10
|
-
};
|
|
11
|
-
export declare const AppHeaderCatalogSectionVariant: React.ForwardRefExoticComponent<Omit<AppHeaderCatalogSectionVariantProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|