@coorpacademy/components 11.14.21-alpha.1 → 11.14.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/es/molecule/audio/index.d.ts.map +1 -1
  2. package/es/molecule/audio/index.js +1 -0
  3. package/es/molecule/audio/index.js.map +1 -1
  4. package/es/molecule/drag-and-drop/index.js +3 -1
  5. package/es/molecule/drag-and-drop/index.js.map +1 -1
  6. package/es/molecule/drag-and-drop/overlay.d.ts.map +1 -1
  7. package/es/molecule/drag-and-drop/overlay.js +2 -1
  8. package/es/molecule/drag-and-drop/overlay.js.map +1 -1
  9. package/es/molecule/drag-and-drop/upload-report.d.ts.map +1 -1
  10. package/es/molecule/drag-and-drop/upload-report.js +1 -0
  11. package/es/molecule/drag-and-drop/upload-report.js.map +1 -1
  12. package/es/molecule/draggable/index.d.ts.map +1 -1
  13. package/es/molecule/draggable/index.js +1 -0
  14. package/es/molecule/draggable/index.js.map +1 -1
  15. package/es/organism/mooc-header/index.js +1 -1
  16. package/es/organism/mooc-header/index.js.map +1 -1
  17. package/es/template/app-player/player/slides/header/index.js +2 -1
  18. package/es/template/app-player/player/slides/header/index.js.map +1 -1
  19. package/es/template/app-player/player/slides/header/microlearning.css +10 -0
  20. package/es/template/app-player/player/slides/header/microlearning.d.ts +1 -0
  21. package/es/template/app-player/player/slides/header/microlearning.d.ts.map +1 -1
  22. package/es/template/app-player/player/slides/header/microlearning.js +34 -18
  23. package/es/template/app-player/player/slides/header/microlearning.js.map +1 -1
  24. package/lib/molecule/audio/index.d.ts.map +1 -1
  25. package/lib/molecule/audio/index.js +1 -0
  26. package/lib/molecule/audio/index.js.map +1 -1
  27. package/lib/molecule/drag-and-drop/index.js +3 -1
  28. package/lib/molecule/drag-and-drop/index.js.map +1 -1
  29. package/lib/molecule/drag-and-drop/overlay.d.ts.map +1 -1
  30. package/lib/molecule/drag-and-drop/overlay.js +2 -1
  31. package/lib/molecule/drag-and-drop/overlay.js.map +1 -1
  32. package/lib/molecule/drag-and-drop/upload-report.d.ts.map +1 -1
  33. package/lib/molecule/drag-and-drop/upload-report.js +1 -0
  34. package/lib/molecule/drag-and-drop/upload-report.js.map +1 -1
  35. package/lib/molecule/draggable/index.d.ts.map +1 -1
  36. package/lib/molecule/draggable/index.js +1 -0
  37. package/lib/molecule/draggable/index.js.map +1 -1
  38. package/lib/organism/mooc-header/index.js +1 -1
  39. package/lib/organism/mooc-header/index.js.map +1 -1
  40. package/lib/template/app-player/player/slides/header/index.js +2 -1
  41. package/lib/template/app-player/player/slides/header/index.js.map +1 -1
  42. package/lib/template/app-player/player/slides/header/microlearning.css +10 -0
  43. package/lib/template/app-player/player/slides/header/microlearning.d.ts +1 -0
  44. package/lib/template/app-player/player/slides/header/microlearning.d.ts.map +1 -1
  45. package/lib/template/app-player/player/slides/header/microlearning.js +35 -18
  46. package/lib/template/app-player/player/slides/header/microlearning.js.map +1 -1
  47. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/audio/index.js"],"names":[],"mappings":";AAQA;IACE;;;;;MAKE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF,sCAKC;IAeD,yBAGC;IApBC,kBAAwB;IAa1B,iCAEE;IAXF,+CAGC;IAED,2BAEC;IAWD,sBA+BC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/audio/index.js"],"names":[],"mappings":";AAQA;IACE;;;;;MAKE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF,sCAKC;IAeD,yBAGC;IApBC,kBAAwB;IAa1B,iCAEE;IAXF,+CAGC;IAED,2BAEC;IAWD,sBAgCC;CACF"}
@@ -74,6 +74,7 @@ class Audio extends React.Component {
74
74
  autoPlay: "",
75
75
  onPlay: this.handlePlay,
76
76
  name: "media",
77
+ "data-testid": "audio",
77
78
  "data-name": "audio",
78
79
  preload: "auto"
79
80
  }, /*#__PURE__*/React.createElement("source", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionCoorpacademyMicrophone","PodcastIcon","Provider","style","Audio","Component","constructor","props","context","setAudio","element","audioElement","handlePlay","bind","shouldComponentUpdate","nextProps","mediaUrl","componentDidUpdate","load","e","onPlay","render","description","poster","skin","white","frame","backgroundImage","color","icon","innerHTML","__html","audio","contextTypes","childContextTypes","propTypes","string","func"],"sources":["../../../src/molecule/audio/index.js"],"sourcesContent":["import React from 'react';\nimport {get} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {NovaCompositionCoorpacademyMicrophone as PodcastIcon} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nclass Audio extends React.Component {\n static propTypes = {\n description: PropTypes.string,\n mediaUrl: PropTypes.string,\n poster: PropTypes.string,\n onPlay: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props, context);\n this.handlePlay = this.handlePlay.bind(this);\n this.audioElement = null;\n this.setAudio = this.setAudio.bind(this);\n }\n\n shouldComponentUpdate(nextProps) {\n const {mediaUrl} = this.props;\n return nextProps.mediaUrl !== mediaUrl;\n }\n\n componentDidUpdate() {\n this.audioElement.load();\n }\n\n setAudio = element => {\n this.audioElement = element;\n };\n\n handlePlay(e) {\n const {onPlay} = this.props;\n if (onPlay) onPlay(e);\n }\n\n render() {\n const {description, mediaUrl, poster} = this.props;\n const {skin} = this.context;\n\n const white = get('common.white', skin);\n return (\n <div className={style.frame} style={{backgroundImage: `url(${poster})`}}>\n <PodcastIcon style={{color: white}} className={style.icon} />\n {description ? (\n <div\n className={classnames(style.description, style.innerHTML)}\n data-name=\"audioDescription\"\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: description}}\n />\n ) : null}\n <audio\n className={style.audio}\n controls\n controlsList=\"nodownload\"\n ref={this.setAudio}\n autoPlay=\"\"\n onPlay={this.handlePlay}\n name=\"media\"\n data-name=\"audio\"\n preload=\"auto\"\n >\n <source src={mediaUrl} />\n </audio>\n </div>\n );\n }\n}\n\nexport default Audio;\n"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAAQC,qCAAqC,IAAIC,WAAjD,QAAmE,0BAAnE;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,KAAN,SAAoBP,KAAK,CAACQ,SAA1B,CAAoC;EAYlCC,WAAW,CAACC,KAAD,EAAQC,OAAR,EAAiB;IAC1B,MAAMD,KAAN,EAAaC,OAAb;;IAD0B,KAgB5BC,QAhB4B,GAgBjBC,OAAO,IAAI;MACpB,KAAKC,YAAL,GAAoBD,OAApB;IACD,CAlB2B;;IAE1B,KAAKE,UAAL,GAAkB,KAAKA,UAAL,CAAgBC,IAAhB,CAAqB,IAArB,CAAlB;IACA,KAAKF,YAAL,GAAoB,IAApB;IACA,KAAKF,QAAL,GAAgB,KAAKA,QAAL,CAAcI,IAAd,CAAmB,IAAnB,CAAhB;EACD;;EAEDC,qBAAqB,CAACC,SAAD,EAAY;IAC/B,MAAM;MAACC;IAAD,IAAa,KAAKT,KAAxB;IACA,OAAOQ,SAAS,CAACC,QAAV,KAAuBA,QAA9B;EACD;;EAEDC,kBAAkB,GAAG;IACnB,KAAKN,YAAL,CAAkBO,IAAlB;EACD;;EAMDN,UAAU,CAACO,CAAD,EAAI;IACZ,MAAM;MAACC;IAAD,IAAW,KAAKb,KAAtB;IACA,IAAIa,MAAJ,EAAYA,MAAM,CAACD,CAAD,CAAN;EACb;;EAEDE,MAAM,GAAG;IACP,MAAM;MAACC,WAAD;MAAcN,QAAd;MAAwBO;IAAxB,IAAkC,KAAKhB,KAA7C;IACA,MAAM;MAACiB;IAAD,IAAS,KAAKhB,OAApB;;IAEA,MAAMiB,KAAK,GAAG,KAAI,cAAJ,EAAoBD,IAApB,CAAd;;IACA,oBACE;MAAK,SAAS,EAAErB,KAAK,CAACuB,KAAtB;MAA6B,KAAK,EAAE;QAACC,eAAe,EAAG,OAAMJ,MAAO;MAAhC;IAApC,gBACE,oBAAC,WAAD;MAAa,KAAK,EAAE;QAACK,KAAK,EAAEH;MAAR,CAApB;MAAoC,SAAS,EAAEtB,KAAK,CAAC0B;IAArD,EADF,EAEGP,WAAW,gBACV;MACE,SAAS,EAAEvB,UAAU,CAACI,KAAK,CAACmB,WAAP,EAAoBnB,KAAK,CAAC2B,SAA1B,CADvB;MAEE,aAAU,kBAFZ,CAGE;MAHF;MAIE,uBAAuB,EAAE;QAACC,MAAM,EAAET;MAAT;IAJ3B,EADU,GAOR,IATN,eAUE;MACE,SAAS,EAAEnB,KAAK,CAAC6B,KADnB;MAEE,QAAQ,MAFV;MAGE,YAAY,EAAC,YAHf;MAIE,GAAG,EAAE,KAAKvB,QAJZ;MAKE,QAAQ,EAAC,EALX;MAME,MAAM,EAAE,KAAKG,UANf;MAOE,IAAI,EAAC,OAPP;MAQE,aAAU,OARZ;MASE,OAAO,EAAC;IATV,gBAWE;MAAQ,GAAG,EAAEI;IAAb,EAXF,CAVF,CADF;EA0BD;;AApEiC;;AAA9BZ,K,CAQG6B,Y,GAAe;EACpBT,IAAI,EAAEtB,QAAQ,CAACgC,iBAAT,CAA2BV;AADb,C;AARlBpB,K,CACG+B,S,2CAAY;EACjBb,WAAW,EAAExB,SAAS,CAACsC,MADN;EAEjBpB,QAAQ,EAAElB,SAAS,CAACsC,MAFH;EAGjBb,MAAM,EAAEzB,SAAS,CAACsC,MAHD;EAIjBhB,MAAM,EAAEtB,SAAS,CAACuC;AAJD,C;AAsErB,eAAejC,KAAf"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionCoorpacademyMicrophone","PodcastIcon","Provider","style","Audio","Component","constructor","props","context","setAudio","element","audioElement","handlePlay","bind","shouldComponentUpdate","nextProps","mediaUrl","componentDidUpdate","load","e","onPlay","render","description","poster","skin","white","frame","backgroundImage","color","icon","innerHTML","__html","audio","contextTypes","childContextTypes","propTypes","string","func"],"sources":["../../../src/molecule/audio/index.js"],"sourcesContent":["import React from 'react';\nimport {get} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {NovaCompositionCoorpacademyMicrophone as PodcastIcon} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nclass Audio extends React.Component {\n static propTypes = {\n description: PropTypes.string,\n mediaUrl: PropTypes.string,\n poster: PropTypes.string,\n onPlay: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props, context);\n this.handlePlay = this.handlePlay.bind(this);\n this.audioElement = null;\n this.setAudio = this.setAudio.bind(this);\n }\n\n shouldComponentUpdate(nextProps) {\n const {mediaUrl} = this.props;\n return nextProps.mediaUrl !== mediaUrl;\n }\n\n componentDidUpdate() {\n this.audioElement.load();\n }\n\n setAudio = element => {\n this.audioElement = element;\n };\n\n handlePlay(e) {\n const {onPlay} = this.props;\n if (onPlay) onPlay(e);\n }\n\n render() {\n const {description, mediaUrl, poster} = this.props;\n const {skin} = this.context;\n\n const white = get('common.white', skin);\n return (\n <div className={style.frame} style={{backgroundImage: `url(${poster})`}}>\n <PodcastIcon style={{color: white}} className={style.icon} />\n {description ? (\n <div\n className={classnames(style.description, style.innerHTML)}\n data-name=\"audioDescription\"\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: description}}\n />\n ) : null}\n <audio\n className={style.audio}\n controls\n controlsList=\"nodownload\"\n ref={this.setAudio}\n autoPlay=\"\"\n onPlay={this.handlePlay}\n name=\"media\"\n data-testid=\"audio\"\n data-name=\"audio\"\n preload=\"auto\"\n >\n <source src={mediaUrl} />\n </audio>\n </div>\n );\n }\n}\n\nexport default Audio;\n"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAAQC,qCAAqC,IAAIC,WAAjD,QAAmE,0BAAnE;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,KAAN,SAAoBP,KAAK,CAACQ,SAA1B,CAAoC;EAYlCC,WAAW,CAACC,KAAD,EAAQC,OAAR,EAAiB;IAC1B,MAAMD,KAAN,EAAaC,OAAb;;IAD0B,KAgB5BC,QAhB4B,GAgBjBC,OAAO,IAAI;MACpB,KAAKC,YAAL,GAAoBD,OAApB;IACD,CAlB2B;;IAE1B,KAAKE,UAAL,GAAkB,KAAKA,UAAL,CAAgBC,IAAhB,CAAqB,IAArB,CAAlB;IACA,KAAKF,YAAL,GAAoB,IAApB;IACA,KAAKF,QAAL,GAAgB,KAAKA,QAAL,CAAcI,IAAd,CAAmB,IAAnB,CAAhB;EACD;;EAEDC,qBAAqB,CAACC,SAAD,EAAY;IAC/B,MAAM;MAACC;IAAD,IAAa,KAAKT,KAAxB;IACA,OAAOQ,SAAS,CAACC,QAAV,KAAuBA,QAA9B;EACD;;EAEDC,kBAAkB,GAAG;IACnB,KAAKN,YAAL,CAAkBO,IAAlB;EACD;;EAMDN,UAAU,CAACO,CAAD,EAAI;IACZ,MAAM;MAACC;IAAD,IAAW,KAAKb,KAAtB;IACA,IAAIa,MAAJ,EAAYA,MAAM,CAACD,CAAD,CAAN;EACb;;EAEDE,MAAM,GAAG;IACP,MAAM;MAACC,WAAD;MAAcN,QAAd;MAAwBO;IAAxB,IAAkC,KAAKhB,KAA7C;IACA,MAAM;MAACiB;IAAD,IAAS,KAAKhB,OAApB;;IAEA,MAAMiB,KAAK,GAAG,KAAI,cAAJ,EAAoBD,IAApB,CAAd;;IACA,oBACE;MAAK,SAAS,EAAErB,KAAK,CAACuB,KAAtB;MAA6B,KAAK,EAAE;QAACC,eAAe,EAAG,OAAMJ,MAAO;MAAhC;IAApC,gBACE,oBAAC,WAAD;MAAa,KAAK,EAAE;QAACK,KAAK,EAAEH;MAAR,CAApB;MAAoC,SAAS,EAAEtB,KAAK,CAAC0B;IAArD,EADF,EAEGP,WAAW,gBACV;MACE,SAAS,EAAEvB,UAAU,CAACI,KAAK,CAACmB,WAAP,EAAoBnB,KAAK,CAAC2B,SAA1B,CADvB;MAEE,aAAU,kBAFZ,CAGE;MAHF;MAIE,uBAAuB,EAAE;QAACC,MAAM,EAAET;MAAT;IAJ3B,EADU,GAOR,IATN,eAUE;MACE,SAAS,EAAEnB,KAAK,CAAC6B,KADnB;MAEE,QAAQ,MAFV;MAGE,YAAY,EAAC,YAHf;MAIE,GAAG,EAAE,KAAKvB,QAJZ;MAKE,QAAQ,EAAC,EALX;MAME,MAAM,EAAE,KAAKG,UANf;MAOE,IAAI,EAAC,OAPP;MAQE,eAAY,OARd;MASE,aAAU,OATZ;MAUE,OAAO,EAAC;IAVV,gBAYE;MAAQ,GAAG,EAAEI;IAAb,EAZF,CAVF,CADF;EA2BD;;AArEiC;;AAA9BZ,K,CAQG6B,Y,GAAe;EACpBT,IAAI,EAAEtB,QAAQ,CAACgC,iBAAT,CAA2BV;AADb,C;AARlBpB,K,CACG+B,S,2CAAY;EACjBb,WAAW,EAAExB,SAAS,CAACsC,MADN;EAEjBpB,QAAQ,EAAElB,SAAS,CAACsC,MAFH;EAGjBb,MAAM,EAAEzB,SAAS,CAACsC,MAHD;EAIjBhB,MAAM,EAAEtB,SAAS,CAACuC;AAJD,C;AAuErB,eAAejC,KAAf"}
@@ -42,7 +42,8 @@ export const DragAndDrop = (props, context) => {
42
42
  const loading = state === 'loading';
43
43
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("span", {
44
44
  onClick: handleBack,
45
- className: style.back
45
+ className: style.back,
46
+ "data-testid": "back"
46
47
  }, /*#__PURE__*/React.createElement(ArrowLeft, {
47
48
  width: 12,
48
49
  height: 12,
@@ -84,6 +85,7 @@ export const DragAndDrop = (props, context) => {
84
85
 
85
86
  const disableFileInput = state === 'success';
86
87
  return /*#__PURE__*/React.createElement("div", _extends({}, getRootProps(), {
88
+ "data-testid": "drop-zone",
87
89
  className: style.wrapper
88
90
  }), /*#__PURE__*/React.createElement("input", _extends({}, getInputProps(), {
89
91
  disabled: disableFileInput
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","PropTypes","getOr","includes","Dropzone","NovaCompositionNavigationArrowLeft","ArrowLeft","Provider","InputText","Overlay","UploadReport","PlaceHolder","style","DragAndDrop","props","context","skin","primaryColor","state","title","message","warningMessage","mode","dragAndDropMessage","buttonTitle","backLabel","orLabel","accept","type","contentType","fields","onDrop","onDelete","onBack","handleBack","e","stopPropagation","preventDefault","loading","back","arrow","getRootProps","getInputProps","isDragActive","getView","disableFileInput","wrapper","contextTypes","childContextTypes","propTypes","oneOf","isRequired","string","func","arrayOf","shape","actions","label","onClick"],"sources":["../../../src/molecule/drag-and-drop/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport Dropzone from 'react-dropzone';\nimport {NovaCompositionNavigationArrowLeft as ArrowLeft} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport InputText from '../../atom/input-text';\nimport {Overlay} from './overlay';\nimport {UploadReport} from './upload-report';\nimport {PlaceHolder} from './placeholder';\nimport style from './style.css';\n\nexport const DragAndDrop = (props, context) => {\n const {skin} = context;\n const primaryColor = getOr('#00B0FF', 'common.primary', skin);\n\n const {\n state,\n title,\n message,\n warningMessage,\n mode,\n dragAndDropMessage,\n buttonTitle,\n backLabel,\n orLabel,\n accept,\n type: contentType = 'scorm',\n fields,\n onDrop,\n onDelete,\n onBack\n } = props;\n\n const handleBack = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n onBack && onBack(e);\n },\n [onBack]\n );\n\n const loading = state === 'loading';\n return (\n <div>\n <span onClick={handleBack} className={style.back}>\n <ArrowLeft width={12} height={12} className={style.arrow} />\n {backLabel}\n </span>\n <Dropzone accept={accept} disabled={loading} onDrop={onDrop}>\n {({getRootProps, getInputProps, isDragActive}) => {\n const getView = () => {\n if (contentType !== 'scorm' || includes(state, ['success', 'error', 'ready'])) {\n return (\n <UploadReport\n state={state}\n message={message}\n warningMessage={warningMessage}\n fields={fields}\n type={contentType}\n onDelete={onDelete}\n mode={mode}\n orLabel={orLabel}\n onClick={onDrop}\n buttonTitle={buttonTitle}\n primaryColor={primaryColor}\n />\n );\n }\n return (\n <PlaceHolder\n title={title}\n buttonTitle={buttonTitle}\n uploadLabel={message}\n primaryColor={primaryColor}\n onClick={onDrop}\n />\n );\n };\n\n const disableFileInput = state === 'success';\n\n return (\n <div {...getRootProps()} className={style.wrapper}>\n <input {...getInputProps()} disabled={disableFileInput} />\n {getView()}\n {isDragActive || loading ? (\n <Overlay\n iconColor={primaryColor}\n description={dragAndDropMessage}\n isLoading={loading}\n />\n ) : null}\n </div>\n );\n }}\n </Dropzone>\n </div>\n );\n};\n\nDragAndDrop.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nDragAndDrop.propTypes = {\n state: PropTypes.oneOf(['default', 'ready', 'loading', 'success', 'error']).isRequired,\n mode: PropTypes.oneOf(['edit', 'upload']),\n title: PropTypes.string,\n type: PropTypes.string,\n message: PropTypes.string,\n warningMessage: PropTypes.string,\n dragAndDropMessage: PropTypes.string,\n buttonTitle: PropTypes.string,\n backLabel: PropTypes.string,\n orLabel: PropTypes.string,\n onBack: PropTypes.func,\n accept: PropTypes.string,\n fields: PropTypes.arrayOf(\n PropTypes.shape({\n ...InputText.propTypes,\n type: PropTypes.oneOf(['text'])\n })\n ),\n onDrop: PropTypes.func,\n onDelete: PropTypes.func,\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf(['edit', 'upload', 'delete']),\n label: PropTypes.string,\n onClick: PropTypes.func\n })\n )\n};\n\nexport default DragAndDrop;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","PropTypes","getOr","includes","Dropzone","NovaCompositionNavigationArrowLeft","ArrowLeft","Provider","InputText","Overlay","UploadReport","PlaceHolder","style","DragAndDrop","props","context","skin","primaryColor","state","title","message","warningMessage","mode","dragAndDropMessage","buttonTitle","backLabel","orLabel","accept","type","contentType","fields","onDrop","onDelete","onBack","handleBack","e","stopPropagation","preventDefault","loading","back","arrow","getRootProps","getInputProps","isDragActive","getView","disableFileInput","wrapper","contextTypes","childContextTypes","propTypes","oneOf","isRequired","string","func","arrayOf","shape","actions","label","onClick"],"sources":["../../../src/molecule/drag-and-drop/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport includes from 'lodash/fp/includes';\nimport Dropzone from 'react-dropzone';\nimport {NovaCompositionNavigationArrowLeft as ArrowLeft} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport InputText from '../../atom/input-text';\nimport {Overlay} from './overlay';\nimport {UploadReport} from './upload-report';\nimport {PlaceHolder} from './placeholder';\nimport style from './style.css';\n\nexport const DragAndDrop = (props, context) => {\n const {skin} = context;\n const primaryColor = getOr('#00B0FF', 'common.primary', skin);\n\n const {\n state,\n title,\n message,\n warningMessage,\n mode,\n dragAndDropMessage,\n buttonTitle,\n backLabel,\n orLabel,\n accept,\n type: contentType = 'scorm',\n fields,\n onDrop,\n onDelete,\n onBack\n } = props;\n\n const handleBack = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n onBack && onBack(e);\n },\n [onBack]\n );\n\n const loading = state === 'loading';\n return (\n <div>\n <span onClick={handleBack} className={style.back} data-testid=\"back\">\n <ArrowLeft width={12} height={12} className={style.arrow} />\n {backLabel}\n </span>\n <Dropzone accept={accept} disabled={loading} onDrop={onDrop}>\n {({getRootProps, getInputProps, isDragActive}) => {\n const getView = () => {\n if (contentType !== 'scorm' || includes(state, ['success', 'error', 'ready'])) {\n return (\n <UploadReport\n state={state}\n message={message}\n warningMessage={warningMessage}\n fields={fields}\n type={contentType}\n onDelete={onDelete}\n mode={mode}\n orLabel={orLabel}\n onClick={onDrop}\n buttonTitle={buttonTitle}\n primaryColor={primaryColor}\n />\n );\n }\n return (\n <PlaceHolder\n title={title}\n buttonTitle={buttonTitle}\n uploadLabel={message}\n primaryColor={primaryColor}\n onClick={onDrop}\n />\n );\n };\n\n const disableFileInput = state === 'success';\n\n return (\n <div {...getRootProps()} data-testid=\"drop-zone\" className={style.wrapper}>\n <input {...getInputProps()} disabled={disableFileInput} />\n {getView()}\n {isDragActive || loading ? (\n <Overlay\n iconColor={primaryColor}\n description={dragAndDropMessage}\n isLoading={loading}\n />\n ) : null}\n </div>\n );\n }}\n </Dropzone>\n </div>\n );\n};\n\nDragAndDrop.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nDragAndDrop.propTypes = {\n state: PropTypes.oneOf(['default', 'ready', 'loading', 'success', 'error']).isRequired,\n mode: PropTypes.oneOf(['edit', 'upload']),\n title: PropTypes.string,\n type: PropTypes.string,\n message: PropTypes.string,\n warningMessage: PropTypes.string,\n dragAndDropMessage: PropTypes.string,\n buttonTitle: PropTypes.string,\n backLabel: PropTypes.string,\n orLabel: PropTypes.string,\n onBack: PropTypes.func,\n accept: PropTypes.string,\n fields: PropTypes.arrayOf(\n PropTypes.shape({\n ...InputText.propTypes,\n type: PropTypes.oneOf(['text'])\n })\n ),\n onDrop: PropTypes.func,\n onDelete: PropTypes.func,\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf(['edit', 'upload', 'delete']),\n label: PropTypes.string,\n onClick: PropTypes.func\n })\n )\n};\n\nexport default DragAndDrop;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../src/molecule/drag-and-drop/overlay.js"],"names":[],"mappings":"AAUO;;;;gBAcN"}
1
+ {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../src/molecule/drag-and-drop/overlay.js"],"names":[],"mappings":"AAUO;;;;gBAkBN"}
@@ -21,7 +21,8 @@ export const Overlay = ({
21
21
  className: style.icon
22
22
  })), /*#__PURE__*/React.createElement("p", null, description));
23
23
  return /*#__PURE__*/React.createElement("div", {
24
- className: style.overlay
24
+ className: style.overlay,
25
+ "data-testid": "overlay"
25
26
  }, isLoading ? /*#__PURE__*/React.createElement(Loader, null) : dropOverlay);
26
27
  };
27
28
  export default Overlay;
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.js","names":["React","PropTypes","NovaSolidDataTransferDataUpload1","UploadIcon","convert","Loader","style","Overlay","description","isLoading","iconColor","dropOverlay","arrow","border","color","icon","overlay","propTypes","string","bool"],"sources":["../../../src/molecule/drag-and-drop/overlay.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {NovaSolidDataTransferDataUpload1 as UploadIcon} from '@coorpacademy/nova-icons';\nimport {convert} from 'css-color-function';\n\nimport Loader from '../../atom/loader';\n\nimport style from './overlay.css';\n\nexport const Overlay = ({description, isLoading, iconColor}) => {\n const dropOverlay = (\n <React.Fragment>\n <div\n className={style.arrow}\n style={{border: `15px solid ${convert(`color(${iconColor} a(-90%))`)}`}}\n >\n <UploadIcon style={{color: iconColor}} className={style.icon} />\n </div>\n <p>{description}</p>\n </React.Fragment>\n );\n\n return <div className={style.overlay}>{isLoading ? <Loader /> : dropOverlay}</div>;\n};\n\nexport default Overlay;\n\nOverlay.propTypes = {\n description: PropTypes.string,\n isLoading: PropTypes.bool,\n iconColor: PropTypes.string\n};\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,gCAAgC,IAAIC,UAA5C,QAA6D,0BAA7D;AACA,SAAQC,OAAR,QAAsB,oBAAtB;AAEA,OAAOC,MAAP,MAAmB,mBAAnB;AAEA,OAAOC,KAAP,MAAkB,eAAlB;AAEA,OAAO,MAAMC,OAAO,GAAG,CAAC;EAACC,WAAD;EAAcC,SAAd;EAAyBC;AAAzB,CAAD,KAAyC;EAC9D,MAAMC,WAAW,gBACf,oBAAC,KAAD,CAAO,QAAP,qBACE;IACE,SAAS,EAAEL,KAAK,CAACM,KADnB;IAEE,KAAK,EAAE;MAACC,MAAM,EAAG,cAAaT,OAAO,CAAE,SAAQM,SAAU,WAApB,CAAgC;IAA9D;EAFT,gBAIE,oBAAC,UAAD;IAAY,KAAK,EAAE;MAACI,KAAK,EAAEJ;IAAR,CAAnB;IAAuC,SAAS,EAAEJ,KAAK,CAACS;EAAxD,EAJF,CADF,eAOE,+BAAIP,WAAJ,CAPF,CADF;EAYA,oBAAO;IAAK,SAAS,EAAEF,KAAK,CAACU;EAAtB,GAAgCP,SAAS,gBAAG,oBAAC,MAAD,OAAH,GAAgBE,WAAzD,CAAP;AACD,CAdM;AAgBP,eAAeJ,OAAf;AAEAA,OAAO,CAACU,SAAR,2CAAoB;EAClBT,WAAW,EAAEP,SAAS,CAACiB,MADL;EAElBT,SAAS,EAAER,SAAS,CAACkB,IAFH;EAGlBT,SAAS,EAAET,SAAS,CAACiB;AAHH,CAApB"}
1
+ {"version":3,"file":"overlay.js","names":["React","PropTypes","NovaSolidDataTransferDataUpload1","UploadIcon","convert","Loader","style","Overlay","description","isLoading","iconColor","dropOverlay","arrow","border","color","icon","overlay","propTypes","string","bool"],"sources":["../../../src/molecule/drag-and-drop/overlay.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {NovaSolidDataTransferDataUpload1 as UploadIcon} from '@coorpacademy/nova-icons';\nimport {convert} from 'css-color-function';\n\nimport Loader from '../../atom/loader';\n\nimport style from './overlay.css';\n\nexport const Overlay = ({description, isLoading, iconColor}) => {\n const dropOverlay = (\n <React.Fragment>\n <div\n className={style.arrow}\n style={{border: `15px solid ${convert(`color(${iconColor} a(-90%))`)}`}}\n >\n <UploadIcon style={{color: iconColor}} className={style.icon} />\n </div>\n <p>{description}</p>\n </React.Fragment>\n );\n\n return (\n <div className={style.overlay} data-testid=\"overlay\">\n {isLoading ? <Loader /> : dropOverlay}\n </div>\n );\n};\n\nexport default Overlay;\n\nOverlay.propTypes = {\n description: PropTypes.string,\n isLoading: PropTypes.bool,\n iconColor: PropTypes.string\n};\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,gCAAgC,IAAIC,UAA5C,QAA6D,0BAA7D;AACA,SAAQC,OAAR,QAAsB,oBAAtB;AAEA,OAAOC,MAAP,MAAmB,mBAAnB;AAEA,OAAOC,KAAP,MAAkB,eAAlB;AAEA,OAAO,MAAMC,OAAO,GAAG,CAAC;EAACC,WAAD;EAAcC,SAAd;EAAyBC;AAAzB,CAAD,KAAyC;EAC9D,MAAMC,WAAW,gBACf,oBAAC,KAAD,CAAO,QAAP,qBACE;IACE,SAAS,EAAEL,KAAK,CAACM,KADnB;IAEE,KAAK,EAAE;MAACC,MAAM,EAAG,cAAaT,OAAO,CAAE,SAAQM,SAAU,WAApB,CAAgC;IAA9D;EAFT,gBAIE,oBAAC,UAAD;IAAY,KAAK,EAAE;MAACI,KAAK,EAAEJ;IAAR,CAAnB;IAAuC,SAAS,EAAEJ,KAAK,CAACS;EAAxD,EAJF,CADF,eAOE,+BAAIP,WAAJ,CAPF,CADF;EAYA,oBACE;IAAK,SAAS,EAAEF,KAAK,CAACU,OAAtB;IAA+B,eAAY;EAA3C,GACGP,SAAS,gBAAG,oBAAC,MAAD,OAAH,GAAgBE,WAD5B,CADF;AAKD,CAlBM;AAoBP,eAAeJ,OAAf;AAEAA,OAAO,CAACU,SAAR,2CAAoB;EAClBT,WAAW,EAAEP,SAAS,CAACiB,MADL;EAElBT,SAAS,EAAER,SAAS,CAACkB,IAFH;EAGlBT,SAAS,EAAET,SAAS,CAACiB;AAHH,CAApB"}
@@ -1 +1 @@
1
- {"version":3,"file":"upload-report.d.ts","sourceRoot":"","sources":["../../../src/molecule/drag-and-drop/upload-report.js"],"names":[],"mappings":"AAkDO;;;;;;;;;;;gBA4FN"}
1
+ {"version":3,"file":"upload-report.d.ts","sourceRoot":"","sources":["../../../src/molecule/drag-and-drop/upload-report.js"],"names":[],"mappings":"AAkDO;;;;;;;;;;;gBAgGN"}
@@ -107,6 +107,7 @@ export const UploadReport = ({
107
107
  }));
108
108
 
109
109
  const deleteView = onDelete ? /*#__PURE__*/React.createElement("div", {
110
+ "data-testid": "trash-icon",
110
111
  onClick: handleDelete,
111
112
  className: classnames(style.actionIcon, style.trashIcon)
112
113
  }, /*#__PURE__*/React.createElement(TrashIcon, {
@@ -1 +1 @@
1
- {"version":3,"file":"upload-report.js","names":["React","useCallback","PropTypes","NovaCompositionCoorpacademyValidate","Validated","NovaLineContentEditionBin","TrashIcon","NovaCompositionCoorpacademyWarn","WarnIcon","classnames","EXTERNAL_CONTENT_ICONS","InputText","Button","style","SuccessMessage","message","emoticon","propTypes","string","isRequired","ErrorMessage","buttonTitle","primaryColor","selectButton","backgroundColor","UploadReport","state","warningMessage","type","contentType","fields","mode","orLabel","onDelete","handleDelete","e","stopPropagation","preventDefault","stopPropagationHandler","showMessage","fileName","fileView","fileWrapper","validateIcon","warning","showToolTip","warningIcon","emptyFileWrapper","IconType","icon","iconColor","color","buildField","field","index","deleteView","actionIcon","trashIcon","fieldsList","convert","cap","reportingContainer","reportHeader","iconContainer","oval","iconHeader","reportContainer","or","drop","arrayOf","shape","oneOf","func"],"sources":["../../../src/molecule/drag-and-drop/upload-report.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionCoorpacademyValidate as Validated,\n NovaLineContentEditionBin as TrashIcon,\n NovaCompositionCoorpacademyWarn as WarnIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport {pipe, split, last, map, head, getOr, isEmpty, includes} from 'lodash/fp';\nimport {EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport InputText from '../../atom/input-text';\n\nimport Button from '../../atom/button';\nimport style from './upload-report.css';\n\nconst SuccessMessage = ({message}) => (\n <div>\n <span className={style.emoticon}>🎉</span>\n <p className={style.message}>{message}</p>\n </div>\n);\n\nSuccessMessage.propTypes = {\n message: PropTypes.string.isRequired\n};\n\nconst ErrorMessage = ({message, buttonTitle, primaryColor}) => (\n <div>\n <div>\n <span className={style.emoticon}>🥺</span>\n <p className={style.message}>{message}</p>\n </div>\n <div>\n <Button\n data-name=\"cta\"\n type=\"link\"\n submitValue={buttonTitle}\n className={style.selectButton}\n style={{backgroundColor: primaryColor}}\n />\n </div>\n </div>\n);\n\nErrorMessage.propTypes = {\n message: PropTypes.string.isRequired,\n buttonTitle: PropTypes.string,\n primaryColor: PropTypes.string\n};\n\nexport const UploadReport = ({\n state,\n message,\n warningMessage,\n type: contentType,\n fields,\n mode = 'upload',\n orLabel,\n buttonTitle,\n primaryColor,\n onDelete\n}) => {\n const handleDelete = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n onDelete && onDelete(e);\n },\n [onDelete]\n );\n\n const stopPropagationHandler = useCallback(e => {\n e.stopPropagation();\n e.preventDefault();\n }, []);\n\n const showMessage = includes(state, ['success', 'error']);\n\n const fileName = pipe(head, getOr('', 'value'), split('/'), last)(fields);\n const fileView = fileName ? (\n <div className={style.fileWrapper}>\n <div className={style.fileName} title={fileName}>\n {fileName}\n </div>\n {isEmpty(warningMessage) ? (\n <Validated className={style.validateIcon} />\n ) : (\n <div className={style.warning}>\n <div className={style.showToolTip}>\n <span>{warningMessage}</span>\n </div>\n <div className={style.warningIcon}>\n <WarnIcon width={11} height={11} />\n </div>\n </div>\n )}\n </div>\n ) : (\n <div className={style.emptyFileWrapper} />\n );\n const IconType = EXTERNAL_CONTENT_ICONS[contentType].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[contentType].color;\n const buildField = (field, index) => <InputText {...field} key={index} theme={'cockpit'} />;\n const deleteView = onDelete ? (\n <div onClick={handleDelete} className={classnames(style.actionIcon, style.trashIcon)}>\n <TrashIcon width={20} height={20} />\n </div>\n ) : null;\n const fieldsList = map.convert({cap: false})(buildField, fields);\n return (\n <div className={style.reportingContainer}>\n <div className={style.reportHeader} onClick={stopPropagationHandler}>\n <div className={style.iconContainer} style={{backgroundColor: iconColor}}>\n <div className={style.oval}>\n <IconType className={style.iconHeader} style={{color: iconColor}} />\n </div>\n </div>\n {fileView}\n {deleteView}\n </div>\n <div className={style.reportContainer} onClick={stopPropagationHandler}>\n {state === 'success' ? <SuccessMessage message={message} /> : null}\n {state === 'error' ? (\n <ErrorMessage message={message} buttonTitle={buttonTitle} primaryColor={primaryColor} />\n ) : null}\n {mode === 'edit' && !showMessage ? <div>{fieldsList}</div> : null}\n {mode === 'edit' && !showMessage ? <span className={style.or}>{orLabel}</span> : null}\n </div>\n {!showMessage ? (\n <div className={style.drop}>\n <p className={style.message}>{message}</p>\n <Button\n data-name=\"cta\"\n type=\"link\"\n submitValue={buttonTitle}\n className={style.selectButton}\n style={{backgroundColor: primaryColor}}\n />\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default UploadReport;\n\nUploadReport.propTypes = {\n state: PropTypes.string.isRequired,\n message: PropTypes.string.isRequired,\n warningMessage: PropTypes.string,\n orLabel: PropTypes.string,\n type: PropTypes.string,\n fields: PropTypes.arrayOf(\n PropTypes.shape({\n ...InputText.propTypes,\n type: PropTypes.oneOf(['text'])\n })\n ),\n mode: PropTypes.oneOf(['edit', 'upload']),\n buttonTitle: PropTypes.string,\n primaryColor: PropTypes.string,\n onDelete: PropTypes.func\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"upload-report.js","names":["React","useCallback","PropTypes","NovaCompositionCoorpacademyValidate","Validated","NovaLineContentEditionBin","TrashIcon","NovaCompositionCoorpacademyWarn","WarnIcon","classnames","EXTERNAL_CONTENT_ICONS","InputText","Button","style","SuccessMessage","message","emoticon","propTypes","string","isRequired","ErrorMessage","buttonTitle","primaryColor","selectButton","backgroundColor","UploadReport","state","warningMessage","type","contentType","fields","mode","orLabel","onDelete","handleDelete","e","stopPropagation","preventDefault","stopPropagationHandler","showMessage","fileName","fileView","fileWrapper","validateIcon","warning","showToolTip","warningIcon","emptyFileWrapper","IconType","icon","iconColor","color","buildField","field","index","deleteView","actionIcon","trashIcon","fieldsList","convert","cap","reportingContainer","reportHeader","iconContainer","oval","iconHeader","reportContainer","or","drop","arrayOf","shape","oneOf","func"],"sources":["../../../src/molecule/drag-and-drop/upload-report.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionCoorpacademyValidate as Validated,\n NovaLineContentEditionBin as TrashIcon,\n NovaCompositionCoorpacademyWarn as WarnIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport {pipe, split, last, map, head, getOr, isEmpty, includes} from 'lodash/fp';\nimport {EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport InputText from '../../atom/input-text';\n\nimport Button from '../../atom/button';\nimport style from './upload-report.css';\n\nconst SuccessMessage = ({message}) => (\n <div>\n <span className={style.emoticon}>🎉</span>\n <p className={style.message}>{message}</p>\n </div>\n);\n\nSuccessMessage.propTypes = {\n message: PropTypes.string.isRequired\n};\n\nconst ErrorMessage = ({message, buttonTitle, primaryColor}) => (\n <div>\n <div>\n <span className={style.emoticon}>🥺</span>\n <p className={style.message}>{message}</p>\n </div>\n <div>\n <Button\n data-name=\"cta\"\n type=\"link\"\n submitValue={buttonTitle}\n className={style.selectButton}\n style={{backgroundColor: primaryColor}}\n />\n </div>\n </div>\n);\n\nErrorMessage.propTypes = {\n message: PropTypes.string.isRequired,\n buttonTitle: PropTypes.string,\n primaryColor: PropTypes.string\n};\n\nexport const UploadReport = ({\n state,\n message,\n warningMessage,\n type: contentType,\n fields,\n mode = 'upload',\n orLabel,\n buttonTitle,\n primaryColor,\n onDelete\n}) => {\n const handleDelete = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n onDelete && onDelete(e);\n },\n [onDelete]\n );\n\n const stopPropagationHandler = useCallback(e => {\n e.stopPropagation();\n e.preventDefault();\n }, []);\n\n const showMessage = includes(state, ['success', 'error']);\n\n const fileName = pipe(head, getOr('', 'value'), split('/'), last)(fields);\n const fileView = fileName ? (\n <div className={style.fileWrapper}>\n <div className={style.fileName} title={fileName}>\n {fileName}\n </div>\n {isEmpty(warningMessage) ? (\n <Validated className={style.validateIcon} />\n ) : (\n <div className={style.warning}>\n <div className={style.showToolTip}>\n <span>{warningMessage}</span>\n </div>\n <div className={style.warningIcon}>\n <WarnIcon width={11} height={11} />\n </div>\n </div>\n )}\n </div>\n ) : (\n <div className={style.emptyFileWrapper} />\n );\n const IconType = EXTERNAL_CONTENT_ICONS[contentType].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[contentType].color;\n const buildField = (field, index) => <InputText {...field} key={index} theme={'cockpit'} />;\n const deleteView = onDelete ? (\n <div\n data-testid=\"trash-icon\"\n onClick={handleDelete}\n className={classnames(style.actionIcon, style.trashIcon)}\n >\n <TrashIcon width={20} height={20} />\n </div>\n ) : null;\n const fieldsList = map.convert({cap: false})(buildField, fields);\n return (\n <div className={style.reportingContainer}>\n <div className={style.reportHeader} onClick={stopPropagationHandler}>\n <div className={style.iconContainer} style={{backgroundColor: iconColor}}>\n <div className={style.oval}>\n <IconType className={style.iconHeader} style={{color: iconColor}} />\n </div>\n </div>\n {fileView}\n {deleteView}\n </div>\n <div className={style.reportContainer} onClick={stopPropagationHandler}>\n {state === 'success' ? <SuccessMessage message={message} /> : null}\n {state === 'error' ? (\n <ErrorMessage message={message} buttonTitle={buttonTitle} primaryColor={primaryColor} />\n ) : null}\n {mode === 'edit' && !showMessage ? <div>{fieldsList}</div> : null}\n {mode === 'edit' && !showMessage ? <span className={style.or}>{orLabel}</span> : null}\n </div>\n {!showMessage ? (\n <div className={style.drop}>\n <p className={style.message}>{message}</p>\n <Button\n data-name=\"cta\"\n type=\"link\"\n submitValue={buttonTitle}\n className={style.selectButton}\n style={{backgroundColor: primaryColor}}\n />\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default UploadReport;\n\nUploadReport.propTypes = {\n state: PropTypes.string.isRequired,\n message: PropTypes.string.isRequired,\n warningMessage: PropTypes.string,\n orLabel: PropTypes.string,\n type: PropTypes.string,\n fields: PropTypes.arrayOf(\n PropTypes.shape({\n ...InputText.propTypes,\n type: PropTypes.oneOf(['text'])\n })\n ),\n mode: PropTypes.oneOf(['edit', 'upload']),\n buttonTitle: PropTypes.string,\n primaryColor: PropTypes.string,\n onDelete: PropTypes.func\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/draggable/index.js"],"names":[],"mappings":";AAQA,oDA4CC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/draggable/index.js"],"names":[],"mappings":";AAQA,oDA6CC"}
@@ -35,6 +35,7 @@ const Draggable = props => {
35
35
  }, [id, onDrop]);
36
36
  return /*#__PURE__*/React.createElement("div", {
37
37
  className: classnames(dragging ? style.dragging : null, style.draggable),
38
+ "data-testid": `draggable-${id}`,
38
39
  onDragStart: dragStartHandler,
39
40
  onDragOver: dragOverHandler,
40
41
  onDragLeave: dragLeaveHandler,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","PropTypes","classnames","style","preventDefault","e","stopPropagation","Draggable","props","id","dragging","onDragStart","onDragOver","onDragLeave","onDrop","children","dragStartHandler","dragOverHandler","dragLeaveHandler","dropHandler","draggable","propTypes","string","bool","func","element"],"sources":["../../../src/molecule/draggable/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport style from './style.css';\n\nconst preventDefault = e => e.preventDefault();\nconst stopPropagation = e => e.stopPropagation();\n\nconst Draggable = props => {\n const {id, dragging = false, onDragStart, onDragOver, onDragLeave, onDrop, children} = props;\n\n const dragStartHandler = useCallback(\n e => {\n stopPropagation(e);\n onDragStart(id);\n },\n [id, onDragStart]\n );\n const dragOverHandler = useCallback(\n e => {\n preventDefault(e);\n onDragOver(id);\n },\n [id, onDragOver]\n );\n const dragLeaveHandler = useCallback(\n e => {\n preventDefault(e);\n onDragLeave(id);\n },\n [id, onDragLeave]\n );\n const dropHandler = useCallback(\n e => {\n preventDefault(e);\n onDrop(id);\n },\n [id, onDrop]\n );\n\n return (\n <div\n className={classnames(dragging ? style.dragging : null, style.draggable)}\n onDragStart={dragStartHandler}\n onDragOver={dragOverHandler}\n onDragLeave={dragLeaveHandler}\n onDrop={dropHandler}\n draggable\n >\n {children}\n </div>\n );\n};\nDraggable.propTypes = {\n id: PropTypes.string,\n dragging: PropTypes.bool,\n onDragStart: PropTypes.func,\n onDragOver: PropTypes.func,\n onDragLeave: PropTypes.func,\n onDrop: PropTypes.func,\n children: PropTypes.element\n};\n\nexport default Draggable;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,WAAf,QAAiC,OAAjC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,cAAc,GAAGC,CAAC,IAAIA,CAAC,CAACD,cAAF,EAA5B;;AACA,MAAME,eAAe,GAAGD,CAAC,IAAIA,CAAC,CAACC,eAAF,EAA7B;;AAEA,MAAMC,SAAS,GAAGC,KAAK,IAAI;EACzB,MAAM;IAACC,EAAD;IAAKC,QAAQ,GAAG,KAAhB;IAAuBC,WAAvB;IAAoCC,UAApC;IAAgDC,WAAhD;IAA6DC,MAA7D;IAAqEC;EAArE,IAAiFP,KAAvF;EAEA,MAAMQ,gBAAgB,GAAGhB,WAAW,CAClCK,CAAC,IAAI;IACHC,eAAe,CAACD,CAAD,CAAf;IACAM,WAAW,CAACF,EAAD,CAAX;EACD,CAJiC,EAKlC,CAACA,EAAD,EAAKE,WAAL,CALkC,CAApC;EAOA,MAAMM,eAAe,GAAGjB,WAAW,CACjCK,CAAC,IAAI;IACHD,cAAc,CAACC,CAAD,CAAd;IACAO,UAAU,CAACH,EAAD,CAAV;EACD,CAJgC,EAKjC,CAACA,EAAD,EAAKG,UAAL,CALiC,CAAnC;EAOA,MAAMM,gBAAgB,GAAGlB,WAAW,CAClCK,CAAC,IAAI;IACHD,cAAc,CAACC,CAAD,CAAd;IACAQ,WAAW,CAACJ,EAAD,CAAX;EACD,CAJiC,EAKlC,CAACA,EAAD,EAAKI,WAAL,CALkC,CAApC;EAOA,MAAMM,WAAW,GAAGnB,WAAW,CAC7BK,CAAC,IAAI;IACHD,cAAc,CAACC,CAAD,CAAd;IACAS,MAAM,CAACL,EAAD,CAAN;EACD,CAJ4B,EAK7B,CAACA,EAAD,EAAKK,MAAL,CAL6B,CAA/B;EAQA,oBACE;IACE,SAAS,EAAEZ,UAAU,CAACQ,QAAQ,GAAGP,KAAK,CAACO,QAAT,GAAoB,IAA7B,EAAmCP,KAAK,CAACiB,SAAzC,CADvB;IAEE,WAAW,EAAEJ,gBAFf;IAGE,UAAU,EAAEC,eAHd;IAIE,WAAW,EAAEC,gBAJf;IAKE,MAAM,EAAEC,WALV;IAME,SAAS;EANX,GAQGJ,QARH,CADF;AAYD,CA5CD;;AA6CAR,SAAS,CAACc,SAAV,2CAAsB;EACpBZ,EAAE,EAAER,SAAS,CAACqB,MADM;EAEpBZ,QAAQ,EAAET,SAAS,CAACsB,IAFA;EAGpBZ,WAAW,EAAEV,SAAS,CAACuB,IAHH;EAIpBZ,UAAU,EAAEX,SAAS,CAACuB,IAJF;EAKpBX,WAAW,EAAEZ,SAAS,CAACuB,IALH;EAMpBV,MAAM,EAAEb,SAAS,CAACuB,IANE;EAOpBT,QAAQ,EAAEd,SAAS,CAACwB;AAPA,CAAtB;AAUA,eAAelB,SAAf"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","PropTypes","classnames","style","preventDefault","e","stopPropagation","Draggable","props","id","dragging","onDragStart","onDragOver","onDragLeave","onDrop","children","dragStartHandler","dragOverHandler","dragLeaveHandler","dropHandler","draggable","propTypes","string","bool","func","element"],"sources":["../../../src/molecule/draggable/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport style from './style.css';\n\nconst preventDefault = e => e.preventDefault();\nconst stopPropagation = e => e.stopPropagation();\n\nconst Draggable = props => {\n const {id, dragging = false, onDragStart, onDragOver, onDragLeave, onDrop, children} = props;\n\n const dragStartHandler = useCallback(\n e => {\n stopPropagation(e);\n onDragStart(id);\n },\n [id, onDragStart]\n );\n const dragOverHandler = useCallback(\n e => {\n preventDefault(e);\n onDragOver(id);\n },\n [id, onDragOver]\n );\n const dragLeaveHandler = useCallback(\n e => {\n preventDefault(e);\n onDragLeave(id);\n },\n [id, onDragLeave]\n );\n const dropHandler = useCallback(\n e => {\n preventDefault(e);\n onDrop(id);\n },\n [id, onDrop]\n );\n\n return (\n <div\n className={classnames(dragging ? style.dragging : null, style.draggable)}\n data-testid={`draggable-${id}`}\n onDragStart={dragStartHandler}\n onDragOver={dragOverHandler}\n onDragLeave={dragLeaveHandler}\n onDrop={dropHandler}\n draggable\n >\n {children}\n </div>\n );\n};\nDraggable.propTypes = {\n id: PropTypes.string,\n dragging: PropTypes.bool,\n onDragStart: PropTypes.func,\n onDragOver: PropTypes.func,\n onDragLeave: PropTypes.func,\n onDrop: PropTypes.func,\n children: PropTypes.element\n};\n\nexport default Draggable;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,WAAf,QAAiC,OAAjC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,cAAc,GAAGC,CAAC,IAAIA,CAAC,CAACD,cAAF,EAA5B;;AACA,MAAME,eAAe,GAAGD,CAAC,IAAIA,CAAC,CAACC,eAAF,EAA7B;;AAEA,MAAMC,SAAS,GAAGC,KAAK,IAAI;EACzB,MAAM;IAACC,EAAD;IAAKC,QAAQ,GAAG,KAAhB;IAAuBC,WAAvB;IAAoCC,UAApC;IAAgDC,WAAhD;IAA6DC,MAA7D;IAAqEC;EAArE,IAAiFP,KAAvF;EAEA,MAAMQ,gBAAgB,GAAGhB,WAAW,CAClCK,CAAC,IAAI;IACHC,eAAe,CAACD,CAAD,CAAf;IACAM,WAAW,CAACF,EAAD,CAAX;EACD,CAJiC,EAKlC,CAACA,EAAD,EAAKE,WAAL,CALkC,CAApC;EAOA,MAAMM,eAAe,GAAGjB,WAAW,CACjCK,CAAC,IAAI;IACHD,cAAc,CAACC,CAAD,CAAd;IACAO,UAAU,CAACH,EAAD,CAAV;EACD,CAJgC,EAKjC,CAACA,EAAD,EAAKG,UAAL,CALiC,CAAnC;EAOA,MAAMM,gBAAgB,GAAGlB,WAAW,CAClCK,CAAC,IAAI;IACHD,cAAc,CAACC,CAAD,CAAd;IACAQ,WAAW,CAACJ,EAAD,CAAX;EACD,CAJiC,EAKlC,CAACA,EAAD,EAAKI,WAAL,CALkC,CAApC;EAOA,MAAMM,WAAW,GAAGnB,WAAW,CAC7BK,CAAC,IAAI;IACHD,cAAc,CAACC,CAAD,CAAd;IACAS,MAAM,CAACL,EAAD,CAAN;EACD,CAJ4B,EAK7B,CAACA,EAAD,EAAKK,MAAL,CAL6B,CAA/B;EAQA,oBACE;IACE,SAAS,EAAEZ,UAAU,CAACQ,QAAQ,GAAGP,KAAK,CAACO,QAAT,GAAoB,IAA7B,EAAmCP,KAAK,CAACiB,SAAzC,CADvB;IAEE,eAAc,aAAYX,EAAG,EAF/B;IAGE,WAAW,EAAEO,gBAHf;IAIE,UAAU,EAAEC,eAJd;IAKE,WAAW,EAAEC,gBALf;IAME,MAAM,EAAEC,WANV;IAOE,SAAS;EAPX,GASGJ,QATH,CADF;AAaD,CA7CD;;AA8CAR,SAAS,CAACc,SAAV,2CAAsB;EACpBZ,EAAE,EAAER,SAAS,CAACqB,MADM;EAEpBZ,QAAQ,EAAET,SAAS,CAACsB,IAFA;EAGpBZ,WAAW,EAAEV,SAAS,CAACuB,IAHH;EAIpBZ,UAAU,EAAEX,SAAS,CAACuB,IAJF;EAKpBX,WAAW,EAAEZ,SAAS,CAACuB,IALH;EAMpBV,MAAM,EAAEb,SAAS,CAACuB,IANE;EAOpBT,QAAQ,EAAEd,SAAS,CAACwB;AAPA,CAAtB;AAUA,eAAelB,SAAf"}
@@ -629,7 +629,7 @@ class MoocHeader extends React.Component {
629
629
  style: {
630
630
  color: primaryColor
631
631
  }
632
- }))) : null)), searchFormView, /*#__PURE__*/React.createElement("nav", {
632
+ }))) : null)), searchFormView, /*#__PURE__*/React.createElement("div", {
633
633
  className: isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper,
634
634
  "data-name": "menu-wrapper"
635
635
  }, pagesView, userView || linksView, settingsView)));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaSolidVoteRewardsRewardsTrophy5","TrophyIcon","NovaCompositionCoorpacademyCog","CogIcon","NovaCompositionCoorpacademyPlacesHome24","HomeIcon","NovaSolidTimeAlarm","AlarmIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","style","MoocHeader","Component","constructor","props","handleMouseEnter","setState","hovered","handleMouseLeave","state","isSettingsOpen","isMenuOpen","isFocus","isToolTipOpen","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","handleOnMouseOver","handleOnMouseLeave","handleKeyPress","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","activePageAriaLabel","groupAriaLbale","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","itemBadge","name","itemName","activePage","bar","optionsView","more","option","line","_hoverStyle","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","className","languageSelect","selectBoxes","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","tooltipIconContainer","homeIcon","__html","menuWrapper","hiddenMenuWrapper","contextTypes","childContextTypes","propTypes","shape","src","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaCompositionCoorpacademyPlacesHome24 as HomeIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string,\n toolTipText: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n 'group-settings-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false,\n isToolTipOpen: false,\n hovered: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n this.handleOnMouseOver = this.handleOnMouseOver.bind(this);\n this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n handleOnMouseOver() {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n }\n\n handleOnMouseLeave() {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n\n handleKeyPress(event) {\n if (event.key === 'Enter') {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n }\n\n handleMouseEnter = () => {\n this.setState({\n hovered: true\n });\n };\n\n handleMouseLeave = () => {\n this.setState({\n hovered: false\n });\n };\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel,\n 'group-settings-aria-label': groupAriaLbale\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen, isToolTipOpen} = this.state;\n const {translate, skin} = this.context;\n const {\n 'aria-label': logoAriaLabel,\n closeMenuAriaLabel,\n openMenuAriaLabel,\n toolTipText,\n closeToolTipInformationTextAriaLabel\n } = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n <span\n className={style.line}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n const {hovered} = this.state;\n const _hoverStyle = hovered\n ? {\n color: primaryColor\n }\n : null;\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div\n className={style.currentOption}\n aria-haspopup=\"true\"\n data-name=\"item-more\"\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n style={{\n ..._hoverStyle\n }}\n >\n {moreAriaLabel}\n <ArrowDown\n style={{color: mediumColor}}\n className={style.caret}\n aria-label={moreAriaLabel}\n />\n </div>\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} style={{color: white}} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} style={{color: white}} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} style={{color: white}} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n selectProps.className = style.languageSelect;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n <span id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n style={{color: darkColor}}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div\n data-name=\"settings\"\n className={style.settingsGroup}\n role=\"group\"\n aria-label={groupAriaLbale}\n >\n {settingsElements}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div\n className={style.logoWrapper}\n aria-label={toolTipText}\n onMouseOver={this.handleOnMouseOver}\n onMouseLeave={this.handleOnMouseLeave}\n >\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n aria-label={openMenuAriaLabel}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n aria-label={closeMenuAriaLabel}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link\n className={style.logo}\n data-name=\"logo\"\n href={logo.href}\n onKeyDown={this.handleKeyPress}\n tabIndex={0}\n data-testid=\"brand-logo\"\n >\n <Picture src={logoUrl} alt={logoAriaLabel} />\n {isToolTipOpen ? (\n <div aria-label={toolTipText} tabIndex={0} data-testid=\"home-tooltip\">\n <div\n aria-label={`${toolTipText} ${closeToolTipInformationTextAriaLabel}`}\n role=\"tooltip\"\n className={style.tooltipIconContainer}\n tabIndex={0}\n >\n <HomeIcon className={style.homeIcon} style={{color: primaryColor}} />\n <p\n className={style.toolTipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: toolTipText}}\n style={{color: primaryColor}}\n />\n </div>\n </div>\n ) : null}\n </Link>\n </div>\n {searchFormView}\n <nav\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </nav>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyCharts","ChartsIcon","NovaSolidVoteRewardsRewardsTrophy5","TrophyIcon","NovaCompositionCoorpacademyCog","CogIcon","NovaCompositionCoorpacademyPlacesHome24","HomeIcon","NovaSolidTimeAlarm","AlarmIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","style","MoocHeader","Component","constructor","props","handleMouseEnter","setState","hovered","handleMouseLeave","state","isSettingsOpen","isMenuOpen","isFocus","isToolTipOpen","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","handleOnMouseOver","handleOnMouseLeave","handleKeyPress","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","activePageAriaLabel","groupAriaLbale","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","itemBadge","name","itemName","activePage","bar","optionsView","more","option","line","_hoverStyle","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","className","languageSelect","selectBoxes","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","tooltipIconContainer","homeIcon","__html","menuWrapper","hiddenMenuWrapper","contextTypes","childContextTypes","propTypes","shape","src","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaCompositionCoorpacademyPlacesHome24 as HomeIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string,\n toolTipText: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n 'group-settings-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false,\n isToolTipOpen: false,\n hovered: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n this.handleOnMouseOver = this.handleOnMouseOver.bind(this);\n this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n handleOnMouseOver() {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n }\n\n handleOnMouseLeave() {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n\n handleKeyPress(event) {\n if (event.key === 'Enter') {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n }\n\n handleMouseEnter = () => {\n this.setState({\n hovered: true\n });\n };\n\n handleMouseLeave = () => {\n this.setState({\n hovered: false\n });\n };\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel,\n 'group-settings-aria-label': groupAriaLbale\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen, isToolTipOpen} = this.state;\n const {translate, skin} = this.context;\n const {\n 'aria-label': logoAriaLabel,\n closeMenuAriaLabel,\n openMenuAriaLabel,\n toolTipText,\n closeToolTipInformationTextAriaLabel\n } = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n <span\n className={style.line}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n const {hovered} = this.state;\n const _hoverStyle = hovered\n ? {\n color: primaryColor\n }\n : null;\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div\n className={style.currentOption}\n aria-haspopup=\"true\"\n data-name=\"item-more\"\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n style={{\n ..._hoverStyle\n }}\n >\n {moreAriaLabel}\n <ArrowDown\n style={{color: mediumColor}}\n className={style.caret}\n aria-label={moreAriaLabel}\n />\n </div>\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} style={{color: white}} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} style={{color: white}} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} style={{color: white}} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n selectProps.className = style.languageSelect;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n <span id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n style={{color: darkColor}}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div\n data-name=\"settings\"\n className={style.settingsGroup}\n role=\"group\"\n aria-label={groupAriaLbale}\n >\n {settingsElements}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div\n className={style.logoWrapper}\n aria-label={toolTipText}\n onMouseOver={this.handleOnMouseOver}\n onMouseLeave={this.handleOnMouseLeave}\n >\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n aria-label={openMenuAriaLabel}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n aria-label={closeMenuAriaLabel}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link\n className={style.logo}\n data-name=\"logo\"\n href={logo.href}\n onKeyDown={this.handleKeyPress}\n tabIndex={0}\n data-testid=\"brand-logo\"\n >\n <Picture src={logoUrl} alt={logoAriaLabel} />\n {isToolTipOpen ? (\n <div aria-label={toolTipText} tabIndex={0} data-testid=\"home-tooltip\">\n <div\n aria-label={`${toolTipText} ${closeToolTipInformationTextAriaLabel}`}\n role=\"tooltip\"\n className={style.tooltipIconContainer}\n tabIndex={0}\n >\n <HomeIcon className={style.homeIcon} style={{color: primaryColor}} />\n <p\n className={style.toolTipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: toolTipText}}\n style={{color: primaryColor}}\n />\n </div>\n </div>\n ) : null}\n </Link>\n </div>\n {searchFormView}\n <div\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
@@ -27,7 +27,8 @@ const SlidesHeader = (props = {}, context = undefined) => {
27
27
  subcontent: subcontent,
28
28
  mode: mode
29
29
  }) : null, type === HEADER_TYPE.MICROLEARNING ? /*#__PURE__*/React.createElement(Microlearning, {
30
- content: content
30
+ content: content,
31
+ mode: mode
31
32
  }) : null, lives ? /*#__PURE__*/React.createElement(Lives, {
32
33
  count: lives.count
33
34
  }) : null);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","Link","Learner","Microlearning","Lives","style","HEADER_TYPE","LEARNER","MICROLEARNING","SlidesHeader","props","context","undefined","type","content","subcontent","lives","mode","wrapper","count","propTypes","oneOf","shape","href","title","string","isRequired","details"],"sources":["../../../../../../src/template/app-player/player/slides/header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Link from '../../../../../atom/link';\nimport Learner from './learner';\nimport Microlearning from './microlearning';\nimport Lives from './lives';\nimport style from './style.css'; // eslint-disable-line css-modules/no-unused-class\n\nconst HEADER_TYPE = {\n LEARNER: 'learner',\n MICROLEARNING: 'microlearning'\n};\n\nconst SlidesHeader = (props = {}, context = undefined) => {\n const {type, content, subcontent, lives, mode} = props;\n\n return (\n <div data-name=\"slidesHeader\" className={style.wrapper}>\n {type === HEADER_TYPE.LEARNER ? (\n <Learner content={content} subcontent={subcontent} mode={mode} />\n ) : null}\n {type === HEADER_TYPE.MICROLEARNING ? <Microlearning content={content} /> : null}\n {lives ? <Lives count={lives.count} /> : null}\n </div>\n );\n};\n\nSlidesHeader.propTypes = {\n type: PropTypes.oneOf([HEADER_TYPE.LEARNER, HEADER_TYPE.MICROLEARNING]),\n content: PropTypes.shape({\n href: Link.propTypes.href,\n title: PropTypes.string.isRequired,\n details: PropTypes.string\n }),\n subcontent: PropTypes.shape({\n title: PropTypes.string,\n details: PropTypes.string\n }),\n lives: PropTypes.shape(Lives.propTypes),\n mode: PropTypes.string\n};\n\nexport default SlidesHeader;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,0BAAjB;AACA,OAAOC,OAAP,MAAoB,WAApB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,OAAOC,KAAP,MAAkB,aAAlB,C,CAAiC;;AAEjC,MAAMC,WAAW,GAAG;EAClBC,OAAO,EAAE,SADS;EAElBC,aAAa,EAAE;AAFG,CAApB;;AAKA,MAAMC,YAAY,GAAG,CAACC,KAAK,GAAG,EAAT,EAAaC,OAAO,GAAGC,SAAvB,KAAqC;EACxD,MAAM;IAACC,IAAD;IAAOC,OAAP;IAAgBC,UAAhB;IAA4BC,KAA5B;IAAmCC;EAAnC,IAA2CP,KAAjD;EAEA,oBACE;IAAK,aAAU,cAAf;IAA8B,SAAS,EAAEL,KAAK,CAACa;EAA/C,GACGL,IAAI,KAAKP,WAAW,CAACC,OAArB,gBACC,oBAAC,OAAD;IAAS,OAAO,EAAEO,OAAlB;IAA2B,UAAU,EAAEC,UAAvC;IAAmD,IAAI,EAAEE;EAAzD,EADD,GAEG,IAHN,EAIGJ,IAAI,KAAKP,WAAW,CAACE,aAArB,gBAAqC,oBAAC,aAAD;IAAe,OAAO,EAAEM;EAAxB,EAArC,GAA2E,IAJ9E,EAKGE,KAAK,gBAAG,oBAAC,KAAD;IAAO,KAAK,EAAEA,KAAK,CAACG;EAApB,EAAH,GAAmC,IAL3C,CADF;AASD,CAZD;;AAcAV,YAAY,CAACW,SAAb,2CAAyB;EACvBP,IAAI,EAAEb,SAAS,CAACqB,KAAV,CAAgB,CAACf,WAAW,CAACC,OAAb,EAAsBD,WAAW,CAACE,aAAlC,CAAhB,CADiB;EAEvBM,OAAO,EAAEd,SAAS,CAACsB,KAAV,CAAgB;IACvBC,IAAI,EAAEtB,IAAI,CAACmB,SAAL,CAAeG,IADE;IAEvBC,KAAK,EAAExB,SAAS,CAACyB,MAAV,CAAiBC,UAFD;IAGvBC,OAAO,EAAE3B,SAAS,CAACyB;EAHI,CAAhB,CAFc;EAOvBV,UAAU,EAAEf,SAAS,CAACsB,KAAV,CAAgB;IAC1BE,KAAK,EAAExB,SAAS,CAACyB,MADS;IAE1BE,OAAO,EAAE3B,SAAS,CAACyB;EAFO,CAAhB,CAPW;EAWvBT,KAAK,EAAEhB,SAAS,CAACsB,KAAV,CAAgBlB,KAAK,CAACgB,SAAtB,CAXgB;EAYvBH,IAAI,EAAEjB,SAAS,CAACyB;AAZO,CAAzB;AAeA,eAAehB,YAAf"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","Link","Learner","Microlearning","Lives","style","HEADER_TYPE","LEARNER","MICROLEARNING","SlidesHeader","props","context","undefined","type","content","subcontent","lives","mode","wrapper","count","propTypes","oneOf","shape","href","title","string","isRequired","details"],"sources":["../../../../../../src/template/app-player/player/slides/header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Link from '../../../../../atom/link';\nimport Learner from './learner';\nimport Microlearning from './microlearning';\nimport Lives from './lives';\nimport style from './style.css'; // eslint-disable-line css-modules/no-unused-class\n\nconst HEADER_TYPE = {\n LEARNER: 'learner',\n MICROLEARNING: 'microlearning'\n};\n\nconst SlidesHeader = (props = {}, context = undefined) => {\n const {type, content, subcontent, lives, mode} = props;\n\n return (\n <div data-name=\"slidesHeader\" className={style.wrapper}>\n {type === HEADER_TYPE.LEARNER ? (\n <Learner content={content} subcontent={subcontent} mode={mode} />\n ) : null}\n {type === HEADER_TYPE.MICROLEARNING ? <Microlearning content={content} mode={mode} /> : null}\n {lives ? <Lives count={lives.count} /> : null}\n </div>\n );\n};\n\nSlidesHeader.propTypes = {\n type: PropTypes.oneOf([HEADER_TYPE.LEARNER, HEADER_TYPE.MICROLEARNING]),\n content: PropTypes.shape({\n href: Link.propTypes.href,\n title: PropTypes.string.isRequired,\n details: PropTypes.string\n }),\n subcontent: PropTypes.shape({\n title: PropTypes.string,\n details: PropTypes.string\n }),\n lives: PropTypes.shape(Lives.propTypes),\n mode: PropTypes.string\n};\n\nexport default SlidesHeader;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,0BAAjB;AACA,OAAOC,OAAP,MAAoB,WAApB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,OAAOC,KAAP,MAAkB,aAAlB,C,CAAiC;;AAEjC,MAAMC,WAAW,GAAG;EAClBC,OAAO,EAAE,SADS;EAElBC,aAAa,EAAE;AAFG,CAApB;;AAKA,MAAMC,YAAY,GAAG,CAACC,KAAK,GAAG,EAAT,EAAaC,OAAO,GAAGC,SAAvB,KAAqC;EACxD,MAAM;IAACC,IAAD;IAAOC,OAAP;IAAgBC,UAAhB;IAA4BC,KAA5B;IAAmCC;EAAnC,IAA2CP,KAAjD;EAEA,oBACE;IAAK,aAAU,cAAf;IAA8B,SAAS,EAAEL,KAAK,CAACa;EAA/C,GACGL,IAAI,KAAKP,WAAW,CAACC,OAArB,gBACC,oBAAC,OAAD;IAAS,OAAO,EAAEO,OAAlB;IAA2B,UAAU,EAAEC,UAAvC;IAAmD,IAAI,EAAEE;EAAzD,EADD,GAEG,IAHN,EAIGJ,IAAI,KAAKP,WAAW,CAACE,aAArB,gBAAqC,oBAAC,aAAD;IAAe,OAAO,EAAEM,OAAxB;IAAiC,IAAI,EAAEG;EAAvC,EAArC,GAAuF,IAJ1F,EAKGD,KAAK,gBAAG,oBAAC,KAAD;IAAO,KAAK,EAAEA,KAAK,CAACG;EAApB,EAAH,GAAmC,IAL3C,CADF;AASD,CAZD;;AAcAV,YAAY,CAACW,SAAb,2CAAyB;EACvBP,IAAI,EAAEb,SAAS,CAACqB,KAAV,CAAgB,CAACf,WAAW,CAACC,OAAb,EAAsBD,WAAW,CAACE,aAAlC,CAAhB,CADiB;EAEvBM,OAAO,EAAEd,SAAS,CAACsB,KAAV,CAAgB;IACvBC,IAAI,EAAEtB,IAAI,CAACmB,SAAL,CAAeG,IADE;IAEvBC,KAAK,EAAExB,SAAS,CAACyB,MAAV,CAAiBC,UAFD;IAGvBC,OAAO,EAAE3B,SAAS,CAACyB;EAHI,CAAhB,CAFc;EAOvBV,UAAU,EAAEf,SAAS,CAACsB,KAAV,CAAgB;IAC1BE,KAAK,EAAExB,SAAS,CAACyB,MADS;IAE1BE,OAAO,EAAE3B,SAAS,CAACyB;EAFO,CAAhB,CAPW;EAWvBT,KAAK,EAAEhB,SAAS,CAACsB,KAAV,CAAgBlB,KAAK,CAACgB,SAAtB,CAXgB;EAYvBH,IAAI,EAAEjB,SAAS,CAACyB;AAZO,CAAzB;AAeA,eAAehB,YAAf"}
@@ -21,6 +21,16 @@
21
21
  stroke: medium;
22
22
  }
23
23
 
24
+ .contentScorm {
25
+ composes: content;
26
+ cursor: default;
27
+ }
28
+
29
+ .contentScorm:hover {
30
+ color: dark;
31
+ stroke: dark;
32
+ }
33
+
24
34
  .backIcon {
25
35
  composes: backIcon from './style.css';
26
36
  color: inherit;
@@ -6,6 +6,7 @@ declare namespace MicrolearningHeader {
6
6
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
7
7
  title: PropTypes.Validator<string>;
8
8
  }>>;
9
+ const mode: PropTypes.Requireable<string>;
9
10
  }
10
11
  }
11
12
  import PropTypes from "prop-types";
@@ -1 +1 @@
1
- {"version":3,"file":"microlearning.d.ts","sourceRoot":"","sources":["../../../../../../src/template/app-player/player/slides/header/microlearning.js"],"names":[],"mappings":";AAwBA,4EAGC"}
1
+ {"version":3,"file":"microlearning.d.ts","sourceRoot":"","sources":["../../../../../../src/template/app-player/player/slides/header/microlearning.js"],"names":[],"mappings":";AAqCA,4EAGC"}