@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.
Files changed (147) hide show
  1. package/es/atom/drag-and-drop/index.js +2 -1
  2. package/es/atom/drag-and-drop/index.js.map +1 -1
  3. package/es/atom/header-back-button/index.native.js +74 -0
  4. package/es/atom/header-back-button/index.native.js.map +1 -0
  5. package/es/atom/header-back-icon/index.native.js +27 -0
  6. package/es/atom/header-back-icon/index.native.js.map +1 -0
  7. package/es/atom/html/index.native.js +146 -0
  8. package/es/atom/html/index.native.js.map +1 -0
  9. package/es/atom/input-checkbox/index.js +3 -2
  10. package/es/atom/input-checkbox/index.js.map +1 -1
  11. package/es/atom/input-switch/index.js +45 -7
  12. package/es/atom/input-switch/index.js.map +1 -1
  13. package/es/atom/input-switch/style.css +56 -6
  14. package/es/atom/select-modal/index.native.js +113 -0
  15. package/es/atom/select-modal/index.native.js.map +1 -0
  16. package/es/atom/space/index.native.js +21 -0
  17. package/es/atom/space/index.native.js.map +1 -0
  18. package/es/atom/text/index.native.js +31 -0
  19. package/es/atom/text/index.native.js.map +1 -0
  20. package/es/hoc/modal/index.native.js +97 -0
  21. package/es/hoc/modal/index.native.js.map +1 -0
  22. package/es/hoc/modal/select/index.native.js +86 -0
  23. package/es/hoc/modal/select/index.native.js.map +1 -0
  24. package/es/hoc/modal/select-item/index.native.js +54 -0
  25. package/es/hoc/modal/select-item/index.native.js.map +1 -0
  26. package/es/hoc/touchable/index.native.js +8 -0
  27. package/es/hoc/touchable/index.native.js.map +1 -1
  28. package/es/index.js +2 -1
  29. package/es/index.js.map +1 -1
  30. package/es/molecule/answer/index.js +39 -32
  31. package/es/molecule/answer/index.js.map +1 -1
  32. package/es/molecule/cm-popin/index.js +125 -19
  33. package/es/molecule/cm-popin/index.js.map +1 -1
  34. package/es/molecule/cm-popin/style.css +176 -9
  35. package/es/molecule/feedback/index.js +7 -3
  36. package/es/molecule/feedback/index.js.map +1 -1
  37. package/es/molecule/feedback/style.css +24 -0
  38. package/es/molecule/questions/free-text/index.native.js +9 -10
  39. package/es/molecule/questions/free-text/index.native.js.map +1 -1
  40. package/es/molecule/questions/mobile/template/index.native.js +222 -0
  41. package/es/molecule/questions/mobile/template/index.native.js.map +1 -0
  42. package/es/template/app-player/player/index.js +6 -3
  43. package/es/template/app-player/player/index.js.map +1 -1
  44. package/es/template/app-player/popin-end/index.js +21 -6
  45. package/es/template/app-player/popin-end/index.js.map +1 -1
  46. package/es/template/app-player/popin-end/style.css +1 -1
  47. package/es/template/app-player/popin-end/summary.css +65 -0
  48. package/es/template/app-player/popin-end/summary.js +57 -7
  49. package/es/template/app-player/popin-end/summary.js.map +1 -1
  50. package/es/template/app-player/popin-header/index.js +33 -12
  51. package/es/template/app-player/popin-header/index.js.map +1 -1
  52. package/es/template/app-player/popin-header/style.css +93 -0
  53. package/es/template/app-player/popin-no-access/index.js +27 -0
  54. package/es/template/app-player/popin-no-access/index.js.map +1 -0
  55. package/es/template/app-review/prop-types.js +2 -1
  56. package/es/template/app-review/prop-types.js.map +1 -1
  57. package/es/template/app-review/slides/index.js +2 -2
  58. package/es/template/app-review/slides/index.js.map +1 -1
  59. package/es/template/app-review/template-context.js +5 -1
  60. package/es/template/app-review/template-context.js.map +1 -1
  61. package/es/template/common/dashboard/index.js +6 -3
  62. package/es/template/common/dashboard/index.js.map +1 -1
  63. package/es/types/app-review.d.js +2 -0
  64. package/es/types/app-review.d.js.map +1 -0
  65. package/es/types/progression-engine.d.js +2 -0
  66. package/es/types/progression-engine.d.js.map +1 -0
  67. package/es/types/translations.js +2 -0
  68. package/es/types/translations.js.map +1 -0
  69. package/es/util/parse-template-string.js +4 -2
  70. package/es/util/parse-template-string.js.map +1 -1
  71. package/es/variables/colors.css +1 -0
  72. package/es/variables/theme.native.js +1 -0
  73. package/es/variables/theme.native.js.map +1 -1
  74. package/lib/atom/drag-and-drop/index.js +2 -1
  75. package/lib/atom/drag-and-drop/index.js.map +1 -1
  76. package/lib/atom/header-back-button/index.native.js +95 -0
  77. package/lib/atom/header-back-button/index.native.js.map +1 -0
  78. package/lib/atom/header-back-icon/index.native.js +38 -0
  79. package/lib/atom/header-back-icon/index.native.js.map +1 -0
  80. package/lib/atom/html/index.native.js +163 -0
  81. package/lib/atom/html/index.native.js.map +1 -0
  82. package/lib/atom/input-checkbox/index.js +2 -1
  83. package/lib/atom/input-checkbox/index.js.map +1 -1
  84. package/lib/atom/input-switch/index.js +45 -7
  85. package/lib/atom/input-switch/index.js.map +1 -1
  86. package/lib/atom/input-switch/style.css +56 -6
  87. package/lib/atom/select-modal/index.native.js +135 -0
  88. package/lib/atom/select-modal/index.native.js.map +1 -0
  89. package/lib/atom/space/index.native.js +33 -0
  90. package/lib/atom/space/index.native.js.map +1 -0
  91. package/lib/atom/text/index.native.js +46 -0
  92. package/lib/atom/text/index.native.js.map +1 -0
  93. package/lib/hoc/modal/index.native.js +114 -0
  94. package/lib/hoc/modal/index.native.js.map +1 -0
  95. package/lib/hoc/modal/select/index.native.js +103 -0
  96. package/lib/hoc/modal/select/index.native.js.map +1 -0
  97. package/lib/hoc/modal/select-item/index.native.js +70 -0
  98. package/lib/hoc/modal/select-item/index.native.js.map +1 -0
  99. package/lib/hoc/touchable/index.native.js +9 -0
  100. package/lib/hoc/touchable/index.native.js.map +1 -1
  101. package/lib/index.js +4 -0
  102. package/lib/index.js.map +1 -1
  103. package/lib/molecule/answer/index.js +39 -32
  104. package/lib/molecule/answer/index.js.map +1 -1
  105. package/lib/molecule/cm-popin/index.js +126 -18
  106. package/lib/molecule/cm-popin/index.js.map +1 -1
  107. package/lib/molecule/cm-popin/style.css +176 -9
  108. package/lib/molecule/feedback/index.js +7 -3
  109. package/lib/molecule/feedback/index.js.map +1 -1
  110. package/lib/molecule/feedback/style.css +24 -0
  111. package/lib/molecule/questions/free-text/index.native.js +8 -9
  112. package/lib/molecule/questions/free-text/index.native.js.map +1 -1
  113. package/lib/molecule/questions/mobile/template/index.native.js +243 -0
  114. package/lib/molecule/questions/mobile/template/index.native.js.map +1 -0
  115. package/lib/template/app-player/player/index.js +7 -3
  116. package/lib/template/app-player/player/index.js.map +1 -1
  117. package/lib/template/app-player/popin-end/index.js +21 -6
  118. package/lib/template/app-player/popin-end/index.js.map +1 -1
  119. package/lib/template/app-player/popin-end/style.css +1 -1
  120. package/lib/template/app-player/popin-end/summary.css +65 -0
  121. package/lib/template/app-player/popin-end/summary.js +58 -7
  122. package/lib/template/app-player/popin-end/summary.js.map +1 -1
  123. package/lib/template/app-player/popin-header/index.js +32 -11
  124. package/lib/template/app-player/popin-header/index.js.map +1 -1
  125. package/lib/template/app-player/popin-header/style.css +93 -0
  126. package/lib/template/app-player/popin-no-access/index.js +37 -0
  127. package/lib/template/app-player/popin-no-access/index.js.map +1 -0
  128. package/lib/template/app-review/prop-types.js +2 -1
  129. package/lib/template/app-review/prop-types.js.map +1 -1
  130. package/lib/template/app-review/slides/index.js +2 -2
  131. package/lib/template/app-review/slides/index.js.map +1 -1
  132. package/lib/template/app-review/template-context.js +5 -1
  133. package/lib/template/app-review/template-context.js.map +1 -1
  134. package/lib/template/common/dashboard/index.js +7 -3
  135. package/lib/template/common/dashboard/index.js.map +1 -1
  136. package/lib/types/app-review.d.js +2 -0
  137. package/lib/types/app-review.d.js.map +1 -0
  138. package/lib/types/progression-engine.d.js +2 -0
  139. package/lib/types/progression-engine.d.js.map +1 -0
  140. package/lib/types/translations.js +2 -0
  141. package/lib/types/translations.js.map +1 -0
  142. package/lib/util/parse-template-string.js +4 -2
  143. package/lib/util/parse-template-string.js.map +1 -1
  144. package/lib/variables/colors.css +1 -0
  145. package/lib/variables/theme.native.js +3 -1
  146. package/lib/variables/theme.native.js.map +1 -1
  147. 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;AAEA,OAAOC,YAAP,MAAkC,8BAAlC;AAYA;AAEA,MAAMC,OAAO,GAAGH,aAAa,CAAC;AAC5BI,EAAAA,KAAK,EAAEF;AADqB,CAAD,CAA7B,C,CAIA;;AAEA,MAAMG,kBAAkB,GAAG,MAA6B;AACtD,QAAMC,OAAO,GAAGL,UAAU,CAACE,OAAD,CAA1B;;AAEA,MAAI,CAACG,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 {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 vibration?: Vibration;\n};\n\ntype Props = {values: TemplateContextValues; children: any};\n\n// -----------------------------------------------------------------------------\n\nconst Context = createContext({\n theme: defaultTheme\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"}
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":"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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 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} = 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 </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};\nexport default Dashboard;\n"],"file":"index.js"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=app-review.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"app-review.d.js"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=progression-engine.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"progression-engine.d.js"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=translations.js.map
@@ -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(template) {
5
- if (!template) {
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,QAA7B,EAAuC;AACrC,MAAI,CAACA,QAAL,EAAe;AACb,WAAO,EAAP;AACD;;AACD,QAAMC,GAAG,GAAGH,GAAG,CAACI,IAAJ,CAASF,QAAT,CAAZ;;AACA,MAAI,CAACC,GAAL,EAAU;AACR,WAAO,CAAC;AAACE,MAAAA,IAAI,EAAE,QAAP;AAAiBC,MAAAA,KAAK,EAAEJ;AAAxB,KAAD,CAAP;AACD;;AACD,SAAO,SAAQ,CACbC,GAAG,CAACI,KAAJ,KAAc,CAAd,GAAkB,IAAlB,GAAyB;AAACF,IAAAA,IAAI,EAAE,QAAP;AAAiBC,IAAAA,KAAK,EAAEJ,QAAQ,CAACM,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,CAGGR,mBAAmB,CAACC,QAAQ,CAACM,KAAT,CAAeL,GAAG,CAACI,KAAJ,GAAYJ,GAAG,CAAC,CAAD,CAAH,CAAOO,MAAlC,CAAD,CAHtB,CAAP;AAID;;AAED,eAAeT,mBAAf","sourcesContent":["import {compact} from 'lodash/fp';\n\nconst reg = /{{(\\w+)}}/;\n\nfunction parseTemplateString(template) {\n if (!template) {\n return [];\n }\n const res = reg.exec(template);\n if (!res) {\n return [{type: 'string', value: template}];\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"}
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"}
@@ -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,3 +1,4 @@
1
+ export const HTML_ANCHOR_TEXT_COLOR = '#002BDB';
1
2
  const defaultTheme = {
2
3
  colors: {
3
4
  border: 'rgba(0, 0, 0, 0.1)',
@@ -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":"AAuDA,MAAMA,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":["type SpaceType = 'micro' | 'tiny' | 'small' | 'base' | 'medium' | 'large' | 'xlarge';\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]: string};\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"}
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"}