@coorpacademy/components 10.21.3 → 10.21.4
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/content-badge/index.js +15 -3
- package/es/atom/content-badge/index.js.map +1 -1
- package/es/atom/content-badge/style.css +6 -0
- package/es/molecule/banner/index.js +9 -4
- package/es/molecule/banner/index.js.map +1 -1
- package/es/molecule/banner/style.css +41 -6
- package/es/molecule/card/index.js +5 -1
- package/es/molecule/card/index.js.map +1 -1
- package/es/molecule/card/selectable.css +49 -2
- package/es/molecule/card/selectable.js +10 -2
- package/es/molecule/card/selectable.js.map +1 -1
- package/es/molecule/cm-popin/index.js +12 -5
- package/es/molecule/cm-popin/index.js.map +1 -1
- package/es/molecule/cm-popin/style.css +28 -0
- package/es/molecule/go1-banner/index.js +56 -0
- package/es/molecule/go1-banner/index.js.map +1 -0
- package/es/molecule/go1-banner/style.css +90 -0
- package/es/organism/brand-dashboard/index.js +6 -3
- package/es/organism/brand-dashboard/index.js.map +1 -1
- package/es/variables/colors.css +4 -0
- package/lib/atom/content-badge/index.js +17 -4
- package/lib/atom/content-badge/index.js.map +1 -1
- package/lib/atom/content-badge/style.css +6 -0
- package/lib/molecule/banner/index.js +9 -4
- package/lib/molecule/banner/index.js.map +1 -1
- package/lib/molecule/banner/style.css +41 -6
- package/lib/molecule/card/index.js +3 -1
- package/lib/molecule/card/index.js.map +1 -1
- package/lib/molecule/card/selectable.css +49 -2
- package/lib/molecule/card/selectable.js +9 -1
- package/lib/molecule/card/selectable.js.map +1 -1
- package/lib/molecule/cm-popin/index.js +12 -5
- package/lib/molecule/cm-popin/index.js.map +1 -1
- package/lib/molecule/cm-popin/style.css +28 -0
- package/lib/molecule/go1-banner/index.js +67 -0
- package/lib/molecule/go1-banner/index.js.map +1 -0
- package/lib/molecule/go1-banner/style.css +90 -0
- package/lib/organism/brand-dashboard/index.js +7 -3
- package/lib/organism/brand-dashboard/index.js.map +1 -1
- package/lib/variables/colors.css +4 -0
- package/package.json +2 -2
|
@@ -1,7 +1,19 @@
|
|
|
1
|
+
import _keys from "lodash/fp/keys";
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import PropTypes from 'prop-types';
|
|
3
|
-
import classnames from 'classnames';
|
|
4
4
|
import style from './style.css';
|
|
5
|
+
const CATEGORIES = {
|
|
6
|
+
base: style.base,
|
|
7
|
+
advanced: style.advanced,
|
|
8
|
+
coach: style.coach,
|
|
9
|
+
chapter: style.chapter,
|
|
10
|
+
scorm: style.scorm,
|
|
11
|
+
video: style.video,
|
|
12
|
+
article: style.article,
|
|
13
|
+
podcast: style.podcast,
|
|
14
|
+
course: style.course,
|
|
15
|
+
hidden: style.hidden
|
|
16
|
+
};
|
|
5
17
|
|
|
6
18
|
const ContentBadge = props => {
|
|
7
19
|
const {
|
|
@@ -9,12 +21,12 @@ const ContentBadge = props => {
|
|
|
9
21
|
label
|
|
10
22
|
} = props;
|
|
11
23
|
return /*#__PURE__*/React.createElement("span", {
|
|
12
|
-
className:
|
|
24
|
+
className: CATEGORIES[category]
|
|
13
25
|
}, label);
|
|
14
26
|
};
|
|
15
27
|
|
|
16
28
|
ContentBadge.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
17
|
-
category: PropTypes.oneOf(
|
|
29
|
+
category: PropTypes.oneOf(_keys(CATEGORIES)),
|
|
18
30
|
label: PropTypes.string
|
|
19
31
|
} : {};
|
|
20
32
|
export default ContentBadge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/content-badge/index.js"],"names":["React","PropTypes","
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/content-badge/index.js"],"names":["React","PropTypes","style","CATEGORIES","base","advanced","coach","chapter","scorm","video","article","podcast","course","hidden","ContentBadge","props","category","label","propTypes","oneOf","string"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAMC,UAAU,GAAG;AACjBC,EAAAA,IAAI,EAAEF,KAAK,CAACE,IADK;AAEjBC,EAAAA,QAAQ,EAAEH,KAAK,CAACG,QAFC;AAGjBC,EAAAA,KAAK,EAAEJ,KAAK,CAACI,KAHI;AAIjBC,EAAAA,OAAO,EAAEL,KAAK,CAACK,OAJE;AAKjBC,EAAAA,KAAK,EAAEN,KAAK,CAACM,KALI;AAMjBC,EAAAA,KAAK,EAAEP,KAAK,CAACO,KANI;AAOjBC,EAAAA,OAAO,EAAER,KAAK,CAACQ,OAPE;AAQjBC,EAAAA,OAAO,EAAET,KAAK,CAACS,OARE;AASjBC,EAAAA,MAAM,EAAEV,KAAK,CAACU,MATG;AAUjBC,EAAAA,MAAM,EAAEX,KAAK,CAACW;AAVG,CAAnB;;AAaA,MAAMC,YAAY,GAAGC,KAAK,IAAI;AAC5B,QAAM;AAACC,IAAAA,QAAD;AAAWC,IAAAA;AAAX,MAAoBF,KAA1B;AACA,sBAAO;AAAM,IAAA,SAAS,EAAEZ,UAAU,CAACa,QAAD;AAA3B,KAAwCC,KAAxC,CAAP;AACD,CAHD;;AAKAH,YAAY,CAACI,SAAb,2CAAyB;AACvBF,EAAAA,QAAQ,EAAEf,SAAS,CAACkB,KAAV,CAAgB,MAAKhB,UAAL,CAAhB,CADa;AAEvBc,EAAAA,KAAK,EAAEhB,SAAS,CAACmB;AAFM,CAAzB;AAKA,eAAeN,YAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {keys} from 'lodash/fp';\nimport style from './style.css';\n\nconst CATEGORIES = {\n base: style.base,\n advanced: style.advanced,\n coach: style.coach,\n chapter: style.chapter,\n scorm: style.scorm,\n video: style.video,\n article: style.article,\n podcast: style.podcast,\n course: style.course,\n hidden: style.hidden\n};\n\nconst ContentBadge = props => {\n const {category, label} = props;\n return <span className={CATEGORIES[category]}>{label}</span>;\n};\n\nContentBadge.propTypes = {\n category: PropTypes.oneOf(keys(CATEGORIES)),\n label: PropTypes.string\n};\n\nexport default ContentBadge;\n"],"file":"index.js"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
@value cm_red_200 from colors;
|
|
10
10
|
@value cm_red_video from colors;
|
|
11
11
|
@value cm_violet_podcast from colors;
|
|
12
|
+
@value cm_negative_200 from colors;
|
|
12
13
|
|
|
13
14
|
.level {
|
|
14
15
|
font-family: Gilroy;
|
|
@@ -24,6 +25,11 @@
|
|
|
24
25
|
background-color: cm_red_200;
|
|
25
26
|
}
|
|
26
27
|
|
|
28
|
+
.hidden {
|
|
29
|
+
composes: level;
|
|
30
|
+
background-color: cm_negative_200;
|
|
31
|
+
}
|
|
32
|
+
|
|
27
33
|
.base {
|
|
28
34
|
composes: level;
|
|
29
35
|
background-color: cm_green_200;
|
|
@@ -10,6 +10,11 @@ const ICONS = {
|
|
|
10
10
|
error: QuestionIcon,
|
|
11
11
|
warning: QuestionIcon
|
|
12
12
|
};
|
|
13
|
+
const STYLES = {
|
|
14
|
+
success: style.success,
|
|
15
|
+
error: style.error,
|
|
16
|
+
warning: style.warning
|
|
17
|
+
};
|
|
13
18
|
|
|
14
19
|
const Banner = props => {
|
|
15
20
|
const {
|
|
@@ -26,7 +31,7 @@ const Banner = props => {
|
|
|
26
31
|
const Icon = ICONS[type];
|
|
27
32
|
return /*#__PURE__*/React.createElement("div", {
|
|
28
33
|
key: bannerKey,
|
|
29
|
-
className: classnames(style.banner, type
|
|
34
|
+
className: classnames(style.banner, STYLES[type], temporary && style.temporaryBanner),
|
|
30
35
|
onAnimationEnd: onEnd,
|
|
31
36
|
title: message
|
|
32
37
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -35,7 +40,7 @@ const Banner = props => {
|
|
|
35
40
|
}, /*#__PURE__*/React.createElement(Icon, {
|
|
36
41
|
className: classnames(style.icon, temporary && style.temporaryIcon)
|
|
37
42
|
}), message), firstCTALabel ? /*#__PURE__*/React.createElement("div", {
|
|
38
|
-
className: style.button
|
|
43
|
+
className: classnames(style.button, STYLES[type])
|
|
39
44
|
}, /*#__PURE__*/React.createElement(Link, {
|
|
40
45
|
"data-name": "first-banner-cta",
|
|
41
46
|
"aria-label": firstCTALabel,
|
|
@@ -43,9 +48,9 @@ const Banner = props => {
|
|
|
43
48
|
onClick: firstCTA,
|
|
44
49
|
type: "text"
|
|
45
50
|
})) : null, firstCTALabel && secondCTALabel ? /*#__PURE__*/React.createElement("div", {
|
|
46
|
-
className: style.buttonsBar
|
|
51
|
+
className: classnames(style.buttonsBar, STYLES[type])
|
|
47
52
|
}) : null, secondCTALabel ? /*#__PURE__*/React.createElement("div", {
|
|
48
|
-
className: style.button
|
|
53
|
+
className: classnames(style.button, STYLES[type])
|
|
49
54
|
}, /*#__PURE__*/React.createElement(Link, {
|
|
50
55
|
"data-name": "second-banner-cta",
|
|
51
56
|
onClick: secondCTA,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/banner/index.js"],"names":["React","PropTypes","classnames","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","QuestionIcon","NovaCompositionCoorpacademyValidate","ValidateIcon","Link","style","ICONS","success","error","warning","Banner","props","type","message","firstCTA","firstCTALabel","secondCTALabel","secondCTA","temporary","bannerKey","onEnd","Icon","banner","
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/banner/index.js"],"names":["React","PropTypes","classnames","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","QuestionIcon","NovaCompositionCoorpacademyValidate","ValidateIcon","Link","style","ICONS","success","error","warning","STYLES","Banner","props","type","message","firstCTA","firstCTALabel","secondCTALabel","secondCTA","temporary","bannerKey","onEnd","Icon","banner","temporaryBanner","icon","temporaryIcon","button","buttonsBar","propTypes","string","oneOf","isRequired","func","bool"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {keys} from 'lodash/fp';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as QuestionIcon,\n NovaCompositionCoorpacademyValidate as ValidateIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/button-link';\nimport style from './style.css';\n\nconst ICONS = {\n success: ValidateIcon,\n error: QuestionIcon,\n warning: QuestionIcon\n};\n\nconst STYLES = {\n success: style.success,\n error: style.error,\n warning: style.warning\n};\n\nconst Banner = props => {\n const {\n type,\n message,\n firstCTA,\n firstCTALabel,\n secondCTALabel,\n secondCTA,\n temporary,\n bannerKey,\n onEnd\n } = props;\n const Icon = ICONS[type];\n return (\n <div\n key={bannerKey}\n className={classnames(style.banner, STYLES[type], temporary && style.temporaryBanner)}\n onAnimationEnd={onEnd}\n title={message}\n >\n <div data-name={`${type}-banner-message`} className={style.message}>\n <Icon className={classnames(style.icon, temporary && style.temporaryIcon)} />\n {message}\n </div>\n {firstCTALabel ? (\n <div className={classnames(style.button, STYLES[type])}>\n <Link\n data-name=\"first-banner-cta\"\n aria-label={firstCTALabel}\n label={firstCTALabel}\n onClick={firstCTA}\n type=\"text\"\n />\n </div>\n ) : null}\n {firstCTALabel && secondCTALabel ? (\n <div className={classnames(style.buttonsBar, STYLES[type])} />\n ) : null}\n {secondCTALabel ? (\n <div className={classnames(style.button, STYLES[type])}>\n <Link\n data-name=\"second-banner-cta\"\n onClick={secondCTA}\n aria-label={secondCTALabel}\n label={secondCTALabel}\n type=\"text\"\n />\n </div>\n ) : null}\n </div>\n );\n};\n\nBanner.propTypes = {\n bannerKey: PropTypes.string,\n type: PropTypes.oneOf(keys(ICONS)),\n message: PropTypes.string.isRequired,\n firstCTA: PropTypes.func,\n firstCTALabel: PropTypes.string,\n secondCTALabel: PropTypes.string,\n secondCTA: PropTypes.func,\n temporary: PropTypes.bool,\n onEnd: PropTypes.func\n};\n\nexport default Banner;\n"],"file":"index.js"}
|
|
@@ -36,16 +36,19 @@
|
|
|
36
36
|
gap: 8px;
|
|
37
37
|
padding: 16px 24px;
|
|
38
38
|
border-radius: 5px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.banner.warning {
|
|
39
42
|
background-color: cm_warning_50;
|
|
40
43
|
color: cm_yellow_200;
|
|
41
|
-
border-radius: 5px;
|
|
42
44
|
}
|
|
43
45
|
|
|
44
|
-
.
|
|
46
|
+
.banner.error {
|
|
45
47
|
background-color: cm_negative_50;
|
|
46
48
|
color: cm_negative_200;
|
|
47
49
|
}
|
|
48
|
-
|
|
50
|
+
|
|
51
|
+
.banner.success {
|
|
49
52
|
background-color: color(cm_positive_100 a(15%));
|
|
50
53
|
color: cm_positive_100;
|
|
51
54
|
}
|
|
@@ -71,22 +74,54 @@
|
|
|
71
74
|
|
|
72
75
|
.button{
|
|
73
76
|
background-color: transparent;
|
|
74
|
-
color: cm_yellow_200;
|
|
75
77
|
white-space: nowrap;
|
|
76
78
|
}
|
|
77
79
|
|
|
78
|
-
.button
|
|
79
|
-
color:
|
|
80
|
+
.button.warning {
|
|
81
|
+
color: cm_yellow_200;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.button.warning:hover {
|
|
85
|
+
color: color(cm_yellow_200 blackness(+12%));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.button.error {
|
|
89
|
+
color: cm_negative_200;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.button.error:hover {
|
|
93
|
+
color: color(cm_negative_200 blackness(+12%));
|
|
80
94
|
}
|
|
81
95
|
|
|
96
|
+
.button.success {
|
|
97
|
+
color: cm_positive_100;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.button.success:hover {
|
|
101
|
+
color: color(cm_positive_100 blackness(+12%));
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
|
|
82
105
|
.buttonsBar {
|
|
83
106
|
width: 2px;
|
|
84
107
|
align-self: stretch;
|
|
85
108
|
flex-grow: 0;
|
|
86
109
|
opacity: 0.3;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.buttonsBar.warning {
|
|
87
113
|
background-color: cm_yellow_200;
|
|
88
114
|
}
|
|
89
115
|
|
|
116
|
+
.buttonsBar.error {
|
|
117
|
+
background-color: cm_negative_200;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.buttonsBar.success {
|
|
121
|
+
background-color: cm_positive_100;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
|
|
90
125
|
.icon {
|
|
91
126
|
height: 22px;
|
|
92
127
|
margin-right: 16px;
|
|
@@ -115,7 +115,7 @@ const Card = memo(function Card(props, context) {
|
|
|
115
115
|
image,
|
|
116
116
|
badge,
|
|
117
117
|
adaptiv,
|
|
118
|
-
disabled = false,
|
|
118
|
+
disabled: hidden = false,
|
|
119
119
|
type = 'course',
|
|
120
120
|
title,
|
|
121
121
|
author,
|
|
@@ -149,6 +149,9 @@ const Card = memo(function Card(props, context) {
|
|
|
149
149
|
const whiteColor = _get('common.white', skin);
|
|
150
150
|
|
|
151
151
|
const cardStyle = classnames(THEMES[theme], type === 'chapter' ? style.chapter : style.course, title ? null : style.lazy, style.grid, empty ? style.empty : null);
|
|
152
|
+
|
|
153
|
+
const disabled = hidden && (!isSelected || _isUndefined(isSelected));
|
|
154
|
+
|
|
152
155
|
const handleClick = useMemo(() => e => !disabled && onClick(e), [disabled, onClick]);
|
|
153
156
|
const lock = disabled ? /*#__PURE__*/React.createElement(LockIcon, {
|
|
154
157
|
className: style.lockIcon,
|
|
@@ -195,6 +198,7 @@ const Card = memo(function Card(props, context) {
|
|
|
195
198
|
"aria-label": favoriteAriaLabel
|
|
196
199
|
}) : null, /*#__PURE__*/React.createElement(Selectable, {
|
|
197
200
|
isSelected: isSelected,
|
|
201
|
+
hidden: hidden,
|
|
198
202
|
"aria-label": selectableAriaLabel
|
|
199
203
|
}), notification ? /*#__PURE__*/React.createElement(Notification, notification) : null, customer ? /*#__PURE__*/React.createElement(Customer, _extends({}, customer, {
|
|
200
204
|
theme: theme,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/card/index.js"],"names":["React","useMemo","memo","PropTypes","classnames","NovaSolidLoginLocked","LockIcon","NovaCompositionCoorpacademyPictures","PicturesIcon","isExternalContent","EXTERNAL_CONTENT_ICONS","Provider","CardContentInfo","MODES","Customer","Favorite","Selectable","Notification","style","THEMES","default","coorpmanager","CardBackground","type","image","empty","ariaLabel","skin","externalContent","primaryColor","whiteColor","IconType","icon","iconColor","color","backgroundIcon","externalIconCircleWrapper","externalIcon","_backgroundIcon","externalIconCircleWithImageWrapper","backgroundColor","externalIconWithImage","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","chapterImageWrapper","contextTypes","childContextTypes","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","CARD","lockWrapper","shape","number","func","oneOf"],"mappings":";;;;;;;;AAAA,OAAOA,KAAP,IAAeC,OAAf,EAAwBC,IAAxB,QAAmC,OAAnC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,oBAAoB,IAAIC,QAD1B,EAEEC,mCAAmC,IAAIC,YAFzC,QAGO,0BAHP;AAIA,SAAQC,iBAAR,EAA2BC,sBAA3B,QAAwD,6BAAxD;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,eAAP,IAAyBC,KAAzB,QAAqC,iBAArC;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,OAAO,MAAMC,MAAM,GAAG;AACpBC,EAAAA,OAAO,EAAE,IADW;AAEpBC,EAAAA,YAAY,EAAEH,KAAK,CAACG;AAFA,CAAf;;AAKP,MAAMC,cAAc,GAAG,CAAC;AAACC,EAAAA,IAAD;AAAOC,EAAAA,KAAP;AAAcC,EAAAA,KAAd;AAAqB,gBAAcC;AAAnC,CAAD,EAAgD;AAACC,EAAAA;AAAD,CAAhD,KAA2D;AAChF,QAAMC,eAAe,GAAGnB,iBAAiB,CAACc,IAAD,CAAzC;;AACA,QAAMM,YAAY,GAAG,KAAI,gBAAJ,EAAsBF,IAAtB,CAArB;;AACA,QAAMG,UAAU,GAAG,KAAI,cAAJ,EAAoBH,IAApB,CAAnB;;AAEA,MAAIC,eAAe,IAAIlB,sBAAsB,CAACa,IAAD,CAA7C,EAAqD;AACnD,UAAMQ,QAAQ,GAAGrB,sBAAsB,CAACa,IAAD,CAAtB,CAA6BS,IAA9C;AACA,UAAMC,SAAS,GAAGvB,sBAAsB,CAACa,IAAD,CAAtB,CAA6BW,KAA/C;AACA,UAAMC,cAAc,gBAClB;AAAK,MAAA,SAAS,EAAEjB,KAAK,CAACkB;AAAtB,oBACE,oBAAC,QAAD;AAAU,MAAA,SAAS,EAAElB,KAAK,CAACmB;AAA3B,MADF,CADF;;AAMA,QAAIb,KAAJ,EAAW;AACT,YAAMc,eAAe,gBACnB;AACE,QAAA,SAAS,EAAElC,UAAU,CACnBc,KAAK,CAACkB,yBADa,EAEnBlB,KAAK,CAACqB,kCAFa,CADvB;AAKE,QAAA,KAAK,EAAE;AACLC,UAAAA,eAAe,EAAEP;AADZ;AALT,sBASE,oBAAC,QAAD;AAAU,QAAA,SAAS,EAAEf,KAAK,CAACuB;AAA3B,QATF,CADF;;AAcA,0BACE;AAAK,QAAA,SAAS,EAAEvB,KAAK,CAACwB;AAAtB,sBACE;AACE,qBAAU,OADZ;AAEE,sBAAYhB,SAFd;AAGE,QAAA,KAAK,EAAE;AACLc,UAAAA,eAAe,EAAEP,SADZ;AAELU,UAAAA,eAAe,EAAG,QAAOnB,KAAM;AAF1B,SAHT;AAOE,QAAA,SAAS,EAAEpB,UAAU,CAACc,KAAK,CAAC0B,qBAAP,EAA8B1B,KAAK,CAAC2B,kBAApC;AAPvB,SASGP,eATH,CADF,CADF;AAeD;;AACD,wBACE;AAAK,MAAA,SAAS,EAAEpB,KAAK,CAACwB;AAAtB,oBACE;AACE,mBAAU,OADZ;AAEE,oBAAYhB,SAFd;AAGE,MAAA,KAAK,EAAE;AACLc,QAAAA,eAAe,EAAEP;AADZ,OAHT;AAME,MAAA,SAAS,EAAEf,KAAK,CAAC0B;AANnB,OAQGT,cARH,CADF,CADF;AAcD;;AAED,QAAMW,SAAS,GAAGrB,KAAK,gBAAG,oBAAC,YAAD;AAAc,IAAA,SAAS,EAAEP,KAAK,CAAC4B,SAA/B;AAA0C,IAAA,KAAK,EAAEhB;AAAjD,IAAH,GAAqE,IAA5F;AACA,sBACE;AACE,IAAA,SAAS,EAAE1B,UAAU,CACnBc,KAAK,CAACwB,YADa,EAEnBnB,IAAI,KAAK,SAAT,GAAqBL,KAAK,CAAC6B,mBAA3B,GAAiD,IAF9B;AADvB,kBAME;AACE,iBAAU,OADZ;AAEE,kBAAYrB,SAFd;AAGE,IAAA,SAAS,EAAER,KAAK,CAACM,KAHnB;AAIE,IAAA,KAAK,EAAE;AACLgB,MAAAA,eAAe,EAAEX,YADZ;AAELc,MAAAA,eAAe,EAAEnB,KAAK,GAAI,QAAOA,KAAM,IAAjB,GAAuB;AAFxC;AAJT,KASGsB,SATH,CANF,CADF;AAoBD,CAlFD;;AAoFAxB,cAAc,CAAC0B,YAAf,GAA8B;AAC5BrB,EAAAA,IAAI,EAAEhB,QAAQ,CAACsC,iBAAT,CAA2BtB;AADL,CAA9B;AAIAL,cAAc,CAAC4B,SAAf,2CAA2B;AACzB3B,EAAAA,IAAI,EAAEpB,SAAS,CAACgD,MADS;AAEzB3B,EAAAA,KAAK,EAAErB,SAAS,CAACgD,MAFQ;AAGzB1B,EAAAA,KAAK,EAAEtB,SAAS,CAACiD,IAHQ;AAIzB,gBAAcjD,SAAS,CAACgD;AAJC,CAA3B;AAOA,MAAME,IAAI,GAAGnD,IAAI,CAAC,SAASmD,IAAT,CAAcC,KAAd,EAAqBC,OAArB,EAA8B;AAC9C,QAAM;AAAC5B,IAAAA;AAAD,MAAS4B,OAAf;AACA,QAAM;AACJ/B,IAAAA,KADI;AAEJgC,IAAAA,KAFI;AAGJC,IAAAA,OAHI;AAIJC,IAAAA,QAAQ,GAAG,KAJP;AAKJnC,IAAAA,IAAI,GAAG,QALH;AAMJoC,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,SApBJ;AAqBJ,kBAAcC,aArBV;AAsBJ,6BAAyBC,mBAtBrB;AAuBJ,2BAAuBC,iBAvBnB;AAwBJ,6BAAyBC,mBAxBrB;AAyBJ,2BAAuBC,iBAzBnB;AA0BJ,wBAAoBC,cA1BhB;AA2BJ,2BAAuBC,iBA3BnB;AA4BJ,+BAA2BC;AA5BvB,MA6BF3B,KA7BJ;;AA8BA,QAAM7B,KAAK,GAAG,SAAQ,MAAK,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,OAA5B,CAAL,EAA2C6B,KAA3C,CAAR,CAAd;;AACA,QAAMzB,YAAY,GAAG,KAAI,gBAAJ,EAAsBF,IAAtB,CAArB;;AACA,QAAMG,UAAU,GAAG,KAAI,cAAJ,EAAoBH,IAApB,CAAnB;;AACA,QAAMuD,SAAS,GAAG9E,UAAU,CAC1Be,MAAM,CAACsD,KAAD,CADoB,EAE1BlD,IAAI,KAAK,SAAT,GAAqBL,KAAK,CAACiE,OAA3B,GAAqCjE,KAAK,CAACkE,MAFjB,EAG1BzB,KAAK,GAAG,IAAH,GAAUzC,KAAK,CAACmE,IAHK,EAI1BnE,KAAK,CAACoE,IAJoB,EAK1B7D,KAAK,GAAGP,KAAK,CAACO,KAAT,GAAiB,IALI,CAA5B;AAOA,QAAM8D,WAAW,GAAGtF,OAAO,CAAC,MAAMuF,CAAC,IAAI,CAAC9B,QAAD,IAAaS,OAAO,CAACqB,CAAD,CAAhC,EAAqC,CAAC9B,QAAD,EAAWS,OAAX,CAArC,CAA3B;AACA,QAAMsB,IAAI,GAAG/B,QAAQ,gBACnB,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAExC,KAAK,CAACwE,QAA3B;AAAqC,IAAA,KAAK,EAAE5D,UAA5C;AAAwD,IAAA,MAAM,EAAE;AAAhE,IADmB,GAEjB,IAFJ;AAGA,QAAM6D,gBAAgB,GAAG;AAACzD,IAAAA,KAAK,EAAEL;AAAR,GAAzB;;AACA,QAAM+D,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,iBAAWxB,QAHb;AAIE,iBAAWkC,OAAO,CAACrE,IAAD,CAJpB;AAKE,IAAA,QAAQ,EAAEmC,QALZ;AAME,IAAA,OAAO,EAAE6B,WANX;AAOE,kBAAYb;AAPd,kBASE,oBAAC,cAAD;AAAgB,IAAA,IAAI,EAAEnD,IAAtB;AAA4B,IAAA,KAAK,EAAEC,KAAnC;AAA0C,IAAA,KAAK,EAAEC,KAAjD;AAAwD,kBAAYkD;AAApE,IATF,EAUG,aAAYN,UAAZ,KAA2B,CAAC,aAAYL,QAAZ,CAA5B,gBACC,oBAAC,QAAD;AACE,IAAA,SAAS,EAAE9C,KAAK,CAAC8C,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,qBANzB;AAOE,kBAAYU;AAPd,IADD,GAUG,IApBN,eAqBE,oBAAC,UAAD;AAAY,IAAA,UAAU,EAAEP,UAAxB;AAAoC,kBAAYQ;AAAhD,IArBF,EAsBGP,YAAY,gBAAG,oBAAC,YAAD,EAAkBA,YAAlB,CAAH,GAAwC,IAtBvD,EAuBGT,QAAQ,gBACP,oBAAC,QAAD,eACMA,QADN;AAEE,IAAA,KAAK,EAAEY,KAFT;AAGE,IAAA,IAAI,EAAElD,IAHR;AAIE,IAAA,QAAQ,EAAEmC,QAJZ;AAKE,kBAAYoB;AALd,KADO,GAQL,IA/BN,eAgCE,oBAAC,eAAD;AACE,IAAA,IAAI,EAAEjE,KAAK,CAACiF,IADd;AAEE,IAAA,OAAO,EAAErC,OAFX;AAGE,IAAA,MAAM,EAAEG,MAHV;AAIE,IAAA,eAAe,EAAEE,eAJnB;AAKE,IAAA,QAAQ,EAAEJ,QALZ;AAME,IAAA,KAAK,EAAEjC,KANT;AAOE,IAAA,QAAQ,EAAEsC,QAPZ;AAQE,IAAA,KAAK,EAAEJ,KART;AASE,IAAA,IAAI,EAAEpC,IATR;AAUE,IAAA,aAAa,EAAEgD,aAVjB;AAWE,IAAA,UAAU,EAAEC,UAXd;AAYE,IAAA,KAAK,EAAEC,KAZT;AAaE,kBAAYQ;AAbd,IAhCF,EA+CGzB,KAAK,gBACJ;AAAK,IAAA,SAAS,EAAEtC,KAAK,CAACsC,KAAtB;AAA6B,IAAA,KAAK,EAAEmC,gBAApC;AAAsD,kBAAYZ;AAAlE,KACGvB,KADH,CADI,GAIF,IAnDN,EAoDGE,QAAQ,gBACP;AAAK,IAAA,SAAS,EAAExC,KAAK,CAAC6E,WAAtB;AAAmC,kBAAYf;AAA/C,KACGS,IADH,CADO,GAIL,IAxDN,CADF;AA4DD,CAtHgB,CAAjB;AAwHApC,IAAI,CAACL,YAAL,GAAoB;AAClBrB,EAAAA,IAAI,EAAEhB,QAAQ,CAACsC,iBAAT,CAA2BtB;AADf,CAApB;AAIA0B,IAAI,CAACH,SAAL,2CAAiB;AACfM,EAAAA,KAAK,EAAErD,SAAS,CAACgD,MADF;AAEf3B,EAAAA,KAAK,EAAErB,SAAS,CAACgD,MAFF;AAGfO,EAAAA,QAAQ,EAAEvD,SAAS,CAACiD,IAHL;AAIfK,EAAAA,OAAO,EAAEtD,SAAS,CAACiD,IAJJ;AAKf7B,EAAAA,IAAI,EAAEpB,SAAS,CAACgD,MALD;AAMfQ,EAAAA,KAAK,EAAExD,SAAS,CAACgD,MANF;AAOfS,EAAAA,MAAM,EAAEzD,SAAS,CAACgD,MAPH;AAQfW,EAAAA,eAAe,EAAE3D,SAAS,CAACiD,IARZ;AASfS,EAAAA,QAAQ,EAAE1D,SAAS,CAAC6F,KAAV,CAAgBlF,QAAQ,CAACoC,SAAzB,CATK;AAUfa,EAAAA,QAAQ,EAAE5D,SAAS,CAAC8F,MAVL;AAWfjC,EAAAA,QAAQ,EAAE7D,SAAS,CAACiD,IAXL;AAYfa,EAAAA,kBAAkB,EAAE9D,SAAS,CAACgD,MAZf;AAafe,EAAAA,qBAAqB,EAAE/D,SAAS,CAACgD,MAblB;AAcfgB,EAAAA,OAAO,EAAEhE,SAAS,CAAC+F,IAdJ;AAef9B,EAAAA,eAAe,EAAEjE,SAAS,CAAC+F,IAfZ;AAgBf7B,EAAAA,UAAU,EAAElE,SAAS,CAACiD,IAhBP;AAiBfkB,EAAAA,YAAY,EAAEnE,SAAS,CAAC6F,KAAV,CAAgB/E,YAAY,CAACiC,SAA7B,CAjBC;AAkBfqB,EAAAA,aAAa,EAAE3D,eAAe,CAACsC,SAAhB,CAA0BqB,aAlB1B;AAmBfC,EAAAA,UAAU,EAAE5D,eAAe,CAACsC,SAAhB,CAA0BsB,UAnBvB;AAoBfC,EAAAA,KAAK,EAAEtE,SAAS,CAACgG,KAAV,CAAgB,MAAKhF,MAAL,CAAhB,CApBQ;AAqBf,gBAAchB,SAAS,CAACgD,MArBT;AAsBf,2BAAyBhD,SAAS,CAACgD,MAtBpB;AAuBf,yBAAuBpC,QAAQ,CAACmC,SAAT,CAAmB,YAAnB,CAvBR;AAwBf,2BAAyBlC,UAAU,CAACkC,SAAX,CAAqB,YAArB,CAxBV;AAyBf,yBAAuBpC,QAAQ,CAACoC,SAAT,CAAmB,YAAnB,CAzBR;AA0Bf,sBAAoB/C,SAAS,CAACgD,MA1Bf;AA2Bf,yBAAuBhD,SAAS,CAACgD,MA3BlB;AA4Bf,6BAA2BvC,eAAe,CAACsC,SAAhB,CAA0B,YAA1B;AA5BZ,CAAjB;AA8BA,eAAeG,IAAf","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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/card/index.js"],"names":["React","useMemo","memo","PropTypes","classnames","NovaSolidLoginLocked","LockIcon","NovaCompositionCoorpacademyPictures","PicturesIcon","isExternalContent","EXTERNAL_CONTENT_ICONS","Provider","CardContentInfo","MODES","Customer","Favorite","Selectable","Notification","style","THEMES","default","coorpmanager","CardBackground","type","image","empty","ariaLabel","skin","externalContent","primaryColor","whiteColor","IconType","icon","iconColor","color","backgroundIcon","externalIconCircleWrapper","externalIcon","_backgroundIcon","externalIconCircleWithImageWrapper","backgroundColor","externalIconWithImage","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","chapterImageWrapper","contextTypes","childContextTypes","propTypes","string","bool","Card","props","context","badge","adaptiv","disabled","hidden","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","CARD","lockWrapper","shape","number","func","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, '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: hidden = 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 disabled = hidden && (!isSelected || isUndefined(isSelected));\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} hidden={hidden} 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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
@value colors: "../../variables/colors.css";
|
|
2
2
|
@value positive from colors;
|
|
3
3
|
@value cm_grey_400 from colors;
|
|
4
|
+
@value cm_negative_200 from colors;
|
|
4
5
|
|
|
5
6
|
.selectable {
|
|
6
7
|
width: 100%;
|
|
@@ -34,6 +35,15 @@
|
|
|
34
35
|
display: none;
|
|
35
36
|
}
|
|
36
37
|
|
|
38
|
+
.eyeIcons {
|
|
39
|
+
color: white;
|
|
40
|
+
width: 30px;
|
|
41
|
+
height: 30px;
|
|
42
|
+
padding: 4px 4px;
|
|
43
|
+
border-radius: 50%;
|
|
44
|
+
display: none;
|
|
45
|
+
}
|
|
46
|
+
|
|
37
47
|
.checkIcon {
|
|
38
48
|
color: positive;
|
|
39
49
|
composes: icons;
|
|
@@ -44,14 +54,43 @@
|
|
|
44
54
|
composes: icons;
|
|
45
55
|
}
|
|
46
56
|
|
|
57
|
+
.showIcon {
|
|
58
|
+
background: cm_grey_400;
|
|
59
|
+
composes: eyeIcons;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.hideIcon {
|
|
63
|
+
background: cm_negative_200;
|
|
64
|
+
composes: eyeIcons;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
.selectable.selected.hidden .showIcon,
|
|
69
|
+
.selectable.selected.hidden .addIcon,
|
|
70
|
+
.selectable.hidden .addIcon,
|
|
71
|
+
.selectable.hidden .checkIcon,
|
|
72
|
+
.selectable.hidden:hover .checkIcon {
|
|
73
|
+
display: none;
|
|
74
|
+
}
|
|
75
|
+
.hidden.selectable .hideIcon {
|
|
76
|
+
display: block;
|
|
77
|
+
}
|
|
78
|
+
.hidden.selectable:hover .hideIcon {
|
|
79
|
+
display: none;
|
|
80
|
+
}
|
|
81
|
+
.hidden.selectable:hover .showIcon {
|
|
82
|
+
display: block;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
|
|
47
86
|
.selectable:hover .addIcon,
|
|
48
87
|
.selectable:hover .circle {
|
|
49
88
|
display: block;
|
|
50
89
|
}
|
|
51
90
|
|
|
52
|
-
.selectable.selected .checkIcon,
|
|
91
|
+
.selectable.selected:not(.hidden) .checkIcon,
|
|
53
92
|
.selectable.selected .circle,
|
|
54
|
-
.selectable.selected:hover .checkIcon {
|
|
93
|
+
.selectable.selected:not(.hidden):hover .checkIcon {
|
|
55
94
|
display: block;
|
|
56
95
|
}
|
|
57
96
|
|
|
@@ -62,3 +101,11 @@
|
|
|
62
101
|
.selectable.selected:hover .addIcon {
|
|
63
102
|
display: none;
|
|
64
103
|
}
|
|
104
|
+
|
|
105
|
+
.selectable.selected.hidden:hover .circle {
|
|
106
|
+
display: block;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.selectable.selected.hidden:hover .addIcon {
|
|
110
|
+
display: none;
|
|
111
|
+
}
|
|
@@ -2,17 +2,18 @@ import _isUndefined from "lodash/fp/isUndefined";
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import classnames from 'classnames';
|
|
5
|
-
import { NovaSolidStatusCheckCircle2 as CheckIcon, NovaSolidRemoveAddAddCircle1 as AddIcon } from '@coorpacademy/nova-icons';
|
|
5
|
+
import { NovaSolidStatusCheckCircle2 as CheckIcon, NovaSolidRemoveAddAddCircle1 as AddIcon, NovaLineContentEditionHide as HideIcon, NovaCompositionCoorpacademyEye as ShowIcon } from '@coorpacademy/nova-icons';
|
|
6
6
|
import style from './selectable.css';
|
|
7
7
|
|
|
8
8
|
const Selectable = props => {
|
|
9
9
|
const {
|
|
10
10
|
isSelected,
|
|
11
|
+
hidden = false,
|
|
11
12
|
'aria-label': ariaLabel = {}
|
|
12
13
|
} = props;
|
|
13
14
|
if (_isUndefined(isSelected)) return null;
|
|
14
15
|
return /*#__PURE__*/React.createElement("div", {
|
|
15
|
-
className: classnames(style.selectable, isSelected && style.selected)
|
|
16
|
+
className: classnames(style.selectable, isSelected && style.selected, hidden && style.hidden)
|
|
16
17
|
}, /*#__PURE__*/React.createElement("div", {
|
|
17
18
|
className: style.circle
|
|
18
19
|
}), /*#__PURE__*/React.createElement("div", {
|
|
@@ -23,11 +24,18 @@ const Selectable = props => {
|
|
|
23
24
|
}), /*#__PURE__*/React.createElement(CheckIcon, {
|
|
24
25
|
className: style.checkIcon,
|
|
25
26
|
"aria-label": ariaLabel.unSelect
|
|
27
|
+
}), /*#__PURE__*/React.createElement(HideIcon, {
|
|
28
|
+
className: style.hideIcon,
|
|
29
|
+
"aria-label": ariaLabel.hide
|
|
30
|
+
}), /*#__PURE__*/React.createElement(ShowIcon, {
|
|
31
|
+
className: style.showIcon,
|
|
32
|
+
"aria-label": ariaLabel.show
|
|
26
33
|
})));
|
|
27
34
|
};
|
|
28
35
|
|
|
29
36
|
Selectable.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
30
37
|
isSelected: PropTypes.bool,
|
|
38
|
+
hidden: PropTypes.bool,
|
|
31
39
|
'aria-label': PropTypes.shape({
|
|
32
40
|
select: PropTypes.string,
|
|
33
41
|
unSelect: PropTypes.string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/card/selectable.js"],"names":["React","PropTypes","classnames","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidRemoveAddAddCircle1","AddIcon","style","Selectable","props","isSelected","ariaLabel","selectable","selected","circle","iconWrapper","addIcon","select","checkIcon","unSelect","propTypes","bool","shape","string"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,2BAA2B,IAAIC,SADjC,EAEEC,4BAA4B,IAAIC,OAFlC,
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/card/selectable.js"],"names":["React","PropTypes","classnames","NovaSolidStatusCheckCircle2","CheckIcon","NovaSolidRemoveAddAddCircle1","AddIcon","NovaLineContentEditionHide","HideIcon","NovaCompositionCoorpacademyEye","ShowIcon","style","Selectable","props","isSelected","hidden","ariaLabel","selectable","selected","circle","iconWrapper","addIcon","select","checkIcon","unSelect","hideIcon","hide","showIcon","show","propTypes","bool","shape","string"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SACEC,2BAA2B,IAAIC,SADjC,EAEEC,4BAA4B,IAAIC,OAFlC,EAGEC,0BAA0B,IAAIC,QAHhC,EAIEC,8BAA8B,IAAIC,QAJpC,QAKO,0BALP;AAMA,OAAOC,KAAP,MAAkB,kBAAlB;;AAEA,MAAMC,UAAU,GAAGC,KAAK,IAAI;AAC1B,QAAM;AAACC,IAAAA,UAAD;AAAaC,IAAAA,MAAM,GAAG,KAAtB;AAA6B,kBAAcC,SAAS,GAAG;AAAvD,MAA6DH,KAAnE;AAEA,MAAI,aAAYC,UAAZ,CAAJ,EAA6B,OAAO,IAAP;AAE7B,sBACE;AACE,IAAA,SAAS,EAAEZ,UAAU,CAACS,KAAK,CAACM,UAAP,EAAmBH,UAAU,IAAIH,KAAK,CAACO,QAAvC,EAAiDH,MAAM,IAAIJ,KAAK,CAACI,MAAjE;AADvB,kBAGE;AAAK,IAAA,SAAS,EAAEJ,KAAK,CAACQ;AAAtB,IAHF,eAIE;AAAK,IAAA,SAAS,EAAER,KAAK,CAACS;AAAtB,kBACE,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAET,KAAK,CAACU,OAA1B;AAAmC,kBAAYL,SAAS,CAACM;AAAzD,IADF,eAEE,oBAAC,SAAD;AAAW,IAAA,SAAS,EAAEX,KAAK,CAACY,SAA5B;AAAuC,kBAAYP,SAAS,CAACQ;AAA7D,IAFF,eAGE,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAEb,KAAK,CAACc,QAA3B;AAAqC,kBAAYT,SAAS,CAACU;AAA3D,IAHF,eAIE,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAEf,KAAK,CAACgB,QAA3B;AAAqC,kBAAYX,SAAS,CAACY;AAA3D,IAJF,CAJF,CADF;AAaD,CAlBD;;AAoBAhB,UAAU,CAACiB,SAAX,2CAAuB;AACrBf,EAAAA,UAAU,EAAEb,SAAS,CAAC6B,IADD;AAErBf,EAAAA,MAAM,EAAEd,SAAS,CAAC6B,IAFG;AAGrB,gBAAc7B,SAAS,CAAC8B,KAAV,CAAgB;AAC5BT,IAAAA,MAAM,EAAErB,SAAS,CAAC+B,MADU;AAE5BR,IAAAA,QAAQ,EAAEvB,SAAS,CAAC+B;AAFQ,GAAhB;AAHO,CAAvB;AASA,eAAepB,UAAf","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 NovaLineContentEditionHide as HideIcon,\n NovaCompositionCoorpacademyEye as ShowIcon\n} from '@coorpacademy/nova-icons';\nimport style from './selectable.css';\n\nconst Selectable = props => {\n const {isSelected, hidden = false, 'aria-label': ariaLabel = {}} = props;\n\n if (isUndefined(isSelected)) return null;\n\n return (\n <div\n className={classnames(style.selectable, isSelected && style.selected, hidden && style.hidden)}\n >\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 <HideIcon className={style.hideIcon} aria-label={ariaLabel.hide} />\n <ShowIcon className={style.showIcon} aria-label={ariaLabel.show} />\n </div>\n </div>\n );\n};\n\nSelectable.propTypes = {\n isSelected: PropTypes.bool,\n hidden: 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"}
|
|
@@ -8,9 +8,11 @@ import style from './style.css';
|
|
|
8
8
|
const CMPopin = props => {
|
|
9
9
|
const {
|
|
10
10
|
content,
|
|
11
|
+
mode = 'alert',
|
|
11
12
|
firstButton,
|
|
12
13
|
secondButton,
|
|
13
14
|
onClose,
|
|
15
|
+
header,
|
|
14
16
|
icon
|
|
15
17
|
} = props;
|
|
16
18
|
const logo = {
|
|
@@ -24,7 +26,10 @@ const CMPopin = props => {
|
|
|
24
26
|
className: style.popin
|
|
25
27
|
}, /*#__PURE__*/React.createElement("header", {
|
|
26
28
|
className: style.popinHeader
|
|
27
|
-
},
|
|
29
|
+
}, header ? /*#__PURE__*/React.createElement("img", {
|
|
30
|
+
className: style.headerBackground,
|
|
31
|
+
src: header
|
|
32
|
+
}) : null, onClose ? /*#__PURE__*/React.createElement(ButtonLinkIconOnly, {
|
|
28
33
|
onClick: onClose,
|
|
29
34
|
"data-name": 'close-icon',
|
|
30
35
|
"aria-label": 'close-icon',
|
|
@@ -34,14 +39,14 @@ const CMPopin = props => {
|
|
|
34
39
|
className: style.contentSection
|
|
35
40
|
}, LogoComponent ? /*#__PURE__*/React.createElement(LogoComponent, {
|
|
36
41
|
className: style.icon
|
|
37
|
-
}) : null, /*#__PURE__*/React.createElement("p", {
|
|
38
|
-
className: style.content,
|
|
42
|
+
}) : null, content ? /*#__PURE__*/React.createElement("p", {
|
|
43
|
+
className: mode === 'alert' ? style.content : style.message,
|
|
39
44
|
"data-name": `cm-popin-content` // eslint-disable-next-line react/no-danger
|
|
40
45
|
,
|
|
41
46
|
dangerouslySetInnerHTML: {
|
|
42
47
|
__html: content
|
|
43
48
|
}
|
|
44
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
49
|
+
}) : null), /*#__PURE__*/React.createElement("div", {
|
|
45
50
|
className: style.buttonContainer
|
|
46
51
|
}, firstButton ? /*#__PURE__*/React.createElement("div", {
|
|
47
52
|
className: style.button
|
|
@@ -59,11 +64,13 @@ const CMPopin = props => {
|
|
|
59
64
|
"data-name": `cm-popin-cta-${secondButton.type}`,
|
|
60
65
|
"aria-label": firstButton['aria-label'],
|
|
61
66
|
type: secondButton.type
|
|
62
|
-
})) : null))
|
|
67
|
+
})) : null)));
|
|
63
68
|
};
|
|
64
69
|
|
|
65
70
|
CMPopin.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
66
71
|
content: PropTypes.string,
|
|
72
|
+
mode: PropTypes.oneOf(['alert', 'information']),
|
|
73
|
+
header: PropTypes.string,
|
|
67
74
|
firstButton: PropTypes.shape({
|
|
68
75
|
label: PropTypes.string,
|
|
69
76
|
handleOnclick: PropTypes.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/cm-popin/index.js"],"names":["React","PropTypes","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","AlertDiamond","NovaSolidApplicationsWindowUpload3","WindowUpload","Cta","ButtonLinkIconOnly","style","CMPopin","props","content","firstButton","secondButton","onClose","icon","logo","LogoComponent","background","popin","popinHeader","contentSection","__html","buttonContainer","button","label","handleOnclick","type","propTypes","string","
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/cm-popin/index.js"],"names":["React","PropTypes","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","AlertDiamond","NovaSolidApplicationsWindowUpload3","WindowUpload","Cta","ButtonLinkIconOnly","style","CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","logo","LogoComponent","background","popin","popinHeader","headerBackground","contentSection","message","__html","buttonContainer","button","label","handleOnclick","type","propTypes","string","oneOf","shape","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload\n} from '@coorpacademy/nova-icons';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport style from './style.css';\n\nconst CMPopin = props => {\n const {content, mode = 'alert', firstButton, secondButton, onClose, header, icon} = props;\n\n const logo = {\n AlertDiamond,\n WindowUpload\n };\n const LogoComponent = logo[icon];\n\n return (\n <div className={style.background}>\n <div className={style.popin}>\n <header className={style.popinHeader}>\n {header ? <img className={style.headerBackground} src={header} /> : null}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={`cm-popin-content`}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={`cm-popin-cta`}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={firstButton['aria-label']}\n type={secondButton.type}\n />\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = {\n content: PropTypes.string,\n mode: PropTypes.oneOf(['alert', 'information']),\n header: PropTypes.string,\n firstButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n 'aria-label': PropTypes.string,\n type: PropTypes.string\n }),\n secondButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary']),\n 'aria-label': PropTypes.string\n }),\n onClose: PropTypes.func,\n icon: PropTypes.string\n};\n\nexport default CMPopin;\n"],"file":"index.js"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
@value cm_grey_800 from colors;
|
|
7
7
|
@value negative from colors;
|
|
8
8
|
@value lightGreen from colors;
|
|
9
|
+
@value xtraLightGrey from colors;
|
|
9
10
|
@value cm_grey_50 from colors;
|
|
10
11
|
@value cm_negative_100 from colors;
|
|
11
12
|
@value cm_negative_200 from colors;
|
|
@@ -29,6 +30,12 @@
|
|
|
29
30
|
position:fixed;
|
|
30
31
|
}
|
|
31
32
|
|
|
33
|
+
.headerBackground {
|
|
34
|
+
width: calc(100% + 32px);
|
|
35
|
+
height: auto;
|
|
36
|
+
margin: -16px -16px 0px -16px;
|
|
37
|
+
}
|
|
38
|
+
|
|
32
39
|
.popin {
|
|
33
40
|
position: absolute;
|
|
34
41
|
overflow: auto;
|
|
@@ -46,6 +53,23 @@
|
|
|
46
53
|
animation: popup 0.7s;
|
|
47
54
|
}
|
|
48
55
|
|
|
56
|
+
.message {
|
|
57
|
+
display: flex;
|
|
58
|
+
flex-direction: column;
|
|
59
|
+
justify-content: center;
|
|
60
|
+
align-items: center;
|
|
61
|
+
padding: 40px 40px 0px;
|
|
62
|
+
position: absolute;
|
|
63
|
+
background: xtraLightGrey;
|
|
64
|
+
font-family: 'Gilroy';
|
|
65
|
+
font-weight: 500;
|
|
66
|
+
font-size: 14px;
|
|
67
|
+
line-height: 20px;
|
|
68
|
+
margin: 0;
|
|
69
|
+
}
|
|
70
|
+
.message p {
|
|
71
|
+
margin: 10px 0px;
|
|
72
|
+
}
|
|
49
73
|
@keyframes popup {
|
|
50
74
|
0%{
|
|
51
75
|
transform: scale(0);
|
|
@@ -98,4 +122,8 @@
|
|
|
98
122
|
width: 100%;
|
|
99
123
|
display: flex;
|
|
100
124
|
justify-content: flex-end;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.popinHeader button {
|
|
128
|
+
position: absolute;
|
|
101
129
|
}
|