@coorpacademy/components 10.19.13-alpha.8 → 10.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +5 -0
  2. package/es/molecule/review-header-steps/index.js +4 -2
  3. package/es/molecule/review-header-steps/index.js.map +1 -1
  4. package/es/template/app-review/slides/index.js +100 -84
  5. package/es/template/app-review/slides/index.js.map +1 -1
  6. package/es/template/app-review/slides/index.native.js +4 -4
  7. package/es/template/app-review/slides/index.native.js.map +1 -1
  8. package/es/template/app-review/slides/prop-types.js +62 -18
  9. package/es/template/app-review/slides/prop-types.js.map +1 -1
  10. package/es/template/app-review/slides/style.css +2 -0
  11. package/lib/molecule/review-header-steps/index.js +6 -2
  12. package/lib/molecule/review-header-steps/index.js.map +1 -1
  13. package/lib/template/app-review/slides/index.js +104 -84
  14. package/lib/template/app-review/slides/index.js.map +1 -1
  15. package/lib/template/app-review/slides/index.native.js +4 -4
  16. package/lib/template/app-review/slides/index.native.js.map +1 -1
  17. package/lib/template/app-review/slides/prop-types.js +65 -18
  18. package/lib/template/app-review/slides/prop-types.js.map +1 -1
  19. package/lib/template/app-review/slides/style.css +2 -0
  20. package/locales/bs/global.json +4 -4
  21. package/locales/cs/global.json +4 -4
  22. package/locales/de/global.json +4 -4
  23. package/locales/en/global.json +4 -4
  24. package/locales/es/global.json +4 -4
  25. package/locales/et/global.json +4 -4
  26. package/locales/fr/global.json +5 -5
  27. package/locales/hr/global.json +4 -4
  28. package/locales/hu/global.json +4 -4
  29. package/locales/hy/global.json +4 -4
  30. package/locales/it/global.json +2 -2
  31. package/locales/ja/global.json +3 -3
  32. package/locales/ko/global.json +4 -4
  33. package/locales/nl/global.json +4 -4
  34. package/locales/pl/global.json +4 -4
  35. package/locales/pt/global.json +4 -4
  36. package/locales/ro/global.json +4 -4
  37. package/locales/ru/global.json +4 -4
  38. package/locales/sk/global.json +3 -3
  39. package/locales/tl/global.json +4 -4
  40. package/locales/tr/global.json +4 -4
  41. package/locales/uk/global.json +4 -4
  42. package/locales/vi/global.json +3 -3
  43. package/locales/zh/global.json +4 -4
  44. package/locales/zh_TW/global.json +3 -3
  45. package/package.json +11 -10
@@ -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","slidesState","primarySkinColor","validate","validateSlide","finishedSlides","updateSlidesOnValidation","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnValidation","updateStepItemsOnNext","updateFinishedSlides","slideValidationResult","correctionPopinProps","result","exitNode","nextSlide","endReview","animationType","validationResult","questionText","answerUI","get","label","validateLabel","validateButtonProps","customStyle","backgroundColor","onClick","newSlideContent","numberOfFinishedSlides","size","stepNumber","icon","ICON_VALUES","right","wrong","className","validateButton","disabled","klf","information","message","next","successLabel","failureLabel","_correctionPopinProps","current","type","resultLabel","questionOrigin","answerProps","model","answers","choices","slideBase","slideContentContainer","question","help","answerContainer","validateButtonWrapper","correctionPopinWrapper","hiddenCorrectionPopinWrapper","display","propTypes","SlidePropTypes","StackedSlides","slides","stackedSlides","slide","push","StackedSlidesPropTypes","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","context","skin","shouldMountSlides","updateShouldMountSlides","setTimeout","stepItemsArray","Array","from","values","_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 {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 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 Slide = ({\n slideNumber,\n slidesState,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\n slideValidationResult,\n correctionPopinProps = {}\n}) => {\n const result = get('result', slideValidationResult);\n const exitNode = get('exitNode', slideValidationResult);\n const nextSlide = get('nextSlide', slideValidationResult);\n // const validatedSlideNumber = get('slideNumber', slideValidationResult);\n\n const {\n hidden,\n endReview,\n position,\n animationType,\n validationResult,\n questionText,\n answerUI\n } = slidesState.get(slideNumber);\n\n const {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 // result: 'success' | 'failure'\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n validationResult: result,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlides.size,\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, true]);\n if (endReview) {\n updateReviewStatus('finished');\n }\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 {\n klf = {},\n information = {label: '', message: ''},\n next,\n successLabel = '',\n failureLabel = ''\n } = 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 updateSlidesOnNext({\n slideNumber,\n newSlideContent: {\n hidden: validationResult === 'success',\n position: HIGHEST_INDEX - finishedSlides.size,\n animationType: validationResult === 'success' ? 'unstack' : 'restack',\n validationResult,\n endReview: !!exitNode,\n answerUI,\n questionText\n },\n numberOfFinishedSlides: finishedSlides.size\n });\n updateStepItemsOnNext({\n stepNumber: slideNumber,\n finishedSlides,\n current: finishedSlides.size === HIGHEST_INDEX && validationResult !== 'success'\n });\n if (finishedSlides.size === TOTAL_SLIDES_STACK) {\n updateReviewStatus('finished');\n }\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 ? {\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 ...(finishedSlides.size !== 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 updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\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 updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\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 /*\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 useEffect(() => {\n if (reviewStatus === 'finished' || finishedSlides.size === TOTAL_SLIDES_STACK) {\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n }, [finishedSlides.size, reviewStatus, updateReviewStatus]);\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(stepItems.values());\n }, [stepItems]);\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 updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\n slideValidationResult,\n correctionPopinProps\n }}\n />\n </div>\n </div>\n ) : null}\n\n {reviewStatus === 'finished' ? (\n <div className={style.congrats}>\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","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"}
@@ -9,7 +9,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
10
10
  var _reactNative = require("react-native");
11
11
 
12
- var _propTypes2 = _interopRequireDefault(require("./prop-types"));
12
+ var _propTypes2 = require("./prop-types");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
@@ -201,8 +201,8 @@ const Slide = ({
201
201
  };
202
202
 
203
203
  Slide.propTypes = process.env.NODE_ENV !== "production" ? {
204
- slide: _propTypes2.default.slide,
205
- validateSlide: _propTypes2.default.validateSlide,
204
+ slide: _propTypes2.SlidesReviewPropTypes.slide,
205
+ validateSlide: _propTypes2.SlidesReviewPropTypes.validateSlide,
206
206
  num: _propTypes.default.number
207
207
  } : {}; // -----------------------------------------------------------------------------
208
208
  // const Slides = ({slide}: Props) => {
@@ -222,7 +222,7 @@ const Slides = ({
222
222
  })));
223
223
  };
224
224
 
225
- Slides.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.default : {}; // -----------------------------------------------------------------------------
225
+ Slides.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.SlidesReviewPropTypes : {}; // -----------------------------------------------------------------------------
226
226
 
227
227
  var _default = Slides;
228
228
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/slides/index.native.js"],"names":["quizzerStyle","StyleSheet","create","container","flex","padding","justifyContent","alignItems","SLIDE_HEIGHT","height","creatSlideStyle","num","width","slide","position","top","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","category","fontSize","lineHeight","textAlign","question","fontWeight","instruction","button","createOptionStyle","selected","box","marginTop","marginBottom","text","choicesStyle","Choices","choices","map","index","optionStyle","propTypes","PropTypes","arrayOf","bool","Slide","validateSlide","slideStyle","validateLabel","number","Slides","slides","reverse","_slide","length"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport {View, StyleSheet, Text, useWindowDimensions, Button} from 'react-native';\n\nimport propTypes from './prop-types';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import {BrandThemeContext} from '../../../app-shared/components/brand-theme-provider';\n// import Button from '../../../app-shared/components/button';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n\n// export type _Choice_ = {\n// text?: string,\n// selected: boolean\n// };\n\n// export type _Slide_ = {\n// category: string,\n// question: string,\n// instruction: string,\n// type: 'multiSelection' | 'singleSelection' | 'trueOrFalse',\n// choices?: _Choice_[]\n// };\n\n// interface Props {\n// slide: _Slide_;\n// num: number;\n// }\n\nconst quizzerStyle = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n // paddingTop: HEADER_HEIGHT + 20, @todo with props\n // backgroundColor: theme.colors.white, @todo with props\n justifyContent: 'space-between',\n alignItems: 'center'\n }\n});\n\nconst SLIDE_HEIGHT = () => useWindowDimensions().height * 0.75;\n\n// const creatSlideStyle = (num: number) =>\nconst creatSlideStyle = (num, width, height) =>\n StyleSheet.create({\n slide: {\n position: 'absolute',\n // backgroundColor: theme.colors.white, @todo with props\n top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,\n flex: 1,\n height: SLIDE_HEIGHT(),\n width: width - 40 - num * 8,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n },\n category: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.text.primary, @todo with props\n // marginBottom: theme.spacing.tiny, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n question: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n // color: theme.colors.text.primary, @todo with props\n textAlign: 'center'\n },\n instruction: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.gray.medium, @todo with props\n // marginBottom: theme.spacing.base, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n button: {\n width: 287,\n height: 52,\n borderRadius: 7\n // marginTop: theme.spacing.base @todo with props\n }\n });\n\nconst createOptionStyle = selected => {\n // const brandTheme = React.useContext(BrandThemeContext); @todo with props\n\n return StyleSheet.create({\n box: {\n width: '100%',\n // https://stackoverflow.com/a/66561995/959219\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.2,\n shadowRadius: 16,\n elevation: 8,\n // backgroundColor: selected ? brandTheme.colors.primary : theme.colors.white, @todo with props\n padding: 12,\n marginTop: 4,\n marginBottom: 4,\n borderRadius: 8\n },\n text: {\n fontSize: 15,\n fontWeight: 'bold',\n lineHeight: 24,\n // color: selected ? theme.colors.white : theme.colors.text.primary, @todo with props\n textAlign: 'center'\n }\n });\n};\n\nconst choicesStyle = StyleSheet.create({\n container: {\n flex: 1,\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\n/* {choices.map(({text, selected = false}: _Choice_) => { */\nconst Choices = ({choices}) => (\n <View style={choicesStyle.container}>\n {choices.map(({text, selected = false}, index) => {\n const optionStyle = createOptionStyle(selected);\n return (\n <View style={optionStyle.box} key={`choice-${index}`}>\n <Text style={optionStyle.text}>\n {text} {selected}\n </Text>\n </View>\n );\n })}\n </View>\n);\n\nChoices.propTypes = {\n choices: PropTypes.arrayOf({\n text: PropTypes.text,\n selected: PropTypes.bool\n })\n};\n\n// -----------------------------------------------------------------------------\n\n// const Slide = ({slide, num}: Props) => {\nconst Slide = ({validateSlide, slide, num}) => {\n const {width, height} = useWindowDimensions();\n const slideStyle = creatSlideStyle(num, width, height);\n const validateLabel = '__validate'; // translations.validate\n\n // TODO replace choices with <Answer>; move mobile answers in the package..\n return (\n <View style={slideStyle.slide}>\n <Text style={slideStyle.category}>\n {slide.category} {num}\n </Text>\n <Text style={slideStyle.question}>{slide.question}</Text>\n <Text style={slideStyle.instruction}>{slide.instruction}</Text>\n\n <Choices choices={slide.choices} />\n\n <Button style={slideStyle.button} onPress={validateSlide} testID={`button-quizzer-validate`}>\n {validateLabel}\n </Button>\n </View>\n );\n};\n\nSlide.propTypes = {\n slide: propTypes.slide,\n validateSlide: propTypes.validateSlide,\n num: PropTypes.number\n};\n\n// -----------------------------------------------------------------------------\n\n// const Slides = ({slide}: Props) => {\nconst Slides = ({slide, validateSlide}) => {\n const slides = [slide, slide, slide, slide, slide];\n return (\n <View style={quizzerStyle.container}>\n {slides.reverse().map((_slide, index) => (\n <Slide\n validateSlide={validateSlide}\n slide={_slide}\n num={slides.length - index}\n key={`slide-${index}`}\n />\n ))}\n </View>\n );\n};\n\nSlides.propTypes = propTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default Slides;\n"],"file":"index.native.js"}
1
+ {"version":3,"sources":["../../../../src/template/app-review/slides/index.native.js"],"names":["quizzerStyle","StyleSheet","create","container","flex","padding","justifyContent","alignItems","SLIDE_HEIGHT","height","creatSlideStyle","num","width","slide","position","top","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","category","fontSize","lineHeight","textAlign","question","fontWeight","instruction","button","createOptionStyle","selected","box","marginTop","marginBottom","text","choicesStyle","Choices","choices","map","index","optionStyle","propTypes","PropTypes","arrayOf","bool","Slide","validateSlide","slideStyle","validateLabel","SlidesReviewPropTypes","number","Slides","slides","reverse","_slide","length"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport {View, StyleSheet, Text, useWindowDimensions, Button} from 'react-native';\n\nimport {SlidesReviewPropTypes} from './prop-types';\n\n// import theme from '../../../modules/theme';\n// import translations from '../../../translations';\n// import {BrandThemeContext} from '../../../app-shared/components/brand-theme-provider';\n// import Button from '../../../app-shared/components/button';\n// import {HEADER_HEIGHT} from '../../../app-shared/components/header-v2';\n\n// export type _Choice_ = {\n// text?: string,\n// selected: boolean\n// };\n\n// export type _Slide_ = {\n// category: string,\n// question: string,\n// instruction: string,\n// type: 'multiSelection' | 'singleSelection' | 'trueOrFalse',\n// choices?: _Choice_[]\n// };\n\n// interface Props {\n// slide: _Slide_;\n// num: number;\n// }\n\nconst quizzerStyle = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n // paddingTop: HEADER_HEIGHT + 20, @todo with props\n // backgroundColor: theme.colors.white, @todo with props\n justifyContent: 'space-between',\n alignItems: 'center'\n }\n});\n\nconst SLIDE_HEIGHT = () => useWindowDimensions().height * 0.75;\n\n// const creatSlideStyle = (num: number) =>\nconst creatSlideStyle = (num, width, height) =>\n StyleSheet.create({\n slide: {\n position: 'absolute',\n // backgroundColor: theme.colors.white, @todo with props\n top: height / 2 - SLIDE_HEIGHT() / 2 - num * 4,\n flex: 1,\n height: SLIDE_HEIGHT(),\n width: width - 40 - num * 8,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n },\n category: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.text.primary, @todo with props\n // marginBottom: theme.spacing.tiny, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n question: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n // color: theme.colors.text.primary, @todo with props\n textAlign: 'center'\n },\n instruction: {\n fontSize: 12,\n lineHeight: 16,\n // color: theme.colors.gray.medium, @todo with props\n // marginBottom: theme.spacing.base, @todo with props\n // marginTop: theme.spacing.small, @todo with props\n textAlign: 'center'\n },\n button: {\n width: 287,\n height: 52,\n borderRadius: 7\n // marginTop: theme.spacing.base @todo with props\n }\n });\n\nconst createOptionStyle = selected => {\n // const brandTheme = React.useContext(BrandThemeContext); @todo with props\n\n return StyleSheet.create({\n box: {\n width: '100%',\n // https://stackoverflow.com/a/66561995/959219\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.2,\n shadowRadius: 16,\n elevation: 8,\n // backgroundColor: selected ? brandTheme.colors.primary : theme.colors.white, @todo with props\n padding: 12,\n marginTop: 4,\n marginBottom: 4,\n borderRadius: 8\n },\n text: {\n fontSize: 15,\n fontWeight: 'bold',\n lineHeight: 24,\n // color: selected ? theme.colors.white : theme.colors.text.primary, @todo with props\n textAlign: 'center'\n }\n });\n};\n\nconst choicesStyle = StyleSheet.create({\n container: {\n flex: 1,\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center'\n }\n});\n\n// -----------------------------------------------------------------------------\n\n/* {choices.map(({text, selected = false}: _Choice_) => { */\nconst Choices = ({choices}) => (\n <View style={choicesStyle.container}>\n {choices.map(({text, selected = false}, index) => {\n const optionStyle = createOptionStyle(selected);\n return (\n <View style={optionStyle.box} key={`choice-${index}`}>\n <Text style={optionStyle.text}>\n {text} {selected}\n </Text>\n </View>\n );\n })}\n </View>\n);\n\nChoices.propTypes = {\n choices: PropTypes.arrayOf({\n text: PropTypes.text,\n selected: PropTypes.bool\n })\n};\n\n// -----------------------------------------------------------------------------\n\n// const Slide = ({slide, num}: Props) => {\nconst Slide = ({validateSlide, slide, num}) => {\n const {width, height} = useWindowDimensions();\n const slideStyle = creatSlideStyle(num, width, height);\n const validateLabel = '__validate'; // translations.validate\n\n // TODO replace choices with <Answer>; move mobile answers in the package..\n return (\n <View style={slideStyle.slide}>\n <Text style={slideStyle.category}>\n {slide.category} {num}\n </Text>\n <Text style={slideStyle.question}>{slide.question}</Text>\n <Text style={slideStyle.instruction}>{slide.instruction}</Text>\n\n <Choices choices={slide.choices} />\n\n <Button style={slideStyle.button} onPress={validateSlide} testID={`button-quizzer-validate`}>\n {validateLabel}\n </Button>\n </View>\n );\n};\n\nSlide.propTypes = {\n slide: SlidesReviewPropTypes.slide,\n validateSlide: SlidesReviewPropTypes.validateSlide,\n num: PropTypes.number\n};\n\n// -----------------------------------------------------------------------------\n\n// const Slides = ({slide}: Props) => {\nconst Slides = ({slide, validateSlide}) => {\n const slides = [slide, slide, slide, slide, slide];\n return (\n <View style={quizzerStyle.container}>\n {slides.reverse().map((_slide, index) => (\n <Slide\n validateSlide={validateSlide}\n slide={_slide}\n num={slides.length - index}\n key={`slide-${index}`}\n />\n ))}\n </View>\n );\n};\n\nSlides.propTypes = SlidesReviewPropTypes;\n\n// -----------------------------------------------------------------------------\n\nexport default Slides;\n"],"file":"index.native.js"}
@@ -19,16 +19,62 @@ var _answer = _interopRequireDefault(require("../../../molecule/answer"));
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
22
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
+
24
+ const NextSlideProp = _propTypes.default.shape({
25
+ hidden: _propTypes.default.bool,
26
+ position: _propTypes.default.number,
27
+ // 'unstack' | 'restack'
28
+ animationType: _propTypes.default.string,
29
+ // 'success' | 'failure'
30
+ validationResult: _propTypes.default.string,
31
+ endReview: _propTypes.default.bool,
32
+ questionText: _propTypes.default.string,
33
+ answerUI: _answer.default
34
+ });
35
+
36
+ const SlideProp = _propTypes.default.shape(_extends(_extends({}, NextSlideProp.props), {}, {
37
+ nextSlide: NextSlideProp
38
+ }));
39
+
40
+ const StepItemProp = _propTypes.default.shape({
41
+ current: _propTypes.default.bool,
42
+ icon: _propTypes.default.string,
43
+ value: _propTypes.default.string
44
+ });
45
+
22
46
  const SlidesReviewPropTypes = {
23
47
  headerProps: _propTypes.default.shape((0, _omit.default)('steps', _reviewHeader.default.propTypes)),
24
48
  reviewBackgroundAriaLabel: _reviewBackground.default.propTypes['aria-label'],
25
49
  validate: _propTypes.default.shape({
26
50
  label: _propTypes.default.string
27
51
  }),
28
- slides: _propTypes.default.instanceOf(Map),
29
- finishedSlides: _propTypes.default.instanceOf(Map),
30
- stepItems: _propTypes.default.instanceOf(Map),
31
- reviewStatus: _propTypes.default.oneOfType(['finished', 'ongoing']),
52
+ slides: _propTypes.default.shape({
53
+ slideNumbers: _propTypes.default.arrayOf(_propTypes.default.number),
54
+ 0: SlideProp,
55
+ 1: SlideProp,
56
+ 2: SlideProp,
57
+ 3: SlideProp,
58
+ 4: SlideProp
59
+ }),
60
+ finishedSlides: _propTypes.default.shape({
61
+ slideNumbers: _propTypes.default.arrayOf(_propTypes.default.number),
62
+ 0: _propTypes.default.bool,
63
+ 1: _propTypes.default.bool,
64
+ 2: _propTypes.default.bool,
65
+ 3: _propTypes.default.bool,
66
+ 4: _propTypes.default.bool
67
+ }),
68
+ stepItems: _propTypes.default.shape({
69
+ slideNumbers: _propTypes.default.arrayOf(_propTypes.default.number),
70
+ 0: StepItemProp,
71
+ 1: StepItemProp,
72
+ 2: StepItemProp,
73
+ 3: StepItemProp,
74
+ 4: StepItemProp
75
+ }),
76
+ // 'finished' | 'ongoing'
77
+ reviewStatus: _propTypes.default.string,
32
78
  correctionPopinProps: _propTypes.default.shape({
33
79
  // ---------------
34
80
  klf: _reviewCorrectionPopin.default.propTypes.klf,
@@ -41,7 +87,18 @@ const SlidesReviewPropTypes = {
41
87
  failureLabel: _reviewCorrectionPopin.default.propTypes.resultLabel
42
88
  }),
43
89
  congratsProps: _propTypes.default.shape(_reviewCongrats.default.propTypes),
44
- // ---------------
90
+ slideValidationResult: _propTypes.default.shape({
91
+ slideNumber: _propTypes.default.number,
92
+ // 'success' | 'failure'
93
+ result: _propTypes.default.string,
94
+ // 'successExitNode' | 'failExitNode'
95
+ exitNode: _propTypes.default.string,
96
+ nextSlide: _propTypes.default.shape({
97
+ questionText: _propTypes.default.string,
98
+ answerUI: _propTypes.default.shape(_answer.default.propTypes)
99
+ })
100
+ }),
101
+ // ---------------------------------------------------------------------------
45
102
  // Dispatchers
46
103
  validateSlide: _propTypes.default.func.isRequired,
47
104
  updateSlidesOnValidation: _propTypes.default.func.isRequired,
@@ -49,33 +106,23 @@ const SlidesReviewPropTypes = {
49
106
  updateReviewStatus: _propTypes.default.func.isRequired,
50
107
  updateStepItemsOnValidation: _propTypes.default.func.isRequired,
51
108
  updateStepItemsOnNext: _propTypes.default.func.isRequired,
52
- updateFinishedSlides: _propTypes.default.func.isRequired,
53
- slideValidationResult: _propTypes.default.shape({
54
- slideNumber: _propTypes.default.number,
55
- result: _propTypes.default.oneOfType(['success', 'failure']),
56
- exitNode: _propTypes.default.oneOfType(['successExitNode', 'failExitNode', undefined]),
57
- nextSlide: _propTypes.default.shape({
58
- questionText: _propTypes.default.string,
59
- answerUI: _propTypes.default.shape(_answer.default.propTypes)
60
- })
61
- })
109
+ updateFinishedSlides: _propTypes.default.func.isRequired
62
110
  };
63
111
  exports.SlidesReviewPropTypes = SlidesReviewPropTypes;
64
112
  const SlidePropTypes = {
65
113
  slideNumber: _propTypes.default.number,
66
114
  slides: SlidesReviewPropTypes.slides,
115
+ primarySkinColor: _propTypes.default.string,
67
116
  validate: SlidesReviewPropTypes.validate,
68
117
  finishedSlides: SlidesReviewPropTypes.finishedSlides,
118
+ finishedSlidesSize: _propTypes.default.number,
69
119
  correctionPopinProps: SlidesReviewPropTypes.correctionPopinProps,
70
120
  // ---------------
71
121
  // Dispatchers
72
122
  validateSlide: SlidesReviewPropTypes.validateSlide,
73
- updateSlidesOnValidation: SlidesReviewPropTypes.updateSlidesOnValidation,
74
123
  updateSlidesOnNext: SlidesReviewPropTypes.updateSlidesOnNext,
75
124
  updateReviewStatus: SlidesReviewPropTypes.updateReviewStatus,
76
- updateStepItemsOnValidation: SlidesReviewPropTypes.updateStepItemsOnValidation,
77
125
  updateStepItemsOnNext: SlidesReviewPropTypes.updateStepItemsOnNext,
78
- updateFinishedSlides: SlidesReviewPropTypes.updateFinishedSlides,
79
126
  slideValidationResult: SlidesReviewPropTypes.slideValidationResult
80
127
  };
81
128
  exports.SlidePropTypes = SlidePropTypes;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/app-review/slides/prop-types.js"],"names":["SlidesReviewPropTypes","headerProps","PropTypes","shape","ReviewHeader","propTypes","reviewBackgroundAriaLabel","ReviewBackground","validate","label","string","slides","instanceOf","Map","finishedSlides","stepItems","reviewStatus","oneOfType","correctionPopinProps","klf","ReviewCorrectionPopin","information","next","successLabel","resultLabel","failureLabel","congratsProps","ReviewCongrats","validateSlide","func","isRequired","updateSlidesOnValidation","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnValidation","updateStepItemsOnNext","updateFinishedSlides","slideValidationResult","slideNumber","number","result","exitNode","undefined","nextSlide","questionText","answerUI","Answer","SlidePropTypes","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\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.instanceOf(Map),\n finishedSlides: PropTypes.instanceOf(Map),\n stepItems: PropTypes.instanceOf(Map),\n reviewStatus: PropTypes.oneOfType(['finished', 'ongoing']),\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 // ---------------\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 slideValidationResult: PropTypes.shape({\n slideNumber: PropTypes.number,\n result: PropTypes.oneOfType(['success', 'failure']),\n exitNode: PropTypes.oneOfType(['successExitNode', 'failExitNode', undefined]),\n nextSlide: PropTypes.shape({\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(Answer.propTypes)\n })\n })\n};\n\nexport const SlidePropTypes = {\n slideNumber: PropTypes.number,\n slides: SlidesReviewPropTypes.slides,\n validate: SlidesReviewPropTypes.validate,\n finishedSlides: SlidesReviewPropTypes.finishedSlides,\n correctionPopinProps: SlidesReviewPropTypes.correctionPopinProps,\n // ---------------\n // Dispatchers\n validateSlide: SlidesReviewPropTypes.validateSlide,\n updateSlidesOnValidation: SlidesReviewPropTypes.updateSlidesOnValidation,\n updateSlidesOnNext: SlidesReviewPropTypes.updateSlidesOnNext,\n updateReviewStatus: SlidesReviewPropTypes.updateReviewStatus,\n updateStepItemsOnValidation: SlidesReviewPropTypes.updateStepItemsOnValidation,\n updateStepItemsOnNext: SlidesReviewPropTypes.updateStepItemsOnNext,\n updateFinishedSlides: SlidesReviewPropTypes.updateFinishedSlides,\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","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"}
@@ -136,10 +136,12 @@
136
136
 
137
137
  @keyframes slideOutHideAndSlideIn {
138
138
  0% {
139
+ width: 100%;
139
140
  z-index: 55;
140
141
  transform: translate(0, 0);
141
142
  }
142
143
  50% {
144
+ width: 100%;
143
145
  z-index: 50;
144
146
  transform: translate(0, 1000px);
145
147
  opacity: 1;
@@ -21,10 +21,10 @@
21
21
  "Delete": "Izbrisati",
22
22
  "Draft": "Skica",
23
23
  "Edit": "Uredi",
24
- "external_content_article": "ARTICLE",
25
- "external_content_scorm": "INTERACTIVE SLIDES",
26
- "external_content_video": "VIDEO",
27
- "external_content_podcast": "PODCAST",
24
+ "external_content_article": "DOKUMENTI",
25
+ "external_content_scorm": "ANIMIRANI RESURSI",
26
+ "external_content_video": "VIDEOS",
27
+ "external_content_podcast": "PODCASTS",
28
28
  "keep_subscription": "Zadrži moju prijavu",
29
29
  "media_stars_to_win_plural": "Osvoji {{count}} dodatnu zvijezdu u ovom poglavlju prvi put kad vidiš lekciju!",
30
30
  "media_stars_to_win": "Osvoji {{count}} dodatnu zvijezdu u ovom poglavlju prvi put kad vidiš lekciju!",
@@ -21,10 +21,10 @@
21
21
  "Delete": "Smazat",
22
22
  "Draft": "Návrh",
23
23
  "Edit": "Upravit",
24
- "external_content_article": "ARTICLE",
25
- "external_content_scorm": "INTERACTIVE SLIDES",
26
- "external_content_video": "VIDEO",
27
- "external_content_podcast": "PODCAST",
24
+ "external_content_article": "DOKUMENTY",
25
+ "external_content_scorm": "ANIMAČNÍ SOUBORY",
26
+ "external_content_video": "VIDEA",
27
+ "external_content_podcast": "PODCASTY",
28
28
  "keep_subscription": "Ponechat předplatné",
29
29
  "media_stars_to_win_plural": "Získejte další hvězdy ({{count}}) v této kapitole při prvním zobrazení lekce!",
30
30
  "media_stars_to_win": "Vyhrajte další hvězdu ({{count}}) v této kapitole při prvním zobrazení lekce!",
@@ -21,10 +21,10 @@
21
21
  "Delete": "Löschen",
22
22
  "Draft": "Entwurf",
23
23
  "Edit": "Bearbeiten",
24
- "external_content_article": "ARTIKEL",
25
- "external_content_scorm": "INTERAKTIVE DIA",
26
- "external_content_video": "VIDEO",
27
- "external_content_podcast": "PODCAST",
24
+ "external_content_article": "DOKUMENTE",
25
+ "external_content_scorm": "ANIMIERTE RESSOURCEN",
26
+ "external_content_video": "VIDEOS",
27
+ "external_content_podcast": "PODCASTS",
28
28
  "keep_subscription": "Mein Abonnement behalten",
29
29
  "media_stars_to_win_plural": "Gewinnen Sie {{count}} zusätzliche Sterne in diesem Kapitel, wenn Sie die Lektion das erste Mal ansehen!",
30
30
  "media_stars_to_win": "Gewinnen Sie {{count}} zusätzliche Sterne in diesem Kapitel, wenn Sie die Lektion das erste Mal ansehen!",
@@ -21,10 +21,10 @@
21
21
  "Delete": "Delete",
22
22
  "Draft": "Draft",
23
23
  "Edit": "Edit",
24
- "external_content_article": "ARTICLE",
25
- "external_content_scorm": "INTERACTIVE SLIDES",
26
- "external_content_video": "VIDEO",
27
- "external_content_podcast": "PODCAST",
24
+ "external_content_article": "DOCUMENTS",
25
+ "external_content_scorm": "ANIMATED RESOURCES",
26
+ "external_content_video": "VIDEOS",
27
+ "external_content_podcast": "PODCASTS",
28
28
  "keep_subscription": "Keep my subscription",
29
29
  "media_stars_to_win_plural": "Win {{count}} additional stars in this chapter the first time you view a lesson!",
30
30
  "media_stars_to_win": "Win {{count}} additional star in this chapter the first time you view a lesson!",
@@ -21,10 +21,10 @@
21
21
  "Delete": "Borrar",
22
22
  "Draft": "Sequía",
23
23
  "Edit": "Editar",
24
- "external_content_article": "ARTICLE",
25
- "external_content_scorm": "INTERACTIVE SLIDES",
26
- "external_content_video": "VIDEO",
27
- "external_content_podcast": "PODCAST",
24
+ "external_content_article": "DOCUMENTOS",
25
+ "external_content_scorm": "RECURSOS ANIMADOS",
26
+ "external_content_video": "VÍDEOS",
27
+ "external_content_podcast": "PÓDCAST",
28
28
  "keep_subscription": "Mantener mi suscripción",
29
29
  "media_stars_to_win_plural": "Gana {{count}} estrellas adicionales en este capítulo la primera vez que veas una lección.",
30
30
  "media_stars_to_win": "Gana {{count}} estrellas adicionales en este capítulo la primera vez que veas una lección.",
@@ -21,10 +21,10 @@
21
21
  "Delete": "Kustuta",
22
22
  "Draft": "Mustand",
23
23
  "Edit": "Muuda",
24
- "external_content_article": "ARTICLE",
25
- "external_content_scorm": "INTERACTIVE SLIDES",
26
- "external_content_video": "VIDEO",
27
- "external_content_podcast": "PODCAST",
24
+ "external_content_article": "DOCUMENTS",
25
+ "external_content_scorm": "ANIMATED RESOURCES",
26
+ "external_content_video": "VIDEOS",
27
+ "external_content_podcast": "PODCASTS",
28
28
  "keep_subscription": "Hoia mu tellimus alles",
29
29
  "media_stars_to_win_plural": "Võida selles peatükis õppetunni esmakordsel vaatamisel {{count}} lisatähepunkti!",
30
30
  "media_stars_to_win": "Võida selles peatükis õppetunni esmakordsel vaatamisel {{count}} lisatähepunkt!",
@@ -21,10 +21,10 @@
21
21
  "Delete": "Supprimer",
22
22
  "Draft": "Brouillon",
23
23
  "Edit": "Modifier",
24
- "external_content_article": "ARTICLE",
25
- "external_content_scorm": "SLIDES INTERACTIVES",
26
- "external_content_video": "VIDEO",
27
- "external_content_podcast": "PODCAST",
24
+ "external_content_article": "DOCUMENTS",
25
+ "external_content_scorm": "RESSOURCES ANIMÉES",
26
+ "external_content_video": "VIDÉOS",
27
+ "external_content_podcast": "PODCASTS",
28
28
  "keep_subscription": "Garder mon abonnement",
29
29
  "media_stars_to_win_plural": "Gagnez {{count}} étoiles supplémentaires par chapitre en consultant la leçon !",
30
30
  "media_stars_to_win": "Gagnez {{count}} étoile supplémentaire par chapitre en consultant la leçon !",
@@ -77,4 +77,4 @@
77
77
  "zuora_discount_code": "Code promo",
78
78
  "mandatory_fields": "* Champs obligatoires",
79
79
  "something_went_wrong": "Oh Snap! Quelque chose a mal tourné."
80
- }
80
+ }
@@ -21,10 +21,10 @@
21
21
  "Delete": "Izbrišite",
22
22
  "Draft": "Nacrt",
23
23
  "Edit": "Uredite",
24
- "external_content_article": "ČLANAK",
25
- "external_content_scorm": "INTERAKTIVNI SLAJDOVI",
26
- "external_content_video": "VIDEO",
27
- "external_content_podcast": "PODCAST",
24
+ "external_content_article": "DOKUMENTI",
25
+ "external_content_scorm": "ANIMIRANI RESURSI",
26
+ "external_content_video": "VIDEOS",
27
+ "external_content_podcast": "PODCASTS",
28
28
  "keep_subscription": "Zadrži moju pretplatu",
29
29
  "media_stars_to_win_plural": "Osvojite {{count}} dodatnih zvjezdica u ovom poglavlju kada prvi put pogledate lekciju!",
30
30
  "media_stars_to_win": "Osvojite {{count}} dodatnu zvjezdicu u ovom poglavlju kada prvi put pogledate lekciju!",
@@ -21,10 +21,10 @@
21
21
  "Delete": "Törlés",
22
22
  "Draft": "vázlat",
23
23
  "Edit": "Szerkesztés",
24
- "external_content_article": "ARTICLE",
25
- "external_content_scorm": "INTERACTIVE SLIDES",
26
- "external_content_video": "VIDEO",
27
- "external_content_podcast": "PODCAST",
24
+ "external_content_article": "DOKUMENTUMOK",
25
+ "external_content_scorm": "ANIMÁLT FORRÁSOK",
26
+ "external_content_video": "VIDEÓK",
27
+ "external_content_podcast": "PODCASTOK",
28
28
  "keep_subscription": "Előfizetésem fenntartása",
29
29
  "media_stars_to_win_plural": "Nyerjen további {{count}} csillagot ebben a fejezetben egy lecke először történő megtekintésével!",
30
30
  "media_stars_to_win": "Nyerjen további {{count}} csillagot ebben a fejezetben egy lecke először történő megtekintésekor!",
@@ -21,10 +21,10 @@
21
21
  "Delete": "Ջնջել",
22
22
  "Draft": "Նախագիծ",
23
23
  "Edit": "Խմբագրել",
24
- "external_content_article": "Հոդված",
25
- "external_content_scorm": "Ինտերակտիվ Սլայդեր",
26
- "external_content_video": "Տեսանյութ",
27
- "external_content_podcast": "PODCAST",
24
+ "external_content_article": "ՓԱՍՏԱԹՂԹԵՐ",
25
+ "external_content_scorm": "ԱՆԻՄԱՏ ՌԵՍՈՒՐՍՆԵՐ",
26
+ "external_content_video": "ՏԵՍԱՆՅՈՒԹԵՐ",
27
+ "external_content_podcast": "ՓՈԴՔԱՍՏՆԵՐ",
28
28
  "keep_subscription": "Պահպանել իմ բաժանորդագրությունը",
29
29
  "media_stars_to_win_plural": "Հաղթեք {{count}} լրացուցիչ աստղեր այս բաժնում, երբ առաջին անգամ դիտեք դասը:",
30
30
  "media_stars_to_win": "Հաղթեք {{count}} լրացուցիչ աստղ այս բաժնում, երբ առաջին անգամ դիտեք դասը:",
@@ -21,8 +21,8 @@
21
21
  "Delete": "Elimina",
22
22
  "Draft": "Bozza",
23
23
  "Edit": "Modifica",
24
- "external_content_article": "ARTICLE",
25
- "external_content_scorm": "INTERACTIVE SLIDES",
24
+ "external_content_article": "DOCUMENTI",
25
+ "external_content_scorm": "RISORSE ANIMATE",
26
26
  "external_content_video": "VIDEO",
27
27
  "external_content_podcast": "PODCAST",
28
28
  "keep_subscription": "Mantieni il mio abbonamento",
@@ -21,9 +21,9 @@
21
21
  "Delete": "削除",
22
22
  "Draft": "ドラフト",
23
23
  "Edit": "編集",
24
- "external_content_article": "ARTICLE",
25
- "external_content_scorm": "INTERACTIVE SLIDES",
26
- "external_content_video": "VIDEO",
24
+ "external_content_article": "ドキュメント",
25
+ "external_content_scorm": "アニメーション化されたリソース",
26
+ "external_content_video": "動画",
27
27
  "external_content_podcast": "ポッドキャスト",
28
28
  "keep_subscription": "私のサブスクリプションを維持します。",
29
29
  "media_stars_to_win_plural": "もし、はじめてこのレッスンを受けた場合は{{count}}個のスターが追加で獲得できます。",