@coorpacademy/components 11.20.0 → 11.20.2-alpha.29

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 (156) hide show
  1. package/es/atom/title/style.css +1 -1
  2. package/{lib/molecule/uploading-file-progress → es/molecule/bulk-infos}/index.d.ts +7 -7
  3. package/es/molecule/bulk-infos/index.d.ts.map +1 -0
  4. package/es/molecule/bulk-infos/index.js +46 -0
  5. package/es/molecule/bulk-infos/index.js.map +1 -0
  6. package/es/molecule/{empty-state-dashboard → bulk-infos}/style.css +19 -2
  7. package/es/molecule/{uploading-file-progress → bulk-infos}/types.d.ts +10 -9
  8. package/es/molecule/bulk-infos/types.d.ts.map +1 -0
  9. package/es/molecule/{uploading-file-progress → bulk-infos}/types.js +3 -3
  10. package/es/molecule/bulk-infos/types.js.map +1 -0
  11. package/es/molecule/card/index.d.ts.map +1 -1
  12. package/es/molecule/card/index.js +6 -2
  13. package/es/molecule/card/index.js.map +1 -1
  14. package/es/molecule/card/style.css +2 -2
  15. package/es/molecule/cm-popin/index.d.ts +3 -0
  16. package/es/molecule/cm-popin/index.d.ts.map +1 -1
  17. package/es/molecule/cm-popin/index.js +39 -6
  18. package/es/molecule/cm-popin/index.js.map +1 -1
  19. package/es/molecule/cm-popin/style.css +29 -4
  20. package/es/molecule/cm-popin/types.d.ts +1 -0
  21. package/es/molecule/cm-popin/types.d.ts.map +1 -1
  22. package/es/molecule/cm-popin/types.js.map +1 -1
  23. package/es/organism/wizard-contents/index.d.ts +28 -0
  24. package/es/organism/wizard-contents/index.d.ts.map +1 -1
  25. package/es/organism/wizard-contents/index.js +9 -3
  26. package/es/organism/wizard-contents/index.js.map +1 -1
  27. package/es/organism/wizard-contents/style.css +1 -0
  28. package/es/template/back-office/brand-create/index.d.ts +24 -0
  29. package/es/template/back-office/brand-create/index.d.ts.map +1 -1
  30. package/es/template/back-office/brand-list/index.d.ts +24 -0
  31. package/es/template/back-office/brand-list/index.d.ts.map +1 -1
  32. package/es/template/back-office/brand-update/index.d.ts +3 -20
  33. package/es/template/back-office/brand-update/index.d.ts.map +1 -1
  34. package/es/template/back-office/brand-update/index.js +5 -12
  35. package/es/template/back-office/brand-update/index.js.map +1 -1
  36. package/es/template/back-office/dashboard-preview/index.d.ts +24 -0
  37. package/es/template/back-office/layout/index.d.ts +24 -0
  38. package/es/template/back-office/layout/index.d.ts.map +1 -1
  39. package/es/template/back-office/layout/index.js +5 -0
  40. package/es/template/back-office/layout/index.js.map +1 -1
  41. package/es/template/common/dashboard/index.d.ts.map +1 -1
  42. package/es/template/common/dashboard/index.js.map +1 -1
  43. package/es/template/common/search-page/index.d.ts.map +1 -1
  44. package/es/template/common/search-page/index.js +4 -2
  45. package/es/template/common/search-page/index.js.map +1 -1
  46. package/es/template/teams-dashboard/index.d.ts +24 -0
  47. package/es/template/teams-dashboard/index.d.ts.map +1 -1
  48. package/es/template/teams-dashboard/index.js +7 -3
  49. package/es/template/teams-dashboard/index.js.map +1 -1
  50. package/es/util/render-with-context.d.ts.map +1 -1
  51. package/es/util/render-with-context.js +3 -1
  52. package/es/util/render-with-context.js.map +1 -1
  53. package/lib/atom/title/style.css +1 -1
  54. package/{es/molecule/uploading-file-progress → lib/molecule/bulk-infos}/index.d.ts +7 -7
  55. package/lib/molecule/bulk-infos/index.d.ts.map +1 -0
  56. package/lib/molecule/{uploading-file-progress → bulk-infos}/index.js +27 -20
  57. package/lib/molecule/bulk-infos/index.js.map +1 -0
  58. package/lib/molecule/{empty-state-dashboard → bulk-infos}/style.css +19 -2
  59. package/lib/molecule/{uploading-file-progress → bulk-infos}/types.d.ts +10 -9
  60. package/lib/molecule/bulk-infos/types.d.ts.map +1 -0
  61. package/lib/molecule/{uploading-file-progress → bulk-infos}/types.js +3 -3
  62. package/lib/molecule/bulk-infos/types.js.map +1 -0
  63. package/lib/molecule/card/index.d.ts.map +1 -1
  64. package/lib/molecule/card/index.js +6 -2
  65. package/lib/molecule/card/index.js.map +1 -1
  66. package/lib/molecule/card/style.css +2 -2
  67. package/lib/molecule/cm-popin/index.d.ts +3 -0
  68. package/lib/molecule/cm-popin/index.d.ts.map +1 -1
  69. package/lib/molecule/cm-popin/index.js +44 -6
  70. package/lib/molecule/cm-popin/index.js.map +1 -1
  71. package/lib/molecule/cm-popin/style.css +29 -4
  72. package/lib/molecule/cm-popin/types.d.ts +1 -0
  73. package/lib/molecule/cm-popin/types.d.ts.map +1 -1
  74. package/lib/molecule/cm-popin/types.js.map +1 -1
  75. package/lib/organism/wizard-contents/index.d.ts +28 -0
  76. package/lib/organism/wizard-contents/index.d.ts.map +1 -1
  77. package/lib/organism/wizard-contents/index.js +10 -3
  78. package/lib/organism/wizard-contents/index.js.map +1 -1
  79. package/lib/organism/wizard-contents/style.css +1 -0
  80. package/lib/template/back-office/brand-create/index.d.ts +24 -0
  81. package/lib/template/back-office/brand-create/index.d.ts.map +1 -1
  82. package/lib/template/back-office/brand-list/index.d.ts +24 -0
  83. package/lib/template/back-office/brand-list/index.d.ts.map +1 -1
  84. package/lib/template/back-office/brand-update/index.d.ts +3 -20
  85. package/lib/template/back-office/brand-update/index.d.ts.map +1 -1
  86. package/lib/template/back-office/brand-update/index.js +6 -14
  87. package/lib/template/back-office/brand-update/index.js.map +1 -1
  88. package/lib/template/back-office/dashboard-preview/index.d.ts +24 -0
  89. package/lib/template/back-office/layout/index.d.ts +24 -0
  90. package/lib/template/back-office/layout/index.d.ts.map +1 -1
  91. package/lib/template/back-office/layout/index.js +6 -0
  92. package/lib/template/back-office/layout/index.js.map +1 -1
  93. package/lib/template/common/dashboard/index.d.ts.map +1 -1
  94. package/lib/template/common/dashboard/index.js.map +1 -1
  95. package/lib/template/common/search-page/index.d.ts.map +1 -1
  96. package/lib/template/common/search-page/index.js +8 -2
  97. package/lib/template/common/search-page/index.js.map +1 -1
  98. package/lib/template/teams-dashboard/index.d.ts +24 -0
  99. package/lib/template/teams-dashboard/index.d.ts.map +1 -1
  100. package/lib/template/teams-dashboard/index.js +8 -3
  101. package/lib/template/teams-dashboard/index.js.map +1 -1
  102. package/lib/util/render-with-context.d.ts.map +1 -1
  103. package/lib/util/render-with-context.js +3 -1
  104. package/lib/util/render-with-context.js.map +1 -1
  105. package/locales/bs/global.json +3 -3
  106. package/locales/cs/global.json +3 -3
  107. package/locales/de/global.json +3 -3
  108. package/locales/es/global.json +2 -2
  109. package/locales/hr/global.json +3 -3
  110. package/locales/hu/global.json +3 -3
  111. package/locales/hy/global.json +3 -3
  112. package/locales/it/global.json +3 -3
  113. package/locales/ja/global.json +3 -3
  114. package/locales/ko/global.json +3 -3
  115. package/locales/nl/global.json +3 -3
  116. package/locales/pl/global.json +3 -3
  117. package/locales/pt/global.json +3 -3
  118. package/locales/ro/global.json +3 -3
  119. package/locales/ru/global.json +3 -3
  120. package/locales/sk/global.json +3 -3
  121. package/locales/th/global.json +3 -3
  122. package/locales/tl/global.json +3 -3
  123. package/locales/tr/global.json +3 -3
  124. package/locales/uk/global.json +4 -4
  125. package/locales/vi/global.json +3 -3
  126. package/locales/zh/global.json +3 -3
  127. package/locales/zh_TW/global.json +3 -3
  128. package/package.json +2 -2
  129. package/es/molecule/empty-state-dashboard/index.d.ts +0 -23
  130. package/es/molecule/empty-state-dashboard/index.d.ts.map +0 -1
  131. package/es/molecule/empty-state-dashboard/index.js +0 -31
  132. package/es/molecule/empty-state-dashboard/index.js.map +0 -1
  133. package/es/molecule/empty-state-dashboard/types.d.ts +0 -27
  134. package/es/molecule/empty-state-dashboard/types.d.ts.map +0 -1
  135. package/es/molecule/empty-state-dashboard/types.js +0 -19
  136. package/es/molecule/empty-state-dashboard/types.js.map +0 -1
  137. package/es/molecule/uploading-file-progress/index.d.ts.map +0 -1
  138. package/es/molecule/uploading-file-progress/index.js +0 -39
  139. package/es/molecule/uploading-file-progress/index.js.map +0 -1
  140. package/es/molecule/uploading-file-progress/style.css +0 -74
  141. package/es/molecule/uploading-file-progress/types.d.ts.map +0 -1
  142. package/es/molecule/uploading-file-progress/types.js.map +0 -1
  143. package/lib/molecule/empty-state-dashboard/index.d.ts +0 -23
  144. package/lib/molecule/empty-state-dashboard/index.d.ts.map +0 -1
  145. package/lib/molecule/empty-state-dashboard/index.js +0 -42
  146. package/lib/molecule/empty-state-dashboard/index.js.map +0 -1
  147. package/lib/molecule/empty-state-dashboard/types.d.ts +0 -27
  148. package/lib/molecule/empty-state-dashboard/types.d.ts.map +0 -1
  149. package/lib/molecule/empty-state-dashboard/types.js +0 -29
  150. package/lib/molecule/empty-state-dashboard/types.js.map +0 -1
  151. package/lib/molecule/uploading-file-progress/index.d.ts.map +0 -1
  152. package/lib/molecule/uploading-file-progress/index.js.map +0 -1
  153. package/lib/molecule/uploading-file-progress/style.css +0 -74
  154. package/lib/molecule/uploading-file-progress/types.d.ts.map +0 -1
  155. package/lib/molecule/uploading-file-progress/types.js.map +0 -1
  156. package/locales/.mtslconfig.json +0 -1
@@ -58,7 +58,7 @@
58
58
 
59
59
  .smallSubtitleFormGroup{
60
60
  composes: subtitleFormGroup;
61
- max-width: 450px
61
+ max-width: 455px;
62
62
  }
63
63
 
64
64
  .smallSubtitleFormGroupWithoutMargin{
@@ -1,13 +1,13 @@
1
1
  /// <reference types="react" />
2
- import { UploadingFileProgressProps as Props } from './types';
3
- declare const UploadingFileProgress: {
4
- ({ mainText, subText, progressionValue, leftButtonLink, rightButtonLink }: Props): JSX.Element;
2
+ import { BulkInfosProps as Props } from './types';
3
+ declare const BulkInfos: {
4
+ ({ mainText, subText, imageUrl, progression, firstButtonLink, secondButtonLink }: Props): JSX.Element;
5
5
  propTypes: {
6
6
  mainText: import("prop-types").Requireable<string>;
7
7
  subText: import("prop-types").Requireable<string>;
8
8
  imageUrl: import("prop-types").Requireable<any>;
9
- progressionValue: import("prop-types").Requireable<number>;
10
- leftButtonLink: import("prop-types").Requireable<import("prop-types").InferProps<{
9
+ progression: import("prop-types").Requireable<number>;
10
+ firstButtonLink: import("prop-types").Requireable<import("prop-types").InferProps<{
11
11
  type: import("prop-types").Requireable<string>;
12
12
  label: import("prop-types").Requireable<string>;
13
13
  ariaLabel: import("prop-types").Requireable<string>;
@@ -18,7 +18,7 @@ declare const UploadingFileProgress: {
18
18
  }>>;
19
19
  onClick: import("prop-types").Requireable<(...args: any[]) => any>;
20
20
  }>>;
21
- rightButtonLink: import("prop-types").Requireable<import("prop-types").InferProps<{
21
+ secondButtonLink: import("prop-types").Requireable<import("prop-types").InferProps<{
22
22
  type: import("prop-types").Requireable<string>;
23
23
  label: import("prop-types").Requireable<string>;
24
24
  ariaLabel: import("prop-types").Requireable<string>;
@@ -31,5 +31,5 @@ declare const UploadingFileProgress: {
31
31
  }>>;
32
32
  };
33
33
  };
34
- export default UploadingFileProgress;
34
+ export default BulkInfos;
35
35
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/bulk-infos/index.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAC,cAAc,IAAI,KAAK,EAAY,MAAM,SAAS,CAAC;AAE3D,QAAA,MAAM,SAAS;sFAOZ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BP,CAAC;AAIF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,46 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import React from 'react';
4
+ import ButtonLink from '../../atom/button-link';
5
+ import Loader from '../../atom/loader';
6
+ import style from './style.css';
7
+ import { propTypes } from './types';
8
+
9
+ const BulkInfos = ({
10
+ mainText,
11
+ subText,
12
+ imageUrl,
13
+ progression,
14
+ firstButtonLink,
15
+ secondButtonLink
16
+ }) => /*#__PURE__*/React.createElement("div", {
17
+ className: style.container
18
+ }, /*#__PURE__*/React.createElement("div", {
19
+ className: style.header
20
+ }, imageUrl && typeof imageUrl === 'string' ? /*#__PURE__*/React.createElement("img", {
21
+ className: style.img,
22
+ src: imageUrl,
23
+ "aria-hidden": "true"
24
+ }) : null, progression !== undefined ? /*#__PURE__*/React.createElement("div", {
25
+ className: style.loader
26
+ }, /*#__PURE__*/React.createElement(Loader, {
27
+ theme: "coorpmanager"
28
+ })) : null), /*#__PURE__*/React.createElement("p", {
29
+ className: style.mainText
30
+ }, `${mainText} ${progression !== undefined ? `${progression}%` : ''}`), /*#__PURE__*/React.createElement("p", {
31
+ className: style.subText
32
+ }, subText), /*#__PURE__*/React.createElement("div", {
33
+ className: style.buttonsContainer
34
+ }, firstButtonLink ? /*#__PURE__*/React.createElement("div", {
35
+ className: style.buttonContainer
36
+ }, /*#__PURE__*/React.createElement(ButtonLink, _extends({}, firstButtonLink, {
37
+ className: style.button
38
+ }))) : null, secondButtonLink ? /*#__PURE__*/React.createElement("div", {
39
+ className: style.buttonContainer
40
+ }, /*#__PURE__*/React.createElement(ButtonLink, _extends({}, secondButtonLink, {
41
+ className: style.button
42
+ }))) : null));
43
+
44
+ BulkInfos.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
45
+ export default BulkInfos;
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","ButtonLink","Loader","style","propTypes","BulkInfos","mainText","subText","imageUrl","progression","firstButtonLink","secondButtonLink","container","header","img","undefined","loader","buttonsContainer","buttonContainer","button"],"sources":["../../../src/molecule/bulk-infos/index.tsx"],"sourcesContent":["import React from 'react';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport style from './style.css';\nimport {BulkInfosProps as Props, propTypes} from './types';\n\nconst BulkInfos = ({\n mainText,\n subText,\n imageUrl,\n progression,\n firstButtonLink,\n secondButtonLink\n}: Props) => (\n <div className={style.container}>\n <div className={style.header}>\n {imageUrl && typeof imageUrl === 'string' ? (\n <img className={style.img} src={imageUrl} aria-hidden=\"true\" />\n ) : null}\n {progression !== undefined ? (\n <div className={style.loader}>\n <Loader theme=\"coorpmanager\" />\n </div>\n ) : null}\n </div>\n <p className={style.mainText}>\n {`${mainText} ${progression !== undefined ? `${progression}%` : ''}`}\n </p>\n <p className={style.subText}>{subText}</p>\n <div className={style.buttonsContainer}>\n {firstButtonLink ? (\n <div className={style.buttonContainer}>\n <ButtonLink {...firstButtonLink} className={style.button} />\n </div>\n ) : null}\n {secondButtonLink ? (\n <div className={style.buttonContainer}>\n <ButtonLink {...secondButtonLink} className={style.button} />\n </div>\n ) : null}\n </div>\n </div>\n);\n\nBulkInfos.propTypes = propTypes;\n\nexport default BulkInfos;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,SAAiCC,SAAjC,QAAiD,SAAjD;;AAEA,MAAMC,SAAS,GAAG,CAAC;EACjBC,QADiB;EAEjBC,OAFiB;EAGjBC,QAHiB;EAIjBC,WAJiB;EAKjBC,eALiB;EAMjBC;AANiB,CAAD,kBAQhB;EAAK,SAAS,EAAER,KAAK,CAACS;AAAtB,gBACE;EAAK,SAAS,EAAET,KAAK,CAACU;AAAtB,GACGL,QAAQ,IAAI,OAAOA,QAAP,KAAoB,QAAhC,gBACC;EAAK,SAAS,EAAEL,KAAK,CAACW,GAAtB;EAA2B,GAAG,EAAEN,QAAhC;EAA0C,eAAY;AAAtD,EADD,GAEG,IAHN,EAIGC,WAAW,KAAKM,SAAhB,gBACC;EAAK,SAAS,EAAEZ,KAAK,CAACa;AAAtB,gBACE,oBAAC,MAAD;EAAQ,KAAK,EAAC;AAAd,EADF,CADD,GAIG,IARN,CADF,eAWE;EAAG,SAAS,EAAEb,KAAK,CAACG;AAApB,GACI,GAAEA,QAAS,IAAGG,WAAW,KAAKM,SAAhB,GAA6B,GAAEN,WAAY,GAA3C,GAAgD,EAAG,EADrE,CAXF,eAcE;EAAG,SAAS,EAAEN,KAAK,CAACI;AAApB,GAA8BA,OAA9B,CAdF,eAeE;EAAK,SAAS,EAAEJ,KAAK,CAACc;AAAtB,GACGP,eAAe,gBACd;EAAK,SAAS,EAAEP,KAAK,CAACe;AAAtB,gBACE,oBAAC,UAAD,eAAgBR,eAAhB;EAAiC,SAAS,EAAEP,KAAK,CAACgB;AAAlD,GADF,CADc,GAIZ,IALN,EAMGR,gBAAgB,gBACf;EAAK,SAAS,EAAER,KAAK,CAACe;AAAtB,gBACE,oBAAC,UAAD,eAAgBP,gBAAhB;EAAkC,SAAS,EAAER,KAAK,CAACgB;AAAnD,GADF,CADe,GAIb,IAVN,CAfF,CARF;;AAsCAd,SAAS,CAACD,SAAV,2CAAsBA,SAAtB;AAEA,eAAeC,SAAf"}
@@ -18,6 +18,18 @@
18
18
  width: 220px;
19
19
  }
20
20
 
21
+ .header {
22
+ display: flex;
23
+ justify-content: center;
24
+ }
25
+
26
+ .loader {
27
+ height: 40px;
28
+ width: 40px;
29
+ position: relative;
30
+ left: -20px;
31
+ }
32
+
21
33
  .text {
22
34
  font-family: 'Gilroy';
23
35
  margin: 0 auto 0 auto;
@@ -42,14 +54,19 @@
42
54
  ;
43
55
  }
44
56
 
57
+ .buttonsContainer {
58
+ display: flex;
59
+ justify-content: center;
60
+ gap: 10px;
61
+ }
62
+
45
63
  .buttonContainer {
46
64
  display: flex;
47
65
  justify-content: center;
48
66
  padding-top: 32px;
49
- width: 100%;
50
67
  }
51
68
 
52
69
  .button {
53
- width: 152px;
70
+ max-width: 170px;
54
71
  height: 44px;
55
72
  }
@@ -5,8 +5,8 @@ export declare const propTypes: {
5
5
  mainText: PropTypes.Requireable<string>;
6
6
  subText: PropTypes.Requireable<string>;
7
7
  imageUrl: PropTypes.Requireable<any>;
8
- progressionValue: PropTypes.Requireable<number>;
9
- leftButtonLink: PropTypes.Requireable<PropTypes.InferProps<{
8
+ progression: PropTypes.Requireable<number>;
9
+ firstButtonLink: PropTypes.Requireable<PropTypes.InferProps<{
10
10
  type: PropTypes.Requireable<string>;
11
11
  label: PropTypes.Requireable<string>;
12
12
  ariaLabel: PropTypes.Requireable<string>;
@@ -17,7 +17,7 @@ export declare const propTypes: {
17
17
  }>>;
18
18
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
19
19
  }>>;
20
- rightButtonLink: PropTypes.Requireable<PropTypes.InferProps<{
20
+ secondButtonLink: PropTypes.Requireable<PropTypes.InferProps<{
21
21
  type: PropTypes.Requireable<string>;
22
22
  label: PropTypes.Requireable<string>;
23
23
  ariaLabel: PropTypes.Requireable<string>;
@@ -29,12 +29,13 @@ export declare const propTypes: {
29
29
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
30
30
  }>>;
31
31
  };
32
- export declare type UploadingFileProgressProps = {
33
- mainText?: string;
34
- subText?: string;
32
+ export declare type BulkInfosProps = {
33
+ mainText: string;
34
+ subText: string;
35
35
  imageUrl?: PropTypes.InferProps<typeof Picture.propTypes.src>;
36
- progressionValue?: number;
37
- leftButtonLink?: ButtonLinkProps;
38
- rightButtonLink?: ButtonLinkProps;
36
+ progression?: number;
37
+ firstButtonLink?: ButtonLinkProps;
38
+ secondButtonLink?: ButtonLinkProps;
39
39
  };
40
+ export declare type Props = PropTypes.InferProps<typeof propTypes>;
40
41
  //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/bulk-infos/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BrB,CAAC;AAEF,oBAAY,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,gBAAgB,CAAC,EAAE,eAAe,CAAC;CACpC,CAAC;AAEF,oBAAY,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC"}
@@ -4,8 +4,8 @@ export const propTypes = {
4
4
  mainText: PropTypes.string,
5
5
  subText: PropTypes.string,
6
6
  imageUrl: Picture.propTypes.src,
7
- progressionValue: PropTypes.number,
8
- leftButtonLink: PropTypes.shape({
7
+ progression: PropTypes.number,
8
+ firstButtonLink: PropTypes.shape({
9
9
  type: PropTypes.string,
10
10
  label: PropTypes.string,
11
11
  ariaLabel: PropTypes.string,
@@ -16,7 +16,7 @@ export const propTypes = {
16
16
  }),
17
17
  onClick: PropTypes.func
18
18
  }),
19
- rightButtonLink: PropTypes.shape({
19
+ secondButtonLink: PropTypes.shape({
20
20
  type: PropTypes.string,
21
21
  label: PropTypes.string,
22
22
  ariaLabel: PropTypes.string,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":["PropTypes","Picture","propTypes","mainText","string","subText","imageUrl","src","progression","number","firstButtonLink","shape","type","label","ariaLabel","dataName","icon","position","onClick","func","secondButtonLink"],"sources":["../../../src/molecule/bulk-infos/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\nimport {ButtonLinkProps} from '../../atom/button-link/types';\nimport Picture from '../../atom/picture';\n\nexport const propTypes = {\n mainText: PropTypes.string,\n subText: PropTypes.string,\n imageUrl: Picture.propTypes.src,\n progression: PropTypes.number,\n firstButtonLink: PropTypes.shape({\n type: PropTypes.string,\n label: PropTypes.string,\n ariaLabel: PropTypes.string,\n dataName: PropTypes.string,\n icon: PropTypes.shape({\n position: PropTypes.string,\n type: PropTypes.string\n }),\n onClick: PropTypes.func\n }),\n secondButtonLink: PropTypes.shape({\n type: PropTypes.string,\n label: PropTypes.string,\n ariaLabel: PropTypes.string,\n dataName: PropTypes.string,\n icon: PropTypes.shape({\n position: PropTypes.string,\n type: PropTypes.string\n }),\n onClick: PropTypes.func\n })\n};\n\nexport type BulkInfosProps = {\n mainText: string;\n subText: string;\n imageUrl?: PropTypes.InferProps<typeof Picture.propTypes.src>;\n progression?: number;\n firstButtonLink?: ButtonLinkProps;\n secondButtonLink?: ButtonLinkProps;\n};\n\nexport type Props = PropTypes.InferProps<typeof propTypes>;\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,OAAOC,OAAP,MAAoB,oBAApB;AAEA,OAAO,MAAMC,SAAS,GAAG;EACvBC,QAAQ,EAAEH,SAAS,CAACI,MADG;EAEvBC,OAAO,EAAEL,SAAS,CAACI,MAFI;EAGvBE,QAAQ,EAAEL,OAAO,CAACC,SAAR,CAAkBK,GAHL;EAIvBC,WAAW,EAAER,SAAS,CAACS,MAJA;EAKvBC,eAAe,EAAEV,SAAS,CAACW,KAAV,CAAgB;IAC/BC,IAAI,EAAEZ,SAAS,CAACI,MADe;IAE/BS,KAAK,EAAEb,SAAS,CAACI,MAFc;IAG/BU,SAAS,EAAEd,SAAS,CAACI,MAHU;IAI/BW,QAAQ,EAAEf,SAAS,CAACI,MAJW;IAK/BY,IAAI,EAAEhB,SAAS,CAACW,KAAV,CAAgB;MACpBM,QAAQ,EAAEjB,SAAS,CAACI,MADA;MAEpBQ,IAAI,EAAEZ,SAAS,CAACI;IAFI,CAAhB,CALyB;IAS/Bc,OAAO,EAAElB,SAAS,CAACmB;EATY,CAAhB,CALM;EAgBvBC,gBAAgB,EAAEpB,SAAS,CAACW,KAAV,CAAgB;IAChCC,IAAI,EAAEZ,SAAS,CAACI,MADgB;IAEhCS,KAAK,EAAEb,SAAS,CAACI,MAFe;IAGhCU,SAAS,EAAEd,SAAS,CAACI,MAHW;IAIhCW,QAAQ,EAAEf,SAAS,CAACI,MAJY;IAKhCY,IAAI,EAAEhB,SAAS,CAACW,KAAV,CAAgB;MACpBM,QAAQ,EAAEjB,SAAS,CAACI,MADA;MAEpBQ,IAAI,EAAEZ,SAAS,CAACI;IAFI,CAAhB,CAL0B;IAShCc,OAAO,EAAElB,SAAS,CAACmB;EATa,CAAhB;AAhBK,CAAlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/index.js"],"names":[],"mappings":";;;;;AAuPA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BE;;;AA9JF,uDA0HG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/card/index.js"],"names":[],"mappings":";;;;;AA2PA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BE;;;AAlKF,uDA8HG"}
@@ -160,8 +160,12 @@ const Card = /*#__PURE__*/memo(function Card(props, context) {
160
160
  className: style.lockIcon,
161
161
  height: 48
162
162
  }), /*#__PURE__*/React.createElement("span", {
163
- "aria-label": disabledArialabel
164
- }, disabledContent)) : null;
163
+ "aria-label": disabledArialabel // eslint-disable-next-line react/no-danger
164
+ ,
165
+ dangerouslySetInnerHTML: {
166
+ __html: disabledContent
167
+ }
168
+ })) : null;
165
169
  const inlineBadgeStyle = {
166
170
  color: primaryColor
167
171
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","memo","PropTypes","classnames","NovaCompositionCoorpacademyPadlock","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","disabledContent","cardArialabel","backgroundAriaLabel","favoriteAriaLabel","selectableAriaLabel","customerAriaLabel","badgeAriaLabel","disabledArialabel","cardContentLabelAriaLabel","cardStyle","chapter","course","lazy","grid","handleClick","e","lock","lockContent","lockIcon","inlineBadgeStyle","getType","contentType","CARD","lockWrapper","cardPropTypes","shape","number","func","oneOf"],"sources":["../../../src/molecule/card/index.js"],"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 NovaCompositionCoorpacademyPadlock 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 ? (\n <PicturesIcon className={style.emptyIcon} style={{color: whiteColor}} />\n ) : 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 disabledContent,\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 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 => onClick(e), [onClick]);\n const lock = disabled ? (\n <div className={style.lockContent}>\n <LockIcon className={style.lockIcon} height={48} />\n <span aria-label={disabledArialabel}>{disabledContent}</span>\n </div>\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\nexport const cardPropTypes = {\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 disabledContent: PropTypes.string,\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};\n\nCard.propTypes = cardPropTypes;\n\nexport default Card;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","memo","PropTypes","classnames","NovaCompositionCoorpacademyPadlock","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","disabledContent","cardArialabel","backgroundAriaLabel","favoriteAriaLabel","selectableAriaLabel","customerAriaLabel","badgeAriaLabel","disabledArialabel","cardContentLabelAriaLabel","cardStyle","chapter","course","lazy","grid","handleClick","e","lock","lockContent","lockIcon","__html","inlineBadgeStyle","getType","contentType","CARD","lockWrapper","cardPropTypes","shape","number","func","oneOf"],"sources":["../../../src/molecule/card/index.js"],"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 NovaCompositionCoorpacademyPadlock 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 ? (\n <PicturesIcon className={style.emptyIcon} style={{color: whiteColor}} />\n ) : 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 disabledContent,\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 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 => onClick(e), [onClick]);\n const lock = disabled ? (\n <div className={style.lockContent}>\n <LockIcon className={style.lockIcon} height={48} />\n <span\n aria-label={disabledArialabel}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: disabledContent}}\n />\n </div>\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\nexport const cardPropTypes = {\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 disabledContent: PropTypes.string,\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};\n\nCard.propTypes = cardPropTypes;\n\nexport default Card;\n"],"mappings":"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"}
@@ -206,7 +206,7 @@
206
206
 
207
207
  .lockWrapper:hover span {
208
208
  font-weight: 600;
209
- width: 150px;
209
+ width: 185px;
210
210
  }
211
211
 
212
212
  .lockContent {
@@ -217,7 +217,7 @@
217
217
  }
218
218
 
219
219
  .lockContent span {
220
- width: 134px;
220
+ width: 174px;
221
221
  height: 40px;
222
222
  color: white;
223
223
  text-align: center;
@@ -2,6 +2,9 @@ export default CMPopin;
2
2
  declare function CMPopin(props: any): JSX.Element;
3
3
  declare namespace CMPopin {
4
4
  export { propTypes };
5
+ export namespace contextTypes {
6
+ const translate: import("prop-types").Requireable<(...args: any[]) => any>;
7
+ }
5
8
  }
6
9
  import propTypes from "./types";
7
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/cm-popin/index.js"],"names":[],"mappings":";AA+BA,kDAwOC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/cm-popin/index.js"],"names":[],"mappings":";AAgCA,kDAgQC"}
@@ -1,8 +1,9 @@
1
- import React from 'react';
1
+ import React, { useRef, useEffect, useMemo } from 'react';
2
2
  import { NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond, NovaSolidApplicationsWindowUpload3 as WindowUpload, NovaLineSettingsCookie as Cookie, NovaSolidSpaceMoonRocket as MoonRocket, NovaCompositionCoorpacademyPadlock as LockIcon, NovaLineStatusCheckCircle1 as CheckCircle1, NovaSolidFilesBasicFileLines as FileLinesIcon } from '@coorpacademy/nova-icons';
3
3
  import map from 'lodash/fp/map';
4
4
  import isEmpty from 'lodash/fp/isEmpty';
5
5
  import classNames from 'classnames';
6
+ import Provider from '../../atom/provider';
6
7
  import Cta from '../../atom/button-link';
7
8
  import ButtonLinkIconOnly from '../../atom/button-link-icon-only';
8
9
  import InputSwitch from '../../atom/input-switch';
@@ -50,6 +51,32 @@ const CMPopin = props => {
50
51
  backgroundImage: `url(${backgroundImageUrl})`,
51
52
  backgroundSize: 'cover'
52
53
  } : null;
54
+ const handleCloseButton = useMemo(() => () => onClose(), [onClose]);
55
+ const nodeRef = useRef(null);
56
+ useEffect(() => {
57
+ if (mode === 'items') {
58
+ const closePopin = e => {
59
+ if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {
60
+ handleCloseButton();
61
+ }
62
+ };
63
+
64
+ const handleKeyDown = e => {
65
+ if (e?.key === 'Escape') {
66
+ handleCloseButton();
67
+ }
68
+ };
69
+
70
+ document.addEventListener('click', closePopin);
71
+ document.addEventListener('touchstart', closePopin);
72
+ document.addEventListener('keydown', handleKeyDown);
73
+ return () => {
74
+ document.removeEventListener('click', closePopin);
75
+ document.removeEventListener('touchstart', closePopin);
76
+ document.removeEventListener('keydown', handleKeyDown);
77
+ };
78
+ }
79
+ }, [handleCloseButton, mode, onClose]);
53
80
 
54
81
  const renderHeader = () => {
55
82
  if (header) {
@@ -144,22 +171,25 @@ const CMPopin = props => {
144
171
  return null;
145
172
  };
146
173
 
147
- const wrapperPopinStyle = classNames(mode === 'cookie' && style.popinCookie, mode === 'list' && style.popinFilesList, style.popin);
174
+ const wrapperPopinStyle = classNames(mode === 'cookie' && style.popinCookie, mode === 'list' && style.popinFilesList, mode === 'items' && style.popinItems, style.popin);
148
175
  return /*#__PURE__*/React.createElement("div", {
149
176
  className: mode !== 'cookie' ? style.background : null,
150
177
  style: backgroundImageStyle,
151
178
  "data-name": 'cm-popin-container'
152
179
  }, /*#__PURE__*/React.createElement("div", {
153
- className: wrapperPopinStyle
180
+ className: wrapperPopinStyle,
181
+ ref: nodeRef
154
182
  }, /*#__PURE__*/React.createElement("header", {
155
183
  className: style.popinHeader
156
- }, renderHeader(), onClose ? /*#__PURE__*/React.createElement(ButtonLinkIconOnly, {
157
- onClick: onClose,
184
+ }, renderHeader(), onClose ? /*#__PURE__*/React.createElement("div", {
185
+ className: style.onCloseButton
186
+ }, /*#__PURE__*/React.createElement(ButtonLinkIconOnly, {
187
+ onClick: handleCloseButton,
158
188
  "data-name": 'close-icon',
159
189
  "aria-label": 'close-icon',
160
190
  size: "small",
161
191
  icon: "close"
162
- }) : null), mode !== 'items' && mode !== 'list' ? /*#__PURE__*/React.createElement("div", {
192
+ })) : null), mode !== 'items' && mode !== 'list' ? /*#__PURE__*/React.createElement("div", {
163
193
  className: mode === 'cookie' || mode === 'information' ? style.cookieTitleContainer : style.titleContainer
164
194
  }, /*#__PURE__*/React.createElement("div", {
165
195
  className: style.contentSection
@@ -213,5 +243,8 @@ const CMPopin = props => {
213
243
  };
214
244
 
215
245
  CMPopin.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
246
+ CMPopin.contextTypes = {
247
+ translate: Provider.childContextTypes.translate
248
+ };
216
249
  export default CMPopin;
217
250
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","AlertDiamond","NovaSolidApplicationsWindowUpload3","WindowUpload","NovaLineSettingsCookie","Cookie","NovaSolidSpaceMoonRocket","MoonRocket","NovaCompositionCoorpacademyPadlock","LockIcon","NovaLineStatusCheckCircle1","CheckCircle1","NovaSolidFilesBasicFileLines","FileLinesIcon","map","isEmpty","classNames","Cta","ButtonLinkIconOnly","InputSwitch","Title","CardsGrid","ListItems","style","propTypes","IconType","lockedContent","lockIcon","fileZipped","filesListIconContainer","filesListIcon","CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","items","logo","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","renderHeader","title","headerIcon","TopTitleIcon","headerContent","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","convert","cap","el","type","value","onChange","titlePosition","theme","details","requiredSelection","disabled","id","dataName","renderItems","list","itemsContainer","filesListContainer","wrapperPopinStyle","popinCookie","popinFilesList","popin","background","popinHeader","cookieTitleContainer","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","customStyle"],"sources":["../../../src/molecule/cm-popin/index.js"],"sourcesContent":["import React from 'react';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload,\n NovaLineSettingsCookie as Cookie,\n NovaSolidSpaceMoonRocket as MoonRocket,\n NovaCompositionCoorpacademyPadlock as LockIcon,\n NovaLineStatusCheckCircle1 as CheckCircle1,\n NovaSolidFilesBasicFileLines as FileLinesIcon\n} from '@coorpacademy/nova-icons';\nimport map from 'lodash/fp/map';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport classNames from 'classnames';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport InputSwitch from '../../atom/input-switch';\nimport Title from '../../atom/title';\nimport CardsGrid from '../../organism/cards-grid';\nimport ListItems from '../../organism/list-items';\nimport style from './style.css';\nimport propTypes from './types';\n\nconst IconType = {\n lockedContent: <LockIcon className={style.lockIcon} />,\n fileZipped: (\n <div className={style.filesListIconContainer}>\n <FileLinesIcon className={style.filesListIcon} />\n </div>\n )\n};\n\nconst CMPopin = props => {\n const {\n content,\n mode = 'alert',\n firstButton,\n secondButton,\n onClose,\n header,\n icon,\n backgroundImageUrl,\n descriptionText,\n thirdButton,\n cookieTitle,\n descriptionBtnTxt,\n listBtnSwicth,\n items\n } = props;\n const logo = {\n AlertDiamond,\n WindowUpload,\n MoonRocket,\n CheckCircle1\n };\n const LogoComponent = logo[icon];\n\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`,\n backgroundSize: 'cover'\n }\n : null;\n\n const renderHeader = () => {\n if (header) {\n const {title, headerIcon, backgroundImage} = header;\n const TopTitleIcon = IconType[headerIcon];\n\n return (\n <>\n {title ? (\n <div className={style.headerContent}>\n {TopTitleIcon}\n <Title {...title} />\n </div>\n ) : null}\n {backgroundImage ? (\n <img className={style.headerBackground} src={backgroundImage} />\n ) : null}\n </>\n );\n }\n\n if (mode === 'cookie')\n return (\n <div className={style.cookieHeader}>\n <div className={style.cookieIconContainer}>\n <Cookie className={style.cookieIcon} />\n </div>\n <div className={style.cookieTitle}>{cookieTitle}</div>\n </div>\n );\n\n return null;\n };\n\n const getClassBtnSwitch = (index, btnList) => {\n switch (index) {\n case 0:\n return style.firstBtnSwitchContainer;\n case btnList.length - 1:\n return style.lastBtnSwitchContainer;\n default:\n return style.singleSwitchContainer;\n }\n };\n\n const renderBtnSwitch = () => {\n return map.convert({cap: false})((el, index) => {\n const {\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n } = el;\n return (\n <div key={index} className={getClassBtnSwitch(index, listBtnSwicth)}>\n <InputSwitch\n {...{\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n }}\n />\n </div>\n );\n })(listBtnSwicth);\n };\n\n const renderItems = () => {\n const {type, list} = items;\n if (isEmpty(list)) return null;\n\n if (type === 'content')\n return (\n <div className={style.itemsContainer} data-name={'cm-popin-cards'}>\n <CardsGrid {...list} />\n </div>\n );\n if (type === 'list')\n return (\n <div className={style.filesListContainer}>\n <ListItems {...list} />\n </div>\n );\n\n return null;\n };\n\n const wrapperPopinStyle = classNames(\n mode === 'cookie' && style.popinCookie,\n mode === 'list' && style.popinFilesList,\n style.popin\n );\n\n return (\n <div\n className={mode !== 'cookie' ? style.background : null}\n style={backgroundImageStyle}\n data-name={'cm-popin-container'}\n >\n <div className={wrapperPopinStyle}>\n <header className={style.popinHeader}>\n {renderHeader()}\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 {mode !== 'items' && mode !== 'list' ? (\n <div\n className={\n mode === 'cookie' || mode === 'information'\n ? style.cookieTitleContainer\n : style.titleContainer\n }\n >\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 {descriptionText ? (\n <p\n className={style.descriptionText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: descriptionText}}\n />\n ) : null}\n </div>\n ) : null}\n {descriptionBtnTxt ? <div className={style.descriptionBtn}>{descriptionBtnTxt}</div> : null}\n {!isEmpty(items) ? renderItems() : null}\n {renderBtnSwitch()}\n {firstButton || secondButton || thirdButton ? (\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={firstButton.largeButton ? style.largeButton : 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 customStyle={firstButton.customStyle}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={secondButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={secondButton['aria-label']}\n type={secondButton.type}\n customStyle={secondButton.customStyle}\n />\n </div>\n ) : null}\n {thirdButton ? (\n <div className={thirdButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={thirdButton.label}\n onClick={thirdButton.handleOnclick}\n data-name={`cm-popin-cta-${thirdButton.type}`}\n aria-label={thirdButton['aria-label']}\n type={thirdButton.type}\n customStyle={thirdButton.customStyle}\n />\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = propTypes;\n\nexport default CMPopin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useRef","useEffect","useMemo","NovaSolidInterfaceFeedbackInterfaceAlertDiamond","AlertDiamond","NovaSolidApplicationsWindowUpload3","WindowUpload","NovaLineSettingsCookie","Cookie","NovaSolidSpaceMoonRocket","MoonRocket","NovaCompositionCoorpacademyPadlock","LockIcon","NovaLineStatusCheckCircle1","CheckCircle1","NovaSolidFilesBasicFileLines","FileLinesIcon","map","isEmpty","classNames","Provider","Cta","ButtonLinkIconOnly","InputSwitch","Title","CardsGrid","ListItems","style","propTypes","IconType","lockedContent","lockIcon","fileZipped","filesListIconContainer","filesListIcon","CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","items","logo","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","handleCloseButton","nodeRef","closePopin","e","current","contains","target","handleKeyDown","key","document","addEventListener","removeEventListener","renderHeader","title","headerIcon","TopTitleIcon","headerContent","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","convert","cap","el","type","value","onChange","titlePosition","theme","details","requiredSelection","disabled","id","dataName","renderItems","list","itemsContainer","filesListContainer","wrapperPopinStyle","popinCookie","popinFilesList","popinItems","popin","background","popinHeader","onCloseButton","cookieTitleContainer","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","customStyle","contextTypes","translate","childContextTypes"],"sources":["../../../src/molecule/cm-popin/index.js"],"sourcesContent":["import React, {useRef, useEffect, useMemo} from 'react';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload,\n NovaLineSettingsCookie as Cookie,\n NovaSolidSpaceMoonRocket as MoonRocket,\n NovaCompositionCoorpacademyPadlock as LockIcon,\n NovaLineStatusCheckCircle1 as CheckCircle1,\n NovaSolidFilesBasicFileLines as FileLinesIcon\n} from '@coorpacademy/nova-icons';\nimport map from 'lodash/fp/map';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport classNames from 'classnames';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport InputSwitch from '../../atom/input-switch';\nimport Title from '../../atom/title';\nimport CardsGrid from '../../organism/cards-grid';\nimport ListItems from '../../organism/list-items';\nimport style from './style.css';\nimport propTypes from './types';\n\nconst IconType = {\n lockedContent: <LockIcon className={style.lockIcon} />,\n fileZipped: (\n <div className={style.filesListIconContainer}>\n <FileLinesIcon className={style.filesListIcon} />\n </div>\n )\n};\n\nconst CMPopin = props => {\n const {\n content,\n mode = 'alert',\n firstButton,\n secondButton,\n onClose,\n header,\n icon,\n backgroundImageUrl,\n descriptionText,\n thirdButton,\n cookieTitle,\n descriptionBtnTxt,\n listBtnSwicth,\n items\n } = props;\n const logo = {\n AlertDiamond,\n WindowUpload,\n MoonRocket,\n CheckCircle1\n };\n const LogoComponent = logo[icon];\n\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`,\n backgroundSize: 'cover'\n }\n : null;\n const handleCloseButton = useMemo(() => () => onClose(), [onClose]);\n const nodeRef = useRef(null);\n useEffect(() => {\n if (mode === 'items') {\n const closePopin = e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n handleCloseButton();\n }\n };\n const handleKeyDown = e => {\n if (e?.key === 'Escape') {\n handleCloseButton();\n }\n };\n document.addEventListener('click', closePopin);\n document.addEventListener('touchstart', closePopin);\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('click', closePopin);\n document.removeEventListener('touchstart', closePopin);\n document.removeEventListener('keydown', handleKeyDown);\n };\n }\n }, [handleCloseButton, mode, onClose]);\n const renderHeader = () => {\n if (header) {\n const {title, headerIcon, backgroundImage} = header;\n const TopTitleIcon = IconType[headerIcon];\n\n return (\n <>\n {title ? (\n <div className={style.headerContent}>\n {TopTitleIcon}\n <Title {...title} />\n </div>\n ) : null}\n {backgroundImage ? (\n <img className={style.headerBackground} src={backgroundImage} />\n ) : null}\n </>\n );\n }\n\n if (mode === 'cookie')\n return (\n <div className={style.cookieHeader}>\n <div className={style.cookieIconContainer}>\n <Cookie className={style.cookieIcon} />\n </div>\n <div className={style.cookieTitle}>{cookieTitle}</div>\n </div>\n );\n\n return null;\n };\n\n const getClassBtnSwitch = (index, btnList) => {\n switch (index) {\n case 0:\n return style.firstBtnSwitchContainer;\n case btnList.length - 1:\n return style.lastBtnSwitchContainer;\n default:\n return style.singleSwitchContainer;\n }\n };\n\n const renderBtnSwitch = () => {\n return map.convert({cap: false})((el, index) => {\n const {\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n } = el;\n return (\n <div key={index} className={getClassBtnSwitch(index, listBtnSwicth)}>\n <InputSwitch\n {...{\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n }}\n />\n </div>\n );\n })(listBtnSwicth);\n };\n\n const renderItems = () => {\n const {type, list} = items;\n if (isEmpty(list)) return null;\n\n if (type === 'content')\n return (\n <div className={style.itemsContainer} data-name={'cm-popin-cards'}>\n <CardsGrid {...list} />\n </div>\n );\n if (type === 'list')\n return (\n <div className={style.filesListContainer}>\n <ListItems {...list} />\n </div>\n );\n\n return null;\n };\n const wrapperPopinStyle = classNames(\n mode === 'cookie' && style.popinCookie,\n mode === 'list' && style.popinFilesList,\n mode === 'items' && style.popinItems,\n style.popin\n );\n return (\n <div\n className={mode !== 'cookie' ? style.background : null}\n style={backgroundImageStyle}\n data-name={'cm-popin-container'}\n >\n <div className={wrapperPopinStyle} ref={nodeRef}>\n <header className={style.popinHeader}>\n {renderHeader()}\n {onClose ? (\n <div className={style.onCloseButton}>\n <ButtonLinkIconOnly\n onClick={handleCloseButton}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n </div>\n ) : null}\n </header>\n {mode !== 'items' && mode !== 'list' ? (\n <div\n className={\n mode === 'cookie' || mode === 'information'\n ? style.cookieTitleContainer\n : style.titleContainer\n }\n >\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 {descriptionText ? (\n <p\n className={style.descriptionText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: descriptionText}}\n />\n ) : null}\n </div>\n ) : null}\n {descriptionBtnTxt ? <div className={style.descriptionBtn}>{descriptionBtnTxt}</div> : null}\n {!isEmpty(items) ? renderItems() : null}\n {renderBtnSwitch()}\n {firstButton || secondButton || thirdButton ? (\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={firstButton.largeButton ? style.largeButton : 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 customStyle={firstButton.customStyle}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={secondButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={secondButton['aria-label']}\n type={secondButton.type}\n customStyle={secondButton.customStyle}\n />\n </div>\n ) : null}\n {thirdButton ? (\n <div className={thirdButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={thirdButton.label}\n onClick={thirdButton.handleOnclick}\n data-name={`cm-popin-cta-${thirdButton.type}`}\n aria-label={thirdButton['aria-label']}\n type={thirdButton.type}\n customStyle={thirdButton.customStyle}\n />\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = propTypes;\nCMPopin.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nexport default CMPopin;\n"],"mappings":"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"}
@@ -60,6 +60,11 @@
60
60
  animation: popup 0.7s;
61
61
  }
62
62
 
63
+ .popinItems {
64
+ padding: 0;
65
+ }
66
+
67
+
63
68
  .message {
64
69
  display: flex;
65
70
  flex-direction: column;
@@ -131,16 +136,16 @@
131
136
  color: cm_grey_600;
132
137
  }
133
138
 
139
+ .onCloseButton {
140
+ position: absolute;
141
+ }
142
+
134
143
  .popinHeader {
135
144
  width: 100%;
136
145
  display: flex;
137
146
  justify-content: flex-end;
138
147
  }
139
148
 
140
- .popinHeader button {
141
- position: absolute;
142
- }
143
-
144
149
  .headerContent {
145
150
  gap: 16px;
146
151
  display: flex;
@@ -151,6 +156,15 @@
151
156
  border-bottom: 1px solid cm_grey_100;
152
157
  }
153
158
 
159
+ .popinItems .headerContent {
160
+ padding: 24px;
161
+ width: 100%;
162
+ }
163
+
164
+ .popinItems .popinHeader .onCloseButton {
165
+ margin-top: 12px;
166
+ margin-right: 12px;
167
+ }
154
168
 
155
169
  .lockIcon {
156
170
  height: 48px;
@@ -316,6 +330,9 @@ a {
316
330
  max-height: 369px;
317
331
  overflow-y: auto;
318
332
  width: 100%;
333
+ border-top: 1px solid cm_grey_100;
334
+ border-bottom-left-radius: 16px;
335
+ border-bottom-right-radius: 16px;
319
336
  }
320
337
 
321
338
  /* ---------- FILES DETAILS ---------- */
@@ -381,6 +398,10 @@ a {
381
398
  padding: 0px 0px 8px 0px
382
399
  }
383
400
 
401
+ .lockIcon {
402
+ min-width: 48px;
403
+ }
404
+
384
405
  .popinCookie .largeButton {
385
406
  padding: 8px 0px 0px 0px;
386
407
  }
@@ -417,6 +438,10 @@ a {
417
438
  width: 100%;
418
439
  }
419
440
 
441
+ .lockIcon {
442
+ min-width: 48px;
443
+ }
444
+
420
445
  .titleContainer {
421
446
  width: 100%;
422
447
  margin: 0px 16px;
@@ -267,6 +267,7 @@ export declare type CMPopinProps = {
267
267
  content: string;
268
268
  icon: string;
269
269
  mode: 'alert' | 'information' | 'cookie' | 'items' | 'list';
270
+ onClose?: () => void;
270
271
  popinHeader?: PopinHeaderProps;
271
272
  descriptionText: string;
272
273
  firstButton?: QuitPopinButton;