@coorpacademy/components 10.22.2 → 10.22.5
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/drag-and-drop/index.js +2 -1
- package/es/atom/drag-and-drop/index.js.map +1 -1
- package/es/atom/header-back-button/index.native.js +74 -0
- package/es/atom/header-back-button/index.native.js.map +1 -0
- package/es/atom/header-back-icon/index.native.js +27 -0
- package/es/atom/header-back-icon/index.native.js.map +1 -0
- package/es/atom/html/index.native.js +146 -0
- package/es/atom/html/index.native.js.map +1 -0
- package/es/atom/input-checkbox/index.js +3 -2
- package/es/atom/input-checkbox/index.js.map +1 -1
- package/es/atom/input-switch/index.js +45 -7
- package/es/atom/input-switch/index.js.map +1 -1
- package/es/atom/input-switch/style.css +56 -6
- package/es/atom/select-modal/index.native.js +113 -0
- package/es/atom/select-modal/index.native.js.map +1 -0
- package/es/atom/space/index.native.js +21 -0
- package/es/atom/space/index.native.js.map +1 -0
- package/es/atom/text/index.native.js +31 -0
- package/es/atom/text/index.native.js.map +1 -0
- package/es/hoc/modal/index.native.js +97 -0
- package/es/hoc/modal/index.native.js.map +1 -0
- package/es/hoc/modal/select/index.native.js +86 -0
- package/es/hoc/modal/select/index.native.js.map +1 -0
- package/es/hoc/modal/select-item/index.native.js +54 -0
- package/es/hoc/modal/select-item/index.native.js.map +1 -0
- package/es/hoc/touchable/index.native.js +8 -0
- package/es/hoc/touchable/index.native.js.map +1 -1
- package/es/index.js +2 -1
- package/es/index.js.map +1 -1
- package/es/molecule/answer/index.js +39 -32
- package/es/molecule/answer/index.js.map +1 -1
- package/es/molecule/cm-popin/index.js +125 -19
- package/es/molecule/cm-popin/index.js.map +1 -1
- package/es/molecule/cm-popin/style.css +176 -9
- package/es/molecule/feedback/index.js +7 -3
- package/es/molecule/feedback/index.js.map +1 -1
- package/es/molecule/feedback/style.css +24 -0
- package/es/molecule/questions/free-text/index.native.js +9 -10
- package/es/molecule/questions/free-text/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/template/index.native.js +222 -0
- package/es/molecule/questions/mobile/template/index.native.js.map +1 -0
- package/es/template/app-player/player/index.js +6 -3
- package/es/template/app-player/player/index.js.map +1 -1
- package/es/template/app-player/popin-end/index.js +21 -6
- package/es/template/app-player/popin-end/index.js.map +1 -1
- package/es/template/app-player/popin-end/style.css +1 -1
- package/es/template/app-player/popin-end/summary.css +65 -0
- package/es/template/app-player/popin-end/summary.js +57 -7
- package/es/template/app-player/popin-end/summary.js.map +1 -1
- package/es/template/app-player/popin-header/index.js +33 -12
- package/es/template/app-player/popin-header/index.js.map +1 -1
- package/es/template/app-player/popin-header/style.css +93 -0
- package/es/template/app-player/popin-no-access/index.js +27 -0
- package/es/template/app-player/popin-no-access/index.js.map +1 -0
- package/es/template/app-review/prop-types.js +2 -1
- package/es/template/app-review/prop-types.js.map +1 -1
- package/es/template/app-review/slides/index.js +2 -2
- package/es/template/app-review/slides/index.js.map +1 -1
- package/es/template/app-review/template-context.js +5 -1
- package/es/template/app-review/template-context.js.map +1 -1
- package/es/template/common/dashboard/index.js +6 -3
- package/es/template/common/dashboard/index.js.map +1 -1
- package/es/types/app-review.d.js +2 -0
- package/es/types/app-review.d.js.map +1 -0
- package/es/types/progression-engine.d.js +2 -0
- package/es/types/progression-engine.d.js.map +1 -0
- package/es/types/translations.js +2 -0
- package/es/types/translations.js.map +1 -0
- package/es/util/parse-template-string.js +4 -2
- package/es/util/parse-template-string.js.map +1 -1
- package/es/variables/colors.css +1 -0
- package/es/variables/theme.native.js +1 -0
- package/es/variables/theme.native.js.map +1 -1
- package/lib/atom/drag-and-drop/index.js +2 -1
- package/lib/atom/drag-and-drop/index.js.map +1 -1
- package/lib/atom/header-back-button/index.native.js +95 -0
- package/lib/atom/header-back-button/index.native.js.map +1 -0
- package/lib/atom/header-back-icon/index.native.js +38 -0
- package/lib/atom/header-back-icon/index.native.js.map +1 -0
- package/lib/atom/html/index.native.js +163 -0
- package/lib/atom/html/index.native.js.map +1 -0
- package/lib/atom/input-checkbox/index.js +2 -1
- package/lib/atom/input-checkbox/index.js.map +1 -1
- package/lib/atom/input-switch/index.js +45 -7
- package/lib/atom/input-switch/index.js.map +1 -1
- package/lib/atom/input-switch/style.css +56 -6
- package/lib/atom/select-modal/index.native.js +135 -0
- package/lib/atom/select-modal/index.native.js.map +1 -0
- package/lib/atom/space/index.native.js +33 -0
- package/lib/atom/space/index.native.js.map +1 -0
- package/lib/atom/text/index.native.js +46 -0
- package/lib/atom/text/index.native.js.map +1 -0
- package/lib/hoc/modal/index.native.js +114 -0
- package/lib/hoc/modal/index.native.js.map +1 -0
- package/lib/hoc/modal/select/index.native.js +103 -0
- package/lib/hoc/modal/select/index.native.js.map +1 -0
- package/lib/hoc/modal/select-item/index.native.js +70 -0
- package/lib/hoc/modal/select-item/index.native.js.map +1 -0
- package/lib/hoc/touchable/index.native.js +9 -0
- package/lib/hoc/touchable/index.native.js.map +1 -1
- package/lib/index.js +4 -0
- package/lib/index.js.map +1 -1
- package/lib/molecule/answer/index.js +39 -32
- package/lib/molecule/answer/index.js.map +1 -1
- package/lib/molecule/cm-popin/index.js +126 -18
- package/lib/molecule/cm-popin/index.js.map +1 -1
- package/lib/molecule/cm-popin/style.css +176 -9
- package/lib/molecule/feedback/index.js +7 -3
- package/lib/molecule/feedback/index.js.map +1 -1
- package/lib/molecule/feedback/style.css +24 -0
- package/lib/molecule/questions/free-text/index.native.js +8 -9
- package/lib/molecule/questions/free-text/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/template/index.native.js +243 -0
- package/lib/molecule/questions/mobile/template/index.native.js.map +1 -0
- package/lib/template/app-player/player/index.js +7 -3
- package/lib/template/app-player/player/index.js.map +1 -1
- package/lib/template/app-player/popin-end/index.js +21 -6
- package/lib/template/app-player/popin-end/index.js.map +1 -1
- package/lib/template/app-player/popin-end/style.css +1 -1
- package/lib/template/app-player/popin-end/summary.css +65 -0
- package/lib/template/app-player/popin-end/summary.js +58 -7
- package/lib/template/app-player/popin-end/summary.js.map +1 -1
- package/lib/template/app-player/popin-header/index.js +32 -11
- package/lib/template/app-player/popin-header/index.js.map +1 -1
- package/lib/template/app-player/popin-header/style.css +93 -0
- package/lib/template/app-player/popin-no-access/index.js +37 -0
- package/lib/template/app-player/popin-no-access/index.js.map +1 -0
- package/lib/template/app-review/prop-types.js +2 -1
- package/lib/template/app-review/prop-types.js.map +1 -1
- package/lib/template/app-review/slides/index.js +2 -2
- package/lib/template/app-review/slides/index.js.map +1 -1
- package/lib/template/app-review/template-context.js +5 -1
- package/lib/template/app-review/template-context.js.map +1 -1
- package/lib/template/common/dashboard/index.js +7 -3
- package/lib/template/common/dashboard/index.js.map +1 -1
- package/lib/types/app-review.d.js +2 -0
- package/lib/types/app-review.d.js.map +1 -0
- package/lib/types/progression-engine.d.js +2 -0
- package/lib/types/progression-engine.d.js.map +1 -0
- package/lib/types/translations.js +2 -0
- package/lib/types/translations.js.map +1 -0
- package/lib/util/parse-template-string.js +4 -2
- package/lib/util/parse-template-string.js.map +1 -1
- package/lib/variables/colors.css +1 -0
- package/lib/variables/theme.native.js +3 -1
- package/lib/variables/theme.native.js.map +1 -1
- package/package.json +6 -4
|
@@ -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","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","nextContent","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 nextContent 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 nextContent = get('nextContent', progression);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n isCorrect,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextContent\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"}
|
|
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","nextContent","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 nextContent 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 // temporal fix, should check for new slides in the state && then update\n if (progression && slideNumber !== 0) {\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 nextContent = get('nextContent', progression);\n updateSlidesOnValidation({\n slideNumber,\n newSlideContent: {\n hidden,\n position,\n isCorrect,\n endReview: !!exitNode\n },\n numberOfFinishedSlides: finishedSlidesSize,\n nextContent\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"}
|
|
@@ -5,7 +5,11 @@ import React, { createContext, useContext } from 'react';
|
|
|
5
5
|
import defaultTheme from '../../variables/theme.native';
|
|
6
6
|
// -----------------------------------------------------------------------------
|
|
7
7
|
const Context = createContext({
|
|
8
|
-
theme: defaultTheme
|
|
8
|
+
theme: defaultTheme,
|
|
9
|
+
translations: {},
|
|
10
|
+
display: {
|
|
11
|
+
statusBarHeight: 42
|
|
12
|
+
}
|
|
9
13
|
}); // -----------------------------------------------------------------------------
|
|
10
14
|
|
|
11
15
|
const useTemplateContext = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["React","createContext","useContext","defaultTheme","Context","theme","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;AAAA;AAEA,OAAOA,KAAP,IAAeC,aAAf,EAA8BC,UAA9B,QAA+C,OAA/C;
|
|
1
|
+
{"version":3,"sources":["../../../src/template/app-review/template-context.tsx"],"names":["React","createContext","useContext","defaultTheme","Context","theme","translations","display","statusBarHeight","useTemplateContext","context","Error","TemplateContext","values","children"],"mappings":";;AAAA;AAEA,OAAOA,KAAP,IAAeC,aAAf,EAA8BC,UAA9B,QAA+C,OAA/C;AAGA,OAAOC,YAAP,MAAkC,8BAAlC;AAgBA;AAEA,MAAMC,OAAO,GAAGH,aAAa,CAAC;AAC5BI,EAAAA,KAAK,EAAEF,YADqB;AAE5BG,EAAAA,YAAY,EAAE,EAFc;AAG5BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,eAAe,EAAE;AADV;AAHmB,CAAD,CAA7B,C,CAQA;;AAEA,MAAMC,kBAAkB,GAAG,MAA6B;AACtD,QAAMC,OAAO,GAAGR,UAAU,CAACE,OAAD,CAA1B;;AAEA,MAAI,CAACM,OAAL,EAAc;AACZ,UAAM,IAAIC,KAAJ,CACH,yFADG,CAAN;AAGD;;AAED,SAAOD,OAAP;AACD,CAVD,C,CAYA;;;AAEA,MAAME,eAAe,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA;AAAT,CAAD,KAA+B;AACrD,sBAAO,oBAAC,OAAD,CAAS,QAAT;AAAkB,IAAA,KAAK,eAAMD,MAAN;AAAvB,KAAuCC,QAAvC,CAAP;AACD,CAFD,C,CAIA;;;AAEA,SAAQF,eAAR,EAAyBH,kBAAzB","sourcesContent":["// -----------------------------------------------------------------------------\n\nimport React, {createContext, useContext} from 'react';\nimport {Translations} from '../../types/translations';\nimport {Analytics} from '../../variables/analytics';\nimport defaultTheme, {Theme} from '../../variables/theme.native';\nimport {Vibration} from '../../variables/vibration';\n\nexport type TemplateContextValues = {\n analytics?: Analytics;\n brandTheme?: any;\n theme: Theme;\n translations: Translations;\n vibration?: Vibration;\n display: {\n statusBarHeight: number;\n };\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\n// -----------------------------------------------------------------------------\n\nconst Context = createContext({\n theme: defaultTheme,\n translations: {},\n display: {\n statusBarHeight: 42\n }\n});\n\n// -----------------------------------------------------------------------------\n\nconst useTemplateContext = (): TemplateContextValues => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error(\n `❌ [TemplateContext] useTemplateContext must be used within a provider <TemplateContext>`\n );\n }\n\n return context;\n};\n\n// -----------------------------------------------------------------------------\n\nconst TemplateContext = ({values, children}: Props) => {\n return <Context.Provider value={{...values}}>{children}</Context.Provider>;\n};\n\n// -----------------------------------------------------------------------------\n\nexport {TemplateContext, useTemplateContext};\n"],"file":"template-context.js"}
|
|
@@ -6,6 +6,7 @@ import BattleRequestList from '../../../molecule/dashboard/battle-request-list';
|
|
|
6
6
|
import CardsList from '../../../molecule/dashboard/cards-list';
|
|
7
7
|
import NewsList from '../../../molecule/dashboard/news-list';
|
|
8
8
|
import StartBattle from '../../../molecule/dashboard/start-battle';
|
|
9
|
+
import CMPopin from '../../../molecule/cm-popin';
|
|
9
10
|
import style from './style.css';
|
|
10
11
|
const Hero = React.memo(function Hero({
|
|
11
12
|
hero,
|
|
@@ -24,7 +25,8 @@ const Dashboard = props => {
|
|
|
24
25
|
const {
|
|
25
26
|
sections = [],
|
|
26
27
|
hero,
|
|
27
|
-
welcome
|
|
28
|
+
welcome,
|
|
29
|
+
cookie
|
|
28
30
|
} = props;
|
|
29
31
|
|
|
30
32
|
const buildSectionComponent = section => {
|
|
@@ -72,13 +74,14 @@ const Dashboard = props => {
|
|
|
72
74
|
return /*#__PURE__*/React.createElement("div", {
|
|
73
75
|
className: style.wrapper,
|
|
74
76
|
"data-name": "dashboard"
|
|
75
|
-
}, sectionsList);
|
|
77
|
+
}, sectionsList, cookie ? /*#__PURE__*/React.createElement(CMPopin, cookie) : null);
|
|
76
78
|
};
|
|
77
79
|
|
|
78
80
|
Dashboard.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
79
81
|
hero: Hero.propTypes.hero,
|
|
80
82
|
welcome: Hero.propTypes.welcome,
|
|
81
|
-
sections: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape(BattleRequestList.propTypes), PropTypes.shape(CardsList.propTypes), PropTypes.shape(NewsList.propTypes), PropTypes.shape(StartBattle.propTypes)]))
|
|
83
|
+
sections: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape(BattleRequestList.propTypes), PropTypes.shape(CardsList.propTypes), PropTypes.shape(NewsList.propTypes), PropTypes.shape(StartBattle.propTypes)])),
|
|
84
|
+
cookie: PropTypes.shape(CMPopin.propTypes)
|
|
82
85
|
} : {};
|
|
83
86
|
export default Dashboard;
|
|
84
87
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/common/dashboard/index.js"],"names":["React","PropTypes","Slide","HeroCard","BattleRequestList","CardsList","NewsList","StartBattle","style","Hero","memo","hero","welcome","propTypes","shape","Dashboard","props","sections","buildSectionComponent","section","type","buildSection","index","sectionView","sectionsList","key","map","wrapper","arrayOf","oneOfType"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,KAAP,MAAkB,qBAAlB;AACA,OAAOC,QAAP,MAAqB,wBAArB;AACA,OAAOC,iBAAP,MAA8B,iDAA9B;AACA,OAAOC,SAAP,MAAsB,wCAAtB;AACA,OAAOC,QAAP,MAAqB,uCAArB;AACA,OAAOC,WAAP,MAAwB,0CAAxB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,IAAI,
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/common/dashboard/index.js"],"names":["React","PropTypes","Slide","HeroCard","BattleRequestList","CardsList","NewsList","StartBattle","CMPopin","style","Hero","memo","hero","welcome","propTypes","shape","Dashboard","props","sections","cookie","buildSectionComponent","section","type","buildSection","index","sectionView","sectionsList","key","map","wrapper","arrayOf","oneOfType"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Slide from '../../../atom/slide';\nimport HeroCard from '../../../molecule/hero';\nimport BattleRequestList from '../../../molecule/dashboard/battle-request-list';\nimport CardsList from '../../../molecule/dashboard/cards-list';\nimport NewsList from '../../../molecule/dashboard/news-list';\nimport StartBattle from '../../../molecule/dashboard/start-battle';\nimport CMPopin from '../../../molecule/cm-popin';\nimport style from './style.css';\n\nconst Hero = React.memo(function Hero({hero, welcome}) {\n return <div className={style.hero}>{hero ? <HeroCard {...hero} /> : <Slide {...welcome} />}</div>;\n});\n\nHero.propTypes = {\n hero: PropTypes.shape(HeroCard.propTypes),\n welcome: PropTypes.shape(Slide.propTypes)\n};\n\nconst Dashboard = props => {\n const {sections = [], hero, welcome, cookie} = props;\n\n const buildSectionComponent = section => {\n const {type} = section;\n switch (type) {\n case 'hero':\n return <Hero hero={hero} welcome={welcome} />;\n case 'battleRequests':\n return <BattleRequestList {...section} />;\n case 'cards':\n return <CardsList {...section} />;\n case 'news':\n return <NewsList {...section} />;\n case 'battle':\n return <StartBattle {...section} />;\n default:\n return null;\n }\n };\n\n const buildSection = (section, index) => {\n const sectionView = buildSectionComponent(section);\n\n return <div key={index}>{sectionView}</div>;\n };\n\n const sectionsList = [{type: 'hero', key: 'hero'}, ...sections].map(section => (\n <div key={section.key}>{buildSection(section)}</div>\n ));\n return (\n <div className={style.wrapper} data-name=\"dashboard\">\n {sectionsList}\n {cookie ? <CMPopin {...cookie} /> : null}\n </div>\n );\n};\n\nDashboard.propTypes = {\n hero: Hero.propTypes.hero,\n welcome: Hero.propTypes.welcome,\n sections: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape(BattleRequestList.propTypes),\n PropTypes.shape(CardsList.propTypes),\n PropTypes.shape(NewsList.propTypes),\n PropTypes.shape(StartBattle.propTypes)\n ])\n ),\n cookie: PropTypes.shape(CMPopin.propTypes)\n};\nexport default Dashboard;\n"],"file":"index.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"app-review.d.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"progression-engine.d.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"translations.js"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import _compact from "lodash/fp/compact";
|
|
2
2
|
const reg = /{{(\w+)}}/;
|
|
3
3
|
|
|
4
|
-
function parseTemplateString(
|
|
5
|
-
if (!
|
|
4
|
+
function parseTemplateString(_template) {
|
|
5
|
+
if (!_template) {
|
|
6
6
|
return [];
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
+
const template = _template.replace(/<br\s*\/*>/g, '<br>').replace(/\r?\n|\r/g, '<br>');
|
|
10
|
+
|
|
9
11
|
const res = reg.exec(template);
|
|
10
12
|
|
|
11
13
|
if (!res) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/parse-template-string.js"],"names":["reg","parseTemplateString","template","res","exec","type","value","index","slice","concat","length"],"mappings":";AAEA,MAAMA,GAAG,GAAG,WAAZ;;AAEA,SAASC,mBAAT,CAA6BC,
|
|
1
|
+
{"version":3,"sources":["../../src/util/parse-template-string.js"],"names":["reg","parseTemplateString","_template","template","replace","res","exec","type","value","index","slice","concat","length"],"mappings":";AAEA,MAAMA,GAAG,GAAG,WAAZ;;AAEA,SAASC,mBAAT,CAA6BC,SAA7B,EAAwC;AACtC,MAAI,CAACA,SAAL,EAAgB;AACd,WAAO,EAAP;AACD;;AAED,QAAMC,QAAQ,GAAGD,SAAS,CAACE,OAAV,CAAkB,aAAlB,EAAiC,MAAjC,EAAyCA,OAAzC,CAAiD,WAAjD,EAA8D,MAA9D,CAAjB;;AAEA,QAAMC,GAAG,GAAGL,GAAG,CAACM,IAAJ,CAASH,QAAT,CAAZ;;AAEA,MAAI,CAACE,GAAL,EAAU;AACR,WAAO,CAAC;AAACE,MAAAA,IAAI,EAAE,QAAP;AAAiBC,MAAAA,KAAK,EAAEL;AAAxB,KAAD,CAAP;AACD;;AAED,SAAO,SAAQ,CACbE,GAAG,CAACI,KAAJ,KAAc,CAAd,GAAkB,IAAlB,GAAyB;AAACF,IAAAA,IAAI,EAAE,QAAP;AAAiBC,IAAAA,KAAK,EAAEL,QAAQ,CAACO,KAAT,CAAe,CAAf,EAAkBL,GAAG,CAACI,KAAtB;AAAxB,GADZ,EAEb;AAACF,IAAAA,IAAI,EAAE,aAAP;AAAsBC,IAAAA,KAAK,EAAEH,GAAG,CAAC,CAAD;AAAhC,GAFa,CAAR,EAGJM,MAHI,CAGGV,mBAAmB,CAACE,QAAQ,CAACO,KAAT,CAAeL,GAAG,CAACI,KAAJ,GAAYJ,GAAG,CAAC,CAAD,CAAH,CAAOO,MAAlC,CAAD,CAHtB,CAAP;AAID;;AAED,eAAeX,mBAAf","sourcesContent":["import {compact} from 'lodash/fp';\n\nconst reg = /{{(\\w+)}}/;\n\nfunction parseTemplateString(_template) {\n if (!_template) {\n return [];\n }\n\n const template = _template.replace(/<br\\s*\\/*>/g, '<br>').replace(/\\r?\\n|\\r/g, '<br>');\n\n const res = reg.exec(template);\n\n if (!res) {\n return [{type: 'string', value: template}];\n }\n\n return compact([\n res.index === 0 ? null : {type: 'string', value: template.slice(0, res.index)},\n {type: 'answerField', value: res[1]}\n ]).concat(parseTemplateString(template.slice(res.index + res[0].length)));\n}\n\nexport default parseTemplateString;\n"],"file":"parse-template-string.js"}
|
package/es/variables/colors.css
CHANGED
|
@@ -67,6 +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
|
+
@value light_blue: #ADC9F5;
|
|
70
71
|
|
|
71
72
|
@value go1_backgound: #144953;
|
|
72
73
|
@value go1_primary: #D5FD42;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/variables/theme.native.ts"],"names":["defaultTheme","colors","border","gray","extra","lighter","light","lightMedium","medium","dark","extraDark","text","primary","background","cta","negative","positive","white","black","battle","notification","salmon","spacing","micro","tiny","small","base","large","xlarge","radius","common","card","regular","search","button","thumbnail","fontWeight","semiBold","bold","extraBold","fontSize","extraSmall","xxlarge","xxxlarge","letterSpacing","header"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/variables/theme.native.ts"],"names":["HTML_ANCHOR_TEXT_COLOR","defaultTheme","colors","border","gray","extra","lighter","light","lightMedium","medium","dark","extraDark","text","primary","background","cta","negative","positive","white","black","battle","notification","salmon","spacing","micro","tiny","small","base","large","xlarge","radius","common","card","regular","search","button","thumbnail","fontWeight","semiBold","bold","extraBold","fontSize","extraSmall","xxlarge","xxxlarge","letterSpacing","header"],"mappings":"AAEA,OAAO,MAAMA,sBAAsB,GAAG,SAA/B;AAuDP,MAAMC,YAAmB,GAAG;AAC1BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,MAAM,EAAE,oBADF;AAENC,IAAAA,IAAI,EAAE;AACJC,MAAAA,KAAK,EAAE,SADH;AAEJC,MAAAA,OAAO,EAAE,SAFL;AAGJC,MAAAA,KAAK,EAAE,SAHH;AAIJC,MAAAA,WAAW,EAAE,SAJT;AAKJC,MAAAA,MAAM,EAAE,SALJ;AAMJC,MAAAA,IAAI,EAAE,SANF;AAOJC,MAAAA,SAAS,EAAE;AAPP,KAFA;AAWNC,IAAAA,IAAI,EAAE;AACJC,MAAAA,OAAO,EAAE;AADL,KAXA;AAcNC,IAAAA,UAAU,EAAE,EAdN;AAeNC,IAAAA,GAAG,EAAE,SAfC;AAgBNC,IAAAA,QAAQ,EAAE,SAhBJ;AAiBNC,IAAAA,QAAQ,EAAE,SAjBJ;AAkBNC,IAAAA,KAAK,EAAE,SAlBD;AAmBNC,IAAAA,KAAK,EAAE,SAnBD;AAoBNC,IAAAA,MAAM,EAAE,SApBF;AAqBNC,IAAAA,YAAY,EAAE,SArBR;AAsBNC,IAAAA,MAAM,EAAE;AAtBF,GADkB;AAyB1BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,KAAK,EAAE,CADA;AAEPC,IAAAA,IAAI,EAAE,CAFC;AAGPC,IAAAA,KAAK,EAAE,EAHA;AAIPC,IAAAA,IAAI,EAAE,EAJC;AAKPlB,IAAAA,MAAM,EAAE,EALD;AAMPmB,IAAAA,KAAK,EAAE,EANA;AAOPC,IAAAA,MAAM,EAAE;AAPD,GAzBiB;AAkC1BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,MAAM,EAAE,CADF;AAENC,IAAAA,IAAI,EAAE,CAFA;AAGNC,IAAAA,OAAO,EAAE,CAHH;AAINxB,IAAAA,MAAM,EAAE,EAJF;AAKNyB,IAAAA,MAAM,EAAE,EALF;AAMNC,IAAAA,MAAM,EAAE,EANF;AAONC,IAAAA,SAAS,EAAE;AAPL,GAlCkB;AA2C1BC,EAAAA,UAAU,EAAE;AACVJ,IAAAA,OAAO,EAAE,KADC;AAEVK,IAAAA,QAAQ,EAAE,KAFA;AAGVC,IAAAA,IAAI,EAAE,KAHI;AAIVC,IAAAA,SAAS,EAAE;AAJD,GA3Cc;AAiD1BC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,UAAU,EAAE,EADJ;AAERhB,IAAAA,KAAK,EAAE,EAFC;AAGRjB,IAAAA,MAAM,EAAE,EAHA;AAIRwB,IAAAA,OAAO,EAAE,EAJD;AAKRL,IAAAA,KAAK,EAAE,EALC;AAMRC,IAAAA,MAAM,EAAE,EANA;AAORc,IAAAA,OAAO,EAAE,EAPD;AAQRC,IAAAA,QAAQ,EAAE;AARF,GAjDgB;AA2D1BC,EAAAA,aAAa,EAAE;AACbC,IAAAA,MAAM,EAAE;AADK;AA3DW,CAA5B;AAgEA,eAAe7C,YAAf","sourcesContent":["export type SpaceType = 'micro' | 'tiny' | 'small' | 'base' | 'medium' | 'large' | 'xlarge';\n\nexport const HTML_ANCHOR_TEXT_COLOR = '#002BDB';\n\nexport type Colors = {\n border: string;\n gray: {\n extra: string;\n light: string;\n lighter: string;\n lightMedium: string;\n medium: string;\n dark: string;\n extraDark: string;\n };\n text: {\n primary: '#06265B';\n };\n negative: string;\n positive: string;\n white: string;\n black: string;\n battle: string;\n notification: string;\n salmon: string;\n};\n\nexport type FontWeightType = 'extraBold' | 'bold' | 'semiBold' | 'regular';\n\nexport type FontSizeType =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'regular'\n | 'large'\n | 'xlarge'\n | 'xxlarge'\n | 'xxxlarge';\n\nexport type Theme = {\n colors: Colors;\n spacing: {[key in SpaceType]: number};\n radius: {\n common: number;\n card: number;\n medium: number;\n search: number;\n button: number;\n thumbnail: number;\n };\n fontWeight: {[key in FontWeightType]: string};\n fontSize: {[key in FontSizeType]: string};\n letterSpacing: {\n header: number;\n };\n};\n\nconst defaultTheme: Theme = {\n colors: {\n border: 'rgba(0, 0, 0, 0.1)',\n gray: {\n extra: '#FAFAFA',\n lighter: '#F4F4F5',\n light: '#ededed',\n lightMedium: '#CFD8DC',\n medium: '#90A4AE',\n dark: '#546E7A',\n extraDark: '#323232'\n },\n text: {\n primary: '#06265B'\n },\n background: {},\n cta: '#0061FF',\n negative: '#F73F52',\n positive: '#3EC483',\n white: '#FFFFFF',\n black: '#14171A',\n battle: '#FFDE03',\n notification: '#FF7043',\n salmon: '#FDE2E5'\n },\n spacing: {\n micro: 4,\n tiny: 8,\n small: 16,\n base: 24,\n medium: 32,\n large: 48,\n xlarge: 64\n },\n radius: {\n common: 3,\n card: 5,\n regular: 8,\n medium: 12,\n search: 24,\n button: 32,\n thumbnail: 1000\n },\n fontWeight: {\n regular: '400',\n semiBold: '500',\n bold: '700',\n extraBold: '900'\n },\n fontSize: {\n extraSmall: 10,\n small: 12,\n medium: 13,\n regular: 15,\n large: 17,\n xlarge: 22,\n xxlarge: 28,\n xxxlarge: 40\n },\n letterSpacing: {\n header: 5\n }\n};\n\nexport default defaultTheme;\n"],"file":"theme.native.js"}
|
|
@@ -158,7 +158,8 @@ class DragAndDrop extends _react.default.Component {
|
|
|
158
158
|
className: (0, _classnames.default)(previewContainer, disabled && _style.default.disabled)
|
|
159
159
|
}, previewView) : /*#__PURE__*/_react.default.createElement("div", {
|
|
160
160
|
className: (0, _classnames.default)(dragging ? _style.default.dragging : inputWrapper, disabled && _style.default.disabled),
|
|
161
|
-
id: idBox
|
|
161
|
+
id: idBox,
|
|
162
|
+
"data-name": "drag-and-drop-box"
|
|
162
163
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
163
164
|
className: _style.default.infosContainer
|
|
164
165
|
}, error ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidFilesBasicFileBlock2, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/drag-and-drop/index.js"],"names":["constantNull","DragAndDrop","React","Component","constructor","props","state","dragging","handleDragStart","bind","handleDragStop","setState","render","idBox","children","title","description","uploadLabel","previewLabel","previewContent","loading","modified","onReset","error","buttonAriaLabel","errorButtonLabel","disabled","previewView","type","style","preview","src","loaderWrapper","loadingCancel","closeIcon","loader","loaderText","resetContent","resetUploadWrapper","resetSrcLabel","label","buildButton","defaultButtonProps","icon","position","button","previewContainer","modifiedPreviewContainer","inputWrapper","modifiedInputWrapper","errorInputWrapper","wrapper","infosContainer","iconError","dragAndDropLabel","errorMessage","propTypes","PropTypes","string","shape","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, constant, isEmpty} from 'lodash/fp';\nimport {\n NovaSolidStatusClose as Close,\n NovaSolidFilesBasicFileUpload2 as FileUploadIcon,\n NovaSolidFilesBasicFileBlock2 as FileUploadBlockedIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../loader';\nimport Button from '../button-link';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst constantNull = constant(null);\n\nclass DragAndDrop extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n uploadLabel: PropTypes.string,\n previewLabel: PropTypes.string,\n previewContent: PropTypes.shape({\n type: PropTypes.string,\n src: PropTypes.string,\n label: PropTypes.string\n }),\n loading: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.func,\n onReset: PropTypes.func,\n error: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n errorButtonLabel: PropTypes.string\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragging: false\n };\n\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDragStop = this.handleDragStop.bind(this);\n }\n\n handleDragStart() {\n this.setState({\n dragging: true\n });\n }\n\n handleDragStop() {\n this.setState({\n dragging: false\n });\n }\n\n render() {\n const idBox = uniqueId('drop-box-');\n const {\n children = constantNull,\n title,\n description,\n uploadLabel,\n previewLabel = '',\n previewContent,\n loading = false,\n modified = false,\n onReset = null,\n error = '',\n buttonAriaLabel = '',\n errorButtonLabel = '',\n disabled = false\n } = this.props;\n const {dragging} = this.state;\n\n let previewView = null;\n\n if (previewContent && previewContent.type === 'image') {\n previewView = (\n <div className={style.preview}>\n <img src={previewContent.src} />\n </div>\n );\n } else if (previewContent && previewContent.type === 'video') {\n previewView = (\n <div className={style.preview}>\n <video controls src={previewContent.src} type=\"video/*\" />\n </div>\n );\n } else if (loading) {\n previewView = (\n <div className={style.loaderWrapper}>\n <div className={style.loadingCancel}>\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n </div>\n <div className={style.loader}>\n <Loader theme=\"coorpmanager\" />\n </div>\n <span className={style.loaderText}>Uploading</span>\n </div>\n );\n } else {\n previewView = <span>{previewLabel}</span>;\n }\n\n const resetContent =\n previewContent && previewContent.src ? (\n <div className={classnames(style.resetUploadWrapper, disabled && style.disabled)}>\n <div className={style.resetSrcLabel}>\n {previewContent.label ? previewContent.label : previewContent.src}\n </div>\n {onReset ? (\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n ) : null}\n </div>\n ) : null;\n\n const buildButton = () => {\n const defaultButtonProps = {\n label: uploadLabel,\n 'aria-label': buttonAriaLabel,\n 'data-name': 'default-button',\n icon: {\n position: 'left',\n type: 'folders'\n }\n };\n if (dragging) {\n return null;\n } else if (error) {\n return <Button {...defaultButtonProps} label={errorButtonLabel} icon={{}} />;\n } else {\n return <Button {...defaultButtonProps} />;\n }\n };\n\n const button = buildButton(dragging, error);\n\n const previewContainer = getClassState(\n style.previewContainer,\n style.modifiedPreviewContainer,\n null,\n modified,\n error\n );\n const inputWrapper = getClassState(\n style.inputWrapper,\n style.modifiedInputWrapper,\n style.errorInputWrapper,\n modified,\n error\n );\n\n return (\n <div className={style.wrapper} data-name=\"drag-and-drop-wrapper\">\n <div className={style.title}>{title}</div>\n {!isEmpty(previewContent) || loading ? (\n <div className={classnames(previewContainer, disabled && style.disabled)}>\n {previewView}\n </div>\n ) : (\n <div\n className={classnames(\n dragging ? style.dragging : inputWrapper,\n disabled && style.disabled\n )}\n id={idBox}\n >\n <div className={style.infosContainer}>\n {error ? (\n <FileUploadBlockedIcon className={style.iconError} />\n ) : (\n <FileUploadIcon className={style.icon} />\n )}\n {description ? <div className={style.description}>{description}</div> : null}\n {error ? null : <div className={style.dragAndDropLabel}>{'Drag & Drop here'}</div>}\n </div>\n {button}\n <div>{children(this.handleDragStart, this.handleDragStop)}</div>\n </div>\n )}\n {error ? (\n <span className={classnames(style.errorMessage, disabled && style.disabled)}>\n {error}\n </span>\n ) : (\n resetContent\n )}\n </div>\n );\n }\n}\n\nexport default DragAndDrop;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/drag-and-drop/index.js"],"names":["constantNull","DragAndDrop","React","Component","constructor","props","state","dragging","handleDragStart","bind","handleDragStop","setState","render","idBox","children","title","description","uploadLabel","previewLabel","previewContent","loading","modified","onReset","error","buttonAriaLabel","errorButtonLabel","disabled","previewView","type","style","preview","src","loaderWrapper","loadingCancel","closeIcon","loader","loaderText","resetContent","resetUploadWrapper","resetSrcLabel","label","buildButton","defaultButtonProps","icon","position","button","previewContainer","modifiedPreviewContainer","inputWrapper","modifiedInputWrapper","errorInputWrapper","wrapper","infosContainer","iconError","dragAndDropLabel","errorMessage","propTypes","PropTypes","string","shape","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, constant, isEmpty} from 'lodash/fp';\nimport {\n NovaSolidStatusClose as Close,\n NovaSolidFilesBasicFileUpload2 as FileUploadIcon,\n NovaSolidFilesBasicFileBlock2 as FileUploadBlockedIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../loader';\nimport Button from '../button-link';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst constantNull = constant(null);\n\nclass DragAndDrop extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n uploadLabel: PropTypes.string,\n previewLabel: PropTypes.string,\n previewContent: PropTypes.shape({\n type: PropTypes.string,\n src: PropTypes.string,\n label: PropTypes.string\n }),\n loading: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.func,\n onReset: PropTypes.func,\n error: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n errorButtonLabel: PropTypes.string\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragging: false\n };\n\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDragStop = this.handleDragStop.bind(this);\n }\n\n handleDragStart() {\n this.setState({\n dragging: true\n });\n }\n\n handleDragStop() {\n this.setState({\n dragging: false\n });\n }\n\n render() {\n const idBox = uniqueId('drop-box-');\n const {\n children = constantNull,\n title,\n description,\n uploadLabel,\n previewLabel = '',\n previewContent,\n loading = false,\n modified = false,\n onReset = null,\n error = '',\n buttonAriaLabel = '',\n errorButtonLabel = '',\n disabled = false\n } = this.props;\n const {dragging} = this.state;\n\n let previewView = null;\n\n if (previewContent && previewContent.type === 'image') {\n previewView = (\n <div className={style.preview}>\n <img src={previewContent.src} />\n </div>\n );\n } else if (previewContent && previewContent.type === 'video') {\n previewView = (\n <div className={style.preview}>\n <video controls src={previewContent.src} type=\"video/*\" />\n </div>\n );\n } else if (loading) {\n previewView = (\n <div className={style.loaderWrapper}>\n <div className={style.loadingCancel}>\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n </div>\n <div className={style.loader}>\n <Loader theme=\"coorpmanager\" />\n </div>\n <span className={style.loaderText}>Uploading</span>\n </div>\n );\n } else {\n previewView = <span>{previewLabel}</span>;\n }\n\n const resetContent =\n previewContent && previewContent.src ? (\n <div className={classnames(style.resetUploadWrapper, disabled && style.disabled)}>\n <div className={style.resetSrcLabel}>\n {previewContent.label ? previewContent.label : previewContent.src}\n </div>\n {onReset ? (\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n ) : null}\n </div>\n ) : null;\n\n const buildButton = () => {\n const defaultButtonProps = {\n label: uploadLabel,\n 'aria-label': buttonAriaLabel,\n 'data-name': 'default-button',\n icon: {\n position: 'left',\n type: 'folders'\n }\n };\n if (dragging) {\n return null;\n } else if (error) {\n return <Button {...defaultButtonProps} label={errorButtonLabel} icon={{}} />;\n } else {\n return <Button {...defaultButtonProps} />;\n }\n };\n\n const button = buildButton(dragging, error);\n\n const previewContainer = getClassState(\n style.previewContainer,\n style.modifiedPreviewContainer,\n null,\n modified,\n error\n );\n const inputWrapper = getClassState(\n style.inputWrapper,\n style.modifiedInputWrapper,\n style.errorInputWrapper,\n modified,\n error\n );\n\n return (\n <div className={style.wrapper} data-name=\"drag-and-drop-wrapper\">\n <div className={style.title}>{title}</div>\n {!isEmpty(previewContent) || loading ? (\n <div className={classnames(previewContainer, disabled && style.disabled)}>\n {previewView}\n </div>\n ) : (\n <div\n className={classnames(\n dragging ? style.dragging : inputWrapper,\n disabled && style.disabled\n )}\n id={idBox}\n data-name=\"drag-and-drop-box\"\n >\n <div className={style.infosContainer}>\n {error ? (\n <FileUploadBlockedIcon className={style.iconError} />\n ) : (\n <FileUploadIcon className={style.icon} />\n )}\n {description ? <div className={style.description}>{description}</div> : null}\n {error ? null : <div className={style.dragAndDropLabel}>{'Drag & Drop here'}</div>}\n </div>\n {button}\n <div>{children(this.handleDragStart, this.handleDragStop)}</div>\n </div>\n )}\n {error ? (\n <span className={classnames(style.errorMessage, disabled && style.disabled)}>\n {error}\n </span>\n ) : (\n resetContent\n )}\n </div>\n );\n }\n}\n\nexport default DragAndDrop;\n"],"file":"index.js"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = exports.BACK_ICON_HEIGHT = exports.CLOSE_ICON_HEIGHT = exports.HOME_ICON_HEIGHT = void 0;
|
|
5
|
+
|
|
6
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
7
|
+
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
|
|
10
|
+
var _novaIcons = require("@coorpacademy/nova-icons");
|
|
11
|
+
|
|
12
|
+
var _templateContext = require("../../template/app-review/template-context");
|
|
13
|
+
|
|
14
|
+
var _index = _interopRequireDefault(require("../../hoc/touchable/index.native"));
|
|
15
|
+
|
|
16
|
+
var _index2 = _interopRequireDefault(require("../header-back-icon/index.native"));
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
21
|
+
|
|
22
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
+
|
|
24
|
+
const HOME_ICON_HEIGHT = 20;
|
|
25
|
+
exports.HOME_ICON_HEIGHT = HOME_ICON_HEIGHT;
|
|
26
|
+
const CLOSE_ICON_HEIGHT = 16;
|
|
27
|
+
exports.CLOSE_ICON_HEIGHT = CLOSE_ICON_HEIGHT;
|
|
28
|
+
const BACK_ICON_HEIGHT = 20;
|
|
29
|
+
exports.BACK_ICON_HEIGHT = BACK_ICON_HEIGHT;
|
|
30
|
+
|
|
31
|
+
const createStyleSheet = (theme, statusBarHeight) => _reactNative.StyleSheet.create({
|
|
32
|
+
container: {
|
|
33
|
+
paddingLeft: theme.spacing.base
|
|
34
|
+
},
|
|
35
|
+
floating: {
|
|
36
|
+
paddingTop: theme.spacing.base,
|
|
37
|
+
position: 'absolute',
|
|
38
|
+
top: statusBarHeight
|
|
39
|
+
},
|
|
40
|
+
noSafeArea: {
|
|
41
|
+
top: 0
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
const HeaderBackButton = props => {
|
|
46
|
+
const templateContext = (0, _templateContext.useTemplateContext)();
|
|
47
|
+
const [styleSheet, setStylesheet] = (0, _react.useState)(null);
|
|
48
|
+
const {
|
|
49
|
+
theme,
|
|
50
|
+
display: {
|
|
51
|
+
statusBarHeight
|
|
52
|
+
}
|
|
53
|
+
} = templateContext;
|
|
54
|
+
const {
|
|
55
|
+
type,
|
|
56
|
+
color = theme.colors.white,
|
|
57
|
+
onPress,
|
|
58
|
+
isFloating = true,
|
|
59
|
+
noSafeArea = false,
|
|
60
|
+
testID = 'default-header-back-button-test-id'
|
|
61
|
+
} = props;
|
|
62
|
+
(0, _react.useEffect)(() => {
|
|
63
|
+
const _stylesheet = createStyleSheet(theme, statusBarHeight);
|
|
64
|
+
|
|
65
|
+
setStylesheet(_stylesheet);
|
|
66
|
+
}, [theme, statusBarHeight]);
|
|
67
|
+
|
|
68
|
+
if (!styleSheet) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
73
|
+
style: [styleSheet.container, isFloating && styleSheet.floating, isFloating && noSafeArea && styleSheet.noSafeArea]
|
|
74
|
+
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
75
|
+
testID: testID,
|
|
76
|
+
onPress: onPress,
|
|
77
|
+
analyticsID: "button-close"
|
|
78
|
+
}, type === 'home' ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidPlacesPlacesHome2, {
|
|
79
|
+
height: HOME_ICON_HEIGHT,
|
|
80
|
+
width: HOME_ICON_HEIGHT,
|
|
81
|
+
color: color
|
|
82
|
+
}) : null, type === 'close' ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidStatusClose, {
|
|
83
|
+
height: CLOSE_ICON_HEIGHT,
|
|
84
|
+
width: CLOSE_ICON_HEIGHT,
|
|
85
|
+
color: color
|
|
86
|
+
}) : null, type === 'back' ? /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
87
|
+
height: BACK_ICON_HEIGHT,
|
|
88
|
+
width: BACK_ICON_HEIGHT,
|
|
89
|
+
color: color
|
|
90
|
+
}) : null));
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
var _default = HeaderBackButton;
|
|
94
|
+
exports.default = _default;
|
|
95
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/header-back-button/index.native.tsx"],"names":["HOME_ICON_HEIGHT","CLOSE_ICON_HEIGHT","BACK_ICON_HEIGHT","createStyleSheet","theme","statusBarHeight","StyleSheet","create","container","paddingLeft","spacing","base","floating","paddingTop","position","top","noSafeArea","HeaderBackButton","props","templateContext","styleSheet","setStylesheet","display","type","color","colors","white","onPress","isFloating","testID","_stylesheet"],"mappings":";;;;;AAAA;;AACA;;AAGA;;AAIA;;AACA;;AACA;;;;;;;;AAGO,MAAMA,gBAAgB,GAAG,EAAzB;;AACA,MAAMC,iBAAiB,GAAG,EAA1B;;AACA,MAAMC,gBAAgB,GAAG,EAAzB;;;AAyBP,MAAMC,gBAAgB,GAAG,CAACC,KAAD,EAAeC,eAAf,KACvBC,wBAAWC,MAAX,CAAkB;AAChBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,WAAW,EAAEL,KAAK,CAACM,OAAN,CAAcC;AADlB,GADK;AAIhBC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,UAAU,EAAET,KAAK,CAACM,OAAN,CAAcC,IADlB;AAERG,IAAAA,QAAQ,EAAE,UAFF;AAGRC,IAAAA,GAAG,EAAEV;AAHG,GAJM;AAShBW,EAAAA,UAAU,EAAE;AACVD,IAAAA,GAAG,EAAE;AADK;AATI,CAAlB,CADF;;AAeA,MAAME,gBAAgB,GAAIC,KAAD,IAAkB;AACzC,QAAMC,eAAe,GAAG,0CAAxB;AACA,QAAM,CAACC,UAAD,EAAaC,aAAb,IAA8B,qBAAgC,IAAhC,CAApC;AACA,QAAM;AACJjB,IAAAA,KADI;AAEJkB,IAAAA,OAAO,EAAE;AAACjB,MAAAA;AAAD;AAFL,MAGFc,eAHJ;AAKA,QAAM;AACJI,IAAAA,IADI;AAEJC,IAAAA,KAAK,GAAGpB,KAAK,CAACqB,MAAN,CAAaC,KAFjB;AAGJC,IAAAA,OAHI;AAIJC,IAAAA,UAAU,GAAG,IAJT;AAKJZ,IAAAA,UAAU,GAAG,KALT;AAMJa,IAAAA,MAAM,GAAG;AANL,MAOFX,KAPJ;AASA,wBAAU,MAAM;AACd,UAAMY,WAAW,GAAG3B,gBAAgB,CAACC,KAAD,EAAQC,eAAR,CAApC;;AACAgB,IAAAA,aAAa,CAACS,WAAD,CAAb;AACD,GAHD,EAGG,CAAC1B,KAAD,EAAQC,eAAR,CAHH;;AAKA,MAAI,CAACe,UAAL,EAAiB;AACf,WAAO,IAAP;AACD;;AAED,sBACE,6BAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLA,UAAU,CAACZ,SADN,EAELoB,UAAU,IAAIR,UAAU,CAACR,QAFpB,EAGLgB,UAAU,IAAIZ,UAAd,IAA4BI,UAAU,CAACJ,UAHlC;AADT,kBAOE,6BAAC,cAAD;AAAW,IAAA,MAAM,EAAEa,MAAnB;AAA2B,IAAA,OAAO,EAAEF,OAApC;AAA6C,IAAA,WAAW,EAAC;AAAzD,KACGJ,IAAI,KAAK,MAAT,gBACC,6BAAC,qCAAD;AAAU,IAAA,MAAM,EAAEvB,gBAAlB;AAAoC,IAAA,KAAK,EAAEA,gBAA3C;AAA6D,IAAA,KAAK,EAAEwB;AAApE,IADD,GAEG,IAHN,EAIGD,IAAI,KAAK,OAAT,gBACC,6BAAC,+BAAD;AAAW,IAAA,MAAM,EAAEtB,iBAAnB;AAAsC,IAAA,KAAK,EAAEA,iBAA7C;AAAgE,IAAA,KAAK,EAAEuB;AAAvE,IADD,GAEG,IANN,EAOGD,IAAI,KAAK,MAAT,gBACC,6BAAC,eAAD;AAAgB,IAAA,MAAM,EAAErB,gBAAxB;AAA0C,IAAA,KAAK,EAAEA,gBAAjD;AAAmE,IAAA,KAAK,EAAEsB;AAA1E,IADD,GAEG,IATN,CAPF,CADF;AAqBD,CA/CD;;eAiDeP,gB","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {View, StyleSheet} from 'react-native';\nimport type {PressEvent} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport {\n NovaSolidPlacesPlacesHome2 as HomeIcon,\n NovaSolidStatusClose as CloseIcon\n} from '@coorpacademy/nova-icons';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport Touchable from '../../hoc/touchable/index.native';\nimport HeaderBackIcon from '../header-back-icon/index.native';\nimport {Theme} from '../../variables/theme.native';\n\nexport const HOME_ICON_HEIGHT = 20;\nexport const CLOSE_ICON_HEIGHT = 16;\nexport const BACK_ICON_HEIGHT = 20;\n\nexport type Props = {\n type: 'close' | 'back' | 'home';\n color?: string;\n onPress?: (event: PressEvent) => any;\n isFloating?: boolean;\n noSafeArea?: boolean;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: {\n paddingLeft: number;\n };\n floating: {\n paddingTop: number;\n position: string;\n top: number;\n };\n noSafeArea: {\n top: 0;\n };\n};\n\nconst createStyleSheet = (theme: Theme, statusBarHeight: number) =>\n StyleSheet.create({\n container: {\n paddingLeft: theme.spacing.base\n },\n floating: {\n paddingTop: theme.spacing.base,\n position: 'absolute',\n top: statusBarHeight\n },\n noSafeArea: {\n top: 0\n }\n });\n\nconst HeaderBackButton = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {\n theme,\n display: {statusBarHeight}\n } = templateContext;\n\n const {\n type,\n color = theme.colors.white,\n onPress,\n isFloating = true,\n noSafeArea = false,\n testID = 'default-header-back-button-test-id'\n } = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme, statusBarHeight);\n setStylesheet(_stylesheet);\n }, [theme, statusBarHeight]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View\n style={[\n styleSheet.container,\n isFloating && styleSheet.floating,\n isFloating && noSafeArea && styleSheet.noSafeArea\n ]}\n >\n <Touchable testID={testID} onPress={onPress} analyticsID=\"button-close\">\n {type === 'home' ? (\n <HomeIcon height={HOME_ICON_HEIGHT} width={HOME_ICON_HEIGHT} color={color} />\n ) : null}\n {type === 'close' ? (\n <CloseIcon height={CLOSE_ICON_HEIGHT} width={CLOSE_ICON_HEIGHT} color={color} />\n ) : null}\n {type === 'back' ? (\n <HeaderBackIcon height={BACK_ICON_HEIGHT} width={BACK_ICON_HEIGHT} color={color} />\n ) : null}\n </Touchable>\n </View>\n );\n};\n\nexport default HeaderBackButton;\n"],"file":"index.native.js"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
|
|
10
|
+
var _novaIcons = require("@coorpacademy/nova-icons");
|
|
11
|
+
|
|
12
|
+
var _templateContext = require("../../template/app-review/template-context");
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
const HeaderBackIcon = props => {
|
|
17
|
+
const templateContext = (0, _templateContext.useTemplateContext)();
|
|
18
|
+
const {
|
|
19
|
+
theme
|
|
20
|
+
} = templateContext;
|
|
21
|
+
const {
|
|
22
|
+
color = theme.colors.gray.dark,
|
|
23
|
+
height = 16,
|
|
24
|
+
width = 16,
|
|
25
|
+
style
|
|
26
|
+
} = props;
|
|
27
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
28
|
+
style: style
|
|
29
|
+
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowLeft, {
|
|
30
|
+
color: color,
|
|
31
|
+
height: height,
|
|
32
|
+
width: width
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var _default = HeaderBackIcon;
|
|
37
|
+
exports.default = _default;
|
|
38
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/header-back-icon/index.native.tsx"],"names":["HeaderBackIcon","props","templateContext","theme","color","colors","gray","dark","height","width","style"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;AASA,MAAMA,cAAc,GAAIC,KAAD,IAAkB;AACvC,QAAMC,eAAe,GAAG,0CAAxB;AACA,QAAM;AAACC,IAAAA;AAAD,MAAUD,eAAhB;AAEA,QAAM;AAACE,IAAAA,KAAK,GAAGD,KAAK,CAACE,MAAN,CAAaC,IAAb,CAAkBC,IAA3B;AAAiCC,IAAAA,MAAM,GAAG,EAA1C;AAA8CC,IAAAA,KAAK,GAAG,EAAtD;AAA0DC,IAAAA;AAA1D,MAAmET,KAAzE;AAEA,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAES;AAAb,kBACE,6BAAC,6CAAD;AAAU,IAAA,KAAK,EAAEN,KAAjB;AAAwB,IAAA,MAAM,EAAEI,MAAhC;AAAwC,IAAA,KAAK,EAAEC;AAA/C,IADF,CADF;AAKD,CAXD;;eAaeT,c","sourcesContent":["import React from 'react';\nimport {View, ViewStyle} from 'react-native';\nimport {NovaCompositionNavigationArrowLeft as BackIcon} from '@coorpacademy/nova-icons';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport type Props = {\n color?: string;\n height?: number;\n width?: number;\n style?: ViewStyle;\n};\n\nconst HeaderBackIcon = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const {color = theme.colors.gray.dark, height = 16, width = 16, style} = props;\n\n return (\n <View style={style}>\n <BackIcon color={color} height={height} width={width} />\n </View>\n );\n};\n\nexport default HeaderBackIcon;\n"],"file":"index.native.js"}
|