@coorpacademy/components 11.2.1 → 11.2.2-alpha.6
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/molecule/card-content/index.d.ts.map +1 -1
- package/es/molecule/card-content/index.js +3 -3
- package/es/molecule/card-content/index.js.map +1 -1
- package/es/molecule/dashboard/cards-list/index.d.ts +4 -0
- package/es/molecule/dashboard/cards-list/index.d.ts.map +1 -1
- package/es/molecule/dashboard/cards-list/index.js +11 -4
- package/es/molecule/dashboard/cards-list/index.js.map +1 -1
- package/es/template/app-player/popin-end/index.d.ts +4 -0
- package/es/template/app-player/popin-end/summary.d.ts +4 -0
- package/es/template/common/dashboard/index.d.ts +10 -6
- package/es/template/common/dashboard/index.d.ts.map +1 -1
- package/es/template/common/dashboard/index.js +9 -3
- package/es/template/common/dashboard/index.js.map +1 -1
- package/es/template/common/search-page/index.d.ts +4 -0
- package/es/template/teams-dashboard/index.d.ts +4 -0
- package/lib/molecule/card-content/index.d.ts.map +1 -1
- package/lib/molecule/card-content/index.js +3 -3
- package/lib/molecule/card-content/index.js.map +1 -1
- package/lib/molecule/dashboard/cards-list/index.d.ts +4 -0
- package/lib/molecule/dashboard/cards-list/index.d.ts.map +1 -1
- package/lib/molecule/dashboard/cards-list/index.js +11 -4
- package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
- package/lib/template/app-player/popin-end/index.d.ts +4 -0
- package/lib/template/app-player/popin-end/summary.d.ts +4 -0
- package/lib/template/common/dashboard/index.d.ts +10 -6
- package/lib/template/common/dashboard/index.d.ts.map +1 -1
- package/lib/template/common/dashboard/index.js +9 -3
- package/lib/template/common/dashboard/index.js.map +1 -1
- package/lib/template/common/search-page/index.d.ts +4 -0
- package/lib/template/teams-dashboard/index.d.ts +4 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card-content/index.js"],"names":[],"mappings":";;;;;;;;;;AAyHA;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card-content/index.js"],"names":[],"mappings":";;;;;;;;;;AAyHA;;;;;;;;;;;;;;gBA6EC"}
|
|
@@ -145,10 +145,10 @@ const ContentInfo = ({
|
|
|
145
145
|
"aria-label": _get('progression', ariaLabel)
|
|
146
146
|
}) : null) : null;
|
|
147
147
|
const adaptiveIcon = adaptiv ? /*#__PURE__*/React.createElement("div", {
|
|
148
|
-
className: classnames(style.adaptiveIcon, courseContent ? style.iconShadow : null)
|
|
149
|
-
"aria-label": _get('adaptive', ariaLabel)
|
|
148
|
+
className: classnames(style.adaptiveIcon, courseContent ? style.iconShadow : null)
|
|
150
149
|
}, /*#__PURE__*/React.createElement(AdaptivIcon, {
|
|
151
|
-
height: 25
|
|
150
|
+
height: 25,
|
|
151
|
+
"aria-label": _get('adaptive', ariaLabel)
|
|
152
152
|
})) : null;
|
|
153
153
|
return /*#__PURE__*/React.createElement("div", {
|
|
154
154
|
"data-name": "info",
|
|
@@ -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\n className={classnames(style.adaptiveIcon, courseContent ? style.iconShadow : null)}\n aria-label={get('adaptive', ariaLabel)}\n >\n <AdaptivIcon height={25} />\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\n className={classnames(style.authorIcon, courseContent ? style.iconShadow : null)}\n color=\"inherit\"\n />\n ) : null;\n\n return (\n <div\n data-name=\"author\"\n title={author}\n aria-label={ariaLabel}\n className={classnames(\n style.author,\n courseContent ? style.lightTitle : style.darkAuthorTitle,\n empty ? style.empty : null\n )}\n >\n <span>{author}</span>\n {checkIcon}\n </div>\n );\n};\n\nAuthorName.propTypes = {\n author: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool,\n certifiedAuthor: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst ContentInfo = ({\n adaptiv,\n author,\n certifiedAuthor = false,\n disabled = false,\n empty = false,\n mode = MODES.CARD,\n progress,\n title,\n type,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': ariaLabel\n}) => {\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${progress * 100}%`\n };\n const externalContent = isExternalContent(type);\n const courseContent = type === 'course';\n const chapterContent = type === 'chapter';\n\n const progressBar =\n mode === MODES.HERO || (!empty && !disabled) ? (\n <div className={!isNil(progress) ? style.progressWrapper : style.hideProgressBar}>\n {!disabled ? (\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n aria-label={get('progression', ariaLabel)}\n />\n ) : null}\n </div>\n ) : null;\n\n const adaptiveIcon = adaptiv ? (\n <div className={classnames(style.adaptiveIcon, courseContent ? style.iconShadow : null)}>\n <AdaptivIcon height={25} aria-label={get('adaptive', ariaLabel)} />\n </div>\n ) : null;\n\n return (\n <div\n data-name=\"info\"\n className={classnames(\n THEMES[theme],\n style.infoWrapper,\n mode === MODES.HERO ? style.hero : style.card,\n disabled ? style.progressBarDisabled : null,\n externalContent ? style.externalContent : null\n )}\n >\n <ContentTypeInfo mode={mode} type={type} externalContent={externalContent} />\n <div\n className={classnames(style.cardInfo, chapterContent ? style.microLearningCardInfo : null)}\n >\n <div className={style.iconWrapper}>\n {adaptiveIcon}\n {!empty && badgeLabel && badgeCategory && courseContent ? (\n <ContentBadge category={badgeCategory} label={badgeLabel} />\n ) : null}\n </div>\n <CardTitle title={title} empty={empty} courseContent={courseContent} />\n <AuthorName\n author={author}\n empty={empty}\n courseContent={courseContent}\n certifiedAuthor={certifiedAuthor}\n aria-label={get('author', ariaLabel)}\n />\n </div>\n {progressBar}\n </div>\n );\n};\n\nContentInfo.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nContentInfo.propTypes = {\n adaptiv: PropTypes.bool,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n disabled: PropTypes.bool,\n empty: PropTypes.bool,\n progress: PropTypes.number,\n title: PropTypes.string,\n type: PropTypes.string,\n mode: PropTypes.string,\n badgeCategory: ContentBadge.propTypes.category,\n badgeLabel: ContentBadge.propTypes.label,\n theme: PropTypes.oneOf(keys(THEMES)),\n 'aria-label': PropTypes.shape({\n author: PropTypes.string,\n progression: PropTypes.string,\n adaptive: PropTypes.string\n })\n};\n\nexport default ContentInfo;\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,mCAAmC,IAAIC,WADzC,EAEEC,2BAA2B,IAAIC,SAFjC,EAGEC,gCAAgC,IAAIC,SAHtC,QAIO,0BAJP;AAKA,SAAQC,iBAAR,EAA2BC,sBAA3B,QAAwD,6BAAxD;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,YAAP,MAAyB,0BAAzB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,OAAO,MAAMC,KAAK,GAAG;EACnBC,IAAI,EAAE,MADa;EAEnBC,IAAI,EAAE;AAFa,CAAd;AAKP,OAAO,MAAMC,MAAM,GAAG;EACpBC,OAAO,EAAE,IADW;EAEpBC,YAAY,EAAEN,KAAK,CAACM;AAFA,CAAf;;AAKP,MAAMC,eAAe,GAAG,CAAC;EAACC,IAAD;EAAOC,IAAP;EAAaC;AAAb,CAAD,EAAgCC,OAAhC,KAA4C;EAClE,MAAM;IAACC;EAAD,IAAcD,OAApB;;EACA,IAAIH,IAAI,KAAKP,KAAK,CAACE,IAAnB,EAAyB;IACvB,OAAO,IAAP;EACD;;EAED,IAAIM,IAAI,KAAK,SAAb,EAAwB;IACtB,oBACE;MAAK,SAAS,EAAET,KAAK,CAACa;IAAtB,gBACE,oBAAC,SAAD;MAAW,SAAS,EAAEb,KAAK,CAACc;IAA5B,EADF,eAEE;MAAM,SAAS,EAAEd,KAAK,CAACe;IAAvB,GAA4C,aAA5C,CAFF,CADF;EAMD;;EACD,IAAIL,eAAe,IAAIb,sBAAsB,CAACY,IAAD,CAA7C,EAAqD;IACnD,MAAMO,SAAS,GAAGnB,sBAAsB,CAACY,IAAD,CAAtB,CAA6BQ,KAA/C;IAEA,oBACE;MAAK,SAAS,EAAEjB,KAAK,CAACkB,eAAtB;MAAuC,KAAK,EAAE;QAACD,KAAK,EAAED;MAAR;IAA9C,GACGP,IAAI,KAAK,OAAT,GAAmBG,SAAS,CAAC,wBAAD,CAA5B,GAAyD,EAD5D,EAEGH,IAAI,KAAK,OAAT,GAAmBG,SAAS,CAAC,wBAAD,CAA5B,GAAyD,EAF5D,EAGGH,IAAI,KAAK,SAAT,GAAqBG,SAAS,CAAC,0BAAD,CAA9B,GAA6D,EAHhE,EAIGH,IAAI,KAAK,SAAT,GAAqBG,SAAS,CAAC,0BAAD,CAA9B,GAA6D,EAJhE,CADF;EAQD;;EAED,OAAO,IAAP;AACD,CA5BD;;AA8BAL,eAAe,CAACY,YAAhB,GAA+B;EAC7BC,IAAI,EAAEtB,QAAQ,CAACuB,iBAAT,CAA2BD,IADJ;EAE7BR,SAAS,EAAEd,QAAQ,CAACuB,iBAAT,CAA2BT;AAFT,CAA/B;AAKAL,eAAe,CAACe,SAAhB,2CAA4B;EAC1BZ,eAAe,EAAEtB,SAAS,CAACmC,IADD;EAE1Bd,IAAI,EAAErB,SAAS,CAACoC,MAFU;EAG1BhB,IAAI,EAAEpB,SAAS,CAACoC;AAHU,CAA5B;;AAMA,MAAMC,SAAS,GAAG,CAAC;EAACC,KAAD;EAAQC,KAAR;EAAeC;AAAf,CAAD,KAAmC;EACnD,oBACE;IACE,SAAS,EAAEvC,UAAU,CACnBW,KAAK,CAAC0B,KADa,EAEnB1B,KAAK,CAAC6B,SAFa,EAGnBD,aAAa,GAAG5B,KAAK,CAAC8B,UAAT,GAAsB9B,KAAK,CAAC+B,SAHtB,EAInBJ,KAAK,GAAG3B,KAAK,CAAC2B,KAAT,GAAiB,IAJH,CADvB;IAOE,aAAU,OAPZ;IAQE,KAAK,EAAED,KART,CASE;IATF;IAUE,uBAAuB,EAAE;MAACM,MAAM,EAAEN;IAAT;EAV3B,EADF;AAcD,CAfD;;AAiBAD,SAAS,CAACH,SAAV,2CAAsB;EACpBI,KAAK,EAAEtC,SAAS,CAACoC,MADG;EAEpBG,KAAK,EAAEvC,SAAS,CAACmC,IAFG;EAGpBK,aAAa,EAAExC,SAAS,CAACmC;AAHL,CAAtB;;AAMA,MAAMU,UAAU,GAAG,CAAC;EAACC,MAAD;EAASP,KAAT;EAAgBC,aAAhB;EAA+BO,eAA/B;EAAgD,cAAcC;AAA9D,CAAD,KAA8E;EAC/F,MAAMC,SAAS,GAAGF,eAAe,gBAC/B,oBAAC,SAAD;IACE,SAAS,EAAE9C,UAAU,CAACW,KAAK,CAACsC,UAAP,EAAmBV,aAAa,GAAG5B,KAAK,CAACuC,UAAT,GAAsB,IAAtD,CADvB;IAEE,KAAK,EAAC;EAFR,EAD+B,GAK7B,IALJ;EAOA,oBACE;IACE,aAAU,QADZ;IAEE,KAAK,EAAEL,MAFT;IAGE,cAAYE,SAHd;IAIE,SAAS,EAAE/C,UAAU,CACnBW,KAAK,CAACkC,MADa,EAEnBN,aAAa,GAAG5B,KAAK,CAAC8B,UAAT,GAAsB9B,KAAK,CAACwC,eAFtB,EAGnBb,KAAK,GAAG3B,KAAK,CAAC2B,KAAT,GAAiB,IAHH;EAJvB,gBAUE,kCAAOO,MAAP,CAVF,EAWGG,SAXH,CADF;AAeD,CAvBD;;AAyBAJ,UAAU,CAACX,SAAX,2CAAuB;EACrBY,MAAM,EAAE9C,SAAS,CAACoC,MADG;EAErBG,KAAK,EAAEvC,SAAS,CAACmC,IAFI;EAGrBK,aAAa,EAAExC,SAAS,CAACmC,IAHJ;EAIrBY,eAAe,EAAE/C,SAAS,CAACmC,IAJN;EAKrB,cAAcnC,SAAS,CAACoC;AALH,CAAvB;;AAQA,MAAMiB,WAAW,GAAG,CAAC;EACnBC,OADmB;EAEnBR,MAFmB;EAGnBC,eAAe,GAAG,KAHC;EAInBQ,QAAQ,GAAG,KAJQ;EAKnBhB,KAAK,GAAG,KALW;EAMnBnB,IAAI,GAAGP,KAAK,CAACE,IANM;EAOnByC,QAPmB;EAQnBlB,KARmB;EASnBjB,IATmB;EAUnBoC,aAVmB;EAWnBC,UAXmB;EAYnBC,KAAK,GAAG,SAZW;EAanB,cAAcX;AAbK,CAAD,KAcd;EACJ,MAAMY,gBAAgB,GAAG,SAAzB;EACA,MAAMC,wBAAwB,GAAG;IAC/BC,eAAe,EAAEF,gBADc;IAE/BG,KAAK,EAAG,GAAEP,QAAQ,GAAG,GAAI;EAFM,CAAjC;EAIA,MAAMlC,eAAe,GAAGd,iBAAiB,CAACa,IAAD,CAAzC;EACA,MAAMmB,aAAa,GAAGnB,IAAI,KAAK,QAA/B;EACA,MAAM2C,cAAc,GAAG3C,IAAI,KAAK,SAAhC;EAEA,MAAM4C,WAAW,GACf7C,IAAI,KAAKP,KAAK,CAACC,IAAf,IAAwB,CAACyB,KAAD,IAAU,CAACgB,QAAnC,gBACE;IAAK,SAAS,EAAE,CAAC,OAAMC,QAAN,CAAD,GAAmB5C,KAAK,CAACsD,eAAzB,GAA2CtD,KAAK,CAACuD;EAAjE,GACG,CAACZ,QAAD,gBACC;IACE,aAAU,UADZ;IAEE,SAAS,EAAE3C,KAAK,CAAC4C,QAFnB;IAGE,KAAK,EAAEK,wBAHT;IAIE,cAAY,KAAI,aAAJ,EAAmBb,SAAnB;EAJd,EADD,GAOG,IARN,CADF,GAWI,IAZN;EAcA,MAAMoB,YAAY,GAAGd,OAAO,gBAC1B;IAAK,SAAS,EAAErD,UAAU,CAACW,KAAK,CAACwD,YAAP,EAAqB5B,aAAa,GAAG5B,KAAK,CAACuC,UAAT,GAAsB,IAAxD;EAA1B,gBACE,oBAAC,WAAD;IAAa,MAAM,EAAE,EAArB;IAAyB,cAAY,KAAI,UAAJ,EAAgBH,SAAhB;EAArC,EADF,CAD0B,GAIxB,IAJJ;EAMA,oBACE;IACE,aAAU,MADZ;IAEE,SAAS,EAAE/C,UAAU,CACnBe,MAAM,CAAC2C,KAAD,CADa,EAEnB/C,KAAK,CAACyD,WAFa,EAGnBjD,IAAI,KAAKP,KAAK,CAACC,IAAf,GAAsBF,KAAK,CAAC0D,IAA5B,GAAmC1D,KAAK,CAAC2D,IAHtB,EAInBhB,QAAQ,GAAG3C,KAAK,CAAC4D,mBAAT,GAA+B,IAJpB,EAKnBlD,eAAe,GAAGV,KAAK,CAACU,eAAT,GAA2B,IALvB;EAFvB,gBAUE,oBAAC,eAAD;IAAiB,IAAI,EAAEF,IAAvB;IAA6B,IAAI,EAAEC,IAAnC;IAAyC,eAAe,EAAEC;EAA1D,EAVF,eAWE;IACE,SAAS,EAAErB,UAAU,CAACW,KAAK,CAAC6D,QAAP,EAAiBT,cAAc,GAAGpD,KAAK,CAAC8D,qBAAT,GAAiC,IAAhE;EADvB,gBAGE;IAAK,SAAS,EAAE9D,KAAK,CAAC+D;EAAtB,GACGP,YADH,EAEG,CAAC7B,KAAD,IAAUmB,UAAV,IAAwBD,aAAxB,IAAyCjB,aAAzC,gBACC,oBAAC,YAAD;IAAc,QAAQ,EAAEiB,aAAxB;IAAuC,KAAK,EAAEC;EAA9C,EADD,GAEG,IAJN,CAHF,eASE,oBAAC,SAAD;IAAW,KAAK,EAAEpB,KAAlB;IAAyB,KAAK,EAAEC,KAAhC;IAAuC,aAAa,EAAEC;EAAtD,EATF,eAUE,oBAAC,UAAD;IACE,MAAM,EAAEM,MADV;IAEE,KAAK,EAAEP,KAFT;IAGE,aAAa,EAAEC,aAHjB;IAIE,eAAe,EAAEO,eAJnB;IAKE,cAAY,KAAI,QAAJ,EAAcC,SAAd;EALd,EAVF,CAXF,EA6BGiB,WA7BH,CADF;AAiCD,CA7ED;;AA+EAZ,WAAW,CAACtB,YAAZ,GAA2B;EACzBC,IAAI,EAAEtB,QAAQ,CAACuB,iBAAT,CAA2BD;AADR,CAA3B;AAIAqB,WAAW,CAACnB,SAAZ,2CAAwB;EACtBoB,OAAO,EAAEtD,SAAS,CAACmC,IADG;EAEtBW,MAAM,EAAE9C,SAAS,CAACoC,MAFI;EAGtBW,eAAe,EAAE/C,SAAS,CAACmC,IAHL;EAItBoB,QAAQ,EAAEvD,SAAS,CAACmC,IAJE;EAKtBI,KAAK,EAAEvC,SAAS,CAACmC,IALK;EAMtBqB,QAAQ,EAAExD,SAAS,CAAC4E,MANE;EAOtBtC,KAAK,EAAEtC,SAAS,CAACoC,MAPK;EAQtBf,IAAI,EAAErB,SAAS,CAACoC,MARM;EAStBhB,IAAI,EAAEpB,SAAS,CAACoC,MATM;EAUtBqB,aAAa,EAAE9C,YAAY,CAACuB,SAAb,CAAuB2C,QAVhB;EAWtBnB,UAAU,EAAE/C,YAAY,CAACuB,SAAb,CAAuB4C,KAXb;EAYtBnB,KAAK,EAAE3D,SAAS,CAAC+E,KAAV,CAAgB,MAAK/D,MAAL,CAAhB,CAZe;EAatB,cAAchB,SAAS,CAACgF,KAAV,CAAgB;IAC5BlC,MAAM,EAAE9C,SAAS,CAACoC,MADU;IAE5B6C,WAAW,EAAEjF,SAAS,CAACoC,MAFK;IAG5B8C,QAAQ,EAAElF,SAAS,CAACoC;EAHQ,CAAhB;AAbQ,CAAxB;AAoBA,eAAeiB,WAAf"}
|
|
@@ -8,6 +8,10 @@ declare class CardsList extends React.PureComponent<any, any, any> {
|
|
|
8
8
|
cards: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
9
9
|
onScroll: PropTypes.Requireable<(...args: any[]) => any>;
|
|
10
10
|
onShowMore: PropTypes.Requireable<(...args: any[]) => any>;
|
|
11
|
+
'left-right-arrows-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
|
|
12
|
+
showMoreOnLeftAriaLabel: PropTypes.Requireable<string>;
|
|
13
|
+
showMoreOnRightAriaLabel: PropTypes.Requireable<string>;
|
|
14
|
+
}>>;
|
|
11
15
|
};
|
|
12
16
|
static contextTypes: {
|
|
13
17
|
skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"names":[],"mappings":";AAuFA;IACE
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"names":[],"mappings":";AAuFA;IACE;;;;;;;;;;;;MAYE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAuBC;IApBC;;;;;;;;MAQC;IAED,0DAAgE;IAuGlE,qBAiBC;IAED,qBAGC;IAED,sBAGC;IAED,0BASC;IAxIC,uEAA6D;IA0I/D,mCAIC;IA1DD,oCAMC;IAED,sCAIC;IA1DD,qBAGC;IAlCD,0BAMC;IAED,2BAYC;IAED,6BAOC;IAOD,wCAuCC;IAGC,kBAA2B;IA2D7B,sBAsFC;CACF"}
|
|
@@ -273,7 +273,8 @@ class CardsList extends React.PureComponent {
|
|
|
273
273
|
cards,
|
|
274
274
|
onShowMore,
|
|
275
275
|
dataName,
|
|
276
|
-
contentType
|
|
276
|
+
contentType,
|
|
277
|
+
'left-right-arrows-aria-label': ariaLabel = {}
|
|
277
278
|
} = this.props;
|
|
278
279
|
const {
|
|
279
280
|
skin
|
|
@@ -303,7 +304,8 @@ class CardsList extends React.PureComponent {
|
|
|
303
304
|
color: dark,
|
|
304
305
|
className: style.left,
|
|
305
306
|
width: 10,
|
|
306
|
-
height: 10
|
|
307
|
+
height: 10,
|
|
308
|
+
"aria-label": ariaLabel.showMoreOnLeftAriaLabel
|
|
307
309
|
}));
|
|
308
310
|
const rightArrowView = /*#__PURE__*/React.createElement("div", {
|
|
309
311
|
className: style.circle,
|
|
@@ -313,7 +315,8 @@ class CardsList extends React.PureComponent {
|
|
|
313
315
|
color: dark,
|
|
314
316
|
className: style.right,
|
|
315
317
|
width: 10,
|
|
316
|
-
height: 10
|
|
318
|
+
height: 10,
|
|
319
|
+
"aria-label": ariaLabel.showMoreOnRightAriaLabel
|
|
317
320
|
}));
|
|
318
321
|
const titleView = /*#__PURE__*/React.createElement("span", {
|
|
319
322
|
"data-name": "title",
|
|
@@ -358,7 +361,11 @@ CardsList.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
358
361
|
showMore: PropTypes.string,
|
|
359
362
|
cards: PropTypes.arrayOf(PropTypes.shape(Card.protoTypes)),
|
|
360
363
|
onScroll: PropTypes.func,
|
|
361
|
-
onShowMore: PropTypes.func
|
|
364
|
+
onShowMore: PropTypes.func,
|
|
365
|
+
'left-right-arrows-aria-label': PropTypes.shape({
|
|
366
|
+
showMoreOnLeftAriaLabel: PropTypes.string,
|
|
367
|
+
showMoreOnRightAriaLabel: PropTypes.string
|
|
368
|
+
})
|
|
362
369
|
} : {};
|
|
363
370
|
export default CardsList;
|
|
364
371
|
//# sourceMappingURL=index.js.map
|
|
@@ -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","titleStyle","titleLink","cardsView","key","leftArrowView","circle","left","rightArrowView","right","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 };\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 {title, showMore, cards, onShowMore, dataName, contentType} = 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 color={dark} className={style.left} width={10} height={10} />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","NovaCompositionNavigationArrowLeft","ArrowLeft","NovaCompositionNavigationArrowRight","ArrowRight","NovaSolidContentContentBook1","LearnerIcon","NovaCompositionCoorpacademyTimer","TimerIcon","Provider","Card","style","ShowMoreLink","props","onShowMore","showMore","className","contextTypes","skin","childContextTypes","propTypes","func","string","IconView","context","contentType","ICONS","chapter","course","dark","IconType","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 'left-right-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 'left-right-arrows-aria-label': ariaLabel = {}\n } = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n <Card {...card} dataName={`${dataName}-${key}`} />\n </div>\n );\n })\n )(cards);\n const leftArrowView = (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <ArrowLeft\n color={dark}\n className={style.left}\n width={10}\n height={10}\n aria-label={ariaLabel.showMoreOnLeftAriaLabel}\n />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight\n color={dark}\n className={style.right}\n width={10}\n height={10}\n aria-label={ariaLabel.showMoreOnRightAriaLabel}\n />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"mappings":"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"}
|
|
@@ -111,6 +111,10 @@ declare namespace PopinEnd {
|
|
|
111
111
|
cards: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
112
112
|
onScroll: PropTypes.Requireable<(...args: any[]) => any>;
|
|
113
113
|
onShowMore: PropTypes.Requireable<(...args: any[]) => any>;
|
|
114
|
+
'left-right-arrows-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
|
|
115
|
+
showMoreOnLeftAriaLabel: PropTypes.Requireable<string>;
|
|
116
|
+
showMoreOnRightAriaLabel: PropTypes.Requireable<string>;
|
|
117
|
+
}>>;
|
|
114
118
|
}>>;
|
|
115
119
|
feedback: PropTypes.Requireable<PropTypes.InferProps<{
|
|
116
120
|
title: PropTypes.Requireable<string>;
|
|
@@ -117,6 +117,10 @@ declare namespace Summary {
|
|
|
117
117
|
cards: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
118
118
|
onScroll: PropTypes.Requireable<(...args: any[]) => any>;
|
|
119
119
|
onShowMore: PropTypes.Requireable<(...args: any[]) => any>;
|
|
120
|
+
'left-right-arrows-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
|
|
121
|
+
showMoreOnLeftAriaLabel: PropTypes.Requireable<string>;
|
|
122
|
+
showMoreOnRightAriaLabel: PropTypes.Requireable<string>;
|
|
123
|
+
}>>;
|
|
120
124
|
}>>;
|
|
121
125
|
const feedback: PropTypes.Requireable<PropTypes.InferProps<{
|
|
122
126
|
title: PropTypes.Requireable<string>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export default Dashboard;
|
|
2
2
|
declare function Dashboard(props: any): JSX.Element;
|
|
3
3
|
declare namespace Dashboard {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
const propTypes: {
|
|
5
|
+
hero: any;
|
|
6
|
+
welcome: any;
|
|
7
|
+
sections: PropTypes.Requireable<((PropTypes.InferPropsInner<Pick<any, any>> & Partial<PropTypes.InferPropsInner<Pick<any, never>>>) | null | undefined)[]>;
|
|
8
|
+
cookie: PropTypes.Requireable<PropTypes.InferProps<{
|
|
9
9
|
content: PropTypes.Requireable<string>;
|
|
10
10
|
mode: PropTypes.Requireable<string>;
|
|
11
11
|
header: PropTypes.Requireable<string>;
|
|
@@ -55,7 +55,11 @@ declare namespace Dashboard {
|
|
|
55
55
|
requiredSelection: PropTypes.Requireable<boolean>;
|
|
56
56
|
}> | null | undefined)[]>;
|
|
57
57
|
}>>;
|
|
58
|
-
|
|
58
|
+
'left-right-arrows-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
|
|
59
|
+
showMoreOnLeftAriaLabel: PropTypes.Requireable<string>;
|
|
60
|
+
showMoreOnRightAriaLabel: PropTypes.Requireable<string>;
|
|
61
|
+
}>>;
|
|
62
|
+
};
|
|
59
63
|
}
|
|
60
64
|
import PropTypes from "prop-types";
|
|
61
65
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/common/dashboard/index.js"],"names":[],"mappings":";AAqBA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/common/dashboard/index.js"],"names":[],"mappings":";AAqBA,oDA8CC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
1
3
|
import React from 'react';
|
|
2
4
|
import PropTypes from 'prop-types';
|
|
3
5
|
import Slide from '../../../atom/slide';
|
|
@@ -27,7 +29,8 @@ const Dashboard = props => {
|
|
|
27
29
|
sections = [],
|
|
28
30
|
hero,
|
|
29
31
|
welcome,
|
|
30
|
-
cookie
|
|
32
|
+
cookie,
|
|
33
|
+
'left-right-arrows-aria-label': showMoreOnLeftOrRightAriaLabel
|
|
31
34
|
} = props;
|
|
32
35
|
|
|
33
36
|
const buildSectionComponent = section => {
|
|
@@ -46,7 +49,9 @@ const Dashboard = props => {
|
|
|
46
49
|
return /*#__PURE__*/React.createElement(BattleRequestList, section);
|
|
47
50
|
|
|
48
51
|
case 'cards':
|
|
49
|
-
return /*#__PURE__*/React.createElement(CardsList, section
|
|
52
|
+
return /*#__PURE__*/React.createElement(CardsList, _extends({}, section, {
|
|
53
|
+
"left-right-arrows-aria-label": showMoreOnLeftOrRightAriaLabel
|
|
54
|
+
}));
|
|
50
55
|
|
|
51
56
|
case 'news':
|
|
52
57
|
return /*#__PURE__*/React.createElement(NewsList, section);
|
|
@@ -85,7 +90,8 @@ Dashboard.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
85
90
|
hero: Hero.propTypes.hero,
|
|
86
91
|
welcome: Hero.propTypes.welcome,
|
|
87
92
|
sections: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape(BattleRequestList.propTypes), PropTypes.shape(CardsList.propTypes), PropTypes.shape(NewsList.propTypes), PropTypes.shape(StartBattle.propTypes), PropTypes.shape(ReviewBanner.propTypes)])),
|
|
88
|
-
cookie: PropTypes.shape(CMPopin.propTypes)
|
|
93
|
+
cookie: PropTypes.shape(CMPopin.propTypes),
|
|
94
|
+
'left-right-arrows-aria-label': CardsList.propTypes['left-right-arrows-aria-label']
|
|
89
95
|
} : {};
|
|
90
96
|
export default Dashboard;
|
|
91
97
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","Slide","HeroCard","BattleRequestList","CardsList","NewsList","StartBattle","CMPopin","ReviewBanner","style","Hero","memo","hero","welcome","propTypes","shape","Dashboard","props","sections","cookie","buildSectionComponent","section","type","buildSection","index","sectionView","sectionsList","key","map","wrapper","arrayOf","oneOfType"],"sources":["../../../../src/template/common/dashboard/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Slide from '../../../atom/slide';\nimport HeroCard from '../../../molecule/hero';\nimport BattleRequestList from '../../../molecule/dashboard/battle-request-list';\nimport CardsList from '../../../molecule/dashboard/cards-list';\nimport NewsList from '../../../molecule/dashboard/news-list';\nimport StartBattle from '../../../molecule/dashboard/start-battle';\nimport CMPopin from '../../../molecule/cm-popin';\nimport ReviewBanner from '../../../molecule/dashboard/review-banner';\nimport style from './style.css';\n\nconst Hero = React.memo(function Hero({hero, welcome}) {\n return <div className={style.hero}>{hero ? <HeroCard {...hero} /> : <Slide {...welcome} />}</div>;\n});\n\nHero.propTypes = {\n hero: PropTypes.shape(HeroCard.propTypes),\n welcome: PropTypes.shape(Slide.propTypes)\n};\n\nconst Dashboard = props => {\n const {sections = []
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","Slide","HeroCard","BattleRequestList","CardsList","NewsList","StartBattle","CMPopin","ReviewBanner","style","Hero","memo","hero","welcome","propTypes","shape","Dashboard","props","sections","cookie","showMoreOnLeftOrRightAriaLabel","buildSectionComponent","section","type","buildSection","index","sectionView","sectionsList","key","map","wrapper","arrayOf","oneOfType"],"sources":["../../../../src/template/common/dashboard/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Slide from '../../../atom/slide';\nimport HeroCard from '../../../molecule/hero';\nimport BattleRequestList from '../../../molecule/dashboard/battle-request-list';\nimport CardsList from '../../../molecule/dashboard/cards-list';\nimport NewsList from '../../../molecule/dashboard/news-list';\nimport StartBattle from '../../../molecule/dashboard/start-battle';\nimport CMPopin from '../../../molecule/cm-popin';\nimport ReviewBanner from '../../../molecule/dashboard/review-banner';\nimport style from './style.css';\n\nconst Hero = React.memo(function Hero({hero, welcome}) {\n return <div className={style.hero}>{hero ? <HeroCard {...hero} /> : <Slide {...welcome} />}</div>;\n});\n\nHero.propTypes = {\n hero: PropTypes.shape(HeroCard.propTypes),\n welcome: PropTypes.shape(Slide.propTypes)\n};\n\nconst Dashboard = props => {\n const {\n sections = [],\n hero,\n welcome,\n cookie,\n 'left-right-arrows-aria-label': showMoreOnLeftOrRightAriaLabel\n } = props;\n\n const buildSectionComponent = section => {\n const {type} = section;\n switch (type) {\n case 'hero':\n return <Hero hero={hero} welcome={welcome} />;\n case 'battleRequests':\n return <BattleRequestList {...section} />;\n case 'cards':\n return (\n <CardsList {...section} left-right-arrows-aria-label={showMoreOnLeftOrRightAriaLabel} />\n );\n case 'news':\n return <NewsList {...section} />;\n case 'battle':\n return <StartBattle {...section} />;\n case 'review':\n return <ReviewBanner {...section} />;\n default:\n return null;\n }\n };\n\n const buildSection = (section, index) => {\n const sectionView = buildSectionComponent(section);\n\n return <div key={index}>{sectionView}</div>;\n };\n\n const sectionsList = [{type: 'hero', key: 'hero'}, ...sections].map(section => (\n <div key={section.key}>{buildSection(section)}</div>\n ));\n return (\n <div className={style.wrapper} data-name=\"dashboard\">\n {sectionsList}\n {cookie ? <CMPopin {...cookie} /> : null}\n </div>\n );\n};\n\nDashboard.propTypes = {\n hero: Hero.propTypes.hero,\n welcome: Hero.propTypes.welcome,\n sections: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape(BattleRequestList.propTypes),\n PropTypes.shape(CardsList.propTypes),\n PropTypes.shape(NewsList.propTypes),\n PropTypes.shape(StartBattle.propTypes),\n PropTypes.shape(ReviewBanner.propTypes)\n ])\n ),\n cookie: PropTypes.shape(CMPopin.propTypes),\n 'left-right-arrows-aria-label': CardsList.propTypes['left-right-arrows-aria-label']\n};\nexport default Dashboard;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,KAAP,MAAkB,qBAAlB;AACA,OAAOC,QAAP,MAAqB,wBAArB;AACA,OAAOC,iBAAP,MAA8B,iDAA9B;AACA,OAAOC,SAAP,MAAsB,wCAAtB;AACA,OAAOC,QAAP,MAAqB,uCAArB;AACA,OAAOC,WAAP,MAAwB,0CAAxB;AACA,OAAOC,OAAP,MAAoB,4BAApB;AACA,OAAOC,YAAP,MAAyB,2CAAzB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,IAAI,gBAAGX,KAAK,CAACY,IAAN,CAAW,SAASD,IAAT,CAAc;EAACE,IAAD;EAAOC;AAAP,CAAd,EAA+B;EACrD,oBAAO;IAAK,SAAS,EAAEJ,KAAK,CAACG;EAAtB,GAA6BA,IAAI,gBAAG,oBAAC,QAAD,EAAcA,IAAd,CAAH,gBAA4B,oBAAC,KAAD,EAAWC,OAAX,CAA7D,CAAP;AACD,CAFY,CAAb;AAIAH,IAAI,CAACI,SAAL,2CAAiB;EACfF,IAAI,EAAEZ,SAAS,CAACe,KAAV,CAAgBb,QAAQ,CAACY,SAAzB,CADS;EAEfD,OAAO,EAAEb,SAAS,CAACe,KAAV,CAAgBd,KAAK,CAACa,SAAtB;AAFM,CAAjB;;AAKA,MAAME,SAAS,GAAGC,KAAK,IAAI;EACzB,MAAM;IACJC,QAAQ,GAAG,EADP;IAEJN,IAFI;IAGJC,OAHI;IAIJM,MAJI;IAKJ,gCAAgCC;EAL5B,IAMFH,KANJ;;EAQA,MAAMI,qBAAqB,GAAGC,OAAO,IAAI;IACvC,MAAM;MAACC;IAAD,IAASD,OAAf;;IACA,QAAQC,IAAR;MACE,KAAK,MAAL;QACE,oBAAO,oBAAC,IAAD;UAAM,IAAI,EAAEX,IAAZ;UAAkB,OAAO,EAAEC;QAA3B,EAAP;;MACF,KAAK,gBAAL;QACE,oBAAO,oBAAC,iBAAD,EAAuBS,OAAvB,CAAP;;MACF,KAAK,OAAL;QACE,oBACE,oBAAC,SAAD,eAAeA,OAAf;UAAwB,gCAA8BF;QAAtD,GADF;;MAGF,KAAK,MAAL;QACE,oBAAO,oBAAC,QAAD,EAAcE,OAAd,CAAP;;MACF,KAAK,QAAL;QACE,oBAAO,oBAAC,WAAD,EAAiBA,OAAjB,CAAP;;MACF,KAAK,QAAL;QACE,oBAAO,oBAAC,YAAD,EAAkBA,OAAlB,CAAP;;MACF;QACE,OAAO,IAAP;IAhBJ;EAkBD,CApBD;;EAsBA,MAAME,YAAY,GAAG,CAACF,OAAD,EAAUG,KAAV,KAAoB;IACvC,MAAMC,WAAW,GAAGL,qBAAqB,CAACC,OAAD,CAAzC;IAEA,oBAAO;MAAK,GAAG,EAAEG;IAAV,GAAkBC,WAAlB,CAAP;EACD,CAJD;;EAMA,MAAMC,YAAY,GAAG,CAAC;IAACJ,IAAI,EAAE,MAAP;IAAeK,GAAG,EAAE;EAApB,CAAD,EAA8B,GAAGV,QAAjC,EAA2CW,GAA3C,CAA+CP,OAAO,iBACzE;IAAK,GAAG,EAAEA,OAAO,CAACM;EAAlB,GAAwBJ,YAAY,CAACF,OAAD,CAApC,CADmB,CAArB;EAGA,oBACE;IAAK,SAAS,EAAEb,KAAK,CAACqB,OAAtB;IAA+B,aAAU;EAAzC,GACGH,YADH,EAEGR,MAAM,gBAAG,oBAAC,OAAD,EAAaA,MAAb,CAAH,GAA6B,IAFtC,CADF;AAMD,CA9CD;;AAgDAH,SAAS,CAACF,SAAV,2CAAsB;EACpBF,IAAI,EAAEF,IAAI,CAACI,SAAL,CAAeF,IADD;EAEpBC,OAAO,EAAEH,IAAI,CAACI,SAAL,CAAeD,OAFJ;EAGpBK,QAAQ,EAAElB,SAAS,CAAC+B,OAAV,CACR/B,SAAS,CAACgC,SAAV,CAAoB,CAClBhC,SAAS,CAACe,KAAV,CAAgBZ,iBAAiB,CAACW,SAAlC,CADkB,EAElBd,SAAS,CAACe,KAAV,CAAgBX,SAAS,CAACU,SAA1B,CAFkB,EAGlBd,SAAS,CAACe,KAAV,CAAgBV,QAAQ,CAACS,SAAzB,CAHkB,EAIlBd,SAAS,CAACe,KAAV,CAAgBT,WAAW,CAACQ,SAA5B,CAJkB,EAKlBd,SAAS,CAACe,KAAV,CAAgBP,YAAY,CAACM,SAA7B,CALkB,CAApB,CADQ,CAHU;EAYpBK,MAAM,EAAEnB,SAAS,CAACe,KAAV,CAAgBR,OAAO,CAACO,SAAxB,CAZY;EAapB,gCAAgCV,SAAS,CAACU,SAAV,CAAoB,8BAApB;AAbZ,CAAtB;AAeA,eAAeE,SAAf"}
|
|
@@ -90,6 +90,10 @@ declare namespace SearchPage {
|
|
|
90
90
|
cards: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
91
91
|
onScroll: PropTypes.Requireable<(...args: any[]) => any>;
|
|
92
92
|
onShowMore: PropTypes.Requireable<(...args: any[]) => any>;
|
|
93
|
+
'left-right-arrows-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
|
|
94
|
+
showMoreOnLeftAriaLabel: PropTypes.Requireable<string>;
|
|
95
|
+
showMoreOnRightAriaLabel: PropTypes.Requireable<string>;
|
|
96
|
+
}>>;
|
|
93
97
|
}>>;
|
|
94
98
|
}
|
|
95
99
|
}
|
|
@@ -38,6 +38,10 @@ declare namespace TeamsDashboard {
|
|
|
38
38
|
cards: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
39
39
|
onScroll: PropTypes.Requireable<(...args: any[]) => any>;
|
|
40
40
|
onShowMore: PropTypes.Requireable<(...args: any[]) => any>;
|
|
41
|
+
'left-right-arrows-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
|
|
42
|
+
showMoreOnLeftAriaLabel: PropTypes.Requireable<string>;
|
|
43
|
+
showMoreOnRightAriaLabel: PropTypes.Requireable<string>;
|
|
44
|
+
}>>;
|
|
41
45
|
}> | null | undefined)[]>;
|
|
42
46
|
const isLoading: PropTypes.Requireable<boolean>;
|
|
43
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card-content/index.js"],"names":[],"mappings":";;;;;;;;;;AAyHA;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card-content/index.js"],"names":[],"mappings":";;;;;;;;;;AAyHA;;;;;;;;;;;;;;gBA6EC"}
|
|
@@ -165,10 +165,10 @@ const ContentInfo = ({
|
|
|
165
165
|
"aria-label": (0, _get2.default)('progression', ariaLabel)
|
|
166
166
|
}) : null) : null;
|
|
167
167
|
const adaptiveIcon = adaptiv ? /*#__PURE__*/_react.default.createElement("div", {
|
|
168
|
-
className: (0, _classnames.default)(_style.default.adaptiveIcon, courseContent ? _style.default.iconShadow : null)
|
|
169
|
-
"aria-label": (0, _get2.default)('adaptive', ariaLabel)
|
|
168
|
+
className: (0, _classnames.default)(_style.default.adaptiveIcon, courseContent ? _style.default.iconShadow : null)
|
|
170
169
|
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyAdaptive, {
|
|
171
|
-
height: 25
|
|
170
|
+
height: 25,
|
|
171
|
+
"aria-label": (0, _get2.default)('adaptive', ariaLabel)
|
|
172
172
|
})) : null;
|
|
173
173
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
174
174
|
"data-name": "info",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["MODES","HERO","CARD","THEMES","default","coorpmanager","style","ContentTypeInfo","mode","type","externalContent","context","translate","microLearningIcon","timerIcon","microLearninglabel","EXTERNAL_CONTENT_ICONS","textColor","color","contentTypeInfo","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","bool","string","CardTitle","title","empty","courseContent","classnames","innerHTML","lightTitle","darkTitle","__html","AuthorName","author","certifiedAuthor","ariaLabel","checkIcon","authorIcon","iconShadow","darkAuthorTitle","ContentInfo","adaptiv","disabled","progress","badgeCategory","badgeLabel","theme","progressBarColor","inlineProgressValueStyle","backgroundColor","width","isExternalContent","chapterContent","progressBar","progressWrapper","hideProgressBar","adaptiveIcon","infoWrapper","hero","card","progressBarDisabled","cardInfo","microLearningCardInfo","iconWrapper","number","ContentBadge","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\n className={classnames(style.adaptiveIcon, courseContent ? style.iconShadow : null)}\n aria-label={get('adaptive', ariaLabel)}\n >\n <AdaptivIcon height={25} />\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":["MODES","HERO","CARD","THEMES","default","coorpmanager","style","ContentTypeInfo","mode","type","externalContent","context","translate","microLearningIcon","timerIcon","microLearninglabel","EXTERNAL_CONTENT_ICONS","textColor","color","contentTypeInfo","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","bool","string","CardTitle","title","empty","courseContent","classnames","innerHTML","lightTitle","darkTitle","__html","AuthorName","author","certifiedAuthor","ariaLabel","checkIcon","authorIcon","iconShadow","darkAuthorTitle","ContentInfo","adaptiv","disabled","progress","badgeCategory","badgeLabel","theme","progressBarColor","inlineProgressValueStyle","backgroundColor","width","isExternalContent","chapterContent","progressBar","progressWrapper","hideProgressBar","adaptiveIcon","infoWrapper","hero","card","progressBarDisabled","cardInfo","microLearningCardInfo","iconWrapper","number","ContentBadge","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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"}
|
|
@@ -8,6 +8,10 @@ declare class CardsList extends React.PureComponent<any, any, any> {
|
|
|
8
8
|
cards: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
9
9
|
onScroll: PropTypes.Requireable<(...args: any[]) => any>;
|
|
10
10
|
onShowMore: PropTypes.Requireable<(...args: any[]) => any>;
|
|
11
|
+
'left-right-arrows-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
|
|
12
|
+
showMoreOnLeftAriaLabel: PropTypes.Requireable<string>;
|
|
13
|
+
showMoreOnRightAriaLabel: PropTypes.Requireable<string>;
|
|
14
|
+
}>>;
|
|
11
15
|
};
|
|
12
16
|
static contextTypes: {
|
|
13
17
|
skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"names":[],"mappings":";AAuFA;IACE
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"names":[],"mappings":";AAuFA;IACE;;;;;;;;;;;;MAYE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAuBC;IApBC;;;;;;;;MAQC;IAED,0DAAgE;IAuGlE,qBAiBC;IAED,qBAGC;IAED,sBAGC;IAED,0BASC;IAxIC,uEAA6D;IA0I/D,mCAIC;IA1DD,oCAMC;IAED,sCAIC;IA1DD,qBAGC;IAlCD,0BAMC;IAED,2BAYC;IAED,6BAOC;IAOD,wCAuCC;IAGC,kBAA2B;IA2D7B,sBAsFC;CACF"}
|
|
@@ -288,7 +288,8 @@ class CardsList extends _react.default.PureComponent {
|
|
|
288
288
|
cards,
|
|
289
289
|
onShowMore,
|
|
290
290
|
dataName,
|
|
291
|
-
contentType
|
|
291
|
+
contentType,
|
|
292
|
+
'left-right-arrows-aria-label': ariaLabel = {}
|
|
292
293
|
} = this.props;
|
|
293
294
|
const {
|
|
294
295
|
skin
|
|
@@ -315,7 +316,8 @@ class CardsList extends _react.default.PureComponent {
|
|
|
315
316
|
color: dark,
|
|
316
317
|
className: _style.default.left,
|
|
317
318
|
width: 10,
|
|
318
|
-
height: 10
|
|
319
|
+
height: 10,
|
|
320
|
+
"aria-label": ariaLabel.showMoreOnLeftAriaLabel
|
|
319
321
|
}));
|
|
320
322
|
|
|
321
323
|
const rightArrowView = /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -326,7 +328,8 @@ class CardsList extends _react.default.PureComponent {
|
|
|
326
328
|
color: dark,
|
|
327
329
|
className: _style.default.right,
|
|
328
330
|
width: 10,
|
|
329
|
-
height: 10
|
|
331
|
+
height: 10,
|
|
332
|
+
"aria-label": ariaLabel.showMoreOnRightAriaLabel
|
|
330
333
|
}));
|
|
331
334
|
|
|
332
335
|
const titleView = /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -373,7 +376,11 @@ CardsList.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
373
376
|
showMore: _propTypes.default.string,
|
|
374
377
|
cards: _propTypes.default.arrayOf(_propTypes.default.shape(_card.default.protoTypes)),
|
|
375
378
|
onScroll: _propTypes.default.func,
|
|
376
|
-
onShowMore: _propTypes.default.func
|
|
379
|
+
onShowMore: _propTypes.default.func,
|
|
380
|
+
'left-right-arrows-aria-label': _propTypes.default.shape({
|
|
381
|
+
showMoreOnLeftAriaLabel: _propTypes.default.string,
|
|
382
|
+
showMoreOnRightAriaLabel: _propTypes.default.string
|
|
383
|
+
})
|
|
377
384
|
} : {};
|
|
378
385
|
var _default = CardsList;
|
|
379
386
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ShowMoreLink","props","onShowMore","showMore","className","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","func","string","IconView","context","contentType","ICONS","chapter","TimerIcon","course","LearnerIcon","dark","IconType","style","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","React","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","titleStyle","titleLink","cardsView","key","leftArrowView","circle","left","rightArrowView","right","titleView","hasPages","showMoreView","showMoreBar","switchPagesView","pagingWrapper","wrapper","list","header","translate","arrayOf","shape","Card","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 };\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 {title, showMore, cards, onShowMore, dataName, contentType} = 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 color={dark} className={style.left} width={10} height={10} />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["ShowMoreLink","props","onShowMore","showMore","className","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","func","string","IconView","context","contentType","ICONS","chapter","TimerIcon","course","LearnerIcon","dark","IconType","style","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","React","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","Card","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 'left-right-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 'left-right-arrows-aria-label': ariaLabel = {}\n } = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n <Card {...card} dataName={`${dataName}-${key}`} />\n </div>\n );\n })\n )(cards);\n const leftArrowView = (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <ArrowLeft\n color={dark}\n className={style.left}\n width={10}\n height={10}\n aria-label={ariaLabel.showMoreOnLeftAriaLabel}\n />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight\n color={dark}\n className={style.right}\n width={10}\n height={10}\n aria-label={ariaLabel.showMoreOnRightAriaLabel}\n />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"mappings":"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"}
|
|
@@ -111,6 +111,10 @@ declare namespace PopinEnd {
|
|
|
111
111
|
cards: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
112
112
|
onScroll: PropTypes.Requireable<(...args: any[]) => any>;
|
|
113
113
|
onShowMore: PropTypes.Requireable<(...args: any[]) => any>;
|
|
114
|
+
'left-right-arrows-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
|
|
115
|
+
showMoreOnLeftAriaLabel: PropTypes.Requireable<string>;
|
|
116
|
+
showMoreOnRightAriaLabel: PropTypes.Requireable<string>;
|
|
117
|
+
}>>;
|
|
114
118
|
}>>;
|
|
115
119
|
feedback: PropTypes.Requireable<PropTypes.InferProps<{
|
|
116
120
|
title: PropTypes.Requireable<string>;
|
|
@@ -117,6 +117,10 @@ declare namespace Summary {
|
|
|
117
117
|
cards: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
118
118
|
onScroll: PropTypes.Requireable<(...args: any[]) => any>;
|
|
119
119
|
onShowMore: PropTypes.Requireable<(...args: any[]) => any>;
|
|
120
|
+
'left-right-arrows-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
|
|
121
|
+
showMoreOnLeftAriaLabel: PropTypes.Requireable<string>;
|
|
122
|
+
showMoreOnRightAriaLabel: PropTypes.Requireable<string>;
|
|
123
|
+
}>>;
|
|
120
124
|
}>>;
|
|
121
125
|
const feedback: PropTypes.Requireable<PropTypes.InferProps<{
|
|
122
126
|
title: PropTypes.Requireable<string>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export default Dashboard;
|
|
2
2
|
declare function Dashboard(props: any): JSX.Element;
|
|
3
3
|
declare namespace Dashboard {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
const propTypes: {
|
|
5
|
+
hero: any;
|
|
6
|
+
welcome: any;
|
|
7
|
+
sections: PropTypes.Requireable<((PropTypes.InferPropsInner<Pick<any, any>> & Partial<PropTypes.InferPropsInner<Pick<any, never>>>) | null | undefined)[]>;
|
|
8
|
+
cookie: PropTypes.Requireable<PropTypes.InferProps<{
|
|
9
9
|
content: PropTypes.Requireable<string>;
|
|
10
10
|
mode: PropTypes.Requireable<string>;
|
|
11
11
|
header: PropTypes.Requireable<string>;
|
|
@@ -55,7 +55,11 @@ declare namespace Dashboard {
|
|
|
55
55
|
requiredSelection: PropTypes.Requireable<boolean>;
|
|
56
56
|
}> | null | undefined)[]>;
|
|
57
57
|
}>>;
|
|
58
|
-
|
|
58
|
+
'left-right-arrows-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
|
|
59
|
+
showMoreOnLeftAriaLabel: PropTypes.Requireable<string>;
|
|
60
|
+
showMoreOnRightAriaLabel: PropTypes.Requireable<string>;
|
|
61
|
+
}>>;
|
|
62
|
+
};
|
|
59
63
|
}
|
|
60
64
|
import PropTypes from "prop-types";
|
|
61
65
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/common/dashboard/index.js"],"names":[],"mappings":";AAqBA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/common/dashboard/index.js"],"names":[],"mappings":";AAqBA,oDA8CC"}
|
|
@@ -27,6 +27,8 @@ var _style = _interopRequireDefault(require("./style.css"));
|
|
|
27
27
|
|
|
28
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
29
|
|
|
30
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
31
|
+
|
|
30
32
|
const Hero = /*#__PURE__*/_react.default.memo(function Hero({
|
|
31
33
|
hero,
|
|
32
34
|
welcome
|
|
@@ -46,7 +48,8 @@ const Dashboard = props => {
|
|
|
46
48
|
sections = [],
|
|
47
49
|
hero,
|
|
48
50
|
welcome,
|
|
49
|
-
cookie
|
|
51
|
+
cookie,
|
|
52
|
+
'left-right-arrows-aria-label': showMoreOnLeftOrRightAriaLabel
|
|
50
53
|
} = props;
|
|
51
54
|
|
|
52
55
|
const buildSectionComponent = section => {
|
|
@@ -65,7 +68,9 @@ const Dashboard = props => {
|
|
|
65
68
|
return /*#__PURE__*/_react.default.createElement(_battleRequestList.default, section);
|
|
66
69
|
|
|
67
70
|
case 'cards':
|
|
68
|
-
return /*#__PURE__*/_react.default.createElement(_cardsList.default, section
|
|
71
|
+
return /*#__PURE__*/_react.default.createElement(_cardsList.default, _extends({}, section, {
|
|
72
|
+
"left-right-arrows-aria-label": showMoreOnLeftOrRightAriaLabel
|
|
73
|
+
}));
|
|
69
74
|
|
|
70
75
|
case 'news':
|
|
71
76
|
return /*#__PURE__*/_react.default.createElement(_newsList.default, section);
|
|
@@ -104,7 +109,8 @@ Dashboard.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
104
109
|
hero: Hero.propTypes.hero,
|
|
105
110
|
welcome: Hero.propTypes.welcome,
|
|
106
111
|
sections: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape(_battleRequestList.default.propTypes), _propTypes.default.shape(_cardsList.default.propTypes), _propTypes.default.shape(_newsList.default.propTypes), _propTypes.default.shape(_startBattle.default.propTypes), _propTypes.default.shape(_reviewBanner.default.propTypes)])),
|
|
107
|
-
cookie: _propTypes.default.shape(_cmPopin.default.propTypes)
|
|
112
|
+
cookie: _propTypes.default.shape(_cmPopin.default.propTypes),
|
|
113
|
+
'left-right-arrows-aria-label': _cardsList.default.propTypes['left-right-arrows-aria-label']
|
|
108
114
|
} : {};
|
|
109
115
|
var _default = Dashboard;
|
|
110
116
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Hero","React","memo","hero","welcome","style","propTypes","PropTypes","shape","HeroCard","Slide","Dashboard","props","sections","cookie","buildSectionComponent","section","type","buildSection","index","sectionView","sectionsList","key","map","wrapper","arrayOf","oneOfType","BattleRequestList","CardsList","NewsList","StartBattle","ReviewBanner","CMPopin"],"sources":["../../../../src/template/common/dashboard/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Slide from '../../../atom/slide';\nimport HeroCard from '../../../molecule/hero';\nimport BattleRequestList from '../../../molecule/dashboard/battle-request-list';\nimport CardsList from '../../../molecule/dashboard/cards-list';\nimport NewsList from '../../../molecule/dashboard/news-list';\nimport StartBattle from '../../../molecule/dashboard/start-battle';\nimport CMPopin from '../../../molecule/cm-popin';\nimport ReviewBanner from '../../../molecule/dashboard/review-banner';\nimport style from './style.css';\n\nconst Hero = React.memo(function Hero({hero, welcome}) {\n return <div className={style.hero}>{hero ? <HeroCard {...hero} /> : <Slide {...welcome} />}</div>;\n});\n\nHero.propTypes = {\n hero: PropTypes.shape(HeroCard.propTypes),\n welcome: PropTypes.shape(Slide.propTypes)\n};\n\nconst Dashboard = props => {\n const {sections = []
|
|
1
|
+
{"version":3,"file":"index.js","names":["Hero","React","memo","hero","welcome","style","propTypes","PropTypes","shape","HeroCard","Slide","Dashboard","props","sections","cookie","showMoreOnLeftOrRightAriaLabel","buildSectionComponent","section","type","buildSection","index","sectionView","sectionsList","key","map","wrapper","arrayOf","oneOfType","BattleRequestList","CardsList","NewsList","StartBattle","ReviewBanner","CMPopin"],"sources":["../../../../src/template/common/dashboard/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Slide from '../../../atom/slide';\nimport HeroCard from '../../../molecule/hero';\nimport BattleRequestList from '../../../molecule/dashboard/battle-request-list';\nimport CardsList from '../../../molecule/dashboard/cards-list';\nimport NewsList from '../../../molecule/dashboard/news-list';\nimport StartBattle from '../../../molecule/dashboard/start-battle';\nimport CMPopin from '../../../molecule/cm-popin';\nimport ReviewBanner from '../../../molecule/dashboard/review-banner';\nimport style from './style.css';\n\nconst Hero = React.memo(function Hero({hero, welcome}) {\n return <div className={style.hero}>{hero ? <HeroCard {...hero} /> : <Slide {...welcome} />}</div>;\n});\n\nHero.propTypes = {\n hero: PropTypes.shape(HeroCard.propTypes),\n welcome: PropTypes.shape(Slide.propTypes)\n};\n\nconst Dashboard = props => {\n const {\n sections = [],\n hero,\n welcome,\n cookie,\n 'left-right-arrows-aria-label': showMoreOnLeftOrRightAriaLabel\n } = props;\n\n const buildSectionComponent = section => {\n const {type} = section;\n switch (type) {\n case 'hero':\n return <Hero hero={hero} welcome={welcome} />;\n case 'battleRequests':\n return <BattleRequestList {...section} />;\n case 'cards':\n return (\n <CardsList {...section} left-right-arrows-aria-label={showMoreOnLeftOrRightAriaLabel} />\n );\n case 'news':\n return <NewsList {...section} />;\n case 'battle':\n return <StartBattle {...section} />;\n case 'review':\n return <ReviewBanner {...section} />;\n default:\n return null;\n }\n };\n\n const buildSection = (section, index) => {\n const sectionView = buildSectionComponent(section);\n\n return <div key={index}>{sectionView}</div>;\n };\n\n const sectionsList = [{type: 'hero', key: 'hero'}, ...sections].map(section => (\n <div key={section.key}>{buildSection(section)}</div>\n ));\n return (\n <div className={style.wrapper} data-name=\"dashboard\">\n {sectionsList}\n {cookie ? <CMPopin {...cookie} /> : null}\n </div>\n );\n};\n\nDashboard.propTypes = {\n hero: Hero.propTypes.hero,\n welcome: Hero.propTypes.welcome,\n sections: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape(BattleRequestList.propTypes),\n PropTypes.shape(CardsList.propTypes),\n PropTypes.shape(NewsList.propTypes),\n PropTypes.shape(StartBattle.propTypes),\n PropTypes.shape(ReviewBanner.propTypes)\n ])\n ),\n cookie: PropTypes.shape(CMPopin.propTypes),\n 'left-right-arrows-aria-label': CardsList.propTypes['left-right-arrows-aria-label']\n};\nexport default Dashboard;\n"],"mappings":"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"}
|
|
@@ -90,6 +90,10 @@ declare namespace SearchPage {
|
|
|
90
90
|
cards: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
91
91
|
onScroll: PropTypes.Requireable<(...args: any[]) => any>;
|
|
92
92
|
onShowMore: PropTypes.Requireable<(...args: any[]) => any>;
|
|
93
|
+
'left-right-arrows-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
|
|
94
|
+
showMoreOnLeftAriaLabel: PropTypes.Requireable<string>;
|
|
95
|
+
showMoreOnRightAriaLabel: PropTypes.Requireable<string>;
|
|
96
|
+
}>>;
|
|
93
97
|
}>>;
|
|
94
98
|
}
|
|
95
99
|
}
|
|
@@ -38,6 +38,10 @@ declare namespace TeamsDashboard {
|
|
|
38
38
|
cards: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
39
39
|
onScroll: PropTypes.Requireable<(...args: any[]) => any>;
|
|
40
40
|
onShowMore: PropTypes.Requireable<(...args: any[]) => any>;
|
|
41
|
+
'left-right-arrows-aria-label': PropTypes.Requireable<PropTypes.InferProps<{
|
|
42
|
+
showMoreOnLeftAriaLabel: PropTypes.Requireable<string>;
|
|
43
|
+
showMoreOnRightAriaLabel: PropTypes.Requireable<string>;
|
|
44
|
+
}>>;
|
|
41
45
|
}> | null | undefined)[]>;
|
|
42
46
|
const isLoading: PropTypes.Requireable<boolean>;
|
|
43
47
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/components",
|
|
3
|
-
"version": "11.2.
|
|
3
|
+
"version": "11.2.2-alpha.6+eb6565078",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -159,5 +159,5 @@
|
|
|
159
159
|
"last 2 versions",
|
|
160
160
|
"IE 11"
|
|
161
161
|
],
|
|
162
|
-
"gitHead": "
|
|
162
|
+
"gitHead": "eb6565078ded8712a22024703e9f30eedf814c2c"
|
|
163
163
|
}
|