@nauedu/frontend-component-header 20.0.0 → 20.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/dist/DesktopHeader.js +242 -0
  2. package/dist/DesktopHeader.js.map +1 -0
  3. package/dist/Header.js +9 -13
  4. package/dist/Header.js.map +1 -1
  5. package/dist/Header.test.jsx +0 -3
  6. package/dist/Icons.js +1 -1
  7. package/dist/LanguageSelector/data/api.js +5 -13
  8. package/dist/LanguageSelector/data/api.js.map +1 -1
  9. package/dist/LanguageSelector/index.js +4 -12
  10. package/dist/LanguageSelector/index.js.map +1 -1
  11. package/dist/Logo.js +23 -10
  12. package/dist/Logo.js.map +1 -1
  13. package/dist/Menu/Menu.js +11 -11
  14. package/dist/Menu/Menu.js.map +1 -1
  15. package/dist/Menu/menu.scss +6 -6
  16. package/dist/MobileHeader.js +244 -0
  17. package/dist/MobileHeader.js.map +1 -0
  18. package/dist/__snapshots__/Header.test.jsx.snap +0 -2
  19. package/dist/index.scss +15 -27
  20. package/dist/learning-header/AnonymousUserMenu.js +8 -11
  21. package/dist/learning-header/AnonymousUserMenu.js.map +1 -1
  22. package/dist/learning-header/AuthenticatedUserDropdown.js +24 -32
  23. package/dist/learning-header/AuthenticatedUserDropdown.js.map +1 -1
  24. package/dist/learning-header/LearningHeader.js +14 -15
  25. package/dist/learning-header/LearningHeader.js.map +1 -1
  26. package/dist/learning-header/data/api.js +4 -12
  27. package/dist/learning-header/data/api.js.map +1 -1
  28. package/dist/learning-header/data/api.test.js +95 -92
  29. package/dist/learning-header/data/api.test.js.map +1 -1
  30. package/dist/learning-header/messages.js +0 -5
  31. package/dist/learning-header/messages.js.map +1 -1
  32. package/dist/setupTest.js +2 -0
  33. package/dist/studio-header/BrandNav.js +21 -0
  34. package/dist/studio-header/BrandNav.js.map +1 -0
  35. package/dist/studio-header/CourseLockUp.js +45 -0
  36. package/dist/studio-header/CourseLockUp.js.map +1 -0
  37. package/dist/studio-header/HeaderBody.js +131 -0
  38. package/dist/studio-header/HeaderBody.js.map +1 -0
  39. package/dist/studio-header/MobileHeader.js +79 -0
  40. package/dist/studio-header/MobileHeader.js.map +1 -0
  41. package/dist/studio-header/MobileMenu.js +45 -0
  42. package/dist/studio-header/MobileMenu.js.map +1 -0
  43. package/dist/studio-header/NavDropdownMenu.js +30 -0
  44. package/dist/studio-header/NavDropdownMenu.js.map +1 -0
  45. package/dist/studio-header/StudioHeader.js +72 -0
  46. package/dist/studio-header/StudioHeader.js.map +1 -0
  47. package/dist/studio-header/StudioHeader.scss +10 -8
  48. package/dist/studio-header/UserMenu.js +55 -0
  49. package/dist/studio-header/UserMenu.js.map +1 -0
  50. package/dist/studio-header/{index.ts → index.js} +1 -1
  51. package/dist/studio-header/index.js.map +1 -0
  52. package/dist/studio-header/{messages.ts → messages.js} +14 -15
  53. package/dist/studio-header/messages.js.map +1 -0
  54. package/dist/studio-header/utils.js +29 -0
  55. package/dist/studio-header/utils.js.map +1 -0
  56. package/dist/test-utils.js +4 -12
  57. package/dist/test-utils.js.map +1 -1
  58. package/package.json +1 -1
  59. package/dist/desktop-header/DesktopHeader.js +0 -172
  60. package/dist/desktop-header/DesktopHeader.js.map +0 -1
  61. package/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js +0 -51
  62. package/dist/desktop-header/DesktopHeaderMainOrSecondaryMenu.js.map +0 -1
  63. package/dist/desktop-header/DesktopHeaderUserMenu.js +0 -49
  64. package/dist/desktop-header/DesktopHeaderUserMenu.js.map +0 -1
  65. package/dist/desktop-header/DesktopLoggedOutItems.js +0 -22
  66. package/dist/desktop-header/DesktopLoggedOutItems.js.map +0 -1
  67. package/dist/desktop-header/DesktopUserMenuToggle.js +0 -25
  68. package/dist/desktop-header/DesktopUserMenuToggle.js.map +0 -1
  69. package/dist/frontend-platform.d.ts +0 -41
  70. package/dist/learning-header/LearningHeaderCourseInfo.js +0 -24
  71. package/dist/learning-header/LearningHeaderCourseInfo.js.map +0 -1
  72. package/dist/learning-header/LearningHeaderHelpLink.js +0 -13
  73. package/dist/learning-header/LearningHeaderHelpLink.js.map +0 -1
  74. package/dist/learning-header/LearningHeaderUserMenuItems.js +0 -20
  75. package/dist/learning-header/LearningHeaderUserMenuItems.js.map +0 -1
  76. package/dist/learning-header/LearningLoggedOutButtons.js +0 -24
  77. package/dist/learning-header/LearningLoggedOutButtons.js.map +0 -1
  78. package/dist/learning-header/LearningUserMenuToggle.js +0 -26
  79. package/dist/learning-header/LearningUserMenuToggle.js.map +0 -1
  80. package/dist/mobile-header/MobileHeader.js +0 -197
  81. package/dist/mobile-header/MobileHeader.js.map +0 -1
  82. package/dist/mobile-header/MobileHeaderMainMenu.js +0 -46
  83. package/dist/mobile-header/MobileHeaderMainMenu.js.map +0 -1
  84. package/dist/mobile-header/MobileHeaderUserMenu.js +0 -38
  85. package/dist/mobile-header/MobileHeaderUserMenu.js.map +0 -1
  86. package/dist/mobile-header/MobileLoggedOutItems.js +0 -27
  87. package/dist/mobile-header/MobileLoggedOutItems.js.map +0 -1
  88. package/dist/mobile-header/MobileUserMenuToggle.js +0 -19
  89. package/dist/mobile-header/MobileUserMenuToggle.js.map +0 -1
  90. package/dist/plugin-slots/CourseInfoSlot/README.md +0 -128
  91. package/dist/plugin-slots/CourseInfoSlot/images/add_custom_components_before_and_after_course_info.png +0 -0
  92. package/dist/plugin-slots/CourseInfoSlot/images/replace_course_info_with_custom_component.png +0 -0
  93. package/dist/plugin-slots/CourseInfoSlot/images/replace_course_title.png +0 -0
  94. package/dist/plugin-slots/CourseInfoSlot/index.js +0 -32
  95. package/dist/plugin-slots/CourseInfoSlot/index.js.map +0 -1
  96. package/dist/plugin-slots/DesktopHeaderSlot/README.md +0 -44
  97. package/dist/plugin-slots/DesktopHeaderSlot/images/desktop_header_custom_component.png +0 -0
  98. package/dist/plugin-slots/DesktopHeaderSlot/index.js +0 -16
  99. package/dist/plugin-slots/DesktopHeaderSlot/index.js.map +0 -1
  100. package/dist/plugin-slots/DesktopLoggedOutItemsSlot/README.md +0 -137
  101. package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_component.png +0 -0
  102. package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_custom_components_before_after.png +0 -0
  103. package/dist/plugin-slots/DesktopLoggedOutItemsSlot/images/desktop_logged_out_items_modify_items.png +0 -0
  104. package/dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js +0 -20
  105. package/dist/plugin-slots/DesktopLoggedOutItemsSlot/index.js.map +0 -1
  106. package/dist/plugin-slots/DesktopMainMenuSlot/README.md +0 -137
  107. package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_component.png +0 -0
  108. package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_custom_components_before_after.png +0 -0
  109. package/dist/plugin-slots/DesktopMainMenuSlot/images/desktop_main_menu_modify_items.png +0 -0
  110. package/dist/plugin-slots/DesktopMainMenuSlot/index.js +0 -20
  111. package/dist/plugin-slots/DesktopMainMenuSlot/index.js.map +0 -1
  112. package/dist/plugin-slots/DesktopSecondaryMenuSlot/README.md +0 -132
  113. package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_component.png +0 -0
  114. package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_custom_components_before_after.png +0 -0
  115. package/dist/plugin-slots/DesktopSecondaryMenuSlot/images/desktop_secondary_menu_modify_items.png +0 -0
  116. package/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js +0 -20
  117. package/dist/plugin-slots/DesktopSecondaryMenuSlot/index.js.map +0 -1
  118. package/dist/plugin-slots/DesktopUserMenuSlot/README.md +0 -144
  119. package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_component.png +0 -0
  120. package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_custom_components_before_after.png +0 -0
  121. package/dist/plugin-slots/DesktopUserMenuSlot/images/desktop_user_menu_modify_items.png +0 -0
  122. package/dist/plugin-slots/DesktopUserMenuSlot/index.js +0 -20
  123. package/dist/plugin-slots/DesktopUserMenuSlot/index.js.map +0 -1
  124. package/dist/plugin-slots/DesktopUserMenuToggleSlot/README.md +0 -74
  125. package/dist/plugin-slots/DesktopUserMenuToggleSlot/images/desktop_user_menu_custom_component.png +0 -0
  126. package/dist/plugin-slots/DesktopUserMenuToggleSlot/images/desktop_user_menu_modified_toggle.png +0 -0
  127. package/dist/plugin-slots/DesktopUserMenuToggleSlot/index.js +0 -19
  128. package/dist/plugin-slots/DesktopUserMenuToggleSlot/index.js.map +0 -1
  129. package/dist/plugin-slots/LearningHelpSlot/README.md +0 -44
  130. package/dist/plugin-slots/LearningHelpSlot/images/learning_help_custom_component.png +0 -0
  131. package/dist/plugin-slots/LearningHelpSlot/index.js +0 -11
  132. package/dist/plugin-slots/LearningHelpSlot/index.js.map +0 -1
  133. package/dist/plugin-slots/LearningLoggedOutItemsSlot/README.md +0 -135
  134. package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_component.png +0 -0
  135. package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_custom_components_before_after.png +0 -0
  136. package/dist/plugin-slots/LearningLoggedOutItemsSlot/images/learning_logged_out_items_modified_items.png +0 -0
  137. package/dist/plugin-slots/LearningLoggedOutItemsSlot/index.js +0 -18
  138. package/dist/plugin-slots/LearningLoggedOutItemsSlot/index.js.map +0 -1
  139. package/dist/plugin-slots/LearningUserMenuSlot/README.md +0 -133
  140. package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_component.png +0 -0
  141. package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_custom_components_before_after.png +0 -0
  142. package/dist/plugin-slots/LearningUserMenuSlot/images/learning_user_menu_modified_items.png +0 -0
  143. package/dist/plugin-slots/LearningUserMenuSlot/index.js +0 -18
  144. package/dist/plugin-slots/LearningUserMenuSlot/index.js.map +0 -1
  145. package/dist/plugin-slots/LearningUserMenuToggleSlot/README.md +0 -74
  146. package/dist/plugin-slots/LearningUserMenuToggleSlot/images/learning_user_menu_toggle_custom_component.png +0 -0
  147. package/dist/plugin-slots/LearningUserMenuToggleSlot/images/learning_user_menu_toggle_modified_items.png +0 -0
  148. package/dist/plugin-slots/LearningUserMenuToggleSlot/index.js +0 -19
  149. package/dist/plugin-slots/LearningUserMenuToggleSlot/index.js.map +0 -1
  150. package/dist/plugin-slots/LogoSlot/README.md +0 -72
  151. package/dist/plugin-slots/LogoSlot/index.js +0 -27
  152. package/dist/plugin-slots/LogoSlot/index.js.map +0 -1
  153. package/dist/plugin-slots/MobileHeaderSlot/README.md +0 -44
  154. package/dist/plugin-slots/MobileHeaderSlot/images/mobile_header_custom_component.png +0 -0
  155. package/dist/plugin-slots/MobileHeaderSlot/index.js +0 -16
  156. package/dist/plugin-slots/MobileHeaderSlot/index.js.map +0 -1
  157. package/dist/plugin-slots/MobileLoggedOutItemsSlot/README.md +0 -136
  158. package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_component.png +0 -0
  159. package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_custom_components_before_after.png +0 -0
  160. package/dist/plugin-slots/MobileLoggedOutItemsSlot/images/mobile_logged_out_items_modify_items.png +0 -0
  161. package/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js +0 -20
  162. package/dist/plugin-slots/MobileLoggedOutItemsSlot/index.js.map +0 -1
  163. package/dist/plugin-slots/MobileMainMenuSlot/README.md +0 -136
  164. package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_component.png +0 -0
  165. package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_custom_components_before_after.png +0 -0
  166. package/dist/plugin-slots/MobileMainMenuSlot/images/mobile_main_menu_modify_items.png +0 -0
  167. package/dist/plugin-slots/MobileMainMenuSlot/index.js +0 -20
  168. package/dist/plugin-slots/MobileMainMenuSlot/index.js.map +0 -1
  169. package/dist/plugin-slots/MobileUserMenuSlot/README.md +0 -144
  170. package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_component.png +0 -0
  171. package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_custom_components_before_after.png +0 -0
  172. package/dist/plugin-slots/MobileUserMenuSlot/images/mobile_user_menu_modify_items.png +0 -0
  173. package/dist/plugin-slots/MobileUserMenuSlot/index.js +0 -20
  174. package/dist/plugin-slots/MobileUserMenuSlot/index.js.map +0 -1
  175. package/dist/plugin-slots/MobileUserMenuToggleSlot/README.md +0 -74
  176. package/dist/plugin-slots/MobileUserMenuToggleSlot/images/mobile_user_menu_toggle_custom_component.png +0 -0
  177. package/dist/plugin-slots/MobileUserMenuToggleSlot/images/mobile_user_menu_toggle_modified_items.png +0 -0
  178. package/dist/plugin-slots/MobileUserMenuToggleSlot/index.js +0 -19
  179. package/dist/plugin-slots/MobileUserMenuToggleSlot/index.js.map +0 -1
  180. package/dist/plugin-slots/README.md +0 -26
  181. package/dist/studio-header/BrandNav.test.tsx +0 -40
  182. package/dist/studio-header/BrandNav.tsx +0 -25
  183. package/dist/studio-header/CourseLockUp.test.tsx +0 -59
  184. package/dist/studio-header/CourseLockUp.tsx +0 -56
  185. package/dist/studio-header/HeaderBody.test.tsx +0 -102
  186. package/dist/studio-header/HeaderBody.tsx +0 -196
  187. package/dist/studio-header/MobileHeader.tsx +0 -74
  188. package/dist/studio-header/MobileMenu.test.tsx +0 -81
  189. package/dist/studio-header/MobileMenu.tsx +0 -50
  190. package/dist/studio-header/NavDropdownMenu.test.tsx +0 -67
  191. package/dist/studio-header/NavDropdownMenu.tsx +0 -42
  192. package/dist/studio-header/StudioHeader.test.tsx +0 -220
  193. package/dist/studio-header/StudioHeader.tsx +0 -84
  194. package/dist/studio-header/UserMenu.tsx +0 -69
  195. package/dist/studio-header/utils.ts +0 -37
@@ -0,0 +1,242 @@
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
@@ -0,0 +1 @@
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/Header.js CHANGED
@@ -1,17 +1,17 @@
1
- function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
2
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
- function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
5
- function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
6
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
7
7
  import React, { useContext } from 'react';
8
8
  import Responsive from 'react-responsive';
9
9
  import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
10
10
  import { AppContext } from '@edx/frontend-platform/react';
11
11
  import { APP_PUBSUB_INITIALIZED, ensureConfig, mergeConfig, getConfig, subscribe } from '@edx/frontend-platform';
12
12
  import PropTypes from 'prop-types';
13
- import DesktopHeaderSlot from './plugin-slots/DesktopHeaderSlot';
14
- import MobileHeaderSlot from './plugin-slots/MobileHeaderSlot';
13
+ import DesktopHeader from './DesktopHeader';
14
+ import MobileHeader from './MobileHeader';
15
15
  import messages from './Header.messages';
16
16
  ensureConfig(['LMS_BASE_URL', 'LOGOUT_URL', 'LOGIN_URL', 'SITE_NAME', 'LOGO_URL', 'ORDER_HISTORY_URL'], 'Header component');
17
17
  subscribe(APP_PUBSUB_INITIALIZED, function () {
@@ -99,13 +99,9 @@ var Header = function Header(_ref) {
99
99
  };
100
100
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Responsive, {
101
101
  maxWidth: 769
102
- }, /*#__PURE__*/React.createElement(MobileHeaderSlot, {
103
- props: props
104
- })), /*#__PURE__*/React.createElement(Responsive, {
102
+ }, /*#__PURE__*/React.createElement(MobileHeader, props)), /*#__PURE__*/React.createElement(Responsive, {
105
103
  minWidth: 769
106
- }, /*#__PURE__*/React.createElement(DesktopHeaderSlot, {
107
- props: props
108
- })));
104
+ }, /*#__PURE__*/React.createElement(DesktopHeader, props)));
109
105
  };
110
106
  Header.defaultProps = {
111
107
  mainMenuItems: null,
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","names":["React","useContext","Responsive","injectIntl","intlShape","AppContext","APP_PUBSUB_INITIALIZED","ensureConfig","mergeConfig","getConfig","subscribe","PropTypes","DesktopHeaderSlot","MobileHeaderSlot","messages","AUTHN_MINIMAL_HEADER","process","env","ENABLE_ORG_LOGO","Header","_ref","intl","mainMenuItems","secondaryMenuItems","userMenuItems","_useContext","authenticatedUser","config","defaultMainMenu","type","href","concat","LMS_BASE_URL","content","formatMessage","defaultUserMenu","heading","items","ACCOUNT_PROFILE_URL","username","ACCOUNT_SETTINGS_URL","_toConsumableArray","ORDER_HISTORY_URL","LOGOUT_URL","mainMenu","secondaryMenu","userMenu","loggedOutItems","LOGIN_URL","props","logo","LOGO_URL","logoAltText","SITE_NAME","logoDestination","loggedIn","avatar","createElement","Fragment","maxWidth","minWidth","defaultProps","propTypes","isRequired","oneOfType","node","array","arrayOf","shape","string","oneOf","isActive","bool"],"sources":["../src/Header.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport Responsive from 'react-responsive';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\nimport {\n APP_PUBSUB_INITIALIZED,\n ensureConfig,\n mergeConfig,\n getConfig,\n subscribe,\n} from '@edx/frontend-platform';\n\nimport PropTypes from 'prop-types';\nimport DesktopHeaderSlot from './plugin-slots/DesktopHeaderSlot';\nimport MobileHeaderSlot from './plugin-slots/MobileHeaderSlot';\n\nimport messages from './Header.messages';\n\nensureConfig([\n 'LMS_BASE_URL',\n 'LOGOUT_URL',\n 'LOGIN_URL',\n 'SITE_NAME',\n 'LOGO_URL',\n 'ORDER_HISTORY_URL',\n], 'Header component');\n\nsubscribe(APP_PUBSUB_INITIALIZED, () => {\n mergeConfig({\n AUTHN_MINIMAL_HEADER: !!process.env.AUTHN_MINIMAL_HEADER,\n ENABLE_ORG_LOGO: !!process.env.ENABLE_ORG_LOGO,\n }, 'Header additional config');\n});\n\n/**\n * Header component for the application.\n * Displays a header with the provided main menu, secondary menu, and user menu when the user is authenticated.\n * If any of the props (mainMenuItems, secondaryMenuItems, userMenuItems) are not provided, default\n * items are displayed.\n * For more details on how to use this component, please refer to this document:\n * https://github.com/openedx/frontend-component-header/blob/master/docs/using_custom_header.rst\n *\n * @param {list} mainMenuItems - The list of main menu items to display.\n * See the documentation for the structure of main menu item.\n * @param {list} secondaryMenuItems - The list of secondary menu items to display.\n * See the documentation for the structure of secondary menu item.\n * @param {list} userMenuItems - The list of user menu items to display.\n * See the documentation for the structure of user menu item.\n */\nconst Header = ({\n intl, mainMenuItems, secondaryMenuItems, userMenuItems,\n}) => {\n const { authenticatedUser, config } = useContext(AppContext);\n\n const defaultMainMenu = [\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/dashboard`,\n content: intl.formatMessage(messages['header.links.courses']),\n },\n ];\n const defaultUserMenu = authenticatedUser === null ? [] : [{\n heading: '',\n items: [\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/dashboard`,\n content: intl.formatMessage(messages['header.user.menu.dashboard']),\n },\n {\n type: 'item',\n href: `${config.ACCOUNT_PROFILE_URL}/u/${authenticatedUser.username}`,\n content: intl.formatMessage(messages['header.user.menu.profile']),\n },\n {\n type: 'item',\n href: config.ACCOUNT_SETTINGS_URL,\n content: intl.formatMessage(messages['header.user.menu.account.settings']),\n },\n // Users should only see Order History if have a ORDER_HISTORY_URL define in the environment.\n ...(config.ORDER_HISTORY_URL ? [{\n type: 'item',\n href: config.ORDER_HISTORY_URL,\n content: intl.formatMessage(messages['header.user.menu.order.history']),\n }] : []),\n {\n type: 'item',\n href: config.LOGOUT_URL,\n content: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ],\n }];\n\n const mainMenu = mainMenuItems || defaultMainMenu;\n const secondaryMenu = secondaryMenuItems || [];\n const userMenu = authenticatedUser === null ? [] : userMenuItems || defaultUserMenu;\n\n const loggedOutItems = [\n {\n type: 'item',\n href: config.LOGIN_URL,\n content: intl.formatMessage(messages['header.user.menu.login']),\n },\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/register`,\n content: intl.formatMessage(messages['header.user.menu.register']),\n },\n ];\n\n const props = {\n logo: config.LOGO_URL,\n logoAltText: config.SITE_NAME,\n logoDestination: `${config.LMS_BASE_URL}/dashboard`,\n loggedIn: authenticatedUser !== null,\n username: authenticatedUser !== null ? authenticatedUser.username : null,\n avatar: authenticatedUser !== null ? authenticatedUser.avatar : null,\n mainMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : mainMenu,\n secondaryMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : secondaryMenu,\n userMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : userMenu,\n loggedOutItems: getConfig().AUTHN_MINIMAL_HEADER ? [] : loggedOutItems,\n };\n\n return (\n <>\n <Responsive maxWidth={769}>\n <MobileHeaderSlot props={props} />\n </Responsive>\n <Responsive minWidth={769}>\n <DesktopHeaderSlot props={props} />\n </Responsive>\n </>\n );\n};\n\nHeader.defaultProps = {\n mainMenuItems: null,\n secondaryMenuItems: null,\n userMenuItems: null,\n};\n\nHeader.propTypes = {\n intl: intlShape.isRequired,\n mainMenuItems: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n secondaryMenuItems: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n userMenuItems: 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};\n\nexport default injectIntl(Header);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Header.js","names":["React","useContext","Responsive","injectIntl","intlShape","AppContext","APP_PUBSUB_INITIALIZED","ensureConfig","mergeConfig","getConfig","subscribe","PropTypes","DesktopHeader","MobileHeader","messages","AUTHN_MINIMAL_HEADER","process","env","ENABLE_ORG_LOGO","Header","_ref","intl","mainMenuItems","secondaryMenuItems","userMenuItems","_useContext","authenticatedUser","config","defaultMainMenu","type","href","concat","LMS_BASE_URL","content","formatMessage","defaultUserMenu","heading","items","ACCOUNT_PROFILE_URL","username","ACCOUNT_SETTINGS_URL","_toConsumableArray","ORDER_HISTORY_URL","LOGOUT_URL","mainMenu","secondaryMenu","userMenu","loggedOutItems","LOGIN_URL","props","logo","LOGO_URL","logoAltText","SITE_NAME","logoDestination","loggedIn","avatar","createElement","Fragment","maxWidth","minWidth","defaultProps","propTypes","isRequired","oneOfType","node","array","arrayOf","shape","string","oneOf","isActive","bool"],"sources":["../src/Header.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport Responsive from 'react-responsive';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\nimport {\n APP_PUBSUB_INITIALIZED,\n ensureConfig,\n mergeConfig,\n getConfig,\n subscribe,\n} from '@edx/frontend-platform';\n\nimport PropTypes from 'prop-types';\nimport DesktopHeader from './DesktopHeader';\nimport MobileHeader from './MobileHeader';\n\nimport messages from './Header.messages';\n\nensureConfig([\n 'LMS_BASE_URL',\n 'LOGOUT_URL',\n 'LOGIN_URL',\n 'SITE_NAME',\n 'LOGO_URL',\n 'ORDER_HISTORY_URL',\n], 'Header component');\n\nsubscribe(APP_PUBSUB_INITIALIZED, () => {\n mergeConfig({\n AUTHN_MINIMAL_HEADER: !!process.env.AUTHN_MINIMAL_HEADER,\n ENABLE_ORG_LOGO: !!process.env.ENABLE_ORG_LOGO,\n }, 'Header additional config');\n});\n\n/**\n * Header component for the application.\n * Displays a header with the provided main menu, secondary menu, and user menu when the user is authenticated.\n * If any of the props (mainMenuItems, secondaryMenuItems, userMenuItems) are not provided, default\n * items are displayed.\n * For more details on how to use this component, please refer to this document:\n * https://github.com/openedx/frontend-component-header/blob/master/docs/using_custom_header.rst\n *\n * @param {list} mainMenuItems - The list of main menu items to display.\n * See the documentation for the structure of main menu item.\n * @param {list} secondaryMenuItems - The list of secondary menu items to display.\n * See the documentation for the structure of secondary menu item.\n * @param {list} userMenuItems - The list of user menu items to display.\n * See the documentation for the structure of user menu item.\n */\nconst Header = ({\n intl, mainMenuItems, secondaryMenuItems, userMenuItems,\n}) => {\n const { authenticatedUser, config } = useContext(AppContext);\n\n const defaultMainMenu = [\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/dashboard`,\n content: intl.formatMessage(messages['header.links.courses']),\n },\n ];\n const defaultUserMenu = authenticatedUser === null ? [] : [{\n heading: '',\n items: [\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/dashboard`,\n content: intl.formatMessage(messages['header.user.menu.dashboard']),\n },\n {\n type: 'item',\n href: `${config.ACCOUNT_PROFILE_URL}/u/${authenticatedUser.username}`,\n content: intl.formatMessage(messages['header.user.menu.profile']),\n },\n {\n type: 'item',\n href: config.ACCOUNT_SETTINGS_URL,\n content: intl.formatMessage(messages['header.user.menu.account.settings']),\n },\n // Users should only see Order History if have a ORDER_HISTORY_URL define in the environment.\n ...(config.ORDER_HISTORY_URL ? [{\n type: 'item',\n href: config.ORDER_HISTORY_URL,\n content: intl.formatMessage(messages['header.user.menu.order.history']),\n }] : []),\n {\n type: 'item',\n href: config.LOGOUT_URL,\n content: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ],\n }];\n\n const mainMenu = mainMenuItems || defaultMainMenu;\n const secondaryMenu = secondaryMenuItems || [];\n const userMenu = authenticatedUser === null ? [] : userMenuItems || defaultUserMenu;\n\n const loggedOutItems = [\n {\n type: 'item',\n href: config.LOGIN_URL,\n content: intl.formatMessage(messages['header.user.menu.login']),\n },\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/register`,\n content: intl.formatMessage(messages['header.user.menu.register']),\n },\n ];\n\n const props = {\n logo: config.LOGO_URL,\n logoAltText: config.SITE_NAME,\n logoDestination: `${config.LMS_BASE_URL}/dashboard`,\n loggedIn: authenticatedUser !== null,\n username: authenticatedUser !== null ? authenticatedUser.username : null,\n avatar: authenticatedUser !== null ? authenticatedUser.avatar : null,\n mainMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : mainMenu,\n secondaryMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : secondaryMenu,\n userMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : userMenu,\n loggedOutItems: getConfig().AUTHN_MINIMAL_HEADER ? [] : loggedOutItems,\n };\n\n return (\n <>\n <Responsive maxWidth={769}>\n <MobileHeader {...props} />\n </Responsive>\n <Responsive minWidth={769}>\n <DesktopHeader {...props} />\n </Responsive>\n </>\n );\n};\n\nHeader.defaultProps = {\n mainMenuItems: null,\n secondaryMenuItems: null,\n userMenuItems: null,\n};\n\nHeader.propTypes = {\n intl: intlShape.isRequired,\n mainMenuItems: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n secondaryMenuItems: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.array,\n ]),\n userMenuItems: 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};\n\nexport default injectIntl(Header);\n"],"mappings":"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","ignoreList":[]}
@@ -33,7 +33,6 @@ describe('<Header />', () => {
33
33
  };
34
34
  const component = <HeaderComponent width={{ width: 1280 }} contextValue={contextValue} />;
35
35
 
36
- // FIXME: react-test-renderer is deprecated. Convert to @testing-library/react.
37
36
  const wrapper = TestRenderer.create(component);
38
37
 
39
38
  expect(wrapper.toJSON()).toMatchSnapshot();
@@ -57,7 +56,6 @@ describe('<Header />', () => {
57
56
  };
58
57
  const component = <HeaderComponent width={{ width: 1280 }} contextValue={contextValue} />;
59
58
 
60
- // FIXME: react-test-renderer is deprecated. Convert to @testing-library/react.
61
59
  const wrapper = TestRenderer.create(component);
62
60
 
63
61
  expect(wrapper.toJSON()).toMatchSnapshot();
@@ -76,7 +74,6 @@ describe('<Header />', () => {
76
74
  };
77
75
  const component = <HeaderComponent width={{ width: 500 }} contextValue={contextValue} />;
78
76
 
79
- // FIXME: react-test-renderer is deprecated. Convert to @testing-library/react.
80
77
  const wrapper = TestRenderer.create(component);
81
78
 
82
79
  expect(wrapper.toJSON()).toMatchSnapshot();
package/dist/Icons.js CHANGED
@@ -1,4 +1,4 @@
1
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
1
+ 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); }
2
2
  import React from 'react';
3
3
  export var MenuIcon = function MenuIcon(props) {
4
4
  return /*#__PURE__*/React.createElement("svg", _extends({
@@ -1,15 +1,7 @@
1
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 _regeneratorRuntime() { "use strict"; var r = _regenerator(), e = r.m(_regeneratorRuntime), t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor; function n(r) { var e = "function" == typeof r && r.constructor; return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name)); } var o = { "throw": 1, "return": 2, "break": 3, "continue": 3 }; function a(r) { var e, t; return function (n) { e || (e = { stop: function stop() { return t(n.a, 2); }, "catch": function _catch() { return n.v; }, abrupt: function abrupt(r, e) { return t(n.a, o[r], e); }, delegateYield: function delegateYield(r, o, a) { return e.resultName = o, t(n.d, _regeneratorValues(r), a); }, finish: function finish(r) { return t(n.f, r); } }, t = function t(r, _t, o) { n.p = e.prev, n.n = e.next; try { return r(_t, o); } finally { e.next = n.n; } }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n; try { return r.call(this, e); } finally { n.p = e.prev, n.n = e.next; } }; } return (_regeneratorRuntime = function _regeneratorRuntime() { return { wrap: function wrap(e, t, n, o) { return r.w(a(e), t, n, o && o.reverse()); }, isGeneratorFunction: n, mark: r.m, awrap: function awrap(r, e) { return new _OverloadYield(r, e); }, AsyncIterator: _regeneratorAsyncIterator, async: function async(r, e, t, o, u) { return (n(e) ? _regeneratorAsyncGen : _regeneratorAsync)(a(r), e, t, o, u); }, keys: _regeneratorKeys, values: _regeneratorValues }; })(); }
3
- function _regeneratorValues(e) { if (null != e) { var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"], r = 0; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) return { next: function next() { return e && r >= e.length && (e = void 0), { value: e && e[r++], done: !e }; } }; } throw new TypeError(_typeof(e) + " is not iterable"); }
4
- function _regeneratorKeys(e) { var n = Object(e), r = []; for (var t in n) r.unshift(t); return function e() { for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e; return e.done = !0, e; }; }
5
- function _regeneratorAsync(n, e, r, t, o) { var a = _regeneratorAsyncGen(n, e, r, t, o); return a.next().then(function (n) { return n.done ? n.value : a.next(); }); }
6
- function _regeneratorAsyncGen(r, e, t, o, n) { return new _regeneratorAsyncIterator(_regenerator().w(r, e, t, o), n || Promise); }
7
- function _regeneratorAsyncIterator(t, e) { function n(r, o, i, f) { try { var c = t[r](o), u = c.value; return u instanceof _OverloadYield ? e.resolve(u.v).then(function (t) { n("next", t, i, f); }, function (t) { n("throw", t, i, f); }) : e.resolve(u).then(function (t) { c.value = t, i(c); }, function (t) { return n("throw", t, i, f); }); } catch (t) { f(t); } } var r; this.next || (_regeneratorDefine2(_regeneratorAsyncIterator.prototype), _regeneratorDefine2(_regeneratorAsyncIterator.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function () { return this; })), _regeneratorDefine2(this, "_invoke", function (t, o, i) { function f() { return new e(function (e, r) { n(t, i, e, r); }); } return r = r ? r.then(f, f) : f(); }, !0); }
8
- function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
9
- function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
10
- function _OverloadYield(e, d) { this.v = e, this.k = d; }
11
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
12
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
2
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
13
5
  import { getConfig } from '@edx/frontend-platform';
14
6
  import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';
15
7
  import { convertKeyNames, snakeCaseObject } from '@edx/frontend-platform/utils';
@@ -17,7 +9,7 @@ export function patchPreferences(_x, _x2) {
17
9
  return _patchPreferences.apply(this, arguments);
18
10
  }
19
11
  function _patchPreferences() {
20
- _patchPreferences = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(username, params) {
12
+ _patchPreferences = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(username, params) {
21
13
  var processedParams;
22
14
  return _regeneratorRuntime().wrap(function _callee$(_context) {
23
15
  while (1) switch (_context.prev = _context.next) {
@@ -46,7 +38,7 @@ export function postSetLang(_x3) {
46
38
  return _postSetLang.apply(this, arguments);
47
39
  }
48
40
  function _postSetLang() {
49
- _postSetLang = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(code) {
41
+ _postSetLang = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(code) {
50
42
  var formData, requestConfig, url;
51
43
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
52
44
  while (1) switch (_context2.prev = _context2.next) {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_OverloadYield","k","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","getConfig","getAuthenticatedHttpClient","convertKeyNames","snakeCaseObject","patchPreferences","_x","_x2","_patchPreferences","_regeneratorRuntime","mark","_callee","username","params","processedParams","wrap","_callee$","_context","prev","next","pref_lang","patch","concat","LMS_BASE_URL","headers","abrupt","stop","postSetLang","_x3","_postSetLang","_callee2","code","formData","requestConfig","url","_callee2$","_context2","FormData","Accept","append","post"],"sources":["../../../src/LanguageSelector/data/api.js"],"sourcesContent":["import { getConfig } from '@edx/frontend-platform';\nimport { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';\nimport { convertKeyNames, snakeCaseObject } from '@edx/frontend-platform/utils';\n\nexport async function patchPreferences(username, params) {\n let processedParams = snakeCaseObject(params);\n processedParams = convertKeyNames(processedParams, {\n pref_lang: 'pref-lang',\n });\n\n await getAuthenticatedHttpClient()\n .patch(`${getConfig().LMS_BASE_URL}/api/user/v1/preferences/${username}`, processedParams, {\n headers: { 'Content-Type': 'application/merge-patch+json' },\n });\n\n return params;\n}\n\nexport async function postSetLang(code) {\n const formData = new FormData();\n const requestConfig = {\n headers: {\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n },\n };\n const url = `${getConfig().LMS_BASE_URL}/i18n/setlang/`;\n formData.append('language', code);\n\n await getAuthenticatedHttpClient()\n .post(url, formData, requestConfig);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"api.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","getConfig","getAuthenticatedHttpClient","convertKeyNames","snakeCaseObject","patchPreferences","_x","_x2","_patchPreferences","_callee","username","params","processedParams","_callee$","_context","pref_lang","patch","concat","LMS_BASE_URL","headers","postSetLang","_x3","_postSetLang","_callee2","code","formData","requestConfig","url","_callee2$","_context2","FormData","Accept","append","post"],"sources":["../../../src/LanguageSelector/data/api.js"],"sourcesContent":["import { getConfig } from '@edx/frontend-platform';\nimport { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';\nimport { convertKeyNames, snakeCaseObject } from '@edx/frontend-platform/utils';\n\nexport async function patchPreferences(username, params) {\n let processedParams = snakeCaseObject(params);\n processedParams = convertKeyNames(processedParams, {\n pref_lang: 'pref-lang',\n });\n\n await getAuthenticatedHttpClient()\n .patch(`${getConfig().LMS_BASE_URL}/api/user/v1/preferences/${username}`, processedParams, {\n headers: { 'Content-Type': 'application/merge-patch+json' },\n });\n\n return params;\n}\n\nexport async function postSetLang(code) {\n const formData = new FormData();\n const requestConfig = {\n headers: {\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n },\n };\n const url = `${getConfig().LMS_BASE_URL}/i18n/setlang/`;\n formData.append('language', code);\n\n await getAuthenticatedHttpClient()\n .post(url, formData, requestConfig);\n}\n"],"mappings":"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","ignoreList":[]}