@coorpacademy/components 10.5.7-alpha.8 → 10.6.1
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 +27 -27
- package/es/atom/select/index.js.map +1 -1
- package/es/atom/select/style.css +66 -0
- package/es/atom/select/test/fixtures/coorpmanager.js +11 -0
- package/es/atom/select/test/fixtures/coorpmanager.js.map +1 -0
- package/es/atom/select/test/fixtures.js +2 -0
- package/es/atom/select/test/fixtures.js.map +1 -1
- package/es/molecule/brand-form-group/index.js +3 -1
- package/es/molecule/brand-form-group/index.js.map +1 -1
- package/es/molecule/brand-form-group/test/fixtures/lookandfeel.js +30 -26
- package/es/molecule/brand-form-group/test/fixtures/lookandfeel.js.map +1 -1
- 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-drag/style.css +0 -1
- package/es/molecule/questions/qcm-graphic/style.css +0 -2
- 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/molecule/wizard-summary/style.css +4 -4
- package/es/variables/colors.css +2 -0
- package/lib/atom/select/index.js +32 -31
- package/lib/atom/select/index.js.map +1 -1
- package/lib/atom/select/style.css +66 -0
- package/lib/atom/select/test/fixtures/coorpmanager.js +21 -0
- package/lib/atom/select/test/fixtures/coorpmanager.js.map +1 -0
- package/lib/atom/select/test/fixtures.js +3 -0
- package/lib/atom/select/test/fixtures.js.map +1 -1
- package/lib/molecule/brand-form-group/index.js +3 -1
- package/lib/molecule/brand-form-group/index.js.map +1 -1
- package/lib/molecule/brand-form-group/test/fixtures/lookandfeel.js +30 -26
- package/lib/molecule/brand-form-group/test/fixtures/lookandfeel.js.map +1 -1
- 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-drag/style.css +0 -1
- package/lib/molecule/questions/qcm-graphic/style.css +0 -2
- 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/molecule/wizard-summary/style.css +4 -4
- package/lib/variables/colors.css +2 -0
- package/package.json +2 -2
|
@@ -27,12 +27,14 @@ const Customer = props => {
|
|
|
27
27
|
type,
|
|
28
28
|
coorpOriginal,
|
|
29
29
|
theme,
|
|
30
|
-
disabled = false
|
|
30
|
+
disabled = false,
|
|
31
|
+
'aria-label': ariaLabel
|
|
31
32
|
} = props;
|
|
32
33
|
const className = (0, _classnames.default)(THEMES[theme], _customer.default.customer, type === 'chapter' ? _customer.default.chapterCustomer : null);
|
|
33
34
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
34
35
|
className: className,
|
|
35
|
-
disabled: disabled
|
|
36
|
+
disabled: disabled,
|
|
37
|
+
"aria-label": ariaLabel
|
|
36
38
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
37
39
|
className: _customer.default.content
|
|
38
40
|
}, coorpOriginal ? /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -47,7 +49,8 @@ Customer.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
47
49
|
type: _propTypes.default.string,
|
|
48
50
|
name: _propTypes.default.string,
|
|
49
51
|
coorpOriginal: _propTypes.default.bool.isRequired,
|
|
50
|
-
disabled: _propTypes.default.bool
|
|
52
|
+
disabled: _propTypes.default.bool,
|
|
53
|
+
'aria-label': _propTypes.default.string
|
|
51
54
|
} : {};
|
|
52
55
|
var _default = Customer;
|
|
53
56
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/card/customer.js"],"names":["THEMES","default","coorpmanager","style","Customer","props","name","type","coorpOriginal","theme","disabled","className","customer","chapterCustomer","content","coorp","original","propTypes","PropTypes","oneOf","string","bool","isRequired"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;AAEO,MAAMA,MAAM,GAAG;AACpBC,EAAAA,OAAO,EAAE,IADW;AAEpBC,EAAAA,YAAY,EAAEC,kBAAMD;AAFA,CAAf;;;AAKP,MAAME,QAAQ,GAAGC,KAAK,IAAI;AACxB,QAAM;AAACC,IAAAA,IAAD;AAAOC,IAAAA,IAAP;AAAaC,IAAAA,aAAb;AAA4BC,IAAAA,KAA5B;AAAmCC,IAAAA,QAAQ,GAAG;
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/card/customer.js"],"names":["THEMES","default","coorpmanager","style","Customer","props","name","type","coorpOriginal","theme","disabled","ariaLabel","className","customer","chapterCustomer","content","coorp","original","propTypes","PropTypes","oneOf","string","bool","isRequired"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;AAEO,MAAMA,MAAM,GAAG;AACpBC,EAAAA,OAAO,EAAE,IADW;AAEpBC,EAAAA,YAAY,EAAEC,kBAAMD;AAFA,CAAf;;;AAKP,MAAME,QAAQ,GAAGC,KAAK,IAAI;AACxB,QAAM;AAACC,IAAAA,IAAD;AAAOC,IAAAA,IAAP;AAAaC,IAAAA,aAAb;AAA4BC,IAAAA,KAA5B;AAAmCC,IAAAA,QAAQ,GAAG,KAA9C;AAAqD,kBAAcC;AAAnE,MAAgFN,KAAtF;AACA,QAAMO,SAAS,GAAG,yBAChBZ,MAAM,CAACS,KAAD,CADU,EAEhBN,kBAAMU,QAFU,EAGhBN,IAAI,KAAK,SAAT,GAAqBJ,kBAAMW,eAA3B,GAA6C,IAH7B,CAAlB;AAMA,sBACE;AAAK,IAAA,SAAS,EAAEF,SAAhB;AAA2B,IAAA,QAAQ,EAAEF,QAArC;AAA+C,kBAAYC;AAA3D,kBACE;AAAK,IAAA,SAAS,EAAER,kBAAMY;AAAtB,KACGP,aAAa,gBAAG;AAAM,IAAA,SAAS,EAAEL,kBAAMa;AAAvB,cAAH,GAAiD,IADjE,EAEGR,aAAa,gBAAG;AAAM,IAAA,SAAS,EAAEL,kBAAMc;AAAvB,iBAAH,GAAuD,IAFvE,EAGG,CAACT,aAAD,IAAkBF,IAHrB,CADF,CADF;AASD,CAjBD;;AAmBAF,QAAQ,CAACc,SAAT,2CAAqB;AACnBT,EAAAA,KAAK,EAAEU,mBAAUC,KAAV,CAAgB,oBAAKpB,MAAL,CAAhB,CADY;AAEnBO,EAAAA,IAAI,EAAEY,mBAAUE,MAFG;AAGnBf,EAAAA,IAAI,EAAEa,mBAAUE,MAHG;AAInBb,EAAAA,aAAa,EAAEW,mBAAUG,IAAV,CAAeC,UAJX;AAKnBb,EAAAA,QAAQ,EAAES,mBAAUG,IALD;AAMnB,gBAAcH,mBAAUE;AANL,CAArB;eASejB,Q","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {keys} from 'lodash/fp';\nimport style from './customer.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst Customer = props => {\n const {name, type, coorpOriginal, theme, disabled = false, 'aria-label': ariaLabel} = props;\n const className = classnames(\n THEMES[theme],\n style.customer,\n type === 'chapter' ? style.chapterCustomer : null\n );\n\n return (\n <div className={className} disabled={disabled} aria-label={ariaLabel}>\n <div className={style.content}>\n {coorpOriginal ? <span className={style.coorp}>Coorp </span> : null}\n {coorpOriginal ? <span className={style.original}>Original </span> : null}\n {!coorpOriginal && name}\n </div>\n </div>\n );\n};\n\nCustomer.propTypes = {\n theme: PropTypes.oneOf(keys(THEMES)),\n type: PropTypes.string,\n name: PropTypes.string,\n coorpOriginal: PropTypes.bool.isRequired,\n disabled: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nexport default Customer;\n"],"file":"customer.js"}
|
|
@@ -49,7 +49,8 @@ class Favorite extends _react.default.Component {
|
|
|
49
49
|
favorite,
|
|
50
50
|
addFavoriteToolTip,
|
|
51
51
|
removeFavoriteToolTip,
|
|
52
|
-
className
|
|
52
|
+
className,
|
|
53
|
+
'aria-label': ariaLabel = {}
|
|
53
54
|
} = this.props;
|
|
54
55
|
const primaryColor = (0, _get2.default)('common.primary', skin);
|
|
55
56
|
const darkColor = (0, _get2.default)('common.dark', skin);
|
|
@@ -61,6 +62,7 @@ class Favorite extends _react.default.Component {
|
|
|
61
62
|
className: _favorite.default.blocFavorite
|
|
62
63
|
}, toolTipView, /*#__PURE__*/_react.default.createElement("div", {
|
|
63
64
|
"data-name": "favorite",
|
|
65
|
+
"aria-label": ariaLabel.favorite,
|
|
64
66
|
className: (0, _classnames.default)(_favorite.default.favorite, className, favorite && _favorite.default.selected),
|
|
65
67
|
onClick: this.handleFavoviteClick,
|
|
66
68
|
style: {
|
|
@@ -70,12 +72,14 @@ class Favorite extends _react.default.Component {
|
|
|
70
72
|
className: _favorite.default.checkIcon,
|
|
71
73
|
color: brandColor,
|
|
72
74
|
width: 13,
|
|
73
|
-
height: 13
|
|
75
|
+
height: 13,
|
|
76
|
+
"aria-label": ariaLabel.removeFromFavorite
|
|
74
77
|
}) : /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationMore, {
|
|
75
78
|
className: _favorite.default.moreIcon,
|
|
76
79
|
color: darkColor,
|
|
77
80
|
width: 13,
|
|
78
|
-
height: 13
|
|
81
|
+
height: 13,
|
|
82
|
+
"aria-label": ariaLabel.addToFavorite
|
|
79
83
|
})));
|
|
80
84
|
}
|
|
81
85
|
|
|
@@ -91,7 +95,12 @@ Favorite.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
91
95
|
disabled: _propTypes.default.bool,
|
|
92
96
|
addFavoriteToolTip: _propTypes.default.string,
|
|
93
97
|
removeFavoriteToolTip: _propTypes.default.string,
|
|
94
|
-
onFavoriteClick: _propTypes.default.func
|
|
98
|
+
onFavoriteClick: _propTypes.default.func,
|
|
99
|
+
'aria-label': _propTypes.default.shape({
|
|
100
|
+
favorite: _propTypes.default.string,
|
|
101
|
+
addToFavorite: _propTypes.default.string,
|
|
102
|
+
removeFromFavorite: _propTypes.default.string
|
|
103
|
+
})
|
|
95
104
|
} : {};
|
|
96
105
|
var _default = Favorite;
|
|
97
106
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/card/favorite.js"],"names":["Favorite","React","Component","constructor","props","context","handleFavoviteClick","bind","e","disabled","onFavoriteClick","stopPropagation","preventDefault","render","skin","favorite","addFavoriteToolTip","removeFavoriteToolTip","className","primaryColor","darkColor","brandColor","toolTipView","style","showToolTip","blocFavorite","selected","color","checkIcon","moreIcon","Provider","childContextTypes","propTypes","PropTypes","string","bool","func"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAIA;;AACA;;;;;;AAEA,MAAMA,QAAN,SAAuBC,eAAMC,SAA7B,CAAuC;
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/card/favorite.js"],"names":["Favorite","React","Component","constructor","props","context","handleFavoviteClick","bind","e","disabled","onFavoriteClick","stopPropagation","preventDefault","render","skin","favorite","addFavoriteToolTip","removeFavoriteToolTip","className","ariaLabel","primaryColor","darkColor","brandColor","toolTipView","style","showToolTip","blocFavorite","selected","color","checkIcon","removeFromFavorite","moreIcon","addToFavorite","Provider","childContextTypes","propTypes","PropTypes","string","bool","func","shape"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationMore as MoreIcon,\n NovaCompositionCoorpacademyCheck as CheckIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport style from './favorite.css';\n\nclass Favorite extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n favorite: PropTypes.bool,\n disabled: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onFavoriteClick: PropTypes.func,\n 'aria-label': PropTypes.shape({\n favorite: PropTypes.string,\n addToFavorite: PropTypes.string,\n removeFromFavorite: PropTypes.string\n })\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props, context);\n this.handleFavoviteClick = this.handleFavoviteClick.bind(this);\n }\n\n handleFavoviteClick(e) {\n const {disabled, onFavoriteClick = noop} = this.props;\n e.stopPropagation();\n e.preventDefault();\n if (!disabled) onFavoriteClick(e);\n }\n\n render() {\n const {skin} = this.context;\n const {\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n className,\n 'aria-label': ariaLabel = {}\n } = this.props;\n\n const primaryColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const brandColor = get('common.brand', skin);\n const toolTipView =\n !isEmpty(removeFavoriteToolTip) && !isEmpty(addFavoriteToolTip) ? (\n <div className={style.showToolTip}>\n <span>{favorite ? removeFavoriteToolTip : addFavoriteToolTip}</span>\n </div>\n ) : null;\n\n return (\n <div className={style.blocFavorite}>\n {toolTipView}\n <div\n data-name=\"favorite\"\n aria-label={ariaLabel.favorite}\n className={classnames(style.favorite, className, favorite && style.selected)}\n onClick={this.handleFavoviteClick}\n style={{\n color: primaryColor\n }}\n >\n {favorite ? (\n <CheckIcon\n className={style.checkIcon}\n color={brandColor}\n width={13}\n height={13}\n aria-label={ariaLabel.removeFromFavorite}\n />\n ) : (\n <MoreIcon\n className={style.moreIcon}\n color={darkColor}\n width={13}\n height={13}\n aria-label={ariaLabel.addToFavorite}\n />\n )}\n </div>\n </div>\n );\n }\n}\n\nexport default Favorite;\n"],"file":"favorite.js"}
|
|
@@ -54,7 +54,8 @@ exports.THEMES = THEMES;
|
|
|
54
54
|
const CardBackground = ({
|
|
55
55
|
type,
|
|
56
56
|
image,
|
|
57
|
-
empty
|
|
57
|
+
empty,
|
|
58
|
+
'aria-label': ariaLabel
|
|
58
59
|
}, {
|
|
59
60
|
skin
|
|
60
61
|
}) => {
|
|
@@ -86,6 +87,7 @@ const CardBackground = ({
|
|
|
86
87
|
className: _style.default.imageWrapper
|
|
87
88
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
88
89
|
"data-name": "cover",
|
|
90
|
+
"aria-label": ariaLabel,
|
|
89
91
|
style: {
|
|
90
92
|
backgroundColor: iconColor,
|
|
91
93
|
backgroundImage: `url('${image}')`
|
|
@@ -98,6 +100,7 @@ const CardBackground = ({
|
|
|
98
100
|
className: _style.default.imageWrapper
|
|
99
101
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
100
102
|
"data-name": "cover",
|
|
103
|
+
"aria-label": ariaLabel,
|
|
101
104
|
style: {
|
|
102
105
|
backgroundColor: iconColor
|
|
103
106
|
},
|
|
@@ -113,6 +116,7 @@ const CardBackground = ({
|
|
|
113
116
|
className: (0, _classnames.default)(_style.default.imageWrapper, type === 'chapter' ? _style.default.chapterImageWrapper : null)
|
|
114
117
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
115
118
|
"data-name": "cover",
|
|
119
|
+
"aria-label": ariaLabel,
|
|
116
120
|
className: _style.default.image,
|
|
117
121
|
style: {
|
|
118
122
|
backgroundColor: primaryColor,
|
|
@@ -127,7 +131,8 @@ CardBackground.contextTypes = {
|
|
|
127
131
|
CardBackground.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
128
132
|
type: _propTypes.default.string,
|
|
129
133
|
image: _propTypes.default.string,
|
|
130
|
-
empty: _propTypes.default.bool
|
|
134
|
+
empty: _propTypes.default.bool,
|
|
135
|
+
'aria-label': _propTypes.default.string
|
|
131
136
|
} : {};
|
|
132
137
|
const Card = (0, _react.memo)(function Card(props, context) {
|
|
133
138
|
const {
|
|
@@ -153,7 +158,15 @@ const Card = (0, _react.memo)(function Card(props, context) {
|
|
|
153
158
|
notification,
|
|
154
159
|
badgeCategory,
|
|
155
160
|
badgeLabel,
|
|
156
|
-
theme = 'default'
|
|
161
|
+
theme = 'default',
|
|
162
|
+
'aria-label': cardArialabel,
|
|
163
|
+
'background-aria-label': backgroundAriaLabel,
|
|
164
|
+
'favorite-aria-label': favoriteAriaLabel,
|
|
165
|
+
'selectable-aria-label': selectableAriaLabel,
|
|
166
|
+
'customer-aria-label': customerAriaLabel,
|
|
167
|
+
'badge-aria-label': badgeAriaLabel,
|
|
168
|
+
'disabled-aria-label': disabledArialabel,
|
|
169
|
+
'card-content-aria-label': cardContentLabelAriaLabel
|
|
157
170
|
} = props;
|
|
158
171
|
const empty = (0, _isEmpty2.default)((0, _pick2.default)(['title', 'type', 'author', 'image'], props));
|
|
159
172
|
const primaryColor = (0, _get2.default)('common.primary', skin);
|
|
@@ -188,24 +201,29 @@ const Card = (0, _react.memo)(function Card(props, context) {
|
|
|
188
201
|
"data-lock": disabled,
|
|
189
202
|
"data-type": getType(type),
|
|
190
203
|
disabled: disabled,
|
|
191
|
-
onClick: handleClick
|
|
204
|
+
onClick: handleClick,
|
|
205
|
+
"aria-label": cardArialabel
|
|
192
206
|
}, /*#__PURE__*/_react.default.createElement(CardBackground, {
|
|
193
207
|
type: type,
|
|
194
208
|
image: image,
|
|
195
|
-
empty: empty
|
|
209
|
+
empty: empty,
|
|
210
|
+
"aria-label": backgroundAriaLabel
|
|
196
211
|
}), (0, _isUndefined2.default)(isSelected) && !(0, _isUndefined2.default)(favorite) ? /*#__PURE__*/_react.default.createElement(_favorite.default, {
|
|
197
212
|
className: _style.default.favorite,
|
|
198
213
|
favorite: favorite,
|
|
199
214
|
disabled: disabled,
|
|
200
215
|
onFavoriteClick: onFavoriteClick,
|
|
201
216
|
addFavoriteToolTip: addFavoriteToolTip,
|
|
202
|
-
removeFavoriteToolTip: removeFavoriteToolTip
|
|
217
|
+
removeFavoriteToolTip: removeFavoriteToolTip,
|
|
218
|
+
"aria-label": favoriteAriaLabel
|
|
203
219
|
}) : null, /*#__PURE__*/_react.default.createElement(_selectable.default, {
|
|
204
|
-
isSelected: isSelected
|
|
220
|
+
isSelected: isSelected,
|
|
221
|
+
"aria-label": selectableAriaLabel
|
|
205
222
|
}), notification ? /*#__PURE__*/_react.default.createElement(_notification.default, notification) : null, customer ? /*#__PURE__*/_react.default.createElement(_customer.default, _extends({}, customer, {
|
|
206
223
|
theme: theme,
|
|
207
224
|
type: type,
|
|
208
|
-
disabled: disabled
|
|
225
|
+
disabled: disabled,
|
|
226
|
+
"aria-label": customerAriaLabel
|
|
209
227
|
})) : null, /*#__PURE__*/_react.default.createElement(_cardContent.default, {
|
|
210
228
|
mode: _cardContent.MODES.CARD,
|
|
211
229
|
adaptiv: adaptiv,
|
|
@@ -218,12 +236,15 @@ const Card = (0, _react.memo)(function Card(props, context) {
|
|
|
218
236
|
type: type,
|
|
219
237
|
badgeCategory: badgeCategory,
|
|
220
238
|
badgeLabel: badgeLabel,
|
|
221
|
-
theme: theme
|
|
239
|
+
theme: theme,
|
|
240
|
+
"aria-label": cardContentLabelAriaLabel
|
|
222
241
|
}), badge ? /*#__PURE__*/_react.default.createElement("div", {
|
|
223
242
|
className: _style.default.badge,
|
|
224
|
-
style: inlineBadgeStyle
|
|
243
|
+
style: inlineBadgeStyle,
|
|
244
|
+
"aria-label": badgeAriaLabel
|
|
225
245
|
}, badge) : null, disabled ? /*#__PURE__*/_react.default.createElement("div", {
|
|
226
|
-
className: _style.default.lockWrapper
|
|
246
|
+
className: _style.default.lockWrapper,
|
|
247
|
+
"aria-label": disabledArialabel
|
|
227
248
|
}, lock) : null);
|
|
228
249
|
});
|
|
229
250
|
Card.contextTypes = {
|
|
@@ -249,7 +270,15 @@ Card.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
249
270
|
notification: _propTypes.default.shape(_notification.default.propTypes),
|
|
250
271
|
badgeCategory: _cardContent.default.propTypes.badgeCategory,
|
|
251
272
|
badgeLabel: _cardContent.default.propTypes.badgeLabel,
|
|
252
|
-
theme: _propTypes.default.oneOf((0, _keys2.default)(THEMES))
|
|
273
|
+
theme: _propTypes.default.oneOf((0, _keys2.default)(THEMES)),
|
|
274
|
+
'aria-label': _propTypes.default.string,
|
|
275
|
+
'background-aria-label': _propTypes.default.string,
|
|
276
|
+
'favorite-aria-label': _favorite.default.propTypes['aria-label'],
|
|
277
|
+
'selectable-aria-label': _selectable.default.propTypes['aria-label'],
|
|
278
|
+
'customer-aria-label': _customer.default.propTypes['aria-label'],
|
|
279
|
+
'badge-aria-label': _propTypes.default.string,
|
|
280
|
+
'disabled-aria-label': _propTypes.default.string,
|
|
281
|
+
'card-content-aria-label': _cardContent.default.propTypes['aria-label']
|
|
253
282
|
} : {};
|
|
254
283
|
var _default = Card;
|
|
255
284
|
exports.default = _default;
|
|
@@ -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":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEO,MAAMA,MAAM,GAAG;AACpBC,EAAAA,OAAO,EAAE,IADW;AAEpBC,EAAAA,YAAY,EAAEC,eAAMD;AAFA,CAAf;;;AAKP,MAAME,cAAc,GAAG,CAAC;AAACC,EAAAA,IAAD;AAAOC,EAAAA,KAAP;AAAcC,EAAAA;AAAd,CAAD,EAAuB;AAACC,EAAAA;AAAD,CAAvB,KAAkC;AACvD,QAAMC,eAAe,GAAG,wCAAkBJ,IAAlB,CAAxB;AACA,QAAMK,YAAY,GAAG,mBAAI,gBAAJ,EAAsBF,IAAtB,CAArB;AACA,QAAMG,UAAU,GAAG,mBAAI,cAAJ,EAAoBH,IAApB,CAAnB;;AAEA,MAAIC,eAAe,IAAIG,wCAAuBP,IAAvB,CAAvB,EAAqD;AACnD,UAAMQ,QAAQ,GAAGD,wCAAuBP,IAAvB,EAA6BS,IAA9C;AACA,UAAMC,SAAS,GAAGH,wCAAuBP,IAAvB,EAA6BW,KAA/C;;AACA,UAAMC,cAAc,gBAClB;AAAK,MAAA,SAAS,EAAEd,eAAMe;AAAtB,oBACE,6BAAC,QAAD;AAAU,MAAA,SAAS,EAAEf,eAAMgB;AAA3B,MADF,CADF;;AAMA,QAAIb,KAAJ,EAAW;AACT,YAAMc,eAAe,gBACnB;AACE,QAAA,SAAS,EAAE,yBACTjB,eAAMe,yBADG,EAETf,eAAMkB,kCAFG,CADb;AAKE,QAAA,KAAK,EAAE;AACLC,UAAAA,eAAe,EAAEP;AADZ;AALT,sBASE,6BAAC,QAAD;AAAU,QAAA,SAAS,EAAEZ,eAAMoB;AAA3B,QATF,CADF;;AAcA,0BACE;AAAK,QAAA,SAAS,EAAEpB,eAAMqB;AAAtB,sBACE;AACE,qBAAU,OADZ;AAEE,QAAA,KAAK,EAAE;AACLF,UAAAA,eAAe,EAAEP,SADZ;AAELU,UAAAA,eAAe,EAAG,QAAOnB,KAAM;AAF1B,SAFT;AAME,QAAA,SAAS,EAAE,yBAAWH,eAAMuB,qBAAjB,EAAwCvB,eAAMwB,kBAA9C;AANb,SAQGP,eARH,CADF,CADF;AAcD;;AACD,wBACE;AAAK,MAAA,SAAS,EAAEjB,eAAMqB;AAAtB,oBACE;AACE,mBAAU,OADZ;AAEE,MAAA,KAAK,EAAE;AACLF,QAAAA,eAAe,EAAEP;AADZ,OAFT;AAKE,MAAA,SAAS,EAAEZ,eAAMuB;AALnB,OAOGT,cAPH,CADF,CADF;AAaD;;AAED,QAAMW,SAAS,GAAGrB,KAAK,gBAAG,6BAAC,8CAAD;AAAc,IAAA,SAAS,EAAEJ,eAAMyB,SAA/B;AAA0C,IAAA,KAAK,EAAEjB;AAAjD,IAAH,GAAqE,IAA5F;AACA,sBACE;AACE,IAAA,SAAS,EAAE,yBACTR,eAAMqB,YADG,EAETnB,IAAI,KAAK,SAAT,GAAqBF,eAAM0B,mBAA3B,GAAiD,IAFxC;AADb,kBAME;AACE,iBAAU,OADZ;AAEE,IAAA,SAAS,EAAE1B,eAAMG,KAFnB;AAGE,IAAA,KAAK,EAAE;AACLgB,MAAAA,eAAe,EAAEZ,YADZ;AAELe,MAAAA,eAAe,EAAEnB,KAAK,GAAI,QAAOA,KAAM,IAAjB,GAAuB;AAFxC;AAHT,KAQGsB,SARH,CANF,CADF;AAmBD,CA/ED;;AAiFAxB,cAAc,CAAC0B,YAAf,GAA8B;AAC5BtB,EAAAA,IAAI,EAAEuB,kBAASC,iBAAT,CAA2BxB;AADL,CAA9B;AAIAJ,cAAc,CAAC6B,SAAf,2CAA2B;AACzB5B,EAAAA,IAAI,EAAE6B,mBAAUC,MADS;AAEzB7B,EAAAA,KAAK,EAAE4B,mBAAUC,MAFQ;AAGzB5B,EAAAA,KAAK,EAAE2B,mBAAUE;AAHQ,CAA3B;AAMA,MAAMC,IAAI,GAAG,iBAAK,SAASA,IAAT,CAAcC,KAAd,EAAqBC,OAArB,EAA8B;AAC9C,QAAM;AAAC/B,IAAAA;AAAD,MAAS+B,OAAf;AACA,QAAM;AACJjC,IAAAA,KADI;AAEJkC,IAAAA,KAFI;AAGJC,IAAAA,OAHI;AAIJC,IAAAA,QAAQ,GAAG,KAJP;AAKJrC,IAAAA,IAAI,GAAG,QALH;AAMJsC,IAAAA,KANI;AAOJC,IAAAA,MAPI;AAQJC,IAAAA,QARI;AASJC,IAAAA,eATI;AAUJC,IAAAA,QAVI;AAWJC,IAAAA,QAXI;AAYJC,IAAAA,kBAZI;AAaJC,IAAAA,qBAbI;AAcJC,IAAAA,OAdI;AAeJC,IAAAA,eAfI;AAgBJC,IAAAA,UAhBI;AAiBJC,IAAAA,YAjBI;AAkBJC,IAAAA,aAlBI;AAmBJC,IAAAA,UAnBI;AAoBJC,IAAAA,KAAK,GAAG;AApBJ,MAqBFnB,KArBJ;AAsBA,QAAM/B,KAAK,GAAG,uBAAQ,oBAAK,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,OAA5B,CAAL,EAA2C+B,KAA3C,CAAR,CAAd;AACA,QAAM5B,YAAY,GAAG,mBAAI,gBAAJ,EAAsBF,IAAtB,CAArB;AACA,QAAMG,UAAU,GAAG,mBAAI,cAAJ,EAAoBH,IAApB,CAAnB;AACA,QAAMkD,SAAS,GAAG,yBAChB1D,MAAM,CAACyD,KAAD,CADU,EAEhBpD,IAAI,KAAK,SAAT,GAAqBF,eAAMwD,OAA3B,GAAqCxD,eAAMyD,MAF3B,EAGhBjB,KAAK,GAAG,IAAH,GAAUxC,eAAM0D,IAHL,EAIhB1D,eAAM2D,IAJU,EAKhBvD,KAAK,GAAGJ,eAAMI,KAAT,GAAiB,IALN,CAAlB;AAOA,QAAMwD,WAAW,GAAG,oBAAQ,MAAMC,CAAC,IAAI,CAACtB,QAAD,IAAaS,OAAO,CAACa,CAAD,CAAvC,EAA4C,CAACtB,QAAD,EAAWS,OAAX,CAA5C,CAApB;AACA,QAAMc,IAAI,GAAGvB,QAAQ,gBACnB,6BAAC,+BAAD;AAAU,IAAA,SAAS,EAAEvC,eAAM+D,QAA3B;AAAqC,IAAA,KAAK,EAAEvD,UAA5C;AAAwD,IAAA,MAAM,EAAE;AAAhE,IADmB,GAEjB,IAFJ;AAGA,QAAMwD,gBAAgB,GAAG;AAACnD,IAAAA,KAAK,EAAEN;AAAR,GAAzB;;AACA,QAAM0D,OAAO,GAAGC,WAAW,IAAI;AAC7B,YAAQA,WAAR;AACE,WAAK,SAAL;AACE,eAAO,eAAP;;AACF,WAAK,QAAL;AACE,eAAO,SAAP;;AACF;AACE,eAAOA,WAAP;AANJ;AAQD,GATD;;AAWA,sBACE;AACE,IAAA,SAAS,EAAEX,SADb;AAEE,iBAAU,MAFZ;AAGE,iBAAWhB,QAHb;AAIE,iBAAW0B,OAAO,CAAC/D,IAAD,CAJpB;AAKE,IAAA,QAAQ,EAAEqC,QALZ;AAME,IAAA,OAAO,EAAEqB;AANX,kBAQE,6BAAC,cAAD;AAAgB,IAAA,IAAI,EAAE1D,IAAtB;AAA4B,IAAA,KAAK,EAAEC,KAAnC;AAA0C,IAAA,KAAK,EAAEC;AAAjD,IARF,EASG,2BAAY8C,UAAZ,KAA2B,CAAC,2BAAYL,QAAZ,CAA5B,gBACC,6BAAC,iBAAD;AACE,IAAA,SAAS,EAAE7C,eAAM6C,QADnB;AAEE,IAAA,QAAQ,EAAEA,QAFZ;AAGE,IAAA,QAAQ,EAAEN,QAHZ;AAIE,IAAA,eAAe,EAAEU,eAJnB;AAKE,IAAA,kBAAkB,EAAEH,kBALtB;AAME,IAAA,qBAAqB,EAAEC;AANzB,IADD,GASG,IAlBN,eAmBE,6BAAC,mBAAD;AAAY,IAAA,UAAU,EAAEG;AAAxB,IAnBF,EAoBGC,YAAY,gBAAG,6BAAC,qBAAD,EAAkBA,YAAlB,CAAH,GAAwC,IApBvD,EAqBGT,QAAQ,gBAAG,6BAAC,iBAAD,eAAcA,QAAd;AAAwB,IAAA,KAAK,EAAEY,KAA/B;AAAsC,IAAA,IAAI,EAAEpD,IAA5C;AAAkD,IAAA,QAAQ,EAAEqC;AAA5D,KAAH,GAA8E,IArBzF,eAsBE,6BAAC,oBAAD;AACE,IAAA,IAAI,EAAE4B,mBAAMC,IADd;AAEE,IAAA,OAAO,EAAE9B,OAFX;AAGE,IAAA,MAAM,EAAEG,MAHV;AAIE,IAAA,eAAe,EAAEE,eAJnB;AAKE,IAAA,QAAQ,EAAEJ,QALZ;AAME,IAAA,KAAK,EAAEnC,KANT;AAOE,IAAA,QAAQ,EAAEwC,QAPZ;AAQE,IAAA,KAAK,EAAEJ,KART;AASE,IAAA,IAAI,EAAEtC,IATR;AAUE,IAAA,aAAa,EAAEkD,aAVjB;AAWE,IAAA,UAAU,EAAEC,UAXd;AAYE,IAAA,KAAK,EAAEC;AAZT,IAtBF,EAoCGjB,KAAK,gBACJ;AAAK,IAAA,SAAS,EAAErC,eAAMqC,KAAtB;AAA6B,IAAA,KAAK,EAAE2B;AAApC,KACG3B,KADH,CADI,GAIF,IAxCN,EAyCGE,QAAQ,gBAAG;AAAK,IAAA,SAAS,EAAEvC,eAAMqE;AAAtB,KAAoCP,IAApC,CAAH,GAAqD,IAzChE,CADF;AA6CD,CA/FY,CAAb;AAiGA5B,IAAI,CAACP,YAAL,GAAoB;AAClBtB,EAAAA,IAAI,EAAEuB,kBAASC,iBAAT,CAA2BxB;AADf,CAApB;AAIA6B,IAAI,CAACJ,SAAL,2CAAiB;AACfO,EAAAA,KAAK,EAAEN,mBAAUC,MADF;AAEf7B,EAAAA,KAAK,EAAE4B,mBAAUC,MAFF;AAGfO,EAAAA,QAAQ,EAAER,mBAAUE,IAHL;AAIfK,EAAAA,OAAO,EAAEP,mBAAUE,IAJJ;AAKf/B,EAAAA,IAAI,EAAE6B,mBAAUC,MALD;AAMfQ,EAAAA,KAAK,EAAET,mBAAUC,MANF;AAOfS,EAAAA,MAAM,EAAEV,mBAAUC,MAPH;AAQfW,EAAAA,eAAe,EAAEZ,mBAAUE,IARZ;AASfS,EAAAA,QAAQ,EAAEX,mBAAUuC,KAAV,CAAgBC,kBAASzC,SAAzB,CATK;AAUfc,EAAAA,QAAQ,EAAEb,mBAAUyC,MAVL;AAWf3B,EAAAA,QAAQ,EAAEd,mBAAUE,IAXL;AAYfa,EAAAA,kBAAkB,EAAEf,mBAAUC,MAZf;AAafe,EAAAA,qBAAqB,EAAEhB,mBAAUC,MAblB;AAcfgB,EAAAA,OAAO,EAAEjB,mBAAU0C,IAdJ;AAefxB,EAAAA,eAAe,EAAElB,mBAAU0C,IAfZ;AAgBfvB,EAAAA,UAAU,EAAEnB,mBAAUE,IAhBP;AAiBfkB,EAAAA,YAAY,EAAEpB,mBAAUuC,KAAV,CAAgBI,sBAAa5C,SAA7B,CAjBC;AAkBfsB,EAAAA,aAAa,EAAEuB,qBAAgB7C,SAAhB,CAA0BsB,aAlB1B;AAmBfC,EAAAA,UAAU,EAAEsB,qBAAgB7C,SAAhB,CAA0BuB,UAnBvB;AAoBfC,EAAAA,KAAK,EAAEvB,mBAAU6C,KAAV,CAAgB,oBAAK/E,MAAL,CAAhB;AApBQ,CAAjB;eAsBeqC,I","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"}
|