@coorpacademy/components 11.32.30 → 11.32.31-alpha.16

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 (168) hide show
  1. package/es/atom/button-link/index.d.ts.map +1 -1
  2. package/es/atom/button-link/index.js +2 -1
  3. package/es/atom/button-link/index.js.map +1 -1
  4. package/es/atom/button-link/types.d.ts +1 -0
  5. package/es/atom/button-link/types.d.ts.map +1 -1
  6. package/es/atom/button-link/types.js.map +1 -1
  7. package/es/atom/icon/index.d.ts.map +1 -1
  8. package/es/atom/icon/index.js +7 -3
  9. package/es/atom/icon/index.js.map +1 -1
  10. package/es/atom/radio-with-title/index.d.ts +2 -1
  11. package/es/atom/radio-with-title/index.d.ts.map +1 -1
  12. package/es/atom/radio-with-title/types.d.ts +2 -1
  13. package/es/atom/radio-with-title/types.d.ts.map +1 -1
  14. package/es/atom/tag/index.d.ts +4 -2
  15. package/es/atom/tag/index.d.ts.map +1 -1
  16. package/es/atom/tag/index.js +27 -7
  17. package/es/atom/tag/index.js.map +1 -1
  18. package/es/atom/tag/style.css +7 -0
  19. package/es/atom/title/index.d.ts +2 -1
  20. package/es/molecule/bulk-progress-bar/index.d.ts.map +1 -1
  21. package/es/molecule/bulk-progress-bar/index.js +2 -1
  22. package/es/molecule/bulk-progress-bar/index.js.map +1 -1
  23. package/es/molecule/bulk-progress-bar/style.css +0 -4
  24. package/es/molecule/cm-popin/types.d.ts +2 -1
  25. package/es/molecule/cm-popin/types.d.ts.map +1 -1
  26. package/es/molecule/progress-bar/index.d.ts +1 -0
  27. package/es/molecule/progress-bar/index.d.ts.map +1 -1
  28. package/es/molecule/progress-bar/index.js +6 -4
  29. package/es/molecule/progress-bar/index.js.map +1 -1
  30. package/es/molecule/progress-wrapper/index.d.ts +29 -0
  31. package/es/molecule/progress-wrapper/index.d.ts.map +1 -0
  32. package/es/molecule/progress-wrapper/index.js +200 -0
  33. package/es/molecule/progress-wrapper/index.js.map +1 -0
  34. package/es/molecule/progress-wrapper/style.css +185 -0
  35. package/es/molecule/title-and-checkbox-wrapper/index.d.ts +2 -1
  36. package/es/molecule/title-radio-wrapper/index.d.ts +2 -1
  37. package/es/molecule/title-radio-wrapper/index.d.ts.map +1 -1
  38. package/es/molecule/title-radio-wrapper/types.d.ts +2 -1
  39. package/es/molecule/title-radio-wrapper/types.d.ts.map +1 -1
  40. package/es/organism/rewards-form/index.d.ts +2 -1
  41. package/es/organism/select-opponents/index.d.ts +2 -1
  42. package/es/organism/select-opponents/index.d.ts.map +1 -1
  43. package/es/organism/select-opponents/types.d.ts +2 -1
  44. package/es/organism/select-opponents/types.d.ts.map +1 -1
  45. package/es/organism/title-and-input/index.d.ts +4 -2
  46. package/es/organism/title-and-input/index.d.ts.map +1 -1
  47. package/es/organism/title-and-input/types.d.ts +4 -2
  48. package/es/organism/title-and-input/types.d.ts.map +1 -1
  49. package/es/organism/wizard-contents/index.d.ts +2 -1
  50. package/es/template/activity/progression-item.css +0 -4
  51. package/es/template/activity/progression-item.d.ts.map +1 -1
  52. package/es/template/activity/progression-item.js +2 -1
  53. package/es/template/activity/progression-item.js.map +1 -1
  54. package/es/template/app-player/loading/index.d.ts +2 -1
  55. package/es/template/app-player/player/index.d.ts +4 -2
  56. package/es/template/app-player/player/slides/index.d.ts +2 -1
  57. package/es/template/app-player/player/slides/index.d.ts.map +1 -1
  58. package/es/template/app-player/popin-correction/index.d.ts +2 -1
  59. package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
  60. package/es/template/app-player/popin-end/index.d.ts +2 -1
  61. package/es/template/app-review/index.d.ts +2 -1
  62. package/es/template/app-review/index.d.ts.map +1 -1
  63. package/es/template/app-review/player/prop-types.d.ts +2 -1
  64. package/es/template/app-review/player/prop-types.d.ts.map +1 -1
  65. package/es/template/app-review/prop-types.d.ts +2 -1
  66. package/es/template/app-review/prop-types.d.ts.map +1 -1
  67. package/es/template/back-office/brand-update/index.d.ts +2 -1
  68. package/es/template/certification-detail/index.d.ts +105 -0
  69. package/es/template/certification-detail/index.d.ts.map +1 -0
  70. package/es/template/certification-detail/index.js +157 -0
  71. package/es/template/certification-detail/index.js.map +1 -0
  72. package/es/template/certification-detail/style.css +130 -0
  73. package/es/template/common/dashboard/index.d.ts +4 -2
  74. package/es/template/common/search-page/index.d.ts +2 -1
  75. package/es/template/external-course/index.d.ts +2 -1
  76. package/es/template/playlist-detail/index.d.ts.map +1 -1
  77. package/es/template/playlist-detail/index.js +4 -2
  78. package/es/template/playlist-detail/index.js.map +1 -1
  79. package/es/template/playlist-detail/style.css +5 -0
  80. package/es/template/skill-detail/all-courses.css +6 -6
  81. package/es/template/skill-detail/continue-learning.d.ts.map +1 -1
  82. package/es/template/skill-detail/continue-learning.js +3 -2
  83. package/es/template/skill-detail/continue-learning.js.map +1 -1
  84. package/lib/atom/button-link/index.d.ts.map +1 -1
  85. package/lib/atom/button-link/index.js +2 -1
  86. package/lib/atom/button-link/index.js.map +1 -1
  87. package/lib/atom/button-link/types.d.ts +1 -0
  88. package/lib/atom/button-link/types.d.ts.map +1 -1
  89. package/lib/atom/button-link/types.js.map +1 -1
  90. package/lib/atom/icon/index.d.ts.map +1 -1
  91. package/lib/atom/icon/index.js +7 -3
  92. package/lib/atom/icon/index.js.map +1 -1
  93. package/lib/atom/radio-with-title/index.d.ts +2 -1
  94. package/lib/atom/radio-with-title/index.d.ts.map +1 -1
  95. package/lib/atom/radio-with-title/types.d.ts +2 -1
  96. package/lib/atom/radio-with-title/types.d.ts.map +1 -1
  97. package/lib/atom/tag/index.d.ts +4 -2
  98. package/lib/atom/tag/index.d.ts.map +1 -1
  99. package/lib/atom/tag/index.js +28 -7
  100. package/lib/atom/tag/index.js.map +1 -1
  101. package/lib/atom/tag/style.css +7 -0
  102. package/lib/atom/title/index.d.ts +2 -1
  103. package/lib/molecule/bulk-progress-bar/index.d.ts.map +1 -1
  104. package/lib/molecule/bulk-progress-bar/index.js +2 -1
  105. package/lib/molecule/bulk-progress-bar/index.js.map +1 -1
  106. package/lib/molecule/bulk-progress-bar/style.css +0 -4
  107. package/lib/molecule/cm-popin/types.d.ts +2 -1
  108. package/lib/molecule/cm-popin/types.d.ts.map +1 -1
  109. package/lib/molecule/progress-bar/index.d.ts +1 -0
  110. package/lib/molecule/progress-bar/index.d.ts.map +1 -1
  111. package/lib/molecule/progress-bar/index.js +6 -4
  112. package/lib/molecule/progress-bar/index.js.map +1 -1
  113. package/lib/molecule/progress-wrapper/index.d.ts +29 -0
  114. package/lib/molecule/progress-wrapper/index.d.ts.map +1 -0
  115. package/lib/molecule/progress-wrapper/index.js +221 -0
  116. package/lib/molecule/progress-wrapper/index.js.map +1 -0
  117. package/lib/molecule/progress-wrapper/style.css +185 -0
  118. package/lib/molecule/title-and-checkbox-wrapper/index.d.ts +2 -1
  119. package/lib/molecule/title-radio-wrapper/index.d.ts +2 -1
  120. package/lib/molecule/title-radio-wrapper/index.d.ts.map +1 -1
  121. package/lib/molecule/title-radio-wrapper/types.d.ts +2 -1
  122. package/lib/molecule/title-radio-wrapper/types.d.ts.map +1 -1
  123. package/lib/organism/rewards-form/index.d.ts +2 -1
  124. package/lib/organism/select-opponents/index.d.ts +2 -1
  125. package/lib/organism/select-opponents/index.d.ts.map +1 -1
  126. package/lib/organism/select-opponents/types.d.ts +2 -1
  127. package/lib/organism/select-opponents/types.d.ts.map +1 -1
  128. package/lib/organism/title-and-input/index.d.ts +4 -2
  129. package/lib/organism/title-and-input/index.d.ts.map +1 -1
  130. package/lib/organism/title-and-input/types.d.ts +4 -2
  131. package/lib/organism/title-and-input/types.d.ts.map +1 -1
  132. package/lib/organism/wizard-contents/index.d.ts +2 -1
  133. package/lib/template/activity/progression-item.css +0 -4
  134. package/lib/template/activity/progression-item.d.ts.map +1 -1
  135. package/lib/template/activity/progression-item.js +2 -1
  136. package/lib/template/activity/progression-item.js.map +1 -1
  137. package/lib/template/app-player/loading/index.d.ts +2 -1
  138. package/lib/template/app-player/player/index.d.ts +4 -2
  139. package/lib/template/app-player/player/slides/index.d.ts +2 -1
  140. package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
  141. package/lib/template/app-player/popin-correction/index.d.ts +2 -1
  142. package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
  143. package/lib/template/app-player/popin-end/index.d.ts +2 -1
  144. package/lib/template/app-review/index.d.ts +2 -1
  145. package/lib/template/app-review/index.d.ts.map +1 -1
  146. package/lib/template/app-review/player/prop-types.d.ts +2 -1
  147. package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
  148. package/lib/template/app-review/prop-types.d.ts +2 -1
  149. package/lib/template/app-review/prop-types.d.ts.map +1 -1
  150. package/lib/template/back-office/brand-update/index.d.ts +2 -1
  151. package/lib/template/certification-detail/index.d.ts +105 -0
  152. package/lib/template/certification-detail/index.d.ts.map +1 -0
  153. package/lib/template/certification-detail/index.js +185 -0
  154. package/lib/template/certification-detail/index.js.map +1 -0
  155. package/lib/template/certification-detail/style.css +130 -0
  156. package/lib/template/common/dashboard/index.d.ts +4 -2
  157. package/lib/template/common/search-page/index.d.ts +2 -1
  158. package/lib/template/external-course/index.d.ts +2 -1
  159. package/lib/template/playlist-detail/index.d.ts.map +1 -1
  160. package/lib/template/playlist-detail/index.js +4 -2
  161. package/lib/template/playlist-detail/index.js.map +1 -1
  162. package/lib/template/playlist-detail/style.css +5 -0
  163. package/lib/template/skill-detail/all-courses.css +6 -6
  164. package/lib/template/skill-detail/continue-learning.d.ts.map +1 -1
  165. package/lib/template/skill-detail/continue-learning.js +3 -2
  166. package/lib/template/skill-detail/continue-learning.js.map +1 -1
  167. package/locales/en/global.json +8 -0
  168. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["DESCRIPTION_BREAKPOINT","CertificationDetail","props","context","certificationRef","title","description","certificationCourses","ongoingCourses","totalCourses","totalModules","filters","sorting","onBackClick","onContinueLearningClick","metrics","logo","onDownloadDiploma","badge","translate","progression","completedCourses","completedModules","stars","badgeUrl","onDownloadBadge","showMore","setShowMore","useState","handleShowMore","useCallback","Description","classnames","style","truncate","backgroundContainer","container","backButton","ctaContainer","logoContainer","length","showMoreWrapper","faSize","wrapperSize","contentStats","divider","list","continueLearningSection","type","onDownload","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","string","isRequired","shape","number","func","CardsGrid","onChange","options","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/certification-detail/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {compact, lowerCase} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport Select, {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 ContinueLearning from '../skill-detail/continue-learning';\nimport {ContinueLearningButton} from '../skill-detail';\nimport ProgressWrapper from '../../molecule/progress-wrapper';\nimport style from './style.css';\n\nconst DESCRIPTION_BREAKPOINT = 382;\n\nconst CertificationDetail = (props, context) => {\n const {\n certificationRef,\n title,\n description,\n certificationCourses,\n ongoingCourses,\n totalCourses,\n totalModules,\n filters,\n sorting,\n onBackClick,\n onContinueLearningClick,\n metrics,\n logo,\n onDownloadDiploma,\n badge = {}\n } = props;\n const {translate} = context;\n const {progression, completedCourses, completedModules, stars} = metrics;\n const {badgeUrl = false, onDownloadBadge} = badge;\n\n const [showMore, setShowMore] = useState(false);\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n const Description = useCallback(() => {\n return (\n <div className={classnames(style.description, !showMore && style.truncate)}>\n {description}\n </div>\n );\n }, [showMore, description]);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={certificationRef}>\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label=\"Back\"\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n <div className={style.ctaContainer}>\n <div className={style.logoContainer}>\n {logo ? <div className={style.logo}>logo</div> : null}\n </div>\n <div>\n <Tag label={translate('certification')} />\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {description.length >= DESCRIPTION_BREAKPOINT ? (\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>{`${totalCourses} ${lowerCase(translate('courses'))}`}</span>\n <div className={style.divider} />\n <span>{`${totalModules} ${lowerCase(translate('modules'))}`}</span>\n </div>\n <ContinueLearningButton\n ongoingCoursesAvailable={!!ongoingCourses.list.length}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n <div className={style.continueLearningSection}>\n <ContinueLearning ongoingCourses={ongoingCourses} />\n </div>\n <ProgressWrapper\n title={translate('your_progress')}\n subtitle={translate('certification_progress_wrapper_subtitle')}\n progression={progression}\n completedCourses={completedCourses}\n completedModules={completedModules}\n sections={compact([\n {\n type: 'diploma',\n onDownload: () => onDownloadDiploma\n },\n badgeUrl && {\n type: 'badge',\n badgeUrl,\n onDownload: () => onDownloadBadge\n },\n {\n type: 'stars',\n stars\n }\n ])}\n />\n <AllCourses\n courses={certificationCourses}\n totalCourses={totalCourses}\n filters={filters}\n sorting={sorting}\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,\n logo: PropTypes.string,\n metrics: PropTypes.shape({\n progression: PropTypes.number,\n stars: PropTypes.number,\n completedCourses: PropTypes.number,\n completedModules: PropTypes.number\n }),\n onDownloadDiploma: PropTypes.func,\n badge: PropTypes.shape({\n badgeUrl: PropTypes.string,\n onDownloadBadge: PropTypes.func\n }),\n ongoingCourses: PropTypes.shape(CardsGrid.propTypes),\n certificationCourses: PropTypes.shape(CardsGrid.propTypes),\n totalCourses: PropTypes.number,\n totalModules: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n onBackClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default CertificationDetail;\n"],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ @value colors: "../../variables/colors.css";
2
+ @value breakpoints: "../../variables/breakpoints.css";
3
+ @value tablet from breakpoints;
4
+ @value mobile from breakpoints;
5
+ @value xtraLightGrey from colors;
6
+ @value cm_grey_50 from colors;
7
+ @value cm_grey_100 from colors;
8
+ @value cm_grey_200 from colors;
9
+ @value cm_grey_400 from colors;
10
+
11
+ .divider {
12
+ width: 4px;
13
+ height: 4px;
14
+ background-color: cm_grey_400;
15
+ border: solid cm_grey_400 1px;
16
+ border-radius: 4px;
17
+ }
18
+
19
+ .textBase {
20
+ font-family: "Gilroy";
21
+ font-style: normal;
22
+ }
23
+
24
+ .backgroundContainer {
25
+ background-color: white;
26
+ min-height: 100%;
27
+ width: 100%;
28
+ }
29
+
30
+ .container {
31
+ composes: textBase;
32
+ background-color: white;
33
+ font-family: "Gilroy";
34
+ font-style: normal;
35
+ margin-top: 48px;
36
+ margin-bottom: 48px;
37
+ margin-left: auto;
38
+ margin-right: auto;
39
+ padding: 0 16px;
40
+ position: relative;
41
+ box-sizing: border-box;
42
+ min-height: 100%;
43
+ width: 100%;
44
+ max-width: calc(1080px + 40px);
45
+ }
46
+
47
+ .backButton {
48
+ margin-bottom: 16px;
49
+ }
50
+
51
+ .ctaContainer {
52
+ display: flex;
53
+ align-items: center;
54
+ width: 100%;
55
+ gap: 40px;
56
+ }
57
+
58
+ .logoContainer {
59
+ height: 300px;
60
+ width: 450px;
61
+ display: flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ background-color: cm_grey_50;
65
+ border-radius: 16px;
66
+ }
67
+
68
+ .logo {
69
+ width: 191px;
70
+ height: 191px;
71
+ }
72
+
73
+ .showMoreWrapper {
74
+ display: flex;
75
+ gap: 8px;
76
+ align-items: center;
77
+ margin-top: 8px;
78
+ font-weight: 600;
79
+ cursor: pointer;
80
+ }
81
+
82
+ .title {
83
+ margin-top: 8px;
84
+ font-size: 24px;
85
+ font-weight: 700;
86
+ line-height: 32px;
87
+ }
88
+
89
+ .description {
90
+ margin-top: 8px;
91
+ max-width: 620px;
92
+ font-size: 14px;
93
+ font-weight: 500;
94
+ line-height: 20px;
95
+ color: cm_grey_400;
96
+ }
97
+
98
+ .truncate {
99
+ display: -webkit-box;
100
+ -webkit-line-clamp: 4;
101
+ -webkit-box-orient: vertical;
102
+ overflow: hidden;
103
+ text-overflow: ellipsis;
104
+ }
105
+
106
+ .contentStats {
107
+ display: flex;
108
+ align-items: center;
109
+ gap: 8px;
110
+ padding: 24px 0;
111
+ font-weight: 600;
112
+ color: cm_grey_400;
113
+ }
114
+
115
+ .continueLearningSection {
116
+ padding: 24px 0 32px 0;
117
+ }
118
+
119
+ @media tablet {
120
+ .ctaContainer {
121
+ flex-direction: column;
122
+ align-items: flex-start;
123
+ }
124
+ }
125
+
126
+ @media mobile {
127
+ .logoContainer {
128
+ width: 100%;
129
+ }
130
+ }
@@ -25,8 +25,9 @@ declare namespace Dashboard {
25
25
  type: PropTypes.Requireable<string>;
26
26
  size: PropTypes.Requireable<string>;
27
27
  customStyle: PropTypes.Requireable<{
28
- [x: string]: string | null | undefined;
28
+ [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
29
29
  }>;
30
+ icon: PropTypes.Requireable<PropTypes.InferProps<any>>;
30
31
  }>>;
31
32
  }>>;
32
33
  headerIcon: PropTypes.Requireable<string>;
@@ -321,8 +322,9 @@ declare namespace Dashboard {
321
322
  type: PropTypes.Requireable<string>;
322
323
  size: PropTypes.Requireable<string>;
323
324
  customStyle: PropTypes.Requireable<{
324
- [x: string]: string | null | undefined;
325
+ [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
325
326
  }>;
327
+ icon: PropTypes.Requireable<PropTypes.InferProps<any>>;
326
328
  }>>;
327
329
  }>>;
328
330
  headerIcon: PropTypes.Requireable<string>;
@@ -206,8 +206,9 @@ declare namespace SearchPage {
206
206
  type: PropTypes.Requireable<string>;
207
207
  size: PropTypes.Requireable<string>;
208
208
  customStyle: PropTypes.Requireable<{
209
- [x: string]: string | null | undefined;
209
+ [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
210
210
  }>;
211
+ icon: PropTypes.Requireable<PropTypes.InferProps<any>>;
211
212
  }>>;
212
213
  }>>;
213
214
  headerIcon: PropTypes.Requireable<string>;
@@ -43,8 +43,9 @@ declare namespace ExternalCourse {
43
43
  type: PropTypes.Requireable<string>;
44
44
  size: PropTypes.Requireable<string>;
45
45
  customStyle: PropTypes.Requireable<{
46
- [x: string]: string | null | undefined;
46
+ [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
47
47
  }>;
48
+ icon: PropTypes.Requireable<PropTypes.InferProps<any>>;
48
49
  }>>;
49
50
  }>>;
50
51
  headerIcon: PropTypes.Requireable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/playlist-detail/index.js"],"names":[],"mappings":";AAiBA,uEA8EC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/playlist-detail/index.js"],"names":[],"mappings":";AAiBA,uEAgFC"}
@@ -99,9 +99,11 @@ const PlaylistDetail = (props, context) => {
99
99
  }, /*#__PURE__*/_react.default.createElement(_skillDetail.ContinueLearningButton, {
100
100
  ongoingCoursesAvailable: !!ongoingCourses.list.length,
101
101
  onClick: onContinueLearningClick
102
- })))), /*#__PURE__*/_react.default.createElement(_continueLearning.default, {
102
+ })))), /*#__PURE__*/_react.default.createElement("div", {
103
+ className: _style.default.continueLearningSection
104
+ }, /*#__PURE__*/_react.default.createElement(_continueLearning.default, {
103
105
  ongoingCourses: ongoingCourses
104
- }), /*#__PURE__*/_react.default.createElement(_allCourses.default, {
106
+ })), /*#__PURE__*/_react.default.createElement(_allCourses.default, {
105
107
  courses: playlistCourses,
106
108
  totalCourses: totalCourses,
107
109
  filters: filters,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DESCRIPTION_BREAKPOINT","PlaylistDetail","props","context","title","coverImages","playlistRef","description","ongoingCourses","playlistCourses","totalCourses","filters","sorting","onBackClick","onContinueLearningClick","translate","showMore","setShowMore","useState","handleShowMore","useCallback","Description","classnames","style","truncate","backgroundContainer","container","backButton","ctaContainer","coverWrapper","length","showMoreWrapper","faSize","wrapperSize","continueLearningButton","list","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","string","isRequired","PlaylistDetailCover","images","shape","CardsGrid","number","onChange","func","options","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/playlist-detail/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport Select, {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 ContinueLearning from '../skill-detail/continue-learning';\nimport PlaylistDetailCover from '../../molecule/playlist-detail-cover';\nimport {ContinueLearningButton} from '../skill-detail';\nimport style from './style.css';\n\nconst DESCRIPTION_BREAKPOINT = 382;\n\nconst PlaylistDetail = (props, context) => {\n const {\n title,\n coverImages,\n playlistRef,\n description,\n ongoingCourses,\n playlistCourses,\n totalCourses,\n filters,\n sorting,\n onBackClick,\n onContinueLearningClick\n } = props;\n const {translate} = context;\n\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n const Description = useCallback(() => {\n return (\n <div className={classnames(style.description, !showMore && style.truncate)}>\n {description}\n </div>\n );\n }, [showMore, description]);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={playlistRef}>\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label=\"Back\"\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n <div className={style.ctaContainer}>\n <div className={style.coverWrapper}>\n <PlaylistDetailCover images={coverImages} />\n </div>\n <div>\n <Tag label={translate('playlist')} />\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {description.length >= DESCRIPTION_BREAKPOINT ? (\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.continueLearningButton}>\n <ContinueLearningButton\n ongoingCoursesAvailable={!!ongoingCourses.list.length}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n </div>\n <ContinueLearning ongoingCourses={ongoingCourses} />\n <AllCourses\n courses={playlistCourses}\n totalCourses={totalCourses}\n filters={filters}\n sorting={sorting}\n />\n </div>\n </div>\n );\n};\n\nPlaylistDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nPlaylistDetail.propTypes = {\n title: PropTypes.string.isRequired,\n coverImages: PlaylistDetailCover.propTypes.images,\n playlistRef: PropTypes.string.isRequired,\n description: PropTypes.string,\n ongoingCourses: PropTypes.shape(CardsGrid.propTypes),\n playlistCourses: PropTypes.shape(CardsGrid.propTypes),\n totalCourses: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n onBackClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default PlaylistDetail;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["DESCRIPTION_BREAKPOINT","PlaylistDetail","props","context","title","coverImages","playlistRef","description","ongoingCourses","playlistCourses","totalCourses","filters","sorting","onBackClick","onContinueLearningClick","translate","showMore","setShowMore","useState","handleShowMore","useCallback","Description","classnames","style","truncate","backgroundContainer","container","backButton","ctaContainer","coverWrapper","length","showMoreWrapper","faSize","wrapperSize","continueLearningButton","list","continueLearningSection","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","string","isRequired","PlaylistDetailCover","images","shape","CardsGrid","number","onChange","func","options","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/playlist-detail/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport Select, {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 ContinueLearning from '../skill-detail/continue-learning';\nimport PlaylistDetailCover from '../../molecule/playlist-detail-cover';\nimport {ContinueLearningButton} from '../skill-detail';\nimport style from './style.css';\n\nconst DESCRIPTION_BREAKPOINT = 382;\n\nconst PlaylistDetail = (props, context) => {\n const {\n title,\n coverImages,\n playlistRef,\n description,\n ongoingCourses,\n playlistCourses,\n totalCourses,\n filters,\n sorting,\n onBackClick,\n onContinueLearningClick\n } = props;\n const {translate} = context;\n\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n const Description = useCallback(() => {\n return (\n <div className={classnames(style.description, !showMore && style.truncate)}>\n {description}\n </div>\n );\n }, [showMore, description]);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={playlistRef}>\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label=\"Back\"\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n <div className={style.ctaContainer}>\n <div className={style.coverWrapper}>\n <PlaylistDetailCover images={coverImages} />\n </div>\n <div>\n <Tag label={translate('playlist')} />\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {description.length >= DESCRIPTION_BREAKPOINT ? (\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.continueLearningButton}>\n <ContinueLearningButton\n ongoingCoursesAvailable={!!ongoingCourses.list.length}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n </div>\n <div className={style.continueLearningSection}>\n <ContinueLearning ongoingCourses={ongoingCourses} />\n </div>\n <AllCourses\n courses={playlistCourses}\n totalCourses={totalCourses}\n filters={filters}\n sorting={sorting}\n />\n </div>\n </div>\n );\n};\n\nPlaylistDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nPlaylistDetail.propTypes = {\n title: PropTypes.string.isRequired,\n coverImages: PlaylistDetailCover.propTypes.images,\n playlistRef: PropTypes.string.isRequired,\n description: PropTypes.string,\n ongoingCourses: PropTypes.shape(CardsGrid.propTypes),\n playlistCourses: PropTypes.shape(CardsGrid.propTypes),\n totalCourses: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n onBackClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default PlaylistDetail;\n"],"mappings":"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"}
@@ -91,9 +91,14 @@
91
91
  margin-top: 24px;
92
92
  }
93
93
 
94
+ .continueLearningSection {
95
+ padding: 24px 0 32px 0;
96
+ }
97
+
94
98
  @media tablet {
95
99
  .ctaContainer {
96
100
  flex-direction: column;
101
+ align-items: flex-start;
97
102
  }
98
103
  }
99
104
 
@@ -109,7 +109,7 @@
109
109
  text-decoration: underline;
110
110
  }
111
111
 
112
- @media (max-width: 940px) {
112
+ @media tablet {
113
113
  .searchAndSortSection {
114
114
  flex-direction: column;
115
115
  }
@@ -117,6 +117,10 @@
117
117
  .sortSection {
118
118
  margin-top: 16px;
119
119
  }
120
+
121
+ .filterWrapper {
122
+ overflow-x: scroll;
123
+ }
120
124
  }
121
125
 
122
126
  @media mobile {
@@ -126,8 +130,4 @@
126
130
  align-items: flex-start;
127
131
  margin-top: 16px;
128
132
  }
129
-
130
- .filterWrapper {
131
- overflow-x: scroll;
132
- }
133
- }
133
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"continue-learning.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/continue-learning.js"],"names":[],"mappings":";AAQA,gFAyBC"}
1
+ {"version":3,"file":"continue-learning.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/continue-learning.js"],"names":[],"mappings":";AAQA,gFA0BC"}
@@ -44,9 +44,10 @@ const ContinueLearning = (props, context) => {
44
44
 
45
45
  return /*#__PURE__*/_react.default.createElement(_cardsList.default, {
46
46
  cards: (0, _sortBy2.default)(course => -(0, _getOr2.default)(0, ['progress'], course), ongoingCourses.list),
47
- title: /*#__PURE__*/_react.default.createElement(Title, null),
47
+ title: /*#__PURE__*/_react.default.createElement(Title, null) // to override CardList wrapper padding
48
+ ,
48
49
  customStyle: {
49
- padding: '16px 0px 8px'
50
+ padding: '0px'
50
51
  }
51
52
  });
52
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"continue-learning.js","names":["ContinueLearning","props","context","ongoingCourses","translate","Title","useCallback","style","continueLearningTitle","continueLearningNumber","list","length","course","padding","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","shape","CardsGrid"],"sources":["../../../src/template/skill-detail/continue-learning.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, sortBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport CardsGrid from '../../organism/cards-grid';\nimport CardsList from '../../molecule/dashboard/cards-list';\nimport style from './continue-learning.css';\n\nconst ContinueLearning = (props, context) => {\n const {ongoingCourses} = props;\n const {translate} = context;\n\n const Title = useCallback(\n () => (\n <>\n <span className={style.continueLearningTitle}>{translate('continue_learning')}</span>\n <span className={style.continueLearningNumber}>{ongoingCourses.list.length}</span>\n </>\n ),\n [ongoingCourses, translate]\n );\n\n if (ongoingCourses.list.length === 0) {\n return null;\n }\n\n return (\n <CardsList\n cards={sortBy(course => -getOr(0, ['progress'], course), ongoingCourses.list)}\n title={<Title />}\n customStyle={{padding: '16px 0px 8px'}}\n />\n );\n};\n\nContinueLearning.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearning.propTypes = {\n ongoingCourses: PropTypes.shape(CardsGrid.propTypes)\n};\n\nexport default ContinueLearning;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,gBAAgB,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EAC3C,MAAM;IAACC;EAAD,IAAmBF,KAAzB;EACA,MAAM;IAACG;EAAD,IAAcF,OAApB;EAEA,MAAMG,KAAK,GAAG,IAAAC,kBAAA,EACZ,mBACE,yEACE;IAAM,SAAS,EAAEC,yBAAA,CAAMC;EAAvB,GAA+CJ,SAAS,CAAC,mBAAD,CAAxD,CADF,eAEE;IAAM,SAAS,EAAEG,yBAAA,CAAME;EAAvB,GAAgDN,cAAc,CAACO,IAAf,CAAoBC,MAApE,CAFF,CAFU,EAOZ,CAACR,cAAD,EAAiBC,SAAjB,CAPY,CAAd;;EAUA,IAAID,cAAc,CAACO,IAAf,CAAoBC,MAApB,KAA+B,CAAnC,EAAsC;IACpC,OAAO,IAAP;EACD;;EAED,oBACE,6BAAC,kBAAD;IACE,KAAK,EAAE,sBAAOC,MAAM,IAAI,CAAC,qBAAM,CAAN,EAAS,CAAC,UAAD,CAAT,EAAuBA,MAAvB,CAAlB,EAAkDT,cAAc,CAACO,IAAjE,CADT;IAEE,KAAK,eAAE,6BAAC,KAAD,OAFT;IAGE,WAAW,EAAE;MAACG,OAAO,EAAE;IAAV;EAHf,EADF;AAOD,CAzBD;;AA2BAb,gBAAgB,CAACc,YAAjB,GAAgC;EAC9BC,IAAI,EAAEC,iBAAA,CAASC,iBAAT,CAA2BF,IADH;EAE9BX,SAAS,EAAEY,iBAAA,CAASC,iBAAT,CAA2Bb;AAFR,CAAhC;AAKAJ,gBAAgB,CAACkB,SAAjB,2CAA6B;EAC3Bf,cAAc,EAAEgB,kBAAA,CAAUC,KAAV,CAAgBC,kBAAA,CAAUH,SAA1B;AADW,CAA7B;eAIelB,gB"}
1
+ {"version":3,"file":"continue-learning.js","names":["ContinueLearning","props","context","ongoingCourses","translate","Title","useCallback","style","continueLearningTitle","continueLearningNumber","list","length","course","padding","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","shape","CardsGrid"],"sources":["../../../src/template/skill-detail/continue-learning.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, sortBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport CardsGrid from '../../organism/cards-grid';\nimport CardsList from '../../molecule/dashboard/cards-list';\nimport style from './continue-learning.css';\n\nconst ContinueLearning = (props, context) => {\n const {ongoingCourses} = props;\n const {translate} = context;\n\n const Title = useCallback(\n () => (\n <>\n <span className={style.continueLearningTitle}>{translate('continue_learning')}</span>\n <span className={style.continueLearningNumber}>{ongoingCourses.list.length}</span>\n </>\n ),\n [ongoingCourses, translate]\n );\n\n if (ongoingCourses.list.length === 0) {\n return null;\n }\n\n return (\n <CardsList\n cards={sortBy(course => -getOr(0, ['progress'], course), ongoingCourses.list)}\n title={<Title />}\n // to override CardList wrapper padding\n customStyle={{padding: '0px'}}\n />\n );\n};\n\nContinueLearning.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearning.propTypes = {\n ongoingCourses: PropTypes.shape(CardsGrid.propTypes)\n};\n\nexport default ContinueLearning;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,gBAAgB,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EAC3C,MAAM;IAACC;EAAD,IAAmBF,KAAzB;EACA,MAAM;IAACG;EAAD,IAAcF,OAApB;EAEA,MAAMG,KAAK,GAAG,IAAAC,kBAAA,EACZ,mBACE,yEACE;IAAM,SAAS,EAAEC,yBAAA,CAAMC;EAAvB,GAA+CJ,SAAS,CAAC,mBAAD,CAAxD,CADF,eAEE;IAAM,SAAS,EAAEG,yBAAA,CAAME;EAAvB,GAAgDN,cAAc,CAACO,IAAf,CAAoBC,MAApE,CAFF,CAFU,EAOZ,CAACR,cAAD,EAAiBC,SAAjB,CAPY,CAAd;;EAUA,IAAID,cAAc,CAACO,IAAf,CAAoBC,MAApB,KAA+B,CAAnC,EAAsC;IACpC,OAAO,IAAP;EACD;;EAED,oBACE,6BAAC,kBAAD;IACE,KAAK,EAAE,sBAAOC,MAAM,IAAI,CAAC,qBAAM,CAAN,EAAS,CAAC,UAAD,CAAT,EAAuBA,MAAvB,CAAlB,EAAkDT,cAAc,CAACO,IAAjE,CADT;IAEE,KAAK,eAAE,6BAAC,KAAD,OAFT,CAGE;IAHF;IAIE,WAAW,EAAE;MAACG,OAAO,EAAE;IAAV;EAJf,EADF;AAQD,CA1BD;;AA4BAb,gBAAgB,CAACc,YAAjB,GAAgC;EAC9BC,IAAI,EAAEC,iBAAA,CAASC,iBAAT,CAA2BF,IADH;EAE9BX,SAAS,EAAEY,iBAAA,CAASC,iBAAT,CAA2Bb;AAFR,CAAhC;AAKAJ,gBAAgB,CAACkB,SAAjB,2CAA6B;EAC3Bf,cAAc,EAAEgB,kBAAA,CAAUC,KAAV,CAAgBC,kBAAA,CAAUH,SAA1B;AADW,CAA7B;eAIelB,gB"}
@@ -12,11 +12,16 @@
12
12
  "associated_skills": "Associated skills",
13
13
  "Back to Dashboard Home": "Back to Dashboard Home",
14
14
  "back_to_catalog": "Back to courses",
15
+ "badge": "Badge",
16
+ "bonus_stars": "Bonus stars",
15
17
  "cart_title": "Coorpacademy Subscription",
16
18
  "challenges you on": "challenges you on",
19
+ "download": "Download",
17
20
  "is challenging you": "{{username}} is challenging you {{courseName}}",
18
21
  "items": "items",
19
22
  "certificate": "Certificate",
23
+ "certification": "Certification",
24
+ "certification_progress_wrapper_subtitle": "To unlock your rewards, you need to complete this certification",
20
25
  "chapters": "chapters",
21
26
  "Close": "Close",
22
27
  "clue_stars_to_loose_plural": "Unlocking the clue reduces the stars you can gain on this question by {{count}} (if you get it right)",
@@ -38,6 +43,7 @@
38
43
  "confirm": "Confirm",
39
44
  "Delete": "Delete",
40
45
  "Draft": "Draft",
46
+ "diploma": "Diploma",
41
47
  "answer_the_question": "Answer the question",
42
48
  "Edit": "Edit",
43
49
  "Explore": "Explore",
@@ -54,6 +60,8 @@
54
60
  "learning_priorities_brand_description": "Define learning priorities for your company with skills, playlists or certifications. They will appear on the My Learning page.",
55
61
  "media_stars_to_win_plural": "Win {{count}} additional stars in this chapter the first time you view a lesson!",
56
62
  "media_stars_to_win": "Win {{count}} additional star in this chapter the first time you view a lesson!",
63
+ "modules": "Modules",
64
+ "modules_completed": "modules completed",
57
65
  "More": "More",
58
66
  "More details": "More details",
59
67
  "New media": "New lesson",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "11.32.30",
3
+ "version": "11.32.31-alpha.16+8571f9e91",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -177,5 +177,5 @@
177
177
  "last 2 versions",
178
178
  "IE 11"
179
179
  ],
180
- "gitHead": "0cf16f47f7093251aba48dad2b106e6e66b6ad7f"
180
+ "gitHead": "8571f9e915884dc12f9a45f1d43c1a28e8ce4516"
181
181
  }