@coorpacademy/components 11.32.18 → 11.32.20-alpha.31
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/circular-progress-bar/index.d.ts +15 -0
- package/es/atom/circular-progress-bar/index.d.ts.map +1 -0
- package/es/atom/circular-progress-bar/index.js +86 -0
- package/es/atom/circular-progress-bar/index.js.map +1 -0
- package/es/atom/circular-progress-bar/style.css +51 -0
- package/es/atom/circular-progress-bar/types.d.ts +18 -0
- package/es/atom/circular-progress-bar/types.d.ts.map +1 -0
- package/es/atom/circular-progress-bar/types.js +10 -0
- package/es/atom/circular-progress-bar/types.js.map +1 -0
- package/es/atom/radio-with-title/index.d.ts +6 -0
- package/es/atom/radio-with-title/index.d.ts.map +1 -1
- package/es/atom/radio-with-title/types.d.ts +6 -0
- package/es/atom/radio-with-title/types.d.ts.map +1 -1
- package/es/atom/tag/index.d.ts +6 -1
- package/es/atom/tag/index.d.ts.map +1 -1
- package/es/atom/tag/index.js +16 -11
- package/es/atom/tag/index.js.map +1 -1
- package/es/atom/tag/style.css +39 -19
- package/es/atom/title/index.d.ts +6 -0
- package/es/atom/title/index.d.ts.map +1 -1
- package/es/atom/title/index.js +16 -4
- package/es/atom/title/index.js.map +1 -1
- package/es/atom/title/style.css +13 -0
- package/es/molecule/cm-popin/types.d.ts +6 -0
- package/es/molecule/cm-popin/types.d.ts.map +1 -1
- package/es/molecule/dashboard/cards-list/index.d.ts.map +1 -1
- package/es/molecule/dashboard/cards-list/index.js +22 -25
- package/es/molecule/dashboard/cards-list/index.js.map +1 -1
- package/es/molecule/dashboard/cards-list/style.css +12 -29
- package/es/molecule/learning-priority-card/index.d.ts +41 -0
- package/es/molecule/learning-priority-card/index.d.ts.map +1 -0
- package/es/molecule/learning-priority-card/index.js +80 -0
- package/es/molecule/learning-priority-card/index.js.map +1 -0
- package/es/molecule/learning-priority-card/style.css +36 -0
- package/es/molecule/learning-priority-card/types.d.ts +20 -0
- package/es/molecule/learning-priority-card/types.d.ts.map +1 -0
- package/es/molecule/learning-priority-card/types.js +11 -0
- package/es/molecule/learning-priority-card/types.js.map +1 -0
- package/es/molecule/title-and-checkbox-wrapper/index.d.ts +6 -0
- package/es/molecule/title-radio-wrapper/index.d.ts +6 -0
- package/es/molecule/title-radio-wrapper/index.d.ts.map +1 -1
- package/es/molecule/title-radio-wrapper/types.d.ts +6 -0
- package/es/molecule/title-radio-wrapper/types.d.ts.map +1 -1
- package/es/organism/rewards-form/index.d.ts +6 -0
- package/es/organism/select-opponents/index.d.ts +6 -0
- package/es/organism/select-opponents/index.d.ts.map +1 -1
- package/es/organism/select-opponents/types.d.ts +6 -0
- package/es/organism/select-opponents/types.d.ts.map +1 -1
- package/es/organism/title-and-input/index.d.ts +12 -0
- package/es/organism/title-and-input/index.d.ts.map +1 -1
- package/es/organism/title-and-input/types.d.ts +12 -0
- package/es/organism/title-and-input/types.d.ts.map +1 -1
- package/es/organism/wizard-contents/index.d.ts +6 -0
- package/es/template/app-player/loading/index.d.ts +6 -0
- package/es/template/app-player/player/index.d.ts +12 -0
- package/es/template/app-player/player/slides/index.d.ts +6 -0
- package/es/template/app-player/player/slides/index.d.ts.map +1 -1
- package/es/template/app-player/popin-correction/index.d.ts +6 -0
- package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
- package/es/template/app-player/popin-end/index.d.ts +6 -0
- package/es/template/app-review/index.d.ts +6 -0
- package/es/template/app-review/index.d.ts.map +1 -1
- package/es/template/app-review/player/prop-types.d.ts +6 -0
- package/es/template/app-review/player/prop-types.d.ts.map +1 -1
- package/es/template/app-review/prop-types.d.ts +6 -0
- package/es/template/app-review/prop-types.d.ts.map +1 -1
- package/es/template/back-office/brand-update/index.d.ts +6 -0
- package/es/template/common/dashboard/index.d.ts +12 -0
- package/es/template/common/search-page/index.d.ts +6 -0
- package/es/template/external-course/index.d.ts +6 -0
- package/es/template/my-learning/index.d.ts +68 -0
- package/es/template/my-learning/index.d.ts.map +1 -1
- package/es/template/my-learning/index.js +12 -2
- package/es/template/my-learning/index.js.map +1 -1
- package/es/template/my-learning/style.css +18 -3
- package/es/template/skill-detail/all-courses.css +6 -1
- package/es/template/skill-detail/continue-learning.d.ts.map +1 -1
- package/es/template/skill-detail/continue-learning.js +3 -1
- package/es/template/skill-detail/continue-learning.js.map +1 -1
- package/es/template/skill-detail/index.js +1 -1
- package/es/template/skill-detail/index.js.map +1 -1
- package/lib/atom/circular-progress-bar/index.d.ts +15 -0
- package/lib/atom/circular-progress-bar/index.d.ts.map +1 -0
- package/lib/atom/circular-progress-bar/index.js +101 -0
- package/lib/atom/circular-progress-bar/index.js.map +1 -0
- package/lib/atom/circular-progress-bar/style.css +51 -0
- package/lib/atom/circular-progress-bar/types.d.ts +18 -0
- package/lib/atom/circular-progress-bar/types.d.ts.map +1 -0
- package/lib/atom/circular-progress-bar/types.js +19 -0
- package/lib/atom/circular-progress-bar/types.js.map +1 -0
- package/lib/atom/radio-with-title/index.d.ts +6 -0
- package/lib/atom/radio-with-title/index.d.ts.map +1 -1
- package/lib/atom/radio-with-title/types.d.ts +6 -0
- package/lib/atom/radio-with-title/types.d.ts.map +1 -1
- package/lib/atom/tag/index.d.ts +6 -1
- package/lib/atom/tag/index.d.ts.map +1 -1
- package/lib/atom/tag/index.js +17 -11
- package/lib/atom/tag/index.js.map +1 -1
- package/lib/atom/tag/style.css +39 -19
- package/lib/atom/title/index.d.ts +6 -0
- package/lib/atom/title/index.d.ts.map +1 -1
- package/lib/atom/title/index.js +18 -4
- package/lib/atom/title/index.js.map +1 -1
- package/lib/atom/title/style.css +13 -0
- package/lib/molecule/cm-popin/types.d.ts +6 -0
- package/lib/molecule/cm-popin/types.d.ts.map +1 -1
- package/lib/molecule/dashboard/cards-list/index.d.ts.map +1 -1
- package/lib/molecule/dashboard/cards-list/index.js +23 -25
- package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
- package/lib/molecule/dashboard/cards-list/style.css +12 -29
- package/lib/molecule/learning-priority-card/index.d.ts +41 -0
- package/lib/molecule/learning-priority-card/index.d.ts.map +1 -0
- package/lib/molecule/learning-priority-card/index.js +98 -0
- package/lib/molecule/learning-priority-card/index.js.map +1 -0
- package/lib/molecule/learning-priority-card/style.css +36 -0
- package/lib/molecule/learning-priority-card/types.d.ts +20 -0
- package/lib/molecule/learning-priority-card/types.d.ts.map +1 -0
- package/lib/molecule/learning-priority-card/types.js +20 -0
- package/lib/molecule/learning-priority-card/types.js.map +1 -0
- package/lib/molecule/title-and-checkbox-wrapper/index.d.ts +6 -0
- package/lib/molecule/title-radio-wrapper/index.d.ts +6 -0
- package/lib/molecule/title-radio-wrapper/index.d.ts.map +1 -1
- package/lib/molecule/title-radio-wrapper/types.d.ts +6 -0
- package/lib/molecule/title-radio-wrapper/types.d.ts.map +1 -1
- package/lib/organism/rewards-form/index.d.ts +6 -0
- package/lib/organism/select-opponents/index.d.ts +6 -0
- package/lib/organism/select-opponents/index.d.ts.map +1 -1
- package/lib/organism/select-opponents/types.d.ts +6 -0
- package/lib/organism/select-opponents/types.d.ts.map +1 -1
- package/lib/organism/title-and-input/index.d.ts +12 -0
- package/lib/organism/title-and-input/index.d.ts.map +1 -1
- package/lib/organism/title-and-input/types.d.ts +12 -0
- package/lib/organism/title-and-input/types.d.ts.map +1 -1
- package/lib/organism/wizard-contents/index.d.ts +6 -0
- package/lib/template/app-player/loading/index.d.ts +6 -0
- package/lib/template/app-player/player/index.d.ts +12 -0
- package/lib/template/app-player/player/slides/index.d.ts +6 -0
- package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
- package/lib/template/app-player/popin-correction/index.d.ts +6 -0
- package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
- package/lib/template/app-player/popin-end/index.d.ts +6 -0
- package/lib/template/app-review/index.d.ts +6 -0
- package/lib/template/app-review/index.d.ts.map +1 -1
- package/lib/template/app-review/player/prop-types.d.ts +6 -0
- package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
- package/lib/template/app-review/prop-types.d.ts +6 -0
- package/lib/template/app-review/prop-types.d.ts.map +1 -1
- package/lib/template/back-office/brand-update/index.d.ts +6 -0
- package/lib/template/common/dashboard/index.d.ts +12 -0
- package/lib/template/common/search-page/index.d.ts +6 -0
- package/lib/template/external-course/index.d.ts +6 -0
- package/lib/template/my-learning/index.d.ts +68 -0
- package/lib/template/my-learning/index.d.ts.map +1 -1
- package/lib/template/my-learning/index.js +12 -2
- package/lib/template/my-learning/index.js.map +1 -1
- package/lib/template/my-learning/style.css +18 -3
- package/lib/template/skill-detail/all-courses.css +6 -1
- package/lib/template/skill-detail/continue-learning.d.ts.map +1 -1
- package/lib/template/skill-detail/continue-learning.js +7 -3
- package/lib/template/skill-detail/continue-learning.js.map +1 -1
- package/lib/template/skill-detail/index.js +1 -1
- package/lib/template/skill-detail/index.js.map +1 -1
- package/locales/bs/global.json +1 -0
- package/locales/cs/global.json +1 -0
- package/locales/de/global.json +1 -0
- package/locales/en/global.json +1 -0
- package/locales/es/global.json +1 -0
- package/locales/et/global.json +1 -0
- package/locales/fi/global.json +1 -0
- package/locales/fr/global.json +1 -0
- package/locales/hr/global.json +1 -0
- package/locales/hu/global.json +1 -0
- package/locales/hy/global.json +1 -0
- package/locales/it/global.json +1 -0
- package/locales/ja/global.json +1 -0
- package/locales/ko/global.json +1 -0
- package/locales/nl/global.json +1 -0
- package/locales/pl/global.json +1 -0
- package/locales/pt/global.json +1 -0
- package/locales/ro/global.json +1 -0
- package/locales/ru/global.json +1 -0
- package/locales/sk/global.json +1 -0
- package/locales/sl/global.json +1 -0
- package/locales/sv/global.json +1 -0
- package/locales/tl/global.json +1 -0
- package/locales/tr/global.json +1 -0
- package/locales/uk/global.json +1 -0
- package/locales/vi/global.json +1 -0
- package/locales/zh/global.json +1 -0
- package/locales/zh_TW/global.json +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/my-learning/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/my-learning/index.js"],"names":[],"mappings":";AA0HA,mEAoYC"}
|
|
@@ -51,6 +51,8 @@ var _searchValueIncluded = _interopRequireDefault(require("../../util/search-val
|
|
|
51
51
|
|
|
52
52
|
var _timeFormat = require("../../util/time-format");
|
|
53
53
|
|
|
54
|
+
var _cardsList = _interopRequireDefault(require("../../molecule/dashboard/cards-list"));
|
|
55
|
+
|
|
54
56
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
55
57
|
|
|
56
58
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -59,6 +61,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
59
61
|
|
|
60
62
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
61
63
|
|
|
64
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
65
|
+
|
|
62
66
|
const ChangeSkillFocusButton = (props, context) => {
|
|
63
67
|
const [hovered, setHovered] = (0, _react.useState)(false);
|
|
64
68
|
const {
|
|
@@ -157,7 +161,8 @@ const MyLearning = (props, context) => {
|
|
|
157
161
|
isLoading,
|
|
158
162
|
onSkillFocusConfirm,
|
|
159
163
|
onReviewSkill,
|
|
160
|
-
onExploreSkill
|
|
164
|
+
onExploreSkill,
|
|
165
|
+
learningPriorities
|
|
161
166
|
} = props;
|
|
162
167
|
const {
|
|
163
168
|
skin,
|
|
@@ -241,6 +246,10 @@ const MyLearning = (props, context) => {
|
|
|
241
246
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
242
247
|
className: _style.default.backgroundContainer
|
|
243
248
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
249
|
+
className: _style.default.cardsListContainer
|
|
250
|
+
}, /*#__PURE__*/_react.default.createElement(_cardsList.default, _extends({}, learningPriorities, {
|
|
251
|
+
"arrows-aria-label": ''
|
|
252
|
+
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
244
253
|
className: _style.default.container
|
|
245
254
|
}, /*#__PURE__*/_react.default.createElement(_skillPickerModal.default, {
|
|
246
255
|
skills: skills,
|
|
@@ -457,7 +466,8 @@ MyLearning.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
457
466
|
isLoading: _propTypes.default.bool,
|
|
458
467
|
onSkillFocusConfirm: _propTypes.default.func,
|
|
459
468
|
onReviewSkill: _propTypes.default.func,
|
|
460
|
-
onExploreSkill: _propTypes.default.func
|
|
469
|
+
onExploreSkill: _propTypes.default.func,
|
|
470
|
+
learningPriorities: _propTypes.default.shape(_cardsList.default.propTypes)
|
|
461
471
|
} : {};
|
|
462
472
|
var _default = MyLearning;
|
|
463
473
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ChangeSkillFocusButton","props","context","hovered","setHovered","useState","onClick","skin","translate","primarySkinColor","handleMouseOver","useCallback","handleMouseLeave","backgroundColor","convert","color","transition","position","faIcon","name","size","contextTypes","Provider","childContextTypes","propTypes","PropTypes","func","FilterButton","active","filter","skillTotal","Content","style","skillFilterNumber","skillFilterNumberInActive","buttonProps","customStyle","width","content","bool","string","number","MyLearning","skills","selectedSkills","skillsInformation","skillsLocales","learnerFeature","isLoading","onSkillFocusConfirm","onReviewSkill","onExploreSkill","open","setOpen","selectedSkillsList","setSelectedSkillsList","skillFocusSelectedOnChart","setSkillFocusSelectedOnChart","undefined","searchValue","setSearchValue","searchResults","setSearchResults","skillRef","activeFilter","setActiveFilter","skillsReviewReady","useMemo","skill","availableForReview","graphDatas","toFixed","graphLegends","filters","all","review","sumKpi","kpi","skillFocusSelectedOnChartScore","stats","coursedCompletedData","questionsToReviewData","learningTimeData","skillChartPaneLegends","focusedSkill","skillChartPanelProps","title","value","legend","icon","iconName","formatMinutes","handleOnDotClick","handleOpenSkillPicker","handleCloseSkillPicker","handleConfirmSkillPicker","focusSkillList","handleSearch","searchValueIncluded","handleSearchReset","ReviewTooltipContent","backgroundContainer","container","skillFocusContainer","skillFocusHeader","skillFocusHeaderWrapper","skillFocusHeaderIcon","faSize","wrapperSize","skillFocusHeaderContent","skillFocusHeaderTitle","skillFocusHeaderDescription","length","skillFocusContent","radarContainer","gradient","fill","stroke","percentage","background","label","skillFocusEmpty","img","skillFocusEmptyTitle","skillFocusEmptyDescription","skillListHeader","skillListHeaderIcon","skillListHeaderContent","skillListHeaderTitle","skillListHeaderDescription","infoIconTooltip","tooltip","toolBarContainer","skillFilterContainer","map","index","handleFilterClick","searchWrapper","placeholder","onChange","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","skillListContainer","skillListEmptyContainer","defaultStats","score","contentCompleted","questionsToReview","handleReviewSkill","handleExploreSkill","includes","arrayOf","objectOf","shape","learningTime"],"sources":["../../../src/template/my-learning/index.js"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {get, keys, map, fromPairs, pipe, sumBy, getOr, sortBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Icon from '../../atom/icon';\nimport Picture from '../../atom/picture';\nimport ButtonLink from '../../atom/button-link';\nimport ToolTip from '../../atom/tooltip';\nimport ReviewNoSkills from '../../organism/review-no-skills';\nimport SearchForm from '../../molecule/search-form';\nimport SkillPickerModal from '../../molecule/skill-picker-modal';\nimport ResponsiveLearningProfileRadarChart from '../../molecule/learning-profile-radar-chart';\nimport SkillsChartSideInformationPanel from '../../molecule/skills-chart-side-information-panel';\nimport LearnerSkillCard from '../../molecule/learner-skill-card';\nimport searchValueIncluded from '../../util/search-value-included';\nimport {formatMinutes} from '../../util/time-format';\nimport style from './style.css';\n\nconst ChangeSkillFocusButton = (props, context) => {\n const [hovered, setHovered] = useState(false);\n const {onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n return (\n <div\n data-name=\"button-explore-wrapper\"\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n >\n <ButtonLink\n customStyle={{\n backgroundColor: hovered\n ? primarySkinColor\n : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n }}\n onClick={onClick}\n label={translate('skills_change_focus')}\n data-name=\"change-skill-focus-button\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'arrows-rotate',\n backgroundColor: hovered\n ? primarySkinColor\n : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }}\n />\n </div>\n );\n};\n\nChangeSkillFocusButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nChangeSkillFocusButton.propTypes = {\n onClick: PropTypes.func\n};\n\nconst FilterButton = (props, context) => {\n const {active, filter, skillTotal, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const Content = useCallback(\n () => (\n <div>\n {filter}\n <span\n className={active ? style.skillFilterNumber : style.skillFilterNumberInActive}\n style={{\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#EAEAEB',\n color: active ? primarySkinColor : '#515161'\n }}\n >\n {skillTotal}\n </span>\n </div>\n ),\n [filter, skillTotal, active, primarySkinColor]\n );\n\n const buttonProps = {\n customStyle: {\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#FFFFFF',\n color: active ? primarySkinColor : '#9999A8',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n onClick,\n content: <Content />,\n 'data-name': 'change-skill-focus-button'\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n active: PropTypes.bool,\n filter: PropTypes.string,\n skillTotal: PropTypes.number,\n onClick: PropTypes.func\n};\n\nconst MyLearning = (props, context) => {\n const {\n skills,\n selectedSkills = [],\n skillsInformation,\n skillsLocales,\n learnerFeature = true,\n isLoading,\n onSkillFocusConfirm,\n onReviewSkill,\n onExploreSkill\n } = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n const [open, setOpen] = useState(false);\n const [selectedSkillsList, setSelectedSkillsList] = useState(selectedSkills);\n const [skillFocusSelectedOnChart, setSkillFocusSelectedOnChart] = useState(undefined);\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(\n sortBy(skillRef => -getOr(0, [skillRef, 'stats', 'score'], skillsInformation), skills)\n );\n const [activeFilter, setActiveFilter] = useState('all');\n const [hovered, setHovered] = useState(false);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const skillsReviewReady = useMemo(() => {\n return searchResults.filter(skill =>\n skillsInformation[skill] ? skillsInformation[skill].availableForReview : false\n );\n }, [searchResults, skillsInformation]);\n\n const graphDatas = useMemo(\n () =>\n pipe(\n map(skill => [skill, getOr(0, [skill, 'stats', 'score'], skillsInformation).toFixed(1)]),\n fromPairs\n )(selectedSkillsList),\n [selectedSkillsList, skillsInformation]\n );\n\n const graphLegends = useMemo(\n () =>\n pipe(\n map(skill => [skill, skillsLocales[skill]]),\n fromPairs\n )(selectedSkillsList),\n [selectedSkillsList, skillsLocales]\n );\n\n const filters = useMemo(() => {\n return {\n all: searchResults,\n review: skillsReviewReady\n };\n }, [searchResults, skillsReviewReady]);\n\n const sumKpi = useCallback(\n kpi => {\n const skillFocusSelectedOnChartScore = getOr(\n 0,\n [skillFocusSelectedOnChart, 'stats', `${kpi}`],\n skillsInformation\n );\n return skillFocusSelectedOnChart\n ? skillFocusSelectedOnChartScore\n : sumBy(\n skill => (skillsInformation[skill] ? skillsInformation[skill].stats[kpi] : 0),\n selectedSkillsList\n );\n },\n [skillFocusSelectedOnChart, skillsInformation, selectedSkillsList]\n );\n\n const coursedCompletedData = useMemo(() => sumKpi('contentCompleted'), [sumKpi]);\n\n const questionsToReviewData = useMemo(() => sumKpi('questionsToReview'), [sumKpi]);\n\n const learningTimeData = useMemo(() => sumKpi('learningTime'), [sumKpi]);\n\n const skillChartPaneLegends = useMemo(\n () =>\n translate('skill_scope_specifier', {\n focusedSkill: skillFocusSelectedOnChart\n ? skillsLocales[skillFocusSelectedOnChart]\n : translate('focused_skills')\n }),\n [translate, skillsLocales, skillFocusSelectedOnChart]\n );\n const skillChartPanelProps = [\n {\n title: translate('skill_chart_side_panel_content_completed'),\n value: `${coursedCompletedData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'book-open-cover', backgroundColor: '#D9F4F7'}\n },\n {\n title: translate('skill_chart_side_panel_learning_hours'),\n value: formatMinutes(learningTimeData),\n legend: skillChartPaneLegends,\n icon: {iconName: 'clock', backgroundColor: '#FAD6DE'}\n },\n {\n title: translate('skill_chart_side_panel_questions_to_review'),\n value: `${questionsToReviewData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'circle-question', backgroundColor: '#FFDCD1'}\n }\n ];\n\n const handleOnDotClick = useCallback(\n skillRef => {\n setSkillFocusSelectedOnChart(skillRef);\n },\n [setSkillFocusSelectedOnChart]\n );\n const handleOpenSkillPicker = useCallback(() => setOpen(true), [setOpen]);\n const handleCloseSkillPicker = useCallback(() => setOpen(false), [setOpen]);\n const handleConfirmSkillPicker = useCallback(\n focusSkillList => {\n setSelectedSkillsList(focusSkillList);\n onSkillFocusConfirm(focusSkillList);\n setOpen(false);\n },\n [onSkillFocusConfirm, setSelectedSkillsList, setOpen]\n );\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(skills.filter(skill => searchValueIncluded(skillsLocales[skill], value)));\n },\n [skills, skillsLocales, setSearchValue, setSearchResults]\n );\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(skills);\n }, [skills, setSearchValue, setSearchResults]);\n\n const ReviewTooltipContent = useCallback(\n () => (\n <div>\n <div>\n <b>{translate('review_mode_tooltip_header')}</b>\n </div>\n <p>{translate('review_mode_tooltip_content')}</p>\n <ol>\n <li>{translate('review_mode_tooltip_content_part1')}</li>\n <li>{translate('review_mode_tooltip_content_part2')}</li>\n <li>{translate('review_mode_tooltip_content_part3')}</li>\n <li>{translate('review_mode_tooltip_content_part4')}</li>\n </ol>\n </div>\n ),\n [translate]\n );\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container}>\n <SkillPickerModal\n skills={skills}\n selectedSkills={selectedSkillsList}\n skillsLocales={skillsLocales}\n isOpen={open}\n isLoading={isLoading}\n onCancel={handleCloseSkillPicker}\n onConfirm={handleConfirmSkillPicker}\n onClose={handleCloseSkillPicker}\n />\n {learnerFeature ? (\n <div data-name=\"skill-focus-container\" className={style.skillFocusContainer}>\n <header className={style.skillFocusHeader}>\n <div className={style.skillFocusHeaderWrapper}>\n <div className={style.skillFocusHeaderIcon}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n borderRadius=\"12px\"\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n <div className={style.skillFocusHeaderContent}>\n <div data-name=\"skill-focus-title\" className={style.skillFocusHeaderTitle}>\n {translate('skills_focus')}\n </div>\n <div\n data-name=\"skill-focus-description\"\n className={style.skillFocusHeaderDescription}\n >\n {translate('skills_focus_description')}\n </div>\n </div>\n </div>\n {selectedSkillsList.length >= 3 ? (\n <ChangeSkillFocusButton onClick={handleOpenSkillPicker} />\n ) : null}\n </header>\n {selectedSkillsList.length >= 3 ? (\n <div className={style.skillFocusContent}>\n <div className={style.radarContainer}>\n <ResponsiveLearningProfileRadarChart\n totalDataset={1}\n height={424}\n width={680}\n data={graphDatas}\n legend={graphLegends}\n onClick={handleOnDotClick}\n onExploreClick={onExploreSkill}\n colors={[\n {\n gradient: {\n fill: ['#0062ffff', '#8000ff85'],\n stroke: ['#0062ffff', '#8000FF']\n },\n percentage: {\n color: primarySkinColor,\n background: convert(`color(${primarySkinColor} a(0.07))`)\n },\n label: {\n color: '#020202ff'\n }\n }\n ]}\n />\n </div>\n <SkillsChartSideInformationPanel sidePanelItems={skillChartPanelProps} />\n </div>\n ) : (\n <div className={style.skillFocusEmpty}>\n <Picture\n className={style.img}\n src=\"https://static.coorpacademy.com/assets/images/mylearning-no-skill-selected-placeholder.svg\"\n alt=\"demo\"\n />\n <div className={style.skillFocusEmptyTitle}>\n {translate('skills_focus_empty_title')}\n </div>\n <div className={style.skillFocusEmptyDescription}>\n {translate('skills_focus_empty_description')}\n </div>\n <div onMouseOver={handleMouseOver} onMouseLeave={handleMouseLeave}>\n <ButtonLink\n label={translate('skills_choose_focus')}\n type=\"primary\"\n customStyle={{\n width: 'fit-contain',\n backgroundColor: hovered\n ? convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)\n : primarySkinColor\n }}\n onClick={handleOpenSkillPicker}\n />\n </div>\n </div>\n )}\n </div>\n ) : null}\n <header className={style.skillListHeader}>\n <div className={style.skillListHeaderIcon}>\n <Icon\n iconName=\"dumbbell\"\n backgroundColor=\"#FFF9D1\"\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n <div className={style.skillListHeaderContent}>\n <div className={style.skillListHeaderTitle}>{translate('skills_section_title')}</div>\n <div className={style.skillListHeaderDescription}>\n {translate('skills_section_description')}\n <ToolTip\n fontSize={12}\n iconContainerClassName={style.infoIconTooltip}\n tooltipClassName={style.tooltip}\n TooltipContent={ReviewTooltipContent}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n />\n </div>\n </div>\n </header>\n <div className={style.toolBarContainer}>\n <div className={style.skillFilterContainer}>\n {keys(filters).map((filter, index) => {\n function handleFilterClick() {\n setActiveFilter(filter);\n }\n\n return (\n <div key={index}>\n <FilterButton\n active={activeFilter === filter}\n filter={\n filter === 'all' ? translate('all') : translate('review_mode_available')\n }\n skillTotal={filters[filter].length}\n onClick={handleFilterClick}\n />\n </div>\n );\n })}\n </div>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n </div>\n {searchValue && searchResults.length === 0 ? (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n ) : (\n <div className={style.skillListContainer}>\n {activeFilter === 'review_mode_available' && filters[activeFilter].length === 0 ? (\n <div className={style.skillListEmptyContainer}>\n <ReviewNoSkills\n titleNoSkills={translate('review_skill_empty')}\n textNoSkills={translate('review_skill_empty_description')}\n iconSkillAriaLabel={translate('review_skill_empty')}\n imagePosition=\"top\"\n />\n </div>\n ) : (\n filters[activeFilter].map((skill, index) => {\n const defaultStats = {\n score: 0,\n content: 0,\n contentCompleted: 0,\n questionsToReview: 0\n };\n\n function handleReviewSkill() {\n onReviewSkill(skill);\n }\n function handleExploreSkill() {\n onExploreSkill(skill);\n }\n const {score, content, questionsToReview, contentCompleted} = skillsInformation[\n skill\n ]\n ? skillsInformation[skill].stats\n : defaultStats;\n return (\n <div key={index}>\n <LearnerSkillCard\n skillTitle={skillsLocales[skill]}\n focus={selectedSkills.includes(skill)}\n metrics={{\n score: score.toFixed(1),\n content,\n questionsToReview,\n contentCompleted\n }}\n review={\n skillsInformation[skill]\n ? skillsInformation[skill].availableForReview\n : false\n }\n onReviewClick={handleReviewSkill}\n onExploreClick={handleExploreSkill}\n />\n </div>\n );\n })\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nMyLearning.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nMyLearning.propTypes = {\n skills: PropTypes.arrayOf(PropTypes.string),\n selectedSkills: PropTypes.arrayOf(PropTypes.string),\n skillsInformation: PropTypes.objectOf(\n PropTypes.shape({\n availableForReview: PropTypes.bool,\n stats: PropTypes.shape({\n score: PropTypes.number,\n content: PropTypes.number,\n contentCompleted: PropTypes.number,\n questionsToReview: PropTypes.number,\n learningTime: PropTypes.number\n })\n })\n ),\n skillsLocales: PropTypes.objectOf(PropTypes.string),\n learnerFeature: PropTypes.bool,\n isLoading: PropTypes.bool,\n onSkillFocusConfirm: PropTypes.func,\n onReviewSkill: PropTypes.func,\n onExploreSkill: PropTypes.func\n};\n\nexport default MyLearning;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["ChangeSkillFocusButton","props","context","hovered","setHovered","useState","onClick","skin","translate","primarySkinColor","handleMouseOver","useCallback","handleMouseLeave","backgroundColor","convert","color","transition","position","faIcon","name","size","contextTypes","Provider","childContextTypes","propTypes","PropTypes","func","FilterButton","active","filter","skillTotal","Content","style","skillFilterNumber","skillFilterNumberInActive","buttonProps","customStyle","width","content","bool","string","number","MyLearning","skills","selectedSkills","skillsInformation","skillsLocales","learnerFeature","isLoading","onSkillFocusConfirm","onReviewSkill","onExploreSkill","learningPriorities","open","setOpen","selectedSkillsList","setSelectedSkillsList","skillFocusSelectedOnChart","setSkillFocusSelectedOnChart","undefined","searchValue","setSearchValue","searchResults","setSearchResults","skillRef","activeFilter","setActiveFilter","skillsReviewReady","useMemo","skill","availableForReview","graphDatas","toFixed","graphLegends","filters","all","review","sumKpi","kpi","skillFocusSelectedOnChartScore","stats","coursedCompletedData","questionsToReviewData","learningTimeData","skillChartPaneLegends","focusedSkill","skillChartPanelProps","title","value","legend","icon","iconName","formatMinutes","handleOnDotClick","handleOpenSkillPicker","handleCloseSkillPicker","handleConfirmSkillPicker","focusSkillList","handleSearch","searchValueIncluded","handleSearchReset","ReviewTooltipContent","backgroundContainer","cardsListContainer","container","skillFocusContainer","skillFocusHeader","skillFocusHeaderWrapper","skillFocusHeaderIcon","faSize","wrapperSize","skillFocusHeaderContent","skillFocusHeaderTitle","skillFocusHeaderDescription","length","skillFocusContent","radarContainer","gradient","fill","stroke","percentage","background","label","skillFocusEmpty","img","skillFocusEmptyTitle","skillFocusEmptyDescription","skillListHeader","skillListHeaderIcon","skillListHeaderContent","skillListHeaderTitle","skillListHeaderDescription","infoIconTooltip","tooltip","toolBarContainer","skillFilterContainer","map","index","handleFilterClick","searchWrapper","placeholder","onChange","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","skillListContainer","skillListEmptyContainer","defaultStats","score","contentCompleted","questionsToReview","handleReviewSkill","handleExploreSkill","includes","arrayOf","objectOf","shape","learningTime","CardsList"],"sources":["../../../src/template/my-learning/index.js"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {get, keys, map, fromPairs, pipe, sumBy, getOr, sortBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Icon from '../../atom/icon';\nimport Picture from '../../atom/picture';\nimport ButtonLink from '../../atom/button-link';\nimport ToolTip from '../../atom/tooltip';\nimport ReviewNoSkills from '../../organism/review-no-skills';\nimport SearchForm from '../../molecule/search-form';\nimport SkillPickerModal from '../../molecule/skill-picker-modal';\nimport ResponsiveLearningProfileRadarChart from '../../molecule/learning-profile-radar-chart';\nimport SkillsChartSideInformationPanel from '../../molecule/skills-chart-side-information-panel';\nimport LearnerSkillCard from '../../molecule/learner-skill-card';\nimport searchValueIncluded from '../../util/search-value-included';\nimport {formatMinutes} from '../../util/time-format';\nimport CardsList from '../../molecule/dashboard/cards-list';\nimport style from './style.css';\n\nconst ChangeSkillFocusButton = (props, context) => {\n const [hovered, setHovered] = useState(false);\n const {onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n return (\n <div\n data-name=\"button-explore-wrapper\"\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n >\n <ButtonLink\n customStyle={{\n backgroundColor: hovered\n ? primarySkinColor\n : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n }}\n onClick={onClick}\n label={translate('skills_change_focus')}\n data-name=\"change-skill-focus-button\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'arrows-rotate',\n backgroundColor: hovered\n ? primarySkinColor\n : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }}\n />\n </div>\n );\n};\n\nChangeSkillFocusButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nChangeSkillFocusButton.propTypes = {\n onClick: PropTypes.func\n};\n\nconst FilterButton = (props, context) => {\n const {active, filter, skillTotal, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const Content = useCallback(\n () => (\n <div>\n {filter}\n <span\n className={active ? style.skillFilterNumber : style.skillFilterNumberInActive}\n style={{\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#EAEAEB',\n color: active ? primarySkinColor : '#515161'\n }}\n >\n {skillTotal}\n </span>\n </div>\n ),\n [filter, skillTotal, active, primarySkinColor]\n );\n\n const buttonProps = {\n customStyle: {\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#FFFFFF',\n color: active ? primarySkinColor : '#9999A8',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n onClick,\n content: <Content />,\n 'data-name': 'change-skill-focus-button'\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n active: PropTypes.bool,\n filter: PropTypes.string,\n skillTotal: PropTypes.number,\n onClick: PropTypes.func\n};\n\nconst MyLearning = (props, context) => {\n const {\n skills,\n selectedSkills = [],\n skillsInformation,\n skillsLocales,\n learnerFeature = true,\n isLoading,\n onSkillFocusConfirm,\n onReviewSkill,\n onExploreSkill,\n learningPriorities\n } = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n const [open, setOpen] = useState(false);\n const [selectedSkillsList, setSelectedSkillsList] = useState(selectedSkills);\n const [skillFocusSelectedOnChart, setSkillFocusSelectedOnChart] = useState(undefined);\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(\n sortBy(skillRef => -getOr(0, [skillRef, 'stats', 'score'], skillsInformation), skills)\n );\n const [activeFilter, setActiveFilter] = useState('all');\n const [hovered, setHovered] = useState(false);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const skillsReviewReady = useMemo(() => {\n return searchResults.filter(skill =>\n skillsInformation[skill] ? skillsInformation[skill].availableForReview : false\n );\n }, [searchResults, skillsInformation]);\n\n const graphDatas = useMemo(\n () =>\n pipe(\n map(skill => [skill, getOr(0, [skill, 'stats', 'score'], skillsInformation).toFixed(1)]),\n fromPairs\n )(selectedSkillsList),\n [selectedSkillsList, skillsInformation]\n );\n\n const graphLegends = useMemo(\n () =>\n pipe(\n map(skill => [skill, skillsLocales[skill]]),\n fromPairs\n )(selectedSkillsList),\n [selectedSkillsList, skillsLocales]\n );\n\n const filters = useMemo(() => {\n return {\n all: searchResults,\n review: skillsReviewReady\n };\n }, [searchResults, skillsReviewReady]);\n\n const sumKpi = useCallback(\n kpi => {\n const skillFocusSelectedOnChartScore = getOr(\n 0,\n [skillFocusSelectedOnChart, 'stats', `${kpi}`],\n skillsInformation\n );\n return skillFocusSelectedOnChart\n ? skillFocusSelectedOnChartScore\n : sumBy(\n skill => (skillsInformation[skill] ? skillsInformation[skill].stats[kpi] : 0),\n selectedSkillsList\n );\n },\n [skillFocusSelectedOnChart, skillsInformation, selectedSkillsList]\n );\n\n const coursedCompletedData = useMemo(() => sumKpi('contentCompleted'), [sumKpi]);\n\n const questionsToReviewData = useMemo(() => sumKpi('questionsToReview'), [sumKpi]);\n\n const learningTimeData = useMemo(() => sumKpi('learningTime'), [sumKpi]);\n\n const skillChartPaneLegends = useMemo(\n () =>\n translate('skill_scope_specifier', {\n focusedSkill: skillFocusSelectedOnChart\n ? skillsLocales[skillFocusSelectedOnChart]\n : translate('focused_skills')\n }),\n [translate, skillsLocales, skillFocusSelectedOnChart]\n );\n const skillChartPanelProps = [\n {\n title: translate('skill_chart_side_panel_content_completed'),\n value: `${coursedCompletedData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'book-open-cover', backgroundColor: '#D9F4F7'}\n },\n {\n title: translate('skill_chart_side_panel_learning_hours'),\n value: formatMinutes(learningTimeData),\n legend: skillChartPaneLegends,\n icon: {iconName: 'clock', backgroundColor: '#FAD6DE'}\n },\n {\n title: translate('skill_chart_side_panel_questions_to_review'),\n value: `${questionsToReviewData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'circle-question', backgroundColor: '#FFDCD1'}\n }\n ];\n\n const handleOnDotClick = useCallback(\n skillRef => {\n setSkillFocusSelectedOnChart(skillRef);\n },\n [setSkillFocusSelectedOnChart]\n );\n const handleOpenSkillPicker = useCallback(() => setOpen(true), [setOpen]);\n const handleCloseSkillPicker = useCallback(() => setOpen(false), [setOpen]);\n const handleConfirmSkillPicker = useCallback(\n focusSkillList => {\n setSelectedSkillsList(focusSkillList);\n onSkillFocusConfirm(focusSkillList);\n setOpen(false);\n },\n [onSkillFocusConfirm, setSelectedSkillsList, setOpen]\n );\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(skills.filter(skill => searchValueIncluded(skillsLocales[skill], value)));\n },\n [skills, skillsLocales, setSearchValue, setSearchResults]\n );\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(skills);\n }, [skills, setSearchValue, setSearchResults]);\n\n const ReviewTooltipContent = useCallback(\n () => (\n <div>\n <div>\n <b>{translate('review_mode_tooltip_header')}</b>\n </div>\n <p>{translate('review_mode_tooltip_content')}</p>\n <ol>\n <li>{translate('review_mode_tooltip_content_part1')}</li>\n <li>{translate('review_mode_tooltip_content_part2')}</li>\n <li>{translate('review_mode_tooltip_content_part3')}</li>\n <li>{translate('review_mode_tooltip_content_part4')}</li>\n </ol>\n </div>\n ),\n [translate]\n );\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.cardsListContainer}>\n <CardsList {...learningPriorities} arrows-aria-label={''} />\n </div>\n <div className={style.container}>\n <SkillPickerModal\n skills={skills}\n selectedSkills={selectedSkillsList}\n skillsLocales={skillsLocales}\n isOpen={open}\n isLoading={isLoading}\n onCancel={handleCloseSkillPicker}\n onConfirm={handleConfirmSkillPicker}\n onClose={handleCloseSkillPicker}\n />\n {learnerFeature ? (\n <div data-name=\"skill-focus-container\" className={style.skillFocusContainer}>\n <header className={style.skillFocusHeader}>\n <div className={style.skillFocusHeaderWrapper}>\n <div className={style.skillFocusHeaderIcon}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n borderRadius=\"12px\"\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n <div className={style.skillFocusHeaderContent}>\n <div data-name=\"skill-focus-title\" className={style.skillFocusHeaderTitle}>\n {translate('skills_focus')}\n </div>\n <div\n data-name=\"skill-focus-description\"\n className={style.skillFocusHeaderDescription}\n >\n {translate('skills_focus_description')}\n </div>\n </div>\n </div>\n {selectedSkillsList.length >= 3 ? (\n <ChangeSkillFocusButton onClick={handleOpenSkillPicker} />\n ) : null}\n </header>\n {selectedSkillsList.length >= 3 ? (\n <div className={style.skillFocusContent}>\n <div className={style.radarContainer}>\n <ResponsiveLearningProfileRadarChart\n totalDataset={1}\n height={424}\n width={680}\n data={graphDatas}\n legend={graphLegends}\n onClick={handleOnDotClick}\n onExploreClick={onExploreSkill}\n colors={[\n {\n gradient: {\n fill: ['#0062ffff', '#8000ff85'],\n stroke: ['#0062ffff', '#8000FF']\n },\n percentage: {\n color: primarySkinColor,\n background: convert(`color(${primarySkinColor} a(0.07))`)\n },\n label: {\n color: '#020202ff'\n }\n }\n ]}\n />\n </div>\n <SkillsChartSideInformationPanel sidePanelItems={skillChartPanelProps} />\n </div>\n ) : (\n <div className={style.skillFocusEmpty}>\n <Picture\n className={style.img}\n src=\"https://static.coorpacademy.com/assets/images/mylearning-no-skill-selected-placeholder.svg\"\n alt=\"demo\"\n />\n <div className={style.skillFocusEmptyTitle}>\n {translate('skills_focus_empty_title')}\n </div>\n <div className={style.skillFocusEmptyDescription}>\n {translate('skills_focus_empty_description')}\n </div>\n <div onMouseOver={handleMouseOver} onMouseLeave={handleMouseLeave}>\n <ButtonLink\n label={translate('skills_choose_focus')}\n type=\"primary\"\n customStyle={{\n width: 'fit-contain',\n backgroundColor: hovered\n ? convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)\n : primarySkinColor\n }}\n onClick={handleOpenSkillPicker}\n />\n </div>\n </div>\n )}\n </div>\n ) : null}\n <header className={style.skillListHeader}>\n <div className={style.skillListHeaderIcon}>\n <Icon\n iconName=\"dumbbell\"\n backgroundColor=\"#FFF9D1\"\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n <div className={style.skillListHeaderContent}>\n <div className={style.skillListHeaderTitle}>{translate('skills_section_title')}</div>\n <div className={style.skillListHeaderDescription}>\n {translate('skills_section_description')}\n <ToolTip\n fontSize={12}\n iconContainerClassName={style.infoIconTooltip}\n tooltipClassName={style.tooltip}\n TooltipContent={ReviewTooltipContent}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n />\n </div>\n </div>\n </header>\n <div className={style.toolBarContainer}>\n <div className={style.skillFilterContainer}>\n {keys(filters).map((filter, index) => {\n function handleFilterClick() {\n setActiveFilter(filter);\n }\n\n return (\n <div key={index}>\n <FilterButton\n active={activeFilter === filter}\n filter={\n filter === 'all' ? translate('all') : translate('review_mode_available')\n }\n skillTotal={filters[filter].length}\n onClick={handleFilterClick}\n />\n </div>\n );\n })}\n </div>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n </div>\n {searchValue && searchResults.length === 0 ? (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n ) : (\n <div className={style.skillListContainer}>\n {activeFilter === 'review_mode_available' && filters[activeFilter].length === 0 ? (\n <div className={style.skillListEmptyContainer}>\n <ReviewNoSkills\n titleNoSkills={translate('review_skill_empty')}\n textNoSkills={translate('review_skill_empty_description')}\n iconSkillAriaLabel={translate('review_skill_empty')}\n imagePosition=\"top\"\n />\n </div>\n ) : (\n filters[activeFilter].map((skill, index) => {\n const defaultStats = {\n score: 0,\n content: 0,\n contentCompleted: 0,\n questionsToReview: 0\n };\n\n function handleReviewSkill() {\n onReviewSkill(skill);\n }\n function handleExploreSkill() {\n onExploreSkill(skill);\n }\n const {score, content, questionsToReview, contentCompleted} = skillsInformation[\n skill\n ]\n ? skillsInformation[skill].stats\n : defaultStats;\n return (\n <div key={index}>\n <LearnerSkillCard\n skillTitle={skillsLocales[skill]}\n focus={selectedSkills.includes(skill)}\n metrics={{\n score: score.toFixed(1),\n content,\n questionsToReview,\n contentCompleted\n }}\n review={\n skillsInformation[skill]\n ? skillsInformation[skill].availableForReview\n : false\n }\n onReviewClick={handleReviewSkill}\n onExploreClick={handleExploreSkill}\n />\n </div>\n );\n })\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nMyLearning.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nMyLearning.propTypes = {\n skills: PropTypes.arrayOf(PropTypes.string),\n selectedSkills: PropTypes.arrayOf(PropTypes.string),\n skillsInformation: PropTypes.objectOf(\n PropTypes.shape({\n availableForReview: PropTypes.bool,\n stats: PropTypes.shape({\n score: PropTypes.number,\n content: PropTypes.number,\n contentCompleted: PropTypes.number,\n questionsToReview: PropTypes.number,\n learningTime: PropTypes.number\n })\n })\n ),\n skillsLocales: PropTypes.objectOf(PropTypes.string),\n learnerFeature: PropTypes.bool,\n isLoading: PropTypes.bool,\n onSkillFocusConfirm: PropTypes.func,\n onReviewSkill: PropTypes.func,\n onExploreSkill: PropTypes.func,\n learningPriorities: PropTypes.shape(CardsList.propTypes)\n};\n\nexport default MyLearning;\n"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
@value tablet from breakpoints;
|
|
4
4
|
@value mobile from breakpoints;
|
|
5
5
|
@value white from colors;
|
|
6
|
+
@value cm_grey_50 from colors;
|
|
6
7
|
@value cm_grey_100 from colors;
|
|
7
8
|
@value cm_grey_500 from colors;
|
|
8
9
|
|
|
@@ -10,12 +11,11 @@
|
|
|
10
11
|
background-color: white;
|
|
11
12
|
min-height: 100%;
|
|
12
13
|
width: 100%;
|
|
14
|
+
font-family: "Gilroy";
|
|
15
|
+
font-style: normal;
|
|
13
16
|
}
|
|
14
17
|
|
|
15
18
|
.container {
|
|
16
|
-
background-color: white;
|
|
17
|
-
font-family: "Gilroy";
|
|
18
|
-
font-style: normal;
|
|
19
19
|
margin-top: 48px;
|
|
20
20
|
margin-bottom: 48px;
|
|
21
21
|
margin-left: auto;
|
|
@@ -28,10 +28,21 @@
|
|
|
28
28
|
max-width: calc(1080px + 32px);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
.cardsListContainer {
|
|
32
|
+
background-color: cm_grey_50;
|
|
33
|
+
padding: 48px 0;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* to ecrase wrapper's style from CardsList component */
|
|
37
|
+
.cardsListContainer > :first-child {
|
|
38
|
+
padding: 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
31
41
|
.skillFocusContainer {
|
|
32
42
|
border-radius: 16px;
|
|
33
43
|
border: 1px solid cm_grey_100;
|
|
34
44
|
overflow: hidden;
|
|
45
|
+
margin-top: 48px;
|
|
35
46
|
margin-bottom: 40px;
|
|
36
47
|
}
|
|
37
48
|
|
|
@@ -272,4 +283,8 @@
|
|
|
272
283
|
.skillFocusContent {
|
|
273
284
|
flex-direction: column;
|
|
274
285
|
}
|
|
286
|
+
|
|
287
|
+
.cardsListContainer {
|
|
288
|
+
padding: 24px 16px;
|
|
289
|
+
}
|
|
275
290
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
@value cm_grey_100 from colors;
|
|
7
7
|
@value cm_grey_200 from colors;
|
|
8
8
|
@value cm_grey_400 from colors;
|
|
9
|
+
@value cm_grey_500 from colors;
|
|
9
10
|
|
|
10
11
|
.continueLearningWrapper {
|
|
11
12
|
margin-top: 40px;
|
|
@@ -45,12 +46,16 @@
|
|
|
45
46
|
display: flex;
|
|
46
47
|
gap: 32px;
|
|
47
48
|
align-items: center;
|
|
49
|
+
font-size: 14px;
|
|
50
|
+
font-style: normal;
|
|
51
|
+
font-weight: 600;
|
|
48
52
|
}
|
|
49
53
|
|
|
50
54
|
.sortWrapper {
|
|
51
55
|
display: flex;
|
|
52
56
|
align-items: center;
|
|
53
57
|
gap: 12px;
|
|
58
|
+
color: cm_grey_500;
|
|
54
59
|
}
|
|
55
60
|
|
|
56
61
|
.filterWrapper {
|
|
@@ -104,7 +109,7 @@
|
|
|
104
109
|
text-decoration: underline;
|
|
105
110
|
}
|
|
106
111
|
|
|
107
|
-
@media (max-width:
|
|
112
|
+
@media (max-width: 940px) {
|
|
108
113
|
.searchAndSortSection {
|
|
109
114
|
flex-direction: column;
|
|
110
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continue-learning.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/continue-learning.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"continue-learning.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/continue-learning.js"],"names":[],"mappings":";AAQA,gFAyBC"}
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = void 0;
|
|
5
5
|
|
|
6
|
+
var _sortBy2 = _interopRequireDefault(require("lodash/fp/sortBy"));
|
|
7
|
+
|
|
8
|
+
var _getOr2 = _interopRequireDefault(require("lodash/fp/getOr"));
|
|
9
|
+
|
|
6
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
7
11
|
|
|
8
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -15,12 +19,12 @@ var _cardsList = _interopRequireDefault(require("../../molecule/dashboard/cards-
|
|
|
15
19
|
|
|
16
20
|
var _continueLearning = _interopRequireDefault(require("./continue-learning.css"));
|
|
17
21
|
|
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
22
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
23
|
|
|
22
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
25
|
|
|
26
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
+
|
|
24
28
|
const ContinueLearning = (props, context) => {
|
|
25
29
|
const {
|
|
26
30
|
ongoingCourses
|
|
@@ -39,7 +43,7 @@ const ContinueLearning = (props, context) => {
|
|
|
39
43
|
}
|
|
40
44
|
|
|
41
45
|
return /*#__PURE__*/_react.default.createElement(_cardsList.default, {
|
|
42
|
-
cards: ongoingCourses.list,
|
|
46
|
+
cards: (0, _sortBy2.default)(course => -(0, _getOr2.default)(0, ['progress'], course), ongoingCourses.list),
|
|
43
47
|
title: /*#__PURE__*/_react.default.createElement(Title, null),
|
|
44
48
|
customStyle: {
|
|
45
49
|
padding: '16px 0px 8px'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continue-learning.js","names":["ContinueLearning","props","context","ongoingCourses","translate","Title","useCallback","style","continueLearningTitle","continueLearningNumber","list","length","padding","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","shape","CardsGrid"],"sources":["../../../src/template/skill-detail/continue-learning.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport Provider from '../../atom/provider';\nimport CardsGrid from '../../organism/cards-grid';\nimport CardsList from '../../molecule/dashboard/cards-list';\nimport style from './continue-learning.css';\n\nconst ContinueLearning = (props, context) => {\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={ongoingCourses.list}\n title={<Title />}\n customStyle={{padding: '16px 0px 8px'}}\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":"
|
|
1
|
+
{"version":3,"file":"continue-learning.js","names":["ContinueLearning","props","context","ongoingCourses","translate","Title","useCallback","style","continueLearningTitle","continueLearningNumber","list","length","course","padding","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","shape","CardsGrid"],"sources":["../../../src/template/skill-detail/continue-learning.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, sortBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport CardsGrid from '../../organism/cards-grid';\nimport CardsList from '../../molecule/dashboard/cards-list';\nimport style from './continue-learning.css';\n\nconst ContinueLearning = (props, context) => {\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 customStyle={{padding: '16px 0px 8px'}}\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;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,gBAAgB,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EAC3C,MAAM;IAACC;EAAD,IAAmBF,KAAzB;EACA,MAAM;IAACG;EAAD,IAAcF,OAApB;EAEA,MAAMG,KAAK,GAAG,IAAAC,kBAAA,EACZ,mBACE,yEACE;IAAM,SAAS,EAAEC,yBAAA,CAAMC;EAAvB,GAA+CJ,SAAS,CAAC,mBAAD,CAAxD,CADF,eAEE;IAAM,SAAS,EAAEG,yBAAA,CAAME;EAAvB,GAAgDN,cAAc,CAACO,IAAf,CAAoBC,MAApE,CAFF,CAFU,EAOZ,CAACR,cAAD,EAAiBC,SAAjB,CAPY,CAAd;;EAUA,IAAID,cAAc,CAACO,IAAf,CAAoBC,MAApB,KAA+B,CAAnC,EAAsC;IACpC,OAAO,IAAP;EACD;;EAED,oBACE,6BAAC,kBAAD;IACE,KAAK,EAAE,sBAAOC,MAAM,IAAI,CAAC,qBAAM,CAAN,EAAS,CAAC,UAAD,CAAT,EAAuBA,MAAvB,CAAlB,EAAkDT,cAAc,CAACO,IAAjE,CADT;IAEE,KAAK,eAAE,6BAAC,KAAD,OAFT;IAGE,WAAW,EAAE;MAACG,OAAO,EAAE;IAAV;EAHf,EADF;AAOD,CAzBD;;AA2BAb,gBAAgB,CAACc,YAAjB,GAAgC;EAC9BC,IAAI,EAAEC,iBAAA,CAASC,iBAAT,CAA2BF,IADH;EAE9BX,SAAS,EAAEY,iBAAA,CAASC,iBAAT,CAA2Bb;AAFR,CAAhC;AAKAJ,gBAAgB,CAACkB,SAAjB,2CAA6B;EAC3Bf,cAAc,EAAEgB,kBAAA,CAAUC,KAAV,CAAgBC,kBAAA,CAAUH,SAA1B;AADW,CAA7B;eAIelB,gB"}
|
|
@@ -207,7 +207,7 @@ const SkillDetail = (props, context) => {
|
|
|
207
207
|
"data-name": "completed-percentage"
|
|
208
208
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
209
209
|
className: _style.default.progressInformationNumber
|
|
210
|
-
}, score, "%"))))) : null, /*#__PURE__*/_react.default.createElement(_continueLearning.default, {
|
|
210
|
+
}, score.toFixed(1), "%"))))) : null, /*#__PURE__*/_react.default.createElement(_continueLearning.default, {
|
|
211
211
|
ongoingCourses: ongoingCourses
|
|
212
212
|
}), /*#__PURE__*/_react.default.createElement(_allCourses.default, {
|
|
213
213
|
skillIncludedCourses: skillIncludedCourses,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ContinueLearningButton","props","context","hovered","setHovered","useState","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","handleMouseOver","useCallback","handleMouseLeave","width","borderRadius","backgroundColor","convert","position","faIcon","name","color","size","contextTypes","Provider","childContextTypes","propTypes","PropTypes","bool","func","SkillDetail","title","skillRef","description","metrics","focused","availableForReview","ongoingCourses","skillIncludedCourses","totalCourses","filters","sorting","onBackClick","onReviewClick","onContinueLearningClick","score","content","questionsToReview","contentCompleted","showMore","setShowMore","handleShowMore","Description","classnames","style","truncate","ProgressBar","undefined","progressBarColor","inlineProgressValueStyle","progressBarWrapper","progress","backgroundContainer","container","backButtonWrapper","faSize","wrapperSize","ctaContainer","skillFocusBadge","length","showMoreWrapper","ctaWrapper","list","progressInformationsWrapper","progressTitle","skillCoursesAndQuestionsWrapper","skillInformation","skillInformationNumber","progressInformations","progressInformation","progressInformationNumber","string","isRequired","shape","number","CardsGrid","onChange","options","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/skill-detail/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {get} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport style from './style.css';\nimport AllCourses from './all-courses';\nimport ContinueLearning from './continue-learning';\n\nconst ContinueLearningButton = (props, context) => {\n const [hovered, setHovered] = useState(false);\n const {ongoingCoursesAvailable, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n return (\n <div onMouseOver={handleMouseOver} onMouseLeave={handleMouseLeave}>\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: hovered\n ? convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)\n : primarySkinColor\n }}\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 ongoingCourses,\n skillIncludedCourses,\n totalCourses,\n filters,\n sorting,\n onBackClick,\n onReviewClick,\n onContinueLearningClick\n } = props;\n const {score, content, questionsToReview, contentCompleted = 0} = metrics;\n const {translate} = context;\n\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n const Description = useCallback(() => {\n return (\n <div className={classnames(style.description, !showMore && style.truncate)}>\n {description}\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 <div className={style.backButtonWrapper} onClick={onBackClick}>\n <Icon\n iconName=\"arrow-left\"\n size={{\n faSize: 14,\n wrapperSize: 14\n }}\n />\n </div>\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 {description.length >= 226 ? (\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={!!ongoingCourses.list.length}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n {score !== undefined ? (\n <div className={style.progressInformationsWrapper}>\n <div className={style.progressTitle}>{translate('your_progress')}</div>\n <div className={style.skillCoursesAndQuestionsWrapper}>\n {content ? (\n <div className={style.skillInformation} data-name=\"skill-courses\">\n <span className={style.skillInformationNumber}>{content}</span>{' '}\n {translate('courses')}\n </div>\n ) : null}\n {questionsToReview ? (\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{questionsToReview}</span>\n {translate('questions')}\n </div>\n ) : null}\n </div>\n <ProgressBar />\n <div className={style.progressInformations}>\n {content && (\n <>\n <div className={style.progressInformation} data-name=\"skill-completed-courses\">\n <span className={style.progressInformationNumber}>{contentCompleted}</span>\n {` ${translate('courses_completed')}`}\n </div>\n <div className={style.progressInformation} data-name=\"completed-percentage\">\n <span className={style.progressInformationNumber}>{score}%</span>\n </div>\n </>\n )}\n </div>\n </div>\n ) : null}\n <ContinueLearning ongoingCourses={ongoingCourses} />\n <AllCourses\n skillIncludedCourses={skillIncludedCourses}\n totalCourses={totalCourses}\n filters={filters}\n sorting={sorting}\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 content: PropTypes.number,\n questionsToReview: PropTypes.number,\n contentCompleted: PropTypes.number\n }),\n focused: PropTypes.bool,\n availableForReview: PropTypes.bool,\n ongoingCourses: PropTypes.shape(CardsGrid.propTypes),\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n totalCourses: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n onBackClick: PropTypes.func,\n onReviewClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default SkillDetail;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["ContinueLearningButton","props","context","hovered","setHovered","useState","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","handleMouseOver","useCallback","handleMouseLeave","width","borderRadius","backgroundColor","convert","position","faIcon","name","color","size","contextTypes","Provider","childContextTypes","propTypes","PropTypes","bool","func","SkillDetail","title","skillRef","description","metrics","focused","availableForReview","ongoingCourses","skillIncludedCourses","totalCourses","filters","sorting","onBackClick","onReviewClick","onContinueLearningClick","score","content","questionsToReview","contentCompleted","showMore","setShowMore","handleShowMore","Description","classnames","style","truncate","ProgressBar","undefined","progressBarColor","inlineProgressValueStyle","progressBarWrapper","progress","backgroundContainer","container","backButtonWrapper","faSize","wrapperSize","ctaContainer","skillFocusBadge","length","showMoreWrapper","ctaWrapper","list","progressInformationsWrapper","progressTitle","skillCoursesAndQuestionsWrapper","skillInformation","skillInformationNumber","progressInformations","progressInformation","progressInformationNumber","toFixed","string","isRequired","shape","number","CardsGrid","onChange","options","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/skill-detail/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {get} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport style from './style.css';\nimport AllCourses from './all-courses';\nimport ContinueLearning from './continue-learning';\n\nconst ContinueLearningButton = (props, context) => {\n const [hovered, setHovered] = useState(false);\n const {ongoingCoursesAvailable, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n return (\n <div onMouseOver={handleMouseOver} onMouseLeave={handleMouseLeave}>\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: hovered\n ? convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)\n : primarySkinColor\n }}\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 ongoingCourses,\n skillIncludedCourses,\n totalCourses,\n filters,\n sorting,\n onBackClick,\n onReviewClick,\n onContinueLearningClick\n } = props;\n const {score, content, questionsToReview, contentCompleted = 0} = metrics;\n const {translate} = context;\n\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n const Description = useCallback(() => {\n return (\n <div className={classnames(style.description, !showMore && style.truncate)}>\n {description}\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 <div className={style.backButtonWrapper} onClick={onBackClick}>\n <Icon\n iconName=\"arrow-left\"\n size={{\n faSize: 14,\n wrapperSize: 14\n }}\n />\n </div>\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 {description.length >= 226 ? (\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={!!ongoingCourses.list.length}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n {score !== undefined ? (\n <div className={style.progressInformationsWrapper}>\n <div className={style.progressTitle}>{translate('your_progress')}</div>\n <div className={style.skillCoursesAndQuestionsWrapper}>\n {content ? (\n <div className={style.skillInformation} data-name=\"skill-courses\">\n <span className={style.skillInformationNumber}>{content}</span>{' '}\n {translate('courses')}\n </div>\n ) : null}\n {questionsToReview ? (\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{questionsToReview}</span>\n {translate('questions')}\n </div>\n ) : null}\n </div>\n <ProgressBar />\n <div className={style.progressInformations}>\n {content && (\n <>\n <div className={style.progressInformation} data-name=\"skill-completed-courses\">\n <span className={style.progressInformationNumber}>{contentCompleted}</span>\n {` ${translate('courses_completed')}`}\n </div>\n <div className={style.progressInformation} data-name=\"completed-percentage\">\n <span className={style.progressInformationNumber}>{score.toFixed(1)}%</span>\n </div>\n </>\n )}\n </div>\n </div>\n ) : null}\n <ContinueLearning ongoingCourses={ongoingCourses} />\n <AllCourses\n skillIncludedCourses={skillIncludedCourses}\n totalCourses={totalCourses}\n filters={filters}\n sorting={sorting}\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 content: PropTypes.number,\n questionsToReview: PropTypes.number,\n contentCompleted: PropTypes.number\n }),\n focused: PropTypes.bool,\n availableForReview: PropTypes.bool,\n ongoingCourses: PropTypes.shape(CardsGrid.propTypes),\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n totalCourses: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n onBackClick: PropTypes.func,\n onReviewClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default SkillDetail;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,sBAAsB,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACjD,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwB,IAAAC,eAAA,EAAS,KAAT,CAA9B;EACA,MAAM;IAACC,uBAAD;IAA0BC;EAA1B,IAAqCN,KAA3C;EACA,MAAM;IAACO,IAAD;IAAOC;EAAP,IAAoBP,OAA1B;EACA,MAAMQ,gBAAgB,GAAG,mBAAI,gBAAJ,EAAsBF,IAAtB,CAAzB;EAEA,MAAMG,eAAe,GAAG,IAAAC,kBAAA,EAAY,MAAMR,UAAU,CAAC,IAAD,CAA5B,EAAoC,CAACA,UAAD,CAApC,CAAxB;EAEA,MAAMS,gBAAgB,GAAG,IAAAD,kBAAA,EAAY,MAAMR,UAAU,CAAC,KAAD,CAA5B,EAAqC,CAACA,UAAD,CAArC,CAAzB;EAEA,oBACE;IAAK,WAAW,EAAEO,eAAlB;IAAmC,YAAY,EAAEE;EAAjD,gBACE,6BAAC,mBAAD;IACE,KAAK,EACHP,uBAAuB,GAAGG,SAAS,CAAC,mBAAD,CAAZ,GAAoCA,SAAS,CAAC,gBAAD,CAFxE;IAIE,IAAI,EAAC,SAJP;IAKE,WAAW,EAAE;MACXK,KAAK,EAAE,aADI;MAEXC,YAAY,EAAE,MAFH;MAGXC,eAAe,EAAEb,OAAO,GACpB,IAAAc,yBAAA,EAAS,YAAWP,gBAAiB,0BAArC,CADoB,GAEpBA;IALO,CALf;IAYE,IAAI,EAAE;MACJQ,QAAQ,EAAE,MADN;MAEJC,MAAM,EAAE;QACNC,IAAI,EAAE,MADA;QAENC,KAAK,EAAE,SAFD;QAGNC,IAAI,EAAE;MAHA;IAFJ,CAZR;IAoBE,OAAO,EAAEf;EApBX,EADF,CADF;AA0BD,CApCD;;AAsCAP,sBAAsB,CAACuB,YAAvB,GAAsC;EACpCf,IAAI,EAAEgB,iBAAA,CAASC,iBAAT,CAA2BjB,IADG;EAEpCC,SAAS,EAAEe,iBAAA,CAASC,iBAAT,CAA2BhB;AAFF,CAAtC;AAKAT,sBAAsB,CAAC0B,SAAvB,2CAAmC;EACjCpB,uBAAuB,EAAEqB,kBAAA,CAAUC,IADF;EAEjCrB,OAAO,EAAEoB,kBAAA,CAAUE;AAFc,CAAnC;;AAKA,MAAMC,WAAW,GAAG,CAAC7B,KAAD,EAAQC,OAAR,KAAoB;EACtC,MAAM;IACJ6B,KADI;IAEJC,QAFI;IAGJC,WAHI;IAIJC,OAAO,GAAG,EAJN;IAKJC,OALI;IAMJC,kBANI;IAOJC,cAPI;IAQJC,oBARI;IASJC,YATI;IAUJC,OAVI;IAWJC,OAXI;IAYJC,WAZI;IAaJC,aAbI;IAcJC;EAdI,IAeF3C,KAfJ;EAgBA,MAAM;IAAC4C,KAAD;IAAQC,OAAR;IAAiBC,iBAAjB;IAAoCC,gBAAgB,GAAG;EAAvD,IAA4Dd,OAAlE;EACA,MAAM;IAACzB;EAAD,IAAcP,OAApB;EAEA,MAAM,CAAC+C,QAAD,EAAWC,WAAX,IAA0B,IAAA7C,eAAA,EAAS,KAAT,CAAhC;EAEA,MAAM8C,cAAc,GAAG,IAAAvC,kBAAA,EAAY,MAAMsC,WAAW,CAAC,CAACD,QAAF,CAA7B,EAA0C,CAACC,WAAD,EAAcD,QAAd,CAA1C,CAAvB;EAEA,MAAMG,WAAW,GAAG,IAAAxC,kBAAA,EAAY,MAAM;IACpC,oBACE;MAAK,SAAS,EAAE,IAAAyC,mBAAA,EAAWC,cAAA,CAAMrB,WAAjB,EAA8B,CAACgB,QAAD,IAAaK,cAAA,CAAMC,QAAjD;IAAhB,GACGtB,WADH,CADF;EAKD,CANmB,EAMjB,CAACgB,QAAD,EAAWhB,WAAX,CANiB,CAApB;EAQA,MAAMuB,WAAW,GAAG,IAAA5C,kBAAA,EAAY,MAAM;IACpC,IAAIiC,KAAK,KAAKY,SAAd,EAAyB,OAAO,IAAP;IACzB,MAAMC,gBAAgB,GAAG,SAAzB;IACA,MAAMC,wBAAwB,GAAG;MAC/B3C,eAAe,EAAE0C,gBADc;MAE/B5C,KAAK,EAAG,GAAE+B,KAAM;IAFe,CAAjC;IAKA,oBACE;MAAK,SAAS,EAAES,cAAA,CAAMM;IAAtB,gBACE;MACE,aAAU,UADZ;MAEE,SAAS,EAAEN,cAAA,CAAMO,QAFnB;MAGE,KAAK,EAAEF,wBAHT;MAIE,IAAI,EAAC;IAJP,EADF,CADF;EAUD,CAlBmB,EAkBjB,CAACd,KAAD,CAlBiB,CAApB;EAoBA,oBACE;IAAK,SAAS,EAAES,cAAA,CAAMQ;EAAtB,gBACE;IAAK,SAAS,EAAER,cAAA,CAAMS,SAAtB;IAAiC,aAAW/B;EAA5C,gBACE;IAAK,SAAS,EAAEsB,cAAA,CAAMU,iBAAtB;IAAyC,OAAO,EAAEtB;EAAlD,gBACE,6BAAC,aAAD;IACE,QAAQ,EAAC,YADX;IAEE,IAAI,EAAE;MACJuB,MAAM,EAAE,EADJ;MAEJC,WAAW,EAAE;IAFT;EAFR,EADF,CADF,eAUE;IAAK,SAAS,EAAEZ,cAAA,CAAMa;EAAtB,gBACE,0CACGhC,OAAO,gBACN;IAAK,SAAS,EAAEmB,cAAA,CAAMc;EAAtB,gBACE,6BAAC,aAAD;IACE,QAAQ,EAAC,gBADX;IAEE,eAAe,EAAC,SAFlB;IAGE,IAAI,EAAE;MACJH,MAAM,EAAE,EADJ;MAEJC,WAAW,EAAE;IAFT;EAHR,EADF,EASGzD,SAAS,CAAC,aAAD,CATZ,CADM,GAYJ,IAbN,eAcE;IAAK,SAAS,EAAE6C,cAAA,CAAMvB;EAAtB,GAA8BA,KAA9B,CAdF,EAeGE,WAAW,gBACV,yEACE,6BAAC,WAAD,OADF,EAEGA,WAAW,CAACoC,MAAZ,IAAsB,GAAtB,gBACC;IAAK,SAAS,EAAEf,cAAA,CAAMgB,eAAtB;IAAuC,OAAO,EAAEnB;EAAhD,GACGF,QAAQ,GAAGxC,SAAS,CAAC,WAAD,CAAZ,GAA4BA,SAAS,CAAC,WAAD,CADhD,eAEE,6BAAC,aAAD;IACE,QAAQ,EAAEwC,QAAQ,GAAG,YAAH,GAAkB,cADtC;IAEE,IAAI,EAAE;MACJgB,MAAM,EAAE,EADJ;MAEJC,WAAW,EAAE;IAFT;EAFR,EAFF,CADD,GAWG,IAbN,CADU,GAgBR,IA/BN,CADF,eAmCE;IAAK,SAAS,EAAEZ,cAAA,CAAMiB;EAAtB,gBACE,6BAAC,mBAAD;IACE,IAAI,EAAC,WADP;IAEE,OAAO,EAAE5B,aAFX;IAGE,KAAK,EAAElC,SAAS,CAAC,mBAAD,CAHlB;IAIE,QAAQ,EAAE,CAAC2B,kBAJb;IAKE,WAAW,EAAE;MACXtB,KAAK,EAAE,aADI;MAEXC,YAAY,EAAE;IAFH;EALf,EADF,eAWE,6BAAC,sBAAD;IACE,uBAAuB,EAAE,CAAC,CAACsB,cAAc,CAACmC,IAAf,CAAoBH,MADjD;IAEE,OAAO,EAAEzB;EAFX,EAXF,CAnCF,CAVF,EA8DGC,KAAK,KAAKY,SAAV,gBACC;IAAK,SAAS,EAAEH,cAAA,CAAMmB;EAAtB,gBACE;IAAK,SAAS,EAAEnB,cAAA,CAAMoB;EAAtB,GAAsCjE,SAAS,CAAC,eAAD,CAA/C,CADF,eAEE;IAAK,SAAS,EAAE6C,cAAA,CAAMqB;EAAtB,GACG7B,OAAO,gBACN;IAAK,SAAS,EAAEQ,cAAA,CAAMsB,gBAAtB;IAAwC,aAAU;EAAlD,gBACE;IAAM,SAAS,EAAEtB,cAAA,CAAMuB;EAAvB,GAAgD/B,OAAhD,CADF,EACkE,GADlE,EAEGrC,SAAS,CAAC,SAAD,CAFZ,CADM,GAKJ,IANN,EAOGsC,iBAAiB,gBAChB;IAAK,SAAS,EAAEO,cAAA,CAAMsB,gBAAtB;IAAwC,aAAU;EAAlD,gBACE;IAAM,SAAS,EAAEtB,cAAA,CAAMuB;EAAvB,GAAgD9B,iBAAhD,CADF,UAEStC,SAAS,CAAC,WAAD,CAFlB,CADgB,GAKd,IAZN,CAFF,eAgBE,6BAAC,WAAD,OAhBF,eAiBE;IAAK,SAAS,EAAE6C,cAAA,CAAMwB;EAAtB,GACGhC,OAAO,iBACN,yEACE;IAAK,SAAS,EAAEQ,cAAA,CAAMyB,mBAAtB;IAA2C,aAAU;EAArD,gBACE;IAAM,SAAS,EAAEzB,cAAA,CAAM0B;EAAvB,GAAmDhC,gBAAnD,CADF,EAEI,IAAGvC,SAAS,CAAC,mBAAD,CAAsB,EAFtC,CADF,eAKE;IAAK,SAAS,EAAE6C,cAAA,CAAMyB,mBAAtB;IAA2C,aAAU;EAArD,gBACE;IAAM,SAAS,EAAEzB,cAAA,CAAM0B;EAAvB,GAAmDnC,KAAK,CAACoC,OAAN,CAAc,CAAd,CAAnD,MADF,CALF,CAFJ,CAjBF,CADD,GAgCG,IA9FN,eA+FE,6BAAC,yBAAD;IAAkB,cAAc,EAAE5C;EAAlC,EA/FF,eAgGE,6BAAC,mBAAD;IACE,oBAAoB,EAAEC,oBADxB;IAEE,YAAY,EAAEC,YAFhB;IAGE,OAAO,EAAEC,OAHX;IAIE,OAAO,EAAEC;EAJX,EAhGF,CADF,CADF;AA2GD,CA/JD;;AAiKAX,WAAW,CAACP,YAAZ,GAA2B;EACzBf,IAAI,EAAEgB,iBAAA,CAASC,iBAAT,CAA2BjB,IADR;EAEzBC,SAAS,EAAEe,iBAAA,CAASC,iBAAT,CAA2BhB;AAFb,CAA3B;AAKAqB,WAAW,CAACJ,SAAZ,2CAAwB;EACtBK,KAAK,EAAEJ,kBAAA,CAAUuD,MAAV,CAAiBC,UADF;EAEtBnD,QAAQ,EAAEL,kBAAA,CAAUuD,MAAV,CAAiBC,UAFL;EAGtBlD,WAAW,EAAEN,kBAAA,CAAUuD,MAHD;EAItBhD,OAAO,EAAEP,kBAAA,CAAUyD,KAAV,CAAgB;IACvBvC,KAAK,EAAElB,kBAAA,CAAU0D,MADM;IAEvBvC,OAAO,EAAEnB,kBAAA,CAAU0D,MAFI;IAGvBtC,iBAAiB,EAAEpB,kBAAA,CAAU0D,MAHN;IAIvBrC,gBAAgB,EAAErB,kBAAA,CAAU0D;EAJL,CAAhB,CAJa;EAUtBlD,OAAO,EAAER,kBAAA,CAAUC,IAVG;EAWtBQ,kBAAkB,EAAET,kBAAA,CAAUC,IAXR;EAYtBS,cAAc,EAAEV,kBAAA,CAAUyD,KAAV,CAAgBE,kBAAA,CAAU5D,SAA1B,CAZM;EAatBY,oBAAoB,EAAEX,kBAAA,CAAUyD,KAAV,CAAgBE,kBAAA,CAAU5D,SAA1B,CAbA;EActBa,YAAY,EAAEZ,kBAAA,CAAU0D,MAdF;EAetB7C,OAAO,EAAEb,kBAAA,CAAUyD,KAAV,CAAgB;IACvBG,QAAQ,EAAE5D,kBAAA,CAAUE,IADG;IAEvB2D,OAAO,EAAE7D,kBAAA,CAAU8D,OAAV,CAAkB9D,kBAAA,CAAUyD,KAAV,CAAgBM,6BAAhB,CAAlB;EAFc,CAAhB,CAfa;EAmBtBjD,OAAO,EAAEd,kBAAA,CAAUyD,KAAV,CAAgBO,eAAA,CAAOjE,SAAvB,CAnBa;EAoBtBgB,WAAW,EAAEf,kBAAA,CAAUE,IApBD;EAqBtBc,aAAa,EAAEhB,kBAAA,CAAUE,IArBH;EAsBtBe,uBAAuB,EAAEjB,kBAAA,CAAUE;AAtBb,CAAxB;eAyBeC,W"}
|
package/locales/bs/global.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"Close": "Zatvori",
|
|
17
17
|
"clue_stars_to_loose_plural": "Otključavanje traga smanjuje broj zvijezda koje možete dobiti za ovo pitanje za {{count}} (ako tačno odgovorite)",
|
|
18
18
|
"clue_stars_to_loose": "Otključavanjem traga smanjuje se broj zvijezda koje možete dobiti za ovo pitanje za {{count}} (ako tačno odgovorite)",
|
|
19
|
+
"completed": "Completed",
|
|
19
20
|
"confirm_unsubscribe": "Jest li sigurni da želite da se odjavite?",
|
|
20
21
|
"cookies_details": "Ova web stranica koristi kolačiće kako bismo vam osigurali najbolje moguće iskustvo učenja. Više o kolačićima koje koristimo i o tome kako koristimo vaše podatke možete pročitati u ",
|
|
21
22
|
"cookies_policy": "Politika privatnosti i kolačića.",
|
package/locales/cs/global.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"Close": "Zavřít",
|
|
17
17
|
"clue_stars_to_loose_plural": "Odemknutí nápovědy sníží počet hvězd, které můžete získat na této otázce, o {{count}} (pokud ji zodpovíte správně)",
|
|
18
18
|
"clue_stars_to_loose": "Odemknutí nápovědy sníží počet hvězd, které můžete získat na této otázce, o {{count}} (pokud ji zodpovíte správně)",
|
|
19
|
+
"completed": "Completed",
|
|
19
20
|
"confirm_unsubscribe": "Opravdu chcete zrušit předplatné?",
|
|
20
21
|
"cookies_details": "Tyto webové stránky využívají soubory cookie, abychom vám mohli nabídnout to nejlepší učení. Máte-li zájem o další informace k využívaným souborům cookie a ke způsobu, jakým vaše údaje využíváme, přečtěte si",
|
|
21
22
|
"cookies_policy": "Zásady ochrany soukromí a pro soubory cookie.",
|
package/locales/de/global.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"Close": "Schliessen",
|
|
17
17
|
"clue_stars_to_loose_plural": "Wenn Sie den Hinweis benutzen, reduziert sich die Anzahl Sterne, die Sie bei dieser Frage gewinnen können um {{count}} (wenn Sie richtig antworten)",
|
|
18
18
|
"clue_stars_to_loose": "Wenn Sie den Hinweis benutzen, reduziert sich die Anzahl Sterne, die Sie bei dieser Frage gewinnen können um {{count}} (wenn Sie richtig antworten)",
|
|
19
|
+
"completed": "Completed",
|
|
19
20
|
"confirm_unsubscribe": "Möchten Sie sich wirklich abmelden?",
|
|
20
21
|
"cookies_details": "Diese Webseite verwendet Cookies, um Ihnen die bestmögliche Lernerfahrung zu bieten. Um mehr über die von uns verwendeten Cookies und wie wir Ihre Daten nutzen, zu erfahren, lesen Sie bitte unsere",
|
|
21
22
|
"cookies_policy": "Richtlinie zu Datenschutz und Cookies",
|
package/locales/en/global.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"Close": "Close",
|
|
17
17
|
"clue_stars_to_loose_plural": "Unlocking the clue reduces the stars you can gain on this question by {{count}} (if you get it right)",
|
|
18
18
|
"clue_stars_to_loose": "Unlocking the clue reduces the stars you can gain on this question by {{count}} (if you get it right)",
|
|
19
|
+
"completed": "Completed",
|
|
19
20
|
"confirm_unsubscribe": "Are you sure you want to unsubscribe?",
|
|
20
21
|
"cookies_details": "This website uses cookies so that we can provide you with the best possible learner experience. To read more about the cookies we use and about how we use your data, please read our",
|
|
21
22
|
"cookies_policy": "Privacy and Cookies Policy.",
|
package/locales/es/global.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"Close": "Cerrar",
|
|
17
17
|
"clue_stars_to_loose_plural": "Desbloquear la pista reduce en {{count}} las estrellas que puedes ganar por esta pregunta (si la aciertas)",
|
|
18
18
|
"clue_stars_to_loose": "Desbloquear la pista reduce en {{count}} las estrellas que puedes ganar por esta pregunta (si la aciertas)",
|
|
19
|
+
"completed": "Completed",
|
|
19
20
|
"confirm_unsubscribe": "¿Estás seguro de que quieres cancelar la suscripción?",
|
|
20
21
|
"cookies_details": "Esta página web usa cookies para que podamos ofrecerte la mejor experiencia de aprendizaje posible. Para leer más sobre las cookies que utilizamos y sobre cómo utilizamos sus datos, por favor lee nuestra",
|
|
21
22
|
"cookies_policy": "Política de privacidad y cookies",
|
package/locales/et/global.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"Close": "Sulge",
|
|
17
17
|
"clue_stars_to_loose_plural": "Vihje kasutamine vähendab saadavat punktisummat {{count}} võrra (juhul, kui vastad õigesti)",
|
|
18
18
|
"clue_stars_to_loose": "Vihje kasutamine vähendab saadavat punktisummat {{count}} võrra (juhul, kui vastad õigesti)",
|
|
19
|
+
"completed": "Completed",
|
|
19
20
|
"confirm_unsubscribe": "Oled kindel, et tahad tellimust tühistada?",
|
|
20
21
|
"cookies_details": "Veebileht kasutab küpsiseid, et saaksime pakkuda teile parimat õppimiskogemust. Et lähemalt tutvuda kasutatavate küpsistega ning kuidas me teie andmaid töötleme, palun lugege",
|
|
21
22
|
"cookies_policy": "Privaatsus- ja küpsistepoliitika.",
|
package/locales/fi/global.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"Close": "Sulje",
|
|
17
17
|
"clue_stars_to_loose_plural": "Jos avaat tämän vihjeen, voitat tästä kysymyksestä {{count}} tähteä vähemmän (jos saat sen oikein)",
|
|
18
18
|
"clue_stars_to_loose": "Jos avaat tämän vihjeen, voitat tästä kysymyksestä {{count}} tähteä vähemmän (jos saat sen oikein)",
|
|
19
|
+
"completed": "Completed",
|
|
19
20
|
"confirm_unsubscribe": "Haluatko varmasti peruuttaa tilauksen?",
|
|
20
21
|
"cookies_details": "Tämä verkkosivusto käyttää evästeitä, jotta voisimme tarjota sinulle parhaan mahdollisen oppimiskokemuksen. Jos haluat tietää enemmän käyttämistämme evästeistä ja siitä, miten käytämme tietojasi, lue",
|
|
21
22
|
"cookies_policy": "Tietosuoja- ja evästekäytäntö.",
|
package/locales/fr/global.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"Close": "Fermer",
|
|
17
17
|
"clue_stars_to_loose_plural": "En regardant l'indice, cette question vous rapportera {{count}} étoiles en moins (si vous y répondez correctement)",
|
|
18
18
|
"clue_stars_to_loose": "En regardant l'indice, cette question vous rapportera {{count}} étoile en moins (si vous y répondez correctement)",
|
|
19
|
+
"completed": "Completed",
|
|
19
20
|
"confirm_unsubscribe": "Êtes-vous sûr de que vouloir vous désinscrire ?",
|
|
20
21
|
"cookies_details": "Ce site utilise des cookies pour vous fournir la meilleure expérience d'apprentissage possible. Pour en savoir plus sur les cookies que nous utilisons et comment nous utilisons vos données, veuillez lire notre",
|
|
21
22
|
"cookies_policy": "Politique de Confidentialité et de Cookies.",
|
package/locales/hr/global.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"Close": "Zatvorite",
|
|
17
17
|
"clue_stars_to_loose_plural": "Otključavanje pomoći smanjuje broj zvjezdica koje možete dobiti za ovo pitanje na {{count}} (ako točno odgovorite)",
|
|
18
18
|
"clue_stars_to_loose": "Otključavanje traga smanjuje zvjezdice koje možete dobiti na ovo pitanje do {{count}} (ako dobro shvatite)",
|
|
19
|
+
"completed": "Completed",
|
|
19
20
|
"confirm_unsubscribe": "Jeste li sigurni da želite otkazati pretplatu?",
|
|
20
21
|
"cookies_details": "Ova mrežna stranica koristi kolačiće kako bismo vam mogli pružiti najbolje iskustvo učenja. Ako želite saznati više o kolačićima koje koristimo i o tome kako koristimo vaše podatke, pročitajte našu",
|
|
21
22
|
"cookies_policy": "Politika privatnosti i kolačića.",
|
package/locales/hu/global.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"Close": "Bezár",
|
|
17
17
|
"clue_stars_to_loose_plural": "A tipp feloldása {{count}} csillaggal csökkentheti a nyereményét ennél a kérdésnél (ha jól válaszol)",
|
|
18
18
|
"clue_stars_to_loose": "A tipp feloldása {{count}} csillaggal csökkentheti a nyereményét ennél a kérdésnél (ha jól válaszol)",
|
|
19
|
+
"completed": "Completed",
|
|
19
20
|
"confirm_unsubscribe": "Biztosan szeretne leiratkozni?",
|
|
20
21
|
"cookies_details": "Ez a weboldal sütiket használ, hogy a lehető legjobb tanulási élményt nyújtsuk Önnek. Ha többet szeretne tudni az általunk használt sütikről és arról, hogy hogyan használjuk fel az Ön adatait, kérjük, olvassa el a következő dokumentumunkat:",
|
|
21
22
|
"cookies_policy": "Adatvédelmi nyilatkozat és a sütik használata.",
|
package/locales/hy/global.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"Close": "Փակել",
|
|
17
17
|
"clue_stars_to_loose_plural": "Հուշման բացումը նվազեցնում է աստղերը, որոնք դուք կարող եք ձեռք բերել այս հարցում {{count}}-ով (եթե ճիշտ եք պատասխանում)",
|
|
18
18
|
"clue_stars_to_loose": "Հուշման բացումը նվազեցնում է աստղերը, որոնք դուք կարող եք ձեռք բերել այս հարցում {{count}}-ով (եթե ճիշտ եք պատասխանում)",
|
|
19
|
+
"completed": "Completed",
|
|
19
20
|
"confirm_unsubscribe": "Իսկապե՞ս ուզում եք չեղարկել բաժանորդագրությունը:",
|
|
20
21
|
"cookies_details": "Այս վեբկայքը օգտագործում է cookies, որպեսզի մենք կարողանանք ձեզ ապահովել ուսուցման լավագույն փորձով: Մեր կողմից օգտագործվող cookies-ի և ձեր տվյալների օգտագործման մասին ավելին կարդալու համար խնդրում ենք կարդալ մեր",
|
|
21
22
|
"cookies_policy": "Գաղտնիության և cookies քաղաքականություն:",
|
package/locales/it/global.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"Close": "Chiudi",
|
|
17
17
|
"clue_stars_to_loose_plural": "Sbloccare l'indizio riduce di {{count}} le stelle che puoi guadagnare per questa domanda (se rispondi correttamente)",
|
|
18
18
|
"clue_stars_to_loose": "Sbloccare l'indizio riduce di {{count}} le stelle che puoi guadagnare per questa domanda (se rispondi correttamente)",
|
|
19
|
+
"completed": "Completed",
|
|
19
20
|
"confirm_unsubscribe": "Sei sicuro di voler annullare l'abbonamento?",
|
|
20
21
|
"cookies_details": "Questo sito web utilizza i cookie per consentirci di offrirti la migliore esperienza di apprendimento possibile. Per maggiori informazioni sui cookie che utilizziamo e su come utilizziamo i tuoi dati, ti invitiamo a leggere la nostra",
|
|
21
22
|
"cookies_policy": "Informativa sulla privacy e sui cookie.",
|
package/locales/ja/global.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"Close": "閉じる",
|
|
17
17
|
"clue_stars_to_loose_plural": "ヒントを参照すると通常より獲得ができるスターの数が{{count}}つ減ります。",
|
|
18
18
|
"clue_stars_to_loose": "ヒントを参照すると通常より獲得ができるスターの数が{{count}}つ減ります。",
|
|
19
|
+
"completed": "Completed",
|
|
19
20
|
"confirm_unsubscribe": "購読を中止するよろしいですか。",
|
|
20
21
|
"cookies_details": "このウェブサイトはクッキーを使用しており、最高の学習体験を提供することができます。 私たちが使用しているクッキーとあなたのデータの使い方について詳しくは、",
|
|
21
22
|
"cookies_policy": "プライバシーとクッキーポリシーをご確認ください。",
|