@coorpacademy/components 10.21.1 → 10.21.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 (60) hide show
  1. package/es/atom/content-badge/index.js +15 -3
  2. package/es/atom/content-badge/index.js.map +1 -1
  3. package/es/atom/content-badge/style.css +6 -0
  4. package/es/atom/input-checkbox/index.js +4 -2
  5. package/es/atom/input-checkbox/index.js.map +1 -1
  6. package/es/atom/review-header-step-item/index.js +3 -2
  7. package/es/atom/review-header-step-item/index.js.map +1 -1
  8. package/es/molecule/banner/index.js +9 -4
  9. package/es/molecule/banner/index.js.map +1 -1
  10. package/es/molecule/banner/style.css +41 -6
  11. package/es/molecule/card/index.js +5 -1
  12. package/es/molecule/card/index.js.map +1 -1
  13. package/es/molecule/card/selectable.css +49 -2
  14. package/es/molecule/card/selectable.js +10 -2
  15. package/es/molecule/card/selectable.js.map +1 -1
  16. package/es/molecule/cm-popin/index.js +12 -5
  17. package/es/molecule/cm-popin/index.js.map +1 -1
  18. package/es/molecule/cm-popin/style.css +28 -0
  19. package/es/molecule/go1-banner/index.js +56 -0
  20. package/es/molecule/go1-banner/index.js.map +1 -0
  21. package/es/molecule/go1-banner/style.css +90 -0
  22. package/es/organism/brand-dashboard/index.js +6 -3
  23. package/es/organism/brand-dashboard/index.js.map +1 -1
  24. package/es/organism/mooc-header/style.css +2 -2
  25. package/es/template/app-review/slides/index.js +25 -26
  26. package/es/template/app-review/slides/index.js.map +1 -1
  27. package/es/template/app-review/slides/prop-types.js +4 -4
  28. package/es/template/app-review/slides/prop-types.js.map +1 -1
  29. package/es/variables/colors.css +4 -0
  30. package/lib/atom/content-badge/index.js +17 -4
  31. package/lib/atom/content-badge/index.js.map +1 -1
  32. package/lib/atom/content-badge/style.css +6 -0
  33. package/lib/atom/input-checkbox/index.js +4 -2
  34. package/lib/atom/input-checkbox/index.js.map +1 -1
  35. package/lib/atom/review-header-step-item/index.js +3 -2
  36. package/lib/atom/review-header-step-item/index.js.map +1 -1
  37. package/lib/molecule/banner/index.js +9 -4
  38. package/lib/molecule/banner/index.js.map +1 -1
  39. package/lib/molecule/banner/style.css +41 -6
  40. package/lib/molecule/card/index.js +3 -1
  41. package/lib/molecule/card/index.js.map +1 -1
  42. package/lib/molecule/card/selectable.css +49 -2
  43. package/lib/molecule/card/selectable.js +9 -1
  44. package/lib/molecule/card/selectable.js.map +1 -1
  45. package/lib/molecule/cm-popin/index.js +12 -5
  46. package/lib/molecule/cm-popin/index.js.map +1 -1
  47. package/lib/molecule/cm-popin/style.css +28 -0
  48. package/lib/molecule/go1-banner/index.js +67 -0
  49. package/lib/molecule/go1-banner/index.js.map +1 -0
  50. package/lib/molecule/go1-banner/style.css +90 -0
  51. package/lib/organism/brand-dashboard/index.js +7 -3
  52. package/lib/organism/brand-dashboard/index.js.map +1 -1
  53. package/lib/organism/mooc-header/style.css +2 -2
  54. package/lib/template/app-review/slides/index.js +25 -26
  55. package/lib/template/app-review/slides/index.js.map +1 -1
  56. package/lib/template/app-review/slides/prop-types.js +4 -4
  57. package/lib/template/app-review/slides/prop-types.js.map +1 -1
  58. package/lib/variables/colors.css +4 -0
  59. package/locales/hr/global.json +2 -2
  60. package/package.json +2 -2
@@ -86,14 +86,14 @@ const Slide = ({
86
86
  updateSlidesOnNext,
87
87
  updateReviewStatus,
88
88
  updateStepItemsOnNext,
89
- slideValidationResult,
89
+ progression,
90
90
  correctionPopinProps
91
91
  }) => {
92
92
  const hidden = (0, _getOr.default)(false, `${slideNumber}.hidden`, slides);
93
93
  const endReview = (0, _getOr.default)(false, `${slideNumber}.endReview`, slides);
94
94
  const position = (0, _get.default)(`${slideNumber}.position`, slides);
95
95
  const animationType = (0, _getOr.default)(false, `${slideNumber}.animationType`, slides);
96
- const validationResult = (0, _getOr.default)(null, `${slideNumber}.validationResult`, slides);
96
+ const isSlideCorrect = (0, _getOr.default)(null, `${slideNumber}.isCorrect`, slides);
97
97
  const questionText = (0, _get.default)(`${slideNumber}.questionText`, slides);
98
98
  const answerUI = (0, _get.default)(`${slideNumber}.answerUI`, slides);
99
99
  const validateLabel = (0, _getOr.default)('', 'label', validate);
@@ -112,7 +112,6 @@ const Slide = ({
112
112
  be handled on the next slide logic but the content will be carried from here.
113
113
  */
114
114
  onClick: async () => {
115
- // result: 'success' | 'failure'
116
115
  // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'
117
116
  await validateSlide();
118
117
  },
@@ -120,7 +119,7 @@ const Slide = ({
120
119
  label: validateLabel,
121
120
  'data-name': `slide-validate-button-${slideNumber}`,
122
121
  className: _style.default.validateButton,
123
- disabled: !(0, _isNil.default)(validationResult)
122
+ disabled: !(0, _isNil.default)(isSlideCorrect)
124
123
  };
125
124
  const klf = (0, _getOr.default)({}, 'klf', correctionPopinProps);
126
125
  const information = (0, _getOr.default)({
@@ -139,15 +138,15 @@ const Slide = ({
139
138
  from the content carried from the validate action.
140
139
  */
141
140
  onClick: () => {
142
- const exitNode = (0, _get.default)('exitNode', slideValidationResult);
141
+ const exitNode = (0, _get.default)('exitNode', progression);
143
142
  updateSlidesOnNext({
144
143
  slideNumber,
145
144
  newSlideContent: {
146
- hidden: validationResult === 'success',
145
+ hidden: !!isSlideCorrect,
147
146
  position: HIGHEST_INDEX - finishedSlidesSize,
148
147
  // to restack the slide
149
- animationType: validationResult === 'success' ? 'unstack' : 'restack',
150
- validationResult,
148
+ animationType: isSlideCorrect ? 'unstack' : 'restack',
149
+ isCorrect: isSlideCorrect,
151
150
  endReview: !!exitNode,
152
151
  answerUI,
153
152
  questionText
@@ -159,7 +158,7 @@ const Slide = ({
159
158
  finishedSlides,
160
159
  current: finishedSlidesSize === HIGHEST_INDEX &&
161
160
  /* istanbul ignore next */
162
- validationResult !== 'success'
161
+ !isSlideCorrect
163
162
  });
164
163
  if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');
165
164
  },
@@ -169,8 +168,8 @@ const Slide = ({
169
168
  },
170
169
  klf,
171
170
  information,
172
- type: validationResult === 'success' ? 'right' : 'wrong',
173
- resultLabel: validationResult === 'success' ? successLabel : failureLabel
171
+ type: isSlideCorrect ? 'right' : 'wrong',
172
+ resultLabel: isSlideCorrect ? successLabel : failureLabel
174
173
  };
175
174
  const questionOrigin = 'From "Master Design Thinking to become more agile" course';
176
175
  const answerProps = (0, _get.default)(['model', 'choices'], answerUI) ?
@@ -205,8 +204,8 @@ const Slide = ({
205
204
  key: "button-wrapper",
206
205
  className: _style.default.validateButtonWrapper
207
206
  }, /*#__PURE__*/_react.default.createElement(_buttonLink.default, validateButtonProps)), /*#__PURE__*/_react.default.createElement("div", {
208
- className: validationResult ? _style.default.correctionPopinWrapper : _style.default.hiddenCorrectionPopinWrapper,
209
- style: _extends({}, finishedSlidesSize !== HIGHEST_INDEX && !validationResult && {
207
+ className: isSlideCorrect ? _style.default.correctionPopinWrapper : _style.default.hiddenCorrectionPopinWrapper,
208
+ style: _extends({}, finishedSlidesSize !== HIGHEST_INDEX && !isSlideCorrect && {
210
209
  display: 'none'
211
210
  })
212
211
  }, /*#__PURE__*/_react.default.createElement(_reviewCorrectionPopin.default, _correctionPopinProps)));
@@ -224,7 +223,7 @@ const StackedSlides = ({
224
223
  updateSlidesOnNext,
225
224
  updateReviewStatus,
226
225
  updateStepItemsOnNext,
227
- slideValidationResult,
226
+ progression,
228
227
  correctionPopinProps
229
228
  }) => {
230
229
  const stackedSlides = []; // eslint-disable-next-line fp/no-loops
@@ -241,7 +240,7 @@ const StackedSlides = ({
241
240
  updateSlidesOnNext,
242
241
  updateReviewStatus,
243
242
  updateStepItemsOnNext,
244
- slideValidationResult,
243
+ progression,
245
244
  correctionPopinProps
246
245
  }, {
247
246
  key: slideNumber
@@ -272,7 +271,7 @@ const SlidesReview = ({
272
271
  updateStepItemsOnValidation,
273
272
  updateStepItemsOnNext,
274
273
  updateFinishedSlides,
275
- slideValidationResult
274
+ progression
276
275
  }, context) => {
277
276
  const {
278
277
  skin
@@ -291,21 +290,21 @@ const SlidesReview = ({
291
290
  (0, _react.useEffect)(
292
291
  /* istanbul ignore next */
293
292
  () => {
294
- const slideNumber = (0, _get.default)('slideNumber', slideValidationResult);
293
+ const slideNumber = (0, _get.default)('slideNumber', progression);
295
294
 
296
- if (slideValidationResult) {
295
+ if (progression) {
297
296
  const hidden = (0, _getOr.default)(false, `${slideNumber}.hidden`, slides);
298
297
  const endReview = (0, _getOr.default)(false, `${slideNumber}.endReview`, slides);
299
298
  const position = (0, _get.default)(`${slideNumber}.position`, slides);
300
- const result = (0, _get.default)('result', slideValidationResult);
301
- const exitNode = (0, _get.default)('exitNode', slideValidationResult);
302
- const nextSlide = (0, _get.default)('nextSlide', slideValidationResult);
299
+ const isCorrect = (0, _get.default)('isCorrect', progression);
300
+ const exitNode = (0, _get.default)('exitNode', progression);
301
+ const nextSlide = (0, _get.default)('nextSlide', progression);
303
302
  updateSlidesOnValidation({
304
303
  slideNumber,
305
304
  newSlideContent: {
306
305
  hidden,
307
306
  position,
308
- validationResult: result,
307
+ isCorrect,
309
308
  endReview: !!exitNode
310
309
  },
311
310
  numberOfFinishedSlides: finishedSlidesSize,
@@ -313,9 +312,9 @@ const SlidesReview = ({
313
312
  });
314
313
  updateStepItemsOnValidation({
315
314
  stepNumber: slideNumber,
316
- icon: result === 'success' ? _reviewHeaderStepItem.ICON_VALUES.right : _reviewHeaderStepItem.ICON_VALUES.wrong
315
+ icon: isCorrect ? _reviewHeaderStepItem.ICON_VALUES.right : _reviewHeaderStepItem.ICON_VALUES.wrong
317
316
  });
318
- if (result === 'success') updateFinishedSlides({
317
+ if (isCorrect) updateFinishedSlides({
319
318
  slideNumber,
320
319
  value: true
321
320
  });
@@ -325,7 +324,7 @@ const SlidesReview = ({
325
324
  }
326
325
  }
327
326
  }, // eslint-disable-next-line react-hooks/exhaustive-deps
328
- [slideValidationResult]);
327
+ [progression]);
329
328
  (0, _react.useEffect)(
330
329
  /* istanbul ignore next */
331
330
  () => {
@@ -371,7 +370,7 @@ const SlidesReview = ({
371
370
  updateSlidesOnNext,
372
371
  updateReviewStatus,
373
372
  updateStepItemsOnNext,
374
- slideValidationResult,
373
+ progression,
375
374
  correctionPopinProps
376
375
  }))) :
377
376
  /* istanbul ignore next */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/slides/index.js"],"names":["stylesByPosition","style","position0","position1","position2","position3","position4","TOTAL_SLIDES_STACK","HIGHEST_INDEX","getSlideAnimation","action","position","hidden","slideOutHideAndIn","slideOutAndIn","hiddenSlide","Slide","slideNumber","slides","primarySkinColor","validate","validateSlide","finishedSlides","finishedSlidesSize","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnNext","slideValidationResult","correctionPopinProps","endReview","animationType","validationResult","questionText","answerUI","validateLabel","validateButtonProps","customStyle","backgroundColor","onClick","label","className","validateButton","disabled","klf","information","message","next","successLabel","failureLabel","_correctionPopinProps","exitNode","newSlideContent","numberOfFinishedSlides","stepNumber","current","type","resultLabel","questionOrigin","answerProps","model","answers","choices","slideBase","slideContentContainer","question","help","answerContainer","validateButtonWrapper","correctionPopinWrapper","hiddenCorrectionPopinWrapper","display","propTypes","SlidePropTypes","StackedSlides","stackedSlides","slide","push","StackedSlidesPropTypes","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","updateSlidesOnValidation","updateStepItemsOnValidation","updateFinishedSlides","context","skin","size","shouldMountSlides","updateShouldMountSlides","result","nextSlide","icon","ICON_VALUES","right","wrong","value","setTimeout","stepItemsArray","stepItem","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","reviewHeaderContainer","stackedSlidesYAxisOverflowContainer","stackedSlidesContainer","congrats","SlidesReviewPropTypes"],"mappings":"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","sourcesContent":["import React, {useState, useMemo, useEffect} from 'react';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport isNil from 'lodash/fp/isNil';\nimport map from 'lodash/fp/map';\nimport omit from 'lodash/fp/omit';\nimport pipe from 'lodash/fp/pipe';\nimport size from 'lodash/fp/size';\nimport {ICON_VALUES} from '../../../atom/review-header-step-item';\nimport ReviewBackground from '../../../atom/review-background';\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';\nimport {SlidesReviewPropTypes, SlidePropTypes, StackedSlidesPropTypes} from './prop-types';\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\nexport const TOTAL_SLIDES_STACK = 5;\nexport const HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;\n\nconst getSlideAnimation = (action, position, hidden) => {\n switch (action) {\n /* istanbul ignore next */\n case 'unstack':\n return style.slideOutHideAndIn;\n /* istanbul ignore next */\n case 'restack':\n return style.slideOutAndIn;\n default:\n return hidden ? style.hiddenSlide : stylesByPosition[position];\n }\n};\n\nconst Slide = ({\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n slideValidationResult,\n correctionPopinProps\n}) => {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const animationType = getOr(false, `${slideNumber}.animationType`, slides);\n const validationResult = getOr(null, `${slideNumber}.validationResult`, slides);\n const questionText = get(`${slideNumber}.questionText`, slides);\n const answerUI = get(`${slideNumber}.answerUI`, slides);\n\n const validateLabel = getOr('', 'label', validate);\n\n const validateButtonProps = {\n customStyle: {\n backgroundColor: primarySkinColor\n },\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextSlide content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slides will disappear, also fired in a useEffect),\n \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 // result: 'success' | 'failure'\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\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 = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const successLabel = getOr('', 'successLabel', correctionPopinProps);\n const failureLabel = getOr('', '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 const exitNode = get('exitNode', slideValidationResult);\n\n updateSlidesOnNext({\n slideNumber,\n newSlideContent: {\n hidden: validationResult === 'success',\n position: HIGHEST_INDEX - finishedSlidesSize, // to restack the slide\n animationType: validationResult === 'success' ? 'unstack' : 'restack',\n validationResult,\n endReview: !!exitNode,\n answerUI,\n questionText\n },\n numberOfFinishedSlides: finishedSlidesSize\n });\n updateStepItemsOnNext({\n stepNumber: slideNumber,\n finishedSlides,\n current:\n finishedSlidesSize === HIGHEST_INDEX &&\n /* istanbul ignore next */ validationResult !== 'success'\n });\n\n if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideNumber}`,\n 'aria-label': next && 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 const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div\n key={`slide-${slideNumber}`}\n data-name={`slide-${slideNumber}`}\n className={classnames(\n style.slideBase,\n getSlideAnimation(animationType, position, hidden),\n endReview ? style.endReview : null\n )}\n >\n {answerUI && questionText ? (\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 {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {answerUI.help}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} 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 ...(finishedSlidesSize !== HIGHEST_INDEX &&\n !validationResult && {\n display: 'none'\n })\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n </div>\n );\n};\n\nSlide.propTypes = SlidePropTypes;\n\nconst StackedSlides = ({\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n slideValidationResult,\n correctionPopinProps\n}) => {\n const stackedSlides = [];\n // eslint-disable-next-line fp/no-loops\n for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {\n const slide = (\n <Slide\n {...{\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n slideValidationResult,\n correctionPopinProps\n }}\n key={slideNumber}\n />\n );\n stackedSlides.push(slide);\n }\n\n return stackedSlides;\n};\n\nStackedSlides.propTypes = StackedSlidesPropTypes;\n\nconst SlidesReview = (\n {\n headerProps,\n reviewBackgroundAriaLabel,\n validate,\n correctionPopinProps,\n slides,\n finishedSlides,\n stepItems,\n reviewStatus,\n congratsProps,\n validateSlide,\n updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\n slideValidationResult\n },\n context\n) => {\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n\n const finishedSlidesSize = useMemo(() => pipe(omit('slideNumbers'), size)(finishedSlides), [\n finishedSlides\n ]);\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 by the assisting\n tools & clutter them)\n */\n const [shouldMountSlides, updateShouldMountSlides] = useState(true);\n\n useEffect(\n /* istanbul ignore next */ () => {\n const slideNumber = get('slideNumber', slideValidationResult);\n if (slideValidationResult) {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const result = get('result', slideValidationResult);\n const exitNode = get('exitNode', slideValidationResult);\n const nextSlide = get('nextSlide', slideValidationResult);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n validationResult: result,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextSlide\n });\n updateStepItemsOnValidation({\n stepNumber: slideNumber,\n icon: result === 'success' ? ICON_VALUES.right : ICON_VALUES.wrong\n });\n if (result === 'success') updateFinishedSlides({slideNumber, value: true});\n if (endReview) {\n updateReviewStatus('finished');\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [slideValidationResult]\n );\n\n useEffect(\n /* istanbul ignore next */ () => {\n if (reviewStatus === 'finished') {\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n },\n [finishedSlidesSize, reviewStatus, updateReviewStatus]\n );\n\n // ||-------> transform the step items state to Array\n const stepItemsArray = useMemo(\n () =>\n pipe(\n omit('slideNumbers'),\n map(stepItem => stepItem)\n )(stepItems),\n [stepItems]\n );\n\n const _headerProps = {\n ...headerProps,\n steps: stepItemsArray,\n key: 'review-header',\n hiddenSteps: reviewStatus !== '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 <div key=\"review-header-wrapper\" className={style.reviewHeaderContainer}>\n <ReviewHeader {..._headerProps} />\n </div>\n\n {shouldMountSlides ? (\n <div\n key=\"stacked-slides-container-y-overflow\"\n className={style.stackedSlidesYAxisOverflowContainer}\n >\n <div\n key=\"stacked-slides-container\"\n data-name=\"stacked-slides-container\"\n className={style.stackedSlidesContainer}\n >\n <StackedSlides\n {...{\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n slideValidationResult,\n correctionPopinProps\n }}\n />\n </div>\n </div>\n ) : /* istanbul ignore next */ null}\n\n {reviewStatus === 'finished' ? (\n <div className={style.congrats} data-name=\"congrats-container\">\n <ReviewCongrats {...congratsProps} />\n </div>\n ) : null}\n </div>\n );\n};\n\nSlidesReview.propTypes = SlidesReviewPropTypes;\n\nexport default SlidesReview;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-review/slides/index.js"],"names":["stylesByPosition","style","position0","position1","position2","position3","position4","TOTAL_SLIDES_STACK","HIGHEST_INDEX","getSlideAnimation","action","position","hidden","slideOutHideAndIn","slideOutAndIn","hiddenSlide","Slide","slideNumber","slides","primarySkinColor","validate","validateSlide","finishedSlides","finishedSlidesSize","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnNext","progression","correctionPopinProps","endReview","animationType","isSlideCorrect","questionText","answerUI","validateLabel","validateButtonProps","customStyle","backgroundColor","onClick","label","className","validateButton","disabled","klf","information","message","next","successLabel","failureLabel","_correctionPopinProps","exitNode","newSlideContent","isCorrect","numberOfFinishedSlides","stepNumber","current","type","resultLabel","questionOrigin","answerProps","model","answers","choices","slideBase","slideContentContainer","question","help","answerContainer","validateButtonWrapper","correctionPopinWrapper","hiddenCorrectionPopinWrapper","display","propTypes","SlidePropTypes","StackedSlides","stackedSlides","slide","push","StackedSlidesPropTypes","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","updateSlidesOnValidation","updateStepItemsOnValidation","updateFinishedSlides","context","skin","size","shouldMountSlides","updateShouldMountSlides","nextSlide","icon","ICON_VALUES","right","wrong","value","setTimeout","stepItemsArray","stepItem","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","reviewHeaderContainer","stackedSlidesYAxisOverflowContainer","stackedSlidesContainer","congrats","SlidesReviewPropTypes"],"mappings":"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","sourcesContent":["import React, {useState, useMemo, useEffect} from 'react';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport isNil from 'lodash/fp/isNil';\nimport map from 'lodash/fp/map';\nimport omit from 'lodash/fp/omit';\nimport pipe from 'lodash/fp/pipe';\nimport size from 'lodash/fp/size';\nimport {ICON_VALUES} from '../../../atom/review-header-step-item';\nimport ReviewBackground from '../../../atom/review-background';\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';\nimport {SlidesReviewPropTypes, SlidePropTypes, StackedSlidesPropTypes} from './prop-types';\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\nexport const TOTAL_SLIDES_STACK = 5;\nexport const HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;\n\nconst getSlideAnimation = (action, position, hidden) => {\n switch (action) {\n /* istanbul ignore next */\n case 'unstack':\n return style.slideOutHideAndIn;\n /* istanbul ignore next */\n case 'restack':\n return style.slideOutAndIn;\n default:\n return hidden ? style.hiddenSlide : stylesByPosition[position];\n }\n};\n\nconst Slide = ({\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const animationType = getOr(false, `${slideNumber}.animationType`, slides);\n const isSlideCorrect = getOr(null, `${slideNumber}.isCorrect`, slides);\n const questionText = get(`${slideNumber}.questionText`, slides);\n const answerUI = get(`${slideNumber}.answerUI`, slides);\n\n const validateLabel = getOr('', 'label', validate);\n\n const validateButtonProps = {\n customStyle: {\n backgroundColor: primarySkinColor\n },\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextSlide content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slides will disappear, also fired in a useEffect),\n \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 // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n 'aria-label': validateLabel,\n label: validateLabel,\n 'data-name': `slide-validate-button-${slideNumber}`,\n className: style.validateButton,\n disabled: !isNil(isSlideCorrect)\n };\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const successLabel = getOr('', 'successLabel', correctionPopinProps);\n const failureLabel = getOr('', '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 const exitNode = get('exitNode', progression);\n\n updateSlidesOnNext({\n slideNumber,\n newSlideContent: {\n hidden: !!isSlideCorrect,\n position: HIGHEST_INDEX - finishedSlidesSize, // to restack the slide\n animationType: isSlideCorrect ? 'unstack' : 'restack',\n isCorrect: isSlideCorrect,\n endReview: !!exitNode,\n answerUI,\n questionText\n },\n numberOfFinishedSlides: finishedSlidesSize\n });\n updateStepItemsOnNext({\n stepNumber: slideNumber,\n finishedSlides,\n current:\n finishedSlidesSize === HIGHEST_INDEX && /* istanbul ignore next */ !isSlideCorrect\n });\n\n if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideNumber}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: isSlideCorrect ? 'right' : 'wrong',\n resultLabel: isSlideCorrect ? successLabel : failureLabel\n };\n\n const questionOrigin = 'From \"Master Design Thinking to become more agile\" course';\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div\n key={`slide-${slideNumber}`}\n data-name={`slide-${slideNumber}`}\n className={classnames(\n style.slideBase,\n getSlideAnimation(animationType, position, hidden),\n endReview ? style.endReview : null\n )}\n >\n {answerUI && questionText ? (\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 {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {answerUI.help}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} 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 isSlideCorrect ? style.correctionPopinWrapper : style.hiddenCorrectionPopinWrapper\n }\n style={{\n ...(finishedSlidesSize !== HIGHEST_INDEX &&\n !isSlideCorrect && {\n display: 'none'\n })\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n </div>\n );\n};\n\nSlide.propTypes = SlidePropTypes;\n\nconst StackedSlides = ({\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const stackedSlides = [];\n // eslint-disable-next-line fp/no-loops\n for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {\n const slide = (\n <Slide\n {...{\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n key={slideNumber}\n />\n );\n stackedSlides.push(slide);\n }\n\n return stackedSlides;\n};\n\nStackedSlides.propTypes = StackedSlidesPropTypes;\n\nconst SlidesReview = (\n {\n headerProps,\n reviewBackgroundAriaLabel,\n validate,\n correctionPopinProps,\n slides,\n finishedSlides,\n stepItems,\n reviewStatus,\n congratsProps,\n validateSlide,\n updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\n progression\n },\n context\n) => {\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n\n const finishedSlidesSize = useMemo(() => pipe(omit('slideNumbers'), size)(finishedSlides), [\n finishedSlides\n ]);\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 by the assisting\n tools & clutter them)\n */\n const [shouldMountSlides, updateShouldMountSlides] = useState(true);\n\n useEffect(\n /* istanbul ignore next */ () => {\n const slideNumber = get('slideNumber', progression);\n if (progression) {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const isCorrect = get('isCorrect', progression);\n const exitNode = get('exitNode', progression);\n const nextSlide = get('nextSlide', progression);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n isCorrect,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextSlide\n });\n updateStepItemsOnValidation({\n stepNumber: slideNumber,\n icon: isCorrect ? ICON_VALUES.right : ICON_VALUES.wrong\n });\n if (isCorrect) updateFinishedSlides({slideNumber, value: true});\n if (endReview) {\n updateReviewStatus('finished');\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [progression]\n );\n\n useEffect(\n /* istanbul ignore next */ () => {\n if (reviewStatus === 'finished') {\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n },\n [finishedSlidesSize, reviewStatus, updateReviewStatus]\n );\n\n // ||-------> transform the step items state to Array\n const stepItemsArray = useMemo(\n () =>\n pipe(\n omit('slideNumbers'),\n map(stepItem => stepItem)\n )(stepItems),\n [stepItems]\n );\n\n const _headerProps = {\n ...headerProps,\n steps: stepItemsArray,\n key: 'review-header',\n hiddenSteps: reviewStatus !== '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 <div key=\"review-header-wrapper\" className={style.reviewHeaderContainer}>\n <ReviewHeader {..._headerProps} />\n </div>\n\n {shouldMountSlides ? (\n <div\n key=\"stacked-slides-container-y-overflow\"\n className={style.stackedSlidesYAxisOverflowContainer}\n >\n <div\n key=\"stacked-slides-container\"\n data-name=\"stacked-slides-container\"\n className={style.stackedSlidesContainer}\n >\n <StackedSlides\n {...{\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n />\n </div>\n </div>\n ) : /* istanbul ignore next */ null}\n\n {reviewStatus === 'finished' ? (\n <div className={style.congrats} data-name=\"congrats-container\">\n <ReviewCongrats {...congratsProps} />\n </div>\n ) : null}\n </div>\n );\n};\n\nSlidesReview.propTypes = SlidesReviewPropTypes;\n\nexport default SlidesReview;\n"],"file":"index.js"}
@@ -27,7 +27,7 @@ const NextSlideProp = _propTypes.default.shape({
27
27
  // 'unstack' | 'restack'
28
28
  animationType: _propTypes.default.string,
29
29
  // 'success' | 'failure'
30
- validationResult: _propTypes.default.string,
30
+ isCorrect: _propTypes.default.string,
31
31
  endReview: _propTypes.default.bool,
32
32
  questionText: _propTypes.default.string,
33
33
  answerUI: _answer.default
@@ -87,10 +87,10 @@ const SlidesReviewPropTypes = {
87
87
  failureLabel: _reviewCorrectionPopin.default.propTypes.resultLabel
88
88
  }),
89
89
  congratsProps: _propTypes.default.shape(_reviewCongrats.default.propTypes),
90
- slideValidationResult: _propTypes.default.shape({
90
+ progression: _propTypes.default.shape({
91
91
  slideNumber: _propTypes.default.number,
92
92
  // 'success' | 'failure'
93
- result: _propTypes.default.string,
93
+ isCorrect: _propTypes.default.bool,
94
94
  // 'successExitNode' | 'failExitNode'
95
95
  exitNode: _propTypes.default.string,
96
96
  nextSlide: _propTypes.default.shape({
@@ -123,7 +123,7 @@ const SlidePropTypes = {
123
123
  updateSlidesOnNext: SlidesReviewPropTypes.updateSlidesOnNext,
124
124
  updateReviewStatus: SlidesReviewPropTypes.updateReviewStatus,
125
125
  updateStepItemsOnNext: SlidesReviewPropTypes.updateStepItemsOnNext,
126
- slideValidationResult: SlidesReviewPropTypes.slideValidationResult
126
+ progression: SlidesReviewPropTypes.progression
127
127
  };
128
128
  exports.SlidePropTypes = SlidePropTypes;
129
129
  const StackedSlidesPropTypes = (0, _omit.default)('slideNumber', SlidePropTypes);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/slides/prop-types.js"],"names":["NextSlideProp","PropTypes","shape","hidden","bool","position","number","animationType","string","validationResult","endReview","questionText","answerUI","Answer","SlideProp","props","nextSlide","StepItemProp","current","icon","value","SlidesReviewPropTypes","headerProps","ReviewHeader","propTypes","reviewBackgroundAriaLabel","ReviewBackground","validate","label","slides","slideNumbers","arrayOf","finishedSlides","stepItems","reviewStatus","correctionPopinProps","klf","ReviewCorrectionPopin","information","next","successLabel","resultLabel","failureLabel","congratsProps","ReviewCongrats","slideValidationResult","slideNumber","result","exitNode","validateSlide","func","isRequired","updateSlidesOnValidation","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnValidation","updateStepItemsOnNext","updateFinishedSlides","SlidePropTypes","primarySkinColor","finishedSlidesSize","StackedSlidesPropTypes"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport omit from 'lodash/fp/omit';\n\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewHeader from '../../../organism/review-header';\nimport Answer from '../../../molecule/answer';\n\nconst NextSlideProp = PropTypes.shape({\n hidden: PropTypes.bool,\n position: PropTypes.number,\n // 'unstack' | 'restack'\n animationType: PropTypes.string,\n // 'success' | 'failure'\n validationResult: PropTypes.string,\n endReview: PropTypes.bool,\n questionText: PropTypes.string,\n answerUI: Answer\n});\n\nconst SlideProp = PropTypes.shape({\n ...NextSlideProp.props,\n nextSlide: NextSlideProp\n});\n\nconst StepItemProp = PropTypes.shape({\n current: PropTypes.bool,\n icon: PropTypes.string,\n value: PropTypes.string\n});\n\nexport const SlidesReviewPropTypes = {\n headerProps: PropTypes.shape(omit('steps', ReviewHeader.propTypes)),\n reviewBackgroundAriaLabel: ReviewBackground.propTypes['aria-label'],\n validate: PropTypes.shape({\n label: PropTypes.string\n }),\n slides: PropTypes.shape({\n slideNumbers: PropTypes.arrayOf(PropTypes.number),\n 0: SlideProp,\n 1: SlideProp,\n 2: SlideProp,\n 3: SlideProp,\n 4: SlideProp\n }),\n finishedSlides: PropTypes.shape({\n slideNumbers: PropTypes.arrayOf(PropTypes.number),\n 0: PropTypes.bool,\n 1: PropTypes.bool,\n 2: PropTypes.bool,\n 3: PropTypes.bool,\n 4: PropTypes.bool\n }),\n stepItems: PropTypes.shape({\n slideNumbers: PropTypes.arrayOf(PropTypes.number),\n 0: StepItemProp,\n 1: StepItemProp,\n 2: StepItemProp,\n 3: StepItemProp,\n 4: StepItemProp\n }),\n // 'finished' | 'ongoing'\n reviewStatus: PropTypes.string,\n correctionPopinProps: PropTypes.shape({\n // ---------------\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 slideValidationResult: PropTypes.shape({\n slideNumber: PropTypes.number,\n // 'success' | 'failure'\n result: PropTypes.string,\n // 'successExitNode' | 'failExitNode'\n exitNode: PropTypes.string,\n nextSlide: PropTypes.shape({\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(Answer.propTypes)\n })\n }),\n // ---------------------------------------------------------------------------\n // Dispatchers\n validateSlide: PropTypes.func.isRequired,\n updateSlidesOnValidation: PropTypes.func.isRequired,\n updateSlidesOnNext: PropTypes.func.isRequired,\n updateReviewStatus: PropTypes.func.isRequired,\n updateStepItemsOnValidation: PropTypes.func.isRequired,\n updateStepItemsOnNext: PropTypes.func.isRequired,\n updateFinishedSlides: PropTypes.func.isRequired\n};\n\nexport const SlidePropTypes = {\n slideNumber: PropTypes.number,\n slides: SlidesReviewPropTypes.slides,\n primarySkinColor: PropTypes.string,\n validate: SlidesReviewPropTypes.validate,\n finishedSlides: SlidesReviewPropTypes.finishedSlides,\n finishedSlidesSize: PropTypes.number,\n correctionPopinProps: SlidesReviewPropTypes.correctionPopinProps,\n // ---------------\n // Dispatchers\n validateSlide: SlidesReviewPropTypes.validateSlide,\n updateSlidesOnNext: SlidesReviewPropTypes.updateSlidesOnNext,\n updateReviewStatus: SlidesReviewPropTypes.updateReviewStatus,\n updateStepItemsOnNext: SlidesReviewPropTypes.updateStepItemsOnNext,\n slideValidationResult: SlidesReviewPropTypes.slideValidationResult\n};\n\nexport const StackedSlidesPropTypes = omit('slideNumber', SlidePropTypes);\n"],"file":"prop-types.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-review/slides/prop-types.js"],"names":["NextSlideProp","PropTypes","shape","hidden","bool","position","number","animationType","string","isCorrect","endReview","questionText","answerUI","Answer","SlideProp","props","nextSlide","StepItemProp","current","icon","value","SlidesReviewPropTypes","headerProps","ReviewHeader","propTypes","reviewBackgroundAriaLabel","ReviewBackground","validate","label","slides","slideNumbers","arrayOf","finishedSlides","stepItems","reviewStatus","correctionPopinProps","klf","ReviewCorrectionPopin","information","next","successLabel","resultLabel","failureLabel","congratsProps","ReviewCongrats","progression","slideNumber","exitNode","validateSlide","func","isRequired","updateSlidesOnValidation","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnValidation","updateStepItemsOnNext","updateFinishedSlides","SlidePropTypes","primarySkinColor","finishedSlidesSize","StackedSlidesPropTypes"],"mappings":";;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,aAAa,GAAGC,mBAAUC,KAAV,CAAgB;AACpCC,EAAAA,MAAM,EAAEF,mBAAUG,IADkB;AAEpCC,EAAAA,QAAQ,EAAEJ,mBAAUK,MAFgB;AAGpC;AACAC,EAAAA,aAAa,EAAEN,mBAAUO,MAJW;AAKpC;AACAC,EAAAA,SAAS,EAAER,mBAAUO,MANe;AAOpCE,EAAAA,SAAS,EAAET,mBAAUG,IAPe;AAQpCO,EAAAA,YAAY,EAAEV,mBAAUO,MARY;AASpCI,EAAAA,QAAQ,EAAEC;AAT0B,CAAhB,CAAtB;;AAYA,MAAMC,SAAS,GAAGb,mBAAUC,KAAV,uBACbF,aAAa,CAACe,KADD;AAEhBC,EAAAA,SAAS,EAAEhB;AAFK,GAAlB;;AAKA,MAAMiB,YAAY,GAAGhB,mBAAUC,KAAV,CAAgB;AACnCgB,EAAAA,OAAO,EAAEjB,mBAAUG,IADgB;AAEnCe,EAAAA,IAAI,EAAElB,mBAAUO,MAFmB;AAGnCY,EAAAA,KAAK,EAAEnB,mBAAUO;AAHkB,CAAhB,CAArB;;AAMO,MAAMa,qBAAqB,GAAG;AACnCC,EAAAA,WAAW,EAAErB,mBAAUC,KAAV,CAAgB,mBAAK,OAAL,EAAcqB,sBAAaC,SAA3B,CAAhB,CADsB;AAEnCC,EAAAA,yBAAyB,EAAEC,0BAAiBF,SAAjB,CAA2B,YAA3B,CAFQ;AAGnCG,EAAAA,QAAQ,EAAE1B,mBAAUC,KAAV,CAAgB;AACxB0B,IAAAA,KAAK,EAAE3B,mBAAUO;AADO,GAAhB,CAHyB;AAMnCqB,EAAAA,MAAM,EAAE5B,mBAAUC,KAAV,CAAgB;AACtB4B,IAAAA,YAAY,EAAE7B,mBAAU8B,OAAV,CAAkB9B,mBAAUK,MAA5B,CADQ;AAEtB,OAAGQ,SAFmB;AAGtB,OAAGA,SAHmB;AAItB,OAAGA,SAJmB;AAKtB,OAAGA,SALmB;AAMtB,OAAGA;AANmB,GAAhB,CAN2B;AAcnCkB,EAAAA,cAAc,EAAE/B,mBAAUC,KAAV,CAAgB;AAC9B4B,IAAAA,YAAY,EAAE7B,mBAAU8B,OAAV,CAAkB9B,mBAAUK,MAA5B,CADgB;AAE9B,OAAGL,mBAAUG,IAFiB;AAG9B,OAAGH,mBAAUG,IAHiB;AAI9B,OAAGH,mBAAUG,IAJiB;AAK9B,OAAGH,mBAAUG,IALiB;AAM9B,OAAGH,mBAAUG;AANiB,GAAhB,CAdmB;AAsBnC6B,EAAAA,SAAS,EAAEhC,mBAAUC,KAAV,CAAgB;AACzB4B,IAAAA,YAAY,EAAE7B,mBAAU8B,OAAV,CAAkB9B,mBAAUK,MAA5B,CADW;AAEzB,OAAGW,YAFsB;AAGzB,OAAGA,YAHsB;AAIzB,OAAGA,YAJsB;AAKzB,OAAGA,YALsB;AAMzB,OAAGA;AANsB,GAAhB,CAtBwB;AA8BnC;AACAiB,EAAAA,YAAY,EAAEjC,mBAAUO,MA/BW;AAgCnC2B,EAAAA,oBAAoB,EAAElC,mBAAUC,KAAV,CAAgB;AACpC;AACAkC,IAAAA,GAAG,EAAEC,+BAAsBb,SAAtB,CAAgCY,GAFD;AAGpCE,IAAAA,WAAW,EAAED,+BAAsBb,SAAtB,CAAgCc,WAHT;AAIpCC,IAAAA,IAAI,EAAEtC,mBAAUC,KAAV,CAAgB;AACpB0B,MAAAA,KAAK,EAAE3B,mBAAUO,MADG;AAEpB,oBAAcP,mBAAUO;AAFJ,KAAhB,CAJ8B;AAQpCgC,IAAAA,YAAY,EAAEH,+BAAsBb,SAAtB,CAAgCiB,WARV;AASpCC,IAAAA,YAAY,EAAEL,+BAAsBb,SAAtB,CAAgCiB;AATV,GAAhB,CAhCa;AA2CnCE,EAAAA,aAAa,EAAE1C,mBAAUC,KAAV,CAAgB0C,wBAAepB,SAA/B,CA3CoB;AA4CnCqB,EAAAA,WAAW,EAAE5C,mBAAUC,KAAV,CAAgB;AAC3B4C,IAAAA,WAAW,EAAE7C,mBAAUK,MADI;AAE3B;AACAG,IAAAA,SAAS,EAAER,mBAAUG,IAHM;AAI3B;AACA2C,IAAAA,QAAQ,EAAE9C,mBAAUO,MALO;AAM3BQ,IAAAA,SAAS,EAAEf,mBAAUC,KAAV,CAAgB;AACzBS,MAAAA,YAAY,EAAEV,mBAAUO,MADC;AAEzBI,MAAAA,QAAQ,EAAEX,mBAAUC,KAAV,CAAgBW,gBAAOW,SAAvB;AAFe,KAAhB;AANgB,GAAhB,CA5CsB;AAuDnC;AACA;AACAwB,EAAAA,aAAa,EAAE/C,mBAAUgD,IAAV,CAAeC,UAzDK;AA0DnCC,EAAAA,wBAAwB,EAAElD,mBAAUgD,IAAV,CAAeC,UA1DN;AA2DnCE,EAAAA,kBAAkB,EAAEnD,mBAAUgD,IAAV,CAAeC,UA3DA;AA4DnCG,EAAAA,kBAAkB,EAAEpD,mBAAUgD,IAAV,CAAeC,UA5DA;AA6DnCI,EAAAA,2BAA2B,EAAErD,mBAAUgD,IAAV,CAAeC,UA7DT;AA8DnCK,EAAAA,qBAAqB,EAAEtD,mBAAUgD,IAAV,CAAeC,UA9DH;AA+DnCM,EAAAA,oBAAoB,EAAEvD,mBAAUgD,IAAV,CAAeC;AA/DF,CAA9B;;AAkEA,MAAMO,cAAc,GAAG;AAC5BX,EAAAA,WAAW,EAAE7C,mBAAUK,MADK;AAE5BuB,EAAAA,MAAM,EAAER,qBAAqB,CAACQ,MAFF;AAG5B6B,EAAAA,gBAAgB,EAAEzD,mBAAUO,MAHA;AAI5BmB,EAAAA,QAAQ,EAAEN,qBAAqB,CAACM,QAJJ;AAK5BK,EAAAA,cAAc,EAAEX,qBAAqB,CAACW,cALV;AAM5B2B,EAAAA,kBAAkB,EAAE1D,mBAAUK,MANF;AAO5B6B,EAAAA,oBAAoB,EAAEd,qBAAqB,CAACc,oBAPhB;AAQ5B;AACA;AACAa,EAAAA,aAAa,EAAE3B,qBAAqB,CAAC2B,aAVT;AAW5BI,EAAAA,kBAAkB,EAAE/B,qBAAqB,CAAC+B,kBAXd;AAY5BC,EAAAA,kBAAkB,EAAEhC,qBAAqB,CAACgC,kBAZd;AAa5BE,EAAAA,qBAAqB,EAAElC,qBAAqB,CAACkC,qBAbjB;AAc5BV,EAAAA,WAAW,EAAExB,qBAAqB,CAACwB;AAdP,CAAvB;;AAiBA,MAAMe,sBAAsB,GAAG,mBAAK,aAAL,EAAoBH,cAApB,CAA/B","sourcesContent":["import PropTypes from 'prop-types';\nimport omit from 'lodash/fp/omit';\n\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewHeader from '../../../organism/review-header';\nimport Answer from '../../../molecule/answer';\n\nconst NextSlideProp = PropTypes.shape({\n hidden: PropTypes.bool,\n position: PropTypes.number,\n // 'unstack' | 'restack'\n animationType: PropTypes.string,\n // 'success' | 'failure'\n isCorrect: PropTypes.string,\n endReview: PropTypes.bool,\n questionText: PropTypes.string,\n answerUI: Answer\n});\n\nconst SlideProp = PropTypes.shape({\n ...NextSlideProp.props,\n nextSlide: NextSlideProp\n});\n\nconst StepItemProp = PropTypes.shape({\n current: PropTypes.bool,\n icon: PropTypes.string,\n value: PropTypes.string\n});\n\nexport const SlidesReviewPropTypes = {\n headerProps: PropTypes.shape(omit('steps', ReviewHeader.propTypes)),\n reviewBackgroundAriaLabel: ReviewBackground.propTypes['aria-label'],\n validate: PropTypes.shape({\n label: PropTypes.string\n }),\n slides: PropTypes.shape({\n slideNumbers: PropTypes.arrayOf(PropTypes.number),\n 0: SlideProp,\n 1: SlideProp,\n 2: SlideProp,\n 3: SlideProp,\n 4: SlideProp\n }),\n finishedSlides: PropTypes.shape({\n slideNumbers: PropTypes.arrayOf(PropTypes.number),\n 0: PropTypes.bool,\n 1: PropTypes.bool,\n 2: PropTypes.bool,\n 3: PropTypes.bool,\n 4: PropTypes.bool\n }),\n stepItems: PropTypes.shape({\n slideNumbers: PropTypes.arrayOf(PropTypes.number),\n 0: StepItemProp,\n 1: StepItemProp,\n 2: StepItemProp,\n 3: StepItemProp,\n 4: StepItemProp\n }),\n // 'finished' | 'ongoing'\n reviewStatus: PropTypes.string,\n correctionPopinProps: PropTypes.shape({\n // ---------------\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 progression: PropTypes.shape({\n slideNumber: PropTypes.number,\n // 'success' | 'failure'\n isCorrect: PropTypes.bool,\n // 'successExitNode' | 'failExitNode'\n exitNode: PropTypes.string,\n nextSlide: PropTypes.shape({\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(Answer.propTypes)\n })\n }),\n // ---------------------------------------------------------------------------\n // Dispatchers\n validateSlide: PropTypes.func.isRequired,\n updateSlidesOnValidation: PropTypes.func.isRequired,\n updateSlidesOnNext: PropTypes.func.isRequired,\n updateReviewStatus: PropTypes.func.isRequired,\n updateStepItemsOnValidation: PropTypes.func.isRequired,\n updateStepItemsOnNext: PropTypes.func.isRequired,\n updateFinishedSlides: PropTypes.func.isRequired\n};\n\nexport const SlidePropTypes = {\n slideNumber: PropTypes.number,\n slides: SlidesReviewPropTypes.slides,\n primarySkinColor: PropTypes.string,\n validate: SlidesReviewPropTypes.validate,\n finishedSlides: SlidesReviewPropTypes.finishedSlides,\n finishedSlidesSize: PropTypes.number,\n correctionPopinProps: SlidesReviewPropTypes.correctionPopinProps,\n // ---------------\n // Dispatchers\n validateSlide: SlidesReviewPropTypes.validateSlide,\n updateSlidesOnNext: SlidesReviewPropTypes.updateSlidesOnNext,\n updateReviewStatus: SlidesReviewPropTypes.updateReviewStatus,\n updateStepItemsOnNext: SlidesReviewPropTypes.updateStepItemsOnNext,\n progression: SlidesReviewPropTypes.progression\n};\n\nexport const StackedSlidesPropTypes = omit('slideNumber', SlidePropTypes);\n"],"file":"prop-types.js"}
@@ -67,3 +67,7 @@
67
67
  @value box_shadow_light_dark: rgba(0, 0, 0, 0.12);
68
68
  @value box_shadow_medium_dark: rgba(0, 0, 0, 0.2);
69
69
  @value box_shadow_orange_700: rgba(255, 84, 31, 0.15);
70
+
71
+ @value go1_backgound: #144953;
72
+ @value go1_primary: #D5FD42;
73
+ @value go1_primary_hover: #BFE33B;
@@ -15,7 +15,7 @@
15
15
  "clue_stars_to_loose": "Otključavanje traga smanjuje zvjezdice koje možete dobiti na ovo pitanje do {{count}} (ako dobro shvatite)",
16
16
  "confirm_unsubscribe": "Jeste li sigurni da želite otkazati pretplatu?",
17
17
  "cookies_details": "Ova mrežna stranica koristi kolačiće kako bismo vam mogli pružiti najbolje iskustvo učenja. Ako želite saznati više o kolačićima koje koristimo i o tome kako koristimo vaše podatke, pročitajte našu",
18
- "cookies_policy": "Politiku privatnosti i kolačića.",
18
+ "cookies_policy": "Politika privatnosti i kolačića.",
19
19
  "cookies_title": "Kako koristimo kolačiće:",
20
20
  "Create a new cohort": "Stvorite novu skupinu",
21
21
  "Delete": "Izbrišite",
@@ -76,5 +76,5 @@
76
76
  "zuora_discount_code_submit": "Prijavite se",
77
77
  "zuora_discount_code": "Promotivni kod",
78
78
  "mandatory_fields": "*Obavezna polja",
79
- "something_went_wrong": "Ajoj! Nešto je pošlo po zlu."
79
+ "something_went_wrong": "Ajoj! Nešto je otišlo ukrivo."
80
80
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "10.21.1",
3
+ "version": "10.21.4",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -130,5 +130,5 @@
130
130
  "webpack": "^4.43.0"
131
131
  },
132
132
  "author": "CoorpAcademy",
133
- "gitHead": "9b67197b24c5d84d7bc7c412b6af19d2d8ca7d7b"
133
+ "gitHead": "aeb09b5a833e5f1a16c8ca15bf82fd2fcc9c3adb"
134
134
  }