@coorpacademy/components 10.1.12-alpha.0 → 10.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/atom/input-checkbox/index.js +9 -3
- package/es/atom/input-checkbox/index.js.map +1 -1
- package/es/atom/input-checkbox/style.css +15 -0
- package/es/atom/tag/test/fixtures.js +4 -2
- package/es/atom/tag/test/fixtures.js.map +1 -1
- package/es/molecule/banner/index.js +16 -7
- package/es/molecule/banner/index.js.map +1 -1
- package/es/molecule/banner/style.css +47 -0
- package/es/molecule/banner/test/fixtures/default.js +1 -1
- package/es/molecule/banner/test/fixtures/default.js.map +1 -1
- package/es/molecule/banner/test/fixtures/error-temporary-banner.js +8 -0
- package/es/molecule/banner/test/fixtures/error-temporary-banner.js.map +1 -0
- package/es/molecule/banner/test/fixtures/success-banner.js +7 -0
- package/es/molecule/banner/test/fixtures/success-banner.js.map +1 -0
- package/es/molecule/banner/test/fixtures/success-temporary-banner.js +8 -0
- package/es/molecule/banner/test/fixtures/success-temporary-banner.js.map +1 -0
- package/es/molecule/banner/test/fixtures/warning-temporary-banner.js +8 -0
- package/es/molecule/banner/test/fixtures/warning-temporary-banner.js.map +1 -0
- package/es/molecule/brand-form-group/style.css +5 -0
- package/es/molecule/brand-tabs/style.css +0 -1
- package/es/molecule/bullet-point-menu-button/index.js +1 -5
- package/es/molecule/bullet-point-menu-button/index.js.map +1 -1
- package/es/molecule/bullet-point-menu-button/style.css +11 -7
- package/es/molecule/select-multiple/index.js +99 -16
- package/es/molecule/select-multiple/index.js.map +1 -1
- package/es/molecule/select-multiple/style.css +293 -11
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme-disabled.js +32 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme-disabled.js.map +1 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme-error.js +32 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme-error.js.map +1 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme-multiple.js +32 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme-multiple.js.map +1 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme.js +32 -0
- package/es/molecule/select-multiple/test/fixtures/checked-cm-theme.js.map +1 -0
- package/es/molecule/select-multiple/test/fixtures/setup-theme-error.js +1 -1
- package/es/molecule/select-multiple/test/fixtures/setup-theme-error.js.map +1 -1
- package/es/organism/accordion/coorp-manager/index.js +3 -3
- package/es/organism/accordion/coorp-manager/index.js.map +1 -1
- package/es/organism/brand-dashboard/index.js +1 -3
- package/es/organism/brand-dashboard/index.js.map +1 -1
- package/es/organism/brand-dashboard/style.css +0 -10
- package/es/organism/brand-form/test/fixtures/wizard-playlists.js +26 -0
- package/es/organism/brand-form/test/fixtures/wizard-playlists.js.map +1 -1
- package/es/organism/list-item/index.js +68 -0
- package/es/organism/list-item/index.js.map +1 -0
- package/es/organism/list-item/style.css +53 -0
- package/es/organism/list-item/test/fixtures/archived.js +39 -0
- package/es/organism/list-item/test/fixtures/archived.js.map +1 -0
- package/es/organism/list-item/test/fixtures/draft.js +39 -0
- package/es/organism/list-item/test/fixtures/draft.js.map +1 -0
- package/es/organism/list-item/test/fixtures/published.js +39 -0
- package/es/organism/list-item/test/fixtures/published.js.map +1 -0
- package/es/organism/list-item/test/fixtures/revised.js +41 -0
- package/es/organism/list-item/test/fixtures/revised.js.map +1 -0
- package/es/organism/setup-header/style.css +16 -7
- package/es/template/back-office/brand-update/index.js +106 -92
- package/es/template/back-office/brand-update/index.js.map +1 -1
- package/es/template/back-office/brand-update/style.css +22 -66
- package/es/template/back-office/brand-update/test/fixtures/default.js +1 -58
- package/es/template/back-office/brand-update/test/fixtures/default.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/general-settings.js +77 -3
- package/es/template/back-office/brand-update/test/fixtures/general-settings.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/loader.js +1 -1
- package/es/template/back-office/brand-update/test/fixtures/loader.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/manageusers-edit.js +1 -1
- package/es/template/back-office/brand-update/test/fixtures/manageusers-edit.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/manageusers-list.js +1 -1
- package/es/template/back-office/brand-update/test/fixtures/manageusers-list.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/uploadusers.js +1 -1
- package/es/template/back-office/brand-update/test/fixtures/uploadusers.js.map +1 -1
- package/lib/atom/input-checkbox/index.js +10 -3
- package/lib/atom/input-checkbox/index.js.map +1 -1
- package/lib/atom/input-checkbox/style.css +15 -0
- package/lib/atom/tag/test/fixtures.js +5 -2
- package/lib/atom/tag/test/fixtures.js.map +1 -1
- package/lib/molecule/banner/index.js +17 -6
- package/lib/molecule/banner/index.js.map +1 -1
- package/lib/molecule/banner/style.css +47 -0
- package/lib/molecule/banner/test/fixtures/default.js +1 -1
- package/lib/molecule/banner/test/fixtures/default.js.map +1 -1
- package/lib/molecule/banner/test/fixtures/error-temporary-banner.js +13 -0
- package/lib/molecule/banner/test/fixtures/error-temporary-banner.js.map +1 -0
- package/lib/molecule/banner/test/fixtures/success-banner.js +12 -0
- package/lib/molecule/banner/test/fixtures/success-banner.js.map +1 -0
- package/lib/molecule/banner/test/fixtures/success-temporary-banner.js +13 -0
- package/lib/molecule/banner/test/fixtures/success-temporary-banner.js.map +1 -0
- package/lib/molecule/banner/test/fixtures/warning-temporary-banner.js +13 -0
- package/lib/molecule/banner/test/fixtures/warning-temporary-banner.js.map +1 -0
- package/lib/molecule/brand-form-group/style.css +5 -0
- package/lib/molecule/brand-tabs/style.css +0 -1
- package/lib/molecule/bullet-point-menu-button/index.js +1 -5
- package/lib/molecule/bullet-point-menu-button/index.js.map +1 -1
- package/lib/molecule/bullet-point-menu-button/style.css +11 -7
- package/lib/molecule/select-multiple/index.js +101 -15
- package/lib/molecule/select-multiple/index.js.map +1 -1
- package/lib/molecule/select-multiple/style.css +293 -11
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme-disabled.js +37 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme-disabled.js.map +1 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme-error.js +37 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme-error.js.map +1 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme-multiple.js +37 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme-multiple.js.map +1 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme.js +37 -0
- package/lib/molecule/select-multiple/test/fixtures/checked-cm-theme.js.map +1 -0
- package/lib/molecule/select-multiple/test/fixtures/setup-theme-error.js +1 -1
- package/lib/molecule/select-multiple/test/fixtures/setup-theme-error.js.map +1 -1
- package/lib/organism/accordion/coorp-manager/index.js +2 -4
- package/lib/organism/accordion/coorp-manager/index.js.map +1 -1
- package/lib/organism/brand-dashboard/index.js +1 -3
- package/lib/organism/brand-dashboard/index.js.map +1 -1
- package/lib/organism/brand-dashboard/style.css +0 -10
- package/lib/organism/brand-form/test/fixtures/wizard-playlists.js +26 -0
- package/lib/organism/brand-form/test/fixtures/wizard-playlists.js.map +1 -1
- package/lib/organism/list-item/index.js +82 -0
- package/lib/organism/list-item/index.js.map +1 -0
- package/lib/organism/list-item/style.css +53 -0
- package/lib/organism/list-item/test/fixtures/archived.js +44 -0
- package/lib/organism/list-item/test/fixtures/archived.js.map +1 -0
- package/lib/organism/list-item/test/fixtures/draft.js +44 -0
- package/lib/organism/list-item/test/fixtures/draft.js.map +1 -0
- package/lib/organism/list-item/test/fixtures/published.js +44 -0
- package/lib/organism/list-item/test/fixtures/published.js.map +1 -0
- package/lib/organism/list-item/test/fixtures/revised.js +46 -0
- package/lib/organism/list-item/test/fixtures/revised.js.map +1 -0
- package/lib/organism/setup-header/style.css +16 -7
- package/lib/template/back-office/brand-update/index.js +106 -93
- package/lib/template/back-office/brand-update/index.js.map +1 -1
- package/lib/template/back-office/brand-update/style.css +22 -66
- package/lib/template/back-office/brand-update/test/fixtures/default.js +1 -58
- package/lib/template/back-office/brand-update/test/fixtures/default.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/general-settings.js +76 -3
- package/lib/template/back-office/brand-update/test/fixtures/general-settings.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/loader.js +2 -2
- package/lib/template/back-office/brand-update/test/fixtures/loader.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/manageusers-edit.js +2 -2
- package/lib/template/back-office/brand-update/test/fixtures/manageusers-edit.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/manageusers-list.js +2 -2
- package/lib/template/back-office/brand-update/test/fixtures/manageusers-list.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/uploadusers.js +2 -2
- package/lib/template/back-office/brand-update/test/fixtures/uploadusers.js.map +1 -1
- package/package.json +2 -2
- package/es/template/back-office/brand-update/test/fixtures/manageusers.js +0 -11
- package/es/template/back-office/brand-update/test/fixtures/manageusers.js.map +0 -1
- package/lib/template/back-office/brand-update/test/fixtures/manageusers.js +0 -25
- package/lib/template/back-office/brand-update/test/fixtures/manageusers.js.map +0 -1
|
@@ -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":"AAAA,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,CAAf","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"}
|
|
@@ -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 {
|
|
@@ -6,8 +6,7 @@ import map from 'lodash/fp/map';
|
|
|
6
6
|
import pipe from 'lodash/fp/pipe';
|
|
7
7
|
import get from 'lodash/fp/get';
|
|
8
8
|
import isEmpty from 'lodash/fp/isEmpty';
|
|
9
|
-
import
|
|
10
|
-
import head from 'lodash/fp/head';
|
|
9
|
+
import find from 'lodash/fp/find';
|
|
11
10
|
import BrandTabs from '../../../molecule/brand-tabs';
|
|
12
11
|
import { IconLinkItem, LinkItem } from '../../../organism/sidebar';
|
|
13
12
|
import BrandForm from '../../../organism/brand-form';
|
|
@@ -15,37 +14,29 @@ import BrandTable from '../../../organism/brand-table';
|
|
|
15
14
|
import BrandUpload from '../../../organism/brand-upload';
|
|
16
15
|
import BrandAnalytics from '../../../organism/brand-analytics';
|
|
17
16
|
import BrandDashboard from '../../../organism/brand-dashboard';
|
|
18
|
-
import
|
|
17
|
+
import Banner from '../../../molecule/banner';
|
|
19
18
|
import Header from '../../../organism/setup-header';
|
|
20
19
|
import Loader from '../../../atom/loader';
|
|
21
20
|
import Accordion from '../../../organism/accordion/coorp-manager';
|
|
22
21
|
import style from './style.css';
|
|
23
22
|
|
|
24
|
-
const
|
|
25
|
-
title,
|
|
26
|
-
href,
|
|
27
|
-
selected
|
|
28
|
-
}) => {
|
|
29
|
-
return /*#__PURE__*/React.createElement("h5", null, title);
|
|
30
|
-
};
|
|
23
|
+
const getStyle = isSelected => isSelected ? style.selectedElement : style.unselectedElement;
|
|
31
24
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
25
|
+
const subTabsView = (_subTabs = []) => map.convert({
|
|
26
|
+
cap: false
|
|
27
|
+
})((subTab, _index) => /*#__PURE__*/React.createElement("div", {
|
|
28
|
+
key: subTab.title
|
|
29
|
+
}, subTab.type === 'iconLink' ? /*#__PURE__*/React.createElement(IconLinkItem, _extends({}, subTab, {
|
|
30
|
+
styles: getStyle(subTab.selected),
|
|
31
|
+
uppercase: false,
|
|
32
|
+
target: '_blank'
|
|
33
|
+
})) : /*#__PURE__*/React.createElement(LinkItem, _extends({}, subTab, {
|
|
34
|
+
styles: getStyle(subTab.selected),
|
|
35
|
+
uppercase: false
|
|
36
|
+
}))))(_subTabs); // TODO: this fonction should be replaced by a molecule to avoid this file to be unreadable
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
notifications,
|
|
41
|
-
header,
|
|
42
|
-
items,
|
|
43
|
-
content,
|
|
44
|
-
details,
|
|
45
|
-
onItemClick
|
|
46
|
-
} = props;
|
|
47
|
-
const logo = 'https://static.coorpacademy.com/logo/coorp-manager.svg';
|
|
48
|
-
const selectedTab = pipe(filter(e => e.selected), head, get('tabs'), filter(e => e.selected), head)(items);
|
|
38
|
+
|
|
39
|
+
const buildLeftNavigation = (logo, items, onItemClick) => {
|
|
49
40
|
const formattedTabs = items.map(({
|
|
50
41
|
key,
|
|
51
42
|
title,
|
|
@@ -61,97 +52,120 @@ const BrandUpdate = props => {
|
|
|
61
52
|
children: [],
|
|
62
53
|
iconType: key || 'arrow'
|
|
63
54
|
}));
|
|
64
|
-
|
|
65
|
-
const getStyle = isSelected => isSelected ? style.selectedElement : style.unselectedElement;
|
|
66
|
-
|
|
67
|
-
const subTabsView = (_subTabs = []) => map.convert({
|
|
68
|
-
cap: false
|
|
69
|
-
})((subTab, _index) => /*#__PURE__*/React.createElement("div", {
|
|
70
|
-
key: subTab.title
|
|
71
|
-
}, subTab.type === 'iconLink' ? /*#__PURE__*/React.createElement(IconLinkItem, _extends({}, subTab, {
|
|
72
|
-
styles: getStyle(subTab.selected),
|
|
73
|
-
uppercase: false,
|
|
74
|
-
target: '_blank'
|
|
75
|
-
})) : /*#__PURE__*/React.createElement(LinkItem, _extends({}, subTab, {
|
|
76
|
-
styles: getStyle(subTab.selected),
|
|
77
|
-
uppercase: false
|
|
78
|
-
}))))(_subTabs);
|
|
79
|
-
|
|
80
55
|
const formattedTabsViews = map(tab => /*#__PURE__*/React.createElement("div", {
|
|
81
56
|
key: tab.title,
|
|
82
|
-
className: style.
|
|
57
|
+
className: style.subTabsView
|
|
83
58
|
}, subTabsView(tab.tabs)))(items);
|
|
59
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
60
|
+
className: style.leftMenu
|
|
61
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
62
|
+
className: style.logo
|
|
63
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
64
|
+
href: "/"
|
|
65
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
66
|
+
src: logo
|
|
67
|
+
}))), /*#__PURE__*/React.createElement(Accordion, {
|
|
68
|
+
tabProps: formattedTabs,
|
|
69
|
+
theme: 'setup',
|
|
70
|
+
onClick: onItemClick
|
|
71
|
+
}, formattedTabsViews));
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const buildNotifications = notifications => {
|
|
75
|
+
if (isEmpty(notifications)) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
|
|
84
79
|
const notificationsList = notifications.map((notification, index) => {
|
|
85
80
|
return /*#__PURE__*/React.createElement("div", {
|
|
86
81
|
className: style.notification,
|
|
87
82
|
key: index
|
|
88
|
-
}, /*#__PURE__*/React.createElement(
|
|
83
|
+
}, /*#__PURE__*/React.createElement(Banner, notification));
|
|
89
84
|
});
|
|
85
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
86
|
+
className: style.notifications
|
|
87
|
+
}, notificationsList);
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
const buildHeader = (header, notifications) => {
|
|
91
|
+
const headerStyle = isEmpty(notifications) ? style.header : style.headerForNotifications;
|
|
92
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
93
|
+
className: headerStyle
|
|
94
|
+
}, /*#__PURE__*/React.createElement(Header, header));
|
|
95
|
+
};
|
|
90
96
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
97
|
+
const buildTabs = items => {
|
|
98
|
+
const selectedTab = pipe(find(e => e.selected), get('tabs'), find(e => e.selected))(items);
|
|
99
|
+
const showTabs = selectedTab && !isEmpty(selectedTab.subTabs);
|
|
100
|
+
if (!showTabs) return null;
|
|
101
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
102
|
+
className: style.tabs
|
|
103
|
+
}, /*#__PURE__*/React.createElement(BrandTabs, {
|
|
104
|
+
type: "light",
|
|
105
|
+
tabs: selectedTab.subTabs
|
|
106
|
+
}));
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
const buildContentView = content => {
|
|
110
|
+
if (!content) {
|
|
111
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Loader, null));
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const {
|
|
115
|
+
type
|
|
116
|
+
} = content;
|
|
96
117
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
118
|
+
switch (type) {
|
|
119
|
+
case 'form':
|
|
120
|
+
return /*#__PURE__*/React.createElement(BrandForm, content);
|
|
100
121
|
|
|
101
|
-
|
|
102
|
-
|
|
122
|
+
case 'list':
|
|
123
|
+
return /*#__PURE__*/React.createElement(BrandTable, content);
|
|
103
124
|
|
|
104
|
-
|
|
105
|
-
|
|
125
|
+
case 'upload':
|
|
126
|
+
return /*#__PURE__*/React.createElement(BrandUpload, content);
|
|
106
127
|
|
|
107
|
-
|
|
108
|
-
|
|
128
|
+
case 'analytics-dashboards':
|
|
129
|
+
return /*#__PURE__*/React.createElement(BrandAnalytics, content);
|
|
109
130
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
131
|
+
case 'home':
|
|
132
|
+
return /*#__PURE__*/React.createElement(BrandDashboard, content);
|
|
133
|
+
}
|
|
134
|
+
};
|
|
114
135
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
136
|
+
const buildDetailsView = details => {
|
|
137
|
+
if (!details) return;
|
|
138
|
+
return /*#__PURE__*/React.createElement(BrandTable, details);
|
|
139
|
+
};
|
|
119
140
|
|
|
141
|
+
const BrandUpdate = props => {
|
|
142
|
+
const {
|
|
143
|
+
notifications,
|
|
144
|
+
header,
|
|
145
|
+
items,
|
|
146
|
+
content,
|
|
147
|
+
details,
|
|
148
|
+
onItemClick
|
|
149
|
+
} = props;
|
|
150
|
+
const logo = 'https://static.coorpacademy.com/logo/coorp-manager.svg';
|
|
151
|
+
const leftNavigation = buildLeftNavigation(logo, items, onItemClick);
|
|
152
|
+
const notificationsView = buildNotifications(notifications);
|
|
153
|
+
const headerView = buildHeader(header, notifications);
|
|
154
|
+
const tabsView = buildTabs(items);
|
|
155
|
+
const contentView = buildContentView(content);
|
|
156
|
+
const detailsView = buildDetailsView(details);
|
|
120
157
|
return /*#__PURE__*/React.createElement("div", {
|
|
121
158
|
className: style.container
|
|
122
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
123
|
-
className: style.dashboardAside
|
|
124
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
125
|
-
className: style.logo
|
|
126
|
-
}, /*#__PURE__*/React.createElement("a", {
|
|
127
|
-
href: "/"
|
|
128
|
-
}, /*#__PURE__*/React.createElement("img", {
|
|
129
|
-
src: logo
|
|
130
|
-
}))), /*#__PURE__*/React.createElement(Accordion, {
|
|
131
|
-
tabProps: formattedTabs,
|
|
132
|
-
theme: 'setup',
|
|
133
|
-
onClick: onItemClick
|
|
134
|
-
}, formattedTabsViews)), /*#__PURE__*/React.createElement("div", {
|
|
159
|
+
}, leftNavigation, /*#__PURE__*/React.createElement("div", {
|
|
135
160
|
className: style.contentWrapper
|
|
136
|
-
},
|
|
137
|
-
className: style.notifications
|
|
138
|
-
}, notificationsList), content && content.type === 'home' ? contentView(content) : /*#__PURE__*/React.createElement("div", {
|
|
139
|
-
className: style.contentHandler
|
|
140
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
141
|
-
className: style.contentView
|
|
142
|
-
}, selectedTab && !isEmpty(selectedTab.subTabs) ? /*#__PURE__*/React.createElement(BrandTabs, {
|
|
143
|
-
type: "light",
|
|
144
|
-
tabs: selectedTab.subTabs
|
|
145
|
-
}) : null, /*#__PURE__*/React.createElement("div", {
|
|
146
|
-
className: style.dashboardContent
|
|
147
|
-
}, /*#__PURE__*/React.createElement("div", null, contentView(content)), /*#__PURE__*/React.createElement("div", null, detailsView(details)))))));
|
|
161
|
+
}, headerView, notificationsView, tabsView, contentView, detailsView));
|
|
148
162
|
};
|
|
149
163
|
|
|
150
164
|
BrandUpdate.defaultProps = {
|
|
151
165
|
notifications: []
|
|
152
166
|
};
|
|
153
167
|
BrandUpdate.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
154
|
-
notifications: PropTypes.arrayOf(PropTypes.shape(
|
|
168
|
+
notifications: PropTypes.arrayOf(PropTypes.shape(Banner.propTypes)),
|
|
155
169
|
header: PropTypes.shape(_extends({}, Header.propTypes)),
|
|
156
170
|
items: PropTypes.arrayOf(PropTypes.shape({
|
|
157
171
|
key: PropTypes.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/back-office/brand-update/index.js"],"names":["React","PropTypes","map","pipe","get","isEmpty","filter","head","BrandTabs","IconLinkItem","LinkItem","BrandForm","BrandTable","BrandUpload","BrandAnalytics","BrandDashboard","Notification","Header","Loader","Accordion","style","SubTab","title","href","selected","propTypes","string","isRequired","bool","BrandUpdate","props","notifications","header","items","content","details","onItemClick","logo","selectedTab","e","formattedTabs","key","type","index","children","iconType","getStyle","isSelected","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","oneOfType","oneOf","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":["React","PropTypes","map","pipe","get","isEmpty","find","BrandTabs","IconLinkItem","LinkItem","BrandForm","BrandTable","BrandUpload","BrandAnalytics","BrandDashboard","Banner","Header","Loader","Accordion","style","getStyle","isSelected","selectedElement","unselectedElement","subTabsView","_subTabs","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","arrayOf","shape","string","isRequired","bool","oneOfType","oneOf","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"}
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
.container {
|
|
14
14
|
width: 100%;
|
|
15
15
|
height: 100%;
|
|
16
|
-
max-width: 100%;
|
|
17
16
|
scroll-behavior: unset;
|
|
18
17
|
margin: 0 auto;
|
|
19
18
|
padding-bottom: 80px 20px;
|
|
@@ -21,7 +20,19 @@
|
|
|
21
20
|
font-family: "Open Sans";
|
|
22
21
|
}
|
|
23
22
|
|
|
23
|
+
.header {
|
|
24
|
+
margin: 24px 0 56px 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.headerForNotifications {
|
|
28
|
+
margin: 24px 0 0 0;
|
|
29
|
+
}
|
|
30
|
+
|
|
24
31
|
.tabs {
|
|
32
|
+
padding: 0 0 48px 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.subTabsView {
|
|
25
36
|
font-family: 'Gilroy';
|
|
26
37
|
margin-left: 16%;
|
|
27
38
|
padding: 1px 34px 1px 16px;
|
|
@@ -30,15 +41,8 @@
|
|
|
30
41
|
border-left: solid 3px cm_grey_100;
|
|
31
42
|
}
|
|
32
43
|
|
|
33
|
-
.contentWrapper {
|
|
34
|
-
width: 100%;
|
|
35
|
-
display: flex;
|
|
36
|
-
flex-direction: column;
|
|
37
|
-
overflow: auto;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
44
|
.notifications {
|
|
41
|
-
padding:
|
|
45
|
+
padding: 24px 0 32px 0;
|
|
42
46
|
}
|
|
43
47
|
|
|
44
48
|
.notification {
|
|
@@ -49,35 +53,18 @@
|
|
|
49
53
|
margin-bottom: 0;
|
|
50
54
|
}
|
|
51
55
|
|
|
52
|
-
.
|
|
53
|
-
padding: 10px 40px;
|
|
54
|
-
display: flex;
|
|
55
|
-
justify-content: space-between;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.dashboardAside {
|
|
56
|
+
.leftMenu {
|
|
59
57
|
scroll-behavior: unset;
|
|
60
58
|
min-width: 223px;
|
|
61
59
|
background: xtraLightGrey;
|
|
62
60
|
}
|
|
63
61
|
|
|
64
|
-
.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
line-height: 1.4em;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.dashboardContent {
|
|
74
|
-
padding: 1rem;
|
|
75
|
-
text-align: left;
|
|
76
|
-
position: relative;
|
|
77
|
-
margin: 0 auto;
|
|
78
|
-
margin-top: 16px;
|
|
79
|
-
line-height: 1.4em;
|
|
80
|
-
border: 1px solid light;
|
|
62
|
+
.contentWrapper {
|
|
63
|
+
width: 100%;
|
|
64
|
+
padding: 0 64px;
|
|
65
|
+
display: flex;
|
|
66
|
+
flex-direction: column;
|
|
67
|
+
overflow: auto;
|
|
81
68
|
}
|
|
82
69
|
|
|
83
70
|
.selectedElement {
|
|
@@ -103,46 +90,15 @@
|
|
|
103
90
|
margin: 32px 20px 54px 20px;
|
|
104
91
|
}
|
|
105
92
|
|
|
106
|
-
@media desktop {
|
|
107
|
-
.contentHandler {
|
|
108
|
-
flex-direction: column;
|
|
109
|
-
flex-wrap: wrap;
|
|
110
|
-
justify-content: center;
|
|
111
|
-
width: 90%;
|
|
112
|
-
margin: 0 auto;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.contentHandler:first-child {
|
|
116
|
-
width: 80%;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.contentHandler:nth-child(2) {
|
|
120
|
-
width: 80%;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
.contentView {
|
|
124
|
-
width: 92.4%;
|
|
125
|
-
margin: 0 auto;
|
|
126
|
-
margin-right: 17px;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
93
|
@media tablet {
|
|
131
94
|
.container {
|
|
132
95
|
scroll-behavior: unset;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
.contentView {
|
|
136
|
-
margin: 0 auto;
|
|
137
|
-
margin-right: 16px;
|
|
96
|
+
margin: 0;
|
|
97
|
+
padding: 10px 10px;
|
|
138
98
|
}
|
|
139
99
|
}
|
|
140
100
|
|
|
141
101
|
@media mobile {
|
|
142
|
-
.contentHandler:first-child {
|
|
143
|
-
width: 85%;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
102
|
.notification {
|
|
147
103
|
margin: 0 auto;
|
|
148
104
|
}
|
|
@@ -33,64 +33,7 @@ export const items = [{
|
|
|
33
33
|
href: '#brand/samsung/content-creation',
|
|
34
34
|
selected: false,
|
|
35
35
|
isOpen: true,
|
|
36
|
-
type: 'collapsibleTab'
|
|
37
|
-
tabs: [{
|
|
38
|
-
title: 'My platform',
|
|
39
|
-
href: '#/myplatform',
|
|
40
|
-
selected: true,
|
|
41
|
-
subTabs: [{
|
|
42
|
-
name: 'general-settings',
|
|
43
|
-
title: 'general-settings',
|
|
44
|
-
href: `general-settings`,
|
|
45
|
-
selected: false
|
|
46
|
-
}, {
|
|
47
|
-
name: 'sso',
|
|
48
|
-
title: 'sso',
|
|
49
|
-
href: `sso`,
|
|
50
|
-
selected: false
|
|
51
|
-
}, {
|
|
52
|
-
name: 'danger-zone',
|
|
53
|
-
title: 'danger-zone',
|
|
54
|
-
href: `danger-zone`,
|
|
55
|
-
selected: false
|
|
56
|
-
}, {
|
|
57
|
-
name: 'manage-users',
|
|
58
|
-
title: 'manage-users',
|
|
59
|
-
href: `manage-users`,
|
|
60
|
-
selected: true
|
|
61
|
-
}, {
|
|
62
|
-
name: 'upload-users',
|
|
63
|
-
title: 'upload-users',
|
|
64
|
-
href: `upload-users`,
|
|
65
|
-
selected: false
|
|
66
|
-
}, {
|
|
67
|
-
name: 'lms',
|
|
68
|
-
title: 'lms',
|
|
69
|
-
href: `lms`,
|
|
70
|
-
selected: false
|
|
71
|
-
}, {
|
|
72
|
-
name: 'teams',
|
|
73
|
-
title: 'teams',
|
|
74
|
-
href: `teams`,
|
|
75
|
-
selected: false
|
|
76
|
-
}]
|
|
77
|
-
}, {
|
|
78
|
-
title: 'Look and Feel',
|
|
79
|
-
href: '#/look-and-feel',
|
|
80
|
-
selected: false
|
|
81
|
-
}, {
|
|
82
|
-
title: 'Settings',
|
|
83
|
-
href: '#/settings',
|
|
84
|
-
selected: false
|
|
85
|
-
}, {
|
|
86
|
-
title: 'Any',
|
|
87
|
-
href: '#/any',
|
|
88
|
-
selected: false
|
|
89
|
-
}, {
|
|
90
|
-
title: 'Many',
|
|
91
|
-
href: '#/many',
|
|
92
|
-
selected: false
|
|
93
|
-
}]
|
|
36
|
+
type: 'collapsibleTab'
|
|
94
37
|
}, {
|
|
95
38
|
title: 'Analytics',
|
|
96
39
|
key: 'analytics',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/template/back-office/brand-update/test/fixtures/default.js"],"names":["Header","items","title","key","href","open","undefined","selected","type","isOpen","tabs","
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/template/back-office/brand-update/test/fixtures/default.js"],"names":["Header","items","title","key","href","open","undefined","selected","type","isOpen","tabs","props","header","notifications","logo","content","groups"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,4DAAnB;AAEA,OAAO,MAAMC,KAAK,GAAG,CACnB;AACEC,EAAAA,KAAK,EAAE,cADT;AAEEC,EAAAA,GAAG,EAAE,WAFP;AAGEC,EAAAA,IAAI,EAAE,0BAHR;AAIEC,EAAAA,IAAI,EAAEC,SAJR;AAKEC,EAAAA,QAAQ,EAAE,IALZ;AAMEC,EAAAA,IAAI,EAAE;AANR,CADmB,EASnB;AACEN,EAAAA,KAAK,EAAE,gBADT;AAEEC,EAAAA,GAAG,EAAE,gBAFP;AAGEC,EAAAA,IAAI,EAAE,+BAHR;AAIEC,EAAAA,IAAI,EAAE,KAJR;AAKEE,EAAAA,QAAQ,EAAE,KALZ;AAMEC,EAAAA,IAAI,EAAE;AANR,CATmB,EAiBnB;AACEN,EAAAA,KAAK,EAAE,kBADT;AAEEC,EAAAA,GAAG,EAAE,kBAFP;AAGEC,EAAAA,IAAI,EAAE,iCAHR;AAIEI,EAAAA,IAAI,EAAE,UAJR;AAKEH,EAAAA,IAAI,EAAE,KALR;AAMEE,EAAAA,QAAQ,EAAE;AANZ,CAjBmB,EAyBnB;AACEL,EAAAA,KAAK,EAAE,kBADT;AAEEC,EAAAA,GAAG,EAAE,iBAFP;AAGEC,EAAAA,IAAI,EAAE,iCAHR;AAIEC,EAAAA,IAAI,EAAE,KAJR;AAKEE,EAAAA,QAAQ,EAAE,KALZ;AAMEC,EAAAA,IAAI,EAAE;AANR,CAzBmB,EAiCnB;AACEN,EAAAA,KAAK,EAAE,WADT;AAEEC,EAAAA,GAAG,EAAE,WAFP;AAGEC,EAAAA,IAAI,EAAE,iCAHR;AAIEG,EAAAA,QAAQ,EAAE,KAJZ;AAKEE,EAAAA,MAAM,EAAE,IALV;AAMED,EAAAA,IAAI,EAAE;AANR,CAjCmB,EAyCnB;AACEN,EAAAA,KAAK,EAAE,WADT;AAEEC,EAAAA,GAAG,EAAE,WAFP;AAGEC,EAAAA,IAAI,EAAE,0BAHR;AAIEC,EAAAA,IAAI,EAAE,KAJR;AAKEE,EAAAA,QAAQ,EAAE,KALZ;AAMEC,EAAAA,IAAI,EAAE,gBANR;AAOEE,EAAAA,IAAI,EAAE,CACJ;AAACR,IAAAA,KAAK,EAAE,KAAR;AAAeE,IAAAA,IAAI,EAAE,OAArB;AAA8BG,IAAAA,QAAQ,EAAE,KAAxC;AAA+CC,IAAAA,IAAI,EAAE;AAArD,GADI,EAEJ;AAACN,IAAAA,KAAK,EAAE,eAAR;AAAyBE,IAAAA,IAAI,EAAE,iBAA/B;AAAkDG,IAAAA,QAAQ,EAAE;AAA5D,GAFI,EAGJ;AAACL,IAAAA,KAAK,EAAE,UAAR;AAAoBE,IAAAA,IAAI,EAAE,YAA1B;AAAwCG,IAAAA,QAAQ,EAAE;AAAlD,GAHI,EAIJ;AAACL,IAAAA,KAAK,EAAE,KAAR;AAAeE,IAAAA,IAAI,EAAE,OAArB;AAA8BG,IAAAA,QAAQ,EAAE;AAAxC,GAJI,EAKJ;AAACL,IAAAA,KAAK,EAAE,MAAR;AAAgBE,IAAAA,IAAI,EAAE,QAAtB;AAAgCG,IAAAA,QAAQ,EAAE;AAA1C,GALI;AAPR,CAzCmB,CAAd;AA0DP,eAAe;AACbI,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAEZ,MAAM,CAACW,KADV;AAELE,IAAAA,aAAa,EAAE,EAFV;AAGLZ,IAAAA,KAHK;AAILa,IAAAA,IAAI,EAAE,EAJD;AAKLC,IAAAA,OAAO,EAAE;AACPP,MAAAA,IAAI,EAAE,MADC;AAEPQ,MAAAA,MAAM,EAAE;AAFD;AALJ;AADM,CAAf","sourcesContent":["import Header from '../../../../../organism/setup-header/test/fixtures/default';\n\nexport const items = [\n {\n title: 'My Dashboard',\n key: 'dashboard',\n href: '#brand/samsung/dashboard',\n open: undefined,\n selected: true,\n type: 'simpleTab'\n },\n {\n title: 'Administration',\n key: 'administration',\n href: '#brand/samsung/administration',\n open: false,\n selected: false,\n type: 'collapsibleTab'\n },\n {\n title: 'Editorialization',\n key: 'editorialization',\n href: '#brand/samsung/editorialization',\n type: 'iconLink',\n open: false,\n selected: false\n },\n {\n title: 'Content Creation',\n key: 'contentCreation',\n href: '#brand/samsung/content-creation',\n open: false,\n selected: false,\n type: 'iconLink'\n },\n {\n title: 'Animation',\n key: 'animation',\n href: '#brand/samsung/content-creation',\n selected: false,\n isOpen: true,\n type: 'collapsibleTab'\n },\n {\n title: 'Analytics',\n key: 'analytics',\n href: '#brand/samsung/analytics',\n open: false,\n selected: false,\n type: 'collapsibleTab',\n tabs: [\n {title: 'SSO', href: '#/sso', selected: false, type: 'iconLink'},\n {title: 'Look and Feel', href: '#/look-and-feel', selected: false},\n {title: 'Settings', href: '#/settings', selected: false},\n {title: 'Any', href: '#/any', selected: false},\n {title: 'Many', href: '#/many', selected: false}\n ]\n }\n];\n\nexport default {\n props: {\n header: Header.props,\n notifications: [],\n items,\n logo: '',\n content: {\n type: 'form',\n groups: []\n }\n }\n};\n"],"file":"default.js"}
|