@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.
Files changed (195) hide show
  1. package/dist/Header.js +13 -9
  2. package/dist/Header.js.map +1 -1
  3. package/dist/Header.test.jsx +3 -0
  4. package/dist/Icons.js +1 -1
  5. package/dist/LanguageSelector/data/api.js +13 -5
  6. package/dist/LanguageSelector/data/api.js.map +1 -1
  7. package/dist/LanguageSelector/index.js +12 -4
  8. package/dist/LanguageSelector/index.js.map +1 -1
  9. package/dist/Logo.js +10 -23
  10. package/dist/Logo.js.map +1 -1
  11. package/dist/Menu/Menu.js +11 -11
  12. package/dist/Menu/Menu.js.map +1 -1
  13. package/dist/Menu/menu.scss +6 -6
  14. package/dist/__snapshots__/Header.test.jsx.snap +2 -0
  15. package/dist/desktop-header/DesktopHeader.js +172 -0
  16. package/dist/desktop-header/DesktopHeader.js.map +1 -0
  17. package/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js +51 -0
  18. package/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js.map +1 -0
  19. package/dist/desktop-header/DesktopHeaderUserMenu.js +49 -0
  20. package/dist/desktop-header/DesktopHeaderUserMenu.js.map +1 -0
  21. package/dist/desktop-header/DesktopLoggedOutItems.js +22 -0
  22. package/dist/desktop-header/DesktopLoggedOutItems.js.map +1 -0
  23. package/dist/desktop-header/DesktopUserMenuToggle.js +25 -0
  24. package/dist/desktop-header/DesktopUserMenuToggle.js.map +1 -0
  25. package/dist/frontend-platform.d.ts +41 -0
  26. package/dist/index.scss +27 -15
  27. package/dist/learning-header/AnonymousUserMenu.js +11 -8
  28. package/dist/learning-header/AnonymousUserMenu.js.map +1 -1
  29. package/dist/learning-header/AuthenticatedUserDropdown.js +32 -24
  30. package/dist/learning-header/AuthenticatedUserDropdown.js.map +1 -1
  31. package/dist/learning-header/LearningHeader.js +17 -15
  32. package/dist/learning-header/LearningHeader.js.map +1 -1
  33. package/dist/learning-header/LearningHeaderCourseInfo.js +24 -0
  34. package/dist/learning-header/LearningHeaderCourseInfo.js.map +1 -0
  35. package/dist/learning-header/LearningHeaderHelpLink.js +13 -0
  36. package/dist/learning-header/LearningHeaderHelpLink.js.map +1 -0
  37. package/dist/learning-header/LearningHeaderUserMenuItems.js +20 -0
  38. package/dist/learning-header/LearningHeaderUserMenuItems.js.map +1 -0
  39. package/dist/learning-header/LearningLoggedOutButtons.js +24 -0
  40. package/dist/learning-header/LearningLoggedOutButtons.js.map +1 -0
  41. package/dist/learning-header/LearningUserMenuToggle.js +26 -0
  42. package/dist/learning-header/LearningUserMenuToggle.js.map +1 -0
  43. package/dist/learning-header/data/api.js +12 -4
  44. package/dist/learning-header/data/api.js.map +1 -1
  45. package/dist/learning-header/data/api.test.js +92 -95
  46. package/dist/learning-header/data/api.test.js.map +1 -1
  47. package/dist/learning-header/messages.js +5 -0
  48. package/dist/learning-header/messages.js.map +1 -1
  49. package/dist/mobile-header/MobileHeader.js +197 -0
  50. package/dist/mobile-header/MobileHeader.js.map +1 -0
  51. package/dist/mobile-header/MobileHeaderMainMenu.js +46 -0
  52. package/dist/mobile-header/MobileHeaderMainMenu.js.map +1 -0
  53. package/dist/mobile-header/MobileHeaderUserMenu.js +38 -0
  54. package/dist/mobile-header/MobileHeaderUserMenu.js.map +1 -0
  55. package/dist/mobile-header/MobileLoggedOutItems.js +27 -0
  56. package/dist/mobile-header/MobileLoggedOutItems.js.map +1 -0
  57. package/dist/mobile-header/MobileUserMenuToggle.js +19 -0
  58. package/dist/mobile-header/MobileUserMenuToggle.js.map +1 -0
  59. package/dist/plugin-slots/CourseInfoSlot/README.md +128 -0
  60. package/dist/plugin-slots/CourseInfoSlot/images/add_custom_components_before_and_after_course_info.png +0 -0
  61. package/dist/plugin-slots/CourseInfoSlot/images/replace_course_info_with_custom_component.png +0 -0
  62. package/dist/plugin-slots/CourseInfoSlot/images/replace_course_title.png +0 -0
  63. package/dist/plugin-slots/CourseInfoSlot/index.js +32 -0
  64. package/dist/plugin-slots/CourseInfoSlot/index.js.map +1 -0
  65. package/dist/plugin-slots/DesktopHeaderSlot/README.md +44 -0
  66. package/dist/plugin-slots/DesktopHeaderSlot/images/desktop_header_custom_component.png +0 -0
  67. package/dist/plugin-slots/DesktopHeaderSlot/index.js +16 -0
  68. package/dist/plugin-slots/DesktopHeaderSlot/index.js.map +1 -0
  69. package/dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md +137 -0
  70. package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_component.png +0 -0
  71. package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_components_before_after.png +0 -0
  72. package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_modify_items.png +0 -0
  73. package/dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js +20 -0
  74. package/dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js.map +1 -0
  75. package/dist/plugin-slots/DesktopMainMenuSlot/README.md +137 -0
  76. package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_component.png +0 -0
  77. package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_components_before_after.png +0 -0
  78. package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_modify_items.png +0 -0
  79. package/dist/plugin-slots/DesktopMainMenuSlot/index.js +20 -0
  80. package/dist/plugin-slots/DesktopMainMenuSlot/index.js.map +1 -0
  81. package/dist/plugin-slots/DesktopSecondaryMenuSlot/README.md +132 -0
  82. package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_component.png +0 -0
  83. package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_components_before_after.png +0 -0
  84. package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_modify_items.png +0 -0
  85. package/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js +20 -0
  86. package/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map +1 -0
  87. package/dist/plugin-slots/DesktopUserMenuSlot/README.md +144 -0
  88. package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_component.png +0 -0
  89. package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_components_before_after.png +0 -0
  90. package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_modify_items.png +0 -0
  91. package/dist/plugin-slots/DesktopUserMenuSlot/index.js +20 -0
  92. package/dist/plugin-slots/DesktopUserMenuSlot/index.js.map +1 -0
  93. package/dist/plugin-slots/DesktopUserMenuToggleSlot/README.md +74 -0
  94. package/dist/plugin-slots/DesktopUserMenuToggleSlot/images/desktop_user_menu_custom_component.png +0 -0
  95. package/dist/plugin-slots/DesktopUserMenuToggleSlot/images/desktop_user_menu_modified_toggle.png +0 -0
  96. package/dist/plugin-slots/DesktopUserMenuToggleSlot/index.js +19 -0
  97. package/dist/plugin-slots/DesktopUserMenuToggleSlot/index.js.map +1 -0
  98. package/dist/plugin-slots/LearningHelpSlot/README.md +44 -0
  99. package/dist/plugin-slots/LearningHelpSlot/images/learning_help_custom_component.png +0 -0
  100. package/dist/plugin-slots/LearningHelpSlot/index.js +11 -0
  101. package/dist/plugin-slots/LearningHelpSlot/index.js.map +1 -0
  102. package/dist/plugin-slots/LearningLoggedOutItemsSlot/README.md +135 -0
  103. package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_component.png +0 -0
  104. package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_components_before_after.png +0 -0
  105. package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_modified_items.png +0 -0
  106. package/dist/plugin-slots/LearningLoggedOutItemsSlot/index.js +18 -0
  107. package/dist/plugin-slots/LearningLoggedOutItemsSlot/index.js.map +1 -0
  108. package/dist/plugin-slots/LearningUserMenuSlot/README.md +133 -0
  109. package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_component.png +0 -0
  110. package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_components_before_after.png +0 -0
  111. package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_modified_items.png +0 -0
  112. package/dist/plugin-slots/LearningUserMenuSlot/index.js +18 -0
  113. package/dist/plugin-slots/LearningUserMenuSlot/index.js.map +1 -0
  114. package/dist/plugin-slots/LearningUserMenuToggleSlot/README.md +74 -0
  115. package/dist/plugin-slots/LearningUserMenuToggleSlot/images/learning_user_menu_toggle_custom_component.png +0 -0
  116. package/dist/plugin-slots/LearningUserMenuToggleSlot/images/learning_user_menu_toggle_modified_items.png +0 -0
  117. package/dist/plugin-slots/LearningUserMenuToggleSlot/index.js +19 -0
  118. package/dist/plugin-slots/LearningUserMenuToggleSlot/index.js.map +1 -0
  119. package/dist/plugin-slots/LogoSlot/README.md +72 -0
  120. package/dist/plugin-slots/LogoSlot/index.js +27 -0
  121. package/dist/plugin-slots/LogoSlot/index.js.map +1 -0
  122. package/dist/plugin-slots/MobileHeaderSlot/README.md +44 -0
  123. package/dist/plugin-slots/MobileHeaderSlot/images/mobile_header_custom_component.png +0 -0
  124. package/dist/plugin-slots/MobileHeaderSlot/index.js +16 -0
  125. package/dist/plugin-slots/MobileHeaderSlot/index.js.map +1 -0
  126. package/dist/plugin-slots/MobileLoggedOutItemsSlot/README.md +136 -0
  127. package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_component.png +0 -0
  128. package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_components_before_after.png +0 -0
  129. package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_modify_items.png +0 -0
  130. package/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js +20 -0
  131. package/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map +1 -0
  132. package/dist/plugin-slots/MobileMainMenuSlot/README.md +136 -0
  133. package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_component.png +0 -0
  134. package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_components_before_after.png +0 -0
  135. package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_modify_items.png +0 -0
  136. package/dist/plugin-slots/MobileMainMenuSlot/index.js +20 -0
  137. package/dist/plugin-slots/MobileMainMenuSlot/index.js.map +1 -0
  138. package/dist/plugin-slots/MobileUserMenuSlot/README.md +144 -0
  139. package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_component.png +0 -0
  140. package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_components_before_after.png +0 -0
  141. package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_modify_items.png +0 -0
  142. package/dist/plugin-slots/MobileUserMenuSlot/index.js +20 -0
  143. package/dist/plugin-slots/MobileUserMenuSlot/index.js.map +1 -0
  144. package/dist/plugin-slots/MobileUserMenuToggleSlot/README.md +74 -0
  145. package/dist/plugin-slots/MobileUserMenuToggleSlot/images/mobile_user_menu_toggle_custom_component.png +0 -0
  146. package/dist/plugin-slots/MobileUserMenuToggleSlot/images/mobile_user_menu_toggle_modified_items.png +0 -0
  147. package/dist/plugin-slots/MobileUserMenuToggleSlot/index.js +19 -0
  148. package/dist/plugin-slots/MobileUserMenuToggleSlot/index.js.map +1 -0
  149. package/dist/plugin-slots/README.md +26 -0
  150. package/dist/setupTest.js +0 -2
  151. package/dist/studio-header/BrandNav.test.tsx +40 -0
  152. package/dist/studio-header/BrandNav.tsx +25 -0
  153. package/dist/studio-header/CourseLockUp.test.tsx +59 -0
  154. package/dist/studio-header/CourseLockUp.tsx +56 -0
  155. package/dist/studio-header/HeaderBody.test.tsx +102 -0
  156. package/dist/studio-header/HeaderBody.tsx +196 -0
  157. package/dist/studio-header/MobileHeader.tsx +74 -0
  158. package/dist/studio-header/MobileMenu.test.tsx +81 -0
  159. package/dist/studio-header/MobileMenu.tsx +50 -0
  160. package/dist/studio-header/NavDropdownMenu.test.tsx +67 -0
  161. package/dist/studio-header/NavDropdownMenu.tsx +42 -0
  162. package/dist/studio-header/StudioHeader.scss +8 -10
  163. package/dist/studio-header/StudioHeader.test.tsx +220 -0
  164. package/dist/studio-header/StudioHeader.tsx +84 -0
  165. package/dist/studio-header/UserMenu.tsx +69 -0
  166. package/dist/studio-header/{index.js → index.ts} +1 -1
  167. package/dist/studio-header/{messages.js → messages.ts} +15 -14
  168. package/dist/studio-header/utils.ts +37 -0
  169. package/dist/test-utils.js +12 -4
  170. package/dist/test-utils.js.map +1 -1
  171. package/package.json +1 -1
  172. package/dist/DesktopHeader.js +0 -242
  173. package/dist/DesktopHeader.js.map +0 -1
  174. package/dist/MobileHeader.js +0 -244
  175. package/dist/MobileHeader.js.map +0 -1
  176. package/dist/studio-header/BrandNav.js +0 -21
  177. package/dist/studio-header/BrandNav.js.map +0 -1
  178. package/dist/studio-header/CourseLockUp.js +0 -45
  179. package/dist/studio-header/CourseLockUp.js.map +0 -1
  180. package/dist/studio-header/HeaderBody.js +0 -131
  181. package/dist/studio-header/HeaderBody.js.map +0 -1
  182. package/dist/studio-header/MobileHeader.js +0 -79
  183. package/dist/studio-header/MobileHeader.js.map +0 -1
  184. package/dist/studio-header/MobileMenu.js +0 -45
  185. package/dist/studio-header/MobileMenu.js.map +0 -1
  186. package/dist/studio-header/NavDropdownMenu.js +0 -30
  187. package/dist/studio-header/NavDropdownMenu.js.map +0 -1
  188. package/dist/studio-header/StudioHeader.js +0 -72
  189. package/dist/studio-header/StudioHeader.js.map +0 -1
  190. package/dist/studio-header/UserMenu.js +0 -55
  191. package/dist/studio-header/UserMenu.js.map +0 -1
  192. package/dist/studio-header/index.js.map +0 -1
  193. package/dist/studio-header/messages.js.map +0 -1
  194. package/dist/studio-header/utils.js +0 -29
  195. package/dist/studio-header/utils.js.map +0 -1
@@ -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":";;;;;;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,oBAAoB,QAAQ,6BAA6B;;AAElE;AACA,SAASC,IAAI,EAAEC,WAAW,EAAEC,WAAW,QAAQ,QAAQ;AACvD,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAASC,UAAU,EAAEC,IAAI,QAAQ,QAAQ;;AAEzC;AACA,OAAOC,QAAQ,MAAM,mBAAmB;;AAExC;AACA,SAASC,SAAS,QAAQ,SAAS;AACnC,OAAOC,gBAAgB,MAAM,oBAAoB;AAAC,IAE5CC,aAAa,0BAAAC,gBAAA;EACjB,SAAAD,cAAYE,KAAK,EAAE;IAAAC,eAAA,OAAAH,aAAA;IAAE;IAAA,OAAAI,UAAA,OAAAJ,aAAA,GACbE,KAAK;EACb;EAACG,SAAA,CAAAL,aAAA,EAAAC,gBAAA;EAAA,OAAAK,YAAA,CAAAN,aAAA;IAAAO,GAAA;IAAAC,KAAA,EAED,SAAAC,WAAWC,IAAI,EAAE;MACf;MACA,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;QACxB,OAAOA,IAAI;MACb;MAEA,OAAOA,IAAI,CAACG,GAAG,CAAC,UAACC,QAAQ,EAAK;QAC5B,IACEC,IAAI,GAMFD,QAAQ,CANVC,IAAI;UACJC,IAAI,GAKFF,QAAQ,CALVE,IAAI;UACJC,OAAO,GAILH,QAAQ,CAJVG,OAAO;UACPC,cAAc,GAGZJ,QAAQ,CAHVI,cAAc;UACdC,QAAQ,GAENL,QAAQ,CAFVK,QAAQ;UACRC,QAAQ,GACNN,QAAQ,CADVM,QAAQ;QAGV,IAAIL,IAAI,KAAK,MAAM,EAAE;UACnB,oBACE9B,KAAA,CAAAoC,aAAA;YACEd,GAAG,KAAAe,MAAA,CAAKP,IAAI,OAAAO,MAAA,CAAIL,OAAO,CAAG;YAC1BM,SAAS,aAAAD,MAAA,CAAaH,QAAQ,GAAG,WAAW,GAAG,EAAE,EAAAG,MAAA,CAAGF,QAAQ,GAAG,SAAS,GAAG,EAAE,CAAG;YAChFJ,IAAI,EAAEA;UAAK,GAEVC,OACA,CAAC;QAER;QAEA,oBACEhC,KAAA,CAAAoC,aAAA,CAAC9B,IAAI;UAACgB,GAAG,KAAAe,MAAA,CAAKP,IAAI,OAAAO,MAAA,CAAIL,OAAO,CAAG;UAACO,GAAG,EAAC,KAAK;UAACD,SAAS,EAAC,UAAU;UAACE,sBAAsB;QAAA,gBACpFxC,KAAA,CAAAoC,aAAA,CAAC7B,WAAW;UAACgC,GAAG,EAAC,GAAG;UAACD,SAAS,EAAC,2CAA2C;UAACP,IAAI,EAAEA;QAAK,GACnFC,OAAO,EAAC,GAAC,eAAAhC,KAAA,CAAAoC,aAAA,CAACvB,SAAS;UAAC4B,IAAI,EAAC,KAAK;UAAC,mBAAW;UAACC,SAAS,EAAC;QAAO,CAAE,CACpD,CAAC,eACd1C,KAAA,CAAAoC,aAAA,CAAC5B,WAAW;UAAC8B,SAAS,EAAC;QAAgC,GACpDL,cACU,CACT,CAAC;MAEX,CAAC,CAAC;IACJ;EAAC;IAAAX,GAAA;IAAAC,KAAA,EAED,SAAAoB,eAAA,EAAiB;MACf,IAAQC,QAAQ,GAAK,IAAI,CAAC3B,KAAK,CAAvB2B,QAAQ;MAChB,OAAO,IAAI,CAACpB,UAAU,CAACoB,QAAQ,CAAC;IAClC;EAAC;IAAAtB,GAAA;IAAAC,KAAA,EAED,SAAAsB,oBAAA,EAAsB;MACpB,IAAQC,aAAa,GAAK,IAAI,CAAC7B,KAAK,CAA5B6B,aAAa;MACrB,OAAO,IAAI,CAACtB,UAAU,CAACsB,aAAa,CAAC;IACvC;EAAC;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAwB,eAAA,EAAiB;MACf,IAAAC,WAAA,GAKI,IAAI,CAAC/B,KAAK;QAJZgC,QAAQ,GAAAD,WAAA,CAARC,QAAQ;QACRC,MAAM,GAAAF,WAAA,CAANE,MAAM;QACNC,QAAQ,GAAAH,WAAA,CAARG,QAAQ;QACRC,IAAI,GAAAJ,WAAA,CAAJI,IAAI;MAGN,oBACEpD,KAAA,CAAAoC,aAAA,CAAC9B,IAAI;QAAC+C,mBAAmB,EAAC,eAAe;QAACC,iBAAiB,EAAE;MAAI,gBAC/DtD,KAAA,CAAAoC,aAAA,CAAC7B,WAAW;QACVgC,GAAG,EAAC,QAAQ;QACZ,cAAYa,IAAI,CAACG,aAAa,CAAC3C,QAAQ,CAAC,+BAA+B,CAAC,EAAE;UAAEuC,QAAQ,EAARA;QAAS,CAAC,CAAE;QACxFb,SAAS,EAAC;MAAoE,gBAE9EtC,KAAA,CAAAoC,aAAA,CAAC3B,MAAM;QAAC+C,IAAI,EAAC,OAAO;QAACC,GAAG,EAAEP,MAAO;QAACQ,GAAG,EAAC,EAAE;QAACpB,SAAS,EAAC;MAAM,CAAE,CAAC,EAC3Da,QAAQ,EAAC,GAAC,eAAAnD,KAAA,CAAAoC,aAAA,CAACvB,SAAS;QAAC4B,IAAI,EAAC,KAAK;QAAC,mBAAW;QAACC,SAAS,EAAC;MAAO,CAAE,CACrD,CAAC,eACd1C,KAAA,CAAAoC,aAAA,CAAC5B,WAAW;QAAC8B,SAAS,EAAC;MAAmE,GACvFW,QAAQ,CAACrB,GAAG,CAAC,UAAC+B,KAAK,EAAEC,KAAK;QAAA;UAAA;UACzB;UACA5D,KAAA,CAAAoC,aAAA,CAACpC,KAAK,CAAC6D,QAAQ;YAACvC,GAAG,EAAEsC;UAAM,GACxBD,KAAK,CAACG,OAAO,iBAAI9D,KAAA,CAAAoC,aAAA;YAAKE,SAAS,EAAC,iBAAiB;YAACG,IAAI,EAAC,SAAS;YAAC,cAAW;UAAG,GAAEkB,KAAK,CAACG,OAAa,CAAC,EACrGH,KAAK,CAACI,KAAK,CAACnC,GAAG,CAAC,UAAAoC,IAAA;YAAA,IACflC,IAAI,GAAAkC,IAAA,CAAJlC,IAAI;cAAEE,OAAO,GAAAgC,IAAA,CAAPhC,OAAO;cAAED,IAAI,GAAAiC,IAAA,CAAJjC,IAAI;cAAEG,QAAQ,GAAA8B,IAAA,CAAR9B,QAAQ;cAAEC,QAAQ,GAAA6B,IAAA,CAAR7B,QAAQ;YAAA,oBAEvCnC,KAAA,CAAAoC,aAAA;cACEE,SAAS,cAAAD,MAAA,CAAcP,IAAI,EAAAO,MAAA,CAAGF,QAAQ,GAAG,SAAS,GAAG,EAAE,EAAAE,MAAA,CAAGH,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAG;cACxFZ,GAAG,KAAAe,MAAA,CAAKP,IAAI,OAAAO,MAAA,CAAIL,OAAO,CAAG;cAC1BD,IAAI,EAAEA;YAAK,GAEVC,OACA,CAAC;UAAA,CACL,CAAC,EACD4B,KAAK,GAAGX,QAAQ,CAACgB,MAAM,GAAG,CAAC,iBAAIjE,KAAA,CAAAoC,aAAA;YAAKE,SAAS,EAAC,kBAAkB;YAACG,IAAI,EAAC;UAAW,CAAE,CACtE;QAAC;MAAA,CAClB,CACU,CACT,CAAC;IAEX;EAAC;IAAAnB,GAAA;IAAAC,KAAA,EAED,SAAA2C,qBAAA,EAAuB;MACrB,IAAQC,cAAc,GAAK,IAAI,CAAClD,KAAK,CAA7BkD,cAAc;MAEtB,OAAOA,cAAc,CAACvC,GAAG,CAAC,UAACwC,IAAI,EAAEC,CAAC,EAAEC,GAAG;QAAA,oBACrCtE,KAAA,CAAAoC,aAAA;UACEd,GAAG,KAAAe,MAAA,CAAK+B,IAAI,CAACtC,IAAI,OAAAO,MAAA,CAAI+B,IAAI,CAACpC,OAAO,CAAG;UACpCM,SAAS,EAAE+B,CAAC,GAAGC,GAAG,CAACL,MAAM,GAAG,CAAC,GAAG,mBAAmB,GAAG,8BAA+B;UACrFlC,IAAI,EAAEqC,IAAI,CAACrC;QAAK,GAEfqC,IAAI,CAACpC,OACL,CAAC;MAAA,CACL,CAAC;IACJ;EAAC;IAAAV,GAAA;IAAAC,KAAA,EAED,SAAAgD,OAAA,EAAS;MACP,IAAAC,YAAA,GAMI,IAAI,CAACvD,KAAK;QALZwD,IAAI,GAAAD,YAAA,CAAJC,IAAI;QACJC,WAAW,GAAAF,YAAA,CAAXE,WAAW;QACXC,eAAe,GAAAH,YAAA,CAAfG,eAAe;QACfC,QAAQ,GAAAJ,YAAA,CAARI,QAAQ;QACRxB,IAAI,GAAAoB,YAAA,CAAJpB,IAAI;MAEN,IAAMyB,SAAS,GAAG;QAAEpB,GAAG,EAAEgB,IAAI;QAAEf,GAAG,EAAEgB,WAAW;QAAE3C,IAAI,EAAE4C;MAAgB,CAAC;MACxE,IAAMG,WAAW,GAAG1E,SAAS,CAAC,CAAC,CAAC2E,oBAAoB,GAAG,QAAQ,GAAG,IAAI;MAEtE,oBACE/E,KAAA,CAAAoC,aAAA;QAAQE,SAAS,EAAC;MAAqB,gBACrCtC,KAAA,CAAAoC,aAAA;QAAGE,SAAS,EAAC,oCAAoC;QAACP,IAAI,EAAC;MAAO,GAAEqB,IAAI,CAACG,aAAa,CAAC3C,QAAQ,CAAC,uBAAuB,CAAC,CAAK,CAAC,eAC1HZ,KAAA,CAAAoC,aAAA;QAAKE,SAAS,qBAAAD,MAAA,CAAqByC,WAAW;MAAG,gBAC/C9E,KAAA,CAAAoC,aAAA;QAAKE,SAAS,EAAC;MAA2D,GACvEqC,eAAe,KAAK,IAAI,gBAAG3E,KAAA,CAAAoC,aAAA,CAACzB,IAAI;QAAC2B,SAAS,EAAC,MAAM;QAACmB,GAAG,EAAEgB,IAAK;QAACf,GAAG,EAAEgB;MAAY,CAAE,CAAC,gBAAG1E,KAAA,CAAAoC,aAAA,CAAC1B,UAAU,EAAAsE,QAAA;QAAC1C,SAAS,EAAC;MAAM,GAAKuC,SAAS,CAAG,CAAC,eACnI7E,KAAA,CAAAoC,aAAA;QACE,cAAYgB,IAAI,CAACG,aAAa,CAAC3C,QAAQ,CAAC,uBAAuB,CAAC,CAAE;QAClE0B,SAAS,EAAC;MAAsB,GAE/B,IAAI,CAACK,cAAc,CAAC,CAClB,CAAC,EACLvC,SAAS,CAAC,CAAC,CAAC6E,2BAA2B,iBACtCjF,KAAA,CAAAoC,aAAA;QAAKE,SAAS,EAAC;MAAM,gBACnBtC,KAAA,CAAAoC,aAAA,CAACtB,gBAAgB;QACfoE,OAAO,EAAEC,IAAI,CAACC,KAAK,CAAChF,SAAS,CAAC,CAAC,CAACiF,wBAAwB,CAAE;QAC1DC,iBAAiB,EAAEjF,oBAAoB,CAAC;MAAE,CAC3C,CACE,CACN,eACDL,KAAA,CAAAoC,aAAA;QACE,cAAYgB,IAAI,CAACG,aAAa,CAAC3C,QAAQ,CAAC,4BAA4B,CAAC,CAAE;QACvE0B,SAAS,EAAC;MAAiD,GAE1DsC,QAAQ,gBAEL5E,KAAA,CAAAoC,aAAA,CAAApC,KAAA,CAAA6D,QAAA,QACG,IAAI,CAAChB,mBAAmB,CAAC,CAAC,EAC1B,IAAI,CAACE,cAAc,CAAC,CACrB,CAAC,GACD,IAAI,CAACmB,oBAAoB,CAAC,CAC7B,CACF,CACF,CACC,CAAC;IAEb;EAAC;AAAA,EA/JyBlE,KAAK,CAACuF,SAAS;AAkK3CxE,aAAa,CAACyE,SAAS,GAAG;EACxB5C,QAAQ,EAAE3C,SAAS,CAACwF,SAAS,CAAC,CAC5BxF,SAAS,CAACyF,IAAI,EACdzF,SAAS,CAAC0F,KAAK,CAChB,CAAC;EACF7C,aAAa,EAAE7C,SAAS,CAACwF,SAAS,CAAC,CACjCxF,SAAS,CAACyF,IAAI,EACdzF,SAAS,CAAC0F,KAAK,CAChB,CAAC;EACF1C,QAAQ,EAAEhD,SAAS,CAAC2F,OAAO,CAAC3F,SAAS,CAAC4F,KAAK,CAAC;IAC1C/B,OAAO,EAAE7D,SAAS,CAAC6F,MAAM;IACzB/B,KAAK,EAAE9D,SAAS,CAAC2F,OAAO,CAAC3F,SAAS,CAAC4F,KAAK,CAAC;MACvC/D,IAAI,EAAE7B,SAAS,CAAC8F,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;MACvChE,IAAI,EAAE9B,SAAS,CAAC6F,MAAM;MACtB9D,OAAO,EAAE/B,SAAS,CAAC6F,MAAM;MACzB3D,QAAQ,EAAElC,SAAS,CAAC+F;IACtB,CAAC,CAAC;EACJ,CAAC,CAAC,CAAC;EACH7B,cAAc,EAAElE,SAAS,CAAC2F,OAAO,CAAC3F,SAAS,CAAC4F,KAAK,CAAC;IAChD/D,IAAI,EAAE7B,SAAS,CAAC8F,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvChE,IAAI,EAAE9B,SAAS,CAAC6F,MAAM;IACtB9D,OAAO,EAAE/B,SAAS,CAAC6F;EACrB,CAAC,CAAC,CAAC;EACHrB,IAAI,EAAExE,SAAS,CAAC6F,MAAM;EACtBpB,WAAW,EAAEzE,SAAS,CAAC6F,MAAM;EAC7BnB,eAAe,EAAE1E,SAAS,CAAC6F,MAAM;EACjC5C,MAAM,EAAEjD,SAAS,CAAC6F,MAAM;EACxB3C,QAAQ,EAAElD,SAAS,CAAC6F,MAAM;EAC1BlB,QAAQ,EAAE3E,SAAS,CAAC+F,IAAI;EAExB;EACA5C,IAAI,EAAEjD,SAAS,CAAC8F;AAClB,CAAC;AAEDlF,aAAa,CAACmF,YAAY,GAAG;EAC3BtD,QAAQ,EAAE,EAAE;EACZE,aAAa,EAAE,EAAE;EACjBG,QAAQ,EAAE,EAAE;EACZkB,cAAc,EAAE,EAAE;EAClBM,IAAI,EAAE,IAAI;EACVC,WAAW,EAAE,IAAI;EACjBC,eAAe,EAAE,IAAI;EACrBzB,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,IAAI;EACdyB,QAAQ,EAAE;AACZ,CAAC;AAED,eAAe1E,UAAU,CAACa,aAAa,CAAC","ignoreList":[]}
@@ -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
@@ -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