@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","_interopRequireDefault","require","_propTypes","_novaIcons","_provider","_card","_interopRequireWildcard","_learningPriorityCard","_icon","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ShowMoreLink","props","onShowMore","showMore","className","createElement","onClick","contextTypes","skin","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","func","string","IconView","context","contentType","ICONS","chapter","TimerIcon","course","LearnerIcon","dark","_get2","IconType","style","color","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","React","PureComponent","translate","constructor","state","actualPage","scrollLeft","offsetWidth","possiblePositions","possiblePages","cardsWidth","handleScroll_","_throttle2","handleScroll","handleOnLeft","handleOnRight","scrollTo","updateState","_debounce2","updatePages","setCardsWrapper","getScrollWidth","handleResize","testingSizes","componentDidMount","cardsWrapper","addEventListener","window","componentDidUpdate","cards","newCardsWidth","_pipe2","_map2","_sum2","updatePaginationState","setState","componentWillUnmount","removeEventListener","cancel","wrapperWidth","wrapperScrollLeft","cardWidths","_reduce2","cardPositions","accWidth","cardWidth","_head2","acc","pageIndex","accPageWidth","pageWidth","skip","_findIndex2","position","_last2","element","index","onScroll","leftBound","rightBound","leftIndex","rightIndex","_findLastIndex2","limit","indexOfNextFirstCard","indexOf","nextPosition","render","title","customStyle","dataName","ariaLabel","_getOr2","titleStyle","titleLink","cardsView","_toPairs2","key","arrowIconProps","preset","borderRadius","showMoreOnLeftAriaLabel","arrows","arrowsWrapper","arrow","iconName","titleView","titleNode","hasPages","showMoreView","showMoreBar","switchPagesView","pagingWrapper","wrapper","list","header","ref","oneOfType","node","arrayOf","shape","cardPropTypes","LearningPriorityCard","objectOf","showMoreOnRightAriaLabel","oneOf","any","_default","exports"],"sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"sourcesContent":["import React from 'react';\nimport {\n debounce,\n throttle,\n get,\n getOr,\n map,\n sum,\n last,\n pipe,\n toPairs,\n reduce,\n head,\n findIndex,\n findLastIndex\n} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../atom/provider';\nimport Card, {cardPropTypes} from '../../card';\nimport LearningPriorityCard from '../../learning-priority-card';\nimport Icon from '../../../atom/icon';\nimport style from './style.css';\n\nconst ShowMoreLink = props => {\n const {onShowMore, showMore, className} = props;\n return (\n <div className={className} onClick={onShowMore}>\n {showMore}\n </div>\n );\n};\n\nShowMoreLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nShowMoreLink.propTypes = {\n onShowMore: PropTypes.func,\n showMore: PropTypes.string,\n className: PropTypes.string\n};\n\nconst IconView = (props, context) => {\n const {skin} = context;\n const {contentType} = props;\n const ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon\n };\n\n if (!contentType) {\n return null;\n }\n\n const dark = get('common.dark', skin);\n const IconType = ICONS[contentType];\n\n return (\n <div>\n <IconType style={{color: dark}} className={style.icon} data-contenttype={contentType} />\n </div>\n );\n};\n\nconst computeWidth = card => {\n switch (card && card.type) {\n case 'chapter':\n return 219;\n default:\n return 272;\n }\n};\n\nconst nextPage = (page, maxPages) => {\n if (page < 0) return maxPages;\n if (page > maxPages) return 0;\n return page;\n};\n\nIconView.propTypes = {\n contentType: PropTypes.string\n};\n\nclass CardsList extends React.PureComponent {\n /**\n * IMPORTANT: update prop-types.ts too, 1st a migration of tests\n * is intended, then, a TS + functional refactor is planned.\n */\n static propTypes = {\n contentType: PropTypes.string,\n dataName: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n showMore: PropTypes.string,\n cards: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape(cardPropTypes),\n PropTypes.shape(LearningPriorityCard.propTypes)\n ])\n ),\n customStyle: PropTypes.objectOf(PropTypes.string),\n onScroll: PropTypes.func,\n onShowMore: PropTypes.func,\n 'arrows-aria-label': PropTypes.shape({\n showMoreOnLeftAriaLabel: PropTypes.string,\n showMoreOnRightAriaLabel: PropTypes.string\n }),\n type: PropTypes.oneOf(['cards', 'learningPrioritiesCards']),\n // eslint-disable-next-line react/forbid-prop-types\n testingSizes: PropTypes.any\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n actualPage: 0,\n maxPages: 0,\n scrollLeft: 0,\n offsetWidth: 0,\n possiblePositions: [],\n possiblePages: [],\n cardsWidth: 0\n };\n\n this.handleScroll_ = throttle(200, this.handleScroll.bind(this));\n this.handleScroll = this.handleScroll.bind(this);\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.updateState = debounce(200, this.updatePages.bind(this));\n this.updatePages = this.updatePages.bind(this);\n this.setCardsWrapper = this.setCardsWrapper.bind(this);\n this.getScrollWidth = this.getScrollWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n\n // for testing purposes only - no other way to test this polluted component\n if (props.testingSizes) {\n const {offsetWidth, scrollLeft, maxPages, possiblePages, possiblePositions} =\n props.testingSizes;\n this.state.offsetWidth = offsetWidth;\n this.state.scrollLeft = scrollLeft;\n this.state.maxPages = maxPages;\n this.state.possiblePages = possiblePages;\n this.state.possiblePositions = possiblePositions;\n }\n }\n\n componentDidMount() {\n this.cardsWrapper.addEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n\n componentDidUpdate() {\n const {cards = []} = this.props;\n const {offsetWidth, cardsWidth} = this.state;\n const newCardsWidth = pipe(map(computeWidth), sum)(cards);\n\n if (newCardsWidth !== cardsWidth && offsetWidth !== 0) {\n this.updatePaginationState(cards);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n cardsWidth: newCardsWidth\n });\n }\n }\n\n componentWillUnmount() {\n this.cardsWrapper.removeEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.removeEventListener('resize', this.handleResize);\n }\n this.updateState.cancel();\n }\n\n /* istanbul ignore next */\n handleResize() {\n const {cards = []} = this.props;\n this.updatePaginationState(cards);\n }\n\n /* istanbul ignore next */\n updatePaginationState(cards) {\n const {offsetWidth: wrapperWidth, scrollLeft: wrapperScrollLeft} = this.state;\n\n const cardWidths = map(computeWidth)(cards);\n\n const possiblePositions = pipe(\n reduce(\n ([cardPositions, accWidth], cardWidth) => [\n [...cardPositions, accWidth],\n cardWidth + accWidth\n ],\n [[], 0]\n ),\n head\n )(cardWidths);\n\n const possiblePages = pipe(\n reduce(\n ([acc, pageIndex, accPageWidth], cardWidth) => {\n const pageWidth = accPageWidth + cardWidth;\n if (pageWidth > wrapperWidth) {\n return [[...acc, pageIndex + 1], pageIndex + 1, cardWidth];\n }\n return [[...acc, pageIndex], pageIndex, pageWidth];\n },\n [[], 0, 0]\n ),\n head\n )(cardWidths);\n\n const skip = findIndex(position => position >= wrapperScrollLeft, possiblePositions);\n const actualPage = possiblePages[skip + 1];\n\n this.setState({\n possiblePositions,\n possiblePages,\n maxPages: last(possiblePages),\n actualPage\n });\n }\n\n setCardsWrapper(element) {\n this.cardsWrapper = element;\n this.setState({\n scrollLeft: this.cardsWrapper?.scrollLeft,\n offsetWidth: this.cardsWrapper?.offsetWidth\n });\n }\n\n /* istanbul ignore next */\n getScrollWidth(index) {\n const {cards = []} = this.props;\n const card = cards[index];\n return computeWidth(card);\n }\n\n /* istanbul ignore next */\n handleScroll() {\n const scrollLeft = this.cardsWrapper?.scrollLeft;\n this.setState({scrollLeft});\n\n const {possiblePositions, offsetWidth} = this.state;\n const {onScroll} = this.props;\n if (onScroll) {\n const leftBound = scrollLeft;\n const rightBound = scrollLeft + offsetWidth;\n\n const leftIndex = findIndex(position => position > leftBound, possiblePositions) - 1;\n const rightIndex = findLastIndex(position => position < rightBound, possiblePositions);\n const skip = leftIndex;\n const limit = rightIndex - skip + 1;\n\n onScroll(skip, limit);\n }\n }\n\n handleOnLeft() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage - 1, maxPages));\n }\n\n handleOnRight() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage + 1, maxPages));\n }\n\n scrollTo(page) {\n const {possiblePages, possiblePositions} = this.state;\n const indexOfNextFirstCard = possiblePages.indexOf(page);\n const nextPosition = possiblePositions[indexOfNextFirstCard];\n this.cardsWrapper.scrollLeft = nextPosition;\n this.updatePages(page);\n this.setState({\n scrollLeft: nextPosition\n });\n }\n\n updatePages(actualPage) {\n this.setState({\n actualPage\n });\n }\n\n render() {\n const {\n title,\n showMore,\n cards,\n customStyle = {},\n onShowMore,\n dataName,\n contentType,\n 'arrows-aria-label': ariaLabel = {},\n type\n } = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n {card && type === 'learningPrioritiesCards' ? (\n <LearningPriorityCard {...card} dataName={`${dataName}-${key}`} />\n ) : (\n <Card {...card} dataName={`${dataName}-${key}`} />\n )}\n </div>\n );\n })\n )(cards);\n\n const arrowIconProps = {\n color: dark,\n preset: 's',\n borderRadius: '8px',\n ariaLabel: ariaLabel.showMoreOnLeftAriaLabel\n };\n\n const arrows = (\n <div className={style.arrowsWrapper}>\n <div className={style.arrow} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <Icon {...arrowIconProps} iconName=\"arrow-left\" />\n </div>\n <div className={style.arrow} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <Icon {...arrowIconProps} iconName=\"arrow-right\" />\n </div>\n </div>\n );\n\n const titleView =\n typeof title === 'string' ? (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n ) : (\n <span className={style.titleNode}>{title}</span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {arrows}\n </div>\n ) : null;\n\n return (\n <div\n className={style.wrapper}\n style={customStyle}\n data-name=\"cardsList\"\n data-max-pages={`${maxPages}`}\n // eslint-disable-next-line react/destructuring-assignment\n data-actual-page={`${this.state.actualPage}`}\n data-scroll-left={this.cardsWrapper?.scrollLeft}\n >\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div\n className={style.cards}\n data-testid=\"cards-view-wrapper\"\n ref={this.setCardsWrapper}\n >\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_novaIcons","_provider","_card","_interopRequireWildcard","_learningPriorityCard","_icon","_colors","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ShowMoreLink","props","onShowMore","showMore","className","createElement","onClick","contextTypes","skin","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","func","string","IconView","context","contentType","ICONS","chapter","TimerIcon","course","LearnerIcon","dark","_get2","IconType","style","color","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","React","PureComponent","translate","constructor","state","actualPage","scrollLeft","offsetWidth","possiblePositions","possiblePages","cardsWidth","handleScroll_","_throttle2","handleScroll","handleOnLeft","handleOnRight","scrollTo","updateState","_debounce2","updatePages","setCardsWrapper","getScrollWidth","handleResize","testingSizes","componentDidMount","cardsWrapper","addEventListener","window","componentDidUpdate","cards","newCardsWidth","_pipe2","_map2","_sum2","updatePaginationState","setState","componentWillUnmount","removeEventListener","cancel","wrapperWidth","wrapperScrollLeft","cardWidths","_reduce2","cardPositions","accWidth","cardWidth","_head2","acc","pageIndex","accPageWidth","pageWidth","skip","_findIndex2","position","_last2","element","index","onScroll","leftBound","rightBound","leftIndex","rightIndex","_findLastIndex2","limit","indexOfNextFirstCard","indexOf","nextPosition","render","title","customStyle","dataName","ariaLabel","_getOr2","titleStyle","titleLink","cardsView","_toPairs2","key","arrowIconProps","preset","borderRadius","backgroundColor","COLORS","neutral_75","showMoreOnLeftAriaLabel","arrows","arrowsWrapper","arrow","iconName","titleView","titleNode","hasPages","showMoreView","showMoreBar","switchPagesView","pagingWrapper","wrapper","list","header","ref","oneOfType","node","arrayOf","shape","cardPropTypes","LearningPriorityCard","objectOf","showMoreOnRightAriaLabel","oneOf","any","_default","exports"],"sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"sourcesContent":["import React from 'react';\nimport {\n debounce,\n throttle,\n get,\n getOr,\n map,\n sum,\n last,\n pipe,\n toPairs,\n reduce,\n head,\n findIndex,\n findLastIndex\n} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../atom/provider';\nimport Card, {cardPropTypes} from '../../card';\nimport LearningPriorityCard from '../../learning-priority-card';\nimport Icon from '../../../atom/icon';\nimport {COLORS} from '../../../variables/colors';\nimport style from './style.css';\n\nconst ShowMoreLink = props => {\n const {onShowMore, showMore, className} = props;\n return (\n <div className={className} onClick={onShowMore}>\n {showMore}\n </div>\n );\n};\n\nShowMoreLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nShowMoreLink.propTypes = {\n onShowMore: PropTypes.func,\n showMore: PropTypes.string,\n className: PropTypes.string\n};\n\nconst IconView = (props, context) => {\n const {skin} = context;\n const {contentType} = props;\n const ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon\n };\n\n if (!contentType) {\n return null;\n }\n\n const dark = get('common.dark', skin);\n const IconType = ICONS[contentType];\n\n return (\n <div>\n <IconType style={{color: dark}} className={style.icon} data-contenttype={contentType} />\n </div>\n );\n};\n\nconst computeWidth = card => {\n switch (card && card.type) {\n case 'chapter':\n return 219;\n default:\n return 272;\n }\n};\n\nconst nextPage = (page, maxPages) => {\n if (page < 0) return maxPages;\n if (page > maxPages) return 0;\n return page;\n};\n\nIconView.propTypes = {\n contentType: PropTypes.string\n};\n\nclass CardsList extends React.PureComponent {\n /**\n * IMPORTANT: update prop-types.ts too, 1st a migration of tests\n * is intended, then, a TS + functional refactor is planned.\n */\n static propTypes = {\n contentType: PropTypes.string,\n dataName: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n showMore: PropTypes.string,\n cards: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape(cardPropTypes),\n PropTypes.shape(LearningPriorityCard.propTypes)\n ])\n ),\n customStyle: PropTypes.objectOf(PropTypes.string),\n onScroll: PropTypes.func,\n onShowMore: PropTypes.func,\n 'arrows-aria-label': PropTypes.shape({\n showMoreOnLeftAriaLabel: PropTypes.string,\n showMoreOnRightAriaLabel: PropTypes.string\n }),\n type: PropTypes.oneOf(['cards', 'learningPrioritiesCards']),\n // eslint-disable-next-line react/forbid-prop-types\n testingSizes: PropTypes.any\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n actualPage: 0,\n maxPages: 0,\n scrollLeft: 0,\n offsetWidth: 0,\n possiblePositions: [],\n possiblePages: [],\n cardsWidth: 0\n };\n\n this.handleScroll_ = throttle(200, this.handleScroll.bind(this));\n this.handleScroll = this.handleScroll.bind(this);\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.updateState = debounce(200, this.updatePages.bind(this));\n this.updatePages = this.updatePages.bind(this);\n this.setCardsWrapper = this.setCardsWrapper.bind(this);\n this.getScrollWidth = this.getScrollWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n\n // for testing purposes only - no other way to test this polluted component\n if (props.testingSizes) {\n const {offsetWidth, scrollLeft, maxPages, possiblePages, possiblePositions} =\n props.testingSizes;\n this.state.offsetWidth = offsetWidth;\n this.state.scrollLeft = scrollLeft;\n this.state.maxPages = maxPages;\n this.state.possiblePages = possiblePages;\n this.state.possiblePositions = possiblePositions;\n }\n }\n\n componentDidMount() {\n this.cardsWrapper.addEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n\n componentDidUpdate() {\n const {cards = []} = this.props;\n const {offsetWidth, cardsWidth} = this.state;\n const newCardsWidth = pipe(map(computeWidth), sum)(cards);\n\n if (newCardsWidth !== cardsWidth && offsetWidth !== 0) {\n this.updatePaginationState(cards);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n cardsWidth: newCardsWidth\n });\n }\n }\n\n componentWillUnmount() {\n this.cardsWrapper.removeEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.removeEventListener('resize', this.handleResize);\n }\n this.updateState.cancel();\n }\n\n /* istanbul ignore next */\n handleResize() {\n const {cards = []} = this.props;\n this.updatePaginationState(cards);\n }\n\n /* istanbul ignore next */\n updatePaginationState(cards) {\n const {offsetWidth: wrapperWidth, scrollLeft: wrapperScrollLeft} = this.state;\n\n const cardWidths = map(computeWidth)(cards);\n\n const possiblePositions = pipe(\n reduce(\n ([cardPositions, accWidth], cardWidth) => [\n [...cardPositions, accWidth],\n cardWidth + accWidth\n ],\n [[], 0]\n ),\n head\n )(cardWidths);\n\n const possiblePages = pipe(\n reduce(\n ([acc, pageIndex, accPageWidth], cardWidth) => {\n const pageWidth = accPageWidth + cardWidth;\n if (pageWidth > wrapperWidth) {\n return [[...acc, pageIndex + 1], pageIndex + 1, cardWidth];\n }\n return [[...acc, pageIndex], pageIndex, pageWidth];\n },\n [[], 0, 0]\n ),\n head\n )(cardWidths);\n\n const skip = findIndex(position => position >= wrapperScrollLeft, possiblePositions);\n const actualPage = possiblePages[skip + 1];\n\n this.setState({\n possiblePositions,\n possiblePages,\n maxPages: last(possiblePages),\n actualPage\n });\n }\n\n setCardsWrapper(element) {\n this.cardsWrapper = element;\n this.setState({\n scrollLeft: this.cardsWrapper?.scrollLeft,\n offsetWidth: this.cardsWrapper?.offsetWidth\n });\n }\n\n /* istanbul ignore next */\n getScrollWidth(index) {\n const {cards = []} = this.props;\n const card = cards[index];\n return computeWidth(card);\n }\n\n /* istanbul ignore next */\n handleScroll() {\n const scrollLeft = this.cardsWrapper?.scrollLeft;\n this.setState({scrollLeft});\n\n const {possiblePositions, offsetWidth} = this.state;\n const {onScroll} = this.props;\n if (onScroll) {\n const leftBound = scrollLeft;\n const rightBound = scrollLeft + offsetWidth;\n\n const leftIndex = findIndex(position => position > leftBound, possiblePositions) - 1;\n const rightIndex = findLastIndex(position => position < rightBound, possiblePositions);\n const skip = leftIndex;\n const limit = rightIndex - skip + 1;\n\n onScroll(skip, limit);\n }\n }\n\n handleOnLeft() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage - 1, maxPages));\n }\n\n handleOnRight() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage + 1, maxPages));\n }\n\n scrollTo(page) {\n const {possiblePages, possiblePositions} = this.state;\n const indexOfNextFirstCard = possiblePages.indexOf(page);\n const nextPosition = possiblePositions[indexOfNextFirstCard];\n this.cardsWrapper.scrollLeft = nextPosition;\n this.updatePages(page);\n this.setState({\n scrollLeft: nextPosition\n });\n }\n\n updatePages(actualPage) {\n this.setState({\n actualPage\n });\n }\n\n render() {\n const {\n title,\n showMore,\n cards,\n customStyle = {},\n onShowMore,\n dataName,\n contentType,\n 'arrows-aria-label': ariaLabel = {},\n type\n } = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n {card && type === 'learningPrioritiesCards' ? (\n <LearningPriorityCard {...card} dataName={`${dataName}-${key}`} />\n ) : (\n <Card {...card} dataName={`${dataName}-${key}`} />\n )}\n </div>\n );\n })\n )(cards);\n\n const arrowIconProps = {\n color: dark,\n preset: 's',\n borderRadius: '8px',\n backgroundColor: COLORS.neutral_75,\n ariaLabel: ariaLabel.showMoreOnLeftAriaLabel\n };\n\n const arrows = (\n <div className={style.arrowsWrapper}>\n <div className={style.arrow} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <Icon {...arrowIconProps} iconName=\"arrow-left\" />\n </div>\n <div className={style.arrow} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <Icon {...arrowIconProps} iconName=\"arrow-right\" />\n </div>\n </div>\n );\n\n const titleView =\n typeof title === 'string' ? (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n ) : (\n <span className={style.titleNode}>{title}</span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {arrows}\n </div>\n ) : null;\n\n return (\n <div\n className={style.wrapper}\n style={customStyle}\n data-name=\"cardsList\"\n data-max-pages={`${maxPages}`}\n // eslint-disable-next-line react/destructuring-assignment\n data-actual-page={`${this.state.actualPage}`}\n data-scroll-left={this.cardsWrapper?.scrollLeft}\n >\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div\n className={style.cards}\n data-testid=\"cards-view-wrapper\"\n ref={this.setCardsWrapper}\n >\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"mappings":"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","ignoreList":[]}
@@ -1,44 +1,29 @@
1
- export default LearnerSkillCard;
2
- declare function LearnerSkillCard(props: any, context: any): JSX.Element;
3
- declare namespace LearnerSkillCard {
4
- namespace contextTypes {
5
- const skin: PropTypes.Requireable<PropTypes.InferProps<{
6
- common: PropTypes.Requireable<{
7
- [x: string]: any;
8
- }>;
9
- images: PropTypes.Requireable<PropTypes.InferProps<{
10
- 'logo-mobile': PropTypes.Requireable<any>;
11
- logo: PropTypes.Requireable<any>;
12
- 'logo-email': PropTypes.Requireable<any>;
13
- login: PropTypes.Requireable<any>;
14
- }>>;
15
- icons: PropTypes.Requireable<{
16
- [x: string]: any;
17
- }>;
18
- mod: PropTypes.Requireable<{
19
- [x: string]: any;
20
- }>;
21
- courses: PropTypes.Requireable<any[]>;
22
- texts: PropTypes.Requireable<{
23
- [x: string]: any;
24
- }>;
1
+ import React from 'react';
2
+ import { WebContextValues } from '../../atom/provider/web-context';
3
+ import { LearnerSkillCardProps } from './prop-types';
4
+ export declare const updateBackgroundImage: (ref: React.RefObject<HTMLDivElement>, background: string) => void;
5
+ declare const LearnerSkillCard: {
6
+ (props: LearnerSkillCardProps, context: WebContextValues): JSX.Element;
7
+ contextTypes: {
8
+ translate: import("prop-types").Requireable<(...args: any[]) => any>;
9
+ };
10
+ propTypes: {
11
+ 'aria-label': import("prop-types").Requireable<string>;
12
+ cardIndex: import("prop-types").Requireable<number>;
13
+ skillTitle: import("prop-types").Requireable<string>;
14
+ skillAriaLabel: import("prop-types").Requireable<string>;
15
+ focus: import("prop-types").Requireable<boolean>;
16
+ metrics: import("prop-types").Requireable<import("prop-types").InferProps<{
17
+ content: import("prop-types").Requireable<number>;
18
+ score: import("prop-types").Requireable<number>;
19
+ questionsToReview: import("prop-types").Requireable<number>;
25
20
  }>>;
26
- const translate: PropTypes.Requireable<(...args: any[]) => any>;
27
- }
28
- const propTypes: {
29
- 'aria-label': PropTypes.Requireable<string>;
30
- skillTitle: PropTypes.Requireable<string>;
31
- skillAriaLabel: PropTypes.Requireable<string>;
32
- focus: PropTypes.Requireable<boolean>;
33
- metrics: PropTypes.Requireable<PropTypes.InferProps<{
34
- score: PropTypes.Requireable<number>;
35
- content: PropTypes.Requireable<number>;
36
- questionsToReview: PropTypes.Requireable<number>;
21
+ icon: import("prop-types").Requireable<import("prop-types").InferProps<{
22
+ color: import("prop-types").Requireable<string>;
23
+ name: import("prop-types").Requireable<string>;
37
24
  }>>;
38
- review: PropTypes.Requireable<boolean>;
39
- onReviewClick: PropTypes.Requireable<(...args: any[]) => any>;
40
- onExploreClick: PropTypes.Requireable<(...args: any[]) => any>;
25
+ onExploreClick: import("prop-types").Requireable<(...args: any[]) => any>;
41
26
  };
42
- }
43
- import PropTypes from "prop-types";
27
+ };
28
+ export default LearnerSkillCard;
44
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/learner-skill-card/index.js"],"names":[],"mappings":";AAaA,yEAiHC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/learner-skill-card/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAKjE,OAAkB,EAAC,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAK9D,eAAO,MAAM,qBAAqB,QAAS,MAAM,SAAS,CAAC,cAAc,CAAC,cAAc,MAAM,SAI7F,CAAC;AAEF,QAAA,MAAM,gBAAgB;YAAW,qBAAqB,WAAW,gBAAgB;;;;;;;;;;;;;;;;;;;;;CA8HhF,CAAC;AAQF,eAAe,gBAAgB,CAAC"}
@@ -1,28 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = void 0;
5
- var _get2 = _interopRequireDefault(require("lodash/fp/get"));
6
- var _react = _interopRequireDefault(require("react"));
7
- var _cssColorFunction = require("css-color-function");
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _icon = _interopRequireDefault(require("../../atom/icon"));
10
- var _buttonLink = _interopRequireDefault(require("../../atom/button-link"));
11
- var _provider = _interopRequireDefault(require("../../atom/provider"));
4
+ exports.updateBackgroundImage = exports.default = void 0;
5
+ var _react = _interopRequireWildcard(require("react"));
6
+ var _provider = _interopRequireWildcard(require("../../atom/provider"));
12
7
  var _progressBar = _interopRequireDefault(require("../progress-bar"));
13
8
  var _colors = require("../../variables/colors");
9
+ var _getBackgroundGradientColor = require("../../util/get-background-gradient-color");
10
+ var _icon = _interopRequireDefault(require("../../atom/icon"));
11
+ var _propTypes = _interopRequireDefault(require("./prop-types"));
14
12
  var _style = _interopRequireDefault(require("./style.css"));
15
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
16
  const MAX_SCORE = 100;
17
+ const updateBackgroundImage = (ref, background) => {
18
+ if (ref.current) {
19
+ ref.current.style.backgroundImage = background;
20
+ }
21
+ };
22
+ exports.updateBackgroundImage = updateBackgroundImage;
17
23
  const LearnerSkillCard = (props, context) => {
18
24
  const {
19
25
  'aria-label': ariaLabel,
26
+ cardIndex,
20
27
  skillTitle,
21
28
  skillAriaLabel,
22
- focus = false,
29
+ focus,
23
30
  metrics,
24
- review = false,
25
- onReviewClick,
31
+ icon,
26
32
  onExploreClick
27
33
  } = props;
28
34
  const {
@@ -30,76 +36,97 @@ const LearnerSkillCard = (props, context) => {
30
36
  content,
31
37
  questionsToReview = 0
32
38
  } = metrics;
39
+ const translate = (0, _provider.GetTranslateFromContext)(context);
33
40
  const {
34
- skin,
35
- translate
36
- } = context;
37
- const primarySkinColor = (0, _get2.default)('common.primary', skin);
38
- const reviewLocale = translate('Review');
39
- const exploreLocale = translate('Explore');
41
+ color,
42
+ name
43
+ } = icon;
40
44
  const questionsLocale = translate('skill_chart_side_panel_questions_to_review');
41
- const skillFocusLocale = translate('skill_focus');
42
- const buttonReviewProps = {
43
- customStyle: {
44
- backgroundColor: '#FFF',
45
- transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',
46
- padding: '0px'
45
+ const [badgeIconName, badgeLocale, tagTextColor, tagBackgroundColor] = focus ? ['bullseye-arrow', translate('skill_focus'), _colors.COLORS.purple_700, _colors.COLORS.purple_100] : ['shapes', translate('skill'), _colors.COLORS.neutral_500, _colors.COLORS.gray];
46
+ const headerBackgroundRef = (0, _react.useRef)(null);
47
+ const defaultBackground = (0, _react.useMemo)(() => (0, _getBackgroundGradientColor.createGradientBackground)(color, '93%', '100%'), [color]);
48
+ const focusBackground = (0, _react.useMemo)(() => (0, _getBackgroundGradientColor.createGradientBackground)(color, '83%', '100%'), [color]);
49
+ const handleMouseEnter = (0, _react.useCallback)(() => {
50
+ updateBackgroundImage(headerBackgroundRef, focusBackground);
51
+ }, [focusBackground]);
52
+ const handleMouseLeave = (0, _react.useCallback)(() => {
53
+ updateBackgroundImage(headerBackgroundRef, defaultBackground);
54
+ }, [defaultBackground]);
55
+ return /*#__PURE__*/_react.default.createElement("div", {
56
+ "data-testid": `learner-skill-card-wrapper-${cardIndex}`,
57
+ onClick: onExploreClick,
58
+ className: _style.default.learnerSkillCardContainer,
59
+ "aria-label": ariaLabel,
60
+ onMouseEnter: handleMouseEnter,
61
+ onMouseLeave: handleMouseLeave
62
+ }, /*#__PURE__*/_react.default.createElement("div", {
63
+ "data-testid": "learner-skill-card-icon-header-wrapper",
64
+ ref: headerBackgroundRef,
65
+ className: _style.default.iconHeaderWrapper,
66
+ style: {
67
+ backgroundImage: defaultBackground,
68
+ color: tagTextColor
69
+ }
70
+ }, /*#__PURE__*/_react.default.createElement("div", {
71
+ className: _style.default.iconWrapper,
72
+ "data-testid": "learner-skill-card-icon-wrapper"
73
+ }, /*#__PURE__*/_react.default.createElement(_icon.default, {
74
+ iconName: name,
75
+ iconColor: color,
76
+ size: {
77
+ faSize: 20,
78
+ wrapperSize: 44
47
79
  },
48
- disabled: !review,
49
- onClick: onReviewClick,
50
- 'aria-label': `${skillTitle}, ${reviewLocale}`,
51
- label: reviewLocale,
52
- 'data-name': 'learner-skill-card-review-button'
53
- };
54
- const buttonExploreProps = {
80
+ borderRadius: '12px',
81
+ gradientBackground: true,
55
82
  customStyle: {
56
- backgroundColor: (0, _cssColorFunction.convert)(`color(${primarySkinColor} a(0.07))`),
57
- color: primarySkinColor,
58
- transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'
59
- },
60
- hoverColor: '#FFFFFF',
61
- hoverBackgroundColor: primarySkinColor,
62
- onClick: onExploreClick,
63
- 'aria-label': `${skillTitle}, ${exploreLocale}`,
64
- label: exploreLocale,
65
- 'data-name': 'learner-skill-card-explore-button',
66
- icon: {
67
- position: 'left',
68
- faIcon: {
69
- name: 'compass',
70
- backgroundColor: (0, _cssColorFunction.convert)(`color(${primarySkinColor} a(0.07))`),
71
- color: primarySkinColor,
72
- size: 16
73
- }
83
+ border: '4px solid white'
74
84
  }
75
- };
76
- return /*#__PURE__*/_react.default.createElement("div", {
77
- className: _style.default.learnerSkillCardWrapper,
78
- "data-name": "learner-skill-card-wrapper",
79
- "aria-label": ariaLabel
80
- }, questionsToReview ? /*#__PURE__*/_react.default.createElement("div", {
81
- className: _style.default.skillQuestionsWrapper
85
+ }))), /*#__PURE__*/_react.default.createElement("div", {
86
+ className: _style.default.learnerSkillCardContent
82
87
  }, /*#__PURE__*/_react.default.createElement("div", {
83
- className: _style.default.skillInformation,
84
- "data-name": "skill-questions"
85
- }, /*#__PURE__*/_react.default.createElement("span", {
86
- className: _style.default.skillInformationNumber
87
- }, questionsToReview), "\xA0", questionsLocale)) : null, /*#__PURE__*/_react.default.createElement("div", {
88
88
  className: _style.default.skillTitleWrapper
89
89
  }, /*#__PURE__*/_react.default.createElement("div", {
90
- "data-name": "skill-title",
91
- className: _style.default.skillTitle,
92
- "aria-label": skillAriaLabel || skillTitle
93
- }, skillTitle), focus ? /*#__PURE__*/_react.default.createElement("div", {
94
- className: _style.default.skillFocusBadge
90
+ className: _style.default.skillFocusBadge,
91
+ style: {
92
+ backgroundColor: tagBackgroundColor,
93
+ color: tagTextColor
94
+ }
95
95
  }, /*#__PURE__*/_react.default.createElement(_icon.default, {
96
- iconName: "bullseye-arrow",
97
- backgroundColor: "#DDD1FF",
96
+ iconName: badgeIconName,
97
+ backgroundColor: tagBackgroundColor,
98
98
  size: {
99
99
  faSize: 10,
100
100
  wrapperSize: 16
101
101
  }
102
- }), skillFocusLocale) : null), content ? /*#__PURE__*/_react.default.createElement("div", {
102
+ }), /*#__PURE__*/_react.default.createElement("span", {
103
+ style: {
104
+ color: tagTextColor
105
+ }
106
+ }, badgeLocale)), /*#__PURE__*/_react.default.createElement("div", {
107
+ className: _style.default.questionWrapper
108
+ }, /*#__PURE__*/_react.default.createElement("div", {
109
+ "data-name": "skill-card-title",
110
+ className: _style.default.skillTitle,
111
+ "aria-label": skillAriaLabel || skillTitle
112
+ }, skillTitle), /*#__PURE__*/_react.default.createElement("div", {
113
+ className: _style.default.contentAndQuestionsWrapper
114
+ }, /*#__PURE__*/_react.default.createElement("div", {
115
+ "data-name": "learner-skill-card-skill-content-number"
116
+ }, content, " ", translate('content')), questionsToReview ? /*#__PURE__*/_react.default.createElement("div", {
117
+ className: _style.default.skillInformation,
118
+ "data-name": "learner-skill-card-skill-questions-wrapper"
119
+ }, /*#__PURE__*/_react.default.createElement(_icon.default, {
120
+ iconName: 'circle',
121
+ iconColor: _colors.COLORS.cm_grey_400,
122
+ backgroundColor: 'transparent',
123
+ size: {
124
+ faSize: 4,
125
+ wrapperSize: 0
126
+ }
127
+ }), /*#__PURE__*/_react.default.createElement("span", {
128
+ "data-name": "learner-skill-card-questions-to-review"
129
+ }, questionsToReview), "\xA0", questionsLocale) : null)))), /*#__PURE__*/_react.default.createElement("div", {
103
130
  className: _style.default.progressInformations
104
131
  }, /*#__PURE__*/_react.default.createElement(_progressBar.default, {
105
132
  value: score,
@@ -107,38 +134,13 @@ const LearnerSkillCard = (props, context) => {
107
134
  max: MAX_SCORE,
108
135
  className: _style.default.progressWrapper,
109
136
  style: {
110
- backgroundColor: _colors.COLORS.positive
137
+ backgroundColor: _colors.COLORS.cm_positive_500
111
138
  }
112
- }), /*#__PURE__*/_react.default.createElement("div", {
113
- className: _style.default.progressInformation,
114
- "data-name": "completed-percentage"
115
- }, /*#__PURE__*/_react.default.createElement("span", {
116
- className: _style.default.progressInformationNumber
117
- }, score, "%"))) : null, /*#__PURE__*/_react.default.createElement("div", {
118
- className: _style.default.ctaWrapper,
119
- "data-name": "cta-wrapper"
120
- }, /*#__PURE__*/_react.default.createElement(_buttonLink.default, buttonReviewProps), /*#__PURE__*/_react.default.createElement("div", {
121
- className: _style.default.buttonWrapper,
122
- "data-name": "button-explore-wrapper"
123
- }, /*#__PURE__*/_react.default.createElement(_buttonLink.default, buttonExploreProps))));
139
+ })));
124
140
  };
125
141
  LearnerSkillCard.contextTypes = {
126
- skin: _provider.default.childContextTypes.skin,
127
142
  translate: _provider.default.childContextTypes.translate
128
143
  };
129
- LearnerSkillCard.propTypes = process.env.NODE_ENV !== "production" ? {
130
- 'aria-label': _propTypes.default.string,
131
- skillTitle: _propTypes.default.string,
132
- skillAriaLabel: _propTypes.default.string,
133
- focus: _propTypes.default.bool,
134
- metrics: _propTypes.default.shape({
135
- score: _propTypes.default.number,
136
- content: _propTypes.default.number,
137
- questionsToReview: _propTypes.default.number
138
- }),
139
- review: _propTypes.default.bool,
140
- onReviewClick: _propTypes.default.func,
141
- onExploreClick: _propTypes.default.func
142
- } : {};
144
+ LearnerSkillCard.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
143
145
  var _default = exports.default = LearnerSkillCard;
144
146
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_cssColorFunction","_propTypes","_icon","_buttonLink","_provider","_progressBar","_colors","_style","e","__esModule","default","MAX_SCORE","LearnerSkillCard","props","context","ariaLabel","skillTitle","skillAriaLabel","focus","metrics","review","onReviewClick","onExploreClick","score","content","questionsToReview","skin","translate","primarySkinColor","_get2","reviewLocale","exploreLocale","questionsLocale","skillFocusLocale","buttonReviewProps","customStyle","backgroundColor","transition","padding","disabled","onClick","label","buttonExploreProps","convert","color","hoverColor","hoverBackgroundColor","icon","position","faIcon","name","size","createElement","className","style","learnerSkillCardWrapper","skillQuestionsWrapper","skillInformation","skillInformationNumber","skillTitleWrapper","skillFocusBadge","iconName","faSize","wrapperSize","progressInformations","value","displayInfo","max","progressWrapper","COLORS","positive","progressInformation","progressInformationNumber","ctaWrapper","buttonWrapper","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","string","bool","shape","number","func","_default","exports"],"sources":["../../../src/molecule/learner-skill-card/index.js"],"sourcesContent":["import React from 'react';\nimport {convert} from 'css-color-function';\nimport {get} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport Icon from '../../atom/icon';\nimport ButtonLink from '../../atom/button-link';\nimport Provider from '../../atom/provider';\nimport ProgressBar from '../progress-bar';\nimport {COLORS} from '../../variables/colors';\nimport style from './style.css';\n\nconst MAX_SCORE = 100;\n\nconst LearnerSkillCard = (props, context) => {\n const {\n 'aria-label': ariaLabel,\n skillTitle,\n skillAriaLabel,\n focus = false,\n metrics,\n review = false,\n onReviewClick,\n onExploreClick\n } = props;\n const {score, content, questionsToReview = 0} = metrics;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const reviewLocale = translate('Review');\n const exploreLocale = translate('Explore');\n const questionsLocale = translate('skill_chart_side_panel_questions_to_review');\n const skillFocusLocale = translate('skill_focus');\n\n const buttonReviewProps = {\n customStyle: {\n backgroundColor: '#FFF',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n padding: '0px'\n },\n disabled: !review,\n onClick: onReviewClick,\n 'aria-label': `${skillTitle}, ${reviewLocale}`,\n label: reviewLocale,\n 'data-name': 'learner-skill-card-review-button'\n };\n\n const buttonExploreProps = {\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 hoverColor: '#FFFFFF',\n hoverBackgroundColor: primarySkinColor,\n onClick: onExploreClick,\n 'aria-label': `${skillTitle}, ${exploreLocale}`,\n label: exploreLocale,\n 'data-name': 'learner-skill-card-explore-button',\n icon: {\n position: 'left',\n faIcon: {\n name: 'compass',\n backgroundColor: convert(`color(${primarySkinColor} a(0.07))`),\n color: primarySkinColor,\n size: 16\n }\n }\n };\n return (\n <div\n className={style.learnerSkillCardWrapper}\n data-name=\"learner-skill-card-wrapper\"\n aria-label={ariaLabel}\n >\n {questionsToReview ? (\n <div className={style.skillQuestionsWrapper}>\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{questionsToReview}</span>\n &nbsp;{questionsLocale}\n </div>\n </div>\n ) : null}\n <div className={style.skillTitleWrapper}>\n <div\n data-name=\"skill-title\"\n className={style.skillTitle}\n aria-label={skillAriaLabel || skillTitle}\n >\n {skillTitle}\n </div>\n {focus ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 10,\n wrapperSize: 16\n }}\n />\n {skillFocusLocale}\n </div>\n ) : null}\n </div>\n {content ? (\n <div className={style.progressInformations}>\n <ProgressBar\n value={score}\n displayInfo={false}\n max={MAX_SCORE}\n className={style.progressWrapper}\n style={{backgroundColor: COLORS.positive}}\n />\n <div className={style.progressInformation} data-name=\"completed-percentage\">\n <span className={style.progressInformationNumber}>{score}%</span>\n </div>\n </div>\n ) : null}\n <div className={style.ctaWrapper} data-name=\"cta-wrapper\">\n <ButtonLink {...buttonReviewProps} />\n <div className={style.buttonWrapper} data-name=\"button-explore-wrapper\">\n <ButtonLink {...buttonExploreProps} />\n </div>\n </div>\n </div>\n );\n};\n\nLearnerSkillCard.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nLearnerSkillCard.propTypes = {\n 'aria-label': PropTypes.string,\n skillTitle: PropTypes.string,\n skillAriaLabel: PropTypes.string,\n focus: PropTypes.bool,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n content: PropTypes.number,\n questionsToReview: PropTypes.number\n }),\n review: PropTypes.bool,\n onReviewClick: PropTypes.func,\n onExploreClick: PropTypes.func\n};\n\nexport default LearnerSkillCard;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_provider","_progressBar","_interopRequireDefault","_colors","_getBackgroundGradientColor","_icon","_propTypes","_style","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MAX_SCORE","updateBackgroundImage","ref","background","current","style","backgroundImage","exports","LearnerSkillCard","props","context","ariaLabel","cardIndex","skillTitle","skillAriaLabel","focus","metrics","icon","onExploreClick","score","content","questionsToReview","translate","GetTranslateFromContext","color","name","questionsLocale","badgeIconName","badgeLocale","tagTextColor","tagBackgroundColor","COLORS","purple_700","purple_100","neutral_500","gray","headerBackgroundRef","useRef","defaultBackground","useMemo","createGradientBackground","focusBackground","handleMouseEnter","useCallback","handleMouseLeave","createElement","onClick","className","learnerSkillCardContainer","onMouseEnter","onMouseLeave","iconHeaderWrapper","iconWrapper","iconName","iconColor","size","faSize","wrapperSize","borderRadius","gradientBackground","customStyle","border","learnerSkillCardContent","skillTitleWrapper","skillFocusBadge","backgroundColor","questionWrapper","contentAndQuestionsWrapper","skillInformation","cm_grey_400","progressInformations","value","displayInfo","max","progressWrapper","cm_positive_500","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","_default"],"sources":["../../../src/molecule/learner-skill-card/index.tsx"],"sourcesContent":["import React, {useCallback, useMemo, useRef} from 'react';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport ProgressBar from '../progress-bar';\nimport {COLORS} from '../../variables/colors';\nimport {createGradientBackground} from '../../util/get-background-gradient-color';\nimport FaIcon from '../../atom/icon';\nimport propTypes, {LearnerSkillCardProps} from './prop-types';\nimport style from './style.css';\n\nconst MAX_SCORE = 100;\n\nexport const updateBackgroundImage = (ref: React.RefObject<HTMLDivElement>, background: string) => {\n if (ref.current) {\n ref.current.style.backgroundImage = background;\n }\n};\n\nconst LearnerSkillCard = (props: LearnerSkillCardProps, context: WebContextValues) => {\n const {\n 'aria-label': ariaLabel,\n cardIndex,\n skillTitle,\n skillAriaLabel,\n focus,\n metrics,\n icon,\n onExploreClick\n } = props;\n const {score, content, questionsToReview = 0} = metrics;\n const translate = GetTranslateFromContext(context);\n const {color, name} = icon;\n const questionsLocale = translate('skill_chart_side_panel_questions_to_review') as string;\n const [badgeIconName, badgeLocale, tagTextColor, tagBackgroundColor] = focus\n ? ['bullseye-arrow', translate('skill_focus') as string, COLORS.purple_700, COLORS.purple_100]\n : ['shapes', translate('skill') as string, COLORS.neutral_500, COLORS.gray];\n const headerBackgroundRef = useRef<HTMLDivElement | null>(null);\n const defaultBackground = useMemo(() => createGradientBackground(color, '93%', '100%'), [color]);\n const focusBackground = useMemo(() => createGradientBackground(color, '83%', '100%'), [color]);\n const handleMouseEnter = useCallback(() => {\n updateBackgroundImage(headerBackgroundRef, focusBackground);\n }, [focusBackground]);\n const handleMouseLeave = useCallback(() => {\n updateBackgroundImage(headerBackgroundRef, defaultBackground);\n }, [defaultBackground]);\n return (\n <div\n data-testid={`learner-skill-card-wrapper-${cardIndex}`}\n onClick={onExploreClick}\n className={style.learnerSkillCardContainer}\n aria-label={ariaLabel}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <div\n data-testid=\"learner-skill-card-icon-header-wrapper\"\n ref={headerBackgroundRef}\n className={style.iconHeaderWrapper}\n style={{backgroundImage: defaultBackground, color: tagTextColor}}\n >\n <div className={style.iconWrapper} data-testid=\"learner-skill-card-icon-wrapper\">\n <FaIcon\n {...{\n iconName: name,\n iconColor: color,\n size: {\n faSize: 20,\n wrapperSize: 44\n },\n borderRadius: '12px',\n gradientBackground: true,\n customStyle: {border: '4px solid white'}\n }}\n />\n </div>\n </div>\n <div className={style.learnerSkillCardContent}>\n <div className={style.skillTitleWrapper}>\n <div\n className={style.skillFocusBadge}\n style={{\n backgroundColor: tagBackgroundColor,\n color: tagTextColor\n }}\n >\n <FaIcon\n {...{\n iconName: badgeIconName,\n backgroundColor: tagBackgroundColor,\n size: {\n faSize: 10,\n wrapperSize: 16\n }\n }}\n />\n <span style={{color: tagTextColor}}>{badgeLocale}</span>\n </div>\n\n <div className={style.questionWrapper}>\n <div\n data-name=\"skill-card-title\"\n className={style.skillTitle}\n aria-label={skillAriaLabel || skillTitle}\n >\n {skillTitle}\n </div>\n <div className={style.contentAndQuestionsWrapper}>\n <div data-name=\"learner-skill-card-skill-content-number\">\n {content} {translate('content')}\n </div>\n {questionsToReview ? (\n <div\n className={style.skillInformation}\n data-name=\"learner-skill-card-skill-questions-wrapper\"\n >\n <FaIcon\n {...{\n iconName: 'circle',\n iconColor: COLORS.cm_grey_400,\n backgroundColor: 'transparent',\n size: {faSize: 4, wrapperSize: 0}\n }}\n />\n <span data-name=\"learner-skill-card-questions-to-review\">\n {questionsToReview}\n </span>\n &nbsp;{questionsLocale}\n </div>\n ) : null}\n </div>\n </div>\n </div>\n </div>\n <div className={style.progressInformations}>\n <ProgressBar\n value={score}\n displayInfo={false}\n max={MAX_SCORE}\n className={style.progressWrapper}\n style={{backgroundColor: COLORS.cm_positive_500}}\n />\n </div>\n </div>\n );\n};\n\nLearnerSkillCard.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nLearnerSkillCard.propTypes = propTypes;\n\nexport default LearnerSkillCard;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ import PropTypes from 'prop-types';
2
+ declare const propTypes: {
3
+ 'aria-label': PropTypes.Requireable<string>;
4
+ cardIndex: PropTypes.Requireable<number>;
5
+ skillTitle: PropTypes.Requireable<string>;
6
+ skillAriaLabel: PropTypes.Requireable<string>;
7
+ focus: PropTypes.Requireable<boolean>;
8
+ metrics: PropTypes.Requireable<PropTypes.InferProps<{
9
+ content: PropTypes.Requireable<number>;
10
+ score: PropTypes.Requireable<number>;
11
+ questionsToReview: PropTypes.Requireable<number>;
12
+ }>>;
13
+ icon: PropTypes.Requireable<PropTypes.InferProps<{
14
+ color: PropTypes.Requireable<string>;
15
+ name: PropTypes.Requireable<string>;
16
+ }>>;
17
+ onExploreClick: PropTypes.Requireable<(...args: any[]) => any>;
18
+ };
19
+ export declare type LearnerSkillCardProps = {
20
+ 'aria-label'?: string;
21
+ cardIndex: number;
22
+ skillTitle: string;
23
+ skillAriaLabel?: string;
24
+ focus: boolean;
25
+ metrics: {
26
+ content: number;
27
+ score: number;
28
+ questionsToReview?: number;
29
+ };
30
+ icon: {
31
+ color: string;
32
+ name: string;
33
+ };
34
+ onExploreClick: () => void;
35
+ };
36
+ export default propTypes;
37
+ //# sourceMappingURL=prop-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/molecule/learner-skill-card/prop-types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;CAgBd,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _propTypes = _interopRequireDefault(require("prop-types"));
6
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
+ const propTypes = {
8
+ 'aria-label': _propTypes.default.string,
9
+ cardIndex: _propTypes.default.number,
10
+ skillTitle: _propTypes.default.string,
11
+ skillAriaLabel: _propTypes.default.string,
12
+ focus: _propTypes.default.bool,
13
+ metrics: _propTypes.default.shape({
14
+ content: _propTypes.default.number,
15
+ score: _propTypes.default.number,
16
+ questionsToReview: _propTypes.default.number
17
+ }),
18
+ icon: _propTypes.default.shape({
19
+ color: _propTypes.default.string,
20
+ name: _propTypes.default.string
21
+ }),
22
+ onExploreClick: _propTypes.default.func
23
+ };
24
+ var _default = exports.default = propTypes;
25
+ //# sourceMappingURL=prop-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prop-types.js","names":["_propTypes","_interopRequireDefault","require","e","__esModule","default","propTypes","PropTypes","string","cardIndex","number","skillTitle","skillAriaLabel","focus","bool","metrics","shape","content","score","questionsToReview","icon","color","name","onExploreClick","func","_default","exports"],"sources":["../../../src/molecule/learner-skill-card/prop-types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst propTypes = {\n 'aria-label': PropTypes.string,\n cardIndex: PropTypes.number,\n skillTitle: PropTypes.string,\n skillAriaLabel: PropTypes.string,\n focus: PropTypes.bool,\n metrics: PropTypes.shape({\n content: PropTypes.number,\n score: PropTypes.number,\n questionsToReview: PropTypes.number\n }),\n icon: PropTypes.shape({\n color: PropTypes.string,\n name: PropTypes.string\n }),\n onExploreClick: PropTypes.func\n};\n\nexport type LearnerSkillCardProps = {\n 'aria-label'?: string;\n cardIndex: number;\n skillTitle: string;\n skillAriaLabel?: string;\n focus: boolean;\n metrics: {\n content: number;\n score: number;\n questionsToReview?: number;\n };\n icon: {\n color: string;\n name: string;\n };\n onExploreClick: () => void;\n};\n\nexport default propTypes;\n"],"mappings":";;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAmC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnC,MAAMG,SAAS,GAAG;EAChB,YAAY,EAAEC,kBAAS,CAACC,MAAM;EAC9BC,SAAS,EAAEF,kBAAS,CAACG,MAAM;EAC3BC,UAAU,EAAEJ,kBAAS,CAACC,MAAM;EAC5BI,cAAc,EAAEL,kBAAS,CAACC,MAAM;EAChCK,KAAK,EAAEN,kBAAS,CAACO,IAAI;EACrBC,OAAO,EAAER,kBAAS,CAACS,KAAK,CAAC;IACvBC,OAAO,EAAEV,kBAAS,CAACG,MAAM;IACzBQ,KAAK,EAAEX,kBAAS,CAACG,MAAM;IACvBS,iBAAiB,EAAEZ,kBAAS,CAACG;EAC/B,CAAC,CAAC;EACFU,IAAI,EAAEb,kBAAS,CAACS,KAAK,CAAC;IACpBK,KAAK,EAAEd,kBAAS,CAACC,MAAM;IACvBc,IAAI,EAAEf,kBAAS,CAACC;EAClB,CAAC,CAAC;EACFe,cAAc,EAAEhB,kBAAS,CAACiB;AAC5B,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAArB,OAAA,GAoBaC,SAAS","ignoreList":[]}