@nauedu/frontend-component-header 18.2.0 → 20.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.rst +6 -0
- 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 +10 -11
- 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 +28 -30
- 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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nauedu/frontend-component-header",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "20.0.0",
|
|
4
4
|
"description": "NAU header component for Open edX",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -10,18 +10,16 @@
|
|
|
10
10
|
"build": "make build",
|
|
11
11
|
"i18n_extract": "fedx-scripts formatjs extract",
|
|
12
12
|
"lint": "fedx-scripts eslint --ext .js --ext .jsx .",
|
|
13
|
+
"lint:fix": "fedx-scripts eslint --fix --ext .js --ext .jsx .",
|
|
13
14
|
"snapshot": "fedx-scripts jest --updateSnapshot",
|
|
14
15
|
"start": "fedx-scripts webpack-dev-server --progress",
|
|
15
|
-
"test": "fedx-scripts jest --coverage"
|
|
16
|
+
"test": "fedx-scripts jest --coverage",
|
|
17
|
+
"test:dev": "fedx-scripts jest --watchAll",
|
|
18
|
+
"types": "tsc --noEmit"
|
|
16
19
|
},
|
|
17
20
|
"files": [
|
|
18
21
|
"/dist"
|
|
19
22
|
],
|
|
20
|
-
"husky": {
|
|
21
|
-
"hooks": {
|
|
22
|
-
"pre-commit": "npm run lint"
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
23
|
"repository": {
|
|
26
24
|
"type": "git",
|
|
27
25
|
"url": "git+https://github.com/fccn/frontend-component-header-nau.git"
|
|
@@ -35,42 +33,42 @@
|
|
|
35
33
|
"devDependencies": {
|
|
36
34
|
"@edx/brand": "npm:@openedx/brand-openedx@^1.2.2",
|
|
37
35
|
"@edx/browserslist-config": "^1.1.1",
|
|
38
|
-
"@edx/frontend-platform": "8.
|
|
36
|
+
"@edx/frontend-platform": "^8.3.1",
|
|
39
37
|
"@edx/reactifex": "^2.1.1",
|
|
40
|
-
"@openedx/frontend-build": "14.
|
|
41
|
-
"@openedx/paragon": "
|
|
42
|
-
"@testing-library/dom": "10.
|
|
38
|
+
"@openedx/frontend-build": "^14.3.2",
|
|
39
|
+
"@openedx/paragon": "^23.0.0",
|
|
40
|
+
"@testing-library/dom": "^10.4.0",
|
|
43
41
|
"@testing-library/jest-dom": "5.17.0",
|
|
44
|
-
"@testing-library/react": "
|
|
45
|
-
"
|
|
46
|
-
"jest": "
|
|
47
|
-
"jest-chain": "1.1.6",
|
|
42
|
+
"@testing-library/react": "^16.2.0",
|
|
43
|
+
"jest": "30.0.5",
|
|
44
|
+
"jest-environment-jsdom": "^30.0.0",
|
|
48
45
|
"prop-types": "15.8.1",
|
|
49
|
-
"react": "
|
|
50
|
-
"react-dom": "
|
|
51
|
-
"react-redux": "
|
|
52
|
-
"react-router-dom": "6.
|
|
53
|
-
"react-test-renderer": "
|
|
46
|
+
"react": "^18.3.1",
|
|
47
|
+
"react-dom": "^18.3.1",
|
|
48
|
+
"react-redux": "^8.1.1",
|
|
49
|
+
"react-router-dom": "6.30.1",
|
|
50
|
+
"react-test-renderer": "^18.3.1",
|
|
54
51
|
"redux": "4.2.1",
|
|
55
52
|
"redux-saga": "1.3.0"
|
|
56
53
|
},
|
|
57
54
|
"dependencies": {
|
|
58
|
-
"@fortawesome/fontawesome-svg-core": "6.
|
|
59
|
-
"@fortawesome/free-brands-svg-icons": "6.
|
|
60
|
-
"@fortawesome/free-regular-svg-icons": "6.
|
|
61
|
-
"@fortawesome/free-solid-svg-icons": "6.
|
|
55
|
+
"@fortawesome/fontawesome-svg-core": "6.7.2",
|
|
56
|
+
"@fortawesome/free-brands-svg-icons": "6.7.2",
|
|
57
|
+
"@fortawesome/free-regular-svg-icons": "6.7.2",
|
|
58
|
+
"@fortawesome/free-solid-svg-icons": "6.7.2",
|
|
62
59
|
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"jest-environment-jsdom": "^29.7.0",
|
|
60
|
+
"@openedx/frontend-plugin-framework": "^1.7.0",
|
|
61
|
+
"classnames": "^2.5.1",
|
|
66
62
|
"react-responsive": "8.2.0",
|
|
67
63
|
"react-transition-group": "4.4.5"
|
|
68
64
|
},
|
|
69
65
|
"peerDependencies": {
|
|
70
66
|
"@edx/frontend-platform": "^7.0.0 || ^8.0.0",
|
|
71
|
-
"@openedx/paragon": ">=
|
|
67
|
+
"@openedx/paragon": ">= 22.0.0 < 24.0.0",
|
|
72
68
|
"prop-types": "^15.5.10",
|
|
73
|
-
"react": "^16.9.0 || ^17.0.0",
|
|
74
|
-
"react-dom": "^16.9.0 || ^17.0.0"
|
|
69
|
+
"react": "^16.9.0 || ^17.0.0 || ^18.0.0",
|
|
70
|
+
"react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0",
|
|
71
|
+
"react-router-dom": "^6.14.2"
|
|
75
72
|
}
|
|
76
73
|
}
|
|
74
|
+
|
package/dist/DesktopHeader.js
DELETED
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
4
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
5
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
6
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
7
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
9
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
10
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
11
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
12
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
13
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
14
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
15
|
-
import React from 'react';
|
|
16
|
-
import PropTypes from 'prop-types';
|
|
17
|
-
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
|
18
|
-
import { getConfig } from '@edx/frontend-platform';
|
|
19
|
-
import { getAuthenticatedUser } from '@edx/frontend-platform/auth';
|
|
20
|
-
|
|
21
|
-
// Local Components
|
|
22
|
-
import { Menu, MenuTrigger, MenuContent } from './Menu';
|
|
23
|
-
import Avatar from './Avatar';
|
|
24
|
-
import { LinkedLogo, Logo } from './Logo';
|
|
25
|
-
|
|
26
|
-
// i18n
|
|
27
|
-
import messages from './Header.messages';
|
|
28
|
-
|
|
29
|
-
// Assets
|
|
30
|
-
import { CaretIcon } from './Icons';
|
|
31
|
-
import LanguageSelector from './LanguageSelector';
|
|
32
|
-
var DesktopHeader = /*#__PURE__*/function (_React$Component) {
|
|
33
|
-
function DesktopHeader(props) {
|
|
34
|
-
_classCallCheck(this, DesktopHeader);
|
|
35
|
-
// eslint-disable-line no-useless-constructor
|
|
36
|
-
return _callSuper(this, DesktopHeader, [props]);
|
|
37
|
-
}
|
|
38
|
-
_inherits(DesktopHeader, _React$Component);
|
|
39
|
-
return _createClass(DesktopHeader, [{
|
|
40
|
-
key: "renderMenu",
|
|
41
|
-
value: function renderMenu(menu) {
|
|
42
|
-
// Nodes are accepted as a prop
|
|
43
|
-
if (!Array.isArray(menu)) {
|
|
44
|
-
return menu;
|
|
45
|
-
}
|
|
46
|
-
return menu.map(function (menuItem) {
|
|
47
|
-
var type = menuItem.type,
|
|
48
|
-
href = menuItem.href,
|
|
49
|
-
content = menuItem.content,
|
|
50
|
-
submenuContent = menuItem.submenuContent,
|
|
51
|
-
disabled = menuItem.disabled,
|
|
52
|
-
isActive = menuItem.isActive;
|
|
53
|
-
if (type === 'item') {
|
|
54
|
-
return /*#__PURE__*/React.createElement("a", {
|
|
55
|
-
key: "".concat(type, "-").concat(content),
|
|
56
|
-
className: "nav-link".concat(disabled ? ' disabled' : '').concat(isActive ? ' active' : ''),
|
|
57
|
-
href: href
|
|
58
|
-
}, content);
|
|
59
|
-
}
|
|
60
|
-
return /*#__PURE__*/React.createElement(Menu, {
|
|
61
|
-
key: "".concat(type, "-").concat(content),
|
|
62
|
-
tag: "div",
|
|
63
|
-
className: "nav-item",
|
|
64
|
-
respondToPointerEvents: true
|
|
65
|
-
}, /*#__PURE__*/React.createElement(MenuTrigger, {
|
|
66
|
-
tag: "a",
|
|
67
|
-
className: "nav-link d-inline-flex align-items-center",
|
|
68
|
-
href: href
|
|
69
|
-
}, content, " ", /*#__PURE__*/React.createElement(CaretIcon, {
|
|
70
|
-
role: "img",
|
|
71
|
-
"aria-hidden": true,
|
|
72
|
-
focusable: "false"
|
|
73
|
-
})), /*#__PURE__*/React.createElement(MenuContent, {
|
|
74
|
-
className: "pin-left pin-right shadow py-2"
|
|
75
|
-
}, submenuContent));
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
}, {
|
|
79
|
-
key: "renderMainMenu",
|
|
80
|
-
value: function renderMainMenu() {
|
|
81
|
-
var mainMenu = this.props.mainMenu;
|
|
82
|
-
return this.renderMenu(mainMenu);
|
|
83
|
-
}
|
|
84
|
-
}, {
|
|
85
|
-
key: "renderSecondaryMenu",
|
|
86
|
-
value: function renderSecondaryMenu() {
|
|
87
|
-
var secondaryMenu = this.props.secondaryMenu;
|
|
88
|
-
return this.renderMenu(secondaryMenu);
|
|
89
|
-
}
|
|
90
|
-
}, {
|
|
91
|
-
key: "renderUserMenu",
|
|
92
|
-
value: function renderUserMenu() {
|
|
93
|
-
var _this$props = this.props,
|
|
94
|
-
userMenu = _this$props.userMenu,
|
|
95
|
-
avatar = _this$props.avatar,
|
|
96
|
-
username = _this$props.username,
|
|
97
|
-
intl = _this$props.intl;
|
|
98
|
-
return /*#__PURE__*/React.createElement(Menu, {
|
|
99
|
-
transitionClassName: "menu-dropdown",
|
|
100
|
-
transitionTimeout: 250
|
|
101
|
-
}, /*#__PURE__*/React.createElement(MenuTrigger, {
|
|
102
|
-
tag: "button",
|
|
103
|
-
"aria-label": intl.formatMessage(messages['header.label.account.menu.for'], {
|
|
104
|
-
username: username
|
|
105
|
-
}),
|
|
106
|
-
className: "btn btn-outline-primary d-inline-flex align-items-center pl-2 pr-3"
|
|
107
|
-
}, /*#__PURE__*/React.createElement(Avatar, {
|
|
108
|
-
size: "1.5em",
|
|
109
|
-
src: avatar,
|
|
110
|
-
alt: "",
|
|
111
|
-
className: "mr-2"
|
|
112
|
-
}), username, " ", /*#__PURE__*/React.createElement(CaretIcon, {
|
|
113
|
-
role: "img",
|
|
114
|
-
"aria-hidden": true,
|
|
115
|
-
focusable: "false"
|
|
116
|
-
})), /*#__PURE__*/React.createElement(MenuContent, {
|
|
117
|
-
className: "mb-0 dropdown-menu show dropdown-menu-right pin-right shadow py-2"
|
|
118
|
-
}, userMenu.map(function (group, index) {
|
|
119
|
-
return (
|
|
120
|
-
/*#__PURE__*/
|
|
121
|
-
// eslint-disable-next-line react/jsx-no-comment-textnodes,react/no-array-index-key
|
|
122
|
-
React.createElement(React.Fragment, {
|
|
123
|
-
key: index
|
|
124
|
-
}, group.heading && /*#__PURE__*/React.createElement("div", {
|
|
125
|
-
className: "dropdown-header",
|
|
126
|
-
role: "heading",
|
|
127
|
-
"aria-level": "1"
|
|
128
|
-
}, group.heading), group.items.map(function (_ref) {
|
|
129
|
-
var type = _ref.type,
|
|
130
|
-
content = _ref.content,
|
|
131
|
-
href = _ref.href,
|
|
132
|
-
disabled = _ref.disabled,
|
|
133
|
-
isActive = _ref.isActive;
|
|
134
|
-
return /*#__PURE__*/React.createElement("a", {
|
|
135
|
-
className: "dropdown-".concat(type).concat(isActive ? ' active' : '').concat(disabled ? ' disabled' : ''),
|
|
136
|
-
key: "".concat(type, "-").concat(content),
|
|
137
|
-
href: href
|
|
138
|
-
}, content);
|
|
139
|
-
}), index < userMenu.length - 1 && /*#__PURE__*/React.createElement("div", {
|
|
140
|
-
className: "dropdown-divider",
|
|
141
|
-
role: "separator"
|
|
142
|
-
}))
|
|
143
|
-
);
|
|
144
|
-
})));
|
|
145
|
-
}
|
|
146
|
-
}, {
|
|
147
|
-
key: "renderLoggedOutItems",
|
|
148
|
-
value: function renderLoggedOutItems() {
|
|
149
|
-
var loggedOutItems = this.props.loggedOutItems;
|
|
150
|
-
return loggedOutItems.map(function (item, i, arr) {
|
|
151
|
-
return /*#__PURE__*/React.createElement("a", {
|
|
152
|
-
key: "".concat(item.type, "-").concat(item.content),
|
|
153
|
-
className: i < arr.length - 1 ? 'btn mr-2 btn-link' : 'btn mr-2 btn-outline-primary',
|
|
154
|
-
href: item.href
|
|
155
|
-
}, item.content);
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
}, {
|
|
159
|
-
key: "render",
|
|
160
|
-
value: function render() {
|
|
161
|
-
var _this$props2 = this.props,
|
|
162
|
-
logo = _this$props2.logo,
|
|
163
|
-
logoAltText = _this$props2.logoAltText,
|
|
164
|
-
logoDestination = _this$props2.logoDestination,
|
|
165
|
-
loggedIn = _this$props2.loggedIn,
|
|
166
|
-
intl = _this$props2.intl;
|
|
167
|
-
var logoProps = {
|
|
168
|
-
src: logo,
|
|
169
|
-
alt: logoAltText,
|
|
170
|
-
href: logoDestination
|
|
171
|
-
};
|
|
172
|
-
var logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'mw-100' : null;
|
|
173
|
-
return /*#__PURE__*/React.createElement("header", {
|
|
174
|
-
className: "site-header-desktop"
|
|
175
|
-
}, /*#__PURE__*/React.createElement("a", {
|
|
176
|
-
className: "nav-skip sr-only sr-only-focusable",
|
|
177
|
-
href: "#main"
|
|
178
|
-
}, intl.formatMessage(messages['header.label.skip.nav'])), /*#__PURE__*/React.createElement("div", {
|
|
179
|
-
className: "container-fluid ".concat(logoClasses)
|
|
180
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
181
|
-
className: "nav-container position-relative d-flex align-items-center"
|
|
182
|
-
}, logoDestination === null ? /*#__PURE__*/React.createElement(Logo, {
|
|
183
|
-
className: "logo",
|
|
184
|
-
src: logo,
|
|
185
|
-
alt: logoAltText
|
|
186
|
-
}) : /*#__PURE__*/React.createElement(LinkedLogo, _extends({
|
|
187
|
-
className: "logo"
|
|
188
|
-
}, logoProps)), /*#__PURE__*/React.createElement("nav", {
|
|
189
|
-
"aria-label": intl.formatMessage(messages['header.label.main.nav']),
|
|
190
|
-
className: "nav main-nav mr-auto"
|
|
191
|
-
}, this.renderMainMenu()), getConfig().ENABLE_HEADER_LANG_SELECTOR && /*#__PURE__*/React.createElement("div", {
|
|
192
|
-
className: "mx-2"
|
|
193
|
-
}, /*#__PURE__*/React.createElement(LanguageSelector, {
|
|
194
|
-
options: JSON.parse(getConfig().SITE_SUPPORTED_LANGUAGES),
|
|
195
|
-
authenticatedUser: getAuthenticatedUser()
|
|
196
|
-
})), /*#__PURE__*/React.createElement("nav", {
|
|
197
|
-
"aria-label": intl.formatMessage(messages['header.label.secondary.nav']),
|
|
198
|
-
className: "nav secondary-menu-container align-items-center"
|
|
199
|
-
}, loggedIn ? /*#__PURE__*/React.createElement(React.Fragment, null, this.renderSecondaryMenu(), this.renderUserMenu()) : this.renderLoggedOutItems()))));
|
|
200
|
-
}
|
|
201
|
-
}]);
|
|
202
|
-
}(React.Component);
|
|
203
|
-
DesktopHeader.propTypes = {
|
|
204
|
-
mainMenu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]),
|
|
205
|
-
secondaryMenu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]),
|
|
206
|
-
userMenu: PropTypes.arrayOf(PropTypes.shape({
|
|
207
|
-
heading: PropTypes.string,
|
|
208
|
-
items: PropTypes.arrayOf(PropTypes.shape({
|
|
209
|
-
type: PropTypes.oneOf(['item', 'menu']),
|
|
210
|
-
href: PropTypes.string,
|
|
211
|
-
content: PropTypes.string,
|
|
212
|
-
isActive: PropTypes.bool
|
|
213
|
-
}))
|
|
214
|
-
})),
|
|
215
|
-
loggedOutItems: PropTypes.arrayOf(PropTypes.shape({
|
|
216
|
-
type: PropTypes.oneOf(['item', 'menu']),
|
|
217
|
-
href: PropTypes.string,
|
|
218
|
-
content: PropTypes.string
|
|
219
|
-
})),
|
|
220
|
-
logo: PropTypes.string,
|
|
221
|
-
logoAltText: PropTypes.string,
|
|
222
|
-
logoDestination: PropTypes.string,
|
|
223
|
-
avatar: PropTypes.string,
|
|
224
|
-
username: PropTypes.string,
|
|
225
|
-
loggedIn: PropTypes.bool,
|
|
226
|
-
// i18n
|
|
227
|
-
intl: intlShape.isRequired
|
|
228
|
-
};
|
|
229
|
-
DesktopHeader.defaultProps = {
|
|
230
|
-
mainMenu: [],
|
|
231
|
-
secondaryMenu: [],
|
|
232
|
-
userMenu: [],
|
|
233
|
-
loggedOutItems: [],
|
|
234
|
-
logo: null,
|
|
235
|
-
logoAltText: null,
|
|
236
|
-
logoDestination: null,
|
|
237
|
-
avatar: null,
|
|
238
|
-
username: null,
|
|
239
|
-
loggedIn: false
|
|
240
|
-
};
|
|
241
|
-
export default injectIntl(DesktopHeader);
|
|
242
|
-
//# sourceMappingURL=DesktopHeader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DesktopHeader.js","names":["React","PropTypes","injectIntl","intlShape","getConfig","getAuthenticatedUser","Menu","MenuTrigger","MenuContent","Avatar","LinkedLogo","Logo","messages","CaretIcon","LanguageSelector","DesktopHeader","_React$Component","props","_classCallCheck","_callSuper","_inherits","_createClass","key","value","renderMenu","menu","Array","isArray","map","menuItem","type","href","content","submenuContent","disabled","isActive","createElement","concat","className","tag","respondToPointerEvents","role","focusable","renderMainMenu","mainMenu","renderSecondaryMenu","secondaryMenu","renderUserMenu","_this$props","userMenu","avatar","username","intl","transitionClassName","transitionTimeout","formatMessage","size","src","alt","group","index","Fragment","heading","items","_ref","length","renderLoggedOutItems","loggedOutItems","item","i","arr","render","_this$props2","logo","logoAltText","logoDestination","loggedIn","logoProps","logoClasses","AUTHN_MINIMAL_HEADER","_extends","ENABLE_HEADER_LANG_SELECTOR","options","JSON","parse","SITE_SUPPORTED_LANGUAGES","authenticatedUser","Component","propTypes","oneOfType","node","array","arrayOf","shape","string","oneOf","bool","isRequired","defaultProps"],"sources":["../src/DesktopHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { getConfig } from '@edx/frontend-platform';\nimport { getAuthenticatedUser } from '@edx/frontend-platform/auth';\n\n// Local Components\nimport { Menu, MenuTrigger, MenuContent } from './Menu';\nimport Avatar from './Avatar';\nimport { LinkedLogo, Logo } from './Logo';\n\n// i18n\nimport messages from './Header.messages';\n\n// Assets\nimport { CaretIcon } from './Icons';\nimport LanguageSelector from './LanguageSelector';\n\nclass DesktopHeader extends React.Component {\n constructor(props) { // eslint-disable-line no-useless-constructor\n super(props);\n }\n\n renderMenu(menu) {\n // Nodes are accepted as a prop\n if (!Array.isArray(menu)) {\n return menu;\n }\n\n return menu.map((menuItem) => {\n const {\n type,\n href,\n content,\n submenuContent,\n disabled,\n isActive,\n } = menuItem;\n\n if (type === 'item') {\n return (\n <a\n key={`${type}-${content}`}\n className={`nav-link${disabled ? ' disabled' : ''}${isActive ? ' active' : ''}`}\n href={href}\n >\n {content}\n </a>\n );\n }\n\n return (\n <Menu key={`${type}-${content}`} tag=\"div\" className=\"nav-item\" respondToPointerEvents>\n <MenuTrigger tag=\"a\" className=\"nav-link d-inline-flex align-items-center\" href={href}>\n {content} <CaretIcon role=\"img\" aria-hidden focusable=\"false\" />\n </MenuTrigger>\n <MenuContent className=\"pin-left pin-right shadow py-2\">\n {submenuContent}\n </MenuContent>\n </Menu>\n );\n });\n }\n\n renderMainMenu() {\n const { mainMenu } = this.props;\n return this.renderMenu(mainMenu);\n }\n\n renderSecondaryMenu() {\n const { secondaryMenu } = this.props;\n return this.renderMenu(secondaryMenu);\n }\n\n renderUserMenu() {\n const {\n userMenu,\n avatar,\n username,\n intl,\n } = this.props;\n\n return (\n <Menu transitionClassName=\"menu-dropdown\" transitionTimeout={250}>\n <MenuTrigger\n tag=\"button\"\n aria-label={intl.formatMessage(messages['header.label.account.menu.for'], { username })}\n className=\"btn btn-outline-primary d-inline-flex align-items-center pl-2 pr-3\"\n >\n <Avatar size=\"1.5em\" src={avatar} alt=\"\" className=\"mr-2\" />\n {username} <CaretIcon role=\"img\" aria-hidden focusable=\"false\" />\n </MenuTrigger>\n <MenuContent className=\"mb-0 dropdown-menu show dropdown-menu-right pin-right shadow py-2\">\n {userMenu.map((group, index) => (\n // eslint-disable-next-line react/jsx-no-comment-textnodes,react/no-array-index-key\n <React.Fragment key={index}>\n {group.heading && <div className=\"dropdown-header\" role=\"heading\" aria-level=\"1\">{group.heading}</div>}\n {group.items.map(({\n type, content, href, disabled, isActive,\n }) => (\n <a\n className={`dropdown-${type}${isActive ? ' active' : ''}${disabled ? ' disabled' : ''}`}\n key={`${type}-${content}`}\n href={href}\n >\n {content}\n </a>\n ))}\n {index < userMenu.length - 1 && <div className=\"dropdown-divider\" role=\"separator\" />}\n </React.Fragment>\n ))}\n </MenuContent>\n </Menu>\n );\n }\n\n renderLoggedOutItems() {\n const { loggedOutItems } = this.props;\n\n return loggedOutItems.map((item, i, arr) => (\n <a\n key={`${item.type}-${item.content}`}\n className={i < arr.length - 1 ? 'btn mr-2 btn-link' : 'btn mr-2 btn-outline-primary'}\n href={item.href}\n >\n {item.content}\n </a>\n ));\n }\n\n render() {\n const {\n logo,\n logoAltText,\n logoDestination,\n loggedIn,\n intl,\n } = this.props;\n const logoProps = { src: logo, alt: logoAltText, href: logoDestination };\n const logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'mw-100' : null;\n\n return (\n <header className=\"site-header-desktop\">\n <a className=\"nav-skip sr-only sr-only-focusable\" href=\"#main\">{intl.formatMessage(messages['header.label.skip.nav'])}</a>\n <div className={`container-fluid ${logoClasses}`}>\n <div className=\"nav-container position-relative d-flex align-items-center\">\n {logoDestination === null ? <Logo className=\"logo\" src={logo} alt={logoAltText} /> : <LinkedLogo className=\"logo\" {...logoProps} />}\n <nav\n aria-label={intl.formatMessage(messages['header.label.main.nav'])}\n className=\"nav main-nav mr-auto\"\n >\n {this.renderMainMenu()}\n </nav>\n {getConfig().ENABLE_HEADER_LANG_SELECTOR && (\n <div className=\"mx-2\">\n <LanguageSelector\n options={JSON.parse(getConfig().SITE_SUPPORTED_LANGUAGES)}\n authenticatedUser={getAuthenticatedUser()}\n />\n </div>\n )}\n <nav\n aria-label={intl.formatMessage(messages['header.label.secondary.nav'])}\n className=\"nav secondary-menu-container align-items-center\"\n >\n {loggedIn\n ? (\n <>\n {this.renderSecondaryMenu()}\n {this.renderUserMenu()}\n </>\n ) : this.renderLoggedOutItems()}\n </nav>\n </div>\n </div>\n </header>\n );\n }\n}\n\nDesktopHeader.propTypes = {\n mainMenu: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n secondaryMenu: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n userMenu: PropTypes.arrayOf(PropTypes.shape({\n heading: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n isActive: PropTypes.bool,\n })),\n })),\n loggedOutItems: PropTypes.arrayOf(PropTypes.shape({\n type: PropTypes.oneOf(['item', 'menu']),\n href: PropTypes.string,\n content: PropTypes.string,\n })),\n logo: PropTypes.string,\n logoAltText: PropTypes.string,\n logoDestination: PropTypes.string,\n avatar: PropTypes.string,\n username: PropTypes.string,\n loggedIn: PropTypes.bool,\n\n // i18n\n intl: intlShape.isRequired,\n};\n\nDesktopHeader.defaultProps = {\n mainMenu: [],\n secondaryMenu: [],\n userMenu: [],\n loggedOutItems: [],\n logo: null,\n logoAltText: null,\n logoDestination: null,\n avatar: null,\n username: null,\n loggedIn: false,\n};\n\nexport default injectIntl(DesktopHeader);\n"],"mappings":"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","ignoreList":[]}
|
package/dist/MobileHeader.js
DELETED
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
4
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
5
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
6
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
7
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
9
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
10
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
11
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
12
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
13
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
14
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
15
|
-
import React from 'react';
|
|
16
|
-
import PropTypes from 'prop-types';
|
|
17
|
-
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
|
18
|
-
import { getConfig } from '@edx/frontend-platform';
|
|
19
|
-
|
|
20
|
-
// Local Components
|
|
21
|
-
import { Menu, MenuTrigger, MenuContent } from './Menu';
|
|
22
|
-
import Avatar from './Avatar';
|
|
23
|
-
import { LinkedLogo, Logo } from './Logo';
|
|
24
|
-
|
|
25
|
-
// i18n
|
|
26
|
-
import messages from './Header.messages';
|
|
27
|
-
|
|
28
|
-
// Assets
|
|
29
|
-
import { MenuIcon } from './Icons';
|
|
30
|
-
var MobileHeader = /*#__PURE__*/function (_React$Component) {
|
|
31
|
-
function MobileHeader(props) {
|
|
32
|
-
_classCallCheck(this, MobileHeader);
|
|
33
|
-
// eslint-disable-line no-useless-constructor
|
|
34
|
-
return _callSuper(this, MobileHeader, [props]);
|
|
35
|
-
}
|
|
36
|
-
_inherits(MobileHeader, _React$Component);
|
|
37
|
-
return _createClass(MobileHeader, [{
|
|
38
|
-
key: "renderMenu",
|
|
39
|
-
value: function renderMenu(menu) {
|
|
40
|
-
// Nodes are accepted as a prop
|
|
41
|
-
if (!Array.isArray(menu)) {
|
|
42
|
-
return menu;
|
|
43
|
-
}
|
|
44
|
-
return menu.map(function (menuItem) {
|
|
45
|
-
var type = menuItem.type,
|
|
46
|
-
href = menuItem.href,
|
|
47
|
-
content = menuItem.content,
|
|
48
|
-
submenuContent = menuItem.submenuContent,
|
|
49
|
-
disabled = menuItem.disabled,
|
|
50
|
-
isActive = menuItem.isActive;
|
|
51
|
-
if (type === 'item') {
|
|
52
|
-
return /*#__PURE__*/React.createElement("a", {
|
|
53
|
-
key: "".concat(type, "-").concat(content),
|
|
54
|
-
className: "nav-link".concat(disabled ? ' disabled' : '').concat(isActive ? ' active' : ''),
|
|
55
|
-
href: href
|
|
56
|
-
}, content);
|
|
57
|
-
}
|
|
58
|
-
return /*#__PURE__*/React.createElement(Menu, {
|
|
59
|
-
key: "".concat(type, "-").concat(content),
|
|
60
|
-
tag: "div",
|
|
61
|
-
className: "nav-item"
|
|
62
|
-
}, /*#__PURE__*/React.createElement(MenuTrigger, {
|
|
63
|
-
tag: "a",
|
|
64
|
-
role: "button",
|
|
65
|
-
tabIndex: "0",
|
|
66
|
-
className: "nav-link"
|
|
67
|
-
}, content), /*#__PURE__*/React.createElement(MenuContent, {
|
|
68
|
-
className: "position-static pin-left pin-right py-2"
|
|
69
|
-
}, submenuContent));
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
}, {
|
|
73
|
-
key: "renderMainMenu",
|
|
74
|
-
value: function renderMainMenu() {
|
|
75
|
-
var mainMenu = this.props.mainMenu;
|
|
76
|
-
return this.renderMenu(mainMenu);
|
|
77
|
-
}
|
|
78
|
-
}, {
|
|
79
|
-
key: "renderSecondaryMenu",
|
|
80
|
-
value: function renderSecondaryMenu() {
|
|
81
|
-
var secondaryMenu = this.props.secondaryMenu;
|
|
82
|
-
return this.renderMenu(secondaryMenu);
|
|
83
|
-
}
|
|
84
|
-
}, {
|
|
85
|
-
key: "renderUserMenuItems",
|
|
86
|
-
value: function renderUserMenuItems() {
|
|
87
|
-
var userMenu = this.props.userMenu;
|
|
88
|
-
return userMenu.map(function (group) {
|
|
89
|
-
return group.items.map(function (_ref) {
|
|
90
|
-
var type = _ref.type,
|
|
91
|
-
content = _ref.content,
|
|
92
|
-
href = _ref.href,
|
|
93
|
-
disabled = _ref.disabled,
|
|
94
|
-
isActive = _ref.isActive;
|
|
95
|
-
return /*#__PURE__*/React.createElement("li", {
|
|
96
|
-
className: "nav-item",
|
|
97
|
-
key: "".concat(type, "-").concat(content)
|
|
98
|
-
}, /*#__PURE__*/React.createElement("a", {
|
|
99
|
-
className: "nav-link".concat(isActive ? ' active' : '').concat(disabled ? ' disabled' : ''),
|
|
100
|
-
href: href
|
|
101
|
-
}, content));
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
}, {
|
|
106
|
-
key: "renderLoggedOutItems",
|
|
107
|
-
value: function renderLoggedOutItems() {
|
|
108
|
-
var loggedOutItems = this.props.loggedOutItems;
|
|
109
|
-
return loggedOutItems.map(function (_ref2, i, arr) {
|
|
110
|
-
var type = _ref2.type,
|
|
111
|
-
href = _ref2.href,
|
|
112
|
-
content = _ref2.content;
|
|
113
|
-
return /*#__PURE__*/React.createElement("li", {
|
|
114
|
-
className: "nav-item px-3 my-2",
|
|
115
|
-
key: "".concat(type, "-").concat(content)
|
|
116
|
-
}, /*#__PURE__*/React.createElement("a", {
|
|
117
|
-
className: i < arr.length - 1 ? 'btn btn-block btn-outline-primary' : 'btn btn-block btn-primary',
|
|
118
|
-
href: href
|
|
119
|
-
}, content));
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
}, {
|
|
123
|
-
key: "render",
|
|
124
|
-
value: function render() {
|
|
125
|
-
var _this$props = this.props,
|
|
126
|
-
logo = _this$props.logo,
|
|
127
|
-
logoAltText = _this$props.logoAltText,
|
|
128
|
-
logoDestination = _this$props.logoDestination,
|
|
129
|
-
loggedIn = _this$props.loggedIn,
|
|
130
|
-
avatar = _this$props.avatar,
|
|
131
|
-
username = _this$props.username,
|
|
132
|
-
stickyOnMobile = _this$props.stickyOnMobile,
|
|
133
|
-
intl = _this$props.intl,
|
|
134
|
-
mainMenu = _this$props.mainMenu,
|
|
135
|
-
userMenu = _this$props.userMenu,
|
|
136
|
-
loggedOutItems = _this$props.loggedOutItems;
|
|
137
|
-
var logoProps = {
|
|
138
|
-
src: logo,
|
|
139
|
-
alt: logoAltText,
|
|
140
|
-
href: logoDestination
|
|
141
|
-
};
|
|
142
|
-
var stickyClassName = stickyOnMobile ? 'sticky-top' : '';
|
|
143
|
-
var logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'justify-content-left pl-3' : 'justify-content-center';
|
|
144
|
-
return /*#__PURE__*/React.createElement("header", {
|
|
145
|
-
"aria-label": intl.formatMessage(messages['header.label.main.header']),
|
|
146
|
-
className: "site-header-mobile d-flex justify-content-between align-items-center shadow ".concat(stickyClassName)
|
|
147
|
-
}, /*#__PURE__*/React.createElement("a", {
|
|
148
|
-
className: "nav-skip sr-only sr-only-focusable",
|
|
149
|
-
href: "#main"
|
|
150
|
-
}, intl.formatMessage(messages['header.label.skip.nav'])), mainMenu.length > 0 ? /*#__PURE__*/React.createElement("div", {
|
|
151
|
-
className: "w-100 d-flex justify-content-start"
|
|
152
|
-
}, /*#__PURE__*/React.createElement(Menu, {
|
|
153
|
-
className: "position-static"
|
|
154
|
-
}, /*#__PURE__*/React.createElement(MenuTrigger, {
|
|
155
|
-
tag: "button",
|
|
156
|
-
className: "icon-button",
|
|
157
|
-
"aria-label": intl.formatMessage(messages['header.label.main.menu']),
|
|
158
|
-
title: intl.formatMessage(messages['header.label.main.menu'])
|
|
159
|
-
}, /*#__PURE__*/React.createElement(MenuIcon, {
|
|
160
|
-
role: "img",
|
|
161
|
-
"aria-hidden": true,
|
|
162
|
-
focusable: "false",
|
|
163
|
-
style: {
|
|
164
|
-
width: '1.5rem',
|
|
165
|
-
height: '1.5rem'
|
|
166
|
-
}
|
|
167
|
-
})), /*#__PURE__*/React.createElement(MenuContent, {
|
|
168
|
-
tag: "nav",
|
|
169
|
-
"aria-label": intl.formatMessage(messages['header.label.main.nav']),
|
|
170
|
-
className: "nav flex-column pin-left pin-right border-top shadow py-2"
|
|
171
|
-
}, this.renderMainMenu(), this.renderSecondaryMenu()))) : null, /*#__PURE__*/React.createElement("div", {
|
|
172
|
-
className: "w-100 d-flex ".concat(logoClasses)
|
|
173
|
-
}, logoDestination === null ? /*#__PURE__*/React.createElement(Logo, {
|
|
174
|
-
className: "logo",
|
|
175
|
-
src: logo,
|
|
176
|
-
alt: logoAltText
|
|
177
|
-
}) : /*#__PURE__*/React.createElement(LinkedLogo, _extends({
|
|
178
|
-
className: "logo"
|
|
179
|
-
}, logoProps, {
|
|
180
|
-
itemType: "http://schema.org/Organization"
|
|
181
|
-
}))), userMenu.length > 0 || loggedOutItems.length > 0 ? /*#__PURE__*/React.createElement("div", {
|
|
182
|
-
className: "w-100 d-flex justify-content-end align-items-center"
|
|
183
|
-
}, /*#__PURE__*/React.createElement(Menu, {
|
|
184
|
-
tag: "nav",
|
|
185
|
-
"aria-label": intl.formatMessage(messages['header.label.secondary.nav']),
|
|
186
|
-
className: "position-static"
|
|
187
|
-
}, /*#__PURE__*/React.createElement(MenuTrigger, {
|
|
188
|
-
tag: "button",
|
|
189
|
-
className: "icon-button",
|
|
190
|
-
"aria-label": intl.formatMessage(messages['header.label.account.menu']),
|
|
191
|
-
title: intl.formatMessage(messages['header.label.account.menu'])
|
|
192
|
-
}, /*#__PURE__*/React.createElement(Avatar, {
|
|
193
|
-
size: "1.5rem",
|
|
194
|
-
src: avatar,
|
|
195
|
-
alt: username
|
|
196
|
-
})), /*#__PURE__*/React.createElement(MenuContent, {
|
|
197
|
-
tag: "ul",
|
|
198
|
-
className: "nav flex-column pin-left pin-right border-top shadow py-2"
|
|
199
|
-
}, loggedIn ? this.renderUserMenuItems() : this.renderLoggedOutItems()))) : null);
|
|
200
|
-
}
|
|
201
|
-
}]);
|
|
202
|
-
}(React.Component);
|
|
203
|
-
MobileHeader.propTypes = {
|
|
204
|
-
mainMenu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]),
|
|
205
|
-
secondaryMenu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]),
|
|
206
|
-
userMenu: PropTypes.arrayOf(PropTypes.shape({
|
|
207
|
-
heading: PropTypes.string,
|
|
208
|
-
items: PropTypes.arrayOf(PropTypes.shape({
|
|
209
|
-
type: PropTypes.oneOf(['item', 'menu']),
|
|
210
|
-
href: PropTypes.string,
|
|
211
|
-
content: PropTypes.string,
|
|
212
|
-
isActive: PropTypes.bool
|
|
213
|
-
}))
|
|
214
|
-
})),
|
|
215
|
-
loggedOutItems: PropTypes.arrayOf(PropTypes.shape({
|
|
216
|
-
type: PropTypes.oneOf(['item', 'menu']),
|
|
217
|
-
href: PropTypes.string,
|
|
218
|
-
content: PropTypes.string
|
|
219
|
-
})),
|
|
220
|
-
logo: PropTypes.string,
|
|
221
|
-
logoAltText: PropTypes.string,
|
|
222
|
-
logoDestination: PropTypes.string,
|
|
223
|
-
avatar: PropTypes.string,
|
|
224
|
-
username: PropTypes.string,
|
|
225
|
-
loggedIn: PropTypes.bool,
|
|
226
|
-
stickyOnMobile: PropTypes.bool,
|
|
227
|
-
// i18n
|
|
228
|
-
intl: intlShape.isRequired
|
|
229
|
-
};
|
|
230
|
-
MobileHeader.defaultProps = {
|
|
231
|
-
mainMenu: [],
|
|
232
|
-
secondaryMenu: [],
|
|
233
|
-
userMenu: [],
|
|
234
|
-
loggedOutItems: [],
|
|
235
|
-
logo: null,
|
|
236
|
-
logoAltText: null,
|
|
237
|
-
logoDestination: null,
|
|
238
|
-
avatar: null,
|
|
239
|
-
username: null,
|
|
240
|
-
loggedIn: false,
|
|
241
|
-
stickyOnMobile: true
|
|
242
|
-
};
|
|
243
|
-
export default injectIntl(MobileHeader);
|
|
244
|
-
//# sourceMappingURL=MobileHeader.js.map
|