@coorpacademy/components 11.10.0 → 11.10.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 (269) hide show
  1. package/es/atom/avatar/index.js +0 -1
  2. package/es/atom/avatar/index.js.map +1 -1
  3. package/es/atom/avatar/style.css +1 -0
  4. package/es/atom/card-image-preview/index.d.ts.map +1 -1
  5. package/es/atom/card-image-preview/index.js +3 -1
  6. package/es/atom/card-image-preview/index.js.map +1 -1
  7. package/es/atom/difficulty-level/index.js +4 -8
  8. package/es/atom/difficulty-level/index.js.map +1 -1
  9. package/es/atom/difficulty-level/style.css +1 -0
  10. package/es/atom/input-html/index.js +6 -2
  11. package/es/atom/input-html/index.js.map +1 -1
  12. package/es/atom/life/index.js +9 -3
  13. package/es/atom/life/index.js.map +1 -1
  14. package/es/atom/resource-miniature/index.js +3 -1
  15. package/es/atom/resource-miniature/index.js.map +1 -1
  16. package/es/molecule/answer/style.css +6 -5
  17. package/es/molecule/audio/index.js +3 -1
  18. package/es/molecule/audio/index.js.map +1 -1
  19. package/es/molecule/battle-request/index.js +3 -1
  20. package/es/molecule/battle-request/index.js.map +1 -1
  21. package/es/molecule/brand-download-box/index.js +3 -1
  22. package/es/molecule/brand-download-box/index.js.map +1 -1
  23. package/es/molecule/brand-upload-box/index.js +3 -1
  24. package/es/molecule/brand-upload-box/index.js.map +1 -1
  25. package/es/molecule/card/favorite.js +6 -2
  26. package/es/molecule/card/favorite.js.map +1 -1
  27. package/es/molecule/card/index.d.ts.map +1 -1
  28. package/es/molecule/card/index.js +6 -2
  29. package/es/molecule/card/index.js.map +1 -1
  30. package/es/molecule/card/notification.js +3 -1
  31. package/es/molecule/card/notification.js.map +1 -1
  32. package/es/molecule/card-content/index.d.ts.map +1 -1
  33. package/es/molecule/card-content/index.js +1 -2
  34. package/es/molecule/card-content/index.js.map +1 -1
  35. package/es/molecule/card-content/style.css +1 -0
  36. package/es/molecule/dashboard/cards-list/index.js +9 -3
  37. package/es/molecule/dashboard/cards-list/index.js.map +1 -1
  38. package/es/molecule/discipline-partners/index.js +3 -1
  39. package/es/molecule/discipline-partners/index.js.map +1 -1
  40. package/es/molecule/drag-and-drop/overlay.js +3 -1
  41. package/es/molecule/drag-and-drop/overlay.js.map +1 -1
  42. package/es/molecule/drag-and-drop/upload-report.js +3 -1
  43. package/es/molecule/drag-and-drop/upload-report.js.map +1 -1
  44. package/es/molecule/filters/index.js +6 -2
  45. package/es/molecule/filters/index.js.map +1 -1
  46. package/es/molecule/pdf/index.js +3 -1
  47. package/es/molecule/pdf/index.js.map +1 -1
  48. package/es/molecule/questions/qcm-drag/index.d.ts.map +1 -1
  49. package/es/molecule/questions/qcm-drag/index.js +13 -7
  50. package/es/molecule/questions/qcm-drag/index.js.map +1 -1
  51. package/es/molecule/questions/qcm-drag/style.css +3 -0
  52. package/es/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
  53. package/es/molecule/questions/qcm-graphic/index.js +12 -5
  54. package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
  55. package/es/molecule/questions/qcm-graphic/style.css +3 -0
  56. package/es/molecule/questions/types.d.ts +25 -0
  57. package/es/molecule/questions/types.d.ts.map +1 -1
  58. package/es/molecule/questions/types.js.map +1 -1
  59. package/es/molecule/resource-player/index.js +3 -1
  60. package/es/molecule/resource-player/index.js.map +1 -1
  61. package/es/molecule/search-form/index.js +3 -1
  62. package/es/molecule/search-form/index.js.map +1 -1
  63. package/es/molecule/select-multiple/index.js +6 -2
  64. package/es/molecule/select-multiple/index.js.map +1 -1
  65. package/es/molecule/setup-section/index.js +3 -1
  66. package/es/molecule/setup-section/index.js.map +1 -1
  67. package/es/molecule/table/index.js +6 -2
  68. package/es/molecule/table/index.js.map +1 -1
  69. package/es/molecule/titled-checkbox/index.js +1 -2
  70. package/es/molecule/titled-checkbox/index.js.map +1 -1
  71. package/es/molecule/titled-checkbox/style.css +1 -0
  72. package/es/molecule/uploading-file-progress/index.d.ts +35 -0
  73. package/es/molecule/uploading-file-progress/index.d.ts.map +1 -0
  74. package/es/molecule/uploading-file-progress/index.js +39 -0
  75. package/es/molecule/uploading-file-progress/index.js.map +1 -0
  76. package/es/molecule/uploading-file-progress/style.css +74 -0
  77. package/es/molecule/uploading-file-progress/types.d.ts +31 -0
  78. package/es/molecule/uploading-file-progress/types.d.ts.map +1 -0
  79. package/es/molecule/uploading-file-progress/types.js +31 -0
  80. package/es/molecule/uploading-file-progress/types.js.map +1 -0
  81. package/es/molecule/video-player-mobile/index.native.d.ts +8 -0
  82. package/es/molecule/video-player-mobile/index.native.d.ts.map +1 -0
  83. package/es/molecule/video-player-mobile/index.native.js +45 -0
  84. package/es/molecule/video-player-mobile/index.native.js.map +1 -0
  85. package/es/organism/accordion/coorp-manager/part/index.d.ts.map +1 -1
  86. package/es/organism/accordion/coorp-manager/part/index.js +13 -6
  87. package/es/organism/accordion/coorp-manager/part/index.js.map +1 -1
  88. package/es/organism/accordion/coorp-manager/part/style.css +1 -0
  89. package/es/organism/accordion/part/index.js +7 -4
  90. package/es/organism/accordion/part/index.js.map +1 -1
  91. package/es/organism/accordion/part/style.css +1 -0
  92. package/es/organism/brand-form/index.js +3 -1
  93. package/es/organism/brand-form/index.js.map +1 -1
  94. package/es/organism/get-the-app/index.js +3 -1
  95. package/es/organism/get-the-app/index.js.map +1 -1
  96. package/es/organism/mooc-header/index.d.ts +6 -0
  97. package/es/organism/mooc-header/index.d.ts.map +1 -1
  98. package/es/organism/mooc-header/index.js +91 -15
  99. package/es/organism/mooc-header/index.js.map +1 -1
  100. package/es/organism/mooc-header/style.css +46 -0
  101. package/es/organism/review-slide/index.native.d.ts.map +1 -1
  102. package/es/organism/review-slide/index.native.js +48 -2
  103. package/es/organism/review-slide/index.native.js.map +1 -1
  104. package/es/organism/slider/index.js +6 -2
  105. package/es/organism/slider/index.js.map +1 -1
  106. package/es/template/activity/progression-item.js +12 -4
  107. package/es/template/activity/progression-item.js.map +1 -1
  108. package/es/template/activity/stars-summary.js +9 -3
  109. package/es/template/activity/stars-summary.js.map +1 -1
  110. package/es/template/app-player/player/slides/footer/index.d.ts.map +1 -1
  111. package/es/template/app-player/player/slides/footer/index.js +0 -1
  112. package/es/template/app-player/player/slides/footer/index.js.map +1 -1
  113. package/es/template/app-player/player/slides/header/learner.css +1 -0
  114. package/es/template/app-player/player/slides/header/learner.js +1 -2
  115. package/es/template/app-player/player/slides/header/learner.js.map +1 -1
  116. package/es/template/app-player/player/slides/header/microlearning.css +1 -0
  117. package/es/template/app-player/player/slides/header/microlearning.js +1 -2
  118. package/es/template/app-player/player/slides/header/microlearning.js.map +1 -1
  119. package/es/template/app-player/popin-correction/index.js +4 -3
  120. package/es/template/app-player/popin-correction/index.js.map +1 -1
  121. package/es/template/app-player/popin-correction/style.css +1 -0
  122. package/es/template/app-player/popin-end/summary.js +3 -1
  123. package/es/template/app-player/popin-end/summary.js.map +1 -1
  124. package/es/template/app-player/popin-header/index.js +6 -3
  125. package/es/template/app-player/popin-header/index.js.map +1 -1
  126. package/es/template/app-player/popin-header/style.css +1 -0
  127. package/es/template/back-office/brand-update/index.d.ts +29 -0
  128. package/es/template/back-office/brand-update/index.d.ts.map +1 -1
  129. package/es/template/back-office/brand-update/index.js +7 -0
  130. package/es/template/back-office/brand-update/index.js.map +1 -1
  131. package/es/template/teams-dashboard/index.d.ts +2 -0
  132. package/lib/atom/avatar/index.js +0 -1
  133. package/lib/atom/avatar/index.js.map +1 -1
  134. package/lib/atom/avatar/style.css +1 -0
  135. package/lib/atom/card-image-preview/index.d.ts.map +1 -1
  136. package/lib/atom/card-image-preview/index.js +3 -1
  137. package/lib/atom/card-image-preview/index.js.map +1 -1
  138. package/lib/atom/difficulty-level/index.js +4 -8
  139. package/lib/atom/difficulty-level/index.js.map +1 -1
  140. package/lib/atom/difficulty-level/style.css +1 -0
  141. package/lib/atom/input-html/index.js +6 -2
  142. package/lib/atom/input-html/index.js.map +1 -1
  143. package/lib/atom/life/index.js +9 -3
  144. package/lib/atom/life/index.js.map +1 -1
  145. package/lib/atom/resource-miniature/index.js +3 -1
  146. package/lib/atom/resource-miniature/index.js.map +1 -1
  147. package/lib/molecule/answer/style.css +6 -5
  148. package/lib/molecule/audio/index.js +3 -1
  149. package/lib/molecule/audio/index.js.map +1 -1
  150. package/lib/molecule/battle-request/index.js +3 -1
  151. package/lib/molecule/battle-request/index.js.map +1 -1
  152. package/lib/molecule/brand-download-box/index.js +3 -1
  153. package/lib/molecule/brand-download-box/index.js.map +1 -1
  154. package/lib/molecule/brand-upload-box/index.js +3 -1
  155. package/lib/molecule/brand-upload-box/index.js.map +1 -1
  156. package/lib/molecule/card/favorite.js +6 -2
  157. package/lib/molecule/card/favorite.js.map +1 -1
  158. package/lib/molecule/card/index.d.ts.map +1 -1
  159. package/lib/molecule/card/index.js +6 -2
  160. package/lib/molecule/card/index.js.map +1 -1
  161. package/lib/molecule/card/notification.js +3 -1
  162. package/lib/molecule/card/notification.js.map +1 -1
  163. package/lib/molecule/card-content/index.d.ts.map +1 -1
  164. package/lib/molecule/card-content/index.js +1 -2
  165. package/lib/molecule/card-content/index.js.map +1 -1
  166. package/lib/molecule/card-content/style.css +1 -0
  167. package/lib/molecule/dashboard/cards-list/index.js +9 -3
  168. package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
  169. package/lib/molecule/discipline-partners/index.js +3 -1
  170. package/lib/molecule/discipline-partners/index.js.map +1 -1
  171. package/lib/molecule/drag-and-drop/overlay.js +3 -1
  172. package/lib/molecule/drag-and-drop/overlay.js.map +1 -1
  173. package/lib/molecule/drag-and-drop/upload-report.js +3 -1
  174. package/lib/molecule/drag-and-drop/upload-report.js.map +1 -1
  175. package/lib/molecule/filters/index.js +6 -2
  176. package/lib/molecule/filters/index.js.map +1 -1
  177. package/lib/molecule/pdf/index.js +3 -1
  178. package/lib/molecule/pdf/index.js.map +1 -1
  179. package/lib/molecule/questions/qcm-drag/index.d.ts.map +1 -1
  180. package/lib/molecule/questions/qcm-drag/index.js +13 -7
  181. package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
  182. package/lib/molecule/questions/qcm-drag/style.css +3 -0
  183. package/lib/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
  184. package/lib/molecule/questions/qcm-graphic/index.js +12 -5
  185. package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
  186. package/lib/molecule/questions/qcm-graphic/style.css +3 -0
  187. package/lib/molecule/questions/types.d.ts +25 -0
  188. package/lib/molecule/questions/types.d.ts.map +1 -1
  189. package/lib/molecule/questions/types.js.map +1 -1
  190. package/lib/molecule/resource-player/index.js +3 -1
  191. package/lib/molecule/resource-player/index.js.map +1 -1
  192. package/lib/molecule/search-form/index.js +3 -1
  193. package/lib/molecule/search-form/index.js.map +1 -1
  194. package/lib/molecule/select-multiple/index.js +6 -2
  195. package/lib/molecule/select-multiple/index.js.map +1 -1
  196. package/lib/molecule/setup-section/index.js +3 -1
  197. package/lib/molecule/setup-section/index.js.map +1 -1
  198. package/lib/molecule/table/index.js +6 -2
  199. package/lib/molecule/table/index.js.map +1 -1
  200. package/lib/molecule/titled-checkbox/index.js +1 -2
  201. package/lib/molecule/titled-checkbox/index.js.map +1 -1
  202. package/lib/molecule/titled-checkbox/style.css +1 -0
  203. package/lib/molecule/uploading-file-progress/index.d.ts +35 -0
  204. package/lib/molecule/uploading-file-progress/index.d.ts.map +1 -0
  205. package/lib/molecule/uploading-file-progress/index.js +51 -0
  206. package/lib/molecule/uploading-file-progress/index.js.map +1 -0
  207. package/lib/molecule/uploading-file-progress/style.css +74 -0
  208. package/lib/molecule/uploading-file-progress/types.d.ts +31 -0
  209. package/lib/molecule/uploading-file-progress/types.d.ts.map +1 -0
  210. package/lib/molecule/uploading-file-progress/types.js +41 -0
  211. package/lib/molecule/uploading-file-progress/types.js.map +1 -0
  212. package/lib/molecule/video-player-mobile/index.native.d.ts +8 -0
  213. package/lib/molecule/video-player-mobile/index.native.d.ts.map +1 -0
  214. package/lib/molecule/video-player-mobile/index.native.js +56 -0
  215. package/lib/molecule/video-player-mobile/index.native.js.map +1 -0
  216. package/lib/organism/accordion/coorp-manager/part/index.d.ts.map +1 -1
  217. package/lib/organism/accordion/coorp-manager/part/index.js +13 -6
  218. package/lib/organism/accordion/coorp-manager/part/index.js.map +1 -1
  219. package/lib/organism/accordion/coorp-manager/part/style.css +1 -0
  220. package/lib/organism/accordion/part/index.js +7 -4
  221. package/lib/organism/accordion/part/index.js.map +1 -1
  222. package/lib/organism/accordion/part/style.css +1 -0
  223. package/lib/organism/brand-form/index.js +3 -1
  224. package/lib/organism/brand-form/index.js.map +1 -1
  225. package/lib/organism/get-the-app/index.js +3 -1
  226. package/lib/organism/get-the-app/index.js.map +1 -1
  227. package/lib/organism/mooc-header/index.d.ts +6 -0
  228. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  229. package/lib/organism/mooc-header/index.js +90 -14
  230. package/lib/organism/mooc-header/index.js.map +1 -1
  231. package/lib/organism/mooc-header/style.css +46 -0
  232. package/lib/organism/review-slide/index.native.d.ts.map +1 -1
  233. package/lib/organism/review-slide/index.native.js +49 -1
  234. package/lib/organism/review-slide/index.native.js.map +1 -1
  235. package/lib/organism/slider/index.js +6 -2
  236. package/lib/organism/slider/index.js.map +1 -1
  237. package/lib/template/activity/progression-item.js +12 -4
  238. package/lib/template/activity/progression-item.js.map +1 -1
  239. package/lib/template/activity/stars-summary.js +9 -3
  240. package/lib/template/activity/stars-summary.js.map +1 -1
  241. package/lib/template/app-player/player/slides/footer/index.d.ts.map +1 -1
  242. package/lib/template/app-player/player/slides/footer/index.js +0 -1
  243. package/lib/template/app-player/player/slides/footer/index.js.map +1 -1
  244. package/lib/template/app-player/player/slides/header/learner.css +1 -0
  245. package/lib/template/app-player/player/slides/header/learner.js +1 -2
  246. package/lib/template/app-player/player/slides/header/learner.js.map +1 -1
  247. package/lib/template/app-player/player/slides/header/microlearning.css +1 -0
  248. package/lib/template/app-player/player/slides/header/microlearning.js +1 -2
  249. package/lib/template/app-player/player/slides/header/microlearning.js.map +1 -1
  250. package/lib/template/app-player/popin-correction/index.js +4 -3
  251. package/lib/template/app-player/popin-correction/index.js.map +1 -1
  252. package/lib/template/app-player/popin-correction/style.css +1 -0
  253. package/lib/template/app-player/popin-end/summary.js +3 -1
  254. package/lib/template/app-player/popin-end/summary.js.map +1 -1
  255. package/lib/template/app-player/popin-header/index.js +6 -3
  256. package/lib/template/app-player/popin-header/index.js.map +1 -1
  257. package/lib/template/app-player/popin-header/style.css +1 -0
  258. package/lib/template/back-office/brand-update/index.d.ts +29 -0
  259. package/lib/template/back-office/brand-update/index.d.ts.map +1 -1
  260. package/lib/template/back-office/brand-update/index.js +8 -0
  261. package/lib/template/back-office/brand-update/index.js.map +1 -1
  262. package/lib/template/teams-dashboard/index.d.ts +2 -0
  263. package/locales/bs/global.json +1 -0
  264. package/locales/hy/global.json +1 -0
  265. package/locales/tr/global.json +1 -0
  266. package/locales/uk/global.json +1 -0
  267. package/locales/vi/global.json +1 -0
  268. package/package.json +4 -3
  269. package/locales/.mtslconfig.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"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"],"sources":["../../../src/molecule/card/index.js"],"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"],"mappings":"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"}
1
+ {"version":3,"file":"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"],"sources":["../../../src/molecule/card/index.js"],"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 ? (\n <PicturesIcon className={style.emptyIcon} style={{color: whiteColor}} />\n ) : 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} style={{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"],"mappings":"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"}
@@ -35,7 +35,9 @@ const Notification = props => {
35
35
  className: style.notification
36
36
  }, /*#__PURE__*/React.createElement(IconType, {
37
37
  className: style.icon,
38
- color: null,
38
+ style: {
39
+ color: null
40
+ },
39
41
  stroke: null
40
42
  }), /*#__PURE__*/React.createElement("div", {
41
43
  className: style.message
@@ -1 +1 @@
1
- {"version":3,"file":"notification.js","names":["React","PropTypes","classnames","NovaCompositionNavigationMore","MoreIcon","NovaSolidLoginLocked","LockIcon","NovaSolidLocksLockUnlock1","UnlockIcon","NovaCompositionCoorpacademyCheck","CheckIcon","style","NOTIFICATION_ICON","addFavorite","removeFavorite","lock","unlock","handleOverlayClick","e","stopPropagation","preventDefault","Notification","props","message","icon","IconType","showOverlay","notificationWrapper","notification","propTypes","string","isRequired","oneOf"],"sources":["../../../src/molecule/card/notification.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, keys} from 'lodash/fp';\nimport {\n NovaCompositionNavigationMore as MoreIcon,\n NovaSolidLoginLocked as LockIcon,\n NovaSolidLocksLockUnlock1 as UnlockIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon\n} from '@coorpacademy/nova-icons';\nimport style from './notification.css';\n\nconst NOTIFICATION_ICON = {\n addFavorite: CheckIcon,\n removeFavorite: MoreIcon,\n lock: LockIcon,\n unlock: UnlockIcon\n};\n\nconst handleOverlayClick = e => {\n e.stopPropagation();\n e.preventDefault();\n return false;\n};\n\nconst Notification = props => {\n const {message, icon} = props;\n\n const IconType = get(icon, NOTIFICATION_ICON);\n return (\n <div\n data-name=\"notification\"\n data-type={icon}\n onClick={handleOverlayClick}\n className={classnames(style.showOverlay, style.notificationWrapper)}\n >\n <div className={style.notification}>\n <IconType className={style.icon} color={null} stroke={null} />\n <div className={style.message}>\n <span role=\"status\">{message}</span>\n </div>\n </div>\n </div>\n );\n};\nNotification.propTypes = {\n message: PropTypes.string.isRequired,\n icon: PropTypes.oneOf(keys(NOTIFICATION_ICON)).isRequired\n};\n\nexport default Notification;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,6BAA6B,IAAIC,QADnC,EAEEC,oBAAoB,IAAIC,QAF1B,EAGEC,yBAAyB,IAAIC,UAH/B,EAIEC,gCAAgC,IAAIC,SAJtC,QAKO,0BALP;AAMA,OAAOC,KAAP,MAAkB,oBAAlB;AAEA,MAAMC,iBAAiB,GAAG;EACxBC,WAAW,EAAEH,SADW;EAExBI,cAAc,EAAEV,QAFQ;EAGxBW,IAAI,EAAET,QAHkB;EAIxBU,MAAM,EAAER;AAJgB,CAA1B;;AAOA,MAAMS,kBAAkB,GAAGC,CAAC,IAAI;EAC9BA,CAAC,CAACC,eAAF;EACAD,CAAC,CAACE,cAAF;EACA,OAAO,KAAP;AACD,CAJD;;AAMA,MAAMC,YAAY,GAAGC,KAAK,IAAI;EAC5B,MAAM;IAACC,OAAD;IAAUC;EAAV,IAAkBF,KAAxB;;EAEA,MAAMG,QAAQ,GAAG,KAAID,IAAJ,EAAUZ,iBAAV,CAAjB;;EACA,oBACE;IACE,aAAU,cADZ;IAEE,aAAWY,IAFb;IAGE,OAAO,EAAEP,kBAHX;IAIE,SAAS,EAAEf,UAAU,CAACS,KAAK,CAACe,WAAP,EAAoBf,KAAK,CAACgB,mBAA1B;EAJvB,gBAME;IAAK,SAAS,EAAEhB,KAAK,CAACiB;EAAtB,gBACE,oBAAC,QAAD;IAAU,SAAS,EAAEjB,KAAK,CAACa,IAA3B;IAAiC,KAAK,EAAE,IAAxC;IAA8C,MAAM,EAAE;EAAtD,EADF,eAEE;IAAK,SAAS,EAAEb,KAAK,CAACY;EAAtB,gBACE;IAAM,IAAI,EAAC;EAAX,GAAqBA,OAArB,CADF,CAFF,CANF,CADF;AAeD,CAnBD;;AAoBAF,YAAY,CAACQ,SAAb,2CAAyB;EACvBN,OAAO,EAAEtB,SAAS,CAAC6B,MAAV,CAAiBC,UADH;EAEvBP,IAAI,EAAEvB,SAAS,CAAC+B,KAAV,CAAgB,MAAKpB,iBAAL,CAAhB,EAAyCmB;AAFxB,CAAzB;AAKA,eAAeV,YAAf"}
1
+ {"version":3,"file":"notification.js","names":["React","PropTypes","classnames","NovaCompositionNavigationMore","MoreIcon","NovaSolidLoginLocked","LockIcon","NovaSolidLocksLockUnlock1","UnlockIcon","NovaCompositionCoorpacademyCheck","CheckIcon","style","NOTIFICATION_ICON","addFavorite","removeFavorite","lock","unlock","handleOverlayClick","e","stopPropagation","preventDefault","Notification","props","message","icon","IconType","showOverlay","notificationWrapper","notification","color","propTypes","string","isRequired","oneOf"],"sources":["../../../src/molecule/card/notification.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, keys} from 'lodash/fp';\nimport {\n NovaCompositionNavigationMore as MoreIcon,\n NovaSolidLoginLocked as LockIcon,\n NovaSolidLocksLockUnlock1 as UnlockIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon\n} from '@coorpacademy/nova-icons';\nimport style from './notification.css';\n\nconst NOTIFICATION_ICON = {\n addFavorite: CheckIcon,\n removeFavorite: MoreIcon,\n lock: LockIcon,\n unlock: UnlockIcon\n};\n\nconst handleOverlayClick = e => {\n e.stopPropagation();\n e.preventDefault();\n return false;\n};\n\nconst Notification = props => {\n const {message, icon} = props;\n\n const IconType = get(icon, NOTIFICATION_ICON);\n return (\n <div\n data-name=\"notification\"\n data-type={icon}\n onClick={handleOverlayClick}\n className={classnames(style.showOverlay, style.notificationWrapper)}\n >\n <div className={style.notification}>\n <IconType className={style.icon} style={{color: null}} stroke={null} />\n <div className={style.message}>\n <span role=\"status\">{message}</span>\n </div>\n </div>\n </div>\n );\n};\nNotification.propTypes = {\n message: PropTypes.string.isRequired,\n icon: PropTypes.oneOf(keys(NOTIFICATION_ICON)).isRequired\n};\n\nexport default Notification;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,6BAA6B,IAAIC,QADnC,EAEEC,oBAAoB,IAAIC,QAF1B,EAGEC,yBAAyB,IAAIC,UAH/B,EAIEC,gCAAgC,IAAIC,SAJtC,QAKO,0BALP;AAMA,OAAOC,KAAP,MAAkB,oBAAlB;AAEA,MAAMC,iBAAiB,GAAG;EACxBC,WAAW,EAAEH,SADW;EAExBI,cAAc,EAAEV,QAFQ;EAGxBW,IAAI,EAAET,QAHkB;EAIxBU,MAAM,EAAER;AAJgB,CAA1B;;AAOA,MAAMS,kBAAkB,GAAGC,CAAC,IAAI;EAC9BA,CAAC,CAACC,eAAF;EACAD,CAAC,CAACE,cAAF;EACA,OAAO,KAAP;AACD,CAJD;;AAMA,MAAMC,YAAY,GAAGC,KAAK,IAAI;EAC5B,MAAM;IAACC,OAAD;IAAUC;EAAV,IAAkBF,KAAxB;;EAEA,MAAMG,QAAQ,GAAG,KAAID,IAAJ,EAAUZ,iBAAV,CAAjB;;EACA,oBACE;IACE,aAAU,cADZ;IAEE,aAAWY,IAFb;IAGE,OAAO,EAAEP,kBAHX;IAIE,SAAS,EAAEf,UAAU,CAACS,KAAK,CAACe,WAAP,EAAoBf,KAAK,CAACgB,mBAA1B;EAJvB,gBAME;IAAK,SAAS,EAAEhB,KAAK,CAACiB;EAAtB,gBACE,oBAAC,QAAD;IAAU,SAAS,EAAEjB,KAAK,CAACa,IAA3B;IAAiC,KAAK,EAAE;MAACK,KAAK,EAAE;IAAR,CAAxC;IAAuD,MAAM,EAAE;EAA/D,EADF,eAEE;IAAK,SAAS,EAAElB,KAAK,CAACY;EAAtB,gBACE;IAAM,IAAI,EAAC;EAAX,GAAqBA,OAArB,CADF,CAFF,CANF,CADF;AAeD,CAnBD;;AAoBAF,YAAY,CAACS,SAAb,2CAAyB;EACvBP,OAAO,EAAEtB,SAAS,CAAC8B,MAAV,CAAiBC,UADH;EAEvBR,IAAI,EAAEvB,SAAS,CAACgC,KAAV,CAAgB,MAAKrB,iBAAL,CAAhB,EAAyCoB;AAFxB,CAAzB;AAKA,eAAeX,YAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card-content/index.js"],"names":[],"mappings":";;;;;;;;;;AAyHA;;;;;;;;;;;;;;gBA6EC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card-content/index.js"],"names":[],"mappings":";;;;;;;;;;AAsHA;;;;;;;;;;;;;;gBA6EC"}
@@ -94,8 +94,7 @@ const AuthorName = ({
94
94
  'aria-label': ariaLabel
95
95
  }) => {
96
96
  const checkIcon = certifiedAuthor ? /*#__PURE__*/React.createElement(CheckIcon, {
97
- className: classnames(style.authorIcon, courseContent ? style.iconShadow : null),
98
- color: "inherit"
97
+ className: classnames(style.authorIcon, courseContent ? style.iconShadow : null)
99
98
  }) : null;
100
99
  return /*#__PURE__*/React.createElement("div", {
101
100
  "data-name": "author",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionCoorpacademyAdaptive","AdaptivIcon","NovaSolidStatusCheckCircle2","CheckIcon","NovaCompositionCoorpacademyTimer","TimerIcon","isExternalContent","EXTERNAL_CONTENT_ICONS","Provider","ContentBadge","style","MODES","HERO","CARD","THEMES","default","coorpmanager","ContentTypeInfo","mode","type","externalContent","context","translate","microLearningIcon","timerIcon","microLearninglabel","textColor","color","contentTypeInfo","contextTypes","skin","childContextTypes","propTypes","bool","string","CardTitle","title","empty","courseContent","innerHTML","lightTitle","darkTitle","__html","AuthorName","author","certifiedAuthor","ariaLabel","checkIcon","authorIcon","iconShadow","darkAuthorTitle","ContentInfo","adaptiv","disabled","progress","badgeCategory","badgeLabel","theme","progressBarColor","inlineProgressValueStyle","backgroundColor","width","chapterContent","progressBar","progressWrapper","hideProgressBar","adaptiveIcon","infoWrapper","hero","card","progressBarDisabled","cardInfo","microLearningCardInfo","iconWrapper","number","category","label","oneOf","shape","progression","adaptive"],"sources":["../../../src/molecule/card-content/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isNil, keys} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyAdaptive as AdaptivIcon,\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport ContentBadge from '../../atom/content-badge';\nimport style from './style.css';\n\nexport const MODES = {\n HERO: 'hero',\n CARD: 'card'\n};\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst ContentTypeInfo = ({mode, type, externalContent}, context) => {\n const {translate} = context;\n if (mode !== MODES.CARD) {\n return null;\n }\n\n if (type === 'chapter') {\n return (\n <div className={style.microLearningIcon}>\n <TimerIcon className={style.timerIcon} />\n <span className={style.microLearninglabel}>{\"5' learning\"}</span>\n </div>\n );\n }\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const textColor = EXTERNAL_CONTENT_ICONS[type].color;\n\n return (\n <div className={style.contentTypeInfo} style={{color: textColor}}>\n {type === 'scorm' ? translate('external_content_scorm') : ''}\n {type === 'video' ? translate('external_content_video') : ''}\n {type === 'article' ? translate('external_content_article') : ''}\n {type === 'podcast' ? translate('external_content_podcast') : ''}\n </div>\n );\n }\n\n return null;\n};\n\nContentTypeInfo.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContentTypeInfo.propTypes = {\n externalContent: PropTypes.bool,\n type: PropTypes.string,\n mode: PropTypes.string\n};\n\nconst CardTitle = ({title, empty, courseContent}) => {\n return (\n <div\n className={classnames(\n style.title,\n style.innerHTML,\n courseContent ? style.lightTitle : style.darkTitle,\n empty ? style.empty : null\n )}\n data-name=\"title\"\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n};\n\nCardTitle.propTypes = {\n title: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool\n};\n\nconst AuthorName = ({author, empty, courseContent, certifiedAuthor, 'aria-label': ariaLabel}) => {\n const checkIcon = certifiedAuthor ? (\n <CheckIcon\n className={classnames(style.authorIcon, courseContent ? style.iconShadow : null)}\n color=\"inherit\"\n />\n ) : null;\n\n return (\n <div\n data-name=\"author\"\n title={author}\n aria-label={ariaLabel}\n className={classnames(\n style.author,\n courseContent ? style.lightTitle : style.darkAuthorTitle,\n empty ? style.empty : null\n )}\n >\n <span>{author}</span>\n {checkIcon}\n </div>\n );\n};\n\nAuthorName.propTypes = {\n author: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool,\n certifiedAuthor: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst ContentInfo = ({\n adaptiv,\n author,\n certifiedAuthor = false,\n disabled = false,\n empty = false,\n mode = MODES.CARD,\n progress,\n title,\n type,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': ariaLabel\n}) => {\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${progress * 100}%`\n };\n const externalContent = isExternalContent(type);\n const courseContent = type === 'course';\n const chapterContent = type === 'chapter';\n\n const progressBar =\n mode === MODES.HERO || (!empty && !disabled) ? (\n <div className={!isNil(progress) ? style.progressWrapper : style.hideProgressBar}>\n {!disabled ? (\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n aria-label={get('progression', ariaLabel)}\n />\n ) : null}\n </div>\n ) : null;\n\n const adaptiveIcon = adaptiv ? (\n <div className={classnames(style.adaptiveIcon, courseContent ? style.iconShadow : null)}>\n <AdaptivIcon height={25} aria-label={get('adaptive', ariaLabel)} />\n </div>\n ) : null;\n\n return (\n <div\n data-name=\"info\"\n className={classnames(\n THEMES[theme],\n style.infoWrapper,\n mode === MODES.HERO ? style.hero : style.card,\n disabled ? style.progressBarDisabled : null,\n externalContent ? style.externalContent : null\n )}\n >\n <ContentTypeInfo mode={mode} type={type} externalContent={externalContent} />\n <div\n className={classnames(style.cardInfo, chapterContent ? style.microLearningCardInfo : null)}\n >\n <div className={style.iconWrapper}>\n {adaptiveIcon}\n {!empty && badgeLabel && badgeCategory && courseContent ? (\n <ContentBadge category={badgeCategory} label={badgeLabel} />\n ) : null}\n </div>\n <CardTitle title={title} empty={empty} courseContent={courseContent} />\n <AuthorName\n author={author}\n empty={empty}\n courseContent={courseContent}\n certifiedAuthor={certifiedAuthor}\n aria-label={get('author', ariaLabel)}\n />\n </div>\n {progressBar}\n </div>\n );\n};\n\nContentInfo.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nContentInfo.propTypes = {\n adaptiv: PropTypes.bool,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n disabled: PropTypes.bool,\n empty: PropTypes.bool,\n progress: PropTypes.number,\n title: PropTypes.string,\n type: PropTypes.string,\n mode: PropTypes.string,\n badgeCategory: ContentBadge.propTypes.category,\n badgeLabel: ContentBadge.propTypes.label,\n theme: PropTypes.oneOf(keys(THEMES)),\n 'aria-label': PropTypes.shape({\n author: PropTypes.string,\n progression: PropTypes.string,\n adaptive: PropTypes.string\n })\n};\n\nexport default ContentInfo;\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,mCAAmC,IAAIC,WADzC,EAEEC,2BAA2B,IAAIC,SAFjC,EAGEC,gCAAgC,IAAIC,SAHtC,QAIO,0BAJP;AAKA,SAAQC,iBAAR,EAA2BC,sBAA3B,QAAwD,6BAAxD;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,YAAP,MAAyB,0BAAzB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,OAAO,MAAMC,KAAK,GAAG;EACnBC,IAAI,EAAE,MADa;EAEnBC,IAAI,EAAE;AAFa,CAAd;AAKP,OAAO,MAAMC,MAAM,GAAG;EACpBC,OAAO,EAAE,IADW;EAEpBC,YAAY,EAAEN,KAAK,CAACM;AAFA,CAAf;;AAKP,MAAMC,eAAe,GAAG,CAAC;EAACC,IAAD;EAAOC,IAAP;EAAaC;AAAb,CAAD,EAAgCC,OAAhC,KAA4C;EAClE,MAAM;IAACC;EAAD,IAAcD,OAApB;;EACA,IAAIH,IAAI,KAAKP,KAAK,CAACE,IAAnB,EAAyB;IACvB,OAAO,IAAP;EACD;;EAED,IAAIM,IAAI,KAAK,SAAb,EAAwB;IACtB,oBACE;MAAK,SAAS,EAAET,KAAK,CAACa;IAAtB,gBACE,oBAAC,SAAD;MAAW,SAAS,EAAEb,KAAK,CAACc;IAA5B,EADF,eAEE;MAAM,SAAS,EAAEd,KAAK,CAACe;IAAvB,GAA4C,aAA5C,CAFF,CADF;EAMD;;EACD,IAAIL,eAAe,IAAIb,sBAAsB,CAACY,IAAD,CAA7C,EAAqD;IACnD,MAAMO,SAAS,GAAGnB,sBAAsB,CAACY,IAAD,CAAtB,CAA6BQ,KAA/C;IAEA,oBACE;MAAK,SAAS,EAAEjB,KAAK,CAACkB,eAAtB;MAAuC,KAAK,EAAE;QAACD,KAAK,EAAED;MAAR;IAA9C,GACGP,IAAI,KAAK,OAAT,GAAmBG,SAAS,CAAC,wBAAD,CAA5B,GAAyD,EAD5D,EAEGH,IAAI,KAAK,OAAT,GAAmBG,SAAS,CAAC,wBAAD,CAA5B,GAAyD,EAF5D,EAGGH,IAAI,KAAK,SAAT,GAAqBG,SAAS,CAAC,0BAAD,CAA9B,GAA6D,EAHhE,EAIGH,IAAI,KAAK,SAAT,GAAqBG,SAAS,CAAC,0BAAD,CAA9B,GAA6D,EAJhE,CADF;EAQD;;EAED,OAAO,IAAP;AACD,CA5BD;;AA8BAL,eAAe,CAACY,YAAhB,GAA+B;EAC7BC,IAAI,EAAEtB,QAAQ,CAACuB,iBAAT,CAA2BD,IADJ;EAE7BR,SAAS,EAAEd,QAAQ,CAACuB,iBAAT,CAA2BT;AAFT,CAA/B;AAKAL,eAAe,CAACe,SAAhB,2CAA4B;EAC1BZ,eAAe,EAAEtB,SAAS,CAACmC,IADD;EAE1Bd,IAAI,EAAErB,SAAS,CAACoC,MAFU;EAG1BhB,IAAI,EAAEpB,SAAS,CAACoC;AAHU,CAA5B;;AAMA,MAAMC,SAAS,GAAG,CAAC;EAACC,KAAD;EAAQC,KAAR;EAAeC;AAAf,CAAD,KAAmC;EACnD,oBACE;IACE,SAAS,EAAEvC,UAAU,CACnBW,KAAK,CAAC0B,KADa,EAEnB1B,KAAK,CAAC6B,SAFa,EAGnBD,aAAa,GAAG5B,KAAK,CAAC8B,UAAT,GAAsB9B,KAAK,CAAC+B,SAHtB,EAInBJ,KAAK,GAAG3B,KAAK,CAAC2B,KAAT,GAAiB,IAJH,CADvB;IAOE,aAAU,OAPZ;IAQE,KAAK,EAAED,KART,CASE;IATF;IAUE,uBAAuB,EAAE;MAACM,MAAM,EAAEN;IAAT;EAV3B,EADF;AAcD,CAfD;;AAiBAD,SAAS,CAACH,SAAV,2CAAsB;EACpBI,KAAK,EAAEtC,SAAS,CAACoC,MADG;EAEpBG,KAAK,EAAEvC,SAAS,CAACmC,IAFG;EAGpBK,aAAa,EAAExC,SAAS,CAACmC;AAHL,CAAtB;;AAMA,MAAMU,UAAU,GAAG,CAAC;EAACC,MAAD;EAASP,KAAT;EAAgBC,aAAhB;EAA+BO,eAA/B;EAAgD,cAAcC;AAA9D,CAAD,KAA8E;EAC/F,MAAMC,SAAS,GAAGF,eAAe,gBAC/B,oBAAC,SAAD;IACE,SAAS,EAAE9C,UAAU,CAACW,KAAK,CAACsC,UAAP,EAAmBV,aAAa,GAAG5B,KAAK,CAACuC,UAAT,GAAsB,IAAtD,CADvB;IAEE,KAAK,EAAC;EAFR,EAD+B,GAK7B,IALJ;EAOA,oBACE;IACE,aAAU,QADZ;IAEE,KAAK,EAAEL,MAFT;IAGE,cAAYE,SAHd;IAIE,SAAS,EAAE/C,UAAU,CACnBW,KAAK,CAACkC,MADa,EAEnBN,aAAa,GAAG5B,KAAK,CAAC8B,UAAT,GAAsB9B,KAAK,CAACwC,eAFtB,EAGnBb,KAAK,GAAG3B,KAAK,CAAC2B,KAAT,GAAiB,IAHH;EAJvB,gBAUE,kCAAOO,MAAP,CAVF,EAWGG,SAXH,CADF;AAeD,CAvBD;;AAyBAJ,UAAU,CAACX,SAAX,2CAAuB;EACrBY,MAAM,EAAE9C,SAAS,CAACoC,MADG;EAErBG,KAAK,EAAEvC,SAAS,CAACmC,IAFI;EAGrBK,aAAa,EAAExC,SAAS,CAACmC,IAHJ;EAIrBY,eAAe,EAAE/C,SAAS,CAACmC,IAJN;EAKrB,cAAcnC,SAAS,CAACoC;AALH,CAAvB;;AAQA,MAAMiB,WAAW,GAAG,CAAC;EACnBC,OADmB;EAEnBR,MAFmB;EAGnBC,eAAe,GAAG,KAHC;EAInBQ,QAAQ,GAAG,KAJQ;EAKnBhB,KAAK,GAAG,KALW;EAMnBnB,IAAI,GAAGP,KAAK,CAACE,IANM;EAOnByC,QAPmB;EAQnBlB,KARmB;EASnBjB,IATmB;EAUnBoC,aAVmB;EAWnBC,UAXmB;EAYnBC,KAAK,GAAG,SAZW;EAanB,cAAcX;AAbK,CAAD,KAcd;EACJ,MAAMY,gBAAgB,GAAG,SAAzB;EACA,MAAMC,wBAAwB,GAAG;IAC/BC,eAAe,EAAEF,gBADc;IAE/BG,KAAK,EAAG,GAAEP,QAAQ,GAAG,GAAI;EAFM,CAAjC;EAIA,MAAMlC,eAAe,GAAGd,iBAAiB,CAACa,IAAD,CAAzC;EACA,MAAMmB,aAAa,GAAGnB,IAAI,KAAK,QAA/B;EACA,MAAM2C,cAAc,GAAG3C,IAAI,KAAK,SAAhC;EAEA,MAAM4C,WAAW,GACf7C,IAAI,KAAKP,KAAK,CAACC,IAAf,IAAwB,CAACyB,KAAD,IAAU,CAACgB,QAAnC,gBACE;IAAK,SAAS,EAAE,CAAC,OAAMC,QAAN,CAAD,GAAmB5C,KAAK,CAACsD,eAAzB,GAA2CtD,KAAK,CAACuD;EAAjE,GACG,CAACZ,QAAD,gBACC;IACE,aAAU,UADZ;IAEE,SAAS,EAAE3C,KAAK,CAAC4C,QAFnB;IAGE,KAAK,EAAEK,wBAHT;IAIE,cAAY,KAAI,aAAJ,EAAmBb,SAAnB;EAJd,EADD,GAOG,IARN,CADF,GAWI,IAZN;EAcA,MAAMoB,YAAY,GAAGd,OAAO,gBAC1B;IAAK,SAAS,EAAErD,UAAU,CAACW,KAAK,CAACwD,YAAP,EAAqB5B,aAAa,GAAG5B,KAAK,CAACuC,UAAT,GAAsB,IAAxD;EAA1B,gBACE,oBAAC,WAAD;IAAa,MAAM,EAAE,EAArB;IAAyB,cAAY,KAAI,UAAJ,EAAgBH,SAAhB;EAArC,EADF,CAD0B,GAIxB,IAJJ;EAMA,oBACE;IACE,aAAU,MADZ;IAEE,SAAS,EAAE/C,UAAU,CACnBe,MAAM,CAAC2C,KAAD,CADa,EAEnB/C,KAAK,CAACyD,WAFa,EAGnBjD,IAAI,KAAKP,KAAK,CAACC,IAAf,GAAsBF,KAAK,CAAC0D,IAA5B,GAAmC1D,KAAK,CAAC2D,IAHtB,EAInBhB,QAAQ,GAAG3C,KAAK,CAAC4D,mBAAT,GAA+B,IAJpB,EAKnBlD,eAAe,GAAGV,KAAK,CAACU,eAAT,GAA2B,IALvB;EAFvB,gBAUE,oBAAC,eAAD;IAAiB,IAAI,EAAEF,IAAvB;IAA6B,IAAI,EAAEC,IAAnC;IAAyC,eAAe,EAAEC;EAA1D,EAVF,eAWE;IACE,SAAS,EAAErB,UAAU,CAACW,KAAK,CAAC6D,QAAP,EAAiBT,cAAc,GAAGpD,KAAK,CAAC8D,qBAAT,GAAiC,IAAhE;EADvB,gBAGE;IAAK,SAAS,EAAE9D,KAAK,CAAC+D;EAAtB,GACGP,YADH,EAEG,CAAC7B,KAAD,IAAUmB,UAAV,IAAwBD,aAAxB,IAAyCjB,aAAzC,gBACC,oBAAC,YAAD;IAAc,QAAQ,EAAEiB,aAAxB;IAAuC,KAAK,EAAEC;EAA9C,EADD,GAEG,IAJN,CAHF,eASE,oBAAC,SAAD;IAAW,KAAK,EAAEpB,KAAlB;IAAyB,KAAK,EAAEC,KAAhC;IAAuC,aAAa,EAAEC;EAAtD,EATF,eAUE,oBAAC,UAAD;IACE,MAAM,EAAEM,MADV;IAEE,KAAK,EAAEP,KAFT;IAGE,aAAa,EAAEC,aAHjB;IAIE,eAAe,EAAEO,eAJnB;IAKE,cAAY,KAAI,QAAJ,EAAcC,SAAd;EALd,EAVF,CAXF,EA6BGiB,WA7BH,CADF;AAiCD,CA7ED;;AA+EAZ,WAAW,CAACtB,YAAZ,GAA2B;EACzBC,IAAI,EAAEtB,QAAQ,CAACuB,iBAAT,CAA2BD;AADR,CAA3B;AAIAqB,WAAW,CAACnB,SAAZ,2CAAwB;EACtBoB,OAAO,EAAEtD,SAAS,CAACmC,IADG;EAEtBW,MAAM,EAAE9C,SAAS,CAACoC,MAFI;EAGtBW,eAAe,EAAE/C,SAAS,CAACmC,IAHL;EAItBoB,QAAQ,EAAEvD,SAAS,CAACmC,IAJE;EAKtBI,KAAK,EAAEvC,SAAS,CAACmC,IALK;EAMtBqB,QAAQ,EAAExD,SAAS,CAAC4E,MANE;EAOtBtC,KAAK,EAAEtC,SAAS,CAACoC,MAPK;EAQtBf,IAAI,EAAErB,SAAS,CAACoC,MARM;EAStBhB,IAAI,EAAEpB,SAAS,CAACoC,MATM;EAUtBqB,aAAa,EAAE9C,YAAY,CAACuB,SAAb,CAAuB2C,QAVhB;EAWtBnB,UAAU,EAAE/C,YAAY,CAACuB,SAAb,CAAuB4C,KAXb;EAYtBnB,KAAK,EAAE3D,SAAS,CAAC+E,KAAV,CAAgB,MAAK/D,MAAL,CAAhB,CAZe;EAatB,cAAchB,SAAS,CAACgF,KAAV,CAAgB;IAC5BlC,MAAM,EAAE9C,SAAS,CAACoC,MADU;IAE5B6C,WAAW,EAAEjF,SAAS,CAACoC,MAFK;IAG5B8C,QAAQ,EAAElF,SAAS,CAACoC;EAHQ,CAAhB;AAbQ,CAAxB;AAoBA,eAAeiB,WAAf"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionCoorpacademyAdaptive","AdaptivIcon","NovaSolidStatusCheckCircle2","CheckIcon","NovaCompositionCoorpacademyTimer","TimerIcon","isExternalContent","EXTERNAL_CONTENT_ICONS","Provider","ContentBadge","style","MODES","HERO","CARD","THEMES","default","coorpmanager","ContentTypeInfo","mode","type","externalContent","context","translate","microLearningIcon","timerIcon","microLearninglabel","textColor","color","contentTypeInfo","contextTypes","skin","childContextTypes","propTypes","bool","string","CardTitle","title","empty","courseContent","innerHTML","lightTitle","darkTitle","__html","AuthorName","author","certifiedAuthor","ariaLabel","checkIcon","authorIcon","iconShadow","darkAuthorTitle","ContentInfo","adaptiv","disabled","progress","badgeCategory","badgeLabel","theme","progressBarColor","inlineProgressValueStyle","backgroundColor","width","chapterContent","progressBar","progressWrapper","hideProgressBar","adaptiveIcon","infoWrapper","hero","card","progressBarDisabled","cardInfo","microLearningCardInfo","iconWrapper","number","category","label","oneOf","shape","progression","adaptive"],"sources":["../../../src/molecule/card-content/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isNil, keys} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyAdaptive as AdaptivIcon,\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport ContentBadge from '../../atom/content-badge';\nimport style from './style.css';\n\nexport const MODES = {\n HERO: 'hero',\n CARD: 'card'\n};\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst ContentTypeInfo = ({mode, type, externalContent}, context) => {\n const {translate} = context;\n if (mode !== MODES.CARD) {\n return null;\n }\n\n if (type === 'chapter') {\n return (\n <div className={style.microLearningIcon}>\n <TimerIcon className={style.timerIcon} />\n <span className={style.microLearninglabel}>{\"5' learning\"}</span>\n </div>\n );\n }\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const textColor = EXTERNAL_CONTENT_ICONS[type].color;\n\n return (\n <div className={style.contentTypeInfo} style={{color: textColor}}>\n {type === 'scorm' ? translate('external_content_scorm') : ''}\n {type === 'video' ? translate('external_content_video') : ''}\n {type === 'article' ? translate('external_content_article') : ''}\n {type === 'podcast' ? translate('external_content_podcast') : ''}\n </div>\n );\n }\n\n return null;\n};\n\nContentTypeInfo.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContentTypeInfo.propTypes = {\n externalContent: PropTypes.bool,\n type: PropTypes.string,\n mode: PropTypes.string\n};\n\nconst CardTitle = ({title, empty, courseContent}) => {\n return (\n <div\n className={classnames(\n style.title,\n style.innerHTML,\n courseContent ? style.lightTitle : style.darkTitle,\n empty ? style.empty : null\n )}\n data-name=\"title\"\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n};\n\nCardTitle.propTypes = {\n title: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool\n};\n\nconst AuthorName = ({author, empty, courseContent, certifiedAuthor, 'aria-label': ariaLabel}) => {\n const checkIcon = certifiedAuthor ? (\n <CheckIcon className={classnames(style.authorIcon, courseContent ? style.iconShadow : null)} />\n ) : null;\n\n return (\n <div\n data-name=\"author\"\n title={author}\n aria-label={ariaLabel}\n className={classnames(\n style.author,\n courseContent ? style.lightTitle : style.darkAuthorTitle,\n empty ? style.empty : null\n )}\n >\n <span>{author}</span>\n {checkIcon}\n </div>\n );\n};\n\nAuthorName.propTypes = {\n author: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool,\n certifiedAuthor: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst ContentInfo = ({\n adaptiv,\n author,\n certifiedAuthor = false,\n disabled = false,\n empty = false,\n mode = MODES.CARD,\n progress,\n title,\n type,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': ariaLabel\n}) => {\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${progress * 100}%`\n };\n const externalContent = isExternalContent(type);\n const courseContent = type === 'course';\n const chapterContent = type === 'chapter';\n\n const progressBar =\n mode === MODES.HERO || (!empty && !disabled) ? (\n <div className={!isNil(progress) ? style.progressWrapper : style.hideProgressBar}>\n {!disabled ? (\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n aria-label={get('progression', ariaLabel)}\n />\n ) : null}\n </div>\n ) : null;\n\n const adaptiveIcon = adaptiv ? (\n <div className={classnames(style.adaptiveIcon, courseContent ? style.iconShadow : null)}>\n <AdaptivIcon height={25} aria-label={get('adaptive', ariaLabel)} />\n </div>\n ) : null;\n\n return (\n <div\n data-name=\"info\"\n className={classnames(\n THEMES[theme],\n style.infoWrapper,\n mode === MODES.HERO ? style.hero : style.card,\n disabled ? style.progressBarDisabled : null,\n externalContent ? style.externalContent : null\n )}\n >\n <ContentTypeInfo mode={mode} type={type} externalContent={externalContent} />\n <div\n className={classnames(style.cardInfo, chapterContent ? style.microLearningCardInfo : null)}\n >\n <div className={style.iconWrapper}>\n {adaptiveIcon}\n {!empty && badgeLabel && badgeCategory && courseContent ? (\n <ContentBadge category={badgeCategory} label={badgeLabel} />\n ) : null}\n </div>\n <CardTitle title={title} empty={empty} courseContent={courseContent} />\n <AuthorName\n author={author}\n empty={empty}\n courseContent={courseContent}\n certifiedAuthor={certifiedAuthor}\n aria-label={get('author', ariaLabel)}\n />\n </div>\n {progressBar}\n </div>\n );\n};\n\nContentInfo.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nContentInfo.propTypes = {\n adaptiv: PropTypes.bool,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n disabled: PropTypes.bool,\n empty: PropTypes.bool,\n progress: PropTypes.number,\n title: PropTypes.string,\n type: PropTypes.string,\n mode: PropTypes.string,\n badgeCategory: ContentBadge.propTypes.category,\n badgeLabel: ContentBadge.propTypes.label,\n theme: PropTypes.oneOf(keys(THEMES)),\n 'aria-label': PropTypes.shape({\n author: PropTypes.string,\n progression: PropTypes.string,\n adaptive: PropTypes.string\n })\n};\n\nexport default ContentInfo;\n"],"mappings":"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"}
@@ -193,6 +193,7 @@
193
193
  width: 12px;
194
194
  height: 12px;
195
195
  margin-left: 0.25em;
196
+ color: inherit;
196
197
  }
197
198
 
198
199
  .iconShadow {
@@ -62,7 +62,9 @@ const IconView = (props, context) => {
62
62
 
63
63
  const IconType = ICONS[contentType];
64
64
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(IconType, {
65
- color: dark,
65
+ style: {
66
+ color: dark
67
+ },
66
68
  className: style.icon,
67
69
  "data-contenttype": contentType
68
70
  }));
@@ -301,7 +303,9 @@ class CardsList extends React.PureComponent {
301
303
  onClick: this.handleOnLeft,
302
304
  "data-name": "card-list-left-arrow"
303
305
  }, /*#__PURE__*/React.createElement(ArrowLeft, {
304
- color: dark,
306
+ style: {
307
+ color: dark
308
+ },
305
309
  className: style.left,
306
310
  width: 10,
307
311
  height: 10,
@@ -312,7 +316,9 @@ class CardsList extends React.PureComponent {
312
316
  onClick: this.handleOnRight,
313
317
  "data-name": "card-list-right-arrow"
314
318
  }, /*#__PURE__*/React.createElement(ArrowRight, {
315
- color: dark,
319
+ style: {
320
+ color: dark
321
+ },
316
322
  className: style.right,
317
323
  width: 10,
318
324
  height: 10,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowLeft","ArrowLeft","NovaCompositionNavigationArrowRight","ArrowRight","NovaSolidContentContentBook1","LearnerIcon","NovaCompositionCoorpacademyTimer","TimerIcon","Provider","Card","style","ShowMoreLink","props","onShowMore","showMore","className","contextTypes","skin","childContextTypes","propTypes","func","string","IconView","context","contentType","ICONS","chapter","course","dark","IconType","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","PureComponent","constructor","state","actualPage","scrollLeft","offsetWidth","possiblePositions","possiblePages","cardsWidth","handleScroll_","handleScroll","bind","handleOnLeft","handleOnRight","scrollTo","updateState","updatePages","setCardsWrapper","getScrollWidth","handleResize","componentDidMount","cardsWrapper","addEventListener","window","componentDidUpdate","cards","newCardsWidth","updatePaginationState","setState","componentWillUnmount","removeEventListener","cancel","wrapperWidth","wrapperScrollLeft","cardWidths","cardPositions","accWidth","cardWidth","acc","pageIndex","accPageWidth","pageWidth","skip","position","element","index","onScroll","leftBound","rightBound","leftIndex","rightIndex","limit","indexOfNextFirstCard","indexOf","nextPosition","render","title","dataName","ariaLabel","titleStyle","titleLink","cardsView","key","leftArrowView","circle","left","showMoreOnLeftAriaLabel","rightArrowView","right","showMoreOnRightAriaLabel","titleView","hasPages","showMoreView","showMoreBar","switchPagesView","pagingWrapper","wrapper","list","header","translate","arrayOf","shape","protoTypes"],"sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"sourcesContent":["import React from 'react';\nimport {\n debounce,\n throttle,\n get,\n getOr,\n map,\n sum,\n last,\n pipe,\n toPairs,\n reduce,\n head,\n findIndex,\n findLastIndex\n} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../atom/provider';\nimport Card from '../../card';\nimport style from './style.css';\n\nconst ShowMoreLink = props => {\n const {onShowMore, showMore, className} = props;\n return (\n <div className={className} onClick={onShowMore}>\n {showMore}\n </div>\n );\n};\n\nShowMoreLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nShowMoreLink.propTypes = {\n onShowMore: PropTypes.func,\n showMore: PropTypes.string,\n className: PropTypes.string\n};\n\nconst IconView = (props, context) => {\n const {skin} = context;\n const {contentType} = props;\n const ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon\n };\n\n if (!contentType) {\n return null;\n }\n\n const dark = get('common.dark', skin);\n const IconType = ICONS[contentType];\n\n return (\n <div>\n <IconType color={dark} className={style.icon} data-contenttype={contentType} />\n </div>\n );\n};\n\nconst computeWidth = card => {\n switch (card && card.type) {\n case 'chapter':\n return 219;\n default:\n return 272;\n }\n};\n\nconst nextPage = (page, maxPages) => {\n if (page < 0) return maxPages;\n if (page > maxPages) return 0;\n return page;\n};\n\nIconView.propTypes = {\n contentType: PropTypes.string\n};\n\nclass CardsList extends React.PureComponent {\n static propTypes = {\n contentType: PropTypes.string,\n dataName: PropTypes.string,\n title: PropTypes.string,\n showMore: PropTypes.string,\n cards: PropTypes.arrayOf(PropTypes.shape(Card.protoTypes)),\n onScroll: PropTypes.func,\n onShowMore: PropTypes.func,\n 'arrows-aria-label': PropTypes.shape({\n showMoreOnLeftAriaLabel: PropTypes.string,\n showMoreOnRightAriaLabel: PropTypes.string\n })\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n actualPage: 0,\n maxPages: 0,\n scrollLeft: 0,\n offsetWidth: 0,\n possiblePositions: [],\n possiblePages: [],\n cardsWidth: 0\n };\n\n this.handleScroll_ = throttle(200, this.handleScroll.bind(this));\n this.handleScroll = this.handleScroll.bind(this);\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.updateState = debounce(200, this.updatePages.bind(this));\n this.updatePages = this.updatePages.bind(this);\n this.setCardsWrapper = this.setCardsWrapper.bind(this);\n this.getScrollWidth = this.getScrollWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n }\n\n componentDidMount() {\n this.cardsWrapper.addEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n\n componentDidUpdate() {\n const {cards = []} = this.props;\n const {offsetWidth, cardsWidth} = this.state;\n const newCardsWidth = pipe(map(computeWidth), sum)(cards);\n\n if (newCardsWidth !== cardsWidth && offsetWidth !== 0) {\n this.updatePaginationState(cards);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n cardsWidth: newCardsWidth\n });\n }\n }\n\n componentWillUnmount() {\n this.cardsWrapper.removeEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.removeEventListener('resize', this.handleResize);\n }\n this.updateState.cancel();\n }\n\n handleResize() {\n const {cards = []} = this.props;\n this.updatePaginationState(cards);\n }\n\n updatePaginationState(cards) {\n const {offsetWidth: wrapperWidth, scrollLeft: wrapperScrollLeft} = this.state;\n\n const cardWidths = map(computeWidth)(cards);\n\n const possiblePositions = pipe(\n reduce(\n ([cardPositions, accWidth], cardWidth) => [\n [...cardPositions, accWidth],\n cardWidth + accWidth\n ],\n [[], 0]\n ),\n head\n )(cardWidths);\n\n const possiblePages = pipe(\n reduce(\n ([acc, pageIndex, accPageWidth], cardWidth) => {\n const pageWidth = accPageWidth + cardWidth;\n if (pageWidth > wrapperWidth) {\n return [[...acc, pageIndex + 1], pageIndex + 1, cardWidth];\n }\n return [[...acc, pageIndex], pageIndex, pageWidth];\n },\n [[], 0, 0]\n ),\n head\n )(cardWidths);\n\n const skip = findIndex(position => position >= wrapperScrollLeft, possiblePositions);\n const actualPage = possiblePages[skip + 1];\n\n this.setState({\n possiblePositions,\n possiblePages,\n maxPages: last(possiblePages),\n actualPage\n });\n }\n\n setCardsWrapper(element) {\n this.cardsWrapper = element;\n this.setState({\n scrollLeft: this.cardsWrapper?.scrollLeft,\n offsetWidth: this.cardsWrapper?.offsetWidth\n });\n }\n\n getScrollWidth(index) {\n const {cards = []} = this.props;\n const card = cards[index];\n return computeWidth(card);\n }\n\n handleScroll() {\n const scrollLeft = this.cardsWrapper?.scrollLeft;\n this.setState({scrollLeft});\n\n const {possiblePositions, offsetWidth} = this.state;\n const {onScroll} = this.props;\n if (onScroll) {\n const leftBound = scrollLeft;\n const rightBound = scrollLeft + offsetWidth;\n\n const leftIndex = findIndex(position => position > leftBound, possiblePositions) - 1;\n const rightIndex = findLastIndex(position => position < rightBound, possiblePositions);\n const skip = leftIndex;\n const limit = rightIndex - skip + 1;\n\n onScroll(skip, limit);\n }\n }\n\n handleOnLeft() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage - 1, maxPages));\n }\n\n handleOnRight() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage + 1, maxPages));\n }\n\n scrollTo(page) {\n const {possiblePages, possiblePositions} = this.state;\n const indexOfNextFirstCard = possiblePages.indexOf(page);\n const nextPosition = possiblePositions[indexOfNextFirstCard];\n this.cardsWrapper.scrollLeft = nextPosition;\n this.updatePages(page);\n this.setState({\n scrollLeft: nextPosition\n });\n }\n\n updatePages(actualPage) {\n this.setState({\n actualPage\n });\n }\n\n render() {\n const {\n title,\n showMore,\n cards,\n onShowMore,\n dataName,\n contentType,\n 'arrows-aria-label': ariaLabel = {}\n } = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n <Card {...card} dataName={`${dataName}-${key}`} />\n </div>\n );\n })\n )(cards);\n const leftArrowView = (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <ArrowLeft\n color={dark}\n className={style.left}\n width={10}\n height={10}\n aria-label={ariaLabel.showMoreOnLeftAriaLabel}\n />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight\n color={dark}\n className={style.right}\n width={10}\n height={10}\n aria-label={ariaLabel.showMoreOnRightAriaLabel}\n />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowLeft","ArrowLeft","NovaCompositionNavigationArrowRight","ArrowRight","NovaSolidContentContentBook1","LearnerIcon","NovaCompositionCoorpacademyTimer","TimerIcon","Provider","Card","style","ShowMoreLink","props","onShowMore","showMore","className","contextTypes","skin","childContextTypes","propTypes","func","string","IconView","context","contentType","ICONS","chapter","course","dark","IconType","color","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","PureComponent","constructor","state","actualPage","scrollLeft","offsetWidth","possiblePositions","possiblePages","cardsWidth","handleScroll_","handleScroll","bind","handleOnLeft","handleOnRight","scrollTo","updateState","updatePages","setCardsWrapper","getScrollWidth","handleResize","componentDidMount","cardsWrapper","addEventListener","window","componentDidUpdate","cards","newCardsWidth","updatePaginationState","setState","componentWillUnmount","removeEventListener","cancel","wrapperWidth","wrapperScrollLeft","cardWidths","cardPositions","accWidth","cardWidth","acc","pageIndex","accPageWidth","pageWidth","skip","position","element","index","onScroll","leftBound","rightBound","leftIndex","rightIndex","limit","indexOfNextFirstCard","indexOf","nextPosition","render","title","dataName","ariaLabel","titleStyle","titleLink","cardsView","key","leftArrowView","circle","left","showMoreOnLeftAriaLabel","rightArrowView","right","showMoreOnRightAriaLabel","titleView","hasPages","showMoreView","showMoreBar","switchPagesView","pagingWrapper","wrapper","list","header","translate","arrayOf","shape","protoTypes"],"sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"sourcesContent":["import React from 'react';\nimport {\n debounce,\n throttle,\n get,\n getOr,\n map,\n sum,\n last,\n pipe,\n toPairs,\n reduce,\n head,\n findIndex,\n findLastIndex\n} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../atom/provider';\nimport Card from '../../card';\nimport style from './style.css';\n\nconst ShowMoreLink = props => {\n const {onShowMore, showMore, className} = props;\n return (\n <div className={className} onClick={onShowMore}>\n {showMore}\n </div>\n );\n};\n\nShowMoreLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nShowMoreLink.propTypes = {\n onShowMore: PropTypes.func,\n showMore: PropTypes.string,\n className: PropTypes.string\n};\n\nconst IconView = (props, context) => {\n const {skin} = context;\n const {contentType} = props;\n const ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon\n };\n\n if (!contentType) {\n return null;\n }\n\n const dark = get('common.dark', skin);\n const IconType = ICONS[contentType];\n\n return (\n <div>\n <IconType style={{color: dark}} className={style.icon} data-contenttype={contentType} />\n </div>\n );\n};\n\nconst computeWidth = card => {\n switch (card && card.type) {\n case 'chapter':\n return 219;\n default:\n return 272;\n }\n};\n\nconst nextPage = (page, maxPages) => {\n if (page < 0) return maxPages;\n if (page > maxPages) return 0;\n return page;\n};\n\nIconView.propTypes = {\n contentType: PropTypes.string\n};\n\nclass CardsList extends React.PureComponent {\n static propTypes = {\n contentType: PropTypes.string,\n dataName: PropTypes.string,\n title: PropTypes.string,\n showMore: PropTypes.string,\n cards: PropTypes.arrayOf(PropTypes.shape(Card.protoTypes)),\n onScroll: PropTypes.func,\n onShowMore: PropTypes.func,\n 'arrows-aria-label': PropTypes.shape({\n showMoreOnLeftAriaLabel: PropTypes.string,\n showMoreOnRightAriaLabel: PropTypes.string\n })\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n actualPage: 0,\n maxPages: 0,\n scrollLeft: 0,\n offsetWidth: 0,\n possiblePositions: [],\n possiblePages: [],\n cardsWidth: 0\n };\n\n this.handleScroll_ = throttle(200, this.handleScroll.bind(this));\n this.handleScroll = this.handleScroll.bind(this);\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.updateState = debounce(200, this.updatePages.bind(this));\n this.updatePages = this.updatePages.bind(this);\n this.setCardsWrapper = this.setCardsWrapper.bind(this);\n this.getScrollWidth = this.getScrollWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n }\n\n componentDidMount() {\n this.cardsWrapper.addEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n\n componentDidUpdate() {\n const {cards = []} = this.props;\n const {offsetWidth, cardsWidth} = this.state;\n const newCardsWidth = pipe(map(computeWidth), sum)(cards);\n\n if (newCardsWidth !== cardsWidth && offsetWidth !== 0) {\n this.updatePaginationState(cards);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n cardsWidth: newCardsWidth\n });\n }\n }\n\n componentWillUnmount() {\n this.cardsWrapper.removeEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.removeEventListener('resize', this.handleResize);\n }\n this.updateState.cancel();\n }\n\n handleResize() {\n const {cards = []} = this.props;\n this.updatePaginationState(cards);\n }\n\n updatePaginationState(cards) {\n const {offsetWidth: wrapperWidth, scrollLeft: wrapperScrollLeft} = this.state;\n\n const cardWidths = map(computeWidth)(cards);\n\n const possiblePositions = pipe(\n reduce(\n ([cardPositions, accWidth], cardWidth) => [\n [...cardPositions, accWidth],\n cardWidth + accWidth\n ],\n [[], 0]\n ),\n head\n )(cardWidths);\n\n const possiblePages = pipe(\n reduce(\n ([acc, pageIndex, accPageWidth], cardWidth) => {\n const pageWidth = accPageWidth + cardWidth;\n if (pageWidth > wrapperWidth) {\n return [[...acc, pageIndex + 1], pageIndex + 1, cardWidth];\n }\n return [[...acc, pageIndex], pageIndex, pageWidth];\n },\n [[], 0, 0]\n ),\n head\n )(cardWidths);\n\n const skip = findIndex(position => position >= wrapperScrollLeft, possiblePositions);\n const actualPage = possiblePages[skip + 1];\n\n this.setState({\n possiblePositions,\n possiblePages,\n maxPages: last(possiblePages),\n actualPage\n });\n }\n\n setCardsWrapper(element) {\n this.cardsWrapper = element;\n this.setState({\n scrollLeft: this.cardsWrapper?.scrollLeft,\n offsetWidth: this.cardsWrapper?.offsetWidth\n });\n }\n\n getScrollWidth(index) {\n const {cards = []} = this.props;\n const card = cards[index];\n return computeWidth(card);\n }\n\n handleScroll() {\n const scrollLeft = this.cardsWrapper?.scrollLeft;\n this.setState({scrollLeft});\n\n const {possiblePositions, offsetWidth} = this.state;\n const {onScroll} = this.props;\n if (onScroll) {\n const leftBound = scrollLeft;\n const rightBound = scrollLeft + offsetWidth;\n\n const leftIndex = findIndex(position => position > leftBound, possiblePositions) - 1;\n const rightIndex = findLastIndex(position => position < rightBound, possiblePositions);\n const skip = leftIndex;\n const limit = rightIndex - skip + 1;\n\n onScroll(skip, limit);\n }\n }\n\n handleOnLeft() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage - 1, maxPages));\n }\n\n handleOnRight() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage + 1, maxPages));\n }\n\n scrollTo(page) {\n const {possiblePages, possiblePositions} = this.state;\n const indexOfNextFirstCard = possiblePages.indexOf(page);\n const nextPosition = possiblePositions[indexOfNextFirstCard];\n this.cardsWrapper.scrollLeft = nextPosition;\n this.updatePages(page);\n this.setState({\n scrollLeft: nextPosition\n });\n }\n\n updatePages(actualPage) {\n this.setState({\n actualPage\n });\n }\n\n render() {\n const {\n title,\n showMore,\n cards,\n onShowMore,\n dataName,\n contentType,\n 'arrows-aria-label': ariaLabel = {}\n } = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n <Card {...card} dataName={`${dataName}-${key}`} />\n </div>\n );\n })\n )(cards);\n const leftArrowView = (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <ArrowLeft\n style={{color: dark}}\n className={style.left}\n width={10}\n height={10}\n aria-label={ariaLabel.showMoreOnLeftAriaLabel}\n />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight\n style={{color: dark}}\n className={style.right}\n width={10}\n height={10}\n aria-label={ariaLabel.showMoreOnRightAriaLabel}\n />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"mappings":"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"}
@@ -58,7 +58,9 @@ const DisciplinePartners = (props, context) => {
58
58
  color: defaultColor
59
59
  }
60
60
  }, moreDetails, /*#__PURE__*/React.createElement(ArrowRight, {
61
- color: defaultColor,
61
+ style: {
62
+ color: defaultColor
63
+ },
62
64
  className: style.linkicon
63
65
  })));
64
66
  const socialView = socialLinks.map((social, i) => /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowRight","ArrowRight","NovaCompositionNavigationArrowDown","ArrowDown","SocialLink","Provider","CatalogSection","Picture","style","DisciplinePartners","props","context","translate","skin","authorTitle","authors","authorLabel","defaultColor","authorsView","convert","cap","author","index","socialLinks","authorLogo","authorHref","moreDetails","autName","authorToggleId","linkView","authorLink","color","moreInfoView","linkicon","socialView","map","social","i","link","aNameView","authorName","logoView","logoContainer","logo","src","alt","arrowWrapper","arrow","authorContent","links","authorWrapper","toggle","colDetails","contextTypes","childContextTypes","propTypes","arrayOf","shape","name","string","href"],"sources":["../../../src/molecule/discipline-partners/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map, uniqueId} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionNavigationArrowDown as ArrowDown\n} from '@coorpacademy/nova-icons';\nimport SocialLink from '../../atom/social-link';\nimport Provider from '../../atom/provider';\nimport CatalogSection from '../../atom/catalog-section';\nimport Picture from '../../atom/picture';\nimport style from './style.css';\n\nconst DisciplinePartners = (props, context) => {\n const {translate, skin} = context;\n\n const {authorTitle, authors = []} = props;\n\n const authorLabel = authorTitle || translate('author');\n const defaultColor = get('common.primary', skin);\n const authorsView = map.convert({cap: false})((author, index) => {\n const socialLinks = getOr([], 'socialLinks', author);\n const authorLogo = get('logo', author);\n const authorHref = get('href', author);\n const moreDetails = get('more', author);\n const autName = get('name', author);\n const authorToggleId = uniqueId('author-toggle-');\n const linkView = (\n <div className={style.authorLink}>\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n color: defaultColor\n }}\n href={authorHref}\n >\n {authorHref}\n </a>\n </div>\n );\n const moreInfoView = (\n <div className={style.authorLink}>\n <a\n href={authorHref}\n style={{\n color: defaultColor\n }}\n >\n {moreDetails}\n <ArrowRight color={defaultColor} className={style.linkicon} />\n </a>\n </div>\n );\n\n const socialView = socialLinks.map((social, i) => (\n <div key={i} className={style.link}>\n <SocialLink {...social} />\n </div>\n ));\n\n const aNameView = autName ? (\n <div data-name=\"authorName\" className={style.authorName}>\n {autName}\n </div>\n ) : null;\n\n const logoView = authorLogo ? (\n <div className={style.logoContainer}>\n <Picture className={style.logo} src={authorLogo.src} alt={authorLogo.alt} />\n <div className={style.arrowWrapper}>\n <ArrowDown className={style.arrow} height={14} whidth={14} />\n </div>\n </div>\n ) : null;\n\n const authorContent =\n authorHref || aNameView || socialView ? (\n <div className={style.authorContent}>\n {autName ? aNameView : null}\n {moreDetails ? moreInfoView : null}\n {!moreDetails && authorHref ? linkView : null}\n <div className={style.links}>{socialView}</div>\n </div>\n ) : null;\n\n return (\n <div key={index} className={style.authorWrapper}>\n <input type=\"checkbox\" id={authorToggleId} className={style.toggle} defaultChecked />\n <label htmlFor={authorToggleId}>{logoView}</label>\n {authorContent}\n </div>\n );\n }, authors);\n\n return !isEmpty(authors) ? (\n <div data-name=\"disciplinePartner\" className={style.colDetails}>\n <CatalogSection title={authorLabel}>{authorsView}</CatalogSection>\n </div>\n ) : null;\n};\n\nDisciplinePartners.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nDisciplinePartners.propTypes = {\n authors: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n href: PropTypes.string,\n logo: PropTypes.shape({\n src: PropTypes.string,\n href: PropTypes.string,\n alt: PropTypes.string\n }),\n socialLinks: PropTypes.arrayOf(PropTypes.shape(SocialLink.propTypes))\n })\n ),\n authorTitle: PropTypes.string\n};\n\nexport default DisciplinePartners;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowRight","ArrowRight","NovaCompositionNavigationArrowDown","ArrowDown","SocialLink","Provider","CatalogSection","Picture","style","DisciplinePartners","props","context","translate","skin","authorTitle","authors","authorLabel","defaultColor","authorsView","convert","cap","author","index","socialLinks","authorLogo","authorHref","moreDetails","autName","authorToggleId","linkView","authorLink","color","moreInfoView","linkicon","socialView","map","social","i","link","aNameView","authorName","logoView","logoContainer","logo","src","alt","arrowWrapper","arrow","authorContent","links","authorWrapper","toggle","colDetails","contextTypes","childContextTypes","propTypes","arrayOf","shape","name","string","href"],"sources":["../../../src/molecule/discipline-partners/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map, uniqueId} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionNavigationArrowDown as ArrowDown\n} from '@coorpacademy/nova-icons';\nimport SocialLink from '../../atom/social-link';\nimport Provider from '../../atom/provider';\nimport CatalogSection from '../../atom/catalog-section';\nimport Picture from '../../atom/picture';\nimport style from './style.css';\n\nconst DisciplinePartners = (props, context) => {\n const {translate, skin} = context;\n\n const {authorTitle, authors = []} = props;\n\n const authorLabel = authorTitle || translate('author');\n const defaultColor = get('common.primary', skin);\n const authorsView = map.convert({cap: false})((author, index) => {\n const socialLinks = getOr([], 'socialLinks', author);\n const authorLogo = get('logo', author);\n const authorHref = get('href', author);\n const moreDetails = get('more', author);\n const autName = get('name', author);\n const authorToggleId = uniqueId('author-toggle-');\n const linkView = (\n <div className={style.authorLink}>\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n color: defaultColor\n }}\n href={authorHref}\n >\n {authorHref}\n </a>\n </div>\n );\n const moreInfoView = (\n <div className={style.authorLink}>\n <a\n href={authorHref}\n style={{\n color: defaultColor\n }}\n >\n {moreDetails}\n <ArrowRight style={{color: defaultColor}} className={style.linkicon} />\n </a>\n </div>\n );\n\n const socialView = socialLinks.map((social, i) => (\n <div key={i} className={style.link}>\n <SocialLink {...social} />\n </div>\n ));\n\n const aNameView = autName ? (\n <div data-name=\"authorName\" className={style.authorName}>\n {autName}\n </div>\n ) : null;\n\n const logoView = authorLogo ? (\n <div className={style.logoContainer}>\n <Picture className={style.logo} src={authorLogo.src} alt={authorLogo.alt} />\n <div className={style.arrowWrapper}>\n <ArrowDown className={style.arrow} height={14} whidth={14} />\n </div>\n </div>\n ) : null;\n\n const authorContent =\n authorHref || aNameView || socialView ? (\n <div className={style.authorContent}>\n {autName ? aNameView : null}\n {moreDetails ? moreInfoView : null}\n {!moreDetails && authorHref ? linkView : null}\n <div className={style.links}>{socialView}</div>\n </div>\n ) : null;\n\n return (\n <div key={index} className={style.authorWrapper}>\n <input type=\"checkbox\" id={authorToggleId} className={style.toggle} defaultChecked />\n <label htmlFor={authorToggleId}>{logoView}</label>\n {authorContent}\n </div>\n );\n }, authors);\n\n return !isEmpty(authors) ? (\n <div data-name=\"disciplinePartner\" className={style.colDetails}>\n <CatalogSection title={authorLabel}>{authorsView}</CatalogSection>\n </div>\n ) : null;\n};\n\nDisciplinePartners.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nDisciplinePartners.propTypes = {\n authors: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n href: PropTypes.string,\n logo: PropTypes.shape({\n src: PropTypes.string,\n href: PropTypes.string,\n alt: PropTypes.string\n }),\n socialLinks: PropTypes.arrayOf(PropTypes.shape(SocialLink.propTypes))\n })\n ),\n authorTitle: PropTypes.string\n};\n\nexport default DisciplinePartners;\n"],"mappings":"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"}
@@ -15,7 +15,9 @@ export const Overlay = ({
15
15
  border: `15px solid ${convert(`color(${iconColor} a(-90%))`)}`
16
16
  }
17
17
  }, /*#__PURE__*/React.createElement(UploadIcon, {
18
- color: iconColor,
18
+ style: {
19
+ color: iconColor
20
+ },
19
21
  className: style.icon
20
22
  })), /*#__PURE__*/React.createElement("p", null, description));
21
23
  return /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.js","names":["React","PropTypes","NovaSolidDataTransferDataUpload1","UploadIcon","convert","Loader","style","Overlay","description","isLoading","iconColor","dropOverlay","arrow","border","icon","overlay","propTypes","string","bool"],"sources":["../../../src/molecule/drag-and-drop/overlay.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {NovaSolidDataTransferDataUpload1 as UploadIcon} from '@coorpacademy/nova-icons';\nimport {convert} from 'css-color-function';\n\nimport Loader from '../../atom/loader';\n\nimport style from './overlay.css';\n\nexport const Overlay = ({description, isLoading, iconColor}) => {\n const dropOverlay = (\n <React.Fragment>\n <div\n className={style.arrow}\n style={{border: `15px solid ${convert(`color(${iconColor} a(-90%))`)}`}}\n >\n <UploadIcon color={iconColor} className={style.icon} />\n </div>\n <p>{description}</p>\n </React.Fragment>\n );\n\n return <div className={style.overlay}>{isLoading ? <Loader /> : dropOverlay}</div>;\n};\n\nexport default Overlay;\n\nOverlay.propTypes = {\n description: PropTypes.string,\n isLoading: PropTypes.bool,\n iconColor: PropTypes.string\n};\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,gCAAgC,IAAIC,UAA5C,QAA6D,0BAA7D;AACA,SAAQC,OAAR,QAAsB,oBAAtB;AAEA,OAAOC,MAAP,MAAmB,mBAAnB;AAEA,OAAOC,KAAP,MAAkB,eAAlB;AAEA,OAAO,MAAMC,OAAO,GAAG,CAAC;EAACC,WAAD;EAAcC,SAAd;EAAyBC;AAAzB,CAAD,KAAyC;EAC9D,MAAMC,WAAW,gBACf,oBAAC,KAAD,CAAO,QAAP,qBACE;IACE,SAAS,EAAEL,KAAK,CAACM,KADnB;IAEE,KAAK,EAAE;MAACC,MAAM,EAAG,cAAaT,OAAO,CAAE,SAAQM,SAAU,WAApB,CAAgC;IAA9D;EAFT,gBAIE,oBAAC,UAAD;IAAY,KAAK,EAAEA,SAAnB;IAA8B,SAAS,EAAEJ,KAAK,CAACQ;EAA/C,EAJF,CADF,eAOE,+BAAIN,WAAJ,CAPF,CADF;EAYA,oBAAO;IAAK,SAAS,EAAEF,KAAK,CAACS;EAAtB,GAAgCN,SAAS,gBAAG,oBAAC,MAAD,OAAH,GAAgBE,WAAzD,CAAP;AACD,CAdM;AAgBP,eAAeJ,OAAf;AAEAA,OAAO,CAACS,SAAR,2CAAoB;EAClBR,WAAW,EAAEP,SAAS,CAACgB,MADL;EAElBR,SAAS,EAAER,SAAS,CAACiB,IAFH;EAGlBR,SAAS,EAAET,SAAS,CAACgB;AAHH,CAApB"}
1
+ {"version":3,"file":"overlay.js","names":["React","PropTypes","NovaSolidDataTransferDataUpload1","UploadIcon","convert","Loader","style","Overlay","description","isLoading","iconColor","dropOverlay","arrow","border","color","icon","overlay","propTypes","string","bool"],"sources":["../../../src/molecule/drag-and-drop/overlay.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {NovaSolidDataTransferDataUpload1 as UploadIcon} from '@coorpacademy/nova-icons';\nimport {convert} from 'css-color-function';\n\nimport Loader from '../../atom/loader';\n\nimport style from './overlay.css';\n\nexport const Overlay = ({description, isLoading, iconColor}) => {\n const dropOverlay = (\n <React.Fragment>\n <div\n className={style.arrow}\n style={{border: `15px solid ${convert(`color(${iconColor} a(-90%))`)}`}}\n >\n <UploadIcon style={{color: iconColor}} className={style.icon} />\n </div>\n <p>{description}</p>\n </React.Fragment>\n );\n\n return <div className={style.overlay}>{isLoading ? <Loader /> : dropOverlay}</div>;\n};\n\nexport default Overlay;\n\nOverlay.propTypes = {\n description: PropTypes.string,\n isLoading: PropTypes.bool,\n iconColor: PropTypes.string\n};\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,gCAAgC,IAAIC,UAA5C,QAA6D,0BAA7D;AACA,SAAQC,OAAR,QAAsB,oBAAtB;AAEA,OAAOC,MAAP,MAAmB,mBAAnB;AAEA,OAAOC,KAAP,MAAkB,eAAlB;AAEA,OAAO,MAAMC,OAAO,GAAG,CAAC;EAACC,WAAD;EAAcC,SAAd;EAAyBC;AAAzB,CAAD,KAAyC;EAC9D,MAAMC,WAAW,gBACf,oBAAC,KAAD,CAAO,QAAP,qBACE;IACE,SAAS,EAAEL,KAAK,CAACM,KADnB;IAEE,KAAK,EAAE;MAACC,MAAM,EAAG,cAAaT,OAAO,CAAE,SAAQM,SAAU,WAApB,CAAgC;IAA9D;EAFT,gBAIE,oBAAC,UAAD;IAAY,KAAK,EAAE;MAACI,KAAK,EAAEJ;IAAR,CAAnB;IAAuC,SAAS,EAAEJ,KAAK,CAACS;EAAxD,EAJF,CADF,eAOE,+BAAIP,WAAJ,CAPF,CADF;EAYA,oBAAO;IAAK,SAAS,EAAEF,KAAK,CAACU;EAAtB,GAAgCP,SAAS,gBAAG,oBAAC,MAAD,OAAH,GAAgBE,WAAzD,CAAP;AACD,CAdM;AAgBP,eAAeJ,OAAf;AAEAA,OAAO,CAACU,SAAR,2CAAoB;EAClBT,WAAW,EAAEP,SAAS,CAACiB,MADL;EAElBT,SAAS,EAAER,SAAS,CAACkB,IAFH;EAGlBT,SAAS,EAAET,SAAS,CAACiB;AAHH,CAApB"}
@@ -132,7 +132,9 @@ export const UploadReport = ({
132
132
  className: style.oval
133
133
  }, /*#__PURE__*/React.createElement(IconType, {
134
134
  className: style.iconHeader,
135
- color: iconColor
135
+ style: {
136
+ color: iconColor
137
+ }
136
138
  }))), fileView, deleteView), /*#__PURE__*/React.createElement("div", {
137
139
  className: style.reportContainer,
138
140
  onClick: stopPropagationHandler
@@ -1 +1 @@
1
- {"version":3,"file":"upload-report.js","names":["React","useCallback","PropTypes","NovaCompositionCoorpacademyValidate","Validated","NovaLineContentEditionBin","TrashIcon","NovaCompositionCoorpacademyWarn","WarnIcon","classnames","EXTERNAL_CONTENT_ICONS","InputText","Button","style","SuccessMessage","message","emoticon","propTypes","string","isRequired","ErrorMessage","buttonTitle","primaryColor","selectButton","backgroundColor","UploadReport","state","warningMessage","type","contentType","fields","mode","orLabel","onDelete","handleDelete","e","stopPropagation","preventDefault","stopPropagationHandler","showMessage","fileName","fileView","fileWrapper","validateIcon","warning","showToolTip","warningIcon","emptyFileWrapper","IconType","icon","iconColor","color","buildField","field","index","deleteView","actionIcon","trashIcon","fieldsList","convert","cap","reportingContainer","reportHeader","iconContainer","oval","iconHeader","reportContainer","or","drop","arrayOf","shape","oneOf","func"],"sources":["../../../src/molecule/drag-and-drop/upload-report.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionCoorpacademyValidate as Validated,\n NovaLineContentEditionBin as TrashIcon,\n NovaCompositionCoorpacademyWarn as WarnIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport {pipe, split, last, map, head, getOr, isEmpty, includes} from 'lodash/fp';\nimport {EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport InputText from '../../atom/input-text';\n\nimport Button from '../../atom/button';\nimport style from './upload-report.css';\n\nconst SuccessMessage = ({message}) => (\n <div>\n <span className={style.emoticon}>🎉</span>\n <p className={style.message}>{message}</p>\n </div>\n);\n\nSuccessMessage.propTypes = {\n message: PropTypes.string.isRequired\n};\n\nconst ErrorMessage = ({message, buttonTitle, primaryColor}) => (\n <div>\n <div>\n <span className={style.emoticon}>🥺</span>\n <p className={style.message}>{message}</p>\n </div>\n <div>\n <Button\n data-name=\"cta\"\n type=\"link\"\n submitValue={buttonTitle}\n className={style.selectButton}\n style={{backgroundColor: primaryColor}}\n />\n </div>\n </div>\n);\n\nErrorMessage.propTypes = {\n message: PropTypes.string.isRequired,\n buttonTitle: PropTypes.string,\n primaryColor: PropTypes.string\n};\n\nexport const UploadReport = ({\n state,\n message,\n warningMessage,\n type: contentType,\n fields,\n mode = 'upload',\n orLabel,\n buttonTitle,\n primaryColor,\n onDelete\n}) => {\n const handleDelete = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n onDelete && onDelete(e);\n },\n [onDelete]\n );\n\n const stopPropagationHandler = useCallback(e => {\n e.stopPropagation();\n e.preventDefault();\n }, []);\n\n const showMessage = includes(state, ['success', 'error']);\n\n const fileName = pipe(head, getOr('', 'value'), split('/'), last)(fields);\n const fileView = fileName ? (\n <div className={style.fileWrapper}>\n <div className={style.fileName} title={fileName}>\n {fileName}\n </div>\n {isEmpty(warningMessage) ? (\n <Validated className={style.validateIcon} />\n ) : (\n <div className={style.warning}>\n <div className={style.showToolTip}>\n <span>{warningMessage}</span>\n </div>\n <div className={style.warningIcon}>\n <WarnIcon width={11} height={11} />\n </div>\n </div>\n )}\n </div>\n ) : (\n <div className={style.emptyFileWrapper} />\n );\n const IconType = EXTERNAL_CONTENT_ICONS[contentType].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[contentType].color;\n const buildField = (field, index) => <InputText {...field} key={index} theme={'cockpit'} />;\n const deleteView = onDelete ? (\n <div onClick={handleDelete} className={classnames(style.actionIcon, style.trashIcon)}>\n <TrashIcon width={20} height={20} />\n </div>\n ) : null;\n const fieldsList = map.convert({cap: false})(buildField, fields);\n return (\n <div className={style.reportingContainer}>\n <div className={style.reportHeader} onClick={stopPropagationHandler}>\n <div className={style.iconContainer} style={{backgroundColor: iconColor}}>\n <div className={style.oval}>\n <IconType className={style.iconHeader} color={iconColor} />\n </div>\n </div>\n {fileView}\n {deleteView}\n </div>\n <div className={style.reportContainer} onClick={stopPropagationHandler}>\n {state === 'success' ? <SuccessMessage message={message} /> : null}\n {state === 'error' ? (\n <ErrorMessage message={message} buttonTitle={buttonTitle} primaryColor={primaryColor} />\n ) : null}\n {mode === 'edit' && !showMessage ? <div>{fieldsList}</div> : null}\n {mode === 'edit' && !showMessage ? <span className={style.or}>{orLabel}</span> : null}\n </div>\n {!showMessage ? (\n <div className={style.drop}>\n <p className={style.message}>{message}</p>\n <Button\n data-name=\"cta\"\n type=\"link\"\n submitValue={buttonTitle}\n className={style.selectButton}\n style={{backgroundColor: primaryColor}}\n />\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default UploadReport;\n\nUploadReport.propTypes = {\n state: PropTypes.string.isRequired,\n message: PropTypes.string.isRequired,\n warningMessage: PropTypes.string,\n orLabel: PropTypes.string,\n type: PropTypes.string,\n fields: PropTypes.arrayOf(\n PropTypes.shape({\n ...InputText.propTypes,\n type: PropTypes.oneOf(['text'])\n })\n ),\n mode: PropTypes.oneOf(['edit', 'upload']),\n buttonTitle: PropTypes.string,\n primaryColor: PropTypes.string,\n onDelete: PropTypes.func\n};\n"],"mappings":";;;;;;;;;;;AAAA,OAAOA,KAAP,IAAeC,WAAf,QAAiC,OAAjC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SACEC,mCAAmC,IAAIC,SADzC,EAEEC,yBAAyB,IAAIC,SAF/B,EAGEC,+BAA+B,IAAIC,QAHrC,QAIO,0BAJP;AAKA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SAAQC,sBAAR,QAAqC,6BAArC;AACA,OAAOC,SAAP,MAAsB,uBAAtB;AAEA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,KAAP,MAAkB,qBAAlB;;AAEA,MAAMC,cAAc,GAAG,CAAC;EAACC;AAAD,CAAD,kBACrB,8CACE;EAAM,SAAS,EAAEF,KAAK,CAACG;AAAvB,kBADF,eAEE;EAAG,SAAS,EAAEH,KAAK,CAACE;AAApB,GAA8BA,OAA9B,CAFF,CADF;;AAOAD,cAAc,CAACG,SAAf,2CAA2B;EACzBF,OAAO,EAAEb,SAAS,CAACgB,MAAV,CAAiBC;AADD,CAA3B;;AAIA,MAAMC,YAAY,GAAG,CAAC;EAACL,OAAD;EAAUM,WAAV;EAAuBC;AAAvB,CAAD,kBACnB,8CACE,8CACE;EAAM,SAAS,EAAET,KAAK,CAACG;AAAvB,kBADF,eAEE;EAAG,SAAS,EAAEH,KAAK,CAACE;AAApB,GAA8BA,OAA9B,CAFF,CADF,eAKE,8CACE,oBAAC,MAAD;EACE,aAAU,KADZ;EAEE,IAAI,EAAC,MAFP;EAGE,WAAW,EAAEM,WAHf;EAIE,SAAS,EAAER,KAAK,CAACU,YAJnB;EAKE,KAAK,EAAE;IAACC,eAAe,EAAEF;EAAlB;AALT,EADF,CALF,CADF;;AAkBAF,YAAY,CAACH,SAAb,2CAAyB;EACvBF,OAAO,EAAEb,SAAS,CAACgB,MAAV,CAAiBC,UADH;EAEvBE,WAAW,EAAEnB,SAAS,CAACgB,MAFA;EAGvBI,YAAY,EAAEpB,SAAS,CAACgB;AAHD,CAAzB;AAMA,OAAO,MAAMO,YAAY,GAAG,CAAC;EAC3BC,KAD2B;EAE3BX,OAF2B;EAG3BY,cAH2B;EAI3BC,IAAI,EAAEC,WAJqB;EAK3BC,MAL2B;EAM3BC,IAAI,GAAG,QANoB;EAO3BC,OAP2B;EAQ3BX,WAR2B;EAS3BC,YAT2B;EAU3BW;AAV2B,CAAD,KAWtB;EACJ,MAAMC,YAAY,GAAGjC,WAAW,CAC9BkC,CAAC,IAAI;IACHA,CAAC,CAACC,eAAF;IACAD,CAAC,CAACE,cAAF;IACAJ,QAAQ,IAAIA,QAAQ,CAACE,CAAD,CAApB;EACD,CAL6B,EAM9B,CAACF,QAAD,CAN8B,CAAhC;EASA,MAAMK,sBAAsB,GAAGrC,WAAW,CAACkC,CAAC,IAAI;IAC9CA,CAAC,CAACC,eAAF;IACAD,CAAC,CAACE,cAAF;EACD,CAHyC,EAGvC,EAHuC,CAA1C;;EAKA,MAAME,WAAW,GAAG,UAASb,KAAT,EAAgB,CAAC,SAAD,EAAY,OAAZ,CAAhB,CAApB;;EAEA,MAAMc,QAAQ,GAAG,aAAW,OAAM,EAAN,EAAU,OAAV,CAAX,EAA+B,OAAM,GAAN,CAA/B,SAAiDV,MAAjD,CAAjB;;EACA,MAAMW,QAAQ,GAAGD,QAAQ,gBACvB;IAAK,SAAS,EAAE3B,KAAK,CAAC6B;EAAtB,gBACE;IAAK,SAAS,EAAE7B,KAAK,CAAC2B,QAAtB;IAAgC,KAAK,EAAEA;EAAvC,GACGA,QADH,CADF,EAIG,SAAQb,cAAR,iBACC,oBAAC,SAAD;IAAW,SAAS,EAAEd,KAAK,CAAC8B;EAA5B,EADD,gBAGC;IAAK,SAAS,EAAE9B,KAAK,CAAC+B;EAAtB,gBACE;IAAK,SAAS,EAAE/B,KAAK,CAACgC;EAAtB,gBACE,kCAAOlB,cAAP,CADF,CADF,eAIE;IAAK,SAAS,EAAEd,KAAK,CAACiC;EAAtB,gBACE,oBAAC,QAAD;IAAU,KAAK,EAAE,EAAjB;IAAqB,MAAM,EAAE;EAA7B,EADF,CAJF,CAPJ,CADuB,gBAmBvB;IAAK,SAAS,EAAEjC,KAAK,CAACkC;EAAtB,EAnBF;EAqBA,MAAMC,QAAQ,GAAGtC,sBAAsB,CAACmB,WAAD,CAAtB,CAAoCoB,IAArD;EACA,MAAMC,SAAS,GAAGxC,sBAAsB,CAACmB,WAAD,CAAtB,CAAoCsB,KAAtD;;EACA,MAAMC,UAAU,GAAG,CAACC,KAAD,EAAQC,KAAR,kBAAkB,oBAAC,SAAD,eAAeD,KAAf;IAAsB,GAAG,EAAEC,KAA3B;IAAkC,KAAK,EAAE;EAAzC,GAArC;;EACA,MAAMC,UAAU,GAAGtB,QAAQ,gBACzB;IAAK,OAAO,EAAEC,YAAd;IAA4B,SAAS,EAAEzB,UAAU,CAACI,KAAK,CAAC2C,UAAP,EAAmB3C,KAAK,CAAC4C,SAAzB;EAAjD,gBACE,oBAAC,SAAD;IAAW,KAAK,EAAE,EAAlB;IAAsB,MAAM,EAAE;EAA9B,EADF,CADyB,GAIvB,IAJJ;;EAKA,MAAMC,UAAU,GAAG,KAAIC,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EAA0BR,UAA1B,EAAsCtB,MAAtC,CAAnB;;EACA,oBACE;IAAK,SAAS,EAAEjB,KAAK,CAACgD;EAAtB,gBACE;IAAK,SAAS,EAAEhD,KAAK,CAACiD,YAAtB;IAAoC,OAAO,EAAExB;EAA7C,gBACE;IAAK,SAAS,EAAEzB,KAAK,CAACkD,aAAtB;IAAqC,KAAK,EAAE;MAACvC,eAAe,EAAE0B;IAAlB;EAA5C,gBACE;IAAK,SAAS,EAAErC,KAAK,CAACmD;EAAtB,gBACE,oBAAC,QAAD;IAAU,SAAS,EAAEnD,KAAK,CAACoD,UAA3B;IAAuC,KAAK,EAAEf;EAA9C,EADF,CADF,CADF,EAMGT,QANH,EAOGc,UAPH,CADF,eAUE;IAAK,SAAS,EAAE1C,KAAK,CAACqD,eAAtB;IAAuC,OAAO,EAAE5B;EAAhD,GACGZ,KAAK,KAAK,SAAV,gBAAsB,oBAAC,cAAD;IAAgB,OAAO,EAAEX;EAAzB,EAAtB,GAA6D,IADhE,EAEGW,KAAK,KAAK,OAAV,gBACC,oBAAC,YAAD;IAAc,OAAO,EAAEX,OAAvB;IAAgC,WAAW,EAAEM,WAA7C;IAA0D,YAAY,EAAEC;EAAxE,EADD,GAEG,IAJN,EAKGS,IAAI,KAAK,MAAT,IAAmB,CAACQ,WAApB,gBAAkC,iCAAMmB,UAAN,CAAlC,GAA4D,IAL/D,EAMG3B,IAAI,KAAK,MAAT,IAAmB,CAACQ,WAApB,gBAAkC;IAAM,SAAS,EAAE1B,KAAK,CAACsD;EAAvB,GAA4BnC,OAA5B,CAAlC,GAAgF,IANnF,CAVF,EAkBG,CAACO,WAAD,gBACC;IAAK,SAAS,EAAE1B,KAAK,CAACuD;EAAtB,gBACE;IAAG,SAAS,EAAEvD,KAAK,CAACE;EAApB,GAA8BA,OAA9B,CADF,eAEE,oBAAC,MAAD;IACE,aAAU,KADZ;IAEE,IAAI,EAAC,MAFP;IAGE,WAAW,EAAEM,WAHf;IAIE,SAAS,EAAER,KAAK,CAACU,YAJnB;IAKE,KAAK,EAAE;MAACC,eAAe,EAAEF;IAAlB;EALT,EAFF,CADD,GAWG,IA7BN,CADF;AAiCD,CA5FM;AA8FP,eAAeG,YAAf;AAEAA,YAAY,CAACR,SAAb,2CAAyB;EACvBS,KAAK,EAAExB,SAAS,CAACgB,MAAV,CAAiBC,UADD;EAEvBJ,OAAO,EAAEb,SAAS,CAACgB,MAAV,CAAiBC,UAFH;EAGvBQ,cAAc,EAAEzB,SAAS,CAACgB,MAHH;EAIvBc,OAAO,EAAE9B,SAAS,CAACgB,MAJI;EAKvBU,IAAI,EAAE1B,SAAS,CAACgB,MALO;EAMvBY,MAAM,EAAE5B,SAAS,CAACmE,OAAV,CACNnE,SAAS,CAACoE,KAAV,cACK3D,SAAS,CAACM,SADf;IAEEW,IAAI,EAAE1B,SAAS,CAACqE,KAAV,CAAgB,CAAC,MAAD,CAAhB;EAFR,GADM,CANe;EAYvBxC,IAAI,EAAE7B,SAAS,CAACqE,KAAV,CAAgB,CAAC,MAAD,EAAS,QAAT,CAAhB,CAZiB;EAavBlD,WAAW,EAAEnB,SAAS,CAACgB,MAbA;EAcvBI,YAAY,EAAEpB,SAAS,CAACgB,MAdD;EAevBe,QAAQ,EAAE/B,SAAS,CAACsE;AAfG,CAAzB"}
1
+ {"version":3,"file":"upload-report.js","names":["React","useCallback","PropTypes","NovaCompositionCoorpacademyValidate","Validated","NovaLineContentEditionBin","TrashIcon","NovaCompositionCoorpacademyWarn","WarnIcon","classnames","EXTERNAL_CONTENT_ICONS","InputText","Button","style","SuccessMessage","message","emoticon","propTypes","string","isRequired","ErrorMessage","buttonTitle","primaryColor","selectButton","backgroundColor","UploadReport","state","warningMessage","type","contentType","fields","mode","orLabel","onDelete","handleDelete","e","stopPropagation","preventDefault","stopPropagationHandler","showMessage","fileName","fileView","fileWrapper","validateIcon","warning","showToolTip","warningIcon","emptyFileWrapper","IconType","icon","iconColor","color","buildField","field","index","deleteView","actionIcon","trashIcon","fieldsList","convert","cap","reportingContainer","reportHeader","iconContainer","oval","iconHeader","reportContainer","or","drop","arrayOf","shape","oneOf","func"],"sources":["../../../src/molecule/drag-and-drop/upload-report.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionCoorpacademyValidate as Validated,\n NovaLineContentEditionBin as TrashIcon,\n NovaCompositionCoorpacademyWarn as WarnIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport {pipe, split, last, map, head, getOr, isEmpty, includes} from 'lodash/fp';\nimport {EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport InputText from '../../atom/input-text';\n\nimport Button from '../../atom/button';\nimport style from './upload-report.css';\n\nconst SuccessMessage = ({message}) => (\n <div>\n <span className={style.emoticon}>🎉</span>\n <p className={style.message}>{message}</p>\n </div>\n);\n\nSuccessMessage.propTypes = {\n message: PropTypes.string.isRequired\n};\n\nconst ErrorMessage = ({message, buttonTitle, primaryColor}) => (\n <div>\n <div>\n <span className={style.emoticon}>🥺</span>\n <p className={style.message}>{message}</p>\n </div>\n <div>\n <Button\n data-name=\"cta\"\n type=\"link\"\n submitValue={buttonTitle}\n className={style.selectButton}\n style={{backgroundColor: primaryColor}}\n />\n </div>\n </div>\n);\n\nErrorMessage.propTypes = {\n message: PropTypes.string.isRequired,\n buttonTitle: PropTypes.string,\n primaryColor: PropTypes.string\n};\n\nexport const UploadReport = ({\n state,\n message,\n warningMessage,\n type: contentType,\n fields,\n mode = 'upload',\n orLabel,\n buttonTitle,\n primaryColor,\n onDelete\n}) => {\n const handleDelete = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n onDelete && onDelete(e);\n },\n [onDelete]\n );\n\n const stopPropagationHandler = useCallback(e => {\n e.stopPropagation();\n e.preventDefault();\n }, []);\n\n const showMessage = includes(state, ['success', 'error']);\n\n const fileName = pipe(head, getOr('', 'value'), split('/'), last)(fields);\n const fileView = fileName ? (\n <div className={style.fileWrapper}>\n <div className={style.fileName} title={fileName}>\n {fileName}\n </div>\n {isEmpty(warningMessage) ? (\n <Validated className={style.validateIcon} />\n ) : (\n <div className={style.warning}>\n <div className={style.showToolTip}>\n <span>{warningMessage}</span>\n </div>\n <div className={style.warningIcon}>\n <WarnIcon width={11} height={11} />\n </div>\n </div>\n )}\n </div>\n ) : (\n <div className={style.emptyFileWrapper} />\n );\n const IconType = EXTERNAL_CONTENT_ICONS[contentType].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[contentType].color;\n const buildField = (field, index) => <InputText {...field} key={index} theme={'cockpit'} />;\n const deleteView = onDelete ? (\n <div onClick={handleDelete} className={classnames(style.actionIcon, style.trashIcon)}>\n <TrashIcon width={20} height={20} />\n </div>\n ) : null;\n const fieldsList = map.convert({cap: false})(buildField, fields);\n return (\n <div className={style.reportingContainer}>\n <div className={style.reportHeader} onClick={stopPropagationHandler}>\n <div className={style.iconContainer} style={{backgroundColor: iconColor}}>\n <div className={style.oval}>\n <IconType className={style.iconHeader} style={{color: iconColor}} />\n </div>\n </div>\n {fileView}\n {deleteView}\n </div>\n <div className={style.reportContainer} onClick={stopPropagationHandler}>\n {state === 'success' ? <SuccessMessage message={message} /> : null}\n {state === 'error' ? (\n <ErrorMessage message={message} buttonTitle={buttonTitle} primaryColor={primaryColor} />\n ) : null}\n {mode === 'edit' && !showMessage ? <div>{fieldsList}</div> : null}\n {mode === 'edit' && !showMessage ? <span className={style.or}>{orLabel}</span> : null}\n </div>\n {!showMessage ? (\n <div className={style.drop}>\n <p className={style.message}>{message}</p>\n <Button\n data-name=\"cta\"\n type=\"link\"\n submitValue={buttonTitle}\n className={style.selectButton}\n style={{backgroundColor: primaryColor}}\n />\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default UploadReport;\n\nUploadReport.propTypes = {\n state: PropTypes.string.isRequired,\n message: PropTypes.string.isRequired,\n warningMessage: PropTypes.string,\n orLabel: PropTypes.string,\n type: PropTypes.string,\n fields: PropTypes.arrayOf(\n PropTypes.shape({\n ...InputText.propTypes,\n type: PropTypes.oneOf(['text'])\n })\n ),\n mode: PropTypes.oneOf(['edit', 'upload']),\n buttonTitle: PropTypes.string,\n primaryColor: PropTypes.string,\n onDelete: PropTypes.func\n};\n"],"mappings":";;;;;;;;;;;AAAA,OAAOA,KAAP,IAAeC,WAAf,QAAiC,OAAjC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SACEC,mCAAmC,IAAIC,SADzC,EAEEC,yBAAyB,IAAIC,SAF/B,EAGEC,+BAA+B,IAAIC,QAHrC,QAIO,0BAJP;AAKA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SAAQC,sBAAR,QAAqC,6BAArC;AACA,OAAOC,SAAP,MAAsB,uBAAtB;AAEA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,KAAP,MAAkB,qBAAlB;;AAEA,MAAMC,cAAc,GAAG,CAAC;EAACC;AAAD,CAAD,kBACrB,8CACE;EAAM,SAAS,EAAEF,KAAK,CAACG;AAAvB,kBADF,eAEE;EAAG,SAAS,EAAEH,KAAK,CAACE;AAApB,GAA8BA,OAA9B,CAFF,CADF;;AAOAD,cAAc,CAACG,SAAf,2CAA2B;EACzBF,OAAO,EAAEb,SAAS,CAACgB,MAAV,CAAiBC;AADD,CAA3B;;AAIA,MAAMC,YAAY,GAAG,CAAC;EAACL,OAAD;EAAUM,WAAV;EAAuBC;AAAvB,CAAD,kBACnB,8CACE,8CACE;EAAM,SAAS,EAAET,KAAK,CAACG;AAAvB,kBADF,eAEE;EAAG,SAAS,EAAEH,KAAK,CAACE;AAApB,GAA8BA,OAA9B,CAFF,CADF,eAKE,8CACE,oBAAC,MAAD;EACE,aAAU,KADZ;EAEE,IAAI,EAAC,MAFP;EAGE,WAAW,EAAEM,WAHf;EAIE,SAAS,EAAER,KAAK,CAACU,YAJnB;EAKE,KAAK,EAAE;IAACC,eAAe,EAAEF;EAAlB;AALT,EADF,CALF,CADF;;AAkBAF,YAAY,CAACH,SAAb,2CAAyB;EACvBF,OAAO,EAAEb,SAAS,CAACgB,MAAV,CAAiBC,UADH;EAEvBE,WAAW,EAAEnB,SAAS,CAACgB,MAFA;EAGvBI,YAAY,EAAEpB,SAAS,CAACgB;AAHD,CAAzB;AAMA,OAAO,MAAMO,YAAY,GAAG,CAAC;EAC3BC,KAD2B;EAE3BX,OAF2B;EAG3BY,cAH2B;EAI3BC,IAAI,EAAEC,WAJqB;EAK3BC,MAL2B;EAM3BC,IAAI,GAAG,QANoB;EAO3BC,OAP2B;EAQ3BX,WAR2B;EAS3BC,YAT2B;EAU3BW;AAV2B,CAAD,KAWtB;EACJ,MAAMC,YAAY,GAAGjC,WAAW,CAC9BkC,CAAC,IAAI;IACHA,CAAC,CAACC,eAAF;IACAD,CAAC,CAACE,cAAF;IACAJ,QAAQ,IAAIA,QAAQ,CAACE,CAAD,CAApB;EACD,CAL6B,EAM9B,CAACF,QAAD,CAN8B,CAAhC;EASA,MAAMK,sBAAsB,GAAGrC,WAAW,CAACkC,CAAC,IAAI;IAC9CA,CAAC,CAACC,eAAF;IACAD,CAAC,CAACE,cAAF;EACD,CAHyC,EAGvC,EAHuC,CAA1C;;EAKA,MAAME,WAAW,GAAG,UAASb,KAAT,EAAgB,CAAC,SAAD,EAAY,OAAZ,CAAhB,CAApB;;EAEA,MAAMc,QAAQ,GAAG,aAAW,OAAM,EAAN,EAAU,OAAV,CAAX,EAA+B,OAAM,GAAN,CAA/B,SAAiDV,MAAjD,CAAjB;;EACA,MAAMW,QAAQ,GAAGD,QAAQ,gBACvB;IAAK,SAAS,EAAE3B,KAAK,CAAC6B;EAAtB,gBACE;IAAK,SAAS,EAAE7B,KAAK,CAAC2B,QAAtB;IAAgC,KAAK,EAAEA;EAAvC,GACGA,QADH,CADF,EAIG,SAAQb,cAAR,iBACC,oBAAC,SAAD;IAAW,SAAS,EAAEd,KAAK,CAAC8B;EAA5B,EADD,gBAGC;IAAK,SAAS,EAAE9B,KAAK,CAAC+B;EAAtB,gBACE;IAAK,SAAS,EAAE/B,KAAK,CAACgC;EAAtB,gBACE,kCAAOlB,cAAP,CADF,CADF,eAIE;IAAK,SAAS,EAAEd,KAAK,CAACiC;EAAtB,gBACE,oBAAC,QAAD;IAAU,KAAK,EAAE,EAAjB;IAAqB,MAAM,EAAE;EAA7B,EADF,CAJF,CAPJ,CADuB,gBAmBvB;IAAK,SAAS,EAAEjC,KAAK,CAACkC;EAAtB,EAnBF;EAqBA,MAAMC,QAAQ,GAAGtC,sBAAsB,CAACmB,WAAD,CAAtB,CAAoCoB,IAArD;EACA,MAAMC,SAAS,GAAGxC,sBAAsB,CAACmB,WAAD,CAAtB,CAAoCsB,KAAtD;;EACA,MAAMC,UAAU,GAAG,CAACC,KAAD,EAAQC,KAAR,kBAAkB,oBAAC,SAAD,eAAeD,KAAf;IAAsB,GAAG,EAAEC,KAA3B;IAAkC,KAAK,EAAE;EAAzC,GAArC;;EACA,MAAMC,UAAU,GAAGtB,QAAQ,gBACzB;IAAK,OAAO,EAAEC,YAAd;IAA4B,SAAS,EAAEzB,UAAU,CAACI,KAAK,CAAC2C,UAAP,EAAmB3C,KAAK,CAAC4C,SAAzB;EAAjD,gBACE,oBAAC,SAAD;IAAW,KAAK,EAAE,EAAlB;IAAsB,MAAM,EAAE;EAA9B,EADF,CADyB,GAIvB,IAJJ;;EAKA,MAAMC,UAAU,GAAG,KAAIC,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EAA0BR,UAA1B,EAAsCtB,MAAtC,CAAnB;;EACA,oBACE;IAAK,SAAS,EAAEjB,KAAK,CAACgD;EAAtB,gBACE;IAAK,SAAS,EAAEhD,KAAK,CAACiD,YAAtB;IAAoC,OAAO,EAAExB;EAA7C,gBACE;IAAK,SAAS,EAAEzB,KAAK,CAACkD,aAAtB;IAAqC,KAAK,EAAE;MAACvC,eAAe,EAAE0B;IAAlB;EAA5C,gBACE;IAAK,SAAS,EAAErC,KAAK,CAACmD;EAAtB,gBACE,oBAAC,QAAD;IAAU,SAAS,EAAEnD,KAAK,CAACoD,UAA3B;IAAuC,KAAK,EAAE;MAACd,KAAK,EAAED;IAAR;EAA9C,EADF,CADF,CADF,EAMGT,QANH,EAOGc,UAPH,CADF,eAUE;IAAK,SAAS,EAAE1C,KAAK,CAACqD,eAAtB;IAAuC,OAAO,EAAE5B;EAAhD,GACGZ,KAAK,KAAK,SAAV,gBAAsB,oBAAC,cAAD;IAAgB,OAAO,EAAEX;EAAzB,EAAtB,GAA6D,IADhE,EAEGW,KAAK,KAAK,OAAV,gBACC,oBAAC,YAAD;IAAc,OAAO,EAAEX,OAAvB;IAAgC,WAAW,EAAEM,WAA7C;IAA0D,YAAY,EAAEC;EAAxE,EADD,GAEG,IAJN,EAKGS,IAAI,KAAK,MAAT,IAAmB,CAACQ,WAApB,gBAAkC,iCAAMmB,UAAN,CAAlC,GAA4D,IAL/D,EAMG3B,IAAI,KAAK,MAAT,IAAmB,CAACQ,WAApB,gBAAkC;IAAM,SAAS,EAAE1B,KAAK,CAACsD;EAAvB,GAA4BnC,OAA5B,CAAlC,GAAgF,IANnF,CAVF,EAkBG,CAACO,WAAD,gBACC;IAAK,SAAS,EAAE1B,KAAK,CAACuD;EAAtB,gBACE;IAAG,SAAS,EAAEvD,KAAK,CAACE;EAApB,GAA8BA,OAA9B,CADF,eAEE,oBAAC,MAAD;IACE,aAAU,KADZ;IAEE,IAAI,EAAC,MAFP;IAGE,WAAW,EAAEM,WAHf;IAIE,SAAS,EAAER,KAAK,CAACU,YAJnB;IAKE,KAAK,EAAE;MAACC,eAAe,EAAEF;IAAlB;EALT,EAFF,CADD,GAWG,IA7BN,CADF;AAiCD,CA5FM;AA8FP,eAAeG,YAAf;AAEAA,YAAY,CAACR,SAAb,2CAAyB;EACvBS,KAAK,EAAExB,SAAS,CAACgB,MAAV,CAAiBC,UADD;EAEvBJ,OAAO,EAAEb,SAAS,CAACgB,MAAV,CAAiBC,UAFH;EAGvBQ,cAAc,EAAEzB,SAAS,CAACgB,MAHH;EAIvBc,OAAO,EAAE9B,SAAS,CAACgB,MAJI;EAKvBU,IAAI,EAAE1B,SAAS,CAACgB,MALO;EAMvBY,MAAM,EAAE5B,SAAS,CAACmE,OAAV,CACNnE,SAAS,CAACoE,KAAV,cACK3D,SAAS,CAACM,SADf;IAEEW,IAAI,EAAE1B,SAAS,CAACqE,KAAV,CAAgB,CAAC,MAAD,CAAhB;EAFR,GADM,CANe;EAYvBxC,IAAI,EAAE7B,SAAS,CAACqE,KAAV,CAAgB,CAAC,MAAD,EAAS,QAAT,CAAhB,CAZiB;EAavBlD,WAAW,EAAEnB,SAAS,CAACgB,MAbA;EAcvBI,YAAY,EAAEpB,SAAS,CAACgB,MAdD;EAevBe,QAAQ,EAAE/B,SAAS,CAACsE;AAfG,CAAzB"}
@@ -107,7 +107,9 @@ class Filters extends React.Component {
107
107
  }, filterTabLabel, /*#__PURE__*/React.createElement("div", {
108
108
  className: style.arrow
109
109
  }, /*#__PURE__*/React.createElement(ArrowDown, {
110
- color: darkColor,
110
+ style: {
111
+ color: darkColor
112
+ },
111
113
  height: 14,
112
114
  "aria-label": moreFilterAriaLabel
113
115
  })))), /*#__PURE__*/React.createElement("div", {
@@ -121,7 +123,9 @@ class Filters extends React.Component {
121
123
  }, sortTabLabel, /*#__PURE__*/React.createElement("div", {
122
124
  className: style.arrow
123
125
  }, /*#__PURE__*/React.createElement(ArrowDown, {
124
- color: darkColor,
126
+ style: {
127
+ color: darkColor
128
+ },
125
129
  height: 14,
126
130
  "aria-label": moreSortAriaLabel
127
131
  })))), /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowDown","ArrowDown","Select","Provider","style","FiltersWrapper","Filters","Component","constructor","props","state","filter","openFilters","sorted","openSorts","handleOpenFilter","bind","handleOpenSort","handleSearch","onToggleFilters","newValue","setState","onToggleSorts","onSearch","render","sorting","filterCTALabel","filterTabLabel","sortCTALabel","sortTabLabel","filters","moreFilterAriaLabel","moreSortAriaLabel","filterGroupAriaLabel","skin","context","defaultColor","darkColor","filtersActive","sortingActive","sortView","undefined","select","search","activeDefault","default","title","arrow","activeWrapperSortBy","wrapperSortBy","activeWrapperFilters","wrapperFilters","wrapper","CTAfilter","backgroundColor","activeSorting","contextTypes","childContextTypes","propTypes","string","bool","shape","func"],"sources":["../../../src/molecule/filters/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Select from '../../atom/select';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\nimport FiltersWrapper from './filters-wrapper';\n\nclass Filters extends React.Component {\n static propTypes = {\n filterCTALabel: PropTypes.string,\n filterTabLabel: PropTypes.string,\n sortCTALabel: PropTypes.string,\n sortTabLabel: PropTypes.string,\n openFilters: PropTypes.bool,\n openSorts: PropTypes.bool,\n filters: FiltersWrapper.propTypes.filters,\n sorting: PropTypes.shape(Select.propTypes),\n onSearch: PropTypes.func,\n onToggleFilters: PropTypes.func,\n onToggleSorts: PropTypes.func,\n moreSortAriaLabel: PropTypes.string,\n moreFilterAriaLabel: PropTypes.string,\n filterGroupAriaLabel: PropTypes.string\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n filter: !!props.openFilters,\n sorted: !!props.openSorts\n };\n this.handleOpenFilter = this.handleOpenFilter.bind(this);\n this.handleOpenSort = this.handleOpenSort.bind(this);\n this.handleSearch = this.handleSearch.bind(this);\n }\n\n handleOpenFilter() {\n const {filter} = this.state;\n const {onToggleFilters} = this.props;\n\n const newValue = !filter;\n\n this.setState({\n filter: newValue,\n sorted: false\n });\n\n if (onToggleFilters) {\n onToggleFilters(newValue);\n }\n }\n\n handleOpenSort() {\n const {sorted} = this.state;\n const {onToggleSorts} = this.props;\n\n const newValue = !sorted;\n\n this.setState({\n sorted: newValue,\n filter: false\n });\n\n if (onToggleSorts) onToggleSorts(newValue);\n }\n\n handleSearch() {\n const {onSearch} = this.props;\n this.setState({\n sorted: false,\n filter: false\n });\n if (onSearch) onSearch();\n }\n\n render() {\n const {\n sorting,\n filterCTALabel,\n filterTabLabel,\n sortCTALabel,\n sortTabLabel,\n filters,\n moreFilterAriaLabel,\n moreSortAriaLabel,\n filterGroupAriaLabel\n } = this.props;\n const {filter, sorted} = this.state;\n const {skin} = this.context;\n\n const defaultColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const filtersActive = filter === true;\n const sortingActive = sorted === true;\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\" className={style.select}>\n <Select {...sorting} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"search\" className={style.search}>\n <div\n data-name=\"filter\"\n data-open={filtersActive}\n className={filtersActive ? style.activeDefault : style.default}\n >\n <div className={style.title} data-name=\"filterButton\" onClick={this.handleOpenFilter}>\n {filterTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} aria-label={moreFilterAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"sortBy\"\n data-open={sortingActive}\n className={sortingActive ? style.activeWrapperSortBy : style.wrapperSortBy}\n >\n <div className={style.title} data-name=\"sortButton\" onClick={this.handleOpenSort}>\n {sortTabLabel}\n <div className={style.arrow}>\n <ArrowDown color={darkColor} height={14} aria-label={moreSortAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"filterWrapper\"\n className={filtersActive ? style.activeWrapperFilters : style.wrapperFilters}\n >\n <FiltersWrapper\n className={style.wrapper}\n filters={filters}\n filterGroupAriaLabel={filterGroupAriaLabel}\n />\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {filterCTALabel}\n </div>\n </div>\n <div\n data-name=\"sortWrapper\"\n className={sortingActive ? style.activeSorting : style.sorting}\n >\n {sortView}\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {sortCTALabel}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default Filters;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowDown","ArrowDown","Select","Provider","style","FiltersWrapper","Filters","Component","constructor","props","state","filter","openFilters","sorted","openSorts","handleOpenFilter","bind","handleOpenSort","handleSearch","onToggleFilters","newValue","setState","onToggleSorts","onSearch","render","sorting","filterCTALabel","filterTabLabel","sortCTALabel","sortTabLabel","filters","moreFilterAriaLabel","moreSortAriaLabel","filterGroupAriaLabel","skin","context","defaultColor","darkColor","filtersActive","sortingActive","sortView","undefined","select","search","activeDefault","default","title","arrow","color","activeWrapperSortBy","wrapperSortBy","activeWrapperFilters","wrapperFilters","wrapper","CTAfilter","backgroundColor","activeSorting","contextTypes","childContextTypes","propTypes","string","bool","shape","func"],"sources":["../../../src/molecule/filters/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Select from '../../atom/select';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\nimport FiltersWrapper from './filters-wrapper';\n\nclass Filters extends React.Component {\n static propTypes = {\n filterCTALabel: PropTypes.string,\n filterTabLabel: PropTypes.string,\n sortCTALabel: PropTypes.string,\n sortTabLabel: PropTypes.string,\n openFilters: PropTypes.bool,\n openSorts: PropTypes.bool,\n filters: FiltersWrapper.propTypes.filters,\n sorting: PropTypes.shape(Select.propTypes),\n onSearch: PropTypes.func,\n onToggleFilters: PropTypes.func,\n onToggleSorts: PropTypes.func,\n moreSortAriaLabel: PropTypes.string,\n moreFilterAriaLabel: PropTypes.string,\n filterGroupAriaLabel: PropTypes.string\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n filter: !!props.openFilters,\n sorted: !!props.openSorts\n };\n this.handleOpenFilter = this.handleOpenFilter.bind(this);\n this.handleOpenSort = this.handleOpenSort.bind(this);\n this.handleSearch = this.handleSearch.bind(this);\n }\n\n handleOpenFilter() {\n const {filter} = this.state;\n const {onToggleFilters} = this.props;\n\n const newValue = !filter;\n\n this.setState({\n filter: newValue,\n sorted: false\n });\n\n if (onToggleFilters) {\n onToggleFilters(newValue);\n }\n }\n\n handleOpenSort() {\n const {sorted} = this.state;\n const {onToggleSorts} = this.props;\n\n const newValue = !sorted;\n\n this.setState({\n sorted: newValue,\n filter: false\n });\n\n if (onToggleSorts) onToggleSorts(newValue);\n }\n\n handleSearch() {\n const {onSearch} = this.props;\n this.setState({\n sorted: false,\n filter: false\n });\n if (onSearch) onSearch();\n }\n\n render() {\n const {\n sorting,\n filterCTALabel,\n filterTabLabel,\n sortCTALabel,\n sortTabLabel,\n filters,\n moreFilterAriaLabel,\n moreSortAriaLabel,\n filterGroupAriaLabel\n } = this.props;\n const {filter, sorted} = this.state;\n const {skin} = this.context;\n\n const defaultColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const filtersActive = filter === true;\n const sortingActive = sorted === true;\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\" className={style.select}>\n <Select {...sorting} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"search\" className={style.search}>\n <div\n data-name=\"filter\"\n data-open={filtersActive}\n className={filtersActive ? style.activeDefault : style.default}\n >\n <div className={style.title} data-name=\"filterButton\" onClick={this.handleOpenFilter}>\n {filterTabLabel}\n <div className={style.arrow}>\n <ArrowDown style={{color: darkColor}} height={14} aria-label={moreFilterAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"sortBy\"\n data-open={sortingActive}\n className={sortingActive ? style.activeWrapperSortBy : style.wrapperSortBy}\n >\n <div className={style.title} data-name=\"sortButton\" onClick={this.handleOpenSort}>\n {sortTabLabel}\n <div className={style.arrow}>\n <ArrowDown style={{color: darkColor}} height={14} aria-label={moreSortAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"filterWrapper\"\n className={filtersActive ? style.activeWrapperFilters : style.wrapperFilters}\n >\n <FiltersWrapper\n className={style.wrapper}\n filters={filters}\n filterGroupAriaLabel={filterGroupAriaLabel}\n />\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {filterCTALabel}\n </div>\n </div>\n <div\n data-name=\"sortWrapper\"\n className={sortingActive ? style.activeSorting : style.sorting}\n >\n {sortView}\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {sortCTALabel}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default Filters;\n"],"mappings":"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"}