@coorpacademy/components 11.7.3-alpha.7 → 11.7.4-alpha.26

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 (211) hide show
  1. package/README.md +3 -3
  2. package/es/atom/input-search/index.d.ts.map +1 -1
  3. package/es/atom/input-search/index.js +0 -1
  4. package/es/atom/input-search/index.js.map +1 -1
  5. package/es/atom/input-switch/index.d.ts +0 -1
  6. package/es/atom/input-switch/index.d.ts.map +1 -1
  7. package/es/atom/input-switch/index.js +2 -5
  8. package/es/atom/input-switch/index.js.map +1 -1
  9. package/es/atom/loader/index.native.d.ts +10 -0
  10. package/es/atom/loader/index.native.d.ts.map +1 -0
  11. package/es/atom/loader/index.native.js +192 -0
  12. package/es/atom/loader/index.native.js.map +1 -0
  13. package/es/atom/select/index.d.ts +18 -1
  14. package/es/atom/select/index.d.ts.map +1 -1
  15. package/es/atom/select/index.js +29 -17
  16. package/es/atom/select/index.js.map +1 -1
  17. package/es/molecule/answer/index.d.ts.map +1 -1
  18. package/es/molecule/answer/index.js +19 -6
  19. package/es/molecule/answer/index.js.map +1 -1
  20. package/es/molecule/brand-form-group/index.d.ts +18 -5
  21. package/es/molecule/cm-popin/types.d.ts +0 -1
  22. package/es/molecule/cm-popin/types.d.ts.map +1 -1
  23. package/es/molecule/draggable-list/index.d.ts +0 -1
  24. package/es/molecule/filters/filters-wrapper.d.ts +1 -0
  25. package/es/molecule/filters/filters-wrapper.d.ts.map +1 -1
  26. package/es/molecule/filters/filters-wrapper.js +10 -9
  27. package/es/molecule/filters/filters-wrapper.js.map +1 -1
  28. package/es/molecule/filters/index.d.ts +10 -2
  29. package/es/molecule/filters/index.d.ts.map +1 -1
  30. package/es/molecule/filters/index.js +5 -9
  31. package/es/molecule/filters/index.js.map +1 -1
  32. package/es/molecule/questions/drop-down/index.d.ts +1 -0
  33. package/es/molecule/questions/drop-down/index.d.ts.map +1 -1
  34. package/es/molecule/questions/drop-down/index.js +9 -5
  35. package/es/molecule/questions/drop-down/index.js.map +1 -1
  36. package/es/molecule/questions/qcm/index.d.ts +1 -0
  37. package/es/molecule/questions/qcm/index.d.ts.map +1 -1
  38. package/es/molecule/questions/qcm/index.js +9 -5
  39. package/es/molecule/questions/qcm/index.js.map +1 -1
  40. package/es/molecule/questions/qcm-drag/index.d.ts +3 -1
  41. package/es/molecule/questions/qcm-drag/index.d.ts.map +1 -1
  42. package/es/molecule/questions/qcm-drag/index.js +9 -5
  43. package/es/molecule/questions/qcm-drag/index.js.map +1 -1
  44. package/es/molecule/questions/qcm-graphic/index.d.ts +1 -0
  45. package/es/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
  46. package/es/molecule/questions/qcm-graphic/index.js +9 -5
  47. package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
  48. package/es/molecule/questions/question-range/index.d.ts +1 -0
  49. package/es/molecule/questions/question-range/index.d.ts.map +1 -1
  50. package/es/molecule/questions/question-range/index.js +10 -6
  51. package/es/molecule/questions/question-range/index.js.map +1 -1
  52. package/es/molecule/questions/template/index.d.ts +6 -2
  53. package/es/molecule/questions/template/index.d.ts.map +1 -1
  54. package/es/molecule/questions/template/index.js +9 -5
  55. package/es/molecule/questions/template/index.js.map +1 -1
  56. package/es/molecule/setup-section/index.d.ts +0 -1
  57. package/es/molecule/setup-section/index.d.ts.map +1 -1
  58. package/es/molecule/setup-sections/index.d.ts +0 -1
  59. package/es/molecule/setup-slide/index.d.ts +9 -2
  60. package/es/molecule/setup-slider/index.d.ts +9 -2
  61. package/es/organism/brand-form/index.d.ts +18 -5
  62. package/es/organism/mooc-header/index.d.ts +5 -0
  63. package/es/organism/mooc-header/index.d.ts.map +1 -1
  64. package/es/organism/mooc-header/index.js +62 -12
  65. package/es/organism/mooc-header/index.js.map +1 -1
  66. package/es/organism/mooc-header/style.css +46 -0
  67. package/es/organism/user-preferences/index.d.ts +1 -1
  68. package/es/organism/user-preferences/index.d.ts.map +1 -1
  69. package/es/organism/user-preferences/index.js +9 -5
  70. package/es/organism/user-preferences/index.js.map +1 -1
  71. package/es/organism/wizard-contents/index.d.ts +18 -5
  72. package/es/template/activity/index.d.ts +11 -12
  73. package/es/template/activity/index.d.ts.map +1 -1
  74. package/es/template/activity/index.js +3 -6
  75. package/es/template/activity/index.js.map +1 -1
  76. package/es/template/app-player/loading/index.d.ts +0 -1
  77. package/es/template/app-player/player/index.d.ts +0 -2
  78. package/es/template/app-player/player/slides/index.d.ts +0 -1
  79. package/es/template/app-player/player/slides/index.d.ts.map +1 -1
  80. package/es/template/app-player/popin-correction/index.d.ts +0 -1
  81. package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
  82. package/es/template/app-player/popin-end/index.d.ts +0 -1
  83. package/es/template/app-review/index.d.ts +0 -1
  84. package/es/template/app-review/index.d.ts.map +1 -1
  85. package/es/template/app-review/player/prop-types.d.ts +0 -1
  86. package/es/template/app-review/player/prop-types.d.ts.map +1 -1
  87. package/es/template/app-review/prop-types.d.ts +0 -1
  88. package/es/template/app-review/prop-types.d.ts.map +1 -1
  89. package/es/template/back-office/brand-update/index.d.ts +36 -11
  90. package/es/template/common/dashboard/index.d.ts +0 -1
  91. package/es/template/common/search-page/index.d.ts +11 -3
  92. package/es/template/common/search-page/index.js +3 -3
  93. package/es/template/common/search-page/index.js.map +1 -1
  94. package/es/template/teams-dashboard/index.d.ts +1 -0
  95. package/lib/atom/input-search/index.d.ts.map +1 -1
  96. package/lib/atom/input-search/index.js +0 -1
  97. package/lib/atom/input-search/index.js.map +1 -1
  98. package/lib/atom/input-switch/index.d.ts +0 -1
  99. package/lib/atom/input-switch/index.d.ts.map +1 -1
  100. package/lib/atom/input-switch/index.js +2 -5
  101. package/lib/atom/input-switch/index.js.map +1 -1
  102. package/lib/atom/loader/index.native.d.ts +10 -0
  103. package/lib/atom/loader/index.native.d.ts.map +1 -0
  104. package/lib/atom/loader/index.native.js +205 -0
  105. package/lib/atom/loader/index.native.js.map +1 -0
  106. package/lib/atom/select/index.d.ts +18 -1
  107. package/lib/atom/select/index.d.ts.map +1 -1
  108. package/lib/atom/select/index.js +34 -18
  109. package/lib/atom/select/index.js.map +1 -1
  110. package/lib/molecule/answer/index.d.ts.map +1 -1
  111. package/lib/molecule/answer/index.js +20 -6
  112. package/lib/molecule/answer/index.js.map +1 -1
  113. package/lib/molecule/brand-form-group/index.d.ts +18 -5
  114. package/lib/molecule/cm-popin/types.d.ts +0 -1
  115. package/lib/molecule/cm-popin/types.d.ts.map +1 -1
  116. package/lib/molecule/draggable-list/index.d.ts +0 -1
  117. package/lib/molecule/filters/filters-wrapper.d.ts +1 -0
  118. package/lib/molecule/filters/filters-wrapper.d.ts.map +1 -1
  119. package/lib/molecule/filters/filters-wrapper.js +10 -9
  120. package/lib/molecule/filters/filters-wrapper.js.map +1 -1
  121. package/lib/molecule/filters/index.d.ts +10 -2
  122. package/lib/molecule/filters/index.d.ts.map +1 -1
  123. package/lib/molecule/filters/index.js +5 -8
  124. package/lib/molecule/filters/index.js.map +1 -1
  125. package/lib/molecule/questions/drop-down/index.d.ts +1 -0
  126. package/lib/molecule/questions/drop-down/index.d.ts.map +1 -1
  127. package/lib/molecule/questions/drop-down/index.js +9 -5
  128. package/lib/molecule/questions/drop-down/index.js.map +1 -1
  129. package/lib/molecule/questions/qcm/index.d.ts +1 -0
  130. package/lib/molecule/questions/qcm/index.d.ts.map +1 -1
  131. package/lib/molecule/questions/qcm/index.js +9 -5
  132. package/lib/molecule/questions/qcm/index.js.map +1 -1
  133. package/lib/molecule/questions/qcm-drag/index.d.ts +3 -1
  134. package/lib/molecule/questions/qcm-drag/index.d.ts.map +1 -1
  135. package/lib/molecule/questions/qcm-drag/index.js +9 -5
  136. package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
  137. package/lib/molecule/questions/qcm-graphic/index.d.ts +1 -0
  138. package/lib/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
  139. package/lib/molecule/questions/qcm-graphic/index.js +9 -5
  140. package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
  141. package/lib/molecule/questions/question-range/index.d.ts +1 -0
  142. package/lib/molecule/questions/question-range/index.d.ts.map +1 -1
  143. package/lib/molecule/questions/question-range/index.js +10 -6
  144. package/lib/molecule/questions/question-range/index.js.map +1 -1
  145. package/lib/molecule/questions/template/index.d.ts +6 -2
  146. package/lib/molecule/questions/template/index.d.ts.map +1 -1
  147. package/lib/molecule/questions/template/index.js +9 -5
  148. package/lib/molecule/questions/template/index.js.map +1 -1
  149. package/lib/molecule/setup-section/index.d.ts +0 -1
  150. package/lib/molecule/setup-section/index.d.ts.map +1 -1
  151. package/lib/molecule/setup-sections/index.d.ts +0 -1
  152. package/lib/molecule/setup-slide/index.d.ts +9 -2
  153. package/lib/molecule/setup-slider/index.d.ts +9 -2
  154. package/lib/organism/brand-form/index.d.ts +18 -5
  155. package/lib/organism/mooc-header/index.d.ts +5 -0
  156. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  157. package/lib/organism/mooc-header/index.js +61 -11
  158. package/lib/organism/mooc-header/index.js.map +1 -1
  159. package/lib/organism/mooc-header/style.css +46 -0
  160. package/lib/organism/user-preferences/index.d.ts +1 -1
  161. package/lib/organism/user-preferences/index.d.ts.map +1 -1
  162. package/lib/organism/user-preferences/index.js +9 -5
  163. package/lib/organism/user-preferences/index.js.map +1 -1
  164. package/lib/organism/wizard-contents/index.d.ts +18 -5
  165. package/lib/template/activity/index.d.ts +11 -12
  166. package/lib/template/activity/index.d.ts.map +1 -1
  167. package/lib/template/activity/index.js +3 -6
  168. package/lib/template/activity/index.js.map +1 -1
  169. package/lib/template/app-player/loading/index.d.ts +0 -1
  170. package/lib/template/app-player/player/index.d.ts +0 -2
  171. package/lib/template/app-player/player/slides/index.d.ts +0 -1
  172. package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
  173. package/lib/template/app-player/popin-correction/index.d.ts +0 -1
  174. package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
  175. package/lib/template/app-player/popin-end/index.d.ts +0 -1
  176. package/lib/template/app-review/index.d.ts +0 -1
  177. package/lib/template/app-review/index.d.ts.map +1 -1
  178. package/lib/template/app-review/player/prop-types.d.ts +0 -1
  179. package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
  180. package/lib/template/app-review/prop-types.d.ts +0 -1
  181. package/lib/template/app-review/prop-types.d.ts.map +1 -1
  182. package/lib/template/back-office/brand-update/index.d.ts +36 -11
  183. package/lib/template/common/dashboard/index.d.ts +0 -1
  184. package/lib/template/common/search-page/index.d.ts +11 -3
  185. package/lib/template/common/search-page/index.js +3 -3
  186. package/lib/template/common/search-page/index.js.map +1 -1
  187. package/lib/template/teams-dashboard/index.d.ts +1 -0
  188. package/locales/cs/global.json +1 -0
  189. package/locales/de/global.json +1 -0
  190. package/locales/en/global.json +1 -0
  191. package/locales/es/global.json +1 -0
  192. package/locales/et/global.json +1 -0
  193. package/locales/fr/global.json +1 -0
  194. package/locales/hr/global.json +1 -0
  195. package/locales/hu/global.json +1 -0
  196. package/locales/it/global.json +1 -0
  197. package/locales/ja/global.json +1 -0
  198. package/locales/ko/global.json +1 -0
  199. package/locales/nl/global.json +1 -0
  200. package/locales/pl/global.json +1 -0
  201. package/locales/pt/global.json +1 -0
  202. package/locales/ro/global.json +1 -0
  203. package/locales/ru/global.json +1 -0
  204. package/locales/sk/global.json +1 -0
  205. package/locales/tl/global.json +1 -0
  206. package/locales/tr/global.json +1 -0
  207. package/locales/uk/global.json +1 -0
  208. package/locales/vi/global.json +1 -0
  209. package/locales/zh/global.json +1 -0
  210. package/locales/zh_TW/global.json +1 -0
  211. package/package.json +4 -4
@@ -27,7 +27,8 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
27
27
 
28
28
  const QCMImage = (props, legacyContext) => {
29
29
  const {
30
- answers
30
+ answers,
31
+ groupAriaLabel
31
32
  } = props;
32
33
  const skin = (0, _provider.GetSkinFromContext)(legacyContext);
33
34
  const primarySkinColor = (0, _getOr2.default)('#00B0FF', 'common.primary', skin);
@@ -76,10 +77,12 @@ const QCMImage = (props, legacyContext) => {
76
77
  }
77
78
  }))));
78
79
  });
79
- return /*#__PURE__*/_react.default.createElement("div", {
80
+ return /*#__PURE__*/_react.default.createElement("form", null, /*#__PURE__*/_react.default.createElement("div", {
80
81
  "data-name": "qcm-graphic-wrapper",
81
- className: _style.default.wrapper
82
- }, answersViews);
82
+ className: _style.default.wrapper,
83
+ role: "group",
84
+ "aria-label": groupAriaLabel
85
+ }, answersViews));
83
86
  };
84
87
 
85
88
  QCMImage.contextTypes = {
@@ -92,7 +95,8 @@ QCMImage.propTypes = process.env.NODE_ENV !== "production" ? {
92
95
  onClick: _propTypes.default.func,
93
96
  image: _propTypes.default.string,
94
97
  ariaLabel: _propTypes.default.string
95
- }))
98
+ })),
99
+ groupAriaLabel: _propTypes.default.string
96
100
  } : {};
97
101
  var _default = QCMImage;
98
102
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["QCMImage","props","legacyContext","answers","skin","GetSkinFromContext","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","boxShadow","getShadowBoxColorFromPrimary","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","classnames","innerHTML","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCMImage = (props, legacyContext) => {\n const {answers} = props;\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected, image, ariaLabel} = answer;\n\n return (\n <div\n onClick={onClick}\n data-selected={selected}\n data-name=\"answerGraphic\"\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n className={selected ? style.selected : style.answer}\n key={key}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor: selected ? primarySkinColor : '#F4F4F5'\n }}\n className={style.background}\n />\n <div data-name=\"answerContent\" className={style.content}>\n <div\n className={style.imageWrapper}\n data-name=\"answerImage\"\n aria-label={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div\n title={title}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <div data-name=\"qcm-graphic-wrapper\" className={style.wrapper}>\n {answersViews}\n </div>\n );\n};\n\nQCMImage.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCMImage.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n image: PropTypes.string,\n ariaLabel: PropTypes.string\n })\n )\n};\n\nexport default QCMImage;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACzC,MAAM;IAACC;EAAD,IAAYF,KAAlB;EACA,MAAMG,IAAI,GAAG,IAAAC,4BAAA,EAAmBH,aAAnB,CAAb;EACA,MAAMI,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAAzB;EAEA,MAAMG,YAAY,GAAGJ,OAAO,CAACK,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;IAChD,MAAM;MAACC,OAAD;MAAUC,KAAV;MAAiBC,QAAjB;MAA2BC,KAA3B;MAAkCC;IAAlC,IAA+CN,MAArD;IAEA,oBACE;MACE,OAAO,EAAEE,OADX;MAEE,iBAAeE,QAFjB;MAGE,aAAU,eAHZ;MAIE,KAAK,eACCA,QAAQ,IAAI;QACdG,SAAS,EAAG,cAAa,IAAAC,0DAAA,EAA6BX,gBAA7B,CAA+C;MAD1D,CADb,CAJP;MASE,SAAS,EAAEO,QAAQ,GAAGK,cAAA,CAAML,QAAT,GAAoBK,cAAA,CAAMT,MAT/C;MAUE,GAAG,EAAEC;IAVP,gBAYE;MACE,aAAU,kBADZ;MAEE,KAAK,EAAE;QACLS,eAAe,EAAEN,QAAQ,GAAGP,gBAAH,GAAsB;MAD1C,CAFT;MAKE,SAAS,EAAEY,cAAA,CAAME;IALnB,EAZF,eAmBE;MAAK,aAAU,eAAf;MAA+B,SAAS,EAAEF,cAAA,CAAMG;IAAhD,gBACE;MACE,SAAS,EAAEH,cAAA,CAAMI,YADnB;MAEE,aAAU,aAFZ;MAGE,cAAYP,SAAS,IAAIH,KAH3B;MAIE,KAAK,EAAE;QACLW,eAAe,EAAG,OAAMT,KAAM;MADzB;IAJT,EADF,eASE;MAAK,aAAU,YAAf;MAA4B,SAAS,EAAEI,cAAA,CAAMM;IAA7C,gBACE;MACE,KAAK,EAAEZ,KADT;MAEE,SAAS,EAAE,IAAAa,mBAAA,EAAWP,cAAA,CAAMN,KAAjB,EAAwBM,cAAA,CAAMQ,SAA9B,CAFb,CAGE;MAHF;MAIE,uBAAuB,EAAE;QAACC,MAAM,EAAEf;MAAT;IAJ3B,EADF,CATF,CAnBF,CADF;EAwCD,CA3CoB,CAArB;EA6CA,oBACE;IAAK,aAAU,qBAAf;IAAqC,SAAS,EAAEM,cAAA,CAAMU;EAAtD,GACGrB,YADH,CADF;AAKD,CAvDD;;AAyDAP,QAAQ,CAAC6B,YAAT,GAAwB;EACtBzB,IAAI,EAAE0B,iBAAA,CAASC,iBAAT,CAA2B3B;AADX,CAAxB;AAIAJ,QAAQ,CAACgC,SAAT,2CAAqB;EACnB7B,OAAO,EAAE8B,kBAAA,CAAUC,OAAV,CACPD,kBAAA,CAAUE,KAAV,CAAgB;IACdvB,KAAK,EAAEqB,kBAAA,CAAUG,MADH;IAEdvB,QAAQ,EAAEoB,kBAAA,CAAUI,IAFN;IAGd1B,OAAO,EAAEsB,kBAAA,CAAUK,IAHL;IAIdxB,KAAK,EAAEmB,kBAAA,CAAUG,MAJH;IAKdrB,SAAS,EAAEkB,kBAAA,CAAUG;EALP,CAAhB,CADO;AADU,CAArB;eAYepC,Q"}
1
+ {"version":3,"file":"index.js","names":["QCMImage","props","legacyContext","answers","groupAriaLabel","skin","GetSkinFromContext","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","boxShadow","getShadowBoxColorFromPrimary","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","classnames","innerHTML","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCMImage = (props, legacyContext) => {\n const {answers, groupAriaLabel} = props;\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected, image, ariaLabel} = answer;\n\n return (\n <div\n onClick={onClick}\n data-selected={selected}\n data-name=\"answerGraphic\"\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n className={selected ? style.selected : style.answer}\n key={key}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor: selected ? primarySkinColor : '#F4F4F5'\n }}\n className={style.background}\n />\n <div data-name=\"answerContent\" className={style.content}>\n <div\n className={style.imageWrapper}\n data-name=\"answerImage\"\n aria-label={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div\n title={title}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <form>\n <div\n data-name=\"qcm-graphic-wrapper\"\n className={style.wrapper}\n role=\"group\"\n aria-label={groupAriaLabel}\n >\n {answersViews}\n </div>\n </form>\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 groupAriaLabel: PropTypes.string\n};\n\nexport default QCMImage;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACzC,MAAM;IAACC,OAAD;IAAUC;EAAV,IAA4BH,KAAlC;EACA,MAAMI,IAAI,GAAG,IAAAC,4BAAA,EAAmBJ,aAAnB,CAAb;EACA,MAAMK,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAAzB;EAEA,MAAMG,YAAY,GAAGL,OAAO,CAACM,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;IAChD,MAAM;MAACC,OAAD;MAAUC,KAAV;MAAiBC,QAAjB;MAA2BC,KAA3B;MAAkCC;IAAlC,IAA+CN,MAArD;IAEA,oBACE;MACE,OAAO,EAAEE,OADX;MAEE,iBAAeE,QAFjB;MAGE,aAAU,eAHZ;MAIE,KAAK,eACCA,QAAQ,IAAI;QACdG,SAAS,EAAG,cAAa,IAAAC,0DAAA,EAA6BX,gBAA7B,CAA+C;MAD1D,CADb,CAJP;MASE,SAAS,EAAEO,QAAQ,GAAGK,cAAA,CAAML,QAAT,GAAoBK,cAAA,CAAMT,MAT/C;MAUE,GAAG,EAAEC;IAVP,gBAYE;MACE,aAAU,kBADZ;MAEE,KAAK,EAAE;QACLS,eAAe,EAAEN,QAAQ,GAAGP,gBAAH,GAAsB;MAD1C,CAFT;MAKE,SAAS,EAAEY,cAAA,CAAME;IALnB,EAZF,eAmBE;MAAK,aAAU,eAAf;MAA+B,SAAS,EAAEF,cAAA,CAAMG;IAAhD,gBACE;MACE,SAAS,EAAEH,cAAA,CAAMI,YADnB;MAEE,aAAU,aAFZ;MAGE,cAAYP,SAAS,IAAIH,KAH3B;MAIE,KAAK,EAAE;QACLW,eAAe,EAAG,OAAMT,KAAM;MADzB;IAJT,EADF,eASE;MAAK,aAAU,YAAf;MAA4B,SAAS,EAAEI,cAAA,CAAMM;IAA7C,gBACE;MACE,KAAK,EAAEZ,KADT;MAEE,SAAS,EAAE,IAAAa,mBAAA,EAAWP,cAAA,CAAMN,KAAjB,EAAwBM,cAAA,CAAMQ,SAA9B,CAFb,CAGE;MAHF;MAIE,uBAAuB,EAAE;QAACC,MAAM,EAAEf;MAAT;IAJ3B,EADF,CATF,CAnBF,CADF;EAwCD,CA3CoB,CAArB;EA6CA,oBACE,wDACE;IACE,aAAU,qBADZ;IAEE,SAAS,EAAEM,cAAA,CAAMU,OAFnB;IAGE,IAAI,EAAC,OAHP;IAIE,cAAYzB;EAJd,GAMGI,YANH,CADF,CADF;AAYD,CA9DD;;AAgEAR,QAAQ,CAAC8B,YAAT,GAAwB;EACtBzB,IAAI,EAAE0B,iBAAA,CAASC,iBAAT,CAA2B3B;AADX,CAAxB;AAIAL,QAAQ,CAACiC,SAAT,2CAAqB;EACnB9B,OAAO,EAAE+B,kBAAA,CAAUC,OAAV,CACPD,kBAAA,CAAUE,KAAV,CAAgB;IACdvB,KAAK,EAAEqB,kBAAA,CAAUG,MADH;IAEdvB,QAAQ,EAAEoB,kBAAA,CAAUI,IAFN;IAGd1B,OAAO,EAAEsB,kBAAA,CAAUK,IAHL;IAIdxB,KAAK,EAAEmB,kBAAA,CAAUG,MAJH;IAKdrB,SAAS,EAAEkB,kBAAA,CAAUG;EALP,CAAhB,CADO,CADU;EAUnBjC,cAAc,EAAE8B,kBAAA,CAAUG;AAVP,CAArB;eAaerC,Q"}
@@ -28,6 +28,7 @@ declare namespace QuestionRange {
28
28
  title: PropTypes.Requireable<string>;
29
29
  minLabel: PropTypes.Requireable<string>;
30
30
  maxLabel: PropTypes.Requireable<string>;
31
+ groupAriaLabel: PropTypes.Requireable<string>;
31
32
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
32
33
  onChangeEnd: PropTypes.Requireable<(...args: any[]) => any>;
33
34
  multi: PropTypes.Requireable<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/question-range/index.js"],"names":[],"mappings":";AAQA,4EAiCC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/question-range/index.js"],"names":[],"mappings":";AAQA,4EAmCC"}
@@ -17,7 +17,7 @@ var _range = _interopRequireDefault(require("../../../atom/range"));
17
17
 
18
18
  var _style = _interopRequireDefault(require("./style.css"));
19
19
 
20
- const _excluded = ["title", "minLabel", "maxLabel"];
20
+ const _excluded = ["title", "minLabel", "maxLabel", "groupAriaLabel"];
21
21
 
22
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
23
 
@@ -33,7 +33,8 @@ const QuestionRange = (props, legacyContext) => {
33
33
  const {
34
34
  title,
35
35
  minLabel,
36
- maxLabel
36
+ maxLabel,
37
+ groupAriaLabel
37
38
  } = props,
38
39
  rangeProps = _objectWithoutPropertiesLoose(props, _excluded);
39
40
 
@@ -42,8 +43,10 @@ const QuestionRange = (props, legacyContext) => {
42
43
  const titleStyle = {
43
44
  color: defaultColor
44
45
  };
45
- return /*#__PURE__*/_react.default.createElement("div", {
46
- className: _style.default.wrapper
46
+ return /*#__PURE__*/_react.default.createElement("form", null, /*#__PURE__*/_react.default.createElement("div", {
47
+ className: _style.default.wrapper,
48
+ role: "group",
49
+ "aria-label": groupAriaLabel
47
50
  }, /*#__PURE__*/_react.default.createElement("span", {
48
51
  style: titleStyle,
49
52
  className: (0, _classnames.default)(_style.default.title, _style.default.innerHTML) // eslint-disable-next-line react/no-danger
@@ -65,7 +68,7 @@ const QuestionRange = (props, legacyContext) => {
65
68
  dangerouslySetInnerHTML: {
66
69
  __html: maxLabel
67
70
  }
68
- })));
71
+ }))));
69
72
  };
70
73
 
71
74
  QuestionRange.contextTypes = {
@@ -74,7 +77,8 @@ QuestionRange.contextTypes = {
74
77
  QuestionRange.propTypes = process.env.NODE_ENV !== "production" ? _extends({}, _range.default.propTypes, {
75
78
  title: _propTypes.default.string,
76
79
  minLabel: _propTypes.default.string,
77
- maxLabel: _propTypes.default.string
80
+ maxLabel: _propTypes.default.string,
81
+ groupAriaLabel: _propTypes.default.string
78
82
  }) : {};
79
83
  var _default = QuestionRange;
80
84
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["QuestionRange","props","legacyContext","title","minLabel","maxLabel","rangeProps","skin","GetSkinFromContext","defaultColor","titleStyle","color","style","wrapper","classnames","innerHTML","__html","labelWrapper","label","contextTypes","Provider","childContextTypes","propTypes","Range","PropTypes","string"],"sources":["../../../../src/molecule/questions/question-range/index.js"],"sourcesContent":["import React from 'react';\nimport {getOr} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport Range from '../../../atom/range';\nimport style from './style.css';\n\nconst QuestionRange = (props, legacyContext) => {\n const {title, minLabel, maxLabel, ...rangeProps} = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const defaultColor = getOr('#00B0FF', 'common.primary', skin);\n\n const titleStyle = {\n color: defaultColor\n };\n\n return (\n <div className={style.wrapper}>\n <span\n style={titleStyle}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n <Range {...rangeProps} />\n <div className={style.labelWrapper}>\n <span\n className={classnames(style.label, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: minLabel}}\n />\n <span\n className={classnames(style.label, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: maxLabel}}\n />\n </div>\n </div>\n );\n};\n\nQuestionRange.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQuestionRange.propTypes = {\n ...Range.propTypes,\n title: PropTypes.string,\n minLabel: PropTypes.string,\n maxLabel: PropTypes.string\n};\n\nexport default QuestionRange;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,MAAMA,aAAa,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EAC9C,MAAM;IAACC,KAAD;IAAQC,QAAR;IAAkBC;EAAlB,IAA6CJ,KAAnD;EAAA,MAAqCK,UAArC,iCAAmDL,KAAnD;;EAEA,MAAMM,IAAI,GAAG,IAAAC,4BAAA,EAAmBN,aAAnB,CAAb;EACA,MAAMO,YAAY,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAArB;EAEA,MAAMG,UAAU,GAAG;IACjBC,KAAK,EAAEF;EADU,CAAnB;EAIA,oBACE;IAAK,SAAS,EAAEG,cAAA,CAAMC;EAAtB,gBACE;IACE,KAAK,EAAEH,UADT;IAEE,SAAS,EAAE,IAAAI,mBAAA,EAAWF,cAAA,CAAMT,KAAjB,EAAwBS,cAAA,CAAMG,SAA9B,CAFb,CAGE;IAHF;IAIE,uBAAuB,EAAE;MAACC,MAAM,EAAEb;IAAT;EAJ3B,EADF,eAOE,6BAAC,cAAD,EAAWG,UAAX,CAPF,eAQE;IAAK,SAAS,EAAEM,cAAA,CAAMK;EAAtB,gBACE;IACE,SAAS,EAAE,IAAAH,mBAAA,EAAWF,cAAA,CAAMM,KAAjB,EAAwBN,cAAA,CAAMG,SAA9B,CADb,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAEZ;IAAT;EAH3B,EADF,eAME;IACE,SAAS,EAAE,IAAAU,mBAAA,EAAWF,cAAA,CAAMM,KAAjB,EAAwBN,cAAA,CAAMG,SAA9B,CADb,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAEX;IAAT;EAH3B,EANF,CARF,CADF;AAuBD,CAjCD;;AAmCAL,aAAa,CAACmB,YAAd,GAA6B;EAC3BZ,IAAI,EAAEa,iBAAA,CAASC,iBAAT,CAA2Bd;AADN,CAA7B;AAIAP,aAAa,CAACsB,SAAd,wDACKC,cAAA,CAAMD,SADX;EAEEnB,KAAK,EAAEqB,kBAAA,CAAUC,MAFnB;EAGErB,QAAQ,EAAEoB,kBAAA,CAAUC,MAHtB;EAIEpB,QAAQ,EAAEmB,kBAAA,CAAUC;AAJtB;eAOezB,a"}
1
+ {"version":3,"file":"index.js","names":["QuestionRange","props","legacyContext","title","minLabel","maxLabel","groupAriaLabel","rangeProps","skin","GetSkinFromContext","defaultColor","titleStyle","color","style","wrapper","classnames","innerHTML","__html","labelWrapper","label","contextTypes","Provider","childContextTypes","propTypes","Range","PropTypes","string"],"sources":["../../../../src/molecule/questions/question-range/index.js"],"sourcesContent":["import React from 'react';\nimport {getOr} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport Range from '../../../atom/range';\nimport style from './style.css';\n\nconst QuestionRange = (props, legacyContext) => {\n const {title, minLabel, maxLabel, groupAriaLabel, ...rangeProps} = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const defaultColor = getOr('#00B0FF', 'common.primary', skin);\n\n const titleStyle = {\n color: defaultColor\n };\n\n return (\n <form>\n <div className={style.wrapper} role=\"group\" aria-label={groupAriaLabel}>\n <span\n style={titleStyle}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n <Range {...rangeProps} />\n <div className={style.labelWrapper}>\n <span\n className={classnames(style.label, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: minLabel}}\n />\n <span\n className={classnames(style.label, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: maxLabel}}\n />\n </div>\n </div>\n </form>\n );\n};\n\nQuestionRange.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQuestionRange.propTypes = {\n ...Range.propTypes,\n title: PropTypes.string,\n minLabel: PropTypes.string,\n maxLabel: PropTypes.string,\n groupAriaLabel: PropTypes.string\n};\n\nexport default QuestionRange;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,MAAMA,aAAa,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EAC9C,MAAM;IAACC,KAAD;IAAQC,QAAR;IAAkBC,QAAlB;IAA4BC;EAA5B,IAA6DL,KAAnE;EAAA,MAAqDM,UAArD,iCAAmEN,KAAnE;;EAEA,MAAMO,IAAI,GAAG,IAAAC,4BAAA,EAAmBP,aAAnB,CAAb;EACA,MAAMQ,YAAY,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAArB;EAEA,MAAMG,UAAU,GAAG;IACjBC,KAAK,EAAEF;EADU,CAAnB;EAIA,oBACE,wDACE;IAAK,SAAS,EAAEG,cAAA,CAAMC,OAAtB;IAA+B,IAAI,EAAC,OAApC;IAA4C,cAAYR;EAAxD,gBACE;IACE,KAAK,EAAEK,UADT;IAEE,SAAS,EAAE,IAAAI,mBAAA,EAAWF,cAAA,CAAMV,KAAjB,EAAwBU,cAAA,CAAMG,SAA9B,CAFb,CAGE;IAHF;IAIE,uBAAuB,EAAE;MAACC,MAAM,EAAEd;IAAT;EAJ3B,EADF,eAOE,6BAAC,cAAD,EAAWI,UAAX,CAPF,eAQE;IAAK,SAAS,EAAEM,cAAA,CAAMK;EAAtB,gBACE;IACE,SAAS,EAAE,IAAAH,mBAAA,EAAWF,cAAA,CAAMM,KAAjB,EAAwBN,cAAA,CAAMG,SAA9B,CADb,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAEb;IAAT;EAH3B,EADF,eAME;IACE,SAAS,EAAE,IAAAW,mBAAA,EAAWF,cAAA,CAAMM,KAAjB,EAAwBN,cAAA,CAAMG,SAA9B,CADb,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAEZ;IAAT;EAH3B,EANF,CARF,CADF,CADF;AAyBD,CAnCD;;AAqCAL,aAAa,CAACoB,YAAd,GAA6B;EAC3BZ,IAAI,EAAEa,iBAAA,CAASC,iBAAT,CAA2Bd;AADN,CAA7B;AAIAR,aAAa,CAACuB,SAAd,wDACKC,cAAA,CAAMD,SADX;EAEEpB,KAAK,EAAEsB,kBAAA,CAAUC,MAFnB;EAGEtB,QAAQ,EAAEqB,kBAAA,CAAUC,MAHtB;EAIErB,QAAQ,EAAEoB,kBAAA,CAAUC,MAJtB;EAKEpB,cAAc,EAAEmB,kBAAA,CAAUC;AAL5B;eAQe1B,a"}
@@ -1,7 +1,8 @@
1
1
  export default Template;
2
- declare function Template({ template, answers }: {
2
+ declare function Template({ template, answers, groupAriaLabel }: {
3
3
  template: any;
4
4
  answers: any;
5
+ groupAriaLabel: any;
5
6
  }): JSX.Element;
6
7
  declare namespace Template {
7
8
  namespace propTypes {
@@ -16,6 +17,7 @@ declare namespace Template {
16
17
  }> | null | undefined)[]>;
17
18
  theme: PropTypes.Requireable<string>;
18
19
  'aria-label': PropTypes.Requireable<string>;
20
+ groupAriaLabel: PropTypes.Requireable<string>;
19
21
  }, never>> & Partial<PropTypes.InferPropsInner<Pick<{
20
22
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
21
23
  options: PropTypes.Requireable<(PropTypes.InferProps<{
@@ -26,7 +28,9 @@ declare namespace Template {
26
28
  }> | null | undefined)[]>;
27
29
  theme: PropTypes.Requireable<string>;
28
30
  'aria-label': PropTypes.Requireable<string>;
29
- }, "aria-label" | "onChange" | "theme" | "options">>>) | null | undefined)[]>;
31
+ groupAriaLabel: PropTypes.Requireable<string>;
32
+ }, "aria-label" | "onChange" | "theme" | "options" | "groupAriaLabel">>>) | null | undefined)[]>;
33
+ const groupAriaLabel: PropTypes.Requireable<string>;
30
34
  }
31
35
  }
32
36
  import PropTypes from "prop-types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/template/index.js"],"names":[],"mappings":";AAQA;;;gBAsCC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/template/index.js"],"names":[],"mappings":";AAQA;;;;gBA6CC"}
@@ -29,7 +29,8 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
29
29
 
30
30
  const Template = ({
31
31
  template,
32
- answers
32
+ answers,
33
+ groupAriaLabel
33
34
  }) => {
34
35
  const totalTemplate = (0, _parseTemplateString.default)(template);
35
36
 
@@ -72,10 +73,12 @@ const Template = ({
72
73
  }
73
74
  }, totalTemplate);
74
75
 
75
- return /*#__PURE__*/_react.default.createElement("div", {
76
+ return /*#__PURE__*/_react.default.createElement("form", null, /*#__PURE__*/_react.default.createElement("div", {
76
77
  "data-name": "template-wrapper",
77
- className: _style.default.wrapper
78
- }, templateCompose);
78
+ className: _style.default.wrapper,
79
+ role: "group",
80
+ "aria-label": groupAriaLabel
81
+ }, templateCompose));
79
82
  };
80
83
 
81
84
  const TextPropTypes = process.env.NODE_ENV !== "production" ? _extends({}, _dropDown.default.propTypes, {
@@ -83,7 +86,8 @@ const TextPropTypes = process.env.NODE_ENV !== "production" ? _extends({}, _drop
83
86
  }) : {};
84
87
  Template.propTypes = process.env.NODE_ENV !== "production" ? {
85
88
  template: _propTypes.default.string,
86
- answers: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape(_dropDown.default.propTypes), _propTypes.default.shape(TextPropTypes)]))
89
+ answers: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape(_dropDown.default.propTypes), _propTypes.default.shape(TextPropTypes)])),
90
+ groupAriaLabel: _propTypes.default.string
87
91
  } : {};
88
92
  var _default = Template;
89
93
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Template","template","answers","totalTemplate","parseTemplateString","templateCompose","convert","cap","part","key","type","style","textPart","__html","value","field","name","fieldType","fieldProps","fieldView","text","answerType","wrapper","TextPropTypes","DropDown","propTypes","PropTypes","string","arrayOf","oneOfType","shape"],"sources":["../../../../src/molecule/questions/template/index.js"],"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"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAAC;EAACC,QAAD;EAAWC;AAAX,CAAD,KAAyB;EACxC,MAAMC,aAAa,GAAG,IAAAC,4BAAA,EAAoBH,QAApB,CAAtB;;EACA,MAAMI,eAAe,GAAG,cAAIC,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EAA0B,CAACC,IAAD,EAAOC,GAAP,KAAe;IAC/D,MAAMC,IAAI,GAAGF,IAAI,CAACE,IAAlB;;IACA,IAAIA,IAAI,KAAK,QAAb,EAAuB;MACrB,oBACE;QACE,GAAG,EAAED,GADP;QAEE,SAAS,EAAEE,cAAA,CAAMC,QAFnB,CAGE;QAHF;QAIE,uBAAuB,EAAE;UAACC,MAAM,EAAEL,IAAI,CAACM;QAAd;MAJ3B,EADF;IAQD;;IACD,IAAIJ,IAAI,KAAK,aAAb,EAA4B;MAC1B,MAAMK,KAAK,GAAG,oBAAK;QAACC,IAAI,EAAER,IAAI,CAACM;MAAZ,CAAL,EAAyBZ,OAAzB,CAAd;MACA,IAAI,CAACa,KAAL,EAAY,OAAO,IAAP;;MACZ,MAAM;QAACL,IAAI,EAAEO;MAAP,IAAmCF,KAAzC;MAAA,MAA2BG,UAA3B,iCAAyCH,KAAzC;;MACA,MAAMI,SAAS,GACbF,SAAS,KAAK,MAAd,gBACE,6BAAC,iBAAD,eAAcC,UAAd;QAA0B,SAAS,EAAEP,cAAA,CAAMS;MAA3C,GADF,gBAGE,6BAAC,iBAAD,eAAcF,UAAd;QAA0B,KAAK,EAAC;MAAhC,GAJJ;MAOA,oBACE;QAAK,SAAS,EAAEP,cAAA,CAAMU,UAAtB;QAAkC,GAAG,EAAEb,IAAI,CAACM;MAA5C,GACGK,SADH,CADF;IAKD;EACF,CA7BuB,EA6BrBhB,aA7BqB,CAAxB;;EA+BA,oBACE;IAAK,aAAU,kBAAf;IAAkC,SAAS,EAAEQ,cAAA,CAAMW;EAAnD,GACGjB,eADH,CADF;AAKD,CAtCD;;AAwCA,MAAMkB,aAAN,wDACKC,iBAAA,CAASC,SADd;EAEEf,IAAI,EAAEgB,kBAAA,CAAUC;AAFlB;AAKA3B,QAAQ,CAACyB,SAAT,2CAAqB;EACnBxB,QAAQ,EAAEyB,kBAAA,CAAUC,MADD;EAEnBzB,OAAO,EAAEwB,kBAAA,CAAUE,OAAV,CACPF,kBAAA,CAAUG,SAAV,CAAoB,CAACH,kBAAA,CAAUI,KAAV,CAAgBN,iBAAA,CAASC,SAAzB,CAAD,EAAsCC,kBAAA,CAAUI,KAAV,CAAgBP,aAAhB,CAAtC,CAApB,CADO;AAFU,CAArB;eAOevB,Q"}
1
+ {"version":3,"file":"index.js","names":["Template","template","answers","groupAriaLabel","totalTemplate","parseTemplateString","templateCompose","convert","cap","part","key","type","style","textPart","__html","value","field","name","fieldType","fieldProps","fieldView","text","answerType","wrapper","TextPropTypes","DropDown","propTypes","PropTypes","string","arrayOf","oneOfType","shape"],"sources":["../../../../src/molecule/questions/template/index.js"],"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, groupAriaLabel}) => {\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 <form>\n <div\n data-name=\"template-wrapper\"\n className={style.wrapper}\n role=\"group\"\n aria-label={groupAriaLabel}\n >\n {templateCompose}\n </div>\n </form>\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 groupAriaLabel: PropTypes.string\n};\n\nexport default Template;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAAC;EAACC,QAAD;EAAWC,OAAX;EAAoBC;AAApB,CAAD,KAAyC;EACxD,MAAMC,aAAa,GAAG,IAAAC,4BAAA,EAAoBJ,QAApB,CAAtB;;EACA,MAAMK,eAAe,GAAG,cAAIC,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EAA0B,CAACC,IAAD,EAAOC,GAAP,KAAe;IAC/D,MAAMC,IAAI,GAAGF,IAAI,CAACE,IAAlB;;IACA,IAAIA,IAAI,KAAK,QAAb,EAAuB;MACrB,oBACE;QACE,GAAG,EAAED,GADP;QAEE,SAAS,EAAEE,cAAA,CAAMC,QAFnB,CAGE;QAHF;QAIE,uBAAuB,EAAE;UAACC,MAAM,EAAEL,IAAI,CAACM;QAAd;MAJ3B,EADF;IAQD;;IACD,IAAIJ,IAAI,KAAK,aAAb,EAA4B;MAC1B,MAAMK,KAAK,GAAG,oBAAK;QAACC,IAAI,EAAER,IAAI,CAACM;MAAZ,CAAL,EAAyBb,OAAzB,CAAd;MACA,IAAI,CAACc,KAAL,EAAY,OAAO,IAAP;;MACZ,MAAM;QAACL,IAAI,EAAEO;MAAP,IAAmCF,KAAzC;MAAA,MAA2BG,UAA3B,iCAAyCH,KAAzC;;MACA,MAAMI,SAAS,GACbF,SAAS,KAAK,MAAd,gBACE,6BAAC,iBAAD,eAAcC,UAAd;QAA0B,SAAS,EAAEP,cAAA,CAAMS;MAA3C,GADF,gBAGE,6BAAC,iBAAD,eAAcF,UAAd;QAA0B,KAAK,EAAC;MAAhC,GAJJ;MAOA,oBACE;QAAK,SAAS,EAAEP,cAAA,CAAMU,UAAtB;QAAkC,GAAG,EAAEb,IAAI,CAACM;MAA5C,GACGK,SADH,CADF;IAKD;EACF,CA7BuB,EA6BrBhB,aA7BqB,CAAxB;;EA+BA,oBACE,wDACE;IACE,aAAU,kBADZ;IAEE,SAAS,EAAEQ,cAAA,CAAMW,OAFnB;IAGE,IAAI,EAAC,OAHP;IAIE,cAAYpB;EAJd,GAMGG,eANH,CADF,CADF;AAYD,CA7CD;;AA+CA,MAAMkB,aAAN,wDACKC,iBAAA,CAASC,SADd;EAEEf,IAAI,EAAEgB,kBAAA,CAAUC;AAFlB;AAKA5B,QAAQ,CAAC0B,SAAT,2CAAqB;EACnBzB,QAAQ,EAAE0B,kBAAA,CAAUC,MADD;EAEnB1B,OAAO,EAAEyB,kBAAA,CAAUE,OAAV,CACPF,kBAAA,CAAUG,SAAV,CAAoB,CAACH,kBAAA,CAAUI,KAAV,CAAgBN,iBAAA,CAASC,SAAzB,CAAD,EAAsCC,kBAAA,CAAUI,KAAV,CAAgBP,aAAhB,CAAtC,CAApB,CADO,CAFU;EAKnBrB,cAAc,EAAEwB,kBAAA,CAAUC;AALP,CAArB;eAQe5B,Q"}
@@ -37,7 +37,6 @@ declare namespace SetupSection {
37
37
  disabled: PropTypes.Requireable<boolean>;
38
38
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
39
39
  description: PropTypes.Requireable<string>;
40
- 'aria-labelledby': PropTypes.Requireable<string>;
41
40
  modified: PropTypes.Requireable<boolean>;
42
41
  titlePosition: PropTypes.Requireable<string>;
43
42
  theme: PropTypes.Requireable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/setup-section/index.js"],"names":[],"mappings":";AAsCA,qEAeC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA7CD,mFAiBC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/setup-section/index.js"],"names":[],"mappings":";AAsCA,qEAeC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA7CD,mFAiBC"}
@@ -18,7 +18,6 @@ declare namespace SetupSections {
18
18
  disabled: PropTypes.Requireable<boolean>;
19
19
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
20
20
  description: PropTypes.Requireable<string>;
21
- 'aria-labelledby': PropTypes.Requireable<string>;
22
21
  modified: PropTypes.Requireable<boolean>;
23
22
  titlePosition: PropTypes.Requireable<string>;
24
23
  theme: PropTypes.Requireable<string>;
@@ -30,7 +30,6 @@ declare namespace SetupSlide {
30
30
  disabled: PropTypes.Requireable<boolean>;
31
31
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
32
32
  description: PropTypes.Requireable<string>;
33
- 'aria-labelledby': PropTypes.Requireable<string>;
34
33
  modified: PropTypes.Requireable<boolean>;
35
34
  titlePosition: PropTypes.Requireable<string>;
36
35
  theme: PropTypes.Requireable<string>;
@@ -55,10 +54,18 @@ declare namespace SetupSlide {
55
54
  selected: PropTypes.Requireable<boolean>;
56
55
  validOption: PropTypes.Requireable<boolean>;
57
56
  }> | null | undefined)[]>;
57
+ optgroups: PropTypes.Requireable<(PropTypes.InferProps<{
58
+ label: PropTypes.Validator<string>;
59
+ options: PropTypes.Requireable<(PropTypes.InferProps<{
60
+ name: PropTypes.Validator<string>;
61
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
62
+ selected: PropTypes.Requireable<boolean>;
63
+ validOption: PropTypes.Requireable<boolean>;
64
+ }> | null | undefined)[]>;
65
+ }> | null | undefined)[]>;
58
66
  modified: PropTypes.Requireable<boolean>;
59
67
  error: PropTypes.Requireable<boolean>;
60
68
  'aria-label': PropTypes.Requireable<string>;
61
- 'aria-labelledby': PropTypes.Requireable<string>;
62
69
  }> | PropTypes.InferProps<{
63
70
  type: PropTypes.Requireable<string>;
64
71
  title: PropTypes.Validator<string>;
@@ -43,7 +43,6 @@ declare namespace SetupSlider {
43
43
  disabled: PropTypes.Requireable<boolean>;
44
44
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
45
45
  description: PropTypes.Requireable<string>;
46
- 'aria-labelledby': PropTypes.Requireable<string>;
47
46
  modified: PropTypes.Requireable<boolean>;
48
47
  titlePosition: PropTypes.Requireable<string>;
49
48
  theme: PropTypes.Requireable<string>;
@@ -68,10 +67,18 @@ declare namespace SetupSlider {
68
67
  selected: PropTypes.Requireable<boolean>;
69
68
  validOption: PropTypes.Requireable<boolean>;
70
69
  }> | null | undefined)[]>;
70
+ optgroups: PropTypes.Requireable<(PropTypes.InferProps<{
71
+ label: PropTypes.Validator<string>;
72
+ options: PropTypes.Requireable<(PropTypes.InferProps<{
73
+ name: PropTypes.Validator<string>;
74
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
75
+ selected: PropTypes.Requireable<boolean>;
76
+ validOption: PropTypes.Requireable<boolean>;
77
+ }> | null | undefined)[]>;
78
+ }> | null | undefined)[]>;
71
79
  modified: PropTypes.Requireable<boolean>;
72
80
  error: PropTypes.Requireable<boolean>;
73
81
  'aria-label': PropTypes.Requireable<string>;
74
- 'aria-labelledby': PropTypes.Requireable<string>;
75
82
  }> | PropTypes.InferProps<{
76
83
  type: PropTypes.Requireable<string>;
77
84
  title: PropTypes.Validator<string>;
@@ -85,7 +85,6 @@ declare namespace BrandForm {
85
85
  disabled: PropTypes.Requireable<boolean>;
86
86
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
87
87
  description: PropTypes.Requireable<string>;
88
- 'aria-labelledby': PropTypes.Requireable<string>;
89
88
  modified: PropTypes.Requireable<boolean>;
90
89
  titlePosition: PropTypes.Requireable<string>;
91
90
  theme: PropTypes.Requireable<string>;
@@ -127,10 +126,18 @@ declare namespace BrandForm {
127
126
  selected: PropTypes.Requireable<boolean>;
128
127
  validOption: PropTypes.Requireable<boolean>;
129
128
  }> | null | undefined)[]>;
129
+ optgroups: PropTypes.Requireable<(PropTypes.InferProps<{
130
+ label: PropTypes.Validator<string>;
131
+ options: PropTypes.Requireable<(PropTypes.InferProps<{
132
+ name: PropTypes.Validator<string>;
133
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
134
+ selected: PropTypes.Requireable<boolean>;
135
+ validOption: PropTypes.Requireable<boolean>;
136
+ }> | null | undefined)[]>;
137
+ }> | null | undefined)[]>;
130
138
  modified: PropTypes.Requireable<boolean>;
131
139
  error: PropTypes.Requireable<boolean>;
132
140
  'aria-label': PropTypes.Requireable<string>;
133
- 'aria-labelledby': PropTypes.Requireable<string>;
134
141
  }> | PropTypes.InferProps<{
135
142
  type: PropTypes.Requireable<string>;
136
143
  title: PropTypes.Validator<string>;
@@ -208,7 +215,6 @@ declare namespace BrandForm {
208
215
  disabled: PropTypes.Requireable<boolean>;
209
216
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
210
217
  description: PropTypes.Requireable<string>;
211
- 'aria-labelledby': PropTypes.Requireable<string>;
212
218
  modified: PropTypes.Requireable<boolean>;
213
219
  titlePosition: PropTypes.Requireable<string>;
214
220
  theme: PropTypes.Requireable<string>;
@@ -233,10 +239,18 @@ declare namespace BrandForm {
233
239
  selected: PropTypes.Requireable<boolean>;
234
240
  validOption: PropTypes.Requireable<boolean>;
235
241
  }> | null | undefined)[]>;
242
+ optgroups: PropTypes.Requireable<(PropTypes.InferProps<{
243
+ label: PropTypes.Validator<string>;
244
+ options: PropTypes.Requireable<(PropTypes.InferProps<{
245
+ name: PropTypes.Validator<string>;
246
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
247
+ selected: PropTypes.Requireable<boolean>;
248
+ validOption: PropTypes.Requireable<boolean>;
249
+ }> | null | undefined)[]>;
250
+ }> | null | undefined)[]>;
236
251
  modified: PropTypes.Requireable<boolean>;
237
252
  error: PropTypes.Requireable<boolean>;
238
253
  'aria-label': PropTypes.Requireable<string>;
239
- 'aria-labelledby': PropTypes.Requireable<string>;
240
254
  }> | PropTypes.InferProps<{
241
255
  type: PropTypes.Requireable<string>;
242
256
  title: PropTypes.Validator<string>;
@@ -339,7 +353,6 @@ declare namespace BrandForm {
339
353
  disabled: PropTypes.Requireable<boolean>;
340
354
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
341
355
  description: PropTypes.Requireable<string>;
342
- 'aria-labelledby': PropTypes.Requireable<string>;
343
356
  modified: PropTypes.Requireable<boolean>;
344
357
  titlePosition: PropTypes.Requireable<string>;
345
358
  theme: PropTypes.Requireable<string>;
@@ -7,6 +7,7 @@ declare class MoocHeader extends React.Component<any, any, any> {
7
7
  href: PropTypes.Requireable<string>;
8
8
  'aria-label': PropTypes.Requireable<string>;
9
9
  'button-aria-label': PropTypes.Requireable<string>;
10
+ toolTipText: PropTypes.Requireable<string>;
10
11
  }>>;
11
12
  search: PropTypes.Requireable<PropTypes.InferProps<{
12
13
  value: PropTypes.Requireable<string>;
@@ -136,6 +137,7 @@ declare class MoocHeader extends React.Component<any, any, any> {
136
137
  isSettingsOpen: boolean;
137
138
  isMenuOpen: boolean;
138
139
  isFocus: boolean;
140
+ isToolTipOpen: boolean;
139
141
  };
140
142
  handleSettingsToggle(): void;
141
143
  handleMenuToggle(): void;
@@ -148,6 +150,9 @@ declare class MoocHeader extends React.Component<any, any, any> {
148
150
  handleOnBlur(): void;
149
151
  handleOnMenuOpen(): void;
150
152
  handleOnMenuClose(): void;
153
+ handleOnMouseOver(): void;
154
+ handleOnMouseLeave(): void;
155
+ handleKeyPress(event: any): void;
151
156
  componentDidUpdate(prevProps: any, prevState: any, prevContext: any): void;
152
157
  menuSettings: any;
153
158
  render(): JSX.Element | null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAwBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAmBC;IAjBC;;;;MAIC;IA6CH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IArFD,2EASC;IAGC,kBAAsB;IA2ExB,6BAqYC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAyBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4FE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAuBC;IArBC;;;;;MAKC;IAgDH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA7GD,2EASC;IAGC,kBAAsB;IAmGxB,6BAwZC;CACF"}
@@ -45,7 +45,8 @@ class MoocHeader extends _react.default.Component {
45
45
  this.state = {
46
46
  isSettingsOpen: false,
47
47
  isMenuOpen: false,
48
- isFocus: false
48
+ isFocus: false,
49
+ isToolTipOpen: false
49
50
  };
50
51
  this.handleSettingsToggle = this.handleSettingsToggle.bind(this);
51
52
  this.handleMenuToggle = this.handleMenuToggle.bind(this);
@@ -58,6 +59,9 @@ class MoocHeader extends _react.default.Component {
58
59
  this.handleOnBlur = this.handleOnBlur.bind(this);
59
60
  this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);
60
61
  this.handleOnMenuClose = this.handleOnMenuClose.bind(this);
62
+ this.handleOnMouseOver = this.handleOnMouseOver.bind(this);
63
+ this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);
64
+ this.handleKeyPress = this.handleKeyPress.bind(this);
61
65
  }
62
66
 
63
67
  componentDidUpdate(prevProps, prevState, prevContext) {
@@ -172,6 +176,30 @@ class MoocHeader extends _react.default.Component {
172
176
  }));
173
177
  }
174
178
 
179
+ handleOnMouseOver() {
180
+ this.setState(() => ({
181
+ isToolTipOpen: true
182
+ }));
183
+ }
184
+
185
+ handleOnMouseLeave() {
186
+ this.setState(() => ({
187
+ isToolTipOpen: false
188
+ }));
189
+ }
190
+
191
+ handleKeyPress(event) {
192
+ if (event.key === 'Enter') {
193
+ this.setState(() => ({
194
+ isToolTipOpen: true
195
+ }));
196
+ } else if (event.key === 'Tab' || event.key === 'Escape') {
197
+ this.setState(() => ({
198
+ isToolTipOpen: false
199
+ }));
200
+ }
201
+ }
202
+
175
203
  render() {
176
204
  if ((0, _isEmpty2.default)(this.props)) return null;
177
205
  const {
@@ -189,7 +217,8 @@ class MoocHeader extends _react.default.Component {
189
217
  const {
190
218
  isFocus,
191
219
  isSettingsOpen,
192
- isMenuOpen
220
+ isMenuOpen,
221
+ isToolTipOpen
193
222
  } = this.state;
194
223
  const {
195
224
  translate,
@@ -198,7 +227,8 @@ class MoocHeader extends _react.default.Component {
198
227
  const {
199
228
  'aria-label': logoAriaLabel,
200
229
  closeMenuAriaLabel,
201
- openMenuAriaLabel
230
+ openMenuAriaLabel,
231
+ toolTipText
202
232
  } = logo;
203
233
  const logoUrl = (0, _get2.default)('src', logo) || (0, _get2.default)('images.logo', skin);
204
234
  const logoMobileUrl = (0, _get2.default)('srcMobile', logo) || (0, _getOr2.default)(logoUrl, 'images.logo-mobile', skin);
@@ -451,11 +481,8 @@ class MoocHeader extends _react.default.Component {
451
481
  key: settingName,
452
482
  "aria-label": ariaLabel || title
453
483
  }, /*#__PURE__*/_react.default.createElement("span", {
454
- id: `titleId-${settingName}`,
455
484
  className: _style.default.label
456
- }, title), /*#__PURE__*/_react.default.createElement(_inputSwitch.default, _extends({}, switchProps, {
457
- "aria-labelledby": `titleId-${settingName}`
458
- })));
485
+ }, title), /*#__PURE__*/_react.default.createElement(_inputSwitch.default, switchProps));
459
486
  break;
460
487
  }
461
488
  }
@@ -531,11 +558,33 @@ class MoocHeader extends _react.default.Component {
531
558
  }))), /*#__PURE__*/_react.default.createElement(_link.default, {
532
559
  className: _style.default.logo,
533
560
  "data-name": "logo",
534
- href: logo.href
561
+ href: logo.href,
562
+ onKeyDown: this.handleKeyPress,
563
+ tabIndex: 0
535
564
  }, /*#__PURE__*/_react.default.createElement(_picture.default, {
536
565
  src: logoUrl,
537
- alt: logoAriaLabel
538
- }))), searchFormView, /*#__PURE__*/_react.default.createElement("div", {
566
+ alt: logoAriaLabel,
567
+ onMouseOver: this.handleOnMouseOver,
568
+ onMouseLeave: this.handleOnMouseLeave
569
+ }), isToolTipOpen ? /*#__PURE__*/_react.default.createElement("div", {
570
+ className: _style.default.tooltipIconContainer,
571
+ role: "tooltip",
572
+ tabIndex: 0
573
+ }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyPlacesHome24, {
574
+ className: _style.default.homeIcon,
575
+ style: {
576
+ color: primaryColor
577
+ }
578
+ }), /*#__PURE__*/_react.default.createElement("p", {
579
+ className: _style.default.toolTipText // eslint-disable-next-line react/no-danger
580
+ ,
581
+ dangerouslySetInnerHTML: {
582
+ __html: toolTipText
583
+ },
584
+ style: {
585
+ color: primaryColor
586
+ }
587
+ })) : null)), searchFormView, /*#__PURE__*/_react.default.createElement("div", {
539
588
  className: isMenuOpen ? _style.default.menuWrapper : _style.default.hiddenMenuWrapper,
540
589
  "data-name": "menu-wrapper"
541
590
  }, pagesView, userView || linksView, settingsView)));
@@ -553,7 +602,8 @@ MoocHeader.propTypes = process.env.NODE_ENV !== "production" ? {
553
602
  srcMobile: _propTypes.default.string,
554
603
  href: _propTypes.default.string,
555
604
  'aria-label': _propTypes.default.string,
556
- 'button-aria-label': _propTypes.default.string
605
+ 'button-aria-label': _propTypes.default.string,
606
+ toolTipText: _propTypes.default.string
557
607
  }),
558
608
  search: _propTypes.default.shape(_inputSearch.default.propTypes),
559
609
  'search-reset-aria-label': _propTypes.default.string,