@coorpacademy/components 11.32.36-alpha.1 → 11.32.36-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/certification-card/index.js"],"names":[],"mappings":";AAQA,0EAsDC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/certification-card/index.js"],"names":[],"mappings":";AAQA,0EAwDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","COLORS","Provider","Tag","ProgressBar","style","CertificationCard","props","context","label","goal","progress","imgUrl","onClick","title","condition","nbDone","translate","isInprogress","progressLabel","progressTagType","progressIconProps","position","iconName","iconColor","backgroundColor","size","faSize","wrapperSize","customStyle","padding","container","top","right","imageWrapper","detailWrapper","titleWrapper","moduleCount","customProgressBar","positive","contextTypes","childContextTypes","propTypes","string","shape","number","func"],"sources":["../../../src/molecule/certification-card/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {COLORS} from '../../variables/colors';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport ProgressBar from '../progress-bar';\nimport style from './style.css';\n\nconst CertificationCard = (props, context) => {\n const {label, goal, progress, imgUrl, onClick} = props;\n const {\n title,\n condition: {nbDone}\n } = goal;\n const {translate} = context;\n\n const isInprogress = progress < 100;\n const progressLabel = isInprogress ? translate('in_progress') : translate('completed');\n const progressTagType = isInprogress ? 'progress' : 'success';\n const progressIconProps = {\n position: 'left',\n iconName: isInprogress ? 'clock' : 'circle-check',\n iconColor: isInprogress ? '#B87A00' : '#05944F',\n backgroundColor: isInprogress ? '#FFEECC' : '#D6F5E5',\n size: {\n faSize: 10,\n wrapperSize: 10\n },\n customStyle: {padding: 0}\n };\n return (\n <div className={style.container} data-name={`certification-card-${label}`} onClick={onClick}>\n {progress > 0 ? (\n <Tag\n label={progressLabel}\n type={progressTagType}\n customStyle={{position: 'absolute', top: '12px', right: '12px'}}\n icon={progressIconProps}\n />\n ) : null}\n <div className={style.imageWrapper}>\n <img src={imgUrl} />\n </div>\n <div className={style.detailWrapper}>\n <div className={style.titleWrapper}>\n <Tag label={translate('certification')} size=\"S\" />\n <div className={style.title} data-name='certification-title'>{title}</div>\n <div className={style.moduleCount}>\n <span>{nbDone}</span>\n {` ${translate('certification_module')}`}\n </div>\n </div>\n <ProgressBar\n className={style.customProgressBar}\n style={{backgroundColor: COLORS.positive}}\n displayInfo={false}\n value={progress}\n max={100}\n />\n </div>\n </div>\n );\n};\n\nCertificationCard.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nCertificationCard.propTypes = {\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};\n\nexport default CertificationCard;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","COLORS","Provider","Tag","ProgressBar","style","CertificationCard","props","context","label","goal","progress","imgUrl","onClick","title","condition","nbDone","translate","isInprogress","progressLabel","progressTagType","progressIconProps","position","iconName","iconColor","backgroundColor","size","faSize","wrapperSize","customStyle","padding","container","top","right","imageWrapper","detailWrapper","titleWrapper","moduleCount","customProgressBar","positive","contextTypes","childContextTypes","propTypes","string","shape","number","func"],"sources":["../../../src/molecule/certification-card/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {COLORS} from '../../variables/colors';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport ProgressBar from '../progress-bar';\nimport style from './style.css';\n\nconst CertificationCard = (props, context) => {\n const {label, goal, progress, imgUrl, onClick} = props;\n const {\n title,\n condition: {nbDone}\n } = goal;\n const {translate} = context;\n\n const isInprogress = progress < 100;\n const progressLabel = isInprogress ? translate('in_progress') : translate('completed');\n const progressTagType = isInprogress ? 'progress' : 'success';\n const progressIconProps = {\n position: 'left',\n iconName: isInprogress ? 'clock' : 'circle-check',\n iconColor: isInprogress ? '#B87A00' : '#05944F',\n backgroundColor: isInprogress ? '#FFEECC' : '#D6F5E5',\n size: {\n faSize: 10,\n wrapperSize: 10\n },\n customStyle: {padding: 0}\n };\n return (\n <div className={style.container} data-name={`certification-card-${label}`} onClick={onClick}>\n {progress > 0 ? (\n <Tag\n label={progressLabel}\n type={progressTagType}\n customStyle={{position: 'absolute', top: '12px', right: '12px'}}\n icon={progressIconProps}\n />\n ) : null}\n <div className={style.imageWrapper}>\n <img src={imgUrl} />\n </div>\n <div className={style.detailWrapper}>\n <div className={style.titleWrapper}>\n <Tag label={translate('certification')} size=\"S\" />\n <div className={style.title} data-name=\"certification-title\">\n {title}\n </div>\n <div className={style.moduleCount}>\n <span>{nbDone}</span>\n {` ${translate('certification_module')}`}\n </div>\n </div>\n <ProgressBar\n className={style.customProgressBar}\n style={{backgroundColor: COLORS.positive}}\n displayInfo={false}\n value={progress}\n max={100}\n />\n </div>\n </div>\n );\n};\n\nCertificationCard.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nCertificationCard.propTypes = {\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};\n\nexport default CertificationCard;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/progress-bar/index.js"],"names":[],"mappings":";AAMA,sDAiCC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/progress-bar/index.js"],"names":[],"mappings":";AAMA,sDAqCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","style","ProgressBar","props","className","value","max","desc","steps","propsStyle","displayInfo","ratio","percentage","Math","floor","text","stepList","index","step","background","progress","width","texts","description","propTypes","string","number","isRequired","objectOf","oneOfType","bool"],"sources":["../../../src/molecule/progress-bar/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {times} from 'lodash/fp';\nimport style from './style.css';\n\nconst ProgressBar = props => {\n const {\n className,\n value,\n max,\n desc = '',\n steps = 0,\n style: propsStyle,\n displayInfo = true\n } = props;\n\n const ratio = value / max;\n const percentage = Math.floor(ratio * 100);\n const text = `${percentage}%`;\n const stepList = times(index => <div className={style.step} key={index} />, steps);\n return (\n <div className={classnames(style.background, className)} data-name='progress-bar-wrapper' data-content={`${text}`}>\n <div\n className={style.progress}\n style={{\n ...propsStyle,\n width: `${ratio * 100}%`\n }}\n />\n {displayInfo ? (\n <p className={style.texts}>\n <span className={style.description}>{`${value}/${max} ${desc}`}</span>\n <span className={style.percentage}>{text}</span>\n </p>\n ) : null}\n <div className={style.steps}>{stepList}</div>\n </div>\n );\n};\n\nProgressBar.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n desc: PropTypes.string,\n steps: PropTypes.number,\n style: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n displayInfo: PropTypes.bool\n};\n\nexport default ProgressBar;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,WAAW,GAAGC,KAAK,IAAI;EAC3B,MAAM;IACJC,SADI;IAEJC,KAFI;IAGJC,GAHI;IAIJC,IAAI,GAAG,EAJH;IAKJC,KAAK,GAAG,CALJ;IAMJP,KAAK,EAAEQ,UANH;IAOJC,WAAW,GAAG;EAPV,IAQFP,KARJ;EAUA,MAAMQ,KAAK,GAAGN,KAAK,GAAGC,GAAtB;EACA,MAAMM,UAAU,GAAGC,IAAI,CAACC,KAAL,CAAWH,KAAK,GAAG,GAAnB,CAAnB;EACA,MAAMI,IAAI,GAAI,GAAEH,UAAW,GAA3B;;EACA,MAAMI,QAAQ,GAAG,OAAMC,KAAK,iBAAI;IAAK,SAAS,EAAEhB,KAAK,CAACiB,IAAtB;IAA4B,GAAG,EAAED;EAAjC,EAAf,EAA2DT,KAA3D,CAAjB;;EACA,oBACE;IAAK,SAAS,EAAER,UAAU,CAACC,KAAK,CAACkB,UAAP,EAAmBf,SAAnB,CAA1B;IAAyD,aAAU,sBAAnE;IAA0F,gBAAe,GAAEW,IAAK;EAAhH,gBACE;IACE,SAAS,EAAEd,KAAK,CAACmB,QADnB;IAEE,KAAK,eACAX,UADA;MAEHY,KAAK,EAAG,GAAEV,KAAK,GAAG,GAAI;IAFnB;EAFP,EADF,EAQGD,WAAW,gBACV;IAAG,SAAS,EAAET,KAAK,CAACqB;EAApB,gBACE;IAAM,SAAS,EAAErB,KAAK,CAACsB;EAAvB,GAAsC,GAAElB,KAAM,IAAGC,GAAI,IAAGC,IAAK,EAA7D,CADF,eAEE;IAAM,SAAS,EAAEN,KAAK,CAACW;EAAvB,GAAoCG,IAApC,CAFF,CADU,GAKR,IAbN,eAcE;IAAK,SAAS,EAAEd,KAAK,CAACO;EAAtB,GAA8BQ,QAA9B,CAdF,CADF;AAkBD,CAjCD;;AAmCAd,WAAW,CAACsB,SAAZ,2CAAwB;EACtBpB,SAAS,EAAEL,SAAS,CAAC0B,MADC;EAEtBpB,KAAK,EAAEN,SAAS,CAAC2B,MAAV,CAAiBC,UAFF;EAGtBrB,GAAG,EAAEP,SAAS,CAAC2B,MAAV,CAAiBC,UAHA;EAItBpB,IAAI,EAAER,SAAS,CAAC0B,MAJM;EAKtBjB,KAAK,EAAET,SAAS,CAAC2B,MALK;EAMtBzB,KAAK,EAAEF,SAAS,CAAC6B,QAAV,CAAmB7B,SAAS,CAAC8B,SAAV,CAAoB,CAAC9B,SAAS,CAAC0B,MAAX,EAAmB1B,SAAS,CAAC2B,MAA7B,CAApB,CAAnB,CANe;EAOtBhB,WAAW,EAAEX,SAAS,CAAC+B;AAPD,CAAxB;AAUA,eAAe5B,WAAf"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","style","ProgressBar","props","className","value","max","desc","steps","propsStyle","displayInfo","ratio","percentage","Math","floor","text","stepList","index","step","background","progress","width","texts","description","propTypes","string","number","isRequired","objectOf","oneOfType","bool"],"sources":["../../../src/molecule/progress-bar/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {times} from 'lodash/fp';\nimport style from './style.css';\n\nconst ProgressBar = props => {\n const {\n className,\n value,\n max,\n desc = '',\n steps = 0,\n style: propsStyle,\n displayInfo = true\n } = props;\n\n const ratio = value / max;\n const percentage = Math.floor(ratio * 100);\n const text = `${percentage}%`;\n const stepList = times(index => <div className={style.step} key={index} />, steps);\n return (\n <div\n className={classnames(style.background, className)}\n data-name=\"progress-bar-wrapper\"\n data-content={`${text}`}\n >\n <div\n className={style.progress}\n style={{\n ...propsStyle,\n width: `${ratio * 100}%`\n }}\n />\n {displayInfo ? (\n <p className={style.texts}>\n <span className={style.description}>{`${value}/${max} ${desc}`}</span>\n <span className={style.percentage}>{text}</span>\n </p>\n ) : null}\n <div className={style.steps}>{stepList}</div>\n </div>\n );\n};\n\nProgressBar.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n desc: PropTypes.string,\n steps: PropTypes.number,\n style: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n displayInfo: PropTypes.bool\n};\n\nexport default ProgressBar;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,WAAW,GAAGC,KAAK,IAAI;EAC3B,MAAM;IACJC,SADI;IAEJC,KAFI;IAGJC,GAHI;IAIJC,IAAI,GAAG,EAJH;IAKJC,KAAK,GAAG,CALJ;IAMJP,KAAK,EAAEQ,UANH;IAOJC,WAAW,GAAG;EAPV,IAQFP,KARJ;EAUA,MAAMQ,KAAK,GAAGN,KAAK,GAAGC,GAAtB;EACA,MAAMM,UAAU,GAAGC,IAAI,CAACC,KAAL,CAAWH,KAAK,GAAG,GAAnB,CAAnB;EACA,MAAMI,IAAI,GAAI,GAAEH,UAAW,GAA3B;;EACA,MAAMI,QAAQ,GAAG,OAAMC,KAAK,iBAAI;IAAK,SAAS,EAAEhB,KAAK,CAACiB,IAAtB;IAA4B,GAAG,EAAED;EAAjC,EAAf,EAA2DT,KAA3D,CAAjB;;EACA,oBACE;IACE,SAAS,EAAER,UAAU,CAACC,KAAK,CAACkB,UAAP,EAAmBf,SAAnB,CADvB;IAEE,aAAU,sBAFZ;IAGE,gBAAe,GAAEW,IAAK;EAHxB,gBAKE;IACE,SAAS,EAAEd,KAAK,CAACmB,QADnB;IAEE,KAAK,eACAX,UADA;MAEHY,KAAK,EAAG,GAAEV,KAAK,GAAG,GAAI;IAFnB;EAFP,EALF,EAYGD,WAAW,gBACV;IAAG,SAAS,EAAET,KAAK,CAACqB;EAApB,gBACE;IAAM,SAAS,EAAErB,KAAK,CAACsB;EAAvB,GAAsC,GAAElB,KAAM,IAAGC,GAAI,IAAGC,IAAK,EAA7D,CADF,eAEE;IAAM,SAAS,EAAEN,KAAK,CAACW;EAAvB,GAAoCG,IAApC,CAFF,CADU,GAKR,IAjBN,eAkBE;IAAK,SAAS,EAAEd,KAAK,CAACO;EAAtB,GAA8BQ,QAA9B,CAlBF,CADF;AAsBD,CArCD;;AAuCAd,WAAW,CAACsB,SAAZ,2CAAwB;EACtBpB,SAAS,EAAEL,SAAS,CAAC0B,MADC;EAEtBpB,KAAK,EAAEN,SAAS,CAAC2B,MAAV,CAAiBC,UAFF;EAGtBrB,GAAG,EAAEP,SAAS,CAAC2B,MAAV,CAAiBC,UAHA;EAItBpB,IAAI,EAAER,SAAS,CAAC0B,MAJM;EAKtBjB,KAAK,EAAET,SAAS,CAAC2B,MALK;EAMtBzB,KAAK,EAAEF,SAAS,CAAC6B,QAAV,CAAmB7B,SAAS,CAAC8B,SAAV,CAAoB,CAAC9B,SAAS,CAAC0B,MAAX,EAAmB1B,SAAS,CAAC2B,MAA7B,CAApB,CAAnB,CANe;EAOtBhB,WAAW,EAAEX,SAAS,CAAC+B;AAPD,CAAxB;AAUA,eAAe5B,WAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useCallback","PropTypes","Provider","Title","Select","InputSwitch","CertificationCard","style","Certifications","props","context","certifications","sorting","translate","showCompleted","setShowCompleted","sortView","undefined","handleShowCompletedToggle","container","iconName","iconColor","borderRadius","backgroundColor","sortSectionWrapper","certificatesCount","length","sortSection","sortWrapper","certificateList","map","certification","progress","label","contextTypes","childContextTypes","propTypes","arrayOf","shape","string","goal","title","condition","nbDone","number","imgUrl","onClick","func"],"sources":["../../../src/template/certifications/index.js"],"sourcesContent":["import React, {useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\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 {certifications, sorting} = 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.container} data-name='Certifications'>\n <Title\n title={translate('certificates')}\n subtitle={translate('certificates_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}>\n {`${certifications.length} ${translate('certificate(s)')}`}\n </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 {certifications.map(certification => {\n if (!showCompleted && certification.progress === 100) {\n return null;\n }\n return (\n <div key={certification.label}>\n <CertificationCard {...certification} />\n </div>\n );\n })}\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 })\n ),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default Certifications;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useState","useCallback","PropTypes","Provider","Title","Select","InputSwitch","CertificationCard","style","Certifications","props","context","certifications","sorting","translate","showCompleted","setShowCompleted","sortView","undefined","handleShowCompletedToggle","container","iconName","iconColor","borderRadius","backgroundColor","sortSectionWrapper","certificatesCount","length","sortSection","sortWrapper","certificateList","map","certification","progress","label","contextTypes","childContextTypes","propTypes","arrayOf","shape","string","goal","title","condition","nbDone","number","imgUrl","onClick","func"],"sources":["../../../src/template/certifications/index.js"],"sourcesContent":["import React, {useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\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 {certifications, sorting} = 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.container} data-name=\"Certifications\">\n <Title\n title={translate('certificates')}\n subtitle={translate('certificates_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}>\n {`${certifications.length} ${translate('certificate(s)')}`}\n </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 {certifications.map(certification => {\n if (!showCompleted && certification.progress === 100) {\n return null;\n }\n return (\n <div key={certification.label}>\n <CertificationCard {...certification} />\n </div>\n );\n })}\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 })\n ),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default Certifications;\n"],"mappings":"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"}
@@ -91,10 +91,6 @@
91
91
  margin-top: 24px;
92
92
  }
93
93
 
94
- .continueLearningSection {
95
- padding: 24px 0 32px 0;
96
- }
97
-
98
94
  @media tablet {
99
95
  .ctaContainer {
100
96
  flex-direction: column;
@@ -1 +1 @@
1
- {"version":3,"file":"all-courses.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/all-courses.js"],"names":[],"mappings":";AA2CA,mEAwHC"}
1
+ {"version":3,"file":"all-courses.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/all-courses.js"],"names":[],"mappings":";AA2CA,mEAkHC"}
@@ -1,10 +1,8 @@
1
- import _sortBy from "lodash/fp/sortBy";
2
- import _getOr from "lodash/fp/getOr";
3
1
  import _get from "lodash/fp/get";
4
2
 
5
3
  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); }
6
4
 
7
- import React, { useState, useCallback, useEffect } from 'react';
5
+ import React, { useState, useCallback } from 'react';
8
6
  import PropTypes from 'prop-types';
9
7
  import Provider from '../../atom/provider';
10
8
  import Select, { SelectOptionPropTypes } from '../../atom/select';
@@ -71,15 +69,12 @@ const AllCourses = (props, context) => {
71
69
  } = context;
72
70
  const [showCompleted, setShowCompleted] = useState(true);
73
71
  const [searchValue, setSearchValue] = useState('');
74
- const [searchResults, setSearchResults] = useState(_sortBy(course => -_getOr(0, ['progress'], course), list));
72
+ const [searchResults, setSearchResults] = useState(list);
75
73
  const sortView = sorting !== undefined ? /*#__PURE__*/React.createElement("div", {
76
74
  "data-name": "choice"
77
75
  }, /*#__PURE__*/React.createElement(Select, _extends({}, sorting, {
78
76
  "aria-label": "All courses sort"
79
77
  }))) : null;
80
- useEffect(() => {
81
- setSearchResults(_sortBy(course => -_getOr(0, ['progress'], course), list));
82
- }, [list]);
83
78
  const handleSearch = useCallback(value => {
84
79
  setSearchValue(value);
85
80
  setSearchResults(list.filter(skill => searchValueIncluded(skill.title, value)));
@@ -1 +1 @@
1
- {"version":3,"file":"all-courses.js","names":["React","useState","useCallback","useEffect","PropTypes","Provider","Select","SelectOptionPropTypes","ButtonLink","SearchForm","CardsGrid","searchValueIncluded","InputSwitch","style","FilterButton","props","context","selected","filter","onClick","skin","primarySkinColor","buttonProps","customStyle","backgroundColor","color","transition","width","label","contextTypes","childContextTypes","translate","propTypes","bool","string","func","AllCourses","courses","totalCourses","filters","sorting","options","onChange","list","loading","showCompleted","setShowCompleted","searchValue","setSearchValue","searchResults","setSearchResults","course","sortView","undefined","handleSearch","value","skill","title","handleSearchReset","handleShowCompletedToggle","toggledShowCompleted","progress","continueLearningWrapper","continueLearningTitle","continueLearningNumber","searchAndSortSection","searchWrapper","placeholder","sortSection","sortWrapper","filterWrapper","length","map","index","name","handleChange","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","number","arrayOf"],"sources":["../../../src/template/skill-detail/all-courses.js"],"sourcesContent":["import React, {useState, useCallback, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, sortBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid from '../../organism/cards-grid';\nimport searchValueIncluded from '../../util/search-value-included';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './all-courses.css';\n\nconst FilterButton = (props, context) => {\n const {selected, filter, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : '#E1E1E3',\n color: selected ? '#FFFFFF' : '#515161',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label: filter,\n onClick,\n 'data-name': 'filter-type-course-button'\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n selected: PropTypes.bool,\n filter: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (props, context) => {\n const {courses, totalCourses, filters, sorting} = props;\n const {options, onChange} = filters;\n const {list, loading} = courses;\n const {translate} = context;\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(\n sortBy(course => -getOr(0, ['progress'], course), list)\n );\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 useEffect(() => {\n setSearchResults(sortBy(course => -getOr(0, ['progress'], course), list));\n }, [list]);\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(list.filter(skill => searchValueIncluded(skill.title, value)));\n },\n [list, setSearchValue, setSearchResults]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(list);\n }, [list, setSearchValue, setSearchResults]);\n\n const handleShowCompletedToggle = useCallback(() => {\n const toggledShowCompleted = !showCompleted;\n setShowCompleted(toggledShowCompleted);\n if (toggledShowCompleted) {\n setSearchResults(list);\n handleSearchReset();\n } else {\n setSearchResults(searchResults.filter(skill => skill.progress < 100));\n }\n }, [list, searchResults, showCompleted, setShowCompleted, setSearchResults, handleSearchReset]);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_courses')}</span>\n <span className={style.continueLearningNumber}>{totalCourses}</span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </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 <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n </div>\n </div>\n <div className={style.filterWrapper}>\n {options.length > 2 && searchResults.length > 0\n ? options.map((filter, index) => {\n const {name, value, selected} = filter;\n\n function handleChange() {\n onChange(value);\n handleSearchReset();\n }\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton selected={selected} filter={name} onClick={handleChange} />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n })\n : null}\n </div>\n <div>\n {searchResults.length > 0 ? (\n <CardsGrid\n list={searchResults}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n courses: PropTypes.shape(CardsGrid.propTypes),\n totalCourses: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default AllCourses;\n"],"mappings":";;;;;;AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,WAAzB,EAAsCC,SAAtC,QAAsD,OAAtD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,MAAP,IAAgBC,qBAAhB,QAA4C,mBAA5C;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,UAAP,MAAuB,4BAAvB;AACA,OAAOC,SAAP,MAAsB,2BAAtB;AACA,OAAOC,mBAAP,MAAgC,kCAAhC;AACA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,OAAOC,KAAP,MAAkB,mBAAlB;;AAEA,MAAMC,YAAY,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACvC,MAAM;IAACC,QAAD;IAAWC,MAAX;IAAmBC;EAAnB,IAA8BJ,KAApC;EACA,MAAM;IAACK;EAAD,IAASJ,OAAf;;EACA,MAAMK,gBAAgB,GAAG,KAAI,gBAAJ,EAAsBD,IAAtB,CAAzB;;EAEA,MAAME,WAAW,GAAG;IAClBC,WAAW,EAAE;MACXC,eAAe,EAAEP,QAAQ,GAAGI,gBAAH,GAAsB,SADpC;MAEXI,KAAK,EAAER,QAAQ,GAAG,SAAH,GAAe,SAFnB;MAGXS,UAAU,EAAE,6DAHD;MAIXC,KAAK,EAAE;IAJI,CADK;IAOlBC,KAAK,EAAEV,MAPW;IAQlBC,OARkB;IASlB,aAAa;EATK,CAApB;EAYA,oBAAO,oBAAC,UAAD,EAAgBG,WAAhB,CAAP;AACD,CAlBD;;AAoBAR,YAAY,CAACe,YAAb,GAA4B;EAC1BT,IAAI,EAAEf,QAAQ,CAACyB,iBAAT,CAA2BV,IADP;EAE1BW,SAAS,EAAE1B,QAAQ,CAACyB,iBAAT,CAA2BC;AAFZ,CAA5B;AAKAjB,YAAY,CAACkB,SAAb,2CAAyB;EACvBf,QAAQ,EAAEb,SAAS,CAAC6B,IADG;EAEvBf,MAAM,EAAEd,SAAS,CAAC8B,MAFK;EAGvBf,OAAO,EAAEf,SAAS,CAAC+B;AAHI,CAAzB;;AAMA,MAAMC,UAAU,GAAG,CAACrB,KAAD,EAAQC,OAAR,KAAoB;EACrC,MAAM;IAACqB,OAAD;IAAUC,YAAV;IAAwBC,OAAxB;IAAiCC;EAAjC,IAA4CzB,KAAlD;EACA,MAAM;IAAC0B,OAAD;IAAUC;EAAV,IAAsBH,OAA5B;EACA,MAAM;IAACI,IAAD;IAAOC;EAAP,IAAkBP,OAAxB;EACA,MAAM;IAACN;EAAD,IAAcf,OAApB;EACA,MAAM,CAAC6B,aAAD,EAAgBC,gBAAhB,IAAoC7C,QAAQ,CAAC,IAAD,CAAlD;EACA,MAAM,CAAC8C,WAAD,EAAcC,cAAd,IAAgC/C,QAAQ,CAAC,EAAD,CAA9C;EACA,MAAM,CAACgD,aAAD,EAAgBC,gBAAhB,IAAoCjD,QAAQ,CAChD,QAAOkD,MAAM,IAAI,CAAC,OAAM,CAAN,EAAS,CAAC,UAAD,CAAT,EAAuBA,MAAvB,CAAlB,EAAkDR,IAAlD,CADgD,CAAlD;EAIA,MAAMS,QAAQ,GACZZ,OAAO,KAAKa,SAAZ,gBACE;IAAK,aAAU;EAAf,gBACE,oBAAC,MAAD,eAAYb,OAAZ;IAAqB,cAAW;EAAhC,GADF,CADF,GAII,IALN;EAOArC,SAAS,CAAC,MAAM;IACd+C,gBAAgB,CAAC,QAAOC,MAAM,IAAI,CAAC,OAAM,CAAN,EAAS,CAAC,UAAD,CAAT,EAAuBA,MAAvB,CAAlB,EAAkDR,IAAlD,CAAD,CAAhB;EACD,CAFQ,EAEN,CAACA,IAAD,CAFM,CAAT;EAIA,MAAMW,YAAY,GAAGpD,WAAW,CAC9BqD,KAAK,IAAI;IACPP,cAAc,CAACO,KAAD,CAAd;IACAL,gBAAgB,CAACP,IAAI,CAACzB,MAAL,CAAYsC,KAAK,IAAI7C,mBAAmB,CAAC6C,KAAK,CAACC,KAAP,EAAcF,KAAd,CAAxC,CAAD,CAAhB;EACD,CAJ6B,EAK9B,CAACZ,IAAD,EAAOK,cAAP,EAAuBE,gBAAvB,CAL8B,CAAhC;EAQA,MAAMQ,iBAAiB,GAAGxD,WAAW,CAAC,MAAM;IAC1C8C,cAAc,CAAC,EAAD,CAAd;IACAE,gBAAgB,CAACP,IAAD,CAAhB;EACD,CAHoC,EAGlC,CAACA,IAAD,EAAOK,cAAP,EAAuBE,gBAAvB,CAHkC,CAArC;EAKA,MAAMS,yBAAyB,GAAGzD,WAAW,CAAC,MAAM;IAClD,MAAM0D,oBAAoB,GAAG,CAACf,aAA9B;IACAC,gBAAgB,CAACc,oBAAD,CAAhB;;IACA,IAAIA,oBAAJ,EAA0B;MACxBV,gBAAgB,CAACP,IAAD,CAAhB;MACAe,iBAAiB;IAClB,CAHD,MAGO;MACLR,gBAAgB,CAACD,aAAa,CAAC/B,MAAd,CAAqBsC,KAAK,IAAIA,KAAK,CAACK,QAAN,GAAiB,GAA/C,CAAD,CAAhB;IACD;EACF,CAT4C,EAS1C,CAAClB,IAAD,EAAOM,aAAP,EAAsBJ,aAAtB,EAAqCC,gBAArC,EAAuDI,gBAAvD,EAAyEQ,iBAAzE,CAT0C,CAA7C;EAWA,oBACE,uDACE;IAAK,SAAS,EAAE7C,KAAK,CAACiD;EAAtB,gBACE;IAAM,SAAS,EAAEjD,KAAK,CAACkD;EAAvB,GAA+ChC,SAAS,CAAC,aAAD,CAAxD,CADF,eAEE;IAAM,SAAS,EAAElB,KAAK,CAACmD;EAAvB,GAAgD1B,YAAhD,CAFF,CADF,eAKE;IAAK,SAAS,EAAEzB,KAAK,CAACoD;EAAtB,gBACE;IAAK,SAAS,EAAEpD,KAAK,CAACqD;EAAtB,gBACE,oBAAC,UAAD;IACE,MAAM,EAAE;MACNC,WAAW,EAAEpC,SAAS,CAAC,qBAAD,CADhB;MAENwB,KAAK,EAAER,WAFD;MAGNL,QAAQ,EAAEY;IAHJ,CADV;IAME,OAAO,EAAEI;EANX,EADF,CADF,eAWE;IAAK,SAAS,EAAE7C,KAAK,CAACuD;EAAtB,gBACE,oBAAC,WAAD;IACE,EAAE,EAAE,+BADN;IAEE,IAAI,EAAC,QAFP;IAGE,IAAI,EAAErC,SAAS,CAAC,gBAAD,CAHjB;IAIE,KAAK,EAAEA,SAAS,CAAC,gBAAD,CAJlB;IAKE,cAAY,mCALd;IAME,KAAK,EAAEc,aANT;IAOE,QAAQ,EAAEc;EAPZ,EADF,eAUE;IAAK,SAAS,EAAE9C,KAAK,CAACwD;EAAtB,GACGtC,SAAS,CAAC,SAAD,CADZ,EAEGqB,QAFH,CAVF,CAXF,CALF,eAgCE;IAAK,SAAS,EAAEvC,KAAK,CAACyD;EAAtB,GACG7B,OAAO,CAAC8B,MAAR,GAAiB,CAAjB,IAAsBtB,aAAa,CAACsB,MAAd,GAAuB,CAA7C,GACG9B,OAAO,CAAC+B,GAAR,CAAY,CAACtD,MAAD,EAASuD,KAAT,KAAmB;IAC7B,MAAM;MAACC,IAAD;MAAOnB,KAAP;MAActC;IAAd,IAA0BC,MAAhC;;IAEA,SAASyD,YAAT,GAAwB;MACtBjC,QAAQ,CAACa,KAAD,CAAR;MACAG,iBAAiB;IAClB;;IACD,oBACE;MAAK,GAAG,EAAEe,KAAV;MAAiB,SAAS,EAAE5D,KAAK,CAAC+D;IAAlC,gBACE,oBAAC,YAAD;MAAc,QAAQ,EAAE3D,QAAxB;MAAkC,MAAM,EAAEyD,IAA1C;MAAgD,OAAO,EAAEC;IAAzD,EADF,EAEGpB,KAAK,KAAK,KAAV,gBAAkB;MAAK,SAAS,EAAE1C,KAAK,CAACgE;IAAtB,EAAlB,GAAsD,IAFzD,CADF;EAMD,CAbD,CADH,GAeG,IAhBN,CAhCF,eAkDE,iCACG5B,aAAa,CAACsB,MAAd,GAAuB,CAAvB,gBACC,oBAAC,SAAD;IACE,IAAI,EAAEtB,aADR;IAEE,OAAO,EAAEL,OAFX;IAGE,WAAW,EAAE;MAACkC,cAAc,EAAE;IAAjB;EAHf,EADD,gBAOC;IAAK,SAAS,EAAEjE,KAAK,CAACkE;EAAtB,gBACE;IAAK,SAAS,EAAElE,KAAK,CAACmE;EAAtB,GACGjD,SAAS,CAAC,2BAAD,EAA8B;IAACgB;EAAD,CAA9B,CADZ,CADF,eAIE;IAAK,SAAS,EAAElC,KAAK,CAACoE;EAAtB,GACGlD,SAAS,CAAC,iCAAD,CADZ,CAJF,eAOE;IAAK,SAAS,EAAElB,KAAK,CAACqE,4BAAtB;IAAoD,OAAO,EAAExB;EAA7D,GACG3B,SAAS,CAAC,kCAAD,CADZ,CAPF,CARJ,CAlDF,CADF;AA0ED,CAxHD;;AA0HAK,UAAU,CAACP,YAAX,GAA0B;EACxBT,IAAI,EAAEf,QAAQ,CAACyB,iBAAT,CAA2BV,IADT;EAExBW,SAAS,EAAE1B,QAAQ,CAACyB,iBAAT,CAA2BC;AAFd,CAA1B;AAKAK,UAAU,CAACJ,SAAX,2CAAuB;EACrBK,OAAO,EAAEjC,SAAS,CAAC+E,KAAV,CAAgBzE,SAAS,CAACsB,SAA1B,CADY;EAErBM,YAAY,EAAElC,SAAS,CAACgF,MAFH;EAGrB7C,OAAO,EAAEnC,SAAS,CAAC+E,KAAV,CAAgB;IACvBzC,QAAQ,EAAEtC,SAAS,CAAC+B,IADG;IAEvBM,OAAO,EAAErC,SAAS,CAACiF,OAAV,CAAkBjF,SAAS,CAAC+E,KAAV,CAAgB5E,qBAAhB,CAAlB;EAFc,CAAhB,CAHY;EAOrBiC,OAAO,EAAEpC,SAAS,CAAC+E,KAAV,CAAgB7E,MAAM,CAAC0B,SAAvB;AAPY,CAAvB;AAUA,eAAeI,UAAf"}
1
+ {"version":3,"file":"all-courses.js","names":["React","useState","useCallback","PropTypes","Provider","Select","SelectOptionPropTypes","ButtonLink","SearchForm","CardsGrid","searchValueIncluded","InputSwitch","style","FilterButton","props","context","selected","filter","onClick","skin","primarySkinColor","buttonProps","customStyle","backgroundColor","color","transition","width","label","contextTypes","childContextTypes","translate","propTypes","bool","string","func","AllCourses","courses","totalCourses","filters","sorting","options","onChange","list","loading","showCompleted","setShowCompleted","searchValue","setSearchValue","searchResults","setSearchResults","sortView","undefined","handleSearch","value","skill","title","handleSearchReset","handleShowCompletedToggle","toggledShowCompleted","progress","continueLearningWrapper","continueLearningTitle","continueLearningNumber","searchAndSortSection","searchWrapper","placeholder","sortSection","sortWrapper","filterWrapper","length","map","index","name","handleChange","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","number","arrayOf"],"sources":["../../../src/template/skill-detail/all-courses.js"],"sourcesContent":["import React, {useState, useCallback, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, sortBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid from '../../organism/cards-grid';\nimport searchValueIncluded from '../../util/search-value-included';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './all-courses.css';\n\nconst FilterButton = (props, context) => {\n const {selected, filter, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : '#E1E1E3',\n color: selected ? '#FFFFFF' : '#515161',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label: filter,\n onClick,\n 'data-name': 'filter-type-course-button'\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n selected: PropTypes.bool,\n filter: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (props, context) => {\n const {courses, totalCourses, filters, sorting} = props;\n const {options, onChange} = filters;\n const {list, loading} = courses;\n const {translate} = context;\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(list);\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 handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(list.filter(skill => searchValueIncluded(skill.title, value)));\n },\n [list, setSearchValue, setSearchResults]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(list);\n }, [list, setSearchValue, setSearchResults]);\n\n const handleShowCompletedToggle = useCallback(() => {\n const toggledShowCompleted = !showCompleted;\n setShowCompleted(toggledShowCompleted);\n if (toggledShowCompleted) {\n setSearchResults(list);\n handleSearchReset();\n } else {\n setSearchResults(searchResults.filter(skill => skill.progress < 100));\n }\n }, [list, searchResults, showCompleted, setShowCompleted, setSearchResults, handleSearchReset]);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_courses')}</span>\n <span className={style.continueLearningNumber}>{totalCourses}</span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </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 <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n </div>\n </div>\n <div className={style.filterWrapper}>\n {options.length > 2 && searchResults.length > 0\n ? options.map((filter, index) => {\n const {name, value, selected} = filter;\n\n function handleChange() {\n onChange(value);\n handleSearchReset();\n }\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton selected={selected} filter={name} onClick={handleChange} />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n })\n : null}\n </div>\n <div>\n {searchResults.length > 0 ? (\n <CardsGrid\n list={searchResults}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n courses: PropTypes.shape(CardsGrid.propTypes),\n totalCourses: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default AllCourses;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/certification-card/index.js"],"names":[],"mappings":";AAQA,0EAsDC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/certification-card/index.js"],"names":[],"mappings":";AAQA,0EAwDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["CertificationCard","props","context","label","goal","progress","imgUrl","onClick","title","condition","nbDone","translate","isInprogress","progressLabel","progressTagType","progressIconProps","position","iconName","iconColor","backgroundColor","size","faSize","wrapperSize","customStyle","padding","style","container","top","right","imageWrapper","detailWrapper","titleWrapper","moduleCount","customProgressBar","COLORS","positive","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","shape","number","func"],"sources":["../../../src/molecule/certification-card/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {COLORS} from '../../variables/colors';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport ProgressBar from '../progress-bar';\nimport style from './style.css';\n\nconst CertificationCard = (props, context) => {\n const {label, goal, progress, imgUrl, onClick} = props;\n const {\n title,\n condition: {nbDone}\n } = goal;\n const {translate} = context;\n\n const isInprogress = progress < 100;\n const progressLabel = isInprogress ? translate('in_progress') : translate('completed');\n const progressTagType = isInprogress ? 'progress' : 'success';\n const progressIconProps = {\n position: 'left',\n iconName: isInprogress ? 'clock' : 'circle-check',\n iconColor: isInprogress ? '#B87A00' : '#05944F',\n backgroundColor: isInprogress ? '#FFEECC' : '#D6F5E5',\n size: {\n faSize: 10,\n wrapperSize: 10\n },\n customStyle: {padding: 0}\n };\n return (\n <div className={style.container} data-name={`certification-card-${label}`} onClick={onClick}>\n {progress > 0 ? (\n <Tag\n label={progressLabel}\n type={progressTagType}\n customStyle={{position: 'absolute', top: '12px', right: '12px'}}\n icon={progressIconProps}\n />\n ) : null}\n <div className={style.imageWrapper}>\n <img src={imgUrl} />\n </div>\n <div className={style.detailWrapper}>\n <div className={style.titleWrapper}>\n <Tag label={translate('certification')} size=\"S\" />\n <div className={style.title} data-name='certification-title'>{title}</div>\n <div className={style.moduleCount}>\n <span>{nbDone}</span>\n {` ${translate('certification_module')}`}\n </div>\n </div>\n <ProgressBar\n className={style.customProgressBar}\n style={{backgroundColor: COLORS.positive}}\n displayInfo={false}\n value={progress}\n max={100}\n />\n </div>\n </div>\n );\n};\n\nCertificationCard.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nCertificationCard.propTypes = {\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};\n\nexport default CertificationCard;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["CertificationCard","props","context","label","goal","progress","imgUrl","onClick","title","condition","nbDone","translate","isInprogress","progressLabel","progressTagType","progressIconProps","position","iconName","iconColor","backgroundColor","size","faSize","wrapperSize","customStyle","padding","style","container","top","right","imageWrapper","detailWrapper","titleWrapper","moduleCount","customProgressBar","COLORS","positive","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","shape","number","func"],"sources":["../../../src/molecule/certification-card/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {COLORS} from '../../variables/colors';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport ProgressBar from '../progress-bar';\nimport style from './style.css';\n\nconst CertificationCard = (props, context) => {\n const {label, goal, progress, imgUrl, onClick} = props;\n const {\n title,\n condition: {nbDone}\n } = goal;\n const {translate} = context;\n\n const isInprogress = progress < 100;\n const progressLabel = isInprogress ? translate('in_progress') : translate('completed');\n const progressTagType = isInprogress ? 'progress' : 'success';\n const progressIconProps = {\n position: 'left',\n iconName: isInprogress ? 'clock' : 'circle-check',\n iconColor: isInprogress ? '#B87A00' : '#05944F',\n backgroundColor: isInprogress ? '#FFEECC' : '#D6F5E5',\n size: {\n faSize: 10,\n wrapperSize: 10\n },\n customStyle: {padding: 0}\n };\n return (\n <div className={style.container} data-name={`certification-card-${label}`} onClick={onClick}>\n {progress > 0 ? (\n <Tag\n label={progressLabel}\n type={progressTagType}\n customStyle={{position: 'absolute', top: '12px', right: '12px'}}\n icon={progressIconProps}\n />\n ) : null}\n <div className={style.imageWrapper}>\n <img src={imgUrl} />\n </div>\n <div className={style.detailWrapper}>\n <div className={style.titleWrapper}>\n <Tag label={translate('certification')} size=\"S\" />\n <div className={style.title} data-name=\"certification-title\">\n {title}\n </div>\n <div className={style.moduleCount}>\n <span>{nbDone}</span>\n {` ${translate('certification_module')}`}\n </div>\n </div>\n <ProgressBar\n className={style.customProgressBar}\n style={{backgroundColor: COLORS.positive}}\n displayInfo={false}\n value={progress}\n max={100}\n />\n </div>\n </div>\n );\n};\n\nCertificationCard.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nCertificationCard.propTypes = {\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};\n\nexport default CertificationCard;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/progress-bar/index.js"],"names":[],"mappings":";AAMA,sDAiCC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/progress-bar/index.js"],"names":[],"mappings":";AAMA,sDAqCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ProgressBar","props","className","value","max","desc","steps","style","propsStyle","displayInfo","ratio","percentage","Math","floor","text","stepList","index","step","classnames","background","progress","width","texts","description","propTypes","PropTypes","string","number","isRequired","objectOf","oneOfType","bool"],"sources":["../../../src/molecule/progress-bar/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {times} from 'lodash/fp';\nimport style from './style.css';\n\nconst ProgressBar = props => {\n const {\n className,\n value,\n max,\n desc = '',\n steps = 0,\n style: propsStyle,\n displayInfo = true\n } = props;\n\n const ratio = value / max;\n const percentage = Math.floor(ratio * 100);\n const text = `${percentage}%`;\n const stepList = times(index => <div className={style.step} key={index} />, steps);\n return (\n <div className={classnames(style.background, className)} data-name='progress-bar-wrapper' data-content={`${text}`}>\n <div\n className={style.progress}\n style={{\n ...propsStyle,\n width: `${ratio * 100}%`\n }}\n />\n {displayInfo ? (\n <p className={style.texts}>\n <span className={style.description}>{`${value}/${max} ${desc}`}</span>\n <span className={style.percentage}>{text}</span>\n </p>\n ) : null}\n <div className={style.steps}>{stepList}</div>\n </div>\n );\n};\n\nProgressBar.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n desc: PropTypes.string,\n steps: PropTypes.number,\n style: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n displayInfo: PropTypes.bool\n};\n\nexport default ProgressBar;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;AAEA,MAAMA,WAAW,GAAGC,KAAK,IAAI;EAC3B,MAAM;IACJC,SADI;IAEJC,KAFI;IAGJC,GAHI;IAIJC,IAAI,GAAG,EAJH;IAKJC,KAAK,GAAG,CALJ;IAMJC,KAAK,EAAEC,UANH;IAOJC,WAAW,GAAG;EAPV,IAQFR,KARJ;EAUA,MAAMS,KAAK,GAAGP,KAAK,GAAGC,GAAtB;EACA,MAAMO,UAAU,GAAGC,IAAI,CAACC,KAAL,CAAWH,KAAK,GAAG,GAAnB,CAAnB;EACA,MAAMI,IAAI,GAAI,GAAEH,UAAW,GAA3B;EACA,MAAMI,QAAQ,GAAG,qBAAMC,KAAK,iBAAI;IAAK,SAAS,EAAET,cAAA,CAAMU,IAAtB;IAA4B,GAAG,EAAED;EAAjC,EAAf,EAA2DV,KAA3D,CAAjB;EACA,oBACE;IAAK,SAAS,EAAE,IAAAY,mBAAA,EAAWX,cAAA,CAAMY,UAAjB,EAA6BjB,SAA7B,CAAhB;IAAyD,aAAU,sBAAnE;IAA0F,gBAAe,GAAEY,IAAK;EAAhH,gBACE;IACE,SAAS,EAAEP,cAAA,CAAMa,QADnB;IAEE,KAAK,eACAZ,UADA;MAEHa,KAAK,EAAG,GAAEX,KAAK,GAAG,GAAI;IAFnB;EAFP,EADF,EAQGD,WAAW,gBACV;IAAG,SAAS,EAAEF,cAAA,CAAMe;EAApB,gBACE;IAAM,SAAS,EAAEf,cAAA,CAAMgB;EAAvB,GAAsC,GAAEpB,KAAM,IAAGC,GAAI,IAAGC,IAAK,EAA7D,CADF,eAEE;IAAM,SAAS,EAAEE,cAAA,CAAMI;EAAvB,GAAoCG,IAApC,CAFF,CADU,GAKR,IAbN,eAcE;IAAK,SAAS,EAAEP,cAAA,CAAMD;EAAtB,GAA8BS,QAA9B,CAdF,CADF;AAkBD,CAjCD;;AAmCAf,WAAW,CAACwB,SAAZ,2CAAwB;EACtBtB,SAAS,EAAEuB,kBAAA,CAAUC,MADC;EAEtBvB,KAAK,EAAEsB,kBAAA,CAAUE,MAAV,CAAiBC,UAFF;EAGtBxB,GAAG,EAAEqB,kBAAA,CAAUE,MAAV,CAAiBC,UAHA;EAItBvB,IAAI,EAAEoB,kBAAA,CAAUC,MAJM;EAKtBpB,KAAK,EAAEmB,kBAAA,CAAUE,MALK;EAMtBpB,KAAK,EAAEkB,kBAAA,CAAUI,QAAV,CAAmBJ,kBAAA,CAAUK,SAAV,CAAoB,CAACL,kBAAA,CAAUC,MAAX,EAAmBD,kBAAA,CAAUE,MAA7B,CAApB,CAAnB,CANe;EAOtBlB,WAAW,EAAEgB,kBAAA,CAAUM;AAPD,CAAxB;eAUe/B,W"}
1
+ {"version":3,"file":"index.js","names":["ProgressBar","props","className","value","max","desc","steps","style","propsStyle","displayInfo","ratio","percentage","Math","floor","text","stepList","index","step","classnames","background","progress","width","texts","description","propTypes","PropTypes","string","number","isRequired","objectOf","oneOfType","bool"],"sources":["../../../src/molecule/progress-bar/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {times} from 'lodash/fp';\nimport style from './style.css';\n\nconst ProgressBar = props => {\n const {\n className,\n value,\n max,\n desc = '',\n steps = 0,\n style: propsStyle,\n displayInfo = true\n } = props;\n\n const ratio = value / max;\n const percentage = Math.floor(ratio * 100);\n const text = `${percentage}%`;\n const stepList = times(index => <div className={style.step} key={index} />, steps);\n return (\n <div\n className={classnames(style.background, className)}\n data-name=\"progress-bar-wrapper\"\n data-content={`${text}`}\n >\n <div\n className={style.progress}\n style={{\n ...propsStyle,\n width: `${ratio * 100}%`\n }}\n />\n {displayInfo ? (\n <p className={style.texts}>\n <span className={style.description}>{`${value}/${max} ${desc}`}</span>\n <span className={style.percentage}>{text}</span>\n </p>\n ) : null}\n <div className={style.steps}>{stepList}</div>\n </div>\n );\n};\n\nProgressBar.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n desc: PropTypes.string,\n steps: PropTypes.number,\n style: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n displayInfo: PropTypes.bool\n};\n\nexport default ProgressBar;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;AAEA,MAAMA,WAAW,GAAGC,KAAK,IAAI;EAC3B,MAAM;IACJC,SADI;IAEJC,KAFI;IAGJC,GAHI;IAIJC,IAAI,GAAG,EAJH;IAKJC,KAAK,GAAG,CALJ;IAMJC,KAAK,EAAEC,UANH;IAOJC,WAAW,GAAG;EAPV,IAQFR,KARJ;EAUA,MAAMS,KAAK,GAAGP,KAAK,GAAGC,GAAtB;EACA,MAAMO,UAAU,GAAGC,IAAI,CAACC,KAAL,CAAWH,KAAK,GAAG,GAAnB,CAAnB;EACA,MAAMI,IAAI,GAAI,GAAEH,UAAW,GAA3B;EACA,MAAMI,QAAQ,GAAG,qBAAMC,KAAK,iBAAI;IAAK,SAAS,EAAET,cAAA,CAAMU,IAAtB;IAA4B,GAAG,EAAED;EAAjC,EAAf,EAA2DV,KAA3D,CAAjB;EACA,oBACE;IACE,SAAS,EAAE,IAAAY,mBAAA,EAAWX,cAAA,CAAMY,UAAjB,EAA6BjB,SAA7B,CADb;IAEE,aAAU,sBAFZ;IAGE,gBAAe,GAAEY,IAAK;EAHxB,gBAKE;IACE,SAAS,EAAEP,cAAA,CAAMa,QADnB;IAEE,KAAK,eACAZ,UADA;MAEHa,KAAK,EAAG,GAAEX,KAAK,GAAG,GAAI;IAFnB;EAFP,EALF,EAYGD,WAAW,gBACV;IAAG,SAAS,EAAEF,cAAA,CAAMe;EAApB,gBACE;IAAM,SAAS,EAAEf,cAAA,CAAMgB;EAAvB,GAAsC,GAAEpB,KAAM,IAAGC,GAAI,IAAGC,IAAK,EAA7D,CADF,eAEE;IAAM,SAAS,EAAEE,cAAA,CAAMI;EAAvB,GAAoCG,IAApC,CAFF,CADU,GAKR,IAjBN,eAkBE;IAAK,SAAS,EAAEP,cAAA,CAAMD;EAAtB,GAA8BS,QAA9B,CAlBF,CADF;AAsBD,CArCD;;AAuCAf,WAAW,CAACwB,SAAZ,2CAAwB;EACtBtB,SAAS,EAAEuB,kBAAA,CAAUC,MADC;EAEtBvB,KAAK,EAAEsB,kBAAA,CAAUE,MAAV,CAAiBC,UAFF;EAGtBxB,GAAG,EAAEqB,kBAAA,CAAUE,MAAV,CAAiBC,UAHA;EAItBvB,IAAI,EAAEoB,kBAAA,CAAUC,MAJM;EAKtBpB,KAAK,EAAEmB,kBAAA,CAAUE,MALK;EAMtBpB,KAAK,EAAEkB,kBAAA,CAAUI,QAAV,CAAmBJ,kBAAA,CAAUK,SAAV,CAAoB,CAACL,kBAAA,CAAUC,MAAX,EAAmBD,kBAAA,CAAUE,MAA7B,CAApB,CAAnB,CANe;EAOtBlB,WAAW,EAAEgB,kBAAA,CAAUM;AAPD,CAAxB;eAUe/B,W"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Certifications","props","context","certifications","sorting","translate","showCompleted","setShowCompleted","useState","sortView","undefined","handleShowCompletedToggle","useCallback","style","container","iconName","iconColor","borderRadius","backgroundColor","sortSectionWrapper","certificatesCount","length","sortSection","sortWrapper","certificateList","map","certification","progress","label","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","goal","title","condition","nbDone","number","imgUrl","onClick","func","Select"],"sources":["../../../src/template/certifications/index.js"],"sourcesContent":["import React, {useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\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 {certifications, sorting} = 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.container} data-name='Certifications'>\n <Title\n title={translate('certificates')}\n subtitle={translate('certificates_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}>\n {`${certifications.length} ${translate('certificate(s)')}`}\n </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 {certifications.map(certification => {\n if (!showCompleted && certification.progress === 100) {\n return null;\n }\n return (\n <div key={certification.label}>\n <CertificationCard {...certification} />\n </div>\n );\n })}\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 })\n ),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default Certifications;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["Certifications","props","context","certifications","sorting","translate","showCompleted","setShowCompleted","useState","sortView","undefined","handleShowCompletedToggle","useCallback","style","container","iconName","iconColor","borderRadius","backgroundColor","sortSectionWrapper","certificatesCount","length","sortSection","sortWrapper","certificateList","map","certification","progress","label","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","goal","title","condition","nbDone","number","imgUrl","onClick","func","Select"],"sources":["../../../src/template/certifications/index.js"],"sourcesContent":["import React, {useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\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 {certifications, sorting} = 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.container} data-name=\"Certifications\">\n <Title\n title={translate('certificates')}\n subtitle={translate('certificates_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}>\n {`${certifications.length} ${translate('certificate(s)')}`}\n </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 {certifications.map(certification => {\n if (!showCompleted && certification.progress === 100) {\n return null;\n }\n return (\n <div key={certification.label}>\n <CertificationCard {...certification} />\n </div>\n );\n })}\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 })\n ),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default Certifications;\n"],"mappings":"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"}
@@ -91,10 +91,6 @@
91
91
  margin-top: 24px;
92
92
  }
93
93
 
94
- .continueLearningSection {
95
- padding: 24px 0 32px 0;
96
- }
97
-
98
94
  @media tablet {
99
95
  .ctaContainer {
100
96
  flex-direction: column;
@@ -1 +1 @@
1
- {"version":3,"file":"all-courses.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/all-courses.js"],"names":[],"mappings":";AA2CA,mEAwHC"}
1
+ {"version":3,"file":"all-courses.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/all-courses.js"],"names":[],"mappings":";AA2CA,mEAkHC"}
@@ -3,10 +3,6 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
5
 
6
- var _sortBy2 = _interopRequireDefault(require("lodash/fp/sortBy"));
7
-
8
- var _getOr2 = _interopRequireDefault(require("lodash/fp/getOr"));
9
-
10
6
  var _get2 = _interopRequireDefault(require("lodash/fp/get"));
11
7
 
12
8
  var _react = _interopRequireWildcard(require("react"));
@@ -91,15 +87,12 @@ const AllCourses = (props, context) => {
91
87
  } = context;
92
88
  const [showCompleted, setShowCompleted] = (0, _react.useState)(true);
93
89
  const [searchValue, setSearchValue] = (0, _react.useState)('');
94
- const [searchResults, setSearchResults] = (0, _react.useState)((0, _sortBy2.default)(course => -(0, _getOr2.default)(0, ['progress'], course), list));
90
+ const [searchResults, setSearchResults] = (0, _react.useState)(list);
95
91
  const sortView = sorting !== undefined ? /*#__PURE__*/_react.default.createElement("div", {
96
92
  "data-name": "choice"
97
93
  }, /*#__PURE__*/_react.default.createElement(_select.default, _extends({}, sorting, {
98
94
  "aria-label": "All courses sort"
99
95
  }))) : null;
100
- (0, _react.useEffect)(() => {
101
- setSearchResults((0, _sortBy2.default)(course => -(0, _getOr2.default)(0, ['progress'], course), list));
102
- }, [list]);
103
96
  const handleSearch = (0, _react.useCallback)(value => {
104
97
  setSearchValue(value);
105
98
  setSearchResults(list.filter(skill => (0, _searchValueIncluded.default)(skill.title, value)));
@@ -1 +1 @@
1
- {"version":3,"file":"all-courses.js","names":["FilterButton","props","context","selected","filter","onClick","skin","primarySkinColor","buttonProps","customStyle","backgroundColor","color","transition","width","label","contextTypes","Provider","childContextTypes","translate","propTypes","PropTypes","bool","string","func","AllCourses","courses","totalCourses","filters","sorting","options","onChange","list","loading","showCompleted","setShowCompleted","useState","searchValue","setSearchValue","searchResults","setSearchResults","course","sortView","undefined","useEffect","handleSearch","useCallback","value","skill","searchValueIncluded","title","handleSearchReset","handleShowCompletedToggle","toggledShowCompleted","progress","style","continueLearningWrapper","continueLearningTitle","continueLearningNumber","searchAndSortSection","searchWrapper","placeholder","sortSection","sortWrapper","filterWrapper","length","map","index","name","handleChange","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","CardsGrid","number","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/skill-detail/all-courses.js"],"sourcesContent":["import React, {useState, useCallback, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, sortBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid from '../../organism/cards-grid';\nimport searchValueIncluded from '../../util/search-value-included';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './all-courses.css';\n\nconst FilterButton = (props, context) => {\n const {selected, filter, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : '#E1E1E3',\n color: selected ? '#FFFFFF' : '#515161',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label: filter,\n onClick,\n 'data-name': 'filter-type-course-button'\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n selected: PropTypes.bool,\n filter: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (props, context) => {\n const {courses, totalCourses, filters, sorting} = props;\n const {options, onChange} = filters;\n const {list, loading} = courses;\n const {translate} = context;\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(\n sortBy(course => -getOr(0, ['progress'], course), list)\n );\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 useEffect(() => {\n setSearchResults(sortBy(course => -getOr(0, ['progress'], course), list));\n }, [list]);\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(list.filter(skill => searchValueIncluded(skill.title, value)));\n },\n [list, setSearchValue, setSearchResults]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(list);\n }, [list, setSearchValue, setSearchResults]);\n\n const handleShowCompletedToggle = useCallback(() => {\n const toggledShowCompleted = !showCompleted;\n setShowCompleted(toggledShowCompleted);\n if (toggledShowCompleted) {\n setSearchResults(list);\n handleSearchReset();\n } else {\n setSearchResults(searchResults.filter(skill => skill.progress < 100));\n }\n }, [list, searchResults, showCompleted, setShowCompleted, setSearchResults, handleSearchReset]);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_courses')}</span>\n <span className={style.continueLearningNumber}>{totalCourses}</span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </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 <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n </div>\n </div>\n <div className={style.filterWrapper}>\n {options.length > 2 && searchResults.length > 0\n ? options.map((filter, index) => {\n const {name, value, selected} = filter;\n\n function handleChange() {\n onChange(value);\n handleSearchReset();\n }\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton selected={selected} filter={name} onClick={handleChange} />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n })\n : null}\n </div>\n <div>\n {searchResults.length > 0 ? (\n <CardsGrid\n list={searchResults}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n courses: PropTypes.shape(CardsGrid.propTypes),\n totalCourses: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default AllCourses;\n"],"mappings":"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"}
1
+ {"version":3,"file":"all-courses.js","names":["FilterButton","props","context","selected","filter","onClick","skin","primarySkinColor","buttonProps","customStyle","backgroundColor","color","transition","width","label","contextTypes","Provider","childContextTypes","translate","propTypes","PropTypes","bool","string","func","AllCourses","courses","totalCourses","filters","sorting","options","onChange","list","loading","showCompleted","setShowCompleted","useState","searchValue","setSearchValue","searchResults","setSearchResults","sortView","undefined","handleSearch","useCallback","value","skill","searchValueIncluded","title","handleSearchReset","handleShowCompletedToggle","toggledShowCompleted","progress","style","continueLearningWrapper","continueLearningTitle","continueLearningNumber","searchAndSortSection","searchWrapper","placeholder","sortSection","sortWrapper","filterWrapper","length","map","index","name","handleChange","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","CardsGrid","number","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/skill-detail/all-courses.js"],"sourcesContent":["import React, {useState, useCallback, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, sortBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid from '../../organism/cards-grid';\nimport searchValueIncluded from '../../util/search-value-included';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './all-courses.css';\n\nconst FilterButton = (props, context) => {\n const {selected, filter, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : '#E1E1E3',\n color: selected ? '#FFFFFF' : '#515161',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label: filter,\n onClick,\n 'data-name': 'filter-type-course-button'\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n selected: PropTypes.bool,\n filter: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (props, context) => {\n const {courses, totalCourses, filters, sorting} = props;\n const {options, onChange} = filters;\n const {list, loading} = courses;\n const {translate} = context;\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(list);\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 handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(list.filter(skill => searchValueIncluded(skill.title, value)));\n },\n [list, setSearchValue, setSearchResults]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(list);\n }, [list, setSearchValue, setSearchResults]);\n\n const handleShowCompletedToggle = useCallback(() => {\n const toggledShowCompleted = !showCompleted;\n setShowCompleted(toggledShowCompleted);\n if (toggledShowCompleted) {\n setSearchResults(list);\n handleSearchReset();\n } else {\n setSearchResults(searchResults.filter(skill => skill.progress < 100));\n }\n }, [list, searchResults, showCompleted, setShowCompleted, setSearchResults, handleSearchReset]);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_courses')}</span>\n <span className={style.continueLearningNumber}>{totalCourses}</span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </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 <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n </div>\n </div>\n <div className={style.filterWrapper}>\n {options.length > 2 && searchResults.length > 0\n ? options.map((filter, index) => {\n const {name, value, selected} = filter;\n\n function handleChange() {\n onChange(value);\n handleSearchReset();\n }\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton selected={selected} filter={name} onClick={handleChange} />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n })\n : null}\n </div>\n <div>\n {searchResults.length > 0 ? (\n <CardsGrid\n list={searchResults}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n courses: PropTypes.shape(CardsGrid.propTypes),\n totalCourses: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default AllCourses;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "11.32.36-alpha.1+f2628468a",
3
+ "version": "11.32.36-alpha.3+253f794cc",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -177,5 +177,5 @@
177
177
  "last 2 versions",
178
178
  "IE 11"
179
179
  ],
180
- "gitHead": "f2628468a61992ea15527f471f0077cb90793219"
180
+ "gitHead": "253f794cc93b850113ad7735cf710109f5b38590"
181
181
  }