@coorpacademy/components 11.32.45 → 11.32.47
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/index.d.ts.map +1 -1
- package/es/atom/button-link/index.js +12 -6
- package/es/atom/button-link/index.js.map +1 -1
- package/es/atom/button-link-icon/index.js +2 -2
- package/es/atom/button-link-icon/index.js.map +1 -1
- package/es/atom/input-file-draggable/index.js +2 -2
- package/es/atom/input-file-draggable/index.js.map +1 -1
- package/es/atom/link/index.d.ts +1 -1
- package/es/atom/link/index.d.ts.map +1 -1
- package/es/atom/link/index.js +33 -41
- package/es/atom/link/index.js.map +1 -1
- package/es/molecule/banner/index.js +3 -3
- package/es/molecule/banner/index.js.map +1 -1
- package/es/molecule/certification-card/index.d.ts +4 -0
- package/es/molecule/certification-card/index.d.ts.map +1 -1
- package/es/molecule/certification-card/index.js +14 -10
- package/es/molecule/certification-card/index.js.map +1 -1
- package/es/molecule/cm-popin/types.d.ts +1 -1
- package/es/molecule/icon-picker-modal/index.js +2 -1
- package/es/molecule/icon-picker-modal/index.js.map +1 -1
- package/es/molecule/progress-wrapper/index.d.ts.map +1 -1
- package/es/molecule/progress-wrapper/index.js +22 -12
- package/es/molecule/progress-wrapper/index.js.map +1 -1
- package/es/organism/accordion/coorp-manager/part/index.d.ts.map +1 -1
- package/es/organism/accordion/coorp-manager/part/index.js +3 -1
- package/es/organism/accordion/coorp-manager/part/index.js.map +1 -1
- package/es/organism/list-item/index.js +1 -1
- package/es/organism/list-item/index.js.map +1 -1
- package/es/organism/mooc-header/index.d.ts.map +1 -1
- package/es/organism/mooc-header/index.js +3 -3
- package/es/organism/mooc-header/index.js.map +1 -1
- package/es/organism/sidebar/index.d.ts +28 -3
- package/es/organism/sidebar/index.d.ts.map +1 -1
- package/es/organism/sidebar/index.js +7 -3
- package/es/organism/sidebar/index.js.map +1 -1
- package/es/template/app-player/loading/index.d.ts +1 -1
- package/es/template/app-player/player/index.d.ts +2 -2
- package/es/template/app-player/player/slides/index.d.ts +1 -1
- package/es/template/app-player/popin-correction/index.d.ts +3 -3
- package/es/template/app-player/popin-end/index.d.ts +2 -2
- package/es/template/app-player/popin-end/summary.d.ts +1 -1
- package/es/template/app-player/popin-header/index.d.ts +1 -1
- package/es/template/app-review/index.d.ts +1 -1
- package/es/template/app-review/player/prop-types.d.ts +1 -1
- package/es/template/app-review/prop-types.d.ts +1 -1
- package/es/template/back-office/brand-update/index.d.ts +1 -1
- package/es/template/certification-detail/index.d.ts +1 -0
- package/es/template/certification-detail/index.d.ts.map +1 -1
- package/es/template/certification-detail/index.js +3 -1
- package/es/template/certification-detail/index.js.map +1 -1
- package/es/template/certifications/index.d.ts +9 -0
- package/es/template/certifications/index.d.ts.map +1 -1
- package/es/template/certifications/index.js +34 -12
- package/es/template/certifications/index.js.map +1 -1
- package/es/template/common/dashboard/index.d.ts +2 -2
- package/es/template/common/search-page/index.d.ts +1 -1
- package/es/template/external-course/index.d.ts +1 -1
- package/es/template/skill-detail/index.d.ts +1 -1
- package/es/template/skill-detail/index.d.ts.map +1 -1
- package/es/template/skill-detail/index.js +5 -5
- package/es/template/skill-detail/index.js.map +1 -1
- package/es/variables/colors.d.ts +2 -0
- package/es/variables/colors.d.ts.map +1 -1
- package/es/variables/colors.js +3 -1
- package/es/variables/colors.js.map +1 -1
- package/lib/atom/button-link/index.d.ts.map +1 -1
- package/lib/atom/button-link/index.js +12 -6
- package/lib/atom/button-link/index.js.map +1 -1
- package/lib/atom/button-link-icon/index.js +2 -2
- package/lib/atom/button-link-icon/index.js.map +1 -1
- package/lib/atom/input-file-draggable/index.js.map +1 -1
- package/lib/atom/link/index.d.ts +1 -1
- package/lib/atom/link/index.d.ts.map +1 -1
- package/lib/atom/link/index.js +33 -42
- package/lib/atom/link/index.js.map +1 -1
- package/lib/molecule/banner/index.js.map +1 -1
- package/lib/molecule/certification-card/index.d.ts +4 -0
- package/lib/molecule/certification-card/index.d.ts.map +1 -1
- package/lib/molecule/certification-card/index.js +14 -10
- package/lib/molecule/certification-card/index.js.map +1 -1
- package/lib/molecule/cm-popin/types.d.ts +1 -1
- package/lib/molecule/icon-picker-modal/index.js +3 -1
- package/lib/molecule/icon-picker-modal/index.js.map +1 -1
- package/lib/molecule/progress-wrapper/index.d.ts.map +1 -1
- package/lib/molecule/progress-wrapper/index.js +26 -13
- package/lib/molecule/progress-wrapper/index.js.map +1 -1
- package/lib/organism/accordion/coorp-manager/part/index.d.ts.map +1 -1
- package/lib/organism/accordion/coorp-manager/part/index.js +5 -1
- package/lib/organism/accordion/coorp-manager/part/index.js.map +1 -1
- package/lib/organism/list-item/index.js +2 -2
- package/lib/organism/list-item/index.js.map +1 -1
- package/lib/organism/mooc-header/index.d.ts.map +1 -1
- package/lib/organism/mooc-header/index.js +4 -3
- package/lib/organism/mooc-header/index.js.map +1 -1
- package/lib/organism/sidebar/index.d.ts +28 -3
- package/lib/organism/sidebar/index.d.ts.map +1 -1
- package/lib/organism/sidebar/index.js +7 -3
- package/lib/organism/sidebar/index.js.map +1 -1
- package/lib/template/app-player/loading/index.d.ts +1 -1
- package/lib/template/app-player/player/index.d.ts +2 -2
- package/lib/template/app-player/player/slides/index.d.ts +1 -1
- package/lib/template/app-player/popin-correction/index.d.ts +3 -3
- package/lib/template/app-player/popin-end/index.d.ts +2 -2
- package/lib/template/app-player/popin-end/summary.d.ts +1 -1
- package/lib/template/app-player/popin-header/index.d.ts +1 -1
- package/lib/template/app-review/index.d.ts +1 -1
- package/lib/template/app-review/player/prop-types.d.ts +1 -1
- package/lib/template/app-review/prop-types.d.ts +1 -1
- package/lib/template/back-office/brand-update/index.d.ts +1 -1
- package/lib/template/certification-detail/index.d.ts +1 -0
- package/lib/template/certification-detail/index.d.ts.map +1 -1
- package/lib/template/certification-detail/index.js +3 -1
- package/lib/template/certification-detail/index.js.map +1 -1
- package/lib/template/certifications/index.d.ts +9 -0
- package/lib/template/certifications/index.d.ts.map +1 -1
- package/lib/template/certifications/index.js +36 -14
- package/lib/template/certifications/index.js.map +1 -1
- package/lib/template/common/dashboard/index.d.ts +2 -2
- package/lib/template/common/search-page/index.d.ts +1 -1
- package/lib/template/external-course/index.d.ts +1 -1
- package/lib/template/skill-detail/index.d.ts +1 -1
- package/lib/template/skill-detail/index.d.ts.map +1 -1
- package/lib/template/skill-detail/index.js +5 -5
- package/lib/template/skill-detail/index.js.map +1 -1
- package/lib/variables/colors.d.ts +2 -0
- package/lib/variables/colors.d.ts.map +1 -1
- package/lib/variables/colors.js +3 -1
- package/lib/variables/colors.js.map +1 -1
- package/locales/bs/global.json +1 -1
- package/locales/cs/global.json +1 -1
- package/locales/de/global.json +1 -1
- package/locales/en/global.json +1 -1
- package/locales/es/global.json +1 -1
- package/locales/et/global.json +1 -1
- package/locales/fi/global.json +1 -1
- package/locales/fr/global.json +1 -1
- package/locales/hr/global.json +1 -1
- package/locales/hu/global.json +1 -1
- package/locales/hy/global.json +1 -1
- package/locales/it/global.json +1 -1
- package/locales/ja/global.json +1 -1
- package/locales/ko/global.json +1 -1
- package/locales/nl/global.json +1 -1
- package/locales/pl/global.json +1 -1
- package/locales/pt/global.json +1 -1
- package/locales/ro/global.json +1 -1
- package/locales/ru/global.json +1 -1
- package/locales/sk/global.json +1 -1
- package/locales/sl/global.json +1 -1
- package/locales/sv/global.json +1 -1
- package/locales/tl/global.json +1 -1
- package/locales/tr/global.json +1 -1
- package/locales/uk/global.json +1 -1
- package/locales/vi/global.json +1 -1
- package/locales/zh/global.json +1 -1
- package/locales/zh_TW/global.json +1 -1
- package/package.json +2 -2
|
@@ -1207,8 +1207,8 @@ declare namespace BrandUpdate {
|
|
|
1207
1207
|
'aria-label': PropTypes.Requireable<string>;
|
|
1208
1208
|
title: PropTypes.Requireable<string>;
|
|
1209
1209
|
target: PropTypes.Requireable<string>;
|
|
1210
|
-
skinHover: PropTypes.Requireable<boolean>;
|
|
1211
1210
|
hoverColor: PropTypes.Requireable<string>;
|
|
1211
|
+
hoverBackgroundColor: PropTypes.Requireable<string>;
|
|
1212
1212
|
download: PropTypes.Requireable<boolean>;
|
|
1213
1213
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
1214
1214
|
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -27,6 +27,7 @@ declare namespace CertificationDetail {
|
|
|
27
27
|
}
|
|
28
28
|
namespace propTypes {
|
|
29
29
|
const title: PropTypes.Validator<string>;
|
|
30
|
+
const tag: PropTypes.Requireable<string>;
|
|
30
31
|
const certificationRef: PropTypes.Validator<string>;
|
|
31
32
|
const description: PropTypes.Validator<string>;
|
|
32
33
|
const logoUrl: PropTypes.Requireable<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/certification-detail/index.js"],"names":[],"mappings":";AAgBA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/certification-detail/index.js"],"names":[],"mappings":";AAgBA,4EAyHC"}
|
|
@@ -49,6 +49,7 @@ const CertificationDetail = (props, context) => {
|
|
|
49
49
|
const {
|
|
50
50
|
certificationRef,
|
|
51
51
|
title,
|
|
52
|
+
tag,
|
|
52
53
|
description,
|
|
53
54
|
certificationCourses,
|
|
54
55
|
ongoingCoursesAvailable,
|
|
@@ -109,7 +110,7 @@ const CertificationDetail = (props, context) => {
|
|
|
109
110
|
className: _style.default.logo,
|
|
110
111
|
src: logoUrl
|
|
111
112
|
})), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_tag.default, {
|
|
112
|
-
label:
|
|
113
|
+
label: tag
|
|
113
114
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
114
115
|
className: _style.default.title
|
|
115
116
|
}, title), description ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Description, null), isDescriptionTruncated ? /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -155,6 +156,7 @@ CertificationDetail.contextTypes = {
|
|
|
155
156
|
};
|
|
156
157
|
CertificationDetail.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
157
158
|
title: _propTypes.default.string.isRequired,
|
|
159
|
+
tag: _propTypes.default.string,
|
|
158
160
|
certificationRef: _propTypes.default.string.isRequired,
|
|
159
161
|
description: _propTypes.default.string.isRequired,
|
|
160
162
|
logoUrl: _propTypes.default.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["CertificationDetail","props","context","certificationRef","title","description","certificationCourses","ongoingCoursesAvailable","filters","onBackClick","onContinueLearningClick","metrics","logoUrl","diplomaUrl","badgeUrl","descriptionRef","useRef","translate","progression","mandatoryModules","stars","totalModules","isDescriptionTruncated","setIsDescriptionTruncated","useState","showMore","setShowMore","handleShowMore","useCallback","useEffect","current","clientHeight","scrollHeight","Description","classnames","style","truncate","completedModules","useMemo","backgroundContainer","container","backButton","ctaContainer","logoContainer","logo","showMoreWrapper","faSize","wrapperSize","contentStats","type","downloadUrl","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","string","isRequired","shape","number","bool","CardsGrid","onChange","func","options","arrayOf","SelectOptionPropTypes"],"sources":["../../../src/template/certification-detail/index.js"],"sourcesContent":["import React, {useCallback, useEffect, useRef, useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {compact, lowerCase, round, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport AllCourses from '../skill-detail/all-courses';\nimport {ContinueLearningButton} from '../skill-detail';\nimport ProgressWrapper from '../../molecule/progress-wrapper';\nimport style from './style.css';\n\nconst CertificationDetail = (props, context) => {\n const {\n certificationRef,\n title,\n description,\n certificationCourses,\n ongoingCoursesAvailable,\n filters,\n onBackClick,\n onContinueLearningClick,\n metrics,\n logoUrl,\n diplomaUrl,\n badgeUrl\n } = props;\n const descriptionRef = useRef(null);\n const {translate} = context;\n const {progression, mandatoryModules, stars, totalModules} = metrics;\n\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n className={classnames(style.description, !showMore && style.truncate)}\n >\n <Markdown>{description}</Markdown>\n </div>\n );\n }, [showMore, description]);\n\n const completedModules = useMemo(\n () => round((mandatoryModules * progression) / 100),\n [mandatoryModules, progression]\n );\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={certificationRef}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n <div className={style.ctaContainer}>\n <div className={style.logoContainer}>\n <img className={style.logo} src={logoUrl} />\n </div>\n <div>\n <Tag label={translate('certification')} />\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {translate(showMore ? 'Show less' : 'Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{faSize: 14, wrapperSize: 16}}\n />\n </div>\n ) : null}\n </>\n ) : null}\n <div className={style.contentStats}>\n <span>{`${totalModules} ${lowerCase(translate('modules'))}`}</span>\n </div>\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n <ProgressWrapper\n title={translate('your_progress')}\n subtitle={translate('certification_progress_wrapper_subtitle')}\n progression={progression}\n completedModules={completedModules}\n mandatoryModules={mandatoryModules}\n sections={compact([\n {\n type: 'diploma',\n downloadUrl: diplomaUrl\n },\n badgeUrl && {\n type: 'badge',\n downloadUrl: badgeUrl\n },\n {\n type: 'stars',\n stars\n }\n ])}\n />\n <AllCourses\n content={certificationCourses}\n filters={filters}\n data-name=\"certification-courses\"\n />\n </div>\n </div>\n );\n};\n\nCertificationDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nCertificationDetail.propTypes = {\n title: PropTypes.string.isRequired,\n certificationRef: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n logoUrl: PropTypes.string,\n metrics: PropTypes.shape({\n progression: PropTypes.number,\n stars: PropTypes.number,\n mandatoryModules: PropTypes.number,\n totalModules: PropTypes.number\n }),\n diplomaUrl: PropTypes.string,\n badgeUrl: PropTypes.string,\n ongoingCoursesAvailable: PropTypes.bool,\n certificationCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n onBackClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default CertificationDetail;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,mBAAmB,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EAC9C,MAAM;IACJC,gBADI;IAEJC,KAFI;IAGJC,WAHI;IAIJC,oBAJI;IAKJC,uBALI;IAMJC,OANI;IAOJC,WAPI;IAQJC,uBARI;IASJC,OATI;IAUJC,OAVI;IAWJC,UAXI;IAYJC;EAZI,IAaFb,KAbJ;EAcA,MAAMc,cAAc,GAAG,IAAAC,aAAA,EAAO,IAAP,CAAvB;EACA,MAAM;IAACC;EAAD,IAAcf,OAApB;EACA,MAAM;IAACgB,WAAD;IAAcC,gBAAd;IAAgCC,KAAhC;IAAuCC;EAAvC,IAAuDV,OAA7D;EAEA,MAAM,CAACW,sBAAD,EAAyBC,yBAAzB,IAAsD,IAAAC,eAAA,EAAS,KAAT,CAA5D;EACA,MAAM,CAACC,QAAD,EAAWC,WAAX,IAA0B,IAAAF,eAAA,EAAS,KAAT,CAAhC;EAEA,MAAMG,cAAc,GAAG,IAAAC,kBAAA,EAAY,MAAMF,WAAW,CAAC,CAACD,QAAF,CAA7B,EAA0C,CAACC,WAAD,EAAcD,QAAd,CAA1C,CAAvB;EAEA,IAAAI,gBAAA,EAAU,MAAM;IACd,IAAId,cAAc,CAACe,OAAnB,EAA4B;MAC1B,MAAM;QAACC,YAAY,GAAG,CAAhB;QAAmBC,YAAY,GAAG;MAAlC,IAAuCjB,cAAc,CAACe,OAA5D;MACAP,yBAAyB,CAACS,YAAY,GAAGD,YAAhB,CAAzB;IACD;EACF,CALD,EAKG,CAAC1B,WAAD,CALH;EAOA,MAAM4B,WAAW,GAAG,IAAAL,kBAAA,EAAY,MAAM;IACpC,oBACE;MACE,GAAG,EAAEb,cADP;MAEE,SAAS,EAAE,IAAAmB,mBAAA,EAAWC,cAAA,CAAM9B,WAAjB,EAA8B,CAACoB,QAAD,IAAaU,cAAA,CAAMC,QAAjD;IAFb,gBAIE,6BAAC,sBAAD,QAAW/B,WAAX,CAJF,CADF;EAQD,CATmB,EASjB,CAACoB,QAAD,EAAWpB,WAAX,CATiB,CAApB;EAWA,MAAMgC,gBAAgB,GAAG,IAAAC,cAAA,EACvB,MAAM,qBAAOnB,gBAAgB,GAAGD,WAApB,GAAmC,GAAzC,CADiB,EAEvB,CAACC,gBAAD,EAAmBD,WAAnB,CAFuB,CAAzB;EAKA,oBACE;IAAK,SAAS,EAAEiB,cAAA,CAAMI;EAAtB,gBACE;IAAK,SAAS,EAAEJ,cAAA,CAAMK,SAAtB;IAAiC,aAAWrC;EAA5C,GACG,CAAC,qBAAMM,WAAN,CAAD,gBACC,6BAAC,uBAAD;IACE,MAAM,EAAC,YADT;IAEE,aAAU,aAFZ;IAGE,cAAYQ,SAAS,CAAC,MAAD,CAHvB;IAIE,OAAO,EAAER,WAJX;IAKE,SAAS,EAAE0B,cAAA,CAAMM,UALnB;IAME,gBAAgB,EAAC;EANnB,EADD,GASG,IAVN,eAWE;IAAK,SAAS,EAAEN,cAAA,CAAMO;EAAtB,gBACE;IAAK,SAAS,EAAEP,cAAA,CAAMQ;EAAtB,gBACE;IAAK,SAAS,EAAER,cAAA,CAAMS,IAAtB;IAA4B,GAAG,EAAEhC;EAAjC,EADF,CADF,eAIE,uDACE,6BAAC,YAAD;IAAK,KAAK,EAAEK,SAAS,CAAC,eAAD;EAArB,EADF,eAEE;IAAK,SAAS,EAAEkB,cAAA,CAAM/B;EAAtB,GAA8BA,KAA9B,CAFF,EAGGC,WAAW,gBACV,yEACE,6BAAC,WAAD,OADF,EAEGiB,sBAAsB,gBACrB;IAAK,SAAS,EAAEa,cAAA,CAAMU,eAAtB;IAAuC,OAAO,EAAElB;EAAhD,GACGV,SAAS,CAACQ,QAAQ,GAAG,WAAH,GAAiB,WAA1B,CADZ,eAEE,6BAAC,aAAD;IACE,QAAQ,EAAEA,QAAQ,GAAG,YAAH,GAAkB,cADtC;IAEE,IAAI,EAAE;MAACqB,MAAM,EAAE,EAAT;MAAaC,WAAW,EAAE;IAA1B;EAFR,EAFF,CADqB,GAQnB,IAVN,CADU,GAaR,IAhBN,eAiBE;IAAK,SAAS,EAAEZ,cAAA,CAAMa;EAAtB,gBACE,2CAAQ,GAAE3B,YAAa,IAAG,yBAAUJ,SAAS,CAAC,SAAD,CAAnB,CAAgC,EAA1D,CADF,CAjBF,eAoBE,6BAAC,mCAAD;IACE,uBAAuB,EAAEV,uBAD3B;IAEE,OAAO,EAAEG;EAFX,EApBF,CAJF,CAXF,eAyCE,6BAAC,wBAAD;IACE,KAAK,EAAEO,SAAS,CAAC,eAAD,CADlB;IAEE,QAAQ,EAAEA,SAAS,CAAC,yCAAD,CAFrB;IAGE,WAAW,EAAEC,WAHf;IAIE,gBAAgB,EAAEmB,gBAJpB;IAKE,gBAAgB,EAAElB,gBALpB;IAME,QAAQ,EAAE,uBAAQ,CAChB;MACE8B,IAAI,EAAE,SADR;MAEEC,WAAW,EAAErC;IAFf,CADgB,EAKhBC,QAAQ,IAAI;MACVmC,IAAI,EAAE,OADI;MAEVC,WAAW,EAAEpC;IAFH,CALI,EAShB;MACEmC,IAAI,EAAE,OADR;MAEE7B;IAFF,CATgB,CAAR;EANZ,EAzCF,eA8DE,6BAAC,mBAAD;IACE,OAAO,EAAEd,oBADX;IAEE,OAAO,EAAEE,OAFX;IAGE,aAAU;EAHZ,EA9DF,CADF,CADF;AAwED,CAvHD;;AAyHAR,mBAAmB,CAACmD,YAApB,GAAmC;EACjCC,IAAI,EAAEC,iBAAA,CAASC,iBAAT,CAA2BF,IADA;EAEjCnC,SAAS,EAAEoC,iBAAA,CAASC,iBAAT,CAA2BrC;AAFL,CAAnC;AAKAjB,mBAAmB,CAACuD,SAApB,2CAAgC;EAC9BnD,KAAK,EAAEoD,kBAAA,CAAUC,MAAV,CAAiBC,UADM;EAE9BvD,gBAAgB,EAAEqD,kBAAA,CAAUC,MAAV,CAAiBC,UAFL;EAG9BrD,WAAW,EAAEmD,kBAAA,CAAUC,MAAV,CAAiBC,UAHA;EAI9B9C,OAAO,EAAE4C,kBAAA,CAAUC,MAJW;EAK9B9C,OAAO,EAAE6C,kBAAA,CAAUG,KAAV,CAAgB;IACvBzC,WAAW,EAAEsC,kBAAA,CAAUI,MADA;IAEvBxC,KAAK,EAAEoC,kBAAA,CAAUI,MAFM;IAGvBzC,gBAAgB,EAAEqC,kBAAA,CAAUI,MAHL;IAIvBvC,YAAY,EAAEmC,kBAAA,CAAUI;EAJD,CAAhB,CALqB;EAW9B/C,UAAU,EAAE2C,kBAAA,CAAUC,MAXQ;EAY9B3C,QAAQ,EAAE0C,kBAAA,CAAUC,MAZU;EAa9BlD,uBAAuB,EAAEiD,kBAAA,CAAUK,IAbL;EAc9BvD,oBAAoB,EAAEkD,kBAAA,CAAUG,KAAV,CAAgBG,kBAAA,CAAUP,SAA1B,CAdQ;EAe9B/C,OAAO,EAAEgD,kBAAA,CAAUG,KAAV,CAAgB;IACvBI,QAAQ,EAAEP,kBAAA,CAAUQ,IADG;IAEvBC,OAAO,EAAET,kBAAA,CAAUU,OAAV,CAAkBV,kBAAA,CAAUG,KAAV,CAAgBQ,6BAAhB,CAAlB;EAFc,CAAhB,CAfqB;EAmB9B1D,WAAW,EAAE+C,kBAAA,CAAUQ,IAnBO;EAoB9BtD,uBAAuB,EAAE8C,kBAAA,CAAUQ;AApBL,CAAhC;eAuBehE,mB"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["CertificationDetail","props","context","certificationRef","title","tag","description","certificationCourses","ongoingCoursesAvailable","filters","onBackClick","onContinueLearningClick","metrics","logoUrl","diplomaUrl","badgeUrl","descriptionRef","useRef","translate","progression","mandatoryModules","stars","totalModules","isDescriptionTruncated","setIsDescriptionTruncated","useState","showMore","setShowMore","handleShowMore","useCallback","useEffect","current","clientHeight","scrollHeight","Description","classnames","style","truncate","completedModules","useMemo","backgroundContainer","container","backButton","ctaContainer","logoContainer","logo","showMoreWrapper","faSize","wrapperSize","contentStats","type","downloadUrl","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","string","isRequired","shape","number","bool","CardsGrid","onChange","func","options","arrayOf","SelectOptionPropTypes"],"sources":["../../../src/template/certification-detail/index.js"],"sourcesContent":["import React, {useCallback, useEffect, useRef, useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {compact, lowerCase, round, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport AllCourses from '../skill-detail/all-courses';\nimport {ContinueLearningButton} from '../skill-detail';\nimport ProgressWrapper from '../../molecule/progress-wrapper';\nimport style from './style.css';\n\nconst CertificationDetail = (props, context) => {\n const {\n certificationRef,\n title,\n tag,\n description,\n certificationCourses,\n ongoingCoursesAvailable,\n filters,\n onBackClick,\n onContinueLearningClick,\n metrics,\n logoUrl,\n diplomaUrl,\n badgeUrl\n } = props;\n const descriptionRef = useRef(null);\n const {translate} = context;\n\n const {progression, mandatoryModules, stars, totalModules} = metrics;\n\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n className={classnames(style.description, !showMore && style.truncate)}\n >\n <Markdown>{description}</Markdown>\n </div>\n );\n }, [showMore, description]);\n\n const completedModules = useMemo(\n () => round((mandatoryModules * progression) / 100),\n [mandatoryModules, progression]\n );\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={certificationRef}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n <div className={style.ctaContainer}>\n <div className={style.logoContainer}>\n <img className={style.logo} src={logoUrl} />\n </div>\n <div>\n <Tag label={tag} />\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {translate(showMore ? 'Show less' : 'Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{faSize: 14, wrapperSize: 16}}\n />\n </div>\n ) : null}\n </>\n ) : null}\n <div className={style.contentStats}>\n <span>{`${totalModules} ${lowerCase(translate('modules'))}`}</span>\n </div>\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n <ProgressWrapper\n title={translate('your_progress')}\n subtitle={translate('certification_progress_wrapper_subtitle')}\n progression={progression}\n completedModules={completedModules}\n mandatoryModules={mandatoryModules}\n sections={compact([\n {\n type: 'diploma',\n downloadUrl: diplomaUrl\n },\n badgeUrl && {\n type: 'badge',\n downloadUrl: badgeUrl\n },\n {\n type: 'stars',\n stars\n }\n ])}\n />\n <AllCourses\n content={certificationCourses}\n filters={filters}\n data-name=\"certification-courses\"\n />\n </div>\n </div>\n );\n};\n\nCertificationDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nCertificationDetail.propTypes = {\n title: PropTypes.string.isRequired,\n tag: PropTypes.string,\n certificationRef: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n logoUrl: PropTypes.string,\n metrics: PropTypes.shape({\n progression: PropTypes.number,\n stars: PropTypes.number,\n mandatoryModules: PropTypes.number,\n totalModules: PropTypes.number\n }),\n diplomaUrl: PropTypes.string,\n badgeUrl: PropTypes.string,\n ongoingCoursesAvailable: PropTypes.bool,\n certificationCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n onBackClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default CertificationDetail;\n"],"mappings":"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"}
|
|
@@ -16,7 +16,16 @@ declare namespace Certifications {
|
|
|
16
16
|
progress: PropTypes.Requireable<number>;
|
|
17
17
|
imgUrl: PropTypes.Requireable<string>;
|
|
18
18
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
19
|
+
locales: PropTypes.Requireable<PropTypes.InferProps<{
|
|
20
|
+
conditionDescriptionProgress: PropTypes.Requireable<string>;
|
|
21
|
+
}>>;
|
|
19
22
|
}> | null | undefined)[]>;
|
|
23
|
+
const locales: PropTypes.Requireable<PropTypes.InferProps<{
|
|
24
|
+
title: PropTypes.Requireable<string>;
|
|
25
|
+
subtitle: PropTypes.Requireable<string>;
|
|
26
|
+
tag: PropTypes.Requireable<string>;
|
|
27
|
+
count: PropTypes.Requireable<string>;
|
|
28
|
+
}>>;
|
|
20
29
|
const sorting: PropTypes.Requireable<PropTypes.InferProps<{
|
|
21
30
|
title: PropTypes.Requireable<string>;
|
|
22
31
|
name: PropTypes.Requireable<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/certifications/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/certifications/index.js"],"names":[],"mappings":";AAUA,uEAwEC"}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = void 0;
|
|
5
5
|
|
|
6
|
+
var _map2 = _interopRequireDefault(require("lodash/fp/map"));
|
|
7
|
+
|
|
6
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
7
9
|
|
|
8
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -19,16 +21,22 @@ var _certificationCard = _interopRequireDefault(require("../../molecule/certific
|
|
|
19
21
|
|
|
20
22
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
21
23
|
|
|
22
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
24
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
25
|
|
|
26
26
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
27
|
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
+
|
|
28
30
|
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); }
|
|
29
31
|
|
|
30
32
|
const Certifications = (props, context) => {
|
|
31
33
|
const {
|
|
34
|
+
locales: {
|
|
35
|
+
title,
|
|
36
|
+
subtitle,
|
|
37
|
+
tag,
|
|
38
|
+
count
|
|
39
|
+
},
|
|
32
40
|
certifications,
|
|
33
41
|
sorting
|
|
34
42
|
} = props;
|
|
@@ -50,8 +58,8 @@ const Certifications = (props, context) => {
|
|
|
50
58
|
className: _style.default.container,
|
|
51
59
|
"data-name": "Certifications"
|
|
52
60
|
}, /*#__PURE__*/_react.default.createElement(_title.default, {
|
|
53
|
-
title:
|
|
54
|
-
subtitle:
|
|
61
|
+
title: title,
|
|
62
|
+
subtitle: subtitle,
|
|
55
63
|
type: "form-group",
|
|
56
64
|
titleSize: "standard-light-weight",
|
|
57
65
|
subtitleSize: "standard-without-margin",
|
|
@@ -65,7 +73,7 @@ const Certifications = (props, context) => {
|
|
|
65
73
|
className: _style.default.sortSectionWrapper
|
|
66
74
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
67
75
|
className: _style.default.certificatesCount
|
|
68
|
-
},
|
|
76
|
+
}, count), /*#__PURE__*/_react.default.createElement("div", {
|
|
69
77
|
className: _style.default.sortSection
|
|
70
78
|
}, /*#__PURE__*/_react.default.createElement(_inputSwitch.default, {
|
|
71
79
|
id: 'show-completed-courses-switch',
|
|
@@ -79,15 +87,20 @@ const Certifications = (props, context) => {
|
|
|
79
87
|
className: _style.default.sortWrapper
|
|
80
88
|
}, translate('sort_by'), sortView) : null)), /*#__PURE__*/_react.default.createElement("div", {
|
|
81
89
|
className: _style.default.certificateList
|
|
82
|
-
},
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
90
|
+
}, (0, _map2.default)(certification => {
|
|
91
|
+
const {
|
|
92
|
+
label,
|
|
93
|
+
progress
|
|
94
|
+
} = certification;
|
|
95
|
+
if (!showCompleted && progress === 100) return null;
|
|
87
96
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
88
|
-
key:
|
|
89
|
-
}, /*#__PURE__*/_react.default.createElement(_certificationCard.default, certification
|
|
90
|
-
|
|
97
|
+
key: label
|
|
98
|
+
}, /*#__PURE__*/_react.default.createElement(_certificationCard.default, _extends({}, certification, {
|
|
99
|
+
locales: _extends({}, certification.locales, {
|
|
100
|
+
tag
|
|
101
|
+
})
|
|
102
|
+
})));
|
|
103
|
+
}, certifications))));
|
|
91
104
|
};
|
|
92
105
|
|
|
93
106
|
Certifications.contextTypes = {
|
|
@@ -104,8 +117,17 @@ Certifications.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
104
117
|
}),
|
|
105
118
|
progress: _propTypes.default.number,
|
|
106
119
|
imgUrl: _propTypes.default.string,
|
|
107
|
-
onClick: _propTypes.default.func
|
|
120
|
+
onClick: _propTypes.default.func,
|
|
121
|
+
locales: _propTypes.default.shape({
|
|
122
|
+
conditionDescriptionProgress: _propTypes.default.string
|
|
123
|
+
})
|
|
108
124
|
})),
|
|
125
|
+
locales: _propTypes.default.shape({
|
|
126
|
+
title: _propTypes.default.string,
|
|
127
|
+
subtitle: _propTypes.default.string,
|
|
128
|
+
tag: _propTypes.default.string,
|
|
129
|
+
count: _propTypes.default.string
|
|
130
|
+
}),
|
|
109
131
|
sorting: _propTypes.default.shape(_select.default.propTypes)
|
|
110
132
|
} : {};
|
|
111
133
|
var _default = Certifications;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Certifications","props","context","certifications","sorting","translate","showCompleted","setShowCompleted","useState","sortView","undefined","handleShowCompletedToggle","useCallback","style","backgroudnContainer","container","iconName","iconColor","borderRadius","backgroundColor","sortSectionWrapper","certificatesCount","
|
|
1
|
+
{"version":3,"file":"index.js","names":["Certifications","props","context","locales","title","subtitle","tag","count","certifications","sorting","translate","showCompleted","setShowCompleted","useState","sortView","undefined","handleShowCompletedToggle","useCallback","style","backgroudnContainer","container","iconName","iconColor","borderRadius","backgroundColor","sortSectionWrapper","certificatesCount","sortSection","sortWrapper","certificateList","certification","label","progress","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","goal","condition","nbDone","number","imgUrl","onClick","func","conditionDescriptionProgress","Select"],"sources":["../../../src/template/certifications/index.js"],"sourcesContent":["import React, {useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {map} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Title from '../../atom/title';\nimport Select from '../../atom/select';\nimport InputSwitch from '../../atom/input-switch';\nimport CertificationCard from '../../molecule/certification-card';\nimport style from './style.css';\n\nconst Certifications = (props, context) => {\n const {\n locales: {title, subtitle, tag, count},\n certifications,\n sorting\n } = props;\n const {translate} = context;\n\n const [showCompleted, setShowCompleted] = useState(true);\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\">\n <Select {...sorting} aria-label=\"All courses sort\" />\n </div>\n ) : null;\n\n const handleShowCompletedToggle = useCallback(() => {\n setShowCompleted(!showCompleted);\n }, [showCompleted, setShowCompleted]);\n\n return (\n <div className={style.backgroudnContainer}>\n <div className={style.container} data-name=\"Certifications\">\n <Title\n title={title}\n subtitle={subtitle}\n type=\"form-group\"\n titleSize=\"standard-light-weight\"\n subtitleSize=\"standard-without-margin\"\n icon={{\n iconName: 'wreath-laurel',\n iconColor: '#B87A00',\n borderRadius: '12px',\n backgroundColor: '#FFEECC'\n }}\n />\n <div className={style.sortSectionWrapper}>\n <div className={style.certificatesCount}>{count}</div>\n <div className={style.sortSection}>\n <InputSwitch\n id={'show-completed-courses-switch'}\n type=\"switch\"\n name={translate('show_completed')}\n title={translate('show_completed')}\n aria-label={'Show completed courses aria label'}\n value={showCompleted}\n onChange={handleShowCompletedToggle}\n />\n {sorting ? (\n <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n ) : null}\n </div>\n </div>\n <div className={style.certificateList}>\n {map(certification => {\n const {label, progress} = certification;\n if (!showCompleted && progress === 100) return null;\n\n return (\n <div key={label}>\n <CertificationCard {...certification} locales={{...certification.locales, tag}} />\n </div>\n );\n }, certifications)}\n </div>\n </div>\n </div>\n );\n};\n\nCertifications.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nCertifications.propTypes = {\n certifications: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n goal: PropTypes.shape({\n title: PropTypes.string,\n condition: PropTypes.shape({\n nbDone: PropTypes.number\n })\n }),\n progress: PropTypes.number,\n imgUrl: PropTypes.string,\n onClick: PropTypes.func,\n locales: PropTypes.shape({\n conditionDescriptionProgress: PropTypes.string\n })\n })\n ),\n locales: PropTypes.shape({\n title: PropTypes.string,\n subtitle: PropTypes.string,\n tag: PropTypes.string,\n count: PropTypes.string\n }),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default Certifications;\n"],"mappings":"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"}
|
|
@@ -302,8 +302,8 @@ declare namespace Dashboard {
|
|
|
302
302
|
'aria-label': PropTypes.Requireable<string>;
|
|
303
303
|
title: PropTypes.Requireable<string>;
|
|
304
304
|
target: PropTypes.Requireable<string>;
|
|
305
|
-
skinHover: PropTypes.Requireable<boolean>;
|
|
306
305
|
hoverColor: PropTypes.Requireable<string>;
|
|
306
|
+
hoverBackgroundColor: PropTypes.Requireable<string>;
|
|
307
307
|
download: PropTypes.Requireable<boolean>;
|
|
308
308
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
309
309
|
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -611,8 +611,8 @@ declare namespace Dashboard {
|
|
|
611
611
|
'aria-label': PropTypes.Requireable<string>;
|
|
612
612
|
title: PropTypes.Requireable<string>;
|
|
613
613
|
target: PropTypes.Requireable<string>;
|
|
614
|
-
skinHover: PropTypes.Requireable<boolean>;
|
|
615
614
|
hoverColor: PropTypes.Requireable<string>;
|
|
615
|
+
hoverBackgroundColor: PropTypes.Requireable<string>;
|
|
616
616
|
download: PropTypes.Requireable<boolean>;
|
|
617
617
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
618
618
|
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -483,8 +483,8 @@ declare namespace SearchPage {
|
|
|
483
483
|
'aria-label': PropTypes.Requireable<string>;
|
|
484
484
|
title: PropTypes.Requireable<string>;
|
|
485
485
|
target: PropTypes.Requireable<string>;
|
|
486
|
-
skinHover: PropTypes.Requireable<boolean>;
|
|
487
486
|
hoverColor: PropTypes.Requireable<string>;
|
|
487
|
+
hoverBackgroundColor: PropTypes.Requireable<string>;
|
|
488
488
|
download: PropTypes.Requireable<boolean>;
|
|
489
489
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
490
490
|
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -320,8 +320,8 @@ declare namespace ExternalCourse {
|
|
|
320
320
|
'aria-label': PropTypes.Requireable<string>;
|
|
321
321
|
title: PropTypes.Requireable<string>;
|
|
322
322
|
target: PropTypes.Requireable<string>;
|
|
323
|
-
skinHover: PropTypes.Requireable<boolean>;
|
|
324
323
|
hoverColor: PropTypes.Requireable<string>;
|
|
324
|
+
hoverBackgroundColor: PropTypes.Requireable<string>;
|
|
325
325
|
download: PropTypes.Requireable<boolean>;
|
|
326
326
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
327
327
|
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -67,12 +67,12 @@ declare namespace SkillDetail {
|
|
|
67
67
|
export const metrics: PropTypes.Requireable<PropTypes.InferProps<{
|
|
68
68
|
score: PropTypes.Requireable<number>;
|
|
69
69
|
questionsToReview: PropTypes.Requireable<number>;
|
|
70
|
+
totalContents: PropTypes.Requireable<number>;
|
|
70
71
|
}>>;
|
|
71
72
|
export const focused: PropTypes.Requireable<boolean>;
|
|
72
73
|
export const availableForReview: PropTypes.Requireable<boolean>;
|
|
73
74
|
const ongoingCoursesAvailable_1: PropTypes.Requireable<boolean>;
|
|
74
75
|
export { ongoingCoursesAvailable_1 as ongoingCoursesAvailable };
|
|
75
|
-
export const totalCourses: PropTypes.Requireable<number>;
|
|
76
76
|
export const skillIncludedCourses: PropTypes.Requireable<PropTypes.InferProps<{
|
|
77
77
|
list: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
78
78
|
customStyle: PropTypes.Requireable<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/index.js"],"names":[],"mappings":"AAeO,8EA+BN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/index.js"],"names":[],"mappings":"AAeO,8EA+BN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYD,oEAmJC"}
|
|
@@ -90,7 +90,6 @@ const SkillDetail = (props, context) => {
|
|
|
90
90
|
focused,
|
|
91
91
|
availableForReview,
|
|
92
92
|
ongoingCoursesAvailable,
|
|
93
|
-
totalCourses,
|
|
94
93
|
skillIncludedCourses,
|
|
95
94
|
filters,
|
|
96
95
|
sorting,
|
|
@@ -101,7 +100,8 @@ const SkillDetail = (props, context) => {
|
|
|
101
100
|
const descriptionRef = (0, _react.useRef)(null);
|
|
102
101
|
const {
|
|
103
102
|
score = 0,
|
|
104
|
-
questionsToReview
|
|
103
|
+
questionsToReview,
|
|
104
|
+
totalContents
|
|
105
105
|
} = metrics;
|
|
106
106
|
const {
|
|
107
107
|
translate
|
|
@@ -201,7 +201,7 @@ const SkillDetail = (props, context) => {
|
|
|
201
201
|
content: skillIncludedCourses,
|
|
202
202
|
filters: filters,
|
|
203
203
|
sorting: sorting,
|
|
204
|
-
totalContents:
|
|
204
|
+
totalContents: totalContents
|
|
205
205
|
})));
|
|
206
206
|
};
|
|
207
207
|
|
|
@@ -215,12 +215,12 @@ SkillDetail.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
215
215
|
description: _propTypes.default.string,
|
|
216
216
|
metrics: _propTypes.default.shape({
|
|
217
217
|
score: _propTypes.default.number,
|
|
218
|
-
questionsToReview: _propTypes.default.number
|
|
218
|
+
questionsToReview: _propTypes.default.number,
|
|
219
|
+
totalContents: _propTypes.default.number
|
|
219
220
|
}),
|
|
220
221
|
focused: _propTypes.default.bool,
|
|
221
222
|
availableForReview: _propTypes.default.bool,
|
|
222
223
|
ongoingCoursesAvailable: _propTypes.default.bool,
|
|
223
|
-
totalCourses: _propTypes.default.number,
|
|
224
224
|
skillIncludedCourses: _propTypes.default.shape(_cardsGrid.default.propTypes),
|
|
225
225
|
filters: _propTypes.default.shape({
|
|
226
226
|
onChange: _propTypes.default.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ContinueLearningButton","props","context","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","width","borderRadius","backgroundColor","convert","position","faIcon","name","color","size","contextTypes","Provider","childContextTypes","propTypes","PropTypes","bool","func","SkillDetail","title","skillRef","description","metrics","focused","availableForReview","totalCourses","skillIncludedCourses","filters","sorting","onBackClick","onReviewClick","onContinueLearningClick","descriptionRef","useRef","score","questionsToReview","isDescriptionTruncated","setIsDescriptionTruncated","useState","showMore","setShowMore","handleShowMore","useCallback","useEffect","current","clientHeight","scrollHeight","Description","classnames","style","truncate","ProgressBar","undefined","progressBarColor","inlineProgressValueStyle","progressBarWrapper","progress","backgroundContainer","container","backButton","ctaContainer","skillFocusBadge","faSize","wrapperSize","showMoreWrapper","ctaWrapper","skillInformation","skillInformationNumber","progressContainer","progressInformationNumber","toFixed","string","isRequired","shape","number","CardsGrid","onChange","options","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/skill-detail/index.js"],"sourcesContent":["import React, {useCallback, useState, useRef, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {get, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport style from './style.css';\nimport AllCourses from './all-courses';\n\nexport const ContinueLearningButton = (props, context) => {\n const {ongoingCoursesAvailable, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <div>\n <ButtonLink\n label={\n ongoingCoursesAvailable ? translate('continue_learning') : translate('start_learning')\n }\n type=\"primary\"\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px',\n backgroundColor: primarySkinColor\n }}\n hoverBackgroundColor={convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)}\n hoverColor=\"#FFFFFF\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'play',\n color: '#FFFFFF',\n size: 16\n }\n }}\n onClick={onClick}\n />\n </div>\n );\n};\n\nContinueLearningButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearningButton.propTypes = {\n ongoingCoursesAvailable: PropTypes.bool,\n onClick: PropTypes.func\n};\n\nconst SkillDetail = (props, context) => {\n const {\n title,\n skillRef,\n description,\n metrics = {},\n focused,\n availableForReview,\n ongoingCoursesAvailable,\n totalCourses,\n skillIncludedCourses,\n filters,\n sorting,\n onBackClick,\n onReviewClick,\n onContinueLearningClick\n } = props;\n const descriptionRef = useRef(null);\n const {score = 0, questionsToReview} = metrics;\n const {translate} = context;\n\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n className={classnames(style.description, !showMore && style.truncate)}\n >\n <Markdown>{description}</Markdown>\n </div>\n );\n }, [showMore, description]);\n\n const ProgressBar = useCallback(() => {\n if (score === undefined) return null;\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressBarWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n role=\"progressbar\"\n />\n </div>\n );\n }, [score]);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={skillRef}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n <div className={style.ctaContainer}>\n <div>\n {focused ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 10,\n wrapperSize: 16\n }}\n />\n {translate('skill_focus')}\n </div>\n ) : null}\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {showMore ? translate('Show less') : translate('Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{\n faSize: 14,\n wrapperSize: 16\n }}\n />\n </div>\n ) : null}\n </>\n ) : null}\n </div>\n\n <div className={style.ctaWrapper}>\n <ButtonLink\n type=\"secondary\"\n onClick={onReviewClick}\n label={translate('review_this_skill')}\n disabled={!availableForReview}\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px'\n }}\n />\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n {questionsToReview > 0 ? (\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{questionsToReview}</span>\n {translate('skill_chart_side_panel_questions_to_review')}\n </div>\n ) : null}\n <div className={style.progressContainer}>\n <ProgressBar />\n <span className={style.progressInformationNumber}>{score.toFixed(1)}%</span>\n </div>\n <AllCourses\n content={skillIncludedCourses}\n filters={filters}\n sorting={sorting}\n totalContents={totalCourses}\n />\n </div>\n </div>\n );\n};\n\nSkillDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nSkillDetail.propTypes = {\n title: PropTypes.string.isRequired,\n skillRef: PropTypes.string.isRequired,\n description: PropTypes.string,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n questionsToReview: PropTypes.number\n }),\n focused: PropTypes.bool,\n availableForReview: PropTypes.bool,\n ongoingCoursesAvailable: PropTypes.bool,\n totalCourses: PropTypes.number,\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n onBackClick: PropTypes.func,\n onReviewClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default SkillDetail;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEO,MAAMA,sBAAsB,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACxD,MAAM;IAACC,uBAAD;IAA0BC;EAA1B,IAAqCH,KAA3C;EACA,MAAM;IAACI,IAAD;IAAOC;EAAP,IAAoBJ,OAA1B;EACA,MAAMK,gBAAgB,GAAG,mBAAI,gBAAJ,EAAsBF,IAAtB,CAAzB;EAEA,oBACE,uDACE,6BAAC,mBAAD;IACE,KAAK,EACHF,uBAAuB,GAAGG,SAAS,CAAC,mBAAD,CAAZ,GAAoCA,SAAS,CAAC,gBAAD,CAFxE;IAIE,IAAI,EAAC,SAJP;IAKE,WAAW,EAAE;MACXE,KAAK,EAAE,aADI;MAEXC,YAAY,EAAE,MAFH;MAGXC,eAAe,EAAEH;IAHN,CALf;IAUE,oBAAoB,EAAE,IAAAI,yBAAA,EAAS,YAAWJ,gBAAiB,0BAArC,CAVxB;IAWE,UAAU,EAAC,SAXb;IAYE,IAAI,EAAE;MACJK,QAAQ,EAAE,MADN;MAEJC,MAAM,EAAE;QACNC,IAAI,EAAE,MADA;QAENC,KAAK,EAAE,SAFD;QAGNC,IAAI,EAAE;MAHA;IAFJ,CAZR;IAoBE,OAAO,EAAEZ;EApBX,EADF,CADF;AA0BD,CA/BM;;;AAiCPJ,sBAAsB,CAACiB,YAAvB,GAAsC;EACpCZ,IAAI,EAAEa,iBAAA,CAASC,iBAAT,CAA2Bd,IADG;EAEpCC,SAAS,EAAEY,iBAAA,CAASC,iBAAT,CAA2Bb;AAFF,CAAtC;AAKAN,sBAAsB,CAACoB,SAAvB,2CAAmC;EACjCjB,uBAAuB,EAAEkB,kBAAA,CAAUC,IADF;EAEjClB,OAAO,EAAEiB,kBAAA,CAAUE;AAFc,CAAnC;;AAKA,MAAMC,WAAW,GAAG,CAACvB,KAAD,EAAQC,OAAR,KAAoB;EACtC,MAAM;IACJuB,KADI;IAEJC,QAFI;IAGJC,WAHI;IAIJC,OAAO,GAAG,EAJN;IAKJC,OALI;IAMJC,kBANI;IAOJ3B,uBAPI;IAQJ4B,YARI;IASJC,oBATI;IAUJC,OAVI;IAWJC,OAXI;IAYJC,WAZI;IAaJC,aAbI;IAcJC;EAdI,IAeFpC,KAfJ;EAgBA,MAAMqC,cAAc,GAAG,IAAAC,aAAA,EAAO,IAAP,CAAvB;EACA,MAAM;IAACC,KAAK,GAAG,CAAT;IAAYC;EAAZ,IAAiCb,OAAvC;EACA,MAAM;IAACtB;EAAD,IAAcJ,OAApB;EAEA,MAAM,CAACwC,sBAAD,EAAyBC,yBAAzB,IAAsD,IAAAC,eAAA,EAAS,KAAT,CAA5D;EACA,MAAM,CAACC,QAAD,EAAWC,WAAX,IAA0B,IAAAF,eAAA,EAAS,KAAT,CAAhC;EAEA,MAAMG,cAAc,GAAG,IAAAC,kBAAA,EAAY,MAAMF,WAAW,CAAC,CAACD,QAAF,CAA7B,EAA0C,CAACC,WAAD,EAAcD,QAAd,CAA1C,CAAvB;EAEA,IAAAI,gBAAA,EAAU,MAAM;IACd,IAAIX,cAAc,CAACY,OAAnB,EAA4B;MAC1B,MAAM;QAACC,YAAY,GAAG,CAAhB;QAAmBC,YAAY,GAAG;MAAlC,IAAuCd,cAAc,CAACY,OAA5D;MACAP,yBAAyB,CAACS,YAAY,GAAGD,YAAhB,CAAzB;IACD;EACF,CALD,EAKG,CAACxB,WAAD,CALH;EAOA,MAAM0B,WAAW,GAAG,IAAAL,kBAAA,EAAY,MAAM;IACpC,oBACE;MACE,GAAG,EAAEV,cADP;MAEE,SAAS,EAAE,IAAAgB,mBAAA,EAAWC,cAAA,CAAM5B,WAAjB,EAA8B,CAACkB,QAAD,IAAaU,cAAA,CAAMC,QAAjD;IAFb,gBAIE,6BAAC,sBAAD,QAAW7B,WAAX,CAJF,CADF;EAQD,CATmB,EASjB,CAACkB,QAAD,EAAWlB,WAAX,CATiB,CAApB;EAWA,MAAM8B,WAAW,GAAG,IAAAT,kBAAA,EAAY,MAAM;IACpC,IAAIR,KAAK,KAAKkB,SAAd,EAAyB,OAAO,IAAP;IACzB,MAAMC,gBAAgB,GAAG,SAAzB;IACA,MAAMC,wBAAwB,GAAG;MAC/BlD,eAAe,EAAEiD,gBADc;MAE/BnD,KAAK,EAAG,GAAEgC,KAAM;IAFe,CAAjC;IAKA,oBACE;MAAK,SAAS,EAAEe,cAAA,CAAMM;IAAtB,gBACE;MACE,aAAU,UADZ;MAEE,SAAS,EAAEN,cAAA,CAAMO,QAFnB;MAGE,KAAK,EAAEF,wBAHT;MAIE,IAAI,EAAC;IAJP,EADF,CADF;EAUD,CAlBmB,EAkBjB,CAACpB,KAAD,CAlBiB,CAApB;EAoBA,oBACE;IAAK,SAAS,EAAEe,cAAA,CAAMQ;EAAtB,gBACE;IAAK,SAAS,EAAER,cAAA,CAAMS,SAAtB;IAAiC,aAAWtC;EAA5C,GACG,CAAC,qBAAMS,WAAN,CAAD,gBACC,6BAAC,uBAAD;IACE,MAAM,EAAC,YADT;IAEE,aAAU,aAFZ;IAGE,cAAY7B,SAAS,CAAC,MAAD,CAHvB;IAIE,OAAO,EAAE6B,WAJX;IAKE,SAAS,EAAEoB,cAAA,CAAMU,UALnB;IAME,gBAAgB,EAAC;EANnB,EADD,GASG,IAVN,eAWE;IAAK,SAAS,EAAEV,cAAA,CAAMW;EAAtB,gBACE,0CACGrC,OAAO,gBACN;IAAK,SAAS,EAAE0B,cAAA,CAAMY;EAAtB,gBACE,6BAAC,aAAD;IACE,QAAQ,EAAC,gBADX;IAEE,eAAe,EAAC,SAFlB;IAGE,IAAI,EAAE;MACJC,MAAM,EAAE,EADJ;MAEJC,WAAW,EAAE;IAFT;EAHR,EADF,EASG/D,SAAS,CAAC,aAAD,CATZ,CADM,GAYJ,IAbN,eAcE;IAAK,SAAS,EAAEiD,cAAA,CAAM9B;EAAtB,GAA8BA,KAA9B,CAdF,EAeGE,WAAW,gBACV,yEACE,6BAAC,WAAD,OADF,EAEGe,sBAAsB,gBACrB;IAAK,SAAS,EAAEa,cAAA,CAAMe,eAAtB;IAAuC,OAAO,EAAEvB;EAAhD,GACGF,QAAQ,GAAGvC,SAAS,CAAC,WAAD,CAAZ,GAA4BA,SAAS,CAAC,WAAD,CADhD,eAEE,6BAAC,aAAD;IACE,QAAQ,EAAEuC,QAAQ,GAAG,YAAH,GAAkB,cADtC;IAEE,IAAI,EAAE;MACJuB,MAAM,EAAE,EADJ;MAEJC,WAAW,EAAE;IAFT;EAFR,EAFF,CADqB,GAWnB,IAbN,CADU,GAgBR,IA/BN,CADF,eAmCE;IAAK,SAAS,EAAEd,cAAA,CAAMgB;EAAtB,gBACE,6BAAC,mBAAD;IACE,IAAI,EAAC,WADP;IAEE,OAAO,EAAEnC,aAFX;IAGE,KAAK,EAAE9B,SAAS,CAAC,mBAAD,CAHlB;IAIE,QAAQ,EAAE,CAACwB,kBAJb;IAKE,WAAW,EAAE;MACXtB,KAAK,EAAE,aADI;MAEXC,YAAY,EAAE;IAFH;EALf,EADF,eAWE,6BAAC,sBAAD;IACE,uBAAuB,EAAEN,uBAD3B;IAEE,OAAO,EAAEkC;EAFX,EAXF,CAnCF,CAXF,EA+DGI,iBAAiB,GAAG,CAApB,gBACC;IAAK,SAAS,EAAEc,cAAA,CAAMiB,gBAAtB;IAAwC,aAAU;EAAlD,gBACE;IAAM,SAAS,EAAEjB,cAAA,CAAMkB;EAAvB,GAAgDhC,iBAAhD,CADF,UAESnC,SAAS,CAAC,4CAAD,CAFlB,CADD,GAKG,IApEN,eAqEE;IAAK,SAAS,EAAEiD,cAAA,CAAMmB;EAAtB,gBACE,6BAAC,WAAD,OADF,eAEE;IAAM,SAAS,EAAEnB,cAAA,CAAMoB;EAAvB,GAAmDnC,KAAK,CAACoC,OAAN,CAAc,CAAd,CAAnD,MAFF,CArEF,eAyEE,6BAAC,mBAAD;IACE,OAAO,EAAE5C,oBADX;IAEE,OAAO,EAAEC,OAFX;IAGE,OAAO,EAAEC,OAHX;IAIE,aAAa,EAAEH;EAJjB,EAzEF,CADF,CADF;AAoFD,CApJD;;AAsJAP,WAAW,CAACP,YAAZ,GAA2B;EACzBZ,IAAI,EAAEa,iBAAA,CAASC,iBAAT,CAA2Bd,IADR;EAEzBC,SAAS,EAAEY,iBAAA,CAASC,iBAAT,CAA2Bb;AAFb,CAA3B;AAKAkB,WAAW,CAACJ,SAAZ,2CAAwB;EACtBK,KAAK,EAAEJ,kBAAA,CAAUwD,MAAV,CAAiBC,UADF;EAEtBpD,QAAQ,EAAEL,kBAAA,CAAUwD,MAAV,CAAiBC,UAFL;EAGtBnD,WAAW,EAAEN,kBAAA,CAAUwD,MAHD;EAItBjD,OAAO,EAAEP,kBAAA,CAAU0D,KAAV,CAAgB;IACvBvC,KAAK,EAAEnB,kBAAA,CAAU2D,MADM;IAEvBvC,iBAAiB,EAAEpB,kBAAA,CAAU2D;EAFN,CAAhB,CAJa;EAQtBnD,OAAO,EAAER,kBAAA,CAAUC,IARG;EAStBQ,kBAAkB,EAAET,kBAAA,CAAUC,IATR;EAUtBnB,uBAAuB,EAAEkB,kBAAA,CAAUC,IAVb;EAWtBS,YAAY,EAAEV,kBAAA,CAAU2D,MAXF;EAYtBhD,oBAAoB,EAAEX,kBAAA,CAAU0D,KAAV,CAAgBE,kBAAA,CAAU7D,SAA1B,CAZA;EAatBa,OAAO,EAAEZ,kBAAA,CAAU0D,KAAV,CAAgB;IACvBG,QAAQ,EAAE7D,kBAAA,CAAUE,IADG;IAEvB4D,OAAO,EAAE9D,kBAAA,CAAU+D,OAAV,CAAkB/D,kBAAA,CAAU0D,KAAV,CAAgBM,6BAAhB,CAAlB;EAFc,CAAhB,CAba;EAiBtBnD,OAAO,EAAEb,kBAAA,CAAU0D,KAAV,CAAgBO,eAAA,CAAOlE,SAAvB,CAjBa;EAkBtBe,WAAW,EAAEd,kBAAA,CAAUE,IAlBD;EAmBtBa,aAAa,EAAEf,kBAAA,CAAUE,IAnBH;EAoBtBc,uBAAuB,EAAEhB,kBAAA,CAAUE;AApBb,CAAxB;eAuBeC,W"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["ContinueLearningButton","props","context","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","width","borderRadius","backgroundColor","convert","position","faIcon","name","color","size","contextTypes","Provider","childContextTypes","propTypes","PropTypes","bool","func","SkillDetail","title","skillRef","description","metrics","focused","availableForReview","skillIncludedCourses","filters","sorting","onBackClick","onReviewClick","onContinueLearningClick","descriptionRef","useRef","score","questionsToReview","totalContents","isDescriptionTruncated","setIsDescriptionTruncated","useState","showMore","setShowMore","handleShowMore","useCallback","useEffect","current","clientHeight","scrollHeight","Description","classnames","style","truncate","ProgressBar","undefined","progressBarColor","inlineProgressValueStyle","progressBarWrapper","progress","backgroundContainer","container","backButton","ctaContainer","skillFocusBadge","faSize","wrapperSize","showMoreWrapper","ctaWrapper","skillInformation","skillInformationNumber","progressContainer","progressInformationNumber","toFixed","string","isRequired","shape","number","CardsGrid","onChange","options","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/skill-detail/index.js"],"sourcesContent":["import React, {useCallback, useState, useRef, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {get, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport style from './style.css';\nimport AllCourses from './all-courses';\n\nexport const ContinueLearningButton = (props, context) => {\n const {ongoingCoursesAvailable, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <div>\n <ButtonLink\n label={\n ongoingCoursesAvailable ? translate('continue_learning') : translate('start_learning')\n }\n type=\"primary\"\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px',\n backgroundColor: primarySkinColor\n }}\n hoverBackgroundColor={convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)}\n hoverColor=\"#FFFFFF\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'play',\n color: '#FFFFFF',\n size: 16\n }\n }}\n onClick={onClick}\n />\n </div>\n );\n};\n\nContinueLearningButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearningButton.propTypes = {\n ongoingCoursesAvailable: PropTypes.bool,\n onClick: PropTypes.func\n};\n\nconst SkillDetail = (props, context) => {\n const {\n title,\n skillRef,\n description,\n metrics = {},\n focused,\n availableForReview,\n ongoingCoursesAvailable,\n skillIncludedCourses,\n filters,\n sorting,\n onBackClick,\n onReviewClick,\n onContinueLearningClick\n } = props;\n const descriptionRef = useRef(null);\n const {score = 0, questionsToReview, totalContents} = metrics;\n const {translate} = context;\n\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n className={classnames(style.description, !showMore && style.truncate)}\n >\n <Markdown>{description}</Markdown>\n </div>\n );\n }, [showMore, description]);\n\n const ProgressBar = useCallback(() => {\n if (score === undefined) return null;\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressBarWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n role=\"progressbar\"\n />\n </div>\n );\n }, [score]);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={skillRef}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n <div className={style.ctaContainer}>\n <div>\n {focused ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 10,\n wrapperSize: 16\n }}\n />\n {translate('skill_focus')}\n </div>\n ) : null}\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {showMore ? translate('Show less') : translate('Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{\n faSize: 14,\n wrapperSize: 16\n }}\n />\n </div>\n ) : null}\n </>\n ) : null}\n </div>\n\n <div className={style.ctaWrapper}>\n <ButtonLink\n type=\"secondary\"\n onClick={onReviewClick}\n label={translate('review_this_skill')}\n disabled={!availableForReview}\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px'\n }}\n />\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n {questionsToReview > 0 ? (\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{questionsToReview}</span>\n {translate('skill_chart_side_panel_questions_to_review')}\n </div>\n ) : null}\n <div className={style.progressContainer}>\n <ProgressBar />\n <span className={style.progressInformationNumber}>{score.toFixed(1)}%</span>\n </div>\n <AllCourses\n content={skillIncludedCourses}\n filters={filters}\n sorting={sorting}\n totalContents={totalContents}\n />\n </div>\n </div>\n );\n};\n\nSkillDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nSkillDetail.propTypes = {\n title: PropTypes.string.isRequired,\n skillRef: PropTypes.string.isRequired,\n description: PropTypes.string,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n questionsToReview: PropTypes.number,\n totalContents: PropTypes.number\n }),\n focused: PropTypes.bool,\n availableForReview: PropTypes.bool,\n ongoingCoursesAvailable: PropTypes.bool,\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n onBackClick: PropTypes.func,\n onReviewClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default SkillDetail;\n"],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export declare const COLORS: {
|
|
|
5
5
|
readonly white: "#ffffff";
|
|
6
6
|
readonly cm_grey_800: "#171721";
|
|
7
7
|
readonly cm_primary_blue: "#0061FF";
|
|
8
|
+
readonly cm_grey_500: "#515161";
|
|
9
|
+
readonly brand: "#00B0FF";
|
|
8
10
|
};
|
|
9
11
|
export declare type Colors = typeof COLORS;
|
|
10
12
|
//# sourceMappingURL=colors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/variables/colors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/variables/colors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;CAST,CAAC;AAEX,oBAAY,MAAM,GAAG,OAAO,MAAM,CAAC"}
|
package/lib/variables/colors.js
CHANGED
|
@@ -8,7 +8,9 @@ const COLORS = {
|
|
|
8
8
|
positive: '#35CC7F',
|
|
9
9
|
white: '#ffffff',
|
|
10
10
|
cm_grey_800: '#171721',
|
|
11
|
-
cm_primary_blue: '#0061FF'
|
|
11
|
+
cm_primary_blue: '#0061FF',
|
|
12
|
+
cm_grey_500: '#515161',
|
|
13
|
+
brand: '#00B0FF'
|
|
12
14
|
};
|
|
13
15
|
exports.COLORS = COLORS;
|
|
14
16
|
//# sourceMappingURL=colors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","names":["COLORS","gray","negative","positive","white","cm_grey_800","cm_primary_blue"],"sources":["../../src/variables/colors.ts"],"sourcesContent":["export const COLORS = {\n gray: '#EAEAEB',\n negative: '#ed3436',\n positive: '#35CC7F',\n white: '#ffffff',\n cm_grey_800: '#171721',\n cm_primary_blue: '#0061FF'\n} as const;\n\nexport type Colors = typeof COLORS;\n"],"mappings":";;;;AAAO,MAAMA,MAAM,GAAG;EACpBC,IAAI,EAAE,SADc;EAEpBC,QAAQ,EAAE,SAFU;EAGpBC,QAAQ,EAAE,SAHU;EAIpBC,KAAK,EAAE,SAJa;EAKpBC,WAAW,EAAE,SALO;EAMpBC,eAAe,EAAE;
|
|
1
|
+
{"version":3,"file":"colors.js","names":["COLORS","gray","negative","positive","white","cm_grey_800","cm_primary_blue","cm_grey_500","brand"],"sources":["../../src/variables/colors.ts"],"sourcesContent":["export const COLORS = {\n gray: '#EAEAEB',\n negative: '#ed3436',\n positive: '#35CC7F',\n white: '#ffffff',\n cm_grey_800: '#171721',\n cm_primary_blue: '#0061FF',\n cm_grey_500: '#515161',\n brand: '#00B0FF'\n} as const;\n\nexport type Colors = typeof COLORS;\n"],"mappings":";;;;AAAO,MAAMA,MAAM,GAAG;EACpBC,IAAI,EAAE,SADc;EAEpBC,QAAQ,EAAE,SAFU;EAGpBC,QAAQ,EAAE,SAHU;EAIpBC,KAAK,EAAE,SAJa;EAKpBC,WAAW,EAAE,SALO;EAMpBC,eAAe,EAAE,SANG;EAOpBC,WAAW,EAAE,SAPO;EAQpBC,KAAK,EAAE;AARa,CAAf"}
|
package/locales/bs/global.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"items": "stavke",
|
|
28
28
|
"certificate": "Certifikat",
|
|
29
29
|
"certification": "Certifikacija",
|
|
30
|
-
"certification_progress_wrapper_subtitle": "
|
|
30
|
+
"certification_progress_wrapper_subtitle": "To unlock your rewards, reach the following goal",
|
|
31
31
|
"chapters": "poglavlja",
|
|
32
32
|
"Close": "Zatvori",
|
|
33
33
|
"clue_stars_to_loose_plural": "Otključavanje traga smanjuje broj zvijezda koje možete dobiti za ovo pitanje za {{count}} (ako tačno odgovorite)",
|
package/locales/cs/global.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"items": "položky",
|
|
28
28
|
"certificate": "Osvědčení",
|
|
29
29
|
"certification": "Osvědčení",
|
|
30
|
-
"certification_progress_wrapper_subtitle": "
|
|
30
|
+
"certification_progress_wrapper_subtitle": "To unlock your rewards, reach the following goal",
|
|
31
31
|
"chapters": "kapitoly",
|
|
32
32
|
"Close": "Zavřít",
|
|
33
33
|
"clue_stars_to_loose_plural": "Odemknutí nápovědy sníží počet hvězd, které můžete získat na této otázce, o {{count}} (pokud ji zodpovíte správně)",
|
package/locales/de/global.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"items": "Artikel",
|
|
28
28
|
"certificate": "Zertifikat",
|
|
29
29
|
"certification": "Zertifizierung",
|
|
30
|
-
"certification_progress_wrapper_subtitle": "
|
|
30
|
+
"certification_progress_wrapper_subtitle": "To unlock your rewards, reach the following goal",
|
|
31
31
|
"chapters": "Kapitel",
|
|
32
32
|
"Close": "Schliessen",
|
|
33
33
|
"clue_stars_to_loose_plural": "Wenn Sie den Hinweis benutzen, reduziert sich die Anzahl Sterne, die Sie bei dieser Frage gewinnen können um {{count}} (wenn Sie richtig antworten)",
|
package/locales/en/global.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"items": "items",
|
|
28
28
|
"certificate": "Certificate",
|
|
29
29
|
"certification": "Certification",
|
|
30
|
-
"certification_progress_wrapper_subtitle": "To unlock your rewards
|
|
30
|
+
"certification_progress_wrapper_subtitle": "To unlock your rewards, reach the following goal",
|
|
31
31
|
"chapters": "chapters",
|
|
32
32
|
"Close": "Close",
|
|
33
33
|
"clue_stars_to_loose_plural": "Unlocking the clue reduces the stars you can gain on this question by {{count}} (if you get it right)",
|
package/locales/es/global.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"items": "elementos",
|
|
28
28
|
"certificate": "Certificado",
|
|
29
29
|
"certification": "Proceso de dar un título",
|
|
30
|
-
"certification_progress_wrapper_subtitle": "
|
|
30
|
+
"certification_progress_wrapper_subtitle": "To unlock your rewards, reach the following goal",
|
|
31
31
|
"chapters": "capítulos",
|
|
32
32
|
"Close": "Cerrar",
|
|
33
33
|
"clue_stars_to_loose_plural": "Desbloquear la pista reduce en {{count}} las estrellas que puedes ganar por esta pregunta (si la aciertas)",
|
package/locales/et/global.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"items": "esemed",
|
|
28
28
|
"certificate": "tunnistus",
|
|
29
29
|
"certification": "Sertifitseerimine",
|
|
30
|
-
"certification_progress_wrapper_subtitle": "
|
|
30
|
+
"certification_progress_wrapper_subtitle": "To unlock your rewards, reach the following goal",
|
|
31
31
|
"chapters": "peatükid",
|
|
32
32
|
"Close": "Sulge",
|
|
33
33
|
"clue_stars_to_loose_plural": "Vihje kasutamine vähendab saadavat punktisummat {{count}} võrra (juhul, kui vastad õigesti)",
|
package/locales/fi/global.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"items": "kohteita",
|
|
28
28
|
"certificate": "Todistus",
|
|
29
29
|
"certification": "Sertifiointi",
|
|
30
|
-
"certification_progress_wrapper_subtitle": "
|
|
30
|
+
"certification_progress_wrapper_subtitle": "To unlock your rewards, reach the following goal",
|
|
31
31
|
"chapters": "kappaleet",
|
|
32
32
|
"Close": "Sulje",
|
|
33
33
|
"clue_stars_to_loose_plural": "Jos avaat tämän vihjeen, voitat tästä kysymyksestä {{count}} tähteä vähemmän (jos saat sen oikein)",
|
package/locales/fr/global.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"items": "articles",
|
|
28
28
|
"certificate": "Certificat",
|
|
29
29
|
"certification": "Certification",
|
|
30
|
-
"certification_progress_wrapper_subtitle": "
|
|
30
|
+
"certification_progress_wrapper_subtitle": "To unlock your rewards, reach the following goal",
|
|
31
31
|
"chapters": "chapitres",
|
|
32
32
|
"Close": "Fermer",
|
|
33
33
|
"clue_stars_to_loose_plural": "En regardant l'indice, cette question vous rapportera {{count}} étoiles en moins (si vous y répondez correctement)",
|
package/locales/hr/global.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"items": "stavke",
|
|
28
28
|
"certificate": "Potvrda",
|
|
29
29
|
"certification": "Certifikacija",
|
|
30
|
-
"certification_progress_wrapper_subtitle": "
|
|
30
|
+
"certification_progress_wrapper_subtitle": "To unlock your rewards, reach the following goal",
|
|
31
31
|
"chapters": "poglavlja",
|
|
32
32
|
"Close": "Zatvorite",
|
|
33
33
|
"clue_stars_to_loose_plural": "Otključavanje pomoći smanjuje broj zvjezdica koje možete dobiti za ovo pitanje na {{count}} (ako točno odgovorite)",
|
package/locales/hu/global.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"items": "tételeket",
|
|
28
28
|
"certificate": "Bizonyítvány",
|
|
29
29
|
"certification": "Tanúsítvány",
|
|
30
|
-
"certification_progress_wrapper_subtitle": "
|
|
30
|
+
"certification_progress_wrapper_subtitle": "To unlock your rewards, reach the following goal",
|
|
31
31
|
"chapters": "fejezetek",
|
|
32
32
|
"Close": "Bezár",
|
|
33
33
|
"clue_stars_to_loose_plural": "A tipp feloldása {{count}} csillaggal csökkentheti a nyereményét ennél a kérdésnél (ha jól válaszol)",
|
package/locales/hy/global.json
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"items": "իրեր",
|
|
28
28
|
"certificate": "Վկայական",
|
|
29
29
|
"certification": "Հավաստագրում",
|
|
30
|
-
"certification_progress_wrapper_subtitle": "
|
|
30
|
+
"certification_progress_wrapper_subtitle": "To unlock your rewards, reach the following goal",
|
|
31
31
|
"chapters": "բաժիններ",
|
|
32
32
|
"Close": "Փակել",
|
|
33
33
|
"clue_stars_to_loose_plural": "Հուշման բացումը նվազեցնում է աստղերը, որոնք դուք կարող եք ձեռք բերել այս հարցում {{count}}-ով (եթե ճիշտ եք պատասխանում)",
|