@coorpacademy/components 11.35.2-alpha.4 → 11.35.2-forcedeploy2.15
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.js +1 -1
- package/es/atom/button-link/index.js.map +1 -1
- package/es/atom/button-link/style.css +2 -2
- package/es/atom/icon/index.d.ts +35 -17
- package/es/atom/icon/index.d.ts.map +1 -1
- package/es/atom/icon/index.js +32 -15
- package/es/atom/icon/index.js.map +1 -1
- package/es/atom/radio-with-title/index.d.ts +13 -3
- package/es/atom/radio-with-title/index.d.ts.map +1 -1
- package/es/atom/radio-with-title/types.d.ts +13 -2
- package/es/atom/radio-with-title/types.d.ts.map +1 -1
- package/es/atom/status-item/index.native.js +1 -1
- package/es/atom/status-item/index.native.js.map +1 -1
- package/es/atom/tag/index.d.ts +12 -1
- package/es/atom/tag/style.css +1 -0
- package/es/atom/title/index.d.ts +13 -2
- package/es/molecule/banner/style.css +1 -0
- package/es/molecule/base-modal/style.css +0 -1
- package/es/molecule/bulk-progress-bar/index.js +2 -2
- package/es/molecule/bulk-progress-bar/index.js.map +1 -1
- package/es/molecule/certification-card/index.js +1 -1
- package/es/molecule/certification-card/index.js.map +1 -1
- package/es/molecule/cm-popin/types.d.ts +28 -7
- package/es/molecule/cm-popin/types.d.ts.map +1 -1
- package/es/molecule/cm-popin/types.js +1 -1
- package/es/molecule/cm-popin/types.js.map +1 -1
- package/es/molecule/dashboard/cards-list/index.d.ts.map +1 -1
- package/es/molecule/dashboard/cards-list/index.js +2 -0
- package/es/molecule/dashboard/cards-list/index.js.map +1 -1
- package/es/molecule/learner-skill-card/index.d.ts +25 -40
- package/es/molecule/learner-skill-card/index.d.ts.map +1 -1
- package/es/molecule/learner-skill-card/index.js +95 -96
- package/es/molecule/learner-skill-card/index.js.map +1 -1
- package/es/molecule/learner-skill-card/prop-types.d.ts +37 -0
- package/es/molecule/learner-skill-card/prop-types.d.ts.map +1 -0
- package/es/molecule/learner-skill-card/prop-types.js +20 -0
- package/es/molecule/learner-skill-card/prop-types.js.map +1 -0
- package/es/molecule/learner-skill-card/style.css +62 -41
- package/es/molecule/learning-priority-modal/style.css +3 -2
- package/es/molecule/progress-wrapper/index.js +1 -1
- package/es/molecule/progress-wrapper/index.js.map +1 -1
- package/es/molecule/skills-chart-side-information-item/index.d.ts +1 -1
- package/es/molecule/skills-chart-side-information-panel/index.d.ts +1 -1
- package/es/molecule/title-and-checkbox-wrapper/index.d.ts +13 -2
- package/es/molecule/title-radio-wrapper/index.d.ts +13 -3
- package/es/molecule/title-radio-wrapper/index.d.ts.map +1 -1
- package/es/molecule/title-radio-wrapper/types.d.ts +13 -2
- package/es/molecule/title-radio-wrapper/types.d.ts.map +1 -1
- package/es/organism/cards-grid/index.d.ts +48 -10
- package/es/organism/cards-grid/index.d.ts.map +1 -1
- package/es/organism/cards-grid/index.js +3 -2
- package/es/organism/cards-grid/index.js.map +1 -1
- package/es/organism/content-skill-modal/index.d.ts +13 -3
- package/es/organism/content-skill-modal/index.d.ts.map +1 -1
- package/es/organism/content-skill-modal/types.d.ts +12 -2
- package/es/organism/content-skill-modal/types.d.ts.map +1 -1
- package/es/organism/header-with-actions/index.d.ts +8 -22
- package/es/organism/header-with-actions/index.d.ts.map +1 -1
- package/es/organism/header-with-actions/index.js +7 -85
- package/es/organism/header-with-actions/index.js.map +1 -1
- package/es/organism/header-with-actions/types.d.ts +13 -44
- package/es/organism/header-with-actions/types.d.ts.map +1 -1
- package/es/organism/header-with-actions/types.js +6 -22
- package/es/organism/header-with-actions/types.js.map +1 -1
- package/es/organism/list-item/index.js +5 -5
- package/es/organism/list-item/index.js.map +1 -1
- package/es/organism/list-item/style.css +23 -17
- package/es/organism/list-items/index.d.ts +13 -2
- package/es/organism/mooc-header/index.d.ts.map +1 -1
- package/es/organism/mooc-header/index.js +9 -7
- package/es/organism/mooc-header/index.js.map +1 -1
- package/es/organism/mooc-header/style.css +22 -18
- package/es/organism/rewards-form/index.d.ts +13 -2
- package/es/organism/select-opponents/index.d.ts +13 -3
- package/es/organism/select-opponents/index.d.ts.map +1 -1
- package/es/organism/select-opponents/types.d.ts +13 -2
- package/es/organism/select-opponents/types.d.ts.map +1 -1
- package/es/organism/sidebar/index.d.ts +2 -2
- package/es/organism/skill-edition/index.d.ts +37 -7
- package/es/organism/skill-edition/index.d.ts.map +1 -1
- package/es/organism/skill-edition/types.d.ts +37 -6
- package/es/organism/skill-edition/types.d.ts.map +1 -1
- package/es/organism/title-and-input/index.d.ts +25 -5
- package/es/organism/title-and-input/index.d.ts.map +1 -1
- package/es/organism/title-and-input/types.d.ts +24 -4
- package/es/organism/title-and-input/types.d.ts.map +1 -1
- package/es/organism/wizard-contents/index.d.ts +13 -2
- package/es/template/app-player/loading/index.d.ts +27 -6
- package/es/template/app-player/player/index.d.ts +53 -12
- package/es/template/app-player/player/slides/index.d.ts +27 -6
- package/es/template/app-player/player/slides/index.d.ts.map +1 -1
- package/es/template/app-player/popin-correction/index.d.ts +26 -6
- package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
- package/es/template/app-player/popin-end/index.d.ts +27 -6
- package/es/template/app-review/index.d.ts +27 -7
- package/es/template/app-review/index.d.ts.map +1 -1
- package/es/template/app-review/player/prop-types.d.ts +27 -6
- package/es/template/app-review/player/prop-types.d.ts.map +1 -1
- package/es/template/app-review/prop-types.d.ts +27 -6
- package/es/template/app-review/prop-types.d.ts.map +1 -1
- package/es/template/back-office/brand-update/index.d.ts +95 -38
- package/es/template/back-office/brand-update/index.d.ts.map +1 -1
- package/es/template/back-office/brand-update/index.js +2 -4
- package/es/template/back-office/brand-update/index.js.map +1 -1
- package/es/template/back-office/brand-update/style.css +1 -4
- package/es/template/back-office/brand-update/utils.d.ts +11 -39
- package/es/template/back-office/brand-update/utils.js +0 -19
- package/es/template/back-office/brand-update/utils.js.map +1 -1
- package/es/template/common/dashboard/index.d.ts +53 -12
- package/es/template/common/search-page/index.d.ts +27 -6
- package/es/template/external-course/index.d.ts +27 -6
- package/es/template/my-learning/index.d.ts +0 -1
- package/es/template/my-learning/index.d.ts.map +1 -1
- package/es/template/my-learning/index.js +26 -22
- package/es/template/my-learning/index.js.map +1 -1
- package/es/template/my-learning/style.css +9 -6
- package/es/template/skill-detail/all-courses.css +3 -2
- package/es/template/skill-detail/all-courses.d.ts +52 -17
- package/es/template/skill-detail/all-courses.d.ts.map +1 -1
- package/es/template/skill-detail/all-courses.js +12 -11
- package/es/template/skill-detail/all-courses.js.map +1 -1
- package/es/template/skill-detail/continue-learning.css +7 -2
- package/es/template/skill-detail/continue-learning.d.ts +25 -12
- package/es/template/skill-detail/continue-learning.d.ts.map +1 -1
- package/es/template/skill-detail/continue-learning.js.map +1 -1
- package/es/template/skill-detail/index.d.ts +89 -71
- package/es/template/skill-detail/index.d.ts.map +1 -1
- package/es/template/skill-detail/index.js +99 -58
- package/es/template/skill-detail/index.js.map +1 -1
- package/es/template/skill-detail/style.css +97 -39
- package/es/variables/colors.css +10 -1
- package/es/variables/colors.d.ts +13 -3
- package/es/variables/colors.d.ts.map +1 -1
- package/es/variables/colors.js +13 -3
- package/es/variables/colors.js.map +1 -1
- package/es/variables/theme.native.js +1 -1
- package/es/variables/theme.native.js.map +1 -1
- package/lib/atom/button-link/index.js +1 -1
- package/lib/atom/button-link/index.js.map +1 -1
- package/lib/atom/button-link/style.css +2 -2
- package/lib/atom/icon/index.d.ts +35 -17
- package/lib/atom/icon/index.d.ts.map +1 -1
- package/lib/atom/icon/index.js +34 -18
- package/lib/atom/icon/index.js.map +1 -1
- package/lib/atom/radio-with-title/index.d.ts +13 -3
- package/lib/atom/radio-with-title/index.d.ts.map +1 -1
- package/lib/atom/radio-with-title/types.d.ts +13 -2
- package/lib/atom/radio-with-title/types.d.ts.map +1 -1
- package/lib/atom/status-item/index.native.js +1 -1
- package/lib/atom/status-item/index.native.js.map +1 -1
- package/lib/atom/tag/index.d.ts +12 -1
- package/lib/atom/tag/style.css +1 -0
- package/lib/atom/title/index.d.ts +13 -2
- package/lib/molecule/banner/style.css +1 -0
- package/lib/molecule/base-modal/style.css +0 -1
- package/lib/molecule/bulk-progress-bar/index.js +2 -2
- package/lib/molecule/bulk-progress-bar/index.js.map +1 -1
- package/lib/molecule/certification-card/index.js +1 -1
- package/lib/molecule/certification-card/index.js.map +1 -1
- package/lib/molecule/cm-popin/types.d.ts +28 -7
- package/lib/molecule/cm-popin/types.d.ts.map +1 -1
- package/lib/molecule/cm-popin/types.js +1 -1
- package/lib/molecule/cm-popin/types.js.map +1 -1
- package/lib/molecule/dashboard/cards-list/index.d.ts.map +1 -1
- package/lib/molecule/dashboard/cards-list/index.js +2 -0
- package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
- package/lib/molecule/learner-skill-card/index.d.ts +25 -40
- package/lib/molecule/learner-skill-card/index.d.ts.map +1 -1
- package/lib/molecule/learner-skill-card/index.js +98 -96
- package/lib/molecule/learner-skill-card/index.js.map +1 -1
- package/lib/molecule/learner-skill-card/prop-types.d.ts +37 -0
- package/lib/molecule/learner-skill-card/prop-types.d.ts.map +1 -0
- package/lib/molecule/learner-skill-card/prop-types.js +25 -0
- package/lib/molecule/learner-skill-card/prop-types.js.map +1 -0
- package/lib/molecule/learner-skill-card/style.css +62 -41
- package/lib/molecule/learning-priority-modal/style.css +3 -2
- package/lib/molecule/progress-wrapper/index.js +1 -1
- package/lib/molecule/progress-wrapper/index.js.map +1 -1
- package/lib/molecule/skills-chart-side-information-item/index.d.ts +1 -1
- package/lib/molecule/skills-chart-side-information-panel/index.d.ts +1 -1
- package/lib/molecule/title-and-checkbox-wrapper/index.d.ts +13 -2
- package/lib/molecule/title-radio-wrapper/index.d.ts +13 -3
- package/lib/molecule/title-radio-wrapper/index.d.ts.map +1 -1
- package/lib/molecule/title-radio-wrapper/types.d.ts +13 -2
- package/lib/molecule/title-radio-wrapper/types.d.ts.map +1 -1
- package/lib/organism/cards-grid/index.d.ts +48 -10
- package/lib/organism/cards-grid/index.d.ts.map +1 -1
- package/lib/organism/cards-grid/index.js +3 -2
- package/lib/organism/cards-grid/index.js.map +1 -1
- package/lib/organism/content-skill-modal/index.d.ts +13 -3
- package/lib/organism/content-skill-modal/index.d.ts.map +1 -1
- package/lib/organism/content-skill-modal/types.d.ts +12 -2
- package/lib/organism/content-skill-modal/types.d.ts.map +1 -1
- package/lib/organism/header-with-actions/index.d.ts +8 -22
- package/lib/organism/header-with-actions/index.d.ts.map +1 -1
- package/lib/organism/header-with-actions/index.js +7 -85
- package/lib/organism/header-with-actions/index.js.map +1 -1
- package/lib/organism/header-with-actions/types.d.ts +13 -44
- package/lib/organism/header-with-actions/types.d.ts.map +1 -1
- package/lib/organism/header-with-actions/types.js +6 -22
- package/lib/organism/header-with-actions/types.js.map +1 -1
- package/lib/organism/list-item/index.js +5 -5
- package/lib/organism/list-item/index.js.map +1 -1
- package/lib/organism/list-item/style.css +23 -17
- package/lib/organism/list-items/index.d.ts +13 -2
- package/lib/organism/mooc-header/index.d.ts.map +1 -1
- package/lib/organism/mooc-header/index.js +8 -6
- package/lib/organism/mooc-header/index.js.map +1 -1
- package/lib/organism/mooc-header/style.css +22 -18
- package/lib/organism/rewards-form/index.d.ts +13 -2
- package/lib/organism/select-opponents/index.d.ts +13 -3
- package/lib/organism/select-opponents/index.d.ts.map +1 -1
- package/lib/organism/select-opponents/types.d.ts +13 -2
- package/lib/organism/select-opponents/types.d.ts.map +1 -1
- package/lib/organism/sidebar/index.d.ts +2 -2
- package/lib/organism/skill-edition/index.d.ts +37 -7
- package/lib/organism/skill-edition/index.d.ts.map +1 -1
- package/lib/organism/skill-edition/types.d.ts +37 -6
- package/lib/organism/skill-edition/types.d.ts.map +1 -1
- package/lib/organism/title-and-input/index.d.ts +25 -5
- package/lib/organism/title-and-input/index.d.ts.map +1 -1
- package/lib/organism/title-and-input/types.d.ts +24 -4
- package/lib/organism/title-and-input/types.d.ts.map +1 -1
- package/lib/organism/wizard-contents/index.d.ts +13 -2
- package/lib/template/app-player/loading/index.d.ts +27 -6
- package/lib/template/app-player/player/index.d.ts +53 -12
- package/lib/template/app-player/player/slides/index.d.ts +27 -6
- package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
- package/lib/template/app-player/popin-correction/index.d.ts +26 -6
- package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
- package/lib/template/app-player/popin-end/index.d.ts +27 -6
- package/lib/template/app-review/index.d.ts +27 -7
- package/lib/template/app-review/index.d.ts.map +1 -1
- package/lib/template/app-review/player/prop-types.d.ts +27 -6
- package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
- package/lib/template/app-review/prop-types.d.ts +27 -6
- package/lib/template/app-review/prop-types.d.ts.map +1 -1
- package/lib/template/back-office/brand-update/index.d.ts +95 -38
- package/lib/template/back-office/brand-update/index.d.ts.map +1 -1
- package/lib/template/back-office/brand-update/index.js +2 -4
- package/lib/template/back-office/brand-update/index.js.map +1 -1
- package/lib/template/back-office/brand-update/style.css +1 -4
- package/lib/template/back-office/brand-update/utils.d.ts +11 -39
- package/lib/template/back-office/brand-update/utils.js +0 -19
- package/lib/template/back-office/brand-update/utils.js.map +1 -1
- package/lib/template/common/dashboard/index.d.ts +53 -12
- package/lib/template/common/search-page/index.d.ts +27 -6
- package/lib/template/external-course/index.d.ts +27 -6
- package/lib/template/my-learning/index.d.ts +0 -1
- package/lib/template/my-learning/index.d.ts.map +1 -1
- package/lib/template/my-learning/index.js +26 -22
- package/lib/template/my-learning/index.js.map +1 -1
- package/lib/template/my-learning/style.css +9 -6
- package/lib/template/skill-detail/all-courses.css +3 -2
- package/lib/template/skill-detail/all-courses.d.ts +52 -17
- package/lib/template/skill-detail/all-courses.d.ts.map +1 -1
- package/lib/template/skill-detail/all-courses.js +11 -11
- package/lib/template/skill-detail/all-courses.js.map +1 -1
- package/lib/template/skill-detail/continue-learning.css +7 -2
- package/lib/template/skill-detail/continue-learning.d.ts +25 -12
- package/lib/template/skill-detail/continue-learning.d.ts.map +1 -1
- package/lib/template/skill-detail/continue-learning.js.map +1 -1
- package/lib/template/skill-detail/index.d.ts +89 -71
- package/lib/template/skill-detail/index.d.ts.map +1 -1
- package/lib/template/skill-detail/index.js +99 -58
- package/lib/template/skill-detail/index.js.map +1 -1
- package/lib/template/skill-detail/style.css +97 -39
- package/lib/variables/colors.css +10 -1
- package/lib/variables/colors.d.ts +13 -3
- package/lib/variables/colors.d.ts.map +1 -1
- package/lib/variables/colors.js +13 -3
- package/lib/variables/colors.js.map +1 -1
- package/lib/variables/theme.native.js +1 -1
- package/lib/variables/theme.native.js.map +1 -1
- package/locales/cs/global.json +1 -0
- package/locales/en/global.json +1 -0
- package/locales/hr/global.json +1 -0
- package/locales/it/global.json +1 -0
- package/locales/ko/global.json +1 -0
- package/locales/ru/global.json +1 -0
- package/package.json +2 -2
- package/locales/.mtslconfig.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continue-learning.js","names":["React","useCallback","PropTypes","Provider","CardsGrid","CardsList","style","ContinueLearning","props","context","ongoingCourses","translate","Title","createElement","Fragment","className","continueLearningTitle","continueLearningNumber","list","length","cards","_sortBy","course","_getOr","title","customStyle","padding","contextTypes","skin","childContextTypes","propTypes","process","env","NODE_ENV","shape"],"sources":["../../../src/template/skill-detail/continue-learning.
|
|
1
|
+
{"version":3,"file":"continue-learning.js","names":["React","useCallback","PropTypes","Provider","CardsGrid","CardsList","style","ContinueLearning","props","context","ongoingCourses","translate","Title","createElement","Fragment","className","continueLearningTitle","continueLearningNumber","list","length","cards","_sortBy","course","_getOr","title","customStyle","padding","contextTypes","skin","childContextTypes","propTypes","process","env","NODE_ENV","shape"],"sources":["../../../src/template/skill-detail/continue-learning.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, sortBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport CardsGrid, {CardsGridProps} from '../../organism/cards-grid';\nimport CardsList from '../../molecule/dashboard/cards-list';\nimport style from './continue-learning.css';\n\ninterface ProviderContext {\n skin: {\n common: {\n primary: string;\n secondary: string;\n };\n };\n translate: (key: string, options?: any) => string;\n}\n\nconst ContinueLearning = (props: {ongoingCourses: CardsGridProps}, context: ProviderContext) => {\n const {ongoingCourses} = props;\n const {translate} = context;\n\n const Title = useCallback(\n () => (\n <>\n <span className={style.continueLearningTitle}>{translate('continue_learning')}</span>\n <span className={style.continueLearningNumber}>{ongoingCourses.list.length}</span>\n </>\n ),\n [ongoingCourses, translate]\n );\n\n if (ongoingCourses.list.length === 0) {\n return null;\n }\n\n return (\n <CardsList\n cards={sortBy(course => -getOr(0, ['progress'], course), ongoingCourses.list)}\n title={<Title />}\n // to override CardList wrapper padding\n customStyle={{padding: '0px'}}\n />\n );\n};\n\nContinueLearning.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearning.propTypes = {\n ongoingCourses: PropTypes.shape(CardsGrid.propTypes)\n};\n\nexport default ContinueLearning;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAGC,WAAW,QAAO,OAAO;AACxC,OAAOC,SAAS,MAAM,YAAY;AAElC,OAAOC,QAAQ,MAAM,qBAAqB;AAC1C,OAAOC,SAAS,MAAwB,2BAA2B;AACnE,OAAOC,SAAS,MAAM,qCAAqC;AAC3D,OAAOC,KAAK,MAAM,yBAAyB;AAY3C,MAAMC,gBAAgB,GAAGA,CAACC,KAAuC,EAAEC,OAAwB,KAAK;EAC9F,MAAM;IAACC;EAAc,CAAC,GAAGF,KAAK;EAC9B,MAAM;IAACG;EAAS,CAAC,GAAGF,OAAO;EAE3B,MAAMG,KAAK,GAAGX,WAAW,CACvB,mBACED,KAAA,CAAAa,aAAA,CAAAb,KAAA,CAAAc,QAAA,qBACEd,KAAA,CAAAa,aAAA;IAAME,SAAS,EAAET,KAAK,CAACU;EAAsB,GAAEL,SAAS,CAAC,mBAAmB,CAAQ,CAAC,eACrFX,KAAA,CAAAa,aAAA;IAAME,SAAS,EAAET,KAAK,CAACW;EAAuB,GAAEP,cAAc,CAACQ,IAAI,CAACC,MAAa,CACjF,CACH,EACD,CAACT,cAAc,EAAEC,SAAS,CAC5B,CAAC;EAED,IAAID,cAAc,CAACQ,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE;IACpC,OAAO,IAAI;EACb;EAEA,oBACEnB,KAAA,CAAAa,aAAA,CAACR,SAAS;IACRe,KAAK,EAAEC,OAAA,CAAOC,MAAM,IAAI,CAACC,MAAA,CAAM,CAAC,EAAE,CAAC,UAAU,CAAC,EAAED,MAAM,CAAC,EAAEZ,cAAc,CAACQ,IAAI,CAAE;IAC9EM,KAAK,eAAExB,KAAA,CAAAa,aAAA,CAACD,KAAK,MAAE;IACf;IAAA;IACAa,WAAW,EAAE;MAACC,OAAO,EAAE;IAAK;EAAE,CAC/B,CAAC;AAEN,CAAC;AAEDnB,gBAAgB,CAACoB,YAAY,GAAG;EAC9BC,IAAI,EAAEzB,QAAQ,CAAC0B,iBAAiB,CAACD,IAAI;EACrCjB,SAAS,EAAER,QAAQ,CAAC0B,iBAAiB,CAAClB;AACxC,CAAC;AAEDJ,gBAAgB,CAACuB,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAG;EAC3BvB,cAAc,EAAER,SAAS,CAACgC,KAAK,CAAC9B,SAAS,CAAC0B,SAAS;AACrD,CAAC;AAED,eAAevB,gBAAgB","ignoreList":[]}
|
|
@@ -1,7 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { CardsGridProps } from '../../organism/cards-grid';
|
|
4
|
+
interface ContinueLearningButtonProps {
|
|
5
|
+
ongoingCoursesAvailable?: boolean;
|
|
6
|
+
onClick?: () => void;
|
|
7
|
+
}
|
|
8
|
+
interface ProviderContext {
|
|
9
|
+
skin: {
|
|
10
|
+
common: {
|
|
11
|
+
primary: string;
|
|
12
|
+
secondary: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
translate: (key: string) => string;
|
|
16
|
+
}
|
|
17
|
+
export declare const ContinueLearningButton: {
|
|
18
|
+
(props: ContinueLearningButtonProps, context: ProviderContext): JSX.Element;
|
|
19
|
+
contextTypes: {
|
|
20
|
+
skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
5
21
|
common: PropTypes.Requireable<{
|
|
6
22
|
[x: string]: any;
|
|
7
23
|
}>;
|
|
@@ -22,19 +38,53 @@ export namespace ContinueLearningButton {
|
|
|
22
38
|
[x: string]: any;
|
|
23
39
|
}>;
|
|
24
40
|
}>>;
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
41
|
+
translate: PropTypes.Requireable<(...args: any[]) => any>;
|
|
42
|
+
};
|
|
43
|
+
propTypes: {
|
|
44
|
+
ongoingCoursesAvailable: PropTypes.Requireable<boolean>;
|
|
45
|
+
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
interface Metrics {
|
|
49
|
+
score?: number;
|
|
50
|
+
questionsToReview?: number;
|
|
51
|
+
totalContents?: number;
|
|
31
52
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
53
|
+
declare type BannerMicrolearning = Record<string, never> | {
|
|
54
|
+
action: () => void;
|
|
55
|
+
oldSwitchValue: boolean;
|
|
56
|
+
};
|
|
57
|
+
interface SkillDetailProps {
|
|
58
|
+
title: string;
|
|
59
|
+
icon: {
|
|
60
|
+
name: string;
|
|
61
|
+
color: string;
|
|
62
|
+
};
|
|
63
|
+
skillRef: string;
|
|
64
|
+
description?: string;
|
|
65
|
+
metrics?: Metrics;
|
|
66
|
+
focused?: boolean;
|
|
67
|
+
availableForReview?: boolean;
|
|
68
|
+
ongoingCoursesAvailable?: boolean;
|
|
69
|
+
skillIncludedCourses: CardsGridProps;
|
|
70
|
+
filters: {
|
|
71
|
+
onChange?: () => void;
|
|
72
|
+
options?: unknown[];
|
|
73
|
+
};
|
|
74
|
+
onBackClick?: () => void;
|
|
75
|
+
onReviewClick?: () => void;
|
|
76
|
+
onContinueLearningClick?: () => void;
|
|
77
|
+
search: {
|
|
78
|
+
oldValue: string;
|
|
79
|
+
onChange: () => void;
|
|
80
|
+
};
|
|
81
|
+
bannerMicrolearning?: BannerMicrolearning;
|
|
82
|
+
}
|
|
83
|
+
declare const SkillDetail: {
|
|
84
|
+
(props: SkillDetailProps, context: ProviderContext): JSX.Element;
|
|
85
|
+
contextTypes: {
|
|
86
|
+
translate: PropTypes.Requireable<(...args: any[]) => any>;
|
|
87
|
+
skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
38
88
|
common: PropTypes.Requireable<{
|
|
39
89
|
[x: string]: any;
|
|
40
90
|
}>;
|
|
@@ -55,32 +105,31 @@ declare namespace SkillDetail {
|
|
|
55
105
|
[x: string]: any;
|
|
56
106
|
}>;
|
|
57
107
|
}>>;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
108
|
+
};
|
|
109
|
+
propTypes: {
|
|
110
|
+
title: PropTypes.Validator<string>;
|
|
111
|
+
icon: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
|
112
|
+
name: PropTypes.Requireable<string>;
|
|
113
|
+
color: PropTypes.Requireable<string>;
|
|
114
|
+
}>>>;
|
|
115
|
+
skillRef: PropTypes.Validator<string>;
|
|
116
|
+
description: PropTypes.Requireable<string>;
|
|
117
|
+
metrics: PropTypes.Requireable<PropTypes.InferProps<{
|
|
68
118
|
score: PropTypes.Requireable<number>;
|
|
69
119
|
questionsToReview: PropTypes.Requireable<number>;
|
|
70
120
|
totalContents: PropTypes.Requireable<number>;
|
|
71
121
|
}>>;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
export const skillIncludedCourses: PropTypes.Requireable<PropTypes.InferProps<{
|
|
122
|
+
focused: PropTypes.Requireable<boolean>;
|
|
123
|
+
availableForReview: PropTypes.Requireable<boolean>;
|
|
124
|
+
ongoingCoursesAvailable: PropTypes.Requireable<boolean>;
|
|
125
|
+
skillIncludedCourses: PropTypes.Requireable<PropTypes.InferProps<{
|
|
77
126
|
list: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
78
127
|
customStyle: PropTypes.Requireable<{
|
|
79
128
|
[x: string]: string | null | undefined;
|
|
80
129
|
}>;
|
|
81
130
|
loading: PropTypes.Requireable<boolean>;
|
|
82
131
|
}>>;
|
|
83
|
-
|
|
132
|
+
filters: PropTypes.Requireable<PropTypes.InferProps<{
|
|
84
133
|
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
85
134
|
options: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
86
135
|
name: PropTypes.Validator<string>;
|
|
@@ -89,49 +138,18 @@ declare namespace SkillDetail {
|
|
|
89
138
|
validOption: PropTypes.Requireable<boolean>;
|
|
90
139
|
}> | null | undefined)[]>;
|
|
91
140
|
}>>;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
borderClassName: PropTypes.Requireable<string>;
|
|
97
|
-
disabled: PropTypes.Requireable<boolean>;
|
|
98
|
-
multiple: PropTypes.Requireable<boolean>;
|
|
99
|
-
description: PropTypes.Requireable<string>;
|
|
100
|
-
required: PropTypes.Requireable<boolean>;
|
|
101
|
-
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
102
|
-
theme: PropTypes.Requireable<string>;
|
|
103
|
-
options: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
104
|
-
name: PropTypes.Validator<string>;
|
|
105
|
-
value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
106
|
-
selected: PropTypes.Requireable<boolean>;
|
|
107
|
-
validOption: PropTypes.Requireable<boolean>;
|
|
108
|
-
}> | null | undefined)[]>;
|
|
109
|
-
optgroups: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
110
|
-
label: PropTypes.Validator<string>;
|
|
111
|
-
options: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
112
|
-
name: PropTypes.Validator<string>;
|
|
113
|
-
value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
114
|
-
selected: PropTypes.Requireable<boolean>;
|
|
115
|
-
validOption: PropTypes.Requireable<boolean>;
|
|
116
|
-
}> | null | undefined)[]>;
|
|
117
|
-
}> | null | undefined)[]>;
|
|
118
|
-
modified: PropTypes.Requireable<boolean>;
|
|
119
|
-
error: PropTypes.Requireable<boolean>;
|
|
120
|
-
'aria-label': PropTypes.Requireable<string>;
|
|
121
|
-
'aria-labelledby': PropTypes.Requireable<string>;
|
|
122
|
-
}>>;
|
|
123
|
-
export const onBackClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
124
|
-
export const onReviewClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
125
|
-
export const onContinueLearningClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
126
|
-
export const search: PropTypes.Requireable<PropTypes.InferProps<{
|
|
141
|
+
onBackClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
142
|
+
onReviewClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
143
|
+
onContinueLearningClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
144
|
+
search: PropTypes.Requireable<PropTypes.InferProps<{
|
|
127
145
|
oldValue: PropTypes.Requireable<string>;
|
|
128
146
|
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
129
147
|
}>>;
|
|
130
|
-
|
|
148
|
+
bannerMicrolearning: PropTypes.Requireable<PropTypes.InferProps<{
|
|
131
149
|
action: PropTypes.Requireable<(...args: any[]) => any>;
|
|
132
150
|
oldSwitchValue: PropTypes.Requireable<boolean>;
|
|
133
151
|
}>>;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
export default SkillDetail;
|
|
137
155
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/index.
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/index.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAUnC,OAAkB,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAMpE,UAAU,2BAA2B;IACnC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AACD,UAAU,eAAe;IACvB,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,sBAAsB;YAC1B,2BAA2B,WACzB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BzB,CAAC;AAYF,UAAU,OAAO;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,aAAK,mBAAmB,GACpB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACrB;IACE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AACN,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,EAAE,cAAc,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;KACrB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,IAAI,CAAC;KACtB,CAAC;IACF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AACD,QAAA,MAAM,WAAW;YAAW,gBAAgB,WAAW,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0MrE,CAAC;AAyCF,eAAe,WAAW,CAAC"}
|
|
@@ -2,17 +2,19 @@ import _isNil from "lodash/fp/isNil";
|
|
|
2
2
|
import _get from "lodash/fp/get";
|
|
3
3
|
import React, { useCallback, useState, useRef, useEffect } from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
-
import { convert } from 'css-color-function';
|
|
6
5
|
import classnames from 'classnames';
|
|
7
6
|
import Markdown from 'markdown-to-jsx';
|
|
7
|
+
import { convert } from 'css-color-function';
|
|
8
8
|
import Provider from '../../atom/provider';
|
|
9
|
-
import Select, { SelectOptionPropTypes } from '../../atom/select';
|
|
10
|
-
import ButtonLink from '../../atom/button-link';
|
|
11
9
|
import ButtonLinkIcon from '../../atom/button-link-icon';
|
|
12
10
|
import Icon from '../../atom/icon';
|
|
11
|
+
import IconPreview from '../../molecule/icon-preview';
|
|
12
|
+
import ButtonLink from '../../atom/button-link';
|
|
13
13
|
import CardsGrid from '../../organism/cards-grid';
|
|
14
|
-
import
|
|
14
|
+
import { COLORS } from '../../variables/colors';
|
|
15
|
+
import { SelectOptionPropTypes } from '../../atom/select';
|
|
15
16
|
import AllCourses from './all-courses';
|
|
17
|
+
import style from './style.css';
|
|
16
18
|
export const ContinueLearningButton = (props, context) => {
|
|
17
19
|
const {
|
|
18
20
|
ongoingCoursesAvailable,
|
|
@@ -23,7 +25,7 @@ export const ContinueLearningButton = (props, context) => {
|
|
|
23
25
|
translate
|
|
24
26
|
} = context;
|
|
25
27
|
const primarySkinColor = _get('common.primary', skin);
|
|
26
|
-
return /*#__PURE__*/React.createElement(
|
|
28
|
+
return /*#__PURE__*/React.createElement(ButtonLink, {
|
|
27
29
|
label: ongoingCoursesAvailable ? translate('continue_learning') : translate('start_learning'),
|
|
28
30
|
type: "primary",
|
|
29
31
|
customStyle: {
|
|
@@ -32,17 +34,17 @@ export const ContinueLearningButton = (props, context) => {
|
|
|
32
34
|
backgroundColor: primarySkinColor
|
|
33
35
|
},
|
|
34
36
|
hoverBackgroundColor: convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`),
|
|
35
|
-
hoverColor:
|
|
37
|
+
hoverColor: COLORS.white,
|
|
36
38
|
icon: {
|
|
37
39
|
position: 'left',
|
|
38
40
|
faIcon: {
|
|
39
41
|
name: 'play',
|
|
40
|
-
color:
|
|
41
|
-
size:
|
|
42
|
+
color: COLORS.white,
|
|
43
|
+
size: 14
|
|
42
44
|
}
|
|
43
45
|
},
|
|
44
46
|
onClick: onClick
|
|
45
|
-
})
|
|
47
|
+
});
|
|
46
48
|
};
|
|
47
49
|
ContinueLearningButton.contextTypes = {
|
|
48
50
|
skin: Provider.childContextTypes.skin,
|
|
@@ -55,6 +57,10 @@ ContinueLearningButton.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
55
57
|
const SkillDetail = (props, context) => {
|
|
56
58
|
const {
|
|
57
59
|
title,
|
|
60
|
+
icon: {
|
|
61
|
+
color: iconColor,
|
|
62
|
+
name: iconName
|
|
63
|
+
},
|
|
58
64
|
skillRef,
|
|
59
65
|
description,
|
|
60
66
|
metrics = {},
|
|
@@ -63,29 +69,27 @@ const SkillDetail = (props, context) => {
|
|
|
63
69
|
ongoingCoursesAvailable,
|
|
64
70
|
skillIncludedCourses,
|
|
65
71
|
filters,
|
|
66
|
-
sorting,
|
|
67
72
|
onBackClick,
|
|
68
73
|
onReviewClick,
|
|
69
74
|
onContinueLearningClick,
|
|
70
75
|
search,
|
|
71
|
-
bannerMicrolearning
|
|
76
|
+
bannerMicrolearning
|
|
72
77
|
} = props;
|
|
73
|
-
const descriptionRef = useRef(null);
|
|
74
78
|
const {
|
|
75
79
|
score = 0,
|
|
76
|
-
questionsToReview,
|
|
77
|
-
totalContents
|
|
80
|
+
questionsToReview = 0,
|
|
81
|
+
totalContents = 0
|
|
78
82
|
} = metrics;
|
|
79
83
|
const {
|
|
80
84
|
translate
|
|
81
85
|
} = context;
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
oldSwitchValue
|
|
85
|
-
} = bannerMicrolearning;
|
|
86
|
+
const bannerMicrolearningAction = bannerMicrolearning?.action;
|
|
87
|
+
const descriptionRef = useRef(null);
|
|
86
88
|
const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);
|
|
87
89
|
const [showMore, setShowMore] = useState(false);
|
|
88
|
-
const handleShowMore = useCallback(() =>
|
|
90
|
+
const handleShowMore = useCallback(() => {
|
|
91
|
+
setShowMore(!showMore);
|
|
92
|
+
}, [showMore]);
|
|
89
93
|
useEffect(() => {
|
|
90
94
|
if (descriptionRef.current) {
|
|
91
95
|
const {
|
|
@@ -99,29 +103,39 @@ const SkillDetail = (props, context) => {
|
|
|
99
103
|
return /*#__PURE__*/React.createElement("div", {
|
|
100
104
|
ref: descriptionRef,
|
|
101
105
|
className: classnames(style.description, !showMore && style.truncate)
|
|
102
|
-
}, /*#__PURE__*/React.createElement(Markdown, null, description));
|
|
106
|
+
}, description ? /*#__PURE__*/React.createElement(Markdown, null, description) : null);
|
|
103
107
|
}, [showMore, description]);
|
|
104
108
|
const ProgressBar = useCallback(() => {
|
|
105
|
-
if (score
|
|
106
|
-
const progressBarColor =
|
|
107
|
-
const
|
|
109
|
+
if (typeof score !== 'number') return null;
|
|
110
|
+
const progressBarColor = COLORS.cm_positive_500;
|
|
111
|
+
const inlineProgressStyle = {
|
|
108
112
|
backgroundColor: progressBarColor,
|
|
109
113
|
width: `${score}%`
|
|
110
114
|
};
|
|
111
115
|
return /*#__PURE__*/React.createElement("div", {
|
|
116
|
+
className: style.progressBarRow
|
|
117
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
112
118
|
className: style.progressBarWrapper
|
|
113
119
|
}, /*#__PURE__*/React.createElement("div", {
|
|
114
120
|
"data-name": "progress",
|
|
115
121
|
className: style.progress,
|
|
116
|
-
style:
|
|
117
|
-
role: "progressbar"
|
|
118
|
-
|
|
122
|
+
style: inlineProgressStyle,
|
|
123
|
+
role: "progressbar",
|
|
124
|
+
"aria-valuenow": score,
|
|
125
|
+
"aria-valuemin": 0,
|
|
126
|
+
"aria-valuemax": 100
|
|
127
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
128
|
+
className: style.progressInformationNumber
|
|
129
|
+
}, score.toFixed(1), "%"));
|
|
119
130
|
}, [score]);
|
|
131
|
+
const hasDescription = Boolean(description && description.trim().length > 0);
|
|
120
132
|
return /*#__PURE__*/React.createElement("div", {
|
|
121
133
|
className: style.backgroundContainer
|
|
122
134
|
}, /*#__PURE__*/React.createElement("div", {
|
|
123
135
|
className: style.container,
|
|
124
136
|
"data-name": skillRef
|
|
137
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
138
|
+
className: style.topSection
|
|
125
139
|
}, !_isNil(onBackClick) ? /*#__PURE__*/React.createElement(ButtonLinkIcon, {
|
|
126
140
|
faIcon: "arrow-left",
|
|
127
141
|
"data-name": "back-button",
|
|
@@ -129,70 +143,98 @@ const SkillDetail = (props, context) => {
|
|
|
129
143
|
onClick: onBackClick,
|
|
130
144
|
className: style.backButton,
|
|
131
145
|
tooltipPlacement: "right"
|
|
132
|
-
}) : null, /*#__PURE__*/React.createElement("div", {
|
|
133
|
-
className: style.
|
|
134
|
-
}, /*#__PURE__*/React.createElement("div",
|
|
146
|
+
}) : null), /*#__PURE__*/React.createElement("div", {
|
|
147
|
+
className: style.mainSection
|
|
148
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
149
|
+
className: style.leftSide
|
|
150
|
+
}, /*#__PURE__*/React.createElement(IconPreview, {
|
|
151
|
+
icon: {
|
|
152
|
+
name: iconName,
|
|
153
|
+
color: iconColor
|
|
154
|
+
},
|
|
155
|
+
title: title
|
|
156
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
157
|
+
className: style.rightSide
|
|
158
|
+
}, focused ? /*#__PURE__*/React.createElement("div", {
|
|
135
159
|
className: style.skillFocusBadge
|
|
136
160
|
}, /*#__PURE__*/React.createElement(Icon, {
|
|
137
161
|
iconName: "bullseye-arrow",
|
|
138
|
-
backgroundColor:
|
|
162
|
+
backgroundColor: COLORS.purple_100,
|
|
139
163
|
size: {
|
|
140
164
|
faSize: 10,
|
|
141
165
|
wrapperSize: 16
|
|
142
166
|
}
|
|
143
|
-
}), translate('skill_focus')) :
|
|
167
|
+
}), translate('skill_focus')) : /*#__PURE__*/React.createElement("div", {
|
|
168
|
+
className: style.skillBadge
|
|
169
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
170
|
+
iconName: "shapes",
|
|
171
|
+
backgroundColor: COLORS.gray,
|
|
172
|
+
size: {
|
|
173
|
+
faSize: 10,
|
|
174
|
+
wrapperSize: 16
|
|
175
|
+
}
|
|
176
|
+
}), translate('skill')), /*#__PURE__*/React.createElement("h2", {
|
|
144
177
|
className: style.title
|
|
145
|
-
}, title), description
|
|
178
|
+
}, title), description && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Description, null), isDescriptionTruncated ? /*#__PURE__*/React.createElement("div", {
|
|
146
179
|
className: style.showMoreWrapper,
|
|
147
180
|
onClick: handleShowMore
|
|
148
181
|
}, showMore ? translate('Show less') : translate('Show more'), /*#__PURE__*/React.createElement(Icon, {
|
|
149
182
|
iconName: showMore ? 'chevron-up' : 'chevron-down',
|
|
150
183
|
size: {
|
|
151
184
|
faSize: 14,
|
|
152
|
-
wrapperSize:
|
|
185
|
+
wrapperSize: 14
|
|
186
|
+
},
|
|
187
|
+
customStyle: {
|
|
188
|
+
padding: '8px'
|
|
153
189
|
}
|
|
154
|
-
})) : null)
|
|
190
|
+
})) : null), questionsToReview > 0 ? /*#__PURE__*/React.createElement("div", {
|
|
191
|
+
className: style.skillInformation
|
|
192
|
+
}, /*#__PURE__*/React.createElement("span", null, questionsToReview), "\xA0", translate('skill_chart_side_panel_questions_to_review')) : null, /*#__PURE__*/React.createElement("div", {
|
|
193
|
+
className: classnames(style.progressContainer, !hasDescription && style.noDescriptionSpacing)
|
|
194
|
+
}, /*#__PURE__*/React.createElement(ProgressBar, null)), /*#__PURE__*/React.createElement("div", {
|
|
155
195
|
className: style.ctaWrapper
|
|
156
|
-
}, /*#__PURE__*/React.createElement(
|
|
196
|
+
}, /*#__PURE__*/React.createElement(ContinueLearningButton, {
|
|
197
|
+
ongoingCoursesAvailable: ongoingCoursesAvailable,
|
|
198
|
+
onClick: onContinueLearningClick
|
|
199
|
+
}), /*#__PURE__*/React.createElement(ButtonLink, {
|
|
157
200
|
type: "secondary",
|
|
158
|
-
onClick: onReviewClick,
|
|
159
201
|
label: translate('review_this_skill'),
|
|
160
202
|
disabled: !availableForReview,
|
|
203
|
+
onClick: onReviewClick,
|
|
204
|
+
icon: {
|
|
205
|
+
position: 'left',
|
|
206
|
+
faIcon: {
|
|
207
|
+
name: 'rotate-right',
|
|
208
|
+
color: COLORS.cm_grey_700,
|
|
209
|
+
size: 14
|
|
210
|
+
}
|
|
211
|
+
},
|
|
161
212
|
customStyle: {
|
|
162
|
-
|
|
163
|
-
|
|
213
|
+
borderRadius: '12px',
|
|
214
|
+
width: 'fit-content'
|
|
164
215
|
}
|
|
165
|
-
}), /*#__PURE__*/React.createElement(
|
|
166
|
-
ongoingCoursesAvailable: ongoingCoursesAvailable,
|
|
167
|
-
onClick: onContinueLearningClick
|
|
168
|
-
}))), questionsToReview > 0 ? /*#__PURE__*/React.createElement("div", {
|
|
169
|
-
className: style.skillInformation,
|
|
170
|
-
"data-name": "skill-questions"
|
|
171
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
172
|
-
className: style.skillInformationNumber
|
|
173
|
-
}, questionsToReview), "\xA0", translate('skill_chart_side_panel_questions_to_review')) : null, /*#__PURE__*/React.createElement("div", {
|
|
174
|
-
className: style.progressContainer
|
|
175
|
-
}, /*#__PURE__*/React.createElement(ProgressBar, null), /*#__PURE__*/React.createElement("span", {
|
|
176
|
-
className: style.progressInformationNumber
|
|
177
|
-
}, score.toFixed(1), "%")), /*#__PURE__*/React.createElement(AllCourses, {
|
|
216
|
+
})))), /*#__PURE__*/React.createElement(AllCourses, {
|
|
178
217
|
content: skillIncludedCourses,
|
|
179
218
|
filters: filters,
|
|
180
|
-
sorting: sorting,
|
|
181
219
|
totalContents: totalContents,
|
|
182
|
-
bannerMicrolearning: bannerMicrolearningAction ? {
|
|
220
|
+
bannerMicrolearning: bannerMicrolearning && bannerMicrolearningAction ? {
|
|
183
221
|
type: 'skill',
|
|
184
222
|
action: bannerMicrolearningAction,
|
|
185
|
-
oldSwitchValue
|
|
186
|
-
} :
|
|
223
|
+
oldSwitchValue: bannerMicrolearning.oldSwitchValue
|
|
224
|
+
} : undefined,
|
|
187
225
|
search: search
|
|
188
226
|
})));
|
|
189
227
|
};
|
|
190
228
|
SkillDetail.contextTypes = {
|
|
191
|
-
|
|
192
|
-
|
|
229
|
+
translate: Provider.childContextTypes.translate,
|
|
230
|
+
skin: Provider.childContextTypes.skin
|
|
193
231
|
};
|
|
194
232
|
SkillDetail.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
195
233
|
title: PropTypes.string.isRequired,
|
|
234
|
+
icon: PropTypes.shape({
|
|
235
|
+
name: PropTypes.string,
|
|
236
|
+
color: PropTypes.string
|
|
237
|
+
}).isRequired,
|
|
196
238
|
skillRef: PropTypes.string.isRequired,
|
|
197
239
|
description: PropTypes.string,
|
|
198
240
|
metrics: PropTypes.shape({
|
|
@@ -208,7 +250,6 @@ SkillDetail.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
208
250
|
onChange: PropTypes.func,
|
|
209
251
|
options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))
|
|
210
252
|
}),
|
|
211
|
-
sorting: PropTypes.shape(Select.propTypes),
|
|
212
253
|
onBackClick: PropTypes.func,
|
|
213
254
|
onReviewClick: PropTypes.func,
|
|
214
255
|
onContinueLearningClick: PropTypes.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useCallback","useState","useRef","useEffect","PropTypes","convert","classnames","Markdown","Provider","Select","SelectOptionPropTypes","ButtonLink","ButtonLinkIcon","Icon","CardsGrid","style","AllCourses","ContinueLearningButton","props","context","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","_get","createElement","label","type","customStyle","width","borderRadius","backgroundColor","hoverBackgroundColor","hoverColor","icon","position","faIcon","name","color","size","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV","bool","func","SkillDetail","title","skillRef","description","metrics","focused","availableForReview","skillIncludedCourses","filters","sorting","onBackClick","onReviewClick","onContinueLearningClick","search","bannerMicrolearning","descriptionRef","score","questionsToReview","totalContents","action","bannerMicrolearningAction","oldSwitchValue","isDescriptionTruncated","setIsDescriptionTruncated","showMore","setShowMore","handleShowMore","current","clientHeight","scrollHeight","Description","ref","className","truncate","ProgressBar","undefined","progressBarColor","inlineProgressValueStyle","progressBarWrapper","progress","role","backgroundContainer","container","_isNil","backButton","tooltipPlacement","ctaContainer","skillFocusBadge","iconName","faSize","wrapperSize","Fragment","showMoreWrapper","ctaWrapper","disabled","skillInformation","skillInformationNumber","progressContainer","progressInformationNumber","toFixed","content","string","isRequired","shape","number","onChange","options","arrayOf","oldValue"],"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 search,\n bannerMicrolearning = {}\n } = props;\n const descriptionRef = useRef(null);\n const {score = 0, questionsToReview, totalContents} = metrics;\n const {translate} = context;\n const {action: bannerMicrolearningAction, oldSwitchValue} = bannerMicrolearning;\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 bannerMicrolearning={\n bannerMicrolearningAction\n ? {\n type: 'skill',\n action: bannerMicrolearningAction,\n oldSwitchValue\n }\n : {}\n }\n search={search}\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 search: PropTypes.shape({\n oldValue: PropTypes.string,\n onChange: PropTypes.func\n }),\n bannerMicrolearning: PropTypes.shape({\n action: PropTypes.func,\n oldSwitchValue: PropTypes.bool\n })\n};\n\nexport default SkillDetail;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useState","useRef","useEffect","PropTypes","classnames","Markdown","convert","Provider","ButtonLinkIcon","Icon","IconPreview","ButtonLink","CardsGrid","COLORS","SelectOptionPropTypes","AllCourses","style","ContinueLearningButton","props","context","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","_get","createElement","label","type","customStyle","width","borderRadius","backgroundColor","hoverBackgroundColor","hoverColor","white","icon","position","faIcon","name","color","size","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV","bool","func","SkillDetail","title","iconColor","iconName","skillRef","description","metrics","focused","availableForReview","skillIncludedCourses","filters","onBackClick","onReviewClick","onContinueLearningClick","search","bannerMicrolearning","score","questionsToReview","totalContents","bannerMicrolearningAction","action","descriptionRef","isDescriptionTruncated","setIsDescriptionTruncated","showMore","setShowMore","handleShowMore","current","clientHeight","scrollHeight","Description","ref","className","truncate","ProgressBar","progressBarColor","cm_positive_500","inlineProgressStyle","progressBarRow","progressBarWrapper","progress","role","progressInformationNumber","toFixed","hasDescription","Boolean","trim","length","backgroundContainer","container","topSection","_isNil","backButton","tooltipPlacement","mainSection","leftSide","rightSide","skillFocusBadge","purple_100","faSize","wrapperSize","skillBadge","gray","Fragment","showMoreWrapper","padding","skillInformation","progressContainer","noDescriptionSpacing","ctaWrapper","disabled","cm_grey_700","content","oldSwitchValue","undefined","string","isRequired","shape","number","onChange","options","arrayOf","oldValue"],"sources":["../../../src/template/skill-detail/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useRef, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport {convert} from 'css-color-function';\nimport Provider from '../../atom/provider';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport IconPreview from '../../molecule/icon-preview';\nimport ButtonLink from '../../atom/button-link';\nimport CardsGrid, {CardsGridProps} from '../../organism/cards-grid';\nimport {COLORS} from '../../variables/colors';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport AllCourses from './all-courses';\nimport style from './style.css';\n\ninterface ContinueLearningButtonProps {\n ongoingCoursesAvailable?: boolean;\n onClick?: () => void;\n}\ninterface ProviderContext {\n skin: {\n common: {\n primary: string;\n secondary: string;\n };\n };\n translate: (key: string) => string;\n}\n\nexport const ContinueLearningButton = (\n props: ContinueLearningButtonProps,\n context: ProviderContext\n) => {\n const {ongoingCoursesAvailable, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <ButtonLink\n label={ongoingCoursesAvailable ? translate('continue_learning') : translate('start_learning')}\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={COLORS.white}\n icon={{\n position: 'left',\n faIcon: {\n name: 'play',\n color: COLORS.white,\n size: 14\n }\n }}\n onClick={onClick}\n />\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\ninterface Metrics {\n score?: number;\n questionsToReview?: number;\n totalContents?: number;\n}\n\ntype BannerMicrolearning =\n | Record<string, never>\n | {\n action: () => void;\n oldSwitchValue: boolean;\n };\ninterface SkillDetailProps {\n title: string;\n icon: {name: string; color: string};\n skillRef: string;\n description?: string;\n metrics?: Metrics;\n focused?: boolean;\n availableForReview?: boolean;\n ongoingCoursesAvailable?: boolean;\n skillIncludedCourses: CardsGridProps;\n filters: {\n onChange?: () => void;\n options?: unknown[];\n };\n onBackClick?: () => void;\n onReviewClick?: () => void;\n onContinueLearningClick?: () => void;\n search: {\n oldValue: string;\n onChange: () => void;\n };\n bannerMicrolearning?: BannerMicrolearning;\n}\nconst SkillDetail = (props: SkillDetailProps, context: ProviderContext) => {\n const {\n title,\n icon: {color: iconColor, name: iconName},\n skillRef,\n description,\n metrics = {},\n focused,\n availableForReview,\n ongoingCoursesAvailable,\n skillIncludedCourses,\n filters,\n onBackClick,\n onReviewClick,\n onContinueLearningClick,\n search,\n bannerMicrolearning\n } = props;\n\n const {score = 0, questionsToReview = 0, totalContents = 0} = metrics;\n const {translate} = context;\n const bannerMicrolearningAction = bannerMicrolearning?.action;\n const descriptionRef = useRef(null);\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => {\n setShowMore(!showMore);\n }, [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 {description ? <Markdown>{description}</Markdown> : null}\n </div>\n );\n }, [showMore, description]);\n\n const ProgressBar = useCallback(() => {\n if (typeof score !== 'number') return null;\n\n const progressBarColor = COLORS.cm_positive_500;\n const inlineProgressStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressBarRow}>\n <div className={style.progressBarWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressStyle}\n role=\"progressbar\"\n aria-valuenow={score}\n aria-valuemin={0}\n aria-valuemax={100}\n />\n </div>\n <span className={style.progressInformationNumber}>{score.toFixed(1)}%</span>\n </div>\n );\n }, [score]);\n const hasDescription = Boolean(description && description.trim().length > 0);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={skillRef}>\n {/* Top section for the back arrow (optional) */}\n <div className={style.topSection}>\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>\n\n {/* Main section: icon on the left, skill info on the right */}\n <div className={style.mainSection}>\n <div className={style.leftSide}>\n <IconPreview\n icon={{\n name: iconName,\n color: iconColor\n }}\n title={title}\n />\n </div>\n <div className={style.rightSide}>\n {focused ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor={COLORS.purple_100}\n size={{faSize: 10, wrapperSize: 16}}\n />\n {translate('skill_focus')}\n </div>\n ) : (\n <div className={style.skillBadge}>\n <Icon\n iconName=\"shapes\"\n backgroundColor={COLORS.gray}\n size={{faSize: 10, wrapperSize: 16}}\n />\n {translate('skill')}\n </div>\n )}\n\n <h2 className={style.title}>{title}</h2>\n\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={{faSize: 14, wrapperSize: 14}}\n customStyle={{padding: '8px'}}\n />\n </div>\n ) : null}\n </>\n )}\n\n {questionsToReview > 0 ? (\n <div className={style.skillInformation}>\n <span>{questionsToReview}</span>\n {translate('skill_chart_side_panel_questions_to_review')}\n </div>\n ) : null}\n\n <div\n className={classnames(\n style.progressContainer,\n !hasDescription && style.noDescriptionSpacing\n )}\n >\n <ProgressBar />\n </div>\n\n <div className={style.ctaWrapper}>\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n <ButtonLink\n type=\"secondary\"\n label={translate('review_this_skill')}\n disabled={!availableForReview}\n onClick={onReviewClick}\n icon={{\n position: 'left',\n faIcon: {\n name: 'rotate-right',\n color: COLORS.cm_grey_700,\n size: 14\n }\n }}\n customStyle={{borderRadius: '12px', width: 'fit-content'}}\n />\n </div>\n </div>\n </div>\n\n {/* Courses section below */}\n <AllCourses\n content={skillIncludedCourses}\n filters={filters}\n totalContents={totalContents}\n bannerMicrolearning={\n bannerMicrolearning && bannerMicrolearningAction\n ? {\n type: 'skill',\n action: bannerMicrolearningAction,\n oldSwitchValue: bannerMicrolearning.oldSwitchValue\n }\n : undefined\n }\n search={search}\n />\n </div>\n </div>\n );\n};\n\nSkillDetail.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nSkillDetail.propTypes = {\n title: PropTypes.string.isRequired,\n icon: PropTypes.shape({\n name: PropTypes.string,\n color: PropTypes.string\n }).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 onBackClick: PropTypes.func,\n onReviewClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func,\n search: PropTypes.shape({\n oldValue: PropTypes.string,\n onChange: PropTypes.func\n }),\n bannerMicrolearning: PropTypes.shape({\n action: PropTypes.func,\n oldSwitchValue: PropTypes.bool\n })\n};\n\nexport default SkillDetail;\n"],"mappings":"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","ignoreList":[]}
|