@coorpacademy/components 11.11.13-alpha.1 → 11.11.13-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/es/atom/button/index.d.ts.map +1 -1
  2. package/es/atom/button/index.js +6 -3
  3. package/es/atom/button/index.js.map +1 -1
  4. package/es/molecule/forum/forum-comment/index.d.ts.map +1 -1
  5. package/es/molecule/forum/forum-comment/index.js +1 -0
  6. package/es/molecule/forum/forum-comment/index.js.map +1 -1
  7. package/es/molecule/questions/mobile/template/index.native.d.ts.map +1 -1
  8. package/es/molecule/questions/mobile/template/index.native.js +4 -6
  9. package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
  10. package/es/molecule/skill-card/index.js +1 -1
  11. package/es/molecule/skill-card/index.js.map +1 -1
  12. package/es/organism/mooc-header/style.css +1 -0
  13. package/es/organism/review-header/index.d.ts +2 -1
  14. package/es/organism/review-header/index.d.ts.map +1 -1
  15. package/es/organism/review-header/index.js +7 -7
  16. package/es/organism/review-header/index.js.map +1 -1
  17. package/es/organism/review-slide/index.d.ts +26 -1
  18. package/es/organism/review-slide/index.d.ts.map +1 -1
  19. package/es/organism/review-slide/index.js +16 -7
  20. package/es/organism/review-slide/index.js.map +1 -1
  21. package/es/variables/fonts.css +4 -0
  22. package/lib/atom/button/index.d.ts.map +1 -1
  23. package/lib/atom/button/index.js +6 -3
  24. package/lib/atom/button/index.js.map +1 -1
  25. package/lib/molecule/forum/forum-comment/index.d.ts.map +1 -1
  26. package/lib/molecule/forum/forum-comment/index.js +1 -0
  27. package/lib/molecule/forum/forum-comment/index.js.map +1 -1
  28. package/lib/molecule/questions/mobile/template/index.native.d.ts.map +1 -1
  29. package/lib/molecule/questions/mobile/template/index.native.js +4 -6
  30. package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
  31. package/lib/molecule/skill-card/index.js +1 -1
  32. package/lib/molecule/skill-card/index.js.map +1 -1
  33. package/lib/organism/mooc-header/style.css +1 -0
  34. package/lib/organism/review-header/index.d.ts +2 -1
  35. package/lib/organism/review-header/index.d.ts.map +1 -1
  36. package/lib/organism/review-header/index.js +11 -7
  37. package/lib/organism/review-header/index.js.map +1 -1
  38. package/lib/organism/review-slide/index.d.ts +26 -1
  39. package/lib/organism/review-slide/index.d.ts.map +1 -1
  40. package/lib/organism/review-slide/index.js +16 -7
  41. package/lib/organism/review-slide/index.js.map +1 -1
  42. package/lib/variables/fonts.css +4 -0
  43. package/locales/en/global.json +4 -1
  44. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/button/index.js"],"names":[],"mappings":";AA0FA,iDA0BC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/button/index.js"],"names":[],"mappings":";AA6FA,iDA0BC"}
@@ -20,7 +20,8 @@ const ButtonContent = props => {
20
20
  children,
21
21
  type,
22
22
  style,
23
- 'data-name': dataName
23
+ 'data-name': dataName,
24
+ 'aria-label': ariaLabel
24
25
  } = props;
25
26
  const anchorClassName = disabled && `${className} ${cssStyle.disabledAnchor}` || className;
26
27
  const anchorOnClick = disabled && null || onClick;
@@ -36,7 +37,8 @@ const ButtonContent = props => {
36
37
  onClick: anchorOnClick,
37
38
  target: target,
38
39
  className: anchorClassName,
39
- style: style
40
+ style: style,
41
+ "aria-label": ariaLabel
40
42
  }, submitValue || children || 'submit');
41
43
 
42
44
  case 'a':
@@ -76,7 +78,8 @@ ButtonContent.propTypes = process.env.NODE_ENV !== "production" ? {
76
78
  children: PropTypes.node,
77
79
  className: PropTypes.string,
78
80
  style: PropTypes.shape({}),
79
- 'data-name': PropTypes.string
81
+ 'data-name': PropTypes.string,
82
+ 'aria-label': PropTypes.string
80
83
  } : {};
81
84
 
82
85
  const Button = props => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","ColorPropType","Link","cssStyle","ButtonContent","props","color","submitValue","disabled","download","href","target","onClick","className","button","children","type","style","dataName","anchorClassName","disabledAnchor","anchorOnClick","anchorHref","inputClassName","buttonDisabled","propTypes","string","bool","oneOf","func","node","shape","Button","buttonContentClassName","isLinkDisabled","cNames","buttonContent"],"sources":["../../../src/atom/button/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {ColorPropType} from '../../util/proptypes';\nimport Link from '../link';\nimport cssStyle from './style.css';\n\nconst ButtonContent = props => {\n const {\n color,\n submitValue,\n disabled,\n download,\n href,\n target,\n onClick,\n className = cssStyle.button,\n children,\n type,\n style,\n 'data-name': dataName\n } = props;\n const anchorClassName = (disabled && `${className} ${cssStyle.disabledAnchor}`) || className;\n const anchorOnClick = (disabled && null) || onClick;\n const anchorHref = (disabled && null) || href;\n const inputClassName = (disabled && `${className} ${cssStyle.buttonDisabled}`) || className;\n\n switch (type) {\n case 'link':\n return (\n <Link\n data-name={dataName}\n href={anchorHref}\n download={download}\n onClick={anchorOnClick}\n target={target}\n className={anchorClassName}\n style={style}\n >\n {submitValue || children || 'submit'}\n </Link>\n );\n\n case 'a':\n return (\n <a\n data-name={dataName}\n href={anchorHref}\n target={target}\n className={anchorClassName}\n onClick={anchorOnClick}\n style={style}\n >\n {submitValue || children}\n </a>\n );\n\n default:\n return (\n <input\n data-name={dataName}\n type={type}\n value={submitValue}\n disabled={disabled}\n onClick={onClick}\n className={inputClassName}\n style={{\n color,\n ...style\n }}\n />\n );\n }\n};\n\nButtonContent.propTypes = {\n color: ColorPropType,\n submitValue: PropTypes.string,\n disabled: PropTypes.bool,\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n type: PropTypes.string,\n onClick: PropTypes.func,\n children: PropTypes.node,\n className: PropTypes.string,\n style: PropTypes.shape({}),\n 'data-name': PropTypes.string\n};\n\nconst Button = props => {\n const {\n className,\n buttonContentClassName,\n isLinkDisabled,\n type = 'submit',\n children,\n style\n } = props;\n const cNames =\n (isLinkDisabled && classnames([cssStyle.disabledAnchor, className])) ||\n classnames([cssStyle.button, className]);\n return (\n <div className={cNames}>\n <ButtonContent\n {...props}\n type={type}\n className={buttonContentClassName ? buttonContentClassName : cssStyle.buttonContent}\n style={{\n ...style\n }}\n >\n {children}\n </ButtonContent>\n </div>\n );\n};\n\nButton.propTypes = {\n color: ColorPropType,\n submitValue: PropTypes.string,\n disabled: PropTypes.bool,\n isLinkDisabled: PropTypes.bool,\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n type: PropTypes.string,\n onClick: PropTypes.func,\n children: PropTypes.node,\n className: PropTypes.string,\n buttonContentClassName: PropTypes.string,\n style: PropTypes.shape({}),\n 'data-name': PropTypes.string\n};\n\nexport default Button;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","ColorPropType","Link","cssStyle","ButtonContent","props","color","submitValue","disabled","download","href","target","onClick","className","button","children","type","style","dataName","ariaLabel","anchorClassName","disabledAnchor","anchorOnClick","anchorHref","inputClassName","buttonDisabled","propTypes","string","bool","oneOf","func","node","shape","Button","buttonContentClassName","isLinkDisabled","cNames","buttonContent"],"sources":["../../../src/atom/button/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {ColorPropType} from '../../util/proptypes';\nimport Link from '../link';\nimport cssStyle from './style.css';\n\nconst ButtonContent = props => {\n const {\n color,\n submitValue,\n disabled,\n download,\n href,\n target,\n onClick,\n className = cssStyle.button,\n children,\n type,\n style,\n 'data-name': dataName,\n 'aria-label': ariaLabel\n } = props;\n const anchorClassName = (disabled && `${className} ${cssStyle.disabledAnchor}`) || className;\n const anchorOnClick = (disabled && null) || onClick;\n const anchorHref = (disabled && null) || href;\n const inputClassName = (disabled && `${className} ${cssStyle.buttonDisabled}`) || className;\n\n switch (type) {\n case 'link':\n return (\n <Link\n data-name={dataName}\n href={anchorHref}\n download={download}\n onClick={anchorOnClick}\n target={target}\n className={anchorClassName}\n style={style}\n aria-label={ariaLabel}\n >\n {submitValue || children || 'submit'}\n </Link>\n );\n\n case 'a':\n return (\n <a\n data-name={dataName}\n href={anchorHref}\n target={target}\n className={anchorClassName}\n onClick={anchorOnClick}\n style={style}\n >\n {submitValue || children}\n </a>\n );\n\n default:\n return (\n <input\n data-name={dataName}\n type={type}\n value={submitValue}\n disabled={disabled}\n onClick={onClick}\n className={inputClassName}\n style={{\n color,\n ...style\n }}\n />\n );\n }\n};\n\nButtonContent.propTypes = {\n color: ColorPropType,\n submitValue: PropTypes.string,\n disabled: PropTypes.bool,\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n type: PropTypes.string,\n onClick: PropTypes.func,\n children: PropTypes.node,\n className: PropTypes.string,\n style: PropTypes.shape({}),\n 'data-name': PropTypes.string,\n 'aria-label': PropTypes.string\n};\n\nconst Button = props => {\n const {\n className,\n buttonContentClassName,\n isLinkDisabled,\n type = 'submit',\n children,\n style\n } = props;\n const cNames =\n (isLinkDisabled && classnames([cssStyle.disabledAnchor, className])) ||\n classnames([cssStyle.button, className]);\n return (\n <div className={cNames}>\n <ButtonContent\n {...props}\n type={type}\n className={buttonContentClassName ? buttonContentClassName : cssStyle.buttonContent}\n style={{\n ...style\n }}\n >\n {children}\n </ButtonContent>\n </div>\n );\n};\n\nButton.propTypes = {\n color: ColorPropType,\n submitValue: PropTypes.string,\n disabled: PropTypes.bool,\n isLinkDisabled: PropTypes.bool,\n href: PropTypes.string,\n download: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n type: PropTypes.string,\n onClick: PropTypes.func,\n children: PropTypes.node,\n className: PropTypes.string,\n buttonContentClassName: PropTypes.string,\n style: PropTypes.shape({}),\n 'data-name': PropTypes.string\n};\n\nexport default Button;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAAQC,aAAR,QAA4B,sBAA5B;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,OAAOC,QAAP,MAAqB,aAArB;;AAEA,MAAMC,aAAa,GAAGC,KAAK,IAAI;EAC7B,MAAM;IACJC,KADI;IAEJC,WAFI;IAGJC,QAHI;IAIJC,QAJI;IAKJC,IALI;IAMJC,MANI;IAOJC,OAPI;IAQJC,SAAS,GAAGV,QAAQ,CAACW,MARjB;IASJC,QATI;IAUJC,IAVI;IAWJC,KAXI;IAYJ,aAAaC,QAZT;IAaJ,cAAcC;EAbV,IAcFd,KAdJ;EAeA,MAAMe,eAAe,GAAIZ,QAAQ,IAAK,GAAEK,SAAU,IAAGV,QAAQ,CAACkB,cAAe,EAArD,IAA2DR,SAAnF;EACA,MAAMS,aAAa,GAAId,QAAQ,IAAI,IAAb,IAAsBI,OAA5C;EACA,MAAMW,UAAU,GAAIf,QAAQ,IAAI,IAAb,IAAsBE,IAAzC;EACA,MAAMc,cAAc,GAAIhB,QAAQ,IAAK,GAAEK,SAAU,IAAGV,QAAQ,CAACsB,cAAe,EAArD,IAA2DZ,SAAlF;;EAEA,QAAQG,IAAR;IACE,KAAK,MAAL;MACE,oBACE,oBAAC,IAAD;QACE,aAAWE,QADb;QAEE,IAAI,EAAEK,UAFR;QAGE,QAAQ,EAAEd,QAHZ;QAIE,OAAO,EAAEa,aAJX;QAKE,MAAM,EAAEX,MALV;QAME,SAAS,EAAES,eANb;QAOE,KAAK,EAAEH,KAPT;QAQE,cAAYE;MARd,GAUGZ,WAAW,IAAIQ,QAAf,IAA2B,QAV9B,CADF;;IAeF,KAAK,GAAL;MACE,oBACE;QACE,aAAWG,QADb;QAEE,IAAI,EAAEK,UAFR;QAGE,MAAM,EAAEZ,MAHV;QAIE,SAAS,EAAES,eAJb;QAKE,OAAO,EAAEE,aALX;QAME,KAAK,EAAEL;MANT,GAQGV,WAAW,IAAIQ,QARlB,CADF;;IAaF;MACE,oBACE;QACE,aAAWG,QADb;QAEE,IAAI,EAAEF,IAFR;QAGE,KAAK,EAAET,WAHT;QAIE,QAAQ,EAAEC,QAJZ;QAKE,OAAO,EAAEI,OALX;QAME,SAAS,EAAEY,cANb;QAOE,KAAK;UACHlB;QADG,GAEAW,KAFA;MAPP,EADF;EAhCJ;AA+CD,CApED;;AAsEAb,aAAa,CAACsB,SAAd,2CAA0B;EACxBpB,KAAK,EAAEL,aADiB;EAExBM,WAAW,EAAER,SAAS,CAAC4B,MAFC;EAGxBnB,QAAQ,EAAET,SAAS,CAAC6B,IAHI;EAIxBlB,IAAI,EAAEX,SAAS,CAAC4B,MAJQ;EAKxBlB,QAAQ,EAAEV,SAAS,CAAC6B,IALI;EAMxBjB,MAAM,EAAEZ,SAAS,CAAC8B,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CANgB;EAOxBb,IAAI,EAAEjB,SAAS,CAAC4B,MAPQ;EAQxBf,OAAO,EAAEb,SAAS,CAAC+B,IARK;EASxBf,QAAQ,EAAEhB,SAAS,CAACgC,IATI;EAUxBlB,SAAS,EAAEd,SAAS,CAAC4B,MAVG;EAWxBV,KAAK,EAAElB,SAAS,CAACiC,KAAV,CAAgB,EAAhB,CAXiB;EAYxB,aAAajC,SAAS,CAAC4B,MAZC;EAaxB,cAAc5B,SAAS,CAAC4B;AAbA,CAA1B;;AAgBA,MAAMM,MAAM,GAAG5B,KAAK,IAAI;EACtB,MAAM;IACJQ,SADI;IAEJqB,sBAFI;IAGJC,cAHI;IAIJnB,IAAI,GAAG,QAJH;IAKJD,QALI;IAMJE;EANI,IAOFZ,KAPJ;EAQA,MAAM+B,MAAM,GACTD,cAAc,IAAInC,UAAU,CAAC,CAACG,QAAQ,CAACkB,cAAV,EAA0BR,SAA1B,CAAD,CAA7B,IACAb,UAAU,CAAC,CAACG,QAAQ,CAACW,MAAV,EAAkBD,SAAlB,CAAD,CAFZ;EAGA,oBACE;IAAK,SAAS,EAAEuB;EAAhB,gBACE,oBAAC,aAAD,eACM/B,KADN;IAEE,IAAI,EAAEW,IAFR;IAGE,SAAS,EAAEkB,sBAAsB,GAAGA,sBAAH,GAA4B/B,QAAQ,CAACkC,aAHxE;IAIE,KAAK,eACApB,KADA;EAJP,IAQGF,QARH,CADF,CADF;AAcD,CA1BD;;AA4BAkB,MAAM,CAACP,SAAP,2CAAmB;EACjBpB,KAAK,EAAEL,aADU;EAEjBM,WAAW,EAAER,SAAS,CAAC4B,MAFN;EAGjBnB,QAAQ,EAAET,SAAS,CAAC6B,IAHH;EAIjBO,cAAc,EAAEpC,SAAS,CAAC6B,IAJT;EAKjBlB,IAAI,EAAEX,SAAS,CAAC4B,MALC;EAMjBlB,QAAQ,EAAEV,SAAS,CAAC6B,IANH;EAOjBjB,MAAM,EAAEZ,SAAS,CAAC8B,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,MAA/B,CAAhB,CAPS;EAQjBb,IAAI,EAAEjB,SAAS,CAAC4B,MARC;EASjBf,OAAO,EAAEb,SAAS,CAAC+B,IATF;EAUjBf,QAAQ,EAAEhB,SAAS,CAACgC,IAVH;EAWjBlB,SAAS,EAAEd,SAAS,CAAC4B,MAXJ;EAYjBO,sBAAsB,EAAEnC,SAAS,CAAC4B,MAZjB;EAajBV,KAAK,EAAElB,SAAS,CAACiC,KAAV,CAAgB,EAAhB,CAbU;EAcjB,aAAajC,SAAS,CAAC4B;AAdN,CAAnB;AAiBA,eAAeM,MAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/forum/forum-comment/index.js"],"names":[],"mappings":";AASA,qEAyDC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/forum/forum-comment/index.js"],"names":[],"mappings":";AASA,qEA0DC"}
@@ -41,6 +41,7 @@ const ForumComment = (props, context) => {
41
41
  onClick: !postDisabled ? onPost : _noop,
42
42
  disabled: postDisabled,
43
43
  submitValue: translate('Post'),
44
+ "aria-label": translate('post_comment_aria_label'),
44
45
  style: {
45
46
  backgroundColor: postDisabled ? light : primary
46
47
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","SrcPropType","Provider","Button","style","ForumComment","props","context","translate","skin","avatar","onPost","onChange","value","textareaDisabled","postDisabled","newPost","profileAvatarAlt","primary","light","avatarView","image","button","post","backgroundColor","disabledButton","container","wrapper","comment","contextTypes","childContextTypes","propTypes","string","func","bool"],"sources":["../../../../src/molecule/forum/forum-comment/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get, noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {SrcPropType} from '../../../util/proptypes';\nimport Provider from '../../../atom/provider';\nimport Button from '../../../atom/button';\nimport style from './style.css';\n\nconst ForumComment = (props, context) => {\n const {translate, skin} = context;\n const {\n avatar,\n onPost,\n onChange,\n value,\n textareaDisabled,\n postDisabled,\n newPost = false,\n profileAvatarAlt\n } = props;\n const primary = get('common.primary', skin);\n const light = get('common.light', skin);\n\n const avatarView = avatar ? (\n <div className={style.image}>\n <img src={avatar} alt={profileAvatarAlt} />\n </div>\n ) : null;\n\n const button = (\n <div className={style.post}>\n <Button\n type=\"link\"\n onClick={!postDisabled ? onPost : noop}\n disabled={postDisabled}\n submitValue={translate('Post')}\n style={{\n backgroundColor: postDisabled ? light : primary\n }}\n className={postDisabled ? style.disabledButton : style.button}\n />\n </div>\n );\n\n return (\n <div\n data-name=\"forumComment\"\n className={classnames(style.container, newPost ? style.newPost : null)}\n >\n <div className={classnames(style.wrapper, newPost ? style.newPost : null)}>\n {avatarView}\n <div className={style.comment}>\n <textarea\n placeholder={translate('Write something here')}\n title={translate('Write something here')}\n aria-label={translate('comment_aria_label')}\n value={value}\n onChange={onChange}\n disabled={textareaDisabled}\n />\n </div>\n </div>\n {button}\n </div>\n );\n};\n\nForumComment.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nForumComment.propTypes = {\n value: PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n avatar: SrcPropType,\n onChange: PropTypes.func,\n onPost: PropTypes.func,\n newPost: PropTypes.bool,\n textareaDisabled: PropTypes.bool,\n postDisabled: PropTypes.bool\n};\nexport default ForumComment;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAAQC,WAAR,QAA0B,yBAA1B;AACA,OAAOC,QAAP,MAAqB,wBAArB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,YAAY,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACvC,MAAM;IAACC,SAAD;IAAYC;EAAZ,IAAoBF,OAA1B;EACA,MAAM;IACJG,MADI;IAEJC,MAFI;IAGJC,QAHI;IAIJC,KAJI;IAKJC,gBALI;IAMJC,YANI;IAOJC,OAAO,GAAG,KAPN;IAQJC;EARI,IASFX,KATJ;;EAUA,MAAMY,OAAO,GAAG,KAAI,gBAAJ,EAAsBT,IAAtB,CAAhB;;EACA,MAAMU,KAAK,GAAG,KAAI,cAAJ,EAAoBV,IAApB,CAAd;;EAEA,MAAMW,UAAU,GAAGV,MAAM,gBACvB;IAAK,SAAS,EAAEN,KAAK,CAACiB;EAAtB,gBACE;IAAK,GAAG,EAAEX,MAAV;IAAkB,GAAG,EAAEO;EAAvB,EADF,CADuB,GAIrB,IAJJ;EAMA,MAAMK,MAAM,gBACV;IAAK,SAAS,EAAElB,KAAK,CAACmB;EAAtB,gBACE,oBAAC,MAAD;IACE,IAAI,EAAC,MADP;IAEE,OAAO,EAAE,CAACR,YAAD,GAAgBJ,MAAhB,QAFX;IAGE,QAAQ,EAAEI,YAHZ;IAIE,WAAW,EAAEP,SAAS,CAAC,MAAD,CAJxB;IAKE,KAAK,EAAE;MACLgB,eAAe,EAAET,YAAY,GAAGI,KAAH,GAAWD;IADnC,CALT;IAQE,SAAS,EAAEH,YAAY,GAAGX,KAAK,CAACqB,cAAT,GAA0BrB,KAAK,CAACkB;EARzD,EADF,CADF;EAeA,oBACE;IACE,aAAU,cADZ;IAEE,SAAS,EAAEtB,UAAU,CAACI,KAAK,CAACsB,SAAP,EAAkBV,OAAO,GAAGZ,KAAK,CAACY,OAAT,GAAmB,IAA5C;EAFvB,gBAIE;IAAK,SAAS,EAAEhB,UAAU,CAACI,KAAK,CAACuB,OAAP,EAAgBX,OAAO,GAAGZ,KAAK,CAACY,OAAT,GAAmB,IAA1C;EAA1B,GACGI,UADH,eAEE;IAAK,SAAS,EAAEhB,KAAK,CAACwB;EAAtB,gBACE;IACE,WAAW,EAAEpB,SAAS,CAAC,sBAAD,CADxB;IAEE,KAAK,EAAEA,SAAS,CAAC,sBAAD,CAFlB;IAGE,cAAYA,SAAS,CAAC,oBAAD,CAHvB;IAIE,KAAK,EAAEK,KAJT;IAKE,QAAQ,EAAED,QALZ;IAME,QAAQ,EAAEE;EANZ,EADF,CAFF,CAJF,EAiBGQ,MAjBH,CADF;AAqBD,CAzDD;;AA2DAjB,YAAY,CAACwB,YAAb,GAA4B;EAC1BrB,SAAS,EAAEN,QAAQ,CAAC4B,iBAAT,CAA2BtB,SADZ;EAE1BC,IAAI,EAAEP,QAAQ,CAAC4B,iBAAT,CAA2BrB;AAFP,CAA5B;AAKAJ,YAAY,CAAC0B,SAAb,2CAAyB;EACvBlB,KAAK,EAAEd,SAAS,CAACiC,MADM;EAEvBf,gBAAgB,EAAElB,SAAS,CAACiC,MAFL;EAGvBtB,MAAM,EAAET,WAHe;EAIvBW,QAAQ,EAAEb,SAAS,CAACkC,IAJG;EAKvBtB,MAAM,EAAEZ,SAAS,CAACkC,IALK;EAMvBjB,OAAO,EAAEjB,SAAS,CAACmC,IANI;EAOvBpB,gBAAgB,EAAEf,SAAS,CAACmC,IAPL;EAQvBnB,YAAY,EAAEhB,SAAS,CAACmC;AARD,CAAzB;AAUA,eAAe7B,YAAf"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","SrcPropType","Provider","Button","style","ForumComment","props","context","translate","skin","avatar","onPost","onChange","value","textareaDisabled","postDisabled","newPost","profileAvatarAlt","primary","light","avatarView","image","button","post","backgroundColor","disabledButton","container","wrapper","comment","contextTypes","childContextTypes","propTypes","string","func","bool"],"sources":["../../../../src/molecule/forum/forum-comment/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get, noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {SrcPropType} from '../../../util/proptypes';\nimport Provider from '../../../atom/provider';\nimport Button from '../../../atom/button';\nimport style from './style.css';\n\nconst ForumComment = (props, context) => {\n const {translate, skin} = context;\n const {\n avatar,\n onPost,\n onChange,\n value,\n textareaDisabled,\n postDisabled,\n newPost = false,\n profileAvatarAlt\n } = props;\n const primary = get('common.primary', skin);\n const light = get('common.light', skin);\n\n const avatarView = avatar ? (\n <div className={style.image}>\n <img src={avatar} alt={profileAvatarAlt} />\n </div>\n ) : null;\n\n const button = (\n <div className={style.post}>\n <Button\n type=\"link\"\n onClick={!postDisabled ? onPost : noop}\n disabled={postDisabled}\n submitValue={translate('Post')}\n aria-label={translate('post_comment_aria_label')}\n style={{\n backgroundColor: postDisabled ? light : primary\n }}\n className={postDisabled ? style.disabledButton : style.button}\n />\n </div>\n );\n\n return (\n <div\n data-name=\"forumComment\"\n className={classnames(style.container, newPost ? style.newPost : null)}\n >\n <div className={classnames(style.wrapper, newPost ? style.newPost : null)}>\n {avatarView}\n <div className={style.comment}>\n <textarea\n placeholder={translate('Write something here')}\n title={translate('Write something here')}\n aria-label={translate('comment_aria_label')}\n value={value}\n onChange={onChange}\n disabled={textareaDisabled}\n />\n </div>\n </div>\n {button}\n </div>\n );\n};\n\nForumComment.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nForumComment.propTypes = {\n value: PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n avatar: SrcPropType,\n onChange: PropTypes.func,\n onPost: PropTypes.func,\n newPost: PropTypes.bool,\n textareaDisabled: PropTypes.bool,\n postDisabled: PropTypes.bool\n};\nexport default ForumComment;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../../src/molecule/questions/mobile/template/index.native.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAE3E,OAAO,EACL,eAAe,EACf,UAAU,EACV,WAAW,EAEZ,MAAM,kDAAkD,CAAC;AAoJ1D,oBAAY,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,CAAC;IAC3D,aAAa,EAAE,CAAC,IAAI,EAAE,kBAAkB,GAAG,qBAAqB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzF,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,QAAA,MAAM,gBAAgB,UAAW,KAAK,uBA+CrC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../../src/molecule/questions/mobile/template/index.native.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAE3E,OAAO,EACL,eAAe,EACf,UAAU,EACV,WAAW,EAEZ,MAAM,kDAAkD,CAAC;AAkJ1D,oBAAY,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,CAAC;IAC3D,aAAa,EAAE,CAAC,IAAI,EAAE,kBAAkB,GAAG,qBAAqB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzF,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,QAAA,MAAM,gBAAgB,UAAW,KAAK,uBA8CrC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -48,7 +48,6 @@ const createStyleSheet = theme => ({
48
48
  const Item = props => {
49
49
  const {
50
50
  part,
51
- index,
52
51
  isDisabled = false,
53
52
  focusedSelectId,
54
53
  choices,
@@ -63,7 +62,7 @@ const Item = props => {
63
62
  translations
64
63
  } = templateContext;
65
64
  const inputNames = choices.map(choice => choice.name);
66
- const id = `question-part-${index + 1}`;
65
+ const id = `question-part-${part.value}`;
67
66
  const isFocused = focusedSelectId === id;
68
67
 
69
68
  if (part.type === 'answerField' && inputNames.includes(part.value)) {
@@ -126,7 +125,7 @@ const Item = props => {
126
125
  fontSize: theme.fontSize.regular,
127
126
  testID: id,
128
127
  style: styles.htmlText
129
- }, trim(part.value || ''));
128
+ }, part.value === ' ' ? part.value : trim(part.value || ''));
130
129
  };
131
130
 
132
131
  const QuestionTemplate = props => {
@@ -158,15 +157,14 @@ const QuestionTemplate = props => {
158
157
  return /*#__PURE__*/React.createElement(View, {
159
158
  style: styleSheet.container,
160
159
  testID: "question-template"
161
- }, parts.map((part, id) => /*#__PURE__*/React.createElement(View, {
162
- key: `question-part-${id}`,
160
+ }, parts.map(part => /*#__PURE__*/React.createElement(View, {
161
+ key: `question-part-${part.value}`,
163
162
  style: {
164
163
  flexDirection: 'row'
165
164
  }
166
165
  }, /*#__PURE__*/React.createElement(Item, {
167
166
  part: part,
168
167
  choices: choices,
169
- index: id,
170
168
  focusedSelectId: focusedSelectId,
171
169
  isDisabled: isDisabled,
172
170
  handleBlur: handleBlur,
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["React","useEffect","useState","View","trim","Html","Select","Space","FreeText","useTemplateContext","parseTemplateString","BOX_STYLE","createStyleSheet","theme","container","width","flexDirection","flexWrap","justifyContent","alignItems","spaced","paddingVertical","spacing","tiny","htmlText","color","colors","black","fontWeight","bold","lineHeight","selectInput","padding","borderRadius","radius","regular","minWidth","marginHorizontal","backgroundColor","white","selectText","gray","medium","fontSize","textAlign","Item","props","part","index","isDisabled","focusedSelectId","choices","onInputChange","handleBlur","handleFocus","styles","templateContext","translations","inputNames","map","choice","name","id","isFocused","type","includes","value","choiceIndex","findIndex","disabledSuffix","selectedSuffix","handleInputChange","_item","_value","selectInputStyle","selectTextStyle","items","selectAnAnswer","QuestionTemplate","template","styleSheet","setStylesheet","_stylesheet","parts"],"sources":["../../../../../src/molecule/questions/mobile/template/index.native.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {TextStyle, View, ViewStyle} from 'react-native';\n\nimport trim from 'lodash/fp/trim';\n\nimport Html from '../../../../atom/html/index.native';\nimport Select from '../../../../atom/select-modal/index.native';\nimport Space from '../../../../atom/space/index.native';\nimport type {TemplateListOfChoices, TemplateTextChoice} from '../../types';\nimport FreeText from '../../free-text/index.native';\nimport {\n FocusedSelectId,\n HandleBlur,\n HandleFocus,\n useTemplateContext\n} from '../../../../template/app-review/template-context';\nimport {Theme} from '../../../../variables/theme.native';\nimport parseTemplateString from '../../../../util/parse-template-string';\nimport {BOX_STYLE} from '../../../../variables/shadow';\n\ntype StyleSheetType = {\n container: ViewStyle;\n spaced: ViewStyle;\n htmlText: TextStyle;\n selectInput: ViewStyle;\n selectText: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType => ({\n container: {\n width: '100%',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignItems: 'center'\n },\n spaced: {\n paddingVertical: theme.spacing.tiny\n },\n htmlText: {\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 25\n },\n // eslint-disable-next-line @coorpacademy/coorpacademy/no-overwriting-spread\n selectInput: {\n padding: theme.spacing.tiny,\n borderRadius: theme.radius.regular,\n minWidth: 175,\n marginHorizontal: 12,\n paddingVertical: 16,\n ...BOX_STYLE,\n backgroundColor: theme.colors.white\n },\n selectText: {\n color: theme.colors.gray.medium,\n fontWeight: theme.fontWeight.bold,\n fontSize: theme.fontSize.regular,\n textAlign: 'center'\n }\n});\n\ntype TemplatePart = {\n type: 'string' | 'answerField';\n value: string;\n};\n\ntype ItemProps = {\n part: TemplatePart;\n choices: Array<TemplateTextChoice | TemplateListOfChoices>;\n index: number;\n isDisabled?: boolean;\n onInputChange: (item: TemplateTextChoice | TemplateListOfChoices, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: StyleSheetType;\n};\n\nconst Item = (props: ItemProps) => {\n const {\n part,\n index,\n isDisabled = false,\n focusedSelectId,\n choices,\n onInputChange,\n handleBlur,\n handleFocus,\n styles\n } = props;\n\n const templateContext = useTemplateContext();\n const {theme, translations} = templateContext;\n\n const inputNames = choices.map(choice => choice.name);\n const id = `question-part-${index + 1}`;\n const isFocused = focusedSelectId === id;\n\n if (part.type === 'answerField' && inputNames.includes(part.value)) {\n const choiceIndex = choices.findIndex(choice => choice.name === part.value);\n const choice = choices[choiceIndex];\n const {value} = choice;\n\n if (!choice || !choice.type || !choice.name) {\n return null;\n }\n\n const disabledSuffix = isDisabled ? '-disabled' : '';\n const selectedSuffix = value ? '-selected' : '';\n\n const handleInputChange =\n (_item: TemplateTextChoice | TemplateListOfChoices) => (_value: string) =>\n onInputChange(_item, _value);\n\n if (choice.type === 'text') {\n return (\n <View style={styles.spaced} testID={id}>\n <FreeText\n key={id}\n isDisabled={isDisabled}\n onChange={handleInputChange(choice)}\n value={value}\n testID={`${id}-text${selectedSuffix}${disabledSuffix}`}\n questionType=\"template\"\n />\n </View>\n );\n }\n\n const selectInputStyle: TextStyle[] = [styles.selectInput];\n const selectTextStyle: TextStyle[] = [styles.selectText];\n\n if (choice.type === 'select') {\n return (\n <View style={styles.spaced} testID={id}>\n <Select\n isDisabled={isDisabled}\n questionType=\"template\"\n values={choice.items}\n value={value}\n placeholder={translations.selectAnAnswer}\n isFocused={isFocused}\n onBlur={handleBlur}\n onFocus={handleFocus(id)}\n onChange={handleInputChange(choice)}\n textStyle={selectTextStyle}\n style={selectInputStyle}\n analyticsID={`${id}-select${selectedSuffix}${disabledSuffix}`}\n testID={`${id}-select${selectedSuffix}${disabledSuffix}`}\n />\n </View>\n );\n }\n }\n\n return (\n <Html key={id} fontSize={theme.fontSize.regular} testID={id} style={styles.htmlText}>\n {trim(part.value || '')}\n </Html>\n );\n};\n\nexport type Props = {\n isDisabled?: boolean;\n template: string;\n choices: Array<TemplateTextChoice | TemplateListOfChoices>;\n onInputChange: (item: TemplateTextChoice | TemplateListOfChoices, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n};\n\nconst QuestionTemplate = (props: Props) => {\n const {\n template,\n onInputChange,\n choices,\n handleBlur,\n handleFocus,\n focusedSelectId,\n isDisabled = false\n } = props;\n\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!template || !styleSheet) {\n return null;\n }\n\n const parts: TemplatePart[] = parseTemplateString(template);\n\n return (\n <View style={styleSheet.container} testID=\"question-template\">\n {parts.map((part, id) => (\n <View key={`question-part-${id}`} style={{flexDirection: 'row'}}>\n <Item\n part={part}\n choices={choices}\n index={id}\n focusedSelectId={focusedSelectId}\n isDisabled={isDisabled}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n onInputChange={onInputChange}\n styles={styleSheet}\n />\n <Space type=\"micro\" />\n </View>\n ))}\n </View>\n );\n};\n\nexport default QuestionTemplate;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["React","useEffect","useState","View","trim","Html","Select","Space","FreeText","useTemplateContext","parseTemplateString","BOX_STYLE","createStyleSheet","theme","container","width","flexDirection","flexWrap","justifyContent","alignItems","spaced","paddingVertical","spacing","tiny","htmlText","color","colors","black","fontWeight","bold","lineHeight","selectInput","padding","borderRadius","radius","regular","minWidth","marginHorizontal","backgroundColor","white","selectText","gray","medium","fontSize","textAlign","Item","props","part","isDisabled","focusedSelectId","choices","onInputChange","handleBlur","handleFocus","styles","templateContext","translations","inputNames","map","choice","name","id","value","isFocused","type","includes","choiceIndex","findIndex","disabledSuffix","selectedSuffix","handleInputChange","_item","_value","selectInputStyle","selectTextStyle","items","selectAnAnswer","QuestionTemplate","template","styleSheet","setStylesheet","_stylesheet","parts"],"sources":["../../../../../src/molecule/questions/mobile/template/index.native.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {TextStyle, View, ViewStyle} from 'react-native';\n\nimport trim from 'lodash/fp/trim';\n\nimport Html from '../../../../atom/html/index.native';\nimport Select from '../../../../atom/select-modal/index.native';\nimport Space from '../../../../atom/space/index.native';\nimport type {TemplateListOfChoices, TemplateTextChoice} from '../../types';\nimport FreeText from '../../free-text/index.native';\nimport {\n FocusedSelectId,\n HandleBlur,\n HandleFocus,\n useTemplateContext\n} from '../../../../template/app-review/template-context';\nimport {Theme} from '../../../../variables/theme.native';\nimport parseTemplateString from '../../../../util/parse-template-string';\nimport {BOX_STYLE} from '../../../../variables/shadow';\n\ntype StyleSheetType = {\n container: ViewStyle;\n spaced: ViewStyle;\n htmlText: TextStyle;\n selectInput: ViewStyle;\n selectText: TextStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType => ({\n container: {\n width: '100%',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignItems: 'center'\n },\n spaced: {\n paddingVertical: theme.spacing.tiny\n },\n htmlText: {\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n lineHeight: 25\n },\n // eslint-disable-next-line @coorpacademy/coorpacademy/no-overwriting-spread\n selectInput: {\n padding: theme.spacing.tiny,\n borderRadius: theme.radius.regular,\n minWidth: 175,\n marginHorizontal: 12,\n paddingVertical: 16,\n ...BOX_STYLE,\n backgroundColor: theme.colors.white\n },\n selectText: {\n color: theme.colors.gray.medium,\n fontWeight: theme.fontWeight.bold,\n fontSize: theme.fontSize.regular,\n textAlign: 'center'\n }\n});\n\ntype TemplatePart = {\n type: 'string' | 'answerField';\n value: string;\n};\n\ntype ItemProps = {\n part: TemplatePart;\n choices: Array<TemplateTextChoice | TemplateListOfChoices>;\n isDisabled?: boolean;\n onInputChange: (item: TemplateTextChoice | TemplateListOfChoices, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n styles: StyleSheetType;\n};\n\nconst Item = (props: ItemProps) => {\n const {\n part,\n isDisabled = false,\n focusedSelectId,\n choices,\n onInputChange,\n handleBlur,\n handleFocus,\n styles\n } = props;\n\n const templateContext = useTemplateContext();\n const {theme, translations} = templateContext;\n\n const inputNames = choices.map(choice => choice.name);\n const id = `question-part-${part.value}`;\n const isFocused = focusedSelectId === id;\n\n if (part.type === 'answerField' && inputNames.includes(part.value)) {\n const choiceIndex = choices.findIndex(choice => choice.name === part.value);\n const choice = choices[choiceIndex];\n const {value} = choice;\n\n if (!choice || !choice.type || !choice.name) {\n return null;\n }\n\n const disabledSuffix = isDisabled ? '-disabled' : '';\n const selectedSuffix = value ? '-selected' : '';\n\n const handleInputChange =\n (_item: TemplateTextChoice | TemplateListOfChoices) => (_value: string) =>\n onInputChange(_item, _value);\n\n if (choice.type === 'text') {\n return (\n <View style={styles.spaced} testID={id}>\n <FreeText\n key={id}\n isDisabled={isDisabled}\n onChange={handleInputChange(choice)}\n value={value}\n testID={`${id}-text${selectedSuffix}${disabledSuffix}`}\n questionType=\"template\"\n />\n </View>\n );\n }\n\n const selectInputStyle: TextStyle[] = [styles.selectInput];\n const selectTextStyle: TextStyle[] = [styles.selectText];\n\n if (choice.type === 'select') {\n return (\n <View style={styles.spaced} testID={id}>\n <Select\n isDisabled={isDisabled}\n questionType=\"template\"\n values={choice.items}\n value={value}\n placeholder={translations.selectAnAnswer}\n isFocused={isFocused}\n onBlur={handleBlur}\n onFocus={handleFocus(id)}\n onChange={handleInputChange(choice)}\n textStyle={selectTextStyle}\n style={selectInputStyle}\n analyticsID={`${id}-select${selectedSuffix}${disabledSuffix}`}\n testID={`${id}-select${selectedSuffix}${disabledSuffix}`}\n />\n </View>\n );\n }\n }\n\n return (\n <Html key={id} fontSize={theme.fontSize.regular} testID={id} style={styles.htmlText}>\n {part.value === ' ' ? part.value : trim(part.value || '')}\n </Html>\n );\n};\n\nexport type Props = {\n isDisabled?: boolean;\n template: string;\n choices: Array<TemplateTextChoice | TemplateListOfChoices>;\n onInputChange: (item: TemplateTextChoice | TemplateListOfChoices, value: string) => void;\n focusedSelectId: FocusedSelectId;\n handleBlur: HandleBlur;\n handleFocus: HandleFocus;\n};\n\nconst QuestionTemplate = (props: Props) => {\n const {\n template,\n onInputChange,\n choices,\n handleBlur,\n handleFocus,\n focusedSelectId,\n isDisabled = false\n } = props;\n\n const templateContext = useTemplateContext();\n const {theme} = templateContext;\n\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!template || !styleSheet) {\n return null;\n }\n\n const parts: TemplatePart[] = parseTemplateString(template);\n\n return (\n <View style={styleSheet.container} testID=\"question-template\">\n {parts.map(part => (\n <View key={`question-part-${part.value}`} style={{flexDirection: 'row'}}>\n <Item\n part={part}\n choices={choices}\n focusedSelectId={focusedSelectId}\n isDisabled={isDisabled}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n onInputChange={onInputChange}\n styles={styleSheet}\n />\n <Space type=\"micro\" />\n </View>\n ))}\n </View>\n );\n};\n\nexport default QuestionTemplate;\n"],"mappings":"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"}
@@ -37,7 +37,7 @@ const SkillCard = (props, context) => {
37
37
  transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'
38
38
  },
39
39
  onClick,
40
- 'aria-label': buttonAriaLabel,
40
+ 'aria-label': buttonAriaLabel ? `${skillTitle}, ${buttonAriaLabel}` : skillTitle,
41
41
  label: buttonLabel,
42
42
  'data-name': 'skill-card-button'
43
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useState","useMemo","convert","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionIcon","getOr","ButtonLink","style","propTypes","getGradientBackground","baseColor","gradients","SkillCard","props","context","ariaLabel","skillTitle","skillAriaLabel","buttonLabel","buttonAriaLabel","reviseLabel","reviseAriaLabel","onClick","isCustom","skin","hovered","setHovered","primarySkinColor","handleMouseOver","handleMouseLeave","buttonProps","customStyle","backgroundColor","color","transition","label","titleBackgroundColor","titleBackground","skillCardWrapper","background","questionReviseText","questionReviseIcon","buttonWrapper"],"sources":["../../../src/molecule/skill-card/index.js"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport {convert} from 'css-color-function';\nimport {NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon} from '@coorpacademy/nova-icons';\nimport getOr from 'lodash/fp/getOr';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst getGradientBackground = baseColor => {\n const gradients = [\n convert(`color(${baseColor} lightness(30%))`),\n convert(`color(${baseColor} lightness(47%))`),\n convert(`color(${baseColor} lightness(55%))`)\n ];\n\n return `radial-gradient(62.12% 56.45% at 0% 77.29%, ${gradients[0]} 0%, ${convert(\n `color(${gradients[0]} a(0))`\n )} 100%), radial-gradient(113.85% 103.46% at 93.27% 7.88%, ${gradients[1]} 0%, ${convert(\n `color(${gradients[1]} a(0))`\n )} 100%), radial-gradient(49.66% 49.63% at 78.65% 86.26%, ${gradients[2]} 0%, ${convert(\n `color(${gradients[2]} a(0))`\n )} 100%), ${baseColor}`;\n};\n\nconst SkillCard = (props, context) => {\n const {\n 'aria-label': ariaLabel,\n skillTitle,\n skillAriaLabel,\n buttonLabel,\n buttonAriaLabel,\n reviseLabel,\n reviseAriaLabel,\n onClick,\n isCustom = false\n } = props;\n const {skin} = context;\n const [hovered, setHovered] = useState(false);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n onClick,\n 'aria-label': buttonAriaLabel,\n label: buttonLabel,\n 'data-name': 'skill-card-button'\n };\n\n const titleBackgroundColor = useMemo(\n () => (isCustom ? '#128C72' : primarySkinColor),\n [isCustom, primarySkinColor]\n );\n\n const titleBackground = useMemo(\n () => getGradientBackground(titleBackgroundColor),\n [titleBackgroundColor]\n );\n\n return (\n <div className={style.skillCardWrapper} data-name=\"skill-card-wrapper\" aria-label={ariaLabel}>\n <div\n data-name=\"skill-title\"\n className={style.skillTitle}\n aria-label={skillAriaLabel || skillTitle}\n style={{\n background: titleBackground\n }}\n >\n {skillTitle}\n </div>\n <div data-name=\"card-content-wrapper\">\n <div\n className={style.questionReviseText}\n data-name=\"questions-to-revise-label\"\n aria-label={reviseAriaLabel || reviseLabel}\n >\n <QuestionIcon className={style.questionReviseIcon} width={16} height={16} />\n {reviseLabel}\n </div>\n <div\n className={style.buttonWrapper}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-name=\"button-wrapper\"\n >\n <ButtonLink {...buttonProps} />\n </div>\n </div>\n </div>\n );\n};\n\nSkillCard.propTypes = propTypes;\n\nexport default SkillCard;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useState","useMemo","convert","NovaSolidInterfaceFeedbackInterfaceQuestionMark","QuestionIcon","getOr","ButtonLink","style","propTypes","getGradientBackground","baseColor","gradients","SkillCard","props","context","ariaLabel","skillTitle","skillAriaLabel","buttonLabel","buttonAriaLabel","reviseLabel","reviseAriaLabel","onClick","isCustom","skin","hovered","setHovered","primarySkinColor","handleMouseOver","handleMouseLeave","buttonProps","customStyle","backgroundColor","color","transition","label","titleBackgroundColor","titleBackground","skillCardWrapper","background","questionReviseText","questionReviseIcon","buttonWrapper"],"sources":["../../../src/molecule/skill-card/index.js"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport {convert} from 'css-color-function';\nimport {NovaSolidInterfaceFeedbackInterfaceQuestionMark as QuestionIcon} from '@coorpacademy/nova-icons';\nimport getOr from 'lodash/fp/getOr';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst getGradientBackground = baseColor => {\n const gradients = [\n convert(`color(${baseColor} lightness(30%))`),\n convert(`color(${baseColor} lightness(47%))`),\n convert(`color(${baseColor} lightness(55%))`)\n ];\n\n return `radial-gradient(62.12% 56.45% at 0% 77.29%, ${gradients[0]} 0%, ${convert(\n `color(${gradients[0]} a(0))`\n )} 100%), radial-gradient(113.85% 103.46% at 93.27% 7.88%, ${gradients[1]} 0%, ${convert(\n `color(${gradients[1]} a(0))`\n )} 100%), radial-gradient(49.66% 49.63% at 78.65% 86.26%, ${gradients[2]} 0%, ${convert(\n `color(${gradients[2]} a(0))`\n )} 100%), ${baseColor}`;\n};\n\nconst SkillCard = (props, context) => {\n const {\n 'aria-label': ariaLabel,\n skillTitle,\n skillAriaLabel,\n buttonLabel,\n buttonAriaLabel,\n reviseLabel,\n reviseAriaLabel,\n onClick,\n isCustom = false\n } = props;\n const {skin} = context;\n const [hovered, setHovered] = useState(false);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n onClick,\n 'aria-label': buttonAriaLabel ? `${skillTitle}, ${buttonAriaLabel}` : skillTitle,\n label: buttonLabel,\n 'data-name': 'skill-card-button'\n };\n\n const titleBackgroundColor = useMemo(\n () => (isCustom ? '#128C72' : primarySkinColor),\n [isCustom, primarySkinColor]\n );\n\n const titleBackground = useMemo(\n () => getGradientBackground(titleBackgroundColor),\n [titleBackgroundColor]\n );\n\n return (\n <div className={style.skillCardWrapper} data-name=\"skill-card-wrapper\" aria-label={ariaLabel}>\n <div\n data-name=\"skill-title\"\n className={style.skillTitle}\n aria-label={skillAriaLabel || skillTitle}\n style={{\n background: titleBackground\n }}\n >\n {skillTitle}\n </div>\n <div data-name=\"card-content-wrapper\">\n <div\n className={style.questionReviseText}\n data-name=\"questions-to-revise-label\"\n aria-label={reviseAriaLabel || reviseLabel}\n >\n <QuestionIcon className={style.questionReviseIcon} width={16} height={16} />\n {reviseLabel}\n </div>\n <div\n className={style.buttonWrapper}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-name=\"button-wrapper\"\n >\n <ButtonLink {...buttonProps} />\n </div>\n </div>\n </div>\n );\n};\n\nSkillCard.propTypes = propTypes;\n\nexport default SkillCard;\n"],"mappings":"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"}
@@ -11,6 +11,7 @@
11
11
  @value battle from colors;
12
12
  @value orangeAdd from colors;
13
13
  @value transparent from colors;
14
+ @value strong from "../../variables/fonts.css";
14
15
 
15
16
  .wrapper {
16
17
  min-height: 60px;
@@ -1,5 +1,5 @@
1
1
  export default ReviewHeader;
2
- declare function ReviewHeader(props: any, context: any): JSX.Element;
2
+ declare function ReviewHeader(props: any, legacyContext: any): JSX.Element;
3
3
  declare namespace ReviewHeader {
4
4
  export { propTypes };
5
5
  export namespace contextTypes {
@@ -24,6 +24,7 @@ declare namespace ReviewHeader {
24
24
  [x: string]: any;
25
25
  }>;
26
26
  }>>;
27
+ const translate: import("prop-types").Requireable<(...args: any[]) => any>;
27
28
  }
28
29
  }
29
30
  import propTypes from "./types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-header/index.js"],"names":[],"mappings":";AASA,qEAuDC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-header/index.js"],"names":[],"mappings":";AASA,2EAiDC"}
@@ -1,25 +1,24 @@
1
1
  import React from 'react';
2
2
  import classnames from 'classnames';
3
3
  import getOr from 'lodash/fp/getOr';
4
- import Provider from '../../atom/provider';
4
+ import Provider, { GetTranslateFromContext, GetSkinFromContext } from '../../atom/provider';
5
5
  import ButtonLinkIconOnly from '../../atom/button-link-icon-only';
6
6
  import ReviewHeaderSteps from '../../molecule/review-header-steps';
7
7
  import style from './style.css';
8
8
  import propTypes from './types';
9
9
 
10
- const ReviewHeader = (props, context) => {
10
+ const ReviewHeader = (props, legacyContext) => {
11
11
  const {
12
12
  steps,
13
13
  mode,
14
14
  skillName,
15
15
  'aria-label': ariaLabel,
16
- closeButtonAriaLabel,
17
16
  onQuitClick,
18
17
  hiddenSteps
19
18
  } = props;
20
- const {
21
- skin
22
- } = context;
19
+ const translate = GetTranslateFromContext(legacyContext);
20
+ const skin = GetSkinFromContext(legacyContext);
21
+ const closeButtonAriaLabel = translate('close_button_ariaLabel');
23
22
  const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);
24
23
  const buttonProps = {
25
24
  icon: 'close',
@@ -62,7 +61,8 @@ const ReviewHeader = (props, context) => {
62
61
 
63
62
  ReviewHeader.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
64
63
  ReviewHeader.contextTypes = {
65
- skin: Provider.childContextTypes.skin
64
+ skin: Provider.childContextTypes.skin,
65
+ translate: Provider.childContextTypes.translate
66
66
  };
67
67
  export default ReviewHeader;
68
68
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","classnames","getOr","Provider","ButtonLinkIconOnly","ReviewHeaderSteps","style","propTypes","ReviewHeader","props","context","steps","mode","skillName","ariaLabel","closeButtonAriaLabel","onQuitClick","hiddenSteps","skin","primarySkinColor","buttonProps","icon","onClick","size","className","review","stepsWrapper","stepsWrapperAnimation","headerWrapper","titlesWrapper","title","color","iconButtonWrapper","contextTypes","childContextTypes"],"sources":["../../../src/organism/review-header/index.js"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport getOr from 'lodash/fp/getOr';\nimport Provider from '../../atom/provider';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport ReviewHeaderSteps from '../../molecule/review-header-steps';\nimport style from './style.css';\nimport propTypes from './types';\n\nconst ReviewHeader = (props, context) => {\n const {\n steps,\n mode,\n skillName,\n 'aria-label': ariaLabel,\n closeButtonAriaLabel,\n onQuitClick,\n hiddenSteps\n } = props;\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const buttonProps = {\n icon: 'close',\n 'data-name': 'review-header-close-button',\n 'aria-label': closeButtonAriaLabel,\n onClick: onQuitClick,\n size: 'responsive',\n className: style.review\n };\n\n const stepsWrapper = classnames(\n style.stepsWrapper,\n hiddenSteps ? style.stepsWrapperAnimation : null\n );\n\n return (\n <div className={style.headerWrapper} data-name=\"review-header\" aria-label={ariaLabel}>\n <div className={style.titlesWrapper}>\n <div className={style.title} title={mode} aria-label={mode} data-name=\"review-header-mode\">\n {mode}\n </div>\n <div\n className={style.skillName}\n style={{\n color: primarySkinColor\n }}\n title={skillName}\n aria-label={skillName}\n data-name=\"review-header-skill-name\"\n >\n {skillName}\n </div>\n </div>\n\n <div className={stepsWrapper}>\n <ReviewHeaderSteps steps={steps} key={'review-header-steps'} />\n </div>\n\n <div className={style.iconButtonWrapper} data-testid=\"review-header-close-button-wrapper\">\n <ButtonLinkIconOnly {...buttonProps} />\n </div>\n </div>\n );\n};\n\nReviewHeader.propTypes = propTypes;\n\nReviewHeader.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default ReviewHeader;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,kBAAP,MAA+B,kCAA/B;AACA,OAAOC,iBAAP,MAA8B,oCAA9B;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,SAAP,MAAsB,SAAtB;;AAEA,MAAMC,YAAY,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACvC,MAAM;IACJC,KADI;IAEJC,IAFI;IAGJC,SAHI;IAIJ,cAAcC,SAJV;IAKJC,oBALI;IAMJC,WANI;IAOJC;EAPI,IAQFR,KARJ;EASA,MAAM;IAACS;EAAD,IAASR,OAAf;EACA,MAAMS,gBAAgB,GAAGjB,KAAK,CAAC,SAAD,EAAY,gBAAZ,EAA8BgB,IAA9B,CAA9B;EAEA,MAAME,WAAW,GAAG;IAClBC,IAAI,EAAE,OADY;IAElB,aAAa,4BAFK;IAGlB,cAAcN,oBAHI;IAIlBO,OAAO,EAAEN,WAJS;IAKlBO,IAAI,EAAE,YALY;IAMlBC,SAAS,EAAElB,KAAK,CAACmB;EANC,CAApB;EASA,MAAMC,YAAY,GAAGzB,UAAU,CAC7BK,KAAK,CAACoB,YADuB,EAE7BT,WAAW,GAAGX,KAAK,CAACqB,qBAAT,GAAiC,IAFf,CAA/B;EAKA,oBACE;IAAK,SAAS,EAAErB,KAAK,CAACsB,aAAtB;IAAqC,aAAU,eAA/C;IAA+D,cAAYd;EAA3E,gBACE;IAAK,SAAS,EAAER,KAAK,CAACuB;EAAtB,gBACE;IAAK,SAAS,EAAEvB,KAAK,CAACwB,KAAtB;IAA6B,KAAK,EAAElB,IAApC;IAA0C,cAAYA,IAAtD;IAA4D,aAAU;EAAtE,GACGA,IADH,CADF,eAIE;IACE,SAAS,EAAEN,KAAK,CAACO,SADnB;IAEE,KAAK,EAAE;MACLkB,KAAK,EAAEZ;IADF,CAFT;IAKE,KAAK,EAAEN,SALT;IAME,cAAYA,SANd;IAOE,aAAU;EAPZ,GASGA,SATH,CAJF,CADF,eAkBE;IAAK,SAAS,EAAEa;EAAhB,gBACE,oBAAC,iBAAD;IAAmB,KAAK,EAAEf,KAA1B;IAAiC,GAAG,EAAE;EAAtC,EADF,CAlBF,eAsBE;IAAK,SAAS,EAAEL,KAAK,CAAC0B,iBAAtB;IAAyC,eAAY;EAArD,gBACE,oBAAC,kBAAD,EAAwBZ,WAAxB,CADF,CAtBF,CADF;AA4BD,CAvDD;;AAyDAZ,YAAY,CAACD,SAAb,2CAAyBA,SAAzB;AAEAC,YAAY,CAACyB,YAAb,GAA4B;EAC1Bf,IAAI,EAAEf,QAAQ,CAAC+B,iBAAT,CAA2BhB;AADP,CAA5B;AAIA,eAAeV,YAAf"}
1
+ {"version":3,"file":"index.js","names":["React","classnames","getOr","Provider","GetTranslateFromContext","GetSkinFromContext","ButtonLinkIconOnly","ReviewHeaderSteps","style","propTypes","ReviewHeader","props","legacyContext","steps","mode","skillName","ariaLabel","onQuitClick","hiddenSteps","translate","skin","closeButtonAriaLabel","primarySkinColor","buttonProps","icon","onClick","size","className","review","stepsWrapper","stepsWrapperAnimation","headerWrapper","titlesWrapper","title","color","iconButtonWrapper","contextTypes","childContextTypes"],"sources":["../../../src/organism/review-header/index.js"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport getOr from 'lodash/fp/getOr';\nimport Provider, {GetTranslateFromContext, GetSkinFromContext} from '../../atom/provider';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport ReviewHeaderSteps from '../../molecule/review-header-steps';\nimport style from './style.css';\nimport propTypes from './types';\n\nconst ReviewHeader = (props, legacyContext) => {\n const {steps, mode, skillName, 'aria-label': ariaLabel, onQuitClick, hiddenSteps} = props;\n const translate = GetTranslateFromContext(legacyContext);\n const skin = GetSkinFromContext(legacyContext);\n const closeButtonAriaLabel = translate('close_button_ariaLabel');\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const buttonProps = {\n icon: 'close',\n 'data-name': 'review-header-close-button',\n 'aria-label': closeButtonAriaLabel,\n onClick: onQuitClick,\n size: 'responsive',\n className: style.review\n };\n\n const stepsWrapper = classnames(\n style.stepsWrapper,\n hiddenSteps ? style.stepsWrapperAnimation : null\n );\n\n return (\n <div className={style.headerWrapper} data-name=\"review-header\" aria-label={ariaLabel}>\n <div className={style.titlesWrapper}>\n <div className={style.title} title={mode} aria-label={mode} data-name=\"review-header-mode\">\n {mode}\n </div>\n <div\n className={style.skillName}\n style={{\n color: primarySkinColor\n }}\n title={skillName}\n aria-label={skillName}\n data-name=\"review-header-skill-name\"\n >\n {skillName}\n </div>\n </div>\n\n <div className={stepsWrapper}>\n <ReviewHeaderSteps steps={steps} key={'review-header-steps'} />\n </div>\n\n <div className={style.iconButtonWrapper} data-testid=\"review-header-close-button-wrapper\">\n <ButtonLinkIconOnly {...buttonProps} />\n </div>\n </div>\n );\n};\n\nReviewHeader.propTypes = propTypes;\n\nReviewHeader.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nexport default ReviewHeader;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,QAAP,IAAkBC,uBAAlB,EAA2CC,kBAA3C,QAAoE,qBAApE;AACA,OAAOC,kBAAP,MAA+B,kCAA/B;AACA,OAAOC,iBAAP,MAA8B,oCAA9B;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,SAAP,MAAsB,SAAtB;;AAEA,MAAMC,YAAY,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EAC7C,MAAM;IAACC,KAAD;IAAQC,IAAR;IAAcC,SAAd;IAAyB,cAAcC,SAAvC;IAAkDC,WAAlD;IAA+DC;EAA/D,IAA8EP,KAApF;EACA,MAAMQ,SAAS,GAAGf,uBAAuB,CAACQ,aAAD,CAAzC;EACA,MAAMQ,IAAI,GAAGf,kBAAkB,CAACO,aAAD,CAA/B;EACA,MAAMS,oBAAoB,GAAGF,SAAS,CAAC,wBAAD,CAAtC;EACA,MAAMG,gBAAgB,GAAGpB,KAAK,CAAC,SAAD,EAAY,gBAAZ,EAA8BkB,IAA9B,CAA9B;EAEA,MAAMG,WAAW,GAAG;IAClBC,IAAI,EAAE,OADY;IAElB,aAAa,4BAFK;IAGlB,cAAcH,oBAHI;IAIlBI,OAAO,EAAER,WAJS;IAKlBS,IAAI,EAAE,YALY;IAMlBC,SAAS,EAAEnB,KAAK,CAACoB;EANC,CAApB;EASA,MAAMC,YAAY,GAAG5B,UAAU,CAC7BO,KAAK,CAACqB,YADuB,EAE7BX,WAAW,GAAGV,KAAK,CAACsB,qBAAT,GAAiC,IAFf,CAA/B;EAKA,oBACE;IAAK,SAAS,EAAEtB,KAAK,CAACuB,aAAtB;IAAqC,aAAU,eAA/C;IAA+D,cAAYf;EAA3E,gBACE;IAAK,SAAS,EAAER,KAAK,CAACwB;EAAtB,gBACE;IAAK,SAAS,EAAExB,KAAK,CAACyB,KAAtB;IAA6B,KAAK,EAAEnB,IAApC;IAA0C,cAAYA,IAAtD;IAA4D,aAAU;EAAtE,GACGA,IADH,CADF,eAIE;IACE,SAAS,EAAEN,KAAK,CAACO,SADnB;IAEE,KAAK,EAAE;MACLmB,KAAK,EAAEZ;IADF,CAFT;IAKE,KAAK,EAAEP,SALT;IAME,cAAYA,SANd;IAOE,aAAU;EAPZ,GASGA,SATH,CAJF,CADF,eAkBE;IAAK,SAAS,EAAEc;EAAhB,gBACE,oBAAC,iBAAD;IAAmB,KAAK,EAAEhB,KAA1B;IAAiC,GAAG,EAAE;EAAtC,EADF,CAlBF,eAsBE;IAAK,SAAS,EAAEL,KAAK,CAAC2B,iBAAtB;IAAyC,eAAY;EAArD,gBACE,oBAAC,kBAAD,EAAwBZ,WAAxB,CADF,CAtBF,CADF;AA4BD,CAjDD;;AAmDAb,YAAY,CAACD,SAAb,2CAAyBA,SAAzB;AAEAC,YAAY,CAAC0B,YAAb,GAA4B;EAC1BhB,IAAI,EAAEjB,QAAQ,CAACkC,iBAAT,CAA2BjB,IADP;EAE1BD,SAAS,EAAEhB,QAAQ,CAACkC,iBAAT,CAA2BlB;AAFZ,CAA5B;AAKA,eAAeT,YAAf"}
@@ -1,7 +1,32 @@
1
1
  export default ReviewSlide;
2
- declare function ReviewSlide(props: any): JSX.Element;
2
+ declare function ReviewSlide(props: any, legacyContext: any): JSX.Element;
3
3
  declare namespace ReviewSlide {
4
4
  export { propTypes };
5
+ export namespace contextTypes {
6
+ const skin: PropTypes.Requireable<PropTypes.InferProps<{
7
+ common: PropTypes.Requireable<{
8
+ [x: string]: any;
9
+ }>;
10
+ images: PropTypes.Requireable<PropTypes.InferProps<{
11
+ 'logo-mobile': PropTypes.Requireable<any>;
12
+ logo: PropTypes.Requireable<any>;
13
+ 'logo-email': PropTypes.Requireable<any>;
14
+ login: PropTypes.Requireable<any>;
15
+ }>>;
16
+ icons: PropTypes.Requireable<{
17
+ [x: string]: any;
18
+ }>;
19
+ mod: PropTypes.Requireable<{
20
+ [x: string]: any;
21
+ }>;
22
+ courses: PropTypes.Requireable<any[]>;
23
+ texts: PropTypes.Requireable<{
24
+ [x: string]: any;
25
+ }>;
26
+ }>>;
27
+ const translate: PropTypes.Requireable<(...args: any[]) => any>;
28
+ }
5
29
  }
6
30
  import propTypes from "./prop-types";
31
+ import PropTypes from "prop-types";
7
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.js"],"names":[],"mappings":";AA6JA,sDA8CC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.js"],"names":[],"mappings":";AA8JA,0EAkDC"}
@@ -9,7 +9,7 @@ import Answer from '../../molecule/answer';
9
9
  import ButtonLink from '../../atom/button-link';
10
10
  import Loader from '../../atom/loader';
11
11
  import ReviewCorrectionPopin from '../../molecule/review-correction-popin';
12
- import { GetSkinFromContext } from '../../atom/provider';
12
+ import Provider, { GetSkinFromContext, GetTranslateFromContext } from '../../atom/provider';
13
13
  import propTypes from './prop-types';
14
14
  import style from './style.css';
15
15
 
@@ -69,7 +69,8 @@ CorrectionPopin.propTypes = process.env.NODE_ENV !== "production" ? {
69
69
  const ValidateButton = ({
70
70
  slideIndex,
71
71
  validateButton,
72
- primarySkinColor
72
+ primarySkinColor,
73
+ ariaLabel
73
74
  }) => {
74
75
  const {
75
76
  label,
@@ -79,7 +80,7 @@ const ValidateButton = ({
79
80
  const validateButtonProps = {
80
81
  type: 'primary',
81
82
  label,
82
- 'aria-label': label,
83
+ 'aria-label': ariaLabel,
83
84
  'data-name': `slide-validate-button-${slideIndex}`,
84
85
  onClick,
85
86
  disabled,
@@ -111,7 +112,8 @@ const ValidateButton = ({
111
112
  ValidateButton.propTypes = process.env.NODE_ENV !== "production" ? {
112
113
  slideIndex: PropTypes.string,
113
114
  validateButton: propTypes.validateButton,
114
- primarySkinColor: PropTypes.string
115
+ primarySkinColor: PropTypes.string,
116
+ ariaLabel: PropTypes.string
115
117
  } : {};
116
118
 
117
119
  const QuestionContainer = props => {
@@ -159,14 +161,16 @@ QuestionContainer.propTypes = process.env.NODE_ENV !== "production" ? {
159
161
  disableContent: PropTypes.bool
160
162
  } : {};
161
163
 
162
- const ReviewSlide = props => {
164
+ const ReviewSlide = (props, legacyContext) => {
163
165
  const {
164
166
  slide,
165
167
  validateButton,
166
168
  correctionPopinProps,
167
169
  slideIndex = '0'
168
170
  } = props;
169
- const skin = GetSkinFromContext();
171
+ const skin = GetSkinFromContext(legacyContext);
172
+ const translate = GetTranslateFromContext(legacyContext);
173
+ const validateariaLabel = translate('validate_aria_label');
170
174
  const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);
171
175
  const {
172
176
  loading,
@@ -195,7 +199,8 @@ const ReviewSlide = props => {
195
199
  slideIndex: slideIndex,
196
200
  validateButton: validateButton,
197
201
  primarySkinColor: primarySkinColor,
198
- key: "validate-button"
202
+ key: "validate-button",
203
+ ariaLabel: validateariaLabel
199
204
  }), /*#__PURE__*/React.createElement(CorrectionPopin, {
200
205
  correctionPopinProps: correctionPopinProps,
201
206
  slideIndex: slideIndex,
@@ -206,5 +211,9 @@ const ReviewSlide = props => {
206
211
  };
207
212
 
208
213
  ReviewSlide.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
214
+ ReviewSlide.contextTypes = {
215
+ skin: Provider.childContextTypes.skin,
216
+ translate: Provider.childContextTypes.translate
217
+ };
209
218
  export default ReviewSlide;
210
219
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","useEffect","PropTypes","classnames","get","getOr","Answer","ButtonLink","Loader","ReviewCorrectionPopin","GetSkinFromContext","propTypes","style","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","onClick","_correctionPopinProps","type","resultLabel","keyDownHandler","event","key","preventDefault","document","removeEventListener","addEventListener","correctionPopinWrapper","popinAnimation","string","bool","ValidateButton","validateButton","primarySkinColor","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","disableContent","slideContentContainer","disabledSlideContent","question","__html","help","answerContainer","shape","slide","ReviewSlide","skin","loading","loadingAriaLabel","parentContentTitle","disabledContent","loader"],"sources":["../../../src/organism/review-slide/index.js"],"sourcesContent":["import React, {useMemo, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport {GetSkinFromContext} from '../../atom/provider';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n // there is an error of eslint here because this useEffect will be only there when the correctionPopin will be there\n // but that is on purpose to go to the next slide if you press enter when the correctionPopin is present\n // istanbul ignore next\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n const keyDownHandler = event => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onClick();\n document.removeEventListener('keydown', keyDownHandler);\n }\n };\n document.addEventListener('keydown', keyDownHandler);\n }, []);\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': label,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n };\n\n /* istanbul ignore next */\n useEffect(() => {\n const keyDownHandler = event => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n }\n };\n if (disabled) document.addEventListener('keydown', keyDownHandler);\n return () => {\n document.removeEventListener('keydown', keyDownHandler);\n };\n }, [disabled]);\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin, disableContent} = props;\n if (!answerUI || !questionText) return null;\n\n return (\n <div\n key=\"content-container\"\n data-testid=\"content-container\"\n className={classnames(\n style.slideContentContainer,\n disableContent ? style.disabledSlideContent : null\n )}\n >\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n data-testid=\"slide-question\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div\n key=\"help\"\n className={style.help}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: get('help', answerUI)}}\n />\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerUI} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string,\n disableContent: PropTypes.bool\n};\n\nconst ReviewSlide = props => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext();\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n disabledContent,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-testid=\"review-slide\" className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n <>\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n disableContent={disabledContent}\n key=\"question-container\"\n />\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n />\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n </>\n )}\n </div>\n );\n};\n\nReviewSlide.propTypes = propTypes;\n\nexport default ReviewSlide;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","useEffect","PropTypes","classnames","get","getOr","Answer","ButtonLink","Loader","ReviewCorrectionPopin","Provider","GetSkinFromContext","GetTranslateFromContext","propTypes","style","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","klf","information","label","message","next","onClick","_correctionPopinProps","type","resultLabel","keyDownHandler","event","key","preventDefault","document","removeEventListener","addEventListener","correctionPopinWrapper","popinAnimation","string","bool","ValidateButton","validateButton","primarySkinColor","ariaLabel","disabled","validateButtonProps","className","customStyle","backgroundColor","validateButtonWrapper","QuestionContainer","props","answerUI","questionText","questionOrigin","disableContent","slideContentContainer","disabledSlideContent","question","__html","help","answerContainer","shape","slide","ReviewSlide","legacyContext","skin","translate","validateariaLabel","loading","loadingAriaLabel","parentContentTitle","disabledContent","loader","contextTypes","childContextTypes"],"sources":["../../../src/organism/review-slide/index.js"],"sourcesContent":["import React, {useMemo, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport Answer from '../../molecule/answer';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin';\nimport Provider, {GetSkinFromContext, GetTranslateFromContext} from '../../atom/provider';\nimport propTypes from './prop-types';\nimport style from './style.css';\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}) => {\n if (!showCorrectionPopin) return null;\n\n const klf = getOr({}, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n // there is an error of eslint here because this useEffect will be only there when the correctionPopin will be there\n // but that is on purpose to go to the next slide if you press enter when the correctionPopin is present\n // istanbul ignore next\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n const keyDownHandler = event => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onClick();\n document.removeEventListener('keydown', keyDownHandler);\n }\n };\n document.addEventListener('keydown', keyDownHandler);\n }, []);\n\n return (\n <div\n className={classnames(\n style.correctionPopinWrapper,\n animateCorrectionPopin ? style.popinAnimation : null\n )}\n >\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </div>\n );\n};\n\nCorrectionPopin.propTypes = {\n slideIndex: PropTypes.string,\n showCorrectionPopin: PropTypes.bool,\n animateCorrectionPopin: PropTypes.bool,\n correctionPopinProps: propTypes.correctionPopinProps\n};\n\nconst ValidateButton = ({slideIndex, validateButton, primarySkinColor, ariaLabel}) => {\n const {label, onClick, disabled} = validateButton;\n const validateButtonProps = {\n type: 'primary',\n label,\n 'aria-label': ariaLabel,\n 'data-name': `slide-validate-button-${slideIndex}`,\n onClick,\n disabled,\n className: style.validateButton,\n customStyle: {\n backgroundColor: primarySkinColor\n }\n };\n\n /* istanbul ignore next */\n useEffect(() => {\n const keyDownHandler = event => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n }\n };\n if (disabled) document.addEventListener('keydown', keyDownHandler);\n return () => {\n document.removeEventListener('keydown', keyDownHandler);\n };\n }, [disabled]);\n\n return (\n <div key=\"button-wrapper\" className={style.validateButtonWrapper}>\n <ButtonLink {...validateButtonProps} />\n </div>\n );\n};\n\nValidateButton.propTypes = {\n slideIndex: PropTypes.string,\n validateButton: propTypes.validateButton,\n primarySkinColor: PropTypes.string,\n ariaLabel: PropTypes.string\n};\n\nconst QuestionContainer = props => {\n const {answerUI, questionText, questionOrigin, disableContent} = props;\n if (!answerUI || !questionText) return null;\n\n return (\n <div\n key=\"content-container\"\n data-testid=\"content-container\"\n className={classnames(\n style.slideContentContainer,\n disableContent ? style.disabledSlideContent : null\n )}\n >\n <div key=\"from-course\" className={style.questionOrigin}>\n {questionOrigin}\n </div>\n <div\n key=\"title\"\n data-testid=\"slide-question\"\n className={style.question}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: questionText}}\n />\n <div\n key=\"help\"\n className={style.help}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: get('help', answerUI)}}\n />\n <div key=\"answer-container\" className={style.answerContainer}>\n <Answer {...answerUI} key=\"answer\" />\n </div>\n </div>\n );\n};\n\nQuestionContainer.propTypes = {\n answerUI: PropTypes.shape(propTypes.slide.answerUI),\n questionText: PropTypes.string,\n questionOrigin: PropTypes.string,\n disableContent: PropTypes.bool\n};\n\nconst ReviewSlide = (props, legacyContext) => {\n const {slide, validateButton, correctionPopinProps, slideIndex = '0'} = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const translate = GetTranslateFromContext(legacyContext);\n\n const validateariaLabel = translate('validate_aria_label');\n const primarySkinColor = useMemo(() => getOr('#00B0FF', 'common.primary', skin), [skin]);\n const {\n loading,\n loadingAriaLabel,\n parentContentTitle,\n questionText,\n disabledContent,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n return (\n <div data-testid=\"review-slide\" className={style.slide}>\n {loading ? (\n <Loader className={style.loader} theme=\"default\" aria-label={loadingAriaLabel} />\n ) : (\n <>\n <QuestionContainer\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n disableContent={disabledContent}\n key=\"question-container\"\n />\n <ValidateButton\n slideIndex={slideIndex}\n validateButton={validateButton}\n primarySkinColor={primarySkinColor}\n key=\"validate-button\"\n ariaLabel={validateariaLabel}\n />\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n </>\n )}\n </div>\n );\n};\n\nReviewSlide.propTypes = propTypes;\n\nReviewSlide.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nexport default ReviewSlide;\n"],"mappings":"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"}
@@ -2,3 +2,7 @@
2
2
  font-family: "Gilroy";
3
3
  font-size: 14px;
4
4
  }
5
+
6
+ .strong {
7
+ font-weight: bold;
8
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/button/index.js"],"names":[],"mappings":";AA0FA,iDA0BC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/button/index.js"],"names":[],"mappings":";AA6FA,iDA0BC"}
@@ -32,7 +32,8 @@ const ButtonContent = props => {
32
32
  children,
33
33
  type,
34
34
  style,
35
- 'data-name': dataName
35
+ 'data-name': dataName,
36
+ 'aria-label': ariaLabel
36
37
  } = props;
37
38
  const anchorClassName = disabled && `${className} ${_style.default.disabledAnchor}` || className;
38
39
  const anchorOnClick = disabled && null || onClick;
@@ -48,7 +49,8 @@ const ButtonContent = props => {
48
49
  onClick: anchorOnClick,
49
50
  target: target,
50
51
  className: anchorClassName,
51
- style: style
52
+ style: style,
53
+ "aria-label": ariaLabel
52
54
  }, submitValue || children || 'submit');
53
55
 
54
56
  case 'a':
@@ -88,7 +90,8 @@ ButtonContent.propTypes = process.env.NODE_ENV !== "production" ? {
88
90
  children: _propTypes.default.node,
89
91
  className: _propTypes.default.string,
90
92
  style: _propTypes.default.shape({}),
91
- 'data-name': _propTypes.default.string
93
+ 'data-name': _propTypes.default.string,
94
+ 'aria-label': _propTypes.default.string
92
95
  } : {};
93
96
 
94
97
  const Button = props => {