@coorpacademy/components 10.23.1 → 10.23.2

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.
@@ -26,12 +26,10 @@ const CorrectionPopin = ({
26
26
  message: ''
27
27
  }, 'information', correctionPopinProps);
28
28
  const next = get('next', correctionPopinProps);
29
+ const onClick = get(['next', 'onClick'], correctionPopinProps);
29
30
  const _correctionPopinProps = {
30
31
  next: {
31
- onClick: () => {
32
- // eslint-disable-next-line no-console
33
- console.log('Next Slide');
34
- },
32
+ onClick,
35
33
  label: next && next.label,
36
34
  'data-name': `next-question-button-${slideIndex}`,
37
35
  'aria-label': next && next['aria-label']
@@ -74,19 +72,6 @@ const ValidateButton = ({
74
72
  customStyle: {
75
73
  backgroundColor: primarySkinColor
76
74
  }
77
- /*
78
- slide validation action, this will trigger the correction popin
79
- (with the useEffect that fires the dispatchers, if there is a nextContent content,
80
- it will be loaded here) but will not trigger any animations unless the endReview
81
- signal is received (all slide will disappear, also fired in a useEffect),
82
- if it is the last slide and the content needs to be different, then that update will
83
- be handled on the next slide logic but the content will be carried from here.
84
- onClick: async () => {
85
- // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'
86
- await validateSlide();
87
- },
88
- */
89
-
90
75
  };
91
76
  return /*#__PURE__*/React.createElement("div", {
92
77
  key: "button-wrapper",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/review-slide/index.js"],"names":["React","useMemo","PropTypes","classnames","get","getOr","Answer","ButtonLink","Loader","ReviewCorrectionPopin","GetSkinFromContext","propTypes","style","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","_correctionPopinProps","onClick","console","log","type","resultLabel","correctionPopinWrapper","popinAnimation","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","disableContent","slideContentContainer","disabledSlideContent","question","__html","help","answerContainer","shape","slide","ReviewSlide","skin","loading","loadingAriaLabel","parentContentTitle","loader"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick: () => {\n // eslint-disable-next-line no-console\n console.log('Next Slide');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\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 nextContent content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slide 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 onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n */\n };\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin, disableContent} = props;\n if (!answerUI || !questionText) return null;\n\n return (\n <div\n key=\"content-container\"\n className={classnames(\n style.slideContentContainer,\n disableContent ? style.disabledSlideContent : null\n )}\n >\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div key=\"help\" className={style.help}>\n {get('help', answerUI)}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerUI} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string,\n disableContent: PropTypes.bool\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-name={`slide-container`} className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n [\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n disableContent={showCorrectionPopin}\n key=\"question-container\"\n />,\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </div>\n );\n};\n\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/organism/review-slide/index.js"],"names":["React","useMemo","PropTypes","classnames","get","getOr","Answer","ButtonLink","Loader","ReviewCorrectionPopin","GetSkinFromContext","propTypes","style","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","onClick","_correctionPopinProps","type","resultLabel","correctionPopinWrapper","popinAnimation","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","disableContent","slideContentContainer","disabledSlideContent","question","__html","help","answerContainer","shape","slide","ReviewSlide","skin","loading","loadingAriaLabel","parentContentTitle","loader"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n };\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin, disableContent} = props;\n if (!answerUI || !questionText) return null;\n\n return (\n <div\n key=\"content-container\"\n className={classnames(\n style.slideContentContainer,\n disableContent ? style.disabledSlideContent : null\n )}\n >\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div key=\"help\" className={style.help}>\n {get('help', answerUI)}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerUI} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string,\n disableContent: PropTypes.bool\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-name={`slide-container`} className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n [\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n disableContent={showCorrectionPopin}\n key=\"question-container\"\n />,\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </div>\n );\n};\n\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"file":"index.js"}
@@ -48,12 +48,10 @@ const CorrectionPopin = ({
48
48
  message: ''
49
49
  }, 'information', correctionPopinProps);
50
50
  const next = (0, _get.default)('next', correctionPopinProps);
51
+ const onClick = (0, _get.default)(['next', 'onClick'], correctionPopinProps);
51
52
  const _correctionPopinProps = {
52
53
  next: {
53
- onClick: () => {
54
- // eslint-disable-next-line no-console
55
- console.log('Next Slide');
56
- },
54
+ onClick,
57
55
  label: next && next.label,
58
56
  'data-name': `next-question-button-${slideIndex}`,
59
57
  'aria-label': next && next['aria-label']
@@ -96,19 +94,6 @@ const ValidateButton = ({
96
94
  customStyle: {
97
95
  backgroundColor: primarySkinColor
98
96
  }
99
- /*
100
- slide validation action, this will trigger the correction popin
101
- (with the useEffect that fires the dispatchers, if there is a nextContent content,
102
- it will be loaded here) but will not trigger any animations unless the endReview
103
- signal is received (all slide will disappear, also fired in a useEffect),
104
- if it is the last slide and the content needs to be different, then that update will
105
- be handled on the next slide logic but the content will be carried from here.
106
- onClick: async () => {
107
- // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'
108
- await validateSlide();
109
- },
110
- */
111
-
112
97
  };
113
98
  return /*#__PURE__*/_react.default.createElement("div", {
114
99
  key: "button-wrapper",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/review-slide/index.js"],"names":["CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","_correctionPopinProps","onClick","console","log","type","resultLabel","style","correctionPopinWrapper","popinAnimation","propTypes","PropTypes","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","disableContent","slideContentContainer","disabledSlideContent","question","__html","help","answerContainer","shape","slide","ReviewSlide","skin","loading","loadingAriaLabel","parentContentTitle","loader"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick: () => {\n // eslint-disable-next-line no-console\n console.log('Next Slide');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\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 nextContent content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slide 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 onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n */\n };\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin, disableContent} = props;\n if (!answerUI || !questionText) return null;\n\n return (\n <div\n key=\"content-container\"\n className={classnames(\n style.slideContentContainer,\n disableContent ? style.disabledSlideContent : null\n )}\n >\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div key=\"help\" className={style.help}>\n {get('help', answerUI)}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerUI} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string,\n disableContent: PropTypes.bool\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-name={`slide-container`} className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n [\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n disableContent={showCorrectionPopin}\n key=\"question-container\"\n />,\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </div>\n );\n};\n\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/organism/review-slide/index.js"],"names":["CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","onClick","_correctionPopinProps","type","resultLabel","style","correctionPopinWrapper","popinAnimation","propTypes","PropTypes","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","disableContent","slideContentContainer","disabledSlideContent","question","__html","help","answerContainer","shape","slide","ReviewSlide","skin","loading","loadingAriaLabel","parentContentTitle","loader"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,eAAe,GAAG,CAAC;AACvBC,EAAAA,oBADuB;AAEvBC,EAAAA,UAFuB;AAGvBC,EAAAA,mBAHuB;AAIvBC,EAAAA;AAJuB,CAAD,KAKlB;AACJ,MAAI,CAACD,mBAAL,EAA0B,OAAO,IAAP;AAE1B,QAAME,GAAG,GAAG,oBAAM,EAAN,EAAU,KAAV,EAAiBJ,oBAAjB,CAAZ;AACA,QAAMK,WAAW,GAAG,oBAAM;AAACC,IAAAA,KAAK,EAAE,EAAR;AAAYC,IAAAA,OAAO,EAAE;AAArB,GAAN,EAAgC,aAAhC,EAA+CP,oBAA/C,CAApB;AACA,QAAMQ,IAAI,GAAG,kBAAI,MAAJ,EAAYR,oBAAZ,CAAb;AACA,QAAMS,OAAO,GAAG,kBAAI,CAAC,MAAD,EAAS,SAAT,CAAJ,EAAyBT,oBAAzB,CAAhB;AAEA,QAAMU,qBAAqB,GAAG;AAC5BF,IAAAA,IAAI,EAAE;AACJC,MAAAA,OADI;AAEJH,MAAAA,KAAK,EAAEE,IAAI,IAAIA,IAAI,CAACF,KAFhB;AAGJ,mBAAc,wBAAuBL,UAAW,EAH5C;AAIJ,oBAAcO,IAAI,IAAIA,IAAI,CAAC,YAAD;AAJtB,KADsB;AAO5BJ,IAAAA,GAP4B;AAQ5BC,IAAAA,WAR4B;AAS5BM,IAAAA,IAAI,EAAEX,oBAAoB,CAACW,IATC;AAU5BC,IAAAA,WAAW,EAAEZ,oBAAoB,CAACY;AAVN,GAA9B;AAaA,sBACE;AACE,IAAA,SAAS,EAAE,yBACTC,eAAMC,sBADG,EAETX,sBAAsB,GAAGU,eAAME,cAAT,GAA0B,IAFvC;AADb,kBAME,6BAAC,8BAAD,EAA2BL,qBAA3B,CANF,CADF;AAUD,CApCD;;AAsCAX,eAAe,CAACiB,SAAhB,2CAA4B;AAC1Bf,EAAAA,UAAU,EAAEgB,mBAAUC,MADI;AAE1BhB,EAAAA,mBAAmB,EAAEe,mBAAUE,IAFL;AAG1BhB,EAAAA,sBAAsB,EAAEc,mBAAUE,IAHR;AAI1BnB,EAAAA,oBAAoB,EAAEgB,oBAAUhB;AAJN,CAA5B;;AAOA,MAAMoB,cAAc,GAAG,CAAC;AAACnB,EAAAA,UAAD;AAAaoB,EAAAA,cAAb;AAA6BC,EAAAA;AAA7B,CAAD,KAAoD;AACzE,QAAM;AAAChB,IAAAA,KAAD;AAAQG,IAAAA,OAAR;AAAiBc,IAAAA;AAAjB,MAA6BF,cAAnC;AACA,QAAMG,mBAAmB,GAAG;AAC1Bb,IAAAA,IAAI,EAAE,SADoB;AAE1BL,IAAAA,KAF0B;AAG1B,kBAAcA,KAHY;AAI1B,iBAAc,yBAAwBL,UAAW,EAJvB;AAK1BQ,IAAAA,OAL0B;AAM1Bc,IAAAA,QAN0B;AAO1BE,IAAAA,SAAS,EAAEZ,eAAMQ,cAPS;AAQ1BK,IAAAA,WAAW,EAAE;AACXC,MAAAA,eAAe,EAAEL;AADN;AARa,GAA5B;AAaA,sBACE;AAAK,IAAA,GAAG,EAAC,gBAAT;AAA0B,IAAA,SAAS,EAAET,eAAMe;AAA3C,kBACE,6BAAC,mBAAD,EAAgBJ,mBAAhB,CADF,CADF;AAKD,CApBD;;AAsBAJ,cAAc,CAACJ,SAAf,2CAA2B;AACzBf,EAAAA,UAAU,EAAEgB,mBAAUC,MADG;AAEzBG,EAAAA,cAAc,EAAEL,oBAAUK,cAFD;AAGzBC,EAAAA,gBAAgB,EAAEL,mBAAUC;AAHH,CAA3B;;AAMA,MAAMW,iBAAiB,GAAGC,KAAK,IAAI;AACjC,QAAM;AAACC,IAAAA,QAAD;AAAWC,IAAAA,YAAX;AAAyBC,IAAAA,cAAzB;AAAyCC,IAAAA;AAAzC,MAA2DJ,KAAjE;AACA,MAAI,CAACC,QAAD,IAAa,CAACC,YAAlB,EAAgC,OAAO,IAAP;AAEhC,sBACE;AACE,IAAA,GAAG,EAAC,mBADN;AAEE,IAAA,SAAS,EAAE,yBACTnB,eAAMsB,qBADG,EAETD,cAAc,GAAGrB,eAAMuB,oBAAT,GAAgC,IAFrC;AAFb,kBAOE;AAAK,IAAA,GAAG,EAAC,aAAT;AAAuB,IAAA,SAAS,EAAEvB,eAAMoB;AAAxC,KACGA,cADH,CAPF,eAUE;AACE,IAAA,GAAG,EAAC,OADN;AAEE,IAAA,SAAS,EAAEpB,eAAMwB,QAFnB,CAGE;AAHF;AAIE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAEN;AAAT;AAJ3B,IAVF,eAgBE;AAAK,IAAA,GAAG,EAAC,MAAT;AAAgB,IAAA,SAAS,EAAEnB,eAAM0B;AAAjC,KACG,kBAAI,MAAJ,EAAYR,QAAZ,CADH,CAhBF,eAmBE;AAAK,IAAA,GAAG,EAAC,kBAAT;AAA4B,IAAA,SAAS,EAAElB,eAAM2B;AAA7C,kBACE,6BAAC,eAAD,eAAYT,QAAZ;AAAsB,IAAA,GAAG,EAAC;AAA1B,KADF,CAnBF,CADF;AAyBD,CA7BD;;AA+BAF,iBAAiB,CAACb,SAAlB,2CAA8B;AAC5Be,EAAAA,QAAQ,EAAEd,mBAAUwB,KAAV,CAAgBzB,oBAAU0B,KAAV,CAAgBX,QAAhC,CADkB;AAE5BC,EAAAA,YAAY,EAAEf,mBAAUC,MAFI;AAG5Be,EAAAA,cAAc,EAAEhB,mBAAUC,MAHE;AAI5BgB,EAAAA,cAAc,EAAEjB,mBAAUE;AAJE,CAA9B;;AAOA,MAAMwB,WAAW,GAAGb,KAAK,IAAI;AAC3B,QAAM;AAACY,IAAAA,KAAD;AAAQrB,IAAAA,cAAR;AAAwBrB,IAAAA,oBAAxB;AAA8CC,IAAAA,UAAU,GAAG;AAA3D,MAAkE6B,KAAxE;AAEA,QAAMc,IAAI,GAAG,mCAAb;AACA,QAAMtB,gBAAgB,GAAG,oBAAQ,MAAM,oBAAM,SAAN,EAAiB,gBAAjB,EAAmCsB,IAAnC,CAAd,EAAwD,CAACA,IAAD,CAAxD,CAAzB;AACA,QAAM;AACJC,IAAAA,OADI;AAEJC,IAAAA,gBAFI;AAGJC,IAAAA,kBAHI;AAIJf,IAAAA,YAJI;AAKJD,IAAAA,QALI;AAMJ7B,IAAAA,mBANI;AAOJC,IAAAA;AAPI,MAQFuC,KARJ;AAUA,sBACE;AAAK,iBAAY,iBAAjB;AAAmC,IAAA,SAAS,EAAE7B,eAAM6B;AAApD,KACGG,OAAO,gBACN,6BAAC,eAAD;AAAQ,IAAA,SAAS,EAAEhC,eAAMmC,MAAzB;AAAiC,IAAA,KAAK,EAAC,SAAvC;AAAiD,kBAAYF;AAA7D,IADM,GAGN,cACE,6BAAC,iBAAD;AACE,IAAA,cAAc,EAAEC,kBADlB;AAEE,IAAA,YAAY,EAAEf,YAFhB;AAGE,IAAA,QAAQ,EAAED,QAHZ;AAIE,IAAA,cAAc,EAAE7B,mBAJlB;AAKE,IAAA,GAAG,EAAC;AALN,IADF,eAQE,6BAAC,cAAD;AACE,IAAA,UAAU,EAAED,UADd;AAEE,IAAA,cAAc,EAAEoB,cAFlB;AAGE,IAAA,gBAAgB,EAAEC,gBAHpB;AAIE,IAAA,GAAG,EAAC;AAJN,IARF,eAcE,6BAAC,eAAD;AACE,IAAA,oBAAoB,EAAEtB,oBADxB;AAEE,IAAA,UAAU,EAAEC,UAFd;AAGE,IAAA,mBAAmB,EAAEC,mBAHvB;AAIE,IAAA,sBAAsB,EAAEC,sBAJ1B;AAKE,IAAA,GAAG,EAAC;AALN,IAdF,CAJJ,CADF;AA8BD,CA7CD;;AA+CAwC,WAAW,CAAC3B,SAAZ,2CAAwBA,mBAAxB;eAEe2B,W","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n };\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin, disableContent} = props;\n if (!answerUI || !questionText) return null;\n\n return (\n <div\n key=\"content-container\"\n className={classnames(\n style.slideContentContainer,\n disableContent ? style.disabledSlideContent : null\n )}\n >\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div key=\"help\" className={style.help}>\n {get('help', answerUI)}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerUI} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string,\n disableContent: PropTypes.bool\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-name={`slide-container`} className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n [\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n disableContent={showCorrectionPopin}\n key=\"question-container\"\n />,\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />,\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ]\n )}\n </div>\n );\n};\n\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"file":"index.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "10.23.1",
3
+ "version": "10.23.2",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -140,5 +140,5 @@
140
140
  "webpack": "^4.43.0"
141
141
  },
142
142
  "author": "CoorpAcademy",
143
- "gitHead": "40c927683110cc7186089cea2545244ad0a11dc4"
143
+ "gitHead": "e61dd34ad35298d25b20f60966d679a7f1f5657d"
144
144
  }