@coorpacademy/components 10.21.3 → 10.22.2

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 (254) hide show
  1. package/README.md +1 -1
  2. package/es/atom/content-badge/index.js +15 -3
  3. package/es/atom/content-badge/index.js.map +1 -1
  4. package/es/atom/content-badge/style.css +6 -0
  5. package/es/atom/lottie-wrapper/index.js +2 -24
  6. package/es/atom/lottie-wrapper/index.js.map +1 -1
  7. package/es/atom/lottie-wrapper/prop-types.js +26 -0
  8. package/es/atom/lottie-wrapper/prop-types.js.map +1 -0
  9. package/es/atom/review-background/index.js +2 -4
  10. package/es/atom/review-background/index.js.map +1 -1
  11. package/es/atom/review-background/prop-types.js +5 -0
  12. package/es/atom/review-background/prop-types.js.map +1 -0
  13. package/es/atom/review-header-step-item/index.js +2 -6
  14. package/es/atom/review-header-step-item/index.js.map +1 -1
  15. package/es/atom/review-header-step-item/prop-types.js +7 -0
  16. package/es/atom/review-header-step-item/prop-types.js.map +1 -0
  17. package/es/atom/review-presentation/index.js +2 -15
  18. package/es/atom/review-presentation/index.js.map +1 -1
  19. package/es/atom/review-presentation/prop-types.js +18 -0
  20. package/es/atom/review-presentation/prop-types.js.map +1 -0
  21. package/es/atom/spinner/index.js +1 -0
  22. package/es/atom/spinner/index.js.map +1 -1
  23. package/es/atom/tab/index.js +1 -0
  24. package/es/atom/tab/index.js.map +1 -1
  25. package/es/hoc/touchable/index.native.js +61 -0
  26. package/es/hoc/touchable/index.native.js.map +1 -0
  27. package/es/molecule/answer/index.js +5 -26
  28. package/es/molecule/answer/index.js.map +1 -1
  29. package/es/molecule/answer/prop-types.js +32 -0
  30. package/es/molecule/answer/prop-types.js.map +1 -0
  31. package/es/molecule/banner/index.js +9 -4
  32. package/es/molecule/banner/index.js.map +1 -1
  33. package/es/molecule/banner/style.css +41 -6
  34. package/es/molecule/card/index.js +5 -1
  35. package/es/molecule/card/index.js.map +1 -1
  36. package/es/molecule/card/selectable.css +49 -2
  37. package/es/molecule/card/selectable.js +10 -2
  38. package/es/molecule/card/selectable.js.map +1 -1
  39. package/es/molecule/cm-popin/index.js +12 -5
  40. package/es/molecule/cm-popin/index.js.map +1 -1
  41. package/es/molecule/cm-popin/style.css +28 -0
  42. package/es/molecule/dashboard/battle-request-list/index.js +3 -5
  43. package/es/molecule/dashboard/battle-request-list/index.js.map +1 -1
  44. package/es/molecule/dashboard/news-list/index.js +3 -5
  45. package/es/molecule/dashboard/news-list/index.js.map +1 -1
  46. package/es/molecule/dashboard/review-banner/index.js +3 -5
  47. package/es/molecule/dashboard/review-banner/index.js.map +1 -1
  48. package/es/molecule/dashboard/start-battle/index.js +3 -5
  49. package/es/molecule/dashboard/start-battle/index.js.map +1 -1
  50. package/es/molecule/external-content-viewer/index.js +2 -1
  51. package/es/molecule/external-content-viewer/index.js.map +1 -1
  52. package/es/molecule/go1-banner/index.js +56 -0
  53. package/es/molecule/go1-banner/index.js.map +1 -0
  54. package/es/molecule/go1-banner/style.css +90 -0
  55. package/es/molecule/questions/free-text/index.native.js +88 -0
  56. package/es/molecule/questions/free-text/index.native.js.map +1 -0
  57. package/es/molecule/questions/qcm/index.native.js +50 -0
  58. package/es/molecule/questions/qcm/index.native.js.map +1 -0
  59. package/es/molecule/review-card-congrats/index.js +2 -13
  60. package/es/molecule/review-card-congrats/index.js.map +1 -1
  61. package/es/molecule/review-card-congrats/prop-types.js +15 -0
  62. package/es/molecule/review-card-congrats/prop-types.js.map +1 -0
  63. package/es/molecule/review-correction-popin/index.js +2 -20
  64. package/es/molecule/review-correction-popin/index.js.map +1 -1
  65. package/es/molecule/review-correction-popin/prop-types.js +21 -0
  66. package/es/molecule/review-correction-popin/prop-types.js.map +1 -0
  67. package/es/molecule/review-header-steps/index.js +2 -4
  68. package/es/molecule/review-header-steps/index.js.map +1 -1
  69. package/es/molecule/review-header-steps/prop-types.js +6 -0
  70. package/es/molecule/review-header-steps/prop-types.js.map +1 -0
  71. package/es/molecule/skill-card/index.js +2 -12
  72. package/es/molecule/skill-card/index.js.map +1 -1
  73. package/es/molecule/skill-card/prop-types.js +13 -0
  74. package/es/molecule/skill-card/prop-types.js.map +1 -0
  75. package/es/molecule/video-player/index.js +2 -17
  76. package/es/molecule/video-player/index.js.map +1 -1
  77. package/es/molecule/video-player/jwplayer-prop-types.js +38 -0
  78. package/es/molecule/video-player/jwplayer-prop-types.js.map +1 -0
  79. package/es/molecule/video-player/jwplayer.js +2 -37
  80. package/es/molecule/video-player/jwplayer.js.map +1 -1
  81. package/es/molecule/video-player/prop-types.js +53 -0
  82. package/es/molecule/video-player/prop-types.js.map +1 -0
  83. package/es/organism/brand-dashboard/index.js +6 -3
  84. package/es/organism/brand-dashboard/index.js.map +1 -1
  85. package/es/organism/review-congrats/index.js +2 -19
  86. package/es/organism/review-congrats/index.js.map +1 -1
  87. package/es/organism/review-congrats/prop-types.js +22 -0
  88. package/es/organism/review-congrats/prop-types.js.map +1 -0
  89. package/es/organism/review-header/index.js +2 -10
  90. package/es/organism/review-header/index.js.map +1 -1
  91. package/es/organism/review-header/prop-types.js +12 -0
  92. package/es/organism/review-header/prop-types.js.map +1 -0
  93. package/es/organism/review-skills/index.js +4 -19
  94. package/es/organism/review-skills/index.js.map +1 -1
  95. package/es/organism/review-skills/prop-types.js +19 -0
  96. package/es/organism/review-skills/prop-types.js.map +1 -0
  97. package/es/template/app-player/loading/index.js +1 -0
  98. package/es/template/app-player/loading/index.js.map +1 -1
  99. package/es/template/app-review/demo-ts/index.js +2 -0
  100. package/es/template/app-review/demo-ts/index.js.map +1 -1
  101. package/es/template/app-review/demo-ts/index.native.js +9 -0
  102. package/es/template/app-review/demo-ts/index.native.js.map +1 -0
  103. package/es/template/app-review/demo-ts/typings.js +7 -0
  104. package/es/template/app-review/demo-ts/typings.js.map +1 -0
  105. package/es/template/app-review/index.js +4 -0
  106. package/es/template/app-review/index.js.map +1 -1
  107. package/es/template/app-review/index.native.js +24 -28
  108. package/es/template/app-review/index.native.js.map +1 -1
  109. package/es/template/app-review/onboarding/index.native.js +2 -2
  110. package/es/template/app-review/onboarding/index.native.js.map +1 -1
  111. package/es/template/app-review/skills/index.native.js +2 -2
  112. package/es/template/app-review/skills/index.native.js.map +1 -1
  113. package/es/template/app-review/slides/index.js +4 -5
  114. package/es/template/app-review/slides/index.js.map +1 -1
  115. package/es/template/app-review/slides/index.native.js +65 -25
  116. package/es/template/app-review/slides/index.native.js.map +1 -1
  117. package/es/template/app-review/slides/prop-types.js +15 -15
  118. package/es/template/app-review/slides/prop-types.js.map +1 -1
  119. package/es/template/app-review/template-context.js +33 -0
  120. package/es/template/app-review/template-context.js.map +1 -0
  121. package/es/variables/analytics.js +22 -0
  122. package/es/variables/analytics.js.map +1 -0
  123. package/es/variables/colors.css +4 -0
  124. package/es/variables/theme.native.js +65 -0
  125. package/es/variables/theme.native.js.map +1 -0
  126. package/es/variables/vibration.js +10 -0
  127. package/es/variables/vibration.js.map +1 -0
  128. package/lib/atom/content-badge/index.js +17 -4
  129. package/lib/atom/content-badge/index.js.map +1 -1
  130. package/lib/atom/content-badge/style.css +6 -0
  131. package/lib/atom/lottie-wrapper/index.js +6 -30
  132. package/lib/atom/lottie-wrapper/index.js.map +1 -1
  133. package/lib/atom/lottie-wrapper/prop-types.js +37 -0
  134. package/lib/atom/lottie-wrapper/prop-types.js.map +1 -0
  135. package/lib/atom/review-background/index.js +3 -5
  136. package/lib/atom/review-background/index.js.map +1 -1
  137. package/lib/atom/review-background/prop-types.js +14 -0
  138. package/lib/atom/review-background/prop-types.js.map +1 -0
  139. package/lib/atom/review-header-step-item/index.js +3 -7
  140. package/lib/atom/review-header-step-item/index.js.map +1 -1
  141. package/lib/atom/review-header-step-item/prop-types.js +16 -0
  142. package/lib/atom/review-header-step-item/prop-types.js.map +1 -0
  143. package/lib/atom/review-presentation/index.js +3 -15
  144. package/lib/atom/review-presentation/index.js.map +1 -1
  145. package/lib/atom/review-presentation/prop-types.js +28 -0
  146. package/lib/atom/review-presentation/prop-types.js.map +1 -0
  147. package/lib/atom/spinner/index.js +1 -0
  148. package/lib/atom/spinner/index.js.map +1 -1
  149. package/lib/atom/tab/index.js +1 -0
  150. package/lib/atom/tab/index.js.map +1 -1
  151. package/lib/hoc/touchable/index.native.js +74 -0
  152. package/lib/hoc/touchable/index.native.js.map +1 -0
  153. package/lib/molecule/answer/index.js +14 -35
  154. package/lib/molecule/answer/index.js.map +1 -1
  155. package/lib/molecule/answer/prop-types.js +49 -0
  156. package/lib/molecule/answer/prop-types.js.map +1 -0
  157. package/lib/molecule/banner/index.js +9 -4
  158. package/lib/molecule/banner/index.js.map +1 -1
  159. package/lib/molecule/banner/style.css +41 -6
  160. package/lib/molecule/card/index.js +3 -1
  161. package/lib/molecule/card/index.js.map +1 -1
  162. package/lib/molecule/card/selectable.css +49 -2
  163. package/lib/molecule/card/selectable.js +9 -1
  164. package/lib/molecule/card/selectable.js.map +1 -1
  165. package/lib/molecule/cm-popin/index.js +12 -5
  166. package/lib/molecule/cm-popin/index.js.map +1 -1
  167. package/lib/molecule/cm-popin/style.css +28 -0
  168. package/lib/molecule/dashboard/battle-request-list/index.js +3 -5
  169. package/lib/molecule/dashboard/battle-request-list/index.js.map +1 -1
  170. package/lib/molecule/dashboard/news-list/index.js +3 -5
  171. package/lib/molecule/dashboard/news-list/index.js.map +1 -1
  172. package/lib/molecule/dashboard/review-banner/index.js +3 -5
  173. package/lib/molecule/dashboard/review-banner/index.js.map +1 -1
  174. package/lib/molecule/dashboard/start-battle/index.js +3 -5
  175. package/lib/molecule/dashboard/start-battle/index.js.map +1 -1
  176. package/lib/molecule/external-content-viewer/index.js +2 -1
  177. package/lib/molecule/external-content-viewer/index.js.map +1 -1
  178. package/lib/molecule/go1-banner/index.js +67 -0
  179. package/lib/molecule/go1-banner/index.js.map +1 -0
  180. package/lib/molecule/go1-banner/style.css +90 -0
  181. package/lib/molecule/questions/free-text/index.native.js +101 -0
  182. package/lib/molecule/questions/free-text/index.native.js.map +1 -0
  183. package/lib/molecule/questions/qcm/index.native.js +62 -0
  184. package/lib/molecule/questions/qcm/index.native.js.map +1 -0
  185. package/lib/molecule/review-card-congrats/index.js +3 -14
  186. package/lib/molecule/review-card-congrats/index.js.map +1 -1
  187. package/lib/molecule/review-card-congrats/prop-types.js +25 -0
  188. package/lib/molecule/review-card-congrats/prop-types.js.map +1 -0
  189. package/lib/molecule/review-correction-popin/index.js +3 -21
  190. package/lib/molecule/review-correction-popin/index.js.map +1 -1
  191. package/lib/molecule/review-correction-popin/prop-types.js +30 -0
  192. package/lib/molecule/review-correction-popin/prop-types.js.map +1 -0
  193. package/lib/molecule/review-header-steps/index.js +3 -5
  194. package/lib/molecule/review-header-steps/index.js.map +1 -1
  195. package/lib/molecule/review-header-steps/prop-types.js +16 -0
  196. package/lib/molecule/review-header-steps/prop-types.js.map +1 -0
  197. package/lib/molecule/skill-card/index.js +3 -13
  198. package/lib/molecule/skill-card/index.js.map +1 -1
  199. package/lib/molecule/skill-card/prop-types.js +22 -0
  200. package/lib/molecule/skill-card/prop-types.js.map +1 -0
  201. package/lib/molecule/video-player/index.js +3 -19
  202. package/lib/molecule/video-player/index.js.map +1 -1
  203. package/lib/molecule/video-player/jwplayer-prop-types.js +48 -0
  204. package/lib/molecule/video-player/jwplayer-prop-types.js.map +1 -0
  205. package/lib/molecule/video-player/jwplayer.js +3 -39
  206. package/lib/molecule/video-player/jwplayer.js.map +1 -1
  207. package/lib/molecule/video-player/prop-types.js +64 -0
  208. package/lib/molecule/video-player/prop-types.js.map +1 -0
  209. package/lib/organism/brand-dashboard/index.js +7 -3
  210. package/lib/organism/brand-dashboard/index.js.map +1 -1
  211. package/lib/organism/review-congrats/index.js +3 -20
  212. package/lib/organism/review-congrats/index.js.map +1 -1
  213. package/lib/organism/review-congrats/prop-types.js +33 -0
  214. package/lib/organism/review-congrats/prop-types.js.map +1 -0
  215. package/lib/organism/review-header/index.js +3 -11
  216. package/lib/organism/review-header/index.js.map +1 -1
  217. package/lib/organism/review-header/prop-types.js +22 -0
  218. package/lib/organism/review-header/prop-types.js.map +1 -0
  219. package/lib/organism/review-skills/index.js +10 -23
  220. package/lib/organism/review-skills/index.js.map +1 -1
  221. package/lib/organism/review-skills/prop-types.js +33 -0
  222. package/lib/organism/review-skills/prop-types.js.map +1 -0
  223. package/lib/template/app-player/loading/index.js +1 -0
  224. package/lib/template/app-player/loading/index.js.map +1 -1
  225. package/lib/template/app-review/demo-ts/index.js +3 -0
  226. package/lib/template/app-review/demo-ts/index.js.map +1 -1
  227. package/lib/template/app-review/demo-ts/index.native.js +18 -0
  228. package/lib/template/app-review/demo-ts/index.native.js.map +1 -0
  229. package/lib/template/app-review/demo-ts/typings.js +16 -0
  230. package/lib/template/app-review/demo-ts/typings.js.map +1 -0
  231. package/lib/template/app-review/index.js +5 -0
  232. package/lib/template/app-review/index.js.map +1 -1
  233. package/lib/template/app-review/index.native.js +25 -26
  234. package/lib/template/app-review/index.native.js.map +1 -1
  235. package/lib/template/app-review/onboarding/index.native.js +2 -2
  236. package/lib/template/app-review/onboarding/index.native.js.map +1 -1
  237. package/lib/template/app-review/skills/index.native.js +4 -4
  238. package/lib/template/app-review/skills/index.native.js.map +1 -1
  239. package/lib/template/app-review/slides/index.js +4 -5
  240. package/lib/template/app-review/slides/index.js.map +1 -1
  241. package/lib/template/app-review/slides/index.native.js +76 -38
  242. package/lib/template/app-review/slides/index.native.js.map +1 -1
  243. package/lib/template/app-review/slides/prop-types.js +16 -16
  244. package/lib/template/app-review/slides/prop-types.js.map +1 -1
  245. package/lib/template/app-review/template-context.js +47 -0
  246. package/lib/template/app-review/template-context.js.map +1 -0
  247. package/lib/variables/analytics.js +27 -0
  248. package/lib/variables/analytics.js.map +1 -0
  249. package/lib/variables/colors.css +4 -0
  250. package/lib/variables/theme.native.js +70 -0
  251. package/lib/variables/theme.native.js.map +1 -0
  252. package/lib/variables/vibration.js +15 -0
  253. package/lib/variables/vibration.js.map +1 -0
  254. package/package.json +6 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/answer/index.js"],"names":["React","PropTypes","VideoPlayer","DropDown","FreeText","QcmDrag","Qcm","QcmGraphic","QuestionRange","Template","Audio","style","TYPE_IMAGE","TYPE_VIDEO","TYPE_AUDIO","MediaView","media","videoId","type","childProps","backgroundImage","url","video","audio","isType","name","oneOf","videoPropType","shape","propTypes","isRequired","imgPropType","string","audioPropType","mediaUrl","oneOfType","Answer","props","model","help","buildAnswer","answerView","wrapper"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,QAAP,MAAqB,wBAArB;AACA,OAAOC,QAAP,MAAqB,wBAArB;AACA,OAAOC,OAAP,MAAoB,uBAApB;AACA,OAAOC,GAAP,MAAgB,kBAAhB;AACA,OAAOC,UAAP,MAAuB,0BAAvB;AACA,OAAOC,aAAP,MAA0B,6BAA1B;AACA,OAAOC,QAAP,MAAqB,uBAArB;AACA,OAAOC,KAAP,MAAkB,UAAlB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,OAAO,MAAMC,UAAU,GAAG,KAAnB;AACP,OAAO,MAAMC,UAAU,GAAG,OAAnB;AACP,OAAO,MAAMC,UAAU,GAAG,OAAnB;;AAEP,MAAMC,SAAS,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,KAAa;AAC7B,QAAM;AAACC,IAAAA,OAAD;AAAUC,IAAAA;AAAV,MAAiCF,KAAvC;AAAA,QAAyBG,UAAzB,iCAAuCH,KAAvC;;AACA,UAAQE,IAAR;AACE,SAAKN,UAAL;AACE,0BACE;AACE,QAAA,SAAS,EAAED,KAAK,CAACK,KADnB;AAEE,QAAA,KAAK,EAAE;AACLI,UAAAA,eAAe,EAAG,OAAMJ,KAAK,CAACK,GAAI;AAD7B;AAFT,QADF;;AAQF,SAAKR,UAAL;AACE,0BACE;AAAK,QAAA,SAAS,EAAEF,KAAK,CAACW;AAAtB,sBACE,oBAAC,WAAD,eAAiB,MAAK,IAAL,EAAWH,UAAX,CAAjB;AAAyC,QAAA,EAAE,EAAEF,OAA7C;AAAsD,QAAA,MAAM,EAAC,MAA7D;AAAoE,QAAA,KAAK,EAAC;AAA1E,SADF,CADF;;AAKF,SAAKH,UAAL;AACE,0BACE;AAAK,QAAA,SAAS,EAAEH,KAAK,CAACY;AAAtB,sBACE,oBAAC,KAAD,eAAW,MAAK,IAAL,EAAWJ,UAAX,CAAX;AAAmC,QAAA,MAAM,EAAC,MAA1C;AAAiD,QAAA,KAAK,EAAC;AAAvD,SADF,CADF;;AAKF;AACE,aAAO,IAAP;AAvBJ;AAyBD,CA3BD;;AA6BA,MAAMK,MAAN,2CAAeC,IAAI,IAAIxB,SAAS,CAACyB,KAAV,CAAgB,CAACD,IAAD,CAAhB,CAAvB;AAEA,MAAME,aAAN,2CAAsB1B,SAAS,CAAC2B,KAAV,uBACjB1B,WAAW,CAAC2B,SADK;AAEpBX,EAAAA,IAAI,EAAEM,MAAM,CAACX,UAAD,CAAN,CAAmBiB;AAFL,GAAtB;AAKA,MAAMC,WAAN,2CAAoB9B,SAAS,CAAC2B,KAAV,CAAgB;AAClCV,EAAAA,IAAI,EAAEM,MAAM,CAACZ,UAAD,CAAN,CAAmBkB,UADS;AAElCT,EAAAA,GAAG,EAAEpB,SAAS,CAAC+B,MAAV,CAAiBF;AAFY,CAAhB,CAApB;AAKA,MAAMG,aAAN,2CAAsBhC,SAAS,CAAC2B,KAAV,CAAgB;AACpCV,EAAAA,IAAI,EAAEM,MAAM,CAACV,UAAD,CAAN,CAAmBgB,UADW;AAEpCI,EAAAA,QAAQ,EAAEjC,SAAS,CAAC+B,MAAV,CAAiBF;AAFS,CAAhB,CAAtB;AAKAf,SAAS,CAACc,SAAV,2CAAsB;AACpBb,EAAAA,KAAK,EAAEf,SAAS,CAACkC,SAAV,CAAoB,CAACR,aAAD,EAAgBI,WAAhB,EAA6BE,aAA7B,CAApB;AADa,CAAtB;;AAIA,MAAMG,MAAM,GAAGC,KAAK,IAAI;AACtB,QAAM;AAACC,IAAAA,KAAD;AAAQtB,IAAAA,KAAR;AAAeuB,IAAAA;AAAf,MAAuBF,KAA7B;;AACA,QAAMG,WAAW,GAAG,MAAM;AACxB,UAAM;AAACtB,MAAAA;AAAD,QAASoB,KAAf;;AAEA,YAAQpB,IAAR;AACE,WAAK,SAAL;AACE,4BAAO,oBAAC,OAAD,eAAaoB,KAAb;AAAoB,UAAA,IAAI,EAAEC;AAA1B,WAAP;;AACF,WAAK,KAAL;AACE,4BAAO,oBAAC,GAAD,EAASD,KAAT,CAAP;;AACF,WAAK,YAAL;AACE,4BAAO,oBAAC,UAAD,EAAgBA,KAAhB,CAAP;;AACF,WAAK,UAAL;AACE,4BAAO,oBAAC,QAAD,EAAcA,KAAd,CAAP;;AACF,WAAK,UAAL;AACE,4BAAO,oBAAC,QAAD,EAAcA,KAAd,CAAP;;AACF,WAAK,QAAL;AACE,4BAAO,oBAAC,aAAD,EAAmBA,KAAnB,CAAP;;AACF,WAAK,UAAL;AACE,4BAAO,oBAAC,QAAD,EAAcA,KAAd,CAAP;AAdJ;AAgBD,GAnBD;;AAoBA,QAAMG,UAAU,GAAGD,WAAW,CAACF,KAAD,CAA9B;AAEA,sBACE;AAAK,iBAAU,QAAf;AAAwB,IAAA,SAAS,EAAE3B,KAAK,CAAC+B;AAAzC,KACG1B,KAAK,gBAAG,oBAAC,SAAD;AAAW,IAAA,KAAK,EAAEA;AAAlB,IAAH,GAAiC,IADzC,EAEGyB,UAFH,CADF;AAMD,CA9BD;;AAgCAL,MAAM,CAACP,SAAP,2CAAmB;AACjBS,EAAAA,KAAK,EAAErC,SAAS,CAAC2B,KAAV,CAAgB;AACrBV,IAAAA,IAAI,EAAEjB,SAAS,CAACyB,KAAV,CAAgB,CACpB,SADoB,EAEpB,KAFoB,EAGpB,YAHoB,EAIpB,UAJoB,EAKpB,UALoB,EAMpB,QANoB,EAOpB,UAPoB,CAAhB,EAQHI;AATkB,GAAhB,CADU;AAYjBS,EAAAA,IAAI,EAAEtC,SAAS,CAAC+B,MAZC;AAajBhB,EAAAA,KAAK,EAAED,SAAS,CAACc,SAAV,CAAoBb;AAbV,CAAnB;AAgBA,eAAeoB,MAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {omit} from 'lodash/fp';\nimport VideoPlayer from '../video-player';\nimport DropDown from '../questions/drop-down';\nimport FreeText from '../questions/free-text';\nimport QcmDrag from '../questions/qcm-drag';\nimport Qcm from '../questions/qcm';\nimport QcmGraphic from '../questions/qcm-graphic';\nimport QuestionRange from '../questions/question-range';\nimport Template from '../questions/template';\nimport Audio from '../audio';\nimport style from './style.css';\n\nexport const TYPE_IMAGE = 'img';\nexport const TYPE_VIDEO = 'video';\nexport const TYPE_AUDIO = 'audio';\n\nconst MediaView = ({media}) => {\n const {videoId, type, ...childProps} = media;\n switch (type) {\n case TYPE_IMAGE:\n return (\n <div\n className={style.media}\n style={{\n backgroundImage: `url(${media.url})`\n }}\n />\n );\n case TYPE_VIDEO:\n return (\n <div className={style.video}>\n <VideoPlayer {...omit('id', childProps)} id={videoId} height=\"100%\" width=\"100%\" />\n </div>\n );\n case TYPE_AUDIO:\n return (\n <div className={style.audio}>\n <Audio {...omit('id', childProps)} height=\"100%\" width=\"100%\" />\n </div>\n );\n default:\n return null;\n }\n};\n\nconst isType = name => PropTypes.oneOf([name]);\n\nconst videoPropType = PropTypes.shape({\n ...VideoPlayer.propTypes,\n type: isType(TYPE_VIDEO).isRequired\n});\n\nconst imgPropType = PropTypes.shape({\n type: isType(TYPE_IMAGE).isRequired,\n url: PropTypes.string.isRequired\n});\n\nconst audioPropType = PropTypes.shape({\n type: isType(TYPE_AUDIO).isRequired,\n mediaUrl: PropTypes.string.isRequired\n});\n\nMediaView.propTypes = {\n media: PropTypes.oneOfType([videoPropType, imgPropType, audioPropType])\n};\n\nconst Answer = props => {\n const {model, media, help} = props;\n const buildAnswer = () => {\n const {type} = model;\n\n switch (type) {\n case 'qcmDrag':\n return <QcmDrag {...model} help={help} />;\n case 'qcm':\n return <Qcm {...model} />;\n case 'qcmGraphic':\n return <QcmGraphic {...model} />;\n case 'freeText':\n return <FreeText {...model} />;\n case 'dropDown':\n return <DropDown {...model} />;\n case 'slider':\n return <QuestionRange {...model} />;\n case 'template':\n return <Template {...model} />;\n }\n };\n const answerView = buildAnswer(model);\n\n return (\n <div data-name=\"answer\" className={style.wrapper}>\n {media ? <MediaView media={media} /> : null}\n {answerView}\n </div>\n );\n};\n\nAnswer.propTypes = {\n model: PropTypes.shape({\n type: PropTypes.oneOf([\n 'qcmDrag',\n 'qcm',\n 'qcmGraphic',\n 'freeText',\n 'dropDown',\n 'slider',\n 'template'\n ]).isRequired\n }),\n help: PropTypes.string,\n media: MediaView.propTypes.media\n};\n\nexport default Answer;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/answer/index.js"],"names":["React","VideoPlayer","DropDown","FreeText","QcmDrag","Qcm","QcmGraphic","QuestionRange","Template","Audio","style","propTypes","MediaViewPropTypes","TYPE_AUDIO","TYPE_IMAGE","TYPE_VIDEO","MediaView","media","videoId","type","childProps","backgroundImage","url","video","audio","Answer","props","model","help","buildAnswer","answerView","wrapper"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {omit} from 'lodash/fp';\nimport VideoPlayer from '../video-player';\nimport DropDown from '../questions/drop-down';\nimport FreeText from '../questions/free-text';\nimport QcmDrag from '../questions/qcm-drag';\nimport Qcm from '../questions/qcm';\nimport QcmGraphic from '../questions/qcm-graphic';\nimport QuestionRange from '../questions/question-range';\nimport Template from '../questions/template';\nimport Audio from '../audio';\nimport style from './style.css';\nimport propTypes, {MediaViewPropTypes, TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from './prop-types';\n\nconst MediaView = ({media}) => {\n const {videoId, type, ...childProps} = media;\n switch (type) {\n case TYPE_IMAGE:\n return (\n <div\n className={style.media}\n style={{\n backgroundImage: `url(${media.url})`\n }}\n />\n );\n case TYPE_VIDEO:\n return (\n <div className={style.video}>\n <VideoPlayer {...omit('id', childProps)} id={videoId} height=\"100%\" width=\"100%\" />\n </div>\n );\n case TYPE_AUDIO:\n return (\n <div className={style.audio}>\n <Audio {...omit('id', childProps)} height=\"100%\" width=\"100%\" />\n </div>\n );\n default:\n return null;\n }\n};\n\nMediaView.propTypes = MediaViewPropTypes;\n\nconst Answer = props => {\n const {model, media, help} = props;\n const buildAnswer = () => {\n // (propTypes model.type is properly defined)\n // eslint-disable-next-line react/prop-types\n const {type} = model;\n\n switch (type) {\n case 'qcmDrag':\n return <QcmDrag {...model} help={help} />;\n case 'qcm':\n return <Qcm {...model} />;\n case 'qcmGraphic':\n return <QcmGraphic {...model} />;\n case 'freeText':\n return <FreeText {...model} />;\n case 'dropDown':\n return <DropDown {...model} />;\n case 'slider':\n return <QuestionRange {...model} />;\n case 'template':\n return <Template {...model} />;\n }\n };\n const answerView = buildAnswer(model);\n\n return (\n <div data-name=\"answer\" className={style.wrapper}>\n {media ? <MediaView media={media} /> : null}\n {answerView}\n </div>\n );\n};\n\nAnswer.propTypes = propTypes;\n\nexport default Answer;\n"],"file":"index.js"}
@@ -0,0 +1,32 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import PropTypes from 'prop-types';
4
+ import VideoPlayerPropTypes from '../video-player/prop-types';
5
+ export const TYPE_IMAGE = 'img';
6
+ export const TYPE_VIDEO = 'video';
7
+ export const TYPE_AUDIO = 'audio';
8
+
9
+ const isType = name => PropTypes.oneOf([name]);
10
+
11
+ const videoPropType = PropTypes.shape(_extends(_extends({}, VideoPlayerPropTypes), {}, {
12
+ type: isType(TYPE_VIDEO).isRequired
13
+ }));
14
+ const imgPropType = PropTypes.shape({
15
+ type: isType(TYPE_IMAGE).isRequired,
16
+ url: PropTypes.string.isRequired
17
+ });
18
+ const audioPropType = PropTypes.shape({
19
+ type: isType(TYPE_AUDIO).isRequired,
20
+ mediaUrl: PropTypes.string.isRequired
21
+ });
22
+ export const MediaViewPropTypes = {
23
+ media: PropTypes.oneOfType([videoPropType, imgPropType, audioPropType])
24
+ };
25
+ export default {
26
+ model: PropTypes.shape({
27
+ type: PropTypes.oneOf(['qcmDrag', 'qcm', 'qcmGraphic', 'freeText', 'dropDown', 'slider', 'template']).isRequired
28
+ }),
29
+ help: PropTypes.string,
30
+ media: MediaViewPropTypes.media
31
+ };
32
+ //# sourceMappingURL=prop-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/molecule/answer/prop-types.js"],"names":["PropTypes","VideoPlayerPropTypes","TYPE_IMAGE","TYPE_VIDEO","TYPE_AUDIO","isType","name","oneOf","videoPropType","shape","type","isRequired","imgPropType","url","string","audioPropType","mediaUrl","MediaViewPropTypes","media","oneOfType","model","help"],"mappings":";;AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AAEA,OAAO,MAAMC,UAAU,GAAG,KAAnB;AACP,OAAO,MAAMC,UAAU,GAAG,OAAnB;AACP,OAAO,MAAMC,UAAU,GAAG,OAAnB;;AAEP,MAAMC,MAAM,GAAGC,IAAI,IAAIN,SAAS,CAACO,KAAV,CAAgB,CAACD,IAAD,CAAhB,CAAvB;;AAEA,MAAME,aAAa,GAAGR,SAAS,CAACS,KAAV,uBACjBR,oBADiB;AAEpBS,EAAAA,IAAI,EAAEL,MAAM,CAACF,UAAD,CAAN,CAAmBQ;AAFL,GAAtB;AAKA,MAAMC,WAAW,GAAGZ,SAAS,CAACS,KAAV,CAAgB;AAClCC,EAAAA,IAAI,EAAEL,MAAM,CAACH,UAAD,CAAN,CAAmBS,UADS;AAElCE,EAAAA,GAAG,EAAEb,SAAS,CAACc,MAAV,CAAiBH;AAFY,CAAhB,CAApB;AAKA,MAAMI,aAAa,GAAGf,SAAS,CAACS,KAAV,CAAgB;AACpCC,EAAAA,IAAI,EAAEL,MAAM,CAACD,UAAD,CAAN,CAAmBO,UADW;AAEpCK,EAAAA,QAAQ,EAAEhB,SAAS,CAACc,MAAV,CAAiBH;AAFS,CAAhB,CAAtB;AAKA,OAAO,MAAMM,kBAAkB,GAAG;AAChCC,EAAAA,KAAK,EAAElB,SAAS,CAACmB,SAAV,CAAoB,CAACX,aAAD,EAAgBI,WAAhB,EAA6BG,aAA7B,CAApB;AADyB,CAA3B;AAIP,eAAe;AACbK,EAAAA,KAAK,EAAEpB,SAAS,CAACS,KAAV,CAAgB;AACrBC,IAAAA,IAAI,EAAEV,SAAS,CAACO,KAAV,CAAgB,CACpB,SADoB,EAEpB,KAFoB,EAGpB,YAHoB,EAIpB,UAJoB,EAKpB,UALoB,EAMpB,QANoB,EAOpB,UAPoB,CAAhB,EAQHI;AATkB,GAAhB,CADM;AAYbU,EAAAA,IAAI,EAAErB,SAAS,CAACc,MAZH;AAabI,EAAAA,KAAK,EAAED,kBAAkB,CAACC;AAbb,CAAf","sourcesContent":["import PropTypes from 'prop-types';\nimport VideoPlayerPropTypes from '../video-player/prop-types';\n\nexport const TYPE_IMAGE = 'img';\nexport const TYPE_VIDEO = 'video';\nexport const TYPE_AUDIO = 'audio';\n\nconst isType = name => PropTypes.oneOf([name]);\n\nconst videoPropType = PropTypes.shape({\n ...VideoPlayerPropTypes,\n type: isType(TYPE_VIDEO).isRequired\n});\n\nconst imgPropType = PropTypes.shape({\n type: isType(TYPE_IMAGE).isRequired,\n url: PropTypes.string.isRequired\n});\n\nconst audioPropType = PropTypes.shape({\n type: isType(TYPE_AUDIO).isRequired,\n mediaUrl: PropTypes.string.isRequired\n});\n\nexport const MediaViewPropTypes = {\n media: PropTypes.oneOfType([videoPropType, imgPropType, audioPropType])\n};\n\nexport default {\n model: PropTypes.shape({\n type: PropTypes.oneOf([\n 'qcmDrag',\n 'qcm',\n 'qcmGraphic',\n 'freeText',\n 'dropDown',\n 'slider',\n 'template'\n ]).isRequired\n }),\n help: PropTypes.string,\n media: MediaViewPropTypes.media\n};\n"],"file":"prop-types.js"}
@@ -10,6 +10,11 @@ const ICONS = {
10
10
  error: QuestionIcon,
11
11
  warning: QuestionIcon
12
12
  };
13
+ const STYLES = {
14
+ success: style.success,
15
+ error: style.error,
16
+ warning: style.warning
17
+ };
13
18
 
14
19
  const Banner = props => {
15
20
  const {
@@ -26,7 +31,7 @@ const Banner = props => {
26
31
  const Icon = ICONS[type];
27
32
  return /*#__PURE__*/React.createElement("div", {
28
33
  key: bannerKey,
29
- className: classnames(style.banner, type === 'error' && style.errorBanner, type === 'success' && style.successBanner, temporary && style.temporaryBanner),
34
+ className: classnames(style.banner, STYLES[type], temporary && style.temporaryBanner),
30
35
  onAnimationEnd: onEnd,
31
36
  title: message
32
37
  }, /*#__PURE__*/React.createElement("div", {
@@ -35,7 +40,7 @@ const Banner = props => {
35
40
  }, /*#__PURE__*/React.createElement(Icon, {
36
41
  className: classnames(style.icon, temporary && style.temporaryIcon)
37
42
  }), message), firstCTALabel ? /*#__PURE__*/React.createElement("div", {
38
- className: style.button
43
+ className: classnames(style.button, STYLES[type])
39
44
  }, /*#__PURE__*/React.createElement(Link, {
40
45
  "data-name": "first-banner-cta",
41
46
  "aria-label": firstCTALabel,
@@ -43,9 +48,9 @@ const Banner = props => {
43
48
  onClick: firstCTA,
44
49
  type: "text"
45
50
  })) : null, firstCTALabel && secondCTALabel ? /*#__PURE__*/React.createElement("div", {
46
- className: style.buttonsBar
51
+ className: classnames(style.buttonsBar, STYLES[type])
47
52
  }) : null, secondCTALabel ? /*#__PURE__*/React.createElement("div", {
48
- className: style.button
53
+ className: classnames(style.button, STYLES[type])
49
54
  }, /*#__PURE__*/React.createElement(Link, {
50
55
  "data-name": "second-banner-cta",
51
56
  onClick: secondCTA,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/banner/index.js"],"names":["React","PropTypes","classnames","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","QuestionIcon","NovaCompositionCoorpacademyValidate","ValidateIcon","Link","style","ICONS","success","error","warning","Banner","props","type","message","firstCTA","firstCTALabel","secondCTALabel","secondCTA","temporary","bannerKey","onEnd","Icon","banner","errorBanner","successBanner","temporaryBanner","icon","temporaryIcon","button","buttonsBar","propTypes","string","oneOf","isRequired","func","bool"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {keys} from 'lodash/fp';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as QuestionIcon,\n NovaCompositionCoorpacademyValidate as ValidateIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/button-link';\nimport style from './style.css';\n\nconst ICONS = {\n success: ValidateIcon,\n error: QuestionIcon,\n warning: QuestionIcon\n};\n\nconst Banner = props => {\n const {\n type,\n message,\n firstCTA,\n firstCTALabel,\n secondCTALabel,\n secondCTA,\n temporary,\n bannerKey,\n onEnd\n } = props;\n const Icon = ICONS[type];\n return (\n <div\n key={bannerKey}\n className={classnames(\n style.banner,\n type === 'error' && style.errorBanner,\n type === 'success' && style.successBanner,\n temporary && style.temporaryBanner\n )}\n onAnimationEnd={onEnd}\n title={message}\n >\n <div data-name={`${type}-banner-message`} className={style.message}>\n <Icon className={classnames(style.icon, temporary && style.temporaryIcon)} />\n {message}\n </div>\n {firstCTALabel ? (\n <div className={style.button}>\n <Link\n data-name=\"first-banner-cta\"\n aria-label={firstCTALabel}\n label={firstCTALabel}\n onClick={firstCTA}\n type=\"text\"\n />\n </div>\n ) : null}\n {firstCTALabel && secondCTALabel ? <div className={style.buttonsBar} /> : null}\n {secondCTALabel ? (\n <div className={style.button}>\n <Link\n data-name=\"second-banner-cta\"\n onClick={secondCTA}\n aria-label={secondCTALabel}\n label={secondCTALabel}\n type=\"text\"\n />\n </div>\n ) : null}\n </div>\n );\n};\n\nBanner.propTypes = {\n bannerKey: PropTypes.string,\n type: PropTypes.oneOf(keys(ICONS)),\n message: PropTypes.string.isRequired,\n firstCTA: PropTypes.func,\n firstCTALabel: PropTypes.string,\n secondCTALabel: PropTypes.string,\n secondCTA: PropTypes.func,\n temporary: PropTypes.bool,\n onEnd: PropTypes.func\n};\n\nexport default Banner;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/banner/index.js"],"names":["React","PropTypes","classnames","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","QuestionIcon","NovaCompositionCoorpacademyValidate","ValidateIcon","Link","style","ICONS","success","error","warning","STYLES","Banner","props","type","message","firstCTA","firstCTALabel","secondCTALabel","secondCTA","temporary","bannerKey","onEnd","Icon","banner","temporaryBanner","icon","temporaryIcon","button","buttonsBar","propTypes","string","oneOf","isRequired","func","bool"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,+CAA+C,IAAIC,YADrD,EAEEC,mCAAmC,IAAIC,YAFzC,QAGO,0BAHP;AAIA,OAAOC,IAAP,MAAiB,wBAAjB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,KAAK,GAAG;AACZC,EAAAA,OAAO,EAAEJ,YADG;AAEZK,EAAAA,KAAK,EAAEP,YAFK;AAGZQ,EAAAA,OAAO,EAAER;AAHG,CAAd;AAMA,MAAMS,MAAM,GAAG;AACbH,EAAAA,OAAO,EAAEF,KAAK,CAACE,OADF;AAEbC,EAAAA,KAAK,EAAEH,KAAK,CAACG,KAFA;AAGbC,EAAAA,OAAO,EAAEJ,KAAK,CAACI;AAHF,CAAf;;AAMA,MAAME,MAAM,GAAGC,KAAK,IAAI;AACtB,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,OAFI;AAGJC,IAAAA,QAHI;AAIJC,IAAAA,aAJI;AAKJC,IAAAA,cALI;AAMJC,IAAAA,SANI;AAOJC,IAAAA,SAPI;AAQJC,IAAAA,SARI;AASJC,IAAAA;AATI,MAUFT,KAVJ;AAWA,QAAMU,IAAI,GAAGhB,KAAK,CAACO,IAAD,CAAlB;AACA,sBACE;AACE,IAAA,GAAG,EAAEO,SADP;AAEE,IAAA,SAAS,EAAErB,UAAU,CAACM,KAAK,CAACkB,MAAP,EAAeb,MAAM,CAACG,IAAD,CAArB,EAA6BM,SAAS,IAAId,KAAK,CAACmB,eAAhD,CAFvB;AAGE,IAAA,cAAc,EAAEH,KAHlB;AAIE,IAAA,KAAK,EAAEP;AAJT,kBAME;AAAK,iBAAY,GAAED,IAAK,iBAAxB;AAA0C,IAAA,SAAS,EAAER,KAAK,CAACS;AAA3D,kBACE,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAEf,UAAU,CAACM,KAAK,CAACoB,IAAP,EAAaN,SAAS,IAAId,KAAK,CAACqB,aAAhC;AAA3B,IADF,EAEGZ,OAFH,CANF,EAUGE,aAAa,gBACZ;AAAK,IAAA,SAAS,EAAEjB,UAAU,CAACM,KAAK,CAACsB,MAAP,EAAejB,MAAM,CAACG,IAAD,CAArB;AAA1B,kBACE,oBAAC,IAAD;AACE,iBAAU,kBADZ;AAEE,kBAAYG,aAFd;AAGE,IAAA,KAAK,EAAEA,aAHT;AAIE,IAAA,OAAO,EAAED,QAJX;AAKE,IAAA,IAAI,EAAC;AALP,IADF,CADY,GAUV,IApBN,EAqBGC,aAAa,IAAIC,cAAjB,gBACC;AAAK,IAAA,SAAS,EAAElB,UAAU,CAACM,KAAK,CAACuB,UAAP,EAAmBlB,MAAM,CAACG,IAAD,CAAzB;AAA1B,IADD,GAEG,IAvBN,EAwBGI,cAAc,gBACb;AAAK,IAAA,SAAS,EAAElB,UAAU,CAACM,KAAK,CAACsB,MAAP,EAAejB,MAAM,CAACG,IAAD,CAArB;AAA1B,kBACE,oBAAC,IAAD;AACE,iBAAU,mBADZ;AAEE,IAAA,OAAO,EAAEK,SAFX;AAGE,kBAAYD,cAHd;AAIE,IAAA,KAAK,EAAEA,cAJT;AAKE,IAAA,IAAI,EAAC;AALP,IADF,CADa,GAUX,IAlCN,CADF;AAsCD,CAnDD;;AAqDAN,MAAM,CAACkB,SAAP,2CAAmB;AACjBT,EAAAA,SAAS,EAAEtB,SAAS,CAACgC,MADJ;AAEjBjB,EAAAA,IAAI,EAAEf,SAAS,CAACiC,KAAV,CAAgB,MAAKzB,KAAL,CAAhB,CAFW;AAGjBQ,EAAAA,OAAO,EAAEhB,SAAS,CAACgC,MAAV,CAAiBE,UAHT;AAIjBjB,EAAAA,QAAQ,EAAEjB,SAAS,CAACmC,IAJH;AAKjBjB,EAAAA,aAAa,EAAElB,SAAS,CAACgC,MALR;AAMjBb,EAAAA,cAAc,EAAEnB,SAAS,CAACgC,MANT;AAOjBZ,EAAAA,SAAS,EAAEpB,SAAS,CAACmC,IAPJ;AAQjBd,EAAAA,SAAS,EAAErB,SAAS,CAACoC,IARJ;AASjBb,EAAAA,KAAK,EAAEvB,SAAS,CAACmC;AATA,CAAnB;AAYA,eAAetB,MAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {keys} from 'lodash/fp';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as QuestionIcon,\n NovaCompositionCoorpacademyValidate as ValidateIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/button-link';\nimport style from './style.css';\n\nconst ICONS = {\n success: ValidateIcon,\n error: QuestionIcon,\n warning: QuestionIcon\n};\n\nconst STYLES = {\n success: style.success,\n error: style.error,\n warning: style.warning\n};\n\nconst Banner = props => {\n const {\n type,\n message,\n firstCTA,\n firstCTALabel,\n secondCTALabel,\n secondCTA,\n temporary,\n bannerKey,\n onEnd\n } = props;\n const Icon = ICONS[type];\n return (\n <div\n key={bannerKey}\n className={classnames(style.banner, STYLES[type], temporary && style.temporaryBanner)}\n onAnimationEnd={onEnd}\n title={message}\n >\n <div data-name={`${type}-banner-message`} className={style.message}>\n <Icon className={classnames(style.icon, temporary && style.temporaryIcon)} />\n {message}\n </div>\n {firstCTALabel ? (\n <div className={classnames(style.button, STYLES[type])}>\n <Link\n data-name=\"first-banner-cta\"\n aria-label={firstCTALabel}\n label={firstCTALabel}\n onClick={firstCTA}\n type=\"text\"\n />\n </div>\n ) : null}\n {firstCTALabel && secondCTALabel ? (\n <div className={classnames(style.buttonsBar, STYLES[type])} />\n ) : null}\n {secondCTALabel ? (\n <div className={classnames(style.button, STYLES[type])}>\n <Link\n data-name=\"second-banner-cta\"\n onClick={secondCTA}\n aria-label={secondCTALabel}\n label={secondCTALabel}\n type=\"text\"\n />\n </div>\n ) : null}\n </div>\n );\n};\n\nBanner.propTypes = {\n bannerKey: PropTypes.string,\n type: PropTypes.oneOf(keys(ICONS)),\n message: PropTypes.string.isRequired,\n firstCTA: PropTypes.func,\n firstCTALabel: PropTypes.string,\n secondCTALabel: PropTypes.string,\n secondCTA: PropTypes.func,\n temporary: PropTypes.bool,\n onEnd: PropTypes.func\n};\n\nexport default Banner;\n"],"file":"index.js"}
@@ -36,16 +36,19 @@
36
36
  gap: 8px;
37
37
  padding: 16px 24px;
38
38
  border-radius: 5px;
39
+ }
40
+
41
+ .banner.warning {
39
42
  background-color: cm_warning_50;
40
43
  color: cm_yellow_200;
41
- border-radius: 5px;
42
44
  }
43
45
 
44
- .errorBanner {
46
+ .banner.error {
45
47
  background-color: cm_negative_50;
46
48
  color: cm_negative_200;
47
49
  }
48
- .successBanner {
50
+
51
+ .banner.success {
49
52
  background-color: color(cm_positive_100 a(15%));
50
53
  color: cm_positive_100;
51
54
  }
@@ -71,22 +74,54 @@
71
74
 
72
75
  .button{
73
76
  background-color: transparent;
74
- color: cm_yellow_200;
75
77
  white-space: nowrap;
76
78
  }
77
79
 
78
- .button :hover{
79
- color: cm_yellow_400;
80
+ .button.warning {
81
+ color: cm_yellow_200;
82
+ }
83
+
84
+ .button.warning:hover {
85
+ color: color(cm_yellow_200 blackness(+12%));
86
+ }
87
+
88
+ .button.error {
89
+ color: cm_negative_200;
90
+ }
91
+
92
+ .button.error:hover {
93
+ color: color(cm_negative_200 blackness(+12%));
80
94
  }
81
95
 
96
+ .button.success {
97
+ color: cm_positive_100;
98
+ }
99
+
100
+ .button.success:hover {
101
+ color: color(cm_positive_100 blackness(+12%));
102
+ }
103
+
104
+
82
105
  .buttonsBar {
83
106
  width: 2px;
84
107
  align-self: stretch;
85
108
  flex-grow: 0;
86
109
  opacity: 0.3;
110
+ }
111
+
112
+ .buttonsBar.warning {
87
113
  background-color: cm_yellow_200;
88
114
  }
89
115
 
116
+ .buttonsBar.error {
117
+ background-color: cm_negative_200;
118
+ }
119
+
120
+ .buttonsBar.success {
121
+ background-color: cm_positive_100;
122
+ }
123
+
124
+
90
125
  .icon {
91
126
  height: 22px;
92
127
  margin-right: 16px;
@@ -115,7 +115,7 @@ const Card = memo(function Card(props, context) {
115
115
  image,
116
116
  badge,
117
117
  adaptiv,
118
- disabled = false,
118
+ disabled: hidden = false,
119
119
  type = 'course',
120
120
  title,
121
121
  author,
@@ -149,6 +149,9 @@ const Card = memo(function Card(props, context) {
149
149
  const whiteColor = _get('common.white', skin);
150
150
 
151
151
  const cardStyle = classnames(THEMES[theme], type === 'chapter' ? style.chapter : style.course, title ? null : style.lazy, style.grid, empty ? style.empty : null);
152
+
153
+ const disabled = hidden && (!isSelected || _isUndefined(isSelected));
154
+
152
155
  const handleClick = useMemo(() => e => !disabled && onClick(e), [disabled, onClick]);
153
156
  const lock = disabled ? /*#__PURE__*/React.createElement(LockIcon, {
154
157
  className: style.lockIcon,
@@ -195,6 +198,7 @@ const Card = memo(function Card(props, context) {
195
198
  "aria-label": favoriteAriaLabel
196
199
  }) : null, /*#__PURE__*/React.createElement(Selectable, {
197
200
  isSelected: isSelected,
201
+ hidden: hidden,
198
202
  "aria-label": selectableAriaLabel
199
203
  }), notification ? /*#__PURE__*/React.createElement(Notification, notification) : null, customer ? /*#__PURE__*/React.createElement(Customer, _extends({}, customer, {
200
204
  theme: theme,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/card/index.js"],"names":["React","useMemo","memo","PropTypes","classnames","NovaSolidLoginLocked","LockIcon","NovaCompositionCoorpacademyPictures","PicturesIcon","isExternalContent","EXTERNAL_CONTENT_ICONS","Provider","CardContentInfo","MODES","Customer","Favorite","Selectable","Notification","style","THEMES","default","coorpmanager","CardBackground","type","image","empty","ariaLabel","skin","externalContent","primaryColor","whiteColor","IconType","icon","iconColor","color","backgroundIcon","externalIconCircleWrapper","externalIcon","_backgroundIcon","externalIconCircleWithImageWrapper","backgroundColor","externalIconWithImage","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","chapterImageWrapper","contextTypes","childContextTypes","propTypes","string","bool","Card","props","context","badge","adaptiv","disabled","title","author","customer","certifiedAuthor","progress","favorite","addFavoriteToolTip","removeFavoriteToolTip","onClick","onFavoriteClick","isSelected","notification","badgeCategory","badgeLabel","theme","cardArialabel","backgroundAriaLabel","favoriteAriaLabel","selectableAriaLabel","customerAriaLabel","badgeAriaLabel","disabledArialabel","cardContentLabelAriaLabel","cardStyle","chapter","course","lazy","grid","handleClick","e","lock","lockIcon","inlineBadgeStyle","getType","contentType","CARD","lockWrapper","shape","number","func","oneOf"],"mappings":"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","sourcesContent":["import React, {useMemo, memo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, isUndefined, pick, keys} from 'lodash/fp';\nimport {\n NovaSolidLoginLocked as LockIcon,\n NovaCompositionCoorpacademyPictures as PicturesIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport CardContentInfo, {MODES} from '../card-content';\nimport Customer from './customer';\nimport Favorite from './favorite';\nimport Selectable from './selectable';\nimport Notification from './notification';\nimport style from './style.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst CardBackground = ({type, image, empty, 'aria-label': ariaLabel}, {skin}) => {\n const externalContent = isExternalContent(type);\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[type].color;\n const backgroundIcon = (\n <div className={style.externalIconCircleWrapper}>\n <IconType className={style.externalIcon} />\n </div>\n );\n\n if (image) {\n const _backgroundIcon = (\n <div\n className={classnames(\n style.externalIconCircleWrapper,\n style.externalIconCircleWithImageWrapper\n )}\n style={{\n backgroundColor: iconColor\n }}\n >\n <IconType className={style.externalIconWithImage} />\n </div>\n );\n\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor,\n backgroundImage: `url('${image}')`\n }}\n className={classnames(style.externalContentHeader, style.externalBackground)}\n >\n {_backgroundIcon}\n </div>\n </div>\n );\n }\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor\n }}\n className={style.externalContentHeader}\n >\n {backgroundIcon}\n </div>\n </div>\n );\n }\n\n const emptyIcon = empty ? <PicturesIcon className={style.emptyIcon} color={whiteColor} /> : null;\n return (\n <div\n className={classnames(\n style.imageWrapper,\n type === 'chapter' ? style.chapterImageWrapper : null\n )}\n >\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n className={style.image}\n style={{\n backgroundColor: primaryColor,\n backgroundImage: image ? `url('${image}')` : 'none'\n }}\n >\n {emptyIcon}\n </div>\n </div>\n );\n};\n\nCardBackground.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCardBackground.propTypes = {\n type: PropTypes.string,\n image: PropTypes.string,\n empty: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst Card = memo(function Card(props, context) {\n const {skin} = context;\n const {\n image,\n badge,\n adaptiv,\n disabled = false,\n type = 'course',\n title,\n author,\n customer,\n certifiedAuthor,\n progress,\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n onClick,\n onFavoriteClick,\n isSelected,\n notification,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': cardArialabel,\n 'background-aria-label': backgroundAriaLabel,\n 'favorite-aria-label': favoriteAriaLabel,\n 'selectable-aria-label': selectableAriaLabel,\n 'customer-aria-label': customerAriaLabel,\n 'badge-aria-label': badgeAriaLabel,\n 'disabled-aria-label': disabledArialabel,\n 'card-content-aria-label': cardContentLabelAriaLabel\n } = props;\n const empty = isEmpty(pick(['title', 'type', 'author', 'image'], props));\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n const cardStyle = classnames(\n THEMES[theme],\n type === 'chapter' ? style.chapter : style.course,\n title ? null : style.lazy,\n style.grid,\n empty ? style.empty : null\n );\n const handleClick = useMemo(() => e => !disabled && onClick(e), [disabled, onClick]);\n const lock = disabled ? (\n <LockIcon className={style.lockIcon} color={whiteColor} height={40} />\n ) : null;\n const inlineBadgeStyle = {color: primaryColor};\n const getType = contentType => {\n switch (contentType) {\n case 'chapter':\n return 'microlearning';\n case 'course':\n return 'learner';\n default:\n return contentType;\n }\n };\n\n return (\n <div\n className={cardStyle}\n data-name=\"card\"\n data-lock={disabled}\n data-type={getType(type)}\n disabled={disabled}\n onClick={handleClick}\n aria-label={cardArialabel}\n >\n <CardBackground type={type} image={image} empty={empty} aria-label={backgroundAriaLabel} />\n {isUndefined(isSelected) && !isUndefined(favorite) ? (\n <Favorite\n className={style.favorite}\n favorite={favorite}\n disabled={disabled}\n onFavoriteClick={onFavoriteClick}\n addFavoriteToolTip={addFavoriteToolTip}\n removeFavoriteToolTip={removeFavoriteToolTip}\n aria-label={favoriteAriaLabel}\n />\n ) : null}\n <Selectable isSelected={isSelected} aria-label={selectableAriaLabel} />\n {notification ? <Notification {...notification} /> : null}\n {customer ? (\n <Customer\n {...customer}\n theme={theme}\n type={type}\n disabled={disabled}\n aria-label={customerAriaLabel}\n />\n ) : null}\n <CardContentInfo\n mode={MODES.CARD}\n adaptiv={adaptiv}\n author={author}\n certifiedAuthor={certifiedAuthor}\n disabled={disabled}\n empty={empty}\n progress={progress}\n title={title}\n type={type}\n badgeCategory={badgeCategory}\n badgeLabel={badgeLabel}\n theme={theme}\n aria-label={cardContentLabelAriaLabel}\n />\n {badge ? (\n <div className={style.badge} style={inlineBadgeStyle} aria-label={badgeAriaLabel}>\n {badge}\n </div>\n ) : null}\n {disabled ? (\n <div className={style.lockWrapper} aria-label={disabledArialabel}>\n {lock}\n </div>\n ) : null}\n </div>\n );\n});\n\nCard.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCard.propTypes = {\n badge: PropTypes.string,\n image: PropTypes.string,\n disabled: PropTypes.bool,\n adaptiv: PropTypes.bool,\n type: PropTypes.string,\n title: PropTypes.string,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n customer: PropTypes.shape(Customer.propTypes),\n progress: PropTypes.number,\n favorite: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onClick: PropTypes.func,\n onFavoriteClick: PropTypes.func,\n isSelected: PropTypes.bool,\n notification: PropTypes.shape(Notification.propTypes),\n badgeCategory: CardContentInfo.propTypes.badgeCategory,\n badgeLabel: CardContentInfo.propTypes.badgeLabel,\n theme: PropTypes.oneOf(keys(THEMES)),\n 'aria-label': PropTypes.string,\n 'background-aria-label': PropTypes.string,\n 'favorite-aria-label': Favorite.propTypes['aria-label'],\n 'selectable-aria-label': Selectable.propTypes['aria-label'],\n 'customer-aria-label': Customer.propTypes['aria-label'],\n 'badge-aria-label': PropTypes.string,\n 'disabled-aria-label': PropTypes.string,\n 'card-content-aria-label': CardContentInfo.propTypes['aria-label']\n};\nexport default Card;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/card/index.js"],"names":["React","useMemo","memo","PropTypes","classnames","NovaSolidLoginLocked","LockIcon","NovaCompositionCoorpacademyPictures","PicturesIcon","isExternalContent","EXTERNAL_CONTENT_ICONS","Provider","CardContentInfo","MODES","Customer","Favorite","Selectable","Notification","style","THEMES","default","coorpmanager","CardBackground","type","image","empty","ariaLabel","skin","externalContent","primaryColor","whiteColor","IconType","icon","iconColor","color","backgroundIcon","externalIconCircleWrapper","externalIcon","_backgroundIcon","externalIconCircleWithImageWrapper","backgroundColor","externalIconWithImage","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","chapterImageWrapper","contextTypes","childContextTypes","propTypes","string","bool","Card","props","context","badge","adaptiv","disabled","hidden","title","author","customer","certifiedAuthor","progress","favorite","addFavoriteToolTip","removeFavoriteToolTip","onClick","onFavoriteClick","isSelected","notification","badgeCategory","badgeLabel","theme","cardArialabel","backgroundAriaLabel","favoriteAriaLabel","selectableAriaLabel","customerAriaLabel","badgeAriaLabel","disabledArialabel","cardContentLabelAriaLabel","cardStyle","chapter","course","lazy","grid","handleClick","e","lock","lockIcon","inlineBadgeStyle","getType","contentType","CARD","lockWrapper","shape","number","func","oneOf"],"mappings":"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","sourcesContent":["import React, {useMemo, memo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, isUndefined, pick, keys} from 'lodash/fp';\nimport {\n NovaSolidLoginLocked as LockIcon,\n NovaCompositionCoorpacademyPictures as PicturesIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport CardContentInfo, {MODES} from '../card-content';\nimport Customer from './customer';\nimport Favorite from './favorite';\nimport Selectable from './selectable';\nimport Notification from './notification';\nimport style from './style.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst CardBackground = ({type, image, empty, 'aria-label': ariaLabel}, {skin}) => {\n const externalContent = isExternalContent(type);\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[type].color;\n const backgroundIcon = (\n <div className={style.externalIconCircleWrapper}>\n <IconType className={style.externalIcon} />\n </div>\n );\n\n if (image) {\n const _backgroundIcon = (\n <div\n className={classnames(\n style.externalIconCircleWrapper,\n style.externalIconCircleWithImageWrapper\n )}\n style={{\n backgroundColor: iconColor\n }}\n >\n <IconType className={style.externalIconWithImage} />\n </div>\n );\n\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor,\n backgroundImage: `url('${image}')`\n }}\n className={classnames(style.externalContentHeader, style.externalBackground)}\n >\n {_backgroundIcon}\n </div>\n </div>\n );\n }\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor\n }}\n className={style.externalContentHeader}\n >\n {backgroundIcon}\n </div>\n </div>\n );\n }\n\n const emptyIcon = empty ? <PicturesIcon className={style.emptyIcon} color={whiteColor} /> : null;\n return (\n <div\n className={classnames(\n style.imageWrapper,\n type === 'chapter' ? style.chapterImageWrapper : null\n )}\n >\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n className={style.image}\n style={{\n backgroundColor: primaryColor,\n backgroundImage: image ? `url('${image}')` : 'none'\n }}\n >\n {emptyIcon}\n </div>\n </div>\n );\n};\n\nCardBackground.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCardBackground.propTypes = {\n type: PropTypes.string,\n image: PropTypes.string,\n empty: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst Card = memo(function Card(props, context) {\n const {skin} = context;\n const {\n image,\n badge,\n adaptiv,\n disabled: hidden = false,\n type = 'course',\n title,\n author,\n customer,\n certifiedAuthor,\n progress,\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n onClick,\n onFavoriteClick,\n isSelected,\n notification,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': cardArialabel,\n 'background-aria-label': backgroundAriaLabel,\n 'favorite-aria-label': favoriteAriaLabel,\n 'selectable-aria-label': selectableAriaLabel,\n 'customer-aria-label': customerAriaLabel,\n 'badge-aria-label': badgeAriaLabel,\n 'disabled-aria-label': disabledArialabel,\n 'card-content-aria-label': cardContentLabelAriaLabel\n } = props;\n const empty = isEmpty(pick(['title', 'type', 'author', 'image'], props));\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n const cardStyle = classnames(\n THEMES[theme],\n type === 'chapter' ? style.chapter : style.course,\n title ? null : style.lazy,\n style.grid,\n empty ? style.empty : null\n );\n const disabled = hidden && (!isSelected || isUndefined(isSelected));\n const handleClick = useMemo(() => e => !disabled && onClick(e), [disabled, onClick]);\n const lock = disabled ? (\n <LockIcon className={style.lockIcon} color={whiteColor} height={40} />\n ) : null;\n const inlineBadgeStyle = {color: primaryColor};\n const getType = contentType => {\n switch (contentType) {\n case 'chapter':\n return 'microlearning';\n case 'course':\n return 'learner';\n default:\n return contentType;\n }\n };\n\n return (\n <div\n className={cardStyle}\n data-name=\"card\"\n data-lock={disabled}\n data-type={getType(type)}\n disabled={disabled}\n onClick={handleClick}\n aria-label={cardArialabel}\n >\n <CardBackground type={type} image={image} empty={empty} aria-label={backgroundAriaLabel} />\n {isUndefined(isSelected) && !isUndefined(favorite) ? (\n <Favorite\n className={style.favorite}\n favorite={favorite}\n disabled={disabled}\n onFavoriteClick={onFavoriteClick}\n addFavoriteToolTip={addFavoriteToolTip}\n removeFavoriteToolTip={removeFavoriteToolTip}\n aria-label={favoriteAriaLabel}\n />\n ) : null}\n <Selectable isSelected={isSelected} hidden={hidden} aria-label={selectableAriaLabel} />\n {notification ? <Notification {...notification} /> : null}\n {customer ? (\n <Customer\n {...customer}\n theme={theme}\n type={type}\n disabled={disabled}\n aria-label={customerAriaLabel}\n />\n ) : null}\n <CardContentInfo\n mode={MODES.CARD}\n adaptiv={adaptiv}\n author={author}\n certifiedAuthor={certifiedAuthor}\n disabled={disabled}\n empty={empty}\n progress={progress}\n title={title}\n type={type}\n badgeCategory={badgeCategory}\n badgeLabel={badgeLabel}\n theme={theme}\n aria-label={cardContentLabelAriaLabel}\n />\n {badge ? (\n <div className={style.badge} style={inlineBadgeStyle} aria-label={badgeAriaLabel}>\n {badge}\n </div>\n ) : null}\n {disabled ? (\n <div className={style.lockWrapper} aria-label={disabledArialabel}>\n {lock}\n </div>\n ) : null}\n </div>\n );\n});\n\nCard.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCard.propTypes = {\n badge: PropTypes.string,\n image: PropTypes.string,\n disabled: PropTypes.bool,\n adaptiv: PropTypes.bool,\n type: PropTypes.string,\n title: PropTypes.string,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n customer: PropTypes.shape(Customer.propTypes),\n progress: PropTypes.number,\n favorite: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onClick: PropTypes.func,\n onFavoriteClick: PropTypes.func,\n isSelected: PropTypes.bool,\n notification: PropTypes.shape(Notification.propTypes),\n badgeCategory: CardContentInfo.propTypes.badgeCategory,\n badgeLabel: CardContentInfo.propTypes.badgeLabel,\n theme: PropTypes.oneOf(keys(THEMES)),\n 'aria-label': PropTypes.string,\n 'background-aria-label': PropTypes.string,\n 'favorite-aria-label': Favorite.propTypes['aria-label'],\n 'selectable-aria-label': Selectable.propTypes['aria-label'],\n 'customer-aria-label': Customer.propTypes['aria-label'],\n 'badge-aria-label': PropTypes.string,\n 'disabled-aria-label': PropTypes.string,\n 'card-content-aria-label': CardContentInfo.propTypes['aria-label']\n};\nexport default Card;\n"],"file":"index.js"}
@@ -1,6 +1,7 @@
1
1
  @value colors: "../../variables/colors.css";
2
2
  @value positive from colors;
3
3
  @value cm_grey_400 from colors;
4
+ @value cm_negative_200 from colors;
4
5
 
5
6
  .selectable {
6
7
  width: 100%;
@@ -34,6 +35,15 @@
34
35
  display: none;
35
36
  }
36
37
 
38
+ .eyeIcons {
39
+ color: white;
40
+ width: 30px;
41
+ height: 30px;
42
+ padding: 4px 4px;
43
+ border-radius: 50%;
44
+ display: none;
45
+ }
46
+
37
47
  .checkIcon {
38
48
  color: positive;
39
49
  composes: icons;
@@ -44,14 +54,43 @@
44
54
  composes: icons;
45
55
  }
46
56
 
57
+ .showIcon {
58
+ background: cm_grey_400;
59
+ composes: eyeIcons;
60
+ }
61
+
62
+ .hideIcon {
63
+ background: cm_negative_200;
64
+ composes: eyeIcons;
65
+ }
66
+
67
+
68
+ .selectable.selected.hidden .showIcon,
69
+ .selectable.selected.hidden .addIcon,
70
+ .selectable.hidden .addIcon,
71
+ .selectable.hidden .checkIcon,
72
+ .selectable.hidden:hover .checkIcon {
73
+ display: none;
74
+ }
75
+ .hidden.selectable .hideIcon {
76
+ display: block;
77
+ }
78
+ .hidden.selectable:hover .hideIcon {
79
+ display: none;
80
+ }
81
+ .hidden.selectable:hover .showIcon {
82
+ display: block;
83
+ }
84
+
85
+
47
86
  .selectable:hover .addIcon,
48
87
  .selectable:hover .circle {
49
88
  display: block;
50
89
  }
51
90
 
52
- .selectable.selected .checkIcon,
91
+ .selectable.selected:not(.hidden) .checkIcon,
53
92
  .selectable.selected .circle,
54
- .selectable.selected:hover .checkIcon {
93
+ .selectable.selected:not(.hidden):hover .checkIcon {
55
94
  display: block;
56
95
  }
57
96
 
@@ -62,3 +101,11 @@
62
101
  .selectable.selected:hover .addIcon {
63
102
  display: none;
64
103
  }
104
+
105
+ .selectable.selected.hidden:hover .circle {
106
+ display: block;
107
+ }
108
+
109
+ .selectable.selected.hidden:hover .addIcon {
110
+ display: none;
111
+ }
@@ -2,17 +2,18 @@ import _isUndefined from "lodash/fp/isUndefined";
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classnames from 'classnames';
5
- import { NovaSolidStatusCheckCircle2 as CheckIcon, NovaSolidRemoveAddAddCircle1 as AddIcon } from '@coorpacademy/nova-icons';
5
+ import { NovaSolidStatusCheckCircle2 as CheckIcon, NovaSolidRemoveAddAddCircle1 as AddIcon, NovaLineContentEditionHide as HideIcon, NovaCompositionCoorpacademyEye as ShowIcon } from '@coorpacademy/nova-icons';
6
6
  import style from './selectable.css';
7
7
 
8
8
  const Selectable = props => {
9
9
  const {
10
10
  isSelected,
11
+ hidden = false,
11
12
  'aria-label': ariaLabel = {}
12
13
  } = props;
13
14
  if (_isUndefined(isSelected)) return null;
14
15
  return /*#__PURE__*/React.createElement("div", {
15
- className: classnames(style.selectable, isSelected && style.selected)
16
+ className: classnames(style.selectable, isSelected && style.selected, hidden && style.hidden)
16
17
  }, /*#__PURE__*/React.createElement("div", {
17
18
  className: style.circle
18
19
  }), /*#__PURE__*/React.createElement("div", {
@@ -23,11 +24,18 @@ const Selectable = props => {
23
24
  }), /*#__PURE__*/React.createElement(CheckIcon, {
24
25
  className: style.checkIcon,
25
26
  "aria-label": ariaLabel.unSelect
27
+ }), /*#__PURE__*/React.createElement(HideIcon, {
28
+ className: style.hideIcon,
29
+ "aria-label": ariaLabel.hide
30
+ }), /*#__PURE__*/React.createElement(ShowIcon, {
31
+ className: style.showIcon,
32
+ "aria-label": ariaLabel.show
26
33
  })));
27
34
  };
28
35
 
29
36
  Selectable.propTypes = process.env.NODE_ENV !== "production" ? {
30
37
  isSelected: PropTypes.bool,
38
+ hidden: PropTypes.bool,
31
39
  'aria-label': PropTypes.shape({
32
40
  select: PropTypes.string,
33
41
  unSelect: PropTypes.string
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/card/selectable.js"],"names":["React","PropTypes","classnames","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidRemoveAddAddCircle1","AddIcon","style","Selectable","props","isSelected","ariaLabel","selectable","selected","circle","iconWrapper","addIcon","select","checkIcon","unSelect","propTypes","bool","shape","string"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,2BAA2B,IAAIC,SADjC,EAEEC,4BAA4B,IAAIC,OAFlC,QAGO,0BAHP;AAIA,OAAOC,KAAP,MAAkB,kBAAlB;;AAEA,MAAMC,UAAU,GAAGC,KAAK,IAAI;AAC1B,QAAM;AAACC,IAAAA,UAAD;AAAa,kBAAcC,SAAS,GAAG;AAAvC,MAA6CF,KAAnD;AAEA,MAAI,aAAYC,UAAZ,CAAJ,EAA6B,OAAO,IAAP;AAE7B,sBACE;AAAK,IAAA,SAAS,EAAER,UAAU,CAACK,KAAK,CAACK,UAAP,EAAmBF,UAAU,IAAIH,KAAK,CAACM,QAAvC;AAA1B,kBACE;AAAK,IAAA,SAAS,EAAEN,KAAK,CAACO;AAAtB,IADF,eAEE;AAAK,IAAA,SAAS,EAAEP,KAAK,CAACQ;AAAtB,kBACE,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAER,KAAK,CAACS,OAA1B;AAAmC,kBAAYL,SAAS,CAACM;AAAzD,IADF,eAEE,oBAAC,SAAD;AAAW,IAAA,SAAS,EAAEV,KAAK,CAACW,SAA5B;AAAuC,kBAAYP,SAAS,CAACQ;AAA7D,IAFF,CAFF,CADF;AASD,CAdD;;AAgBAX,UAAU,CAACY,SAAX,2CAAuB;AACrBV,EAAAA,UAAU,EAAET,SAAS,CAACoB,IADD;AAErB,gBAAcpB,SAAS,CAACqB,KAAV,CAAgB;AAC5BL,IAAAA,MAAM,EAAEhB,SAAS,CAACsB,MADU;AAE5BJ,IAAAA,QAAQ,EAAElB,SAAS,CAACsB;AAFQ,GAAhB;AAFO,CAAvB;AAQA,eAAef,UAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {isUndefined} from 'lodash/fp';\nimport {\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaSolidRemoveAddAddCircle1 as AddIcon\n} from '@coorpacademy/nova-icons';\nimport style from './selectable.css';\n\nconst Selectable = props => {\n const {isSelected, 'aria-label': ariaLabel = {}} = props;\n\n if (isUndefined(isSelected)) return null;\n\n return (\n <div className={classnames(style.selectable, isSelected && style.selected)}>\n <div className={style.circle} />\n <div className={style.iconWrapper}>\n <AddIcon className={style.addIcon} aria-label={ariaLabel.select} />\n <CheckIcon className={style.checkIcon} aria-label={ariaLabel.unSelect} />\n </div>\n </div>\n );\n};\n\nSelectable.propTypes = {\n isSelected: PropTypes.bool,\n 'aria-label': PropTypes.shape({\n select: PropTypes.string,\n unSelect: PropTypes.string\n })\n};\n\nexport default Selectable;\n"],"file":"selectable.js"}
1
+ {"version":3,"sources":["../../../src/molecule/card/selectable.js"],"names":["React","PropTypes","classnames","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidRemoveAddAddCircle1","AddIcon","NovaLineContentEditionHide","HideIcon","NovaCompositionCoorpacademyEye","ShowIcon","style","Selectable","props","isSelected","hidden","ariaLabel","selectable","selected","circle","iconWrapper","addIcon","select","checkIcon","unSelect","hideIcon","hide","showIcon","show","propTypes","bool","shape","string"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,2BAA2B,IAAIC,SADjC,EAEEC,4BAA4B,IAAIC,OAFlC,EAGEC,0BAA0B,IAAIC,QAHhC,EAIEC,8BAA8B,IAAIC,QAJpC,QAKO,0BALP;AAMA,OAAOC,KAAP,MAAkB,kBAAlB;;AAEA,MAAMC,UAAU,GAAGC,KAAK,IAAI;AAC1B,QAAM;AAACC,IAAAA,UAAD;AAAaC,IAAAA,MAAM,GAAG,KAAtB;AAA6B,kBAAcC,SAAS,GAAG;AAAvD,MAA6DH,KAAnE;AAEA,MAAI,aAAYC,UAAZ,CAAJ,EAA6B,OAAO,IAAP;AAE7B,sBACE;AACE,IAAA,SAAS,EAAEZ,UAAU,CAACS,KAAK,CAACM,UAAP,EAAmBH,UAAU,IAAIH,KAAK,CAACO,QAAvC,EAAiDH,MAAM,IAAIJ,KAAK,CAACI,MAAjE;AADvB,kBAGE;AAAK,IAAA,SAAS,EAAEJ,KAAK,CAACQ;AAAtB,IAHF,eAIE;AAAK,IAAA,SAAS,EAAER,KAAK,CAACS;AAAtB,kBACE,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAET,KAAK,CAACU,OAA1B;AAAmC,kBAAYL,SAAS,CAACM;AAAzD,IADF,eAEE,oBAAC,SAAD;AAAW,IAAA,SAAS,EAAEX,KAAK,CAACY,SAA5B;AAAuC,kBAAYP,SAAS,CAACQ;AAA7D,IAFF,eAGE,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAEb,KAAK,CAACc,QAA3B;AAAqC,kBAAYT,SAAS,CAACU;AAA3D,IAHF,eAIE,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAEf,KAAK,CAACgB,QAA3B;AAAqC,kBAAYX,SAAS,CAACY;AAA3D,IAJF,CAJF,CADF;AAaD,CAlBD;;AAoBAhB,UAAU,CAACiB,SAAX,2CAAuB;AACrBf,EAAAA,UAAU,EAAEb,SAAS,CAAC6B,IADD;AAErBf,EAAAA,MAAM,EAAEd,SAAS,CAAC6B,IAFG;AAGrB,gBAAc7B,SAAS,CAAC8B,KAAV,CAAgB;AAC5BT,IAAAA,MAAM,EAAErB,SAAS,CAAC+B,MADU;AAE5BR,IAAAA,QAAQ,EAAEvB,SAAS,CAAC+B;AAFQ,GAAhB;AAHO,CAAvB;AASA,eAAepB,UAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {isUndefined} from 'lodash/fp';\nimport {\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaSolidRemoveAddAddCircle1 as AddIcon,\n NovaLineContentEditionHide as HideIcon,\n NovaCompositionCoorpacademyEye as ShowIcon\n} from '@coorpacademy/nova-icons';\nimport style from './selectable.css';\n\nconst Selectable = props => {\n const {isSelected, hidden = false, 'aria-label': ariaLabel = {}} = props;\n\n if (isUndefined(isSelected)) return null;\n\n return (\n <div\n className={classnames(style.selectable, isSelected && style.selected, hidden && style.hidden)}\n >\n <div className={style.circle} />\n <div className={style.iconWrapper}>\n <AddIcon className={style.addIcon} aria-label={ariaLabel.select} />\n <CheckIcon className={style.checkIcon} aria-label={ariaLabel.unSelect} />\n <HideIcon className={style.hideIcon} aria-label={ariaLabel.hide} />\n <ShowIcon className={style.showIcon} aria-label={ariaLabel.show} />\n </div>\n </div>\n );\n};\n\nSelectable.propTypes = {\n isSelected: PropTypes.bool,\n hidden: PropTypes.bool,\n 'aria-label': PropTypes.shape({\n select: PropTypes.string,\n unSelect: PropTypes.string\n })\n};\n\nexport default Selectable;\n"],"file":"selectable.js"}
@@ -8,9 +8,11 @@ import style from './style.css';
8
8
  const CMPopin = props => {
9
9
  const {
10
10
  content,
11
+ mode = 'alert',
11
12
  firstButton,
12
13
  secondButton,
13
14
  onClose,
15
+ header,
14
16
  icon
15
17
  } = props;
16
18
  const logo = {
@@ -24,7 +26,10 @@ const CMPopin = props => {
24
26
  className: style.popin
25
27
  }, /*#__PURE__*/React.createElement("header", {
26
28
  className: style.popinHeader
27
- }, onClose ? /*#__PURE__*/React.createElement(ButtonLinkIconOnly, {
29
+ }, header ? /*#__PURE__*/React.createElement("img", {
30
+ className: style.headerBackground,
31
+ src: header
32
+ }) : null, onClose ? /*#__PURE__*/React.createElement(ButtonLinkIconOnly, {
28
33
  onClick: onClose,
29
34
  "data-name": 'close-icon',
30
35
  "aria-label": 'close-icon',
@@ -34,14 +39,14 @@ const CMPopin = props => {
34
39
  className: style.contentSection
35
40
  }, LogoComponent ? /*#__PURE__*/React.createElement(LogoComponent, {
36
41
  className: style.icon
37
- }) : null, /*#__PURE__*/React.createElement("p", {
38
- className: style.content,
42
+ }) : null, content ? /*#__PURE__*/React.createElement("p", {
43
+ className: mode === 'alert' ? style.content : style.message,
39
44
  "data-name": `cm-popin-content` // eslint-disable-next-line react/no-danger
40
45
  ,
41
46
  dangerouslySetInnerHTML: {
42
47
  __html: content
43
48
  }
44
- })), /*#__PURE__*/React.createElement("div", {
49
+ }) : null), /*#__PURE__*/React.createElement("div", {
45
50
  className: style.buttonContainer
46
51
  }, firstButton ? /*#__PURE__*/React.createElement("div", {
47
52
  className: style.button
@@ -59,11 +64,13 @@ const CMPopin = props => {
59
64
  "data-name": `cm-popin-cta-${secondButton.type}`,
60
65
  "aria-label": firstButton['aria-label'],
61
66
  type: secondButton.type
62
- })) : null)), ")");
67
+ })) : null)));
63
68
  };
64
69
 
65
70
  CMPopin.propTypes = process.env.NODE_ENV !== "production" ? {
66
71
  content: PropTypes.string,
72
+ mode: PropTypes.oneOf(['alert', 'information']),
73
+ header: PropTypes.string,
67
74
  firstButton: PropTypes.shape({
68
75
  label: PropTypes.string,
69
76
  handleOnclick: PropTypes.func,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/cm-popin/index.js"],"names":["React","PropTypes","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","AlertDiamond","NovaSolidApplicationsWindowUpload3","WindowUpload","Cta","ButtonLinkIconOnly","style","CMPopin","props","content","firstButton","secondButton","onClose","icon","logo","LogoComponent","background","popin","popinHeader","contentSection","__html","buttonContainer","button","label","handleOnclick","type","propTypes","string","shape","func","oneOf"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SACEC,+CAA+C,IAAIC,YADrD,EAEEC,kCAAkC,IAAIC,YAFxC,QAGO,0BAHP;AAIA,OAAOC,GAAP,MAAgB,wBAAhB;AACA,OAAOC,kBAAP,MAA+B,kCAA/B;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,OAAO,GAAGC,KAAK,IAAI;AACvB,QAAM;AAACC,IAAAA,OAAD;AAAUC,IAAAA,WAAV;AAAuBC,IAAAA,YAAvB;AAAqCC,IAAAA,OAArC;AAA8CC,IAAAA;AAA9C,MAAsDL,KAA5D;AAEA,QAAMM,IAAI,GAAG;AACXb,IAAAA,YADW;AAEXE,IAAAA;AAFW,GAAb;AAIA,QAAMY,aAAa,GAAGD,IAAI,CAACD,IAAD,CAA1B;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEP,KAAK,CAACU;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEV,KAAK,CAACW;AAAtB,kBACE;AAAQ,IAAA,SAAS,EAAEX,KAAK,CAACY;AAAzB,KACGN,OAAO,gBACN,oBAAC,kBAAD;AACE,IAAA,OAAO,EAAEA,OADX;AAEE,iBAAW,YAFb;AAGE,kBAAY,YAHd;AAIE,IAAA,IAAI,EAAC,OAJP;AAKE,IAAA,IAAI,EAAC;AALP,IADM,GAQJ,IATN,CADF,eAYE;AAAK,IAAA,SAAS,EAAEN,KAAK,CAACa;AAAtB,KACGJ,aAAa,gBAAG,oBAAC,aAAD;AAAe,IAAA,SAAS,EAAET,KAAK,CAACO;AAAhC,IAAH,GAA8C,IAD9D,eAEE;AACE,IAAA,SAAS,EAAEP,KAAK,CAACG,OADnB;AAEE,iBAAY,kBAFd,CAGE;AAHF;AAIE,IAAA,uBAAuB,EAAE;AAACW,MAAAA,MAAM,EAAEX;AAAT;AAJ3B,IAFF,CAZF,eAsBE;AAAK,IAAA,SAAS,EAAEH,KAAK,CAACe;AAAtB,KACGX,WAAW,gBACV;AAAK,IAAA,SAAS,EAAEJ,KAAK,CAACgB;AAAtB,kBACE,oBAAC,GAAD;AACE,IAAA,KAAK,EAAEZ,WAAW,CAACa,KADrB;AAEE,IAAA,OAAO,EAAEb,WAAW,CAACc,aAFvB;AAGE,iBAAY,cAHd;AAIE,kBAAYd,WAAW,CAAC,YAAD,CAJzB;AAKE,IAAA,IAAI,EAAEA,WAAW,CAACe;AALpB,IADF,CADU,GAUR,IAXN,EAYGd,YAAY,gBACX;AAAK,IAAA,SAAS,EAAEL,KAAK,CAACgB;AAAtB,kBACE,oBAAC,GAAD;AACE,IAAA,KAAK,EAAEX,YAAY,CAACY,KADtB;AAEE,IAAA,OAAO,EAAEZ,YAAY,CAACa,aAFxB;AAGE,iBAAY,gBAAeb,YAAY,CAACc,IAAK,EAH/C;AAIE,kBAAYf,WAAW,CAAC,YAAD,CAJzB;AAKE,IAAA,IAAI,EAAEC,YAAY,CAACc;AALrB,IADF,CADW,GAUT,IAtBN,CAtBF,CADF,MADF;AAoDD,CA7DD;;AA+DAlB,OAAO,CAACmB,SAAR,2CAAoB;AAClBjB,EAAAA,OAAO,EAAEV,SAAS,CAAC4B,MADD;AAElBjB,EAAAA,WAAW,EAAEX,SAAS,CAAC6B,KAAV,CAAgB;AAC3BL,IAAAA,KAAK,EAAExB,SAAS,CAAC4B,MADU;AAE3BH,IAAAA,aAAa,EAAEzB,SAAS,CAAC8B,IAFE;AAG3B,kBAAc9B,SAAS,CAAC4B,MAHG;AAI3BF,IAAAA,IAAI,EAAE1B,SAAS,CAAC4B;AAJW,GAAhB,CAFK;AAQlBhB,EAAAA,YAAY,EAAEZ,SAAS,CAAC6B,KAAV,CAAgB;AAC5BL,IAAAA,KAAK,EAAExB,SAAS,CAAC4B,MADW;AAE5BH,IAAAA,aAAa,EAAEzB,SAAS,CAAC8B,IAFG;AAG5BJ,IAAAA,IAAI,EAAE1B,SAAS,CAAC+B,KAAV,CAAgB,CAAC,WAAD,EAAc,SAAd,CAAhB,CAHsB;AAI5B,kBAAc/B,SAAS,CAAC4B;AAJI,GAAhB,CARI;AAclBf,EAAAA,OAAO,EAAEb,SAAS,CAAC8B,IAdD;AAelBhB,EAAAA,IAAI,EAAEd,SAAS,CAAC4B;AAfE,CAApB;AAkBA,eAAepB,OAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload\n} from '@coorpacademy/nova-icons';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport style from './style.css';\n\nconst CMPopin = props => {\n const {content, firstButton, secondButton, onClose, icon} = props;\n\n const logo = {\n AlertDiamond,\n WindowUpload\n };\n const LogoComponent = logo[icon];\n\n return (\n <div className={style.background}>\n <div className={style.popin}>\n <header className={style.popinHeader}>\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n <p\n className={style.content}\n data-name={`cm-popin-content`}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n </div>\n\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={`cm-popin-cta`}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={firstButton['aria-label']}\n type={secondButton.type}\n />\n </div>\n ) : null}\n </div>\n </div>\n )\n </div>\n );\n};\n\nCMPopin.propTypes = {\n content: PropTypes.string,\n firstButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n 'aria-label': PropTypes.string,\n type: PropTypes.string\n }),\n secondButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary']),\n 'aria-label': PropTypes.string\n }),\n onClose: PropTypes.func,\n icon: PropTypes.string\n};\n\nexport default CMPopin;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/cm-popin/index.js"],"names":["React","PropTypes","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","AlertDiamond","NovaSolidApplicationsWindowUpload3","WindowUpload","Cta","ButtonLinkIconOnly","style","CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","logo","LogoComponent","background","popin","popinHeader","headerBackground","contentSection","message","__html","buttonContainer","button","label","handleOnclick","type","propTypes","string","oneOf","shape","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload\n} from '@coorpacademy/nova-icons';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport style from './style.css';\n\nconst CMPopin = props => {\n const {content, mode = 'alert', firstButton, secondButton, onClose, header, icon} = props;\n\n const logo = {\n AlertDiamond,\n WindowUpload\n };\n const LogoComponent = logo[icon];\n\n return (\n <div className={style.background}>\n <div className={style.popin}>\n <header className={style.popinHeader}>\n {header ? <img className={style.headerBackground} src={header} /> : null}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={`cm-popin-content`}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={`cm-popin-cta`}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={firstButton['aria-label']}\n type={secondButton.type}\n />\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = {\n content: PropTypes.string,\n mode: PropTypes.oneOf(['alert', 'information']),\n header: PropTypes.string,\n firstButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n 'aria-label': PropTypes.string,\n type: PropTypes.string\n }),\n secondButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary']),\n 'aria-label': PropTypes.string\n }),\n onClose: PropTypes.func,\n icon: PropTypes.string\n};\n\nexport default CMPopin;\n"],"file":"index.js"}
@@ -6,6 +6,7 @@
6
6
  @value cm_grey_800 from colors;
7
7
  @value negative from colors;
8
8
  @value lightGreen from colors;
9
+ @value xtraLightGrey from colors;
9
10
  @value cm_grey_50 from colors;
10
11
  @value cm_negative_100 from colors;
11
12
  @value cm_negative_200 from colors;
@@ -29,6 +30,12 @@
29
30
  position:fixed;
30
31
  }
31
32
 
33
+ .headerBackground {
34
+ width: calc(100% + 32px);
35
+ height: auto;
36
+ margin: -16px -16px 0px -16px;
37
+ }
38
+
32
39
  .popin {
33
40
  position: absolute;
34
41
  overflow: auto;
@@ -46,6 +53,23 @@
46
53
  animation: popup 0.7s;
47
54
  }
48
55
 
56
+ .message {
57
+ display: flex;
58
+ flex-direction: column;
59
+ justify-content: center;
60
+ align-items: center;
61
+ padding: 40px 40px 0px;
62
+ position: absolute;
63
+ background: xtraLightGrey;
64
+ font-family: 'Gilroy';
65
+ font-weight: 500;
66
+ font-size: 14px;
67
+ line-height: 20px;
68
+ margin: 0;
69
+ }
70
+ .message p {
71
+ margin: 10px 0px;
72
+ }
49
73
  @keyframes popup {
50
74
  0%{
51
75
  transform: scale(0);
@@ -98,4 +122,8 @@
98
122
  width: 100%;
99
123
  display: flex;
100
124
  justify-content: flex-end;
125
+ }
126
+
127
+ .popinHeader button {
128
+ position: absolute;
101
129
  }