@coorpacademy/components 11.32.7 → 11.32.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/es/hoc/transition/test/fixtures/style.css +45 -0
  2. package/es/molecule/discipline-associated-skills/index.d.ts.map +1 -1
  3. package/es/molecule/discipline-associated-skills/index.js +11 -2
  4. package/es/molecule/discipline-associated-skills/index.js.map +1 -1
  5. package/es/molecule/discipline-associated-skills/style.css +35 -3
  6. package/es/molecule/learner-skill-card/index.d.ts +3 -3
  7. package/es/molecule/learner-skill-card/index.js +15 -15
  8. package/es/molecule/learner-skill-card/index.js.map +1 -1
  9. package/es/molecule/select-multiple/test/snapshots/index.js.md +211 -0
  10. package/es/molecule/select-multiple/test/snapshots/index.js.snap +0 -0
  11. package/es/template/my-learning/index.d.ts +4 -4
  12. package/es/template/my-learning/index.d.ts.map +1 -1
  13. package/es/template/my-learning/index.js +23 -22
  14. package/es/template/my-learning/index.js.map +1 -1
  15. package/es/util/test/fixtures/steps.json +34 -0
  16. package/es/util/time-format.d.ts +2 -0
  17. package/es/util/time-format.d.ts.map +1 -0
  18. package/es/util/time-format.js +18 -0
  19. package/es/util/time-format.js.map +1 -0
  20. package/lib/hoc/transition/test/fixtures/style.css +45 -0
  21. package/lib/molecule/discipline-associated-skills/index.d.ts.map +1 -1
  22. package/lib/molecule/discipline-associated-skills/index.js +11 -2
  23. package/lib/molecule/discipline-associated-skills/index.js.map +1 -1
  24. package/lib/molecule/discipline-associated-skills/style.css +35 -3
  25. package/lib/molecule/learner-skill-card/index.d.ts +3 -3
  26. package/lib/molecule/learner-skill-card/index.js +15 -15
  27. package/lib/molecule/learner-skill-card/index.js.map +1 -1
  28. package/lib/molecule/select-multiple/test/snapshots/index.js.md +211 -0
  29. package/lib/molecule/select-multiple/test/snapshots/index.js.snap +0 -0
  30. package/lib/template/my-learning/index.d.ts +4 -4
  31. package/lib/template/my-learning/index.d.ts.map +1 -1
  32. package/lib/template/my-learning/index.js +24 -22
  33. package/lib/template/my-learning/index.js.map +1 -1
  34. package/lib/util/test/fixtures/steps.json +34 -0
  35. package/lib/util/time-format.d.ts +2 -0
  36. package/lib/util/time-format.d.ts.map +1 -0
  37. package/lib/util/time-format.js +21 -0
  38. package/lib/util/time-format.js.map +1 -0
  39. package/locales/bs/global.json +5 -5
  40. package/locales/cs/global.json +5 -5
  41. package/locales/de/global.json +5 -5
  42. package/locales/en/global.json +3 -3
  43. package/locales/es/global.json +5 -5
  44. package/locales/et/global.json +5 -5
  45. package/locales/fi/global.json +5 -5
  46. package/locales/fr/global.json +3 -3
  47. package/locales/hr/global.json +5 -5
  48. package/locales/hu/global.json +5 -5
  49. package/locales/hy/global.json +5 -5
  50. package/locales/it/global.json +5 -5
  51. package/locales/ja/global.json +4 -4
  52. package/locales/ko/global.json +5 -5
  53. package/locales/nl/global.json +5 -5
  54. package/locales/pl/global.json +5 -5
  55. package/locales/pt/global.json +5 -5
  56. package/locales/ro/global.json +5 -5
  57. package/locales/ru/global.json +5 -5
  58. package/locales/sk/global.json +5 -5
  59. package/locales/sl/global.json +5 -5
  60. package/locales/sv/global.json +5 -5
  61. package/locales/tl/global.json +5 -5
  62. package/locales/tr/global.json +5 -5
  63. package/locales/uk/global.json +5 -5
  64. package/locales/vi/global.json +5 -5
  65. package/locales/zh/global.json +4 -4
  66. package/locales/zh_TW/global.json +5 -5
  67. package/package.json +3 -2
@@ -0,0 +1,45 @@
1
+ .container {
2
+ width: 300px;
3
+ height: 300px;
4
+ position: relative;
5
+ perspective: 800px;
6
+ }
7
+
8
+ .square {
9
+ position: absolute;
10
+ width: 100%;
11
+ height: 100%;
12
+ transform-style: preserve-3d;
13
+ transition: transform 1s;
14
+ border: 1px solid black;
15
+ top: 100px;
16
+ left: 100px;
17
+ }
18
+
19
+ .flipped > .square {
20
+ transform: rotateY(180deg);
21
+ }
22
+
23
+ .front,
24
+ .back {
25
+ margin: 0;
26
+ display: block;
27
+ position: absolute;
28
+ width: 100%;
29
+ height: 100%;
30
+ backface-visibility: hidden;
31
+ }
32
+
33
+ .front {
34
+ font-size: 20px;
35
+ display: flex;
36
+ align-items: center;
37
+ justify-content: center;
38
+ flex-flow: column;
39
+ }
40
+
41
+ .back {
42
+ background-image: url(http://img.voi.pmdstatic.net/fit/http.3A.2F.2Fprd2-bone-image.2Es3-website-eu-west-1.2Eamazonaws.2Ecom.2Fprismamedia_people.2F2017.2F06.2F30.2Fa9a1132c-920d-4d0d-af0c-7c686d72dfe5.2Ejpeg/380x285/quality/80/jacques-chirac.jpg);
43
+ background-size: cover;
44
+ transform: rotateY(180deg);
45
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/discipline-associated-skills/index.js"],"names":[],"mappings":";AAUA,0FA2DC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/discipline-associated-skills/index.js"],"names":[],"mappings":";AAUA,0FA0EC"}
@@ -26,7 +26,12 @@ const DisciplineAssociatedSkills = (props, context) => {
26
26
  faSize: 12,
27
27
  wrapperSize: 12
28
28
  }
29
- }), skill), []);
29
+ }), /*#__PURE__*/React.createElement("div", {
30
+ className: style.chipFocusedContentText
31
+ }, skill)), []);
32
+ const TooltipContentElement = useCallback(skill => /*#__PURE__*/React.createElement("div", {
33
+ className: style.tooltipContentWrapper
34
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("b", null, translate('skill_focused_chip_tooltip'))), /*#__PURE__*/React.createElement("div", null, skill)), []);
30
35
  return !_isEmpty(skills) ? /*#__PURE__*/React.createElement("div", {
31
36
  "data-name": "discipline-associated-skills",
32
37
  className: style.associatedSkillsWrapper
@@ -43,6 +48,10 @@ const DisciplineAssociatedSkills = (props, context) => {
43
48
  return AnchorElement(skill.locale);
44
49
  }
45
50
 
51
+ function handleTooltipContentElement() {
52
+ return TooltipContentElement(skill.locale);
53
+ }
54
+
46
55
  return /*#__PURE__*/React.createElement("div", {
47
56
  key: _uniqueId(),
48
57
  className: classnames(style.chipWrapper, skill.focused && style.chipWrapperFocused),
@@ -53,7 +62,7 @@ const DisciplineAssociatedSkills = (props, context) => {
53
62
  delayHide: 0,
54
63
  iconContainerClassName: style.infoIconTooltip,
55
64
  tooltipClassName: style.tooltip,
56
- TooltipContent: translate('skill_focused_chip_tooltip'),
65
+ TooltipContent: handleTooltipContentElement,
57
66
  closeToolTipInformationTextAriaLabel: translate('close_tooltip_information')
58
67
  }) : skill.locale);
59
68
  })))) : null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","PropTypes","classnames","Icon","ToolTip","Provider","CatalogSection","style","DisciplineAssociatedSkills","props","context","translate","skills","onSkillClick","AnchorElement","skill","chipFocusedContent","faSize","wrapperSize","associatedSkillsWrapper","chipsWrapper","map","handleSkillClick","ref","handleAnchorElement","locale","chipWrapper","focused","chipWrapperFocused","infoIconTooltip","tooltip","contextTypes","childContextTypes","propTypes","arrayOf","shape","string","bool","func"],"sources":["../../../src/molecule/discipline-associated-skills/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {isEmpty, uniqueId} from 'lodash/fp';\nimport Icon from '../../atom/icon';\nimport ToolTip from '../../atom/tooltip';\nimport Provider from '../../atom/provider';\nimport CatalogSection from '../../atom/catalog-section';\nimport style from './style.css';\n\nconst DisciplineAssociatedSkills = (props, context) => {\n const {translate} = context;\n\n const {skills = [], onSkillClick} = props;\n\n const AnchorElement = useCallback(\n skill => (\n <div className={style.chipFocusedContent}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 12,\n wrapperSize: 12\n }}\n />\n {skill}\n </div>\n ),\n []\n );\n\n return !isEmpty(skills) ? (\n <div data-name=\"discipline-associated-skills\" className={style.associatedSkillsWrapper}>\n <CatalogSection title={translate('associated_skills')}>\n <div className={style.chipsWrapper}>\n {skills.map(skill => {\n function handleSkillClick() {\n return onSkillClick(skill.ref);\n }\n function handleAnchorElement() {\n return AnchorElement(skill.locale);\n }\n return (\n <div\n key={uniqueId()}\n className={classnames(style.chipWrapper, skill.focused && style.chipWrapperFocused)}\n onClick={handleSkillClick}\n >\n {skill.focused ? (\n <ToolTip\n AnchorElement={handleAnchorElement}\n fontSize={12}\n delayHide={0}\n iconContainerClassName={style.infoIconTooltip}\n tooltipClassName={style.tooltip}\n TooltipContent={translate('skill_focused_chip_tooltip')}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n />\n ) : (\n skill.locale\n )}\n </div>\n );\n })}\n </div>\n </CatalogSection>\n </div>\n ) : null;\n};\n\nDisciplineAssociatedSkills.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nDisciplineAssociatedSkills.propTypes = {\n skills: PropTypes.arrayOf(\n PropTypes.shape({\n ref: PropTypes.string,\n locale: PropTypes.string,\n focused: PropTypes.bool\n })\n ),\n onSkillClick: PropTypes.func\n};\n\nexport default DisciplineAssociatedSkills;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,WAAf,QAAiC,OAAjC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,OAAP,MAAoB,oBAApB;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,cAAP,MAA2B,4BAA3B;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,0BAA0B,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACrD,MAAM;IAACC;EAAD,IAAcD,OAApB;EAEA,MAAM;IAACE,MAAM,GAAG,EAAV;IAAcC;EAAd,IAA8BJ,KAApC;EAEA,MAAMK,aAAa,GAAGd,WAAW,CAC/Be,KAAK,iBACH;IAAK,SAAS,EAAER,KAAK,CAACS;EAAtB,gBACE,oBAAC,IAAD;IACE,QAAQ,EAAC,gBADX;IAEE,eAAe,EAAC,SAFlB;IAGE,IAAI,EAAE;MACJC,MAAM,EAAE,EADJ;MAEJC,WAAW,EAAE;IAFT;EAHR,EADF,EASGH,KATH,CAF6B,EAc/B,EAd+B,CAAjC;EAiBA,OAAO,CAAC,SAAQH,MAAR,CAAD,gBACL;IAAK,aAAU,8BAAf;IAA8C,SAAS,EAAEL,KAAK,CAACY;EAA/D,gBACE,oBAAC,cAAD;IAAgB,KAAK,EAAER,SAAS,CAAC,mBAAD;EAAhC,gBACE;IAAK,SAAS,EAAEJ,KAAK,CAACa;EAAtB,GACGR,MAAM,CAACS,GAAP,CAAWN,KAAK,IAAI;IACnB,SAASO,gBAAT,GAA4B;MAC1B,OAAOT,YAAY,CAACE,KAAK,CAACQ,GAAP,CAAnB;IACD;;IACD,SAASC,mBAAT,GAA+B;MAC7B,OAAOV,aAAa,CAACC,KAAK,CAACU,MAAP,CAApB;IACD;;IACD,oBACE;MACE,GAAG,EAAE,WADP;MAEE,SAAS,EAAEvB,UAAU,CAACK,KAAK,CAACmB,WAAP,EAAoBX,KAAK,CAACY,OAAN,IAAiBpB,KAAK,CAACqB,kBAA3C,CAFvB;MAGE,OAAO,EAAEN;IAHX,GAKGP,KAAK,CAACY,OAAN,gBACC,oBAAC,OAAD;MACE,aAAa,EAAEH,mBADjB;MAEE,QAAQ,EAAE,EAFZ;MAGE,SAAS,EAAE,CAHb;MAIE,sBAAsB,EAAEjB,KAAK,CAACsB,eAJhC;MAKE,gBAAgB,EAAEtB,KAAK,CAACuB,OAL1B;MAME,cAAc,EAAEnB,SAAS,CAAC,4BAAD,CAN3B;MAOE,oCAAoC,EAAEA,SAAS,CAAC,2BAAD;IAPjD,EADD,GAWCI,KAAK,CAACU,MAhBV,CADF;EAqBD,CA5BA,CADH,CADF,CADF,CADK,GAoCH,IApCJ;AAqCD,CA3DD;;AA6DAjB,0BAA0B,CAACuB,YAA3B,GAA0C;EACxCpB,SAAS,EAAEN,QAAQ,CAAC2B,iBAAT,CAA2BrB;AADE,CAA1C;AAIAH,0BAA0B,CAACyB,SAA3B,2CAAuC;EACrCrB,MAAM,EAAEX,SAAS,CAACiC,OAAV,CACNjC,SAAS,CAACkC,KAAV,CAAgB;IACdZ,GAAG,EAAEtB,SAAS,CAACmC,MADD;IAEdX,MAAM,EAAExB,SAAS,CAACmC,MAFJ;IAGdT,OAAO,EAAE1B,SAAS,CAACoC;EAHL,CAAhB,CADM,CAD6B;EAQrCxB,YAAY,EAAEZ,SAAS,CAACqC;AARa,CAAvC;AAWA,eAAe9B,0BAAf"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","PropTypes","classnames","Icon","ToolTip","Provider","CatalogSection","style","DisciplineAssociatedSkills","props","context","translate","skills","onSkillClick","AnchorElement","skill","chipFocusedContent","faSize","wrapperSize","chipFocusedContentText","TooltipContentElement","tooltipContentWrapper","associatedSkillsWrapper","chipsWrapper","map","handleSkillClick","ref","handleAnchorElement","locale","handleTooltipContentElement","chipWrapper","focused","chipWrapperFocused","infoIconTooltip","tooltip","contextTypes","childContextTypes","propTypes","arrayOf","shape","string","bool","func"],"sources":["../../../src/molecule/discipline-associated-skills/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {isEmpty, uniqueId} from 'lodash/fp';\nimport Icon from '../../atom/icon';\nimport ToolTip from '../../atom/tooltip';\nimport Provider from '../../atom/provider';\nimport CatalogSection from '../../atom/catalog-section';\nimport style from './style.css';\n\nconst DisciplineAssociatedSkills = (props, context) => {\n const {translate} = context;\n\n const {skills = [], onSkillClick} = props;\n\n const AnchorElement = useCallback(\n skill => (\n <div className={style.chipFocusedContent}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 12,\n wrapperSize: 12\n }}\n />\n <div className={style.chipFocusedContentText}>{skill}</div>\n </div>\n ),\n []\n );\n\n const TooltipContentElement = useCallback(\n skill => (\n <div className={style.tooltipContentWrapper}>\n <div>\n <b>{translate('skill_focused_chip_tooltip')}</b>\n </div>\n <div>{skill}</div>\n </div>\n ),\n []\n );\n\n return !isEmpty(skills) ? (\n <div data-name=\"discipline-associated-skills\" className={style.associatedSkillsWrapper}>\n <CatalogSection title={translate('associated_skills')}>\n <div className={style.chipsWrapper}>\n {skills.map(skill => {\n function handleSkillClick() {\n return onSkillClick(skill.ref);\n }\n function handleAnchorElement() {\n return AnchorElement(skill.locale);\n }\n function handleTooltipContentElement() {\n return TooltipContentElement(skill.locale);\n }\n return (\n <div\n key={uniqueId()}\n className={classnames(style.chipWrapper, skill.focused && style.chipWrapperFocused)}\n onClick={handleSkillClick}\n >\n {skill.focused ? (\n <ToolTip\n AnchorElement={handleAnchorElement}\n fontSize={12}\n delayHide={0}\n iconContainerClassName={style.infoIconTooltip}\n tooltipClassName={style.tooltip}\n TooltipContent={handleTooltipContentElement}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n />\n ) : (\n skill.locale\n )}\n </div>\n );\n })}\n </div>\n </CatalogSection>\n </div>\n ) : null;\n};\n\nDisciplineAssociatedSkills.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nDisciplineAssociatedSkills.propTypes = {\n skills: PropTypes.arrayOf(\n PropTypes.shape({\n ref: PropTypes.string,\n locale: PropTypes.string,\n focused: PropTypes.bool\n })\n ),\n onSkillClick: PropTypes.func\n};\n\nexport default DisciplineAssociatedSkills;\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  @value colors: "../../variables/colors.css";
2
2
  @value breakpoints: "../../variables/breakpoints.css";
3
3
  @value desktop from breakpoints;
4
+ @value mobile from breakpoints;
4
5
  @value cm_grey_100 from colors;
5
6
  @value cm_grey_200 from colors;
6
7
  @value cm_grey_700 from colors;
@@ -26,8 +27,6 @@
26
27
  font-weight: 600;
27
28
  line-height: 20px;
28
29
  font-size: 14px;
29
- text-overflow: ellipsis;
30
- white-space: nowrap;
31
30
  }
32
31
 
33
32
  .chipWrapperFocused {
@@ -38,6 +37,7 @@
38
37
  .chipFocusedContent {
39
38
  display: flex;
40
39
  align-items: center;
40
+ max-width: 224px;
41
41
  gap: 4px;
42
42
 
43
43
  div {
@@ -45,6 +45,12 @@
45
45
  }
46
46
  }
47
47
 
48
+ .chipFocusedContentText {
49
+ text-overflow: ellipsis;
50
+ overflow: hidden;
51
+ white-space: nowrap;
52
+ }
53
+
48
54
  .infoIconTooltip {
49
55
  background-color: transparent;
50
56
  }
@@ -55,7 +61,7 @@
55
61
  font-size: 12px;
56
62
  font-style: normal;
57
63
  line-height: 16px;
58
- top: -48px;
64
+ top: -64px;
59
65
 
60
66
  p {
61
67
  padding: 8px 8px;
@@ -63,8 +69,34 @@
63
69
  }
64
70
  }
65
71
 
72
+ .tooltipContentWrapper {
73
+ padding: 8px 12px;
74
+ text-align: left;
75
+ width: max-content;
76
+ font-weight: 400;
77
+ line-height: 16px;
78
+ }
79
+
66
80
  @media desktop {
67
81
  .associatedSkillsWrapper {
68
82
  margin-top: 24px;
69
83
  }
84
+
85
+ .chipFocusedContent {
86
+ max-width: max-content;
87
+ }
88
+ }
89
+
90
+ @media mobile {
91
+ .associatedSkillsWrapper {
92
+ margin-top: 24px;
93
+ }
94
+
95
+ .chipFocusedContent {
96
+ max-width: 100%;
97
+ }
98
+
99
+ .chipWrapperFocused {
100
+ max-width: 69vw;
101
+ }
70
102
  }
@@ -32,9 +32,9 @@ declare namespace LearnerSkillCard {
32
32
  focus: PropTypes.Requireable<boolean>;
33
33
  metrics: PropTypes.Requireable<PropTypes.InferProps<{
34
34
  score: PropTypes.Requireable<number>;
35
- skillCourses: PropTypes.Requireable<number>;
36
- skillQuestions: PropTypes.Requireable<number>;
37
- completedCourses: PropTypes.Requireable<number>;
35
+ content: PropTypes.Requireable<number>;
36
+ questionsToReview: PropTypes.Requireable<number>;
37
+ contentCompleted: PropTypes.Requireable<number>;
38
38
  }>>;
39
39
  review: PropTypes.Requireable<boolean>;
40
40
  onReviewClick: PropTypes.Requireable<(...args: any[]) => any>;
@@ -20,9 +20,9 @@ const LearnerSkillCard = (props, context) => {
20
20
  } = props;
21
21
  const {
22
22
  score,
23
- skillCourses,
24
- skillQuestions,
25
- completedCourses = 0
23
+ content,
24
+ questionsToReview,
25
+ contentCompleted = 0
26
26
  } = metrics;
27
27
  const {
28
28
  skin,
@@ -37,7 +37,7 @@ const LearnerSkillCard = (props, context) => {
37
37
  const coursesLocale = translate('courses');
38
38
  const questionsLocale = translate('questions');
39
39
  const skillFocusLocale = translate('skill_focus');
40
- const coursesCompletedLocale = translate('courses_completed');
40
+ const contentCompletedLocale = translate('courses_completed');
41
41
  const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);
42
42
  const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);
43
43
  const buttonReviewProps = {
@@ -72,7 +72,7 @@ const LearnerSkillCard = (props, context) => {
72
72
  }
73
73
  };
74
74
  const ProgressBar = useCallback(() => {
75
- if (!skillCourses) return null;
75
+ if (!content) return null;
76
76
  const progressBarColor = '#3EC483';
77
77
  const inlineProgressValueStyle = {
78
78
  backgroundColor: progressBarColor,
@@ -87,24 +87,24 @@ const LearnerSkillCard = (props, context) => {
87
87
  role: "progressbar",
88
88
  "aria-label": _get('progression', ariaLabel)
89
89
  }));
90
- }, [score, ariaLabel, skillCourses]);
90
+ }, [score, ariaLabel, content]);
91
91
  return /*#__PURE__*/React.createElement("div", {
92
92
  className: style.learnerSkillCardWrapper,
93
93
  "data-name": "learner-skill-card-wrapper",
94
94
  "aria-label": ariaLabel
95
- }, skillCourses || skillQuestions ? /*#__PURE__*/React.createElement("div", {
95
+ }, content || questionsToReview ? /*#__PURE__*/React.createElement("div", {
96
96
  className: style.skillCoursesAndQuestionsWrapper
97
- }, skillCourses ? /*#__PURE__*/React.createElement("div", {
97
+ }, content ? /*#__PURE__*/React.createElement("div", {
98
98
  className: style.skillInformation,
99
99
  "data-name": "skill-courses"
100
100
  }, /*#__PURE__*/React.createElement("span", {
101
101
  className: style.skillInformationNumber
102
- }, skillCourses), " ", coursesLocale) : null, skillQuestions ? /*#__PURE__*/React.createElement("div", {
102
+ }, content), " ", coursesLocale) : null, questionsToReview ? /*#__PURE__*/React.createElement("div", {
103
103
  className: style.skillInformation,
104
104
  "data-name": "skill-questions"
105
105
  }, /*#__PURE__*/React.createElement("span", {
106
106
  className: style.skillInformationNumber
107
- }, skillQuestions), "\xA0", questionsLocale) : null) : null, /*#__PURE__*/React.createElement("div", {
107
+ }, questionsToReview), "\xA0", questionsLocale) : null) : null, /*#__PURE__*/React.createElement("div", {
108
108
  className: style.skillTitleWrapper
109
109
  }, /*#__PURE__*/React.createElement("div", {
110
110
  "data-name": "skill-title",
@@ -121,12 +121,12 @@ const LearnerSkillCard = (props, context) => {
121
121
  }
122
122
  }), skillFocusLocale) : null), /*#__PURE__*/React.createElement(ProgressBar, null), /*#__PURE__*/React.createElement("div", {
123
123
  className: style.progressInformations
124
- }, skillCourses && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
124
+ }, content && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
125
125
  className: style.progressInformation,
126
126
  "data-name": "skill-completed-courses"
127
127
  }, /*#__PURE__*/React.createElement("span", {
128
128
  className: style.progressInformationNumber
129
- }, completedCourses), ` ${coursesCompletedLocale}`), /*#__PURE__*/React.createElement("div", {
129
+ }, contentCompleted), ` ${contentCompletedLocale}`), /*#__PURE__*/React.createElement("div", {
130
130
  className: style.progressInformation,
131
131
  "data-name": "completed-percentage"
132
132
  }, /*#__PURE__*/React.createElement("span", {
@@ -153,9 +153,9 @@ LearnerSkillCard.propTypes = process.env.NODE_ENV !== "production" ? {
153
153
  focus: PropTypes.bool,
154
154
  metrics: PropTypes.shape({
155
155
  score: PropTypes.number,
156
- skillCourses: PropTypes.number,
157
- skillQuestions: PropTypes.number,
158
- completedCourses: PropTypes.number
156
+ content: PropTypes.number,
157
+ questionsToReview: PropTypes.number,
158
+ contentCompleted: PropTypes.number
159
159
  }),
160
160
  review: PropTypes.bool,
161
161
  onReviewClick: PropTypes.func,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useState","convert","PropTypes","Icon","ButtonLink","Provider","style","LearnerSkillCard","props","context","ariaLabel","skillTitle","skillAriaLabel","focus","metrics","review","onReviewClick","onExploreClick","score","skillCourses","skillQuestions","completedCourses","skin","translate","hovered","setHovered","primarySkinColor","reviewLocale","exploreLocale","coursesLocale","questionsLocale","skillFocusLocale","coursesCompletedLocale","handleMouseOver","handleMouseLeave","buttonReviewProps","customStyle","backgroundColor","transition","disabled","onClick","label","buttonExploreProps","color","icon","position","faIcon","name","size","ProgressBar","progressBarColor","inlineProgressValueStyle","width","progressWrapper","progress","learnerSkillCardWrapper","skillCoursesAndQuestionsWrapper","skillInformation","skillInformationNumber","skillTitleWrapper","skillFocusBadge","faSize","wrapperSize","progressInformations","progressInformation","progressInformationNumber","ctaWrapper","buttonWrapper","contextTypes","childContextTypes","propTypes","string","bool","shape","number","func"],"sources":["../../../src/molecule/learner-skill-card/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport {convert} from 'css-color-function';\nimport {get} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport Icon from '../../atom/icon';\nimport ButtonLink from '../../atom/button-link';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nconst LearnerSkillCard = (props, context) => {\n const {\n 'aria-label': ariaLabel,\n skillTitle,\n skillAriaLabel,\n focus = false,\n metrics,\n review = false,\n onReviewClick,\n onExploreClick\n } = props;\n const {score, skillCourses, skillQuestions, completedCourses = 0} = metrics;\n const {skin, translate} = context;\n const [hovered, setHovered] = useState(false);\n const primarySkinColor = get('common.primary', skin);\n\n const reviewLocale = translate('Review');\n const exploreLocale = translate('Explore');\n const coursesLocale = translate('courses');\n const questionsLocale = translate('questions');\n const skillFocusLocale = translate('skill_focus');\n const coursesCompletedLocale = translate('courses_completed');\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const buttonReviewProps = {\n customStyle: {\n backgroundColor: '#FFF',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n disabled: !review,\n onClick: onReviewClick,\n 'aria-label': `${skillTitle}, ${reviewLocale}`,\n label: reviewLocale,\n 'data-name': 'learner-skill-card-review-button'\n };\n\n const buttonExploreProps = {\n customStyle: {\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n onClick: onExploreClick,\n 'aria-label': `${skillTitle}, ${exploreLocale}`,\n label: exploreLocale,\n 'data-name': 'learner-skill-card-explore-button',\n icon: {\n position: 'left',\n faIcon: {\n name: 'compass',\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }\n };\n\n const ProgressBar = useCallback(() => {\n if (!skillCourses) return null;\n\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n role=\"progressbar\"\n aria-label={get('progression', ariaLabel)}\n />\n </div>\n );\n }, [score, ariaLabel, skillCourses]);\n\n return (\n <div\n className={style.learnerSkillCardWrapper}\n data-name=\"learner-skill-card-wrapper\"\n aria-label={ariaLabel}\n >\n {skillCourses || skillQuestions ? (\n <div className={style.skillCoursesAndQuestionsWrapper}>\n {skillCourses ? (\n <div className={style.skillInformation} data-name=\"skill-courses\">\n <span className={style.skillInformationNumber}>{skillCourses}</span> {coursesLocale}\n </div>\n ) : null}\n {skillQuestions ? (\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{skillQuestions}</span>\n &nbsp;{questionsLocale}\n </div>\n ) : null}\n </div>\n ) : null}\n <div className={style.skillTitleWrapper}>\n <div\n data-name=\"skill-title\"\n className={style.skillTitle}\n aria-label={skillAriaLabel || skillTitle}\n >\n {skillTitle}\n </div>\n {focus ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 10,\n wrapperSize: 16\n }}\n />\n {skillFocusLocale}\n </div>\n ) : null}\n </div>\n <ProgressBar />\n <div className={style.progressInformations}>\n {skillCourses && (\n <>\n <div className={style.progressInformation} data-name=\"skill-completed-courses\">\n <span className={style.progressInformationNumber}>{completedCourses}</span>\n {` ${coursesCompletedLocale}`}\n </div>\n <div className={style.progressInformation} data-name=\"completed-percentage\">\n <span className={style.progressInformationNumber}>{score}%</span>\n </div>\n </>\n )}\n </div>\n <div className={style.ctaWrapper} data-name=\"cta-wrapper\">\n <ButtonLink {...buttonReviewProps} />\n <div\n className={style.buttonWrapper}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-name=\"button-explore-wrapper\"\n >\n <ButtonLink {...buttonExploreProps} />\n </div>\n </div>\n </div>\n );\n};\n\nLearnerSkillCard.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nLearnerSkillCard.propTypes = {\n 'aria-label': PropTypes.string,\n skillTitle: PropTypes.string,\n skillAriaLabel: PropTypes.string,\n focus: PropTypes.bool,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n skillCourses: PropTypes.number,\n skillQuestions: PropTypes.number,\n completedCourses: PropTypes.number\n }),\n review: PropTypes.bool,\n onReviewClick: PropTypes.func,\n onExploreClick: PropTypes.func\n};\n\nexport default LearnerSkillCard;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useState","convert","PropTypes","Icon","ButtonLink","Provider","style","LearnerSkillCard","props","context","ariaLabel","skillTitle","skillAriaLabel","focus","metrics","review","onReviewClick","onExploreClick","score","content","questionsToReview","contentCompleted","skin","translate","hovered","setHovered","primarySkinColor","reviewLocale","exploreLocale","coursesLocale","questionsLocale","skillFocusLocale","contentCompletedLocale","handleMouseOver","handleMouseLeave","buttonReviewProps","customStyle","backgroundColor","transition","disabled","onClick","label","buttonExploreProps","color","icon","position","faIcon","name","size","ProgressBar","progressBarColor","inlineProgressValueStyle","width","progressWrapper","progress","learnerSkillCardWrapper","skillCoursesAndQuestionsWrapper","skillInformation","skillInformationNumber","skillTitleWrapper","skillFocusBadge","faSize","wrapperSize","progressInformations","progressInformation","progressInformationNumber","ctaWrapper","buttonWrapper","contextTypes","childContextTypes","propTypes","string","bool","shape","number","func"],"sources":["../../../src/molecule/learner-skill-card/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport {convert} from 'css-color-function';\nimport {get} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport Icon from '../../atom/icon';\nimport ButtonLink from '../../atom/button-link';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nconst LearnerSkillCard = (props, context) => {\n const {\n 'aria-label': ariaLabel,\n skillTitle,\n skillAriaLabel,\n focus = false,\n metrics,\n review = false,\n onReviewClick,\n onExploreClick\n } = props;\n const {score, content, questionsToReview, contentCompleted = 0} = metrics;\n const {skin, translate} = context;\n const [hovered, setHovered] = useState(false);\n const primarySkinColor = get('common.primary', skin);\n\n const reviewLocale = translate('Review');\n const exploreLocale = translate('Explore');\n const coursesLocale = translate('courses');\n const questionsLocale = translate('questions');\n const skillFocusLocale = translate('skill_focus');\n const contentCompletedLocale = translate('courses_completed');\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const buttonReviewProps = {\n customStyle: {\n backgroundColor: '#FFF',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n disabled: !review,\n onClick: onReviewClick,\n 'aria-label': `${skillTitle}, ${reviewLocale}`,\n label: reviewLocale,\n 'data-name': 'learner-skill-card-review-button'\n };\n\n const buttonExploreProps = {\n customStyle: {\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n onClick: onExploreClick,\n 'aria-label': `${skillTitle}, ${exploreLocale}`,\n label: exploreLocale,\n 'data-name': 'learner-skill-card-explore-button',\n icon: {\n position: 'left',\n faIcon: {\n name: 'compass',\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }\n };\n\n const ProgressBar = useCallback(() => {\n if (!content) return null;\n\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n role=\"progressbar\"\n aria-label={get('progression', ariaLabel)}\n />\n </div>\n );\n }, [score, ariaLabel, content]);\n\n return (\n <div\n className={style.learnerSkillCardWrapper}\n data-name=\"learner-skill-card-wrapper\"\n aria-label={ariaLabel}\n >\n {content || questionsToReview ? (\n <div className={style.skillCoursesAndQuestionsWrapper}>\n {content ? (\n <div className={style.skillInformation} data-name=\"skill-courses\">\n <span className={style.skillInformationNumber}>{content}</span> {coursesLocale}\n </div>\n ) : null}\n {questionsToReview ? (\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{questionsToReview}</span>\n &nbsp;{questionsLocale}\n </div>\n ) : null}\n </div>\n ) : null}\n <div className={style.skillTitleWrapper}>\n <div\n data-name=\"skill-title\"\n className={style.skillTitle}\n aria-label={skillAriaLabel || skillTitle}\n >\n {skillTitle}\n </div>\n {focus ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 10,\n wrapperSize: 16\n }}\n />\n {skillFocusLocale}\n </div>\n ) : null}\n </div>\n <ProgressBar />\n <div className={style.progressInformations}>\n {content && (\n <>\n <div className={style.progressInformation} data-name=\"skill-completed-courses\">\n <span className={style.progressInformationNumber}>{contentCompleted}</span>\n {` ${contentCompletedLocale}`}\n </div>\n <div className={style.progressInformation} data-name=\"completed-percentage\">\n <span className={style.progressInformationNumber}>{score}%</span>\n </div>\n </>\n )}\n </div>\n <div className={style.ctaWrapper} data-name=\"cta-wrapper\">\n <ButtonLink {...buttonReviewProps} />\n <div\n className={style.buttonWrapper}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-name=\"button-explore-wrapper\"\n >\n <ButtonLink {...buttonExploreProps} />\n </div>\n </div>\n </div>\n );\n};\n\nLearnerSkillCard.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nLearnerSkillCard.propTypes = {\n 'aria-label': PropTypes.string,\n skillTitle: PropTypes.string,\n skillAriaLabel: PropTypes.string,\n focus: PropTypes.bool,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n content: PropTypes.number,\n questionsToReview: PropTypes.number,\n contentCompleted: PropTypes.number\n }),\n review: PropTypes.bool,\n onReviewClick: PropTypes.func,\n onExploreClick: PropTypes.func\n};\n\nexport default LearnerSkillCard;\n"],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ # Snapshot report for `src/molecule/select-multiple/test/index.js`
2
+
3
+ The actual snapshot is saved in `index.js.snap`.
4
+
5
+ Generated by [AVA](https://ava.li).
6
+
7
+ ## should shallow render when select is opened
8
+
9
+ > Snapshot 1
10
+
11
+ ShallowWrapper {
12
+ <div
13
+ className="select-multiple__default variables__defaultText"
14
+ >
15
+ <span
16
+ className="select-multiple__title"
17
+ >
18
+ Learning Path:
19
+ </span>
20
+ <div
21
+ className="select-multiple__select"
22
+ onClick={Function {}}
23
+ title="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut"
24
+ >
25
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
26
+ <SvgComponent⍟
27
+ className="select-multiple__arrow select-multiple__down"
28
+ color={undefined}
29
+ />
30
+ </div>
31
+ <div
32
+ className="select-multiple__activeChoices"
33
+ >
34
+ <ul
35
+ className="select-multiple__list"
36
+ >
37
+ <li
38
+ className="select-multiple__choice"
39
+ key="0"
40
+ >
41
+ <TitledCheckbox⍟
42
+ background={undefined}
43
+ choice={
44
+ {
45
+ i: 0,
46
+ name: 'Digital',
47
+ selected: false,
48
+ value: 'digital',
49
+ }
50
+ }
51
+ onToggle={Function {}}
52
+ />
53
+ </li>
54
+ <li
55
+ className="select-multiple__choice"
56
+ key="1"
57
+ >
58
+ <TitledCheckbox⍟
59
+ background={undefined}
60
+ choice={
61
+ {
62
+ i: 1,
63
+ name: 'Esprit du temps',
64
+ selected: false,
65
+ value: 'espritDuTemps',
66
+ }
67
+ }
68
+ onToggle={Function {}}
69
+ />
70
+ </li>
71
+ <li
72
+ className="select-multiple__choice"
73
+ key="2"
74
+ >
75
+ <TitledCheckbox⍟
76
+ background={undefined}
77
+ choice={
78
+ {
79
+ i: 2,
80
+ name: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut',
81
+ selected: true,
82
+ value: 'loremIpsum',
83
+ }
84
+ }
85
+ onToggle={Function {}}
86
+ />
87
+ </li>
88
+ <li
89
+ className="select-multiple__choice"
90
+ key="3"
91
+ >
92
+ <TitledCheckbox⍟
93
+ background={undefined}
94
+ choice={
95
+ {
96
+ i: 3,
97
+ name: 'Le monde du projet',
98
+ selected: false,
99
+ value: 'project',
100
+ }
101
+ }
102
+ onToggle={Function {}}
103
+ />
104
+ </li>
105
+ </ul>
106
+ </div>
107
+ </div>,
108
+ }
109
+
110
+ ## should shallow render with default props
111
+
112
+ > Snapshot 1
113
+
114
+ ShallowWrapper {
115
+ <div
116
+ className="select-multiple__default variables__defaultText"
117
+ >
118
+ <span
119
+ className="select-multiple__title"
120
+ >
121
+ Learning Path:
122
+ </span>
123
+ <div
124
+ className="select-multiple__select"
125
+ onClick={Function {}}
126
+ title="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut"
127
+ >
128
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
129
+ <SvgComponent⍟
130
+ className="select-multiple__arrow"
131
+ color={undefined}
132
+ />
133
+ </div>
134
+ <div
135
+ className="select-multiple__choices"
136
+ >
137
+ <ul
138
+ className="select-multiple__list"
139
+ >
140
+ <li
141
+ className="select-multiple__choice"
142
+ key="0"
143
+ >
144
+ <TitledCheckbox⍟
145
+ background={undefined}
146
+ choice={
147
+ {
148
+ i: 0,
149
+ name: 'Digital',
150
+ selected: false,
151
+ value: 'digital',
152
+ }
153
+ }
154
+ onToggle={Function {}}
155
+ />
156
+ </li>
157
+ <li
158
+ className="select-multiple__choice"
159
+ key="1"
160
+ >
161
+ <TitledCheckbox⍟
162
+ background={undefined}
163
+ choice={
164
+ {
165
+ i: 1,
166
+ name: 'Esprit du temps',
167
+ selected: false,
168
+ value: 'espritDuTemps',
169
+ }
170
+ }
171
+ onToggle={Function {}}
172
+ />
173
+ </li>
174
+ <li
175
+ className="select-multiple__choice"
176
+ key="2"
177
+ >
178
+ <TitledCheckbox⍟
179
+ background={undefined}
180
+ choice={
181
+ {
182
+ i: 2,
183
+ name: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut',
184
+ selected: true,
185
+ value: 'loremIpsum',
186
+ }
187
+ }
188
+ onToggle={Function {}}
189
+ />
190
+ </li>
191
+ <li
192
+ className="select-multiple__choice"
193
+ key="3"
194
+ >
195
+ <TitledCheckbox⍟
196
+ background={undefined}
197
+ choice={
198
+ {
199
+ i: 3,
200
+ name: 'Le monde du projet',
201
+ selected: false,
202
+ value: 'project',
203
+ }
204
+ }
205
+ onToggle={Function {}}
206
+ />
207
+ </li>
208
+ </ul>
209
+ </div>
210
+ </div>,
211
+ }
@@ -33,10 +33,10 @@ declare namespace MyLearning {
33
33
  availableForReview: PropTypes.Requireable<boolean>;
34
34
  stats: PropTypes.Requireable<PropTypes.InferProps<{
35
35
  score: PropTypes.Requireable<number>;
36
- courses: PropTypes.Requireable<number>;
37
- coursesCompleted: PropTypes.Requireable<number>;
38
- questionsAnswered: PropTypes.Requireable<number>;
39
- learningHours: PropTypes.Requireable<number>;
36
+ content: PropTypes.Requireable<number>;
37
+ contentCompleted: PropTypes.Requireable<number>;
38
+ questionsToReview: PropTypes.Requireable<number>;
39
+ learningTime: PropTypes.Requireable<number>;
40
40
  }>>;
41
41
  }> | null | undefined;
42
42
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/my-learning/index.js"],"names":[],"mappings":";AAwHA,mEA2WC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/my-learning/index.js"],"names":[],"mappings":";AAyHA,mEAuWC"}