@coorpacademy/components 11.40.22 → 11.40.24

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 (390) hide show
  1. package/es/atom/button-link/index.d.ts +1 -0
  2. package/es/atom/button-link/index.d.ts.map +1 -1
  3. package/es/atom/button-link/types.d.ts +2 -0
  4. package/es/atom/button-link/types.d.ts.map +1 -1
  5. package/es/atom/button-link/types.js +2 -1
  6. package/es/atom/button-link/types.js.map +1 -1
  7. package/es/atom/chip/index.d.ts.map +1 -1
  8. package/es/atom/chip/index.js +10 -0
  9. package/es/atom/chip/index.js.map +1 -1
  10. package/es/atom/chips/index.d.ts.map +1 -1
  11. package/es/atom/chips/index.js +9 -0
  12. package/es/atom/chips/index.js.map +1 -1
  13. package/es/atom/circular-progress-bar/index.d.ts.map +1 -1
  14. package/es/atom/circular-progress-bar/index.js +4 -0
  15. package/es/atom/circular-progress-bar/index.js.map +1 -1
  16. package/es/atom/input-select/index.d.ts.map +1 -1
  17. package/es/atom/input-select/index.js +2 -2
  18. package/es/atom/input-select/index.js.map +1 -1
  19. package/es/atom/input-text-with-title/index.js +1 -0
  20. package/es/atom/input-text-with-title/index.js.map +1 -1
  21. package/es/atom/radio-with-title/index.d.ts +1 -0
  22. package/es/atom/radio-with-title/index.d.ts.map +1 -1
  23. package/es/atom/radio-with-title/types.d.ts +1 -0
  24. package/es/atom/radio-with-title/types.d.ts.map +1 -1
  25. package/es/atom/review-presentation/index.js +1 -0
  26. package/es/atom/review-presentation/index.js.map +1 -1
  27. package/es/atom/title/index.d.ts +1 -0
  28. package/es/atom/title/index.js +1 -0
  29. package/es/atom/title/index.js.map +1 -1
  30. package/es/atom/tooltip/index.d.ts.map +1 -1
  31. package/es/atom/tooltip/index.js +1 -0
  32. package/es/atom/tooltip/index.js.map +1 -1
  33. package/es/molecule/base-modal/index.js +1 -0
  34. package/es/molecule/base-modal/index.js.map +1 -1
  35. package/es/molecule/bullet-point-menu-button/index.d.ts.map +1 -1
  36. package/es/molecule/bullet-point-menu-button/index.js +1 -0
  37. package/es/molecule/bullet-point-menu-button/index.js.map +1 -1
  38. package/es/molecule/button-menu-action/index.d.ts +1 -0
  39. package/es/molecule/button-menu-action/index.d.ts.map +1 -1
  40. package/es/molecule/button-menu-action/index.js +1 -0
  41. package/es/molecule/button-menu-action/index.js.map +1 -1
  42. package/es/molecule/button-menu-action/types.d.ts +1 -0
  43. package/es/molecule/button-menu-action/types.d.ts.map +1 -1
  44. package/es/molecule/card/customer.js +1 -0
  45. package/es/molecule/card/customer.js.map +1 -1
  46. package/es/molecule/card/index.d.ts.map +1 -1
  47. package/es/molecule/card/index.js +7 -0
  48. package/es/molecule/card/index.js.map +1 -1
  49. package/es/molecule/card-content/index.d.ts.map +1 -1
  50. package/es/molecule/card-content/index.js +1 -0
  51. package/es/molecule/card-content/index.js.map +1 -1
  52. package/es/molecule/cm-popin/types.d.ts +8 -0
  53. package/es/molecule/cm-popin/types.d.ts.map +1 -1
  54. package/es/molecule/course-section/index.d.ts.map +1 -1
  55. package/es/molecule/course-section/index.js +3 -0
  56. package/es/molecule/course-section/index.js.map +1 -1
  57. package/es/molecule/dashboard/learning-profile-banner/index.d.ts.map +1 -1
  58. package/es/molecule/dashboard/learning-profile-banner/index.js +2 -4
  59. package/es/molecule/dashboard/learning-profile-banner/index.js.map +1 -1
  60. package/es/molecule/dashboard/review-banner/index.d.ts.map +1 -1
  61. package/es/molecule/dashboard/review-banner/index.js +2 -4
  62. package/es/molecule/dashboard/review-banner/index.js.map +1 -1
  63. package/es/molecule/expandible-actionable-table/index.d.ts +1 -0
  64. package/es/molecule/expandible-actionable-table/index.d.ts.map +1 -1
  65. package/es/molecule/expandible-actionable-table/types.d.ts +1 -0
  66. package/es/molecule/expandible-actionable-table/types.d.ts.map +1 -1
  67. package/es/molecule/learner-skill-card/index.d.ts.map +1 -1
  68. package/es/molecule/learner-skill-card/index.js +11 -0
  69. package/es/molecule/learner-skill-card/index.js.map +1 -1
  70. package/es/molecule/learning-priority-card/index.d.ts.map +1 -1
  71. package/es/molecule/learning-priority-card/index.js +1 -0
  72. package/es/molecule/learning-priority-card/index.js.map +1 -1
  73. package/es/molecule/learning-priority-setup-item/index.d.ts.map +1 -1
  74. package/es/molecule/learning-priority-setup-item/index.js +1 -0
  75. package/es/molecule/learning-priority-setup-item/index.js.map +1 -1
  76. package/es/molecule/progress-wrapper/index.d.ts +2 -0
  77. package/es/molecule/progress-wrapper/index.d.ts.map +1 -1
  78. package/es/molecule/progress-wrapper/index.js +39 -3
  79. package/es/molecule/progress-wrapper/index.js.map +1 -1
  80. package/es/molecule/progress-wrapper/style.css +4 -1
  81. package/es/molecule/questions/qcm/index.d.ts.map +1 -1
  82. package/es/molecule/questions/qcm/index.js +10 -0
  83. package/es/molecule/questions/qcm/index.js.map +1 -1
  84. package/es/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
  85. package/es/molecule/questions/qcm-graphic/index.js +1 -0
  86. package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
  87. package/es/molecule/quick-filters/index.d.ts +1 -0
  88. package/es/molecule/quick-filters/index.d.ts.map +1 -1
  89. package/es/molecule/quick-filters/index.js +1 -0
  90. package/es/molecule/quick-filters/index.js.map +1 -1
  91. package/es/molecule/quick-filters/types.d.ts +1 -0
  92. package/es/molecule/quick-filters/types.d.ts.map +1 -1
  93. package/es/molecule/review-correction-popin/index.d.ts.map +1 -1
  94. package/es/molecule/review-correction-popin/index.js +3 -0
  95. package/es/molecule/review-correction-popin/index.js.map +1 -1
  96. package/es/molecule/search-form/index.d.ts.map +1 -1
  97. package/es/molecule/search-form/index.js +7 -0
  98. package/es/molecule/search-form/index.js.map +1 -1
  99. package/es/molecule/skill-card/index.d.ts.map +1 -1
  100. package/es/molecule/skill-card/index.js +3 -0
  101. package/es/molecule/skill-card/index.js.map +1 -1
  102. package/es/molecule/title-and-checkbox-wrapper/index.d.ts +1 -0
  103. package/es/molecule/title-radio-wrapper/index.d.ts +1 -0
  104. package/es/molecule/title-radio-wrapper/index.d.ts.map +1 -1
  105. package/es/molecule/title-radio-wrapper/types.d.ts +1 -0
  106. package/es/molecule/title-radio-wrapper/types.d.ts.map +1 -1
  107. package/es/organism/content-skill-modal/index.d.ts +7 -0
  108. package/es/organism/content-skill-modal/index.d.ts.map +1 -1
  109. package/es/organism/content-skill-modal/types.d.ts +7 -0
  110. package/es/organism/content-skill-modal/types.d.ts.map +1 -1
  111. package/es/organism/header-with-actions/index.js +0 -1
  112. package/es/organism/header-with-actions/index.js.map +1 -1
  113. package/es/organism/icon-editor/index.d.ts +1 -0
  114. package/es/organism/icon-editor/index.d.ts.map +1 -1
  115. package/es/organism/icon-editor/types.d.ts +1 -0
  116. package/es/organism/icon-editor/types.d.ts.map +1 -1
  117. package/es/organism/list-item/index.js +1 -0
  118. package/es/organism/list-item/index.js.map +1 -1
  119. package/es/organism/list-items/index.d.ts +7 -0
  120. package/es/organism/mooc-header/index.d.ts.map +1 -1
  121. package/es/organism/mooc-header/index.js +3 -0
  122. package/es/organism/mooc-header/index.js.map +1 -1
  123. package/es/organism/review-congrats/index.d.ts.map +1 -1
  124. package/es/organism/review-congrats/index.js +1 -0
  125. package/es/organism/review-congrats/index.js.map +1 -1
  126. package/es/organism/review-header/index.d.ts.map +1 -1
  127. package/es/organism/review-header/index.js +3 -0
  128. package/es/organism/review-header/index.js.map +1 -1
  129. package/es/organism/rewards-form/index.d.ts +1 -0
  130. package/es/organism/select-opponents/index.d.ts +1 -0
  131. package/es/organism/select-opponents/index.d.ts.map +1 -1
  132. package/es/organism/select-opponents/types.d.ts +1 -0
  133. package/es/organism/select-opponents/types.d.ts.map +1 -1
  134. package/es/organism/setup-header/index.d.ts +4 -0
  135. package/es/organism/title-and-input/index.d.ts +3 -0
  136. package/es/organism/title-and-input/index.d.ts.map +1 -1
  137. package/es/organism/title-and-input/types.d.ts +3 -0
  138. package/es/organism/title-and-input/types.d.ts.map +1 -1
  139. package/es/organism/wizard-contents/index.d.ts +4 -0
  140. package/es/template/app-player/loading/index.d.ts +8 -0
  141. package/es/template/app-player/player/index.d.ts +16 -0
  142. package/es/template/app-player/player/slides/index.d.ts +8 -0
  143. package/es/template/app-player/player/slides/index.d.ts.map +1 -1
  144. package/es/template/app-player/popin-correction/index.d.ts +8 -0
  145. package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
  146. package/es/template/app-player/popin-end/index.d.ts +8 -0
  147. package/es/template/app-review/index.d.ts +8 -0
  148. package/es/template/app-review/index.d.ts.map +1 -1
  149. package/es/template/app-review/player/prop-types.d.ts +8 -0
  150. package/es/template/app-review/player/prop-types.d.ts.map +1 -1
  151. package/es/template/app-review/prop-types.d.ts +8 -0
  152. package/es/template/app-review/prop-types.d.ts.map +1 -1
  153. package/es/template/app-review/skills/index.js +1 -0
  154. package/es/template/app-review/skills/index.js.map +1 -1
  155. package/es/template/back-office/brand-create/index.d.ts +4 -0
  156. package/es/template/back-office/brand-create/index.d.ts.map +1 -1
  157. package/es/template/back-office/brand-list/index.d.ts +4 -0
  158. package/es/template/back-office/brand-list/index.d.ts.map +1 -1
  159. package/es/template/back-office/brand-update/index.d.ts +30 -0
  160. package/es/template/back-office/dashboard-preview/index.d.ts +4 -0
  161. package/es/template/back-office/layout/index.d.ts +4 -0
  162. package/es/template/back-office/layout/index.d.ts.map +1 -1
  163. package/es/template/certification-detail/index.d.ts +10 -0
  164. package/es/template/certification-detail/index.d.ts.map +1 -1
  165. package/es/template/certification-detail/index.js +7 -1
  166. package/es/template/certification-detail/index.js.map +1 -1
  167. package/es/template/common/dashboard/index.d.ts +16 -0
  168. package/es/template/common/search-page/index.d.ts +10 -0
  169. package/es/template/external-course/index.d.ts +8 -0
  170. package/es/template/playlist-detail/index.d.ts +8 -0
  171. package/es/template/review-dashboard-skills/index.js +1 -0
  172. package/es/template/review-dashboard-skills/index.js.map +1 -1
  173. package/es/util/button-icons.d.ts +1 -0
  174. package/es/util/button-icons.d.ts.map +1 -1
  175. package/es/util/button-icons.js +2 -0
  176. package/es/util/button-icons.js.map +1 -1
  177. package/es/util/linkedin-icon.d.ts +3 -0
  178. package/es/util/linkedin-icon.d.ts.map +1 -0
  179. package/es/util/linkedin-icon.js +17 -0
  180. package/es/util/linkedin-icon.js.map +1 -0
  181. package/lib/atom/button-link/index.d.ts +1 -0
  182. package/lib/atom/button-link/index.d.ts.map +1 -1
  183. package/lib/atom/button-link/types.d.ts +2 -0
  184. package/lib/atom/button-link/types.d.ts.map +1 -1
  185. package/lib/atom/button-link/types.js +2 -1
  186. package/lib/atom/button-link/types.js.map +1 -1
  187. package/lib/atom/chip/index.d.ts.map +1 -1
  188. package/lib/atom/chip/index.js +10 -0
  189. package/lib/atom/chip/index.js.map +1 -1
  190. package/lib/atom/chips/index.d.ts.map +1 -1
  191. package/lib/atom/chips/index.js +9 -0
  192. package/lib/atom/chips/index.js.map +1 -1
  193. package/lib/atom/circular-progress-bar/index.d.ts.map +1 -1
  194. package/lib/atom/circular-progress-bar/index.js +4 -0
  195. package/lib/atom/circular-progress-bar/index.js.map +1 -1
  196. package/lib/atom/input-select/index.d.ts.map +1 -1
  197. package/lib/atom/input-select/index.js +2 -2
  198. package/lib/atom/input-select/index.js.map +1 -1
  199. package/lib/atom/input-text-with-title/index.js +1 -0
  200. package/lib/atom/input-text-with-title/index.js.map +1 -1
  201. package/lib/atom/radio-with-title/index.d.ts +1 -0
  202. package/lib/atom/radio-with-title/index.d.ts.map +1 -1
  203. package/lib/atom/radio-with-title/types.d.ts +1 -0
  204. package/lib/atom/radio-with-title/types.d.ts.map +1 -1
  205. package/lib/atom/review-presentation/index.js +1 -0
  206. package/lib/atom/review-presentation/index.js.map +1 -1
  207. package/lib/atom/title/index.d.ts +1 -0
  208. package/lib/atom/title/index.js +1 -0
  209. package/lib/atom/title/index.js.map +1 -1
  210. package/lib/atom/tooltip/index.d.ts.map +1 -1
  211. package/lib/atom/tooltip/index.js +1 -0
  212. package/lib/atom/tooltip/index.js.map +1 -1
  213. package/lib/molecule/base-modal/index.js +1 -0
  214. package/lib/molecule/base-modal/index.js.map +1 -1
  215. package/lib/molecule/bullet-point-menu-button/index.d.ts.map +1 -1
  216. package/lib/molecule/bullet-point-menu-button/index.js +1 -0
  217. package/lib/molecule/bullet-point-menu-button/index.js.map +1 -1
  218. package/lib/molecule/button-menu-action/index.d.ts +1 -0
  219. package/lib/molecule/button-menu-action/index.d.ts.map +1 -1
  220. package/lib/molecule/button-menu-action/index.js +1 -0
  221. package/lib/molecule/button-menu-action/index.js.map +1 -1
  222. package/lib/molecule/button-menu-action/types.d.ts +1 -0
  223. package/lib/molecule/button-menu-action/types.d.ts.map +1 -1
  224. package/lib/molecule/card/customer.js +1 -0
  225. package/lib/molecule/card/customer.js.map +1 -1
  226. package/lib/molecule/card/index.d.ts.map +1 -1
  227. package/lib/molecule/card/index.js +7 -0
  228. package/lib/molecule/card/index.js.map +1 -1
  229. package/lib/molecule/card-content/index.d.ts.map +1 -1
  230. package/lib/molecule/card-content/index.js +1 -0
  231. package/lib/molecule/card-content/index.js.map +1 -1
  232. package/lib/molecule/cm-popin/types.d.ts +8 -0
  233. package/lib/molecule/cm-popin/types.d.ts.map +1 -1
  234. package/lib/molecule/course-section/index.d.ts.map +1 -1
  235. package/lib/molecule/course-section/index.js +3 -0
  236. package/lib/molecule/course-section/index.js.map +1 -1
  237. package/lib/molecule/dashboard/learning-profile-banner/index.d.ts.map +1 -1
  238. package/lib/molecule/dashboard/learning-profile-banner/index.js +2 -4
  239. package/lib/molecule/dashboard/learning-profile-banner/index.js.map +1 -1
  240. package/lib/molecule/dashboard/review-banner/index.d.ts.map +1 -1
  241. package/lib/molecule/dashboard/review-banner/index.js +2 -4
  242. package/lib/molecule/dashboard/review-banner/index.js.map +1 -1
  243. package/lib/molecule/expandible-actionable-table/index.d.ts +1 -0
  244. package/lib/molecule/expandible-actionable-table/index.d.ts.map +1 -1
  245. package/lib/molecule/expandible-actionable-table/types.d.ts +1 -0
  246. package/lib/molecule/expandible-actionable-table/types.d.ts.map +1 -1
  247. package/lib/molecule/learner-skill-card/index.d.ts.map +1 -1
  248. package/lib/molecule/learner-skill-card/index.js +11 -0
  249. package/lib/molecule/learner-skill-card/index.js.map +1 -1
  250. package/lib/molecule/learning-priority-card/index.d.ts.map +1 -1
  251. package/lib/molecule/learning-priority-card/index.js +1 -0
  252. package/lib/molecule/learning-priority-card/index.js.map +1 -1
  253. package/lib/molecule/learning-priority-setup-item/index.d.ts.map +1 -1
  254. package/lib/molecule/learning-priority-setup-item/index.js +1 -0
  255. package/lib/molecule/learning-priority-setup-item/index.js.map +1 -1
  256. package/lib/molecule/progress-wrapper/index.d.ts +2 -0
  257. package/lib/molecule/progress-wrapper/index.d.ts.map +1 -1
  258. package/lib/molecule/progress-wrapper/index.js +39 -3
  259. package/lib/molecule/progress-wrapper/index.js.map +1 -1
  260. package/lib/molecule/progress-wrapper/style.css +4 -1
  261. package/lib/molecule/questions/qcm/index.d.ts.map +1 -1
  262. package/lib/molecule/questions/qcm/index.js +10 -0
  263. package/lib/molecule/questions/qcm/index.js.map +1 -1
  264. package/lib/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
  265. package/lib/molecule/questions/qcm-graphic/index.js +1 -0
  266. package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
  267. package/lib/molecule/quick-filters/index.d.ts +1 -0
  268. package/lib/molecule/quick-filters/index.d.ts.map +1 -1
  269. package/lib/molecule/quick-filters/index.js +1 -0
  270. package/lib/molecule/quick-filters/index.js.map +1 -1
  271. package/lib/molecule/quick-filters/types.d.ts +1 -0
  272. package/lib/molecule/quick-filters/types.d.ts.map +1 -1
  273. package/lib/molecule/review-correction-popin/index.d.ts.map +1 -1
  274. package/lib/molecule/review-correction-popin/index.js +3 -0
  275. package/lib/molecule/review-correction-popin/index.js.map +1 -1
  276. package/lib/molecule/search-form/index.d.ts.map +1 -1
  277. package/lib/molecule/search-form/index.js +7 -0
  278. package/lib/molecule/search-form/index.js.map +1 -1
  279. package/lib/molecule/skill-card/index.d.ts.map +1 -1
  280. package/lib/molecule/skill-card/index.js +3 -0
  281. package/lib/molecule/skill-card/index.js.map +1 -1
  282. package/lib/molecule/title-and-checkbox-wrapper/index.d.ts +1 -0
  283. package/lib/molecule/title-radio-wrapper/index.d.ts +1 -0
  284. package/lib/molecule/title-radio-wrapper/index.d.ts.map +1 -1
  285. package/lib/molecule/title-radio-wrapper/types.d.ts +1 -0
  286. package/lib/molecule/title-radio-wrapper/types.d.ts.map +1 -1
  287. package/lib/organism/content-skill-modal/index.d.ts +7 -0
  288. package/lib/organism/content-skill-modal/index.d.ts.map +1 -1
  289. package/lib/organism/content-skill-modal/types.d.ts +7 -0
  290. package/lib/organism/content-skill-modal/types.d.ts.map +1 -1
  291. package/lib/organism/header-with-actions/index.js +0 -1
  292. package/lib/organism/header-with-actions/index.js.map +1 -1
  293. package/lib/organism/icon-editor/index.d.ts +1 -0
  294. package/lib/organism/icon-editor/index.d.ts.map +1 -1
  295. package/lib/organism/icon-editor/types.d.ts +1 -0
  296. package/lib/organism/icon-editor/types.d.ts.map +1 -1
  297. package/lib/organism/list-item/index.js +1 -0
  298. package/lib/organism/list-item/index.js.map +1 -1
  299. package/lib/organism/list-items/index.d.ts +7 -0
  300. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  301. package/lib/organism/mooc-header/index.js +3 -0
  302. package/lib/organism/mooc-header/index.js.map +1 -1
  303. package/lib/organism/review-congrats/index.d.ts.map +1 -1
  304. package/lib/organism/review-congrats/index.js +1 -0
  305. package/lib/organism/review-congrats/index.js.map +1 -1
  306. package/lib/organism/review-header/index.d.ts.map +1 -1
  307. package/lib/organism/review-header/index.js +3 -0
  308. package/lib/organism/review-header/index.js.map +1 -1
  309. package/lib/organism/rewards-form/index.d.ts +1 -0
  310. package/lib/organism/select-opponents/index.d.ts +1 -0
  311. package/lib/organism/select-opponents/index.d.ts.map +1 -1
  312. package/lib/organism/select-opponents/types.d.ts +1 -0
  313. package/lib/organism/select-opponents/types.d.ts.map +1 -1
  314. package/lib/organism/setup-header/index.d.ts +4 -0
  315. package/lib/organism/title-and-input/index.d.ts +3 -0
  316. package/lib/organism/title-and-input/index.d.ts.map +1 -1
  317. package/lib/organism/title-and-input/types.d.ts +3 -0
  318. package/lib/organism/title-and-input/types.d.ts.map +1 -1
  319. package/lib/organism/wizard-contents/index.d.ts +4 -0
  320. package/lib/template/app-player/loading/index.d.ts +8 -0
  321. package/lib/template/app-player/player/index.d.ts +16 -0
  322. package/lib/template/app-player/player/slides/index.d.ts +8 -0
  323. package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
  324. package/lib/template/app-player/popin-correction/index.d.ts +8 -0
  325. package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
  326. package/lib/template/app-player/popin-end/index.d.ts +8 -0
  327. package/lib/template/app-review/index.d.ts +8 -0
  328. package/lib/template/app-review/index.d.ts.map +1 -1
  329. package/lib/template/app-review/player/prop-types.d.ts +8 -0
  330. package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
  331. package/lib/template/app-review/prop-types.d.ts +8 -0
  332. package/lib/template/app-review/prop-types.d.ts.map +1 -1
  333. package/lib/template/app-review/skills/index.js +1 -0
  334. package/lib/template/app-review/skills/index.js.map +1 -1
  335. package/lib/template/back-office/brand-create/index.d.ts +4 -0
  336. package/lib/template/back-office/brand-create/index.d.ts.map +1 -1
  337. package/lib/template/back-office/brand-list/index.d.ts +4 -0
  338. package/lib/template/back-office/brand-list/index.d.ts.map +1 -1
  339. package/lib/template/back-office/brand-update/index.d.ts +30 -0
  340. package/lib/template/back-office/dashboard-preview/index.d.ts +4 -0
  341. package/lib/template/back-office/layout/index.d.ts +4 -0
  342. package/lib/template/back-office/layout/index.d.ts.map +1 -1
  343. package/lib/template/certification-detail/index.d.ts +10 -0
  344. package/lib/template/certification-detail/index.d.ts.map +1 -1
  345. package/lib/template/certification-detail/index.js +7 -1
  346. package/lib/template/certification-detail/index.js.map +1 -1
  347. package/lib/template/common/dashboard/index.d.ts +16 -0
  348. package/lib/template/common/search-page/index.d.ts +10 -0
  349. package/lib/template/external-course/index.d.ts +8 -0
  350. package/lib/template/playlist-detail/index.d.ts +8 -0
  351. package/lib/template/review-dashboard-skills/index.js +1 -0
  352. package/lib/template/review-dashboard-skills/index.js.map +1 -1
  353. package/lib/util/button-icons.d.ts +1 -0
  354. package/lib/util/button-icons.d.ts.map +1 -1
  355. package/lib/util/button-icons.js +2 -0
  356. package/lib/util/button-icons.js.map +1 -1
  357. package/lib/util/linkedin-icon.d.ts +3 -0
  358. package/lib/util/linkedin-icon.d.ts.map +1 -0
  359. package/lib/util/linkedin-icon.js +21 -0
  360. package/lib/util/linkedin-icon.js.map +1 -0
  361. package/locales/bs/global.json +2 -1
  362. package/locales/cs/global.json +2 -1
  363. package/locales/de/global.json +2 -1
  364. package/locales/en/global.json +2 -1
  365. package/locales/es/global.json +2 -1
  366. package/locales/et/global.json +2 -1
  367. package/locales/fi/global.json +2 -1
  368. package/locales/fr/global.json +2 -1
  369. package/locales/hr/global.json +2 -1
  370. package/locales/hu/global.json +2 -1
  371. package/locales/hy/global.json +2 -1
  372. package/locales/it/global.json +2 -1
  373. package/locales/ja/global.json +2 -1
  374. package/locales/ko/global.json +2 -1
  375. package/locales/lt/global.json +2 -1
  376. package/locales/nl/global.json +2 -1
  377. package/locales/pl/global.json +2 -1
  378. package/locales/pt/global.json +2 -1
  379. package/locales/ro/global.json +2 -1
  380. package/locales/ru/global.json +2 -1
  381. package/locales/sk/global.json +2 -1
  382. package/locales/sl/global.json +2 -1
  383. package/locales/sv/global.json +2 -1
  384. package/locales/tl/global.json +2 -1
  385. package/locales/tr/global.json +2 -1
  386. package/locales/uk/global.json +2 -1
  387. package/locales/vi/global.json +2 -1
  388. package/locales/zh/global.json +2 -1
  389. package/locales/zh_TW/global.json +2 -1
  390. package/package.json +4 -4
@@ -24,12 +24,18 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
24
24
  const uncappedMap = _map2.default.convert({
25
25
  cap: false
26
26
  });
27
+
28
+ // LinkedIn brand colors so the share CTA reads unmistakably as LinkedIn.
29
+ const LINKEDIN_BLUE = '#0A66C2';
30
+ const LINKEDIN_BLUE_HOVER = '#004182';
27
31
  const DetailSection = ({
28
32
  index,
29
33
  type,
30
34
  isLocked,
31
35
  downloadUrl,
32
- stars
36
+ stars,
37
+ linkedinShareUrl,
38
+ onLinkedinShareClick
33
39
  }, context) => {
34
40
  const {
35
41
  translate
@@ -37,6 +43,31 @@ const DetailSection = ({
37
43
  const skin = (0, _provider.GetSkinFromContext)(context);
38
44
  const primarySkinColor = (0, _get2.default)('common.primary', skin);
39
45
  const isTypeStars = type === 'stars';
46
+ const showLinkedinButton = type === 'badge' && !(0, _isEmpty2.default)(linkedinShareUrl) && !isLocked;
47
+ const linkedinButtonProps = {
48
+ label: translate('publish_on_linkedin'),
49
+ link: {
50
+ target: '_blank',
51
+ href: linkedinShareUrl,
52
+ rel: 'noopener noreferrer'
53
+ },
54
+ onClick: onLinkedinShareClick,
55
+ 'data-name': 'publish-linkedin-button',
56
+ 'aria-label': translate('publish_on_linkedin'),
57
+ customStyle: {
58
+ backgroundColor: LINKEDIN_BLUE,
59
+ color: _colors.COLORS.white,
60
+ width: 'auto',
61
+ transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'
62
+ },
63
+ hoverBackgroundColor: LINKEDIN_BLUE_HOVER,
64
+ hoverColor: _colors.COLORS.white,
65
+ // The nova LinkedIn glyph uses fill: currentColor, so it inherits the white label color.
66
+ icon: {
67
+ position: 'left',
68
+ type: 'linkedin'
69
+ }
70
+ };
40
71
  const downloadButtonProps = {
41
72
  label: translate('download'),
42
73
  link: {
@@ -69,6 +100,7 @@ const DetailSection = ({
69
100
  return isTypeStars ? /*#__PURE__*/_react.default.createElement("div", {
70
101
  className: _style.default[`detailsSection${index}`],
71
102
  "data-name": type,
103
+ role: "group",
72
104
  "aria-label": `${type} informations`
73
105
  }, /*#__PURE__*/_react.default.createElement("div", {
74
106
  className: _style.default.detailsInfo
@@ -86,6 +118,7 @@ const DetailSection = ({
86
118
  }), /*#__PURE__*/_react.default.createElement("span", null, stars)))) : /*#__PURE__*/_react.default.createElement("div", {
87
119
  className: _style.default[`detailsSection${index}`],
88
120
  "data-name": type,
121
+ role: "group",
89
122
  "aria-label": `${type} informations`
90
123
  }, /*#__PURE__*/_react.default.createElement("img", {
91
124
  className: _style.default.img,
@@ -98,7 +131,7 @@ const DetailSection = ({
98
131
  className: _style.default.detailsTitle
99
132
  }, type === 'diploma' ? translate('diploma') : translate('badge'))), /*#__PURE__*/_react.default.createElement("div", {
100
133
  className: _style.default.buttonContainer
101
- }, /*#__PURE__*/_react.default.createElement(_buttonLink.default, downloadButtonProps))));
134
+ }, /*#__PURE__*/_react.default.createElement(_buttonLink.default, downloadButtonProps), showLinkedinButton ? /*#__PURE__*/_react.default.createElement(_buttonLink.default, linkedinButtonProps) : null)));
102
135
  };
103
136
  const ProgressWrapper = ({
104
137
  completedModules,
@@ -123,6 +156,7 @@ const ProgressWrapper = ({
123
156
  return /*#__PURE__*/_react.default.createElement("div", {
124
157
  className: _style.default.container,
125
158
  "data-name": "prgress-wrapper",
159
+ role: "group",
126
160
  "aria-label": "progress wrapper section"
127
161
  }, /*#__PURE__*/_react.default.createElement("div", {
128
162
  className: _style.default.titleContainer
@@ -196,7 +230,9 @@ const ProgressWrapper = ({
196
230
  const commonDetailSectionPropTypes = process.env.NODE_ENV !== "production" ? {
197
231
  type: _propTypes.default.oneOf(['diploma', 'badge', 'stars']),
198
232
  downloadUrl: _propTypes.default.string,
199
- stars: _propTypes.default.number
233
+ stars: _propTypes.default.number,
234
+ linkedinShareUrl: _propTypes.default.string,
235
+ onLinkedinShareClick: _propTypes.default.func
200
236
  } : {};
201
237
  DetailSection.contextTypes = {
202
238
  translate: _provider.default.childContextTypes.translate,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_propTypes","_cssColorFunction","_title","_progressBar","_colors","_tag","_buttonLink","_icon","_provider","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","uncappedMap","_map2","convert","cap","DetailSection","index","type","isLocked","downloadUrl","stars","context","translate","skin","GetSkinFromContext","primarySkinColor","_get2","isTypeStars","downloadButtonProps","label","link","target","href","customStyle","backgroundColor","color","width","transition","hoverBackgroundColor","hoverColor","COLORS","white","icon","position","faIcon","name","size","padding","disabled","createElement","className","style","detailsInfo","detailsInfoText","detailsTitle","iconName","iconColor","preset","img","src","buttonContainer","ProgressWrapper","completedModules","mandatoryModules","title","subtitle","progression","sections","mandatoryCompletedModulesLocale","total","count","showDetails","setShowDetails","useState","handleToggleDetails","useCallback","container","titleContainer","titleSize","statscontainer","stats","dangerouslySetInnerHTML","__html","statsNumber","customProgressBar","cm_positive_500","displayInfo","value","max","statsProgressionMobile","_isEmpty2","Fragment","toggleDetailsButton","onClick","toggleDetailsLabel","toggleDetailsTitle","cm_grey_500","cm_grey_700","faSize","wrapperSize","classNames","details","visibleDetails","hiddenDetails","section","key","commonDetailSectionPropTypes","process","env","NODE_ENV","PropTypes","oneOf","string","number","contextTypes","Provider","childContextTypes","propTypes","bool","arrayOf","shape","_default","exports"],"sources":["../../../src/molecule/progress-wrapper/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {isEmpty, map, get} from 'lodash/fp';\nimport Title from '../../atom/title';\nimport ProgressBar from '../progress-bar';\nimport {COLORS} from '../../variables/colors';\nimport Tag from '../../atom/tag';\nimport ButtonLink from '../../atom/button-link';\nimport Icon from '../../atom/icon';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\n// eslint-disable-next-line css-modules/no-unused-class\nimport style from './style.css';\n\nconst uncappedMap = map.convert({cap: false});\n\nconst DetailSection = ({index, type, isLocked, downloadUrl, stars}, context) => {\n const {translate} = context;\n const skin = GetSkinFromContext(context);\n const primarySkinColor = get('common.primary', skin);\n const isTypeStars = type === 'stars';\n\n const downloadButtonProps = {\n label: translate('download'),\n link: {\n target: '_blank',\n href: downloadUrl\n },\n 'data-name': `download-${type}-button`,\n 'aria-label': `download ${type} button`,\n customStyle: {\n backgroundColor: convert(`color(${primarySkinColor} a(0.07))`),\n color: primarySkinColor,\n width: 'auto',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n hoverBackgroundColor: primarySkinColor,\n hoverColor: COLORS.white,\n icon: {\n position: 'left',\n faIcon: {\n name: 'download',\n color: primarySkinColor,\n size: 14,\n customStyle: {padding: 0}\n }\n },\n disabled: isLocked\n };\n\n return isTypeStars ? (\n <div\n className={style[`detailsSection${index}`]}\n data-name={type}\n aria-label={`${type} informations`}\n >\n <div className={style.detailsInfo}>\n <div className={style.detailsInfoText}>\n <span className={style.detailsTitle}>{translate('bonus_stars')}</span>\n </div>\n <div className={style.stars}>\n <Icon iconName=\"star\" iconColor=\"#FFCE0A\" backgroundColor=\"#FFF9D1\" preset=\"xl\" />\n <span>{stars}</span>\n </div>\n </div>\n </div>\n ) : (\n <div\n className={style[`detailsSection${index}`]}\n data-name={type}\n aria-label={`${type} informations`}\n >\n <img\n className={style.img}\n src={\n type === 'badge'\n ? downloadUrl\n : 'https://s3.eu-west-1.amazonaws.com/static.coorpacademy.com/assets/images/diploma.svg'\n }\n />\n <div className={style.detailsInfo}>\n <div className={style.detailsInfoText}>\n <span className={style.detailsTitle}>\n {type === 'diploma' ? translate('diploma') : translate('badge')}\n </span>\n </div>\n\n <div className={style.buttonContainer}>\n <ButtonLink {...downloadButtonProps} />\n </div>\n </div>\n </div>\n );\n};\n\nconst ProgressWrapper = (\n {completedModules, mandatoryModules, title, subtitle, progression, sections},\n context\n) => {\n const {translate} = context;\n const mandatoryCompletedModulesLocale = translate('modules_completed_mandatory', {\n total: mandatoryModules,\n count: completedModules > mandatoryModules ? mandatoryModules : completedModules\n });\n const isLocked = progression !== 100;\n\n const [showDetails, setShowDetails] = useState(false);\n\n const handleToggleDetails = useCallback(() => {\n setShowDetails(!showDetails);\n }, [showDetails]);\n return (\n <div\n className={style.container}\n data-name=\"prgress-wrapper\"\n aria-label=\"progress wrapper section\"\n >\n <div className={style.titleContainer}>\n <Title type=\"form-group\" titleSize=\"medium\" title={title} subtitle={subtitle} />\n </div>\n <div className={style.statscontainer}>\n <div className={style.stats}>\n <div\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: mandatoryCompletedModulesLocale}}\n />\n </div>\n <div className={style.progression}>\n <span className={style.statsNumber} data-name=\"progress-value\">\n {progression}%\n </span>\n </div>\n </div>\n <ProgressBar\n className={style.customProgressBar}\n style={{backgroundColor: COLORS.cm_positive_500}}\n displayInfo={false}\n value={progression}\n max={100}\n />\n <div className={style.statsProgressionMobile}>\n <span className={style.statsNumber}>{progression}%</span>\n </div>\n\n {!isEmpty(sections) ? (\n <>\n <div\n className={style.toggleDetailsButton}\n onClick={handleToggleDetails}\n data-testid=\"progress-wrapper-toggle-details-button\"\n >\n <div className={style.toggleDetailsLabel}>\n <span className={style.toggleDetailsTitle}>{translate('rewards')}</span>\n {isLocked ? (\n <Tag\n label={translate('locked')}\n size=\"S\"\n icon={{\n position: 'left',\n iconName: 'lock',\n iconColor: COLORS.cm_grey_500,\n preset: 's',\n customStyle: {padding: 0}\n }}\n />\n ) : null}\n </div>\n <Icon\n iconColor={COLORS.cm_grey_700}\n iconName={showDetails ? 'chevron-up' : 'chevron-down'}\n size={{faSize: 20, wrapperSize: 24}}\n />\n </div>\n\n <div\n className={classNames(\n style.details,\n showDetails ? style.visibleDetails : style.hiddenDetails\n )}\n data-testid=\"progress-wrapper-details\"\n >\n {uncappedMap(\n (section, index) => (\n <DetailSection\n {...section}\n isLocked={isLocked}\n key={`${section.type}-${index}`}\n index={index}\n />\n ),\n sections\n )}\n </div>\n </>\n ) : null}\n </div>\n );\n};\n\nconst commonDetailSectionPropTypes = {\n type: PropTypes.oneOf(['diploma', 'badge', 'stars']),\n downloadUrl: PropTypes.string,\n stars: PropTypes.number\n};\n\nDetailSection.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nDetailSection.propTypes = {\n index: PropTypes.number,\n isLocked: PropTypes.bool,\n ...commonDetailSectionPropTypes\n};\n\nProgressWrapper.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nProgressWrapper.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n completedModules: PropTypes.number,\n mandatoryModules: PropTypes.number,\n progression: PropTypes.number,\n sections: PropTypes.arrayOf(PropTypes.shape(commonDetailSectionPropTypes))\n};\n\nexport default ProgressWrapper;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_propTypes","_cssColorFunction","_title","_progressBar","_colors","_tag","_buttonLink","_icon","_provider","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","uncappedMap","_map2","convert","cap","LINKEDIN_BLUE","LINKEDIN_BLUE_HOVER","DetailSection","index","type","isLocked","downloadUrl","stars","linkedinShareUrl","onLinkedinShareClick","context","translate","skin","GetSkinFromContext","primarySkinColor","_get2","isTypeStars","showLinkedinButton","_isEmpty2","linkedinButtonProps","label","link","target","href","rel","onClick","customStyle","backgroundColor","color","COLORS","white","width","transition","hoverBackgroundColor","hoverColor","icon","position","downloadButtonProps","faIcon","name","size","padding","disabled","createElement","className","style","role","detailsInfo","detailsInfoText","detailsTitle","iconName","iconColor","preset","img","src","buttonContainer","ProgressWrapper","completedModules","mandatoryModules","title","subtitle","progression","sections","mandatoryCompletedModulesLocale","total","count","showDetails","setShowDetails","useState","handleToggleDetails","useCallback","container","titleContainer","titleSize","statscontainer","stats","dangerouslySetInnerHTML","__html","statsNumber","customProgressBar","cm_positive_500","displayInfo","value","max","statsProgressionMobile","Fragment","toggleDetailsButton","toggleDetailsLabel","toggleDetailsTitle","cm_grey_500","cm_grey_700","faSize","wrapperSize","classNames","details","visibleDetails","hiddenDetails","section","key","commonDetailSectionPropTypes","process","env","NODE_ENV","PropTypes","oneOf","string","number","func","contextTypes","Provider","childContextTypes","propTypes","bool","arrayOf","shape","_default","exports"],"sources":["../../../src/molecule/progress-wrapper/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {isEmpty, map, get} from 'lodash/fp';\nimport Title from '../../atom/title';\nimport ProgressBar from '../progress-bar';\nimport {COLORS} from '../../variables/colors';\nimport Tag from '../../atom/tag';\nimport ButtonLink from '../../atom/button-link';\nimport Icon from '../../atom/icon';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\n// eslint-disable-next-line css-modules/no-unused-class\nimport style from './style.css';\n\nconst uncappedMap = map.convert({cap: false});\n\n// LinkedIn brand colors so the share CTA reads unmistakably as LinkedIn.\nconst LINKEDIN_BLUE = '#0A66C2';\nconst LINKEDIN_BLUE_HOVER = '#004182';\n\nconst DetailSection = (\n {index, type, isLocked, downloadUrl, stars, linkedinShareUrl, onLinkedinShareClick},\n context\n) => {\n const {translate} = context;\n const skin = GetSkinFromContext(context);\n const primarySkinColor = get('common.primary', skin);\n const isTypeStars = type === 'stars';\n const showLinkedinButton = type === 'badge' && !isEmpty(linkedinShareUrl) && !isLocked;\n\n const linkedinButtonProps = {\n label: translate('publish_on_linkedin'),\n link: {\n target: '_blank',\n href: linkedinShareUrl,\n rel: 'noopener noreferrer'\n },\n onClick: onLinkedinShareClick,\n 'data-name': 'publish-linkedin-button',\n 'aria-label': translate('publish_on_linkedin'),\n customStyle: {\n backgroundColor: LINKEDIN_BLUE,\n color: COLORS.white,\n width: 'auto',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n hoverBackgroundColor: LINKEDIN_BLUE_HOVER,\n hoverColor: COLORS.white,\n // The nova LinkedIn glyph uses fill: currentColor, so it inherits the white label color.\n icon: {\n position: 'left',\n type: 'linkedin'\n }\n };\n\n const downloadButtonProps = {\n label: translate('download'),\n link: {\n target: '_blank',\n href: downloadUrl\n },\n 'data-name': `download-${type}-button`,\n 'aria-label': `download ${type} button`,\n customStyle: {\n backgroundColor: convert(`color(${primarySkinColor} a(0.07))`),\n color: primarySkinColor,\n width: 'auto',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n hoverBackgroundColor: primarySkinColor,\n hoverColor: COLORS.white,\n icon: {\n position: 'left',\n faIcon: {\n name: 'download',\n color: primarySkinColor,\n size: 14,\n customStyle: {padding: 0}\n }\n },\n disabled: isLocked\n };\n\n return isTypeStars ? (\n <div\n className={style[`detailsSection${index}`]}\n data-name={type}\n role=\"group\"\n aria-label={`${type} informations`}\n >\n <div className={style.detailsInfo}>\n <div className={style.detailsInfoText}>\n <span className={style.detailsTitle}>{translate('bonus_stars')}</span>\n </div>\n <div className={style.stars}>\n <Icon iconName=\"star\" iconColor=\"#FFCE0A\" backgroundColor=\"#FFF9D1\" preset=\"xl\" />\n <span>{stars}</span>\n </div>\n </div>\n </div>\n ) : (\n <div\n className={style[`detailsSection${index}`]}\n data-name={type}\n role=\"group\"\n aria-label={`${type} informations`}\n >\n <img\n className={style.img}\n src={\n type === 'badge'\n ? downloadUrl\n : 'https://s3.eu-west-1.amazonaws.com/static.coorpacademy.com/assets/images/diploma.svg'\n }\n />\n <div className={style.detailsInfo}>\n <div className={style.detailsInfoText}>\n <span className={style.detailsTitle}>\n {type === 'diploma' ? translate('diploma') : translate('badge')}\n </span>\n </div>\n\n <div className={style.buttonContainer}>\n <ButtonLink {...downloadButtonProps} />\n {showLinkedinButton ? <ButtonLink {...linkedinButtonProps} /> : null}\n </div>\n </div>\n </div>\n );\n};\n\nconst ProgressWrapper = (\n {completedModules, mandatoryModules, title, subtitle, progression, sections},\n context\n) => {\n const {translate} = context;\n const mandatoryCompletedModulesLocale = translate('modules_completed_mandatory', {\n total: mandatoryModules,\n count: completedModules > mandatoryModules ? mandatoryModules : completedModules\n });\n const isLocked = progression !== 100;\n\n const [showDetails, setShowDetails] = useState(false);\n\n const handleToggleDetails = useCallback(() => {\n setShowDetails(!showDetails);\n }, [showDetails]);\n return (\n <div\n className={style.container}\n data-name=\"prgress-wrapper\"\n role=\"group\"\n aria-label=\"progress wrapper section\"\n >\n <div className={style.titleContainer}>\n <Title type=\"form-group\" titleSize=\"medium\" title={title} subtitle={subtitle} />\n </div>\n <div className={style.statscontainer}>\n <div className={style.stats}>\n <div\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: mandatoryCompletedModulesLocale}}\n />\n </div>\n <div className={style.progression}>\n <span className={style.statsNumber} data-name=\"progress-value\">\n {progression}%\n </span>\n </div>\n </div>\n <ProgressBar\n className={style.customProgressBar}\n style={{backgroundColor: COLORS.cm_positive_500}}\n displayInfo={false}\n value={progression}\n max={100}\n />\n <div className={style.statsProgressionMobile}>\n <span className={style.statsNumber}>{progression}%</span>\n </div>\n\n {!isEmpty(sections) ? (\n <>\n <div\n className={style.toggleDetailsButton}\n onClick={handleToggleDetails}\n data-testid=\"progress-wrapper-toggle-details-button\"\n >\n <div className={style.toggleDetailsLabel}>\n <span className={style.toggleDetailsTitle}>{translate('rewards')}</span>\n {isLocked ? (\n <Tag\n label={translate('locked')}\n size=\"S\"\n icon={{\n position: 'left',\n iconName: 'lock',\n iconColor: COLORS.cm_grey_500,\n preset: 's',\n customStyle: {padding: 0}\n }}\n />\n ) : null}\n </div>\n <Icon\n iconColor={COLORS.cm_grey_700}\n iconName={showDetails ? 'chevron-up' : 'chevron-down'}\n size={{faSize: 20, wrapperSize: 24}}\n />\n </div>\n\n <div\n className={classNames(\n style.details,\n showDetails ? style.visibleDetails : style.hiddenDetails\n )}\n data-testid=\"progress-wrapper-details\"\n >\n {uncappedMap(\n (section, index) => (\n <DetailSection\n {...section}\n isLocked={isLocked}\n key={`${section.type}-${index}`}\n index={index}\n />\n ),\n sections\n )}\n </div>\n </>\n ) : null}\n </div>\n );\n};\n\nconst commonDetailSectionPropTypes = {\n type: PropTypes.oneOf(['diploma', 'badge', 'stars']),\n downloadUrl: PropTypes.string,\n stars: PropTypes.number,\n linkedinShareUrl: PropTypes.string,\n onLinkedinShareClick: PropTypes.func\n};\n\nDetailSection.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nDetailSection.propTypes = {\n index: PropTypes.number,\n isLocked: PropTypes.bool,\n ...commonDetailSectionPropTypes\n};\n\nProgressWrapper.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nProgressWrapper.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n completedModules: PropTypes.number,\n mandatoryModules: PropTypes.number,\n progression: PropTypes.number,\n sections: PropTypes.arrayOf(PropTypes.shape(commonDetailSectionPropTypes))\n};\n\nexport default ProgressWrapper;\n"],"mappings":"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","ignoreList":[]}
@@ -78,7 +78,7 @@
78
78
  gap: 20px;
79
79
  padding: 16px;
80
80
  background-color: white;
81
- height: 114px;
81
+ min-height: 114px;
82
82
  flex: 1;
83
83
  }
84
84
 
@@ -115,6 +115,9 @@
115
115
  }
116
116
 
117
117
  .buttonContainer {
118
+ display: flex;
119
+ flex-direction: column;
120
+ gap: 8px;
118
121
  width: fit-content;
119
122
  }
120
123
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm/index.js"],"names":[],"mappings":";AASA,kEAwDC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm/index.js"],"names":[],"mappings":";AAiBA,kEA2DC"}
@@ -13,6 +13,13 @@ var _style = _interopRequireDefault(require("./style.css"));
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ const handleAnswerKeyDown = onClick => event => {
17
+ if (!onClick) return;
18
+ if (event.key === 'Enter' || event.key === ' ') {
19
+ event.preventDefault();
20
+ onClick(event);
21
+ }
22
+ };
16
23
  const QCM = (props, legacyContext) => {
17
24
  const {
18
25
  answers,
@@ -34,10 +41,13 @@ const QCM = (props, legacyContext) => {
34
41
  const selectedAnswerClass = selected ? _style.default.selectedAnswer : _style.default.unselectedAnswer;
35
42
  return /*#__PURE__*/_react.default.createElement("div", {
36
43
  "data-name": "answer",
44
+ role: "button",
45
+ tabIndex: 0,
37
46
  "aria-label": ariaLabel || title,
38
47
  title: ariaLabel || title,
39
48
  className: (0, _classnames.default)(longAnswerClass, _style.default.innerHTML, selectedAnswerClass),
40
49
  onClick: onClick,
50
+ onKeyDown: handleAnswerKeyDown(onClick),
41
51
  style: {
42
52
  ...(selected && {
43
53
  boxShadow: `0 4px 16px ${(0, _getShadowBoxColorFromPrimary.getShadowBoxColorFromPrimary)(primarySkinColor)}`
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_propTypes","_getOr","_maxBy","_provider","_getShadowBoxColorFromPrimary","_style","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","QCM","props","legacyContext","answers","groupAriaLabel","longestAnswer","maxBy","title","length","skin","GetSkinFromContext","primarySkinColor","getOr","answersViews","useMemo","map","answer","key","onClick","selected","ariaLabel","longAnswerClass","style","selectedAnswerClass","selectedAnswer","unselectedAnswer","createElement","className","classnames","innerHTML","boxShadow","getShadowBoxColorFromPrimary","backgroundColor","background","answerText","dangerouslySetInnerHTML","__html","wrapper","role","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","arrayOf","shape","string","bool","func","_default","exports"],"sources":["../../../../src/molecule/questions/qcm/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport maxBy from 'lodash/fp/maxBy';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCM = (props, legacyContext) => {\n const {answers, groupAriaLabel} = props;\n const longestAnswer = maxBy(({title}) => title.length, answers);\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = useMemo(\n () =>\n answers.map((answer, key) => {\n const {onClick, title, selected, 'aria-label': ariaLabel} = answer;\n const longAnswerClass = longestAnswer.title === title ? style.longestAnswer : style.answer;\n const selectedAnswerClass = selected ? style.selectedAnswer : style.unselectedAnswer;\n\n return (\n <div\n data-name=\"answer\"\n aria-label={ariaLabel || title}\n title={ariaLabel || title}\n className={classnames(longAnswerClass, style.innerHTML, selectedAnswerClass)}\n onClick={onClick}\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n data-selected={selected}\n key={key}\n >\n <div\n data-name=\"answer-background\"\n style={{backgroundColor: selected ? primarySkinColor : '#F4F4F5' /* cm_grey_75 */}}\n className={style.background}\n />\n <span\n data-name=\"answer-label\"\n className={style.answerText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n );\n }),\n [answers, longestAnswer, primarySkinColor]\n );\n\n return (\n <div\n data-name=\"qcm\"\n className={style.wrapper}\n role=\"group\"\n aria-label={groupAriaLabel}\n title={groupAriaLabel}\n >\n {answersViews}\n </div>\n );\n};\n\nQCM.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCM.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n ),\n groupAriaLabel: PropTypes.string\n};\n\nexport default QCM;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_propTypes","_getOr","_maxBy","_provider","_getShadowBoxColorFromPrimary","_style","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","handleAnswerKeyDown","onClick","event","key","preventDefault","QCM","props","legacyContext","answers","groupAriaLabel","longestAnswer","maxBy","title","length","skin","GetSkinFromContext","primarySkinColor","getOr","answersViews","useMemo","map","answer","selected","ariaLabel","longAnswerClass","style","selectedAnswerClass","selectedAnswer","unselectedAnswer","createElement","role","tabIndex","className","classnames","innerHTML","onKeyDown","boxShadow","getShadowBoxColorFromPrimary","backgroundColor","background","answerText","dangerouslySetInnerHTML","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","arrayOf","shape","string","bool","func","_default","exports"],"sources":["../../../../src/molecule/questions/qcm/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport maxBy from 'lodash/fp/maxBy';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst handleAnswerKeyDown = onClick => event => {\n if (!onClick) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onClick(event);\n }\n};\n\nconst QCM = (props, legacyContext) => {\n const {answers, groupAriaLabel} = props;\n const longestAnswer = maxBy(({title}) => title.length, answers);\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = useMemo(\n () =>\n answers.map((answer, key) => {\n const {onClick, title, selected, 'aria-label': ariaLabel} = answer;\n const longAnswerClass = longestAnswer.title === title ? style.longestAnswer : style.answer;\n const selectedAnswerClass = selected ? style.selectedAnswer : style.unselectedAnswer;\n\n return (\n <div\n data-name=\"answer\"\n role=\"button\"\n tabIndex={0}\n aria-label={ariaLabel || title}\n title={ariaLabel || title}\n className={classnames(longAnswerClass, style.innerHTML, selectedAnswerClass)}\n onClick={onClick}\n onKeyDown={handleAnswerKeyDown(onClick)}\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n data-selected={selected}\n key={key}\n >\n <div\n data-name=\"answer-background\"\n style={{backgroundColor: selected ? primarySkinColor : '#F4F4F5' /* cm_grey_75 */}}\n className={style.background}\n />\n <span\n data-name=\"answer-label\"\n className={style.answerText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n );\n }),\n [answers, longestAnswer, primarySkinColor]\n );\n\n return (\n <div\n data-name=\"qcm\"\n className={style.wrapper}\n role=\"group\"\n aria-label={groupAriaLabel}\n title={groupAriaLabel}\n >\n {answersViews}\n </div>\n );\n};\n\nQCM.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCM.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n ),\n groupAriaLabel: PropTypes.string\n};\n\nexport default QCM;\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,MAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,MAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,SAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,6BAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAN,sBAAA,CAAAF,OAAA;AAAgC,SAAAE,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAEhC,MAAMW,mBAAmB,GAAGC,OAAO,IAAIC,KAAK,IAAI;EAC9C,IAAI,CAACD,OAAO,EAAE;EACd,IAAIC,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;IAC9CD,KAAK,CAACE,cAAc,CAAC,CAAC;IACtBH,OAAO,CAACC,KAAK,CAAC;EAChB;AACF,CAAC;AAED,MAAMG,GAAG,GAAGA,CAACC,KAAK,EAAEC,aAAa,KAAK;EACpC,MAAM;IAACC,OAAO;IAAEC;EAAc,CAAC,GAAGH,KAAK;EACvC,MAAMI,aAAa,GAAG,IAAAC,cAAK,EAAC,CAAC;IAACC;EAAK,CAAC,KAAKA,KAAK,CAACC,MAAM,EAAEL,OAAO,CAAC;EAC/D,MAAMM,IAAI,GAAG,IAAAC,4BAAkB,EAACR,aAAa,CAAC;EAC9C,MAAMS,gBAAgB,GAAG,IAAAC,cAAK,EAAC,SAAS,EAAE,gBAAgB,EAAEH,IAAI,CAAC;EAEjE,MAAMI,YAAY,GAAG,IAAAC,cAAO,EAC1B,MACEX,OAAO,CAACY,GAAG,CAAC,CAACC,MAAM,EAAElB,GAAG,KAAK;IAC3B,MAAM;MAACF,OAAO;MAAEW,KAAK;MAAEU,QAAQ;MAAE,YAAY,EAAEC;IAAS,CAAC,GAAGF,MAAM;IAClE,MAAMG,eAAe,GAAGd,aAAa,CAACE,KAAK,KAAKA,KAAK,GAAGa,cAAK,CAACf,aAAa,GAAGe,cAAK,CAACJ,MAAM;IAC1F,MAAMK,mBAAmB,GAAGJ,QAAQ,GAAGG,cAAK,CAACE,cAAc,GAAGF,cAAK,CAACG,gBAAgB;IAEpF,oBACE3D,MAAA,CAAAa,OAAA,CAAA+C,aAAA;MACE,aAAU,QAAQ;MAClBC,IAAI,EAAC,QAAQ;MACbC,QAAQ,EAAE,CAAE;MACZ,cAAYR,SAAS,IAAIX,KAAM;MAC/BA,KAAK,EAAEW,SAAS,IAAIX,KAAM;MAC1BoB,SAAS,EAAE,IAAAC,mBAAU,EAACT,eAAe,EAAEC,cAAK,CAACS,SAAS,EAAER,mBAAmB,CAAE;MAC7EzB,OAAO,EAAEA,OAAQ;MACjBkC,SAAS,EAAEnC,mBAAmB,CAACC,OAAO,CAAE;MACxCwB,KAAK,EAAE;QACL,IAAIH,QAAQ,IAAI;UACdc,SAAS,EAAE,cAAc,IAAAC,0DAA4B,EAACrB,gBAAgB,CAAC;QACzE,CAAC;MACH,CAAE;MACF,iBAAeM,QAAS;MACxBnB,GAAG,EAAEA;IAAI,gBAETlC,MAAA,CAAAa,OAAA,CAAA+C,aAAA;MACE,aAAU,mBAAmB;MAC7BJ,KAAK,EAAE;QAACa,eAAe,EAAEhB,QAAQ,GAAGN,gBAAgB,GAAG,SAAS,CAAC;MAAgB,CAAE;MACnFgB,SAAS,EAAEP,cAAK,CAACc;IAAW,CAC7B,CAAC,eACFtE,MAAA,CAAAa,OAAA,CAAA+C,aAAA;MACE,aAAU,cAAc;MACxBG,SAAS,EAAEP,cAAK,CAACe;MACjB;MAAA;MACAC,uBAAuB,EAAE;QAACC,MAAM,EAAE9B;MAAK;IAAE,CAC1C,CACE,CAAC;EAEV,CAAC,CAAC,EACJ,CAACJ,OAAO,EAAEE,aAAa,EAAEM,gBAAgB,CAC3C,CAAC;EAED,oBACE/C,MAAA,CAAAa,OAAA,CAAA+C,aAAA;IACE,aAAU,KAAK;IACfG,SAAS,EAAEP,cAAK,CAACkB,OAAQ;IACzBb,IAAI,EAAC,OAAO;IACZ,cAAYrB,cAAe;IAC3BG,KAAK,EAAEH;EAAe,GAErBS,YACE,CAAC;AAEV,CAAC;AAEDb,GAAG,CAACuC,YAAY,GAAG;EACjB9B,IAAI,EAAE+B,iBAAQ,CAACC,iBAAiB,CAAChC;AACnC,CAAC;AAEDT,GAAG,CAAC0C,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAG;EACd1C,OAAO,EAAE2C,kBAAS,CAACC,OAAO,CACxBD,kBAAS,CAACE,KAAK,CAAC;IACdzC,KAAK,EAAEuC,kBAAS,CAACG,MAAM;IACvBhC,QAAQ,EAAE6B,kBAAS,CAACI,IAAI;IACxBtD,OAAO,EAAEkD,kBAAS,CAACK,IAAI;IACvB,YAAY,EAAEL,kBAAS,CAACG;EAC1B,CAAC,CACH,CAAC;EACD7C,cAAc,EAAE0C,kBAAS,CAACG;AAC5B,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAA5E,OAAA,GAEauB,GAAG","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"names":[],"mappings":";AAQA,uEAwEC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"names":[],"mappings":";AAQA,uEAyEC"}
@@ -51,6 +51,7 @@ const QCMImage = (props, legacyContext) => {
51
51
  }, /*#__PURE__*/_react.default.createElement("div", {
52
52
  className: _style.default.imageWrapper,
53
53
  "data-name": "answerImage",
54
+ role: "img",
54
55
  "aria-label": ariaLabel || title,
55
56
  title: ariaLabel || title,
56
57
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_provider","_interopRequireWildcard","_getShadowBoxColorFromPrimary","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","QCMImage","props","legacyContext","answers","groupAriaLabel","skin","GetSkinFromContext","primarySkinColor","_getOr2","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","checkboxId","createElement","style","boxShadow","getShadowBoxColorFromPrimary","className","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","classnames","innerHTML","htmlFor","id","type","value","checked","onChange","hiddenCheckbox","wrapper","role","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","arrayOf","shape","string","bool","func","_default","exports"],"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 const checkboxId = `checkbox-graphic-${key}`;\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 title={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div title={title} className={classnames(style.title, style.innerHTML)}>\n <label htmlFor={checkboxId}>\n <input\n id={checkboxId}\n type=\"checkbox\"\n value={title}\n title={title}\n aria-label={title}\n checked={selected}\n onChange={onClick}\n className={style.hiddenCheckbox}\n />\n {title}\n </label>\n </div>\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <div\n data-name=\"qcm-graphic-wrapper\"\n className={style.wrapper}\n role=\"group\"\n aria-label={groupAriaLabel}\n title={groupAriaLabel}\n >\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 groupAriaLabel: PropTypes.string\n};\n\nexport default QCMImage;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_provider","_interopRequireWildcard","_getShadowBoxColorFromPrimary","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","QCMImage","props","legacyContext","answers","groupAriaLabel","skin","GetSkinFromContext","primarySkinColor","_getOr2","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","checkboxId","createElement","style","boxShadow","getShadowBoxColorFromPrimary","className","backgroundColor","background","content","imageWrapper","role","backgroundImage","titleWrapper","classnames","innerHTML","htmlFor","id","type","value","checked","onChange","hiddenCheckbox","wrapper","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","arrayOf","shape","string","bool","func","_default","exports"],"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 const checkboxId = `checkbox-graphic-${key}`;\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 role=\"img\"\n aria-label={ariaLabel || title}\n title={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div title={title} className={classnames(style.title, style.innerHTML)}>\n <label htmlFor={checkboxId}>\n <input\n id={checkboxId}\n type=\"checkbox\"\n value={title}\n title={title}\n aria-label={title}\n checked={selected}\n onChange={onClick}\n className={style.hiddenCheckbox}\n />\n {title}\n </label>\n </div>\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <div\n data-name=\"qcm-graphic-wrapper\"\n className={style.wrapper}\n role=\"group\"\n aria-label={groupAriaLabel}\n title={groupAriaLabel}\n >\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 groupAriaLabel: PropTypes.string\n};\n\nexport default QCMImage;\n"],"mappings":"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","ignoreList":[]}
@@ -58,6 +58,7 @@ declare const QuickFilters: {
58
58
  href: import("prop-types").Requireable<string>;
59
59
  download: import("prop-types").Requireable<boolean>;
60
60
  target: import("prop-types").Requireable<string>;
61
+ rel: import("prop-types").Requireable<string>;
61
62
  }>>;
62
63
  hoverBackgroundColor: import("prop-types").Requireable<string>;
63
64
  hoverColor: import("prop-types").Requireable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/quick-filters/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAO5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAC,iBAAiB,EAAY,MAAM,SAAS,CAAC;AAIrD,eAAO,MAAM,YAAY,cAAe,MAAM,WAAW,MAAM,SAAS,CAAC,cAAc,CAAC,SAOvF,CAAC;AAyCF,QAAA,MAAM,YAAY;6EACsD,iBAAiB,WAC9E,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmH1B,CAAC;AAMF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/quick-filters/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAO5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAC,iBAAiB,EAAY,MAAM,SAAS,CAAC;AAIrD,eAAO,MAAM,YAAY,cAAe,MAAM,WAAW,MAAM,SAAS,CAAC,cAAc,CAAC,SAOvF,CAAC;AAyCF,QAAA,MAAM,YAAY;6EACsD,iBAAiB,WAC9E,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoH1B,CAAC;AAMF,eAAe,YAAY,CAAC"}
@@ -136,6 +136,7 @@ const QuickFilters = ({
136
136
  className: _style.default.filtersList,
137
137
  ref: filtersListRef,
138
138
  "data-testid": "filters-options-list",
139
+ role: "group",
139
140
  "aria-label": filterOptionsAriaLabel
140
141
  }, /*#__PURE__*/_react.default.createElement("div", {
141
142
  "data-testid": "all-option",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_icon","_colors","_buttonLink","_provider","_style","_types","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","SCROLL_RIGHT_SIZE","SCROLL_LEFT_SIZE","handleScroll","direction","listRef","current","scrollBy","left","behavior","exports","getFilterButton","filterButtonProps","primarySkinColor","tag","rest","createElement","className","style","filterButtonWrapper","borderColor","label","filterButton","icon","position","faIcon","name","size","color","COLORS","cm_grey_700","neutral_500","customStyle","backgroundColor","undefined","borderRadius","QuickFilters","primaryOption","filterOptions","filterOptionsAriaLabel","context","skin","GetSkinFromContext","_get2","defaultLabel","defaultIconName","defaultSelected","defaultAriaLabel","onDefaultClick","filtersListRef","React","useRef","rightBtnRef","leftBtnRef","handleScrollRight","useCallback","handleScrollLeft","useEffect","list","rightButton","leftButton","update","rightArrowWidth","offsetWidth","showingRightButton","scrollLeft","clientWidth","scrollWidth","showingLeftButton","visibility","opacity","addEventListener","window","removeEventListener","filtersMainContainer","leftArrowButton","ref","onClick","height","filtersList","classNames","defaultOption","filterSelected","iconName","faSize","wrapperSize","filterLabel","bar","background","filterSeparator","filtersContainer","map","filterOption","idx","selected","value","ariaLabel","key","borderBottomColor","rightArrowButton","propTypes","process","env","NODE_ENV","contextTypes","Provider","childContextTypes","_default"],"sources":["../../../src/molecule/quick-filters/index.tsx"],"sourcesContent":["import React, {useCallback, useRef, useEffect} from 'react';\nimport classNames from 'classnames';\nimport {get} from 'lodash/fp';\nimport FaIcon from '../../atom/icon';\nimport {COLORS} from '../../variables/colors';\nimport ButtonLink from '../../atom/button-link';\nimport {ButtonLinkProps} from '../../atom/button-link/types';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport style from './style.css';\nimport {QuickFiltersProps, propTypes} from './types';\n\nconst SCROLL_RIGHT_SIZE = 400;\nconst SCROLL_LEFT_SIZE = -400;\nexport const handleScroll = (direction: number, listRef: React.RefObject<HTMLDivElement>) => {\n if (listRef.current) {\n listRef.current.scrollBy({\n left: direction,\n behavior: 'smooth'\n });\n }\n};\n\nconst getFilterButton = (\n filterButtonProps: ButtonLinkProps | undefined,\n primarySkinColor: string\n) => {\n if (!filterButtonProps) return null;\n const {tag, ...rest} = filterButtonProps;\n return (\n <div\n className={style.filterButtonWrapper}\n style={{borderColor: tag?.label ? primarySkinColor : 'transparent'}}\n >\n <div className={style.filterButton}>\n <ButtonLink\n {...rest}\n icon={{\n position: 'left',\n faIcon: {\n name: 'sliders',\n size: 14,\n color: tag ? COLORS.cm_grey_700 : COLORS.neutral_500\n }\n }}\n tag={\n tag\n ? {\n label: tag.label,\n customStyle: {backgroundColor: primarySkinColor, color: '#FFFFFF'}\n }\n : undefined\n }\n className={style.filterButton}\n data-testid=\"open-filters-modal-button\"\n customStyle={{borderRadius: '12px'}}\n />\n </div>\n </div>\n );\n};\n\nconst QuickFilters = (\n {primaryOption, filterOptions, filterButton, filterOptionsAriaLabel}: QuickFiltersProps,\n context: WebContextValues\n) => {\n const skin = GetSkinFromContext(context);\n const primarySkinColor = get('common.primary', skin);\n const {defaultLabel, defaultIconName, defaultSelected, defaultAriaLabel, onDefaultClick} =\n primaryOption;\n const filtersListRef = React.useRef<HTMLDivElement>(null);\n const rightBtnRef = useRef<HTMLDivElement>(null);\n const leftBtnRef = useRef<HTMLDivElement>(null);\n\n const handleScrollRight = useCallback(() => {\n handleScroll(SCROLL_RIGHT_SIZE, filtersListRef);\n }, [filtersListRef]);\n const handleScrollLeft = useCallback(() => {\n handleScroll(SCROLL_LEFT_SIZE, filtersListRef);\n }, [filtersListRef]);\n useEffect(() => {\n const list = filtersListRef.current;\n const rightButton = rightBtnRef.current;\n const leftButton = leftBtnRef.current;\n /* istanbul ignore next */ // not testable without complex mocking useRef\n if (!list || !leftButton || !rightButton) return;\n\n const update = () => {\n const rightArrowWidth = rightButton.offsetWidth;\n const showingRightButton =\n list.scrollLeft + list.clientWidth < list.scrollWidth - rightArrowWidth;\n const showingLeftButton = list.scrollLeft > 0;\n rightButton.style.visibility = showingRightButton ? 'visible' : 'hidden';\n rightButton.style.opacity = showingRightButton ? '1' : '0';\n leftButton.style.visibility = showingLeftButton ? 'visible' : 'hidden';\n leftButton.style.opacity = showingLeftButton ? '1' : '0';\n };\n\n list.addEventListener('scroll', update);\n window.addEventListener('resize', update);\n update();\n return () => {\n list.removeEventListener('scroll', update);\n window.removeEventListener('resize', update);\n };\n }, [filterOptions]);\n\n return (\n <div className={style.filtersMainContainer} data-name=\"search\">\n <div className={style.leftArrowButton} ref={leftBtnRef} style={{visibility: 'hidden'}}>\n <ButtonLink\n icon={{position: 'left', faIcon: {name: 'arrow-left', size: 15}}}\n onClick={handleScrollLeft}\n className={style.leftArrowButton}\n customStyle={{height: '36px'}}\n data-testid=\"scroll-left-button\"\n />\n </div>\n <div\n className={style.filtersList}\n ref={filtersListRef}\n data-testid=\"filters-options-list\"\n aria-label={filterOptionsAriaLabel}\n >\n <div\n data-testid=\"all-option\"\n className={classNames(style.defaultOption, defaultSelected && style.filterSelected)}\n onClick={onDefaultClick}\n >\n <FaIcon\n iconName={defaultIconName}\n size={{faSize: 20, wrapperSize: 20}}\n aria-label={defaultAriaLabel}\n />\n <span className={style.filterLabel}>{defaultLabel}</span>\n <div className={style.bar} style={{background: primarySkinColor}} />\n </div>\n <div className={style.filterSeparator} />\n <div className={style.filtersContainer}>\n {filterOptions.map((filterOption, idx) => {\n const {iconName, label, selected, value, onClick, ariaLabel} = filterOption;\n return (\n <div\n key={idx}\n className={classNames(style.filterOption, selected && style.filterSelected)}\n data-testid={`filter-${value}-${idx}`}\n style={{borderBottomColor: primarySkinColor}}\n onClick={onClick}\n >\n <FaIcon\n iconName={iconName}\n size={{faSize: 20, wrapperSize: 20}}\n aria-label={ariaLabel}\n />\n <span className={style.filterLabel}>{label}</span>\n <div className={style.bar} style={{background: primarySkinColor}} />\n </div>\n );\n })}\n <div className={style.rightArrowButton} ref={rightBtnRef} style={{visibility: 'hidden'}}>\n <ButtonLink\n icon={{\n position: 'left',\n faIcon: {\n name: 'arrow-right',\n size: 15\n }\n }}\n className={style.rightArrowButton}\n onClick={handleScrollRight}\n customStyle={{height: '36px'}}\n data-testid=\"scroll-right-button\"\n />\n </div>\n </div>\n </div>\n {getFilterButton(filterButton, primarySkinColor)}\n </div>\n );\n};\n\nQuickFilters.propTypes = propTypes;\nQuickFilters.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\nexport default QuickFilters;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_icon","_colors","_buttonLink","_provider","_style","_types","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","SCROLL_RIGHT_SIZE","SCROLL_LEFT_SIZE","handleScroll","direction","listRef","current","scrollBy","left","behavior","exports","getFilterButton","filterButtonProps","primarySkinColor","tag","rest","createElement","className","style","filterButtonWrapper","borderColor","label","filterButton","icon","position","faIcon","name","size","color","COLORS","cm_grey_700","neutral_500","customStyle","backgroundColor","undefined","borderRadius","QuickFilters","primaryOption","filterOptions","filterOptionsAriaLabel","context","skin","GetSkinFromContext","_get2","defaultLabel","defaultIconName","defaultSelected","defaultAriaLabel","onDefaultClick","filtersListRef","React","useRef","rightBtnRef","leftBtnRef","handleScrollRight","useCallback","handleScrollLeft","useEffect","list","rightButton","leftButton","update","rightArrowWidth","offsetWidth","showingRightButton","scrollLeft","clientWidth","scrollWidth","showingLeftButton","visibility","opacity","addEventListener","window","removeEventListener","filtersMainContainer","leftArrowButton","ref","onClick","height","filtersList","role","classNames","defaultOption","filterSelected","iconName","faSize","wrapperSize","filterLabel","bar","background","filterSeparator","filtersContainer","map","filterOption","idx","selected","value","ariaLabel","key","borderBottomColor","rightArrowButton","propTypes","process","env","NODE_ENV","contextTypes","Provider","childContextTypes","_default"],"sources":["../../../src/molecule/quick-filters/index.tsx"],"sourcesContent":["import React, {useCallback, useRef, useEffect} from 'react';\nimport classNames from 'classnames';\nimport {get} from 'lodash/fp';\nimport FaIcon from '../../atom/icon';\nimport {COLORS} from '../../variables/colors';\nimport ButtonLink from '../../atom/button-link';\nimport {ButtonLinkProps} from '../../atom/button-link/types';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport style from './style.css';\nimport {QuickFiltersProps, propTypes} from './types';\n\nconst SCROLL_RIGHT_SIZE = 400;\nconst SCROLL_LEFT_SIZE = -400;\nexport const handleScroll = (direction: number, listRef: React.RefObject<HTMLDivElement>) => {\n if (listRef.current) {\n listRef.current.scrollBy({\n left: direction,\n behavior: 'smooth'\n });\n }\n};\n\nconst getFilterButton = (\n filterButtonProps: ButtonLinkProps | undefined,\n primarySkinColor: string\n) => {\n if (!filterButtonProps) return null;\n const {tag, ...rest} = filterButtonProps;\n return (\n <div\n className={style.filterButtonWrapper}\n style={{borderColor: tag?.label ? primarySkinColor : 'transparent'}}\n >\n <div className={style.filterButton}>\n <ButtonLink\n {...rest}\n icon={{\n position: 'left',\n faIcon: {\n name: 'sliders',\n size: 14,\n color: tag ? COLORS.cm_grey_700 : COLORS.neutral_500\n }\n }}\n tag={\n tag\n ? {\n label: tag.label,\n customStyle: {backgroundColor: primarySkinColor, color: '#FFFFFF'}\n }\n : undefined\n }\n className={style.filterButton}\n data-testid=\"open-filters-modal-button\"\n customStyle={{borderRadius: '12px'}}\n />\n </div>\n </div>\n );\n};\n\nconst QuickFilters = (\n {primaryOption, filterOptions, filterButton, filterOptionsAriaLabel}: QuickFiltersProps,\n context: WebContextValues\n) => {\n const skin = GetSkinFromContext(context);\n const primarySkinColor = get('common.primary', skin);\n const {defaultLabel, defaultIconName, defaultSelected, defaultAriaLabel, onDefaultClick} =\n primaryOption;\n const filtersListRef = React.useRef<HTMLDivElement>(null);\n const rightBtnRef = useRef<HTMLDivElement>(null);\n const leftBtnRef = useRef<HTMLDivElement>(null);\n\n const handleScrollRight = useCallback(() => {\n handleScroll(SCROLL_RIGHT_SIZE, filtersListRef);\n }, [filtersListRef]);\n const handleScrollLeft = useCallback(() => {\n handleScroll(SCROLL_LEFT_SIZE, filtersListRef);\n }, [filtersListRef]);\n useEffect(() => {\n const list = filtersListRef.current;\n const rightButton = rightBtnRef.current;\n const leftButton = leftBtnRef.current;\n /* istanbul ignore next */ // not testable without complex mocking useRef\n if (!list || !leftButton || !rightButton) return;\n\n const update = () => {\n const rightArrowWidth = rightButton.offsetWidth;\n const showingRightButton =\n list.scrollLeft + list.clientWidth < list.scrollWidth - rightArrowWidth;\n const showingLeftButton = list.scrollLeft > 0;\n rightButton.style.visibility = showingRightButton ? 'visible' : 'hidden';\n rightButton.style.opacity = showingRightButton ? '1' : '0';\n leftButton.style.visibility = showingLeftButton ? 'visible' : 'hidden';\n leftButton.style.opacity = showingLeftButton ? '1' : '0';\n };\n\n list.addEventListener('scroll', update);\n window.addEventListener('resize', update);\n update();\n return () => {\n list.removeEventListener('scroll', update);\n window.removeEventListener('resize', update);\n };\n }, [filterOptions]);\n\n return (\n <div className={style.filtersMainContainer} data-name=\"search\">\n <div className={style.leftArrowButton} ref={leftBtnRef} style={{visibility: 'hidden'}}>\n <ButtonLink\n icon={{position: 'left', faIcon: {name: 'arrow-left', size: 15}}}\n onClick={handleScrollLeft}\n className={style.leftArrowButton}\n customStyle={{height: '36px'}}\n data-testid=\"scroll-left-button\"\n />\n </div>\n <div\n className={style.filtersList}\n ref={filtersListRef}\n data-testid=\"filters-options-list\"\n role=\"group\"\n aria-label={filterOptionsAriaLabel}\n >\n <div\n data-testid=\"all-option\"\n className={classNames(style.defaultOption, defaultSelected && style.filterSelected)}\n onClick={onDefaultClick}\n >\n <FaIcon\n iconName={defaultIconName}\n size={{faSize: 20, wrapperSize: 20}}\n aria-label={defaultAriaLabel}\n />\n <span className={style.filterLabel}>{defaultLabel}</span>\n <div className={style.bar} style={{background: primarySkinColor}} />\n </div>\n <div className={style.filterSeparator} />\n <div className={style.filtersContainer}>\n {filterOptions.map((filterOption, idx) => {\n const {iconName, label, selected, value, onClick, ariaLabel} = filterOption;\n return (\n <div\n key={idx}\n className={classNames(style.filterOption, selected && style.filterSelected)}\n data-testid={`filter-${value}-${idx}`}\n style={{borderBottomColor: primarySkinColor}}\n onClick={onClick}\n >\n <FaIcon\n iconName={iconName}\n size={{faSize: 20, wrapperSize: 20}}\n aria-label={ariaLabel}\n />\n <span className={style.filterLabel}>{label}</span>\n <div className={style.bar} style={{background: primarySkinColor}} />\n </div>\n );\n })}\n <div className={style.rightArrowButton} ref={rightBtnRef} style={{visibility: 'hidden'}}>\n <ButtonLink\n icon={{\n position: 'left',\n faIcon: {\n name: 'arrow-right',\n size: 15\n }\n }}\n className={style.rightArrowButton}\n onClick={handleScrollRight}\n customStyle={{height: '36px'}}\n data-testid=\"scroll-right-button\"\n />\n </div>\n </div>\n </div>\n {getFilterButton(filterButton, primarySkinColor)}\n </div>\n );\n};\n\nQuickFilters.propTypes = propTypes;\nQuickFilters.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\nexport default QuickFilters;\n"],"mappings":"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","ignoreList":[]}
@@ -79,6 +79,7 @@ export declare const propTypes: {
79
79
  href: PropTypes.Requireable<string>;
80
80
  download: PropTypes.Requireable<boolean>;
81
81
  target: PropTypes.Requireable<string>;
82
+ rel: PropTypes.Requireable<string>;
82
83
  }>>;
83
84
  hoverBackgroundColor: PropTypes.Requireable<string>;
84
85
  hoverColor: PropTypes.Requireable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/quick-filters/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAG7D,oBAAY,iBAAiB,GAAG;IAC9B,aAAa,EAAE;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;QACzB,cAAc,EAAE,MAAM,IAAI,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,aAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBrB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/quick-filters/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAG7D,oBAAY,iBAAiB,GAAG;IAC9B,aAAa,EAAE;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;QACzB,cAAc,EAAE,MAAM,IAAI,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,aAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/review-correction-popin/index.js"],"names":[],"mappings":";AA6EA,gEAqDC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/review-correction-popin/index.js"],"names":[],"mappings":";AA6EA,gEAsDC"}
@@ -100,14 +100,17 @@ const ReviewCorrectionPopin = props => {
100
100
  className: _style.default.feedbackSection
101
101
  }, /*#__PURE__*/_react.default.createElement("div", {
102
102
  className: _style.default.information,
103
+ role: "group",
103
104
  "aria-label": "answer-information"
104
105
  }, /*#__PURE__*/_react.default.createElement("div", {
105
106
  className: _style.default.labelContainer
106
107
  }, /*#__PURE__*/_react.default.createElement("span", {
107
108
  className: _style.default.label,
109
+ role: "group",
108
110
  "aria-label": information.label
109
111
  }, information.label)), /*#__PURE__*/_react.default.createElement("span", {
110
112
  className: _style.default.message,
113
+ role: "group",
111
114
  "aria-label": information.message
112
115
  // eslint-disable-next-line react/no-danger
113
116
  ,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_novaIcons","_buttonLink","_provider","_tooltip","_style","_propTypes","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","KlfButton","klf","legacyContext","translate","GetTranslateFromContext","klfButtonProps","useMemo","icon","position","type","AnchorButton","useCallback","onKeyDown","createElement","className","style","klfButtonContainer","klfButton","useTitle","TooltipContent","tooltipText","dangerouslySetInnerHTML","__html","tooltip","toolTipProps","closeToolTipInformationTextAriaLabel","AnchorElement","tooltipClassName","toolTipCustomization","klfContainer","propTypes","process","env","NODE_ENV","contextTypes","Provider","childContextTypes","ReviewCorrectionPopin","props","information","resultLabel","next","nextQuestionButtonProps","cta","ICONS","right","RightIcon","wrong","WrongIcon","Icon","wrapper","classnames","popin","correctionSection","iconCircle","iconRight","iconWrong","role","feedbackSection","labelContainer","label","message","actions","actionsWrong","nextQuestionContainer","nextQuestionButton","_default","exports"],"sources":["../../../src/molecule/review-correction-popin/index.js"],"sourcesContent":["import React, {useCallback, useMemo} from 'react';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport ButtonLink from '../../atom/button-link';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport Tooltip from '../../atom/tooltip';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst KlfButton = ({klf}, legacyContext) => {\n const translate = GetTranslateFromContext(legacyContext);\n const klfButtonProps = useMemo(\n () => ({\n ...klf,\n icon: {\n position: 'left',\n type: 'key'\n },\n type: 'primary'\n }),\n [klf]\n );\n\n const AnchorButton = useCallback(\n ({onKeyDown}) => (\n <div className={style.klfButtonContainer}>\n <ButtonLink\n {...klfButtonProps}\n className={style.klfButton}\n onKeyDown={onKeyDown}\n useTitle={false}\n />\n </div>\n ),\n [klfButtonProps]\n );\n\n const TooltipContent = useCallback(\n () => (\n <span\n className={style.tooltipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: klf.tooltip}}\n />\n ),\n [klf.tooltip]\n );\n\n const toolTipProps = useMemo(\n () => ({\n closeToolTipInformationTextAriaLabel: translate('close_tooltip_information'),\n AnchorElement: AnchorButton,\n TooltipContent,\n 'aria-label': translate('More details'),\n tooltipClassName: style.toolTipCustomization\n }),\n [AnchorButton, TooltipContent, translate]\n );\n\n return (\n <div className={style.klfContainer}>\n <Tooltip {...toolTipProps} />\n </div>\n );\n};\n\nKlfButton.propTypes = {\n klf: propTypes.klf\n};\n\nKlfButton.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nconst ReviewCorrectionPopin = props => {\n const {information, resultLabel, type, klf, next} = props;\n\n const nextQuestionButtonProps = {\n ...next,\n type: 'primary'\n };\n\n const cta = type === 'wrong' ? <KlfButton klf={klf} /> : null;\n\n const ICONS = {\n right: RightIcon,\n wrong: WrongIcon\n };\n const Icon = ICONS[type];\n\n return (\n <div className={style.wrapper} data-testid=\"review-correction-popin\">\n <div className={classnames(style.popin, type === 'right' ? style.right : style.wrong)}>\n <div className={style.correctionSection}>\n <div className={style.iconCircle}>\n <Icon className={type === 'right' ? style.iconRight : style.iconWrong} />\n </div>\n <div className={style.resultLabel}>\n <span aria-label={resultLabel} role=\"status\">\n {resultLabel}\n </span>\n </div>\n </div>\n <div className={style.feedbackSection}>\n <div className={style.information} aria-label=\"answer-information\">\n <div className={style.labelContainer}>\n <span className={style.label} aria-label={information.label}>\n {information.label}\n </span>\n </div>\n <span\n className={style.message}\n aria-label={information.message}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: information.message}}\n />\n </div>\n </div>\n <div className={type === 'right' ? style.actions : style.actionsWrong}>\n {cta}\n <div className={style.nextQuestionContainer} data-testid=\"next-question-button-container\">\n <ButtonLink {...nextQuestionButtonProps} className={style.nextQuestionButton} />\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nReviewCorrectionPopin.propTypes = propTypes;\n\nexport default ReviewCorrectionPopin;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_novaIcons","_buttonLink","_provider","_tooltip","_style","_propTypes","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","KlfButton","klf","legacyContext","translate","GetTranslateFromContext","klfButtonProps","useMemo","icon","position","type","AnchorButton","useCallback","onKeyDown","createElement","className","style","klfButtonContainer","klfButton","useTitle","TooltipContent","tooltipText","dangerouslySetInnerHTML","__html","tooltip","toolTipProps","closeToolTipInformationTextAriaLabel","AnchorElement","tooltipClassName","toolTipCustomization","klfContainer","propTypes","process","env","NODE_ENV","contextTypes","Provider","childContextTypes","ReviewCorrectionPopin","props","information","resultLabel","next","nextQuestionButtonProps","cta","ICONS","right","RightIcon","wrong","WrongIcon","Icon","wrapper","classnames","popin","correctionSection","iconCircle","iconRight","iconWrong","role","feedbackSection","labelContainer","label","message","actions","actionsWrong","nextQuestionContainer","nextQuestionButton","_default","exports"],"sources":["../../../src/molecule/review-correction-popin/index.js"],"sourcesContent":["import React, {useCallback, useMemo} from 'react';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport ButtonLink from '../../atom/button-link';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport Tooltip from '../../atom/tooltip';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst KlfButton = ({klf}, legacyContext) => {\n const translate = GetTranslateFromContext(legacyContext);\n const klfButtonProps = useMemo(\n () => ({\n ...klf,\n icon: {\n position: 'left',\n type: 'key'\n },\n type: 'primary'\n }),\n [klf]\n );\n\n const AnchorButton = useCallback(\n ({onKeyDown}) => (\n <div className={style.klfButtonContainer}>\n <ButtonLink\n {...klfButtonProps}\n className={style.klfButton}\n onKeyDown={onKeyDown}\n useTitle={false}\n />\n </div>\n ),\n [klfButtonProps]\n );\n\n const TooltipContent = useCallback(\n () => (\n <span\n className={style.tooltipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: klf.tooltip}}\n />\n ),\n [klf.tooltip]\n );\n\n const toolTipProps = useMemo(\n () => ({\n closeToolTipInformationTextAriaLabel: translate('close_tooltip_information'),\n AnchorElement: AnchorButton,\n TooltipContent,\n 'aria-label': translate('More details'),\n tooltipClassName: style.toolTipCustomization\n }),\n [AnchorButton, TooltipContent, translate]\n );\n\n return (\n <div className={style.klfContainer}>\n <Tooltip {...toolTipProps} />\n </div>\n );\n};\n\nKlfButton.propTypes = {\n klf: propTypes.klf\n};\n\nKlfButton.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nconst ReviewCorrectionPopin = props => {\n const {information, resultLabel, type, klf, next} = props;\n\n const nextQuestionButtonProps = {\n ...next,\n type: 'primary'\n };\n\n const cta = type === 'wrong' ? <KlfButton klf={klf} /> : null;\n\n const ICONS = {\n right: RightIcon,\n wrong: WrongIcon\n };\n const Icon = ICONS[type];\n\n return (\n <div className={style.wrapper} data-testid=\"review-correction-popin\">\n <div className={classnames(style.popin, type === 'right' ? style.right : style.wrong)}>\n <div className={style.correctionSection}>\n <div className={style.iconCircle}>\n <Icon className={type === 'right' ? style.iconRight : style.iconWrong} />\n </div>\n <div className={style.resultLabel}>\n <span aria-label={resultLabel} role=\"status\">\n {resultLabel}\n </span>\n </div>\n </div>\n <div className={style.feedbackSection}>\n <div className={style.information} role=\"group\" aria-label=\"answer-information\">\n <div className={style.labelContainer}>\n <span className={style.label} role=\"group\" aria-label={information.label}>\n {information.label}\n </span>\n </div>\n <span\n className={style.message}\n role=\"group\"\n aria-label={information.message}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: information.message}}\n />\n </div>\n </div>\n <div className={type === 'right' ? style.actions : style.actionsWrong}>\n {cta}\n <div className={style.nextQuestionContainer} data-testid=\"next-question-button-container\">\n <ButtonLink {...nextQuestionButtonProps} className={style.nextQuestionButton} />\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nReviewCorrectionPopin.propTypes = propTypes;\n\nexport default ReviewCorrectionPopin;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/search-form/index.js"],"names":[],"mappings":";AAOA,mEAoEC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/search-form/index.js"],"names":[],"mappings":";AAOA,mEA8EC"}
@@ -37,6 +37,10 @@ const SearchForm = (props, context) => {
37
37
  evt.stopPropagation();
38
38
  return onReset && onReset(evt);
39
39
  }, [onReset]);
40
+ const handleResetKeyDown = (0, _react.useMemo)(() => evt => {
41
+ if (evt.key !== 'Enter' && evt.key !== ' ') return;
42
+ return handleReset(evt);
43
+ }, [handleReset]);
40
44
  const isMooc = theme === 'mooc';
41
45
  const clearClassName = search.value ? (0, _classnames.default)(_style.default.wrapperClear, isMooc && _style.default.wrapperClearMooc) : _style.default.wrapperNoClear;
42
46
  return /*#__PURE__*/_react.default.createElement("form", {
@@ -56,8 +60,11 @@ const SearchForm = (props, context) => {
56
60
  searchIconAriaLabel: searchIconAriaLabel
57
61
  })), /*#__PURE__*/_react.default.createElement("div", {
58
62
  "data-name": "search-form-reset",
63
+ role: "button",
64
+ tabIndex: 0,
59
65
  "aria-label": searchResetAriaLabel,
60
66
  onMouseDown: handleReset,
67
+ onKeyDown: handleResetKeyDown,
61
68
  className: clearClassName
62
69
  }, /*#__PURE__*/_react.default.createElement(_icon.default, {
63
70
  iconName: "xmark",