@coorpacademy/components 11.14.21-alpha.1 → 11.14.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/atom/button-link-icon-only/index.d.ts.map +1 -1
- package/es/atom/button-link-icon-only/index.js +1 -0
- package/es/atom/button-link-icon-only/index.js.map +1 -1
- package/es/molecule/audio/index.d.ts.map +1 -1
- package/es/molecule/audio/index.js +1 -0
- package/es/molecule/audio/index.js.map +1 -1
- package/es/molecule/drag-and-drop/index.js +3 -1
- package/es/molecule/drag-and-drop/index.js.map +1 -1
- package/es/molecule/drag-and-drop/overlay.d.ts.map +1 -1
- package/es/molecule/drag-and-drop/overlay.js +2 -1
- package/es/molecule/drag-and-drop/overlay.js.map +1 -1
- package/es/molecule/drag-and-drop/upload-report.d.ts.map +1 -1
- package/es/molecule/drag-and-drop/upload-report.js +1 -0
- package/es/molecule/drag-and-drop/upload-report.js.map +1 -1
- package/es/molecule/draggable/index.d.ts.map +1 -1
- package/es/molecule/draggable/index.js +1 -0
- package/es/molecule/draggable/index.js.map +1 -1
- package/es/molecule/expandible-actionable-table/index.d.ts.map +1 -1
- package/es/molecule/expandible-actionable-table/index.js +1 -0
- package/es/molecule/expandible-actionable-table/index.js.map +1 -1
- package/es/molecule/forum/forum-comment/index.js +2 -2
- package/es/molecule/forum/forum-comment/index.js.map +1 -1
- package/es/organism/mooc-header/index.js +1 -1
- package/es/organism/mooc-header/index.js.map +1 -1
- package/es/template/app-player/player/slides/header/index.js +2 -1
- package/es/template/app-player/player/slides/header/index.js.map +1 -1
- package/es/template/app-player/player/slides/header/microlearning.css +10 -0
- package/es/template/app-player/player/slides/header/microlearning.d.ts +1 -0
- package/es/template/app-player/player/slides/header/microlearning.d.ts.map +1 -1
- package/es/template/app-player/player/slides/header/microlearning.js +34 -18
- package/es/template/app-player/player/slides/header/microlearning.js.map +1 -1
- package/lib/atom/button-link-icon-only/index.d.ts.map +1 -1
- package/lib/atom/button-link-icon-only/index.js +1 -0
- package/lib/atom/button-link-icon-only/index.js.map +1 -1
- package/lib/molecule/audio/index.d.ts.map +1 -1
- package/lib/molecule/audio/index.js +1 -0
- package/lib/molecule/audio/index.js.map +1 -1
- package/lib/molecule/drag-and-drop/index.js +3 -1
- package/lib/molecule/drag-and-drop/index.js.map +1 -1
- package/lib/molecule/drag-and-drop/overlay.d.ts.map +1 -1
- package/lib/molecule/drag-and-drop/overlay.js +2 -1
- package/lib/molecule/drag-and-drop/overlay.js.map +1 -1
- package/lib/molecule/drag-and-drop/upload-report.d.ts.map +1 -1
- package/lib/molecule/drag-and-drop/upload-report.js +1 -0
- package/lib/molecule/drag-and-drop/upload-report.js.map +1 -1
- package/lib/molecule/draggable/index.d.ts.map +1 -1
- package/lib/molecule/draggable/index.js +1 -0
- package/lib/molecule/draggable/index.js.map +1 -1
- package/lib/molecule/expandible-actionable-table/index.d.ts.map +1 -1
- package/lib/molecule/expandible-actionable-table/index.js +1 -0
- package/lib/molecule/expandible-actionable-table/index.js.map +1 -1
- package/lib/molecule/forum/forum-comment/index.js +2 -2
- package/lib/molecule/forum/forum-comment/index.js.map +1 -1
- package/lib/organism/mooc-header/index.js +1 -1
- package/lib/organism/mooc-header/index.js.map +1 -1
- package/lib/template/app-player/player/slides/header/index.js +2 -1
- package/lib/template/app-player/player/slides/header/index.js.map +1 -1
- package/lib/template/app-player/player/slides/header/microlearning.css +10 -0
- package/lib/template/app-player/player/slides/header/microlearning.d.ts +1 -0
- package/lib/template/app-player/player/slides/header/microlearning.d.ts.map +1 -1
- package/lib/template/app-player/player/slides/header/microlearning.js +35 -18
- package/lib/template/app-player/player/slides/header/microlearning.js.map +1 -1
- package/locales/en/global.json +1 -2
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-report.js","names":["SuccessMessage","message","style","emoticon","propTypes","PropTypes","string","isRequired","ErrorMessage","buttonTitle","primaryColor","selectButton","backgroundColor","UploadReport","state","warningMessage","type","contentType","fields","mode","orLabel","onDelete","handleDelete","useCallback","e","stopPropagation","preventDefault","stopPropagationHandler","showMessage","fileName","fileView","fileWrapper","validateIcon","warning","showToolTip","warningIcon","emptyFileWrapper","IconType","EXTERNAL_CONTENT_ICONS","icon","iconColor","color","buildField","field","index","deleteView","classnames","actionIcon","trashIcon","fieldsList","convert","cap","reportingContainer","reportHeader","iconContainer","oval","iconHeader","reportContainer","or","drop","arrayOf","shape","InputText","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":["SuccessMessage","message","style","emoticon","propTypes","PropTypes","string","isRequired","ErrorMessage","buttonTitle","primaryColor","selectButton","backgroundColor","UploadReport","state","warningMessage","type","contentType","fields","mode","orLabel","onDelete","handleDelete","useCallback","e","stopPropagation","preventDefault","stopPropagationHandler","showMessage","fileName","fileView","fileWrapper","validateIcon","warning","showToolTip","warningIcon","emptyFileWrapper","IconType","EXTERNAL_CONTENT_ICONS","icon","iconColor","color","buildField","field","index","deleteView","classnames","actionIcon","trashIcon","fieldsList","convert","cap","reportingContainer","reportHeader","iconContainer","oval","iconHeader","reportContainer","or","drop","arrayOf","shape","InputText","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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/draggable/index.js"],"names":[],"mappings":";AAQA,oDA6CC"}
|
|
@@ -49,6 +49,7 @@ const Draggable = props => {
|
|
|
49
49
|
}, [id, onDrop]);
|
|
50
50
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
51
51
|
className: (0, _classnames.default)(dragging ? _style.default.dragging : null, _style.default.draggable),
|
|
52
|
+
"data-testid": `draggable-${id}`,
|
|
52
53
|
onDragStart: dragStartHandler,
|
|
53
54
|
onDragOver: dragOverHandler,
|
|
54
55
|
onDragLeave: dragLeaveHandler,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["preventDefault","e","stopPropagation","Draggable","props","id","dragging","onDragStart","onDragOver","onDragLeave","onDrop","children","dragStartHandler","useCallback","dragOverHandler","dragLeaveHandler","dropHandler","classnames","style","draggable","propTypes","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;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,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,GAAG,IAAAC,kBAAA,EACvBZ,CAAC,IAAI;IACHC,eAAe,CAACD,CAAD,CAAf;IACAM,WAAW,CAACF,EAAD,CAAX;EACD,CAJsB,EAKvB,CAACA,EAAD,EAAKE,WAAL,CALuB,CAAzB;EAOA,MAAMO,eAAe,GAAG,IAAAD,kBAAA,EACtBZ,CAAC,IAAI;IACHD,cAAc,CAACC,CAAD,CAAd;IACAO,UAAU,CAACH,EAAD,CAAV;EACD,CAJqB,EAKtB,CAACA,EAAD,EAAKG,UAAL,CALsB,CAAxB;EAOA,MAAMO,gBAAgB,GAAG,IAAAF,kBAAA,EACvBZ,CAAC,IAAI;IACHD,cAAc,CAACC,CAAD,CAAd;IACAQ,WAAW,CAACJ,EAAD,CAAX;EACD,CAJsB,EAKvB,CAACA,EAAD,EAAKI,WAAL,CALuB,CAAzB;EAOA,MAAMO,WAAW,GAAG,IAAAH,kBAAA,EAClBZ,CAAC,IAAI;IACHD,cAAc,CAACC,CAAD,CAAd;IACAS,MAAM,CAACL,EAAD,CAAN;EACD,CAJiB,EAKlB,CAACA,EAAD,EAAKK,MAAL,CALkB,CAApB;EAQA,oBACE;IACE,SAAS,EAAE,IAAAO,mBAAA,EAAWX,QAAQ,GAAGY,cAAA,CAAMZ,QAAT,GAAoB,IAAvC,EAA6CY,cAAA,CAAMC,SAAnD,CADb;IAEE,
|
|
1
|
+
{"version":3,"file":"index.js","names":["preventDefault","e","stopPropagation","Draggable","props","id","dragging","onDragStart","onDragOver","onDragLeave","onDrop","children","dragStartHandler","useCallback","dragOverHandler","dragLeaveHandler","dropHandler","classnames","style","draggable","propTypes","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;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,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,GAAG,IAAAC,kBAAA,EACvBZ,CAAC,IAAI;IACHC,eAAe,CAACD,CAAD,CAAf;IACAM,WAAW,CAACF,EAAD,CAAX;EACD,CAJsB,EAKvB,CAACA,EAAD,EAAKE,WAAL,CALuB,CAAzB;EAOA,MAAMO,eAAe,GAAG,IAAAD,kBAAA,EACtBZ,CAAC,IAAI;IACHD,cAAc,CAACC,CAAD,CAAd;IACAO,UAAU,CAACH,EAAD,CAAV;EACD,CAJqB,EAKtB,CAACA,EAAD,EAAKG,UAAL,CALsB,CAAxB;EAOA,MAAMO,gBAAgB,GAAG,IAAAF,kBAAA,EACvBZ,CAAC,IAAI;IACHD,cAAc,CAACC,CAAD,CAAd;IACAQ,WAAW,CAACJ,EAAD,CAAX;EACD,CAJsB,EAKvB,CAACA,EAAD,EAAKI,WAAL,CALuB,CAAzB;EAOA,MAAMO,WAAW,GAAG,IAAAH,kBAAA,EAClBZ,CAAC,IAAI;IACHD,cAAc,CAACC,CAAD,CAAd;IACAS,MAAM,CAACL,EAAD,CAAN;EACD,CAJiB,EAKlB,CAACA,EAAD,EAAKK,MAAL,CALkB,CAApB;EAQA,oBACE;IACE,SAAS,EAAE,IAAAO,mBAAA,EAAWX,QAAQ,GAAGY,cAAA,CAAMZ,QAAT,GAAoB,IAAvC,EAA6CY,cAAA,CAAMC,SAAnD,CADb;IAEE,eAAc,aAAYd,EAAG,EAF/B;IAGE,WAAW,EAAEO,gBAHf;IAIE,UAAU,EAAEE,eAJd;IAKE,WAAW,EAAEC,gBALf;IAME,MAAM,EAAEC,WANV;IAOE,SAAS;EAPX,GASGL,QATH,CADF;AAaD,CA7CD;;AA8CAR,SAAS,CAACiB,SAAV,2CAAsB;EACpBf,EAAE,EAAEgB,kBAAA,CAAUC,MADM;EAEpBhB,QAAQ,EAAEe,kBAAA,CAAUE,IAFA;EAGpBhB,WAAW,EAAEc,kBAAA,CAAUG,IAHH;EAIpBhB,UAAU,EAAEa,kBAAA,CAAUG,IAJF;EAKpBf,WAAW,EAAEY,kBAAA,CAAUG,IALH;EAMpBd,MAAM,EAAEW,kBAAA,CAAUG,IANE;EAOpBb,QAAQ,EAAEU,kBAAA,CAAUI;AAPA,CAAtB;eAUetB,S"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAMjE,OAAO,EAA2C,KAAK,EAAY,MAAM,SAAS,CAAC;AAiCnF,QAAA,MAAM,+BAA+B;YAAW,KAAK,iBAAiB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAMjE,OAAO,EAA2C,KAAK,EAAY,MAAM,SAAS,CAAC;AAiCnF,QAAA,MAAM,+BAA+B;YAAW,KAAK,iBAAiB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsKrF,CAAC;AASF,eAAe,+BAA+B,CAAC"}
|
|
@@ -199,6 +199,7 @@ const ActionableExpandableErrorsTable = (props, legacyContext) => {
|
|
|
199
199
|
'aria-describedby': ariaDescribedby
|
|
200
200
|
} : {}, {
|
|
201
201
|
className: _style.default.table,
|
|
202
|
+
"data-testid": "expandible-actionable-table",
|
|
202
203
|
"data-name": "expandible-actionable-table"
|
|
203
204
|
}), /*#__PURE__*/_react.default.createElement("thead", {
|
|
204
205
|
className: isNestedTable ? _style.default.theadNested : _style.default.thead
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["buildField","field","componentType","buildLastField","lastField","buildNestedRow","row","ActionableExpandableErrorsTable","props","legacyContext","columns","rows","stickyFirstColumn","stickyLastColumn","ariaDescribedby","columnWidth","isNestedTable","translate","GetTranslateFromContext","expandedRows","setExpandedRows","useState","expandState","setExpandState","handleExpandRow","index","isRowExpanded","newExpandedRows","filter","id","concat","expandedState","forEach","headerRow","map","column","cIndex","title","classnames","style","headerFirstSticky","headerFirst","header","push","headerLastSticky","headerLast","headerView","bodyView","fields","isRowExpandible","bodyRow","fIndex","cellContent","columFirstWrapper","expandButtonWrapper","columnFirstSticky","columnFirst","col","width","columnLastSticky","columnLast","inspectButton","nestedRow","nestedRowCellule","includes","length","wrapper","table","theadNested","thead","contextTypes","skin","Provider","childContextTypes","propTypes"],"sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport classnames from 'classnames';\nimport {get, isString, size, includes} from 'lodash/fp';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport StatusItem from '../../atom/status-item';\nimport BulkProgressBar from '../bulk-progress-bar';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport BulletPointMenuButton from '../bullet-point-menu-button';\nimport ButtonLink from '../../atom/button-link';\nimport ErrorsTable from '../errors-table';\nimport style from './style.css';\nimport {ExpandState, Field, LastField, NestedRow, Props, propTypes} from './types';\n\nconst buildField = (field: Field) => {\n if (isString(field)) return field;\n const {componentType} = field;\n switch (componentType) {\n case 'status':\n return <StatusItem {...field} />;\n case 'progress-bar':\n return <BulkProgressBar {...field} />;\n }\n};\n\nconst buildLastField = (lastField: LastField) => {\n const {componentType} = lastField;\n switch (componentType) {\n case 'menu':\n return <BulletPointMenuButton {...lastField} />;\n case 'button-link':\n return <ButtonLink {...lastField} />;\n }\n};\n\nconst buildNestedRow = (row: NestedRow) => {\n const {componentType} = row;\n switch (componentType) {\n case 'errors-table':\n return <ErrorsTable {...row} />;\n case 'expandible-errors-table':\n return <ActionableExpandableErrorsTable {...row} />;\n }\n};\n\nconst ActionableExpandableErrorsTable = (props: Props, legacyContext: WebContextValues) => {\n const {\n columns,\n rows = [],\n lastField,\n stickyFirstColumn = false,\n stickyLastColumn = false,\n ariaDescribedby,\n columnWidth = `${100 / size(columns)}%`,\n isNestedTable = false\n } = props;\n const translate = GetTranslateFromContext(legacyContext);\n\n /**\n * State variable to keep track of all the expanded rows\n * By default, nothing expanded. Hence initialized with empty array.\n */\n const [expandedRows, setExpandedRows] = useState<number[]>([]);\n\n /**\n * State variable to keep track which row is currently expanded.\n */\n const [expandState, setExpandState] = useState<ExpandState>({});\n\n /**\n * This function gets called when show/hide link is clicked.\n */\n const handleExpandRow = (index: number) => () => {\n const isRowExpanded = includes(index, expandedRows);\n\n /**\n * If the row is expanded, we are here to hide it. Hence remove\n * it from the state variable. Otherwise add to it.\n */\n const newExpandedRows = isRowExpanded\n ? expandedRows.filter(id => id !== index)\n : expandedRows.concat(index);\n\n setExpandedRows(newExpandedRows);\n\n /**\n * Create a new object to update the expanded state of all rows\n * Use the newExpandedRows array to set the state of all rows that are currently expanded\n */\n const expandedState: ExpandState = {};\n newExpandedRows.forEach(id => {\n expandedState[id] = true;\n });\n\n setExpandState(expandedState);\n };\n\n const headerRow = columns.map((column, cIndex) => {\n const {title} = column;\n return (\n <th\n className={\n cIndex === 0\n ? classnames(\n stickyFirstColumn ? style.headerFirstSticky : style.headerFirst,\n style.header\n )\n : style.header\n }\n key={`${title}-${cIndex}`}\n role=\"columnheader\"\n >\n {title}\n </th>\n );\n });\n\n headerRow.push(\n <th\n className={stickyLastColumn ? style.headerLastSticky : style.headerLast}\n key=\"action-header\"\n />\n );\n const headerView = [...headerRow];\n\n const bodyView = rows.map((row, index) => {\n const {fields, isRowExpandible = false} = row;\n const bodyRow = fields.map((field, fIndex) => {\n const cellContent =\n fIndex === 0 ? (\n <div className={style.columFirstWrapper}>\n <div className={style.expandButtonWrapper}>\n {isRowExpandible ? (\n <ButtonLinkIconOnly\n onClick={handleExpandRow(index)}\n data-name={`arrowUp-button-${index}`}\n icon=\"down\"\n className={expandState[index] ? 'bulkArrowUp' : 'bulkArrowDown'}\n aria-label={translate('bulk_import.show_errors')}\n />\n ) : null}\n </div>\n {buildField(field)}\n </div>\n ) : (\n buildField(field)\n );\n return (\n <td\n className={\n fIndex === 0\n ? classnames(\n stickyFirstColumn ? style.columnFirstSticky : style.columnFirst,\n style.col\n )\n : style.col\n }\n style={{width: columnWidth}}\n key={`${field}-${fIndex}`}\n >\n {cellContent}\n </td>\n );\n });\n\n bodyRow.push(\n <td\n className={stickyLastColumn ? style.columnLastSticky : style.columnLast}\n key=\"actionHeader\"\n >\n {lastField ? (\n <div\n className={classnames({\n [style.inspectButton]: get('className', lastField) === 'bulkInspectButton'\n })}\n >\n {buildLastField(lastField)}\n </div>\n ) : null}\n </td>\n );\n const nestedRow = get('nestedRow', row);\n const nestedRowCellule =\n nestedRow && expandedRows.includes(index) ? (\n <tr key={`line-${index}-error`}>\n <td className={style.nestedRowCellule} colSpan={fields.length + 2}>\n {buildNestedRow(nestedRow)}\n </td>\n </tr>\n ) : null;\n\n return nestedRowCellule\n ? [<tr key={`line-${index}`}>{bodyRow}</tr>, nestedRowCellule]\n : [<tr key={`line-${index}`}>{bodyRow}</tr>];\n });\n\n return (\n <div className={style.wrapper}>\n <table\n {...(ariaDescribedby ? {'aria-describedby': ariaDescribedby} : {})}\n className={style.table}\n data-name=\"expandible-actionable-table\"\n >\n <thead className={isNestedTable ? style.theadNested : style.thead}>\n <tr>{headerView}</tr>\n </thead>\n <tbody>{bodyView}</tbody>\n </table>\n </div>\n );\n};\n\nActionableExpandableErrorsTable.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nActionableExpandableErrorsTable.propTypes = propTypes;\n\nexport default ActionableExpandableErrorsTable;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["buildField","field","componentType","buildLastField","lastField","buildNestedRow","row","ActionableExpandableErrorsTable","props","legacyContext","columns","rows","stickyFirstColumn","stickyLastColumn","ariaDescribedby","columnWidth","isNestedTable","translate","GetTranslateFromContext","expandedRows","setExpandedRows","useState","expandState","setExpandState","handleExpandRow","index","isRowExpanded","newExpandedRows","filter","id","concat","expandedState","forEach","headerRow","map","column","cIndex","title","classnames","style","headerFirstSticky","headerFirst","header","push","headerLastSticky","headerLast","headerView","bodyView","fields","isRowExpandible","bodyRow","fIndex","cellContent","columFirstWrapper","expandButtonWrapper","columnFirstSticky","columnFirst","col","width","columnLastSticky","columnLast","inspectButton","nestedRow","nestedRowCellule","includes","length","wrapper","table","theadNested","thead","contextTypes","skin","Provider","childContextTypes","propTypes"],"sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport classnames from 'classnames';\nimport {get, isString, size, includes} from 'lodash/fp';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport StatusItem from '../../atom/status-item';\nimport BulkProgressBar from '../bulk-progress-bar';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport BulletPointMenuButton from '../bullet-point-menu-button';\nimport ButtonLink from '../../atom/button-link';\nimport ErrorsTable from '../errors-table';\nimport style from './style.css';\nimport {ExpandState, Field, LastField, NestedRow, Props, propTypes} from './types';\n\nconst buildField = (field: Field) => {\n if (isString(field)) return field;\n const {componentType} = field;\n switch (componentType) {\n case 'status':\n return <StatusItem {...field} />;\n case 'progress-bar':\n return <BulkProgressBar {...field} />;\n }\n};\n\nconst buildLastField = (lastField: LastField) => {\n const {componentType} = lastField;\n switch (componentType) {\n case 'menu':\n return <BulletPointMenuButton {...lastField} />;\n case 'button-link':\n return <ButtonLink {...lastField} />;\n }\n};\n\nconst buildNestedRow = (row: NestedRow) => {\n const {componentType} = row;\n switch (componentType) {\n case 'errors-table':\n return <ErrorsTable {...row} />;\n case 'expandible-errors-table':\n return <ActionableExpandableErrorsTable {...row} />;\n }\n};\n\nconst ActionableExpandableErrorsTable = (props: Props, legacyContext: WebContextValues) => {\n const {\n columns,\n rows = [],\n lastField,\n stickyFirstColumn = false,\n stickyLastColumn = false,\n ariaDescribedby,\n columnWidth = `${100 / size(columns)}%`,\n isNestedTable = false\n } = props;\n const translate = GetTranslateFromContext(legacyContext);\n\n /**\n * State variable to keep track of all the expanded rows\n * By default, nothing expanded. Hence initialized with empty array.\n */\n const [expandedRows, setExpandedRows] = useState<number[]>([]);\n\n /**\n * State variable to keep track which row is currently expanded.\n */\n const [expandState, setExpandState] = useState<ExpandState>({});\n\n /**\n * This function gets called when show/hide link is clicked.\n */\n const handleExpandRow = (index: number) => () => {\n const isRowExpanded = includes(index, expandedRows);\n\n /**\n * If the row is expanded, we are here to hide it. Hence remove\n * it from the state variable. Otherwise add to it.\n */\n const newExpandedRows = isRowExpanded\n ? expandedRows.filter(id => id !== index)\n : expandedRows.concat(index);\n\n setExpandedRows(newExpandedRows);\n\n /**\n * Create a new object to update the expanded state of all rows\n * Use the newExpandedRows array to set the state of all rows that are currently expanded\n */\n const expandedState: ExpandState = {};\n newExpandedRows.forEach(id => {\n expandedState[id] = true;\n });\n\n setExpandState(expandedState);\n };\n\n const headerRow = columns.map((column, cIndex) => {\n const {title} = column;\n return (\n <th\n className={\n cIndex === 0\n ? classnames(\n stickyFirstColumn ? style.headerFirstSticky : style.headerFirst,\n style.header\n )\n : style.header\n }\n key={`${title}-${cIndex}`}\n role=\"columnheader\"\n >\n {title}\n </th>\n );\n });\n\n headerRow.push(\n <th\n className={stickyLastColumn ? style.headerLastSticky : style.headerLast}\n key=\"action-header\"\n />\n );\n const headerView = [...headerRow];\n\n const bodyView = rows.map((row, index) => {\n const {fields, isRowExpandible = false} = row;\n const bodyRow = fields.map((field, fIndex) => {\n const cellContent =\n fIndex === 0 ? (\n <div className={style.columFirstWrapper}>\n <div className={style.expandButtonWrapper}>\n {isRowExpandible ? (\n <ButtonLinkIconOnly\n onClick={handleExpandRow(index)}\n data-name={`arrowUp-button-${index}`}\n icon=\"down\"\n className={expandState[index] ? 'bulkArrowUp' : 'bulkArrowDown'}\n aria-label={translate('bulk_import.show_errors')}\n />\n ) : null}\n </div>\n {buildField(field)}\n </div>\n ) : (\n buildField(field)\n );\n return (\n <td\n className={\n fIndex === 0\n ? classnames(\n stickyFirstColumn ? style.columnFirstSticky : style.columnFirst,\n style.col\n )\n : style.col\n }\n style={{width: columnWidth}}\n key={`${field}-${fIndex}`}\n >\n {cellContent}\n </td>\n );\n });\n\n bodyRow.push(\n <td\n className={stickyLastColumn ? style.columnLastSticky : style.columnLast}\n key=\"actionHeader\"\n >\n {lastField ? (\n <div\n className={classnames({\n [style.inspectButton]: get('className', lastField) === 'bulkInspectButton'\n })}\n >\n {buildLastField(lastField)}\n </div>\n ) : null}\n </td>\n );\n const nestedRow = get('nestedRow', row);\n const nestedRowCellule =\n nestedRow && expandedRows.includes(index) ? (\n <tr key={`line-${index}-error`}>\n <td className={style.nestedRowCellule} colSpan={fields.length + 2}>\n {buildNestedRow(nestedRow)}\n </td>\n </tr>\n ) : null;\n\n return nestedRowCellule\n ? [<tr key={`line-${index}`}>{bodyRow}</tr>, nestedRowCellule]\n : [<tr key={`line-${index}`}>{bodyRow}</tr>];\n });\n\n return (\n <div className={style.wrapper}>\n <table\n {...(ariaDescribedby ? {'aria-describedby': ariaDescribedby} : {})}\n className={style.table}\n data-testid=\"expandible-actionable-table\"\n data-name=\"expandible-actionable-table\"\n >\n <thead className={isNestedTable ? style.theadNested : style.thead}>\n <tr>{headerView}</tr>\n </thead>\n <tbody>{bodyView}</tbody>\n </table>\n </div>\n );\n};\n\nActionableExpandableErrorsTable.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nActionableExpandableErrorsTable.propTypes = propTypes;\n\nexport default ActionableExpandableErrorsTable;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,UAAU,GAAIC,KAAD,IAAkB;EACnC,IAAI,wBAASA,KAAT,CAAJ,EAAqB,OAAOA,KAAP;EACrB,MAAM;IAACC;EAAD,IAAkBD,KAAxB;;EACA,QAAQC,aAAR;IACE,KAAK,QAAL;MACE,oBAAO,6BAAC,mBAAD,EAAgBD,KAAhB,CAAP;;IACF,KAAK,cAAL;MACE,oBAAO,6BAAC,wBAAD,EAAqBA,KAArB,CAAP;EAJJ;AAMD,CATD;;AAWA,MAAME,cAAc,GAAIC,SAAD,IAA0B;EAC/C,MAAM;IAACF;EAAD,IAAkBE,SAAxB;;EACA,QAAQF,aAAR;IACE,KAAK,MAAL;MACE,oBAAO,6BAAC,8BAAD,EAA2BE,SAA3B,CAAP;;IACF,KAAK,aAAL;MACE,oBAAO,6BAAC,mBAAD,EAAgBA,SAAhB,CAAP;EAJJ;AAMD,CARD;;AAUA,MAAMC,cAAc,GAAIC,GAAD,IAAoB;EACzC,MAAM;IAACJ;EAAD,IAAkBI,GAAxB;;EACA,QAAQJ,aAAR;IACE,KAAK,cAAL;MACE,oBAAO,6BAAC,oBAAD,EAAiBI,GAAjB,CAAP;;IACF,KAAK,yBAAL;MACE,oBAAO,6BAAC,+BAAD,EAAqCA,GAArC,CAAP;EAJJ;AAMD,CARD;;AAUA,MAAMC,+BAA+B,GAAG,CAACC,KAAD,EAAeC,aAAf,KAAmD;EACzF,MAAM;IACJC,OADI;IAEJC,IAAI,GAAG,EAFH;IAGJP,SAHI;IAIJQ,iBAAiB,GAAG,KAJhB;IAKJC,gBAAgB,GAAG,KALf;IAMJC,eANI;IAOJC,WAAW,GAAI,GAAE,MAAM,oBAAKL,OAAL,CAAc,GAPjC;IAQJM,aAAa,GAAG;EARZ,IASFR,KATJ;EAUA,MAAMS,SAAS,GAAG,IAAAC,iCAAA,EAAwBT,aAAxB,CAAlB;EAEA;AACF;AACA;AACA;;EACE,MAAM,CAACU,YAAD,EAAeC,eAAf,IAAkC,IAAAC,eAAA,EAAmB,EAAnB,CAAxC;EAEA;AACF;AACA;;EACE,MAAM,CAACC,WAAD,EAAcC,cAAd,IAAgC,IAAAF,eAAA,EAAsB,EAAtB,CAAtC;EAEA;AACF;AACA;;EACE,MAAMG,eAAe,GAAIC,KAAD,IAAmB,MAAM;IAC/C,MAAMC,aAAa,GAAG,wBAASD,KAAT,EAAgBN,YAAhB,CAAtB;IAEA;AACJ;AACA;AACA;;IACI,MAAMQ,eAAe,GAAGD,aAAa,GACjCP,YAAY,CAACS,MAAb,CAAoBC,EAAE,IAAIA,EAAE,KAAKJ,KAAjC,CADiC,GAEjCN,YAAY,CAACW,MAAb,CAAoBL,KAApB,CAFJ;IAIAL,eAAe,CAACO,eAAD,CAAf;IAEA;AACJ;AACA;AACA;;IACI,MAAMI,aAA0B,GAAG,EAAnC;IACAJ,eAAe,CAACK,OAAhB,CAAwBH,EAAE,IAAI;MAC5BE,aAAa,CAACF,EAAD,CAAb,GAAoB,IAApB;IACD,CAFD;IAIAN,cAAc,CAACQ,aAAD,CAAd;EACD,CAvBD;;EAyBA,MAAME,SAAS,GAAGvB,OAAO,CAACwB,GAAR,CAAY,CAACC,MAAD,EAASC,MAAT,KAAoB;IAChD,MAAM;MAACC;IAAD,IAAUF,MAAhB;IACA,oBACE;MACE,SAAS,EACPC,MAAM,KAAK,CAAX,GACI,IAAAE,mBAAA,EACE1B,iBAAiB,GAAG2B,cAAA,CAAMC,iBAAT,GAA6BD,cAAA,CAAME,WADtD,EAEEF,cAAA,CAAMG,MAFR,CADJ,GAKIH,cAAA,CAAMG,MAPd;MASE,GAAG,EAAG,GAAEL,KAAM,IAAGD,MAAO,EAT1B;MAUE,IAAI,EAAC;IAVP,GAYGC,KAZH,CADF;EAgBD,CAlBiB,CAAlB;EAoBAJ,SAAS,CAACU,IAAV,eACE;IACE,SAAS,EAAE9B,gBAAgB,GAAG0B,cAAA,CAAMK,gBAAT,GAA4BL,cAAA,CAAMM,UAD/D;IAEE,GAAG,EAAC;EAFN,EADF;EAMA,MAAMC,UAAU,GAAG,CAAC,GAAGb,SAAJ,CAAnB;EAEA,MAAMc,QAAQ,GAAGpC,IAAI,CAACuB,GAAL,CAAS,CAAC5B,GAAD,EAAMmB,KAAN,KAAgB;IACxC,MAAM;MAACuB,MAAD;MAASC,eAAe,GAAG;IAA3B,IAAoC3C,GAA1C;IACA,MAAM4C,OAAO,GAAGF,MAAM,CAACd,GAAP,CAAW,CAACjC,KAAD,EAAQkD,MAAR,KAAmB;MAC5C,MAAMC,WAAW,GACfD,MAAM,KAAK,CAAX,gBACE;QAAK,SAAS,EAAEZ,cAAA,CAAMc;MAAtB,gBACE;QAAK,SAAS,EAAEd,cAAA,CAAMe;MAAtB,GACGL,eAAe,gBACd,6BAAC,2BAAD;QACE,OAAO,EAAEzB,eAAe,CAACC,KAAD,CAD1B;QAEE,aAAY,kBAAiBA,KAAM,EAFrC;QAGE,IAAI,EAAC,MAHP;QAIE,SAAS,EAAEH,WAAW,CAACG,KAAD,CAAX,GAAqB,aAArB,GAAqC,eAJlD;QAKE,cAAYR,SAAS,CAAC,yBAAD;MALvB,EADc,GAQZ,IATN,CADF,EAYGjB,UAAU,CAACC,KAAD,CAZb,CADF,GAgBED,UAAU,CAACC,KAAD,CAjBd;MAmBA,oBACE;QACE,SAAS,EACPkD,MAAM,KAAK,CAAX,GACI,IAAAb,mBAAA,EACE1B,iBAAiB,GAAG2B,cAAA,CAAMgB,iBAAT,GAA6BhB,cAAA,CAAMiB,WADtD,EAEEjB,cAAA,CAAMkB,GAFR,CADJ,GAKIlB,cAAA,CAAMkB,GAPd;QASE,KAAK,EAAE;UAACC,KAAK,EAAE3C;QAAR,CATT;QAUE,GAAG,EAAG,GAAEd,KAAM,IAAGkD,MAAO;MAV1B,GAYGC,WAZH,CADF;IAgBD,CApCe,CAAhB;IAsCAF,OAAO,CAACP,IAAR,eACE;MACE,SAAS,EAAE9B,gBAAgB,GAAG0B,cAAA,CAAMoB,gBAAT,GAA4BpB,cAAA,CAAMqB,UAD/D;MAEE,GAAG,EAAC;IAFN,GAIGxD,SAAS,gBACR;MACE,SAAS,EAAE,IAAAkC,mBAAA,EAAW;QACpB,CAACC,cAAA,CAAMsB,aAAP,GAAuB,mBAAI,WAAJ,EAAiBzD,SAAjB,MAAgC;MADnC,CAAX;IADb,GAKGD,cAAc,CAACC,SAAD,CALjB,CADQ,GAQN,IAZN,CADF;IAgBA,MAAM0D,SAAS,GAAG,mBAAI,WAAJ,EAAiBxD,GAAjB,CAAlB;IACA,MAAMyD,gBAAgB,GACpBD,SAAS,IAAI3C,YAAY,CAAC6C,QAAb,CAAsBvC,KAAtB,CAAb,gBACE;MAAI,GAAG,EAAG,QAAOA,KAAM;IAAvB,gBACE;MAAI,SAAS,EAAEc,cAAA,CAAMwB,gBAArB;MAAuC,OAAO,EAAEf,MAAM,CAACiB,MAAP,GAAgB;IAAhE,GACG5D,cAAc,CAACyD,SAAD,CADjB,CADF,CADF,GAMI,IAPN;IASA,OAAOC,gBAAgB,GACnB,cAAC;MAAI,GAAG,EAAG,QAAOtC,KAAM;IAAvB,GAA2ByB,OAA3B,CAAD,EAA2Ca,gBAA3C,CADmB,GAEnB,cAAC;MAAI,GAAG,EAAG,QAAOtC,KAAM;IAAvB,GAA2ByB,OAA3B,CAAD,CAFJ;EAGD,CArEgB,CAAjB;EAuEA,oBACE;IAAK,SAAS,EAAEX,cAAA,CAAM2B;EAAtB,gBACE,mDACOpD,eAAe,GAAG;IAAC,oBAAoBA;EAArB,CAAH,GAA2C,EADjE;IAEE,SAAS,EAAEyB,cAAA,CAAM4B,KAFnB;IAGE,eAAY,6BAHd;IAIE,aAAU;EAJZ,iBAME;IAAO,SAAS,EAAEnD,aAAa,GAAGuB,cAAA,CAAM6B,WAAT,GAAuB7B,cAAA,CAAM8B;EAA5D,gBACE,yCAAKvB,UAAL,CADF,CANF,eASE,4CAAQC,QAAR,CATF,CADF,CADF;AAeD,CAtKD;;AAwKAxC,+BAA+B,CAAC+D,YAAhC,GAA+C;EAC7CC,IAAI,EAAEC,iBAAA,CAASC,iBAAT,CAA2BF,IADY;EAE7CtD,SAAS,EAAEuD,iBAAA,CAASC,iBAAT,CAA2BxD;AAFO,CAA/C;AAKAV,+BAA+B,CAACmE,SAAhC,2CAA4CA,gBAA5C;eAEenE,+B"}
|
|
@@ -69,8 +69,8 @@ const ForumComment = (props, context) => {
|
|
|
69
69
|
}, avatarView, /*#__PURE__*/_react.default.createElement("div", {
|
|
70
70
|
className: _style.default.comment
|
|
71
71
|
}, /*#__PURE__*/_react.default.createElement("textarea", {
|
|
72
|
-
placeholder: translate('
|
|
73
|
-
title: translate('
|
|
72
|
+
placeholder: translate('comment_aria_label'),
|
|
73
|
+
title: translate('comment_aria_label'),
|
|
74
74
|
"aria-label": translate('comment_aria_label'),
|
|
75
75
|
value: value,
|
|
76
76
|
onChange: onChange,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ForumComment","props","context","translate","skin","avatar","onPost","onChange","value","textareaDisabled","postDisabled","newPost","profileAvatarAlt","primary","light","avatarView","style","image","button","post","backgroundColor","disabledButton","classnames","container","wrapper","comment","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","SrcPropType","func","bool"],"sources":["../../../../src/molecule/forum/forum-comment/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get, noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {SrcPropType} from '../../../util/proptypes';\nimport Provider from '../../../atom/provider';\nimport Button from '../../../atom/button';\nimport style from './style.css';\n\nconst ForumComment = (props, context) => {\n const {translate, skin} = context;\n const {\n avatar,\n onPost,\n onChange,\n value,\n textareaDisabled,\n postDisabled,\n newPost = false,\n profileAvatarAlt\n } = props;\n const primary = get('common.primary', skin);\n const light = get('common.light', skin);\n\n const avatarView = avatar ? (\n <div className={style.image}>\n <img src={avatar} alt={profileAvatarAlt} />\n </div>\n ) : null;\n\n const button = (\n <div className={style.post}>\n <Button\n type=\"link\"\n onClick={!postDisabled ? onPost : noop}\n disabled={postDisabled}\n submitValue={translate('Post')}\n aria-label={translate('post_comment_aria_label')}\n style={{\n backgroundColor: postDisabled ? light : primary\n }}\n className={postDisabled ? style.disabledButton : style.button}\n />\n </div>\n );\n\n return (\n <div\n data-name=\"forumComment\"\n className={classnames(style.container, newPost ? style.newPost : null)}\n >\n <div className={classnames(style.wrapper, newPost ? style.newPost : null)}>\n {avatarView}\n <div className={style.comment}>\n <textarea\n placeholder={translate('
|
|
1
|
+
{"version":3,"file":"index.js","names":["ForumComment","props","context","translate","skin","avatar","onPost","onChange","value","textareaDisabled","postDisabled","newPost","profileAvatarAlt","primary","light","avatarView","style","image","button","post","backgroundColor","disabledButton","classnames","container","wrapper","comment","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","SrcPropType","func","bool"],"sources":["../../../../src/molecule/forum/forum-comment/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get, noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {SrcPropType} from '../../../util/proptypes';\nimport Provider from '../../../atom/provider';\nimport Button from '../../../atom/button';\nimport style from './style.css';\n\nconst ForumComment = (props, context) => {\n const {translate, skin} = context;\n const {\n avatar,\n onPost,\n onChange,\n value,\n textareaDisabled,\n postDisabled,\n newPost = false,\n profileAvatarAlt\n } = props;\n const primary = get('common.primary', skin);\n const light = get('common.light', skin);\n\n const avatarView = avatar ? (\n <div className={style.image}>\n <img src={avatar} alt={profileAvatarAlt} />\n </div>\n ) : null;\n\n const button = (\n <div className={style.post}>\n <Button\n type=\"link\"\n onClick={!postDisabled ? onPost : noop}\n disabled={postDisabled}\n submitValue={translate('Post')}\n aria-label={translate('post_comment_aria_label')}\n style={{\n backgroundColor: postDisabled ? light : primary\n }}\n className={postDisabled ? style.disabledButton : style.button}\n />\n </div>\n );\n\n return (\n <div\n data-name=\"forumComment\"\n className={classnames(style.container, newPost ? style.newPost : null)}\n >\n <div className={classnames(style.wrapper, newPost ? style.newPost : null)}>\n {avatarView}\n <div className={style.comment}>\n <textarea\n placeholder={translate('comment_aria_label')}\n title={translate('comment_aria_label')}\n aria-label={translate('comment_aria_label')}\n value={value}\n onChange={onChange}\n disabled={textareaDisabled}\n />\n </div>\n </div>\n {button}\n </div>\n );\n};\n\nForumComment.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nForumComment.propTypes = {\n value: PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n avatar: SrcPropType,\n onChange: PropTypes.func,\n onPost: PropTypes.func,\n newPost: PropTypes.bool,\n textareaDisabled: PropTypes.bool,\n postDisabled: PropTypes.bool\n};\nexport default ForumComment;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,YAAY,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACvC,MAAM;IAACC,SAAD;IAAYC;EAAZ,IAAoBF,OAA1B;EACA,MAAM;IACJG,MADI;IAEJC,MAFI;IAGJC,QAHI;IAIJC,KAJI;IAKJC,gBALI;IAMJC,YANI;IAOJC,OAAO,GAAG,KAPN;IAQJC;EARI,IASFX,KATJ;EAUA,MAAMY,OAAO,GAAG,mBAAI,gBAAJ,EAAsBT,IAAtB,CAAhB;EACA,MAAMU,KAAK,GAAG,mBAAI,cAAJ,EAAoBV,IAApB,CAAd;EAEA,MAAMW,UAAU,GAAGV,MAAM,gBACvB;IAAK,SAAS,EAAEW,cAAA,CAAMC;EAAtB,gBACE;IAAK,GAAG,EAAEZ,MAAV;IAAkB,GAAG,EAAEO;EAAvB,EADF,CADuB,GAIrB,IAJJ;;EAMA,MAAMM,MAAM,gBACV;IAAK,SAAS,EAAEF,cAAA,CAAMG;EAAtB,gBACE,6BAAC,eAAD;IACE,IAAI,EAAC,MADP;IAEE,OAAO,EAAE,CAACT,YAAD,GAAgBJ,MAAhB,iBAFX;IAGE,QAAQ,EAAEI,YAHZ;IAIE,WAAW,EAAEP,SAAS,CAAC,MAAD,CAJxB;IAKE,cAAYA,SAAS,CAAC,yBAAD,CALvB;IAME,KAAK,EAAE;MACLiB,eAAe,EAAEV,YAAY,GAAGI,KAAH,GAAWD;IADnC,CANT;IASE,SAAS,EAAEH,YAAY,GAAGM,cAAA,CAAMK,cAAT,GAA0BL,cAAA,CAAME;EATzD,EADF,CADF;;EAgBA,oBACE;IACE,aAAU,cADZ;IAEE,SAAS,EAAE,IAAAI,mBAAA,EAAWN,cAAA,CAAMO,SAAjB,EAA4BZ,OAAO,GAAGK,cAAA,CAAML,OAAT,GAAmB,IAAtD;EAFb,gBAIE;IAAK,SAAS,EAAE,IAAAW,mBAAA,EAAWN,cAAA,CAAMQ,OAAjB,EAA0Bb,OAAO,GAAGK,cAAA,CAAML,OAAT,GAAmB,IAApD;EAAhB,GACGI,UADH,eAEE;IAAK,SAAS,EAAEC,cAAA,CAAMS;EAAtB,gBACE;IACE,WAAW,EAAEtB,SAAS,CAAC,oBAAD,CADxB;IAEE,KAAK,EAAEA,SAAS,CAAC,oBAAD,CAFlB;IAGE,cAAYA,SAAS,CAAC,oBAAD,CAHvB;IAIE,KAAK,EAAEK,KAJT;IAKE,QAAQ,EAAED,QALZ;IAME,QAAQ,EAAEE;EANZ,EADF,CAFF,CAJF,EAiBGS,MAjBH,CADF;AAqBD,CA1DD;;AA4DAlB,YAAY,CAAC0B,YAAb,GAA4B;EAC1BvB,SAAS,EAAEwB,iBAAA,CAASC,iBAAT,CAA2BzB,SADZ;EAE1BC,IAAI,EAAEuB,iBAAA,CAASC,iBAAT,CAA2BxB;AAFP,CAA5B;AAKAJ,YAAY,CAAC6B,SAAb,2CAAyB;EACvBrB,KAAK,EAAEsB,kBAAA,CAAUC,MADM;EAEvBnB,gBAAgB,EAAEkB,kBAAA,CAAUC,MAFL;EAGvB1B,MAAM,EAAE2B,sBAHe;EAIvBzB,QAAQ,EAAEuB,kBAAA,CAAUG,IAJG;EAKvB3B,MAAM,EAAEwB,kBAAA,CAAUG,IALK;EAMvBtB,OAAO,EAAEmB,kBAAA,CAAUI,IANI;EAOvBzB,gBAAgB,EAAEqB,kBAAA,CAAUI,IAPL;EAQvBxB,YAAY,EAAEoB,kBAAA,CAAUI;AARD,CAAzB;eAUelC,Y"}
|
|
@@ -642,7 +642,7 @@ class MoocHeader extends _react.default.Component {
|
|
|
642
642
|
style: {
|
|
643
643
|
color: primaryColor
|
|
644
644
|
}
|
|
645
|
-
}))) : null)), searchFormView, /*#__PURE__*/_react.default.createElement("
|
|
645
|
+
}))) : null)), searchFormView, /*#__PURE__*/_react.default.createElement("div", {
|
|
646
646
|
className: isMenuOpen ? _style.default.menuWrapper : _style.default.hiddenMenuWrapper,
|
|
647
647
|
"data-name": "menu-wrapper"
|
|
648
648
|
}, pagesView, userView || linksView, settingsView)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["MoocHeader","React","Component","constructor","props","handleMouseEnter","setState","hovered","handleMouseLeave","state","isSettingsOpen","isMenuOpen","isFocus","isToolTipOpen","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","handleOnMouseOver","handleOnMouseLeave","handleKeyPress","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","activePageAriaLabel","groupAriaLbale","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","style","itemBadge","name","itemName","activePage","bar","optionsView","more","option","line","_hoverStyle","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","classnames","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","className","languageSelect","selectBoxes","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","tooltipIconContainer","homeIcon","__html","menuWrapper","hiddenMenuWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","shape","src","string","srcMobile","Search","func","arrayOf","oneOf","bool","number","Cta"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaCompositionCoorpacademyPlacesHome24 as HomeIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string,\n toolTipText: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n 'group-settings-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false,\n isToolTipOpen: false,\n hovered: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n this.handleOnMouseOver = this.handleOnMouseOver.bind(this);\n this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n handleOnMouseOver() {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n }\n\n handleOnMouseLeave() {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n\n handleKeyPress(event) {\n if (event.key === 'Enter') {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n }\n\n handleMouseEnter = () => {\n this.setState({\n hovered: true\n });\n };\n\n handleMouseLeave = () => {\n this.setState({\n hovered: false\n });\n };\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel,\n 'group-settings-aria-label': groupAriaLbale\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen, isToolTipOpen} = this.state;\n const {translate, skin} = this.context;\n const {\n 'aria-label': logoAriaLabel,\n closeMenuAriaLabel,\n openMenuAriaLabel,\n toolTipText,\n closeToolTipInformationTextAriaLabel\n } = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n <span\n className={style.line}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n const {hovered} = this.state;\n const _hoverStyle = hovered\n ? {\n color: primaryColor\n }\n : null;\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div\n className={style.currentOption}\n aria-haspopup=\"true\"\n data-name=\"item-more\"\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n style={{\n ..._hoverStyle\n }}\n >\n {moreAriaLabel}\n <ArrowDown\n style={{color: mediumColor}}\n className={style.caret}\n aria-label={moreAriaLabel}\n />\n </div>\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} style={{color: white}} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} style={{color: white}} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} style={{color: white}} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n selectProps.className = style.languageSelect;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n <span id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n style={{color: darkColor}}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div\n data-name=\"settings\"\n className={style.settingsGroup}\n role=\"group\"\n aria-label={groupAriaLbale}\n >\n {settingsElements}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div\n className={style.logoWrapper}\n aria-label={toolTipText}\n onMouseOver={this.handleOnMouseOver}\n onMouseLeave={this.handleOnMouseLeave}\n >\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n aria-label={openMenuAriaLabel}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n aria-label={closeMenuAriaLabel}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link\n className={style.logo}\n data-name=\"logo\"\n href={logo.href}\n onKeyDown={this.handleKeyPress}\n tabIndex={0}\n data-testid=\"brand-logo\"\n >\n <Picture src={logoUrl} alt={logoAriaLabel} />\n {isToolTipOpen ? (\n <div aria-label={toolTipText} tabIndex={0} data-testid=\"home-tooltip\">\n <div\n aria-label={`${toolTipText} ${closeToolTipInformationTextAriaLabel}`}\n role=\"tooltip\"\n className={style.tooltipIconContainer}\n tabIndex={0}\n >\n <HomeIcon className={style.homeIcon} style={{color: primaryColor}} />\n <p\n className={style.toolTipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: toolTipText}}\n style={{color: primaryColor}}\n />\n </div>\n </div>\n ) : null}\n </Link>\n </div>\n {searchFormView}\n <nav\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </nav>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["MoocHeader","React","Component","constructor","props","handleMouseEnter","setState","hovered","handleMouseLeave","state","isSettingsOpen","isMenuOpen","isFocus","isToolTipOpen","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","handleOnMouseOver","handleOnMouseLeave","handleKeyPress","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","render","logo","pages","items","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","activePageAriaLabel","groupAriaLbale","translate","skin","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","logoMobileUrl","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","primaryColor","mediumColor","darkColor","white","iconWrapperStyle","backgroundColor","displayedPages","displayed","map","item","index","activeColor","selected","color","pageCountAriaLabel","itemLabel","title","pageBadge","counter","href","style","itemBadge","name","itemName","activePage","bar","optionsView","more","option","line","_hoverStyle","value","noItems","currentOption","caret","optionsGroup","ctas","cta","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","classnames","notification","active","stats","stat","stars","iconWrapper","label","ranking","badge","avatarWrapper","avatar","userLink","picture","profileAvatarAlt","settingsElements","setting","settingView","options","type","settingName","hoverColor","ariaLabel","link","selectProps","values","theme","onChange","className","languageSelect","selectBoxes","switchProps","id","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","hiddenSearchBar","searchBar","wrapper","open","header","logoWrapper","navMobile","burgerHidden","burger","close","closeHidden","tooltipIconContainer","homeIcon","__html","menuWrapper","hiddenMenuWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","shape","src","string","srcMobile","Search","func","arrayOf","oneOf","bool","number","Cta"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyCharts as ChartsIcon,\n NovaSolidVoteRewardsRewardsTrophy5 as TrophyIcon,\n NovaCompositionCoorpacademyCog as CogIcon,\n NovaCompositionCoorpacademyPlacesHome24 as HomeIcon,\n NovaSolidTimeAlarm as AlarmIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport Select from '../../atom/select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string,\n toolTipText: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n 'group-settings-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false,\n isToolTipOpen: false,\n hovered: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n this.handleOnMouseOver = this.handleOnMouseOver.bind(this);\n this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n handleOnMouseOver() {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n }\n\n handleOnMouseLeave() {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n\n handleKeyPress(event) {\n if (event.key === 'Enter') {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n }\n\n handleMouseEnter = () => {\n this.setState({\n hovered: true\n });\n };\n\n handleMouseLeave = () => {\n this.setState({\n hovered: false\n });\n };\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel,\n 'group-settings-aria-label': groupAriaLbale\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen, isToolTipOpen} = this.state;\n const {translate, skin} = this.context;\n const {\n 'aria-label': logoAriaLabel,\n closeMenuAriaLabel,\n openMenuAriaLabel,\n toolTipText,\n closeToolTipInformationTextAriaLabel\n } = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n const darkColor = get('common.dark', skin);\n const white = get('common.white', skin);\n const iconWrapperStyle = {backgroundColor: primaryColor};\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n className={style.itemBadge}\n aria-label={pageCountAriaLabel}\n >\n {item.counter}\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n className={item.selected ? style.activePage : style.item}\n skinHover\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n className={style.option}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n skinHover\n style={{\n ...activeColor\n }}\n >\n {item.title}\n <span\n className={style.line}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n const {hovered} = this.state;\n const _hoverStyle = hovered\n ? {\n color: primaryColor\n }\n : null;\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n <div className={style.more}>\n <div\n className={style.currentOption}\n aria-haspopup=\"true\"\n data-name=\"item-more\"\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n style={{\n ..._hoverStyle\n }}\n >\n {moreAriaLabel}\n <ArrowDown\n style={{color: mediumColor}}\n className={style.caret}\n aria-label={moreAriaLabel}\n />\n </div>\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <div>\n <AlarmIcon width={16} height={16} />\n </div>\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <StarIcon className={style.stars} style={{color: white}} />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <ChartsIcon className={style.ranking} style={{color: white}} />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div className={style.iconWrapper} style={iconWrapperStyle}>\n <TrophyIcon className={style.badge} style={{color: white}} />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n skinHover\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n selectProps.className = style.languageSelect;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n <span id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n style={{color: darkColor}}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div\n data-name=\"settings\"\n className={style.settingsGroup}\n role=\"group\"\n aria-label={groupAriaLbale}\n >\n {settingsElements}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div\n className={style.logoWrapper}\n aria-label={toolTipText}\n onMouseOver={this.handleOnMouseOver}\n onMouseLeave={this.handleOnMouseLeave}\n >\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n aria-label={openMenuAriaLabel}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n aria-label={closeMenuAriaLabel}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link\n className={style.logo}\n data-name=\"logo\"\n href={logo.href}\n onKeyDown={this.handleKeyPress}\n tabIndex={0}\n data-testid=\"brand-logo\"\n >\n <Picture src={logoUrl} alt={logoAriaLabel} />\n {isToolTipOpen ? (\n <div aria-label={toolTipText} tabIndex={0} data-testid=\"home-tooltip\">\n <div\n aria-label={`${toolTipText} ${closeToolTipInformationTextAriaLabel}`}\n role=\"tooltip\"\n className={style.tooltipIconContainer}\n tabIndex={0}\n >\n <HomeIcon className={style.homeIcon} style={{color: primaryColor}} />\n <p\n className={style.toolTipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: toolTipText}}\n style={{color: primaryColor}}\n />\n </div>\n </div>\n ) : null}\n </Link>\n </div>\n {searchFormView}\n <div\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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"}
|
|
@@ -41,7 +41,8 @@ const SlidesHeader = (props = {}, context = undefined) => {
|
|
|
41
41
|
subcontent: subcontent,
|
|
42
42
|
mode: mode
|
|
43
43
|
}) : null, type === HEADER_TYPE.MICROLEARNING ? /*#__PURE__*/_react.default.createElement(_microlearning.default, {
|
|
44
|
-
content: content
|
|
44
|
+
content: content,
|
|
45
|
+
mode: mode
|
|
45
46
|
}) : null, lives ? /*#__PURE__*/_react.default.createElement(_lives.default, {
|
|
46
47
|
count: lives.count
|
|
47
48
|
}) : null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["HEADER_TYPE","LEARNER","MICROLEARNING","SlidesHeader","props","context","undefined","type","content","subcontent","lives","mode","style","wrapper","count","propTypes","PropTypes","oneOf","shape","href","Link","title","string","isRequired","details","Lives"],"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;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAAiC;AAEjC,MAAMA,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,EAAEQ,cAAA,CAAMC;EAA/C,GACGN,IAAI,KAAKP,WAAW,CAACC,OAArB,gBACC,6BAAC,gBAAD;IAAS,OAAO,EAAEO,OAAlB;IAA2B,UAAU,EAAEC,UAAvC;IAAmD,IAAI,EAAEE;EAAzD,EADD,GAEG,IAHN,EAIGJ,IAAI,KAAKP,WAAW,CAACE,aAArB,gBAAqC,6BAAC,sBAAD;IAAe,OAAO,EAAEM;
|
|
1
|
+
{"version":3,"file":"index.js","names":["HEADER_TYPE","LEARNER","MICROLEARNING","SlidesHeader","props","context","undefined","type","content","subcontent","lives","mode","style","wrapper","count","propTypes","PropTypes","oneOf","shape","href","Link","title","string","isRequired","details","Lives"],"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;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAAiC;AAEjC,MAAMA,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,EAAEQ,cAAA,CAAMC;EAA/C,GACGN,IAAI,KAAKP,WAAW,CAACC,OAArB,gBACC,6BAAC,gBAAD;IAAS,OAAO,EAAEO,OAAlB;IAA2B,UAAU,EAAEC,UAAvC;IAAmD,IAAI,EAAEE;EAAzD,EADD,GAEG,IAHN,EAIGJ,IAAI,KAAKP,WAAW,CAACE,aAArB,gBAAqC,6BAAC,sBAAD;IAAe,OAAO,EAAEM,OAAxB;IAAiC,IAAI,EAAEG;EAAvC,EAArC,GAAuF,IAJ1F,EAKGD,KAAK,gBAAG,6BAAC,cAAD;IAAO,KAAK,EAAEA,KAAK,CAACI;EAApB,EAAH,GAAmC,IAL3C,CADF;AASD,CAZD;;AAcAX,YAAY,CAACY,SAAb,2CAAyB;EACvBR,IAAI,EAAES,kBAAA,CAAUC,KAAV,CAAgB,CAACjB,WAAW,CAACC,OAAb,EAAsBD,WAAW,CAACE,aAAlC,CAAhB,CADiB;EAEvBM,OAAO,EAAEQ,kBAAA,CAAUE,KAAV,CAAgB;IACvBC,IAAI,EAAEC,aAAA,CAAKL,SAAL,CAAeI,IADE;IAEvBE,KAAK,EAAEL,kBAAA,CAAUM,MAAV,CAAiBC,UAFD;IAGvBC,OAAO,EAAER,kBAAA,CAAUM;EAHI,CAAhB,CAFc;EAOvBb,UAAU,EAAEO,kBAAA,CAAUE,KAAV,CAAgB;IAC1BG,KAAK,EAAEL,kBAAA,CAAUM,MADS;IAE1BE,OAAO,EAAER,kBAAA,CAAUM;EAFO,CAAhB,CAPW;EAWvBZ,KAAK,EAAEM,kBAAA,CAAUE,KAAV,CAAgBO,cAAA,CAAMV,SAAtB,CAXgB;EAYvBJ,IAAI,EAAEK,kBAAA,CAAUM;AAZO,CAAzB;eAeenB,Y"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"microlearning.d.ts","sourceRoot":"","sources":["../../../../../../src/template/app-player/player/slides/header/microlearning.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"microlearning.d.ts","sourceRoot":"","sources":["../../../../../../src/template/app-player/player/slides/header/microlearning.js"],"names":[],"mappings":";AAqCA,4EAGC"}
|
|
@@ -17,40 +17,57 @@ var _microlearning = _interopRequireDefault(require("./microlearning.css"));
|
|
|
17
17
|
|
|
18
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
19
|
|
|
20
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
21
|
+
|
|
20
22
|
const Content = ({
|
|
21
23
|
onClick,
|
|
22
|
-
title
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
title,
|
|
25
|
+
mode
|
|
26
|
+
}, context) => {
|
|
27
|
+
const content = /*#__PURE__*/_react.default.createElement("div", {
|
|
28
|
+
"data-name": "contentTitle",
|
|
29
|
+
className: (0, _classnames.default)(_microlearning.default.contentTitle, _microlearning.default.innerHTML) // eslint-disable-next-line react/no-danger
|
|
30
|
+
,
|
|
31
|
+
dangerouslySetInnerHTML: {
|
|
32
|
+
__html: title
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
if (mode === 'scorm') return /*#__PURE__*/_react.default.createElement("div", {
|
|
37
|
+
className: _microlearning.default.contentScorm
|
|
38
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
39
|
+
className: _microlearning.default.backIcon
|
|
40
|
+
}), content);
|
|
41
|
+
return /*#__PURE__*/_react.default.createElement(_link.default, {
|
|
42
|
+
onClick: onClick,
|
|
43
|
+
className: _microlearning.default.content
|
|
44
|
+
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowLeft, {
|
|
45
|
+
className: _microlearning.default.backIcon
|
|
46
|
+
}), content);
|
|
47
|
+
};
|
|
36
48
|
|
|
37
49
|
Content.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
38
50
|
onClick: _link.default.propTypes.onClick,
|
|
39
|
-
title: _propTypes.default.node
|
|
51
|
+
title: _propTypes.default.node,
|
|
52
|
+
mode: _propTypes.default.string
|
|
40
53
|
} : {};
|
|
41
54
|
|
|
42
55
|
const MicrolearningHeader = (props, context) => {
|
|
43
56
|
const {
|
|
44
|
-
content
|
|
57
|
+
content,
|
|
58
|
+
mode
|
|
45
59
|
} = props;
|
|
46
|
-
return /*#__PURE__*/_react.default.createElement(Content, content
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement(Content, _extends({}, content, {
|
|
61
|
+
mode: mode
|
|
62
|
+
}));
|
|
47
63
|
};
|
|
48
64
|
|
|
49
65
|
MicrolearningHeader.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
50
66
|
content: _propTypes.default.shape({
|
|
51
67
|
onClick: _link.default.propTypes.onClick,
|
|
52
68
|
title: _propTypes.default.string.isRequired
|
|
53
|
-
})
|
|
69
|
+
}),
|
|
70
|
+
mode: _propTypes.default.string
|
|
54
71
|
} : {};
|
|
55
72
|
var _default = MicrolearningHeader;
|
|
56
73
|
exports.default = _default;
|