@coorpacademy/components 10.19.1 → 10.19.4

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 (110) hide show
  1. package/es/atom/button-link-icon-only/test/button-link-icon-only.js +18 -23
  2. package/es/atom/button-link-icon-only/test/button-link-icon-only.js.map +1 -1
  3. package/es/atom/checkbox/index.js +25 -41
  4. package/es/atom/checkbox/index.js.map +1 -1
  5. package/es/atom/checkbox/test/fixtures/default.js +2 -1
  6. package/es/atom/checkbox/test/fixtures/default.js.map +1 -1
  7. package/es/atom/checkbox/test/on-change.js +25 -22
  8. package/es/atom/checkbox/test/on-change.js.map +1 -1
  9. package/es/atom/clue/index.js +2 -1
  10. package/es/atom/clue/index.js.map +1 -1
  11. package/es/atom/clue/test/see-clue.js +83 -58
  12. package/es/atom/clue/test/see-clue.js.map +1 -1
  13. package/es/atom/lottie-wrapper/index.js +1 -1
  14. package/es/atom/lottie-wrapper/index.js.map +1 -1
  15. package/es/atom/review-background/style.css +1 -1
  16. package/es/atom/review-header-step-item/index.js +7 -3
  17. package/es/atom/review-header-step-item/index.js.map +1 -1
  18. package/es/atom/review-header-step-item/style.css +7 -10
  19. package/es/atom/review-presentation/index.js +10 -2
  20. package/es/atom/review-presentation/index.js.map +1 -1
  21. package/es/molecule/dashboard/cards-list/index.js +3 -7
  22. package/es/molecule/dashboard/cards-list/index.js.map +1 -1
  23. package/es/molecule/review-correction-popin/index.js +5 -2
  24. package/es/molecule/review-correction-popin/index.js.map +1 -1
  25. package/es/molecule/review-correction-popin/test/fixtures/wrong.js +1 -0
  26. package/es/molecule/review-correction-popin/test/fixtures/wrong.js.map +1 -1
  27. package/es/molecule/review-header-steps/index.js +3 -3
  28. package/es/molecule/review-header-steps/index.js.map +1 -1
  29. package/es/organism/review-congrats/index.js +1 -1
  30. package/es/organism/review-congrats/index.js.map +1 -1
  31. package/es/organism/review-congrats/style.css +0 -1
  32. package/es/organism/review-header/index.js +3 -3
  33. package/es/organism/review-header/index.js.map +1 -1
  34. package/es/organism/review-header/style.css +1 -1
  35. package/es/organism/review-header/test/fixtures/all-questions-ok.js +3 -1
  36. package/es/organism/review-header/test/fixtures/all-questions-ok.js.map +1 -1
  37. package/es/template/slides-review/index.js +421 -0
  38. package/es/template/slides-review/index.js.map +1 -0
  39. package/es/template/slides-review/style.css +373 -0
  40. package/es/template/slides-review/test/fixtures/failure.js +37 -0
  41. package/es/template/slides-review/test/fixtures/failure.js.map +1 -0
  42. package/es/template/slides-review/test/fixtures/only-once-on-last-slide.js +29 -0
  43. package/es/template/slides-review/test/fixtures/only-once-on-last-slide.js.map +1 -0
  44. package/es/template/slides-review/test/fixtures/random-responses.js +34 -0
  45. package/es/template/slides-review/test/fixtures/random-responses.js.map +1 -0
  46. package/es/template/slides-review/test/fixtures/success.js +54 -0
  47. package/es/template/slides-review/test/fixtures/success.js.map +1 -0
  48. package/es/template/slides-review/test/fixtures.js +19 -0
  49. package/es/template/slides-review/test/fixtures.js.map +1 -0
  50. package/es/template/slides-review/test/slides-review.js +147 -0
  51. package/es/template/slides-review/test/slides-review.js.map +1 -0
  52. package/es/util/render-with-context.js +35 -0
  53. package/es/util/render-with-context.js.map +1 -0
  54. package/es/util/test/render-with-context.js +91 -0
  55. package/es/util/test/render-with-context.js.map +1 -0
  56. package/lib/atom/button-link-icon-only/test/button-link-icon-only.js +20 -24
  57. package/lib/atom/button-link-icon-only/test/button-link-icon-only.js.map +1 -1
  58. package/lib/atom/checkbox/index.js +29 -41
  59. package/lib/atom/checkbox/index.js.map +1 -1
  60. package/lib/atom/checkbox/test/fixtures/default.js +2 -1
  61. package/lib/atom/checkbox/test/fixtures/default.js.map +1 -1
  62. package/lib/atom/checkbox/test/on-change.js +29 -23
  63. package/lib/atom/checkbox/test/on-change.js.map +1 -1
  64. package/lib/atom/clue/index.js +2 -1
  65. package/lib/atom/clue/index.js.map +1 -1
  66. package/lib/atom/clue/test/see-clue.js +88 -59
  67. package/lib/atom/clue/test/see-clue.js.map +1 -1
  68. package/lib/atom/lottie-wrapper/index.js +1 -1
  69. package/lib/atom/lottie-wrapper/index.js.map +1 -1
  70. package/lib/atom/review-background/style.css +1 -1
  71. package/lib/atom/review-header-step-item/index.js +10 -4
  72. package/lib/atom/review-header-step-item/index.js.map +1 -1
  73. package/lib/atom/review-header-step-item/style.css +7 -10
  74. package/lib/atom/review-presentation/index.js +10 -2
  75. package/lib/atom/review-presentation/index.js.map +1 -1
  76. package/lib/molecule/dashboard/cards-list/index.js +3 -7
  77. package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
  78. package/lib/molecule/review-correction-popin/index.js +5 -2
  79. package/lib/molecule/review-correction-popin/index.js.map +1 -1
  80. package/lib/molecule/review-correction-popin/test/fixtures/wrong.js +1 -0
  81. package/lib/molecule/review-correction-popin/test/fixtures/wrong.js.map +1 -1
  82. package/lib/molecule/review-header-steps/index.js +3 -3
  83. package/lib/molecule/review-header-steps/index.js.map +1 -1
  84. package/lib/organism/review-congrats/index.js +1 -1
  85. package/lib/organism/review-congrats/index.js.map +1 -1
  86. package/lib/organism/review-congrats/style.css +0 -1
  87. package/lib/organism/review-header/index.js.map +1 -1
  88. package/lib/organism/review-header/style.css +1 -1
  89. package/lib/organism/review-header/test/fixtures/all-questions-ok.js +3 -1
  90. package/lib/organism/review-header/test/fixtures/all-questions-ok.js.map +1 -1
  91. package/lib/template/slides-review/index.js +447 -0
  92. package/lib/template/slides-review/index.js.map +1 -0
  93. package/lib/template/slides-review/style.css +373 -0
  94. package/lib/template/slides-review/test/fixtures/failure.js +50 -0
  95. package/lib/template/slides-review/test/fixtures/failure.js.map +1 -0
  96. package/lib/template/slides-review/test/fixtures/only-once-on-last-slide.js +39 -0
  97. package/lib/template/slides-review/test/fixtures/only-once-on-last-slide.js.map +1 -0
  98. package/lib/template/slides-review/test/fixtures/random-responses.js +45 -0
  99. package/lib/template/slides-review/test/fixtures/random-responses.js.map +1 -0
  100. package/lib/template/slides-review/test/fixtures/success.js +67 -0
  101. package/lib/template/slides-review/test/fixtures/success.js.map +1 -0
  102. package/lib/template/slides-review/test/fixtures.js +31 -0
  103. package/lib/template/slides-review/test/fixtures.js.map +1 -0
  104. package/lib/template/slides-review/test/slides-review.js +163 -0
  105. package/lib/template/slides-review/test/slides-review.js.map +1 -0
  106. package/lib/util/render-with-context.js +49 -0
  107. package/lib/util/render-with-context.js.map +1 -0
  108. package/lib/util/test/render-with-context.js +103 -0
  109. package/lib/util/test/render-with-context.js.map +1 -0
  110. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/lottie-wrapper/index.js"],"names":["React","useMemo","useRef","useEffect","useState","PropTypes","classnames","lottie","get","has","includes","keys","omit","unfetch","style","ANIMATION_CONTROL","play","pause","stop","loading","isIE11","window","userAgent","hasMsCrypto","hasRevision","hasTrident","fetchAndLoadAnimation","_lottie","_fetch","animationSrc","containerRef","loop","animationClassnames","hideOnTransparent","autoplay","animationUrl","URL","toString","fetchResult","headers","animationData","json","animation","loadAnimation","container","current","renderer","rendererSettings","className","preserveAspectRatio","LottieWrapper","props","dataName","ariaLabel","width","height","ie11ImageBackup","backupImageClassName","animationControl","animationClassName","animationItem","setAnimationItem","isAnimationVisible","setIsAnimationVisible","_isIE11","wrapperClassName","lottieContainer","lottieAnimationClassName","ie11BackupImageClassName","backupImage","destroy","name","maxWidth","maxHeight","opacity","transition","propTypes","string","isRequired","bool","shape","number","oneOf"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,EAAwBC,MAAxB,EAAgCC,SAAhC,EAA2CC,QAA3C,QAA0D,OAA1D;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,MAAP,MAAmB,YAAnB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,QAAP,MAAqB,oBAArB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,OAAP,MAAoB,oBAApB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,OAAO,MAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,IAAI,EAAE,MADyB;AAE/BC,EAAAA,KAAK,EAAE,OAFwB;AAG/BC,EAAAA,IAAI,EAAE,MAHyB;AAI/BC,EAAAA,OAAO,EAAE;AAJsB,CAA1B;;AAOP,MAAMC,MAAM,GAAG,MAAM;AACnB,MAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;AACnC,QAAMC,SAAS,GAAGd,GAAG,CAAC,qBAAD,EAAwBa,MAAxB,CAArB;AACA,QAAME,WAAW,GAAGd,GAAG,CAAC,UAAD,EAAaY,MAAb,CAAvB;AACA,QAAMG,WAAW,GAAGd,QAAQ,CAAC,KAAD,EAAQY,SAAR,CAA5B;AACA,QAAMG,UAAU,GAAGf,QAAQ,CAAC,UAAD,EAAaY,SAAb,CAA3B;AAEA,SAAOC,WAAW,IAAKC,WAAW,IAAIC,UAAtC;AACD,CARD;;AAUA,OAAO,MAAMC,qBAAqB,GAAG,OACnCC,OADmC,EAEnCC,MAFmC,EAGnCC,YAHmC,EAInCC,YAJmC,EAKnCC,IALmC,EAMnCC,mBANmC,EAOnCC,iBAPmC,EAQnCC,QARmC,KAShC;AACH,QAAMC,YAAY,GAAG,IAAIC,GAAJ,CAAQP,YAAR,EAAsBQ,QAAtB,EAArB;AACA,QAAMC,WAAW,GAAG,MAAMV,MAAM,CAACO,YAAD,EAAe;AAC7CI,IAAAA,OAAO,EAAE;AACP,0BAAoB,gBADb;AAEP,sBAAgB;AAFT;AADoC,GAAf,CAAhC;AAOA,QAAMC,aAAa,GAAG,MAAMF,WAAW,CAACG,IAAZ,EAA5B;;AAEA,QAAMC,SAAS,GAAGf,OAAO,CAACgB,aAAR,CAAsB;AACtCC,IAAAA,SAAS,EAAEd,YAAY,CAACe,OADc;AACL;AACjCC,IAAAA,QAAQ,EAAE,KAF4B;AAGtCZ,IAAAA,QAHsC;AAItCH,IAAAA,IAJsC;AAKtCS,IAAAA,aALsC;AAMtCO,IAAAA,gBAAgB,EAAE;AAChBC,MAAAA,SAAS,EAAEhB,mBADK;AAEhBC,MAAAA,iBAFgB;AAGhBgB,MAAAA,mBAAmB,EAAE,eAHL,CAGqB;;AAHrB;AANoB,GAAtB,CAAlB;;AAYA,SAAOP,SAAP;AACD,CAjCM;;AAmCP,MAAMQ,aAAa,GAAGC,KAAK,IAAI;AAC7B,QAAM;AACJH,IAAAA,SADI;AAEJ,iBAAaI,QAFT;AAGJ,kBAAcC,SAHV;AAIJxB,IAAAA,YAJI;AAKJE,IAAAA,IAAI,GAAG,KALH;AAMJgB,IAAAA,gBAAgB,GAAG,EANf;AAOJO,IAAAA,KAPI;AAQJC,IAAAA,MARI;AASJC,IAAAA,eATI;AAUJC,IAAAA,oBAVI;AAWJvB,IAAAA,QAAQ,GAAG,IAXP;AAYJwB,IAAAA;AAZI,MAaFP,KAbJ;AAeA,QAAM;AAACH,IAAAA,SAAS,EAAEW,kBAAZ;AAAgC1B,IAAAA,iBAAiB,GAAG;AAApD,MAA4Dc,gBAAlE;AAEA,QAAMjB,YAAY,GAAG5B,MAAM,CAAC,IAAD,CAA3B,CAlB6B,CAoB7B;;AACA,QAAM,CAAC0D,aAAD,EAAgBC,gBAAhB,IAAoCzD,QAAQ,CAAC,IAAD,CAAlD;AAEA,QAAM,CAAC0D,kBAAD,EAAqBC,qBAArB,IAA8C3D,QAAQ,CAAC8B,QAAD,CAA5D;;AAEA,QAAM8B,OAAO,GAAG/D,OAAO,CAAC,MAAMmB,MAAM,EAAb,EAAiB,EAAjB,CAAvB;;AAEA,QAAM6C,gBAAgB,GAAGhE,OAAO,CAAC,MAAMK,UAAU,CAAC0C,SAAD,EAAYlC,KAAK,CAACoD,eAAlB,CAAjB,EAAqD,CAAClB,SAAD,CAArD,CAAhC;AAEA,QAAMmB,wBAAwB,GAAGlE,OAAO,CAAC,MAAMK,UAAU,CAACqD,kBAAD,EAAqB7C,KAAK,CAAC4B,SAA3B,CAAjB,EAAwD,CAC9FiB,kBAD8F,CAAxD,CAAxC;AAIA,QAAMS,wBAAwB,GAAGnE,OAAO,CACtC,MAAMK,UAAU,CAACmD,oBAAD,EAAuB3C,KAAK,CAACuD,WAA7B,CADsB,EAEtC,CAACZ,oBAAD,CAFsC,CAAxC;AAKAtD,EAAAA,SAAS,CAAC,MAAM;AACd;AACA;;AACA;AACA,QAAIO,QAAQ,CAACgD,gBAAD,EAAmB/C,IAAI,CAACC,IAAI,CAAC,SAAD,EAAYG,iBAAZ,CAAL,CAAvB,CAAR,IAAwE,CAACmB,QAA7E,EAAuF;AACrF6B,MAAAA,qBAAqB,CAAC,IAAD,CAArB;AACA,UAAIH,aAAJ,EAAmBA,aAAa,CAACF,gBAAD,CAAb;AACnB,UAAIA,gBAAgB,KAAK3C,iBAAiB,CAACG,IAA3C,EAAiD6C,qBAAqB,CAAC,KAAD,CAArB;AAClD;AACF,GATQ,EASN,CAACL,gBAAD,EAAmBE,aAAnB,EAAkC1B,QAAlC,CATM,CAAT;AAWA/B,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMwC,aAAa,GAAG,YAAY;AAChC,UAAI,CAACqB,OAAD,IAAY,CAACJ,aAAjB,EAAgC;AAC9B;AACA,YAAI,OAAOvC,MAAP,KAAkB,WAAtB,EAAmC;AACjCA,UAAAA,MAAM,CAACd,MAAP,GAAgBA,MAAhB;AACD;;AACD,cAAMmC,SAAS,GAAG,MAAMhB,qBAAqB,CAC3CnB,MAD2C,EAE3CM,OAF2C,EAG3CgB,YAH2C,EAI3CC,YAJ2C,EAK3CC,IAL2C,EAM3CoC,wBAN2C,EAO3ClC,iBAP2C,EAQ3CC,QAR2C,CAA7C;AAWA;;AACA2B,QAAAA,gBAAgB,CAACnB,SAAD,CAAhB;AACD;AACF,KApBD;;AAsBAC,IAAAA,aAAa;AACb,WAAO,MAAMiB,aAAa;AAAI;AAA2BrD,IAAAA,MAAM,CAAC+D,OAAP,CAAeV,aAAa,CAACW,IAA7B,CAAzD;AACD,GAzBQ,EAyBN,CACDJ,wBADC,EAEDrC,YAFC,EAGDG,iBAHC,EAIDF,IAJC,EAKDF,YALC,EAMDmC,OANC,EAODJ,aAPC,EAQD1B,QARC,CAzBM,CAAT;AAoCA,sBACE;AACE,IAAA,GAAG,EAAEJ,YADP;AAEE,kBAAYuB,SAFd;AAGE,iBAAWD,QAHb;AAIE,IAAA,SAAS,EAAEa,gBAJb;AAKE,IAAA,KAAK,iCACCX,KAAK,IAAI;AACXA,MAAAA,KAAK,EAAG,GAAEA,KAAM,IADL;AAEXkB,MAAAA,QAAQ,EAAG,GAAElB,KAAM;AAFR,KADV,GAKCC,MAAM,IAAI;AACZA,MAAAA,MAAM,EAAG,GAAEA,MAAO,IADN;AAEZkB,MAAAA,SAAS,EAAG,GAAElB,MAAO;AAFT,KALX;AASHmB,MAAAA,OAAO,EAAEZ,kBAAkB,GAAG,CAAH,GAAO,CAT/B;AAUHa,MAAAA,UAAU,EAAE;AAVT;AALP,KAkBGX,OAAO,gBACN;AACE,IAAA,GAAG,EAAER,eADP;AAEE,IAAA,SAAS,EAAEY,wBAFb;AAGE,iBAAU;AAHZ,IADM,GAMJ,IAxBN,CADF;AA4BD,CAjHD;;AAmHAlB,aAAa,CAAC0B,SAAd,2CAA0B;AACxB,gBAAcvE,SAAS,CAACwE,MAAV,CAAiBC,UADP;AAExB,eAAazE,SAAS,CAACwE,MAFC;AAGxBhD,EAAAA,YAAY,EAAExB,SAAS,CAACwE,MAAV,CAAiBC,UAHP;AAIxB/C,EAAAA,IAAI,EAAE1B,SAAS,CAAC0E,IAJQ;AAKxBhC,EAAAA,gBAAgB,EAAE1C,SAAS,CAAC2E,KAAV,CAAgB;AAChC/C,IAAAA,iBAAiB,EAAE5B,SAAS,CAAC0E,IADG;AAEhC/B,IAAAA,SAAS,EAAE3C,SAAS,CAACwE;AAFW,GAAhB,CALM;AASxBtB,EAAAA,MAAM,EAAElD,SAAS,CAAC4E,MATM;AAUxB3B,EAAAA,KAAK,EAAEjD,SAAS,CAAC4E,MAVO;AAWxBjC,EAAAA,SAAS,EAAE3C,SAAS,CAACwE,MAXG;AAYxBrB,EAAAA,eAAe,EAAEnD,SAAS,CAACwE,MAAV,CAAiBC,UAZV;AAaxBrB,EAAAA,oBAAoB,EAAEpD,SAAS,CAACwE,MAbR;AAcxB3C,EAAAA,QAAQ,EAAE7B,SAAS,CAAC0E,IAdI;AAexBrB,EAAAA,gBAAgB,EAAErD,SAAS,CAAC6E,KAAV,CAAgBvE,IAAI,CAACI,iBAAD,CAApB;AAfM,CAA1B;AAkBA,eAAemC,aAAf","sourcesContent":["import React, {useMemo, useRef, useEffect, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport lottie from 'lottie-web';\nimport get from 'lodash/fp/get';\nimport has from 'lodash/fp/has';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport omit from 'lodash/fp/omit';\nimport unfetch from 'isomorphic-unfetch';\nimport style from './style.css';\n\nexport const ANIMATION_CONTROL = {\n play: 'play',\n pause: 'pause',\n stop: 'stop',\n loading: 'loading'\n};\n\nconst isIE11 = () => {\n if (typeof window === 'undefined') return;\n const userAgent = get('navigator.userAgent', window);\n const hasMsCrypto = has('msCrypto', window);\n const hasRevision = includes('rv:', userAgent);\n const hasTrident = includes('Trident/', userAgent);\n\n return hasMsCrypto || (hasRevision && hasTrident);\n};\n\nexport const fetchAndLoadAnimation = async (\n _lottie,\n _fetch,\n animationSrc,\n containerRef,\n loop,\n animationClassnames,\n hideOnTransparent,\n autoplay\n) => {\n const animationUrl = new URL(animationSrc).toString();\n const fetchResult = await _fetch(animationUrl, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': 'application/json'\n }\n });\n\n const animationData = await fetchResult.json();\n\n const animation = _lottie.loadAnimation({\n container: containerRef.current, // the dom element that will contain the animation\n renderer: 'svg',\n autoplay,\n loop,\n animationData,\n rendererSettings: {\n className: animationClassnames,\n hideOnTransparent,\n preserveAspectRatio: 'xMidYMid meet' // same options as a preserveAspectRatio prop\n }\n });\n return animation;\n};\n\nconst LottieWrapper = props => {\n const {\n className,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n animationSrc,\n loop = false,\n rendererSettings = {},\n width,\n height,\n ie11ImageBackup,\n backupImageClassName,\n autoplay = true,\n animationControl\n } = props;\n\n const {className: animationClassName, hideOnTransparent = true} = rendererSettings;\n\n const containerRef = useRef(null);\n\n // lottie's animation instance\n const [animationItem, setAnimationItem] = useState(null);\n\n const [isAnimationVisible, setIsAnimationVisible] = useState(autoplay);\n\n const _isIE11 = useMemo(() => isIE11(), []);\n\n const wrapperClassName = useMemo(() => classnames(className, style.lottieContainer), [className]);\n\n const lottieAnimationClassName = useMemo(() => classnames(animationClassName, style.animation), [\n animationClassName\n ]);\n\n const ie11BackupImageClassName = useMemo(\n () => classnames(backupImageClassName, style.backupImage),\n [backupImageClassName]\n );\n\n useEffect(() => {\n // enzyme does not handle well the state update after an async useEffect in tests\n // to remove when the migration towards @testing-library/react is done\n /* istanbul ignore next */\n if (includes(animationControl, keys(omit('loading', ANIMATION_CONTROL))) && !autoplay) {\n setIsAnimationVisible(true);\n if (animationItem) animationItem[animationControl]();\n if (animationControl === ANIMATION_CONTROL.stop) setIsAnimationVisible(false);\n }\n }, [animationControl, animationItem, autoplay]);\n\n useEffect(() => {\n const loadAnimation = async () => {\n if (!_isIE11 && !animationItem) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n window.lottie = lottie;\n }\n const animation = await fetchAndLoadAnimation(\n lottie,\n unfetch,\n animationSrc,\n containerRef,\n loop,\n lottieAnimationClassName,\n hideOnTransparent,\n autoplay\n );\n\n /* istanbul ignore next */\n setAnimationItem(animation);\n }\n };\n\n loadAnimation();\n return () => animationItem && /* istanbul ignore next */ lottie.destroy(animationItem.name);\n }, [\n lottieAnimationClassName,\n containerRef,\n hideOnTransparent,\n loop,\n animationSrc,\n _isIE11,\n animationItem,\n autoplay\n ]);\n\n return (\n <div\n ref={containerRef}\n aria-label={ariaLabel}\n data-name={dataName}\n className={wrapperClassName}\n style={{\n ...(width && {\n width: `${width}px`,\n maxWidth: `${width}px`\n }),\n ...(height && {\n height: `${height}px`,\n maxHeight: `${height}px`\n }),\n opacity: isAnimationVisible ? 1 : 0,\n transition: 'opacity 0.25s ease-in'\n }}\n >\n {_isIE11 ? (\n <img\n src={ie11ImageBackup}\n className={ie11BackupImageClassName}\n data-name=\"ie11-backup-image\"\n />\n ) : null}\n </div>\n );\n};\n\nLottieWrapper.propTypes = {\n 'aria-label': PropTypes.string.isRequired,\n 'data-name': PropTypes.string,\n animationSrc: PropTypes.string.isRequired,\n loop: PropTypes.bool,\n rendererSettings: PropTypes.shape({\n hideOnTransparent: PropTypes.bool,\n className: PropTypes.string\n }),\n height: PropTypes.number,\n width: PropTypes.number,\n className: PropTypes.string,\n ie11ImageBackup: PropTypes.string.isRequired,\n backupImageClassName: PropTypes.string,\n autoplay: PropTypes.bool,\n animationControl: PropTypes.oneOf(keys(ANIMATION_CONTROL))\n};\n\nexport default LottieWrapper;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/lottie-wrapper/index.js"],"names":["React","useMemo","useRef","useEffect","useState","PropTypes","classnames","lottie","get","has","includes","keys","omit","unfetch","style","ANIMATION_CONTROL","play","pause","stop","loading","isIE11","window","userAgent","hasMsCrypto","hasRevision","hasTrident","fetchAndLoadAnimation","_lottie","_fetch","animationSrc","containerRef","loop","animationClassnames","hideOnTransparent","autoplay","animationUrl","URL","toString","fetchResult","headers","animationData","json","animation","loadAnimation","container","current","renderer","rendererSettings","className","preserveAspectRatio","LottieWrapper","props","dataName","ariaLabel","width","height","ie11ImageBackup","backupImageClassName","animationControl","animationClassName","animationItem","setAnimationItem","isAnimationVisible","setIsAnimationVisible","_isIE11","wrapperClassName","lottieContainer","lottieAnimationClassName","ie11BackupImageClassName","backupImage","destroy","name","maxWidth","maxHeight","opacity","transition","propTypes","string","isRequired","bool","shape","number","oneOf"],"mappings":"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","sourcesContent":["import React, {useMemo, useRef, useEffect, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport lottie from 'lottie-web';\nimport get from 'lodash/fp/get';\nimport has from 'lodash/fp/has';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport omit from 'lodash/fp/omit';\nimport unfetch from 'isomorphic-unfetch';\nimport style from './style.css';\n\nexport const ANIMATION_CONTROL = {\n play: 'play',\n pause: 'pause',\n stop: 'stop',\n loading: 'loading'\n};\n\nconst isIE11 = () => {\n if (typeof window === 'undefined') return;\n const userAgent = get('navigator.userAgent', window);\n const hasMsCrypto = has('msCrypto', window);\n const hasRevision = includes('rv:', userAgent);\n const hasTrident = includes('Trident/', userAgent);\n\n return hasMsCrypto || (hasRevision && hasTrident);\n};\n\nexport const fetchAndLoadAnimation = async (\n _lottie,\n _fetch,\n animationSrc,\n containerRef,\n loop,\n animationClassnames,\n hideOnTransparent,\n autoplay\n) => {\n const animationUrl = new URL(animationSrc).toString();\n const fetchResult = await _fetch(animationUrl, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': 'application/json'\n }\n });\n\n const animationData = await fetchResult.json();\n\n const animation =\n _lottie.loadAnimation &&\n _lottie.loadAnimation({\n container: containerRef.current, // the dom element that will contain the animation\n renderer: 'svg',\n autoplay,\n loop,\n animationData,\n rendererSettings: {\n className: animationClassnames,\n hideOnTransparent,\n preserveAspectRatio: 'xMidYMid meet' // same options as a preserveAspectRatio prop\n }\n });\n return animation;\n};\n\nconst LottieWrapper = props => {\n const {\n className,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n animationSrc,\n loop = false,\n rendererSettings = {},\n width,\n height,\n ie11ImageBackup,\n backupImageClassName,\n autoplay = true,\n animationControl\n } = props;\n\n const {className: animationClassName, hideOnTransparent = true} = rendererSettings;\n\n const containerRef = useRef(null);\n\n // lottie's animation instance\n const [animationItem, setAnimationItem] = useState(null);\n\n const [isAnimationVisible, setIsAnimationVisible] = useState(autoplay);\n\n const _isIE11 = useMemo(() => isIE11(), []);\n\n const wrapperClassName = useMemo(() => classnames(className, style.lottieContainer), [className]);\n\n const lottieAnimationClassName = useMemo(() => classnames(animationClassName, style.animation), [\n animationClassName\n ]);\n\n const ie11BackupImageClassName = useMemo(\n () => classnames(backupImageClassName, style.backupImage),\n [backupImageClassName]\n );\n\n useEffect(() => {\n // enzyme does not handle well the state update after an async useEffect in tests\n // to remove when the migration towards @testing-library/react is done\n /* istanbul ignore next */\n if (includes(animationControl, keys(omit('loading', ANIMATION_CONTROL))) && !autoplay) {\n setIsAnimationVisible(true);\n if (animationItem) animationItem[animationControl]();\n if (animationControl === ANIMATION_CONTROL.stop) setIsAnimationVisible(false);\n }\n }, [animationControl, animationItem, autoplay]);\n\n useEffect(() => {\n const loadAnimation = async () => {\n if (!_isIE11 && !animationItem) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n window.lottie = lottie;\n }\n const animation = await fetchAndLoadAnimation(\n lottie,\n unfetch,\n animationSrc,\n containerRef,\n loop,\n lottieAnimationClassName,\n hideOnTransparent,\n autoplay\n );\n\n /* istanbul ignore next */\n setAnimationItem(animation);\n }\n };\n\n loadAnimation();\n return () => animationItem && /* istanbul ignore next */ lottie.destroy(animationItem.name);\n }, [\n lottieAnimationClassName,\n containerRef,\n hideOnTransparent,\n loop,\n animationSrc,\n _isIE11,\n animationItem,\n autoplay\n ]);\n\n return (\n <div\n ref={containerRef}\n aria-label={ariaLabel}\n data-name={dataName}\n className={wrapperClassName}\n style={{\n ...(width && {\n width: `${width}px`,\n maxWidth: `${width}px`\n }),\n ...(height && {\n height: `${height}px`,\n maxHeight: `${height}px`\n }),\n opacity: isAnimationVisible ? 1 : 0,\n transition: 'opacity 0.25s ease-in'\n }}\n >\n {_isIE11 ? (\n <img\n src={ie11ImageBackup}\n className={ie11BackupImageClassName}\n data-name=\"ie11-backup-image\"\n />\n ) : null}\n </div>\n );\n};\n\nLottieWrapper.propTypes = {\n 'aria-label': PropTypes.string.isRequired,\n 'data-name': PropTypes.string,\n animationSrc: PropTypes.string.isRequired,\n loop: PropTypes.bool,\n rendererSettings: PropTypes.shape({\n hideOnTransparent: PropTypes.bool,\n className: PropTypes.string\n }),\n height: PropTypes.number,\n width: PropTypes.number,\n className: PropTypes.string,\n ie11ImageBackup: PropTypes.string.isRequired,\n backupImageClassName: PropTypes.string,\n autoplay: PropTypes.bool,\n animationControl: PropTypes.oneOf(keys(ANIMATION_CONTROL))\n};\n\nexport default LottieWrapper;\n"],"file":"index.js"}
@@ -17,7 +17,7 @@
17
17
  .mainContainer {
18
18
  position: relative;
19
19
  width: 100vw;
20
- height: 100vh;
20
+ height: 100%;
21
21
  background: #ffffff;
22
22
  padding: 0;
23
23
  margin: 0;
@@ -3,6 +3,10 @@ import classnames from 'classnames';
3
3
  import PropTypes from 'prop-types';
4
4
  import { NovaCompositionCoorpacademyCheck as RightIcon, NovaSolidStatusClose as WrongIcon } from '@coorpacademy/nova-icons';
5
5
  import style from './style.css';
6
+ export const ICON_VALUES = {
7
+ right: 'right',
8
+ wrong: 'wrong'
9
+ };
6
10
 
7
11
  const Content = ({
8
12
  icon,
@@ -16,7 +20,7 @@ const Content = ({
16
20
  }, value);
17
21
  }
18
22
 
19
- if (icon === 'right') {
23
+ if (icon === ICON_VALUES.right) {
20
24
  return /*#__PURE__*/React.createElement("span", {
21
25
  className: style.value,
22
26
  "aria-label": `step ${value}`
@@ -25,7 +29,7 @@ const Content = ({
25
29
  }));
26
30
  }
27
31
 
28
- if (icon === 'wrong') {
32
+ if (icon === ICON_VALUES.wrong) {
29
33
  return /*#__PURE__*/React.createElement("span", {
30
34
  className: style.value,
31
35
  "aria-label": `step ${value}`
@@ -41,7 +45,7 @@ const ReviewHeaderStepItem = props => {
41
45
  current
42
46
  } = props;
43
47
  return /*#__PURE__*/React.createElement("div", {
44
- className: classnames(style.default, icon === 'right' && style.right, icon === 'wrong' && style.wrong, current && style.current),
48
+ className: classnames(style.default, icon === ICON_VALUES.right && style.right, icon === ICON_VALUES.wrong && style.wrong, current && style.current),
45
49
  "data-name": "header-step-item"
46
50
  }, /*#__PURE__*/React.createElement(Content, props));
47
51
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/review-header-step-item/index.js"],"names":["React","classnames","PropTypes","NovaCompositionCoorpacademyCheck","RightIcon","NovaSolidStatusClose","WrongIcon","style","Content","icon","current","value","rightIcon","currentRightIcon","wrongIcon","currentWrongIcon","ReviewHeaderStepItem","props","default","right","wrong","propTypes","string","bool"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SACEC,gCAAgC,IAAIC,SADtC,EAEEC,oBAAoB,IAAIC,SAF1B,QAGO,0BAHP;AAIA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,OAAO,GAAG,CAAC;AAACC,EAAAA,IAAD;AAAOC,EAAAA,OAAP;AAAgBC,EAAAA;AAAhB,CAAD,KAA4B;AAC1C,MAAI,CAACF,IAAL,EAAW;AACT,wBACE;AAAM,MAAA,SAAS,EAAEF,KAAK,CAACI,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,OACGA,KADH,CADF;AAKD;;AAED,MAAIF,IAAI,KAAK,OAAb,EAAsB;AACpB,wBACE;AAAM,MAAA,SAAS,EAAEF,KAAK,CAACI,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,oBACE,oBAAC,SAAD;AAAW,MAAA,SAAS,EAAEV,UAAU,CAACM,KAAK,CAACK,SAAP,EAAkBF,OAAO,IAAIH,KAAK,CAACM,gBAAnC;AAAhC,MADF,CADF;AAKD;;AAED,MAAIJ,IAAI,KAAK,OAAb,EAAsB;AACpB,wBACE;AAAM,MAAA,SAAS,EAAEF,KAAK,CAACI,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,oBACE,oBAAC,SAAD;AAAW,MAAA,SAAS,EAAEV,UAAU,CAACM,KAAK,CAACO,SAAP,EAAkBJ,OAAO,IAAIH,KAAK,CAACQ,gBAAnC;AAAhC,MADF,CADF;AAKD;AACF,CAxBD;;AA0BA,MAAMC,oBAAoB,GAAGC,KAAK,IAAI;AACpC,QAAM;AAACR,IAAAA,IAAD;AAAOC,IAAAA;AAAP,MAAkBO,KAAxB;AACA,sBACE;AACE,IAAA,SAAS,EAAEhB,UAAU,CACnBM,KAAK,CAACW,OADa,EAEnBT,IAAI,KAAK,OAAT,IAAoBF,KAAK,CAACY,KAFP,EAGnBV,IAAI,KAAK,OAAT,IAAoBF,KAAK,CAACa,KAHP,EAInBV,OAAO,IAAIH,KAAK,CAACG,OAJE,CADvB;AAOE,iBAAU;AAPZ,kBASE,oBAAC,OAAD,EAAaO,KAAb,CATF,CADF;AAaD,CAfD;;AAiBAD,oBAAoB,CAACK,SAArB,2CAAiC;AAC/BZ,EAAAA,IAAI,EAAEP,SAAS,CAACoB,MADe;AAE/BZ,EAAAA,OAAO,EAAER,SAAS,CAACqB,IAFY;AAG/BZ,EAAAA,KAAK,EAAET,SAAS,CAACoB;AAHc,CAAjC;AAMA,eAAeN,oBAAf","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport style from './style.css';\n\nconst Content = ({icon, current, value}) => {\n if (!icon) {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n {value}\n </span>\n );\n }\n\n if (icon === 'right') {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n <RightIcon className={classnames(style.rightIcon, current && style.currentRightIcon)} />\n </span>\n );\n }\n\n if (icon === 'wrong') {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n <WrongIcon className={classnames(style.wrongIcon, current && style.currentWrongIcon)} />\n </span>\n );\n }\n};\n\nconst ReviewHeaderStepItem = props => {\n const {icon, current} = props;\n return (\n <div\n className={classnames(\n style.default,\n icon === 'right' && style.right,\n icon === 'wrong' && style.wrong,\n current && style.current\n )}\n data-name=\"header-step-item\"\n >\n <Content {...props} />\n </div>\n );\n};\n\nReviewHeaderStepItem.propTypes = {\n icon: PropTypes.string,\n current: PropTypes.bool,\n value: PropTypes.string\n};\n\nexport default ReviewHeaderStepItem;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/review-header-step-item/index.js"],"names":["React","classnames","PropTypes","NovaCompositionCoorpacademyCheck","RightIcon","NovaSolidStatusClose","WrongIcon","style","ICON_VALUES","right","wrong","Content","icon","current","value","rightIcon","currentRightIcon","wrongIcon","currentWrongIcon","ReviewHeaderStepItem","props","default","propTypes","string","bool"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SACEC,gCAAgC,IAAIC,SADtC,EAEEC,oBAAoB,IAAIC,SAF1B,QAGO,0BAHP;AAIA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,OAAO,MAAMC,WAAW,GAAG;AACzBC,EAAAA,KAAK,EAAE,OADkB;AAEzBC,EAAAA,KAAK,EAAE;AAFkB,CAApB;;AAKP,MAAMC,OAAO,GAAG,CAAC;AAACC,EAAAA,IAAD;AAAOC,EAAAA,OAAP;AAAgBC,EAAAA;AAAhB,CAAD,KAA4B;AAC1C,MAAI,CAACF,IAAL,EAAW;AACT,wBACE;AAAM,MAAA,SAAS,EAAEL,KAAK,CAACO,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,OACGA,KADH,CADF;AAKD;;AAED,MAAIF,IAAI,KAAKJ,WAAW,CAACC,KAAzB,EAAgC;AAC9B,wBACE;AAAM,MAAA,SAAS,EAAEF,KAAK,CAACO,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,oBACE,oBAAC,SAAD;AAAW,MAAA,SAAS,EAAEb,UAAU,CAACM,KAAK,CAACQ,SAAP,EAAkBF,OAAO,IAAIN,KAAK,CAACS,gBAAnC;AAAhC,MADF,CADF;AAKD;;AAED,MAAIJ,IAAI,KAAKJ,WAAW,CAACE,KAAzB,EAAgC;AAC9B,wBACE;AAAM,MAAA,SAAS,EAAEH,KAAK,CAACO,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,oBACE,oBAAC,SAAD;AAAW,MAAA,SAAS,EAAEb,UAAU,CAACM,KAAK,CAACU,SAAP,EAAkBJ,OAAO,IAAIN,KAAK,CAACW,gBAAnC;AAAhC,MADF,CADF;AAKD;AACF,CAxBD;;AA0BA,MAAMC,oBAAoB,GAAGC,KAAK,IAAI;AACpC,QAAM;AAACR,IAAAA,IAAD;AAAOC,IAAAA;AAAP,MAAkBO,KAAxB;AACA,sBACE;AACE,IAAA,SAAS,EAAEnB,UAAU,CACnBM,KAAK,CAACc,OADa,EAEnBT,IAAI,KAAKJ,WAAW,CAACC,KAArB,IAA8BF,KAAK,CAACE,KAFjB,EAGnBG,IAAI,KAAKJ,WAAW,CAACE,KAArB,IAA8BH,KAAK,CAACG,KAHjB,EAInBG,OAAO,IAAIN,KAAK,CAACM,OAJE,CADvB;AAOE,iBAAU;AAPZ,kBASE,oBAAC,OAAD,EAAaO,KAAb,CATF,CADF;AAaD,CAfD;;AAiBAD,oBAAoB,CAACG,SAArB,2CAAiC;AAC/BV,EAAAA,IAAI,EAAEV,SAAS,CAACqB,MADe;AAE/BV,EAAAA,OAAO,EAAEX,SAAS,CAACsB,IAFY;AAG/BV,EAAAA,KAAK,EAAEZ,SAAS,CAACqB;AAHc,CAAjC;AAMA,eAAeJ,oBAAf","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport style from './style.css';\n\nexport const ICON_VALUES = {\n right: 'right',\n wrong: 'wrong'\n};\n\nconst Content = ({icon, current, value}) => {\n if (!icon) {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n {value}\n </span>\n );\n }\n\n if (icon === ICON_VALUES.right) {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n <RightIcon className={classnames(style.rightIcon, current && style.currentRightIcon)} />\n </span>\n );\n }\n\n if (icon === ICON_VALUES.wrong) {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n <WrongIcon className={classnames(style.wrongIcon, current && style.currentWrongIcon)} />\n </span>\n );\n }\n};\n\nconst ReviewHeaderStepItem = props => {\n const {icon, current} = props;\n return (\n <div\n className={classnames(\n style.default,\n icon === ICON_VALUES.right && style.right,\n icon === ICON_VALUES.wrong && style.wrong,\n current && style.current\n )}\n data-name=\"header-step-item\"\n >\n <Content {...props} />\n </div>\n );\n};\n\nReviewHeaderStepItem.propTypes = {\n icon: PropTypes.string,\n current: PropTypes.bool,\n value: PropTypes.string\n};\n\nexport default ReviewHeaderStepItem;\n"],"file":"index.js"}
@@ -17,16 +17,15 @@
17
17
  display: flex;
18
18
  justify-content: center;
19
19
  align-items: center;
20
- transition: all 0.25s ease;
20
+ transition: opacity 0.25s ease, font-size 0.25s ease, transform 0.25s ease, line-height 0.25s ease;
21
21
  user-select: none;
22
22
  }
23
23
 
24
24
  .current {
25
- width: 40px;
26
- height: 40px;
27
25
  opacity: 1;
28
26
  font-size: 16px;
29
- line-height: 22px;
27
+ transform: scale(1.25);
28
+ transition: transform 0.25s ease;
30
29
  }
31
30
 
32
31
  .right {
@@ -45,24 +44,22 @@
45
44
  color: white;
46
45
  width: 12px;
47
46
  height: 10px;
48
- transition: all 0.25s ease;
47
+ transition: transform 0.25s ease;
49
48
  }
50
49
 
51
50
  .currentRightIcon {
52
- width: 16px;
53
- height: 14px;
51
+ transform: scale(1.333, 1.166);
54
52
  }
55
53
 
56
54
  .wrongIcon {
57
55
  color: white;
58
56
  width: 10px;
59
57
  height: 10px;
60
- transition: all 0.25s ease;
58
+ transition: color 0.25s ease;
61
59
  }
62
60
 
63
61
  .currentWrongIcon {
64
- width: 15px;
65
- height: 15px;
62
+ transform: scale(1.5);
66
63
  }
67
64
 
68
65
 
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import get from 'lodash/fp/get';
3
+ import getOr from 'lodash/fp/getOr';
4
4
  import map from 'lodash/fp/map';
5
5
  import { NovaSolidStatusCheckCircle2 as CheckIcon, NovaSolidVoteRewardsVoteHeart as HeartIcon, NovaCompositionCoorpacademyInformationIcon as InformationIcon, NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon, NovaLineSelectionCursorsCursorArrowTarget as TargetIcon } from '@coorpacademy/nova-icons';
6
6
  import style from './style.css';
@@ -12,7 +12,15 @@ const ICONS = {
12
12
  };
13
13
 
14
14
  const getIcon = icon => {
15
- const Icon = get(icon, ICONS);
15
+ const Icon = getOr(null, icon, ICONS);
16
+ /* istanbul ignore next */
17
+
18
+ if (!Icon) {
19
+ return /*#__PURE__*/React.createElement("div", {
20
+ className: style.labelIcon
21
+ });
22
+ }
23
+
16
24
  return /*#__PURE__*/React.createElement(Icon, {
17
25
  className: style.labelIcon
18
26
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/review-presentation/index.js"],"names":["React","PropTypes","get","map","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidVoteRewardsVoteHeart","HeartIcon","NovaCompositionCoorpacademyInformationIcon","InformationIcon","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionIcon","NovaLineSelectionCursorsCursorArrowTarget","TargetIcon","style","ICONS","skills","questions","lifes","allright","getIcon","icon","Icon","labelIcon","ToolTip","tooltipText","tooltipContainer","tooltipIconContainer","informationIcon","toolTip","ReviewPresentation","props","ariaLabel","reviewTitle","reviewText","labelsList","reviewWrapper","__html","reviewListWrapper","convert","cap","label","key","reviewList","reviewListItemWrapper","reviewListText","text","levelItem","shape","string","propTypes"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport get from 'lodash/fp/get';\nimport map from 'lodash/fp/map';\nimport {\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaSolidVoteRewardsVoteHeart as HeartIcon,\n NovaCompositionCoorpacademyInformationIcon as InformationIcon,\n NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon,\n NovaLineSelectionCursorsCursorArrowTarget as TargetIcon\n} from '@coorpacademy/nova-icons';\nimport style from './style.css';\n\nconst ICONS = {\n skills: TargetIcon,\n questions: QuestionIcon,\n lifes: HeartIcon,\n allright: CheckIcon\n};\n\nconst getIcon = icon => {\n const Icon = get(icon, ICONS);\n return <Icon className={style.labelIcon} />;\n};\n\nconst ToolTip = ({tooltipText}) => {\n return (\n <div className={style.tooltipContainer}>\n <div className={style.tooltipIconContainer}>\n <InformationIcon className={style.informationIcon} width={12} height={12} />\n </div>\n <div className={style.toolTip}>\n <div className={style.tooltipText}>{tooltipText}</div>\n </div>\n </div>\n );\n};\n\nconst ReviewPresentation = props => {\n const {'aria-label': ariaLabel, reviewTitle, reviewText, labelsList} = props;\n\n return (\n <div className={style.reviewWrapper} aria-label={ariaLabel}>\n <div\n className={style.reviewTitle}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: reviewTitle}}\n />\n <div\n className={style.reviewText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: reviewText}}\n />\n <ul className={style.reviewListWrapper}>\n {map.convert({cap: false})((label, key) => {\n return (\n <li key={`step-${key}`} className={style.reviewList}>\n <div className={style.reviewListItemWrapper} data-tip data-for=\"reviewListItem\">\n <div className={style.reviewListText}>\n {getIcon(key)} {label.text}\n </div>\n <ToolTip tooltipText={label.tooltipText} />\n </div>\n </li>\n );\n }, labelsList)}\n </ul>\n </div>\n );\n};\n\nconst levelItem = PropTypes.shape({\n text: PropTypes.string,\n tooltipText: PropTypes.string\n});\n\nToolTip.propTypes = {\n tooltipText: PropTypes.string\n};\n\nReviewPresentation.propTypes = {\n 'aria-label': PropTypes.string,\n reviewTitle: PropTypes.string,\n reviewText: PropTypes.string,\n labelsList: PropTypes.shape({\n skills: levelItem,\n questions: levelItem,\n lifes: levelItem,\n allright: levelItem\n })\n};\n\nexport default ReviewPresentation;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/review-presentation/index.js"],"names":["React","PropTypes","getOr","map","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidVoteRewardsVoteHeart","HeartIcon","NovaCompositionCoorpacademyInformationIcon","InformationIcon","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionIcon","NovaLineSelectionCursorsCursorArrowTarget","TargetIcon","style","ICONS","skills","questions","lifes","allright","getIcon","icon","Icon","labelIcon","ToolTip","tooltipText","tooltipContainer","tooltipIconContainer","informationIcon","toolTip","ReviewPresentation","props","ariaLabel","reviewTitle","reviewText","labelsList","reviewWrapper","__html","reviewListWrapper","convert","cap","label","key","reviewList","reviewListItemWrapper","reviewListText","text","levelItem","shape","string","propTypes"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport map from 'lodash/fp/map';\nimport {\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaSolidVoteRewardsVoteHeart as HeartIcon,\n NovaCompositionCoorpacademyInformationIcon as InformationIcon,\n NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon,\n NovaLineSelectionCursorsCursorArrowTarget as TargetIcon\n} from '@coorpacademy/nova-icons';\nimport style from './style.css';\n\nconst ICONS = {\n skills: TargetIcon,\n questions: QuestionIcon,\n lifes: HeartIcon,\n allright: CheckIcon\n};\n\nconst getIcon = icon => {\n const Icon = getOr(null, icon, ICONS);\n\n /* istanbul ignore next */\n if (!Icon) {\n return <div className={style.labelIcon} />;\n }\n return <Icon className={style.labelIcon} />;\n};\n\nconst ToolTip = ({tooltipText}) => {\n return (\n <div className={style.tooltipContainer}>\n <div className={style.tooltipIconContainer}>\n <InformationIcon className={style.informationIcon} width={12} height={12} />\n </div>\n <div className={style.toolTip}>\n <div className={style.tooltipText}>{tooltipText}</div>\n </div>\n </div>\n );\n};\n\nconst ReviewPresentation = props => {\n const {'aria-label': ariaLabel, reviewTitle, reviewText, labelsList} = props;\n\n return (\n <div className={style.reviewWrapper} aria-label={ariaLabel}>\n <div\n className={style.reviewTitle}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: reviewTitle}}\n />\n <div\n className={style.reviewText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: reviewText}}\n />\n <ul className={style.reviewListWrapper}>\n {map.convert({cap: false})((label, key) => {\n return (\n <li key={`step-${key}`} className={style.reviewList}>\n <div className={style.reviewListItemWrapper} data-tip data-for=\"reviewListItem\">\n <div className={style.reviewListText}>\n {getIcon(key)} {label.text}\n </div>\n <ToolTip tooltipText={label.tooltipText} />\n </div>\n </li>\n );\n }, labelsList)}\n </ul>\n </div>\n );\n};\n\nconst levelItem = PropTypes.shape({\n text: PropTypes.string,\n tooltipText: PropTypes.string\n});\n\nToolTip.propTypes = {\n tooltipText: PropTypes.string\n};\n\nReviewPresentation.propTypes = {\n 'aria-label': PropTypes.string,\n reviewTitle: PropTypes.string,\n reviewText: PropTypes.string,\n labelsList: PropTypes.shape({\n skills: levelItem,\n questions: levelItem,\n lifes: levelItem,\n allright: levelItem\n })\n};\n\nexport default ReviewPresentation;\n"],"file":"index.js"}
@@ -191,12 +191,10 @@ class CardsList extends React.PureComponent {
191
191
  }
192
192
 
193
193
  setCardsWrapper(element) {
194
- var _this$cardsWrapper, _this$cardsWrapper2;
195
-
196
194
  this.cardsWrapper = element;
197
195
  this.setState({
198
- scrollLeft: (_this$cardsWrapper = this.cardsWrapper) == null ? void 0 : _this$cardsWrapper.scrollLeft,
199
- offsetWidth: (_this$cardsWrapper2 = this.cardsWrapper) == null ? void 0 : _this$cardsWrapper2.offsetWidth
196
+ scrollLeft: this.cardsWrapper?.scrollLeft,
197
+ offsetWidth: this.cardsWrapper?.offsetWidth
200
198
  });
201
199
  }
202
200
 
@@ -209,9 +207,7 @@ class CardsList extends React.PureComponent {
209
207
  }
210
208
 
211
209
  handleScroll() {
212
- var _this$cardsWrapper3;
213
-
214
- const scrollLeft = (_this$cardsWrapper3 = this.cardsWrapper) == null ? void 0 : _this$cardsWrapper3.scrollLeft;
210
+ const scrollLeft = this.cardsWrapper?.scrollLeft;
215
211
  this.setState({
216
212
  scrollLeft
217
213
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"names":["React","PropTypes","NovaCompositionNavigationArrowLeft","ArrowLeft","NovaCompositionNavigationArrowRight","ArrowRight","NovaSolidContentContentBook1","LearnerIcon","NovaCompositionCoorpacademyTimer","TimerIcon","Provider","Card","style","ShowMoreLink","props","onShowMore","showMore","className","contextTypes","skin","childContextTypes","propTypes","func","string","IconView","context","contentType","ICONS","chapter","course","dark","IconType","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","PureComponent","constructor","state","actualPage","scrollLeft","offsetWidth","possiblePositions","possiblePages","cardsWidth","handleScroll_","handleScroll","bind","handleOnLeft","handleOnRight","scrollTo","updateState","updatePages","setCardsWrapper","getScrollWidth","handleResize","componentDidMount","cardsWrapper","addEventListener","window","componentDidUpdate","cards","newCardsWidth","updatePaginationState","setState","componentWillUnmount","removeEventListener","cancel","wrapperWidth","wrapperScrollLeft","cardWidths","cardPositions","accWidth","cardWidth","acc","pageIndex","accPageWidth","pageWidth","skip","position","element","index","onScroll","leftBound","rightBound","leftIndex","rightIndex","limit","indexOfNextFirstCard","indexOf","nextPosition","render","title","dataName","titleStyle","titleLink","cardsView","key","leftArrowView","circle","left","rightArrowView","right","titleView","hasPages","showMoreView","showMoreBar","switchPagesView","pagingWrapper","wrapper","list","header","translate","arrayOf","shape","protoTypes"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n debounce,\n throttle,\n get,\n getOr,\n map,\n sum,\n last,\n pipe,\n toPairs,\n reduce,\n head,\n findIndex,\n findLastIndex\n} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../atom/provider';\nimport Card from '../../card';\nimport style from './style.css';\n\nconst ShowMoreLink = props => {\n const {onShowMore, showMore, className} = props;\n return (\n <div className={className} onClick={onShowMore}>\n {showMore}\n </div>\n );\n};\n\nShowMoreLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nShowMoreLink.propTypes = {\n onShowMore: PropTypes.func,\n showMore: PropTypes.string,\n className: PropTypes.string\n};\n\nconst IconView = (props, context) => {\n const {skin} = context;\n const {contentType} = props;\n const ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon\n };\n\n if (!contentType) {\n return null;\n }\n\n const dark = get('common.dark', skin);\n const IconType = ICONS[contentType];\n\n return (\n <div>\n <IconType color={dark} className={style.icon} data-contenttype={contentType} />\n </div>\n );\n};\n\nconst computeWidth = card => {\n switch (card && card.type) {\n case 'chapter':\n return 219;\n default:\n return 272;\n }\n};\n\nconst nextPage = (page, maxPages) => {\n if (page < 0) return maxPages;\n if (page > maxPages) return 0;\n return page;\n};\n\nIconView.propTypes = {\n contentType: PropTypes.string\n};\n\nclass CardsList extends React.PureComponent {\n static propTypes = {\n contentType: PropTypes.string,\n dataName: PropTypes.string,\n title: PropTypes.string,\n showMore: PropTypes.string,\n cards: PropTypes.arrayOf(PropTypes.shape(Card.protoTypes)),\n onScroll: PropTypes.func,\n onShowMore: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n actualPage: 0,\n maxPages: 0,\n scrollLeft: 0,\n offsetWidth: 0,\n possiblePositions: [],\n possiblePages: [],\n cardsWidth: 0\n };\n\n this.handleScroll_ = throttle(200, this.handleScroll.bind(this));\n this.handleScroll = this.handleScroll.bind(this);\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.updateState = debounce(200, this.updatePages.bind(this));\n this.updatePages = this.updatePages.bind(this);\n this.setCardsWrapper = this.setCardsWrapper.bind(this);\n this.getScrollWidth = this.getScrollWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n }\n\n componentDidMount() {\n this.cardsWrapper.addEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n\n componentDidUpdate() {\n const {cards = []} = this.props;\n const {offsetWidth, cardsWidth} = this.state;\n const newCardsWidth = pipe(map(computeWidth), sum)(cards);\n\n if (newCardsWidth !== cardsWidth && offsetWidth !== 0) {\n this.updatePaginationState(cards);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n cardsWidth: newCardsWidth\n });\n }\n }\n\n componentWillUnmount() {\n this.cardsWrapper.removeEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.removeEventListener('resize', this.handleResize);\n }\n this.updateState.cancel();\n }\n\n handleResize() {\n const {cards = []} = this.props;\n this.updatePaginationState(cards);\n }\n\n updatePaginationState(cards) {\n const {offsetWidth: wrapperWidth, scrollLeft: wrapperScrollLeft} = this.state;\n\n const cardWidths = map(computeWidth)(cards);\n\n const possiblePositions = pipe(\n reduce(\n ([cardPositions, accWidth], cardWidth) => [\n [...cardPositions, accWidth],\n cardWidth + accWidth\n ],\n [[], 0]\n ),\n head\n )(cardWidths);\n\n const possiblePages = pipe(\n reduce(\n ([acc, pageIndex, accPageWidth], cardWidth) => {\n const pageWidth = accPageWidth + cardWidth;\n if (pageWidth > wrapperWidth) {\n return [[...acc, pageIndex + 1], pageIndex + 1, cardWidth];\n }\n return [[...acc, pageIndex], pageIndex, pageWidth];\n },\n [[], 0, 0]\n ),\n head\n )(cardWidths);\n\n const skip = findIndex(position => position >= wrapperScrollLeft, possiblePositions);\n const actualPage = possiblePages[skip + 1];\n\n this.setState({\n possiblePositions,\n possiblePages,\n maxPages: last(possiblePages),\n actualPage\n });\n }\n\n setCardsWrapper(element) {\n this.cardsWrapper = element;\n this.setState({\n scrollLeft: this.cardsWrapper?.scrollLeft,\n offsetWidth: this.cardsWrapper?.offsetWidth\n });\n }\n\n getScrollWidth(index) {\n const {cards = []} = this.props;\n const card = cards[index];\n return computeWidth(card);\n }\n\n handleScroll() {\n const scrollLeft = this.cardsWrapper?.scrollLeft;\n this.setState({scrollLeft});\n\n const {possiblePositions, offsetWidth} = this.state;\n const {onScroll} = this.props;\n if (onScroll) {\n const leftBound = scrollLeft;\n const rightBound = scrollLeft + offsetWidth;\n\n const leftIndex = findIndex(position => position > leftBound, possiblePositions) - 1;\n const rightIndex = findLastIndex(position => position < rightBound, possiblePositions);\n const skip = leftIndex;\n const limit = rightIndex - skip + 1;\n\n onScroll(skip, limit);\n }\n }\n\n handleOnLeft() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage - 1, maxPages));\n }\n\n handleOnRight() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage + 1, maxPages));\n }\n\n scrollTo(page) {\n const {possiblePages, possiblePositions} = this.state;\n const indexOfNextFirstCard = possiblePages.indexOf(page);\n const nextPosition = possiblePositions[indexOfNextFirstCard];\n this.cardsWrapper.scrollLeft = nextPosition;\n this.updatePages(page);\n this.setState({\n scrollLeft: nextPosition\n });\n }\n\n updatePages(actualPage) {\n this.setState({\n actualPage\n });\n }\n\n render() {\n const {title, showMore, cards, onShowMore, dataName, contentType} = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n <Card {...card} dataName={`${dataName}-${key}`} />\n </div>\n );\n })\n )(cards);\n const leftArrowView = (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <ArrowLeft color={dark} className={style.left} width={10} height={10} />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"names":["React","PropTypes","NovaCompositionNavigationArrowLeft","ArrowLeft","NovaCompositionNavigationArrowRight","ArrowRight","NovaSolidContentContentBook1","LearnerIcon","NovaCompositionCoorpacademyTimer","TimerIcon","Provider","Card","style","ShowMoreLink","props","onShowMore","showMore","className","contextTypes","skin","childContextTypes","propTypes","func","string","IconView","context","contentType","ICONS","chapter","course","dark","IconType","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","PureComponent","constructor","state","actualPage","scrollLeft","offsetWidth","possiblePositions","possiblePages","cardsWidth","handleScroll_","handleScroll","bind","handleOnLeft","handleOnRight","scrollTo","updateState","updatePages","setCardsWrapper","getScrollWidth","handleResize","componentDidMount","cardsWrapper","addEventListener","window","componentDidUpdate","cards","newCardsWidth","updatePaginationState","setState","componentWillUnmount","removeEventListener","cancel","wrapperWidth","wrapperScrollLeft","cardWidths","cardPositions","accWidth","cardWidth","acc","pageIndex","accPageWidth","pageWidth","skip","position","element","index","onScroll","leftBound","rightBound","leftIndex","rightIndex","limit","indexOfNextFirstCard","indexOf","nextPosition","render","title","dataName","titleStyle","titleLink","cardsView","key","leftArrowView","circle","left","rightArrowView","right","titleView","hasPages","showMoreView","showMoreBar","switchPagesView","pagingWrapper","wrapper","list","header","translate","arrayOf","shape","protoTypes"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n debounce,\n throttle,\n get,\n getOr,\n map,\n sum,\n last,\n pipe,\n toPairs,\n reduce,\n head,\n findIndex,\n findLastIndex\n} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../atom/provider';\nimport Card from '../../card';\nimport style from './style.css';\n\nconst ShowMoreLink = props => {\n const {onShowMore, showMore, className} = props;\n return (\n <div className={className} onClick={onShowMore}>\n {showMore}\n </div>\n );\n};\n\nShowMoreLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nShowMoreLink.propTypes = {\n onShowMore: PropTypes.func,\n showMore: PropTypes.string,\n className: PropTypes.string\n};\n\nconst IconView = (props, context) => {\n const {skin} = context;\n const {contentType} = props;\n const ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon\n };\n\n if (!contentType) {\n return null;\n }\n\n const dark = get('common.dark', skin);\n const IconType = ICONS[contentType];\n\n return (\n <div>\n <IconType color={dark} className={style.icon} data-contenttype={contentType} />\n </div>\n );\n};\n\nconst computeWidth = card => {\n switch (card && card.type) {\n case 'chapter':\n return 219;\n default:\n return 272;\n }\n};\n\nconst nextPage = (page, maxPages) => {\n if (page < 0) return maxPages;\n if (page > maxPages) return 0;\n return page;\n};\n\nIconView.propTypes = {\n contentType: PropTypes.string\n};\n\nclass CardsList extends React.PureComponent {\n static propTypes = {\n contentType: PropTypes.string,\n dataName: PropTypes.string,\n title: PropTypes.string,\n showMore: PropTypes.string,\n cards: PropTypes.arrayOf(PropTypes.shape(Card.protoTypes)),\n onScroll: PropTypes.func,\n onShowMore: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n actualPage: 0,\n maxPages: 0,\n scrollLeft: 0,\n offsetWidth: 0,\n possiblePositions: [],\n possiblePages: [],\n cardsWidth: 0\n };\n\n this.handleScroll_ = throttle(200, this.handleScroll.bind(this));\n this.handleScroll = this.handleScroll.bind(this);\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.updateState = debounce(200, this.updatePages.bind(this));\n this.updatePages = this.updatePages.bind(this);\n this.setCardsWrapper = this.setCardsWrapper.bind(this);\n this.getScrollWidth = this.getScrollWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n }\n\n componentDidMount() {\n this.cardsWrapper.addEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n\n componentDidUpdate() {\n const {cards = []} = this.props;\n const {offsetWidth, cardsWidth} = this.state;\n const newCardsWidth = pipe(map(computeWidth), sum)(cards);\n\n if (newCardsWidth !== cardsWidth && offsetWidth !== 0) {\n this.updatePaginationState(cards);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n cardsWidth: newCardsWidth\n });\n }\n }\n\n componentWillUnmount() {\n this.cardsWrapper.removeEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.removeEventListener('resize', this.handleResize);\n }\n this.updateState.cancel();\n }\n\n handleResize() {\n const {cards = []} = this.props;\n this.updatePaginationState(cards);\n }\n\n updatePaginationState(cards) {\n const {offsetWidth: wrapperWidth, scrollLeft: wrapperScrollLeft} = this.state;\n\n const cardWidths = map(computeWidth)(cards);\n\n const possiblePositions = pipe(\n reduce(\n ([cardPositions, accWidth], cardWidth) => [\n [...cardPositions, accWidth],\n cardWidth + accWidth\n ],\n [[], 0]\n ),\n head\n )(cardWidths);\n\n const possiblePages = pipe(\n reduce(\n ([acc, pageIndex, accPageWidth], cardWidth) => {\n const pageWidth = accPageWidth + cardWidth;\n if (pageWidth > wrapperWidth) {\n return [[...acc, pageIndex + 1], pageIndex + 1, cardWidth];\n }\n return [[...acc, pageIndex], pageIndex, pageWidth];\n },\n [[], 0, 0]\n ),\n head\n )(cardWidths);\n\n const skip = findIndex(position => position >= wrapperScrollLeft, possiblePositions);\n const actualPage = possiblePages[skip + 1];\n\n this.setState({\n possiblePositions,\n possiblePages,\n maxPages: last(possiblePages),\n actualPage\n });\n }\n\n setCardsWrapper(element) {\n this.cardsWrapper = element;\n this.setState({\n scrollLeft: this.cardsWrapper?.scrollLeft,\n offsetWidth: this.cardsWrapper?.offsetWidth\n });\n }\n\n getScrollWidth(index) {\n const {cards = []} = this.props;\n const card = cards[index];\n return computeWidth(card);\n }\n\n handleScroll() {\n const scrollLeft = this.cardsWrapper?.scrollLeft;\n this.setState({scrollLeft});\n\n const {possiblePositions, offsetWidth} = this.state;\n const {onScroll} = this.props;\n if (onScroll) {\n const leftBound = scrollLeft;\n const rightBound = scrollLeft + offsetWidth;\n\n const leftIndex = findIndex(position => position > leftBound, possiblePositions) - 1;\n const rightIndex = findLastIndex(position => position < rightBound, possiblePositions);\n const skip = leftIndex;\n const limit = rightIndex - skip + 1;\n\n onScroll(skip, limit);\n }\n }\n\n handleOnLeft() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage - 1, maxPages));\n }\n\n handleOnRight() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage + 1, maxPages));\n }\n\n scrollTo(page) {\n const {possiblePages, possiblePositions} = this.state;\n const indexOfNextFirstCard = possiblePages.indexOf(page);\n const nextPosition = possiblePositions[indexOfNextFirstCard];\n this.cardsWrapper.scrollLeft = nextPosition;\n this.updatePages(page);\n this.setState({\n scrollLeft: nextPosition\n });\n }\n\n updatePages(actualPage) {\n this.setState({\n actualPage\n });\n }\n\n render() {\n const {title, showMore, cards, onShowMore, dataName, contentType} = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n <Card {...card} dataName={`${dataName}-${key}`} />\n </div>\n );\n })\n )(cards);\n const leftArrowView = (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <ArrowLeft color={dark} className={style.left} width={10} height={10} />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"file":"index.js"}
@@ -94,11 +94,14 @@ ReviewCorrectionPopin.propTypes = process.env.NODE_ENV !== "production" ? {
94
94
  }),
95
95
  next: PropTypes.shape({
96
96
  label: PropTypes.string,
97
- onClick: PropTypes.func
97
+ onClick: PropTypes.func,
98
+ 'data-name': PropTypes.string,
99
+ 'aria-label': PropTypes.string
98
100
  }),
99
101
  klf: PropTypes.shape({
100
102
  label: PropTypes.string,
101
- onClick: PropTypes.func
103
+ onClick: PropTypes.func,
104
+ tooltip: PropTypes.string
102
105
  })
103
106
  } : {};
104
107
  export default ReviewCorrectionPopin;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/review-correction-popin/index.js"],"names":["React","classnames","PropTypes","NovaCompositionCoorpacademyCheck","RightIcon","NovaSolidStatusClose","WrongIcon","ButtonLink","style","buildKlfButton","klf","klfButtonProps","icon","position","type","klfContainer","klfButtonContainer","klfButton","toolTip","tooltipText","tooltip","ReviewCorrectionPopin","props","information","resultLabel","next","nextQuestionButtonProps","cta","ICONS","right","wrong","Icon","wrapper","popin","correctionSection","iconCircle","iconRight","iconWrong","feedbackSection","labelContainer","label","message","actions","actionsWrong","nextQuestionContainer","nextQuestionButton","propTypes","oneOf","string","shape","onClick","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\n\nconst buildKlfButton = klf => {\n const klfButtonProps = {\n ...klf,\n icon: {\n position: 'left',\n type: 'key'\n },\n type: 'primary'\n };\n\n return (\n <div className={style.klfContainer}>\n <div className={style.klfButtonContainer}>\n <ButtonLink {...klfButtonProps} className={style.klfButton} />\n </div>\n <div className={style.toolTip}>\n <div className={style.tooltipText}>{klf.tooltip}</div>\n </div>\n </div>\n );\n};\n\nconst ReviewCorrectionPopin = props => {\n const {information, resultLabel, type, klf, next} = props;\n\n const nextQuestionButtonProps = {\n ...next,\n type: 'primary'\n };\n\n const cta = type === 'wrong' ? buildKlfButton(klf) : null;\n\n const ICONS = {\n right: RightIcon,\n wrong: WrongIcon\n };\n const Icon = ICONS[type];\n\n return (\n <div className={style.wrapper}>\n <div className={classnames(style.popin, type === 'right' ? style.right : style.wrong)}>\n <div className={style.correctionSection}>\n <div className={style.iconCircle}>\n <Icon className={type === 'right' ? style.iconRight : style.iconWrong} />\n </div>\n <div className={style.resultLabel} aria-label=\"result\">\n <span aria-label={resultLabel}>{resultLabel}</span>\n </div>\n </div>\n <div className={style.feedbackSection}>\n <div className={style.information} aria-label=\"answer-information\">\n <div className={style.labelContainer}>\n <span className={style.label} aria-label={information.label}>\n {information.label}\n </span>\n </div>\n <span className={style.message} aria-label={information.message}>\n {information.message}\n </span>\n </div>\n </div>\n <div className={type === 'right' ? style.actions : style.actionsWrong}>\n {cta}\n <div className={style.nextQuestionContainer}>\n <ButtonLink {...nextQuestionButtonProps} className={style.nextQuestionButton} />\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nReviewCorrectionPopin.propTypes = {\n type: PropTypes.oneOf(['right', 'wrong']),\n resultLabel: PropTypes.string,\n information: PropTypes.shape({\n label: PropTypes.string,\n message: PropTypes.string\n }),\n next: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func\n }),\n klf: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func\n })\n};\n\nexport default ReviewCorrectionPopin;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/review-correction-popin/index.js"],"names":["React","classnames","PropTypes","NovaCompositionCoorpacademyCheck","RightIcon","NovaSolidStatusClose","WrongIcon","ButtonLink","style","buildKlfButton","klf","klfButtonProps","icon","position","type","klfContainer","klfButtonContainer","klfButton","toolTip","tooltipText","tooltip","ReviewCorrectionPopin","props","information","resultLabel","next","nextQuestionButtonProps","cta","ICONS","right","wrong","Icon","wrapper","popin","correctionSection","iconCircle","iconRight","iconWrong","feedbackSection","labelContainer","label","message","actions","actionsWrong","nextQuestionContainer","nextQuestionButton","propTypes","oneOf","string","shape","onClick","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\n\nconst buildKlfButton = klf => {\n const klfButtonProps = {\n ...klf,\n icon: {\n position: 'left',\n type: 'key'\n },\n type: 'primary'\n };\n\n return (\n <div className={style.klfContainer}>\n <div className={style.klfButtonContainer}>\n <ButtonLink {...klfButtonProps} className={style.klfButton} />\n </div>\n <div className={style.toolTip}>\n <div className={style.tooltipText}>{klf.tooltip}</div>\n </div>\n </div>\n );\n};\n\nconst ReviewCorrectionPopin = props => {\n const {information, resultLabel, type, klf, next} = props;\n\n const nextQuestionButtonProps = {\n ...next,\n type: 'primary'\n };\n\n const cta = type === 'wrong' ? buildKlfButton(klf) : null;\n\n const ICONS = {\n right: RightIcon,\n wrong: WrongIcon\n };\n const Icon = ICONS[type];\n\n return (\n <div className={style.wrapper}>\n <div className={classnames(style.popin, type === 'right' ? style.right : style.wrong)}>\n <div className={style.correctionSection}>\n <div className={style.iconCircle}>\n <Icon className={type === 'right' ? style.iconRight : style.iconWrong} />\n </div>\n <div className={style.resultLabel} aria-label=\"result\">\n <span aria-label={resultLabel}>{resultLabel}</span>\n </div>\n </div>\n <div className={style.feedbackSection}>\n <div className={style.information} aria-label=\"answer-information\">\n <div className={style.labelContainer}>\n <span className={style.label} aria-label={information.label}>\n {information.label}\n </span>\n </div>\n <span className={style.message} aria-label={information.message}>\n {information.message}\n </span>\n </div>\n </div>\n <div className={type === 'right' ? style.actions : style.actionsWrong}>\n {cta}\n <div className={style.nextQuestionContainer}>\n <ButtonLink {...nextQuestionButtonProps} className={style.nextQuestionButton} />\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nReviewCorrectionPopin.propTypes = {\n type: PropTypes.oneOf(['right', 'wrong']),\n resultLabel: PropTypes.string,\n information: PropTypes.shape({\n label: PropTypes.string,\n message: PropTypes.string\n }),\n next: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n 'data-name': PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n klf: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n tooltip: PropTypes.string\n })\n};\n\nexport default ReviewCorrectionPopin;\n"],"file":"index.js"}
@@ -7,6 +7,7 @@ export default {
7
7
  message: 'Corporate lawyers trying to understand software.'
8
8
  },
9
9
  klf: {
10
+ onClick: () => console.log('klf tooltip'),
10
11
  label: 'Key learning factor',
11
12
  tooltip: '17 frustrated software engineers grappling with the complexities of software development.'
12
13
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/molecule/review-correction-popin/test/fixtures/wrong.js"],"names":["props","type","resultLabel","information","label","message","klf","tooltip","next","onClick","console","log"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,OADD;AAELC,IAAAA,WAAW,EAAE,cAFR;AAGLC,IAAAA,WAAW,EAAE;AACXC,MAAAA,KAAK,EAAE,gBADI;AAEXC,MAAAA,OAAO,EAAE;AAFE,KAHR;AAOLC,IAAAA,GAAG,EAAE;AACHF,MAAAA,KAAK,EAAE,qBADJ;AAEHG,MAAAA,OAAO,EACL;AAHC,KAPA;AAYLC,IAAAA,IAAI,EAAE;AACJJ,MAAAA,KAAK,EAAE,eADH;AAEJK,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,eAAZ;AAFX;AAZD;AADM,CAAf","sourcesContent":["export default {\n props: {\n type: 'wrong',\n resultLabel: 'WRONG ANSWER',\n information: {\n label: 'Correct Answer',\n message: 'Corporate lawyers trying to understand software.'\n },\n klf: {\n label: 'Key learning factor',\n tooltip:\n '17 frustrated software engineers grappling with the complexities of software development.'\n },\n next: {\n label: 'Next Question',\n onClick: () => console.log('Next Question')\n }\n }\n};\n"],"file":"wrong.js"}
1
+ {"version":3,"sources":["../../../../../src/molecule/review-correction-popin/test/fixtures/wrong.js"],"names":["props","type","resultLabel","information","label","message","klf","onClick","console","log","tooltip","next"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,OADD;AAELC,IAAAA,WAAW,EAAE,cAFR;AAGLC,IAAAA,WAAW,EAAE;AACXC,MAAAA,KAAK,EAAE,gBADI;AAEXC,MAAAA,OAAO,EAAE;AAFE,KAHR;AAOLC,IAAAA,GAAG,EAAE;AACHC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,aAAZ,CADZ;AAEHL,MAAAA,KAAK,EAAE,qBAFJ;AAGHM,MAAAA,OAAO,EACL;AAJC,KAPA;AAaLC,IAAAA,IAAI,EAAE;AACJP,MAAAA,KAAK,EAAE,eADH;AAEJG,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,eAAZ;AAFX;AAbD;AADM,CAAf","sourcesContent":["export default {\n props: {\n type: 'wrong',\n resultLabel: 'WRONG ANSWER',\n information: {\n label: 'Correct Answer',\n message: 'Corporate lawyers trying to understand software.'\n },\n klf: {\n onClick: () => console.log('klf tooltip'),\n label: 'Key learning factor',\n tooltip:\n '17 frustrated software engineers grappling with the complexities of software development.'\n },\n next: {\n label: 'Next Question',\n onClick: () => console.log('Next Question')\n }\n }\n};\n"],"file":"wrong.js"}
@@ -6,7 +6,7 @@ import map from 'lodash/fp/map';
6
6
  import ReviewHeaderStepItem from '../../atom/review-header-step-item';
7
7
  import style from './style.css';
8
8
 
9
- const ReviewHeaderStep = props => {
9
+ const ReviewHeaderSteps = props => {
10
10
  const {
11
11
  steps
12
12
  } = props;
@@ -19,8 +19,8 @@ const ReviewHeaderStep = props => {
19
19
  }, items);
20
20
  };
21
21
 
22
- ReviewHeaderStep.propTypes = process.env.NODE_ENV !== "production" ? {
22
+ ReviewHeaderSteps.propTypes = process.env.NODE_ENV !== "production" ? {
23
23
  steps: PropTypes.arrayOf(PropTypes.shape(ReviewHeaderStepItem.props))
24
24
  } : {};
25
- export default ReviewHeaderStep;
25
+ export default ReviewHeaderSteps;
26
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/review-header-steps/index.js"],"names":["React","PropTypes","map","ReviewHeaderStepItem","style","ReviewHeaderStep","props","steps","items","step","value","wrapper","propTypes","arrayOf","shape"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,oBAAP,MAAiC,oCAAjC;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,gBAAgB,GAAGC,KAAK,IAAI;AAChC,QAAM;AAACC,IAAAA;AAAD,MAAUD,KAAhB;AAEA,QAAME,KAAK,GAAGN,GAAG,CAACO,IAAI,iBAAI,oBAAC,oBAAD,eAA0BA,IAA1B;AAAgC,IAAA,GAAG,EAAEA,IAAI,CAACC;AAA1C,KAAT,EAA8DH,KAA9D,CAAjB;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEH,KAAK,CAACO,OAAtB;AAA+B,iBAAU;AAAzC,KACGH,KADH,CADF;AAKD,CAVD;;AAYAH,gBAAgB,CAACO,SAAjB,2CAA6B;AAC3BL,EAAAA,KAAK,EAAEN,SAAS,CAACY,OAAV,CAAkBZ,SAAS,CAACa,KAAV,CAAgBX,oBAAoB,CAACG,KAArC,CAAlB;AADoB,CAA7B;AAIA,eAAeD,gBAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport ReviewHeaderStepItem from '../../atom/review-header-step-item';\nimport style from './style.css';\n\nconst ReviewHeaderStep = props => {\n const {steps} = props;\n\n const items = map(step => <ReviewHeaderStepItem {...step} key={step.value} />, steps);\n\n return (\n <div className={style.wrapper} data-name=\"header-steps\">\n {items}\n </div>\n );\n};\n\nReviewHeaderStep.propTypes = {\n steps: PropTypes.arrayOf(PropTypes.shape(ReviewHeaderStepItem.props))\n};\n\nexport default ReviewHeaderStep;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/review-header-steps/index.js"],"names":["React","PropTypes","map","ReviewHeaderStepItem","style","ReviewHeaderSteps","props","steps","items","step","value","wrapper","propTypes","arrayOf","shape"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,oBAAP,MAAiC,oCAAjC;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,iBAAiB,GAAGC,KAAK,IAAI;AACjC,QAAM;AAACC,IAAAA;AAAD,MAAUD,KAAhB;AAEA,QAAME,KAAK,GAAGN,GAAG,CAACO,IAAI,iBAAI,oBAAC,oBAAD,eAA0BA,IAA1B;AAAgC,IAAA,GAAG,EAAEA,IAAI,CAACC;AAA1C,KAAT,EAA8DH,KAA9D,CAAjB;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEH,KAAK,CAACO,OAAtB;AAA+B,iBAAU;AAAzC,KACGH,KADH,CADF;AAKD,CAVD;;AAYAH,iBAAiB,CAACO,SAAlB,2CAA8B;AAC5BL,EAAAA,KAAK,EAAEN,SAAS,CAACY,OAAV,CAAkBZ,SAAS,CAACa,KAAV,CAAgBX,oBAAoB,CAACG,KAArC,CAAlB;AADqB,CAA9B;AAIA,eAAeD,iBAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport ReviewHeaderStepItem from '../../atom/review-header-step-item';\nimport style from './style.css';\n\nconst ReviewHeaderSteps = props => {\n const {steps} = props;\n\n const items = map(step => <ReviewHeaderStepItem {...step} key={step.value} />, steps);\n\n return (\n <div className={style.wrapper} data-name=\"header-steps\">\n {items}\n </div>\n );\n};\n\nReviewHeaderSteps.propTypes = {\n steps: PropTypes.arrayOf(PropTypes.shape(ReviewHeaderStepItem.props))\n};\n\nexport default ReviewHeaderSteps;\n"],"file":"index.js"}
@@ -7,7 +7,7 @@ import ButtonLink from '../../atom/button-link';
7
7
  import MoleculeReviewCardCongrats from '../../molecule/review-card-congrats';
8
8
  import style from './style.css';
9
9
  export const setScroll = container => () => {
10
- container.current.scrollTo({
10
+ container.current?.scrollTo && container.current.scrollTo({
11
11
  left: 1000,
12
12
  behavior: 'smooth'
13
13
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/review-congrats/index.js"],"names":["React","useEffect","useRef","PropTypes","AtomLottieWrapper","ButtonLink","MoleculeReviewCardCongrats","style","setScroll","container","current","scrollTo","left","behavior","ReviewCongrats","props","ariaLabel","dataName","animationLottie","title","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","timer","setTimeout","clearTimeout","mainContainer","lottie","ie11Backup","containerCongrats","containerCards","cardStar","cardRank","buttonContainer","buttonRevise","propTypes","string","shape","label","onClick","func","type"],"mappings":"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","sourcesContent":["import React, {useEffect, useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport AtomLottieWrapper from '../../atom/lottie-wrapper';\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 animationLottie,\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.mainContainer} aria-label={ariaLabel} data-name={dataName}>\n <AtomLottieWrapper\n {...animationLottie}\n loop={false}\n animationControl={'play'}\n autoplay\n data-name=\"lottie-wrapper\"\n className={style.lottie}\n backupImageClassName={style.ie11Backup}\n />\n <div className={style.containerCongrats}>\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 </div>\n );\n};\n\nReviewCongrats.propTypes = {\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n animationLottie: PropTypes.shape(AtomLottieWrapper.propTypes),\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"}
1
+ {"version":3,"sources":["../../../src/organism/review-congrats/index.js"],"names":["React","useEffect","useRef","PropTypes","AtomLottieWrapper","ButtonLink","MoleculeReviewCardCongrats","style","setScroll","container","current","scrollTo","left","behavior","ReviewCongrats","props","ariaLabel","dataName","animationLottie","title","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","timer","setTimeout","clearTimeout","mainContainer","lottie","ie11Backup","containerCongrats","containerCards","cardStar","cardRank","buttonContainer","buttonRevise","propTypes","string","shape","label","onClick","func","type"],"mappings":"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","sourcesContent":["import React, {useEffect, useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport AtomLottieWrapper from '../../atom/lottie-wrapper';\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 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 animationLottie,\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.mainContainer} aria-label={ariaLabel} data-name={dataName}>\n <AtomLottieWrapper\n {...animationLottie}\n loop={false}\n animationControl={'play'}\n autoplay\n data-name=\"lottie-wrapper\"\n className={style.lottie}\n backupImageClassName={style.ie11Backup}\n />\n <div className={style.containerCongrats}>\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 </div>\n );\n};\n\nReviewCongrats.propTypes = {\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n animationLottie: PropTypes.shape(AtomLottieWrapper.propTypes),\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"}
@@ -114,7 +114,6 @@
114
114
  top: 200px;
115
115
  user-select: none;
116
116
  animation: translateTitle 1.4s ease-out 0s forwards;
117
- background-color: white;
118
117
  }
119
118
 
120
119
  .containerCards {
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import classnames from 'classnames';
4
4
  import getOr from 'lodash/fp/getOr';
5
5
  import ButtonLinkIconOnly from '../../atom/button-link-icon-only';
6
- import ReviewHeaderStep from '../../molecule/review-header-steps';
6
+ import ReviewHeaderSteps from '../../molecule/review-header-steps';
7
7
  import style from './style.css';
8
8
 
9
9
  const ReviewHeader = (props, context) => {
@@ -50,7 +50,7 @@ const ReviewHeader = (props, context) => {
50
50
  "data-name": "review-header-skill-name"
51
51
  }, skillName)), /*#__PURE__*/React.createElement("div", {
52
52
  className: stepsWrapper
53
- }, /*#__PURE__*/React.createElement(ReviewHeaderStep, {
53
+ }, /*#__PURE__*/React.createElement(ReviewHeaderSteps, {
54
54
  steps: steps,
55
55
  key: 'review-header-steps'
56
56
  })), /*#__PURE__*/React.createElement("div", {
@@ -60,7 +60,7 @@ const ReviewHeader = (props, context) => {
60
60
  };
61
61
 
62
62
  ReviewHeader.propTypes = process.env.NODE_ENV !== "production" ? {
63
- steps: ReviewHeaderStep.propTypes.steps,
63
+ steps: ReviewHeaderSteps.propTypes.steps,
64
64
  mode: PropTypes.string.isRequired,
65
65
  skillName: PropTypes.string.isRequired,
66
66
  'aria-label': PropTypes.string,
@@ -1 +1 @@
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"}
1
+ {"version":3,"sources":["../../../src/organism/review-header/index.js"],"names":["React","PropTypes","classnames","getOr","ButtonLinkIconOnly","ReviewHeaderSteps","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,iBAAP,MAA8B,oCAA9B;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,iBAAD;AAAmB,IAAA,KAAK,EAAEf,KAA1B;AAAiC,IAAA,GAAG,EAAE;AAAtC,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,iBAAiB,CAAC2B,SAAlB,CAA4BtB,KADZ;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 ReviewHeaderSteps 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 <ReviewHeaderSteps 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: ReviewHeaderSteps.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"}
@@ -51,7 +51,7 @@
51
51
  .stepsWrapperAnimation {
52
52
  opacity: 0;
53
53
  transform: translate(-50%, -180%);
54
- transition: opacity 0.5s ease-in-out 0.5s, transform 0.5s ease-in-out 0.5s;
54
+ transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
55
55
  }
56
56
 
57
57
  .iconButtonWrapper {