@coorpacademy/components 11.40.25 → 11.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/es/atom/chip/index.d.ts +1 -0
  2. package/es/atom/chip/index.d.ts.map +1 -1
  3. package/es/atom/chip/index.js +6 -3
  4. package/es/atom/chip/index.js.map +1 -1
  5. package/es/atom/drag-and-drop/index.d.ts +2 -0
  6. package/es/atom/drag-and-drop/index.d.ts.map +1 -1
  7. package/es/atom/drag-and-drop/index.js +9 -4
  8. package/es/atom/drag-and-drop/index.js.map +1 -1
  9. package/es/atom/input-date/index.d.ts +21 -0
  10. package/es/atom/input-date/index.d.ts.map +1 -0
  11. package/es/atom/input-date/index.js +73 -0
  12. package/es/atom/input-date/index.js.map +1 -0
  13. package/es/atom/input-date/style.css +88 -0
  14. package/es/atom/input-file-draggable/index.d.ts +10 -2
  15. package/es/atom/input-file-draggable/index.d.ts.map +1 -1
  16. package/es/atom/input-file-draggable/index.js +12 -4
  17. package/es/atom/input-file-draggable/index.js.map +1 -1
  18. package/es/atom/radio-with-title/index.d.ts +1 -0
  19. package/es/atom/radio-with-title/index.d.ts.map +1 -1
  20. package/es/atom/radio-with-title/types.d.ts +1 -0
  21. package/es/atom/radio-with-title/types.d.ts.map +1 -1
  22. package/es/atom/title/index.d.ts +1 -0
  23. package/es/atom/title/index.d.ts.map +1 -1
  24. package/es/atom/title/index.js +16 -6
  25. package/es/atom/title/index.js.map +1 -1
  26. package/es/atom/title/style.css +4 -0
  27. package/es/atom/video-upload/index.d.ts +2 -0
  28. package/es/molecule/assignment-card/index.d.ts +62 -0
  29. package/es/molecule/assignment-card/index.d.ts.map +1 -0
  30. package/es/molecule/assignment-card/index.js +91 -0
  31. package/es/molecule/assignment-card/index.js.map +1 -0
  32. package/es/molecule/assignment-card/style.css +98 -0
  33. package/es/molecule/assignment-status-tag/index.d.ts +13 -0
  34. package/es/molecule/assignment-status-tag/index.d.ts.map +1 -0
  35. package/es/molecule/assignment-status-tag/index.js +42 -0
  36. package/es/molecule/assignment-status-tag/index.js.map +1 -0
  37. package/es/molecule/assignment-status-tag/types.d.ts +15 -0
  38. package/es/molecule/assignment-status-tag/types.d.ts.map +1 -0
  39. package/es/molecule/assignment-status-tag/types.js +8 -0
  40. package/es/molecule/assignment-status-tag/types.js.map +1 -0
  41. package/es/molecule/brand-form-group/index.d.ts.map +1 -1
  42. package/es/molecule/brand-form-group/index.js +7 -0
  43. package/es/molecule/brand-form-group/index.js.map +1 -1
  44. package/es/molecule/card/index.d.ts +1 -0
  45. package/es/molecule/card/index.d.ts.map +1 -1
  46. package/es/molecule/card/index.js +3 -0
  47. package/es/molecule/card/index.js.map +1 -1
  48. package/es/molecule/card-content/index.d.ts +3 -1
  49. package/es/molecule/card-content/index.d.ts.map +1 -1
  50. package/es/molecule/card-content/index.js +7 -1
  51. package/es/molecule/card-content/index.js.map +1 -1
  52. package/es/molecule/cm-popin/types.d.ts +11 -0
  53. package/es/molecule/cm-popin/types.d.ts.map +1 -1
  54. package/es/molecule/dashboard/cards-list/index.d.ts +3 -0
  55. package/es/molecule/dashboard/cards-list/index.d.ts.map +1 -1
  56. package/es/molecule/dashboard/cards-list/index.js +11 -5
  57. package/es/molecule/dashboard/cards-list/index.js.map +1 -1
  58. package/es/molecule/dashboard/cards-list/prop-types.d.ts +1 -0
  59. package/es/molecule/dashboard/cards-list/prop-types.d.ts.map +1 -1
  60. package/es/molecule/dashboard/cards-list/prop-types.js.map +1 -1
  61. package/es/molecule/drag-and-drop-wrapper/index.d.ts +6 -0
  62. package/es/molecule/draggable-list/index.d.ts +63 -54
  63. package/es/molecule/tabs/index.d.ts +1 -0
  64. package/es/molecule/tabs/index.d.ts.map +1 -1
  65. package/es/molecule/tabs/index.js +7 -3
  66. package/es/molecule/tabs/index.js.map +1 -1
  67. package/es/molecule/tabs/style.css +4 -0
  68. package/es/molecule/title-and-checkbox-wrapper/index.d.ts +13 -0
  69. package/es/molecule/title-radio-wrapper/index.d.ts +7 -0
  70. package/es/molecule/title-radio-wrapper/index.d.ts.map +1 -1
  71. package/es/molecule/title-radio-wrapper/types.d.ts +7 -0
  72. package/es/molecule/title-radio-wrapper/types.d.ts.map +1 -1
  73. package/es/organism/assignment-audience/index.d.ts +92 -0
  74. package/es/organism/assignment-audience/index.d.ts.map +1 -0
  75. package/es/organism/assignment-audience/index.js +236 -0
  76. package/es/organism/assignment-audience/index.js.map +1 -0
  77. package/es/organism/assignment-audience/style.css +115 -0
  78. package/es/organism/assignment-audience/types.d.ts +193 -0
  79. package/es/organism/assignment-audience/types.d.ts.map +1 -0
  80. package/es/organism/assignment-audience/types.js +108 -0
  81. package/es/organism/assignment-audience/types.js.map +1 -0
  82. package/es/organism/assignment-audience/upload-result.css +47 -0
  83. package/es/organism/assignment-audience/upload-result.d.ts +26 -0
  84. package/es/organism/assignment-audience/upload-result.d.ts.map +1 -0
  85. package/es/organism/assignment-audience/upload-result.js +89 -0
  86. package/es/organism/assignment-audience/upload-result.js.map +1 -0
  87. package/es/organism/assignment-row/index.d.ts +55 -0
  88. package/es/organism/assignment-row/index.d.ts.map +1 -0
  89. package/es/organism/assignment-row/index.js +38 -0
  90. package/es/organism/assignment-row/index.js.map +1 -0
  91. package/es/organism/assignment-row/types.d.ts +83 -0
  92. package/es/organism/assignment-row/types.d.ts.map +1 -0
  93. package/es/organism/assignment-row/types.js +29 -0
  94. package/es/organism/assignment-row/types.js.map +1 -0
  95. package/es/organism/brand-learning-priorities/index.d.ts +63 -54
  96. package/es/organism/content-skill-modal/index.d.ts +10 -0
  97. package/es/organism/content-skill-modal/index.d.ts.map +1 -1
  98. package/es/organism/content-skill-modal/types.d.ts +10 -0
  99. package/es/organism/content-skill-modal/types.d.ts.map +1 -1
  100. package/es/organism/list-item/index.d.ts +13 -1
  101. package/es/organism/list-item/index.d.ts.map +1 -1
  102. package/es/organism/list-item/index.js +45 -3
  103. package/es/organism/list-item/index.js.map +1 -1
  104. package/es/organism/list-item/style.css +36 -0
  105. package/es/organism/list-items/index.d.ts +10 -0
  106. package/es/organism/list-items/index.d.ts.map +1 -1
  107. package/es/organism/list-items/index.js +4 -1
  108. package/es/organism/list-items/index.js.map +1 -1
  109. package/es/organism/mooc-header/index.d.ts +7 -0
  110. package/es/organism/mooc-header/index.d.ts.map +1 -1
  111. package/es/organism/mooc-header/index.js +30 -1
  112. package/es/organism/mooc-header/index.js.map +1 -1
  113. package/es/organism/mooc-header/style.css +11 -0
  114. package/es/organism/rewards-form/index.d.ts +13 -0
  115. package/es/organism/select-opponents/index.d.ts +13 -0
  116. package/es/organism/select-opponents/index.d.ts.map +1 -1
  117. package/es/organism/select-opponents/types.d.ts +13 -0
  118. package/es/organism/select-opponents/types.d.ts.map +1 -1
  119. package/es/organism/title-and-input/index.d.ts +14 -0
  120. package/es/organism/title-and-input/index.d.ts.map +1 -1
  121. package/es/organism/title-and-input/types.d.ts +14 -0
  122. package/es/organism/title-and-input/types.d.ts.map +1 -1
  123. package/es/organism/wizard-contents/index.d.ts +13 -0
  124. package/es/template/activity/index.d.ts +1 -0
  125. package/es/template/activity/progression-item.css +16 -4
  126. package/es/template/activity/progression-item.d.ts +1 -0
  127. package/es/template/activity/progression-item.d.ts.map +1 -1
  128. package/es/template/activity/progression-item.js +14 -3
  129. package/es/template/activity/progression-item.js.map +1 -1
  130. package/es/template/app-player/loading/index.d.ts +11 -0
  131. package/es/template/app-player/player/index.d.ts +22 -0
  132. package/es/template/app-player/player/slides/index.d.ts +11 -0
  133. package/es/template/app-player/player/slides/index.d.ts.map +1 -1
  134. package/es/template/app-player/popin-correction/index.d.ts +11 -0
  135. package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
  136. package/es/template/app-player/popin-end/index.d.ts +14 -0
  137. package/es/template/app-player/popin-end/summary.d.ts +3 -0
  138. package/es/template/app-review/index.d.ts +11 -0
  139. package/es/template/app-review/index.d.ts.map +1 -1
  140. package/es/template/app-review/player/prop-types.d.ts +11 -0
  141. package/es/template/app-review/player/prop-types.d.ts.map +1 -1
  142. package/es/template/app-review/prop-types.d.ts +11 -0
  143. package/es/template/app-review/prop-types.d.ts.map +1 -1
  144. package/es/template/back-office/brand-update/index.d.ts +95 -54
  145. package/es/template/certification-detail/index.d.ts +11 -0
  146. package/es/template/cockpit/jw-uploader/index.d.ts +2 -0
  147. package/es/template/common/dashboard/index.d.ts +22 -0
  148. package/es/template/common/dashboard/index.d.ts.map +1 -1
  149. package/es/template/common/dashboard/index.js +37 -1
  150. package/es/template/common/dashboard/index.js.map +1 -1
  151. package/es/template/common/search-page/index.d.ts +17 -0
  152. package/es/template/external-course/index.d.ts +11 -0
  153. package/es/template/my-assignments/index.d.ts +167 -0
  154. package/es/template/my-assignments/index.d.ts.map +1 -0
  155. package/es/template/my-assignments/index.js +221 -0
  156. package/es/template/my-assignments/index.js.map +1 -0
  157. package/es/template/my-assignments/style.css +84 -0
  158. package/es/template/my-learning/index.d.ts +3 -0
  159. package/es/template/playlist-detail/index.d.ts +11 -0
  160. package/es/template/teams-dashboard/index.d.ts +3 -0
  161. package/es/util/proptypes.d.ts.map +1 -1
  162. package/es/util/proptypes.js +2 -2
  163. package/es/util/proptypes.js.map +1 -1
  164. package/lib/atom/chip/index.d.ts +1 -0
  165. package/lib/atom/chip/index.d.ts.map +1 -1
  166. package/lib/atom/chip/index.js +6 -3
  167. package/lib/atom/chip/index.js.map +1 -1
  168. package/lib/atom/drag-and-drop/index.d.ts +2 -0
  169. package/lib/atom/drag-and-drop/index.d.ts.map +1 -1
  170. package/lib/atom/drag-and-drop/index.js +9 -4
  171. package/lib/atom/drag-and-drop/index.js.map +1 -1
  172. package/lib/atom/input-date/index.d.ts +21 -0
  173. package/lib/atom/input-date/index.d.ts.map +1 -0
  174. package/lib/atom/input-date/index.js +80 -0
  175. package/lib/atom/input-date/index.js.map +1 -0
  176. package/lib/atom/input-date/style.css +88 -0
  177. package/lib/atom/input-file-draggable/index.d.ts +10 -2
  178. package/lib/atom/input-file-draggable/index.d.ts.map +1 -1
  179. package/lib/atom/input-file-draggable/index.js +12 -4
  180. package/lib/atom/input-file-draggable/index.js.map +1 -1
  181. package/lib/atom/radio-with-title/index.d.ts +1 -0
  182. package/lib/atom/radio-with-title/index.d.ts.map +1 -1
  183. package/lib/atom/radio-with-title/types.d.ts +1 -0
  184. package/lib/atom/radio-with-title/types.d.ts.map +1 -1
  185. package/lib/atom/title/index.d.ts +1 -0
  186. package/lib/atom/title/index.d.ts.map +1 -1
  187. package/lib/atom/title/index.js +16 -6
  188. package/lib/atom/title/index.js.map +1 -1
  189. package/lib/atom/title/style.css +4 -0
  190. package/lib/atom/video-upload/index.d.ts +2 -0
  191. package/lib/molecule/assignment-card/index.d.ts +62 -0
  192. package/lib/molecule/assignment-card/index.d.ts.map +1 -0
  193. package/lib/molecule/assignment-card/index.js +97 -0
  194. package/lib/molecule/assignment-card/index.js.map +1 -0
  195. package/lib/molecule/assignment-card/style.css +98 -0
  196. package/lib/molecule/assignment-status-tag/index.d.ts +13 -0
  197. package/lib/molecule/assignment-status-tag/index.d.ts.map +1 -0
  198. package/lib/molecule/assignment-status-tag/index.js +47 -0
  199. package/lib/molecule/assignment-status-tag/index.js.map +1 -0
  200. package/lib/molecule/assignment-status-tag/types.d.ts +15 -0
  201. package/lib/molecule/assignment-status-tag/types.d.ts.map +1 -0
  202. package/lib/molecule/assignment-status-tag/types.js +13 -0
  203. package/lib/molecule/assignment-status-tag/types.js.map +1 -0
  204. package/lib/molecule/brand-form-group/index.d.ts.map +1 -1
  205. package/lib/molecule/brand-form-group/index.js +7 -0
  206. package/lib/molecule/brand-form-group/index.js.map +1 -1
  207. package/lib/molecule/card/index.d.ts +1 -0
  208. package/lib/molecule/card/index.d.ts.map +1 -1
  209. package/lib/molecule/card/index.js +3 -0
  210. package/lib/molecule/card/index.js.map +1 -1
  211. package/lib/molecule/card-content/index.d.ts +3 -1
  212. package/lib/molecule/card-content/index.d.ts.map +1 -1
  213. package/lib/molecule/card-content/index.js +7 -1
  214. package/lib/molecule/card-content/index.js.map +1 -1
  215. package/lib/molecule/cm-popin/types.d.ts +11 -0
  216. package/lib/molecule/cm-popin/types.d.ts.map +1 -1
  217. package/lib/molecule/dashboard/cards-list/index.d.ts +3 -0
  218. package/lib/molecule/dashboard/cards-list/index.d.ts.map +1 -1
  219. package/lib/molecule/dashboard/cards-list/index.js +11 -5
  220. package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
  221. package/lib/molecule/dashboard/cards-list/prop-types.d.ts +1 -0
  222. package/lib/molecule/dashboard/cards-list/prop-types.d.ts.map +1 -1
  223. package/lib/molecule/dashboard/cards-list/prop-types.js.map +1 -1
  224. package/lib/molecule/drag-and-drop-wrapper/index.d.ts +6 -0
  225. package/lib/molecule/draggable-list/index.d.ts +63 -54
  226. package/lib/molecule/tabs/index.d.ts +1 -0
  227. package/lib/molecule/tabs/index.d.ts.map +1 -1
  228. package/lib/molecule/tabs/index.js +7 -3
  229. package/lib/molecule/tabs/index.js.map +1 -1
  230. package/lib/molecule/tabs/style.css +4 -0
  231. package/lib/molecule/title-and-checkbox-wrapper/index.d.ts +13 -0
  232. package/lib/molecule/title-radio-wrapper/index.d.ts +7 -0
  233. package/lib/molecule/title-radio-wrapper/index.d.ts.map +1 -1
  234. package/lib/molecule/title-radio-wrapper/types.d.ts +7 -0
  235. package/lib/molecule/title-radio-wrapper/types.d.ts.map +1 -1
  236. package/lib/organism/assignment-audience/index.d.ts +92 -0
  237. package/lib/organism/assignment-audience/index.d.ts.map +1 -0
  238. package/lib/organism/assignment-audience/index.js +242 -0
  239. package/lib/organism/assignment-audience/index.js.map +1 -0
  240. package/lib/organism/assignment-audience/style.css +115 -0
  241. package/lib/organism/assignment-audience/types.d.ts +193 -0
  242. package/lib/organism/assignment-audience/types.d.ts.map +1 -0
  243. package/lib/organism/assignment-audience/types.js +112 -0
  244. package/lib/organism/assignment-audience/types.js.map +1 -0
  245. package/lib/organism/assignment-audience/upload-result.css +47 -0
  246. package/lib/organism/assignment-audience/upload-result.d.ts +26 -0
  247. package/lib/organism/assignment-audience/upload-result.d.ts.map +1 -0
  248. package/lib/organism/assignment-audience/upload-result.js +94 -0
  249. package/lib/organism/assignment-audience/upload-result.js.map +1 -0
  250. package/lib/organism/assignment-row/index.d.ts +55 -0
  251. package/lib/organism/assignment-row/index.d.ts.map +1 -0
  252. package/lib/organism/assignment-row/index.js +45 -0
  253. package/lib/organism/assignment-row/index.js.map +1 -0
  254. package/lib/organism/assignment-row/types.d.ts +83 -0
  255. package/lib/organism/assignment-row/types.d.ts.map +1 -0
  256. package/lib/organism/assignment-row/types.js +34 -0
  257. package/lib/organism/assignment-row/types.js.map +1 -0
  258. package/lib/organism/brand-learning-priorities/index.d.ts +63 -54
  259. package/lib/organism/content-skill-modal/index.d.ts +10 -0
  260. package/lib/organism/content-skill-modal/index.d.ts.map +1 -1
  261. package/lib/organism/content-skill-modal/types.d.ts +10 -0
  262. package/lib/organism/content-skill-modal/types.d.ts.map +1 -1
  263. package/lib/organism/list-item/index.d.ts +13 -1
  264. package/lib/organism/list-item/index.d.ts.map +1 -1
  265. package/lib/organism/list-item/index.js +44 -3
  266. package/lib/organism/list-item/index.js.map +1 -1
  267. package/lib/organism/list-item/style.css +36 -0
  268. package/lib/organism/list-items/index.d.ts +10 -0
  269. package/lib/organism/list-items/index.d.ts.map +1 -1
  270. package/lib/organism/list-items/index.js +4 -1
  271. package/lib/organism/list-items/index.js.map +1 -1
  272. package/lib/organism/mooc-header/index.d.ts +7 -0
  273. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  274. package/lib/organism/mooc-header/index.js +30 -1
  275. package/lib/organism/mooc-header/index.js.map +1 -1
  276. package/lib/organism/mooc-header/style.css +11 -0
  277. package/lib/organism/rewards-form/index.d.ts +13 -0
  278. package/lib/organism/select-opponents/index.d.ts +13 -0
  279. package/lib/organism/select-opponents/index.d.ts.map +1 -1
  280. package/lib/organism/select-opponents/types.d.ts +13 -0
  281. package/lib/organism/select-opponents/types.d.ts.map +1 -1
  282. package/lib/organism/title-and-input/index.d.ts +14 -0
  283. package/lib/organism/title-and-input/index.d.ts.map +1 -1
  284. package/lib/organism/title-and-input/types.d.ts +14 -0
  285. package/lib/organism/title-and-input/types.d.ts.map +1 -1
  286. package/lib/organism/wizard-contents/index.d.ts +13 -0
  287. package/lib/template/activity/index.d.ts +1 -0
  288. package/lib/template/activity/progression-item.css +16 -4
  289. package/lib/template/activity/progression-item.d.ts +1 -0
  290. package/lib/template/activity/progression-item.d.ts.map +1 -1
  291. package/lib/template/activity/progression-item.js +14 -3
  292. package/lib/template/activity/progression-item.js.map +1 -1
  293. package/lib/template/app-player/loading/index.d.ts +11 -0
  294. package/lib/template/app-player/player/index.d.ts +22 -0
  295. package/lib/template/app-player/player/slides/index.d.ts +11 -0
  296. package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
  297. package/lib/template/app-player/popin-correction/index.d.ts +11 -0
  298. package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
  299. package/lib/template/app-player/popin-end/index.d.ts +14 -0
  300. package/lib/template/app-player/popin-end/summary.d.ts +3 -0
  301. package/lib/template/app-review/index.d.ts +11 -0
  302. package/lib/template/app-review/index.d.ts.map +1 -1
  303. package/lib/template/app-review/player/prop-types.d.ts +11 -0
  304. package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
  305. package/lib/template/app-review/prop-types.d.ts +11 -0
  306. package/lib/template/app-review/prop-types.d.ts.map +1 -1
  307. package/lib/template/back-office/brand-update/index.d.ts +95 -54
  308. package/lib/template/certification-detail/index.d.ts +11 -0
  309. package/lib/template/cockpit/jw-uploader/index.d.ts +2 -0
  310. package/lib/template/common/dashboard/index.d.ts +22 -0
  311. package/lib/template/common/dashboard/index.d.ts.map +1 -1
  312. package/lib/template/common/dashboard/index.js +37 -1
  313. package/lib/template/common/dashboard/index.js.map +1 -1
  314. package/lib/template/common/search-page/index.d.ts +17 -0
  315. package/lib/template/external-course/index.d.ts +11 -0
  316. package/lib/template/my-assignments/index.d.ts +167 -0
  317. package/lib/template/my-assignments/index.d.ts.map +1 -0
  318. package/lib/template/my-assignments/index.js +227 -0
  319. package/lib/template/my-assignments/index.js.map +1 -0
  320. package/lib/template/my-assignments/style.css +84 -0
  321. package/lib/template/my-learning/index.d.ts +3 -0
  322. package/lib/template/playlist-detail/index.d.ts +11 -0
  323. package/lib/template/teams-dashboard/index.d.ts +3 -0
  324. package/lib/util/proptypes.d.ts.map +1 -1
  325. package/lib/util/proptypes.js +2 -2
  326. package/lib/util/proptypes.js.map +1 -1
  327. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/title/index.js"],"names":[],"mappings":";AAsDA,gDAyCC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/title/index.js"],"names":[],"mappings":";AAuDA,gDA4DC"}
@@ -2,6 +2,7 @@ import _isEmpty from "lodash/fp/isEmpty";
2
2
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
3
  import React from 'react';
4
4
  import PropTypes from 'prop-types';
5
+ import classnames from 'classnames';
5
6
  import Icon from '../icon';
6
7
  import Tag from '../tag';
7
8
  import ButtonLink from '../button-link';
@@ -62,10 +63,16 @@ const Title = props => {
62
63
  tag,
63
64
  button,
64
65
  required,
65
- ariaLabel
66
+ ariaLabel,
67
+ headingLevel
66
68
  } = props;
67
69
  const titleStyle = getTitleStyle(type, titleSize);
68
70
  const subtitleStyle = getSubtitleStyle(type, subtitleSize);
71
+ const titleContent = /*#__PURE__*/React.createElement(React.Fragment, null, title, required ? /*#__PURE__*/React.createElement("span", {
72
+ className: style.required
73
+ }, "*") : null, tag ? /*#__PURE__*/React.createElement(Tag, tag) : null);
74
+ // Opt-in: the title as a real heading for the document outline; same look as the group div.
75
+ const Heading = headingLevel ? `h${headingLevel}` : null;
69
76
  const subtitleSection = subtitle ? /*#__PURE__*/React.createElement("div", {
70
77
  className: subtitleStyle
71
78
  // eslint-disable-next-line react/no-danger
@@ -82,14 +89,16 @@ const Title = props => {
82
89
  className: style.titleContainer
83
90
  }, /*#__PURE__*/React.createElement("div", {
84
91
  className: style.titleContent
85
- }, /*#__PURE__*/React.createElement("div", {
92
+ }, headingLevel ? /*#__PURE__*/React.createElement(Heading, {
93
+ className: classnames(titleStyle, style.heading),
94
+ "data-name": dataName,
95
+ "aria-label": ariaLabel
96
+ }, titleContent) : /*#__PURE__*/React.createElement("div", {
86
97
  className: titleStyle,
87
98
  "data-name": dataName,
88
99
  role: "group",
89
100
  "aria-label": ariaLabel
90
- }, title, required ? /*#__PURE__*/React.createElement("span", {
91
- className: style.required
92
- }, "*") : null, tag ? /*#__PURE__*/React.createElement(Tag, tag) : null), subtitleSection), !_isEmpty(button) ? /*#__PURE__*/React.createElement(ButtonLink, button) : null));
101
+ }, titleContent), subtitleSection), !_isEmpty(button) ? /*#__PURE__*/React.createElement(ButtonLink, button) : null));
93
102
  };
94
103
  Title.propTypes = process.env.NODE_ENV !== "production" ? {
95
104
  title: PropTypes.string,
@@ -102,7 +111,8 @@ Title.propTypes = process.env.NODE_ENV !== "production" ? {
102
111
  icon: PropTypes.shape(Icon.propTypes),
103
112
  tag: PropTypes.shape(Tag.propTypes),
104
113
  button: PropTypes.shape(ButtonLink.propTypes),
105
- required: PropTypes.bool
114
+ required: PropTypes.bool,
115
+ headingLevel: PropTypes.oneOf([1, 2, 3, 4, 5, 6])
106
116
  } : {};
107
117
  export default Title;
108
118
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","Icon","Tag","ButtonLink","style","getTitleStyle","type","size","titlePage","titleFormGroup","titleFormGroupLightWeight","xlStrongTitle","mediumTitleFormGroup","mediumAndLightColorTitleFormGroup","smallTitleFormGroup","smallAndLightTitleFormGroup","getSubtitleStyle","subtitlePage","subtitleFormGroup","subtitleFormGroupWithoutMargin","mediumSubtitleFormGroup","smallSubtitleFormGroup","smallSubtitleFormGroupWithoutMargin","extraSmallSubtitleFormGroup","Title","props","title","subtitle","dataName","titleSize","subtitleSize","icon","tag","button","required","ariaLabel","titleStyle","subtitleStyle","subtitleSection","createElement","className","dangerouslySetInnerHTML","__html","container","_extends","titleContainer","titleContent","role","_isEmpty","propTypes","process","env","NODE_ENV","string","oneOf","shape","bool"],"sources":["../../../src/atom/title/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty} from 'lodash/fp';\nimport Icon from '../icon';\nimport Tag from '../tag';\nimport ButtonLink from '../button-link';\nimport style from './style.css';\n\nconst getTitleStyle = (type, size) => {\n switch (type) {\n case 'page':\n return style.titlePage;\n case 'form-group':\n switch (size) {\n case 'standard':\n return style.titleFormGroup;\n case 'standard-light-weight':\n return style.titleFormGroupLightWeight;\n case 'xl-strong':\n return style.xlStrongTitle;\n case 'medium':\n return style.mediumTitleFormGroup;\n case 'medium-light-color':\n return style.mediumAndLightColorTitleFormGroup;\n case 'small':\n return style.smallTitleFormGroup;\n case 'small-and-light':\n return style.smallAndLightTitleFormGroup;\n }\n }\n};\n\nconst getSubtitleStyle = (type, size) => {\n switch (type) {\n case 'page':\n return style.subtitlePage;\n case 'form-group':\n switch (size) {\n case 'standard':\n return style.subtitleFormGroup;\n case 'standard-without-margin':\n return style.subtitleFormGroupWithoutMargin;\n case 'medium':\n return style.mediumSubtitleFormGroup;\n case 'small':\n return style.smallSubtitleFormGroup;\n case 'small-without-margin':\n return style.smallSubtitleFormGroupWithoutMargin;\n case 'extra-small':\n return style.extraSmallSubtitleFormGroup;\n }\n }\n};\n\nconst Title = props => {\n const {\n title,\n subtitle,\n type,\n 'data-name': dataName,\n titleSize = 'standard',\n subtitleSize = 'standard',\n icon,\n tag,\n button,\n required,\n ariaLabel\n } = props;\n const titleStyle = getTitleStyle(type, titleSize);\n const subtitleStyle = getSubtitleStyle(type, subtitleSize);\n\n const subtitleSection = subtitle ? (\n <div\n className={subtitleStyle}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: subtitle}}\n />\n ) : null;\n\n return (\n <div className={style.container}>\n {icon ? <Icon {...icon} className={style.icon} /> : null}\n <div className={style.titleContainer}>\n <div className={style.titleContent}>\n <div className={titleStyle} data-name={dataName} role=\"group\" aria-label={ariaLabel}>\n {title}\n {required ? <span className={style.required}>*</span> : null}\n {tag ? <Tag {...tag} /> : null}\n </div>\n {subtitleSection}\n </div>\n {!isEmpty(button) ? <ButtonLink {...button} /> : null}\n </div>\n </div>\n );\n};\n\nTitle.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n ariaLabel: PropTypes.string,\n type: PropTypes.oneOf(['page', 'form-group']),\n 'data-name': PropTypes.string,\n titleSize: PropTypes.oneOf([\n 'xl-strong',\n 'standard',\n 'standard-light-weight',\n 'medium',\n 'medium-light-color',\n 'small',\n 'small-and-light'\n ]),\n subtitleSize: PropTypes.oneOf([\n 'standard',\n 'standard-without-margin',\n 'medium',\n 'small',\n 'small-without-margin',\n 'extra-small'\n ]),\n icon: PropTypes.shape(Icon.propTypes),\n tag: PropTypes.shape(Tag.propTypes),\n button: PropTypes.shape(ButtonLink.propTypes),\n required: PropTypes.bool\n};\nexport default Title;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","Icon","Tag","ButtonLink","style","getTitleStyle","type","size","titlePage","titleFormGroup","titleFormGroupLightWeight","xlStrongTitle","mediumTitleFormGroup","mediumAndLightColorTitleFormGroup","smallTitleFormGroup","smallAndLightTitleFormGroup","getSubtitleStyle","subtitlePage","subtitleFormGroup","subtitleFormGroupWithoutMargin","mediumSubtitleFormGroup","smallSubtitleFormGroup","smallSubtitleFormGroupWithoutMargin","extraSmallSubtitleFormGroup","Title","props","title","subtitle","dataName","titleSize","subtitleSize","icon","tag","button","required","ariaLabel","headingLevel","titleStyle","subtitleStyle","titleContent","createElement","Fragment","className","Heading","subtitleSection","dangerouslySetInnerHTML","__html","container","_extends","titleContainer","heading","role","_isEmpty","propTypes","process","env","NODE_ENV","string","oneOf","shape","bool"],"sources":["../../../src/atom/title/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Icon from '../icon';\nimport Tag from '../tag';\nimport ButtonLink from '../button-link';\nimport style from './style.css';\n\nconst getTitleStyle = (type, size) => {\n switch (type) {\n case 'page':\n return style.titlePage;\n case 'form-group':\n switch (size) {\n case 'standard':\n return style.titleFormGroup;\n case 'standard-light-weight':\n return style.titleFormGroupLightWeight;\n case 'xl-strong':\n return style.xlStrongTitle;\n case 'medium':\n return style.mediumTitleFormGroup;\n case 'medium-light-color':\n return style.mediumAndLightColorTitleFormGroup;\n case 'small':\n return style.smallTitleFormGroup;\n case 'small-and-light':\n return style.smallAndLightTitleFormGroup;\n }\n }\n};\n\nconst getSubtitleStyle = (type, size) => {\n switch (type) {\n case 'page':\n return style.subtitlePage;\n case 'form-group':\n switch (size) {\n case 'standard':\n return style.subtitleFormGroup;\n case 'standard-without-margin':\n return style.subtitleFormGroupWithoutMargin;\n case 'medium':\n return style.mediumSubtitleFormGroup;\n case 'small':\n return style.smallSubtitleFormGroup;\n case 'small-without-margin':\n return style.smallSubtitleFormGroupWithoutMargin;\n case 'extra-small':\n return style.extraSmallSubtitleFormGroup;\n }\n }\n};\n\nconst Title = props => {\n const {\n title,\n subtitle,\n type,\n 'data-name': dataName,\n titleSize = 'standard',\n subtitleSize = 'standard',\n icon,\n tag,\n button,\n required,\n ariaLabel,\n headingLevel\n } = props;\n const titleStyle = getTitleStyle(type, titleSize);\n const subtitleStyle = getSubtitleStyle(type, subtitleSize);\n\n const titleContent = (\n <>\n {title}\n {required ? <span className={style.required}>*</span> : null}\n {tag ? <Tag {...tag} /> : null}\n </>\n );\n // Opt-in: the title as a real heading for the document outline; same look as the group div.\n const Heading = headingLevel ? `h${headingLevel}` : null;\n\n const subtitleSection = subtitle ? (\n <div\n className={subtitleStyle}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: subtitle}}\n />\n ) : null;\n\n return (\n <div className={style.container}>\n {icon ? <Icon {...icon} className={style.icon} /> : null}\n <div className={style.titleContainer}>\n <div className={style.titleContent}>\n {headingLevel ? (\n <Heading\n className={classnames(titleStyle, style.heading)}\n data-name={dataName}\n aria-label={ariaLabel}\n >\n {titleContent}\n </Heading>\n ) : (\n <div className={titleStyle} data-name={dataName} role=\"group\" aria-label={ariaLabel}>\n {titleContent}\n </div>\n )}\n {subtitleSection}\n </div>\n {!isEmpty(button) ? <ButtonLink {...button} /> : null}\n </div>\n </div>\n );\n};\n\nTitle.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n ariaLabel: PropTypes.string,\n type: PropTypes.oneOf(['page', 'form-group']),\n 'data-name': PropTypes.string,\n titleSize: PropTypes.oneOf([\n 'xl-strong',\n 'standard',\n 'standard-light-weight',\n 'medium',\n 'medium-light-color',\n 'small',\n 'small-and-light'\n ]),\n subtitleSize: PropTypes.oneOf([\n 'standard',\n 'standard-without-margin',\n 'medium',\n 'small',\n 'small-without-margin',\n 'extra-small'\n ]),\n icon: PropTypes.shape(Icon.propTypes),\n tag: PropTypes.shape(Tag.propTypes),\n button: PropTypes.shape(ButtonLink.propTypes),\n required: PropTypes.bool,\n headingLevel: PropTypes.oneOf([1, 2, 3, 4, 5, 6])\n};\nexport default Title;\n"],"mappings":"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","ignoreList":[]}
@@ -142,3 +142,7 @@
142
142
  color: cm_negative_300;
143
143
  gap: 0;
144
144
  }
145
+
146
+ .heading {
147
+ margin: 0;
148
+ }
@@ -34,6 +34,8 @@ declare namespace VideoUpload {
34
34
  pdfButtonLabel: PropTypes.Requireable<string>;
35
35
  pdfButtonAriaLabel: PropTypes.Requireable<string>;
36
36
  multiple: PropTypes.Requireable<boolean>;
37
+ dragAndDropLabel: PropTypes.Requireable<string>;
38
+ loadingLabel: PropTypes.Requireable<string>;
37
39
  };
38
40
  }
39
41
  import PropTypes from "prop-types";
@@ -0,0 +1,62 @@
1
+ export default AssignmentCard;
2
+ declare function AssignmentCard(props: any): JSX.Element;
3
+ declare namespace AssignmentCard {
4
+ const propTypes: {
5
+ typeLabel: PropTypes.Requireable<string>;
6
+ dueState: PropTypes.Validator<string>;
7
+ dueStateLabel: PropTypes.Validator<string>;
8
+ dueDateLabel: PropTypes.Validator<string>;
9
+ badge: PropTypes.Requireable<string>;
10
+ image: PropTypes.Requireable<string>;
11
+ disabled: PropTypes.Requireable<boolean>;
12
+ adaptiv: PropTypes.Requireable<boolean>;
13
+ type: PropTypes.Requireable<string>;
14
+ title: PropTypes.Requireable<string>;
15
+ author: PropTypes.Requireable<string>;
16
+ certifiedAuthor: PropTypes.Requireable<boolean>;
17
+ customer: PropTypes.Requireable<PropTypes.InferProps<{
18
+ theme: PropTypes.Requireable<string>;
19
+ type: PropTypes.Requireable<string>;
20
+ name: PropTypes.Requireable<string>;
21
+ coorpOriginal: PropTypes.Validator<boolean>;
22
+ disabled: PropTypes.Requireable<boolean>;
23
+ 'aria-label': PropTypes.Requireable<string>;
24
+ }>>;
25
+ progress: PropTypes.Requireable<number>;
26
+ favorite: PropTypes.Requireable<boolean>;
27
+ addFavoriteToolTip: PropTypes.Requireable<string>;
28
+ removeFavoriteToolTip: PropTypes.Requireable<string>;
29
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
30
+ onFavoriteClick: PropTypes.Requireable<(...args: any[]) => any>;
31
+ isSelected: PropTypes.Requireable<boolean>;
32
+ notification: PropTypes.Requireable<PropTypes.InferProps<{
33
+ message: PropTypes.Validator<string>;
34
+ icon: PropTypes.Validator<string>;
35
+ }>>;
36
+ badgeCategory: PropTypes.Requireable<string>;
37
+ badgeLabel: PropTypes.Requireable<string>;
38
+ theme: PropTypes.Requireable<string>;
39
+ disabledContent: PropTypes.Requireable<string>;
40
+ 'aria-label': PropTypes.Requireable<string>;
41
+ 'background-aria-label': PropTypes.Requireable<string>;
42
+ 'favorite-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
43
+ favorite: PropTypes.Requireable<string>;
44
+ addToFavorite: PropTypes.Requireable<string>;
45
+ removeFromFavorite: PropTypes.Requireable<string>;
46
+ }>>;
47
+ 'selectable-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
48
+ select: PropTypes.Requireable<string>;
49
+ unSelect: PropTypes.Requireable<string>;
50
+ }>>;
51
+ 'customer-aria-label': PropTypes.Requireable<string>;
52
+ 'badge-aria-label': PropTypes.Requireable<string>;
53
+ 'disabled-aria-label': PropTypes.Requireable<string>;
54
+ 'card-content-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
55
+ author: PropTypes.Requireable<string>;
56
+ progression: PropTypes.Requireable<string>;
57
+ adaptive: PropTypes.Requireable<string>;
58
+ }>>;
59
+ };
60
+ }
61
+ import PropTypes from "prop-types";
62
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/assignment-card/index.js"],"names":[],"mappings":";AA6BA,yDAuBC"}
@@ -0,0 +1,91 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import classnames from 'classnames';
5
+ import { COLORS } from '../../variables/colors';
6
+ import FaIcon from '../../atom/icon';
7
+ import Card, { cardPropTypes } from '../card';
8
+ import style from './style.css';
9
+
10
+ // The status pill is the card's own opaque pill (never atom/tag, never Card's notification slot):
11
+ // it sits on the card image, where a translucent tag is unreadable. No "completed late" state (L0).
12
+ const DUE_STATES = {
13
+ todo: {
14
+ iconName: 'circle',
15
+ color: COLORS.cm_grey_500,
16
+ className: style.todo
17
+ },
18
+ dueSoon: {
19
+ iconName: 'clock',
20
+ color: COLORS.cm_yellow_400,
21
+ className: style.dueSoon
22
+ },
23
+ overdue: {
24
+ iconName: 'triangle-exclamation',
25
+ color: COLORS.cm_negative_200,
26
+ className: style.overdue
27
+ },
28
+ done: {
29
+ iconName: 'circle-check',
30
+ color: COLORS.cm_positive_200,
31
+ className: style.done
32
+ }
33
+ };
34
+
35
+ // A module the learner was asked to complete: the catalogue card of its type (module, chapter,
36
+ // scorm, article, video, podcast), one status pill in the same slot on every format, and the due
37
+ // date (or, once finished, the completion date) in a tooltip on hover (N2). Never an assignment.
38
+ // The pill is described by the due date, so it is read without hover. React 17 has no useId: the
39
+ // id derives from the card's dataName (its rank in a list) and its title, never with whitespace.
40
+ const dueDateId = (dataName, title) => ['due-date', dataName, title].filter(Boolean).join('-').replace(/\s+/g, '-');
41
+ const AssignmentCard = props => {
42
+ const {
43
+ dueState,
44
+ dueStateLabel,
45
+ dueDateLabel,
46
+ onClick,
47
+ ...cardProps
48
+ } = props;
49
+ const {
50
+ iconName,
51
+ color,
52
+ className
53
+ } = DUE_STATES[dueState];
54
+ const dateId = dueDateId(cardProps.dataName, cardProps.title);
55
+ return /*#__PURE__*/React.createElement("div", {
56
+ "data-name": "assignment-card",
57
+ className: style.wrapper
58
+ }, /*#__PURE__*/React.createElement(Card, _extends({}, cardProps, {
59
+ onClick: onClick
60
+ })), /*#__PURE__*/React.createElement("div", {
61
+ className: style.slot
62
+ }, /*#__PURE__*/React.createElement("div", {
63
+ "data-name": "due-state",
64
+ "data-type": dueState,
65
+ className: classnames(style.duePill, className),
66
+ "aria-describedby": dateId
67
+ }, /*#__PURE__*/React.createElement(FaIcon, {
68
+ iconName: iconName,
69
+ iconColor: color,
70
+ size: {
71
+ faSize: 12,
72
+ wrapperSize: 12
73
+ }
74
+ }), /*#__PURE__*/React.createElement("span", null, dueStateLabel)), /*#__PURE__*/React.createElement("div", {
75
+ id: dateId,
76
+ "data-name": "due-date",
77
+ className: style.tooltip
78
+ }, dueDateLabel)));
79
+ };
80
+ AssignmentCard.propTypes = process.env.NODE_ENV !== "production" ? {
81
+ ...cardPropTypes,
82
+ // The type chip's label. A module (type 'course') passes « Module »: never « Course » (AQ19).
83
+ typeLabel: cardPropTypes.typeLabel,
84
+ dueState: PropTypes.oneOf(['todo', 'dueSoon', 'overdue', 'done']).isRequired,
85
+ // The pill label: « To do », « Due soon », « Overdue », « Completed »
86
+ dueStateLabel: PropTypes.string.isRequired,
87
+ // Shown on hover, as given: "Due Sat 24 Oct", or "Completed Thu 22 Oct" once finished
88
+ dueDateLabel: PropTypes.string.isRequired
89
+ } : {};
90
+ export default AssignmentCard;
91
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","COLORS","FaIcon","Card","cardPropTypes","style","DUE_STATES","todo","iconName","color","cm_grey_500","className","dueSoon","cm_yellow_400","overdue","cm_negative_200","done","cm_positive_200","dueDateId","dataName","title","filter","Boolean","join","replace","AssignmentCard","props","dueState","dueStateLabel","dueDateLabel","onClick","cardProps","dateId","createElement","wrapper","_extends","slot","duePill","iconColor","size","faSize","wrapperSize","id","tooltip","propTypes","process","env","NODE_ENV","typeLabel","oneOf","isRequired","string"],"sources":["../../../src/molecule/assignment-card/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {COLORS} from '../../variables/colors';\nimport FaIcon from '../../atom/icon';\nimport Card, {cardPropTypes} from '../card';\nimport style from './style.css';\n\n// The status pill is the card's own opaque pill (never atom/tag, never Card's notification slot):\n// it sits on the card image, where a translucent tag is unreadable. No \"completed late\" state (L0).\nconst DUE_STATES = {\n todo: {iconName: 'circle', color: COLORS.cm_grey_500, className: style.todo},\n dueSoon: {iconName: 'clock', color: COLORS.cm_yellow_400, className: style.dueSoon},\n overdue: {\n iconName: 'triangle-exclamation',\n color: COLORS.cm_negative_200,\n className: style.overdue\n },\n done: {iconName: 'circle-check', color: COLORS.cm_positive_200, className: style.done}\n};\n\n// A module the learner was asked to complete: the catalogue card of its type (module, chapter,\n// scorm, article, video, podcast), one status pill in the same slot on every format, and the due\n// date (or, once finished, the completion date) in a tooltip on hover (N2). Never an assignment.\n// The pill is described by the due date, so it is read without hover. React 17 has no useId: the\n// id derives from the card's dataName (its rank in a list) and its title, never with whitespace.\nconst dueDateId = (dataName, title) =>\n ['due-date', dataName, title].filter(Boolean).join('-').replace(/\\s+/g, '-');\n\nconst AssignmentCard = props => {\n const {dueState, dueStateLabel, dueDateLabel, onClick, ...cardProps} = props;\n const {iconName, color, className} = DUE_STATES[dueState];\n const dateId = dueDateId(cardProps.dataName, cardProps.title);\n return (\n <div data-name=\"assignment-card\" className={style.wrapper}>\n <Card {...cardProps} onClick={onClick} />\n <div className={style.slot}>\n <div\n data-name=\"due-state\"\n data-type={dueState}\n className={classnames(style.duePill, className)}\n aria-describedby={dateId}\n >\n <FaIcon iconName={iconName} iconColor={color} size={{faSize: 12, wrapperSize: 12}} />\n <span>{dueStateLabel}</span>\n </div>\n <div id={dateId} data-name=\"due-date\" className={style.tooltip}>\n {dueDateLabel}\n </div>\n </div>\n </div>\n );\n};\n\nAssignmentCard.propTypes = {\n ...cardPropTypes,\n // The type chip's label. A module (type 'course') passes « Module »: never « Course » (AQ19).\n typeLabel: cardPropTypes.typeLabel,\n dueState: PropTypes.oneOf(['todo', 'dueSoon', 'overdue', 'done']).isRequired,\n // The pill label: « To do », « Due soon », « Overdue », « Completed »\n dueStateLabel: PropTypes.string.isRequired,\n // Shown on hover, as given: \"Due Sat 24 Oct\", or \"Completed Thu 22 Oct\" once finished\n dueDateLabel: PropTypes.string.isRequired\n};\n\nexport default AssignmentCard;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ @value colors: "../../variables/colors.css";
2
+ @value white from colors;
3
+ @value cm_grey_500 from colors;
4
+ @value cm_grey_800 from colors;
5
+ @value cm_yellow_400 from colors;
6
+ @value cm_negative_200 from colors;
7
+ @value cm_positive_200 from colors;
8
+
9
+ /* The catalogue card is 256 × 297 on every format, so the card height already lines up. */
10
+ .wrapper {
11
+ position: relative;
12
+ width: 256px;
13
+ max-width: 100%;
14
+ font-family: "Gilroy";
15
+ }
16
+
17
+ /*
18
+ * One slot on every format (N2), as in the validated prototype: left 12px, top 85px, inside the
19
+ * image or icon header, below the « Coorp original » banner and the favourite check. The pill is
20
+ * opaque, so it reads over the image and over the icon circle's decorative halo. Clicks go
21
+ * through the slot to the card underneath; the tooltip still shows on the wrapper's hover.
22
+ */
23
+ .slot {
24
+ pointer-events: none;
25
+ position: absolute;
26
+ top: 85px;
27
+ left: 12px;
28
+ z-index: 2;
29
+ max-width: calc(100% - 24px);
30
+ }
31
+
32
+ .duePill {
33
+ display: inline-flex;
34
+ align-items: center;
35
+ gap: 6px;
36
+ box-sizing: border-box;
37
+ height: 24px;
38
+ max-width: 100%;
39
+ padding: 0 10px;
40
+ border-radius: 12px;
41
+ background-color: white;
42
+ box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.16);
43
+ font-size: 12px;
44
+ font-weight: 600;
45
+ line-height: 16px;
46
+ white-space: nowrap;
47
+ }
48
+
49
+ .todo {
50
+ color: cm_grey_500;
51
+ }
52
+
53
+ .dueSoon {
54
+ color: cm_yellow_400;
55
+ }
56
+
57
+ .overdue {
58
+ color: cm_negative_200;
59
+ }
60
+
61
+ .done {
62
+ color: cm_positive_200;
63
+ }
64
+
65
+ /* The due date, on hover only, right above the pill. */
66
+ .tooltip {
67
+ position: absolute;
68
+ bottom: calc(100% + 8px);
69
+ left: 2px;
70
+ z-index: 3;
71
+ padding: 6px 10px;
72
+ border-radius: 8px;
73
+ background-color: cm_grey_800;
74
+ color: white;
75
+ font-size: 12px;
76
+ font-weight: 600;
77
+ line-height: 16px;
78
+ white-space: nowrap;
79
+ opacity: 0;
80
+ pointer-events: none;
81
+ transform: translateY(4px);
82
+ transition: opacity 0.12s, transform 0.12s;
83
+ }
84
+
85
+ .tooltip::after {
86
+ content: '';
87
+ position: absolute;
88
+ top: 100%;
89
+ left: 18px;
90
+ border: 6px solid transparent;
91
+ border-top-color: cm_grey_800;
92
+ }
93
+
94
+ .wrapper:hover .tooltip,
95
+ .wrapper:focus-within .tooltip {
96
+ opacity: 1;
97
+ transform: none;
98
+ }
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { AssignmentStatusTagProps, TagType } from './types';
3
+ export declare const ASSIGNMENT_TAG_KEYS: string[];
4
+ export declare const getAssignmentTagType: (status?: string | null) => TagType;
5
+ declare const AssignmentStatusTag: {
6
+ ({ status, label }: AssignmentStatusTagProps): JSX.Element;
7
+ propTypes: {
8
+ status: import("prop-types").Requireable<string>;
9
+ label: import("prop-types").Validator<string>;
10
+ };
11
+ };
12
+ export default AssignmentStatusTag;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/assignment-status-tag/index.tsx"],"names":[],"mappings":";AAIA,OAAkB,EAAC,wBAAwB,EAAE,OAAO,EAAC,MAAM,SAAS,CAAC;AA2BrE,eAAO,MAAM,mBAAmB,UAAkB,CAAC;AAEnD,eAAO,MAAM,oBAAoB,YAAa,MAAM,GAAG,IAAI,KAAG,OACI,CAAC;AAEnE,QAAA,MAAM,mBAAmB;wBAAqB,wBAAwB;;;;;CAErE,CAAC;AAIF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import has from 'lodash/fp/has';
3
+ import keys from 'lodash/fp/keys';
4
+ import Tag from '../../atom/tag';
5
+ import propTypes from './types';
6
+
7
+ // One status vocabulary for every assignment surface. Labels come from the consumer.
8
+ const TAG_TYPES = {
9
+ // Assignment lifecycle: edit-page and tracking headers only, never on a list row
10
+ draft: 'progress',
11
+ upcoming: 'info',
12
+ active: 'success',
13
+ ended: 'default',
14
+ disabled: 'warning',
15
+ // List-row information tags: « Ongoing changes », « N modules unavailable »
16
+ ongoingChanges: 'progress',
17
+ unavailable: 'warning',
18
+ // Sync, only when not up to date: there is no "up to date" key
19
+ processing: 'progress',
20
+ syncError: 'failure',
21
+ // Learner row in the tracking table; "completed late" is a computed flag, not a status
22
+ assigned: 'default',
23
+ inProgress: 'info',
24
+ completed: 'success',
25
+ removed: 'default',
26
+ // Computed learner flags
27
+ dueSoon: 'warning',
28
+ overdue: 'failure',
29
+ late: 'warning'
30
+ };
31
+ export const ASSIGNMENT_TAG_KEYS = keys(TAG_TYPES);
32
+ export const getAssignmentTagType = status => status && has(status, TAG_TYPES) ? TAG_TYPES[status] : 'default';
33
+ const AssignmentStatusTag = ({
34
+ status,
35
+ label
36
+ }) => /*#__PURE__*/React.createElement(Tag, {
37
+ type: getAssignmentTagType(status),
38
+ label: label
39
+ });
40
+ AssignmentStatusTag.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
41
+ export default AssignmentStatusTag;
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","has","keys","Tag","propTypes","TAG_TYPES","draft","upcoming","active","ended","disabled","ongoingChanges","unavailable","processing","syncError","assigned","inProgress","completed","removed","dueSoon","overdue","late","ASSIGNMENT_TAG_KEYS","getAssignmentTagType","status","AssignmentStatusTag","label","createElement","type","process","env","NODE_ENV"],"sources":["../../../src/molecule/assignment-status-tag/index.tsx"],"sourcesContent":["import React from 'react';\nimport has from 'lodash/fp/has';\nimport keys from 'lodash/fp/keys';\nimport Tag from '../../atom/tag';\nimport propTypes, {AssignmentStatusTagProps, TagType} from './types';\n\n// One status vocabulary for every assignment surface. Labels come from the consumer.\nconst TAG_TYPES: Record<string, TagType> = {\n // Assignment lifecycle: edit-page and tracking headers only, never on a list row\n draft: 'progress',\n upcoming: 'info',\n active: 'success',\n ended: 'default',\n disabled: 'warning',\n // List-row information tags: « Ongoing changes », « N modules unavailable »\n ongoingChanges: 'progress',\n unavailable: 'warning',\n // Sync, only when not up to date: there is no \"up to date\" key\n processing: 'progress',\n syncError: 'failure',\n // Learner row in the tracking table; \"completed late\" is a computed flag, not a status\n assigned: 'default',\n inProgress: 'info',\n completed: 'success',\n removed: 'default',\n // Computed learner flags\n dueSoon: 'warning',\n overdue: 'failure',\n late: 'warning'\n};\n\nexport const ASSIGNMENT_TAG_KEYS = keys(TAG_TYPES);\n\nexport const getAssignmentTagType = (status?: string | null): TagType =>\n status && has(status, TAG_TYPES) ? TAG_TYPES[status] : 'default';\n\nconst AssignmentStatusTag = ({status, label}: AssignmentStatusTagProps) => (\n <Tag type={getAssignmentTagType(status)} label={label} />\n);\n\nAssignmentStatusTag.propTypes = propTypes;\n\nexport default AssignmentStatusTag;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,IAAI,MAAM,gBAAgB;AACjC,OAAOC,GAAG,MAAM,gBAAgB;AAChC,OAAOC,SAAS,MAA2C,SAAS;;AAEpE;AACA,MAAMC,SAAkC,GAAG;EACzC;EACAC,KAAK,EAAE,UAAU;EACjBC,QAAQ,EAAE,MAAM;EAChBC,MAAM,EAAE,SAAS;EACjBC,KAAK,EAAE,SAAS;EAChBC,QAAQ,EAAE,SAAS;EACnB;EACAC,cAAc,EAAE,UAAU;EAC1BC,WAAW,EAAE,SAAS;EACtB;EACAC,UAAU,EAAE,UAAU;EACtBC,SAAS,EAAE,SAAS;EACpB;EACAC,QAAQ,EAAE,SAAS;EACnBC,UAAU,EAAE,MAAM;EAClBC,SAAS,EAAE,SAAS;EACpBC,OAAO,EAAE,SAAS;EAClB;EACAC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAGpB,IAAI,CAACG,SAAS,CAAC;AAElD,OAAO,MAAMkB,oBAAoB,GAAIC,MAAsB,IACzDA,MAAM,IAAIvB,GAAG,CAACuB,MAAM,EAAEnB,SAAS,CAAC,GAAGA,SAAS,CAACmB,MAAM,CAAC,GAAG,SAAS;AAElE,MAAMC,mBAAmB,GAAGA,CAAC;EAACD,MAAM;EAAEE;AAA+B,CAAC,kBACpE1B,KAAA,CAAA2B,aAAA,CAACxB,GAAG;EAACyB,IAAI,EAAEL,oBAAoB,CAACC,MAAM,CAAE;EAACE,KAAK,EAAEA;AAAM,CAAE,CACzD;AAEDD,mBAAmB,CAACrB,SAAS,GAAAyB,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAG3B,SAAS;AAEzC,eAAeqB,mBAAmB","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import PropTypes from 'prop-types';
2
+ export declare type TagType = 'info' | 'success' | 'failure' | 'warning' | 'progress' | 'default';
3
+ declare const propTypes: {
4
+ status: PropTypes.Requireable<string>;
5
+ label: PropTypes.Validator<string>;
6
+ };
7
+ export default propTypes;
8
+ export declare type AssignmentStatusTagProps = {
9
+ status?: string | null;
10
+ label: string;
11
+ };
12
+ export declare type AssignmentStatusTagPropsFixture = {
13
+ props: AssignmentStatusTagProps;
14
+ };
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/assignment-status-tag/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,oBAAY,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE1F,QAAA,MAAM,SAAS;;;CAId,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,wBAAwB,GAAG;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,+BAA+B,GAAG;IAAC,KAAK,EAAE,wBAAwB,CAAA;CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import PropTypes from 'prop-types';
2
+ const propTypes = {
3
+ // Any string: an unknown key renders a default tag
4
+ status: PropTypes.string,
5
+ label: PropTypes.string.isRequired
6
+ };
7
+ export default propTypes;
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":["PropTypes","propTypes","status","string","label","isRequired"],"sources":["../../../src/molecule/assignment-status-tag/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\nexport type TagType = 'info' | 'success' | 'failure' | 'warning' | 'progress' | 'default';\n\nconst propTypes = {\n // Any string: an unknown key renders a default tag\n status: PropTypes.string,\n label: PropTypes.string.isRequired\n};\n\nexport default propTypes;\n\nexport type AssignmentStatusTagProps = {\n status?: string | null;\n label: string;\n};\n\nexport type AssignmentStatusTagPropsFixture = {props: AssignmentStatusTagProps};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAIlC,MAAMC,SAAS,GAAG;EAChB;EACAC,MAAM,EAAEF,SAAS,CAACG,MAAM;EACxBC,KAAK,EAAEJ,SAAS,CAACG,MAAM,CAACE;AAC1B,CAAC;AAED,eAAeJ,SAAS","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/brand-form-group/index.js"],"names":[],"mappings":";AAgIA,yDAiCC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/brand-form-group/index.js"],"names":[],"mappings":";AAmIA,yDAiCC"}
@@ -9,6 +9,7 @@ import Autocomplete from '../../atom/autocomplete';
9
9
  import Select from '../../atom/select';
10
10
  import SelectMultiple from '../select-multiple';
11
11
  import InputText from '../../atom/input-text';
12
+ import InputDate from '../../atom/input-date';
12
13
  import InputColor from '../../atom/input-color';
13
14
  import InputCheckbox from '../../atom/input-checkbox';
14
15
  import InputReadonly from '../../atom/input-readonly';
@@ -73,6 +74,8 @@ const buildInput = field => {
73
74
  return /*#__PURE__*/React.createElement(SetupSlider, field);
74
75
  case 'sections':
75
76
  return /*#__PURE__*/React.createElement(SetupSections, field);
77
+ case 'date':
78
+ return /*#__PURE__*/React.createElement(InputDate, field);
76
79
  case 'text':
77
80
  case 'password':
78
81
  return /*#__PURE__*/React.createElement(InputText, field);
@@ -209,6 +212,10 @@ BrandFormGroup.propTypes = process.env.NODE_ENV !== "production" ? {
209
212
  }), PropTypes.shape({
210
213
  ...SetupSections.propTypes,
211
214
  type: PropTypes.oneOf(['sections'])
215
+ }), PropTypes.shape({
216
+ ...InputDate.propTypes,
217
+ type: PropTypes.oneOf(['date']),
218
+ size: PropTypes.oneOf(_keys(inputContainerStyle))
212
219
  }), PropTypes.shape({
213
220
  ...InputText.propTypes,
214
221
  type: PropTypes.oneOf(['text', 'password']),