@coorpacademy/components 10.5.7-alpha.14 → 10.5.7-alpha.15.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/atom/select/index.js +3 -2
- package/es/atom/select/index.js.map +1 -1
- package/es/atom/select/style.css +38 -3
- package/es/molecule/card/customer.js +6 -3
- package/es/molecule/card/customer.js.map +1 -1
- package/es/molecule/card/favorite.js +13 -4
- package/es/molecule/card/favorite.js.map +1 -1
- package/es/molecule/card/index.js +41 -12
- package/es/molecule/card/index.js.map +1 -1
- package/es/molecule/card/selectable.js +11 -4
- package/es/molecule/card/selectable.js.map +1 -1
- package/es/molecule/card/test/fixtures/default.js +20 -1
- package/es/molecule/card/test/fixtures/default.js.map +1 -1
- package/es/molecule/card-content/index.js +20 -7
- package/es/molecule/card-content/index.js.map +1 -1
- package/es/molecule/card-content/test/fixtures/card-no-progress-bar.js +6 -1
- package/es/molecule/card-content/test/fixtures/card-no-progress-bar.js.map +1 -1
- package/es/molecule/questions/qcm/style.css +4 -0
- package/es/molecule/questions/qcm-drag/index.js +53 -21
- package/es/molecule/questions/qcm-drag/index.js.map +1 -1
- package/es/molecule/questions/qcm-drag/style.css +72 -22
- package/es/molecule/questions/qcm-graphic/index.js +1 -0
- package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
- package/es/molecule/questions/qcm-graphic/style.css +12 -2
- package/es/molecule/questions/qcm-graphic/test/fixtures/default.js +1 -1
- package/es/molecule/questions/qcm-graphic/test/fixtures/default.js.map +1 -1
- package/es/molecule/questions/qcm-graphic/test/fixtures/no-selected.js +1 -1
- package/es/molecule/questions/qcm-graphic/test/fixtures/no-selected.js.map +1 -1
- package/es/molecule/questions/qcm-graphic/test/qcm-graphic.js +1 -1
- package/es/molecule/questions/qcm-graphic/test/qcm-graphic.js.map +1 -1
- package/es/molecule/questions/template/index.js +2 -1
- package/es/molecule/questions/template/index.js.map +1 -1
- package/es/molecule/questions/template/style.css +6 -0
- package/es/variables/colors.css +2 -0
- package/lib/atom/select/index.js +3 -2
- package/lib/atom/select/index.js.map +1 -1
- package/lib/atom/select/style.css +38 -3
- package/lib/molecule/card/customer.js +6 -3
- package/lib/molecule/card/customer.js.map +1 -1
- package/lib/molecule/card/favorite.js +13 -4
- package/lib/molecule/card/favorite.js.map +1 -1
- package/lib/molecule/card/index.js +41 -12
- package/lib/molecule/card/index.js.map +1 -1
- package/lib/molecule/card/selectable.js +11 -4
- package/lib/molecule/card/selectable.js.map +1 -1
- package/lib/molecule/card/test/fixtures/default.js +20 -1
- package/lib/molecule/card/test/fixtures/default.js.map +1 -1
- package/lib/molecule/card-content/index.js +21 -7
- package/lib/molecule/card-content/index.js.map +1 -1
- package/lib/molecule/card-content/test/fixtures/card-no-progress-bar.js +6 -1
- package/lib/molecule/card-content/test/fixtures/card-no-progress-bar.js.map +1 -1
- package/lib/molecule/questions/qcm/style.css +4 -0
- package/lib/molecule/questions/qcm-drag/index.js +53 -21
- package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
- package/lib/molecule/questions/qcm-drag/style.css +72 -22
- package/lib/molecule/questions/qcm-graphic/index.js +1 -0
- package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
- package/lib/molecule/questions/qcm-graphic/style.css +12 -2
- package/lib/molecule/questions/qcm-graphic/test/fixtures/default.js +1 -1
- package/lib/molecule/questions/qcm-graphic/test/fixtures/default.js.map +1 -1
- package/lib/molecule/questions/qcm-graphic/test/fixtures/no-selected.js +1 -1
- package/lib/molecule/questions/qcm-graphic/test/fixtures/no-selected.js.map +1 -1
- package/lib/molecule/questions/qcm-graphic/test/qcm-graphic.js +1 -1
- package/lib/molecule/questions/qcm-graphic/test/qcm-graphic.js.map +1 -1
- package/lib/molecule/questions/template/index.js +2 -1
- package/lib/molecule/questions/template/index.js.map +1 -1
- package/lib/molecule/questions/template/style.css +6 -0
- package/lib/variables/colors.css +2 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/card/index.js"],"names":["THEMES","default","coorpmanager","style","CardBackground","type","image","empty","skin","externalContent","primaryColor","whiteColor","EXTERNAL_CONTENT_ICONS","IconType","icon","iconColor","color","backgroundIcon","externalIconCircleWrapper","externalIcon","_backgroundIcon","externalIconCircleWithImageWrapper","backgroundColor","externalIconWithImage","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","chapterImageWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","bool","Card","props","context","badge","adaptiv","disabled","title","author","customer","certifiedAuthor","progress","favorite","addFavoriteToolTip","removeFavoriteToolTip","onClick","onFavoriteClick","isSelected","notification","badgeCategory","badgeLabel","theme","cardStyle","chapter","course","lazy","grid","handleClick","e","lock","lockIcon","inlineBadgeStyle","getType","contentType","MODES","CARD","lockWrapper","shape","Customer","number","func","Notification","CardContentInfo","oneOf"],"mappings":"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","sourcesContent":["import React, {useMemo, memo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, isUndefined, pick, keys} from 'lodash/fp';\nimport {\n NovaSolidLoginLocked as LockIcon,\n NovaCompositionCoorpacademyPictures as PicturesIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport CardContentInfo, {MODES} from '../card-content';\nimport Customer from './customer';\nimport Favorite from './favorite';\nimport Selectable from './selectable';\nimport Notification from './notification';\nimport style from './style.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst CardBackground = ({type, image, empty}, {skin}) => {\n const externalContent = isExternalContent(type);\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[type].color;\n const backgroundIcon = (\n <div className={style.externalIconCircleWrapper}>\n <IconType className={style.externalIcon} />\n </div>\n );\n\n if (image) {\n const _backgroundIcon = (\n <div\n className={classnames(\n style.externalIconCircleWrapper,\n style.externalIconCircleWithImageWrapper\n )}\n style={{\n backgroundColor: iconColor\n }}\n >\n <IconType className={style.externalIconWithImage} />\n </div>\n );\n\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n style={{\n backgroundColor: iconColor,\n backgroundImage: `url('${image}')`\n }}\n className={classnames(style.externalContentHeader, style.externalBackground)}\n >\n {_backgroundIcon}\n </div>\n </div>\n );\n }\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n style={{\n backgroundColor: iconColor\n }}\n className={style.externalContentHeader}\n >\n {backgroundIcon}\n </div>\n </div>\n );\n }\n\n const emptyIcon = empty ? <PicturesIcon className={style.emptyIcon} color={whiteColor} /> : null;\n return (\n <div\n className={classnames(\n style.imageWrapper,\n type === 'chapter' ? style.chapterImageWrapper : null\n )}\n >\n <div\n data-name=\"cover\"\n className={style.image}\n style={{\n backgroundColor: primaryColor,\n backgroundImage: image ? `url('${image}')` : 'none'\n }}\n >\n {emptyIcon}\n </div>\n </div>\n );\n};\n\nCardBackground.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCardBackground.propTypes = {\n type: PropTypes.string,\n image: PropTypes.string,\n empty: PropTypes.bool\n};\n\nconst Card = memo(function Card(props, context) {\n const {skin} = context;\n const {\n image,\n badge,\n adaptiv,\n disabled = false,\n type = 'course',\n title,\n author,\n customer,\n certifiedAuthor,\n progress,\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n onClick,\n onFavoriteClick,\n isSelected,\n notification,\n badgeCategory,\n badgeLabel,\n theme = 'default'\n } = props;\n const empty = isEmpty(pick(['title', 'type', 'author', 'image'], props));\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n const cardStyle = classnames(\n THEMES[theme],\n type === 'chapter' ? style.chapter : style.course,\n title ? null : style.lazy,\n style.grid,\n empty ? style.empty : null\n );\n const handleClick = useMemo(() => e => !disabled && onClick(e), [disabled, onClick]);\n const lock = disabled ? (\n <LockIcon className={style.lockIcon} color={whiteColor} height={40} />\n ) : null;\n const inlineBadgeStyle = {color: primaryColor};\n const getType = contentType => {\n switch (contentType) {\n case 'chapter':\n return 'microlearning';\n case 'course':\n return 'learner';\n default:\n return contentType;\n }\n };\n\n return (\n <div\n className={cardStyle}\n data-name=\"card\"\n data-lock={disabled}\n data-type={getType(type)}\n disabled={disabled}\n onClick={handleClick}\n >\n <CardBackground type={type} image={image} empty={empty} />\n {isUndefined(isSelected) && !isUndefined(favorite) ? (\n <Favorite\n className={style.favorite}\n favorite={favorite}\n disabled={disabled}\n onFavoriteClick={onFavoriteClick}\n addFavoriteToolTip={addFavoriteToolTip}\n removeFavoriteToolTip={removeFavoriteToolTip}\n />\n ) : null}\n <Selectable isSelected={isSelected} />\n {notification ? <Notification {...notification} /> : null}\n {customer ? <Customer {...customer} theme={theme} type={type} disabled={disabled} /> : null}\n <CardContentInfo\n mode={MODES.CARD}\n adaptiv={adaptiv}\n author={author}\n certifiedAuthor={certifiedAuthor}\n disabled={disabled}\n empty={empty}\n progress={progress}\n title={title}\n type={type}\n badgeCategory={badgeCategory}\n badgeLabel={badgeLabel}\n theme={theme}\n />\n {badge ? (\n <div className={style.badge} style={inlineBadgeStyle}>\n {badge}\n </div>\n ) : null}\n {disabled ? <div className={style.lockWrapper}>{lock}</div> : null}\n </div>\n );\n});\n\nCard.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCard.propTypes = {\n badge: PropTypes.string,\n image: PropTypes.string,\n disabled: PropTypes.bool,\n adaptiv: PropTypes.bool,\n type: PropTypes.string,\n title: PropTypes.string,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n customer: PropTypes.shape(Customer.propTypes),\n progress: PropTypes.number,\n favorite: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onClick: PropTypes.func,\n onFavoriteClick: PropTypes.func,\n isSelected: PropTypes.bool,\n notification: PropTypes.shape(Notification.propTypes),\n badgeCategory: CardContentInfo.propTypes.badgeCategory,\n badgeLabel: CardContentInfo.propTypes.badgeLabel,\n theme: PropTypes.oneOf(keys(THEMES))\n};\nexport default Card;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/card/index.js"],"names":["THEMES","default","coorpmanager","style","CardBackground","type","image","empty","ariaLabel","skin","externalContent","primaryColor","whiteColor","EXTERNAL_CONTENT_ICONS","IconType","icon","iconColor","color","backgroundIcon","externalIconCircleWrapper","externalIcon","_backgroundIcon","externalIconCircleWithImageWrapper","backgroundColor","externalIconWithImage","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","chapterImageWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","bool","Card","props","context","badge","adaptiv","disabled","title","author","customer","certifiedAuthor","progress","favorite","addFavoriteToolTip","removeFavoriteToolTip","onClick","onFavoriteClick","isSelected","notification","badgeCategory","badgeLabel","theme","cardArialabel","backgroundAriaLabel","favoriteAriaLabel","selectableAriaLabel","customerAriaLabel","badgeAriaLabel","disabledArialabel","cardContentLabelAriaLabel","cardStyle","chapter","course","lazy","grid","handleClick","e","lock","lockIcon","inlineBadgeStyle","getType","contentType","MODES","CARD","lockWrapper","shape","Customer","number","func","Notification","CardContentInfo","oneOf","Favorite","Selectable"],"mappings":"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","sourcesContent":["import React, {useMemo, memo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, isUndefined, pick, keys} from 'lodash/fp';\nimport {\n NovaSolidLoginLocked as LockIcon,\n NovaCompositionCoorpacademyPictures as PicturesIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport CardContentInfo, {MODES} from '../card-content';\nimport Customer from './customer';\nimport Favorite from './favorite';\nimport Selectable from './selectable';\nimport Notification from './notification';\nimport style from './style.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst CardBackground = ({type, image, empty, 'aria-label': ariaLabel}, {skin}) => {\n const externalContent = isExternalContent(type);\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[type].color;\n const backgroundIcon = (\n <div className={style.externalIconCircleWrapper}>\n <IconType className={style.externalIcon} />\n </div>\n );\n\n if (image) {\n const _backgroundIcon = (\n <div\n className={classnames(\n style.externalIconCircleWrapper,\n style.externalIconCircleWithImageWrapper\n )}\n style={{\n backgroundColor: iconColor\n }}\n >\n <IconType className={style.externalIconWithImage} />\n </div>\n );\n\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor,\n backgroundImage: `url('${image}')`\n }}\n className={classnames(style.externalContentHeader, style.externalBackground)}\n >\n {_backgroundIcon}\n </div>\n </div>\n );\n }\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor\n }}\n className={style.externalContentHeader}\n >\n {backgroundIcon}\n </div>\n </div>\n );\n }\n\n const emptyIcon = empty ? <PicturesIcon className={style.emptyIcon} color={whiteColor} /> : null;\n return (\n <div\n className={classnames(\n style.imageWrapper,\n type === 'chapter' ? style.chapterImageWrapper : null\n )}\n >\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n className={style.image}\n style={{\n backgroundColor: primaryColor,\n backgroundImage: image ? `url('${image}')` : 'none'\n }}\n >\n {emptyIcon}\n </div>\n </div>\n );\n};\n\nCardBackground.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCardBackground.propTypes = {\n type: PropTypes.string,\n image: PropTypes.string,\n empty: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst Card = memo(function Card(props, context) {\n const {skin} = context;\n const {\n image,\n badge,\n adaptiv,\n disabled = false,\n type = 'course',\n title,\n author,\n customer,\n certifiedAuthor,\n progress,\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n onClick,\n onFavoriteClick,\n isSelected,\n notification,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': cardArialabel,\n 'background-aria-label': backgroundAriaLabel,\n 'favorite-aria-label': favoriteAriaLabel,\n 'selectable-aria-label': selectableAriaLabel,\n 'customer-aria-label': customerAriaLabel,\n 'badge-aria-label': badgeAriaLabel,\n 'disabled-aria-label': disabledArialabel,\n 'card-content-aria-label': cardContentLabelAriaLabel\n } = props;\n const empty = isEmpty(pick(['title', 'type', 'author', 'image'], props));\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n const cardStyle = classnames(\n THEMES[theme],\n type === 'chapter' ? style.chapter : style.course,\n title ? null : style.lazy,\n style.grid,\n empty ? style.empty : null\n );\n const handleClick = useMemo(() => e => !disabled && onClick(e), [disabled, onClick]);\n const lock = disabled ? (\n <LockIcon className={style.lockIcon} color={whiteColor} height={40} />\n ) : null;\n const inlineBadgeStyle = {color: primaryColor};\n const getType = contentType => {\n switch (contentType) {\n case 'chapter':\n return 'microlearning';\n case 'course':\n return 'learner';\n default:\n return contentType;\n }\n };\n\n return (\n <div\n className={cardStyle}\n data-name=\"card\"\n data-lock={disabled}\n data-type={getType(type)}\n disabled={disabled}\n onClick={handleClick}\n aria-label={cardArialabel}\n >\n <CardBackground type={type} image={image} empty={empty} aria-label={backgroundAriaLabel} />\n {isUndefined(isSelected) && !isUndefined(favorite) ? (\n <Favorite\n className={style.favorite}\n favorite={favorite}\n disabled={disabled}\n onFavoriteClick={onFavoriteClick}\n addFavoriteToolTip={addFavoriteToolTip}\n removeFavoriteToolTip={removeFavoriteToolTip}\n aria-label={favoriteAriaLabel}\n />\n ) : null}\n <Selectable isSelected={isSelected} aria-label={selectableAriaLabel} />\n {notification ? <Notification {...notification} /> : null}\n {customer ? (\n <Customer\n {...customer}\n theme={theme}\n type={type}\n disabled={disabled}\n aria-label={customerAriaLabel}\n />\n ) : null}\n <CardContentInfo\n mode={MODES.CARD}\n adaptiv={adaptiv}\n author={author}\n certifiedAuthor={certifiedAuthor}\n disabled={disabled}\n empty={empty}\n progress={progress}\n title={title}\n type={type}\n badgeCategory={badgeCategory}\n badgeLabel={badgeLabel}\n theme={theme}\n aria-label={cardContentLabelAriaLabel}\n />\n {badge ? (\n <div className={style.badge} style={inlineBadgeStyle} aria-label={badgeAriaLabel}>\n {badge}\n </div>\n ) : null}\n {disabled ? (\n <div className={style.lockWrapper} aria-label={disabledArialabel}>\n {lock}\n </div>\n ) : null}\n </div>\n );\n});\n\nCard.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCard.propTypes = {\n badge: PropTypes.string,\n image: PropTypes.string,\n disabled: PropTypes.bool,\n adaptiv: PropTypes.bool,\n type: PropTypes.string,\n title: PropTypes.string,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n customer: PropTypes.shape(Customer.propTypes),\n progress: PropTypes.number,\n favorite: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onClick: PropTypes.func,\n onFavoriteClick: PropTypes.func,\n isSelected: PropTypes.bool,\n notification: PropTypes.shape(Notification.propTypes),\n badgeCategory: CardContentInfo.propTypes.badgeCategory,\n badgeLabel: CardContentInfo.propTypes.badgeLabel,\n theme: PropTypes.oneOf(keys(THEMES)),\n 'aria-label': PropTypes.string,\n 'background-aria-label': PropTypes.string,\n 'favorite-aria-label': Favorite.propTypes['aria-label'],\n 'selectable-aria-label': Selectable.propTypes['aria-label'],\n 'customer-aria-label': Customer.propTypes['aria-label'],\n 'badge-aria-label': PropTypes.string,\n 'disabled-aria-label': PropTypes.string,\n 'card-content-aria-label': CardContentInfo.propTypes['aria-label']\n};\nexport default Card;\n"],"file":"index.js"}
|
|
@@ -19,7 +19,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
19
19
|
|
|
20
20
|
const Selectable = props => {
|
|
21
21
|
const {
|
|
22
|
-
isSelected
|
|
22
|
+
isSelected,
|
|
23
|
+
'aria-label': ariaLabel = {}
|
|
23
24
|
} = props;
|
|
24
25
|
if ((0, _isUndefined2.default)(isSelected)) return null;
|
|
25
26
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -29,14 +30,20 @@ const Selectable = props => {
|
|
|
29
30
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
30
31
|
className: _selectable.default.iconWrapper
|
|
31
32
|
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidRemoveAddAddCircle1, {
|
|
32
|
-
className: _selectable.default.addIcon
|
|
33
|
+
className: _selectable.default.addIcon,
|
|
34
|
+
"aria-label": ariaLabel.select
|
|
33
35
|
}), /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidStatusCheckCircle2, {
|
|
34
|
-
className: _selectable.default.checkIcon
|
|
36
|
+
className: _selectable.default.checkIcon,
|
|
37
|
+
"aria-label": ariaLabel.unSelect
|
|
35
38
|
})));
|
|
36
39
|
};
|
|
37
40
|
|
|
38
41
|
Selectable.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
39
|
-
isSelected: _propTypes.default.bool
|
|
42
|
+
isSelected: _propTypes.default.bool,
|
|
43
|
+
'aria-label': _propTypes.default.shape({
|
|
44
|
+
select: _propTypes.default.string,
|
|
45
|
+
unSelect: _propTypes.default.string
|
|
46
|
+
})
|
|
40
47
|
} : {};
|
|
41
48
|
var _default = Selectable;
|
|
42
49
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/card/selectable.js"],"names":["Selectable","props","isSelected","style","selectable","selected","circle","iconWrapper","addIcon","checkIcon","propTypes","PropTypes","bool"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAIA;;;;AAEA,MAAMA,UAAU,GAAGC,KAAK,IAAI;AAC1B,QAAM;AAACC,IAAAA;
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/card/selectable.js"],"names":["Selectable","props","isSelected","ariaLabel","style","selectable","selected","circle","iconWrapper","addIcon","select","checkIcon","unSelect","propTypes","PropTypes","bool","shape","string"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAIA;;;;AAEA,MAAMA,UAAU,GAAGC,KAAK,IAAI;AAC1B,QAAM;AAACC,IAAAA,UAAD;AAAa,kBAAcC,SAAS,GAAG;AAAvC,MAA6CF,KAAnD;AAEA,MAAI,2BAAYC,UAAZ,CAAJ,EAA6B,OAAO,IAAP;AAE7B,sBACE;AAAK,IAAA,SAAS,EAAE,yBAAWE,oBAAMC,UAAjB,EAA6BH,UAAU,IAAIE,oBAAME,QAAjD;AAAhB,kBACE;AAAK,IAAA,SAAS,EAAEF,oBAAMG;AAAtB,IADF,eAEE;AAAK,IAAA,SAAS,EAAEH,oBAAMI;AAAtB,kBACE,6BAAC,uCAAD;AAAS,IAAA,SAAS,EAAEJ,oBAAMK,OAA1B;AAAmC,kBAAYN,SAAS,CAACO;AAAzD,IADF,eAEE,6BAAC,sCAAD;AAAW,IAAA,SAAS,EAAEN,oBAAMO,SAA5B;AAAuC,kBAAYR,SAAS,CAACS;AAA7D,IAFF,CAFF,CADF;AASD,CAdD;;AAgBAZ,UAAU,CAACa,SAAX,2CAAuB;AACrBX,EAAAA,UAAU,EAAEY,mBAAUC,IADD;AAErB,gBAAcD,mBAAUE,KAAV,CAAgB;AAC5BN,IAAAA,MAAM,EAAEI,mBAAUG,MADU;AAE5BL,IAAAA,QAAQ,EAAEE,mBAAUG;AAFQ,GAAhB;AAFO,CAAvB;eAQejB,U","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {isUndefined} from 'lodash/fp';\nimport {\n NovaSolidStatusCheckCircle2 as CheckIcon,\n NovaSolidRemoveAddAddCircle1 as AddIcon\n} from '@coorpacademy/nova-icons';\nimport style from './selectable.css';\n\nconst Selectable = props => {\n const {isSelected, 'aria-label': ariaLabel = {}} = props;\n\n if (isUndefined(isSelected)) return null;\n\n return (\n <div className={classnames(style.selectable, isSelected && style.selected)}>\n <div className={style.circle} />\n <div className={style.iconWrapper}>\n <AddIcon className={style.addIcon} aria-label={ariaLabel.select} />\n <CheckIcon className={style.checkIcon} aria-label={ariaLabel.unSelect} />\n </div>\n </div>\n );\n};\n\nSelectable.propTypes = {\n isSelected: PropTypes.bool,\n 'aria-label': PropTypes.shape({\n select: PropTypes.string,\n unSelect: PropTypes.string\n })\n};\n\nexport default Selectable;\n"],"file":"selectable.js"}
|
|
@@ -22,7 +22,26 @@ var _default = {
|
|
|
22
22
|
name: 'Decathlon creation'
|
|
23
23
|
},
|
|
24
24
|
onClick: () => console.log('click everywhere'),
|
|
25
|
-
onFavoriteClick: () => console.log('click Favorite')
|
|
25
|
+
onFavoriteClick: () => console.log('click Favorite'),
|
|
26
|
+
'aria-label': 'course card',
|
|
27
|
+
'background-aria-label': 'image wthout informations',
|
|
28
|
+
'favorite-aria-label': {
|
|
29
|
+
favorite: 'this cours is your favorite',
|
|
30
|
+
addToFavorite: 'add to favorite',
|
|
31
|
+
removeFromFavorite: 'remove from favorite'
|
|
32
|
+
},
|
|
33
|
+
'selectable-aria-label': {
|
|
34
|
+
select: 'select course',
|
|
35
|
+
unSelect: 'unselect course'
|
|
36
|
+
},
|
|
37
|
+
'customer-aria-label': 'made by',
|
|
38
|
+
'badge-aria-label': 'new course',
|
|
39
|
+
'disabled-aria-label': 'the course is disabled',
|
|
40
|
+
'card-content-aria-label': {
|
|
41
|
+
author: 'auther name',
|
|
42
|
+
progression: 'you have done 65% of the course',
|
|
43
|
+
adaptive: 'this is an adaptive course'
|
|
44
|
+
}
|
|
26
45
|
}
|
|
27
46
|
};
|
|
28
47
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/molecule/card/test/fixtures/default.js"],"names":["props","image","adaptiv","certification","type","title","author","certifiedAuthor","progress","badge","favorite","addFavoriteToolTip","removeFavoriteToolTip","isSelected","undefined","customer","coorpOriginal","name","onClick","console","log","onFavoriteClick"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EACH,4LAFG;AAGLC,IAAAA,OAAO,EAAE,KAHJ;AAILC,IAAAA,aAAa,EAAE,KAJV;AAKLC,IAAAA,IAAI,EAAE,QALD;AAMLC,IAAAA,KAAK,EAAE,sDANF;AAOLC,IAAAA,MAAM,EAAE,cAPH;AAQLC,IAAAA,eAAe,EAAE,IARZ;AASLC,IAAAA,QAAQ,EAAE,IATL;AAULC,IAAAA,KAAK,EAAE,KAVF;AAWLC,IAAAA,QAAQ,EAAE,IAXL;AAYLC,IAAAA,kBAAkB,EAAE,gBAZf;AAaLC,IAAAA,qBAAqB,EAAE,qBAblB;AAcLC,IAAAA,UAAU,EAAEC,SAdP;AAeLC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,aAAa,EAAE,IADP;AAERC,MAAAA,IAAI,EAAE;AAFE,KAfL;AAmBLC,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,kBAAZ,CAnBV;AAoBLC,IAAAA,eAAe,EAAE,MAAMF,OAAO,CAACC,GAAR,CAAY,gBAAZ;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/card/test/fixtures/default.js"],"names":["props","image","adaptiv","certification","type","title","author","certifiedAuthor","progress","badge","favorite","addFavoriteToolTip","removeFavoriteToolTip","isSelected","undefined","customer","coorpOriginal","name","onClick","console","log","onFavoriteClick","addToFavorite","removeFromFavorite","select","unSelect","progression","adaptive"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EACH,4LAFG;AAGLC,IAAAA,OAAO,EAAE,KAHJ;AAILC,IAAAA,aAAa,EAAE,KAJV;AAKLC,IAAAA,IAAI,EAAE,QALD;AAMLC,IAAAA,KAAK,EAAE,sDANF;AAOLC,IAAAA,MAAM,EAAE,cAPH;AAQLC,IAAAA,eAAe,EAAE,IARZ;AASLC,IAAAA,QAAQ,EAAE,IATL;AAULC,IAAAA,KAAK,EAAE,KAVF;AAWLC,IAAAA,QAAQ,EAAE,IAXL;AAYLC,IAAAA,kBAAkB,EAAE,gBAZf;AAaLC,IAAAA,qBAAqB,EAAE,qBAblB;AAcLC,IAAAA,UAAU,EAAEC,SAdP;AAeLC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,aAAa,EAAE,IADP;AAERC,MAAAA,IAAI,EAAE;AAFE,KAfL;AAmBLC,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,kBAAZ,CAnBV;AAoBLC,IAAAA,eAAe,EAAE,MAAMF,OAAO,CAACC,GAAR,CAAY,gBAAZ,CApBlB;AAqBL,kBAAc,aArBT;AAsBL,6BAAyB,2BAtBpB;AAuBL,2BAAuB;AACrBV,MAAAA,QAAQ,EAAE,6BADW;AAErBY,MAAAA,aAAa,EAAE,iBAFM;AAGrBC,MAAAA,kBAAkB,EAAE;AAHC,KAvBlB;AA4BL,6BAAyB;AACvBC,MAAAA,MAAM,EAAE,eADe;AAEvBC,MAAAA,QAAQ,EAAE;AAFa,KA5BpB;AAgCL,2BAAuB,SAhClB;AAiCL,wBAAoB,YAjCf;AAkCL,2BAAuB,wBAlClB;AAmCL,+BAA2B;AACzBnB,MAAAA,MAAM,EAAE,aADiB;AAEzBoB,MAAAA,WAAW,EAAE,iCAFY;AAGzBC,MAAAA,QAAQ,EAAE;AAHe;AAnCtB;AADM,C","sourcesContent":["export default {\n props: {\n image:\n 'https://api.coorpacademy.com/api-service/medias?url=https://static.coorpacademy.com/content/partner-wedemain/fr/medias/img/cover/shutterstock_248741149-1470302136299.jpg&h=500&w=500&q=90',\n adaptiv: false,\n certification: false,\n type: 'course',\n title: 'From Mass Market to One to One targeting Lorem ipsum',\n author: 'Coorpacademy',\n certifiedAuthor: true,\n progress: 0.65,\n badge: 'new',\n favorite: true,\n addFavoriteToolTip: 'Add to my list',\n removeFavoriteToolTip: 'Remove from my list',\n isSelected: undefined,\n customer: {\n coorpOriginal: true,\n name: 'Decathlon creation'\n },\n onClick: () => console.log('click everywhere'),\n onFavoriteClick: () => console.log('click Favorite'),\n 'aria-label': 'course card',\n 'background-aria-label': 'image wthout informations',\n 'favorite-aria-label': {\n favorite: 'this cours is your favorite',\n addToFavorite: 'add to favorite',\n removeFromFavorite: 'remove from favorite'\n },\n 'selectable-aria-label': {\n select: 'select course',\n unSelect: 'unselect course'\n },\n 'customer-aria-label': 'made by',\n 'badge-aria-label': 'new course',\n 'disabled-aria-label': 'the course is disabled',\n 'card-content-aria-label': {\n author: 'auther name',\n progression: 'you have done 65% of the course',\n adaptive: 'this is an adaptive course'\n }\n }\n};\n"],"file":"default.js"}
|
|
@@ -7,6 +7,8 @@ var _keys2 = _interopRequireDefault(require("lodash/fp/keys"));
|
|
|
7
7
|
|
|
8
8
|
var _isNil2 = _interopRequireDefault(require("lodash/fp/isNil"));
|
|
9
9
|
|
|
10
|
+
var _get2 = _interopRequireDefault(require("lodash/fp/get"));
|
|
11
|
+
|
|
10
12
|
var _react = _interopRequireDefault(require("react"));
|
|
11
13
|
|
|
12
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -110,7 +112,8 @@ const AuthorName = ({
|
|
|
110
112
|
author,
|
|
111
113
|
empty,
|
|
112
114
|
courseContent,
|
|
113
|
-
certifiedAuthor
|
|
115
|
+
certifiedAuthor,
|
|
116
|
+
'aria-label': ariaLabel
|
|
114
117
|
}) => {
|
|
115
118
|
const checkIcon = certifiedAuthor ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidStatusCheckCircle2, {
|
|
116
119
|
className: (0, _classnames.default)(_style2.default.authorIcon, courseContent ? _style2.default.iconShadow : null),
|
|
@@ -119,6 +122,7 @@ const AuthorName = ({
|
|
|
119
122
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
120
123
|
"data-name": "author",
|
|
121
124
|
title: author,
|
|
125
|
+
"aria-label": ariaLabel,
|
|
122
126
|
className: (0, _classnames.default)(_style2.default.author, courseContent ? _style2.default.lightTitle : _style2.default.darkAuthorTitle, empty ? _style2.default.empty : null)
|
|
123
127
|
}, /*#__PURE__*/_react.default.createElement("span", null, author), checkIcon);
|
|
124
128
|
};
|
|
@@ -127,7 +131,8 @@ AuthorName.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
127
131
|
author: _propTypes.default.string,
|
|
128
132
|
empty: _propTypes.default.bool,
|
|
129
133
|
courseContent: _propTypes.default.bool,
|
|
130
|
-
certifiedAuthor: _propTypes.default.bool
|
|
134
|
+
certifiedAuthor: _propTypes.default.bool,
|
|
135
|
+
'aria-label': _propTypes.default.string
|
|
131
136
|
} : {};
|
|
132
137
|
|
|
133
138
|
const ContentInfo = ({
|
|
@@ -142,7 +147,8 @@ const ContentInfo = ({
|
|
|
142
147
|
type,
|
|
143
148
|
badgeCategory,
|
|
144
149
|
badgeLabel,
|
|
145
|
-
theme = 'default'
|
|
150
|
+
theme = 'default',
|
|
151
|
+
'aria-label': ariaLabel
|
|
146
152
|
}) => {
|
|
147
153
|
const progressBarColor = '#3EC483';
|
|
148
154
|
const inlineProgressValueStyle = {
|
|
@@ -157,10 +163,12 @@ const ContentInfo = ({
|
|
|
157
163
|
}, !disabled ? /*#__PURE__*/_react.default.createElement("div", {
|
|
158
164
|
"data-name": "progress",
|
|
159
165
|
className: _style2.default.progress,
|
|
160
|
-
style: inlineProgressValueStyle
|
|
166
|
+
style: inlineProgressValueStyle,
|
|
167
|
+
"aria-label": (0, _get2.default)('progression', ariaLabel)
|
|
161
168
|
}) : null) : null;
|
|
162
169
|
const adaptiveIcon = adaptiv ? /*#__PURE__*/_react.default.createElement("div", {
|
|
163
|
-
className: (0, _classnames.default)(_style2.default.adaptiveIcon, courseContent ? _style2.default.iconShadow : null)
|
|
170
|
+
className: (0, _classnames.default)(_style2.default.adaptiveIcon, courseContent ? _style2.default.iconShadow : null),
|
|
171
|
+
"aria-label": (0, _get2.default)('adaptive', ariaLabel)
|
|
164
172
|
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyAdaptive, {
|
|
165
173
|
height: 25
|
|
166
174
|
})) : null;
|
|
@@ -186,7 +194,8 @@ const ContentInfo = ({
|
|
|
186
194
|
author: author,
|
|
187
195
|
empty: empty,
|
|
188
196
|
courseContent: courseContent,
|
|
189
|
-
certifiedAuthor: certifiedAuthor
|
|
197
|
+
certifiedAuthor: certifiedAuthor,
|
|
198
|
+
"aria-label": (0, _get2.default)('author', ariaLabel)
|
|
190
199
|
})), progressBar);
|
|
191
200
|
};
|
|
192
201
|
|
|
@@ -205,7 +214,12 @@ ContentInfo.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
205
214
|
mode: _propTypes.default.string,
|
|
206
215
|
badgeCategory: _contentBadge.default.propTypes.category,
|
|
207
216
|
badgeLabel: _contentBadge.default.propTypes.label,
|
|
208
|
-
theme: _propTypes.default.oneOf((0, _keys2.default)(THEMES))
|
|
217
|
+
theme: _propTypes.default.oneOf((0, _keys2.default)(THEMES)),
|
|
218
|
+
'aria-label': _propTypes.default.shape({
|
|
219
|
+
author: _propTypes.default.string,
|
|
220
|
+
progression: _propTypes.default.string,
|
|
221
|
+
adaptive: _propTypes.default.string
|
|
222
|
+
})
|
|
209
223
|
} : {};
|
|
210
224
|
var _default = ContentInfo;
|
|
211
225
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/card-content/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","innerHTML","lightTitle","darkTitle","__html","AuthorName","author","certifiedAuthor","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","ContentBadge","category","label","oneOf"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {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 {innerHTML} from '../../atom/label/style.css';\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 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}) => {\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 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};\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}) => {\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 data-name=\"progress\" className={style.progress} style={inlineProgressValueStyle} />\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} />\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 />\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};\n\nexport default ContentInfo;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/card-content/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","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","ContentBadge","category","label","oneOf","shape","progression","adaptive"],"mappings":"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","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 {innerHTML} from '../../atom/label/style.css';\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 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"],"file":"index.js"}
|
|
@@ -9,7 +9,12 @@ var _default = {
|
|
|
9
9
|
props: {
|
|
10
10
|
mode: _.MODES.CARD,
|
|
11
11
|
author: 'Coorpcademy',
|
|
12
|
-
title: '<p align="right">From Mass Market to One to One targeting</p>'
|
|
12
|
+
title: '<p align="right">From Mass Market to One to One targeting</p>',
|
|
13
|
+
'aria-label': {
|
|
14
|
+
author: 'auther name',
|
|
15
|
+
progression: 'you have done 65% of the course',
|
|
16
|
+
adaptive: 'this is an adaptive course'
|
|
17
|
+
}
|
|
13
18
|
}
|
|
14
19
|
};
|
|
15
20
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/molecule/card-content/test/fixtures/card-no-progress-bar.js"],"names":["props","mode","MODES","CARD","author","title"],"mappings":";;;;;AAAA;;eAEe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAEC,QAAMC,IADP;AAELC,IAAAA,MAAM,EAAE,aAFH;AAGLC,IAAAA,KAAK,EAAE;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/card-content/test/fixtures/card-no-progress-bar.js"],"names":["props","mode","MODES","CARD","author","title","progression","adaptive"],"mappings":";;;;;AAAA;;eAEe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAEC,QAAMC,IADP;AAELC,IAAAA,MAAM,EAAE,aAFH;AAGLC,IAAAA,KAAK,EAAE,+DAHF;AAIL,kBAAc;AACZD,MAAAA,MAAM,EAAE,aADI;AAEZE,MAAAA,WAAW,EAAE,iCAFD;AAGZC,MAAAA,QAAQ,EAAE;AAHE;AAJT;AADM,C","sourcesContent":["import {MODES} from '../..';\n\nexport default {\n props: {\n mode: MODES.CARD,\n author: 'Coorpcademy',\n title: '<p align=\"right\">From Mass Market to One to One targeting</p>',\n 'aria-label': {\n author: 'auther name',\n progression: 'you have done 65% of the course',\n adaptive: 'this is an adaptive course'\n }\n }\n};\n"],"file":"card-no-progress-bar.js"}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = void 0;
|
|
5
5
|
|
|
6
|
+
var _getOr2 = _interopRequireDefault(require("lodash/fp/getOr"));
|
|
7
|
+
|
|
6
8
|
var _orderBy2 = _interopRequireDefault(require("lodash/fp/orderBy"));
|
|
7
9
|
|
|
8
10
|
var _filter2 = _interopRequireDefault(require("lodash/fp/filter"));
|
|
@@ -19,6 +21,8 @@ var _provider = _interopRequireDefault(require("../../../atom/provider"));
|
|
|
19
21
|
|
|
20
22
|
var _style = require("../../../atom/label/style.css");
|
|
21
23
|
|
|
24
|
+
var _getShadowBoxColorFromPrimary = require("../../../util/get-shadow-box-color-from-primary");
|
|
25
|
+
|
|
22
26
|
var _style2 = _interopRequireDefault(require("./style.css"));
|
|
23
27
|
|
|
24
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -54,7 +58,7 @@ const Choices = ({
|
|
|
54
58
|
selected
|
|
55
59
|
} = answer;
|
|
56
60
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
57
|
-
className: (0, _classnames.default)(selected ? _style2.default.invisibleAnswer : _style2.default.
|
|
61
|
+
className: (0, _classnames.default)(selected ? _style2.default.invisibleAnswer : _style2.default.unselected, _style.innerHTML),
|
|
58
62
|
"data-name": "answer",
|
|
59
63
|
onClick: onClick,
|
|
60
64
|
key: key // eslint-disable-next-line react/no-danger
|
|
@@ -65,7 +69,7 @@ const Choices = ({
|
|
|
65
69
|
});
|
|
66
70
|
});
|
|
67
71
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
68
|
-
className: _style2.default.
|
|
72
|
+
className: _style2.default.choices
|
|
69
73
|
}, answersViews);
|
|
70
74
|
};
|
|
71
75
|
|
|
@@ -73,9 +77,10 @@ Choices.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
73
77
|
answers: AnswersPropTypes
|
|
74
78
|
} : {};
|
|
75
79
|
|
|
76
|
-
const
|
|
80
|
+
const SelectedAnswerSections = ({
|
|
77
81
|
answers,
|
|
78
|
-
help
|
|
82
|
+
help,
|
|
83
|
+
backgroundColor
|
|
79
84
|
}) => {
|
|
80
85
|
const selectedAnswers = (0, _pipe2.default)((0, _filter2.default)('selected'), (0, _orderBy2.default)('order', 'asc'))(answers);
|
|
81
86
|
const selectedAnswersViews = selectedAnswers.map((answer, key) => {
|
|
@@ -84,15 +89,31 @@ const SelectionBox = ({
|
|
|
84
89
|
title
|
|
85
90
|
} = answer;
|
|
86
91
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
87
|
-
className: (0, _classnames.default)(_style2.default.selectedAnswer, _style.innerHTML),
|
|
88
92
|
"data-selected": "true",
|
|
89
93
|
onClick: onClick,
|
|
90
|
-
key: key
|
|
94
|
+
key: key,
|
|
95
|
+
"data-name": "selectedAnswer",
|
|
96
|
+
className: _style2.default.selected,
|
|
97
|
+
style: {
|
|
98
|
+
boxShadow: `0px 4px 16px ${(0, _getShadowBoxColorFromPrimary.getShadowBoxColorFromPrimary)(backgroundColor)}`
|
|
99
|
+
}
|
|
100
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
101
|
+
"data-name": "answerBackground",
|
|
102
|
+
style: {
|
|
103
|
+
backgroundColor
|
|
104
|
+
},
|
|
105
|
+
className: _style2.default.background
|
|
106
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
107
|
+
className: _style2.default.content
|
|
108
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
109
|
+
"data-name": "answerContent",
|
|
110
|
+
className: (0, _classnames.default)(_style2.default.selectedAnswerText, _style.innerHTML),
|
|
111
|
+
title: title // eslint-disable-next-line react/no-danger
|
|
91
112
|
,
|
|
92
113
|
dangerouslySetInnerHTML: {
|
|
93
114
|
__html: title
|
|
94
115
|
}
|
|
95
|
-
});
|
|
116
|
+
})));
|
|
96
117
|
});
|
|
97
118
|
|
|
98
119
|
if (selectedAnswersViews.length > 0) {
|
|
@@ -108,30 +129,41 @@ const SelectionBox = ({
|
|
|
108
129
|
}
|
|
109
130
|
};
|
|
110
131
|
|
|
111
|
-
|
|
132
|
+
SelectedAnswerSections.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
112
133
|
answers: AnswersPropTypes,
|
|
113
|
-
help: EmptyView.propTypes.help
|
|
134
|
+
help: EmptyView.propTypes.help,
|
|
135
|
+
backgroundColor: _propTypes.default.string
|
|
114
136
|
} : {};
|
|
115
137
|
|
|
116
138
|
const QcmDrag = ({
|
|
117
139
|
answers,
|
|
118
140
|
help
|
|
119
|
-
}, context) =>
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
141
|
+
}, context) => {
|
|
142
|
+
const {
|
|
143
|
+
skin
|
|
144
|
+
} = context;
|
|
145
|
+
const primarySkinColor = (0, _getOr2.default)('#00B0FF', 'common.primary', skin);
|
|
146
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
147
|
+
className: _style2.default.wrapper
|
|
148
|
+
}, /*#__PURE__*/_react.default.createElement(SelectedAnswerSections, {
|
|
149
|
+
answers: answers,
|
|
150
|
+
help: help,
|
|
151
|
+
backgroundColor: primarySkinColor
|
|
152
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
153
|
+
"data-name": "qcm-drag-answers",
|
|
154
|
+
className: _style2.default.answers
|
|
155
|
+
}, /*#__PURE__*/_react.default.createElement(Choices, {
|
|
156
|
+
answers: answers
|
|
157
|
+
})));
|
|
158
|
+
};
|
|
130
159
|
|
|
131
160
|
QcmDrag.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
132
161
|
answers: AnswersPropTypes,
|
|
133
|
-
help:
|
|
162
|
+
help: SelectedAnswerSections.propTypes.help
|
|
134
163
|
} : {};
|
|
164
|
+
QcmDrag.contextTypes = {
|
|
165
|
+
skin: _provider.default.childContextTypes.skin
|
|
166
|
+
};
|
|
135
167
|
var _default = QcmDrag;
|
|
136
168
|
exports.default = _default;
|
|
137
169
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":["AnswersPropTypes","PropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","style","emptySpan","contextTypes","translate","Provider","childContextTypes","propTypes","Choices","answers","answersViews","map","answer","key","invisibleAnswer","innerHTML","__html","
|
|
1
|
+
{"version":3,"sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":["AnswersPropTypes","PropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","style","emptySpan","contextTypes","translate","Provider","childContextTypes","propTypes","Choices","answers","answersViews","map","answer","key","invisibleAnswer","unselected","innerHTML","__html","choices","SelectedAnswerSections","backgroundColor","selectedAnswers","selectedAnswersViews","boxShadow","background","content","selectedAnswerText","length","emptyAnswers","QcmDrag","context","skin","primarySkinColor","wrapper"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {pipe, filter, orderBy, getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider from '../../../atom/provider';\nimport {innerHTML} from '../../../atom/label/style.css';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst AnswersPropTypes = PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n order: PropTypes.number,\n selected: PropTypes.bool,\n title: PropTypes.string,\n help: PropTypes.string\n })\n);\n\nconst EmptyView = ({help}) => <span className={style.emptySpan}>{help}</span>;\n\nEmptyView.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nEmptyView.propTypes = {\n help: PropTypes.string\n};\n\nconst Choices = ({answers}) => {\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected} = answer;\n return (\n <div\n className={classnames(selected ? style.invisibleAnswer : style.unselected, innerHTML)}\n data-name=\"answer\"\n onClick={onClick}\n key={key}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n });\n\n return <div className={style.choices}>{answersViews}</div>;\n};\n\nChoices.propTypes = {\n answers: AnswersPropTypes\n};\n\nconst SelectedAnswerSections = ({answers, help, backgroundColor}) => {\n const selectedAnswers = pipe(filter('selected'), orderBy('order', 'asc'))(answers);\n const selectedAnswersViews = selectedAnswers.map((answer, key) => {\n const {onClick, title} = answer;\n return (\n <div\n data-selected=\"true\"\n onClick={onClick}\n key={key}\n data-name=\"selectedAnswer\"\n className={style.selected}\n style={{\n boxShadow: `0px 4px 16px ${getShadowBoxColorFromPrimary(backgroundColor)}`\n }}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor\n }}\n className={style.background}\n />\n <div className={style.content}>\n <span\n data-name=\"answerContent\"\n className={classnames(style.selectedAnswerText, innerHTML)}\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n );\n });\n\n if (selectedAnswersViews.length > 0) {\n return <div className={style.selectedAnswers}>{selectedAnswersViews}</div>;\n } else {\n return (\n <div className={style.emptyAnswers}>\n <EmptyView help={help} />\n </div>\n );\n }\n};\n\nSelectedAnswerSections.propTypes = {\n answers: AnswersPropTypes,\n help: EmptyView.propTypes.help,\n backgroundColor: PropTypes.string\n};\n\nconst QcmDrag = ({answers, help}, context) => {\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n return (\n <div className={style.wrapper}>\n <SelectedAnswerSections answers={answers} help={help} backgroundColor={primarySkinColor} />\n <div data-name=\"qcm-drag-answers\" className={style.answers}>\n <Choices answers={answers} />\n </div>\n </div>\n );\n};\n\nQcmDrag.propTypes = {\n answers: AnswersPropTypes,\n help: SelectedAnswerSections.propTypes.help\n};\n\nQcmDrag.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default QcmDrag;\n"],"file":"index.js"}
|