@coorpacademy/components 11.38.3-alpha.22 → 11.38.3-alpha.23

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card-content/index.js"],"names":[],"mappings":";;;;;;;;;;AAyHA;;;;;;;;;;;;;;gBAwEC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card-content/index.js"],"names":[],"mappings":";;;;;;;;;;AAwHA;;;;;;;;;;;;;;gBAwEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionCoorpacademyAdaptive","AdaptivIcon","NovaSolidStatusCheckCircle2","CheckIcon","Provider","ContentBadge","Tag","COLORS","style","MODES","HERO","CARD","THEMES","default","coorpmanager","CARD_INFO_MAP","scorm","label","iconName","video","article","podcast","course","ContentTypeInfo","mode","type","adaptiv","ariaLabel","isCourse","empty","theme","context","translate","createElement","className","contentTypeInfos","size","icon","adaptiveIcon","iconShadow","height","_get","contextTypes","skin","childContextTypes","propTypes","process","env","NODE_ENV","string","bool","oneOf","_keys","CardTitle","title","courseContent","innerHTML","lightTitle","darkTitle","dangerouslySetInnerHTML","__html","AuthorName","author","certifiedAuthor","checkIcon","authorIcon","darkAuthorTitle","ContentInfo","disabled","progress","badgeCategory","badgeLabel","progressBarColor","cm_positive_500","inlineProgressValueStyle","backgroundColor","width","progressBar","_isNil","progressWrapper","hideProgressBar","role","infoWrapper","hero","card","progressBarDisabled","externalContent","cardInfo","cardCourseTitle","iconWrapper","category","number","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} from '@coorpacademy/nova-icons';\nimport {isExternalContent} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport ContentBadge from '../../atom/content-badge';\nimport Tag from '../../atom/tag';\nimport {COLORS} from '../../variables/colors';\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 CARD_INFO_MAP = {\n scorm: {label: 'external_content_scorm', iconName: 'rectangle-history'},\n video: {label: 'external_content_video', iconName: 'circle-play'},\n article: {label: 'external_content_article', iconName: 'file-lines'},\n podcast: {label: 'external_content_podcast', iconName: 'microphone-lines'},\n course: {label: 'Course', iconName: 'book-open'}\n};\n\nconst ContentTypeInfo = ({mode, type, adaptiv, ariaLabel, isCourse, empty, theme}, context) => {\n const {translate} = context;\n if (mode !== MODES.CARD || empty || theme === 'coorpmanager') {\n return null;\n }\n const [label, iconName] = CARD_INFO_MAP[type]\n ? [translate(CARD_INFO_MAP[type].label), CARD_INFO_MAP[type].iconName]\n : [`5'learning`, 'stopwatch'];\n return (\n <div className={style.contentTypeInfos}>\n <Tag size=\"S\" label={label} icon={{iconName}} />\n {adaptiv ? (\n <div className={classnames(style.adaptiveIcon, isCourse ? style.iconShadow : null)}>\n <AdaptivIcon height={20} aria-label={get('adaptive', ariaLabel)} />\n </div>\n ) : null}\n </div>\n );\n};\n\nContentTypeInfo.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContentTypeInfo.propTypes = {\n type: PropTypes.string,\n mode: PropTypes.string,\n adaptiv: PropTypes.bool,\n ariaLabel: PropTypes.string,\n isCourse: PropTypes.bool,\n empty: PropTypes.bool,\n theme: PropTypes.oneOf(keys(THEMES))\n};\n\nconst CardTitle = ({title, empty, courseContent}) => {\n return (\n <div\n className={classnames(\n style.title,\n style.innerHTML,\n courseContent ? style.lightTitle : style.darkTitle,\n empty ? style.empty : null\n )}\n data-name=\"title\"\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n};\n\nCardTitle.propTypes = {\n title: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool\n};\n\nconst AuthorName = ({author, empty, courseContent, certifiedAuthor, 'aria-label': ariaLabel}) => {\n const checkIcon = certifiedAuthor ? (\n <CheckIcon className={classnames(style.authorIcon, courseContent ? style.iconShadow : null)} />\n ) : null;\n\n return (\n <div\n data-name=\"author\"\n title={author}\n aria-label={ariaLabel}\n className={classnames(\n style.author,\n courseContent ? style.lightTitle : style.darkAuthorTitle,\n empty ? style.empty : null\n )}\n >\n <span>{author}</span>\n {checkIcon}\n </div>\n );\n};\n\nAuthorName.propTypes = {\n author: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool,\n certifiedAuthor: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst ContentInfo = ({\n adaptiv,\n author,\n certifiedAuthor = false,\n disabled = false,\n empty = false,\n mode = MODES.CARD,\n progress,\n title,\n type,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': ariaLabel\n}) => {\n const progressBarColor = COLORS.cm_positive_500;\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${progress * 100}%`\n };\n const courseContent = type === 'course';\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 role=\"progressbar\"\n aria-label={get('progression', ariaLabel)}\n />\n ) : null}\n </div>\n ) : null;\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 style.externalContent\n )}\n >\n <ContentTypeInfo\n mode={mode}\n type={type}\n adaptiv={adaptiv}\n isCourse={courseContent}\n empty={empty}\n theme={theme}\n />\n <div className={classnames(style.cardInfo, courseContent ? style.cardCourseTitle : null)}>\n <div className={style.iconWrapper}>\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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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionCoorpacademyAdaptive","AdaptivIcon","NovaSolidStatusCheckCircle2","CheckIcon","Provider","ContentBadge","Tag","COLORS","style","MODES","HERO","CARD","THEMES","default","coorpmanager","CARD_INFO_MAP","scorm","label","iconName","video","article","podcast","course","ContentTypeInfo","mode","type","adaptiv","ariaLabel","isCourse","empty","theme","context","translate","createElement","className","contentTypeInfos","size","icon","adaptiveIcon","iconShadow","height","_get","contextTypes","skin","childContextTypes","propTypes","process","env","NODE_ENV","string","bool","oneOf","_keys","CardTitle","title","courseContent","innerHTML","lightTitle","darkTitle","dangerouslySetInnerHTML","__html","AuthorName","author","certifiedAuthor","checkIcon","authorIcon","darkAuthorTitle","ContentInfo","disabled","progress","badgeCategory","badgeLabel","progressBarColor","cm_positive_500","inlineProgressValueStyle","backgroundColor","width","progressBar","_isNil","progressWrapper","hideProgressBar","role","infoWrapper","hero","card","progressBarDisabled","externalContent","cardInfo","cardCourseTitle","iconWrapper","category","number","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} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport ContentBadge from '../../atom/content-badge';\nimport Tag from '../../atom/tag';\nimport {COLORS} from '../../variables/colors';\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 CARD_INFO_MAP = {\n scorm: {label: 'external_content_scorm', iconName: 'rectangle-history'},\n video: {label: 'external_content_video', iconName: 'circle-play'},\n article: {label: 'external_content_article', iconName: 'file-lines'},\n podcast: {label: 'external_content_podcast', iconName: 'microphone-lines'},\n course: {label: 'Course', iconName: 'book-open'}\n};\n\nconst ContentTypeInfo = ({mode, type, adaptiv, ariaLabel, isCourse, empty, theme}, context) => {\n const {translate} = context;\n if (mode !== MODES.CARD || empty || theme === 'coorpmanager') {\n return null;\n }\n const [label, iconName] = CARD_INFO_MAP[type]\n ? [translate(CARD_INFO_MAP[type].label), CARD_INFO_MAP[type].iconName]\n : [`5'learning`, 'stopwatch'];\n return (\n <div className={style.contentTypeInfos}>\n <Tag size=\"S\" label={label} icon={{iconName}} />\n {adaptiv ? (\n <div className={classnames(style.adaptiveIcon, isCourse ? style.iconShadow : null)}>\n <AdaptivIcon height={20} aria-label={get('adaptive', ariaLabel)} />\n </div>\n ) : null}\n </div>\n );\n};\n\nContentTypeInfo.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContentTypeInfo.propTypes = {\n type: PropTypes.string,\n mode: PropTypes.string,\n adaptiv: PropTypes.bool,\n ariaLabel: PropTypes.string,\n isCourse: PropTypes.bool,\n empty: PropTypes.bool,\n theme: PropTypes.oneOf(keys(THEMES))\n};\n\nconst CardTitle = ({title, empty, courseContent}) => {\n return (\n <div\n className={classnames(\n style.title,\n style.innerHTML,\n courseContent ? style.lightTitle : style.darkTitle,\n empty ? style.empty : null\n )}\n data-name=\"title\"\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n};\n\nCardTitle.propTypes = {\n title: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool\n};\n\nconst AuthorName = ({author, empty, courseContent, certifiedAuthor, 'aria-label': ariaLabel}) => {\n const checkIcon = certifiedAuthor ? (\n <CheckIcon className={classnames(style.authorIcon, courseContent ? style.iconShadow : null)} />\n ) : null;\n\n return (\n <div\n data-name=\"author\"\n title={author}\n aria-label={ariaLabel}\n className={classnames(\n style.author,\n courseContent ? style.lightTitle : style.darkAuthorTitle,\n empty ? style.empty : null\n )}\n >\n <span>{author}</span>\n {checkIcon}\n </div>\n );\n};\n\nAuthorName.propTypes = {\n author: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool,\n certifiedAuthor: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst ContentInfo = ({\n adaptiv,\n author,\n certifiedAuthor = false,\n disabled = false,\n empty = false,\n mode = MODES.CARD,\n progress,\n title,\n type,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': ariaLabel\n}) => {\n const progressBarColor = COLORS.cm_positive_500;\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${progress * 100}%`\n };\n const courseContent = type === 'course';\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 role=\"progressbar\"\n aria-label={get('progression', ariaLabel)}\n />\n ) : null}\n </div>\n ) : null;\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 style.externalContent\n )}\n >\n <ContentTypeInfo\n mode={mode}\n type={type}\n adaptiv={adaptiv}\n isCourse={courseContent}\n empty={empty}\n theme={theme}\n />\n <div className={classnames(style.cardInfo, courseContent ? style.cardCourseTitle : null)}>\n <div className={style.iconWrapper}>\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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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card-content/index.js"],"names":[],"mappings":";;;;;;;;;;AAyHA;;;;;;;;;;;;;;gBAwEC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card-content/index.js"],"names":[],"mappings":";;;;;;;;;;AAwHA;;;;;;;;;;;;;;gBAwEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_novaIcons","_provider","_contentBadge","_tag","_colors","_style","e","__esModule","default","MODES","exports","HERO","CARD","THEMES","coorpmanager","style","CARD_INFO_MAP","scorm","label","iconName","video","article","podcast","course","ContentTypeInfo","mode","type","adaptiv","ariaLabel","isCourse","empty","theme","context","translate","createElement","className","contentTypeInfos","size","icon","classnames","adaptiveIcon","iconShadow","NovaCompositionCoorpacademyAdaptive","height","_get2","contextTypes","skin","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","string","bool","oneOf","_keys2","CardTitle","title","courseContent","innerHTML","lightTitle","darkTitle","dangerouslySetInnerHTML","__html","AuthorName","author","certifiedAuthor","checkIcon","NovaSolidStatusCheckCircle2","authorIcon","darkAuthorTitle","ContentInfo","disabled","progress","badgeCategory","badgeLabel","progressBarColor","COLORS","cm_positive_500","inlineProgressValueStyle","backgroundColor","width","progressBar","_isNil2","progressWrapper","hideProgressBar","role","infoWrapper","hero","card","progressBarDisabled","externalContent","cardInfo","cardCourseTitle","iconWrapper","category","number","ContentBadge","shape","progression","adaptive","_default"],"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} from '@coorpacademy/nova-icons';\nimport {isExternalContent} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport ContentBadge from '../../atom/content-badge';\nimport Tag from '../../atom/tag';\nimport {COLORS} from '../../variables/colors';\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 CARD_INFO_MAP = {\n scorm: {label: 'external_content_scorm', iconName: 'rectangle-history'},\n video: {label: 'external_content_video', iconName: 'circle-play'},\n article: {label: 'external_content_article', iconName: 'file-lines'},\n podcast: {label: 'external_content_podcast', iconName: 'microphone-lines'},\n course: {label: 'Course', iconName: 'book-open'}\n};\n\nconst ContentTypeInfo = ({mode, type, adaptiv, ariaLabel, isCourse, empty, theme}, context) => {\n const {translate} = context;\n if (mode !== MODES.CARD || empty || theme === 'coorpmanager') {\n return null;\n }\n const [label, iconName] = CARD_INFO_MAP[type]\n ? [translate(CARD_INFO_MAP[type].label), CARD_INFO_MAP[type].iconName]\n : [`5'learning`, 'stopwatch'];\n return (\n <div className={style.contentTypeInfos}>\n <Tag size=\"S\" label={label} icon={{iconName}} />\n {adaptiv ? (\n <div className={classnames(style.adaptiveIcon, isCourse ? style.iconShadow : null)}>\n <AdaptivIcon height={20} aria-label={get('adaptive', ariaLabel)} />\n </div>\n ) : null}\n </div>\n );\n};\n\nContentTypeInfo.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContentTypeInfo.propTypes = {\n type: PropTypes.string,\n mode: PropTypes.string,\n adaptiv: PropTypes.bool,\n ariaLabel: PropTypes.string,\n isCourse: PropTypes.bool,\n empty: PropTypes.bool,\n theme: PropTypes.oneOf(keys(THEMES))\n};\n\nconst CardTitle = ({title, empty, courseContent}) => {\n return (\n <div\n className={classnames(\n style.title,\n style.innerHTML,\n courseContent ? style.lightTitle : style.darkTitle,\n empty ? style.empty : null\n )}\n data-name=\"title\"\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n};\n\nCardTitle.propTypes = {\n title: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool\n};\n\nconst AuthorName = ({author, empty, courseContent, certifiedAuthor, 'aria-label': ariaLabel}) => {\n const checkIcon = certifiedAuthor ? (\n <CheckIcon className={classnames(style.authorIcon, courseContent ? style.iconShadow : null)} />\n ) : null;\n\n return (\n <div\n data-name=\"author\"\n title={author}\n aria-label={ariaLabel}\n className={classnames(\n style.author,\n courseContent ? style.lightTitle : style.darkAuthorTitle,\n empty ? style.empty : null\n )}\n >\n <span>{author}</span>\n {checkIcon}\n </div>\n );\n};\n\nAuthorName.propTypes = {\n author: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool,\n certifiedAuthor: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst ContentInfo = ({\n adaptiv,\n author,\n certifiedAuthor = false,\n disabled = false,\n empty = false,\n mode = MODES.CARD,\n progress,\n title,\n type,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': ariaLabel\n}) => {\n const progressBarColor = COLORS.cm_positive_500;\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${progress * 100}%`\n };\n const courseContent = type === 'course';\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 role=\"progressbar\"\n aria-label={get('progression', ariaLabel)}\n />\n ) : null}\n </div>\n ) : null;\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 style.externalContent\n )}\n >\n <ContentTypeInfo\n mode={mode}\n type={type}\n adaptiv={adaptiv}\n isCourse={courseContent}\n empty={empty}\n theme={theme}\n />\n <div className={classnames(style.cardInfo, courseContent ? style.cardCourseTitle : null)}>\n <div className={style.iconWrapper}>\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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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_novaIcons","_provider","_contentBadge","_tag","_colors","_style","e","__esModule","default","MODES","exports","HERO","CARD","THEMES","coorpmanager","style","CARD_INFO_MAP","scorm","label","iconName","video","article","podcast","course","ContentTypeInfo","mode","type","adaptiv","ariaLabel","isCourse","empty","theme","context","translate","createElement","className","contentTypeInfos","size","icon","classnames","adaptiveIcon","iconShadow","NovaCompositionCoorpacademyAdaptive","height","_get2","contextTypes","skin","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","string","bool","oneOf","_keys2","CardTitle","title","courseContent","innerHTML","lightTitle","darkTitle","dangerouslySetInnerHTML","__html","AuthorName","author","certifiedAuthor","checkIcon","NovaSolidStatusCheckCircle2","authorIcon","darkAuthorTitle","ContentInfo","disabled","progress","badgeCategory","badgeLabel","progressBarColor","COLORS","cm_positive_500","inlineProgressValueStyle","backgroundColor","width","progressBar","_isNil2","progressWrapper","hideProgressBar","role","infoWrapper","hero","card","progressBarDisabled","externalContent","cardInfo","cardCourseTitle","iconWrapper","category","number","ContentBadge","shape","progression","adaptive","_default"],"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} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport ContentBadge from '../../atom/content-badge';\nimport Tag from '../../atom/tag';\nimport {COLORS} from '../../variables/colors';\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 CARD_INFO_MAP = {\n scorm: {label: 'external_content_scorm', iconName: 'rectangle-history'},\n video: {label: 'external_content_video', iconName: 'circle-play'},\n article: {label: 'external_content_article', iconName: 'file-lines'},\n podcast: {label: 'external_content_podcast', iconName: 'microphone-lines'},\n course: {label: 'Course', iconName: 'book-open'}\n};\n\nconst ContentTypeInfo = ({mode, type, adaptiv, ariaLabel, isCourse, empty, theme}, context) => {\n const {translate} = context;\n if (mode !== MODES.CARD || empty || theme === 'coorpmanager') {\n return null;\n }\n const [label, iconName] = CARD_INFO_MAP[type]\n ? [translate(CARD_INFO_MAP[type].label), CARD_INFO_MAP[type].iconName]\n : [`5'learning`, 'stopwatch'];\n return (\n <div className={style.contentTypeInfos}>\n <Tag size=\"S\" label={label} icon={{iconName}} />\n {adaptiv ? (\n <div className={classnames(style.adaptiveIcon, isCourse ? style.iconShadow : null)}>\n <AdaptivIcon height={20} aria-label={get('adaptive', ariaLabel)} />\n </div>\n ) : null}\n </div>\n );\n};\n\nContentTypeInfo.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContentTypeInfo.propTypes = {\n type: PropTypes.string,\n mode: PropTypes.string,\n adaptiv: PropTypes.bool,\n ariaLabel: PropTypes.string,\n isCourse: PropTypes.bool,\n empty: PropTypes.bool,\n theme: PropTypes.oneOf(keys(THEMES))\n};\n\nconst CardTitle = ({title, empty, courseContent}) => {\n return (\n <div\n className={classnames(\n style.title,\n style.innerHTML,\n courseContent ? style.lightTitle : style.darkTitle,\n empty ? style.empty : null\n )}\n data-name=\"title\"\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n};\n\nCardTitle.propTypes = {\n title: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool\n};\n\nconst AuthorName = ({author, empty, courseContent, certifiedAuthor, 'aria-label': ariaLabel}) => {\n const checkIcon = certifiedAuthor ? (\n <CheckIcon className={classnames(style.authorIcon, courseContent ? style.iconShadow : null)} />\n ) : null;\n\n return (\n <div\n data-name=\"author\"\n title={author}\n aria-label={ariaLabel}\n className={classnames(\n style.author,\n courseContent ? style.lightTitle : style.darkAuthorTitle,\n empty ? style.empty : null\n )}\n >\n <span>{author}</span>\n {checkIcon}\n </div>\n );\n};\n\nAuthorName.propTypes = {\n author: PropTypes.string,\n empty: PropTypes.bool,\n courseContent: PropTypes.bool,\n certifiedAuthor: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst ContentInfo = ({\n adaptiv,\n author,\n certifiedAuthor = false,\n disabled = false,\n empty = false,\n mode = MODES.CARD,\n progress,\n title,\n type,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': ariaLabel\n}) => {\n const progressBarColor = COLORS.cm_positive_500;\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${progress * 100}%`\n };\n const courseContent = type === 'course';\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 role=\"progressbar\"\n aria-label={get('progression', ariaLabel)}\n />\n ) : null}\n </div>\n ) : null;\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 style.externalContent\n )}\n >\n <ContentTypeInfo\n mode={mode}\n type={type}\n adaptiv={adaptiv}\n isCourse={courseContent}\n empty={empty}\n theme={theme}\n />\n <div className={classnames(style.cardInfo, courseContent ? style.cardCourseTitle : null)}>\n <div className={style.iconWrapper}>\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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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "11.38.3-alpha.22+6f5b4e2ec",
3
+ "version": "11.38.3-alpha.23+99c26621e",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -165,5 +165,5 @@
165
165
  "last 2 versions",
166
166
  "IE 11"
167
167
  ],
168
- "gitHead": "6f5b4e2ec208d45ba110f496d826e0a509de5c75"
168
+ "gitHead": "99c26621e95343a9960a807adbaf829052471119"
169
169
  }