@coorpacademy/components 11.14.17 → 11.14.18-alpha.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/select/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuDA,qEAyLC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/select/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuDA,qEA2LC"}
@@ -128,6 +128,7 @@ const Select = (props, legacyContext) => {
128
128
  return /*#__PURE__*/React.createElement("div", {
129
129
  className: classnames(composedClassName, theme === 'coorpmanager' ? style.coorpmanager : null)
130
130
  }, /*#__PURE__*/React.createElement("label", {
131
+ "data-testid": "select-wrapper",
131
132
  "data-name": "select-wrapper",
132
133
  title: title,
133
134
  style: _extends({}, shouldUseSkinFontColor && {
@@ -135,6 +136,7 @@ const Select = (props, legacyContext) => {
135
136
  }),
136
137
  className: style.selectWrapper
137
138
  }, titleView, /*#__PURE__*/React.createElement("span", {
139
+ "data-testid": "select-span",
138
140
  "data-name": "select-span",
139
141
  className: classnames(style.selectSpan, includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template']) ? style.noLabelCommon : null, borderClassName, isLongLabel ? style.longLabel : null),
140
142
  style: _extends({}, shouldUseSkinFontColor && {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useMemo","useState","PropTypes","classnames","concat","filter","find","flatMapDeep","get","getOr","includes","isEmpty","keys","map","size","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationArrowTop","ArrowUp","Provider","GetSkinFromContext","getClassState","style","themeStyle","invalid","header","mooc","question","sort","thematiques","player","template","coorpmanager","ArrowView","shouldRender","isArrowUp","ariaLabel","arrowClass","arrowColor","props","color","className","Select","legacyContext","name","options","optgroups","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","ariaLabelledBy","skin","setIsArrowUp","handleSelectOnFocus","handleSelectOnBlur","selectOption","option","index","value","optionList","optgroup","label","i","titleView","selected","selectedLabel","isSelectedInValidOption","validOption","handleChange","e","target","selectedOptions","black","isThemeOneOfQuestionTemplateOrPlayer","shouldUseSkinFontColor","undefined","behaviorClassName","default","composedClassName","unselected","labelSize","isLongLabel","selectWrapper","selectSpan","noLabelCommon","longLabel","selectedArrow","arrow","selectBox","SelectOptionPropTypes","string","isRequired","oneOfType","number","bool","SelectOptionGroupPropTypes","arrayOf","shape","contextTypes","childContextTypes","propTypes","func","oneOf"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport concat from 'lodash/fp/concat';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport flatMapDeep from 'lodash/fp/flatMapDeep';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationArrowTop as ArrowUp\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n coorpmanager: null\n};\n\nconst ArrowView = ({shouldRender, isArrowUp, ariaLabel, arrowClass, arrowColor}) => {\n const props = useMemo(\n () => ({\n ...(arrowColor &\n {\n color: arrowColor\n }),\n className: arrowClass\n }),\n [ariaLabel, arrowClass, arrowColor]\n );\n if (shouldRender) {\n return isArrowUp ? (\n <ArrowUp {...props} data-testid=\"select-arrow-up-icon\" />\n ) : (\n <ArrowDown {...props} data-testid=\"select-arrow-down-icon\" />\n );\n } else return null;\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n optgroups = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(\n () => (propTitle ? `${propTitle}${required ? '*' : ''}` : null),\n [propTitle, required]\n );\n\n const [isArrowUp, setIsArrowUp] = useState(false);\n\n const handleSelectOnFocus = useCallback(() => setIsArrowUp(true), []);\n const handleSelectOnBlur = useCallback(() => setIsArrowUp(false), []);\n\n const selectOption = (option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n };\n\n const optionList = !isEmpty(options)\n ? options.map((option, index) => selectOption(option, index))\n : optgroups.map((optgroup, index) => {\n return (\n <optgroup key={index} label={optgroup.label}>\n {optgroup.options && optgroup.options.map((option, i) => selectOption(option, i))}\n </optgroup>\n );\n });\n\n const titleView = title ? <span className={style.title}>{title}</span> : null;\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, concat(options, flatMapDeep('options', optgroups)))),\n [multiple, options, optgroups]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, concat(options, flatMapDeep('options', optgroups)))),\n [multiple, options, optgroups]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n setIsArrowUp(false);\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n setIsArrowUp(false);\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const isThemeOneOfQuestionTemplateOrPlayer = useMemo(\n () => includes(theme, ['question', 'template', 'player']),\n [theme]\n );\n const shouldUseSkinFontColor = useMemo(\n () => !isSelectedInValidOption && selected && isThemeOneOfQuestionTemplateOrPlayer,\n [isSelectedInValidOption, selected, isThemeOneOfQuestionTemplateOrPlayer]\n );\n const arrowColor = selected ? color : undefined;\n\n const behaviorClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviorClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviorClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <label\n data-name=\"select-wrapper\"\n title={title}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n {titleView}\n <span\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n <ArrowView\n shouldRender={!multiple}\n isArrowUp={isArrowUp}\n ariaLabel={ariaLabel}\n arrowClass={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n arrowColor={isThemeOneOfQuestionTemplateOrPlayer ? arrowColor : black}\n />\n <select\n {...(ariaLabelledBy ? {'aria-labelledby': ariaLabelledBy} : {})}\n {...(ariaLabel && !ariaLabelledBy ? {'aria-label': ariaLabel} : {})}\n {...(ariaLabel ? {title: ariaLabel} : {})}\n data-name=\"native-select\"\n className={style.selectBox}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n onClick={handleSelectOnFocus}\n onBlur={handleSelectOnBlur}\n // onBlur does not handle completely an out of bounds click\n // ex: select is Opened and a click is done outside, cancelling the select\n // that doesn't count as a Blur, so an onMouseLeave is needed\n onMouseLeave={handleSelectOnBlur}\n data-testid=\"native-select\"\n >\n {optionList}\n </select>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nexport const SelectOptionGroupPropTypes = {\n label: PropTypes.string.isRequired,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n optgroups: PropTypes.arrayOf(PropTypes.shape(SelectOptionGroupPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool,\n 'aria-label': PropTypes.string,\n 'aria-labelledby': PropTypes.string\n};\n\nexport default Select;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useMemo","useState","PropTypes","classnames","concat","filter","find","flatMapDeep","get","getOr","includes","isEmpty","keys","map","size","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationArrowTop","ArrowUp","Provider","GetSkinFromContext","getClassState","style","themeStyle","invalid","header","mooc","question","sort","thematiques","player","template","coorpmanager","ArrowView","shouldRender","isArrowUp","ariaLabel","arrowClass","arrowColor","props","color","className","Select","legacyContext","name","options","optgroups","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","ariaLabelledBy","skin","setIsArrowUp","handleSelectOnFocus","handleSelectOnBlur","selectOption","option","index","value","optionList","optgroup","label","i","titleView","selected","selectedLabel","isSelectedInValidOption","validOption","handleChange","e","target","selectedOptions","black","isThemeOneOfQuestionTemplateOrPlayer","shouldUseSkinFontColor","undefined","behaviorClassName","default","composedClassName","unselected","labelSize","isLongLabel","selectWrapper","selectSpan","noLabelCommon","longLabel","selectedArrow","arrow","selectBox","SelectOptionPropTypes","string","isRequired","oneOfType","number","bool","SelectOptionGroupPropTypes","arrayOf","shape","contextTypes","childContextTypes","propTypes","func","oneOf"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport concat from 'lodash/fp/concat';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport flatMapDeep from 'lodash/fp/flatMapDeep';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationArrowTop as ArrowUp\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n coorpmanager: null\n};\n\nconst ArrowView = ({shouldRender, isArrowUp, ariaLabel, arrowClass, arrowColor}) => {\n const props = useMemo(\n () => ({\n ...(arrowColor &\n {\n color: arrowColor\n }),\n className: arrowClass\n }),\n [ariaLabel, arrowClass, arrowColor]\n );\n if (shouldRender) {\n return isArrowUp ? (\n <ArrowUp {...props} data-testid=\"select-arrow-up-icon\" />\n ) : (\n <ArrowDown {...props} data-testid=\"select-arrow-down-icon\" />\n );\n } else return null;\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n optgroups = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(\n () => (propTitle ? `${propTitle}${required ? '*' : ''}` : null),\n [propTitle, required]\n );\n\n const [isArrowUp, setIsArrowUp] = useState(false);\n\n const handleSelectOnFocus = useCallback(() => setIsArrowUp(true), []);\n const handleSelectOnBlur = useCallback(() => setIsArrowUp(false), []);\n\n const selectOption = (option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n };\n\n const optionList = !isEmpty(options)\n ? options.map((option, index) => selectOption(option, index))\n : optgroups.map((optgroup, index) => {\n return (\n <optgroup key={index} label={optgroup.label}>\n {optgroup.options && optgroup.options.map((option, i) => selectOption(option, i))}\n </optgroup>\n );\n });\n\n const titleView = title ? <span className={style.title}>{title}</span> : null;\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, concat(options, flatMapDeep('options', optgroups)))),\n [multiple, options, optgroups]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, concat(options, flatMapDeep('options', optgroups)))),\n [multiple, options, optgroups]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n setIsArrowUp(false);\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n setIsArrowUp(false);\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const isThemeOneOfQuestionTemplateOrPlayer = useMemo(\n () => includes(theme, ['question', 'template', 'player']),\n [theme]\n );\n const shouldUseSkinFontColor = useMemo(\n () => !isSelectedInValidOption && selected && isThemeOneOfQuestionTemplateOrPlayer,\n [isSelectedInValidOption, selected, isThemeOneOfQuestionTemplateOrPlayer]\n );\n const arrowColor = selected ? color : undefined;\n\n const behaviorClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviorClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviorClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <label\n data-testid=\"select-wrapper\"\n data-name=\"select-wrapper\"\n title={title}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n {titleView}\n <span\n data-testid=\"select-span\"\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n <ArrowView\n shouldRender={!multiple}\n isArrowUp={isArrowUp}\n ariaLabel={ariaLabel}\n arrowClass={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n arrowColor={isThemeOneOfQuestionTemplateOrPlayer ? arrowColor : black}\n />\n <select\n {...(ariaLabelledBy ? {'aria-labelledby': ariaLabelledBy} : {})}\n {...(ariaLabel && !ariaLabelledBy ? {'aria-label': ariaLabel} : {})}\n {...(ariaLabel ? {title: ariaLabel} : {})}\n data-name=\"native-select\"\n className={style.selectBox}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n onClick={handleSelectOnFocus}\n onBlur={handleSelectOnBlur}\n // onBlur does not handle completely an out of bounds click\n // ex: select is Opened and a click is done outside, cancelling the select\n // that doesn't count as a Blur, so an onMouseLeave is needed\n onMouseLeave={handleSelectOnBlur}\n data-testid=\"native-select\"\n >\n {optionList}\n </select>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nexport const SelectOptionGroupPropTypes = {\n label: PropTypes.string.isRequired,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n optgroups: PropTypes.arrayOf(PropTypes.shape(SelectOptionGroupPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool,\n 'aria-label': PropTypes.string,\n 'aria-labelledby': PropTypes.string\n};\n\nexport default Select;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,WAAf,EAA4BC,OAA5B,EAAqCC,QAArC,QAAoD,OAApD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,MAAP,MAAmB,kBAAnB;AACA,OAAOC,MAAP,MAAmB,kBAAnB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,WAAP,MAAwB,uBAAxB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,QAAP,MAAqB,oBAArB;AACA,OAAOC,OAAP,MAAoB,mBAApB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,SACEC,kCAAkC,IAAIC,SADxC,EAEEC,iCAAiC,IAAIC,OAFvC,QAGO,0BAHP;AAIA,OAAOC,QAAP,IAAkBC,kBAAlB,QAA2C,aAA3C;AACA,OAAOC,aAAP,MAA0B,4BAA1B;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,UAAU,GAAG;EACjBlB,MAAM,EAAEiB,KAAK,CAACjB,MADG;EAEjBmB,OAAO,EAAEF,KAAK,CAACE,OAFE;EAGjBC,MAAM,EAAEH,KAAK,CAACG,MAHG;EAIjBC,IAAI,EAAEJ,KAAK,CAACI,IAJK;EAKjBC,QAAQ,EAAEL,KAAK,CAACK,QALC;EAMjBC,IAAI,EAAEN,KAAK,CAACM,IANK;EAOjBC,WAAW,EAAEP,KAAK,CAACO,WAPF;EAQjBC,MAAM,EAAER,KAAK,CAACQ,MARG;EASjBC,QAAQ,EAAET,KAAK,CAACS,QATC;EAUjBC,YAAY,EAAE;AAVG,CAAnB;;AAaA,MAAMC,SAAS,GAAG,CAAC;EAACC,YAAD;EAAeC,SAAf;EAA0BC,SAA1B;EAAqCC,UAArC;EAAiDC;AAAjD,CAAD,KAAkE;EAClF,MAAMC,KAAK,GAAGvC,OAAO,CACnB,mBACMsC,UAAU,GACZ;IACEE,KAAK,EAAEF;EADT,CAFJ;IAKEG,SAAS,EAAEJ;EALb,EADmB,EAQnB,CAACD,SAAD,EAAYC,UAAZ,EAAwBC,UAAxB,CARmB,CAArB;;EAUA,IAAIJ,YAAJ,EAAkB;IAChB,OAAOC,SAAS,gBACd,oBAAC,OAAD,eAAaI,KAAb;MAAoB,eAAY;IAAhC,GADc,gBAGd,oBAAC,SAAD,eAAeA,KAAf;MAAsB,eAAY;IAAlC,GAHF;EAKD,CAND,MAMO,OAAO,IAAP;AACR,CAlBD;;AAoBA,MAAMG,MAAM,GAAG,CAACH,KAAD,EAAQI,aAAR,KAA0B;EACvC,MAAM;IACJC,IADI;IAEJC,OAAO,GAAG,EAFN;IAGJC,SAAS,GAAG,EAHR;IAIJL,SAJI;IAKJM,eALI;IAMJC,QANI;IAOJC,QAAQ,GAAG,KAPP;IAQJC,QARI;IASJC,QATI;IAUJC,WAVI;IAWJC,KAXI;IAYJC,QAAQ,GAAG,KAZP;IAaJC,KAAK,GAAG,KAbJ;IAcJC,KAAK,EAAEC,SAdH;IAeJ,cAAcrB,SAfV;IAgBJ,mBAAmBsB;EAhBf,IAiBFnB,KAjBJ;EAmBA,MAAMoB,IAAI,GAAGvC,kBAAkB,CAACuB,aAAD,CAA/B;EACA,MAAMa,KAAK,GAAGxD,OAAO,CACnB,MAAOyD,SAAS,GAAI,GAAEA,SAAU,GAAEN,QAAQ,GAAG,GAAH,GAAS,EAAG,EAAtC,GAA0C,IADvC,EAEnB,CAACM,SAAD,EAAYN,QAAZ,CAFmB,CAArB;EAKA,MAAM,CAAChB,SAAD,EAAYyB,YAAZ,IAA4B3D,QAAQ,CAAC,KAAD,CAA1C;EAEA,MAAM4D,mBAAmB,GAAG9D,WAAW,CAAC,MAAM6D,YAAY,CAAC,IAAD,CAAnB,EAA2B,EAA3B,CAAvC;EACA,MAAME,kBAAkB,GAAG/D,WAAW,CAAC,MAAM6D,YAAY,CAAC,KAAD,CAAnB,EAA4B,EAA5B,CAAtC;;EAEA,MAAMG,YAAY,GAAG,CAACC,MAAD,EAASC,KAAT,KAAmB;IACtC,oBACE;MAAQ,GAAG,EAAEA,KAAb;MAAoB,KAAK,EAAED,MAAM,CAACE,KAAlC;MAAyC,SAAS,EAAE5C,KAAK,CAACyC;IAA1D,GACGC,MAAM,CAACpB,IADV,CADF;EAKD,CAND;;EAQA,MAAMuB,UAAU,GAAG,CAACxD,OAAO,CAACkC,OAAD,CAAR,GACfA,OAAO,CAAChC,GAAR,CAAY,CAACmD,MAAD,EAASC,KAAT,KAAmBF,YAAY,CAACC,MAAD,EAASC,KAAT,CAA3C,CADe,GAEfnB,SAAS,CAACjC,GAAV,CAAc,CAACuD,QAAD,EAAWH,KAAX,KAAqB;IACjC,oBACE;MAAU,GAAG,EAAEA,KAAf;MAAsB,KAAK,EAAEG,QAAQ,CAACC;IAAtC,GACGD,QAAQ,CAACvB,OAAT,IAAoBuB,QAAQ,CAACvB,OAAT,CAAiBhC,GAAjB,CAAqB,CAACmD,MAAD,EAASM,CAAT,KAAeP,YAAY,CAACC,MAAD,EAASM,CAAT,CAAhD,CADvB,CADF;EAKD,CAND,CAFJ;EAUA,MAAMC,SAAS,GAAGf,KAAK,gBAAG;IAAM,SAAS,EAAElC,KAAK,CAACkC;EAAvB,GAA+BA,KAA/B,CAAH,GAAkD,IAAzE;EAEA,MAAMgB,QAAQ,GAAGxE,OAAO,CACtB,MACEiD,QAAQ,GACJpC,GAAG,CAACL,GAAG,CAAC,OAAD,CAAJ,EAAeH,MAAM,CAAC;IAACmE,QAAQ,EAAE;EAAX,CAAD,EAAmB3B,OAAnB,CAArB,CADC,GAEJrC,GAAG,CAAC,OAAD,EAAUF,IAAI,CAAC;IAACkE,QAAQ,EAAE;EAAX,CAAD,EAAmBpE,MAAM,CAACyC,OAAD,EAAUtC,WAAW,CAAC,SAAD,EAAYuC,SAAZ,CAArB,CAAzB,CAAd,CAJa,EAKtB,CAACG,QAAD,EAAWJ,OAAX,EAAoBC,SAApB,CALsB,CAAxB;EAOA,MAAM2B,aAAa,GAAGzE,OAAO,CAC3B,MACEiD,QAAQ,GACJpC,GAAG,CAACL,GAAG,CAAC,MAAD,CAAJ,EAAcH,MAAM,CAAC;IAACmE,QAAQ,EAAE;EAAX,CAAD,EAAmB3B,OAAnB,CAApB,CADC,GAEJrC,GAAG,CAAC,MAAD,EAASF,IAAI,CAAC;IAACkE,QAAQ,EAAE;EAAX,CAAD,EAAmBpE,MAAM,CAACyC,OAAD,EAAUtC,WAAW,CAAC,SAAD,EAAYuC,SAAZ,CAArB,CAAzB,CAAb,CAJkB,EAK3B,CAACG,QAAD,EAAWJ,OAAX,EAAoBC,SAApB,CAL2B,CAA7B;EAQA,MAAM4B,uBAAuB,GAAG1E,OAAO,CACrC,MACEqD,KAAK,KAAK,QAAV,IACA5C,KAAK,CAAC,KAAD,EAAQ,MAAR,EAAgBH,IAAI,CAAC;IAACqE,WAAW,EAAE,KAAd;IAAqBH,QAAQ,EAAE;EAA/B,CAAD,EAAuC3B,OAAvC,CAApB,CAH8B,EAIrC,CAACA,OAAD,EAAUQ,KAAV,CAJqC,CAAvC;EAOA,MAAMuB,YAAY,GAAG5E,OAAO,CAC1B,MACEiD,QAAQ,GACJ4B,CAAC,IAAI;IACHjB,YAAY,CAAC,KAAD,CAAZ;IACAZ,QAAQ,CAACnC,GAAG,CAACL,GAAG,CAAC,OAAD,CAAJ,EAAeqE,CAAC,CAACC,MAAF,CAASC,eAAxB,CAAJ,CAAR;EACD,CAJG,GAKJF,CAAC,IAAI;IACHjB,YAAY,CAAC,KAAD,CAAZ;IACAZ,QAAQ,CAAC6B,CAAC,CAACC,MAAF,CAASZ,KAAV,CAAR;EACD,CAVmB,EAW1B,CAAClB,QAAD,EAAWC,QAAX,CAX0B,CAA5B;EAcA,MAAM+B,KAAK,GAAGhF,OAAO,CAAC,MAAMS,KAAK,CAAC,SAAD,EAAY,cAAZ,EAA4BkD,IAA5B,CAAZ,EAA+C,CAACA,IAAD,CAA/C,CAArB;EACA,MAAMnB,KAAK,GAAGxC,OAAO,CAAC,MAAMS,KAAK,CAAC,SAAD,EAAY,gBAAZ,EAA8BkD,IAA9B,CAAZ,EAAiD,CAACA,IAAD,CAAjD,CAArB;EACA,MAAMsB,oCAAoC,GAAGjF,OAAO,CAClD,MAAMU,QAAQ,CAAC2C,KAAD,EAAQ,CAAC,UAAD,EAAa,UAAb,EAAyB,QAAzB,CAAR,CADoC,EAElD,CAACA,KAAD,CAFkD,CAApD;EAIA,MAAM6B,sBAAsB,GAAGlF,OAAO,CACpC,MAAM,CAAC0E,uBAAD,IAA4BF,QAA5B,IAAwCS,oCADV,EAEpC,CAACP,uBAAD,EAA0BF,QAA1B,EAAoCS,oCAApC,CAFoC,CAAtC;EAIA,MAAM3C,UAAU,GAAGkC,QAAQ,GAAGhC,KAAH,GAAW2C,SAAtC;EAEA,MAAMC,iBAAiB,GAAGpF,OAAO,CAC/B,MAAMqB,aAAa,CAACC,KAAK,CAAC+D,OAAP,EAAgB/D,KAAK,CAACgC,QAAtB,EAAgChC,KAAK,CAACiC,KAAtC,EAA6CD,QAA7C,EAAuDC,KAAvD,CADY,EAE/B,CAACA,KAAD,EAAQD,QAAR,CAF+B,CAAjC;EAIA,MAAMgC,iBAAiB,GAAGtF,OAAO,CAC/B,MACEG,UAAU,CACRkD,KAAK,IAAIA,KAAK,KAAK,cAAnB,GAAoC9B,UAAU,CAAC8B,KAAD,CAA9C,GAAwD+B,iBADhD,EAERZ,QAAQ,GAAGlD,KAAK,CAACkD,QAAT,GAAoBlD,KAAK,CAACiE,UAF1B,EAGR9C,SAHQ,CAFmB,EAO/B,CAAC2C,iBAAD,EAAoB3C,SAApB,EAA+B+B,QAA/B,EAAyCnB,KAAzC,CAP+B,CAAjC;EAUA,MAAMmC,SAAS,GAAGxF,OAAO,CAAC,MAAMc,IAAI,CAAC2D,aAAD,CAAX,EAA4B,CAACA,aAAD,CAA5B,CAAzB;EAEA,MAAMgB,WAAW,GAAGzF,OAAO,CAAC,MAAMwF,SAAS,IAAI,EAApB,EAAwB,CAACA,SAAD,CAAxB,CAA3B;EAEA,oBACE;IACE,SAAS,EAAErF,UAAU,CACnBmF,iBADmB,EAEnBjC,KAAK,KAAK,cAAV,GAA2B/B,KAAK,CAACU,YAAjC,GAAgD,IAF7B;EADvB,gBAME;IACE,eAAY,gBADd;IAEE,aAAU,gBAFZ;IAGE,KAAK,EAAEwB,KAHT;IAIE,KAAK,eACC0B,sBAAsB,IAAI;MAC5B1C;IAD4B,CAD3B,CAJP;IASE,SAAS,EAAElB,KAAK,CAACoE;EATnB,GAWGnB,SAXH,eAYE;IACE,eAAY,aADd;IAEE,aAAU,aAFZ;IAGE,SAAS,EAAEpE,UAAU,CACnBmB,KAAK,CAACqE,UADa,EAEnBjF,QAAQ,CAAC2C,KAAD,EAAQ,CAAC,QAAD,EAAW,SAAX,EAAsB,UAAtB,EAAkC,aAAlC,EAAiD,UAAjD,CAAR,CAAR,GACI/B,KAAK,CAACsE,aADV,GAEI,IAJe,EAKnB7C,eALmB,EAMnB0C,WAAW,GAAGnE,KAAK,CAACuE,SAAT,GAAqB,IANb,CAHvB;IAWE,KAAK,eACCX,sBAAsB,IAAI;MAC5B1C;IAD4B,CAD3B;EAXP,GAiBGiC,aAjBH,CAZF,eA+BE,oBAAC,SAAD;IACE,YAAY,EAAE,CAACxB,QADjB;IAEE,SAAS,EAAEd,SAFb;IAGE,SAAS,EAAEC,SAHb;IAIE,UAAU,EAAE8C,sBAAsB,GAAG5D,KAAK,CAACwE,aAAT,GAAyBxE,KAAK,CAACyE,KAJnE;IAKE,UAAU,EAAEd,oCAAoC,GAAG3C,UAAH,GAAgB0C;EALlE,EA/BF,eAsCE,2CACOtB,cAAc,GAAG;IAAC,mBAAmBA;EAApB,CAAH,GAAyC,EAD9D,EAEOtB,SAAS,IAAI,CAACsB,cAAd,GAA+B;IAAC,cAActB;EAAf,CAA/B,GAA2D,EAFlE,EAGOA,SAAS,GAAG;IAACoB,KAAK,EAAEpB;EAAR,CAAH,GAAwB,EAHxC;IAIE,aAAU,eAJZ;IAKE,SAAS,EAAEd,KAAK,CAAC0E,SALnB;IAME,IAAI,EAAEpD,IANR;IAOE,QAAQ,EAAEgC,YAPZ;IAQE,KAAK,EAAEJ,QART;IASE,QAAQ,EAAEvB,QATZ;IAUE,QAAQ,EAAEC,QAVZ;IAWE,OAAO,EAAEW,mBAXX;IAYE,MAAM,EAAEC,kBAZV,CAaE;IACA;IACA;IAfF;IAgBE,YAAY,EAAEA,kBAhBhB;IAiBE,eAAY;EAjBd,IAmBGK,UAnBH,CAtCF,CANF,eAkEE;IAAK,SAAS,EAAE7C,KAAK,CAAC8B;EAAtB,GAAoCA,WAApC,CAlEF,CADF;AAsED,CA3LD;;AA6LA,OAAO,MAAM6C,qBAAqB,GAAG;EACnCrD,IAAI,EAAE1C,SAAS,CAACgG,MAAV,CAAiBC,UADY;EAEnCjC,KAAK,EAAEhE,SAAS,CAACkG,SAAV,CAAoB,CAAClG,SAAS,CAACgG,MAAX,EAAmBhG,SAAS,CAACmG,MAA7B,CAApB,CAF4B;EAGnC7B,QAAQ,EAAEtE,SAAS,CAACoG,IAHe;EAInC3B,WAAW,EAAEzE,SAAS,CAACoG;AAJY,CAA9B;AAOP,OAAO,MAAMC,0BAA0B,GAAG;EACxClC,KAAK,EAAEnE,SAAS,CAACgG,MAAV,CAAiBC,UADgB;EAExCtD,OAAO,EAAE3C,SAAS,CAACsG,OAAV,CAAkBtG,SAAS,CAACuG,KAAV,CAAgBR,qBAAhB,CAAlB;AAF+B,CAAnC;AAKPvD,MAAM,CAACgE,YAAP,GAAsB;EACpB/C,IAAI,EAAExC,QAAQ,CAACwF,iBAAT,CAA2BhD;AADb,CAAtB;AAIAjB,MAAM,CAACkE,SAAP,2CAAmB;EACjBpD,KAAK,EAAEtD,SAAS,CAACgG,MADA;EAEjBtD,IAAI,EAAE1C,SAAS,CAACgG,MAFC;EAGjBzD,SAAS,EAAEvC,SAAS,CAACgG,MAHJ;EAIjBnD,eAAe,EAAE7C,SAAS,CAACgG,MAJV;EAKjBhD,QAAQ,EAAEhD,SAAS,CAACoG,IALH;EAMjBrD,QAAQ,EAAE/C,SAAS,CAACoG,IANH;EAOjBlD,WAAW,EAAElD,SAAS,CAACgG,MAPN;EAQjB/C,QAAQ,EAAEjD,SAAS,CAACoG,IARH;EASjBtD,QAAQ,EAAE9C,SAAS,CAAC2G,IATH;EAUjBxD,KAAK,EAAEnD,SAAS,CAAC4G,KAAV,CAAgBlG,IAAI,CAACW,UAAD,CAApB,CAVU;EAWjBsB,OAAO,EAAE3C,SAAS,CAACsG,OAAV,CAAkBtG,SAAS,CAACuG,KAAV,CAAgBR,qBAAhB,CAAlB,CAXQ;EAYjBnD,SAAS,EAAE5C,SAAS,CAACsG,OAAV,CAAkBtG,SAAS,CAACuG,KAAV,CAAgBF,0BAAhB,CAAlB,CAZM;EAajBjD,QAAQ,EAAEpD,SAAS,CAACoG,IAbH;EAcjB/C,KAAK,EAAErD,SAAS,CAACoG,IAdA;EAejB,cAAcpG,SAAS,CAACgG,MAfP;EAgBjB,mBAAmBhG,SAAS,CAACgG;AAhBZ,CAAnB;AAmBA,eAAexD,MAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/add-to-my-list/index.js"],"names":[],"mappings":"AAiBO;;gBAYN;;;;;;AAEM;;;;uBAUN;;;;;;;;;;;AAED;;;;;gBAsBC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/add-to-my-list/index.js"],"names":[],"mappings":"AAiBO;;gBAYN;;;;;;AAEM;;;;uBAcN;;;;;;;;;;;AAED;;;;;gBA2BC"}
@@ -37,6 +37,7 @@ export const AddToMyListFeedback = ({
37
37
  if (status === ADD_TO_MY_LIST_STATUS.IDLE) return null;
38
38
  return /*#__PURE__*/React.createElement("div", {
39
39
  className: classnames(styles.feedback),
40
+ "data-testid": "add-to-my-list-feedback",
40
41
  "data-name": 'add-to-my-list-feedback'
41
42
  }, /*#__PURE__*/React.createElement(CheckIcon, {
42
43
  className: styles.checkIcon,
@@ -64,6 +65,7 @@ const AddToMyList = ({
64
65
  return /*#__PURE__*/React.createElement("div", {
65
66
  className: (styles.container, style)
66
67
  }, /*#__PURE__*/React.createElement(Link, {
68
+ "data-testid": "add-to-my-list-button",
67
69
  "data-name": 'add-to-my-list-button',
68
70
  onClick: onClick,
69
71
  className: styles.cta
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useContext","useEffect","useMemo","PropTypes","classnames","NovaCompositionCoorpacademyCheck","CheckIcon","NovaCompositionNavigationMore","MoreIcon","Link","styles","ADD_TO_MY_LIST_STATUS","IDLE","SUCCESS","StatusContext","createContext","AddToMyListStatusProvider","children","status","setStatus","timeoutId","DURATION","setTimeout","clearTimeout","statusValue","AddToMyListFeedback","addToMyListText","removeFromMyListText","favorite","feedback","checkIcon","AddToMyList","style","addToMyListButton","onFavoriteClick","cb","onClick","container","cta","wrapper","shareIcon","propTypes","node","string","bool","func"],"sources":["../../../src/molecule/add-to-my-list/index.js"],"sourcesContent":["import React, {useState, useContext, useEffect, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionNavigationMore as MoreIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst ADD_TO_MY_LIST_STATUS = {\n IDLE: 'IDLE',\n SUCCESS: 'SUCCESS'\n};\n\nconst StatusContext = React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);\n\nexport const AddToMyListStatusProvider = ({children}) => {\n const [status, setStatus] = useState(ADD_TO_MY_LIST_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== ADD_TO_MY_LIST_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(ADD_TO_MY_LIST_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n const statusValue = useMemo(() => [status, setStatus], [status, setStatus]);\n return <StatusContext.Provider value={statusValue}>{children}</StatusContext.Provider>;\n};\n\nexport const AddToMyListFeedback = ({addToMyListText, removeFromMyListText, favorite}) => {\n const [status] = useContext(StatusContext);\n if (status === ADD_TO_MY_LIST_STATUS.IDLE) return null;\n\n return (\n <div className={classnames(styles.feedback)} data-name={'add-to-my-list-feedback'}>\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n <p role=\"status\">{favorite ? addToMyListText : removeFromMyListText}</p>\n </div>\n );\n};\n\nconst AddToMyList = ({style, addToMyListButton, favorite, onFavoriteClick}) => {\n const [, setStatus] = useContext(StatusContext);\n const cb = () => setStatus(ADD_TO_MY_LIST_STATUS.SUCCESS);\n\n function onClick() {\n onFavoriteClick(cb);\n }\n\n return (\n <div className={(styles.container, style)}>\n <Link data-name={'add-to-my-list-button'} onClick={onClick} className={styles.cta}>\n <div className={styles.wrapper}>\n {favorite ? (\n <CheckIcon className={styles.shareIcon} width={15} height={15} />\n ) : (\n <MoreIcon className={styles.shareIcon} width={12} height={12} />\n )}\n <p>{addToMyListButton}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nAddToMyListStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nAddToMyListFeedback.propTypes = {\n addToMyListText: PropTypes.string,\n removeFromMyListText: PropTypes.string,\n favorite: PropTypes.bool\n};\n\nAddToMyList.propTypes = {\n style: PropTypes.string,\n addToMyListButton: PropTypes.string,\n favorite: PropTypes.bool,\n onFavoriteClick: PropTypes.func\n};\n\nexport default AddToMyList;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useState","useContext","useEffect","useMemo","PropTypes","classnames","NovaCompositionCoorpacademyCheck","CheckIcon","NovaCompositionNavigationMore","MoreIcon","Link","styles","ADD_TO_MY_LIST_STATUS","IDLE","SUCCESS","StatusContext","createContext","AddToMyListStatusProvider","children","status","setStatus","timeoutId","DURATION","setTimeout","clearTimeout","statusValue","AddToMyListFeedback","addToMyListText","removeFromMyListText","favorite","feedback","checkIcon","AddToMyList","style","addToMyListButton","onFavoriteClick","cb","onClick","container","cta","wrapper","shareIcon","propTypes","node","string","bool","func"],"sources":["../../../src/molecule/add-to-my-list/index.js"],"sourcesContent":["import React, {useState, useContext, useEffect, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionNavigationMore as MoreIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst ADD_TO_MY_LIST_STATUS = {\n IDLE: 'IDLE',\n SUCCESS: 'SUCCESS'\n};\n\nconst StatusContext = React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);\n\nexport const AddToMyListStatusProvider = ({children}) => {\n const [status, setStatus] = useState(ADD_TO_MY_LIST_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== ADD_TO_MY_LIST_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(ADD_TO_MY_LIST_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n const statusValue = useMemo(() => [status, setStatus], [status, setStatus]);\n return <StatusContext.Provider value={statusValue}>{children}</StatusContext.Provider>;\n};\n\nexport const AddToMyListFeedback = ({addToMyListText, removeFromMyListText, favorite}) => {\n const [status] = useContext(StatusContext);\n if (status === ADD_TO_MY_LIST_STATUS.IDLE) return null;\n\n return (\n <div\n className={classnames(styles.feedback)}\n data-testid=\"add-to-my-list-feedback\"\n data-name={'add-to-my-list-feedback'}\n >\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n <p role=\"status\">{favorite ? addToMyListText : removeFromMyListText}</p>\n </div>\n );\n};\n\nconst AddToMyList = ({style, addToMyListButton, favorite, onFavoriteClick}) => {\n const [, setStatus] = useContext(StatusContext);\n const cb = () => setStatus(ADD_TO_MY_LIST_STATUS.SUCCESS);\n\n function onClick() {\n onFavoriteClick(cb);\n }\n\n return (\n <div className={(styles.container, style)}>\n <Link\n data-testid=\"add-to-my-list-button\"\n data-name={'add-to-my-list-button'}\n onClick={onClick}\n className={styles.cta}\n >\n <div className={styles.wrapper}>\n {favorite ? (\n <CheckIcon className={styles.shareIcon} width={15} height={15} />\n ) : (\n <MoreIcon className={styles.shareIcon} width={12} height={12} />\n )}\n <p>{addToMyListButton}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nAddToMyListStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nAddToMyListFeedback.propTypes = {\n addToMyListText: PropTypes.string,\n removeFromMyListText: PropTypes.string,\n favorite: PropTypes.bool\n};\n\nAddToMyList.propTypes = {\n style: PropTypes.string,\n addToMyListButton: PropTypes.string,\n favorite: PropTypes.bool,\n onFavoriteClick: PropTypes.func\n};\n\nexport default AddToMyList;\n"],"mappings":"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"}
@@ -629,7 +629,7 @@ class MoocHeader extends React.Component {
629
629
  style: {
630
630
  color: primaryColor
631
631
  }
632
- }))) : null)), searchFormView, /*#__PURE__*/React.createElement("nav", {
632
+ }))) : null)), searchFormView, /*#__PURE__*/React.createElement("div", {
633
633
  className: isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper,
634
634
  "data-name": "menu-wrapper"
635
635
  }, pagesView, userView || linksView, settingsView)));
@@ -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","NovaCompositionCoorpacademyPlacesHome24","HomeIcon","NovaSolidTimeAlarm","AlarmIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","style","MoocHeader","Component","constructor","props","handleMouseEnter","setState","hovered","handleMouseLeave","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","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","activePageAriaLabel","groupAriaLbale","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","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","line","_hoverStyle","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","className","languageSelect","selectBoxes","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","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 'active-page-aria-label': PropTypes.string,\n 'group-settings-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 hovered: 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 handleMouseEnter = () => {\n this.setState({\n hovered: true\n });\n };\n\n handleMouseLeave = () => {\n this.setState({\n hovered: 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 'active-page-aria-label': activePageAriaLabel,\n 'group-settings-aria-label': groupAriaLbale\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 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 <span\n className={style.line}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n const {hovered} = this.state;\n const _hoverStyle = hovered\n ? {\n color: primaryColor\n }\n : null;\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div\n className={style.currentOption}\n aria-haspopup=\"true\"\n data-name=\"item-more\"\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n style={{\n ..._hoverStyle\n }}\n >\n {moreAriaLabel}\n <ArrowDown\n style={{color: mediumColor}}\n className={style.caret}\n aria-label={moreAriaLabel}\n />\n </div>\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\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} style={{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} style={{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} style={{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 selectProps.className = style.languageSelect;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\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 <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n <span id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\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 style={{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\n data-name=\"settings\"\n className={style.settingsGroup}\n role=\"group\"\n aria-label={groupAriaLbale}\n >\n {settingsElements}\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 style={{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 style={{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 <nav\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </nav>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SACEC,kCAAkC,IAAIC,SADxC,EAEEC,+BAA+B,IAAIC,UAFrC,EAGEC,8BAA8B,IAAIC,SAHpC,EAIEC,+BAA+B,IAAIC,QAJrC,EAKEC,iCAAiC,IAAIC,UALvC,EAMEC,kCAAkC,IAAIC,UANxC,EAOEC,8BAA8B,IAAIC,OAPpC,EAQEC,uCAAuC,IAAIC,QAR7C,EASEC,kBAAkB,IAAIC,SATxB,QAUO,0BAVP;AAWA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,GAAP,MAAgB,gBAAhB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,OAAP,MAAoB,oBAApB;AACA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,MAAP,MAAmB,yBAAnB;AACA,OAAOC,UAAP,MAAuB,4BAAvB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,UAAN,SAAyB9B,KAAK,CAAC+B,SAA/B,CAAyC;EAqGvCC,WAAW,CAACC,KAAD,EAAQ;IACjB,MAAMA,KAAN;;IADiB,KAyInBC,gBAzImB,GAyIA,MAAM;MACvB,KAAKC,QAAL,CAAc;QACZC,OAAO,EAAE;MADG,CAAd;IAGD,CA7IkB;;IAAA,KA+InBC,gBA/ImB,GA+IA,MAAM;MACvB,KAAKF,QAAL,CAAc;QACZC,OAAO,EAAE;MADG,CAAd;IAGD,CAnJkB;;IAEjB,KAAKE,KAAL,GAAa;MACXC,cAAc,EAAE,KADL;MAEXC,UAAU,EAAE,KAFD;MAGXC,OAAO,EAAE,KAHE;MAIXC,aAAa,EAAE,KAJJ;MAKXN,OAAO,EAAE;IALE,CAAb;IAQA,KAAKO,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;IACA,KAAKW,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBX,IAAvB,CAA4B,IAA5B,CAAzB;IACA,KAAKY,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBZ,IAAxB,CAA6B,IAA7B,CAA1B;IACA,KAAKa,cAAL,GAAsB,KAAKA,cAAL,CAAoBb,IAApB,CAAyB,IAAzB,CAAtB;EACD;;EAEDc,kBAAkB,CAACC,SAAD,EAAYC,SAAZ,EAAuBC,WAAvB,EAAoC;IACpD,MAAM;MAACtB;IAAD,IAAmB,KAAKD,KAA9B;;IACA,IAAIC,cAAJ,EAAoB;MAClBuB,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmC,KAAKjB,aAAxC;MACAgB,QAAQ,CAACC,gBAAT,CAA0B,YAA1B,EAAwC,KAAKjB,aAA7C;IACD,CAHD,MAGO;MACLgB,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsC,KAAKlB,aAA3C;MACAgB,QAAQ,CAACE,mBAAT,CAA6B,YAA7B,EAA2C,KAAKlB,aAAhD;IACD;EACF;;EAEDE,eAAe,CAACiB,EAAD,EAAK;IAClB,KAAKC,YAAL,GAAoBD,EAApB;EACD;;EAEDnB,aAAa,CAACqB,UAAD,EAAa;IACxB,MAAM;MAAC5B;IAAD,IAAmB,KAAKD,KAA9B;;IACA,IAAIC,cAAJ,EAAoB;MAClB,MAAM6B,IAAI,GAAG,KAAKF,YAAlB;;MACA,IAAIE,IAAI,IAAI,CAACA,IAAI,CAACC,QAAL,CAAcF,UAAU,CAACG,MAAzB,CAAb,EAA+C;QAC7C,KAAK3B,oBAAL;MACD;IACF;EACF;;EAEDI,eAAe,GAAG;IAChB,MAAM;MAACP;IAAD,IAAe,KAAKF,KAA1B;IACAE,UAAU,IAAI,KAAKK,gBAAL,EAAd;EACD;;EAEDF,oBAAoB,GAAG;IACrB,KAAKR,QAAL,CAAcyB,SAAS,KAAK;MAC1BrB,cAAc,EAAE,CAACqB,SAAS,CAACrB;IADD,CAAL,CAAvB;EAGD;;EAEDM,gBAAgB,GAAG;IACjB,MAAM;MAACL;IAAD,IAAe,KAAKF,KAA1B;IACAE,UAAU,GAAG,KAAKc,iBAAL,EAAH,GAA8B,KAAKD,gBAAL,EAAxC;EACD;;EAEDJ,kBAAkB,GAAG;IACnB,MAAM;MAACsB;IAAD,IAAmB,KAAKtC,KAA9B;;IACA,IAAIsC,cAAJ,EAAoB;MAClBA,cAAc;IACf;EACF;;EAEDrB,iBAAiB,GAAG;IAClB,MAAM;MAACsB;IAAD,IAAkB,KAAKvC,KAA7B;;IACA,IAAIuC,aAAJ,EAAmB;MACjBA,aAAa;IACd;EACF;;EAEDrB,aAAa,GAAG;IACd,KAAKhB,QAAL,CAAcyB,SAAS,KAAK;MAC1BnB,OAAO,EAAE;IADiB,CAAL,CAAvB;EAGD;;EAEDW,YAAY,GAAG;IACb,KAAKjB,QAAL,CAAcyB,SAAS,KAAK;MAC1BnB,OAAO,EAAE;IADiB,CAAL,CAAvB;EAGD;;EAEDY,gBAAgB,GAAG;IACjB,MAAM;MAACoB;IAAD,IAAe,KAAKxC,KAA1B;;IACA,IAAIwC,UAAJ,EAAgB;MACdA,UAAU;IACX;;IACD,KAAKtC,QAAL,CAAc,OAAO;MACnBK,UAAU,EAAE;IADO,CAAP,CAAd;EAGD;;EAEDc,iBAAiB,GAAG;IAClB,MAAM;MAACoB;IAAD,IAAgB,KAAKzC,KAA3B;;IACA,IAAIyC,WAAJ,EAAiB;MACfA,WAAW;IACZ;;IACD,KAAKvC,QAAL,CAAc,OAAO;MACnBK,UAAU,EAAE;IADO,CAAP,CAAd;EAGD;;EAEDe,iBAAiB,GAAG;IAClB,KAAKpB,QAAL,CAAc,OAAO;MACnBO,aAAa,EAAE;IADI,CAAP,CAAd;EAGD;;EAEDc,kBAAkB,GAAG;IACnB,KAAKrB,QAAL,CAAc,OAAO;MACnBO,aAAa,EAAE;IADI,CAAP,CAAd;EAGD;;EAEDe,cAAc,CAACkB,KAAD,EAAQ;IACpB,IAAIA,KAAK,CAACC,GAAN,KAAc,OAAlB,EAA2B;MACzB,KAAKzC,QAAL,CAAc,OAAO;QACnBO,aAAa,EAAE;MADI,CAAP,CAAd;IAGD,CAJD,MAIO,IAAIiC,KAAK,CAACC,GAAN,KAAc,KAAd,IAAuBD,KAAK,CAACC,GAAN,KAAc,QAAzC,EAAmD;MACxD,KAAKzC,QAAL,CAAc,OAAO;QACnBO,aAAa,EAAE;MADI,CAAP,CAAd;IAGD;EACF;;EAcDmC,MAAM,GAAG;IACP,IAAI,SAAQ,KAAK5C,KAAb,CAAJ,EAAyB,OAAO,IAAP;IACzB,MAAM;MACJ6C,IAAI,GAAG,EADH;MAEJC,KAAK,EAAEC,KAFH;MAGJC,QAHI;MAIJC,IAJI;MAKJC,KALI;MAMJC,MANI;MAOJ,2BAA2BC,oBAPvB;MAQJ,uBAAuBC,iBARnB;MASJ,0BAA0BC,mBATtB;MAUJ,6BAA6BC;IAVzB,IAWF,KAAKvD,KAXT;IAYA,MAAM;MAACQ,OAAD;MAAUF,cAAV;MAA0BC,UAA1B;MAAsCE;IAAtC,IAAuD,KAAKJ,KAAlE;IACA,MAAM;MAACmD,SAAD;MAAYC;IAAZ,IAAoB,KAAKC,OAA/B;IACA,MAAM;MACJ,cAAcC,aADV;MAEJC,kBAFI;MAGJC,iBAHI;MAIJC,WAJI;MAKJC;IALI,IAMFlB,IANJ;;IAOA,MAAMmB,OAAO,GAAG,KAAI,KAAJ,EAAWnB,IAAX,KAAoB,KAAI,aAAJ,EAAmBY,IAAnB,CAApC;;IACA,MAAMQ,aAAa,GAAG,KAAI,WAAJ,EAAiBpB,IAAjB,KAA0B,OAAMmB,OAAN,EAAe,oBAAf,EAAqCP,IAArC,CAAhD;;IACA,IAAIS,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,GAAGhB,SAAS,CAAC,MAAD,CAA/B;;IACA,MAAMiB,YAAY,GAAG,KAAI,gBAAJ,EAAsBhB,IAAtB,CAArB;;IACA,MAAMiB,WAAW,GAAG,KAAI,eAAJ,EAAqBjB,IAArB,CAApB;;IACA,MAAMkB,SAAS,GAAG,KAAI,aAAJ,EAAmBlB,IAAnB,CAAlB;;IACA,MAAMmB,KAAK,GAAG,KAAI,cAAJ,EAAoBnB,IAApB,CAAd;;IACA,MAAMoB,gBAAgB,GAAG;MAACC,eAAe,EAAEL;IAAlB,CAAzB;;IAEA,IAAI1B,KAAJ,EAAW;MACT,MAAMgC,cAAc,GAAGhC,KAAK,CAACiC,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,KAAInC,mBAAoB,EAAtD,GAA0D4B,IAAI,CAACO,KAAjF;QACA,MAAMC,SAAS,GACbR,IAAI,CAACS,OAAL,GAAe,CAAf,gBACE,oBAAC,IAAD;UACE,IAAI,EAAET,IAAI,CAACU,IADb;UAEE,aAAU,YAFZ;UAGE,SAAS,EAAEhG,KAAK,CAACiG,SAHnB;UAIE,cAAYN;QAJd,GAMGL,IAAI,CAACS,OANR,CADF,GASI,IAVN;QAYA,MAAM;UAACG,IAAI,EAAEC,QAAQ,GAAGZ;QAAlB,IAA2BD,IAAjC;QAEA,oBACE,oBAAC,IAAD;UACE,GAAG,EAAEa,QADP;UAEE,aAAY,QAAOA,QAAS,EAF9B;UAGE,IAAI,EAAEb,IAAI,CAACU,IAHb;UAIE,SAAS,EAAEV,IAAI,CAACG,QAAL,GAAgBzF,KAAK,CAACoG,UAAtB,GAAmCpG,KAAK,CAACsF,IAJtD;UAKE,SAAS,MALX;UAME,OAAO,EAAE,KAAKpE,eANhB;UAOE,MAAM,EAAEoE,IAAI,CAAC7C,MAAL,IAAe,IAPzB;UAQE,cAAYmD,SARd;UASE,KAAK,eACAJ,WADA;QATP,GAaGF,IAAI,CAACO,KAbR,EAcGC,SAdH,eAeE;UACE,SAAS,EAAE9F,KAAK,CAACqG,GADnB;UAEE,KAAK,EAAE;YACLnB,eAAe,EAAEL;UADZ;QAFT,EAfF,CADF;MAwBD,CA/CsB,CAAvB;MAiDA,MAAMyB,WAAW,GAAGnD,KAAK,CAACoD,IAAN,CAAWlB,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,KAAInC,mBAAoB,EAAtD,GAA0D4B,IAAI,CAACO,KAAjF;QACA,MAAM;UAACK,IAAI,EAAEC,QAAQ,GAAGZ;QAAlB,IAA2BD,IAAjC;QACA,oBACE,oBAAC,IAAD;UACE,IAAI,EAAEA,IAAI,CAACU,IADb;UAEE,GAAG,EAAEG,QAFP;UAGE,SAAS,EAAEnG,KAAK,CAACwG,MAHnB;UAIE,aAAY,aAAYL,QAAS,EAJnC;UAKE,MAAM,EAAEb,IAAI,CAAC7C,MAAL,IAAe,IALzB;UAME,cAAYmD,SANd;UAOE,OAAO,EAAE,KAAK1E,eAPhB;UAQE,SAAS,MARX;UASE,KAAK,eACAsE,WADA;QATP,GAaGF,IAAI,CAACO,KAbR,eAcE;UACE,SAAS,EAAE7F,KAAK,CAACyG,IADnB;UAEE,KAAK,EAAE;YACLvB,eAAe,EAAEL;UADZ;QAFT,EAdF,CADF;MAuBD,CA/BmB,CAApB;MAgCA,MAAM;QAACtE;MAAD,IAAY,KAAKE,KAAvB;;MACA,MAAMiG,WAAW,GAAGnG,OAAO,GACvB;QACEmF,KAAK,EAAEb;MADT,CADuB,GAIvB,IAJJ;;MAKAP,SAAS,gBACP;QAAK,SAAS,EAAEf,MAAM,CAACoD,KAAP,IAAgB/F,OAAhB,GAA0BZ,KAAK,CAAC4G,OAAhC,GAA0C5G,KAAK,CAACmD;MAAhE,GACGgC,cADH,eAEE;QAAK,SAAS,EAAEnF,KAAK,CAACuG;MAAtB,gBACE;QACE,SAAS,EAAEvG,KAAK,CAAC6G,aADnB;QAEE,iBAAc,MAFhB;QAGE,aAAU,WAHZ;QAIE,YAAY,EAAE,KAAKxG,gBAJrB;QAKE,YAAY,EAAE,KAAKG,gBALrB;QAME,KAAK,eACAkG,WADA;MANP,GAUG9B,aAVH,eAWE,oBAAC,SAAD;QACE,KAAK,EAAE;UAACc,KAAK,EAAEZ;QAAR,CADT;QAEE,SAAS,EAAE9E,KAAK,CAAC8G,KAFnB;QAGE,cAAYlC;MAHd,EAXF,CADF,eAkBE;QACE,SAAS,EAAE5E,KAAK,CAACqG,GADnB;QAEE,KAAK,EAAE;UACLnB,eAAe,EAAEL;QADZ;MAFT,EAlBF,eAwBE;QAAK,SAAS,EAAE7E,KAAK,CAAC+G;MAAtB,GAAqCT,WAArC,CAxBF,CAFF,CADF;IA+BD;;IAED,IAAIhD,KAAJ,EAAW;MACT,MAAM0D,IAAI,GAAG1D,KAAK,CAAC+B,GAAN,CAAU,CAAC4B,GAAD,EAAM1B,KAAN,KAAgB;QACrC,oBACE,oBAAC,GAAD,eAAS0B,GAAT;UAAc,GAAG,EAAE1B,KAAnB;UAA0B,SAAS,EAAEA,KAAK,GAAG,CAAR,KAAcjC,KAAK,CAAC4D,MAApB,GAA6B,IAA7B,GAAoClH,KAAK,CAACmH;QAA/E,GADF;MAGD,CAJY,CAAb;MAMA5C,SAAS,gBAAG;QAAK,SAAS,EAAEvE,KAAK,CAACsD;MAAtB,GAA8B0D,IAA9B,CAAZ;IACD;;IAED,IAAI3D,IAAJ,EAAU;MACR,MAAM+D,eAAe,GAAG,OAAM,CAAN,EAAS,qBAAT,EAAgC/D,IAAhC,CAAxB;;MACA,MAAMgE,sBAAsB,GAAG,OAAM,EAAN,EAAU,0BAAV,EAAsChE,IAAtC,CAA/B;;MAEAqB,iBAAiB,GACf0C,eAAe,GAAG,CAAlB,gBACE,oBAAC,IAAD;QACE,IAAI,EAAE/D,IAAI,CAACiE,aAAL,CAAmBtB,IAD3B;QAEE,aAAU,oBAFZ;QAGE,SAAS,EAAEhG,KAAK,CAACsH;MAHnB,GAKGF,eALH,CADF,GAQI,IATN;MAUA,MAAMG,oBAAoB,gBACxB,oBAAC,IAAD;QACE,SAAS,EAAElJ,UAAU,CAAC2B,KAAK,CAACwH,YAAP,EAAqBJ,eAAe,GAAG,CAAlB,GAAsBpH,KAAK,CAACyH,MAA5B,GAAqC,IAA1D,CADvB;QAEE,aAAU,oBAFZ;QAGE,IAAI,EAAEpE,IAAI,CAACiE,aAAL,CAAmBtB,IAH3B;QAIE,cAAYqB;MAJd,gBAME,8CACE,oBAAC,SAAD;QAAW,KAAK,EAAE,EAAlB;QAAsB,MAAM,EAAE;MAA9B,EADF,CANF,EASG3C,iBATH,CADF;MAaAF,QAAQ,gBACN;QAAK,SAAS,EAAExE,KAAK,CAACqD;MAAtB,gBACE;QAAK,SAAS,EAAErD,KAAK,CAAC0H;MAAtB,gBACE,oBAAC,IAAD;QACE,SAAS,EAAE1H,KAAK,CAAC2H,IADnB;QAEE,aAAU,YAFZ;QAGE,IAAI,EAAEtE,IAAI,CAACqE,KAAL,CAAWE,KAAX,CAAiB5B,IAHzB;QAIE,OAAO,EAAE,KAAK9E,eAJhB;QAKE,cAAYmC,IAAI,CAACqE,KAAL,CAAWE,KAAX,CAAiB,YAAjB;MALd,gBAOE;QAAK,SAAS,EAAE5H,KAAK,CAAC6H,WAAtB;QAAmC,KAAK,EAAE5C;MAA1C,gBACE,oBAAC,QAAD;QAAU,SAAS,EAAEjF,KAAK,CAAC4H,KAA3B;QAAkC,KAAK,EAAE;UAAClC,KAAK,EAAEV;QAAR;MAAzC,EADF,CAPF,eAUE;QAAK,aAAU,OAAf;QAAuB,SAAS,EAAEhF,KAAK,CAAC8H;MAAxC,GACGzE,IAAI,CAACqE,KAAL,CAAWE,KAAX,CAAiBE,KADpB,CAVF,CADF,eAeE,oBAAC,IAAD;QACE,SAAS,EAAE9H,KAAK,CAAC2H,IADnB;QAEE,aAAU,cAFZ;QAGE,IAAI,EAAEtE,IAAI,CAACqE,KAAL,CAAWK,OAAX,CAAmB/B,IAH3B;QAIE,OAAO,EAAE,KAAK9E,eAJhB;QAKE,cAAYmC,IAAI,CAACqE,KAAL,CAAWK,OAAX,CAAmB,YAAnB;MALd,gBAOE;QAAK,SAAS,EAAE/H,KAAK,CAAC6H,WAAtB;QAAmC,KAAK,EAAE5C;MAA1C,gBACE,oBAAC,UAAD;QAAY,SAAS,EAAEjF,KAAK,CAAC+H,OAA7B;QAAsC,KAAK,EAAE;UAACrC,KAAK,EAAEV;QAAR;MAA7C,EADF,CAPF,eAWE;QAAK,aAAU,OAAf;QAAuB,SAAS,EAAEhF,KAAK,CAAC8H;MAAxC,GACGzE,IAAI,CAACqE,KAAL,CAAWK,OAAX,CAAmBD,KADtB,CAXF,CAfF,eA8BE,oBAAC,IAAD;QACE,SAAS,EAAE9H,KAAK,CAAC2H,IADnB;QAEE,aAAU,YAFZ;QAGE,IAAI,EAAEtE,IAAI,CAACqE,KAAL,CAAWM,KAAX,CAAiBhC,IAHzB;QAIE,OAAO,EAAE,KAAK9E,eAJhB;QAKE,cAAYmC,IAAI,CAACqE,KAAL,CAAWM,KAAX,CAAiB,YAAjB;MALd,gBAOE;QAAK,SAAS,EAAEhI,KAAK,CAAC6H,WAAtB;QAAmC,KAAK,EAAE5C;MAA1C,gBACE,oBAAC,UAAD;QAAY,SAAS,EAAEjF,KAAK,CAACgI,KAA7B;QAAoC,KAAK,EAAE;UAACtC,KAAK,EAAEV;QAAR;MAA3C,EADF,CAPF,eAUE;QAAK,SAAS,EAAEhF,KAAK,CAAC8H;MAAtB,GAA8BzE,IAAI,CAACqE,KAAL,CAAWM,KAAX,CAAiBF,KAA/C,CAVF,CA9BF,CADF,eA4CE;QAAK,SAAS,EAAE9H,KAAK,CAACiI;MAAtB,GACGV,oBADH,eAEE;QAAK,SAAS,EAAEvH,KAAK,CAACkI,MAAtB;QAA8B,aAAU;MAAxC,gBACE,oBAAC,IAAD;QACE,IAAI,EAAE7E,IAAI,CAAC2C,IADb;QAEE,SAAS,EAAEhG,KAAK,CAACmI,QAFnB;QAGE,OAAO,EAAE,KAAKjH,eAHhB;QAIE,cAAYmC,IAAI,CAAC,oBAAD;MAJlB,gBAME,oBAAC,OAAD;QAAS,GAAG,EAAEA,IAAI,CAAC+E,OAAnB;QAA4B,GAAG,EAAE/E,IAAI,CAACgF;MAAtC,EANF,CADF,CAFF,CA5CF,CADF;IA4DD;;IAED,IAAIjF,QAAJ,EAAc;MACZ,MAAMkF,gBAAgB,GAAGlF,QAAQ,CAACiC,GAAT,CAAa,CAACkD,OAAD,EAAUhD,KAAV,KAAoB;QACxD,IAAIiD,WAAW,GAAG,IAAlB;QACA,MAAM;UACJC,OADI;UAEJC,IAFI;UAGJ7C,KAHI;UAIJK,IAAI,EAAEyC,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,EAAE3I,KAAK,CAACuI,OAA3D;gBAAoE,GAAG,EAAEI;cAAzE,gBACE,oBAAC,IAAD;gBACE,SAAS,EAAE3I,KAAK,CAAC8I,IADnB;gBAEE,IAAI,EAAEL,OAAO,CAACzC,IAFhB;gBAGE,SAAS,MAHX;gBAIE,UAAU,EAAE4C,UAJd;gBAKE,OAAO,EAAE,KAAK1H,eALhB;gBAME,MAAM,EAAEuH,OAAO,CAAChG,MAAR,IAAkB,IAN5B;gBAOE,cAAYoG,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;cACAH,WAAW,CAACI,SAAZ,GAAwBnJ,KAAK,CAACoJ,cAA9B;cACAZ,WAAW,gBACT;gBACE,aAAY,WAAUG,WAAY,EADpC;gBAEE,SAAS,EAAEtK,UAAU,CAAC2B,KAAK,CAACuI,OAAP,EAAgBvI,KAAK,CAACqJ,WAAtB,CAFvB;gBAGE,GAAG,EAAEV;cAHP,gBAKE;gBAAM,SAAS,EAAE3I,KAAK,CAAC8H;cAAvB,GAA+BjC,KAA/B,CALF,eAME,oBAAC,MAAD,eAAYkD,WAAZ;gBAAyB,cAAYF,SAAS,IAAIhD;cAAlD,GANF,CADF;cAUA;YACD;;UACD,KAAK,QAAL;YAAe;cACb,MAAMyD,WAAW,GAAG,EAApB;cACAA,WAAW,CAAC3C,KAAZ,GAAoB8B,OAAO,CAAC9B,KAA5B;cACA2C,WAAW,CAACC,EAAZ,GAAkB,gBAAehE,KAAM,EAAvC;cACA+D,WAAW,CAACJ,QAAZ,GAAuBT,OAAO,CAACS,QAA/B;cAEAV,WAAW,gBACT;gBACE,aAAY,WAAUG,WAAY,EADpC;gBAEE,SAAS,EAAE3I,KAAK,CAACuI,OAFnB;gBAGE,GAAG,EAAEI,WAHP;gBAIE,cAAYE,SAAS,IAAIhD;cAJ3B,gBAME,oBAAC,WAAD,eAAiByD,WAAjB;gBAA8B,mBAAkB,YAAWX,WAAY;cAAvE,GANF,eAOE;gBAAM,EAAE,EAAG,YAAWA,WAAY,EAAlC;gBAAqC,SAAS,EAAE3I,KAAK,CAAC8H;cAAtD,GACGjC,KADH,CAPF,CADF;cAaA;YACD;QA7DH;;QAgEA,OAAO2C,WAAP;MACD,CA7EwB,CAAzB;MA+EA/D,YAAY,gBACV;QAAK,SAAS,EAAEzE,KAAK,CAACoD,QAAtB;QAAgC,GAAG,EAAE,KAAKjC;MAA1C,gBACE,oBAAC,OAAD;QACE,aAAU,iBADZ;QAEE,KAAK,EAAE;UAACuE,KAAK,EAAEX;QAAR,CAFT;QAGE,SAAS,EAAE/E,KAAK,CAACwJ,cAHnB;QAIE,OAAO,EAAE,KAAK1I,oBAJhB;QAKE,iBAAeJ,cALjB;QAME,cAAY+C;MANd,EADF,eASE;QAAK,SAAS,EAAE/C,cAAc,GAAGV,KAAK,CAACyJ,eAAT,GAA2BzJ,KAAK,CAAC0J;MAA/D,gBACE;QACE,aAAU,UADZ;QAEE,SAAS,EAAE1J,KAAK,CAAC2J,aAFnB;QAGE,IAAI,EAAC,OAHP;QAIE,cAAYhG;MAJd,GAMG2E,gBANH,CADF,CATF,CADF;IAsBD;;IAED,IAAI/E,MAAJ,EAAY;MACVoB,cAAc,gBACZ;QACE,aAAU,YADZ;QAEE,SAAS,EAAEhE,UAAU,GAAGX,KAAK,CAAC4J,eAAT,GAA2B5J,KAAK,CAAC6J;MAFxD,gBAIE,oBAAC,UAAD;QACE,MAAM,EAAEtG,MADV;QAEE,QAAQ,EAAE,KAAKnC,kBAFjB;QAGE,OAAO,EAAE,KAAKC,iBAHhB;QAIE,aAAa,EAAE,KAAKC,aAJtB;QAKE,YAAY,EAAE,KAAKC,YALrB;QAME,2BAAyBiC;MAN3B,EAJF,CADF;IAeD;;IAED,oBACE;MAAQ,SAAS,EAAExD,KAAK,CAAC8J;IAAzB,gBACE;MACE,aAAU,YADZ;MAEE,aAAWnJ,UAFb;MAGE,SAAS,EAAEA,UAAU,GAAGX,KAAK,CAAC+J,IAAT,GAAgB/J,KAAK,CAACgK;IAH7C,gBAKE;MACE,SAAS,EAAEhK,KAAK,CAACiK,WADnB;MAEE,cAAY/F,WAFd;MAGE,WAAW,EAAE,KAAKxC,iBAHpB;MAIE,YAAY,EAAE,KAAKC;IAJrB,gBAME;MAAK,SAAS,EAAE3B,KAAK,CAACkK,SAAtB;MAAiC,aAAU;IAA3C,gBACE,oBAAC,UAAD;MACE,IAAI,EAAC,QADP;MAEE,aAAU,iBAFZ;MAGE,KAAK,EAAE;QAACxE,KAAK,EAAEZ;MAAR,CAHT;MAIE,SAAS,EAAEnE,UAAU,GAAGX,KAAK,CAACmK,YAAT,GAAwBnK,KAAK,CAACoK,MAJrD;MAKE,OAAO,EAAE,KAAK5I,gBALhB;MAME,cAAYyC;IANd,EADF,eASE,oBAAC,SAAD;MACE,aAAU,kBADZ;MAEE,KAAK,EAAE;QAACyB,KAAK,EAAEZ;MAAR,CAFT;MAGE,SAAS,EAAEnE,UAAU,GAAGX,KAAK,CAACqK,KAAT,GAAiBrK,KAAK,CAACsK,WAH9C;MAIE,OAAO,EAAE,KAAK7I,iBAJhB;MAKE,cAAYuC;IALd,EATF,eAgBE,oBAAC,IAAD;MAAM,aAAU,aAAhB;MAA8B,IAAI,EAAEf,IAAI,CAAC+C;IAAzC,gBACE,oBAAC,OAAD;MAAS,GAAG,EAAE3B,aAAd;MAA6B,GAAG,EAAEN;IAAlC,EADF,CAhBF,CANF,eA0BE,oBAAC,IAAD;MACE,SAAS,EAAE/D,KAAK,CAACiD,IADnB;MAEE,aAAU,MAFZ;MAGE,IAAI,EAAEA,IAAI,CAAC+C,IAHb;MAIE,SAAS,EAAE,KAAKpE,cAJlB;MAKE,QAAQ,EAAE,CALZ;MAME,eAAY;IANd,gBAQE,oBAAC,OAAD;MAAS,GAAG,EAAEwC,OAAd;MAAuB,GAAG,EAAEL;IAA5B,EARF,EASGlD,aAAa,gBACZ;MAAK,cAAYqD,WAAjB;MAA8B,QAAQ,EAAE,CAAxC;MAA2C,eAAY;IAAvD,gBACE;MACE,cAAa,GAAEA,WAAY,IAAGC,oCAAqC,EADrE;MAEE,IAAI,EAAC,SAFP;MAGE,SAAS,EAAEnE,KAAK,CAACuK,oBAHnB;MAIE,QAAQ,EAAE;IAJZ,gBAME,oBAAC,QAAD;MAAU,SAAS,EAAEvK,KAAK,CAACwK,QAA3B;MAAqC,KAAK,EAAE;QAAC9E,KAAK,EAAEb;MAAR;IAA5C,EANF,eAOE;MACE,SAAS,EAAE7E,KAAK,CAACkE,WADnB,CAEE;MAFF;MAGE,uBAAuB,EAAE;QAACuG,MAAM,EAAEvG;MAAT,CAH3B;MAIE,KAAK,EAAE;QAACwB,KAAK,EAAEb;MAAR;IAJT,EAPF,CADF,CADY,GAiBV,IA1BN,CA1BF,CALF,EA4DGF,cA5DH,eA6DE;MACE,SAAS,EAAEhE,UAAU,GAAGX,KAAK,CAAC0K,WAAT,GAAuB1K,KAAK,CAAC2K,iBADpD;MAEE,aAAU;IAFZ,GAIGrG,SAJH,EAKGE,QAAQ,IAAID,SALf,EAMGE,YANH,CA7DF,CADF,CADF;EA0ED;;AAjsBsC;;AAAnCxE,U,CAgGG2K,Y,GAAe;EACpBhH,SAAS,EAAEpE,QAAQ,CAACqL,iBAAT,CAA2BjH,SADlB;EAEpBC,IAAI,EAAErE,QAAQ,CAACqL,iBAAT,CAA2BhH;AAFb,C;AAhGlB5D,U,CACG6K,S,2CAAY;EACjB7H,IAAI,EAAE7E,SAAS,CAAC2M,KAAV,CAAgB;IACpBC,GAAG,EAAE5M,SAAS,CAAC6M,MADK;IAEpBC,SAAS,EAAE9M,SAAS,CAAC6M,MAFD;IAGpBjF,IAAI,EAAE5H,SAAS,CAAC6M,MAHI;IAIpB,cAAc7M,SAAS,CAAC6M,MAJJ;IAKpB,qBAAqB7M,SAAS,CAAC6M,MALX;IAMpB/G,WAAW,EAAE9F,SAAS,CAAC6M,MANH;IAOpB9G,oCAAoC,EAAE/F,SAAS,CAAC6M;EAP5B,CAAhB,CADW;EAUjB1H,MAAM,EAAEnF,SAAS,CAAC2M,KAAV,CAAgBjL,MAAM,CAACgL,SAAvB,CAVS;EAWjB,2BAA2B1M,SAAS,CAAC6M,MAXpB;EAYjBvI,cAAc,EAAEtE,SAAS,CAAC+M,IAZT;EAajBxI,aAAa,EAAEvE,SAAS,CAAC+M,IAbR;EAcjBjI,KAAK,EAAE9E,SAAS,CAAC2M,KAAV,CAAgB;IACrB3F,SAAS,EAAEhH,SAAS,CAACgN,OAAV,CACThN,SAAS,CAAC2M,KAAV,CAAgB;MACdtI,MAAM,EAAErE,SAAS,CAACiN,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CADM;MAEdxF,KAAK,EAAEzH,SAAS,CAAC6M,MAFH;MAGd/E,IAAI,EAAE9H,SAAS,CAAC6M,MAHF;MAIdjF,IAAI,EAAE5H,SAAS,CAAC6M,MAJF;MAKdxF,QAAQ,EAAErH,SAAS,CAACkN,IALN;MAMdvF,OAAO,EAAE3H,SAAS,CAACmN,MANL;MAOd,yBAAyBnN,SAAS,CAAC6M;IAPrB,CAAhB,CADS,CADU;IAYrB1E,IAAI,EAAEnI,SAAS,CAACgN,OAAV,CACJhN,SAAS,CAAC2M,KAAV,CAAgB;MACdtI,MAAM,EAAErE,SAAS,CAACiN,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CADM;MAEdxF,KAAK,EAAEzH,SAAS,CAAC6M,MAFH;MAGd/E,IAAI,EAAE9H,SAAS,CAAC6M,MAHF;MAIdjF,IAAI,EAAE5H,SAAS,CAAC6M,MAJF;MAKdxF,QAAQ,EAAErH,SAAS,CAACkN,IALN;MAMdvF,OAAO,EAAE3H,SAAS,CAACmN;IANL,CAAhB,CADI;EAZe,CAAhB,CAdU;EAqCjBjI,KAAK,EAAElF,SAAS,CAACgN,OAAV,CAAkBhN,SAAS,CAAC2M,KAAV,CAAgBtL,GAAG,CAACqL,SAApB,CAAlB,CArCU;EAsCjBzH,IAAI,EAAEjF,SAAS,CAAC2M,KAAV,CAAgB;IACpB3C,OAAO,EAAEhK,SAAS,CAAC6M,MADC;IAEpB,sBAAsB7M,SAAS,CAAC6M,MAFZ;IAGpB5C,gBAAgB,EAAEjK,SAAS,CAAC6M,MAHR;IAIpBjF,IAAI,EAAE5H,SAAS,CAAC6M,MAJI;IAKpB3D,aAAa,EAAElJ,SAAS,CAAC2M,KAAV,CAAgB;MAC7B/E,IAAI,EAAE5H,SAAS,CAAC6M,MADa;MAE7BtE,KAAK,EAAEvI,SAAS,CAACmN,MAFY;MAG7B,cAAcnN,SAAS,CAAC6M;IAHK,CAAhB,CALK;IAUpBvD,KAAK,EAAEtJ,SAAS,CAAC2M,KAAV,CAAgB;MACrBnD,KAAK,EAAExJ,SAAS,CAAC2M,KAAV,CAAgB;QACrB/E,IAAI,EAAE5H,SAAS,CAAC6M,MADK;QAErBnD,KAAK,EAAE1J,SAAS,CAAC6M,MAFI;QAGrB,cAAc7M,SAAS,CAAC6M;MAHH,CAAhB,CADc;MAMrBlD,OAAO,EAAE3J,SAAS,CAAC2M,KAAV,CAAgB;QACvB/E,IAAI,EAAE5H,SAAS,CAAC6M,MADO;QAEvBnD,KAAK,EAAE1J,SAAS,CAAC6M,MAFM;QAGvB,cAAc7M,SAAS,CAAC6M;MAHD,CAAhB,CANY;MAWrBjD,KAAK,EAAE5J,SAAS,CAAC2M,KAAV,CAAgB;QACrB/E,IAAI,EAAE5H,SAAS,CAAC6M,MADK;QAErBnD,KAAK,EAAE1J,SAAS,CAAC6M,MAFI;QAGrB,cAAc7M,SAAS,CAAC6M;MAHH,CAAhB;IAXc,CAAhB;EAVa,CAAhB,CAtCW;EAkEjB,uBAAuB7M,SAAS,CAAC6M,MAlEhB;EAmEjB,0BAA0B7M,SAAS,CAAC6M,MAnEnB;EAoEjB,6BAA6B7M,SAAS,CAAC6M,MApEtB;EAqEjB7H,QAAQ,EAAEhF,SAAS,CAACgN,OAAV,CACRhN,SAAS,CAAC2M,KAAV,CAAgB;IACdlF,KAAK,EAAEzH,SAAS,CAAC6M,MADH;IAEd/E,IAAI,EAAE9H,SAAS,CAAC6M,MAFF;IAGdvC,IAAI,EAAEtK,SAAS,CAACiN,KAAV,CAAgB,CAAC,QAAD,EAAW,QAAX,EAAqB,MAArB,CAAhB,CAHQ;IAId3F,KAAK,EAAEtH,SAAS,CAAC6M,MAJH;IAKd,cAAc7M,SAAS,CAAC6M,MALV;IAMdxC,OAAO,EAAErK,SAAS,CAAC2M,KAAV,CAAgB;MACvB/E,IAAI,EAAE5H,SAAS,CAAC6M,MADO;MAEvB/B,QAAQ,EAAE9K,SAAS,CAAC+M,IAFG;MAGvBxE,KAAK,EAAEvI,SAAS,CAACkN,IAHM;MAIvB7I,MAAM,EAAErE,SAAS,CAACiN,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CAJe;MAKvBrC,MAAM,EAAE5K,SAAS,CAACgN,OAAV,CACNhN,SAAS,CAAC2M,KAAV,CAAgB;QACdpE,KAAK,EAAEvI,SAAS,CAAC6M,MADH;QAEd/E,IAAI,EAAE9H,SAAS,CAAC6M,MAFF;QAGdxF,QAAQ,EAAErH,SAAS,CAACkN;MAHN,CAAhB,CADM;IALe,CAAhB;EANK,CAAhB,CADQ,CArEO;EA2FjB1I,UAAU,EAAExE,SAAS,CAAC+M,IA3FL;EA4FjBtI,WAAW,EAAEzE,SAAS,CAAC+M;AA5FN,C;AAmsBrB,eAAelL,UAAf"}
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","handleMouseEnter","setState","hovered","handleMouseLeave","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","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","activePageAriaLabel","groupAriaLbale","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","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","line","_hoverStyle","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","className","languageSelect","selectBoxes","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","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 'active-page-aria-label': PropTypes.string,\n 'group-settings-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 hovered: 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 handleMouseEnter = () => {\n this.setState({\n hovered: true\n });\n };\n\n handleMouseLeave = () => {\n this.setState({\n hovered: 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 'active-page-aria-label': activePageAriaLabel,\n 'group-settings-aria-label': groupAriaLbale\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 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 <span\n className={style.line}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n const {hovered} = this.state;\n const _hoverStyle = hovered\n ? {\n color: primaryColor\n }\n : null;\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div\n className={style.currentOption}\n aria-haspopup=\"true\"\n data-name=\"item-more\"\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n style={{\n ..._hoverStyle\n }}\n >\n {moreAriaLabel}\n <ArrowDown\n style={{color: mediumColor}}\n className={style.caret}\n aria-label={moreAriaLabel}\n />\n </div>\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\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} style={{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} style={{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} style={{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 selectProps.className = style.languageSelect;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\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 <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n <span id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\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 style={{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\n data-name=\"settings\"\n className={style.settingsGroup}\n role=\"group\"\n aria-label={groupAriaLbale}\n >\n {settingsElements}\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 style={{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 style={{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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/select/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuDA,qEAyLC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/select/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuDA,qEA2LC"}
@@ -157,6 +157,7 @@ const Select = (props, legacyContext) => {
157
157
  return /*#__PURE__*/_react.default.createElement("div", {
158
158
  className: (0, _classnames.default)(composedClassName, theme === 'coorpmanager' ? _style.default.coorpmanager : null)
159
159
  }, /*#__PURE__*/_react.default.createElement("label", {
160
+ "data-testid": "select-wrapper",
160
161
  "data-name": "select-wrapper",
161
162
  title: title,
162
163
  style: _extends({}, shouldUseSkinFontColor && {
@@ -164,6 +165,7 @@ const Select = (props, legacyContext) => {
164
165
  }),
165
166
  className: _style.default.selectWrapper
166
167
  }, titleView, /*#__PURE__*/_react.default.createElement("span", {
168
+ "data-testid": "select-span",
167
169
  "data-name": "select-span",
168
170
  className: (0, _classnames.default)(_style.default.selectSpan, (0, _includes.default)(theme, ['player', 'invalid', 'question', 'thematiques', 'template']) ? _style.default.noLabelCommon : null, borderClassName, isLongLabel ? _style.default.longLabel : null),
169
171
  style: _extends({}, shouldUseSkinFontColor && {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["themeStyle","filter","style","invalid","header","mooc","question","sort","thematiques","player","template","coorpmanager","ArrowView","shouldRender","isArrowUp","ariaLabel","arrowClass","arrowColor","props","useMemo","color","className","Select","legacyContext","name","options","optgroups","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","ariaLabelledBy","skin","GetSkinFromContext","setIsArrowUp","useState","handleSelectOnFocus","useCallback","handleSelectOnBlur","selectOption","option","index","value","optionList","isEmpty","map","optgroup","label","i","titleView","selected","get","find","concat","flatMapDeep","selectedLabel","isSelectedInValidOption","getOr","validOption","handleChange","e","target","selectedOptions","black","isThemeOneOfQuestionTemplateOrPlayer","includes","shouldUseSkinFontColor","undefined","behaviorClassName","getClassState","default","composedClassName","classnames","unselected","labelSize","size","isLongLabel","selectWrapper","selectSpan","noLabelCommon","longLabel","selectedArrow","arrow","selectBox","SelectOptionPropTypes","PropTypes","string","isRequired","oneOfType","number","bool","SelectOptionGroupPropTypes","arrayOf","shape","contextTypes","Provider","childContextTypes","propTypes","func","oneOf","keys"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport concat from 'lodash/fp/concat';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport flatMapDeep from 'lodash/fp/flatMapDeep';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationArrowTop as ArrowUp\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n coorpmanager: null\n};\n\nconst ArrowView = ({shouldRender, isArrowUp, ariaLabel, arrowClass, arrowColor}) => {\n const props = useMemo(\n () => ({\n ...(arrowColor &\n {\n color: arrowColor\n }),\n className: arrowClass\n }),\n [ariaLabel, arrowClass, arrowColor]\n );\n if (shouldRender) {\n return isArrowUp ? (\n <ArrowUp {...props} data-testid=\"select-arrow-up-icon\" />\n ) : (\n <ArrowDown {...props} data-testid=\"select-arrow-down-icon\" />\n );\n } else return null;\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n optgroups = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(\n () => (propTitle ? `${propTitle}${required ? '*' : ''}` : null),\n [propTitle, required]\n );\n\n const [isArrowUp, setIsArrowUp] = useState(false);\n\n const handleSelectOnFocus = useCallback(() => setIsArrowUp(true), []);\n const handleSelectOnBlur = useCallback(() => setIsArrowUp(false), []);\n\n const selectOption = (option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n };\n\n const optionList = !isEmpty(options)\n ? options.map((option, index) => selectOption(option, index))\n : optgroups.map((optgroup, index) => {\n return (\n <optgroup key={index} label={optgroup.label}>\n {optgroup.options && optgroup.options.map((option, i) => selectOption(option, i))}\n </optgroup>\n );\n });\n\n const titleView = title ? <span className={style.title}>{title}</span> : null;\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, concat(options, flatMapDeep('options', optgroups)))),\n [multiple, options, optgroups]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, concat(options, flatMapDeep('options', optgroups)))),\n [multiple, options, optgroups]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n setIsArrowUp(false);\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n setIsArrowUp(false);\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const isThemeOneOfQuestionTemplateOrPlayer = useMemo(\n () => includes(theme, ['question', 'template', 'player']),\n [theme]\n );\n const shouldUseSkinFontColor = useMemo(\n () => !isSelectedInValidOption && selected && isThemeOneOfQuestionTemplateOrPlayer,\n [isSelectedInValidOption, selected, isThemeOneOfQuestionTemplateOrPlayer]\n );\n const arrowColor = selected ? color : undefined;\n\n const behaviorClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviorClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviorClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <label\n data-name=\"select-wrapper\"\n title={title}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n {titleView}\n <span\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n <ArrowView\n shouldRender={!multiple}\n isArrowUp={isArrowUp}\n ariaLabel={ariaLabel}\n arrowClass={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n arrowColor={isThemeOneOfQuestionTemplateOrPlayer ? arrowColor : black}\n />\n <select\n {...(ariaLabelledBy ? {'aria-labelledby': ariaLabelledBy} : {})}\n {...(ariaLabel && !ariaLabelledBy ? {'aria-label': ariaLabel} : {})}\n {...(ariaLabel ? {title: ariaLabel} : {})}\n data-name=\"native-select\"\n className={style.selectBox}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n onClick={handleSelectOnFocus}\n onBlur={handleSelectOnBlur}\n // onBlur does not handle completely an out of bounds click\n // ex: select is Opened and a click is done outside, cancelling the select\n // that doesn't count as a Blur, so an onMouseLeave is needed\n onMouseLeave={handleSelectOnBlur}\n data-testid=\"native-select\"\n >\n {optionList}\n </select>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nexport const SelectOptionGroupPropTypes = {\n label: PropTypes.string.isRequired,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n optgroups: PropTypes.arrayOf(PropTypes.shape(SelectOptionGroupPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool,\n 'aria-label': PropTypes.string,\n 'aria-labelledby': PropTypes.string\n};\n\nexport default Select;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["themeStyle","filter","style","invalid","header","mooc","question","sort","thematiques","player","template","coorpmanager","ArrowView","shouldRender","isArrowUp","ariaLabel","arrowClass","arrowColor","props","useMemo","color","className","Select","legacyContext","name","options","optgroups","borderClassName","onChange","multiple","disabled","required","description","theme","modified","error","title","propTitle","ariaLabelledBy","skin","GetSkinFromContext","setIsArrowUp","useState","handleSelectOnFocus","useCallback","handleSelectOnBlur","selectOption","option","index","value","optionList","isEmpty","map","optgroup","label","i","titleView","selected","get","find","concat","flatMapDeep","selectedLabel","isSelectedInValidOption","getOr","validOption","handleChange","e","target","selectedOptions","black","isThemeOneOfQuestionTemplateOrPlayer","includes","shouldUseSkinFontColor","undefined","behaviorClassName","getClassState","default","composedClassName","classnames","unselected","labelSize","size","isLongLabel","selectWrapper","selectSpan","noLabelCommon","longLabel","selectedArrow","arrow","selectBox","SelectOptionPropTypes","PropTypes","string","isRequired","oneOfType","number","bool","SelectOptionGroupPropTypes","arrayOf","shape","contextTypes","Provider","childContextTypes","propTypes","func","oneOf","keys"],"sources":["../../../src/atom/select/index.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport concat from 'lodash/fp/concat';\nimport filter from 'lodash/fp/filter';\nimport find from 'lodash/fp/find';\nimport flatMapDeep from 'lodash/fp/flatMapDeep';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport keys from 'lodash/fp/keys';\nimport map from 'lodash/fp/map';\nimport size from 'lodash/fp/size';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationArrowTop as ArrowUp\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n filter: style.filter,\n invalid: style.invalid,\n header: style.header,\n mooc: style.mooc,\n question: style.question,\n sort: style.sort,\n thematiques: style.thematiques,\n player: style.player,\n template: style.template,\n coorpmanager: null\n};\n\nconst ArrowView = ({shouldRender, isArrowUp, ariaLabel, arrowClass, arrowColor}) => {\n const props = useMemo(\n () => ({\n ...(arrowColor &\n {\n color: arrowColor\n }),\n className: arrowClass\n }),\n [ariaLabel, arrowClass, arrowColor]\n );\n if (shouldRender) {\n return isArrowUp ? (\n <ArrowUp {...props} data-testid=\"select-arrow-up-icon\" />\n ) : (\n <ArrowDown {...props} data-testid=\"select-arrow-down-icon\" />\n );\n } else return null;\n};\n\nconst Select = (props, legacyContext) => {\n const {\n name,\n options = [],\n optgroups = [],\n className,\n borderClassName,\n onChange,\n multiple = false,\n disabled,\n required,\n description,\n theme,\n modified = false,\n error = false,\n title: propTitle,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n } = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const title = useMemo(\n () => (propTitle ? `${propTitle}${required ? '*' : ''}` : null),\n [propTitle, required]\n );\n\n const [isArrowUp, setIsArrowUp] = useState(false);\n\n const handleSelectOnFocus = useCallback(() => setIsArrowUp(true), []);\n const handleSelectOnBlur = useCallback(() => setIsArrowUp(false), []);\n\n const selectOption = (option, index) => {\n return (\n <option key={index} value={option.value} className={style.selectOption}>\n {option.name}\n </option>\n );\n };\n\n const optionList = !isEmpty(options)\n ? options.map((option, index) => selectOption(option, index))\n : optgroups.map((optgroup, index) => {\n return (\n <optgroup key={index} label={optgroup.label}>\n {optgroup.options && optgroup.options.map((option, i) => selectOption(option, i))}\n </optgroup>\n );\n });\n\n const titleView = title ? <span className={style.title}>{title}</span> : null;\n\n const selected = useMemo(\n () =>\n multiple\n ? map(get('value'), filter({selected: true}, options))\n : get('value', find({selected: true}, concat(options, flatMapDeep('options', optgroups)))),\n [multiple, options, optgroups]\n );\n const selectedLabel = useMemo(\n () =>\n multiple\n ? map(get('name'), filter({selected: true}, options))\n : get('name', find({selected: true}, concat(options, flatMapDeep('options', optgroups)))),\n [multiple, options, optgroups]\n );\n\n const isSelectedInValidOption = useMemo(\n () =>\n theme === 'player' &&\n getOr(false, 'name', find({validOption: false, selected: true}, options)),\n [options, theme]\n );\n\n const handleChange = useMemo(\n () =>\n multiple\n ? e => {\n setIsArrowUp(false);\n onChange(map(get('value'), e.target.selectedOptions));\n }\n : e => {\n setIsArrowUp(false);\n onChange(e.target.value);\n },\n [onChange, multiple]\n );\n\n const black = useMemo(() => getOr('#14171A', 'common.black', skin), [skin]);\n const color = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const isThemeOneOfQuestionTemplateOrPlayer = useMemo(\n () => includes(theme, ['question', 'template', 'player']),\n [theme]\n );\n const shouldUseSkinFontColor = useMemo(\n () => !isSelectedInValidOption && selected && isThemeOneOfQuestionTemplateOrPlayer,\n [isSelectedInValidOption, selected, isThemeOneOfQuestionTemplateOrPlayer]\n );\n const arrowColor = selected ? color : undefined;\n\n const behaviorClassName = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [error, modified]\n );\n const composedClassName = useMemo(\n () =>\n classnames(\n theme && theme !== 'coorpmanager' ? themeStyle[theme] : behaviorClassName,\n selected ? style.selected : style.unselected,\n className\n ),\n [behaviorClassName, className, selected, theme]\n );\n\n const labelSize = useMemo(() => size(selectedLabel), [selectedLabel]);\n\n const isLongLabel = useMemo(() => labelSize >= 65, [labelSize]);\n\n return (\n <div\n className={classnames(\n composedClassName,\n theme === 'coorpmanager' ? style.coorpmanager : null\n )}\n >\n <label\n data-testid=\"select-wrapper\"\n data-name=\"select-wrapper\"\n title={title}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n className={style.selectWrapper}\n >\n {titleView}\n <span\n data-testid=\"select-span\"\n data-name=\"select-span\"\n className={classnames(\n style.selectSpan,\n includes(theme, ['player', 'invalid', 'question', 'thematiques', 'template'])\n ? style.noLabelCommon\n : null,\n borderClassName,\n isLongLabel ? style.longLabel : null\n )}\n style={{\n ...(shouldUseSkinFontColor && {\n color\n })\n }}\n >\n {selectedLabel}\n </span>\n <ArrowView\n shouldRender={!multiple}\n isArrowUp={isArrowUp}\n ariaLabel={ariaLabel}\n arrowClass={shouldUseSkinFontColor ? style.selectedArrow : style.arrow}\n arrowColor={isThemeOneOfQuestionTemplateOrPlayer ? arrowColor : black}\n />\n <select\n {...(ariaLabelledBy ? {'aria-labelledby': ariaLabelledBy} : {})}\n {...(ariaLabel && !ariaLabelledBy ? {'aria-label': ariaLabel} : {})}\n {...(ariaLabel ? {title: ariaLabel} : {})}\n data-name=\"native-select\"\n className={style.selectBox}\n name={name}\n onChange={handleChange}\n value={selected}\n multiple={multiple}\n disabled={disabled}\n onClick={handleSelectOnFocus}\n onBlur={handleSelectOnBlur}\n // onBlur does not handle completely an out of bounds click\n // ex: select is Opened and a click is done outside, cancelling the select\n // that doesn't count as a Blur, so an onMouseLeave is needed\n onMouseLeave={handleSelectOnBlur}\n data-testid=\"native-select\"\n >\n {optionList}\n </select>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nexport const SelectOptionPropTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selected: PropTypes.bool,\n validOption: PropTypes.bool\n};\n\nexport const SelectOptionGroupPropTypes = {\n label: PropTypes.string.isRequired,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n};\n\nSelect.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelect.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n className: PropTypes.string,\n borderClassName: PropTypes.string,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n description: PropTypes.string,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n theme: PropTypes.oneOf(keys(themeStyle)),\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes)),\n optgroups: PropTypes.arrayOf(PropTypes.shape(SelectOptionGroupPropTypes)),\n modified: PropTypes.bool,\n error: PropTypes.bool,\n 'aria-label': PropTypes.string,\n 'aria-labelledby': PropTypes.string\n};\n\nexport default Select;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/add-to-my-list/index.js"],"names":[],"mappings":"AAiBO;;gBAYN;;;;;;AAEM;;;;uBAUN;;;;;;;;;;;AAED;;;;;gBAsBC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/add-to-my-list/index.js"],"names":[],"mappings":"AAiBO;;gBAYN;;;;;;AAEM;;;;uBAcN;;;;;;;;;;;AAED;;;;;gBA2BC"}
@@ -59,6 +59,7 @@ const AddToMyListFeedback = ({
59
59
  if (status === ADD_TO_MY_LIST_STATUS.IDLE) return null;
60
60
  return /*#__PURE__*/_react.default.createElement("div", {
61
61
  className: (0, _classnames.default)(_style.default.feedback),
62
+ "data-testid": "add-to-my-list-feedback",
62
63
  "data-name": 'add-to-my-list-feedback'
63
64
  }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyCheck, {
64
65
  className: _style.default.checkIcon,
@@ -88,6 +89,7 @@ const AddToMyList = ({
88
89
  return /*#__PURE__*/_react.default.createElement("div", {
89
90
  className: (_style.default.container, style)
90
91
  }, /*#__PURE__*/_react.default.createElement(_link.default, {
92
+ "data-testid": "add-to-my-list-button",
91
93
  "data-name": 'add-to-my-list-button',
92
94
  onClick: onClick,
93
95
  className: _style.default.cta
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ADD_TO_MY_LIST_STATUS","IDLE","SUCCESS","StatusContext","React","createContext","AddToMyListStatusProvider","children","status","setStatus","useState","useEffect","timeoutId","DURATION","setTimeout","clearTimeout","statusValue","useMemo","AddToMyListFeedback","addToMyListText","removeFromMyListText","favorite","useContext","classnames","styles","feedback","checkIcon","AddToMyList","style","addToMyListButton","onFavoriteClick","cb","onClick","container","cta","wrapper","shareIcon","propTypes","PropTypes","node","string","bool","func"],"sources":["../../../src/molecule/add-to-my-list/index.js"],"sourcesContent":["import React, {useState, useContext, useEffect, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionNavigationMore as MoreIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst ADD_TO_MY_LIST_STATUS = {\n IDLE: 'IDLE',\n SUCCESS: 'SUCCESS'\n};\n\nconst StatusContext = React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);\n\nexport const AddToMyListStatusProvider = ({children}) => {\n const [status, setStatus] = useState(ADD_TO_MY_LIST_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== ADD_TO_MY_LIST_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(ADD_TO_MY_LIST_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n const statusValue = useMemo(() => [status, setStatus], [status, setStatus]);\n return <StatusContext.Provider value={statusValue}>{children}</StatusContext.Provider>;\n};\n\nexport const AddToMyListFeedback = ({addToMyListText, removeFromMyListText, favorite}) => {\n const [status] = useContext(StatusContext);\n if (status === ADD_TO_MY_LIST_STATUS.IDLE) return null;\n\n return (\n <div className={classnames(styles.feedback)} data-name={'add-to-my-list-feedback'}>\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n <p role=\"status\">{favorite ? addToMyListText : removeFromMyListText}</p>\n </div>\n );\n};\n\nconst AddToMyList = ({style, addToMyListButton, favorite, onFavoriteClick}) => {\n const [, setStatus] = useContext(StatusContext);\n const cb = () => setStatus(ADD_TO_MY_LIST_STATUS.SUCCESS);\n\n function onClick() {\n onFavoriteClick(cb);\n }\n\n return (\n <div className={(styles.container, style)}>\n <Link data-name={'add-to-my-list-button'} onClick={onClick} className={styles.cta}>\n <div className={styles.wrapper}>\n {favorite ? (\n <CheckIcon className={styles.shareIcon} width={15} height={15} />\n ) : (\n <MoreIcon className={styles.shareIcon} width={12} height={12} />\n )}\n <p>{addToMyListButton}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nAddToMyListStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nAddToMyListFeedback.propTypes = {\n addToMyListText: PropTypes.string,\n removeFromMyListText: PropTypes.string,\n favorite: PropTypes.bool\n};\n\nAddToMyList.propTypes = {\n style: PropTypes.string,\n addToMyListButton: PropTypes.string,\n favorite: PropTypes.bool,\n onFavoriteClick: PropTypes.func\n};\n\nexport default AddToMyList;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["ADD_TO_MY_LIST_STATUS","IDLE","SUCCESS","StatusContext","React","createContext","AddToMyListStatusProvider","children","status","setStatus","useState","useEffect","timeoutId","DURATION","setTimeout","clearTimeout","statusValue","useMemo","AddToMyListFeedback","addToMyListText","removeFromMyListText","favorite","useContext","classnames","styles","feedback","checkIcon","AddToMyList","style","addToMyListButton","onFavoriteClick","cb","onClick","container","cta","wrapper","shareIcon","propTypes","PropTypes","node","string","bool","func"],"sources":["../../../src/molecule/add-to-my-list/index.js"],"sourcesContent":["import React, {useState, useContext, useEffect, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionNavigationMore as MoreIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst ADD_TO_MY_LIST_STATUS = {\n IDLE: 'IDLE',\n SUCCESS: 'SUCCESS'\n};\n\nconst StatusContext = React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);\n\nexport const AddToMyListStatusProvider = ({children}) => {\n const [status, setStatus] = useState(ADD_TO_MY_LIST_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== ADD_TO_MY_LIST_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(ADD_TO_MY_LIST_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n const statusValue = useMemo(() => [status, setStatus], [status, setStatus]);\n return <StatusContext.Provider value={statusValue}>{children}</StatusContext.Provider>;\n};\n\nexport const AddToMyListFeedback = ({addToMyListText, removeFromMyListText, favorite}) => {\n const [status] = useContext(StatusContext);\n if (status === ADD_TO_MY_LIST_STATUS.IDLE) return null;\n\n return (\n <div\n className={classnames(styles.feedback)}\n data-testid=\"add-to-my-list-feedback\"\n data-name={'add-to-my-list-feedback'}\n >\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n <p role=\"status\">{favorite ? addToMyListText : removeFromMyListText}</p>\n </div>\n );\n};\n\nconst AddToMyList = ({style, addToMyListButton, favorite, onFavoriteClick}) => {\n const [, setStatus] = useContext(StatusContext);\n const cb = () => setStatus(ADD_TO_MY_LIST_STATUS.SUCCESS);\n\n function onClick() {\n onFavoriteClick(cb);\n }\n\n return (\n <div className={(styles.container, style)}>\n <Link\n data-testid=\"add-to-my-list-button\"\n data-name={'add-to-my-list-button'}\n onClick={onClick}\n className={styles.cta}\n >\n <div className={styles.wrapper}>\n {favorite ? (\n <CheckIcon className={styles.shareIcon} width={15} height={15} />\n ) : (\n <MoreIcon className={styles.shareIcon} width={12} height={12} />\n )}\n <p>{addToMyListButton}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nAddToMyListStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nAddToMyListFeedback.propTypes = {\n addToMyListText: PropTypes.string,\n removeFromMyListText: PropTypes.string,\n favorite: PropTypes.bool\n};\n\nAddToMyList.propTypes = {\n style: PropTypes.string,\n addToMyListButton: PropTypes.string,\n favorite: PropTypes.bool,\n onFavoriteClick: PropTypes.func\n};\n\nexport default AddToMyList;\n"],"mappings":"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"}
@@ -642,7 +642,7 @@ class MoocHeader extends _react.default.Component {
642
642
  style: {
643
643
  color: primaryColor
644
644
  }
645
- }))) : null)), searchFormView, /*#__PURE__*/_react.default.createElement("nav", {
645
+ }))) : null)), searchFormView, /*#__PURE__*/_react.default.createElement("div", {
646
646
  className: isMenuOpen ? _style.default.menuWrapper : _style.default.hiddenMenuWrapper,
647
647
  "data-name": "menu-wrapper"
648
648
  }, pagesView, userView || linksView, settingsView)));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["MoocHeader","React","Component","constructor","props","handleMouseEnter","setState","hovered","handleMouseLeave","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","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","activePageAriaLabel","groupAriaLbale","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","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","line","_hoverStyle","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","className","languageSelect","selectBoxes","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","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 'active-page-aria-label': PropTypes.string,\n 'group-settings-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 hovered: 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 handleMouseEnter = () => {\n this.setState({\n hovered: true\n });\n };\n\n handleMouseLeave = () => {\n this.setState({\n hovered: 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 'active-page-aria-label': activePageAriaLabel,\n 'group-settings-aria-label': groupAriaLbale\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 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 <span\n className={style.line}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n const {hovered} = this.state;\n const _hoverStyle = hovered\n ? {\n color: primaryColor\n }\n : null;\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div\n className={style.currentOption}\n aria-haspopup=\"true\"\n data-name=\"item-more\"\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n style={{\n ..._hoverStyle\n }}\n >\n {moreAriaLabel}\n <ArrowDown\n style={{color: mediumColor}}\n className={style.caret}\n aria-label={moreAriaLabel}\n />\n </div>\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\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} style={{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} style={{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} style={{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 selectProps.className = style.languageSelect;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\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 <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n <span id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\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 style={{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\n data-name=\"settings\"\n className={style.settingsGroup}\n role=\"group\"\n aria-label={groupAriaLbale}\n >\n {settingsElements}\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 style={{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 style={{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 <nav\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </nav>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAWA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,UAAN,SAAyBC,cAAA,CAAMC,SAA/B,CAAyC;EAqGvCC,WAAW,CAACC,KAAD,EAAQ;IACjB,MAAMA,KAAN;;IADiB,KAyInBC,gBAzImB,GAyIA,MAAM;MACvB,KAAKC,QAAL,CAAc;QACZC,OAAO,EAAE;MADG,CAAd;IAGD,CA7IkB;;IAAA,KA+InBC,gBA/ImB,GA+IA,MAAM;MACvB,KAAKF,QAAL,CAAc;QACZC,OAAO,EAAE;MADG,CAAd;IAGD,CAnJkB;;IAEjB,KAAKE,KAAL,GAAa;MACXC,cAAc,EAAE,KADL;MAEXC,UAAU,EAAE,KAFD;MAGXC,OAAO,EAAE,KAHE;MAIXC,aAAa,EAAE,KAJJ;MAKXN,OAAO,EAAE;IALE,CAAb;IAQA,KAAKO,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;IACA,KAAKW,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBX,IAAvB,CAA4B,IAA5B,CAAzB;IACA,KAAKY,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBZ,IAAxB,CAA6B,IAA7B,CAA1B;IACA,KAAKa,cAAL,GAAsB,KAAKA,cAAL,CAAoBb,IAApB,CAAyB,IAAzB,CAAtB;EACD;;EAEDc,kBAAkB,CAACC,SAAD,EAAYC,SAAZ,EAAuBC,WAAvB,EAAoC;IACpD,MAAM;MAACtB;IAAD,IAAmB,KAAKD,KAA9B;;IACA,IAAIC,cAAJ,EAAoB;MAClBuB,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmC,KAAKjB,aAAxC;MACAgB,QAAQ,CAACC,gBAAT,CAA0B,YAA1B,EAAwC,KAAKjB,aAA7C;IACD,CAHD,MAGO;MACLgB,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsC,KAAKlB,aAA3C;MACAgB,QAAQ,CAACE,mBAAT,CAA6B,YAA7B,EAA2C,KAAKlB,aAAhD;IACD;EACF;;EAEDE,eAAe,CAACiB,EAAD,EAAK;IAClB,KAAKC,YAAL,GAAoBD,EAApB;EACD;;EAEDnB,aAAa,CAACqB,UAAD,EAAa;IACxB,MAAM;MAAC5B;IAAD,IAAmB,KAAKD,KAA9B;;IACA,IAAIC,cAAJ,EAAoB;MAClB,MAAM6B,IAAI,GAAG,KAAKF,YAAlB;;MACA,IAAIE,IAAI,IAAI,CAACA,IAAI,CAACC,QAAL,CAAcF,UAAU,CAACG,MAAzB,CAAb,EAA+C;QAC7C,KAAK3B,oBAAL;MACD;IACF;EACF;;EAEDI,eAAe,GAAG;IAChB,MAAM;MAACP;IAAD,IAAe,KAAKF,KAA1B;IACAE,UAAU,IAAI,KAAKK,gBAAL,EAAd;EACD;;EAEDF,oBAAoB,GAAG;IACrB,KAAKR,QAAL,CAAcyB,SAAS,KAAK;MAC1BrB,cAAc,EAAE,CAACqB,SAAS,CAACrB;IADD,CAAL,CAAvB;EAGD;;EAEDM,gBAAgB,GAAG;IACjB,MAAM;MAACL;IAAD,IAAe,KAAKF,KAA1B;IACAE,UAAU,GAAG,KAAKc,iBAAL,EAAH,GAA8B,KAAKD,gBAAL,EAAxC;EACD;;EAEDJ,kBAAkB,GAAG;IACnB,MAAM;MAACsB;IAAD,IAAmB,KAAKtC,KAA9B;;IACA,IAAIsC,cAAJ,EAAoB;MAClBA,cAAc;IACf;EACF;;EAEDrB,iBAAiB,GAAG;IAClB,MAAM;MAACsB;IAAD,IAAkB,KAAKvC,KAA7B;;IACA,IAAIuC,aAAJ,EAAmB;MACjBA,aAAa;IACd;EACF;;EAEDrB,aAAa,GAAG;IACd,KAAKhB,QAAL,CAAcyB,SAAS,KAAK;MAC1BnB,OAAO,EAAE;IADiB,CAAL,CAAvB;EAGD;;EAEDW,YAAY,GAAG;IACb,KAAKjB,QAAL,CAAcyB,SAAS,KAAK;MAC1BnB,OAAO,EAAE;IADiB,CAAL,CAAvB;EAGD;;EAEDY,gBAAgB,GAAG;IACjB,MAAM;MAACoB;IAAD,IAAe,KAAKxC,KAA1B;;IACA,IAAIwC,UAAJ,EAAgB;MACdA,UAAU;IACX;;IACD,KAAKtC,QAAL,CAAc,OAAO;MACnBK,UAAU,EAAE;IADO,CAAP,CAAd;EAGD;;EAEDc,iBAAiB,GAAG;IAClB,MAAM;MAACoB;IAAD,IAAgB,KAAKzC,KAA3B;;IACA,IAAIyC,WAAJ,EAAiB;MACfA,WAAW;IACZ;;IACD,KAAKvC,QAAL,CAAc,OAAO;MACnBK,UAAU,EAAE;IADO,CAAP,CAAd;EAGD;;EAEDe,iBAAiB,GAAG;IAClB,KAAKpB,QAAL,CAAc,OAAO;MACnBO,aAAa,EAAE;IADI,CAAP,CAAd;EAGD;;EAEDc,kBAAkB,GAAG;IACnB,KAAKrB,QAAL,CAAc,OAAO;MACnBO,aAAa,EAAE;IADI,CAAP,CAAd;EAGD;;EAEDe,cAAc,CAACkB,KAAD,EAAQ;IACpB,IAAIA,KAAK,CAACC,GAAN,KAAc,OAAlB,EAA2B;MACzB,KAAKzC,QAAL,CAAc,OAAO;QACnBO,aAAa,EAAE;MADI,CAAP,CAAd;IAGD,CAJD,MAIO,IAAIiC,KAAK,CAACC,GAAN,KAAc,KAAd,IAAuBD,KAAK,CAACC,GAAN,KAAc,QAAzC,EAAmD;MACxD,KAAKzC,QAAL,CAAc,OAAO;QACnBO,aAAa,EAAE;MADI,CAAP,CAAd;IAGD;EACF;;EAcDmC,MAAM,GAAG;IACP,IAAI,uBAAQ,KAAK5C,KAAb,CAAJ,EAAyB,OAAO,IAAP;IACzB,MAAM;MACJ6C,IAAI,GAAG,EADH;MAEJC,KAAK,EAAEC,KAFH;MAGJC,QAHI;MAIJC,IAJI;MAKJC,KALI;MAMJC,MANI;MAOJ,2BAA2BC,oBAPvB;MAQJ,uBAAuBC,iBARnB;MASJ,0BAA0BC,mBATtB;MAUJ,6BAA6BC;IAVzB,IAWF,KAAKvD,KAXT;IAYA,MAAM;MAACQ,OAAD;MAAUF,cAAV;MAA0BC,UAA1B;MAAsCE;IAAtC,IAAuD,KAAKJ,KAAlE;IACA,MAAM;MAACmD,SAAD;MAAYC;IAAZ,IAAoB,KAAKC,OAA/B;IACA,MAAM;MACJ,cAAcC,aADV;MAEJC,kBAFI;MAGJC,iBAHI;MAIJC,WAJI;MAKJC;IALI,IAMFlB,IANJ;IAOA,MAAMmB,OAAO,GAAG,mBAAI,KAAJ,EAAWnB,IAAX,KAAoB,mBAAI,aAAJ,EAAmBY,IAAnB,CAApC;IACA,MAAMQ,aAAa,GAAG,mBAAI,WAAJ,EAAiBpB,IAAjB,KAA0B,qBAAMmB,OAAN,EAAe,oBAAf,EAAqCP,IAArC,CAAhD;IACA,IAAIS,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,GAAGhB,SAAS,CAAC,MAAD,CAA/B;IACA,MAAMiB,YAAY,GAAG,mBAAI,gBAAJ,EAAsBhB,IAAtB,CAArB;IACA,MAAMiB,WAAW,GAAG,mBAAI,eAAJ,EAAqBjB,IAArB,CAApB;IACA,MAAMkB,SAAS,GAAG,mBAAI,aAAJ,EAAmBlB,IAAnB,CAAlB;IACA,MAAMmB,KAAK,GAAG,mBAAI,cAAJ,EAAoBnB,IAApB,CAAd;IACA,MAAMoB,gBAAgB,GAAG;MAACC,eAAe,EAAEL;IAAlB,CAAzB;;IAEA,IAAI1B,KAAJ,EAAW;MACT,MAAMgC,cAAc,GAAGhC,KAAK,CAACiC,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,KAAInC,mBAAoB,EAAtD,GAA0D4B,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,KAAKpE,eANhB;UAOE,MAAM,EAAEoE,IAAI,CAAC7C,MAAL,IAAe,IAPzB;UAQE,cAAYmD,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,GAAGpD,KAAK,CAACqD,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,KAAInC,mBAAoB,EAAtD,GAA0D4B,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,CAAC7C,MAAL,IAAe,IALzB;UAME,cAAYmD,SANd;UAOE,OAAO,EAAE,KAAK1E,eAPhB;UAQE,SAAS,MARX;UASE,KAAK,eACAsE,WADA;QATP,GAaGF,IAAI,CAACO,KAbR,eAcE;UACE,SAAS,EAAEI,cAAA,CAAMS,IADnB;UAEE,KAAK,EAAE;YACLxB,eAAe,EAAEL;UADZ;QAFT,EAdF,CADF;MAuBD,CA/BmB,CAApB;MAgCA,MAAM;QAACtE;MAAD,IAAY,KAAKE,KAAvB;;MACA,MAAMkG,WAAW,GAAGpG,OAAO,GACvB;QACEmF,KAAK,EAAEb;MADT,CADuB,GAIvB,IAJJ;;MAKAP,SAAS,gBACP;QAAK,SAAS,EAAEf,MAAM,CAACqD,KAAP,IAAgBhG,OAAhB,GAA0BqF,cAAA,CAAMY,OAAhC,GAA0CZ,cAAA,CAAM9C;MAAhE,GACGgC,cADH,eAEE;QAAK,SAAS,EAAEc,cAAA,CAAMO;MAAtB,gBACE;QACE,SAAS,EAAEP,cAAA,CAAMa,aADnB;QAEE,iBAAc,MAFhB;QAGE,aAAU,WAHZ;QAIE,YAAY,EAAE,KAAKzG,gBAJrB;QAKE,YAAY,EAAE,KAAKG,gBALrB;QAME,KAAK,eACAmG,WADA;MANP,GAUG/B,aAVH,eAWE,6BAAC,6CAAD;QACE,KAAK,EAAE;UAACc,KAAK,EAAEZ;QAAR,CADT;QAEE,SAAS,EAAEmB,cAAA,CAAMc,KAFnB;QAGE,cAAYnC;MAHd,EAXF,CADF,eAkBE;QACE,SAAS,EAAEqB,cAAA,CAAMK,GADnB;QAEE,KAAK,EAAE;UACLpB,eAAe,EAAEL;QADZ;MAFT,EAlBF,eAwBE;QAAK,SAAS,EAAEoB,cAAA,CAAMe;MAAtB,GAAqCT,WAArC,CAxBF,CAFF,CADF;IA+BD;;IAED,IAAIjD,KAAJ,EAAW;MACT,MAAM2D,IAAI,GAAG3D,KAAK,CAAC+B,GAAN,CAAU,CAAC6B,GAAD,EAAM3B,KAAN,KAAgB;QACrC,oBACE,6BAAC,YAAD,eAAS2B,GAAT;UAAc,GAAG,EAAE3B,KAAnB;UAA0B,SAAS,EAAEA,KAAK,GAAG,CAAR,KAAcjC,KAAK,CAAC6D,MAApB,GAA6B,IAA7B,GAAoClB,cAAA,CAAMmB;QAA/E,GADF;MAGD,CAJY,CAAb;MAMA7C,SAAS,gBAAG;QAAK,SAAS,EAAE0B,cAAA,CAAM3C;MAAtB,GAA8B2D,IAA9B,CAAZ;IACD;;IAED,IAAI5D,IAAJ,EAAU;MACR,MAAMgE,eAAe,GAAG,qBAAM,CAAN,EAAS,qBAAT,EAAgChE,IAAhC,CAAxB;MACA,MAAMiE,sBAAsB,GAAG,qBAAM,EAAN,EAAU,0BAAV,EAAsCjE,IAAtC,CAA/B;MAEAqB,iBAAiB,GACf2C,eAAe,GAAG,CAAlB,gBACE,6BAAC,aAAD;QACE,IAAI,EAAEhE,IAAI,CAACkE,aAAL,CAAmBvB,IAD3B;QAEE,aAAU,oBAFZ;QAGE,SAAS,EAAEC,cAAA,CAAMsB;MAHnB,GAKGF,eALH,CADF,GAQI,IATN;;MAUA,MAAMG,oBAAoB,gBACxB,6BAAC,aAAD;QACE,SAAS,EAAE,IAAAC,mBAAA,EAAWxB,cAAA,CAAMyB,YAAjB,EAA+BL,eAAe,GAAG,CAAlB,GAAsBpB,cAAA,CAAM0B,MAA5B,GAAqC,IAApE,CADb;QAEE,aAAU,oBAFZ;QAGE,IAAI,EAAEtE,IAAI,CAACkE,aAAL,CAAmBvB,IAH3B;QAIE,cAAYsB;MAJd,gBAME,uDACE,6BAAC,6BAAD;QAAW,KAAK,EAAE,EAAlB;QAAsB,MAAM,EAAE;MAA9B,EADF,CANF,EASG5C,iBATH,CADF;;MAaAF,QAAQ,gBACN;QAAK,SAAS,EAAEyB,cAAA,CAAM5C;MAAtB,gBACE;QAAK,SAAS,EAAE4C,cAAA,CAAM2B;MAAtB,gBACE,6BAAC,aAAD;QACE,SAAS,EAAE3B,cAAA,CAAM4B,IADnB;QAEE,aAAU,YAFZ;QAGE,IAAI,EAAExE,IAAI,CAACuE,KAAL,CAAWE,KAAX,CAAiB9B,IAHzB;QAIE,OAAO,EAAE,KAAK9E,eAJhB;QAKE,cAAYmC,IAAI,CAACuE,KAAL,CAAWE,KAAX,CAAiB,YAAjB;MALd,gBAOE;QAAK,SAAS,EAAE7B,cAAA,CAAM8B,WAAtB;QAAmC,KAAK,EAAE9C;MAA1C,gBACE,6BAAC,0CAAD;QAAU,SAAS,EAAEgB,cAAA,CAAM6B,KAA3B;QAAkC,KAAK,EAAE;UAACpC,KAAK,EAAEV;QAAR;MAAzC,EADF,CAPF,eAUE;QAAK,aAAU,OAAf;QAAuB,SAAS,EAAEiB,cAAA,CAAM+B;MAAxC,GACG3E,IAAI,CAACuE,KAAL,CAAWE,KAAX,CAAiBE,KADpB,CAVF,CADF,eAeE,6BAAC,aAAD;QACE,SAAS,EAAE/B,cAAA,CAAM4B,IADnB;QAEE,aAAU,cAFZ;QAGE,IAAI,EAAExE,IAAI,CAACuE,KAAL,CAAWK,OAAX,CAAmBjC,IAH3B;QAIE,OAAO,EAAE,KAAK9E,eAJhB;QAKE,cAAYmC,IAAI,CAACuE,KAAL,CAAWK,OAAX,CAAmB,YAAnB;MALd,gBAOE;QAAK,SAAS,EAAEhC,cAAA,CAAM8B,WAAtB;QAAmC,KAAK,EAAE9C;MAA1C,gBACE,6BAAC,4CAAD;QAAY,SAAS,EAAEgB,cAAA,CAAMgC,OAA7B;QAAsC,KAAK,EAAE;UAACvC,KAAK,EAAEV;QAAR;MAA7C,EADF,CAPF,eAWE;QAAK,aAAU,OAAf;QAAuB,SAAS,EAAEiB,cAAA,CAAM+B;MAAxC,GACG3E,IAAI,CAACuE,KAAL,CAAWK,OAAX,CAAmBD,KADtB,CAXF,CAfF,eA8BE,6BAAC,aAAD;QACE,SAAS,EAAE/B,cAAA,CAAM4B,IADnB;QAEE,aAAU,YAFZ;QAGE,IAAI,EAAExE,IAAI,CAACuE,KAAL,CAAWM,KAAX,CAAiBlC,IAHzB;QAIE,OAAO,EAAE,KAAK9E,eAJhB;QAKE,cAAYmC,IAAI,CAACuE,KAAL,CAAWM,KAAX,CAAiB,YAAjB;MALd,gBAOE;QAAK,SAAS,EAAEjC,cAAA,CAAM8B,WAAtB;QAAmC,KAAK,EAAE9C;MAA1C,gBACE,6BAAC,6CAAD;QAAY,SAAS,EAAEgB,cAAA,CAAMiC,KAA7B;QAAoC,KAAK,EAAE;UAACxC,KAAK,EAAEV;QAAR;MAA3C,EADF,CAPF,eAUE;QAAK,SAAS,EAAEiB,cAAA,CAAM+B;MAAtB,GAA8B3E,IAAI,CAACuE,KAAL,CAAWM,KAAX,CAAiBF,KAA/C,CAVF,CA9BF,CADF,eA4CE;QAAK,SAAS,EAAE/B,cAAA,CAAMkC;MAAtB,GACGX,oBADH,eAEE;QAAK,SAAS,EAAEvB,cAAA,CAAMmC,MAAtB;QAA8B,aAAU;MAAxC,gBACE,6BAAC,aAAD;QACE,IAAI,EAAE/E,IAAI,CAAC2C,IADb;QAEE,SAAS,EAAEC,cAAA,CAAMoC,QAFnB;QAGE,OAAO,EAAE,KAAKnH,eAHhB;QAIE,cAAYmC,IAAI,CAAC,oBAAD;MAJlB,gBAME,6BAAC,gBAAD;QAAS,GAAG,EAAEA,IAAI,CAACiF,OAAnB;QAA4B,GAAG,EAAEjF,IAAI,CAACkF;MAAtC,EANF,CADF,CAFF,CA5CF,CADF;IA4DD;;IAED,IAAInF,QAAJ,EAAc;MACZ,MAAMoF,gBAAgB,GAAGpF,QAAQ,CAACiC,GAAT,CAAa,CAACoD,OAAD,EAAUlD,KAAV,KAAoB;QACxD,IAAImD,WAAW,GAAG,IAAlB;QACA,MAAM;UACJC,OADI;UAEJC,IAFI;UAGJ/C,KAHI;UAIJM,IAAI,EAAE0C,WAAW,GAAGtD,KAJhB;UAKJG,KALI;UAMJoD,UANI;UAOJ,cAAcC;QAPV,IAQFN,OARJ;;QAUA,QAAQG,IAAR;UACE,KAAK,MAAL;YAAa;cACXF,WAAW,gBACT;gBAAK,aAAY,WAAUG,WAAY,EAAvC;gBAA0C,SAAS,EAAE5C,cAAA,CAAMwC,OAA3D;gBAAoE,GAAG,EAAEI;cAAzE,gBACE,6BAAC,aAAD;gBACE,SAAS,EAAE5C,cAAA,CAAM+C,IADnB;gBAEE,IAAI,EAAEL,OAAO,CAAC3C,IAFhB;gBAGE,SAAS,MAHX;gBAIE,UAAU,EAAE8C,UAJd;gBAKE,OAAO,EAAE,KAAK5H,eALhB;gBAME,MAAM,EAAEyH,OAAO,CAAClG,MAAR,IAAkB,IAN5B;gBAOE,cAAYsG,SAAS,IAAIlD,KAP3B;gBAQE,KAAK,EAAE;kBACLH;gBADK;cART,GAYGG,KAZH,CADF,CADF;cAkBA;YACD;;UACD,KAAK,QAAL;YAAe;cACb,MAAMoD,WAAW,GAAG,EAApB;cACAA,WAAW,CAACN,OAAZ,GAAsBA,OAAO,CAACO,MAA9B;cACAD,WAAW,CAACpD,KAAZ,GAAoB,EAApB;cACAoD,WAAW,CAACE,KAAZ,GAAoB,QAApB;cACAF,WAAW,CAACG,QAAZ,GAAuBT,OAAO,CAACS,QAA/B;cACAH,WAAW,CAACI,SAAZ,GAAwBpD,cAAA,CAAMqD,cAA9B;cACAZ,WAAW,gBACT;gBACE,aAAY,WAAUG,WAAY,EADpC;gBAEE,SAAS,EAAE,IAAApB,mBAAA,EAAWxB,cAAA,CAAMwC,OAAjB,EAA0BxC,cAAA,CAAMsD,WAAhC,CAFb;gBAGE,GAAG,EAAEV;cAHP,gBAKE;gBAAM,SAAS,EAAE5C,cAAA,CAAM+B;cAAvB,GAA+BnC,KAA/B,CALF,eAME,6BAAC,eAAD,eAAYoD,WAAZ;gBAAyB,cAAYF,SAAS,IAAIlD;cAAlD,GANF,CADF;cAUA;YACD;;UACD,KAAK,QAAL;YAAe;cACb,MAAM2D,WAAW,GAAG,EAApB;cACAA,WAAW,CAAC5C,KAAZ,GAAoB+B,OAAO,CAAC/B,KAA5B;cACA4C,WAAW,CAACC,EAAZ,GAAkB,gBAAelE,KAAM,EAAvC;cACAiE,WAAW,CAACJ,QAAZ,GAAuBT,OAAO,CAACS,QAA/B;cAEAV,WAAW,gBACT;gBACE,aAAY,WAAUG,WAAY,EADpC;gBAEE,SAAS,EAAE5C,cAAA,CAAMwC,OAFnB;gBAGE,GAAG,EAAEI,WAHP;gBAIE,cAAYE,SAAS,IAAIlD;cAJ3B,gBAME,6BAAC,oBAAD,eAAiB2D,WAAjB;gBAA8B,mBAAkB,YAAWX,WAAY;cAAvE,GANF,eAOE;gBAAM,EAAE,EAAG,YAAWA,WAAY,EAAlC;gBAAqC,SAAS,EAAE5C,cAAA,CAAM+B;cAAtD,GACGnC,KADH,CAPF,CADF;cAaA;YACD;QA7DH;;QAgEA,OAAO6C,WAAP;MACD,CA7EwB,CAAzB;MA+EAjE,YAAY,gBACV;QAAK,SAAS,EAAEwB,cAAA,CAAM7C,QAAtB;QAAgC,GAAG,EAAE,KAAKjC;MAA1C,gBACE,6BAAC,yCAAD;QACE,aAAU,iBADZ;QAEE,KAAK,EAAE;UAACuE,KAAK,EAAEX;QAAR,CAFT;QAGE,SAAS,EAAEkB,cAAA,CAAMyD,cAHnB;QAIE,OAAO,EAAE,KAAK5I,oBAJhB;QAKE,iBAAeJ,cALjB;QAME,cAAY+C;MANd,EADF,eASE;QAAK,SAAS,EAAE/C,cAAc,GAAGuF,cAAA,CAAM0D,eAAT,GAA2B1D,cAAA,CAAM2D;MAA/D,gBACE;QACE,aAAU,UADZ;QAEE,SAAS,EAAE3D,cAAA,CAAM4D,aAFnB;QAGE,IAAI,EAAC,OAHP;QAIE,cAAYlG;MAJd,GAMG6E,gBANH,CADF,CATF,CADF;IAsBD;;IAED,IAAIjF,MAAJ,EAAY;MACVoB,cAAc,gBACZ;QACE,aAAU,YADZ;QAEE,SAAS,EAAEhE,UAAU,GAAGsF,cAAA,CAAM6D,eAAT,GAA2B7D,cAAA,CAAM8D;MAFxD,gBAIE,6BAAC,mBAAD;QACE,MAAM,EAAExG,MADV;QAEE,QAAQ,EAAE,KAAKnC,kBAFjB;QAGE,OAAO,EAAE,KAAKC,iBAHhB;QAIE,aAAa,EAAE,KAAKC,aAJtB;QAKE,YAAY,EAAE,KAAKC,YALrB;QAME,2BAAyBiC;MAN3B,EAJF,CADF;IAeD;;IAED,oBACE;MAAQ,SAAS,EAAEyC,cAAA,CAAM+D;IAAzB,gBACE;MACE,aAAU,YADZ;MAEE,aAAWrJ,UAFb;MAGE,SAAS,EAAEA,UAAU,GAAGsF,cAAA,CAAMgE,IAAT,GAAgBhE,cAAA,CAAMiE;IAH7C,gBAKE;MACE,SAAS,EAAEjE,cAAA,CAAMkE,WADnB;MAEE,cAAYjG,WAFd;MAGE,WAAW,EAAE,KAAKxC,iBAHpB;MAIE,YAAY,EAAE,KAAKC;IAJrB,gBAME;MAAK,SAAS,EAAEsE,cAAA,CAAMmE,SAAtB;MAAiC,aAAU;IAA3C,gBACE,6BAAC,0CAAD;MACE,IAAI,EAAC,QADP;MAEE,aAAU,iBAFZ;MAGE,KAAK,EAAE;QAAC1E,KAAK,EAAEZ;MAAR,CAHT;MAIE,SAAS,EAAEnE,UAAU,GAAGsF,cAAA,CAAMoE,YAAT,GAAwBpE,cAAA,CAAMqE,MAJrD;MAKE,OAAO,EAAE,KAAK9I,gBALhB;MAME,cAAYyC;IANd,EADF,eASE,6BAAC,yCAAD;MACE,aAAU,kBADZ;MAEE,KAAK,EAAE;QAACyB,KAAK,EAAEZ;MAAR,CAFT;MAGE,SAAS,EAAEnE,UAAU,GAAGsF,cAAA,CAAMsE,KAAT,GAAiBtE,cAAA,CAAMuE,WAH9C;MAIE,OAAO,EAAE,KAAK/I,iBAJhB;MAKE,cAAYuC;IALd,EATF,eAgBE,6BAAC,aAAD;MAAM,aAAU,aAAhB;MAA8B,IAAI,EAAEf,IAAI,CAAC+C;IAAzC,gBACE,6BAAC,gBAAD;MAAS,GAAG,EAAE3B,aAAd;MAA6B,GAAG,EAAEN;IAAlC,EADF,CAhBF,CANF,eA0BE,6BAAC,aAAD;MACE,SAAS,EAAEkC,cAAA,CAAMhD,IADnB;MAEE,aAAU,MAFZ;MAGE,IAAI,EAAEA,IAAI,CAAC+C,IAHb;MAIE,SAAS,EAAE,KAAKpE,cAJlB;MAKE,QAAQ,EAAE,CALZ;MAME,eAAY;IANd,gBAQE,6BAAC,gBAAD;MAAS,GAAG,EAAEwC,OAAd;MAAuB,GAAG,EAAEL;IAA5B,EARF,EASGlD,aAAa,gBACZ;MAAK,cAAYqD,WAAjB;MAA8B,QAAQ,EAAE,CAAxC;MAA2C,eAAY;IAAvD,gBACE;MACE,cAAa,GAAEA,WAAY,IAAGC,oCAAqC,EADrE;MAEE,IAAI,EAAC,SAFP;MAGE,SAAS,EAAE8B,cAAA,CAAMwE,oBAHnB;MAIE,QAAQ,EAAE;IAJZ,gBAME,6BAAC,kDAAD;MAAU,SAAS,EAAExE,cAAA,CAAMyE,QAA3B;MAAqC,KAAK,EAAE;QAAChF,KAAK,EAAEb;MAAR;IAA5C,EANF,eAOE;MACE,SAAS,EAAEoB,cAAA,CAAM/B,WADnB,CAEE;MAFF;MAGE,uBAAuB,EAAE;QAACyG,MAAM,EAAEzG;MAAT,CAH3B;MAIE,KAAK,EAAE;QAACwB,KAAK,EAAEb;MAAR;IAJT,EAPF,CADF,CADY,GAiBV,IA1BN,CA1BF,CALF,EA4DGF,cA5DH,eA6DE;MACE,SAAS,EAAEhE,UAAU,GAAGsF,cAAA,CAAM2E,WAAT,GAAuB3E,cAAA,CAAM4E,iBADpD;MAEE,aAAU;IAFZ,GAIGvG,SAJH,EAKGE,QAAQ,IAAID,SALf,EAMGE,YANH,CA7DF,CADF,CADF;EA0ED;;AAjsBsC;;AAAnCzE,U,CAgGG8K,Y,GAAe;EACpBlH,SAAS,EAAEmH,iBAAA,CAASC,iBAAT,CAA2BpH,SADlB;EAEpBC,IAAI,EAAEkH,iBAAA,CAASC,iBAAT,CAA2BnH;AAFb,C;AAhGlB7D,U,CACGiL,S,2CAAY;EACjBhI,IAAI,EAAEiI,kBAAA,CAAUC,KAAV,CAAgB;IACpBC,GAAG,EAAEF,kBAAA,CAAUG,MADK;IAEpBC,SAAS,EAAEJ,kBAAA,CAAUG,MAFD;IAGpBrF,IAAI,EAAEkF,kBAAA,CAAUG,MAHI;IAIpB,cAAcH,kBAAA,CAAUG,MAJJ;IAKpB,qBAAqBH,kBAAA,CAAUG,MALX;IAMpBnH,WAAW,EAAEgH,kBAAA,CAAUG,MANH;IAOpBlH,oCAAoC,EAAE+G,kBAAA,CAAUG;EAP5B,CAAhB,CADW;EAUjB9H,MAAM,EAAE2H,kBAAA,CAAUC,KAAV,CAAgBI,oBAAA,CAAON,SAAvB,CAVS;EAWjB,2BAA2BC,kBAAA,CAAUG,MAXpB;EAYjB3I,cAAc,EAAEwI,kBAAA,CAAUM,IAZT;EAajB7I,aAAa,EAAEuI,kBAAA,CAAUM,IAbR;EAcjBtI,KAAK,EAAEgI,kBAAA,CAAUC,KAAV,CAAgB;IACrB/F,SAAS,EAAE8F,kBAAA,CAAUO,OAAV,CACTP,kBAAA,CAAUC,KAAV,CAAgB;MACd1I,MAAM,EAAEyI,kBAAA,CAAUQ,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CADM;MAEd7F,KAAK,EAAEqF,kBAAA,CAAUG,MAFH;MAGdlF,IAAI,EAAE+E,kBAAA,CAAUG,MAHF;MAIdrF,IAAI,EAAEkF,kBAAA,CAAUG,MAJF;MAKd5F,QAAQ,EAAEyF,kBAAA,CAAUS,IALN;MAMd5F,OAAO,EAAEmF,kBAAA,CAAUU,MANL;MAOd,yBAAyBV,kBAAA,CAAUG;IAPrB,CAAhB,CADS,CADU;IAYrB7E,IAAI,EAAE0E,kBAAA,CAAUO,OAAV,CACJP,kBAAA,CAAUC,KAAV,CAAgB;MACd1I,MAAM,EAAEyI,kBAAA,CAAUQ,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CADM;MAEd7F,KAAK,EAAEqF,kBAAA,CAAUG,MAFH;MAGdlF,IAAI,EAAE+E,kBAAA,CAAUG,MAHF;MAIdrF,IAAI,EAAEkF,kBAAA,CAAUG,MAJF;MAKd5F,QAAQ,EAAEyF,kBAAA,CAAUS,IALN;MAMd5F,OAAO,EAAEmF,kBAAA,CAAUU;IANL,CAAhB,CADI;EAZe,CAAhB,CAdU;EAqCjBtI,KAAK,EAAE4H,kBAAA,CAAUO,OAAV,CAAkBP,kBAAA,CAAUC,KAAV,CAAgBU,YAAA,CAAIZ,SAApB,CAAlB,CArCU;EAsCjB5H,IAAI,EAAE6H,kBAAA,CAAUC,KAAV,CAAgB;IACpB7C,OAAO,EAAE4C,kBAAA,CAAUG,MADC;IAEpB,sBAAsBH,kBAAA,CAAUG,MAFZ;IAGpB9C,gBAAgB,EAAE2C,kBAAA,CAAUG,MAHR;IAIpBrF,IAAI,EAAEkF,kBAAA,CAAUG,MAJI;IAKpB9D,aAAa,EAAE2D,kBAAA,CAAUC,KAAV,CAAgB;MAC7BnF,IAAI,EAAEkF,kBAAA,CAAUG,MADa;MAE7BzE,KAAK,EAAEsE,kBAAA,CAAUU,MAFY;MAG7B,cAAcV,kBAAA,CAAUG;IAHK,CAAhB,CALK;IAUpBzD,KAAK,EAAEsD,kBAAA,CAAUC,KAAV,CAAgB;MACrBrD,KAAK,EAAEoD,kBAAA,CAAUC,KAAV,CAAgB;QACrBnF,IAAI,EAAEkF,kBAAA,CAAUG,MADK;QAErBrD,KAAK,EAAEkD,kBAAA,CAAUG,MAFI;QAGrB,cAAcH,kBAAA,CAAUG;MAHH,CAAhB,CADc;MAMrBpD,OAAO,EAAEiD,kBAAA,CAAUC,KAAV,CAAgB;QACvBnF,IAAI,EAAEkF,kBAAA,CAAUG,MADO;QAEvBrD,KAAK,EAAEkD,kBAAA,CAAUG,MAFM;QAGvB,cAAcH,kBAAA,CAAUG;MAHD,CAAhB,CANY;MAWrBnD,KAAK,EAAEgD,kBAAA,CAAUC,KAAV,CAAgB;QACrBnF,IAAI,EAAEkF,kBAAA,CAAUG,MADK;QAErBrD,KAAK,EAAEkD,kBAAA,CAAUG,MAFI;QAGrB,cAAcH,kBAAA,CAAUG;MAHH,CAAhB;IAXc,CAAhB;EAVa,CAAhB,CAtCW;EAkEjB,uBAAuBH,kBAAA,CAAUG,MAlEhB;EAmEjB,0BAA0BH,kBAAA,CAAUG,MAnEnB;EAoEjB,6BAA6BH,kBAAA,CAAUG,MApEtB;EAqEjBjI,QAAQ,EAAE8H,kBAAA,CAAUO,OAAV,CACRP,kBAAA,CAAUC,KAAV,CAAgB;IACdtF,KAAK,EAAEqF,kBAAA,CAAUG,MADH;IAEdlF,IAAI,EAAE+E,kBAAA,CAAUG,MAFF;IAGdzC,IAAI,EAAEsC,kBAAA,CAAUQ,KAAV,CAAgB,CAAC,QAAD,EAAW,QAAX,EAAqB,MAArB,CAAhB,CAHQ;IAIdhG,KAAK,EAAEwF,kBAAA,CAAUG,MAJH;IAKd,cAAcH,kBAAA,CAAUG,MALV;IAMd1C,OAAO,EAAEuC,kBAAA,CAAUC,KAAV,CAAgB;MACvBnF,IAAI,EAAEkF,kBAAA,CAAUG,MADO;MAEvBjC,QAAQ,EAAE8B,kBAAA,CAAUM,IAFG;MAGvB5E,KAAK,EAAEsE,kBAAA,CAAUS,IAHM;MAIvBlJ,MAAM,EAAEyI,kBAAA,CAAUQ,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CAJe;MAKvBxC,MAAM,EAAEgC,kBAAA,CAAUO,OAAV,CACNP,kBAAA,CAAUC,KAAV,CAAgB;QACdvE,KAAK,EAAEsE,kBAAA,CAAUG,MADH;QAEdlF,IAAI,EAAE+E,kBAAA,CAAUG,MAFF;QAGd5F,QAAQ,EAAEyF,kBAAA,CAAUS;MAHN,CAAhB,CADM;IALe,CAAhB;EANK,CAAhB,CADQ,CArEO;EA2FjB/I,UAAU,EAAEsI,kBAAA,CAAUM,IA3FL;EA4FjB3I,WAAW,EAAEqI,kBAAA,CAAUM;AA5FN,C;eAmsBNxL,U"}
1
+ {"version":3,"file":"index.js","names":["MoocHeader","React","Component","constructor","props","handleMouseEnter","setState","hovered","handleMouseLeave","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","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","activePageAriaLabel","groupAriaLbale","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","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","line","_hoverStyle","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","className","languageSelect","selectBoxes","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","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 'active-page-aria-label': PropTypes.string,\n 'group-settings-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 hovered: 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 handleMouseEnter = () => {\n this.setState({\n hovered: true\n });\n };\n\n handleMouseLeave = () => {\n this.setState({\n hovered: 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 'active-page-aria-label': activePageAriaLabel,\n 'group-settings-aria-label': groupAriaLbale\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 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 <span\n className={style.line}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n const {hovered} = this.state;\n const _hoverStyle = hovered\n ? {\n color: primaryColor\n }\n : null;\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div\n className={style.currentOption}\n aria-haspopup=\"true\"\n data-name=\"item-more\"\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n style={{\n ..._hoverStyle\n }}\n >\n {moreAriaLabel}\n <ArrowDown\n style={{color: mediumColor}}\n className={style.caret}\n aria-label={moreAriaLabel}\n />\n </div>\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\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} style={{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} style={{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} style={{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 selectProps.className = style.languageSelect;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\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 <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n <span id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\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 style={{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\n data-name=\"settings\"\n className={style.settingsGroup}\n role=\"group\"\n aria-label={groupAriaLbale}\n >\n {settingsElements}\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 style={{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 style={{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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "11.14.17",
3
+ "version": "11.14.18-alpha.1+9749034d88",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -168,5 +168,5 @@
168
168
  "last 2 versions",
169
169
  "IE 11"
170
170
  ],
171
- "gitHead": "784514408c13668abe8589c1e0fe534c87fcdaae"
171
+ "gitHead": "9749034d88a759ebf73d2c7695bcbf8f02043b2a"
172
172
  }