@nauedu/frontend-component-header 20.1.0 → 20.1.2
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 +34 -16
- 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/learning-header/_header.scss +0 -10
- 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,14 @@
|
|
|
1
|
+
// Breakpoints below are static px values on purpose. This package supports
|
|
2
|
+
// Paragon ">= 22.0.0 < 24.0.0", and the two majors expose breakpoints
|
|
3
|
+
// differently: 22 only has the Bootstrap SCSS variables, 23 moved to design
|
|
4
|
+
// tokens / @custom-media. Hard-coding keeps this stylesheet self-contained and
|
|
5
|
+
// working across the whole peer range. Values match Paragon's sm/md breakpoints.
|
|
1
6
|
$spacer: 1rem;
|
|
2
7
|
$blue: #007db8;
|
|
3
8
|
$white: #fff;
|
|
9
|
+
$component-active-bg: #0A3055FF !default;
|
|
10
|
+
$component-active-color: $white !default;
|
|
11
|
+
$rounded-pill: 50rem !default;
|
|
4
12
|
|
|
5
13
|
@import './Menu/menu.scss';
|
|
6
14
|
@import './studio-header/StudioHeader.scss';
|
|
@@ -21,8 +29,9 @@ $white: #fff;
|
|
|
21
29
|
padding: .75rem;
|
|
22
30
|
justify-content: center;
|
|
23
31
|
align-items:center;
|
|
32
|
+
|
|
24
33
|
&:hover, &:focus {
|
|
25
|
-
background: rgba(0,0,0
|
|
34
|
+
background: rgba(0, 0, 0, .1);
|
|
26
35
|
}
|
|
27
36
|
}
|
|
28
37
|
|
|
@@ -36,14 +45,15 @@ $white: #fff;
|
|
|
36
45
|
white-space: nowrap;
|
|
37
46
|
overflow: hidden;
|
|
38
47
|
text-overflow: ellipsis;
|
|
39
|
-
padding-bottom: 0.
|
|
48
|
+
padding-bottom: calc(var(--pgn-spacing-spacer-base, $spacer)* 0.1);
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
|
|
43
52
|
.user-dropdown {
|
|
44
53
|
.btn {
|
|
45
54
|
height: 3rem;
|
|
46
|
-
|
|
55
|
+
// Below "sm".
|
|
56
|
+
@media (max-width: 576px) {
|
|
47
57
|
padding: 0 0.5rem;
|
|
48
58
|
}
|
|
49
59
|
}
|
|
@@ -63,6 +73,7 @@ $white: #fff;
|
|
|
63
73
|
text-decoration: none;
|
|
64
74
|
cursor: pointer;
|
|
65
75
|
}
|
|
76
|
+
|
|
66
77
|
img {
|
|
67
78
|
height: 1.5rem;
|
|
68
79
|
}
|
|
@@ -70,19 +81,22 @@ $white: #fff;
|
|
|
70
81
|
|
|
71
82
|
|
|
72
83
|
.site-header-desktop {
|
|
73
|
-
box-shadow: 0 1px 0 0 rgba(0,0,0
|
|
74
|
-
background: $white;
|
|
84
|
+
box-shadow: 0 1px 0 0 rgba(0, 0, 0, .1);
|
|
85
|
+
background: var(--pgn-color-white, $white);
|
|
86
|
+
|
|
75
87
|
.nav-link {
|
|
76
88
|
text-decoration: none;
|
|
77
89
|
}
|
|
90
|
+
|
|
78
91
|
.logo {
|
|
79
92
|
display: block;
|
|
80
93
|
box-sizing: content-box;
|
|
81
94
|
position: relative;
|
|
82
95
|
top: -.05em;
|
|
83
96
|
height: 1.75rem;
|
|
84
|
-
padding:
|
|
85
|
-
margin-right:
|
|
97
|
+
padding: var(--pgn-spacing-spacer-base, $spacer) 0;
|
|
98
|
+
margin-right: var(--pgn-spacing-spacer-base, $spacer);
|
|
99
|
+
|
|
86
100
|
img {
|
|
87
101
|
display: block;
|
|
88
102
|
height: 100%;
|
|
@@ -93,38 +107,42 @@ $white: #fff;
|
|
|
93
107
|
.nav-link:focus,
|
|
94
108
|
.nav-link.active,
|
|
95
109
|
.expanded .nav-link {
|
|
96
|
-
background: $component-active-bg;
|
|
97
|
-
color: $component-active-color;
|
|
110
|
+
background: var(--pgn-color-bg-active, $component-active-bg);
|
|
111
|
+
color: var(--pgn-color-active, $component-active-color);
|
|
98
112
|
}
|
|
99
113
|
}
|
|
100
114
|
.main-nav {
|
|
101
115
|
.nav-link {
|
|
102
|
-
padding: 1.125rem
|
|
116
|
+
padding: 1.125rem var(--pgn-spacing-spacer-base, $spacer);
|
|
103
117
|
text-decoration: none;
|
|
104
118
|
font-weight: 500;
|
|
105
119
|
letter-spacing: .01em;
|
|
106
120
|
}
|
|
121
|
+
|
|
107
122
|
.nav-link:hover,
|
|
108
123
|
.nav-link:focus,
|
|
109
124
|
.nav-link.active,
|
|
110
125
|
.expanded .nav-link {
|
|
111
|
-
background: $component-active-bg;
|
|
112
|
-
color: $component-active-color;
|
|
126
|
+
background: var(--pgn-color-bg-active, $component-active-bg);
|
|
127
|
+
color: var(--pgn-color-active, $component-active-color);
|
|
113
128
|
}
|
|
129
|
+
|
|
114
130
|
.menu {
|
|
115
131
|
position: static;
|
|
132
|
+
|
|
116
133
|
.menu-content {
|
|
117
|
-
border-top: solid 2px
|
|
134
|
+
border-top: solid 2px var(--pgn-color-bg-active);
|
|
118
135
|
left: 0;
|
|
119
136
|
right: 0;
|
|
120
|
-
box-shadow: 0 1px 2px rgba(0,0,0,.25);
|
|
137
|
+
box-shadow: var(--pgn-elevation-box-shadow-down-1, 0 1px 2px rgba(0,0,0,.25));
|
|
121
138
|
border-bottom-left-radius: 2px;
|
|
122
139
|
border-bottom-right-radius: 2px;
|
|
123
|
-
padding:
|
|
140
|
+
padding: var(--pgn-spacing-spacer-base, $spacer);
|
|
124
141
|
}
|
|
125
142
|
}
|
|
126
143
|
}
|
|
144
|
+
|
|
127
145
|
.search-input {
|
|
128
|
-
border-radius: $rounded-pill;
|
|
146
|
+
border-radius: var(--pgn-size-rounded-pill, $rounded-pill);
|
|
129
147
|
}
|
|
130
148
|
}
|
|
@@ -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":[]}
|