@coorpacademy/components 10.19.6-alpha.6.6 → 10.19.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/es/molecule/audio/index.js +1 -2
  2. package/es/molecule/audio/index.js.map +1 -1
  3. package/es/molecule/audio/style.css +4 -0
  4. package/es/molecule/battle-request/index.js +1 -2
  5. package/es/molecule/battle-request/index.js.map +1 -1
  6. package/es/molecule/battle-request/style.css +4 -0
  7. package/es/molecule/card-content/index.js +1 -2
  8. package/es/molecule/card-content/index.js.map +1 -1
  9. package/es/molecule/card-content/style.css +4 -0
  10. package/es/molecule/discipline-header/index.js +2 -3
  11. package/es/molecule/discipline-header/index.js.map +1 -1
  12. package/es/molecule/discipline-header/style.css +4 -0
  13. package/es/molecule/feedback/index.js +3 -4
  14. package/es/molecule/feedback/index.js.map +1 -1
  15. package/es/molecule/feedback/style.css +4 -0
  16. package/es/molecule/module-card/index.js +1 -2
  17. package/es/molecule/module-card/index.js.map +1 -1
  18. package/es/molecule/module-card/style.css +4 -0
  19. package/es/molecule/news/index.js +1 -2
  20. package/es/molecule/news/index.js.map +1 -1
  21. package/es/molecule/news/style.css +4 -0
  22. package/es/molecule/pdf/index.js +1 -2
  23. package/es/molecule/pdf/index.js.map +1 -1
  24. package/es/molecule/pdf/style.css +4 -0
  25. package/es/molecule/scope-content/index.js +1 -2
  26. package/es/molecule/scope-content/index.js.map +1 -1
  27. package/es/molecule/scope-content/style.css +4 -0
  28. package/es/organism/sidebar/index.js +1 -2
  29. package/es/organism/sidebar/index.js.map +1 -1
  30. package/es/organism/sidebar/style.css +5 -1
  31. package/es/template/activity/index.js +1 -2
  32. package/es/template/activity/index.js.map +1 -1
  33. package/es/template/activity/progression-item.css +4 -0
  34. package/es/template/activity/progression-item.js +1 -2
  35. package/es/template/activity/progression-item.js.map +1 -1
  36. package/es/template/activity/style.css +5 -0
  37. package/es/template/app-player/popin-correction/test/index.js +14 -8
  38. package/es/template/app-player/popin-correction/test/index.js.map +1 -1
  39. package/es/template/{review-dashboard-skills → app-review/review-dashboard-skills}/index.js +2 -2
  40. package/es/template/app-review/review-dashboard-skills/index.js.map +1 -0
  41. package/{lib/template → es/template/app-review}/review-dashboard-skills/style.css +1 -1
  42. package/es/template/app-review/review-dashboard-skills/test/fixtures/loading.js +10 -0
  43. package/es/template/app-review/review-dashboard-skills/test/fixtures/loading.js.map +1 -0
  44. package/es/template/app-review/review-dashboard-skills/test/fixtures/many-skills.js +10 -0
  45. package/es/template/app-review/review-dashboard-skills/test/fixtures/many-skills.js.map +1 -0
  46. package/es/template/app-review/review-dashboard-skills/test/fixtures/no-skills.js +10 -0
  47. package/es/template/app-review/review-dashboard-skills/test/fixtures/no-skills.js.map +1 -0
  48. package/es/template/app-review/review-dashboard-skills/test/fixtures.js +17 -0
  49. package/es/template/app-review/review-dashboard-skills/test/fixtures.js.map +1 -0
  50. package/es/template/app-review/root-view/prop-types.js +2 -2
  51. package/es/template/app-review/root-view/prop-types.js.map +1 -1
  52. package/es/template/{slides-review → app-review/slides-review}/index.js +15 -9
  53. package/es/template/app-review/slides-review/index.js.map +1 -0
  54. package/es/template/{slides-review → app-review/slides-review}/style.css +43 -9
  55. package/es/template/{slides-review → app-review/slides-review}/test/fixtures/failure.js +4 -4
  56. package/es/template/app-review/slides-review/test/fixtures/failure.js.map +1 -0
  57. package/es/template/{slides-review → app-review/slides-review}/test/fixtures/only-once-on-last-slide.js +1 -1
  58. package/es/template/app-review/slides-review/test/fixtures/only-once-on-last-slide.js.map +1 -0
  59. package/es/template/{slides-review → app-review/slides-review}/test/fixtures/random-responses.js +2 -2
  60. package/es/template/app-review/slides-review/test/fixtures/random-responses.js.map +1 -0
  61. package/es/template/{slides-review → app-review/slides-review}/test/fixtures/success.js +4 -4
  62. package/es/template/app-review/slides-review/test/fixtures/success.js.map +1 -0
  63. package/es/template/app-review/slides-review/test/fixtures.js +19 -0
  64. package/es/template/app-review/slides-review/test/fixtures.js.map +1 -0
  65. package/es/template/{slides-review → app-review/slides-review}/test/slides-review.js +1 -1
  66. package/es/template/app-review/slides-review/test/slides-review.js.map +1 -0
  67. package/es/template/battle-requests/index.js +1 -2
  68. package/es/template/battle-requests/index.js.map +1 -1
  69. package/es/template/battle-requests/style.css +4 -0
  70. package/es/template/external-course/index.js +1 -2
  71. package/es/template/external-course/index.js.map +1 -1
  72. package/es/template/external-course/style.css +4 -0
  73. package/lib/molecule/audio/index.js +5 -7
  74. package/lib/molecule/audio/index.js.map +1 -1
  75. package/lib/molecule/audio/style.css +4 -0
  76. package/lib/molecule/battle-request/index.js +9 -11
  77. package/lib/molecule/battle-request/index.js.map +1 -1
  78. package/lib/molecule/battle-request/style.css +4 -0
  79. package/lib/molecule/card-content/index.js +15 -17
  80. package/lib/molecule/card-content/index.js.map +1 -1
  81. package/lib/molecule/card-content/style.css +4 -0
  82. package/lib/molecule/discipline-header/index.js +9 -11
  83. package/lib/molecule/discipline-header/index.js.map +1 -1
  84. package/lib/molecule/discipline-header/style.css +4 -0
  85. package/lib/molecule/feedback/index.js +7 -9
  86. package/lib/molecule/feedback/index.js.map +1 -1
  87. package/lib/molecule/feedback/style.css +4 -0
  88. package/lib/molecule/module-card/index.js +5 -7
  89. package/lib/molecule/module-card/index.js.map +1 -1
  90. package/lib/molecule/module-card/style.css +4 -0
  91. package/lib/molecule/news/index.js +11 -13
  92. package/lib/molecule/news/index.js.map +1 -1
  93. package/lib/molecule/news/style.css +4 -0
  94. package/lib/molecule/pdf/index.js +7 -9
  95. package/lib/molecule/pdf/index.js.map +1 -1
  96. package/lib/molecule/pdf/style.css +4 -0
  97. package/lib/molecule/scope-content/index.js +16 -18
  98. package/lib/molecule/scope-content/index.js.map +1 -1
  99. package/lib/molecule/scope-content/style.css +4 -0
  100. package/lib/organism/sidebar/index.js +26 -28
  101. package/lib/organism/sidebar/index.js.map +1 -1
  102. package/lib/organism/sidebar/style.css +5 -1
  103. package/lib/template/activity/index.js +15 -17
  104. package/lib/template/activity/index.js.map +1 -1
  105. package/lib/template/activity/progression-item.css +4 -0
  106. package/lib/template/activity/progression-item.js +1 -3
  107. package/lib/template/activity/progression-item.js.map +1 -1
  108. package/lib/template/activity/style.css +5 -0
  109. package/lib/template/app-player/popin-correction/test/index.js +15 -10
  110. package/lib/template/app-player/popin-correction/test/index.js.map +1 -1
  111. package/lib/template/{review-dashboard-skills → app-review/review-dashboard-skills}/index.js +2 -2
  112. package/lib/template/app-review/review-dashboard-skills/index.js.map +1 -0
  113. package/{es/template → lib/template/app-review}/review-dashboard-skills/style.css +1 -1
  114. package/lib/template/{review-dashboard-skills → app-review/review-dashboard-skills}/test/fixtures/loading.js +2 -2
  115. package/lib/template/app-review/review-dashboard-skills/test/fixtures/loading.js.map +1 -0
  116. package/lib/template/{review-dashboard-skills → app-review/review-dashboard-skills}/test/fixtures/many-skills.js +2 -2
  117. package/lib/template/app-review/review-dashboard-skills/test/fixtures/many-skills.js.map +1 -0
  118. package/lib/template/{review-dashboard-skills → app-review/review-dashboard-skills}/test/fixtures/no-skills.js +2 -2
  119. package/lib/template/app-review/review-dashboard-skills/test/fixtures/no-skills.js.map +1 -0
  120. package/lib/template/app-review/review-dashboard-skills/test/fixtures.js +28 -0
  121. package/lib/template/app-review/review-dashboard-skills/test/fixtures.js.map +1 -0
  122. package/lib/template/app-review/root-view/prop-types.js +2 -2
  123. package/lib/template/app-review/root-view/prop-types.js.map +1 -1
  124. package/lib/template/{slides-review → app-review/slides-review}/index.js +15 -9
  125. package/lib/template/app-review/slides-review/index.js.map +1 -0
  126. package/lib/template/{slides-review → app-review/slides-review}/style.css +43 -9
  127. package/lib/template/{slides-review → app-review/slides-review}/test/fixtures/failure.js +4 -4
  128. package/lib/template/app-review/slides-review/test/fixtures/failure.js.map +1 -0
  129. package/lib/template/{slides-review → app-review/slides-review}/test/fixtures/only-once-on-last-slide.js +1 -1
  130. package/lib/template/app-review/slides-review/test/fixtures/only-once-on-last-slide.js.map +1 -0
  131. package/lib/template/{slides-review → app-review/slides-review}/test/fixtures/random-responses.js +2 -2
  132. package/lib/template/app-review/slides-review/test/fixtures/random-responses.js.map +1 -0
  133. package/lib/template/{slides-review → app-review/slides-review}/test/fixtures/success.js +4 -4
  134. package/lib/template/app-review/slides-review/test/fixtures/success.js.map +1 -0
  135. package/lib/template/app-review/slides-review/test/fixtures.js +31 -0
  136. package/lib/template/app-review/slides-review/test/fixtures.js.map +1 -0
  137. package/lib/template/{slides-review → app-review/slides-review}/test/slides-review.js +1 -1
  138. package/lib/template/app-review/slides-review/test/slides-review.js.map +1 -0
  139. package/lib/template/battle-requests/index.js +6 -8
  140. package/lib/template/battle-requests/index.js.map +1 -1
  141. package/lib/template/battle-requests/style.css +4 -0
  142. package/lib/template/external-course/index.js +19 -21
  143. package/lib/template/external-course/index.js.map +1 -1
  144. package/lib/template/external-course/style.css +4 -0
  145. package/package.json +12 -9
  146. package/es/template/review-dashboard-skills/index.js.map +0 -1
  147. package/es/template/review-dashboard-skills/test/fixtures/loading.js +0 -10
  148. package/es/template/review-dashboard-skills/test/fixtures/loading.js.map +0 -1
  149. package/es/template/review-dashboard-skills/test/fixtures/many-skills.js +0 -10
  150. package/es/template/review-dashboard-skills/test/fixtures/many-skills.js.map +0 -1
  151. package/es/template/review-dashboard-skills/test/fixtures/no-skills.js +0 -10
  152. package/es/template/review-dashboard-skills/test/fixtures/no-skills.js.map +0 -1
  153. package/es/template/slides-review/index.js.map +0 -1
  154. package/es/template/slides-review/test/fixtures/failure.js.map +0 -1
  155. package/es/template/slides-review/test/fixtures/only-once-on-last-slide.js.map +0 -1
  156. package/es/template/slides-review/test/fixtures/random-responses.js.map +0 -1
  157. package/es/template/slides-review/test/fixtures/success.js.map +0 -1
  158. package/es/template/slides-review/test/slides-review.js.map +0 -1
  159. package/lib/template/review-dashboard-skills/index.js.map +0 -1
  160. package/lib/template/review-dashboard-skills/test/fixtures/loading.js.map +0 -1
  161. package/lib/template/review-dashboard-skills/test/fixtures/many-skills.js.map +0 -1
  162. package/lib/template/review-dashboard-skills/test/fixtures/no-skills.js.map +0 -1
  163. package/lib/template/slides-review/index.js.map +0 -1
  164. package/lib/template/slides-review/test/fixtures/failure.js.map +0 -1
  165. package/lib/template/slides-review/test/fixtures/only-once-on-last-slide.js.map +0 -1
  166. package/lib/template/slides-review/test/fixtures/random-responses.js.map +0 -1
  167. package/lib/template/slides-review/test/fixtures/success.js.map +0 -1
  168. package/lib/template/slides-review/test/slides-review.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/template/app-review/slides-review/test/slides-review.js"],"names":["pretendToBeVisual","elementExists","foundElements","sleep","msToSleep","Promise","resolve","setTimeout","waitForRevisionEndChanges","qcmDrag","AnswerQCMDrag","props","LIMIT","clickAllSlides","t","container","accumulator","validateButton","querySelectorAll","truthy","fireEvent","click","nextButton","test","serial","successFixture","wrapper","stackedSlidesContainer","falsy","pass","failOnceOnLastSlideFixture","failureFixture","plan","onValidateClick","validationResult","nextSlide","question","answer","endReview","validate","label","onClick"],"mappings":"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","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {render, fireEvent, act} from '@testing-library/react';\nimport SlidesReview from '..';\nimport AnswerQCMDrag from '../../../../molecule/answer/test/fixtures/qcm-drag';\nimport successFixture from './fixtures/success';\nimport failureFixture from './fixtures/failure';\nimport failOnceOnLastSlideFixture from './fixtures/only-once-on-last-slide';\n\nbrowserEnv({pretendToBeVisual: true});\n\nconst elementExists = foundElements => foundElements && foundElements[0];\n\nconst sleep = msToSleep => new Promise(resolve => setTimeout(resolve, msToSleep));\n\nconst waitForRevisionEndChanges = async () => {\n await act(async () => {\n await sleep(2500); // wait *just* a little longer than the timeout in the component\n });\n};\n\nconst qcmDrag = AnswerQCMDrag.props;\n\nconst LIMIT = 5;\n\nconst clickAllSlides = async (t, container, accumulator = 0) => {\n if (accumulator === LIMIT) return;\n\n // last one needs to wait for more calculations && components updates\n if (accumulator === 4)\n await act(async () => {\n await sleep(2000);\n });\n\n const validateButton = container.querySelectorAll(\n `[data-name=\"slide-validate-button-${accumulator}\"]`\n );\n t.truthy(elementExists(validateButton));\n\n await act(async () => {\n await fireEvent.click(validateButton[0]);\n });\n\n const nextButton = container.querySelectorAll(\n `[data-name=\"next-question-button-${accumulator}\"]`\n );\n t.truthy(elementExists(nextButton));\n\n await act(async () => {\n await fireEvent.click(nextButton[0]);\n });\n\n await clickAllSlides(t, container, accumulator + 1);\n};\n\ntest.serial('should validate all the slides && unmount the stacked slides after', async t => {\n const {container} = render(<SlidesReview {...successFixture.props} key={0} />);\n\n const wrapper = container.querySelectorAll('[data-name=\"slides-revision-container\"]');\n t.truthy(wrapper);\n\n let stackedSlidesContainer = container.querySelectorAll('[data-name=\"stacked-slides-container\"]');\n t.truthy(elementExists(stackedSlidesContainer));\n\n await clickAllSlides(t, container);\n\n await waitForRevisionEndChanges();\n\n stackedSlidesContainer = container.querySelectorAll('[data-name=\"stacked-slides-container\"]');\n t.falsy(elementExists(stackedSlidesContainer));\n\n t.pass();\n});\n\ntest.serial('should validate all the slides except the last one, retry and pass', async t => {\n const {container} = render(<SlidesReview {...failOnceOnLastSlideFixture.props} key={1} />);\n\n const wrapper = container.querySelectorAll('[data-name=\"slides-revision-container\"]');\n t.truthy(wrapper);\n\n const stackedSlidesContainer = container.querySelectorAll(\n '[data-name=\"stacked-slides-container\"]'\n );\n t.truthy(elementExists(stackedSlidesContainer));\n\n // loop once\n await clickAllSlides(t, container);\n\n // fail the first slide again (the other slides are passed)\n const validateButton = container.querySelectorAll('[data-name=\"slide-validate-button-0\"]');\n t.truthy(elementExists(validateButton));\n\n await act(async () => {\n await fireEvent.click(validateButton[0]);\n });\n\n t.pass();\n});\n\ntest.serial('should fail all the slides && still find the stacked slides after', async t => {\n const {container} = render(<SlidesReview {...failureFixture.props} key={2} />);\n\n const wrapper = container.querySelectorAll('[data-name=\"slides-revision-container\"]');\n t.truthy(wrapper);\n\n let stackedSlidesContainer = container.querySelectorAll('[data-name=\"stacked-slides-container\"]');\n t.truthy(elementExists(stackedSlidesContainer));\n\n // loop once\n await clickAllSlides(t, container);\n\n // fail the first slide again (all the other slides are also on fail state)\n const validateButton = container.querySelectorAll('[data-name=\"slide-validate-button-0\"]');\n t.truthy(elementExists(validateButton));\n\n await act(async () => {\n await fireEvent.click(validateButton[0]);\n });\n\n stackedSlidesContainer = container.querySelectorAll('[data-name=\"stacked-slides-container\"]');\n t.truthy(elementExists(stackedSlidesContainer));\n\n t.pass();\n});\n\ntest.serial('should end Revision on signal && unmount the stacked slides after', async t => {\n t.plan(6);\n const onValidateClick = () => {\n t.pass();\n return Promise.resolve({\n validationResult: 'failure',\n nextSlide: {question: 'Other question?', answer: qcmDrag},\n endReview: true\n });\n };\n\n const props = {\n ...failureFixture.props,\n validate: {\n label: failureFixture.props.validate.label,\n onClick: onValidateClick\n }\n };\n\n const {container} = render(<SlidesReview {...props} key={3} />);\n\n const wrapper = container.querySelectorAll('[data-name=\"slides-revision-container\"]');\n t.truthy(wrapper);\n\n let stackedSlidesContainer = container.querySelectorAll('[data-name=\"stacked-slides-container\"]');\n t.truthy(elementExists(stackedSlidesContainer));\n\n const validateButton = container.querySelectorAll('[data-name=\"slide-validate-button-0\"]');\n t.truthy(elementExists(validateButton));\n\n await act(async () => {\n await fireEvent.click(validateButton[0]);\n });\n\n await waitForRevisionEndChanges();\n\n stackedSlidesContainer = container.querySelectorAll('[data-name=\"stacked-slides-container\"]');\n t.falsy(elementExists(stackedSlidesContainer));\n\n t.pass();\n});\n"],"file":"slides-review.js"}
@@ -17,9 +17,7 @@ var _cardWithButton = _interopRequireDefault(require("../../molecule/card-with-b
17
17
 
18
18
  var _avatar = _interopRequireDefault(require("../../atom/avatar"));
19
19
 
20
- var _style = require("../../atom/label/style.css");
21
-
22
- var _style2 = _interopRequireDefault(require("./style.css"));
20
+ var _style = _interopRequireDefault(require("./style.css"));
23
21
 
24
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
23
 
@@ -32,7 +30,7 @@ const Battles = (props, context) => {
32
30
  trads
33
31
  } = props;
34
32
  return /*#__PURE__*/_react.default.createElement("ul", {
35
- className: _style2.default.cards
33
+ className: _style.default.cards
36
34
  }, (0, _map2.default)(battle => {
37
35
  const challengeLabel = translate('is challenging you', {
38
36
  username: `<strong>${battle.username}</strong>`,
@@ -50,15 +48,15 @@ const Battles = (props, context) => {
50
48
  };
51
49
  return /*#__PURE__*/_react.default.createElement("li", {
52
50
  key: battle.id,
53
- className: _style2.default.cardsItem
51
+ className: _style.default.cardsItem
54
52
  }, /*#__PURE__*/_react.default.createElement("div", {
55
- className: _style2.default.card
53
+ className: _style.default.card
56
54
  }, /*#__PURE__*/_react.default.createElement(_cardWithButton.default, battleCardProps, /*#__PURE__*/_react.default.createElement("div", {
57
- className: _style2.default.injection
55
+ className: _style.default.injection
58
56
  }, /*#__PURE__*/_react.default.createElement(_avatar.default, {
59
57
  url: battle.urlAvatar
60
58
  })), /*#__PURE__*/_react.default.createElement("div", {
61
- className: (0, _classnames.default)(_style2.default.wrapper, _style.innerHTML) // eslint-disable-next-line react/no-danger
59
+ className: (0, _classnames.default)(_style.default.wrapper, _style.default.innerHTML) // eslint-disable-next-line react/no-danger
62
60
  ,
63
61
  dangerouslySetInnerHTML: {
64
62
  __html: challengeLabel
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/battle-requests/index.js"],"names":["Battles","props","context","translate","battles","trads","style","cards","battle","challengeLabel","username","courseName","battleCardProps","primaryButtonLabel","battleCTA","lightButtonLabel","reviewCTA","tagLabel","onLightButtonClick","onPrimaryButtonClick","backgroundImg","id","cardsItem","card","injection","urlAvatar","wrapper","innerHTML","__html","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","CardWithButton","isRequired","string"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,OAAO,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AAClC,QAAM;AAACC,IAAAA;AAAD,MAAcD,OAApB;AACA,QAAM;AAACE,IAAAA,OAAD;AAAUC,IAAAA;AAAV,MAAmBJ,KAAzB;AACA,sBACE;AAAI,IAAA,SAAS,EAAEK,gBAAMC;AAArB,KACG,mBAAIC,MAAM,IAAI;AACb,UAAMC,cAAc,GAAGN,SAAS,CAAC,oBAAD,EAAuB;AACrDO,MAAAA,QAAQ,EAAG,WAAUF,MAAM,CAACE,QAAS,WADgB;AAErDC,MAAAA,UAAU,EAAG,cAAaH,MAAM,CAACG,UAAW;AAFS,KAAvB,CAAhC;AAIA,UAAMC,eAAe,GAAG;AACtBF,MAAAA,QAAQ,EAAEF,MAAM,CAACE,QADK;AAEtBC,MAAAA,UAAU,EAAEH,MAAM,CAACG,UAFG;AAGtBE,MAAAA,kBAAkB,EAAER,KAAK,CAACS,SAHJ;AAItBC,MAAAA,gBAAgB,EAAEV,KAAK,CAACW,SAJF;AAKtBC,MAAAA,QAAQ,EAAET,MAAM,CAACS,QALK;AAMtBC,MAAAA,kBAAkB,EAAEV,MAAM,CAACU,kBANL;AAOtBC,MAAAA,oBAAoB,EAAEX,MAAM,CAACW,oBAPP;AAQtBC,MAAAA,aAAa,EAAEZ,MAAM,CAACY;AARA,KAAxB;AAUA,wBACE;AAAI,MAAA,GAAG,EAAEZ,MAAM,CAACa,EAAhB;AAAoB,MAAA,SAAS,EAAEf,gBAAMgB;AAArC,oBACE;AAAK,MAAA,SAAS,EAAEhB,gBAAMiB;AAAtB,oBACE,6BAAC,uBAAD,EAAoBX,eAApB,eACE;AAAK,MAAA,SAAS,EAAEN,gBAAMkB;AAAtB,oBACE,6BAAC,eAAD;AAAQ,MAAA,GAAG,EAAEhB,MAAM,CAACiB;AAApB,MADF,CADF,eAIE;AACE,MAAA,SAAS,EAAE,yBAAWnB,gBAAMoB,OAAjB,EAA0BC,gBAA1B,CADb,CAEE;AAFF;AAGE,MAAA,uBAAuB,EAAE;AAACC,QAAAA,MAAM,EAAEnB;AAAT;AAH3B,MAJF,CADF,CADF,CADF;AAgBD,GA/BA,EA+BEL,OA/BF,CADH,CADF;AAoCD,CAvCD;;AAyCAJ,OAAO,CAAC6B,YAAR,GAAuB;AACrB1B,EAAAA,SAAS,EAAE2B,kBAASC,iBAAT,CAA2B5B;AADjB,CAAvB;AAIAH,OAAO,CAACgC,SAAR,2CAAoB;AAClB5B,EAAAA,OAAO,EAAE6B,mBAAUC,OAAV,CACPD,mBAAUE,KAAV,CAAgB;AACdzB,IAAAA,QAAQ,EAAE0B,wBAAeJ,SAAf,CAAyBtB,QADrB;AAEdC,IAAAA,UAAU,EAAEyB,wBAAeJ,SAAf,CAAyBrB,UAFvB;AAGdM,IAAAA,QAAQ,EAAEmB,wBAAeJ,SAAf,CAAyBf,QAHrB;AAIdC,IAAAA,kBAAkB,EAAEkB,wBAAeJ,SAAf,CAAyBd,kBAJ/B;AAKdC,IAAAA,oBAAoB,EAAEiB,wBAAeJ,SAAf,CAAyBb,oBALjC;AAMdC,IAAAA,aAAa,EAAEgB,wBAAeJ,SAAf,CAAyBZ;AAN1B,GAAhB,CADO,EASPiB,UAVgB;AAWlBhC,EAAAA,KAAK,EAAE4B,mBAAUE,KAAV,CAAgB;AACrBrB,IAAAA,SAAS,EAAEmB,mBAAUK,MAAV,CAAiBD,UADP;AAErBrB,IAAAA,SAAS,EAAEiB,mBAAUK,MAAV,CAAiBD;AAFP,GAAhB,EAGJA;AAde,CAApB;eAiBerC,O","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {map} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider from '../../atom/provider';\nimport CardWithButton from '../../molecule/card-with-button';\nimport Avatar from '../../atom/avatar';\nimport {innerHTML} from '../../atom/label/style.css';\nimport style from './style.css';\n\nconst Battles = (props, context) => {\n const {translate} = context;\n const {battles, trads} = props;\n return (\n <ul className={style.cards}>\n {map(battle => {\n const challengeLabel = translate('is challenging you', {\n username: `<strong>${battle.username}</strong>`,\n courseName: `<p><strong>${battle.courseName}</strong></p>`\n });\n const battleCardProps = {\n username: battle.username,\n courseName: battle.courseName,\n primaryButtonLabel: trads.battleCTA,\n lightButtonLabel: trads.reviewCTA,\n tagLabel: battle.tagLabel,\n onLightButtonClick: battle.onLightButtonClick,\n onPrimaryButtonClick: battle.onPrimaryButtonClick,\n backgroundImg: battle.backgroundImg\n };\n return (\n <li key={battle.id} className={style.cardsItem}>\n <div className={style.card}>\n <CardWithButton {...battleCardProps}>\n <div className={style.injection}>\n <Avatar url={battle.urlAvatar} />\n </div>\n <div\n className={classnames(style.wrapper, innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: challengeLabel}}\n />\n </CardWithButton>\n </div>\n </li>\n );\n }, battles)}\n </ul>\n );\n};\n\nBattles.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nBattles.propTypes = {\n battles: PropTypes.arrayOf(\n PropTypes.shape({\n username: CardWithButton.propTypes.username,\n courseName: CardWithButton.propTypes.courseName,\n tagLabel: CardWithButton.propTypes.tagLabel,\n onLightButtonClick: CardWithButton.propTypes.onLightButtonClick,\n onPrimaryButtonClick: CardWithButton.propTypes.onPrimaryButtonClick,\n backgroundImg: CardWithButton.propTypes.backgroundImg\n })\n ).isRequired,\n trads: PropTypes.shape({\n battleCTA: PropTypes.string.isRequired,\n reviewCTA: PropTypes.string.isRequired\n }).isRequired\n};\n\nexport default Battles;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/template/battle-requests/index.js"],"names":["Battles","props","context","translate","battles","trads","style","cards","battle","challengeLabel","username","courseName","battleCardProps","primaryButtonLabel","battleCTA","lightButtonLabel","reviewCTA","tagLabel","onLightButtonClick","onPrimaryButtonClick","backgroundImg","id","cardsItem","card","injection","urlAvatar","wrapper","innerHTML","__html","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","CardWithButton","isRequired","string"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,OAAO,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AAClC,QAAM;AAACC,IAAAA;AAAD,MAAcD,OAApB;AACA,QAAM;AAACE,IAAAA,OAAD;AAAUC,IAAAA;AAAV,MAAmBJ,KAAzB;AACA,sBACE;AAAI,IAAA,SAAS,EAAEK,eAAMC;AAArB,KACG,mBAAIC,MAAM,IAAI;AACb,UAAMC,cAAc,GAAGN,SAAS,CAAC,oBAAD,EAAuB;AACrDO,MAAAA,QAAQ,EAAG,WAAUF,MAAM,CAACE,QAAS,WADgB;AAErDC,MAAAA,UAAU,EAAG,cAAaH,MAAM,CAACG,UAAW;AAFS,KAAvB,CAAhC;AAIA,UAAMC,eAAe,GAAG;AACtBF,MAAAA,QAAQ,EAAEF,MAAM,CAACE,QADK;AAEtBC,MAAAA,UAAU,EAAEH,MAAM,CAACG,UAFG;AAGtBE,MAAAA,kBAAkB,EAAER,KAAK,CAACS,SAHJ;AAItBC,MAAAA,gBAAgB,EAAEV,KAAK,CAACW,SAJF;AAKtBC,MAAAA,QAAQ,EAAET,MAAM,CAACS,QALK;AAMtBC,MAAAA,kBAAkB,EAAEV,MAAM,CAACU,kBANL;AAOtBC,MAAAA,oBAAoB,EAAEX,MAAM,CAACW,oBAPP;AAQtBC,MAAAA,aAAa,EAAEZ,MAAM,CAACY;AARA,KAAxB;AAUA,wBACE;AAAI,MAAA,GAAG,EAAEZ,MAAM,CAACa,EAAhB;AAAoB,MAAA,SAAS,EAAEf,eAAMgB;AAArC,oBACE;AAAK,MAAA,SAAS,EAAEhB,eAAMiB;AAAtB,oBACE,6BAAC,uBAAD,EAAoBX,eAApB,eACE;AAAK,MAAA,SAAS,EAAEN,eAAMkB;AAAtB,oBACE,6BAAC,eAAD;AAAQ,MAAA,GAAG,EAAEhB,MAAM,CAACiB;AAApB,MADF,CADF,eAIE;AACE,MAAA,SAAS,EAAE,yBAAWnB,eAAMoB,OAAjB,EAA0BpB,eAAMqB,SAAhC,CADb,CAEE;AAFF;AAGE,MAAA,uBAAuB,EAAE;AAACC,QAAAA,MAAM,EAAEnB;AAAT;AAH3B,MAJF,CADF,CADF,CADF;AAgBD,GA/BA,EA+BEL,OA/BF,CADH,CADF;AAoCD,CAvCD;;AAyCAJ,OAAO,CAAC6B,YAAR,GAAuB;AACrB1B,EAAAA,SAAS,EAAE2B,kBAASC,iBAAT,CAA2B5B;AADjB,CAAvB;AAIAH,OAAO,CAACgC,SAAR,2CAAoB;AAClB5B,EAAAA,OAAO,EAAE6B,mBAAUC,OAAV,CACPD,mBAAUE,KAAV,CAAgB;AACdzB,IAAAA,QAAQ,EAAE0B,wBAAeJ,SAAf,CAAyBtB,QADrB;AAEdC,IAAAA,UAAU,EAAEyB,wBAAeJ,SAAf,CAAyBrB,UAFvB;AAGdM,IAAAA,QAAQ,EAAEmB,wBAAeJ,SAAf,CAAyBf,QAHrB;AAIdC,IAAAA,kBAAkB,EAAEkB,wBAAeJ,SAAf,CAAyBd,kBAJ/B;AAKdC,IAAAA,oBAAoB,EAAEiB,wBAAeJ,SAAf,CAAyBb,oBALjC;AAMdC,IAAAA,aAAa,EAAEgB,wBAAeJ,SAAf,CAAyBZ;AAN1B,GAAhB,CADO,EASPiB,UAVgB;AAWlBhC,EAAAA,KAAK,EAAE4B,mBAAUE,KAAV,CAAgB;AACrBrB,IAAAA,SAAS,EAAEmB,mBAAUK,MAAV,CAAiBD,UADP;AAErBrB,IAAAA,SAAS,EAAEiB,mBAAUK,MAAV,CAAiBD;AAFP,GAAhB,EAGJA;AAde,CAApB;eAiBerC,O","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {map} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider from '../../atom/provider';\nimport CardWithButton from '../../molecule/card-with-button';\nimport Avatar from '../../atom/avatar';\nimport style from './style.css';\n\nconst Battles = (props, context) => {\n const {translate} = context;\n const {battles, trads} = props;\n return (\n <ul className={style.cards}>\n {map(battle => {\n const challengeLabel = translate('is challenging you', {\n username: `<strong>${battle.username}</strong>`,\n courseName: `<p><strong>${battle.courseName}</strong></p>`\n });\n const battleCardProps = {\n username: battle.username,\n courseName: battle.courseName,\n primaryButtonLabel: trads.battleCTA,\n lightButtonLabel: trads.reviewCTA,\n tagLabel: battle.tagLabel,\n onLightButtonClick: battle.onLightButtonClick,\n onPrimaryButtonClick: battle.onPrimaryButtonClick,\n backgroundImg: battle.backgroundImg\n };\n return (\n <li key={battle.id} className={style.cardsItem}>\n <div className={style.card}>\n <CardWithButton {...battleCardProps}>\n <div className={style.injection}>\n <Avatar url={battle.urlAvatar} />\n </div>\n <div\n className={classnames(style.wrapper, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: challengeLabel}}\n />\n </CardWithButton>\n </div>\n </li>\n );\n }, battles)}\n </ul>\n );\n};\n\nBattles.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nBattles.propTypes = {\n battles: PropTypes.arrayOf(\n PropTypes.shape({\n username: CardWithButton.propTypes.username,\n courseName: CardWithButton.propTypes.courseName,\n tagLabel: CardWithButton.propTypes.tagLabel,\n onLightButtonClick: CardWithButton.propTypes.onLightButtonClick,\n onPrimaryButtonClick: CardWithButton.propTypes.onPrimaryButtonClick,\n backgroundImg: CardWithButton.propTypes.backgroundImg\n })\n ).isRequired,\n trads: PropTypes.shape({\n battleCTA: PropTypes.string.isRequired,\n reviewCTA: PropTypes.string.isRequired\n }).isRequired\n};\n\nexport default Battles;\n"],"file":"index.js"}
@@ -72,3 +72,7 @@
72
72
  justify-content: center;
73
73
  align-items: center;
74
74
  }
75
+
76
+ .innerHTML {
77
+ composes: innerHTML from '../../atom/label/style.css'
78
+ }
@@ -33,20 +33,18 @@ var _loader = _interopRequireDefault(require("../../atom/loader"));
33
33
 
34
34
  var _button = _interopRequireDefault(require("../../atom/button"));
35
35
 
36
- var _style = require("../../atom/label/style.css");
37
-
38
36
  var _externalContentViewer = _interopRequireDefault(require("../../molecule/external-content-viewer"));
39
37
 
40
- var _style2 = _interopRequireDefault(require("./style.css"));
38
+ var _style = _interopRequireDefault(require("./style.css"));
41
39
 
42
40
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
43
41
 
44
42
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
45
43
 
46
44
  const defaultWrapperStyle = {
47
- default: _style2.default.default,
48
- cockpit: _style2.default.defaultCockpit,
49
- mobile: _style2.default.default
45
+ default: _style.default.default,
46
+ cockpit: _style.default.defaultCockpit,
47
+ mobile: _style.default.default
50
48
  };
51
49
 
52
50
  class ExternalCourse extends _react.default.Component {
@@ -81,7 +79,7 @@ class ExternalCourse extends _react.default.Component {
81
79
  const IconType = _externalContent.EXTERNAL_CONTENT_ICONS[type].icon;
82
80
  const IconColor = _externalContent.EXTERNAL_CONTENT_ICONS[type].color;
83
81
  const mainContentSlot = loading ? /*#__PURE__*/_react.default.createElement("div", {
84
- className: _style2.default.loader
82
+ className: _style.default.loader
85
83
  }, /*#__PURE__*/_react.default.createElement(_loader.default, null)) : /*#__PURE__*/_react.default.createElement(_externalContentViewer.default, {
86
84
  url: url,
87
85
  mode: mode,
@@ -97,49 +95,49 @@ class ExternalCourse extends _react.default.Component {
97
95
  backgroundColor: complete.disabled || loading ? (0, _cssColorFunction.convert)(`color(${primary} a(-50%))`) : primary,
98
96
  cursor: loading ? 'progress' : 'pointer'
99
97
  },
100
- className: (0, _classnames.default)(_style2.default.completeCta, complete.disabled || loading ? _style2.default.disabled : null, loading ? _style2.default.loading : null)
98
+ className: (0, _classnames.default)(_style.default.completeCta, complete.disabled || loading ? _style.default.disabled : null, loading ? _style.default.loading : null)
101
99
  }) : null;
102
100
  const warningButton = !(0, _isNil2.default)(warning) ? /*#__PURE__*/_react.default.createElement("div", {
103
- className: _style2.default.leftSection
101
+ className: _style.default.leftSection
104
102
  }, /*#__PURE__*/_react.default.createElement("div", {
105
103
  onClick: this.handleOnClick(warning),
106
- className: (0, _classnames.default)(_style2.default.iconLabel, _style2.default.link)
104
+ className: (0, _classnames.default)(_style.default.iconLabel, _style.default.link)
107
105
  }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidInterfaceFeedbackInterfaceQuestionMark, {
108
- className: _style2.default.iconQuestion,
106
+ className: _style.default.iconQuestion,
109
107
  width: 24,
110
108
  height: 24
111
109
  }), /*#__PURE__*/_react.default.createElement("span", null, warning.label))) : null;
112
110
  const quitButton = !(0, _isNil2.default)(quit) ? /*#__PURE__*/_react.default.createElement("div", {
113
- className: _style2.default.leftSection
111
+ className: _style.default.leftSection
114
112
  }, /*#__PURE__*/_react.default.createElement("span", {
115
- className: (0, _classnames.default)(_style2.default.quitCta, loading ? _style2.default.loading : null),
113
+ className: (0, _classnames.default)(_style.default.quitCta, loading ? _style.default.loading : null),
116
114
  onClick: loading ? _identity2.default : this.handleOnClick(quit)
117
115
  }, quit.label)) : null;
118
116
  const titleSection = !(0, _isNil2.default)(name) ? /*#__PURE__*/_react.default.createElement("div", {
119
- className: (0, _classnames.default)(_style2.default.iconLabel, _style2.default.title)
117
+ className: (0, _classnames.default)(_style.default.iconLabel, _style.default.title)
120
118
  }, /*#__PURE__*/_react.default.createElement("div", {
121
- className: _style2.default.oval,
119
+ className: _style.default.oval,
122
120
  style: {
123
121
  backgroundColor: IconColor
124
122
  }
125
123
  }, /*#__PURE__*/_react.default.createElement(IconType, {
126
- className: _style2.default.iconHeader
124
+ className: _style.default.iconHeader
127
125
  })), /*#__PURE__*/_react.default.createElement("span", {
128
- className: _style.innerHTML // eslint-disable-next-line react/no-danger
126
+ className: _style.default.innerHTML // eslint-disable-next-line react/no-danger
129
127
  ,
130
128
  dangerouslySetInnerHTML: {
131
129
  __html: name
132
130
  }
133
131
  })) : null;
134
132
  const header = !(0, _isNil2.default)(quit) || !(0, _isEmpty2.default)(name) ? /*#__PURE__*/_react.default.createElement("div", {
135
- className: _style2.default.header
133
+ className: _style.default.header
136
134
  }, quitButton, titleSection, (0, _isNil2.default)(quit) ? null : /*#__PURE__*/_react.default.createElement("div", {
137
- className: _style2.default.rightSection
135
+ className: _style.default.rightSection
138
136
  })) : null;
139
137
  const footer = !(0, _isNil2.default)(warning) || !(0, _isNil2.default)(complete) ? /*#__PURE__*/_react.default.createElement("div", {
140
- className: _style2.default.footer
138
+ className: _style.default.footer
141
139
  }, warningButton, completeButton, (0, _isNil2.default)(warning) ? null : /*#__PURE__*/_react.default.createElement("div", {
142
- className: _style2.default.rightSection
140
+ className: _style.default.rightSection
143
141
  })) : null;
144
142
  return /*#__PURE__*/_react.default.createElement("div", {
145
143
  className: defaultWrapperStyle[mode]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/template/external-course/index.js"],"names":["defaultWrapperStyle","default","style","cockpit","defaultCockpit","mobile","ExternalCourse","React","Component","field","e","stopPropagation","preventDefault","onClick","render","name","type","url","warning","complete","quit","loading","backgroundImageUrl","contentType","mode","props","skin","context","primary","IconType","EXTERNAL_CONTENT_ICONS","icon","IconColor","color","mainContentSlot","loader","completeButton","disabled","handleOnClick","label","backgroundColor","cursor","completeCta","warningButton","leftSection","iconLabel","link","iconQuestion","quitButton","quitCta","titleSection","title","oval","iconHeader","innerHTML","__html","header","rightSection","footer","Provider","childContextTypes","propTypes","PropTypes","string","oneOf","isRequired","shape","func","bool"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon} from '@coorpacademy/nova-icons';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {get, getOr, keys, identity, isNil, isEmpty} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport Loader from '../../atom/loader';\nimport Button from '../../atom/button';\nimport {innerHTML} from '../../atom/label/style.css';\nimport ExternalContentViewer from '../../molecule/external-content-viewer';\nimport style from './style.css';\n\nconst defaultWrapperStyle = {\n default: style.default,\n cockpit: style.defaultCockpit,\n mobile: style.default\n};\n\nclass ExternalCourse extends React.Component {\n static propTypes = {\n name: PropTypes.string,\n type: PropTypes.oneOf(keys(EXTERNAL_CONTENT_ICONS)),\n url: PropTypes.string.isRequired,\n quit: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func\n }),\n complete: PropTypes.shape({\n label: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n onClick: PropTypes.func\n }),\n warning: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func\n }),\n loading: PropTypes.bool,\n backgroundImageUrl: PropTypes.string,\n contentType: PropTypes.string,\n mode: PropTypes.string\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n handleOnClick = field => e => {\n e.stopPropagation();\n e.preventDefault();\n const onClick = get('onClick', field);\n return onClick && onClick(e);\n };\n\n render() {\n const {\n name,\n type,\n url,\n warning,\n complete,\n quit,\n loading,\n backgroundImageUrl,\n contentType,\n mode = 'default'\n } = this.props;\n const {skin} = this.context;\n const primary = getOr('#00B0FF', 'common.primary', skin);\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const IconColor = EXTERNAL_CONTENT_ICONS[type].color;\n\n const mainContentSlot = loading ? (\n <div className={style.loader}>\n <Loader />\n </div>\n ) : (\n <ExternalContentViewer\n url={url}\n mode={mode}\n backgroundImageUrl={backgroundImageUrl}\n contentType={contentType}\n />\n );\n\n const completeButton = !isNil(complete) ? (\n <Button\n type=\"button\"\n disabled={loading ? true : complete.disabled}\n onClick={loading ? identity : this.handleOnClick(complete)}\n submitValue={complete.label}\n style={{\n backgroundColor:\n complete.disabled || loading ? convert(`color(${primary} a(-50%))`) : primary,\n cursor: loading ? 'progress' : 'pointer'\n }}\n className={classnames(\n style.completeCta,\n complete.disabled || loading ? style.disabled : null,\n loading ? style.loading : null\n )}\n />\n ) : null;\n\n const warningButton = !isNil(warning) ? (\n <div className={style.leftSection}>\n <div\n onClick={this.handleOnClick(warning)}\n className={classnames(style.iconLabel, style.link)}\n >\n <QuestionIcon className={style.iconQuestion} width={24} height={24} />\n <span>{warning.label}</span>\n </div>\n </div>\n ) : null;\n\n const quitButton = !isNil(quit) ? (\n <div className={style.leftSection}>\n <span\n className={classnames(style.quitCta, loading ? style.loading : null)}\n onClick={loading ? identity : this.handleOnClick(quit)}\n >\n {quit.label}\n </span>\n </div>\n ) : null;\n\n const titleSection = !isNil(name) ? (\n <div className={classnames(style.iconLabel, style.title)}>\n <div className={style.oval} style={{backgroundColor: IconColor}}>\n <IconType className={style.iconHeader} />\n </div>\n <span\n className={innerHTML}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: name}}\n />\n </div>\n ) : null;\n\n const header =\n !isNil(quit) || !isEmpty(name) ? (\n <div className={style.header}>\n {quitButton}\n {titleSection}\n {isNil(quit) ? null : <div className={style.rightSection} />}\n </div>\n ) : null;\n\n const footer =\n !isNil(warning) || !isNil(complete) ? (\n <div className={style.footer}>\n {warningButton}\n {completeButton}\n {isNil(warning) ? null : <div className={style.rightSection} />}\n </div>\n ) : null;\n\n return (\n <div className={defaultWrapperStyle[mode]}>\n {header}\n {mainContentSlot}\n {footer}\n </div>\n );\n }\n}\n\nexport default ExternalCourse;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/template/external-course/index.js"],"names":["defaultWrapperStyle","default","style","cockpit","defaultCockpit","mobile","ExternalCourse","React","Component","field","e","stopPropagation","preventDefault","onClick","render","name","type","url","warning","complete","quit","loading","backgroundImageUrl","contentType","mode","props","skin","context","primary","IconType","EXTERNAL_CONTENT_ICONS","icon","IconColor","color","mainContentSlot","loader","completeButton","disabled","handleOnClick","label","backgroundColor","cursor","completeCta","warningButton","leftSection","iconLabel","link","iconQuestion","quitButton","quitCta","titleSection","title","oval","iconHeader","innerHTML","__html","header","rightSection","footer","Provider","childContextTypes","propTypes","PropTypes","string","oneOf","isRequired","shape","func","bool"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon} from '@coorpacademy/nova-icons';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {get, getOr, keys, identity, isNil, isEmpty} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport Loader from '../../atom/loader';\nimport Button from '../../atom/button';\nimport ExternalContentViewer from '../../molecule/external-content-viewer';\nimport style from './style.css';\n\nconst defaultWrapperStyle = {\n default: style.default,\n cockpit: style.defaultCockpit,\n mobile: style.default\n};\n\nclass ExternalCourse extends React.Component {\n static propTypes = {\n name: PropTypes.string,\n type: PropTypes.oneOf(keys(EXTERNAL_CONTENT_ICONS)),\n url: PropTypes.string.isRequired,\n quit: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func\n }),\n complete: PropTypes.shape({\n label: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n onClick: PropTypes.func\n }),\n warning: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func\n }),\n loading: PropTypes.bool,\n backgroundImageUrl: PropTypes.string,\n contentType: PropTypes.string,\n mode: PropTypes.string\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n handleOnClick = field => e => {\n e.stopPropagation();\n e.preventDefault();\n const onClick = get('onClick', field);\n return onClick && onClick(e);\n };\n\n render() {\n const {\n name,\n type,\n url,\n warning,\n complete,\n quit,\n loading,\n backgroundImageUrl,\n contentType,\n mode = 'default'\n } = this.props;\n const {skin} = this.context;\n const primary = getOr('#00B0FF', 'common.primary', skin);\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const IconColor = EXTERNAL_CONTENT_ICONS[type].color;\n\n const mainContentSlot = loading ? (\n <div className={style.loader}>\n <Loader />\n </div>\n ) : (\n <ExternalContentViewer\n url={url}\n mode={mode}\n backgroundImageUrl={backgroundImageUrl}\n contentType={contentType}\n />\n );\n\n const completeButton = !isNil(complete) ? (\n <Button\n type=\"button\"\n disabled={loading ? true : complete.disabled}\n onClick={loading ? identity : this.handleOnClick(complete)}\n submitValue={complete.label}\n style={{\n backgroundColor:\n complete.disabled || loading ? convert(`color(${primary} a(-50%))`) : primary,\n cursor: loading ? 'progress' : 'pointer'\n }}\n className={classnames(\n style.completeCta,\n complete.disabled || loading ? style.disabled : null,\n loading ? style.loading : null\n )}\n />\n ) : null;\n\n const warningButton = !isNil(warning) ? (\n <div className={style.leftSection}>\n <div\n onClick={this.handleOnClick(warning)}\n className={classnames(style.iconLabel, style.link)}\n >\n <QuestionIcon className={style.iconQuestion} width={24} height={24} />\n <span>{warning.label}</span>\n </div>\n </div>\n ) : null;\n\n const quitButton = !isNil(quit) ? (\n <div className={style.leftSection}>\n <span\n className={classnames(style.quitCta, loading ? style.loading : null)}\n onClick={loading ? identity : this.handleOnClick(quit)}\n >\n {quit.label}\n </span>\n </div>\n ) : null;\n\n const titleSection = !isNil(name) ? (\n <div className={classnames(style.iconLabel, style.title)}>\n <div className={style.oval} style={{backgroundColor: IconColor}}>\n <IconType className={style.iconHeader} />\n </div>\n <span\n className={style.innerHTML}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: name}}\n />\n </div>\n ) : null;\n\n const header =\n !isNil(quit) || !isEmpty(name) ? (\n <div className={style.header}>\n {quitButton}\n {titleSection}\n {isNil(quit) ? null : <div className={style.rightSection} />}\n </div>\n ) : null;\n\n const footer =\n !isNil(warning) || !isNil(complete) ? (\n <div className={style.footer}>\n {warningButton}\n {completeButton}\n {isNil(warning) ? null : <div className={style.rightSection} />}\n </div>\n ) : null;\n\n return (\n <div className={defaultWrapperStyle[mode]}>\n {header}\n {mainContentSlot}\n {footer}\n </div>\n );\n }\n}\n\nexport default ExternalCourse;\n"],"file":"index.js"}
@@ -139,3 +139,7 @@
139
139
  display: none;
140
140
  }
141
141
  }
142
+
143
+ .innerHTML {
144
+ composes: innerHTML from '../../atom/label/style.css'
145
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "10.19.6-alpha.6.6+65c827e5d",
3
+ "version": "10.19.6",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -37,7 +37,7 @@
37
37
  "lint": "eslint . --ext .js,.json --cache --cache-location \"node_modules/.cache/.eslintcache\""
38
38
  },
39
39
  "engines": {
40
- "node": ">=16.15.0"
40
+ "node": ">=12.22.12"
41
41
  },
42
42
  "contributors": [
43
43
  "Arthur Weber <arthur.weber@coorpacademy.com>",
@@ -50,7 +50,7 @@
50
50
  "Soualmi Djamel <djamel.soualmi@coorpacademy.com>"
51
51
  ],
52
52
  "dependencies": {
53
- "@coorpacademy/nova-icons": "3.11.2-alpha.6.29+65c827e5d",
53
+ "@coorpacademy/nova-icons": "3.11.2",
54
54
  "autoprefixer": "^9.8.0",
55
55
  "classnames": "^2.2.6",
56
56
  "css-color-function": "^1.3.3",
@@ -65,12 +65,14 @@
65
65
  "postcss-color-function": "^4.1.0",
66
66
  "postcss-modules-values-replace": "^3.1.0",
67
67
  "qs": "6.9.4",
68
- "react": "17.0.2",
69
68
  "react-autosuggest": "^10.0.2",
70
69
  "react-dropzone": "^9.0.0",
71
70
  "react-jw-player": "1.19.1",
72
71
  "react-tooltip": "^4.2.6"
73
72
  },
73
+ "peerDependencies": {
74
+ "react": "^17.0.2"
75
+ },
74
76
  "devDependencies": {
75
77
  "@babel/cli": "^7.8.4",
76
78
  "@babel/core": "^7.9.6",
@@ -87,10 +89,10 @@
87
89
  "@babel/plugin-transform-destructuring": "^7.9.5",
88
90
  "@babel/preset-env": "^7.9.6",
89
91
  "@babel/preset-react": "^7.9.4",
90
- "@coorpacademy/css-modules-require-hook": "2.1.4-alpha.6.761+65c827e5d",
92
+ "@coorpacademy/css-modules-require-hook": "2.1.3",
91
93
  "@coorpacademy/eslint-plugin-coorpacademy": "^10.0.0",
92
- "@coorpacademy/translate": "6.1.4-alpha.6.761+65c827e5d",
93
- "@coorpacademy/webpack-config": "10.0.3-alpha.6.761+65c827e5d",
94
+ "@coorpacademy/translate": "6.1.3",
95
+ "@coorpacademy/webpack-config": "10.0.2",
94
96
  "@storybook/addon-knobs": "^5.3.18",
95
97
  "@storybook/addons": "^5.3.18",
96
98
  "@storybook/react": "^5.3.18",
@@ -113,7 +115,8 @@
113
115
  "nyc": "^15.0.1",
114
116
  "postcss-loader": "^3.0.0",
115
117
  "prop-types": "^15.7.2",
116
- "react-dom": "17.0.2",
118
+ "react": "^17.0.2",
119
+ "react-dom": "^17.0.2",
117
120
  "react-native": "^0.68.2",
118
121
  "rxjs": "^6.5.5",
119
122
  "style-loader": "^1.2.1",
@@ -123,5 +126,5 @@
123
126
  "webpack-hot-middleware": "^2.25.0"
124
127
  },
125
128
  "author": "CoorpAcademy",
126
- "gitHead": "65c827e5dea557a4b16b9e9aca568fc2c78a1ac9"
129
+ "gitHead": "24bbf404184a7bacb5a5e85cb35263be7af457dc"
127
130
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/template/review-dashboard-skills/index.js"],"names":["React","PropTypes","ReviewPresentation","ReviewSkills","style","ReviewDashboardSkills","props","ariaLabel","reviewPresentation","reviewSkills","reviewDashboardContainer","reviewPresentationContainer","reviewSkillsContainer","propTypes","string","shape"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,kBAAP,MAA+B,gCAA/B;AACA,OAAOC,YAAP,MAAyB,8BAAzB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,qBAAqB,GAAGC,KAAK,IAAI;AACrC,QAAM;AAAC,kBAAcC,SAAf;AAA0BC,IAAAA,kBAA1B;AAA8CC,IAAAA;AAA9C,MAA8DH,KAApE;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEF,KAAK,CAACM,wBAAtB;AAAgD,kBAAYH;AAA5D,kBACE;AAAK,IAAA,SAAS,EAAEH,KAAK,CAACO;AAAtB,kBACE,oBAAC,kBAAD,EAAwBH,kBAAxB,CADF,CADF,eAIE;AAAK,IAAA,SAAS,EAAEJ,KAAK,CAACQ;AAAtB,kBACE,oBAAC,YAAD,EAAkBH,YAAlB,CADF,CAJF,CADF;AAUD,CAbD;;AAeAJ,qBAAqB,CAACQ,SAAtB,2CAAkC;AAChC,gBAAcZ,SAAS,CAACa,MADQ;AAEhCN,EAAAA,kBAAkB,EAAEP,SAAS,CAACc,KAAV,CAAgBb,kBAAkB,CAACW,SAAnC,CAFY;AAGhCJ,EAAAA,YAAY,EAAER,SAAS,CAACc,KAAV,CAAgBZ,YAAY,CAACU,SAA7B;AAHkB,CAAlC;AAKA,eAAeR,qBAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ReviewPresentation from '../../atom/review-presentation';\nimport ReviewSkills from '../../organism/review-skills';\nimport style from './style.css';\n\nconst ReviewDashboardSkills = props => {\n const {'aria-label': ariaLabel, reviewPresentation, reviewSkills} = props;\n\n return (\n <div className={style.reviewDashboardContainer} aria-label={ariaLabel}>\n <div className={style.reviewPresentationContainer}>\n <ReviewPresentation {...reviewPresentation} />\n </div>\n <div className={style.reviewSkillsContainer}>\n <ReviewSkills {...reviewSkills} />\n </div>\n </div>\n );\n};\n\nReviewDashboardSkills.propTypes = {\n 'aria-label': PropTypes.string,\n reviewPresentation: PropTypes.shape(ReviewPresentation.propTypes),\n reviewSkills: PropTypes.shape(ReviewSkills.propTypes)\n};\nexport default ReviewDashboardSkills;\n"],"file":"index.js"}
@@ -1,10 +0,0 @@
1
- import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';
2
- import reviewSkills from '../../../../organism/review-skills/test/fixtures/loading';
3
- export default {
4
- props: {
5
- 'aria-label': 'Review Skills Template',
6
- reviewPresentation: reviewPresentation.props,
7
- reviewSkills: reviewSkills.props
8
- }
9
- };
10
- //# sourceMappingURL=loading.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/template/review-dashboard-skills/test/fixtures/loading.js"],"names":["reviewPresentation","reviewSkills","props"],"mappings":"AAAA,OAAOA,kBAAP,MAA+B,4DAA/B;AACA,OAAOC,YAAP,MAAyB,0DAAzB;AAEA,eAAe;AACbC,EAAAA,KAAK,EAAE;AACL,kBAAc,wBADT;AAELF,IAAAA,kBAAkB,EAAEA,kBAAkB,CAACE,KAFlC;AAGLD,IAAAA,YAAY,EAAEA,YAAY,CAACC;AAHtB;AADM,CAAf","sourcesContent":["import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';\nimport reviewSkills from '../../../../organism/review-skills/test/fixtures/loading';\n\nexport default {\n props: {\n 'aria-label': 'Review Skills Template',\n reviewPresentation: reviewPresentation.props,\n reviewSkills: reviewSkills.props\n }\n};\n"],"file":"loading.js"}
@@ -1,10 +0,0 @@
1
- import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';
2
- import reviewSkills from '../../../../organism/review-skills/test/fixtures/many-skills';
3
- export default {
4
- props: {
5
- 'aria-label': 'Review Skills Template',
6
- reviewPresentation: reviewPresentation.props,
7
- reviewSkills: reviewSkills.props
8
- }
9
- };
10
- //# sourceMappingURL=many-skills.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/template/review-dashboard-skills/test/fixtures/many-skills.js"],"names":["reviewPresentation","reviewSkills","props"],"mappings":"AAAA,OAAOA,kBAAP,MAA+B,4DAA/B;AACA,OAAOC,YAAP,MAAyB,8DAAzB;AAEA,eAAe;AACbC,EAAAA,KAAK,EAAE;AACL,kBAAc,wBADT;AAELF,IAAAA,kBAAkB,EAAEA,kBAAkB,CAACE,KAFlC;AAGLD,IAAAA,YAAY,EAAEA,YAAY,CAACC;AAHtB;AADM,CAAf","sourcesContent":["import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';\nimport reviewSkills from '../../../../organism/review-skills/test/fixtures/many-skills';\n\nexport default {\n props: {\n 'aria-label': 'Review Skills Template',\n reviewPresentation: reviewPresentation.props,\n reviewSkills: reviewSkills.props\n }\n};\n"],"file":"many-skills.js"}
@@ -1,10 +0,0 @@
1
- import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';
2
- import reviewSkills from '../../../../organism/review-skills/test/fixtures/no-skills';
3
- export default {
4
- props: {
5
- 'aria-label': 'Review Skills Template',
6
- reviewPresentation: reviewPresentation.props,
7
- reviewSkills: reviewSkills.props
8
- }
9
- };
10
- //# sourceMappingURL=no-skills.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/template/review-dashboard-skills/test/fixtures/no-skills.js"],"names":["reviewPresentation","reviewSkills","props"],"mappings":"AAAA,OAAOA,kBAAP,MAA+B,4DAA/B;AACA,OAAOC,YAAP,MAAyB,4DAAzB;AAEA,eAAe;AACbC,EAAAA,KAAK,EAAE;AACL,kBAAc,wBADT;AAELF,IAAAA,kBAAkB,EAAEA,kBAAkB,CAACE,KAFlC;AAGLD,IAAAA,YAAY,EAAEA,YAAY,CAACC;AAHtB;AADM,CAAf","sourcesContent":["import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';\nimport reviewSkills from '../../../../organism/review-skills/test/fixtures/no-skills';\n\nexport default {\n props: {\n 'aria-label': 'Review Skills Template',\n reviewPresentation: reviewPresentation.props,\n reviewSkills: reviewSkills.props\n }\n};\n"],"file":"no-skills.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/template/slides-review/index.js"],"names":["React","useState","useReducer","useMemo","PropTypes","classnames","getOr","omit","isNil","ReviewBackground","ICON_VALUES","ReviewCongrats","ReviewHeader","ReviewCorrectionPopin","Answer","ButtonLink","style","stylesByPosition","position0","position1","position2","position3","position4","TOTAL_SLIDES_STACK","HIGHEST_INDEX","getSlideAnimation","action","position","hidden","slideOutHideAndIn","slideOutAndIn","hiddenSlide","buildSlide","slideNumber","slidesState","updateSlides","primarySkinColor","validate","correctionPopinProps","updateStepItems","finishedSlides","updateFinishedSlides","updateReviewState","updateShouldMountSlides","endReview","validationResult","question","answer","get","onClick","onValidateClick","label","validateLabel","validateButtonProps","customStyle","backgroundColor","result","nextSlide","_endReview","numberOfFinishedSlides","size","setTimeout","icon","right","wrong","className","validateButton","disabled","klf","information","next","successLabel","failureLabel","_correctionPopinProps","setNext","current","type","resultLabel","questionOrigin","slideBase","slideContentContainer","help","answerContainer","validateButtonWrapper","correctionPopinWrapper","hiddenCorrectionPopinWrapper","display","slidesStateReducer","state","id","value","_state","Map","newValue","index","previousValue","set","getNextIndex","currentIndex","calculateNextStepIndex","currentSlideIndex","lastVisitedIndex","indexToVisit","has","stepItemsReducer","rest","nextIndex","finishedSlidesReducer","SlidesReview","headerProps","reviewBackgroundAriaLabel","firstSlide","congratsProps","context","skin","slidesInitialState","states","content","stepItemsInitialState","stepItemsState","reviewState","shouldMountSlides","builtStackedSlides","StackedSlides","push","stepItemsArray","Array","from","values","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","stackedSlidesContainer","congrats","propTypes","shape","string","func"],"mappings":"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","sourcesContent":["import React, {useState, useReducer, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport getOr from 'lodash/fp/getOr';\nimport omit from 'lodash/fp/omit';\nimport isNil from 'lodash/fp/isNil';\nimport ReviewBackground from '../../atom/review-background';\nimport {ICON_VALUES} from '../../atom/review-header-step-item';\nimport ReviewCongrats from '../../organism/review-congrats';\nimport ReviewHeader from '../../organism/review-header';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\n\nconst stylesByPosition = {\n 0: style.position0,\n 1: style.position1,\n 2: style.position2,\n 3: style.position3,\n 4: style.position4\n};\n\nconst TOTAL_SLIDES_STACK = 5;\nconst HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;\n\nconst getSlideAnimation = (action, position, hidden) => {\n switch (action) {\n case 'unstack':\n return style.slideOutHideAndIn;\n case 'restack':\n return style.slideOutAndIn;\n default:\n return hidden ? style.hiddenSlide : stylesByPosition[position];\n }\n};\n\nconst buildSlide = (\n slideNumber,\n slidesState,\n updateSlides,\n primarySkinColor,\n validate,\n correctionPopinProps,\n updateStepItems,\n finishedSlides,\n updateFinishedSlides,\n updateReviewState,\n updateShouldMountSlides\n) => {\n const {hidden, endReview, position, action, validationResult, question, answer} = slidesState.get(\n slideNumber\n );\n const {onClick: onValidateClick, label: validateLabel} = validate;\n\n const validateButtonProps = {\n customStyle: {\n backgroundColor: primarySkinColor\n },\n /* \n slide validation action, this will trigger the correction popin but will not trigger any\n animations unless the endReview signal is received (all slides will disappear),\n if there is a nextSlide content, it will be loaded here\n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n */\n onClick: async () => {\n const {validationResult: result, nextSlide, endReview: _endReview} = await onValidateClick();\n updateSlides([\n slideNumber,\n {\n hidden,\n position,\n validationResult: result,\n answer,\n question,\n nextSlide,\n numberOfFinishedSlides: finishedSlides.size,\n endReview: _endReview\n }\n ]);\n // on endReview, this gives some time for the slides to slide out && then launch\n // the 'finished' logic as it would happen when normally finishing the review\n if (_endReview) {\n updateReviewState('finished');\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n updateStepItems([\n slideNumber,\n {\n icon: result === 'success' ? ICON_VALUES.right : ICON_VALUES.wrong,\n finishedSlides\n }\n ]);\n // only stores successful slides\n if (result === 'success') updateFinishedSlides([slideNumber, true]);\n },\n 'aria-label': validateLabel,\n label: validateLabel,\n 'data-name': `slide-validate-button-${slideNumber}`,\n className: style.validateButton,\n disabled: !isNil(validationResult)\n };\n\n const {klf, information, next, successLabel, failureLabel} = correctionPopinProps;\n\n const _correctionPopinProps = {\n next: {\n /* \n next slide action, this will trigger the slides animations\n if it is the last slide AND the content needs to be different, then that update\n of the content will be handled here (and in the validate as it happens normally )\n from the content carried from the validate action.\n */\n onClick: () => {\n updateSlides([\n slideNumber,\n {\n hidden: validationResult === 'success',\n position: HIGHEST_INDEX - finishedSlides.size,\n action: validationResult === 'success' ? 'unstack' : 'restack',\n answer,\n question,\n validationResult,\n numberOfFinishedSlides: finishedSlides.size,\n endReview\n }\n ]);\n updateStepItems([\n slideNumber,\n {\n setNext: true,\n finishedSlides,\n current: finishedSlides.size === HIGHEST_INDEX && validationResult !== 'success'\n }\n ]);\n // if slides are successfully reviewed, then trigger the 'finished' state\n if (finishedSlides.size === TOTAL_SLIDES_STACK) {\n updateReviewState('finished');\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n },\n label: next.label,\n 'data-name': `next-question-button-${slideNumber}`,\n 'aria-label': next['aria-label']\n },\n klf,\n information,\n type: validationResult === 'success' ? 'right' : 'wrong',\n resultLabel: validationResult === 'success' ? successLabel : failureLabel\n };\n\n const questionOrigin = 'From \"Master Design Thinking to become more agile\" course';\n\n return (\n <div\n key={`slide-${slideNumber}`}\n data-name={`slide-${slideNumber}`}\n className={classnames(\n style.slideBase,\n getSlideAnimation(action, position, hidden),\n endReview ? style.endReview : null\n )}\n >\n {answer && question ? (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div key=\"title\" className={style.question}>\n {question}\n </div>\n <div key=\"help\" className={style.help}>\n {answer.help}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answer} key=\"answer\" />\n </div>\n </div>\n ) : null}\n\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n <div\n className={\n validationResult ? style.correctionPopinWrapper : style.hiddenCorrectionPopinWrapper\n }\n style={{\n ...(finishedSlides.size !== HIGHEST_INDEX &&\n !validationResult && {\n display: 'none'\n })\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n </div>\n );\n};\n\n// ||-------> Handles the updates of a given slide (using the 'id' in the action),\n// & then updates de remaining slides if this given change should impact their content\nconst slidesStateReducer = (state, action) => {\n const [id, value] = action;\n const _state = new Map();\n\n const {nextSlide, numberOfFinishedSlides, ...newValue} = value;\n\n // eslint-disable-next-line fp/no-loops\n for (const [index, previousValue] of state) {\n if (index === id) {\n // update the given slide\n if (nextSlide && numberOfFinishedSlides === HIGHEST_INDEX) {\n _state.set(index, {\n ...previousValue,\n nextSlide,\n position: newValue.position,\n validationResult: newValue.validationResult\n });\n } else if (numberOfFinishedSlides === HIGHEST_INDEX && previousValue.nextSlide) {\n _state.set(index, {...previousValue.nextSlide, position: previousValue.position});\n } else _state.set(id, newValue);\n } else {\n // updates the rest of the slides here\n const {hidden, position, answer, question} = previousValue;\n if (nextSlide) {\n _state.set(index, {...nextSlide, endReview: newValue.endReview, hidden, position});\n } else {\n _state.set(index, {\n hidden,\n position: position - 1,\n answer,\n question,\n endReview: newValue.endReview\n });\n }\n }\n }\n\n return _state;\n};\n\n// ||-------> aux function, finds the consecutive index to loop from 0 to HIGHEST_INDEX (4) & again to 0\nconst getNextIndex = currentIndex => (currentIndex === HIGHEST_INDEX ? 0 : currentIndex + 1);\n\n// ||-------> calculates which should be the next step to visit (as there can be already answered slides &&\n// they have to be skipped)\nconst calculateNextStepIndex = (currentSlideIndex, finishedSlides, lastVisitedIndex = null) => {\n // only one slide remaining\n if (lastVisitedIndex === currentSlideIndex) {\n return currentSlideIndex;\n }\n\n const indexToVisit = getNextIndex(isNil(lastVisitedIndex) ? currentSlideIndex : lastVisitedIndex);\n\n return finishedSlides.has(indexToVisit)\n ? calculateNextStepIndex(currentSlideIndex, finishedSlides, indexToVisit)\n : indexToVisit;\n};\n\n// ||-------> Handles the updates of a given step item (using the 'id' in the action),\n// & then updates de remaining step items if this given change should impact their content\nconst stepItemsReducer = (state, action) => {\n const [id, value] = action;\n const {setNext, finishedSlides, ...rest} = value;\n const _state = new Map();\n const nextIndex = !rest.current && setNext ? calculateNextStepIndex(id, finishedSlides) : null;\n\n // eslint-disable-next-line fp/no-loops\n for (const [index, previousValue] of state) {\n if (id === index)\n _state.set(id, {\n ...previousValue,\n ...rest\n });\n else if (setNext && nextIndex === index) {\n _state.set(index, {...previousValue, current: true});\n } else _state.set(index, previousValue);\n }\n\n return _state;\n};\n\n// ||-------> Stores the correctly answered (finished) slides, the initial state is an empty Map\nconst finishedSlidesReducer = (state, action) => {\n const [id, value] = action;\n const _state = new Map();\n\n // eslint-disable-next-line fp/no-loops\n for (const [index, previousValue] of state) {\n _state.set(index, previousValue);\n }\n\n _state.set(id, value);\n\n return _state;\n};\n\nconst SlidesReview = (\n {\n headerProps,\n reviewBackgroundAriaLabel,\n validate,\n correctionPopinProps,\n firstSlide,\n congratsProps\n },\n context\n) => {\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n\n // ||-------> States init: build initial states && memoize them + reducers creation\n const slidesInitialState = useMemo(() => {\n const states = new Map();\n const {answer, question} = firstSlide;\n // eslint-disable-next-line fp/no-loops\n for (let index = 0; index < TOTAL_SLIDES_STACK; index++) {\n const content = index === 0 ? {answer, question} : {};\n states.set(index, {...content, hidden: false, position: index});\n }\n return states;\n }, [firstSlide]);\n\n const stepItemsInitialState = useMemo(() => {\n const states = new Map();\n // eslint-disable-next-line fp/no-loops\n for (let index = 0; index < TOTAL_SLIDES_STACK; index++) {\n const current = index === 0;\n states.set(index, {current, value: `${index + 1}`, icon: null});\n }\n return states;\n }, []);\n\n const [finishedSlides, updateFinishedSlides] = useReducer(finishedSlidesReducer, new Map());\n\n const [slidesState, updateSlides] = useReducer(slidesStateReducer, slidesInitialState);\n\n const [stepItemsState, updateStepItems] = useReducer(stepItemsReducer, stepItemsInitialState);\n\n const [reviewState, updateReviewState] = useState('ongoing');\n\n /*\n ||-------> the slides have an slightly longer lifespan than the \"ongoing\" review State,\n after reviewState changes to \"finished\" the slides don't have to unmount until the last\n slide-out animation is finished, the slides have to be unmounted to be RGAA complaint \n (if they are only invisible but still mounted, then they will be found the assisting tools & clutter it)\n */\n const [shouldMountSlides, updateShouldMountSlides] = useState(true);\n\n // ||-------> build each slide, passing down the reducers that will act on validation & next clicks\n const builtStackedSlides = useMemo(() => {\n const StackedSlides = [];\n // eslint-disable-next-line fp/no-loops\n for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {\n StackedSlides.push(\n buildSlide(\n slideNumber,\n slidesState,\n updateSlides,\n primarySkinColor,\n validate,\n correctionPopinProps,\n updateStepItems,\n finishedSlides,\n updateFinishedSlides,\n updateReviewState,\n updateShouldMountSlides\n )\n );\n }\n\n return StackedSlides;\n }, [slidesState, primarySkinColor, validate, correctionPopinProps, finishedSlides]);\n\n // ||-------> transform the step items state (Map structure) to an Array\n const stepItemsArray = useMemo(() => {\n // eslint-disable-next-line unicorn/prefer-spread\n return Array.from(stepItemsState.values());\n }, [stepItemsState]);\n\n const _headerProps = {\n ...headerProps,\n steps: stepItemsArray,\n key: 'review-header',\n hiddenSteps: reviewState !== 'ongoing'\n };\n\n return (\n <div\n key=\"slides-revision-container\"\n data-name=\"slides-revision-container\"\n className={style.slidesRevisionContainer}\n >\n <div key=\"player-background-container\" className={style.playerBackground}>\n <ReviewBackground aria-label={reviewBackgroundAriaLabel} />\n </div>\n\n <ReviewHeader {..._headerProps} />\n\n {shouldMountSlides ? (\n <div\n key=\"stacked-slides-container\"\n data-name=\"stacked-slides-container\"\n className={style.stackedSlidesContainer}\n >\n {builtStackedSlides}\n </div>\n ) : null}\n\n {reviewState === 'finished' ? (\n <div className={style.congrats}>\n <ReviewCongrats {...congratsProps} />\n </div>\n ) : null}\n </div>\n );\n};\n\nSlidesReview.propTypes = {\n headerProps: PropTypes.shape(omit(['steps', ''], ReviewHeader.propTypes)),\n reviewBackgroundAriaLabel: ReviewBackground.propTypes['aria-label'],\n validate: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func\n }),\n firstSlide: PropTypes.shape({\n question: PropTypes.string,\n answer: PropTypes.shape(Answer.propTypes)\n }),\n correctionPopinProps: PropTypes.shape({\n klf: ReviewCorrectionPopin.propTypes.klf,\n information: ReviewCorrectionPopin.propTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n successLabel: ReviewCorrectionPopin.propTypes.resultLabel,\n failureLabel: ReviewCorrectionPopin.propTypes.resultLabel\n }),\n congratsProps: PropTypes.shape(ReviewCongrats.propTypes)\n};\n\nexport default SlidesReview;\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/template/slides-review/test/fixtures/failure.js"],"names":["headerProps","congratsProps","AnswerQCMDrag","AnswerQCMGraphic","correctionPopinProps","qcmDrag","props","qcmGraphic","onValidateClick","console","log","Promise","resolve","validationResult","nextSlide","question","answer","endReview","reviewBackgroundAriaLabel","validate","label","onClick","firstSlide"],"mappings":"AAAA,OAAOA,WAAP,MAAwB,uEAAxB;AACA,OAAOC,aAAP,MAA0B,4DAA1B;AACA,OAAOC,aAAP,MAA0B,oDAA1B;AACA,OAAOC,gBAAP,MAA6B,uDAA7B;AACA,SAAQC,oBAAR,QAAmC,WAAnC;AAEA,MAAMC,OAAO,GAAGH,aAAa,CAACI,KAA9B;AACA,MAAMC,UAAU,GAAGJ,gBAAgB,CAACG,KAApC;;AAEA,MAAME,eAAe,GAAG,MAAM;AAC5BC,EAAAA,OAAO,CAACC,GAAR,CAAY,iBAAZ;AACA,SAAOC,OAAO,CAACC,OAAR,CAAgB;AACrBC,IAAAA,gBAAgB,EAAE,SADG;AAErBC,IAAAA,SAAS,EAAE;AAACC,MAAAA,QAAQ,EAAE,iBAAX;AAA8BC,MAAAA,MAAM,EAAET;AAAtC,KAFU;AAGrBU,IAAAA,SAAS,EAAE;AAHU,GAAhB,CAAP;AAKD,CAPD;;AASA,eAAe;AACbX,EAAAA,KAAK,EAAE;AACLN,IAAAA,WAAW,EAAEA,WAAW,CAACM,KADpB;AAELY,IAAAA,yBAAyB,EAAE,gBAFtB;AAGLC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,KAAK,EAAE,UADC;AAERC,MAAAA,OAAO,EAAEb;AAFD,KAHL;AAOLc,IAAAA,UAAU,EAAE;AACVP,MAAAA,QAAQ,EAAE,0DADA;AAEVC,MAAAA,MAAM,EAAEX;AAFE,KAPP;AAWLD,IAAAA,oBAXK;AAYLH,IAAAA,aAAa,EAAEA,aAAa,CAACK;AAZxB;AADM,CAAf","sourcesContent":["import headerProps from '../../../../organism/review-header/test/fixtures/no-answered-question';\nimport congratsProps from '../../../../organism/review-congrats/test/fixtures/default';\nimport AnswerQCMDrag from '../../../../molecule/answer/test/fixtures/qcm-drag';\nimport AnswerQCMGraphic from '../../../../molecule/answer/test/fixtures/qcm-graphic';\nimport {correctionPopinProps} from './success';\n\nconst qcmDrag = AnswerQCMDrag.props;\nconst qcmGraphic = AnswerQCMGraphic.props;\n\nconst onValidateClick = () => {\n console.log('onValidateClick');\n return Promise.resolve({\n validationResult: 'failure',\n nextSlide: {question: 'Other question?', answer: qcmGraphic},\n endReview: false\n });\n};\n\nexport default {\n props: {\n headerProps: headerProps.props,\n reviewBackgroundAriaLabel: 'review BG Aria',\n validate: {\n label: 'Validate',\n onClick: onValidateClick\n },\n firstSlide: {\n question: 'Hey there! ......dramatic suspense..... ready to answer?',\n answer: qcmDrag\n },\n correctionPopinProps,\n congratsProps: congratsProps.props\n }\n};\n"],"file":"failure.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/template/slides-review/test/fixtures/only-once-on-last-slide.js"],"names":["AnswerQCMGraphic","successFixture","qcmGraphic","props","numberOfTries","onValidateClick","console","log","Promise","resolve","validationResult","nextSlide","question","answer","endReview","validate","label","onClick"],"mappings":";;AAAA,OAAOA,gBAAP,MAA6B,uDAA7B;AACA,OAAOC,cAAP,MAA2B,WAA3B;AAEA,MAAMC,UAAU,GAAGF,gBAAgB,CAACG,KAApC;AAEA,IAAIC,aAAa,GAAG,CAApB;;AACA,MAAMC,eAAe,GAAG,MAAM;AAC5BD,EAAAA,aAAa,GAAGA,aAAa,GAAG,CAAhC;AACAE,EAAAA,OAAO,CAACC,GAAR,CAAY,iBAAZ;AACA,SAAOC,OAAO,CAACC,OAAR,CAAgB;AACrBC,IAAAA,gBAAgB,EAAEN,aAAa,KAAK,CAAlB,GAAsB,SAAtB,GAAkC,SAD/B;AAErBO,IAAAA,SAAS,EAAE;AAACC,MAAAA,QAAQ,EAAE,iBAAX;AAA8BC,MAAAA,MAAM,EAAEX;AAAtC,KAFU;AAGrBY,IAAAA,SAAS,EAAE;AAHU,GAAhB,CAAP;AAKD,CARD;;AAUA,eAAe;AACbX,EAAAA,KAAK,wBACAF,cAAc,CAACE,KADf;AAEHY,IAAAA,QAAQ,EAAE;AACRC,MAAAA,KAAK,EAAE,UADC;AAERC,MAAAA,OAAO,EAAEZ;AAFD;AAFP;AADQ,CAAf","sourcesContent":["import AnswerQCMGraphic from '../../../../molecule/answer/test/fixtures/qcm-graphic';\nimport successFixture from './success';\n\nconst qcmGraphic = AnswerQCMGraphic.props;\n\nlet numberOfTries = 0;\nconst onValidateClick = () => {\n numberOfTries = numberOfTries + 1;\n console.log('onValidateClick');\n return Promise.resolve({\n validationResult: numberOfTries === 5 ? 'failure' : 'success',\n nextSlide: {question: 'other question?', answer: qcmGraphic},\n endReview: false\n });\n};\n\nexport default {\n props: {\n ...successFixture.props,\n validate: {\n label: 'Validate',\n onClick: onValidateClick\n }\n }\n};\n"],"file":"only-once-on-last-slide.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/template/slides-review/test/fixtures/random-responses.js"],"names":["random","AnswerQCMDrag","AnswerQCMGraphic","successFixture","getRandomResult","qcmDrag","props","qcmGraphic","onValidateClick","console","log","result","Promise","resolve","validationResult","nextSlide","question","answer","endReview","validate","label","onClick"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,kBAAnB;AACA,OAAOC,aAAP,MAA0B,oDAA1B;AACA,OAAOC,gBAAP,MAA6B,uDAA7B;AACA,OAAOC,cAAP,MAA2B,WAA3B;;AAEA,MAAMC,eAAe,GAAG,MAAOJ,MAAM,CAAC,CAAD,EAAI,GAAJ,CAAN,IAAkB,EAAlB,GAAuB,SAAvB,GAAmC,SAAlE;;AAEA,MAAMK,OAAO,GAAGJ,aAAa,CAACK,KAA9B;AACA,MAAMC,UAAU,GAAGL,gBAAgB,CAACI,KAApC;;AAEA,MAAME,eAAe,GAAG,MAAM;AAC5BC,EAAAA,OAAO,CAACC,GAAR,CAAY,iBAAZ;AACA,QAAMC,MAAM,GAAGP,eAAe,EAA9B;AACA,SAAOQ,OAAO,CAACC,OAAR,CAAgB;AACrBC,IAAAA,gBAAgB,EAAEH,MADG;AAErBI,IAAAA,SAAS,EAAE;AAACC,MAAAA,QAAQ,EAAE,iBAAX;AAA8BC,MAAAA,MAAM,EAAEN,MAAM,KAAK,SAAX,GAAuBN,OAAvB,GAAiCE;AAAvE,KAFU;AAGrBW,IAAAA,SAAS,EAAE;AAHU,GAAhB,CAAP;AAKD,CARD;;AAUA,eAAe;AACbZ,EAAAA,KAAK,wBACAH,cAAc,CAACG,KADf;AAEHa,IAAAA,QAAQ,EAAE;AACRC,MAAAA,KAAK,EAAE,UADC;AAERC,MAAAA,OAAO,EAAEb;AAFD;AAFP;AADQ,CAAf","sourcesContent":["import random from 'lodash/fp/random';\nimport AnswerQCMDrag from '../../../../molecule/answer/test/fixtures/qcm-drag';\nimport AnswerQCMGraphic from '../../../../molecule/answer/test/fixtures/qcm-graphic';\nimport successFixture from './success';\n\nconst getRandomResult = () => (random(0, 100) >= 45 ? 'success' : 'failure');\n\nconst qcmDrag = AnswerQCMDrag.props;\nconst qcmGraphic = AnswerQCMGraphic.props;\n\nconst onValidateClick = () => {\n console.log('onValidateClick');\n const result = getRandomResult();\n return Promise.resolve({\n validationResult: result,\n nextSlide: {question: 'Other question?', answer: result === 'success' ? qcmDrag : qcmGraphic},\n endReview: false\n });\n};\n\nexport default {\n props: {\n ...successFixture.props,\n validate: {\n label: 'Validate',\n onClick: onValidateClick\n }\n }\n};\n"],"file":"random-responses.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/template/slides-review/test/fixtures/success.js"],"names":["headerProps","congratsProps","AnswerQCMDrag","AnswerQCMGraphic","qcmDrag","props","qcmGraphic","onValidateClick","console","log","Promise","resolve","validationResult","nextSlide","question","answer","endReview","correctionPopinProps","klf","label","tooltip","onClick","information","message","next","successLabel","failureLabel","reviewBackgroundAriaLabel","validate","firstSlide"],"mappings":"AAAA,OAAOA,WAAP,MAAwB,uEAAxB;AACA,OAAOC,aAAP,MAA0B,4DAA1B;AACA,OAAOC,aAAP,MAA0B,oDAA1B;AACA,OAAOC,gBAAP,MAA6B,uDAA7B;AAEA,MAAMC,OAAO,GAAGF,aAAa,CAACG,KAA9B;AACA,MAAMC,UAAU,GAAGH,gBAAgB,CAACE,KAApC;;AAEA,MAAME,eAAe,GAAG,MAAM;AAC5BC,EAAAA,OAAO,CAACC,GAAR,CAAY,iBAAZ;AACA,SAAOC,OAAO,CAACC,OAAR,CAAgB;AACrBC,IAAAA,gBAAgB,EAAE,SADG;AAErBC,IAAAA,SAAS,EAAE;AAACC,MAAAA,QAAQ,EAAE,iBAAX;AAA8BC,MAAAA,MAAM,EAAET;AAAtC,KAFU;AAGrBU,IAAAA,SAAS,EAAE;AAHU,GAAhB,CAAP;AAKD,CAPD;;AASA,OAAO,MAAMC,oBAAoB,GAAG;AAClCC,EAAAA,GAAG,EAAE;AACHC,IAAAA,KAAK,EAAE,qBADJ;AAEHC,IAAAA,OAAO,EAAE,oBAFN;AAGHC,IAAAA,OAAO,EAAE,MAAM;AACbb,MAAAA,OAAO,CAACC,GAAR,CAAY,aAAZ;AACD;AALE,GAD6B;AAQlCa,EAAAA,WAAW,EAAE;AACXH,IAAAA,KAAK,EAAE,qBADI;AAEXI,IAAAA,OAAO,EAAE;AAFE,GARqB;AAYlCC,EAAAA,IAAI,EAAE;AACJL,IAAAA,KAAK,EAAE;AADH,GAZ4B;AAelCM,EAAAA,YAAY,EAAE,gBAfoB;AAgBlCC,EAAAA,YAAY,EAAE;AAhBoB,CAA7B;AAmBP,eAAe;AACbrB,EAAAA,KAAK,EAAE;AACLL,IAAAA,WAAW,EAAEA,WAAW,CAACK,KADpB;AAELsB,IAAAA,yBAAyB,EAAE,gBAFtB;AAGLC,IAAAA,QAAQ,EAAE;AACRT,MAAAA,KAAK,EAAE,UADC;AAERE,MAAAA,OAAO,EAAEd;AAFD,KAHL;AAOLsB,IAAAA,UAAU,EAAE;AACVf,MAAAA,QAAQ,EAAE,4DADA;AAEVC,MAAAA,MAAM,EAAEX;AAFE,KAPP;AAWLa,IAAAA,oBAXK;AAYLhB,IAAAA,aAAa,EAAEA,aAAa,CAACI;AAZxB;AADM,CAAf","sourcesContent":["import headerProps from '../../../../organism/review-header/test/fixtures/no-answered-question';\nimport congratsProps from '../../../../organism/review-congrats/test/fixtures/default';\nimport AnswerQCMDrag from '../../../../molecule/answer/test/fixtures/qcm-drag';\nimport AnswerQCMGraphic from '../../../../molecule/answer/test/fixtures/qcm-graphic';\n\nconst qcmDrag = AnswerQCMDrag.props;\nconst qcmGraphic = AnswerQCMGraphic.props;\n\nconst onValidateClick = () => {\n console.log('onValidateClick');\n return Promise.resolve({\n validationResult: 'success',\n nextSlide: {question: 'other question?', answer: qcmGraphic},\n endReview: false\n });\n};\n\nexport const correctionPopinProps = {\n klf: {\n label: 'Key learning factor',\n tooltip: 'Some tooltip info.',\n onClick: () => {\n console.log('klf onClick');\n }\n },\n information: {\n label: 'Key learning factor',\n message: 'info msg'\n },\n next: {\n label: 'Next'\n },\n successLabel: 'CORRECT ANSWER',\n failureLabel: 'WRONG ANSWER'\n};\n\nexport default {\n props: {\n headerProps: headerProps.props,\n reviewBackgroundAriaLabel: 'review BG Aria',\n validate: {\n label: 'Validate',\n onClick: onValidateClick\n },\n firstSlide: {\n question: 'Hey there, .....suspense.... ready to select some answers?',\n answer: qcmDrag\n },\n correctionPopinProps,\n congratsProps: congratsProps.props\n }\n};\n"],"file":"success.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/template/slides-review/test/slides-review.js"],"names":["browserEnv","test","React","render","fireEvent","act","SlidesReview","AnswerQCMDrag","successFixture","failureFixture","failOnceOnLastSlideFixture","pretendToBeVisual","elementExists","foundElements","sleep","msToSleep","Promise","resolve","setTimeout","waitForRevisionEndChanges","qcmDrag","props","LIMIT","clickAllSlides","t","container","accumulator","validateButton","querySelectorAll","truthy","click","nextButton","serial","wrapper","stackedSlidesContainer","falsy","pass","plan","onValidateClick","validationResult","nextSlide","question","answer","endReview","validate","label","onClick"],"mappings":"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","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {render, fireEvent, act} from '@testing-library/react';\nimport SlidesReview from '..';\nimport AnswerQCMDrag from '../../../molecule/answer/test/fixtures/qcm-drag';\nimport successFixture from './fixtures/success';\nimport failureFixture from './fixtures/failure';\nimport failOnceOnLastSlideFixture from './fixtures/only-once-on-last-slide';\n\nbrowserEnv({pretendToBeVisual: true});\n\nconst elementExists = foundElements => foundElements && foundElements[0];\n\nconst sleep = msToSleep => new Promise(resolve => setTimeout(resolve, msToSleep));\n\nconst waitForRevisionEndChanges = async () => {\n await act(async () => {\n await sleep(2500); // wait *just* a little longer than the timeout in the component\n });\n};\n\nconst qcmDrag = AnswerQCMDrag.props;\n\nconst LIMIT = 5;\n\nconst clickAllSlides = async (t, container, accumulator = 0) => {\n if (accumulator === LIMIT) return;\n\n // last one needs to wait for more calculations && components updates\n if (accumulator === 4)\n await act(async () => {\n await sleep(2000);\n });\n\n const validateButton = container.querySelectorAll(\n `[data-name=\"slide-validate-button-${accumulator}\"]`\n );\n t.truthy(elementExists(validateButton));\n\n await act(async () => {\n await fireEvent.click(validateButton[0]);\n });\n\n const nextButton = container.querySelectorAll(\n `[data-name=\"next-question-button-${accumulator}\"]`\n );\n t.truthy(elementExists(nextButton));\n\n await act(async () => {\n await fireEvent.click(nextButton[0]);\n });\n\n await clickAllSlides(t, container, accumulator + 1);\n};\n\ntest.serial('should validate all the slides && unmount the stacked slides after', async t => {\n const {container} = render(<SlidesReview {...successFixture.props} key={0} />);\n\n const wrapper = container.querySelectorAll('[data-name=\"slides-revision-container\"]');\n t.truthy(wrapper);\n\n let stackedSlidesContainer = container.querySelectorAll('[data-name=\"stacked-slides-container\"]');\n t.truthy(elementExists(stackedSlidesContainer));\n\n await clickAllSlides(t, container);\n\n await waitForRevisionEndChanges();\n\n stackedSlidesContainer = container.querySelectorAll('[data-name=\"stacked-slides-container\"]');\n t.falsy(elementExists(stackedSlidesContainer));\n\n t.pass();\n});\n\ntest.serial('should validate all the slides except the last one, retry and pass', async t => {\n const {container} = render(<SlidesReview {...failOnceOnLastSlideFixture.props} key={1} />);\n\n const wrapper = container.querySelectorAll('[data-name=\"slides-revision-container\"]');\n t.truthy(wrapper);\n\n const stackedSlidesContainer = container.querySelectorAll(\n '[data-name=\"stacked-slides-container\"]'\n );\n t.truthy(elementExists(stackedSlidesContainer));\n\n // loop once\n await clickAllSlides(t, container);\n\n // fail the first slide again (the other slides are passed)\n const validateButton = container.querySelectorAll('[data-name=\"slide-validate-button-0\"]');\n t.truthy(elementExists(validateButton));\n\n await act(async () => {\n await fireEvent.click(validateButton[0]);\n });\n\n t.pass();\n});\n\ntest.serial('should fail all the slides && still find the stacked slides after', async t => {\n const {container} = render(<SlidesReview {...failureFixture.props} key={2} />);\n\n const wrapper = container.querySelectorAll('[data-name=\"slides-revision-container\"]');\n t.truthy(wrapper);\n\n let stackedSlidesContainer = container.querySelectorAll('[data-name=\"stacked-slides-container\"]');\n t.truthy(elementExists(stackedSlidesContainer));\n\n // loop once\n await clickAllSlides(t, container);\n\n // fail the first slide again (all the other slides are also on fail state)\n const validateButton = container.querySelectorAll('[data-name=\"slide-validate-button-0\"]');\n t.truthy(elementExists(validateButton));\n\n await act(async () => {\n await fireEvent.click(validateButton[0]);\n });\n\n stackedSlidesContainer = container.querySelectorAll('[data-name=\"stacked-slides-container\"]');\n t.truthy(elementExists(stackedSlidesContainer));\n\n t.pass();\n});\n\ntest.serial('should end Revision on signal && unmount the stacked slides after', async t => {\n t.plan(6);\n const onValidateClick = () => {\n t.pass();\n return Promise.resolve({\n validationResult: 'failure',\n nextSlide: {question: 'Other question?', answer: qcmDrag},\n endReview: true\n });\n };\n\n const props = {\n ...failureFixture.props,\n validate: {\n label: failureFixture.props.validate.label,\n onClick: onValidateClick\n }\n };\n\n const {container} = render(<SlidesReview {...props} key={3} />);\n\n const wrapper = container.querySelectorAll('[data-name=\"slides-revision-container\"]');\n t.truthy(wrapper);\n\n let stackedSlidesContainer = container.querySelectorAll('[data-name=\"stacked-slides-container\"]');\n t.truthy(elementExists(stackedSlidesContainer));\n\n const validateButton = container.querySelectorAll('[data-name=\"slide-validate-button-0\"]');\n t.truthy(elementExists(validateButton));\n\n await act(async () => {\n await fireEvent.click(validateButton[0]);\n });\n\n await waitForRevisionEndChanges();\n\n stackedSlidesContainer = container.querySelectorAll('[data-name=\"stacked-slides-container\"]');\n t.falsy(elementExists(stackedSlidesContainer));\n\n t.pass();\n});\n"],"file":"slides-review.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/template/review-dashboard-skills/index.js"],"names":["ReviewDashboardSkills","props","ariaLabel","reviewPresentation","reviewSkills","style","reviewDashboardContainer","reviewPresentationContainer","reviewSkillsContainer","propTypes","PropTypes","string","shape","ReviewPresentation","ReviewSkills"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,qBAAqB,GAAGC,KAAK,IAAI;AACrC,QAAM;AAAC,kBAAcC,SAAf;AAA0BC,IAAAA,kBAA1B;AAA8CC,IAAAA;AAA9C,MAA8DH,KAApE;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEI,eAAMC,wBAAtB;AAAgD,kBAAYJ;AAA5D,kBACE;AAAK,IAAA,SAAS,EAAEG,eAAME;AAAtB,kBACE,6BAAC,2BAAD,EAAwBJ,kBAAxB,CADF,CADF,eAIE;AAAK,IAAA,SAAS,EAAEE,eAAMG;AAAtB,kBACE,6BAAC,qBAAD,EAAkBJ,YAAlB,CADF,CAJF,CADF;AAUD,CAbD;;AAeAJ,qBAAqB,CAACS,SAAtB,2CAAkC;AAChC,gBAAcC,mBAAUC,MADQ;AAEhCR,EAAAA,kBAAkB,EAAEO,mBAAUE,KAAV,CAAgBC,4BAAmBJ,SAAnC,CAFY;AAGhCL,EAAAA,YAAY,EAAEM,mBAAUE,KAAV,CAAgBE,sBAAaL,SAA7B;AAHkB,CAAlC;eAKeT,qB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ReviewPresentation from '../../atom/review-presentation';\nimport ReviewSkills from '../../organism/review-skills';\nimport style from './style.css';\n\nconst ReviewDashboardSkills = props => {\n const {'aria-label': ariaLabel, reviewPresentation, reviewSkills} = props;\n\n return (\n <div className={style.reviewDashboardContainer} aria-label={ariaLabel}>\n <div className={style.reviewPresentationContainer}>\n <ReviewPresentation {...reviewPresentation} />\n </div>\n <div className={style.reviewSkillsContainer}>\n <ReviewSkills {...reviewSkills} />\n </div>\n </div>\n );\n};\n\nReviewDashboardSkills.propTypes = {\n 'aria-label': PropTypes.string,\n reviewPresentation: PropTypes.shape(ReviewPresentation.propTypes),\n reviewSkills: PropTypes.shape(ReviewSkills.propTypes)\n};\nexport default ReviewDashboardSkills;\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/template/review-dashboard-skills/test/fixtures/loading.js"],"names":["props","reviewPresentation","reviewSkills"],"mappings":";;;;;AAAA;;AACA;;;;eAEe;AACbA,EAAAA,KAAK,EAAE;AACL,kBAAc,wBADT;AAELC,IAAAA,kBAAkB,EAAEA,kBAAmBD,KAFlC;AAGLE,IAAAA,YAAY,EAAEA,iBAAaF;AAHtB;AADM,C","sourcesContent":["import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';\nimport reviewSkills from '../../../../organism/review-skills/test/fixtures/loading';\n\nexport default {\n props: {\n 'aria-label': 'Review Skills Template',\n reviewPresentation: reviewPresentation.props,\n reviewSkills: reviewSkills.props\n }\n};\n"],"file":"loading.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/template/review-dashboard-skills/test/fixtures/many-skills.js"],"names":["props","reviewPresentation","reviewSkills"],"mappings":";;;;;AAAA;;AACA;;;;eAEe;AACbA,EAAAA,KAAK,EAAE;AACL,kBAAc,wBADT;AAELC,IAAAA,kBAAkB,EAAEA,kBAAmBD,KAFlC;AAGLE,IAAAA,YAAY,EAAEA,oBAAaF;AAHtB;AADM,C","sourcesContent":["import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';\nimport reviewSkills from '../../../../organism/review-skills/test/fixtures/many-skills';\n\nexport default {\n props: {\n 'aria-label': 'Review Skills Template',\n reviewPresentation: reviewPresentation.props,\n reviewSkills: reviewSkills.props\n }\n};\n"],"file":"many-skills.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/template/review-dashboard-skills/test/fixtures/no-skills.js"],"names":["props","reviewPresentation","reviewSkills"],"mappings":";;;;;AAAA;;AACA;;;;eAEe;AACbA,EAAAA,KAAK,EAAE;AACL,kBAAc,wBADT;AAELC,IAAAA,kBAAkB,EAAEA,kBAAmBD,KAFlC;AAGLE,IAAAA,YAAY,EAAEA,kBAAaF;AAHtB;AADM,C","sourcesContent":["import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';\nimport reviewSkills from '../../../../organism/review-skills/test/fixtures/no-skills';\n\nexport default {\n props: {\n 'aria-label': 'Review Skills Template',\n reviewPresentation: reviewPresentation.props,\n reviewSkills: reviewSkills.props\n }\n};\n"],"file":"no-skills.js"}