@coorpacademy/components 10.17.2 → 10.19.0

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 (77) hide show
  1. package/es/atom/drag-and-drop/index.js +2 -2
  2. package/es/atom/drag-and-drop/index.js.map +1 -1
  3. package/es/atom/drag-and-drop/test/fixtures/disabled-with-image-reset.js +12 -0
  4. package/es/atom/drag-and-drop/test/fixtures/disabled-with-image-reset.js.map +1 -0
  5. package/es/atom/drag-and-drop/test/fixtures.js +2 -0
  6. package/es/atom/drag-and-drop/test/fixtures.js.map +1 -1
  7. package/es/atom/lottie-wrapper/index.js +2 -2
  8. package/es/atom/lottie-wrapper/index.js.map +1 -1
  9. package/es/molecule/brand-create-form/index.js +1 -0
  10. package/es/molecule/brand-create-form/index.js.map +1 -1
  11. package/es/molecule/review-card-congrats/index.js +99 -0
  12. package/es/molecule/review-card-congrats/index.js.map +1 -0
  13. package/es/molecule/review-card-congrats/style.css +139 -0
  14. package/es/molecule/review-card-congrats/test/card-congrats.js +47 -0
  15. package/es/molecule/review-card-congrats/test/card-congrats.js.map +1 -0
  16. package/es/molecule/review-card-congrats/test/fixtures/rank.js +22 -0
  17. package/es/molecule/review-card-congrats/test/fixtures/rank.js.map +1 -0
  18. package/es/molecule/review-card-congrats/test/fixtures/star.js +21 -0
  19. package/es/molecule/review-card-congrats/test/fixtures/star.js.map +1 -0
  20. package/es/molecule/review-card-congrats/test/fixtures.js +15 -0
  21. package/es/molecule/review-card-congrats/test/fixtures.js.map +1 -0
  22. package/es/organism/review-congrats/index.js +72 -0
  23. package/es/organism/review-congrats/index.js.map +1 -0
  24. package/es/organism/review-congrats/style.css +225 -0
  25. package/es/organism/review-congrats/test/fixtures/default.js +25 -0
  26. package/es/organism/review-congrats/test/fixtures/default.js.map +1 -0
  27. package/es/organism/review-congrats/test/fixtures.js +13 -0
  28. package/es/organism/review-congrats/test/fixtures.js.map +1 -0
  29. package/es/organism/review-congrats/test/review-congrats.js +37 -0
  30. package/es/organism/review-congrats/test/review-congrats.js.map +1 -0
  31. package/es/organism/review-header/index.js +7 -3
  32. package/es/organism/review-header/index.js.map +1 -1
  33. package/es/organism/review-header/style.css +13 -0
  34. package/es/organism/review-header/test/fixtures/steps-animation.js +11 -0
  35. package/es/organism/review-header/test/fixtures/steps-animation.js.map +1 -0
  36. package/es/organism/review-header/test/fixtures.js +2 -0
  37. package/es/organism/review-header/test/fixtures.js.map +1 -1
  38. package/es/variables/colors.css +1 -0
  39. package/lib/atom/drag-and-drop/index.js +2 -2
  40. package/lib/atom/drag-and-drop/index.js.map +1 -1
  41. package/lib/atom/drag-and-drop/test/fixtures/disabled-with-image-reset.js +21 -0
  42. package/lib/atom/drag-and-drop/test/fixtures/disabled-with-image-reset.js.map +1 -0
  43. package/lib/atom/drag-and-drop/test/fixtures.js +3 -0
  44. package/lib/atom/drag-and-drop/test/fixtures.js.map +1 -1
  45. package/lib/atom/lottie-wrapper/index.js +2 -2
  46. package/lib/atom/lottie-wrapper/index.js.map +1 -1
  47. package/lib/molecule/brand-create-form/index.js +1 -0
  48. package/lib/molecule/brand-create-form/index.js.map +1 -1
  49. package/lib/molecule/review-card-congrats/index.js +124 -0
  50. package/lib/molecule/review-card-congrats/index.js.map +1 -0
  51. package/lib/molecule/review-card-congrats/style.css +139 -0
  52. package/lib/molecule/review-card-congrats/test/card-congrats.js +63 -0
  53. package/lib/molecule/review-card-congrats/test/card-congrats.js.map +1 -0
  54. package/lib/molecule/review-card-congrats/test/fixtures/rank.js +32 -0
  55. package/lib/molecule/review-card-congrats/test/fixtures/rank.js.map +1 -0
  56. package/lib/molecule/review-card-congrats/test/fixtures/star.js +31 -0
  57. package/lib/molecule/review-card-congrats/test/fixtures/star.js.map +1 -0
  58. package/lib/molecule/review-card-congrats/test/fixtures.js +25 -0
  59. package/lib/molecule/review-card-congrats/test/fixtures.js.map +1 -0
  60. package/lib/organism/review-congrats/index.js +91 -0
  61. package/lib/organism/review-congrats/index.js.map +1 -0
  62. package/lib/organism/review-congrats/style.css +225 -0
  63. package/lib/organism/review-congrats/test/fixtures/default.js +36 -0
  64. package/lib/organism/review-congrats/test/fixtures/default.js.map +1 -0
  65. package/lib/organism/review-congrats/test/fixtures.js +22 -0
  66. package/lib/organism/review-congrats/test/fixtures.js.map +1 -0
  67. package/lib/organism/review-congrats/test/review-congrats.js +53 -0
  68. package/lib/organism/review-congrats/test/review-congrats.js.map +1 -0
  69. package/lib/organism/review-header/index.js +8 -3
  70. package/lib/organism/review-header/index.js.map +1 -1
  71. package/lib/organism/review-header/style.css +13 -0
  72. package/lib/organism/review-header/test/fixtures/steps-animation.js +21 -0
  73. package/lib/organism/review-header/test/fixtures/steps-animation.js.map +1 -0
  74. package/lib/organism/review-header/test/fixtures.js +3 -0
  75. package/lib/organism/review-header/test/fixtures.js.map +1 -1
  76. package/lib/variables/colors.css +1 -0
  77. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/molecule/review-card-congrats/test/fixtures/star.js"],"names":["animationLottie","defaultProps","props","height","undefined","width","iconAriaLabel","className","cardType","reviewCardTitle","reviewCardValue","timerAnimation"],"mappings":";;AAAA,OAAOA,eAAP,MAA4B,uDAA5B;AAEA,OAAO,MAAMC,YAAY,GAAG;AAC1B,gBAAc,gCADY;AAE1B,eAAa,WAFa;AAG1BD,EAAAA,eAAe,wBAAMA,eAAe,CAACE,KAAtB;AAA6BC,IAAAA,MAAM,EAAEC,SAArC;AAAgDC,IAAAA,KAAK,EAAED;AAAvD,IAHW;AAI1BE,EAAAA,aAAa,EAAE,2BAJW;AAK1BC,EAAAA,SAAS,EAAEH,SALe;AAM1BI,EAAAA,QAAQ,EAAE,WANgB;AAO1BC,EAAAA,eAAe,EAAE,cAPS;AAQ1BC,EAAAA,eAAe,EAAE,KARS;AAS1BC,EAAAA,cAAc,EAAE;AATU,CAArB;AAYP,eAAe;AAACT,EAAAA,KAAK,EAAED;AAAR,CAAf","sourcesContent":["import animationLottie from '../../../../atom/lottie-wrapper/test/fixtures/default';\n\nexport const defaultProps = {\n 'aria-label': 'Review Card Congrats Container',\n 'data-name': 'card-star',\n animationLottie: {...animationLottie.props, height: undefined, width: undefined},\n iconAriaLabel: 'Image without information',\n className: undefined,\n cardType: 'card-star',\n reviewCardTitle: 'You have won',\n reviewCardValue: '100',\n timerAnimation: 200\n};\n\nexport default {props: defaultProps};\n"],"file":"star.js"}
@@ -0,0 +1,15 @@
1
+ import test from 'ava';
2
+ import forEach from 'lodash/forEach';
3
+ import renderComponentMacro from '../../../test/helpers/render-component';
4
+ import MoleculeReviewCardCongrats from '..';
5
+ import fixtureRank from './fixtures/rank';
6
+ import fixtureStar from './fixtures/star';
7
+ test('Molecule › MoleculeReviewCardCongrats > should have valid propTypes', t => {
8
+ t.pass();
9
+ forEach(MoleculeReviewCardCongrats.propTypes, (value, key) => {
10
+ t.not(value, undefined, `PropType for "Molecule.MoleculeReviewCardCongrats.propTypes.${key}" may not be undefined. Did you mistype the propTypes definition?`);
11
+ });
12
+ });
13
+ test('Molecule › MoleculeReviewCardCongrats › Rank › should be rendered', renderComponentMacro, MoleculeReviewCardCongrats, fixtureRank);
14
+ test('Molecule › MoleculeReviewCardCongrats › Star › should be rendered', renderComponentMacro, MoleculeReviewCardCongrats, fixtureStar);
15
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/molecule/review-card-congrats/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","MoleculeReviewCardCongrats","fixtureRank","fixtureStar","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,0BAAP,MAAuC,IAAvC;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AAEAL,IAAI,CAAC,qEAAD,EAAwEM,CAAC,IAAI;AAC/EA,EAAAA,CAAC,CAACC,IAAF;AACAN,EAAAA,OAAO,CAACE,0BAA0B,CAACK,SAA5B,EAAuC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC5DJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,+DAA8DF,GAAI,mEAA3F;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAV,IAAI,CAAC,mEAAD,EAAsEE,oBAAtE,EAA4FC,0BAA5F,EAAwHC,WAAxH,CAAJ;AACAJ,IAAI,CAAC,mEAAD,EAAsEE,oBAAtE,EAA4FC,0BAA5F,EAAwHE,WAAxH,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport MoleculeReviewCardCongrats from '..';\nimport fixtureRank from './fixtures/rank';\nimport fixtureStar from './fixtures/star';\n\ntest('Molecule › MoleculeReviewCardCongrats > should have valid propTypes', t => {\n t.pass();\n forEach(MoleculeReviewCardCongrats.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Molecule.MoleculeReviewCardCongrats.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Molecule › MoleculeReviewCardCongrats › Rank › should be rendered', renderComponentMacro, MoleculeReviewCardCongrats, fixtureRank);\ntest('Molecule › MoleculeReviewCardCongrats › Star › should be rendered', renderComponentMacro, MoleculeReviewCardCongrats, fixtureStar);\n"],"file":"fixtures.js"}
@@ -0,0 +1,72 @@
1
+ function _extends() { _extends = Object.assign || 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
+
3
+ import React, { useEffect, useRef } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import ButtonLink from '../../atom/button-link';
6
+ import MoleculeReviewCardCongrats from '../../molecule/review-card-congrats';
7
+ import style from './style.css';
8
+ export const setScroll = container => () => {
9
+ container.current.scrollTo({
10
+ left: 1000,
11
+ behavior: 'smooth'
12
+ });
13
+ };
14
+
15
+ const ReviewCongrats = props => {
16
+ const {
17
+ 'aria-label': ariaLabel,
18
+ 'data-name': dataName,
19
+ title,
20
+ cardCongratsStar,
21
+ cardCongratsRank,
22
+ buttonRevising,
23
+ buttonRevisingSkill
24
+ } = props;
25
+ const container = useRef(null);
26
+ useEffect(() => {
27
+ const timer = setTimeout(setScroll(container), 2000);
28
+ return () => timer && clearTimeout(timer);
29
+ }, []);
30
+ return /*#__PURE__*/React.createElement("div", {
31
+ className: style.containerCongrats,
32
+ "aria-label": ariaLabel,
33
+ "data-name": dataName
34
+ }, /*#__PURE__*/React.createElement("div", {
35
+ className: style.title
36
+ }, title), /*#__PURE__*/React.createElement("div", {
37
+ ref: container,
38
+ className: style.containerCards
39
+ }, /*#__PURE__*/React.createElement(MoleculeReviewCardCongrats, _extends({}, cardCongratsStar, {
40
+ className: style.cardStar
41
+ })), /*#__PURE__*/React.createElement(MoleculeReviewCardCongrats, _extends({}, cardCongratsRank, {
42
+ timerAnimation: 1800,
43
+ className: style.cardRank
44
+ }))), /*#__PURE__*/React.createElement("div", {
45
+ className: style.buttonContainer
46
+ }, /*#__PURE__*/React.createElement(ButtonLink, _extends({}, buttonRevising, {
47
+ className: style.buttonRevise,
48
+ "data-name": "revise-skill-link"
49
+ })), /*#__PURE__*/React.createElement(ButtonLink, _extends({}, buttonRevisingSkill, {
50
+ className: style.buttonRevise
51
+ }))));
52
+ };
53
+
54
+ ReviewCongrats.propTypes = process.env.NODE_ENV !== "production" ? {
55
+ 'aria-label': PropTypes.string,
56
+ 'data-name': PropTypes.string,
57
+ title: PropTypes.string,
58
+ cardCongratsStar: PropTypes.shape(MoleculeReviewCardCongrats.propTypes),
59
+ cardCongratsRank: PropTypes.shape(MoleculeReviewCardCongrats.propTypes),
60
+ buttonRevising: PropTypes.shape({
61
+ label: PropTypes.string,
62
+ onClick: PropTypes.func,
63
+ type: PropTypes.string
64
+ }),
65
+ buttonRevisingSkill: PropTypes.shape({
66
+ label: PropTypes.string,
67
+ onClick: PropTypes.func,
68
+ type: PropTypes.string
69
+ })
70
+ } : {};
71
+ export default ReviewCongrats;
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/organism/review-congrats/index.js"],"names":["React","useEffect","useRef","PropTypes","ButtonLink","MoleculeReviewCardCongrats","style","setScroll","container","current","scrollTo","left","behavior","ReviewCongrats","props","ariaLabel","dataName","title","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","timer","setTimeout","clearTimeout","containerCongrats","containerCards","cardStar","cardRank","buttonContainer","buttonRevise","propTypes","string","shape","label","onClick","func","type"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,SAAf,EAA0BC,MAA1B,QAAuC,OAAvC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,0BAAP,MAAuC,qCAAvC;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,OAAO,MAAMC,SAAS,GAAGC,SAAS,IAAI,MAAM;AAC1CA,EAAAA,SAAS,CAACC,OAAV,CAAkBC,QAAlB,CAA2B;AACzBC,IAAAA,IAAI,EAAE,IADmB;AAEzBC,IAAAA,QAAQ,EAAE;AAFe,GAA3B;AAID,CALM;;AAOP,MAAMC,cAAc,GAAGC,KAAK,IAAI;AAC9B,QAAM;AACJ,kBAAcC,SADV;AAEJ,iBAAaC,QAFT;AAGJC,IAAAA,KAHI;AAIJC,IAAAA,gBAJI;AAKJC,IAAAA,gBALI;AAMJC,IAAAA,cANI;AAOJC,IAAAA;AAPI,MAQFP,KARJ;AAUA,QAAMN,SAAS,GAAGN,MAAM,CAAC,IAAD,CAAxB;AAEAD,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMqB,KAAK,GAAGC,UAAU,CAAChB,SAAS,CAACC,SAAD,CAAV,EAAuB,IAAvB,CAAxB;AACA,WAAO,MAAMc,KAAK,IAAIE,YAAY,CAACF,KAAD,CAAlC;AACD,GAHQ,EAGN,EAHM,CAAT;AAKA,sBACE;AAAK,IAAA,SAAS,EAAEhB,KAAK,CAACmB,iBAAtB;AAAyC,kBAAYV,SAArD;AAAgE,iBAAWC;AAA3E,kBACE;AAAK,IAAA,SAAS,EAAEV,KAAK,CAACW;AAAtB,KAA8BA,KAA9B,CADF,eAEE;AAAK,IAAA,GAAG,EAAET,SAAV;AAAqB,IAAA,SAAS,EAAEF,KAAK,CAACoB;AAAtC,kBACE,oBAAC,0BAAD,eAAgCR,gBAAhC;AAAkD,IAAA,SAAS,EAAEZ,KAAK,CAACqB;AAAnE,KADF,eAEE,oBAAC,0BAAD,eACMR,gBADN;AAEE,IAAA,cAAc,EAAE,IAFlB;AAGE,IAAA,SAAS,EAAEb,KAAK,CAACsB;AAHnB,KAFF,CAFF,eAUE;AAAK,IAAA,SAAS,EAAEtB,KAAK,CAACuB;AAAtB,kBACE,oBAAC,UAAD,eACMT,cADN;AAEE,IAAA,SAAS,EAAEd,KAAK,CAACwB,YAFnB;AAGE,iBAAU;AAHZ,KADF,eAME,oBAAC,UAAD,eAAgBT,mBAAhB;AAAqC,IAAA,SAAS,EAAEf,KAAK,CAACwB;AAAtD,KANF,CAVF,CADF;AAqBD,CAvCD;;AAyCAjB,cAAc,CAACkB,SAAf,2CAA2B;AACzB,gBAAc5B,SAAS,CAAC6B,MADC;AAEzB,eAAa7B,SAAS,CAAC6B,MAFE;AAGzBf,EAAAA,KAAK,EAAEd,SAAS,CAAC6B,MAHQ;AAIzBd,EAAAA,gBAAgB,EAAEf,SAAS,CAAC8B,KAAV,CAAgB5B,0BAA0B,CAAC0B,SAA3C,CAJO;AAKzBZ,EAAAA,gBAAgB,EAAEhB,SAAS,CAAC8B,KAAV,CAAgB5B,0BAA0B,CAAC0B,SAA3C,CALO;AAMzBX,EAAAA,cAAc,EAAEjB,SAAS,CAAC8B,KAAV,CAAgB;AAC9BC,IAAAA,KAAK,EAAE/B,SAAS,CAAC6B,MADa;AAE9BG,IAAAA,OAAO,EAAEhC,SAAS,CAACiC,IAFW;AAG9BC,IAAAA,IAAI,EAAElC,SAAS,CAAC6B;AAHc,GAAhB,CANS;AAWzBX,EAAAA,mBAAmB,EAAElB,SAAS,CAAC8B,KAAV,CAAgB;AACnCC,IAAAA,KAAK,EAAE/B,SAAS,CAAC6B,MADkB;AAEnCG,IAAAA,OAAO,EAAEhC,SAAS,CAACiC,IAFgB;AAGnCC,IAAAA,IAAI,EAAElC,SAAS,CAAC6B;AAHmB,GAAhB;AAXI,CAA3B;AAkBA,eAAenB,cAAf","sourcesContent":["import React, {useEffect, useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport ButtonLink from '../../atom/button-link';\nimport MoleculeReviewCardCongrats from '../../molecule/review-card-congrats';\nimport style from './style.css';\n\nexport const setScroll = container => () => {\n container.current.scrollTo({\n left: 1000,\n behavior: 'smooth'\n });\n};\n\nconst ReviewCongrats = props => {\n const {\n 'aria-label': ariaLabel,\n 'data-name': dataName,\n title,\n cardCongratsStar,\n cardCongratsRank,\n buttonRevising,\n buttonRevisingSkill\n } = props;\n\n const container = useRef(null);\n\n useEffect(() => {\n const timer = setTimeout(setScroll(container), 2000);\n return () => timer && clearTimeout(timer);\n }, []);\n\n return (\n <div className={style.containerCongrats} aria-label={ariaLabel} data-name={dataName}>\n <div className={style.title}>{title}</div>\n <div ref={container} className={style.containerCards}>\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStar} />\n <MoleculeReviewCardCongrats\n {...cardCongratsRank}\n timerAnimation={1800}\n className={style.cardRank}\n />\n </div>\n <div className={style.buttonContainer}>\n <ButtonLink\n {...buttonRevising}\n className={style.buttonRevise}\n data-name=\"revise-skill-link\"\n />\n <ButtonLink {...buttonRevisingSkill} className={style.buttonRevise} />\n </div>\n </div>\n );\n};\n\nReviewCongrats.propTypes = {\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n title: PropTypes.string,\n cardCongratsStar: PropTypes.shape(MoleculeReviewCardCongrats.propTypes),\n cardCongratsRank: PropTypes.shape(MoleculeReviewCardCongrats.propTypes),\n buttonRevising: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n type: PropTypes.string\n }),\n buttonRevisingSkill: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n type: PropTypes.string\n })\n};\n\nexport default ReviewCongrats;\n"],"file":"index.js"}
@@ -0,0 +1,225 @@
1
+ @value breakpoints: "../../variables/breakpoints.css";
2
+ @value mobile from breakpoints;
3
+ @value colors: "../../variables/colors.css";
4
+ @value cm_blue_900 from colors;
5
+
6
+ @keyframes translateTitle {
7
+ 0% {
8
+ transform: translateY(50%) scale(1);
9
+ }
10
+ 50% {
11
+ transform: translateY(50%) scale(1);
12
+ }
13
+ 100% {
14
+ transform: translateY(-300%) scale(0.6);
15
+ }
16
+ }
17
+
18
+ @keyframes translateYCardStar {
19
+ 0% {
20
+ opacity: 0;
21
+ transform: translateY(0%);
22
+ }
23
+ 30% {
24
+ opacity: 0;
25
+ transform: translateY(40%);
26
+ }
27
+ 100% {
28
+ opacity: 1;
29
+ transform: translateY(0%);
30
+ }
31
+ }
32
+
33
+ @keyframes translateXCardStar {
34
+ 0% {
35
+ transform: translateX(50%);
36
+ }
37
+ 100% {
38
+ transform: translateX(0%);
39
+ }
40
+ }
41
+
42
+ @keyframes translateCardRank {
43
+ 0% {
44
+ position: absolute;
45
+ visibility: hidden;
46
+ z-index: -1;
47
+ opacity: 0;
48
+ transform: translateX(50%);
49
+ }
50
+ 1% {
51
+ position: relative;
52
+ visibility: hidden;
53
+ z-index: -1;
54
+ opacity: 0;
55
+ transform: translateX(50%);
56
+ }
57
+ 100% {
58
+ position: relative;
59
+ visibility: visible;
60
+ z-index: 0;
61
+ opacity: 1;
62
+ transform: translateX(0%);
63
+ }
64
+ }
65
+
66
+ .containerCongrats {
67
+ align-items: center;
68
+ display: flex;
69
+ flex-direction: column;
70
+ justify-content: center;
71
+ overflow-y: auto;
72
+ height: 100%;
73
+ width: 100%;
74
+ position: absolute;
75
+ }
76
+
77
+ .title {
78
+ color: cm_blue_900;
79
+ font-family: 'Gilroy';
80
+ font-size: 65px;
81
+ font-style: normal;
82
+ font-weight: 500;
83
+ position: relative;
84
+ top: 200px;
85
+ user-select: none;
86
+ animation: translateTitle 1.4s ease-out 0s forwards;
87
+ }
88
+
89
+ .containerCards {
90
+ display: flex;
91
+ align-items: center;
92
+ justify-content: center;
93
+ position: relative;
94
+ }
95
+
96
+ .cardStar {
97
+ animation: translateYCardStar 0.5s ease-out 0.8s forwards,
98
+ translateXCardStar 0.2s ease-in-out 2s forwards;
99
+ opacity: 0;
100
+ }
101
+
102
+ .cardRank {
103
+ animation: translateCardRank 0.2s ease-in-out 2s forwards;
104
+ position: absolute;
105
+ visibility: hidden;
106
+ opacity: 0;
107
+ margin-left: 32px;
108
+ }
109
+
110
+ /* ie fallback */
111
+ _:-ms-fullscreen,
112
+ :root .cardRank {
113
+ position: inherit;
114
+ }
115
+
116
+ _:-ms-fullscreen,
117
+ :root .cardStar,
118
+ .cardRank {
119
+ transform: translateX(50%);
120
+ }
121
+
122
+ .buttonContainer {
123
+ display: flex;
124
+ align-content: center;
125
+ align-items: center;
126
+ justify-content: center;
127
+ position: relative;
128
+ margin-top: 50px;
129
+ }
130
+
131
+ .buttonRevise {
132
+ width: fit-content;
133
+ margin-left: 16px;
134
+ padding: 12px 16px;
135
+ }
136
+
137
+ @media mobile {
138
+ @keyframes translateTitle {
139
+ 0% {
140
+ transform: translateY(50%) scale(1);
141
+ }
142
+ 50% {
143
+ transform: translateY(50%) scale(1);
144
+ }
145
+ 100% {
146
+ transform: translateY(-400%) scale(0.9);
147
+ }
148
+ }
149
+
150
+ @keyframes translateXCardStar {
151
+ 0% {
152
+ margin-left: calc(100% - (100% - 240px));
153
+ margin-right: calc((100% - 240px) / 2);
154
+ }
155
+ 100% {
156
+ margin-left: 100%;
157
+ margin-right: calc((100% - 240px) / 2);
158
+ }
159
+ }
160
+
161
+ @keyframes translateCardRank {
162
+ 0% {
163
+ opacity: 0;
164
+ position: absolute;
165
+ transform: translateX(0);
166
+ visibility: hidden;
167
+ z-index: -1;
168
+ }
169
+ 100% {
170
+ opacity: 1;
171
+ position: relative;
172
+ transform: translateX(0);
173
+ visibility: visible;
174
+ z-index: 0;
175
+ }
176
+ }
177
+
178
+ .containerCongrats {
179
+ width: 100%;
180
+ height: 100%;
181
+ overflow-x: hidden;
182
+ overflow-y: auto;
183
+ }
184
+
185
+ .title {
186
+ animation: translateTitle 1.6s ease-out forwards;
187
+ font-size: 35px;
188
+ }
189
+
190
+ .containerCards {
191
+ width: 100%;
192
+ min-height: 350px;
193
+ overflow-x: auto;
194
+ overflow-y: hidden;
195
+ margin-top: 54px;
196
+ padding-bottom: 10px;
197
+ }
198
+
199
+ .cardStar {
200
+ animation: translateYCardStar 0.6s ease-out 0.8s forwards,
201
+ translateXCardStar 0.2s ease-in-out 2s forwards;
202
+ flex-shrink: 0;
203
+ opacity: 0;
204
+ transform: translateX(0);
205
+ }
206
+
207
+ .cardRank {
208
+ animation: translateCardRank 0.2s ease-in-out 2s forwards;
209
+ flex-shrink: 0;
210
+ margin-right: calc((100% - 240px) / 2);
211
+ }
212
+
213
+ .buttonContainer {
214
+ display: flex;
215
+ flex-direction: column;
216
+ margin-top: 25px;
217
+ width: 90%;
218
+ }
219
+
220
+ .buttonRevise {
221
+ margin-bottom: 8px;
222
+ margin-left: 0;
223
+ width: 100%;
224
+ }
225
+ }
@@ -0,0 +1,25 @@
1
+ import moleculeReviewCardStar from '../../../../molecule/review-card-congrats/test/fixtures/star';
2
+ import moleculeReviewCardRank from '../../../../molecule/review-card-congrats/test/fixtures/rank';
3
+ export const defaultProps = {
4
+ 'aria-label': 'Review Congratulations',
5
+ 'data-name': 'review-congrats',
6
+ title: 'Congratulations!',
7
+ cardCongratsStar: moleculeReviewCardStar.props,
8
+ cardCongratsRank: moleculeReviewCardRank.props,
9
+ buttonRevising: {
10
+ 'aria-label': 'Continue revising button',
11
+ label: 'Continue revising',
12
+ onClick: () => console.log('Continue revising'),
13
+ type: 'tertiary'
14
+ },
15
+ buttonRevisingSkill: {
16
+ label: 'Revise another skill',
17
+ 'aria-label': 'Revise another skill button',
18
+ onClick: () => console.log('Revise another skill'),
19
+ type: 'primary'
20
+ }
21
+ };
22
+ export default {
23
+ props: defaultProps
24
+ };
25
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/organism/review-congrats/test/fixtures/default.js"],"names":["moleculeReviewCardStar","moleculeReviewCardRank","defaultProps","title","cardCongratsStar","props","cardCongratsRank","buttonRevising","label","onClick","console","log","type","buttonRevisingSkill"],"mappings":"AAAA,OAAOA,sBAAP,MAAmC,8DAAnC;AACA,OAAOC,sBAAP,MAAmC,8DAAnC;AAEA,OAAO,MAAMC,YAAY,GAAG;AAC1B,gBAAc,wBADY;AAE1B,eAAa,iBAFa;AAG1BC,EAAAA,KAAK,EAAE,kBAHmB;AAI1BC,EAAAA,gBAAgB,EAAEJ,sBAAsB,CAACK,KAJf;AAK1BC,EAAAA,gBAAgB,EAAEL,sBAAsB,CAACI,KALf;AAM1BE,EAAAA,cAAc,EAAE;AACd,kBAAc,0BADA;AAEdC,IAAAA,KAAK,EAAE,mBAFO;AAGdC,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,mBAAZ,CAHD;AAIdC,IAAAA,IAAI,EAAE;AAJQ,GANU;AAY1BC,EAAAA,mBAAmB,EAAE;AACnBL,IAAAA,KAAK,EAAE,sBADY;AAEnB,kBAAc,6BAFK;AAGnBC,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,sBAAZ,CAHI;AAInBC,IAAAA,IAAI,EAAE;AAJa;AAZK,CAArB;AAoBP,eAAe;AAACP,EAAAA,KAAK,EAAEH;AAAR,CAAf","sourcesContent":["import moleculeReviewCardStar from '../../../../molecule/review-card-congrats/test/fixtures/star';\nimport moleculeReviewCardRank from '../../../../molecule/review-card-congrats/test/fixtures/rank';\n\nexport const defaultProps = {\n 'aria-label': 'Review Congratulations',\n 'data-name': 'review-congrats',\n title: 'Congratulations!',\n cardCongratsStar: moleculeReviewCardStar.props,\n cardCongratsRank: moleculeReviewCardRank.props,\n buttonRevising: {\n 'aria-label': 'Continue revising button',\n label: 'Continue revising',\n onClick: () => console.log('Continue revising'),\n type: 'tertiary'\n },\n buttonRevisingSkill: {\n label: 'Revise another skill',\n 'aria-label': 'Revise another skill button',\n onClick: () => console.log('Revise another skill'),\n type: 'primary'\n }\n};\n\nexport default {props: defaultProps};\n"],"file":"default.js"}
@@ -0,0 +1,13 @@
1
+ import test from 'ava';
2
+ import forEach from 'lodash/forEach';
3
+ import renderComponentMacro from '../../../test/helpers/render-component';
4
+ import OrganismReviewCongrats from '..';
5
+ import fixtureDefault from './fixtures/default';
6
+ test('Organism › OrganismReviewCongrats > should have valid propTypes', t => {
7
+ t.pass();
8
+ forEach(OrganismReviewCongrats.propTypes, (value, key) => {
9
+ t.not(value, undefined, `PropType for "Organism.OrganismReviewCongrats.propTypes.${key}" may not be undefined. Did you mistype the propTypes definition?`);
10
+ });
11
+ });
12
+ test('Organism › OrganismReviewCongrats › Default › should be rendered', renderComponentMacro, OrganismReviewCongrats, fixtureDefault);
13
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/organism/review-congrats/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","OrganismReviewCongrats","fixtureDefault","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,sBAAP,MAAmC,IAAnC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AAEAJ,IAAI,CAAC,iEAAD,EAAoEK,CAAC,IAAI;AAC3EA,EAAAA,CAAC,CAACC,IAAF;AACAL,EAAAA,OAAO,CAACE,sBAAsB,CAACI,SAAxB,EAAmC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACxDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,2DAA0DF,GAAI,mEAAvF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAT,IAAI,CAAC,kEAAD,EAAqEE,oBAArE,EAA2FC,sBAA3F,EAAmHC,cAAnH,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport OrganismReviewCongrats from '..';\nimport fixtureDefault from './fixtures/default';\n\ntest('Organism › OrganismReviewCongrats > should have valid propTypes', t => {\n t.pass();\n forEach(OrganismReviewCongrats.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Organism.OrganismReviewCongrats.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Organism › OrganismReviewCongrats › Default › should be rendered', renderComponentMacro, OrganismReviewCongrats, fixtureDefault);\n"],"file":"fixtures.js"}
@@ -0,0 +1,37 @@
1
+ import browserEnv from 'browser-env';
2
+ import test from 'ava';
3
+ import React from 'react';
4
+ import { render, cleanup, fireEvent, waitFor } from '@testing-library/react';
5
+ import ReviewCongrats, { setScroll } from '..';
6
+ import defaultFixture from './fixtures/default';
7
+ browserEnv();
8
+ test.afterEach(cleanup);
9
+ test('should click on skill button', async t => {
10
+ const {
11
+ container
12
+ } = render( /*#__PURE__*/React.createElement(ReviewCongrats, defaultFixture.props));
13
+ await waitFor(() => {
14
+ const skillLink = container.querySelector('[data-name="revise-skill-link"]');
15
+ t.truthy(skillLink);
16
+ if (skillLink) t.notThrows(() => {
17
+ return fireEvent.click(skillLink);
18
+ });
19
+ });
20
+ t.pass();
21
+ });
22
+ test('setScroll', t => {
23
+ t.plan(2);
24
+ const _container = {
25
+ current: {
26
+ scrollTo: ({
27
+ left,
28
+ behavior
29
+ }) => {
30
+ t.is(left, 1000);
31
+ t.is(behavior, 'smooth');
32
+ }
33
+ }
34
+ };
35
+ setScroll(_container)();
36
+ });
37
+ //# sourceMappingURL=review-congrats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/organism/review-congrats/test/review-congrats.js"],"names":["browserEnv","test","React","render","cleanup","fireEvent","waitFor","ReviewCongrats","setScroll","defaultFixture","afterEach","t","container","props","skillLink","querySelector","truthy","notThrows","click","pass","plan","_container","current","scrollTo","left","behavior","is"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,aAAvB;AACA,OAAOC,IAAP,MAAiB,KAAjB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAAQC,MAAR,EAAgBC,OAAhB,EAAyBC,SAAzB,EAAoCC,OAApC,QAAkD,wBAAlD;AACA,OAAOC,cAAP,IAAwBC,SAAxB,QAAwC,IAAxC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AAEAT,UAAU;AAEVC,IAAI,CAACS,SAAL,CAAeN,OAAf;AAEAH,IAAI,CAAC,8BAAD,EAAiC,MAAMU,CAAN,IAAW;AAC9C,QAAM;AAACC,IAAAA;AAAD,MAAcT,MAAM,eAAC,oBAAC,cAAD,EAAoBM,cAAc,CAACI,KAAnC,CAAD,CAA1B;AAEA,QAAMP,OAAO,CAAC,MAAM;AAClB,UAAMQ,SAAS,GAAGF,SAAS,CAACG,aAAV,CAAwB,iCAAxB,CAAlB;AACAJ,IAAAA,CAAC,CAACK,MAAF,CAASF,SAAT;AACA,QAAIA,SAAJ,EACEH,CAAC,CAACM,SAAF,CAAY,MAAM;AAChB,aAAOZ,SAAS,CAACa,KAAV,CAAgBJ,SAAhB,CAAP;AACD,KAFD;AAGH,GAPY,CAAb;AASAH,EAAAA,CAAC,CAACQ,IAAF;AACD,CAbG,CAAJ;AAeAlB,IAAI,CAAC,WAAD,EAAcU,CAAC,IAAI;AACrBA,EAAAA,CAAC,CAACS,IAAF,CAAO,CAAP;AAEA,QAAMC,UAAU,GAAG;AACjBC,IAAAA,OAAO,EAAE;AACPC,MAAAA,QAAQ,EAAE,CAAC;AAACC,QAAAA,IAAD;AAAOC,QAAAA;AAAP,OAAD,KAAsB;AAC9Bd,QAAAA,CAAC,CAACe,EAAF,CAAKF,IAAL,EAAW,IAAX;AACAb,QAAAA,CAAC,CAACe,EAAF,CAAKD,QAAL,EAAe,QAAf;AACD;AAJM;AADQ,GAAnB;AASAjB,EAAAA,SAAS,CAACa,UAAD,CAAT;AACD,CAbG,CAAJ","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {render, cleanup, fireEvent, waitFor} from '@testing-library/react';\nimport ReviewCongrats, {setScroll} from '..';\nimport defaultFixture from './fixtures/default';\n\nbrowserEnv();\n\ntest.afterEach(cleanup);\n\ntest('should click on skill button', async t => {\n const {container} = render(<ReviewCongrats {...defaultFixture.props} />);\n\n await waitFor(() => {\n const skillLink = container.querySelector('[data-name=\"revise-skill-link\"]');\n t.truthy(skillLink);\n if (skillLink)\n t.notThrows(() => {\n return fireEvent.click(skillLink);\n });\n });\n\n t.pass();\n});\n\ntest('setScroll', t => {\n t.plan(2);\n\n const _container = {\n current: {\n scrollTo: ({left, behavior}) => {\n t.is(left, 1000);\n t.is(behavior, 'smooth');\n }\n }\n };\n\n setScroll(_container)();\n});\n"],"file":"review-congrats.js"}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import classnames from 'classnames';
3
4
  import getOr from 'lodash/fp/getOr';
4
5
  import ButtonLinkIconOnly from '../../atom/button-link-icon-only';
5
6
  import ReviewHeaderStep from '../../molecule/review-header-steps';
@@ -12,7 +13,8 @@ const ReviewHeader = (props, context) => {
12
13
  skillName,
13
14
  'aria-label': ariaLabel,
14
15
  closeButtonAriaLabel,
15
- onQuitClick
16
+ onQuitClick,
17
+ hiddenSteps
16
18
  } = props;
17
19
  const {
18
20
  skin
@@ -26,6 +28,7 @@ const ReviewHeader = (props, context) => {
26
28
  size: 'responsive',
27
29
  className: style.review
28
30
  };
31
+ const stepsWrapper = classnames(style.stepsWrapper, hiddenSteps ? style.stepsWrapperAnimation : null);
29
32
  return /*#__PURE__*/React.createElement("div", {
30
33
  className: style.headerWrapper,
31
34
  "data-name": "review-header",
@@ -46,7 +49,7 @@ const ReviewHeader = (props, context) => {
46
49
  "aria-label": skillName,
47
50
  "data-name": "review-header-skill-name"
48
51
  }, skillName)), /*#__PURE__*/React.createElement("div", {
49
- className: style.stepsWrapper
52
+ className: stepsWrapper
50
53
  }, /*#__PURE__*/React.createElement(ReviewHeaderStep, {
51
54
  steps: steps,
52
55
  key: 'review-header-steps'
@@ -62,7 +65,8 @@ ReviewHeader.propTypes = process.env.NODE_ENV !== "production" ? {
62
65
  skillName: PropTypes.string.isRequired,
63
66
  'aria-label': PropTypes.string,
64
67
  closeButtonAriaLabel: PropTypes.string,
65
- onQuitClick: PropTypes.func
68
+ onQuitClick: PropTypes.func,
69
+ hiddenSteps: PropTypes.bool
66
70
  } : {};
67
71
  export default ReviewHeader;
68
72
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/review-header/index.js"],"names":["React","PropTypes","getOr","ButtonLinkIconOnly","ReviewHeaderStep","style","ReviewHeader","props","context","steps","mode","skillName","ariaLabel","closeButtonAriaLabel","onQuitClick","skin","primarySkinColor","buttonProps","icon","onClick","size","className","review","headerWrapper","titlesWrapper","title","color","stepsWrapper","iconButtonWrapper","propTypes","string","isRequired","func"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,kBAAP,MAA+B,kCAA/B;AACA,OAAOC,gBAAP,MAA6B,oCAA7B;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,YAAY,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACvC,QAAM;AACJC,IAAAA,KADI;AAEJC,IAAAA,IAFI;AAGJC,IAAAA,SAHI;AAIJ,kBAAcC,SAJV;AAKJC,IAAAA,oBALI;AAMJC,IAAAA;AANI,MAOFP,KAPJ;AAQA,QAAM;AAACQ,IAAAA;AAAD,MAASP,OAAf;AACA,QAAMQ,gBAAgB,GAAGd,KAAK,CAAC,SAAD,EAAY,gBAAZ,EAA8Ba,IAA9B,CAA9B;AAEA,QAAME,WAAW,GAAG;AAClBC,IAAAA,IAAI,EAAE,OADY;AAElB,iBAAa,4BAFK;AAGlB,kBAAcL,oBAHI;AAIlBM,IAAAA,OAAO,EAAEL,WAJS;AAKlBM,IAAAA,IAAI,EAAE,YALY;AAMlBC,IAAAA,SAAS,EAAEhB,KAAK,CAACiB;AANC,GAApB;AASA,sBACE;AAAK,IAAA,SAAS,EAAEjB,KAAK,CAACkB,aAAtB;AAAqC,iBAAU,eAA/C;AAA+D,kBAAYX;AAA3E,kBACE;AAAK,IAAA,SAAS,EAAEP,KAAK,CAACmB;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEnB,KAAK,CAACoB,KAAtB;AAA6B,IAAA,KAAK,EAAEf,IAApC;AAA0C,kBAAYA,IAAtD;AAA4D,iBAAU;AAAtE,KACGA,IADH,CADF,eAIE;AACE,IAAA,SAAS,EAAEL,KAAK,CAACM,SADnB;AAEE,IAAA,KAAK,EAAE;AACLe,MAAAA,KAAK,EAAEV;AADF,KAFT;AAKE,IAAA,KAAK,EAAEL,SALT;AAME,kBAAYA,SANd;AAOE,iBAAU;AAPZ,KASGA,SATH,CAJF,CADF,eAkBE;AAAK,IAAA,SAAS,EAAEN,KAAK,CAACsB;AAAtB,kBACE,oBAAC,gBAAD;AAAkB,IAAA,KAAK,EAAElB,KAAzB;AAAgC,IAAA,GAAG,EAAE;AAArC,IADF,CAlBF,eAsBE;AAAK,IAAA,SAAS,EAAEJ,KAAK,CAACuB,iBAAtB;AAAyC,iBAAU;AAAnD,kBACE,oBAAC,kBAAD,EAAwBX,WAAxB,CADF,CAtBF,CADF;AA4BD,CAjDD;;AAmDAX,YAAY,CAACuB,SAAb,2CAAyB;AACvBpB,EAAAA,KAAK,EAAEL,gBAAgB,CAACyB,SAAjB,CAA2BpB,KADX;AAEvBC,EAAAA,IAAI,EAAET,SAAS,CAAC6B,MAAV,CAAiBC,UAFA;AAGvBpB,EAAAA,SAAS,EAAEV,SAAS,CAAC6B,MAAV,CAAiBC,UAHL;AAIvB,gBAAc9B,SAAS,CAAC6B,MAJD;AAKvBjB,EAAAA,oBAAoB,EAAEZ,SAAS,CAAC6B,MALT;AAMvBhB,EAAAA,WAAW,EAAEb,SAAS,CAAC+B;AANA,CAAzB;AASA,eAAe1B,YAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport ReviewHeaderStep from '../../molecule/review-header-steps';\nimport style from './style.css';\n\nconst ReviewHeader = (props, context) => {\n const {\n steps,\n mode,\n skillName,\n 'aria-label': ariaLabel,\n closeButtonAriaLabel,\n onQuitClick\n } = props;\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const buttonProps = {\n icon: 'close',\n 'data-name': 'review-header-close-button',\n 'aria-label': closeButtonAriaLabel,\n onClick: onQuitClick,\n size: 'responsive',\n className: style.review\n };\n\n return (\n <div className={style.headerWrapper} data-name=\"review-header\" aria-label={ariaLabel}>\n <div className={style.titlesWrapper}>\n <div className={style.title} title={mode} aria-label={mode} data-name=\"review-header-mode\">\n {mode}\n </div>\n <div\n className={style.skillName}\n style={{\n color: primarySkinColor\n }}\n title={skillName}\n aria-label={skillName}\n data-name=\"review-header-skill-name\"\n >\n {skillName}\n </div>\n </div>\n\n <div className={style.stepsWrapper}>\n <ReviewHeaderStep steps={steps} key={'review-header-steps'} />\n </div>\n\n <div className={style.iconButtonWrapper} data-name=\"review-header-close-button-wrapper\">\n <ButtonLinkIconOnly {...buttonProps} />\n </div>\n </div>\n );\n};\n\nReviewHeader.propTypes = {\n steps: ReviewHeaderStep.propTypes.steps,\n mode: PropTypes.string.isRequired,\n skillName: PropTypes.string.isRequired,\n 'aria-label': PropTypes.string,\n closeButtonAriaLabel: PropTypes.string,\n onQuitClick: PropTypes.func\n};\n\nexport default ReviewHeader;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/organism/review-header/index.js"],"names":["React","PropTypes","classnames","getOr","ButtonLinkIconOnly","ReviewHeaderStep","style","ReviewHeader","props","context","steps","mode","skillName","ariaLabel","closeButtonAriaLabel","onQuitClick","hiddenSteps","skin","primarySkinColor","buttonProps","icon","onClick","size","className","review","stepsWrapper","stepsWrapperAnimation","headerWrapper","titlesWrapper","title","color","iconButtonWrapper","propTypes","string","isRequired","func","bool"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,kBAAP,MAA+B,kCAA/B;AACA,OAAOC,gBAAP,MAA6B,oCAA7B;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,YAAY,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACvC,QAAM;AACJC,IAAAA,KADI;AAEJC,IAAAA,IAFI;AAGJC,IAAAA,SAHI;AAIJ,kBAAcC,SAJV;AAKJC,IAAAA,oBALI;AAMJC,IAAAA,WANI;AAOJC,IAAAA;AAPI,MAQFR,KARJ;AASA,QAAM;AAACS,IAAAA;AAAD,MAASR,OAAf;AACA,QAAMS,gBAAgB,GAAGf,KAAK,CAAC,SAAD,EAAY,gBAAZ,EAA8Bc,IAA9B,CAA9B;AAEA,QAAME,WAAW,GAAG;AAClBC,IAAAA,IAAI,EAAE,OADY;AAElB,iBAAa,4BAFK;AAGlB,kBAAcN,oBAHI;AAIlBO,IAAAA,OAAO,EAAEN,WAJS;AAKlBO,IAAAA,IAAI,EAAE,YALY;AAMlBC,IAAAA,SAAS,EAAEjB,KAAK,CAACkB;AANC,GAApB;AASA,QAAMC,YAAY,GAAGvB,UAAU,CAC7BI,KAAK,CAACmB,YADuB,EAE7BT,WAAW,GAAGV,KAAK,CAACoB,qBAAT,GAAiC,IAFf,CAA/B;AAKA,sBACE;AAAK,IAAA,SAAS,EAAEpB,KAAK,CAACqB,aAAtB;AAAqC,iBAAU,eAA/C;AAA+D,kBAAYd;AAA3E,kBACE;AAAK,IAAA,SAAS,EAAEP,KAAK,CAACsB;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEtB,KAAK,CAACuB,KAAtB;AAA6B,IAAA,KAAK,EAAElB,IAApC;AAA0C,kBAAYA,IAAtD;AAA4D,iBAAU;AAAtE,KACGA,IADH,CADF,eAIE;AACE,IAAA,SAAS,EAAEL,KAAK,CAACM,SADnB;AAEE,IAAA,KAAK,EAAE;AACLkB,MAAAA,KAAK,EAAEZ;AADF,KAFT;AAKE,IAAA,KAAK,EAAEN,SALT;AAME,kBAAYA,SANd;AAOE,iBAAU;AAPZ,KASGA,SATH,CAJF,CADF,eAkBE;AAAK,IAAA,SAAS,EAAEa;AAAhB,kBACE,oBAAC,gBAAD;AAAkB,IAAA,KAAK,EAAEf,KAAzB;AAAgC,IAAA,GAAG,EAAE;AAArC,IADF,CAlBF,eAsBE;AAAK,IAAA,SAAS,EAAEJ,KAAK,CAACyB,iBAAtB;AAAyC,iBAAU;AAAnD,kBACE,oBAAC,kBAAD,EAAwBZ,WAAxB,CADF,CAtBF,CADF;AA4BD,CAvDD;;AAyDAZ,YAAY,CAACyB,SAAb,2CAAyB;AACvBtB,EAAAA,KAAK,EAAEL,gBAAgB,CAAC2B,SAAjB,CAA2BtB,KADX;AAEvBC,EAAAA,IAAI,EAAEV,SAAS,CAACgC,MAAV,CAAiBC,UAFA;AAGvBtB,EAAAA,SAAS,EAAEX,SAAS,CAACgC,MAAV,CAAiBC,UAHL;AAIvB,gBAAcjC,SAAS,CAACgC,MAJD;AAKvBnB,EAAAA,oBAAoB,EAAEb,SAAS,CAACgC,MALT;AAMvBlB,EAAAA,WAAW,EAAEd,SAAS,CAACkC,IANA;AAOvBnB,EAAAA,WAAW,EAAEf,SAAS,CAACmC;AAPA,CAAzB;AAUA,eAAe7B,YAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport getOr from 'lodash/fp/getOr';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport ReviewHeaderStep from '../../molecule/review-header-steps';\nimport style from './style.css';\n\nconst ReviewHeader = (props, context) => {\n const {\n steps,\n mode,\n skillName,\n 'aria-label': ariaLabel,\n closeButtonAriaLabel,\n onQuitClick,\n hiddenSteps\n } = props;\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const buttonProps = {\n icon: 'close',\n 'data-name': 'review-header-close-button',\n 'aria-label': closeButtonAriaLabel,\n onClick: onQuitClick,\n size: 'responsive',\n className: style.review\n };\n\n const stepsWrapper = classnames(\n style.stepsWrapper,\n hiddenSteps ? style.stepsWrapperAnimation : null\n );\n\n return (\n <div className={style.headerWrapper} data-name=\"review-header\" aria-label={ariaLabel}>\n <div className={style.titlesWrapper}>\n <div className={style.title} title={mode} aria-label={mode} data-name=\"review-header-mode\">\n {mode}\n </div>\n <div\n className={style.skillName}\n style={{\n color: primarySkinColor\n }}\n title={skillName}\n aria-label={skillName}\n data-name=\"review-header-skill-name\"\n >\n {skillName}\n </div>\n </div>\n\n <div className={stepsWrapper}>\n <ReviewHeaderStep steps={steps} key={'review-header-steps'} />\n </div>\n\n <div className={style.iconButtonWrapper} data-name=\"review-header-close-button-wrapper\">\n <ButtonLinkIconOnly {...buttonProps} />\n </div>\n </div>\n );\n};\n\nReviewHeader.propTypes = {\n steps: ReviewHeaderStep.propTypes.steps,\n mode: PropTypes.string.isRequired,\n skillName: PropTypes.string.isRequired,\n 'aria-label': PropTypes.string,\n closeButtonAriaLabel: PropTypes.string,\n onQuitClick: PropTypes.func,\n hiddenSteps: PropTypes.bool\n};\n\nexport default ReviewHeader;\n"],"file":"index.js"}
@@ -45,6 +45,13 @@
45
45
  left: 50%;
46
46
  transform: translate(-50%, 0);
47
47
  display: flex;
48
+ opacity: 1;
49
+ }
50
+
51
+ .stepsWrapperAnimation {
52
+ opacity: 0;
53
+ transform: translate(-50%, -180%);
54
+ transition: opacity 0.5s ease-in-out 0.5s, transform 0.5s ease-in-out 0.5s;
48
55
  }
49
56
 
50
57
  .iconButtonWrapper {
@@ -96,6 +103,7 @@
96
103
  }
97
104
 
98
105
  @media mobile {
106
+
99
107
  .headerWrapper {
100
108
  height: 126px;
101
109
  align-items: start;
@@ -108,6 +116,11 @@
108
116
  bottom: 20px;
109
117
  }
110
118
 
119
+ .stepsWrapperAnimation {
120
+ opacity: 0;
121
+ transition: opacity 0.5s ease-in-out 0.5s;
122
+ }
123
+
111
124
  .titlesWrapper {
112
125
  margin-top: 16px;
113
126
  margin-left: 20px;
@@ -0,0 +1,11 @@
1
+ function _extends() { _extends = Object.assign || 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
+
3
+ import stepsProps from '../../../../molecule/review-header-steps/test/fixtures/all-questions-ok';
4
+ import { defaultHeaderProps } from './all-questions-ok';
5
+ export default {
6
+ props: _extends(_extends({}, defaultHeaderProps), {}, {
7
+ steps: stepsProps.props.steps,
8
+ hiddenSteps: true
9
+ })
10
+ };
11
+ //# sourceMappingURL=steps-animation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/organism/review-header/test/fixtures/steps-animation.js"],"names":["stepsProps","defaultHeaderProps","props","steps","hiddenSteps"],"mappings":";;AAAA,OAAOA,UAAP,MAAuB,yEAAvB;AACA,SAAQC,kBAAR,QAAiC,oBAAjC;AAEA,eAAe;AACbC,EAAAA,KAAK,wBACAD,kBADA;AAEHE,IAAAA,KAAK,EAAEH,UAAU,CAACE,KAAX,CAAiBC,KAFrB;AAGHC,IAAAA,WAAW,EAAE;AAHV;AADQ,CAAf","sourcesContent":["import stepsProps from '../../../../molecule/review-header-steps/test/fixtures/all-questions-ok';\nimport {defaultHeaderProps} from './all-questions-ok';\n\nexport default {\n props: {\n ...defaultHeaderProps,\n steps: stepsProps.props.steps,\n hiddenSteps: true\n }\n};\n"],"file":"steps-animation.js"}
@@ -8,6 +8,7 @@ import fixtureCurrentQuestionWrong from './fixtures/current-question-wrong';
8
8
  import fixtureFirstQuestionCurrentRight from './fixtures/first-question-current-right';
9
9
  import fixtureNoAnsweredQuestion from './fixtures/no-answered-question';
10
10
  import fixtureQuestionToRepeat from './fixtures/question-to-repeat';
11
+ import fixtureStepsAnimation from './fixtures/steps-animation';
11
12
  test('Organism › OrganismReviewHeader > should have valid propTypes', t => {
12
13
  t.pass();
13
14
  forEach(OrganismReviewHeader.propTypes, (value, key) => {
@@ -20,4 +21,5 @@ test('Organism › OrganismReviewHeader › CurrentQuestionWrong › should be r
20
21
  test('Organism › OrganismReviewHeader › FirstQuestionCurrentRight › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureFirstQuestionCurrentRight);
21
22
  test('Organism › OrganismReviewHeader › NoAnsweredQuestion › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureNoAnsweredQuestion);
22
23
  test('Organism › OrganismReviewHeader › QuestionToRepeat › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureQuestionToRepeat);
24
+ test('Organism › OrganismReviewHeader › StepsAnimation › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureStepsAnimation);
23
25
  //# sourceMappingURL=fixtures.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/organism/review-header/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","OrganismReviewHeader","fixtureAllQuestionsOk","fixtureCurrentQuestionNoAnswered","fixtureCurrentQuestionWrong","fixtureFirstQuestionCurrentRight","fixtureNoAnsweredQuestion","fixtureQuestionToRepeat","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,oBAAP,MAAiC,IAAjC;AACA,OAAOC,qBAAP,MAAkC,6BAAlC;AACA,OAAOC,gCAAP,MAA6C,yCAA7C;AACA,OAAOC,2BAAP,MAAwC,mCAAxC;AACA,OAAOC,gCAAP,MAA6C,yCAA7C;AACA,OAAOC,yBAAP,MAAsC,iCAAtC;AACA,OAAOC,uBAAP,MAAoC,+BAApC;AAEAT,IAAI,CAAC,+DAAD,EAAkEU,CAAC,IAAI;AACzEA,EAAAA,CAAC,CAACC,IAAF;AACAV,EAAAA,OAAO,CAACE,oBAAoB,CAACS,SAAtB,EAAiC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACtDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,yDAAwDF,GAAI,mEAArF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAd,IAAI,CAAC,uEAAD,EAA0EE,oBAA1E,EAAgGC,oBAAhG,EAAsHC,qBAAtH,CAAJ;AACAJ,IAAI,CAAC,kFAAD,EAAqFE,oBAArF,EAA2GC,oBAA3G,EAAiIE,gCAAjI,CAAJ;AACAL,IAAI,CAAC,6EAAD,EAAgFE,oBAAhF,EAAsGC,oBAAtG,EAA4HG,2BAA5H,CAAJ;AACAN,IAAI,CAAC,kFAAD,EAAqFE,oBAArF,EAA2GC,oBAA3G,EAAiII,gCAAjI,CAAJ;AACAP,IAAI,CAAC,2EAAD,EAA8EE,oBAA9E,EAAoGC,oBAApG,EAA0HK,yBAA1H,CAAJ;AACAR,IAAI,CAAC,yEAAD,EAA4EE,oBAA5E,EAAkGC,oBAAlG,EAAwHM,uBAAxH,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport OrganismReviewHeader from '..';\nimport fixtureAllQuestionsOk from './fixtures/all-questions-ok';\nimport fixtureCurrentQuestionNoAnswered from './fixtures/current-question-no-answered';\nimport fixtureCurrentQuestionWrong from './fixtures/current-question-wrong';\nimport fixtureFirstQuestionCurrentRight from './fixtures/first-question-current-right';\nimport fixtureNoAnsweredQuestion from './fixtures/no-answered-question';\nimport fixtureQuestionToRepeat from './fixtures/question-to-repeat';\n\ntest('Organism › OrganismReviewHeader > should have valid propTypes', t => {\n t.pass();\n forEach(OrganismReviewHeader.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Organism.OrganismReviewHeader.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Organism › OrganismReviewHeader › AllQuestionsOk › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureAllQuestionsOk);\ntest('Organism › OrganismReviewHeader › CurrentQuestionNoAnswered › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureCurrentQuestionNoAnswered);\ntest('Organism › OrganismReviewHeader › CurrentQuestionWrong › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureCurrentQuestionWrong);\ntest('Organism › OrganismReviewHeader › FirstQuestionCurrentRight › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureFirstQuestionCurrentRight);\ntest('Organism › OrganismReviewHeader › NoAnsweredQuestion › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureNoAnsweredQuestion);\ntest('Organism › OrganismReviewHeader › QuestionToRepeat › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureQuestionToRepeat);\n"],"file":"fixtures.js"}
1
+ {"version":3,"sources":["../../../../src/organism/review-header/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","OrganismReviewHeader","fixtureAllQuestionsOk","fixtureCurrentQuestionNoAnswered","fixtureCurrentQuestionWrong","fixtureFirstQuestionCurrentRight","fixtureNoAnsweredQuestion","fixtureQuestionToRepeat","fixtureStepsAnimation","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,oBAAP,MAAiC,IAAjC;AACA,OAAOC,qBAAP,MAAkC,6BAAlC;AACA,OAAOC,gCAAP,MAA6C,yCAA7C;AACA,OAAOC,2BAAP,MAAwC,mCAAxC;AACA,OAAOC,gCAAP,MAA6C,yCAA7C;AACA,OAAOC,yBAAP,MAAsC,iCAAtC;AACA,OAAOC,uBAAP,MAAoC,+BAApC;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;AAEAV,IAAI,CAAC,+DAAD,EAAkEW,CAAC,IAAI;AACzEA,EAAAA,CAAC,CAACC,IAAF;AACAX,EAAAA,OAAO,CAACE,oBAAoB,CAACU,SAAtB,EAAiC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACtDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,yDAAwDF,GAAI,mEAArF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAf,IAAI,CAAC,uEAAD,EAA0EE,oBAA1E,EAAgGC,oBAAhG,EAAsHC,qBAAtH,CAAJ;AACAJ,IAAI,CAAC,kFAAD,EAAqFE,oBAArF,EAA2GC,oBAA3G,EAAiIE,gCAAjI,CAAJ;AACAL,IAAI,CAAC,6EAAD,EAAgFE,oBAAhF,EAAsGC,oBAAtG,EAA4HG,2BAA5H,CAAJ;AACAN,IAAI,CAAC,kFAAD,EAAqFE,oBAArF,EAA2GC,oBAA3G,EAAiII,gCAAjI,CAAJ;AACAP,IAAI,CAAC,2EAAD,EAA8EE,oBAA9E,EAAoGC,oBAApG,EAA0HK,yBAA1H,CAAJ;AACAR,IAAI,CAAC,yEAAD,EAA4EE,oBAA5E,EAAkGC,oBAAlG,EAAwHM,uBAAxH,CAAJ;AACAT,IAAI,CAAC,uEAAD,EAA0EE,oBAA1E,EAAgGC,oBAAhG,EAAsHO,qBAAtH,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport OrganismReviewHeader from '..';\nimport fixtureAllQuestionsOk from './fixtures/all-questions-ok';\nimport fixtureCurrentQuestionNoAnswered from './fixtures/current-question-no-answered';\nimport fixtureCurrentQuestionWrong from './fixtures/current-question-wrong';\nimport fixtureFirstQuestionCurrentRight from './fixtures/first-question-current-right';\nimport fixtureNoAnsweredQuestion from './fixtures/no-answered-question';\nimport fixtureQuestionToRepeat from './fixtures/question-to-repeat';\nimport fixtureStepsAnimation from './fixtures/steps-animation';\n\ntest('Organism › OrganismReviewHeader > should have valid propTypes', t => {\n t.pass();\n forEach(OrganismReviewHeader.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Organism.OrganismReviewHeader.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Organism › OrganismReviewHeader › AllQuestionsOk › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureAllQuestionsOk);\ntest('Organism › OrganismReviewHeader › CurrentQuestionNoAnswered › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureCurrentQuestionNoAnswered);\ntest('Organism › OrganismReviewHeader › CurrentQuestionWrong › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureCurrentQuestionWrong);\ntest('Organism › OrganismReviewHeader › FirstQuestionCurrentRight › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureFirstQuestionCurrentRight);\ntest('Organism › OrganismReviewHeader › NoAnsweredQuestion › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureNoAnsweredQuestion);\ntest('Organism › OrganismReviewHeader › QuestionToRepeat › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureQuestionToRepeat);\ntest('Organism › OrganismReviewHeader › StepsAnimation › should be rendered', renderComponentMacro, OrganismReviewHeader, fixtureStepsAnimation);\n"],"file":"fixtures.js"}
@@ -55,6 +55,7 @@
55
55
  @value cm_pink_50: #ffefeb;
56
56
  @value cm_purple_200: #7340FF;
57
57
  @value cm_yellow_scorm: #FFB800;
58
+ @value cm_yellow_secondary_200: #ffde03;
58
59
  @value cm_yellow_100: #ffc043;
59
60
  @value cm_yellow_200: #DB9200;
60
61
  @value cm_yellow_400: #bd7e00;
@@ -112,7 +112,7 @@ class DragAndDrop extends _react.default.Component {
112
112
  }
113
113
 
114
114
  const resetContent = previewContent && previewContent.src ? /*#__PURE__*/_react.default.createElement("div", {
115
- className: _style.default.resetUploadWrapper
115
+ className: (0, _classnames.default)(_style.default.resetUploadWrapper, disabled && _style.default.disabled)
116
116
  }, /*#__PURE__*/_react.default.createElement("div", {
117
117
  className: _style.default.resetSrcLabel
118
118
  }, previewContent.label ? previewContent.label : previewContent.src), onReset ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidStatusClose, {
@@ -170,7 +170,7 @@ class DragAndDrop extends _react.default.Component {
170
170
  }, description) : null, error ? null : /*#__PURE__*/_react.default.createElement("div", {
171
171
  className: _style.default.dragAndDropLabel
172
172
  }, 'Drag & Drop here')), button, /*#__PURE__*/_react.default.createElement("div", null, children(this.handleDragStart, this.handleDragStop))), error ? /*#__PURE__*/_react.default.createElement("span", {
173
- className: _style.default.errorMessage
173
+ className: (0, _classnames.default)(_style.default.errorMessage, disabled && _style.default.disabled)
174
174
  }, error) : resetContent);
175
175
  }
176
176