@coorpacademy/components 11.32.6 → 11.32.8

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.
Files changed (99) hide show
  1. package/es/molecule/discipline-associated-skills/index.d.ts.map +1 -1
  2. package/es/molecule/discipline-associated-skills/index.js +11 -2
  3. package/es/molecule/discipline-associated-skills/index.js.map +1 -1
  4. package/es/molecule/discipline-associated-skills/style.css +35 -3
  5. package/es/molecule/learner-skill-card/index.d.ts +3 -3
  6. package/es/molecule/learner-skill-card/index.js +15 -15
  7. package/es/molecule/learner-skill-card/index.js.map +1 -1
  8. package/es/stories/Configure.mdx +364 -0
  9. package/es/stories/assets/accessibility.png +0 -0
  10. package/es/stories/assets/accessibility.svg +5 -0
  11. package/es/stories/assets/addon-library.png +0 -0
  12. package/es/stories/assets/assets.png +0 -0
  13. package/es/stories/assets/avif-test-image.avif +0 -0
  14. package/es/stories/assets/context.png +0 -0
  15. package/es/stories/assets/discord.svg +15 -0
  16. package/es/stories/assets/docs.png +0 -0
  17. package/es/stories/assets/figma-plugin.png +0 -0
  18. package/es/stories/assets/github.svg +3 -0
  19. package/es/stories/assets/share.png +0 -0
  20. package/es/stories/assets/styling.png +0 -0
  21. package/es/stories/assets/testing.png +0 -0
  22. package/es/stories/assets/theming.png +0 -0
  23. package/es/stories/assets/tutorials.svg +12 -0
  24. package/es/stories/assets/youtube.svg +4 -0
  25. package/es/stories/button.css +30 -0
  26. package/es/stories/header.css +32 -0
  27. package/es/stories/page.css +69 -0
  28. package/es/template/my-learning/index.d.ts +4 -4
  29. package/es/template/my-learning/index.d.ts.map +1 -1
  30. package/es/template/my-learning/index.js +23 -22
  31. package/es/template/my-learning/index.js.map +1 -1
  32. package/es/util/time-format.d.ts +2 -0
  33. package/es/util/time-format.d.ts.map +1 -0
  34. package/es/util/time-format.js +18 -0
  35. package/es/util/time-format.js.map +1 -0
  36. package/lib/molecule/discipline-associated-skills/index.d.ts.map +1 -1
  37. package/lib/molecule/discipline-associated-skills/index.js +11 -2
  38. package/lib/molecule/discipline-associated-skills/index.js.map +1 -1
  39. package/lib/molecule/discipline-associated-skills/style.css +35 -3
  40. package/lib/molecule/learner-skill-card/index.d.ts +3 -3
  41. package/lib/molecule/learner-skill-card/index.js +15 -15
  42. package/lib/molecule/learner-skill-card/index.js.map +1 -1
  43. package/lib/stories/Configure.mdx +364 -0
  44. package/lib/stories/assets/accessibility.png +0 -0
  45. package/lib/stories/assets/accessibility.svg +5 -0
  46. package/lib/stories/assets/addon-library.png +0 -0
  47. package/lib/stories/assets/assets.png +0 -0
  48. package/lib/stories/assets/avif-test-image.avif +0 -0
  49. package/lib/stories/assets/context.png +0 -0
  50. package/lib/stories/assets/discord.svg +15 -0
  51. package/lib/stories/assets/docs.png +0 -0
  52. package/lib/stories/assets/figma-plugin.png +0 -0
  53. package/lib/stories/assets/github.svg +3 -0
  54. package/lib/stories/assets/share.png +0 -0
  55. package/lib/stories/assets/styling.png +0 -0
  56. package/lib/stories/assets/testing.png +0 -0
  57. package/lib/stories/assets/theming.png +0 -0
  58. package/lib/stories/assets/tutorials.svg +12 -0
  59. package/lib/stories/assets/youtube.svg +4 -0
  60. package/lib/stories/button.css +30 -0
  61. package/lib/stories/header.css +32 -0
  62. package/lib/stories/page.css +69 -0
  63. package/lib/template/my-learning/index.d.ts +4 -4
  64. package/lib/template/my-learning/index.d.ts.map +1 -1
  65. package/lib/template/my-learning/index.js +24 -22
  66. package/lib/template/my-learning/index.js.map +1 -1
  67. package/lib/util/time-format.d.ts +2 -0
  68. package/lib/util/time-format.d.ts.map +1 -0
  69. package/lib/util/time-format.js +21 -0
  70. package/lib/util/time-format.js.map +1 -0
  71. package/locales/bs/global.json +6 -6
  72. package/locales/cs/global.json +6 -6
  73. package/locales/de/global.json +6 -6
  74. package/locales/en/global.json +3 -3
  75. package/locales/es/global.json +6 -6
  76. package/locales/et/global.json +6 -6
  77. package/locales/fi/global.json +6 -6
  78. package/locales/fr/global.json +6 -6
  79. package/locales/hr/global.json +6 -6
  80. package/locales/hu/global.json +6 -6
  81. package/locales/hy/global.json +6 -6
  82. package/locales/it/global.json +6 -6
  83. package/locales/ja/global.json +5 -5
  84. package/locales/ko/global.json +6 -6
  85. package/locales/nl/global.json +6 -6
  86. package/locales/pl/global.json +6 -6
  87. package/locales/pt/global.json +6 -6
  88. package/locales/ro/global.json +6 -6
  89. package/locales/ru/global.json +6 -6
  90. package/locales/sk/global.json +6 -6
  91. package/locales/sl/global.json +6 -6
  92. package/locales/sv/global.json +6 -6
  93. package/locales/tl/global.json +6 -6
  94. package/locales/tr/global.json +6 -6
  95. package/locales/uk/global.json +6 -6
  96. package/locales/vi/global.json +6 -6
  97. package/locales/zh/global.json +5 -5
  98. package/locales/zh_TW/global.json +6 -6
  99. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/my-learning/index.js"],"names":[],"mappings":";AAwHA,mEA2WC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/my-learning/index.js"],"names":[],"mappings":";AAyHA,mEAuWC"}
@@ -45,6 +45,8 @@ var _learnerSkillCard = _interopRequireDefault(require("../../molecule/learner-s
45
45
 
46
46
  var _searchValueIncluded = _interopRequireDefault(require("../../util/search-value-included"));
47
47
 
48
+ var _timeFormat = require("../../util/time-format");
49
+
48
50
  var _style = _interopRequireDefault(require("./style.css"));
49
51
 
50
52
  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); }
@@ -180,14 +182,14 @@ const MyLearning = (props, context) => {
180
182
  };
181
183
  }, [searchResults, skillsReviewReady]);
182
184
  const sumKpi = (0, _react.useCallback)(kpi => skillFocusSelectedOnChart ? skillsInformation[skillFocusSelectedOnChart].stats[kpi] : (0, _sumBy2.default)(skill => skillsInformation[skill].stats[kpi], selectedSkillsList), [skillFocusSelectedOnChart, skillsInformation, selectedSkillsList]);
183
- const coursedCompletedData = (0, _react.useMemo)(() => sumKpi('coursesCompleted'), [sumKpi]);
184
- const questionsAnsweredData = (0, _react.useMemo)(() => sumKpi('questionsAnswered'), [sumKpi]);
185
- const learningHoursData = (0, _react.useMemo)(() => sumKpi('learningHours'), [sumKpi]);
185
+ const coursedCompletedData = (0, _react.useMemo)(() => sumKpi('contentCompleted'), [sumKpi]);
186
+ const questionsToReviewData = (0, _react.useMemo)(() => sumKpi('questionsToReview'), [sumKpi]);
187
+ const learningTimeData = (0, _react.useMemo)(() => sumKpi('learningTime'), [sumKpi]);
186
188
  const skillChartPaneLegends = (0, _react.useMemo)(() => translate('skill_scope_specifier', {
187
189
  focusedSkill: skillFocusSelectedOnChart ? skillsLocales[skillFocusSelectedOnChart] : translate('focused_skills')
188
190
  }), [translate, skillsLocales, skillFocusSelectedOnChart]);
189
191
  const skillChartPanelProps = [{
190
- title: translate('skill_chart_side_panel_courses_completed'),
192
+ title: translate('skill_chart_side_panel_content_completed'),
191
193
  value: `${coursedCompletedData}`,
192
194
  legend: skillChartPaneLegends,
193
195
  icon: {
@@ -195,20 +197,20 @@ const MyLearning = (props, context) => {
195
197
  backgroundColor: '#D9F4F7'
196
198
  }
197
199
  }, {
198
- title: translate('skill_chart_side_panel_questions_answered'),
199
- value: `${questionsAnsweredData}`,
200
+ title: translate('skill_chart_side_panel_learning_hours'),
201
+ value: (0, _timeFormat.formatMinutes)(learningTimeData),
200
202
  legend: skillChartPaneLegends,
201
203
  icon: {
202
- iconName: 'circle-question',
203
- backgroundColor: '#FFDCD1'
204
+ iconName: 'clock',
205
+ backgroundColor: '#FAD6DE'
204
206
  }
205
207
  }, {
206
- title: translate('skill_chart_side_panel_learning_hours'),
207
- value: `${learningHoursData}`,
208
+ title: translate('skill_chart_side_panel_questions_to_review'),
209
+ value: `${questionsToReviewData}`,
208
210
  legend: skillChartPaneLegends,
209
211
  icon: {
210
- iconName: 'clock',
211
- backgroundColor: '#FAD6DE'
212
+ iconName: 'circle-question',
213
+ backgroundColor: '#FFDCD1'
212
214
  }
213
215
  }];
214
216
  const handleOnDotClick = (0, _react.useCallback)(skillRef => {
@@ -398,9 +400,9 @@ const MyLearning = (props, context) => {
398
400
 
399
401
  const {
400
402
  score,
401
- courses: skillCourses,
402
- questionsAnswered: skillQuestions,
403
- coursesCompleted: completedCourses
403
+ content,
404
+ questionsToReview,
405
+ contentCompleted
404
406
  } = skillsInformation[skill].stats;
405
407
  return /*#__PURE__*/_react.default.createElement("div", {
406
408
  key: index
@@ -409,9 +411,9 @@ const MyLearning = (props, context) => {
409
411
  focus: selectedSkills.includes(skill),
410
412
  metrics: {
411
413
  score,
412
- skillCourses,
413
- skillQuestions,
414
- completedCourses
414
+ content,
415
+ questionsToReview,
416
+ contentCompleted
415
417
  },
416
418
  review: skillsInformation[skill].availableForReview,
417
419
  onReviewClick: handleReviewSkill,
@@ -431,10 +433,10 @@ MyLearning.propTypes = process.env.NODE_ENV !== "production" ? {
431
433
  availableForReview: _propTypes.default.bool,
432
434
  stats: _propTypes.default.shape({
433
435
  score: _propTypes.default.number,
434
- courses: _propTypes.default.number,
435
- coursesCompleted: _propTypes.default.number,
436
- questionsAnswered: _propTypes.default.number,
437
- learningHours: _propTypes.default.number
436
+ content: _propTypes.default.number,
437
+ contentCompleted: _propTypes.default.number,
438
+ questionsToReview: _propTypes.default.number,
439
+ learningTime: _propTypes.default.number
438
440
  })
439
441
  })),
440
442
  skillsLocales: _propTypes.default.objectOf(_propTypes.default.string),
@@ -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","sort","a","b","stats","score","activeFilter","setActiveFilter","skillsReviewReady","useMemo","skill","availableForReview","graphDatas","graphLegends","filters","all","review","sumKpi","kpi","coursedCompletedData","questionsAnsweredData","learningHoursData","skillChartPaneLegends","focusedSkill","skillChartPanelProps","title","value","legend","icon","iconName","handleOnDotClick","skillRef","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","handleReviewSkill","handleExploreSkill","courses","skillCourses","questionsAnswered","skillQuestions","coursesCompleted","completedCourses","includes","arrayOf","objectOf","shape","learningHours"],"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} 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 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, translate} = 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]\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: filter === translate('review_mode_available') ? '200px' : '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 skills.sort((a, b) => skillsInformation[b].stats.score - skillsInformation[a].stats.score)\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 => skillsInformation[skill].availableForReview);\n }, [searchResults, skillsInformation]);\n\n const graphDatas = useMemo(\n () =>\n pipe(\n map(skill => [skill, skillsInformation[skill].stats.score]),\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 skillFocusSelectedOnChart\n ? skillsInformation[skillFocusSelectedOnChart].stats[kpi]\n : sumBy(skill => skillsInformation[skill].stats[kpi], selectedSkillsList),\n [skillFocusSelectedOnChart, skillsInformation, selectedSkillsList]\n );\n\n const coursedCompletedData = useMemo(() => sumKpi('coursesCompleted'), [sumKpi]);\n\n const questionsAnsweredData = useMemo(() => sumKpi('questionsAnswered'), [sumKpi]);\n\n const learningHoursData = useMemo(() => sumKpi('learningHours'), [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_courses_completed'),\n value: `${coursedCompletedData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'book-open-cover', backgroundColor: '#D9F4F7'}\n },\n {\n title: translate('skill_chart_side_panel_questions_answered'),\n value: `${questionsAnsweredData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'circle-question', backgroundColor: '#FFDCD1'}\n },\n {\n title: translate('skill_chart_side_panel_learning_hours'),\n value: `${learningHoursData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'clock', backgroundColor: '#FAD6DE'}\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('skill_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: '168px',\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 function handleReviewSkill() {\n onReviewSkill(skill);\n }\n function handleExploreSkill() {\n onExploreSkill(skill);\n }\n const {\n score,\n courses: skillCourses,\n questionsAnswered: skillQuestions,\n coursesCompleted: completedCourses\n } = skillsInformation[skill].stats;\n return (\n <div key={index}>\n <LearnerSkillCard\n skillTitle={skillsLocales[skill]}\n focus={selectedSkills.includes(skill)}\n metrics={{\n score,\n skillCourses,\n skillQuestions,\n completedCourses\n }}\n review={skillsInformation[skill].availableForReview}\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 courses: PropTypes.number,\n coursesCompleted: PropTypes.number,\n questionsAnswered: PropTypes.number,\n learningHours: 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","open","setOpen","selectedSkillsList","setSelectedSkillsList","skillFocusSelectedOnChart","setSkillFocusSelectedOnChart","undefined","searchValue","setSearchValue","searchResults","setSearchResults","sort","a","b","stats","score","activeFilter","setActiveFilter","skillsReviewReady","useMemo","skill","availableForReview","graphDatas","graphLegends","filters","all","review","sumKpi","kpi","coursedCompletedData","questionsToReviewData","learningTimeData","skillChartPaneLegends","focusedSkill","skillChartPanelProps","title","value","legend","icon","iconName","formatMinutes","handleOnDotClick","skillRef","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","handleReviewSkill","handleExploreSkill","questionsToReview","contentCompleted","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} 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, translate} = 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]\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: filter === translate('review_mode_available') ? '200px' : '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 skills.sort((a, b) => skillsInformation[b].stats.score - skillsInformation[a].stats.score)\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 => skillsInformation[skill].availableForReview);\n }, [searchResults, skillsInformation]);\n\n const graphDatas = useMemo(\n () =>\n pipe(\n map(skill => [skill, skillsInformation[skill].stats.score]),\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 skillFocusSelectedOnChart\n ? skillsInformation[skillFocusSelectedOnChart].stats[kpi]\n : sumBy(skill => skillsInformation[skill].stats[kpi], selectedSkillsList),\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('skill_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: '168px',\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 function handleReviewSkill() {\n onReviewSkill(skill);\n }\n function handleExploreSkill() {\n onExploreSkill(skill);\n }\n const {score, content, questionsToReview, contentCompleted} =\n skillsInformation[skill].stats;\n return (\n <div key={index}>\n <LearnerSkillCard\n skillTitle={skillsLocales[skill]}\n focus={selectedSkills.includes(skill)}\n metrics={{\n score,\n content,\n questionsToReview,\n contentCompleted\n }}\n review={skillsInformation[skill].availableForReview}\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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"}
@@ -0,0 +1,2 @@
1
+ export function formatMinutes(minutes: any): string;
2
+ //# sourceMappingURL=time-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-format.d.ts","sourceRoot":"","sources":["../../src/util/time-format.js"],"names":[],"mappings":"AAAA,oDAWC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.formatMinutes = formatMinutes;
5
+
6
+ function formatMinutes(minutes) {
7
+ const timeArr = [];
8
+ const hours = Math.floor(minutes / 60);
9
+ const remainingMinutes = `${minutes % 60}`;
10
+
11
+ if (hours > 0) {
12
+ timeArr.push(`${hours}h`);
13
+ }
14
+
15
+ if (remainingMinutes > 0) {
16
+ timeArr.push(`${remainingMinutes.padStart(2, '0')}min`);
17
+ }
18
+
19
+ return timeArr.length > 0 ? timeArr.join(' ') : '0min';
20
+ }
21
+ //# sourceMappingURL=time-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-format.js","names":["formatMinutes","minutes","timeArr","hours","Math","floor","remainingMinutes","push","padStart","length","join"],"sources":["../../src/util/time-format.js"],"sourcesContent":["function formatMinutes(minutes) {\n const timeArr = [];\n const hours = Math.floor(minutes / 60);\n const remainingMinutes = `${minutes % 60}`;\n if (hours > 0) {\n timeArr.push(`${hours}h`);\n }\n if (remainingMinutes > 0) {\n timeArr.push(`${remainingMinutes.padStart(2, '0')}min`);\n }\n return timeArr.length > 0 ? timeArr.join(' ') : '0min';\n}\n\nexport {formatMinutes};\n"],"mappings":";;;;;AAAA,SAASA,aAAT,CAAuBC,OAAvB,EAAgC;EAC9B,MAAMC,OAAO,GAAG,EAAhB;EACA,MAAMC,KAAK,GAAGC,IAAI,CAACC,KAAL,CAAWJ,OAAO,GAAG,EAArB,CAAd;EACA,MAAMK,gBAAgB,GAAI,GAAEL,OAAO,GAAG,EAAG,EAAzC;;EACA,IAAIE,KAAK,GAAG,CAAZ,EAAe;IACbD,OAAO,CAACK,IAAR,CAAc,GAAEJ,KAAM,GAAtB;EACD;;EACD,IAAIG,gBAAgB,GAAG,CAAvB,EAA0B;IACxBJ,OAAO,CAACK,IAAR,CAAc,GAAED,gBAAgB,CAACE,QAAjB,CAA0B,CAA1B,EAA6B,GAA7B,CAAkC,KAAlD;EACD;;EACD,OAAON,OAAO,CAACO,MAAR,GAAiB,CAAjB,GAAqBP,OAAO,CAACQ,IAAR,CAAa,GAAb,CAArB,GAAyC,MAAhD;AACD"}
@@ -5,7 +5,7 @@
5
5
  "Answer": "Odgovor",
6
6
  "At the end of this level, you will be able to_": "Na kraju ovog nivoa moći ćete: ",
7
7
  "author": "autor/ica ",
8
- "associated_skills": "Associated skills",
8
+ "associated_skills": "Povezane vještine",
9
9
  "Back to Dashboard Home": "Povratak na kontrolnu tablu",
10
10
  "back_to_catalog": "Povratak na kurseve",
11
11
  "cart_title": "Pretplata za Coorpacademy",
@@ -51,7 +51,7 @@
51
51
  "payment_form_submit": "Započni s pretplatom na Coorpacademy",
52
52
  "Post": "Postavi",
53
53
  "premium_unsubscribe_confirmation": "Potvrđjujemo otkazivanje pretplate koje nastupa od sljedećeg mjeseca.\n\nU međjuvremenu, možete nastaviti koristiti naš sadržaj na platformi Coorpacademy.",
54
- "close_tooltip_information": "Press the escape key to close the information text",
54
+ "close_tooltip_information": "Pritisnite tipku za izlaz da zatvorite informativni tekst",
55
55
  "product_cancel": "Otkaži u bilo koje vrijeme.",
56
56
  "product_desc_battle": "Borbeni način",
57
57
  "product_desc_certificates": "Potvrde Coorpacademy",
@@ -93,10 +93,10 @@
93
93
  "skill_focus": "Fokus na vještine",
94
94
  "skill_focus_footer_description": "Odaberite barem {{skillNumber}} više vještina",
95
95
  "skill_focus_footer_error_description": "Poništite odabir barem {{skillNumber}} više vještina",
96
- "skill_chart_side_panel_courses_completed": " Završeni kursevi",
97
- "skill_chart_side_panel_questions_answered": "Odgovori na pitanja",
98
- "skill_chart_side_panel_learning_hours": "Sati učenja",
99
- "skill_focused_chip_tooltip": "This skill is focused",
96
+ "skill_chart_side_panel_content_completed": "Sadržaj je završen",
97
+ "skill_chart_side_panel_questions_to_review": "Pitanja za pregled",
98
+ "skill_chart_side_panel_learning_hours": "Vrijeme učenja",
99
+ "skill_focused_chip_tooltip": "Ova vještina je fokusirana",
100
100
  "selected": "odabrano",
101
101
  "This message has been removed by its author": "Ovu poruku je uklonio njen autor.",
102
102
  "unsubscribe": "Otkaži pretplatu na Coorpacademy.",
@@ -5,7 +5,7 @@
5
5
  "Answer": "Odpovědět",
6
6
  "At the end of this level, you will be able to_": "Na konci této úrovně budete moci:",
7
7
  "author": "autor",
8
- "associated_skills": "Associated skills",
8
+ "associated_skills": "Přidružené dovednosti",
9
9
  "Back to Dashboard Home": "Zpět na domovskou stránku ovládacího panelu",
10
10
  "back_to_catalog": "Zpět na kurzy",
11
11
  "cart_title": "Předplatné Coorpacademy",
@@ -51,7 +51,7 @@
51
51
  "payment_form_submit": "Zahájit předplatné Coorpacademy",
52
52
  "Post": "Příspěvek",
53
53
  "premium_unsubscribe_confirmation": "Potvrzujeme zrušení předplatného, které bude platit od příštího měsíce.\\n\\nDo té doby můžete obsah platformy Coorpacademy využívat.",
54
- "close_tooltip_information": "Press the escape key to close the information text",
54
+ "close_tooltip_information": "Stisknutím klávesy Escape informační text zavřete",
55
55
  "product_cancel": "Storno lze provést kdykoli.",
56
56
  "product_desc_battle": "Režim souboje",
57
57
  "product_desc_certificates": "Certifikáty Coorpacademy",
@@ -93,10 +93,10 @@
93
93
  "skill_focus": "Zaměření dovednosti",
94
94
  "skill_focus_footer_description": "Vyberte alespoň {{skillNumber}} dalších dovedností",
95
95
  "skill_focus_footer_error_description": "Zrušte výběr alespoň {{skillNumber}} dalších dovedností",
96
- "skill_chart_side_panel_courses_completed": "Dokončené kurzy",
97
- "skill_chart_side_panel_questions_answered": "Zodpovězené otázky",
98
- "skill_chart_side_panel_learning_hours": "Hodiny učení",
99
- "skill_focused_chip_tooltip": "This skill is focused",
96
+ "skill_chart_side_panel_content_completed": "Obsah dokončen",
97
+ "skill_chart_side_panel_questions_to_review": "Otázky ke kontrole",
98
+ "skill_chart_side_panel_learning_hours": "Čas na učení",
99
+ "skill_focused_chip_tooltip": "Tato dovednost je zaměřena",
100
100
  "selected": "vybráno",
101
101
  "This message has been removed by its author": "Tuto zprávu odstranil autor.",
102
102
  "unsubscribe": "Zrušit předplatné Coorpacademy",
@@ -5,7 +5,7 @@
5
5
  "Answer": "Antwort",
6
6
  "At the end of this level, you will be able to_": "Am Ende dieses Levels können Sie:",
7
7
  "author": "Autor",
8
- "associated_skills": "Associated skills",
8
+ "associated_skills": "Zugehörige Fähigkeiten",
9
9
  "Back to Dashboard Home": "Zurück zur Startseite des Dashboards",
10
10
  "back_to_catalog": "Zurück zu den Kursen",
11
11
  "cart_title": "Coorpacademy Abo",
@@ -51,7 +51,7 @@
51
51
  "payment_form_submit": "Coorpacademy Abo beginnen",
52
52
  "Post": "Posten",
53
53
  "premium_unsubscribe_confirmation": "Wir bestätigen die Kündigung Ihres Abonnements, die ab nächsten Monat wirksam ist.\n\nIn der Zwischenzeit können Sie weiterhin unsere Inhalte auf der Plattform Coorpacademy benutzen.",
54
- "close_tooltip_information": "Press the escape key to close the information text",
54
+ "close_tooltip_information": "Mit der Escape-Taste schließen Sie den Informationstext",
55
55
  "product_cancel": "Zu einem beliebigen Zeitpunkt abbrechen.",
56
56
  "product_desc_battle": "Battle-Modus",
57
57
  "product_desc_certificates": "Coorpacademy Zertifikate",
@@ -93,10 +93,10 @@
93
93
  "skill_focus": "Fähigkeitsfokus",
94
94
  "skill_focus_footer_description": "Wählen Sie mindestens {{skillNumber}} weitere Fähigkeiten aus.",
95
95
  "skill_focus_footer_error_description": "Heben Sie die Auswahl von mindestens {{SkillNumber}} weiteren Skills auf.",
96
- "skill_chart_side_panel_courses_completed": "Abgeschlossene Kurse",
97
- "skill_chart_side_panel_questions_answered": "Beantwortete Fragen",
98
- "skill_chart_side_panel_learning_hours": "Lernstunden",
99
- "skill_focused_chip_tooltip": "This skill is focused",
96
+ "skill_chart_side_panel_content_completed": "Inhalt abgeschlossen",
97
+ "skill_chart_side_panel_questions_to_review": "Zu überprüfende Fragen",
98
+ "skill_chart_side_panel_learning_hours": "Lernzeit",
99
+ "skill_focused_chip_tooltip": "Diese Fähigkeit konzentriert sich",
100
100
  "selected": "ausgewählt",
101
101
  "This message has been removed by its author": "Diese Nachricht wurde von seinem Urheber gelöscht.",
102
102
  "unsubscribe": "Bei Coorpacademy abmelden",
@@ -93,9 +93,9 @@
93
93
  "skill_focus": "Skill focus",
94
94
  "skill_focus_footer_description": "Select at least {{skillNumber}} more skills",
95
95
  "skill_focus_footer_error_description": "Unselect at least {{skillNumber}} more skills",
96
- "skill_chart_side_panel_courses_completed": " Courses Completed",
97
- "skill_chart_side_panel_questions_answered": "Questions answered",
98
- "skill_chart_side_panel_learning_hours": "Learning hours",
96
+ "skill_chart_side_panel_content_completed": "Content Completed",
97
+ "skill_chart_side_panel_questions_to_review": "Questions to review",
98
+ "skill_chart_side_panel_learning_hours": "Learning time",
99
99
  "skill_focused_chip_tooltip": "This skill is focused",
100
100
  "selected": "selected",
101
101
  "This message has been removed by its author": "This message has been removed by its author.",
@@ -5,7 +5,7 @@
5
5
  "Answer": "Respuesta",
6
6
  "At the end of this level, you will be able to_": "Al final de este nivel, podrás:",
7
7
  "author": "autor",
8
- "associated_skills": "Associated skills",
8
+ "associated_skills": "Habilidades asociadas",
9
9
  "Back to Dashboard Home": "Volver al panel de inicio",
10
10
  "back_to_catalog": "Volver a los cursos",
11
11
  "cart_title": "Suscripción a Coorpacademy",
@@ -51,7 +51,7 @@
51
51
  "payment_form_submit": "Comenzar la suscripción de Coorpacademy",
52
52
  "Post": "Publicar",
53
53
  "premium_unsubscribe_confirmation": "Te confirmamos la cancelación de tu suscripción, que será efectiva a partir del próximo mes.\\n\\nMientras tanto, puedes seguir disfrutando de nuestro contenido en la plataforma de Coorpacademy.",
54
- "close_tooltip_information": "Press the escape key to close the information text",
54
+ "close_tooltip_information": "Presione la tecla Escape para cerrar el texto de información.",
55
55
  "product_cancel": "Cancela en cualquier momento.",
56
56
  "product_desc_battle": "Modo batalla",
57
57
  "product_desc_certificates": "Certificados Coorpacademy",
@@ -93,10 +93,10 @@
93
93
  "skill_focus": "Enfoque de habilidades",
94
94
  "skill_focus_footer_description": "Selecciona al menos {{skillNumber}} habilidades más",
95
95
  "skill_focus_footer_error_description": "Quita de la selección al menos {{skillNumber}} habilidades más",
96
- "skill_chart_side_panel_courses_completed": "Cursos completados",
97
- "skill_chart_side_panel_questions_answered": "Preguntas respondidas",
98
- "skill_chart_side_panel_learning_hours": "Horas de aprendizaje",
99
- "skill_focused_chip_tooltip": "This skill is focused",
96
+ "skill_chart_side_panel_content_completed": "Contenido completado",
97
+ "skill_chart_side_panel_questions_to_review": "Preguntas para revisar",
98
+ "skill_chart_side_panel_learning_hours": "Tiempo de aprender",
99
+ "skill_focused_chip_tooltip": "Esta habilidad está enfocada",
100
100
  "selected": "seleccionada",
101
101
  "This message has been removed by its author": "Este mensaje ha sido borrado por su autor.",
102
102
  "unsubscribe": "Cancelar la suscripción de Coorpacademy",
@@ -5,7 +5,7 @@
5
5
  "Answer": "Vastus",
6
6
  "At the end of this level, you will be able to_": "Selle taseme läbimisel oskad:",
7
7
  "author": "autor",
8
- "associated_skills": "Associated skills",
8
+ "associated_skills": "Seotud oskused",
9
9
  "Back to Dashboard Home": "Tagasi esilehele",
10
10
  "back_to_catalog": "Tagasi kursuste esilehele",
11
11
  "cart_title": "Coorpacademy tellimus",
@@ -51,7 +51,7 @@
51
51
  "payment_form_submit": "Alusta Coorpacademy tellimist",
52
52
  "Post": "Postita",
53
53
  "premium_unsubscribe_confirmation": "Kinnitame teie tellimuse tühistamise, mis hakkab kehtima alates järgmisest kuust.\n\nSeniks saate jätkuvalt nautida Coorpacademy platvormi sisu.",
54
- "close_tooltip_information": "Press the escape key to close the information text",
54
+ "close_tooltip_information": "Teabeteksti sulgemiseks vajutage paoklahvi",
55
55
  "product_cancel": "Loobu, kui soovid.",
56
56
  "product_desc_battle": "Lahingurežiim",
57
57
  "product_desc_certificates": "Coorpacademy tunnistused",
@@ -93,10 +93,10 @@
93
93
  "skill_focus": "Oskusfookus",
94
94
  "skill_focus_footer_description": "Vali vähemalt veel {{skillNumber}} oskust",
95
95
  "skill_focus_footer_error_description": "Tühista veel vähemalt {{skillNumber}} oskuse valik",
96
- "skill_chart_side_panel_courses_completed": "Lõpetatud kursused",
97
- "skill_chart_side_panel_questions_answered": "Vastatud küsimused",
98
- "skill_chart_side_panel_learning_hours": "Õppimisele kulutatud tunnid",
99
- "skill_focused_chip_tooltip": "This skill is focused",
96
+ "skill_chart_side_panel_content_completed": "Sisu valmis",
97
+ "skill_chart_side_panel_questions_to_review": "Küsimused ülevaatamiseks",
98
+ "skill_chart_side_panel_learning_hours": "Õppimise aeg",
99
+ "skill_focused_chip_tooltip": "See oskus on keskendunud",
100
100
  "selected": "valitud",
101
101
  "This message has been removed by its author": "Sõnum on autori poolt eemaldatud.",
102
102
  "unsubscribe": "Tühista Coorpacademy tellimus",
@@ -5,7 +5,7 @@
5
5
  "Answer": "Vastaus",
6
6
  "At the end of this level, you will be able to_": "Tämän tason päätteeksi pystyt:",
7
7
  "author": "tekijä",
8
- "associated_skills": "Associated skills",
8
+ "associated_skills": "Liittyvät taidot",
9
9
  "Back to Dashboard Home": "Takaisin koontinäytön kotisivulle",
10
10
  "back_to_catalog": "Takaisin kursseihin",
11
11
  "cart_title": "Coorpacademyn tilaus",
@@ -51,7 +51,7 @@
51
51
  "payment_form_submit": "Aloita Coorpacademyn tilaus",
52
52
  "Post": "Julkaise",
53
53
  "premium_unsubscribe_confirmation": "Vahvistamme tilauksesi peruuttamisen, joka astuu voimaan seuraavan kuun alussa.\n\nVoit sillä välin jatkaa sisältösi käyttämistä Coorpacademyn alustalla.",
54
- "close_tooltip_information": "Press the escape key to close the information text",
54
+ "close_tooltip_information": "Sulje tietoteksti painamalla Esc-näppäintä",
55
55
  "product_cancel": "Peruuta koska tahansa.",
56
56
  "product_desc_battle": "Taistelutila",
57
57
  "product_desc_certificates": "Coorpacademyn todistukset",
@@ -93,10 +93,10 @@
93
93
  "skill_focus": "Osaamisen painopiste",
94
94
  "skill_focus_footer_description": "Valitse vähintään {{skillNumber}} valmiutta enemmän",
95
95
  "skill_focus_footer_error_description": "Poista vielä vähintään {{skillNumber}} valmiuden valinta",
96
- "skill_chart_side_panel_courses_completed": "Suoritetut kurssit",
97
- "skill_chart_side_panel_questions_answered": "Vastatut kysymykset",
98
- "skill_chart_side_panel_learning_hours": "Oppimistunnit",
99
- "skill_focused_chip_tooltip": "This skill is focused",
96
+ "skill_chart_side_panel_content_completed": "Sisältö valmis",
97
+ "skill_chart_side_panel_questions_to_review": "Tarkasteltavat kysymykset",
98
+ "skill_chart_side_panel_learning_hours": "Oppimisaika",
99
+ "skill_focused_chip_tooltip": "Tämä taito on keskittynyt",
100
100
  "selected": "valittu",
101
101
  "This message has been removed by its author": "Tekijä on poistanut tämän viestin.",
102
102
  "unsubscribe": "Peruuta Coorpacademyn tilaus",
@@ -5,7 +5,7 @@
5
5
  "Answer": "Répondre",
6
6
  "At the end of this level, you will be able to_": "À l'issue de ce cours, vous serez capable de :",
7
7
  "author": "auteur",
8
- "associated_skills": "Associated skills",
8
+ "associated_skills": "Compétences associées",
9
9
  "Back to Dashboard Home": "Retour à l’accueil du tableau de bord",
10
10
  "back_to_catalog": "Retour aux cours",
11
11
  "cart_title": "Abonnement Coorpacademy ",
@@ -51,7 +51,7 @@
51
51
  "payment_form_submit": "S'abonner à Coorpacademy",
52
52
  "Post": "Envoyer",
53
53
  "premium_unsubscribe_confirmation": "Nous confirmons l’annulation de votre abonnement qui entrera en vigueur à partir de mois prochain.\n\nPendant ce temps, vous pouvez continuer à profiter de la formation sur la plateforme Coorpacademy.",
54
- "close_tooltip_information": "Press the escape key to close the information text",
54
+ "close_tooltip_information": "Utilisez la touche Echap pour fermer le texte d'information",
55
55
  "product_cancel": "Annuler à tout moment.",
56
56
  "product_desc_battle": "Battle mode",
57
57
  "product_desc_certificates": "Certificats Coorpacademy",
@@ -93,10 +93,10 @@
93
93
  "skill_focus": "Ciblage des compétences",
94
94
  "skill_focus_footer_description": "Sélectionnez au moins {{skillNumber}} compétences supplémentaires",
95
95
  "skill_focus_footer_error_description": "Désélectionnez au moins {{skillNumber}} compétences supplémentaires",
96
- "skill_chart_side_panel_courses_completed": "Cours terminés",
97
- "skill_chart_side_panel_questions_answered": "Questions répondues",
98
- "skill_chart_side_panel_learning_hours": "Heures d'apprentissage",
99
- "skill_focused_chip_tooltip": "This skill is focused",
96
+ "skill_chart_side_panel_content_completed": "Contenu terminé",
97
+ "skill_chart_side_panel_questions_to_review": "Questions à réviser",
98
+ "skill_chart_side_panel_learning_hours": "Temps d'apprentissage",
99
+ "skill_focused_chip_tooltip": "Cette compétence est sélectionné",
100
100
  "selected": "sélectionnées",
101
101
  "This message has been removed by its author": "Ce message a été supprimé par son auteur.",
102
102
  "unsubscribe": "Se désabonner de Coorpacademy",
@@ -5,7 +5,7 @@
5
5
  "Answer": "Odgovor",
6
6
  "At the end of this level, you will be able to_": "Na kraju ove razine moći ćete:",
7
7
  "author": "autor",
8
- "associated_skills": "Associated skills",
8
+ "associated_skills": "Pridružene vještine",
9
9
  "Back to Dashboard Home": "Povratak na početnu stranicu nadzorne ploče",
10
10
  "back_to_catalog": "Povratak na tečajeve",
11
11
  "cart_title": "Pretplata na Coorpacademy",
@@ -51,7 +51,7 @@
51
51
  "payment_form_submit": "Aktivirajte pretplatu na Coorpacademy",
52
52
  "Post": "Objavite",
53
53
  "premium_unsubscribe_confirmation": "Potvrđujemo otkazivanje vaše pretplate koja će stupiti na snagu od sljedećeg mjeseca. U međuvremenu možete nastaviti uživati u našem sadržaju na platformi Coorpacademy.",
54
- "close_tooltip_information": "Press the escape key to close the information text",
54
+ "close_tooltip_information": "Pritisnite tipku Escape za zatvaranje teksta informacija",
55
55
  "product_cancel": "Otkažite u bilo kojem trenutku.",
56
56
  "product_desc_battle": "Dvoboji",
57
57
  "product_desc_certificates": "Coorpacademy potvrde",
@@ -93,10 +93,10 @@
93
93
  "skill_focus": "Fokus vještina",
94
94
  "skill_focus_footer_description": "Odaberi još najmanje {{skillNumber}} vještina",
95
95
  "skill_focus_footer_error_description": "Poništi odabir najmanje još {{skillNumber}} vještina",
96
- "skill_chart_side_panel_courses_completed": "Završeni tečajevi",
97
- "skill_chart_side_panel_questions_answered": "Odgovorena pitanja",
98
- "skill_chart_side_panel_learning_hours": "Sati učenja",
99
- "skill_focused_chip_tooltip": "This skill is focused",
96
+ "skill_chart_side_panel_content_completed": "Sadržaj dovršen",
97
+ "skill_chart_side_panel_questions_to_review": "Pitanja za pregled",
98
+ "skill_chart_side_panel_learning_hours": "Vrijeme učenja",
99
+ "skill_focused_chip_tooltip": "Ova vještina je fokusirana",
100
100
  "selected": "odabrano",
101
101
  "This message has been removed by its author": "Ovu poruku uklonio je njezin autor.",
102
102
  "unsubscribe": "Otkažite pretplatu na Coorpacademy",