@coorpacademy/components 11.35.2-alpha.4 → 11.35.2-forcedeploy.13
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 +81 -71
- package/es/template/skill-detail/index.d.ts.map +1 -1
- package/es/template/skill-detail/index.js +91 -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 +81 -71
- package/lib/template/skill-detail/index.d.ts.map +1 -1
- package/lib/template/skill-detail/index.js +91 -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,49 @@ 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
|
+
skillRef: string;
|
|
60
|
+
description?: string;
|
|
61
|
+
metrics?: Metrics;
|
|
62
|
+
focused?: boolean;
|
|
63
|
+
availableForReview?: boolean;
|
|
64
|
+
ongoingCoursesAvailable?: boolean;
|
|
65
|
+
skillIncludedCourses: CardsGridProps;
|
|
66
|
+
filters: {
|
|
67
|
+
onChange?: () => void;
|
|
68
|
+
options?: unknown[];
|
|
69
|
+
};
|
|
70
|
+
onBackClick?: () => void;
|
|
71
|
+
onReviewClick?: () => void;
|
|
72
|
+
onContinueLearningClick?: () => void;
|
|
73
|
+
search: {
|
|
74
|
+
oldValue: string;
|
|
75
|
+
onChange: () => void;
|
|
76
|
+
};
|
|
77
|
+
bannerMicrolearning?: BannerMicrolearning;
|
|
78
|
+
}
|
|
79
|
+
declare const SkillDetail: {
|
|
80
|
+
(props: SkillDetailProps, context: ProviderContext): JSX.Element;
|
|
81
|
+
contextTypes: {
|
|
82
|
+
translate: PropTypes.Requireable<(...args: any[]) => any>;
|
|
83
|
+
skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
38
84
|
common: PropTypes.Requireable<{
|
|
39
85
|
[x: string]: any;
|
|
40
86
|
}>;
|
|
@@ -55,32 +101,27 @@ declare namespace SkillDetail {
|
|
|
55
101
|
[x: string]: any;
|
|
56
102
|
}>;
|
|
57
103
|
}>>;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
export const title: PropTypes.Validator<string>;
|
|
65
|
-
export const skillRef: PropTypes.Validator<string>;
|
|
66
|
-
export const description: PropTypes.Requireable<string>;
|
|
67
|
-
export const metrics: PropTypes.Requireable<PropTypes.InferProps<{
|
|
104
|
+
};
|
|
105
|
+
propTypes: {
|
|
106
|
+
title: PropTypes.Validator<string>;
|
|
107
|
+
skillRef: PropTypes.Validator<string>;
|
|
108
|
+
description: PropTypes.Requireable<string>;
|
|
109
|
+
metrics: PropTypes.Requireable<PropTypes.InferProps<{
|
|
68
110
|
score: PropTypes.Requireable<number>;
|
|
69
111
|
questionsToReview: PropTypes.Requireable<number>;
|
|
70
112
|
totalContents: PropTypes.Requireable<number>;
|
|
71
113
|
}>>;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
export const skillIncludedCourses: PropTypes.Requireable<PropTypes.InferProps<{
|
|
114
|
+
focused: PropTypes.Requireable<boolean>;
|
|
115
|
+
availableForReview: PropTypes.Requireable<boolean>;
|
|
116
|
+
ongoingCoursesAvailable: PropTypes.Requireable<boolean>;
|
|
117
|
+
skillIncludedCourses: PropTypes.Requireable<PropTypes.InferProps<{
|
|
77
118
|
list: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
78
119
|
customStyle: PropTypes.Requireable<{
|
|
79
120
|
[x: string]: string | null | undefined;
|
|
80
121
|
}>;
|
|
81
122
|
loading: PropTypes.Requireable<boolean>;
|
|
82
123
|
}>>;
|
|
83
|
-
|
|
124
|
+
filters: PropTypes.Requireable<PropTypes.InferProps<{
|
|
84
125
|
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
85
126
|
options: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
86
127
|
name: PropTypes.Validator<string>;
|
|
@@ -89,49 +130,18 @@ declare namespace SkillDetail {
|
|
|
89
130
|
validOption: PropTypes.Requireable<boolean>;
|
|
90
131
|
}> | null | undefined)[]>;
|
|
91
132
|
}>>;
|
|
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<{
|
|
133
|
+
onBackClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
134
|
+
onReviewClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
135
|
+
onContinueLearningClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
136
|
+
search: PropTypes.Requireable<PropTypes.InferProps<{
|
|
127
137
|
oldValue: PropTypes.Requireable<string>;
|
|
128
138
|
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
129
139
|
}>>;
|
|
130
|
-
|
|
140
|
+
bannerMicrolearning: PropTypes.Requireable<PropTypes.InferProps<{
|
|
131
141
|
action: PropTypes.Requireable<(...args: any[]) => any>;
|
|
132
142
|
oldSwitchValue: PropTypes.Requireable<boolean>;
|
|
133
143
|
}>>;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
export default SkillDetail;
|
|
137
147
|
//# 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,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyMrE,CAAC;AAqCF,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,
|
|
@@ -63,29 +65,27 @@ const SkillDetail = (props, context) => {
|
|
|
63
65
|
ongoingCoursesAvailable,
|
|
64
66
|
skillIncludedCourses,
|
|
65
67
|
filters,
|
|
66
|
-
sorting,
|
|
67
68
|
onBackClick,
|
|
68
69
|
onReviewClick,
|
|
69
70
|
onContinueLearningClick,
|
|
70
71
|
search,
|
|
71
|
-
bannerMicrolearning
|
|
72
|
+
bannerMicrolearning
|
|
72
73
|
} = props;
|
|
73
|
-
const descriptionRef = useRef(null);
|
|
74
74
|
const {
|
|
75
75
|
score = 0,
|
|
76
|
-
questionsToReview,
|
|
77
|
-
totalContents
|
|
76
|
+
questionsToReview = 0,
|
|
77
|
+
totalContents = 0
|
|
78
78
|
} = metrics;
|
|
79
79
|
const {
|
|
80
80
|
translate
|
|
81
81
|
} = context;
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
oldSwitchValue
|
|
85
|
-
} = bannerMicrolearning;
|
|
82
|
+
const bannerMicrolearningAction = bannerMicrolearning?.action;
|
|
83
|
+
const descriptionRef = useRef(null);
|
|
86
84
|
const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);
|
|
87
85
|
const [showMore, setShowMore] = useState(false);
|
|
88
|
-
const handleShowMore = useCallback(() =>
|
|
86
|
+
const handleShowMore = useCallback(() => {
|
|
87
|
+
setShowMore(!showMore);
|
|
88
|
+
}, [showMore]);
|
|
89
89
|
useEffect(() => {
|
|
90
90
|
if (descriptionRef.current) {
|
|
91
91
|
const {
|
|
@@ -99,29 +99,39 @@ const SkillDetail = (props, context) => {
|
|
|
99
99
|
return /*#__PURE__*/React.createElement("div", {
|
|
100
100
|
ref: descriptionRef,
|
|
101
101
|
className: classnames(style.description, !showMore && style.truncate)
|
|
102
|
-
}, /*#__PURE__*/React.createElement(Markdown, null, description));
|
|
102
|
+
}, description ? /*#__PURE__*/React.createElement(Markdown, null, description) : null);
|
|
103
103
|
}, [showMore, description]);
|
|
104
104
|
const ProgressBar = useCallback(() => {
|
|
105
|
-
if (score
|
|
106
|
-
const progressBarColor =
|
|
107
|
-
const
|
|
105
|
+
if (typeof score !== 'number') return null;
|
|
106
|
+
const progressBarColor = COLORS.cm_positive_500;
|
|
107
|
+
const inlineProgressStyle = {
|
|
108
108
|
backgroundColor: progressBarColor,
|
|
109
109
|
width: `${score}%`
|
|
110
110
|
};
|
|
111
111
|
return /*#__PURE__*/React.createElement("div", {
|
|
112
|
+
className: style.progressBarRow
|
|
113
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
112
114
|
className: style.progressBarWrapper
|
|
113
115
|
}, /*#__PURE__*/React.createElement("div", {
|
|
114
116
|
"data-name": "progress",
|
|
115
117
|
className: style.progress,
|
|
116
|
-
style:
|
|
117
|
-
role: "progressbar"
|
|
118
|
-
|
|
118
|
+
style: inlineProgressStyle,
|
|
119
|
+
role: "progressbar",
|
|
120
|
+
"aria-valuenow": score,
|
|
121
|
+
"aria-valuemin": 0,
|
|
122
|
+
"aria-valuemax": 100
|
|
123
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
124
|
+
className: style.progressInformationNumber
|
|
125
|
+
}, score.toFixed(1), "%"));
|
|
119
126
|
}, [score]);
|
|
127
|
+
const hasDescription = Boolean(description && description.trim().length > 0);
|
|
120
128
|
return /*#__PURE__*/React.createElement("div", {
|
|
121
129
|
className: style.backgroundContainer
|
|
122
130
|
}, /*#__PURE__*/React.createElement("div", {
|
|
123
131
|
className: style.container,
|
|
124
132
|
"data-name": skillRef
|
|
133
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
134
|
+
className: style.topSection
|
|
125
135
|
}, !_isNil(onBackClick) ? /*#__PURE__*/React.createElement(ButtonLinkIcon, {
|
|
126
136
|
faIcon: "arrow-left",
|
|
127
137
|
"data-name": "back-button",
|
|
@@ -129,67 +139,91 @@ const SkillDetail = (props, context) => {
|
|
|
129
139
|
onClick: onBackClick,
|
|
130
140
|
className: style.backButton,
|
|
131
141
|
tooltipPlacement: "right"
|
|
132
|
-
}) : null, /*#__PURE__*/React.createElement("div", {
|
|
133
|
-
className: style.
|
|
134
|
-
}, /*#__PURE__*/React.createElement("div",
|
|
142
|
+
}) : null), /*#__PURE__*/React.createElement("div", {
|
|
143
|
+
className: style.mainSection
|
|
144
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
145
|
+
className: style.leftSide
|
|
146
|
+
}, /*#__PURE__*/React.createElement(IconPreview, {
|
|
147
|
+
icon: {
|
|
148
|
+
name: 'bullseye-arrow',
|
|
149
|
+
color: COLORS.purple_100
|
|
150
|
+
},
|
|
151
|
+
title: title
|
|
152
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
153
|
+
className: style.rightSide
|
|
154
|
+
}, focused ? /*#__PURE__*/React.createElement("div", {
|
|
135
155
|
className: style.skillFocusBadge
|
|
136
156
|
}, /*#__PURE__*/React.createElement(Icon, {
|
|
137
157
|
iconName: "bullseye-arrow",
|
|
138
|
-
backgroundColor:
|
|
158
|
+
backgroundColor: COLORS.purple_100,
|
|
159
|
+
size: {
|
|
160
|
+
faSize: 10,
|
|
161
|
+
wrapperSize: 16
|
|
162
|
+
}
|
|
163
|
+
}), translate('skill_focus')) : /*#__PURE__*/React.createElement("div", {
|
|
164
|
+
className: style.skillBadge
|
|
165
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
166
|
+
iconName: "shapes",
|
|
167
|
+
backgroundColor: COLORS.gray,
|
|
139
168
|
size: {
|
|
140
169
|
faSize: 10,
|
|
141
170
|
wrapperSize: 16
|
|
142
171
|
}
|
|
143
|
-
}), translate('
|
|
172
|
+
}), translate('skill')), /*#__PURE__*/React.createElement("h2", {
|
|
144
173
|
className: style.title
|
|
145
|
-
}, title), description
|
|
174
|
+
}, title), description && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Description, null), isDescriptionTruncated ? /*#__PURE__*/React.createElement("div", {
|
|
146
175
|
className: style.showMoreWrapper,
|
|
147
176
|
onClick: handleShowMore
|
|
148
177
|
}, showMore ? translate('Show less') : translate('Show more'), /*#__PURE__*/React.createElement(Icon, {
|
|
149
178
|
iconName: showMore ? 'chevron-up' : 'chevron-down',
|
|
150
179
|
size: {
|
|
151
180
|
faSize: 14,
|
|
152
|
-
wrapperSize:
|
|
181
|
+
wrapperSize: 14
|
|
182
|
+
},
|
|
183
|
+
customStyle: {
|
|
184
|
+
padding: '8px'
|
|
153
185
|
}
|
|
154
|
-
})) : null)
|
|
186
|
+
})) : null), questionsToReview > 0 ? /*#__PURE__*/React.createElement("div", {
|
|
187
|
+
className: style.skillInformation
|
|
188
|
+
}, /*#__PURE__*/React.createElement("span", null, questionsToReview), "\xA0", translate('skill_chart_side_panel_questions_to_review')) : null, /*#__PURE__*/React.createElement("div", {
|
|
189
|
+
className: classnames(style.progressContainer, !hasDescription && style.noDescriptionSpacing)
|
|
190
|
+
}, /*#__PURE__*/React.createElement(ProgressBar, null)), /*#__PURE__*/React.createElement("div", {
|
|
155
191
|
className: style.ctaWrapper
|
|
156
|
-
}, /*#__PURE__*/React.createElement(
|
|
192
|
+
}, /*#__PURE__*/React.createElement(ContinueLearningButton, {
|
|
193
|
+
ongoingCoursesAvailable: ongoingCoursesAvailable,
|
|
194
|
+
onClick: onContinueLearningClick
|
|
195
|
+
}), /*#__PURE__*/React.createElement(ButtonLink, {
|
|
157
196
|
type: "secondary",
|
|
158
|
-
onClick: onReviewClick,
|
|
159
197
|
label: translate('review_this_skill'),
|
|
160
198
|
disabled: !availableForReview,
|
|
199
|
+
onClick: onReviewClick,
|
|
200
|
+
icon: {
|
|
201
|
+
position: 'left',
|
|
202
|
+
faIcon: {
|
|
203
|
+
name: 'rotate-right',
|
|
204
|
+
color: COLORS.cm_grey_700,
|
|
205
|
+
size: 14
|
|
206
|
+
}
|
|
207
|
+
},
|
|
161
208
|
customStyle: {
|
|
162
|
-
|
|
163
|
-
|
|
209
|
+
borderRadius: '12px',
|
|
210
|
+
width: 'fit-content'
|
|
164
211
|
}
|
|
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, {
|
|
212
|
+
})))), /*#__PURE__*/React.createElement(AllCourses, {
|
|
178
213
|
content: skillIncludedCourses,
|
|
179
214
|
filters: filters,
|
|
180
|
-
sorting: sorting,
|
|
181
215
|
totalContents: totalContents,
|
|
182
|
-
bannerMicrolearning: bannerMicrolearningAction ? {
|
|
216
|
+
bannerMicrolearning: bannerMicrolearning && bannerMicrolearningAction ? {
|
|
183
217
|
type: 'skill',
|
|
184
218
|
action: bannerMicrolearningAction,
|
|
185
|
-
oldSwitchValue
|
|
186
|
-
} :
|
|
219
|
+
oldSwitchValue: bannerMicrolearning.oldSwitchValue
|
|
220
|
+
} : undefined,
|
|
187
221
|
search: search
|
|
188
222
|
})));
|
|
189
223
|
};
|
|
190
224
|
SkillDetail.contextTypes = {
|
|
191
|
-
|
|
192
|
-
|
|
225
|
+
translate: Provider.childContextTypes.translate,
|
|
226
|
+
skin: Provider.childContextTypes.skin
|
|
193
227
|
};
|
|
194
228
|
SkillDetail.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
195
229
|
title: PropTypes.string.isRequired,
|
|
@@ -208,7 +242,6 @@ SkillDetail.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
208
242
|
onChange: PropTypes.func,
|
|
209
243
|
options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))
|
|
210
244
|
}),
|
|
211
|
-
sorting: PropTypes.shape(Select.propTypes),
|
|
212
245
|
onBackClick: PropTypes.func,
|
|
213
246
|
onReviewClick: PropTypes.func,
|
|
214
247
|
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","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","purple_100","rightSide","skillFocusBadge","iconName","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 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 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: 'bullseye-arrow',\n color: COLORS.purple_100\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 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":[]}
|