@coorpacademy/components 10.19.6 → 10.19.9

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 (148) hide show
  1. package/es/atom/cta/index.js +2 -1
  2. package/es/atom/cta/index.js.map +1 -1
  3. package/es/atom/cta/test/cta.js +93 -0
  4. package/es/atom/cta/test/cta.js.map +1 -0
  5. package/es/atom/input-search/index.js +1 -1
  6. package/es/atom/input-search/index.js.map +1 -1
  7. package/es/molecule/news/index.js +1 -2
  8. package/es/molecule/news/index.js.map +1 -1
  9. package/es/molecule/popin/index.js +2 -2
  10. package/es/molecule/popin/index.js.map +1 -1
  11. package/es/molecule/questions/qcm/index.js +1 -2
  12. package/es/molecule/questions/qcm/index.js.map +1 -1
  13. package/es/molecule/questions/qcm/style.css +4 -0
  14. package/es/molecule/questions/qcm/test/qcm.js +2 -2
  15. package/es/molecule/questions/qcm/test/qcm.js.map +1 -1
  16. package/es/molecule/questions/qcm-drag/index.js +2 -3
  17. package/es/molecule/questions/qcm-drag/index.js.map +1 -1
  18. package/es/molecule/questions/qcm-drag/style.css +4 -0
  19. package/es/molecule/questions/qcm-graphic/index.js +1 -2
  20. package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
  21. package/es/molecule/questions/qcm-graphic/style.css +5 -1
  22. package/es/molecule/questions/question-range/index.js +3 -4
  23. package/es/molecule/questions/question-range/index.js.map +1 -1
  24. package/es/molecule/questions/question-range/style.css +4 -0
  25. package/es/molecule/review-card-congrats/index.js +1 -1
  26. package/es/molecule/review-card-congrats/index.js.map +1 -1
  27. package/es/molecule/share/index.js +1 -1
  28. package/es/molecule/share/index.js.map +1 -1
  29. package/es/organism/wizard-contents/test/fixtures/certification-general-settings-edit.js +0 -1
  30. package/es/organism/wizard-contents/test/fixtures/certification-general-settings-edit.js.map +1 -1
  31. package/es/organism/wizard-contents/test/fixtures/certification-rewards.js +0 -1
  32. package/es/organism/wizard-contents/test/fixtures/certification-rewards.js.map +1 -1
  33. package/es/organism/wizard-contents/test/fixtures/playlist-add-courses-create.js +0 -1
  34. package/es/organism/wizard-contents/test/fixtures/playlist-add-courses-create.js.map +1 -1
  35. package/es/organism/wizard-contents/test/fixtures/playlist-general-settings-create.js +0 -1
  36. package/es/organism/wizard-contents/test/fixtures/playlist-general-settings-create.js.map +1 -1
  37. package/es/organism/wizard-contents/test/fixtures/playlist-general-settings-edit.js +0 -1
  38. package/es/organism/wizard-contents/test/fixtures/playlist-general-settings-edit.js.map +1 -1
  39. package/es/organism/wizard-contents/test/fixtures/playlist-organize-courses.js +0 -1
  40. package/es/organism/wizard-contents/test/fixtures/playlist-organize-courses.js.map +1 -1
  41. package/es/organism/wizard-contents/test/fixtures/playlist-populations-create.js +0 -1
  42. package/es/organism/wizard-contents/test/fixtures/playlist-populations-create.js.map +1 -1
  43. package/es/organism/wizard-contents/test/fixtures/playlist-translate-edit.js +0 -1
  44. package/es/organism/wizard-contents/test/fixtures/playlist-translate-edit.js.map +1 -1
  45. package/es/template/app-review/root-view/common.js +6 -0
  46. package/es/template/app-review/root-view/common.js.map +1 -0
  47. package/es/template/app-review/root-view/prop-types.js +11 -3
  48. package/es/template/app-review/root-view/prop-types.js.map +1 -1
  49. package/es/template/app-review/root-view/root-view.js +4 -38
  50. package/es/template/app-review/root-view/root-view.js.map +1 -1
  51. package/es/template/app-review/root-view/root-view.native.js +6 -5
  52. package/es/template/app-review/root-view/root-view.native.js.map +1 -1
  53. package/es/template/app-review/{slides-review → slides}/test/fixtures.js +0 -0
  54. package/es/template/app-review/slides/test/fixtures.js.map +1 -0
  55. package/es/template/{app-review/review-dashboard-skills → review-dashboard-skills}/index.js +2 -2
  56. package/es/template/review-dashboard-skills/index.js.map +1 -0
  57. package/{lib/template/app-review → es/template}/review-dashboard-skills/style.css +1 -1
  58. package/es/template/review-dashboard-skills/test/fixtures/loading.js +10 -0
  59. package/es/template/review-dashboard-skills/test/fixtures/loading.js.map +1 -0
  60. package/es/template/review-dashboard-skills/test/fixtures/many-skills.js +10 -0
  61. package/es/template/review-dashboard-skills/test/fixtures/many-skills.js.map +1 -0
  62. package/es/template/review-dashboard-skills/test/fixtures/no-skills.js +10 -0
  63. package/es/template/review-dashboard-skills/test/fixtures/no-skills.js.map +1 -0
  64. package/lib/atom/cta/index.js +2 -1
  65. package/lib/atom/cta/index.js.map +1 -1
  66. package/lib/atom/cta/test/cta.js +115 -0
  67. package/lib/atom/cta/test/cta.js.map +1 -0
  68. package/lib/atom/input-search/index.js +1 -1
  69. package/lib/atom/input-search/index.js.map +1 -1
  70. package/lib/molecule/news/index.js +1 -2
  71. package/lib/molecule/news/index.js.map +1 -1
  72. package/lib/molecule/popin/index.js +2 -2
  73. package/lib/molecule/popin/index.js.map +1 -1
  74. package/lib/molecule/questions/qcm/index.js +7 -9
  75. package/lib/molecule/questions/qcm/index.js.map +1 -1
  76. package/lib/molecule/questions/qcm/style.css +4 -0
  77. package/lib/molecule/questions/qcm/test/qcm.js +2 -2
  78. package/lib/molecule/questions/qcm/test/qcm.js.map +1 -1
  79. package/lib/molecule/questions/qcm-drag/index.js +12 -14
  80. package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
  81. package/lib/molecule/questions/qcm-drag/style.css +4 -0
  82. package/lib/molecule/questions/qcm-graphic/index.js +8 -10
  83. package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
  84. package/lib/molecule/questions/qcm-graphic/style.css +5 -1
  85. package/lib/molecule/questions/question-range/index.js +6 -8
  86. package/lib/molecule/questions/question-range/index.js.map +1 -1
  87. package/lib/molecule/questions/question-range/style.css +4 -0
  88. package/lib/molecule/review-card-congrats/index.js +1 -1
  89. package/lib/molecule/review-card-congrats/index.js.map +1 -1
  90. package/lib/molecule/share/index.js +1 -1
  91. package/lib/molecule/share/index.js.map +1 -1
  92. package/lib/organism/wizard-contents/test/fixtures/certification-general-settings-edit.js.map +1 -1
  93. package/lib/organism/wizard-contents/test/fixtures/certification-rewards.js.map +1 -1
  94. package/lib/organism/wizard-contents/test/fixtures/playlist-add-courses-create.js.map +1 -1
  95. package/lib/organism/wizard-contents/test/fixtures/playlist-general-settings-create.js.map +1 -1
  96. package/lib/organism/wizard-contents/test/fixtures/playlist-general-settings-edit.js.map +1 -1
  97. package/lib/organism/wizard-contents/test/fixtures/playlist-organize-courses.js.map +1 -1
  98. package/lib/organism/wizard-contents/test/fixtures/playlist-populations-create.js.map +1 -1
  99. package/lib/organism/wizard-contents/test/fixtures/playlist-translate-edit.js.map +1 -1
  100. package/lib/template/app-review/root-view/common.js +11 -0
  101. package/lib/template/app-review/root-view/common.js.map +1 -0
  102. package/lib/template/app-review/root-view/prop-types.js +15 -3
  103. package/lib/template/app-review/root-view/prop-types.js.map +1 -1
  104. package/lib/template/app-review/root-view/root-view.js +4 -38
  105. package/lib/template/app-review/root-view/root-view.js.map +1 -1
  106. package/lib/template/app-review/root-view/root-view.native.js +6 -4
  107. package/lib/template/app-review/root-view/root-view.native.js.map +1 -1
  108. package/lib/template/app-review/{slides-review → slides}/test/fixtures.js +0 -0
  109. package/lib/template/app-review/slides/test/fixtures.js.map +1 -0
  110. package/lib/template/{app-review/review-dashboard-skills → review-dashboard-skills}/index.js +2 -2
  111. package/lib/template/review-dashboard-skills/index.js.map +1 -0
  112. package/{es/template/app-review → lib/template}/review-dashboard-skills/style.css +1 -1
  113. package/lib/template/{app-review/review-dashboard-skills → review-dashboard-skills}/test/fixtures/loading.js +2 -2
  114. package/lib/template/review-dashboard-skills/test/fixtures/loading.js.map +1 -0
  115. package/lib/template/{app-review/review-dashboard-skills → review-dashboard-skills}/test/fixtures/many-skills.js +2 -2
  116. package/lib/template/review-dashboard-skills/test/fixtures/many-skills.js.map +1 -0
  117. package/lib/template/{app-review/review-dashboard-skills → review-dashboard-skills}/test/fixtures/no-skills.js +2 -2
  118. package/lib/template/review-dashboard-skills/test/fixtures/no-skills.js.map +1 -0
  119. package/package.json +3 -3
  120. package/es/atom/cta/test/hover.js +0 -42
  121. package/es/atom/cta/test/hover.js.map +0 -1
  122. package/es/template/app-review/review-dashboard-skills/index.js.map +0 -1
  123. package/es/template/app-review/review-dashboard-skills/test/fixtures/loading.js +0 -10
  124. package/es/template/app-review/review-dashboard-skills/test/fixtures/loading.js.map +0 -1
  125. package/es/template/app-review/review-dashboard-skills/test/fixtures/many-skills.js +0 -10
  126. package/es/template/app-review/review-dashboard-skills/test/fixtures/many-skills.js.map +0 -1
  127. package/es/template/app-review/review-dashboard-skills/test/fixtures/no-skills.js +0 -10
  128. package/es/template/app-review/review-dashboard-skills/test/fixtures/no-skills.js.map +0 -1
  129. package/es/template/app-review/review-dashboard-skills/test/fixtures.js +0 -17
  130. package/es/template/app-review/review-dashboard-skills/test/fixtures.js.map +0 -1
  131. package/es/template/app-review/slides-review/test/fixtures.js.map +0 -1
  132. package/es/template/review-dashboard-skills/test/fixtures.js +0 -17
  133. package/es/template/review-dashboard-skills/test/fixtures.js.map +0 -1
  134. package/es/template/slides-review/test/fixtures.js +0 -19
  135. package/es/template/slides-review/test/fixtures.js.map +0 -1
  136. package/lib/atom/cta/test/hover.js +0 -54
  137. package/lib/atom/cta/test/hover.js.map +0 -1
  138. package/lib/template/app-review/review-dashboard-skills/index.js.map +0 -1
  139. package/lib/template/app-review/review-dashboard-skills/test/fixtures/loading.js.map +0 -1
  140. package/lib/template/app-review/review-dashboard-skills/test/fixtures/many-skills.js.map +0 -1
  141. package/lib/template/app-review/review-dashboard-skills/test/fixtures/no-skills.js.map +0 -1
  142. package/lib/template/app-review/review-dashboard-skills/test/fixtures.js +0 -28
  143. package/lib/template/app-review/review-dashboard-skills/test/fixtures.js.map +0 -1
  144. package/lib/template/app-review/slides-review/test/fixtures.js.map +0 -1
  145. package/lib/template/review-dashboard-skills/test/fixtures.js +0 -28
  146. package/lib/template/review-dashboard-skills/test/fixtures.js.map +0 -1
  147. package/lib/template/slides-review/test/fixtures.js +0 -31
  148. package/lib/template/slides-review/test/fixtures.js.map +0 -1
@@ -0,0 +1,10 @@
1
+ import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';
2
+ import reviewSkills from '../../../../organism/review-skills/test/fixtures/loading';
3
+ export default {
4
+ props: {
5
+ 'aria-label': 'Review Skills Template',
6
+ reviewPresentation: reviewPresentation.props,
7
+ reviewSkills: reviewSkills.props
8
+ }
9
+ };
10
+ //# sourceMappingURL=loading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/template/review-dashboard-skills/test/fixtures/loading.js"],"names":["reviewPresentation","reviewSkills","props"],"mappings":"AAAA,OAAOA,kBAAP,MAA+B,4DAA/B;AACA,OAAOC,YAAP,MAAyB,0DAAzB;AAEA,eAAe;AACbC,EAAAA,KAAK,EAAE;AACL,kBAAc,wBADT;AAELF,IAAAA,kBAAkB,EAAEA,kBAAkB,CAACE,KAFlC;AAGLD,IAAAA,YAAY,EAAEA,YAAY,CAACC;AAHtB;AADM,CAAf","sourcesContent":["import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';\nimport reviewSkills from '../../../../organism/review-skills/test/fixtures/loading';\n\nexport default {\n props: {\n 'aria-label': 'Review Skills Template',\n reviewPresentation: reviewPresentation.props,\n reviewSkills: reviewSkills.props\n }\n};\n"],"file":"loading.js"}
@@ -0,0 +1,10 @@
1
+ import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';
2
+ import reviewSkills from '../../../../organism/review-skills/test/fixtures/many-skills';
3
+ export default {
4
+ props: {
5
+ 'aria-label': 'Review Skills Template',
6
+ reviewPresentation: reviewPresentation.props,
7
+ reviewSkills: reviewSkills.props
8
+ }
9
+ };
10
+ //# sourceMappingURL=many-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/template/review-dashboard-skills/test/fixtures/many-skills.js"],"names":["reviewPresentation","reviewSkills","props"],"mappings":"AAAA,OAAOA,kBAAP,MAA+B,4DAA/B;AACA,OAAOC,YAAP,MAAyB,8DAAzB;AAEA,eAAe;AACbC,EAAAA,KAAK,EAAE;AACL,kBAAc,wBADT;AAELF,IAAAA,kBAAkB,EAAEA,kBAAkB,CAACE,KAFlC;AAGLD,IAAAA,YAAY,EAAEA,YAAY,CAACC;AAHtB;AADM,CAAf","sourcesContent":["import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';\nimport reviewSkills from '../../../../organism/review-skills/test/fixtures/many-skills';\n\nexport default {\n props: {\n 'aria-label': 'Review Skills Template',\n reviewPresentation: reviewPresentation.props,\n reviewSkills: reviewSkills.props\n }\n};\n"],"file":"many-skills.js"}
@@ -0,0 +1,10 @@
1
+ import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';
2
+ import reviewSkills from '../../../../organism/review-skills/test/fixtures/no-skills';
3
+ export default {
4
+ props: {
5
+ 'aria-label': 'Review Skills Template',
6
+ reviewPresentation: reviewPresentation.props,
7
+ reviewSkills: reviewSkills.props
8
+ }
9
+ };
10
+ //# sourceMappingURL=no-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/template/review-dashboard-skills/test/fixtures/no-skills.js"],"names":["reviewPresentation","reviewSkills","props"],"mappings":"AAAA,OAAOA,kBAAP,MAA+B,4DAA/B;AACA,OAAOC,YAAP,MAAyB,4DAAzB;AAEA,eAAe;AACbC,EAAAA,KAAK,EAAE;AACL,kBAAc,wBADT;AAELF,IAAAA,kBAAkB,EAAEA,kBAAkB,CAACE,KAFlC;AAGLD,IAAAA,YAAY,EAAEA,YAAY,CAACC;AAHtB;AADM,CAAf","sourcesContent":["import reviewPresentation from '../../../../atom/review-presentation/test/fixtures/default';\nimport reviewSkills from '../../../../organism/review-skills/test/fixtures/no-skills';\n\nexport default {\n props: {\n 'aria-label': 'Review Skills Template',\n reviewPresentation: reviewPresentation.props,\n reviewSkills: reviewSkills.props\n }\n};\n"],"file":"no-skills.js"}
@@ -122,7 +122,8 @@ class CTA extends _react.default.Component {
122
122
  "data-name": ctaName || 'cta',
123
123
  style: this.getStyle()
124
124
  }, logout ? /*#__PURE__*/_react.default.createElement("div", {
125
- className: _style.default.logoutWrapper
125
+ className: _style.default.logoutWrapper,
126
+ "data-name": "cta-logout-label"
126
127
  }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyLogout, {
127
128
  height: 15,
128
129
  width: 15,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/cta/index.js"],"names":["CTA","React","Component","constructor","props","state","hovered","handleMouseEnter","bind","handleMouseLeave","setState","getStyle","skin","context","disabled","light","secondary","logout","color","grey","backgroundColor","borderColor","opacity","darkenColor","render","submitValue","name","ctaName","href","target","small","onClick","className","rectangular","fullWidth","certificationButton","style","button","smallButton","lightButton","secondaryButton","logoutButton","rectangularButton","logoutWrapper","logoutIcon","Provider","childContextTypes","propTypes","Link","children","PropTypes","string","bool"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {convert} from 'css-color-function';\nimport PropTypes from 'prop-types';\nimport {get, noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {NovaCompositionCoorpacademyLogout as LogoutIcon} from '@coorpacademy/nova-icons';\nimport Provider from '../provider';\nimport Link from '../link';\nimport style from './style.css';\n\nclass CTA extends React.Component {\n static propTypes = {\n submitValue: Link.propTypes.children,\n href: Link.propTypes.href,\n onClick: Link.propTypes.onClick,\n target: Link.propTypes.target,\n name: PropTypes.string,\n disabled: PropTypes.bool,\n light: PropTypes.bool,\n secondary: PropTypes.bool,\n small: PropTypes.bool,\n className: PropTypes.string,\n logout: PropTypes.bool,\n rectangular: PropTypes.bool,\n fullWidth: PropTypes.bool,\n certificationButton: PropTypes.bool\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n hovered: false\n };\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n }\n\n handleMouseEnter() {\n return this.setState({\n hovered: true\n });\n }\n\n handleMouseLeave() {\n return this.setState({\n hovered: false\n });\n }\n\n getStyle() {\n const {skin} = this.context;\n const {hovered} = this.state;\n const {disabled = false, light = false, secondary = false, logout = false} = this.props;\n const color = get('common.primary', skin);\n const grey = get('common.grey', skin);\n\n if (logout) return;\n\n if (disabled) {\n return {\n backgroundColor: grey,\n borderColor: grey,\n opacity: '0.3'\n };\n }\n\n if (hovered) {\n const darkenColor = convert(`color(${color} blackness(+10%))`);\n return {\n backgroundColor: darkenColor,\n borderColor: darkenColor\n };\n }\n\n if (secondary)\n return {\n color,\n borderColor: color\n };\n\n if (light)\n return {\n color\n };\n\n return {\n borderColor: color,\n backgroundColor: color\n };\n }\n\n render() {\n const {\n submitValue = 'submit',\n name: ctaName,\n href,\n target,\n disabled = false,\n light = false,\n small = false,\n secondary = false,\n onClick,\n className,\n logout = false,\n rectangular = false,\n fullWidth = false,\n certificationButton = false\n } = this.props;\n\n return (\n <Link\n href={href}\n onClick={disabled ? noop : onClick}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n target={target}\n className={classnames(\n style.button,\n disabled ? style.disabled : null,\n small ? style.smallButton : null,\n light ? style.lightButton : null,\n secondary ? style.secondaryButton : null,\n logout ? style.logoutButton : null,\n rectangular ? style.rectangularButton : null,\n fullWidth ? style.fullWidth : null,\n certificationButton ? style.certificationButton : null,\n className\n )}\n data-name={ctaName || 'cta'}\n style={this.getStyle()}\n >\n {logout ? (\n <div className={style.logoutWrapper}>\n <LogoutIcon height={15} width={15} className={style.logoutIcon} />\n {submitValue}\n </div>\n ) : (\n submitValue\n )}\n </Link>\n );\n }\n}\n\nexport default CTA;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/cta/index.js"],"names":["CTA","React","Component","constructor","props","state","hovered","handleMouseEnter","bind","handleMouseLeave","setState","getStyle","skin","context","disabled","light","secondary","logout","color","grey","backgroundColor","borderColor","opacity","darkenColor","render","submitValue","name","ctaName","href","target","small","onClick","className","rectangular","fullWidth","certificationButton","style","button","smallButton","lightButton","secondaryButton","logoutButton","rectangularButton","logoutWrapper","logoutIcon","Provider","childContextTypes","propTypes","Link","children","PropTypes","string","bool"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {convert} from 'css-color-function';\nimport PropTypes from 'prop-types';\nimport {get, noop} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {NovaCompositionCoorpacademyLogout as LogoutIcon} from '@coorpacademy/nova-icons';\nimport Provider from '../provider';\nimport Link from '../link';\nimport style from './style.css';\n\nclass CTA extends React.Component {\n static propTypes = {\n submitValue: Link.propTypes.children,\n href: Link.propTypes.href,\n onClick: Link.propTypes.onClick,\n target: Link.propTypes.target,\n name: PropTypes.string,\n disabled: PropTypes.bool,\n light: PropTypes.bool,\n secondary: PropTypes.bool,\n small: PropTypes.bool,\n className: PropTypes.string,\n logout: PropTypes.bool,\n rectangular: PropTypes.bool,\n fullWidth: PropTypes.bool,\n certificationButton: PropTypes.bool\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n hovered: false\n };\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n }\n\n handleMouseEnter() {\n return this.setState({\n hovered: true\n });\n }\n\n handleMouseLeave() {\n return this.setState({\n hovered: false\n });\n }\n\n getStyle() {\n const {skin} = this.context;\n const {hovered} = this.state;\n const {disabled = false, light = false, secondary = false, logout = false} = this.props;\n const color = get('common.primary', skin);\n const grey = get('common.grey', skin);\n\n if (logout) return;\n\n if (disabled) {\n return {\n backgroundColor: grey,\n borderColor: grey,\n opacity: '0.3'\n };\n }\n\n if (hovered) {\n const darkenColor = convert(`color(${color} blackness(+10%))`);\n return {\n backgroundColor: darkenColor,\n borderColor: darkenColor\n };\n }\n\n if (secondary)\n return {\n color,\n borderColor: color\n };\n\n if (light)\n return {\n color\n };\n\n return {\n borderColor: color,\n backgroundColor: color\n };\n }\n\n render() {\n const {\n submitValue = 'submit',\n name: ctaName,\n href,\n target,\n disabled = false,\n light = false,\n small = false,\n secondary = false,\n onClick,\n className,\n logout = false,\n rectangular = false,\n fullWidth = false,\n certificationButton = false\n } = this.props;\n\n return (\n <Link\n href={href}\n onClick={disabled ? noop : onClick}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n target={target}\n className={classnames(\n style.button,\n disabled ? style.disabled : null,\n small ? style.smallButton : null,\n light ? style.lightButton : null,\n secondary ? style.secondaryButton : null,\n logout ? style.logoutButton : null,\n rectangular ? style.rectangularButton : null,\n fullWidth ? style.fullWidth : null,\n certificationButton ? style.certificationButton : null,\n className\n )}\n data-name={ctaName || 'cta'}\n style={this.getStyle()}\n >\n {logout ? (\n <div className={style.logoutWrapper} data-name=\"cta-logout-label\">\n <LogoutIcon height={15} width={15} className={style.logoutIcon} />\n {submitValue}\n </div>\n ) : (\n submitValue\n )}\n </Link>\n );\n }\n}\n\nexport default CTA;\n"],"file":"index.js"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ var _browserEnv = _interopRequireDefault(require("browser-env"));
4
+
5
+ var _ava = _interopRequireDefault(require("ava"));
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _react2 = require("@testing-library/react");
10
+
11
+ var _renderWithContext = require("../../../util/render-with-context");
12
+
13
+ var _ = _interopRequireDefault(require(".."));
14
+
15
+ var _primary = _interopRequireDefault(require("./fixtures/primary"));
16
+
17
+ var _logout = _interopRequireDefault(require("./fixtures/logout"));
18
+
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+
21
+ function _extends() { _extends = Object.assign || 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); }
22
+
23
+ (0, _browserEnv.default)();
24
+ const context = {
25
+ skin: {
26
+ common: {
27
+ primary: '#FF7043'
28
+ }
29
+ }
30
+ };
31
+ (0, _ava.default)('should be considered as hovered when mouse enters', t => {
32
+ const unhoveredCtaLinkStyle = {
33
+ 'background-color': 'rgb(255, 112, 67)',
34
+ 'border-bottom-color': '#ff7043',
35
+ 'border-color': '#ff7043',
36
+ 'border-left-color': '#ff7043',
37
+ 'border-right-color': '#ff7043',
38
+ 'border-top-color': '#ff7043'
39
+ };
40
+ const {
41
+ container
42
+ } = (0, _renderWithContext.renderWithContext)( /*#__PURE__*/_react.default.createElement(_.default, _primary.default.props), {
43
+ context
44
+ });
45
+ const cta = container.querySelector('[data-name="cta"]');
46
+ t.truthy(cta);
47
+ t.deepEqual(cta.style._values, unhoveredCtaLinkStyle);
48
+
49
+ _react2.fireEvent.mouseOver(cta);
50
+
51
+ t.deepEqual(cta.style._values, {
52
+ 'background-color': 'rgb(230, 104, 66)',
53
+ 'border-bottom-color': 'rgb(230, 104, 66)',
54
+ 'border-color': 'rgb(230, 104, 66)',
55
+ 'border-left-color': 'rgb(230, 104, 66)',
56
+ 'border-right-color': 'rgb(230, 104, 66)',
57
+ 'border-top-color': 'rgb(230, 104, 66)'
58
+ });
59
+
60
+ _react2.fireEvent.mouseLeave(cta);
61
+
62
+ t.deepEqual(cta.style._values, unhoveredCtaLinkStyle);
63
+ });
64
+ (0, _ava.default)("The hover action should not change the cta's (Link wrapper) style when the mouse enters the logout label", t => {
65
+ const {
66
+ container
67
+ } = (0, _renderWithContext.renderWithContext)( /*#__PURE__*/_react.default.createElement(_.default, _logout.default.props), {
68
+ context
69
+ });
70
+ const logout = container.querySelector('[data-name="cta-logout-label"]');
71
+ const cta = container.querySelector('[data-name="cta"]'); // no styles should be returned for logout either on hover/ unhovered
72
+
73
+ t.deepEqual(cta.style._values, {});
74
+
75
+ _react2.fireEvent.mouseOver(logout);
76
+
77
+ t.deepEqual(cta.style._values, {});
78
+
79
+ _react2.fireEvent.mouseLeave(logout);
80
+
81
+ t.deepEqual(cta.style._values, {});
82
+ });
83
+ (0, _ava.default)('Onclick test', t => {
84
+ t.plan(3);
85
+
86
+ const onClick = () => {
87
+ t.pass();
88
+ };
89
+
90
+ const {
91
+ container,
92
+ rerender
93
+ } = (0, _renderWithContext.renderWithContext)( /*#__PURE__*/_react.default.createElement(_.default, _extends({}, _primary.default.props, {
94
+ onClick: onClick
95
+ })), {
96
+ context
97
+ });
98
+ const cta = container.querySelector('[data-name="cta"]');
99
+ t.truthy(cta);
100
+
101
+ _react2.fireEvent.click(cta);
102
+
103
+ const onClick2 = () => {
104
+ t.fail();
105
+ };
106
+
107
+ rerender( /*#__PURE__*/_react.default.createElement(_.default, _extends({}, _primary.default.props, {
108
+ disabled: true,
109
+ onClick: onClick2
110
+ })));
111
+ t.truthy(cta);
112
+
113
+ _react2.fireEvent.click(cta);
114
+ });
115
+ //# sourceMappingURL=cta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/atom/cta/test/cta.js"],"names":["context","skin","common","primary","t","unhoveredCtaLinkStyle","container","ctaFixture","props","cta","querySelector","truthy","deepEqual","style","_values","fireEvent","mouseOver","mouseLeave","logoutFixture","logout","plan","onClick","pass","rerender","click","onClick2","fail"],"mappings":"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","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {fireEvent} from '@testing-library/react';\nimport {renderWithContext} from '../../../util/render-with-context';\nimport Cta from '..';\nimport ctaFixture from './fixtures/primary';\nimport logoutFixture from './fixtures/logout';\n\nbrowserEnv();\n\nconst context = {\n skin: {\n common: {\n primary: '#FF7043'\n }\n }\n};\n\ntest('should be considered as hovered when mouse enters', t => {\n const unhoveredCtaLinkStyle = {\n 'background-color': 'rgb(255, 112, 67)',\n 'border-bottom-color': '#ff7043',\n 'border-color': '#ff7043',\n 'border-left-color': '#ff7043',\n 'border-right-color': '#ff7043',\n 'border-top-color': '#ff7043'\n };\n\n const {container} = renderWithContext(<Cta {...ctaFixture.props} />, {context});\n const cta = container.querySelector('[data-name=\"cta\"]');\n\n t.truthy(cta);\n t.deepEqual(cta.style._values, unhoveredCtaLinkStyle);\n\n fireEvent.mouseOver(cta);\n\n t.deepEqual(cta.style._values, {\n 'background-color': 'rgb(230, 104, 66)',\n 'border-bottom-color': 'rgb(230, 104, 66)',\n 'border-color': 'rgb(230, 104, 66)',\n 'border-left-color': 'rgb(230, 104, 66)',\n 'border-right-color': 'rgb(230, 104, 66)',\n 'border-top-color': 'rgb(230, 104, 66)'\n });\n\n fireEvent.mouseLeave(cta);\n\n t.deepEqual(cta.style._values, unhoveredCtaLinkStyle);\n});\n\ntest(\"The hover action should not change the cta's (Link wrapper) style when the mouse enters the logout label\", t => {\n const {container} = renderWithContext(<Cta {...logoutFixture.props} />, {context});\n const logout = container.querySelector('[data-name=\"cta-logout-label\"]');\n const cta = container.querySelector('[data-name=\"cta\"]');\n\n // no styles should be returned for logout either on hover/ unhovered\n t.deepEqual(cta.style._values, {});\n\n fireEvent.mouseOver(logout);\n t.deepEqual(cta.style._values, {});\n\n fireEvent.mouseLeave(logout);\n t.deepEqual(cta.style._values, {});\n});\n\ntest('Onclick test', t => {\n t.plan(3);\n\n const onClick = () => {\n t.pass();\n };\n\n const {container, rerender} = renderWithContext(<Cta {...ctaFixture.props} onClick={onClick} />, {\n context\n });\n const cta = container.querySelector('[data-name=\"cta\"]');\n t.truthy(cta);\n\n fireEvent.click(cta);\n\n const onClick2 = () => {\n t.fail();\n };\n\n rerender(<Cta {...ctaFixture.props} disabled onClick={onClick2} />);\n\n t.truthy(cta);\n\n fireEvent.click(cta);\n});\n"],"file":"cta.js"}
@@ -43,7 +43,7 @@ const Search = props => {
43
43
  }, /*#__PURE__*/_react.default.createElement("label", {
44
44
  htmlFor: "search",
45
45
  title: placeholder
46
- }, !isDefaultTheme ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademySearch1, {
46
+ }, !isDefaultTheme ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademySearchThin, {
47
47
  className: _style.default.searchIcon
48
48
  }) : /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademySearch, {
49
49
  className: _style.default.searchIcon
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/input-search/index.js"],"names":["Search","props","value","placeholder","onChange","onClear","onFocus","onBlur","theme","handleChange","e","target","cmStyle","style","coorpmanager","isDefaultTheme","wrapperSearch","searchIcon","title","noValue","search","clearIcon","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","string","isRequired","func","oneOf"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAMA;;AACA;;;;;;;;AAEA,MAAMA,MAAM,GAAGC,KAAK,IAAI;AACtB,QAAM;AACJC,IAAAA,KADI;AAEJC,IAAAA,WAFI;AAGJC,IAAAA,QAAQ,iBAHJ;AAIJC,IAAAA,OAAO,iBAJH;AAKJC,IAAAA,OALI;AAMJC,IAAAA,MANI;AAOJC,IAAAA,KAAK,GAAG;AAPJ,MAQFP,KARJ;AASA,QAAMQ,YAAY,GAAG,oBAAQ,MAAMC,CAAC,IAAIN,QAAQ,CAACM,CAAC,CAACC,MAAF,CAAST,KAAV,CAA3B,EAA6C,CAACE,QAAD,CAA7C,CAArB;AACA,QAAMQ,OAAO,GAAG,yBAAWC,eAAMC,YAAjB,CAAhB;AACA,QAAMC,cAAc,GAAGP,KAAK,KAAK,SAAjC;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEO,cAAc,GAAGF,eAAMG,aAAT,GAAyBJ;AAAvD,kBACE;AAAO,IAAA,OAAO,EAAC,QAAf;AAAwB,IAAA,KAAK,EAAET;AAA/B,KACG,CAACY,cAAD,gBACC,6BAAC,6CAAD;AAAc,IAAA,SAAS,EAAEF,eAAMI;AAA/B,IADD,gBAGC,6BAAC,4CAAD;AAAY,IAAA,SAAS,EAAEJ,eAAMI;AAA7B,IAJJ,EAMG,CAACF,cAAD,gBACC;AAAM,IAAA,SAAS,EAAE,yBAAWF,eAAMK,KAAjB,EAAwB,uBAAQhB,KAAR,KAAkBW,eAAMM,OAAhD;AAAjB,KACGhB,WADH,CADD,GAIG,IAVN,CADF,eAaE;AACE,iBAAU,cADZ;AAEE,IAAA,SAAS,EAAEU,eAAMO,MAFnB;AAGE,IAAA,IAAI,EAAC,MAHP;AAIE,IAAA,IAAI,EAAC,QAJP;AAKE,IAAA,EAAE,EAAC,QALL;AAME,IAAA,WAAW,EAAEjB,WANf;AAOE,IAAA,KAAK,EAAED,KAPT;AAQE,IAAA,OAAO,EAAEO,YARX;AASE,IAAA,OAAO,EAAEH,OATX;AAUE,IAAA,QAAQ,gBAVV;AAWE,IAAA,MAAM,EAAEC;AAXV,IAbF,EA0BGL,KAAK,IAAI,CAACa,cAAV,gBACC,6BAAC,+BAAD;AAAW,IAAA,OAAO,EAAEV,OAApB;AAA6B,IAAA,SAAS,EAAEQ,eAAMQ;AAA9C,IADD,GAEG,IA5BN,CADF;AAgCD,CA9CD;;AAgDArB,MAAM,CAACsB,YAAP,GAAsB;AACpBC,EAAAA,IAAI,EAAEC,kBAASC,iBAAT,CAA2BF;AADb,CAAtB;AAIAvB,MAAM,CAAC0B,SAAP,2CAAmB;AACjBxB,EAAAA,KAAK,EAAEyB,mBAAUC,MADA;AAEjBzB,EAAAA,WAAW,EAAEwB,mBAAUC,MAAV,CAAiBC,UAFb;AAGjBzB,EAAAA,QAAQ,EAAEuB,mBAAUG,IAHH;AAIjBzB,EAAAA,OAAO,EAAEsB,mBAAUG,IAJF;AAKjBxB,EAAAA,OAAO,EAAEqB,mBAAUG,IALF;AAMjBvB,EAAAA,MAAM,EAAEoB,mBAAUG,IAND;AAOjBtB,EAAAA,KAAK,EAAEmB,mBAAUI,KAAV,CAAgB,CAAC,SAAD,EAAY,cAAZ,CAAhB;AAPU,CAAnB;eAUe/B,M","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademySearch1 as CMSearchIcon,\n NovaCompositionCoorpacademySearch as SearchIcon,\n NovaSolidStatusClose as CloseIcon\n} from '@coorpacademy/nova-icons';\nimport {noop, isEmpty} from 'lodash/fp';\nimport Provider from '../provider';\nimport style from './style.css';\n\nconst Search = props => {\n const {\n value,\n placeholder,\n onChange = noop,\n onClear = noop,\n onFocus,\n onBlur,\n theme = 'default'\n } = props;\n const handleChange = useMemo(() => e => onChange(e.target.value), [onChange]);\n const cmStyle = classnames(style.coorpmanager);\n const isDefaultTheme = theme === 'default';\n\n return (\n <div className={isDefaultTheme ? style.wrapperSearch : cmStyle}>\n <label htmlFor=\"search\" title={placeholder}>\n {!isDefaultTheme ? (\n <CMSearchIcon className={style.searchIcon} />\n ) : (\n <SearchIcon className={style.searchIcon} />\n )}\n {!isDefaultTheme ? (\n <span className={classnames(style.title, isEmpty(value) && style.noValue)}>\n {placeholder}\n </span>\n ) : null}\n </label>\n <input\n data-name=\"search-input\"\n className={style.search}\n type=\"text\"\n name=\"search\"\n id=\"search\"\n placeholder={placeholder}\n value={value}\n onInput={handleChange}\n onFocus={onFocus}\n onChange={noop}\n onBlur={onBlur}\n />\n {value && !isDefaultTheme ? (\n <CloseIcon onClick={onClear} className={style.clearIcon} />\n ) : null}\n </div>\n );\n};\n\nSearch.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSearch.propTypes = {\n value: PropTypes.string,\n placeholder: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n onClear: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n theme: PropTypes.oneOf(['default', 'coorpmanager'])\n};\n\nexport default Search;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/input-search/index.js"],"names":["Search","props","value","placeholder","onChange","onClear","onFocus","onBlur","theme","handleChange","e","target","cmStyle","style","coorpmanager","isDefaultTheme","wrapperSearch","searchIcon","title","noValue","search","clearIcon","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","string","isRequired","func","oneOf"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAMA;;AACA;;;;;;;;AAEA,MAAMA,MAAM,GAAGC,KAAK,IAAI;AACtB,QAAM;AACJC,IAAAA,KADI;AAEJC,IAAAA,WAFI;AAGJC,IAAAA,QAAQ,iBAHJ;AAIJC,IAAAA,OAAO,iBAJH;AAKJC,IAAAA,OALI;AAMJC,IAAAA,MANI;AAOJC,IAAAA,KAAK,GAAG;AAPJ,MAQFP,KARJ;AASA,QAAMQ,YAAY,GAAG,oBAAQ,MAAMC,CAAC,IAAIN,QAAQ,CAACM,CAAC,CAACC,MAAF,CAAST,KAAV,CAA3B,EAA6C,CAACE,QAAD,CAA7C,CAArB;AACA,QAAMQ,OAAO,GAAG,yBAAWC,eAAMC,YAAjB,CAAhB;AACA,QAAMC,cAAc,GAAGP,KAAK,KAAK,SAAjC;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEO,cAAc,GAAGF,eAAMG,aAAT,GAAyBJ;AAAvD,kBACE;AAAO,IAAA,OAAO,EAAC,QAAf;AAAwB,IAAA,KAAK,EAAET;AAA/B,KACG,CAACY,cAAD,gBACC,6BAAC,gDAAD;AAAc,IAAA,SAAS,EAAEF,eAAMI;AAA/B,IADD,gBAGC,6BAAC,4CAAD;AAAY,IAAA,SAAS,EAAEJ,eAAMI;AAA7B,IAJJ,EAMG,CAACF,cAAD,gBACC;AAAM,IAAA,SAAS,EAAE,yBAAWF,eAAMK,KAAjB,EAAwB,uBAAQhB,KAAR,KAAkBW,eAAMM,OAAhD;AAAjB,KACGhB,WADH,CADD,GAIG,IAVN,CADF,eAaE;AACE,iBAAU,cADZ;AAEE,IAAA,SAAS,EAAEU,eAAMO,MAFnB;AAGE,IAAA,IAAI,EAAC,MAHP;AAIE,IAAA,IAAI,EAAC,QAJP;AAKE,IAAA,EAAE,EAAC,QALL;AAME,IAAA,WAAW,EAAEjB,WANf;AAOE,IAAA,KAAK,EAAED,KAPT;AAQE,IAAA,OAAO,EAAEO,YARX;AASE,IAAA,OAAO,EAAEH,OATX;AAUE,IAAA,QAAQ,gBAVV;AAWE,IAAA,MAAM,EAAEC;AAXV,IAbF,EA0BGL,KAAK,IAAI,CAACa,cAAV,gBACC,6BAAC,+BAAD;AAAW,IAAA,OAAO,EAAEV,OAApB;AAA6B,IAAA,SAAS,EAAEQ,eAAMQ;AAA9C,IADD,GAEG,IA5BN,CADF;AAgCD,CA9CD;;AAgDArB,MAAM,CAACsB,YAAP,GAAsB;AACpBC,EAAAA,IAAI,EAAEC,kBAASC,iBAAT,CAA2BF;AADb,CAAtB;AAIAvB,MAAM,CAAC0B,SAAP,2CAAmB;AACjBxB,EAAAA,KAAK,EAAEyB,mBAAUC,MADA;AAEjBzB,EAAAA,WAAW,EAAEwB,mBAAUC,MAAV,CAAiBC,UAFb;AAGjBzB,EAAAA,QAAQ,EAAEuB,mBAAUG,IAHH;AAIjBzB,EAAAA,OAAO,EAAEsB,mBAAUG,IAJF;AAKjBxB,EAAAA,OAAO,EAAEqB,mBAAUG,IALF;AAMjBvB,EAAAA,MAAM,EAAEoB,mBAAUG,IAND;AAOjBtB,EAAAA,KAAK,EAAEmB,mBAAUI,KAAV,CAAgB,CAAC,SAAD,EAAY,cAAZ,CAAhB;AAPU,CAAnB;eAUe/B,M","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademySearchThin as CMSearchIcon,\n NovaCompositionCoorpacademySearch as SearchIcon,\n NovaSolidStatusClose as CloseIcon\n} from '@coorpacademy/nova-icons';\nimport {noop, isEmpty} from 'lodash/fp';\nimport Provider from '../provider';\nimport style from './style.css';\n\nconst Search = props => {\n const {\n value,\n placeholder,\n onChange = noop,\n onClear = noop,\n onFocus,\n onBlur,\n theme = 'default'\n } = props;\n const handleChange = useMemo(() => e => onChange(e.target.value), [onChange]);\n const cmStyle = classnames(style.coorpmanager);\n const isDefaultTheme = theme === 'default';\n\n return (\n <div className={isDefaultTheme ? style.wrapperSearch : cmStyle}>\n <label htmlFor=\"search\" title={placeholder}>\n {!isDefaultTheme ? (\n <CMSearchIcon className={style.searchIcon} />\n ) : (\n <SearchIcon className={style.searchIcon} />\n )}\n {!isDefaultTheme ? (\n <span className={classnames(style.title, isEmpty(value) && style.noValue)}>\n {placeholder}\n </span>\n ) : null}\n </label>\n <input\n data-name=\"search-input\"\n className={style.search}\n type=\"text\"\n name=\"search\"\n id=\"search\"\n placeholder={placeholder}\n value={value}\n onInput={handleChange}\n onFocus={onFocus}\n onChange={noop}\n onBlur={onBlur}\n />\n {value && !isDefaultTheme ? (\n <CloseIcon onClick={onClear} className={style.clearIcon} />\n ) : null}\n </div>\n );\n};\n\nSearch.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSearch.propTypes = {\n value: PropTypes.string,\n placeholder: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n onClear: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n theme: PropTypes.oneOf(['default', 'coorpmanager'])\n};\n\nexport default Search;\n"],"file":"index.js"}
@@ -46,8 +46,7 @@ const News = (props, context) => {
46
46
  title: title,
47
47
  className: (0, _classnames.default)(_style.default.title, _style.default.innerHTML),
48
48
  target: cta.target,
49
- "data-name": "news-title" // eslint-disable-next-line react/no-danger
50
- ,
49
+ "data-name": "news-title",
51
50
  dangerouslySetInnerHTML: {
52
51
  __html: title
53
52
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/news/index.js"],"names":["News","props","context","image","title","date","description","authorLogo","cta","style","news","href","linkImage","target","infos","innerHTML","__html","bottom","author","link","propTypes","PropTypes","string","shape","Cta"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,IAAI,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AAC/B,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,KAAR;AAAeC,IAAAA,IAAf;AAAqBC,IAAAA,WAArB;AAAkCC,IAAAA,UAAlC;AAA8CC,IAAAA;AAA9C,MAAqDP,KAA3D;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEQ,eAAMC;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAED,eAAMN;AAAtB,kBACE,6BAAC,aAAD;AACE,IAAA,IAAI,EAAEK,GAAG,CAACG,IADZ;AAEE,IAAA,SAAS,EAAEF,eAAMG,SAFnB;AAGE,IAAA,MAAM,EAAEJ,GAAG,CAACK,MAHd;AAIE,iBAAU;AAJZ,kBAME;AAAK,IAAA,GAAG,EAAEV;AAAV,IANF,CADF,CADF,eAWE;AAAK,IAAA,SAAS,EAAEM,eAAMK;AAAtB,kBACE,6BAAC,aAAD;AACE,IAAA,IAAI,EAAEN,GAAG,CAACG,IADZ;AAEE,IAAA,KAAK,EAAEP,KAFT;AAGE,IAAA,SAAS,EAAE,yBAAWK,eAAML,KAAjB,EAAwBK,eAAMM,SAA9B,CAHb;AAIE,IAAA,MAAM,EAAEP,GAAG,CAACK,MAJd;AAKE,iBAAU,YALZ,CAME;AANF;AAOE,IAAA,uBAAuB,EAAE;AAACG,MAAAA,MAAM,EAAEZ;AAAT;AAP3B,IADF,eAUE;AAAK,IAAA,SAAS,EAAEK,eAAMJ;AAAtB,KAA6BA,IAA7B,CAVF,eAWE;AAAK,IAAA,SAAS,EAAEI,eAAMH;AAAtB,kBACE;AACE;AACA,IAAA,uBAAuB,EAAE;AAACU,MAAAA,MAAM,EAAEV;AAAT;AAF3B,IADF,CAXF,eAiBE;AAAK,IAAA,SAAS,EAAEG,eAAMQ;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAER,eAAMS;AAAtB,kBACE;AAAK,IAAA,GAAG,EAAEX;AAAV,IADF,CADF,eAIE,6BAAC,YAAD,eAASC,GAAT;AAAc,IAAA,SAAS,MAAvB;AAAwB,IAAA,IAAI,EAAC;AAA7B,KAJF,CAjBF,CAXF,eAmCE,6BAAC,aAAD;AAAM,IAAA,SAAS,EAAEC,eAAMU,IAAvB;AAA6B,IAAA,IAAI,EAAEX,GAAG,CAACG,IAAvC;AAA6C,IAAA,MAAM,EAAEH,GAAG,CAACK;AAAzD,IAnCF,CADF;AAuCD,CA1CD;;AA4CAb,IAAI,CAACoB,SAAL,2CAAiB;AACfjB,EAAAA,KAAK,EAAEkB,mBAAUC,MADF;AAEflB,EAAAA,KAAK,EAAEiB,mBAAUC,MAFF;AAGfjB,EAAAA,IAAI,EAAEgB,mBAAUC,MAHD;AAIfhB,EAAAA,WAAW,EAAEe,mBAAUC,MAJR;AAKff,EAAAA,UAAU,EAAEc,mBAAUC,MALP;AAMfd,EAAAA,GAAG,EAAEa,mBAAUE,KAAV,CAAgBC,aAAIJ,SAApB;AANU,CAAjB;eASepB,I","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Cta from '../../atom/cta';\nimport Link from '../../atom/link';\nimport style from './style.css';\n\nconst News = (props, context) => {\n const {image, title, date, description, authorLogo, cta} = props;\n\n return (\n <div className={style.news}>\n <div className={style.image}>\n <Link\n href={cta.href}\n className={style.linkImage}\n target={cta.target}\n data-name=\"news-image\"\n >\n <img src={image} />\n </Link>\n </div>\n <div className={style.infos}>\n <Link\n href={cta.href}\n title={title}\n className={classnames(style.title, style.innerHTML)}\n target={cta.target}\n data-name=\"news-title\"\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n <div className={style.date}>{date}</div>\n <div className={style.description}>\n <div\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: description}}\n />\n </div>\n <div className={style.bottom}>\n <div className={style.author}>\n <img src={authorLogo} />\n </div>\n <Cta {...cta} secondary name=\"news-cta\" />\n </div>\n </div>\n <Link className={style.link} href={cta.href} target={cta.target} />\n </div>\n );\n};\n\nNews.propTypes = {\n image: PropTypes.string,\n title: PropTypes.string,\n date: PropTypes.string,\n description: PropTypes.string,\n authorLogo: PropTypes.string,\n cta: PropTypes.shape(Cta.propTypes)\n};\n\nexport default News;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/news/index.js"],"names":["News","props","context","image","title","date","description","authorLogo","cta","style","news","href","linkImage","target","infos","innerHTML","__html","bottom","author","link","propTypes","PropTypes","string","shape","Cta"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,IAAI,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AAC/B,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,KAAR;AAAeC,IAAAA,IAAf;AAAqBC,IAAAA,WAArB;AAAkCC,IAAAA,UAAlC;AAA8CC,IAAAA;AAA9C,MAAqDP,KAA3D;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEQ,eAAMC;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAED,eAAMN;AAAtB,kBACE,6BAAC,aAAD;AACE,IAAA,IAAI,EAAEK,GAAG,CAACG,IADZ;AAEE,IAAA,SAAS,EAAEF,eAAMG,SAFnB;AAGE,IAAA,MAAM,EAAEJ,GAAG,CAACK,MAHd;AAIE,iBAAU;AAJZ,kBAME;AAAK,IAAA,GAAG,EAAEV;AAAV,IANF,CADF,CADF,eAWE;AAAK,IAAA,SAAS,EAAEM,eAAMK;AAAtB,kBACE,6BAAC,aAAD;AACE,IAAA,IAAI,EAAEN,GAAG,CAACG,IADZ;AAEE,IAAA,KAAK,EAAEP,KAFT;AAGE,IAAA,SAAS,EAAE,yBAAWK,eAAML,KAAjB,EAAwBK,eAAMM,SAA9B,CAHb;AAIE,IAAA,MAAM,EAAEP,GAAG,CAACK,MAJd;AAKE,iBAAU,YALZ;AAME,IAAA,uBAAuB,EAAE;AAACG,MAAAA,MAAM,EAAEZ;AAAT;AAN3B,IADF,eASE;AAAK,IAAA,SAAS,EAAEK,eAAMJ;AAAtB,KAA6BA,IAA7B,CATF,eAUE;AAAK,IAAA,SAAS,EAAEI,eAAMH;AAAtB,kBACE;AACE;AACA,IAAA,uBAAuB,EAAE;AAACU,MAAAA,MAAM,EAAEV;AAAT;AAF3B,IADF,CAVF,eAgBE;AAAK,IAAA,SAAS,EAAEG,eAAMQ;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAER,eAAMS;AAAtB,kBACE;AAAK,IAAA,GAAG,EAAEX;AAAV,IADF,CADF,eAIE,6BAAC,YAAD,eAASC,GAAT;AAAc,IAAA,SAAS,MAAvB;AAAwB,IAAA,IAAI,EAAC;AAA7B,KAJF,CAhBF,CAXF,eAkCE,6BAAC,aAAD;AAAM,IAAA,SAAS,EAAEC,eAAMU,IAAvB;AAA6B,IAAA,IAAI,EAAEX,GAAG,CAACG,IAAvC;AAA6C,IAAA,MAAM,EAAEH,GAAG,CAACK;AAAzD,IAlCF,CADF;AAsCD,CAzCD;;AA2CAb,IAAI,CAACoB,SAAL,2CAAiB;AACfjB,EAAAA,KAAK,EAAEkB,mBAAUC,MADF;AAEflB,EAAAA,KAAK,EAAEiB,mBAAUC,MAFF;AAGfjB,EAAAA,IAAI,EAAEgB,mBAAUC,MAHD;AAIfhB,EAAAA,WAAW,EAAEe,mBAAUC,MAJR;AAKff,EAAAA,UAAU,EAAEc,mBAAUC,MALP;AAMfd,EAAAA,GAAG,EAAEa,mBAAUE,KAAV,CAAgBC,aAAIJ,SAApB;AANU,CAAjB;eASepB,I","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Cta from '../../atom/cta';\nimport Link from '../../atom/link';\nimport style from './style.css';\n\nconst News = (props, context) => {\n const {image, title, date, description, authorLogo, cta} = props;\n\n return (\n <div className={style.news}>\n <div className={style.image}>\n <Link\n href={cta.href}\n className={style.linkImage}\n target={cta.target}\n data-name=\"news-image\"\n >\n <img src={image} />\n </Link>\n </div>\n <div className={style.infos}>\n <Link\n href={cta.href}\n title={title}\n className={classnames(style.title, style.innerHTML)}\n target={cta.target}\n data-name=\"news-title\"\n dangerouslySetInnerHTML={{__html: title}}\n />\n <div className={style.date}>{date}</div>\n <div className={style.description}>\n <div\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: description}}\n />\n </div>\n <div className={style.bottom}>\n <div className={style.author}>\n <img src={authorLogo} />\n </div>\n <Cta {...cta} secondary name=\"news-cta\" />\n </div>\n </div>\n <Link className={style.link} href={cta.href} target={cta.target} />\n </div>\n );\n};\n\nNews.propTypes = {\n image: PropTypes.string,\n title: PropTypes.string,\n date: PropTypes.string,\n description: PropTypes.string,\n authorLogo: PropTypes.string,\n cta: PropTypes.shape(Cta.propTypes)\n};\n\nexport default News;\n"],"file":"index.js"}
@@ -60,11 +60,11 @@ const Popin = (props, context) => {
60
60
  setValue(_extends(_extends({}, value), {}, {
61
61
  [event.target.name]: event.target.value
62
62
  }));
63
- });
63
+ }, [value]);
64
64
  const isAssistancePopin = type === 'assistance';
65
65
  const handleClickOnSecondButton = (0, _react.useMemo)(() => {
66
66
  return type === 'assistance' ? onSecondeButtonClick(value) : onSecondeButtonClick;
67
- }, [value]);
67
+ }, [value, type, onSecondeButtonClick]);
68
68
  return /*#__PURE__*/_react.default.createElement("div", {
69
69
  className: _style.default.background,
70
70
  style: backgroundImageStyle
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/popin/index.js"],"names":["Popin","props","context","skin","primaryColor","header","content","firstButtonLabel","onFirstButtonClick","secondeButtonLabel","onSecondeButtonClick","onClose","type","isLoading","backgroundImageUrl","logo","hiddenStateManagment","Hide","deleteContent","Bin","videoTranslate","LocalesIcon","LogoComponent","backgroundImageStyle","backgroundImage","value","setValue","object","message","email","handleChange","event","target","name","isAssistancePopin","handleClickOnSecondButton","style","background","loader","popin","popinHeader","headerCloseIcon","icon","color","__html","width","inputText","inputTextArea","lastInputText","buttonContainer","button","backgroundColor","propTypes","PropTypes","string","func","oneOf","bool"],"mappings":"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","sourcesContent":["import React, {useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\n\nimport {\n NovaCompositionCoorpacademyLocales as LocalesIcon,\n NovaSolidStatusClose as Close,\n NovaLineContentEditionBin as Bin,\n NovaLineContentEditionHide as Hide\n} from '@coorpacademy/nova-icons';\nimport Cta from '../../atom/button';\nimport Loader from '../../atom/loader';\nimport style from './style.css';\n\nconst Popin = (props, context) => {\n const {skin} = context;\n const primaryColor = getOr('#00B0FF', 'common.primary', skin);\n const {\n header,\n content,\n firstButtonLabel,\n onFirstButtonClick,\n secondeButtonLabel,\n onSecondeButtonClick,\n onClose,\n type,\n isLoading = false,\n backgroundImageUrl\n } = props;\n\n const logo = {\n hiddenStateManagment: Hide,\n deleteContent: Bin,\n videoTranslate: LocalesIcon\n };\n\n const LogoComponent = logo[type];\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`\n }\n : {};\n\n const [value, setValue] = useState({object: '', message: '', email: ''});\n\n const handleChange = useMemo(() => event => {\n setValue({...value, [event.target.name]: event.target.value});\n });\n\n const isAssistancePopin = type === 'assistance';\n\n const handleClickOnSecondButton = useMemo(() => {\n return type === 'assistance' ? onSecondeButtonClick(value) : onSecondeButtonClick;\n }, [value]);\n\n return (\n <div className={style.background} style={backgroundImageStyle}>\n {isLoading ? (\n <div className={style.loader}>\n <Loader data-name=\"cockpit-popin-loader\" />\n </div>\n ) : (\n <div className={style.popin}>\n <header className={style.popinHeader}>\n <Close onClick={onClose} className={style.headerCloseIcon} />\n </header>\n {LogoComponent ? (\n <LogoComponent className={style.icon} style={{color: primaryColor}} />\n ) : null}\n <div className={style.header} data-name={`cockpit-popin-header-${type}`}>\n {header}\n </div>\n <p\n className={style.content}\n data-name={`cockpit-popin-content-${type}`}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n\n {isAssistancePopin ? (\n <div style={{width: '70%'}}>\n <input\n data-name=\"contact-object\"\n className={style.inputText}\n name=\"object\"\n type=\"text\"\n placeholder=\"Object\"\n value={value.object}\n onChange={handleChange}\n />\n <textarea\n className={(style.inputText, style.inputTextArea)}\n data-name=\"contact-message\"\n name=\"message\"\n type=\"text\"\n placeholder=\"Message\"\n value={value.message}\n onChange={handleChange}\n />\n <input\n className={style.lastInputText}\n data-name=\"contact-email\"\n name=\"email\"\n type=\"text\"\n placeholder=\"Email\"\n value={value.email}\n onChange={handleChange}\n />\n </div>\n ) : null}\n\n <div className={style.buttonContainer}>\n {firstButtonLabel ? (\n <Cta\n submitValue={firstButtonLabel}\n onClick={onFirstButtonClick}\n name={`cockpit-popin-cta-${type}`}\n className={style.button}\n style={{\n backgroundColor: 'white',\n color: 'gray'\n }}\n />\n ) : null}\n {secondeButtonLabel ? (\n <Cta\n submitValue={secondeButtonLabel}\n onClick={handleClickOnSecondButton}\n name={`cockpit-popin-cta-${type}`}\n className={style.button}\n style={{backgroundColor: primaryColor}}\n disabled={isAssistancePopin && !value.message}\n />\n ) : null}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nPopin.propTypes = {\n header: PropTypes.string,\n content: PropTypes.string,\n firstButtonLabel: PropTypes.string,\n onFirstButtonClick: PropTypes.func,\n secondeButtonLabel: PropTypes.string,\n onSecondeButtonClick: PropTypes.func,\n onClose: PropTypes.func,\n type: PropTypes.oneOf(['videoTranslate', 'hiddenStateManagment', 'deleteContent', 'assistance']),\n isLoading: PropTypes.bool,\n backgroundImageUrl: PropTypes.string\n};\n\nexport default Popin;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/popin/index.js"],"names":["Popin","props","context","skin","primaryColor","header","content","firstButtonLabel","onFirstButtonClick","secondeButtonLabel","onSecondeButtonClick","onClose","type","isLoading","backgroundImageUrl","logo","hiddenStateManagment","Hide","deleteContent","Bin","videoTranslate","LocalesIcon","LogoComponent","backgroundImageStyle","backgroundImage","value","setValue","object","message","email","handleChange","event","target","name","isAssistancePopin","handleClickOnSecondButton","style","background","loader","popin","popinHeader","headerCloseIcon","icon","color","__html","width","inputText","inputTextArea","lastInputText","buttonContainer","button","backgroundColor","propTypes","PropTypes","string","func","oneOf","bool"],"mappings":"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","sourcesContent":["import React, {useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\n\nimport {\n NovaCompositionCoorpacademyLocales as LocalesIcon,\n NovaSolidStatusClose as Close,\n NovaLineContentEditionBin as Bin,\n NovaLineContentEditionHide as Hide\n} from '@coorpacademy/nova-icons';\nimport Cta from '../../atom/button';\nimport Loader from '../../atom/loader';\nimport style from './style.css';\n\nconst Popin = (props, context) => {\n const {skin} = context;\n const primaryColor = getOr('#00B0FF', 'common.primary', skin);\n const {\n header,\n content,\n firstButtonLabel,\n onFirstButtonClick,\n secondeButtonLabel,\n onSecondeButtonClick,\n onClose,\n type,\n isLoading = false,\n backgroundImageUrl\n } = props;\n\n const logo = {\n hiddenStateManagment: Hide,\n deleteContent: Bin,\n videoTranslate: LocalesIcon\n };\n\n const LogoComponent = logo[type];\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`\n }\n : {};\n\n const [value, setValue] = useState({object: '', message: '', email: ''});\n\n const handleChange = useMemo(\n () => event => {\n setValue({...value, [event.target.name]: event.target.value});\n },\n [value]\n );\n\n const isAssistancePopin = type === 'assistance';\n\n const handleClickOnSecondButton = useMemo(() => {\n return type === 'assistance' ? onSecondeButtonClick(value) : onSecondeButtonClick;\n }, [value, type, onSecondeButtonClick]);\n\n return (\n <div className={style.background} style={backgroundImageStyle}>\n {isLoading ? (\n <div className={style.loader}>\n <Loader data-name=\"cockpit-popin-loader\" />\n </div>\n ) : (\n <div className={style.popin}>\n <header className={style.popinHeader}>\n <Close onClick={onClose} className={style.headerCloseIcon} />\n </header>\n {LogoComponent ? (\n <LogoComponent className={style.icon} style={{color: primaryColor}} />\n ) : null}\n <div className={style.header} data-name={`cockpit-popin-header-${type}`}>\n {header}\n </div>\n <p\n className={style.content}\n data-name={`cockpit-popin-content-${type}`}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n\n {isAssistancePopin ? (\n <div style={{width: '70%'}}>\n <input\n data-name=\"contact-object\"\n className={style.inputText}\n name=\"object\"\n type=\"text\"\n placeholder=\"Object\"\n value={value.object}\n onChange={handleChange}\n />\n <textarea\n className={(style.inputText, style.inputTextArea)}\n data-name=\"contact-message\"\n name=\"message\"\n type=\"text\"\n placeholder=\"Message\"\n value={value.message}\n onChange={handleChange}\n />\n <input\n className={style.lastInputText}\n data-name=\"contact-email\"\n name=\"email\"\n type=\"text\"\n placeholder=\"Email\"\n value={value.email}\n onChange={handleChange}\n />\n </div>\n ) : null}\n\n <div className={style.buttonContainer}>\n {firstButtonLabel ? (\n <Cta\n submitValue={firstButtonLabel}\n onClick={onFirstButtonClick}\n name={`cockpit-popin-cta-${type}`}\n className={style.button}\n style={{\n backgroundColor: 'white',\n color: 'gray'\n }}\n />\n ) : null}\n {secondeButtonLabel ? (\n <Cta\n submitValue={secondeButtonLabel}\n onClick={handleClickOnSecondButton}\n name={`cockpit-popin-cta-${type}`}\n className={style.button}\n style={{backgroundColor: primaryColor}}\n disabled={isAssistancePopin && !value.message}\n />\n ) : null}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nPopin.propTypes = {\n header: PropTypes.string,\n content: PropTypes.string,\n firstButtonLabel: PropTypes.string,\n onFirstButtonClick: PropTypes.func,\n secondeButtonLabel: PropTypes.string,\n onSecondeButtonClick: PropTypes.func,\n onClose: PropTypes.func,\n type: PropTypes.oneOf(['videoTranslate', 'hiddenStateManagment', 'deleteContent', 'assistance']),\n isLoading: PropTypes.bool,\n backgroundImageUrl: PropTypes.string\n};\n\nexport default Popin;\n"],"file":"index.js"}
@@ -15,11 +15,9 @@ var _maxBy = _interopRequireDefault(require("lodash/fp/maxBy"));
15
15
 
16
16
  var _provider = _interopRequireDefault(require("../../../atom/provider"));
17
17
 
18
- var _style = require("../../../atom/label/style.css");
19
-
20
18
  var _getShadowBoxColorFromPrimary = require("../../../util/get-shadow-box-color-from-primary");
21
19
 
22
- var _style2 = _interopRequireDefault(require("./style.css"));
20
+ var _style = _interopRequireDefault(require("./style.css"));
23
21
 
24
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
23
 
@@ -47,12 +45,12 @@ const QCM = (props, context) => {
47
45
  selected,
48
46
  'aria-label': ariaLabel
49
47
  } = answer;
50
- const longAnswerClass = longestAnswer.title === title ? _style2.default.longestAnswer : _style2.default.answer;
51
- const selectedAnswerClass = selected ? _style2.default.selectedAnswer : _style2.default.unselectedAnswer;
48
+ const longAnswerClass = longestAnswer.title === title ? _style.default.longestAnswer : _style.default.answer;
49
+ const selectedAnswerClass = selected ? _style.default.selectedAnswer : _style.default.unselectedAnswer;
52
50
  return /*#__PURE__*/_react.default.createElement("div", {
53
51
  "data-name": "answer",
54
52
  "aria-label": ariaLabel || title,
55
- className: (0, _classnames.default)(longAnswerClass, _style.innerHTML, selectedAnswerClass),
53
+ className: (0, _classnames.default)(longAnswerClass, _style.default.innerHTML, selectedAnswerClass),
56
54
  onClick: onClick,
57
55
  style: _extends({}, selected && {
58
56
  boxShadow: `0 4px 16px ${(0, _getShadowBoxColorFromPrimary.getShadowBoxColorFromPrimary)(primarySkinColor)}`
@@ -66,10 +64,10 @@ const QCM = (props, context) => {
66
64
  /* cm_grey_75 */
67
65
 
68
66
  },
69
- className: _style2.default.background
67
+ className: _style.default.background
70
68
  }), /*#__PURE__*/_react.default.createElement("span", {
71
69
  "data-name": "answer-label",
72
- className: _style2.default.answerText // eslint-disable-next-line react/no-danger
70
+ className: _style.default.answerText // eslint-disable-next-line react/no-danger
73
71
  ,
74
72
  dangerouslySetInnerHTML: {
75
73
  __html: title
@@ -78,7 +76,7 @@ const QCM = (props, context) => {
78
76
  }), [answers, longestAnswer, primarySkinColor]);
79
77
  return /*#__PURE__*/_react.default.createElement("div", {
80
78
  "data-name": "qcm",
81
- className: _style2.default.wrapper
79
+ className: _style.default.wrapper
82
80
  }, answersViews);
83
81
  };
84
82
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/qcm/index.js"],"names":["QCM","props","context","answers","longestAnswer","title","length","skin","primarySkinColor","answersViews","map","answer","key","onClick","selected","ariaLabel","longAnswerClass","style","selectedAnswerClass","selectedAnswer","unselectedAnswer","innerHTML","boxShadow","backgroundColor","background","answerText","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,GAAG,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AAC9B,QAAM;AAACC,IAAAA;AAAD,MAAYF,KAAlB;AACA,QAAMG,aAAa,GAAG,oBAAM,CAAC;AAACC,IAAAA;AAAD,GAAD,KAAaA,KAAK,CAACC,MAAzB,EAAiCH,OAAjC,CAAtB;AACA,QAAM;AAACI,IAAAA;AAAD,MAASL,OAAf;AACA,QAAMM,gBAAgB,GAAG,oBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAAzB;AAEA,QAAME,YAAY,GAAG,oBACnB,MACEN,OAAO,CAACO,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;AAC3B,UAAM;AAACC,MAAAA,OAAD;AAAUR,MAAAA,KAAV;AAAiBS,MAAAA,QAAjB;AAA2B,oBAAcC;AAAzC,QAAsDJ,MAA5D;AACA,UAAMK,eAAe,GAAGZ,aAAa,CAACC,KAAd,KAAwBA,KAAxB,GAAgCY,gBAAMb,aAAtC,GAAsDa,gBAAMN,MAApF;AACA,UAAMO,mBAAmB,GAAGJ,QAAQ,GAAGG,gBAAME,cAAT,GAA0BF,gBAAMG,gBAApE;AAEA,wBACE;AACE,mBAAU,QADZ;AAEE,oBAAYL,SAAS,IAAIV,KAF3B;AAGE,MAAA,SAAS,EAAE,yBAAWW,eAAX,EAA4BK,gBAA5B,EAAuCH,mBAAvC,CAHb;AAIE,MAAA,OAAO,EAAEL,OAJX;AAKE,MAAA,KAAK,eACCC,QAAQ,IAAI;AACdQ,QAAAA,SAAS,EAAG,cAAa,gEAA6Bd,gBAA7B,CAA+C;AAD1D,OADb,CALP;AAUE,uBAAeM,QAVjB;AAWE,MAAA,GAAG,EAAEF;AAXP,oBAaE;AACE,mBAAU,mBADZ;AAEE,MAAA,KAAK,EAAE;AAACW,QAAAA,eAAe,EAAET,QAAQ,GAAGN,gBAAH,GAAsB;AAAU;;AAA1D,OAFT;AAGE,MAAA,SAAS,EAAES,gBAAMO;AAHnB,MAbF,eAkBE;AACE,mBAAU,cADZ;AAEE,MAAA,SAAS,EAAEP,gBAAMQ,UAFnB,CAGE;AAHF;AAIE,MAAA,uBAAuB,EAAE;AAACC,QAAAA,MAAM,EAAErB;AAAT;AAJ3B,MAlBF,CADF;AA2BD,GAhCD,CAFiB,EAmCnB,CAACF,OAAD,EAAUC,aAAV,EAAyBI,gBAAzB,CAnCmB,CAArB;AAsCA,sBACE;AAAK,iBAAU,KAAf;AAAqB,IAAA,SAAS,EAAES,gBAAMU;AAAtC,KACGlB,YADH,CADF;AAKD,CAjDD;;AAmDAT,GAAG,CAAC4B,YAAJ,GAAmB;AACjBrB,EAAAA,IAAI,EAAEsB,kBAASC,iBAAT,CAA2BvB;AADhB,CAAnB;AAIAP,GAAG,CAAC+B,SAAJ,2CAAgB;AACd5B,EAAAA,OAAO,EAAE6B,mBAAUC,OAAV,CACPD,mBAAUE,KAAV,CAAgB;AACd7B,IAAAA,KAAK,EAAE2B,mBAAUG,MADH;AAEdrB,IAAAA,QAAQ,EAAEkB,mBAAUI,IAFN;AAGdvB,IAAAA,OAAO,EAAEmB,mBAAUK,IAHL;AAId,kBAAcL,mBAAUG;AAJV,GAAhB,CADO;AADK,CAAhB;eAWenC,G","sourcesContent":["import React, {useMemo} from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport maxBy from 'lodash/fp/maxBy';\nimport Provider from '../../../atom/provider';\nimport {innerHTML} from '../../../atom/label/style.css';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCM = (props, context) => {\n const {answers} = props;\n const longestAnswer = maxBy(({title}) => title.length, answers);\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = useMemo(\n () =>\n answers.map((answer, key) => {\n const {onClick, title, selected, 'aria-label': ariaLabel} = answer;\n const longAnswerClass = longestAnswer.title === title ? style.longestAnswer : style.answer;\n const selectedAnswerClass = selected ? style.selectedAnswer : style.unselectedAnswer;\n\n return (\n <div\n data-name=\"answer\"\n aria-label={ariaLabel || title}\n className={classnames(longAnswerClass, innerHTML, selectedAnswerClass)}\n onClick={onClick}\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n data-selected={selected}\n key={key}\n >\n <div\n data-name=\"answer-background\"\n style={{backgroundColor: selected ? primarySkinColor : '#F4F4F5' /* cm_grey_75 */}}\n className={style.background}\n />\n <span\n data-name=\"answer-label\"\n className={style.answerText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n );\n }),\n [answers, longestAnswer, primarySkinColor]\n );\n\n return (\n <div data-name=\"qcm\" className={style.wrapper}>\n {answersViews}\n </div>\n );\n};\n\nQCM.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCM.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n )\n};\n\nexport default QCM;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/questions/qcm/index.js"],"names":["QCM","props","context","answers","longestAnswer","title","length","skin","primarySkinColor","answersViews","map","answer","key","onClick","selected","ariaLabel","longAnswerClass","style","selectedAnswerClass","selectedAnswer","unselectedAnswer","innerHTML","boxShadow","backgroundColor","background","answerText","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,GAAG,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AAC9B,QAAM;AAACC,IAAAA;AAAD,MAAYF,KAAlB;AACA,QAAMG,aAAa,GAAG,oBAAM,CAAC;AAACC,IAAAA;AAAD,GAAD,KAAaA,KAAK,CAACC,MAAzB,EAAiCH,OAAjC,CAAtB;AACA,QAAM;AAACI,IAAAA;AAAD,MAASL,OAAf;AACA,QAAMM,gBAAgB,GAAG,oBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAAzB;AAEA,QAAME,YAAY,GAAG,oBACnB,MACEN,OAAO,CAACO,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;AAC3B,UAAM;AAACC,MAAAA,OAAD;AAAUR,MAAAA,KAAV;AAAiBS,MAAAA,QAAjB;AAA2B,oBAAcC;AAAzC,QAAsDJ,MAA5D;AACA,UAAMK,eAAe,GAAGZ,aAAa,CAACC,KAAd,KAAwBA,KAAxB,GAAgCY,eAAMb,aAAtC,GAAsDa,eAAMN,MAApF;AACA,UAAMO,mBAAmB,GAAGJ,QAAQ,GAAGG,eAAME,cAAT,GAA0BF,eAAMG,gBAApE;AAEA,wBACE;AACE,mBAAU,QADZ;AAEE,oBAAYL,SAAS,IAAIV,KAF3B;AAGE,MAAA,SAAS,EAAE,yBAAWW,eAAX,EAA4BC,eAAMI,SAAlC,EAA6CH,mBAA7C,CAHb;AAIE,MAAA,OAAO,EAAEL,OAJX;AAKE,MAAA,KAAK,eACCC,QAAQ,IAAI;AACdQ,QAAAA,SAAS,EAAG,cAAa,gEAA6Bd,gBAA7B,CAA+C;AAD1D,OADb,CALP;AAUE,uBAAeM,QAVjB;AAWE,MAAA,GAAG,EAAEF;AAXP,oBAaE;AACE,mBAAU,mBADZ;AAEE,MAAA,KAAK,EAAE;AAACW,QAAAA,eAAe,EAAET,QAAQ,GAAGN,gBAAH,GAAsB;AAAU;;AAA1D,OAFT;AAGE,MAAA,SAAS,EAAES,eAAMO;AAHnB,MAbF,eAkBE;AACE,mBAAU,cADZ;AAEE,MAAA,SAAS,EAAEP,eAAMQ,UAFnB,CAGE;AAHF;AAIE,MAAA,uBAAuB,EAAE;AAACC,QAAAA,MAAM,EAAErB;AAAT;AAJ3B,MAlBF,CADF;AA2BD,GAhCD,CAFiB,EAmCnB,CAACF,OAAD,EAAUC,aAAV,EAAyBI,gBAAzB,CAnCmB,CAArB;AAsCA,sBACE;AAAK,iBAAU,KAAf;AAAqB,IAAA,SAAS,EAAES,eAAMU;AAAtC,KACGlB,YADH,CADF;AAKD,CAjDD;;AAmDAT,GAAG,CAAC4B,YAAJ,GAAmB;AACjBrB,EAAAA,IAAI,EAAEsB,kBAASC,iBAAT,CAA2BvB;AADhB,CAAnB;AAIAP,GAAG,CAAC+B,SAAJ,2CAAgB;AACd5B,EAAAA,OAAO,EAAE6B,mBAAUC,OAAV,CACPD,mBAAUE,KAAV,CAAgB;AACd7B,IAAAA,KAAK,EAAE2B,mBAAUG,MADH;AAEdrB,IAAAA,QAAQ,EAAEkB,mBAAUI,IAFN;AAGdvB,IAAAA,OAAO,EAAEmB,mBAAUK,IAHL;AAId,kBAAcL,mBAAUG;AAJV,GAAhB,CADO;AADK,CAAhB;eAWenC,G","sourcesContent":["import React, {useMemo} from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport maxBy from 'lodash/fp/maxBy';\nimport Provider from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCM = (props, context) => {\n const {answers} = props;\n const longestAnswer = maxBy(({title}) => title.length, answers);\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = useMemo(\n () =>\n answers.map((answer, key) => {\n const {onClick, title, selected, 'aria-label': ariaLabel} = answer;\n const longAnswerClass = longestAnswer.title === title ? style.longestAnswer : style.answer;\n const selectedAnswerClass = selected ? style.selectedAnswer : style.unselectedAnswer;\n\n return (\n <div\n data-name=\"answer\"\n aria-label={ariaLabel || title}\n className={classnames(longAnswerClass, style.innerHTML, selectedAnswerClass)}\n onClick={onClick}\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n data-selected={selected}\n key={key}\n >\n <div\n data-name=\"answer-background\"\n style={{backgroundColor: selected ? primarySkinColor : '#F4F4F5' /* cm_grey_75 */}}\n className={style.background}\n />\n <span\n data-name=\"answer-label\"\n className={style.answerText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n );\n }),\n [answers, longestAnswer, primarySkinColor]\n );\n\n return (\n <div data-name=\"qcm\" className={style.wrapper}>\n {answersViews}\n </div>\n );\n};\n\nQCM.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCM.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n )\n};\n\nexport default QCM;\n"],"file":"index.js"}
@@ -105,3 +105,7 @@
105
105
  padding: 8px 24px;
106
106
  }
107
107
  }
108
+
109
+ .innerHTML {
110
+ composes: innerHTML from '../../../atom/label/style.css'
111
+ }
@@ -99,10 +99,10 @@ const translate = _identity2.default;
99
99
  const answer = wrapper.find('[data-name="answer"]'); // regular answer
100
100
 
101
101
  t.true(answer.at(4).exists());
102
- t.is(answer.at(4).props().className, 'qcm__answer label__innerHTML qcm__selectedAnswer'); // long answer
102
+ t.is(answer.at(4).props().className, 'qcm__answer qcm__innerHTML label__innerHTML qcm__selectedAnswer'); // long answer
103
103
 
104
104
  t.true(answer.at(5).exists());
105
- t.is(answer.at(5).props().className, 'qcm__longestAnswer qcm__answer qcm__answer label__innerHTML qcm__unselectedAnswer');
105
+ t.is(answer.at(5).props().className, 'qcm__longestAnswer qcm__answer qcm__answer qcm__innerHTML label__innerHTML qcm__unselectedAnswer');
106
106
  t.pass();
107
107
  });
108
108
  (0, _ava.default)('should use title as default aria-label if no aria-label is provided', t => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/molecule/questions/qcm/test/qcm.js"],"names":["adapter","Adapter","translate","t","answerWasClicked","defaultFixture","props","answers","onClick","wrapper","context","find","true","at","exists","is","simulate","pass","unselectedAnswer","expectedPrimaryColor","deepEqual","style","unselectedLabel","children","falsy","dangerouslySetInnerHTML","__html","text","unselectedBackground","backgroundColor","selectedAnswer","boxShadow","selectedLabel","selectedBackground","answer","className","noAriaLabelFixture"],"mappings":";;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;AAEA;AACA,uBAAU;AAACA,EAAAA,OAAO,EAAE,IAAIC,2BAAJ;AAAV,CAAV;AACA,MAAMC,SAAS,qBAAf;AAEA,kBAAK,4DAAL,EAAmEC,CAAC,IAAI;AACtE,MAAIC,gBAAgB,GAAG,KAAvB;AACAC,mBAAeC,KAAf,CAAqBC,OAArB,CAA6B,CAA7B,0BACKF,iBAAeC,KAAf,CAAqBC,OAArB,CAA6B,CAA7B,CADL;AAEEC,IAAAA,OAAO,EAAE,MAAM;AACbJ,MAAAA,gBAAgB,GAAG,IAAnB;AACD;AAJH;AAMA,QAAMK,OAAO,GAAG,mCAAQ,6BAAC,SAAD,EAASJ,iBAAeC,KAAxB,CAAR,EAA2C;AACzDI,IAAAA,OAAO,EAAE;AAACR,MAAAA;AAAD;AADgD,GAA3C,CAAhB;AAGA,QAAMK,OAAO,GAAGE,OAAO,CAACE,IAAR,CAAa,sBAAb,CAAhB;AACAR,EAAAA,CAAC,CAACS,IAAF,CAAOL,OAAO,CAACM,EAAR,CAAW,CAAX,EAAcC,MAAd,EAAP;AACAX,EAAAA,CAAC,CAACY,EAAF,CAAKR,OAAO,CAACM,EAAR,CAAW,CAAX,EAAcP,KAAd,GAAsB,YAAtB,CAAL,EAA0C,aAA1C;AACAC,EAAAA,OAAO,CAACM,EAAR,CAAW,CAAX,EAAcG,QAAd,CAAuB,OAAvB,EAAgC,EAAhC;AACAb,EAAAA,CAAC,CAACS,IAAF,CAAOR,gBAAP;AACAD,EAAAA,CAAC,CAACc,IAAF;AACD,CAjBD;AAmBA,kBAAK,0EAAL,EAAiFd,CAAC,IAAI;AACpF,QAAMM,OAAO,GAAG,iCAAM,6BAAC,SAAD,EAASJ,iBAAeC,KAAxB,CAAN,CAAhB;AACA,QAAMC,OAAO,GAAGE,OAAO,CAACE,IAAR,CAAa,sBAAb,CAAhB;AACA,QAAMO,gBAAgB,GAAGX,OAAO,CAACM,EAAR,CAAW,CAAX,CAAzB;AACA,QAAMM,oBAAoB,GAAG,SAA7B,CAJoF,CAKpF;AACA;;AACAhB,EAAAA,CAAC,CAACS,IAAF,CAAOM,gBAAgB,CAACJ,MAAjB,EAAP;AACAX,EAAAA,CAAC,CAACiB,SAAF,CAAYF,gBAAgB,CAACZ,KAAjB,GAAyBe,KAArC,EAA4C,EAA5C,EARoF,CAUpF;;AACA,QAAMC,eAAe,GAAGJ,gBAAgB,CAACK,QAAjB,GAA4BV,EAA5B,CAA+B,CAA/B,CAAxB;AACAV,EAAAA,CAAC,CAACS,IAAF,CAAOU,eAAe,CAACR,MAAhB,EAAP;AACAX,EAAAA,CAAC,CAACqB,KAAF,CAAQF,eAAe,CAAChB,KAAhB,GAAwBe,KAAhC,EAboF,CAepF;;AACAlB,EAAAA,CAAC,CAACiB,SAAF,CAAYE,eAAe,CAAChB,KAAhB,GAAwBmB,uBAApC,EAA6D;AAC3DC,IAAAA,MAAM,EAAE;AADmD,GAA7D;AAGAvB,EAAAA,CAAC,CAACY,EAAF,CAAKO,eAAe,CAACK,IAAhB,EAAL,EAA6B,aAA7B,EAnBoF,CAqBpF;;AACA,QAAMC,oBAAoB,GAAGV,gBAAgB,CAACK,QAAjB,GAA4BV,EAA5B,CAA+B,CAA/B,CAA7B;AACAV,EAAAA,CAAC,CAACS,IAAF,CAAOgB,oBAAoB,CAACd,MAArB,EAAP;AACAX,EAAAA,CAAC,CAACiB,SAAF,CAAYQ,oBAAoB,CAACtB,KAArB,GAA6Be,KAAzC,EAAgD;AAC9CQ,IAAAA,eAAe,EAAE;AAD6B,GAAhD,EAxBoF,CA4BpF;AACA;;AACA,QAAMC,cAAc,GAAGvB,OAAO,CAACM,EAAR,CAAW,CAAX,CAAvB;AACAV,EAAAA,CAAC,CAACS,IAAF,CAAOkB,cAAc,CAAChB,MAAf,EAAP;AACAX,EAAAA,CAAC,CAACiB,SAAF,CAAYU,cAAc,CAACxB,KAAf,GAAuBe,KAAnC,EAA0C;AACxCU,IAAAA,SAAS,EAAE;AAD6B,GAA1C,EAhCoF,CAoCpF;;AACA,QAAMC,aAAa,GAAGF,cAAc,CAACP,QAAf,GAA0BV,EAA1B,CAA6B,CAA7B,CAAtB;AACAV,EAAAA,CAAC,CAACS,IAAF,CAAOoB,aAAa,CAAClB,MAAd,EAAP;AACAX,EAAAA,CAAC,CAACqB,KAAF,CAAQQ,aAAa,CAAC1B,KAAd,GAAsBe,KAA9B,EAvCoF,CAyCpF;;AACAlB,EAAAA,CAAC,CAACiB,SAAF,CAAYY,aAAa,CAAC1B,KAAd,GAAsBmB,uBAAlC,EAA2D;AACzDC,IAAAA,MAAM,EAAE;AADiD,GAA3D;AAIAvB,EAAAA,CAAC,CAACY,EAAF,CAAKiB,aAAa,CAACL,IAAd,EAAL,EAA2B,OAA3B,EA9CoF,CAgDpF;;AACA,QAAMM,kBAAkB,GAAGH,cAAc,CAACP,QAAf,GAA0BV,EAA1B,CAA6B,CAA7B,CAA3B;AACAV,EAAAA,CAAC,CAACS,IAAF,CAAOqB,kBAAkB,CAACnB,MAAnB,EAAP;AACAX,EAAAA,CAAC,CAACiB,SAAF,CAAYa,kBAAkB,CAAC3B,KAAnB,GAA2Be,KAAvC,EAA8C;AAC5CQ,IAAAA,eAAe,EAAEV;AAD2B,GAA9C;AAIAhB,EAAAA,CAAC,CAACc,IAAF;AACD,CAxDD;AA0DA,kBAAK,4EAAL,EAAmFd,CAAC,IAAI;AACtF,QAAMM,OAAO,GAAG,iCAAM,6BAAC,SAAD,EAASJ,iBAAeC,KAAxB,CAAN,CAAhB;AACA,QAAM4B,MAAM,GAAGzB,OAAO,CAACE,IAAR,CAAa,sBAAb,CAAf,CAFsF,CAGtF;;AACAR,EAAAA,CAAC,CAACS,IAAF,CAAOsB,MAAM,CAACrB,EAAP,CAAU,CAAV,EAAaC,MAAb,EAAP;AACAX,EAAAA,CAAC,CAACY,EAAF,CAAKmB,MAAM,CAACrB,EAAP,CAAU,CAAV,EAAaP,KAAb,GAAqB6B,SAA1B,EAAqC,kDAArC,EALsF,CAOtF;;AACAhC,EAAAA,CAAC,CAACS,IAAF,CAAOsB,MAAM,CAACrB,EAAP,CAAU,CAAV,EAAaC,MAAb,EAAP;AACAX,EAAAA,CAAC,CAACY,EAAF,CACEmB,MAAM,CAACrB,EAAP,CAAU,CAAV,EAAaP,KAAb,GAAqB6B,SADvB,EAEE,mFAFF;AAIAhC,EAAAA,CAAC,CAACc,IAAF;AACD,CAdD;AAgBA,kBAAK,qEAAL,EAA4Ed,CAAC,IAAI;AAC/E,QAAMM,OAAO,GAAG,iCAAM,6BAAC,SAAD,EAAS2B,oBAAmB9B,KAA5B,CAAN,CAAhB;AACA,QAAMC,OAAO,GAAGE,OAAO,CAACE,IAAR,CAAa,sBAAb,CAAhB;AACAR,EAAAA,CAAC,CAACY,EAAF,CAAKR,OAAO,CAACM,EAAR,CAAW,CAAX,EAAcc,IAAd,EAAL,EAA2B,mBAA3B;AACAxB,EAAAA,CAAC,CAACY,EAAF,CAAKR,OAAO,CAACM,EAAR,CAAW,CAAX,EAAcP,KAAd,GAAsB,YAAtB,CAAL,EAA0C,mBAA1C;AACAH,EAAAA,CAAC,CAACc,IAAF;AACD,CAND","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {shallow, mount, configure} from 'enzyme';\nimport {identity} from 'lodash/fp';\nimport Adapter from '@wojtekmaj/enzyme-adapter-react-17';\nimport Qcm from '..';\nimport defaultFixture from './fixtures/default';\nimport noAriaLabelFixture from './fixtures/no-selected';\n\nbrowserEnv();\nconfigure({adapter: new Adapter()});\nconst translate = identity;\n\ntest('onClick should be reachable, should match given aria-label', t => {\n let answerWasClicked = false;\n defaultFixture.props.answers[1] = {\n ...defaultFixture.props.answers[1],\n onClick: () => {\n answerWasClicked = true;\n }\n };\n const wrapper = shallow(<Qcm {...defaultFixture.props} />, {\n context: {translate}\n });\n const answers = wrapper.find('[data-name=\"answer\"]');\n t.true(answers.at(1).exists());\n t.is(answers.at(1).props()['aria-label'], 'aria Answer');\n answers.at(1).simulate('click', {});\n t.true(answerWasClicked);\n t.pass();\n});\n\ntest(\"should set: selected's background to Primary, unselected's no background\", t => {\n const wrapper = mount(<Qcm {...defaultFixture.props} />);\n const answers = wrapper.find('[data-name=\"answer\"]');\n const unselectedAnswer = answers.at(1);\n const expectedPrimaryColor = '#00B0FF';\n // ---- unselected ----\n // should not have styles on the wrapper\n t.true(unselectedAnswer.exists());\n t.deepEqual(unselectedAnswer.props().style, {});\n\n // should not have any styles (color should be picked from the css for unselected)\n const unselectedLabel = unselectedAnswer.children().at(1);\n t.true(unselectedLabel.exists());\n t.falsy(unselectedLabel.props().style);\n\n // check dangerouslySetInnerHTML\n t.deepEqual(unselectedLabel.props().dangerouslySetInnerHTML, {\n __html: 'Lorem ipsum'\n });\n t.is(unselectedLabel.text(), 'Lorem ipsum');\n\n // should have a backgroundColor of '#F4F4F5' /* cm_grey_75 */\n const unselectedBackground = unselectedAnswer.children().at(0);\n t.true(unselectedBackground.exists());\n t.deepEqual(unselectedBackground.props().style, {\n backgroundColor: '#F4F4F5'\n });\n\n // selected\n // should have box-shadow color based on primary\n const selectedAnswer = answers.at(2);\n t.true(selectedAnswer.exists());\n t.deepEqual(selectedAnswer.props().style, {\n boxShadow: '0 4px 16px rgba(0, 122, 179, 0.25)'\n });\n\n // should not have any prop in label style\n const selectedLabel = selectedAnswer.children().at(1);\n t.true(selectedLabel.exists());\n t.falsy(selectedLabel.props().style);\n\n // check dangerouslySetInnerHTML\n t.deepEqual(selectedLabel.props().dangerouslySetInnerHTML, {\n __html: 'Lorem'\n });\n\n t.is(selectedLabel.text(), 'Lorem');\n\n // should have backgroundColor as expectedPrimaryColor (primary to be overlayed by the css)\n const selectedBackground = selectedAnswer.children().at(0);\n t.true(selectedBackground.exists());\n t.deepEqual(selectedBackground.props().style, {\n backgroundColor: expectedPrimaryColor\n });\n\n t.pass();\n});\n\ntest('should set className to longAnswer if the answer is the longest of the set', t => {\n const wrapper = mount(<Qcm {...defaultFixture.props} />);\n const answer = wrapper.find('[data-name=\"answer\"]');\n // regular answer\n t.true(answer.at(4).exists());\n t.is(answer.at(4).props().className, 'qcm__answer label__innerHTML qcm__selectedAnswer');\n\n // long answer\n t.true(answer.at(5).exists());\n t.is(\n answer.at(5).props().className,\n 'qcm__longestAnswer qcm__answer qcm__answer label__innerHTML qcm__unselectedAnswer'\n );\n t.pass();\n});\n\ntest('should use title as default aria-label if no aria-label is provided', t => {\n const wrapper = mount(<Qcm {...noAriaLabelFixture.props} />);\n const answers = wrapper.find('[data-name=\"answer\"]');\n t.is(answers.at(6).text(), 'Lorem ipsum dolor');\n t.is(answers.at(6).props()['aria-label'], 'Lorem ipsum dolor');\n t.pass();\n});\n"],"file":"qcm.js"}
1
+ {"version":3,"sources":["../../../../../src/molecule/questions/qcm/test/qcm.js"],"names":["adapter","Adapter","translate","t","answerWasClicked","defaultFixture","props","answers","onClick","wrapper","context","find","true","at","exists","is","simulate","pass","unselectedAnswer","expectedPrimaryColor","deepEqual","style","unselectedLabel","children","falsy","dangerouslySetInnerHTML","__html","text","unselectedBackground","backgroundColor","selectedAnswer","boxShadow","selectedLabel","selectedBackground","answer","className","noAriaLabelFixture"],"mappings":"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","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {shallow, mount, configure} from 'enzyme';\nimport {identity} from 'lodash/fp';\nimport Adapter from '@wojtekmaj/enzyme-adapter-react-17';\nimport Qcm from '..';\nimport defaultFixture from './fixtures/default';\nimport noAriaLabelFixture from './fixtures/no-selected';\n\nbrowserEnv();\nconfigure({adapter: new Adapter()});\nconst translate = identity;\n\ntest('onClick should be reachable, should match given aria-label', t => {\n let answerWasClicked = false;\n defaultFixture.props.answers[1] = {\n ...defaultFixture.props.answers[1],\n onClick: () => {\n answerWasClicked = true;\n }\n };\n const wrapper = shallow(<Qcm {...defaultFixture.props} />, {\n context: {translate}\n });\n const answers = wrapper.find('[data-name=\"answer\"]');\n t.true(answers.at(1).exists());\n t.is(answers.at(1).props()['aria-label'], 'aria Answer');\n answers.at(1).simulate('click', {});\n t.true(answerWasClicked);\n t.pass();\n});\n\ntest(\"should set: selected's background to Primary, unselected's no background\", t => {\n const wrapper = mount(<Qcm {...defaultFixture.props} />);\n const answers = wrapper.find('[data-name=\"answer\"]');\n const unselectedAnswer = answers.at(1);\n const expectedPrimaryColor = '#00B0FF';\n // ---- unselected ----\n // should not have styles on the wrapper\n t.true(unselectedAnswer.exists());\n t.deepEqual(unselectedAnswer.props().style, {});\n\n // should not have any styles (color should be picked from the css for unselected)\n const unselectedLabel = unselectedAnswer.children().at(1);\n t.true(unselectedLabel.exists());\n t.falsy(unselectedLabel.props().style);\n\n // check dangerouslySetInnerHTML\n t.deepEqual(unselectedLabel.props().dangerouslySetInnerHTML, {\n __html: 'Lorem ipsum'\n });\n t.is(unselectedLabel.text(), 'Lorem ipsum');\n\n // should have a backgroundColor of '#F4F4F5' /* cm_grey_75 */\n const unselectedBackground = unselectedAnswer.children().at(0);\n t.true(unselectedBackground.exists());\n t.deepEqual(unselectedBackground.props().style, {\n backgroundColor: '#F4F4F5'\n });\n\n // selected\n // should have box-shadow color based on primary\n const selectedAnswer = answers.at(2);\n t.true(selectedAnswer.exists());\n t.deepEqual(selectedAnswer.props().style, {\n boxShadow: '0 4px 16px rgba(0, 122, 179, 0.25)'\n });\n\n // should not have any prop in label style\n const selectedLabel = selectedAnswer.children().at(1);\n t.true(selectedLabel.exists());\n t.falsy(selectedLabel.props().style);\n\n // check dangerouslySetInnerHTML\n t.deepEqual(selectedLabel.props().dangerouslySetInnerHTML, {\n __html: 'Lorem'\n });\n\n t.is(selectedLabel.text(), 'Lorem');\n\n // should have backgroundColor as expectedPrimaryColor (primary to be overlayed by the css)\n const selectedBackground = selectedAnswer.children().at(0);\n t.true(selectedBackground.exists());\n t.deepEqual(selectedBackground.props().style, {\n backgroundColor: expectedPrimaryColor\n });\n\n t.pass();\n});\n\ntest('should set className to longAnswer if the answer is the longest of the set', t => {\n const wrapper = mount(<Qcm {...defaultFixture.props} />);\n const answer = wrapper.find('[data-name=\"answer\"]');\n // regular answer\n t.true(answer.at(4).exists());\n t.is(\n answer.at(4).props().className,\n 'qcm__answer qcm__innerHTML label__innerHTML qcm__selectedAnswer'\n );\n\n // long answer\n t.true(answer.at(5).exists());\n t.is(\n answer.at(5).props().className,\n 'qcm__longestAnswer qcm__answer qcm__answer qcm__innerHTML label__innerHTML qcm__unselectedAnswer'\n );\n t.pass();\n});\n\ntest('should use title as default aria-label if no aria-label is provided', t => {\n const wrapper = mount(<Qcm {...noAriaLabelFixture.props} />);\n const answers = wrapper.find('[data-name=\"answer\"]');\n t.is(answers.at(6).text(), 'Lorem ipsum dolor');\n t.is(answers.at(6).props()['aria-label'], 'Lorem ipsum dolor');\n t.pass();\n});\n"],"file":"qcm.js"}
@@ -19,11 +19,9 @@ var _classnames = _interopRequireDefault(require("classnames"));
19
19
 
20
20
  var _provider = _interopRequireDefault(require("../../../atom/provider"));
21
21
 
22
- var _style = require("../../../atom/label/style.css");
23
-
24
22
  var _getShadowBoxColorFromPrimary = require("../../../util/get-shadow-box-color-from-primary");
25
23
 
26
- var _style2 = _interopRequireDefault(require("./style.css"));
24
+ var _style = _interopRequireDefault(require("./style.css"));
27
25
 
28
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
27
 
@@ -38,7 +36,7 @@ const AnswersPropTypes = process.env.NODE_ENV !== "production" ? _propTypes.defa
38
36
  const EmptyView = ({
39
37
  help
40
38
  }) => /*#__PURE__*/_react.default.createElement("span", {
41
- className: _style2.default.emptySpan
39
+ className: _style.default.emptySpan
42
40
  }, help);
43
41
 
44
42
  EmptyView.contextTypes = {
@@ -58,7 +56,7 @@ const Choices = ({
58
56
  selected
59
57
  } = answer;
60
58
  return /*#__PURE__*/_react.default.createElement("div", {
61
- className: (0, _classnames.default)(selected ? _style2.default.invisibleAnswer : _style2.default.unselected, _style.innerHTML),
59
+ className: (0, _classnames.default)(selected ? _style.default.invisibleAnswer : _style.default.unselected, _style.default.innerHTML),
62
60
  "data-name": "answer",
63
61
  onClick: onClick,
64
62
  key: key // eslint-disable-next-line react/no-danger
@@ -69,7 +67,7 @@ const Choices = ({
69
67
  });
70
68
  });
71
69
  return /*#__PURE__*/_react.default.createElement("div", {
72
- className: _style2.default.choices
70
+ className: _style.default.choices
73
71
  }, answersViews);
74
72
  };
75
73
 
@@ -93,7 +91,7 @@ const SelectedAnswerSections = ({
93
91
  onClick: onClick,
94
92
  key: key,
95
93
  "data-name": "selectedAnswer",
96
- className: _style2.default.selected,
94
+ className: _style.default.selected,
97
95
  style: {
98
96
  boxShadow: `0px 4px 16px ${(0, _getShadowBoxColorFromPrimary.getShadowBoxColorFromPrimary)(backgroundColor)}`
99
97
  }
@@ -102,12 +100,12 @@ const SelectedAnswerSections = ({
102
100
  style: {
103
101
  backgroundColor
104
102
  },
105
- className: _style2.default.background
103
+ className: _style.default.background
106
104
  }), /*#__PURE__*/_react.default.createElement("div", {
107
- className: _style2.default.content
105
+ className: _style.default.content
108
106
  }, /*#__PURE__*/_react.default.createElement("span", {
109
107
  "data-name": "answerContent",
110
- className: (0, _classnames.default)(_style2.default.selectedAnswerText, _style.innerHTML),
108
+ className: (0, _classnames.default)(_style.default.selectedAnswerText, _style.default.innerHTML),
111
109
  title: title // eslint-disable-next-line react/no-danger
112
110
  ,
113
111
  dangerouslySetInnerHTML: {
@@ -118,11 +116,11 @@ const SelectedAnswerSections = ({
118
116
 
119
117
  if (selectedAnswersViews.length > 0) {
120
118
  return /*#__PURE__*/_react.default.createElement("div", {
121
- className: _style2.default.selectedAnswers
119
+ className: _style.default.selectedAnswers
122
120
  }, selectedAnswersViews);
123
121
  } else {
124
122
  return /*#__PURE__*/_react.default.createElement("div", {
125
- className: _style2.default.emptyAnswers
123
+ className: _style.default.emptyAnswers
126
124
  }, /*#__PURE__*/_react.default.createElement(EmptyView, {
127
125
  help: help
128
126
  }));
@@ -144,14 +142,14 @@ const QcmDrag = ({
144
142
  } = context;
145
143
  const primarySkinColor = (0, _getOr2.default)('#00B0FF', 'common.primary', skin);
146
144
  return /*#__PURE__*/_react.default.createElement("div", {
147
- className: _style2.default.wrapper
145
+ className: _style.default.wrapper
148
146
  }, /*#__PURE__*/_react.default.createElement(SelectedAnswerSections, {
149
147
  answers: answers,
150
148
  help: help,
151
149
  backgroundColor: primarySkinColor
152
150
  }), /*#__PURE__*/_react.default.createElement("div", {
153
151
  "data-name": "qcm-drag-answers",
154
- className: _style2.default.answers
152
+ className: _style.default.answers
155
153
  }, /*#__PURE__*/_react.default.createElement(Choices, {
156
154
  answers: answers
157
155
  })));