@nauedu/frontend-component-header 20.1.0 → 20.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Header.js +13 -9
- package/dist/Header.js.map +1 -1
- package/dist/Header.test.jsx +3 -0
- package/dist/Icons.js +1 -1
- package/dist/LanguageSelector/data/api.js +13 -5
- package/dist/LanguageSelector/data/api.js.map +1 -1
- package/dist/LanguageSelector/index.js +12 -4
- package/dist/LanguageSelector/index.js.map +1 -1
- package/dist/Logo.js +10 -23
- package/dist/Logo.js.map +1 -1
- package/dist/Menu/Menu.js +11 -11
- package/dist/Menu/Menu.js.map +1 -1
- package/dist/Menu/menu.scss +6 -6
- package/dist/__snapshots__/Header.test.jsx.snap +2 -0
- package/dist/desktop-header/DesktopHeader.js +172 -0
- package/dist/desktop-header/DesktopHeader.js.map +1 -0
- package/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js +51 -0
- package/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js.map +1 -0
- package/dist/desktop-header/DesktopHeaderUserMenu.js +49 -0
- package/dist/desktop-header/DesktopHeaderUserMenu.js.map +1 -0
- package/dist/desktop-header/DesktopLoggedOutItems.js +22 -0
- package/dist/desktop-header/DesktopLoggedOutItems.js.map +1 -0
- package/dist/desktop-header/DesktopUserMenuToggle.js +25 -0
- package/dist/desktop-header/DesktopUserMenuToggle.js.map +1 -0
- package/dist/frontend-platform.d.ts +41 -0
- package/dist/index.scss +27 -15
- package/dist/learning-header/AnonymousUserMenu.js +11 -8
- package/dist/learning-header/AnonymousUserMenu.js.map +1 -1
- package/dist/learning-header/AuthenticatedUserDropdown.js +32 -24
- package/dist/learning-header/AuthenticatedUserDropdown.js.map +1 -1
- package/dist/learning-header/LearningHeader.js +17 -15
- package/dist/learning-header/LearningHeader.js.map +1 -1
- package/dist/learning-header/LearningHeaderCourseInfo.js +24 -0
- package/dist/learning-header/LearningHeaderCourseInfo.js.map +1 -0
- package/dist/learning-header/LearningHeaderHelpLink.js +13 -0
- package/dist/learning-header/LearningHeaderHelpLink.js.map +1 -0
- package/dist/learning-header/LearningHeaderUserMenuItems.js +20 -0
- package/dist/learning-header/LearningHeaderUserMenuItems.js.map +1 -0
- package/dist/learning-header/LearningLoggedOutButtons.js +24 -0
- package/dist/learning-header/LearningLoggedOutButtons.js.map +1 -0
- package/dist/learning-header/LearningUserMenuToggle.js +26 -0
- package/dist/learning-header/LearningUserMenuToggle.js.map +1 -0
- package/dist/learning-header/data/api.js +12 -4
- package/dist/learning-header/data/api.js.map +1 -1
- package/dist/learning-header/data/api.test.js +92 -95
- package/dist/learning-header/data/api.test.js.map +1 -1
- package/dist/learning-header/messages.js +5 -0
- package/dist/learning-header/messages.js.map +1 -1
- package/dist/mobile-header/MobileHeader.js +197 -0
- package/dist/mobile-header/MobileHeader.js.map +1 -0
- package/dist/mobile-header/MobileHeaderMainMenu.js +46 -0
- package/dist/mobile-header/MobileHeaderMainMenu.js.map +1 -0
- package/dist/mobile-header/MobileHeaderUserMenu.js +38 -0
- package/dist/mobile-header/MobileHeaderUserMenu.js.map +1 -0
- package/dist/mobile-header/MobileLoggedOutItems.js +27 -0
- package/dist/mobile-header/MobileLoggedOutItems.js.map +1 -0
- package/dist/mobile-header/MobileUserMenuToggle.js +19 -0
- package/dist/mobile-header/MobileUserMenuToggle.js.map +1 -0
- package/dist/plugin-slots/CourseInfoSlot/README.md +128 -0
- package/dist/plugin-slots/CourseInfoSlot/images/add_custom_components_before_and_after_course_info.png +0 -0
- package/dist/plugin-slots/CourseInfoSlot/images/replace_course_info_with_custom_component.png +0 -0
- package/dist/plugin-slots/CourseInfoSlot/images/replace_course_title.png +0 -0
- package/dist/plugin-slots/CourseInfoSlot/index.js +32 -0
- package/dist/plugin-slots/CourseInfoSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopHeaderSlot/README.md +44 -0
- package/dist/plugin-slots/DesktopHeaderSlot/images/desktop_header_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopHeaderSlot/index.js +16 -0
- package/dist/plugin-slots/DesktopHeaderSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md +137 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_modify_items.png +0 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js +20 -0
- package/dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/README.md +137 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_modify_items.png +0 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/index.js +20 -0
- package/dist/plugin-slots/DesktopMainMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/README.md +132 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_modify_items.png +0 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js +20 -0
- package/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/README.md +144 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_modify_items.png +0 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/index.js +20 -0
- package/dist/plugin-slots/DesktopUserMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/DesktopUserMenuToggleSlot/README.md +74 -0
- package/dist/plugin-slots/DesktopUserMenuToggleSlot/images/desktop_user_menu_custom_component.png +0 -0
- package/dist/plugin-slots/DesktopUserMenuToggleSlot/images/desktop_user_menu_modified_toggle.png +0 -0
- package/dist/plugin-slots/DesktopUserMenuToggleSlot/index.js +19 -0
- package/dist/plugin-slots/DesktopUserMenuToggleSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningHelpSlot/README.md +44 -0
- package/dist/plugin-slots/LearningHelpSlot/images/learning_help_custom_component.png +0 -0
- package/dist/plugin-slots/LearningHelpSlot/index.js +11 -0
- package/dist/plugin-slots/LearningHelpSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/README.md +135 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_component.png +0 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_modified_items.png +0 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/index.js +18 -0
- package/dist/plugin-slots/LearningLoggedOutItemsSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningUserMenuSlot/README.md +133 -0
- package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_component.png +0 -0
- package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_modified_items.png +0 -0
- package/dist/plugin-slots/LearningUserMenuSlot/index.js +18 -0
- package/dist/plugin-slots/LearningUserMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/LearningUserMenuToggleSlot/README.md +74 -0
- package/dist/plugin-slots/LearningUserMenuToggleSlot/images/learning_user_menu_toggle_custom_component.png +0 -0
- package/dist/plugin-slots/LearningUserMenuToggleSlot/images/learning_user_menu_toggle_modified_items.png +0 -0
- package/dist/plugin-slots/LearningUserMenuToggleSlot/index.js +19 -0
- package/dist/plugin-slots/LearningUserMenuToggleSlot/index.js.map +1 -0
- package/dist/plugin-slots/LogoSlot/README.md +72 -0
- package/dist/plugin-slots/LogoSlot/index.js +27 -0
- package/dist/plugin-slots/LogoSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileHeaderSlot/README.md +44 -0
- package/dist/plugin-slots/MobileHeaderSlot/images/mobile_header_custom_component.png +0 -0
- package/dist/plugin-slots/MobileHeaderSlot/index.js +16 -0
- package/dist/plugin-slots/MobileHeaderSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/README.md +136 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_component.png +0 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_modify_items.png +0 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js +20 -0
- package/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileMainMenuSlot/README.md +136 -0
- package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_component.png +0 -0
- package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_modify_items.png +0 -0
- package/dist/plugin-slots/MobileMainMenuSlot/index.js +20 -0
- package/dist/plugin-slots/MobileMainMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileUserMenuSlot/README.md +144 -0
- package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_component.png +0 -0
- package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_components_before_after.png +0 -0
- package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_modify_items.png +0 -0
- package/dist/plugin-slots/MobileUserMenuSlot/index.js +20 -0
- package/dist/plugin-slots/MobileUserMenuSlot/index.js.map +1 -0
- package/dist/plugin-slots/MobileUserMenuToggleSlot/README.md +74 -0
- package/dist/plugin-slots/MobileUserMenuToggleSlot/images/mobile_user_menu_toggle_custom_component.png +0 -0
- package/dist/plugin-slots/MobileUserMenuToggleSlot/images/mobile_user_menu_toggle_modified_items.png +0 -0
- package/dist/plugin-slots/MobileUserMenuToggleSlot/index.js +19 -0
- package/dist/plugin-slots/MobileUserMenuToggleSlot/index.js.map +1 -0
- package/dist/plugin-slots/README.md +26 -0
- package/dist/setupTest.js +0 -2
- package/dist/studio-header/BrandNav.test.tsx +40 -0
- package/dist/studio-header/BrandNav.tsx +25 -0
- package/dist/studio-header/CourseLockUp.test.tsx +59 -0
- package/dist/studio-header/CourseLockUp.tsx +56 -0
- package/dist/studio-header/HeaderBody.test.tsx +102 -0
- package/dist/studio-header/HeaderBody.tsx +196 -0
- package/dist/studio-header/MobileHeader.tsx +74 -0
- package/dist/studio-header/MobileMenu.test.tsx +81 -0
- package/dist/studio-header/MobileMenu.tsx +50 -0
- package/dist/studio-header/NavDropdownMenu.test.tsx +67 -0
- package/dist/studio-header/NavDropdownMenu.tsx +42 -0
- package/dist/studio-header/StudioHeader.scss +8 -10
- package/dist/studio-header/StudioHeader.test.tsx +220 -0
- package/dist/studio-header/StudioHeader.tsx +84 -0
- package/dist/studio-header/UserMenu.tsx +69 -0
- package/dist/studio-header/{index.js → index.ts} +1 -1
- package/dist/studio-header/{messages.js → messages.ts} +15 -14
- package/dist/studio-header/utils.ts +37 -0
- package/dist/test-utils.js +12 -4
- package/dist/test-utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/DesktopHeader.js +0 -242
- package/dist/DesktopHeader.js.map +0 -1
- package/dist/MobileHeader.js +0 -244
- package/dist/MobileHeader.js.map +0 -1
- package/dist/studio-header/BrandNav.js +0 -21
- package/dist/studio-header/BrandNav.js.map +0 -1
- package/dist/studio-header/CourseLockUp.js +0 -45
- package/dist/studio-header/CourseLockUp.js.map +0 -1
- package/dist/studio-header/HeaderBody.js +0 -131
- package/dist/studio-header/HeaderBody.js.map +0 -1
- package/dist/studio-header/MobileHeader.js +0 -79
- package/dist/studio-header/MobileHeader.js.map +0 -1
- package/dist/studio-header/MobileMenu.js +0 -45
- package/dist/studio-header/MobileMenu.js.map +0 -1
- package/dist/studio-header/NavDropdownMenu.js +0 -30
- package/dist/studio-header/NavDropdownMenu.js.map +0 -1
- package/dist/studio-header/StudioHeader.js +0 -72
- package/dist/studio-header/StudioHeader.js.map +0 -1
- package/dist/studio-header/UserMenu.js +0 -55
- package/dist/studio-header/UserMenu.js.map +0 -1
- package/dist/studio-header/index.js.map +0 -1
- package/dist/studio-header/messages.js.map +0 -1
- package/dist/studio-header/utils.js +0 -29
- package/dist/studio-header/utils.js.map +0 -1
package/dist/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
|
package/dist/MobileHeader.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MobileHeader.js","names":["React","PropTypes","injectIntl","intlShape","getConfig","Menu","MenuTrigger","MenuContent","Avatar","LinkedLogo","Logo","messages","MenuIcon","MobileHeader","_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","role","tabIndex","renderMainMenu","mainMenu","renderSecondaryMenu","secondaryMenu","renderUserMenuItems","userMenu","group","items","_ref","renderLoggedOutItems","loggedOutItems","_ref2","i","arr","length","render","_this$props","logo","logoAltText","logoDestination","loggedIn","avatar","username","stickyOnMobile","intl","logoProps","src","alt","stickyClassName","logoClasses","AUTHN_MINIMAL_HEADER","formatMessage","title","focusable","style","width","height","_extends","itemType","size","Component","propTypes","oneOfType","node","array","arrayOf","shape","heading","string","oneOf","bool","isRequired","defaultProps"],"sources":["../src/MobileHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { getConfig } from '@edx/frontend-platform';\n\n// Local Components\nimport { Menu, MenuTrigger, MenuContent } from './Menu';\nimport Avatar from './Avatar';\nimport { LinkedLogo, Logo } from './Logo';\n\n// i18n\nimport messages from './Header.messages';\n\n// Assets\nimport { MenuIcon } from './Icons';\n\nclass MobileHeader 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\">\n <MenuTrigger tag=\"a\" role=\"button\" tabIndex=\"0\" className=\"nav-link\">\n {content}\n </MenuTrigger>\n <MenuContent className=\"position-static pin-left pin-right 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 renderUserMenuItems() {\n const { userMenu } = this.props;\n\n return userMenu.map((group) => (\n group.items.map(({\n type, content, href, disabled, isActive,\n }) => (\n <li className=\"nav-item\" key={`${type}-${content}`}>\n <a\n className={`nav-link${isActive ? ' active' : ''}${disabled ? ' disabled' : ''}`}\n href={href}\n >\n {content}\n </a>\n </li>\n ))\n ));\n }\n\n renderLoggedOutItems() {\n const { loggedOutItems } = this.props;\n\n return loggedOutItems.map(({ type, href, content }, i, arr) => (\n <li className=\"nav-item px-3 my-2\" key={`${type}-${content}`}>\n <a\n className={i < arr.length - 1 ? 'btn btn-block btn-outline-primary' : 'btn btn-block btn-primary'}\n href={href}\n >\n {content}\n </a>\n </li>\n ));\n }\n\n render() {\n const {\n logo,\n logoAltText,\n logoDestination,\n loggedIn,\n avatar,\n username,\n stickyOnMobile,\n intl,\n mainMenu,\n userMenu,\n loggedOutItems,\n } = this.props;\n const logoProps = { src: logo, alt: logoAltText, href: logoDestination };\n const stickyClassName = stickyOnMobile ? 'sticky-top' : '';\n const logoClasses = getConfig().AUTHN_MINIMAL_HEADER ? 'justify-content-left pl-3' : 'justify-content-center';\n\n return (\n <header\n aria-label={intl.formatMessage(messages['header.label.main.header'])}\n className={`site-header-mobile d-flex justify-content-between align-items-center shadow ${stickyClassName}`}\n >\n <a className=\"nav-skip sr-only sr-only-focusable\" href=\"#main\">{intl.formatMessage(messages['header.label.skip.nav'])}</a>\n {mainMenu.length > 0 ? (\n <div className=\"w-100 d-flex justify-content-start\">\n\n <Menu className=\"position-static\">\n <MenuTrigger\n tag=\"button\"\n className=\"icon-button\"\n aria-label={intl.formatMessage(messages['header.label.main.menu'])}\n title={intl.formatMessage(messages['header.label.main.menu'])}\n >\n <MenuIcon role=\"img\" aria-hidden focusable=\"false\" style={{ width: '1.5rem', height: '1.5rem' }} />\n </MenuTrigger>\n <MenuContent\n tag=\"nav\"\n aria-label={intl.formatMessage(messages['header.label.main.nav'])}\n className=\"nav flex-column pin-left pin-right border-top shadow py-2\"\n >\n {this.renderMainMenu()}\n {this.renderSecondaryMenu()}\n </MenuContent>\n </Menu>\n </div>\n ) : null}\n <div className={`w-100 d-flex ${logoClasses}`}>\n { logoDestination === null ? <Logo className=\"logo\" src={logo} alt={logoAltText} /> : <LinkedLogo className=\"logo\" {...logoProps} itemType=\"http://schema.org/Organization\" />}\n </div>\n {userMenu.length > 0 || loggedOutItems.length > 0 ? (\n <div className=\"w-100 d-flex justify-content-end align-items-center\">\n <Menu tag=\"nav\" aria-label={intl.formatMessage(messages['header.label.secondary.nav'])} className=\"position-static\">\n <MenuTrigger\n tag=\"button\"\n className=\"icon-button\"\n aria-label={intl.formatMessage(messages['header.label.account.menu'])}\n title={intl.formatMessage(messages['header.label.account.menu'])}\n >\n <Avatar size=\"1.5rem\" src={avatar} alt={username} />\n </MenuTrigger>\n <MenuContent tag=\"ul\" className=\"nav flex-column pin-left pin-right border-top shadow py-2\">\n {loggedIn ? this.renderUserMenuItems() : this.renderLoggedOutItems()}\n </MenuContent>\n </Menu>\n </div>\n ) : null}\n </header>\n );\n }\n}\n\nMobileHeader.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 stickyOnMobile: PropTypes.bool,\n\n // i18n\n intl: intlShape.isRequired,\n};\n\nMobileHeader.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 stickyOnMobile: true,\n\n};\n\nexport default injectIntl(MobileHeader);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
var BrandNav = function BrandNav(_ref) {
|
|
4
|
-
var studioBaseUrl = _ref.studioBaseUrl,
|
|
5
|
-
logo = _ref.logo,
|
|
6
|
-
logoAltText = _ref.logoAltText;
|
|
7
|
-
return /*#__PURE__*/React.createElement("a", {
|
|
8
|
-
href: studioBaseUrl
|
|
9
|
-
}, /*#__PURE__*/React.createElement("img", {
|
|
10
|
-
src: logo,
|
|
11
|
-
alt: logoAltText,
|
|
12
|
-
className: "d-block logo"
|
|
13
|
-
}));
|
|
14
|
-
};
|
|
15
|
-
BrandNav.propTypes = {
|
|
16
|
-
studioBaseUrl: PropTypes.string.isRequired,
|
|
17
|
-
logo: PropTypes.string.isRequired,
|
|
18
|
-
logoAltText: PropTypes.string.isRequired
|
|
19
|
-
};
|
|
20
|
-
export default BrandNav;
|
|
21
|
-
//# sourceMappingURL=BrandNav.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BrandNav.js","names":["React","PropTypes","BrandNav","_ref","studioBaseUrl","logo","logoAltText","createElement","href","src","alt","className","propTypes","string","isRequired"],"sources":["../../src/studio-header/BrandNav.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst BrandNav = ({\n studioBaseUrl,\n logo,\n logoAltText,\n}) => (\n <a href={studioBaseUrl}>\n <img\n src={logo}\n alt={logoAltText}\n className=\"d-block logo\"\n />\n </a>\n);\n\nBrandNav.propTypes = {\n studioBaseUrl: PropTypes.string.isRequired,\n logo: PropTypes.string.isRequired,\n logoAltText: PropTypes.string.isRequired,\n};\n\nexport default BrandNav;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA;EAAA,IACZC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,WAAW,GAAAH,IAAA,CAAXG,WAAW;EAAA,oBAEXN,KAAA,CAAAO,aAAA;IAAGC,IAAI,EAAEJ;EAAc,gBACrBJ,KAAA,CAAAO,aAAA;IACEE,GAAG,EAAEJ,IAAK;IACVK,GAAG,EAAEJ,WAAY;IACjBK,SAAS,EAAC;EAAc,CACzB,CACA,CAAC;AAAA,CACL;AAEDT,QAAQ,CAACU,SAAS,GAAG;EACnBR,aAAa,EAAEH,SAAS,CAACY,MAAM,CAACC,UAAU;EAC1CT,IAAI,EAAEJ,SAAS,CAACY,MAAM,CAACC,UAAU;EACjCR,WAAW,EAAEL,SAAS,CAACY,MAAM,CAACC;AAChC,CAAC;AAED,eAAeZ,QAAQ","ignoreList":[]}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
|
4
|
-
import { OverlayTrigger, Tooltip } from '@openedx/paragon';
|
|
5
|
-
import messages from './messages';
|
|
6
|
-
var CourseLockUp = function CourseLockUp(_ref) {
|
|
7
|
-
var outlineLink = _ref.outlineLink,
|
|
8
|
-
org = _ref.org,
|
|
9
|
-
number = _ref.number,
|
|
10
|
-
title = _ref.title,
|
|
11
|
-
intl = _ref.intl;
|
|
12
|
-
return /*#__PURE__*/React.createElement(OverlayTrigger, {
|
|
13
|
-
placement: "bottom",
|
|
14
|
-
overlay: /*#__PURE__*/React.createElement(Tooltip, {
|
|
15
|
-
id: "course-lock-up"
|
|
16
|
-
}, title)
|
|
17
|
-
}, /*#__PURE__*/React.createElement("a", {
|
|
18
|
-
className: "course-title-lockup mr-2",
|
|
19
|
-
href: outlineLink,
|
|
20
|
-
"aria-label": intl.formatMessage(messages['header.label.courseOutline']),
|
|
21
|
-
"data-testid": "course-lock-up-block"
|
|
22
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
23
|
-
className: "d-block small m-0 text-gray-800",
|
|
24
|
-
"data-testid": "course-org-number"
|
|
25
|
-
}, org, " ", number), /*#__PURE__*/React.createElement("span", {
|
|
26
|
-
className: "d-block m-0 font-weight-bold text-gray-800",
|
|
27
|
-
"data-testid": "course-title"
|
|
28
|
-
}, title)));
|
|
29
|
-
};
|
|
30
|
-
CourseLockUp.propTypes = {
|
|
31
|
-
number: PropTypes.string,
|
|
32
|
-
org: PropTypes.string,
|
|
33
|
-
title: PropTypes.string,
|
|
34
|
-
outlineLink: PropTypes.string,
|
|
35
|
-
// injected
|
|
36
|
-
intl: intlShape.isRequired
|
|
37
|
-
};
|
|
38
|
-
CourseLockUp.defaultProps = {
|
|
39
|
-
number: null,
|
|
40
|
-
org: null,
|
|
41
|
-
title: null,
|
|
42
|
-
outlineLink: null
|
|
43
|
-
};
|
|
44
|
-
export default injectIntl(CourseLockUp);
|
|
45
|
-
//# sourceMappingURL=CourseLockUp.js.map
|