@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.
Files changed (41) hide show
  1. package/es/atom/content-badge/index.js +15 -3
  2. package/es/atom/content-badge/index.js.map +1 -1
  3. package/es/atom/content-badge/style.css +6 -0
  4. package/es/molecule/banner/index.js +9 -4
  5. package/es/molecule/banner/index.js.map +1 -1
  6. package/es/molecule/banner/style.css +41 -6
  7. package/es/molecule/card/index.js +5 -1
  8. package/es/molecule/card/index.js.map +1 -1
  9. package/es/molecule/card/selectable.css +49 -2
  10. package/es/molecule/card/selectable.js +10 -2
  11. package/es/molecule/card/selectable.js.map +1 -1
  12. package/es/molecule/cm-popin/index.js +12 -5
  13. package/es/molecule/cm-popin/index.js.map +1 -1
  14. package/es/molecule/cm-popin/style.css +28 -0
  15. package/es/molecule/go1-banner/index.js +56 -0
  16. package/es/molecule/go1-banner/index.js.map +1 -0
  17. package/es/molecule/go1-banner/style.css +90 -0
  18. package/es/organism/brand-dashboard/index.js +6 -3
  19. package/es/organism/brand-dashboard/index.js.map +1 -1
  20. package/es/variables/colors.css +4 -0
  21. package/lib/atom/content-badge/index.js +17 -4
  22. package/lib/atom/content-badge/index.js.map +1 -1
  23. package/lib/atom/content-badge/style.css +6 -0
  24. package/lib/molecule/banner/index.js +9 -4
  25. package/lib/molecule/banner/index.js.map +1 -1
  26. package/lib/molecule/banner/style.css +41 -6
  27. package/lib/molecule/card/index.js +3 -1
  28. package/lib/molecule/card/index.js.map +1 -1
  29. package/lib/molecule/card/selectable.css +49 -2
  30. package/lib/molecule/card/selectable.js +9 -1
  31. package/lib/molecule/card/selectable.js.map +1 -1
  32. package/lib/molecule/cm-popin/index.js +12 -5
  33. package/lib/molecule/cm-popin/index.js.map +1 -1
  34. package/lib/molecule/cm-popin/style.css +28 -0
  35. package/lib/molecule/go1-banner/index.js +67 -0
  36. package/lib/molecule/go1-banner/index.js.map +1 -0
  37. package/lib/molecule/go1-banner/style.css +90 -0
  38. package/lib/organism/brand-dashboard/index.js +7 -3
  39. package/lib/organism/brand-dashboard/index.js.map +1 -1
  40. package/lib/variables/colors.css +4 -0
  41. package/package.json +2 -2
@@ -0,0 +1,56 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import Button from '../../atom/button';
4
+ import style from './style.css';
5
+
6
+ const Go1Banner = props => {
7
+ const {
8
+ image,
9
+ title,
10
+ subTitle,
11
+ onClick,
12
+ submitValue
13
+ } = props;
14
+ return /*#__PURE__*/React.createElement("div", {
15
+ className: style.background,
16
+ "data-name": "go1-banner"
17
+ }, /*#__PURE__*/React.createElement("div", {
18
+ className: style.textSection
19
+ }, /*#__PURE__*/React.createElement("span", {
20
+ className: style.title // eslint-disable-next-line react/no-danger
21
+ ,
22
+ dangerouslySetInnerHTML: {
23
+ __html: title
24
+ }
25
+ }), /*#__PURE__*/React.createElement("span", {
26
+ className: style.subTitle // eslint-disable-next-line react/no-danger
27
+ ,
28
+ dangerouslySetInnerHTML: {
29
+ __html: subTitle
30
+ }
31
+ }), /*#__PURE__*/React.createElement("div", {
32
+ className: style.buttonWrapper
33
+ }, /*#__PURE__*/React.createElement(Button, {
34
+ type: "link",
35
+ "data-name": "learn-more-button",
36
+ onClick: onClick,
37
+ submitValue: submitValue,
38
+ className: style.ctaButton,
39
+ style: {
40
+ backgroundColor: '#D5FD42'
41
+ }
42
+ }))), /*#__PURE__*/React.createElement("img", {
43
+ className: style.image,
44
+ src: image
45
+ }));
46
+ };
47
+
48
+ Go1Banner.propTypes = process.env.NODE_ENV !== "production" ? {
49
+ image: PropTypes.string,
50
+ title: PropTypes.string,
51
+ subTitle: PropTypes.string,
52
+ onClick: Button.propTypes.onClick,
53
+ submitValue: Button.propTypes.submitValue
54
+ } : {};
55
+ export default Go1Banner;
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/molecule/go1-banner/index.js"],"names":["React","PropTypes","Button","style","Go1Banner","props","image","title","subTitle","onClick","submitValue","background","textSection","__html","buttonWrapper","ctaButton","backgroundColor","propTypes","string"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,SAAS,GAAGC,KAAK,IAAI;AACzB,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,KAAR;AAAeC,IAAAA,QAAf;AAAyBC,IAAAA,OAAzB;AAAkCC,IAAAA;AAAlC,MAAiDL,KAAvD;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEF,KAAK,CAACQ,UAAtB;AAAkC,iBAAU;AAA5C,kBACE;AAAK,IAAA,SAAS,EAAER,KAAK,CAACS;AAAtB,kBACE;AACE,IAAA,SAAS,EAAET,KAAK,CAACI,KADnB,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACM,MAAAA,MAAM,EAAEN;AAAT;AAH3B,IADF,eAME;AACE,IAAA,SAAS,EAAEJ,KAAK,CAACK,QADnB,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACK,MAAAA,MAAM,EAAEL;AAAT;AAH3B,IANF,eAWE;AAAK,IAAA,SAAS,EAAEL,KAAK,CAACW;AAAtB,kBACE,oBAAC,MAAD;AACE,IAAA,IAAI,EAAC,MADP;AAEE,iBAAU,mBAFZ;AAGE,IAAA,OAAO,EAAEL,OAHX;AAIE,IAAA,WAAW,EAAEC,WAJf;AAKE,IAAA,SAAS,EAAEP,KAAK,CAACY,SALnB;AAME,IAAA,KAAK,EAAE;AAACC,MAAAA,eAAe,EAAE;AAAlB;AANT,IADF,CAXF,CADF,eAuBE;AAAK,IAAA,SAAS,EAAEb,KAAK,CAACG,KAAtB;AAA6B,IAAA,GAAG,EAAEA;AAAlC,IAvBF,CADF;AA2BD,CA9BD;;AAgCAF,SAAS,CAACa,SAAV,2CAAsB;AACpBX,EAAAA,KAAK,EAAEL,SAAS,CAACiB,MADG;AAEpBX,EAAAA,KAAK,EAAEN,SAAS,CAACiB,MAFG;AAGpBV,EAAAA,QAAQ,EAAEP,SAAS,CAACiB,MAHA;AAIpBT,EAAAA,OAAO,EAAEP,MAAM,CAACe,SAAP,CAAiBR,OAJN;AAKpBC,EAAAA,WAAW,EAAER,MAAM,CAACe,SAAP,CAAiBP;AALV,CAAtB;AAQA,eAAeN,SAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '../../atom/button';\nimport style from './style.css';\n\nconst Go1Banner = props => {\n const {image, title, subTitle, onClick, submitValue} = props;\n\n return (\n <div className={style.background} data-name=\"go1-banner\">\n <div className={style.textSection}>\n <span\n className={style.title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n <span\n className={style.subTitle}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: subTitle}}\n />\n <div className={style.buttonWrapper}>\n <Button\n type=\"link\"\n data-name=\"learn-more-button\"\n onClick={onClick}\n submitValue={submitValue}\n className={style.ctaButton}\n style={{backgroundColor: '#D5FD42'}}\n />\n </div>\n </div>\n <img className={style.image} src={image} />\n </div>\n );\n};\n\nGo1Banner.propTypes = {\n image: PropTypes.string,\n title: PropTypes.string,\n subTitle: PropTypes.string,\n onClick: Button.propTypes.onClick,\n submitValue: Button.propTypes.submitValue\n};\n\nexport default Go1Banner;\n"],"file":"index.js"}
@@ -0,0 +1,90 @@
1
+ @value breakpoints: "../../variables/breakpoints.css";
2
+ @value tablet from breakpoints;
3
+ @value mobile from breakpoints;
4
+ @value colors: "../../variables/colors.css";
5
+ @value go1_primary_hover from colors;
6
+ @value go1_primary from colors;
7
+ @value go1_backgound from colors;
8
+ @value white from colors;
9
+
10
+ .background {
11
+ background: go1_backgound;
12
+ border-radius: 8px;
13
+ width: 100%;
14
+ min-height: 246px;
15
+ display: flex;
16
+ flex-direction: row;
17
+ justify-content: space-between;
18
+ margin-top: 30px;
19
+ }
20
+
21
+ .buttonWrapper {
22
+ display: flex;
23
+ flex-direction: row;
24
+ justify-content: center;
25
+ align-items: center;
26
+ width: 122px;
27
+ height: 44px;
28
+ background: go1_primary;
29
+ border-radius: 7px;
30
+ overflow: hidden;
31
+ order: 2;
32
+ margin: 36px 10px 10px 52px;
33
+ }
34
+ .buttonWrapper:hover {
35
+ background: go1_primary_hover;
36
+ }
37
+ .textSection {
38
+ display: flex;
39
+ flex-direction: column;
40
+ }
41
+
42
+ .ctaButton a {
43
+ color: go1_backgound;
44
+ }
45
+
46
+ .title {
47
+ font-family: 'Gilroy';
48
+ font-style: normal;
49
+ font-weight: 500;
50
+ font-size: 16px;
51
+ line-height: 22px;
52
+ display: block;
53
+ color: white;
54
+ order: 0;
55
+ margin: 34px 10px 8px 76px;
56
+ background: color(white a(13%));
57
+ width: fit-content;
58
+ border-radius: 5px;
59
+ padding: 7px;
60
+ }
61
+
62
+ .subTitle {
63
+ font-family: 'Gilroy';
64
+ font-style: normal;
65
+ font-weight: 600;
66
+ font-size: 28px;
67
+ line-height: 36px;
68
+ color: white;
69
+ order: 1;
70
+ background: color(white a(13%));
71
+ width: fit-content;
72
+ border-radius: 5px;
73
+ padding: 6px 10px;
74
+ margin-left: 50px;
75
+ }
76
+ .image {
77
+ width: auto;
78
+ height: 206px;
79
+ padding: 20px 30px;
80
+ }
81
+ @media tablet {
82
+ .image {
83
+ display: none;
84
+ }
85
+ }
86
+ @media mobile {
87
+ .image {
88
+ display: none;
89
+ }
90
+ }
@@ -4,16 +4,18 @@ import React from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import Title from '../../atom/title';
6
6
  import QuickAccessCardGroup from '../../molecule/quick-access-cards-group';
7
+ import Go1Banner from '../../molecule/go1-banner';
7
8
  import style from './style.css';
8
9
 
9
10
  const Dashboard = props => {
10
11
  const {
11
12
  header,
12
- quickAccessCards
13
+ quickAccessCards,
14
+ banner
13
15
  } = props;
14
16
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Title, _extends({}, header, {
15
17
  type: 'page'
16
- }))), /*#__PURE__*/React.createElement("div", {
18
+ }))), banner ? /*#__PURE__*/React.createElement(Go1Banner, banner) : null, /*#__PURE__*/React.createElement("div", {
17
19
  className: style.sectionWrapper
18
20
  }, /*#__PURE__*/React.createElement(Title, {
19
21
  title: quickAccessCards.title,
@@ -31,7 +33,8 @@ Dashboard.propTypes = process.env.NODE_ENV !== "production" ? {
31
33
  quickAccessCards: PropTypes.shape({
32
34
  title: PropTypes.string,
33
35
  cards: PropTypes.shape(QuickAccessCardGroup.propTypes)
34
- })
36
+ }),
37
+ banner: PropTypes.shape(Go1Banner.propTypes)
35
38
  } : {};
36
39
  export default Dashboard;
37
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/brand-dashboard/index.js"],"names":["React","PropTypes","Title","QuickAccessCardGroup","style","Dashboard","props","header","quickAccessCards","sectionWrapper","title","cardsWrapper","cards","propTypes","shape","string","subtitle"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,KAAP,MAAkB,kBAAlB;AACA,OAAOC,oBAAP,MAAiC,yCAAjC;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,SAAS,GAAGC,KAAK,IAAI;AACzB,QAAM;AAACC,IAAAA,MAAD;AAASC,IAAAA;AAAT,MAA6BF,KAAnC;AACA,sBACE,8CACE,8CACE,oBAAC,KAAD,eAAWC,MAAX;AAAmB,IAAA,IAAI,EAAE;AAAzB,KADF,CADF,eAIE;AAAK,IAAA,SAAS,EAAEH,KAAK,CAACK;AAAtB,kBACE,oBAAC,KAAD;AAAO,IAAA,KAAK,EAAED,gBAAgB,CAACE,KAA/B;AAAsC,IAAA,IAAI,EAAE;AAA5C,IADF,eAEE;AAAK,IAAA,SAAS,EAAEN,KAAK,CAACO;AAAtB,kBACE,oBAAC,oBAAD,EAA0BH,gBAAgB,CAACI,KAA3C,CADF,CAFF,CAJF,CADF;AAaD,CAfD;;AAiBAP,SAAS,CAACQ,SAAV,2CAAsB;AACpBN,EAAAA,MAAM,EAAEN,SAAS,CAACa,KAAV,CAAgB;AACtBJ,IAAAA,KAAK,EAAET,SAAS,CAACc,MADK;AAEtBC,IAAAA,QAAQ,EAAEf,SAAS,CAACc;AAFE,GAAhB,CADY;AAKpBP,EAAAA,gBAAgB,EAAEP,SAAS,CAACa,KAAV,CAAgB;AAChCJ,IAAAA,KAAK,EAAET,SAAS,CAACc,MADe;AAEhCH,IAAAA,KAAK,EAAEX,SAAS,CAACa,KAAV,CAAgBX,oBAAoB,CAACU,SAArC;AAFyB,GAAhB;AALE,CAAtB;AAWA,eAAeR,SAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Title from '../../atom/title';\nimport QuickAccessCardGroup from '../../molecule/quick-access-cards-group';\nimport style from './style.css';\n\nconst Dashboard = props => {\n const {header, quickAccessCards} = props;\n return (\n <div>\n <div>\n <Title {...header} type={'page'} />\n </div>\n <div className={style.sectionWrapper}>\n <Title title={quickAccessCards.title} type={'form-group'} />\n <div className={style.cardsWrapper}>\n <QuickAccessCardGroup {...quickAccessCards.cards} />\n </div>\n </div>\n </div>\n );\n};\n\nDashboard.propTypes = {\n header: PropTypes.shape({\n title: PropTypes.string,\n subtitle: PropTypes.string\n }),\n quickAccessCards: PropTypes.shape({\n title: PropTypes.string,\n cards: PropTypes.shape(QuickAccessCardGroup.propTypes)\n })\n};\n\nexport default Dashboard;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/organism/brand-dashboard/index.js"],"names":["React","PropTypes","Title","QuickAccessCardGroup","Go1Banner","style","Dashboard","props","header","quickAccessCards","banner","sectionWrapper","title","cardsWrapper","cards","propTypes","shape","string","subtitle"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,KAAP,MAAkB,kBAAlB;AACA,OAAOC,oBAAP,MAAiC,yCAAjC;AACA,OAAOC,SAAP,MAAsB,2BAAtB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,SAAS,GAAGC,KAAK,IAAI;AACzB,QAAM;AAACC,IAAAA,MAAD;AAASC,IAAAA,gBAAT;AAA2BC,IAAAA;AAA3B,MAAqCH,KAA3C;AACA,sBACE,8CACE,8CACE,oBAAC,KAAD,eAAWC,MAAX;AAAmB,IAAA,IAAI,EAAE;AAAzB,KADF,CADF,EAIGE,MAAM,gBAAG,oBAAC,SAAD,EAAeA,MAAf,CAAH,GAA+B,IAJxC,eAKE;AAAK,IAAA,SAAS,EAAEL,KAAK,CAACM;AAAtB,kBACE,oBAAC,KAAD;AAAO,IAAA,KAAK,EAAEF,gBAAgB,CAACG,KAA/B;AAAsC,IAAA,IAAI,EAAE;AAA5C,IADF,eAEE;AAAK,IAAA,SAAS,EAAEP,KAAK,CAACQ;AAAtB,kBACE,oBAAC,oBAAD,EAA0BJ,gBAAgB,CAACK,KAA3C,CADF,CAFF,CALF,CADF;AAcD,CAhBD;;AAkBAR,SAAS,CAACS,SAAV,2CAAsB;AACpBP,EAAAA,MAAM,EAAEP,SAAS,CAACe,KAAV,CAAgB;AACtBJ,IAAAA,KAAK,EAAEX,SAAS,CAACgB,MADK;AAEtBC,IAAAA,QAAQ,EAAEjB,SAAS,CAACgB;AAFE,GAAhB,CADY;AAKpBR,EAAAA,gBAAgB,EAAER,SAAS,CAACe,KAAV,CAAgB;AAChCJ,IAAAA,KAAK,EAAEX,SAAS,CAACgB,MADe;AAEhCH,IAAAA,KAAK,EAAEb,SAAS,CAACe,KAAV,CAAgBb,oBAAoB,CAACY,SAArC;AAFyB,GAAhB,CALE;AASpBL,EAAAA,MAAM,EAAET,SAAS,CAACe,KAAV,CAAgBZ,SAAS,CAACW,SAA1B;AATY,CAAtB;AAYA,eAAeT,SAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Title from '../../atom/title';\nimport QuickAccessCardGroup from '../../molecule/quick-access-cards-group';\nimport Go1Banner from '../../molecule/go1-banner';\nimport style from './style.css';\n\nconst Dashboard = props => {\n const {header, quickAccessCards, banner} = props;\n return (\n <div>\n <div>\n <Title {...header} type={'page'} />\n </div>\n {banner ? <Go1Banner {...banner} /> : null}\n <div className={style.sectionWrapper}>\n <Title title={quickAccessCards.title} type={'form-group'} />\n <div className={style.cardsWrapper}>\n <QuickAccessCardGroup {...quickAccessCards.cards} />\n </div>\n </div>\n </div>\n );\n};\n\nDashboard.propTypes = {\n header: PropTypes.shape({\n title: PropTypes.string,\n subtitle: PropTypes.string\n }),\n quickAccessCards: PropTypes.shape({\n title: PropTypes.string,\n cards: PropTypes.shape(QuickAccessCardGroup.propTypes)\n }),\n banner: PropTypes.shape(Go1Banner.propTypes)\n};\n\nexport default Dashboard;\n"],"file":"index.js"}
@@ -67,3 +67,7 @@
67
67
  @value box_shadow_light_dark: rgba(0, 0, 0, 0.12);
68
68
  @value box_shadow_medium_dark: rgba(0, 0, 0, 0.2);
69
69
  @value box_shadow_orange_700: rgba(255, 84, 31, 0.15);
70
+
71
+ @value go1_backgound: #144953;
72
+ @value go1_primary: #D5FD42;
73
+ @value go1_primary_hover: #BFE33B;
@@ -3,28 +3,41 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
5
 
6
+ var _keys2 = _interopRequireDefault(require("lodash/fp/keys"));
7
+
6
8
  var _react = _interopRequireDefault(require("react"));
7
9
 
8
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
11
 
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
-
12
12
  var _style = _interopRequireDefault(require("./style.css"));
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
+ const CATEGORIES = {
17
+ base: _style.default.base,
18
+ advanced: _style.default.advanced,
19
+ coach: _style.default.coach,
20
+ chapter: _style.default.chapter,
21
+ scorm: _style.default.scorm,
22
+ video: _style.default.video,
23
+ article: _style.default.article,
24
+ podcast: _style.default.podcast,
25
+ course: _style.default.course,
26
+ hidden: _style.default.hidden
27
+ };
28
+
16
29
  const ContentBadge = props => {
17
30
  const {
18
31
  category,
19
32
  label
20
33
  } = props;
21
34
  return /*#__PURE__*/_react.default.createElement("span", {
22
- className: (0, _classnames.default)(category === 'base' && _style.default.base, category === 'advanced' && _style.default.advanced, category === 'coach' && _style.default.coach, category === 'chapter' && _style.default.chapter, category === 'scorm' && _style.default.scorm, category === 'video' && _style.default.video, category === 'article' && _style.default.article, category === 'podcast' && _style.default.podcast, category === 'course' && _style.default.course)
35
+ className: CATEGORIES[category]
23
36
  }, label);
24
37
  };
25
38
 
26
39
  ContentBadge.propTypes = process.env.NODE_ENV !== "production" ? {
27
- category: _propTypes.default.oneOf(['base', 'advanced', 'coach', 'chapter', 'scorm', 'video', 'article', 'podcast', 'course']),
40
+ category: _propTypes.default.oneOf((0, _keys2.default)(CATEGORIES)),
28
41
  label: _propTypes.default.string
29
42
  } : {};
30
43
  var _default = ContentBadge;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/content-badge/index.js"],"names":["ContentBadge","props","category","label","style","base","advanced","coach","chapter","scorm","video","article","podcast","course","propTypes","PropTypes","oneOf","string"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,YAAY,GAAGC,KAAK,IAAI;AAC5B,QAAM;AAACC,IAAAA,QAAD;AAAWC,IAAAA;AAAX,MAAoBF,KAA1B;AACA,sBACE;AACE,IAAA,SAAS,EAAE,yBACTC,QAAQ,KAAK,MAAb,IAAuBE,eAAMC,IADpB,EAETH,QAAQ,KAAK,UAAb,IAA2BE,eAAME,QAFxB,EAGTJ,QAAQ,KAAK,OAAb,IAAwBE,eAAMG,KAHrB,EAITL,QAAQ,KAAK,SAAb,IAA0BE,eAAMI,OAJvB,EAKTN,QAAQ,KAAK,OAAb,IAAwBE,eAAMK,KALrB,EAMTP,QAAQ,KAAK,OAAb,IAAwBE,eAAMM,KANrB,EAOTR,QAAQ,KAAK,SAAb,IAA0BE,eAAMO,OAPvB,EAQTT,QAAQ,KAAK,SAAb,IAA0BE,eAAMQ,OARvB,EASTV,QAAQ,KAAK,QAAb,IAAyBE,eAAMS,MATtB;AADb,KAaGV,KAbH,CADF;AAiBD,CAnBD;;AAqBAH,YAAY,CAACc,SAAb,2CAAyB;AACvBZ,EAAAA,QAAQ,EAAEa,mBAAUC,KAAV,CAAgB,CACxB,MADwB,EAExB,UAFwB,EAGxB,OAHwB,EAIxB,SAJwB,EAKxB,OALwB,EAMxB,OANwB,EAOxB,SAPwB,EAQxB,SARwB,EASxB,QATwB,CAAhB,CADa;AAYvBb,EAAAA,KAAK,EAAEY,mBAAUE;AAZM,CAAzB;eAeejB,Y","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport style from './style.css';\n\nconst ContentBadge = props => {\n const {category, label} = props;\n return (\n <span\n className={classnames(\n category === 'base' && style.base,\n category === 'advanced' && style.advanced,\n category === 'coach' && style.coach,\n category === 'chapter' && style.chapter,\n category === 'scorm' && style.scorm,\n category === 'video' && style.video,\n category === 'article' && style.article,\n category === 'podcast' && style.podcast,\n category === 'course' && style.course\n )}\n >\n {label}\n </span>\n );\n};\n\nContentBadge.propTypes = {\n category: PropTypes.oneOf([\n 'base',\n 'advanced',\n 'coach',\n 'chapter',\n 'scorm',\n 'video',\n 'article',\n 'podcast',\n 'course'\n ]),\n label: PropTypes.string\n};\n\nexport default ContentBadge;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/content-badge/index.js"],"names":["CATEGORIES","base","style","advanced","coach","chapter","scorm","video","article","podcast","course","hidden","ContentBadge","props","category","label","propTypes","PropTypes","oneOf","string"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;AAEA,MAAMA,UAAU,GAAG;AACjBC,EAAAA,IAAI,EAAEC,eAAMD,IADK;AAEjBE,EAAAA,QAAQ,EAAED,eAAMC,QAFC;AAGjBC,EAAAA,KAAK,EAAEF,eAAME,KAHI;AAIjBC,EAAAA,OAAO,EAAEH,eAAMG,OAJE;AAKjBC,EAAAA,KAAK,EAAEJ,eAAMI,KALI;AAMjBC,EAAAA,KAAK,EAAEL,eAAMK,KANI;AAOjBC,EAAAA,OAAO,EAAEN,eAAMM,OAPE;AAQjBC,EAAAA,OAAO,EAAEP,eAAMO,OARE;AASjBC,EAAAA,MAAM,EAAER,eAAMQ,MATG;AAUjBC,EAAAA,MAAM,EAAET,eAAMS;AAVG,CAAnB;;AAaA,MAAMC,YAAY,GAAGC,KAAK,IAAI;AAC5B,QAAM;AAACC,IAAAA,QAAD;AAAWC,IAAAA;AAAX,MAAoBF,KAA1B;AACA,sBAAO;AAAM,IAAA,SAAS,EAAEb,UAAU,CAACc,QAAD;AAA3B,KAAwCC,KAAxC,CAAP;AACD,CAHD;;AAKAH,YAAY,CAACI,SAAb,2CAAyB;AACvBF,EAAAA,QAAQ,EAAEG,mBAAUC,KAAV,CAAgB,oBAAKlB,UAAL,CAAhB,CADa;AAEvBe,EAAAA,KAAK,EAAEE,mBAAUE;AAFM,CAAzB;eAKeP,Y","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;
@@ -24,6 +24,11 @@ const ICONS = {
24
24
  error: _novaIcons.NovaSolidInterfaceFeedbackInterfaceAlertDiamond,
25
25
  warning: _novaIcons.NovaSolidInterfaceFeedbackInterfaceAlertDiamond
26
26
  };
27
+ const STYLES = {
28
+ success: _style.default.success,
29
+ error: _style.default.error,
30
+ warning: _style.default.warning
31
+ };
27
32
 
28
33
  const Banner = props => {
29
34
  const {
@@ -40,7 +45,7 @@ const Banner = props => {
40
45
  const Icon = ICONS[type];
41
46
  return /*#__PURE__*/_react.default.createElement("div", {
42
47
  key: bannerKey,
43
- className: (0, _classnames.default)(_style.default.banner, type === 'error' && _style.default.errorBanner, type === 'success' && _style.default.successBanner, temporary && _style.default.temporaryBanner),
48
+ className: (0, _classnames.default)(_style.default.banner, STYLES[type], temporary && _style.default.temporaryBanner),
44
49
  onAnimationEnd: onEnd,
45
50
  title: message
46
51
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -49,7 +54,7 @@ const Banner = props => {
49
54
  }, /*#__PURE__*/_react.default.createElement(Icon, {
50
55
  className: (0, _classnames.default)(_style.default.icon, temporary && _style.default.temporaryIcon)
51
56
  }), message), firstCTALabel ? /*#__PURE__*/_react.default.createElement("div", {
52
- className: _style.default.button
57
+ className: (0, _classnames.default)(_style.default.button, STYLES[type])
53
58
  }, /*#__PURE__*/_react.default.createElement(_buttonLink.default, {
54
59
  "data-name": "first-banner-cta",
55
60
  "aria-label": firstCTALabel,
@@ -57,9 +62,9 @@ const Banner = props => {
57
62
  onClick: firstCTA,
58
63
  type: "text"
59
64
  })) : null, firstCTALabel && secondCTALabel ? /*#__PURE__*/_react.default.createElement("div", {
60
- className: _style.default.buttonsBar
65
+ className: (0, _classnames.default)(_style.default.buttonsBar, STYLES[type])
61
66
  }) : null, secondCTALabel ? /*#__PURE__*/_react.default.createElement("div", {
62
- className: _style.default.button
67
+ className: (0, _classnames.default)(_style.default.button, STYLES[type])
63
68
  }, /*#__PURE__*/_react.default.createElement(_buttonLink.default, {
64
69
  "data-name": "second-banner-cta",
65
70
  onClick: secondCTA,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/banner/index.js"],"names":["ICONS","success","ValidateIcon","error","QuestionIcon","warning","Banner","props","type","message","firstCTA","firstCTALabel","secondCTALabel","secondCTA","temporary","bannerKey","onEnd","Icon","style","banner","errorBanner","successBanner","temporaryBanner","icon","temporaryIcon","button","buttonsBar","propTypes","PropTypes","string","oneOf","isRequired","func","bool"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAIA;;AACA;;;;AAEA,MAAMA,KAAK,GAAG;AACZC,EAAAA,OAAO,EAAEC,8CADG;AAEZC,EAAAA,KAAK,EAAEC,0DAFK;AAGZC,EAAAA,OAAO,EAAED;AAHG,CAAd;;AAMA,MAAME,MAAM,GAAGC,KAAK,IAAI;AACtB,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,OAFI;AAGJC,IAAAA,QAHI;AAIJC,IAAAA,aAJI;AAKJC,IAAAA,cALI;AAMJC,IAAAA,SANI;AAOJC,IAAAA,SAPI;AAQJC,IAAAA,SARI;AASJC,IAAAA;AATI,MAUFT,KAVJ;AAWA,QAAMU,IAAI,GAAGjB,KAAK,CAACQ,IAAD,CAAlB;AACA,sBACE;AACE,IAAA,GAAG,EAAEO,SADP;AAEE,IAAA,SAAS,EAAE,yBACTG,eAAMC,MADG,EAETX,IAAI,KAAK,OAAT,IAAoBU,eAAME,WAFjB,EAGTZ,IAAI,KAAK,SAAT,IAAsBU,eAAMG,aAHnB,EAITP,SAAS,IAAII,eAAMI,eAJV,CAFb;AAQE,IAAA,cAAc,EAAEN,KARlB;AASE,IAAA,KAAK,EAAEP;AATT,kBAWE;AAAK,iBAAY,GAAED,IAAK,iBAAxB;AAA0C,IAAA,SAAS,EAAEU,eAAMT;AAA3D,kBACE,6BAAC,IAAD;AAAM,IAAA,SAAS,EAAE,yBAAWS,eAAMK,IAAjB,EAAuBT,SAAS,IAAII,eAAMM,aAA1C;AAAjB,IADF,EAEGf,OAFH,CAXF,EAeGE,aAAa,gBACZ;AAAK,IAAA,SAAS,EAAEO,eAAMO;AAAtB,kBACE,6BAAC,mBAAD;AACE,iBAAU,kBADZ;AAEE,kBAAYd,aAFd;AAGE,IAAA,KAAK,EAAEA,aAHT;AAIE,IAAA,OAAO,EAAED,QAJX;AAKE,IAAA,IAAI,EAAC;AALP,IADF,CADY,GAUV,IAzBN,EA0BGC,aAAa,IAAIC,cAAjB,gBAAkC;AAAK,IAAA,SAAS,EAAEM,eAAMQ;AAAtB,IAAlC,GAAyE,IA1B5E,EA2BGd,cAAc,gBACb;AAAK,IAAA,SAAS,EAAEM,eAAMO;AAAtB,kBACE,6BAAC,mBAAD;AACE,iBAAU,mBADZ;AAEE,IAAA,OAAO,EAAEZ,SAFX;AAGE,kBAAYD,cAHd;AAIE,IAAA,KAAK,EAAEA,cAJT;AAKE,IAAA,IAAI,EAAC;AALP,IADF,CADa,GAUX,IArCN,CADF;AAyCD,CAtDD;;AAwDAN,MAAM,CAACqB,SAAP,2CAAmB;AACjBZ,EAAAA,SAAS,EAAEa,mBAAUC,MADJ;AAEjBrB,EAAAA,IAAI,EAAEoB,mBAAUE,KAAV,CAAgB,oBAAK9B,KAAL,CAAhB,CAFW;AAGjBS,EAAAA,OAAO,EAAEmB,mBAAUC,MAAV,CAAiBE,UAHT;AAIjBrB,EAAAA,QAAQ,EAAEkB,mBAAUI,IAJH;AAKjBrB,EAAAA,aAAa,EAAEiB,mBAAUC,MALR;AAMjBjB,EAAAA,cAAc,EAAEgB,mBAAUC,MANT;AAOjBhB,EAAAA,SAAS,EAAEe,mBAAUI,IAPJ;AAQjBlB,EAAAA,SAAS,EAAEc,mBAAUK,IARJ;AASjBjB,EAAAA,KAAK,EAAEY,mBAAUI;AATA,CAAnB;eAYe1B,M","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 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(\n style.banner,\n type === 'error' && style.errorBanner,\n type === 'success' && style.successBanner,\n temporary && style.temporaryBanner\n )}\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={style.button}>\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 ? <div className={style.buttonsBar} /> : null}\n {secondCTALabel ? (\n <div className={style.button}>\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"}
1
+ {"version":3,"sources":["../../../src/molecule/banner/index.js"],"names":["ICONS","success","ValidateIcon","error","QuestionIcon","warning","STYLES","style","Banner","props","type","message","firstCTA","firstCTALabel","secondCTALabel","secondCTA","temporary","bannerKey","onEnd","Icon","banner","temporaryBanner","icon","temporaryIcon","button","buttonsBar","propTypes","PropTypes","string","oneOf","isRequired","func","bool"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAIA;;AACA;;;;AAEA,MAAMA,KAAK,GAAG;AACZC,EAAAA,OAAO,EAAEC,8CADG;AAEZC,EAAAA,KAAK,EAAEC,0DAFK;AAGZC,EAAAA,OAAO,EAAED;AAHG,CAAd;AAMA,MAAME,MAAM,GAAG;AACbL,EAAAA,OAAO,EAAEM,eAAMN,OADF;AAEbE,EAAAA,KAAK,EAAEI,eAAMJ,KAFA;AAGbE,EAAAA,OAAO,EAAEE,eAAMF;AAHF,CAAf;;AAMA,MAAMG,MAAM,GAAGC,KAAK,IAAI;AACtB,QAAM;AACJC,IAAAA,IADI;AAEJC,IAAAA,OAFI;AAGJC,IAAAA,QAHI;AAIJC,IAAAA,aAJI;AAKJC,IAAAA,cALI;AAMJC,IAAAA,SANI;AAOJC,IAAAA,SAPI;AAQJC,IAAAA,SARI;AASJC,IAAAA;AATI,MAUFT,KAVJ;AAWA,QAAMU,IAAI,GAAGnB,KAAK,CAACU,IAAD,CAAlB;AACA,sBACE;AACE,IAAA,GAAG,EAAEO,SADP;AAEE,IAAA,SAAS,EAAE,yBAAWV,eAAMa,MAAjB,EAAyBd,MAAM,CAACI,IAAD,CAA/B,EAAuCM,SAAS,IAAIT,eAAMc,eAA1D,CAFb;AAGE,IAAA,cAAc,EAAEH,KAHlB;AAIE,IAAA,KAAK,EAAEP;AAJT,kBAME;AAAK,iBAAY,GAAED,IAAK,iBAAxB;AAA0C,IAAA,SAAS,EAAEH,eAAMI;AAA3D,kBACE,6BAAC,IAAD;AAAM,IAAA,SAAS,EAAE,yBAAWJ,eAAMe,IAAjB,EAAuBN,SAAS,IAAIT,eAAMgB,aAA1C;AAAjB,IADF,EAEGZ,OAFH,CANF,EAUGE,aAAa,gBACZ;AAAK,IAAA,SAAS,EAAE,yBAAWN,eAAMiB,MAAjB,EAAyBlB,MAAM,CAACI,IAAD,CAA/B;AAAhB,kBACE,6BAAC,mBAAD;AACE,iBAAU,kBADZ;AAEE,kBAAYG,aAFd;AAGE,IAAA,KAAK,EAAEA,aAHT;AAIE,IAAA,OAAO,EAAED,QAJX;AAKE,IAAA,IAAI,EAAC;AALP,IADF,CADY,GAUV,IApBN,EAqBGC,aAAa,IAAIC,cAAjB,gBACC;AAAK,IAAA,SAAS,EAAE,yBAAWP,eAAMkB,UAAjB,EAA6BnB,MAAM,CAACI,IAAD,CAAnC;AAAhB,IADD,GAEG,IAvBN,EAwBGI,cAAc,gBACb;AAAK,IAAA,SAAS,EAAE,yBAAWP,eAAMiB,MAAjB,EAAyBlB,MAAM,CAACI,IAAD,CAA/B;AAAhB,kBACE,6BAAC,mBAAD;AACE,iBAAU,mBADZ;AAEE,IAAA,OAAO,EAAEK,SAFX;AAGE,kBAAYD,cAHd;AAIE,IAAA,KAAK,EAAEA,cAJT;AAKE,IAAA,IAAI,EAAC;AALP,IADF,CADa,GAUX,IAlCN,CADF;AAsCD,CAnDD;;AAqDAN,MAAM,CAACkB,SAAP,2CAAmB;AACjBT,EAAAA,SAAS,EAAEU,mBAAUC,MADJ;AAEjBlB,EAAAA,IAAI,EAAEiB,mBAAUE,KAAV,CAAgB,oBAAK7B,KAAL,CAAhB,CAFW;AAGjBW,EAAAA,OAAO,EAAEgB,mBAAUC,MAAV,CAAiBE,UAHT;AAIjBlB,EAAAA,QAAQ,EAAEe,mBAAUI,IAJH;AAKjBlB,EAAAA,aAAa,EAAEc,mBAAUC,MALR;AAMjBd,EAAAA,cAAc,EAAEa,mBAAUC,MANT;AAOjBb,EAAAA,SAAS,EAAEY,mBAAUI,IAPJ;AAQjBf,EAAAA,SAAS,EAAEW,mBAAUK,IARJ;AASjBd,EAAAA,KAAK,EAAES,mBAAUI;AATA,CAAnB;eAYevB,M","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
- .errorBanner {
46
+ .banner.error {
45
47
  background-color: cm_negative_50;
46
48
  color: cm_negative_200;
47
49
  }
48
- .successBanner {
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 :hover{
79
- color: cm_yellow_400;
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;
@@ -142,7 +142,7 @@ const Card = (0, _react.memo)(function Card(props, context) {
142
142
  image,
143
143
  badge,
144
144
  adaptiv,
145
- disabled = false,
145
+ disabled: hidden = false,
146
146
  type = 'course',
147
147
  title,
148
148
  author,
@@ -172,6 +172,7 @@ const Card = (0, _react.memo)(function Card(props, context) {
172
172
  const primaryColor = (0, _get2.default)('common.primary', skin);
173
173
  const whiteColor = (0, _get2.default)('common.white', skin);
174
174
  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);
175
+ const disabled = hidden && (!isSelected || (0, _isUndefined2.default)(isSelected));
175
176
  const handleClick = (0, _react.useMemo)(() => e => !disabled && onClick(e), [disabled, onClick]);
176
177
  const lock = disabled ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidLoginLocked, {
177
178
  className: _style.default.lockIcon,
@@ -218,6 +219,7 @@ const Card = (0, _react.memo)(function Card(props, context) {
218
219
  "aria-label": favoriteAriaLabel
219
220
  }) : null, /*#__PURE__*/_react.default.createElement(_selectable.default, {
220
221
  isSelected: isSelected,
222
+ hidden: hidden,
221
223
  "aria-label": selectableAriaLabel
222
224
  }), notification ? /*#__PURE__*/_react.default.createElement(_notification.default, notification) : null, customer ? /*#__PURE__*/_react.default.createElement(_customer.default, _extends({}, customer, {
223
225
  theme: theme,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/card/index.js"],"names":["THEMES","default","coorpmanager","style","CardBackground","type","image","empty","ariaLabel","skin","externalContent","primaryColor","whiteColor","EXTERNAL_CONTENT_ICONS","IconType","icon","iconColor","color","backgroundIcon","externalIconCircleWrapper","externalIcon","_backgroundIcon","externalIconCircleWithImageWrapper","backgroundColor","externalIconWithImage","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","chapterImageWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","bool","Card","props","context","badge","adaptiv","disabled","title","author","customer","certifiedAuthor","progress","favorite","addFavoriteToolTip","removeFavoriteToolTip","onClick","onFavoriteClick","isSelected","notification","badgeCategory","badgeLabel","theme","cardArialabel","backgroundAriaLabel","favoriteAriaLabel","selectableAriaLabel","customerAriaLabel","badgeAriaLabel","disabledArialabel","cardContentLabelAriaLabel","cardStyle","chapter","course","lazy","grid","handleClick","e","lock","lockIcon","inlineBadgeStyle","getType","contentType","MODES","CARD","lockWrapper","shape","Customer","number","func","Notification","CardContentInfo","oneOf","Favorite","Selectable"],"mappings":"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","sourcesContent":["import React, {useMemo, memo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, isUndefined, pick, keys} from 'lodash/fp';\nimport {\n NovaSolidLoginLocked as LockIcon,\n NovaCompositionCoorpacademyPictures as PicturesIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport CardContentInfo, {MODES} from '../card-content';\nimport Customer from './customer';\nimport Favorite from './favorite';\nimport Selectable from './selectable';\nimport Notification from './notification';\nimport style from './style.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst CardBackground = ({type, image, empty, 'aria-label': ariaLabel}, {skin}) => {\n const externalContent = isExternalContent(type);\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[type].color;\n const backgroundIcon = (\n <div className={style.externalIconCircleWrapper}>\n <IconType className={style.externalIcon} />\n </div>\n );\n\n if (image) {\n const _backgroundIcon = (\n <div\n className={classnames(\n style.externalIconCircleWrapper,\n style.externalIconCircleWithImageWrapper\n )}\n style={{\n backgroundColor: iconColor\n }}\n >\n <IconType className={style.externalIconWithImage} />\n </div>\n );\n\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor,\n backgroundImage: `url('${image}')`\n }}\n className={classnames(style.externalContentHeader, style.externalBackground)}\n >\n {_backgroundIcon}\n </div>\n </div>\n );\n }\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor\n }}\n className={style.externalContentHeader}\n >\n {backgroundIcon}\n </div>\n </div>\n );\n }\n\n const emptyIcon = empty ? <PicturesIcon className={style.emptyIcon} color={whiteColor} /> : null;\n return (\n <div\n className={classnames(\n style.imageWrapper,\n type === 'chapter' ? style.chapterImageWrapper : null\n )}\n >\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n className={style.image}\n style={{\n backgroundColor: primaryColor,\n backgroundImage: image ? `url('${image}')` : 'none'\n }}\n >\n {emptyIcon}\n </div>\n </div>\n );\n};\n\nCardBackground.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCardBackground.propTypes = {\n type: PropTypes.string,\n image: PropTypes.string,\n empty: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst Card = memo(function Card(props, context) {\n const {skin} = context;\n const {\n image,\n badge,\n adaptiv,\n disabled = false,\n type = 'course',\n title,\n author,\n customer,\n certifiedAuthor,\n progress,\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n onClick,\n onFavoriteClick,\n isSelected,\n notification,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': cardArialabel,\n 'background-aria-label': backgroundAriaLabel,\n 'favorite-aria-label': favoriteAriaLabel,\n 'selectable-aria-label': selectableAriaLabel,\n 'customer-aria-label': customerAriaLabel,\n 'badge-aria-label': badgeAriaLabel,\n 'disabled-aria-label': disabledArialabel,\n 'card-content-aria-label': cardContentLabelAriaLabel\n } = props;\n const empty = isEmpty(pick(['title', 'type', 'author', 'image'], props));\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n const cardStyle = classnames(\n THEMES[theme],\n type === 'chapter' ? style.chapter : style.course,\n title ? null : style.lazy,\n style.grid,\n empty ? style.empty : null\n );\n const handleClick = useMemo(() => e => !disabled && onClick(e), [disabled, onClick]);\n const lock = disabled ? (\n <LockIcon className={style.lockIcon} color={whiteColor} height={40} />\n ) : null;\n const inlineBadgeStyle = {color: primaryColor};\n const getType = contentType => {\n switch (contentType) {\n case 'chapter':\n return 'microlearning';\n case 'course':\n return 'learner';\n default:\n return contentType;\n }\n };\n\n return (\n <div\n className={cardStyle}\n data-name=\"card\"\n data-lock={disabled}\n data-type={getType(type)}\n disabled={disabled}\n onClick={handleClick}\n aria-label={cardArialabel}\n >\n <CardBackground type={type} image={image} empty={empty} aria-label={backgroundAriaLabel} />\n {isUndefined(isSelected) && !isUndefined(favorite) ? (\n <Favorite\n className={style.favorite}\n favorite={favorite}\n disabled={disabled}\n onFavoriteClick={onFavoriteClick}\n addFavoriteToolTip={addFavoriteToolTip}\n removeFavoriteToolTip={removeFavoriteToolTip}\n aria-label={favoriteAriaLabel}\n />\n ) : null}\n <Selectable isSelected={isSelected} aria-label={selectableAriaLabel} />\n {notification ? <Notification {...notification} /> : null}\n {customer ? (\n <Customer\n {...customer}\n theme={theme}\n type={type}\n disabled={disabled}\n aria-label={customerAriaLabel}\n />\n ) : null}\n <CardContentInfo\n mode={MODES.CARD}\n adaptiv={adaptiv}\n author={author}\n certifiedAuthor={certifiedAuthor}\n disabled={disabled}\n empty={empty}\n progress={progress}\n title={title}\n type={type}\n badgeCategory={badgeCategory}\n badgeLabel={badgeLabel}\n theme={theme}\n aria-label={cardContentLabelAriaLabel}\n />\n {badge ? (\n <div className={style.badge} style={inlineBadgeStyle} aria-label={badgeAriaLabel}>\n {badge}\n </div>\n ) : null}\n {disabled ? (\n <div className={style.lockWrapper} aria-label={disabledArialabel}>\n {lock}\n </div>\n ) : null}\n </div>\n );\n});\n\nCard.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCard.propTypes = {\n badge: PropTypes.string,\n image: PropTypes.string,\n disabled: PropTypes.bool,\n adaptiv: PropTypes.bool,\n type: PropTypes.string,\n title: PropTypes.string,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n customer: PropTypes.shape(Customer.propTypes),\n progress: PropTypes.number,\n favorite: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onClick: PropTypes.func,\n onFavoriteClick: PropTypes.func,\n isSelected: PropTypes.bool,\n notification: PropTypes.shape(Notification.propTypes),\n badgeCategory: CardContentInfo.propTypes.badgeCategory,\n badgeLabel: CardContentInfo.propTypes.badgeLabel,\n theme: PropTypes.oneOf(keys(THEMES)),\n 'aria-label': PropTypes.string,\n 'background-aria-label': PropTypes.string,\n 'favorite-aria-label': Favorite.propTypes['aria-label'],\n 'selectable-aria-label': Selectable.propTypes['aria-label'],\n 'customer-aria-label': Customer.propTypes['aria-label'],\n 'badge-aria-label': PropTypes.string,\n 'disabled-aria-label': PropTypes.string,\n 'card-content-aria-label': CardContentInfo.propTypes['aria-label']\n};\nexport default Card;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/card/index.js"],"names":["THEMES","default","coorpmanager","style","CardBackground","type","image","empty","ariaLabel","skin","externalContent","primaryColor","whiteColor","EXTERNAL_CONTENT_ICONS","IconType","icon","iconColor","color","backgroundIcon","externalIconCircleWrapper","externalIcon","_backgroundIcon","externalIconCircleWithImageWrapper","backgroundColor","externalIconWithImage","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","chapterImageWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","bool","Card","props","context","badge","adaptiv","disabled","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","MODES","CARD","lockWrapper","shape","Customer","number","func","Notification","CardContentInfo","oneOf","Favorite","Selectable"],"mappings":"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","sourcesContent":["import React, {useMemo, memo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, isUndefined, pick, keys} from 'lodash/fp';\nimport {\n NovaSolidLoginLocked as LockIcon,\n NovaCompositionCoorpacademyPictures as PicturesIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport CardContentInfo, {MODES} from '../card-content';\nimport Customer from './customer';\nimport Favorite from './favorite';\nimport Selectable from './selectable';\nimport Notification from './notification';\nimport style from './style.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst CardBackground = ({type, image, empty, 'aria-label': ariaLabel}, {skin}) => {\n const externalContent = isExternalContent(type);\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[type].color;\n const backgroundIcon = (\n <div className={style.externalIconCircleWrapper}>\n <IconType className={style.externalIcon} />\n </div>\n );\n\n if (image) {\n const _backgroundIcon = (\n <div\n className={classnames(\n style.externalIconCircleWrapper,\n style.externalIconCircleWithImageWrapper\n )}\n style={{\n backgroundColor: iconColor\n }}\n >\n <IconType className={style.externalIconWithImage} />\n </div>\n );\n\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor,\n backgroundImage: `url('${image}')`\n }}\n className={classnames(style.externalContentHeader, style.externalBackground)}\n >\n {_backgroundIcon}\n </div>\n </div>\n );\n }\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor\n }}\n className={style.externalContentHeader}\n >\n {backgroundIcon}\n </div>\n </div>\n );\n }\n\n const emptyIcon = empty ? <PicturesIcon className={style.emptyIcon} color={whiteColor} /> : null;\n return (\n <div\n className={classnames(\n style.imageWrapper,\n type === 'chapter' ? style.chapterImageWrapper : null\n )}\n >\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n className={style.image}\n style={{\n backgroundColor: primaryColor,\n backgroundImage: image ? `url('${image}')` : 'none'\n }}\n >\n {emptyIcon}\n </div>\n </div>\n );\n};\n\nCardBackground.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCardBackground.propTypes = {\n type: PropTypes.string,\n image: PropTypes.string,\n empty: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst Card = memo(function Card(props, context) {\n const {skin} = context;\n const {\n image,\n badge,\n adaptiv,\n disabled: 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
+ }