@coorpacademy/components 10.5.7-alpha.16 → 10.5.7-alpha.16.12

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 (69) hide show
  1. package/es/atom/select/index.js +3 -2
  2. package/es/atom/select/index.js.map +1 -1
  3. package/es/atom/select/style.css +38 -0
  4. package/es/molecule/card/customer.js +6 -3
  5. package/es/molecule/card/customer.js.map +1 -1
  6. package/es/molecule/card/favorite.js +13 -4
  7. package/es/molecule/card/favorite.js.map +1 -1
  8. package/es/molecule/card/index.js +41 -12
  9. package/es/molecule/card/index.js.map +1 -1
  10. package/es/molecule/card/selectable.js +11 -4
  11. package/es/molecule/card/selectable.js.map +1 -1
  12. package/es/molecule/card/test/fixtures/default.js +20 -1
  13. package/es/molecule/card/test/fixtures/default.js.map +1 -1
  14. package/es/molecule/card-content/index.js +20 -7
  15. package/es/molecule/card-content/index.js.map +1 -1
  16. package/es/molecule/card-content/test/fixtures/card-no-progress-bar.js +6 -1
  17. package/es/molecule/card-content/test/fixtures/card-no-progress-bar.js.map +1 -1
  18. package/es/molecule/questions/qcm/style.css +4 -0
  19. package/es/molecule/questions/qcm-drag/index.js +53 -21
  20. package/es/molecule/questions/qcm-drag/index.js.map +1 -1
  21. package/es/molecule/questions/qcm-drag/style.css +72 -22
  22. package/es/molecule/questions/qcm-graphic/index.js +1 -0
  23. package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
  24. package/es/molecule/questions/qcm-graphic/style.css +12 -2
  25. package/es/molecule/questions/qcm-graphic/test/fixtures/default.js +1 -1
  26. package/es/molecule/questions/qcm-graphic/test/fixtures/default.js.map +1 -1
  27. package/es/molecule/questions/qcm-graphic/test/fixtures/no-selected.js +1 -1
  28. package/es/molecule/questions/qcm-graphic/test/fixtures/no-selected.js.map +1 -1
  29. package/es/molecule/questions/qcm-graphic/test/qcm-graphic.js +1 -1
  30. package/es/molecule/questions/qcm-graphic/test/qcm-graphic.js.map +1 -1
  31. package/es/molecule/questions/template/index.js +2 -1
  32. package/es/molecule/questions/template/index.js.map +1 -1
  33. package/es/molecule/questions/template/style.css +6 -0
  34. package/es/variables/colors.css +2 -0
  35. package/lib/atom/select/index.js +3 -2
  36. package/lib/atom/select/index.js.map +1 -1
  37. package/lib/atom/select/style.css +38 -0
  38. package/lib/molecule/card/customer.js +6 -3
  39. package/lib/molecule/card/customer.js.map +1 -1
  40. package/lib/molecule/card/favorite.js +13 -4
  41. package/lib/molecule/card/favorite.js.map +1 -1
  42. package/lib/molecule/card/index.js +41 -12
  43. package/lib/molecule/card/index.js.map +1 -1
  44. package/lib/molecule/card/selectable.js +11 -4
  45. package/lib/molecule/card/selectable.js.map +1 -1
  46. package/lib/molecule/card/test/fixtures/default.js +20 -1
  47. package/lib/molecule/card/test/fixtures/default.js.map +1 -1
  48. package/lib/molecule/card-content/index.js +21 -7
  49. package/lib/molecule/card-content/index.js.map +1 -1
  50. package/lib/molecule/card-content/test/fixtures/card-no-progress-bar.js +6 -1
  51. package/lib/molecule/card-content/test/fixtures/card-no-progress-bar.js.map +1 -1
  52. package/lib/molecule/questions/qcm/style.css +4 -0
  53. package/lib/molecule/questions/qcm-drag/index.js +53 -21
  54. package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
  55. package/lib/molecule/questions/qcm-drag/style.css +72 -22
  56. package/lib/molecule/questions/qcm-graphic/index.js +1 -0
  57. package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
  58. package/lib/molecule/questions/qcm-graphic/style.css +12 -2
  59. package/lib/molecule/questions/qcm-graphic/test/fixtures/default.js +1 -1
  60. package/lib/molecule/questions/qcm-graphic/test/fixtures/default.js.map +1 -1
  61. package/lib/molecule/questions/qcm-graphic/test/fixtures/no-selected.js +1 -1
  62. package/lib/molecule/questions/qcm-graphic/test/fixtures/no-selected.js.map +1 -1
  63. package/lib/molecule/questions/qcm-graphic/test/qcm-graphic.js +1 -1
  64. package/lib/molecule/questions/qcm-graphic/test/qcm-graphic.js.map +1 -1
  65. package/lib/molecule/questions/template/index.js +2 -1
  66. package/lib/molecule/questions/template/index.js.map +1 -1
  67. package/lib/molecule/questions/template/style.css +6 -0
  68. package/lib/variables/colors.css +2 -0
  69. package/package.json +2 -2
@@ -19,7 +19,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
19
19
 
20
20
  const Selectable = props => {
21
21
  const {
22
- isSelected
22
+ isSelected,
23
+ 'aria-label': ariaLabel = {}
23
24
  } = props;
24
25
  if ((0, _isUndefined2.default)(isSelected)) return null;
25
26
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -29,14 +30,20 @@ const Selectable = props => {
29
30
  }), /*#__PURE__*/_react.default.createElement("div", {
30
31
  className: _selectable.default.iconWrapper
31
32
  }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidRemoveAddAddCircle1, {
32
- className: _selectable.default.addIcon
33
+ className: _selectable.default.addIcon,
34
+ "aria-label": ariaLabel.select
33
35
  }), /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidStatusCheckCircle2, {
34
- className: _selectable.default.checkIcon
36
+ className: _selectable.default.checkIcon,
37
+ "aria-label": ariaLabel.unSelect
35
38
  })));
36
39
  };
37
40
 
38
41
  Selectable.propTypes = process.env.NODE_ENV !== "production" ? {
39
- isSelected: _propTypes.default.bool
42
+ isSelected: _propTypes.default.bool,
43
+ 'aria-label': _propTypes.default.shape({
44
+ select: _propTypes.default.string,
45
+ unSelect: _propTypes.default.string
46
+ })
40
47
  } : {};
41
48
  var _default = Selectable;
42
49
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/card/selectable.js"],"names":["Selectable","props","isSelected","style","selectable","selected","circle","iconWrapper","addIcon","checkIcon","propTypes","PropTypes","bool"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAIA;;;;AAEA,MAAMA,UAAU,GAAGC,KAAK,IAAI;AAC1B,QAAM;AAACC,IAAAA;AAAD,MAAeD,KAArB;AAEA,MAAI,2BAAYC,UAAZ,CAAJ,EAA6B,OAAO,IAAP;AAE7B,sBACE;AAAK,IAAA,SAAS,EAAE,yBAAWC,oBAAMC,UAAjB,EAA6BF,UAAU,IAAIC,oBAAME,QAAjD;AAAhB,kBACE;AAAK,IAAA,SAAS,EAAEF,oBAAMG;AAAtB,IADF,eAEE;AAAK,IAAA,SAAS,EAAEH,oBAAMI;AAAtB,kBACE,6BAAC,uCAAD;AAAS,IAAA,SAAS,EAAEJ,oBAAMK;AAA1B,IADF,eAEE,6BAAC,sCAAD;AAAW,IAAA,SAAS,EAAEL,oBAAMM;AAA5B,IAFF,CAFF,CADF;AASD,CAdD;;AAgBAT,UAAU,CAACU,SAAX,2CAAuB;AACrBR,EAAAA,UAAU,EAAES,mBAAUC;AADD,CAAvB;eAIeZ,U","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {isUndefined} from 'lodash/fp';\nimport {\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaSolidRemoveAddAddCircle1 as AddIcon\n} from '@coorpacademy/nova-icons';\nimport style from './selectable.css';\n\nconst Selectable = props => {\n const {isSelected} = props;\n\n if (isUndefined(isSelected)) return null;\n\n return (\n <div className={classnames(style.selectable, isSelected && style.selected)}>\n <div className={style.circle} />\n <div className={style.iconWrapper}>\n <AddIcon className={style.addIcon} />\n <CheckIcon className={style.checkIcon} />\n </div>\n </div>\n );\n};\n\nSelectable.propTypes = {\n isSelected: PropTypes.bool\n};\n\nexport default Selectable;\n"],"file":"selectable.js"}
1
+ {"version":3,"sources":["../../../src/molecule/card/selectable.js"],"names":["Selectable","props","isSelected","ariaLabel","style","selectable","selected","circle","iconWrapper","addIcon","select","checkIcon","unSelect","propTypes","PropTypes","bool","shape","string"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAIA;;;;AAEA,MAAMA,UAAU,GAAGC,KAAK,IAAI;AAC1B,QAAM;AAACC,IAAAA,UAAD;AAAa,kBAAcC,SAAS,GAAG;AAAvC,MAA6CF,KAAnD;AAEA,MAAI,2BAAYC,UAAZ,CAAJ,EAA6B,OAAO,IAAP;AAE7B,sBACE;AAAK,IAAA,SAAS,EAAE,yBAAWE,oBAAMC,UAAjB,EAA6BH,UAAU,IAAIE,oBAAME,QAAjD;AAAhB,kBACE;AAAK,IAAA,SAAS,EAAEF,oBAAMG;AAAtB,IADF,eAEE;AAAK,IAAA,SAAS,EAAEH,oBAAMI;AAAtB,kBACE,6BAAC,uCAAD;AAAS,IAAA,SAAS,EAAEJ,oBAAMK,OAA1B;AAAmC,kBAAYN,SAAS,CAACO;AAAzD,IADF,eAEE,6BAAC,sCAAD;AAAW,IAAA,SAAS,EAAEN,oBAAMO,SAA5B;AAAuC,kBAAYR,SAAS,CAACS;AAA7D,IAFF,CAFF,CADF;AASD,CAdD;;AAgBAZ,UAAU,CAACa,SAAX,2CAAuB;AACrBX,EAAAA,UAAU,EAAEY,mBAAUC,IADD;AAErB,gBAAcD,mBAAUE,KAAV,CAAgB;AAC5BN,IAAAA,MAAM,EAAEI,mBAAUG,MADU;AAE5BL,IAAAA,QAAQ,EAAEE,mBAAUG;AAFQ,GAAhB;AAFO,CAAvB;eAQejB,U","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {isUndefined} from 'lodash/fp';\nimport {\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaSolidRemoveAddAddCircle1 as AddIcon\n} from '@coorpacademy/nova-icons';\nimport style from './selectable.css';\n\nconst Selectable = props => {\n const {isSelected, 'aria-label': ariaLabel = {}} = props;\n\n if (isUndefined(isSelected)) return null;\n\n return (\n <div className={classnames(style.selectable, isSelected && style.selected)}>\n <div className={style.circle} />\n <div className={style.iconWrapper}>\n <AddIcon className={style.addIcon} aria-label={ariaLabel.select} />\n <CheckIcon className={style.checkIcon} aria-label={ariaLabel.unSelect} />\n </div>\n </div>\n );\n};\n\nSelectable.propTypes = {\n isSelected: PropTypes.bool,\n 'aria-label': PropTypes.shape({\n select: PropTypes.string,\n unSelect: PropTypes.string\n })\n};\n\nexport default Selectable;\n"],"file":"selectable.js"}
@@ -22,7 +22,26 @@ var _default = {
22
22
  name: 'Decathlon creation'
23
23
  },
24
24
  onClick: () => console.log('click everywhere'),
25
- onFavoriteClick: () => console.log('click Favorite')
25
+ onFavoriteClick: () => console.log('click Favorite'),
26
+ 'aria-label': 'course card',
27
+ 'background-aria-label': 'image wthout informations',
28
+ 'favorite-aria-label': {
29
+ favorite: 'this cours is your favorite',
30
+ addToFavorite: 'add to favorite',
31
+ removeFromFavorite: 'remove from favorite'
32
+ },
33
+ 'selectable-aria-label': {
34
+ select: 'select course',
35
+ unSelect: 'unselect course'
36
+ },
37
+ 'customer-aria-label': 'made by',
38
+ 'badge-aria-label': 'new course',
39
+ 'disabled-aria-label': 'the course is disabled',
40
+ 'card-content-aria-label': {
41
+ author: 'auther name',
42
+ progression: 'you have done 65% of the course',
43
+ adaptive: 'this is an adaptive course'
44
+ }
26
45
  }
27
46
  };
28
47
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/molecule/card/test/fixtures/default.js"],"names":["props","image","adaptiv","certification","type","title","author","certifiedAuthor","progress","badge","favorite","addFavoriteToolTip","removeFavoriteToolTip","isSelected","undefined","customer","coorpOriginal","name","onClick","console","log","onFavoriteClick"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EACH,4LAFG;AAGLC,IAAAA,OAAO,EAAE,KAHJ;AAILC,IAAAA,aAAa,EAAE,KAJV;AAKLC,IAAAA,IAAI,EAAE,QALD;AAMLC,IAAAA,KAAK,EAAE,sDANF;AAOLC,IAAAA,MAAM,EAAE,cAPH;AAQLC,IAAAA,eAAe,EAAE,IARZ;AASLC,IAAAA,QAAQ,EAAE,IATL;AAULC,IAAAA,KAAK,EAAE,KAVF;AAWLC,IAAAA,QAAQ,EAAE,IAXL;AAYLC,IAAAA,kBAAkB,EAAE,gBAZf;AAaLC,IAAAA,qBAAqB,EAAE,qBAblB;AAcLC,IAAAA,UAAU,EAAEC,SAdP;AAeLC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,aAAa,EAAE,IADP;AAERC,MAAAA,IAAI,EAAE;AAFE,KAfL;AAmBLC,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,kBAAZ,CAnBV;AAoBLC,IAAAA,eAAe,EAAE,MAAMF,OAAO,CAACC,GAAR,CAAY,gBAAZ;AApBlB;AADM,C","sourcesContent":["export default {\n props: {\n image:\n 'https://api.coorpacademy.com/api-service/medias?url=https://static.coorpacademy.com/content/partner-wedemain/fr/medias/img/cover/shutterstock_248741149-1470302136299.jpg&h=500&w=500&q=90',\n adaptiv: false,\n certification: false,\n type: 'course',\n title: 'From Mass Market to One to One targeting Lorem ipsum',\n author: 'Coorpacademy',\n certifiedAuthor: true,\n progress: 0.65,\n badge: 'new',\n favorite: true,\n addFavoriteToolTip: 'Add to my list',\n removeFavoriteToolTip: 'Remove from my list',\n isSelected: undefined,\n customer: {\n coorpOriginal: true,\n name: 'Decathlon creation'\n },\n onClick: () => console.log('click everywhere'),\n onFavoriteClick: () => console.log('click Favorite')\n }\n};\n"],"file":"default.js"}
1
+ {"version":3,"sources":["../../../../../src/molecule/card/test/fixtures/default.js"],"names":["props","image","adaptiv","certification","type","title","author","certifiedAuthor","progress","badge","favorite","addFavoriteToolTip","removeFavoriteToolTip","isSelected","undefined","customer","coorpOriginal","name","onClick","console","log","onFavoriteClick","addToFavorite","removeFromFavorite","select","unSelect","progression","adaptive"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EACH,4LAFG;AAGLC,IAAAA,OAAO,EAAE,KAHJ;AAILC,IAAAA,aAAa,EAAE,KAJV;AAKLC,IAAAA,IAAI,EAAE,QALD;AAMLC,IAAAA,KAAK,EAAE,sDANF;AAOLC,IAAAA,MAAM,EAAE,cAPH;AAQLC,IAAAA,eAAe,EAAE,IARZ;AASLC,IAAAA,QAAQ,EAAE,IATL;AAULC,IAAAA,KAAK,EAAE,KAVF;AAWLC,IAAAA,QAAQ,EAAE,IAXL;AAYLC,IAAAA,kBAAkB,EAAE,gBAZf;AAaLC,IAAAA,qBAAqB,EAAE,qBAblB;AAcLC,IAAAA,UAAU,EAAEC,SAdP;AAeLC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,aAAa,EAAE,IADP;AAERC,MAAAA,IAAI,EAAE;AAFE,KAfL;AAmBLC,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,kBAAZ,CAnBV;AAoBLC,IAAAA,eAAe,EAAE,MAAMF,OAAO,CAACC,GAAR,CAAY,gBAAZ,CApBlB;AAqBL,kBAAc,aArBT;AAsBL,6BAAyB,2BAtBpB;AAuBL,2BAAuB;AACrBV,MAAAA,QAAQ,EAAE,6BADW;AAErBY,MAAAA,aAAa,EAAE,iBAFM;AAGrBC,MAAAA,kBAAkB,EAAE;AAHC,KAvBlB;AA4BL,6BAAyB;AACvBC,MAAAA,MAAM,EAAE,eADe;AAEvBC,MAAAA,QAAQ,EAAE;AAFa,KA5BpB;AAgCL,2BAAuB,SAhClB;AAiCL,wBAAoB,YAjCf;AAkCL,2BAAuB,wBAlClB;AAmCL,+BAA2B;AACzBnB,MAAAA,MAAM,EAAE,aADiB;AAEzBoB,MAAAA,WAAW,EAAE,iCAFY;AAGzBC,MAAAA,QAAQ,EAAE;AAHe;AAnCtB;AADM,C","sourcesContent":["export default {\n props: {\n image:\n 'https://api.coorpacademy.com/api-service/medias?url=https://static.coorpacademy.com/content/partner-wedemain/fr/medias/img/cover/shutterstock_248741149-1470302136299.jpg&h=500&w=500&q=90',\n adaptiv: false,\n certification: false,\n type: 'course',\n title: 'From Mass Market to One to One targeting Lorem ipsum',\n author: 'Coorpacademy',\n certifiedAuthor: true,\n progress: 0.65,\n badge: 'new',\n favorite: true,\n addFavoriteToolTip: 'Add to my list',\n removeFavoriteToolTip: 'Remove from my list',\n isSelected: undefined,\n customer: {\n coorpOriginal: true,\n name: 'Decathlon creation'\n },\n onClick: () => console.log('click everywhere'),\n onFavoriteClick: () => console.log('click Favorite'),\n 'aria-label': 'course card',\n 'background-aria-label': 'image wthout informations',\n 'favorite-aria-label': {\n favorite: 'this cours is your favorite',\n addToFavorite: 'add to favorite',\n removeFromFavorite: 'remove from favorite'\n },\n 'selectable-aria-label': {\n select: 'select course',\n unSelect: 'unselect course'\n },\n 'customer-aria-label': 'made by',\n 'badge-aria-label': 'new course',\n 'disabled-aria-label': 'the course is disabled',\n 'card-content-aria-label': {\n author: 'auther name',\n progression: 'you have done 65% of the course',\n adaptive: 'this is an adaptive course'\n }\n }\n};\n"],"file":"default.js"}
@@ -7,6 +7,8 @@ var _keys2 = _interopRequireDefault(require("lodash/fp/keys"));
7
7
 
8
8
  var _isNil2 = _interopRequireDefault(require("lodash/fp/isNil"));
9
9
 
10
+ var _get2 = _interopRequireDefault(require("lodash/fp/get"));
11
+
10
12
  var _react = _interopRequireDefault(require("react"));
11
13
 
12
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -110,7 +112,8 @@ const AuthorName = ({
110
112
  author,
111
113
  empty,
112
114
  courseContent,
113
- certifiedAuthor
115
+ certifiedAuthor,
116
+ 'aria-label': ariaLabel
114
117
  }) => {
115
118
  const checkIcon = certifiedAuthor ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidStatusCheckCircle2, {
116
119
  className: (0, _classnames.default)(_style2.default.authorIcon, courseContent ? _style2.default.iconShadow : null),
@@ -119,6 +122,7 @@ const AuthorName = ({
119
122
  return /*#__PURE__*/_react.default.createElement("div", {
120
123
  "data-name": "author",
121
124
  title: author,
125
+ "aria-label": ariaLabel,
122
126
  className: (0, _classnames.default)(_style2.default.author, courseContent ? _style2.default.lightTitle : _style2.default.darkAuthorTitle, empty ? _style2.default.empty : null)
123
127
  }, /*#__PURE__*/_react.default.createElement("span", null, author), checkIcon);
124
128
  };
@@ -127,7 +131,8 @@ AuthorName.propTypes = process.env.NODE_ENV !== "production" ? {
127
131
  author: _propTypes.default.string,
128
132
  empty: _propTypes.default.bool,
129
133
  courseContent: _propTypes.default.bool,
130
- certifiedAuthor: _propTypes.default.bool
134
+ certifiedAuthor: _propTypes.default.bool,
135
+ 'aria-label': _propTypes.default.string
131
136
  } : {};
132
137
 
133
138
  const ContentInfo = ({
@@ -142,7 +147,8 @@ const ContentInfo = ({
142
147
  type,
143
148
  badgeCategory,
144
149
  badgeLabel,
145
- theme = 'default'
150
+ theme = 'default',
151
+ 'aria-label': ariaLabel
146
152
  }) => {
147
153
  const progressBarColor = '#3EC483';
148
154
  const inlineProgressValueStyle = {
@@ -157,10 +163,12 @@ const ContentInfo = ({
157
163
  }, !disabled ? /*#__PURE__*/_react.default.createElement("div", {
158
164
  "data-name": "progress",
159
165
  className: _style2.default.progress,
160
- style: inlineProgressValueStyle
166
+ style: inlineProgressValueStyle,
167
+ "aria-label": (0, _get2.default)('progression', ariaLabel)
161
168
  }) : null) : null;
162
169
  const adaptiveIcon = adaptiv ? /*#__PURE__*/_react.default.createElement("div", {
163
- className: (0, _classnames.default)(_style2.default.adaptiveIcon, courseContent ? _style2.default.iconShadow : null)
170
+ className: (0, _classnames.default)(_style2.default.adaptiveIcon, courseContent ? _style2.default.iconShadow : null),
171
+ "aria-label": (0, _get2.default)('adaptive', ariaLabel)
164
172
  }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyAdaptive, {
165
173
  height: 25
166
174
  })) : null;
@@ -186,7 +194,8 @@ const ContentInfo = ({
186
194
  author: author,
187
195
  empty: empty,
188
196
  courseContent: courseContent,
189
- certifiedAuthor: certifiedAuthor
197
+ certifiedAuthor: certifiedAuthor,
198
+ "aria-label": (0, _get2.default)('author', ariaLabel)
190
199
  })), progressBar);
191
200
  };
192
201
 
@@ -205,7 +214,12 @@ ContentInfo.propTypes = process.env.NODE_ENV !== "production" ? {
205
214
  mode: _propTypes.default.string,
206
215
  badgeCategory: _contentBadge.default.propTypes.category,
207
216
  badgeLabel: _contentBadge.default.propTypes.label,
208
- theme: _propTypes.default.oneOf((0, _keys2.default)(THEMES))
217
+ theme: _propTypes.default.oneOf((0, _keys2.default)(THEMES)),
218
+ 'aria-label': _propTypes.default.shape({
219
+ author: _propTypes.default.string,
220
+ progression: _propTypes.default.string,
221
+ adaptive: _propTypes.default.string
222
+ })
209
223
  } : {};
210
224
  var _default = ContentInfo;
211
225
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/card-content/index.js"],"names":["MODES","HERO","CARD","THEMES","default","coorpmanager","style","ContentTypeInfo","mode","type","externalContent","context","translate","microLearningIcon","timerIcon","microLearninglabel","EXTERNAL_CONTENT_ICONS","textColor","color","contentTypeInfo","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","bool","string","CardTitle","title","empty","courseContent","innerHTML","lightTitle","darkTitle","__html","AuthorName","author","certifiedAuthor","checkIcon","authorIcon","iconShadow","darkAuthorTitle","ContentInfo","adaptiv","disabled","progress","badgeCategory","badgeLabel","theme","progressBarColor","inlineProgressValueStyle","backgroundColor","width","chapterContent","progressBar","progressWrapper","hideProgressBar","adaptiveIcon","infoWrapper","hero","card","progressBarDisabled","cardInfo","microLearningCardInfo","iconWrapper","number","ContentBadge","category","label","oneOf"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {isNil, keys} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyAdaptive as AdaptivIcon,\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport ContentBadge from '../../atom/content-badge';\nimport {innerHTML} from '../../atom/label/style.css';\nimport style from './style.css';\n\nexport const MODES = {\n HERO: 'hero',\n CARD: 'card'\n};\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst ContentTypeInfo = ({mode, type, externalContent}, context) => {\n const {translate} = context;\n if (mode !== MODES.CARD) {\n return null;\n }\n\n if (type === 'chapter') {\n return (\n <div className={style.microLearningIcon}>\n <TimerIcon className={style.timerIcon} />\n <span className={style.microLearninglabel}>{\"5' learning\"}</span>\n </div>\n );\n }\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const textColor = EXTERNAL_CONTENT_ICONS[type].color;\n\n return (\n <div className={style.contentTypeInfo} style={{color: textColor}}>\n {type === 'scorm' ? translate('external_content_scorm') : ''}\n {type === 'video' ? translate('external_content_video') : ''}\n {type === 'article' ? translate('external_content_article') : ''}\n {type === 'podcast' ? translate('external_content_podcast') : ''}\n </div>\n );\n }\n\n return null;\n};\n\nContentTypeInfo.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContentTypeInfo.propTypes = {\n externalContent: PropTypes.bool,\n type: PropTypes.string,\n mode: PropTypes.string\n};\n\nconst CardTitle = ({title, empty, courseContent}) => {\n return (\n <div\n className={classnames(\n style.title,\n innerHTML,\n courseContent ? style.lightTitle : style.darkTitle,\n empty ? style.empty : null\n )}\n data-name=\"title\"\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n};\n\nCardTitle.propTypes = {\n title: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool\n};\n\nconst AuthorName = ({author, empty, courseContent, certifiedAuthor}) => {\n const checkIcon = certifiedAuthor ? (\n <CheckIcon\n className={classnames(style.authorIcon, courseContent ? style.iconShadow : null)}\n color=\"inherit\"\n />\n ) : null;\n\n return (\n <div\n data-name=\"author\"\n title={author}\n className={classnames(\n style.author,\n courseContent ? style.lightTitle : style.darkAuthorTitle,\n empty ? style.empty : null\n )}\n >\n <span>{author}</span>\n {checkIcon}\n </div>\n );\n};\n\nAuthorName.propTypes = {\n author: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool,\n certifiedAuthor: PropTypes.bool\n};\n\nconst ContentInfo = ({\n adaptiv,\n author,\n certifiedAuthor = false,\n disabled = false,\n empty = false,\n mode = MODES.CARD,\n progress,\n title,\n type,\n badgeCategory,\n badgeLabel,\n theme = 'default'\n}) => {\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${progress * 100}%`\n };\n const externalContent = isExternalContent(type);\n const courseContent = type === 'course';\n const chapterContent = type === 'chapter';\n\n const progressBar =\n mode === MODES.HERO || (!empty && !disabled) ? (\n <div className={!isNil(progress) ? style.progressWrapper : style.hideProgressBar}>\n {!disabled ? (\n <div data-name=\"progress\" className={style.progress} style={inlineProgressValueStyle} />\n ) : null}\n </div>\n ) : null;\n\n const adaptiveIcon = adaptiv ? (\n <div className={classnames(style.adaptiveIcon, courseContent ? style.iconShadow : null)}>\n <AdaptivIcon height={25} />\n </div>\n ) : null;\n\n return (\n <div\n data-name=\"info\"\n className={classnames(\n THEMES[theme],\n style.infoWrapper,\n mode === MODES.HERO ? style.hero : style.card,\n disabled ? style.progressBarDisabled : null,\n externalContent ? style.externalContent : null\n )}\n >\n <ContentTypeInfo mode={mode} type={type} externalContent={externalContent} />\n <div\n className={classnames(style.cardInfo, chapterContent ? style.microLearningCardInfo : null)}\n >\n <div className={style.iconWrapper}>\n {adaptiveIcon}\n {!empty && badgeLabel && badgeCategory && courseContent ? (\n <ContentBadge category={badgeCategory} label={badgeLabel} />\n ) : null}\n </div>\n <CardTitle title={title} empty={empty} courseContent={courseContent} />\n <AuthorName\n author={author}\n empty={empty}\n courseContent={courseContent}\n certifiedAuthor={certifiedAuthor}\n />\n </div>\n {progressBar}\n </div>\n );\n};\n\nContentInfo.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nContentInfo.propTypes = {\n adaptiv: PropTypes.bool,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n disabled: PropTypes.bool,\n empty: PropTypes.bool,\n progress: PropTypes.number,\n title: PropTypes.string,\n type: PropTypes.string,\n mode: PropTypes.string,\n badgeCategory: ContentBadge.propTypes.category,\n badgeLabel: ContentBadge.propTypes.label,\n theme: PropTypes.oneOf(keys(THEMES))\n};\n\nexport default ContentInfo;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/card-content/index.js"],"names":["MODES","HERO","CARD","THEMES","default","coorpmanager","style","ContentTypeInfo","mode","type","externalContent","context","translate","microLearningIcon","timerIcon","microLearninglabel","EXTERNAL_CONTENT_ICONS","textColor","color","contentTypeInfo","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","bool","string","CardTitle","title","empty","courseContent","innerHTML","lightTitle","darkTitle","__html","AuthorName","author","certifiedAuthor","ariaLabel","checkIcon","authorIcon","iconShadow","darkAuthorTitle","ContentInfo","adaptiv","disabled","progress","badgeCategory","badgeLabel","theme","progressBarColor","inlineProgressValueStyle","backgroundColor","width","chapterContent","progressBar","progressWrapper","hideProgressBar","adaptiveIcon","infoWrapper","hero","card","progressBarDisabled","cardInfo","microLearningCardInfo","iconWrapper","number","ContentBadge","category","label","oneOf","shape","progression","adaptive"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;AACA;;;;AAEO,MAAMA,KAAK,GAAG;AACnBC,EAAAA,IAAI,EAAE,MADa;AAEnBC,EAAAA,IAAI,EAAE;AAFa,CAAd;;AAKA,MAAMC,MAAM,GAAG;AACpBC,EAAAA,OAAO,EAAE,IADW;AAEpBC,EAAAA,YAAY,EAAEC,gBAAMD;AAFA,CAAf;;;AAKP,MAAME,eAAe,GAAG,CAAC;AAACC,EAAAA,IAAD;AAAOC,EAAAA,IAAP;AAAaC,EAAAA;AAAb,CAAD,EAAgCC,OAAhC,KAA4C;AAClE,QAAM;AAACC,IAAAA;AAAD,MAAcD,OAApB;;AACA,MAAIH,IAAI,KAAKR,KAAK,CAACE,IAAnB,EAAyB;AACvB,WAAO,IAAP;AACD;;AAED,MAAIO,IAAI,KAAK,SAAb,EAAwB;AACtB,wBACE;AAAK,MAAA,SAAS,EAAEH,gBAAMO;AAAtB,oBACE,6BAAC,2CAAD;AAAW,MAAA,SAAS,EAAEP,gBAAMQ;AAA5B,MADF,eAEE;AAAM,MAAA,SAAS,EAAER,gBAAMS;AAAvB,OAA4C,aAA5C,CAFF,CADF;AAMD;;AACD,MAAIL,eAAe,IAAIM,wCAAuBP,IAAvB,CAAvB,EAAqD;AACnD,UAAMQ,SAAS,GAAGD,wCAAuBP,IAAvB,EAA6BS,KAA/C;AAEA,wBACE;AAAK,MAAA,SAAS,EAAEZ,gBAAMa,eAAtB;AAAuC,MAAA,KAAK,EAAE;AAACD,QAAAA,KAAK,EAAED;AAAR;AAA9C,OACGR,IAAI,KAAK,OAAT,GAAmBG,SAAS,CAAC,wBAAD,CAA5B,GAAyD,EAD5D,EAEGH,IAAI,KAAK,OAAT,GAAmBG,SAAS,CAAC,wBAAD,CAA5B,GAAyD,EAF5D,EAGGH,IAAI,KAAK,SAAT,GAAqBG,SAAS,CAAC,0BAAD,CAA9B,GAA6D,EAHhE,EAIGH,IAAI,KAAK,SAAT,GAAqBG,SAAS,CAAC,0BAAD,CAA9B,GAA6D,EAJhE,CADF;AAQD;;AAED,SAAO,IAAP;AACD,CA5BD;;AA8BAL,eAAe,CAACa,YAAhB,GAA+B;AAC7BC,EAAAA,IAAI,EAAEC,kBAASC,iBAAT,CAA2BF,IADJ;AAE7BT,EAAAA,SAAS,EAAEU,kBAASC,iBAAT,CAA2BX;AAFT,CAA/B;AAKAL,eAAe,CAACiB,SAAhB,2CAA4B;AAC1Bd,EAAAA,eAAe,EAAEe,mBAAUC,IADD;AAE1BjB,EAAAA,IAAI,EAAEgB,mBAAUE,MAFU;AAG1BnB,EAAAA,IAAI,EAAEiB,mBAAUE;AAHU,CAA5B;;AAMA,MAAMC,SAAS,GAAG,CAAC;AAACC,EAAAA,KAAD;AAAQC,EAAAA,KAAR;AAAeC,EAAAA;AAAf,CAAD,KAAmC;AACnD,sBACE;AACE,IAAA,SAAS,EAAE,yBACTzB,gBAAMuB,KADG,EAETG,gBAFS,EAGTD,aAAa,GAAGzB,gBAAM2B,UAAT,GAAsB3B,gBAAM4B,SAHhC,EAITJ,KAAK,GAAGxB,gBAAMwB,KAAT,GAAiB,IAJb,CADb;AAOE,iBAAU,OAPZ;AAQE,IAAA,KAAK,EAAED,KART,CASE;AATF;AAUE,IAAA,uBAAuB,EAAE;AAACM,MAAAA,MAAM,EAAEN;AAAT;AAV3B,IADF;AAcD,CAfD;;AAiBAD,SAAS,CAACJ,SAAV,2CAAsB;AACpBK,EAAAA,KAAK,EAAEJ,mBAAUE,MADG;AAEpBG,EAAAA,KAAK,EAAEL,mBAAUC,IAFG;AAGpBK,EAAAA,aAAa,EAAEN,mBAAUC;AAHL,CAAtB;;AAMA,MAAMU,UAAU,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASP,EAAAA,KAAT;AAAgBC,EAAAA,aAAhB;AAA+BO,EAAAA,eAA/B;AAAgD,gBAAcC;AAA9D,CAAD,KAA8E;AAC/F,QAAMC,SAAS,GAAGF,eAAe,gBAC/B,6BAAC,sCAAD;AACE,IAAA,SAAS,EAAE,yBAAWhC,gBAAMmC,UAAjB,EAA6BV,aAAa,GAAGzB,gBAAMoC,UAAT,GAAsB,IAAhE,CADb;AAEE,IAAA,KAAK,EAAC;AAFR,IAD+B,GAK7B,IALJ;AAOA,sBACE;AACE,iBAAU,QADZ;AAEE,IAAA,KAAK,EAAEL,MAFT;AAGE,kBAAYE,SAHd;AAIE,IAAA,SAAS,EAAE,yBACTjC,gBAAM+B,MADG,EAETN,aAAa,GAAGzB,gBAAM2B,UAAT,GAAsB3B,gBAAMqC,eAFhC,EAGTb,KAAK,GAAGxB,gBAAMwB,KAAT,GAAiB,IAHb;AAJb,kBAUE,2CAAOO,MAAP,CAVF,EAWGG,SAXH,CADF;AAeD,CAvBD;;AAyBAJ,UAAU,CAACZ,SAAX,2CAAuB;AACrBa,EAAAA,MAAM,EAAEZ,mBAAUE,MADG;AAErBG,EAAAA,KAAK,EAAEL,mBAAUC,IAFI;AAGrBK,EAAAA,aAAa,EAAEN,mBAAUC,IAHJ;AAIrBY,EAAAA,eAAe,EAAEb,mBAAUC,IAJN;AAKrB,gBAAcD,mBAAUE;AALH,CAAvB;;AAQA,MAAMiB,WAAW,GAAG,CAAC;AACnBC,EAAAA,OADmB;AAEnBR,EAAAA,MAFmB;AAGnBC,EAAAA,eAAe,GAAG,KAHC;AAInBQ,EAAAA,QAAQ,GAAG,KAJQ;AAKnBhB,EAAAA,KAAK,GAAG,KALW;AAMnBtB,EAAAA,IAAI,GAAGR,KAAK,CAACE,IANM;AAOnB6C,EAAAA,QAPmB;AAQnBlB,EAAAA,KARmB;AASnBpB,EAAAA,IATmB;AAUnBuC,EAAAA,aAVmB;AAWnBC,EAAAA,UAXmB;AAYnBC,EAAAA,KAAK,GAAG,SAZW;AAanB,gBAAcX;AAbK,CAAD,KAcd;AACJ,QAAMY,gBAAgB,GAAG,SAAzB;AACA,QAAMC,wBAAwB,GAAG;AAC/BC,IAAAA,eAAe,EAAEF,gBADc;AAE/BG,IAAAA,KAAK,EAAG,GAAEP,QAAQ,GAAG,GAAI;AAFM,GAAjC;AAIA,QAAMrC,eAAe,GAAG,wCAAkBD,IAAlB,CAAxB;AACA,QAAMsB,aAAa,GAAGtB,IAAI,KAAK,QAA/B;AACA,QAAM8C,cAAc,GAAG9C,IAAI,KAAK,SAAhC;AAEA,QAAM+C,WAAW,GACfhD,IAAI,KAAKR,KAAK,CAACC,IAAf,IAAwB,CAAC6B,KAAD,IAAU,CAACgB,QAAnC,gBACE;AAAK,IAAA,SAAS,EAAE,CAAC,qBAAMC,QAAN,CAAD,GAAmBzC,gBAAMmD,eAAzB,GAA2CnD,gBAAMoD;AAAjE,KACG,CAACZ,QAAD,gBACC;AACE,iBAAU,UADZ;AAEE,IAAA,SAAS,EAAExC,gBAAMyC,QAFnB;AAGE,IAAA,KAAK,EAAEK,wBAHT;AAIE,kBAAY,mBAAI,aAAJ,EAAmBb,SAAnB;AAJd,IADD,GAOG,IARN,CADF,GAWI,IAZN;AAcA,QAAMoB,YAAY,GAAGd,OAAO,gBAC1B;AACE,IAAA,SAAS,EAAE,yBAAWvC,gBAAMqD,YAAjB,EAA+B5B,aAAa,GAAGzB,gBAAMoC,UAAT,GAAsB,IAAlE,CADb;AAEE,kBAAY,mBAAI,UAAJ,EAAgBH,SAAhB;AAFd,kBAIE,6BAAC,8CAAD;AAAa,IAAA,MAAM,EAAE;AAArB,IAJF,CAD0B,GAOxB,IAPJ;AASA,sBACE;AACE,iBAAU,MADZ;AAEE,IAAA,SAAS,EAAE,yBACTpC,MAAM,CAAC+C,KAAD,CADG,EAET5C,gBAAMsD,WAFG,EAGTpD,IAAI,KAAKR,KAAK,CAACC,IAAf,GAAsBK,gBAAMuD,IAA5B,GAAmCvD,gBAAMwD,IAHhC,EAIThB,QAAQ,GAAGxC,gBAAMyD,mBAAT,GAA+B,IAJ9B,EAKTrD,eAAe,GAAGJ,gBAAMI,eAAT,GAA2B,IALjC;AAFb,kBAUE,6BAAC,eAAD;AAAiB,IAAA,IAAI,EAAEF,IAAvB;AAA6B,IAAA,IAAI,EAAEC,IAAnC;AAAyC,IAAA,eAAe,EAAEC;AAA1D,IAVF,eAWE;AACE,IAAA,SAAS,EAAE,yBAAWJ,gBAAM0D,QAAjB,EAA2BT,cAAc,GAAGjD,gBAAM2D,qBAAT,GAAiC,IAA1E;AADb,kBAGE;AAAK,IAAA,SAAS,EAAE3D,gBAAM4D;AAAtB,KACGP,YADH,EAEG,CAAC7B,KAAD,IAAUmB,UAAV,IAAwBD,aAAxB,IAAyCjB,aAAzC,gBACC,6BAAC,qBAAD;AAAc,IAAA,QAAQ,EAAEiB,aAAxB;AAAuC,IAAA,KAAK,EAAEC;AAA9C,IADD,GAEG,IAJN,CAHF,eASE,6BAAC,SAAD;AAAW,IAAA,KAAK,EAAEpB,KAAlB;AAAyB,IAAA,KAAK,EAAEC,KAAhC;AAAuC,IAAA,aAAa,EAAEC;AAAtD,IATF,eAUE,6BAAC,UAAD;AACE,IAAA,MAAM,EAAEM,MADV;AAEE,IAAA,KAAK,EAAEP,KAFT;AAGE,IAAA,aAAa,EAAEC,aAHjB;AAIE,IAAA,eAAe,EAAEO,eAJnB;AAKE,kBAAY,mBAAI,QAAJ,EAAcC,SAAd;AALd,IAVF,CAXF,EA6BGiB,WA7BH,CADF;AAiCD,CAhFD;;AAkFAZ,WAAW,CAACxB,YAAZ,GAA2B;AACzBC,EAAAA,IAAI,EAAEC,kBAASC,iBAAT,CAA2BF;AADR,CAA3B;AAIAuB,WAAW,CAACpB,SAAZ,2CAAwB;AACtBqB,EAAAA,OAAO,EAAEpB,mBAAUC,IADG;AAEtBW,EAAAA,MAAM,EAAEZ,mBAAUE,MAFI;AAGtBW,EAAAA,eAAe,EAAEb,mBAAUC,IAHL;AAItBoB,EAAAA,QAAQ,EAAErB,mBAAUC,IAJE;AAKtBI,EAAAA,KAAK,EAAEL,mBAAUC,IALK;AAMtBqB,EAAAA,QAAQ,EAAEtB,mBAAU0C,MANE;AAOtBtC,EAAAA,KAAK,EAAEJ,mBAAUE,MAPK;AAQtBlB,EAAAA,IAAI,EAAEgB,mBAAUE,MARM;AAStBnB,EAAAA,IAAI,EAAEiB,mBAAUE,MATM;AAUtBqB,EAAAA,aAAa,EAAEoB,sBAAa5C,SAAb,CAAuB6C,QAVhB;AAWtBpB,EAAAA,UAAU,EAAEmB,sBAAa5C,SAAb,CAAuB8C,KAXb;AAYtBpB,EAAAA,KAAK,EAAEzB,mBAAU8C,KAAV,CAAgB,oBAAKpE,MAAL,CAAhB,CAZe;AAatB,gBAAcsB,mBAAU+C,KAAV,CAAgB;AAC5BnC,IAAAA,MAAM,EAAEZ,mBAAUE,MADU;AAE5B8C,IAAAA,WAAW,EAAEhD,mBAAUE,MAFK;AAG5B+C,IAAAA,QAAQ,EAAEjD,mBAAUE;AAHQ,GAAhB;AAbQ,CAAxB;eAoBeiB,W","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isNil, keys} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyAdaptive as AdaptivIcon,\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport ContentBadge from '../../atom/content-badge';\nimport {innerHTML} from '../../atom/label/style.css';\nimport style from './style.css';\n\nexport const MODES = {\n HERO: 'hero',\n CARD: 'card'\n};\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst ContentTypeInfo = ({mode, type, externalContent}, context) => {\n const {translate} = context;\n if (mode !== MODES.CARD) {\n return null;\n }\n\n if (type === 'chapter') {\n return (\n <div className={style.microLearningIcon}>\n <TimerIcon className={style.timerIcon} />\n <span className={style.microLearninglabel}>{\"5' learning\"}</span>\n </div>\n );\n }\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const textColor = EXTERNAL_CONTENT_ICONS[type].color;\n\n return (\n <div className={style.contentTypeInfo} style={{color: textColor}}>\n {type === 'scorm' ? translate('external_content_scorm') : ''}\n {type === 'video' ? translate('external_content_video') : ''}\n {type === 'article' ? translate('external_content_article') : ''}\n {type === 'podcast' ? translate('external_content_podcast') : ''}\n </div>\n );\n }\n\n return null;\n};\n\nContentTypeInfo.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContentTypeInfo.propTypes = {\n externalContent: PropTypes.bool,\n type: PropTypes.string,\n mode: PropTypes.string\n};\n\nconst CardTitle = ({title, empty, courseContent}) => {\n return (\n <div\n className={classnames(\n style.title,\n innerHTML,\n courseContent ? style.lightTitle : style.darkTitle,\n empty ? style.empty : null\n )}\n data-name=\"title\"\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n};\n\nCardTitle.propTypes = {\n title: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool\n};\n\nconst AuthorName = ({author, empty, courseContent, certifiedAuthor, 'aria-label': ariaLabel}) => {\n const checkIcon = certifiedAuthor ? (\n <CheckIcon\n className={classnames(style.authorIcon, courseContent ? style.iconShadow : null)}\n color=\"inherit\"\n />\n ) : null;\n\n return (\n <div\n data-name=\"author\"\n title={author}\n aria-label={ariaLabel}\n className={classnames(\n style.author,\n courseContent ? style.lightTitle : style.darkAuthorTitle,\n empty ? style.empty : null\n )}\n >\n <span>{author}</span>\n {checkIcon}\n </div>\n );\n};\n\nAuthorName.propTypes = {\n author: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool,\n certifiedAuthor: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst ContentInfo = ({\n adaptiv,\n author,\n certifiedAuthor = false,\n disabled = false,\n empty = false,\n mode = MODES.CARD,\n progress,\n title,\n type,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': ariaLabel\n}) => {\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${progress * 100}%`\n };\n const externalContent = isExternalContent(type);\n const courseContent = type === 'course';\n const chapterContent = type === 'chapter';\n\n const progressBar =\n mode === MODES.HERO || (!empty && !disabled) ? (\n <div className={!isNil(progress) ? style.progressWrapper : style.hideProgressBar}>\n {!disabled ? (\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n aria-label={get('progression', ariaLabel)}\n />\n ) : null}\n </div>\n ) : null;\n\n const adaptiveIcon = adaptiv ? (\n <div\n className={classnames(style.adaptiveIcon, courseContent ? style.iconShadow : null)}\n aria-label={get('adaptive', ariaLabel)}\n >\n <AdaptivIcon height={25} />\n </div>\n ) : null;\n\n return (\n <div\n data-name=\"info\"\n className={classnames(\n THEMES[theme],\n style.infoWrapper,\n mode === MODES.HERO ? style.hero : style.card,\n disabled ? style.progressBarDisabled : null,\n externalContent ? style.externalContent : null\n )}\n >\n <ContentTypeInfo mode={mode} type={type} externalContent={externalContent} />\n <div\n className={classnames(style.cardInfo, chapterContent ? style.microLearningCardInfo : null)}\n >\n <div className={style.iconWrapper}>\n {adaptiveIcon}\n {!empty && badgeLabel && badgeCategory && courseContent ? (\n <ContentBadge category={badgeCategory} label={badgeLabel} />\n ) : null}\n </div>\n <CardTitle title={title} empty={empty} courseContent={courseContent} />\n <AuthorName\n author={author}\n empty={empty}\n courseContent={courseContent}\n certifiedAuthor={certifiedAuthor}\n aria-label={get('author', ariaLabel)}\n />\n </div>\n {progressBar}\n </div>\n );\n};\n\nContentInfo.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nContentInfo.propTypes = {\n adaptiv: PropTypes.bool,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n disabled: PropTypes.bool,\n empty: PropTypes.bool,\n progress: PropTypes.number,\n title: PropTypes.string,\n type: PropTypes.string,\n mode: PropTypes.string,\n badgeCategory: ContentBadge.propTypes.category,\n badgeLabel: ContentBadge.propTypes.label,\n theme: PropTypes.oneOf(keys(THEMES)),\n 'aria-label': PropTypes.shape({\n author: PropTypes.string,\n progression: PropTypes.string,\n adaptive: PropTypes.string\n })\n};\n\nexport default ContentInfo;\n"],"file":"index.js"}
@@ -9,7 +9,12 @@ var _default = {
9
9
  props: {
10
10
  mode: _.MODES.CARD,
11
11
  author: 'Coorpcademy',
12
- title: '<p align="right">From Mass Market to One to One targeting</p>'
12
+ title: '<p align="right">From Mass Market to One to One targeting</p>',
13
+ 'aria-label': {
14
+ author: 'auther name',
15
+ progression: 'you have done 65% of the course',
16
+ adaptive: 'this is an adaptive course'
17
+ }
13
18
  }
14
19
  };
15
20
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/molecule/card-content/test/fixtures/card-no-progress-bar.js"],"names":["props","mode","MODES","CARD","author","title"],"mappings":";;;;;AAAA;;eAEe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAEC,QAAMC,IADP;AAELC,IAAAA,MAAM,EAAE,aAFH;AAGLC,IAAAA,KAAK,EAAE;AAHF;AADM,C","sourcesContent":["import {MODES} from '../..';\n\nexport default {\n props: {\n mode: MODES.CARD,\n author: 'Coorpcademy',\n title: '<p align=\"right\">From Mass Market to One to One targeting</p>'\n }\n};\n"],"file":"card-no-progress-bar.js"}
1
+ {"version":3,"sources":["../../../../../src/molecule/card-content/test/fixtures/card-no-progress-bar.js"],"names":["props","mode","MODES","CARD","author","title","progression","adaptive"],"mappings":";;;;;AAAA;;eAEe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAEC,QAAMC,IADP;AAELC,IAAAA,MAAM,EAAE,aAFH;AAGLC,IAAAA,KAAK,EAAE,+DAHF;AAIL,kBAAc;AACZD,MAAAA,MAAM,EAAE,aADI;AAEZE,MAAAA,WAAW,EAAE,iCAFD;AAGZC,MAAAA,QAAQ,EAAE;AAHE;AAJT;AADM,C","sourcesContent":["import {MODES} from '../..';\n\nexport default {\n props: {\n mode: MODES.CARD,\n author: 'Coorpcademy',\n title: '<p align=\"right\">From Mass Market to One to One targeting</p>',\n 'aria-label': {\n author: 'auther name',\n progression: 'you have done 65% of the course',\n adaptive: 'this is an adaptive course'\n }\n }\n};\n"],"file":"card-no-progress-bar.js"}
@@ -48,6 +48,10 @@
48
48
  .answerText {
49
49
  position: relative;
50
50
  color: cm_blue_900;
51
+ hyphens: auto;
52
+ -ms-word-break: break-all;
53
+ word-break: break-all;
54
+ word-break: break-word;
51
55
  }
52
56
 
53
57
  .selectedAnswer .answerText {
@@ -3,6 +3,8 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
5
 
6
+ var _getOr2 = _interopRequireDefault(require("lodash/fp/getOr"));
7
+
6
8
  var _orderBy2 = _interopRequireDefault(require("lodash/fp/orderBy"));
7
9
 
8
10
  var _filter2 = _interopRequireDefault(require("lodash/fp/filter"));
@@ -19,6 +21,8 @@ var _provider = _interopRequireDefault(require("../../../atom/provider"));
19
21
 
20
22
  var _style = require("../../../atom/label/style.css");
21
23
 
24
+ var _getShadowBoxColorFromPrimary = require("../../../util/get-shadow-box-color-from-primary");
25
+
22
26
  var _style2 = _interopRequireDefault(require("./style.css"));
23
27
 
24
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -54,7 +58,7 @@ const Choices = ({
54
58
  selected
55
59
  } = answer;
56
60
  return /*#__PURE__*/_react.default.createElement("div", {
57
- className: (0, _classnames.default)(selected ? _style2.default.invisibleAnswer : _style2.default.answer, _style.innerHTML),
61
+ className: (0, _classnames.default)(selected ? _style2.default.invisibleAnswer : _style2.default.unselected, _style.innerHTML),
58
62
  "data-name": "answer",
59
63
  onClick: onClick,
60
64
  key: key // eslint-disable-next-line react/no-danger
@@ -65,7 +69,7 @@ const Choices = ({
65
69
  });
66
70
  });
67
71
  return /*#__PURE__*/_react.default.createElement("div", {
68
- className: _style2.default.qcmDrag
72
+ className: _style2.default.choices
69
73
  }, answersViews);
70
74
  };
71
75
 
@@ -73,9 +77,10 @@ Choices.propTypes = process.env.NODE_ENV !== "production" ? {
73
77
  answers: AnswersPropTypes
74
78
  } : {};
75
79
 
76
- const SelectionBox = ({
80
+ const SelectedAnswerSections = ({
77
81
  answers,
78
- help
82
+ help,
83
+ backgroundColor
79
84
  }) => {
80
85
  const selectedAnswers = (0, _pipe2.default)((0, _filter2.default)('selected'), (0, _orderBy2.default)('order', 'asc'))(answers);
81
86
  const selectedAnswersViews = selectedAnswers.map((answer, key) => {
@@ -84,15 +89,31 @@ const SelectionBox = ({
84
89
  title
85
90
  } = answer;
86
91
  return /*#__PURE__*/_react.default.createElement("div", {
87
- className: (0, _classnames.default)(_style2.default.selectedAnswer, _style.innerHTML),
88
92
  "data-selected": "true",
89
93
  onClick: onClick,
90
- key: key // eslint-disable-next-line react/no-danger
94
+ key: key,
95
+ "data-name": "selectedAnswer",
96
+ className: _style2.default.selected,
97
+ style: {
98
+ boxShadow: `0px 4px 16px ${(0, _getShadowBoxColorFromPrimary.getShadowBoxColorFromPrimary)(backgroundColor)}`
99
+ }
100
+ }, /*#__PURE__*/_react.default.createElement("div", {
101
+ "data-name": "answerBackground",
102
+ style: {
103
+ backgroundColor
104
+ },
105
+ className: _style2.default.background
106
+ }), /*#__PURE__*/_react.default.createElement("div", {
107
+ className: _style2.default.content
108
+ }, /*#__PURE__*/_react.default.createElement("span", {
109
+ "data-name": "answerContent",
110
+ className: (0, _classnames.default)(_style2.default.selectedAnswerText, _style.innerHTML),
111
+ title: title // eslint-disable-next-line react/no-danger
91
112
  ,
92
113
  dangerouslySetInnerHTML: {
93
114
  __html: title
94
115
  }
95
- });
116
+ })));
96
117
  });
97
118
 
98
119
  if (selectedAnswersViews.length > 0) {
@@ -108,30 +129,41 @@ const SelectionBox = ({
108
129
  }
109
130
  };
110
131
 
111
- SelectionBox.propTypes = process.env.NODE_ENV !== "production" ? {
132
+ SelectedAnswerSections.propTypes = process.env.NODE_ENV !== "production" ? {
112
133
  answers: AnswersPropTypes,
113
- help: EmptyView.propTypes.help
134
+ help: EmptyView.propTypes.help,
135
+ backgroundColor: _propTypes.default.string
114
136
  } : {};
115
137
 
116
138
  const QcmDrag = ({
117
139
  answers,
118
140
  help
119
- }, context) => /*#__PURE__*/_react.default.createElement("div", {
120
- className: _style2.default.qcmDrag
121
- }, /*#__PURE__*/_react.default.createElement(SelectionBox, {
122
- answers: answers,
123
- help: help
124
- }), /*#__PURE__*/_react.default.createElement("div", {
125
- "data-name": "qcm-drag-answers",
126
- className: _style2.default.answers
127
- }, /*#__PURE__*/_react.default.createElement(Choices, {
128
- answers: answers
129
- })));
141
+ }, context) => {
142
+ const {
143
+ skin
144
+ } = context;
145
+ const primarySkinColor = (0, _getOr2.default)('#00B0FF', 'common.primary', skin);
146
+ return /*#__PURE__*/_react.default.createElement("div", {
147
+ className: _style2.default.wrapper
148
+ }, /*#__PURE__*/_react.default.createElement(SelectedAnswerSections, {
149
+ answers: answers,
150
+ help: help,
151
+ backgroundColor: primarySkinColor
152
+ }), /*#__PURE__*/_react.default.createElement("div", {
153
+ "data-name": "qcm-drag-answers",
154
+ className: _style2.default.answers
155
+ }, /*#__PURE__*/_react.default.createElement(Choices, {
156
+ answers: answers
157
+ })));
158
+ };
130
159
 
131
160
  QcmDrag.propTypes = process.env.NODE_ENV !== "production" ? {
132
161
  answers: AnswersPropTypes,
133
- help: SelectionBox.propTypes.help
162
+ help: SelectedAnswerSections.propTypes.help
134
163
  } : {};
164
+ QcmDrag.contextTypes = {
165
+ skin: _provider.default.childContextTypes.skin
166
+ };
135
167
  var _default = QcmDrag;
136
168
  exports.default = _default;
137
169
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":["AnswersPropTypes","PropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","style","emptySpan","contextTypes","translate","Provider","childContextTypes","propTypes","Choices","answers","answersViews","map","answer","key","invisibleAnswer","innerHTML","__html","qcmDrag","SelectionBox","selectedAnswers","selectedAnswersViews","selectedAnswer","length","emptyAnswers","QcmDrag","context"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,gBAAN,2CAAyBC,mBAAUC,OAAV,CACvBD,mBAAUE,KAAV,CAAgB;AACdC,EAAAA,OAAO,EAAEH,mBAAUI,IADL;AAEdC,EAAAA,KAAK,EAAEL,mBAAUM,MAFH;AAGdC,EAAAA,QAAQ,EAAEP,mBAAUQ,IAHN;AAIdC,EAAAA,KAAK,EAAET,mBAAUU,MAJH;AAKdC,EAAAA,IAAI,EAAEX,mBAAUU;AALF,CAAhB,CADuB,CAAzB;;AAUA,MAAME,SAAS,GAAG,CAAC;AAACD,EAAAA;AAAD,CAAD,kBAAY;AAAM,EAAA,SAAS,EAAEE,gBAAMC;AAAvB,GAAmCH,IAAnC,CAA9B;;AAEAC,SAAS,CAACG,YAAV,GAAyB;AACvBC,EAAAA,SAAS,EAAEC,kBAASC,iBAAT,CAA2BF;AADf,CAAzB;AAIAJ,SAAS,CAACO,SAAV,2CAAsB;AACpBR,EAAAA,IAAI,EAAEX,mBAAUU;AADI,CAAtB;;AAIA,MAAMU,OAAO,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,KAAe;AAC7B,QAAMC,YAAY,GAAGD,OAAO,CAACE,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;AAChD,UAAM;AAACtB,MAAAA,OAAD;AAAUM,MAAAA,KAAV;AAAiBF,MAAAA;AAAjB,QAA6BiB,MAAnC;AACA,wBACE;AACE,MAAA,SAAS,EAAE,yBAAWjB,QAAQ,GAAGM,gBAAMa,eAAT,GAA2Bb,gBAAMW,MAApD,EAA4DG,gBAA5D,CADb;AAEE,mBAAU,QAFZ;AAGE,MAAA,OAAO,EAAExB,OAHX;AAIE,MAAA,GAAG,EAAEsB,GAJP,CAKE;AALF;AAME,MAAA,uBAAuB,EAAE;AAACG,QAAAA,MAAM,EAAEnB;AAAT;AAN3B,MADF;AAUD,GAZoB,CAArB;AAcA,sBAAO;AAAK,IAAA,SAAS,EAAEI,gBAAMgB;AAAtB,KAAgCP,YAAhC,CAAP;AACD,CAhBD;;AAkBAF,OAAO,CAACD,SAAR,2CAAoB;AAClBE,EAAAA,OAAO,EAAEtB;AADS,CAApB;;AAIA,MAAM+B,YAAY,GAAG,CAAC;AAACT,EAAAA,OAAD;AAAUV,EAAAA;AAAV,CAAD,KAAqB;AACxC,QAAMoB,eAAe,GAAG,oBAAK,sBAAO,UAAP,CAAL,EAAyB,uBAAQ,OAAR,EAAiB,KAAjB,CAAzB,EAAkDV,OAAlD,CAAxB;AACA,QAAMW,oBAAoB,GAAGD,eAAe,CAACR,GAAhB,CAAoB,CAACC,MAAD,EAASC,GAAT,KAAiB;AAChE,UAAM;AAACtB,MAAAA,OAAD;AAAUM,MAAAA;AAAV,QAAmBe,MAAzB;AACA,wBACE;AACE,MAAA,SAAS,EAAE,yBAAWX,gBAAMoB,cAAjB,EAAiCN,gBAAjC,CADb;AAEE,uBAAc,MAFhB;AAGE,MAAA,OAAO,EAAExB,OAHX;AAIE,MAAA,GAAG,EAAEsB,GAJP,CAKE;AALF;AAME,MAAA,uBAAuB,EAAE;AAACG,QAAAA,MAAM,EAAEnB;AAAT;AAN3B,MADF;AAUD,GAZ4B,CAA7B;;AAcA,MAAIuB,oBAAoB,CAACE,MAArB,GAA8B,CAAlC,EAAqC;AACnC,wBAAO;AAAK,MAAA,SAAS,EAAErB,gBAAMkB;AAAtB,OAAwCC,oBAAxC,CAAP;AACD,GAFD,MAEO;AACL,wBACE;AAAK,MAAA,SAAS,EAAEnB,gBAAMsB;AAAtB,oBACE,6BAAC,SAAD;AAAW,MAAA,IAAI,EAAExB;AAAjB,MADF,CADF;AAKD;AACF,CAzBD;;AA2BAmB,YAAY,CAACX,SAAb,2CAAyB;AACvBE,EAAAA,OAAO,EAAEtB,gBADc;AAEvBY,EAAAA,IAAI,EAAEC,SAAS,CAACO,SAAV,CAAoBR;AAFH,CAAzB;;AAKA,MAAMyB,OAAO,GAAG,CAAC;AAACf,EAAAA,OAAD;AAAUV,EAAAA;AAAV,CAAD,EAAkB0B,OAAlB,kBACd;AAAK,EAAA,SAAS,EAAExB,gBAAMgB;AAAtB,gBACE,6BAAC,YAAD;AAAc,EAAA,OAAO,EAAER,OAAvB;AAAgC,EAAA,IAAI,EAAEV;AAAtC,EADF,eAEE;AAAK,eAAU,kBAAf;AAAkC,EAAA,SAAS,EAAEE,gBAAMQ;AAAnD,gBACE,6BAAC,OAAD;AAAS,EAAA,OAAO,EAAEA;AAAlB,EADF,CAFF,CADF;;AASAe,OAAO,CAACjB,SAAR,2CAAoB;AAClBE,EAAAA,OAAO,EAAEtB,gBADS;AAElBY,EAAAA,IAAI,EAAEmB,YAAY,CAACX,SAAb,CAAuBR;AAFX,CAApB;eAKeyB,O","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":["AnswersPropTypes","PropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","style","emptySpan","contextTypes","translate","Provider","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 {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
  }
@@ -68,6 +68,7 @@ const QCMImage = (props, context) => {
68
68
  "data-name": "answerText",
69
69
  className: _style2.default.titleWrapper
70
70
  }, /*#__PURE__*/_react.default.createElement("div", {
71
+ title: title,
71
72
  className: (0, _classnames.default)(_style2.default.title, _style.innerHTML) // eslint-disable-next-line react/no-danger
72
73
  ,
73
74
  dangerouslySetInnerHTML: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"names":["QCMImage","props","context","answers","skin","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","boxShadow","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","innerHTML","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACnC,QAAM;AAACC,IAAAA;AAAD,MAAYF,KAAlB;AACA,QAAM;AAACG,IAAAA;AAAD,MAASF,OAAf;AACA,QAAMG,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAAzB;AAEA,QAAME,YAAY,GAAGH,OAAO,CAACI,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;AAChD,UAAM;AAACC,MAAAA,OAAD;AAAUC,MAAAA,KAAV;AAAiBC,MAAAA,QAAjB;AAA2BC,MAAAA,KAA3B;AAAkCC,MAAAA;AAAlC,QAA+CN,MAArD;AAEA,wBACE;AACE,MAAA,OAAO,EAAEE,OADX;AAEE,uBAAeE,QAFjB;AAGE,mBAAU,eAHZ;AAIE,MAAA,KAAK,eACCA,QAAQ,IAAI;AACdG,QAAAA,SAAS,EAAG,cAAa,gEAA6BV,gBAA7B,CAA+C;AAD1D,OADb,CAJP;AASE,MAAA,SAAS,EAAEO,QAAQ,GAAGI,gBAAMJ,QAAT,GAAoBI,gBAAMR,MAT/C;AAUE,MAAA,GAAG,EAAEC;AAVP,oBAYE;AACE,mBAAU,kBADZ;AAEE,MAAA,KAAK,EAAE;AACLQ,QAAAA,eAAe,EAAEL,QAAQ,GAAGP,gBAAH,GAAsB;AAD1C,OAFT;AAKE,MAAA,SAAS,EAAEW,gBAAME;AALnB,MAZF,eAmBE;AAAK,mBAAU,eAAf;AAA+B,MAAA,SAAS,EAAEF,gBAAMG;AAAhD,oBACE;AACE,MAAA,SAAS,EAAEH,gBAAMI,YADnB;AAEE,mBAAU,aAFZ;AAGE,oBAAYN,SAAS,IAAIH,KAH3B;AAIE,MAAA,KAAK,EAAE;AACLU,QAAAA,eAAe,EAAG,OAAMR,KAAM;AADzB;AAJT,MADF,eASE;AAAK,mBAAU,YAAf;AAA4B,MAAA,SAAS,EAAEG,gBAAMM;AAA7C,oBACE;AACE,MAAA,SAAS,EAAE,yBAAWN,gBAAML,KAAjB,EAAwBY,gBAAxB,CADb,CAEE;AAFF;AAGE,MAAA,uBAAuB,EAAE;AAACC,QAAAA,MAAM,EAAEb;AAAT;AAH3B,MADF,CATF,CAnBF,CADF;AAuCD,GA1CoB,CAArB;AA4CA,sBACE;AAAK,iBAAU,qBAAf;AAAqC,IAAA,SAAS,EAAEK,gBAAMS;AAAtD,KACGnB,YADH,CADF;AAKD,CAtDD;;AAwDAN,QAAQ,CAAC0B,YAAT,GAAwB;AACtBtB,EAAAA,IAAI,EAAEuB,kBAASC,iBAAT,CAA2BxB;AADX,CAAxB;AAIAJ,QAAQ,CAAC6B,SAAT,2CAAqB;AACnB1B,EAAAA,OAAO,EAAE2B,mBAAUC,OAAV,CACPD,mBAAUE,KAAV,CAAgB;AACdrB,IAAAA,KAAK,EAAEmB,mBAAUG,MADH;AAEdrB,IAAAA,QAAQ,EAAEkB,mBAAUI,IAFN;AAGdxB,IAAAA,OAAO,EAAEoB,mBAAUK,IAHL;AAIdtB,IAAAA,KAAK,EAAEiB,mBAAUG,MAJH;AAKdnB,IAAAA,SAAS,EAAEgB,mBAAUG;AALP,GAAhB,CADO;AADU,CAArB;eAYejC,Q","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":["QCMImage","props","context","answers","skin","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","boxShadow","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","innerHTML","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACnC,QAAM;AAACC,IAAAA;AAAD,MAAYF,KAAlB;AACA,QAAM;AAACG,IAAAA;AAAD,MAASF,OAAf;AACA,QAAMG,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAAzB;AAEA,QAAME,YAAY,GAAGH,OAAO,CAACI,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;AAChD,UAAM;AAACC,MAAAA,OAAD;AAAUC,MAAAA,KAAV;AAAiBC,MAAAA,QAAjB;AAA2BC,MAAAA,KAA3B;AAAkCC,MAAAA;AAAlC,QAA+CN,MAArD;AAEA,wBACE;AACE,MAAA,OAAO,EAAEE,OADX;AAEE,uBAAeE,QAFjB;AAGE,mBAAU,eAHZ;AAIE,MAAA,KAAK,eACCA,QAAQ,IAAI;AACdG,QAAAA,SAAS,EAAG,cAAa,gEAA6BV,gBAA7B,CAA+C;AAD1D,OADb,CAJP;AASE,MAAA,SAAS,EAAEO,QAAQ,GAAGI,gBAAMJ,QAAT,GAAoBI,gBAAMR,MAT/C;AAUE,MAAA,GAAG,EAAEC;AAVP,oBAYE;AACE,mBAAU,kBADZ;AAEE,MAAA,KAAK,EAAE;AACLQ,QAAAA,eAAe,EAAEL,QAAQ,GAAGP,gBAAH,GAAsB;AAD1C,OAFT;AAKE,MAAA,SAAS,EAAEW,gBAAME;AALnB,MAZF,eAmBE;AAAK,mBAAU,eAAf;AAA+B,MAAA,SAAS,EAAEF,gBAAMG;AAAhD,oBACE;AACE,MAAA,SAAS,EAAEH,gBAAMI,YADnB;AAEE,mBAAU,aAFZ;AAGE,oBAAYN,SAAS,IAAIH,KAH3B;AAIE,MAAA,KAAK,EAAE;AACLU,QAAAA,eAAe,EAAG,OAAMR,KAAM;AADzB;AAJT,MADF,eASE;AAAK,mBAAU,YAAf;AAA4B,MAAA,SAAS,EAAEG,gBAAMM;AAA7C,oBACE;AACE,MAAA,KAAK,EAAEX,KADT;AAEE,MAAA,SAAS,EAAE,yBAAWK,gBAAML,KAAjB,EAAwBY,gBAAxB,CAFb,CAGE;AAHF;AAIE,MAAA,uBAAuB,EAAE;AAACC,QAAAA,MAAM,EAAEb;AAAT;AAJ3B,MADF,CATF,CAnBF,CADF;AAwCD,GA3CoB,CAArB;AA6CA,sBACE;AAAK,iBAAU,qBAAf;AAAqC,IAAA,SAAS,EAAEK,gBAAMS;AAAtD,KACGnB,YADH,CADF;AAKD,CAvDD;;AAyDAN,QAAQ,CAAC0B,YAAT,GAAwB;AACtBtB,EAAAA,IAAI,EAAEuB,kBAASC,iBAAT,CAA2BxB;AADX,CAAxB;AAIAJ,QAAQ,CAAC6B,SAAT,2CAAqB;AACnB1B,EAAAA,OAAO,EAAE2B,mBAAUC,OAAV,CACPD,mBAAUE,KAAV,CAAgB;AACdrB,IAAAA,KAAK,EAAEmB,mBAAUG,MADH;AAEdrB,IAAAA,QAAQ,EAAEkB,mBAAUI,IAFN;AAGdxB,IAAAA,OAAO,EAAEoB,mBAAUK,IAHL;AAIdtB,IAAAA,KAAK,EAAEiB,mBAAUG,MAJH;AAKdnB,IAAAA,SAAS,EAAEgB,mBAAUG;AALP,GAAhB,CADO;AADU,CAArB;eAYejC,Q","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"}