@coorpacademy/components 11.9.2-alpha.1 → 11.9.2-alpha.4
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.
- package/es/atom/avatar/index.js +0 -1
- package/es/atom/avatar/index.js.map +1 -1
- package/es/atom/avatar/style.css +1 -0
- package/es/atom/card-image-preview/index.d.ts.map +1 -1
- package/es/atom/card-image-preview/index.js +3 -1
- package/es/atom/card-image-preview/index.js.map +1 -1
- package/es/atom/difficulty-level/index.js +4 -8
- package/es/atom/difficulty-level/index.js.map +1 -1
- package/es/atom/difficulty-level/style.css +1 -0
- package/es/atom/input-html/index.js +6 -2
- package/es/atom/input-html/index.js.map +1 -1
- package/es/atom/life/index.js +9 -3
- package/es/atom/life/index.js.map +1 -1
- package/es/atom/resource-miniature/index.js +3 -1
- package/es/atom/resource-miniature/index.js.map +1 -1
- package/es/atom/review-presentation/index.d.ts.map +1 -1
- package/es/atom/review-presentation/index.js +62 -12
- package/es/atom/review-presentation/index.js.map +1 -1
- package/es/atom/review-presentation/style.css +67 -7
- package/es/molecule/audio/index.js +3 -1
- package/es/molecule/audio/index.js.map +1 -1
- package/es/molecule/battle-request/index.js +3 -1
- package/es/molecule/battle-request/index.js.map +1 -1
- package/es/molecule/brand-download-box/index.js +3 -1
- package/es/molecule/brand-download-box/index.js.map +1 -1
- package/es/molecule/brand-upload-box/index.js +3 -1
- package/es/molecule/brand-upload-box/index.js.map +1 -1
- package/es/molecule/card/favorite.js +6 -2
- package/es/molecule/card/favorite.js.map +1 -1
- package/es/molecule/card/index.d.ts.map +1 -1
- package/es/molecule/card/index.js +6 -2
- package/es/molecule/card/index.js.map +1 -1
- package/es/molecule/card/notification.js +3 -1
- package/es/molecule/card/notification.js.map +1 -1
- package/es/molecule/card-content/index.d.ts.map +1 -1
- package/es/molecule/card-content/index.js +1 -2
- package/es/molecule/card-content/index.js.map +1 -1
- package/es/molecule/card-content/style.css +1 -0
- package/es/molecule/dashboard/cards-list/index.js +9 -3
- package/es/molecule/dashboard/cards-list/index.js.map +1 -1
- package/es/molecule/discipline-partners/index.js +3 -1
- package/es/molecule/discipline-partners/index.js.map +1 -1
- package/es/molecule/drag-and-drop/overlay.js +3 -1
- package/es/molecule/drag-and-drop/overlay.js.map +1 -1
- package/es/molecule/drag-and-drop/upload-report.js +3 -1
- package/es/molecule/drag-and-drop/upload-report.js.map +1 -1
- package/es/molecule/filters/index.js +6 -2
- package/es/molecule/filters/index.js.map +1 -1
- package/es/molecule/pdf/index.js +3 -1
- package/es/molecule/pdf/index.js.map +1 -1
- package/es/molecule/resource-player/index.js +3 -1
- package/es/molecule/resource-player/index.js.map +1 -1
- package/es/molecule/search-form/index.js +3 -1
- package/es/molecule/search-form/index.js.map +1 -1
- package/es/molecule/select-multiple/index.js +6 -2
- package/es/molecule/select-multiple/index.js.map +1 -1
- package/es/molecule/setup-section/index.js +3 -1
- package/es/molecule/setup-section/index.js.map +1 -1
- package/es/molecule/table/index.js +6 -2
- package/es/molecule/table/index.js.map +1 -1
- package/es/molecule/titled-checkbox/index.js +1 -2
- package/es/molecule/titled-checkbox/index.js.map +1 -1
- package/es/molecule/titled-checkbox/style.css +1 -0
- package/es/organism/accordion/coorp-manager/part/index.d.ts.map +1 -1
- package/es/organism/accordion/coorp-manager/part/index.js +13 -6
- package/es/organism/accordion/coorp-manager/part/index.js.map +1 -1
- package/es/organism/accordion/coorp-manager/part/style.css +1 -0
- package/es/organism/accordion/part/index.js +7 -4
- package/es/organism/accordion/part/index.js.map +1 -1
- package/es/organism/accordion/part/style.css +1 -0
- package/es/organism/brand-form/index.js +3 -1
- package/es/organism/brand-form/index.js.map +1 -1
- package/es/organism/get-the-app/index.js +3 -1
- package/es/organism/get-the-app/index.js.map +1 -1
- package/es/organism/mooc-header/index.d.ts.map +1 -1
- package/es/organism/mooc-header/index.js +21 -7
- package/es/organism/mooc-header/index.js.map +1 -1
- package/es/organism/slider/index.js +6 -2
- package/es/organism/slider/index.js.map +1 -1
- package/es/template/activity/engine-stars.css +33 -16
- package/es/template/activity/engine-stars.d.ts +17 -15
- package/es/template/activity/engine-stars.d.ts.map +1 -1
- package/es/template/activity/engine-stars.js +122 -129
- package/es/template/activity/engine-stars.js.map +1 -1
- package/es/template/activity/index.d.ts +0 -1
- package/es/template/activity/index.d.ts.map +1 -1
- package/es/template/activity/index.js +9 -18
- package/es/template/activity/index.js.map +1 -1
- package/es/template/activity/progression-item.js +13 -5
- package/es/template/activity/progression-item.js.map +1 -1
- package/es/template/activity/stars-summary.d.ts +0 -1
- package/es/template/activity/stars-summary.d.ts.map +1 -1
- package/es/template/activity/stars-summary.js +14 -13
- package/es/template/activity/stars-summary.js.map +1 -1
- package/es/template/app-player/player/slides/header/learner.css +1 -0
- package/es/template/app-player/player/slides/header/learner.js +1 -2
- package/es/template/app-player/player/slides/header/learner.js.map +1 -1
- package/es/template/app-player/player/slides/header/microlearning.css +1 -0
- package/es/template/app-player/player/slides/header/microlearning.js +1 -2
- package/es/template/app-player/player/slides/header/microlearning.js.map +1 -1
- package/es/template/app-player/popin-correction/index.js +4 -3
- package/es/template/app-player/popin-correction/index.js.map +1 -1
- package/es/template/app-player/popin-correction/style.css +1 -0
- package/es/template/app-player/popin-end/summary.js +3 -1
- package/es/template/app-player/popin-end/summary.js.map +1 -1
- package/es/template/app-player/popin-header/index.js +6 -3
- package/es/template/app-player/popin-header/index.js.map +1 -1
- package/es/template/app-player/popin-header/style.css +1 -0
- package/lib/atom/avatar/index.js +0 -1
- package/lib/atom/avatar/index.js.map +1 -1
- package/lib/atom/avatar/style.css +1 -0
- package/lib/atom/card-image-preview/index.d.ts.map +1 -1
- package/lib/atom/card-image-preview/index.js +3 -1
- package/lib/atom/card-image-preview/index.js.map +1 -1
- package/lib/atom/difficulty-level/index.js +4 -8
- package/lib/atom/difficulty-level/index.js.map +1 -1
- package/lib/atom/difficulty-level/style.css +1 -0
- package/lib/atom/input-html/index.js +6 -2
- package/lib/atom/input-html/index.js.map +1 -1
- package/lib/atom/life/index.js +9 -3
- package/lib/atom/life/index.js.map +1 -1
- package/lib/atom/resource-miniature/index.js +3 -1
- package/lib/atom/resource-miniature/index.js.map +1 -1
- package/lib/atom/review-presentation/index.d.ts.map +1 -1
- package/lib/atom/review-presentation/index.js +66 -13
- package/lib/atom/review-presentation/index.js.map +1 -1
- package/lib/atom/review-presentation/style.css +67 -7
- package/lib/molecule/audio/index.js +3 -1
- package/lib/molecule/audio/index.js.map +1 -1
- package/lib/molecule/battle-request/index.js +3 -1
- package/lib/molecule/battle-request/index.js.map +1 -1
- package/lib/molecule/brand-download-box/index.js +3 -1
- package/lib/molecule/brand-download-box/index.js.map +1 -1
- package/lib/molecule/brand-upload-box/index.js +3 -1
- package/lib/molecule/brand-upload-box/index.js.map +1 -1
- package/lib/molecule/card/favorite.js +6 -2
- package/lib/molecule/card/favorite.js.map +1 -1
- package/lib/molecule/card/index.d.ts.map +1 -1
- package/lib/molecule/card/index.js +6 -2
- package/lib/molecule/card/index.js.map +1 -1
- package/lib/molecule/card/notification.js +3 -1
- package/lib/molecule/card/notification.js.map +1 -1
- package/lib/molecule/card-content/index.d.ts.map +1 -1
- package/lib/molecule/card-content/index.js +1 -2
- package/lib/molecule/card-content/index.js.map +1 -1
- package/lib/molecule/card-content/style.css +1 -0
- package/lib/molecule/dashboard/cards-list/index.js +9 -3
- package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
- package/lib/molecule/discipline-partners/index.js +3 -1
- package/lib/molecule/discipline-partners/index.js.map +1 -1
- package/lib/molecule/drag-and-drop/overlay.js +3 -1
- package/lib/molecule/drag-and-drop/overlay.js.map +1 -1
- package/lib/molecule/drag-and-drop/upload-report.js +3 -1
- package/lib/molecule/drag-and-drop/upload-report.js.map +1 -1
- package/lib/molecule/filters/index.js +6 -2
- package/lib/molecule/filters/index.js.map +1 -1
- package/lib/molecule/pdf/index.js +3 -1
- package/lib/molecule/pdf/index.js.map +1 -1
- package/lib/molecule/resource-player/index.js +3 -1
- package/lib/molecule/resource-player/index.js.map +1 -1
- package/lib/molecule/search-form/index.js +3 -1
- package/lib/molecule/search-form/index.js.map +1 -1
- package/lib/molecule/select-multiple/index.js +6 -2
- package/lib/molecule/select-multiple/index.js.map +1 -1
- package/lib/molecule/setup-section/index.js +3 -1
- package/lib/molecule/setup-section/index.js.map +1 -1
- package/lib/molecule/table/index.js +6 -2
- package/lib/molecule/table/index.js.map +1 -1
- package/lib/molecule/titled-checkbox/index.js +1 -2
- package/lib/molecule/titled-checkbox/index.js.map +1 -1
- package/lib/molecule/titled-checkbox/style.css +1 -0
- package/lib/organism/accordion/coorp-manager/part/index.d.ts.map +1 -1
- package/lib/organism/accordion/coorp-manager/part/index.js +13 -6
- package/lib/organism/accordion/coorp-manager/part/index.js.map +1 -1
- package/lib/organism/accordion/coorp-manager/part/style.css +1 -0
- package/lib/organism/accordion/part/index.js +7 -4
- package/lib/organism/accordion/part/index.js.map +1 -1
- package/lib/organism/accordion/part/style.css +1 -0
- package/lib/organism/brand-form/index.js +3 -1
- package/lib/organism/brand-form/index.js.map +1 -1
- package/lib/organism/get-the-app/index.js +3 -1
- package/lib/organism/get-the-app/index.js.map +1 -1
- package/lib/organism/mooc-header/index.d.ts.map +1 -1
- package/lib/organism/mooc-header/index.js +21 -7
- package/lib/organism/mooc-header/index.js.map +1 -1
- package/lib/organism/slider/index.js +6 -2
- package/lib/organism/slider/index.js.map +1 -1
- package/lib/template/activity/engine-stars.css +33 -16
- package/lib/template/activity/engine-stars.d.ts +17 -15
- package/lib/template/activity/engine-stars.d.ts.map +1 -1
- package/lib/template/activity/engine-stars.js +122 -135
- package/lib/template/activity/engine-stars.js.map +1 -1
- package/lib/template/activity/index.d.ts +0 -1
- package/lib/template/activity/index.d.ts.map +1 -1
- package/lib/template/activity/index.js +9 -21
- package/lib/template/activity/index.js.map +1 -1
- package/lib/template/activity/progression-item.js +13 -5
- package/lib/template/activity/progression-item.js.map +1 -1
- package/lib/template/activity/stars-summary.d.ts +0 -1
- package/lib/template/activity/stars-summary.d.ts.map +1 -1
- package/lib/template/activity/stars-summary.js +14 -13
- package/lib/template/activity/stars-summary.js.map +1 -1
- package/lib/template/app-player/player/slides/header/learner.css +1 -0
- package/lib/template/app-player/player/slides/header/learner.js +1 -2
- package/lib/template/app-player/player/slides/header/learner.js.map +1 -1
- package/lib/template/app-player/player/slides/header/microlearning.css +1 -0
- package/lib/template/app-player/player/slides/header/microlearning.js +1 -2
- package/lib/template/app-player/player/slides/header/microlearning.js.map +1 -1
- package/lib/template/app-player/popin-correction/index.js +4 -3
- package/lib/template/app-player/popin-correction/index.js.map +1 -1
- package/lib/template/app-player/popin-correction/style.css +1 -0
- package/lib/template/app-player/popin-end/summary.js +3 -1
- package/lib/template/app-player/popin-end/summary.js.map +1 -1
- package/lib/template/app-player/popin-header/index.js +6 -3
- package/lib/template/app-player/popin-header/index.js.map +1 -1
- package/lib/template/app-player/popin-header/style.css +1 -0
- package/locales/en/global.json +0 -1
- package/package.json +3 -4
- package/es/atom/tooltip/index.d.ts +0 -22
- package/es/atom/tooltip/index.d.ts.map +0 -1
- package/es/atom/tooltip/index.js +0 -117
- package/es/atom/tooltip/index.js.map +0 -1
- package/es/atom/tooltip/style.css +0 -96
- package/lib/atom/tooltip/index.d.ts +0 -22
- package/lib/atom/tooltip/index.d.ts.map +0 -1
- package/lib/atom/tooltip/index.js +0 -137
- package/lib/atom/tooltip/index.js.map +0 -1
- package/lib/atom/tooltip/style.css +0 -96
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowRight","ArrowRightIcon","classnames","Link","Provider","Avatar","style","BattleRequest","props","context","translate","skin","username","discipline","level","avatar","href","primaryColor","light","challengeLabel","startLabel","card","borderColor","info","name","disciplineName","innerHTML","__html","start","arrow","contextTypes","childContextTypes","propTypes","string"],"sources":["../../../src/molecule/battle-request/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowRight as ArrowRightIcon} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Link from '../../atom/link';\nimport Provider from '../../atom/provider';\nimport Avatar from '../../atom/avatar';\nimport style from './style.css';\n\nconst BattleRequest = (props, context) => {\n const {translate, skin} = context;\n const {username, discipline, level, avatar, href} = props;\n\n const primaryColor = get('common.primary', skin);\n const light = get('common.light', skin);\n\n const challengeLabel = translate('challenges you on');\n const startLabel = translate('Start battle');\n\n return (\n <Link\n data-name=\"battle-request-dashboard\"\n className={style.card}\n style={{\n borderColor: primaryColor\n }}\n href={href}\n >\n <div>\n <Avatar url={avatar} />\n </div>\n <div className={style.info}>\n <div className={style.name}>\n {username}\n <span>{challengeLabel}</span>\n </div>\n <div className={style.discipline}>\n <div\n className={classnames(style.disciplineName, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: discipline}}\n />\n <div className={style.level}>{level}</div>\n </div>\n </div>\n <div className={style.start}>{startLabel}</div>\n <ArrowRightIcon className={style.arrow}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowRight","ArrowRightIcon","classnames","Link","Provider","Avatar","style","BattleRequest","props","context","translate","skin","username","discipline","level","avatar","href","primaryColor","light","challengeLabel","startLabel","card","borderColor","info","name","disciplineName","innerHTML","__html","start","arrow","color","contextTypes","childContextTypes","propTypes","string"],"sources":["../../../src/molecule/battle-request/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowRight as ArrowRightIcon} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Link from '../../atom/link';\nimport Provider from '../../atom/provider';\nimport Avatar from '../../atom/avatar';\nimport style from './style.css';\n\nconst BattleRequest = (props, context) => {\n const {translate, skin} = context;\n const {username, discipline, level, avatar, href} = props;\n\n const primaryColor = get('common.primary', skin);\n const light = get('common.light', skin);\n\n const challengeLabel = translate('challenges you on');\n const startLabel = translate('Start battle');\n\n return (\n <Link\n data-name=\"battle-request-dashboard\"\n className={style.card}\n style={{\n borderColor: primaryColor\n }}\n href={href}\n >\n <div>\n <Avatar url={avatar} />\n </div>\n <div className={style.info}>\n <div className={style.name}>\n {username}\n <span>{challengeLabel}</span>\n </div>\n <div className={style.discipline}>\n <div\n className={classnames(style.disciplineName, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: discipline}}\n />\n <div className={style.level}>{level}</div>\n </div>\n </div>\n <div className={style.start}>{startLabel}</div>\n <ArrowRightIcon className={style.arrow} style={{color: light}} />\n </Link>\n );\n};\n\nBattleRequest.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nBattleRequest.propTypes = {\n username: PropTypes.string,\n discipline: PropTypes.string,\n level: PropTypes.string,\n avatar: PropTypes.string,\n href: PropTypes.string\n};\n\nexport default BattleRequest;\n"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,mCAAmC,IAAIC,cAA/C,QAAoE,0BAApE;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,aAAa,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACxC,MAAM;IAACC,SAAD;IAAYC;EAAZ,IAAoBF,OAA1B;EACA,MAAM;IAACG,QAAD;IAAWC,UAAX;IAAuBC,KAAvB;IAA8BC,MAA9B;IAAsCC;EAAtC,IAA8CR,KAApD;;EAEA,MAAMS,YAAY,GAAG,KAAI,gBAAJ,EAAsBN,IAAtB,CAArB;;EACA,MAAMO,KAAK,GAAG,KAAI,cAAJ,EAAoBP,IAApB,CAAd;;EAEA,MAAMQ,cAAc,GAAGT,SAAS,CAAC,mBAAD,CAAhC;EACA,MAAMU,UAAU,GAAGV,SAAS,CAAC,cAAD,CAA5B;EAEA,oBACE,oBAAC,IAAD;IACE,aAAU,0BADZ;IAEE,SAAS,EAAEJ,KAAK,CAACe,IAFnB;IAGE,KAAK,EAAE;MACLC,WAAW,EAAEL;IADR,CAHT;IAME,IAAI,EAAED;EANR,gBAQE,8CACE,oBAAC,MAAD;IAAQ,GAAG,EAAED;EAAb,EADF,CARF,eAWE;IAAK,SAAS,EAAET,KAAK,CAACiB;EAAtB,gBACE;IAAK,SAAS,EAAEjB,KAAK,CAACkB;EAAtB,GACGZ,QADH,eAEE,kCAAOO,cAAP,CAFF,CADF,eAKE;IAAK,SAAS,EAAEb,KAAK,CAACO;EAAtB,gBACE;IACE,SAAS,EAAEX,UAAU,CAACI,KAAK,CAACmB,cAAP,EAAuBnB,KAAK,CAACoB,SAA7B,CADvB,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAEd;IAAT;EAH3B,EADF,eAME;IAAK,SAAS,EAAEP,KAAK,CAACQ;EAAtB,GAA8BA,KAA9B,CANF,CALF,CAXF,eAyBE;IAAK,SAAS,EAAER,KAAK,CAACsB;EAAtB,GAA8BR,UAA9B,CAzBF,eA0BE,oBAAC,cAAD;IAAgB,SAAS,EAAEd,KAAK,CAACuB,KAAjC;IAAwC,KAAK,EAAE;MAACC,KAAK,EAAEZ;IAAR;EAA/C,EA1BF,CADF;AA8BD,CAxCD;;AA0CAX,aAAa,CAACwB,YAAd,GAA6B;EAC3BpB,IAAI,EAAEP,QAAQ,CAAC4B,iBAAT,CAA2BrB,IADN;EAE3BD,SAAS,EAAEN,QAAQ,CAAC4B,iBAAT,CAA2BtB;AAFX,CAA7B;AAKAH,aAAa,CAAC0B,SAAd,2CAA0B;EACxBrB,QAAQ,EAAEb,SAAS,CAACmC,MADI;EAExBrB,UAAU,EAAEd,SAAS,CAACmC,MAFE;EAGxBpB,KAAK,EAAEf,SAAS,CAACmC,MAHO;EAIxBnB,MAAM,EAAEhB,SAAS,CAACmC,MAJM;EAKxBlB,IAAI,EAAEjB,SAAS,CAACmC;AALQ,CAA1B;AAQA,eAAe3B,aAAf"}
|
|
@@ -25,7 +25,9 @@ const BrandDownloadBox = (props, context) => {
|
|
|
25
25
|
className: style.texts
|
|
26
26
|
}, /*#__PURE__*/React.createElement(AlertIcon, {
|
|
27
27
|
className: style.icon,
|
|
28
|
-
|
|
28
|
+
style: {
|
|
29
|
+
color: negativeColor
|
|
30
|
+
}
|
|
29
31
|
}), /*#__PURE__*/React.createElement("span", {
|
|
30
32
|
className: style.warning
|
|
31
33
|
}, warning), /*#__PURE__*/React.createElement("p", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","NovaSolidInterfaceFeedbackInterfaceAlertCircle","AlertIcon","Button","Provider","style","BrandDownloadBox","props","context","title","warning","description","href","onClick","submitValue","skin","negativeColor","type","texts","icon","titleTexts","wrapper","button","contextTypes","childContextTypes","propTypes","string","func"],"sources":["../../../src/molecule/brand-download-box/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {NovaSolidInterfaceFeedbackInterfaceAlertCircle as AlertIcon} from '@coorpacademy/nova-icons';\nimport {get} from 'lodash/fp';\nimport Button from '../../atom/button';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nconst BrandDownloadBox = (props, context) => {\n const {title = '', warning = '', description = '', href = '', onClick, submitValue = ''} = props;\n const {skin} = context;\n const negativeColor = get('common.negative', skin);\n\n const type = warning ? (\n <div className={style.texts}>\n <AlertIcon className={style.icon}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","NovaSolidInterfaceFeedbackInterfaceAlertCircle","AlertIcon","Button","Provider","style","BrandDownloadBox","props","context","title","warning","description","href","onClick","submitValue","skin","negativeColor","type","texts","icon","color","titleTexts","wrapper","button","contextTypes","childContextTypes","propTypes","string","func"],"sources":["../../../src/molecule/brand-download-box/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {NovaSolidInterfaceFeedbackInterfaceAlertCircle as AlertIcon} from '@coorpacademy/nova-icons';\nimport {get} from 'lodash/fp';\nimport Button from '../../atom/button';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nconst BrandDownloadBox = (props, context) => {\n const {title = '', warning = '', description = '', href = '', onClick, submitValue = ''} = props;\n const {skin} = context;\n const negativeColor = get('common.negative', skin);\n\n const type = warning ? (\n <div className={style.texts}>\n <AlertIcon className={style.icon} style={{color: negativeColor}} />\n <span className={style.warning}>{warning}</span>\n <p className={style.description}>{description}</p>\n </div>\n ) : (\n <div className={style.titleTexts}>\n <span className={style.title}>{title}</span>\n <p className={style.description}>{description}</p>\n </div>\n );\n\n return (\n <div className={style.wrapper}>\n {type}\n <Button\n className={style.button}\n type=\"link\"\n download\n href={href}\n onClick={onClick}\n submitValue={submitValue}\n />\n </div>\n );\n};\n\nBrandDownloadBox.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nBrandDownloadBox.propTypes = {\n title: PropTypes.string,\n warning: PropTypes.string,\n description: PropTypes.string,\n href: PropTypes.string,\n onClick: PropTypes.func,\n submitValue: PropTypes.string\n};\n\nexport default BrandDownloadBox;\n"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAAQC,8CAA8C,IAAIC,SAA1D,QAA0E,0BAA1E;AAEA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,gBAAgB,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EAC3C,MAAM;IAACC,KAAK,GAAG,EAAT;IAAaC,OAAO,GAAG,EAAvB;IAA2BC,WAAW,GAAG,EAAzC;IAA6CC,IAAI,GAAG,EAApD;IAAwDC,OAAxD;IAAiEC,WAAW,GAAG;EAA/E,IAAqFP,KAA3F;EACA,MAAM;IAACQ;EAAD,IAASP,OAAf;;EACA,MAAMQ,aAAa,GAAG,KAAI,iBAAJ,EAAuBD,IAAvB,CAAtB;;EAEA,MAAME,IAAI,GAAGP,OAAO,gBAClB;IAAK,SAAS,EAAEL,KAAK,CAACa;EAAtB,gBACE,oBAAC,SAAD;IAAW,SAAS,EAAEb,KAAK,CAACc,IAA5B;IAAkC,KAAK,EAAE;MAACC,KAAK,EAAEJ;IAAR;EAAzC,EADF,eAEE;IAAM,SAAS,EAAEX,KAAK,CAACK;EAAvB,GAAiCA,OAAjC,CAFF,eAGE;IAAG,SAAS,EAAEL,KAAK,CAACM;EAApB,GAAkCA,WAAlC,CAHF,CADkB,gBAOlB;IAAK,SAAS,EAAEN,KAAK,CAACgB;EAAtB,gBACE;IAAM,SAAS,EAAEhB,KAAK,CAACI;EAAvB,GAA+BA,KAA/B,CADF,eAEE;IAAG,SAAS,EAAEJ,KAAK,CAACM;EAApB,GAAkCA,WAAlC,CAFF,CAPF;EAaA,oBACE;IAAK,SAAS,EAAEN,KAAK,CAACiB;EAAtB,GACGL,IADH,eAEE,oBAAC,MAAD;IACE,SAAS,EAAEZ,KAAK,CAACkB,MADnB;IAEE,IAAI,EAAC,MAFP;IAGE,QAAQ,MAHV;IAIE,IAAI,EAAEX,IAJR;IAKE,OAAO,EAAEC,OALX;IAME,WAAW,EAAEC;EANf,EAFF,CADF;AAaD,CA/BD;;AAiCAR,gBAAgB,CAACkB,YAAjB,GAAgC;EAC9BT,IAAI,EAAEX,QAAQ,CAACqB,iBAAT,CAA2BV;AADH,CAAhC;AAIAT,gBAAgB,CAACoB,SAAjB,2CAA6B;EAC3BjB,KAAK,EAAET,SAAS,CAAC2B,MADU;EAE3BjB,OAAO,EAAEV,SAAS,CAAC2B,MAFQ;EAG3BhB,WAAW,EAAEX,SAAS,CAAC2B,MAHI;EAI3Bf,IAAI,EAAEZ,SAAS,CAAC2B,MAJW;EAK3Bd,OAAO,EAAEb,SAAS,CAAC4B,IALQ;EAM3Bd,WAAW,EAAEd,SAAS,CAAC2B;AANI,CAA7B;AASA,eAAerB,gBAAf"}
|
|
@@ -66,7 +66,9 @@ class BrandUploadBox extends React.Component {
|
|
|
66
66
|
}, /*#__PURE__*/React.createElement("div", {
|
|
67
67
|
className: style.cont
|
|
68
68
|
}, /*#__PURE__*/React.createElement(UploadIcon, {
|
|
69
|
-
|
|
69
|
+
style: {
|
|
70
|
+
color: brandColor
|
|
71
|
+
},
|
|
70
72
|
className: style.arrow
|
|
71
73
|
}), /*#__PURE__*/React.createElement("div", {
|
|
72
74
|
className: style.desc
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","NovaSolidDataTransferDataUpload1","UploadIcon","Loader","style","BrandUploadBox","Component","constructor","props","state","dragging","handleDragStart","bind","handleDragStop","setState","render","idBox","skin","context","status","content","description","browse","onLoad","name","brandColor","loading","wrapper","dropping","default","cont","arrow","desc","inputFile","propTypes","string","oneOf","func"],"sources":["../../../src/molecule/brand-upload-box/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, get} from 'lodash/fp';\nimport {NovaSolidDataTransferDataUpload1 as UploadIcon} from '@coorpacademy/nova-icons';\nimport Loader from '../../atom/loader';\nimport style from './style.css';\n\nclass BrandUploadBox extends React.Component {\n static propTypes = {\n name: PropTypes.string,\n description: PropTypes.string,\n browse: PropTypes.string,\n status: PropTypes.oneOf(['default', 'loading']),\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragging: false\n };\n\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDragStop = this.handleDragStop.bind(this);\n }\n\n handleDragStart() {\n this.setState({\n dragging: true\n });\n }\n\n handleDragStop() {\n this.setState({\n dragging: false\n });\n }\n\n render() {\n const idBox = uniqueId('drop-box-');\n const {skin} = this.context;\n const {status} = this.props;\n const {dragging} = this.state;\n\n let content;\n\n const {description = '', browse = '', onLoad, name} = this.props;\n const brandColor = get('common.brand', skin);\n\n switch (status) {\n case 'loading':\n content = (\n <div className={style.loading}>\n <Loader />\n </div>\n );\n break;\n\n default:\n content = (\n <div className={style.wrapper}>\n <div id={idBox} className={dragging ? style.dropping : style.default}>\n <div className={style.cont}>\n <UploadIcon
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","NovaSolidDataTransferDataUpload1","UploadIcon","Loader","style","BrandUploadBox","Component","constructor","props","state","dragging","handleDragStart","bind","handleDragStop","setState","render","idBox","skin","context","status","content","description","browse","onLoad","name","brandColor","loading","wrapper","dropping","default","cont","color","arrow","desc","inputFile","propTypes","string","oneOf","func"],"sources":["../../../src/molecule/brand-upload-box/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, get} from 'lodash/fp';\nimport {NovaSolidDataTransferDataUpload1 as UploadIcon} from '@coorpacademy/nova-icons';\nimport Loader from '../../atom/loader';\nimport style from './style.css';\n\nclass BrandUploadBox extends React.Component {\n static propTypes = {\n name: PropTypes.string,\n description: PropTypes.string,\n browse: PropTypes.string,\n status: PropTypes.oneOf(['default', 'loading']),\n onLoad: PropTypes.func\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragging: false\n };\n\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDragStop = this.handleDragStop.bind(this);\n }\n\n handleDragStart() {\n this.setState({\n dragging: true\n });\n }\n\n handleDragStop() {\n this.setState({\n dragging: false\n });\n }\n\n render() {\n const idBox = uniqueId('drop-box-');\n const {skin} = this.context;\n const {status} = this.props;\n const {dragging} = this.state;\n\n let content;\n\n const {description = '', browse = '', onLoad, name} = this.props;\n const brandColor = get('common.brand', skin);\n\n switch (status) {\n case 'loading':\n content = (\n <div className={style.loading}>\n <Loader />\n </div>\n );\n break;\n\n default:\n content = (\n <div className={style.wrapper}>\n <div id={idBox} className={dragging ? style.dropping : style.default}>\n <div className={style.cont}>\n <UploadIcon style={{color: brandColor}} className={style.arrow} />\n <div className={style.desc}>{description}</div>\n <span className={style.browse}>{browse}</span>\n </div>\n <input\n type=\"file\"\n name={name}\n className={style.inputFile}\n onChange={onLoad}\n onDragEnter={this.handleDragStart}\n onDrop={this.handleDragStop}\n onDragLeave={this.handleDragStop}\n />\n </div>\n </div>\n );\n }\n\n return content;\n }\n}\n\nexport default BrandUploadBox;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,gCAAgC,IAAIC,UAA5C,QAA6D,0BAA7D;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,cAAN,SAA6BN,KAAK,CAACO,SAAnC,CAA6C;EAS3CC,WAAW,CAACC,KAAD,EAAQ;IACjB,MAAMA,KAAN;IAEA,KAAKC,KAAL,GAAa;MACXC,QAAQ,EAAE;IADC,CAAb;IAIA,KAAKC,eAAL,GAAuB,KAAKA,eAAL,CAAqBC,IAArB,CAA0B,IAA1B,CAAvB;IACA,KAAKC,cAAL,GAAsB,KAAKA,cAAL,CAAoBD,IAApB,CAAyB,IAAzB,CAAtB;EACD;;EAEDD,eAAe,GAAG;IAChB,KAAKG,QAAL,CAAc;MACZJ,QAAQ,EAAE;IADE,CAAd;EAGD;;EAEDG,cAAc,GAAG;IACf,KAAKC,QAAL,CAAc;MACZJ,QAAQ,EAAE;IADE,CAAd;EAGD;;EAEDK,MAAM,GAAG;IACP,MAAMC,KAAK,GAAG,UAAS,WAAT,CAAd;;IACA,MAAM;MAACC;IAAD,IAAS,KAAKC,OAApB;IACA,MAAM;MAACC;IAAD,IAAW,KAAKX,KAAtB;IACA,MAAM;MAACE;IAAD,IAAa,KAAKD,KAAxB;IAEA,IAAIW,OAAJ;IAEA,MAAM;MAACC,WAAW,GAAG,EAAf;MAAmBC,MAAM,GAAG,EAA5B;MAAgCC,MAAhC;MAAwCC;IAAxC,IAAgD,KAAKhB,KAA3D;;IACA,MAAMiB,UAAU,GAAG,KAAI,cAAJ,EAAoBR,IAApB,CAAnB;;IAEA,QAAQE,MAAR;MACE,KAAK,SAAL;QACEC,OAAO,gBACL;UAAK,SAAS,EAAEhB,KAAK,CAACsB;QAAtB,gBACE,oBAAC,MAAD,OADF,CADF;QAKA;;MAEF;QACEN,OAAO,gBACL;UAAK,SAAS,EAAEhB,KAAK,CAACuB;QAAtB,gBACE;UAAK,EAAE,EAAEX,KAAT;UAAgB,SAAS,EAAEN,QAAQ,GAAGN,KAAK,CAACwB,QAAT,GAAoBxB,KAAK,CAACyB;QAA7D,gBACE;UAAK,SAAS,EAAEzB,KAAK,CAAC0B;QAAtB,gBACE,oBAAC,UAAD;UAAY,KAAK,EAAE;YAACC,KAAK,EAAEN;UAAR,CAAnB;UAAwC,SAAS,EAAErB,KAAK,CAAC4B;QAAzD,EADF,eAEE;UAAK,SAAS,EAAE5B,KAAK,CAAC6B;QAAtB,GAA6BZ,WAA7B,CAFF,eAGE;UAAM,SAAS,EAAEjB,KAAK,CAACkB;QAAvB,GAAgCA,MAAhC,CAHF,CADF,eAME;UACE,IAAI,EAAC,MADP;UAEE,IAAI,EAAEE,IAFR;UAGE,SAAS,EAAEpB,KAAK,CAAC8B,SAHnB;UAIE,QAAQ,EAAEX,MAJZ;UAKE,WAAW,EAAE,KAAKZ,eALpB;UAME,MAAM,EAAE,KAAKE,cANf;UAOE,WAAW,EAAE,KAAKA;QAPpB,EANF,CADF,CADF;IAVJ;;IAgCA,OAAOO,OAAP;EACD;;AA5E0C;;AAAvCf,c,CACG8B,S,2CAAY;EACjBX,IAAI,EAAExB,SAAS,CAACoC,MADC;EAEjBf,WAAW,EAAErB,SAAS,CAACoC,MAFN;EAGjBd,MAAM,EAAEtB,SAAS,CAACoC,MAHD;EAIjBjB,MAAM,EAAEnB,SAAS,CAACqC,KAAV,CAAgB,CAAC,SAAD,EAAY,SAAZ,CAAhB,CAJS;EAKjBd,MAAM,EAAEvB,SAAS,CAACsC;AALD,C;AA8ErB,eAAejC,cAAf"}
|
|
@@ -57,13 +57,17 @@ class Favorite extends React.Component {
|
|
|
57
57
|
}
|
|
58
58
|
}, favorite ? /*#__PURE__*/React.createElement(CheckIcon, {
|
|
59
59
|
className: style.checkIcon,
|
|
60
|
-
|
|
60
|
+
style: {
|
|
61
|
+
color: brandColor
|
|
62
|
+
},
|
|
61
63
|
width: 13,
|
|
62
64
|
height: 13,
|
|
63
65
|
"aria-label": ariaLabel.removeFromFavorite
|
|
64
66
|
}) : /*#__PURE__*/React.createElement(MoreIcon, {
|
|
65
67
|
className: style.moreIcon,
|
|
66
|
-
|
|
68
|
+
style: {
|
|
69
|
+
color: darkColor
|
|
70
|
+
},
|
|
67
71
|
width: 13,
|
|
68
72
|
height: 13,
|
|
69
73
|
"aria-label": ariaLabel.addToFavorite
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"favorite.js","names":["React","PropTypes","classnames","NovaCompositionNavigationMore","MoreIcon","NovaCompositionCoorpacademyCheck","CheckIcon","Provider","style","Favorite","Component","constructor","props","context","handleFavoviteClick","bind","e","disabled","onFavoriteClick","stopPropagation","preventDefault","render","skin","favorite","addFavoriteToolTip","removeFavoriteToolTip","className","ariaLabel","primaryColor","darkColor","brandColor","toolTipView","showToolTip","blocFavorite","selected","color","checkIcon","removeFromFavorite","moreIcon","addToFavorite","contextTypes","childContextTypes","propTypes","string","bool","func","shape"],"sources":["../../../src/molecule/card/favorite.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationMore as MoreIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport style from './favorite.css';\n\nclass Favorite extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n favorite: PropTypes.bool,\n disabled: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onFavoriteClick: PropTypes.func,\n 'aria-label': PropTypes.shape({\n favorite: PropTypes.string,\n addToFavorite: PropTypes.string,\n removeFromFavorite: PropTypes.string\n })\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props, context);\n this.handleFavoviteClick = this.handleFavoviteClick.bind(this);\n }\n\n handleFavoviteClick(e) {\n const {disabled, onFavoriteClick = noop} = this.props;\n e.stopPropagation();\n e.preventDefault();\n if (!disabled) onFavoriteClick(e);\n }\n\n render() {\n const {skin} = this.context;\n const {\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n className,\n 'aria-label': ariaLabel = {}\n } = this.props;\n\n const primaryColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const brandColor = get('common.brand', skin);\n const toolTipView =\n !isEmpty(removeFavoriteToolTip) && !isEmpty(addFavoriteToolTip) ? (\n <div className={style.showToolTip}>\n <span>{favorite ? removeFavoriteToolTip : addFavoriteToolTip}</span>\n </div>\n ) : null;\n\n return (\n <div className={style.blocFavorite}>\n {toolTipView}\n <div\n data-name=\"favorite\"\n aria-label={ariaLabel.favorite}\n className={classnames(style.favorite, className, favorite && style.selected)}\n onClick={this.handleFavoviteClick}\n style={{\n color: primaryColor\n }}\n >\n {favorite ? (\n <CheckIcon\n className={style.checkIcon}\n
|
|
1
|
+
{"version":3,"file":"favorite.js","names":["React","PropTypes","classnames","NovaCompositionNavigationMore","MoreIcon","NovaCompositionCoorpacademyCheck","CheckIcon","Provider","style","Favorite","Component","constructor","props","context","handleFavoviteClick","bind","e","disabled","onFavoriteClick","stopPropagation","preventDefault","render","skin","favorite","addFavoriteToolTip","removeFavoriteToolTip","className","ariaLabel","primaryColor","darkColor","brandColor","toolTipView","showToolTip","blocFavorite","selected","color","checkIcon","removeFromFavorite","moreIcon","addToFavorite","contextTypes","childContextTypes","propTypes","string","bool","func","shape"],"sources":["../../../src/molecule/card/favorite.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationMore as MoreIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport style from './favorite.css';\n\nclass Favorite extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n favorite: PropTypes.bool,\n disabled: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onFavoriteClick: PropTypes.func,\n 'aria-label': PropTypes.shape({\n favorite: PropTypes.string,\n addToFavorite: PropTypes.string,\n removeFromFavorite: PropTypes.string\n })\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props, context);\n this.handleFavoviteClick = this.handleFavoviteClick.bind(this);\n }\n\n handleFavoviteClick(e) {\n const {disabled, onFavoriteClick = noop} = this.props;\n e.stopPropagation();\n e.preventDefault();\n if (!disabled) onFavoriteClick(e);\n }\n\n render() {\n const {skin} = this.context;\n const {\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n className,\n 'aria-label': ariaLabel = {}\n } = this.props;\n\n const primaryColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const brandColor = get('common.brand', skin);\n const toolTipView =\n !isEmpty(removeFavoriteToolTip) && !isEmpty(addFavoriteToolTip) ? (\n <div className={style.showToolTip}>\n <span>{favorite ? removeFavoriteToolTip : addFavoriteToolTip}</span>\n </div>\n ) : null;\n\n return (\n <div className={style.blocFavorite}>\n {toolTipView}\n <div\n data-name=\"favorite\"\n aria-label={ariaLabel.favorite}\n className={classnames(style.favorite, className, favorite && style.selected)}\n onClick={this.handleFavoviteClick}\n style={{\n color: primaryColor\n }}\n >\n {favorite ? (\n <CheckIcon\n className={style.checkIcon}\n style={{color: brandColor}}\n width={13}\n height={13}\n aria-label={ariaLabel.removeFromFavorite}\n />\n ) : (\n <MoreIcon\n className={style.moreIcon}\n style={{color: darkColor}}\n width={13}\n height={13}\n aria-label={ariaLabel.addToFavorite}\n />\n )}\n </div>\n </div>\n );\n }\n}\n\nexport default Favorite;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/index.js"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/index.js"],"names":[],"mappings":";;;;;;AAuHA,uDAuHG"}
|
|
@@ -83,7 +83,9 @@ const CardBackground = ({
|
|
|
83
83
|
|
|
84
84
|
const emptyIcon = empty ? /*#__PURE__*/React.createElement(PicturesIcon, {
|
|
85
85
|
className: style.emptyIcon,
|
|
86
|
-
|
|
86
|
+
style: {
|
|
87
|
+
color: whiteColor
|
|
88
|
+
}
|
|
87
89
|
}) : null;
|
|
88
90
|
return /*#__PURE__*/React.createElement("div", {
|
|
89
91
|
className: classnames(style.imageWrapper, type === 'chapter' ? style.chapterImageWrapper : null)
|
|
@@ -155,7 +157,9 @@ const Card = /*#__PURE__*/memo(function Card(props, context) {
|
|
|
155
157
|
const handleClick = useMemo(() => e => !disabled && onClick(e), [disabled, onClick]);
|
|
156
158
|
const lock = disabled ? /*#__PURE__*/React.createElement(LockIcon, {
|
|
157
159
|
className: style.lockIcon,
|
|
158
|
-
|
|
160
|
+
style: {
|
|
161
|
+
color: whiteColor
|
|
162
|
+
},
|
|
159
163
|
height: 40
|
|
160
164
|
}) : null;
|
|
161
165
|
const inlineBadgeStyle = {
|
|
@@ -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
|
-
|
|
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}
|
|
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":";;;;;;;;;;
|
|
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":"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"}
|
|
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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"}
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAgBA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SACEC,kCAAkC,IAAIC,SADxC,EAEEC,mCAAmC,IAAIC,UAFzC,EAGEC,4BAA4B,IAAIC,WAHlC,EAIEC,gCAAgC,IAAIC,SAJtC,QAKO,0BALP;AAMA,OAAOC,QAAP,MAAqB,wBAArB;AACA,OAAOC,IAAP,MAAiB,YAAjB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,YAAY,GAAGC,KAAK,IAAI;EAC5B,MAAM;IAACC,UAAD;IAAaC,QAAb;IAAuBC;EAAvB,IAAoCH,KAA1C;EACA,oBACE;IAAK,SAAS,EAAEG,SAAhB;IAA2B,OAAO,EAAEF;EAApC,GACGC,QADH,CADF;AAKD,CAPD;;AASAH,YAAY,CAACK,YAAb,GAA4B;EAC1BC,IAAI,EAAET,QAAQ,CAACU,iBAAT,CAA2BD;AADP,CAA5B;AAIAN,YAAY,CAACQ,SAAb,2CAAyB;EACvBN,UAAU,EAAEd,SAAS,CAACqB,IADC;EAEvBN,QAAQ,EAAEf,SAAS,CAACsB,MAFG;EAGvBN,SAAS,EAAEhB,SAAS,CAACsB;AAHE,CAAzB;;AAMA,MAAMC,QAAQ,GAAG,CAACV,KAAD,EAAQW,OAAR,KAAoB;EACnC,MAAM;IAACN;EAAD,IAASM,OAAf;EACA,MAAM;IAACC;EAAD,IAAgBZ,KAAtB;EACA,MAAMa,KAAK,GAAG;IACZC,OAAO,EAAEnB,SADG;IAEZoB,MAAM,EAAEtB;EAFI,CAAd;;EAKA,IAAI,CAACmB,WAAL,EAAkB;IAChB,OAAO,IAAP;EACD;;EAED,MAAMI,IAAI,GAAG,KAAI,aAAJ,EAAmBX,IAAnB,CAAb;;EACA,MAAMY,QAAQ,GAAGJ,KAAK,CAACD,WAAD,CAAtB;EAEA,oBACE,8CACE,oBAAC,QAAD;IAAU,KAAK,EAAEI,IAAjB;IAAuB,SAAS,EAAElB,KAAK,CAACoB,IAAxC;IAA8C,oBAAkBN;EAAhE,EADF,CADF;AAKD,CApBD;;AAsBA,MAAMO,YAAY,GAAGC,IAAI,IAAI;EAC3B,QAAQA,IAAI,IAAIA,IAAI,CAACC,IAArB;IACE,KAAK,SAAL;MACE,OAAO,GAAP;;IACF;MACE,OAAO,GAAP;EAJJ;AAMD,CAPD;;AASA,MAAMC,QAAQ,GAAG,CAACC,IAAD,EAAOC,QAAP,KAAoB;EACnC,IAAID,IAAI,GAAG,CAAX,EAAc,OAAOC,QAAP;EACd,IAAID,IAAI,GAAGC,QAAX,EAAqB,OAAO,CAAP;EACrB,OAAOD,IAAP;AACD,CAJD;;AAMAb,QAAQ,CAACH,SAAT,2CAAqB;EACnBK,WAAW,EAAEzB,SAAS,CAACsB;AADJ,CAArB;;AAIA,MAAMgB,SAAN,SAAwBvC,KAAK,CAACwC,aAA9B,CAA4C;EAoB1CC,WAAW,CAAC3B,KAAD,EAAQ;IACjB,MAAMA,KAAN;IAEA,KAAK4B,KAAL,GAAa;MACXC,UAAU,EAAE,CADD;MAEXL,QAAQ,EAAE,CAFC;MAGXM,UAAU,EAAE,CAHD;MAIXC,WAAW,EAAE,CAJF;MAKXC,iBAAiB,EAAE,EALR;MAMXC,aAAa,EAAE,EANJ;MAOXC,UAAU,EAAE;IAPD,CAAb;IAUA,KAAKC,aAAL,GAAqB,UAAS,GAAT,EAAc,KAAKC,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB,CAAd,CAArB;IACA,KAAKD,YAAL,GAAoB,KAAKA,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB,CAApB;IACA,KAAKC,YAAL,GAAoB,KAAKA,YAAL,CAAkBD,IAAlB,CAAuB,IAAvB,CAApB;IACA,KAAKE,aAAL,GAAqB,KAAKA,aAAL,CAAmBF,IAAnB,CAAwB,IAAxB,CAArB;IACA,KAAKG,QAAL,GAAgB,KAAKA,QAAL,CAAcH,IAAd,CAAmB,IAAnB,CAAhB;IACA,KAAKI,WAAL,GAAmB,UAAS,GAAT,EAAc,KAAKC,WAAL,CAAiBL,IAAjB,CAAsB,IAAtB,CAAd,CAAnB;IACA,KAAKK,WAAL,GAAmB,KAAKA,WAAL,CAAiBL,IAAjB,CAAsB,IAAtB,CAAnB;IACA,KAAKM,eAAL,GAAuB,KAAKA,eAAL,CAAqBN,IAArB,CAA0B,IAA1B,CAAvB;IACA,KAAKO,cAAL,GAAsB,KAAKA,cAAL,CAAoBP,IAApB,CAAyB,IAAzB,CAAtB;IACA,KAAKQ,YAAL,GAAoB,KAAKA,YAAL,CAAkBR,IAAlB,CAAuB,IAAvB,CAApB;EACD;;EAEDS,iBAAiB,GAAG;IAClB,KAAKC,YAAL,CAAkBC,gBAAlB,CAAmC,QAAnC,EAA6C,KAAKb,aAAlD;;IAEA,IAAIc,MAAJ,EAAY;MACVA,MAAM,CAACD,gBAAP,CAAwB,QAAxB,EAAkC,KAAKH,YAAvC;IACD;EACF;;EAEDK,kBAAkB,GAAG;IACnB,MAAM;MAACC,KAAK,GAAG;IAAT,IAAe,KAAKnD,KAA1B;IACA,MAAM;MAAC+B,WAAD;MAAcG;IAAd,IAA4B,KAAKN,KAAvC;;IACA,MAAMwB,aAAa,GAAG,MAAK,KAAIjC,YAAJ,CAAL,QAA6BgC,KAA7B,CAAtB;;IAEA,IAAIC,aAAa,KAAKlB,UAAlB,IAAgCH,WAAW,KAAK,CAApD,EAAuD;MACrD,KAAKsB,qBAAL,CAA2BF,KAA3B,EADqD,CAErD;;MACA,KAAKG,QAAL,CAAc;QACZpB,UAAU,EAAEkB;MADA,CAAd;IAGD;EACF;;EAEDG,oBAAoB,GAAG;IACrB,KAAKR,YAAL,CAAkBS,mBAAlB,CAAsC,QAAtC,EAAgD,KAAKrB,aAArD;;IAEA,IAAIc,MAAJ,EAAY;MACVA,MAAM,CAACO,mBAAP,CAA2B,QAA3B,EAAqC,KAAKX,YAA1C;IACD;;IACD,KAAKJ,WAAL,CAAiBgB,MAAjB;EACD;;EAEDZ,YAAY,GAAG;IACb,MAAM;MAACM,KAAK,GAAG;IAAT,IAAe,KAAKnD,KAA1B;IACA,KAAKqD,qBAAL,CAA2BF,KAA3B;EACD;;EAEDE,qBAAqB,CAACF,KAAD,EAAQ;IAC3B,MAAM;MAACpB,WAAW,EAAE2B,YAAd;MAA4B5B,UAAU,EAAE6B;IAAxC,IAA6D,KAAK/B,KAAxE;;IAEA,MAAMgC,UAAU,GAAG,KAAIzC,YAAJ,EAAkBgC,KAAlB,CAAnB;;IAEA,MAAMnB,iBAAiB,GAAG,MACxB,QACE,CAAC,CAAC6B,aAAD,EAAgBC,QAAhB,CAAD,EAA4BC,SAA5B,KAA0C,CACxC,CAAC,GAAGF,aAAJ,EAAmBC,QAAnB,CADwC,EAExCC,SAAS,GAAGD,QAF4B,CAD5C,EAKE,CAAC,EAAD,EAAK,CAAL,CALF,CADwB,SASxBF,UATwB,CAA1B;;IAWA,MAAM3B,aAAa,GAAG,MACpB,QACE,CAAC,CAAC+B,GAAD,EAAMC,SAAN,EAAiBC,YAAjB,CAAD,EAAiCH,SAAjC,KAA+C;MAC7C,MAAMI,SAAS,GAAGD,YAAY,GAAGH,SAAjC;;MACA,IAAII,SAAS,GAAGT,YAAhB,EAA8B;QAC5B,OAAO,CAAC,CAAC,GAAGM,GAAJ,EAASC,SAAS,GAAG,CAArB,CAAD,EAA0BA,SAAS,GAAG,CAAtC,EAAyCF,SAAzC,CAAP;MACD;;MACD,OAAO,CAAC,CAAC,GAAGC,GAAJ,EAASC,SAAT,CAAD,EAAsBA,SAAtB,EAAiCE,SAAjC,CAAP;IACD,CAPH,EAQE,CAAC,EAAD,EAAK,CAAL,EAAQ,CAAR,CARF,CADoB,SAYpBP,UAZoB,CAAtB;;IAcA,MAAMQ,IAAI,GAAG,WAAUC,QAAQ,IAAIA,QAAQ,IAAIV,iBAAlC,EAAqD3B,iBAArD,CAAb;;IACA,MAAMH,UAAU,GAAGI,aAAa,CAACmC,IAAI,GAAG,CAAR,CAAhC;IAEA,KAAKd,QAAL,CAAc;MACZtB,iBADY;MAEZC,aAFY;MAGZT,QAAQ,EAAE,MAAKS,aAAL,CAHE;MAIZJ;IAJY,CAAd;EAMD;;EAEDc,eAAe,CAAC2B,OAAD,EAAU;IACvB,KAAKvB,YAAL,GAAoBuB,OAApB;IACA,KAAKhB,QAAL,CAAc;MACZxB,UAAU,EAAE,KAAKiB,YAAL,EAAmBjB,UADnB;MAEZC,WAAW,EAAE,KAAKgB,YAAL,EAAmBhB;IAFpB,CAAd;EAID;;EAEDa,cAAc,CAAC2B,KAAD,EAAQ;IACpB,MAAM;MAACpB,KAAK,GAAG;IAAT,IAAe,KAAKnD,KAA1B;IACA,MAAMoB,IAAI,GAAG+B,KAAK,CAACoB,KAAD,CAAlB;IACA,OAAOpD,YAAY,CAACC,IAAD,CAAnB;EACD;;EAEDgB,YAAY,GAAG;IACb,MAAMN,UAAU,GAAG,KAAKiB,YAAL,EAAmBjB,UAAtC;IACA,KAAKwB,QAAL,CAAc;MAACxB;IAAD,CAAd;IAEA,MAAM;MAACE,iBAAD;MAAoBD;IAApB,IAAmC,KAAKH,KAA9C;IACA,MAAM;MAAC4C;IAAD,IAAa,KAAKxE,KAAxB;;IACA,IAAIwE,QAAJ,EAAc;MACZ,MAAMC,SAAS,GAAG3C,UAAlB;MACA,MAAM4C,UAAU,GAAG5C,UAAU,GAAGC,WAAhC;MAEA,MAAM4C,SAAS,GAAG,WAAUN,QAAQ,IAAIA,QAAQ,GAAGI,SAAjC,EAA4CzC,iBAA5C,IAAiE,CAAnF;;MACA,MAAM4C,UAAU,GAAG,eAAcP,QAAQ,IAAIA,QAAQ,GAAGK,UAArC,EAAiD1C,iBAAjD,CAAnB;;MACA,MAAMoC,IAAI,GAAGO,SAAb;MACA,MAAME,KAAK,GAAGD,UAAU,GAAGR,IAAb,GAAoB,CAAlC;MAEAI,QAAQ,CAACJ,IAAD,EAAOS,KAAP,CAAR;IACD;EACF;;EAEDvC,YAAY,GAAG;IACb,MAAM;MAACT,UAAD;MAAaL;IAAb,IAAyB,KAAKI,KAApC;IACA,KAAKY,QAAL,CAAclB,QAAQ,CAACO,UAAU,GAAG,CAAd,EAAiBL,QAAjB,CAAtB;EACD;;EAEDe,aAAa,GAAG;IACd,MAAM;MAACV,UAAD;MAAaL;IAAb,IAAyB,KAAKI,KAApC;IACA,KAAKY,QAAL,CAAclB,QAAQ,CAACO,UAAU,GAAG,CAAd,EAAiBL,QAAjB,CAAtB;EACD;;EAEDgB,QAAQ,CAACjB,IAAD,EAAO;IACb,MAAM;MAACU,aAAD;MAAgBD;IAAhB,IAAqC,KAAKJ,KAAhD;IACA,MAAMkD,oBAAoB,GAAG7C,aAAa,CAAC8C,OAAd,CAAsBxD,IAAtB,CAA7B;IACA,MAAMyD,YAAY,GAAGhD,iBAAiB,CAAC8C,oBAAD,CAAtC;IACA,KAAK/B,YAAL,CAAkBjB,UAAlB,GAA+BkD,YAA/B;IACA,KAAKtC,WAAL,CAAiBnB,IAAjB;IACA,KAAK+B,QAAL,CAAc;MACZxB,UAAU,EAAEkD;IADA,CAAd;EAGD;;EAEDtC,WAAW,CAACb,UAAD,EAAa;IACtB,KAAKyB,QAAL,CAAc;MACZzB;IADY,CAAd;EAGD;;EAEDoD,MAAM,GAAG;IACP,MAAM;MACJC,KADI;MAEJhF,QAFI;MAGJiD,KAHI;MAIJlD,UAJI;MAKJkF,QALI;MAMJvE,WANI;MAOJ,qBAAqBwE,SAAS,GAAG;IAP7B,IAQF,KAAKpF,KART;IASA,MAAM;MAACK;IAAD,IAAS,KAAKM,OAApB;IACA,MAAM;MAACa;IAAD,IAAa,KAAKI,KAAxB;;IACA,MAAMZ,IAAI,GAAG,OAAM,SAAN,EAAiB,aAAjB,EAAgCX,IAAhC,CAAb;;IACA,MAAMgF,UAAU,GAAGpF,UAAU,GAAGH,KAAK,CAACwF,SAAT,GAAqBxF,KAAK,CAACoF,KAAxD;;IACA,MAAMK,SAAS,GAAG,gBAEhB,KAAI,CAAC,CAACC,GAAD,EAAMpE,IAAN,CAAD,KAAiB;MACnB,oBACE;QAAK,SAAS,EAAEtB,KAAK,CAACsB,IAAtB;QAA4B,GAAG,EAAEoE;MAAjC,gBACE,oBAAC,IAAD,eAAUpE,IAAV;QAAgB,QAAQ,EAAG,GAAE+D,QAAS,IAAGK,GAAI;MAA7C,GADF,CADF;IAKD,CAND,CAFgB,EAShBrC,KATgB,CAAlB;;IAUA,MAAMsC,aAAa,gBACjB;MAAK,SAAS,EAAE3F,KAAK,CAAC4F,MAAtB;MAA8B,OAAO,EAAE,KAAKpD,YAA5C;MAA0D,aAAU;IAApE,gBACE,oBAAC,SAAD;MACE,KAAK,EAAEtB,IADT;MAEE,SAAS,EAAElB,KAAK,CAAC6F,IAFnB;MAGE,KAAK,EAAE,EAHT;MAIE,MAAM,EAAE,EAJV;MAKE,cAAYP,SAAS,CAACQ;IALxB,EADF,CADF;IAWA,MAAMC,cAAc,gBAClB;MAAK,SAAS,EAAE/F,KAAK,CAAC4F,MAAtB;MAA8B,OAAO,EAAE,KAAKnD,aAA5C;MAA2D,aAAU;IAArE,gBACE,oBAAC,UAAD;MACE,KAAK,EAAEvB,IADT;MAEE,SAAS,EAAElB,KAAK,CAACgG,KAFnB;MAGE,KAAK,EAAE,EAHT;MAIE,MAAM,EAAE,EAJV;MAKE,cAAYV,SAAS,CAACW;IALxB,EADF,CADF;IAYA,MAAMC,SAAS,gBACb;MAAM,aAAU,OAAhB;MAAwB,SAAS,EAAEX,UAAnC;MAA+C,OAAO,EAAEpF;IAAxD,gBACE,oBAAC,QAAD;MAAU,WAAW,EAAEW;IAAvB,EADF,eAEE,kCAAOsE,KAAP,CAFF,CADF;IAOA,MAAMe,QAAQ,GAAGzE,QAAQ,GAAG,CAA5B;IACA,MAAM0E,YAAY,GAChBD,QAAQ,IAAI/F,QAAZ,IAAwBD,UAAxB,gBACE,oBAAC,YAAD;MACE,SAAS,EAAEgG,QAAQ,GAAGnG,KAAK,CAACqG,WAAT,GAAuBrG,KAAK,CAACI,QADlD;MAEE,UAAU,EAAED,UAFd;MAGE,QAAQ,EAAEC;IAHZ,EADF,GAMI,IAPN;IASA,MAAMkG,eAAe,GAAGH,QAAQ,gBAC9B;MAAK,SAAS,EAAEnG,KAAK,CAACuG;IAAtB,GACGH,YADH,EAEGT,aAFH,EAGGI,cAHH,CAD8B,GAM5B,IANJ;IAOA,oBACE;MAAK,SAAS,EAAE/F,KAAK,CAACwG,OAAtB;MAA+B,aAAU;IAAzC,gBACE;MAAK,SAAS,EAAExG,KAAK,CAACyG;IAAtB,gBACE,8CACE;MAAK,aAAU,QAAf;MAAwB,SAAS,EAAEzG,KAAK,CAAC0G;IAAzC,GACGR,SADH,EAEGI,eAFH,CADF,eAKE;MAAK,SAAS,EAAEtG,KAAK,CAACqD,KAAtB;MAA6B,GAAG,EAAE,KAAKR;IAAvC,GACG4C,SADH,CALF,CADF,CADF,CADF;EAeD;;AA5QyC;;AAAtC9D,S,CAeGrB,Y,GAAe;EACpBC,IAAI,EAAET,QAAQ,CAACU,iBAAT,CAA2BD,IADb;EAEpBoG,SAAS,EAAE7G,QAAQ,CAACU,iBAAT,CAA2BmG;AAFlB,C;AAflBhF,S,CACGlB,S,2CAAY;EACjBK,WAAW,EAAEzB,SAAS,CAACsB,MADN;EAEjB0E,QAAQ,EAAEhG,SAAS,CAACsB,MAFH;EAGjByE,KAAK,EAAE/F,SAAS,CAACsB,MAHA;EAIjBP,QAAQ,EAAEf,SAAS,CAACsB,MAJH;EAKjB0C,KAAK,EAAEhE,SAAS,CAACuH,OAAV,CAAkBvH,SAAS,CAACwH,KAAV,CAAgB9G,IAAI,CAAC+G,UAArB,CAAlB,CALU;EAMjBpC,QAAQ,EAAErF,SAAS,CAACqB,IANH;EAOjBP,UAAU,EAAEd,SAAS,CAACqB,IAPL;EAQjB,qBAAqBrB,SAAS,CAACwH,KAAV,CAAgB;IACnCf,uBAAuB,EAAEzG,SAAS,CAACsB,MADA;IAEnCsF,wBAAwB,EAAE5G,SAAS,CAACsB;EAFD,CAAhB;AARJ,C;AA8QrB,eAAegB,SAAf"}
|
|
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
|
-
|
|
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", {
|