@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
@@ -110,7 +110,8 @@ class CTA extends React.Component {
110
110
  "data-name": ctaName || 'cta',
111
111
  style: this.getStyle()
112
112
  }, logout ? /*#__PURE__*/React.createElement("div", {
113
- className: style.logoutWrapper
113
+ className: style.logoutWrapper,
114
+ "data-name": "cta-logout-label"
114
115
  }, /*#__PURE__*/React.createElement(LogoutIcon, {
115
116
  height: 15,
116
117
  width: 15,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/cta/index.js"],"names":["React","convert","PropTypes","classnames","NovaCompositionCoorpacademyLogout","LogoutIcon","Provider","Link","style","CTA","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","button","smallButton","lightButton","secondaryButton","logoutButton","rectangularButton","logoutWrapper","logoutIcon","childContextTypes","propTypes","children","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":["React","convert","PropTypes","classnames","NovaCompositionCoorpacademyLogout","LogoutIcon","Provider","Link","style","CTA","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","button","smallButton","lightButton","secondaryButton","logoutButton","rectangularButton","logoutWrapper","logoutIcon","childContextTypes","propTypes","children","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,93 @@
1
+ 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); }
2
+
3
+ import browserEnv from 'browser-env';
4
+ import test from 'ava';
5
+ import React from 'react';
6
+ import { fireEvent } from '@testing-library/react';
7
+ import { renderWithContext } from '../../../util/render-with-context';
8
+ import Cta from '..';
9
+ import ctaFixture from './fixtures/primary';
10
+ import logoutFixture from './fixtures/logout';
11
+ browserEnv();
12
+ const context = {
13
+ skin: {
14
+ common: {
15
+ primary: '#FF7043'
16
+ }
17
+ }
18
+ };
19
+ test('should be considered as hovered when mouse enters', t => {
20
+ const unhoveredCtaLinkStyle = {
21
+ 'background-color': 'rgb(255, 112, 67)',
22
+ 'border-bottom-color': '#ff7043',
23
+ 'border-color': '#ff7043',
24
+ 'border-left-color': '#ff7043',
25
+ 'border-right-color': '#ff7043',
26
+ 'border-top-color': '#ff7043'
27
+ };
28
+ const {
29
+ container
30
+ } = renderWithContext( /*#__PURE__*/React.createElement(Cta, ctaFixture.props), {
31
+ context
32
+ });
33
+ const cta = container.querySelector('[data-name="cta"]');
34
+ t.truthy(cta);
35
+ t.deepEqual(cta.style._values, unhoveredCtaLinkStyle);
36
+ fireEvent.mouseOver(cta);
37
+ t.deepEqual(cta.style._values, {
38
+ 'background-color': 'rgb(230, 104, 66)',
39
+ 'border-bottom-color': 'rgb(230, 104, 66)',
40
+ 'border-color': 'rgb(230, 104, 66)',
41
+ 'border-left-color': 'rgb(230, 104, 66)',
42
+ 'border-right-color': 'rgb(230, 104, 66)',
43
+ 'border-top-color': 'rgb(230, 104, 66)'
44
+ });
45
+ fireEvent.mouseLeave(cta);
46
+ t.deepEqual(cta.style._values, unhoveredCtaLinkStyle);
47
+ });
48
+ test("The hover action should not change the cta's (Link wrapper) style when the mouse enters the logout label", t => {
49
+ const {
50
+ container
51
+ } = renderWithContext( /*#__PURE__*/React.createElement(Cta, logoutFixture.props), {
52
+ context
53
+ });
54
+ const logout = container.querySelector('[data-name="cta-logout-label"]');
55
+ const cta = container.querySelector('[data-name="cta"]'); // no styles should be returned for logout either on hover/ unhovered
56
+
57
+ t.deepEqual(cta.style._values, {});
58
+ fireEvent.mouseOver(logout);
59
+ t.deepEqual(cta.style._values, {});
60
+ fireEvent.mouseLeave(logout);
61
+ t.deepEqual(cta.style._values, {});
62
+ });
63
+ test('Onclick test', t => {
64
+ t.plan(3);
65
+
66
+ const onClick = () => {
67
+ t.pass();
68
+ };
69
+
70
+ const {
71
+ container,
72
+ rerender
73
+ } = renderWithContext( /*#__PURE__*/React.createElement(Cta, _extends({}, ctaFixture.props, {
74
+ onClick: onClick
75
+ })), {
76
+ context
77
+ });
78
+ const cta = container.querySelector('[data-name="cta"]');
79
+ t.truthy(cta);
80
+ fireEvent.click(cta);
81
+
82
+ const onClick2 = () => {
83
+ t.fail();
84
+ };
85
+
86
+ rerender( /*#__PURE__*/React.createElement(Cta, _extends({}, ctaFixture.props, {
87
+ disabled: true,
88
+ onClick: onClick2
89
+ })));
90
+ t.truthy(cta);
91
+ fireEvent.click(cta);
92
+ });
93
+ //# sourceMappingURL=cta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/atom/cta/test/cta.js"],"names":["browserEnv","test","React","fireEvent","renderWithContext","Cta","ctaFixture","logoutFixture","context","skin","common","primary","t","unhoveredCtaLinkStyle","container","props","cta","querySelector","truthy","deepEqual","style","_values","mouseOver","mouseLeave","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"}
@@ -3,7 +3,7 @@ import _noop from "lodash/fp/noop";
3
3
  import React, { useMemo } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import classnames from 'classnames';
6
- import { NovaCompositionCoorpacademySearch1 as CMSearchIcon, NovaCompositionCoorpacademySearch as SearchIcon, NovaSolidStatusClose as CloseIcon } from '@coorpacademy/nova-icons';
6
+ import { NovaCompositionCoorpacademySearchThin as CMSearchIcon, NovaCompositionCoorpacademySearch as SearchIcon, NovaSolidStatusClose as CloseIcon } from '@coorpacademy/nova-icons';
7
7
  import Provider from '../provider';
8
8
  import style from './style.css';
9
9
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/input-search/index.js"],"names":["React","useMemo","PropTypes","classnames","NovaCompositionCoorpacademySearch1","CMSearchIcon","NovaCompositionCoorpacademySearch","SearchIcon","NovaSolidStatusClose","CloseIcon","Provider","style","Search","props","value","placeholder","onChange","onClear","onFocus","onBlur","theme","handleChange","e","target","cmStyle","coorpmanager","isDefaultTheme","wrapperSearch","searchIcon","title","noValue","search","clearIcon","contextTypes","skin","childContextTypes","propTypes","string","isRequired","func","oneOf"],"mappings":"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","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":["React","useMemo","PropTypes","classnames","NovaCompositionCoorpacademySearchThin","CMSearchIcon","NovaCompositionCoorpacademySearch","SearchIcon","NovaSolidStatusClose","CloseIcon","Provider","style","Search","props","value","placeholder","onChange","onClear","onFocus","onBlur","theme","handleChange","e","target","cmStyle","coorpmanager","isDefaultTheme","wrapperSearch","searchIcon","title","noValue","search","clearIcon","contextTypes","skin","childContextTypes","propTypes","string","isRequired","func","oneOf"],"mappings":"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","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"}
@@ -34,8 +34,7 @@ const News = (props, context) => {
34
34
  title: title,
35
35
  className: classnames(style.title, style.innerHTML),
36
36
  target: cta.target,
37
- "data-name": "news-title" // eslint-disable-next-line react/no-danger
38
- ,
37
+ "data-name": "news-title",
39
38
  dangerouslySetInnerHTML: {
40
39
  __html: title
41
40
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/news/index.js"],"names":["React","PropTypes","classnames","Cta","Link","style","News","props","context","image","title","date","description","authorLogo","cta","news","href","linkImage","target","infos","innerHTML","__html","bottom","author","link","propTypes","string","shape"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,GAAP,MAAgB,gBAAhB;AACA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,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,EAAEF,KAAK,CAACU;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEV,KAAK,CAACI;AAAtB,kBACE,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEK,GAAG,CAACE,IADZ;AAEE,IAAA,SAAS,EAAEX,KAAK,CAACY,SAFnB;AAGE,IAAA,MAAM,EAAEH,GAAG,CAACI,MAHd;AAIE,iBAAU;AAJZ,kBAME;AAAK,IAAA,GAAG,EAAET;AAAV,IANF,CADF,CADF,eAWE;AAAK,IAAA,SAAS,EAAEJ,KAAK,CAACc;AAAtB,kBACE,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEL,GAAG,CAACE,IADZ;AAEE,IAAA,KAAK,EAAEN,KAFT;AAGE,IAAA,SAAS,EAAER,UAAU,CAACG,KAAK,CAACK,KAAP,EAAcL,KAAK,CAACe,SAApB,CAHvB;AAIE,IAAA,MAAM,EAAEN,GAAG,CAACI,MAJd;AAKE,iBAAU,YALZ,CAME;AANF;AAOE,IAAA,uBAAuB,EAAE;AAACG,MAAAA,MAAM,EAAEX;AAAT;AAP3B,IADF,eAUE;AAAK,IAAA,SAAS,EAAEL,KAAK,CAACM;AAAtB,KAA6BA,IAA7B,CAVF,eAWE;AAAK,IAAA,SAAS,EAAEN,KAAK,CAACO;AAAtB,kBACE;AACE;AACA,IAAA,uBAAuB,EAAE;AAACS,MAAAA,MAAM,EAAET;AAAT;AAF3B,IADF,CAXF,eAiBE;AAAK,IAAA,SAAS,EAAEP,KAAK,CAACiB;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEjB,KAAK,CAACkB;AAAtB,kBACE;AAAK,IAAA,GAAG,EAAEV;AAAV,IADF,CADF,eAIE,oBAAC,GAAD,eAASC,GAAT;AAAc,IAAA,SAAS,MAAvB;AAAwB,IAAA,IAAI,EAAC;AAA7B,KAJF,CAjBF,CAXF,eAmCE,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAET,KAAK,CAACmB,IAAvB;AAA6B,IAAA,IAAI,EAAEV,GAAG,CAACE,IAAvC;AAA6C,IAAA,MAAM,EAAEF,GAAG,CAACI;AAAzD,IAnCF,CADF;AAuCD,CA1CD;;AA4CAZ,IAAI,CAACmB,SAAL,2CAAiB;AACfhB,EAAAA,KAAK,EAAER,SAAS,CAACyB,MADF;AAEfhB,EAAAA,KAAK,EAAET,SAAS,CAACyB,MAFF;AAGff,EAAAA,IAAI,EAAEV,SAAS,CAACyB,MAHD;AAIfd,EAAAA,WAAW,EAAEX,SAAS,CAACyB,MAJR;AAKfb,EAAAA,UAAU,EAAEZ,SAAS,CAACyB,MALP;AAMfZ,EAAAA,GAAG,EAAEb,SAAS,CAAC0B,KAAV,CAAgBxB,GAAG,CAACsB,SAApB;AANU,CAAjB;AASA,eAAenB,IAAf","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":["React","PropTypes","classnames","Cta","Link","style","News","props","context","image","title","date","description","authorLogo","cta","news","href","linkImage","target","infos","innerHTML","__html","bottom","author","link","propTypes","string","shape"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,GAAP,MAAgB,gBAAhB;AACA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,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,EAAEF,KAAK,CAACU;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEV,KAAK,CAACI;AAAtB,kBACE,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEK,GAAG,CAACE,IADZ;AAEE,IAAA,SAAS,EAAEX,KAAK,CAACY,SAFnB;AAGE,IAAA,MAAM,EAAEH,GAAG,CAACI,MAHd;AAIE,iBAAU;AAJZ,kBAME;AAAK,IAAA,GAAG,EAAET;AAAV,IANF,CADF,CADF,eAWE;AAAK,IAAA,SAAS,EAAEJ,KAAK,CAACc;AAAtB,kBACE,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEL,GAAG,CAACE,IADZ;AAEE,IAAA,KAAK,EAAEN,KAFT;AAGE,IAAA,SAAS,EAAER,UAAU,CAACG,KAAK,CAACK,KAAP,EAAcL,KAAK,CAACe,SAApB,CAHvB;AAIE,IAAA,MAAM,EAAEN,GAAG,CAACI,MAJd;AAKE,iBAAU,YALZ;AAME,IAAA,uBAAuB,EAAE;AAACG,MAAAA,MAAM,EAAEX;AAAT;AAN3B,IADF,eASE;AAAK,IAAA,SAAS,EAAEL,KAAK,CAACM;AAAtB,KAA6BA,IAA7B,CATF,eAUE;AAAK,IAAA,SAAS,EAAEN,KAAK,CAACO;AAAtB,kBACE;AACE;AACA,IAAA,uBAAuB,EAAE;AAACS,MAAAA,MAAM,EAAET;AAAT;AAF3B,IADF,CAVF,eAgBE;AAAK,IAAA,SAAS,EAAEP,KAAK,CAACiB;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEjB,KAAK,CAACkB;AAAtB,kBACE;AAAK,IAAA,GAAG,EAAEV;AAAV,IADF,CADF,eAIE,oBAAC,GAAD,eAASC,GAAT;AAAc,IAAA,SAAS,MAAvB;AAAwB,IAAA,IAAI,EAAC;AAA7B,KAJF,CAhBF,CAXF,eAkCE,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAET,KAAK,CAACmB,IAAvB;AAA6B,IAAA,IAAI,EAAEV,GAAG,CAACE,IAAvC;AAA6C,IAAA,MAAM,EAAEF,GAAG,CAACI;AAAzD,IAlCF,CADF;AAsCD,CAzCD;;AA2CAZ,IAAI,CAACmB,SAAL,2CAAiB;AACfhB,EAAAA,KAAK,EAAER,SAAS,CAACyB,MADF;AAEfhB,EAAAA,KAAK,EAAET,SAAS,CAACyB,MAFF;AAGff,EAAAA,IAAI,EAAEV,SAAS,CAACyB,MAHD;AAIfd,EAAAA,WAAW,EAAEX,SAAS,CAACyB,MAJR;AAKfb,EAAAA,UAAU,EAAEZ,SAAS,CAACyB,MALP;AAMfZ,EAAAA,GAAG,EAAEb,SAAS,CAAC0B,KAAV,CAAgBxB,GAAG,CAACsB,SAApB;AANU,CAAjB;AASA,eAAenB,IAAf","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"}
@@ -46,11 +46,11 @@ const Popin = (props, context) => {
46
46
  setValue(_extends(_extends({}, value), {}, {
47
47
  [event.target.name]: event.target.value
48
48
  }));
49
- });
49
+ }, [value]);
50
50
  const isAssistancePopin = type === 'assistance';
51
51
  const handleClickOnSecondButton = useMemo(() => {
52
52
  return type === 'assistance' ? onSecondeButtonClick(value) : onSecondeButtonClick;
53
- }, [value]);
53
+ }, [value, type, onSecondeButtonClick]);
54
54
  return /*#__PURE__*/React.createElement("div", {
55
55
  className: style.background,
56
56
  style: backgroundImageStyle
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/popin/index.js"],"names":["React","useState","useMemo","PropTypes","NovaCompositionCoorpacademyLocales","LocalesIcon","NovaSolidStatusClose","Close","NovaLineContentEditionBin","Bin","NovaLineContentEditionHide","Hide","Cta","Loader","style","Popin","props","context","skin","primaryColor","header","content","firstButtonLabel","onFirstButtonClick","secondeButtonLabel","onSecondeButtonClick","onClose","type","isLoading","backgroundImageUrl","logo","hiddenStateManagment","deleteContent","videoTranslate","LogoComponent","backgroundImageStyle","backgroundImage","value","setValue","object","message","email","handleChange","event","target","name","isAssistancePopin","handleClickOnSecondButton","background","loader","popin","popinHeader","headerCloseIcon","icon","color","__html","width","inputText","inputTextArea","lastInputText","buttonContainer","button","backgroundColor","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":["React","useState","useMemo","PropTypes","NovaCompositionCoorpacademyLocales","LocalesIcon","NovaSolidStatusClose","Close","NovaLineContentEditionBin","Bin","NovaLineContentEditionHide","Hide","Cta","Loader","style","Popin","props","context","skin","primaryColor","header","content","firstButtonLabel","onFirstButtonClick","secondeButtonLabel","onSecondeButtonClick","onClose","type","isLoading","backgroundImageUrl","logo","hiddenStateManagment","deleteContent","videoTranslate","LogoComponent","backgroundImageStyle","backgroundImage","value","setValue","object","message","email","handleChange","event","target","name","isAssistancePopin","handleClickOnSecondButton","background","loader","popin","popinHeader","headerCloseIcon","icon","color","__html","width","inputText","inputTextArea","lastInputText","buttonContainer","button","backgroundColor","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"}
@@ -6,7 +6,6 @@ import PropTypes from 'prop-types';
6
6
  import getOr from 'lodash/fp/getOr';
7
7
  import maxBy from 'lodash/fp/maxBy';
8
8
  import Provider from '../../../atom/provider';
9
- import { innerHTML } from '../../../atom/label/style.css';
10
9
  import { getShadowBoxColorFromPrimary } from '../../../util/get-shadow-box-color-from-primary';
11
10
  import style from './style.css';
12
11
 
@@ -33,7 +32,7 @@ const QCM = (props, context) => {
33
32
  return /*#__PURE__*/React.createElement("div", {
34
33
  "data-name": "answer",
35
34
  "aria-label": ariaLabel || title,
36
- className: classnames(longAnswerClass, innerHTML, selectedAnswerClass),
35
+ className: classnames(longAnswerClass, style.innerHTML, selectedAnswerClass),
37
36
  onClick: onClick,
38
37
  style: _extends({}, selected && {
39
38
  boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/qcm/index.js"],"names":["React","useMemo","classnames","PropTypes","getOr","maxBy","Provider","innerHTML","getShadowBoxColorFromPrimary","style","QCM","props","context","answers","longestAnswer","title","length","skin","primarySkinColor","answersViews","map","answer","key","onClick","selected","ariaLabel","longAnswerClass","selectedAnswerClass","selectedAnswer","unselectedAnswer","boxShadow","backgroundColor","background","answerText","__html","wrapper","contextTypes","childContextTypes","propTypes","arrayOf","shape","string","bool","func"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,QAAP,MAAqB,wBAArB;AACA,SAAQC,SAAR,QAAwB,+BAAxB;AACA,SAAQC,4BAAR,QAA2C,iDAA3C;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,GAAG,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AAC9B,QAAM;AAACC,IAAAA;AAAD,MAAYF,KAAlB;AACA,QAAMG,aAAa,GAAGT,KAAK,CAAC,CAAC;AAACU,IAAAA;AAAD,GAAD,KAAaA,KAAK,CAACC,MAApB,EAA4BH,OAA5B,CAA3B;AACA,QAAM;AAACI,IAAAA;AAAD,MAASL,OAAf;AACA,QAAMM,gBAAgB,GAAGd,KAAK,CAAC,SAAD,EAAY,gBAAZ,EAA8Ba,IAA9B,CAA9B;AAEA,QAAME,YAAY,GAAGlB,OAAO,CAC1B,MACEY,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,GAAgCN,KAAK,CAACK,aAAtC,GAAsDL,KAAK,CAACY,MAApF;AACA,UAAMM,mBAAmB,GAAGH,QAAQ,GAAGf,KAAK,CAACmB,cAAT,GAA0BnB,KAAK,CAACoB,gBAApE;AAEA,wBACE;AACE,mBAAU,QADZ;AAEE,oBAAYJ,SAAS,IAAIV,KAF3B;AAGE,MAAA,SAAS,EAAEb,UAAU,CAACwB,eAAD,EAAkBnB,SAAlB,EAA6BoB,mBAA7B,CAHvB;AAIE,MAAA,OAAO,EAAEJ,OAJX;AAKE,MAAA,KAAK,eACCC,QAAQ,IAAI;AACdM,QAAAA,SAAS,EAAG,cAAatB,4BAA4B,CAACU,gBAAD,CAAmB;AAD1D,OADb,CALP;AAUE,uBAAeM,QAVjB;AAWE,MAAA,GAAG,EAAEF;AAXP,oBAaE;AACE,mBAAU,mBADZ;AAEE,MAAA,KAAK,EAAE;AAACS,QAAAA,eAAe,EAAEP,QAAQ,GAAGN,gBAAH,GAAsB;AAAU;;AAA1D,OAFT;AAGE,MAAA,SAAS,EAAET,KAAK,CAACuB;AAHnB,MAbF,eAkBE;AACE,mBAAU,cADZ;AAEE,MAAA,SAAS,EAAEvB,KAAK,CAACwB,UAFnB,CAGE;AAHF;AAIE,MAAA,uBAAuB,EAAE;AAACC,QAAAA,MAAM,EAAEnB;AAAT;AAJ3B,MAlBF,CADF;AA2BD,GAhCD,CAFwB,EAmC1B,CAACF,OAAD,EAAUC,aAAV,EAAyBI,gBAAzB,CAnC0B,CAA5B;AAsCA,sBACE;AAAK,iBAAU,KAAf;AAAqB,IAAA,SAAS,EAAET,KAAK,CAAC0B;AAAtC,KACGhB,YADH,CADF;AAKD,CAjDD;;AAmDAT,GAAG,CAAC0B,YAAJ,GAAmB;AACjBnB,EAAAA,IAAI,EAAEX,QAAQ,CAAC+B,iBAAT,CAA2BpB;AADhB,CAAnB;AAIAP,GAAG,CAAC4B,SAAJ,2CAAgB;AACdzB,EAAAA,OAAO,EAAEV,SAAS,CAACoC,OAAV,CACPpC,SAAS,CAACqC,KAAV,CAAgB;AACdzB,IAAAA,KAAK,EAAEZ,SAAS,CAACsC,MADH;AAEdjB,IAAAA,QAAQ,EAAErB,SAAS,CAACuC,IAFN;AAGdnB,IAAAA,OAAO,EAAEpB,SAAS,CAACwC,IAHL;AAId,kBAAcxC,SAAS,CAACsC;AAJV,GAAhB,CADO;AADK,CAAhB;AAWA,eAAe/B,GAAf","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":["React","useMemo","classnames","PropTypes","getOr","maxBy","Provider","getShadowBoxColorFromPrimary","style","QCM","props","context","answers","longestAnswer","title","length","skin","primarySkinColor","answersViews","map","answer","key","onClick","selected","ariaLabel","longAnswerClass","selectedAnswerClass","selectedAnswer","unselectedAnswer","innerHTML","boxShadow","backgroundColor","background","answerText","__html","wrapper","contextTypes","childContextTypes","propTypes","arrayOf","shape","string","bool","func"],"mappings":"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","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
+ }
@@ -87,10 +87,10 @@ test('should set className to longAnswer if the answer is the longest of the set
87
87
  const answer = wrapper.find('[data-name="answer"]'); // regular answer
88
88
 
89
89
  t.true(answer.at(4).exists());
90
- t.is(answer.at(4).props().className, 'qcm__answer label__innerHTML qcm__selectedAnswer'); // long answer
90
+ t.is(answer.at(4).props().className, 'qcm__answer qcm__innerHTML label__innerHTML qcm__selectedAnswer'); // long answer
91
91
 
92
92
  t.true(answer.at(5).exists());
93
- t.is(answer.at(5).props().className, 'qcm__longestAnswer qcm__answer qcm__answer label__innerHTML qcm__unselectedAnswer');
93
+ t.is(answer.at(5).props().className, 'qcm__longestAnswer qcm__answer qcm__answer qcm__innerHTML label__innerHTML qcm__unselectedAnswer');
94
94
  t.pass();
95
95
  });
96
96
  test('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":["browserEnv","test","React","shallow","mount","configure","Adapter","Qcm","defaultFixture","noAriaLabelFixture","adapter","translate","t","answerWasClicked","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"],"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(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":["browserEnv","test","React","shallow","mount","configure","Adapter","Qcm","defaultFixture","noAriaLabelFixture","adapter","translate","t","answerWasClicked","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"],"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"}
@@ -6,7 +6,6 @@ import React from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import classnames from 'classnames';
8
8
  import Provider from '../../../atom/provider';
9
- import { innerHTML } from '../../../atom/label/style.css';
10
9
  import { getShadowBoxColorFromPrimary } from '../../../util/get-shadow-box-color-from-primary';
11
10
  import style from './style.css';
12
11
  const AnswersPropTypes = process.env.NODE_ENV !== "production" ? PropTypes.arrayOf(PropTypes.shape({
@@ -40,7 +39,7 @@ const Choices = ({
40
39
  selected
41
40
  } = answer;
42
41
  return /*#__PURE__*/React.createElement("div", {
43
- className: classnames(selected ? style.invisibleAnswer : style.unselected, innerHTML),
42
+ className: classnames(selected ? style.invisibleAnswer : style.unselected, style.innerHTML),
44
43
  "data-name": "answer",
45
44
  onClick: onClick,
46
45
  key: key // eslint-disable-next-line react/no-danger
@@ -90,7 +89,7 @@ const SelectedAnswerSections = ({
90
89
  className: style.content
91
90
  }, /*#__PURE__*/React.createElement("span", {
92
91
  "data-name": "answerContent",
93
- className: classnames(style.selectedAnswerText, innerHTML),
92
+ className: classnames(style.selectedAnswerText, style.innerHTML),
94
93
  title: title // eslint-disable-next-line react/no-danger
95
94
  ,
96
95
  dangerouslySetInnerHTML: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":["React","PropTypes","classnames","Provider","innerHTML","getShadowBoxColorFromPrimary","style","AnswersPropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","emptySpan","contextTypes","translate","childContextTypes","propTypes","Choices","answers","answersViews","map","answer","key","invisibleAnswer","unselected","__html","choices","SelectedAnswerSections","backgroundColor","selectedAnswers","selectedAnswersViews","boxShadow","background","content","selectedAnswerText","length","emptyAnswers","QcmDrag","context","skin","primarySkinColor","wrapper"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,QAAP,MAAqB,wBAArB;AACA,SAAQC,SAAR,QAAwB,+BAAxB;AACA,SAAQC,4BAAR,QAA2C,iDAA3C;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,gBAAN,2CAAyBN,SAAS,CAACO,OAAV,CACvBP,SAAS,CAACQ,KAAV,CAAgB;AACdC,EAAAA,OAAO,EAAET,SAAS,CAACU,IADL;AAEdC,EAAAA,KAAK,EAAEX,SAAS,CAACY,MAFH;AAGdC,EAAAA,QAAQ,EAAEb,SAAS,CAACc,IAHN;AAIdC,EAAAA,KAAK,EAAEf,SAAS,CAACgB,MAJH;AAKdC,EAAAA,IAAI,EAAEjB,SAAS,CAACgB;AALF,CAAhB,CADuB,CAAzB;;AAUA,MAAME,SAAS,GAAG,CAAC;AAACD,EAAAA;AAAD,CAAD,kBAAY;AAAM,EAAA,SAAS,EAAEZ,KAAK,CAACc;AAAvB,GAAmCF,IAAnC,CAA9B;;AAEAC,SAAS,CAACE,YAAV,GAAyB;AACvBC,EAAAA,SAAS,EAAEnB,QAAQ,CAACoB,iBAAT,CAA2BD;AADf,CAAzB;AAIAH,SAAS,CAACK,SAAV,2CAAsB;AACpBN,EAAAA,IAAI,EAAEjB,SAAS,CAACgB;AADI,CAAtB;;AAIA,MAAMQ,OAAO,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,KAAe;AAC7B,QAAMC,YAAY,GAAGD,OAAO,CAACE,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;AAChD,UAAM;AAACpB,MAAAA,OAAD;AAAUM,MAAAA,KAAV;AAAiBF,MAAAA;AAAjB,QAA6Be,MAAnC;AACA,wBACE;AACE,MAAA,SAAS,EAAE3B,UAAU,CAACY,QAAQ,GAAGR,KAAK,CAACyB,eAAT,GAA2BzB,KAAK,CAAC0B,UAA1C,EAAsD5B,SAAtD,CADvB;AAEE,mBAAU,QAFZ;AAGE,MAAA,OAAO,EAAEM,OAHX;AAIE,MAAA,GAAG,EAAEoB,GAJP,CAKE;AALF;AAME,MAAA,uBAAuB,EAAE;AAACG,QAAAA,MAAM,EAAEjB;AAAT;AAN3B,MADF;AAUD,GAZoB,CAArB;AAcA,sBAAO;AAAK,IAAA,SAAS,EAAEV,KAAK,CAAC4B;AAAtB,KAAgCP,YAAhC,CAAP;AACD,CAhBD;;AAkBAF,OAAO,CAACD,SAAR,2CAAoB;AAClBE,EAAAA,OAAO,EAAEnB;AADS,CAApB;;AAIA,MAAM4B,sBAAsB,GAAG,CAAC;AAACT,EAAAA,OAAD;AAAUR,EAAAA,IAAV;AAAgBkB,EAAAA;AAAhB,CAAD,KAAsC;AACnE,QAAMC,eAAe,GAAG,MAAK,QAAO,UAAP,CAAL,EAAyB,SAAQ,OAAR,EAAiB,KAAjB,CAAzB,EAAkDX,OAAlD,CAAxB;;AACA,QAAMY,oBAAoB,GAAGD,eAAe,CAACT,GAAhB,CAAoB,CAACC,MAAD,EAASC,GAAT,KAAiB;AAChE,UAAM;AAACpB,MAAAA,OAAD;AAAUM,MAAAA;AAAV,QAAmBa,MAAzB;AACA,wBACE;AACE,uBAAc,MADhB;AAEE,MAAA,OAAO,EAAEnB,OAFX;AAGE,MAAA,GAAG,EAAEoB,GAHP;AAIE,mBAAU,gBAJZ;AAKE,MAAA,SAAS,EAAExB,KAAK,CAACQ,QALnB;AAME,MAAA,KAAK,EAAE;AACLyB,QAAAA,SAAS,EAAG,gBAAelC,4BAA4B,CAAC+B,eAAD,CAAkB;AADpE;AANT,oBAUE;AACE,mBAAU,kBADZ;AAEE,MAAA,KAAK,EAAE;AACLA,QAAAA;AADK,OAFT;AAKE,MAAA,SAAS,EAAE9B,KAAK,CAACkC;AALnB,MAVF,eAiBE;AAAK,MAAA,SAAS,EAAElC,KAAK,CAACmC;AAAtB,oBACE;AACE,mBAAU,eADZ;AAEE,MAAA,SAAS,EAAEvC,UAAU,CAACI,KAAK,CAACoC,kBAAP,EAA2BtC,SAA3B,CAFvB;AAGE,MAAA,KAAK,EAAEY,KAHT,CAIE;AAJF;AAKE,MAAA,uBAAuB,EAAE;AAACiB,QAAAA,MAAM,EAAEjB;AAAT;AAL3B,MADF,CAjBF,CADF;AA6BD,GA/B4B,CAA7B;;AAiCA,MAAIsB,oBAAoB,CAACK,MAArB,GAA8B,CAAlC,EAAqC;AACnC,wBAAO;AAAK,MAAA,SAAS,EAAErC,KAAK,CAAC+B;AAAtB,OAAwCC,oBAAxC,CAAP;AACD,GAFD,MAEO;AACL,wBACE;AAAK,MAAA,SAAS,EAAEhC,KAAK,CAACsC;AAAtB,oBACE,oBAAC,SAAD;AAAW,MAAA,IAAI,EAAE1B;AAAjB,MADF,CADF;AAKD;AACF,CA5CD;;AA8CAiB,sBAAsB,CAACX,SAAvB,2CAAmC;AACjCE,EAAAA,OAAO,EAAEnB,gBADwB;AAEjCW,EAAAA,IAAI,EAAEC,SAAS,CAACK,SAAV,CAAoBN,IAFO;AAGjCkB,EAAAA,eAAe,EAAEnC,SAAS,CAACgB;AAHM,CAAnC;;AAMA,MAAM4B,OAAO,GAAG,CAAC;AAACnB,EAAAA,OAAD;AAAUR,EAAAA;AAAV,CAAD,EAAkB4B,OAAlB,KAA8B;AAC5C,QAAM;AAACC,IAAAA;AAAD,MAASD,OAAf;;AACA,QAAME,gBAAgB,GAAG,OAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAAzB;;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEzC,KAAK,CAAC2C;AAAtB,kBACE,oBAAC,sBAAD;AAAwB,IAAA,OAAO,EAAEvB,OAAjC;AAA0C,IAAA,IAAI,EAAER,IAAhD;AAAsD,IAAA,eAAe,EAAE8B;AAAvE,IADF,eAEE;AAAK,iBAAU,kBAAf;AAAkC,IAAA,SAAS,EAAE1C,KAAK,CAACoB;AAAnD,kBACE,oBAAC,OAAD;AAAS,IAAA,OAAO,EAAEA;AAAlB,IADF,CAFF,CADF;AAQD,CAZD;;AAcAmB,OAAO,CAACrB,SAAR,2CAAoB;AAClBE,EAAAA,OAAO,EAAEnB,gBADS;AAElBW,EAAAA,IAAI,EAAEiB,sBAAsB,CAACX,SAAvB,CAAiCN;AAFrB,CAApB;AAKA2B,OAAO,CAACxB,YAAR,GAAuB;AACrB0B,EAAAA,IAAI,EAAE5C,QAAQ,CAACoB,iBAAT,CAA2BwB;AADZ,CAAvB;AAIA,eAAeF,OAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {pipe, filter, orderBy, getOr} from 'lodash/fp';\nimport classnames from 'classnames';\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 AnswersPropTypes = PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n order: PropTypes.number,\n selected: PropTypes.bool,\n title: PropTypes.string,\n help: PropTypes.string\n })\n);\n\nconst EmptyView = ({help}) => <span className={style.emptySpan}>{help}</span>;\n\nEmptyView.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nEmptyView.propTypes = {\n help: PropTypes.string\n};\n\nconst Choices = ({answers}) => {\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected} = answer;\n return (\n <div\n className={classnames(selected ? style.invisibleAnswer : style.unselected, innerHTML)}\n data-name=\"answer\"\n onClick={onClick}\n key={key}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n });\n\n return <div className={style.choices}>{answersViews}</div>;\n};\n\nChoices.propTypes = {\n answers: AnswersPropTypes\n};\n\nconst SelectedAnswerSections = ({answers, help, backgroundColor}) => {\n const selectedAnswers = pipe(filter('selected'), orderBy('order', 'asc'))(answers);\n const selectedAnswersViews = selectedAnswers.map((answer, key) => {\n const {onClick, title} = answer;\n return (\n <div\n data-selected=\"true\"\n onClick={onClick}\n key={key}\n data-name=\"selectedAnswer\"\n className={style.selected}\n style={{\n boxShadow: `0px 4px 16px ${getShadowBoxColorFromPrimary(backgroundColor)}`\n }}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor\n }}\n className={style.background}\n />\n <div className={style.content}>\n <span\n data-name=\"answerContent\"\n className={classnames(style.selectedAnswerText, innerHTML)}\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n );\n });\n\n if (selectedAnswersViews.length > 0) {\n return <div className={style.selectedAnswers}>{selectedAnswersViews}</div>;\n } else {\n return (\n <div className={style.emptyAnswers}>\n <EmptyView help={help} />\n </div>\n );\n }\n};\n\nSelectedAnswerSections.propTypes = {\n answers: AnswersPropTypes,\n help: EmptyView.propTypes.help,\n backgroundColor: PropTypes.string\n};\n\nconst QcmDrag = ({answers, help}, context) => {\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n return (\n <div className={style.wrapper}>\n <SelectedAnswerSections answers={answers} help={help} backgroundColor={primarySkinColor} />\n <div data-name=\"qcm-drag-answers\" className={style.answers}>\n <Choices answers={answers} />\n </div>\n </div>\n );\n};\n\nQcmDrag.propTypes = {\n answers: AnswersPropTypes,\n help: SelectedAnswerSections.propTypes.help\n};\n\nQcmDrag.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default QcmDrag;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":["React","PropTypes","classnames","Provider","getShadowBoxColorFromPrimary","style","AnswersPropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","emptySpan","contextTypes","translate","childContextTypes","propTypes","Choices","answers","answersViews","map","answer","key","invisibleAnswer","unselected","innerHTML","__html","choices","SelectedAnswerSections","backgroundColor","selectedAnswers","selectedAnswersViews","boxShadow","background","content","selectedAnswerText","length","emptyAnswers","QcmDrag","context","skin","primarySkinColor","wrapper"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {pipe, filter, orderBy, getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst AnswersPropTypes = PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n order: PropTypes.number,\n selected: PropTypes.bool,\n title: PropTypes.string,\n help: PropTypes.string\n })\n);\n\nconst EmptyView = ({help}) => <span className={style.emptySpan}>{help}</span>;\n\nEmptyView.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nEmptyView.propTypes = {\n help: PropTypes.string\n};\n\nconst Choices = ({answers}) => {\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected} = answer;\n return (\n <div\n className={classnames(selected ? style.invisibleAnswer : style.unselected, style.innerHTML)}\n data-name=\"answer\"\n onClick={onClick}\n key={key}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n });\n\n return <div className={style.choices}>{answersViews}</div>;\n};\n\nChoices.propTypes = {\n answers: AnswersPropTypes\n};\n\nconst SelectedAnswerSections = ({answers, help, backgroundColor}) => {\n const selectedAnswers = pipe(filter('selected'), orderBy('order', 'asc'))(answers);\n const selectedAnswersViews = selectedAnswers.map((answer, key) => {\n const {onClick, title} = answer;\n return (\n <div\n data-selected=\"true\"\n onClick={onClick}\n key={key}\n data-name=\"selectedAnswer\"\n className={style.selected}\n style={{\n boxShadow: `0px 4px 16px ${getShadowBoxColorFromPrimary(backgroundColor)}`\n }}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor\n }}\n className={style.background}\n />\n <div className={style.content}>\n <span\n data-name=\"answerContent\"\n className={classnames(style.selectedAnswerText, style.innerHTML)}\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n );\n });\n\n if (selectedAnswersViews.length > 0) {\n return <div className={style.selectedAnswers}>{selectedAnswersViews}</div>;\n } else {\n return (\n <div className={style.emptyAnswers}>\n <EmptyView help={help} />\n </div>\n );\n }\n};\n\nSelectedAnswerSections.propTypes = {\n answers: AnswersPropTypes,\n help: EmptyView.propTypes.help,\n backgroundColor: PropTypes.string\n};\n\nconst QcmDrag = ({answers, help}, context) => {\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n return (\n <div className={style.wrapper}>\n <SelectedAnswerSections answers={answers} help={help} backgroundColor={primarySkinColor} />\n <div data-name=\"qcm-drag-answers\" className={style.answers}>\n <Choices answers={answers} />\n </div>\n </div>\n );\n};\n\nQcmDrag.propTypes = {\n answers: AnswersPropTypes,\n help: SelectedAnswerSections.propTypes.help\n};\n\nQcmDrag.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default QcmDrag;\n"],"file":"index.js"}
@@ -137,3 +137,7 @@
137
137
  min-height: auto;
138
138
  }
139
139
  }
140
+
141
+ .innerHTML {
142
+ composes: innerHTML from '../../../atom/label/style.css'
143
+ }
@@ -6,7 +6,6 @@ import React from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import classnames from 'classnames';
8
8
  import Provider from '../../../atom/provider';
9
- import { innerHTML } from '../../../atom/label/style.css';
10
9
  import { getShadowBoxColorFromPrimary } from '../../../util/get-shadow-box-color-from-primary';
11
10
  import style from './style.css';
12
11
 
@@ -58,7 +57,7 @@ const QCMImage = (props, context) => {
58
57
  className: style.titleWrapper
59
58
  }, /*#__PURE__*/React.createElement("div", {
60
59
  title: title,
61
- className: classnames(style.title, innerHTML) // eslint-disable-next-line react/no-danger
60
+ className: classnames(style.title, style.innerHTML) // eslint-disable-next-line react/no-danger
62
61
  ,
63
62
  dangerouslySetInnerHTML: {
64
63
  __html: title
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"names":["React","PropTypes","classnames","Provider","innerHTML","getShadowBoxColorFromPrimary","style","QCMImage","props","context","answers","skin","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","boxShadow","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","__html","wrapper","contextTypes","childContextTypes","propTypes","arrayOf","shape","string","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\nimport classnames from 'classnames';\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 QCMImage = (props, context) => {\n const {answers} = props;\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected, image, ariaLabel} = answer;\n\n return (\n <div\n onClick={onClick}\n data-selected={selected}\n data-name=\"answerGraphic\"\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n className={selected ? style.selected : style.answer}\n key={key}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor: selected ? primarySkinColor : '#F4F4F5'\n }}\n className={style.background}\n />\n <div data-name=\"answerContent\" className={style.content}>\n <div\n className={style.imageWrapper}\n data-name=\"answerImage\"\n aria-label={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div\n title={title}\n className={classnames(style.title, innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <div data-name=\"qcm-graphic-wrapper\" className={style.wrapper}>\n {answersViews}\n </div>\n );\n};\n\nQCMImage.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCMImage.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n image: PropTypes.string,\n ariaLabel: PropTypes.string\n })\n )\n};\n\nexport default QCMImage;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"names":["React","PropTypes","classnames","Provider","getShadowBoxColorFromPrimary","style","QCMImage","props","context","answers","skin","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","boxShadow","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","innerHTML","__html","wrapper","contextTypes","childContextTypes","propTypes","arrayOf","shape","string","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCMImage = (props, context) => {\n const {answers} = props;\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected, image, ariaLabel} = answer;\n\n return (\n <div\n onClick={onClick}\n data-selected={selected}\n data-name=\"answerGraphic\"\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n className={selected ? style.selected : style.answer}\n key={key}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor: selected ? primarySkinColor : '#F4F4F5'\n }}\n className={style.background}\n />\n <div data-name=\"answerContent\" className={style.content}>\n <div\n className={style.imageWrapper}\n data-name=\"answerImage\"\n aria-label={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div\n title={title}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <div data-name=\"qcm-graphic-wrapper\" className={style.wrapper}>\n {answersViews}\n </div>\n );\n};\n\nQCMImage.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCMImage.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n image: PropTypes.string,\n ariaLabel: PropTypes.string\n })\n )\n};\n\nexport default QCMImage;\n"],"file":"index.js"}
@@ -133,7 +133,7 @@
133
133
  display: flex;
134
134
  align-items: center;
135
135
  }
136
-
136
+
137
137
  .answer:last-child {
138
138
  margin-bottom: 0;
139
139
  }
@@ -161,3 +161,7 @@
161
161
  text-align: left;
162
162
  }
163
163
  }
164
+
165
+ .innerHTML {
166
+ composes: innerHTML from '../../../atom/label/style.css'
167
+ }