@coorpacademy/components 11.9.0 → 11.9.2-alpha.1

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 (74) hide show
  1. package/es/atom/loader/index.native.d.ts.map +1 -1
  2. package/es/atom/loader/index.native.js +11 -9
  3. package/es/atom/loader/index.native.js.map +1 -1
  4. package/es/atom/review-presentation/index.d.ts.map +1 -1
  5. package/es/atom/review-presentation/index.js +12 -62
  6. package/es/atom/review-presentation/index.js.map +1 -1
  7. package/es/atom/review-presentation/index.native.d.ts.map +1 -1
  8. package/es/atom/review-presentation/index.native.js +7 -2
  9. package/es/atom/review-presentation/index.native.js.map +1 -1
  10. package/es/atom/review-presentation/style.css +7 -67
  11. package/es/atom/tooltip/index.d.ts +22 -0
  12. package/es/atom/tooltip/index.d.ts.map +1 -0
  13. package/es/atom/tooltip/index.js +117 -0
  14. package/es/atom/tooltip/index.js.map +1 -0
  15. package/es/atom/tooltip/style.css +96 -0
  16. package/es/template/activity/engine-stars.css +16 -33
  17. package/es/template/activity/engine-stars.d.ts +15 -17
  18. package/es/template/activity/engine-stars.d.ts.map +1 -1
  19. package/es/template/activity/engine-stars.js +128 -115
  20. package/es/template/activity/engine-stars.js.map +1 -1
  21. package/es/template/activity/index.d.ts +1 -0
  22. package/es/template/activity/index.d.ts.map +1 -1
  23. package/es/template/activity/index.js +18 -9
  24. package/es/template/activity/index.js.map +1 -1
  25. package/es/template/activity/progression-item.js +1 -1
  26. package/es/template/activity/progression-item.js.map +1 -1
  27. package/es/template/activity/stars-summary.d.ts +1 -0
  28. package/es/template/activity/stars-summary.d.ts.map +1 -1
  29. package/es/template/activity/stars-summary.js +10 -5
  30. package/es/template/activity/stars-summary.js.map +1 -1
  31. package/es/template/app-review/index.native.d.ts.map +1 -1
  32. package/es/template/app-review/index.native.js +48 -20
  33. package/es/template/app-review/index.native.js.map +1 -1
  34. package/es/template/app-review/skills/index.native.d.ts.map +1 -1
  35. package/es/template/app-review/skills/index.native.js +26 -5
  36. package/es/template/app-review/skills/index.native.js.map +1 -1
  37. package/lib/atom/loader/index.native.d.ts.map +1 -1
  38. package/lib/atom/loader/index.native.js +11 -9
  39. package/lib/atom/loader/index.native.js.map +1 -1
  40. package/lib/atom/review-presentation/index.d.ts.map +1 -1
  41. package/lib/atom/review-presentation/index.js +13 -66
  42. package/lib/atom/review-presentation/index.js.map +1 -1
  43. package/lib/atom/review-presentation/index.native.d.ts.map +1 -1
  44. package/lib/atom/review-presentation/index.native.js +7 -2
  45. package/lib/atom/review-presentation/index.native.js.map +1 -1
  46. package/lib/atom/review-presentation/style.css +7 -67
  47. package/lib/atom/tooltip/index.d.ts +22 -0
  48. package/lib/atom/tooltip/index.d.ts.map +1 -0
  49. package/lib/atom/tooltip/index.js +137 -0
  50. package/lib/atom/tooltip/index.js.map +1 -0
  51. package/lib/atom/tooltip/style.css +96 -0
  52. package/lib/template/activity/engine-stars.css +16 -33
  53. package/lib/template/activity/engine-stars.d.ts +15 -17
  54. package/lib/template/activity/engine-stars.d.ts.map +1 -1
  55. package/lib/template/activity/engine-stars.js +135 -116
  56. package/lib/template/activity/engine-stars.js.map +1 -1
  57. package/lib/template/activity/index.d.ts +1 -0
  58. package/lib/template/activity/index.d.ts.map +1 -1
  59. package/lib/template/activity/index.js +21 -9
  60. package/lib/template/activity/index.js.map +1 -1
  61. package/lib/template/activity/progression-item.js +1 -1
  62. package/lib/template/activity/progression-item.js.map +1 -1
  63. package/lib/template/activity/stars-summary.d.ts +1 -0
  64. package/lib/template/activity/stars-summary.d.ts.map +1 -1
  65. package/lib/template/activity/stars-summary.js +10 -5
  66. package/lib/template/activity/stars-summary.js.map +1 -1
  67. package/lib/template/app-review/index.native.d.ts.map +1 -1
  68. package/lib/template/app-review/index.native.js +49 -19
  69. package/lib/template/app-review/index.native.js.map +1 -1
  70. package/lib/template/app-review/skills/index.native.d.ts.map +1 -1
  71. package/lib/template/app-review/skills/index.native.js +30 -7
  72. package/lib/template/app-review/skills/index.native.js.map +1 -1
  73. package/locales/en/global.json +1 -0
  74. package/package.json +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","get","isEmpty","omit","PropTypes","classnames","Provider","GetSkinFromContext","Button","Select","Loader","ProgressionItem","EngineStars","StarsSummary","style","Progression","props","legacyContext","mainTitle","mainSubtitle","recommendation","progressions","adaptiveAriaLabel","total","engines","themeFilter","loading","skin","onChange","themeFilterOnChange","handleClick","e","stopPropagation","preventDefault","onClick","handleSelectTheme","primary","loader","allProgressions","map","progression","ref","coreProgression","core","themeSelect","options","selectBorder","select","recommendationSection","recommendationWrapper","title","subtitle","course","innerHTML","__html","courseTitle","cta","backgroundColor","default","headerProgression","wrapperCta","wrapperProgression","contextTypes","childContextTypes","propTypes","string","isRequired","shape","label","stars","number","arrayOf","bool","func"],"sources":["../../../src/template/activity/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport get from 'lodash/fp/get';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport omit from 'lodash/fp/omit';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport Button from '../../atom/button';\nimport Select from '../../atom/select';\nimport Loader from '../../atom/loader';\nimport ProgressionItem from './progression-item';\nimport EngineStars from './engine-stars';\nimport StarsSummary from './stars-summary';\nimport style from './style.css';\n\nconst Progression = (props, legacyContext) => {\n const {\n mainTitle,\n mainSubtitle,\n recommendation = {},\n progressions = [],\n adaptiveAriaLabel,\n total,\n engines = [],\n themeFilter = {},\n loading\n } = props;\n const skin = GetSkinFromContext(legacyContext);\n const {onChange: themeFilterOnChange} = themeFilter;\n\n const handleClick = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n const {onClick} = recommendation;\n onClick && onClick(e);\n },\n [recommendation]\n );\n\n const handleSelectTheme = useCallback(\n e => {\n themeFilterOnChange && themeFilterOnChange(e);\n },\n [themeFilterOnChange]\n );\n\n const primary = get('common.primary', skin);\n const loader = loading ? (\n <div className={style.loader}>\n <Loader />\n </div>\n ) : null;\n const allProgressions = progressions.map(progression => (\n <ProgressionItem\n {...omit(['ref'], progression)}\n key={progression.ref}\n adaptiveAriaLabel={adaptiveAriaLabel}\n />\n ));\n\n const coreProgression = (\n <div data-name=\"activityCore\" className={style.core}>\n {allProgressions}\n </div>\n );\n const themeSelect = !isEmpty(themeFilter.options) ? (\n <Select\n borderClassName={style.selectBorder}\n className={style.select}\n theme=\"thematiques\"\n options={themeFilter.options}\n onChange={handleSelectTheme}\n />\n ) : null;\n const recommendationSection = !isEmpty(recommendation) ? (\n <div className={style.recommendationWrapper}>\n <p className={style.recommendationSection}>{recommendation.title} </p>\n <p className={style.recommendationSection}>\n <span>{recommendation.subtitle} </span>\n <span\n className={classnames(style.course, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: recommendation.courseTitle}}\n />\n </p>\n <Button\n type=\"link\"\n onClick={handleClick}\n submitValue={recommendation.cta}\n style={{\n backgroundColor: primary\n }}\n className={style.cta}\n />\n </div>\n ) : null;\n\n return (\n <div className={style.default}>\n <div data-name=\"activity-header\">\n <div className={style.mainTitle}>\n <span>{mainTitle}</span> {mainSubtitle}\n </div>\n <div className={style.headerProgression}>\n <div className={style.wrapperCta}>\n {themeSelect}\n {recommendationSection}\n </div>\n <StarsSummary engines={engines} total={total} />\n </div>\n </div>\n <div className={style.wrapperProgression} data-name=\"activityList\">\n {coreProgression}\n {loader}\n </div>\n </div>\n );\n};\n\nProgression.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nProgression.propTypes = {\n mainTitle: PropTypes.string.isRequired,\n mainSubtitle: PropTypes.string.isRequired,\n adaptiveAriaLabel: PropTypes.string,\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n loading: PropTypes.bool.isRequired,\n progressions: PropTypes.arrayOf(\n PropTypes.shape({...ProgressionItem.propTypes, ref: PropTypes.string.isRequired})\n ),\n themeFilter: PropTypes.shape({\n options: Select.propTypes.options.isRequired,\n onChange: Select.propTypes.onChange\n }),\n recommendation: PropTypes.shape({\n cta: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n subtitle: PropTypes.string.isRequired,\n courseTitle: PropTypes.string.isRequired,\n onClick: PropTypes.func\n })\n};\n\nexport default Progression;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","get","isEmpty","map","noop","omit","PropTypes","classnames","Provider","GetSkinFromContext","Button","Select","Loader","ProgressionItem","EngineStars","StarsSummary","style","mapWithIndex","convert","cap","Progression","props","legacyContext","mainTitle","mainSubtitle","recommendation","progressions","adaptiveAriaLabel","total","engines","themeFilter","loading","skin","onChange","themeFilterOnChange","handleClick","e","stopPropagation","preventDefault","onClick","handleSelectTheme","primary","loader","allProgressions","progression","index","ref","coreProgression","core","themeSelect","options","selectBorder","select","recommendationSection","recommendationWrapper","title","subtitle","course","innerHTML","__html","courseTitle","cta","backgroundColor","default","headerProgression","wrapperCta","wrapperProgression","contextTypes","childContextTypes","propTypes","string","isRequired","shape","label","stars","number","arrayOf","bool","func"],"sources":["../../../src/template/activity/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport get from 'lodash/fp/get';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport map from 'lodash/fp/map';\nimport noop from 'lodash/fp/noop';\nimport omit from 'lodash/fp/omit';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport Button from '../../atom/button';\nimport Select from '../../atom/select';\nimport Loader from '../../atom/loader';\nimport ProgressionItem from './progression-item';\nimport EngineStars from './engine-stars';\nimport StarsSummary from './stars-summary';\nimport style from './style.css';\n\nconst mapWithIndex = map.convert({cap: false});\n\nconst Progression = (props, legacyContext) => {\n const {\n mainTitle,\n mainSubtitle,\n recommendation = {},\n progressions = [],\n adaptiveAriaLabel,\n total,\n engines = [],\n themeFilter = {},\n loading\n } = props;\n const skin = GetSkinFromContext(legacyContext);\n const {onChange: themeFilterOnChange} = themeFilter;\n\n const handleClick = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n const {onClick = noop} = recommendation;\n onClick(e);\n },\n [recommendation]\n );\n\n const handleSelectTheme = useCallback(\n e => {\n themeFilterOnChange && themeFilterOnChange(e);\n },\n [themeFilterOnChange]\n );\n\n const primary = get('common.primary', skin);\n const loader = loading ? (\n <div className={style.loader}>\n <Loader />\n </div>\n ) : null;\n const allProgressions = mapWithIndex(\n (progression, index) => (\n <ProgressionItem\n {...omit(['ref'], progression)}\n key={`${index}-${progression.ref}`}\n adaptiveAriaLabel={adaptiveAriaLabel}\n />\n ),\n progressions\n );\n\n const coreProgression = (\n <div data-name=\"activityCore\" className={style.core}>\n {allProgressions}\n </div>\n );\n const themeSelect = !isEmpty(themeFilter.options) ? (\n <Select\n borderClassName={style.selectBorder}\n className={style.select}\n theme=\"thematiques\"\n options={themeFilter.options}\n onChange={handleSelectTheme}\n />\n ) : null;\n const recommendationSection = !isEmpty(recommendation) ? (\n <div className={style.recommendationWrapper}>\n <p className={style.recommendationSection}>{recommendation.title} </p>\n <p className={style.recommendationSection}>\n <span>{recommendation.subtitle} </span>\n <span\n className={classnames(style.course, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: recommendation.courseTitle}}\n />\n </p>\n <Button\n type=\"link\"\n onClick={handleClick}\n submitValue={recommendation.cta}\n style={{\n backgroundColor: primary\n }}\n className={style.cta}\n />\n </div>\n ) : null;\n\n return (\n <div className={style.default}>\n <div data-name=\"activity-header\" tabIndex={0}>\n <div className={style.mainTitle} tabIndex={0}>\n <span>{mainTitle}</span> {mainSubtitle}\n </div>\n <div className={style.headerProgression} tabIndex={0}>\n <div className={style.wrapperCta} tabIndex={0}>\n {themeSelect}\n {recommendationSection}\n </div>\n <StarsSummary engines={engines} total={total} />\n </div>\n </div>\n <div className={style.wrapperProgression} data-name=\"activityList\">\n {coreProgression}\n {loader}\n </div>\n </div>\n );\n};\n\nProgression.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nProgression.propTypes = {\n mainTitle: PropTypes.string.isRequired,\n mainSubtitle: PropTypes.string.isRequired,\n adaptiveAriaLabel: PropTypes.string,\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n loading: PropTypes.bool.isRequired,\n progressions: PropTypes.arrayOf(\n PropTypes.shape({...ProgressionItem.propTypes, ref: PropTypes.string.isRequired})\n ),\n themeFilter: PropTypes.shape({\n options: Select.propTypes.options.isRequired,\n onChange: Select.propTypes.onChange\n }),\n recommendation: PropTypes.shape({\n cta: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n subtitle: PropTypes.string.isRequired,\n courseTitle: PropTypes.string.isRequired,\n onClick: PropTypes.func\n })\n};\n\nexport default Progression;\n"],"mappings":"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"}
@@ -59,7 +59,7 @@ const ProgressionItem = (props, context) => {
59
59
  const handleCTAClick = useMemo(() => e => {
60
60
  e.stopPropagation();
61
61
  e.preventDefault();
62
- onClick && onClick(e);
62
+ onClick(e);
63
63
  }, [onClick]);
64
64
  const link = disabled ? null : /*#__PURE__*/React.createElement(Link, {
65
65
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"progression-item.js","names":["React","useMemo","PropTypes","classnames","NovaCompositionNavigationArrowRight","ArrowRightIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyTimer","TimerIcon","NovaCompositionCoorpacademyBolt","BoltIcon","NovaSolidSchoolScienceGraduationHat","CertificationIcon","NovaCompositionCoorpacademyAdaptive","AdaptiveIcon","NovaSolidContentContentBook1","LearnerIcon","NovaCompositionCoorpacademyScorm","ScormIcon","NovaCompositionCoorpacademyArticle","ArticleIcon","NovaCompositionCoorpacademyVideo","VideoIcon","NovaCompositionCoorpacademyMicrophone","PodcastIcon","NovaCompositionCoorpacademyRevision","RevisionIcon","Provider","ProgressBar","Link","style","ICONS","chapter","course","battle","certification","article","scorm","video","podcast","review","ProgressionItem","props","context","skin","disabled","adaptive","completion","label","level","onClick","stars","maxStars","state","type","steps","adaptiveAriaLabel","dark","primary","white","IconType","adaptiveIcon","backgroundColor","handleCTAClick","e","stopPropagation","preventDefault","link","color","cta","progressionItem","wrapperTitle","iconType","innerHTML","__html","smallStars","iconStar","borderRadius","propTypes","number","isRequired","bool","string","func","contextTypes","childContextTypes"],"sources":["../../../src/template/activity/progression-item.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRightIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon,\n NovaCompositionCoorpacademyBolt as BoltIcon,\n NovaSolidSchoolScienceGraduationHat as CertificationIcon,\n NovaCompositionCoorpacademyAdaptive as AdaptiveIcon,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyScorm as ScormIcon,\n NovaCompositionCoorpacademyArticle as ArticleIcon,\n NovaCompositionCoorpacademyVideo as VideoIcon,\n NovaCompositionCoorpacademyMicrophone as PodcastIcon,\n NovaCompositionCoorpacademyRevision as RevisionIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport ProgressBar from '../../molecule/progress-bar';\nimport Link from '../../atom/link';\nimport style from './progression-item.css';\n\nconst ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon,\n battle: BoltIcon,\n certification: CertificationIcon,\n article: ArticleIcon,\n scorm: ScormIcon,\n video: VideoIcon,\n podcast: PodcastIcon,\n review: RevisionIcon\n};\n\nconst ProgressionItem = (props, context) => {\n const {skin} = context;\n const {\n disabled = false,\n adaptive,\n completion,\n label,\n level,\n onClick = noop,\n stars,\n maxStars,\n state,\n type,\n steps = 0,\n adaptiveAriaLabel\n } = props;\n\n const dark = get('common.dark', skin);\n const primary = get('common.primary', skin);\n const white = get('common.white', skin);\n const IconType = ICONS[type];\n\n const adaptiveIcon = adaptive ? (\n <div\n className={style.adaptiveIcon}\n style={{\n backgroundColor: primary\n }}\n >\n <AdaptiveIcon color={white} height={14} aria-label={adaptiveAriaLabel} />\n </div>\n ) : null;\n\n const handleCTAClick = useMemo(\n () => e => {\n e.stopPropagation();\n e.preventDefault();\n onClick && onClick(e);\n },\n [onClick]\n );\n\n const link = disabled ? null : (\n <Link style={{color: primary}} onClick={handleCTAClick} data-progression-state={state}>\n <span className={style.cta}>\n {state} <ArrowRightIcon color={primary} height={12} width={20} />\n </span>\n </Link>\n );\n\n return (\n <div className={classnames(style.progressionItem, disabled ? style.disabled : '')}>\n <div className={style.wrapperTitle}>\n <IconType className={style.iconType} color={dark} />\n <div data-name=\"activityLabel\" className={style.label} title={label}>\n <div\n className={style.innerHTML}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: label}}\n />\n {adaptiveIcon}\n </div>\n\n <div\n data-name=\"activityStars\"\n className={style.stars}\n style={{\n color: primary\n }}\n >\n {stars}\n {maxStars ? ' /' : null}\n {maxStars ? <span className={style.smallStars}>{maxStars}</span> : null}{' '}\n <StarIcon className={style.iconStar} color={primary} />\n </div>\n </div>\n <ProgressBar\n className={style.completion}\n value={completion * 100}\n max={100}\n steps={steps}\n style={{backgroundColor: primary, borderRadius: 0}}\n />\n <div className={style.state}>\n {link}\n <span className={style.level}>{level}</span>\n </div>\n </div>\n );\n};\n\nProgressionItem.propTypes = {\n completion: PropTypes.number.isRequired,\n stars: PropTypes.number.isRequired,\n maxStars: PropTypes.number,\n steps: PropTypes.number,\n disabled: PropTypes.bool,\n label: PropTypes.string.isRequired,\n level: PropTypes.string.isRequired,\n state: PropTypes.string.isRequired,\n adaptiveAriaLabel: PropTypes.string,\n type: PropTypes.string.isRequired,\n adaptive: PropTypes.bool.isRequired,\n onClick: PropTypes.func\n};\n\nProgressionItem.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default ProgressionItem;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,mCAAmC,IAAIC,cADzC,EAEEC,+BAA+B,IAAIC,QAFrC,EAGEC,gCAAgC,IAAIC,SAHtC,EAIEC,+BAA+B,IAAIC,QAJrC,EAKEC,mCAAmC,IAAIC,iBALzC,EAMEC,mCAAmC,IAAIC,YANzC,EAOEC,4BAA4B,IAAIC,WAPlC,EAQEC,gCAAgC,IAAIC,SARtC,EASEC,kCAAkC,IAAIC,WATxC,EAUEC,gCAAgC,IAAIC,SAVtC,EAWEC,qCAAqC,IAAIC,WAX3C,EAYEC,mCAAmC,IAAIC,YAZzC,QAaO,0BAbP;AAcA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,WAAP,MAAwB,6BAAxB;AACA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,KAAP,MAAkB,wBAAlB;AAEA,MAAMC,KAAK,GAAG;EACZC,OAAO,EAAExB,SADG;EAEZyB,MAAM,EAAEjB,WAFI;EAGZkB,MAAM,EAAExB,QAHI;EAIZyB,aAAa,EAAEvB,iBAJH;EAKZwB,OAAO,EAAEhB,WALG;EAMZiB,KAAK,EAAEnB,SANK;EAOZoB,KAAK,EAAEhB,SAPK;EAQZiB,OAAO,EAAEf,WARG;EASZgB,MAAM,EAAEd;AATI,CAAd;;AAYA,MAAMe,eAAe,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EAC1C,MAAM;IAACC;EAAD,IAASD,OAAf;EACA,MAAM;IACJE,QAAQ,GAAG,KADP;IAEJC,QAFI;IAGJC,UAHI;IAIJC,KAJI;IAKJC,KALI;IAMJC,OAAO,QANH;IAOJC,KAPI;IAQJC,QARI;IASJC,KATI;IAUJC,IAVI;IAWJC,KAAK,GAAG,CAXJ;IAYJC;EAZI,IAaFd,KAbJ;;EAeA,MAAMe,IAAI,GAAG,KAAI,aAAJ,EAAmBb,IAAnB,CAAb;;EACA,MAAMc,OAAO,GAAG,KAAI,gBAAJ,EAAsBd,IAAtB,CAAhB;;EACA,MAAMe,KAAK,GAAG,KAAI,cAAJ,EAAoBf,IAApB,CAAd;;EACA,MAAMgB,QAAQ,GAAG7B,KAAK,CAACuB,IAAD,CAAtB;EAEA,MAAMO,YAAY,GAAGf,QAAQ,gBAC3B;IACE,SAAS,EAAEhB,KAAK,CAAC+B,YADnB;IAEE,KAAK,EAAE;MACLC,eAAe,EAAEJ;IADZ;EAFT,gBAME,oBAAC,YAAD;IAAc,KAAK,EAAEC,KAArB;IAA4B,MAAM,EAAE,EAApC;IAAwC,cAAYH;EAApD,EANF,CAD2B,GASzB,IATJ;EAWA,MAAMO,cAAc,GAAG/D,OAAO,CAC5B,MAAMgE,CAAC,IAAI;IACTA,CAAC,CAACC,eAAF;IACAD,CAAC,CAACE,cAAF;IACAhB,OAAO,IAAIA,OAAO,CAACc,CAAD,CAAlB;EACD,CAL2B,EAM5B,CAACd,OAAD,CAN4B,CAA9B;EASA,MAAMiB,IAAI,GAAGtB,QAAQ,GAAG,IAAH,gBACnB,oBAAC,IAAD;IAAM,KAAK,EAAE;MAACuB,KAAK,EAAEV;IAAR,CAAb;IAA+B,OAAO,EAAEK,cAAxC;IAAwD,0BAAwBV;EAAhF,gBACE;IAAM,SAAS,EAAEvB,KAAK,CAACuC;EAAvB,GACGhB,KADH,oBACU,oBAAC,cAAD;IAAgB,KAAK,EAAEK,OAAvB;IAAgC,MAAM,EAAE,EAAxC;IAA4C,KAAK,EAAE;EAAnD,EADV,CADF,CADF;EAQA,oBACE;IAAK,SAAS,EAAExD,UAAU,CAAC4B,KAAK,CAACwC,eAAP,EAAwBzB,QAAQ,GAAGf,KAAK,CAACe,QAAT,GAAoB,EAApD;EAA1B,gBACE;IAAK,SAAS,EAAEf,KAAK,CAACyC;EAAtB,gBACE,oBAAC,QAAD;IAAU,SAAS,EAAEzC,KAAK,CAAC0C,QAA3B;IAAqC,KAAK,EAAEf;EAA5C,EADF,eAEE;IAAK,aAAU,eAAf;IAA+B,SAAS,EAAE3B,KAAK,CAACkB,KAAhD;IAAuD,KAAK,EAAEA;EAA9D,gBACE;IACE,SAAS,EAAElB,KAAK,CAAC2C,SADnB,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAE1B;IAAT;EAH3B,EADF,EAMGa,YANH,CAFF,eAWE;IACE,aAAU,eADZ;IAEE,SAAS,EAAE/B,KAAK,CAACqB,KAFnB;IAGE,KAAK,EAAE;MACLiB,KAAK,EAAEV;IADF;EAHT,GAOGP,KAPH,EAQGC,QAAQ,GAAG,IAAH,GAAU,IARrB,EASGA,QAAQ,gBAAG;IAAM,SAAS,EAAEtB,KAAK,CAAC6C;EAAvB,GAAoCvB,QAApC,CAAH,GAA0D,IATrE,EAS2E,GAT3E,eAUE,oBAAC,QAAD;IAAU,SAAS,EAAEtB,KAAK,CAAC8C,QAA3B;IAAqC,KAAK,EAAElB;EAA5C,EAVF,CAXF,CADF,eAyBE,oBAAC,WAAD;IACE,SAAS,EAAE5B,KAAK,CAACiB,UADnB;IAEE,KAAK,EAAEA,UAAU,GAAG,GAFtB;IAGE,GAAG,EAAE,GAHP;IAIE,KAAK,EAAEQ,KAJT;IAKE,KAAK,EAAE;MAACO,eAAe,EAAEJ,OAAlB;MAA2BmB,YAAY,EAAE;IAAzC;EALT,EAzBF,eAgCE;IAAK,SAAS,EAAE/C,KAAK,CAACuB;EAAtB,GACGc,IADH,eAEE;IAAM,SAAS,EAAErC,KAAK,CAACmB;EAAvB,GAA+BA,KAA/B,CAFF,CAhCF,CADF;AAuCD,CAzFD;;AA2FAR,eAAe,CAACqC,SAAhB,2CAA4B;EAC1B/B,UAAU,EAAE9C,SAAS,CAAC8E,MAAV,CAAiBC,UADH;EAE1B7B,KAAK,EAAElD,SAAS,CAAC8E,MAAV,CAAiBC,UAFE;EAG1B5B,QAAQ,EAAEnD,SAAS,CAAC8E,MAHM;EAI1BxB,KAAK,EAAEtD,SAAS,CAAC8E,MAJS;EAK1BlC,QAAQ,EAAE5C,SAAS,CAACgF,IALM;EAM1BjC,KAAK,EAAE/C,SAAS,CAACiF,MAAV,CAAiBF,UANE;EAO1B/B,KAAK,EAAEhD,SAAS,CAACiF,MAAV,CAAiBF,UAPE;EAQ1B3B,KAAK,EAAEpD,SAAS,CAACiF,MAAV,CAAiBF,UARE;EAS1BxB,iBAAiB,EAAEvD,SAAS,CAACiF,MATH;EAU1B5B,IAAI,EAAErD,SAAS,CAACiF,MAAV,CAAiBF,UAVG;EAW1BlC,QAAQ,EAAE7C,SAAS,CAACgF,IAAV,CAAeD,UAXC;EAY1B9B,OAAO,EAAEjD,SAAS,CAACkF;AAZO,CAA5B;AAeA1C,eAAe,CAAC2C,YAAhB,GAA+B;EAC7BxC,IAAI,EAAEjB,QAAQ,CAAC0D,iBAAT,CAA2BzC;AADJ,CAA/B;AAIA,eAAeH,eAAf"}
1
+ {"version":3,"file":"progression-item.js","names":["React","useMemo","PropTypes","classnames","NovaCompositionNavigationArrowRight","ArrowRightIcon","NovaCompositionCoorpacademyStar","StarIcon","NovaCompositionCoorpacademyTimer","TimerIcon","NovaCompositionCoorpacademyBolt","BoltIcon","NovaSolidSchoolScienceGraduationHat","CertificationIcon","NovaCompositionCoorpacademyAdaptive","AdaptiveIcon","NovaSolidContentContentBook1","LearnerIcon","NovaCompositionCoorpacademyScorm","ScormIcon","NovaCompositionCoorpacademyArticle","ArticleIcon","NovaCompositionCoorpacademyVideo","VideoIcon","NovaCompositionCoorpacademyMicrophone","PodcastIcon","NovaCompositionCoorpacademyRevision","RevisionIcon","Provider","ProgressBar","Link","style","ICONS","chapter","course","battle","certification","article","scorm","video","podcast","review","ProgressionItem","props","context","skin","disabled","adaptive","completion","label","level","onClick","stars","maxStars","state","type","steps","adaptiveAriaLabel","dark","primary","white","IconType","adaptiveIcon","backgroundColor","handleCTAClick","e","stopPropagation","preventDefault","link","color","cta","progressionItem","wrapperTitle","iconType","innerHTML","__html","smallStars","iconStar","borderRadius","propTypes","number","isRequired","bool","string","func","contextTypes","childContextTypes"],"sources":["../../../src/template/activity/progression-item.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRightIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon,\n NovaCompositionCoorpacademyBolt as BoltIcon,\n NovaSolidSchoolScienceGraduationHat as CertificationIcon,\n NovaCompositionCoorpacademyAdaptive as AdaptiveIcon,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyScorm as ScormIcon,\n NovaCompositionCoorpacademyArticle as ArticleIcon,\n NovaCompositionCoorpacademyVideo as VideoIcon,\n NovaCompositionCoorpacademyMicrophone as PodcastIcon,\n NovaCompositionCoorpacademyRevision as RevisionIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport ProgressBar from '../../molecule/progress-bar';\nimport Link from '../../atom/link';\nimport style from './progression-item.css';\n\nconst ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon,\n battle: BoltIcon,\n certification: CertificationIcon,\n article: ArticleIcon,\n scorm: ScormIcon,\n video: VideoIcon,\n podcast: PodcastIcon,\n review: RevisionIcon\n};\n\nconst ProgressionItem = (props, context) => {\n const {skin} = context;\n const {\n disabled = false,\n adaptive,\n completion,\n label,\n level,\n onClick = noop,\n stars,\n maxStars,\n state,\n type,\n steps = 0,\n adaptiveAriaLabel\n } = props;\n\n const dark = get('common.dark', skin);\n const primary = get('common.primary', skin);\n const white = get('common.white', skin);\n const IconType = ICONS[type];\n\n const adaptiveIcon = adaptive ? (\n <div\n className={style.adaptiveIcon}\n style={{\n backgroundColor: primary\n }}\n >\n <AdaptiveIcon color={white} height={14} aria-label={adaptiveAriaLabel} />\n </div>\n ) : null;\n\n const handleCTAClick = useMemo(\n () => e => {\n e.stopPropagation();\n e.preventDefault();\n onClick(e);\n },\n [onClick]\n );\n\n const link = disabled ? null : (\n <Link style={{color: primary}} onClick={handleCTAClick} data-progression-state={state}>\n <span className={style.cta}>\n {state} <ArrowRightIcon color={primary} height={12} width={20} />\n </span>\n </Link>\n );\n\n return (\n <div className={classnames(style.progressionItem, disabled ? style.disabled : '')}>\n <div className={style.wrapperTitle}>\n <IconType className={style.iconType} color={dark} />\n <div data-name=\"activityLabel\" className={style.label} title={label}>\n <div\n className={style.innerHTML}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: label}}\n />\n {adaptiveIcon}\n </div>\n\n <div\n data-name=\"activityStars\"\n className={style.stars}\n style={{\n color: primary\n }}\n >\n {stars}\n {maxStars ? ' /' : null}\n {maxStars ? <span className={style.smallStars}>{maxStars}</span> : null}{' '}\n <StarIcon className={style.iconStar} color={primary} />\n </div>\n </div>\n <ProgressBar\n className={style.completion}\n value={completion * 100}\n max={100}\n steps={steps}\n style={{backgroundColor: primary, borderRadius: 0}}\n />\n <div className={style.state}>\n {link}\n <span className={style.level}>{level}</span>\n </div>\n </div>\n );\n};\n\nProgressionItem.propTypes = {\n completion: PropTypes.number.isRequired,\n stars: PropTypes.number.isRequired,\n maxStars: PropTypes.number,\n steps: PropTypes.number,\n disabled: PropTypes.bool,\n label: PropTypes.string.isRequired,\n level: PropTypes.string.isRequired,\n state: PropTypes.string.isRequired,\n adaptiveAriaLabel: PropTypes.string,\n type: PropTypes.string.isRequired,\n adaptive: PropTypes.bool.isRequired,\n onClick: PropTypes.func\n};\n\nProgressionItem.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default ProgressionItem;\n"],"mappings":"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"}
@@ -13,6 +13,7 @@ declare namespace StarsSummary {
13
13
  active: PropTypes.Requireable<boolean>;
14
14
  disabled: PropTypes.Requireable<boolean>;
15
15
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
16
+ className: PropTypes.Requireable<string>;
16
17
  toolTip: PropTypes.Requireable<PropTypes.InferProps<{
17
18
  preMessage: PropTypes.Requireable<string>;
18
19
  linkMessage: PropTypes.Requireable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"stars-summary.d.ts","sourceRoot":"","sources":["../../../src/template/activity/stars-summary.js"],"names":[],"mappings":";AA0DA,kFAiFC"}
1
+ {"version":3,"file":"stars-summary.d.ts","sourceRoot":"","sources":["../../../src/template/activity/stars-summary.js"],"names":[],"mappings":";AA2DA,kFAoFC"}
@@ -27,6 +27,7 @@ const EngineTab = ({
27
27
  key: type,
28
28
  "data-name": dataName
29
29
  }, /*#__PURE__*/React.createElement(EngineStars, _extends({}, engine, {
30
+ key: type,
30
31
  className: engineIndex < firstItemIndex ? style.hidden : style.active
31
32
  })));
32
33
  };
@@ -81,11 +82,12 @@ const StarsSummary = (props, legacyContext) => {
81
82
  return null;
82
83
  }
83
84
 
84
- const leftArrowView = totalItems > 6 && firstItemIndex > 0 ? /*#__PURE__*/React.createElement("div", {
85
+ const leftArrowView = totalItems > 6 && firstItemIndex > 0 ? /*#__PURE__*/React.createElement("button", {
85
86
  className: style.circle,
86
87
  onClick: handleOnLeft,
87
88
  "data-name": "left-arrow",
88
- "data-testid": "stars-summary-left-arrow"
89
+ "data-testid": "stars-summary-left-arrow",
90
+ type: "button"
89
91
  }, /*#__PURE__*/React.createElement(ArrowLeft, {
90
92
  color: dark,
91
93
  className: style.left,
@@ -105,15 +107,18 @@ const StarsSummary = (props, legacyContext) => {
105
107
  })) : null;
106
108
  return /*#__PURE__*/React.createElement("div", {
107
109
  "data-name": "myStars",
108
- className: style.myStars
110
+ className: style.myStars,
111
+ tabIndex: 0
109
112
  }, /*#__PURE__*/React.createElement("div", {
110
113
  "data-name": "myStars-wrapper",
111
114
  className: style.myStarsWrapper,
112
- "data-testid": `stars-summary-engine-index-${firstItemIndex}`
115
+ "data-testid": `stars-summary-engine-index-${firstItemIndex}`,
116
+ tabIndex: 0
113
117
  }, /*#__PURE__*/React.createElement("ul", {
114
118
  className: style.allStars,
115
119
  "data-name": "engineList",
116
- "data-testid": "stars-summary-engine-tabs"
120
+ "data-testid": "stars-summary-engine-tabs",
121
+ tabIndex: 0
117
122
  }, /*#__PURE__*/React.createElement(EngineTabs, {
118
123
  engines: engines,
119
124
  firstItemIndex: firstItemIndex
@@ -1 +1 @@
1
- {"version":3,"file":"stars-summary.js","names":["React","useCallback","useMemo","useState","PropTypes","NovaCompositionNavigationArrowLeft","ArrowLeft","NovaCompositionNavigationArrowRight","ArrowRight","NovaCompositionCoorpacademyStar","StarIcon","Provider","GetSkinFromContext","EngineStars","style","EngineTab","engine","engineIndex","firstItemIndex","type","state","dataName","hidden","active","propTypes","shape","number","EngineTabs","engines","convert","cap","index","arrayOf","StarsSummary","props","legacyContext","total","skin","setFirstItemIndex","totalItems","length","dark","primary","scrollTo","page","handleOnLeft","handleOnRight","leftArrowView","circle","left","rightArrowView","right","myStars","myStarsWrapper","allStars","footerSummaryStars","backgroundColor","totalStars","label","stars","iconBubble","iconHeader","navigationLeft","navigationRight","string","isRequired","contextTypes","childContextTypes"],"sources":["../../../src/template/activity/stars-summary.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyStar as StarIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport EngineStars from './engine-stars';\nimport style from './stars-summary.css';\n\nconst EngineTab = ({engine, engineIndex, firstItemIndex}) => {\n const {type} = engine;\n const state = useMemo(\n () => (engineIndex < firstItemIndex ? 'hidden' : 'active'),\n [engineIndex, firstItemIndex]\n );\n const dataName = useMemo(() => `${type}_total_${state}`, [state, type]);\n\n return (\n <li className={style[state]} key={type} data-name={dataName}>\n <EngineStars\n {...engine}\n className={engineIndex < firstItemIndex ? style.hidden : style.active}\n />\n </li>\n );\n};\nEngineTab.propTypes = {\n engine: PropTypes.shape(EngineStars.propTypes),\n engineIndex: PropTypes.number,\n firstItemIndex: PropTypes.number\n};\n\nconst EngineTabs = ({engines, firstItemIndex}) => {\n return useMemo(\n () =>\n map.convert({cap: false})(\n (engine, index) => (\n <EngineTab\n engine={engine}\n key={`engineTab_${index}`}\n firstItemIndex={firstItemIndex}\n engineIndex={index}\n />\n ),\n engines\n ),\n [engines, firstItemIndex]\n );\n};\n\nEngineTabs.propTypes = {\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n firstItemIndex: PropTypes.number\n};\n\nconst StarsSummary = (props, legacyContext) => {\n const {total, engines} = props;\n const skin = GetSkinFromContext(legacyContext);\n\n const [firstItemIndex, setFirstItemIndex] = useState(0);\n const [totalItems] = useState(engines.length);\n\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const primary = get('common.primary', skin);\n\n const scrollTo = useCallback(page => setFirstItemIndex(page), []);\n\n const handleOnLeft = useCallback(() => {\n scrollTo(firstItemIndex - 1);\n }, [firstItemIndex, scrollTo]);\n\n const handleOnRight = useCallback(() => {\n scrollTo(firstItemIndex + 1);\n }, [firstItemIndex, scrollTo]);\n\n if (isEmpty(engines)) {\n return null;\n }\n\n const leftArrowView =\n totalItems > 6 && firstItemIndex > 0 ? (\n <div\n className={style.circle}\n onClick={handleOnLeft}\n data-name=\"left-arrow\"\n data-testid=\"stars-summary-left-arrow\"\n >\n <ArrowLeft color={dark} className={style.left} width={10} height={10} />\n </div>\n ) : null;\n\n const rightArrowView =\n totalItems > 6 && firstItemIndex < totalItems - 6 ? (\n <div\n className={style.circle}\n onClick={handleOnRight}\n data-name=\"right-arrow\"\n data-testid=\"stars-summary-right-arrow\"\n >\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"myStars\" className={style.myStars}>\n <div\n data-name=\"myStars-wrapper\"\n className={style.myStarsWrapper}\n data-testid={`stars-summary-engine-index-${firstItemIndex}`}\n >\n <ul\n className={style.allStars}\n data-name=\"engineList\"\n data-testid=\"stars-summary-engine-tabs\"\n >\n <EngineTabs engines={engines} firstItemIndex={firstItemIndex} />\n </ul>\n <div\n className={style.footerSummaryStars}\n style={{\n backgroundColor: primary\n }}\n >\n <div className={style.totalStars}>\n <span>{total.label}</span>\n <p data-name=\"star-counter\">{total.stars}</p>\n <div className={style.iconBubble}>\n <StarIcon className={style.iconHeader} color={primary} />\n </div>\n </div>\n <div className={style.navigationLeft}>{leftArrowView}</div>\n <div className={style.navigationRight}>{rightArrowView}</div>\n </div>\n </div>\n </div>\n );\n};\n\nStarsSummary.propTypes = {\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)).isRequired\n};\n\nStarsSummary.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default StarsSummary;\n"],"mappings":"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"}
1
+ {"version":3,"file":"stars-summary.js","names":["React","useCallback","useMemo","useState","PropTypes","NovaCompositionNavigationArrowLeft","ArrowLeft","NovaCompositionNavigationArrowRight","ArrowRight","NovaCompositionCoorpacademyStar","StarIcon","Provider","GetSkinFromContext","EngineStars","style","EngineTab","engine","engineIndex","firstItemIndex","type","state","dataName","hidden","active","propTypes","shape","number","EngineTabs","engines","convert","cap","index","arrayOf","StarsSummary","props","legacyContext","total","skin","setFirstItemIndex","totalItems","length","dark","primary","scrollTo","page","handleOnLeft","handleOnRight","leftArrowView","circle","left","rightArrowView","right","myStars","myStarsWrapper","allStars","footerSummaryStars","backgroundColor","totalStars","label","stars","iconBubble","iconHeader","navigationLeft","navigationRight","string","isRequired","contextTypes","childContextTypes"],"sources":["../../../src/template/activity/stars-summary.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyStar as StarIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport EngineStars from './engine-stars';\nimport style from './stars-summary.css';\n\nconst EngineTab = ({engine, engineIndex, firstItemIndex}) => {\n const {type} = engine;\n const state = useMemo(\n () => (engineIndex < firstItemIndex ? 'hidden' : 'active'),\n [engineIndex, firstItemIndex]\n );\n const dataName = useMemo(() => `${type}_total_${state}`, [state, type]);\n\n return (\n <li className={style[state]} key={type} data-name={dataName}>\n <EngineStars\n {...engine}\n key={type}\n className={engineIndex < firstItemIndex ? style.hidden : style.active}\n />\n </li>\n );\n};\nEngineTab.propTypes = {\n engine: PropTypes.shape(EngineStars.propTypes),\n engineIndex: PropTypes.number,\n firstItemIndex: PropTypes.number\n};\n\nconst EngineTabs = ({engines, firstItemIndex}) => {\n return useMemo(\n () =>\n map.convert({cap: false})(\n (engine, index) => (\n <EngineTab\n engine={engine}\n key={`engineTab_${index}`}\n firstItemIndex={firstItemIndex}\n engineIndex={index}\n />\n ),\n engines\n ),\n [engines, firstItemIndex]\n );\n};\n\nEngineTabs.propTypes = {\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n firstItemIndex: PropTypes.number\n};\n\nconst StarsSummary = (props, legacyContext) => {\n const {total, engines} = props;\n const skin = GetSkinFromContext(legacyContext);\n\n const [firstItemIndex, setFirstItemIndex] = useState(0);\n const [totalItems] = useState(engines.length);\n\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const primary = get('common.primary', skin);\n\n const scrollTo = useCallback(page => setFirstItemIndex(page), []);\n\n const handleOnLeft = useCallback(() => {\n scrollTo(firstItemIndex - 1);\n }, [firstItemIndex, scrollTo]);\n\n const handleOnRight = useCallback(() => {\n scrollTo(firstItemIndex + 1);\n }, [firstItemIndex, scrollTo]);\n\n if (isEmpty(engines)) {\n return null;\n }\n\n const leftArrowView =\n totalItems > 6 && firstItemIndex > 0 ? (\n <button\n className={style.circle}\n onClick={handleOnLeft}\n data-name=\"left-arrow\"\n data-testid=\"stars-summary-left-arrow\"\n type=\"button\"\n >\n <ArrowLeft color={dark} className={style.left} width={10} height={10} />\n </button>\n ) : null;\n\n const rightArrowView =\n totalItems > 6 && firstItemIndex < totalItems - 6 ? (\n <div\n className={style.circle}\n onClick={handleOnRight}\n data-name=\"right-arrow\"\n data-testid=\"stars-summary-right-arrow\"\n >\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"myStars\" className={style.myStars} tabIndex={0}>\n <div\n data-name=\"myStars-wrapper\"\n className={style.myStarsWrapper}\n data-testid={`stars-summary-engine-index-${firstItemIndex}`}\n tabIndex={0}\n >\n <ul\n className={style.allStars}\n data-name=\"engineList\"\n data-testid=\"stars-summary-engine-tabs\"\n tabIndex={0}\n >\n <EngineTabs engines={engines} firstItemIndex={firstItemIndex} />\n </ul>\n <div\n className={style.footerSummaryStars}\n style={{\n backgroundColor: primary\n }}\n >\n <div className={style.totalStars}>\n <span>{total.label}</span>\n <p data-name=\"star-counter\">{total.stars}</p>\n <div className={style.iconBubble}>\n <StarIcon className={style.iconHeader} color={primary} />\n </div>\n </div>\n <div className={style.navigationLeft}>{leftArrowView}</div>\n <div className={style.navigationRight}>{rightArrowView}</div>\n </div>\n </div>\n </div>\n );\n};\n\nStarsSummary.propTypes = {\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)).isRequired\n};\n\nStarsSummary.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default StarsSummary;\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAP,IAAeC,WAAf,EAA4BC,OAA5B,EAAqCC,QAArC,QAAoD,OAApD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SACEC,kCAAkC,IAAIC,SADxC,EAEEC,mCAAmC,IAAIC,UAFzC,EAGEC,+BAA+B,IAAIC,QAHrC,QAIO,0BAJP;AAKA,OAAOC,QAAP,IAAkBC,kBAAlB,QAA2C,qBAA3C;AACA,OAAOC,WAAP,MAAwB,gBAAxB;AACA,OAAOC,KAAP,MAAkB,qBAAlB;;AAEA,MAAMC,SAAS,GAAG,CAAC;EAACC,MAAD;EAASC,WAAT;EAAsBC;AAAtB,CAAD,KAA2C;EAC3D,MAAM;IAACC;EAAD,IAASH,MAAf;EACA,MAAMI,KAAK,GAAGlB,OAAO,CACnB,MAAOe,WAAW,GAAGC,cAAd,GAA+B,QAA/B,GAA0C,QAD9B,EAEnB,CAACD,WAAD,EAAcC,cAAd,CAFmB,CAArB;EAIA,MAAMG,QAAQ,GAAGnB,OAAO,CAAC,MAAO,GAAEiB,IAAK,UAASC,KAAM,EAA9B,EAAiC,CAACA,KAAD,EAAQD,IAAR,CAAjC,CAAxB;EAEA,oBACE;IAAI,SAAS,EAAEL,KAAK,CAACM,KAAD,CAApB;IAA6B,GAAG,EAAED,IAAlC;IAAwC,aAAWE;EAAnD,gBACE,oBAAC,WAAD,eACML,MADN;IAEE,GAAG,EAAEG,IAFP;IAGE,SAAS,EAAEF,WAAW,GAAGC,cAAd,GAA+BJ,KAAK,CAACQ,MAArC,GAA8CR,KAAK,CAACS;EAHjE,GADF,CADF;AASD,CAjBD;;AAkBAR,SAAS,CAACS,SAAV,2CAAsB;EACpBR,MAAM,EAAEZ,SAAS,CAACqB,KAAV,CAAgBZ,WAAW,CAACW,SAA5B,CADY;EAEpBP,WAAW,EAAEb,SAAS,CAACsB,MAFH;EAGpBR,cAAc,EAAEd,SAAS,CAACsB;AAHN,CAAtB;;AAMA,MAAMC,UAAU,GAAG,CAAC;EAACC,OAAD;EAAUV;AAAV,CAAD,KAA+B;EAChD,OAAOhB,OAAO,CACZ,MACE,KAAI2B,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EACE,CAACd,MAAD,EAASe,KAAT,kBACE,oBAAC,SAAD;IACE,MAAM,EAAEf,MADV;IAEE,GAAG,EAAG,aAAYe,KAAM,EAF1B;IAGE,cAAc,EAAEb,cAHlB;IAIE,WAAW,EAAEa;EAJf,EAFJ,EASEH,OATF,CAFU,EAaZ,CAACA,OAAD,EAAUV,cAAV,CAbY,CAAd;AAeD,CAhBD;;AAkBAS,UAAU,CAACH,SAAX,2CAAuB;EACrBI,OAAO,EAAExB,SAAS,CAAC4B,OAAV,CAAkB5B,SAAS,CAACqB,KAAV,CAAgBZ,WAAW,CAACW,SAA5B,CAAlB,CADY;EAErBN,cAAc,EAAEd,SAAS,CAACsB;AAFL,CAAvB;;AAKA,MAAMO,YAAY,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EAC7C,MAAM;IAACC,KAAD;IAAQR;EAAR,IAAmBM,KAAzB;EACA,MAAMG,IAAI,GAAGzB,kBAAkB,CAACuB,aAAD,CAA/B;EAEA,MAAM,CAACjB,cAAD,EAAiBoB,iBAAjB,IAAsCnC,QAAQ,CAAC,CAAD,CAApD;EACA,MAAM,CAACoC,UAAD,IAAepC,QAAQ,CAACyB,OAAO,CAACY,MAAT,CAA7B;;EAEA,MAAMC,IAAI,GAAG,OAAM,SAAN,EAAiB,aAAjB,EAAgCJ,IAAhC,CAAb;;EACA,MAAMK,OAAO,GAAG,KAAI,gBAAJ,EAAsBL,IAAtB,CAAhB;;EAEA,MAAMM,QAAQ,GAAG1C,WAAW,CAAC2C,IAAI,IAAIN,iBAAiB,CAACM,IAAD,CAA1B,EAAkC,EAAlC,CAA5B;EAEA,MAAMC,YAAY,GAAG5C,WAAW,CAAC,MAAM;IACrC0C,QAAQ,CAACzB,cAAc,GAAG,CAAlB,CAAR;EACD,CAF+B,EAE7B,CAACA,cAAD,EAAiByB,QAAjB,CAF6B,CAAhC;EAIA,MAAMG,aAAa,GAAG7C,WAAW,CAAC,MAAM;IACtC0C,QAAQ,CAACzB,cAAc,GAAG,CAAlB,CAAR;EACD,CAFgC,EAE9B,CAACA,cAAD,EAAiByB,QAAjB,CAF8B,CAAjC;;EAIA,IAAI,SAAQf,OAAR,CAAJ,EAAsB;IACpB,OAAO,IAAP;EACD;;EAED,MAAMmB,aAAa,GACjBR,UAAU,GAAG,CAAb,IAAkBrB,cAAc,GAAG,CAAnC,gBACE;IACE,SAAS,EAAEJ,KAAK,CAACkC,MADnB;IAEE,OAAO,EAAEH,YAFX;IAGE,aAAU,YAHZ;IAIE,eAAY,0BAJd;IAKE,IAAI,EAAC;EALP,gBAOE,oBAAC,SAAD;IAAW,KAAK,EAAEJ,IAAlB;IAAwB,SAAS,EAAE3B,KAAK,CAACmC,IAAzC;IAA+C,KAAK,EAAE,EAAtD;IAA0D,MAAM,EAAE;EAAlE,EAPF,CADF,GAUI,IAXN;EAaA,MAAMC,cAAc,GAClBX,UAAU,GAAG,CAAb,IAAkBrB,cAAc,GAAGqB,UAAU,GAAG,CAAhD,gBACE;IACE,SAAS,EAAEzB,KAAK,CAACkC,MADnB;IAEE,OAAO,EAAEF,aAFX;IAGE,aAAU,aAHZ;IAIE,eAAY;EAJd,gBAME,oBAAC,UAAD;IAAY,KAAK,EAAEL,IAAnB;IAAyB,SAAS,EAAE3B,KAAK,CAACqC,KAA1C;IAAiD,KAAK,EAAE,EAAxD;IAA4D,MAAM,EAAE;EAApE,EANF,CADF,GASI,IAVN;EAYA,oBACE;IAAK,aAAU,SAAf;IAAyB,SAAS,EAAErC,KAAK,CAACsC,OAA1C;IAAmD,QAAQ,EAAE;EAA7D,gBACE;IACE,aAAU,iBADZ;IAEE,SAAS,EAAEtC,KAAK,CAACuC,cAFnB;IAGE,eAAc,8BAA6BnC,cAAe,EAH5D;IAIE,QAAQ,EAAE;EAJZ,gBAME;IACE,SAAS,EAAEJ,KAAK,CAACwC,QADnB;IAEE,aAAU,YAFZ;IAGE,eAAY,2BAHd;IAIE,QAAQ,EAAE;EAJZ,gBAME,oBAAC,UAAD;IAAY,OAAO,EAAE1B,OAArB;IAA8B,cAAc,EAAEV;EAA9C,EANF,CANF,eAcE;IACE,SAAS,EAAEJ,KAAK,CAACyC,kBADnB;IAEE,KAAK,EAAE;MACLC,eAAe,EAAEd;IADZ;EAFT,gBAME;IAAK,SAAS,EAAE5B,KAAK,CAAC2C;EAAtB,gBACE,kCAAOrB,KAAK,CAACsB,KAAb,CADF,eAEE;IAAG,aAAU;EAAb,GAA6BtB,KAAK,CAACuB,KAAnC,CAFF,eAGE;IAAK,SAAS,EAAE7C,KAAK,CAAC8C;EAAtB,gBACE,oBAAC,QAAD;IAAU,SAAS,EAAE9C,KAAK,CAAC+C,UAA3B;IAAuC,KAAK,EAAEnB;EAA9C,EADF,CAHF,CANF,eAaE;IAAK,SAAS,EAAE5B,KAAK,CAACgD;EAAtB,GAAuCf,aAAvC,CAbF,eAcE;IAAK,SAAS,EAAEjC,KAAK,CAACiD;EAAtB,GAAwCb,cAAxC,CAdF,CAdF,CADF,CADF;AAmCD,CApFD;;AAsFAjB,YAAY,CAACT,SAAb,2CAAyB;EACvBY,KAAK,EAAEhC,SAAS,CAACqB,KAAV,CAAgB;IACrBiC,KAAK,EAAEtD,SAAS,CAAC4D,MAAV,CAAiBC,UADH;IAErBN,KAAK,EAAEvD,SAAS,CAACsB,MAAV,CAAiBuC;EAFH,CAAhB,EAGJA,UAJoB;EAKvBrC,OAAO,EAAExB,SAAS,CAAC4B,OAAV,CAAkB5B,SAAS,CAACqB,KAAV,CAAgBZ,WAAW,CAACW,SAA5B,CAAlB,EAA0DyC;AAL5C,CAAzB;AAQAhC,YAAY,CAACiC,YAAb,GAA4B;EAC1B7B,IAAI,EAAE1B,QAAQ,CAACwD,iBAAT,CAA2B9B;AADP,CAA5B;AAIA,eAAeJ,YAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/template/app-review/index.native.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAsB5C,QAAA,MAAM,SAAS,UAAW,cAAc,gBAsBvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/template/app-review/index.native.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AA8B5C,QAAA,MAAM,SAAS,UAAW,cAAc,gBA8CvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,33 +1,40 @@
1
1
  import React, { useEffect } from 'react';
2
- import { Text, StyleSheet, View, BackHandler } from 'react-native';
3
- import Player from './player';
2
+ import { StyleSheet, View, BackHandler, Animated } from 'react-native';
3
+ import { useAnimateProp, useAnimationWaiter } from '@coorpacademy/react-native-animation';
4
+ import Loader from '../../atom/loader/index.native';
5
+ import Player from './player/index.native';
4
6
  const styles = StyleSheet.create({
5
7
  rootView: {
6
8
  flex: 1,
7
9
  alignItems: 'center',
8
10
  justifyContent: 'center'
11
+ },
12
+ player: {
13
+ position: 'absolute',
14
+ top: 0,
15
+ left: 0,
16
+ right: 0,
17
+ bottom: 0,
18
+ justifyContent: 'center',
19
+ alignItems: 'center',
20
+ flex: 1
21
+ },
22
+ loaderContainer: {
23
+ position: 'absolute',
24
+ top: 0,
25
+ left: 0,
26
+ right: 0,
27
+ bottom: 0,
28
+ justifyContent: 'center',
29
+ alignItems: 'center'
9
30
  }
10
31
  });
11
32
 
12
- const Switch = ({
13
- viewName,
14
- slides
15
- }) => {
16
- switch (viewName) {
17
- case 'slides':
18
- return /*#__PURE__*/React.createElement(Player, slides);
19
-
20
- case 'loader':
21
- return /*#__PURE__*/React.createElement(Text, null, "@todo loader");
22
-
23
- default:
24
- return /*#__PURE__*/React.createElement(Text, null, `unknown viewName: "${viewName}"`);
25
- }
26
- };
27
-
28
33
  const AppReview = props => {
29
34
  const {
30
- navigateBack
35
+ navigateBack,
36
+ viewName,
37
+ slides
31
38
  } = props;
32
39
  useEffect(() => {
33
40
  const backAction = () => {
@@ -41,9 +48,30 @@ const AppReview = props => {
41
48
  const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);
42
49
  return () => backHandler.remove();
43
50
  }, [navigateBack]);
51
+ const fadePlayerIn = useAnimateProp({
52
+ property: 'opacity',
53
+ fromValue: 0,
54
+ toValue: 1,
55
+ duration: 1300
56
+ });
57
+ const isLoading = viewName === 'loader';
58
+ useAnimationWaiter(isLoading, fadePlayerIn);
44
59
  return /*#__PURE__*/React.createElement(View, {
45
60
  style: styles.rootView
46
- }, /*#__PURE__*/React.createElement(Switch, props));
61
+ }, /*#__PURE__*/React.createElement(Animated.View, {
62
+ style: [styles.player, fadePlayerIn.animatedStyle]
63
+ }, slides ? /*#__PURE__*/React.createElement(Player, {
64
+ congrats: slides.congrats,
65
+ header: slides.header,
66
+ stack: slides.stack,
67
+ quitPopin: slides.quitPopin,
68
+ backgroundImage: slides.backgroundImage
69
+ }) : null), /*#__PURE__*/React.createElement(View, {
70
+ style: styles.loaderContainer,
71
+ pointerEvents: "none"
72
+ }, /*#__PURE__*/React.createElement(Loader, {
73
+ readyToHide: !isLoading
74
+ })));
47
75
  };
48
76
 
49
77
  export default AppReview;
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["React","useEffect","Text","StyleSheet","View","BackHandler","Player","styles","create","rootView","flex","alignItems","justifyContent","Switch","viewName","slides","AppReview","props","navigateBack","backAction","backHandler","addEventListener","remove"],"sources":["../../../src/template/app-review/index.native.tsx"],"sourcesContent":["import React, {useEffect} from 'react';\nimport {Text, StyleSheet, View, BackHandler} from 'react-native';\nimport {AppReviewProps} from './prop-types';\nimport Player from './player';\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n }\n});\n\nconst Switch = ({viewName, slides}: AppReviewProps) => {\n switch (viewName) {\n case 'slides':\n return <Player {...slides} />;\n case 'loader':\n return <Text>@todo loader</Text>;\n default:\n return <Text>{`unknown viewName: \"${viewName}\"`}</Text>;\n }\n};\n\nconst AppReview = (props: AppReviewProps) => {\n const {navigateBack} = props;\n\n useEffect(() => {\n const backAction = () => {\n if (navigateBack) {\n navigateBack();\n return true;\n }\n };\n\n // https://reactnative.dev/docs/backhandler\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [navigateBack]);\n\n return (\n <View style={styles.rootView}>\n <Switch {...props} />\n </View>\n );\n};\n\nexport default AppReview;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,SAAf,QAA+B,OAA/B;AACA,SAAQC,IAAR,EAAcC,UAAd,EAA0BC,IAA1B,EAAgCC,WAAhC,QAAkD,cAAlD;AAEA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,MAAMC,MAAM,GAAGJ,UAAU,CAACK,MAAX,CAAkB;EAC/BC,QAAQ,EAAE;IACRC,IAAI,EAAE,CADE;IAERC,UAAU,EAAE,QAFJ;IAGRC,cAAc,EAAE;EAHR;AADqB,CAAlB,CAAf;;AAQA,MAAMC,MAAM,GAAG,CAAC;EAACC,QAAD;EAAWC;AAAX,CAAD,KAAwC;EACrD,QAAQD,QAAR;IACE,KAAK,QAAL;MACE,oBAAO,oBAAC,MAAD,EAAYC,MAAZ,CAAP;;IACF,KAAK,QAAL;MACE,oBAAO,oBAAC,IAAD,uBAAP;;IACF;MACE,oBAAO,oBAAC,IAAD,QAAQ,sBAAqBD,QAAS,GAAtC,CAAP;EANJ;AAQD,CATD;;AAWA,MAAME,SAAS,GAAIC,KAAD,IAA2B;EAC3C,MAAM;IAACC;EAAD,IAAiBD,KAAvB;EAEAhB,SAAS,CAAC,MAAM;IACd,MAAMkB,UAAU,GAAG,MAAM;MACvB,IAAID,YAAJ,EAAkB;QAChBA,YAAY;QACZ,OAAO,IAAP;MACD;IACF,CALD,CADc,CAQd;;;IACA,MAAME,WAAW,GAAGf,WAAW,CAACgB,gBAAZ,CAA6B,mBAA7B,EAAkDF,UAAlD,CAApB;IAEA,OAAO,MAAMC,WAAW,CAACE,MAAZ,EAAb;EACD,CAZQ,EAYN,CAACJ,YAAD,CAZM,CAAT;EAcA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEX,MAAM,CAACE;EAApB,gBACE,oBAAC,MAAD,EAAYQ,KAAZ,CADF,CADF;AAKD,CAtBD;;AAwBA,eAAeD,SAAf"}
1
+ {"version":3,"file":"index.native.js","names":["React","useEffect","StyleSheet","View","BackHandler","Animated","useAnimateProp","useAnimationWaiter","Loader","Player","styles","create","rootView","flex","alignItems","justifyContent","player","position","top","left","right","bottom","loaderContainer","AppReview","props","navigateBack","viewName","slides","backAction","backHandler","addEventListener","remove","fadePlayerIn","property","fromValue","toValue","duration","isLoading","animatedStyle","congrats","header","stack","quitPopin","backgroundImage"],"sources":["../../../src/template/app-review/index.native.tsx"],"sourcesContent":["import React, {useEffect} from 'react';\nimport {StyleSheet, View, BackHandler, Animated} from 'react-native';\nimport {useAnimateProp, useAnimationWaiter} from '@coorpacademy/react-native-animation';\nimport Loader from '../../atom/loader/index.native';\nimport {AppReviewProps} from './prop-types';\nimport Player from './player/index.native';\n\nconst styles = StyleSheet.create({\n rootView: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center'\n },\n player: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1\n },\n loaderContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n justifyContent: 'center',\n alignItems: 'center'\n }\n});\n\nconst AppReview = (props: AppReviewProps) => {\n const {navigateBack, viewName, slides} = props;\n\n useEffect(() => {\n const backAction = () => {\n if (navigateBack) {\n navigateBack();\n return true;\n }\n };\n\n // https://reactnative.dev/docs/backhandler\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [navigateBack]);\n\n const fadePlayerIn = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1,\n duration: 1300\n });\n\n const isLoading = viewName === 'loader';\n useAnimationWaiter(isLoading, fadePlayerIn);\n\n return (\n <View style={styles.rootView}>\n <Animated.View style={[styles.player, fadePlayerIn.animatedStyle]}>\n {slides ? (\n <Player\n congrats={slides.congrats}\n header={slides.header}\n stack={slides.stack}\n quitPopin={slides.quitPopin}\n backgroundImage={slides.backgroundImage}\n />\n ) : null}\n </Animated.View>\n\n <View style={styles.loaderContainer} pointerEvents=\"none\">\n <Loader readyToHide={!isLoading} />\n </View>\n </View>\n );\n};\n\nexport default AppReview;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,SAAf,QAA+B,OAA/B;AACA,SAAQC,UAAR,EAAoBC,IAApB,EAA0BC,WAA1B,EAAuCC,QAAvC,QAAsD,cAAtD;AACA,SAAQC,cAAR,EAAwBC,kBAAxB,QAAiD,sCAAjD;AACA,OAAOC,MAAP,MAAmB,gCAAnB;AAEA,OAAOC,MAAP,MAAmB,uBAAnB;AAEA,MAAMC,MAAM,GAAGR,UAAU,CAACS,MAAX,CAAkB;EAC/BC,QAAQ,EAAE;IACRC,IAAI,EAAE,CADE;IAERC,UAAU,EAAE,QAFJ;IAGRC,cAAc,EAAE;EAHR,CADqB;EAM/BC,MAAM,EAAE;IACNC,QAAQ,EAAE,UADJ;IAENC,GAAG,EAAE,CAFC;IAGNC,IAAI,EAAE,CAHA;IAINC,KAAK,EAAE,CAJD;IAKNC,MAAM,EAAE,CALF;IAMNN,cAAc,EAAE,QANV;IAOND,UAAU,EAAE,QAPN;IAQND,IAAI,EAAE;EARA,CANuB;EAgB/BS,eAAe,EAAE;IACfL,QAAQ,EAAE,UADK;IAEfC,GAAG,EAAE,CAFU;IAGfC,IAAI,EAAE,CAHS;IAIfC,KAAK,EAAE,CAJQ;IAKfC,MAAM,EAAE,CALO;IAMfN,cAAc,EAAE,QAND;IAOfD,UAAU,EAAE;EAPG;AAhBc,CAAlB,CAAf;;AA2BA,MAAMS,SAAS,GAAIC,KAAD,IAA2B;EAC3C,MAAM;IAACC,YAAD;IAAeC,QAAf;IAAyBC;EAAzB,IAAmCH,KAAzC;EAEAvB,SAAS,CAAC,MAAM;IACd,MAAM2B,UAAU,GAAG,MAAM;MACvB,IAAIH,YAAJ,EAAkB;QAChBA,YAAY;QACZ,OAAO,IAAP;MACD;IACF,CALD,CADc,CAQd;;;IACA,MAAMI,WAAW,GAAGzB,WAAW,CAAC0B,gBAAZ,CAA6B,mBAA7B,EAAkDF,UAAlD,CAApB;IAEA,OAAO,MAAMC,WAAW,CAACE,MAAZ,EAAb;EACD,CAZQ,EAYN,CAACN,YAAD,CAZM,CAAT;EAcA,MAAMO,YAAY,GAAG1B,cAAc,CAAC;IAClC2B,QAAQ,EAAE,SADwB;IAElCC,SAAS,EAAE,CAFuB;IAGlCC,OAAO,EAAE,CAHyB;IAIlCC,QAAQ,EAAE;EAJwB,CAAD,CAAnC;EAOA,MAAMC,SAAS,GAAGX,QAAQ,KAAK,QAA/B;EACAnB,kBAAkB,CAAC8B,SAAD,EAAYL,YAAZ,CAAlB;EAEA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEtB,MAAM,CAACE;EAApB,gBACE,oBAAC,QAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAACF,MAAM,CAACM,MAAR,EAAgBgB,YAAY,CAACM,aAA7B;EAAtB,GACGX,MAAM,gBACL,oBAAC,MAAD;IACE,QAAQ,EAAEA,MAAM,CAACY,QADnB;IAEE,MAAM,EAAEZ,MAAM,CAACa,MAFjB;IAGE,KAAK,EAAEb,MAAM,CAACc,KAHhB;IAIE,SAAS,EAAEd,MAAM,CAACe,SAJpB;IAKE,eAAe,EAAEf,MAAM,CAACgB;EAL1B,EADK,GAQH,IATN,CADF,eAaE,oBAAC,IAAD;IAAM,KAAK,EAAEjC,MAAM,CAACY,eAApB;IAAqC,aAAa,EAAC;EAAnD,gBACE,oBAAC,MAAD;IAAQ,WAAW,EAAE,CAACe;EAAtB,EADF,CAbF,CADF;AAmBD,CA9CD;;AAgDA,eAAed,SAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/app-review/skills/index.native.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAyB/C,QAAA,MAAM,YAAY,UAAW,iBAAiB,uBA4C7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/app-review/skills/index.native.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAmC/C,QAAA,MAAM,YAAY,UAAW,iBAAiB,uBAmD7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,5 +1,7 @@
1
+ import { useAnimateProp, useAnimationWaiter } from '@coorpacademy/react-native-animation';
1
2
  import React, { useState, useEffect } from 'react';
2
- import { Text, View, StyleSheet } from 'react-native';
3
+ import { Text, View, StyleSheet, Animated } from 'react-native';
4
+ import Loader from '../../../atom/loader/index.native';
3
5
  import ReviewNoSkills from '../../../organism/review-no-skills/index.native';
4
6
  import ReviewListSkills from '../../../organism/review-skills/index.native';
5
7
  import { useTemplateContext } from '../template-context';
@@ -11,6 +13,15 @@ const createStyleSheet = theme => StyleSheet.create({
11
13
  width: '100%',
12
14
  backgroundColor: theme.colors.white
13
15
  },
16
+ loaderContainer: {
17
+ position: 'absolute',
18
+ top: 0,
19
+ left: 0,
20
+ right: 0,
21
+ bottom: 0,
22
+ justifyContent: 'center',
23
+ alignItems: 'center'
24
+ },
14
25
  title: {
15
26
  fontSize: theme.fontSize.xlarge,
16
27
  fontWeight: theme.fontWeight.bold,
@@ -26,7 +37,6 @@ const ReviewSkills = props => {
26
37
  'aria-label': ariaLabel,
27
38
  title,
28
39
  isLoading,
29
- isLoadingAriaLabel,
30
40
  listSkills,
31
41
  titleNoSkills,
32
42
  textNoSkills,
@@ -42,6 +52,12 @@ const ReviewSkills = props => {
42
52
 
43
53
  setStylesheet(_stylesheet);
44
54
  }, [theme]);
55
+ const fadeResultsIn = useAnimateProp({
56
+ property: 'opacity',
57
+ fromValue: 0,
58
+ toValue: 1
59
+ });
60
+ useAnimationWaiter(isLoading, fadeResultsIn);
45
61
 
46
62
  if (!styleSheet) {
47
63
  return null;
@@ -52,14 +68,19 @@ const ReviewSkills = props => {
52
68
  accessibilityLabel: ariaLabel
53
69
  }, /*#__PURE__*/React.createElement(Text, {
54
70
  style: styleSheet.title
55
- }, title), isLoading ? /*#__PURE__*/React.createElement(Text, {
56
- accessibilityLabel: isLoadingAriaLabel
57
- }, "Loading") : /*#__PURE__*/React.createElement(View, null, !listSkills || listSkills.length === 0 ? /*#__PURE__*/React.createElement(ReviewNoSkills, {
71
+ }, title), /*#__PURE__*/React.createElement(Animated.View, {
72
+ style: fadeResultsIn.animatedStyle
73
+ }, !listSkills || listSkills.length === 0 ? /*#__PURE__*/React.createElement(ReviewNoSkills, {
58
74
  titleNoSkills: titleNoSkills,
59
75
  textNoSkills: textNoSkills,
60
76
  iconSkillAriaLabel: iconSkillAriaLabel
61
77
  }) : /*#__PURE__*/React.createElement(ReviewListSkills, {
62
78
  listSkills: listSkills
79
+ })), /*#__PURE__*/React.createElement(View, {
80
+ style: styleSheet.loaderContainer,
81
+ pointerEvents: "none"
82
+ }, /*#__PURE__*/React.createElement(Loader, {
83
+ readyToHide: !isLoading
63
84
  })));
64
85
  };
65
86
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["React","useState","useEffect","Text","View","StyleSheet","ReviewNoSkills","ReviewListSkills","useTemplateContext","createStyleSheet","theme","create","container","flex","padding","width","backgroundColor","colors","white","title","fontSize","xlarge","fontWeight","bold","lineHeight","color","text","primary","marginBottom","spacing","base","marginTop","small","ReviewSkills","props","ariaLabel","isLoading","isLoadingAriaLabel","listSkills","titleNoSkills","textNoSkills","iconSkillAriaLabel","templateContext","styleSheet","setStylesheet","_stylesheet","length"],"sources":["../../../../src/template/app-review/skills/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {Text, View, StyleSheet, ViewStyle, TextStyle} from 'react-native';\nimport ReviewNoSkills from '../../../organism/review-no-skills/index.native';\nimport ReviewListSkills from '../../../organism/review-skills/index.native';\nimport {Theme} from '../../../variables/theme.native';\nimport {useTemplateContext} from '../template-context';\nimport {ReviewSkillsProps} from './prop-types';\n\ntype StyleSheetType = {\n container: ViewStyle;\n title: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n width: '100%',\n backgroundColor: theme.colors.white\n },\n title: {\n fontSize: theme.fontSize.xlarge,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 28,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.base,\n marginTop: theme.spacing.small\n }\n });\n\nconst ReviewSkills = (props: ReviewSkillsProps) => {\n const {\n 'aria-label': ariaLabel,\n title,\n isLoading,\n isLoadingAriaLabel,\n listSkills,\n titleNoSkills,\n textNoSkills,\n iconSkillAriaLabel\n } = props;\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.container} accessibilityLabel={ariaLabel}>\n <Text style={styleSheet.title}>{title}</Text>\n {isLoading ? (\n <Text accessibilityLabel={isLoadingAriaLabel}>Loading</Text>\n ) : (\n <View>\n {!listSkills || listSkills.length === 0 ? (\n <ReviewNoSkills\n titleNoSkills={titleNoSkills}\n textNoSkills={textNoSkills}\n iconSkillAriaLabel={iconSkillAriaLabel}\n />\n ) : (\n <ReviewListSkills listSkills={listSkills} />\n )}\n </View>\n )}\n </View>\n );\n};\n\nexport default ReviewSkills;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,SAAzB,QAAyC,OAAzC;AACA,SAAQC,IAAR,EAAcC,IAAd,EAAoBC,UAApB,QAA2D,cAA3D;AACA,OAAOC,cAAP,MAA2B,iDAA3B;AACA,OAAOC,gBAAP,MAA6B,8CAA7B;AAEA,SAAQC,kBAAR,QAAiC,qBAAjC;;AAQA,MAAMC,gBAAgB,GAAIC,KAAD,IACvBL,UAAU,CAACM,MAAX,CAAkB;EAChBC,SAAS,EAAE;IACTC,IAAI,EAAE,CADG;IAETC,OAAO,EAAE,EAFA;IAGTC,KAAK,EAAE,MAHE;IAITC,eAAe,EAAEN,KAAK,CAACO,MAAN,CAAaC;EAJrB,CADK;EAOhBC,KAAK,EAAE;IACLC,QAAQ,EAAEV,KAAK,CAACU,QAAN,CAAeC,MADpB;IAELC,UAAU,EAAEZ,KAAK,CAACY,UAAN,CAAiBC,IAFxB;IAGLC,UAAU,EAAE,EAHP;IAILC,KAAK,EAAEf,KAAK,CAACO,MAAN,CAAaS,IAAb,CAAkBC,OAJpB;IAKLC,YAAY,EAAElB,KAAK,CAACmB,OAAN,CAAcC,IALvB;IAMLC,SAAS,EAAErB,KAAK,CAACmB,OAAN,CAAcG;EANpB;AAPS,CAAlB,CADF;;AAkBA,MAAMC,YAAY,GAAIC,KAAD,IAA8B;EACjD,MAAM;IACJ,cAAcC,SADV;IAEJhB,KAFI;IAGJiB,SAHI;IAIJC,kBAJI;IAKJC,UALI;IAMJC,aANI;IAOJC,YAPI;IAQJC;EARI,IASFP,KATJ;EAUA,MAAMQ,eAAe,GAAGlC,kBAAkB,EAA1C;EACA,MAAM,CAACmC,UAAD,EAAaC,aAAb,IAA8B3C,QAAQ,CAAwB,IAAxB,CAA5C;EACA,MAAM;IAACS;EAAD,IAAUgC,eAAhB;EAEAxC,SAAS,CAAC,MAAM;IACd,MAAM2C,WAAW,GAAGpC,gBAAgB,CAACC,KAAD,CAApC;;IACAkC,aAAa,CAACC,WAAD,CAAb;EACD,CAHQ,EAGN,CAACnC,KAAD,CAHM,CAAT;;EAKA,IAAI,CAACiC,UAAL,EAAiB;IACf,OAAO,IAAP;EACD;;EAED,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEA,UAAU,CAAC/B,SAAxB;IAAmC,kBAAkB,EAAEuB;EAAvD,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAEQ,UAAU,CAACxB;EAAxB,GAAgCA,KAAhC,CADF,EAEGiB,SAAS,gBACR,oBAAC,IAAD;IAAM,kBAAkB,EAAEC;EAA1B,aADQ,gBAGR,oBAAC,IAAD,QACG,CAACC,UAAD,IAAeA,UAAU,CAACQ,MAAX,KAAsB,CAArC,gBACC,oBAAC,cAAD;IACE,aAAa,EAAEP,aADjB;IAEE,YAAY,EAAEC,YAFhB;IAGE,kBAAkB,EAAEC;EAHtB,EADD,gBAOC,oBAAC,gBAAD;IAAkB,UAAU,EAAEH;EAA9B,EARJ,CALJ,CADF;AAoBD,CA5CD;;AA8CA,eAAeL,YAAf"}
1
+ {"version":3,"file":"index.native.js","names":["useAnimateProp","useAnimationWaiter","React","useState","useEffect","Text","View","StyleSheet","Animated","Loader","ReviewNoSkills","ReviewListSkills","useTemplateContext","createStyleSheet","theme","create","container","flex","padding","width","backgroundColor","colors","white","loaderContainer","position","top","left","right","bottom","justifyContent","alignItems","title","fontSize","xlarge","fontWeight","bold","lineHeight","color","text","primary","marginBottom","spacing","base","marginTop","small","ReviewSkills","props","ariaLabel","isLoading","listSkills","titleNoSkills","textNoSkills","iconSkillAriaLabel","templateContext","styleSheet","setStylesheet","_stylesheet","fadeResultsIn","property","fromValue","toValue","animatedStyle","length"],"sources":["../../../../src/template/app-review/skills/index.native.tsx"],"sourcesContent":["import {useAnimateProp, useAnimationWaiter} from '@coorpacademy/react-native-animation';\nimport React, {useState, useEffect} from 'react';\nimport {Text, View, StyleSheet, ViewStyle, TextStyle, Animated} from 'react-native';\nimport Loader from '../../../atom/loader/index.native';\nimport ReviewNoSkills from '../../../organism/review-no-skills/index.native';\nimport ReviewListSkills from '../../../organism/review-skills/index.native';\nimport {Theme} from '../../../variables/theme.native';\nimport {useTemplateContext} from '../template-context';\nimport {ReviewSkillsProps} from './prop-types';\n\ntype StyleSheetType = {\n container: ViewStyle;\n loaderContainer: ViewStyle;\n title: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n width: '100%',\n backgroundColor: theme.colors.white\n },\n loaderContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n justifyContent: 'center',\n alignItems: 'center'\n },\n title: {\n fontSize: theme.fontSize.xlarge,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 28,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.base,\n marginTop: theme.spacing.small\n }\n });\n\nconst ReviewSkills = (props: ReviewSkillsProps) => {\n const {\n 'aria-label': ariaLabel,\n title,\n isLoading,\n listSkills,\n titleNoSkills,\n textNoSkills,\n iconSkillAriaLabel\n } = props;\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const fadeResultsIn = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1\n });\n\n useAnimationWaiter(isLoading, fadeResultsIn);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.container} accessibilityLabel={ariaLabel}>\n <Text style={styleSheet.title}>{title}</Text>\n\n <Animated.View style={fadeResultsIn.animatedStyle}>\n {!listSkills || listSkills.length === 0 ? (\n <ReviewNoSkills\n titleNoSkills={titleNoSkills}\n textNoSkills={textNoSkills}\n iconSkillAriaLabel={iconSkillAriaLabel}\n />\n ) : (\n <ReviewListSkills listSkills={listSkills} />\n )}\n </Animated.View>\n <View style={styleSheet.loaderContainer} pointerEvents=\"none\">\n <Loader readyToHide={!isLoading} />\n </View>\n </View>\n );\n};\n\nexport default ReviewSkills;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/loader/index.native.tsx"],"names":[],"mappings":";AAEA,OAAO,EAA0C,UAAU,EAAC,MAAM,cAAc,CAAC;AAoCjF,oBAAY,KAAK,GAAG;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAKF,QAAA,MAAM,MAAM,UAAW,KAAK,uBAqK3B,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/atom/loader/index.native.tsx"],"names":[],"mappings":";AAEA,OAAO,EAA0C,UAAU,EAAC,MAAM,cAAc,CAAC;AAoCjF,oBAAY,KAAK,GAAG;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAKF,QAAA,MAAM,MAAM,UAAW,KAAK,uBAsK3B,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -46,14 +46,17 @@ const Loader = props => {
46
46
  theme
47
47
  } = templateContext;
48
48
  const [styleSheet, setStylesheet] = (0, _react.useState)(null);
49
- const [visible, setVisible] = (0, _react.useState)(true);
49
+ const [hidden, setHidden] = (0, _react.useState)(false);
50
50
  const [minTimeIsSpent, setMinTimeSpent] = (0, _react.useState)(false);
51
51
  const rotation = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
52
52
  const scale = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
53
53
  const hideAnimation = (0, _reactNativeAnimation.useAnimateProp)({
54
54
  property: 'opacity',
55
55
  fromValue: 1,
56
- toValue: 0
56
+ toValue: 0,
57
+ onComplete: () => {
58
+ setHidden(true);
59
+ }
57
60
  });
58
61
  const {
59
62
  height = 60,
@@ -66,15 +69,10 @@ const Loader = props => {
66
69
  setStylesheet(_stylesheet);
67
70
  }, [theme]);
68
71
  (0, _react.useEffect)(() => {
69
- if (readyToHide && minTimeIsSpent) {
70
- setVisible(false);
71
- }
72
- }, [readyToHide, minTimeIsSpent]);
73
- (0, _react.useEffect)(() => {
74
- if (!visible) {
72
+ if (readyToHide && minTimeIsSpent && !hidden) {
75
73
  hideAnimation.start();
76
74
  }
77
- }, [visible, hideAnimation]);
75
+ }, [hidden, hideAnimation, readyToHide, minTimeIsSpent]);
78
76
  (0, _react.useEffect)(() => {
79
77
  setTimeout(() => {
80
78
  setMinTimeSpent(true);
@@ -122,6 +120,10 @@ const Loader = props => {
122
120
  return null;
123
121
  }
124
122
 
123
+ if (hidden) {
124
+ return null;
125
+ }
126
+
125
127
  const interpolatedScale = scale.interpolate({
126
128
  inputRange: [0, 0.45, 1, 1.32, 1.5, 2, 2.3, 2.64, 3],
127
129
  outputRange: [0.5, 0.2, 0.5, 0.5, 0.8, 0.5, 0.5, 0.3, 0.5]
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["createStyleSheet","theme","StyleSheet","create","container","alignItems","justifyContent","dot","position","blue","backgroundColor","colors","cta","red","negative","green","positive","yellow","battle","CYCLE_DURATION","MIN_TIME","Loader","props","templateContext","useTemplateContext","styleSheet","setStylesheet","useState","visible","setVisible","minTimeIsSpent","setMinTimeSpent","rotation","useRef","Animated","Value","current","scale","hideAnimation","useAnimateProp","property","fromValue","toValue","height","color","readyToHide","useEffect","_stylesheet","start","setTimeout","_animation","parallel","loop","sequence","timing","duration","useNativeDriver","easing","Easing","inOut","sin","stop","interpolatedScale","interpolate","inputRange","outputRange","interpolatedRotation","dotWidth","dotTranslate","dotStyle","width","borderRadius","animatedStyle","transform","scaleX","scaleY","rotateZ","translateX"],"sources":["../../../src/atom/loader/index.native.tsx"],"sourcesContent":["import {useAnimateProp} from '@coorpacademy/react-native-animation';\nimport React, {useEffect, useRef, useState} from 'react';\nimport {Animated, StyleSheet, Easing, ViewStyle, ColorValue} from 'react-native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\n\ntype StyleSheetType = {\n container: ViewStyle;\n dot: ViewStyle;\n blue: ViewStyle;\n red: ViewStyle;\n green: ViewStyle;\n yellow: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center'\n },\n dot: {\n position: 'absolute'\n },\n blue: {\n backgroundColor: theme.colors.cta\n },\n red: {\n backgroundColor: theme.colors.negative\n },\n green: {\n backgroundColor: theme.colors.positive\n },\n yellow: {\n backgroundColor: theme.colors.battle\n }\n });\n\nexport type Props = {\n color?: ColorValue;\n height?: number;\n readyToHide: boolean;\n};\n\nconst CYCLE_DURATION = 3000;\nconst MIN_TIME = 1000;\n\nconst Loader = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const [visible, setVisible] = useState<boolean>(true);\n const [minTimeIsSpent, setMinTimeSpent] = useState<boolean>(false);\n\n const rotation = useRef<Animated.Value>(new Animated.Value(0)).current;\n const scale = useRef<Animated.Value>(new Animated.Value(0)).current;\n\n const hideAnimation = useAnimateProp({\n property: 'opacity',\n fromValue: 1,\n toValue: 0\n });\n\n const {height = 60, color, readyToHide} = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n useEffect(() => {\n if (readyToHide && minTimeIsSpent) {\n setVisible(false);\n }\n }, [readyToHide, minTimeIsSpent]);\n\n useEffect(() => {\n if (!visible) {\n hideAnimation.start();\n }\n }, [visible, hideAnimation]);\n\n useEffect(() => {\n setTimeout(() => {\n setMinTimeSpent(true);\n }, MIN_TIME);\n\n const _animation = Animated.parallel([\n Animated.loop(\n Animated.sequence([\n Animated.timing(scale, {toValue: 0, duration: 0, useNativeDriver: false}),\n Animated.timing(scale, {\n toValue: 1,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n }),\n Animated.timing(scale, {\n toValue: 2,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n }),\n Animated.timing(scale, {\n toValue: 3,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n })\n ])\n ),\n Animated.loop(\n Animated.sequence([\n Animated.timing(rotation, {toValue: 0, duration: 0, useNativeDriver: false}),\n Animated.timing(rotation, {\n toValue: 1,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n })\n ])\n )\n ]);\n\n _animation.start();\n\n return () => {\n _animation.stop();\n };\n // eslint bad warning --> effect only onmount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!styleSheet) {\n return null;\n }\n\n const interpolatedScale = scale.interpolate({\n inputRange: [0, 0.45, 1, 1.32, 1.5, 2, 2.3, 2.64, 3],\n outputRange: [0.5, 0.2, 0.5, 0.5, 0.8, 0.5, 0.5, 0.3, 0.5]\n });\n\n const interpolatedRotation = rotation.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg']\n });\n const dotWidth = rotation.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [height / 2, height / 6, height / 2]\n });\n const dotTranslate = rotation.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [-25 * (height / 60), -35 * (height / 60), -25 * (height / 60)]\n });\n const dotStyle = {\n width: dotWidth,\n height: height / 6,\n borderRadius: height / 12\n };\n\n return (\n <Animated.View style={hideAnimation.animatedStyle}>\n <Animated.View\n style={[\n styleSheet.container,\n {\n height,\n width: height,\n transform: [\n {scaleX: interpolatedScale},\n {scaleY: interpolatedScale},\n {rotateZ: interpolatedRotation}\n ]\n }\n ]}\n >\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.red,\n dotStyle,\n {transform: [{rotateZ: '45deg'}, {translateX: dotTranslate}]}\n ]}\n />\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.green,\n dotStyle,\n {transform: [{rotateZ: '135deg'}, {translateX: dotTranslate}]}\n ]}\n />\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.yellow,\n dotStyle,\n {transform: [{rotateZ: '225deg'}, {translateX: dotTranslate}]}\n ]}\n />\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.blue,\n dotStyle,\n {transform: [{rotateZ: '315deg'}, {translateX: dotTranslate}]}\n ]}\n />\n </Animated.View>\n </Animated.View>\n );\n};\n\nexport default Loader;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["createStyleSheet","theme","StyleSheet","create","container","alignItems","justifyContent","dot","position","blue","backgroundColor","colors","cta","red","negative","green","positive","yellow","battle","CYCLE_DURATION","MIN_TIME","Loader","props","templateContext","useTemplateContext","styleSheet","setStylesheet","useState","hidden","setHidden","minTimeIsSpent","setMinTimeSpent","rotation","useRef","Animated","Value","current","scale","hideAnimation","useAnimateProp","property","fromValue","toValue","onComplete","height","color","readyToHide","useEffect","_stylesheet","start","setTimeout","_animation","parallel","loop","sequence","timing","duration","useNativeDriver","easing","Easing","inOut","sin","stop","interpolatedScale","interpolate","inputRange","outputRange","interpolatedRotation","dotWidth","dotTranslate","dotStyle","width","borderRadius","animatedStyle","transform","scaleX","scaleY","rotateZ","translateX"],"sources":["../../../src/atom/loader/index.native.tsx"],"sourcesContent":["import {useAnimateProp} from '@coorpacademy/react-native-animation';\nimport React, {useEffect, useRef, useState} from 'react';\nimport {Animated, StyleSheet, Easing, ViewStyle, ColorValue} from 'react-native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\n\ntype StyleSheetType = {\n container: ViewStyle;\n dot: ViewStyle;\n blue: ViewStyle;\n red: ViewStyle;\n green: ViewStyle;\n yellow: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center'\n },\n dot: {\n position: 'absolute'\n },\n blue: {\n backgroundColor: theme.colors.cta\n },\n red: {\n backgroundColor: theme.colors.negative\n },\n green: {\n backgroundColor: theme.colors.positive\n },\n yellow: {\n backgroundColor: theme.colors.battle\n }\n });\n\nexport type Props = {\n color?: ColorValue;\n height?: number;\n readyToHide: boolean;\n};\n\nconst CYCLE_DURATION = 3000;\nconst MIN_TIME = 1000;\n\nconst Loader = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const [hidden, setHidden] = useState<boolean>(false);\n const [minTimeIsSpent, setMinTimeSpent] = useState<boolean>(false);\n\n const rotation = useRef<Animated.Value>(new Animated.Value(0)).current;\n const scale = useRef<Animated.Value>(new Animated.Value(0)).current;\n\n const hideAnimation = useAnimateProp({\n property: 'opacity',\n fromValue: 1,\n toValue: 0,\n onComplete: () => {\n setHidden(true);\n }\n });\n\n const {height = 60, color, readyToHide} = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n useEffect(() => {\n if (readyToHide && minTimeIsSpent && !hidden) {\n hideAnimation.start();\n }\n }, [hidden, hideAnimation, readyToHide, minTimeIsSpent]);\n\n useEffect(() => {\n setTimeout(() => {\n setMinTimeSpent(true);\n }, MIN_TIME);\n\n const _animation = Animated.parallel([\n Animated.loop(\n Animated.sequence([\n Animated.timing(scale, {toValue: 0, duration: 0, useNativeDriver: false}),\n Animated.timing(scale, {\n toValue: 1,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n }),\n Animated.timing(scale, {\n toValue: 2,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n }),\n Animated.timing(scale, {\n toValue: 3,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n })\n ])\n ),\n Animated.loop(\n Animated.sequence([\n Animated.timing(rotation, {toValue: 0, duration: 0, useNativeDriver: false}),\n Animated.timing(rotation, {\n toValue: 1,\n duration: CYCLE_DURATION,\n useNativeDriver: false,\n easing: Easing.inOut(Easing.sin)\n })\n ])\n )\n ]);\n\n _animation.start();\n\n return () => {\n _animation.stop();\n };\n // eslint bad warning --> effect only onmount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!styleSheet) {\n return null;\n }\n\n if (hidden) {\n return null;\n }\n\n const interpolatedScale = scale.interpolate({\n inputRange: [0, 0.45, 1, 1.32, 1.5, 2, 2.3, 2.64, 3],\n outputRange: [0.5, 0.2, 0.5, 0.5, 0.8, 0.5, 0.5, 0.3, 0.5]\n });\n\n const interpolatedRotation = rotation.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg']\n });\n const dotWidth = rotation.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [height / 2, height / 6, height / 2]\n });\n const dotTranslate = rotation.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [-25 * (height / 60), -35 * (height / 60), -25 * (height / 60)]\n });\n const dotStyle = {\n width: dotWidth,\n height: height / 6,\n borderRadius: height / 12\n };\n\n return (\n <Animated.View style={hideAnimation.animatedStyle}>\n <Animated.View\n style={[\n styleSheet.container,\n {\n height,\n width: height,\n transform: [\n {scaleX: interpolatedScale},\n {scaleY: interpolatedScale},\n {rotateZ: interpolatedRotation}\n ]\n }\n ]}\n >\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.red,\n dotStyle,\n {transform: [{rotateZ: '45deg'}, {translateX: dotTranslate}]}\n ]}\n />\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.green,\n dotStyle,\n {transform: [{rotateZ: '135deg'}, {translateX: dotTranslate}]}\n ]}\n />\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.yellow,\n dotStyle,\n {transform: [{rotateZ: '225deg'}, {translateX: dotTranslate}]}\n ]}\n />\n <Animated.View\n style={[\n styleSheet.dot,\n color ? {backgroundColor: color} : styleSheet.blue,\n dotStyle,\n {transform: [{rotateZ: '315deg'}, {translateX: dotTranslate}]}\n ]}\n />\n </Animated.View>\n </Animated.View>\n );\n};\n\nexport default Loader;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/review-presentation/index.js"],"names":[],"mappings":";AAyGA,6DA+BC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/review-presentation/index.js"],"names":[],"mappings":";AA+CA,6DA+BC"}