@coorpacademy/components 10.21.1 → 10.21.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/atom/content-badge/index.js +15 -3
- package/es/atom/content-badge/index.js.map +1 -1
- package/es/atom/content-badge/style.css +6 -0
- package/es/atom/input-checkbox/index.js +4 -2
- package/es/atom/input-checkbox/index.js.map +1 -1
- package/es/atom/review-header-step-item/index.js +3 -2
- package/es/atom/review-header-step-item/index.js.map +1 -1
- package/es/molecule/banner/index.js +9 -4
- package/es/molecule/banner/index.js.map +1 -1
- package/es/molecule/banner/style.css +41 -6
- package/es/molecule/card/index.js +5 -1
- package/es/molecule/card/index.js.map +1 -1
- package/es/molecule/card/selectable.css +49 -2
- package/es/molecule/card/selectable.js +10 -2
- package/es/molecule/card/selectable.js.map +1 -1
- package/es/molecule/cm-popin/index.js +12 -5
- package/es/molecule/cm-popin/index.js.map +1 -1
- package/es/molecule/cm-popin/style.css +28 -0
- package/es/molecule/go1-banner/index.js +56 -0
- package/es/molecule/go1-banner/index.js.map +1 -0
- package/es/molecule/go1-banner/style.css +90 -0
- package/es/organism/brand-dashboard/index.js +6 -3
- package/es/organism/brand-dashboard/index.js.map +1 -1
- package/es/organism/mooc-header/style.css +2 -2
- package/es/template/app-review/slides/index.js +25 -26
- package/es/template/app-review/slides/index.js.map +1 -1
- package/es/template/app-review/slides/prop-types.js +4 -4
- package/es/template/app-review/slides/prop-types.js.map +1 -1
- package/es/variables/colors.css +4 -0
- package/lib/atom/content-badge/index.js +17 -4
- package/lib/atom/content-badge/index.js.map +1 -1
- package/lib/atom/content-badge/style.css +6 -0
- package/lib/atom/input-checkbox/index.js +4 -2
- package/lib/atom/input-checkbox/index.js.map +1 -1
- package/lib/atom/review-header-step-item/index.js +3 -2
- package/lib/atom/review-header-step-item/index.js.map +1 -1
- package/lib/molecule/banner/index.js +9 -4
- package/lib/molecule/banner/index.js.map +1 -1
- package/lib/molecule/banner/style.css +41 -6
- package/lib/molecule/card/index.js +3 -1
- package/lib/molecule/card/index.js.map +1 -1
- package/lib/molecule/card/selectable.css +49 -2
- package/lib/molecule/card/selectable.js +9 -1
- package/lib/molecule/card/selectable.js.map +1 -1
- package/lib/molecule/cm-popin/index.js +12 -5
- package/lib/molecule/cm-popin/index.js.map +1 -1
- package/lib/molecule/cm-popin/style.css +28 -0
- package/lib/molecule/go1-banner/index.js +67 -0
- package/lib/molecule/go1-banner/index.js.map +1 -0
- package/lib/molecule/go1-banner/style.css +90 -0
- package/lib/organism/brand-dashboard/index.js +7 -3
- package/lib/organism/brand-dashboard/index.js.map +1 -1
- package/lib/organism/mooc-header/style.css +2 -2
- package/lib/template/app-review/slides/index.js +25 -26
- package/lib/template/app-review/slides/index.js.map +1 -1
- package/lib/template/app-review/slides/prop-types.js +4 -4
- package/lib/template/app-review/slides/prop-types.js.map +1 -1
- package/lib/variables/colors.css +4 -0
- package/locales/hr/global.json +2 -2
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/app-review/slides/index.js"],"names":["React","useState","useMemo","useEffect","classnames","get","getOr","isNil","map","omit","pipe","size","ICON_VALUES","ReviewBackground","ReviewCongrats","ReviewHeader","ReviewCorrectionPopin","Answer","ButtonLink","style","SlidesReviewPropTypes","SlidePropTypes","StackedSlidesPropTypes","stylesByPosition","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","StackedSlides","stackedSlides","slide","push","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","updateSlidesOnValidation","updateStepItemsOnValidation","updateFinishedSlides","context","skin","shouldMountSlides","updateShouldMountSlides","result","nextSlide","icon","right","wrong","value","setTimeout","stepItemsArray","stepItem","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","reviewHeaderContainer","stackedSlidesYAxisOverflowContainer","stackedSlidesContainer","congrats"],"mappings":"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","sourcesContent":["import React, {useState, useMemo, useEffect} from 'react';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport isNil from 'lodash/fp/isNil';\nimport map from 'lodash/fp/map';\nimport omit from 'lodash/fp/omit';\nimport pipe from 'lodash/fp/pipe';\nimport size from 'lodash/fp/size';\nimport {ICON_VALUES} from '../../../atom/review-header-step-item';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewHeader from '../../../organism/review-header';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport Answer from '../../../molecule/answer';\nimport ButtonLink from '../../../atom/button-link';\nimport style from './style.css';\nimport {SlidesReviewPropTypes, SlidePropTypes, StackedSlidesPropTypes} from './prop-types';\n\nconst stylesByPosition = {\n 0: style.position0,\n 1: style.position1,\n 2: style.position2,\n 3: style.position3,\n 4: style.position4\n};\n\nexport const TOTAL_SLIDES_STACK = 5;\nexport const HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;\n\nconst getSlideAnimation = (action, position, hidden) => {\n switch (action) {\n /* istanbul ignore next */\n case 'unstack':\n return style.slideOutHideAndIn;\n /* istanbul ignore next */\n case 'restack':\n return style.slideOutAndIn;\n default:\n return hidden ? style.hiddenSlide : stylesByPosition[position];\n }\n};\n\nconst Slide = ({\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n slideValidationResult,\n correctionPopinProps\n}) => {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const animationType = getOr(false, `${slideNumber}.animationType`, slides);\n const validationResult = getOr(null, `${slideNumber}.validationResult`, slides);\n const questionText = get(`${slideNumber}.questionText`, slides);\n const answerUI = get(`${slideNumber}.answerUI`, slides);\n\n const validateLabel = getOr('', 'label', validate);\n\n const validateButtonProps = {\n customStyle: {\n backgroundColor: primarySkinColor\n },\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextSlide content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slides will disappear, also fired in a useEffect),\n \n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n */\n onClick: async () => {\n // result: 'success' | 'failure'\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n 'aria-label': validateLabel,\n label: validateLabel,\n 'data-name': `slide-validate-button-${slideNumber}`,\n className: style.validateButton,\n disabled: !isNil(validationResult)\n };\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const successLabel = getOr('', 'successLabel', correctionPopinProps);\n const failureLabel = getOr('', 'failureLabel', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n /*\n next slide action, this will trigger the slides animations\n if it is the last slide AND the content needs to be different, then that update\n of the content will be handled here (and in the validate as it happens normally )\n from the content carried from the validate action.\n */\n onClick: () => {\n const exitNode = get('exitNode', slideValidationResult);\n\n updateSlidesOnNext({\n slideNumber,\n newSlideContent: {\n hidden: validationResult === 'success',\n position: HIGHEST_INDEX - finishedSlidesSize, // to restack the slide\n animationType: validationResult === 'success' ? 'unstack' : 'restack',\n validationResult,\n endReview: !!exitNode,\n answerUI,\n questionText\n },\n numberOfFinishedSlides: finishedSlidesSize\n });\n updateStepItemsOnNext({\n stepNumber: slideNumber,\n finishedSlides,\n current:\n finishedSlidesSize === HIGHEST_INDEX &&\n /* istanbul ignore next */ validationResult !== 'success'\n });\n\n if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideNumber}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: validationResult === 'success' ? 'right' : 'wrong',\n resultLabel: validationResult === 'success' ? successLabel : failureLabel\n };\n\n const questionOrigin = 'From \"Master Design Thinking to become more agile\" course';\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div\n key={`slide-${slideNumber}`}\n data-name={`slide-${slideNumber}`}\n className={classnames(\n style.slideBase,\n getSlideAnimation(animationType, position, hidden),\n endReview ? style.endReview : null\n )}\n >\n {answerUI && questionText ? (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div key=\"title\" className={style.question}>\n {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {answerUI.help}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n ) : null}\n\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n <div\n className={\n validationResult ? style.correctionPopinWrapper : style.hiddenCorrectionPopinWrapper\n }\n style={{\n ...(finishedSlidesSize !== HIGHEST_INDEX &&\n !validationResult && {\n display: 'none'\n })\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n </div>\n );\n};\n\nSlide.propTypes = SlidePropTypes;\n\nconst StackedSlides = ({\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n slideValidationResult,\n correctionPopinProps\n}) => {\n const stackedSlides = [];\n // eslint-disable-next-line fp/no-loops\n for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {\n const slide = (\n <Slide\n {...{\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n slideValidationResult,\n correctionPopinProps\n }}\n key={slideNumber}\n />\n );\n stackedSlides.push(slide);\n }\n\n return stackedSlides;\n};\n\nStackedSlides.propTypes = StackedSlidesPropTypes;\n\nconst SlidesReview = (\n {\n headerProps,\n reviewBackgroundAriaLabel,\n validate,\n correctionPopinProps,\n slides,\n finishedSlides,\n stepItems,\n reviewStatus,\n congratsProps,\n validateSlide,\n updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\n slideValidationResult\n },\n context\n) => {\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n\n const finishedSlidesSize = useMemo(() => pipe(omit('slideNumbers'), size)(finishedSlides), [\n finishedSlides\n ]);\n\n /*\n ||-------> the slides have an slightly longer lifespan than the \"ongoing\" review State,\n after reviewState changes to \"finished\" the slides don't have to unmount until the last\n slide-out animation is finished, the slides have to be unmounted to be RGAA complaint.\n (if they are only invisible -but- still mounted, then they will be found by the assisting\n tools & clutter them)\n */\n const [shouldMountSlides, updateShouldMountSlides] = useState(true);\n\n useEffect(\n /* istanbul ignore next */ () => {\n const slideNumber = get('slideNumber', slideValidationResult);\n if (slideValidationResult) {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const result = get('result', slideValidationResult);\n const exitNode = get('exitNode', slideValidationResult);\n const nextSlide = get('nextSlide', slideValidationResult);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n validationResult: result,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextSlide\n });\n updateStepItemsOnValidation({\n stepNumber: slideNumber,\n icon: result === 'success' ? ICON_VALUES.right : ICON_VALUES.wrong\n });\n if (result === 'success') updateFinishedSlides({slideNumber, value: true});\n if (endReview) {\n updateReviewStatus('finished');\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [slideValidationResult]\n );\n\n useEffect(\n /* istanbul ignore next */ () => {\n if (reviewStatus === 'finished') {\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n },\n [finishedSlidesSize, reviewStatus, updateReviewStatus]\n );\n\n // ||-------> transform the step items state to Array\n const stepItemsArray = useMemo(\n () =>\n pipe(\n omit('slideNumbers'),\n map(stepItem => stepItem)\n )(stepItems),\n [stepItems]\n );\n\n const _headerProps = {\n ...headerProps,\n steps: stepItemsArray,\n key: 'review-header',\n hiddenSteps: reviewStatus !== 'ongoing'\n };\n\n return (\n <div\n key=\"slides-revision-container\"\n data-name=\"slides-revision-container\"\n className={style.slidesRevisionContainer}\n >\n <div key=\"player-background-container\" className={style.playerBackground}>\n <ReviewBackground aria-label={reviewBackgroundAriaLabel} />\n </div>\n\n <div key=\"review-header-wrapper\" className={style.reviewHeaderContainer}>\n <ReviewHeader {..._headerProps} />\n </div>\n\n {shouldMountSlides ? (\n <div\n key=\"stacked-slides-container-y-overflow\"\n className={style.stackedSlidesYAxisOverflowContainer}\n >\n <div\n key=\"stacked-slides-container\"\n data-name=\"stacked-slides-container\"\n className={style.stackedSlidesContainer}\n >\n <StackedSlides\n {...{\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n slideValidationResult,\n correctionPopinProps\n }}\n />\n </div>\n </div>\n ) : /* istanbul ignore next */ null}\n\n {reviewStatus === 'finished' ? (\n <div className={style.congrats} data-name=\"congrats-container\">\n <ReviewCongrats {...congratsProps} />\n </div>\n ) : null}\n </div>\n );\n};\n\nSlidesReview.propTypes = SlidesReviewPropTypes;\n\nexport default SlidesReview;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/slides/index.js"],"names":["React","useState","useMemo","useEffect","classnames","get","getOr","isNil","map","omit","pipe","size","ICON_VALUES","ReviewBackground","ReviewCongrats","ReviewHeader","ReviewCorrectionPopin","Answer","ButtonLink","style","SlidesReviewPropTypes","SlidePropTypes","StackedSlidesPropTypes","stylesByPosition","position0","position1","position2","position3","position4","TOTAL_SLIDES_STACK","HIGHEST_INDEX","getSlideAnimation","action","position","hidden","slideOutHideAndIn","slideOutAndIn","hiddenSlide","Slide","slideNumber","slides","primarySkinColor","validate","validateSlide","finishedSlides","finishedSlidesSize","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnNext","progression","correctionPopinProps","endReview","animationType","isSlideCorrect","questionText","answerUI","validateLabel","validateButtonProps","customStyle","backgroundColor","onClick","label","className","validateButton","disabled","klf","information","message","next","successLabel","failureLabel","_correctionPopinProps","exitNode","newSlideContent","isCorrect","numberOfFinishedSlides","stepNumber","current","type","resultLabel","questionOrigin","answerProps","model","answers","choices","slideBase","slideContentContainer","question","help","answerContainer","validateButtonWrapper","correctionPopinWrapper","hiddenCorrectionPopinWrapper","display","propTypes","StackedSlides","stackedSlides","slide","push","SlidesReview","headerProps","reviewBackgroundAriaLabel","stepItems","reviewStatus","congratsProps","updateSlidesOnValidation","updateStepItemsOnValidation","updateFinishedSlides","context","skin","shouldMountSlides","updateShouldMountSlides","nextSlide","icon","right","wrong","value","setTimeout","stepItemsArray","stepItem","_headerProps","steps","key","hiddenSteps","slidesRevisionContainer","playerBackground","reviewHeaderContainer","stackedSlidesYAxisOverflowContainer","stackedSlidesContainer","congrats"],"mappings":"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","sourcesContent":["import React, {useState, useMemo, useEffect} from 'react';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport isNil from 'lodash/fp/isNil';\nimport map from 'lodash/fp/map';\nimport omit from 'lodash/fp/omit';\nimport pipe from 'lodash/fp/pipe';\nimport size from 'lodash/fp/size';\nimport {ICON_VALUES} from '../../../atom/review-header-step-item';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewHeader from '../../../organism/review-header';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport Answer from '../../../molecule/answer';\nimport ButtonLink from '../../../atom/button-link';\nimport style from './style.css';\nimport {SlidesReviewPropTypes, SlidePropTypes, StackedSlidesPropTypes} from './prop-types';\n\nconst stylesByPosition = {\n 0: style.position0,\n 1: style.position1,\n 2: style.position2,\n 3: style.position3,\n 4: style.position4\n};\n\nexport const TOTAL_SLIDES_STACK = 5;\nexport const HIGHEST_INDEX = TOTAL_SLIDES_STACK - 1;\n\nconst getSlideAnimation = (action, position, hidden) => {\n switch (action) {\n /* istanbul ignore next */\n case 'unstack':\n return style.slideOutHideAndIn;\n /* istanbul ignore next */\n case 'restack':\n return style.slideOutAndIn;\n default:\n return hidden ? style.hiddenSlide : stylesByPosition[position];\n }\n};\n\nconst Slide = ({\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const animationType = getOr(false, `${slideNumber}.animationType`, slides);\n const isSlideCorrect = getOr(null, `${slideNumber}.isCorrect`, slides);\n const questionText = get(`${slideNumber}.questionText`, slides);\n const answerUI = get(`${slideNumber}.answerUI`, slides);\n\n const validateLabel = getOr('', 'label', validate);\n\n const validateButtonProps = {\n customStyle: {\n backgroundColor: primarySkinColor\n },\n /*\n slide validation action, this will trigger the correction popin\n (with the useEffect that fires the dispatchers, if there is a nextSlide content,\n it will be loaded here) but will not trigger any animations unless the endReview\n signal is received (all slides will disappear, also fired in a useEffect),\n \n if it is the last slide and the content needs to be different, then that update will\n be handled on the next slide logic but the content will be carried from here.\n */\n onClick: async () => {\n // endReview based on nextContent ref exit node values: 'successExitNode' : 'failExitNode'\n await validateSlide();\n },\n 'aria-label': validateLabel,\n label: validateLabel,\n 'data-name': `slide-validate-button-${slideNumber}`,\n className: style.validateButton,\n disabled: !isNil(isSlideCorrect)\n };\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const successLabel = getOr('', 'successLabel', correctionPopinProps);\n const failureLabel = getOr('', 'failureLabel', correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n /*\n next slide action, this will trigger the slides animations\n if it is the last slide AND the content needs to be different, then that update\n of the content will be handled here (and in the validate as it happens normally )\n from the content carried from the validate action.\n */\n onClick: () => {\n const exitNode = get('exitNode', progression);\n\n updateSlidesOnNext({\n slideNumber,\n newSlideContent: {\n hidden: !!isSlideCorrect,\n position: HIGHEST_INDEX - finishedSlidesSize, // to restack the slide\n animationType: isSlideCorrect ? 'unstack' : 'restack',\n isCorrect: isSlideCorrect,\n endReview: !!exitNode,\n answerUI,\n questionText\n },\n numberOfFinishedSlides: finishedSlidesSize\n });\n updateStepItemsOnNext({\n stepNumber: slideNumber,\n finishedSlides,\n current:\n finishedSlidesSize === HIGHEST_INDEX && /* istanbul ignore next */ !isSlideCorrect\n });\n\n if (finishedSlidesSize === TOTAL_SLIDES_STACK) updateReviewStatus('finished');\n },\n label: next && next.label,\n 'data-name': `next-question-button-${slideNumber}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: isSlideCorrect ? 'right' : 'wrong',\n resultLabel: isSlideCorrect ? successLabel : failureLabel\n };\n\n const questionOrigin = 'From \"Master Design Thinking to become more agile\" course';\n const answerProps = get(['model', 'choices'], answerUI)\n ? /* istanbul ignore next */ {\n ...answerUI,\n model: {\n ...answerUI.model,\n answers: answerUI.model.choices\n }\n }\n : answerUI;\n\n return (\n <div\n key={`slide-${slideNumber}`}\n data-name={`slide-${slideNumber}`}\n className={classnames(\n style.slideBase,\n getSlideAnimation(animationType, position, hidden),\n endReview ? style.endReview : null\n )}\n >\n {answerUI && questionText ? (\n <div key=\"content-container\" className={style.slideContentContainer}>\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div key=\"title\" className={style.question}>\n {questionText}\n </div>\n <div key=\"help\" className={style.help}>\n {answerUI.help}\n </div>\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerProps} key=\"answer\" />\n </div>\n </div>\n ) : null}\n\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n <div\n className={\n isSlideCorrect ? style.correctionPopinWrapper : style.hiddenCorrectionPopinWrapper\n }\n style={{\n ...(finishedSlidesSize !== HIGHEST_INDEX &&\n !isSlideCorrect && {\n display: 'none'\n })\n }}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n </div>\n );\n};\n\nSlide.propTypes = SlidePropTypes;\n\nconst StackedSlides = ({\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n}) => {\n const stackedSlides = [];\n // eslint-disable-next-line fp/no-loops\n for (let slideNumber = 0; slideNumber < TOTAL_SLIDES_STACK; slideNumber++) {\n const slide = (\n <Slide\n {...{\n slideNumber,\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n key={slideNumber}\n />\n );\n stackedSlides.push(slide);\n }\n\n return stackedSlides;\n};\n\nStackedSlides.propTypes = StackedSlidesPropTypes;\n\nconst SlidesReview = (\n {\n headerProps,\n reviewBackgroundAriaLabel,\n validate,\n correctionPopinProps,\n slides,\n finishedSlides,\n stepItems,\n reviewStatus,\n congratsProps,\n validateSlide,\n updateSlidesOnValidation,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnValidation,\n updateStepItemsOnNext,\n updateFinishedSlides,\n progression\n },\n context\n) => {\n const {skin} = context;\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n\n const finishedSlidesSize = useMemo(() => pipe(omit('slideNumbers'), size)(finishedSlides), [\n finishedSlides\n ]);\n\n /*\n ||-------> the slides have an slightly longer lifespan than the \"ongoing\" review State,\n after reviewState changes to \"finished\" the slides don't have to unmount until the last\n slide-out animation is finished, the slides have to be unmounted to be RGAA complaint.\n (if they are only invisible -but- still mounted, then they will be found by the assisting\n tools & clutter them)\n */\n const [shouldMountSlides, updateShouldMountSlides] = useState(true);\n\n useEffect(\n /* istanbul ignore next */ () => {\n const slideNumber = get('slideNumber', progression);\n if (progression) {\n const hidden = getOr(false, `${slideNumber}.hidden`, slides);\n const endReview = getOr(false, `${slideNumber}.endReview`, slides);\n const position = get(`${slideNumber}.position`, slides);\n const isCorrect = get('isCorrect', progression);\n const exitNode = get('exitNode', progression);\n const nextSlide = get('nextSlide', progression);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n isCorrect,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextSlide\n });\n updateStepItemsOnValidation({\n stepNumber: slideNumber,\n icon: isCorrect ? ICON_VALUES.right : ICON_VALUES.wrong\n });\n if (isCorrect) updateFinishedSlides({slideNumber, value: true});\n if (endReview) {\n updateReviewStatus('finished');\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [progression]\n );\n\n useEffect(\n /* istanbul ignore next */ () => {\n if (reviewStatus === 'finished') {\n setTimeout(() => updateShouldMountSlides(false), 2000);\n }\n },\n [finishedSlidesSize, reviewStatus, updateReviewStatus]\n );\n\n // ||-------> transform the step items state to Array\n const stepItemsArray = useMemo(\n () =>\n pipe(\n omit('slideNumbers'),\n map(stepItem => stepItem)\n )(stepItems),\n [stepItems]\n );\n\n const _headerProps = {\n ...headerProps,\n steps: stepItemsArray,\n key: 'review-header',\n hiddenSteps: reviewStatus !== 'ongoing'\n };\n\n return (\n <div\n key=\"slides-revision-container\"\n data-name=\"slides-revision-container\"\n className={style.slidesRevisionContainer}\n >\n <div key=\"player-background-container\" className={style.playerBackground}>\n <ReviewBackground aria-label={reviewBackgroundAriaLabel} />\n </div>\n\n <div key=\"review-header-wrapper\" className={style.reviewHeaderContainer}>\n <ReviewHeader {..._headerProps} />\n </div>\n\n {shouldMountSlides ? (\n <div\n key=\"stacked-slides-container-y-overflow\"\n className={style.stackedSlidesYAxisOverflowContainer}\n >\n <div\n key=\"stacked-slides-container\"\n data-name=\"stacked-slides-container\"\n className={style.stackedSlidesContainer}\n >\n <StackedSlides\n {...{\n slides,\n primarySkinColor,\n validate,\n validateSlide,\n finishedSlides,\n finishedSlidesSize,\n updateSlidesOnNext,\n updateReviewStatus,\n updateStepItemsOnNext,\n progression,\n correctionPopinProps\n }}\n />\n </div>\n </div>\n ) : /* istanbul ignore next */ null}\n\n {reviewStatus === 'finished' ? (\n <div className={style.congrats} data-name=\"congrats-container\">\n <ReviewCongrats {...congratsProps} />\n </div>\n ) : null}\n </div>\n );\n};\n\nSlidesReview.propTypes = SlidesReviewPropTypes;\n\nexport default SlidesReview;\n"],"file":"index.js"}
|
|
@@ -13,7 +13,7 @@ const NextSlideProp = PropTypes.shape({
|
|
|
13
13
|
// 'unstack' | 'restack'
|
|
14
14
|
animationType: PropTypes.string,
|
|
15
15
|
// 'success' | 'failure'
|
|
16
|
-
|
|
16
|
+
isCorrect: PropTypes.string,
|
|
17
17
|
endReview: PropTypes.bool,
|
|
18
18
|
questionText: PropTypes.string,
|
|
19
19
|
answerUI: Answer
|
|
@@ -70,10 +70,10 @@ export const SlidesReviewPropTypes = {
|
|
|
70
70
|
failureLabel: ReviewCorrectionPopin.propTypes.resultLabel
|
|
71
71
|
}),
|
|
72
72
|
congratsProps: PropTypes.shape(ReviewCongrats.propTypes),
|
|
73
|
-
|
|
73
|
+
progression: PropTypes.shape({
|
|
74
74
|
slideNumber: PropTypes.number,
|
|
75
75
|
// 'success' | 'failure'
|
|
76
|
-
|
|
76
|
+
isCorrect: PropTypes.bool,
|
|
77
77
|
// 'successExitNode' | 'failExitNode'
|
|
78
78
|
exitNode: PropTypes.string,
|
|
79
79
|
nextSlide: PropTypes.shape({
|
|
@@ -105,7 +105,7 @@ export const SlidePropTypes = {
|
|
|
105
105
|
updateSlidesOnNext: SlidesReviewPropTypes.updateSlidesOnNext,
|
|
106
106
|
updateReviewStatus: SlidesReviewPropTypes.updateReviewStatus,
|
|
107
107
|
updateStepItemsOnNext: SlidesReviewPropTypes.updateStepItemsOnNext,
|
|
108
|
-
|
|
108
|
+
progression: SlidesReviewPropTypes.progression
|
|
109
109
|
};
|
|
110
110
|
export const StackedSlidesPropTypes = omit('slideNumber', SlidePropTypes);
|
|
111
111
|
//# sourceMappingURL=prop-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/app-review/slides/prop-types.js"],"names":["PropTypes","omit","ReviewCongrats","ReviewCorrectionPopin","ReviewBackground","ReviewHeader","Answer","NextSlideProp","shape","hidden","bool","position","number","animationType","string","
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-review/slides/prop-types.js"],"names":["PropTypes","omit","ReviewCongrats","ReviewCorrectionPopin","ReviewBackground","ReviewHeader","Answer","NextSlideProp","shape","hidden","bool","position","number","animationType","string","isCorrect","endReview","questionText","answerUI","SlideProp","props","nextSlide","StepItemProp","current","icon","value","SlidesReviewPropTypes","headerProps","propTypes","reviewBackgroundAriaLabel","validate","label","slides","slideNumbers","arrayOf","finishedSlides","stepItems","reviewStatus","correctionPopinProps","klf","information","next","successLabel","resultLabel","failureLabel","congratsProps","progression","slideNumber","exitNode","validateSlide","func","isRequired","updateSlidesOnValidation","updateSlidesOnNext","updateReviewStatus","updateStepItemsOnValidation","updateStepItemsOnNext","updateFinishedSlides","SlidePropTypes","primarySkinColor","finishedSlidesSize","StackedSlidesPropTypes"],"mappings":";;AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AAEA,OAAOC,cAAP,MAA2B,mCAA3B;AACA,OAAOC,qBAAP,MAAkC,2CAAlC;AACA,OAAOC,gBAAP,MAA6B,iCAA7B;AACA,OAAOC,YAAP,MAAyB,iCAAzB;AACA,OAAOC,MAAP,MAAmB,0BAAnB;AAEA,MAAMC,aAAa,GAAGP,SAAS,CAACQ,KAAV,CAAgB;AACpCC,EAAAA,MAAM,EAAET,SAAS,CAACU,IADkB;AAEpCC,EAAAA,QAAQ,EAAEX,SAAS,CAACY,MAFgB;AAGpC;AACAC,EAAAA,aAAa,EAAEb,SAAS,CAACc,MAJW;AAKpC;AACAC,EAAAA,SAAS,EAAEf,SAAS,CAACc,MANe;AAOpCE,EAAAA,SAAS,EAAEhB,SAAS,CAACU,IAPe;AAQpCO,EAAAA,YAAY,EAAEjB,SAAS,CAACc,MARY;AASpCI,EAAAA,QAAQ,EAAEZ;AAT0B,CAAhB,CAAtB;AAYA,MAAMa,SAAS,GAAGnB,SAAS,CAACQ,KAAV,uBACbD,aAAa,CAACa,KADD;AAEhBC,EAAAA,SAAS,EAAEd;AAFK,GAAlB;AAKA,MAAMe,YAAY,GAAGtB,SAAS,CAACQ,KAAV,CAAgB;AACnCe,EAAAA,OAAO,EAAEvB,SAAS,CAACU,IADgB;AAEnCc,EAAAA,IAAI,EAAExB,SAAS,CAACc,MAFmB;AAGnCW,EAAAA,KAAK,EAAEzB,SAAS,CAACc;AAHkB,CAAhB,CAArB;AAMA,OAAO,MAAMY,qBAAqB,GAAG;AACnCC,EAAAA,WAAW,EAAE3B,SAAS,CAACQ,KAAV,CAAgBP,IAAI,CAAC,OAAD,EAAUI,YAAY,CAACuB,SAAvB,CAApB,CADsB;AAEnCC,EAAAA,yBAAyB,EAAEzB,gBAAgB,CAACwB,SAAjB,CAA2B,YAA3B,CAFQ;AAGnCE,EAAAA,QAAQ,EAAE9B,SAAS,CAACQ,KAAV,CAAgB;AACxBuB,IAAAA,KAAK,EAAE/B,SAAS,CAACc;AADO,GAAhB,CAHyB;AAMnCkB,EAAAA,MAAM,EAAEhC,SAAS,CAACQ,KAAV,CAAgB;AACtByB,IAAAA,YAAY,EAAEjC,SAAS,CAACkC,OAAV,CAAkBlC,SAAS,CAACY,MAA5B,CADQ;AAEtB,OAAGO,SAFmB;AAGtB,OAAGA,SAHmB;AAItB,OAAGA,SAJmB;AAKtB,OAAGA,SALmB;AAMtB,OAAGA;AANmB,GAAhB,CAN2B;AAcnCgB,EAAAA,cAAc,EAAEnC,SAAS,CAACQ,KAAV,CAAgB;AAC9ByB,IAAAA,YAAY,EAAEjC,SAAS,CAACkC,OAAV,CAAkBlC,SAAS,CAACY,MAA5B,CADgB;AAE9B,OAAGZ,SAAS,CAACU,IAFiB;AAG9B,OAAGV,SAAS,CAACU,IAHiB;AAI9B,OAAGV,SAAS,CAACU,IAJiB;AAK9B,OAAGV,SAAS,CAACU,IALiB;AAM9B,OAAGV,SAAS,CAACU;AANiB,GAAhB,CAdmB;AAsBnC0B,EAAAA,SAAS,EAAEpC,SAAS,CAACQ,KAAV,CAAgB;AACzByB,IAAAA,YAAY,EAAEjC,SAAS,CAACkC,OAAV,CAAkBlC,SAAS,CAACY,MAA5B,CADW;AAEzB,OAAGU,YAFsB;AAGzB,OAAGA,YAHsB;AAIzB,OAAGA,YAJsB;AAKzB,OAAGA,YALsB;AAMzB,OAAGA;AANsB,GAAhB,CAtBwB;AA8BnC;AACAe,EAAAA,YAAY,EAAErC,SAAS,CAACc,MA/BW;AAgCnCwB,EAAAA,oBAAoB,EAAEtC,SAAS,CAACQ,KAAV,CAAgB;AACpC;AACA+B,IAAAA,GAAG,EAAEpC,qBAAqB,CAACyB,SAAtB,CAAgCW,GAFD;AAGpCC,IAAAA,WAAW,EAAErC,qBAAqB,CAACyB,SAAtB,CAAgCY,WAHT;AAIpCC,IAAAA,IAAI,EAAEzC,SAAS,CAACQ,KAAV,CAAgB;AACpBuB,MAAAA,KAAK,EAAE/B,SAAS,CAACc,MADG;AAEpB,oBAAcd,SAAS,CAACc;AAFJ,KAAhB,CAJ8B;AAQpC4B,IAAAA,YAAY,EAAEvC,qBAAqB,CAACyB,SAAtB,CAAgCe,WARV;AASpCC,IAAAA,YAAY,EAAEzC,qBAAqB,CAACyB,SAAtB,CAAgCe;AATV,GAAhB,CAhCa;AA2CnCE,EAAAA,aAAa,EAAE7C,SAAS,CAACQ,KAAV,CAAgBN,cAAc,CAAC0B,SAA/B,CA3CoB;AA4CnCkB,EAAAA,WAAW,EAAE9C,SAAS,CAACQ,KAAV,CAAgB;AAC3BuC,IAAAA,WAAW,EAAE/C,SAAS,CAACY,MADI;AAE3B;AACAG,IAAAA,SAAS,EAAEf,SAAS,CAACU,IAHM;AAI3B;AACAsC,IAAAA,QAAQ,EAAEhD,SAAS,CAACc,MALO;AAM3BO,IAAAA,SAAS,EAAErB,SAAS,CAACQ,KAAV,CAAgB;AACzBS,MAAAA,YAAY,EAAEjB,SAAS,CAACc,MADC;AAEzBI,MAAAA,QAAQ,EAAElB,SAAS,CAACQ,KAAV,CAAgBF,MAAM,CAACsB,SAAvB;AAFe,KAAhB;AANgB,GAAhB,CA5CsB;AAuDnC;AACA;AACAqB,EAAAA,aAAa,EAAEjD,SAAS,CAACkD,IAAV,CAAeC,UAzDK;AA0DnCC,EAAAA,wBAAwB,EAAEpD,SAAS,CAACkD,IAAV,CAAeC,UA1DN;AA2DnCE,EAAAA,kBAAkB,EAAErD,SAAS,CAACkD,IAAV,CAAeC,UA3DA;AA4DnCG,EAAAA,kBAAkB,EAAEtD,SAAS,CAACkD,IAAV,CAAeC,UA5DA;AA6DnCI,EAAAA,2BAA2B,EAAEvD,SAAS,CAACkD,IAAV,CAAeC,UA7DT;AA8DnCK,EAAAA,qBAAqB,EAAExD,SAAS,CAACkD,IAAV,CAAeC,UA9DH;AA+DnCM,EAAAA,oBAAoB,EAAEzD,SAAS,CAACkD,IAAV,CAAeC;AA/DF,CAA9B;AAkEP,OAAO,MAAMO,cAAc,GAAG;AAC5BX,EAAAA,WAAW,EAAE/C,SAAS,CAACY,MADK;AAE5BoB,EAAAA,MAAM,EAAEN,qBAAqB,CAACM,MAFF;AAG5B2B,EAAAA,gBAAgB,EAAE3D,SAAS,CAACc,MAHA;AAI5BgB,EAAAA,QAAQ,EAAEJ,qBAAqB,CAACI,QAJJ;AAK5BK,EAAAA,cAAc,EAAET,qBAAqB,CAACS,cALV;AAM5ByB,EAAAA,kBAAkB,EAAE5D,SAAS,CAACY,MANF;AAO5B0B,EAAAA,oBAAoB,EAAEZ,qBAAqB,CAACY,oBAPhB;AAQ5B;AACA;AACAW,EAAAA,aAAa,EAAEvB,qBAAqB,CAACuB,aAVT;AAW5BI,EAAAA,kBAAkB,EAAE3B,qBAAqB,CAAC2B,kBAXd;AAY5BC,EAAAA,kBAAkB,EAAE5B,qBAAqB,CAAC4B,kBAZd;AAa5BE,EAAAA,qBAAqB,EAAE9B,qBAAqB,CAAC8B,qBAbjB;AAc5BV,EAAAA,WAAW,EAAEpB,qBAAqB,CAACoB;AAdP,CAAvB;AAiBP,OAAO,MAAMe,sBAAsB,GAAG5D,IAAI,CAAC,aAAD,EAAgByD,cAAhB,CAAnC","sourcesContent":["import PropTypes from 'prop-types';\nimport omit from 'lodash/fp/omit';\n\nimport ReviewCongrats from '../../../organism/review-congrats';\nimport ReviewCorrectionPopin from '../../../molecule/review-correction-popin';\nimport ReviewBackground from '../../../atom/review-background';\nimport ReviewHeader from '../../../organism/review-header';\nimport Answer from '../../../molecule/answer';\n\nconst NextSlideProp = PropTypes.shape({\n hidden: PropTypes.bool,\n position: PropTypes.number,\n // 'unstack' | 'restack'\n animationType: PropTypes.string,\n // 'success' | 'failure'\n isCorrect: PropTypes.string,\n endReview: PropTypes.bool,\n questionText: PropTypes.string,\n answerUI: Answer\n});\n\nconst SlideProp = PropTypes.shape({\n ...NextSlideProp.props,\n nextSlide: NextSlideProp\n});\n\nconst StepItemProp = PropTypes.shape({\n current: PropTypes.bool,\n icon: PropTypes.string,\n value: PropTypes.string\n});\n\nexport const SlidesReviewPropTypes = {\n headerProps: PropTypes.shape(omit('steps', ReviewHeader.propTypes)),\n reviewBackgroundAriaLabel: ReviewBackground.propTypes['aria-label'],\n validate: PropTypes.shape({\n label: PropTypes.string\n }),\n slides: PropTypes.shape({\n slideNumbers: PropTypes.arrayOf(PropTypes.number),\n 0: SlideProp,\n 1: SlideProp,\n 2: SlideProp,\n 3: SlideProp,\n 4: SlideProp\n }),\n finishedSlides: PropTypes.shape({\n slideNumbers: PropTypes.arrayOf(PropTypes.number),\n 0: PropTypes.bool,\n 1: PropTypes.bool,\n 2: PropTypes.bool,\n 3: PropTypes.bool,\n 4: PropTypes.bool\n }),\n stepItems: PropTypes.shape({\n slideNumbers: PropTypes.arrayOf(PropTypes.number),\n 0: StepItemProp,\n 1: StepItemProp,\n 2: StepItemProp,\n 3: StepItemProp,\n 4: StepItemProp\n }),\n // 'finished' | 'ongoing'\n reviewStatus: PropTypes.string,\n correctionPopinProps: PropTypes.shape({\n // ---------------\n klf: ReviewCorrectionPopin.propTypes.klf,\n information: ReviewCorrectionPopin.propTypes.information,\n next: PropTypes.shape({\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n successLabel: ReviewCorrectionPopin.propTypes.resultLabel,\n failureLabel: ReviewCorrectionPopin.propTypes.resultLabel\n }),\n congratsProps: PropTypes.shape(ReviewCongrats.propTypes),\n progression: PropTypes.shape({\n slideNumber: PropTypes.number,\n // 'success' | 'failure'\n isCorrect: PropTypes.bool,\n // 'successExitNode' | 'failExitNode'\n exitNode: PropTypes.string,\n nextSlide: PropTypes.shape({\n questionText: PropTypes.string,\n answerUI: PropTypes.shape(Answer.propTypes)\n })\n }),\n // ---------------------------------------------------------------------------\n // Dispatchers\n validateSlide: PropTypes.func.isRequired,\n updateSlidesOnValidation: PropTypes.func.isRequired,\n updateSlidesOnNext: PropTypes.func.isRequired,\n updateReviewStatus: PropTypes.func.isRequired,\n updateStepItemsOnValidation: PropTypes.func.isRequired,\n updateStepItemsOnNext: PropTypes.func.isRequired,\n updateFinishedSlides: PropTypes.func.isRequired\n};\n\nexport const SlidePropTypes = {\n slideNumber: PropTypes.number,\n slides: SlidesReviewPropTypes.slides,\n primarySkinColor: PropTypes.string,\n validate: SlidesReviewPropTypes.validate,\n finishedSlides: SlidesReviewPropTypes.finishedSlides,\n finishedSlidesSize: PropTypes.number,\n correctionPopinProps: SlidesReviewPropTypes.correctionPopinProps,\n // ---------------\n // Dispatchers\n validateSlide: SlidesReviewPropTypes.validateSlide,\n updateSlidesOnNext: SlidesReviewPropTypes.updateSlidesOnNext,\n updateReviewStatus: SlidesReviewPropTypes.updateReviewStatus,\n updateStepItemsOnNext: SlidesReviewPropTypes.updateStepItemsOnNext,\n progression: SlidesReviewPropTypes.progression\n};\n\nexport const StackedSlidesPropTypes = omit('slideNumber', SlidePropTypes);\n"],"file":"prop-types.js"}
|
package/es/variables/colors.css
CHANGED
|
@@ -67,3 +67,7 @@
|
|
|
67
67
|
@value box_shadow_light_dark: rgba(0, 0, 0, 0.12);
|
|
68
68
|
@value box_shadow_medium_dark: rgba(0, 0, 0, 0.2);
|
|
69
69
|
@value box_shadow_orange_700: rgba(255, 84, 31, 0.15);
|
|
70
|
+
|
|
71
|
+
@value go1_backgound: #144953;
|
|
72
|
+
@value go1_primary: #D5FD42;
|
|
73
|
+
@value go1_primary_hover: #BFE33B;
|
|
@@ -3,28 +3,41 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = void 0;
|
|
5
5
|
|
|
6
|
+
var _keys2 = _interopRequireDefault(require("lodash/fp/keys"));
|
|
7
|
+
|
|
6
8
|
var _react = _interopRequireDefault(require("react"));
|
|
7
9
|
|
|
8
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
11
|
|
|
10
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
-
|
|
12
12
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
13
13
|
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
16
|
+
const CATEGORIES = {
|
|
17
|
+
base: _style.default.base,
|
|
18
|
+
advanced: _style.default.advanced,
|
|
19
|
+
coach: _style.default.coach,
|
|
20
|
+
chapter: _style.default.chapter,
|
|
21
|
+
scorm: _style.default.scorm,
|
|
22
|
+
video: _style.default.video,
|
|
23
|
+
article: _style.default.article,
|
|
24
|
+
podcast: _style.default.podcast,
|
|
25
|
+
course: _style.default.course,
|
|
26
|
+
hidden: _style.default.hidden
|
|
27
|
+
};
|
|
28
|
+
|
|
16
29
|
const ContentBadge = props => {
|
|
17
30
|
const {
|
|
18
31
|
category,
|
|
19
32
|
label
|
|
20
33
|
} = props;
|
|
21
34
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
22
|
-
className:
|
|
35
|
+
className: CATEGORIES[category]
|
|
23
36
|
}, label);
|
|
24
37
|
};
|
|
25
38
|
|
|
26
39
|
ContentBadge.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
27
|
-
category: _propTypes.default.oneOf(
|
|
40
|
+
category: _propTypes.default.oneOf((0, _keys2.default)(CATEGORIES)),
|
|
28
41
|
label: _propTypes.default.string
|
|
29
42
|
} : {};
|
|
30
43
|
var _default = ContentBadge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/content-badge/index.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/content-badge/index.js"],"names":["CATEGORIES","base","style","advanced","coach","chapter","scorm","video","article","podcast","course","hidden","ContentBadge","props","category","label","propTypes","PropTypes","oneOf","string"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;AAEA,MAAMA,UAAU,GAAG;AACjBC,EAAAA,IAAI,EAAEC,eAAMD,IADK;AAEjBE,EAAAA,QAAQ,EAAED,eAAMC,QAFC;AAGjBC,EAAAA,KAAK,EAAEF,eAAME,KAHI;AAIjBC,EAAAA,OAAO,EAAEH,eAAMG,OAJE;AAKjBC,EAAAA,KAAK,EAAEJ,eAAMI,KALI;AAMjBC,EAAAA,KAAK,EAAEL,eAAMK,KANI;AAOjBC,EAAAA,OAAO,EAAEN,eAAMM,OAPE;AAQjBC,EAAAA,OAAO,EAAEP,eAAMO,OARE;AASjBC,EAAAA,MAAM,EAAER,eAAMQ,MATG;AAUjBC,EAAAA,MAAM,EAAET,eAAMS;AAVG,CAAnB;;AAaA,MAAMC,YAAY,GAAGC,KAAK,IAAI;AAC5B,QAAM;AAACC,IAAAA,QAAD;AAAWC,IAAAA;AAAX,MAAoBF,KAA1B;AACA,sBAAO;AAAM,IAAA,SAAS,EAAEb,UAAU,CAACc,QAAD;AAA3B,KAAwCC,KAAxC,CAAP;AACD,CAHD;;AAKAH,YAAY,CAACI,SAAb,2CAAyB;AACvBF,EAAAA,QAAQ,EAAEG,mBAAUC,KAAV,CAAgB,oBAAKlB,UAAL,CAAhB,CADa;AAEvBe,EAAAA,KAAK,EAAEE,mBAAUE;AAFM,CAAzB;eAKeP,Y","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {keys} from 'lodash/fp';\nimport style from './style.css';\n\nconst CATEGORIES = {\n base: style.base,\n advanced: style.advanced,\n coach: style.coach,\n chapter: style.chapter,\n scorm: style.scorm,\n video: style.video,\n article: style.article,\n podcast: style.podcast,\n course: style.course,\n hidden: style.hidden\n};\n\nconst ContentBadge = props => {\n const {category, label} = props;\n return <span className={CATEGORIES[category]}>{label}</span>;\n};\n\nContentBadge.propTypes = {\n category: PropTypes.oneOf(keys(CATEGORIES)),\n label: PropTypes.string\n};\n\nexport default ContentBadge;\n"],"file":"index.js"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
@value cm_red_200 from colors;
|
|
10
10
|
@value cm_red_video from colors;
|
|
11
11
|
@value cm_violet_podcast from colors;
|
|
12
|
+
@value cm_negative_200 from colors;
|
|
12
13
|
|
|
13
14
|
.level {
|
|
14
15
|
font-family: Gilroy;
|
|
@@ -24,6 +25,11 @@
|
|
|
24
25
|
background-color: cm_red_200;
|
|
25
26
|
}
|
|
26
27
|
|
|
28
|
+
.hidden {
|
|
29
|
+
composes: level;
|
|
30
|
+
background-color: cm_negative_200;
|
|
31
|
+
}
|
|
32
|
+
|
|
27
33
|
.base {
|
|
28
34
|
composes: level;
|
|
29
35
|
background-color: cm_green_200;
|
|
@@ -57,7 +57,8 @@ const InputCheckbox = props => {
|
|
|
57
57
|
const className = (0, _getClassState.default)(defaultContainerClassName, modifiedClassName, errorClassName, modified, error);
|
|
58
58
|
return /*#__PURE__*/_react.default.createElement("label", {
|
|
59
59
|
className: className,
|
|
60
|
-
htmlFor: idCheckbox
|
|
60
|
+
htmlFor: idCheckbox,
|
|
61
|
+
"data-name": "checkbox-input-label"
|
|
61
62
|
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
62
63
|
type: "checkbox",
|
|
63
64
|
className: _style.default.checkbox,
|
|
@@ -65,7 +66,8 @@ const InputCheckbox = props => {
|
|
|
65
66
|
id: idCheckbox,
|
|
66
67
|
checked: checked,
|
|
67
68
|
onChange: handleChange,
|
|
68
|
-
disabled: disabled
|
|
69
|
+
disabled: disabled,
|
|
70
|
+
"data-name": "checkbox-input"
|
|
69
71
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
70
72
|
className: (0, _classnames.default)(_style.default.label, noLabelMargins ? _style.default.noLabelMargins : undefined)
|
|
71
73
|
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidStatusValidate, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/input-checkbox/index.js"],"names":["titleStylesClassNames","inherit","style","primary","secondary","tertiary","InputCheckbox","props","checked","onChange","error","disabled","required","titleStyle","modified","theme","title","propsTitle","noLabelMargins","titleStyleClassName","idCheckbox","handleChange","e","target","modifiedClassName","coorpManagerModified","defaultModified","errorClassName","coorpManagerError","defaultError","defaultContainerClassName","coorpManager","default","className","checkbox","label","undefined","icon","propTypes","PropTypes","string","isRequired","bool","func","oneOf"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;AAEA,MAAMA,qBAAqB,GAAG;AAC5BC,EAAAA,OAAO,EAAEC,eAAMD,OADa;AAE5BE,EAAAA,OAAO,EAAED,eAAMC,OAFa;AAG5BC,EAAAA,SAAS,EAAEF,eAAME,SAHW;AAI5BC,EAAAA,QAAQ,EAAEH,eAAMG;AAJY,CAA9B;;AAOA,MAAMC,aAAa,GAAGC,KAAK,IAAI;AAC7B,QAAM;AACJC,IAAAA,OADI;AAEJC,IAAAA,QAAQ,iBAFJ;AAGJC,IAAAA,KAHI;AAIJC,IAAAA,QAJI;AAKJC,IAAAA,QALI;AAMJC,IAAAA,UAAU,GAAG,SANT;AAOJC,IAAAA,QAAQ,GAAG,KAPP;AAQJC,IAAAA,KAAK,GAAG,SARJ;AASJC,IAAAA,KAAK,EAAEC,UATH;AAUJC,IAAAA,cAAc,GAAG;AAVb,MAWFX,KAXJ;AAaA,QAAMY,mBAAmB,GAAGnB,qBAAqB,CAACa,UAAD,CAAjD;AACA,QAAMO,UAAU,GAAG,wBAAS,iBAAT,CAAnB;AACA,QAAMJ,KAAK,GAAI,GAAEC,UAAW,GAAEL,QAAQ,GAAG,GAAH,GAAS,EAAG,EAAlD;AACA,QAAMS,YAAY,GAAG,oBAAQ,MAAMC,CAAC,IAAIb,QAAQ,CAACa,CAAC,CAACC,MAAF,CAASf,OAAV,CAA3B,EAA+C,CAACC,QAAD,CAA/C,CAArB;AAEA,QAAMe,iBAAiB,GACrBT,KAAK,KAAK,cAAV,GAA2Bb,eAAMuB,oBAAjC,GAAwDvB,eAAMwB,eADhE;AAEA,QAAMC,cAAc,GAAGZ,KAAK,KAAK,cAAV,GAA2Bb,eAAM0B,iBAAjC,GAAqD1B,eAAM2B,YAAlF;AACA,QAAMC,yBAAyB,GAAGf,KAAK,KAAK,cAAV,GAA2Bb,eAAM6B,YAAjC,GAAgD7B,eAAM8B,OAAxF;AAEA,QAAMC,SAAS,GAAG,4BAChBH,yBADgB,EAEhBN,iBAFgB,EAGhBG,cAHgB,EAIhBb,QAJgB,EAKhBJ,KALgB,CAAlB;AAQA,sBACE;AAAO,IAAA,SAAS,EAAEuB,SAAlB;AAA6B,IAAA,OAAO,EAAEb;
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/input-checkbox/index.js"],"names":["titleStylesClassNames","inherit","style","primary","secondary","tertiary","InputCheckbox","props","checked","onChange","error","disabled","required","titleStyle","modified","theme","title","propsTitle","noLabelMargins","titleStyleClassName","idCheckbox","handleChange","e","target","modifiedClassName","coorpManagerModified","defaultModified","errorClassName","coorpManagerError","defaultError","defaultContainerClassName","coorpManager","default","className","checkbox","label","undefined","icon","propTypes","PropTypes","string","isRequired","bool","func","oneOf"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {NovaSolidStatusValidate as CheckIcon} from '@coorpacademy/nova-icons';\nimport {keys, noop, uniqueId} from 'lodash/fp';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst titleStylesClassNames = {\n inherit: style.inherit,\n primary: style.primary,\n secondary: style.secondary,\n tertiary: style.tertiary\n};\n\nconst InputCheckbox = props => {\n const {\n checked,\n onChange = noop,\n error,\n disabled,\n required,\n titleStyle = 'primary',\n modified = false,\n theme = 'default',\n title: propsTitle,\n noLabelMargins = false\n } = props;\n\n const titleStyleClassName = titleStylesClassNames[titleStyle];\n const idCheckbox = uniqueId('input-checkbox-');\n const title = `${propsTitle}${required ? '*' : ''}`;\n const handleChange = useMemo(() => e => onChange(e.target.checked), [onChange]);\n\n const modifiedClassName =\n theme === 'coorpmanager' ? style.coorpManagerModified : style.defaultModified;\n const errorClassName = theme === 'coorpmanager' ? style.coorpManagerError : style.defaultError;\n const defaultContainerClassName = theme === 'coorpmanager' ? style.coorpManager : style.default;\n\n const className = getClassState(\n defaultContainerClassName,\n modifiedClassName,\n errorClassName,\n modified,\n error\n );\n\n return (\n <label className={className} htmlFor={idCheckbox} data-name=\"checkbox-input-label\">\n <input\n type=\"checkbox\"\n className={style.checkbox}\n name={title}\n id={idCheckbox}\n checked={checked}\n onChange={handleChange}\n disabled={disabled}\n data-name=\"checkbox-input\"\n />\n <div className={classnames(style.label, noLabelMargins ? style.noLabelMargins : undefined)}>\n <CheckIcon className={style.icon} />\n </div>\n <span className={titleStyleClassName} title={title}>\n {title}\n </span>\n </label>\n );\n};\n\nInputCheckbox.propTypes = {\n title: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n required: PropTypes.bool,\n checked: PropTypes.bool,\n error: PropTypes.bool,\n onChange: PropTypes.func,\n modified: PropTypes.bool,\n noLabelMargins: PropTypes.bool,\n theme: PropTypes.oneOf(['coorpmanager', 'default']),\n titleStyle: PropTypes.oneOf(keys(titleStylesClassNames))\n};\n\nexport default InputCheckbox;\n"],"file":"index.js"}
|
|
@@ -17,7 +17,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
17
17
|
|
|
18
18
|
const ICON_VALUES = {
|
|
19
19
|
right: 'right',
|
|
20
|
-
wrong: 'wrong'
|
|
20
|
+
wrong: 'wrong',
|
|
21
|
+
'no-answer': 'no-answer'
|
|
21
22
|
};
|
|
22
23
|
exports.ICON_VALUES = ICON_VALUES;
|
|
23
24
|
|
|
@@ -26,7 +27,7 @@ const Content = ({
|
|
|
26
27
|
current,
|
|
27
28
|
value
|
|
28
29
|
}) => {
|
|
29
|
-
if (
|
|
30
|
+
if (icon === ICON_VALUES['no-answer']) {
|
|
30
31
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
31
32
|
className: _style.default.value,
|
|
32
33
|
"aria-label": `step ${value}`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/review-header-step-item/index.js"],"names":["ICON_VALUES","right","wrong","Content","icon","current","value","style","rightIcon","currentRightIcon","wrongIcon","currentWrongIcon","ReviewHeaderStepItem","props","default","propTypes","PropTypes","string","bool"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AAIA;;;;AAEO,MAAMA,WAAW,GAAG;AACzBC,EAAAA,KAAK,EAAE,OADkB;AAEzBC,EAAAA,KAAK,EAAE;
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/review-header-step-item/index.js"],"names":["ICON_VALUES","right","wrong","Content","icon","current","value","style","rightIcon","currentRightIcon","wrongIcon","currentWrongIcon","ReviewHeaderStepItem","props","default","propTypes","PropTypes","string","bool"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AAIA;;;;AAEO,MAAMA,WAAW,GAAG;AACzBC,EAAAA,KAAK,EAAE,OADkB;AAEzBC,EAAAA,KAAK,EAAE,OAFkB;AAGzB,eAAa;AAHY,CAApB;;;AAMP,MAAMC,OAAO,GAAG,CAAC;AAACC,EAAAA,IAAD;AAAOC,EAAAA,OAAP;AAAgBC,EAAAA;AAAhB,CAAD,KAA4B;AAC1C,MAAIF,IAAI,KAAKJ,WAAW,CAAC,WAAD,CAAxB,EAAuC;AACrC,wBACE;AAAM,MAAA,SAAS,EAAEO,eAAMD,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,OACGA,KADH,CADF;AAKD;;AAED,MAAIF,IAAI,KAAKJ,WAAW,CAACC,KAAzB,EAAgC;AAC9B,wBACE;AAAM,MAAA,SAAS,EAAEM,eAAMD,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,oBACE,6BAAC,2CAAD;AAAW,MAAA,SAAS,EAAE,yBAAWC,eAAMC,SAAjB,EAA4BH,OAAO,IAAIE,eAAME,gBAA7C;AAAtB,MADF,CADF;AAKD;;AAED,MAAIL,IAAI,KAAKJ,WAAW,CAACE,KAAzB,EAAgC;AAC9B,wBACE;AAAM,MAAA,SAAS,EAAEK,eAAMD,KAAvB;AAA8B,oBAAa,QAAOA,KAAM;AAAxD,oBACE,6BAAC,+BAAD;AAAW,MAAA,SAAS,EAAE,yBAAWC,eAAMG,SAAjB,EAA4BL,OAAO,IAAIE,eAAMI,gBAA7C;AAAtB,MADF,CADF;AAKD;AACF,CAxBD;;AA0BA,MAAMC,oBAAoB,GAAGC,KAAK,IAAI;AACpC,QAAM;AAACT,IAAAA,IAAD;AAAOC,IAAAA;AAAP,MAAkBQ,KAAxB;AACA,sBACE;AACE,IAAA,SAAS,EAAE,yBACTN,eAAMO,OADG,EAETV,IAAI,KAAKJ,WAAW,CAACC,KAArB,IAA8BM,eAAMN,KAF3B,EAGTG,IAAI,KAAKJ,WAAW,CAACE,KAArB,IAA8BK,eAAML,KAH3B,EAITG,OAAO,IAAIE,eAAMF,OAJR,CADb;AAOE,iBAAU;AAPZ,kBASE,6BAAC,OAAD,EAAaQ,KAAb,CATF,CADF;AAaD,CAfD;;AAiBAD,oBAAoB,CAACG,SAArB,2CAAiC;AAC/BX,EAAAA,IAAI,EAAEY,mBAAUC,MADe;AAE/BZ,EAAAA,OAAO,EAAEW,mBAAUE,IAFY;AAG/BZ,EAAAA,KAAK,EAAEU,mBAAUC;AAHc,CAAjC;eAMeL,oB","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport style from './style.css';\n\nexport const ICON_VALUES = {\n right: 'right',\n wrong: 'wrong',\n 'no-answer': 'no-answer'\n};\n\nconst Content = ({icon, current, value}) => {\n if (icon === ICON_VALUES['no-answer']) {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n {value}\n </span>\n );\n }\n\n if (icon === ICON_VALUES.right) {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n <RightIcon className={classnames(style.rightIcon, current && style.currentRightIcon)} />\n </span>\n );\n }\n\n if (icon === ICON_VALUES.wrong) {\n return (\n <span className={style.value} aria-label={`step ${value}`}>\n <WrongIcon className={classnames(style.wrongIcon, current && style.currentWrongIcon)} />\n </span>\n );\n }\n};\n\nconst ReviewHeaderStepItem = props => {\n const {icon, current} = props;\n return (\n <div\n className={classnames(\n style.default,\n icon === ICON_VALUES.right && style.right,\n icon === ICON_VALUES.wrong && style.wrong,\n current && style.current\n )}\n data-name=\"header-step-item\"\n >\n <Content {...props} />\n </div>\n );\n};\n\nReviewHeaderStepItem.propTypes = {\n icon: PropTypes.string,\n current: PropTypes.bool,\n value: PropTypes.string\n};\n\nexport default ReviewHeaderStepItem;\n"],"file":"index.js"}
|
|
@@ -24,6 +24,11 @@ const ICONS = {
|
|
|
24
24
|
error: _novaIcons.NovaSolidInterfaceFeedbackInterfaceAlertDiamond,
|
|
25
25
|
warning: _novaIcons.NovaSolidInterfaceFeedbackInterfaceAlertDiamond
|
|
26
26
|
};
|
|
27
|
+
const STYLES = {
|
|
28
|
+
success: _style.default.success,
|
|
29
|
+
error: _style.default.error,
|
|
30
|
+
warning: _style.default.warning
|
|
31
|
+
};
|
|
27
32
|
|
|
28
33
|
const Banner = props => {
|
|
29
34
|
const {
|
|
@@ -40,7 +45,7 @@ const Banner = props => {
|
|
|
40
45
|
const Icon = ICONS[type];
|
|
41
46
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
42
47
|
key: bannerKey,
|
|
43
|
-
className: (0, _classnames.default)(_style.default.banner, type
|
|
48
|
+
className: (0, _classnames.default)(_style.default.banner, STYLES[type], temporary && _style.default.temporaryBanner),
|
|
44
49
|
onAnimationEnd: onEnd,
|
|
45
50
|
title: message
|
|
46
51
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -49,7 +54,7 @@ const Banner = props => {
|
|
|
49
54
|
}, /*#__PURE__*/_react.default.createElement(Icon, {
|
|
50
55
|
className: (0, _classnames.default)(_style.default.icon, temporary && _style.default.temporaryIcon)
|
|
51
56
|
}), message), firstCTALabel ? /*#__PURE__*/_react.default.createElement("div", {
|
|
52
|
-
className: _style.default.button
|
|
57
|
+
className: (0, _classnames.default)(_style.default.button, STYLES[type])
|
|
53
58
|
}, /*#__PURE__*/_react.default.createElement(_buttonLink.default, {
|
|
54
59
|
"data-name": "first-banner-cta",
|
|
55
60
|
"aria-label": firstCTALabel,
|
|
@@ -57,9 +62,9 @@ const Banner = props => {
|
|
|
57
62
|
onClick: firstCTA,
|
|
58
63
|
type: "text"
|
|
59
64
|
})) : null, firstCTALabel && secondCTALabel ? /*#__PURE__*/_react.default.createElement("div", {
|
|
60
|
-
className: _style.default.buttonsBar
|
|
65
|
+
className: (0, _classnames.default)(_style.default.buttonsBar, STYLES[type])
|
|
61
66
|
}) : null, secondCTALabel ? /*#__PURE__*/_react.default.createElement("div", {
|
|
62
|
-
className: _style.default.button
|
|
67
|
+
className: (0, _classnames.default)(_style.default.button, STYLES[type])
|
|
63
68
|
}, /*#__PURE__*/_react.default.createElement(_buttonLink.default, {
|
|
64
69
|
"data-name": "second-banner-cta",
|
|
65
70
|
onClick: secondCTA,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/banner/index.js"],"names":["ICONS","success","ValidateIcon","error","QuestionIcon","warning","Banner","props","type","message","firstCTA","firstCTALabel","secondCTALabel","secondCTA","temporary","bannerKey","onEnd","Icon","
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/banner/index.js"],"names":["ICONS","success","ValidateIcon","error","QuestionIcon","warning","STYLES","style","Banner","props","type","message","firstCTA","firstCTALabel","secondCTALabel","secondCTA","temporary","bannerKey","onEnd","Icon","banner","temporaryBanner","icon","temporaryIcon","button","buttonsBar","propTypes","PropTypes","string","oneOf","isRequired","func","bool"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAIA;;AACA;;;;AAEA,MAAMA,KAAK,GAAG;AACZC,EAAAA,OAAO,EAAEC,8CADG;AAEZC,EAAAA,KAAK,EAAEC,0DAFK;AAGZC,EAAAA,OAAO,EAAED;AAHG,CAAd;AAMA,MAAME,MAAM,GAAG;AACbL,EAAAA,OAAO,EAAEM,eAAMN,OADF;AAEbE,EAAAA,KAAK,EAAEI,eAAMJ,KAFA;AAGbE,EAAAA,OAAO,EAAEE,eAAMF;AAHF,CAAf;;AAMA,MAAMG,MAAM,GAAGC,KAAK,IAAI;AACtB,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,OAFI;AAGJC,IAAAA,QAHI;AAIJC,IAAAA,aAJI;AAKJC,IAAAA,cALI;AAMJC,IAAAA,SANI;AAOJC,IAAAA,SAPI;AAQJC,IAAAA,SARI;AASJC,IAAAA;AATI,MAUFT,KAVJ;AAWA,QAAMU,IAAI,GAAGnB,KAAK,CAACU,IAAD,CAAlB;AACA,sBACE;AACE,IAAA,GAAG,EAAEO,SADP;AAEE,IAAA,SAAS,EAAE,yBAAWV,eAAMa,MAAjB,EAAyBd,MAAM,CAACI,IAAD,CAA/B,EAAuCM,SAAS,IAAIT,eAAMc,eAA1D,CAFb;AAGE,IAAA,cAAc,EAAEH,KAHlB;AAIE,IAAA,KAAK,EAAEP;AAJT,kBAME;AAAK,iBAAY,GAAED,IAAK,iBAAxB;AAA0C,IAAA,SAAS,EAAEH,eAAMI;AAA3D,kBACE,6BAAC,IAAD;AAAM,IAAA,SAAS,EAAE,yBAAWJ,eAAMe,IAAjB,EAAuBN,SAAS,IAAIT,eAAMgB,aAA1C;AAAjB,IADF,EAEGZ,OAFH,CANF,EAUGE,aAAa,gBACZ;AAAK,IAAA,SAAS,EAAE,yBAAWN,eAAMiB,MAAjB,EAAyBlB,MAAM,CAACI,IAAD,CAA/B;AAAhB,kBACE,6BAAC,mBAAD;AACE,iBAAU,kBADZ;AAEE,kBAAYG,aAFd;AAGE,IAAA,KAAK,EAAEA,aAHT;AAIE,IAAA,OAAO,EAAED,QAJX;AAKE,IAAA,IAAI,EAAC;AALP,IADF,CADY,GAUV,IApBN,EAqBGC,aAAa,IAAIC,cAAjB,gBACC;AAAK,IAAA,SAAS,EAAE,yBAAWP,eAAMkB,UAAjB,EAA6BnB,MAAM,CAACI,IAAD,CAAnC;AAAhB,IADD,GAEG,IAvBN,EAwBGI,cAAc,gBACb;AAAK,IAAA,SAAS,EAAE,yBAAWP,eAAMiB,MAAjB,EAAyBlB,MAAM,CAACI,IAAD,CAA/B;AAAhB,kBACE,6BAAC,mBAAD;AACE,iBAAU,mBADZ;AAEE,IAAA,OAAO,EAAEK,SAFX;AAGE,kBAAYD,cAHd;AAIE,IAAA,KAAK,EAAEA,cAJT;AAKE,IAAA,IAAI,EAAC;AALP,IADF,CADa,GAUX,IAlCN,CADF;AAsCD,CAnDD;;AAqDAN,MAAM,CAACkB,SAAP,2CAAmB;AACjBT,EAAAA,SAAS,EAAEU,mBAAUC,MADJ;AAEjBlB,EAAAA,IAAI,EAAEiB,mBAAUE,KAAV,CAAgB,oBAAK7B,KAAL,CAAhB,CAFW;AAGjBW,EAAAA,OAAO,EAAEgB,mBAAUC,MAAV,CAAiBE,UAHT;AAIjBlB,EAAAA,QAAQ,EAAEe,mBAAUI,IAJH;AAKjBlB,EAAAA,aAAa,EAAEc,mBAAUC,MALR;AAMjBd,EAAAA,cAAc,EAAEa,mBAAUC,MANT;AAOjBb,EAAAA,SAAS,EAAEY,mBAAUI,IAPJ;AAQjBf,EAAAA,SAAS,EAAEW,mBAAUK,IARJ;AASjBd,EAAAA,KAAK,EAAES,mBAAUI;AATA,CAAnB;eAYevB,M","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {keys} from 'lodash/fp';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as QuestionIcon,\n NovaCompositionCoorpacademyValidate as ValidateIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/button-link';\nimport style from './style.css';\n\nconst ICONS = {\n success: ValidateIcon,\n error: QuestionIcon,\n warning: QuestionIcon\n};\n\nconst STYLES = {\n success: style.success,\n error: style.error,\n warning: style.warning\n};\n\nconst Banner = props => {\n const {\n type,\n message,\n firstCTA,\n firstCTALabel,\n secondCTALabel,\n secondCTA,\n temporary,\n bannerKey,\n onEnd\n } = props;\n const Icon = ICONS[type];\n return (\n <div\n key={bannerKey}\n className={classnames(style.banner, STYLES[type], temporary && style.temporaryBanner)}\n onAnimationEnd={onEnd}\n title={message}\n >\n <div data-name={`${type}-banner-message`} className={style.message}>\n <Icon className={classnames(style.icon, temporary && style.temporaryIcon)} />\n {message}\n </div>\n {firstCTALabel ? (\n <div className={classnames(style.button, STYLES[type])}>\n <Link\n data-name=\"first-banner-cta\"\n aria-label={firstCTALabel}\n label={firstCTALabel}\n onClick={firstCTA}\n type=\"text\"\n />\n </div>\n ) : null}\n {firstCTALabel && secondCTALabel ? (\n <div className={classnames(style.buttonsBar, STYLES[type])} />\n ) : null}\n {secondCTALabel ? (\n <div className={classnames(style.button, STYLES[type])}>\n <Link\n data-name=\"second-banner-cta\"\n onClick={secondCTA}\n aria-label={secondCTALabel}\n label={secondCTALabel}\n type=\"text\"\n />\n </div>\n ) : null}\n </div>\n );\n};\n\nBanner.propTypes = {\n bannerKey: PropTypes.string,\n type: PropTypes.oneOf(keys(ICONS)),\n message: PropTypes.string.isRequired,\n firstCTA: PropTypes.func,\n firstCTALabel: PropTypes.string,\n secondCTALabel: PropTypes.string,\n secondCTA: PropTypes.func,\n temporary: PropTypes.bool,\n onEnd: PropTypes.func\n};\n\nexport default Banner;\n"],"file":"index.js"}
|
|
@@ -36,16 +36,19 @@
|
|
|
36
36
|
gap: 8px;
|
|
37
37
|
padding: 16px 24px;
|
|
38
38
|
border-radius: 5px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.banner.warning {
|
|
39
42
|
background-color: cm_warning_50;
|
|
40
43
|
color: cm_yellow_200;
|
|
41
|
-
border-radius: 5px;
|
|
42
44
|
}
|
|
43
45
|
|
|
44
|
-
.
|
|
46
|
+
.banner.error {
|
|
45
47
|
background-color: cm_negative_50;
|
|
46
48
|
color: cm_negative_200;
|
|
47
49
|
}
|
|
48
|
-
|
|
50
|
+
|
|
51
|
+
.banner.success {
|
|
49
52
|
background-color: color(cm_positive_100 a(15%));
|
|
50
53
|
color: cm_positive_100;
|
|
51
54
|
}
|
|
@@ -71,22 +74,54 @@
|
|
|
71
74
|
|
|
72
75
|
.button{
|
|
73
76
|
background-color: transparent;
|
|
74
|
-
color: cm_yellow_200;
|
|
75
77
|
white-space: nowrap;
|
|
76
78
|
}
|
|
77
79
|
|
|
78
|
-
.button
|
|
79
|
-
color:
|
|
80
|
+
.button.warning {
|
|
81
|
+
color: cm_yellow_200;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.button.warning:hover {
|
|
85
|
+
color: color(cm_yellow_200 blackness(+12%));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.button.error {
|
|
89
|
+
color: cm_negative_200;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.button.error:hover {
|
|
93
|
+
color: color(cm_negative_200 blackness(+12%));
|
|
80
94
|
}
|
|
81
95
|
|
|
96
|
+
.button.success {
|
|
97
|
+
color: cm_positive_100;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.button.success:hover {
|
|
101
|
+
color: color(cm_positive_100 blackness(+12%));
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
|
|
82
105
|
.buttonsBar {
|
|
83
106
|
width: 2px;
|
|
84
107
|
align-self: stretch;
|
|
85
108
|
flex-grow: 0;
|
|
86
109
|
opacity: 0.3;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.buttonsBar.warning {
|
|
87
113
|
background-color: cm_yellow_200;
|
|
88
114
|
}
|
|
89
115
|
|
|
116
|
+
.buttonsBar.error {
|
|
117
|
+
background-color: cm_negative_200;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.buttonsBar.success {
|
|
121
|
+
background-color: cm_positive_100;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
|
|
90
125
|
.icon {
|
|
91
126
|
height: 22px;
|
|
92
127
|
margin-right: 16px;
|
|
@@ -142,7 +142,7 @@ const Card = (0, _react.memo)(function Card(props, context) {
|
|
|
142
142
|
image,
|
|
143
143
|
badge,
|
|
144
144
|
adaptiv,
|
|
145
|
-
disabled = false,
|
|
145
|
+
disabled: hidden = false,
|
|
146
146
|
type = 'course',
|
|
147
147
|
title,
|
|
148
148
|
author,
|
|
@@ -172,6 +172,7 @@ const Card = (0, _react.memo)(function Card(props, context) {
|
|
|
172
172
|
const primaryColor = (0, _get2.default)('common.primary', skin);
|
|
173
173
|
const whiteColor = (0, _get2.default)('common.white', skin);
|
|
174
174
|
const cardStyle = (0, _classnames.default)(THEMES[theme], type === 'chapter' ? _style.default.chapter : _style.default.course, title ? null : _style.default.lazy, _style.default.grid, empty ? _style.default.empty : null);
|
|
175
|
+
const disabled = hidden && (!isSelected || (0, _isUndefined2.default)(isSelected));
|
|
175
176
|
const handleClick = (0, _react.useMemo)(() => e => !disabled && onClick(e), [disabled, onClick]);
|
|
176
177
|
const lock = disabled ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidLoginLocked, {
|
|
177
178
|
className: _style.default.lockIcon,
|
|
@@ -218,6 +219,7 @@ const Card = (0, _react.memo)(function Card(props, context) {
|
|
|
218
219
|
"aria-label": favoriteAriaLabel
|
|
219
220
|
}) : null, /*#__PURE__*/_react.default.createElement(_selectable.default, {
|
|
220
221
|
isSelected: isSelected,
|
|
222
|
+
hidden: hidden,
|
|
221
223
|
"aria-label": selectableAriaLabel
|
|
222
224
|
}), notification ? /*#__PURE__*/_react.default.createElement(_notification.default, notification) : null, customer ? /*#__PURE__*/_react.default.createElement(_customer.default, _extends({}, customer, {
|
|
223
225
|
theme: theme,
|