@coorpacademy/components 10.3.27-alpha.1 → 10.3.27-alpha.25
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/clue/test/see-clue.js +33 -0
- package/es/atom/clue/test/see-clue.js.map +1 -1
- package/es/atom/provider/index.js +1 -1
- package/es/atom/provider/index.js.map +1 -1
- package/es/molecule/banner/style.css +1 -0
- package/es/molecule/banner/test/fixtures/default.js +1 -1
- package/es/molecule/banner/test/fixtures/default.js.map +1 -1
- package/es/molecule/card/customer.css +61 -3
- package/es/molecule/card/customer.js +17 -5
- package/es/molecule/card/customer.js.map +1 -1
- package/es/molecule/card/index.js +15 -5
- package/es/molecule/card/index.js.map +1 -1
- package/es/molecule/card/style.css +86 -24
- package/es/molecule/card/test/fixtures/coorpmanager.js +18 -0
- package/es/molecule/card/test/fixtures/coorpmanager.js.map +1 -0
- package/es/molecule/card-content/index.js +11 -5
- package/es/molecule/card-content/index.js.map +1 -1
- package/es/molecule/card-content/style.css +52 -0
- package/es/molecule/cm-popin/style.css +1 -0
- package/es/molecule/select-multiple/style.css +1 -1
- package/es/molecule/wizard-summary/index.js +30 -3
- package/es/molecule/wizard-summary/index.js.map +1 -1
- package/es/organism/content-translation/style.css +1 -0
- package/es/organism/course-selection/index.js +11 -4
- package/es/organism/course-selection/index.js.map +1 -1
- package/es/organism/course-selection/style.css +7 -1
- package/es/organism/course-selection/test/fixtures/default.js +32 -9
- package/es/organism/course-selection/test/fixtures/default.js.map +1 -1
- package/es/organism/course-selection/test/fixtures/filtered.js +1 -1
- package/es/organism/course-selection/test/fixtures/filtered.js.map +1 -1
- package/es/organism/course-selection/test/fixtures/sorted-selected.js +1 -1
- package/es/organism/course-selection/test/fixtures/sorted-selected.js.map +1 -1
- package/es/organism/course-selection/test/fixtures/switch-activated.js +1 -1
- package/es/organism/course-selection/test/fixtures/switch-activated.js.map +1 -1
- package/es/organism/course-selection/test/fixtures/unsorted-selected.js +1 -1
- package/es/organism/course-selection/test/fixtures/unsorted-selected.js.map +1 -1
- package/es/organism/list-items/test/fixtures/published.js +1 -1
- package/es/organism/list-items/test/fixtures/published.js.map +1 -1
- package/es/organism/mooc-footer/style.css +1 -0
- package/es/organism/search-and-chips-results/index.js +11 -4
- package/es/organism/search-and-chips-results/index.js.map +1 -1
- package/es/organism/search-and-chips-results/style.css +7 -1
- package/es/organism/search-and-chips-results/test/fixtures/default.js +1 -0
- package/es/organism/search-and-chips-results/test/fixtures/default.js.map +1 -1
- package/es/organism/wizard-contents/index.js +4 -5
- package/es/organism/wizard-contents/index.js.map +1 -1
- package/es/organism/wizard-contents/style.css +11 -13
- package/es/template/back-office/brand-update/index.js +5 -3
- package/es/template/back-office/brand-update/index.js.map +1 -1
- package/es/template/back-office/brand-update/style.css +4 -0
- package/es/template/back-office/brand-update/test/fixtures/loader.js +6 -2
- package/es/template/back-office/brand-update/test/fixtures/loader.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/manageusers-edit.js +236 -1
- package/es/template/back-office/brand-update/test/fixtures/manageusers-edit.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/manageusers-list.js +1 -1
- package/es/template/back-office/brand-update/test/fixtures/manageusers-list.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/uploadusers.js +1 -1
- package/es/template/back-office/brand-update/test/fixtures/uploadusers.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/wizard-form-create-playlist.js +49 -0
- package/es/template/back-office/brand-update/test/fixtures/wizard-form-create-playlist.js.map +1 -1
- package/lib/atom/clue/test/see-clue.js +34 -0
- package/lib/atom/clue/test/see-clue.js.map +1 -1
- package/lib/atom/provider/index.js +1 -1
- package/lib/atom/provider/index.js.map +1 -1
- package/lib/molecule/banner/style.css +1 -0
- package/lib/molecule/banner/test/fixtures/default.js +1 -1
- package/lib/molecule/banner/test/fixtures/default.js.map +1 -1
- package/lib/molecule/card/customer.css +61 -3
- package/lib/molecule/card/customer.js +22 -6
- package/lib/molecule/card/customer.js.map +1 -1
- package/lib/molecule/card/index.js +19 -6
- package/lib/molecule/card/index.js.map +1 -1
- package/lib/molecule/card/style.css +86 -24
- package/lib/molecule/card/test/fixtures/coorpmanager.js +28 -0
- package/lib/molecule/card/test/fixtures/coorpmanager.js.map +1 -0
- package/lib/molecule/card-content/index.js +14 -6
- package/lib/molecule/card-content/index.js.map +1 -1
- package/lib/molecule/card-content/style.css +52 -0
- package/lib/molecule/cm-popin/style.css +1 -0
- package/lib/molecule/select-multiple/style.css +1 -1
- package/lib/molecule/wizard-summary/index.js +29 -2
- package/lib/molecule/wizard-summary/index.js.map +1 -1
- package/lib/organism/content-translation/style.css +1 -0
- package/lib/organism/course-selection/index.js +12 -4
- package/lib/organism/course-selection/index.js.map +1 -1
- package/lib/organism/course-selection/style.css +7 -1
- package/lib/organism/course-selection/test/fixtures/default.js +33 -9
- package/lib/organism/course-selection/test/fixtures/default.js.map +1 -1
- package/lib/organism/course-selection/test/fixtures/filtered.js +1 -1
- package/lib/organism/course-selection/test/fixtures/filtered.js.map +1 -1
- package/lib/organism/course-selection/test/fixtures/sorted-selected.js +1 -1
- package/lib/organism/course-selection/test/fixtures/sorted-selected.js.map +1 -1
- package/lib/organism/course-selection/test/fixtures/switch-activated.js +1 -1
- package/lib/organism/course-selection/test/fixtures/switch-activated.js.map +1 -1
- package/lib/organism/course-selection/test/fixtures/unsorted-selected.js +1 -1
- package/lib/organism/course-selection/test/fixtures/unsorted-selected.js.map +1 -1
- package/lib/organism/list-items/test/fixtures/published.js +1 -1
- package/lib/organism/list-items/test/fixtures/published.js.map +1 -1
- package/lib/organism/mooc-footer/style.css +1 -0
- package/lib/organism/search-and-chips-results/index.js +12 -4
- package/lib/organism/search-and-chips-results/index.js.map +1 -1
- package/lib/organism/search-and-chips-results/style.css +7 -1
- package/lib/organism/search-and-chips-results/test/fixtures/default.js +1 -0
- package/lib/organism/search-and-chips-results/test/fixtures/default.js.map +1 -1
- package/lib/organism/wizard-contents/index.js +4 -6
- package/lib/organism/wizard-contents/index.js.map +1 -1
- package/lib/organism/wizard-contents/style.css +11 -13
- package/lib/template/back-office/brand-update/index.js +5 -3
- package/lib/template/back-office/brand-update/index.js.map +1 -1
- package/lib/template/back-office/brand-update/style.css +4 -0
- package/lib/template/back-office/brand-update/test/fixtures/loader.js +7 -3
- package/lib/template/back-office/brand-update/test/fixtures/loader.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/manageusers-edit.js +236 -1
- package/lib/template/back-office/brand-update/test/fixtures/manageusers-edit.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/manageusers-list.js +2 -2
- package/lib/template/back-office/brand-update/test/fixtures/manageusers-list.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/uploadusers.js +2 -2
- package/lib/template/back-office/brand-update/test/fixtures/uploadusers.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/wizard-form-create-playlist.js +49 -0
- package/lib/template/back-office/brand-update/test/fixtures/wizard-form-create-playlist.js.map +1 -1
- package/locales/hy/global.json +80 -0
- package/package.json +2 -2
|
@@ -1,24 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.default = void 0;
|
|
4
|
+
exports.default = exports.THEMES = void 0;
|
|
5
|
+
|
|
6
|
+
var _keys2 = _interopRequireDefault(require("lodash/fp/keys"));
|
|
5
7
|
|
|
6
8
|
var _react = _interopRequireDefault(require("react"));
|
|
7
9
|
|
|
8
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
11
|
|
|
12
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
|
|
10
14
|
var _customer = _interopRequireDefault(require("./customer.css"));
|
|
11
15
|
|
|
12
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
17
|
|
|
18
|
+
const THEMES = {
|
|
19
|
+
default: null,
|
|
20
|
+
coorpmanager: _customer.default.coorpmanager
|
|
21
|
+
};
|
|
22
|
+
exports.THEMES = THEMES;
|
|
23
|
+
|
|
14
24
|
const Customer = props => {
|
|
15
25
|
const {
|
|
16
26
|
name,
|
|
17
|
-
|
|
18
|
-
coorpOriginal
|
|
27
|
+
type,
|
|
28
|
+
coorpOriginal,
|
|
29
|
+
theme,
|
|
30
|
+
disabled = false
|
|
19
31
|
} = props;
|
|
32
|
+
const className = (0, _classnames.default)(THEMES[theme], _customer.default.customer, type === 'chapter' ? _customer.default.chapterCustomer : null);
|
|
20
33
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
21
|
-
className: className
|
|
34
|
+
className: className,
|
|
35
|
+
disabled: disabled
|
|
22
36
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
23
37
|
className: _customer.default.content
|
|
24
38
|
}, coorpOriginal ? /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -29,9 +43,11 @@ const Customer = props => {
|
|
|
29
43
|
};
|
|
30
44
|
|
|
31
45
|
Customer.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
32
|
-
|
|
46
|
+
theme: _propTypes.default.oneOf((0, _keys2.default)(THEMES)),
|
|
47
|
+
type: _propTypes.default.string,
|
|
33
48
|
name: _propTypes.default.string,
|
|
34
|
-
coorpOriginal: _propTypes.default.bool.isRequired
|
|
49
|
+
coorpOriginal: _propTypes.default.bool.isRequired,
|
|
50
|
+
disabled: _propTypes.default.bool
|
|
35
51
|
} : {};
|
|
36
52
|
var _default = Customer;
|
|
37
53
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/card/customer.js"],"names":["Customer","props","name","
|
|
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;AAA9C,MAAuDL,KAA7D;AACA,QAAMM,SAAS,GAAG,yBAChBX,MAAM,CAACS,KAAD,CADU,EAEhBN,kBAAMS,QAFU,EAGhBL,IAAI,KAAK,SAAT,GAAqBJ,kBAAMU,eAA3B,GAA6C,IAH7B,CAAlB;AAMA,sBACE;AAAK,IAAA,SAAS,EAAEF,SAAhB;AAA2B,IAAA,QAAQ,EAAED;AAArC,kBACE;AAAK,IAAA,SAAS,EAAEP,kBAAMW;AAAtB,KACGN,aAAa,gBAAG;AAAM,IAAA,SAAS,EAAEL,kBAAMY;AAAvB,cAAH,GAAiD,IADjE,EAEGP,aAAa,gBAAG;AAAM,IAAA,SAAS,EAAEL,kBAAMa;AAAvB,iBAAH,GAAuD,IAFvE,EAGG,CAACR,aAAD,IAAkBF,IAHrB,CADF,CADF;AASD,CAjBD;;AAmBAF,QAAQ,CAACa,SAAT,2CAAqB;AACnBR,EAAAA,KAAK,EAAES,mBAAUC,KAAV,CAAgB,oBAAKnB,MAAL,CAAhB,CADY;AAEnBO,EAAAA,IAAI,EAAEW,mBAAUE,MAFG;AAGnBd,EAAAA,IAAI,EAAEY,mBAAUE,MAHG;AAInBZ,EAAAA,aAAa,EAAEU,mBAAUG,IAAV,CAAeC,UAJX;AAKnBZ,EAAAA,QAAQ,EAAEQ,mBAAUG;AALD,CAArB;eAQejB,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} = 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}>\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};\n\nexport default Customer;\n"],"file":"customer.js"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.default = void 0;
|
|
4
|
+
exports.default = exports.THEMES = void 0;
|
|
5
|
+
|
|
6
|
+
var _keys2 = _interopRequireDefault(require("lodash/fp/keys"));
|
|
5
7
|
|
|
6
8
|
var _pick2 = _interopRequireDefault(require("lodash/fp/pick"));
|
|
7
9
|
|
|
@@ -43,6 +45,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
43
45
|
|
|
44
46
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
45
47
|
|
|
48
|
+
const THEMES = {
|
|
49
|
+
default: null,
|
|
50
|
+
coorpmanager: _style.default.coorpmanager
|
|
51
|
+
};
|
|
52
|
+
exports.THEMES = THEMES;
|
|
53
|
+
|
|
46
54
|
const CardBackground = ({
|
|
47
55
|
type,
|
|
48
56
|
image,
|
|
@@ -144,12 +152,13 @@ const Card = /*#__PURE__*/(0, _react.memo)(function Card(props, context) {
|
|
|
144
152
|
isSelected,
|
|
145
153
|
notification,
|
|
146
154
|
badgeCategory,
|
|
147
|
-
badgeLabel
|
|
155
|
+
badgeLabel,
|
|
156
|
+
theme = 'default'
|
|
148
157
|
} = props;
|
|
149
158
|
const empty = (0, _isEmpty2.default)((0, _pick2.default)(['title', 'type', 'author', 'image'], props));
|
|
150
159
|
const primaryColor = (0, _get2.default)('common.primary', skin);
|
|
151
160
|
const whiteColor = (0, _get2.default)('common.white', skin);
|
|
152
|
-
const cardStyle = (0, _classnames.default)(type === 'chapter' ? _style.default.chapter : _style.default.course, title ? null : _style.default.lazy, _style.default.grid, empty ? _style.default.empty : null);
|
|
161
|
+
const cardStyle = (0, _classnames.default)(THEMES[theme], type === 'chapter' ? _style.default.chapter : _style.default.course, title ? null : _style.default.lazy, _style.default.grid, empty ? _style.default.empty : null);
|
|
153
162
|
const handleClick = (0, _react.useMemo)(() => e => !disabled && onClick(e), [disabled, onClick]);
|
|
154
163
|
const lock = disabled ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidLoginLocked, {
|
|
155
164
|
className: _style.default.lockIcon,
|
|
@@ -194,7 +203,9 @@ const Card = /*#__PURE__*/(0, _react.memo)(function Card(props, context) {
|
|
|
194
203
|
}) : null, /*#__PURE__*/_react.default.createElement(_selectable.default, {
|
|
195
204
|
isSelected: isSelected
|
|
196
205
|
}), notification ? /*#__PURE__*/_react.default.createElement(_notification.default, notification) : null, customer ? /*#__PURE__*/_react.default.createElement(_customer.default, _extends({}, customer, {
|
|
197
|
-
|
|
206
|
+
theme: theme,
|
|
207
|
+
type: type,
|
|
208
|
+
disabled: disabled
|
|
198
209
|
})) : null, /*#__PURE__*/_react.default.createElement(_cardContent.default, {
|
|
199
210
|
mode: _cardContent.MODES.CARD,
|
|
200
211
|
adaptiv: adaptiv,
|
|
@@ -206,7 +217,8 @@ const Card = /*#__PURE__*/(0, _react.memo)(function Card(props, context) {
|
|
|
206
217
|
title: title,
|
|
207
218
|
type: type,
|
|
208
219
|
badgeCategory: badgeCategory,
|
|
209
|
-
badgeLabel: badgeLabel
|
|
220
|
+
badgeLabel: badgeLabel,
|
|
221
|
+
theme: theme
|
|
210
222
|
}), badge ? /*#__PURE__*/_react.default.createElement("div", {
|
|
211
223
|
className: _style.default.badge,
|
|
212
224
|
style: inlineBadgeStyle
|
|
@@ -236,7 +248,8 @@ Card.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
236
248
|
isSelected: _propTypes.default.bool,
|
|
237
249
|
notification: _propTypes.default.shape(_notification.default.propTypes),
|
|
238
250
|
badgeCategory: _cardContent.default.propTypes.badgeCategory,
|
|
239
|
-
badgeLabel: _cardContent.default.propTypes.badgeLabel
|
|
251
|
+
badgeLabel: _cardContent.default.propTypes.badgeLabel,
|
|
252
|
+
theme: _propTypes.default.oneOf((0, _keys2.default)(THEMES))
|
|
240
253
|
} : {};
|
|
241
254
|
var _default = Card;
|
|
242
255
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/card/index.js"],"names":["CardBackground","type","image","empty","skin","externalContent","primaryColor","whiteColor","EXTERNAL_CONTENT_ICONS","IconType","icon","iconColor","color","backgroundIcon","style","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","cardStyle","chapter","course","lazy","grid","handleClick","e","lock","lockIcon","inlineBadgeStyle","getType","contentType","chapterCustomer","MODES","CARD","lockWrapper","shape","Customer","number","func","Notification","CardContentInfo"],"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} 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\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 } = 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 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 ? (\n <Customer\n {...customer}\n className={classnames(style.customer, type === 'chapter' ? style.chapterCustomer : null)}\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 />\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};\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","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"}
|
|
@@ -36,25 +36,6 @@
|
|
|
36
36
|
z-index: 0;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
.customer {
|
|
40
|
-
position: absolute;
|
|
41
|
-
top: 0;
|
|
42
|
-
left: 0;
|
|
43
|
-
width: 100%;
|
|
44
|
-
height: 100%;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.customer {
|
|
48
|
-
background: linear-gradient(
|
|
49
|
-
to bottom,
|
|
50
|
-
rgba(0, 0, 0, 0.2) 0%,
|
|
51
|
-
rgba(0, 0, 0, 0) 20%
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
.chapterCustomer {
|
|
55
|
-
padding-top: 10px;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
39
|
.grid.empty {
|
|
59
40
|
padding-bottom: 25px;
|
|
60
41
|
opacity: 0.6;
|
|
@@ -66,6 +47,7 @@
|
|
|
66
47
|
width: 256px;
|
|
67
48
|
height: 297px;
|
|
68
49
|
}
|
|
50
|
+
|
|
69
51
|
.chapter {
|
|
70
52
|
composes: default;
|
|
71
53
|
border-radius: 8px;
|
|
@@ -73,6 +55,18 @@
|
|
|
73
55
|
height: 297px;
|
|
74
56
|
}
|
|
75
57
|
|
|
58
|
+
.coorpmanager.course {
|
|
59
|
+
border-radius: 5px;
|
|
60
|
+
width: 172px;
|
|
61
|
+
height: 201px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.coorpmanager.chapter {
|
|
65
|
+
border-radius: 5px;
|
|
66
|
+
width: 138px;
|
|
67
|
+
height: 201px;
|
|
68
|
+
}
|
|
69
|
+
|
|
76
70
|
.course .imageWrapper {
|
|
77
71
|
width: 100%;
|
|
78
72
|
height: 100%;
|
|
@@ -89,6 +83,10 @@
|
|
|
89
83
|
left: 0;
|
|
90
84
|
}
|
|
91
85
|
|
|
86
|
+
.coorpmanager.chapter .chapterImageWrapper {
|
|
87
|
+
max-height: 52px;
|
|
88
|
+
}
|
|
89
|
+
|
|
92
90
|
.default .image {
|
|
93
91
|
overflow: hidden;
|
|
94
92
|
background-position: 50%;
|
|
@@ -218,10 +216,6 @@
|
|
|
218
216
|
left: 0;
|
|
219
217
|
}
|
|
220
218
|
|
|
221
|
-
.default[disabled] .customer {
|
|
222
|
-
background: none;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
219
|
.badge {
|
|
226
220
|
position: absolute;
|
|
227
221
|
width: auto;
|
|
@@ -239,6 +233,11 @@
|
|
|
239
233
|
user-select: none;
|
|
240
234
|
}
|
|
241
235
|
|
|
236
|
+
.coorpmanager .badge {
|
|
237
|
+
padding: 2px 5px;
|
|
238
|
+
font-size: 7px;
|
|
239
|
+
}
|
|
240
|
+
|
|
242
241
|
.emptyIcon {
|
|
243
242
|
vertical-align: middle;
|
|
244
243
|
width: 80px;
|
|
@@ -295,11 +294,24 @@
|
|
|
295
294
|
}
|
|
296
295
|
|
|
297
296
|
.externalIconCircleWrapper {
|
|
297
|
+
border-radius: 50%;
|
|
298
|
+
padding: 17px;
|
|
299
|
+
box-sizing: border-box;
|
|
300
|
+
background-color: rgba(255, 255, 255, 0.3);
|
|
301
|
+
justify-content: center;
|
|
302
|
+
transform: scale(1);
|
|
303
|
+
transition: transform 0.25s ease-in-out;
|
|
298
304
|
width: 80px;
|
|
299
305
|
height: 80px;
|
|
300
306
|
margin-top: 20px;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
.coorpmanager .externalIconCircleWrapper {
|
|
310
|
+
width: 50px;
|
|
311
|
+
height: 50px;
|
|
312
|
+
margin-top: 12px;
|
|
313
|
+
padding: 13px;
|
|
301
314
|
border-radius: 50%;
|
|
302
|
-
padding: 17px;
|
|
303
315
|
box-sizing: border-box;
|
|
304
316
|
background-color: rgba(255, 255, 255, 0.3);
|
|
305
317
|
justify-content: center;
|
|
@@ -313,6 +325,12 @@
|
|
|
313
325
|
height: 45px;
|
|
314
326
|
}
|
|
315
327
|
|
|
328
|
+
.coorpmanager .externalIcon {
|
|
329
|
+
color: white;
|
|
330
|
+
width: 23px;
|
|
331
|
+
height: 23px;
|
|
332
|
+
}
|
|
333
|
+
|
|
316
334
|
.externalIconCircleWrapper::after {
|
|
317
335
|
animation: pulse 3s linear 0s infinite;
|
|
318
336
|
animation-play-state: paused;
|
|
@@ -343,6 +361,18 @@
|
|
|
343
361
|
transition: box-shadow 0.25s linear;
|
|
344
362
|
}
|
|
345
363
|
|
|
364
|
+
.coorpmanager .externalIconCircleWrapper::after,
|
|
365
|
+
.coorpmanager .externalIconCircleWrapper::before {
|
|
366
|
+
width: 50px;
|
|
367
|
+
height: 50px;
|
|
368
|
+
top: 0;
|
|
369
|
+
left: 0;
|
|
370
|
+
transform: scale(1);
|
|
371
|
+
opacity: 0;
|
|
372
|
+
box-shadow: inset 0 0 7px 0 rgba(255, 255, 255, 0);
|
|
373
|
+
transition: box-shadow 0.25s linear;
|
|
374
|
+
}
|
|
375
|
+
|
|
346
376
|
.externalIconCircleWithImageWrapper {
|
|
347
377
|
width: 60px;
|
|
348
378
|
height: 60px;
|
|
@@ -350,6 +380,22 @@
|
|
|
350
380
|
z-index: 1;
|
|
351
381
|
}
|
|
352
382
|
|
|
383
|
+
.coorpmanager .externalIconCircleWithImageWrapper {
|
|
384
|
+
width: 50px;
|
|
385
|
+
height: 50px;
|
|
386
|
+
border-radius: 50%;
|
|
387
|
+
padding: 12px;
|
|
388
|
+
z-index: 1;
|
|
389
|
+
margin-top: 20px;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
.coorpmanager .externalIconWithImage {
|
|
393
|
+
color: white;
|
|
394
|
+
width: 25px;
|
|
395
|
+
height: 25px;
|
|
396
|
+
padding: 0 0 0 1px;
|
|
397
|
+
}
|
|
398
|
+
|
|
353
399
|
.externalIconWithImage {
|
|
354
400
|
color: white;
|
|
355
401
|
width: 28px;
|
|
@@ -372,6 +418,22 @@
|
|
|
372
418
|
transition: box-shadow 0.25s linear;
|
|
373
419
|
}
|
|
374
420
|
|
|
421
|
+
.coorpmanager .externalIconCircleWithImageWrapper::after,
|
|
422
|
+
.coorpmanager .externalIconCircleWithImageWrapper::before {
|
|
423
|
+
content: '';
|
|
424
|
+
width: 50px;
|
|
425
|
+
height: 50px;
|
|
426
|
+
top: 0;
|
|
427
|
+
left: 0;
|
|
428
|
+
position: absolute;
|
|
429
|
+
transform: scale(1);
|
|
430
|
+
opacity: 0;
|
|
431
|
+
box-shadow: inset 0 0 7px 0 rgba(255, 255, 255, 0);
|
|
432
|
+
transition: box-shadow 0.25s linear;
|
|
433
|
+
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
|
|
375
437
|
@keyframes pulse {
|
|
376
438
|
0% {
|
|
377
439
|
transform: scale(1);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
|
|
6
|
+
var _defaultsDeep2 = _interopRequireDefault(require("lodash/fp/defaultsDeep"));
|
|
7
|
+
|
|
8
|
+
var _default2 = _interopRequireDefault(require("./default"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
const {
|
|
13
|
+
props
|
|
14
|
+
} = _default2.default;
|
|
15
|
+
var _default = {
|
|
16
|
+
props: (0, _defaultsDeep2.default)(props, {
|
|
17
|
+
disabled: false,
|
|
18
|
+
type: 'course',
|
|
19
|
+
image: 'https://api.coorpacademy.com/api-service/medias?url=https://static.coorpacademy.com/content/CoorpAcademy/content-marmiton/cockpit-marmiton/cover/shutterstock_520965634-1491986518210.jpg&h=500&w=500&q=90',
|
|
20
|
+
progress: 0.1,
|
|
21
|
+
isSelected: false,
|
|
22
|
+
badgeCategory: 'base',
|
|
23
|
+
badgeLabel: 'basic',
|
|
24
|
+
theme: 'coorpmanager'
|
|
25
|
+
})
|
|
26
|
+
};
|
|
27
|
+
exports.default = _default;
|
|
28
|
+
//# sourceMappingURL=coorpmanager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/card/test/fixtures/coorpmanager.js"],"names":["props","Default","disabled","type","image","progress","isSelected","badgeCategory","badgeLabel","theme"],"mappings":";;;;;;;AACA;;;;AAEA,MAAM;AAACA,EAAAA;AAAD,IAAUC,iBAAhB;eAEe;AACbD,EAAAA,KAAK,EAAE,4BAAaA,KAAb,EAAoB;AACzBE,IAAAA,QAAQ,EAAE,KADe;AAEzBC,IAAAA,IAAI,EAAE,QAFmB;AAGzBC,IAAAA,KAAK,EACH,4MAJuB;AAKzBC,IAAAA,QAAQ,EAAE,GALe;AAMzBC,IAAAA,UAAU,EAAE,KANa;AAOzBC,IAAAA,aAAa,EAAE,MAPU;AAQzBC,IAAAA,UAAU,EAAE,OARa;AASzBC,IAAAA,KAAK,EAAE;AATkB,GAApB;AADM,C","sourcesContent":["import {defaultsDeep} from 'lodash/fp';\nimport Default from './default';\n\nconst {props} = Default;\n\nexport default {\n props: defaultsDeep(props, {\n disabled: false,\n type: 'course',\n image:\n 'https://api.coorpacademy.com/api-service/medias?url=https://static.coorpacademy.com/content/CoorpAcademy/content-marmiton/cockpit-marmiton/cover/shutterstock_520965634-1491986518210.jpg&h=500&w=500&q=90',\n progress: 0.1,\n isSelected: false,\n badgeCategory: 'base',\n badgeLabel: 'basic',\n theme: 'coorpmanager'\n })\n};\n"],"file":"coorpmanager.js"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.default = exports.MODES = void 0;
|
|
4
|
+
exports.default = exports.THEMES = exports.MODES = void 0;
|
|
5
|
+
|
|
6
|
+
var _keys2 = _interopRequireDefault(require("lodash/fp/keys"));
|
|
5
7
|
|
|
6
8
|
var _isNil2 = _interopRequireDefault(require("lodash/fp/isNil"));
|
|
7
9
|
|
|
@@ -30,6 +32,11 @@ const MODES = {
|
|
|
30
32
|
CARD: 'card'
|
|
31
33
|
};
|
|
32
34
|
exports.MODES = MODES;
|
|
35
|
+
const THEMES = {
|
|
36
|
+
default: null,
|
|
37
|
+
coorpmanager: _style2.default.coorpmanager
|
|
38
|
+
};
|
|
39
|
+
exports.THEMES = THEMES;
|
|
33
40
|
|
|
34
41
|
const ContentTypeInfo = ({
|
|
35
42
|
mode,
|
|
@@ -48,8 +55,7 @@ const ContentTypeInfo = ({
|
|
|
48
55
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
49
56
|
className: _style2.default.microLearningIcon
|
|
50
57
|
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyTimer, {
|
|
51
|
-
|
|
52
|
-
width: 40
|
|
58
|
+
className: _style2.default.timerIcon
|
|
53
59
|
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
54
60
|
className: _style2.default.microLearninglabel
|
|
55
61
|
}, "5' learning"));
|
|
@@ -135,7 +141,8 @@ const ContentInfo = ({
|
|
|
135
141
|
title,
|
|
136
142
|
type,
|
|
137
143
|
badgeCategory,
|
|
138
|
-
badgeLabel
|
|
144
|
+
badgeLabel,
|
|
145
|
+
theme = 'default'
|
|
139
146
|
}) => {
|
|
140
147
|
const progressBarColor = '#3EC483';
|
|
141
148
|
const inlineProgressValueStyle = {
|
|
@@ -159,7 +166,7 @@ const ContentInfo = ({
|
|
|
159
166
|
})) : null;
|
|
160
167
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
161
168
|
"data-name": "info",
|
|
162
|
-
className: (0, _classnames.default)(_style2.default.infoWrapper, mode === MODES.HERO ? _style2.default.hero : _style2.default.card, disabled ? _style2.default.progressBarDisabled : null, externalContent ? _style2.default.externalContent : null)
|
|
169
|
+
className: (0, _classnames.default)(THEMES[theme], _style2.default.infoWrapper, mode === MODES.HERO ? _style2.default.hero : _style2.default.card, disabled ? _style2.default.progressBarDisabled : null, externalContent ? _style2.default.externalContent : null)
|
|
163
170
|
}, /*#__PURE__*/_react.default.createElement(ContentTypeInfo, {
|
|
164
171
|
mode: mode,
|
|
165
172
|
type: type,
|
|
@@ -197,7 +204,8 @@ ContentInfo.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
197
204
|
type: _propTypes.default.string,
|
|
198
205
|
mode: _propTypes.default.string,
|
|
199
206
|
badgeCategory: _contentBadge.default.propTypes.category,
|
|
200
|
-
badgeLabel: _contentBadge.default.propTypes.label
|
|
207
|
+
badgeLabel: _contentBadge.default.propTypes.label,
|
|
208
|
+
theme: _propTypes.default.oneOf((0, _keys2.default)(THEMES))
|
|
201
209
|
} : {};
|
|
202
210
|
var _default = ContentInfo;
|
|
203
211
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/card-content/index.js"],"names":["MODES","HERO","CARD","ContentTypeInfo","mode","type","externalContent","context","translate","style","microLearningIcon","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","progressBarColor","inlineProgressValueStyle","backgroundColor","width","chapterContent","progressBar","progressWrapper","hideProgressBar","adaptiveIcon","infoWrapper","hero","card","progressBarDisabled","cardInfo","microLearningCardInfo","iconWrapper","number","ContentBadge","category","label"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {isNil} 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\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 height={40} width={40} />\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}) => {\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 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};\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","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"}
|
|
@@ -21,6 +21,23 @@
|
|
|
21
21
|
margin-top: 53px;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
.coorpmanager .microLearningIcon {
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
align-self: center;
|
|
28
|
+
margin-top: 35px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.timerIcon {
|
|
32
|
+
height: 40px;
|
|
33
|
+
width: 40px;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.coorpmanager .timerIcon {
|
|
37
|
+
height: 30px;
|
|
38
|
+
width: 30px;
|
|
39
|
+
}
|
|
40
|
+
|
|
24
41
|
.microLearningIcon svg {
|
|
25
42
|
background:white;
|
|
26
43
|
border-radius: 50%;
|
|
@@ -38,6 +55,10 @@
|
|
|
38
55
|
text-transform: uppercase;
|
|
39
56
|
}
|
|
40
57
|
|
|
58
|
+
.coorpmanager .microLearninglabel {
|
|
59
|
+
font-size: 6px;
|
|
60
|
+
}
|
|
61
|
+
|
|
41
62
|
.infoWrapper {
|
|
42
63
|
display: flex;
|
|
43
64
|
flex-direction: column;
|
|
@@ -58,6 +79,11 @@
|
|
|
58
79
|
user-select: none;
|
|
59
80
|
}
|
|
60
81
|
|
|
82
|
+
.coorpmanager .title {
|
|
83
|
+
font-size: 12px;
|
|
84
|
+
font-weight: bold;
|
|
85
|
+
}
|
|
86
|
+
|
|
61
87
|
.lightTitle {
|
|
62
88
|
color: white;
|
|
63
89
|
text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5);
|
|
@@ -85,6 +111,10 @@
|
|
|
85
111
|
user-select: none;
|
|
86
112
|
}
|
|
87
113
|
|
|
114
|
+
.coorpmanager .author {
|
|
115
|
+
font-size: 8px;
|
|
116
|
+
}
|
|
117
|
+
|
|
88
118
|
.hero .title {
|
|
89
119
|
text-align: center;
|
|
90
120
|
color: white;
|
|
@@ -97,6 +127,14 @@
|
|
|
97
127
|
margin-top: 5px;
|
|
98
128
|
}
|
|
99
129
|
|
|
130
|
+
.card .coorpmanager .author {
|
|
131
|
+
margin-top: 0px;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.externalContent.coorpmanager .author {
|
|
135
|
+
margin-top: 5px;
|
|
136
|
+
}
|
|
137
|
+
|
|
100
138
|
.hero .author {
|
|
101
139
|
margin-top: 9px;
|
|
102
140
|
margin-bottom: 24px;
|
|
@@ -179,6 +217,11 @@
|
|
|
179
217
|
background: light;
|
|
180
218
|
}
|
|
181
219
|
|
|
220
|
+
.coorpmanager .progressWrapper {
|
|
221
|
+
height: 2px;
|
|
222
|
+
margin: 11px auto;
|
|
223
|
+
}
|
|
224
|
+
|
|
182
225
|
.card .progressWrapper {
|
|
183
226
|
width: 150px;
|
|
184
227
|
}
|
|
@@ -193,12 +236,21 @@
|
|
|
193
236
|
font-weight: 700;
|
|
194
237
|
}
|
|
195
238
|
|
|
239
|
+
.coorpmanager.externalContent .contentTypeInfo {
|
|
240
|
+
font-size: 6px;
|
|
241
|
+
}
|
|
242
|
+
|
|
196
243
|
.externalContent .cardInfo {
|
|
197
244
|
flex-grow: 2;
|
|
198
245
|
max-height: 115px;
|
|
199
246
|
overflow: hidden;
|
|
200
247
|
}
|
|
201
248
|
|
|
249
|
+
.coorpmanager.externalContent .cardInfo {
|
|
250
|
+
flex-grow: 2;
|
|
251
|
+
max-height: 79px;
|
|
252
|
+
}
|
|
253
|
+
|
|
202
254
|
@media mobile {
|
|
203
255
|
.author {
|
|
204
256
|
font-size: 12px;
|