@coorpacademy/components 11.6.1 → 11.7.3-alpha.3

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 (125) hide show
  1. package/es/atom/select/index.d.ts +1 -0
  2. package/es/atom/select/index.d.ts.map +1 -1
  3. package/es/atom/select/index.js +55 -14
  4. package/es/atom/select/index.js.map +1 -1
  5. package/es/molecule/answer/index.d.ts.map +1 -1
  6. package/es/molecule/answer/index.js +1 -9
  7. package/es/molecule/answer/index.js.map +1 -1
  8. package/es/molecule/brand-form-group/index.d.ts +2 -0
  9. package/es/molecule/empty-state-dashboard/index.d.ts +23 -0
  10. package/es/molecule/empty-state-dashboard/index.d.ts.map +1 -0
  11. package/es/molecule/empty-state-dashboard/index.js +31 -0
  12. package/es/molecule/empty-state-dashboard/index.js.map +1 -0
  13. package/es/molecule/empty-state-dashboard/style.css +55 -0
  14. package/es/molecule/empty-state-dashboard/types.d.ts +19 -0
  15. package/es/molecule/empty-state-dashboard/types.d.ts.map +1 -0
  16. package/es/molecule/empty-state-dashboard/types.js +19 -0
  17. package/es/molecule/empty-state-dashboard/types.js.map +1 -0
  18. package/es/molecule/filters/index.d.ts +1 -0
  19. package/es/molecule/filters/index.d.ts.map +1 -1
  20. package/es/molecule/setup-slide/index.d.ts +1 -0
  21. package/es/molecule/setup-slider/index.d.ts +1 -0
  22. package/es/organism/brand-form/index.d.ts +2 -0
  23. package/es/organism/list-item/index.d.ts +8 -6
  24. package/es/organism/list-item/index.d.ts.map +1 -1
  25. package/es/organism/list-item/index.js +16 -2
  26. package/es/organism/list-item/index.js.map +1 -1
  27. package/es/organism/list-item/style.css +18 -0
  28. package/es/organism/list-items/index.d.ts +2 -0
  29. package/es/organism/list-items/index.js +5 -1
  30. package/es/organism/list-items/index.js.map +1 -1
  31. package/es/organism/wizard-contents/index.d.ts +2 -0
  32. package/es/template/activity/index.d.ts +36 -40
  33. package/es/template/activity/index.d.ts.map +1 -1
  34. package/es/template/activity/index.js +89 -111
  35. package/es/template/activity/index.js.map +1 -1
  36. package/es/template/activity/stars-summary.d.ts +9 -18
  37. package/es/template/activity/stars-summary.d.ts.map +1 -1
  38. package/es/template/activity/stars-summary.js +94 -122
  39. package/es/template/activity/stars-summary.js.map +1 -1
  40. package/es/template/back-office/brand-update/index.d.ts +24 -0
  41. package/es/template/back-office/brand-update/index.d.ts.map +1 -1
  42. package/es/template/back-office/brand-update/index.js +12 -3
  43. package/es/template/back-office/brand-update/index.js.map +1 -1
  44. package/es/template/back-office/brand-update/style.css +5 -1
  45. package/es/template/common/search-page/index.d.ts +1 -0
  46. package/es/util/button-icons.d.ts +1 -0
  47. package/es/util/button-icons.d.ts.map +1 -1
  48. package/es/util/button-icons.js +3 -2
  49. package/es/util/button-icons.js.map +1 -1
  50. package/lib/atom/select/index.d.ts +1 -0
  51. package/lib/atom/select/index.d.ts.map +1 -1
  52. package/lib/atom/select/index.js +53 -12
  53. package/lib/atom/select/index.js.map +1 -1
  54. package/lib/molecule/answer/index.d.ts.map +1 -1
  55. package/lib/molecule/answer/index.js +1 -10
  56. package/lib/molecule/answer/index.js.map +1 -1
  57. package/lib/molecule/brand-form-group/index.d.ts +2 -0
  58. package/lib/molecule/empty-state-dashboard/index.d.ts +23 -0
  59. package/lib/molecule/empty-state-dashboard/index.d.ts.map +1 -0
  60. package/lib/molecule/empty-state-dashboard/index.js +42 -0
  61. package/lib/molecule/empty-state-dashboard/index.js.map +1 -0
  62. package/lib/molecule/empty-state-dashboard/style.css +55 -0
  63. package/lib/molecule/empty-state-dashboard/types.d.ts +19 -0
  64. package/lib/molecule/empty-state-dashboard/types.d.ts.map +1 -0
  65. package/lib/molecule/empty-state-dashboard/types.js +29 -0
  66. package/lib/molecule/empty-state-dashboard/types.js.map +1 -0
  67. package/lib/molecule/filters/index.d.ts +1 -0
  68. package/lib/molecule/filters/index.d.ts.map +1 -1
  69. package/lib/molecule/setup-slide/index.d.ts +1 -0
  70. package/lib/molecule/setup-slider/index.d.ts +1 -0
  71. package/lib/organism/brand-form/index.d.ts +2 -0
  72. package/lib/organism/list-item/index.d.ts +8 -6
  73. package/lib/organism/list-item/index.d.ts.map +1 -1
  74. package/lib/organism/list-item/index.js +16 -2
  75. package/lib/organism/list-item/index.js.map +1 -1
  76. package/lib/organism/list-item/style.css +18 -0
  77. package/lib/organism/list-items/index.d.ts +2 -0
  78. package/lib/organism/list-items/index.js +5 -1
  79. package/lib/organism/list-items/index.js.map +1 -1
  80. package/lib/organism/wizard-contents/index.d.ts +2 -0
  81. package/lib/template/activity/index.d.ts +36 -40
  82. package/lib/template/activity/index.d.ts.map +1 -1
  83. package/lib/template/activity/index.js +95 -110
  84. package/lib/template/activity/index.js.map +1 -1
  85. package/lib/template/activity/stars-summary.d.ts +9 -18
  86. package/lib/template/activity/stars-summary.d.ts.map +1 -1
  87. package/lib/template/activity/stars-summary.js +90 -119
  88. package/lib/template/activity/stars-summary.js.map +1 -1
  89. package/lib/template/back-office/brand-update/index.d.ts +24 -0
  90. package/lib/template/back-office/brand-update/index.d.ts.map +1 -1
  91. package/lib/template/back-office/brand-update/index.js +13 -3
  92. package/lib/template/back-office/brand-update/index.js.map +1 -1
  93. package/lib/template/back-office/brand-update/style.css +5 -1
  94. package/lib/template/common/search-page/index.d.ts +1 -0
  95. package/lib/util/button-icons.d.ts +1 -0
  96. package/lib/util/button-icons.d.ts.map +1 -1
  97. package/lib/util/button-icons.js +2 -1
  98. package/lib/util/button-icons.js.map +1 -1
  99. package/locales/bs/global.json +8 -1
  100. package/locales/cs/global.json +8 -1
  101. package/locales/de/global.json +8 -1
  102. package/locales/en/global.json +0 -1
  103. package/locales/es/global.json +8 -1
  104. package/locales/et/global.json +8 -1
  105. package/locales/fr/global.json +0 -1
  106. package/locales/hr/global.json +8 -1
  107. package/locales/hu/global.json +8 -1
  108. package/locales/hy/global.json +0 -1
  109. package/locales/it/global.json +8 -1
  110. package/locales/ja/global.json +8 -1
  111. package/locales/ko/global.json +8 -1
  112. package/locales/nl/global.json +8 -1
  113. package/locales/pl/global.json +8 -1
  114. package/locales/pt/global.json +8 -1
  115. package/locales/ro/global.json +8 -1
  116. package/locales/ru/global.json +0 -1
  117. package/locales/sk/global.json +8 -1
  118. package/locales/tl/global.json +8 -1
  119. package/locales/tr/global.json +8 -1
  120. package/locales/uk/global.json +8 -1
  121. package/locales/vi/global.json +8 -1
  122. package/locales/zh/global.json +8 -1
  123. package/locales/zh_TW/global.json +8 -1
  124. package/package.json +2 -2
  125. package/locales/.mtslconfig.json +0 -1
@@ -1,11 +1,12 @@
1
1
  export default StarsSummary;
2
- declare class StarsSummary extends React.Component<any, any, any> {
3
- static propTypes: {
4
- total: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
2
+ declare function StarsSummary(props: any, legacyContext: any): JSX.Element | null;
3
+ declare namespace StarsSummary {
4
+ namespace propTypes {
5
+ const total: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
5
6
  label: PropTypes.Validator<string>;
6
7
  stars: PropTypes.Validator<number>;
7
8
  }>>>;
8
- engines: PropTypes.Requireable<(PropTypes.InferProps<{
9
+ const engines: PropTypes.Validator<(PropTypes.InferProps<{
9
10
  type: PropTypes.Validator<string>;
10
11
  stars: PropTypes.Validator<number>;
11
12
  title: PropTypes.Validator<string>;
@@ -19,9 +20,9 @@ declare class StarsSummary extends React.Component<any, any, any> {
19
20
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
20
21
  }>>;
21
22
  }> | null | undefined)[]>;
22
- };
23
- static contextTypes: {
24
- skin: PropTypes.Requireable<PropTypes.InferProps<{
23
+ }
24
+ namespace contextTypes {
25
+ const skin: PropTypes.Requireable<PropTypes.InferProps<{
25
26
  common: PropTypes.Requireable<{
26
27
  [x: string]: any;
27
28
  }>;
@@ -42,17 +43,7 @@ declare class StarsSummary extends React.Component<any, any, any> {
42
43
  [x: string]: any;
43
44
  }>;
44
45
  }>>;
45
- };
46
- constructor(props: any);
47
- state: {
48
- firstItem: number;
49
- totalItems: any;
50
- };
51
- handleOnLeft(): void;
52
- handleOnRight(): void;
53
- scrollTo(page: any): void;
54
- render(): JSX.Element | null;
46
+ }
55
47
  }
56
- import React from "react";
57
48
  import PropTypes from "prop-types";
58
49
  //# sourceMappingURL=stars-summary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stars-summary.d.ts","sourceRoot":"","sources":["../../../src/template/activity/stars-summary.js"],"names":[],"mappings":";AAkDA;IACE;;;;;;;;;;;;;;;;;;;MAME;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF,wBAYC;IARC;;;MAGC;IAOH,qBAGC;IAED,sBAGC;IAED,0BAIC;IAED,6BAiDC;CACF"}
1
+ {"version":3,"file":"stars-summary.d.ts","sourceRoot":"","sources":["../../../src/template/activity/stars-summary.js"],"names":[],"mappings":";AA0DA,kFAiFC"}
@@ -17,7 +17,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
18
  var _novaIcons = require("@coorpacademy/nova-icons");
19
19
 
20
- var _provider = _interopRequireDefault(require("../../atom/provider"));
20
+ var _provider = _interopRequireWildcard(require("../../atom/provider"));
21
21
 
22
22
  var _engineStars = _interopRequireDefault(require("./engine-stars"));
23
23
 
@@ -34,165 +34,136 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
34
34
  const EngineTab = ({
35
35
  engine,
36
36
  engineIndex,
37
- firstItem
37
+ firstItemIndex
38
38
  }) => {
39
39
  const {
40
40
  type
41
41
  } = engine;
42
- const state = engineIndex < firstItem ? 'hidden' : 'active';
42
+ const state = (0, _react.useMemo)(() => engineIndex < firstItemIndex ? 'hidden' : 'active', [engineIndex, firstItemIndex]);
43
+ const dataName = (0, _react.useMemo)(() => `${type}_total_${state}`, [state, type]);
43
44
  return /*#__PURE__*/_react.default.createElement("li", {
44
45
  className: _starsSummary.default[state],
45
46
  key: type,
46
- "data-name": `${type}_total_${state}`
47
+ "data-name": dataName
47
48
  }, /*#__PURE__*/_react.default.createElement(_engineStars.default, _extends({}, engine, {
48
- className: engineIndex < firstItem ? _starsSummary.default.hidden : _starsSummary.default.active
49
+ className: engineIndex < firstItemIndex ? _starsSummary.default.hidden : _starsSummary.default.active
49
50
  })));
50
51
  };
51
52
 
52
53
  EngineTab.propTypes = process.env.NODE_ENV !== "production" ? {
53
54
  engine: _propTypes.default.shape(_engineStars.default.propTypes),
54
55
  engineIndex: _propTypes.default.number,
55
- firstItem: _propTypes.default.number
56
+ firstItemIndex: _propTypes.default.number
56
57
  } : {};
57
58
 
58
59
  const EngineTabs = ({
59
60
  engines,
60
- firstItem
61
+ firstItemIndex
61
62
  }) => {
62
63
  return (0, _react.useMemo)(() => _map2.default.convert({
63
64
  cap: false
64
65
  })((engine, index) => /*#__PURE__*/_react.default.createElement(EngineTab, {
65
66
  engine: engine,
66
67
  key: `engineTab_${index}`,
67
- firstItem: firstItem,
68
+ firstItemIndex: firstItemIndex,
68
69
  engineIndex: index
69
- }), engines), [engines, firstItem]);
70
+ }), engines), [engines, firstItemIndex]);
70
71
  };
71
72
 
72
73
  EngineTabs.propTypes = process.env.NODE_ENV !== "production" ? {
73
74
  engines: _propTypes.default.arrayOf(_propTypes.default.shape(_engineStars.default.propTypes)),
74
- firstItem: _propTypes.default.number
75
+ firstItemIndex: _propTypes.default.number
75
76
  } : {};
76
77
 
77
- class StarsSummary extends _react.default.Component {
78
- constructor(props) {
79
- super(props);
80
- const {
81
- engines = []
82
- } = props;
83
- this.state = {
84
- firstItem: 0,
85
- totalItems: engines.length
86
- };
87
- this.handleOnLeft = this.handleOnLeft.bind(this);
88
- this.handleOnRight = this.handleOnRight.bind(this);
89
- this.scrollTo = this.scrollTo.bind(this);
90
- }
91
-
92
- handleOnLeft() {
93
- const {
94
- firstItem
95
- } = this.state;
96
- this.scrollTo(firstItem - 1);
97
- }
98
-
99
- handleOnRight() {
100
- const {
101
- firstItem
102
- } = this.state;
103
- this.scrollTo(firstItem + 1);
104
- }
105
-
106
- scrollTo(page) {
107
- this.setState({
108
- firstItem: page
109
- });
78
+ const StarsSummary = (props, legacyContext) => {
79
+ const {
80
+ total,
81
+ engines
82
+ } = props;
83
+ const skin = (0, _provider.GetSkinFromContext)(legacyContext);
84
+ const [firstItemIndex, setFirstItemIndex] = (0, _react.useState)(0);
85
+ const [totalItems] = (0, _react.useState)(engines.length);
86
+ const dark = (0, _getOr2.default)('#90A4AE', 'common.dark', skin);
87
+ const primary = (0, _get2.default)('common.primary', skin);
88
+ const scrollTo = (0, _react.useCallback)(page => setFirstItemIndex(page), []);
89
+ const handleOnLeft = (0, _react.useCallback)(() => {
90
+ scrollTo(firstItemIndex - 1);
91
+ }, [firstItemIndex, scrollTo]);
92
+ const handleOnRight = (0, _react.useCallback)(() => {
93
+ scrollTo(firstItemIndex + 1);
94
+ }, [firstItemIndex, scrollTo]);
95
+
96
+ if ((0, _isEmpty2.default)(engines)) {
97
+ return null;
110
98
  }
111
99
 
112
- render() {
113
- const {
114
- total,
115
- engines = []
116
- } = this.props;
117
- const {
118
- skin
119
- } = this.context;
120
- const {
121
- firstItem,
122
- totalItems
123
- } = this.state;
124
- const dark = (0, _getOr2.default)('#90A4AE', 'common.dark', skin);
125
- const primary = (0, _get2.default)('common.primary', skin);
126
-
127
- if ((0, _isEmpty2.default)(engines)) {
128
- return null;
100
+ const leftArrowView = totalItems > 6 && firstItemIndex > 0 ? /*#__PURE__*/_react.default.createElement("div", {
101
+ className: _starsSummary.default.circle,
102
+ onClick: handleOnLeft,
103
+ "data-name": "left-arrow",
104
+ "data-testid": "stars-summary-left-arrow"
105
+ }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowLeft, {
106
+ color: dark,
107
+ className: _starsSummary.default.left,
108
+ width: 10,
109
+ height: 10
110
+ })) : null;
111
+ const rightArrowView = totalItems > 6 && firstItemIndex < totalItems - 6 ? /*#__PURE__*/_react.default.createElement("div", {
112
+ className: _starsSummary.default.circle,
113
+ onClick: handleOnRight,
114
+ "data-name": "right-arrow",
115
+ "data-testid": "stars-summary-right-arrow"
116
+ }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowRight, {
117
+ color: dark,
118
+ className: _starsSummary.default.right,
119
+ width: 10,
120
+ height: 10
121
+ })) : null;
122
+ return /*#__PURE__*/_react.default.createElement("div", {
123
+ "data-name": "myStars",
124
+ className: _starsSummary.default.myStars
125
+ }, /*#__PURE__*/_react.default.createElement("div", {
126
+ "data-name": "myStars-wrapper",
127
+ className: _starsSummary.default.myStarsWrapper,
128
+ "data-testid": `stars-summary-engine-index-${firstItemIndex}`
129
+ }, /*#__PURE__*/_react.default.createElement("ul", {
130
+ className: _starsSummary.default.allStars,
131
+ "data-name": "engineList",
132
+ "data-testid": "stars-summary-engine-tabs"
133
+ }, /*#__PURE__*/_react.default.createElement(EngineTabs, {
134
+ engines: engines,
135
+ firstItemIndex: firstItemIndex
136
+ })), /*#__PURE__*/_react.default.createElement("div", {
137
+ className: _starsSummary.default.footerSummaryStars,
138
+ style: {
139
+ backgroundColor: primary
129
140
  }
130
-
131
- const leftArrowView = totalItems > 6 && firstItem > 0 ? /*#__PURE__*/_react.default.createElement("div", {
132
- className: _starsSummary.default.circle,
133
- onClick: this.handleOnLeft,
134
- "data-name": "left-arrow"
135
- }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowLeft, {
136
- color: dark,
137
- className: _starsSummary.default.left,
138
- width: 10,
139
- height: 10
140
- })) : null;
141
- const rightArrowView = totalItems > 6 && firstItem < totalItems - 6 ? /*#__PURE__*/_react.default.createElement("div", {
142
- className: _starsSummary.default.circle,
143
- onClick: this.handleOnRight,
144
- "data-name": "right-arrow"
145
- }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowRight, {
146
- color: dark,
147
- className: _starsSummary.default.right,
148
- width: 10,
149
- height: 10
150
- })) : null;
151
- return /*#__PURE__*/_react.default.createElement("div", {
152
- "data-name": "myStars",
153
- className: _starsSummary.default.myStars
154
- }, /*#__PURE__*/_react.default.createElement("div", {
155
- "data-name": "myStars-wrapper",
156
- className: _starsSummary.default.myStarsWrapper
157
- }, /*#__PURE__*/_react.default.createElement("ul", {
158
- className: _starsSummary.default.allStars,
159
- "data-name": "engineList"
160
- }, /*#__PURE__*/_react.default.createElement(EngineTabs, {
161
- engines: engines,
162
- firstItem: firstItem
163
- })), /*#__PURE__*/_react.default.createElement("div", {
164
- className: _starsSummary.default.footerSummaryStars,
165
- style: {
166
- backgroundColor: primary
167
- }
168
- }, /*#__PURE__*/_react.default.createElement("div", {
169
- className: _starsSummary.default.totalStars
170
- }, /*#__PURE__*/_react.default.createElement("span", null, total.label), /*#__PURE__*/_react.default.createElement("p", {
171
- "data-name": "star-counter"
172
- }, total.stars), /*#__PURE__*/_react.default.createElement("div", {
173
- className: _starsSummary.default.iconBubble
174
- }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyStar, {
175
- className: _starsSummary.default.iconHeader,
176
- color: primary
177
- }))), /*#__PURE__*/_react.default.createElement("div", {
178
- className: _starsSummary.default.navigationLeft
179
- }, leftArrowView), /*#__PURE__*/_react.default.createElement("div", {
180
- className: _starsSummary.default.navigationRight
181
- }, rightArrowView))));
182
- }
183
-
184
- }
185
-
186
- StarsSummary.contextTypes = {
187
- skin: _provider.default.childContextTypes.skin
141
+ }, /*#__PURE__*/_react.default.createElement("div", {
142
+ className: _starsSummary.default.totalStars
143
+ }, /*#__PURE__*/_react.default.createElement("span", null, total.label), /*#__PURE__*/_react.default.createElement("p", {
144
+ "data-name": "star-counter"
145
+ }, total.stars), /*#__PURE__*/_react.default.createElement("div", {
146
+ className: _starsSummary.default.iconBubble
147
+ }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyStar, {
148
+ className: _starsSummary.default.iconHeader,
149
+ color: primary
150
+ }))), /*#__PURE__*/_react.default.createElement("div", {
151
+ className: _starsSummary.default.navigationLeft
152
+ }, leftArrowView), /*#__PURE__*/_react.default.createElement("div", {
153
+ className: _starsSummary.default.navigationRight
154
+ }, rightArrowView))));
188
155
  };
156
+
189
157
  StarsSummary.propTypes = process.env.NODE_ENV !== "production" ? {
190
158
  total: _propTypes.default.shape({
191
159
  label: _propTypes.default.string.isRequired,
192
160
  stars: _propTypes.default.number.isRequired
193
161
  }).isRequired,
194
- engines: _propTypes.default.arrayOf(_propTypes.default.shape(_engineStars.default.propTypes))
162
+ engines: _propTypes.default.arrayOf(_propTypes.default.shape(_engineStars.default.propTypes)).isRequired
195
163
  } : {};
164
+ StarsSummary.contextTypes = {
165
+ skin: _provider.default.childContextTypes.skin
166
+ };
196
167
  var _default = StarsSummary;
197
168
  exports.default = _default;
198
169
  //# sourceMappingURL=stars-summary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stars-summary.js","names":["EngineTab","engine","engineIndex","firstItem","type","state","style","hidden","active","propTypes","PropTypes","shape","EngineStars","number","EngineTabs","engines","useMemo","convert","cap","index","arrayOf","StarsSummary","React","Component","constructor","props","totalItems","length","handleOnLeft","bind","handleOnRight","scrollTo","page","setState","render","total","skin","context","dark","primary","leftArrowView","circle","left","rightArrowView","right","myStars","myStarsWrapper","allStars","footerSummaryStars","backgroundColor","totalStars","label","stars","iconBubble","iconHeader","navigationLeft","navigationRight","contextTypes","Provider","childContextTypes","string","isRequired"],"sources":["../../../src/template/activity/stars-summary.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyStar as StarIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport EngineStars from './engine-stars';\nimport style from './stars-summary.css';\n\nconst EngineTab = ({engine, engineIndex, firstItem}) => {\n const {type} = engine;\n const state = engineIndex < firstItem ? 'hidden' : 'active';\n return (\n <li className={style[state]} key={type} data-name={`${type}_total_${state}`}>\n <EngineStars {...engine} className={engineIndex < firstItem ? style.hidden : style.active} />\n </li>\n );\n};\nEngineTab.propTypes = {\n engine: PropTypes.shape(EngineStars.propTypes),\n engineIndex: PropTypes.number,\n firstItem: PropTypes.number\n};\n\nconst EngineTabs = ({engines, firstItem}) => {\n return useMemo(\n () =>\n map.convert({cap: false})(\n (engine, index) => (\n <EngineTab\n engine={engine}\n key={`engineTab_${index}`}\n firstItem={firstItem}\n engineIndex={index}\n />\n ),\n engines\n ),\n [engines, firstItem]\n );\n};\n\nEngineTabs.propTypes = {\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n firstItem: PropTypes.number\n};\n\nclass StarsSummary extends React.Component {\n static propTypes = {\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes))\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n\n const {engines = []} = props;\n this.state = {\n firstItem: 0,\n totalItems: engines.length\n };\n\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n }\n\n handleOnLeft() {\n const {firstItem} = this.state;\n this.scrollTo(firstItem - 1);\n }\n\n handleOnRight() {\n const {firstItem} = this.state;\n this.scrollTo(firstItem + 1);\n }\n\n scrollTo(page) {\n this.setState({\n firstItem: page\n });\n }\n\n render() {\n const {total, engines = []} = this.props;\n const {skin} = this.context;\n const {firstItem, totalItems} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const primary = get('common.primary', skin);\n\n if (isEmpty(engines)) {\n return null;\n }\n const leftArrowView =\n totalItems > 6 && firstItem > 0 ? (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"left-arrow\">\n <ArrowLeft color={dark} className={style.left} width={10} height={10} />\n </div>\n ) : null;\n\n const rightArrowView =\n totalItems > 6 && firstItem < totalItems - 6 ? (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"right-arrow\">\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"myStars\" className={style.myStars}>\n <div data-name=\"myStars-wrapper\" className={style.myStarsWrapper}>\n <ul className={style.allStars} data-name=\"engineList\">\n <EngineTabs engines={engines} firstItem={firstItem} />\n </ul>\n <div\n className={style.footerSummaryStars}\n style={{\n backgroundColor: primary\n }}\n >\n <div className={style.totalStars}>\n <span>{total.label}</span>\n <p data-name=\"star-counter\">{total.stars}</p>\n <div className={style.iconBubble}>\n <StarIcon className={style.iconHeader} color={primary} />\n </div>\n </div>\n <div className={style.navigationLeft}>{leftArrowView}</div>\n <div className={style.navigationRight}>{rightArrowView}</div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default StarsSummary;\n"],"mappings":"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"}
1
+ {"version":3,"file":"stars-summary.js","names":["EngineTab","engine","engineIndex","firstItemIndex","type","state","useMemo","dataName","style","hidden","active","propTypes","PropTypes","shape","EngineStars","number","EngineTabs","engines","convert","cap","index","arrayOf","StarsSummary","props","legacyContext","total","skin","GetSkinFromContext","setFirstItemIndex","useState","totalItems","length","dark","primary","scrollTo","useCallback","page","handleOnLeft","handleOnRight","leftArrowView","circle","left","rightArrowView","right","myStars","myStarsWrapper","allStars","footerSummaryStars","backgroundColor","totalStars","label","stars","iconBubble","iconHeader","navigationLeft","navigationRight","string","isRequired","contextTypes","Provider","childContextTypes"],"sources":["../../../src/template/activity/stars-summary.js"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyStar as StarIcon\n} from '@coorpacademy/nova-icons';\nimport Provider, {GetSkinFromContext} from '../../atom/provider';\nimport EngineStars from './engine-stars';\nimport style from './stars-summary.css';\n\nconst EngineTab = ({engine, engineIndex, firstItemIndex}) => {\n const {type} = engine;\n const state = useMemo(\n () => (engineIndex < firstItemIndex ? 'hidden' : 'active'),\n [engineIndex, firstItemIndex]\n );\n const dataName = useMemo(() => `${type}_total_${state}`, [state, type]);\n\n return (\n <li className={style[state]} key={type} data-name={dataName}>\n <EngineStars\n {...engine}\n className={engineIndex < firstItemIndex ? style.hidden : style.active}\n />\n </li>\n );\n};\nEngineTab.propTypes = {\n engine: PropTypes.shape(EngineStars.propTypes),\n engineIndex: PropTypes.number,\n firstItemIndex: PropTypes.number\n};\n\nconst EngineTabs = ({engines, firstItemIndex}) => {\n return useMemo(\n () =>\n map.convert({cap: false})(\n (engine, index) => (\n <EngineTab\n engine={engine}\n key={`engineTab_${index}`}\n firstItemIndex={firstItemIndex}\n engineIndex={index}\n />\n ),\n engines\n ),\n [engines, firstItemIndex]\n );\n};\n\nEngineTabs.propTypes = {\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n firstItemIndex: PropTypes.number\n};\n\nconst StarsSummary = (props, legacyContext) => {\n const {total, engines} = props;\n const skin = GetSkinFromContext(legacyContext);\n\n const [firstItemIndex, setFirstItemIndex] = useState(0);\n const [totalItems] = useState(engines.length);\n\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const primary = get('common.primary', skin);\n\n const scrollTo = useCallback(page => setFirstItemIndex(page), []);\n\n const handleOnLeft = useCallback(() => {\n scrollTo(firstItemIndex - 1);\n }, [firstItemIndex, scrollTo]);\n\n const handleOnRight = useCallback(() => {\n scrollTo(firstItemIndex + 1);\n }, [firstItemIndex, scrollTo]);\n\n if (isEmpty(engines)) {\n return null;\n }\n\n const leftArrowView =\n totalItems > 6 && firstItemIndex > 0 ? (\n <div\n className={style.circle}\n onClick={handleOnLeft}\n data-name=\"left-arrow\"\n data-testid=\"stars-summary-left-arrow\"\n >\n <ArrowLeft color={dark} className={style.left} width={10} height={10} />\n </div>\n ) : null;\n\n const rightArrowView =\n totalItems > 6 && firstItemIndex < totalItems - 6 ? (\n <div\n className={style.circle}\n onClick={handleOnRight}\n data-name=\"right-arrow\"\n data-testid=\"stars-summary-right-arrow\"\n >\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"myStars\" className={style.myStars}>\n <div\n data-name=\"myStars-wrapper\"\n className={style.myStarsWrapper}\n data-testid={`stars-summary-engine-index-${firstItemIndex}`}\n >\n <ul\n className={style.allStars}\n data-name=\"engineList\"\n data-testid=\"stars-summary-engine-tabs\"\n >\n <EngineTabs engines={engines} firstItemIndex={firstItemIndex} />\n </ul>\n <div\n className={style.footerSummaryStars}\n style={{\n backgroundColor: primary\n }}\n >\n <div className={style.totalStars}>\n <span>{total.label}</span>\n <p data-name=\"star-counter\">{total.stars}</p>\n <div className={style.iconBubble}>\n <StarIcon className={style.iconHeader} color={primary} />\n </div>\n </div>\n <div className={style.navigationLeft}>{leftArrowView}</div>\n <div className={style.navigationRight}>{rightArrowView}</div>\n </div>\n </div>\n </div>\n );\n};\n\nStarsSummary.propTypes = {\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)).isRequired\n};\n\nStarsSummary.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default StarsSummary;\n"],"mappings":"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"}
@@ -231,6 +231,7 @@ declare namespace BrandUpdate {
231
231
  modified: PropTypes.Requireable<boolean>;
232
232
  error: PropTypes.Requireable<boolean>;
233
233
  'aria-label': PropTypes.Requireable<string>;
234
+ 'aria-labelledby': PropTypes.Requireable<string>;
234
235
  }> | PropTypes.InferProps<{
235
236
  type: PropTypes.Requireable<string>;
236
237
  title: PropTypes.Validator<string>;
@@ -335,6 +336,7 @@ declare namespace BrandUpdate {
335
336
  modified: PropTypes.Requireable<boolean>;
336
337
  error: PropTypes.Requireable<boolean>;
337
338
  'aria-label': PropTypes.Requireable<string>;
339
+ 'aria-labelledby': PropTypes.Requireable<string>;
338
340
  }> | PropTypes.InferProps<{
339
341
  type: PropTypes.Requireable<string>;
340
342
  title: PropTypes.Validator<string>;
@@ -854,6 +856,7 @@ declare namespace BrandUpdate {
854
856
  modified: PropTypes.Requireable<boolean>;
855
857
  error: PropTypes.Requireable<boolean>;
856
858
  'aria-label': PropTypes.Requireable<string>;
859
+ 'aria-labelledby': PropTypes.Requireable<string>;
857
860
  }> | PropTypes.InferProps<{
858
861
  type: PropTypes.Requireable<string>;
859
862
  title: PropTypes.Validator<string>;
@@ -958,6 +961,7 @@ declare namespace BrandUpdate {
958
961
  modified: PropTypes.Requireable<boolean>;
959
962
  error: PropTypes.Requireable<boolean>;
960
963
  'aria-label': PropTypes.Requireable<string>;
964
+ 'aria-labelledby': PropTypes.Requireable<string>;
961
965
  }> | PropTypes.InferProps<{
962
966
  type: PropTypes.Requireable<string>;
963
967
  title: PropTypes.Validator<string>;
@@ -1443,8 +1447,27 @@ declare namespace BrandUpdate {
1443
1447
  type: PropTypes.Requireable<string>;
1444
1448
  }> | null | undefined)[]>;
1445
1449
  title: PropTypes.Validator<string>;
1450
+ order: PropTypes.Requireable<number>;
1451
+ 'aria-label': PropTypes.Requireable<string>;
1446
1452
  }> | null | undefined)[]>;
1447
1453
  title: PropTypes.Requireable<string>;
1454
+ }> | PropTypes.InferProps<{
1455
+ key: PropTypes.Requireable<string>;
1456
+ type: PropTypes.Requireable<string>;
1457
+ mainText: PropTypes.Requireable<string>;
1458
+ subText: PropTypes.Requireable<string>;
1459
+ imageUrl: PropTypes.Requireable<any>;
1460
+ buttonLink: PropTypes.Requireable<PropTypes.InferProps<{
1461
+ type: PropTypes.Requireable<string>;
1462
+ label: PropTypes.Requireable<string>;
1463
+ ariaLabel: PropTypes.Requireable<string>;
1464
+ dataName: PropTypes.Requireable<string>;
1465
+ icon: PropTypes.Requireable<PropTypes.InferProps<{
1466
+ position: PropTypes.Requireable<string>;
1467
+ type: PropTypes.Requireable<string>;
1468
+ }>>;
1469
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
1470
+ }>>;
1448
1471
  }> | null | undefined>>;
1449
1472
  export const documentation: PropTypes.Requireable<PropTypes.InferProps<{
1450
1473
  content: PropTypes.Requireable<string>;
@@ -1543,6 +1566,7 @@ declare namespace BrandUpdate {
1543
1566
  headerTitle: PropTypes.Requireable<string>;
1544
1567
  }>>;
1545
1568
  export const onItemClick: PropTypes.Requireable<(...args: any[]) => any>;
1569
+ export const contentFixHeight: PropTypes.Requireable<boolean>;
1546
1570
  }
1547
1571
  }
1548
1572
  import PropTypes from "prop-types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/back-office/brand-update/index.js"],"names":[],"mappings":";AAmLA,sDAkCC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/back-office/brand-update/index.js"],"names":[],"mappings":";AAsLA,sDA6CC"}
@@ -49,6 +49,8 @@ var _cmPopin = _interopRequireDefault(require("../../../molecule/cm-popin"));
49
49
 
50
50
  var _buttonLinkIconOnly = _interopRequireDefault(require("../../../atom/button-link-icon-only"));
51
51
 
52
+ var _emptyStateDashboard = _interopRequireDefault(require("../../../molecule/empty-state-dashboard"));
53
+
52
54
  var _style = _interopRequireDefault(require("./style.css"));
53
55
 
54
56
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -206,6 +208,9 @@ const buildContentView = content => {
206
208
 
207
209
  case 'wizard':
208
210
  return /*#__PURE__*/_react.default.createElement(_wizardContents.default, content);
211
+
212
+ case 'empty-state-dashboard':
213
+ return /*#__PURE__*/_react.default.createElement(_emptyStateDashboard.default, content);
209
214
  }
210
215
  };
211
216
 
@@ -223,7 +228,8 @@ const BrandUpdate = props => {
223
228
  details,
224
229
  popin,
225
230
  onItemClick,
226
- documentation
231
+ documentation,
232
+ contentFixHeight
227
233
  } = props;
228
234
  const logo = 'https://static.coorpacademy.com/logo/coorp-manager.svg';
229
235
  const leftNavigation = buildLeftNavigation(logo, items, onItemClick);
@@ -234,7 +240,7 @@ const BrandUpdate = props => {
234
240
  const contentView = buildContentView(content);
235
241
  const detailsView = buildDetailsView(details);
236
242
  const popinView = buildPopin(popin);
237
- const contentStyle = (0, _classnames.default)([_style.default.content, !(0, _isEmpty.default)(notifications) && _style.default.contentWithNotifications]);
243
+ const contentStyle = (0, _classnames.default)([_style.default.content, !(0, _isEmpty.default)(notifications) && _style.default.contentWithNotifications, contentFixHeight && _style.default.contentFixHeight]);
238
244
  return /*#__PURE__*/_react.default.createElement("div", {
239
245
  className: _style.default.container
240
246
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -294,6 +300,9 @@ BrandUpdate.propTypes = process.env.NODE_ENV !== "production" ? {
294
300
  })), _propTypes.default.shape(_extends({}, _listItems.default.propTypes, {
295
301
  key: _propTypes.default.string,
296
302
  type: _propTypes.default.oneOf(['list-content'])
303
+ })), _propTypes.default.shape(_extends({}, _emptyStateDashboard.default.propTypes, {
304
+ key: _propTypes.default.string,
305
+ type: _propTypes.default.oneOf(['empty-state-dashboard'])
297
306
  }))]),
298
307
  documentation: _propTypes.default.shape({
299
308
  content: _propTypes.default.string,
@@ -305,7 +314,8 @@ BrandUpdate.propTypes = process.env.NODE_ENV !== "production" ? {
305
314
  key: _propTypes.default.string,
306
315
  type: _propTypes.default.oneOf(['list'])
307
316
  })),
308
- onItemClick: _propTypes.default.func
317
+ onItemClick: _propTypes.default.func,
318
+ contentFixHeight: _propTypes.default.bool
309
319
  } : {};
310
320
  var _default = BrandUpdate;
311
321
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"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","navigation","buildNotifications","notifications","isEmpty","notificationsList","notification","buildHeader","header","buildPopin","popin","buildDocumentation","documentation","show","onClose","content","classNames","open","documentationContent","__html","closeButton","buildTabs","selectedTab","pipe","find","e","get","showTabs","subTabs","undefined","buildContentView","loaderContainer","loader","buildDetailsView","details","BrandUpdate","props","leftNavigation","notificationsView","documentationView","headerView","tabsView","contentView","detailsView","popinView","contentStyle","contentWithNotifications","container","left","contentWrapper","headerSticky","defaultProps","propTypes","PropTypes","arrayOf","shape","Banner","Header","string","isRequired","bool","oneOfType","BrandForm","oneOf","BrandTable","BrandUpload","BrandAnalytics","BrandDashboard","WizardContents","ListItems","func","CmPopin"],"sources":["../../../../src/template/back-office/brand-update/index.js"],"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 classNames from 'classnames';\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 WizardContents from '../../../organism/wizard-contents';\nimport ListItems from '../../../organism/list-items';\nimport Banner from '../../../molecule/banner';\nimport Header from '../../../organism/setup-header';\nimport Loader from '../../../atom/loader';\nimport Accordion from '../../../organism/accordion/coorp-manager';\nimport CmPopin from '../../../molecule/cm-popin';\nimport ButtonLinkIconOnly from '../../../atom/button-link-icon-only';\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.navigation}>\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 => {\n return (\n <div className={style.header}>\n <Header {...header} />\n </div>\n );\n};\n\nconst buildPopin = popin => {\n return popin ? (\n <div className={style.popin}>\n <CmPopin {...popin} />\n </div>\n ) : null;\n};\n\nconst buildDocumentation = documentation => {\n if (!documentation) return null;\n const {show = false, onClose, content = ''} = documentation;\n return (\n <div className={classNames(style.documentation, show && style.open)}>\n <div\n className={style.documentationContent}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n {onClose ? (\n <ButtonLinkIconOnly\n className={style.closeButton}\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\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 ? find(e => e.selected, selectedTab.subTabs) : undefined;\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 className={style.loaderContainer}>\n <Loader className={style.loader} theme=\"coorpmanager\" />\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 'list-content':\n return <ListItems {...content} />;\n case 'home':\n return <BrandDashboard {...content} />;\n case 'wizard':\n return <WizardContents {...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, popin, onItemClick, documentation} = 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 documentationView = buildDocumentation(documentation);\n const headerView = buildHeader(header, notifications);\n const tabsView = buildTabs(items);\n const contentView = buildContentView(content);\n const detailsView = buildDetailsView(details);\n const popinView = buildPopin(popin);\n\n const contentStyle = classNames([\n style.content,\n !isEmpty(notifications) && style.contentWithNotifications\n ]);\n\n return (\n <div className={style.container}>\n <div className={style.left}>{leftNavigation}</div>\n <div className={style.contentWrapper}>\n <div className={style.headerSticky}>{headerView}</div>\n <div className={contentStyle}>\n {notificationsView}\n {tabsView}\n {contentView}\n {detailsView}\n {documentationView}\n </div>\n </div>\n {popinView}\n </div>\n );\n};\n\nBrandUpdate.defaultProps = {\n notifications: []\n};\n\nBrandUpdate.propTypes = {\n notifications: PropTypes.arrayOf(\n PropTypes.shape({\n ...Banner.propTypes\n })\n ),\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 PropTypes.shape({\n ...WizardContents.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['wizard'])\n }),\n PropTypes.shape({\n ...ListItems.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list-content'])\n })\n ]),\n documentation: PropTypes.shape({\n content: PropTypes.string,\n show: PropTypes.bool,\n onClose: PropTypes.func\n }),\n popin: PropTypes.shape({...CmPopin.propTypes}),\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"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,QAAQ,GAAGC,UAAU,IAAKA,UAAU,GAAGC,cAAA,CAAMC,eAAT,GAA2BD,cAAA,CAAME,iBAA3E;;AAEA,MAAMC,WAAW,GAAG,CAACC,QAAQ,GAAG,EAAZ,KAClBC,YAAA,CAAIC,OAAJ,CAAY;EAACC,GAAG,EAAE;AAAN,CAAZ,EAA0B,CAACC,MAAD,EAASC,MAAT,kBACxB;EAAK,GAAG,EAAED,MAAM,CAACE;AAAjB,GACGF,MAAM,CAACG,IAAP,KAAgB,UAAhB,gBACC,6BAAC,qBAAD,eACMH,MADN;EAEE,MAAM,EAAEV,QAAQ,CAACU,MAAM,CAACI,QAAR,CAFlB;EAGE,SAAS,EAAE,KAHb;EAIE,MAAM,EAAE;AAJV,GADD,gBAQC,6BAAC,iBAAD,eAAcJ,MAAd;EAAsB,MAAM,EAAEV,QAAQ,CAACU,MAAM,CAACI,QAAR,CAAtC;EAAyD,SAAS,EAAE;AAApE,GATJ,CADF,EAaGR,QAbH,CADF,C,CAgBA;;;AACA,MAAMS,mBAAmB,GAAG,CAACC,IAAD,EAAOC,KAAP,EAAcC,WAAd,KAA8B;EACxD,MAAMC,aAAa,GAAGF,KAAK,CAACV,GAAN,CAAU,CAAC;IAACa,GAAD;IAAMR,KAAN;IAAaS,IAAb;IAAmBP,QAAnB;IAA6BD,IAAI,GAAG;EAApC,CAAD,EAAmDS,KAAnD,MAA8D;IAC5FV,KAD4F;IAE5FE,QAF4F;IAG5FD,IAH4F;IAI5FQ,IAJ4F;IAK5FC,KAL4F;IAM5FC,QAAQ,EAAE,EANkF;IAO5FC,QAAQ,EAAEJ,GAAG,IAAI;EAP2E,CAA9D,CAAV,CAAtB;EAUA,MAAMK,kBAAkB,GAAG,IAAAlB,YAAA,EAAImB,GAAG,iBAChC;IAAK,GAAG,EAAEA,GAAG,CAACd,KAAd;IAAqB,SAAS,EAAEV,cAAA,CAAMG;EAAtC,GACGA,WAAW,CAACqB,GAAG,CAACC,IAAL,CADd,CADyB,EAIxBV,KAJwB,CAA3B;EAMA,oBACE;IAAK,SAAS,EAAEf,cAAA,CAAM0B;EAAtB,gBACE;IAAK,SAAS,EAAE1B,cAAA,CAAMc;EAAtB,gBACE;IAAG,IAAI,EAAC;EAAR,gBACE;IAAK,GAAG,EAAEA;EAAV,EADF,CADF,CADF,eAME,6BAAC,qBAAD;IAAW,QAAQ,EAAEG,aAArB;IAAoC,KAAK,EAAE,OAA3C;IAAoD,OAAO,EAAED;EAA7D,GACGO,kBADH,CANF,CADF;AAYD,CA7BD;;AA+BA,MAAMI,kBAAkB,GAAGC,aAAa,IAAI;EAC1C,IAAI,IAAAC,gBAAA,EAAQD,aAAR,CAAJ,EAA4B;IAC1B,OAAO,IAAP;EACD;;EAED,MAAME,iBAAiB,GAAGF,aAAa,CAACvB,GAAd,CAAkB,CAAC0B,YAAD,EAAeX,KAAf,KAAyB;IACnE,oBACE;MAAK,SAAS,EAAEpB,cAAA,CAAM+B,YAAtB;MAAoC,GAAG,EAAEX;IAAzC,gBACE,6BAAC,eAAD,EAAYW,YAAZ,CADF,CADF;EAKD,CANyB,CAA1B;EAOA,oBAAO;IAAK,SAAS,EAAE/B,cAAA,CAAM4B;EAAtB,GAAsCE,iBAAtC,CAAP;AACD,CAbD;;AAeA,MAAME,WAAW,GAAGC,MAAM,IAAI;EAC5B,oBACE;IAAK,SAAS,EAAEjC,cAAA,CAAMiC;EAAtB,gBACE,6BAAC,oBAAD,EAAYA,MAAZ,CADF,CADF;AAKD,CAND;;AAQA,MAAMC,UAAU,GAAGC,KAAK,IAAI;EAC1B,OAAOA,KAAK,gBACV;IAAK,SAAS,EAAEnC,cAAA,CAAMmC;EAAtB,gBACE,6BAAC,gBAAD,EAAaA,KAAb,CADF,CADU,GAIR,IAJJ;AAKD,CAND;;AAQA,MAAMC,kBAAkB,GAAGC,aAAa,IAAI;EAC1C,IAAI,CAACA,aAAL,EAAoB,OAAO,IAAP;EACpB,MAAM;IAACC,IAAI,GAAG,KAAR;IAAeC,OAAf;IAAwBC,OAAO,GAAG;EAAlC,IAAwCH,aAA9C;EACA,oBACE;IAAK,SAAS,EAAE,IAAAI,mBAAA,EAAWzC,cAAA,CAAMqC,aAAjB,EAAgCC,IAAI,IAAItC,cAAA,CAAM0C,IAA9C;EAAhB,gBACE;IACE,SAAS,EAAE1C,cAAA,CAAM2C,oBADnB,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAEJ;IAAT;EAH3B,EADF,EAMGD,OAAO,gBACN,6BAAC,2BAAD;IACE,SAAS,EAAEvC,cAAA,CAAM6C,WADnB;IAEE,OAAO,EAAEN,OAFX;IAGE,aAAW,YAHb;IAIE,cAAY,YAJd;IAKE,IAAI,EAAC,OALP;IAME,IAAI,EAAC;EANP,EADM,GASJ,IAfN,CADF;AAmBD,CAtBD;;AAwBA,MAAMO,SAAS,GAAG/B,KAAK,IAAI;EACzB,MAAMgC,WAAW,GAAG,IAAAC,aAAA,EAClB,IAAAC,aAAA,EAAKC,CAAC,IAAIA,CAAC,CAACtC,QAAZ,CADkB,EAElB,IAAAuC,YAAA,EAAI,MAAJ,CAFkB,EAGlB,IAAAF,aAAA,EAAKC,CAAC,IAAIA,CAAC,CAACtC,QAAZ,CAHkB,EAIlBG,KAJkB,CAApB;EAMA,MAAMqC,QAAQ,GAAGL,WAAW,GAAG,IAAAE,aAAA,EAAKC,CAAC,IAAIA,CAAC,CAACtC,QAAZ,EAAsBmC,WAAW,CAACM,OAAlC,CAAH,GAAgDC,SAA5E;EACA,IAAI,CAACF,QAAL,EAAe,OAAO,IAAP;EACf,oBACE;IAAK,SAAS,EAAEpD,cAAA,CAAMyB;EAAtB,gBACE,6BAAC,kBAAD;IAAW,IAAI,EAAC,OAAhB;IAAwB,IAAI,EAAEsB,WAAW,CAACM;EAA1C,EADF,CADF;AAKD,CAdD;;AAgBA,MAAME,gBAAgB,GAAGf,OAAO,IAAI;EAClC,IAAI,CAACA,OAAL,EAAc;IACZ,oBACE;MAAK,SAAS,EAAExC,cAAA,CAAMwD;IAAtB,gBACE,6BAAC,eAAD;MAAQ,SAAS,EAAExD,cAAA,CAAMyD,MAAzB;MAAiC,KAAK,EAAC;IAAvC,EADF,CADF;EAKD;;EAED,MAAM;IAAC9C;EAAD,IAAS6B,OAAf;;EACA,QAAQ7B,IAAR;IACE,KAAK,MAAL;MACE,oBAAO,6BAAC,kBAAD,EAAe6B,OAAf,CAAP;;IACF,KAAK,MAAL;MACE,oBAAO,6BAAC,mBAAD,EAAgBA,OAAhB,CAAP;;IACF,KAAK,QAAL;MACE,oBAAO,6BAAC,oBAAD,EAAiBA,OAAjB,CAAP;;IACF,KAAK,sBAAL;MACE,oBAAO,6BAAC,uBAAD,EAAoBA,OAApB,CAAP;;IACF,KAAK,cAAL;MACE,oBAAO,6BAAC,kBAAD,EAAeA,OAAf,CAAP;;IACF,KAAK,MAAL;MACE,oBAAO,6BAAC,uBAAD,EAAoBA,OAApB,CAAP;;IACF,KAAK,QAAL;MACE,oBAAO,6BAAC,uBAAD,EAAoBA,OAApB,CAAP;EAdJ;AAgBD,CA1BD;;AA4BA,MAAMkB,gBAAgB,GAAGC,OAAO,IAAI;EAClC,IAAI,CAACA,OAAL,EAAc;EACd,oBAAO,6BAAC,mBAAD,EAAgBA,OAAhB,CAAP;AACD,CAHD;;AAKA,MAAMC,WAAW,GAAGC,KAAK,IAAI;EAC3B,MAAM;IAACjC,aAAD;IAAgBK,MAAhB;IAAwBlB,KAAxB;IAA+ByB,OAA/B;IAAwCmB,OAAxC;IAAiDxB,KAAjD;IAAwDnB,WAAxD;IAAqEqB;EAArE,IAAsFwB,KAA5F;EACA,MAAM/C,IAAI,GAAG,wDAAb;EAEA,MAAMgD,cAAc,GAAGjD,mBAAmB,CAACC,IAAD,EAAOC,KAAP,EAAcC,WAAd,CAA1C;EACA,MAAM+C,iBAAiB,GAAGpC,kBAAkB,CAACC,aAAD,CAA5C;EACA,MAAMoC,iBAAiB,GAAG5B,kBAAkB,CAACC,aAAD,CAA5C;EACA,MAAM4B,UAAU,GAAGjC,WAAW,CAACC,MAAD,EAASL,aAAT,CAA9B;EACA,MAAMsC,QAAQ,GAAGpB,SAAS,CAAC/B,KAAD,CAA1B;EACA,MAAMoD,WAAW,GAAGZ,gBAAgB,CAACf,OAAD,CAApC;EACA,MAAM4B,WAAW,GAAGV,gBAAgB,CAACC,OAAD,CAApC;EACA,MAAMU,SAAS,GAAGnC,UAAU,CAACC,KAAD,CAA5B;EAEA,MAAMmC,YAAY,GAAG,IAAA7B,mBAAA,EAAW,CAC9BzC,cAAA,CAAMwC,OADwB,EAE9B,CAAC,IAAAX,gBAAA,EAAQD,aAAR,CAAD,IAA2B5B,cAAA,CAAMuE,wBAFH,CAAX,CAArB;EAKA,oBACE;IAAK,SAAS,EAAEvE,cAAA,CAAMwE;EAAtB,gBACE;IAAK,SAAS,EAAExE,cAAA,CAAMyE;EAAtB,GAA6BX,cAA7B,CADF,eAEE;IAAK,SAAS,EAAE9D,cAAA,CAAM0E;EAAtB,gBACE;IAAK,SAAS,EAAE1E,cAAA,CAAM2E;EAAtB,GAAqCV,UAArC,CADF,eAEE;IAAK,SAAS,EAAEK;EAAhB,GACGP,iBADH,EAEGG,QAFH,EAGGC,WAHH,EAIGC,WAJH,EAKGJ,iBALH,CAFF,CAFF,EAYGK,SAZH,CADF;AAgBD,CAlCD;;AAoCAT,WAAW,CAACgB,YAAZ,GAA2B;EACzBhD,aAAa,EAAE;AADU,CAA3B;AAIAgC,WAAW,CAACiB,SAAZ,2CAAwB;EACtBjD,aAAa,EAAEkD,kBAAA,CAAUC,OAAV,CACbD,kBAAA,CAAUE,KAAV,cACKC,eAAA,CAAOJ,SADZ,EADa,CADO;EAMtB5C,MAAM,EAAE6C,kBAAA,CAAUE,KAAV,cAAoBE,oBAAA,CAAOL,SAA3B,EANc;EAOtB9D,KAAK,EAAE+D,kBAAA,CAAUC,OAAV,CACLD,kBAAA,CAAUE,KAAV,CAAgB;IACd9D,GAAG,EAAE4D,kBAAA,CAAUK,MADD;IAEdzE,KAAK,EAAEoE,kBAAA,CAAUK,MAAV,CAAiBC,UAFV;IAGdjE,IAAI,EAAE2D,kBAAA,CAAUK,MAAV,CAAiBC,UAHT;IAIdxE,QAAQ,EAAEkE,kBAAA,CAAUO,IAAV,CAAeD,UAJX;IAKdzE,IAAI,EAAEmE,kBAAA,CAAUK,MALF;IAMd1D,IAAI,EAAEqD,kBAAA,CAAUC,OAAV,CACJD,kBAAA,CAAUE,KAAV,CAAgB;MACdtE,KAAK,EAAEoE,kBAAA,CAAUK,MAAV,CAAiBC,UADV;MAEdjE,IAAI,EAAE2D,kBAAA,CAAUK,MAAV,CAAiBC,UAFT;MAGdxE,QAAQ,EAAEkE,kBAAA,CAAUO,IAAV,CAAeD,UAHX;MAIdzE,IAAI,EAAEmE,kBAAA,CAAUK,MAJF;MAKd9B,OAAO,EAAEyB,kBAAA,CAAUC,OAAV,CACPD,kBAAA,CAAUE,KAAV,CAAgB;QACdtE,KAAK,EAAEoE,kBAAA,CAAUK,MAAV,CAAiBC,UADV;QAEdjE,IAAI,EAAE2D,kBAAA,CAAUK,MAAV,CAAiBC,UAFT;QAGdxE,QAAQ,EAAEkE,kBAAA,CAAUO,IAAV,CAAeD,UAHX;QAIdzE,IAAI,EAAEmE,kBAAA,CAAUK;MAJF,CAAhB,CADO;IALK,CAAhB,CADI;EANQ,CAAhB,CADK,EAwBLC,UA/BoB;EAgCtB5C,OAAO,EAAEsC,kBAAA,CAAUQ,SAAV,CAAoB,CAC3BR,kBAAA,CAAUE,KAAV,cACKO,kBAAA,CAAUV,SADf;IAEE3D,GAAG,EAAE4D,kBAAA,CAAUK,MAFjB;IAGExE,IAAI,EAAEmE,kBAAA,CAAUU,KAAV,CAAgB,CAAC,MAAD,CAAhB;EAHR,GAD2B,EAM3BV,kBAAA,CAAUE,KAAV,cACKS,mBAAA,CAAWZ,SADhB;IAEE3D,GAAG,EAAE4D,kBAAA,CAAUK,MAFjB;IAGExE,IAAI,EAAEmE,kBAAA,CAAUU,KAAV,CAAgB,CAAC,MAAD,CAAhB;EAHR,GAN2B,EAW3BV,kBAAA,CAAUE,KAAV,cACKU,oBAAA,CAAYb,SADjB;IAEE3D,GAAG,EAAE4D,kBAAA,CAAUK,MAFjB;IAGExE,IAAI,EAAEmE,kBAAA,CAAUU,KAAV,CAAgB,CAAC,QAAD,CAAhB;EAHR,GAX2B,EAgB3BV,kBAAA,CAAUE,KAAV,cACKW,uBAAA,CAAed,SADpB;IAEE3D,GAAG,EAAE4D,kBAAA,CAAUK,MAFjB;IAGExE,IAAI,EAAEmE,kBAAA,CAAUU,KAAV,CAAgB,CAAC,sBAAD,CAAhB;EAHR,GAhB2B,EAqB3BV,kBAAA,CAAUE,KAAV,cACKY,uBAAA,CAAef,SADpB;IAEE3D,GAAG,EAAE4D,kBAAA,CAAUK,MAFjB;IAGExE,IAAI,EAAEmE,kBAAA,CAAUU,KAAV,CAAgB,CAAC,MAAD,CAAhB;EAHR,GArB2B,EA0B3BV,kBAAA,CAAUE,KAAV,cACKa,uBAAA,CAAehB,SADpB;IAEE3D,GAAG,EAAE4D,kBAAA,CAAUK,MAFjB;IAGExE,IAAI,EAAEmE,kBAAA,CAAUU,KAAV,CAAgB,CAAC,QAAD,CAAhB;EAHR,GA1B2B,EA+B3BV,kBAAA,CAAUE,KAAV,cACKc,kBAAA,CAAUjB,SADf;IAEE3D,GAAG,EAAE4D,kBAAA,CAAUK,MAFjB;IAGExE,IAAI,EAAEmE,kBAAA,CAAUU,KAAV,CAAgB,CAAC,cAAD,CAAhB;EAHR,GA/B2B,CAApB,CAhCa;EAqEtBnD,aAAa,EAAEyC,kBAAA,CAAUE,KAAV,CAAgB;IAC7BxC,OAAO,EAAEsC,kBAAA,CAAUK,MADU;IAE7B7C,IAAI,EAAEwC,kBAAA,CAAUO,IAFa;IAG7B9C,OAAO,EAAEuC,kBAAA,CAAUiB;EAHU,CAAhB,CArEO;EA0EtB5D,KAAK,EAAE2C,kBAAA,CAAUE,KAAV,cAAoBgB,gBAAA,CAAQnB,SAA5B,EA1Ee;EA2EtBlB,OAAO,EAAEmB,kBAAA,CAAUE,KAAV,cACJS,mBAAA,CAAWZ,SADP;IAEP3D,GAAG,EAAE4D,kBAAA,CAAUK,MAFR;IAGPxE,IAAI,EAAEmE,kBAAA,CAAUU,KAAV,CAAgB,CAAC,MAAD,CAAhB;EAHC,GA3Ea;EAgFtBxE,WAAW,EAAE8D,kBAAA,CAAUiB;AAhFD,CAAxB;eAmFenC,W"}
1
+ {"version":3,"file":"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","navigation","buildNotifications","notifications","isEmpty","notificationsList","notification","buildHeader","header","buildPopin","popin","buildDocumentation","documentation","show","onClose","content","classNames","open","documentationContent","__html","closeButton","buildTabs","selectedTab","pipe","find","e","get","showTabs","subTabs","undefined","buildContentView","loaderContainer","loader","buildDetailsView","details","BrandUpdate","props","contentFixHeight","leftNavigation","notificationsView","documentationView","headerView","tabsView","contentView","detailsView","popinView","contentStyle","contentWithNotifications","container","left","contentWrapper","headerSticky","defaultProps","propTypes","PropTypes","arrayOf","shape","Banner","Header","string","isRequired","bool","oneOfType","BrandForm","oneOf","BrandTable","BrandUpload","BrandAnalytics","BrandDashboard","WizardContents","ListItems","EmptyStateDashboard","func","CmPopin"],"sources":["../../../../src/template/back-office/brand-update/index.js"],"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 classNames from 'classnames';\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 WizardContents from '../../../organism/wizard-contents';\nimport ListItems from '../../../organism/list-items';\nimport Banner from '../../../molecule/banner';\nimport Header from '../../../organism/setup-header';\nimport Loader from '../../../atom/loader';\nimport Accordion from '../../../organism/accordion/coorp-manager';\nimport CmPopin from '../../../molecule/cm-popin';\nimport ButtonLinkIconOnly from '../../../atom/button-link-icon-only';\nimport EmptyStateDashboard from '../../../molecule/empty-state-dashboard';\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.navigation}>\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 => {\n return (\n <div className={style.header}>\n <Header {...header} />\n </div>\n );\n};\n\nconst buildPopin = popin => {\n return popin ? (\n <div className={style.popin}>\n <CmPopin {...popin} />\n </div>\n ) : null;\n};\n\nconst buildDocumentation = documentation => {\n if (!documentation) return null;\n const {show = false, onClose, content = ''} = documentation;\n return (\n <div className={classNames(style.documentation, show && style.open)}>\n <div\n className={style.documentationContent}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n {onClose ? (\n <ButtonLinkIconOnly\n className={style.closeButton}\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\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 ? find(e => e.selected, selectedTab.subTabs) : undefined;\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 className={style.loaderContainer}>\n <Loader className={style.loader} theme=\"coorpmanager\" />\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 'list-content':\n return <ListItems {...content} />;\n case 'home':\n return <BrandDashboard {...content} />;\n case 'wizard':\n return <WizardContents {...content} />;\n case 'empty-state-dashboard':\n return <EmptyStateDashboard {...content} />;\n }\n};\n\nconst buildDetailsView = details => {\n if (!details) return;\n return <BrandTable {...details} />;\n};\n\nconst BrandUpdate = props => {\n const {\n notifications,\n header,\n items,\n content,\n details,\n popin,\n onItemClick,\n documentation,\n contentFixHeight\n } = 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 documentationView = buildDocumentation(documentation);\n const headerView = buildHeader(header, notifications);\n const tabsView = buildTabs(items);\n const contentView = buildContentView(content);\n const detailsView = buildDetailsView(details);\n const popinView = buildPopin(popin);\n\n const contentStyle = classNames([\n style.content,\n !isEmpty(notifications) && style.contentWithNotifications,\n contentFixHeight && style.contentFixHeight\n ]);\n\n return (\n <div className={style.container}>\n <div className={style.left}>{leftNavigation}</div>\n <div className={style.contentWrapper}>\n <div className={style.headerSticky}>{headerView}</div>\n <div className={contentStyle}>\n {notificationsView}\n {tabsView}\n {contentView}\n {detailsView}\n {documentationView}\n </div>\n </div>\n {popinView}\n </div>\n );\n};\n\nBrandUpdate.defaultProps = {\n notifications: []\n};\n\nBrandUpdate.propTypes = {\n notifications: PropTypes.arrayOf(\n PropTypes.shape({\n ...Banner.propTypes\n })\n ),\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 PropTypes.shape({\n ...WizardContents.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['wizard'])\n }),\n PropTypes.shape({\n ...ListItems.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list-content'])\n }),\n PropTypes.shape({\n ...EmptyStateDashboard.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['empty-state-dashboard'])\n })\n ]),\n documentation: PropTypes.shape({\n content: PropTypes.string,\n show: PropTypes.bool,\n onClose: PropTypes.func\n }),\n popin: PropTypes.shape({...CmPopin.propTypes}),\n details: PropTypes.shape({\n ...BrandTable.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list'])\n }),\n onItemClick: PropTypes.func,\n contentFixHeight: PropTypes.bool\n};\n\nexport default BrandUpdate;\n"],"mappings":"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"}