@coorpacademy/components 10.5.7-alpha.6.5 → 10.6.0

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 (141) hide show
  1. package/es/atom/select/index.js +41 -22
  2. package/es/atom/select/index.js.map +1 -1
  3. package/es/atom/select/style.css +190 -42
  4. package/es/atom/select/test/fixtures/player.js +11 -0
  5. package/es/atom/select/test/fixtures/player.js.map +1 -0
  6. package/es/atom/select/test/fixtures.js +2 -0
  7. package/es/atom/select/test/fixtures.js.map +1 -1
  8. package/es/atom/select/test/select.js +49 -0
  9. package/es/atom/select/test/select.js.map +1 -0
  10. package/es/molecule/card/customer.js +6 -3
  11. package/es/molecule/card/customer.js.map +1 -1
  12. package/es/molecule/card/favorite.js +13 -4
  13. package/es/molecule/card/favorite.js.map +1 -1
  14. package/es/molecule/card/index.js +41 -12
  15. package/es/molecule/card/index.js.map +1 -1
  16. package/es/molecule/card/selectable.js +11 -4
  17. package/es/molecule/card/selectable.js.map +1 -1
  18. package/es/molecule/card/test/fixtures/default.js +20 -1
  19. package/es/molecule/card/test/fixtures/default.js.map +1 -1
  20. package/es/molecule/card-content/index.js +20 -7
  21. package/es/molecule/card-content/index.js.map +1 -1
  22. package/es/molecule/card-content/test/fixtures/card-no-progress-bar.js +6 -1
  23. package/es/molecule/card-content/test/fixtures/card-no-progress-bar.js.map +1 -1
  24. package/es/molecule/course-sections/test/fixtures.js +15 -0
  25. package/es/molecule/course-sections/test/fixtures.js.map +1 -0
  26. package/es/molecule/draggable-list/test/fixtures.js +15 -0
  27. package/es/molecule/draggable-list/test/fixtures.js.map +1 -0
  28. package/es/molecule/questions/drop-down/index.js +1 -6
  29. package/es/molecule/questions/drop-down/index.js.map +1 -1
  30. package/es/molecule/questions/free-text/index.js +35 -15
  31. package/es/molecule/questions/free-text/index.js.map +1 -1
  32. package/es/molecule/questions/free-text/style.css +39 -15
  33. package/es/molecule/questions/free-text/test/fixtures/default.js +1 -1
  34. package/es/molecule/questions/free-text/test/fixtures/default.js.map +1 -1
  35. package/es/molecule/questions/free-text/test/fixtures/with-value-on-change.js +9 -0
  36. package/es/molecule/questions/free-text/test/fixtures/with-value-on-change.js.map +1 -0
  37. package/es/molecule/questions/free-text/test/fixtures/{with-default-value.js → with-value.js} +2 -2
  38. package/es/molecule/questions/free-text/test/fixtures/with-value.js.map +1 -0
  39. package/es/molecule/questions/free-text/test/fixtures.js +4 -2
  40. package/es/molecule/questions/free-text/test/fixtures.js.map +1 -1
  41. package/es/molecule/questions/free-text/test/free-text.js +106 -0
  42. package/es/molecule/questions/free-text/test/free-text.js.map +1 -0
  43. package/es/molecule/questions/qcm/style.css +4 -0
  44. package/es/molecule/questions/qcm-drag/index.js +53 -21
  45. package/es/molecule/questions/qcm-drag/index.js.map +1 -1
  46. package/es/molecule/questions/qcm-drag/style.css +72 -22
  47. package/es/molecule/questions/qcm-graphic/index.js +1 -0
  48. package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
  49. package/es/molecule/questions/qcm-graphic/style.css +12 -2
  50. package/es/molecule/questions/qcm-graphic/test/fixtures/default.js +1 -1
  51. package/es/molecule/questions/qcm-graphic/test/fixtures/default.js.map +1 -1
  52. package/es/molecule/questions/qcm-graphic/test/fixtures/no-selected.js +1 -1
  53. package/es/molecule/questions/qcm-graphic/test/fixtures/no-selected.js.map +1 -1
  54. package/es/molecule/questions/qcm-graphic/test/qcm-graphic.js +1 -1
  55. package/es/molecule/questions/qcm-graphic/test/qcm-graphic.js.map +1 -1
  56. package/es/molecule/questions/template/index.js +15 -11
  57. package/es/molecule/questions/template/index.js.map +1 -1
  58. package/es/molecule/questions/template/style.css +6 -0
  59. package/es/molecule/wizard-summary/test/fixtures.js +2 -0
  60. package/es/molecule/wizard-summary/test/fixtures.js.map +1 -1
  61. package/es/organism/wizard-contents/test/fixtures.js +2 -0
  62. package/es/organism/wizard-contents/test/fixtures.js.map +1 -1
  63. package/es/template/back-office/brand-update/test/fixtures.js +2 -0
  64. package/es/template/back-office/brand-update/test/fixtures.js.map +1 -1
  65. package/es/variables/colors.css +2 -0
  66. package/lib/atom/select/index.js +43 -19
  67. package/lib/atom/select/index.js.map +1 -1
  68. package/lib/atom/select/style.css +190 -42
  69. package/lib/atom/select/test/fixtures/player.js +21 -0
  70. package/lib/atom/select/test/fixtures/player.js.map +1 -0
  71. package/lib/atom/select/test/fixtures.js +3 -0
  72. package/lib/atom/select/test/fixtures.js.map +1 -1
  73. package/lib/atom/select/test/select.js +62 -0
  74. package/lib/atom/select/test/select.js.map +1 -0
  75. package/lib/molecule/card/customer.js +6 -3
  76. package/lib/molecule/card/customer.js.map +1 -1
  77. package/lib/molecule/card/favorite.js +13 -4
  78. package/lib/molecule/card/favorite.js.map +1 -1
  79. package/lib/molecule/card/index.js +41 -12
  80. package/lib/molecule/card/index.js.map +1 -1
  81. package/lib/molecule/card/selectable.js +11 -4
  82. package/lib/molecule/card/selectable.js.map +1 -1
  83. package/lib/molecule/card/test/fixtures/default.js +20 -1
  84. package/lib/molecule/card/test/fixtures/default.js.map +1 -1
  85. package/lib/molecule/card-content/index.js +21 -7
  86. package/lib/molecule/card-content/index.js.map +1 -1
  87. package/lib/molecule/card-content/test/fixtures/card-no-progress-bar.js +6 -1
  88. package/lib/molecule/card-content/test/fixtures/card-no-progress-bar.js.map +1 -1
  89. package/lib/molecule/course-sections/test/fixtures.js +25 -0
  90. package/lib/molecule/course-sections/test/fixtures.js.map +1 -0
  91. package/lib/molecule/draggable-list/test/fixtures.js +25 -0
  92. package/lib/molecule/draggable-list/test/fixtures.js.map +1 -0
  93. package/lib/molecule/questions/drop-down/index.js +1 -5
  94. package/lib/molecule/questions/drop-down/index.js.map +1 -1
  95. package/lib/molecule/questions/free-text/index.js +32 -14
  96. package/lib/molecule/questions/free-text/index.js.map +1 -1
  97. package/lib/molecule/questions/free-text/style.css +39 -15
  98. package/lib/molecule/questions/free-text/test/fixtures/default.js +1 -1
  99. package/lib/molecule/questions/free-text/test/fixtures/default.js.map +1 -1
  100. package/lib/molecule/questions/free-text/test/fixtures/with-value-on-change.js +14 -0
  101. package/lib/molecule/questions/free-text/test/fixtures/with-value-on-change.js.map +1 -0
  102. package/lib/molecule/questions/free-text/test/fixtures/{with-default-value.js → with-value.js} +2 -2
  103. package/lib/molecule/questions/free-text/test/fixtures/with-value.js.map +1 -0
  104. package/lib/molecule/questions/free-text/test/fixtures.js +5 -2
  105. package/lib/molecule/questions/free-text/test/fixtures.js.map +1 -1
  106. package/lib/molecule/questions/free-text/test/free-text.js +119 -0
  107. package/lib/molecule/questions/free-text/test/free-text.js.map +1 -0
  108. package/lib/molecule/questions/qcm/style.css +4 -0
  109. package/lib/molecule/questions/qcm-drag/index.js +53 -21
  110. package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
  111. package/lib/molecule/questions/qcm-drag/style.css +72 -22
  112. package/lib/molecule/questions/qcm-graphic/index.js +1 -0
  113. package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
  114. package/lib/molecule/questions/qcm-graphic/style.css +12 -2
  115. package/lib/molecule/questions/qcm-graphic/test/fixtures/default.js +1 -1
  116. package/lib/molecule/questions/qcm-graphic/test/fixtures/default.js.map +1 -1
  117. package/lib/molecule/questions/qcm-graphic/test/fixtures/no-selected.js +1 -1
  118. package/lib/molecule/questions/qcm-graphic/test/fixtures/no-selected.js.map +1 -1
  119. package/lib/molecule/questions/qcm-graphic/test/qcm-graphic.js +1 -1
  120. package/lib/molecule/questions/qcm-graphic/test/qcm-graphic.js.map +1 -1
  121. package/lib/molecule/questions/template/index.js +15 -11
  122. package/lib/molecule/questions/template/index.js.map +1 -1
  123. package/lib/molecule/questions/template/style.css +6 -0
  124. package/lib/molecule/wizard-summary/test/fixtures.js +3 -0
  125. package/lib/molecule/wizard-summary/test/fixtures.js.map +1 -1
  126. package/lib/organism/wizard-contents/test/fixtures.js +3 -0
  127. package/lib/organism/wizard-contents/test/fixtures.js.map +1 -1
  128. package/lib/template/back-office/brand-update/test/fixtures.js +3 -0
  129. package/lib/template/back-office/brand-update/test/fixtures.js.map +1 -1
  130. package/lib/variables/colors.css +2 -0
  131. package/package.json +2 -2
  132. package/es/molecule/cockpit-popin/test/fixtures.js +0 -17
  133. package/es/molecule/cockpit-popin/test/fixtures.js.map +0 -1
  134. package/es/molecule/questions/free-text/test/fixtures/with-default-value.js.map +0 -1
  135. package/es/molecule/search/test/fixtures.js +0 -15
  136. package/es/molecule/search/test/fixtures.js.map +0 -1
  137. package/lib/molecule/cockpit-popin/test/fixtures.js +0 -28
  138. package/lib/molecule/cockpit-popin/test/fixtures.js.map +0 -1
  139. package/lib/molecule/questions/free-text/test/fixtures/with-default-value.js.map +0 -1
  140. package/lib/molecule/search/test/fixtures.js +0 -25
  141. package/lib/molecule/search/test/fixtures.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import _getOr from "lodash/fp/getOr";
1
2
  import _orderBy from "lodash/fp/orderBy";
2
3
  import _filter from "lodash/fp/filter";
3
4
  import _pipe from "lodash/fp/pipe";
@@ -6,6 +7,7 @@ import PropTypes from 'prop-types';
6
7
  import classnames from 'classnames';
7
8
  import Provider from '../../../atom/provider';
8
9
  import { innerHTML } from '../../../atom/label/style.css';
10
+ import { getShadowBoxColorFromPrimary } from '../../../util/get-shadow-box-color-from-primary';
9
11
  import style from './style.css';
10
12
  const AnswersPropTypes = process.env.NODE_ENV !== "production" ? PropTypes.arrayOf(PropTypes.shape({
11
13
  onClick: PropTypes.func,
@@ -38,7 +40,7 @@ const Choices = ({
38
40
  selected
39
41
  } = answer;
40
42
  return /*#__PURE__*/React.createElement("div", {
41
- className: classnames(selected ? style.invisibleAnswer : style.answer, innerHTML),
43
+ className: classnames(selected ? style.invisibleAnswer : style.unselected, innerHTML),
42
44
  "data-name": "answer",
43
45
  onClick: onClick,
44
46
  key: key // eslint-disable-next-line react/no-danger
@@ -49,7 +51,7 @@ const Choices = ({
49
51
  });
50
52
  });
51
53
  return /*#__PURE__*/React.createElement("div", {
52
- className: style.qcmDrag
54
+ className: style.choices
53
55
  }, answersViews);
54
56
  };
55
57
 
@@ -57,9 +59,10 @@ Choices.propTypes = process.env.NODE_ENV !== "production" ? {
57
59
  answers: AnswersPropTypes
58
60
  } : {};
59
61
 
60
- const SelectionBox = ({
62
+ const SelectedAnswerSections = ({
61
63
  answers,
62
- help
64
+ help,
65
+ backgroundColor
63
66
  }) => {
64
67
  const selectedAnswers = _pipe(_filter('selected'), _orderBy('order', 'asc'))(answers);
65
68
 
@@ -69,15 +72,31 @@ const SelectionBox = ({
69
72
  title
70
73
  } = answer;
71
74
  return /*#__PURE__*/React.createElement("div", {
72
- className: classnames(style.selectedAnswer, innerHTML),
73
75
  "data-selected": "true",
74
76
  onClick: onClick,
75
- key: key // eslint-disable-next-line react/no-danger
77
+ key: key,
78
+ "data-name": "selectedAnswer",
79
+ className: style.selected,
80
+ style: {
81
+ boxShadow: `0px 4px 16px ${getShadowBoxColorFromPrimary(backgroundColor)}`
82
+ }
83
+ }, /*#__PURE__*/React.createElement("div", {
84
+ "data-name": "answerBackground",
85
+ style: {
86
+ backgroundColor
87
+ },
88
+ className: style.background
89
+ }), /*#__PURE__*/React.createElement("div", {
90
+ className: style.content
91
+ }, /*#__PURE__*/React.createElement("span", {
92
+ "data-name": "answerContent",
93
+ className: classnames(style.selectedAnswerText, innerHTML),
94
+ title: title // eslint-disable-next-line react/no-danger
76
95
  ,
77
96
  dangerouslySetInnerHTML: {
78
97
  __html: title
79
98
  }
80
- });
99
+ })));
81
100
  });
82
101
 
83
102
  if (selectedAnswersViews.length > 0) {
@@ -93,29 +112,42 @@ const SelectionBox = ({
93
112
  }
94
113
  };
95
114
 
96
- SelectionBox.propTypes = process.env.NODE_ENV !== "production" ? {
115
+ SelectedAnswerSections.propTypes = process.env.NODE_ENV !== "production" ? {
97
116
  answers: AnswersPropTypes,
98
- help: EmptyView.propTypes.help
117
+ help: EmptyView.propTypes.help,
118
+ backgroundColor: PropTypes.string
99
119
  } : {};
100
120
 
101
121
  const QcmDrag = ({
102
122
  answers,
103
123
  help
104
- }, context) => /*#__PURE__*/React.createElement("div", {
105
- className: style.qcmDrag
106
- }, /*#__PURE__*/React.createElement(SelectionBox, {
107
- answers: answers,
108
- help: help
109
- }), /*#__PURE__*/React.createElement("div", {
110
- "data-name": "qcm-drag-answers",
111
- className: style.answers
112
- }, /*#__PURE__*/React.createElement(Choices, {
113
- answers: answers
114
- })));
124
+ }, context) => {
125
+ const {
126
+ skin
127
+ } = context;
128
+
129
+ const primarySkinColor = _getOr('#00B0FF', 'common.primary', skin);
130
+
131
+ return /*#__PURE__*/React.createElement("div", {
132
+ className: style.wrapper
133
+ }, /*#__PURE__*/React.createElement(SelectedAnswerSections, {
134
+ answers: answers,
135
+ help: help,
136
+ backgroundColor: primarySkinColor
137
+ }), /*#__PURE__*/React.createElement("div", {
138
+ "data-name": "qcm-drag-answers",
139
+ className: style.answers
140
+ }, /*#__PURE__*/React.createElement(Choices, {
141
+ answers: answers
142
+ })));
143
+ };
115
144
 
116
145
  QcmDrag.propTypes = process.env.NODE_ENV !== "production" ? {
117
146
  answers: AnswersPropTypes,
118
- help: SelectionBox.propTypes.help
147
+ help: SelectedAnswerSections.propTypes.help
119
148
  } : {};
149
+ QcmDrag.contextTypes = {
150
+ skin: Provider.childContextTypes.skin
151
+ };
120
152
  export default QcmDrag;
121
153
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":["React","PropTypes","classnames","Provider","innerHTML","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","__html","qcmDrag","SelectionBox","selectedAnswers","selectedAnswersViews","selectedAnswer","length","emptyAnswers","QcmDrag","context"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {pipe, filter, orderBy} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider from '../../../atom/provider';\nimport {innerHTML} from '../../../atom/label/style.css';\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.answer, 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.qcmDrag}>{answersViews}</div>;\n};\n\nChoices.propTypes = {\n answers: AnswersPropTypes\n};\n\nconst SelectionBox = ({answers, help}) => {\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 className={classnames(style.selectedAnswer, innerHTML)}\n data-selected=\"true\"\n onClick={onClick}\n key={key}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\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\nSelectionBox.propTypes = {\n answers: AnswersPropTypes,\n help: EmptyView.propTypes.help\n};\n\nconst QcmDrag = ({answers, help}, context) => (\n <div className={style.qcmDrag}>\n <SelectionBox answers={answers} help={help} />\n <div data-name=\"qcm-drag-answers\" className={style.answers}>\n <Choices answers={answers} />\n </div>\n </div>\n);\n\nQcmDrag.propTypes = {\n answers: AnswersPropTypes,\n help: SelectionBox.propTypes.help\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","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":"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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 {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"}
@@ -7,6 +7,16 @@
7
7
  @value black from colors;
8
8
  @value medium from colors;
9
9
  @value dark from colors;
10
+ @value cm_grey_75 from colors;
11
+ @value cm_grey_150 from colors;
12
+ @value cm_blue_900 from colors;
13
+
14
+ .wrapper {
15
+ width: 100%;
16
+ display: flex;
17
+ flex-wrap: wrap;
18
+ flex-basis: auto;
19
+ }
10
20
 
11
21
  .answers {
12
22
  width: 100%;
@@ -19,17 +29,17 @@
19
29
  padding: 0 24px 0 0;
20
30
  }
21
31
 
22
- .qcmDrag {
32
+ .choices {
23
33
  width: 100%;
24
34
  display: flex;
35
+ justify-content: center;
25
36
  flex-wrap: wrap;
26
37
  flex-basis: auto;
27
38
  }
28
39
 
29
40
  .selectedAnswers {
30
41
  composes: answers;
31
- border: 2px dashed color(dark lightness(85%));
32
- background-color: xtraLightGrey;
42
+ border-bottom: 2px solid cm_grey_150;
33
43
  padding: 16px 8px 8px 16px;
34
44
  margin: 0 0 24px;
35
45
  }
@@ -49,32 +59,76 @@
49
59
  color: medium;
50
60
  }
51
61
 
52
- .answer {
62
+ .choice {
53
63
  font-family: 'Gilroy';
54
- font-size: 13px;
55
- font-weight: 600;
56
- color: black;
57
- line-height: 22px;
58
- background-color: white;
59
- border: 1px solid color(dark lightness(85%));
64
+ font-size: 14px;
65
+ font-weight: 700;
66
+ line-height: 20px;
60
67
  box-sizing: border-box;
61
- margin-right: 8px;
62
- margin-bottom: 8px;
63
- border-radius: 3px;
68
+ border-radius: 8px;
64
69
  padding: 13px 16px;
65
70
  cursor: pointer;
71
+ margin-bottom: 8px;
72
+ margin-right: 8px;
73
+ overflow: hidden;
74
+ hyphens: auto;
75
+ -ms-word-break: break-all;
76
+ word-break: break-all;
77
+ word-break: break-word;
78
+ }
79
+
80
+ .unselected {
81
+ composes: choice;
82
+ color: cm_blue_900;
83
+ line-height: 20px;
84
+ background-color: white;
85
+ box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.12);
66
86
  }
67
87
 
68
- .answer:hover {
69
- background-color: light;
88
+ .selected {
89
+ composes: choice;
90
+ position: relative;
91
+ border-radius: 8px;
70
92
  }
71
93
 
72
- .selectedAnswer {
73
- composes: answer;
94
+ .background {
95
+ top: 0;
96
+ left: 0;
97
+ position: absolute;
98
+ border-radius: 8px;
99
+ height: 100%;
100
+ width: 100%;
101
+ }
102
+
103
+ .selected .background{
104
+ opacity: 1;
105
+ }
106
+
107
+ .selected:hover {
108
+ background: black;
109
+ }
110
+
111
+ .selected:hover .background{
112
+ opacity: 0.8;
113
+ }
114
+
115
+ .content {
116
+ height: 100%;
117
+ width: 100%;
118
+ border-radius: 8px;
119
+ position: relative;
120
+ }
121
+
122
+ .unselected:hover {
123
+ background-color: cm_grey_75;
124
+ }
125
+
126
+ .selectedAnswerText {
127
+ color: white;
74
128
  }
75
129
 
76
130
  .invisibleAnswer {
77
- composes: answer;
131
+ composes: choice;
78
132
  display: none;
79
133
  }
80
134
 
@@ -82,8 +136,4 @@
82
136
  .selectedAnswers {
83
137
  min-height: auto;
84
138
  }
85
-
86
- .answer:hover {
87
- background-color: white;
88
- }
89
139
  }
@@ -57,6 +57,7 @@ const QCMImage = (props, context) => {
57
57
  "data-name": "answerText",
58
58
  className: style.titleWrapper
59
59
  }, /*#__PURE__*/React.createElement("div", {
60
+ title: title,
60
61
  className: classnames(style.title, innerHTML) // eslint-disable-next-line react/no-danger
61
62
  ,
62
63
  dangerouslySetInnerHTML: {
@@ -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 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","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"}
@@ -27,7 +27,6 @@
27
27
  margin: 0 4px 8px;
28
28
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.12);
29
29
  border-radius: 16px;
30
- transition: background-color 0.25s linear;
31
30
  }
32
31
 
33
32
  .background {
@@ -37,7 +36,6 @@
37
36
  border-radius: 16px;
38
37
  height: 100%;
39
38
  width: 100%;
40
- transition: opacity 0.25s linear, background-color 0.25s linear;
41
39
  }
42
40
 
43
41
  .content {
@@ -64,6 +62,11 @@
64
62
  width: 100%;
65
63
  align-items: center;
66
64
  justify-content: center;
65
+ overflow: hidden;
66
+ hyphens: auto;
67
+ -ms-word-break: break-all;
68
+ word-break: break-all;
69
+ word-break: break-word;
67
70
  }
68
71
 
69
72
  .title {
@@ -144,10 +147,17 @@
144
147
  }
145
148
 
146
149
  .titleWrapper {
150
+ height: 100%;
151
+ width: 100%;
152
+ display: flex;
147
153
  white-space: wrap;
148
154
  overflow: hidden;
149
155
  padding: 0;
150
156
  justify-content: left;
151
157
  font-size: 15px;
152
158
  }
159
+
160
+ .title {
161
+ text-align: left;
162
+ }
153
163
  }
@@ -6,7 +6,7 @@ export default {
6
6
  selected: false,
7
7
  image: 'https://images.unsplash.com/photo-1467890947394-8171244e5410?dpr=2&auto=format&fit=crop&w=1080&h=720&q=80&cs=tinysrgb&crop=&bg='
8
8
  }, {
9
- title: 'Lorem ipsum',
9
+ title: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sut labore et dolore magna aliqua.',
10
10
  onClick: () => {},
11
11
  selected: false,
12
12
  image: 'https://images.unsplash.com/photo-1494477920939-88c59ba76428?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/molecule/questions/qcm-graphic/test/fixtures/default.js"],"names":["props","answers","title","onClick","selected","image"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,CACP;AACEC,MAAAA,KAAK,EAAE,iCADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KADO,EAQP;AACEH,MAAAA,KAAK,EAAE,aADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KARO,EAeP;AACEH,MAAAA,KAAK,EAAE,OADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,IAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KAfO,EAsBP;AACEH,MAAAA,KAAK,EAAE,6BADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KAtBO,EA6BP;AACEH,MAAAA,KAAK,EAAE,iCADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KA7BO,EAoCP;AACEH,MAAAA,KAAK,EAAE,aADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KApCO,EA2CP;AACEH,MAAAA,KAAK,EAAE,OADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,IAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KA3CO,EAkDP;AACEH,MAAAA,KAAK,EAAE,6BADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KAlDO;AADJ;AADM,CAAf","sourcesContent":["export default {\n props: {\n answers: [\n {\n title: 'There is no need for a password',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1467890947394-8171244e5410?dpr=2&auto=format&fit=crop&w=1080&h=720&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'Lorem ipsum',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1494477920939-88c59ba76428?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'Lorem',\n onClick: () => {},\n selected: true,\n image:\n 'https://images.unsplash.com/photo-1494416952682-200c9e760aac?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'You need to have a password',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1493442043090-087540b34c1a?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'There is no need for a password',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1467890947394-8171244e5410?dpr=2&auto=format&fit=crop&w=1080&h=720&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'Lorem ipsum',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1494477920939-88c59ba76428?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'Lorem',\n onClick: () => {},\n selected: true,\n image:\n 'https://images.unsplash.com/photo-1494416952682-200c9e760aac?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'You need to have a password',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1493442043090-087540b34c1a?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n }\n ]\n }\n};\n"],"file":"default.js"}
1
+ {"version":3,"sources":["../../../../../../src/molecule/questions/qcm-graphic/test/fixtures/default.js"],"names":["props","answers","title","onClick","selected","image"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,CACP;AACEC,MAAAA,KAAK,EAAE,iCADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KADO,EAQP;AACEH,MAAAA,KAAK,EACH,6FAFJ;AAGEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAHnB;AAIEC,MAAAA,QAAQ,EAAE,KAJZ;AAKEC,MAAAA,KAAK,EACH;AANJ,KARO,EAgBP;AACEH,MAAAA,KAAK,EAAE,OADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,IAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KAhBO,EAuBP;AACEH,MAAAA,KAAK,EAAE,6BADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KAvBO,EA8BP;AACEH,MAAAA,KAAK,EAAE,iCADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KA9BO,EAqCP;AACEH,MAAAA,KAAK,EAAE,aADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KArCO,EA4CP;AACEH,MAAAA,KAAK,EAAE,OADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,IAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KA5CO,EAmDP;AACEH,MAAAA,KAAK,EAAE,6BADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KAnDO;AADJ;AADM,CAAf","sourcesContent":["export default {\n props: {\n answers: [\n {\n title: 'There is no need for a password',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1467890947394-8171244e5410?dpr=2&auto=format&fit=crop&w=1080&h=720&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sut labore et dolore magna aliqua.',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1494477920939-88c59ba76428?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'Lorem',\n onClick: () => {},\n selected: true,\n image:\n 'https://images.unsplash.com/photo-1494416952682-200c9e760aac?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'You need to have a password',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1493442043090-087540b34c1a?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'There is no need for a password',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1467890947394-8171244e5410?dpr=2&auto=format&fit=crop&w=1080&h=720&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'Lorem ipsum',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1494477920939-88c59ba76428?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'Lorem',\n onClick: () => {},\n selected: true,\n image:\n 'https://images.unsplash.com/photo-1494416952682-200c9e760aac?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'You need to have a password',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1493442043090-087540b34c1a?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n }\n ]\n }\n};\n"],"file":"default.js"}
@@ -6,7 +6,7 @@ export default {
6
6
  selected: false,
7
7
  image: 'https://images.unsplash.com/photo-1467890947394-8171244e5410?dpr=2&auto=format&fit=crop&w=1080&h=720&q=80&cs=tinysrgb&crop=&bg='
8
8
  }, {
9
- title: 'Lorem ipsum',
9
+ title: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua tempor incididunt ut labore et dolore tempor incididunt ut labore et dolore magna aliqua tempor incididunt ut labore et dolore.',
10
10
  onClick: () => {},
11
11
  selected: false,
12
12
  image: 'https://images.unsplash.com/photo-1494477920939-88c59ba76428?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/molecule/questions/qcm-graphic/test/fixtures/no-selected.js"],"names":["props","answers","title","onClick","selected","image"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,CACP;AACEC,MAAAA,KAAK,EAAE,iCADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KADO,EAQP;AACEH,MAAAA,KAAK,EAAE,aADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KARO,EAeP;AACEH,MAAAA,KAAK,EAAE,OADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KAfO,EAsBP;AACEH,MAAAA,KAAK,EAAE,6BADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KAtBO;AADJ;AADM,CAAf","sourcesContent":["export default {\n props: {\n answers: [\n {\n title: 'There is no need for a password',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1467890947394-8171244e5410?dpr=2&auto=format&fit=crop&w=1080&h=720&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'Lorem ipsum',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1494477920939-88c59ba76428?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'Lorem',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1494416952682-200c9e760aac?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'You need to have a password',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1493442043090-087540b34c1a?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n }\n ]\n }\n};\n"],"file":"no-selected.js"}
1
+ {"version":3,"sources":["../../../../../../src/molecule/questions/qcm-graphic/test/fixtures/no-selected.js"],"names":["props","answers","title","onClick","selected","image"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,CACP;AACEC,MAAAA,KAAK,EAAE,iCADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KADO,EAQP;AACEH,MAAAA,KAAK,EACH,6PAFJ;AAGEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAHnB;AAIEC,MAAAA,QAAQ,EAAE,KAJZ;AAKEC,MAAAA,KAAK,EACH;AANJ,KARO,EAgBP;AACEH,MAAAA,KAAK,EAAE,OADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KAhBO,EAuBP;AACEH,MAAAA,KAAK,EAAE,6BADT;AAEEC,MAAAA,OAAO,EAAE,MAAM,CAAE,CAFnB;AAGEC,MAAAA,QAAQ,EAAE,KAHZ;AAIEC,MAAAA,KAAK,EACH;AALJ,KAvBO;AADJ;AADM,CAAf","sourcesContent":["export default {\n props: {\n answers: [\n {\n title: 'There is no need for a password',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1467890947394-8171244e5410?dpr=2&auto=format&fit=crop&w=1080&h=720&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua tempor incididunt ut labore et dolore tempor incididunt ut labore et dolore magna aliqua tempor incididunt ut labore et dolore.',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1494477920939-88c59ba76428?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'Lorem',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1494416952682-200c9e760aac?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n },\n {\n title: 'You need to have a password',\n onClick: () => {},\n selected: false,\n image:\n 'https://images.unsplash.com/photo-1493442043090-087540b34c1a?dpr=2&auto=format&fit=crop&w=1080&h=607&q=80&cs=tinysrgb&crop=&bg='\n }\n ]\n }\n};\n"],"file":"no-selected.js"}
@@ -28,7 +28,7 @@ test('onClick should be reachable, should match given aria-label', t => {
28
28
  });
29
29
  const answersImages = wrapper.find('[data-name="answerImage"]');
30
30
  t.true(answersImages.at(1).exists());
31
- t.is(answersImages.at(1).props()['aria-label'], 'Lorem ipsum');
31
+ t.is(answersImages.at(1).props()['aria-label'], 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sut labore et dolore magna aliqua.');
32
32
  const answers = wrapper.find('[data-name="answerGraphic"]');
33
33
  answers.at(1).simulate('click');
34
34
  t.true(answerWasClicked);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/molecule/questions/qcm-graphic/test/qcm-graphic.js"],"names":["browserEnv","test","React","shallow","configure","Adapter","QCMImage","defaultFixture","adapter","translate","t","answerWasClicked","props","answers","onClick","wrapper","context","answersImages","find","true","at","exists","is","simulate","pass","firstAnswer","deepEqual","style","unselectedBackgroundAnswer","children","backgroundColor","firstAnswerText","thirdAnswer","boxShadow","selectedBackgroundAnswer"],"mappings":"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","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {shallow, configure} from 'enzyme';\nimport {identity} from 'lodash/fp';\nimport Adapter from 'enzyme-adapter-react-16';\nimport QCMImage from '..';\nimport defaultFixture from './fixtures/default';\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\n const wrapper = shallow(<QCMImage {...defaultFixture.props} />, {\n context: {translate}\n });\n\n const answersImages = wrapper.find('[data-name=\"answerImage\"]');\n t.true(answersImages.at(1).exists());\n t.is(answersImages.at(1).props()['aria-label'], 'Lorem ipsum');\n\n const answers = wrapper.find('[data-name=\"answerGraphic\"]');\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 = shallow(<QCMImage {...defaultFixture.props} />, {\n context: {translate}\n });\n const answers = wrapper.find('[data-name=\"answerGraphic\"]');\n\n const firstAnswer = answers.at(0);\n t.true(firstAnswer.exists());\n t.deepEqual(firstAnswer.props().style, {});\n const unselectedBackgroundAnswer = firstAnswer.children().at(0);\n t.true(unselectedBackgroundAnswer.exists());\n t.deepEqual(unselectedBackgroundAnswer.props().style, {backgroundColor: '#F4F4F5'});\n const firstAnswerText = firstAnswer.children().at(1).children().at(1).children().at(0);\n t.true(firstAnswerText.exists());\n\n const thirdAnswer = answers.at(2);\n t.true(thirdAnswer.exists());\n t.deepEqual(thirdAnswer.props().style, {boxShadow: '0 4px 16px rgba(0, 122, 179, 0.25)'});\n const selectedBackgroundAnswer = thirdAnswer.children().at(0);\n t.true(selectedBackgroundAnswer.exists());\n t.deepEqual(selectedBackgroundAnswer.props().style, {backgroundColor: '#00B0FF'});\n});\n"],"file":"qcm-graphic.js"}
1
+ {"version":3,"sources":["../../../../../src/molecule/questions/qcm-graphic/test/qcm-graphic.js"],"names":["browserEnv","test","React","shallow","configure","Adapter","QCMImage","defaultFixture","adapter","translate","t","answerWasClicked","props","answers","onClick","wrapper","context","answersImages","find","true","at","exists","is","simulate","pass","firstAnswer","deepEqual","style","unselectedBackgroundAnswer","children","backgroundColor","firstAnswerText","thirdAnswer","boxShadow","selectedBackgroundAnswer"],"mappings":"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","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {shallow, configure} from 'enzyme';\nimport {identity} from 'lodash/fp';\nimport Adapter from 'enzyme-adapter-react-16';\nimport QCMImage from '..';\nimport defaultFixture from './fixtures/default';\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\n const wrapper = shallow(<QCMImage {...defaultFixture.props} />, {\n context: {translate}\n });\n\n const answersImages = wrapper.find('[data-name=\"answerImage\"]');\n t.true(answersImages.at(1).exists());\n t.is(\n answersImages.at(1).props()['aria-label'],\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sut labore et dolore magna aliqua.'\n );\n\n const answers = wrapper.find('[data-name=\"answerGraphic\"]');\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 = shallow(<QCMImage {...defaultFixture.props} />, {\n context: {translate}\n });\n const answers = wrapper.find('[data-name=\"answerGraphic\"]');\n\n const firstAnswer = answers.at(0);\n t.true(firstAnswer.exists());\n t.deepEqual(firstAnswer.props().style, {});\n const unselectedBackgroundAnswer = firstAnswer.children().at(0);\n t.true(unselectedBackgroundAnswer.exists());\n t.deepEqual(unselectedBackgroundAnswer.props().style, {backgroundColor: '#F4F4F5'});\n const firstAnswerText = firstAnswer.children().at(1).children().at(1).children().at(0);\n t.true(firstAnswerText.exists());\n\n const thirdAnswer = answers.at(2);\n t.true(thirdAnswer.exists());\n t.deepEqual(thirdAnswer.props().style, {boxShadow: '0 4px 16px rgba(0, 122, 179, 0.25)'});\n const selectedBackgroundAnswer = thirdAnswer.children().at(0);\n t.true(selectedBackgroundAnswer.exists());\n t.deepEqual(selectedBackgroundAnswer.props().style, {backgroundColor: '#00B0FF'});\n});\n"],"file":"qcm-graphic.js"}
@@ -3,6 +3,8 @@ import _map from "lodash/fp/map";
3
3
 
4
4
  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); }
5
5
 
6
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
7
+
6
8
  import React from 'react';
7
9
  import PropTypes from 'prop-types';
8
10
  import parseTemplateString from '../../../util/parse-template-string';
@@ -23,7 +25,8 @@ const Template = ({
23
25
 
24
26
  if (type === 'string') {
25
27
  return /*#__PURE__*/React.createElement("span", {
26
- key: key // eslint-disable-next-line react/no-danger
28
+ key: key,
29
+ className: style.textPart // eslint-disable-next-line react/no-danger
27
30
  ,
28
31
  dangerouslySetInnerHTML: {
29
32
  __html: part.value
@@ -37,10 +40,16 @@ const Template = ({
37
40
  }, answers);
38
41
 
39
42
  if (!field) return null;
40
- const fieldView = field.type === 'text' ? /*#__PURE__*/React.createElement(FreeText, _extends({}, field, {
43
+
44
+ const {
45
+ type: fieldType
46
+ } = field,
47
+ fieldProps = _objectWithoutPropertiesLoose(field, ["type"]);
48
+
49
+ const fieldView = fieldType === 'text' ? /*#__PURE__*/React.createElement(FreeText, _extends({}, fieldProps, {
41
50
  className: style.text
42
- })) : /*#__PURE__*/React.createElement(DropDown, _extends({}, field, {
43
- theme: "template"
51
+ })) : /*#__PURE__*/React.createElement(DropDown, _extends({}, fieldProps, {
52
+ theme: "player"
44
53
  }));
45
54
  return /*#__PURE__*/React.createElement("div", {
46
55
  className: style.answerType,
@@ -56,16 +65,11 @@ const Template = ({
56
65
  };
57
66
 
58
67
  const TextPropTypes = process.env.NODE_ENV !== "production" ? _extends(_extends({}, DropDown.propTypes), {}, {
59
- type: PropTypes.string,
60
- name: PropTypes.string
61
- }) : {};
62
- const DropDownPropTypes = process.env.NODE_ENV !== "production" ? _extends(_extends({}, DropDown.propTypes), {}, {
63
- type: PropTypes.string,
64
- name: PropTypes.string
68
+ type: PropTypes.string
65
69
  }) : {};
66
70
  Template.propTypes = process.env.NODE_ENV !== "production" ? {
67
71
  template: PropTypes.string,
68
- answers: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape(DropDownPropTypes), PropTypes.shape(TextPropTypes)]))
72
+ answers: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape(DropDown.propTypes), PropTypes.shape(TextPropTypes)]))
69
73
  } : {};
70
74
  export default Template;
71
75
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/template/index.js"],"names":["React","PropTypes","parseTemplateString","DropDown","FreeText","style","Template","template","answers","totalTemplate","templateCompose","convert","cap","part","key","type","__html","value","field","name","fieldView","text","answerType","wrapper","TextPropTypes","propTypes","string","DropDownPropTypes","arrayOf","oneOfType","shape"],"mappings":";;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,mBAAP,MAAgC,qCAAhC;AACA,OAAOC,QAAP,MAAqB,cAArB;AACA,OAAOC,QAAP,MAAqB,cAArB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,QAAQ,GAAG,CAAC;AAACC,EAAAA,QAAD;AAAWC,EAAAA;AAAX,CAAD,KAAyB;AACxC,QAAMC,aAAa,GAAGP,mBAAmB,CAACK,QAAD,CAAzC;;AACA,QAAMG,eAAe,GAAG,KAAIC,OAAJ,CAAY;AAACC,IAAAA,GAAG,EAAE;AAAN,GAAZ,EAA0B,CAACC,IAAD,EAAOC,GAAP,KAAe;AAC/D,UAAMC,IAAI,GAAGF,IAAI,CAACE,IAAlB;;AACA,QAAIA,IAAI,KAAK,QAAb,EAAuB;AACrB,0BACE;AACE,QAAA,GAAG,EAAED,GADP,CAEE;AAFF;AAGE,QAAA,uBAAuB,EAAE;AAACE,UAAAA,MAAM,EAAEH,IAAI,CAACI;AAAd;AAH3B,QADF;AAOD;;AACD,QAAIF,IAAI,KAAK,aAAb,EAA4B;AAC1B,YAAMG,KAAK,GAAG,MAAK;AAACC,QAAAA,IAAI,EAAEN,IAAI,CAACI;AAAZ,OAAL,EAAyBT,OAAzB,CAAd;;AACA,UAAI,CAACU,KAAL,EAAY,OAAO,IAAP;AACZ,YAAME,SAAS,GACbF,KAAK,CAACH,IAAN,KAAe,MAAf,gBACE,oBAAC,QAAD,eAAcG,KAAd;AAAqB,QAAA,SAAS,EAAEb,KAAK,CAACgB;AAAtC,SADF,gBAGE,oBAAC,QAAD,eAAcH,KAAd;AAAqB,QAAA,KAAK,EAAC;AAA3B,SAJJ;AAOA,0BACE;AAAK,QAAA,SAAS,EAAEb,KAAK,CAACiB,UAAtB;AAAkC,QAAA,GAAG,EAAET,IAAI,CAACI;AAA5C,SACGG,SADH,CADF;AAKD;AACF,GA3BuB,EA2BrBX,aA3BqB,CAAxB;;AA6BA,sBACE;AAAK,iBAAU,kBAAf;AAAkC,IAAA,SAAS,EAAEJ,KAAK,CAACkB;AAAnD,KACGb,eADH,CADF;AAKD,CApCD;;AAsCA,MAAMc,aAAN,iEACKrB,QAAQ,CAACsB,SADd;AAEEV,EAAAA,IAAI,EAAEd,SAAS,CAACyB,MAFlB;AAGEP,EAAAA,IAAI,EAAElB,SAAS,CAACyB;AAHlB;AAMA,MAAMC,iBAAN,iEACKxB,QAAQ,CAACsB,SADd;AAEEV,EAAAA,IAAI,EAAEd,SAAS,CAACyB,MAFlB;AAGEP,EAAAA,IAAI,EAAElB,SAAS,CAACyB;AAHlB;AAMApB,QAAQ,CAACmB,SAAT,2CAAqB;AACnBlB,EAAAA,QAAQ,EAAEN,SAAS,CAACyB,MADD;AAEnBlB,EAAAA,OAAO,EAAEP,SAAS,CAAC2B,OAAV,CACP3B,SAAS,CAAC4B,SAAV,CAAoB,CAAC5B,SAAS,CAAC6B,KAAV,CAAgBH,iBAAhB,CAAD,EAAqC1B,SAAS,CAAC6B,KAAV,CAAgBN,aAAhB,CAArC,CAApB,CADO;AAFU,CAArB;AAOA,eAAelB,QAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {map, find} from 'lodash/fp';\nimport parseTemplateString from '../../../util/parse-template-string';\nimport DropDown from '../drop-down';\nimport FreeText from '../free-text';\nimport style from './style.css';\n\nconst Template = ({template, answers}) => {\n const totalTemplate = parseTemplateString(template);\n const templateCompose = map.convert({cap: false})((part, key) => {\n const type = part.type;\n if (type === 'string') {\n return (\n <span\n key={key}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: part.value}}\n />\n );\n }\n if (type === 'answerField') {\n const field = find({name: part.value}, answers);\n if (!field) return null;\n const fieldView =\n field.type === 'text' ? (\n <FreeText {...field} className={style.text} />\n ) : (\n <DropDown {...field} theme=\"template\" />\n );\n\n return (\n <div className={style.answerType} key={part.value}>\n {fieldView}\n </div>\n );\n }\n }, totalTemplate);\n\n return (\n <div data-name=\"template-wrapper\" className={style.wrapper}>\n {templateCompose}\n </div>\n );\n};\n\nconst TextPropTypes = {\n ...DropDown.propTypes,\n type: PropTypes.string,\n name: PropTypes.string\n};\n\nconst DropDownPropTypes = {\n ...DropDown.propTypes,\n type: PropTypes.string,\n name: PropTypes.string\n};\n\nTemplate.propTypes = {\n template: PropTypes.string,\n answers: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.shape(DropDownPropTypes), PropTypes.shape(TextPropTypes)])\n )\n};\n\nexport default Template;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/questions/template/index.js"],"names":["React","PropTypes","parseTemplateString","DropDown","FreeText","style","Template","template","answers","totalTemplate","templateCompose","convert","cap","part","key","type","textPart","__html","value","field","name","fieldType","fieldProps","fieldView","text","answerType","wrapper","TextPropTypes","propTypes","string","arrayOf","oneOfType","shape"],"mappings":";;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,mBAAP,MAAgC,qCAAhC;AACA,OAAOC,QAAP,MAAqB,cAArB;AACA,OAAOC,QAAP,MAAqB,cAArB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,QAAQ,GAAG,CAAC;AAACC,EAAAA,QAAD;AAAWC,EAAAA;AAAX,CAAD,KAAyB;AACxC,QAAMC,aAAa,GAAGP,mBAAmB,CAACK,QAAD,CAAzC;;AACA,QAAMG,eAAe,GAAG,KAAIC,OAAJ,CAAY;AAACC,IAAAA,GAAG,EAAE;AAAN,GAAZ,EAA0B,CAACC,IAAD,EAAOC,GAAP,KAAe;AAC/D,UAAMC,IAAI,GAAGF,IAAI,CAACE,IAAlB;;AACA,QAAIA,IAAI,KAAK,QAAb,EAAuB;AACrB,0BACE;AACE,QAAA,GAAG,EAAED,GADP;AAEE,QAAA,SAAS,EAAET,KAAK,CAACW,QAFnB,CAGE;AAHF;AAIE,QAAA,uBAAuB,EAAE;AAACC,UAAAA,MAAM,EAAEJ,IAAI,CAACK;AAAd;AAJ3B,QADF;AAQD;;AACD,QAAIH,IAAI,KAAK,aAAb,EAA4B;AAC1B,YAAMI,KAAK,GAAG,MAAK;AAACC,QAAAA,IAAI,EAAEP,IAAI,CAACK;AAAZ,OAAL,EAAyBV,OAAzB,CAAd;;AACA,UAAI,CAACW,KAAL,EAAY,OAAO,IAAP;;AACZ,YAAM;AAACJ,QAAAA,IAAI,EAAEM;AAAP,UAAmCF,KAAzC;AAAA,YAA2BG,UAA3B,iCAAyCH,KAAzC;;AACA,YAAMI,SAAS,GACbF,SAAS,KAAK,MAAd,gBACE,oBAAC,QAAD,eAAcC,UAAd;AAA0B,QAAA,SAAS,EAAEjB,KAAK,CAACmB;AAA3C,SADF,gBAGE,oBAAC,QAAD,eAAcF,UAAd;AAA0B,QAAA,KAAK,EAAC;AAAhC,SAJJ;AAOA,0BACE;AAAK,QAAA,SAAS,EAAEjB,KAAK,CAACoB,UAAtB;AAAkC,QAAA,GAAG,EAAEZ,IAAI,CAACK;AAA5C,SACGK,SADH,CADF;AAKD;AACF,GA7BuB,EA6BrBd,aA7BqB,CAAxB;;AA+BA,sBACE;AAAK,iBAAU,kBAAf;AAAkC,IAAA,SAAS,EAAEJ,KAAK,CAACqB;AAAnD,KACGhB,eADH,CADF;AAKD,CAtCD;;AAwCA,MAAMiB,aAAN,iEACKxB,QAAQ,CAACyB,SADd;AAEEb,EAAAA,IAAI,EAAEd,SAAS,CAAC4B;AAFlB;AAKAvB,QAAQ,CAACsB,SAAT,2CAAqB;AACnBrB,EAAAA,QAAQ,EAAEN,SAAS,CAAC4B,MADD;AAEnBrB,EAAAA,OAAO,EAAEP,SAAS,CAAC6B,OAAV,CACP7B,SAAS,CAAC8B,SAAV,CAAoB,CAAC9B,SAAS,CAAC+B,KAAV,CAAgB7B,QAAQ,CAACyB,SAAzB,CAAD,EAAsC3B,SAAS,CAAC+B,KAAV,CAAgBL,aAAhB,CAAtC,CAApB,CADO;AAFU,CAArB;AAOA,eAAerB,QAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {map, find} from 'lodash/fp';\nimport parseTemplateString from '../../../util/parse-template-string';\nimport DropDown from '../drop-down';\nimport FreeText from '../free-text';\nimport style from './style.css';\n\nconst Template = ({template, answers}) => {\n const totalTemplate = parseTemplateString(template);\n const templateCompose = map.convert({cap: false})((part, key) => {\n const type = part.type;\n if (type === 'string') {\n return (\n <span\n key={key}\n className={style.textPart}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: part.value}}\n />\n );\n }\n if (type === 'answerField') {\n const field = find({name: part.value}, answers);\n if (!field) return null;\n const {type: fieldType, ...fieldProps} = field;\n const fieldView =\n fieldType === 'text' ? (\n <FreeText {...fieldProps} className={style.text} />\n ) : (\n <DropDown {...fieldProps} theme=\"player\" />\n );\n\n return (\n <div className={style.answerType} key={part.value}>\n {fieldView}\n </div>\n );\n }\n }, totalTemplate);\n\n return (\n <div data-name=\"template-wrapper\" className={style.wrapper}>\n {templateCompose}\n </div>\n );\n};\n\nconst TextPropTypes = {\n ...DropDown.propTypes,\n type: PropTypes.string\n};\n\nTemplate.propTypes = {\n template: PropTypes.string,\n answers: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.shape(DropDown.propTypes), PropTypes.shape(TextPropTypes)])\n )\n};\n\nexport default Template;\n"],"file":"index.js"}
@@ -1,6 +1,8 @@
1
1
  @value breakpoints: "../../../variables/breakpoints.css";
2
2
  @value mobile from breakpoints;
3
3
  @value tablet from breakpoints;
4
+ @value colors: "../../../variables/colors.css";
5
+ @value cm_blue_900 from colors;
4
6
 
5
7
  .wrapper {
6
8
  display: block;
@@ -15,6 +17,10 @@
15
17
  text-align: center;
16
18
  }
17
19
 
20
+ .textPart {
21
+ color: cm_blue_900;
22
+ }
23
+
18
24
  .answerType {
19
25
  display: inline-block;
20
26
  margin: 4px 0 8px;
@@ -4,6 +4,7 @@ import renderComponentMacro from '../../../test/helpers/render-component';
4
4
  import MoleculeWizardSummary from '..';
5
5
  import fixtureDefault from './fixtures/default';
6
6
  import fixtureOneSection from './fixtures/one-section';
7
+ import fixtureOrganizeCourses from './fixtures/organize-courses';
7
8
  import fixtureTabletClosed from './fixtures/tablet-closed';
8
9
  import fixtureThreeSections from './fixtures/three-sections';
9
10
  import fixtureTwoSections from './fixtures/two-sections';
@@ -15,6 +16,7 @@ test('Molecule › MoleculeWizardSummary > should have valid propTypes', t => {
15
16
  });
16
17
  test('Molecule › MoleculeWizardSummary › Default › should be rendered', renderComponentMacro, MoleculeWizardSummary, fixtureDefault);
17
18
  test('Molecule › MoleculeWizardSummary › OneSection › should be rendered', renderComponentMacro, MoleculeWizardSummary, fixtureOneSection);
19
+ test('Molecule › MoleculeWizardSummary › OrganizeCourses › should be rendered', renderComponentMacro, MoleculeWizardSummary, fixtureOrganizeCourses);
18
20
  test('Molecule › MoleculeWizardSummary › TabletClosed › should be rendered', renderComponentMacro, MoleculeWizardSummary, fixtureTabletClosed);
19
21
  test('Molecule › MoleculeWizardSummary › ThreeSections › should be rendered', renderComponentMacro, MoleculeWizardSummary, fixtureThreeSections);
20
22
  test('Molecule › MoleculeWizardSummary › TwoSections › should be rendered', renderComponentMacro, MoleculeWizardSummary, fixtureTwoSections);