@nauedu/frontend-component-header 20.1.0 → 20.1.1
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/dist/Header.js +13 -9
- package/dist/Header.js.map +1 -1
- package/dist/Header.test.jsx +3 -0
- package/dist/Icons.js +1 -1
- package/dist/LanguageSelector/data/api.js +13 -5
- package/dist/LanguageSelector/data/api.js.map +1 -1
- package/dist/LanguageSelector/index.js +12 -4
- package/dist/LanguageSelector/index.js.map +1 -1
- package/dist/Logo.js +10 -23
- package/dist/Logo.js.map +1 -1
- package/dist/Menu/Menu.js +11 -11
- package/dist/Menu/Menu.js.map +1 -1
- package/dist/Menu/menu.scss +6 -6
- package/dist/__snapshots__/Header.test.jsx.snap +2 -0
- package/dist/desktop-header/DesktopHeader.js +172 -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/desktop-header/DesktopUserMenuToggle.js +25 -0
- package/dist/desktop-header/DesktopUserMenuToggle.js.map +1 -0
- package/dist/frontend-platform.d.ts +41 -0
- package/dist/index.scss +27 -15
- package/dist/learning-header/AnonymousUserMenu.js +11 -8
- package/dist/learning-header/AnonymousUserMenu.js.map +1 -1
- package/dist/learning-header/AuthenticatedUserDropdown.js +32 -24
- package/dist/learning-header/AuthenticatedUserDropdown.js.map +1 -1
- package/dist/learning-header/LearningHeader.js +17 -15
- package/dist/learning-header/LearningHeader.js.map +1 -1
- 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/LearningUserMenuToggle.js +26 -0
- package/dist/learning-header/LearningUserMenuToggle.js.map +1 -0
- package/dist/learning-header/data/api.js +12 -4
- package/dist/learning-header/data/api.js.map +1 -1
- package/dist/learning-header/data/api.test.js +92 -95
- package/dist/learning-header/data/api.test.js.map +1 -1
- package/dist/learning-header/messages.js +5 -0
- package/dist/learning-header/messages.js.map +1 -1
- package/dist/mobile-header/MobileHeader.js +197 -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/mobile-header/MobileUserMenuToggle.js +19 -0
- package/dist/mobile-header/MobileUserMenuToggle.js.map +1 -0
- package/dist/plugin-slots/CourseInfoSlot/README.md +128 -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 +32 -0
- package/dist/plugin-slots/CourseInfoSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopHeaderSlot/README.md +44 -0
- package/dist/plugin-slots/DesktopHeaderSlot/images/desktop_header_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopHeaderSlot/index.js +16 -0
- package/dist/plugin-slots/DesktopHeaderSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md +137 -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 +20 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/README.md +137 -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 +20 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/README.md +132 -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 +20 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/README.md +144 -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 +20 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopUserMenuToggleSlot/README.md +74 -0
- package/dist/plugin-slots/DesktopUserMenuToggleSlot/images/desktop_user_menu_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopUserMenuToggleSlot/images/desktop_user_menu_modified_toggle.png +0 -0
- package/dist/plugin-slots/DesktopUserMenuToggleSlot/index.js +19 -0
- package/dist/plugin-slots/DesktopUserMenuToggleSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningHelpSlot/README.md +44 -0
- package/dist/plugin-slots/LearningHelpSlot/images/learning_help_custom_component.png +0 -0
- package/dist/plugin-slots/LearningHelpSlot/index.js +11 -0
- package/dist/plugin-slots/LearningHelpSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/README.md +135 -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 +18 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningUserMenuSlot/README.md +133 -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 +18 -0
- package/dist/plugin-slots/LearningUserMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningUserMenuToggleSlot/README.md +74 -0
- package/dist/plugin-slots/LearningUserMenuToggleSlot/images/learning_user_menu_toggle_custom_component.png +0 -0
- package/dist/plugin-slots/LearningUserMenuToggleSlot/images/learning_user_menu_toggle_modified_items.png +0 -0
- package/dist/plugin-slots/LearningUserMenuToggleSlot/index.js +19 -0
- package/dist/plugin-slots/LearningUserMenuToggleSlot/index.js.map +1 -0
- package/dist/plugin-slots/LogoSlot/README.md +72 -0
- package/dist/plugin-slots/LogoSlot/index.js +27 -0
- package/dist/plugin-slots/LogoSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileHeaderSlot/README.md +44 -0
- package/dist/plugin-slots/MobileHeaderSlot/images/mobile_header_custom_component.png +0 -0
- package/dist/plugin-slots/MobileHeaderSlot/index.js +16 -0
- package/dist/plugin-slots/MobileHeaderSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/README.md +136 -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 +20 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileMainMenuSlot/README.md +136 -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 +20 -0
- package/dist/plugin-slots/MobileMainMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileUserMenuSlot/README.md +144 -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 +20 -0
- package/dist/plugin-slots/MobileUserMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileUserMenuToggleSlot/README.md +74 -0
- package/dist/plugin-slots/MobileUserMenuToggleSlot/images/mobile_user_menu_toggle_custom_component.png +0 -0
- package/dist/plugin-slots/MobileUserMenuToggleSlot/images/mobile_user_menu_toggle_modified_items.png +0 -0
- package/dist/plugin-slots/MobileUserMenuToggleSlot/index.js +19 -0
- package/dist/plugin-slots/MobileUserMenuToggleSlot/index.js.map +1 -0
- package/dist/plugin-slots/README.md +26 -0
- package/dist/setupTest.js +0 -2
- package/dist/studio-header/BrandNav.test.tsx +40 -0
- package/dist/studio-header/BrandNav.tsx +25 -0
- package/dist/studio-header/CourseLockUp.test.tsx +59 -0
- package/dist/studio-header/CourseLockUp.tsx +56 -0
- package/dist/studio-header/HeaderBody.test.tsx +102 -0
- package/dist/studio-header/HeaderBody.tsx +196 -0
- package/dist/studio-header/MobileHeader.tsx +74 -0
- package/dist/studio-header/MobileMenu.test.tsx +81 -0
- package/dist/studio-header/MobileMenu.tsx +50 -0
- package/dist/studio-header/NavDropdownMenu.test.tsx +67 -0
- package/dist/studio-header/NavDropdownMenu.tsx +42 -0
- package/dist/studio-header/StudioHeader.scss +8 -10
- package/dist/studio-header/StudioHeader.test.tsx +220 -0
- package/dist/studio-header/StudioHeader.tsx +84 -0
- package/dist/studio-header/UserMenu.tsx +69 -0
- package/dist/studio-header/{index.js → index.ts} +1 -1
- package/dist/studio-header/{messages.js → messages.ts} +15 -14
- package/dist/studio-header/utils.ts +37 -0
- package/dist/test-utils.js +12 -4
- package/dist/test-utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/DesktopHeader.js +0 -242
- package/dist/DesktopHeader.js.map +0 -1
- package/dist/MobileHeader.js +0 -244
- package/dist/MobileHeader.js.map +0 -1
- package/dist/studio-header/BrandNav.js +0 -21
- package/dist/studio-header/BrandNav.js.map +0 -1
- package/dist/studio-header/CourseLockUp.js +0 -45
- package/dist/studio-header/CourseLockUp.js.map +0 -1
- package/dist/studio-header/HeaderBody.js +0 -131
- package/dist/studio-header/HeaderBody.js.map +0 -1
- package/dist/studio-header/MobileHeader.js +0 -79
- package/dist/studio-header/MobileHeader.js.map +0 -1
- package/dist/studio-header/MobileMenu.js +0 -45
- package/dist/studio-header/MobileMenu.js.map +0 -1
- package/dist/studio-header/NavDropdownMenu.js +0 -30
- package/dist/studio-header/NavDropdownMenu.js.map +0 -1
- package/dist/studio-header/StudioHeader.js +0 -72
- package/dist/studio-header/StudioHeader.js.map +0 -1
- package/dist/studio-header/UserMenu.js +0 -55
- package/dist/studio-header/UserMenu.js.map +0 -1
- package/dist/studio-header/index.js.map +0 -1
- package/dist/studio-header/messages.js.map +0 -1
- package/dist/studio-header/utils.js +0 -29
- package/dist/studio-header/utils.js.map +0 -1
package/dist/index.scss
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
$spacer: 1rem;
|
|
2
2
|
$blue: #007db8;
|
|
3
3
|
$white: #fff;
|
|
4
|
+
$component-active-bg: #0A3055FF !default;
|
|
5
|
+
$component-active-color: $white !default;
|
|
6
|
+
$rounded-pill: 50rem !default;
|
|
4
7
|
|
|
5
8
|
@import './Menu/menu.scss';
|
|
6
9
|
@import './studio-header/StudioHeader.scss';
|
|
@@ -21,8 +24,9 @@ $white: #fff;
|
|
|
21
24
|
padding: .75rem;
|
|
22
25
|
justify-content: center;
|
|
23
26
|
align-items:center;
|
|
27
|
+
|
|
24
28
|
&:hover, &:focus {
|
|
25
|
-
background: rgba(0,0,0
|
|
29
|
+
background: rgba(0, 0, 0, .1);
|
|
26
30
|
}
|
|
27
31
|
}
|
|
28
32
|
|
|
@@ -36,7 +40,7 @@ $white: #fff;
|
|
|
36
40
|
white-space: nowrap;
|
|
37
41
|
overflow: hidden;
|
|
38
42
|
text-overflow: ellipsis;
|
|
39
|
-
padding-bottom: 0.
|
|
43
|
+
padding-bottom: calc(var(--pgn-spacing-spacer-base, $spacer)* 0.1);
|
|
40
44
|
}
|
|
41
45
|
}
|
|
42
46
|
|
|
@@ -63,6 +67,7 @@ $white: #fff;
|
|
|
63
67
|
text-decoration: none;
|
|
64
68
|
cursor: pointer;
|
|
65
69
|
}
|
|
70
|
+
|
|
66
71
|
img {
|
|
67
72
|
height: 1.5rem;
|
|
68
73
|
}
|
|
@@ -70,19 +75,22 @@ $white: #fff;
|
|
|
70
75
|
|
|
71
76
|
|
|
72
77
|
.site-header-desktop {
|
|
73
|
-
box-shadow: 0 1px 0 0 rgba(0,0,0
|
|
74
|
-
background: $white;
|
|
78
|
+
box-shadow: 0 1px 0 0 rgba(0, 0, 0, .1);
|
|
79
|
+
background: var(--pgn-color-white, $white);
|
|
80
|
+
|
|
75
81
|
.nav-link {
|
|
76
82
|
text-decoration: none;
|
|
77
83
|
}
|
|
84
|
+
|
|
78
85
|
.logo {
|
|
79
86
|
display: block;
|
|
80
87
|
box-sizing: content-box;
|
|
81
88
|
position: relative;
|
|
82
89
|
top: -.05em;
|
|
83
90
|
height: 1.75rem;
|
|
84
|
-
padding:
|
|
85
|
-
margin-right:
|
|
91
|
+
padding: var(--pgn-spacing-spacer-base, $spacer) 0;
|
|
92
|
+
margin-right: var(--pgn-spacing-spacer-base, $spacer);
|
|
93
|
+
|
|
86
94
|
img {
|
|
87
95
|
display: block;
|
|
88
96
|
height: 100%;
|
|
@@ -93,38 +101,42 @@ $white: #fff;
|
|
|
93
101
|
.nav-link:focus,
|
|
94
102
|
.nav-link.active,
|
|
95
103
|
.expanded .nav-link {
|
|
96
|
-
background: $component-active-bg;
|
|
97
|
-
color: $component-active-color;
|
|
104
|
+
background: var(--pgn-color-bg-active, $component-active-bg);
|
|
105
|
+
color: var(--pgn-color-active, $component-active-color);
|
|
98
106
|
}
|
|
99
107
|
}
|
|
100
108
|
.main-nav {
|
|
101
109
|
.nav-link {
|
|
102
|
-
padding: 1.125rem
|
|
110
|
+
padding: 1.125rem var(--pgn-spacing-spacer-base, $spacer);
|
|
103
111
|
text-decoration: none;
|
|
104
112
|
font-weight: 500;
|
|
105
113
|
letter-spacing: .01em;
|
|
106
114
|
}
|
|
115
|
+
|
|
107
116
|
.nav-link:hover,
|
|
108
117
|
.nav-link:focus,
|
|
109
118
|
.nav-link.active,
|
|
110
119
|
.expanded .nav-link {
|
|
111
|
-
background: $component-active-bg;
|
|
112
|
-
color: $component-active-color;
|
|
120
|
+
background: var(--pgn-color-bg-active, $component-active-bg);
|
|
121
|
+
color: var(--pgn-color-active, $component-active-color);
|
|
113
122
|
}
|
|
123
|
+
|
|
114
124
|
.menu {
|
|
115
125
|
position: static;
|
|
126
|
+
|
|
116
127
|
.menu-content {
|
|
117
|
-
border-top: solid 2px
|
|
128
|
+
border-top: solid 2px var(--pgn-color-bg-active);
|
|
118
129
|
left: 0;
|
|
119
130
|
right: 0;
|
|
120
|
-
box-shadow: 0 1px 2px rgba(0,0,0,.25);
|
|
131
|
+
box-shadow: var(--pgn-elevation-box-shadow-down-1, 0 1px 2px rgba(0,0,0,.25));
|
|
121
132
|
border-bottom-left-radius: 2px;
|
|
122
133
|
border-bottom-right-radius: 2px;
|
|
123
|
-
padding:
|
|
134
|
+
padding: var(--pgn-spacing-spacer-base, $spacer);
|
|
124
135
|
}
|
|
125
136
|
}
|
|
126
137
|
}
|
|
138
|
+
|
|
127
139
|
.search-input {
|
|
128
|
-
border-radius: $rounded-pill;
|
|
140
|
+
border-radius: var(--pgn-size-rounded-pill, $rounded-pill);
|
|
129
141
|
}
|
|
130
142
|
}
|
|
@@ -2,18 +2,21 @@ import React from 'react';
|
|
|
2
2
|
import { getConfig } from '@edx/frontend-platform';
|
|
3
3
|
import { getLoginRedirectUrl } from '@edx/frontend-platform/auth';
|
|
4
4
|
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
|
5
|
-
import
|
|
5
|
+
import LearningLoggedOutItemsSlot from '../plugin-slots/LearningLoggedOutItemsSlot';
|
|
6
6
|
import genericMessages from '../generic/messages';
|
|
7
7
|
var AnonymousUserMenu = function AnonymousUserMenu(_ref) {
|
|
8
8
|
var intl = _ref.intl;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
variant: "outline-primary",
|
|
9
|
+
var buttonsInfo = [{
|
|
10
|
+
message: intl.formatMessage(genericMessages.registerSentenceCase),
|
|
12
11
|
href: "".concat(getConfig().LMS_BASE_URL, "/register?next=").concat(encodeURIComponent(global.location.href))
|
|
13
|
-
},
|
|
14
|
-
|
|
15
|
-
href:
|
|
16
|
-
|
|
12
|
+
}, {
|
|
13
|
+
message: intl.formatMessage(genericMessages.signInSentenceCase),
|
|
14
|
+
href: getLoginRedirectUrl(global.location.href),
|
|
15
|
+
variant: 'primary'
|
|
16
|
+
}];
|
|
17
|
+
return /*#__PURE__*/React.createElement(LearningLoggedOutItemsSlot, {
|
|
18
|
+
buttonsInfo: buttonsInfo
|
|
19
|
+
});
|
|
17
20
|
};
|
|
18
21
|
AnonymousUserMenu.propTypes = {
|
|
19
22
|
intl: intlShape.isRequired
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnonymousUserMenu.js","names":["React","getConfig","getLoginRedirectUrl","injectIntl","intlShape","
|
|
1
|
+
{"version":3,"file":"AnonymousUserMenu.js","names":["React","getConfig","getLoginRedirectUrl","injectIntl","intlShape","LearningLoggedOutItemsSlot","genericMessages","AnonymousUserMenu","_ref","intl","buttonsInfo","message","formatMessage","registerSentenceCase","href","concat","LMS_BASE_URL","encodeURIComponent","global","location","signInSentenceCase","variant","createElement","propTypes","isRequired"],"sources":["../../src/learning-header/AnonymousUserMenu.jsx"],"sourcesContent":["import React from 'react';\n\nimport { getConfig } from '@edx/frontend-platform';\nimport { getLoginRedirectUrl } from '@edx/frontend-platform/auth';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport LearningLoggedOutItemsSlot from '../plugin-slots/LearningLoggedOutItemsSlot';\n\nimport genericMessages from '../generic/messages';\n\nconst AnonymousUserMenu = ({ intl }) => {\n const buttonsInfo = [\n {\n message: intl.formatMessage(genericMessages.registerSentenceCase),\n href: `${getConfig().LMS_BASE_URL}/register?next=${encodeURIComponent(global.location.href)}`,\n },\n {\n message: intl.formatMessage(genericMessages.signInSentenceCase),\n href: getLoginRedirectUrl(global.location.href),\n variant: 'primary',\n },\n ];\n\n return <LearningLoggedOutItemsSlot buttonsInfo={buttonsInfo} />;\n};\n\nAnonymousUserMenu.propTypes = {\n intl: intlShape.isRequired,\n};\n\nexport default injectIntl(AnonymousUserMenu);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,OAAOC,0BAA0B,MAAM,4CAA4C;AAEnF,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAAiB;EAAA,IAAXC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAC/B,IAAMC,WAAW,GAAG,CAClB;IACEC,OAAO,EAAEF,IAAI,CAACG,aAAa,CAACN,eAAe,CAACO,oBAAoB,CAAC;IACjEC,IAAI,KAAAC,MAAA,CAAKd,SAAS,CAAC,CAAC,CAACe,YAAY,qBAAAD,MAAA,CAAkBE,kBAAkB,CAACC,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;EAC7F,CAAC,EACD;IACEH,OAAO,EAAEF,IAAI,CAACG,aAAa,CAACN,eAAe,CAACc,kBAAkB,CAAC;IAC/DN,IAAI,EAAEZ,mBAAmB,CAACgB,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;IAC/CO,OAAO,EAAE;EACX,CAAC,CACF;EAED,oBAAOrB,KAAA,CAAAsB,aAAA,CAACjB,0BAA0B;IAACK,WAAW,EAAEA;EAAY,CAAE,CAAC;AACjE,CAAC;AAEDH,iBAAiB,CAACgB,SAAS,GAAG;EAC5Bd,IAAI,EAAEL,SAAS,CAACoB;AAClB,CAAC;AAED,eAAerB,UAAU,CAACI,iBAAiB,CAAC","ignoreList":[]}
|
|
@@ -1,42 +1,50 @@
|
|
|
1
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
5
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
6
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
1
7
|
import React from 'react';
|
|
2
8
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
4
9
|
import { faUserCircle } from '@fortawesome/free-solid-svg-icons';
|
|
5
10
|
import { getConfig } from '@edx/frontend-platform';
|
|
6
11
|
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
|
7
12
|
import { Dropdown } from '@openedx/paragon';
|
|
13
|
+
import LearningUserMenuToggleSlot from '../plugin-slots/LearningUserMenuToggleSlot';
|
|
14
|
+
import LearningUserMenuSlot from '../plugin-slots/LearningUserMenuSlot';
|
|
8
15
|
import messages from './messages';
|
|
9
16
|
var AuthenticatedUserDropdown = function AuthenticatedUserDropdown(_ref) {
|
|
10
17
|
var intl = _ref.intl,
|
|
11
18
|
username = _ref.username;
|
|
12
|
-
var
|
|
19
|
+
var dropdownItems = [{
|
|
20
|
+
message: intl.formatMessage(messages.dashboard),
|
|
13
21
|
href: "".concat(getConfig().LMS_BASE_URL, "/dashboard")
|
|
14
|
-
},
|
|
15
|
-
|
|
16
|
-
className: "text-gray-700",
|
|
17
|
-
href: "".concat(getConfig().SUPPORT_URL)
|
|
18
|
-
}, intl.formatMessage(messages.help)), /*#__PURE__*/React.createElement(Dropdown, {
|
|
19
|
-
className: "user-dropdown ml-3"
|
|
20
|
-
}, /*#__PURE__*/React.createElement(Dropdown.Toggle, {
|
|
21
|
-
variant: "outline-primary"
|
|
22
|
-
}, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
|
23
|
-
icon: faUserCircle,
|
|
24
|
-
className: "d-md-none",
|
|
25
|
-
size: "lg"
|
|
26
|
-
}), /*#__PURE__*/React.createElement("span", {
|
|
27
|
-
"data-hj-suppress": true,
|
|
28
|
-
className: "d-none d-md-inline"
|
|
29
|
-
}, username)), /*#__PURE__*/React.createElement(Dropdown.Menu, {
|
|
30
|
-
className: "dropdown-menu-right"
|
|
31
|
-
}, dashboardMenuItem, /*#__PURE__*/React.createElement(Dropdown.Item, {
|
|
22
|
+
}, {
|
|
23
|
+
message: intl.formatMessage(messages.profile),
|
|
32
24
|
href: "".concat(getConfig().ACCOUNT_PROFILE_URL, "/u/").concat(username)
|
|
33
|
-
},
|
|
25
|
+
}, {
|
|
26
|
+
message: intl.formatMessage(messages.account),
|
|
34
27
|
href: getConfig().ACCOUNT_SETTINGS_URL
|
|
35
|
-
}
|
|
28
|
+
}].concat(_toConsumableArray(getConfig().ORDER_HISTORY_URL ? [{
|
|
29
|
+
message: intl.formatMessage(messages.orderHistory),
|
|
36
30
|
href: getConfig().ORDER_HISTORY_URL
|
|
37
|
-
}
|
|
31
|
+
}] : []), [{
|
|
32
|
+
message: intl.formatMessage(messages.signOut),
|
|
38
33
|
href: getConfig().LOGOUT_URL
|
|
39
|
-
}
|
|
34
|
+
}]);
|
|
35
|
+
return /*#__PURE__*/React.createElement(Dropdown, {
|
|
36
|
+
className: "user-dropdown ml-3"
|
|
37
|
+
}, /*#__PURE__*/React.createElement(Dropdown.Toggle, {
|
|
38
|
+
variant: "outline-primary",
|
|
39
|
+
"aria-label": intl.formatMessage(messages.userOptionsDropdownLabel)
|
|
40
|
+
}, /*#__PURE__*/React.createElement(LearningUserMenuToggleSlot, {
|
|
41
|
+
label: username,
|
|
42
|
+
icon: faUserCircle
|
|
43
|
+
})), /*#__PURE__*/React.createElement(Dropdown.Menu, {
|
|
44
|
+
className: "dropdown-menu-right"
|
|
45
|
+
}, /*#__PURE__*/React.createElement(LearningUserMenuSlot, {
|
|
46
|
+
items: dropdownItems
|
|
47
|
+
})));
|
|
40
48
|
};
|
|
41
49
|
AuthenticatedUserDropdown.propTypes = {
|
|
42
50
|
intl: intlShape.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticatedUserDropdown.js","names":["React","PropTypes","
|
|
1
|
+
{"version":3,"file":"AuthenticatedUserDropdown.js","names":["React","PropTypes","faUserCircle","getConfig","injectIntl","intlShape","Dropdown","LearningUserMenuToggleSlot","LearningUserMenuSlot","messages","AuthenticatedUserDropdown","_ref","intl","username","dropdownItems","message","formatMessage","dashboard","href","concat","LMS_BASE_URL","profile","ACCOUNT_PROFILE_URL","account","ACCOUNT_SETTINGS_URL","_toConsumableArray","ORDER_HISTORY_URL","orderHistory","signOut","LOGOUT_URL","createElement","className","Toggle","variant","userOptionsDropdownLabel","label","icon","Menu","items","propTypes","isRequired","string"],"sources":["../../src/learning-header/AuthenticatedUserDropdown.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { faUserCircle } from '@fortawesome/free-solid-svg-icons';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { Dropdown } from '@openedx/paragon';\n\nimport LearningUserMenuToggleSlot from '../plugin-slots/LearningUserMenuToggleSlot';\nimport LearningUserMenuSlot from '../plugin-slots/LearningUserMenuSlot';\n\nimport messages from './messages';\n\nconst AuthenticatedUserDropdown = ({ intl, username }) => {\n const dropdownItems = [\n {\n message: intl.formatMessage(messages.dashboard),\n href: `${getConfig().LMS_BASE_URL}/dashboard`,\n },\n {\n message: intl.formatMessage(messages.profile),\n href: `${getConfig().ACCOUNT_PROFILE_URL}/u/${username}`,\n },\n {\n message: intl.formatMessage(messages.account),\n href: getConfig().ACCOUNT_SETTINGS_URL,\n },\n ...(getConfig().ORDER_HISTORY_URL ? [{\n message: intl.formatMessage(messages.orderHistory),\n href: getConfig().ORDER_HISTORY_URL,\n }] : []),\n {\n message: intl.formatMessage(messages.signOut),\n href: getConfig().LOGOUT_URL,\n },\n ];\n\n return (\n <Dropdown className=\"user-dropdown ml-3\">\n <Dropdown.Toggle variant=\"outline-primary\" aria-label={intl.formatMessage(messages.userOptionsDropdownLabel)}>\n <LearningUserMenuToggleSlot label={username} icon={faUserCircle} />\n </Dropdown.Toggle>\n <Dropdown.Menu className=\"dropdown-menu-right\">\n <LearningUserMenuSlot items={dropdownItems} />\n </Dropdown.Menu>\n </Dropdown>\n );\n};\n\nAuthenticatedUserDropdown.propTypes = {\n intl: intlShape.isRequired,\n username: PropTypes.string.isRequired,\n};\n\nexport default injectIntl(AuthenticatedUserDropdown);\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,YAAY,QAAQ,mCAAmC;AAChE,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SAASC,QAAQ,QAAQ,kBAAkB;AAE3C,OAAOC,0BAA0B,MAAM,4CAA4C;AACnF,OAAOC,oBAAoB,MAAM,sCAAsC;AAEvE,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,IAAA,EAA2B;EAAA,IAArBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EACjD,IAAMC,aAAa,IACjB;IACEC,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACQ,SAAS,CAAC;IAC/CC,IAAI,KAAAC,MAAA,CAAKhB,SAAS,CAAC,CAAC,CAACiB,YAAY;EACnC,CAAC,EACD;IACEL,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACY,OAAO,CAAC;IAC7CH,IAAI,KAAAC,MAAA,CAAKhB,SAAS,CAAC,CAAC,CAACmB,mBAAmB,SAAAH,MAAA,CAAMN,QAAQ;EACxD,CAAC,EACD;IACEE,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACc,OAAO,CAAC;IAC7CL,IAAI,EAAEf,SAAS,CAAC,CAAC,CAACqB;EACpB,CAAC,EAAAL,MAAA,CAAAM,kBAAA,CACGtB,SAAS,CAAC,CAAC,CAACuB,iBAAiB,GAAG,CAAC;IACnCX,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACkB,YAAY,CAAC;IAClDT,IAAI,EAAEf,SAAS,CAAC,CAAC,CAACuB;EACpB,CAAC,CAAC,GAAG,EAAE,IACP;IACEX,OAAO,EAAEH,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACmB,OAAO,CAAC;IAC7CV,IAAI,EAAEf,SAAS,CAAC,CAAC,CAAC0B;EACpB,CAAC,EACF;EAED,oBACE7B,KAAA,CAAA8B,aAAA,CAACxB,QAAQ;IAACyB,SAAS,EAAC;EAAoB,gBACtC/B,KAAA,CAAA8B,aAAA,CAACxB,QAAQ,CAAC0B,MAAM;IAACC,OAAO,EAAC,iBAAiB;IAAC,cAAYrB,IAAI,CAACI,aAAa,CAACP,QAAQ,CAACyB,wBAAwB;EAAE,gBAC3GlC,KAAA,CAAA8B,aAAA,CAACvB,0BAA0B;IAAC4B,KAAK,EAAEtB,QAAS;IAACuB,IAAI,EAAElC;EAAa,CAAE,CACnD,CAAC,eAClBF,KAAA,CAAA8B,aAAA,CAACxB,QAAQ,CAAC+B,IAAI;IAACN,SAAS,EAAC;EAAqB,gBAC5C/B,KAAA,CAAA8B,aAAA,CAACtB,oBAAoB;IAAC8B,KAAK,EAAExB;EAAc,CAAE,CAChC,CACP,CAAC;AAEf,CAAC;AAEDJ,yBAAyB,CAAC6B,SAAS,GAAG;EACpC3B,IAAI,EAAEP,SAAS,CAACmC,UAAU;EAC1B3B,QAAQ,EAAEZ,SAAS,CAACwC,MAAM,CAACD;AAC7B,CAAC;AAED,eAAepC,UAAU,CAACM,yBAAyB,CAAC","ignoreList":[]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
var _excluded = ["href", "src", "alt"];
|
|
2
|
-
function _slicedToArray(
|
|
2
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
3
3
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
function _unsupportedIterableToArray(
|
|
5
|
-
function _arrayLikeToArray(
|
|
4
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
5
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
6
6
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
7
|
-
function _arrayWithHoles(
|
|
8
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
9
|
-
function _objectWithoutProperties(
|
|
10
|
-
function _objectWithoutPropertiesLoose(
|
|
7
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
8
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
9
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
10
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
11
11
|
import React, { useContext, useEffect, useState } from 'react';
|
|
12
12
|
import Responsive from 'react-responsive';
|
|
13
13
|
import PropTypes from 'prop-types';
|
|
@@ -16,6 +16,8 @@ import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
|
|
16
16
|
import { AppContext } from '@edx/frontend-platform/react';
|
|
17
17
|
import AnonymousUserMenu from './AnonymousUserMenu';
|
|
18
18
|
import AuthenticatedUserDropdown from './AuthenticatedUserDropdown';
|
|
19
|
+
import LogoSlot from '../plugin-slots/LogoSlot';
|
|
20
|
+
import LearningHelpSlot from '../plugin-slots/LearningHelpSlot';
|
|
19
21
|
import messages from './messages';
|
|
20
22
|
import getCourseLogoOrg from './data/api';
|
|
21
23
|
import LanguageSelector from '../LanguageSelector';
|
|
@@ -58,15 +60,13 @@ var LearningHeader = function LearningHeader(_ref2) {
|
|
|
58
60
|
}, [courseOrg, enableOrgLogo]);
|
|
59
61
|
var headerLogo = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Responsive, {
|
|
60
62
|
maxWidth: 769
|
|
61
|
-
}, /*#__PURE__*/React.createElement(
|
|
62
|
-
className: "logo",
|
|
63
|
+
}, /*#__PURE__*/React.createElement(LogoSlot, {
|
|
63
64
|
href: "".concat(getConfig().LMS_BASE_URL, "/dashboard"),
|
|
64
65
|
src: getConfig().LOGO_URL_MOBILE || getConfig().LOGO_URL,
|
|
65
66
|
alt: getConfig().SITE_NAME
|
|
66
67
|
})), /*#__PURE__*/React.createElement(Responsive, {
|
|
67
68
|
minWidth: 769
|
|
68
|
-
}, /*#__PURE__*/React.createElement(
|
|
69
|
-
className: "logo",
|
|
69
|
+
}, /*#__PURE__*/React.createElement(LogoSlot, {
|
|
70
70
|
href: "".concat(getConfig().LMS_BASE_URL, "/dashboard"),
|
|
71
71
|
src: getConfig().LOGO_URL,
|
|
72
72
|
alt: getConfig().SITE_NAME
|
|
@@ -77,7 +77,7 @@ var LearningHeader = function LearningHeader(_ref2) {
|
|
|
77
77
|
className: "sr-only sr-only-focusable",
|
|
78
78
|
href: "#main-content"
|
|
79
79
|
}, intl.formatMessage(messages.skipNavLink)), /*#__PURE__*/React.createElement("div", {
|
|
80
|
-
className: "container-xl py-2 d-flex align-items-center"
|
|
80
|
+
className: "container-xl py-2 d-flex align-items-center justify-content-between"
|
|
81
81
|
}, headerLogo, /*#__PURE__*/React.createElement("div", {
|
|
82
82
|
className: "d-none d-md-block flex-grow-1 course-title-lockup"
|
|
83
83
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -94,7 +94,9 @@ var LearningHeader = function LearningHeader(_ref2) {
|
|
|
94
94
|
style: {
|
|
95
95
|
fontSize: '1rem'
|
|
96
96
|
}
|
|
97
|
-
}, courseTitle))),
|
|
97
|
+
}, courseTitle))), /*#__PURE__*/React.createElement("div", {
|
|
98
|
+
className: "d-flex align-items-center"
|
|
99
|
+
}, getConfig().ENABLE_HEADER_LANG_SELECTOR && /*#__PURE__*/React.createElement("div", {
|
|
98
100
|
className: "mx-2 d-md-inline-flex"
|
|
99
101
|
}, /*#__PURE__*/React.createElement(Responsive, {
|
|
100
102
|
maxWidth: 1200
|
|
@@ -108,9 +110,9 @@ var LearningHeader = function LearningHeader(_ref2) {
|
|
|
108
110
|
options: JSON.parse(getConfig().SITE_SUPPORTED_LANGUAGES),
|
|
109
111
|
compact: false,
|
|
110
112
|
authenticatedUser: authenticatedUser
|
|
111
|
-
}))), showUserDropdown && authenticatedUser && /*#__PURE__*/React.createElement(AuthenticatedUserDropdown, {
|
|
113
|
+
}))), showUserDropdown && authenticatedUser && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LearningHelpSlot, null), /*#__PURE__*/React.createElement(AuthenticatedUserDropdown, {
|
|
112
114
|
username: authenticatedUser.username
|
|
113
|
-
}), showUserDropdown && !authenticatedUser && /*#__PURE__*/React.createElement(AnonymousUserMenu, null)));
|
|
115
|
+
})), showUserDropdown && !authenticatedUser && /*#__PURE__*/React.createElement(AnonymousUserMenu, null))));
|
|
114
116
|
};
|
|
115
117
|
LearningHeader.propTypes = {
|
|
116
118
|
courseOrg: PropTypes.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LearningHeader.js","names":["React","useContext","useEffect","useState","Responsive","PropTypes","getConfig","injectIntl","intlShape","AppContext","AnonymousUserMenu","AuthenticatedUserDropdown","messages","getCourseLogoOrg","LanguageSelector","LinkedLogo","_ref","href","src","alt","attributes","_objectWithoutProperties","_excluded","createElement","_extends","className","propTypes","string","isRequired","LearningHeader","_ref2","courseOrg","courseTitle","intl","showUserDropdown","_useContext","authenticatedUser","_useState","_useState2","_slicedToArray","logoOrg","setLogoOrg","enableOrgLogo","ENABLE_ORG_LOGO","then","logoOrgUrl","headerLogo","Fragment","maxWidth","concat","LMS_BASE_URL","LOGO_URL_MOBILE","LOGO_URL","SITE_NAME","minWidth","formatMessage","skipNavLink","style","maxHeight","fontSize","ENABLE_HEADER_LANG_SELECTOR","options","JSON","parse","SITE_SUPPORTED_LANGUAGES","compact","username","bool","defaultProps"],"sources":["../../src/learning-header/LearningHeader.jsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\nimport Responsive from 'react-responsive';\nimport PropTypes from 'prop-types';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\n\nimport AnonymousUserMenu from './AnonymousUserMenu';\nimport AuthenticatedUserDropdown from './AuthenticatedUserDropdown';\nimport messages from './messages';\nimport getCourseLogoOrg from './data/api';\nimport LanguageSelector from '../LanguageSelector';\n\nconst LinkedLogo = ({\n href,\n src,\n alt,\n ...attributes\n}) => (\n <a href={href} {...attributes}>\n <img className=\"d-block\" src={src} alt={alt} />\n </a>\n);\n\nLinkedLogo.propTypes = {\n href: PropTypes.string.isRequired,\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\nconst LearningHeader = ({\n courseOrg, courseTitle, intl, showUserDropdown,\n}) => {\n const { authenticatedUser } = useContext(AppContext);\n const [logoOrg, setLogoOrg] = useState(null);\n const enableOrgLogo = getConfig().ENABLE_ORG_LOGO;\n\n useEffect(() => {\n if (courseOrg && enableOrgLogo) {\n getCourseLogoOrg().then((logoOrgUrl) => { setLogoOrg(logoOrgUrl); });\n }\n }, [courseOrg, enableOrgLogo]);\n\n const headerLogo = (\n <>\n <Responsive maxWidth={769}>\n <
|
|
1
|
+
{"version":3,"file":"LearningHeader.js","names":["React","useContext","useEffect","useState","Responsive","PropTypes","getConfig","injectIntl","intlShape","AppContext","AnonymousUserMenu","AuthenticatedUserDropdown","LogoSlot","LearningHelpSlot","messages","getCourseLogoOrg","LanguageSelector","LinkedLogo","_ref","href","src","alt","attributes","_objectWithoutProperties","_excluded","createElement","_extends","className","propTypes","string","isRequired","LearningHeader","_ref2","courseOrg","courseTitle","intl","showUserDropdown","_useContext","authenticatedUser","_useState","_useState2","_slicedToArray","logoOrg","setLogoOrg","enableOrgLogo","ENABLE_ORG_LOGO","then","logoOrgUrl","headerLogo","Fragment","maxWidth","concat","LMS_BASE_URL","LOGO_URL_MOBILE","LOGO_URL","SITE_NAME","minWidth","formatMessage","skipNavLink","style","maxHeight","fontSize","ENABLE_HEADER_LANG_SELECTOR","options","JSON","parse","SITE_SUPPORTED_LANGUAGES","compact","username","bool","defaultProps"],"sources":["../../src/learning-header/LearningHeader.jsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\nimport Responsive from 'react-responsive';\nimport PropTypes from 'prop-types';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\n\nimport AnonymousUserMenu from './AnonymousUserMenu';\nimport AuthenticatedUserDropdown from './AuthenticatedUserDropdown';\nimport LogoSlot from '../plugin-slots/LogoSlot';\nimport LearningHelpSlot from '../plugin-slots/LearningHelpSlot';\nimport messages from './messages';\nimport getCourseLogoOrg from './data/api';\nimport LanguageSelector from '../LanguageSelector';\n\nconst LinkedLogo = ({\n href,\n src,\n alt,\n ...attributes\n}) => (\n <a href={href} {...attributes}>\n <img className=\"d-block\" src={src} alt={alt} />\n </a>\n);\n\nLinkedLogo.propTypes = {\n href: PropTypes.string.isRequired,\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\nconst LearningHeader = ({\n courseOrg, courseTitle, intl, showUserDropdown,\n}) => {\n const { authenticatedUser } = useContext(AppContext);\n const [logoOrg, setLogoOrg] = useState(null);\n const enableOrgLogo = getConfig().ENABLE_ORG_LOGO;\n\n useEffect(() => {\n if (courseOrg && enableOrgLogo) {\n getCourseLogoOrg().then((logoOrgUrl) => { setLogoOrg(logoOrgUrl); });\n }\n }, [courseOrg, enableOrgLogo]);\n\n const headerLogo = (\n <>\n <Responsive maxWidth={769}>\n <LogoSlot\n href={`${getConfig().LMS_BASE_URL}/dashboard`}\n src={getConfig().LOGO_URL_MOBILE || getConfig().LOGO_URL}\n alt={getConfig().SITE_NAME}\n />\n </Responsive>\n <Responsive minWidth={769}>\n <LogoSlot\n href={`${getConfig().LMS_BASE_URL}/dashboard`}\n src={getConfig().LOGO_URL}\n alt={getConfig().SITE_NAME}\n />\n </Responsive>\n </>\n );\n\n return (\n <header className=\"learning-header\">\n <a className=\"sr-only sr-only-focusable\" href=\"#main-content\">{intl.formatMessage(messages.skipNavLink)}</a>\n <div className=\"container-xl py-2 d-flex align-items-center justify-content-between\">\n {headerLogo}\n <div className=\"d-none d-md-block flex-grow-1 course-title-lockup\">\n <div className={`d-md-flex ${enableOrgLogo && 'align-items-center justify-content-center'} w-100`}>\n {enableOrgLogo && courseOrg && logoOrg && (\n <img src={logoOrg} alt={`${courseOrg} logo`} style={{ maxHeight: '3rem', maxWidth: '15rem' }} />\n )}\n <span\n className=\"d-inline-block course-title font-weight-semibold ml-3 text-truncate text-left\"\n style={{ fontSize: '1rem' }}\n >\n {courseTitle}\n </span>\n </div>\n </div>\n <div className=\"d-flex align-items-center\">\n {getConfig().ENABLE_HEADER_LANG_SELECTOR && (\n <div className=\"mx-2 d-md-inline-flex\">\n <Responsive maxWidth={1200}>\n <LanguageSelector\n options={JSON.parse(getConfig().SITE_SUPPORTED_LANGUAGES)}\n compact\n authenticatedUser={authenticatedUser}\n />\n </Responsive>\n <Responsive minWidth={1200}>\n <LanguageSelector\n options={JSON.parse(getConfig().SITE_SUPPORTED_LANGUAGES)}\n compact={false}\n authenticatedUser={authenticatedUser}\n />\n </Responsive>\n </div>\n )}\n {showUserDropdown && authenticatedUser && (\n <>\n <LearningHelpSlot />\n <AuthenticatedUserDropdown\n username={authenticatedUser.username}\n />\n </>\n )}\n {showUserDropdown && !authenticatedUser && (\n <AnonymousUserMenu />\n )}\n </div>\n </div>\n </header>\n );\n};\n\nLearningHeader.propTypes = {\n courseOrg: PropTypes.string,\n courseTitle: PropTypes.string,\n intl: intlShape.isRequired,\n showUserDropdown: PropTypes.bool,\n};\n\nLearningHeader.defaultProps = {\n courseOrg: null,\n courseTitle: null,\n showUserDropdown: true,\n};\n\nexport default injectIntl(LearningHeader);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
var LearningHeaderCourseInfo = function LearningHeaderCourseInfo(_ref) {
|
|
4
|
+
var courseOrg = _ref.courseOrg,
|
|
5
|
+
courseNumber = _ref.courseNumber,
|
|
6
|
+
courseTitle = _ref.courseTitle;
|
|
7
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
8
|
+
style: {
|
|
9
|
+
minWidth: 0
|
|
10
|
+
}
|
|
11
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
12
|
+
className: "d-block small m-0"
|
|
13
|
+
}, courseOrg, " ", courseNumber), /*#__PURE__*/React.createElement("span", {
|
|
14
|
+
className: "d-block m-0 font-weight-bold course-title"
|
|
15
|
+
}, courseTitle));
|
|
16
|
+
};
|
|
17
|
+
export var courseInfoDataShape = {
|
|
18
|
+
courseOrg: PropTypes.string,
|
|
19
|
+
courseNumber: PropTypes.string,
|
|
20
|
+
courseTitle: PropTypes.string
|
|
21
|
+
};
|
|
22
|
+
LearningHeaderCourseInfo.propTypes = courseInfoDataShape;
|
|
23
|
+
export default LearningHeaderCourseInfo;
|
|
24
|
+
//# sourceMappingURL=LearningHeaderCourseInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LearningHeaderCourseInfo.js","names":["React","PropTypes","LearningHeaderCourseInfo","_ref","courseOrg","courseNumber","courseTitle","createElement","style","minWidth","className","courseInfoDataShape","string","propTypes"],"sources":["../../src/learning-header/LearningHeaderCourseInfo.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst LearningHeaderCourseInfo = ({\n courseOrg,\n courseNumber,\n courseTitle,\n}) => (\n <div style={{ minWidth: 0 }}>\n <span className=\"d-block small m-0\">{courseOrg} {courseNumber}</span>\n <span className=\"d-block m-0 font-weight-bold course-title\">{courseTitle}</span>\n </div>\n);\n\nexport const courseInfoDataShape = {\n courseOrg: PropTypes.string,\n courseNumber: PropTypes.string,\n courseTitle: PropTypes.string,\n};\n\nLearningHeaderCourseInfo.propTypes = courseInfoDataShape;\n\nexport default LearningHeaderCourseInfo;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,IAAA;EAAA,IAC5BC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IACZC,WAAW,GAAAH,IAAA,CAAXG,WAAW;EAAA,oBAEXN,KAAA,CAAAO,aAAA;IAAKC,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAE;EAAE,gBAC1BT,KAAA,CAAAO,aAAA;IAAMG,SAAS,EAAC;EAAmB,GAAEN,SAAS,EAAC,GAAC,EAACC,YAAmB,CAAC,eACrEL,KAAA,CAAAO,aAAA;IAAMG,SAAS,EAAC;EAA2C,GAAEJ,WAAkB,CAC5E,CAAC;AAAA,CACP;AAED,OAAO,IAAMK,mBAAmB,GAAG;EACjCP,SAAS,EAAEH,SAAS,CAACW,MAAM;EAC3BP,YAAY,EAAEJ,SAAS,CAACW,MAAM;EAC9BN,WAAW,EAAEL,SAAS,CAACW;AACzB,CAAC;AAEDV,wBAAwB,CAACW,SAAS,GAAGF,mBAAmB;AAExD,eAAeT,wBAAwB","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { getConfig } from '@edx/frontend-platform';
|
|
3
|
+
import { useIntl } from '@edx/frontend-platform/i18n';
|
|
4
|
+
import messages from './messages';
|
|
5
|
+
var LearningHeaderHelpLink = function LearningHeaderHelpLink() {
|
|
6
|
+
var intl = useIntl();
|
|
7
|
+
return /*#__PURE__*/React.createElement("a", {
|
|
8
|
+
className: "text-gray-700",
|
|
9
|
+
href: "".concat(getConfig().SUPPORT_URL)
|
|
10
|
+
}, intl.formatMessage(messages.help));
|
|
11
|
+
};
|
|
12
|
+
export default LearningHeaderHelpLink;
|
|
13
|
+
//# sourceMappingURL=LearningHeaderHelpLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LearningHeaderHelpLink.js","names":["React","getConfig","useIntl","messages","LearningHeaderHelpLink","intl","createElement","className","href","concat","SUPPORT_URL","formatMessage","help"],"sources":["../../src/learning-header/LearningHeaderHelpLink.jsx"],"sourcesContent":["import React from 'react';\n\nimport { getConfig } from '@edx/frontend-platform';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport messages from './messages';\n\nconst LearningHeaderHelpLink = () => {\n const intl = useIntl();\n return (\n <a className=\"text-gray-700\" href={`${getConfig().SUPPORT_URL}`}>{intl.formatMessage(messages.help)}</a>\n );\n};\n\nexport default LearningHeaderHelpLink;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,OAAO,QAAQ,6BAA6B;AACrD,OAAOC,QAAQ,MAAM,YAAY;AAEjC,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA,EAAS;EACnC,IAAMC,IAAI,GAAGH,OAAO,CAAC,CAAC;EACtB,oBACEF,KAAA,CAAAM,aAAA;IAAGC,SAAS,EAAC,eAAe;IAACC,IAAI,KAAAC,MAAA,CAAKR,SAAS,CAAC,CAAC,CAACS,WAAW;EAAG,GAAEL,IAAI,CAACM,aAAa,CAACR,QAAQ,CAACS,IAAI,CAAK,CAAC;AAE5G,CAAC;AAED,eAAeR,sBAAsB","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { Dropdown } from '@openedx/paragon';
|
|
4
|
+
var LearningHeaderUserMenuItems = function LearningHeaderUserMenuItems(_ref) {
|
|
5
|
+
var items = _ref.items;
|
|
6
|
+
return items.map(function (item) {
|
|
7
|
+
return /*#__PURE__*/React.createElement(Dropdown.Item, {
|
|
8
|
+
href: item.href
|
|
9
|
+
}, item.message);
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
export var learningHeaderUserMenuDataShape = {
|
|
13
|
+
items: PropTypes.arrayOf(PropTypes.shape({
|
|
14
|
+
message: PropTypes.string,
|
|
15
|
+
href: PropTypes.string
|
|
16
|
+
}))
|
|
17
|
+
};
|
|
18
|
+
LearningHeaderUserMenuItems.propTypes = learningHeaderUserMenuDataShape;
|
|
19
|
+
export default LearningHeaderUserMenuItems;
|
|
20
|
+
//# sourceMappingURL=LearningHeaderUserMenuItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LearningHeaderUserMenuItems.js","names":["React","PropTypes","Dropdown","LearningHeaderUserMenuItems","_ref","items","map","item","createElement","Item","href","message","learningHeaderUserMenuDataShape","arrayOf","shape","string","propTypes"],"sources":["../../src/learning-header/LearningHeaderUserMenuItems.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Dropdown } from '@openedx/paragon';\n\nconst LearningHeaderUserMenuItems = ({ items }) => items.map((item) => (\n <Dropdown.Item href={item.href}>\n {item.message}\n </Dropdown.Item>\n));\n\nexport const learningHeaderUserMenuDataShape = {\n items: PropTypes.arrayOf(PropTypes.shape({\n message: PropTypes.string,\n href: PropTypes.string,\n })),\n};\n\nLearningHeaderUserMenuItems.propTypes = learningHeaderUserMenuDataShape;\n\nexport default LearningHeaderUserMenuItems;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,QAAQ,QAAQ,kBAAkB;AAE3C,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAOA,KAAK,CAACC,GAAG,CAAC,UAACC,IAAI;IAAA,oBAChEP,KAAA,CAAAQ,aAAA,CAACN,QAAQ,CAACO,IAAI;MAACC,IAAI,EAAEH,IAAI,CAACG;IAAK,GAC5BH,IAAI,CAACI,OACO,CAAC;EAAA,CACjB,CAAC;AAAA;AAEF,OAAO,IAAMC,+BAA+B,GAAG;EAC7CP,KAAK,EAAEJ,SAAS,CAACY,OAAO,CAACZ,SAAS,CAACa,KAAK,CAAC;IACvCH,OAAO,EAAEV,SAAS,CAACc,MAAM;IACzBL,IAAI,EAAET,SAAS,CAACc;EAClB,CAAC,CAAC;AACJ,CAAC;AAEDZ,2BAA2B,CAACa,SAAS,GAAGJ,+BAA+B;AAEvE,eAAeT,2BAA2B","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { Button } from '@openedx/paragon';
|
|
4
|
+
var LearningLoggedOutButtons = function LearningLoggedOutButtons(_ref) {
|
|
5
|
+
var buttonsInfo = _ref.buttonsInfo;
|
|
6
|
+
return buttonsInfo.map(function (buttonInfo) {
|
|
7
|
+
var _buttonInfo$variant;
|
|
8
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
9
|
+
className: "ml-3",
|
|
10
|
+
variant: (_buttonInfo$variant = buttonInfo.variant) !== null && _buttonInfo$variant !== void 0 ? _buttonInfo$variant : 'outline-primary',
|
|
11
|
+
href: buttonInfo.href
|
|
12
|
+
}, buttonInfo.message);
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
export var learningHeaderLoggedOutItemsDataShape = {
|
|
16
|
+
buttonsInfo: PropTypes.arrayOf(PropTypes.shape({
|
|
17
|
+
message: PropTypes.string,
|
|
18
|
+
href: PropTypes.string,
|
|
19
|
+
variant: PropTypes.string
|
|
20
|
+
}))
|
|
21
|
+
};
|
|
22
|
+
LearningLoggedOutButtons.propTypes = learningHeaderLoggedOutItemsDataShape;
|
|
23
|
+
export default LearningLoggedOutButtons;
|
|
24
|
+
//# sourceMappingURL=LearningLoggedOutButtons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LearningLoggedOutButtons.js","names":["React","PropTypes","Button","LearningLoggedOutButtons","_ref","buttonsInfo","map","buttonInfo","_buttonInfo$variant","createElement","className","variant","href","message","learningHeaderLoggedOutItemsDataShape","arrayOf","shape","string","propTypes"],"sources":["../../src/learning-header/LearningLoggedOutButtons.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Button } from '@openedx/paragon';\n\nconst LearningLoggedOutButtons = ({ buttonsInfo }) => buttonsInfo.map(buttonInfo => (\n <Button\n className=\"ml-3\"\n variant={buttonInfo.variant ?? 'outline-primary'}\n href={buttonInfo.href}\n >\n {buttonInfo.message}\n </Button>\n));\n\nexport const learningHeaderLoggedOutItemsDataShape = {\n buttonsInfo: PropTypes.arrayOf(PropTypes.shape({\n message: PropTypes.string,\n href: PropTypes.string,\n variant: PropTypes.string,\n })),\n};\n\nLearningLoggedOutButtons.propTypes = learningHeaderLoggedOutItemsDataShape;\n\nexport default LearningLoggedOutButtons;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,MAAM,QAAQ,kBAAkB;AAEzC,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,IAAA;EAAA,IAAMC,WAAW,GAAAD,IAAA,CAAXC,WAAW;EAAA,OAAOA,WAAW,CAACC,GAAG,CAAC,UAAAC,UAAU;IAAA,IAAAC,mBAAA;IAAA,oBAC9ER,KAAA,CAAAS,aAAA,CAACP,MAAM;MACLQ,SAAS,EAAC,MAAM;MAChBC,OAAO,GAAAH,mBAAA,GAAED,UAAU,CAACI,OAAO,cAAAH,mBAAA,cAAAA,mBAAA,GAAI,iBAAkB;MACjDI,IAAI,EAAEL,UAAU,CAACK;IAAK,GAErBL,UAAU,CAACM,OACN,CAAC;EAAA,CACV,CAAC;AAAA;AAEF,OAAO,IAAMC,qCAAqC,GAAG;EACnDT,WAAW,EAAEJ,SAAS,CAACc,OAAO,CAACd,SAAS,CAACe,KAAK,CAAC;IAC7CH,OAAO,EAAEZ,SAAS,CAACgB,MAAM;IACzBL,IAAI,EAAEX,SAAS,CAACgB,MAAM;IACtBN,OAAO,EAAEV,SAAS,CAACgB;EACrB,CAAC,CAAC;AACJ,CAAC;AAEDd,wBAAwB,CAACe,SAAS,GAAGJ,qCAAqC;AAE1E,eAAeX,wBAAwB","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
var LearningUserMenuToggle = function LearningUserMenuToggle(_ref) {
|
|
5
|
+
var label = _ref.label,
|
|
6
|
+
icon = _ref.icon;
|
|
7
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
|
8
|
+
icon: icon,
|
|
9
|
+
className: "d-md-none",
|
|
10
|
+
size: "lg"
|
|
11
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
12
|
+
"data-hj-suppress": true,
|
|
13
|
+
className: "d-none d-md-inline"
|
|
14
|
+
}, label));
|
|
15
|
+
};
|
|
16
|
+
export var LearningUserMenuTogglePropTypes = {
|
|
17
|
+
label: PropTypes.string.isRequired,
|
|
18
|
+
// Full shape available by examining @fortawesome/fontawesome-common-types/index.d.ts.
|
|
19
|
+
icon: PropTypes.shape({
|
|
20
|
+
prefix: PropTypes.string.isRequired,
|
|
21
|
+
iconName: PropTypes.string.isRequired
|
|
22
|
+
}).isRequired
|
|
23
|
+
};
|
|
24
|
+
LearningUserMenuToggle.propTypes = LearningUserMenuTogglePropTypes;
|
|
25
|
+
export default LearningUserMenuToggle;
|
|
26
|
+
//# sourceMappingURL=LearningUserMenuToggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LearningUserMenuToggle.js","names":["React","FontAwesomeIcon","PropTypes","LearningUserMenuToggle","_ref","label","icon","createElement","Fragment","className","size","LearningUserMenuTogglePropTypes","string","isRequired","shape","prefix","iconName","propTypes"],"sources":["../../src/learning-header/LearningUserMenuToggle.jsx"],"sourcesContent":["import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport PropTypes from 'prop-types';\n\nconst LearningUserMenuToggle = ({\n label,\n icon,\n}) => (\n <>\n <FontAwesomeIcon icon={icon} className=\"d-md-none\" size=\"lg\" />\n <span data-hj-suppress className=\"d-none d-md-inline\">\n {label}\n </span>\n </>\n);\n\nexport const LearningUserMenuTogglePropTypes = {\n label: PropTypes.string.isRequired,\n // Full shape available by examining @fortawesome/fontawesome-common-types/index.d.ts.\n icon: PropTypes.shape({\n prefix: PropTypes.string.isRequired,\n iconName: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nLearningUserMenuToggle.propTypes = LearningUserMenuTogglePropTypes;\n\nexport default LearningUserMenuToggle;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,gCAAgC;AAChE,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAAC,IAAA;EAAA,IAC1BC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,IAAI,GAAAF,IAAA,CAAJE,IAAI;EAAA,oBAEJN,KAAA,CAAAO,aAAA,CAAAP,KAAA,CAAAQ,QAAA,qBACER,KAAA,CAAAO,aAAA,CAACN,eAAe;IAACK,IAAI,EAAEA,IAAK;IAACG,SAAS,EAAC,WAAW;IAACC,IAAI,EAAC;EAAI,CAAE,CAAC,eAC/DV,KAAA,CAAAO,aAAA;IAAM,wBAAgB;IAACE,SAAS,EAAC;EAAoB,GAClDJ,KACG,CACN,CAAC;AAAA,CACJ;AAED,OAAO,IAAMM,+BAA+B,GAAG;EAC7CN,KAAK,EAAEH,SAAS,CAACU,MAAM,CAACC,UAAU;EAClC;EACAP,IAAI,EAAEJ,SAAS,CAACY,KAAK,CAAC;IACpBC,MAAM,EAAEb,SAAS,CAACU,MAAM,CAACC,UAAU;IACnCG,QAAQ,EAAEd,SAAS,CAACU,MAAM,CAACC;EAC7B,CAAC,CAAC,CAACA;AACL,CAAC;AAEDV,sBAAsB,CAACc,SAAS,GAAGN,+BAA+B;AAElE,eAAeR,sBAAsB","ignoreList":[]}
|