@coorpacademy/components 11.9.3-alpha.24 → 11.9.3-alpha.25.24
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/es/atom/provider/index.d.ts.map +1 -1
- package/es/atom/provider/index.js +0 -2
- package/es/atom/provider/index.js.map +1 -1
- package/es/molecule/answer/index.d.ts +0 -3
- package/es/molecule/answer/index.d.ts.map +1 -1
- package/es/molecule/answer/index.js +4 -11
- package/es/molecule/answer/index.js.map +1 -1
- package/es/organism/mooc-header/index.d.ts +6 -0
- package/es/organism/mooc-header/index.d.ts.map +1 -1
- package/es/organism/mooc-header/index.js +70 -8
- package/es/organism/mooc-header/index.js.map +1 -1
- package/es/organism/mooc-header/style.css +46 -0
- package/es/template/teams-dashboard/index.d.ts +2 -0
- package/lib/atom/provider/index.d.ts.map +1 -1
- package/lib/atom/provider/index.js +0 -2
- package/lib/atom/provider/index.js.map +1 -1
- package/lib/molecule/answer/index.d.ts +0 -3
- package/lib/molecule/answer/index.d.ts.map +1 -1
- package/lib/molecule/answer/index.js +4 -11
- package/lib/molecule/answer/index.js.map +1 -1
- package/lib/organism/mooc-header/index.d.ts +6 -0
- package/lib/organism/mooc-header/index.d.ts.map +1 -1
- package/lib/organism/mooc-header/index.js +69 -7
- package/lib/organism/mooc-header/index.js.map +1 -1
- package/lib/organism/mooc-header/style.css +46 -0
- package/lib/template/teams-dashboard/index.d.ts +2 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/provider/index.js"],"names":[],"mappings":";;;AAqGA,4DAMC;AAED,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/provider/index.js"],"names":[],"mappings":";;;AAqGA,4DAMC;AAED,iEAKC;AA1DD;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQE;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAKE;IAEF;;;;MAQC;IAED,sCAKC;IADC;;;;;MAA+D;IAGjE;;;;;MAEC;CAMF"}
|
|
@@ -124,9 +124,7 @@ const GetSkinFromContext = legacyContext => {
|
|
|
124
124
|
};
|
|
125
125
|
|
|
126
126
|
const GetTranslateFromContext = legacyContext => {
|
|
127
|
-
console.log('legacy', legacyContext);
|
|
128
127
|
const context = useWebContext();
|
|
129
|
-
console.log('context', context);
|
|
130
128
|
|
|
131
129
|
const legacyTranslate = _get('translate', legacyContext);
|
|
132
130
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","SrcPropType","ColorPropType","HexPropType","WebContext","useWebContext","DEFAULT_SKIN","common","good","bad","primary","life","brand","primaryAdd1","primaryAdd2","primaryAdd3","primaryAdd4","xtraLightGrey","light","medium","dark","grey","orangeAdd","orange","positive","lightGreen","negative","battle","white","black","mergeSkin","skin","historyShape","shape","createHref","func","push","skinShape","objectOf","images","logo","login","icons","mod","courses","arrayOf","texts","translateShape","Provider","Component","getDerivedStateFromProps","props","history","translate","constructor","context","Vimeo","state","getChildContext","render","children","Children","only","childContextTypes","object","propTypes","node","isRequired","GetSkinFromContext","legacyContext","legacySkin","GetTranslateFromContext","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","SrcPropType","ColorPropType","HexPropType","WebContext","useWebContext","DEFAULT_SKIN","common","good","bad","primary","life","brand","primaryAdd1","primaryAdd2","primaryAdd3","primaryAdd4","xtraLightGrey","light","medium","dark","grey","orangeAdd","orange","positive","lightGreen","negative","battle","white","black","mergeSkin","skin","historyShape","shape","createHref","func","push","skinShape","objectOf","images","logo","login","icons","mod","courses","arrayOf","texts","translateShape","Provider","Component","getDerivedStateFromProps","props","history","translate","constructor","context","Vimeo","state","getChildContext","render","children","Children","only","childContextTypes","object","propTypes","node","isRequired","GetSkinFromContext","legacyContext","legacySkin","GetTranslateFromContext","legacyTranslate"],"sources":["../../../src/atom/provider/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {defaultsDeep, get, getOr} from 'lodash/fp';\nimport {SrcPropType, ColorPropType, HexPropType} from '../../util/proptypes';\nimport WebContext, {useWebContext} from './web-context';\n\nconst DEFAULT_SKIN = {\n common: {\n good: '#24b694',\n bad: '#ed1c24',\n primary: '#00B0FF',\n life: '#ed1c24',\n brand: '#00B0FF',\n primaryAdd1: '#B3E5FC',\n primaryAdd2: '#0091EA',\n primaryAdd3: '#0277BD',\n primaryAdd4: '#015798',\n xtraLightGrey: '#FAFAFA',\n light: '#ECEFF1',\n medium: '#90A4AE',\n dark: '#546E7A',\n grey: '#607D8B',\n orangeAdd: '#FF7043',\n orange: '#FFA000',\n positive: '#3EC483',\n lightGreen: '#66BB6A',\n negative: '#F73F52',\n battle: '#FFE100',\n white: '#FFFFFF',\n black: '#14171A'\n }\n};\n\nconst mergeSkin = (skin = {}) => defaultsDeep(DEFAULT_SKIN, skin);\n\nconst historyShape = PropTypes.shape({\n createHref: PropTypes.func,\n push: PropTypes.func\n});\n\nconst skinShape = PropTypes.shape({\n common: PropTypes.objectOf(ColorPropType),\n images: PropTypes.shape({\n 'logo-mobile': SrcPropType,\n logo: SrcPropType,\n 'logo-email': SrcPropType,\n login: SrcPropType\n }),\n icons: PropTypes.objectOf(HexPropType),\n mod: PropTypes.objectOf(ColorPropType),\n courses: PropTypes.arrayOf(ColorPropType),\n texts: PropTypes.objectOf(ColorPropType)\n});\n\nconst translateShape = PropTypes.func;\n\nclass Provider extends React.Component {\n static propTypes = {\n history: historyShape,\n skin: skinShape,\n translate: translateShape,\n children: PropTypes.node.isRequired,\n Vimeo: PropTypes.shape({\n common: PropTypes.func\n })\n };\n\n static childContextTypes = {\n history: historyShape,\n skin: skinShape,\n translate: translateShape,\n Vimeo: PropTypes.object\n };\n\n static getDerivedStateFromProps(props) {\n const {history, skin, translate} = props;\n\n return {\n history,\n skin: mergeSkin(skin),\n translate\n };\n }\n\n constructor(props, context) {\n super(props, context);\n const {history, skin, translate, Vimeo} = props;\n // eslint-disable-next-line react/no-unused-state\n this.state = {history, skin: mergeSkin(skin), translate, Vimeo};\n }\n\n getChildContext() {\n return this.state;\n }\n\n render() {\n const {children} = this.props;\n return React.Children.only(children);\n }\n}\n\nconst GetSkinFromContext = legacyContext => {\n const context = useWebContext();\n const legacySkin = get('skin', legacyContext);\n const skin = getOr(legacySkin, 'skin', context);\n\n return skin;\n};\n\nconst GetTranslateFromContext = legacyContext => {\n const context = useWebContext();\n const legacyTranslate = get('translate', legacyContext);\n const translate = getOr(legacyTranslate, 'translate', context);\n return translate;\n};\n\nexport {WebContext, useWebContext, GetSkinFromContext, GetTranslateFromContext};\nexport default Provider;\n"],"mappings":"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"}
|
|
@@ -2,9 +2,6 @@ export default Answer;
|
|
|
2
2
|
declare function Answer(props: any): JSX.Element;
|
|
3
3
|
declare namespace Answer {
|
|
4
4
|
export { propTypes };
|
|
5
|
-
export namespace contextTypes {
|
|
6
|
-
const translate: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
7
|
-
}
|
|
8
5
|
}
|
|
9
6
|
import propTypes from "./prop-types";
|
|
10
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/answer/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/answer/index.js"],"names":[],"mappings":";AAwEA,iDAWC"}
|
|
@@ -15,7 +15,7 @@ import QcmGraphic from '../questions/qcm-graphic';
|
|
|
15
15
|
import QuestionRange from '../questions/question-range';
|
|
16
16
|
import Template from '../questions/template';
|
|
17
17
|
import Audio from '../audio';
|
|
18
|
-
import
|
|
18
|
+
import { GetTranslateFromContext } from '../../atom/provider';
|
|
19
19
|
import style from './style.css';
|
|
20
20
|
import propTypes, { MediaViewPropTypes, TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO } from './prop-types';
|
|
21
21
|
|
|
@@ -64,12 +64,11 @@ MediaView.propTypes = process.env.NODE_ENV !== "production" ? MediaViewPropTypes
|
|
|
64
64
|
const Switch = ({
|
|
65
65
|
model,
|
|
66
66
|
help
|
|
67
|
-
}
|
|
67
|
+
}) => {
|
|
68
68
|
const {
|
|
69
69
|
type
|
|
70
|
-
} = model;
|
|
71
|
-
|
|
72
|
-
const translate = legacyContext.translate;
|
|
70
|
+
} = model;
|
|
71
|
+
const translate = GetTranslateFromContext();
|
|
73
72
|
|
|
74
73
|
switch (type) {
|
|
75
74
|
case 'qcmDrag':
|
|
@@ -112,9 +111,6 @@ Switch.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
112
111
|
model: propTypes.model,
|
|
113
112
|
help: propTypes.help
|
|
114
113
|
} : {};
|
|
115
|
-
Switch.contextTypes = {
|
|
116
|
-
translate: Provider.childContextTypes.translate
|
|
117
|
-
};
|
|
118
114
|
|
|
119
115
|
const Answer = props => {
|
|
120
116
|
const {
|
|
@@ -134,8 +130,5 @@ const Answer = props => {
|
|
|
134
130
|
};
|
|
135
131
|
|
|
136
132
|
Answer.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
|
|
137
|
-
Answer.contextTypes = {
|
|
138
|
-
translate: Provider.childContextTypes.translate
|
|
139
|
-
};
|
|
140
133
|
export default Answer;
|
|
141
134
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","VideoPlayer","DropDown","FreeText","QcmDrag","Qcm","QcmGraphic","QuestionRange","Template","Audio","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","VideoPlayer","DropDown","FreeText","QcmDrag","Qcm","QcmGraphic","QuestionRange","Template","Audio","GetTranslateFromContext","style","propTypes","MediaViewPropTypes","TYPE_AUDIO","TYPE_IMAGE","TYPE_VIDEO","MediaView","media","videoId","type","childProps","backgroundImage","url","video","audio","Switch","model","help","translate","Answer","props","wrapper"],"sources":["../../../src/molecule/answer/index.js"],"sourcesContent":["import React from 'react';\nimport {omit} from 'lodash/fp';\nimport VideoPlayer from '../video-player';\nimport DropDown from '../questions/drop-down';\nimport FreeText from '../questions/free-text';\nimport QcmDrag from '../questions/qcm-drag';\nimport Qcm from '../questions/qcm';\nimport QcmGraphic from '../questions/qcm-graphic';\nimport QuestionRange from '../questions/question-range';\nimport Template from '../questions/template';\nimport Audio from '../audio';\nimport {GetTranslateFromContext} from '../../atom/provider';\nimport style from './style.css';\nimport propTypes, {MediaViewPropTypes, TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from './prop-types';\n\nconst MediaView = ({media}) => {\n const {videoId, type, ...childProps} = media;\n switch (type) {\n case TYPE_IMAGE:\n return (\n <div\n className={style.media}\n style={{\n backgroundImage: `url(${media.url})`\n }}\n />\n );\n case TYPE_VIDEO:\n return (\n <div className={style.video}>\n <VideoPlayer {...omit('id', childProps)} id={videoId} height=\"100%\" width=\"100%\" />\n </div>\n );\n case TYPE_AUDIO:\n return (\n <div className={style.audio}>\n <Audio {...omit('id', childProps)} height=\"100%\" width=\"100%\" />\n </div>\n );\n default:\n return null;\n }\n};\n\nMediaView.propTypes = MediaViewPropTypes;\n\nconst Switch = ({model, help}) => {\n const {type} = model;\n const translate = GetTranslateFromContext();\n switch (type) {\n case 'qcmDrag':\n return <QcmDrag {...model} help={help} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcm':\n return <Qcm {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcmGraphic':\n return <QcmGraphic {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'freeText':\n return <FreeText {...model} />;\n case 'dropDown':\n return <DropDown {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'slider':\n return <QuestionRange {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'template':\n return <Template {...model} groupAriaLabel={translate('answer_the_question')} />;\n }\n};\n\nSwitch.propTypes = {\n model: propTypes.model,\n help: propTypes.help\n};\n\nconst Answer = props => {\n const {model, media, help} = props;\n\n return (\n <div data-name=\"answer\" className={style.wrapper}>\n {media ? <MediaView media={media} /> : null}\n <form>\n <Switch model={model} help={help} />\n </form>\n </div>\n );\n};\n\nAnswer.propTypes = propTypes;\n\nexport default Answer;\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,QAAP,MAAqB,wBAArB;AACA,OAAOC,QAAP,MAAqB,wBAArB;AACA,OAAOC,OAAP,MAAoB,uBAApB;AACA,OAAOC,GAAP,MAAgB,kBAAhB;AACA,OAAOC,UAAP,MAAuB,0BAAvB;AACA,OAAOC,aAAP,MAA0B,6BAA1B;AACA,OAAOC,QAAP,MAAqB,uBAArB;AACA,OAAOC,KAAP,MAAkB,UAAlB;AACA,SAAQC,uBAAR,QAAsC,qBAAtC;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,SAAP,IAAmBC,kBAAnB,EAAuCC,UAAvC,EAAmDC,UAAnD,EAA+DC,UAA/D,QAAgF,cAAhF;;AAEA,MAAMC,SAAS,GAAG,CAAC;EAACC;AAAD,CAAD,KAAa;EAC7B,MAAM;IAACC,OAAD;IAAUC;EAAV,IAAiCF,KAAvC;EAAA,MAAyBG,UAAzB,iCAAuCH,KAAvC;;EACA,QAAQE,IAAR;IACE,KAAKL,UAAL;MACE,oBACE;QACE,SAAS,EAAEJ,KAAK,CAACO,KADnB;QAEE,KAAK,EAAE;UACLI,eAAe,EAAG,OAAMJ,KAAK,CAACK,GAAI;QAD7B;MAFT,EADF;;IAQF,KAAKP,UAAL;MACE,oBACE;QAAK,SAAS,EAAEL,KAAK,CAACa;MAAtB,gBACE,oBAAC,WAAD,eAAiB,MAAK,IAAL,EAAWH,UAAX,CAAjB;QAAyC,EAAE,EAAEF,OAA7C;QAAsD,MAAM,EAAC,MAA7D;QAAoE,KAAK,EAAC;MAA1E,GADF,CADF;;IAKF,KAAKL,UAAL;MACE,oBACE;QAAK,SAAS,EAAEH,KAAK,CAACc;MAAtB,gBACE,oBAAC,KAAD,eAAW,MAAK,IAAL,EAAWJ,UAAX,CAAX;QAAmC,MAAM,EAAC,MAA1C;QAAiD,KAAK,EAAC;MAAvD,GADF,CADF;;IAKF;MACE,OAAO,IAAP;EAvBJ;AAyBD,CA3BD;;AA6BAJ,SAAS,CAACL,SAAV,2CAAsBC,kBAAtB;;AAEA,MAAMa,MAAM,GAAG,CAAC;EAACC,KAAD;EAAQC;AAAR,CAAD,KAAmB;EAChC,MAAM;IAACR;EAAD,IAASO,KAAf;EACA,MAAME,SAAS,GAAGnB,uBAAuB,EAAzC;;EACA,QAAQU,IAAR;IACE,KAAK,SAAL;MACE,oBAAO,oBAAC,OAAD,eAAaO,KAAb;QAAoB,IAAI,EAAEC,IAA1B;QAAgC,cAAc,EAAEC,SAAS,CAAC,qBAAD;MAAzD,GAAP;;IACF,KAAK,KAAL;MACE,oBAAO,oBAAC,GAAD,eAASF,KAAT;QAAgB,cAAc,EAAEE,SAAS,CAAC,qBAAD;MAAzC,GAAP;;IACF,KAAK,YAAL;MACE,oBAAO,oBAAC,UAAD,eAAgBF,KAAhB;QAAuB,cAAc,EAAEE,SAAS,CAAC,qBAAD;MAAhD,GAAP;;IACF,KAAK,UAAL;MACE,oBAAO,oBAAC,QAAD,EAAcF,KAAd,CAAP;;IACF,KAAK,UAAL;MACE,oBAAO,oBAAC,QAAD,eAAcA,KAAd;QAAqB,cAAc,EAAEE,SAAS,CAAC,qBAAD;MAA9C,GAAP;;IACF,KAAK,QAAL;MACE,oBAAO,oBAAC,aAAD,eAAmBF,KAAnB;QAA0B,cAAc,EAAEE,SAAS,CAAC,qBAAD;MAAnD,GAAP;;IACF,KAAK,UAAL;MACE,oBAAO,oBAAC,QAAD,eAAcF,KAAd;QAAqB,cAAc,EAAEE,SAAS,CAAC,qBAAD;MAA9C,GAAP;EAdJ;AAgBD,CAnBD;;AAqBAH,MAAM,CAACd,SAAP,2CAAmB;EACjBe,KAAK,EAAEf,SAAS,CAACe,KADA;EAEjBC,IAAI,EAAEhB,SAAS,CAACgB;AAFC,CAAnB;;AAKA,MAAME,MAAM,GAAGC,KAAK,IAAI;EACtB,MAAM;IAACJ,KAAD;IAAQT,KAAR;IAAeU;EAAf,IAAuBG,KAA7B;EAEA,oBACE;IAAK,aAAU,QAAf;IAAwB,SAAS,EAAEpB,KAAK,CAACqB;EAAzC,GACGd,KAAK,gBAAG,oBAAC,SAAD;IAAW,KAAK,EAAEA;EAAlB,EAAH,GAAiC,IADzC,eAEE,+CACE,oBAAC,MAAD;IAAQ,KAAK,EAAES,KAAf;IAAsB,IAAI,EAAEC;EAA5B,EADF,CAFF,CADF;AAQD,CAXD;;AAaAE,MAAM,CAAClB,SAAP,2CAAmBA,SAAnB;AAEA,eAAekB,MAAf"}
|
|
@@ -7,6 +7,8 @@ declare class MoocHeader extends React.Component<any, any, any> {
|
|
|
7
7
|
href: PropTypes.Requireable<string>;
|
|
8
8
|
'aria-label': PropTypes.Requireable<string>;
|
|
9
9
|
'button-aria-label': PropTypes.Requireable<string>;
|
|
10
|
+
toolTipText: PropTypes.Requireable<string>;
|
|
11
|
+
closeToolTipInformationTextAriaLabel: PropTypes.Requireable<string>;
|
|
10
12
|
}>>;
|
|
11
13
|
search: PropTypes.Requireable<PropTypes.InferProps<{
|
|
12
14
|
value: PropTypes.Requireable<string>;
|
|
@@ -136,6 +138,7 @@ declare class MoocHeader extends React.Component<any, any, any> {
|
|
|
136
138
|
isSettingsOpen: boolean;
|
|
137
139
|
isMenuOpen: boolean;
|
|
138
140
|
isFocus: boolean;
|
|
141
|
+
isToolTipOpen: boolean;
|
|
139
142
|
};
|
|
140
143
|
handleSettingsToggle(): void;
|
|
141
144
|
handleMenuToggle(): void;
|
|
@@ -148,6 +151,9 @@ declare class MoocHeader extends React.Component<any, any, any> {
|
|
|
148
151
|
handleOnBlur(): void;
|
|
149
152
|
handleOnMenuOpen(): void;
|
|
150
153
|
handleOnMenuClose(): void;
|
|
154
|
+
handleOnMouseOver(): void;
|
|
155
|
+
handleOnMouseLeave(): void;
|
|
156
|
+
handleKeyPress(event: any): void;
|
|
151
157
|
componentDidUpdate(prevProps: any, prevState: any, prevContext: any): void;
|
|
152
158
|
menuSettings: any;
|
|
153
159
|
render(): JSX.Element | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAyBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAuBC;IArBC;;;;;MAKC;IAgDH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA7GD,2EASC;IAGC,kBAAsB;IAmGxB,6BAsaC;CACF"}
|
|
@@ -7,7 +7,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
9
|
import classnames from 'classnames';
|
|
10
|
-
import { NovaCompositionNavigationArrowDown as ArrowDown, NovaCompositionNavigationBurger as BurgerIcon, NovaCompositionNavigationClose as CloseIcon, NovaCompositionCoorpacademyStar as StarIcon, NovaCompositionCoorpacademyCharts as ChartsIcon, NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon, NovaCompositionCoorpacademyCog as CogIcon, NovaSolidTimeAlarm as AlarmIcon } from '@coorpacademy/nova-icons';
|
|
10
|
+
import { NovaCompositionNavigationArrowDown as ArrowDown, NovaCompositionNavigationBurger as BurgerIcon, NovaCompositionNavigationClose as CloseIcon, NovaCompositionCoorpacademyStar as StarIcon, NovaCompositionCoorpacademyCharts as ChartsIcon, NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon, NovaCompositionCoorpacademyCog as CogIcon, NovaCompositionCoorpacademyPlacesHome24 as HomeIcon, NovaSolidTimeAlarm as AlarmIcon } from '@coorpacademy/nova-icons';
|
|
11
11
|
import Provider from '../../atom/provider';
|
|
12
12
|
import Cta from '../../atom/cta';
|
|
13
13
|
import Select from '../../atom/select';
|
|
@@ -24,7 +24,8 @@ class MoocHeader extends React.Component {
|
|
|
24
24
|
this.state = {
|
|
25
25
|
isSettingsOpen: false,
|
|
26
26
|
isMenuOpen: false,
|
|
27
|
-
isFocus: false
|
|
27
|
+
isFocus: false,
|
|
28
|
+
isToolTipOpen: false
|
|
28
29
|
};
|
|
29
30
|
this.handleSettingsToggle = this.handleSettingsToggle.bind(this);
|
|
30
31
|
this.handleMenuToggle = this.handleMenuToggle.bind(this);
|
|
@@ -37,6 +38,9 @@ class MoocHeader extends React.Component {
|
|
|
37
38
|
this.handleOnBlur = this.handleOnBlur.bind(this);
|
|
38
39
|
this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);
|
|
39
40
|
this.handleOnMenuClose = this.handleOnMenuClose.bind(this);
|
|
41
|
+
this.handleOnMouseOver = this.handleOnMouseOver.bind(this);
|
|
42
|
+
this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);
|
|
43
|
+
this.handleKeyPress = this.handleKeyPress.bind(this);
|
|
40
44
|
}
|
|
41
45
|
|
|
42
46
|
componentDidUpdate(prevProps, prevState, prevContext) {
|
|
@@ -151,6 +155,30 @@ class MoocHeader extends React.Component {
|
|
|
151
155
|
}));
|
|
152
156
|
}
|
|
153
157
|
|
|
158
|
+
handleOnMouseOver() {
|
|
159
|
+
this.setState(() => ({
|
|
160
|
+
isToolTipOpen: true
|
|
161
|
+
}));
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
handleOnMouseLeave() {
|
|
165
|
+
this.setState(() => ({
|
|
166
|
+
isToolTipOpen: false
|
|
167
|
+
}));
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
handleKeyPress(event) {
|
|
171
|
+
if (event.key === 'Enter') {
|
|
172
|
+
this.setState(() => ({
|
|
173
|
+
isToolTipOpen: true
|
|
174
|
+
}));
|
|
175
|
+
} else if (event.key === 'Tab' || event.key === 'Escape') {
|
|
176
|
+
this.setState(() => ({
|
|
177
|
+
isToolTipOpen: false
|
|
178
|
+
}));
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
154
182
|
render() {
|
|
155
183
|
if (_isEmpty(this.props)) return null;
|
|
156
184
|
const {
|
|
@@ -168,7 +196,8 @@ class MoocHeader extends React.Component {
|
|
|
168
196
|
const {
|
|
169
197
|
isFocus,
|
|
170
198
|
isSettingsOpen,
|
|
171
|
-
isMenuOpen
|
|
199
|
+
isMenuOpen,
|
|
200
|
+
isToolTipOpen
|
|
172
201
|
} = this.state;
|
|
173
202
|
const {
|
|
174
203
|
translate,
|
|
@@ -177,7 +206,9 @@ class MoocHeader extends React.Component {
|
|
|
177
206
|
const {
|
|
178
207
|
'aria-label': logoAriaLabel,
|
|
179
208
|
closeMenuAriaLabel,
|
|
180
|
-
openMenuAriaLabel
|
|
209
|
+
openMenuAriaLabel,
|
|
210
|
+
toolTipText,
|
|
211
|
+
closeToolTipInformationTextAriaLabel
|
|
181
212
|
} = logo;
|
|
182
213
|
|
|
183
214
|
const logoUrl = _get('src', logo) || _get('images.logo', skin);
|
|
@@ -489,7 +520,10 @@ class MoocHeader extends React.Component {
|
|
|
489
520
|
"data-open": isMenuOpen,
|
|
490
521
|
className: isMenuOpen ? style.open : style.header
|
|
491
522
|
}, /*#__PURE__*/React.createElement("div", {
|
|
492
|
-
className: style.logoWrapper
|
|
523
|
+
className: style.logoWrapper,
|
|
524
|
+
"aria-label": toolTipText,
|
|
525
|
+
onMouseOver: this.handleOnMouseOver,
|
|
526
|
+
onMouseLeave: this.handleOnMouseLeave
|
|
493
527
|
}, /*#__PURE__*/React.createElement("div", {
|
|
494
528
|
className: style.navMobile,
|
|
495
529
|
"data-name": "nav-mobile"
|
|
@@ -515,11 +549,37 @@ class MoocHeader extends React.Component {
|
|
|
515
549
|
}))), /*#__PURE__*/React.createElement(Link, {
|
|
516
550
|
className: style.logo,
|
|
517
551
|
"data-name": "logo",
|
|
518
|
-
href: logo.href
|
|
552
|
+
href: logo.href,
|
|
553
|
+
onKeyDown: this.handleKeyPress,
|
|
554
|
+
tabIndex: 0,
|
|
555
|
+
"data-testid": "brand-logo"
|
|
519
556
|
}, /*#__PURE__*/React.createElement(Picture, {
|
|
520
557
|
src: logoUrl,
|
|
521
558
|
alt: logoAriaLabel
|
|
522
|
-
})
|
|
559
|
+
}), isToolTipOpen ? /*#__PURE__*/React.createElement("div", {
|
|
560
|
+
"aria-label": toolTipText,
|
|
561
|
+
tabIndex: 0,
|
|
562
|
+
"data-testid": "home-tooltip"
|
|
563
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
564
|
+
"aria-label": `${toolTipText} ${closeToolTipInformationTextAriaLabel}`,
|
|
565
|
+
role: "tooltip",
|
|
566
|
+
className: style.tooltipIconContainer,
|
|
567
|
+
tabIndex: 0
|
|
568
|
+
}, /*#__PURE__*/React.createElement(HomeIcon, {
|
|
569
|
+
className: style.homeIcon,
|
|
570
|
+
style: {
|
|
571
|
+
color: primaryColor
|
|
572
|
+
}
|
|
573
|
+
}), /*#__PURE__*/React.createElement("p", {
|
|
574
|
+
className: style.toolTipText // eslint-disable-next-line react/no-danger
|
|
575
|
+
,
|
|
576
|
+
dangerouslySetInnerHTML: {
|
|
577
|
+
__html: toolTipText
|
|
578
|
+
},
|
|
579
|
+
style: {
|
|
580
|
+
color: primaryColor
|
|
581
|
+
}
|
|
582
|
+
}))) : null)), searchFormView, /*#__PURE__*/React.createElement("div", {
|
|
523
583
|
className: isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper,
|
|
524
584
|
"data-name": "menu-wrapper"
|
|
525
585
|
}, pagesView, userView || linksView, settingsView)));
|
|
@@ -537,7 +597,9 @@ MoocHeader.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
537
597
|
srcMobile: PropTypes.string,
|
|
538
598
|
href: PropTypes.string,
|
|
539
599
|
'aria-label': PropTypes.string,
|
|
540
|
-
'button-aria-label': PropTypes.string
|
|
600
|
+
'button-aria-label': PropTypes.string,
|
|
601
|
+
toolTipText: PropTypes.string,
|
|
602
|
+
closeToolTipInformationTextAriaLabel: PropTypes.string
|
|
541
603
|
}),
|
|
542
604
|
search: PropTypes.shape(Search.propTypes),
|
|
543
605
|
'search-reset-aria-label': PropTypes.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaSolidVoteRewardsRewardsTrophy5","TrophyIcon","NovaCompositionCoorpacademyCog","CogIcon","NovaSolidTimeAlarm","AlarmIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","style","MoocHeader","Component","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","closeSettingsAriaLabel","activePageAriaLabel","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","closeLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","itemBadge","name","itemName","activePage","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","closeSettings","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","menuWrapper","hiddenMenuWrapper","contextTypes","childContextTypes","propTypes","shape","src","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'close-settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'close-settings-aria-label': closeSettingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen} = this.state;\n const {translate, skin} = this.context;\n const {'aria-label': logoAriaLabel, closeMenuAriaLabel, openMenuAriaLabel} = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const closeLabel = translate('Close');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n </Link>\n );\n });\n\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div className={style.currentOption} aria-haspopup=\"true\" data-name=\"item-more\">\n {moreAriaLabel}\n <ArrowDown color={mediumColor} className={style.caret} aria-label={moreAriaLabel} />\n </div>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} color={white} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} color={white} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} color={white} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <span className={style.label}>{title}</span>\n <InputSwitch {...switchProps} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n color={darkColor}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div data-name=\"settings\" className={style.settingsGroup}>\n {settingsElements}\n </div>\n <div\n className={style.closeSettings}\n onClick={this.handleSettingsToggle}\n aria-label={closeSettingsAriaLabel}\n >\n {closeLabel}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div className={style.logoWrapper}>\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n color={mediumColor}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n aria-label={openMenuAriaLabel}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n color={mediumColor}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n aria-label={closeMenuAriaLabel}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link className={style.logo} data-name=\"logo\" href={logo.href}>\n <Picture src={logoUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n {searchFormView}\n <div\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaSolidVoteRewardsRewardsTrophy5","TrophyIcon","NovaCompositionCoorpacademyCog","CogIcon","NovaCompositionCoorpacademyPlacesHome24","HomeIcon","NovaSolidTimeAlarm","AlarmIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","style","MoocHeader","Component","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","isToolTipOpen","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","handleOnMouseOver","handleOnMouseLeave","handleKeyPress","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","closeSettingsAriaLabel","activePageAriaLabel","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","closeLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","itemBadge","name","itemName","activePage","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","closeSettings","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","tooltipIconContainer","homeIcon","__html","menuWrapper","hiddenMenuWrapper","contextTypes","childContextTypes","propTypes","shape","src","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaCompositionCoorpacademyPlacesHome24 as HomeIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string,\n toolTipText: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'close-settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false,\n isToolTipOpen: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n this.handleOnMouseOver = this.handleOnMouseOver.bind(this);\n this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n handleOnMouseOver() {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n }\n\n handleOnMouseLeave() {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n\n handleKeyPress(event) {\n if (event.key === 'Enter') {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n }\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'close-settings-aria-label': closeSettingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen, isToolTipOpen} = this.state;\n const {translate, skin} = this.context;\n const {\n 'aria-label': logoAriaLabel,\n closeMenuAriaLabel,\n openMenuAriaLabel,\n toolTipText,\n closeToolTipInformationTextAriaLabel\n } = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const closeLabel = translate('Close');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n </Link>\n );\n });\n\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div className={style.currentOption} aria-haspopup=\"true\" data-name=\"item-more\">\n {moreAriaLabel}\n <ArrowDown color={mediumColor} className={style.caret} aria-label={moreAriaLabel} />\n </div>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} color={white} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} color={white} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} color={white} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <span className={style.label}>{title}</span>\n <InputSwitch {...switchProps} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n color={darkColor}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div data-name=\"settings\" className={style.settingsGroup}>\n {settingsElements}\n </div>\n <div\n className={style.closeSettings}\n onClick={this.handleSettingsToggle}\n aria-label={closeSettingsAriaLabel}\n >\n {closeLabel}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div\n className={style.logoWrapper}\n aria-label={toolTipText}\n onMouseOver={this.handleOnMouseOver}\n onMouseLeave={this.handleOnMouseLeave}\n >\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n color={mediumColor}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n aria-label={openMenuAriaLabel}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n color={mediumColor}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n aria-label={closeMenuAriaLabel}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link\n className={style.logo}\n data-name=\"logo\"\n href={logo.href}\n onKeyDown={this.handleKeyPress}\n tabIndex={0}\n data-testid=\"brand-logo\"\n >\n <Picture src={logoUrl} alt={logoAriaLabel} />\n {isToolTipOpen ? (\n <div aria-label={toolTipText} tabIndex={0} data-testid=\"home-tooltip\">\n <div\n aria-label={`${toolTipText} ${closeToolTipInformationTextAriaLabel}`}\n role=\"tooltip\"\n className={style.tooltipIconContainer}\n tabIndex={0}\n >\n <HomeIcon className={style.homeIcon} style={{color: primaryColor}} />\n <p\n className={style.toolTipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: toolTipText}}\n style={{color: primaryColor}}\n />\n </div>\n </div>\n ) : null}\n </Link>\n </div>\n {searchFormView}\n <div\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
|
|
@@ -501,6 +501,52 @@
|
|
|
501
501
|
color: dark;
|
|
502
502
|
}
|
|
503
503
|
|
|
504
|
+
.homeIcon {
|
|
505
|
+
width: 16px;
|
|
506
|
+
height: 14px;
|
|
507
|
+
margin-left: 16px;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
.toolTipText {
|
|
511
|
+
font-family: 'Gilroy';
|
|
512
|
+
font-size: 14px;
|
|
513
|
+
width: 121px;
|
|
514
|
+
height: 24px;
|
|
515
|
+
line-height: 27px;
|
|
516
|
+
order: 0;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
[role="tooltip"],
|
|
520
|
+
.logo .tooltipIconContainer + [role="tooltip"] {
|
|
521
|
+
border: none;
|
|
522
|
+
border-radius: 8px;
|
|
523
|
+
display: flex;
|
|
524
|
+
flex-direction: row;
|
|
525
|
+
align-items: center;
|
|
526
|
+
gap: 8px;
|
|
527
|
+
position: absolute;
|
|
528
|
+
background-color: white;
|
|
529
|
+
bottom: -2.5em;
|
|
530
|
+
height: 32px;
|
|
531
|
+
width: 160px;
|
|
532
|
+
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.08);
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
.tooltipIconContainer::after {
|
|
536
|
+
content: ' ';
|
|
537
|
+
display: inline-block;
|
|
538
|
+
visibility: inherit;
|
|
539
|
+
opacity: inherit;
|
|
540
|
+
width: 15px;
|
|
541
|
+
height: 15px;
|
|
542
|
+
transform: rotate(-45deg);
|
|
543
|
+
background-color: white;
|
|
544
|
+
position: inherit;
|
|
545
|
+
top: -6px;
|
|
546
|
+
right: 40%;
|
|
547
|
+
border-radius: 2px;
|
|
548
|
+
}
|
|
549
|
+
|
|
504
550
|
@media desktop {
|
|
505
551
|
.item {
|
|
506
552
|
padding: 0 11px;
|
|
@@ -13,6 +13,8 @@ declare namespace TeamsDashboard {
|
|
|
13
13
|
href: PropTypes.Requireable<string>;
|
|
14
14
|
'aria-label': PropTypes.Requireable<string>;
|
|
15
15
|
'button-aria-label': PropTypes.Requireable<string>;
|
|
16
|
+
toolTipText: PropTypes.Requireable<string>;
|
|
17
|
+
closeToolTipInformationTextAriaLabel: PropTypes.Requireable<string>;
|
|
16
18
|
}>>;
|
|
17
19
|
const platformLinks: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
18
20
|
submitValue: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/provider/index.js"],"names":[],"mappings":";;;AAqGA,4DAMC;AAED,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/provider/index.js"],"names":[],"mappings":";;;AAqGA,4DAMC;AAED,iEAKC;AA1DD;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQE;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAKE;IAEF;;;;MAQC;IAED,sCAKC;IADC;;;;;MAA+D;IAGjE;;;;;MAEC;CAMF"}
|
|
@@ -146,9 +146,7 @@ const GetSkinFromContext = legacyContext => {
|
|
|
146
146
|
exports.GetSkinFromContext = GetSkinFromContext;
|
|
147
147
|
|
|
148
148
|
const GetTranslateFromContext = legacyContext => {
|
|
149
|
-
console.log('legacy', legacyContext);
|
|
150
149
|
const context = (0, _webContext.useWebContext)();
|
|
151
|
-
console.log('context', context);
|
|
152
150
|
const legacyTranslate = (0, _get2.default)('translate', legacyContext);
|
|
153
151
|
const translate = (0, _getOr2.default)(legacyTranslate, 'translate', context);
|
|
154
152
|
return translate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DEFAULT_SKIN","common","good","bad","primary","life","brand","primaryAdd1","primaryAdd2","primaryAdd3","primaryAdd4","xtraLightGrey","light","medium","dark","grey","orangeAdd","orange","positive","lightGreen","negative","battle","white","black","mergeSkin","skin","historyShape","PropTypes","shape","createHref","func","push","skinShape","objectOf","ColorPropType","images","SrcPropType","logo","login","icons","HexPropType","mod","courses","arrayOf","texts","translateShape","Provider","React","Component","getDerivedStateFromProps","props","history","translate","constructor","context","Vimeo","state","getChildContext","render","children","Children","only","childContextTypes","object","propTypes","node","isRequired","GetSkinFromContext","legacyContext","useWebContext","legacySkin","GetTranslateFromContext","
|
|
1
|
+
{"version":3,"file":"index.js","names":["DEFAULT_SKIN","common","good","bad","primary","life","brand","primaryAdd1","primaryAdd2","primaryAdd3","primaryAdd4","xtraLightGrey","light","medium","dark","grey","orangeAdd","orange","positive","lightGreen","negative","battle","white","black","mergeSkin","skin","historyShape","PropTypes","shape","createHref","func","push","skinShape","objectOf","ColorPropType","images","SrcPropType","logo","login","icons","HexPropType","mod","courses","arrayOf","texts","translateShape","Provider","React","Component","getDerivedStateFromProps","props","history","translate","constructor","context","Vimeo","state","getChildContext","render","children","Children","only","childContextTypes","object","propTypes","node","isRequired","GetSkinFromContext","legacyContext","useWebContext","legacySkin","GetTranslateFromContext","legacyTranslate"],"sources":["../../../src/atom/provider/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {defaultsDeep, get, getOr} from 'lodash/fp';\nimport {SrcPropType, ColorPropType, HexPropType} from '../../util/proptypes';\nimport WebContext, {useWebContext} from './web-context';\n\nconst DEFAULT_SKIN = {\n common: {\n good: '#24b694',\n bad: '#ed1c24',\n primary: '#00B0FF',\n life: '#ed1c24',\n brand: '#00B0FF',\n primaryAdd1: '#B3E5FC',\n primaryAdd2: '#0091EA',\n primaryAdd3: '#0277BD',\n primaryAdd4: '#015798',\n xtraLightGrey: '#FAFAFA',\n light: '#ECEFF1',\n medium: '#90A4AE',\n dark: '#546E7A',\n grey: '#607D8B',\n orangeAdd: '#FF7043',\n orange: '#FFA000',\n positive: '#3EC483',\n lightGreen: '#66BB6A',\n negative: '#F73F52',\n battle: '#FFE100',\n white: '#FFFFFF',\n black: '#14171A'\n }\n};\n\nconst mergeSkin = (skin = {}) => defaultsDeep(DEFAULT_SKIN, skin);\n\nconst historyShape = PropTypes.shape({\n createHref: PropTypes.func,\n push: PropTypes.func\n});\n\nconst skinShape = PropTypes.shape({\n common: PropTypes.objectOf(ColorPropType),\n images: PropTypes.shape({\n 'logo-mobile': SrcPropType,\n logo: SrcPropType,\n 'logo-email': SrcPropType,\n login: SrcPropType\n }),\n icons: PropTypes.objectOf(HexPropType),\n mod: PropTypes.objectOf(ColorPropType),\n courses: PropTypes.arrayOf(ColorPropType),\n texts: PropTypes.objectOf(ColorPropType)\n});\n\nconst translateShape = PropTypes.func;\n\nclass Provider extends React.Component {\n static propTypes = {\n history: historyShape,\n skin: skinShape,\n translate: translateShape,\n children: PropTypes.node.isRequired,\n Vimeo: PropTypes.shape({\n common: PropTypes.func\n })\n };\n\n static childContextTypes = {\n history: historyShape,\n skin: skinShape,\n translate: translateShape,\n Vimeo: PropTypes.object\n };\n\n static getDerivedStateFromProps(props) {\n const {history, skin, translate} = props;\n\n return {\n history,\n skin: mergeSkin(skin),\n translate\n };\n }\n\n constructor(props, context) {\n super(props, context);\n const {history, skin, translate, Vimeo} = props;\n // eslint-disable-next-line react/no-unused-state\n this.state = {history, skin: mergeSkin(skin), translate, Vimeo};\n }\n\n getChildContext() {\n return this.state;\n }\n\n render() {\n const {children} = this.props;\n return React.Children.only(children);\n }\n}\n\nconst GetSkinFromContext = legacyContext => {\n const context = useWebContext();\n const legacySkin = get('skin', legacyContext);\n const skin = getOr(legacySkin, 'skin', context);\n\n return skin;\n};\n\nconst GetTranslateFromContext = legacyContext => {\n const context = useWebContext();\n const legacyTranslate = get('translate', legacyContext);\n const translate = getOr(legacyTranslate, 'translate', context);\n return translate;\n};\n\nexport {WebContext, useWebContext, GetSkinFromContext, GetTranslateFromContext};\nexport default Provider;\n"],"mappings":"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"}
|
|
@@ -2,9 +2,6 @@ export default Answer;
|
|
|
2
2
|
declare function Answer(props: any): JSX.Element;
|
|
3
3
|
declare namespace Answer {
|
|
4
4
|
export { propTypes };
|
|
5
|
-
export namespace contextTypes {
|
|
6
|
-
const translate: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
7
|
-
}
|
|
8
5
|
}
|
|
9
6
|
import propTypes from "./prop-types";
|
|
10
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/answer/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/answer/index.js"],"names":[],"mappings":";AAwEA,iDAWC"}
|
|
@@ -25,7 +25,7 @@ var _template = _interopRequireDefault(require("../questions/template"));
|
|
|
25
25
|
|
|
26
26
|
var _audio = _interopRequireDefault(require("../audio"));
|
|
27
27
|
|
|
28
|
-
var _provider =
|
|
28
|
+
var _provider = require("../../atom/provider");
|
|
29
29
|
|
|
30
30
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
31
31
|
|
|
@@ -88,12 +88,11 @@ MediaView.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.MediaVi
|
|
|
88
88
|
const Switch = ({
|
|
89
89
|
model,
|
|
90
90
|
help
|
|
91
|
-
}
|
|
91
|
+
}) => {
|
|
92
92
|
const {
|
|
93
93
|
type
|
|
94
|
-
} = model;
|
|
95
|
-
|
|
96
|
-
const translate = legacyContext.translate;
|
|
94
|
+
} = model;
|
|
95
|
+
const translate = (0, _provider.GetTranslateFromContext)();
|
|
97
96
|
|
|
98
97
|
switch (type) {
|
|
99
98
|
case 'qcmDrag':
|
|
@@ -136,9 +135,6 @@ Switch.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
136
135
|
model: _propTypes.default.model,
|
|
137
136
|
help: _propTypes.default.help
|
|
138
137
|
} : {};
|
|
139
|
-
Switch.contextTypes = {
|
|
140
|
-
translate: _provider.default.childContextTypes.translate
|
|
141
|
-
};
|
|
142
138
|
|
|
143
139
|
const Answer = props => {
|
|
144
140
|
const {
|
|
@@ -158,9 +154,6 @@ const Answer = props => {
|
|
|
158
154
|
};
|
|
159
155
|
|
|
160
156
|
Answer.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
|
|
161
|
-
Answer.contextTypes = {
|
|
162
|
-
translate: _provider.default.childContextTypes.translate
|
|
163
|
-
};
|
|
164
157
|
var _default = Answer;
|
|
165
158
|
exports.default = _default;
|
|
166
159
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["MediaView","media","videoId","type","childProps","TYPE_IMAGE","style","backgroundImage","url","TYPE_VIDEO","video","TYPE_AUDIO","audio","propTypes","MediaViewPropTypes","Switch","model","help","
|
|
1
|
+
{"version":3,"file":"index.js","names":["MediaView","media","videoId","type","childProps","TYPE_IMAGE","style","backgroundImage","url","TYPE_VIDEO","video","TYPE_AUDIO","audio","propTypes","MediaViewPropTypes","Switch","model","help","translate","GetTranslateFromContext","Answer","props","wrapper"],"sources":["../../../src/molecule/answer/index.js"],"sourcesContent":["import React from 'react';\nimport {omit} from 'lodash/fp';\nimport VideoPlayer from '../video-player';\nimport DropDown from '../questions/drop-down';\nimport FreeText from '../questions/free-text';\nimport QcmDrag from '../questions/qcm-drag';\nimport Qcm from '../questions/qcm';\nimport QcmGraphic from '../questions/qcm-graphic';\nimport QuestionRange from '../questions/question-range';\nimport Template from '../questions/template';\nimport Audio from '../audio';\nimport {GetTranslateFromContext} from '../../atom/provider';\nimport style from './style.css';\nimport propTypes, {MediaViewPropTypes, TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from './prop-types';\n\nconst MediaView = ({media}) => {\n const {videoId, type, ...childProps} = media;\n switch (type) {\n case TYPE_IMAGE:\n return (\n <div\n className={style.media}\n style={{\n backgroundImage: `url(${media.url})`\n }}\n />\n );\n case TYPE_VIDEO:\n return (\n <div className={style.video}>\n <VideoPlayer {...omit('id', childProps)} id={videoId} height=\"100%\" width=\"100%\" />\n </div>\n );\n case TYPE_AUDIO:\n return (\n <div className={style.audio}>\n <Audio {...omit('id', childProps)} height=\"100%\" width=\"100%\" />\n </div>\n );\n default:\n return null;\n }\n};\n\nMediaView.propTypes = MediaViewPropTypes;\n\nconst Switch = ({model, help}) => {\n const {type} = model;\n const translate = GetTranslateFromContext();\n switch (type) {\n case 'qcmDrag':\n return <QcmDrag {...model} help={help} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcm':\n return <Qcm {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcmGraphic':\n return <QcmGraphic {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'freeText':\n return <FreeText {...model} />;\n case 'dropDown':\n return <DropDown {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'slider':\n return <QuestionRange {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'template':\n return <Template {...model} groupAriaLabel={translate('answer_the_question')} />;\n }\n};\n\nSwitch.propTypes = {\n model: propTypes.model,\n help: propTypes.help\n};\n\nconst Answer = props => {\n const {model, media, help} = props;\n\n return (\n <div data-name=\"answer\" className={style.wrapper}>\n {media ? <MediaView media={media} /> : null}\n <form>\n <Switch model={model} help={help} />\n </form>\n </div>\n );\n};\n\nAnswer.propTypes = propTypes;\n\nexport default Answer;\n"],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ declare class MoocHeader extends React.Component<any, any, any> {
|
|
|
7
7
|
href: PropTypes.Requireable<string>;
|
|
8
8
|
'aria-label': PropTypes.Requireable<string>;
|
|
9
9
|
'button-aria-label': PropTypes.Requireable<string>;
|
|
10
|
+
toolTipText: PropTypes.Requireable<string>;
|
|
11
|
+
closeToolTipInformationTextAriaLabel: PropTypes.Requireable<string>;
|
|
10
12
|
}>>;
|
|
11
13
|
search: PropTypes.Requireable<PropTypes.InferProps<{
|
|
12
14
|
value: PropTypes.Requireable<string>;
|
|
@@ -136,6 +138,7 @@ declare class MoocHeader extends React.Component<any, any, any> {
|
|
|
136
138
|
isSettingsOpen: boolean;
|
|
137
139
|
isMenuOpen: boolean;
|
|
138
140
|
isFocus: boolean;
|
|
141
|
+
isToolTipOpen: boolean;
|
|
139
142
|
};
|
|
140
143
|
handleSettingsToggle(): void;
|
|
141
144
|
handleMenuToggle(): void;
|
|
@@ -148,6 +151,9 @@ declare class MoocHeader extends React.Component<any, any, any> {
|
|
|
148
151
|
handleOnBlur(): void;
|
|
149
152
|
handleOnMenuOpen(): void;
|
|
150
153
|
handleOnMenuClose(): void;
|
|
154
|
+
handleOnMouseOver(): void;
|
|
155
|
+
handleOnMouseLeave(): void;
|
|
156
|
+
handleKeyPress(event: any): void;
|
|
151
157
|
componentDidUpdate(prevProps: any, prevState: any, prevContext: any): void;
|
|
152
158
|
menuSettings: any;
|
|
153
159
|
render(): JSX.Element | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAyBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAuBC;IArBC;;;;;MAKC;IAgDH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA7GD,2EASC;IAGC,kBAAsB;IAmGxB,6BAsaC;CACF"}
|
|
@@ -45,7 +45,8 @@ class MoocHeader extends _react.default.Component {
|
|
|
45
45
|
this.state = {
|
|
46
46
|
isSettingsOpen: false,
|
|
47
47
|
isMenuOpen: false,
|
|
48
|
-
isFocus: false
|
|
48
|
+
isFocus: false,
|
|
49
|
+
isToolTipOpen: false
|
|
49
50
|
};
|
|
50
51
|
this.handleSettingsToggle = this.handleSettingsToggle.bind(this);
|
|
51
52
|
this.handleMenuToggle = this.handleMenuToggle.bind(this);
|
|
@@ -58,6 +59,9 @@ class MoocHeader extends _react.default.Component {
|
|
|
58
59
|
this.handleOnBlur = this.handleOnBlur.bind(this);
|
|
59
60
|
this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);
|
|
60
61
|
this.handleOnMenuClose = this.handleOnMenuClose.bind(this);
|
|
62
|
+
this.handleOnMouseOver = this.handleOnMouseOver.bind(this);
|
|
63
|
+
this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);
|
|
64
|
+
this.handleKeyPress = this.handleKeyPress.bind(this);
|
|
61
65
|
}
|
|
62
66
|
|
|
63
67
|
componentDidUpdate(prevProps, prevState, prevContext) {
|
|
@@ -172,6 +176,30 @@ class MoocHeader extends _react.default.Component {
|
|
|
172
176
|
}));
|
|
173
177
|
}
|
|
174
178
|
|
|
179
|
+
handleOnMouseOver() {
|
|
180
|
+
this.setState(() => ({
|
|
181
|
+
isToolTipOpen: true
|
|
182
|
+
}));
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
handleOnMouseLeave() {
|
|
186
|
+
this.setState(() => ({
|
|
187
|
+
isToolTipOpen: false
|
|
188
|
+
}));
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
handleKeyPress(event) {
|
|
192
|
+
if (event.key === 'Enter') {
|
|
193
|
+
this.setState(() => ({
|
|
194
|
+
isToolTipOpen: true
|
|
195
|
+
}));
|
|
196
|
+
} else if (event.key === 'Tab' || event.key === 'Escape') {
|
|
197
|
+
this.setState(() => ({
|
|
198
|
+
isToolTipOpen: false
|
|
199
|
+
}));
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
175
203
|
render() {
|
|
176
204
|
if ((0, _isEmpty2.default)(this.props)) return null;
|
|
177
205
|
const {
|
|
@@ -189,7 +217,8 @@ class MoocHeader extends _react.default.Component {
|
|
|
189
217
|
const {
|
|
190
218
|
isFocus,
|
|
191
219
|
isSettingsOpen,
|
|
192
|
-
isMenuOpen
|
|
220
|
+
isMenuOpen,
|
|
221
|
+
isToolTipOpen
|
|
193
222
|
} = this.state;
|
|
194
223
|
const {
|
|
195
224
|
translate,
|
|
@@ -198,7 +227,9 @@ class MoocHeader extends _react.default.Component {
|
|
|
198
227
|
const {
|
|
199
228
|
'aria-label': logoAriaLabel,
|
|
200
229
|
closeMenuAriaLabel,
|
|
201
|
-
openMenuAriaLabel
|
|
230
|
+
openMenuAriaLabel,
|
|
231
|
+
toolTipText,
|
|
232
|
+
closeToolTipInformationTextAriaLabel
|
|
202
233
|
} = logo;
|
|
203
234
|
const logoUrl = (0, _get2.default)('src', logo) || (0, _get2.default)('images.logo', skin);
|
|
204
235
|
const logoMobileUrl = (0, _get2.default)('srcMobile', logo) || (0, _getOr2.default)(logoUrl, 'images.logo-mobile', skin);
|
|
@@ -502,7 +533,10 @@ class MoocHeader extends _react.default.Component {
|
|
|
502
533
|
"data-open": isMenuOpen,
|
|
503
534
|
className: isMenuOpen ? _style.default.open : _style.default.header
|
|
504
535
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
505
|
-
className: _style.default.logoWrapper
|
|
536
|
+
className: _style.default.logoWrapper,
|
|
537
|
+
"aria-label": toolTipText,
|
|
538
|
+
onMouseOver: this.handleOnMouseOver,
|
|
539
|
+
onMouseLeave: this.handleOnMouseLeave
|
|
506
540
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
507
541
|
className: _style.default.navMobile,
|
|
508
542
|
"data-name": "nav-mobile"
|
|
@@ -528,11 +562,37 @@ class MoocHeader extends _react.default.Component {
|
|
|
528
562
|
}))), /*#__PURE__*/_react.default.createElement(_link.default, {
|
|
529
563
|
className: _style.default.logo,
|
|
530
564
|
"data-name": "logo",
|
|
531
|
-
href: logo.href
|
|
565
|
+
href: logo.href,
|
|
566
|
+
onKeyDown: this.handleKeyPress,
|
|
567
|
+
tabIndex: 0,
|
|
568
|
+
"data-testid": "brand-logo"
|
|
532
569
|
}, /*#__PURE__*/_react.default.createElement(_picture.default, {
|
|
533
570
|
src: logoUrl,
|
|
534
571
|
alt: logoAriaLabel
|
|
535
|
-
})
|
|
572
|
+
}), isToolTipOpen ? /*#__PURE__*/_react.default.createElement("div", {
|
|
573
|
+
"aria-label": toolTipText,
|
|
574
|
+
tabIndex: 0,
|
|
575
|
+
"data-testid": "home-tooltip"
|
|
576
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
577
|
+
"aria-label": `${toolTipText} ${closeToolTipInformationTextAriaLabel}`,
|
|
578
|
+
role: "tooltip",
|
|
579
|
+
className: _style.default.tooltipIconContainer,
|
|
580
|
+
tabIndex: 0
|
|
581
|
+
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyPlacesHome24, {
|
|
582
|
+
className: _style.default.homeIcon,
|
|
583
|
+
style: {
|
|
584
|
+
color: primaryColor
|
|
585
|
+
}
|
|
586
|
+
}), /*#__PURE__*/_react.default.createElement("p", {
|
|
587
|
+
className: _style.default.toolTipText // eslint-disable-next-line react/no-danger
|
|
588
|
+
,
|
|
589
|
+
dangerouslySetInnerHTML: {
|
|
590
|
+
__html: toolTipText
|
|
591
|
+
},
|
|
592
|
+
style: {
|
|
593
|
+
color: primaryColor
|
|
594
|
+
}
|
|
595
|
+
}))) : null)), searchFormView, /*#__PURE__*/_react.default.createElement("div", {
|
|
536
596
|
className: isMenuOpen ? _style.default.menuWrapper : _style.default.hiddenMenuWrapper,
|
|
537
597
|
"data-name": "menu-wrapper"
|
|
538
598
|
}, pagesView, userView || linksView, settingsView)));
|
|
@@ -550,7 +610,9 @@ MoocHeader.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
550
610
|
srcMobile: _propTypes.default.string,
|
|
551
611
|
href: _propTypes.default.string,
|
|
552
612
|
'aria-label': _propTypes.default.string,
|
|
553
|
-
'button-aria-label': _propTypes.default.string
|
|
613
|
+
'button-aria-label': _propTypes.default.string,
|
|
614
|
+
toolTipText: _propTypes.default.string,
|
|
615
|
+
closeToolTipInformationTextAriaLabel: _propTypes.default.string
|
|
554
616
|
}),
|
|
555
617
|
search: _propTypes.default.shape(_inputSearch.default.propTypes),
|
|
556
618
|
'search-reset-aria-label': _propTypes.default.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["MoocHeader","React","Component","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","closeSettingsAriaLabel","activePageAriaLabel","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","closeLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","style","itemBadge","name","itemName","activePage","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","classnames","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","closeSettings","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","menuWrapper","hiddenMenuWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","shape","src","string","srcMobile","Search","func","arrayOf","oneOf","bool","number","Cta"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'close-settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'close-settings-aria-label': closeSettingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen} = this.state;\n const {translate, skin} = this.context;\n const {'aria-label': logoAriaLabel, closeMenuAriaLabel, openMenuAriaLabel} = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const closeLabel = translate('Close');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n </Link>\n );\n });\n\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div className={style.currentOption} aria-haspopup=\"true\" data-name=\"item-more\">\n {moreAriaLabel}\n <ArrowDown color={mediumColor} className={style.caret} aria-label={moreAriaLabel} />\n </div>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} color={white} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} color={white} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} color={white} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <span className={style.label}>{title}</span>\n <InputSwitch {...switchProps} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n color={darkColor}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div data-name=\"settings\" className={style.settingsGroup}>\n {settingsElements}\n </div>\n <div\n className={style.closeSettings}\n onClick={this.handleSettingsToggle}\n aria-label={closeSettingsAriaLabel}\n >\n {closeLabel}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div className={style.logoWrapper}>\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n color={mediumColor}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n aria-label={openMenuAriaLabel}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n color={mediumColor}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n aria-label={closeMenuAriaLabel}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link className={style.logo} data-name=\"logo\" href={logo.href}>\n <Picture src={logoUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n {searchFormView}\n <div\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAUA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,UAAN,SAAyBC,cAAA,CAAMC,SAA/B,CAAyC;EAmGvCC,WAAW,CAACC,KAAD,EAAQ;IACjB,MAAMA,KAAN;IACA,KAAKC,KAAL,GAAa;MACXC,cAAc,EAAE,KADL;MAEXC,UAAU,EAAE,KAFD;MAGXC,OAAO,EAAE;IAHE,CAAb;IAMA,KAAKC,oBAAL,GAA4B,KAAKA,oBAAL,CAA0BC,IAA1B,CAA+B,IAA/B,CAA5B;IACA,KAAKC,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBD,IAAtB,CAA2B,IAA3B,CAAxB;IACA,KAAKE,aAAL,GAAqB,KAAKA,aAAL,CAAmBF,IAAnB,CAAwB,IAAxB,CAArB;IACA,KAAKG,eAAL,GAAuB,KAAKA,eAAL,CAAqBH,IAArB,CAA0B,IAA1B,CAAvB;IACA,KAAKI,eAAL,GAAuB,KAAKA,eAAL,CAAqBJ,IAArB,CAA0B,IAA1B,CAAvB;IACA,KAAKK,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBL,IAAxB,CAA6B,IAA7B,CAA1B;IACA,KAAKM,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBN,IAAvB,CAA4B,IAA5B,CAAzB;IACA,KAAKO,aAAL,GAAqB,KAAKA,aAAL,CAAmBP,IAAnB,CAAwB,IAAxB,CAArB;IACA,KAAKQ,YAAL,GAAoB,KAAKA,YAAL,CAAkBR,IAAlB,CAAuB,IAAvB,CAApB;IACA,KAAKS,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBT,IAAtB,CAA2B,IAA3B,CAAxB;IACA,KAAKU,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBV,IAAvB,CAA4B,IAA5B,CAAzB;EACD;;EAEDW,kBAAkB,CAACC,SAAD,EAAYC,SAAZ,EAAuBC,WAAvB,EAAoC;IACpD,MAAM;MAAClB;IAAD,IAAmB,KAAKD,KAA9B;;IACA,IAAIC,cAAJ,EAAoB;MAClBmB,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmC,KAAKd,aAAxC;MACAa,QAAQ,CAACC,gBAAT,CAA0B,YAA1B,EAAwC,KAAKd,aAA7C;IACD,CAHD,MAGO;MACLa,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsC,KAAKf,aAA3C;MACAa,QAAQ,CAACE,mBAAT,CAA6B,YAA7B,EAA2C,KAAKf,aAAhD;IACD;EACF;;EAEDE,eAAe,CAACc,EAAD,EAAK;IAClB,KAAKC,YAAL,GAAoBD,EAApB;EACD;;EAEDhB,aAAa,CAACkB,UAAD,EAAa;IACxB,MAAM;MAACxB;IAAD,IAAmB,KAAKD,KAA9B;;IACA,IAAIC,cAAJ,EAAoB;MAClB,MAAMyB,IAAI,GAAG,KAAKF,YAAlB;;MACA,IAAIE,IAAI,IAAI,CAACA,IAAI,CAACC,QAAL,CAAcF,UAAU,CAACG,MAAzB,CAAb,EAA+C;QAC7C,KAAKxB,oBAAL;MACD;IACF;EACF;;EAEDI,eAAe,GAAG;IAChB,MAAM;MAACN;IAAD,IAAe,KAAKF,KAA1B;IACAE,UAAU,IAAI,KAAKI,gBAAL,EAAd;EACD;;EAEDF,oBAAoB,GAAG;IACrB,KAAKyB,QAAL,CAAcX,SAAS,KAAK;MAC1BjB,cAAc,EAAE,CAACiB,SAAS,CAACjB;IADD,CAAL,CAAvB;EAGD;;EAEDK,gBAAgB,GAAG;IACjB,MAAM;MAACJ;IAAD,IAAe,KAAKF,KAA1B;IACAE,UAAU,GAAG,KAAKa,iBAAL,EAAH,GAA8B,KAAKD,gBAAL,EAAxC;EACD;;EAEDJ,kBAAkB,GAAG;IACnB,MAAM;MAACoB;IAAD,IAAmB,KAAK/B,KAA9B;;IACA,IAAI+B,cAAJ,EAAoB;MAClBA,cAAc;IACf;EACF;;EAEDnB,iBAAiB,GAAG;IAClB,MAAM;MAACoB;IAAD,IAAkB,KAAKhC,KAA7B;;IACA,IAAIgC,aAAJ,EAAmB;MACjBA,aAAa;IACd;EACF;;EAEDnB,aAAa,GAAG;IACd,KAAKiB,QAAL,CAAcX,SAAS,KAAK;MAC1Bf,OAAO,EAAE;IADiB,CAAL,CAAvB;EAGD;;EAEDU,YAAY,GAAG;IACb,KAAKgB,QAAL,CAAcX,SAAS,KAAK;MAC1Bf,OAAO,EAAE;IADiB,CAAL,CAAvB;EAGD;;EAEDW,gBAAgB,GAAG;IACjB,MAAM;MAACkB;IAAD,IAAe,KAAKjC,KAA1B;;IACA,IAAIiC,UAAJ,EAAgB;MACdA,UAAU;IACX;;IACD,KAAKH,QAAL,CAAc,OAAO;MACnB3B,UAAU,EAAE;IADO,CAAP,CAAd;EAGD;;EAEDa,iBAAiB,GAAG;IAClB,MAAM;MAACkB;IAAD,IAAgB,KAAKlC,KAA3B;;IACA,IAAIkC,WAAJ,EAAiB;MACfA,WAAW;IACZ;;IACD,KAAKJ,QAAL,CAAc,OAAO;MACnB3B,UAAU,EAAE;IADO,CAAP,CAAd;EAGD;;EAEDgC,MAAM,GAAG;IACP,IAAI,uBAAQ,KAAKnC,KAAb,CAAJ,EAAyB,OAAO,IAAP;IACzB,MAAM;MACJoC,IAAI,GAAG,EADH;MAEJC,KAAK,EAAEC,KAFH;MAGJC,QAHI;MAIJC,IAJI;MAKJC,KALI;MAMJC,MANI;MAOJ,2BAA2BC,oBAPvB;MAQJ,uBAAuBC,iBARnB;MASJ,6BAA6BC,sBATzB;MAUJ,0BAA0BC;IAVtB,IAWF,KAAK9C,KAXT;IAYA,MAAM;MAACI,OAAD;MAAUF,cAAV;MAA0BC;IAA1B,IAAwC,KAAKF,KAAnD;IACA,MAAM;MAAC8C,SAAD;MAAYC;IAAZ,IAAoB,KAAKC,OAA/B;IACA,MAAM;MAAC,cAAcC,aAAf;MAA8BC,kBAA9B;MAAkDC;IAAlD,IAAuEhB,IAA7E;IACA,MAAMiB,OAAO,GAAG,mBAAI,KAAJ,EAAWjB,IAAX,KAAoB,mBAAI,aAAJ,EAAmBY,IAAnB,CAApC;IACA,MAAMM,aAAa,GAAG,mBAAI,WAAJ,EAAiBlB,IAAjB,KAA0B,qBAAMiB,OAAN,EAAe,oBAAf,EAAqCL,IAArC,CAAhD;IAEA,IAAIO,SAAS,GAAG,IAAhB;IACA,IAAIC,SAAS,GAAG,IAAhB;IACA,IAAIC,QAAQ,GAAG,IAAf;IACA,IAAIC,YAAY,GAAG,IAAnB;IACA,IAAIC,iBAAiB,GAAG,IAAxB;IACA,IAAIC,cAAc,GAAG,IAArB;IAEA,MAAMC,aAAa,GAAGd,SAAS,CAAC,MAAD,CAA/B;IACA,MAAMe,UAAU,GAAGf,SAAS,CAAC,OAAD,CAA5B;IACA,MAAMgB,YAAY,GAAG,mBAAI,gBAAJ,EAAsBf,IAAtB,CAArB;IACA,MAAMgB,WAAW,GAAG,mBAAI,eAAJ,EAAqBhB,IAArB,CAApB;IACA,MAAMiB,SAAS,GAAG,mBAAI,aAAJ,EAAmBjB,IAAnB,CAAlB;IACA,MAAMkB,KAAK,GAAG,mBAAI,cAAJ,EAAoBlB,IAApB,CAAd;IACA,MAAMmB,gBAAgB,GAAG;MAACC,eAAe,EAAEL;IAAlB,CAAzB;;IAEA,IAAIzB,KAAJ,EAAW;MACT,MAAM+B,cAAc,GAAG/B,KAAK,CAACgC,SAAN,CAAgBC,GAAhB,CAAoB,CAACC,IAAD,EAAOC,KAAP,KAAiB;QAC1D,MAAMC,WAAW,GAAGF,IAAI,CAACG,QAAL,GAChB;UACEC,KAAK,EAAEb;QADT,CADgB,GAIhB,IAJJ;QAMA,MAAM;UAAC,yBAAyBc;QAA1B,IAAgDL,IAAtD;QACA,MAAMM,SAAS,GAAGN,IAAI,CAACG,QAAL,GAAiB,GAAEH,IAAI,CAACO,KAAM,KAAIjC,mBAAoB,EAAtD,GAA0D0B,IAAI,CAACO,KAAjF;QACA,MAAMC,SAAS,GACbR,IAAI,CAACS,OAAL,GAAe,CAAf,gBACE,6BAAC,aAAD;UACE,IAAI,EAAET,IAAI,CAACU,IADb;UAEE,aAAU,YAFZ;UAGE,SAAS,EAAEC,cAAA,CAAMC,SAHnB;UAIE,cAAYP;QAJd,GAMGL,IAAI,CAACS,OANR,CADF,GASI,IAVN;QAYA,MAAM;UAACI,IAAI,EAAEC,QAAQ,GAAGb;QAAlB,IAA2BD,IAAjC;QAEA,oBACE,6BAAC,aAAD;UACE,GAAG,EAAEc,QADP;UAEE,aAAY,QAAOA,QAAS,EAF9B;UAGE,IAAI,EAAEd,IAAI,CAACU,IAHb;UAIE,SAAS,EAAEV,IAAI,CAACG,QAAL,GAAgBQ,cAAA,CAAMI,UAAtB,GAAmCJ,cAAA,CAAMX,IAJtD;UAKE,SAAS,MALX;UAME,OAAO,EAAE,KAAK/D,eANhB;UAOE,MAAM,EAAE+D,IAAI,CAAC3C,MAAL,IAAe,IAPzB;UAQE,cAAYiD,SARd;UASE,KAAK,eACAJ,WADA;QATP,GAaGF,IAAI,CAACO,KAbR,EAcGC,SAdH,eAeE;UACE,SAAS,EAAEG,cAAA,CAAMK,GADnB;UAEE,KAAK,EAAE;YACLpB,eAAe,EAAEL;UADZ;QAFT,EAfF,CADF;MAwBD,CA/CsB,CAAvB;MAiDA,MAAM0B,WAAW,GAAGnD,KAAK,CAACoD,IAAN,CAAWnB,GAAX,CAAe,CAACC,IAAD,EAAOC,KAAP,KAAiB;QAClD,MAAMC,WAAW,GAAGF,IAAI,CAACG,QAAL,GAChB;UACEC,KAAK,EAAEb;QADT,CADgB,GAIhB,IAJJ;QAKA,MAAMe,SAAS,GAAGN,IAAI,CAACG,QAAL,GAAiB,GAAEH,IAAI,CAACO,KAAM,KAAIjC,mBAAoB,EAAtD,GAA0D0B,IAAI,CAACO,KAAjF;QACA,MAAM;UAACM,IAAI,EAAEC,QAAQ,GAAGb;QAAlB,IAA2BD,IAAjC;QACA,oBACE,6BAAC,aAAD;UACE,IAAI,EAAEA,IAAI,CAACU,IADb;UAEE,GAAG,EAAEI,QAFP;UAGE,SAAS,EAAEH,cAAA,CAAMQ,MAHnB;UAIE,aAAY,aAAYL,QAAS,EAJnC;UAKE,MAAM,EAAEd,IAAI,CAAC3C,MAAL,IAAe,IALzB;UAME,cAAYiD,SANd;UAOE,OAAO,EAAE,KAAKrE,eAPhB;UAQE,SAAS,MARX;UASE,KAAK,eACAiE,WADA;QATP,GAaGF,IAAI,CAACO,KAbR,CADF;MAiBD,CAzBmB,CAApB;MA2BAxB,SAAS,gBACP;QAAK,SAAS,EAAEb,MAAM,CAACkD,KAAP,IAAgBxF,OAAhB,GAA0B+E,cAAA,CAAMU,OAAhC,GAA0CV,cAAA,CAAM7C;MAAhE,GACG+B,cADH,eAEE;QAAK,SAAS,EAAEc,cAAA,CAAMO;MAAtB,gBACE;QAAK,SAAS,EAAEP,cAAA,CAAMW,aAAtB;QAAqC,iBAAc,MAAnD;QAA0D,aAAU;MAApE,GACGjC,aADH,eAEE,6BAAC,6CAAD;QAAW,KAAK,EAAEG,WAAlB;QAA+B,SAAS,EAAEmB,cAAA,CAAMY,KAAhD;QAAuD,cAAYlC;MAAnE,EAFF,CADF,eAKE;QAAK,SAAS,EAAEsB,cAAA,CAAMa;MAAtB,GAAqCP,WAArC,CALF,CAFF,CADF;IAYD;;IAED,IAAIhD,KAAJ,EAAW;MACT,MAAMwD,IAAI,GAAGxD,KAAK,CAAC8B,GAAN,CAAU,CAAC2B,GAAD,EAAMzB,KAAN,KAAgB;QACrC,oBACE,6BAAC,YAAD,eAASyB,GAAT;UAAc,GAAG,EAAEzB,KAAnB;UAA0B,SAAS,EAAEA,KAAK,GAAG,CAAR,KAAchC,KAAK,CAAC0D,MAApB,GAA6B,IAA7B,GAAoChB,cAAA,CAAMiB;QAA/E,GADF;MAGD,CAJY,CAAb;MAMA5C,SAAS,gBAAG;QAAK,SAAS,EAAE2B,cAAA,CAAM1C;MAAtB,GAA8BwD,IAA9B,CAAZ;IACD;;IAED,IAAIzD,IAAJ,EAAU;MACR,MAAM6D,eAAe,GAAG,qBAAM,CAAN,EAAS,qBAAT,EAAgC7D,IAAhC,CAAxB;MACA,MAAM8D,sBAAsB,GAAG,qBAAM,EAAN,EAAU,0BAAV,EAAsC9D,IAAtC,CAA/B;MAEAmB,iBAAiB,GACf0C,eAAe,GAAG,CAAlB,gBACE,6BAAC,aAAD;QACE,IAAI,EAAE7D,IAAI,CAAC+D,aAAL,CAAmBrB,IAD3B;QAEE,aAAU,oBAFZ;QAGE,SAAS,EAAEC,cAAA,CAAMoB;MAHnB,GAKGF,eALH,CADF,GAQI,IATN;;MAUA,MAAMG,oBAAoB,gBACxB,6BAAC,aAAD;QACE,SAAS,EAAE,IAAAC,mBAAA,EAAWtB,cAAA,CAAMuB,YAAjB,EAA+BL,eAAe,GAAG,CAAlB,GAAsBlB,cAAA,CAAMwB,MAA5B,GAAqC,IAApE,CADb;QAEE,aAAU,oBAFZ;QAGE,IAAI,EAAEnE,IAAI,CAAC+D,aAAL,CAAmBrB,IAH3B;QAIE,cAAYoB;MAJd,gBAME,uDACE,6BAAC,6BAAD;QAAW,KAAK,EAAE,EAAlB;QAAsB,MAAM,EAAE;MAA9B,EADF,CANF,EASG3C,iBATH,CADF;;MAaAF,QAAQ,gBACN;QAAK,SAAS,EAAE0B,cAAA,CAAM3C;MAAtB,gBACE;QAAK,SAAS,EAAE2C,cAAA,CAAMyB;MAAtB,gBACE,6BAAC,aAAD;QACE,SAAS,EAAEzB,cAAA,CAAM0B,IADnB;QAEE,aAAU,YAFZ;QAGE,IAAI,EAAErE,IAAI,CAACoE,KAAL,CAAWE,KAAX,CAAiB5B,IAHzB;QAIE,OAAO,EAAE,KAAKzE,eAJhB;QAKE,cAAY+B,IAAI,CAACoE,KAAL,CAAWE,KAAX,CAAiB,YAAjB;MALd,gBAOE;QAAK,SAAS,EAAE3B,cAAA,CAAM4B,WAAtB;QAAmC,KAAK,EAAE5C;MAA1C,gBACE,6BAAC,0CAAD;QAAU,SAAS,EAAEgB,cAAA,CAAM2B,KAA3B;QAAkC,KAAK,EAAE5C;MAAzC,EADF,CAPF,eAUE;QAAK,aAAU,OAAf;QAAuB,SAAS,EAAEiB,cAAA,CAAM6B;MAAxC,GACGxE,IAAI,CAACoE,KAAL,CAAWE,KAAX,CAAiBE,KADpB,CAVF,CADF,eAeE,6BAAC,aAAD;QACE,SAAS,EAAE7B,cAAA,CAAM0B,IADnB;QAEE,aAAU,cAFZ;QAGE,IAAI,EAAErE,IAAI,CAACoE,KAAL,CAAWK,OAAX,CAAmB/B,IAH3B;QAIE,OAAO,EAAE,KAAKzE,eAJhB;QAKE,cAAY+B,IAAI,CAACoE,KAAL,CAAWK,OAAX,CAAmB,YAAnB;MALd,gBAOE;QAAK,SAAS,EAAE9B,cAAA,CAAM4B,WAAtB;QAAmC,KAAK,EAAE5C;MAA1C,gBACE,6BAAC,4CAAD;QAAY,SAAS,EAAEgB,cAAA,CAAM8B,OAA7B;QAAsC,KAAK,EAAE/C;MAA7C,EADF,CAPF,eAWE;QAAK,aAAU,OAAf;QAAuB,SAAS,EAAEiB,cAAA,CAAM6B;MAAxC,GACGxE,IAAI,CAACoE,KAAL,CAAWK,OAAX,CAAmBD,KADtB,CAXF,CAfF,eA8BE,6BAAC,aAAD;QACE,SAAS,EAAE7B,cAAA,CAAM0B,IADnB;QAEE,aAAU,YAFZ;QAGE,IAAI,EAAErE,IAAI,CAACoE,KAAL,CAAWM,KAAX,CAAiBhC,IAHzB;QAIE,OAAO,EAAE,KAAKzE,eAJhB;QAKE,cAAY+B,IAAI,CAACoE,KAAL,CAAWM,KAAX,CAAiB,YAAjB;MALd,gBAOE;QAAK,SAAS,EAAE/B,cAAA,CAAM4B,WAAtB;QAAmC,KAAK,EAAE5C;MAA1C,gBACE,6BAAC,6CAAD;QAAY,SAAS,EAAEgB,cAAA,CAAM+B,KAA7B;QAAoC,KAAK,EAAEhD;MAA3C,EADF,CAPF,eAUE;QAAK,SAAS,EAAEiB,cAAA,CAAM6B;MAAtB,GAA8BxE,IAAI,CAACoE,KAAL,CAAWM,KAAX,CAAiBF,KAA/C,CAVF,CA9BF,CADF,eA4CE;QAAK,SAAS,EAAE7B,cAAA,CAAMgC;MAAtB,GACGX,oBADH,eAEE;QAAK,SAAS,EAAErB,cAAA,CAAMiC,MAAtB;QAA8B,aAAU;MAAxC,gBACE,6BAAC,aAAD;QACE,IAAI,EAAE5E,IAAI,CAAC0C,IADb;QAEE,SAAS,EAAEC,cAAA,CAAMkC,QAFnB;QAGE,OAAO,EAAE,KAAK5G,eAHhB;QAIE,cAAY+B,IAAI,CAAC,oBAAD;MAJlB,gBAME,6BAAC,gBAAD;QAAS,GAAG,EAAEA,IAAI,CAAC8E,OAAnB;QAA4B,GAAG,EAAE9E,IAAI,CAAC+E;MAAtC,EANF,CADF,CAFF,CA5CF,CADF;IA4DD;;IAED,IAAIhF,QAAJ,EAAc;MACZ,MAAMiF,gBAAgB,GAAGjF,QAAQ,CAACgC,GAAT,CAAa,CAACkD,OAAD,EAAUhD,KAAV,KAAoB;QACxD,IAAIiD,WAAW,GAAG,IAAlB;QACA,MAAM;UACJC,OADI;UAEJC,IAFI;UAGJ7C,KAHI;UAIJM,IAAI,EAAEwC,WAAW,GAAGpD,KAJhB;UAKJG,KALI;UAMJkD,UANI;UAOJ,cAAcC;QAPV,IAQFN,OARJ;;QAUA,QAAQG,IAAR;UACE,KAAK,MAAL;YAAa;cACXF,WAAW,gBACT;gBAAK,aAAY,WAAUG,WAAY,EAAvC;gBAA0C,SAAS,EAAE1C,cAAA,CAAMsC,OAA3D;gBAAoE,GAAG,EAAEI;cAAzE,gBACE,6BAAC,aAAD;gBACE,SAAS,EAAE1C,cAAA,CAAM6C,IADnB;gBAEE,IAAI,EAAEL,OAAO,CAACzC,IAFhB;gBAGE,SAAS,MAHX;gBAIE,UAAU,EAAE4C,UAJd;gBAKE,OAAO,EAAE,KAAKrH,eALhB;gBAME,MAAM,EAAEkH,OAAO,CAAC9F,MAAR,IAAkB,IAN5B;gBAOE,cAAYkG,SAAS,IAAIhD,KAP3B;gBAQE,KAAK,EAAE;kBACLH;gBADK;cART,GAYGG,KAZH,CADF,CADF;cAkBA;YACD;;UACD,KAAK,QAAL;YAAe;cACb,MAAMkD,WAAW,GAAG,EAApB;cACAA,WAAW,CAACN,OAAZ,GAAsBA,OAAO,CAACO,MAA9B;cACAD,WAAW,CAAClD,KAAZ,GAAoB,EAApB;cACAkD,WAAW,CAACE,KAAZ,GAAoB,QAApB;cACAF,WAAW,CAACG,QAAZ,GAAuBT,OAAO,CAACS,QAA/B;cAEAV,WAAW,gBACT;gBAAK,aAAY,WAAUG,WAAY,EAAvC;gBAA0C,SAAS,EAAE1C,cAAA,CAAMsC,OAA3D;gBAAoE,GAAG,EAAEI;cAAzE,gBACE;gBAAM,SAAS,EAAE1C,cAAA,CAAM6B;cAAvB,GAA+BjC,KAA/B,CADF,eAEE,6BAAC,eAAD,eAAYkD,WAAZ;gBAAyB,cAAYF,SAAS,IAAIhD;cAAlD,GAFF,CADF;cAMA;YACD;;UACD,KAAK,QAAL;YAAe;cACb,MAAMsD,WAAW,GAAG,EAApB;cACAA,WAAW,CAACzC,KAAZ,GAAoB+B,OAAO,CAAC/B,KAA5B;cACAyC,WAAW,CAACC,EAAZ,GAAkB,gBAAe7D,KAAM,EAAvC;cACA4D,WAAW,CAACD,QAAZ,GAAuBT,OAAO,CAACS,QAA/B;cAEAV,WAAW,gBACT;gBACE,aAAY,WAAUG,WAAY,EADpC;gBAEE,SAAS,EAAE1C,cAAA,CAAMsC,OAFnB;gBAGE,GAAG,EAAEI,WAHP;gBAIE,cAAYE,SAAS,IAAIhD;cAJ3B,gBAME;gBAAM,SAAS,EAAEI,cAAA,CAAM6B;cAAvB,GAA+BjC,KAA/B,CANF,eAOE,6BAAC,oBAAD,EAAiBsD,WAAjB,CAPF,CADF;cAWA;YACD;QAvDH;;QA0DA,OAAOX,WAAP;MACD,CAvEwB,CAAzB;MAyEAhE,YAAY,gBACV;QAAK,SAAS,EAAEyB,cAAA,CAAM5C,QAAtB;QAAgC,GAAG,EAAE,KAAK7B;MAA1C,gBACE,6BAAC,yCAAD;QACE,aAAU,iBADZ;QAEE,KAAK,EAAEuD,SAFT;QAGE,SAAS,EAAEkB,cAAA,CAAMoD,cAHnB;QAIE,OAAO,EAAE,KAAKlI,oBAJhB;QAKE,iBAAeH,cALjB;QAME,cAAY0C;MANd,EADF,eASE;QAAK,SAAS,EAAE1C,cAAc,GAAGiF,cAAA,CAAMqD,eAAT,GAA2BrD,cAAA,CAAMsD;MAA/D,gBACE;QAAK,aAAU,UAAf;QAA0B,SAAS,EAAEtD,cAAA,CAAMuD;MAA3C,GACGlB,gBADH,CADF,eAIE;QACE,SAAS,EAAErC,cAAA,CAAMwD,aADnB;QAEE,OAAO,EAAE,KAAKtI,oBAFhB;QAGE,cAAYwC;MAHd,GAKGiB,UALH,CAJF,CATF,CADF;IAwBD;;IAED,IAAIpB,MAAJ,EAAY;MACVkB,cAAc,gBACZ;QACE,aAAU,YADZ;QAEE,SAAS,EAAEzD,UAAU,GAAGgF,cAAA,CAAMyD,eAAT,GAA2BzD,cAAA,CAAM0D;MAFxD,gBAIE,6BAAC,mBAAD;QACE,MAAM,EAAEnG,MADV;QAEE,QAAQ,EAAE,KAAK/B,kBAFjB;QAGE,OAAO,EAAE,KAAKC,iBAHhB;QAIE,aAAa,EAAE,KAAKC,aAJtB;QAKE,YAAY,EAAE,KAAKC,YALrB;QAME,2BAAyB6B;MAN3B,EAJF,CADF;IAeD;;IAED,oBACE;MAAQ,SAAS,EAAEwC,cAAA,CAAM2D;IAAzB,gBACE;MACE,aAAU,YADZ;MAEE,aAAW3I,UAFb;MAGE,SAAS,EAAEA,UAAU,GAAGgF,cAAA,CAAM4D,IAAT,GAAgB5D,cAAA,CAAM6D;IAH7C,gBAKE;MAAK,SAAS,EAAE7D,cAAA,CAAM8D;IAAtB,gBACE;MAAK,SAAS,EAAE9D,cAAA,CAAM+D,SAAtB;MAAiC,aAAU;IAA3C,gBACE,6BAAC,0CAAD;MACE,IAAI,EAAC,QADP;MAEE,aAAU,iBAFZ;MAGE,KAAK,EAAElF,WAHT;MAIE,SAAS,EAAE7D,UAAU,GAAGgF,cAAA,CAAMgE,YAAT,GAAwBhE,cAAA,CAAMiE,MAJrD;MAKE,OAAO,EAAE,KAAKrI,gBALhB;MAME,cAAYqC;IANd,EADF,eASE,6BAAC,yCAAD;MACE,aAAU,kBADZ;MAEE,KAAK,EAAEY,WAFT;MAGE,SAAS,EAAE7D,UAAU,GAAGgF,cAAA,CAAMkE,KAAT,GAAiBlE,cAAA,CAAMmE,WAH9C;MAIE,OAAO,EAAE,KAAKtI,iBAJhB;MAKE,cAAYmC;IALd,EATF,eAgBE,6BAAC,aAAD;MAAM,aAAU,aAAhB;MAA8B,IAAI,EAAEf,IAAI,CAAC8C;IAAzC,gBACE,6BAAC,gBAAD;MAAS,GAAG,EAAE5B,aAAd;MAA6B,GAAG,EAAEJ;IAAlC,EADF,CAhBF,CADF,eAqBE,6BAAC,aAAD;MAAM,SAAS,EAAEiC,cAAA,CAAM/C,IAAvB;MAA6B,aAAU,MAAvC;MAA8C,IAAI,EAAEA,IAAI,CAAC8C;IAAzD,gBACE,6BAAC,gBAAD;MAAS,GAAG,EAAE7B,OAAd;MAAuB,GAAG,EAAEH;IAA5B,EADF,CArBF,CALF,EA8BGU,cA9BH,eA+BE;MACE,SAAS,EAAEzD,UAAU,GAAGgF,cAAA,CAAMoE,WAAT,GAAuBpE,cAAA,CAAMqE,iBADpD;MAEE,aAAU;IAFZ,GAIGjG,SAJH,EAKGE,QAAQ,IAAID,SALf,EAMGE,YANH,CA/BF,CADF,CADF;EA4CD;;AAllBsC;;AAAnC9D,U,CA8FG6J,Y,GAAe;EACpB1G,SAAS,EAAE2G,iBAAA,CAASC,iBAAT,CAA2B5G,SADlB;EAEpBC,IAAI,EAAE0G,iBAAA,CAASC,iBAAT,CAA2B3G;AAFb,C;AA9FlBpD,U,CACGgK,S,2CAAY;EACjBxH,IAAI,EAAEyH,kBAAA,CAAUC,KAAV,CAAgB;IACpBC,GAAG,EAAEF,kBAAA,CAAUG,MADK;IAEpBC,SAAS,EAAEJ,kBAAA,CAAUG,MAFD;IAGpB9E,IAAI,EAAE2E,kBAAA,CAAUG,MAHI;IAIpB,cAAcH,kBAAA,CAAUG,MAJJ;IAKpB,qBAAqBH,kBAAA,CAAUG;EALX,CAAhB,CADW;EAQjBtH,MAAM,EAAEmH,kBAAA,CAAUC,KAAV,CAAgBI,oBAAA,CAAON,SAAvB,CARS;EASjB,2BAA2BC,kBAAA,CAAUG,MATpB;EAUjBjI,cAAc,EAAE8H,kBAAA,CAAUM,IAVT;EAWjBnI,aAAa,EAAE6H,kBAAA,CAAUM,IAXR;EAYjB9H,KAAK,EAAEwH,kBAAA,CAAUC,KAAV,CAAgB;IACrBxF,SAAS,EAAEuF,kBAAA,CAAUO,OAAV,CACTP,kBAAA,CAAUC,KAAV,CAAgB;MACdjI,MAAM,EAAEgI,kBAAA,CAAUQ,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CADM;MAEdtF,KAAK,EAAE8E,kBAAA,CAAUG,MAFH;MAGd3E,IAAI,EAAEwE,kBAAA,CAAUG,MAHF;MAId9E,IAAI,EAAE2E,kBAAA,CAAUG,MAJF;MAKdrF,QAAQ,EAAEkF,kBAAA,CAAUS,IALN;MAMdrF,OAAO,EAAE4E,kBAAA,CAAUU,MANL;MAOd,yBAAyBV,kBAAA,CAAUG;IAPrB,CAAhB,CADS,CADU;IAYrBtE,IAAI,EAAEmE,kBAAA,CAAUO,OAAV,CACJP,kBAAA,CAAUC,KAAV,CAAgB;MACdjI,MAAM,EAAEgI,kBAAA,CAAUQ,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CADM;MAEdtF,KAAK,EAAE8E,kBAAA,CAAUG,MAFH;MAGd3E,IAAI,EAAEwE,kBAAA,CAAUG,MAHF;MAId9E,IAAI,EAAE2E,kBAAA,CAAUG,MAJF;MAKdrF,QAAQ,EAAEkF,kBAAA,CAAUS,IALN;MAMdrF,OAAO,EAAE4E,kBAAA,CAAUU;IANL,CAAhB,CADI;EAZe,CAAhB,CAZU;EAmCjB9H,KAAK,EAAEoH,kBAAA,CAAUO,OAAV,CAAkBP,kBAAA,CAAUC,KAAV,CAAgBU,YAAA,CAAIZ,SAApB,CAAlB,CAnCU;EAoCjBpH,IAAI,EAAEqH,kBAAA,CAAUC,KAAV,CAAgB;IACpBxC,OAAO,EAAEuC,kBAAA,CAAUG,MADC;IAEpB,sBAAsBH,kBAAA,CAAUG,MAFZ;IAGpBzC,gBAAgB,EAAEsC,kBAAA,CAAUG,MAHR;IAIpB9E,IAAI,EAAE2E,kBAAA,CAAUG,MAJI;IAKpBzD,aAAa,EAAEsD,kBAAA,CAAUC,KAAV,CAAgB;MAC7B5E,IAAI,EAAE2E,kBAAA,CAAUG,MADa;MAE7BpE,KAAK,EAAEiE,kBAAA,CAAUU,MAFY;MAG7B,cAAcV,kBAAA,CAAUG;IAHK,CAAhB,CALK;IAUpBpD,KAAK,EAAEiD,kBAAA,CAAUC,KAAV,CAAgB;MACrBhD,KAAK,EAAE+C,kBAAA,CAAUC,KAAV,CAAgB;QACrB5E,IAAI,EAAE2E,kBAAA,CAAUG,MADK;QAErBhD,KAAK,EAAE6C,kBAAA,CAAUG,MAFI;QAGrB,cAAcH,kBAAA,CAAUG;MAHH,CAAhB,CADc;MAMrB/C,OAAO,EAAE4C,kBAAA,CAAUC,KAAV,CAAgB;QACvB5E,IAAI,EAAE2E,kBAAA,CAAUG,MADO;QAEvBhD,KAAK,EAAE6C,kBAAA,CAAUG,MAFM;QAGvB,cAAcH,kBAAA,CAAUG;MAHD,CAAhB,CANY;MAWrB9C,KAAK,EAAE2C,kBAAA,CAAUC,KAAV,CAAgB;QACrB5E,IAAI,EAAE2E,kBAAA,CAAUG,MADK;QAErBhD,KAAK,EAAE6C,kBAAA,CAAUG,MAFI;QAGrB,cAAcH,kBAAA,CAAUG;MAHH,CAAhB;IAXc,CAAhB;EAVa,CAAhB,CApCW;EAgEjB,uBAAuBH,kBAAA,CAAUG,MAhEhB;EAiEjB,6BAA6BH,kBAAA,CAAUG,MAjEtB;EAkEjB,0BAA0BH,kBAAA,CAAUG,MAlEnB;EAmEjBzH,QAAQ,EAAEsH,kBAAA,CAAUO,OAAV,CACRP,kBAAA,CAAUC,KAAV,CAAgB;IACd/E,KAAK,EAAE8E,kBAAA,CAAUG,MADH;IAEd3E,IAAI,EAAEwE,kBAAA,CAAUG,MAFF;IAGdpC,IAAI,EAAEiC,kBAAA,CAAUQ,KAAV,CAAgB,CAAC,QAAD,EAAW,QAAX,EAAqB,MAArB,CAAhB,CAHQ;IAIdzF,KAAK,EAAEiF,kBAAA,CAAUG,MAJH;IAKd,cAAcH,kBAAA,CAAUG,MALV;IAMdrC,OAAO,EAAEkC,kBAAA,CAAUC,KAAV,CAAgB;MACvB5E,IAAI,EAAE2E,kBAAA,CAAUG,MADO;MAEvB5B,QAAQ,EAAEyB,kBAAA,CAAUM,IAFG;MAGvBvE,KAAK,EAAEiE,kBAAA,CAAUS,IAHM;MAIvBzI,MAAM,EAAEgI,kBAAA,CAAUQ,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CAJe;MAKvBnC,MAAM,EAAE2B,kBAAA,CAAUO,OAAV,CACNP,kBAAA,CAAUC,KAAV,CAAgB;QACdlE,KAAK,EAAEiE,kBAAA,CAAUG,MADH;QAEd3E,IAAI,EAAEwE,kBAAA,CAAUG,MAFF;QAGdrF,QAAQ,EAAEkF,kBAAA,CAAUS;MAHN,CAAhB,CADM;IALe,CAAhB;EANK,CAAhB,CADQ,CAnEO;EAyFjBrI,UAAU,EAAE4H,kBAAA,CAAUM,IAzFL;EA0FjBjI,WAAW,EAAE2H,kBAAA,CAAUM;AA1FN,C;eAolBNvK,U"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["MoocHeader","React","Component","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","isToolTipOpen","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","handleOnMouseOver","handleOnMouseLeave","handleKeyPress","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","closeSettingsAriaLabel","activePageAriaLabel","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","closeLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","style","itemBadge","name","itemName","activePage","bar","optionsView","more","option","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","classnames","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","closeSettings","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","tooltipIconContainer","homeIcon","__html","menuWrapper","hiddenMenuWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","shape","src","string","srcMobile","Search","func","arrayOf","oneOf","bool","number","Cta"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaCompositionCoorpacademyPlacesHome24 as HomeIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string,\n toolTipText: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'close-settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false,\n isToolTipOpen: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n this.handleOnMouseOver = this.handleOnMouseOver.bind(this);\n this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n handleOnMouseOver() {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n }\n\n handleOnMouseLeave() {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n\n handleKeyPress(event) {\n if (event.key === 'Enter') {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n }\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'close-settings-aria-label': closeSettingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen, isToolTipOpen} = this.state;\n const {translate, skin} = this.context;\n const {\n 'aria-label': logoAriaLabel,\n closeMenuAriaLabel,\n openMenuAriaLabel,\n toolTipText,\n closeToolTipInformationTextAriaLabel\n } = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const closeLabel = translate('Close');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n </Link>\n );\n });\n\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div className={style.currentOption} aria-haspopup=\"true\" data-name=\"item-more\">\n {moreAriaLabel}\n <ArrowDown color={mediumColor} className={style.caret} aria-label={moreAriaLabel} />\n </div>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} color={white} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} color={white} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} color={white} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <span className={style.label}>{title}</span>\n <InputSwitch {...switchProps} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n color={darkColor}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div data-name=\"settings\" className={style.settingsGroup}>\n {settingsElements}\n </div>\n <div\n className={style.closeSettings}\n onClick={this.handleSettingsToggle}\n aria-label={closeSettingsAriaLabel}\n >\n {closeLabel}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div\n className={style.logoWrapper}\n aria-label={toolTipText}\n onMouseOver={this.handleOnMouseOver}\n onMouseLeave={this.handleOnMouseLeave}\n >\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n color={mediumColor}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n aria-label={openMenuAriaLabel}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n color={mediumColor}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n aria-label={closeMenuAriaLabel}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link\n className={style.logo}\n data-name=\"logo\"\n href={logo.href}\n onKeyDown={this.handleKeyPress}\n tabIndex={0}\n data-testid=\"brand-logo\"\n >\n <Picture src={logoUrl} alt={logoAriaLabel} />\n {isToolTipOpen ? (\n <div aria-label={toolTipText} tabIndex={0} data-testid=\"home-tooltip\">\n <div\n aria-label={`${toolTipText} ${closeToolTipInformationTextAriaLabel}`}\n role=\"tooltip\"\n className={style.tooltipIconContainer}\n tabIndex={0}\n >\n <HomeIcon className={style.homeIcon} style={{color: primaryColor}} />\n <p\n className={style.toolTipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: toolTipText}}\n style={{color: primaryColor}}\n />\n </div>\n </div>\n ) : null}\n </Link>\n </div>\n {searchFormView}\n <div\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
|
|
@@ -501,6 +501,52 @@
|
|
|
501
501
|
color: dark;
|
|
502
502
|
}
|
|
503
503
|
|
|
504
|
+
.homeIcon {
|
|
505
|
+
width: 16px;
|
|
506
|
+
height: 14px;
|
|
507
|
+
margin-left: 16px;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
.toolTipText {
|
|
511
|
+
font-family: 'Gilroy';
|
|
512
|
+
font-size: 14px;
|
|
513
|
+
width: 121px;
|
|
514
|
+
height: 24px;
|
|
515
|
+
line-height: 27px;
|
|
516
|
+
order: 0;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
[role="tooltip"],
|
|
520
|
+
.logo .tooltipIconContainer + [role="tooltip"] {
|
|
521
|
+
border: none;
|
|
522
|
+
border-radius: 8px;
|
|
523
|
+
display: flex;
|
|
524
|
+
flex-direction: row;
|
|
525
|
+
align-items: center;
|
|
526
|
+
gap: 8px;
|
|
527
|
+
position: absolute;
|
|
528
|
+
background-color: white;
|
|
529
|
+
bottom: -2.5em;
|
|
530
|
+
height: 32px;
|
|
531
|
+
width: 160px;
|
|
532
|
+
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.08);
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
.tooltipIconContainer::after {
|
|
536
|
+
content: ' ';
|
|
537
|
+
display: inline-block;
|
|
538
|
+
visibility: inherit;
|
|
539
|
+
opacity: inherit;
|
|
540
|
+
width: 15px;
|
|
541
|
+
height: 15px;
|
|
542
|
+
transform: rotate(-45deg);
|
|
543
|
+
background-color: white;
|
|
544
|
+
position: inherit;
|
|
545
|
+
top: -6px;
|
|
546
|
+
right: 40%;
|
|
547
|
+
border-radius: 2px;
|
|
548
|
+
}
|
|
549
|
+
|
|
504
550
|
@media desktop {
|
|
505
551
|
.item {
|
|
506
552
|
padding: 0 11px;
|
|
@@ -13,6 +13,8 @@ declare namespace TeamsDashboard {
|
|
|
13
13
|
href: PropTypes.Requireable<string>;
|
|
14
14
|
'aria-label': PropTypes.Requireable<string>;
|
|
15
15
|
'button-aria-label': PropTypes.Requireable<string>;
|
|
16
|
+
toolTipText: PropTypes.Requireable<string>;
|
|
17
|
+
closeToolTipInformationTextAriaLabel: PropTypes.Requireable<string>;
|
|
16
18
|
}>>;
|
|
17
19
|
const platformLinks: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
18
20
|
submitValue: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/components",
|
|
3
|
-
"version": "11.9.3-alpha.24+
|
|
3
|
+
"version": "11.9.3-alpha.25.24+9237e0cf4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"Soualmi Djamel <djamel.soualmi@coorpacademy.com>"
|
|
57
57
|
],
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@coorpacademy/nova-icons": "4.1.
|
|
59
|
+
"@coorpacademy/nova-icons": "4.1.3-alpha.25.182+9237e0cf4",
|
|
60
60
|
"@coorpacademy/react-native-animation": "1.0.3",
|
|
61
61
|
"@jwplayer/jwplayer-react": "^1.1.0",
|
|
62
62
|
"@types/react": "^17.0.50",
|
|
@@ -161,5 +161,5 @@
|
|
|
161
161
|
"last 2 versions",
|
|
162
162
|
"IE 11"
|
|
163
163
|
],
|
|
164
|
-
"gitHead": "
|
|
164
|
+
"gitHead": "9237e0cf4a3596e9281bfdf384123efa5ca83fad"
|
|
165
165
|
}
|