@coorpacademy/components 11.32.43 → 11.32.44-alpha.56

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 (175) hide show
  1. package/es/atom/button-link/index.d.ts.map +1 -1
  2. package/es/atom/button-link/index.js +12 -6
  3. package/es/atom/button-link/index.js.map +1 -1
  4. package/es/atom/cta/index.js +2 -2
  5. package/es/atom/cta/index.js.map +1 -1
  6. package/es/atom/icon/index.d.ts +1 -0
  7. package/es/atom/icon/index.d.ts.map +1 -1
  8. package/es/atom/icon/index.js +8 -1
  9. package/es/atom/icon/index.js.map +1 -1
  10. package/es/atom/input-file-draggable/index.js +2 -2
  11. package/es/atom/input-file-draggable/index.js.map +1 -1
  12. package/es/atom/link/index.d.ts +2 -2
  13. package/es/atom/link/index.d.ts.map +1 -1
  14. package/es/atom/link/index.js +38 -46
  15. package/es/atom/link/index.js.map +1 -1
  16. package/es/molecule/banner/index.js +3 -3
  17. package/es/molecule/banner/index.js.map +1 -1
  18. package/es/molecule/certification-card/index.d.ts +4 -0
  19. package/es/molecule/certification-card/index.d.ts.map +1 -1
  20. package/es/molecule/certification-card/index.js +14 -10
  21. package/es/molecule/certification-card/index.js.map +1 -1
  22. package/es/molecule/cm-popin/types.d.ts +14 -2
  23. package/es/molecule/cm-popin/types.d.ts.map +1 -1
  24. package/es/molecule/draggable-list/index.d.ts +12 -0
  25. package/es/molecule/progress-wrapper/index.d.ts.map +1 -1
  26. package/es/molecule/progress-wrapper/index.js +21 -11
  27. package/es/molecule/progress-wrapper/index.js.map +1 -1
  28. package/es/organism/accordion/coorp-manager/part/index.js +2 -1
  29. package/es/organism/accordion/coorp-manager/part/index.js.map +1 -1
  30. package/es/organism/brand-learning-priorities/index.d.ts +12 -0
  31. package/es/organism/list-item/index.d.ts +16 -1
  32. package/es/organism/list-item/index.d.ts.map +1 -1
  33. package/es/organism/list-item/index.js +58 -9
  34. package/es/organism/list-item/index.js.map +1 -1
  35. package/es/organism/list-item/style.css +25 -11
  36. package/es/organism/list-items/index.d.ts +12 -0
  37. package/es/organism/mooc-header/index.d.ts.map +1 -1
  38. package/es/organism/mooc-header/index.js +2 -3
  39. package/es/organism/mooc-header/index.js.map +1 -1
  40. package/es/organism/sidebar/index.d.ts +28 -3
  41. package/es/organism/sidebar/index.d.ts.map +1 -1
  42. package/es/organism/sidebar/index.js +7 -3
  43. package/es/organism/sidebar/index.js.map +1 -1
  44. package/es/template/app-player/loading/index.d.ts +14 -2
  45. package/es/template/app-player/player/index.d.ts +28 -4
  46. package/es/template/app-player/player/slides/index.d.ts +14 -2
  47. package/es/template/app-player/player/slides/index.d.ts.map +1 -1
  48. package/es/template/app-player/popin-correction/index.d.ts +18 -6
  49. package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
  50. package/es/template/app-player/popin-end/index.d.ts +16 -4
  51. package/es/template/app-player/popin-end/summary.d.ts +2 -2
  52. package/es/template/app-player/popin-header/index.d.ts +2 -2
  53. package/es/template/app-review/index.d.ts +14 -2
  54. package/es/template/app-review/index.d.ts.map +1 -1
  55. package/es/template/app-review/player/prop-types.d.ts +14 -2
  56. package/es/template/app-review/player/prop-types.d.ts.map +1 -1
  57. package/es/template/app-review/prop-types.d.ts +14 -2
  58. package/es/template/app-review/prop-types.d.ts.map +1 -1
  59. package/es/template/back-office/brand-update/index.d.ts +38 -2
  60. package/es/template/certification-detail/index.d.ts +1 -0
  61. package/es/template/certification-detail/index.d.ts.map +1 -1
  62. package/es/template/certification-detail/index.js +3 -1
  63. package/es/template/certification-detail/index.js.map +1 -1
  64. package/es/template/certifications/index.d.ts +9 -0
  65. package/es/template/certifications/index.d.ts.map +1 -1
  66. package/es/template/certifications/index.js +32 -12
  67. package/es/template/certifications/index.js.map +1 -1
  68. package/es/template/common/dashboard/index.d.ts +28 -4
  69. package/es/template/common/search-page/index.d.ts +14 -2
  70. package/es/template/external-course/index.d.ts +14 -2
  71. package/es/template/skill-detail/index.d.ts +1 -1
  72. package/es/template/skill-detail/index.d.ts.map +1 -1
  73. package/es/template/skill-detail/index.js +5 -5
  74. package/es/template/skill-detail/index.js.map +1 -1
  75. package/lib/atom/button-link/index.d.ts.map +1 -1
  76. package/lib/atom/button-link/index.js +12 -6
  77. package/lib/atom/button-link/index.js.map +1 -1
  78. package/lib/atom/cta/index.js +2 -2
  79. package/lib/atom/cta/index.js.map +1 -1
  80. package/lib/atom/icon/index.d.ts +1 -0
  81. package/lib/atom/icon/index.d.ts.map +1 -1
  82. package/lib/atom/icon/index.js +12 -2
  83. package/lib/atom/icon/index.js.map +1 -1
  84. package/lib/atom/input-file-draggable/index.js.map +1 -1
  85. package/lib/atom/link/index.d.ts +2 -2
  86. package/lib/atom/link/index.d.ts.map +1 -1
  87. package/lib/atom/link/index.js +38 -47
  88. package/lib/atom/link/index.js.map +1 -1
  89. package/lib/molecule/banner/index.js.map +1 -1
  90. package/lib/molecule/certification-card/index.d.ts +4 -0
  91. package/lib/molecule/certification-card/index.d.ts.map +1 -1
  92. package/lib/molecule/certification-card/index.js +14 -10
  93. package/lib/molecule/certification-card/index.js.map +1 -1
  94. package/lib/molecule/cm-popin/types.d.ts +14 -2
  95. package/lib/molecule/cm-popin/types.d.ts.map +1 -1
  96. package/lib/molecule/draggable-list/index.d.ts +12 -0
  97. package/lib/molecule/progress-wrapper/index.d.ts.map +1 -1
  98. package/lib/molecule/progress-wrapper/index.js +25 -12
  99. package/lib/molecule/progress-wrapper/index.js.map +1 -1
  100. package/lib/organism/accordion/coorp-manager/part/index.js +3 -1
  101. package/lib/organism/accordion/coorp-manager/part/index.js.map +1 -1
  102. package/lib/organism/brand-learning-priorities/index.d.ts +12 -0
  103. package/lib/organism/list-item/index.d.ts +16 -1
  104. package/lib/organism/list-item/index.d.ts.map +1 -1
  105. package/lib/organism/list-item/index.js +56 -5
  106. package/lib/organism/list-item/index.js.map +1 -1
  107. package/lib/organism/list-item/style.css +25 -11
  108. package/lib/organism/list-items/index.d.ts +12 -0
  109. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  110. package/lib/organism/mooc-header/index.js +2 -3
  111. package/lib/organism/mooc-header/index.js.map +1 -1
  112. package/lib/organism/sidebar/index.d.ts +28 -3
  113. package/lib/organism/sidebar/index.d.ts.map +1 -1
  114. package/lib/organism/sidebar/index.js +7 -3
  115. package/lib/organism/sidebar/index.js.map +1 -1
  116. package/lib/template/app-player/loading/index.d.ts +14 -2
  117. package/lib/template/app-player/player/index.d.ts +28 -4
  118. package/lib/template/app-player/player/slides/index.d.ts +14 -2
  119. package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
  120. package/lib/template/app-player/popin-correction/index.d.ts +18 -6
  121. package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
  122. package/lib/template/app-player/popin-end/index.d.ts +16 -4
  123. package/lib/template/app-player/popin-end/summary.d.ts +2 -2
  124. package/lib/template/app-player/popin-header/index.d.ts +2 -2
  125. package/lib/template/app-review/index.d.ts +14 -2
  126. package/lib/template/app-review/index.d.ts.map +1 -1
  127. package/lib/template/app-review/player/prop-types.d.ts +14 -2
  128. package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
  129. package/lib/template/app-review/prop-types.d.ts +14 -2
  130. package/lib/template/app-review/prop-types.d.ts.map +1 -1
  131. package/lib/template/back-office/brand-update/index.d.ts +38 -2
  132. package/lib/template/certification-detail/index.d.ts +1 -0
  133. package/lib/template/certification-detail/index.d.ts.map +1 -1
  134. package/lib/template/certification-detail/index.js +3 -1
  135. package/lib/template/certification-detail/index.js.map +1 -1
  136. package/lib/template/certifications/index.d.ts +9 -0
  137. package/lib/template/certifications/index.d.ts.map +1 -1
  138. package/lib/template/certifications/index.js +34 -14
  139. package/lib/template/certifications/index.js.map +1 -1
  140. package/lib/template/common/dashboard/index.d.ts +28 -4
  141. package/lib/template/common/search-page/index.d.ts +14 -2
  142. package/lib/template/external-course/index.d.ts +14 -2
  143. package/lib/template/skill-detail/index.d.ts +1 -1
  144. package/lib/template/skill-detail/index.d.ts.map +1 -1
  145. package/lib/template/skill-detail/index.js +5 -5
  146. package/lib/template/skill-detail/index.js.map +1 -1
  147. package/locales/bs/global.json +10 -10
  148. package/locales/cs/global.json +10 -10
  149. package/locales/de/global.json +10 -10
  150. package/locales/en/global.json +1 -1
  151. package/locales/es/global.json +10 -10
  152. package/locales/et/global.json +10 -10
  153. package/locales/fi/global.json +10 -10
  154. package/locales/fr/global.json +10 -10
  155. package/locales/hr/global.json +10 -10
  156. package/locales/hu/global.json +10 -10
  157. package/locales/hy/global.json +10 -10
  158. package/locales/it/global.json +10 -10
  159. package/locales/ja/global.json +10 -10
  160. package/locales/ko/global.json +10 -10
  161. package/locales/nl/global.json +10 -10
  162. package/locales/pl/global.json +10 -10
  163. package/locales/pt/global.json +10 -10
  164. package/locales/ro/global.json +10 -10
  165. package/locales/ru/global.json +10 -10
  166. package/locales/sk/global.json +10 -10
  167. package/locales/sl/global.json +10 -10
  168. package/locales/sv/global.json +10 -10
  169. package/locales/tl/global.json +8 -8
  170. package/locales/tr/global.json +10 -10
  171. package/locales/uk/global.json +10 -10
  172. package/locales/vi/global.json +10 -10
  173. package/locales/zh/global.json +10 -10
  174. package/locales/zh_TW/global.json +10 -10
  175. package/package.json +2 -2
@@ -368,6 +368,7 @@ declare namespace BrandUpdate {
368
368
  items: PropTypes.Requireable<(PropTypes.InferProps<{
369
369
  title: PropTypes.Validator<string>;
370
370
  subtitle: PropTypes.Requireable<string>;
371
+ provider: PropTypes.Requireable<string>;
371
372
  selected: PropTypes.Requireable<boolean>;
372
373
  selectedColor: PropTypes.Requireable<string>;
373
374
  dataColumns: PropTypes.Requireable<(PropTypes.InferProps<{
@@ -420,6 +421,17 @@ declare namespace BrandUpdate {
420
421
  'aria-label': PropTypes.Requireable<string>;
421
422
  contentType: PropTypes.Requireable<string>;
422
423
  id: PropTypes.Requireable<string>;
424
+ leftIcon: PropTypes.Requireable<PropTypes.InferProps<{
425
+ iconName: PropTypes.Requireable<string>;
426
+ iconColor: PropTypes.Requireable<string>;
427
+ backgroundColor: PropTypes.Requireable<string>;
428
+ borderRadius: PropTypes.Requireable<string>;
429
+ preset: PropTypes.Requireable<string>;
430
+ gradientBackground: PropTypes.Requireable<boolean>;
431
+ size: PropTypes.Requireable<number>;
432
+ wrapperSize: PropTypes.Requireable<number>;
433
+ }>>;
434
+ editAsIcon: PropTypes.Requireable<boolean>;
423
435
  }> | null | undefined)[]>;
424
436
  type: PropTypes.Requireable<string>;
425
437
  itemType: PropTypes.Requireable<string>;
@@ -804,6 +816,7 @@ declare namespace BrandUpdate {
804
816
  }> | PropTypes.InferProps<{
805
817
  title: PropTypes.Validator<string>;
806
818
  subtitle: PropTypes.Requireable<string>;
819
+ provider: PropTypes.Requireable<string>;
807
820
  selected: PropTypes.Requireable<boolean>;
808
821
  selectedColor: PropTypes.Requireable<string>;
809
822
  dataColumns: PropTypes.Requireable<(PropTypes.InferProps<{
@@ -856,6 +869,17 @@ declare namespace BrandUpdate {
856
869
  'aria-label': PropTypes.Requireable<string>;
857
870
  contentType: PropTypes.Requireable<string>;
858
871
  id: PropTypes.Requireable<string>;
872
+ leftIcon: PropTypes.Requireable<PropTypes.InferProps<{
873
+ iconName: PropTypes.Requireable<string>;
874
+ iconColor: PropTypes.Requireable<string>;
875
+ backgroundColor: PropTypes.Requireable<string>;
876
+ borderRadius: PropTypes.Requireable<string>;
877
+ preset: PropTypes.Requireable<string>;
878
+ gradientBackground: PropTypes.Requireable<boolean>;
879
+ size: PropTypes.Requireable<number>;
880
+ wrapperSize: PropTypes.Requireable<number>;
881
+ }>>;
882
+ editAsIcon: PropTypes.Requireable<boolean>;
859
883
  }> | PropTypes.InferProps<{
860
884
  'aria-label': PropTypes.Requireable<string>;
861
885
  id: PropTypes.Requireable<string>;
@@ -1022,6 +1046,7 @@ declare namespace BrandUpdate {
1022
1046
  items: PropTypes.Requireable<(PropTypes.InferProps<{
1023
1047
  title: PropTypes.Validator<string>;
1024
1048
  subtitle: PropTypes.Requireable<string>;
1049
+ provider: PropTypes.Requireable<string>;
1025
1050
  selected: PropTypes.Requireable<boolean>;
1026
1051
  selectedColor: PropTypes.Requireable<string>;
1027
1052
  dataColumns: PropTypes.Requireable<(PropTypes.InferProps<{
@@ -1074,6 +1099,17 @@ declare namespace BrandUpdate {
1074
1099
  'aria-label': PropTypes.Requireable<string>;
1075
1100
  contentType: PropTypes.Requireable<string>;
1076
1101
  id: PropTypes.Requireable<string>;
1102
+ leftIcon: PropTypes.Requireable<PropTypes.InferProps<{
1103
+ iconName: PropTypes.Requireable<string>;
1104
+ iconColor: PropTypes.Requireable<string>;
1105
+ backgroundColor: PropTypes.Requireable<string>;
1106
+ borderRadius: PropTypes.Requireable<string>;
1107
+ preset: PropTypes.Requireable<string>;
1108
+ gradientBackground: PropTypes.Requireable<boolean>;
1109
+ size: PropTypes.Requireable<number>;
1110
+ wrapperSize: PropTypes.Requireable<number>;
1111
+ }>>;
1112
+ editAsIcon: PropTypes.Requireable<boolean>;
1077
1113
  }> | null | undefined)[]>;
1078
1114
  type: PropTypes.Requireable<string>;
1079
1115
  itemType: PropTypes.Requireable<string>;
@@ -1171,11 +1207,11 @@ declare namespace BrandUpdate {
1171
1207
  'aria-label': PropTypes.Requireable<string>;
1172
1208
  title: PropTypes.Requireable<string>;
1173
1209
  target: PropTypes.Requireable<string>;
1174
- skinHover: PropTypes.Requireable<boolean>;
1175
1210
  hoverColor: PropTypes.Requireable<string>;
1211
+ hoverBackgroundColor: PropTypes.Requireable<string>;
1176
1212
  download: PropTypes.Requireable<boolean>;
1177
1213
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
1178
- onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
1214
+ onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
1179
1215
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
1180
1216
  useButtonTag: PropTypes.Requireable<boolean>;
1181
1217
  style: PropTypes.Requireable<PropTypes.InferProps<{}>>;
@@ -27,6 +27,7 @@ declare namespace CertificationDetail {
27
27
  }
28
28
  namespace propTypes {
29
29
  const title: PropTypes.Validator<string>;
30
+ const tag: PropTypes.Requireable<string>;
30
31
  const certificationRef: PropTypes.Validator<string>;
31
32
  const description: PropTypes.Validator<string>;
32
33
  const logoUrl: PropTypes.Requireable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/certification-detail/index.js"],"names":[],"mappings":";AAgBA,4EAuHC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/certification-detail/index.js"],"names":[],"mappings":";AAgBA,4EAyHC"}
@@ -21,6 +21,7 @@ const CertificationDetail = (props, context) => {
21
21
  const {
22
22
  certificationRef,
23
23
  title,
24
+ tag,
24
25
  description,
25
26
  certificationCourses,
26
27
  ongoingCoursesAvailable,
@@ -81,7 +82,7 @@ const CertificationDetail = (props, context) => {
81
82
  className: style.logo,
82
83
  src: logoUrl
83
84
  })), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Tag, {
84
- label: translate('certification')
85
+ label: tag
85
86
  }), /*#__PURE__*/React.createElement("div", {
86
87
  className: style.title
87
88
  }, title), description ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Description, null), isDescriptionTruncated ? /*#__PURE__*/React.createElement("div", {
@@ -127,6 +128,7 @@ CertificationDetail.contextTypes = {
127
128
  };
128
129
  CertificationDetail.propTypes = process.env.NODE_ENV !== "production" ? {
129
130
  title: PropTypes.string.isRequired,
131
+ tag: PropTypes.string,
130
132
  certificationRef: PropTypes.string.isRequired,
131
133
  description: PropTypes.string.isRequired,
132
134
  logoUrl: PropTypes.string,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useRef","useState","useMemo","PropTypes","classnames","Markdown","Provider","Tag","SelectOptionPropTypes","ButtonLinkIcon","Icon","CardsGrid","AllCourses","ContinueLearningButton","ProgressWrapper","style","CertificationDetail","props","context","certificationRef","title","description","certificationCourses","ongoingCoursesAvailable","filters","onBackClick","onContinueLearningClick","metrics","logoUrl","diplomaUrl","badgeUrl","descriptionRef","translate","progression","mandatoryModules","stars","totalModules","isDescriptionTruncated","setIsDescriptionTruncated","showMore","setShowMore","handleShowMore","current","clientHeight","scrollHeight","Description","truncate","completedModules","backgroundContainer","container","backButton","ctaContainer","logoContainer","logo","showMoreWrapper","faSize","wrapperSize","contentStats","type","downloadUrl","contextTypes","skin","childContextTypes","propTypes","string","isRequired","shape","number","bool","onChange","func","options","arrayOf"],"sources":["../../../src/template/certification-detail/index.js"],"sourcesContent":["import React, {useCallback, useEffect, useRef, useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {compact, lowerCase, round, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport AllCourses from '../skill-detail/all-courses';\nimport {ContinueLearningButton} from '../skill-detail';\nimport ProgressWrapper from '../../molecule/progress-wrapper';\nimport style from './style.css';\n\nconst CertificationDetail = (props, context) => {\n const {\n certificationRef,\n title,\n description,\n certificationCourses,\n ongoingCoursesAvailable,\n filters,\n onBackClick,\n onContinueLearningClick,\n metrics,\n logoUrl,\n diplomaUrl,\n badgeUrl\n } = props;\n const descriptionRef = useRef(null);\n const {translate} = context;\n const {progression, mandatoryModules, stars, totalModules} = metrics;\n\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n className={classnames(style.description, !showMore && style.truncate)}\n >\n <Markdown>{description}</Markdown>\n </div>\n );\n }, [showMore, description]);\n\n const completedModules = useMemo(\n () => round((mandatoryModules * progression) / 100),\n [mandatoryModules, progression]\n );\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={certificationRef}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n <div className={style.ctaContainer}>\n <div className={style.logoContainer}>\n <img className={style.logo} src={logoUrl} />\n </div>\n <div>\n <Tag label={translate('certification')} />\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {translate(showMore ? 'Show less' : 'Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{faSize: 14, wrapperSize: 16}}\n />\n </div>\n ) : null}\n </>\n ) : null}\n <div className={style.contentStats}>\n <span>{`${totalModules} ${lowerCase(translate('modules'))}`}</span>\n </div>\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n <ProgressWrapper\n title={translate('your_progress')}\n subtitle={translate('certification_progress_wrapper_subtitle')}\n progression={progression}\n completedModules={completedModules}\n mandatoryModules={mandatoryModules}\n sections={compact([\n {\n type: 'diploma',\n downloadUrl: diplomaUrl\n },\n badgeUrl && {\n type: 'badge',\n downloadUrl: badgeUrl\n },\n {\n type: 'stars',\n stars\n }\n ])}\n />\n <AllCourses\n content={certificationCourses}\n filters={filters}\n data-name=\"certification-courses\"\n />\n </div>\n </div>\n );\n};\n\nCertificationDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nCertificationDetail.propTypes = {\n title: PropTypes.string.isRequired,\n certificationRef: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n logoUrl: PropTypes.string,\n metrics: PropTypes.shape({\n progression: PropTypes.number,\n stars: PropTypes.number,\n mandatoryModules: PropTypes.number,\n totalModules: PropTypes.number\n }),\n diplomaUrl: PropTypes.string,\n badgeUrl: PropTypes.string,\n ongoingCoursesAvailable: PropTypes.bool,\n certificationCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n onBackClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default CertificationDetail;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useRef","useState","useMemo","PropTypes","classnames","Markdown","Provider","Tag","SelectOptionPropTypes","ButtonLinkIcon","Icon","CardsGrid","AllCourses","ContinueLearningButton","ProgressWrapper","style","CertificationDetail","props","context","certificationRef","title","tag","description","certificationCourses","ongoingCoursesAvailable","filters","onBackClick","onContinueLearningClick","metrics","logoUrl","diplomaUrl","badgeUrl","descriptionRef","translate","progression","mandatoryModules","stars","totalModules","isDescriptionTruncated","setIsDescriptionTruncated","showMore","setShowMore","handleShowMore","current","clientHeight","scrollHeight","Description","truncate","completedModules","backgroundContainer","container","backButton","ctaContainer","logoContainer","logo","showMoreWrapper","faSize","wrapperSize","contentStats","type","downloadUrl","contextTypes","skin","childContextTypes","propTypes","string","isRequired","shape","number","bool","onChange","func","options","arrayOf"],"sources":["../../../src/template/certification-detail/index.js"],"sourcesContent":["import React, {useCallback, useEffect, useRef, useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {compact, lowerCase, round, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport AllCourses from '../skill-detail/all-courses';\nimport {ContinueLearningButton} from '../skill-detail';\nimport ProgressWrapper from '../../molecule/progress-wrapper';\nimport style from './style.css';\n\nconst CertificationDetail = (props, context) => {\n const {\n certificationRef,\n title,\n tag,\n description,\n certificationCourses,\n ongoingCoursesAvailable,\n filters,\n onBackClick,\n onContinueLearningClick,\n metrics,\n logoUrl,\n diplomaUrl,\n badgeUrl\n } = props;\n const descriptionRef = useRef(null);\n const {translate} = context;\n\n const {progression, mandatoryModules, stars, totalModules} = metrics;\n\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n className={classnames(style.description, !showMore && style.truncate)}\n >\n <Markdown>{description}</Markdown>\n </div>\n );\n }, [showMore, description]);\n\n const completedModules = useMemo(\n () => round((mandatoryModules * progression) / 100),\n [mandatoryModules, progression]\n );\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={certificationRef}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n <div className={style.ctaContainer}>\n <div className={style.logoContainer}>\n <img className={style.logo} src={logoUrl} />\n </div>\n <div>\n <Tag label={tag} />\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {translate(showMore ? 'Show less' : 'Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{faSize: 14, wrapperSize: 16}}\n />\n </div>\n ) : null}\n </>\n ) : null}\n <div className={style.contentStats}>\n <span>{`${totalModules} ${lowerCase(translate('modules'))}`}</span>\n </div>\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n <ProgressWrapper\n title={translate('your_progress')}\n subtitle={translate('certification_progress_wrapper_subtitle')}\n progression={progression}\n completedModules={completedModules}\n mandatoryModules={mandatoryModules}\n sections={compact([\n {\n type: 'diploma',\n downloadUrl: diplomaUrl\n },\n badgeUrl && {\n type: 'badge',\n downloadUrl: badgeUrl\n },\n {\n type: 'stars',\n stars\n }\n ])}\n />\n <AllCourses\n content={certificationCourses}\n filters={filters}\n data-name=\"certification-courses\"\n />\n </div>\n </div>\n );\n};\n\nCertificationDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nCertificationDetail.propTypes = {\n title: PropTypes.string.isRequired,\n tag: PropTypes.string,\n certificationRef: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n logoUrl: PropTypes.string,\n metrics: PropTypes.shape({\n progression: PropTypes.number,\n stars: PropTypes.number,\n mandatoryModules: PropTypes.number,\n totalModules: PropTypes.number\n }),\n diplomaUrl: PropTypes.string,\n badgeUrl: PropTypes.string,\n ongoingCoursesAvailable: PropTypes.bool,\n certificationCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n onBackClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default CertificationDetail;\n"],"mappings":"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"}
@@ -16,7 +16,16 @@ declare namespace Certifications {
16
16
  progress: PropTypes.Requireable<number>;
17
17
  imgUrl: PropTypes.Requireable<string>;
18
18
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
19
+ locales: PropTypes.Requireable<PropTypes.InferProps<{
20
+ conditionDescriptionProgress: PropTypes.Requireable<string>;
21
+ }>>;
19
22
  }> | null | undefined)[]>;
23
+ const locales: PropTypes.Requireable<PropTypes.InferProps<{
24
+ title: PropTypes.Requireable<string>;
25
+ subtitle: PropTypes.Requireable<string>;
26
+ tag: PropTypes.Requireable<string>;
27
+ count: PropTypes.Requireable<string>;
28
+ }>>;
20
29
  const sorting: PropTypes.Requireable<PropTypes.InferProps<{
21
30
  title: PropTypes.Requireable<string>;
22
31
  name: PropTypes.Requireable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/certifications/index.js"],"names":[],"mappings":";AASA,uEAsEC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/certifications/index.js"],"names":[],"mappings":";AAUA,uEAwEC"}
@@ -1,3 +1,5 @@
1
+ import _map from "lodash/fp/map";
2
+
1
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
4
 
3
5
  import React, { useState, useCallback } from 'react';
@@ -11,6 +13,12 @@ import style from './style.css';
11
13
 
12
14
  const Certifications = (props, context) => {
13
15
  const {
16
+ locales: {
17
+ title,
18
+ subtitle,
19
+ tag,
20
+ count
21
+ },
14
22
  certifications,
15
23
  sorting
16
24
  } = props;
@@ -32,8 +40,8 @@ const Certifications = (props, context) => {
32
40
  className: style.container,
33
41
  "data-name": "Certifications"
34
42
  }, /*#__PURE__*/React.createElement(Title, {
35
- title: translate('certificates'),
36
- subtitle: translate('certificates_subtitle'),
43
+ title: title,
44
+ subtitle: subtitle,
37
45
  type: "form-group",
38
46
  titleSize: "standard-light-weight",
39
47
  subtitleSize: "standard-without-margin",
@@ -47,7 +55,7 @@ const Certifications = (props, context) => {
47
55
  className: style.sortSectionWrapper
48
56
  }, /*#__PURE__*/React.createElement("div", {
49
57
  className: style.certificatesCount
50
- }, `${certifications.length} ${translate('certificate(s)')}`), /*#__PURE__*/React.createElement("div", {
58
+ }, count), /*#__PURE__*/React.createElement("div", {
51
59
  className: style.sortSection
52
60
  }, /*#__PURE__*/React.createElement(InputSwitch, {
53
61
  id: 'show-completed-courses-switch',
@@ -61,15 +69,18 @@ const Certifications = (props, context) => {
61
69
  className: style.sortWrapper
62
70
  }, translate('sort_by'), sortView) : null)), /*#__PURE__*/React.createElement("div", {
63
71
  className: style.certificateList
64
- }, certifications.map(certification => {
65
- if (!showCompleted && certification.progress === 100) {
66
- return null;
67
- }
68
-
72
+ }, _map(certification => {
73
+ const {
74
+ label,
75
+ progress
76
+ } = certification;
77
+ if (!showCompleted && progress === 100) return null;
69
78
  return /*#__PURE__*/React.createElement("div", {
70
- key: certification.label
71
- }, /*#__PURE__*/React.createElement(CertificationCard, certification));
72
- }))));
79
+ key: label
80
+ }, /*#__PURE__*/React.createElement(CertificationCard, _extends({}, certification, {
81
+ tag: tag
82
+ })));
83
+ }, certifications))));
73
84
  };
74
85
 
75
86
  Certifications.contextTypes = {
@@ -86,8 +97,17 @@ Certifications.propTypes = process.env.NODE_ENV !== "production" ? {
86
97
  }),
87
98
  progress: PropTypes.number,
88
99
  imgUrl: PropTypes.string,
89
- onClick: PropTypes.func
100
+ onClick: PropTypes.func,
101
+ locales: PropTypes.shape({
102
+ conditionDescriptionProgress: PropTypes.string
103
+ })
90
104
  })),
105
+ locales: PropTypes.shape({
106
+ title: PropTypes.string,
107
+ subtitle: PropTypes.string,
108
+ tag: PropTypes.string,
109
+ count: PropTypes.string
110
+ }),
91
111
  sorting: PropTypes.shape(Select.propTypes)
92
112
  } : {};
93
113
  export default Certifications;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useCallback","PropTypes","Provider","Title","Select","InputSwitch","CertificationCard","style","Certifications","props","context","certifications","sorting","translate","showCompleted","setShowCompleted","sortView","undefined","handleShowCompletedToggle","backgroudnContainer","container","iconName","iconColor","borderRadius","backgroundColor","sortSectionWrapper","certificatesCount","length","sortSection","sortWrapper","certificateList","map","certification","progress","label","contextTypes","childContextTypes","propTypes","arrayOf","shape","string","goal","title","condition","nbDone","number","imgUrl","onClick","func"],"sources":["../../../src/template/certifications/index.js"],"sourcesContent":["import React, {useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport Provider from '../../atom/provider';\nimport Title from '../../atom/title';\nimport Select from '../../atom/select';\nimport InputSwitch from '../../atom/input-switch';\nimport CertificationCard from '../../molecule/certification-card';\nimport style from './style.css';\n\nconst Certifications = (props, context) => {\n const {certifications, sorting} = props;\n const {translate} = context;\n\n const [showCompleted, setShowCompleted] = useState(true);\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 handleShowCompletedToggle = useCallback(() => {\n setShowCompleted(!showCompleted);\n }, [showCompleted, setShowCompleted]);\n\n return (\n <div className={style.backgroudnContainer}>\n <div className={style.container} data-name=\"Certifications\">\n <Title\n title={translate('certificates')}\n subtitle={translate('certificates_subtitle')}\n type=\"form-group\"\n titleSize=\"standard-light-weight\"\n subtitleSize=\"standard-without-margin\"\n icon={{\n iconName: 'wreath-laurel',\n iconColor: '#B87A00',\n borderRadius: '12px',\n backgroundColor: '#FFEECC'\n }}\n />\n <div className={style.sortSectionWrapper}>\n <div className={style.certificatesCount}>\n {`${certifications.length} ${translate('certificate(s)')}`}\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 {sorting ? (\n <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n ) : null}\n </div>\n </div>\n <div className={style.certificateList}>\n {certifications.map(certification => {\n if (!showCompleted && certification.progress === 100) {\n return null;\n }\n return (\n <div key={certification.label}>\n <CertificationCard {...certification} />\n </div>\n );\n })}\n </div>\n </div>\n </div>\n );\n};\n\nCertifications.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nCertifications.propTypes = {\n certifications: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n goal: PropTypes.shape({\n title: PropTypes.string,\n condition: PropTypes.shape({\n nbDone: PropTypes.number\n })\n }),\n progress: PropTypes.number,\n imgUrl: PropTypes.string,\n onClick: PropTypes.func\n })\n ),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default Certifications;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useState","useCallback","PropTypes","Provider","Title","Select","InputSwitch","CertificationCard","style","Certifications","props","context","locales","title","subtitle","tag","count","certifications","sorting","translate","showCompleted","setShowCompleted","sortView","undefined","handleShowCompletedToggle","backgroudnContainer","container","iconName","iconColor","borderRadius","backgroundColor","sortSectionWrapper","certificatesCount","sortSection","sortWrapper","certificateList","certification","label","progress","contextTypes","childContextTypes","propTypes","arrayOf","shape","string","goal","condition","nbDone","number","imgUrl","onClick","func","conditionDescriptionProgress"],"sources":["../../../src/template/certifications/index.js"],"sourcesContent":["import React, {useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {map} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Title from '../../atom/title';\nimport Select from '../../atom/select';\nimport InputSwitch from '../../atom/input-switch';\nimport CertificationCard from '../../molecule/certification-card';\nimport style from './style.css';\n\nconst Certifications = (props, context) => {\n const {\n locales: {title, subtitle, tag, count},\n certifications,\n sorting\n } = props;\n const {translate} = context;\n\n const [showCompleted, setShowCompleted] = useState(true);\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 handleShowCompletedToggle = useCallback(() => {\n setShowCompleted(!showCompleted);\n }, [showCompleted, setShowCompleted]);\n\n return (\n <div className={style.backgroudnContainer}>\n <div className={style.container} data-name=\"Certifications\">\n <Title\n title={title}\n subtitle={subtitle}\n type=\"form-group\"\n titleSize=\"standard-light-weight\"\n subtitleSize=\"standard-without-margin\"\n icon={{\n iconName: 'wreath-laurel',\n iconColor: '#B87A00',\n borderRadius: '12px',\n backgroundColor: '#FFEECC'\n }}\n />\n <div className={style.sortSectionWrapper}>\n <div className={style.certificatesCount}>{count}</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 {sorting ? (\n <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n ) : null}\n </div>\n </div>\n <div className={style.certificateList}>\n {map(certification => {\n const {label, progress} = certification;\n if (!showCompleted && progress === 100) return null;\n\n return (\n <div key={label}>\n <CertificationCard {...certification} tag={tag} />\n </div>\n );\n }, certifications)}\n </div>\n </div>\n </div>\n );\n};\n\nCertifications.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nCertifications.propTypes = {\n certifications: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n goal: PropTypes.shape({\n title: PropTypes.string,\n condition: PropTypes.shape({\n nbDone: PropTypes.number\n })\n }),\n progress: PropTypes.number,\n imgUrl: PropTypes.string,\n onClick: PropTypes.func,\n locales: PropTypes.shape({\n conditionDescriptionProgress: PropTypes.string\n })\n })\n ),\n locales: PropTypes.shape({\n title: PropTypes.string,\n subtitle: PropTypes.string,\n tag: PropTypes.string,\n count: PropTypes.string\n }),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default Certifications;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,WAAzB,QAA2C,OAA3C;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,KAAP,MAAkB,kBAAlB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,OAAOC,iBAAP,MAA8B,mCAA9B;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,cAAc,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACzC,MAAM;IACJC,OAAO,EAAE;MAACC,KAAD;MAAQC,QAAR;MAAkBC,GAAlB;MAAuBC;IAAvB,CADL;IAEJC,cAFI;IAGJC;EAHI,IAIFR,KAJJ;EAKA,MAAM;IAACS;EAAD,IAAcR,OAApB;EAEA,MAAM,CAACS,aAAD,EAAgBC,gBAAhB,IAAoCrB,QAAQ,CAAC,IAAD,CAAlD;EAEA,MAAMsB,QAAQ,GACZJ,OAAO,KAAKK,SAAZ,gBACE;IAAK,aAAU;EAAf,gBACE,oBAAC,MAAD,eAAYL,OAAZ;IAAqB,cAAW;EAAhC,GADF,CADF,GAII,IALN;EAOA,MAAMM,yBAAyB,GAAGvB,WAAW,CAAC,MAAM;IAClDoB,gBAAgB,CAAC,CAACD,aAAF,CAAhB;EACD,CAF4C,EAE1C,CAACA,aAAD,EAAgBC,gBAAhB,CAF0C,CAA7C;EAIA,oBACE;IAAK,SAAS,EAAEb,KAAK,CAACiB;EAAtB,gBACE;IAAK,SAAS,EAAEjB,KAAK,CAACkB,SAAtB;IAAiC,aAAU;EAA3C,gBACE,oBAAC,KAAD;IACE,KAAK,EAAEb,KADT;IAEE,QAAQ,EAAEC,QAFZ;IAGE,IAAI,EAAC,YAHP;IAIE,SAAS,EAAC,uBAJZ;IAKE,YAAY,EAAC,yBALf;IAME,IAAI,EAAE;MACJa,QAAQ,EAAE,eADN;MAEJC,SAAS,EAAE,SAFP;MAGJC,YAAY,EAAE,MAHV;MAIJC,eAAe,EAAE;IAJb;EANR,EADF,eAcE;IAAK,SAAS,EAAEtB,KAAK,CAACuB;EAAtB,gBACE;IAAK,SAAS,EAAEvB,KAAK,CAACwB;EAAtB,GAA0ChB,KAA1C,CADF,eAEE;IAAK,SAAS,EAAER,KAAK,CAACyB;EAAtB,gBACE,oBAAC,WAAD;IACE,EAAE,EAAE,+BADN;IAEE,IAAI,EAAC,QAFP;IAGE,IAAI,EAAEd,SAAS,CAAC,gBAAD,CAHjB;IAIE,KAAK,EAAEA,SAAS,CAAC,gBAAD,CAJlB;IAKE,cAAY,mCALd;IAME,KAAK,EAAEC,aANT;IAOE,QAAQ,EAAEI;EAPZ,EADF,EAUGN,OAAO,gBACN;IAAK,SAAS,EAAEV,KAAK,CAAC0B;EAAtB,GACGf,SAAS,CAAC,SAAD,CADZ,EAEGG,QAFH,CADM,GAKJ,IAfN,CAFF,CAdF,eAkCE;IAAK,SAAS,EAAEd,KAAK,CAAC2B;EAAtB,GACG,KAAIC,aAAa,IAAI;IACpB,MAAM;MAACC,KAAD;MAAQC;IAAR,IAAoBF,aAA1B;IACA,IAAI,CAAChB,aAAD,IAAkBkB,QAAQ,KAAK,GAAnC,EAAwC,OAAO,IAAP;IAExC,oBACE;MAAK,GAAG,EAAED;IAAV,gBACE,oBAAC,iBAAD,eAAuBD,aAAvB;MAAsC,GAAG,EAAErB;IAA3C,GADF,CADF;EAKD,CATA,EASEE,cATF,CADH,CAlCF,CADF,CADF;AAmDD,CAxED;;AA0EAR,cAAc,CAAC8B,YAAf,GAA8B;EAC5BpB,SAAS,EAAEhB,QAAQ,CAACqC,iBAAT,CAA2BrB;AADV,CAA9B;AAIAV,cAAc,CAACgC,SAAf,2CAA2B;EACzBxB,cAAc,EAAEf,SAAS,CAACwC,OAAV,CACdxC,SAAS,CAACyC,KAAV,CAAgB;IACdN,KAAK,EAAEnC,SAAS,CAAC0C,MADH;IAEdC,IAAI,EAAE3C,SAAS,CAACyC,KAAV,CAAgB;MACpB9B,KAAK,EAAEX,SAAS,CAAC0C,MADG;MAEpBE,SAAS,EAAE5C,SAAS,CAACyC,KAAV,CAAgB;QACzBI,MAAM,EAAE7C,SAAS,CAAC8C;MADO,CAAhB;IAFS,CAAhB,CAFQ;IAQdV,QAAQ,EAAEpC,SAAS,CAAC8C,MARN;IASdC,MAAM,EAAE/C,SAAS,CAAC0C,MATJ;IAUdM,OAAO,EAAEhD,SAAS,CAACiD,IAVL;IAWdvC,OAAO,EAAEV,SAAS,CAACyC,KAAV,CAAgB;MACvBS,4BAA4B,EAAElD,SAAS,CAAC0C;IADjB,CAAhB;EAXK,CAAhB,CADc,CADS;EAkBzBhC,OAAO,EAAEV,SAAS,CAACyC,KAAV,CAAgB;IACvB9B,KAAK,EAAEX,SAAS,CAAC0C,MADM;IAEvB9B,QAAQ,EAAEZ,SAAS,CAAC0C,MAFG;IAGvB7B,GAAG,EAAEb,SAAS,CAAC0C,MAHQ;IAIvB5B,KAAK,EAAEd,SAAS,CAAC0C;EAJM,CAAhB,CAlBgB;EAwBzB1B,OAAO,EAAEhB,SAAS,CAACyC,KAAV,CAAgBtC,MAAM,CAACoC,SAAvB;AAxBgB,CAA3B;AA2BA,eAAehC,cAAf"}
@@ -141,6 +141,7 @@ declare namespace Dashboard {
141
141
  items: PropTypes.Requireable<(PropTypes.InferProps<{
142
142
  title: PropTypes.Validator<string>;
143
143
  subtitle: PropTypes.Requireable<string>;
144
+ provider: PropTypes.Requireable<string>;
144
145
  selected: PropTypes.Requireable<boolean>;
145
146
  selectedColor: PropTypes.Requireable<string>;
146
147
  dataColumns: PropTypes.Requireable<(PropTypes.InferProps<{
@@ -193,6 +194,17 @@ declare namespace Dashboard {
193
194
  'aria-label': PropTypes.Requireable<string>;
194
195
  contentType: PropTypes.Requireable<string>;
195
196
  id: PropTypes.Requireable<string>;
197
+ leftIcon: PropTypes.Requireable<PropTypes.InferProps<{
198
+ iconName: PropTypes.Requireable<string>;
199
+ iconColor: PropTypes.Requireable<string>;
200
+ backgroundColor: PropTypes.Requireable<string>;
201
+ borderRadius: PropTypes.Requireable<string>;
202
+ preset: PropTypes.Requireable<string>;
203
+ gradientBackground: PropTypes.Requireable<boolean>;
204
+ size: PropTypes.Requireable<number>;
205
+ wrapperSize: PropTypes.Requireable<number>;
206
+ }>>;
207
+ editAsIcon: PropTypes.Requireable<boolean>;
196
208
  }> | null | undefined)[]>;
197
209
  type: PropTypes.Requireable<string>;
198
210
  itemType: PropTypes.Requireable<string>;
@@ -290,11 +302,11 @@ declare namespace Dashboard {
290
302
  'aria-label': PropTypes.Requireable<string>;
291
303
  title: PropTypes.Requireable<string>;
292
304
  target: PropTypes.Requireable<string>;
293
- skinHover: PropTypes.Requireable<boolean>;
294
305
  hoverColor: PropTypes.Requireable<string>;
306
+ hoverBackgroundColor: PropTypes.Requireable<string>;
295
307
  download: PropTypes.Requireable<boolean>;
296
308
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
297
- onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
309
+ onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
298
310
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
299
311
  useButtonTag: PropTypes.Requireable<boolean>;
300
312
  style: PropTypes.Requireable<PropTypes.InferProps<{}>>;
@@ -438,6 +450,7 @@ declare namespace Dashboard {
438
450
  items: PropTypes.Requireable<(PropTypes.InferProps<{
439
451
  title: PropTypes.Validator<string>;
440
452
  subtitle: PropTypes.Requireable<string>;
453
+ provider: PropTypes.Requireable<string>;
441
454
  selected: PropTypes.Requireable<boolean>;
442
455
  selectedColor: PropTypes.Requireable<string>;
443
456
  dataColumns: PropTypes.Requireable<(PropTypes.InferProps<{
@@ -490,6 +503,17 @@ declare namespace Dashboard {
490
503
  'aria-label': PropTypes.Requireable<string>;
491
504
  contentType: PropTypes.Requireable<string>;
492
505
  id: PropTypes.Requireable<string>;
506
+ leftIcon: PropTypes.Requireable<PropTypes.InferProps<{
507
+ iconName: PropTypes.Requireable<string>;
508
+ iconColor: PropTypes.Requireable<string>;
509
+ backgroundColor: PropTypes.Requireable<string>;
510
+ borderRadius: PropTypes.Requireable<string>;
511
+ preset: PropTypes.Requireable<string>;
512
+ gradientBackground: PropTypes.Requireable<boolean>;
513
+ size: PropTypes.Requireable<number>;
514
+ wrapperSize: PropTypes.Requireable<number>;
515
+ }>>;
516
+ editAsIcon: PropTypes.Requireable<boolean>;
493
517
  }> | null | undefined)[]>;
494
518
  type: PropTypes.Requireable<string>;
495
519
  itemType: PropTypes.Requireable<string>;
@@ -587,11 +611,11 @@ declare namespace Dashboard {
587
611
  'aria-label': PropTypes.Requireable<string>;
588
612
  title: PropTypes.Requireable<string>;
589
613
  target: PropTypes.Requireable<string>;
590
- skinHover: PropTypes.Requireable<boolean>;
591
614
  hoverColor: PropTypes.Requireable<string>;
615
+ hoverBackgroundColor: PropTypes.Requireable<string>;
592
616
  download: PropTypes.Requireable<boolean>;
593
617
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
594
- onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
618
+ onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
595
619
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
596
620
  useButtonTag: PropTypes.Requireable<boolean>;
597
621
  style: PropTypes.Requireable<PropTypes.InferProps<{}>>;
@@ -322,6 +322,7 @@ declare namespace SearchPage {
322
322
  items: PropTypes.Requireable<(PropTypes.InferProps<{
323
323
  title: PropTypes.Validator<string>;
324
324
  subtitle: PropTypes.Requireable<string>;
325
+ provider: PropTypes.Requireable<string>;
325
326
  selected: PropTypes.Requireable<boolean>;
326
327
  selectedColor: PropTypes.Requireable<string>;
327
328
  dataColumns: PropTypes.Requireable<(PropTypes.InferProps<{
@@ -374,6 +375,17 @@ declare namespace SearchPage {
374
375
  'aria-label': PropTypes.Requireable<string>;
375
376
  contentType: PropTypes.Requireable<string>;
376
377
  id: PropTypes.Requireable<string>;
378
+ leftIcon: PropTypes.Requireable<PropTypes.InferProps<{
379
+ iconName: PropTypes.Requireable<string>;
380
+ iconColor: PropTypes.Requireable<string>;
381
+ backgroundColor: PropTypes.Requireable<string>;
382
+ borderRadius: PropTypes.Requireable<string>;
383
+ preset: PropTypes.Requireable<string>;
384
+ gradientBackground: PropTypes.Requireable<boolean>;
385
+ size: PropTypes.Requireable<number>;
386
+ wrapperSize: PropTypes.Requireable<number>;
387
+ }>>;
388
+ editAsIcon: PropTypes.Requireable<boolean>;
377
389
  }> | null | undefined)[]>;
378
390
  type: PropTypes.Requireable<string>;
379
391
  itemType: PropTypes.Requireable<string>;
@@ -471,11 +483,11 @@ declare namespace SearchPage {
471
483
  'aria-label': PropTypes.Requireable<string>;
472
484
  title: PropTypes.Requireable<string>;
473
485
  target: PropTypes.Requireable<string>;
474
- skinHover: PropTypes.Requireable<boolean>;
475
486
  hoverColor: PropTypes.Requireable<string>;
487
+ hoverBackgroundColor: PropTypes.Requireable<string>;
476
488
  download: PropTypes.Requireable<boolean>;
477
489
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
478
- onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
490
+ onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
479
491
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
480
492
  useButtonTag: PropTypes.Requireable<boolean>;
481
493
  style: PropTypes.Requireable<PropTypes.InferProps<{}>>;
@@ -159,6 +159,7 @@ declare namespace ExternalCourse {
159
159
  items: PropTypes.Requireable<(PropTypes.InferProps<{
160
160
  title: PropTypes.Validator<string>;
161
161
  subtitle: PropTypes.Requireable<string>;
162
+ provider: PropTypes.Requireable<string>;
162
163
  selected: PropTypes.Requireable<boolean>;
163
164
  selectedColor: PropTypes.Requireable<string>;
164
165
  dataColumns: PropTypes.Requireable<(PropTypes.InferProps<{
@@ -211,6 +212,17 @@ declare namespace ExternalCourse {
211
212
  'aria-label': PropTypes.Requireable<string>;
212
213
  contentType: PropTypes.Requireable<string>;
213
214
  id: PropTypes.Requireable<string>;
215
+ leftIcon: PropTypes.Requireable<PropTypes.InferProps<{
216
+ iconName: PropTypes.Requireable<string>;
217
+ iconColor: PropTypes.Requireable<string>;
218
+ backgroundColor: PropTypes.Requireable<string>;
219
+ borderRadius: PropTypes.Requireable<string>;
220
+ preset: PropTypes.Requireable<string>;
221
+ gradientBackground: PropTypes.Requireable<boolean>;
222
+ size: PropTypes.Requireable<number>;
223
+ wrapperSize: PropTypes.Requireable<number>;
224
+ }>>;
225
+ editAsIcon: PropTypes.Requireable<boolean>;
214
226
  }> | null | undefined)[]>;
215
227
  type: PropTypes.Requireable<string>;
216
228
  itemType: PropTypes.Requireable<string>;
@@ -308,11 +320,11 @@ declare namespace ExternalCourse {
308
320
  'aria-label': PropTypes.Requireable<string>;
309
321
  title: PropTypes.Requireable<string>;
310
322
  target: PropTypes.Requireable<string>;
311
- skinHover: PropTypes.Requireable<boolean>;
312
323
  hoverColor: PropTypes.Requireable<string>;
324
+ hoverBackgroundColor: PropTypes.Requireable<string>;
313
325
  download: PropTypes.Requireable<boolean>;
314
326
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
315
- onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
327
+ onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
316
328
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
317
329
  useButtonTag: PropTypes.Requireable<boolean>;
318
330
  style: PropTypes.Requireable<PropTypes.InferProps<{}>>;
@@ -67,12 +67,12 @@ declare namespace SkillDetail {
67
67
  export const metrics: PropTypes.Requireable<PropTypes.InferProps<{
68
68
  score: PropTypes.Requireable<number>;
69
69
  questionsToReview: PropTypes.Requireable<number>;
70
+ totalContents: PropTypes.Requireable<number>;
70
71
  }>>;
71
72
  export const focused: PropTypes.Requireable<boolean>;
72
73
  export const availableForReview: PropTypes.Requireable<boolean>;
73
74
  const ongoingCoursesAvailable_1: PropTypes.Requireable<boolean>;
74
75
  export { ongoingCoursesAvailable_1 as ongoingCoursesAvailable };
75
- export const totalCourses: PropTypes.Requireable<number>;
76
76
  export const skillIncludedCourses: PropTypes.Requireable<PropTypes.InferProps<{
77
77
  list: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
78
78
  customStyle: PropTypes.Requireable<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/index.js"],"names":[],"mappings":"AAeO,8EA+BN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYD,oEAoJC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/index.js"],"names":[],"mappings":"AAeO,8EA+BN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYD,oEAmJC"}
@@ -64,7 +64,6 @@ const SkillDetail = (props, context) => {
64
64
  focused,
65
65
  availableForReview,
66
66
  ongoingCoursesAvailable,
67
- totalCourses,
68
67
  skillIncludedCourses,
69
68
  filters,
70
69
  sorting,
@@ -75,7 +74,8 @@ const SkillDetail = (props, context) => {
75
74
  const descriptionRef = useRef(null);
76
75
  const {
77
76
  score = 0,
78
- questionsToReview
77
+ questionsToReview,
78
+ totalContents
79
79
  } = metrics;
80
80
  const {
81
81
  translate
@@ -175,7 +175,7 @@ const SkillDetail = (props, context) => {
175
175
  content: skillIncludedCourses,
176
176
  filters: filters,
177
177
  sorting: sorting,
178
- totalContents: totalCourses
178
+ totalContents: totalContents
179
179
  })));
180
180
  };
181
181
 
@@ -189,12 +189,12 @@ SkillDetail.propTypes = process.env.NODE_ENV !== "production" ? {
189
189
  description: PropTypes.string,
190
190
  metrics: PropTypes.shape({
191
191
  score: PropTypes.number,
192
- questionsToReview: PropTypes.number
192
+ questionsToReview: PropTypes.number,
193
+ totalContents: PropTypes.number
193
194
  }),
194
195
  focused: PropTypes.bool,
195
196
  availableForReview: PropTypes.bool,
196
197
  ongoingCoursesAvailable: PropTypes.bool,
197
- totalCourses: PropTypes.number,
198
198
  skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),
199
199
  filters: PropTypes.shape({
200
200
  onChange: PropTypes.func,