@coorpacademy/components 10.1.9 → 10.1.12

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 (154) hide show
  1. package/es/atom/empty-search-result/index.js +24 -0
  2. package/es/atom/empty-search-result/index.js.map +1 -0
  3. package/es/atom/empty-search-result/style.css +25 -0
  4. package/es/atom/empty-search-result/test/fixtures/default.js +7 -0
  5. package/es/atom/empty-search-result/test/fixtures/default.js.map +1 -0
  6. package/es/atom/empty-search-result/test/fixtures.js +13 -0
  7. package/es/atom/empty-search-result/test/fixtures.js.map +1 -0
  8. package/es/atom/input-text/index.js +3 -2
  9. package/es/atom/input-text/index.js.map +1 -1
  10. package/es/atom/tag/test/fixtures.js +4 -2
  11. package/es/atom/tag/test/fixtures.js.map +1 -1
  12. package/es/molecule/banner/index.js +1 -1
  13. package/es/molecule/banner/index.js.map +1 -1
  14. package/es/molecule/banner/test/fixtures.js +4 -0
  15. package/es/molecule/banner/test/fixtures.js.map +1 -1
  16. package/es/molecule/brand-form-group/style.css +5 -0
  17. package/es/molecule/brand-tabs/style.css +0 -1
  18. package/es/molecule/short-lived-banner/test/fixtures.js +15 -0
  19. package/es/molecule/short-lived-banner/test/fixtures.js.map +1 -0
  20. package/es/molecule/vertical-tabs/style.css +2 -2
  21. package/es/organism/brand-dashboard/index.js +1 -3
  22. package/es/organism/brand-dashboard/index.js.map +1 -1
  23. package/es/organism/brand-dashboard/style.css +0 -10
  24. package/es/organism/course-selection/index.js +57 -0
  25. package/es/organism/course-selection/index.js.map +1 -0
  26. package/es/organism/course-selection/style.css +23 -0
  27. package/es/organism/course-selection/test/fixtures/default.js +34 -0
  28. package/es/organism/course-selection/test/fixtures/default.js.map +1 -0
  29. package/es/organism/course-selection/test/fixtures/empty.js +18 -0
  30. package/es/organism/course-selection/test/fixtures/empty.js.map +1 -0
  31. package/es/organism/course-selection/test/fixtures/filtered.js +24 -0
  32. package/es/organism/course-selection/test/fixtures/filtered.js.map +1 -0
  33. package/es/organism/course-selection/test/fixtures/sorted-selected.js +31 -0
  34. package/es/organism/course-selection/test/fixtures/sorted-selected.js.map +1 -0
  35. package/es/organism/course-selection/test/fixtures/unsorted-selected.js +31 -0
  36. package/es/organism/course-selection/test/fixtures/unsorted-selected.js.map +1 -0
  37. package/es/organism/list-item/index.js +68 -0
  38. package/es/organism/list-item/index.js.map +1 -0
  39. package/es/organism/list-item/style.css +49 -0
  40. package/es/organism/list-item/test/fixtures/archived.js +39 -0
  41. package/es/organism/list-item/test/fixtures/archived.js.map +1 -0
  42. package/es/organism/list-item/test/fixtures/draft.js +39 -0
  43. package/es/organism/list-item/test/fixtures/draft.js.map +1 -0
  44. package/es/organism/list-item/test/fixtures/published.js +39 -0
  45. package/es/organism/list-item/test/fixtures/published.js.map +1 -0
  46. package/es/organism/list-item/test/fixtures/revised.js +41 -0
  47. package/es/organism/list-item/test/fixtures/revised.js.map +1 -0
  48. package/es/organism/list-item/test/fixtures.js +19 -0
  49. package/es/organism/list-item/test/fixtures.js.map +1 -0
  50. package/es/organism/playlist-translation/style.css +9 -2
  51. package/es/organism/search-and-chips-results/index.js +3 -8
  52. package/es/organism/search-and-chips-results/index.js.map +1 -1
  53. package/es/organism/search-and-chips-results/style.css +0 -22
  54. package/es/organism/setup-header/style.css +16 -7
  55. package/es/template/back-office/brand-update/index.js +106 -92
  56. package/es/template/back-office/brand-update/index.js.map +1 -1
  57. package/es/template/back-office/brand-update/style.css +22 -66
  58. package/es/template/back-office/brand-update/test/fixtures/default.js +1 -58
  59. package/es/template/back-office/brand-update/test/fixtures/default.js.map +1 -1
  60. package/es/template/back-office/brand-update/test/fixtures/general-settings.js +77 -3
  61. package/es/template/back-office/brand-update/test/fixtures/general-settings.js.map +1 -1
  62. package/es/template/back-office/brand-update/test/fixtures/loader.js +1 -1
  63. package/es/template/back-office/brand-update/test/fixtures/loader.js.map +1 -1
  64. package/es/template/back-office/brand-update/test/fixtures/manageusers-edit.js +1 -1
  65. package/es/template/back-office/brand-update/test/fixtures/manageusers-edit.js.map +1 -1
  66. package/es/template/back-office/brand-update/test/fixtures/manageusers-list.js +1 -1
  67. package/es/template/back-office/brand-update/test/fixtures/manageusers-list.js.map +1 -1
  68. package/es/template/back-office/brand-update/test/fixtures/uploadusers.js +1 -1
  69. package/es/template/back-office/brand-update/test/fixtures/uploadusers.js.map +1 -1
  70. package/es/template/back-office/brand-update/test/fixtures.js +0 -2
  71. package/es/template/back-office/brand-update/test/fixtures.js.map +1 -1
  72. package/lib/atom/empty-search-result/index.js +34 -0
  73. package/lib/atom/empty-search-result/index.js.map +1 -0
  74. package/lib/atom/empty-search-result/style.css +25 -0
  75. package/lib/atom/empty-search-result/test/fixtures/default.js +12 -0
  76. package/lib/atom/empty-search-result/test/fixtures/default.js.map +1 -0
  77. package/lib/{molecule → atom}/empty-search-result/test/fixtures.js +3 -3
  78. package/lib/atom/empty-search-result/test/fixtures.js.map +1 -0
  79. package/lib/atom/input-text/index.js +3 -2
  80. package/lib/atom/input-text/index.js.map +1 -1
  81. package/lib/atom/tag/test/fixtures.js +5 -2
  82. package/lib/atom/tag/test/fixtures.js.map +1 -1
  83. package/lib/molecule/banner/index.js +1 -1
  84. package/lib/molecule/banner/index.js.map +1 -1
  85. package/lib/molecule/banner/test/fixtures.js +6 -0
  86. package/lib/molecule/banner/test/fixtures.js.map +1 -1
  87. package/lib/molecule/brand-form-group/style.css +5 -0
  88. package/lib/molecule/brand-tabs/style.css +0 -1
  89. package/lib/molecule/short-lived-banner/test/fixtures.js +25 -0
  90. package/lib/molecule/short-lived-banner/test/fixtures.js.map +1 -0
  91. package/lib/molecule/vertical-tabs/style.css +2 -2
  92. package/lib/organism/brand-dashboard/index.js +1 -3
  93. package/lib/organism/brand-dashboard/index.js.map +1 -1
  94. package/lib/organism/brand-dashboard/style.css +0 -10
  95. package/lib/organism/course-selection/index.js +70 -0
  96. package/lib/organism/course-selection/index.js.map +1 -0
  97. package/lib/organism/course-selection/style.css +23 -0
  98. package/lib/organism/course-selection/test/fixtures/default.js +47 -0
  99. package/lib/organism/course-selection/test/fixtures/default.js.map +1 -0
  100. package/lib/organism/course-selection/test/fixtures/empty.js +23 -0
  101. package/lib/organism/course-selection/test/fixtures/empty.js.map +1 -0
  102. package/lib/organism/course-selection/test/fixtures/filtered.js +36 -0
  103. package/lib/organism/course-selection/test/fixtures/filtered.js.map +1 -0
  104. package/lib/organism/course-selection/test/fixtures/sorted-selected.js +44 -0
  105. package/lib/organism/course-selection/test/fixtures/sorted-selected.js.map +1 -0
  106. package/lib/organism/course-selection/test/fixtures/unsorted-selected.js +44 -0
  107. package/lib/organism/course-selection/test/fixtures/unsorted-selected.js.map +1 -0
  108. package/lib/organism/list-item/index.js +82 -0
  109. package/lib/organism/list-item/index.js.map +1 -0
  110. package/lib/organism/list-item/style.css +49 -0
  111. package/lib/organism/list-item/test/fixtures/archived.js +44 -0
  112. package/lib/organism/list-item/test/fixtures/archived.js.map +1 -0
  113. package/lib/organism/list-item/test/fixtures/draft.js +44 -0
  114. package/lib/organism/list-item/test/fixtures/draft.js.map +1 -0
  115. package/lib/organism/list-item/test/fixtures/published.js +44 -0
  116. package/lib/organism/list-item/test/fixtures/published.js.map +1 -0
  117. package/lib/organism/list-item/test/fixtures/revised.js +46 -0
  118. package/lib/organism/list-item/test/fixtures/revised.js.map +1 -0
  119. package/lib/organism/list-item/test/fixtures.js +31 -0
  120. package/lib/organism/list-item/test/fixtures.js.map +1 -0
  121. package/lib/organism/playlist-translation/style.css +9 -2
  122. package/lib/organism/search-and-chips-results/index.js +4 -8
  123. package/lib/organism/search-and-chips-results/index.js.map +1 -1
  124. package/lib/organism/search-and-chips-results/style.css +0 -22
  125. package/lib/organism/setup-header/style.css +16 -7
  126. package/lib/template/back-office/brand-update/index.js +106 -93
  127. package/lib/template/back-office/brand-update/index.js.map +1 -1
  128. package/lib/template/back-office/brand-update/style.css +22 -66
  129. package/lib/template/back-office/brand-update/test/fixtures/default.js +1 -58
  130. package/lib/template/back-office/brand-update/test/fixtures/default.js.map +1 -1
  131. package/lib/template/back-office/brand-update/test/fixtures/general-settings.js +76 -3
  132. package/lib/template/back-office/brand-update/test/fixtures/general-settings.js.map +1 -1
  133. package/lib/template/back-office/brand-update/test/fixtures/loader.js +2 -2
  134. package/lib/template/back-office/brand-update/test/fixtures/loader.js.map +1 -1
  135. package/lib/template/back-office/brand-update/test/fixtures/manageusers-edit.js +2 -2
  136. package/lib/template/back-office/brand-update/test/fixtures/manageusers-edit.js.map +1 -1
  137. package/lib/template/back-office/brand-update/test/fixtures/manageusers-list.js +2 -2
  138. package/lib/template/back-office/brand-update/test/fixtures/manageusers-list.js.map +1 -1
  139. package/lib/template/back-office/brand-update/test/fixtures/uploadusers.js +2 -2
  140. package/lib/template/back-office/brand-update/test/fixtures/uploadusers.js.map +1 -1
  141. package/lib/template/back-office/brand-update/test/fixtures.js +0 -3
  142. package/lib/template/back-office/brand-update/test/fixtures.js.map +1 -1
  143. package/package.json +2 -2
  144. package/es/molecule/empty-search-result/test/fixtures.js +0 -13
  145. package/es/molecule/empty-search-result/test/fixtures.js.map +0 -1
  146. package/es/molecule/search/test/fixtures.js +0 -15
  147. package/es/molecule/search/test/fixtures.js.map +0 -1
  148. package/es/template/back-office/brand-update/test/fixtures/manageusers.js +0 -11
  149. package/es/template/back-office/brand-update/test/fixtures/manageusers.js.map +0 -1
  150. package/lib/molecule/empty-search-result/test/fixtures.js.map +0 -1
  151. package/lib/molecule/search/test/fixtures.js +0 -25
  152. package/lib/molecule/search/test/fixtures.js.map +0 -1
  153. package/lib/template/back-office/brand-update/test/fixtures/manageusers.js +0 -25
  154. package/lib/template/back-office/brand-update/test/fixtures/manageusers.js.map +0 -1
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _default = {
6
+ props: {
7
+ id: 'default',
8
+ title: 'Leaders of tomorrow',
9
+ tags: [{
10
+ label: 'Ongoing changes',
11
+ type: 'revised'
12
+ }, {
13
+ label: 'Published',
14
+ type: 'published'
15
+ }],
16
+ buttonLink: {
17
+ type: 'secondary',
18
+ label: 'Edit',
19
+ ariaLabel: 'aria button',
20
+ dataName: 'default-button',
21
+ icon: {
22
+ position: 'left',
23
+ type: 'edit'
24
+ },
25
+ onClick: () => console.log('click')
26
+ },
27
+ bulletPointMenuButton: {
28
+ buttonAriaLabel: 'aria button',
29
+ menuAriaLabel: 'aria menu',
30
+ buttons: [{
31
+ 'data-name': 'CP-publish-button',
32
+ label: 'Publish',
33
+ type: 'default',
34
+ onClick: () => console.log('click')
35
+ }, {
36
+ 'data-name': 'CP-delete-button',
37
+ label: 'Delete',
38
+ type: 'dangerous',
39
+ onClick: () => console.log('click')
40
+ }],
41
+ onClick: () => console.log('click')
42
+ }
43
+ }
44
+ };
45
+ exports.default = _default;
46
+ //# sourceMappingURL=revised.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/organism/list-item/test/fixtures/revised.js"],"names":["props","id","title","tags","label","type","buttonLink","ariaLabel","dataName","icon","position","onClick","console","log","bulletPointMenuButton","buttonAriaLabel","menuAriaLabel","buttons"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,EAAE,EAAE,SADC;AAELC,IAAAA,KAAK,EAAE,qBAFF;AAGLC,IAAAA,IAAI,EAAE,CACJ;AACEC,MAAAA,KAAK,EAAE,iBADT;AAEEC,MAAAA,IAAI,EAAE;AAFR,KADI,EAKJ;AACED,MAAAA,KAAK,EAAE,WADT;AAEEC,MAAAA,IAAI,EAAE;AAFR,KALI,CAHD;AAcLC,IAAAA,UAAU,EAAE;AACVD,MAAAA,IAAI,EAAE,WADI;AAEVD,MAAAA,KAAK,EAAE,MAFG;AAGVG,MAAAA,SAAS,EAAE,aAHD;AAIVC,MAAAA,QAAQ,EAAE,gBAJA;AAKVC,MAAAA,IAAI,EAAE;AACJC,QAAAA,QAAQ,EAAE,MADN;AAEJL,QAAAA,IAAI,EAAE;AAFF,OALI;AASVM,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ;AATL,KAdP;AAyBLC,IAAAA,qBAAqB,EAAE;AACrBC,MAAAA,eAAe,EAAE,aADI;AAErBC,MAAAA,aAAa,EAAE,WAFM;AAGrBC,MAAAA,OAAO,EAAE,CACP;AACE,qBAAa,mBADf;AAEEb,QAAAA,KAAK,EAAE,SAFT;AAGEC,QAAAA,IAAI,EAAE,SAHR;AAIEM,QAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ;AAJjB,OADO,EAOP;AACE,qBAAa,kBADf;AAEET,QAAAA,KAAK,EAAE,QAFT;AAGEC,QAAAA,IAAI,EAAE,WAHR;AAIEM,QAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ;AAJjB,OAPO,CAHY;AAiBrBF,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ;AAjBM;AAzBlB;AADM,C","sourcesContent":["export default {\n props: {\n id: 'default',\n title: 'Leaders of tomorrow',\n tags: [\n {\n label: 'Ongoing changes',\n type: 'revised'\n },\n {\n label: 'Published',\n type: 'published'\n }\n ],\n\n buttonLink: {\n type: 'secondary',\n label: 'Edit',\n ariaLabel: 'aria button',\n dataName: 'default-button',\n icon: {\n position: 'left',\n type: 'edit'\n },\n onClick: () => console.log('click')\n },\n bulletPointMenuButton: {\n buttonAriaLabel: 'aria button',\n menuAriaLabel: 'aria menu',\n buttons: [\n {\n 'data-name': 'CP-publish-button',\n label: 'Publish',\n type: 'default',\n onClick: () => console.log('click')\n },\n {\n 'data-name': 'CP-delete-button',\n label: 'Delete',\n type: 'dangerous',\n onClick: () => console.log('click')\n }\n ],\n onClick: () => console.log('click')\n }\n }\n};\n"],"file":"revised.js"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _ava = _interopRequireDefault(require("ava"));
4
+
5
+ var _forEach = _interopRequireDefault(require("lodash/forEach"));
6
+
7
+ var _renderComponent = _interopRequireDefault(require("../../../test/helpers/render-component"));
8
+
9
+ var _ = _interopRequireDefault(require(".."));
10
+
11
+ var _archived = _interopRequireDefault(require("./fixtures/archived"));
12
+
13
+ var _draft = _interopRequireDefault(require("./fixtures/draft"));
14
+
15
+ var _published = _interopRequireDefault(require("./fixtures/published"));
16
+
17
+ var _revised = _interopRequireDefault(require("./fixtures/revised"));
18
+
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+
21
+ (0, _ava.default)('Organism › OrganismListItem > should have valid propTypes', t => {
22
+ t.pass();
23
+ (0, _forEach.default)(_.default.propTypes, (value, key) => {
24
+ t.not(value, undefined, `PropType for "Organism.OrganismListItem.propTypes.${key}" may not be undefined. Did you mistype the propTypes definition?`);
25
+ });
26
+ });
27
+ (0, _ava.default)('Organism › OrganismListItem › Archived › should be rendered', _renderComponent.default, _.default, _archived.default);
28
+ (0, _ava.default)('Organism › OrganismListItem › Draft › should be rendered', _renderComponent.default, _.default, _draft.default);
29
+ (0, _ava.default)('Organism › OrganismListItem › Published › should be rendered', _renderComponent.default, _.default, _published.default);
30
+ (0, _ava.default)('Organism › OrganismListItem › Revised › should be rendered', _renderComponent.default, _.default, _revised.default);
31
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/organism/list-item/test/fixtures.js"],"names":["t","pass","OrganismListItem","propTypes","value","key","not","undefined","renderComponentMacro","fixtureArchived","fixtureDraft","fixturePublished","fixtureRevised"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,kBAAK,2DAAL,EAAkEA,CAAC,IAAI;AACrEA,EAAAA,CAAC,CAACC,IAAF;AACA,wBAAQC,UAAiBC,SAAzB,EAAoC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAClDL,IAAAA,CAAC,CAACM,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,qDAAoDF,GAAI,mEAAjF;AACD,GAFD;AAGD,CALD;AAOA,kBAAK,6DAAL,EAAoEG,wBAApE,EAA0FN,SAA1F,EAA4GO,iBAA5G;AACA,kBAAK,0DAAL,EAAiED,wBAAjE,EAAuFN,SAAvF,EAAyGQ,cAAzG;AACA,kBAAK,8DAAL,EAAqEF,wBAArE,EAA2FN,SAA3F,EAA6GS,kBAA7G;AACA,kBAAK,4DAAL,EAAmEH,wBAAnE,EAAyFN,SAAzF,EAA2GU,gBAA3G","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport OrganismListItem from '..';\nimport fixtureArchived from './fixtures/archived';\nimport fixtureDraft from './fixtures/draft';\nimport fixturePublished from './fixtures/published';\nimport fixtureRevised from './fixtures/revised';\n\ntest('Organism › OrganismListItem > should have valid propTypes', t => {\n t.pass();\n forEach(OrganismListItem.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Organism.OrganismListItem.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Organism › OrganismListItem › Archived › should be rendered', renderComponentMacro, OrganismListItem, fixtureArchived);\ntest('Organism › OrganismListItem › Draft › should be rendered', renderComponentMacro, OrganismListItem, fixtureDraft);\ntest('Organism › OrganismListItem › Published › should be rendered', renderComponentMacro, OrganismListItem, fixturePublished);\ntest('Organism › OrganismListItem › Revised › should be rendered', renderComponentMacro, OrganismListItem, fixtureRevised);\n"],"file":"fixtures.js"}
@@ -9,13 +9,19 @@
9
9
  .container {
10
10
  display: flex;
11
11
  background-color: cm_grey_50;
12
+ position: relative;
12
13
  }
13
14
 
14
15
  .menu {
15
16
  background-color: cm_grey_50;
16
- height: 360px;
17
+ height: auto;
17
18
  width: 200px;
18
19
  margin: 24px 8px 24px 24px;
20
+ position: absolute;
21
+ top: 0;
22
+ left: 0;
23
+ z-index: 1;
24
+ bottom: 0;
19
25
  }
20
26
 
21
27
  .horizontalSection{
@@ -24,6 +30,7 @@
24
30
  padding: 24px 24px 24px 8px;
25
31
  width: 100%;
26
32
  align-items: end;
33
+ margin-left: 240px;
27
34
  }
28
35
 
29
36
  .input {
@@ -33,7 +40,7 @@
33
40
 
34
41
  .button {
35
42
  width: 170px;
36
- margin-top: 16px;
43
+ margin-top: 24px;
37
44
  }
38
45
 
39
46
  .binButton {
@@ -9,6 +9,8 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
+ var _emptySearchResult = _interopRequireDefault(require("../../atom/empty-search-result"));
13
+
12
14
  var _inputSearch = _interopRequireDefault(require("../../atom/input-search"));
13
15
 
14
16
  var _buttonLink = _interopRequireDefault(require("../../atom/button-link"));
@@ -23,13 +25,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
23
25
 
24
26
  const buildResultView = (results, resultsAriaLabel, emptyMessages) => {
25
27
  if ((0, _isEmpty2.default)(results)) {
26
- return /*#__PURE__*/_react.default.createElement("div", {
27
- className: _style.default.errorSection
28
- }, /*#__PURE__*/_react.default.createElement("span", {
29
- className: _style.default.firstErrorMessage
30
- }, emptyMessages.firstMessage), /*#__PURE__*/_react.default.createElement("span", {
31
- className: _style.default.secondErrorMessage
32
- }, emptyMessages.secondMessage));
28
+ return /*#__PURE__*/_react.default.createElement(_emptySearchResult.default, emptyMessages);
33
29
  }
34
30
 
35
31
  const items = results.map((result, index) => {
@@ -37,7 +33,7 @@ const buildResultView = (results, resultsAriaLabel, emptyMessages) => {
37
33
  className: _style.default.result,
38
34
  key: `result-${index}`
39
35
  }, /*#__PURE__*/_react.default.createElement(_chips.default, result));
40
- }, results);
36
+ });
41
37
  return /*#__PURE__*/_react.default.createElement("ul", {
42
38
  "aria-label": resultsAriaLabel
43
39
  }, items);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/organism/search-and-chips-results/index.js"],"names":["buildResultView","results","resultsAriaLabel","emptyMessages","style","errorSection","firstErrorMessage","firstMessage","secondErrorMessage","secondMessage","items","map","result","index","SearchAndChipsResults","props","search","selectAllButton","onClick","label","disabled","ariaLabel","resultView","buttonProps","type","icon","position","container","header","button","resultContainer","propTypes","PropTypes","shape","string","func","bool","Search","arrayOf","Chips"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty} from 'lodash/fp';\nimport Search from '../../atom/input-search';\nimport ButtonLink from '../../atom/button-link';\nimport Chips from '../../atom/chips';\nimport style from './style.css';\n\nconst buildResultView = (results, resultsAriaLabel, emptyMessages) => {\n if (isEmpty(results)) {\n return (\n <div className={style.errorSection}>\n <span className={style.firstErrorMessage}>{emptyMessages.firstMessage}</span>\n <span className={style.secondErrorMessage}>{emptyMessages.secondMessage}</span>\n </div>\n );\n }\n\n const items = results.map((result, index) => {\n return (\n <li className={style.result} key={`result-${index}`}>\n <Chips {...result} />\n </li>\n );\n }, results);\n\n return <ul aria-label={resultsAriaLabel}>{items}</ul>;\n};\n\nconst SearchAndChipsResults = props => {\n const {\n search,\n selectAllButton,\n results,\n emptyMessages,\n 'results-aria-label': resultsAriaLabel\n } = props;\n\n const {onClick, label, disabled = false, 'aria-label': ariaLabel} = selectAllButton;\n const resultView = buildResultView(results, resultsAriaLabel, emptyMessages);\n const buttonProps = {\n type: 'secondary',\n label,\n 'aria-label': ariaLabel,\n 'data-name': `select-all-button`,\n icon: {\n position: 'right',\n type: 'add'\n },\n onClick,\n disabled\n };\n\n return (\n <div className={style.container}>\n <div className={style.header}>\n <div className={style.button}>\n <ButtonLink {...buttonProps} />\n </div>\n <div className={style.search}>\n <Search {...search} theme=\"coorpmanager\" />\n </div>\n </div>\n <div className={style.resultContainer}>{resultView}</div>\n </div>\n );\n};\n\nSearchAndChipsResults.propTypes = {\n selectAllButton: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n disabled: PropTypes.bool,\n 'aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.PropTypes),\n results: PropTypes.arrayOf(PropTypes.shape(Chips.propTypes)),\n 'results-aria-label': PropTypes.string,\n emptyMessages: PropTypes.shape({\n firstMessage: PropTypes.string,\n secondMessage: PropTypes.string\n })\n};\n\nexport default SearchAndChipsResults;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/organism/search-and-chips-results/index.js"],"names":["buildResultView","results","resultsAriaLabel","emptyMessages","items","map","result","index","style","SearchAndChipsResults","props","search","selectAllButton","onClick","label","disabled","ariaLabel","resultView","buttonProps","type","icon","position","container","header","button","resultContainer","propTypes","PropTypes","shape","string","func","bool","Search","arrayOf","Chips","firstMessage","secondMessage"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,eAAe,GAAG,CAACC,OAAD,EAAUC,gBAAV,EAA4BC,aAA5B,KAA8C;AACpE,MAAI,uBAAQF,OAAR,CAAJ,EAAsB;AACpB,wBAAO,6BAAC,0BAAD,EAAuBE,aAAvB,CAAP;AACD;;AAED,QAAMC,KAAK,GAAGH,OAAO,CAACI,GAAR,CAAY,CAACC,MAAD,EAASC,KAAT,KAAmB;AAC3C,wBACE;AAAI,MAAA,SAAS,EAAEC,eAAMF,MAArB;AAA6B,MAAA,GAAG,EAAG,UAASC,KAAM;AAAlD,oBACE,6BAAC,cAAD,EAAWD,MAAX,CADF,CADF;AAKD,GANa,CAAd;AAQA,sBAAO;AAAI,kBAAYJ;AAAhB,KAAmCE,KAAnC,CAAP;AACD,CAdD;;AAgBA,MAAMK,qBAAqB,GAAGC,KAAK,IAAI;AACrC,QAAM;AACJC,IAAAA,MADI;AAEJC,IAAAA,eAFI;AAGJX,IAAAA,OAHI;AAIJE,IAAAA,aAJI;AAKJ,0BAAsBD;AALlB,MAMFQ,KANJ;AAQA,QAAM;AAACG,IAAAA,OAAD;AAAUC,IAAAA,KAAV;AAAiBC,IAAAA,QAAQ,GAAG,KAA5B;AAAmC,kBAAcC;AAAjD,MAA8DJ,eAApE;AACA,QAAMK,UAAU,GAAGjB,eAAe,CAACC,OAAD,EAAUC,gBAAV,EAA4BC,aAA5B,CAAlC;AACA,QAAMe,WAAW,GAAG;AAClBC,IAAAA,IAAI,EAAE,WADY;AAElBL,IAAAA,KAFkB;AAGlB,kBAAcE,SAHI;AAIlB,iBAAc,mBAJI;AAKlBI,IAAAA,IAAI,EAAE;AACJC,MAAAA,QAAQ,EAAE,OADN;AAEJF,MAAAA,IAAI,EAAE;AAFF,KALY;AASlBN,IAAAA,OATkB;AAUlBE,IAAAA;AAVkB,GAApB;AAaA,sBACE;AAAK,IAAA,SAAS,EAAEP,eAAMc;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEd,eAAMe;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEf,eAAMgB;AAAtB,kBACE,6BAAC,mBAAD,EAAgBN,WAAhB,CADF,CADF,eAIE;AAAK,IAAA,SAAS,EAAEV,eAAMG;AAAtB,kBACE,6BAAC,oBAAD,eAAYA,MAAZ;AAAoB,IAAA,KAAK,EAAC;AAA1B,KADF,CAJF,CADF,eASE;AAAK,IAAA,SAAS,EAAEH,eAAMiB;AAAtB,KAAwCR,UAAxC,CATF,CADF;AAaD,CArCD;;AAuCAR,qBAAqB,CAACiB,SAAtB,2CAAkC;AAChCd,EAAAA,eAAe,EAAEe,mBAAUC,KAAV,CAAgB;AAC/Bd,IAAAA,KAAK,EAAEa,mBAAUE,MADc;AAE/BhB,IAAAA,OAAO,EAAEc,mBAAUG,IAFY;AAG/Bf,IAAAA,QAAQ,EAAEY,mBAAUI,IAHW;AAI/B,kBAAcJ,mBAAUE;AAJO,GAAhB,CADe;AAOhClB,EAAAA,MAAM,EAAEgB,mBAAUC,KAAV,CAAgBI,qBAAOL,SAAvB,CAPwB;AAQhC1B,EAAAA,OAAO,EAAE0B,mBAAUM,OAAV,CAAkBN,mBAAUC,KAAV,CAAgBM,eAAMR,SAAtB,CAAlB,CARuB;AAShC,wBAAsBC,mBAAUE,MATA;AAUhC1B,EAAAA,aAAa,EAAEwB,mBAAUC,KAAV,CAAgB;AAC7BO,IAAAA,YAAY,EAAER,mBAAUE,MADK;AAE7BO,IAAAA,aAAa,EAAET,mBAAUE;AAFI,GAAhB;AAViB,CAAlC;eAgBepB,qB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty} from 'lodash/fp';\nimport EmptySearchResult from '../../atom/empty-search-result';\nimport Search from '../../atom/input-search';\nimport ButtonLink from '../../atom/button-link';\nimport Chips from '../../atom/chips';\nimport style from './style.css';\n\nconst buildResultView = (results, resultsAriaLabel, emptyMessages) => {\n if (isEmpty(results)) {\n return <EmptySearchResult {...emptyMessages} />;\n }\n\n const items = results.map((result, index) => {\n return (\n <li className={style.result} key={`result-${index}`}>\n <Chips {...result} />\n </li>\n );\n });\n\n return <ul aria-label={resultsAriaLabel}>{items}</ul>;\n};\n\nconst SearchAndChipsResults = props => {\n const {\n search,\n selectAllButton,\n results,\n emptyMessages,\n 'results-aria-label': resultsAriaLabel\n } = props;\n\n const {onClick, label, disabled = false, 'aria-label': ariaLabel} = selectAllButton;\n const resultView = buildResultView(results, resultsAriaLabel, emptyMessages);\n const buttonProps = {\n type: 'secondary',\n label,\n 'aria-label': ariaLabel,\n 'data-name': `select-all-button`,\n icon: {\n position: 'right',\n type: 'add'\n },\n onClick,\n disabled\n };\n\n return (\n <div className={style.container}>\n <div className={style.header}>\n <div className={style.button}>\n <ButtonLink {...buttonProps} />\n </div>\n <div className={style.search}>\n <Search {...search} theme=\"coorpmanager\" />\n </div>\n </div>\n <div className={style.resultContainer}>{resultView}</div>\n </div>\n );\n};\n\nSearchAndChipsResults.propTypes = {\n selectAllButton: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n disabled: PropTypes.bool,\n 'aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.PropTypes),\n results: PropTypes.arrayOf(PropTypes.shape(Chips.propTypes)),\n 'results-aria-label': PropTypes.string,\n emptyMessages: PropTypes.shape({\n firstMessage: PropTypes.string,\n secondMessage: PropTypes.string\n })\n};\n\nexport default SearchAndChipsResults;\n"],"file":"index.js"}
@@ -32,26 +32,4 @@
32
32
  max-width: 268px;
33
33
  display: inline-block;
34
34
  margin: 0 16px 16px 0px;
35
- }
36
-
37
- .errorSection {
38
- margin: 48px 0;
39
- width: 100%;
40
- display: flex;
41
- flex-direction: column;
42
- align-items: center;
43
- font-size: 16px;
44
- font-weight: bold;
45
- font-family: Gilroy;
46
- font-size: 16px;
47
- }
48
-
49
- .firstErrorMessage {
50
- color: cm_grey_900;
51
- display: block;
52
- }
53
-
54
- .secondErrorMessage {
55
- color: cm_primary_blue;
56
- display: block;
57
35
  }
@@ -1,6 +1,7 @@
1
1
  @value breakpoints: "../../variables/breakpoints.css";
2
2
  @value mobile from breakpoints;
3
3
  @value cm_tablet from breakpoints;
4
+ @value desktop from breakpoints;
4
5
  @value colors: "../../variables/colors.css";
5
6
  @value light from colors;
6
7
  @value medium from colors;
@@ -17,12 +18,11 @@
17
18
 
18
19
  .container {
19
20
  background-color: white;
20
- height: 80px;
21
21
  box-sizing: border-box;
22
22
  z-index: 1100;
23
- margin: 24px 40px;
24
23
  display: flex;
25
24
  flex-direction: column;
25
+ width: 100%;
26
26
  }
27
27
 
28
28
  [data-name="logout-hide"] {
@@ -147,6 +147,20 @@
147
147
  display: none;
148
148
  }
149
149
 
150
+ @media desktop {
151
+ .platformListIcon {
152
+ display: flex;
153
+ justify-content: center;
154
+ align-items: center;
155
+ padding: 0 16px 0 0;
156
+ width: 44px;
157
+ }
158
+
159
+ .platformList {
160
+ display: none;
161
+ }
162
+ }
163
+
150
164
  @media cm_tablet {
151
165
  [data-name="logout-show"] {
152
166
  position: absolute;
@@ -206,11 +220,6 @@
206
220
  .logOut {
207
221
  display: none;
208
222
  }
209
-
210
- .container {
211
- margin: 24px 32px;
212
- }
213
-
214
223
  }
215
224
 
216
225
  @media mobile {
@@ -15,9 +15,7 @@ var _get = _interopRequireDefault(require("lodash/fp/get"));
15
15
 
16
16
  var _isEmpty = _interopRequireDefault(require("lodash/fp/isEmpty"));
17
17
 
18
- var _filter = _interopRequireDefault(require("lodash/fp/filter"));
19
-
20
- var _head = _interopRequireDefault(require("lodash/fp/head"));
18
+ var _find = _interopRequireDefault(require("lodash/fp/find"));
21
19
 
22
20
  var _brandTabs = _interopRequireDefault(require("../../../molecule/brand-tabs"));
23
21
 
@@ -33,7 +31,7 @@ var _brandAnalytics = _interopRequireDefault(require("../../../organism/brand-an
33
31
 
34
32
  var _brandDashboard = _interopRequireDefault(require("../../../organism/brand-dashboard"));
35
33
 
36
- var _notification = _interopRequireDefault(require("../../../atom/notification"));
34
+ var _banner = _interopRequireDefault(require("../../../molecule/banner"));
37
35
 
38
36
  var _setupHeader = _interopRequireDefault(require("../../../organism/setup-header"));
39
37
 
@@ -47,31 +45,23 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
47
45
 
48
46
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
49
47
 
50
- const SubTab = ({
51
- title,
52
- href,
53
- selected
54
- }) => {
55
- return /*#__PURE__*/_react.default.createElement("h5", null, title);
56
- };
48
+ const getStyle = isSelected => isSelected ? _style.default.selectedElement : _style.default.unselectedElement;
57
49
 
58
- SubTab.propTypes = process.env.NODE_ENV !== "production" ? {
59
- title: _propTypes.default.string.isRequired,
60
- href: _propTypes.default.string.isRequired,
61
- selected: _propTypes.default.bool.isRequired
62
- } : {};
50
+ const subTabsView = (_subTabs = []) => _map.default.convert({
51
+ cap: false
52
+ })((subTab, _index) => /*#__PURE__*/_react.default.createElement("div", {
53
+ key: subTab.title
54
+ }, subTab.type === 'iconLink' ? /*#__PURE__*/_react.default.createElement(_sidebar.IconLinkItem, _extends({}, subTab, {
55
+ styles: getStyle(subTab.selected),
56
+ uppercase: false,
57
+ target: '_blank'
58
+ })) : /*#__PURE__*/_react.default.createElement(_sidebar.LinkItem, _extends({}, subTab, {
59
+ styles: getStyle(subTab.selected),
60
+ uppercase: false
61
+ }))))(_subTabs); // TODO: this fonction should be replaced by a molecule to avoid this file to be unreadable
63
62
 
64
- const BrandUpdate = props => {
65
- const {
66
- notifications,
67
- header,
68
- items,
69
- content,
70
- details,
71
- onItemClick
72
- } = props;
73
- const logo = 'https://static.coorpacademy.com/logo/coorp-manager.svg';
74
- const selectedTab = (0, _pipe.default)((0, _filter.default)(e => e.selected), _head.default, (0, _get.default)('tabs'), (0, _filter.default)(e => e.selected), _head.default)(items);
63
+
64
+ const buildLeftNavigation = (logo, items, onItemClick) => {
75
65
  const formattedTabs = items.map(({
76
66
  key,
77
67
  title,
@@ -87,97 +77,120 @@ const BrandUpdate = props => {
87
77
  children: [],
88
78
  iconType: key || 'arrow'
89
79
  }));
90
-
91
- const getStyle = isSelected => isSelected ? _style.default.selectedElement : _style.default.unselectedElement;
92
-
93
- const subTabsView = (_subTabs = []) => _map.default.convert({
94
- cap: false
95
- })((subTab, _index) => /*#__PURE__*/_react.default.createElement("div", {
96
- key: subTab.title
97
- }, subTab.type === 'iconLink' ? /*#__PURE__*/_react.default.createElement(_sidebar.IconLinkItem, _extends({}, subTab, {
98
- styles: getStyle(subTab.selected),
99
- uppercase: false,
100
- target: '_blank'
101
- })) : /*#__PURE__*/_react.default.createElement(_sidebar.LinkItem, _extends({}, subTab, {
102
- styles: getStyle(subTab.selected),
103
- uppercase: false
104
- }))))(_subTabs);
105
-
106
80
  const formattedTabsViews = (0, _map.default)(tab => /*#__PURE__*/_react.default.createElement("div", {
107
81
  key: tab.title,
108
- className: _style.default.tabs
82
+ className: _style.default.subTabsView
109
83
  }, subTabsView(tab.tabs)))(items);
84
+ return /*#__PURE__*/_react.default.createElement("div", {
85
+ className: _style.default.leftMenu
86
+ }, /*#__PURE__*/_react.default.createElement("div", {
87
+ className: _style.default.logo
88
+ }, /*#__PURE__*/_react.default.createElement("a", {
89
+ href: "/"
90
+ }, /*#__PURE__*/_react.default.createElement("img", {
91
+ src: logo
92
+ }))), /*#__PURE__*/_react.default.createElement(_coorpManager.default, {
93
+ tabProps: formattedTabs,
94
+ theme: 'setup',
95
+ onClick: onItemClick
96
+ }, formattedTabsViews));
97
+ };
98
+
99
+ const buildNotifications = notifications => {
100
+ if ((0, _isEmpty.default)(notifications)) {
101
+ return null;
102
+ }
103
+
110
104
  const notificationsList = notifications.map((notification, index) => {
111
105
  return /*#__PURE__*/_react.default.createElement("div", {
112
106
  className: _style.default.notification,
113
107
  key: index
114
- }, /*#__PURE__*/_react.default.createElement(_notification.default, notification));
108
+ }, /*#__PURE__*/_react.default.createElement(_banner.default, notification));
115
109
  });
110
+ return /*#__PURE__*/_react.default.createElement("div", {
111
+ className: _style.default.notifications
112
+ }, notificationsList);
113
+ };
116
114
 
117
- const contentView = cont => {
118
- if (!cont) return /*#__PURE__*/_react.default.createElement(_loader.default, null);
119
- const {
120
- type
121
- } = cont;
115
+ const buildHeader = (header, notifications) => {
116
+ const headerStyle = (0, _isEmpty.default)(notifications) ? _style.default.header : _style.default.headerForNotifications;
117
+ return /*#__PURE__*/_react.default.createElement("div", {
118
+ className: headerStyle
119
+ }, /*#__PURE__*/_react.default.createElement(_setupHeader.default, header));
120
+ };
122
121
 
123
- switch (type) {
124
- case 'form':
125
- return /*#__PURE__*/_react.default.createElement(_brandForm.default, cont);
122
+ const buildTabs = items => {
123
+ const selectedTab = (0, _pipe.default)((0, _find.default)(e => e.selected), (0, _get.default)('tabs'), (0, _find.default)(e => e.selected))(items);
124
+ const showTabs = selectedTab && !(0, _isEmpty.default)(selectedTab.subTabs);
125
+ if (!showTabs) return null;
126
+ return /*#__PURE__*/_react.default.createElement("div", {
127
+ className: _style.default.tabs
128
+ }, /*#__PURE__*/_react.default.createElement(_brandTabs.default, {
129
+ type: "light",
130
+ tabs: selectedTab.subTabs
131
+ }));
132
+ };
133
+
134
+ const buildContentView = content => {
135
+ if (!content) {
136
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_loader.default, null));
137
+ }
138
+
139
+ const {
140
+ type
141
+ } = content;
142
+
143
+ switch (type) {
144
+ case 'form':
145
+ return /*#__PURE__*/_react.default.createElement(_brandForm.default, content);
126
146
 
127
- case 'list':
128
- return /*#__PURE__*/_react.default.createElement(_brandTable.default, cont);
147
+ case 'list':
148
+ return /*#__PURE__*/_react.default.createElement(_brandTable.default, content);
129
149
 
130
- case 'upload':
131
- return /*#__PURE__*/_react.default.createElement(_brandUpload.default, cont);
150
+ case 'upload':
151
+ return /*#__PURE__*/_react.default.createElement(_brandUpload.default, content);
132
152
 
133
- case 'analytics-dashboards':
134
- return /*#__PURE__*/_react.default.createElement(_brandAnalytics.default, cont);
153
+ case 'analytics-dashboards':
154
+ return /*#__PURE__*/_react.default.createElement(_brandAnalytics.default, content);
135
155
 
136
- case 'home':
137
- return /*#__PURE__*/_react.default.createElement(_brandDashboard.default, cont);
138
- }
139
- };
156
+ case 'home':
157
+ return /*#__PURE__*/_react.default.createElement(_brandDashboard.default, content);
158
+ }
159
+ };
140
160
 
141
- const detailsView = cont => {
142
- if (!cont) return;
143
- return /*#__PURE__*/_react.default.createElement(_brandTable.default, cont);
144
- };
161
+ const buildDetailsView = details => {
162
+ if (!details) return;
163
+ return /*#__PURE__*/_react.default.createElement(_brandTable.default, details);
164
+ };
145
165
 
166
+ const BrandUpdate = props => {
167
+ const {
168
+ notifications,
169
+ header,
170
+ items,
171
+ content,
172
+ details,
173
+ onItemClick
174
+ } = props;
175
+ const logo = 'https://static.coorpacademy.com/logo/coorp-manager.svg';
176
+ const leftNavigation = buildLeftNavigation(logo, items, onItemClick);
177
+ const notificationsView = buildNotifications(notifications);
178
+ const headerView = buildHeader(header, notifications);
179
+ const tabsView = buildTabs(items);
180
+ const contentView = buildContentView(content);
181
+ const detailsView = buildDetailsView(details);
146
182
  return /*#__PURE__*/_react.default.createElement("div", {
147
183
  className: _style.default.container
148
- }, /*#__PURE__*/_react.default.createElement("div", {
149
- className: _style.default.dashboardAside
150
- }, /*#__PURE__*/_react.default.createElement("div", {
151
- className: _style.default.logo
152
- }, /*#__PURE__*/_react.default.createElement("a", {
153
- href: "/"
154
- }, /*#__PURE__*/_react.default.createElement("img", {
155
- src: logo
156
- }))), /*#__PURE__*/_react.default.createElement(_coorpManager.default, {
157
- tabProps: formattedTabs,
158
- theme: 'setup',
159
- onClick: onItemClick
160
- }, formattedTabsViews)), /*#__PURE__*/_react.default.createElement("div", {
184
+ }, leftNavigation, /*#__PURE__*/_react.default.createElement("div", {
161
185
  className: _style.default.contentWrapper
162
- }, /*#__PURE__*/_react.default.createElement(_setupHeader.default, header), /*#__PURE__*/_react.default.createElement("div", {
163
- className: _style.default.notifications
164
- }, notificationsList), content && content.type === 'home' ? contentView(content) : /*#__PURE__*/_react.default.createElement("div", {
165
- className: _style.default.contentHandler
166
- }, /*#__PURE__*/_react.default.createElement("div", {
167
- className: _style.default.contentView
168
- }, selectedTab && !(0, _isEmpty.default)(selectedTab.subTabs) ? /*#__PURE__*/_react.default.createElement(_brandTabs.default, {
169
- type: "light",
170
- tabs: selectedTab.subTabs
171
- }) : null, /*#__PURE__*/_react.default.createElement("div", {
172
- className: _style.default.dashboardContent
173
- }, /*#__PURE__*/_react.default.createElement("div", null, contentView(content)), /*#__PURE__*/_react.default.createElement("div", null, detailsView(details)))))));
186
+ }, headerView, notificationsView, tabsView, contentView, detailsView));
174
187
  };
175
188
 
176
189
  BrandUpdate.defaultProps = {
177
190
  notifications: []
178
191
  };
179
192
  BrandUpdate.propTypes = process.env.NODE_ENV !== "production" ? {
180
- notifications: _propTypes.default.arrayOf(_propTypes.default.shape(_notification.default.propTypes)),
193
+ notifications: _propTypes.default.arrayOf(_propTypes.default.shape(_banner.default.propTypes)),
181
194
  header: _propTypes.default.shape(_extends({}, _setupHeader.default.propTypes)),
182
195
  items: _propTypes.default.arrayOf(_propTypes.default.shape({
183
196
  key: _propTypes.default.string,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/back-office/brand-update/index.js"],"names":["SubTab","title","href","selected","propTypes","PropTypes","string","isRequired","bool","BrandUpdate","props","notifications","header","items","content","details","onItemClick","logo","selectedTab","e","head","formattedTabs","map","key","type","index","children","iconType","getStyle","isSelected","style","selectedElement","unselectedElement","subTabsView","_subTabs","convert","cap","subTab","_index","formattedTabsViews","tab","tabs","notificationsList","notification","contentView","cont","detailsView","container","dashboardAside","contentWrapper","contentHandler","subTabs","dashboardContent","defaultProps","arrayOf","shape","Notification","Header","oneOfType","BrandForm","oneOf","BrandTable","BrandUpload","BrandAnalytics","BrandDashboard","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport pipe from 'lodash/fp/pipe';\nimport get from 'lodash/fp/get';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport filter from 'lodash/fp/filter';\nimport head from 'lodash/fp/head';\nimport BrandTabs from '../../../molecule/brand-tabs';\nimport {IconLinkItem, LinkItem} from '../../../organism/sidebar';\nimport BrandForm from '../../../organism/brand-form';\nimport BrandTable from '../../../organism/brand-table';\nimport BrandUpload from '../../../organism/brand-upload';\nimport BrandAnalytics from '../../../organism/brand-analytics';\nimport BrandDashboard from '../../../organism/brand-dashboard';\nimport Notification from '../../../atom/notification';\nimport Header from '../../../organism/setup-header';\nimport Loader from '../../../atom/loader';\nimport Accordion from '../../../organism/accordion/coorp-manager';\nimport style from './style.css';\n\nconst SubTab = ({title, href, selected}) => {\n return <h5>{title}</h5>;\n};\n\nSubTab.propTypes = {\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired\n};\n\nconst BrandUpdate = props => {\n const {notifications, header, items, content, details, onItemClick} = props;\n const logo = 'https://static.coorpacademy.com/logo/coorp-manager.svg';\n const selectedTab = pipe(\n filter(e => e.selected),\n head,\n get('tabs'),\n filter(e => e.selected),\n head\n )(items);\n\n const formattedTabs = items.map(({key, title, href, selected, type = 'simpleTab'}, index) => ({\n title,\n selected,\n type,\n href,\n index,\n children: [],\n iconType: key || 'arrow'\n }));\n\n const getStyle = isSelected => (isSelected ? style.selectedElement : style.unselectedElement);\n\n const subTabsView = (_subTabs = []) =>\n map.convert({cap: false})((subTab, _index) => (\n <div key={subTab.title}>\n {subTab.type === 'iconLink' ? (\n <IconLinkItem\n {...subTab}\n styles={getStyle(subTab.selected)}\n uppercase={false}\n target={'_blank'}\n />\n ) : (\n <LinkItem {...subTab} styles={getStyle(subTab.selected)} uppercase={false} />\n )}\n </div>\n ))(_subTabs);\n\n const formattedTabsViews = map(tab => (\n <div key={tab.title} className={style.tabs}>\n {subTabsView(tab.tabs)}\n </div>\n ))(items);\n\n const notificationsList = notifications.map((notification, index) => {\n return (\n <div className={style.notification} key={index}>\n <Notification {...notification} />\n </div>\n );\n });\n\n const contentView = cont => {\n if (!cont) return <Loader />;\n const {type} = cont;\n switch (type) {\n case 'form':\n return <BrandForm {...cont} />;\n case 'list':\n return <BrandTable {...cont} />;\n case 'upload':\n return <BrandUpload {...cont} />;\n case 'analytics-dashboards':\n return <BrandAnalytics {...cont} />;\n case 'home':\n return <BrandDashboard {...cont} />;\n }\n };\n\n const detailsView = cont => {\n if (!cont) return;\n return <BrandTable {...cont} />;\n };\n\n return (\n <div className={style.container}>\n <div className={style.dashboardAside}>\n <div className={style.logo}>\n <a href=\"/\">\n <img src={logo} />\n </a>\n </div>\n <Accordion tabProps={formattedTabs} theme={'setup'} onClick={onItemClick}>\n {formattedTabsViews}\n </Accordion>\n </div>\n <div className={style.contentWrapper}>\n <Header {...header} />\n <div className={style.notifications}>{notificationsList}</div>\n {content && content.type === 'home' ? (\n contentView(content)\n ) : (\n <div className={style.contentHandler}>\n <div className={style.contentView}>\n {selectedTab && !isEmpty(selectedTab.subTabs) ? (\n <BrandTabs type=\"light\" tabs={selectedTab.subTabs} />\n ) : null}\n <div className={style.dashboardContent}>\n <div>{contentView(content)}</div>\n <div>{detailsView(details)}</div>\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n};\n\nBrandUpdate.defaultProps = {\n notifications: []\n};\n\nBrandUpdate.propTypes = {\n notifications: PropTypes.arrayOf(PropTypes.shape(Notification.propTypes)),\n header: PropTypes.shape({...Header.propTypes}),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string,\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string,\n subTabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string\n })\n )\n })\n )\n })\n ).isRequired,\n content: PropTypes.oneOfType([\n PropTypes.shape({\n ...BrandForm.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['form'])\n }),\n PropTypes.shape({\n ...BrandTable.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list'])\n }),\n PropTypes.shape({\n ...BrandUpload.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['upload'])\n }),\n PropTypes.shape({\n ...BrandAnalytics.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['analytics-dashboards'])\n }),\n PropTypes.shape({\n ...BrandDashboard.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['home'])\n })\n ]),\n details: PropTypes.shape({\n ...BrandTable.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list'])\n }),\n onItemClick: PropTypes.func\n};\n\nexport default BrandUpdate;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/back-office/brand-update/index.js"],"names":["getStyle","isSelected","style","selectedElement","unselectedElement","subTabsView","_subTabs","map","convert","cap","subTab","_index","title","type","selected","buildLeftNavigation","logo","items","onItemClick","formattedTabs","key","href","index","children","iconType","formattedTabsViews","tab","tabs","leftMenu","buildNotifications","notifications","notificationsList","notification","buildHeader","header","headerStyle","headerForNotifications","buildTabs","selectedTab","e","showTabs","subTabs","buildContentView","content","buildDetailsView","details","BrandUpdate","props","leftNavigation","notificationsView","headerView","tabsView","contentView","detailsView","container","contentWrapper","defaultProps","propTypes","PropTypes","arrayOf","shape","Banner","Header","string","isRequired","bool","oneOfType","BrandForm","oneOf","BrandTable","BrandUpload","BrandAnalytics","BrandDashboard","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport pipe from 'lodash/fp/pipe';\nimport get from 'lodash/fp/get';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport find from 'lodash/fp/find';\nimport BrandTabs from '../../../molecule/brand-tabs';\nimport {IconLinkItem, LinkItem} from '../../../organism/sidebar';\nimport BrandForm from '../../../organism/brand-form';\nimport BrandTable from '../../../organism/brand-table';\nimport BrandUpload from '../../../organism/brand-upload';\nimport BrandAnalytics from '../../../organism/brand-analytics';\nimport BrandDashboard from '../../../organism/brand-dashboard';\nimport Banner from '../../../molecule/banner';\nimport Header from '../../../organism/setup-header';\nimport Loader from '../../../atom/loader';\nimport Accordion from '../../../organism/accordion/coorp-manager';\nimport style from './style.css';\n\nconst getStyle = isSelected => (isSelected ? style.selectedElement : style.unselectedElement);\n\nconst subTabsView = (_subTabs = []) =>\n map.convert({cap: false})((subTab, _index) => (\n <div key={subTab.title}>\n {subTab.type === 'iconLink' ? (\n <IconLinkItem\n {...subTab}\n styles={getStyle(subTab.selected)}\n uppercase={false}\n target={'_blank'}\n />\n ) : (\n <LinkItem {...subTab} styles={getStyle(subTab.selected)} uppercase={false} />\n )}\n </div>\n ))(_subTabs);\n\n// TODO: this fonction should be replaced by a molecule to avoid this file to be unreadable\nconst buildLeftNavigation = (logo, items, onItemClick) => {\n const formattedTabs = items.map(({key, title, href, selected, type = 'simpleTab'}, index) => ({\n title,\n selected,\n type,\n href,\n index,\n children: [],\n iconType: key || 'arrow'\n }));\n\n const formattedTabsViews = map(tab => (\n <div key={tab.title} className={style.subTabsView}>\n {subTabsView(tab.tabs)}\n </div>\n ))(items);\n\n return (\n <div className={style.leftMenu}>\n <div className={style.logo}>\n <a href=\"/\">\n <img src={logo} />\n </a>\n </div>\n <Accordion tabProps={formattedTabs} theme={'setup'} onClick={onItemClick}>\n {formattedTabsViews}\n </Accordion>\n </div>\n );\n};\n\nconst buildNotifications = notifications => {\n if (isEmpty(notifications)) {\n return null;\n }\n\n const notificationsList = notifications.map((notification, index) => {\n return (\n <div className={style.notification} key={index}>\n <Banner {...notification} />\n </div>\n );\n });\n return <div className={style.notifications}>{notificationsList}</div>;\n};\n\nconst buildHeader = (header, notifications) => {\n const headerStyle = isEmpty(notifications) ? style.header : style.headerForNotifications;\n return (\n <div className={headerStyle}>\n <Header {...header} />\n </div>\n );\n};\n\nconst buildTabs = items => {\n const selectedTab = pipe(\n find(e => e.selected),\n get('tabs'),\n find(e => e.selected)\n )(items);\n\n const showTabs = selectedTab && !isEmpty(selectedTab.subTabs);\n if (!showTabs) return null;\n return (\n <div className={style.tabs}>\n <BrandTabs type=\"light\" tabs={selectedTab.subTabs} />\n </div>\n );\n};\n\nconst buildContentView = content => {\n if (!content) {\n return (\n <div>\n <Loader />\n </div>\n );\n }\n\n const {type} = content;\n switch (type) {\n case 'form':\n return <BrandForm {...content} />;\n case 'list':\n return <BrandTable {...content} />;\n case 'upload':\n return <BrandUpload {...content} />;\n case 'analytics-dashboards':\n return <BrandAnalytics {...content} />;\n case 'home':\n return <BrandDashboard {...content} />;\n }\n};\n\nconst buildDetailsView = details => {\n if (!details) return;\n return <BrandTable {...details} />;\n};\n\nconst BrandUpdate = props => {\n const {notifications, header, items, content, details, onItemClick} = props;\n const logo = 'https://static.coorpacademy.com/logo/coorp-manager.svg';\n\n const leftNavigation = buildLeftNavigation(logo, items, onItemClick);\n const notificationsView = buildNotifications(notifications);\n const headerView = buildHeader(header, notifications);\n const tabsView = buildTabs(items);\n const contentView = buildContentView(content);\n const detailsView = buildDetailsView(details);\n\n return (\n <div className={style.container}>\n {leftNavigation}\n <div className={style.contentWrapper}>\n {headerView}\n {notificationsView}\n {tabsView}\n {contentView}\n {detailsView}\n </div>\n </div>\n );\n};\n\nBrandUpdate.defaultProps = {\n notifications: []\n};\n\nBrandUpdate.propTypes = {\n notifications: PropTypes.arrayOf(PropTypes.shape(Banner.propTypes)),\n header: PropTypes.shape({...Header.propTypes}),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string,\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string,\n subTabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string\n })\n )\n })\n )\n })\n ).isRequired,\n content: PropTypes.oneOfType([\n PropTypes.shape({\n ...BrandForm.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['form'])\n }),\n PropTypes.shape({\n ...BrandTable.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list'])\n }),\n PropTypes.shape({\n ...BrandUpload.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['upload'])\n }),\n PropTypes.shape({\n ...BrandAnalytics.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['analytics-dashboards'])\n }),\n PropTypes.shape({\n ...BrandDashboard.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['home'])\n })\n ]),\n details: PropTypes.shape({\n ...BrandTable.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list'])\n }),\n onItemClick: PropTypes.func\n};\n\nexport default BrandUpdate;\n"],"file":"index.js"}