@coorpacademy/components 11.19.2-alpha.16 → 11.19.2-alpha.18

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/molecule/cm-popin/index.js"],"names":[],"mappings":";AAgCA,kDAqPC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/cm-popin/index.js"],"names":[],"mappings":";AAgCA,kDA6PC"}
@@ -56,7 +56,15 @@ const CMPopin = props => {
56
56
  if (mode === 'items') {
57
57
  const closePopin = e => {
58
58
  if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {
59
- onClose();
59
+ // eslint-disable-next-line no-console
60
+ console.log('e.target'); // eslint-disable-next-line no-console
61
+
62
+ console.log(e.target); // eslint-disable-next-line no-console
63
+
64
+ console.log('stopPropagation et preventDefault');
65
+ e.stopPropagation();
66
+ e.preventDefault();
67
+ onClose(e);
60
68
  }
61
69
  };
62
70
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useRef","useEffect","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","AlertDiamond","NovaSolidApplicationsWindowUpload3","WindowUpload","NovaLineSettingsCookie","Cookie","NovaSolidSpaceMoonRocket","MoonRocket","NovaCompositionCoorpacademyPadlock","LockIcon","NovaLineStatusCheckCircle1","CheckCircle1","NovaSolidFilesBasicFileLines","FileLinesIcon","map","isEmpty","classNames","Cta","ButtonLinkIconOnly","InputSwitch","Title","CardsGrid","ListItems","style","propTypes","IconType","lockedContent","lockIcon","fileZipped","filesListIconContainer","filesListIcon","CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","items","logo","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","nodeRef","closePopin","e","current","contains","target","document","addEventListener","removeEventListener","renderHeader","title","headerIcon","TopTitleIcon","headerContent","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","convert","cap","el","type","value","onChange","titlePosition","theme","details","requiredSelection","disabled","id","dataName","renderItems","list","itemsContainer","filesListContainer","wrapperPopinStyle","popinCookie","popinFilesList","popinItems","popin","background","popinHeader","cookieTitleContainer","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","customStyle"],"sources":["../../../src/molecule/cm-popin/index.js"],"sourcesContent":["// import React from 'react';\nimport React, {useRef, useEffect} from 'react';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload,\n NovaLineSettingsCookie as Cookie,\n NovaSolidSpaceMoonRocket as MoonRocket,\n NovaCompositionCoorpacademyPadlock as LockIcon,\n NovaLineStatusCheckCircle1 as CheckCircle1,\n NovaSolidFilesBasicFileLines as FileLinesIcon\n} from '@coorpacademy/nova-icons';\nimport map from 'lodash/fp/map';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport classNames from 'classnames';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport InputSwitch from '../../atom/input-switch';\nimport Title from '../../atom/title';\nimport CardsGrid from '../../organism/cards-grid';\nimport ListItems from '../../organism/list-items';\nimport style from './style.css';\nimport propTypes from './types';\n\nconst IconType = {\n lockedContent: <LockIcon className={style.lockIcon} />,\n fileZipped: (\n <div className={style.filesListIconContainer}>\n <FileLinesIcon className={style.filesListIcon} />\n </div>\n )\n};\n\nconst CMPopin = props => {\n const {\n content,\n mode = 'alert',\n firstButton,\n secondButton,\n onClose,\n header,\n icon,\n backgroundImageUrl,\n descriptionText,\n thirdButton,\n cookieTitle,\n descriptionBtnTxt,\n listBtnSwicth,\n items\n } = props;\n const logo = {\n AlertDiamond,\n WindowUpload,\n MoonRocket,\n CheckCircle1\n };\n const LogoComponent = logo[icon];\n\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`,\n backgroundSize: 'cover'\n }\n : null;\n const nodeRef = useRef(null);\n useEffect(() => {\n if (mode === 'items') {\n const closePopin = e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n onClose();\n }\n };\n document.addEventListener('click', closePopin);\n return () => {\n document.removeEventListener('click', closePopin);\n };\n }\n }, [mode, onClose]);\n const renderHeader = () => {\n if (header) {\n const {title, headerIcon, backgroundImage} = header;\n const TopTitleIcon = IconType[headerIcon];\n\n return (\n <>\n {title ? (\n <div className={style.headerContent}>\n {TopTitleIcon}\n <Title {...title} />\n </div>\n ) : null}\n {backgroundImage ? (\n <img className={style.headerBackground} src={backgroundImage} />\n ) : null}\n </>\n );\n }\n\n if (mode === 'cookie')\n return (\n <div className={style.cookieHeader}>\n <div className={style.cookieIconContainer}>\n <Cookie className={style.cookieIcon} />\n </div>\n <div className={style.cookieTitle}>{cookieTitle}</div>\n </div>\n );\n\n return null;\n };\n\n const getClassBtnSwitch = (index, btnList) => {\n switch (index) {\n case 0:\n return style.firstBtnSwitchContainer;\n case btnList.length - 1:\n return style.lastBtnSwitchContainer;\n default:\n return style.singleSwitchContainer;\n }\n };\n\n const renderBtnSwitch = () => {\n return map.convert({cap: false})((el, index) => {\n const {\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n } = el;\n return (\n <div key={index} className={getClassBtnSwitch(index, listBtnSwicth)}>\n <InputSwitch\n {...{\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n }}\n />\n </div>\n );\n })(listBtnSwicth);\n };\n\n const renderItems = () => {\n const {type, list} = items;\n if (isEmpty(list)) return null;\n\n if (type === 'content')\n return (\n <div className={style.itemsContainer} data-name={'cm-popin-cards'}>\n <CardsGrid {...list} />\n </div>\n );\n if (type === 'list')\n return (\n <div className={style.filesListContainer}>\n <ListItems {...list} />\n </div>\n );\n\n return null;\n };\n\n const wrapperPopinStyle = classNames(\n mode === 'cookie' && style.popinCookie,\n mode === 'list' && style.popinFilesList,\n mode === 'items' && style.popinItems,\n style.popin\n );\n return (\n <div\n className={mode !== 'cookie' ? style.background : null}\n style={backgroundImageStyle}\n data-name={'cm-popin-container'}\n >\n <div className={wrapperPopinStyle} ref={nodeRef}>\n <header className={style.popinHeader}>\n {renderHeader()}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n {mode !== 'items' && mode !== 'list' ? (\n <div\n className={\n mode === 'cookie' || mode === 'information'\n ? style.cookieTitleContainer\n : style.titleContainer\n }\n >\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={'cm-popin-content'}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n {descriptionText ? (\n <p\n className={style.descriptionText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: descriptionText}}\n />\n ) : null}\n </div>\n ) : null}\n {descriptionBtnTxt ? <div className={style.descriptionBtn}>{descriptionBtnTxt}</div> : null}\n {!isEmpty(items) ? renderItems() : null}\n {renderBtnSwitch()}\n {firstButton || secondButton || thirdButton ? (\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={firstButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={'cm-popin-cta'}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n customStyle={firstButton.customStyle}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={secondButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={secondButton['aria-label']}\n type={secondButton.type}\n customStyle={secondButton.customStyle}\n />\n </div>\n ) : null}\n {thirdButton ? (\n <div className={thirdButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={thirdButton.label}\n onClick={thirdButton.handleOnclick}\n data-name={`cm-popin-cta-${thirdButton.type}`}\n aria-label={thirdButton['aria-label']}\n type={thirdButton.type}\n customStyle={thirdButton.customStyle}\n />\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = propTypes;\n\nexport default CMPopin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useRef","useEffect","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","AlertDiamond","NovaSolidApplicationsWindowUpload3","WindowUpload","NovaLineSettingsCookie","Cookie","NovaSolidSpaceMoonRocket","MoonRocket","NovaCompositionCoorpacademyPadlock","LockIcon","NovaLineStatusCheckCircle1","CheckCircle1","NovaSolidFilesBasicFileLines","FileLinesIcon","map","isEmpty","classNames","Cta","ButtonLinkIconOnly","InputSwitch","Title","CardsGrid","ListItems","style","propTypes","IconType","lockedContent","lockIcon","fileZipped","filesListIconContainer","filesListIcon","CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","items","logo","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","nodeRef","closePopin","e","current","contains","target","console","log","stopPropagation","preventDefault","document","addEventListener","removeEventListener","renderHeader","title","headerIcon","TopTitleIcon","headerContent","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","convert","cap","el","type","value","onChange","titlePosition","theme","details","requiredSelection","disabled","id","dataName","renderItems","list","itemsContainer","filesListContainer","wrapperPopinStyle","popinCookie","popinFilesList","popinItems","popin","background","popinHeader","cookieTitleContainer","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","customStyle"],"sources":["../../../src/molecule/cm-popin/index.js"],"sourcesContent":["// import React from 'react';\nimport React, {useRef, useEffect} from 'react';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload,\n NovaLineSettingsCookie as Cookie,\n NovaSolidSpaceMoonRocket as MoonRocket,\n NovaCompositionCoorpacademyPadlock as LockIcon,\n NovaLineStatusCheckCircle1 as CheckCircle1,\n NovaSolidFilesBasicFileLines as FileLinesIcon\n} from '@coorpacademy/nova-icons';\nimport map from 'lodash/fp/map';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport classNames from 'classnames';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport InputSwitch from '../../atom/input-switch';\nimport Title from '../../atom/title';\nimport CardsGrid from '../../organism/cards-grid';\nimport ListItems from '../../organism/list-items';\nimport style from './style.css';\nimport propTypes from './types';\n\nconst IconType = {\n lockedContent: <LockIcon className={style.lockIcon} />,\n fileZipped: (\n <div className={style.filesListIconContainer}>\n <FileLinesIcon className={style.filesListIcon} />\n </div>\n )\n};\n\nconst CMPopin = props => {\n const {\n content,\n mode = 'alert',\n firstButton,\n secondButton,\n onClose,\n header,\n icon,\n backgroundImageUrl,\n descriptionText,\n thirdButton,\n cookieTitle,\n descriptionBtnTxt,\n listBtnSwicth,\n items\n } = props;\n const logo = {\n AlertDiamond,\n WindowUpload,\n MoonRocket,\n CheckCircle1\n };\n const LogoComponent = logo[icon];\n\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`,\n backgroundSize: 'cover'\n }\n : null;\n const nodeRef = useRef(null);\n useEffect(() => {\n if (mode === 'items') {\n const closePopin = e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n // eslint-disable-next-line no-console\n console.log('e.target');\n // eslint-disable-next-line no-console\n console.log(e.target);\n // eslint-disable-next-line no-console\n console.log('stopPropagation et preventDefault');\n e.stopPropagation();\n e.preventDefault();\n onClose(e);\n }\n };\n document.addEventListener('click', closePopin);\n return () => {\n document.removeEventListener('click', closePopin);\n };\n }\n }, [mode, onClose]);\n const renderHeader = () => {\n if (header) {\n const {title, headerIcon, backgroundImage} = header;\n const TopTitleIcon = IconType[headerIcon];\n\n return (\n <>\n {title ? (\n <div className={style.headerContent}>\n {TopTitleIcon}\n <Title {...title} />\n </div>\n ) : null}\n {backgroundImage ? (\n <img className={style.headerBackground} src={backgroundImage} />\n ) : null}\n </>\n );\n }\n\n if (mode === 'cookie')\n return (\n <div className={style.cookieHeader}>\n <div className={style.cookieIconContainer}>\n <Cookie className={style.cookieIcon} />\n </div>\n <div className={style.cookieTitle}>{cookieTitle}</div>\n </div>\n );\n\n return null;\n };\n\n const getClassBtnSwitch = (index, btnList) => {\n switch (index) {\n case 0:\n return style.firstBtnSwitchContainer;\n case btnList.length - 1:\n return style.lastBtnSwitchContainer;\n default:\n return style.singleSwitchContainer;\n }\n };\n\n const renderBtnSwitch = () => {\n return map.convert({cap: false})((el, index) => {\n const {\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n } = el;\n return (\n <div key={index} className={getClassBtnSwitch(index, listBtnSwicth)}>\n <InputSwitch\n {...{\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n }}\n />\n </div>\n );\n })(listBtnSwicth);\n };\n\n const renderItems = () => {\n const {type, list} = items;\n if (isEmpty(list)) return null;\n\n if (type === 'content')\n return (\n <div className={style.itemsContainer} data-name={'cm-popin-cards'}>\n <CardsGrid {...list} />\n </div>\n );\n if (type === 'list')\n return (\n <div className={style.filesListContainer}>\n <ListItems {...list} />\n </div>\n );\n\n return null;\n };\n\n const wrapperPopinStyle = classNames(\n mode === 'cookie' && style.popinCookie,\n mode === 'list' && style.popinFilesList,\n mode === 'items' && style.popinItems,\n style.popin\n );\n return (\n <div\n className={mode !== 'cookie' ? style.background : null}\n style={backgroundImageStyle}\n data-name={'cm-popin-container'}\n >\n <div className={wrapperPopinStyle} ref={nodeRef}>\n <header className={style.popinHeader}>\n {renderHeader()}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n {mode !== 'items' && mode !== 'list' ? (\n <div\n className={\n mode === 'cookie' || mode === 'information'\n ? style.cookieTitleContainer\n : style.titleContainer\n }\n >\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={'cm-popin-content'}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n {descriptionText ? (\n <p\n className={style.descriptionText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: descriptionText}}\n />\n ) : null}\n </div>\n ) : null}\n {descriptionBtnTxt ? <div className={style.descriptionBtn}>{descriptionBtnTxt}</div> : null}\n {!isEmpty(items) ? renderItems() : null}\n {renderBtnSwitch()}\n {firstButton || secondButton || thirdButton ? (\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={firstButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={'cm-popin-cta'}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n customStyle={firstButton.customStyle}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={secondButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={secondButton['aria-label']}\n type={secondButton.type}\n customStyle={secondButton.customStyle}\n />\n </div>\n ) : null}\n {thirdButton ? (\n <div className={thirdButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={thirdButton.label}\n onClick={thirdButton.handleOnclick}\n data-name={`cm-popin-cta-${thirdButton.type}`}\n aria-label={thirdButton['aria-label']}\n type={thirdButton.type}\n customStyle={thirdButton.customStyle}\n />\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = propTypes;\n\nexport default CMPopin;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/select-multiple/index.js"],"names":[],"mappings":"AAsBO,oEAcN;;AAwBD;;;;;;;;;;;;;;;gBAoLC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/select-multiple/index.js"],"names":[],"mappings":"AAsBO,oEAcN;;AAwBD;;;;;;;;;;;;;;;gBAsLC"}
@@ -97,6 +97,8 @@ const SelectMultiple = ({
97
97
  }, [disabled]);
98
98
  const closeHandle = useCallback(e => {
99
99
  if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {
100
+ // eslint-disable-next-line no-console
101
+ console.log('closeHandle');
100
102
  updateIsOpened(false);
101
103
  }
102
104
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useEffect","useRef","useCallback","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaSolidStatusClose","ErrorIcon","NovaCompositionCoorpacademyInformationIcon","InfoIcon","TitledCheckbox","Provider","Checkbox","getClassState","style","themeStyle","setup","cockpit","sidebar","coorpmanager","useChoices","options","choicesRef","current","getChoices","setChoices","choice","choices","i","selected","filter","c","CMMultipleView","multiple","onChange","handleChange","item","name","SelectMultiple","title","theme","placeholder","description","hint","onError","modified","error","disabled","skin","isOpened","updateIsOpened","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","contains","target","document","addEventListener","removeEventListener","isCMTheme","handleOnClickOnListElement","lines","convert","cap","selection","isActive","titleView","titleWithSelection","noValue","active","infoIconWrapper","infoIcon","descriptionLabel","hintView","hideHint","__html","mainClass","default","showPlaceholder","behaviourClassName","errorIconView","errorIcon","select","noselection","iconsWrapper","flex","clicked","color","arrow","down","activeChoices","list","contextTypes","childContextTypes","propTypes","bool","func","string","arrayOf","oneOf"],"sources":["../../../src/molecule/select-multiple/index.js"],"sourcesContent":["import React, {useState, useEffect, useRef, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set, keys, isEmpty} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaSolidStatusClose as ErrorIcon,\n NovaCompositionCoorpacademyInformationIcon as InfoIcon\n} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport Checkbox from '../../atom/input-checkbox';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n cockpit: style.cockpit,\n sidebar: style.sidebar,\n coorpmanager: style.coorpmanager\n};\n\nexport const useChoices = options => {\n const choicesRef = {current: options};\n\n const getChoices = () => {\n return choicesRef.current;\n };\n\n const setChoices = choice => {\n const choices = set(`[${choice.i}].selected`, !choice.selected, getChoices());\n\n choicesRef.current = choices.filter(c => c.selected);\n };\n\n return [getChoices, setChoices];\n};\n\nconst CMMultipleView = ({multiple, choice, onChange}) => {\n const handleChange = useCallback(() => {\n return onChange(choice);\n }, [onChange, choice]);\n\n return multiple ? (\n <div className={style.item}>\n <Checkbox\n titleStyle=\"inherit\"\n checked={choice.selected}\n onChange={handleChange}\n noLabelMargins\n title={choice.name}\n />\n </div>\n ) : (\n <span className={style.item} title={choice.name} data-name={`${choice.name}-language`}>\n {choice.name}\n </span>\n );\n};\n\nconst SelectMultiple = (\n {\n title,\n options,\n theme,\n placeholder,\n description,\n hint,\n multiple,\n onChange,\n onError,\n modified = false,\n error = '',\n disabled = false\n },\n {skin}\n) => {\n const [isOpened, updateIsOpened] = useState(false);\n const [getChoices, setChoices] = useChoices(options);\n const nodeRef = useRef(null);\n\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n\n const handleOnClick = useCallback(\n e => {\n if (disabled) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n updateIsOpened(prev => !prev);\n },\n [disabled]\n );\n\n const closeHandle = useCallback(e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n updateIsOpened(false);\n }\n }, []);\n\n const handleChange = useCallback(\n choice => {\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n setChoices(choice);\n return onChange(getChoices());\n }\n updateIsOpened(false);\n return onChange(choice);\n },\n [multiple, onChange, setChoices, getChoices]\n );\n\n useEffect(() => {\n document.addEventListener('click', closeHandle);\n document.addEventListener('touchstart', closeHandle);\n\n return () => {\n document.removeEventListener('click', closeHandle);\n document.removeEventListener('touchstart', closeHandle);\n };\n }, [closeHandle]);\n\n const isCMTheme = theme === 'coorpmanager';\n\n const handleOnClickOnListElement = choice => () => handleChange(choice);\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li\n key={i}\n className={style.choice}\n onClick={isCMTheme && !multiple ? handleOnClickOnListElement({...choice, i}) : null}\n >\n {isCMTheme ? (\n <CMMultipleView multiple={multiple} choice={{...choice, i}} onChange={handleChange} />\n ) : (\n <TitledCheckbox\n onToggle={handleChange}\n choice={{...choice, i}}\n background={defaultColor}\n />\n )}\n </li>\n );\n }, options);\n\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const isActive = isOpened === true;\n\n const titleView = title ? (\n <span\n className={classnames(\n style.title,\n isCMTheme && selection && style.titleWithSelection,\n isCMTheme && isEmpty(selection) && style.noValue,\n isActive && style.active\n )}\n >\n {title}\n {description && isCMTheme ? (\n <div className={style.infoIconWrapper}>\n <InfoIcon className={style.infoIcon} />\n <div className={style.descriptionLabel}>{description}</div>\n </div>\n ) : null}\n </span>\n ) : null;\n\n const hintView = isCMTheme ? (\n <div\n className={classnames(style.hint, isActive && style.hideHint)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: error || hint}}\n />\n ) : null;\n\n const mainClass = theme ? themeStyle[theme] : style.default;\n const showPlaceholder = isCMTheme && isActive;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n const errorIconView = error ? <ErrorIcon onClick={onError} className={style.errorIcon} /> : null;\n\n return (\n <div\n className={classnames(mainClass, behaviourClassName, disabled && style.disabled)}\n ref={nodeRef}\n >\n <label>\n {!isCMTheme && titleView}\n <div\n className={style.select}\n title={selection || placeholder}\n data-name={`select-languages`}\n onClick={handleOnClick}\n >\n {isCMTheme && titleView}\n <span\n className={classnames(\n style.selection,\n isCMTheme && isEmpty(selection) && style.noselection\n )}\n >\n {selection || !isCMTheme || (showPlaceholder && placeholder) || null}\n </span>\n {isCMTheme ? (\n <div className={style.iconsWrapper}>\n <div className={style.flex}>{errorIconView}</div>\n <div className={classnames(style.flex, isActive && style.clicked)}>\n <ArrowDown\n style={{color: black}}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n </div>\n </div>\n ) : (\n <ArrowDown\n style={{color: black}}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n )}\n </div>\n <div className={classnames(style.choices, isActive && style.activeChoices)}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n {!isCMTheme ? <div className={style.description}>{description}</div> : null}\n {hintView}\n </div>\n );\n};\n\nSelectMultiple.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCMMultipleView.propTypes = {\n multiple: PropTypes.bool,\n choice: TitledCheckbox.propTypes.choice,\n onChange: PropTypes.func\n};\n\nSelectMultiple.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n hint: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n multiple: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.string,\n theme: PropTypes.oneOf(keys(themeStyle))\n};\n\nexport default SelectMultiple;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useState","useEffect","useRef","useCallback","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaSolidStatusClose","ErrorIcon","NovaCompositionCoorpacademyInformationIcon","InfoIcon","TitledCheckbox","Provider","Checkbox","getClassState","style","themeStyle","setup","cockpit","sidebar","coorpmanager","useChoices","options","choicesRef","current","getChoices","setChoices","choice","choices","i","selected","filter","c","CMMultipleView","multiple","onChange","handleChange","item","name","SelectMultiple","title","theme","placeholder","description","hint","onError","modified","error","disabled","skin","isOpened","updateIsOpened","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","contains","target","console","log","document","addEventListener","removeEventListener","isCMTheme","handleOnClickOnListElement","lines","convert","cap","selection","isActive","titleView","titleWithSelection","noValue","active","infoIconWrapper","infoIcon","descriptionLabel","hintView","hideHint","__html","mainClass","default","showPlaceholder","behaviourClassName","errorIconView","errorIcon","select","noselection","iconsWrapper","flex","clicked","color","arrow","down","activeChoices","list","contextTypes","childContextTypes","propTypes","bool","func","string","arrayOf","oneOf"],"sources":["../../../src/molecule/select-multiple/index.js"],"sourcesContent":["import React, {useState, useEffect, useRef, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set, keys, isEmpty} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaSolidStatusClose as ErrorIcon,\n NovaCompositionCoorpacademyInformationIcon as InfoIcon\n} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport Checkbox from '../../atom/input-checkbox';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n cockpit: style.cockpit,\n sidebar: style.sidebar,\n coorpmanager: style.coorpmanager\n};\n\nexport const useChoices = options => {\n const choicesRef = {current: options};\n\n const getChoices = () => {\n return choicesRef.current;\n };\n\n const setChoices = choice => {\n const choices = set(`[${choice.i}].selected`, !choice.selected, getChoices());\n\n choicesRef.current = choices.filter(c => c.selected);\n };\n\n return [getChoices, setChoices];\n};\n\nconst CMMultipleView = ({multiple, choice, onChange}) => {\n const handleChange = useCallback(() => {\n return onChange(choice);\n }, [onChange, choice]);\n\n return multiple ? (\n <div className={style.item}>\n <Checkbox\n titleStyle=\"inherit\"\n checked={choice.selected}\n onChange={handleChange}\n noLabelMargins\n title={choice.name}\n />\n </div>\n ) : (\n <span className={style.item} title={choice.name} data-name={`${choice.name}-language`}>\n {choice.name}\n </span>\n );\n};\n\nconst SelectMultiple = (\n {\n title,\n options,\n theme,\n placeholder,\n description,\n hint,\n multiple,\n onChange,\n onError,\n modified = false,\n error = '',\n disabled = false\n },\n {skin}\n) => {\n const [isOpened, updateIsOpened] = useState(false);\n const [getChoices, setChoices] = useChoices(options);\n const nodeRef = useRef(null);\n\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n\n const handleOnClick = useCallback(\n e => {\n if (disabled) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n updateIsOpened(prev => !prev);\n },\n [disabled]\n );\n\n const closeHandle = useCallback(e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n // eslint-disable-next-line no-console\n console.log('closeHandle');\n updateIsOpened(false);\n }\n }, []);\n\n const handleChange = useCallback(\n choice => {\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n setChoices(choice);\n return onChange(getChoices());\n }\n updateIsOpened(false);\n return onChange(choice);\n },\n [multiple, onChange, setChoices, getChoices]\n );\n\n useEffect(() => {\n document.addEventListener('click', closeHandle);\n document.addEventListener('touchstart', closeHandle);\n\n return () => {\n document.removeEventListener('click', closeHandle);\n document.removeEventListener('touchstart', closeHandle);\n };\n }, [closeHandle]);\n\n const isCMTheme = theme === 'coorpmanager';\n\n const handleOnClickOnListElement = choice => () => handleChange(choice);\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li\n key={i}\n className={style.choice}\n onClick={isCMTheme && !multiple ? handleOnClickOnListElement({...choice, i}) : null}\n >\n {isCMTheme ? (\n <CMMultipleView multiple={multiple} choice={{...choice, i}} onChange={handleChange} />\n ) : (\n <TitledCheckbox\n onToggle={handleChange}\n choice={{...choice, i}}\n background={defaultColor}\n />\n )}\n </li>\n );\n }, options);\n\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const isActive = isOpened === true;\n\n const titleView = title ? (\n <span\n className={classnames(\n style.title,\n isCMTheme && selection && style.titleWithSelection,\n isCMTheme && isEmpty(selection) && style.noValue,\n isActive && style.active\n )}\n >\n {title}\n {description && isCMTheme ? (\n <div className={style.infoIconWrapper}>\n <InfoIcon className={style.infoIcon} />\n <div className={style.descriptionLabel}>{description}</div>\n </div>\n ) : null}\n </span>\n ) : null;\n\n const hintView = isCMTheme ? (\n <div\n className={classnames(style.hint, isActive && style.hideHint)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: error || hint}}\n />\n ) : null;\n\n const mainClass = theme ? themeStyle[theme] : style.default;\n const showPlaceholder = isCMTheme && isActive;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n const errorIconView = error ? <ErrorIcon onClick={onError} className={style.errorIcon} /> : null;\n\n return (\n <div\n className={classnames(mainClass, behaviourClassName, disabled && style.disabled)}\n ref={nodeRef}\n >\n <label>\n {!isCMTheme && titleView}\n <div\n className={style.select}\n title={selection || placeholder}\n data-name={`select-languages`}\n onClick={handleOnClick}\n >\n {isCMTheme && titleView}\n <span\n className={classnames(\n style.selection,\n isCMTheme && isEmpty(selection) && style.noselection\n )}\n >\n {selection || !isCMTheme || (showPlaceholder && placeholder) || null}\n </span>\n {isCMTheme ? (\n <div className={style.iconsWrapper}>\n <div className={style.flex}>{errorIconView}</div>\n <div className={classnames(style.flex, isActive && style.clicked)}>\n <ArrowDown\n style={{color: black}}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n </div>\n </div>\n ) : (\n <ArrowDown\n style={{color: black}}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n )}\n </div>\n <div className={classnames(style.choices, isActive && style.activeChoices)}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n {!isCMTheme ? <div className={style.description}>{description}</div> : null}\n {hintView}\n </div>\n );\n};\n\nSelectMultiple.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCMMultipleView.propTypes = {\n multiple: PropTypes.bool,\n choice: TitledCheckbox.propTypes.choice,\n onChange: PropTypes.func\n};\n\nSelectMultiple.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n hint: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n multiple: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.string,\n theme: PropTypes.oneOf(keys(themeStyle))\n};\n\nexport default SelectMultiple;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAyBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAwBC;IAtBC;;;;;;MAMC;IAgDH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA7GD,2EASC;IAGC,kBAAsB;IAmGxB,6BAIE;IAEF,6BAIE;IAEF,6BAwcC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAyBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAwBC;IAtBC;;;;;;MAMC;IAkDH,6BAIC;IAED,yBAGC;IA1BD,qCAUC;IAED,wBAGC;IAnBD,+BAEC;IA8BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA/GD,2EASC;IAGC,kBAAsB;IAqGxB,6BAIE;IAEF,6BAIE;IAEF,6BAwcC;CACF"}
@@ -84,6 +84,8 @@ class MoocHeader extends React.Component {
84
84
  const menu = this.menuSettings;
85
85
 
86
86
  if (menu && !menu.contains(clickEvent.target)) {
87
+ // eslint-disable-next-line no-console
88
+ console.log('close header settings');
87
89
  this.handleSettingsToggle();
88
90
  }
89
91
  }
@@ -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 id=\"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,EAAE,EAAC,MAHL;MAIE,IAAI,EAAEA,IAAI,CAAC+C,IAJb;MAKE,SAAS,EAAE,KAAKpE,cALlB;MAME,QAAQ,EAAE,CANZ;MAOE,eAAY;IAPd,gBASE,oBAAC,OAAD;MAAS,GAAG,EAAEwC,OAAd;MAAuB,GAAG,EAAEL;IAA5B,EATF,EAUGlD,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,IA3BN,CA1BF,CALF,EA6DGF,cA7DH,eA8DE;MACE,SAAS,EAAEhE,UAAU,GAAGX,KAAK,CAAC0K,WAAT,GAAuB1K,KAAK,CAAC2K,iBADpD;MAEE,aAAU;IAFZ,GAIGrG,SAJH,EAKGE,QAAQ,IAAID,SALf,EAMGE,YANH,CA9DF,CADF,CADF;EA2ED;;AAlsBsC;;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;AAosBrB,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","console","log","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 // eslint-disable-next-line no-console\n console.log('close header settings');\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 id=\"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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/cm-popin/index.js"],"names":[],"mappings":";AAgCA,kDAqPC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/cm-popin/index.js"],"names":[],"mappings":";AAgCA,kDA6PC"}
@@ -80,7 +80,15 @@ const CMPopin = props => {
80
80
  if (mode === 'items') {
81
81
  const closePopin = e => {
82
82
  if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {
83
- onClose();
83
+ // eslint-disable-next-line no-console
84
+ console.log('e.target'); // eslint-disable-next-line no-console
85
+
86
+ console.log(e.target); // eslint-disable-next-line no-console
87
+
88
+ console.log('stopPropagation et preventDefault');
89
+ e.stopPropagation();
90
+ e.preventDefault();
91
+ onClose(e);
84
92
  }
85
93
  };
86
94
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["IconType","lockedContent","style","lockIcon","fileZipped","filesListIconContainer","filesListIcon","CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","items","logo","AlertDiamond","WindowUpload","MoonRocket","CheckCircle1","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","nodeRef","useRef","useEffect","closePopin","e","current","contains","target","document","addEventListener","removeEventListener","renderHeader","title","headerIcon","TopTitleIcon","headerContent","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","map","convert","cap","el","type","value","onChange","titlePosition","theme","details","requiredSelection","disabled","id","dataName","renderItems","list","isEmpty","itemsContainer","filesListContainer","wrapperPopinStyle","classNames","popinCookie","popinFilesList","popinItems","popin","background","popinHeader","cookieTitleContainer","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","customStyle","propTypes"],"sources":["../../../src/molecule/cm-popin/index.js"],"sourcesContent":["// import React from 'react';\nimport React, {useRef, useEffect} from 'react';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload,\n NovaLineSettingsCookie as Cookie,\n NovaSolidSpaceMoonRocket as MoonRocket,\n NovaCompositionCoorpacademyPadlock as LockIcon,\n NovaLineStatusCheckCircle1 as CheckCircle1,\n NovaSolidFilesBasicFileLines as FileLinesIcon\n} from '@coorpacademy/nova-icons';\nimport map from 'lodash/fp/map';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport classNames from 'classnames';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport InputSwitch from '../../atom/input-switch';\nimport Title from '../../atom/title';\nimport CardsGrid from '../../organism/cards-grid';\nimport ListItems from '../../organism/list-items';\nimport style from './style.css';\nimport propTypes from './types';\n\nconst IconType = {\n lockedContent: <LockIcon className={style.lockIcon} />,\n fileZipped: (\n <div className={style.filesListIconContainer}>\n <FileLinesIcon className={style.filesListIcon} />\n </div>\n )\n};\n\nconst CMPopin = props => {\n const {\n content,\n mode = 'alert',\n firstButton,\n secondButton,\n onClose,\n header,\n icon,\n backgroundImageUrl,\n descriptionText,\n thirdButton,\n cookieTitle,\n descriptionBtnTxt,\n listBtnSwicth,\n items\n } = props;\n const logo = {\n AlertDiamond,\n WindowUpload,\n MoonRocket,\n CheckCircle1\n };\n const LogoComponent = logo[icon];\n\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`,\n backgroundSize: 'cover'\n }\n : null;\n const nodeRef = useRef(null);\n useEffect(() => {\n if (mode === 'items') {\n const closePopin = e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n onClose();\n }\n };\n document.addEventListener('click', closePopin);\n return () => {\n document.removeEventListener('click', closePopin);\n };\n }\n }, [mode, onClose]);\n const renderHeader = () => {\n if (header) {\n const {title, headerIcon, backgroundImage} = header;\n const TopTitleIcon = IconType[headerIcon];\n\n return (\n <>\n {title ? (\n <div className={style.headerContent}>\n {TopTitleIcon}\n <Title {...title} />\n </div>\n ) : null}\n {backgroundImage ? (\n <img className={style.headerBackground} src={backgroundImage} />\n ) : null}\n </>\n );\n }\n\n if (mode === 'cookie')\n return (\n <div className={style.cookieHeader}>\n <div className={style.cookieIconContainer}>\n <Cookie className={style.cookieIcon} />\n </div>\n <div className={style.cookieTitle}>{cookieTitle}</div>\n </div>\n );\n\n return null;\n };\n\n const getClassBtnSwitch = (index, btnList) => {\n switch (index) {\n case 0:\n return style.firstBtnSwitchContainer;\n case btnList.length - 1:\n return style.lastBtnSwitchContainer;\n default:\n return style.singleSwitchContainer;\n }\n };\n\n const renderBtnSwitch = () => {\n return map.convert({cap: false})((el, index) => {\n const {\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n } = el;\n return (\n <div key={index} className={getClassBtnSwitch(index, listBtnSwicth)}>\n <InputSwitch\n {...{\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n }}\n />\n </div>\n );\n })(listBtnSwicth);\n };\n\n const renderItems = () => {\n const {type, list} = items;\n if (isEmpty(list)) return null;\n\n if (type === 'content')\n return (\n <div className={style.itemsContainer} data-name={'cm-popin-cards'}>\n <CardsGrid {...list} />\n </div>\n );\n if (type === 'list')\n return (\n <div className={style.filesListContainer}>\n <ListItems {...list} />\n </div>\n );\n\n return null;\n };\n\n const wrapperPopinStyle = classNames(\n mode === 'cookie' && style.popinCookie,\n mode === 'list' && style.popinFilesList,\n mode === 'items' && style.popinItems,\n style.popin\n );\n return (\n <div\n className={mode !== 'cookie' ? style.background : null}\n style={backgroundImageStyle}\n data-name={'cm-popin-container'}\n >\n <div className={wrapperPopinStyle} ref={nodeRef}>\n <header className={style.popinHeader}>\n {renderHeader()}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n {mode !== 'items' && mode !== 'list' ? (\n <div\n className={\n mode === 'cookie' || mode === 'information'\n ? style.cookieTitleContainer\n : style.titleContainer\n }\n >\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={'cm-popin-content'}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n {descriptionText ? (\n <p\n className={style.descriptionText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: descriptionText}}\n />\n ) : null}\n </div>\n ) : null}\n {descriptionBtnTxt ? <div className={style.descriptionBtn}>{descriptionBtnTxt}</div> : null}\n {!isEmpty(items) ? renderItems() : null}\n {renderBtnSwitch()}\n {firstButton || secondButton || thirdButton ? (\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={firstButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={'cm-popin-cta'}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n customStyle={firstButton.customStyle}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={secondButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={secondButton['aria-label']}\n type={secondButton.type}\n customStyle={secondButton.customStyle}\n />\n </div>\n ) : null}\n {thirdButton ? (\n <div className={thirdButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={thirdButton.label}\n onClick={thirdButton.handleOnclick}\n data-name={`cm-popin-cta-${thirdButton.type}`}\n aria-label={thirdButton['aria-label']}\n type={thirdButton.type}\n customStyle={thirdButton.customStyle}\n />\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = propTypes;\n\nexport default CMPopin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["IconType","lockedContent","style","lockIcon","fileZipped","filesListIconContainer","filesListIcon","CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","items","logo","AlertDiamond","WindowUpload","MoonRocket","CheckCircle1","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","nodeRef","useRef","useEffect","closePopin","e","current","contains","target","console","log","stopPropagation","preventDefault","document","addEventListener","removeEventListener","renderHeader","title","headerIcon","TopTitleIcon","headerContent","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","map","convert","cap","el","type","value","onChange","titlePosition","theme","details","requiredSelection","disabled","id","dataName","renderItems","list","isEmpty","itemsContainer","filesListContainer","wrapperPopinStyle","classNames","popinCookie","popinFilesList","popinItems","popin","background","popinHeader","cookieTitleContainer","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","customStyle","propTypes"],"sources":["../../../src/molecule/cm-popin/index.js"],"sourcesContent":["// import React from 'react';\nimport React, {useRef, useEffect} from 'react';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload,\n NovaLineSettingsCookie as Cookie,\n NovaSolidSpaceMoonRocket as MoonRocket,\n NovaCompositionCoorpacademyPadlock as LockIcon,\n NovaLineStatusCheckCircle1 as CheckCircle1,\n NovaSolidFilesBasicFileLines as FileLinesIcon\n} from '@coorpacademy/nova-icons';\nimport map from 'lodash/fp/map';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport classNames from 'classnames';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport InputSwitch from '../../atom/input-switch';\nimport Title from '../../atom/title';\nimport CardsGrid from '../../organism/cards-grid';\nimport ListItems from '../../organism/list-items';\nimport style from './style.css';\nimport propTypes from './types';\n\nconst IconType = {\n lockedContent: <LockIcon className={style.lockIcon} />,\n fileZipped: (\n <div className={style.filesListIconContainer}>\n <FileLinesIcon className={style.filesListIcon} />\n </div>\n )\n};\n\nconst CMPopin = props => {\n const {\n content,\n mode = 'alert',\n firstButton,\n secondButton,\n onClose,\n header,\n icon,\n backgroundImageUrl,\n descriptionText,\n thirdButton,\n cookieTitle,\n descriptionBtnTxt,\n listBtnSwicth,\n items\n } = props;\n const logo = {\n AlertDiamond,\n WindowUpload,\n MoonRocket,\n CheckCircle1\n };\n const LogoComponent = logo[icon];\n\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`,\n backgroundSize: 'cover'\n }\n : null;\n const nodeRef = useRef(null);\n useEffect(() => {\n if (mode === 'items') {\n const closePopin = e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n // eslint-disable-next-line no-console\n console.log('e.target');\n // eslint-disable-next-line no-console\n console.log(e.target);\n // eslint-disable-next-line no-console\n console.log('stopPropagation et preventDefault');\n e.stopPropagation();\n e.preventDefault();\n onClose(e);\n }\n };\n document.addEventListener('click', closePopin);\n return () => {\n document.removeEventListener('click', closePopin);\n };\n }\n }, [mode, onClose]);\n const renderHeader = () => {\n if (header) {\n const {title, headerIcon, backgroundImage} = header;\n const TopTitleIcon = IconType[headerIcon];\n\n return (\n <>\n {title ? (\n <div className={style.headerContent}>\n {TopTitleIcon}\n <Title {...title} />\n </div>\n ) : null}\n {backgroundImage ? (\n <img className={style.headerBackground} src={backgroundImage} />\n ) : null}\n </>\n );\n }\n\n if (mode === 'cookie')\n return (\n <div className={style.cookieHeader}>\n <div className={style.cookieIconContainer}>\n <Cookie className={style.cookieIcon} />\n </div>\n <div className={style.cookieTitle}>{cookieTitle}</div>\n </div>\n );\n\n return null;\n };\n\n const getClassBtnSwitch = (index, btnList) => {\n switch (index) {\n case 0:\n return style.firstBtnSwitchContainer;\n case btnList.length - 1:\n return style.lastBtnSwitchContainer;\n default:\n return style.singleSwitchContainer;\n }\n };\n\n const renderBtnSwitch = () => {\n return map.convert({cap: false})((el, index) => {\n const {\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n } = el;\n return (\n <div key={index} className={getClassBtnSwitch(index, listBtnSwicth)}>\n <InputSwitch\n {...{\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n }}\n />\n </div>\n );\n })(listBtnSwicth);\n };\n\n const renderItems = () => {\n const {type, list} = items;\n if (isEmpty(list)) return null;\n\n if (type === 'content')\n return (\n <div className={style.itemsContainer} data-name={'cm-popin-cards'}>\n <CardsGrid {...list} />\n </div>\n );\n if (type === 'list')\n return (\n <div className={style.filesListContainer}>\n <ListItems {...list} />\n </div>\n );\n\n return null;\n };\n\n const wrapperPopinStyle = classNames(\n mode === 'cookie' && style.popinCookie,\n mode === 'list' && style.popinFilesList,\n mode === 'items' && style.popinItems,\n style.popin\n );\n return (\n <div\n className={mode !== 'cookie' ? style.background : null}\n style={backgroundImageStyle}\n data-name={'cm-popin-container'}\n >\n <div className={wrapperPopinStyle} ref={nodeRef}>\n <header className={style.popinHeader}>\n {renderHeader()}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n {mode !== 'items' && mode !== 'list' ? (\n <div\n className={\n mode === 'cookie' || mode === 'information'\n ? style.cookieTitleContainer\n : style.titleContainer\n }\n >\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={'cm-popin-content'}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n {descriptionText ? (\n <p\n className={style.descriptionText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: descriptionText}}\n />\n ) : null}\n </div>\n ) : null}\n {descriptionBtnTxt ? <div className={style.descriptionBtn}>{descriptionBtnTxt}</div> : null}\n {!isEmpty(items) ? renderItems() : null}\n {renderBtnSwitch()}\n {firstButton || secondButton || thirdButton ? (\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={firstButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={'cm-popin-cta'}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n customStyle={firstButton.customStyle}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={secondButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={secondButton['aria-label']}\n type={secondButton.type}\n customStyle={secondButton.customStyle}\n />\n </div>\n ) : null}\n {thirdButton ? (\n <div className={thirdButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={thirdButton.label}\n onClick={thirdButton.handleOnclick}\n data-name={`cm-popin-cta-${thirdButton.type}`}\n aria-label={thirdButton['aria-label']}\n type={thirdButton.type}\n customStyle={thirdButton.customStyle}\n />\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = propTypes;\n\nexport default CMPopin;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/select-multiple/index.js"],"names":[],"mappings":"AAsBO,oEAcN;;AAwBD;;;;;;;;;;;;;;;gBAoLC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/select-multiple/index.js"],"names":[],"mappings":"AAsBO,oEAcN;;AAwBD;;;;;;;;;;;;;;;gBAsLC"}
@@ -123,6 +123,8 @@ const SelectMultiple = ({
123
123
  }, [disabled]);
124
124
  const closeHandle = (0, _react.useCallback)(e => {
125
125
  if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {
126
+ // eslint-disable-next-line no-console
127
+ console.log('closeHandle');
126
128
  updateIsOpened(false);
127
129
  }
128
130
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["themeStyle","setup","style","cockpit","sidebar","coorpmanager","useChoices","options","choicesRef","current","getChoices","setChoices","choice","choices","i","selected","filter","c","CMMultipleView","multiple","onChange","handleChange","useCallback","item","name","SelectMultiple","title","theme","placeholder","description","hint","onError","modified","error","disabled","skin","isOpened","updateIsOpened","useState","nodeRef","useRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","contains","target","useEffect","document","addEventListener","removeEventListener","isCMTheme","handleOnClickOnListElement","lines","convert","cap","selection","isActive","titleView","classnames","titleWithSelection","noValue","active","infoIconWrapper","infoIcon","descriptionLabel","hintView","hideHint","__html","mainClass","default","showPlaceholder","behaviourClassName","getClassState","errorIconView","errorIcon","select","noselection","iconsWrapper","flex","clicked","color","arrow","down","activeChoices","list","contextTypes","Provider","childContextTypes","propTypes","PropTypes","bool","TitledCheckbox","func","string","arrayOf","oneOf"],"sources":["../../../src/molecule/select-multiple/index.js"],"sourcesContent":["import React, {useState, useEffect, useRef, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set, keys, isEmpty} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaSolidStatusClose as ErrorIcon,\n NovaCompositionCoorpacademyInformationIcon as InfoIcon\n} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport Checkbox from '../../atom/input-checkbox';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n cockpit: style.cockpit,\n sidebar: style.sidebar,\n coorpmanager: style.coorpmanager\n};\n\nexport const useChoices = options => {\n const choicesRef = {current: options};\n\n const getChoices = () => {\n return choicesRef.current;\n };\n\n const setChoices = choice => {\n const choices = set(`[${choice.i}].selected`, !choice.selected, getChoices());\n\n choicesRef.current = choices.filter(c => c.selected);\n };\n\n return [getChoices, setChoices];\n};\n\nconst CMMultipleView = ({multiple, choice, onChange}) => {\n const handleChange = useCallback(() => {\n return onChange(choice);\n }, [onChange, choice]);\n\n return multiple ? (\n <div className={style.item}>\n <Checkbox\n titleStyle=\"inherit\"\n checked={choice.selected}\n onChange={handleChange}\n noLabelMargins\n title={choice.name}\n />\n </div>\n ) : (\n <span className={style.item} title={choice.name} data-name={`${choice.name}-language`}>\n {choice.name}\n </span>\n );\n};\n\nconst SelectMultiple = (\n {\n title,\n options,\n theme,\n placeholder,\n description,\n hint,\n multiple,\n onChange,\n onError,\n modified = false,\n error = '',\n disabled = false\n },\n {skin}\n) => {\n const [isOpened, updateIsOpened] = useState(false);\n const [getChoices, setChoices] = useChoices(options);\n const nodeRef = useRef(null);\n\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n\n const handleOnClick = useCallback(\n e => {\n if (disabled) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n updateIsOpened(prev => !prev);\n },\n [disabled]\n );\n\n const closeHandle = useCallback(e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n updateIsOpened(false);\n }\n }, []);\n\n const handleChange = useCallback(\n choice => {\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n setChoices(choice);\n return onChange(getChoices());\n }\n updateIsOpened(false);\n return onChange(choice);\n },\n [multiple, onChange, setChoices, getChoices]\n );\n\n useEffect(() => {\n document.addEventListener('click', closeHandle);\n document.addEventListener('touchstart', closeHandle);\n\n return () => {\n document.removeEventListener('click', closeHandle);\n document.removeEventListener('touchstart', closeHandle);\n };\n }, [closeHandle]);\n\n const isCMTheme = theme === 'coorpmanager';\n\n const handleOnClickOnListElement = choice => () => handleChange(choice);\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li\n key={i}\n className={style.choice}\n onClick={isCMTheme && !multiple ? handleOnClickOnListElement({...choice, i}) : null}\n >\n {isCMTheme ? (\n <CMMultipleView multiple={multiple} choice={{...choice, i}} onChange={handleChange} />\n ) : (\n <TitledCheckbox\n onToggle={handleChange}\n choice={{...choice, i}}\n background={defaultColor}\n />\n )}\n </li>\n );\n }, options);\n\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const isActive = isOpened === true;\n\n const titleView = title ? (\n <span\n className={classnames(\n style.title,\n isCMTheme && selection && style.titleWithSelection,\n isCMTheme && isEmpty(selection) && style.noValue,\n isActive && style.active\n )}\n >\n {title}\n {description && isCMTheme ? (\n <div className={style.infoIconWrapper}>\n <InfoIcon className={style.infoIcon} />\n <div className={style.descriptionLabel}>{description}</div>\n </div>\n ) : null}\n </span>\n ) : null;\n\n const hintView = isCMTheme ? (\n <div\n className={classnames(style.hint, isActive && style.hideHint)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: error || hint}}\n />\n ) : null;\n\n const mainClass = theme ? themeStyle[theme] : style.default;\n const showPlaceholder = isCMTheme && isActive;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n const errorIconView = error ? <ErrorIcon onClick={onError} className={style.errorIcon} /> : null;\n\n return (\n <div\n className={classnames(mainClass, behaviourClassName, disabled && style.disabled)}\n ref={nodeRef}\n >\n <label>\n {!isCMTheme && titleView}\n <div\n className={style.select}\n title={selection || placeholder}\n data-name={`select-languages`}\n onClick={handleOnClick}\n >\n {isCMTheme && titleView}\n <span\n className={classnames(\n style.selection,\n isCMTheme && isEmpty(selection) && style.noselection\n )}\n >\n {selection || !isCMTheme || (showPlaceholder && placeholder) || null}\n </span>\n {isCMTheme ? (\n <div className={style.iconsWrapper}>\n <div className={style.flex}>{errorIconView}</div>\n <div className={classnames(style.flex, isActive && style.clicked)}>\n <ArrowDown\n style={{color: black}}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n </div>\n </div>\n ) : (\n <ArrowDown\n style={{color: black}}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n )}\n </div>\n <div className={classnames(style.choices, isActive && style.activeChoices)}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n {!isCMTheme ? <div className={style.description}>{description}</div> : null}\n {hintView}\n </div>\n );\n};\n\nSelectMultiple.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCMMultipleView.propTypes = {\n multiple: PropTypes.bool,\n choice: TitledCheckbox.propTypes.choice,\n onChange: PropTypes.func\n};\n\nSelectMultiple.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n hint: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n multiple: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.string,\n theme: PropTypes.oneOf(keys(themeStyle))\n};\n\nexport default SelectMultiple;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["themeStyle","setup","style","cockpit","sidebar","coorpmanager","useChoices","options","choicesRef","current","getChoices","setChoices","choice","choices","i","selected","filter","c","CMMultipleView","multiple","onChange","handleChange","useCallback","item","name","SelectMultiple","title","theme","placeholder","description","hint","onError","modified","error","disabled","skin","isOpened","updateIsOpened","useState","nodeRef","useRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","contains","target","console","log","useEffect","document","addEventListener","removeEventListener","isCMTheme","handleOnClickOnListElement","lines","convert","cap","selection","isActive","titleView","classnames","titleWithSelection","noValue","active","infoIconWrapper","infoIcon","descriptionLabel","hintView","hideHint","__html","mainClass","default","showPlaceholder","behaviourClassName","getClassState","errorIconView","errorIcon","select","noselection","iconsWrapper","flex","clicked","color","arrow","down","activeChoices","list","contextTypes","Provider","childContextTypes","propTypes","PropTypes","bool","TitledCheckbox","func","string","arrayOf","oneOf"],"sources":["../../../src/molecule/select-multiple/index.js"],"sourcesContent":["import React, {useState, useEffect, useRef, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set, keys, isEmpty} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaSolidStatusClose as ErrorIcon,\n NovaCompositionCoorpacademyInformationIcon as InfoIcon\n} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport Checkbox from '../../atom/input-checkbox';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n cockpit: style.cockpit,\n sidebar: style.sidebar,\n coorpmanager: style.coorpmanager\n};\n\nexport const useChoices = options => {\n const choicesRef = {current: options};\n\n const getChoices = () => {\n return choicesRef.current;\n };\n\n const setChoices = choice => {\n const choices = set(`[${choice.i}].selected`, !choice.selected, getChoices());\n\n choicesRef.current = choices.filter(c => c.selected);\n };\n\n return [getChoices, setChoices];\n};\n\nconst CMMultipleView = ({multiple, choice, onChange}) => {\n const handleChange = useCallback(() => {\n return onChange(choice);\n }, [onChange, choice]);\n\n return multiple ? (\n <div className={style.item}>\n <Checkbox\n titleStyle=\"inherit\"\n checked={choice.selected}\n onChange={handleChange}\n noLabelMargins\n title={choice.name}\n />\n </div>\n ) : (\n <span className={style.item} title={choice.name} data-name={`${choice.name}-language`}>\n {choice.name}\n </span>\n );\n};\n\nconst SelectMultiple = (\n {\n title,\n options,\n theme,\n placeholder,\n description,\n hint,\n multiple,\n onChange,\n onError,\n modified = false,\n error = '',\n disabled = false\n },\n {skin}\n) => {\n const [isOpened, updateIsOpened] = useState(false);\n const [getChoices, setChoices] = useChoices(options);\n const nodeRef = useRef(null);\n\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n\n const handleOnClick = useCallback(\n e => {\n if (disabled) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n updateIsOpened(prev => !prev);\n },\n [disabled]\n );\n\n const closeHandle = useCallback(e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n // eslint-disable-next-line no-console\n console.log('closeHandle');\n updateIsOpened(false);\n }\n }, []);\n\n const handleChange = useCallback(\n choice => {\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n setChoices(choice);\n return onChange(getChoices());\n }\n updateIsOpened(false);\n return onChange(choice);\n },\n [multiple, onChange, setChoices, getChoices]\n );\n\n useEffect(() => {\n document.addEventListener('click', closeHandle);\n document.addEventListener('touchstart', closeHandle);\n\n return () => {\n document.removeEventListener('click', closeHandle);\n document.removeEventListener('touchstart', closeHandle);\n };\n }, [closeHandle]);\n\n const isCMTheme = theme === 'coorpmanager';\n\n const handleOnClickOnListElement = choice => () => handleChange(choice);\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li\n key={i}\n className={style.choice}\n onClick={isCMTheme && !multiple ? handleOnClickOnListElement({...choice, i}) : null}\n >\n {isCMTheme ? (\n <CMMultipleView multiple={multiple} choice={{...choice, i}} onChange={handleChange} />\n ) : (\n <TitledCheckbox\n onToggle={handleChange}\n choice={{...choice, i}}\n background={defaultColor}\n />\n )}\n </li>\n );\n }, options);\n\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const isActive = isOpened === true;\n\n const titleView = title ? (\n <span\n className={classnames(\n style.title,\n isCMTheme && selection && style.titleWithSelection,\n isCMTheme && isEmpty(selection) && style.noValue,\n isActive && style.active\n )}\n >\n {title}\n {description && isCMTheme ? (\n <div className={style.infoIconWrapper}>\n <InfoIcon className={style.infoIcon} />\n <div className={style.descriptionLabel}>{description}</div>\n </div>\n ) : null}\n </span>\n ) : null;\n\n const hintView = isCMTheme ? (\n <div\n className={classnames(style.hint, isActive && style.hideHint)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: error || hint}}\n />\n ) : null;\n\n const mainClass = theme ? themeStyle[theme] : style.default;\n const showPlaceholder = isCMTheme && isActive;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n const errorIconView = error ? <ErrorIcon onClick={onError} className={style.errorIcon} /> : null;\n\n return (\n <div\n className={classnames(mainClass, behaviourClassName, disabled && style.disabled)}\n ref={nodeRef}\n >\n <label>\n {!isCMTheme && titleView}\n <div\n className={style.select}\n title={selection || placeholder}\n data-name={`select-languages`}\n onClick={handleOnClick}\n >\n {isCMTheme && titleView}\n <span\n className={classnames(\n style.selection,\n isCMTheme && isEmpty(selection) && style.noselection\n )}\n >\n {selection || !isCMTheme || (showPlaceholder && placeholder) || null}\n </span>\n {isCMTheme ? (\n <div className={style.iconsWrapper}>\n <div className={style.flex}>{errorIconView}</div>\n <div className={classnames(style.flex, isActive && style.clicked)}>\n <ArrowDown\n style={{color: black}}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n </div>\n </div>\n ) : (\n <ArrowDown\n style={{color: black}}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n )}\n </div>\n <div className={classnames(style.choices, isActive && style.activeChoices)}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n {!isCMTheme ? <div className={style.description}>{description}</div> : null}\n {hintView}\n </div>\n );\n};\n\nSelectMultiple.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCMMultipleView.propTypes = {\n multiple: PropTypes.bool,\n choice: TitledCheckbox.propTypes.choice,\n onChange: PropTypes.func\n};\n\nSelectMultiple.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n hint: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n multiple: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.string,\n theme: PropTypes.oneOf(keys(themeStyle))\n};\n\nexport default SelectMultiple;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAyBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAwBC;IAtBC;;;;;;MAMC;IAgDH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA7GD,2EASC;IAGC,kBAAsB;IAmGxB,6BAIE;IAEF,6BAIE;IAEF,6BAwcC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAyBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAwBC;IAtBC;;;;;;MAMC;IAkDH,6BAIC;IAED,yBAGC;IA1BD,qCAUC;IAED,wBAGC;IAnBD,+BAEC;IA8BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA/GD,2EASC;IAGC,kBAAsB;IAqGxB,6BAIE;IAEF,6BAIE;IAEF,6BAwcC;CACF"}
@@ -105,6 +105,8 @@ class MoocHeader extends _react.default.Component {
105
105
  const menu = this.menuSettings;
106
106
 
107
107
  if (menu && !menu.contains(clickEvent.target)) {
108
+ // eslint-disable-next-line no-console
109
+ console.log('close header settings');
108
110
  this.handleSettingsToggle();
109
111
  }
110
112
  }
@@ -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 id=\"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":"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"}
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","console","log","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 // eslint-disable-next-line no-console\n console.log('close header settings');\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 id=\"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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "11.19.2-alpha.16+652c98176",
3
+ "version": "11.19.2-alpha.18+9db3d876f",
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": "652c981760d5c0df2ab483ae78fece23047d80c2"
171
+ "gitHead": "9db3d876f188dd259d8da434504d7f1f4ebbd8e4"
172
172
  }