@artistanbul/frontend-component-header-sumac 1.1.0
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/LICENSE +661 -0
- package/README.md +93 -0
- package/README.rst +193 -0
- package/dist/Avatar.js +43 -0
- package/dist/Avatar.js.map +1 -0
- package/dist/Header.js +130 -0
- package/dist/Header.js.map +1 -0
- package/dist/Header.messages.js +110 -0
- package/dist/Header.messages.js.map +1 -0
- package/dist/Header.test.jsx +104 -0
- package/dist/Icons.js +52 -0
- package/dist/Icons.js.map +1 -0
- package/dist/Logo.js +28 -0
- package/dist/Logo.js.map +1 -0
- package/dist/Menu/Menu.js +321 -0
- package/dist/Menu/Menu.js.map +1 -0
- package/dist/Menu/index.js +3 -0
- package/dist/Menu/index.js.map +1 -0
- package/dist/Menu/menu.scss +45 -0
- package/dist/__snapshots__/Header.test.jsx.snap +445 -0
- package/dist/desktop-header/DesktopHeader.js +174 -0
- package/dist/desktop-header/DesktopHeader.js.map +1 -0
- package/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js +51 -0
- package/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js.map +1 -0
- package/dist/desktop-header/DesktopHeaderUserMenu.js +49 -0
- package/dist/desktop-header/DesktopHeaderUserMenu.js.map +1 -0
- package/dist/desktop-header/DesktopLoggedOutItems.js +22 -0
- package/dist/desktop-header/DesktopLoggedOutItems.js.map +1 -0
- package/dist/generic/messages.js +15 -0
- package/dist/generic/messages.js.map +1 -0
- package/dist/i18n/index.js +2 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/images/omnikampus/artistanbul-logo.png +0 -0
- package/dist/images/omnikampus/omnikampus-just-logo.png +0 -0
- package/dist/images/omnikampus/omnikampus-logo.png +0 -0
- package/dist/index.js +73 -0
- package/dist/index.js.map +1 -0
- package/dist/index.scss +248 -0
- package/dist/learning-header/AnonymousUserMenu.js +25 -0
- package/dist/learning-header/AnonymousUserMenu.js.map +1 -0
- package/dist/learning-header/AuthenticatedUserDropdown.js +57 -0
- package/dist/learning-header/AuthenticatedUserDropdown.js.map +1 -0
- package/dist/learning-header/LearningHeader.js +61 -0
- package/dist/learning-header/LearningHeader.js.map +1 -0
- package/dist/learning-header/LearningHeaderCourseInfo.js +24 -0
- package/dist/learning-header/LearningHeaderCourseInfo.js.map +1 -0
- package/dist/learning-header/LearningHeaderHelpLink.js +13 -0
- package/dist/learning-header/LearningHeaderHelpLink.js.map +1 -0
- package/dist/learning-header/LearningHeaderUserMenuItems.js +20 -0
- package/dist/learning-header/LearningHeaderUserMenuItems.js.map +1 -0
- package/dist/learning-header/LearningLoggedOutButtons.js +24 -0
- package/dist/learning-header/LearningLoggedOutButtons.js.map +1 -0
- package/dist/learning-header/messages.js +40 -0
- package/dist/learning-header/messages.js.map +1 -0
- package/dist/mobile-header/MobileHeader.js +192 -0
- package/dist/mobile-header/MobileHeader.js.map +1 -0
- package/dist/mobile-header/MobileHeaderMainMenu.js +46 -0
- package/dist/mobile-header/MobileHeaderMainMenu.js.map +1 -0
- package/dist/mobile-header/MobileHeaderUserMenu.js +38 -0
- package/dist/mobile-header/MobileHeaderUserMenu.js.map +1 -0
- package/dist/mobile-header/MobileLoggedOutItems.js +27 -0
- package/dist/mobile-header/MobileLoggedOutItems.js.map +1 -0
- package/dist/plugin-slots/CourseInfoSlot/README.md +125 -0
- package/dist/plugin-slots/CourseInfoSlot/images/add_custom_components_before_and_after_course_info.png +0 -0
- package/dist/plugin-slots/CourseInfoSlot/images/replace_course_info_with_custom_component.png +0 -0
- package/dist/plugin-slots/CourseInfoSlot/images/replace_course_title.png +0 -0
- package/dist/plugin-slots/CourseInfoSlot/index.js +31 -0
- package/dist/plugin-slots/CourseInfoSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopHeaderSlot/README.md +41 -0
- package/dist/plugin-slots/DesktopHeaderSlot/images/desktop_header_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopHeaderSlot/index.js +15 -0
- package/dist/plugin-slots/DesktopHeaderSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md +134 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_modify_items.png +0 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js +19 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/README.md +134 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_modify_items.png +0 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/index.js +19 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/README.md +129 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_modify_items.png +0 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js +19 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/README.md +141 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_modify_items.png +0 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/index.js +19 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningHelpSlot/README.md +41 -0
- package/dist/plugin-slots/LearningHelpSlot/images/learning_help_custom_component.png +0 -0
- package/dist/plugin-slots/LearningHelpSlot/index.js +10 -0
- package/dist/plugin-slots/LearningHelpSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/README.md +132 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_component.png +0 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_modified_items.png +0 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/index.js +17 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningUserMenuSlot/README.md +130 -0
- package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_component.png +0 -0
- package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_modified_items.png +0 -0
- package/dist/plugin-slots/LearningUserMenuSlot/index.js +17 -0
- package/dist/plugin-slots/LearningUserMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/LogoSlot/README.md +69 -0
- package/dist/plugin-slots/LogoSlot/index.js +26 -0
- package/dist/plugin-slots/LogoSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileHeaderSlot/README.md +41 -0
- package/dist/plugin-slots/MobileHeaderSlot/images/mobile_header_custom_component.png +0 -0
- package/dist/plugin-slots/MobileHeaderSlot/index.js +15 -0
- package/dist/plugin-slots/MobileHeaderSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/README.md +134 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_component.png +0 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_modify_items.png +0 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js +19 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileMainMenuSlot/README.md +134 -0
- package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_component.png +0 -0
- package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_modify_items.png +0 -0
- package/dist/plugin-slots/MobileMainMenuSlot/index.js +19 -0
- package/dist/plugin-slots/MobileMainMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileUserMenuSlot/README.md +142 -0
- package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_component.png +0 -0
- package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_modify_items.png +0 -0
- package/dist/plugin-slots/MobileUserMenuSlot/index.js +19 -0
- package/dist/plugin-slots/MobileUserMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/README.md +15 -0
- package/dist/setupTest.js +125 -0
- package/dist/studio-header/BrandNav.js +24 -0
- package/dist/studio-header/BrandNav.js.map +1 -0
- package/dist/studio-header/CourseLockUp.js +46 -0
- package/dist/studio-header/CourseLockUp.js.map +1 -0
- package/dist/studio-header/HeaderBody.js +143 -0
- package/dist/studio-header/HeaderBody.js.map +1 -0
- package/dist/studio-header/MobileHeader.js +79 -0
- package/dist/studio-header/MobileHeader.js.map +1 -0
- package/dist/studio-header/MobileMenu.js +46 -0
- package/dist/studio-header/MobileMenu.js.map +1 -0
- package/dist/studio-header/NavDropdownMenu.js +32 -0
- package/dist/studio-header/NavDropdownMenu.js.map +1 -0
- package/dist/studio-header/StudioHeader.js +79 -0
- package/dist/studio-header/StudioHeader.js.map +1 -0
- package/dist/studio-header/StudioHeader.scss +49 -0
- package/dist/studio-header/UserMenu.js +55 -0
- package/dist/studio-header/UserMenu.js.map +1 -0
- package/dist/studio-header/index.js +3 -0
- package/dist/studio-header/index.js.map +1 -0
- package/dist/studio-header/messages.js +55 -0
- package/dist/studio-header/messages.js.map +1 -0
- package/dist/studio-header/utils.js +26 -0
- package/dist/studio-header/utils.js.map +1 -0
- package/dist/test-utils.js +26 -0
- package/dist/test-utils.js.map +1 -0
- package/package.json +79 -0
@@ -0,0 +1,445 @@
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
2
|
+
|
3
|
+
exports[`<Header /> renders correctly for anonymous desktop 1`] = `
|
4
|
+
<header
|
5
|
+
className="site-header-desktop"
|
6
|
+
>
|
7
|
+
<a
|
8
|
+
className="nav-skip sr-only sr-only-focusable"
|
9
|
+
href="#main"
|
10
|
+
>
|
11
|
+
Skip to main content
|
12
|
+
</a>
|
13
|
+
<div
|
14
|
+
className="container-fluid null"
|
15
|
+
>
|
16
|
+
<div
|
17
|
+
className="nav-container position-relative d-flex align-items-center"
|
18
|
+
>
|
19
|
+
<a
|
20
|
+
className="logo"
|
21
|
+
href="http://localhost:18000/dashboard"
|
22
|
+
>
|
23
|
+
<img
|
24
|
+
alt="edX"
|
25
|
+
className="d-block"
|
26
|
+
src="https://edx-cdn.org/v3/default/logo.svg"
|
27
|
+
/>
|
28
|
+
</a>
|
29
|
+
<nav
|
30
|
+
aria-label="Main"
|
31
|
+
className="nav main-nav"
|
32
|
+
>
|
33
|
+
<a
|
34
|
+
className="nav-link"
|
35
|
+
href="http://localhost:18000/dashboard"
|
36
|
+
onClick={null}
|
37
|
+
>
|
38
|
+
Courses
|
39
|
+
</a>
|
40
|
+
</nav>
|
41
|
+
<nav
|
42
|
+
aria-label="Secondary"
|
43
|
+
className="nav secondary-menu-container align-items-center ml-auto"
|
44
|
+
>
|
45
|
+
<a
|
46
|
+
className="btn mr-2 btn-link"
|
47
|
+
href="http://localhost:18000/login"
|
48
|
+
>
|
49
|
+
Login
|
50
|
+
</a>
|
51
|
+
<a
|
52
|
+
className="btn mr-2 btn-outline-primary"
|
53
|
+
href="http://localhost:18000/register"
|
54
|
+
>
|
55
|
+
Sign Up
|
56
|
+
</a>
|
57
|
+
</nav>
|
58
|
+
</div>
|
59
|
+
</div>
|
60
|
+
</header>
|
61
|
+
`;
|
62
|
+
|
63
|
+
exports[`<Header /> renders correctly for anonymous mobile 1`] = `
|
64
|
+
<header
|
65
|
+
aria-label="Main"
|
66
|
+
className="site-header-mobile d-flex justify-content-between align-items-center shadow sticky-top"
|
67
|
+
>
|
68
|
+
<a
|
69
|
+
className="nav-skip sr-only sr-only-focusable"
|
70
|
+
href="#main"
|
71
|
+
>
|
72
|
+
Skip to main content
|
73
|
+
</a>
|
74
|
+
<div
|
75
|
+
className="w-100 d-flex justify-content-start"
|
76
|
+
>
|
77
|
+
<div
|
78
|
+
className="menu position-static"
|
79
|
+
onKeyDown={[Function]}
|
80
|
+
onMouseEnter={[Function]}
|
81
|
+
onMouseLeave={[Function]}
|
82
|
+
>
|
83
|
+
<button
|
84
|
+
aria-expanded={false}
|
85
|
+
aria-haspopup="menu"
|
86
|
+
aria-label="Main Menu"
|
87
|
+
className="menu-trigger icon-button"
|
88
|
+
onClick={[Function]}
|
89
|
+
title="Main Menu"
|
90
|
+
>
|
91
|
+
<svg
|
92
|
+
aria-hidden={true}
|
93
|
+
focusable="false"
|
94
|
+
height="24px"
|
95
|
+
role="img"
|
96
|
+
style={
|
97
|
+
{
|
98
|
+
"height": "1.5rem",
|
99
|
+
"width": "1.5rem",
|
100
|
+
}
|
101
|
+
}
|
102
|
+
version="1.1"
|
103
|
+
viewBox="0 0 24 24"
|
104
|
+
width="24px"
|
105
|
+
>
|
106
|
+
<rect
|
107
|
+
fill="currentColor"
|
108
|
+
height="2"
|
109
|
+
width="20"
|
110
|
+
x="2"
|
111
|
+
y="5"
|
112
|
+
/>
|
113
|
+
<rect
|
114
|
+
fill="currentColor"
|
115
|
+
height="2"
|
116
|
+
width="20"
|
117
|
+
x="2"
|
118
|
+
y="11"
|
119
|
+
/>
|
120
|
+
<rect
|
121
|
+
fill="currentColor"
|
122
|
+
height="2"
|
123
|
+
width="20"
|
124
|
+
x="2"
|
125
|
+
y="17"
|
126
|
+
/>
|
127
|
+
</svg>
|
128
|
+
</button>
|
129
|
+
</div>
|
130
|
+
</div>
|
131
|
+
<div
|
132
|
+
className="w-100 d-flex justify-content-center"
|
133
|
+
>
|
134
|
+
<a
|
135
|
+
className="logo"
|
136
|
+
href="http://localhost:18000/dashboard"
|
137
|
+
itemType="http://schema.org/Organization"
|
138
|
+
>
|
139
|
+
<img
|
140
|
+
alt="edX"
|
141
|
+
className="d-block"
|
142
|
+
src="https://edx-cdn.org/v3/default/logo.svg"
|
143
|
+
/>
|
144
|
+
</a>
|
145
|
+
</div>
|
146
|
+
<div
|
147
|
+
className="w-100 d-flex justify-content-end align-items-center"
|
148
|
+
>
|
149
|
+
<nav
|
150
|
+
aria-label="Secondary"
|
151
|
+
className="menu position-static"
|
152
|
+
onKeyDown={[Function]}
|
153
|
+
onMouseEnter={[Function]}
|
154
|
+
onMouseLeave={[Function]}
|
155
|
+
>
|
156
|
+
<button
|
157
|
+
aria-expanded={false}
|
158
|
+
aria-haspopup="menu"
|
159
|
+
aria-label="Account Menu"
|
160
|
+
className="menu-trigger icon-button"
|
161
|
+
onClick={[Function]}
|
162
|
+
title="Account Menu"
|
163
|
+
>
|
164
|
+
<span
|
165
|
+
className="avatar overflow-hidden d-inline-flex rounded-circle null"
|
166
|
+
style={
|
167
|
+
{
|
168
|
+
"height": "1.5rem",
|
169
|
+
"width": "1.5rem",
|
170
|
+
}
|
171
|
+
}
|
172
|
+
>
|
173
|
+
<svg
|
174
|
+
aria-hidden={true}
|
175
|
+
focusable="false"
|
176
|
+
height="24px"
|
177
|
+
role="img"
|
178
|
+
style={
|
179
|
+
{
|
180
|
+
"height": "1.5rem",
|
181
|
+
"width": "1.5rem",
|
182
|
+
}
|
183
|
+
}
|
184
|
+
version="1.1"
|
185
|
+
viewBox="0 0 24 24"
|
186
|
+
width="24px"
|
187
|
+
>
|
188
|
+
<path
|
189
|
+
d="M4.10255106,18.1351061 C4.7170266,16.0581859 8.01891846,14.4720277 12,14.4720277 C15.9810815,14.4720277 19.2829734,16.0581859 19.8974489,18.1351061 C21.215206,16.4412566 22,14.3122775 22,12 C22,6.4771525 17.5228475,2 12,2 C6.4771525,2 2,6.4771525 2,12 C2,14.3122775 2.78479405,16.4412566 4.10255106,18.1351061 Z M12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 Z M12,13 C9.790861,13 8,11.209139 8,9 C8,6.790861 9.790861,5 12,5 C14.209139,5 16,6.790861 16,9 C16,11.209139 14.209139,13 12,13 Z"
|
190
|
+
fill="currentColor"
|
191
|
+
/>
|
192
|
+
</svg>
|
193
|
+
</span>
|
194
|
+
</button>
|
195
|
+
</nav>
|
196
|
+
</div>
|
197
|
+
</header>
|
198
|
+
`;
|
199
|
+
|
200
|
+
exports[`<Header /> renders correctly for authenticated desktop 1`] = `
|
201
|
+
<header
|
202
|
+
className="site-header-desktop"
|
203
|
+
>
|
204
|
+
<a
|
205
|
+
className="nav-skip sr-only sr-only-focusable"
|
206
|
+
href="#main"
|
207
|
+
>
|
208
|
+
Skip to main content
|
209
|
+
</a>
|
210
|
+
<div
|
211
|
+
className="container-fluid null"
|
212
|
+
>
|
213
|
+
<div
|
214
|
+
className="nav-container position-relative d-flex align-items-center"
|
215
|
+
>
|
216
|
+
<a
|
217
|
+
className="logo"
|
218
|
+
href="http://localhost:18000/dashboard"
|
219
|
+
>
|
220
|
+
<img
|
221
|
+
alt="edX"
|
222
|
+
className="d-block"
|
223
|
+
src="https://edx-cdn.org/v3/default/logo.svg"
|
224
|
+
/>
|
225
|
+
</a>
|
226
|
+
<nav
|
227
|
+
aria-label="Main"
|
228
|
+
className="nav main-nav"
|
229
|
+
>
|
230
|
+
<a
|
231
|
+
className="nav-link"
|
232
|
+
href="http://localhost:18000/dashboard"
|
233
|
+
onClick={null}
|
234
|
+
>
|
235
|
+
Courses
|
236
|
+
</a>
|
237
|
+
</nav>
|
238
|
+
<nav
|
239
|
+
aria-label="Secondary"
|
240
|
+
className="nav secondary-menu-container align-items-center ml-auto"
|
241
|
+
>
|
242
|
+
<div
|
243
|
+
className="menu null"
|
244
|
+
onKeyDown={[Function]}
|
245
|
+
onMouseEnter={[Function]}
|
246
|
+
onMouseLeave={[Function]}
|
247
|
+
>
|
248
|
+
<button
|
249
|
+
aria-expanded={false}
|
250
|
+
aria-haspopup="menu"
|
251
|
+
aria-label="Account menu for edX"
|
252
|
+
className="menu-trigger btn btn-outline-primary d-inline-flex align-items-center pl-2 pr-3"
|
253
|
+
onClick={[Function]}
|
254
|
+
>
|
255
|
+
<span
|
256
|
+
className="avatar overflow-hidden d-inline-flex rounded-circle mr-2"
|
257
|
+
style={
|
258
|
+
{
|
259
|
+
"height": "1.5em",
|
260
|
+
"width": "1.5em",
|
261
|
+
}
|
262
|
+
}
|
263
|
+
>
|
264
|
+
<svg
|
265
|
+
aria-hidden={true}
|
266
|
+
focusable="false"
|
267
|
+
height="24px"
|
268
|
+
role="img"
|
269
|
+
style={
|
270
|
+
{
|
271
|
+
"height": "1.5em",
|
272
|
+
"width": "1.5em",
|
273
|
+
}
|
274
|
+
}
|
275
|
+
version="1.1"
|
276
|
+
viewBox="0 0 24 24"
|
277
|
+
width="24px"
|
278
|
+
>
|
279
|
+
<path
|
280
|
+
d="M4.10255106,18.1351061 C4.7170266,16.0581859 8.01891846,14.4720277 12,14.4720277 C15.9810815,14.4720277 19.2829734,16.0581859 19.8974489,18.1351061 C21.215206,16.4412566 22,14.3122775 22,12 C22,6.4771525 17.5228475,2 12,2 C6.4771525,2 2,6.4771525 2,12 C2,14.3122775 2.78479405,16.4412566 4.10255106,18.1351061 Z M12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 Z M12,13 C9.790861,13 8,11.209139 8,9 C8,6.790861 9.790861,5 12,5 C14.209139,5 16,6.790861 16,9 C16,11.209139 14.209139,13 12,13 Z"
|
281
|
+
fill="currentColor"
|
282
|
+
/>
|
283
|
+
</svg>
|
284
|
+
</span>
|
285
|
+
edX
|
286
|
+
|
287
|
+
<svg
|
288
|
+
aria-hidden={true}
|
289
|
+
focusable="false"
|
290
|
+
height="16px"
|
291
|
+
role="img"
|
292
|
+
version="1.1"
|
293
|
+
viewBox="0 0 16 16"
|
294
|
+
width="16px"
|
295
|
+
>
|
296
|
+
<path
|
297
|
+
d="M7,4 L7,8 L11,8 L11,10 L5,10 L5,4 L7,4 Z"
|
298
|
+
fill="currentColor"
|
299
|
+
transform="translate(8.000000, 7.000000) rotate(-45.000000) translate(-8.000000, -7.000000) "
|
300
|
+
/>
|
301
|
+
</svg>
|
302
|
+
</button>
|
303
|
+
</div>
|
304
|
+
</nav>
|
305
|
+
</div>
|
306
|
+
</div>
|
307
|
+
</header>
|
308
|
+
`;
|
309
|
+
|
310
|
+
exports[`<Header /> renders correctly for authenticated mobile 1`] = `
|
311
|
+
<header
|
312
|
+
aria-label="Main"
|
313
|
+
className="site-header-mobile d-flex justify-content-between align-items-center shadow sticky-top"
|
314
|
+
>
|
315
|
+
<a
|
316
|
+
className="nav-skip sr-only sr-only-focusable"
|
317
|
+
href="#main"
|
318
|
+
>
|
319
|
+
Skip to main content
|
320
|
+
</a>
|
321
|
+
<div
|
322
|
+
className="w-100 d-flex justify-content-start"
|
323
|
+
>
|
324
|
+
<div
|
325
|
+
className="menu position-static"
|
326
|
+
onKeyDown={[Function]}
|
327
|
+
onMouseEnter={[Function]}
|
328
|
+
onMouseLeave={[Function]}
|
329
|
+
>
|
330
|
+
<button
|
331
|
+
aria-expanded={false}
|
332
|
+
aria-haspopup="menu"
|
333
|
+
aria-label="Main Menu"
|
334
|
+
className="menu-trigger icon-button"
|
335
|
+
onClick={[Function]}
|
336
|
+
title="Main Menu"
|
337
|
+
>
|
338
|
+
<svg
|
339
|
+
aria-hidden={true}
|
340
|
+
focusable="false"
|
341
|
+
height="24px"
|
342
|
+
role="img"
|
343
|
+
style={
|
344
|
+
{
|
345
|
+
"height": "1.5rem",
|
346
|
+
"width": "1.5rem",
|
347
|
+
}
|
348
|
+
}
|
349
|
+
version="1.1"
|
350
|
+
viewBox="0 0 24 24"
|
351
|
+
width="24px"
|
352
|
+
>
|
353
|
+
<rect
|
354
|
+
fill="currentColor"
|
355
|
+
height="2"
|
356
|
+
width="20"
|
357
|
+
x="2"
|
358
|
+
y="5"
|
359
|
+
/>
|
360
|
+
<rect
|
361
|
+
fill="currentColor"
|
362
|
+
height="2"
|
363
|
+
width="20"
|
364
|
+
x="2"
|
365
|
+
y="11"
|
366
|
+
/>
|
367
|
+
<rect
|
368
|
+
fill="currentColor"
|
369
|
+
height="2"
|
370
|
+
width="20"
|
371
|
+
x="2"
|
372
|
+
y="17"
|
373
|
+
/>
|
374
|
+
</svg>
|
375
|
+
</button>
|
376
|
+
</div>
|
377
|
+
</div>
|
378
|
+
<div
|
379
|
+
className="w-100 d-flex justify-content-center"
|
380
|
+
>
|
381
|
+
<a
|
382
|
+
className="logo"
|
383
|
+
href="http://localhost:18000/dashboard"
|
384
|
+
itemType="http://schema.org/Organization"
|
385
|
+
>
|
386
|
+
<img
|
387
|
+
alt="edX"
|
388
|
+
className="d-block"
|
389
|
+
src="https://edx-cdn.org/v3/default/logo.svg"
|
390
|
+
/>
|
391
|
+
</a>
|
392
|
+
</div>
|
393
|
+
<div
|
394
|
+
className="w-100 d-flex justify-content-end align-items-center"
|
395
|
+
>
|
396
|
+
<nav
|
397
|
+
aria-label="Secondary"
|
398
|
+
className="menu position-static"
|
399
|
+
onKeyDown={[Function]}
|
400
|
+
onMouseEnter={[Function]}
|
401
|
+
onMouseLeave={[Function]}
|
402
|
+
>
|
403
|
+
<button
|
404
|
+
aria-expanded={false}
|
405
|
+
aria-haspopup="menu"
|
406
|
+
aria-label="Account Menu"
|
407
|
+
className="menu-trigger icon-button"
|
408
|
+
onClick={[Function]}
|
409
|
+
title="Account Menu"
|
410
|
+
>
|
411
|
+
<span
|
412
|
+
className="avatar overflow-hidden d-inline-flex rounded-circle null"
|
413
|
+
style={
|
414
|
+
{
|
415
|
+
"height": "1.5rem",
|
416
|
+
"width": "1.5rem",
|
417
|
+
}
|
418
|
+
}
|
419
|
+
>
|
420
|
+
<svg
|
421
|
+
aria-hidden={true}
|
422
|
+
focusable="false"
|
423
|
+
height="24px"
|
424
|
+
role="img"
|
425
|
+
style={
|
426
|
+
{
|
427
|
+
"height": "1.5rem",
|
428
|
+
"width": "1.5rem",
|
429
|
+
}
|
430
|
+
}
|
431
|
+
version="1.1"
|
432
|
+
viewBox="0 0 24 24"
|
433
|
+
width="24px"
|
434
|
+
>
|
435
|
+
<path
|
436
|
+
d="M4.10255106,18.1351061 C4.7170266,16.0581859 8.01891846,14.4720277 12,14.4720277 C15.9810815,14.4720277 19.2829734,16.0581859 19.8974489,18.1351061 C21.215206,16.4412566 22,14.3122775 22,12 C22,6.4771525 17.5228475,2 12,2 C6.4771525,2 2,6.4771525 2,12 C2,14.3122775 2.78479405,16.4412566 4.10255106,18.1351061 Z M12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 Z M12,13 C9.790861,13 8,11.209139 8,9 C8,6.790861 9.790861,5 12,5 C14.209139,5 16,6.790861 16,9 C16,11.209139 14.209139,13 12,13 Z"
|
437
|
+
fill="currentColor"
|
438
|
+
/>
|
439
|
+
</svg>
|
440
|
+
</span>
|
441
|
+
</button>
|
442
|
+
</nav>
|
443
|
+
</div>
|
444
|
+
</header>
|
445
|
+
`;
|
@@ -0,0 +1,174 @@
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
2
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
3
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
4
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
7
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
8
|
+
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
|
9
|
+
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
10
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
11
|
+
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
12
|
+
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
13
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
14
|
+
import React from 'react';
|
15
|
+
import PropTypes from 'prop-types';
|
16
|
+
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
17
|
+
import { getConfig } from '@edx/frontend-platform';
|
18
|
+
|
19
|
+
// Local Components
|
20
|
+
import { Menu, MenuTrigger, MenuContent } from '../Menu';
|
21
|
+
import Avatar from '../Avatar';
|
22
|
+
import LogoSlot from '../plugin-slots/LogoSlot';
|
23
|
+
import DesktopLoggedOutItemsSlot from '../plugin-slots/DesktopLoggedOutItemsSlot';
|
24
|
+
import { desktopLoggedOutItemsDataShape } from './DesktopLoggedOutItems';
|
25
|
+
import DesktopMainMenuSlot from '../plugin-slots/DesktopMainMenuSlot';
|
26
|
+
import { desktopHeaderMainOrSecondaryMenuDataShape } from './DesktopHeaderMainOrSecondaryMenu';
|
27
|
+
import DesktopSecondaryMenuSlot from '../plugin-slots/DesktopSecondaryMenuSlot';
|
28
|
+
import DesktopUserMenuSlot from '../plugin-slots/DesktopUserMenuSlot';
|
29
|
+
import { desktopUserMenuDataShape } from './DesktopHeaderUserMenu';
|
30
|
+
import omnikampusLogo from "../images/omnikampus/omnikampus-just-logo.png";
|
31
|
+
import "../index.scss";
|
32
|
+
|
33
|
+
// i18n
|
34
|
+
import messages from '../Header.messages';
|
35
|
+
|
36
|
+
// Assets
|
37
|
+
import { CaretIcon } from '../Icons';
|
38
|
+
var DesktopHeader = /*#__PURE__*/function (_React$Component) {
|
39
|
+
function DesktopHeader(props) {
|
40
|
+
_classCallCheck(this, DesktopHeader);
|
41
|
+
// eslint-disable-line no-useless-constructor
|
42
|
+
return _callSuper(this, DesktopHeader, [props]);
|
43
|
+
}
|
44
|
+
_inherits(DesktopHeader, _React$Component);
|
45
|
+
return _createClass(DesktopHeader, [{
|
46
|
+
key: "renderMainMenu",
|
47
|
+
value: function renderMainMenu() {
|
48
|
+
var mainMenu = this.props.mainMenu;
|
49
|
+
return /*#__PURE__*/React.createElement(DesktopMainMenuSlot, {
|
50
|
+
menu: mainMenu
|
51
|
+
});
|
52
|
+
}
|
53
|
+
}, {
|
54
|
+
key: "renderSecondaryMenu",
|
55
|
+
value: function renderSecondaryMenu() {
|
56
|
+
var secondaryMenu = this.props.secondaryMenu;
|
57
|
+
return /*#__PURE__*/React.createElement(DesktopSecondaryMenuSlot, {
|
58
|
+
menu: secondaryMenu
|
59
|
+
});
|
60
|
+
}
|
61
|
+
}, {
|
62
|
+
key: "renderUserMenu",
|
63
|
+
value: function renderUserMenu() {
|
64
|
+
var _this$props = this.props,
|
65
|
+
userMenu = _this$props.userMenu,
|
66
|
+
avatar = _this$props.avatar,
|
67
|
+
username = _this$props.username,
|
68
|
+
intl = _this$props.intl;
|
69
|
+
return /*#__PURE__*/React.createElement(Menu, {
|
70
|
+
transitionClassName: "menu-dropdown",
|
71
|
+
transitionTimeout: 250
|
72
|
+
}, /*#__PURE__*/React.createElement(MenuTrigger, {
|
73
|
+
tag: "button",
|
74
|
+
"aria-label": intl.formatMessage(messages['header.label.account.menu.for'], {
|
75
|
+
username: username
|
76
|
+
}),
|
77
|
+
className: "btn btn-outline-primary d-inline-flex align-items-center pl-2 pr-3"
|
78
|
+
}, /*#__PURE__*/React.createElement(Avatar, {
|
79
|
+
size: "1.5em",
|
80
|
+
src: avatar,
|
81
|
+
alt: "",
|
82
|
+
className: "mr-2"
|
83
|
+
}), username, " ", /*#__PURE__*/React.createElement(CaretIcon, {
|
84
|
+
role: "img",
|
85
|
+
"aria-hidden": true,
|
86
|
+
focusable: "false"
|
87
|
+
})), /*#__PURE__*/React.createElement(MenuContent, {
|
88
|
+
className: "mb-0 dropdown-menu show dropdown-menu-right pin-right shadow py-2"
|
89
|
+
}, /*#__PURE__*/React.createElement(DesktopUserMenuSlot, {
|
90
|
+
menu: userMenu
|
91
|
+
})));
|
92
|
+
}
|
93
|
+
}, {
|
94
|
+
key: "renderLoggedOutItems",
|
95
|
+
value: function renderLoggedOutItems() {
|
96
|
+
var loggedOutItems = this.props.loggedOutItems;
|
97
|
+
return /*#__PURE__*/React.createElement(DesktopLoggedOutItemsSlot, {
|
98
|
+
items: loggedOutItems
|
99
|
+
});
|
100
|
+
}
|
101
|
+
}, {
|
102
|
+
key: "render",
|
103
|
+
value: function render() {
|
104
|
+
var _this$props2 = this.props,
|
105
|
+
logo = _this$props2.logo,
|
106
|
+
logoAltText = _this$props2.logoAltText,
|
107
|
+
logoDestination = _this$props2.logoDestination,
|
108
|
+
loggedIn = _this$props2.loggedIn,
|
109
|
+
intl = _this$props2.intl;
|
110
|
+
var logoProps = {
|
111
|
+
src: omnikampusLogo,
|
112
|
+
alt: logoAltText,
|
113
|
+
href: logoDestination
|
114
|
+
};
|
115
|
+
var logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'mw-100' : null;
|
116
|
+
return /*#__PURE__*/React.createElement("header", {
|
117
|
+
className: "site-header-desktop"
|
118
|
+
}, /*#__PURE__*/React.createElement("a", {
|
119
|
+
className: "nav-skip sr-only sr-only-focusable",
|
120
|
+
href: "#main"
|
121
|
+
}, intl.formatMessage(messages['header.label.skip.nav'])), /*#__PURE__*/React.createElement("div", {
|
122
|
+
className: "container-fluid ".concat(logoClasses)
|
123
|
+
}, /*#__PURE__*/React.createElement("div", {
|
124
|
+
className: "nav-container position-relative d-flex align-items-center"
|
125
|
+
}, /*#__PURE__*/React.createElement(LogoSlot, logoProps), /*#__PURE__*/React.createElement("nav", {
|
126
|
+
"aria-label": intl.formatMessage(messages['header.label.main.nav']),
|
127
|
+
className: "nav main-nav"
|
128
|
+
}, this.renderMainMenu()), /*#__PURE__*/React.createElement("nav", {
|
129
|
+
"aria-label": intl.formatMessage(messages['header.label.secondary.nav']),
|
130
|
+
className: "nav secondary-menu-container align-items-center ml-auto"
|
131
|
+
}, loggedIn ? /*#__PURE__*/React.createElement(React.Fragment, null, this.renderSecondaryMenu(), this.renderUserMenu()) : this.renderLoggedOutItems()))));
|
132
|
+
}
|
133
|
+
}]);
|
134
|
+
}(React.Component);
|
135
|
+
export var desktopHeaderDataShape = {
|
136
|
+
mainMenu: desktopHeaderMainOrSecondaryMenuDataShape,
|
137
|
+
secondaryMenu: desktopHeaderMainOrSecondaryMenuDataShape,
|
138
|
+
userMenu: desktopUserMenuDataShape,
|
139
|
+
loggedOutItems: desktopLoggedOutItemsDataShape,
|
140
|
+
logo: PropTypes.string,
|
141
|
+
logoAltText: PropTypes.string,
|
142
|
+
logoDestination: PropTypes.string,
|
143
|
+
avatar: PropTypes.string,
|
144
|
+
username: PropTypes.string,
|
145
|
+
loggedIn: PropTypes.bool
|
146
|
+
};
|
147
|
+
DesktopHeader.propTypes = {
|
148
|
+
mainMenu: desktopHeaderDataShape.mainMenu,
|
149
|
+
secondaryMenu: desktopHeaderDataShape.secondaryMenumainMenu,
|
150
|
+
userMenu: desktopHeaderDataShape.userMenumainMenu,
|
151
|
+
loggedOutItems: desktopHeaderDataShape.loggedOutItemsmainMenu,
|
152
|
+
logo: desktopHeaderDataShape.logomainMenu,
|
153
|
+
logoAltText: desktopHeaderDataShape.logoAltTextmainMenu,
|
154
|
+
logoDestination: desktopHeaderDataShape.logoDestinationmainMenu,
|
155
|
+
avatar: desktopHeaderDataShape.avatarmainMenu,
|
156
|
+
username: desktopHeaderDataShape.usernamemainMenu,
|
157
|
+
loggedIn: desktopHeaderDataShape.loggedInmainMenu,
|
158
|
+
// i18n
|
159
|
+
intl: intlShape.isRequired
|
160
|
+
};
|
161
|
+
DesktopHeader.defaultProps = {
|
162
|
+
mainMenu: [],
|
163
|
+
secondaryMenu: [],
|
164
|
+
userMenu: [],
|
165
|
+
loggedOutItems: [],
|
166
|
+
logo: null,
|
167
|
+
logoAltText: null,
|
168
|
+
logoDestination: null,
|
169
|
+
avatar: null,
|
170
|
+
username: null,
|
171
|
+
loggedIn: false
|
172
|
+
};
|
173
|
+
export default injectIntl(DesktopHeader);
|
174
|
+
//# sourceMappingURL=DesktopHeader.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"DesktopHeader.js","names":["React","PropTypes","injectIntl","intlShape","getConfig","Menu","MenuTrigger","MenuContent","Avatar","LogoSlot","DesktopLoggedOutItemsSlot","desktopLoggedOutItemsDataShape","DesktopMainMenuSlot","desktopHeaderMainOrSecondaryMenuDataShape","DesktopSecondaryMenuSlot","DesktopUserMenuSlot","desktopUserMenuDataShape","omnikampusLogo","messages","CaretIcon","DesktopHeader","_React$Component","props","_classCallCheck","_callSuper","_inherits","_createClass","key","value","renderMainMenu","mainMenu","createElement","menu","renderSecondaryMenu","secondaryMenu","renderUserMenu","_this$props","userMenu","avatar","username","intl","transitionClassName","transitionTimeout","tag","formatMessage","className","size","src","alt","role","focusable","renderLoggedOutItems","loggedOutItems","items","render","_this$props2","logo","logoAltText","logoDestination","loggedIn","logoProps","href","logoClasses","AUTHN_MINIMAL_HEADER","concat","Fragment","Component","desktopHeaderDataShape","string","bool","propTypes","secondaryMenumainMenu","userMenumainMenu","loggedOutItemsmainMenu","logomainMenu","logoAltTextmainMenu","logoDestinationmainMenu","avatarmainMenu","usernamemainMenu","loggedInmainMenu","isRequired","defaultProps"],"sources":["../../src/desktop-header/DesktopHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { getConfig } from '@edx/frontend-platform';\n\n// Local Components\nimport { Menu, MenuTrigger, MenuContent } from '../Menu';\nimport Avatar from '../Avatar';\nimport LogoSlot from '../plugin-slots/LogoSlot';\nimport DesktopLoggedOutItemsSlot from '../plugin-slots/DesktopLoggedOutItemsSlot';\nimport { desktopLoggedOutItemsDataShape } from './DesktopLoggedOutItems';\nimport DesktopMainMenuSlot from '../plugin-slots/DesktopMainMenuSlot';\nimport { desktopHeaderMainOrSecondaryMenuDataShape } from './DesktopHeaderMainOrSecondaryMenu';\nimport DesktopSecondaryMenuSlot from '../plugin-slots/DesktopSecondaryMenuSlot';\nimport DesktopUserMenuSlot from '../plugin-slots/DesktopUserMenuSlot';\nimport { desktopUserMenuDataShape } from './DesktopHeaderUserMenu';\n\nimport omnikampusLogo from \"../images/omnikampus/omnikampus-just-logo.png\"\n\nimport \"../index.scss\"\n\n// i18n\nimport messages from '../Header.messages';\n\n// Assets\nimport { CaretIcon } from '../Icons';\n\nclass DesktopHeader extends React.Component {\n constructor(props) { // eslint-disable-line no-useless-constructor\n super(props);\n }\n\n renderMainMenu() {\n const { mainMenu } = this.props;\n return <DesktopMainMenuSlot menu={mainMenu} />;\n }\n\n renderSecondaryMenu() {\n const { secondaryMenu } = this.props;\n return <DesktopSecondaryMenuSlot menu={secondaryMenu} />;\n }\n\n renderUserMenu() {\n const {\n userMenu,\n avatar,\n username,\n intl,\n } = this.props;\n\n return (\n <Menu transitionClassName=\"menu-dropdown\" transitionTimeout={250}>\n <MenuTrigger\n tag=\"button\"\n aria-label={intl.formatMessage(messages['header.label.account.menu.for'], { username })}\n className=\"btn btn-outline-primary d-inline-flex align-items-center pl-2 pr-3\"\n >\n <Avatar size=\"1.5em\" src={avatar} alt=\"\" className=\"mr-2\" />\n {username} <CaretIcon role=\"img\" aria-hidden focusable=\"false\" />\n </MenuTrigger>\n <MenuContent className=\"mb-0 dropdown-menu show dropdown-menu-right pin-right shadow py-2\">\n <DesktopUserMenuSlot menu={userMenu} />\n </MenuContent>\n </Menu>\n );\n }\n\n renderLoggedOutItems() {\n const { loggedOutItems } = this.props;\n return <DesktopLoggedOutItemsSlot items={loggedOutItems} />;\n }\n\n render() {\n const {\n logo,\n logoAltText,\n logoDestination,\n loggedIn,\n intl,\n } = this.props;\n const logoProps = { src: omnikampusLogo, alt: logoAltText, href: logoDestination };\n const logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'mw-100' : null;\n\n return (\n <header className=\"site-header-desktop\">\n <a className=\"nav-skip sr-only sr-only-focusable\" href=\"#main\">{intl.formatMessage(messages['header.label.skip.nav'])}</a>\n <div className={`container-fluid ${logoClasses}`}>\n <div className=\"nav-container position-relative d-flex align-items-center\">\n <LogoSlot {...logoProps} />\n <nav\n aria-label={intl.formatMessage(messages['header.label.main.nav'])}\n className=\"nav main-nav\"\n >\n {this.renderMainMenu()}\n </nav>\n <nav\n aria-label={intl.formatMessage(messages['header.label.secondary.nav'])}\n className=\"nav secondary-menu-container align-items-center ml-auto\"\n >\n {loggedIn\n ? (\n <>\n {this.renderSecondaryMenu()}\n {this.renderUserMenu()}\n </>\n ) : this.renderLoggedOutItems()}\n </nav>\n </div>\n </div>\n </header>\n );\n }\n}\n\nexport const desktopHeaderDataShape = {\n mainMenu: desktopHeaderMainOrSecondaryMenuDataShape,\n secondaryMenu: desktopHeaderMainOrSecondaryMenuDataShape,\n userMenu: desktopUserMenuDataShape,\n loggedOutItems: desktopLoggedOutItemsDataShape,\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n logoDestination: PropTypes.string,\n avatar: PropTypes.string,\n username: PropTypes.string,\n loggedIn: PropTypes.bool,\n};\n\nDesktopHeader.propTypes = {\n mainMenu: desktopHeaderDataShape.mainMenu,\n secondaryMenu: desktopHeaderDataShape.secondaryMenumainMenu,\n userMenu: desktopHeaderDataShape.userMenumainMenu,\n loggedOutItems: desktopHeaderDataShape.loggedOutItemsmainMenu,\n logo: desktopHeaderDataShape.logomainMenu,\n logoAltText: desktopHeaderDataShape.logoAltTextmainMenu,\n logoDestination: desktopHeaderDataShape.logoDestinationmainMenu,\n avatar: desktopHeaderDataShape.avatarmainMenu,\n username: desktopHeaderDataShape.usernamemainMenu,\n loggedIn: desktopHeaderDataShape.loggedInmainMenu,\n\n // i18n\n intl: intlShape.isRequired,\n};\n\nDesktopHeader.defaultProps = {\n mainMenu: [],\n secondaryMenu: [],\n userMenu: [],\n loggedOutItems: [],\n logo: null,\n logoAltText: null,\n logoDestination: null,\n avatar: null,\n username: null,\n loggedIn: false,\n};\n\nexport default injectIntl(DesktopHeader);\n"],"mappings":"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","ignoreList":[]}
|