@coorpacademy/components 11.35.2-alpha.4 → 11.35.2-forcedeploy.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/es/atom/button-link/index.js +1 -1
  2. package/es/atom/button-link/index.js.map +1 -1
  3. package/es/atom/button-link/style.css +2 -2
  4. package/es/atom/icon/index.d.ts +35 -17
  5. package/es/atom/icon/index.d.ts.map +1 -1
  6. package/es/atom/icon/index.js +32 -15
  7. package/es/atom/icon/index.js.map +1 -1
  8. package/es/atom/radio-with-title/index.d.ts +13 -3
  9. package/es/atom/radio-with-title/index.d.ts.map +1 -1
  10. package/es/atom/radio-with-title/types.d.ts +13 -2
  11. package/es/atom/radio-with-title/types.d.ts.map +1 -1
  12. package/es/atom/status-item/index.native.js +1 -1
  13. package/es/atom/status-item/index.native.js.map +1 -1
  14. package/es/atom/tag/index.d.ts +12 -1
  15. package/es/atom/tag/style.css +1 -0
  16. package/es/atom/title/index.d.ts +13 -2
  17. package/es/molecule/banner/style.css +1 -0
  18. package/es/molecule/base-modal/style.css +0 -1
  19. package/es/molecule/bulk-progress-bar/index.js +2 -2
  20. package/es/molecule/bulk-progress-bar/index.js.map +1 -1
  21. package/es/molecule/certification-card/index.js +1 -1
  22. package/es/molecule/certification-card/index.js.map +1 -1
  23. package/es/molecule/cm-popin/types.d.ts +28 -7
  24. package/es/molecule/cm-popin/types.d.ts.map +1 -1
  25. package/es/molecule/cm-popin/types.js +1 -1
  26. package/es/molecule/cm-popin/types.js.map +1 -1
  27. package/es/molecule/dashboard/cards-list/index.d.ts.map +1 -1
  28. package/es/molecule/dashboard/cards-list/index.js +2 -0
  29. package/es/molecule/dashboard/cards-list/index.js.map +1 -1
  30. package/es/molecule/learner-skill-card/index.d.ts +25 -40
  31. package/es/molecule/learner-skill-card/index.d.ts.map +1 -1
  32. package/es/molecule/learner-skill-card/index.js +95 -96
  33. package/es/molecule/learner-skill-card/index.js.map +1 -1
  34. package/es/molecule/learner-skill-card/prop-types.d.ts +37 -0
  35. package/es/molecule/learner-skill-card/prop-types.d.ts.map +1 -0
  36. package/es/molecule/learner-skill-card/prop-types.js +20 -0
  37. package/es/molecule/learner-skill-card/prop-types.js.map +1 -0
  38. package/es/molecule/learner-skill-card/style.css +62 -41
  39. package/es/molecule/learning-priority-modal/style.css +3 -2
  40. package/es/molecule/progress-wrapper/index.js +1 -1
  41. package/es/molecule/progress-wrapper/index.js.map +1 -1
  42. package/es/molecule/skills-chart-side-information-item/index.d.ts +1 -1
  43. package/es/molecule/skills-chart-side-information-panel/index.d.ts +1 -1
  44. package/es/molecule/title-and-checkbox-wrapper/index.d.ts +13 -2
  45. package/es/molecule/title-radio-wrapper/index.d.ts +13 -3
  46. package/es/molecule/title-radio-wrapper/index.d.ts.map +1 -1
  47. package/es/molecule/title-radio-wrapper/types.d.ts +13 -2
  48. package/es/molecule/title-radio-wrapper/types.d.ts.map +1 -1
  49. package/es/organism/cards-grid/index.d.ts +48 -10
  50. package/es/organism/cards-grid/index.d.ts.map +1 -1
  51. package/es/organism/cards-grid/index.js +3 -2
  52. package/es/organism/cards-grid/index.js.map +1 -1
  53. package/es/organism/content-skill-modal/index.d.ts +13 -3
  54. package/es/organism/content-skill-modal/index.d.ts.map +1 -1
  55. package/es/organism/content-skill-modal/types.d.ts +12 -2
  56. package/es/organism/content-skill-modal/types.d.ts.map +1 -1
  57. package/es/organism/header-with-actions/index.d.ts +8 -22
  58. package/es/organism/header-with-actions/index.d.ts.map +1 -1
  59. package/es/organism/header-with-actions/index.js +7 -85
  60. package/es/organism/header-with-actions/index.js.map +1 -1
  61. package/es/organism/header-with-actions/types.d.ts +13 -44
  62. package/es/organism/header-with-actions/types.d.ts.map +1 -1
  63. package/es/organism/header-with-actions/types.js +6 -22
  64. package/es/organism/header-with-actions/types.js.map +1 -1
  65. package/es/organism/list-item/index.js +5 -5
  66. package/es/organism/list-item/index.js.map +1 -1
  67. package/es/organism/list-item/style.css +23 -17
  68. package/es/organism/list-items/index.d.ts +13 -2
  69. package/es/organism/mooc-header/index.d.ts.map +1 -1
  70. package/es/organism/mooc-header/index.js +9 -7
  71. package/es/organism/mooc-header/index.js.map +1 -1
  72. package/es/organism/mooc-header/style.css +22 -18
  73. package/es/organism/rewards-form/index.d.ts +13 -2
  74. package/es/organism/select-opponents/index.d.ts +13 -3
  75. package/es/organism/select-opponents/index.d.ts.map +1 -1
  76. package/es/organism/select-opponents/types.d.ts +13 -2
  77. package/es/organism/select-opponents/types.d.ts.map +1 -1
  78. package/es/organism/sidebar/index.d.ts +2 -2
  79. package/es/organism/skill-edition/index.d.ts +37 -7
  80. package/es/organism/skill-edition/index.d.ts.map +1 -1
  81. package/es/organism/skill-edition/types.d.ts +37 -6
  82. package/es/organism/skill-edition/types.d.ts.map +1 -1
  83. package/es/organism/title-and-input/index.d.ts +25 -5
  84. package/es/organism/title-and-input/index.d.ts.map +1 -1
  85. package/es/organism/title-and-input/types.d.ts +24 -4
  86. package/es/organism/title-and-input/types.d.ts.map +1 -1
  87. package/es/organism/wizard-contents/index.d.ts +13 -2
  88. package/es/template/app-player/loading/index.d.ts +27 -6
  89. package/es/template/app-player/player/index.d.ts +53 -12
  90. package/es/template/app-player/player/slides/index.d.ts +27 -6
  91. package/es/template/app-player/player/slides/index.d.ts.map +1 -1
  92. package/es/template/app-player/popin-correction/index.d.ts +26 -6
  93. package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
  94. package/es/template/app-player/popin-end/index.d.ts +27 -6
  95. package/es/template/app-review/index.d.ts +27 -7
  96. package/es/template/app-review/index.d.ts.map +1 -1
  97. package/es/template/app-review/player/prop-types.d.ts +27 -6
  98. package/es/template/app-review/player/prop-types.d.ts.map +1 -1
  99. package/es/template/app-review/prop-types.d.ts +27 -6
  100. package/es/template/app-review/prop-types.d.ts.map +1 -1
  101. package/es/template/back-office/brand-update/index.d.ts +95 -38
  102. package/es/template/back-office/brand-update/index.d.ts.map +1 -1
  103. package/es/template/back-office/brand-update/index.js +2 -4
  104. package/es/template/back-office/brand-update/index.js.map +1 -1
  105. package/es/template/back-office/brand-update/style.css +1 -4
  106. package/es/template/back-office/brand-update/utils.d.ts +11 -39
  107. package/es/template/back-office/brand-update/utils.js +0 -19
  108. package/es/template/back-office/brand-update/utils.js.map +1 -1
  109. package/es/template/common/dashboard/index.d.ts +53 -12
  110. package/es/template/common/search-page/index.d.ts +27 -6
  111. package/es/template/external-course/index.d.ts +27 -6
  112. package/es/template/my-learning/index.d.ts +0 -1
  113. package/es/template/my-learning/index.d.ts.map +1 -1
  114. package/es/template/my-learning/index.js +26 -22
  115. package/es/template/my-learning/index.js.map +1 -1
  116. package/es/template/my-learning/style.css +9 -6
  117. package/es/template/skill-detail/all-courses.css +3 -2
  118. package/es/template/skill-detail/all-courses.d.ts +52 -17
  119. package/es/template/skill-detail/all-courses.d.ts.map +1 -1
  120. package/es/template/skill-detail/all-courses.js +12 -11
  121. package/es/template/skill-detail/all-courses.js.map +1 -1
  122. package/es/template/skill-detail/continue-learning.css +7 -2
  123. package/es/template/skill-detail/continue-learning.d.ts +25 -12
  124. package/es/template/skill-detail/continue-learning.d.ts.map +1 -1
  125. package/es/template/skill-detail/continue-learning.js.map +1 -1
  126. package/es/template/skill-detail/index.d.ts +81 -71
  127. package/es/template/skill-detail/index.d.ts.map +1 -1
  128. package/es/template/skill-detail/index.js +91 -58
  129. package/es/template/skill-detail/index.js.map +1 -1
  130. package/es/template/skill-detail/style.css +97 -39
  131. package/es/variables/colors.css +10 -1
  132. package/es/variables/colors.d.ts +13 -3
  133. package/es/variables/colors.d.ts.map +1 -1
  134. package/es/variables/colors.js +13 -3
  135. package/es/variables/colors.js.map +1 -1
  136. package/es/variables/theme.native.js +1 -1
  137. package/es/variables/theme.native.js.map +1 -1
  138. package/lib/atom/button-link/index.js +1 -1
  139. package/lib/atom/button-link/index.js.map +1 -1
  140. package/lib/atom/button-link/style.css +2 -2
  141. package/lib/atom/icon/index.d.ts +35 -17
  142. package/lib/atom/icon/index.d.ts.map +1 -1
  143. package/lib/atom/icon/index.js +34 -18
  144. package/lib/atom/icon/index.js.map +1 -1
  145. package/lib/atom/radio-with-title/index.d.ts +13 -3
  146. package/lib/atom/radio-with-title/index.d.ts.map +1 -1
  147. package/lib/atom/radio-with-title/types.d.ts +13 -2
  148. package/lib/atom/radio-with-title/types.d.ts.map +1 -1
  149. package/lib/atom/status-item/index.native.js +1 -1
  150. package/lib/atom/status-item/index.native.js.map +1 -1
  151. package/lib/atom/tag/index.d.ts +12 -1
  152. package/lib/atom/tag/style.css +1 -0
  153. package/lib/atom/title/index.d.ts +13 -2
  154. package/lib/molecule/banner/style.css +1 -0
  155. package/lib/molecule/base-modal/style.css +0 -1
  156. package/lib/molecule/bulk-progress-bar/index.js +2 -2
  157. package/lib/molecule/bulk-progress-bar/index.js.map +1 -1
  158. package/lib/molecule/certification-card/index.js +1 -1
  159. package/lib/molecule/certification-card/index.js.map +1 -1
  160. package/lib/molecule/cm-popin/types.d.ts +28 -7
  161. package/lib/molecule/cm-popin/types.d.ts.map +1 -1
  162. package/lib/molecule/cm-popin/types.js +1 -1
  163. package/lib/molecule/cm-popin/types.js.map +1 -1
  164. package/lib/molecule/dashboard/cards-list/index.d.ts.map +1 -1
  165. package/lib/molecule/dashboard/cards-list/index.js +2 -0
  166. package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
  167. package/lib/molecule/learner-skill-card/index.d.ts +25 -40
  168. package/lib/molecule/learner-skill-card/index.d.ts.map +1 -1
  169. package/lib/molecule/learner-skill-card/index.js +98 -96
  170. package/lib/molecule/learner-skill-card/index.js.map +1 -1
  171. package/lib/molecule/learner-skill-card/prop-types.d.ts +37 -0
  172. package/lib/molecule/learner-skill-card/prop-types.d.ts.map +1 -0
  173. package/lib/molecule/learner-skill-card/prop-types.js +25 -0
  174. package/lib/molecule/learner-skill-card/prop-types.js.map +1 -0
  175. package/lib/molecule/learner-skill-card/style.css +62 -41
  176. package/lib/molecule/learning-priority-modal/style.css +3 -2
  177. package/lib/molecule/progress-wrapper/index.js +1 -1
  178. package/lib/molecule/progress-wrapper/index.js.map +1 -1
  179. package/lib/molecule/skills-chart-side-information-item/index.d.ts +1 -1
  180. package/lib/molecule/skills-chart-side-information-panel/index.d.ts +1 -1
  181. package/lib/molecule/title-and-checkbox-wrapper/index.d.ts +13 -2
  182. package/lib/molecule/title-radio-wrapper/index.d.ts +13 -3
  183. package/lib/molecule/title-radio-wrapper/index.d.ts.map +1 -1
  184. package/lib/molecule/title-radio-wrapper/types.d.ts +13 -2
  185. package/lib/molecule/title-radio-wrapper/types.d.ts.map +1 -1
  186. package/lib/organism/cards-grid/index.d.ts +48 -10
  187. package/lib/organism/cards-grid/index.d.ts.map +1 -1
  188. package/lib/organism/cards-grid/index.js +3 -2
  189. package/lib/organism/cards-grid/index.js.map +1 -1
  190. package/lib/organism/content-skill-modal/index.d.ts +13 -3
  191. package/lib/organism/content-skill-modal/index.d.ts.map +1 -1
  192. package/lib/organism/content-skill-modal/types.d.ts +12 -2
  193. package/lib/organism/content-skill-modal/types.d.ts.map +1 -1
  194. package/lib/organism/header-with-actions/index.d.ts +8 -22
  195. package/lib/organism/header-with-actions/index.d.ts.map +1 -1
  196. package/lib/organism/header-with-actions/index.js +7 -85
  197. package/lib/organism/header-with-actions/index.js.map +1 -1
  198. package/lib/organism/header-with-actions/types.d.ts +13 -44
  199. package/lib/organism/header-with-actions/types.d.ts.map +1 -1
  200. package/lib/organism/header-with-actions/types.js +6 -22
  201. package/lib/organism/header-with-actions/types.js.map +1 -1
  202. package/lib/organism/list-item/index.js +5 -5
  203. package/lib/organism/list-item/index.js.map +1 -1
  204. package/lib/organism/list-item/style.css +23 -17
  205. package/lib/organism/list-items/index.d.ts +13 -2
  206. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  207. package/lib/organism/mooc-header/index.js +8 -6
  208. package/lib/organism/mooc-header/index.js.map +1 -1
  209. package/lib/organism/mooc-header/style.css +22 -18
  210. package/lib/organism/rewards-form/index.d.ts +13 -2
  211. package/lib/organism/select-opponents/index.d.ts +13 -3
  212. package/lib/organism/select-opponents/index.d.ts.map +1 -1
  213. package/lib/organism/select-opponents/types.d.ts +13 -2
  214. package/lib/organism/select-opponents/types.d.ts.map +1 -1
  215. package/lib/organism/sidebar/index.d.ts +2 -2
  216. package/lib/organism/skill-edition/index.d.ts +37 -7
  217. package/lib/organism/skill-edition/index.d.ts.map +1 -1
  218. package/lib/organism/skill-edition/types.d.ts +37 -6
  219. package/lib/organism/skill-edition/types.d.ts.map +1 -1
  220. package/lib/organism/title-and-input/index.d.ts +25 -5
  221. package/lib/organism/title-and-input/index.d.ts.map +1 -1
  222. package/lib/organism/title-and-input/types.d.ts +24 -4
  223. package/lib/organism/title-and-input/types.d.ts.map +1 -1
  224. package/lib/organism/wizard-contents/index.d.ts +13 -2
  225. package/lib/template/app-player/loading/index.d.ts +27 -6
  226. package/lib/template/app-player/player/index.d.ts +53 -12
  227. package/lib/template/app-player/player/slides/index.d.ts +27 -6
  228. package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
  229. package/lib/template/app-player/popin-correction/index.d.ts +26 -6
  230. package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
  231. package/lib/template/app-player/popin-end/index.d.ts +27 -6
  232. package/lib/template/app-review/index.d.ts +27 -7
  233. package/lib/template/app-review/index.d.ts.map +1 -1
  234. package/lib/template/app-review/player/prop-types.d.ts +27 -6
  235. package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
  236. package/lib/template/app-review/prop-types.d.ts +27 -6
  237. package/lib/template/app-review/prop-types.d.ts.map +1 -1
  238. package/lib/template/back-office/brand-update/index.d.ts +95 -38
  239. package/lib/template/back-office/brand-update/index.d.ts.map +1 -1
  240. package/lib/template/back-office/brand-update/index.js +2 -4
  241. package/lib/template/back-office/brand-update/index.js.map +1 -1
  242. package/lib/template/back-office/brand-update/style.css +1 -4
  243. package/lib/template/back-office/brand-update/utils.d.ts +11 -39
  244. package/lib/template/back-office/brand-update/utils.js +0 -19
  245. package/lib/template/back-office/brand-update/utils.js.map +1 -1
  246. package/lib/template/common/dashboard/index.d.ts +53 -12
  247. package/lib/template/common/search-page/index.d.ts +27 -6
  248. package/lib/template/external-course/index.d.ts +27 -6
  249. package/lib/template/my-learning/index.d.ts +0 -1
  250. package/lib/template/my-learning/index.d.ts.map +1 -1
  251. package/lib/template/my-learning/index.js +26 -22
  252. package/lib/template/my-learning/index.js.map +1 -1
  253. package/lib/template/my-learning/style.css +9 -6
  254. package/lib/template/skill-detail/all-courses.css +3 -2
  255. package/lib/template/skill-detail/all-courses.d.ts +52 -17
  256. package/lib/template/skill-detail/all-courses.d.ts.map +1 -1
  257. package/lib/template/skill-detail/all-courses.js +11 -11
  258. package/lib/template/skill-detail/all-courses.js.map +1 -1
  259. package/lib/template/skill-detail/continue-learning.css +7 -2
  260. package/lib/template/skill-detail/continue-learning.d.ts +25 -12
  261. package/lib/template/skill-detail/continue-learning.d.ts.map +1 -1
  262. package/lib/template/skill-detail/continue-learning.js.map +1 -1
  263. package/lib/template/skill-detail/index.d.ts +81 -71
  264. package/lib/template/skill-detail/index.d.ts.map +1 -1
  265. package/lib/template/skill-detail/index.js +91 -58
  266. package/lib/template/skill-detail/index.js.map +1 -1
  267. package/lib/template/skill-detail/style.css +97 -39
  268. package/lib/variables/colors.css +10 -1
  269. package/lib/variables/colors.d.ts +13 -3
  270. package/lib/variables/colors.d.ts.map +1 -1
  271. package/lib/variables/colors.js +13 -3
  272. package/lib/variables/colors.js.map +1 -1
  273. package/lib/variables/theme.native.js +1 -1
  274. package/lib/variables/theme.native.js.map +1 -1
  275. package/locales/cs/global.json +1 -0
  276. package/locales/en/global.json +1 -0
  277. package/locales/hr/global.json +1 -0
  278. package/locales/it/global.json +1 -0
  279. package/locales/ko/global.json +1 -0
  280. package/locales/ru/global.json +1 -0
  281. package/package.json +2 -2
  282. package/locales/.mtslconfig.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useState","useMemo","PropTypes","convert","Provider","Icon","Picture","ButtonLink","ToolTip","ReviewNoSkills","SearchForm","SkillPickerModal","ResponsiveLearningProfileRadarChart","SkillsChartSideInformationPanel","LearnerSkillCard","searchValueIncluded","formatMinutes","CardsList","Title","style","ChangeSkillFocusButton","props","context","onClick","skin","translate","primarySkinColor","_get","createElement","customStyle","backgroundColor","color","transition","hoverBackgroundColor","hoverColor","label","icon","position","faIcon","name","size","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV","func","FilterButton","active","filter","skillTotal","Content","className","skillFilterNumber","skillFilterNumberInActive","buttonProps","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","_sortBy","skillRef","_getOr","activeFilter","setActiveFilter","skillsReviewReady","skill","availableForReview","graphDatas","_pipe","_map","toFixed","_fromPairs","graphLegends","filters","all","review","sumKpi","kpi","skillFocusSelectedOnChartScore","_sumBy","stats","coursedCompletedData","questionsToReviewData","learningTimeData","skillChartPaneLegends","focusedSkill","skillChartPanelProps","title","value","legend","iconName","skillsScore","handleOnDotClick","handleOpenSkillPicker","handleCloseSkillPicker","handleConfirmSkillPicker","focusSkillList","handleSearch","handleSearchReset","ReviewTooltipContent","backgroundContainer","_isEmpty","cards","cardsListContainer","_extends","type","subtitle","iconColor","borderRadius","tag","_size","container","isOpen","onCancel","onConfirm","onClose","skillFocusContainer","skillFocusHeader","skillFocusHeaderWrapper","skillFocusHeaderIcon","faSize","wrapperSize","skillFocusHeaderContent","skillFocusHeaderTitle","skillFocusHeaderDescription","length","skillFocusContent","radarContainer","totalDataset","height","data","onExploreClick","colors","gradient","fill","stroke","percentage","background","sidePanelItems","skillFocusEmpty","img","src","alt","skillFocusEmptyTitle","skillFocusEmptyDescription","skillListHeader","skillListHeaderIcon","skillListHeaderContent","skillListHeaderTitle","skillListHeaderDescription","fontSize","iconContainerClassName","infoIconTooltip","tooltipClassName","tooltip","TooltipContent","closeToolTipInformationTextAriaLabel","toolBarContainer","skillFilterContainer","_keys","map","index","handleFilterClick","key","searchWrapper","search","placeholder","onChange","onReset","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","skillListContainer","skillListEmptyContainer","titleNoSkills","textNoSkills","iconSkillAriaLabel","imagePosition","defaultStats","score","contentCompleted","questionsToReview","handleReviewSkill","handleExploreSkill","skillTitle","focus","includes","metrics","onReviewClick","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, size, isEmpty} 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 Title from '../../atom/title';\nimport style from './style.css';\n\nconst ChangeSkillFocusButton = (props, context) => {\n const {onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <div data-name=\"button-explore-wrapper\">\n <ButtonLink\n customStyle={{\n backgroundColor: convert(`color(${primarySkinColor} a(0.07))`),\n color: primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n }}\n hoverBackgroundColor={primarySkinColor}\n hoverColor=\"#FFFFFF\"\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: convert(`color(${primarySkinColor} a(0.07))`),\n color: 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\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 skillsScore = useMemo(\n () =>\n pipe(\n map(skill => [skill, getOr(0, [skill, 'stats', 'score'], skillsInformation)]),\n fromPairs\n )(skills),\n [skills, skillsInformation]\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 {isEmpty(learningPriorities?.cards) ? null : (\n <div className={style.cardsListContainer}>\n <CardsList\n {...learningPriorities}\n title={\n <Title\n {...{\n type: 'form-group',\n title: translate('learning_priorities'),\n subtitle: translate('learning_priorities_description'),\n icon: {\n iconName: 'sign-post',\n iconColor: '#A32700',\n borderRadius: '12px',\n backgroundColor: '#FFDCD1'\n },\n tag: {\n label: `${size(learningPriorities.cards)}`,\n type: 'default',\n size: 'S'\n }\n }}\n />\n }\n />\n </div>\n )}\n <div className={style.container}>\n <SkillPickerModal\n skills={skills}\n skillsScore={skillsScore}\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>\n <ButtonLink\n label={translate('skills_choose_focus')}\n type=\"primary\"\n customStyle={{\n width: 'fit-contain',\n backgroundColor: primarySkinColor\n }}\n hoverBackgroundColor={convert(\n `hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`\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} = skillsInformation[skill]\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 }}\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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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useState","useMemo","PropTypes","convert","Provider","Icon","Picture","ButtonLink","ToolTip","ReviewNoSkills","SearchForm","SkillPickerModal","ResponsiveLearningProfileRadarChart","SkillsChartSideInformationPanel","LearnerSkillCard","searchValueIncluded","formatMinutes","CardsList","Title","COLORS","style","roundScore","value","Math","round","ChangeSkillFocusButton","props","context","onClick","skin","translate","primarySkinColor","_get","createElement","customStyle","backgroundColor","color","transition","hoverBackgroundColor","hoverColor","white","label","icon","position","faIcon","name","size","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV","func","FilterButton","active","filter","skillTotal","Content","className","skillFilterNumber","skillFilterNumberInActive","gray","cm_grey_500","buttonProps","cm_grey_400","width","content","bool","string","number","MyLearning","skills","selectedSkills","skillsInformation","skillsLocales","learnerFeature","isLoading","onSkillFocusConfirm","onExploreSkill","learningPriorities","open","setOpen","selectedSkillsList","setSelectedSkillsList","skillFocusSelectedOnChart","setSkillFocusSelectedOnChart","undefined","searchValue","setSearchValue","searchResults","setSearchResults","_sortBy","skillRef","_getOr","activeFilter","setActiveFilter","skillsReviewReady","skill","availableForReview","graphDatas","_pipe","_map","_fromPairs","graphLegends","filters","all","review","sumKpi","kpi","skillFocusSelectedOnChartScore","_sumBy","stats","coursedCompletedData","questionsToReviewData","learningTimeData","skillChartPaneLegends","focusedSkill","skillChartPanelProps","title","legend","iconName","turquoise_100","pink_100","orange_100","skillsScore","handleOnDotClick","handleOpenSkillPicker","handleCloseSkillPicker","handleConfirmSkillPicker","focusSkillList","handleSearch","handleSearchReset","ReviewTooltipContent","backgroundContainer","_isEmpty","cards","cardsListContainer","_extends","type","subtitle","iconColor","cm_orange_800","borderRadius","tag","_size","container","isOpen","onCancel","onConfirm","onClose","skillFocusContainer","skillFocusHeader","skillFocusHeaderWrapper","skillFocusHeaderIcon","purple_100","faSize","wrapperSize","skillFocusHeaderContent","skillFocusHeaderTitle","skillFocusHeaderDescription","length","skillFocusContent","radarContainer","totalDataset","height","data","onExploreClick","colors","gradient","fill","stroke","percentage","background","sidePanelItems","skillFocusEmpty","img","src","alt","skillFocusEmptyTitle","skillFocusEmptyDescription","skillListHeader","skillListHeaderIcon","yellow_100","skillListHeaderContent","skillListHeaderTitle","skillListHeaderDescription","fontSize","iconContainerClassName","infoIconTooltip","tooltipClassName","tooltip","TooltipContent","closeToolTipInformationTextAriaLabel","toolBarContainer","skillFilterContainer","_keys","map","index","handleFilterClick","key","searchWrapper","search","placeholder","onChange","onReset","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","skillListContainer","skillListEmptyContainer","titleNoSkills","textNoSkills","iconSkillAriaLabel","imagePosition","defaultStats","score","contentCompleted","questionsToReview","handleExploreSkill","skillTitle","cardIndex","focus","includes","metrics","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, size, isEmpty} 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 Title from '../../atom/title';\nimport {COLORS} from '../../variables/colors';\nimport style from './style.css';\n\nconst roundScore = value => Math.round(value * 10) / 10;\n\nconst ChangeSkillFocusButton = (props, context) => {\n const {onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <div data-name=\"button-explore-wrapper\">\n <ButtonLink\n customStyle={{\n backgroundColor: convert(`color(${primarySkinColor} a(0.07))`),\n color: primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n }}\n hoverBackgroundColor={primarySkinColor}\n hoverColor={COLORS.white}\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: convert(`color(${primarySkinColor} a(0.07))`),\n color: 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))`) : COLORS.gray,\n color: active ? primarySkinColor : COLORS.cm_grey_500\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))`) : COLORS.white,\n color: active ? primarySkinColor : COLORS.cm_grey_400,\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 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\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, roundScore(getOr(0, [skill, 'stats', 'score'], skillsInformation))]),\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: COLORS.turquoise_100}\n },\n {\n title: translate('skill_chart_side_panel_learning_hours'),\n value: formatMinutes(learningTimeData),\n legend: skillChartPaneLegends,\n icon: {iconName: 'clock', backgroundColor: COLORS.pink_100}\n },\n {\n title: translate('skill_chart_side_panel_questions_to_review'),\n value: `${questionsToReviewData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'circle-question', backgroundColor: COLORS.orange_100}\n }\n ];\n\n const skillsScore = useMemo(\n () =>\n pipe(\n map(skill => [skill, getOr(0, [skill, 'stats', 'score'], skillsInformation)]),\n fromPairs\n )(skills),\n [skills, skillsInformation]\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 {isEmpty(learningPriorities?.cards) ? null : (\n <div className={style.cardsListContainer}>\n <CardsList\n {...learningPriorities}\n title={\n <Title\n {...{\n type: 'form-group',\n title: translate('learning_priorities'),\n subtitle: translate('learning_priorities_description'),\n icon: {\n iconName: 'sign-post',\n iconColor: COLORS.cm_orange_800,\n borderRadius: '12px',\n backgroundColor: COLORS.orange_100\n },\n tag: {\n label: `${size(learningPriorities.cards)}`,\n type: 'default',\n size: 'S'\n }\n }}\n />\n }\n />\n </div>\n )}\n <div className={style.container}>\n <SkillPickerModal\n skills={skills}\n skillsScore={skillsScore}\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={COLORS.purple_100}\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>\n <ButtonLink\n label={translate('skills_choose_focus')}\n type=\"primary\"\n customStyle={{\n width: 'fit-contain',\n backgroundColor: primarySkinColor\n }}\n hoverBackgroundColor={convert(\n `hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`\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={COLORS.yellow_100}\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' && 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 handleExploreSkill() {\n onExploreSkill(skill);\n }\n const {score, content, questionsToReview} = skillsInformation[skill]\n ? skillsInformation[skill].stats\n : defaultStats;\n const {color, name} = get([skill, 'icon'], skillsInformation);\n return (\n <div key={index}>\n <LearnerSkillCard\n skillTitle={skillsLocales[skill]}\n cardIndex={index}\n focus={selectedSkills.includes(skill)}\n metrics={{\n score,\n content,\n questionsToReview\n }}\n icon={{color, name}}\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 onExploreSkill: PropTypes.func,\n learningPriorities: PropTypes.shape(CardsList.propTypes)\n};\n\nexport default MyLearning;\n"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,9 @@
6
6
  @value cm_grey_50 from colors;
7
7
  @value cm_grey_100 from colors;
8
8
  @value cm_grey_500 from colors;
9
+ @value primary_100 from colors;
10
+ @value cm_primary_blue from colors;
11
+ @value white from colors;
9
12
 
10
13
  .backgroundContainer {
11
14
  background-color: white;
@@ -153,8 +156,8 @@
153
156
  .skillFilterNumber,
154
157
  .skillFilterNumberInActive {
155
158
  border-radius: 50%;
156
- background-color: #D6E6FF;
157
- color: #0061FF;
159
+ background-color: primary_100;
160
+ color: cm_primary_blue;
158
161
  padding: 2px 4px;
159
162
  margin-left: 8px;
160
163
  font-size: 10px;
@@ -163,8 +166,8 @@
163
166
  }
164
167
 
165
168
  .skillFilterNumberInActive {
166
- background-color: #EAEAEB;
167
- color: #515161;
169
+ background-color: cm_grey_100;
170
+ color: cm_grey_500;
168
171
  }
169
172
 
170
173
  .searchWrapper {
@@ -180,7 +183,7 @@
180
183
  .tooltip {
181
184
  padding: 8px 12px;
182
185
  width: 238px;
183
- color: #FFF;
186
+ color: white;
184
187
  font-size: 12px;
185
188
  font-style: normal;
186
189
  line-height: 16px;
@@ -229,7 +232,7 @@
229
232
  }
230
233
 
231
234
  .emptySearchResultClearSearch {
232
- color: #0061FF;
235
+ color: cm_primary_blue;
233
236
  font-size: 14px;
234
237
  font-style: normal;
235
238
  font-weight: 600;
@@ -21,8 +21,8 @@
21
21
 
22
22
  .continueLearningNumber {
23
23
  border-radius: 12px;
24
- background-color: #EAEAEB;
25
- color: #515161;
24
+ background-color: cm_grey_100;
25
+ color: cm_grey_500;
26
26
  padding: 2px 4px;
27
27
  margin-left: 8px;
28
28
  font-size: 10px;
@@ -49,6 +49,7 @@
49
49
  font-size: 14px;
50
50
  font-style: normal;
51
51
  font-weight: 600;
52
+ margin-right: 16px;
52
53
  }
53
54
 
54
55
  .sortWrapper {
@@ -1,8 +1,43 @@
1
- export default AllCourses;
2
- declare function AllCourses(props: any, context: any): JSX.Element;
3
- declare namespace AllCourses {
4
- namespace contextTypes {
5
- const skin: PropTypes.Requireable<PropTypes.InferProps<{
1
+ /// <reference types="react" />
2
+ import PropTypes from 'prop-types';
3
+ import { CardsGridProps } from '../../organism/cards-grid';
4
+ interface ProviderContext {
5
+ skin: {
6
+ common: {
7
+ primary: string;
8
+ secondary: string;
9
+ };
10
+ };
11
+ translate: (key: string, options?: any) => string;
12
+ }
13
+ declare const AllCourses: {
14
+ (props: {
15
+ dataName?: string | undefined;
16
+ ariaLabel?: string | undefined;
17
+ selected?: boolean | undefined;
18
+ label?: string | undefined;
19
+ content: {
20
+ list: CardsGridProps['list'];
21
+ loading?: boolean;
22
+ };
23
+ totalContents?: number | undefined;
24
+ search: {
25
+ oldValue: string;
26
+ onChange: (value: string) => void;
27
+ };
28
+ bannerMicrolearning?: {
29
+ type: 'skill' | 'playlist';
30
+ action: () => void;
31
+ oldSwitchValue: boolean;
32
+ } | undefined;
33
+ filters: {
34
+ onChange?: ((value: string) => void) | undefined;
35
+ options?: unknown[] | undefined;
36
+ };
37
+ sorting?: unknown;
38
+ }, context: ProviderContext): JSX.Element;
39
+ contextTypes: {
40
+ skin: PropTypes.Requireable<PropTypes.InferProps<{
6
41
  common: PropTypes.Requireable<{
7
42
  [x: string]: any;
8
43
  }>;
@@ -23,18 +58,18 @@ declare namespace AllCourses {
23
58
  [x: string]: any;
24
59
  }>;
25
60
  }>>;
26
- const translate: PropTypes.Requireable<(...args: any[]) => any>;
27
- }
28
- namespace propTypes {
29
- const content: PropTypes.Requireable<PropTypes.InferProps<{
61
+ translate: PropTypes.Requireable<(...args: any[]) => any>;
62
+ };
63
+ propTypes: {
64
+ content: PropTypes.Requireable<PropTypes.InferProps<{
30
65
  list: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
31
66
  customStyle: PropTypes.Requireable<{
32
67
  [x: string]: string | null | undefined;
33
68
  }>;
34
69
  loading: PropTypes.Requireable<boolean>;
35
70
  }>>;
36
- const totalContents: PropTypes.Requireable<number>;
37
- const filters: PropTypes.Requireable<PropTypes.InferProps<{
71
+ totalContents: PropTypes.Requireable<number>;
72
+ filters: PropTypes.Requireable<PropTypes.InferProps<{
38
73
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
39
74
  options: PropTypes.Requireable<(PropTypes.InferProps<{
40
75
  name: PropTypes.Validator<string>;
@@ -43,7 +78,7 @@ declare namespace AllCourses {
43
78
  validOption: PropTypes.Requireable<boolean>;
44
79
  }> | null | undefined)[]>;
45
80
  }>>;
46
- const sorting: PropTypes.Requireable<PropTypes.InferProps<{
81
+ sorting: PropTypes.Requireable<PropTypes.InferProps<{
47
82
  title: PropTypes.Requireable<string>;
48
83
  name: PropTypes.Requireable<string>;
49
84
  className: PropTypes.Requireable<string>;
@@ -74,16 +109,16 @@ declare namespace AllCourses {
74
109
  'aria-label': PropTypes.Requireable<string>;
75
110
  'aria-labelledby': PropTypes.Requireable<string>;
76
111
  }>>;
77
- const bannerMicrolearning: PropTypes.Requireable<PropTypes.InferProps<{
112
+ bannerMicrolearning: PropTypes.Requireable<PropTypes.InferProps<{
78
113
  type: PropTypes.Requireable<string>;
79
114
  action: PropTypes.Requireable<(...args: any[]) => any>;
80
115
  oldSwitchValue: PropTypes.Requireable<boolean>;
81
116
  }>>;
82
- const search: PropTypes.Requireable<PropTypes.InferProps<{
117
+ search: PropTypes.Requireable<PropTypes.InferProps<{
83
118
  oldValue: PropTypes.Requireable<string>;
84
119
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
85
120
  }>>;
86
- }
87
- }
88
- import PropTypes from "prop-types";
121
+ };
122
+ };
123
+ export default AllCourses;
89
124
  //# sourceMappingURL=all-courses.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"all-courses.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/all-courses.js"],"names":[],"mappings":";AAgDA,mEA8JC"}
1
+ {"version":3,"file":"all-courses.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/all-courses.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAMnC,OAAkB,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAQpE,UAAU,eAAe;IACvB,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;CACnD;AAgDD,QAAA,MAAM,UAAU;;;;;;iBAMH;YACP,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;SACnB;;;sBAGW,MAAM;8BACE,MAAM,KAAK,IAAI;;;kBAG3B,OAAO,GAAG,UAAU;oBAClB,MAAM,IAAI;4BACF,OAAO;;;gCAGJ,MAAM,KAAK,IAAI;;;kBAG1B,OAAO;gBAEV,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgKzB,CAAC;AA0BF,eAAe,UAAU,CAAC"}
@@ -15,7 +15,10 @@ import SearchForm from '../../molecule/search-form';
15
15
  import CardsGrid from '../../organism/cards-grid';
16
16
  import InputSwitch from '../../atom/input-switch';
17
17
  import Banner from '../../molecule/banner';
18
+ import { COLORS } from '../../variables/colors';
18
19
  import style from './all-courses.css';
20
+
21
+ // @ts-expect-error convert untypped
19
22
  const uncappedMap = _map.convert({
20
23
  cap: false
21
24
  });
@@ -33,8 +36,8 @@ const FilterButton = (props, context) => {
33
36
  const primarySkinColor = _get('common.primary', skin);
34
37
  const buttonProps = {
35
38
  customStyle: {
36
- backgroundColor: selected ? primarySkinColor : '#E1E1E3',
37
- color: selected ? '#FFFFFF' : '#515161',
39
+ backgroundColor: selected ? primarySkinColor : COLORS.cm_grey_150,
40
+ color: selected ? COLORS.white : COLORS.cm_grey_500,
38
41
  transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',
39
42
  width: 'fit-content'
40
43
  },
@@ -65,7 +68,7 @@ const AllCourses = (props, context) => {
65
68
  filters,
66
69
  sorting,
67
70
  totalContents,
68
- bannerMicrolearning = {},
71
+ bannerMicrolearning = undefined,
69
72
  search: {
70
73
  oldValue: oldSearchValue,
71
74
  onChange: handleSearch
@@ -79,11 +82,9 @@ const AllCourses = (props, context) => {
79
82
  list,
80
83
  loading
81
84
  } = content;
82
- const {
83
- type: bannerMessageType,
84
- action: bannerAction,
85
- oldSwitchValue
86
- } = bannerMicrolearning;
85
+ const bannerMessageType = bannerMicrolearning?.type;
86
+ const bannerAction = bannerMicrolearning?.action;
87
+ const oldSwitchValue = bannerMicrolearning?.oldSwitchValue;
87
88
  const [showCompleted, setShowCompleted] = useState(true);
88
89
  const [searchValue, setSearchValue] = useState(oldSearchValue || '');
89
90
  const sortView = sorting !== undefined ? /*#__PURE__*/React.createElement("div", {
@@ -103,7 +104,7 @@ const AllCourses = (props, context) => {
103
104
  setSearchValue(value);
104
105
  debounceHandleSearch(value);
105
106
  }, [debounceHandleSearch]);
106
- const handleSearchReset = useCallback(value => {
107
+ const handleSearchReset = useCallback(() => {
107
108
  setSearchValue('');
108
109
  debounceHandleSearch('');
109
110
  }, [debounceHandleSearch]);
@@ -132,9 +133,9 @@ const AllCourses = (props, context) => {
132
133
  className: style.sortSection
133
134
  }, /*#__PURE__*/React.createElement(InputSwitch, {
134
135
  id: 'show-completed-courses-switch',
135
- type: "switch",
136
136
  name: translate('show_completed'),
137
137
  title: translate('show_completed'),
138
+ theme: "default",
138
139
  "aria-label": 'Show completed courses aria label',
139
140
  value: showCompleted,
140
141
  onChange: handleShowCompletedToggle
@@ -160,7 +161,7 @@ const AllCourses = (props, context) => {
160
161
  selected
161
162
  } = filterProps;
162
163
  function handleFilterChange() {
163
- onChange(value);
164
+ onChange && onChange(value);
164
165
  }
165
166
  return /*#__PURE__*/React.createElement("div", {
166
167
  key: index,
@@ -1 +1 @@
1
- {"version":3,"file":"all-courses.js","names":["React","useState","useCallback","useMemo","PropTypes","Provider","Select","SelectOptionPropTypes","ButtonLink","SearchForm","CardsGrid","InputSwitch","Banner","style","uncappedMap","_map","convert","cap","FilterButton","props","context","dataName","ariaLabel","selected","label","onClick","skin","primarySkinColor","_get","buttonProps","customStyle","backgroundColor","color","transition","width","createElement","contextTypes","childContextTypes","translate","propTypes","process","env","NODE_ENV","string","bool","func","AllCourses","content","filters","sorting","totalContents","bannerMicrolearning","search","oldValue","oldSearchValue","onChange","handleSearch","options","list","loading","type","bannerMessageType","action","bannerAction","oldSwitchValue","showCompleted","setShowCompleted","searchValue","setSearchValue","sortView","undefined","_extends","filteredContent","_filter","course","progress","debounceHandleSearch","_debounce","value","onSearchChange","handleSearchReset","handleShowCompletedToggle","prevShowCompleted","Fragment","className","continueLearningWrapper","continueLearningTitle","continueLearningNumber","_isNil","_size","searchAndSortSection","searchWrapper","placeholder","onReset","dataTestId","sortSection","id","name","title","sortWrapper","_isEmpty","bannerWrapper","message","cta","filterWrapper","filterProps","index","handleFilterChange","key","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","number","arrayOf","oneOf"],"sources":["../../../src/template/skill-detail/all-courses.js"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, filter, map, size, isNil, isEmpty, debounce} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid from '../../organism/cards-grid';\nimport InputSwitch from '../../atom/input-switch';\nimport Banner from '../../molecule/banner';\nimport style from './all-courses.css';\n\nconst uncappedMap = map.convert({cap: false});\n\nconst FilterButton = (props, context) => {\n const {dataName, ariaLabel, selected, label, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : '#E1E1E3',\n color: selected ? '#FFFFFF' : '#515161',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label,\n onClick,\n 'data-name': dataName,\n 'aria-label': ariaLabel\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 dataName: PropTypes.string,\n ariaLabel: PropTypes.string,\n selected: PropTypes.bool,\n label: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (props, context) => {\n const {translate} = context;\n const {\n content,\n filters,\n sorting,\n totalContents,\n bannerMicrolearning = {},\n search: {oldValue: oldSearchValue, onChange: handleSearch}\n } = props;\n const {options, onChange} = filters;\n const {list, loading} = content;\n const {type: bannerMessageType, action: bannerAction, oldSwitchValue} = bannerMicrolearning;\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState(oldSearchValue || '');\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\">\n <Select {...sorting} aria-label=\"All courses sort\" />\n </div>\n ) : null;\n\n const filteredContent = useMemo(() => {\n return showCompleted ? list : filter(course => course.progress < 1, list);\n }, [list, showCompleted]);\n\n const debounceHandleSearch = useMemo(() => {\n return debounce(800, value => {\n handleSearch(value);\n });\n }, [handleSearch]);\n\n const onSearchChange = useCallback(\n value => {\n setSearchValue(value);\n debounceHandleSearch(value);\n },\n [debounceHandleSearch]\n );\n\n const handleSearchReset = useCallback(\n value => {\n setSearchValue('');\n debounceHandleSearch('');\n },\n [debounceHandleSearch]\n );\n\n const handleShowCompletedToggle = useCallback(() => {\n setShowCompleted(prevShowCompleted => !prevShowCompleted);\n }, []);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_content')}</span>\n <span className={style.continueLearningNumber}>\n {isNil(totalContents) ? size(filteredContent) : totalContents}\n </span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: onSearchChange\n }}\n onReset={handleSearchReset}\n dataTestId=\"all-courses-search-input\"\n />\n </div>\n <div className={style.sortSection}>\n <InputSwitch\n id={'show-completed-courses-switch'}\n type=\"switch\"\n name={translate('show_completed')}\n title={translate('show_completed')}\n aria-label={'Show completed courses aria label'}\n value={showCompleted}\n onChange={handleShowCompletedToggle}\n />\n {sortView ? (\n <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n ) : null}\n </div>\n </div>\n {!isEmpty(bannerMicrolearning) ? (\n <div className={style.bannerWrapper}>\n <Banner\n type=\"info\"\n message={\n bannerMessageType === 'skill'\n ? translate('banner_microlearning_rule_message_skill')\n : translate('banner_microlearning_rule_message')\n }\n cta={[\n {\n type: 'switch',\n label: translate('banner_microlearning_rule_label'),\n action: bannerAction,\n oldSwitchValue\n }\n ]}\n />\n </div>\n ) : null}\n <div className={style.filterWrapper}>\n {size(options) > 2\n ? uncappedMap((filterProps, index) => {\n const {name, value, selected} = filterProps;\n\n function handleFilterChange() {\n onChange(value);\n }\n\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton\n dataName={`filter-button-${value}`}\n ariaLabel={`Filter by ${name}`}\n selected={selected}\n label={name}\n onClick={handleFilterChange}\n />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n }, options)\n : null}\n </div>\n <div>\n {size(filteredContent) ? (\n <CardsGrid\n list={filteredContent}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n content: PropTypes.shape(CardsGrid.propTypes),\n totalContents: 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 bannerMicrolearning: PropTypes.shape({\n type: PropTypes.oneOf(['skill', 'playlist']),\n action: PropTypes.func,\n oldSwitchValue: PropTypes.bool\n }),\n search: PropTypes.shape({\n oldValue: PropTypes.string,\n onChange: PropTypes.func\n })\n};\n\nexport default AllCourses;\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IAAGC,QAAQ,EAAEC,WAAW,EAAEC,OAAO,QAAO,OAAO;AAC3D,OAAOC,SAAS,MAAM,YAAY;AAElC,OAAOC,QAAQ,MAAM,qBAAqB;AAC1C,OAAOC,MAAM,IAAGC,qBAAqB,QAAO,mBAAmB;AAC/D,OAAOC,UAAU,MAAM,wBAAwB;AAC/C,OAAOC,UAAU,MAAM,4BAA4B;AACnD,OAAOC,SAAS,MAAM,2BAA2B;AACjD,OAAOC,WAAW,MAAM,yBAAyB;AACjD,OAAOC,MAAM,MAAM,uBAAuB;AAC1C,OAAOC,KAAK,MAAM,mBAAmB;AAErC,MAAMC,WAAW,GAAGC,IAAA,CAAIC,OAAO,CAAC;EAACC,GAAG,EAAE;AAAK,CAAC,CAAC;AAE7C,MAAMC,YAAY,GAAGA,CAACC,KAAK,EAAEC,OAAO,KAAK;EACvC,MAAM;IAACC,QAAQ;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGN,KAAK;EAC7D,MAAM;IAACO;EAAI,CAAC,GAAGN,OAAO;EACtB,MAAMO,gBAAgB,GAAGC,IAAA,CAAI,gBAAgB,EAAEF,IAAI,CAAC;EAEpD,MAAMG,WAAW,GAAG;IAClBC,WAAW,EAAE;MACXC,eAAe,EAAER,QAAQ,GAAGI,gBAAgB,GAAG,SAAS;MACxDK,KAAK,EAAET,QAAQ,GAAG,SAAS,GAAG,SAAS;MACvCU,UAAU,EAAE,6DAA6D;MACzEC,KAAK,EAAE;IACT,CAAC;IACDV,KAAK;IACLC,OAAO;IACP,WAAW,EAAEJ,QAAQ;IACrB,YAAY,EAAEC;EAChB,CAAC;EAED,oBAAOtB,KAAA,CAAAmC,aAAA,CAAC3B,UAAU,EAAKqB,WAAc,CAAC;AACxC,CAAC;AAEDX,YAAY,CAACkB,YAAY,GAAG;EAC1BV,IAAI,EAAErB,QAAQ,CAACgC,iBAAiB,CAACX,IAAI;EACrCY,SAAS,EAAEjC,QAAQ,CAACgC,iBAAiB,CAACC;AACxC,CAAC;AAEDpB,YAAY,CAACqB,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAG;EACvBrB,QAAQ,EAAEjB,SAAS,CAACuC,MAAM;EAC1BrB,SAAS,EAAElB,SAAS,CAACuC,MAAM;EAC3BpB,QAAQ,EAAEnB,SAAS,CAACwC,IAAI;EACxBpB,KAAK,EAAEpB,SAAS,CAACuC,MAAM;EACvBlB,OAAO,EAAErB,SAAS,CAACyC;AACrB,CAAC;AAED,MAAMC,UAAU,GAAGA,CAAC3B,KAAK,EAAEC,OAAO,KAAK;EACrC,MAAM;IAACkB;EAAS,CAAC,GAAGlB,OAAO;EAC3B,MAAM;IACJ2B,OAAO;IACPC,OAAO;IACPC,OAAO;IACPC,aAAa;IACbC,mBAAmB,GAAG,CAAC,CAAC;IACxBC,MAAM,EAAE;MAACC,QAAQ,EAAEC,cAAc;MAAEC,QAAQ,EAAEC;IAAY;EAC3D,CAAC,GAAGrC,KAAK;EACT,MAAM;IAACsC,OAAO;IAAEF;EAAQ,CAAC,GAAGP,OAAO;EACnC,MAAM;IAACU,IAAI;IAAEC;EAAO,CAAC,GAAGZ,OAAO;EAC/B,MAAM;IAACa,IAAI,EAAEC,iBAAiB;IAAEC,MAAM,EAAEC,YAAY;IAAEC;EAAc,CAAC,GAAGb,mBAAmB;EAC3F,MAAM,CAACc,aAAa,EAAEC,gBAAgB,CAAC,GAAGjE,QAAQ,CAAC,IAAI,CAAC;EACxD,MAAM,CAACkE,WAAW,EAAEC,cAAc,CAAC,GAAGnE,QAAQ,CAACqD,cAAc,IAAI,EAAE,CAAC;EAEpE,MAAMe,QAAQ,GACZpB,OAAO,KAAKqB,SAAS,gBACnBtE,KAAA,CAAAmC,aAAA;IAAK,aAAU;EAAQ,gBACrBnC,KAAA,CAAAmC,aAAA,CAAC7B,MAAM,EAAAiE,QAAA,KAAKtB,OAAO;IAAE,cAAW;EAAkB,EAAE,CACjD,CAAC,GACJ,IAAI;EAEV,MAAMuB,eAAe,GAAGrE,OAAO,CAAC,MAAM;IACpC,OAAO8D,aAAa,GAAGP,IAAI,GAAGe,OAAA,CAAOC,MAAM,IAAIA,MAAM,CAACC,QAAQ,GAAG,CAAC,EAAEjB,IAAI,CAAC;EAC3E,CAAC,EAAE,CAACA,IAAI,EAAEO,aAAa,CAAC,CAAC;EAEzB,MAAMW,oBAAoB,GAAGzE,OAAO,CAAC,MAAM;IACzC,OAAO0E,SAAA,CAAS,GAAG,EAAEC,KAAK,IAAI;MAC5BtB,YAAY,CAACsB,KAAK,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC,EAAE,CAACtB,YAAY,CAAC,CAAC;EAElB,MAAMuB,cAAc,GAAG7E,WAAW,CAChC4E,KAAK,IAAI;IACPV,cAAc,CAACU,KAAK,CAAC;IACrBF,oBAAoB,CAACE,KAAK,CAAC;EAC7B,CAAC,EACD,CAACF,oBAAoB,CACvB,CAAC;EAED,MAAMI,iBAAiB,GAAG9E,WAAW,CACnC4E,KAAK,IAAI;IACPV,cAAc,CAAC,EAAE,CAAC;IAClBQ,oBAAoB,CAAC,EAAE,CAAC;EAC1B,CAAC,EACD,CAACA,oBAAoB,CACvB,CAAC;EAED,MAAMK,yBAAyB,GAAG/E,WAAW,CAAC,MAAM;IAClDgE,gBAAgB,CAACgB,iBAAiB,IAAI,CAACA,iBAAiB,CAAC;EAC3D,CAAC,EAAE,EAAE,CAAC;EAEN,oBACElF,KAAA,CAAAmC,aAAA,CAAAnC,KAAA,CAAAmF,QAAA,qBACEnF,KAAA,CAAAmC,aAAA;IAAKiD,SAAS,EAAEvE,KAAK,CAACwE;EAAwB,gBAC5CrF,KAAA,CAAAmC,aAAA;IAAMiD,SAAS,EAAEvE,KAAK,CAACyE;EAAsB,GAAEhD,SAAS,CAAC,aAAa,CAAQ,CAAC,eAC/EtC,KAAA,CAAAmC,aAAA;IAAMiD,SAAS,EAAEvE,KAAK,CAAC0E;EAAuB,GAC3CC,MAAA,CAAMtC,aAAa,CAAC,GAAGuC,KAAA,CAAKjB,eAAe,CAAC,GAAGtB,aAC5C,CACH,CAAC,eACNlD,KAAA,CAAAmC,aAAA;IAAKiD,SAAS,EAAEvE,KAAK,CAAC6E;EAAqB,gBACzC1F,KAAA,CAAAmC,aAAA;IAAKiD,SAAS,EAAEvE,KAAK,CAAC8E;EAAc,gBAClC3F,KAAA,CAAAmC,aAAA,CAAC1B,UAAU;IACT2C,MAAM,EAAE;MACNwC,WAAW,EAAEtD,SAAS,CAAC,qBAAqB,CAAC;MAC7CwC,KAAK,EAAEX,WAAW;MAClBZ,QAAQ,EAAEwB;IACZ,CAAE;IACFc,OAAO,EAAEb,iBAAkB;IAC3Bc,UAAU,EAAC;EAA0B,CACtC,CACE,CAAC,eACN9F,KAAA,CAAAmC,aAAA;IAAKiD,SAAS,EAAEvE,KAAK,CAACkF;EAAY,gBAChC/F,KAAA,CAAAmC,aAAA,CAACxB,WAAW;IACVqF,EAAE,EAAE,+BAAgC;IACpCpC,IAAI,EAAC,QAAQ;IACbqC,IAAI,EAAE3D,SAAS,CAAC,gBAAgB,CAAE;IAClC4D,KAAK,EAAE5D,SAAS,CAAC,gBAAgB,CAAE;IACnC,cAAY,mCAAoC;IAChDwC,KAAK,EAAEb,aAAc;IACrBV,QAAQ,EAAE0B;EAA0B,CACrC,CAAC,EACDZ,QAAQ,gBACPrE,KAAA,CAAAmC,aAAA;IAAKiD,SAAS,EAAEvE,KAAK,CAACsF;EAAY,GAC/B7D,SAAS,CAAC,SAAS,CAAC,EACpB+B,QACE,CAAC,GACJ,IACD,CACF,CAAC,EACL,CAAC+B,QAAA,CAAQjD,mBAAmB,CAAC,gBAC5BnD,KAAA,CAAAmC,aAAA;IAAKiD,SAAS,EAAEvE,KAAK,CAACwF;EAAc,gBAClCrG,KAAA,CAAAmC,aAAA,CAACvB,MAAM;IACLgD,IAAI,EAAC,MAAM;IACX0C,OAAO,EACLzC,iBAAiB,KAAK,OAAO,GACzBvB,SAAS,CAAC,yCAAyC,CAAC,GACpDA,SAAS,CAAC,mCAAmC,CAClD;IACDiE,GAAG,EAAE,CACH;MACE3C,IAAI,EAAE,QAAQ;MACdpC,KAAK,EAAEc,SAAS,CAAC,iCAAiC,CAAC;MACnDwB,MAAM,EAAEC,YAAY;MACpBC;IACF,CAAC;EACD,CACH,CACE,CAAC,GACJ,IAAI,eACRhE,KAAA,CAAAmC,aAAA;IAAKiD,SAAS,EAAEvE,KAAK,CAAC2F;EAAc,GACjCf,KAAA,CAAKhC,OAAO,CAAC,GAAG,CAAC,GACd3C,WAAW,CAAC,CAAC2F,WAAW,EAAEC,KAAK,KAAK;IAClC,MAAM;MAACT,IAAI;MAAEnB,KAAK;MAAEvD;IAAQ,CAAC,GAAGkF,WAAW;IAE3C,SAASE,kBAAkBA,CAAA,EAAG;MAC5BpD,QAAQ,CAACuB,KAAK,CAAC;IACjB;IAEA,oBACE9E,KAAA,CAAAmC,aAAA;MAAKyE,GAAG,EAAEF,KAAM;MAACtB,SAAS,EAAEvE,KAAK,CAACgG;IAAoB,gBACpD7G,KAAA,CAAAmC,aAAA,CAACjB,YAAY;MACXG,QAAQ,EAAE,iBAAiByD,KAAK,EAAG;MACnCxD,SAAS,EAAE,aAAa2E,IAAI,EAAG;MAC/B1E,QAAQ,EAAEA,QAAS;MACnBC,KAAK,EAAEyE,IAAK;MACZxE,OAAO,EAAEkF;IAAmB,CAC7B,CAAC,EACD7B,KAAK,KAAK,KAAK,gBAAG9E,KAAA,CAAAmC,aAAA;MAAKiD,SAAS,EAAEvE,KAAK,CAACiG;IAAQ,CAAE,CAAC,GAAG,IACpD,CAAC;EAEV,CAAC,EAAErD,OAAO,CAAC,GACX,IACD,CAAC,eACNzD,KAAA,CAAAmC,aAAA,cACGsD,KAAA,CAAKjB,eAAe,CAAC,gBACpBxE,KAAA,CAAAmC,aAAA,CAACzB,SAAS;IACRgD,IAAI,EAAEc,eAAgB;IACtBb,OAAO,EAAEA,OAAQ;IACjB7B,WAAW,EAAE;MAACiF,cAAc,EAAE;IAAM;EAAE,CACvC,CAAC,gBAEF/G,KAAA,CAAAmC,aAAA;IAAKiD,SAAS,EAAEvE,KAAK,CAACmG;EAA2B,gBAC/ChH,KAAA,CAAAmC,aAAA;IAAKiD,SAAS,EAAEvE,KAAK,CAACoG;EAAuB,GAC1C3E,SAAS,CAAC,2BAA2B,EAAE;IAAC6B;EAAW,CAAC,CAClD,CAAC,eACNnE,KAAA,CAAAmC,aAAA;IAAKiD,SAAS,EAAEvE,KAAK,CAACqG;EAA6B,GAChD5E,SAAS,CAAC,iCAAiC,CACzC,CAAC,eACNtC,KAAA,CAAAmC,aAAA;IAAKiD,SAAS,EAAEvE,KAAK,CAACsG,4BAA6B;IAAC1F,OAAO,EAAEuD;EAAkB,GAC5E1C,SAAS,CAAC,kCAAkC,CAC1C,CACF,CAEJ,CACL,CAAC;AAEP,CAAC;AAEDQ,UAAU,CAACV,YAAY,GAAG;EACxBV,IAAI,EAAErB,QAAQ,CAACgC,iBAAiB,CAACX,IAAI;EACrCY,SAAS,EAAEjC,QAAQ,CAACgC,iBAAiB,CAACC;AACxC,CAAC;AAEDQ,UAAU,CAACP,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAG;EACrBK,OAAO,EAAE3C,SAAS,CAACgH,KAAK,CAAC1G,SAAS,CAAC6B,SAAS,CAAC;EAC7CW,aAAa,EAAE9C,SAAS,CAACiH,MAAM;EAC/BrE,OAAO,EAAE5C,SAAS,CAACgH,KAAK,CAAC;IACvB7D,QAAQ,EAAEnD,SAAS,CAACyC,IAAI;IACxBY,OAAO,EAAErD,SAAS,CAACkH,OAAO,CAAClH,SAAS,CAACgH,KAAK,CAAC7G,qBAAqB,CAAC;EACnE,CAAC,CAAC;EACF0C,OAAO,EAAE7C,SAAS,CAACgH,KAAK,CAAC9G,MAAM,CAACiC,SAAS,CAAC;EAC1CY,mBAAmB,EAAE/C,SAAS,CAACgH,KAAK,CAAC;IACnCxD,IAAI,EAAExD,SAAS,CAACmH,KAAK,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5CzD,MAAM,EAAE1D,SAAS,CAACyC,IAAI;IACtBmB,cAAc,EAAE5D,SAAS,CAACwC;EAC5B,CAAC,CAAC;EACFQ,MAAM,EAAEhD,SAAS,CAACgH,KAAK,CAAC;IACtB/D,QAAQ,EAAEjD,SAAS,CAACuC,MAAM;IAC1BY,QAAQ,EAAEnD,SAAS,CAACyC;EACtB,CAAC;AACH,CAAC;AAED,eAAeC,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"all-courses.js","names":["React","useState","useCallback","useMemo","PropTypes","Provider","Select","SelectOptionPropTypes","ButtonLink","SearchForm","CardsGrid","InputSwitch","Banner","COLORS","style","uncappedMap","_map","convert","cap","FilterButton","props","context","dataName","ariaLabel","selected","label","onClick","skin","primarySkinColor","_get","buttonProps","customStyle","backgroundColor","cm_grey_150","color","white","cm_grey_500","transition","width","createElement","contextTypes","childContextTypes","translate","propTypes","process","env","NODE_ENV","string","bool","func","AllCourses","content","filters","sorting","totalContents","bannerMicrolearning","undefined","search","oldValue","oldSearchValue","onChange","handleSearch","options","list","loading","bannerMessageType","type","bannerAction","action","oldSwitchValue","showCompleted","setShowCompleted","searchValue","setSearchValue","sortView","_extends","filteredContent","_filter","course","progress","debounceHandleSearch","_debounce","value","onSearchChange","handleSearchReset","handleShowCompletedToggle","prevShowCompleted","Fragment","className","continueLearningWrapper","continueLearningTitle","continueLearningNumber","_isNil","_size","searchAndSortSection","searchWrapper","placeholder","onReset","dataTestId","sortSection","id","name","title","theme","sortWrapper","_isEmpty","bannerWrapper","message","cta","filterWrapper","filterProps","index","handleFilterChange","key","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","number","arrayOf","oneOf"],"sources":["../../../src/template/skill-detail/all-courses.tsx"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, filter, map, size, isNil, isEmpty, debounce} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid, {CardsGridProps} from '../../organism/cards-grid';\nimport InputSwitch from '../../atom/input-switch';\nimport Banner from '../../molecule/banner';\nimport {COLORS} from '../../variables/colors';\nimport style from './all-courses.css';\n\n// @ts-expect-error convert untypped\nconst uncappedMap = map.convert({cap: false});\ninterface ProviderContext {\n skin: {\n common: {\n primary: string;\n secondary: string;\n };\n };\n translate: (key: string, options?: any) => string;\n}\n\ninterface FilterOption {\n name: string;\n value: string;\n selected: boolean;\n}\n\ninterface FilterButtonProps {\n dataName?: string;\n ariaLabel?: string;\n selected?: boolean;\n label?: string;\n onClick?: () => void;\n}\nconst FilterButton = (props: FilterButtonProps, context: ProviderContext) => {\n const {dataName, ariaLabel, selected, label, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : COLORS.cm_grey_150,\n color: selected ? COLORS.white : COLORS.cm_grey_500,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label,\n onClick,\n 'data-name': dataName,\n 'aria-label': ariaLabel\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\nFilterButton.propTypes = {\n dataName: PropTypes.string,\n ariaLabel: PropTypes.string,\n selected: PropTypes.bool,\n label: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (\n props: {\n dataName?: string;\n ariaLabel?: string;\n selected?: boolean;\n label?: string;\n content: {\n list: CardsGridProps['list'];\n loading?: boolean;\n };\n totalContents?: number;\n search: {\n oldValue: string;\n onChange: (value: string) => void;\n };\n bannerMicrolearning?: {\n type: 'skill' | 'playlist';\n action: () => void;\n oldSwitchValue: boolean;\n };\n filters: {\n onChange?: (value: string) => void;\n options?: unknown[];\n };\n sorting?: unknown;\n },\n context: ProviderContext\n) => {\n const {translate} = context;\n const {\n content,\n filters,\n sorting,\n totalContents,\n bannerMicrolearning = undefined,\n search: {oldValue: oldSearchValue, onChange: handleSearch}\n } = props;\n const {options, onChange} = filters;\n const {list, loading} = content;\n const bannerMessageType = bannerMicrolearning?.type;\n const bannerAction = bannerMicrolearning?.action;\n const oldSwitchValue = bannerMicrolearning?.oldSwitchValue;\n\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState(oldSearchValue || '');\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\">\n <Select {...sorting} aria-label=\"All courses sort\" />\n </div>\n ) : null;\n\n const filteredContent = useMemo(() => {\n return showCompleted ? list : filter(course => course.progress < 1, list);\n }, [list, showCompleted]);\n\n const debounceHandleSearch = useMemo(() => {\n return debounce(800, value => {\n handleSearch(value);\n });\n }, [handleSearch]);\n\n const onSearchChange = useCallback(\n value => {\n setSearchValue(value);\n debounceHandleSearch(value);\n },\n [debounceHandleSearch]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n debounceHandleSearch('');\n }, [debounceHandleSearch]);\n\n const handleShowCompletedToggle = useCallback(() => {\n setShowCompleted(prevShowCompleted => !prevShowCompleted);\n }, []);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_content')}</span>\n <span className={style.continueLearningNumber}>\n {isNil(totalContents) ? size(filteredContent) : totalContents}\n </span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: onSearchChange\n }}\n onReset={handleSearchReset}\n dataTestId=\"all-courses-search-input\"\n />\n </div>\n <div className={style.sortSection}>\n <InputSwitch\n id={'show-completed-courses-switch'}\n name={translate('show_completed')}\n title={translate('show_completed')}\n theme=\"default\"\n aria-label={'Show completed courses aria label'}\n value={showCompleted}\n onChange={handleShowCompletedToggle}\n />\n {sortView ? (\n <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n ) : null}\n </div>\n </div>\n {!isEmpty(bannerMicrolearning) ? (\n <div className={style.bannerWrapper}>\n <Banner\n type=\"info\"\n message={\n bannerMessageType === 'skill'\n ? translate('banner_microlearning_rule_message_skill')\n : translate('banner_microlearning_rule_message')\n }\n cta={[\n {\n type: 'switch',\n label: translate('banner_microlearning_rule_label'),\n action: bannerAction,\n oldSwitchValue\n }\n ]}\n />\n </div>\n ) : null}\n\n <div className={style.filterWrapper}>\n {size(options) > 2\n ? uncappedMap((filterProps: FilterOption, index: number) => {\n const {name, value, selected} = filterProps;\n\n function handleFilterChange() {\n onChange && onChange(value);\n }\n\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton\n dataName={`filter-button-${value}`}\n ariaLabel={`Filter by ${name}`}\n selected={selected}\n label={name}\n onClick={handleFilterChange}\n />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n }, options)\n : null}\n </div>\n <div>\n {size(filteredContent) ? (\n <CardsGrid\n list={filteredContent}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n content: PropTypes.shape(CardsGrid.propTypes),\n totalContents: 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 bannerMicrolearning: PropTypes.shape({\n type: PropTypes.oneOf(['skill', 'playlist']),\n action: PropTypes.func,\n oldSwitchValue: PropTypes.bool\n }),\n search: PropTypes.shape({\n oldValue: PropTypes.string,\n onChange: PropTypes.func\n })\n};\n\nexport default AllCourses;\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,8 @@
1
+ @value colors: "../../variables/colors.css";
2
+ @value cm_grey_100 from colors;
3
+ @value cm_grey_500 from colors;
4
+
5
+
1
6
  .continueLearningTitle {
2
7
  font-size: 16px;
3
8
  font-weight: 600;
@@ -6,8 +11,8 @@
6
11
 
7
12
  .continueLearningNumber {
8
13
  border-radius: 50%;
9
- background-color: #EAEAEB;
10
- color: #515161;
14
+ background-color: cm_grey_100;
15
+ color: cm_grey_500;
11
16
  padding: 2px 4px;
12
17
  margin-left: 8px;
13
18
  font-size: 10px;
@@ -1,8 +1,21 @@
1
- export default ContinueLearning;
2
- declare function ContinueLearning(props: any, context: any): JSX.Element | null;
3
- declare namespace ContinueLearning {
4
- namespace contextTypes {
5
- const skin: PropTypes.Requireable<PropTypes.InferProps<{
1
+ /// <reference types="react" />
2
+ import PropTypes from 'prop-types';
3
+ import { CardsGridProps } from '../../organism/cards-grid';
4
+ interface ProviderContext {
5
+ skin: {
6
+ common: {
7
+ primary: string;
8
+ secondary: string;
9
+ };
10
+ };
11
+ translate: (key: string, options?: any) => string;
12
+ }
13
+ declare const ContinueLearning: {
14
+ (props: {
15
+ ongoingCourses: CardsGridProps;
16
+ }, context: ProviderContext): JSX.Element | null;
17
+ contextTypes: {
18
+ skin: PropTypes.Requireable<PropTypes.InferProps<{
6
19
  common: PropTypes.Requireable<{
7
20
  [x: string]: any;
8
21
  }>;
@@ -23,17 +36,17 @@ declare namespace ContinueLearning {
23
36
  [x: string]: any;
24
37
  }>;
25
38
  }>>;
26
- const translate: PropTypes.Requireable<(...args: any[]) => any>;
27
- }
28
- namespace propTypes {
29
- const ongoingCourses: PropTypes.Requireable<PropTypes.InferProps<{
39
+ translate: PropTypes.Requireable<(...args: any[]) => any>;
40
+ };
41
+ propTypes: {
42
+ ongoingCourses: PropTypes.Requireable<PropTypes.InferProps<{
30
43
  list: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
31
44
  customStyle: PropTypes.Requireable<{
32
45
  [x: string]: string | null | undefined;
33
46
  }>;
34
47
  loading: PropTypes.Requireable<boolean>;
35
48
  }>>;
36
- }
37
- }
38
- import PropTypes from "prop-types";
49
+ };
50
+ };
51
+ export default ContinueLearning;
39
52
  //# sourceMappingURL=continue-learning.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"continue-learning.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/continue-learning.js"],"names":[],"mappings":";AAQA,gFA0BC"}
1
+ {"version":3,"file":"continue-learning.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/continue-learning.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAGnC,OAAkB,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAIpE,UAAU,eAAe;IACvB,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;CACnD;AAED,QAAA,MAAM,gBAAgB;YAAW;QAAC,cAAc,EAAE,cAAc,CAAA;KAAC,WAAW,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B1F,CAAC;AAWF,eAAe,gBAAgB,CAAC"}