@coorpacademy/components 11.10.1 → 11.10.2-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/atom/provider/web-context.d.ts +2 -2
- package/es/atom/provider/web-context.d.ts.map +1 -1
- package/es/atom/provider/web-context.js +1 -4
- package/es/atom/provider/web-context.js.map +1 -1
- package/es/atom/review-header-step-item/index.d.ts.map +1 -1
- package/es/atom/review-header-step-item/index.js +8 -3
- package/es/atom/review-header-step-item/index.js.map +1 -1
- package/es/molecule/answer/index.d.ts +3 -0
- package/es/molecule/answer/index.d.ts.map +1 -1
- package/es/molecule/answer/index.js +9 -3
- package/es/molecule/answer/index.js.map +1 -1
- package/es/molecule/questions/qcm-drag/index.d.ts.map +1 -1
- package/es/molecule/questions/qcm-drag/index.js +13 -7
- package/es/molecule/questions/qcm-drag/index.js.map +1 -1
- package/es/molecule/questions/qcm-drag/style.css +3 -0
- package/es/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
- package/es/molecule/questions/qcm-graphic/index.js +12 -5
- package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
- package/es/molecule/questions/qcm-graphic/style.css +3 -0
- package/es/organism/review-header/index.d.ts +23 -0
- package/es/organism/review-header/index.d.ts.map +1 -1
- package/es/organism/review-header/index.js +4 -0
- package/es/organism/review-header/index.js.map +1 -1
- package/es/template/activity/engine-stars.d.ts +1 -0
- package/es/template/activity/engine-stars.js +2 -1
- package/es/template/activity/engine-stars.js.map +1 -1
- package/es/template/activity/index.d.ts +1 -0
- package/es/template/activity/index.js +2 -1
- package/es/template/activity/index.js.map +1 -1
- package/es/template/activity/stars-summary.d.ts +1 -0
- package/es/template/activity/stars-summary.js +2 -1
- package/es/template/activity/stars-summary.js.map +1 -1
- package/es/util/render-with-context.d.ts.map +1 -1
- package/es/util/render-with-context.js +13 -6
- package/es/util/render-with-context.js.map +1 -1
- package/lib/atom/provider/web-context.d.ts +2 -2
- package/lib/atom/provider/web-context.d.ts.map +1 -1
- package/lib/atom/provider/web-context.js +1 -5
- package/lib/atom/provider/web-context.js.map +1 -1
- package/lib/atom/review-header-step-item/index.d.ts.map +1 -1
- package/lib/atom/review-header-step-item/index.js +12 -3
- package/lib/atom/review-header-step-item/index.js.map +1 -1
- package/lib/molecule/answer/index.d.ts +3 -0
- package/lib/molecule/answer/index.d.ts.map +1 -1
- package/lib/molecule/answer/index.js +9 -3
- package/lib/molecule/answer/index.js.map +1 -1
- package/lib/molecule/questions/qcm-drag/index.d.ts.map +1 -1
- package/lib/molecule/questions/qcm-drag/index.js +13 -7
- package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
- package/lib/molecule/questions/qcm-drag/style.css +3 -0
- package/lib/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
- package/lib/molecule/questions/qcm-graphic/index.js +12 -5
- package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
- package/lib/molecule/questions/qcm-graphic/style.css +3 -0
- package/lib/organism/review-header/index.d.ts +23 -0
- package/lib/organism/review-header/index.d.ts.map +1 -1
- package/lib/organism/review-header/index.js +5 -0
- package/lib/organism/review-header/index.js.map +1 -1
- package/lib/template/activity/engine-stars.d.ts +1 -0
- package/lib/template/activity/engine-stars.js +2 -1
- package/lib/template/activity/engine-stars.js.map +1 -1
- package/lib/template/activity/index.d.ts +1 -0
- package/lib/template/activity/index.js +2 -1
- package/lib/template/activity/index.js.map +1 -1
- package/lib/template/activity/stars-summary.d.ts +1 -0
- package/lib/template/activity/stars-summary.js +2 -1
- package/lib/template/activity/stars-summary.js.map +1 -1
- package/lib/util/render-with-context.d.ts.map +1 -1
- package/lib/util/render-with-context.js +18 -6
- package/lib/util/render-with-context.js.map +1 -1
- package/package.json +2 -2
- package/locales/.mtslconfig.json +0 -1
|
@@ -1 +1 @@
|
|
|
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":";;AAAA,OAAOA,KAAP,IAAeC,WAAf,QAAiC,OAAjC;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,OAAP,MAAoB,mBAApB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,QAAP,IAAkBC,kBAAlB,QAA2C,qBAA3C;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,WAAP,MAAwB,gBAAxB;AACA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,YAAY,GAAGd,GAAG,CAACe,OAAJ,CAAY;EAACC,GAAG,EAAE;AAAN,CAAZ,CAArB;;AAEA,MAAMC,WAAW,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EAC5C,MAAM;IACJC,SADI;IAEJC,YAFI;IAGJC,cAAc,GAAG,EAHb;IAIJC,YAAY,GAAG,EAJX;IAKJC,iBALI;IAMJC,KANI;IAOJC,OAAO,GAAG,EAPN;IAQJC,WAAW,GAAG,EARV;IASJC;EATI,IAUFV,KAVJ;EAWA,MAAMW,IAAI,GAAGvB,kBAAkB,CAACa,aAAD,CAA/B;EACA,MAAM;IAACW,QAAQ,EAAEC;EAAX,IAAkCJ,WAAxC;EAEA,MAAMK,WAAW,GAAGnC,WAAW,CAC7BoC,CAAC,IAAI;IACHA,CAAC,CAACC,eAAF;IACAD,CAAC,CAACE,cAAF;IACA,MAAM;MAACC,OAAO,GAAGnC;IAAX,IAAmBqB,cAAzB;IACAc,OAAO,CAACH,CAAD,CAAP;EACD,CAN4B,EAO7B,CAACX,cAAD,CAP6B,CAA/B;EAUA,MAAMe,iBAAiB,GAAGxC,WAAW,CACnCoC,CAAC,IAAI;IACHF,mBAAmB,IAAIA,mBAAmB,CAACE,CAAD,CAA1C;EACD,CAHkC,EAInC,CAACF,mBAAD,CAJmC,CAArC;EAOA,MAAMO,OAAO,GAAGxC,GAAG,CAAC,gBAAD,EAAmB+B,IAAnB,CAAnB;EACA,MAAMU,MAAM,GAAGX,OAAO,gBACpB;IAAK,SAAS,EAAEf,KAAK,CAAC0B;EAAtB,gBACE,oBAAC,MAAD,OADF,CADoB,GAIlB,IAJJ;EAKA,MAAMC,eAAe,GAAG1B,YAAY,CAClC,CAAC2B,WAAD,EAAcC,KAAd,kBACE,oBAAC,eAAD,eACMxC,IAAI,CAAC,CAAC,KAAD,CAAD,EAAUuC,WAAV,CADV;IAEE,GAAG,EAAG,GAAEC,KAAM,IAAGD,WAAW,CAACE,GAAI,EAFnC;IAGE,iBAAiB,EAAEnB;EAHrB,GAFgC,EAQlCD,YARkC,CAApC;EAWA,MAAMqB,eAAe,gBACnB;IAAK,aAAU,cAAf;IAA8B,SAAS,EAAE/B,KAAK,CAACgC;EAA/C,GACGL,eADH,CADF;EAKA,MAAMM,WAAW,GAAG,CAAC/C,OAAO,CAAC4B,WAAW,CAACoB,OAAb,CAAR,gBAClB,oBAAC,MAAD;IACE,eAAe,EAAElC,KAAK,CAACmC,YADzB;IAEE,SAAS,EAAEnC,KAAK,CAACoC,MAFnB;IAGE,KAAK,EAAC,aAHR;IAIE,OAAO,EAAEtB,WAAW,CAACoB,OAJvB;IAKE,QAAQ,EAAEV;EALZ,EADkB,GAQhB,IARJ;EASA,MAAMa,qBAAqB,GAAG,CAACnD,OAAO,CAACuB,cAAD,CAAR,gBAC5B;IAAK,SAAS,EAAET,KAAK,CAACsC;EAAtB,gBACE;IAAG,SAAS,EAAEtC,KAAK,CAACqC;EAApB,GAA4C5B,cAAc,CAAC8B,KAA3D,MADF,eAEE;IAAG,SAAS,EAAEvC,KAAK,CAACqC;EAApB,gBACE,kCAAO5B,cAAc,CAAC+B,QAAtB,MADF,eAEE;IACE,SAAS,EAAEjD,UAAU,CAACS,KAAK,CAACyC,MAAP,EAAezC,KAAK,CAAC0C,SAArB,CADvB,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAElC,cAAc,CAACmC;IAAxB;EAH3B,EAFF,CAFF,eAUE,oBAAC,MAAD;IACE,IAAI,EAAC,MADP;IAEE,OAAO,EAAEzB,WAFX;IAGE,WAAW,EAAEV,cAAc,CAACoC,GAH9B;IAIE,KAAK,EAAE;MACLC,eAAe,EAAErB;IADZ,CAJT;IAOE,SAAS,EAAEzB,KAAK,CAAC6C;EAPnB,EAVF,CAD4B,GAqB1B,IArBJ;EAuBA,oBACE;IAAK,SAAS,EAAE7C,KAAK,CAAC+C;EAAtB,gBACE;IAAK,aAAU,iBAAf;IAAiC,QAAQ,EAAE;EAA3C,gBACE;IAAK,SAAS,EAAE/C,KAAK,CAACO,SAAtB;IAAiC,QAAQ,EAAE;EAA3C,gBACE,kCAAOA,SAAP,CADF,OAC4BC,YAD5B,CADF,eAIE;IAAK,SAAS,EAAER,KAAK,CAACgD,iBAAtB;IAAyC,QAAQ,EAAE;EAAnD,gBACE;IAAK,SAAS,EAAEhD,KAAK,CAACiD,UAAtB;IAAkC,QAAQ,EAAE;EAA5C,GACGhB,WADH,EAEGI,qBAFH,CADF,eAKE,oBAAC,YAAD;IAAc,OAAO,EAAExB,OAAvB;IAAgC,KAAK,EAAED;EAAvC,EALF,CAJF,CADF,eAaE;IAAK,SAAS,EAAEZ,KAAK,CAACkD,kBAAtB;IAA0C,aAAU;EAApD,GACGnB,eADH,EAEGL,MAFH,CAbF,CADF;AAoBD,CA1GD;;AA4GAtB,WAAW,CAAC+C,YAAZ,GAA2B;EACzBnC,IAAI,EAAExB,QAAQ,CAAC4D,iBAAT,CAA2BpC;AADR,CAA3B;AAIAZ,WAAW,CAACiD,SAAZ,2CAAwB;EACtB9C,SAAS,EAAEjB,SAAS,CAACgE,MAAV,CAAiBC,UADN;EAEtB/C,YAAY,EAAElB,SAAS,CAACgE,MAAV,CAAiBC,UAFT;EAGtB5C,iBAAiB,EAAErB,SAAS,CAACgE,MAHP;EAItB1C,KAAK,EAAEtB,SAAS,CAACkE,KAAV,CAAgB;IACrBC,KAAK,EAAEnE,SAAS,CAACgE,MAAV,CAAiBC,UADH;IAErBG,KAAK,EAAEpE,SAAS,CAACqE,MAAV,CAAiBJ;EAFH,CAAhB,EAGJA,UAPmB;EAQtB1C,OAAO,EAAEvB,SAAS,CAACsE,OAAV,CAAkBtE,SAAS,CAACkE,KAAV,CAAgB1D,WAAW,CAACuD,SAA5B,CAAlB,CARa;EAStBtC,OAAO,EAAEzB,SAAS,CAACuE,IAAV,CAAeN,UATF;EAUtB7C,YAAY,EAAEpB,SAAS,CAACsE,OAAV,CACZtE,SAAS,CAACkE,KAAV,cAAoB3D,eAAe,CAACwD,SAApC;IAA+CvB,GAAG,EAAExC,SAAS,CAACgE,MAAV,CAAiBC;EAArE,GADY,CAVQ;EAatBzC,WAAW,EAAExB,SAAS,CAACkE,KAAV,CAAgB;IAC3BtB,OAAO,EAAEvC,MAAM,CAAC0D,SAAP,CAAiBnB,OAAjB,CAAyBqB,UADP;IAE3BtC,QAAQ,EAAEtB,MAAM,CAAC0D,SAAP,CAAiBpC;EAFA,CAAhB,CAbS;EAiBtBR,cAAc,EAAEnB,SAAS,CAACkE,KAAV,CAAgB;IAC9BX,GAAG,EAAEvD,SAAS,CAACgE,MAAV,CAAiBC,UADQ;IAE9BhB,KAAK,EAAEjD,SAAS,CAACgE,MAAV,CAAiBC,UAFM;IAG9Bf,QAAQ,EAAElD,SAAS,CAACgE,MAAV,CAAiBC,UAHG;IAI9BX,WAAW,EAAEtD,SAAS,CAACgE,MAAV,CAAiBC,UAJA;IAK9BhC,OAAO,EAAEjC,SAAS,CAACwE;EALW,CAAhB;AAjBM,CAAxB;AA0BA,eAAe1D,WAAf"}
|
|
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","translate","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 translate: Provider.childContextTypes.translate\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":";;AAAA,OAAOA,KAAP,IAAeC,WAAf,QAAiC,OAAjC;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,OAAP,MAAoB,mBAApB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,QAAP,IAAkBC,kBAAlB,QAA2C,qBAA3C;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,WAAP,MAAwB,gBAAxB;AACA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,YAAY,GAAGd,GAAG,CAACe,OAAJ,CAAY;EAACC,GAAG,EAAE;AAAN,CAAZ,CAArB;;AAEA,MAAMC,WAAW,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EAC5C,MAAM;IACJC,SADI;IAEJC,YAFI;IAGJC,cAAc,GAAG,EAHb;IAIJC,YAAY,GAAG,EAJX;IAKJC,iBALI;IAMJC,KANI;IAOJC,OAAO,GAAG,EAPN;IAQJC,WAAW,GAAG,EARV;IASJC;EATI,IAUFV,KAVJ;EAWA,MAAMW,IAAI,GAAGvB,kBAAkB,CAACa,aAAD,CAA/B;EACA,MAAM;IAACW,QAAQ,EAAEC;EAAX,IAAkCJ,WAAxC;EAEA,MAAMK,WAAW,GAAGnC,WAAW,CAC7BoC,CAAC,IAAI;IACHA,CAAC,CAACC,eAAF;IACAD,CAAC,CAACE,cAAF;IACA,MAAM;MAACC,OAAO,GAAGnC;IAAX,IAAmBqB,cAAzB;IACAc,OAAO,CAACH,CAAD,CAAP;EACD,CAN4B,EAO7B,CAACX,cAAD,CAP6B,CAA/B;EAUA,MAAMe,iBAAiB,GAAGxC,WAAW,CACnCoC,CAAC,IAAI;IACHF,mBAAmB,IAAIA,mBAAmB,CAACE,CAAD,CAA1C;EACD,CAHkC,EAInC,CAACF,mBAAD,CAJmC,CAArC;EAOA,MAAMO,OAAO,GAAGxC,GAAG,CAAC,gBAAD,EAAmB+B,IAAnB,CAAnB;EACA,MAAMU,MAAM,GAAGX,OAAO,gBACpB;IAAK,SAAS,EAAEf,KAAK,CAAC0B;EAAtB,gBACE,oBAAC,MAAD,OADF,CADoB,GAIlB,IAJJ;EAKA,MAAMC,eAAe,GAAG1B,YAAY,CAClC,CAAC2B,WAAD,EAAcC,KAAd,kBACE,oBAAC,eAAD,eACMxC,IAAI,CAAC,CAAC,KAAD,CAAD,EAAUuC,WAAV,CADV;IAEE,GAAG,EAAG,GAAEC,KAAM,IAAGD,WAAW,CAACE,GAAI,EAFnC;IAGE,iBAAiB,EAAEnB;EAHrB,GAFgC,EAQlCD,YARkC,CAApC;EAWA,MAAMqB,eAAe,gBACnB;IAAK,aAAU,cAAf;IAA8B,SAAS,EAAE/B,KAAK,CAACgC;EAA/C,GACGL,eADH,CADF;EAKA,MAAMM,WAAW,GAAG,CAAC/C,OAAO,CAAC4B,WAAW,CAACoB,OAAb,CAAR,gBAClB,oBAAC,MAAD;IACE,eAAe,EAAElC,KAAK,CAACmC,YADzB;IAEE,SAAS,EAAEnC,KAAK,CAACoC,MAFnB;IAGE,KAAK,EAAC,aAHR;IAIE,OAAO,EAAEtB,WAAW,CAACoB,OAJvB;IAKE,QAAQ,EAAEV;EALZ,EADkB,GAQhB,IARJ;EASA,MAAMa,qBAAqB,GAAG,CAACnD,OAAO,CAACuB,cAAD,CAAR,gBAC5B;IAAK,SAAS,EAAET,KAAK,CAACsC;EAAtB,gBACE;IAAG,SAAS,EAAEtC,KAAK,CAACqC;EAApB,GAA4C5B,cAAc,CAAC8B,KAA3D,MADF,eAEE;IAAG,SAAS,EAAEvC,KAAK,CAACqC;EAApB,gBACE,kCAAO5B,cAAc,CAAC+B,QAAtB,MADF,eAEE;IACE,SAAS,EAAEjD,UAAU,CAACS,KAAK,CAACyC,MAAP,EAAezC,KAAK,CAAC0C,SAArB,CADvB,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAElC,cAAc,CAACmC;IAAxB;EAH3B,EAFF,CAFF,eAUE,oBAAC,MAAD;IACE,IAAI,EAAC,MADP;IAEE,OAAO,EAAEzB,WAFX;IAGE,WAAW,EAAEV,cAAc,CAACoC,GAH9B;IAIE,KAAK,EAAE;MACLC,eAAe,EAAErB;IADZ,CAJT;IAOE,SAAS,EAAEzB,KAAK,CAAC6C;EAPnB,EAVF,CAD4B,GAqB1B,IArBJ;EAuBA,oBACE;IAAK,SAAS,EAAE7C,KAAK,CAAC+C;EAAtB,gBACE;IAAK,aAAU,iBAAf;IAAiC,QAAQ,EAAE;EAA3C,gBACE;IAAK,SAAS,EAAE/C,KAAK,CAACO,SAAtB;IAAiC,QAAQ,EAAE;EAA3C,gBACE,kCAAOA,SAAP,CADF,OAC4BC,YAD5B,CADF,eAIE;IAAK,SAAS,EAAER,KAAK,CAACgD,iBAAtB;IAAyC,QAAQ,EAAE;EAAnD,gBACE;IAAK,SAAS,EAAEhD,KAAK,CAACiD,UAAtB;IAAkC,QAAQ,EAAE;EAA5C,GACGhB,WADH,EAEGI,qBAFH,CADF,eAKE,oBAAC,YAAD;IAAc,OAAO,EAAExB,OAAvB;IAAgC,KAAK,EAAED;EAAvC,EALF,CAJF,CADF,eAaE;IAAK,SAAS,EAAEZ,KAAK,CAACkD,kBAAtB;IAA0C,aAAU;EAApD,GACGnB,eADH,EAEGL,MAFH,CAbF,CADF;AAoBD,CA1GD;;AA4GAtB,WAAW,CAAC+C,YAAZ,GAA2B;EACzBnC,IAAI,EAAExB,QAAQ,CAAC4D,iBAAT,CAA2BpC,IADR;EAEzBqC,SAAS,EAAE7D,QAAQ,CAAC4D,iBAAT,CAA2BC;AAFb,CAA3B;AAKAjD,WAAW,CAACkD,SAAZ,2CAAwB;EACtB/C,SAAS,EAAEjB,SAAS,CAACiE,MAAV,CAAiBC,UADN;EAEtBhD,YAAY,EAAElB,SAAS,CAACiE,MAAV,CAAiBC,UAFT;EAGtB7C,iBAAiB,EAAErB,SAAS,CAACiE,MAHP;EAItB3C,KAAK,EAAEtB,SAAS,CAACmE,KAAV,CAAgB;IACrBC,KAAK,EAAEpE,SAAS,CAACiE,MAAV,CAAiBC,UADH;IAErBG,KAAK,EAAErE,SAAS,CAACsE,MAAV,CAAiBJ;EAFH,CAAhB,EAGJA,UAPmB;EAQtB3C,OAAO,EAAEvB,SAAS,CAACuE,OAAV,CAAkBvE,SAAS,CAACmE,KAAV,CAAgB3D,WAAW,CAACwD,SAA5B,CAAlB,CARa;EAStBvC,OAAO,EAAEzB,SAAS,CAACwE,IAAV,CAAeN,UATF;EAUtB9C,YAAY,EAAEpB,SAAS,CAACuE,OAAV,CACZvE,SAAS,CAACmE,KAAV,cAAoB5D,eAAe,CAACyD,SAApC;IAA+CxB,GAAG,EAAExC,SAAS,CAACiE,MAAV,CAAiBC;EAArE,GADY,CAVQ;EAatB1C,WAAW,EAAExB,SAAS,CAACmE,KAAV,CAAgB;IAC3BvB,OAAO,EAAEvC,MAAM,CAAC2D,SAAP,CAAiBpB,OAAjB,CAAyBsB,UADP;IAE3BvC,QAAQ,EAAEtB,MAAM,CAAC2D,SAAP,CAAiBrC;EAFA,CAAhB,CAbS;EAiBtBR,cAAc,EAAEnB,SAAS,CAACmE,KAAV,CAAgB;IAC9BZ,GAAG,EAAEvD,SAAS,CAACiE,MAAV,CAAiBC,UADQ;IAE9BjB,KAAK,EAAEjD,SAAS,CAACiE,MAAV,CAAiBC,UAFM;IAG9BhB,QAAQ,EAAElD,SAAS,CAACiE,MAAV,CAAiBC,UAHG;IAI9BZ,WAAW,EAAEtD,SAAS,CAACiE,MAAV,CAAiBC,UAJA;IAK9BjC,OAAO,EAAEjC,SAAS,CAACyE;EALW,CAAhB;AAjBM,CAAxB;AA0BA,eAAe3D,WAAf"}
|
|
@@ -151,7 +151,8 @@ StarsSummary.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
151
151
|
engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)).isRequired
|
|
152
152
|
} : {};
|
|
153
153
|
StarsSummary.contextTypes = {
|
|
154
|
-
skin: Provider.childContextTypes.skin
|
|
154
|
+
skin: Provider.childContextTypes.skin,
|
|
155
|
+
translate: Provider.childContextTypes.translate
|
|
155
156
|
};
|
|
156
157
|
export default StarsSummary;
|
|
157
158
|
//# sourceMappingURL=stars-summary.js.map
|
|
@@ -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 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":"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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","translate"],"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 translate: Provider.childContextTypes.translate\n};\n\nexport default StarsSummary;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-with-context.d.ts","sourceRoot":"","sources":["../../src/util/render-with-context.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render-with-context.d.ts","sourceRoot":"","sources":["../../src/util/render-with-context.js"],"names":[],"mappings":"AAOO,8LA0BN"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const _excluded = ["context"],
|
|
1
|
+
const _excluded = ["context", "useLegacyProvider"],
|
|
2
2
|
_excluded2 = ["translate"];
|
|
3
3
|
|
|
4
4
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
@@ -8,11 +8,13 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
10
|
import { render } from '@testing-library/react';
|
|
11
|
+
import has from 'lodash/fp/has';
|
|
11
12
|
import { mockTranslate } from '@coorpacademy/translate';
|
|
12
|
-
import Provider from '../atom/provider';
|
|
13
|
+
import Provider, { WebContext } from '../atom/provider';
|
|
13
14
|
export const renderWithContext = (component, options = {}) => {
|
|
14
15
|
const {
|
|
15
|
-
context = {}
|
|
16
|
+
context = {},
|
|
17
|
+
useLegacyProvider = false
|
|
16
18
|
} = options,
|
|
17
19
|
renderOptions = _objectWithoutPropertiesLoose(options, _excluded); // uses mockTranslate as a default translate function
|
|
18
20
|
|
|
@@ -24,9 +26,14 @@ export const renderWithContext = (component, options = {}) => {
|
|
|
24
26
|
|
|
25
27
|
const wrapper = ({
|
|
26
28
|
children
|
|
27
|
-
}) =>
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
}) => {
|
|
30
|
+
const hasContextTypes = useLegacyProvider || has(['type', 'contextTypes'], children);
|
|
31
|
+
return hasContextTypes ? /*#__PURE__*/React.createElement(Provider, _extends({}, rest, {
|
|
32
|
+
translate: translate
|
|
33
|
+
}), children) : /*#__PURE__*/React.createElement(WebContext, _extends({}, rest, {
|
|
34
|
+
translate: translate
|
|
35
|
+
}), children);
|
|
36
|
+
};
|
|
30
37
|
|
|
31
38
|
wrapper.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
32
39
|
children: PropTypes.node
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-with-context.js","names":["React","PropTypes","render","mockTranslate","Provider","renderWithContext","component","options","context","renderOptions","translate","rest","wrapper","children","propTypes","node"],"sources":["../../src/util/render-with-context.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {render} from '@testing-library/react';\nimport {mockTranslate} from '@coorpacademy/translate';\nimport Provider from '../atom/provider';\n\nexport const renderWithContext = (component, options = {}) => {\n const {context = {}, ...renderOptions} = options;\n // uses mockTranslate as a default translate function\n const {translate = mockTranslate, ...rest} = context;\n\n const wrapper = ({children}) => (\n
|
|
1
|
+
{"version":3,"file":"render-with-context.js","names":["React","PropTypes","render","has","mockTranslate","Provider","WebContext","renderWithContext","component","options","context","useLegacyProvider","renderOptions","translate","rest","wrapper","children","hasContextTypes","propTypes","node"],"sources":["../../src/util/render-with-context.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {render} from '@testing-library/react';\nimport has from 'lodash/fp/has';\nimport {mockTranslate} from '@coorpacademy/translate';\nimport Provider, {WebContext} from '../atom/provider';\n\nexport const renderWithContext = (component, options = {}) => {\n const {context = {}, useLegacyProvider = false, ...renderOptions} = options;\n // uses mockTranslate as a default translate function\n const {translate = mockTranslate, ...rest} = context;\n\n const wrapper = ({children}) => {\n const hasContextTypes = useLegacyProvider || has(['type', 'contextTypes'], children);\n return hasContextTypes ? (\n <Provider {...rest} translate={translate}>\n {children}\n </Provider>\n ) : (\n <WebContext {...rest} translate={translate}>\n {children}\n </WebContext>\n );\n };\n\n wrapper.propTypes = {\n children: PropTypes.node\n };\n\n return render(component, {\n ...renderOptions,\n wrapper\n });\n};\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAAQC,MAAR,QAAqB,wBAArB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,SAAQC,aAAR,QAA4B,yBAA5B;AACA,OAAOC,QAAP,IAAkBC,UAAlB,QAAmC,kBAAnC;AAEA,OAAO,MAAMC,iBAAiB,GAAG,CAACC,SAAD,EAAYC,OAAO,GAAG,EAAtB,KAA6B;EAC5D,MAAM;IAACC,OAAO,GAAG,EAAX;IAAeC,iBAAiB,GAAG;EAAnC,IAA8DF,OAApE;EAAA,MAAmDG,aAAnD,iCAAoEH,OAApE,aAD4D,CAE5D;;;EACA,MAAM;IAACI,SAAS,GAAGT;EAAb,IAAuCM,OAA7C;EAAA,MAAqCI,IAArC,iCAA6CJ,OAA7C;;EAEA,MAAMK,OAAO,GAAG,CAAC;IAACC;EAAD,CAAD,KAAgB;IAC9B,MAAMC,eAAe,GAAGN,iBAAiB,IAAIR,GAAG,CAAC,CAAC,MAAD,EAAS,cAAT,CAAD,EAA2Ba,QAA3B,CAAhD;IACA,OAAOC,eAAe,gBACpB,oBAAC,QAAD,eAAcH,IAAd;MAAoB,SAAS,EAAED;IAA/B,IACGG,QADH,CADoB,gBAKpB,oBAAC,UAAD,eAAgBF,IAAhB;MAAsB,SAAS,EAAED;IAAjC,IACGG,QADH,CALF;EASD,CAXD;;EAaAD,OAAO,CAACG,SAAR,2CAAoB;IAClBF,QAAQ,EAAEf,SAAS,CAACkB;EADF,CAApB;EAIA,OAAOjB,MAAM,CAACM,SAAD,eACRI,aADQ;IAEXG;EAFW,GAAb;AAID,CA1BM"}
|
|
@@ -4,9 +4,9 @@ declare type Skin = {
|
|
|
4
4
|
primary: string;
|
|
5
5
|
};
|
|
6
6
|
};
|
|
7
|
-
declare type WebContextValues = {
|
|
7
|
+
export declare type WebContextValues = {
|
|
8
8
|
skin?: Skin;
|
|
9
|
-
translate
|
|
9
|
+
translate?: (key: string, data?: Record<string, string>) => string;
|
|
10
10
|
};
|
|
11
11
|
declare type Props = WebContextValues & {
|
|
12
12
|
children: ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-context.d.ts","sourceRoot":"","sources":["../../../src/atom/provider/web-context.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAgB,SAAS,EAAa,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"web-context.d.ts","sourceRoot":"","sources":["../../../src/atom/provider/web-context.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAgB,SAAS,EAAa,MAAM,OAAO,CAAC;AAElE,aAAK,IAAI,GAAG;IACV,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;CACpE,CAAC;AAIF,aAAK,KAAK,GAAG,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,UAAU,2BAA0B,KAAK,gBAE9C,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,gBAQhC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -5,8 +5,6 @@ exports.useWebContext = exports.default = void 0;
|
|
|
5
5
|
|
|
6
6
|
var _react = _interopRequireWildcard(require("react"));
|
|
7
7
|
|
|
8
|
-
var _translate = require("@coorpacademy/translate");
|
|
9
|
-
|
|
10
8
|
const _excluded = ["children"];
|
|
11
9
|
|
|
12
10
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -15,9 +13,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
15
13
|
|
|
16
14
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
17
15
|
|
|
18
|
-
const Context = /*#__PURE__*/(0, _react.createContext)({
|
|
19
|
-
translate: _translate.mockTranslate
|
|
20
|
-
});
|
|
16
|
+
const Context = /*#__PURE__*/(0, _react.createContext)({});
|
|
21
17
|
|
|
22
18
|
const WebContext = _ref => {
|
|
23
19
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-context.js","names":["Context","createContext","
|
|
1
|
+
{"version":3,"file":"web-context.js","names":["Context","createContext","WebContext","children","value","useWebContext","context","useContext","Error"],"sources":["../../../src/atom/provider/web-context.tsx"],"sourcesContent":["import React, {createContext, ReactNode, useContext} from 'react';\n\ntype Skin = {\n common: {\n primary: string;\n };\n};\n\nexport type WebContextValues = {\n skin?: Skin;\n translate?: (key: string, data?: Record<string, string>) => string;\n};\n\nconst Context = createContext({});\n\ntype Props = WebContextValues & {\n children: ReactNode;\n};\n\nconst WebContext = ({children, ...value}: Props) => {\n return <Context.Provider value={value}>{children}</Context.Provider>;\n};\n\nexport const useWebContext = (): WebContextValues => {\n const context = useContext(Context);\n\n if (!context) {\n throw new Error('❌ [WebContext] useWebContext must be used within a provider <WebContext>');\n }\n\n return context;\n};\n\nexport default WebContext;\n"],"mappings":";;;;;AAAA;;;;;;;;;;AAaA,MAAMA,OAAO,gBAAG,IAAAC,oBAAA,EAAc,EAAd,CAAhB;;AAMA,MAAMC,UAAU,GAAG,QAAiC;EAAA,IAAhC;IAACC;EAAD,CAAgC;EAAA,IAAlBC,KAAkB;;EAClD,oBAAO,6BAAC,OAAD,CAAS,QAAT;IAAkB,KAAK,EAAEA;EAAzB,GAAiCD,QAAjC,CAAP;AACD,CAFD;;AAIO,MAAME,aAAa,GAAG,MAAwB;EACnD,MAAMC,OAAO,GAAG,IAAAC,iBAAA,EAAWP,OAAX,CAAhB;;EAEA,IAAI,CAACM,OAAL,EAAc;IACZ,MAAM,IAAIE,KAAJ,CAAU,0EAAV,CAAN;EACD;;EAED,OAAOF,OAAP;AACD,CARM;;;eAUQJ,U"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/review-header-step-item/index.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/review-header-step-item/index.tsx"],"names":[],"mappings":";AASA,OAAkB,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAsDvD,QAAA,MAAM,oBAAoB;YAAW,mBAAmB;;;;;;CAevD,CAAC;AAWF,eAAe,oBAAoB,CAAC"}
|
|
@@ -9,21 +9,25 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
9
9
|
|
|
10
10
|
var _novaIcons = require("@coorpacademy/nova-icons");
|
|
11
11
|
|
|
12
|
-
var _provider = require("../provider");
|
|
12
|
+
var _provider = _interopRequireWildcard(require("../provider"));
|
|
13
13
|
|
|
14
14
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
15
15
|
|
|
16
16
|
var _types = _interopRequireDefault(require("./types"));
|
|
17
17
|
|
|
18
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
|
|
20
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
|
|
21
|
+
|
|
18
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
23
|
|
|
20
|
-
const Content = props => {
|
|
24
|
+
const Content = (props, legacyContext) => {
|
|
21
25
|
const {
|
|
22
26
|
icon,
|
|
23
27
|
current,
|
|
24
28
|
value
|
|
25
29
|
} = props;
|
|
26
|
-
const translate = (0, _provider.GetTranslateFromContext)();
|
|
30
|
+
const translate = (0, _provider.GetTranslateFromContext)(legacyContext);
|
|
27
31
|
let child;
|
|
28
32
|
let ariaDescription;
|
|
29
33
|
|
|
@@ -79,6 +83,11 @@ const ReviewHeaderStepItem = props => {
|
|
|
79
83
|
}, /*#__PURE__*/_react.default.createElement(Content, props));
|
|
80
84
|
};
|
|
81
85
|
|
|
86
|
+
Content.propTypes = process.env.NODE_ENV !== "production" ? _types.default : {};
|
|
87
|
+
Content.contextTypes = {
|
|
88
|
+
skin: _provider.default.childContextTypes.skin,
|
|
89
|
+
translate: _provider.default.childContextTypes.translate
|
|
90
|
+
};
|
|
82
91
|
ReviewHeaderStepItem.propTypes = process.env.NODE_ENV !== "production" ? _types.default : {};
|
|
83
92
|
var _default = ReviewHeaderStepItem;
|
|
84
93
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Content","props","icon","current","value","translate","GetTranslateFromContext","child","ariaDescription","headerStepValue","classnames","style","rightIcon","currentRightIcon","wrongIcon","currentWrongIcon","ReviewHeaderStepItem","default","right","wrong","propTypes"],"sources":["../../../src/atom/review-header-step-item/index.tsx"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport {GetTranslateFromContext} from '../provider';\nimport style from './style.css';\nimport propTypes, {HeaderStepItemProps} from './types';\n\nconst Content = (props: HeaderStepItemProps) => {\n const {icon, current, value} = props;\n const translate = GetTranslateFromContext();\n let child;\n let ariaDescription;\n switch (icon) {\n case 'no-answer':\n child = value;\n ariaDescription = current\n ? translate('review_header_step_item.current_question', {\n headerStepValue: value\n })\n : translate('review_header_step_item.not_answered_question', {\n headerStepValue: value\n });\n break;\n\n case 'right':\n child = (\n <RightIcon className={classnames(style.rightIcon, current && style.currentRightIcon)} />\n );\n ariaDescription = translate('review_header_step_item.correct_question', {\n headerStepValue: value\n });\n break;\n\n case 'wrong':\n child = (\n <WrongIcon className={classnames(style.wrongIcon, current && style.currentWrongIcon)} />\n );\n ariaDescription = translate('review_header_step_item.incorrect_question', {\n headerStepValue: value\n });\n break;\n\n default:\n return null;\n }\n\n return (\n <span\n className={style.value}\n aria-label={translate('review_header_step_item.aria_label', {\n headerStepValue: value\n })}\n aria-describedby={ariaDescription}\n >\n {child}\n </span>\n );\n};\n\nconst ReviewHeaderStepItem = (props: HeaderStepItemProps) => {\n const {icon, current} = props;\n return (\n <div\n className={classnames(\n style.default,\n icon === 'right' && style.right,\n icon === 'wrong' && style.wrong,\n current && style.current\n )}\n data-name=\"header-step-item\"\n >\n <Content {...props} />\n </div>\n );\n};\n\nReviewHeaderStepItem.propTypes = propTypes;\n\nexport default ReviewHeaderStepItem;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AAIA;;
|
|
1
|
+
{"version":3,"file":"index.js","names":["Content","props","legacyContext","icon","current","value","translate","GetTranslateFromContext","child","ariaDescription","headerStepValue","classnames","style","rightIcon","currentRightIcon","wrongIcon","currentWrongIcon","ReviewHeaderStepItem","default","right","wrong","propTypes","contextTypes","skin","Provider","childContextTypes"],"sources":["../../../src/atom/review-header-step-item/index.tsx"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetTranslateFromContext} from '../provider';\nimport {WebContextValues} from '../provider/web-context';\nimport style from './style.css';\nimport propTypes, {HeaderStepItemProps} from './types';\n\nconst Content = (props: HeaderStepItemProps, legacyContext: WebContextValues) => {\n const {icon, current, value} = props;\n const translate = GetTranslateFromContext(legacyContext);\n let child;\n let ariaDescription;\n switch (icon) {\n case 'no-answer':\n child = value;\n ariaDescription = current\n ? translate('review_header_step_item.current_question', {\n headerStepValue: value\n })\n : translate('review_header_step_item.not_answered_question', {\n headerStepValue: value\n });\n break;\n\n case 'right':\n child = (\n <RightIcon className={classnames(style.rightIcon, current && style.currentRightIcon)} />\n );\n ariaDescription = translate('review_header_step_item.correct_question', {\n headerStepValue: value\n });\n break;\n\n case 'wrong':\n child = (\n <WrongIcon className={classnames(style.wrongIcon, current && style.currentWrongIcon)} />\n );\n ariaDescription = translate('review_header_step_item.incorrect_question', {\n headerStepValue: value\n });\n break;\n\n default:\n return null;\n }\n\n return (\n <span\n className={style.value}\n aria-label={translate('review_header_step_item.aria_label', {\n headerStepValue: value\n })}\n aria-describedby={ariaDescription}\n >\n {child}\n </span>\n );\n};\n\nconst ReviewHeaderStepItem = (props: HeaderStepItemProps) => {\n const {icon, current} = props;\n return (\n <div\n className={classnames(\n style.default,\n icon === 'right' && style.right,\n icon === 'wrong' && style.wrong,\n current && style.current\n )}\n data-name=\"header-step-item\"\n >\n <Content {...props} />\n </div>\n );\n};\n\nContent.propTypes = propTypes;\n\nContent.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nReviewHeaderStepItem.propTypes = propTypes;\n\nexport default ReviewHeaderStepItem;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AAIA;;AAEA;;AACA;;;;;;;;AAEA,MAAMA,OAAO,GAAG,CAACC,KAAD,EAA6BC,aAA7B,KAAiE;EAC/E,MAAM;IAACC,IAAD;IAAOC,OAAP;IAAgBC;EAAhB,IAAyBJ,KAA/B;EACA,MAAMK,SAAS,GAAG,IAAAC,iCAAA,EAAwBL,aAAxB,CAAlB;EACA,IAAIM,KAAJ;EACA,IAAIC,eAAJ;;EACA,QAAQN,IAAR;IACE,KAAK,WAAL;MACEK,KAAK,GAAGH,KAAR;MACAI,eAAe,GAAGL,OAAO,GACrBE,SAAS,CAAC,0CAAD,EAA6C;QACpDI,eAAe,EAAEL;MADmC,CAA7C,CADY,GAIrBC,SAAS,CAAC,+CAAD,EAAkD;QACzDI,eAAe,EAAEL;MADwC,CAAlD,CAJb;MAOA;;IAEF,KAAK,OAAL;MACEG,KAAK,gBACH,6BAAC,2CAAD;QAAW,SAAS,EAAE,IAAAG,mBAAA,EAAWC,cAAA,CAAMC,SAAjB,EAA4BT,OAAO,IAAIQ,cAAA,CAAME,gBAA7C;MAAtB,EADF;MAGAL,eAAe,GAAGH,SAAS,CAAC,0CAAD,EAA6C;QACtEI,eAAe,EAAEL;MADqD,CAA7C,CAA3B;MAGA;;IAEF,KAAK,OAAL;MACEG,KAAK,gBACH,6BAAC,+BAAD;QAAW,SAAS,EAAE,IAAAG,mBAAA,EAAWC,cAAA,CAAMG,SAAjB,EAA4BX,OAAO,IAAIQ,cAAA,CAAMI,gBAA7C;MAAtB,EADF;MAGAP,eAAe,GAAGH,SAAS,CAAC,4CAAD,EAA+C;QACxEI,eAAe,EAAEL;MADuD,CAA/C,CAA3B;MAGA;;IAEF;MACE,OAAO,IAAP;EA/BJ;;EAkCA,oBACE;IACE,SAAS,EAAEO,cAAA,CAAMP,KADnB;IAEE,cAAYC,SAAS,CAAC,oCAAD,EAAuC;MAC1DI,eAAe,EAAEL;IADyC,CAAvC,CAFvB;IAKE,oBAAkBI;EALpB,GAOGD,KAPH,CADF;AAWD,CAlDD;;AAoDA,MAAMS,oBAAoB,GAAIhB,KAAD,IAAgC;EAC3D,MAAM;IAACE,IAAD;IAAOC;EAAP,IAAkBH,KAAxB;EACA,oBACE;IACE,SAAS,EAAE,IAAAU,mBAAA,EACTC,cAAA,CAAMM,OADG,EAETf,IAAI,KAAK,OAAT,IAAoBS,cAAA,CAAMO,KAFjB,EAGThB,IAAI,KAAK,OAAT,IAAoBS,cAAA,CAAMQ,KAHjB,EAIThB,OAAO,IAAIQ,cAAA,CAAMR,OAJR,CADb;IAOE,aAAU;EAPZ,gBASE,6BAAC,OAAD,EAAaH,KAAb,CATF,CADF;AAaD,CAfD;;AAiBAD,OAAO,CAACqB,SAAR,2CAAoBA,cAApB;AAEArB,OAAO,CAACsB,YAAR,GAAuB;EACrBC,IAAI,EAAEC,iBAAA,CAASC,iBAAT,CAA2BF,IADZ;EAErBjB,SAAS,EAAEkB,iBAAA,CAASC,iBAAT,CAA2BnB;AAFjB,CAAvB;AAKAW,oBAAoB,CAACI,SAArB,2CAAiCA,cAAjC;eAEeJ,oB"}
|
|
@@ -2,6 +2,9 @@ export default Answer;
|
|
|
2
2
|
declare function Answer(props: any): JSX.Element;
|
|
3
3
|
declare namespace Answer {
|
|
4
4
|
export { propTypes };
|
|
5
|
+
export namespace contextTypes {
|
|
6
|
+
const translate: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
7
|
+
}
|
|
5
8
|
}
|
|
6
9
|
import propTypes from "./prop-types";
|
|
7
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/answer/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/answer/index.js"],"names":[],"mappings":";AA4EA,iDAWC"}
|
|
@@ -25,7 +25,7 @@ var _template = _interopRequireDefault(require("../questions/template"));
|
|
|
25
25
|
|
|
26
26
|
var _audio = _interopRequireDefault(require("../audio"));
|
|
27
27
|
|
|
28
|
-
var _provider = require("../../atom/provider");
|
|
28
|
+
var _provider = _interopRequireWildcard(require("../../atom/provider"));
|
|
29
29
|
|
|
30
30
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
31
31
|
|
|
@@ -88,11 +88,11 @@ MediaView.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.MediaVi
|
|
|
88
88
|
const Switch = ({
|
|
89
89
|
model,
|
|
90
90
|
help
|
|
91
|
-
}) => {
|
|
91
|
+
}, legacyContext) => {
|
|
92
92
|
const {
|
|
93
93
|
type
|
|
94
94
|
} = model;
|
|
95
|
-
const translate = (0, _provider.GetTranslateFromContext)();
|
|
95
|
+
const translate = (0, _provider.GetTranslateFromContext)(legacyContext);
|
|
96
96
|
|
|
97
97
|
switch (type) {
|
|
98
98
|
case 'qcmDrag':
|
|
@@ -135,6 +135,9 @@ Switch.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
135
135
|
model: _propTypes.default.model,
|
|
136
136
|
help: _propTypes.default.help
|
|
137
137
|
} : {};
|
|
138
|
+
Switch.contextTypes = {
|
|
139
|
+
translate: _provider.default.childContextTypes.translate
|
|
140
|
+
};
|
|
138
141
|
|
|
139
142
|
const Answer = props => {
|
|
140
143
|
const {
|
|
@@ -154,6 +157,9 @@ const Answer = props => {
|
|
|
154
157
|
};
|
|
155
158
|
|
|
156
159
|
Answer.propTypes = process.env.NODE_ENV !== "production" ? _propTypes.default : {};
|
|
160
|
+
Answer.contextTypes = {
|
|
161
|
+
translate: _provider.default.childContextTypes.translate
|
|
162
|
+
};
|
|
157
163
|
var _default = Answer;
|
|
158
164
|
exports.default = _default;
|
|
159
165
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["MediaView","media","videoId","type","childProps","TYPE_IMAGE","style","backgroundImage","url","TYPE_VIDEO","video","TYPE_AUDIO","audio","propTypes","MediaViewPropTypes","Switch","model","help","translate","GetTranslateFromContext","Answer","props","wrapper"],"sources":["../../../src/molecule/answer/index.js"],"sourcesContent":["import React from 'react';\nimport {omit} from 'lodash/fp';\nimport VideoPlayer from '../video-player';\nimport DropDown from '../questions/drop-down';\nimport FreeText from '../questions/free-text';\nimport QcmDrag from '../questions/qcm-drag';\nimport Qcm from '../questions/qcm';\nimport QcmGraphic from '../questions/qcm-graphic';\nimport QuestionRange from '../questions/question-range';\nimport Template from '../questions/template';\nimport Audio from '../audio';\nimport {GetTranslateFromContext} from '../../atom/provider';\nimport style from './style.css';\nimport propTypes, {MediaViewPropTypes, TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from './prop-types';\n\nconst MediaView = ({media}) => {\n const {videoId, type, ...childProps} = media;\n switch (type) {\n case TYPE_IMAGE:\n return (\n <div\n className={style.media}\n style={{\n backgroundImage: `url(${media.url})`\n }}\n />\n );\n case TYPE_VIDEO:\n return (\n <div className={style.video}>\n <VideoPlayer {...omit('id', childProps)} id={videoId} height=\"100%\" width=\"100%\" />\n </div>\n );\n case TYPE_AUDIO:\n return (\n <div className={style.audio}>\n <Audio {...omit('id', childProps)} height=\"100%\" width=\"100%\" />\n </div>\n );\n default:\n return null;\n }\n};\n\nMediaView.propTypes = MediaViewPropTypes;\n\nconst Switch = ({model, help}) => {\n const {type} = model;\n const translate = GetTranslateFromContext();\n switch (type) {\n case 'qcmDrag':\n return <QcmDrag {...model} help={help} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcm':\n return <Qcm {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcmGraphic':\n return <QcmGraphic {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'freeText':\n return <FreeText {...model} />;\n case 'dropDown':\n return <DropDown {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'slider':\n return <QuestionRange {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'template':\n return <Template {...model} groupAriaLabel={translate('answer_the_question')} />;\n }\n};\n\nSwitch.propTypes = {\n model: propTypes.model,\n help: propTypes.help\n};\n\nconst Answer = props => {\n const {model, media, help} = props;\n\n return (\n <div data-name=\"answer\" className={style.wrapper}>\n {media ? <MediaView media={media} /> : null}\n <form>\n <Switch model={model} help={help} />\n </form>\n </div>\n );\n};\n\nAnswer.propTypes = propTypes;\n\nexport default Answer;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,MAAMA,SAAS,GAAG,CAAC;EAACC;AAAD,CAAD,KAAa;EAC7B,MAAM;IAACC,OAAD;IAAUC;EAAV,IAAiCF,KAAvC;EAAA,MAAyBG,UAAzB,iCAAuCH,KAAvC;;EACA,QAAQE,IAAR;IACE,KAAKE,qBAAL;MACE,oBACE;QACE,SAAS,EAAEC,cAAA,CAAML,KADnB;QAEE,KAAK,EAAE;UACLM,eAAe,EAAG,OAAMN,KAAK,CAACO,GAAI;QAD7B;MAFT,EADF;;IAQF,KAAKC,qBAAL;MACE,oBACE;QAAK,SAAS,EAAEH,cAAA,CAAMI;MAAtB,gBACE,6BAAC,oBAAD,eAAiB,oBAAK,IAAL,EAAWN,UAAX,CAAjB;QAAyC,EAAE,EAAEF,OAA7C;QAAsD,MAAM,EAAC,MAA7D;QAAoE,KAAK,EAAC;MAA1E,GADF,CADF;;IAKF,KAAKS,qBAAL;MACE,oBACE;QAAK,SAAS,EAAEL,cAAA,CAAMM;MAAtB,gBACE,6BAAC,cAAD,eAAW,oBAAK,IAAL,EAAWR,UAAX,CAAX;QAAmC,MAAM,EAAC,MAA1C;QAAiD,KAAK,EAAC;MAAvD,GADF,CADF;;IAKF;MACE,OAAO,IAAP;EAvBJ;AAyBD,CA3BD;;AA6BAJ,SAAS,CAACa,SAAV,2CAAsBC,6BAAtB;;AAEA,MAAMC,MAAM,GAAG,CAAC;EAACC,KAAD;EAAQC;AAAR,CAAD,
|
|
1
|
+
{"version":3,"file":"index.js","names":["MediaView","media","videoId","type","childProps","TYPE_IMAGE","style","backgroundImage","url","TYPE_VIDEO","video","TYPE_AUDIO","audio","propTypes","MediaViewPropTypes","Switch","model","help","legacyContext","translate","GetTranslateFromContext","contextTypes","Provider","childContextTypes","Answer","props","wrapper"],"sources":["../../../src/molecule/answer/index.js"],"sourcesContent":["import React from 'react';\nimport {omit} from 'lodash/fp';\nimport VideoPlayer from '../video-player';\nimport DropDown from '../questions/drop-down';\nimport FreeText from '../questions/free-text';\nimport QcmDrag from '../questions/qcm-drag';\nimport Qcm from '../questions/qcm';\nimport QcmGraphic from '../questions/qcm-graphic';\nimport QuestionRange from '../questions/question-range';\nimport Template from '../questions/template';\nimport Audio from '../audio';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport style from './style.css';\nimport propTypes, {MediaViewPropTypes, TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from './prop-types';\n\nconst MediaView = ({media}) => {\n const {videoId, type, ...childProps} = media;\n switch (type) {\n case TYPE_IMAGE:\n return (\n <div\n className={style.media}\n style={{\n backgroundImage: `url(${media.url})`\n }}\n />\n );\n case TYPE_VIDEO:\n return (\n <div className={style.video}>\n <VideoPlayer {...omit('id', childProps)} id={videoId} height=\"100%\" width=\"100%\" />\n </div>\n );\n case TYPE_AUDIO:\n return (\n <div className={style.audio}>\n <Audio {...omit('id', childProps)} height=\"100%\" width=\"100%\" />\n </div>\n );\n default:\n return null;\n }\n};\n\nMediaView.propTypes = MediaViewPropTypes;\n\nconst Switch = ({model, help}, legacyContext) => {\n const {type} = model;\n const translate = GetTranslateFromContext(legacyContext);\n switch (type) {\n case 'qcmDrag':\n return <QcmDrag {...model} help={help} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcm':\n return <Qcm {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'qcmGraphic':\n return <QcmGraphic {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'freeText':\n return <FreeText {...model} />;\n case 'dropDown':\n return <DropDown {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'slider':\n return <QuestionRange {...model} groupAriaLabel={translate('answer_the_question')} />;\n case 'template':\n return <Template {...model} groupAriaLabel={translate('answer_the_question')} />;\n }\n};\n\nSwitch.propTypes = {\n model: propTypes.model,\n help: propTypes.help\n};\n\nSwitch.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nconst Answer = props => {\n const {model, media, help} = props;\n\n return (\n <div data-name=\"answer\" className={style.wrapper}>\n {media ? <MediaView media={media} /> : null}\n <form>\n <Switch model={model} help={help} />\n </form>\n </div>\n );\n};\n\nAnswer.propTypes = propTypes;\n\nAnswer.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nexport default Answer;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":[],"mappings":";AA6GA;;;;oCAYC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAjHD;;;;;;0BAQE;AAyCF;;;;gBA4CC;;;;;;;;;;;AAnFD;;gBAA6E"}
|
|
@@ -56,16 +56,22 @@ const Choices = ({
|
|
|
56
56
|
title,
|
|
57
57
|
selected
|
|
58
58
|
} = answer;
|
|
59
|
+
const checkboxId = `checkbox-drag-${key}`;
|
|
59
60
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
60
61
|
className: (0, _classnames.default)(selected ? _style.default.invisibleAnswer : _style.default.unselected, _style.default.innerHTML),
|
|
61
62
|
"data-name": "answer",
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
63
|
+
key: key,
|
|
64
|
+
onClick: onClick
|
|
65
|
+
}, /*#__PURE__*/_react.default.createElement("label", {
|
|
66
|
+
htmlFor: checkboxId
|
|
67
|
+
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
68
|
+
id: checkboxId,
|
|
69
|
+
type: "checkbox",
|
|
70
|
+
value: title,
|
|
71
|
+
checked: selected,
|
|
72
|
+
onChange: onClick,
|
|
73
|
+
className: _style.default.hiddenCheckbox
|
|
74
|
+
}), title));
|
|
69
75
|
});
|
|
70
76
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
71
77
|
className: _style.default.choices
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["AnswersPropTypes","PropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","style","emptySpan","propTypes","Choices","answers","answersViews","map","answer","key","classnames","invisibleAnswer","unselected","innerHTML","
|
|
1
|
+
{"version":3,"file":"index.js","names":["AnswersPropTypes","PropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","style","emptySpan","propTypes","Choices","answers","answersViews","map","answer","key","checkboxId","classnames","invisibleAnswer","unselected","innerHTML","hiddenCheckbox","choices","SelectedAnswerSections","backgroundColor","selectedAnswers","selectedAnswersViews","boxShadow","getShadowBoxColorFromPrimary","background","content","selectedAnswerText","__html","length","emptyAnswers","QcmDrag","groupAriaLabel","legacyContext","skin","GetSkinFromContext","primarySkinColor","wrapper","contextTypes","Provider","childContextTypes"],"sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {pipe, filter, orderBy, getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst AnswersPropTypes = PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n order: PropTypes.number,\n selected: PropTypes.bool,\n title: PropTypes.string,\n help: PropTypes.string\n })\n);\n\nconst EmptyView = ({help}) => <span className={style.emptySpan}>{help}</span>;\n\nEmptyView.propTypes = {\n help: PropTypes.string\n};\n\nconst Choices = ({answers}) => {\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected} = answer;\n const checkboxId = `checkbox-drag-${key}`;\n return (\n <div\n className={classnames(selected ? style.invisibleAnswer : style.unselected, style.innerHTML)}\n data-name=\"answer\"\n key={key}\n onClick={onClick}\n >\n <label htmlFor={checkboxId}>\n <input\n id={checkboxId}\n type=\"checkbox\"\n value={title}\n checked={selected}\n onChange={onClick}\n className={style.hiddenCheckbox}\n />\n {title}\n </label>\n </div>\n );\n });\n\n return <div className={style.choices}>{answersViews}</div>;\n};\n\nChoices.propTypes = {\n answers: AnswersPropTypes\n};\n\nconst SelectedAnswerSections = ({answers, help, backgroundColor}) => {\n const selectedAnswers = pipe(filter('selected'), orderBy('order', 'asc'))(answers);\n const selectedAnswersViews = selectedAnswers.map((answer, key) => {\n const {onClick, title} = answer;\n return (\n <div\n data-selected=\"true\"\n onClick={onClick}\n key={key}\n data-name=\"selectedAnswer\"\n className={style.selected}\n style={{\n boxShadow: `0px 4px 16px ${getShadowBoxColorFromPrimary(backgroundColor)}`\n }}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor\n }}\n className={style.background}\n />\n <div className={style.content}>\n <span\n data-name=\"answerContent\"\n className={classnames(style.selectedAnswerText, style.innerHTML)}\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n );\n });\n\n if (selectedAnswersViews.length > 0) {\n return <div className={style.selectedAnswers}>{selectedAnswersViews}</div>;\n } else {\n return (\n <div className={style.emptyAnswers}>\n <EmptyView help={help} />\n </div>\n );\n }\n};\n\nSelectedAnswerSections.propTypes = {\n answers: AnswersPropTypes,\n help: EmptyView.propTypes.help,\n backgroundColor: PropTypes.string\n};\n\nconst QcmDrag = ({answers, help, groupAriaLabel}, legacyContext) => {\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n return (\n <div className={style.wrapper} role=\"group\" aria-label={groupAriaLabel}>\n <SelectedAnswerSections answers={answers} help={help} backgroundColor={primarySkinColor} />\n <div data-name=\"qcm-drag-answers\" className={style.answers}>\n <Choices answers={answers} />\n </div>\n </div>\n );\n};\n\nQcmDrag.propTypes = {\n answers: AnswersPropTypes,\n help: SelectedAnswerSections.propTypes.help,\n groupAriaLabel: PropTypes.string\n};\n\nQcmDrag.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default QcmDrag;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"names":[],"mappings":";AAQA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"names":[],"mappings":";AAQA,uEAwEC"}
|
|
@@ -40,6 +40,7 @@ const QCMImage = (props, legacyContext) => {
|
|
|
40
40
|
image,
|
|
41
41
|
ariaLabel
|
|
42
42
|
} = answer;
|
|
43
|
+
const checkboxId = `checkbox-graphic-${key}`;
|
|
43
44
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
44
45
|
onClick: onClick,
|
|
45
46
|
"data-selected": selected,
|
|
@@ -71,11 +72,17 @@ const QCMImage = (props, legacyContext) => {
|
|
|
71
72
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
72
73
|
title: title,
|
|
73
74
|
className: (0, _classnames.default)(_style.default.title, _style.default.innerHTML) // eslint-disable-next-line react/no-danger
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
|
|
76
|
+
}, /*#__PURE__*/_react.default.createElement("label", {
|
|
77
|
+
htmlFor: checkboxId
|
|
78
|
+
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
79
|
+
id: checkboxId,
|
|
80
|
+
type: "checkbox",
|
|
81
|
+
value: title,
|
|
82
|
+
checked: selected,
|
|
83
|
+
onChange: onClick,
|
|
84
|
+
className: _style.default.hiddenCheckbox
|
|
85
|
+
}), title)))));
|
|
79
86
|
});
|
|
80
87
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
81
88
|
"data-name": "qcm-graphic-wrapper",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["QCMImage","props","legacyContext","answers","groupAriaLabel","skin","GetSkinFromContext","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","boxShadow","getShadowBoxColorFromPrimary","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","classnames","innerHTML","
|
|
1
|
+
{"version":3,"file":"index.js","names":["QCMImage","props","legacyContext","answers","groupAriaLabel","skin","GetSkinFromContext","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","checkboxId","boxShadow","getShadowBoxColorFromPrimary","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","classnames","innerHTML","hiddenCheckbox","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCMImage = (props, legacyContext) => {\n const {answers, groupAriaLabel} = props;\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected, image, ariaLabel} = answer;\n const checkboxId = `checkbox-graphic-${key}`;\n\n return (\n <div\n onClick={onClick}\n data-selected={selected}\n data-name=\"answerGraphic\"\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n className={selected ? style.selected : style.answer}\n key={key}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor: selected ? primarySkinColor : '#F4F4F5'\n }}\n className={style.background}\n />\n <div data-name=\"answerContent\" className={style.content}>\n <div\n className={style.imageWrapper}\n data-name=\"answerImage\"\n aria-label={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div\n title={title}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n >\n <label htmlFor={checkboxId}>\n <input\n id={checkboxId}\n type=\"checkbox\"\n value={title}\n checked={selected}\n onChange={onClick}\n className={style.hiddenCheckbox}\n />\n {title}\n </label>\n </div>\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <div\n data-name=\"qcm-graphic-wrapper\"\n className={style.wrapper}\n role=\"group\"\n aria-label={groupAriaLabel}\n >\n {answersViews}\n </div>\n );\n};\n\nQCMImage.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCMImage.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n image: PropTypes.string,\n ariaLabel: PropTypes.string\n })\n ),\n groupAriaLabel: PropTypes.string\n};\n\nexport default QCMImage;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACzC,MAAM;IAACC,OAAD;IAAUC;EAAV,IAA4BH,KAAlC;EACA,MAAMI,IAAI,GAAG,IAAAC,4BAAA,EAAmBJ,aAAnB,CAAb;EACA,MAAMK,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAAzB;EAEA,MAAMG,YAAY,GAAGL,OAAO,CAACM,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;IAChD,MAAM;MAACC,OAAD;MAAUC,KAAV;MAAiBC,QAAjB;MAA2BC,KAA3B;MAAkCC;IAAlC,IAA+CN,MAArD;IACA,MAAMO,UAAU,GAAI,oBAAmBN,GAAI,EAA3C;IAEA,oBACE;MACE,OAAO,EAAEC,OADX;MAEE,iBAAeE,QAFjB;MAGE,aAAU,eAHZ;MAIE,KAAK,eACCA,QAAQ,IAAI;QACdI,SAAS,EAAG,cAAa,IAAAC,0DAAA,EAA6BZ,gBAA7B,CAA+C;MAD1D,CADb,CAJP;MASE,SAAS,EAAEO,QAAQ,GAAGM,cAAA,CAAMN,QAAT,GAAoBM,cAAA,CAAMV,MAT/C;MAUE,GAAG,EAAEC;IAVP,gBAYE;MACE,aAAU,kBADZ;MAEE,KAAK,EAAE;QACLU,eAAe,EAAEP,QAAQ,GAAGP,gBAAH,GAAsB;MAD1C,CAFT;MAKE,SAAS,EAAEa,cAAA,CAAME;IALnB,EAZF,eAmBE;MAAK,aAAU,eAAf;MAA+B,SAAS,EAAEF,cAAA,CAAMG;IAAhD,gBACE;MACE,SAAS,EAAEH,cAAA,CAAMI,YADnB;MAEE,aAAU,aAFZ;MAGE,cAAYR,SAAS,IAAIH,KAH3B;MAIE,KAAK,EAAE;QACLY,eAAe,EAAG,OAAMV,KAAM;MADzB;IAJT,EADF,eASE;MAAK,aAAU,YAAf;MAA4B,SAAS,EAAEK,cAAA,CAAMM;IAA7C,gBACE;MACE,KAAK,EAAEb,KADT;MAEE,SAAS,EAAE,IAAAc,mBAAA,EAAWP,cAAA,CAAMP,KAAjB,EAAwBO,cAAA,CAAMQ,SAA9B,CAFb,CAGE;;IAHF,gBAKE;MAAO,OAAO,EAAEX;IAAhB,gBACE;MACE,EAAE,EAAEA,UADN;MAEE,IAAI,EAAC,UAFP;MAGE,KAAK,EAAEJ,KAHT;MAIE,OAAO,EAAEC,QAJX;MAKE,QAAQ,EAAEF,OALZ;MAME,SAAS,EAAEQ,cAAA,CAAMS;IANnB,EADF,EASGhB,KATH,CALF,CADF,CATF,CAnBF,CADF;EAmDD,CAvDoB,CAArB;EAyDA,oBACE;IACE,aAAU,qBADZ;IAEE,SAAS,EAAEO,cAAA,CAAMU,OAFnB;IAGE,IAAI,EAAC,OAHP;IAIE,cAAY1B;EAJd,GAMGI,YANH,CADF;AAUD,CAxED;;AA0EAR,QAAQ,CAAC+B,YAAT,GAAwB;EACtB1B,IAAI,EAAE2B,iBAAA,CAASC,iBAAT,CAA2B5B;AADX,CAAxB;AAIAL,QAAQ,CAACkC,SAAT,2CAAqB;EACnB/B,OAAO,EAAEgC,kBAAA,CAAUC,OAAV,CACPD,kBAAA,CAAUE,KAAV,CAAgB;IACdxB,KAAK,EAAEsB,kBAAA,CAAUG,MADH;IAEdxB,QAAQ,EAAEqB,kBAAA,CAAUI,IAFN;IAGd3B,OAAO,EAAEuB,kBAAA,CAAUK,IAHL;IAIdzB,KAAK,EAAEoB,kBAAA,CAAUG,MAJH;IAKdtB,SAAS,EAAEmB,kBAAA,CAAUG;EALP,CAAhB,CADO,CADU;EAUnBlC,cAAc,EAAE+B,kBAAA,CAAUG;AAVP,CAArB;eAaetC,Q"}
|