@codecademy/brand 3.21.0-alpha.c60fb49007.0 → 3.22.0-alpha.cf67b706c8.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/AppHeaderLinkSections/index.js +0 -0
- package/dist/AppHeader/index.js +19 -2
- package/dist/AppHeaderMobile/AppHeaderMainMenuMobile/index.js +5 -6
- package/dist/GlobalHeader/GlobalHeaderVariants.d.ts +2 -2
- package/dist/GlobalHeader/GlobalHeaderVariants.js +16 -16
- package/dist/GlobalHeader/index.d.ts +0 -1
- package/dist/GlobalHeader/index.js +48 -52
- package/dist/GlobalHeader/types.d.ts +0 -1
- package/dist/GlobalPage/index.d.ts +14 -0
- package/dist/GlobalPage/index.js +10 -3
- package/dist/LearningOutcomeTile/index.js +1 -2
- package/package.json +1 -1
|
File without changes
|
package/dist/AppHeader/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { useMemo, useRef } from 'react';
|
|
2
|
+
import { useContext, useMemo, useRef } from 'react';
|
|
3
|
+
import { LogErrorContext } from '..';
|
|
3
4
|
import { HeaderHeightArea } from '../HeaderHeightArea';
|
|
4
5
|
import { NotificationsDropdown } from '../Notifications/NotificationsDropdown';
|
|
5
6
|
import { useHeaderNotifications } from '../Notifications/useHeaderNotifications';
|
|
@@ -41,8 +42,24 @@ export const AppHeader = ({
|
|
|
41
42
|
}
|
|
42
43
|
return [...defaultItems, ...items.right];
|
|
43
44
|
}, [searchButton, notificationsBell, hideRightButtonDefaults, items, isTeams]);
|
|
45
|
+
const {
|
|
46
|
+
logError
|
|
47
|
+
} = useContext(LogErrorContext);
|
|
44
48
|
const mapItemsToElement = (items, side) => {
|
|
45
|
-
|
|
49
|
+
// logging error to help with debugging
|
|
50
|
+
if (items && items.some(item => !item)) {
|
|
51
|
+
try {
|
|
52
|
+
const itemTypesString = items.map(item => item.type).join(', ');
|
|
53
|
+
logError?.(`Error: Found an undefined app header item on the ${side} side of the header.`, {
|
|
54
|
+
message: `The current array of items includes the following header item types: ${itemTypesString}`
|
|
55
|
+
});
|
|
56
|
+
} catch (e) {
|
|
57
|
+
logError?.(`Error while logging undefined header items: ${e}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return items
|
|
61
|
+
// preventative measure to handle a possibly undefined item from being rendered
|
|
62
|
+
.filter(item => !!item).map((item, index) => {
|
|
46
63
|
const margin = appHeaderSpacing[type];
|
|
47
64
|
return /*#__PURE__*/_jsx(AppHeaderListItem, {
|
|
48
65
|
mr: margin,
|
|
@@ -5,15 +5,15 @@ import { useContext, useState } from 'react';
|
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { AppHeaderLink } from '../../AppHeader/AppHeaderElements/AppHeaderLink';
|
|
7
7
|
import { AppHeaderLinkSections } from '../../AppHeader/AppHeaderElements/AppHeaderLinkSections';
|
|
8
|
-
import {
|
|
8
|
+
import { GlobalNavRedesignContext } from '../../GlobalHeader';
|
|
9
9
|
import { login, requestTeamsDemo, signUp, signUpTextButton } from '../../GlobalHeader/GlobalHeaderItems';
|
|
10
10
|
import { AppHeaderSubNavMobile } from '../AppHeaderSubMenuMobile';
|
|
11
11
|
import { MobileUlWrapper } from '../AppHeaderSubMenuMobile/elements';
|
|
12
12
|
import { AppHeaderSubMenuRow } from '../AppHeaderSubMenuTarget';
|
|
13
13
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
const
|
|
14
|
+
const isBusinessPage = () => {
|
|
15
15
|
if (typeof window === 'undefined') return false;
|
|
16
|
-
return
|
|
16
|
+
return window.location.pathname === '/business' || window.location.pathname === '/business/pricing';
|
|
17
17
|
};
|
|
18
18
|
const BackgroundWrapper = /*#__PURE__*/_styled(Box, {
|
|
19
19
|
target: "emi0o3k0",
|
|
@@ -26,7 +26,7 @@ const BackgroundWrapper = /*#__PURE__*/_styled(Box, {
|
|
|
26
26
|
borderRadius: 'lg',
|
|
27
27
|
padding: '16px'
|
|
28
28
|
}
|
|
29
|
-
}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
29
|
+
}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9BcHBIZWFkZXJNb2JpbGUvQXBwSGVhZGVyTWFpbk1lbnVNb2JpbGUvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVDMEIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL0FwcEhlYWRlck1vYmlsZS9BcHBIZWFkZXJNYWluTWVudU1vYmlsZS9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCb3gsXG4gIENvbnRlbnRDb250YWluZXIsXG4gIEZpbGxCdXR0b24sXG4gIFRleHQsXG4gIFRleHRCdXR0b24sXG59IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IGNzcywgc3RhdGVzLCB0aGVtZSB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgQXBwSGVhZGVyTGluayB9IGZyb20gJy4uLy4uL0FwcEhlYWRlci9BcHBIZWFkZXJFbGVtZW50cy9BcHBIZWFkZXJMaW5rJztcbmltcG9ydCB7IEFwcEhlYWRlckxpbmtTZWN0aW9ucyB9IGZyb20gJy4uLy4uL0FwcEhlYWRlci9BcHBIZWFkZXJFbGVtZW50cy9BcHBIZWFkZXJMaW5rU2VjdGlvbnMnO1xuaW1wb3J0IHtcbiAgQXBwSGVhZGVyQWN0aW9uLFxuICBBcHBIZWFkZXJDbGlja0hhbmRsZXIsXG4gIEFwcEhlYWRlckRyb3Bkb3duSXRlbSxcbiAgQXBwSGVhZGVySXRlbSxcbn0gZnJvbSAnLi4vLi4vQXBwSGVhZGVyL3NoYXJlZCc7XG5pbXBvcnQgeyBHbG9iYWxOYXZSZWRlc2lnbkNvbnRleHQgfSBmcm9tICcuLi8uLi9HbG9iYWxIZWFkZXInO1xuaW1wb3J0IHtcbiAgbG9naW4sXG4gIHJlcXVlc3RUZWFtc0RlbW8sXG4gIHNpZ25VcCxcbiAgc2lnblVwVGV4dEJ1dHRvbixcbn0gZnJvbSAnLi4vLi4vR2xvYmFsSGVhZGVyL0dsb2JhbEhlYWRlckl0ZW1zJztcbmltcG9ydCB7IEFwcEhlYWRlclN1Yk5hdk1vYmlsZSB9IGZyb20gJy4uL0FwcEhlYWRlclN1Yk1lbnVNb2JpbGUnO1xuaW1wb3J0IHsgTW9iaWxlVWxXcmFwcGVyIH0gZnJvbSAnLi4vQXBwSGVhZGVyU3ViTWVudU1vYmlsZS9lbGVtZW50cyc7XG5pbXBvcnQgeyBBcHBIZWFkZXJTdWJNZW51Um93IH0gZnJvbSAnLi4vQXBwSGVhZGVyU3ViTWVudVRhcmdldCc7XG5cbmNvbnN0IGlzQnVzaW5lc3NQYWdlID0gKCkgPT4ge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIChcbiAgICB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgPT09ICcvYnVzaW5lc3MnIHx8XG4gICAgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lID09PSAnL2J1c2luZXNzL3ByaWNpbmcnXG4gICk7XG59O1xuXG5jb25zdCBCYWNrZ3JvdW5kV3JhcHBlciA9IHN0eWxlZChCb3gpPHtcbiAgZGlzcGxheUdsb2JhbE5hdlJlZGVzaWduOiBib29sZWFuO1xufT4oXG4gIGNzcyh7fSksXG4gIHN0YXRlcyh7XG4gICAgZGlzcGxheUdsb2JhbE5hdlJlZGVzaWduOiB7XG4gICAgICBiYWNrZ3JvdW5kOiB0aGVtZS5jb2xvcnMud2hpdGUsXG4gICAgICBib3JkZXI6IDEsXG4gICAgICBib3JkZXJDb2xvcjogJ2JvcmRlci10ZXJ0aWFyeScsXG4gICAgICBib3JkZXJSYWRpdXM6ICdsZycsXG4gICAgICBwYWRkaW5nOiAnMTZweCcsXG4gICAgfSxcbiAgfSlcbik7XG5cbmV4cG9ydCB0eXBlIEFwcEhlYWRlck1haW5NZW51TW9iaWxlUHJvcHMgPSBBcHBIZWFkZXJBY3Rpb24gJiB7XG4gIGl0ZW1zOiBBcHBIZWFkZXJJdGVtW107XG4gIGdldEl0ZW1UeXBlOiAodHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB2b2lkO1xuICBpc0Fub246IGJvb2xlYW47XG4gIGhhbmRsZUNsb3NlTWFpbk1lbnU6ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgQXBwSGVhZGVyTWFpbk1lbnVNb2JpbGU6IFJlYWN0LkZDPFxuICBBcHBIZWFkZXJNYWluTWVudU1vYmlsZVByb3BzXG4+ID0gKHsgYWN0aW9uLCBpdGVtcywgZ2V0SXRlbVR5cGUsIGlzQW5vbiwgaGFuZGxlQ2xvc2VNYWluTWVudSB9KSA9PiB7XG4gIGNvbnN0IFtzdWJNZW51SXRlbSwgc2V0U3ViTWVudUl0ZW1dID0gdXNlU3RhdGU8QXBwSGVhZGVyRHJvcGRvd25JdGVtPigpO1xuICBjb25zdCBkaXNwbGF5R2xvYmFsTmF2UmVkZXNpZ24gPSB1c2VDb250ZXh0KEdsb2JhbE5hdlJlZGVzaWduQ29udGV4dCk7XG5cbiAgY29uc3Qgb3BlblN1Yk1lbnUgPSAoXG4gICAgZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQsXG4gICAgaXRlbTogQXBwSGVhZGVyRHJvcGRvd25JdGVtXG4gICkgPT4ge1xuICAgIGFjdGlvbihldmVudCwgaXRlbSk7XG4gICAgc2V0U3ViTWVudUl0ZW0oaXRlbSk7XG4gICAgZ2V0SXRlbVR5cGUoaXRlbS50eXBlKTtcbiAgfTtcblxuICBjb25zdCBjbG9zZVN1Yk1lbnUgPSAoKSA9PiB7XG4gICAgc2V0U3ViTWVudUl0ZW0odW5kZWZpbmVkKTtcbiAgICBnZXRJdGVtVHlwZSh1bmRlZmluZWQpO1xuICB9O1xuXG4gIGNvbnN0IG1hcEl0ZW1Ub0VsZW1lbnQgPSAoXG4gICAgaXRlbTogQXBwSGVhZGVySXRlbSxcbiAgICBhY3Rpb246IEFwcEhlYWRlckNsaWNrSGFuZGxlclxuICApID0+IHtcbiAgICBzd2l0Y2ggKGl0ZW0udHlwZSkge1xuICAgICAgY2FzZSAnbGluayc6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEFwcEhlYWRlckxpbmsgYWN0aW9uPXthY3Rpb259IGl0ZW09e2l0ZW19IGtleT17aXRlbS5pZH0gbW9iaWxlIC8+XG4gICAgICAgICk7XG4gICAgICBjYXNlICdkcm9wZG93bic6XG4gICAgICBjYXNlICdwcm9maWxlLWRyb3Bkb3duJzpcbiAgICAgIGNhc2UgJ2NhdGFsb2ctZHJvcGRvd24nOlxuICAgICAgY2FzZSAncmVzb3VyY2VzLWRyb3Bkb3duJzpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXBwSGVhZGVyU3ViTWVudVJvd1xuICAgICAgICAgICAga2V5PXtpdGVtLmlkfVxuICAgICAgICAgICAgaXRlbT17aXRlbX1cbiAgICAgICAgICAgIG9wZW5TdWJNZW51PXtvcGVuU3ViTWVudX1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgY2FzZSAncmVzb3VyY2VzLXNpbXBsZS1kcm9wZG93bic6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxUZXh0IGFzPVwiaDJcIiBmb250U2l6ZT17MjJ9IG10PXsxNn0gbWI9ezE2fT5cbiAgICAgICAgICAgICAge2l0ZW0udGV4dH1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDxBcHBIZWFkZXJMaW5rU2VjdGlvbnMgYWN0aW9uPXthY3Rpb259IGl0ZW09e2l0ZW19IG1vYmlsZSAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApO1xuICAgICAgY2FzZSAnZmlsbC1idXR0b24nOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxsQnV0dG9uXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17aXRlbS5kYXRhVGVzdElkfVxuICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxuICAgICAgICAgICAgb25DbGljaz17KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50KSA9PiBhY3Rpb24oZXZlbnQsIGl0ZW0pfVxuICAgICAgICAgICAgbXQ9ezI0fVxuICAgICAgICAgICAga2V5PXtpdGVtLmlkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpdGVtLnRleHR9XG4gICAgICAgICAgPC9GaWxsQnV0dG9uPlxuICAgICAgICApO1xuICAgICAgY2FzZSAndGV4dC1idXR0b24nOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxUZXh0QnV0dG9uXG4gICAgICAgICAgICBtdD17MTZ9XG4gICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17aXRlbS5kYXRhVGVzdElkfVxuICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxuICAgICAgICAgICAgb25DbGljaz17KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50KSA9PiBhY3Rpb24oZXZlbnQsIGl0ZW0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpdGVtLnRleHR9XG4gICAgICAgICAgPC9UZXh0QnV0dG9uPlxuICAgICAgICApO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIDw+PC8+O1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gc3ViTWVudUl0ZW0gPyAoXG4gICAgPEFwcEhlYWRlclN1Yk5hdk1vYmlsZVxuICAgICAgaGFuZGxlQ2xvc2VTdWJNZW51PXtjbG9zZVN1Yk1lbnV9XG4gICAgICBhY3Rpb249e2FjdGlvbn1cbiAgICAgIGl0ZW09e3N1Yk1lbnVJdGVtfVxuICAgICAgaGFuZGxlQ2xvc2VNYWluTWVudT17aGFuZGxlQ2xvc2VNYWluTWVudX1cbiAgICAvPlxuICApIDogKFxuICAgIDxDb250ZW50Q29udGFpbmVyXG4gICAgICByb2xlPVwibmF2aWdhdGlvblwiXG4gICAgICBhcmlhLWxhYmVsPVwic2l0ZSBuYXZpZ2F0aW9uXCJcbiAgICAgIHRhYkluZGV4PXstMX1cbiAgICA+XG4gICAgICA8QmFja2dyb3VuZFdyYXBwZXIgZGlzcGxheUdsb2JhbE5hdlJlZGVzaWduPXtkaXNwbGF5R2xvYmFsTmF2UmVkZXNpZ259PlxuICAgICAgICA8TW9iaWxlVWxXcmFwcGVyIGFzPVwidWxcIj5cbiAgICAgICAgICB7aXRlbXMubWFwKChpdGVtKSA9PiBtYXBJdGVtVG9FbGVtZW50KGl0ZW0sIGFjdGlvbikpfVxuICAgICAgICAgIHtpc0Fub24gJiYgKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnYmFzZWxpbmUnLFxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiAnMTZweCcsXG4gICAgICAgICAgICAgICAgYm9yZGVyVG9wOiAnMXB4IHNvbGlkIHZhcigtLWJvcmRlci10ZXJ0aWFyeSknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aXNCdXNpbmVzc1BhZ2UoKSA/IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPFRleHRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e3NpZ25VcFRleHRCdXR0b24uZGF0YVRlc3RJZH1cbiAgICAgICAgICAgICAgICAgICAgaHJlZj17c2lnblVwVGV4dEJ1dHRvbi5ocmVmfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aW9uKGV2ZW50LCBzaWduVXBUZXh0QnV0dG9uKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGtleT17c2lnblVwVGV4dEJ1dHRvbi5pZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3NpZ25VcFRleHRCdXR0b24udGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dEJ1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgPEZpbGxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e3JlcXVlc3RUZWFtc0RlbW8uZGF0YVRlc3RJZH1cbiAgICAgICAgICAgICAgICAgICAgaHJlZj17cmVxdWVzdFRlYW1zRGVtby5ocmVmfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aW9uKGV2ZW50LCByZXF1ZXN0VGVhbXNEZW1vKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGtleT17cmVxdWVzdFRlYW1zRGVtby5pZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3JlcXVlc3RUZWFtc0RlbW8udGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvRmlsbEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPEZpbGxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e3NpZ25VcC5kYXRhVGVzdElkfVxuICAgICAgICAgICAgICAgICAgICBocmVmPXtzaWduVXAuaHJlZn1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50KSA9PiBhY3Rpb24oZXZlbnQsIHNpZ25VcCl9XG4gICAgICAgICAgICAgICAgICAgIGtleT17c2lnblVwLmlkfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7c2lnblVwLnRleHR9XG4gICAgICAgICAgICAgICAgICA8L0ZpbGxCdXR0b24+XG5cbiAgICAgICAgICAgICAgICAgIDxUZXh0QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGtleT17bG9naW4uaWR9XG4gICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtsb2dpbi5kYXRhVGVzdElkfVxuICAgICAgICAgICAgICAgICAgICBocmVmPXtsb2dpbi5ocmVmfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IGFjdGlvbihldmVudCwgbG9naW4pfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7bG9naW4udGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvTW9iaWxlVWxXcmFwcGVyPlxuICAgICAgPC9CYWNrZ3JvdW5kV3JhcHBlcj5cbiAgICA8L0NvbnRlbnRDb250YWluZXI+XG4gICk7XG59O1xuIl19 */");
|
|
30
30
|
export const AppHeaderMainMenuMobile = ({
|
|
31
31
|
action,
|
|
32
32
|
items,
|
|
@@ -35,7 +35,6 @@ export const AppHeaderMainMenuMobile = ({
|
|
|
35
35
|
handleCloseMainMenu
|
|
36
36
|
}) => {
|
|
37
37
|
const [subMenuItem, setSubMenuItem] = useState();
|
|
38
|
-
const isBlpHeroExperimentVariant = useContext(BlpHeroExperimentContext);
|
|
39
38
|
const displayGlobalNavRedesign = useContext(GlobalNavRedesignContext);
|
|
40
39
|
const openSubMenu = (event, item) => {
|
|
41
40
|
action(event, item);
|
|
@@ -117,7 +116,7 @@ export const AppHeaderMainMenuMobile = ({
|
|
|
117
116
|
paddingTop: '16px',
|
|
118
117
|
borderTop: '1px solid var(--border-tertiary)'
|
|
119
118
|
},
|
|
120
|
-
children:
|
|
119
|
+
children: isBusinessPage() ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
121
120
|
children: [/*#__PURE__*/_jsx(TextButton, {
|
|
122
121
|
"data-testid": signUpTextButton.dataTestId,
|
|
123
122
|
href: signUpTextButton.href,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { AppHeaderItem, FormattedAppHeaderItems, FormattedMobileAppHeaderItems } from '../AppHeader/shared';
|
|
2
2
|
import { GlobalHeaderProps } from '.';
|
|
3
3
|
import { User } from './types';
|
|
4
|
-
export declare const anonDefaultHeaderItems: (hidePricing?: boolean, user?: User,
|
|
5
|
-
export declare const anonDefaultMobileHeaderItems: (hidePricing?: boolean, user?: User,
|
|
4
|
+
export declare const anonDefaultHeaderItems: (hidePricing?: boolean, user?: User, isInRevampedBlpExperimentVariant?: boolean) => FormattedAppHeaderItems;
|
|
5
|
+
export declare const anonDefaultMobileHeaderItems: (hidePricing?: boolean, user?: User, isInRevampedBlpExperimentVariant?: boolean) => FormattedMobileAppHeaderItems;
|
|
6
6
|
export declare const anonLandingHeaderItems: (hidePricing?: boolean, user?: User, isInRevampedBlpExperimentVariant?: boolean) => FormattedAppHeaderItems;
|
|
7
7
|
export declare const anonLandingMobileHeaderItems: (hidePricing?: boolean, user?: User, isInRevampedBlpExperimentVariant?: boolean) => FormattedMobileAppHeaderItems;
|
|
8
8
|
export declare const anonLoginHeaderItems: (hidePricing?: boolean, user?: User, isInRevampedBlpExperimentVariant?: boolean) => FormattedAppHeaderItems;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { addPayment, bootcampCta, businessSolutions, catalogDropdown, communityDropdown, enterpriseLogo, freeProfile, liveLearningHub, loading, login, logo, myHome, myPercipioHome, pricingDropdown, proProfile, requestTeamsDemo, resourcesDropdown, signUp, signUpTextButton, simpleResourcesDropdown, tryProForFree, unpausePro, upgradePlan, upgradeToPro } from './GlobalHeaderItems';
|
|
2
|
-
const isBusinessPage =
|
|
2
|
+
const isBusinessPage = () => {
|
|
3
3
|
if (typeof window === 'undefined') return false;
|
|
4
|
-
return
|
|
4
|
+
return window.location.pathname === '/business' || window.location.pathname === '/business/pricing';
|
|
5
5
|
};
|
|
6
6
|
const transformSimpleResourcesDropdownlabels = resourcesLabel => ({
|
|
7
7
|
...simpleResourcesDropdown,
|
|
@@ -11,14 +11,14 @@ const transformSimpleResourcesDropdownlabels = resourcesLabel => ({
|
|
|
11
11
|
text: resourcesLabel?.[item.id] || item.text
|
|
12
12
|
}))
|
|
13
13
|
});
|
|
14
|
-
const anonHeaderItems = (renderLogin, renderSignUp, hidePricing, user,
|
|
14
|
+
const anonHeaderItems = (renderLogin, renderSignUp, hidePricing, user, isInRevampedBlpExperimentVariant) => {
|
|
15
15
|
const specialLogo = {
|
|
16
16
|
...logo,
|
|
17
17
|
checkMini: true
|
|
18
18
|
};
|
|
19
19
|
const leftItems = [specialLogo, catalogDropdown(user?.hideCareerPaths), resourcesDropdown(), communityDropdown(), ...(hidePricing ? [] : [pricingDropdown(isInRevampedBlpExperimentVariant)]), liveLearningHub, businessSolutions];
|
|
20
20
|
const rightItems = [];
|
|
21
|
-
if (isBusinessPage(
|
|
21
|
+
if (isBusinessPage()) {
|
|
22
22
|
if (renderSignUp) {
|
|
23
23
|
rightItems.push(signUpTextButton);
|
|
24
24
|
}
|
|
@@ -38,14 +38,14 @@ const anonHeaderItems = (renderLogin, renderSignUp, hidePricing, user, isBlpHero
|
|
|
38
38
|
right: rightItems
|
|
39
39
|
};
|
|
40
40
|
};
|
|
41
|
-
const anonMobileHeaderItems = (renderLogin, renderSignUp, hidePricing, user,
|
|
41
|
+
const anonMobileHeaderItems = (renderLogin, renderSignUp, hidePricing, user, isInRevampedBlpExperimentVariant) => {
|
|
42
42
|
const specialLogo = {
|
|
43
43
|
...logo,
|
|
44
44
|
checkMini: true
|
|
45
45
|
};
|
|
46
46
|
const leftItems = [specialLogo];
|
|
47
47
|
const rightItems = [];
|
|
48
|
-
if (isBusinessPage(
|
|
48
|
+
if (isBusinessPage()) {
|
|
49
49
|
if (renderSignUp) {
|
|
50
50
|
rightItems.push(signUpTextButton);
|
|
51
51
|
}
|
|
@@ -67,29 +67,29 @@ const anonMobileHeaderItems = (renderLogin, renderSignUp, hidePricing, user, isB
|
|
|
67
67
|
mainMenu: mainMenuItems
|
|
68
68
|
};
|
|
69
69
|
};
|
|
70
|
-
export const anonDefaultHeaderItems = (hidePricing, user,
|
|
71
|
-
return anonHeaderItems(true, true, hidePricing, user,
|
|
70
|
+
export const anonDefaultHeaderItems = (hidePricing, user, isInRevampedBlpExperimentVariant) => {
|
|
71
|
+
return anonHeaderItems(true, true, hidePricing, user, isInRevampedBlpExperimentVariant);
|
|
72
72
|
};
|
|
73
|
-
export const anonDefaultMobileHeaderItems = (hidePricing, user,
|
|
74
|
-
return anonMobileHeaderItems(true, true, hidePricing, user,
|
|
73
|
+
export const anonDefaultMobileHeaderItems = (hidePricing, user, isInRevampedBlpExperimentVariant) => {
|
|
74
|
+
return anonMobileHeaderItems(true, true, hidePricing, user, isInRevampedBlpExperimentVariant);
|
|
75
75
|
};
|
|
76
76
|
export const anonLandingHeaderItems = (hidePricing, user, isInRevampedBlpExperimentVariant) => {
|
|
77
|
-
return anonHeaderItems(true, false, hidePricing, user,
|
|
77
|
+
return anonHeaderItems(true, false, hidePricing, user, isInRevampedBlpExperimentVariant);
|
|
78
78
|
};
|
|
79
79
|
export const anonLandingMobileHeaderItems = (hidePricing, user, isInRevampedBlpExperimentVariant) => {
|
|
80
|
-
return anonMobileHeaderItems(true, false, hidePricing, user,
|
|
80
|
+
return anonMobileHeaderItems(true, false, hidePricing, user, isInRevampedBlpExperimentVariant);
|
|
81
81
|
};
|
|
82
82
|
export const anonLoginHeaderItems = (hidePricing, user, isInRevampedBlpExperimentVariant) => {
|
|
83
|
-
return anonHeaderItems(false, true, hidePricing, user,
|
|
83
|
+
return anonHeaderItems(false, true, hidePricing, user, isInRevampedBlpExperimentVariant);
|
|
84
84
|
};
|
|
85
85
|
export const anonLoginMobileHeaderItems = (hidePricing, user, isInRevampedBlpExperimentVariant) => {
|
|
86
|
-
return anonMobileHeaderItems(false, true, hidePricing, user,
|
|
86
|
+
return anonMobileHeaderItems(false, true, hidePricing, user, isInRevampedBlpExperimentVariant);
|
|
87
87
|
};
|
|
88
88
|
export const anonSignupHeaderItems = (hidePricing, user, isInRevampedBlpExperimentVariant) => {
|
|
89
|
-
return anonHeaderItems(true, false, hidePricing, user,
|
|
89
|
+
return anonHeaderItems(true, false, hidePricing, user, isInRevampedBlpExperimentVariant);
|
|
90
90
|
};
|
|
91
91
|
export const anonSignupMobileHeaderItems = (hidePricing, user, isInRevampedBlpExperimentVariant) => {
|
|
92
|
-
return anonMobileHeaderItems(true, false, hidePricing, user,
|
|
92
|
+
return anonMobileHeaderItems(true, false, hidePricing, user, isInRevampedBlpExperimentVariant);
|
|
93
93
|
};
|
|
94
94
|
export const freeHeaderItems = (user, hidePricing, isInRevampedBlpExperimentVariant) => {
|
|
95
95
|
const specialLogo = {
|
|
@@ -3,7 +3,6 @@ import { AnonHeader, EnterpriseHeader, FreeHeader, LoadingHeader, ProHeader, Sim
|
|
|
3
3
|
export * from './types';
|
|
4
4
|
export declare const LiveLearningHubContext: React.Context<boolean>;
|
|
5
5
|
export declare const GlobalNavRedesignContext: React.Context<boolean>;
|
|
6
|
-
export declare const BlpHeroExperimentContext: React.Context<boolean>;
|
|
7
6
|
export declare const RevampedBlpExperimentContext: React.Context<boolean>;
|
|
8
7
|
export type GlobalHeaderProps = AnonHeader | FreeHeader | ProHeader | EnterpriseHeader | TeamsHeader | LoadingHeader | SimpleHeader | SimpleBootcampHeader;
|
|
9
8
|
export declare const GlobalHeader: React.FC<GlobalHeaderProps>;
|
|
@@ -9,7 +9,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
9
9
|
export * from './types';
|
|
10
10
|
export const LiveLearningHubContext = /*#__PURE__*/React.createContext(false);
|
|
11
11
|
export const GlobalNavRedesignContext = /*#__PURE__*/React.createContext(false);
|
|
12
|
-
export const BlpHeroExperimentContext = /*#__PURE__*/React.createContext(false);
|
|
13
12
|
export const RevampedBlpExperimentContext = /*#__PURE__*/React.createContext(false);
|
|
14
13
|
|
|
15
14
|
// Overloading getAppHeaderItems function to return different types based on mobile parameter
|
|
@@ -31,7 +30,7 @@ function getAppHeaderItems(props, mobile, dynamicDataLoading) {
|
|
|
31
30
|
case 'signup':
|
|
32
31
|
return mobile ? anonSignupMobileHeaderItems(hidePricing, props.user, props.isInRevampedBlpExperimentVariant) : anonSignupHeaderItems(hidePricing, props.user, props.isInRevampedBlpExperimentVariant);
|
|
33
32
|
default:
|
|
34
|
-
return mobile ? anonDefaultMobileHeaderItems(hidePricing, props.user, props.
|
|
33
|
+
return mobile ? anonDefaultMobileHeaderItems(hidePricing, props.user, props.isInRevampedBlpExperimentVariant) : anonDefaultHeaderItems(hidePricing, props.user, props.isInRevampedBlpExperimentVariant);
|
|
35
34
|
}
|
|
36
35
|
case 'enterprise':
|
|
37
36
|
return mobile ? enterpriseMobileHeaderItems(props.user, props) : enterpriseHeaderItems(props.user, props);
|
|
@@ -75,56 +74,53 @@ export const GlobalHeader = props => {
|
|
|
75
74
|
},
|
|
76
75
|
children: /*#__PURE__*/_jsx(GlobalNavRedesignContext.Provider, {
|
|
77
76
|
value: !!props.displayGlobalNavRedesign,
|
|
78
|
-
children: /*#__PURE__*/_jsx(
|
|
79
|
-
value: !!props.
|
|
80
|
-
children: /*#__PURE__*/_jsx(
|
|
81
|
-
value:
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
navigationMenuFormattedLabel: props?.localizedLabels?.navigationMenuFormattedLabel
|
|
126
|
-
}), props.children]
|
|
127
|
-
})
|
|
77
|
+
children: /*#__PURE__*/_jsx(RevampedBlpExperimentContext.Provider, {
|
|
78
|
+
value: !!props.isInRevampedBlpExperimentVariant,
|
|
79
|
+
children: /*#__PURE__*/_jsx(GlobalHeaderItemClickContext.Provider, {
|
|
80
|
+
value: {
|
|
81
|
+
globalHeaderItemClick: combinedAction
|
|
82
|
+
},
|
|
83
|
+
children: /*#__PURE__*/_jsx(GlobalHeaderDynamicDataContext.Provider, {
|
|
84
|
+
value: useMemo(() => ({
|
|
85
|
+
globalHeaderDynamicData: dynamicData ?? null
|
|
86
|
+
}), [dynamicData]),
|
|
87
|
+
children: /*#__PURE__*/_jsxs(Box, {
|
|
88
|
+
as: "header",
|
|
89
|
+
position: "sticky",
|
|
90
|
+
top: 0,
|
|
91
|
+
zIndex: theme.elements.headerZ,
|
|
92
|
+
overflow: {
|
|
93
|
+
_: 'hidden',
|
|
94
|
+
sm: 'visible'
|
|
95
|
+
} // Prevent tooltip overflow on mobile
|
|
96
|
+
,
|
|
97
|
+
children: [/*#__PURE__*/_jsx(AppHeader, {
|
|
98
|
+
action: combinedAction,
|
|
99
|
+
items: getAppHeaderItems(props, false, dynamicDataLoading ?? false),
|
|
100
|
+
search: props.search,
|
|
101
|
+
...(props.type === 'anon' ? {
|
|
102
|
+
redirectParam: props.redirectParam
|
|
103
|
+
} : hideNotification ? {} : {
|
|
104
|
+
notifications: props.notifications
|
|
105
|
+
}),
|
|
106
|
+
hideRightButtonDefaults: hideNotification,
|
|
107
|
+
isAnon: props.type === 'anon',
|
|
108
|
+
isTeams: props.type === 'teams',
|
|
109
|
+
type: hideNotification ? 'enterprise' : 'standard'
|
|
110
|
+
}), /*#__PURE__*/_jsx(AppHeaderMobile, {
|
|
111
|
+
action: combinedAction,
|
|
112
|
+
items: getAppHeaderItems(props, true, dynamicDataLoading ?? false),
|
|
113
|
+
...(props.type === 'anon' || hideNotification ? {} : {
|
|
114
|
+
notifications: props.notifications
|
|
115
|
+
}),
|
|
116
|
+
search: props.search,
|
|
117
|
+
redirectParam: props.type === 'anon' ? props.redirectParam : undefined,
|
|
118
|
+
isEnterprise: props.type === 'enterprise',
|
|
119
|
+
isAnon: props.type === 'anon',
|
|
120
|
+
isSimple: props.type === 'simple',
|
|
121
|
+
hideRightMenuButton: props.type === 'simple' || props.type === 'loading',
|
|
122
|
+
navigationMenuFormattedLabel: props?.localizedLabels?.navigationMenuFormattedLabel
|
|
123
|
+
}), props.children]
|
|
128
124
|
})
|
|
129
125
|
})
|
|
130
126
|
})
|
|
@@ -32,7 +32,6 @@ interface BaseHeader extends WithChildrenProp, AppHeaderAction {
|
|
|
32
32
|
localizedLabels?: localizedLabels;
|
|
33
33
|
search: AppHeaderSearch;
|
|
34
34
|
displayGlobalNavRedesign?: boolean;
|
|
35
|
-
isBlpHeroExperimentVariant?: boolean;
|
|
36
35
|
isInRevampedBlpExperimentVariant?: boolean;
|
|
37
36
|
dynamicData?: GlobalHeaderDynamicData | null;
|
|
38
37
|
dynamicDataLoading?: boolean;
|
|
@@ -3,6 +3,14 @@ import * as React from 'react';
|
|
|
3
3
|
import { EnhancedBannerProps } from '../Banner/EnhancedBanner';
|
|
4
4
|
import { GlobalFooterProps } from '../GlobalFooter';
|
|
5
5
|
import { GlobalHeaderProps } from '../GlobalHeader';
|
|
6
|
+
type ErrorContext = {
|
|
7
|
+
message?: string;
|
|
8
|
+
[k: string]: any;
|
|
9
|
+
};
|
|
10
|
+
type LogErrorContextType = {
|
|
11
|
+
logError?: (error: unknown, context?: ErrorContext | string) => void;
|
|
12
|
+
};
|
|
13
|
+
export declare const LogErrorContext: React.Context<LogErrorContextType>;
|
|
6
14
|
export type GlobalPageBackgroundColor = 'beige' | 'background' | 'background-contrast' | 'navy' | 'paleBlue' | 'paleGreen' | 'palePink' | 'paleYellow' | 'white';
|
|
7
15
|
export interface GlobalPageProps extends WithChildrenProp {
|
|
8
16
|
backgroundColor?: GlobalPageBackgroundColor;
|
|
@@ -30,5 +38,11 @@ export interface GlobalPageProps extends WithChildrenProp {
|
|
|
30
38
|
* Custom element ID to link to by the SkipToContent control, if not a default one at the beginning of the page.
|
|
31
39
|
*/
|
|
32
40
|
skipToContentId?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Temporary function called with error and context when an error occurs to
|
|
43
|
+
* help with debugging.
|
|
44
|
+
*/
|
|
45
|
+
onError?: (error: unknown, context?: ErrorContext | string) => void;
|
|
33
46
|
}
|
|
34
47
|
export declare const GlobalPage: React.FC<GlobalPageProps>;
|
|
48
|
+
export {};
|
package/dist/GlobalPage/index.js
CHANGED
|
@@ -6,6 +6,7 @@ import { EnhancedBanner } from '../Banner/EnhancedBanner';
|
|
|
6
6
|
import { GlobalFooter } from '../GlobalFooter';
|
|
7
7
|
import { GlobalHeader } from '../GlobalHeader';
|
|
8
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
export const LogErrorContext = /*#__PURE__*/React.createContext({});
|
|
9
10
|
const defaultSkipToContentId = 'page-skip-to-content-target';
|
|
10
11
|
const RestrictedBackground = /*#__PURE__*/forwardRef(({
|
|
11
12
|
children,
|
|
@@ -28,7 +29,8 @@ export const GlobalPage = ({
|
|
|
28
29
|
footer,
|
|
29
30
|
header,
|
|
30
31
|
modal,
|
|
31
|
-
skipToContentId
|
|
32
|
+
skipToContentId,
|
|
33
|
+
onError
|
|
32
34
|
}) => {
|
|
33
35
|
return /*#__PURE__*/_jsxs(GlobalPageWrapper, {
|
|
34
36
|
bg: backgroundColor,
|
|
@@ -37,8 +39,13 @@ export const GlobalPage = ({
|
|
|
37
39
|
contentId: skipToContentId || defaultSkipToContentId
|
|
38
40
|
}), banner && /*#__PURE__*/_jsx(EnhancedBanner, {
|
|
39
41
|
...banner
|
|
40
|
-
}),
|
|
41
|
-
|
|
42
|
+
}), /*#__PURE__*/_jsx(LogErrorContext.Provider, {
|
|
43
|
+
value: {
|
|
44
|
+
logError: onError
|
|
45
|
+
},
|
|
46
|
+
children: !header.hideEnterpriseHeader && /*#__PURE__*/_jsx(GlobalHeader, {
|
|
47
|
+
...header
|
|
48
|
+
})
|
|
42
49
|
}), !skipToContentId && /*#__PURE__*/_jsx(SkipToContentTarget, {
|
|
43
50
|
id: defaultSkipToContentId
|
|
44
51
|
}), /*#__PURE__*/_jsx(AppWrapper, {
|
|
@@ -29,7 +29,7 @@ const ProgressText = /*#__PURE__*/_styled(Text, {
|
|
|
29
29
|
[Progress.completed]: {}
|
|
30
30
|
}
|
|
31
31
|
})(props)
|
|
32
|
-
}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MZWFybmluZ091dGNvbWVUaWxlL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQnFCIiwiZmlsZSI6Ii4uLy4uL3NyYy9MZWFybmluZ091dGNvbWVUaWxlL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuY2hvciwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IFNtYWxsQ2hlY2tJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHsgdmFyaWFudCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7XG4gIGxlYXJuaW5nT3V0Y29tZUxhYmVscyxcbiAgTGVhcm5pbmdPdXRjb21lTG93QXNzZXNzbWVudERvdCxcbn0gZnJvbSAnLi4vTGVhcm5pbmdPdXRjb21lQmFkZ2VzJztcbmltcG9ydCB7IExlYXJuaW5nT3V0Y29tZVBvcG92ZXIgfSBmcm9tICcuLi9MZWFybmluZ091dGNvbWVQb3BvdmVyJztcbmltcG9ydCB7IFRpbGUgfSBmcm9tICcuL1RpbGUnO1xuaW1wb3J0IHtcbiAgTGVhcm5pbmdPdXRjb21lUG9wb3ZlckRldGFpbHNQcm9wcyxcbiAgTGVhcm5pbmdPdXRjb21lVGlsZVByb3BzLFxuICBQcm9ncmVzcyxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IFByb2dyZXNzVGV4dCA9IHN0eWxlZChUZXh0KTx7IHByb2dyZXNzOiBQcm9ncmVzczsgaXNTbWFsbDogYm9vbGVhbiB9PihcbiAgKHByb3BzKSA9PiAoe1xuICAgIC4uLnZhcmlhbnQoe1xuICAgICAgcHJvcDogJ3Byb2dyZXNzJyxcbiAgICAgIGJhc2U6IHtcbiAgICAgICAgZm9udFNpemU6IDE0LFxuICAgICAgfSxcbiAgICAgIHZhcmlhbnRzOiB7XG4gICAgICAgIFtQcm9ncmVzcy5ub3RTdGFydGVkXToge1xuICAgICAgICAgIGNvbG9yOiAndGV4dC1zZWNvbmRhcnknLFxuICAgICAgICAgIGZvbnRXZWlnaHQ6IDQwMCxcbiAgICAgICAgfSxcbiAgICAgICAgW1Byb2dyZXNzLmluUHJvZ3Jlc3NdOiB7XG4gICAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgICBmb250V2VpZ2h0OiBwcm9wcy5pc1NtYWxsID8gNDAwIDogNzAwLFxuICAgICAgICB9LFxuICAgICAgICBbUHJvZ3Jlc3MuY29tcGxldGVkXToge30sXG4gICAgICB9LFxuICAgIH0pKHByb3BzKSxcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBwcm9ncmVzc1N0YXRlID0gKHBlcmNlbnRDb21wbGV0ZTogbnVtYmVyKTogUHJvZ3Jlc3MgPT4ge1xuICBpZiAocGVyY2VudENvbXBsZXRlID09PSAwKSB7XG4gICAgcmV0dXJuIFByb2dyZXNzLm5vdFN0YXJ0ZWQ7XG4gIH1cbiAgaWYgKHBlcmNlbnRDb21wbGV0ZSA+IDAgJiYgcGVyY2VudENvbXBsZXRlIDwgMTAwKSB7XG4gICAgcmV0dXJuIFByb2dyZXNzLmluUHJvZ3Jlc3M7XG4gIH1cbiAgcmV0dXJuIFByb2dyZXNzLmNvbXBsZXRlZDtcbn07XG5cbmV4cG9ydCBjb25zdCBMZWFybmluZ091dGNvbWVUaWxlOiBSZWFjdC5GQzxMZWFybmluZ091dGNvbWVUaWxlUHJvcHM+ID0gKHtcbiAgbGVhcm5pbmdPdXRjb21lRGV0YWlscyxcbiAgb25DbGljayxcbiAgaG92ZXIgPSBmYWxzZSxcbiAgcG9wb3ZlciA9IGZhbHNlLFxuICBzaXplID0gJ25vcm1hbCcsXG59KSA9PiB7XG4gIGNvbnN0IHsgaWQsIGxldmVsLCBvdXRjb21lLCBsYXRlc3RTY29yZSwgcGVyY2VudENvbXBsZXRlIH0gPVxuICAgIGxlYXJuaW5nT3V0Y29tZURldGFpbHM7XG5cbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgYWN0aXZlRWxSZWYgPSB1c2VSZWY8SFRNTEFuY2hvckVsZW1lbnQ+KG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzT3Blbikge1xuICAgICAgLy8gSWYgdGhlIHBvcG92ZXIgaXMgb3Blbiwgd2Ugd2FudCB0byBmb2N1cyB0aGUgYWN0aXZlIGVsZW1lbnRcbiAgICAgIGFjdGl2ZUVsUmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgfVxuICB9LCBbaXNPcGVuXSk7XG5cbiAgY29uc3QgcG9wb3ZlclByb3BzID1cbiAgICBwb3BvdmVyICYmIGhvdmVyXG4gICAgICA/IHtcbiAgICAgICAgICByZWY6IGFjdGl2ZUVsUmVmLFxuICAgICAgICAgIG9uTW91c2VFbnRlcjogKCkgPT4gc2V0SXNPcGVuKHRydWUpLFxuICAgICAgICAgIG9uTW91c2VMZWF2ZTogKCkgPT4gc2V0SXNPcGVuKGZhbHNlKSxcbiAgICAgICAgICBvbkZvY3VzOiAoKSA9PiBzZXRJc09wZW4odHJ1ZSksIC8vIEZvciBrZXlib2FyZCB1c2Vyc1xuICAgICAgICAgIG9uQmx1cjogKCkgPT4gc2V0SXNPcGVuKGZhbHNlKSwgLy8gQ2xvc2Ugb24gYmx1clxuICAgICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogYCR7aWR9LXBvcG92ZXJgLFxuICAgICAgICB9XG4gICAgICA6IHt9O1xuXG4gIGNvbnN0IGhpZ2hlc3RTY29yZSA9IHBvcG92ZXJcbiAgICA/IChsZWFybmluZ091dGNvbWVEZXRhaWxzIGFzIExlYXJuaW5nT3V0Y29tZVBvcG92ZXJEZXRhaWxzUHJvcHMpXG4gICAgICAgID8uaGlnaGVzdFNjb3JlXG4gICAgOiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgcGVyY2VudENvbXBsZXRlVmFsdWUgPSBwZXJjZW50Q29tcGxldGUgPz8gMDtcbiAgY29uc3QgcHJvZ3Jlc3MgPSBwcm9ncmVzc1N0YXRlKHBlcmNlbnRDb21wbGV0ZVZhbHVlKTtcblxuICBjb25zdCBpc0NvbXBsZXRlZCA9IHByb2dyZXNzID09PSBQcm9ncmVzcy5jb21wbGV0ZWQ7XG4gIGNvbnN0IGlzU21hbGwgPSBzaXplID09PSAnc21hbGwnO1xuICBjb25zdCBoYXNMb3dMYXRlc3RBc3Nlc3NtZW50ID0gQm9vbGVhbihcbiAgICBsYXRlc3RTY29yZSAhPSBudWxsICYmIGxhdGVzdFNjb3JlIDwgNzBcbiAgKTtcbiAgY29uc3Qgc2hvd0xvd0Fzc2Vzc21lbnREb3QgPSBoYXNMb3dMYXRlc3RBc3Nlc3NtZW50ICYmICFpc1NtYWxsO1xuXG4gIGNvbnN0IGxvd0Fzc2Vzc21lbnRMYWJlbCA9IGhhc0xvd0xhdGVzdEFzc2Vzc21lbnRcbiAgICA/
|
|
32
|
+
}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MZWFybmluZ091dGNvbWVUaWxlL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQnFCIiwiZmlsZSI6Ii4uLy4uL3NyYy9MZWFybmluZ091dGNvbWVUaWxlL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuY2hvciwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IFNtYWxsQ2hlY2tJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHsgdmFyaWFudCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LXN0eWxlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7XG4gIGxlYXJuaW5nT3V0Y29tZUxhYmVscyxcbiAgTGVhcm5pbmdPdXRjb21lTG93QXNzZXNzbWVudERvdCxcbn0gZnJvbSAnLi4vTGVhcm5pbmdPdXRjb21lQmFkZ2VzJztcbmltcG9ydCB7IExlYXJuaW5nT3V0Y29tZVBvcG92ZXIgfSBmcm9tICcuLi9MZWFybmluZ091dGNvbWVQb3BvdmVyJztcbmltcG9ydCB7IFRpbGUgfSBmcm9tICcuL1RpbGUnO1xuaW1wb3J0IHtcbiAgTGVhcm5pbmdPdXRjb21lUG9wb3ZlckRldGFpbHNQcm9wcyxcbiAgTGVhcm5pbmdPdXRjb21lVGlsZVByb3BzLFxuICBQcm9ncmVzcyxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IFByb2dyZXNzVGV4dCA9IHN0eWxlZChUZXh0KTx7IHByb2dyZXNzOiBQcm9ncmVzczsgaXNTbWFsbDogYm9vbGVhbiB9PihcbiAgKHByb3BzKSA9PiAoe1xuICAgIC4uLnZhcmlhbnQoe1xuICAgICAgcHJvcDogJ3Byb2dyZXNzJyxcbiAgICAgIGJhc2U6IHtcbiAgICAgICAgZm9udFNpemU6IDE0LFxuICAgICAgfSxcbiAgICAgIHZhcmlhbnRzOiB7XG4gICAgICAgIFtQcm9ncmVzcy5ub3RTdGFydGVkXToge1xuICAgICAgICAgIGNvbG9yOiAndGV4dC1zZWNvbmRhcnknLFxuICAgICAgICAgIGZvbnRXZWlnaHQ6IDQwMCxcbiAgICAgICAgfSxcbiAgICAgICAgW1Byb2dyZXNzLmluUHJvZ3Jlc3NdOiB7XG4gICAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgICBmb250V2VpZ2h0OiBwcm9wcy5pc1NtYWxsID8gNDAwIDogNzAwLFxuICAgICAgICB9LFxuICAgICAgICBbUHJvZ3Jlc3MuY29tcGxldGVkXToge30sXG4gICAgICB9LFxuICAgIH0pKHByb3BzKSxcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBwcm9ncmVzc1N0YXRlID0gKHBlcmNlbnRDb21wbGV0ZTogbnVtYmVyKTogUHJvZ3Jlc3MgPT4ge1xuICBpZiAocGVyY2VudENvbXBsZXRlID09PSAwKSB7XG4gICAgcmV0dXJuIFByb2dyZXNzLm5vdFN0YXJ0ZWQ7XG4gIH1cbiAgaWYgKHBlcmNlbnRDb21wbGV0ZSA+IDAgJiYgcGVyY2VudENvbXBsZXRlIDwgMTAwKSB7XG4gICAgcmV0dXJuIFByb2dyZXNzLmluUHJvZ3Jlc3M7XG4gIH1cbiAgcmV0dXJuIFByb2dyZXNzLmNvbXBsZXRlZDtcbn07XG5cbmV4cG9ydCBjb25zdCBMZWFybmluZ091dGNvbWVUaWxlOiBSZWFjdC5GQzxMZWFybmluZ091dGNvbWVUaWxlUHJvcHM+ID0gKHtcbiAgbGVhcm5pbmdPdXRjb21lRGV0YWlscyxcbiAgb25DbGljayxcbiAgaG92ZXIgPSBmYWxzZSxcbiAgcG9wb3ZlciA9IGZhbHNlLFxuICBzaXplID0gJ25vcm1hbCcsXG59KSA9PiB7XG4gIGNvbnN0IHsgaWQsIGxldmVsLCBvdXRjb21lLCBsYXRlc3RTY29yZSwgcGVyY2VudENvbXBsZXRlIH0gPVxuICAgIGxlYXJuaW5nT3V0Y29tZURldGFpbHM7XG5cbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgYWN0aXZlRWxSZWYgPSB1c2VSZWY8SFRNTEFuY2hvckVsZW1lbnQ+KG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzT3Blbikge1xuICAgICAgLy8gSWYgdGhlIHBvcG92ZXIgaXMgb3Blbiwgd2Ugd2FudCB0byBmb2N1cyB0aGUgYWN0aXZlIGVsZW1lbnRcbiAgICAgIGFjdGl2ZUVsUmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgfVxuICB9LCBbaXNPcGVuXSk7XG5cbiAgY29uc3QgcG9wb3ZlclByb3BzID1cbiAgICBwb3BvdmVyICYmIGhvdmVyXG4gICAgICA/IHtcbiAgICAgICAgICByZWY6IGFjdGl2ZUVsUmVmLFxuICAgICAgICAgIG9uTW91c2VFbnRlcjogKCkgPT4gc2V0SXNPcGVuKHRydWUpLFxuICAgICAgICAgIG9uTW91c2VMZWF2ZTogKCkgPT4gc2V0SXNPcGVuKGZhbHNlKSxcbiAgICAgICAgICBvbkZvY3VzOiAoKSA9PiBzZXRJc09wZW4odHJ1ZSksIC8vIEZvciBrZXlib2FyZCB1c2Vyc1xuICAgICAgICAgIG9uQmx1cjogKCkgPT4gc2V0SXNPcGVuKGZhbHNlKSwgLy8gQ2xvc2Ugb24gYmx1clxuICAgICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogYCR7aWR9LXBvcG92ZXJgLFxuICAgICAgICB9XG4gICAgICA6IHt9O1xuXG4gIGNvbnN0IGhpZ2hlc3RTY29yZSA9IHBvcG92ZXJcbiAgICA/IChsZWFybmluZ091dGNvbWVEZXRhaWxzIGFzIExlYXJuaW5nT3V0Y29tZVBvcG92ZXJEZXRhaWxzUHJvcHMpXG4gICAgICAgID8uaGlnaGVzdFNjb3JlXG4gICAgOiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgcGVyY2VudENvbXBsZXRlVmFsdWUgPSBwZXJjZW50Q29tcGxldGUgPz8gMDtcbiAgY29uc3QgcHJvZ3Jlc3MgPSBwcm9ncmVzc1N0YXRlKHBlcmNlbnRDb21wbGV0ZVZhbHVlKTtcblxuICBjb25zdCBpc0NvbXBsZXRlZCA9IHByb2dyZXNzID09PSBQcm9ncmVzcy5jb21wbGV0ZWQ7XG4gIGNvbnN0IGlzU21hbGwgPSBzaXplID09PSAnc21hbGwnO1xuICBjb25zdCBoYXNMb3dMYXRlc3RBc3Nlc3NtZW50ID0gQm9vbGVhbihcbiAgICBsYXRlc3RTY29yZSAhPSBudWxsICYmIGxhdGVzdFNjb3JlIDwgNzBcbiAgKTtcbiAgY29uc3Qgc2hvd0xvd0Fzc2Vzc21lbnREb3QgPSBoYXNMb3dMYXRlc3RBc3Nlc3NtZW50ICYmICFpc1NtYWxsO1xuXG4gIGNvbnN0IGxvd0Fzc2Vzc21lbnRMYWJlbCA9IGhhc0xvd0xhdGVzdEFzc2Vzc21lbnRcbiAgICA/ICdNb3N0IHJlY2VudCBhc3Nlc3NtZW50IHNjb3JlIGlzIGJlbG93IDcwJSwgbmVlZHMgcmV2aWV3LiAnXG4gICAgOiAnJztcbiAgY29uc3QgZGVmYXVsdEFyaWFMYWJlbCA9IGAke2xlYXJuaW5nT3V0Y29tZUxhYmVsc1tsZXZlbF19OiAke291dGNvbWV9ICR7bG93QXNzZXNzbWVudExhYmVsfVByb2dyZXNzICR7cGVyY2VudENvbXBsZXRlVmFsdWV9JSBjb21wbGV0ZWQuYDtcbiAgY29uc3QgZXZhbHVhdGlvblZhbHVlc0xhYmVsID1cbiAgICBpc09wZW4gJiYgKGhpZ2hlc3RTY29yZSB8fCBsYXRlc3RTY29yZSlcbiAgICAgID8gYEV2YWx1YXRpb24gVmFsdWVzIC0gJHtcbiAgICAgICAgICBoaWdoZXN0U2NvcmUgPyBgSGlnaGVzdCBhc3Nlc3NtZW50IHNjb3JlICR7aGlnaGVzdFNjb3JlfS4gYCA6ICcnXG4gICAgICAgIH0ke2xhdGVzdFNjb3JlID8gYFJlY2VudCBhc3Nlc3NtZW50IHNjb3JlICR7bGF0ZXN0U2NvcmV9LmAgOiAnJ31gXG4gICAgICA6ICcnO1xuXG4gIHJldHVybiAoXG4gICAgPEFuY2hvclxuICAgICAgYXJpYS1sYWJlbD17YCR7ZGVmYXVsdEFyaWFMYWJlbH0gJHtldmFsdWF0aW9uVmFsdWVzTGFiZWx9YH1cbiAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIHsuLi5wb3BvdmVyUHJvcHN9XG4gICAgPlxuICAgICAgPFRpbGUgaG92ZXI9e2hvdmVyfSBwcm9ncmVzcz17cHJvZ3Jlc3N9IHNpemU9e3NpemV9PlxuICAgICAgICB7aXNDb21wbGV0ZWQgPyAoXG4gICAgICAgICAgPFNtYWxsQ2hlY2tJY29uXG4gICAgICAgICAgICBzaXplPXtpc1NtYWxsID8gMTIgOiAxNn1cbiAgICAgICAgICAgIHRleHRDb2xvcj1cImJhY2tncm91bmQtY29udHJhc3RcIlxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFByb2dyZXNzVGV4dCBwcm9ncmVzcz17cHJvZ3Jlc3N9IGlzU21hbGw9e2lzU21hbGx9PlxuICAgICAgICAgICAge2Ake3BlcmNlbnRDb21wbGV0ZVZhbHVlfSVgfVxuICAgICAgICAgIDwvUHJvZ3Jlc3NUZXh0PlxuICAgICAgICApfVxuICAgICAgICB7c2hvd0xvd0Fzc2Vzc21lbnREb3QgJiYgKFxuICAgICAgICAgIDxMZWFybmluZ091dGNvbWVMb3dBc3Nlc3NtZW50RG90XG4gICAgICAgICAgICBwb3NpdGlvbj1cImFic29sdXRlXCJcbiAgICAgICAgICAgIHRvcD1cIi0yMCVcIlxuICAgICAgICAgICAgcmlnaHQ9XCItMjAlXCJcbiAgICAgICAgICAgIGhhc0JvcmRlclxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1RpbGU+XG4gICAgICB7aXNPcGVuICYmIChcbiAgICAgICAgPExlYXJuaW5nT3V0Y29tZVBvcG92ZXJcbiAgICAgICAgICBhY3RpdmVFbFJlZj17YWN0aXZlRWxSZWZ9XG4gICAgICAgICAgaG9yaXpvbnRhbE9mZnNldD17aXNTbWFsbCAmJiBpc0NvbXBsZXRlZCA/IDE1OSA6IGlzU21hbGwgPyAxNTMgOiAxNTB9XG4gICAgICAgICAgaWQ9e2Ake2lkfS1wb3BvdmVyYH1cbiAgICAgICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgICAgICBsZWFybmluZ091dGNvbWVEZXRhaWxzPXtcbiAgICAgICAgICAgIGxlYXJuaW5nT3V0Y29tZURldGFpbHMgYXMgTGVhcm5pbmdPdXRjb21lUG9wb3ZlckRldGFpbHNQcm9wc1xuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9BbmNob3I+XG4gICk7XG59O1xuIl19 */");
|
|
33
33
|
export const progressState = percentComplete => {
|
|
34
34
|
if (percentComplete === 0) {
|
|
35
35
|
return Progress.notStarted;
|
|
@@ -85,7 +85,6 @@ export const LearningOutcomeTile = ({
|
|
|
85
85
|
"aria-label": `${defaultAriaLabel} ${evaluationValuesLabel}`,
|
|
86
86
|
variant: "interface",
|
|
87
87
|
onClick: onClick,
|
|
88
|
-
"data-testid": `learning-outcome-tile-${id}`,
|
|
89
88
|
...popoverProps,
|
|
90
89
|
children: [/*#__PURE__*/_jsxs(Tile, {
|
|
91
90
|
hover: hover,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codecademy/brand",
|
|
3
3
|
"description": "Brand component library for Codecademy",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.22.0-alpha.cf67b706c8.0",
|
|
5
5
|
"author": "Codecademy Engineering <dev@codecademy.com>",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@emotion/is-prop-valid": "^1.2.1",
|