@codecademy/brand 3.26.0-alpha.fa0b72ae29.0 → 3.27.0-alpha.745751754b.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.js +6 -28
  2. package/dist/AppHeader/AppHeaderElements/AppHeaderDropdown/index.d.ts +0 -1
  3. package/dist/AppHeader/AppHeaderElements/AppHeaderDropdown/index.js +10 -67
  4. package/dist/AppHeader/AppHeaderElements/{AppHeaderDropdownLinks/elements/StyledAppHeaderLink.d.ts → AppHeaderLinkSections/elements.d.ts} +6 -6
  5. package/dist/AppHeader/AppHeaderElements/AppHeaderLinkSections/elements.js +36 -0
  6. package/dist/AppHeader/AppHeaderElements/AppHeaderLinkSections/index.d.ts +1 -8
  7. package/dist/AppHeader/AppHeaderElements/AppHeaderLinkSections/index.js +32 -25
  8. package/dist/AppHeader/AppHeaderElements/AppHeaderNavButton/index.d.ts +5 -2
  9. package/dist/AppHeader/AppHeaderElements/AppHeaderNavButton/index.js +91 -24
  10. package/dist/AppHeader/AppHeaderElements/AppHeaderResourcesDropdown/index.js +5 -27
  11. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavSection.d.ts +2 -2
  12. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavSection.js +38 -20
  13. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/elements.js +8 -8
  14. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/index.js +5 -13
  15. package/dist/AppHeader/Search/SearchPane.js +49 -24
  16. package/dist/AppHeader/index.js +4 -1
  17. package/dist/AppHeader/shared/elements.d.ts +9 -3
  18. package/dist/AppHeader/shared/elements.js +126 -26
  19. package/dist/AppHeader/shared/types.d.ts +1 -1
  20. package/dist/AppHeader/shared/utils.d.ts +1 -2
  21. package/dist/AppHeader/shared/utils.js +0 -2
  22. package/dist/AppHeaderMobile/index.js +96 -100
  23. package/dist/PlanCard/PricingAmount.js +6 -6
  24. package/dist/PlanCard/types.d.ts +1 -0
  25. package/dist/PlanCard/types.js +13 -1
  26. package/package.json +6 -1
  27. package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownLinks/elements/AppHeaderDropdownLink.d.ts +0 -3
  28. package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownLinks/elements/AppHeaderDropdownLink.js +0 -25
  29. package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownLinks/elements/AppHeaderMenuItem.d.ts +0 -3
  30. package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownLinks/elements/AppHeaderMenuItem.js +0 -26
  31. package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownLinks/elements/StyledAppHeaderLink.js +0 -36
  32. package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownLinks/elements/types.d.ts +0 -4
  33. package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownLinks/elements/types.js +0 -1
  34. package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownLinks/index.d.ts +0 -2
  35. package/dist/AppHeader/AppHeaderElements/AppHeaderDropdownLinks/index.js +0 -2
  36. package/dist/AppHeader/AppHeaderElements/AppHeaderNavButton/AppHeaderDropdownNavButton.d.ts +0 -18
  37. package/dist/AppHeader/AppHeaderElements/AppHeaderNavButton/AppHeaderDropdownNavButton.js +0 -50
  38. package/dist/AppHeader/AppHeaderElements/AppHeaderNavButton/AppHeaderMenuNavButton.d.ts +0 -9
  39. package/dist/AppHeader/AppHeaderElements/AppHeaderNavButton/AppHeaderMenuNavButton.js +0 -38
  40. package/dist/AppHeader/Search/hooks/useSearchTracking.d.ts +0 -5
  41. package/dist/AppHeader/Search/hooks/useSearchTracking.js +0 -46
  42. package/dist/AppHeader/utils/string-similarity.d.ts +0 -17
  43. package/dist/AppHeader/utils/string-similarity.js +0 -30
@@ -1,53 +1,60 @@
1
1
  import { MenuSeparator } from '@codecademy/gamut';
2
2
  import * as React from 'react';
3
- import { useMemo } from 'react';
4
- import { AppHeaderDropdownLink, AppHeaderMenuItem } from '../AppHeaderDropdownLinks';
3
+ import { useEffect, useRef } from 'react';
4
+ import { useAppHeaderMenuContext } from '../AppHeaderMenuProvider';
5
+ import { StyledAppHeaderLink } from './elements';
5
6
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
6
7
  const LinkComponent = ({
7
8
  action,
8
- isFirstElem,
9
- isMenuItem,
10
9
  link,
11
- onKeyDown,
12
- showLineBreak = false,
13
- tabIndex,
14
- mobile
10
+ mobile,
11
+ isOpen,
12
+ role,
13
+ showLineBreak = false
15
14
  }) => {
16
- const DropdownLink = useMemo(() => isMenuItem ? AppHeaderMenuItem : AppHeaderDropdownLink, [isMenuItem]);
15
+ const {
16
+ menuItems,
17
+ setMenuItems
18
+ } = useAppHeaderMenuContext();
19
+ const ref = useRef(null);
20
+ useEffect(() => {
21
+ if (setMenuItems && ref?.current) {
22
+ setMenuItems(menuItems.add(ref.current));
23
+ }
24
+ return () => menuItems.clear();
25
+ // eslint-disable-next-line react-hooks/exhaustive-deps
26
+ }, []);
17
27
  return /*#__PURE__*/_jsxs(_Fragment, {
18
- children: [showLineBreak && /*#__PURE__*/_jsx(MenuSeparator, {}), /*#__PURE__*/_jsx(DropdownLink, {
28
+ children: [showLineBreak && /*#__PURE__*/_jsx(MenuSeparator, {}), /*#__PURE__*/_jsx(StyledAppHeaderLink, {
29
+ ref: ref,
19
30
  action: action,
20
- isFirstElem: !isMenuItem ? isFirstElem : undefined,
21
31
  item: link,
22
32
  mobile: mobile,
23
- onKeyDown: onKeyDown,
24
- role: isMenuItem ? 'menuitem' : undefined,
25
- tabIndex: tabIndex
33
+ role: role,
34
+ tabIndex: isOpen || mobile ? 0 : -1,
35
+ isInDropdown: true
26
36
  })]
27
37
  });
28
38
  };
29
39
  export const AppHeaderLinkSections = ({
30
40
  action,
31
41
  item,
32
- onKeyDown,
33
- tabIndex,
42
+ isOpen,
34
43
  mobile
35
44
  }) => {
36
45
  return /*#__PURE__*/_jsx(_Fragment, {
37
46
  children: item.type === 'profile-dropdown' ? item.popover.map((linkSection, sectionIndex) => linkSection.map((link, linkIndex) => /*#__PURE__*/_jsx(LinkComponent, {
38
47
  action: action,
39
48
  link: link,
40
- showLineBreak: sectionIndex !== 0 && linkIndex === 0,
41
- tabIndex: tabIndex,
42
- isMenuItem: true,
43
- mobile: mobile
44
- }, link.id))) : item.popover.map((link, linkIndex) => /*#__PURE__*/_jsx(LinkComponent, {
45
- onKeyDown: onKeyDown,
49
+ mobile: mobile,
50
+ isOpen: isOpen,
51
+ role: "menuitem",
52
+ showLineBreak: sectionIndex !== 0 && linkIndex === 0
53
+ }, link.id))) : item.popover.map(link => /*#__PURE__*/_jsx(LinkComponent, {
46
54
  action: action,
47
55
  link: link,
48
- tabIndex: tabIndex,
49
- isFirstElem: linkIndex === 0,
50
- mobile: mobile
56
+ mobile: mobile,
57
+ isOpen: isOpen
51
58
  }, link.id))
52
59
  });
53
60
  };
@@ -3,7 +3,10 @@ interface AppHeaderNavButtonProps {
3
3
  buttonRef: React.RefObject<HTMLButtonElement>;
4
4
  handleOnClick: (event: React.MouseEvent) => void;
5
5
  isOpen: boolean;
6
- item: AppHeaderDropdownItem;
6
+ item?: AppHeaderDropdownItem;
7
+ text?: string;
8
+ onFocus?: () => void;
7
9
  }
8
- export declare const AppHeaderNavButton: React.FC<AppHeaderNavButtonProps>;
10
+ export declare const AppHeaderMenuNavButton: React.FC<AppHeaderNavButtonProps>;
11
+ export declare const AppHeaderDropdownNavButton: React.FC<AppHeaderNavButtonProps>;
9
12
  export {};
@@ -1,36 +1,103 @@
1
- import { AppHeaderDropdownNavButton } from './AppHeaderDropdownNavButton';
2
- import { AppHeaderMenuNavButton } from './AppHeaderMenuNavButton';
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
- export const AppHeaderNavButton = ({
1
+ import { IconButton, TextButton } from '@codecademy/gamut';
2
+ import { useEffect } from 'react';
3
+ import { Avatar } from '../../../Avatar';
4
+ import { DropdownAnchor, DropdownIcon, StyledText } from '../../shared';
5
+ import { useAppHeaderDropdownContext } from '../AppHeaderDropdownProvider';
6
+ import { useAppHeaderMenuContext } from '../AppHeaderMenuProvider';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const AppHeaderNavButton = ({
5
9
  buttonRef,
6
10
  handleOnClick,
7
11
  isOpen,
8
- item
12
+ item,
13
+ text,
14
+ onFocus
9
15
  }) => {
10
- const isProfileDropdown = item.type === 'profile-dropdown';
11
- if (isProfileDropdown) {
12
- return /*#__PURE__*/_jsx(AppHeaderMenuNavButton, {
13
- buttonRef: buttonRef,
14
- handleOnClick: handleOnClick,
15
- isOpen: isOpen,
16
- item: item
16
+ const sharedProps = {
17
+ 'aria-expanded': isOpen,
18
+ 'aria-haspopup': true,
19
+ onClick: handleOnClick,
20
+ ref: buttonRef
21
+ };
22
+ if (item?.type === 'profile-dropdown') {
23
+ return /*#__PURE__*/_jsx(TextButton, {
24
+ "data-testid": "avatar-dropdown-button"
25
+ // this resets our programatic menu index to 0 in case someone clicks out of the dropdown
26
+ ,
27
+ variant: "interface",
28
+ onFocus: onFocus,
29
+ ...sharedProps,
30
+ children: /*#__PURE__*/_jsx(Avatar, {
31
+ alt: "User profile avatar",
32
+ disableDropshadow: true,
33
+ size: 40,
34
+ src: item.avatar
35
+ })
17
36
  });
18
37
  }
19
- if ('isIconOnly' in item && item?.icon) {
20
- return /*#__PURE__*/_jsx(AppHeaderDropdownNavButton, {
21
- buttonRef: buttonRef,
22
- handleOnClick: handleOnClick,
23
- isOpen: isOpen,
24
- title: item.text,
38
+ if (item?.icon && 'isIconOnly' in item) {
39
+ return /*#__PURE__*/_jsx(IconButton, {
25
40
  icon: item.icon,
26
- isIconOnly: item.isIconOnly
41
+ tip: item.text ?? 'Dropdown',
42
+ tipProps: {
43
+ alignment: 'bottom-center',
44
+ placement: 'floating'
45
+ },
46
+ onFocus: onFocus,
47
+ ...sharedProps
27
48
  });
28
49
  }
29
- return /*#__PURE__*/_jsx(AppHeaderDropdownNavButton, {
30
- buttonRef: buttonRef,
31
- handleOnClick: handleOnClick,
50
+ return /*#__PURE__*/_jsxs(DropdownAnchor, {
51
+ title: item?.text ?? text,
52
+ variant: "interface",
53
+ onFocus: onFocus,
54
+ ...sharedProps,
55
+ children: [/*#__PURE__*/_jsx(StyledText, {
56
+ fontWeight: isOpen ? 'bold' : 'normal',
57
+ textAlign: "center",
58
+ title: item?.text ?? text,
59
+ children: item?.text ?? text
60
+ }), /*#__PURE__*/_jsx(DropdownIcon, {
61
+ open: isOpen,
62
+ size: 12
63
+ })]
64
+ });
65
+ };
66
+ export const AppHeaderMenuNavButton = ({
67
+ isOpen,
68
+ ...props
69
+ }) => {
70
+ const {
71
+ menuItems,
72
+ resetIndex
73
+ } = useAppHeaderMenuContext();
74
+ useEffect(() => {
75
+ if (isOpen) {
76
+ const menuItemsArray = menuItems.values();
77
+ const firstMenuItem = menuItemsArray.next().value;
78
+ firstMenuItem?.focus();
79
+ }
80
+ }, [isOpen, menuItems]);
81
+ return /*#__PURE__*/_jsx(AppHeaderNavButton, {
82
+ isOpen: isOpen,
83
+ onFocus: resetIndex,
84
+ ...props
85
+ });
86
+ };
87
+ export const AppHeaderDropdownNavButton = ({
88
+ isOpen,
89
+ ...props
90
+ }) => {
91
+ const {
92
+ firstItemRef
93
+ } = useAppHeaderDropdownContext();
94
+ useEffect(() => {
95
+ if (isOpen) {
96
+ firstItemRef?.focus();
97
+ }
98
+ }, [isOpen, firstItemRef]);
99
+ return /*#__PURE__*/_jsx(AppHeaderNavButton, {
32
100
  isOpen: isOpen,
33
- title: item.text,
34
- icon: item?.icon
101
+ ...props
35
102
  });
36
103
  };
@@ -5,7 +5,7 @@ import * as React from 'react';
5
5
  import { DropdownPositions, useHeaderDisplayContext } from '../../../GlobalHeader/context';
6
6
  import { AnimatedMegaMenuDropdown } from '../../shared';
7
7
  import { AppHeaderDropdownProvider } from '../AppHeaderDropdownProvider';
8
- import { AppHeaderDropdownNavButton } from '../AppHeaderNavButton/AppHeaderDropdownNavButton';
8
+ import { AppHeaderDropdownNavButton } from '../AppHeaderNavButton';
9
9
  import { useAppHeaderContext } from '../AppHeaderProvider';
10
10
  import { AppHeaderSection } from '../AppHeaderSection';
11
11
  import { RESOURCES_NAV_SECTIONS } from './consts';
@@ -15,7 +15,7 @@ const StyledAnimatedMegaMenuDropdown = /*#__PURE__*/_styled(AnimatedMegaMenuDrop
15
15
  shouldForwardProp: prop => prop !== 'narrowResourceDropdownPosition' && prop !== 'wideResourceDropdownPosition',
16
16
  target: "ekdg1bw0",
17
17
  label: "StyledAnimatedMegaMenuDropdown"
18
- })("left:", ({
18
+ })("top:3.5rem;left:", ({
19
19
  narrowResourceDropdownPosition
20
20
  }) => {
21
21
  return narrowResourceDropdownPosition;
@@ -23,7 +23,7 @@ const StyledAnimatedMegaMenuDropdown = /*#__PURE__*/_styled(AnimatedMegaMenuDrop
23
23
  wideResourceDropdownPosition
24
24
  }) => {
25
25
  return wideResourceDropdownPosition;
26
- }, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyUmVzb3VyY2VzRHJvcGRvd24vaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDRSIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlclJlc291cmNlc0Ryb3Bkb3duL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yTW9kZSB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge1xuICBEcm9wZG93blBvc2l0aW9ucyxcbiAgdXNlSGVhZGVyRGlzcGxheUNvbnRleHQsXG59IGZyb20gJy4uLy4uLy4uL0dsb2JhbEhlYWRlci9jb250ZXh0JztcbmltcG9ydCB7XG4gIEFuaW1hdGVkTWVnYU1lbnVEcm9wZG93bixcbiAgQXBwSGVhZGVyQWN0aW9uLFxuICBBcHBIZWFkZXJSZXNvdXJjZXNEcm9wZG93bkl0ZW0sXG59IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBBcHBIZWFkZXJEcm9wZG93blByb3ZpZGVyIH0gZnJvbSAnLi4vQXBwSGVhZGVyRHJvcGRvd25Qcm92aWRlcic7XG5pbXBvcnQgeyBBcHBIZWFkZXJEcm9wZG93bk5hdkJ1dHRvbiB9IGZyb20gJy4uL0FwcEhlYWRlck5hdkJ1dHRvbi9BcHBIZWFkZXJEcm9wZG93bk5hdkJ1dHRvbic7XG5pbXBvcnQgeyB1c2VBcHBIZWFkZXJDb250ZXh0IH0gZnJvbSAnLi4vQXBwSGVhZGVyUHJvdmlkZXInO1xuaW1wb3J0IHsgQXBwSGVhZGVyU2VjdGlvbiB9IGZyb20gJy4uL0FwcEhlYWRlclNlY3Rpb24nO1xuaW1wb3J0IHsgUkVTT1VSQ0VTX05BVl9TRUNUSU9OUyB9IGZyb20gJy4vY29uc3RzJztcblxuZXhwb3J0IHR5cGUgQXBwSGVhZGVyUmVzb3VyY2VEcm9wZG93blByb3BzID0gQXBwSGVhZGVyQWN0aW9uICYge1xuICBpdGVtOiBBcHBIZWFkZXJSZXNvdXJjZXNEcm9wZG93bkl0ZW07XG59O1xuXG5jb25zdCBTdHlsZWRBbmltYXRlZE1lZ2FNZW51RHJvcGRvd24gPSBzdHlsZWQoQW5pbWF0ZWRNZWdhTWVudURyb3Bkb3duLCB7XG4gIC8vIHByZXZlbnQgdGhlIHByb3BzIGZyb20gYmVpbmcgcGFzc2VkIHRvIHRoZSBET00gZWxlbWVudCwgd2hpY2ggd291bGQgY2F1c2UgYSBSZWFjdCB3YXJuaW5nLlxuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+XG4gICAgcHJvcCAhPT0gJ25hcnJvd1Jlc291cmNlRHJvcGRvd25Qb3NpdGlvbicgJiZcbiAgICBwcm9wICE9PSAnd2lkZVJlc291cmNlRHJvcGRvd25Qb3NpdGlvbicsXG59KTx7XG4gIG5hcnJvd1Jlc291cmNlRHJvcGRvd25Qb3NpdGlvbjogc3RyaW5nO1xuICB3aWRlUmVzb3VyY2VEcm9wZG93blBvc2l0aW9uOiBzdHJpbmc7XG59PmBcbiAgbGVmdDogJHsoeyBuYXJyb3dSZXNvdXJjZURyb3Bkb3duUG9zaXRpb24gfSkgPT4ge1xuICAgIHJldHVybiBuYXJyb3dSZXNvdXJjZURyb3Bkb3duUG9zaXRpb247XG4gIH19O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjYxcHgpIHtcbiAgICBsZWZ0OiAkeyh7IHdpZGVSZXNvdXJjZURyb3Bkb3duUG9zaXRpb24gfSkgPT4ge1xuICAgICAgcmV0dXJuIHdpZGVSZXNvdXJjZURyb3Bkb3duUG9zaXRpb247XG4gICAgfX07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBBcHBIZWFkZXJSZXNvdXJjZXNEcm9wZG93bjogUmVhY3QuRkM8XG4gIEFwcEhlYWRlclJlc291cmNlRHJvcGRvd25Qcm9wc1xuPiA9ICh7IGFjdGlvbiwgaXRlbSB9KSA9PiB7XG4gIGNvbnN0IHsgdGV4dCB9ID0gaXRlbTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGJ1dHRvblJlZiA9IHVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGRyb3Bkb3duUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHsgbGFzdE9wZW5lZERyb3Bkb3duLCBzZXRMYXN0T3BlbmVkRHJvcGRvd24gfSA9IHVzZUFwcEhlYWRlckNvbnRleHQoKTtcbiAgY29uc3QgeyBoZWFkZXJUeXBlIH0gPSB1c2VIZWFkZXJEaXNwbGF5Q29udGV4dCgpO1xuICBjb25zdCB7IHJlc291cmNlRHJvcGRvd24gfSA9IERyb3Bkb3duUG9zaXRpb25zW2hlYWRlclR5cGVdO1xuICBjb25zdCBuYXJyb3dSZXNvdXJjZURyb3Bkb3duUG9zaXRpb24gPSByZXNvdXJjZURyb3Bkb3duLm5hcnJvdztcbiAgY29uc3Qgd2lkZVJlc291cmNlRHJvcGRvd25Qb3NpdGlvbiA9IHJlc291cmNlRHJvcGRvd24ud2lkZTtcblxuICAvLyBBZGQgc2Nyb2xsYmFyIGZvciBzaG9ydCBzY3JlZW5zIGFmdGVyIHRyYW5zaXRpb24gKG90aGVyd2lzZSBzY3JvbGxiYXIgYXBwZWFycyBhbmQgZGlzc2FwZWFycyBmb3IgYWRlcXVhdGUgaGVpZ2h0cyBkdXJpbmcgdHJhbnNpdGlvbilcbiAgY29uc3QgW2FuaW1hdGlvbkNvbXBsZXRlU3R5bGVzLCBzZXRBbmltYXRpb25Db21wbGV0ZVN0eWxlc10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgYW5pbWF0aW9uRmluaXNoZWQgPSAoKSA9PiB7XG4gICAgc2V0QW5pbWF0aW9uQ29tcGxldGVTdHlsZXMoaXNPcGVuKTtcbiAgICBpZiAoaXNPcGVuICYmIGRyb3Bkb3duUmVmLmN1cnJlbnQpIHtcbiAgICAgIGRyb3Bkb3duUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID0gMDtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdG9nZ2xlSXNPcGVuID0gKCkgPT4gc2V0SXNPcGVuKChwcmV2KSA9PiAhcHJldik7XG5cbiAgY29uc3QgaGFuZGxlT25DbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudCkgPT4ge1xuICAgIHRvZ2dsZUlzT3BlbigpO1xuICAgIGlmICghaXNPcGVuKSB7XG4gICAgICBhY3Rpb24oZXZlbnQsIGl0ZW0pO1xuICAgICAgaWYgKHNldExhc3RPcGVuZWREcm9wZG93bikge1xuICAgICAgICBzZXRMYXN0T3BlbmVkRHJvcGRvd24odGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgYnV0dG9uUmVmPy5jdXJyZW50Py5mb2N1cygpO1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobGFzdE9wZW5lZERyb3Bkb3duICE9PSB0ZXh0ICYmIGlzT3Blbikge1xuICAgICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbbGFzdE9wZW5lZERyb3Bkb3duXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGlja091dHNpZGUoZXZlbnQ6IE1vdXNlRXZlbnQgfCBFdmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyID0gY29udGFpbmVyUmVmPy5jdXJyZW50O1xuICAgICAgY29uc3QgYnV0dG9uID0gYnV0dG9uUmVmPy5jdXJyZW50O1xuICAgICAgaWYgKFxuICAgICAgICBpc09wZW4gJiZcbiAgICAgICAgY29udGFpbmVyICYmXG4gICAgICAgICFjb250YWluZXIuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgIGJ1dHRvbiAmJlxuICAgICAgICAhYnV0dG9uLmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKVxuICAgICAgKSB7XG4gICAgICAgIGhhbmRsZUNsb3NlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JsdXInLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgIH07XG4gIH0sIFtjb250YWluZXJSZWYsIGhhbmRsZUNsb3NlLCBpc09wZW5dKTtcblxuICByZXR1cm4gKFxuICAgIDxBcHBIZWFkZXJEcm9wZG93blByb3ZpZGVyIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZX0+XG4gICAgICA8QXBwSGVhZGVyRHJvcGRvd25OYXZCdXR0b25cbiAgICAgICAgYnV0dG9uUmVmPXtidXR0b25SZWZ9XG4gICAgICAgIGhhbmRsZU9uQ2xpY2s9e2hhbmRsZU9uQ2xpY2t9XG4gICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICB0aXRsZT17dGV4dH1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkQW5pbWF0ZWRNZWdhTWVudURyb3Bkb3duXG4gICAgICAgIG5hcnJvd1Jlc291cmNlRHJvcGRvd25Qb3NpdGlvbj17bmFycm93UmVzb3VyY2VEcm9wZG93blBvc2l0aW9ufVxuICAgICAgICB3aWRlUmVzb3VyY2VEcm9wZG93blBvc2l0aW9uPXt3aWRlUmVzb3VyY2VEcm9wZG93blBvc2l0aW9ufVxuICAgICAgICB0YWJJbmRleD17LTF9IC8vIHByZXZlbnQgZnJvbSBpbnRlcmZlcmluZyB3aXRoIEFwcEhlYWRlciBmb2N1cyBsb2dpY1xuICAgICAgICByZWY9e2Ryb3Bkb3duUmVmfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHRvcDogJzMuNXJlbScsXG4gICAgICAgICAgbWluV2lkdGg6ICc2NHJlbScsXG4gICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgbWF4SGVpZ2h0OiBhbmltYXRpb25Db21wbGV0ZVN0eWxlcyA/ICc4NXZoJyA6IDAsXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICB9fVxuICAgICAgICBpbml0aWFsPXt7IGJvcmRlcldpZHRoOiAwLCBoZWlnaHQ6IDAgfX1cbiAgICAgICAgYW5pbWF0ZT17e1xuICAgICAgICAgIGJvcmRlcldpZHRoOiAwLFxuICAgICAgICAgIGhlaWdodDogaXNPcGVuID8gJ2ZpdC1jb250ZW50JyA6IDAsXG4gICAgICAgIH19XG4gICAgICAgIHRyYW5zaXRpb249e3sgZHVyYXRpb246IDAuMTc1IH19XG4gICAgICAgIGFyaWEtaGlkZGVuPXshaXNPcGVufVxuICAgICAgICBkYXRhLXRlc3RpZD1cInJlc291cmNlcy1tZW51LWRyb3Bkb3duXCJcbiAgICAgICAgb25BbmltYXRpb25Db21wbGV0ZT17YW5pbWF0aW9uRmluaXNoZWR9XG4gICAgICA+XG4gICAgICAgIDxDb2xvck1vZGUgbW9kZT1cImxpZ2h0XCI+XG4gICAgICAgICAgPEFwcEhlYWRlclNlY3Rpb25cbiAgICAgICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgICAgICBuYXZTZWN0aW9ucz17UkVTT1VSQ0VTX05BVl9TRUNUSU9OU31cbiAgICAgICAgICAgIGhhbmRsZUNsb3NlPXsoKSA9PiBzZXRJc09wZW4oZmFsc2UpfVxuICAgICAgICAgICAgdHlwZT1cInJlc291cmNlcy1kcm9wZG93blwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db2xvck1vZGU+XG4gICAgICA8L1N0eWxlZEFuaW1hdGVkTWVnYU1lbnVEcm9wZG93bj5cbiAgICA8L0FwcEhlYWRlckRyb3Bkb3duUHJvdmlkZXI+XG4gICk7XG59O1xuIl19 */"));
26
+ }, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyUmVzb3VyY2VzRHJvcGRvd24vaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDRSIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlclJlc291cmNlc0Ryb3Bkb3duL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yTW9kZSB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge1xuICBEcm9wZG93blBvc2l0aW9ucyxcbiAgdXNlSGVhZGVyRGlzcGxheUNvbnRleHQsXG59IGZyb20gJy4uLy4uLy4uL0dsb2JhbEhlYWRlci9jb250ZXh0JztcbmltcG9ydCB7XG4gIEFuaW1hdGVkTWVnYU1lbnVEcm9wZG93bixcbiAgQXBwSGVhZGVyQWN0aW9uLFxuICBBcHBIZWFkZXJSZXNvdXJjZXNEcm9wZG93bkl0ZW0sXG59IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBBcHBIZWFkZXJEcm9wZG93blByb3ZpZGVyIH0gZnJvbSAnLi4vQXBwSGVhZGVyRHJvcGRvd25Qcm92aWRlcic7XG5pbXBvcnQgeyBBcHBIZWFkZXJEcm9wZG93bk5hdkJ1dHRvbiB9IGZyb20gJy4uL0FwcEhlYWRlck5hdkJ1dHRvbic7XG5pbXBvcnQgeyB1c2VBcHBIZWFkZXJDb250ZXh0IH0gZnJvbSAnLi4vQXBwSGVhZGVyUHJvdmlkZXInO1xuaW1wb3J0IHsgQXBwSGVhZGVyU2VjdGlvbiB9IGZyb20gJy4uL0FwcEhlYWRlclNlY3Rpb24nO1xuaW1wb3J0IHsgUkVTT1VSQ0VTX05BVl9TRUNUSU9OUyB9IGZyb20gJy4vY29uc3RzJztcblxuZXhwb3J0IHR5cGUgQXBwSGVhZGVyUmVzb3VyY2VEcm9wZG93blByb3BzID0gQXBwSGVhZGVyQWN0aW9uICYge1xuICBpdGVtOiBBcHBIZWFkZXJSZXNvdXJjZXNEcm9wZG93bkl0ZW07XG59O1xuXG5jb25zdCBTdHlsZWRBbmltYXRlZE1lZ2FNZW51RHJvcGRvd24gPSBzdHlsZWQoQW5pbWF0ZWRNZWdhTWVudURyb3Bkb3duLCB7XG4gIC8vIHByZXZlbnQgdGhlIHByb3BzIGZyb20gYmVpbmcgcGFzc2VkIHRvIHRoZSBET00gZWxlbWVudCwgd2hpY2ggd291bGQgY2F1c2UgYSBSZWFjdCB3YXJuaW5nLlxuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+XG4gICAgcHJvcCAhPT0gJ25hcnJvd1Jlc291cmNlRHJvcGRvd25Qb3NpdGlvbicgJiZcbiAgICBwcm9wICE9PSAnd2lkZVJlc291cmNlRHJvcGRvd25Qb3NpdGlvbicsXG59KTx7XG4gIG5hcnJvd1Jlc291cmNlRHJvcGRvd25Qb3NpdGlvbjogc3RyaW5nO1xuICB3aWRlUmVzb3VyY2VEcm9wZG93blBvc2l0aW9uOiBzdHJpbmc7XG59PmBcbiAgdG9wOiAzLjVyZW07XG4gIGxlZnQ6ICR7KHsgbmFycm93UmVzb3VyY2VEcm9wZG93blBvc2l0aW9uIH0pID0+IHtcbiAgICByZXR1cm4gbmFycm93UmVzb3VyY2VEcm9wZG93blBvc2l0aW9uO1xuICB9fTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI2MXB4KSB7XG4gICAgbGVmdDogJHsoeyB3aWRlUmVzb3VyY2VEcm9wZG93blBvc2l0aW9uIH0pID0+IHtcbiAgICAgIHJldHVybiB3aWRlUmVzb3VyY2VEcm9wZG93blBvc2l0aW9uO1xuICAgIH19O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQXBwSGVhZGVyUmVzb3VyY2VzRHJvcGRvd246IFJlYWN0LkZDPFxuICBBcHBIZWFkZXJSZXNvdXJjZURyb3Bkb3duUHJvcHNcbj4gPSAoeyBhY3Rpb24sIGl0ZW0gfSkgPT4ge1xuICBjb25zdCB7IHRleHQgfSA9IGl0ZW07XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBidXR0b25SZWYgPSB1c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB7IGxhc3RPcGVuZWREcm9wZG93biwgc2V0TGFzdE9wZW5lZERyb3Bkb3duIH0gPSB1c2VBcHBIZWFkZXJDb250ZXh0KCk7XG4gIGNvbnN0IHsgaGVhZGVyVHlwZSB9ID0gdXNlSGVhZGVyRGlzcGxheUNvbnRleHQoKTtcbiAgY29uc3QgeyByZXNvdXJjZURyb3Bkb3duIH0gPSBEcm9wZG93blBvc2l0aW9uc1toZWFkZXJUeXBlXTtcbiAgY29uc3QgbmFycm93UmVzb3VyY2VEcm9wZG93blBvc2l0aW9uID0gcmVzb3VyY2VEcm9wZG93bi5uYXJyb3c7XG4gIGNvbnN0IHdpZGVSZXNvdXJjZURyb3Bkb3duUG9zaXRpb24gPSByZXNvdXJjZURyb3Bkb3duLndpZGU7XG5cbiAgY29uc3QgYW5pbWF0aW9uRmluaXNoZWQgPSAoKSA9PiB7XG4gICAgaWYgKGlzT3BlbiAmJiBkcm9wZG93blJlZi5jdXJyZW50KSB7XG4gICAgICBkcm9wZG93blJlZi5jdXJyZW50LnNjcm9sbFRvcCA9IDA7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHRvZ2dsZUlzT3BlbiA9ICgpID0+IHNldElzT3BlbigocHJldikgPT4gIXByZXYpO1xuXG4gIGNvbnN0IGhhbmRsZU9uQ2xpY2sgPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IHtcbiAgICB0b2dnbGVJc09wZW4oKTtcbiAgICBpZiAoIWlzT3Blbikge1xuICAgICAgYWN0aW9uKGV2ZW50LCBpdGVtKTtcbiAgICAgIGlmIChzZXRMYXN0T3BlbmVkRHJvcGRvd24pIHtcbiAgICAgICAgc2V0TGFzdE9wZW5lZERyb3Bkb3duKHRleHQpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgIGJ1dHRvblJlZj8uY3VycmVudD8uZm9jdXMoKTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxhc3RPcGVuZWREcm9wZG93biAhPT0gdGV4dCAmJiBpc09wZW4pIHtcbiAgICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW2xhc3RPcGVuZWREcm9wZG93bl0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xpY2tPdXRzaWRlKGV2ZW50OiBNb3VzZUV2ZW50IHwgRXZlbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZj8uY3VycmVudDtcbiAgICAgIGNvbnN0IGJ1dHRvbiA9IGJ1dHRvblJlZj8uY3VycmVudDtcbiAgICAgIGlmIChcbiAgICAgICAgaXNPcGVuICYmXG4gICAgICAgIGNvbnRhaW5lciAmJlxuICAgICAgICAhY29udGFpbmVyLmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICBidXR0b24gJiZcbiAgICAgICAgIWJ1dHRvbi5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSlcbiAgICAgICkge1xuICAgICAgICBoYW5kbGVDbG9zZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICB9O1xuICB9LCBbY29udGFpbmVyUmVmLCBoYW5kbGVDbG9zZSwgaXNPcGVuXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8QXBwSGVhZGVyRHJvcGRvd25Qcm92aWRlciBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9PlxuICAgICAgPEFwcEhlYWRlckRyb3Bkb3duTmF2QnV0dG9uXG4gICAgICAgIGJ1dHRvblJlZj17YnV0dG9uUmVmfVxuICAgICAgICBoYW5kbGVPbkNsaWNrPXtoYW5kbGVPbkNsaWNrfVxuICAgICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgICAgdGV4dD17dGV4dH1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkQW5pbWF0ZWRNZWdhTWVudURyb3Bkb3duXG4gICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICBuYXJyb3dSZXNvdXJjZURyb3Bkb3duUG9zaXRpb249e25hcnJvd1Jlc291cmNlRHJvcGRvd25Qb3NpdGlvbn1cbiAgICAgICAgd2lkZVJlc291cmNlRHJvcGRvd25Qb3NpdGlvbj17d2lkZVJlc291cmNlRHJvcGRvd25Qb3NpdGlvbn1cbiAgICAgICAgdGFiSW5kZXg9ey0xfSAvLyBwcmV2ZW50IGZyb20gaW50ZXJmZXJpbmcgd2l0aCBBcHBIZWFkZXIgZm9jdXMgbG9naWNcbiAgICAgICAgcmVmPXtkcm9wZG93blJlZn1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJyZXNvdXJjZXMtbWVudS1kcm9wZG93blwiXG4gICAgICAgIG9uQW5pbWF0aW9uQ29tcGxldGU9e2FuaW1hdGlvbkZpbmlzaGVkfVxuICAgICAgPlxuICAgICAgICA8Q29sb3JNb2RlIG1vZGU9XCJsaWdodFwiPlxuICAgICAgICAgIDxBcHBIZWFkZXJTZWN0aW9uXG4gICAgICAgICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgICAgbmF2U2VjdGlvbnM9e1JFU09VUkNFU19OQVZfU0VDVElPTlN9XG4gICAgICAgICAgICBoYW5kbGVDbG9zZT17KCkgPT4gc2V0SXNPcGVuKGZhbHNlKX1cbiAgICAgICAgICAgIHR5cGU9XCJyZXNvdXJjZXMtZHJvcGRvd25cIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29sb3JNb2RlPlxuICAgICAgPC9TdHlsZWRBbmltYXRlZE1lZ2FNZW51RHJvcGRvd24+XG4gICAgPC9BcHBIZWFkZXJEcm9wZG93blByb3ZpZGVyPlxuICApO1xufTtcbiJdfQ== */"));
27
27
  export const AppHeaderResourcesDropdown = ({
28
28
  action,
29
29
  item
@@ -47,11 +47,7 @@ export const AppHeaderResourcesDropdown = ({
47
47
  } = DropdownPositions[headerType];
48
48
  const narrowResourceDropdownPosition = resourceDropdown.narrow;
49
49
  const wideResourceDropdownPosition = resourceDropdown.wide;
50
-
51
- // Add scrollbar for short screens after transition (otherwise scrollbar appears and dissapears for adequate heights during transition)
52
- const [animationCompleteStyles, setAnimationCompleteStyles] = useState(false);
53
50
  const animationFinished = () => {
54
- setAnimationCompleteStyles(isOpen);
55
51
  if (isOpen && dropdownRef.current) {
56
52
  dropdownRef.current.scrollTop = 0;
57
53
  }
@@ -97,32 +93,14 @@ export const AppHeaderResourcesDropdown = ({
97
93
  buttonRef: buttonRef,
98
94
  handleOnClick: handleOnClick,
99
95
  isOpen: isOpen,
100
- title: text
96
+ text: text
101
97
  }), /*#__PURE__*/_jsx(StyledAnimatedMegaMenuDropdown, {
98
+ isOpen: isOpen,
102
99
  narrowResourceDropdownPosition: narrowResourceDropdownPosition,
103
100
  wideResourceDropdownPosition: wideResourceDropdownPosition,
104
101
  tabIndex: -1 // prevent from interfering with AppHeader focus logic
105
102
  ,
106
103
  ref: dropdownRef,
107
- style: {
108
- top: '3.5rem',
109
- minWidth: '64rem',
110
- overflowY: 'auto',
111
- maxHeight: animationCompleteStyles ? '85vh' : 0,
112
- backgroundColor: 'transparent'
113
- },
114
- initial: {
115
- borderWidth: 0,
116
- height: 0
117
- },
118
- animate: {
119
- borderWidth: 0,
120
- height: isOpen ? 'fit-content' : 0
121
- },
122
- transition: {
123
- duration: 0.175
124
- },
125
- "aria-hidden": !isOpen,
126
104
  "data-testid": "resources-menu-dropdown",
127
105
  onAnimationComplete: animationFinished,
128
106
  children: /*#__PURE__*/_jsx(ColorMode, {
@@ -2,8 +2,8 @@ import { GamutIconProps } from '@codecademy/gamut-icons';
2
2
  import React, { PropsWithChildren } from 'react';
3
3
  import { AppHeaderCatalogDropdownItem, AppHeaderResourcesDropdownItem } from '../../shared';
4
4
  type NavSectionProps = PropsWithChildren & {
5
- activeTab: number;
6
5
  item: AppHeaderCatalogDropdownItem | AppHeaderResourcesDropdownItem;
6
+ isActiveTab: boolean;
7
7
  setActiveTab: (tab: number) => void;
8
8
  icon?: React.ComponentType<GamutIconProps>;
9
9
  text: string;
@@ -17,5 +17,5 @@ export declare const NavigationButton: import("@emotion/styled").StyledComponent
17
17
  isActive: boolean;
18
18
  index: number;
19
19
  }, React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
20
- declare const NavSection: ({ activeTab, setActiveTab, icon: Icon, text, index, children, item, tabIndex, }: NavSectionProps) => import("react/jsx-runtime").JSX.Element;
20
+ declare const NavSection: ({ isActiveTab, setActiveTab, icon: Icon, text, index, children, item, tabIndex, }: NavSectionProps) => import("react/jsx-runtime").JSX.Element;
21
21
  export default NavSection;