@nauedu/frontend-component-header 14.0.0-semantically-released → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.rst +107 -33
  2. package/dist/Avatar.js +5 -7
  3. package/dist/Avatar.js.map +1 -1
  4. package/dist/DesktopHeader.js +88 -71
  5. package/dist/DesktopHeader.js.map +1 -1
  6. package/dist/Header.js +79 -39
  7. package/dist/Header.js.map +1 -1
  8. package/dist/Header.messages.js +15 -0
  9. package/dist/Header.messages.js.map +1 -1
  10. package/dist/Header.test.jsx +67 -90
  11. package/dist/Icons.js +1 -2
  12. package/dist/Icons.js.map +1 -1
  13. package/dist/Logo.js +11 -21
  14. package/dist/Logo.js.map +1 -1
  15. package/dist/Menu/Menu.js +42 -88
  16. package/dist/Menu/Menu.js.map +1 -1
  17. package/dist/Menu/index.js.map +1 -1
  18. package/dist/MobileHeader.js +80 -76
  19. package/dist/MobileHeader.js.map +1 -1
  20. package/dist/__snapshots__/Header.test.jsx.snap +8 -8
  21. package/dist/generic/messages.js.map +1 -1
  22. package/dist/i18n/index.js +1 -30
  23. package/dist/i18n/index.js.map +1 -1
  24. package/dist/index.js +2 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/index.scss +11 -1
  27. package/dist/learning-header/AnonymousUserMenu.js +3 -5
  28. package/dist/learning-header/AnonymousUserMenu.js.map +1 -1
  29. package/dist/learning-header/AuthenticatedUserDropdown.js +8 -10
  30. package/dist/learning-header/AuthenticatedUserDropdown.js.map +1 -1
  31. package/dist/learning-header/LearningHeader.js +22 -42
  32. package/dist/learning-header/LearningHeader.js.map +1 -1
  33. package/dist/learning-header/_header.scss +5 -2
  34. package/dist/learning-header/data/api.js +30 -42
  35. package/dist/learning-header/data/api.js.map +1 -1
  36. package/dist/learning-header/data/api.test.js +124 -175
  37. package/dist/learning-header/data/api.test.js.map +1 -1
  38. package/dist/learning-header/messages.js.map +1 -1
  39. package/dist/setupTest.js +9 -13
  40. package/dist/studio-header/BrandNav.js +21 -0
  41. package/dist/studio-header/BrandNav.js.map +1 -0
  42. package/dist/studio-header/CourseLockUp.js +45 -0
  43. package/dist/studio-header/CourseLockUp.js.map +1 -0
  44. package/dist/studio-header/HeaderBody.js +131 -0
  45. package/dist/studio-header/HeaderBody.js.map +1 -0
  46. package/dist/studio-header/MobileHeader.js +79 -0
  47. package/dist/studio-header/MobileHeader.js.map +1 -0
  48. package/dist/studio-header/MobileMenu.js +45 -0
  49. package/dist/studio-header/MobileMenu.js.map +1 -0
  50. package/dist/studio-header/NavDropdownMenu.js +30 -0
  51. package/dist/studio-header/NavDropdownMenu.js.map +1 -0
  52. package/dist/studio-header/StudioHeader.js +72 -0
  53. package/dist/studio-header/StudioHeader.js.map +1 -0
  54. package/dist/studio-header/StudioHeader.scss +49 -0
  55. package/dist/studio-header/UserMenu.js +55 -0
  56. package/dist/studio-header/UserMenu.js.map +1 -0
  57. package/dist/studio-header/index.js +3 -0
  58. package/dist/studio-header/index.js.map +1 -0
  59. package/dist/studio-header/messages.js +60 -0
  60. package/dist/studio-header/messages.js.map +1 -0
  61. package/dist/studio-header/utils.js +29 -0
  62. package/dist/studio-header/utils.js.map +1 -0
  63. package/dist/test-utils.js +26 -0
  64. package/dist/test-utils.js.map +1 -0
  65. package/package.json +33 -33
  66. package/dist/i18n/messages/ar.json +0 -30
  67. package/dist/i18n/messages/ca.json +0 -1
  68. package/dist/i18n/messages/es_419.json +0 -30
  69. package/dist/i18n/messages/fr.json +0 -30
  70. package/dist/i18n/messages/fr_CA.json +0 -30
  71. package/dist/i18n/messages/he.json +0 -1
  72. package/dist/i18n/messages/id.json +0 -1
  73. package/dist/i18n/messages/ko_KR.json +0 -2
  74. package/dist/i18n/messages/pl.json +0 -1
  75. package/dist/i18n/messages/pt_BR.json +0 -2
  76. package/dist/i18n/messages/ru.json +0 -1
  77. package/dist/i18n/messages/th.json +0 -1
  78. package/dist/i18n/messages/uk.json +0 -1
  79. package/dist/i18n/messages/zh_CN.json +0 -30
package/dist/Header.js CHANGED
@@ -1,57 +1,81 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(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; }
1
7
  import React, { useContext } from 'react';
2
8
  import Responsive from 'react-responsive';
3
9
  import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
4
10
  import { AppContext } from '@edx/frontend-platform/react';
5
11
  import { APP_CONFIG_INITIALIZED, ensureConfig, mergeConfig, getConfig, subscribe } from '@edx/frontend-platform';
12
+ import PropTypes from 'prop-types';
6
13
  import DesktopHeader from './DesktopHeader';
7
14
  import MobileHeader from './MobileHeader';
8
15
  import messages from './Header.messages';
9
16
  ensureConfig(['LMS_BASE_URL', 'LOGOUT_URL', 'LOGIN_URL', 'SITE_NAME', 'LOGO_URL', 'ORDER_HISTORY_URL'], 'Header component');
10
17
  subscribe(APP_CONFIG_INITIALIZED, function () {
11
18
  mergeConfig({
12
- AUTHN_MINIMAL_HEADER: !!process.env.AUTHN_MINIMAL_HEADER
19
+ AUTHN_MINIMAL_HEADER: !!process.env.AUTHN_MINIMAL_HEADER,
20
+ ENABLE_ORG_LOGO: !!process.env.ENABLE_ORG_LOGO
13
21
  }, 'Header additional config');
14
22
  });
15
23
 
16
- function Header(_ref) {
17
- var intl = _ref.intl;
18
-
24
+ /**
25
+ * Header component for the application.
26
+ * Displays a header with the provided main menu, secondary menu, and user menu when the user is authenticated.
27
+ * If any of the props (mainMenuItems, secondaryMenuItems, userMenuItems) are not provided, default
28
+ * items are displayed.
29
+ * For more details on how to use this component, please refer to this document:
30
+ * https://github.com/openedx/frontend-component-header/blob/master/docs/using_custom_header.rst
31
+ *
32
+ * @param {list} mainMenuItems - The list of main menu items to display.
33
+ * See the documentation for the structure of main menu item.
34
+ * @param {list} secondaryMenuItems - The list of secondary menu items to display.
35
+ * See the documentation for the structure of secondary menu item.
36
+ * @param {list} userMenuItems - The list of user menu items to display.
37
+ * See the documentation for the structure of user menu item.
38
+ */
39
+ var Header = function Header(_ref) {
40
+ var intl = _ref.intl,
41
+ mainMenuItems = _ref.mainMenuItems,
42
+ secondaryMenuItems = _ref.secondaryMenuItems,
43
+ userMenuItems = _ref.userMenuItems;
19
44
  var _useContext = useContext(AppContext),
20
- authenticatedUser = _useContext.authenticatedUser,
21
- config = _useContext.config;
22
-
23
- var mainMenu = [{
45
+ authenticatedUser = _useContext.authenticatedUser,
46
+ config = _useContext.config;
47
+ var defaultMainMenu = [{
24
48
  type: 'item',
25
49
  href: "".concat(config.LMS_BASE_URL, "/dashboard"),
26
50
  content: intl.formatMessage(messages['header.links.courses'])
27
51
  }];
28
- var orderHistoryItem = {
29
- type: 'item',
30
- href: config.ORDER_HISTORY_URL,
31
- content: intl.formatMessage(messages['header.user.menu.order.history'])
32
- };
33
- var userMenu = authenticatedUser === null ? [] : [{
34
- type: 'item',
35
- href: "".concat(config.LMS_BASE_URL, "/dashboard"),
36
- content: intl.formatMessage(messages['header.user.menu.dashboard'])
37
- }, {
38
- type: 'item',
39
- href: "".concat(config.LMS_BASE_URL, "/u/").concat(authenticatedUser.username),
40
- content: intl.formatMessage(messages['header.user.menu.profile'])
41
- }, {
42
- type: 'item',
43
- href: "".concat(config.LMS_BASE_URL, "/account/settings"),
44
- content: intl.formatMessage(messages['header.user.menu.account.settings'])
45
- }, {
46
- type: 'item',
47
- href: config.LOGOUT_URL,
48
- content: intl.formatMessage(messages['header.user.menu.logout'])
49
- }]; // Users should only see Order History if have a ORDER_HISTORY_URL define in the environment.
50
-
51
- if (config.ORDER_HISTORY_URL) {
52
- userMenu.splice(-1, 0, orderHistoryItem);
53
- }
54
-
52
+ var defaultUserMenu = authenticatedUser === null ? [] : [{
53
+ heading: '',
54
+ items: [{
55
+ type: 'item',
56
+ href: "".concat(config.LMS_BASE_URL, "/dashboard"),
57
+ content: intl.formatMessage(messages['header.user.menu.dashboard'])
58
+ }, {
59
+ type: 'item',
60
+ href: "".concat(config.ACCOUNT_PROFILE_URL, "/u/").concat(authenticatedUser.username),
61
+ content: intl.formatMessage(messages['header.user.menu.profile'])
62
+ }, {
63
+ type: 'item',
64
+ href: config.ACCOUNT_SETTINGS_URL,
65
+ content: intl.formatMessage(messages['header.user.menu.account.settings'])
66
+ }].concat(_toConsumableArray(config.ORDER_HISTORY_URL ? [{
67
+ type: 'item',
68
+ href: config.ORDER_HISTORY_URL,
69
+ content: intl.formatMessage(messages['header.user.menu.order.history'])
70
+ }] : []), [{
71
+ type: 'item',
72
+ href: config.LOGOUT_URL,
73
+ content: intl.formatMessage(messages['header.user.menu.logout'])
74
+ }])
75
+ }];
76
+ var mainMenu = mainMenuItems || defaultMainMenu;
77
+ var secondaryMenu = secondaryMenuItems || [];
78
+ var userMenu = authenticatedUser === null ? [] : userMenuItems || defaultUserMenu;
55
79
  var loggedOutItems = [{
56
80
  type: 'item',
57
81
  href: config.LOGIN_URL,
@@ -69,18 +93,34 @@ function Header(_ref) {
69
93
  username: authenticatedUser !== null ? authenticatedUser.username : null,
70
94
  avatar: authenticatedUser !== null ? authenticatedUser.avatar : null,
71
95
  mainMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : mainMenu,
96
+ secondaryMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : secondaryMenu,
72
97
  userMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : userMenu,
73
98
  loggedOutItems: getConfig().AUTHN_MINIMAL_HEADER ? [] : loggedOutItems
74
99
  };
75
100
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Responsive, {
76
- maxWidth: 768
101
+ maxWidth: 769
77
102
  }, /*#__PURE__*/React.createElement(MobileHeader, props)), /*#__PURE__*/React.createElement(Responsive, {
78
103
  minWidth: 769
79
104
  }, /*#__PURE__*/React.createElement(DesktopHeader, props)));
80
- }
81
-
105
+ };
106
+ Header.defaultProps = {
107
+ mainMenuItems: null,
108
+ secondaryMenuItems: null,
109
+ userMenuItems: null
110
+ };
82
111
  Header.propTypes = {
83
- intl: intlShape.isRequired
112
+ intl: intlShape.isRequired,
113
+ mainMenuItems: PropTypes.oneOfType([PropTypes.node, PropTypes.array]),
114
+ secondaryMenuItems: PropTypes.oneOfType([PropTypes.node, PropTypes.array]),
115
+ userMenuItems: PropTypes.arrayOf(PropTypes.shape({
116
+ heading: PropTypes.string,
117
+ items: PropTypes.arrayOf(PropTypes.shape({
118
+ type: PropTypes.oneOf(['item', 'menu']),
119
+ href: PropTypes.string,
120
+ content: PropTypes.string,
121
+ isActive: PropTypes.bool
122
+ }))
123
+ }))
84
124
  };
85
125
  export default injectIntl(Header);
86
126
  //# sourceMappingURL=Header.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Header.jsx"],"names":["React","useContext","Responsive","injectIntl","intlShape","AppContext","APP_CONFIG_INITIALIZED","ensureConfig","mergeConfig","getConfig","subscribe","DesktopHeader","MobileHeader","messages","AUTHN_MINIMAL_HEADER","process","env","Header","intl","authenticatedUser","config","mainMenu","type","href","LMS_BASE_URL","content","formatMessage","orderHistoryItem","ORDER_HISTORY_URL","userMenu","username","LOGOUT_URL","splice","loggedOutItems","LOGIN_URL","props","logo","LOGO_URL","logoAltText","SITE_NAME","logoDestination","loggedIn","avatar","propTypes","isRequired"],"mappings":"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","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_CONFIG_INITIALIZED,\n ensureConfig,\n mergeConfig,\n getConfig,\n subscribe,\n} from '@edx/frontend-platform';\n\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_CONFIG_INITIALIZED, () => {\n mergeConfig({\n AUTHN_MINIMAL_HEADER: !!process.env.AUTHN_MINIMAL_HEADER,\n }, 'Header additional config');\n});\n\nfunction Header({ intl }) {\n const { authenticatedUser, config } = useContext(AppContext);\n\n const mainMenu = [\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/dashboard`,\n content: intl.formatMessage(messages['header.links.courses']),\n },\n ];\n\n const orderHistoryItem = {\n type: 'item',\n href: config.ORDER_HISTORY_URL,\n content: intl.formatMessage(messages['header.user.menu.order.history']),\n };\n\n const userMenu = authenticatedUser === null ? [] : [\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.LMS_BASE_URL}/u/${authenticatedUser.username}`,\n content: intl.formatMessage(messages['header.user.menu.profile']),\n },\n {\n type: 'item',\n href: `${config.LMS_BASE_URL}/account/settings`,\n content: intl.formatMessage(messages['header.user.menu.account.settings']),\n },\n {\n type: 'item',\n href: config.LOGOUT_URL,\n content: intl.formatMessage(messages['header.user.menu.logout']),\n },\n ];\n\n // Users should only see Order History if have a ORDER_HISTORY_URL define in the environment.\n if (config.ORDER_HISTORY_URL) {\n userMenu.splice(-1, 0, orderHistoryItem);\n }\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 userMenu: getConfig().AUTHN_MINIMAL_HEADER ? [] : userMenu,\n loggedOutItems: getConfig().AUTHN_MINIMAL_HEADER ? [] : loggedOutItems,\n };\n\n return (\n <>\n <Responsive maxWidth={768}>\n <MobileHeader {...props} />\n </Responsive>\n <Responsive minWidth={769}>\n <DesktopHeader {...props} />\n </Responsive>\n </>\n );\n}\n\nHeader.propTypes = {\n intl: intlShape.isRequired,\n};\n\nexport default injectIntl(Header);\n"],"file":"Header.js"}
1
+ {"version":3,"file":"Header.js","names":["React","useContext","Responsive","injectIntl","intlShape","AppContext","APP_CONFIG_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_CONFIG_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_CONFIG_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":[]}
@@ -55,6 +55,16 @@ var messages = defineMessages({
55
55
  defaultMessage: 'Sign Up',
56
56
  description: 'Link to registration'
57
57
  },
58
+ 'header.user.menu.studio.home': {
59
+ id: 'header.user.menu.studio.home',
60
+ defaultMessage: 'Studio Home',
61
+ description: 'Link to the Studio Home'
62
+ },
63
+ 'header.user.menu.studio.maintenance': {
64
+ id: 'header.user.menu.studio.maintenance',
65
+ defaultMessage: 'Maintenance',
66
+ description: 'Link to the Studio Maintenance'
67
+ },
58
68
  'header.label.account.nav': {
59
69
  id: 'header.label.account.nav',
60
70
  defaultMessage: 'Account',
@@ -94,6 +104,11 @@ var messages = defineMessages({
94
104
  id: 'header.label.skip.nav',
95
105
  defaultMessage: 'Skip to main content',
96
106
  description: 'A link used by screen readers to allow users to skip to the main content of the page.'
107
+ },
108
+ 'header.label.app.nav': {
109
+ id: 'header.label.app.nav',
110
+ defaultMessage: 'App',
111
+ description: 'The aria label for the app Nav'
97
112
  }
98
113
  });
99
114
  export default messages;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Header.messages.jsx"],"names":["defineMessages","messages","id","defaultMessage","description"],"mappings":"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","sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.links.courses': {\n id: 'header.links.courses',\n defaultMessage: 'Courses',\n description: 'Link to the learner course dashboard',\n },\n 'header.links.programs': {\n id: 'header.links.programs',\n defaultMessage: 'Programs',\n description: 'Link to the learner program dashboard',\n },\n 'header.links.content.search': {\n id: 'header.links.content.search',\n defaultMessage: 'Discover New',\n description: 'Link to the content search page',\n },\n 'header.links.schools': {\n id: 'header.links.schools',\n defaultMessage: 'Schools & Partners',\n description: 'Link to the schools and partners landing page',\n },\n 'header.user.menu.dashboard': {\n id: 'header.user.menu.dashboard',\n defaultMessage: 'Dashboard',\n description: 'Link to the user dashboard',\n },\n 'header.user.menu.profile': {\n id: 'header.user.menu.profile',\n defaultMessage: 'Profile',\n description: 'Link to the user profile',\n },\n 'header.user.menu.account.settings': {\n id: 'header.user.menu.account.settings',\n defaultMessage: 'Account',\n description: 'Link to account settings',\n },\n 'header.user.menu.order.history': {\n id: 'header.user.menu.order.history',\n defaultMessage: 'Order History',\n description: 'Link to order history',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.user.menu.login': {\n id: 'header.user.menu.login',\n defaultMessage: 'Login',\n description: 'Login link',\n },\n 'header.user.menu.register': {\n id: 'header.user.menu.register',\n defaultMessage: 'Sign Up',\n description: 'Link to registration',\n },\n 'header.label.account.nav': {\n id: 'header.label.account.nav',\n defaultMessage: 'Account',\n description: 'The aria label for the account menu nav',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.skip.nav': {\n id: 'header.label.skip.nav',\n defaultMessage: 'Skip to main content',\n description: 'A link used by screen readers to allow users to skip to the main content of the page.',\n },\n});\n\nexport default messages;\n"],"file":"Header.messages.js"}
1
+ {"version":3,"file":"Header.messages.js","names":["defineMessages","messages","id","defaultMessage","description"],"sources":["../src/Header.messages.jsx"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n 'header.links.courses': {\n id: 'header.links.courses',\n defaultMessage: 'Courses',\n description: 'Link to the learner course dashboard',\n },\n 'header.links.programs': {\n id: 'header.links.programs',\n defaultMessage: 'Programs',\n description: 'Link to the learner program dashboard',\n },\n 'header.links.content.search': {\n id: 'header.links.content.search',\n defaultMessage: 'Discover New',\n description: 'Link to the content search page',\n },\n 'header.links.schools': {\n id: 'header.links.schools',\n defaultMessage: 'Schools & Partners',\n description: 'Link to the schools and partners landing page',\n },\n 'header.user.menu.dashboard': {\n id: 'header.user.menu.dashboard',\n defaultMessage: 'Dashboard',\n description: 'Link to the user dashboard',\n },\n 'header.user.menu.profile': {\n id: 'header.user.menu.profile',\n defaultMessage: 'Profile',\n description: 'Link to the user profile',\n },\n 'header.user.menu.account.settings': {\n id: 'header.user.menu.account.settings',\n defaultMessage: 'Account',\n description: 'Link to account settings',\n },\n 'header.user.menu.order.history': {\n id: 'header.user.menu.order.history',\n defaultMessage: 'Order History',\n description: 'Link to order history',\n },\n 'header.user.menu.logout': {\n id: 'header.user.menu.logout',\n defaultMessage: 'Logout',\n description: 'Logout link',\n },\n 'header.user.menu.login': {\n id: 'header.user.menu.login',\n defaultMessage: 'Login',\n description: 'Login link',\n },\n 'header.user.menu.register': {\n id: 'header.user.menu.register',\n defaultMessage: 'Sign Up',\n description: 'Link to registration',\n },\n 'header.user.menu.studio.home': {\n id: 'header.user.menu.studio.home',\n defaultMessage: 'Studio Home',\n description: 'Link to the Studio Home',\n },\n 'header.user.menu.studio.maintenance': {\n id: 'header.user.menu.studio.maintenance',\n defaultMessage: 'Maintenance',\n description: 'Link to the Studio Maintenance',\n },\n 'header.label.account.nav': {\n id: 'header.label.account.nav',\n defaultMessage: 'Account',\n description: 'The aria label for the account menu nav',\n },\n 'header.label.account.menu': {\n id: 'header.label.account.menu',\n defaultMessage: 'Account Menu',\n description: 'The aria label for the account menu trigger',\n },\n 'header.label.account.menu.for': {\n id: 'header.label.account.menu.for',\n defaultMessage: 'Account menu for {username}',\n description: 'The aria label for the account menu trigger when the username is displayed in it',\n },\n 'header.label.main.nav': {\n id: 'header.label.main.nav',\n defaultMessage: 'Main',\n description: 'The aria label for the main menu nav',\n },\n 'header.label.main.menu': {\n id: 'header.label.main.menu',\n defaultMessage: 'Main Menu',\n description: 'The aria label for the main menu trigger',\n },\n 'header.label.main.header': {\n id: 'header.label.main.header',\n defaultMessage: 'Main',\n description: 'The aria label for the main header',\n },\n 'header.label.secondary.nav': {\n id: 'header.label.secondary.nav',\n defaultMessage: 'Secondary',\n description: 'The aria label for the seconary nav',\n },\n 'header.label.skip.nav': {\n id: 'header.label.skip.nav',\n defaultMessage: 'Skip to main content',\n description: 'A link used by screen readers to allow users to skip to the main content of the page.',\n },\n 'header.label.app.nav': {\n id: 'header.label.app.nav',\n defaultMessage: 'App',\n description: 'The aria label for the app Nav',\n },\n});\n\nexport default messages;\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* eslint-disable react/prop-types */
1
2
  import React from 'react';
2
3
  import { IntlProvider } from '@edx/frontend-platform/i18n';
3
4
  import TestRenderer from 'react-test-renderer';
@@ -6,28 +7,31 @@ import { Context as ResponsiveContext } from 'react-responsive';
6
7
 
7
8
  import Header from './index';
8
9
 
10
+ const HeaderComponent = ({ width, contextValue }) => (
11
+ <ResponsiveContext.Provider value={width}>
12
+ <IntlProvider locale="en" messages={{}}>
13
+ <AppContext.Provider
14
+ value={contextValue}
15
+ >
16
+ <Header />
17
+ </AppContext.Provider>
18
+ </IntlProvider>
19
+ </ResponsiveContext.Provider>
20
+ );
21
+
9
22
  describe('<Header />', () => {
10
23
  it('renders correctly for anonymous desktop', () => {
11
- const component = (
12
- <ResponsiveContext.Provider value={{ width: 1280 }}>
13
- <IntlProvider locale="en" messages={{}}>
14
- <AppContext.Provider
15
- value={{
16
- authenticatedUser: null,
17
- config: {
18
- LMS_BASE_URL: process.env.LMS_BASE_URL,
19
- SITE_NAME: process.env.SITE_NAME,
20
- LOGIN_URL: process.env.LOGIN_URL,
21
- LOGOUT_URL: process.env.LOGOUT_URL,
22
- LOGO_URL: process.env.LOGO_URL,
23
- },
24
- }}
25
- >
26
- <Header />
27
- </AppContext.Provider>
28
- </IntlProvider>
29
- </ResponsiveContext.Provider>
30
- );
24
+ const contextValue = {
25
+ authenticatedUser: null,
26
+ config: {
27
+ LMS_BASE_URL: process.env.LMS_BASE_URL,
28
+ SITE_NAME: process.env.SITE_NAME,
29
+ LOGIN_URL: process.env.LOGIN_URL,
30
+ LOGOUT_URL: process.env.LOGOUT_URL,
31
+ LOGO_URL: process.env.LOGO_URL,
32
+ },
33
+ };
34
+ const component = <HeaderComponent width={{ width: 1280 }} contextValue={contextValue} />;
31
35
 
32
36
  const wrapper = TestRenderer.create(component);
33
37
 
@@ -35,31 +39,22 @@ describe('<Header />', () => {
35
39
  });
36
40
 
37
41
  it('renders correctly for authenticated desktop', () => {
38
- const component = (
39
- <ResponsiveContext.Provider value={{ width: 1280 }}>
40
- <IntlProvider locale="en" messages={{}}>
41
- <AppContext.Provider
42
- value={{
43
- authenticatedUser: {
44
- userId: 'abc123',
45
- username: 'edX',
46
- roles: [],
47
- administrator: false,
48
- },
49
- config: {
50
- LMS_BASE_URL: process.env.LMS_BASE_URL,
51
- SITE_NAME: process.env.SITE_NAME,
52
- LOGIN_URL: process.env.LOGIN_URL,
53
- LOGOUT_URL: process.env.LOGOUT_URL,
54
- LOGO_URL: process.env.LOGO_URL,
55
- },
56
- }}
57
- >
58
- <Header />
59
- </AppContext.Provider>
60
- </IntlProvider>
61
- </ResponsiveContext.Provider>
62
- );
42
+ const contextValue = {
43
+ authenticatedUser: {
44
+ userId: 'abc123',
45
+ username: 'edX',
46
+ roles: [],
47
+ administrator: false,
48
+ },
49
+ config: {
50
+ LMS_BASE_URL: process.env.LMS_BASE_URL,
51
+ SITE_NAME: process.env.SITE_NAME,
52
+ LOGIN_URL: process.env.LOGIN_URL,
53
+ LOGOUT_URL: process.env.LOGOUT_URL,
54
+ LOGO_URL: process.env.LOGO_URL,
55
+ },
56
+ };
57
+ const component = <HeaderComponent width={{ width: 1280 }} contextValue={contextValue} />;
63
58
 
64
59
  const wrapper = TestRenderer.create(component);
65
60
 
@@ -67,26 +62,17 @@ describe('<Header />', () => {
67
62
  });
68
63
 
69
64
  it('renders correctly for anonymous mobile', () => {
70
- const component = (
71
- <ResponsiveContext.Provider value={{ width: 500 }}>
72
- <IntlProvider locale="en" messages={{}}>
73
- <AppContext.Provider
74
- value={{
75
- authenticatedUser: null,
76
- config: {
77
- LMS_BASE_URL: process.env.LMS_BASE_URL,
78
- SITE_NAME: process.env.SITE_NAME,
79
- LOGIN_URL: process.env.LOGIN_URL,
80
- LOGOUT_URL: process.env.LOGOUT_URL,
81
- LOGO_URL: process.env.LOGO_URL,
82
- },
83
- }}
84
- >
85
- <Header />
86
- </AppContext.Provider>
87
- </IntlProvider>
88
- </ResponsiveContext.Provider>
89
- );
65
+ const contextValue = {
66
+ authenticatedUser: null,
67
+ config: {
68
+ LMS_BASE_URL: process.env.LMS_BASE_URL,
69
+ SITE_NAME: process.env.SITE_NAME,
70
+ LOGIN_URL: process.env.LOGIN_URL,
71
+ LOGOUT_URL: process.env.LOGOUT_URL,
72
+ LOGO_URL: process.env.LOGO_URL,
73
+ },
74
+ };
75
+ const component = <HeaderComponent width={{ width: 500 }} contextValue={contextValue} />;
90
76
 
91
77
  const wrapper = TestRenderer.create(component);
92
78
 
@@ -94,31 +80,22 @@ describe('<Header />', () => {
94
80
  });
95
81
 
96
82
  it('renders correctly for authenticated mobile', () => {
97
- const component = (
98
- <ResponsiveContext.Provider value={{ width: 500 }}>
99
- <IntlProvider locale="en" messages={{}}>
100
- <AppContext.Provider
101
- value={{
102
- authenticatedUser: {
103
- userId: 'abc123',
104
- username: 'edX',
105
- roles: [],
106
- administrator: false,
107
- },
108
- config: {
109
- LMS_BASE_URL: process.env.LMS_BASE_URL,
110
- SITE_NAME: process.env.SITE_NAME,
111
- LOGIN_URL: process.env.LOGIN_URL,
112
- LOGOUT_URL: process.env.LOGOUT_URL,
113
- LOGO_URL: process.env.LOGO_URL,
114
- },
115
- }}
116
- >
117
- <Header />
118
- </AppContext.Provider>
119
- </IntlProvider>
120
- </ResponsiveContext.Provider>
121
- );
83
+ const contextValue = {
84
+ authenticatedUser: {
85
+ userId: 'abc123',
86
+ username: 'edX',
87
+ roles: [],
88
+ administrator: false,
89
+ },
90
+ config: {
91
+ LMS_BASE_URL: process.env.LMS_BASE_URL,
92
+ SITE_NAME: process.env.SITE_NAME,
93
+ LOGIN_URL: process.env.LOGIN_URL,
94
+ LOGOUT_URL: process.env.LOGOUT_URL,
95
+ LOGO_URL: process.env.LOGO_URL,
96
+ },
97
+ };
98
+ const component = <HeaderComponent width={{ width: 500 }} contextValue={contextValue} />;
122
99
 
123
100
  const wrapper = TestRenderer.create(component);
124
101
 
package/dist/Icons.js CHANGED
@@ -1,5 +1,4 @@
1
- function _extends() { _extends = Object.assign || 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
-
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); }
3
2
  import React from 'react';
4
3
  export var MenuIcon = function MenuIcon(props) {
5
4
  return /*#__PURE__*/React.createElement("svg", _extends({
package/dist/Icons.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Icons.jsx"],"names":["React","MenuIcon","props","AvatarIcon","CaretIcon"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAO,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAAC,KAAK;AAAA,sBAC3B;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,MAAM,EAAC,MAFT;AAGE,IAAA,OAAO,EAAC,WAHV;AAIE,IAAA,OAAO,EAAC;AAJV,KAKMA,KALN,gBAOE;AAAM,IAAA,IAAI,EAAC,cAAX;AAA0B,IAAA,CAAC,EAAC,GAA5B;AAAgC,IAAA,CAAC,EAAC,GAAlC;AAAsC,IAAA,KAAK,EAAC,IAA5C;AAAiD,IAAA,MAAM,EAAC;AAAxD,IAPF,eAQE;AAAM,IAAA,IAAI,EAAC,cAAX;AAA0B,IAAA,CAAC,EAAC,GAA5B;AAAgC,IAAA,CAAC,EAAC,IAAlC;AAAuC,IAAA,KAAK,EAAC,IAA7C;AAAkD,IAAA,MAAM,EAAC;AAAzD,IARF,eASE;AAAM,IAAA,IAAI,EAAC,cAAX;AAA0B,IAAA,CAAC,EAAC,GAA5B;AAAgC,IAAA,CAAC,EAAC,IAAlC;AAAuC,IAAA,KAAK,EAAC,IAA7C;AAAkD,IAAA,MAAM,EAAC;AAAzD,IATF,CAD2B;AAAA,CAAtB;AAcP,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAAAD,KAAK;AAAA,sBAC7B;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,MAAM,EAAC,MAFT;AAGE,IAAA,OAAO,EAAC,WAHV;AAIE,IAAA,OAAO,EAAC;AAJV,KAKMA,KALN,gBAOE;AACE,IAAA,CAAC,EAAC,6jBADJ;AAEE,IAAA,IAAI,EAAC;AAFP,IAPF,CAD6B;AAAA,CAAxB;AAeP,OAAO,IAAME,SAAS,GAAG,SAAZA,SAAY,CAAAF,KAAK;AAAA,sBAC5B;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,MAAM,EAAC,MAFT;AAGE,IAAA,OAAO,EAAC,WAHV;AAIE,IAAA,OAAO,EAAC;AAJV,KAKMA,KALN,gBAOE;AACE,IAAA,CAAC,EAAC,0CADJ;AAEE,IAAA,IAAI,EAAC,cAFP;AAGE,IAAA,SAAS,EAAC;AAHZ,IAPF,CAD4B;AAAA,CAAvB","sourcesContent":["import React from 'react';\n\nexport const MenuIcon = props => (\n <svg\n width=\"24px\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n version=\"1.1\"\n {...props}\n >\n <rect fill=\"currentColor\" x=\"2\" y=\"5\" width=\"20\" height=\"2\" />\n <rect fill=\"currentColor\" x=\"2\" y=\"11\" width=\"20\" height=\"2\" />\n <rect fill=\"currentColor\" x=\"2\" y=\"17\" width=\"20\" height=\"2\" />\n </svg>\n);\n\nexport const AvatarIcon = props => (\n <svg\n width=\"24px\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n version=\"1.1\"\n {...props}\n >\n <path\n d=\"M4.10255106,18.1351061 C4.7170266,16.0581859 8.01891846,14.4720277 12,14.4720277 C15.9810815,14.4720277 19.2829734,16.0581859 19.8974489,18.1351061 C21.215206,16.4412566 22,14.3122775 22,12 C22,6.4771525 17.5228475,2 12,2 C6.4771525,2 2,6.4771525 2,12 C2,14.3122775 2.78479405,16.4412566 4.10255106,18.1351061 Z M12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 Z M12,13 C9.790861,13 8,11.209139 8,9 C8,6.790861 9.790861,5 12,5 C14.209139,5 16,6.790861 16,9 C16,11.209139 14.209139,13 12,13 Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport const CaretIcon = props => (\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n {...props}\n >\n <path\n d=\"M7,4 L7,8 L11,8 L11,10 L5,10 L5,4 L7,4 Z\"\n fill=\"currentColor\"\n transform=\"translate(8.000000, 7.000000) rotate(-45.000000) translate(-8.000000, -7.000000) \"\n />\n </svg>\n);\n"],"file":"Icons.js"}
1
+ {"version":3,"file":"Icons.js","names":["React","MenuIcon","props","createElement","_extends","width","height","viewBox","version","fill","x","y","AvatarIcon","d","CaretIcon","transform"],"sources":["../src/Icons.jsx"],"sourcesContent":["import React from 'react';\n\nexport const MenuIcon = (props) => (\n <svg\n width=\"24px\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n version=\"1.1\"\n {...props}\n >\n <rect fill=\"currentColor\" x=\"2\" y=\"5\" width=\"20\" height=\"2\" />\n <rect fill=\"currentColor\" x=\"2\" y=\"11\" width=\"20\" height=\"2\" />\n <rect fill=\"currentColor\" x=\"2\" y=\"17\" width=\"20\" height=\"2\" />\n </svg>\n);\n\nexport const AvatarIcon = (props) => (\n <svg\n width=\"24px\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n version=\"1.1\"\n {...props}\n >\n <path\n d=\"M4.10255106,18.1351061 C4.7170266,16.0581859 8.01891846,14.4720277 12,14.4720277 C15.9810815,14.4720277 19.2829734,16.0581859 19.8974489,18.1351061 C21.215206,16.4412566 22,14.3122775 22,12 C22,6.4771525 17.5228475,2 12,2 C6.4771525,2 2,6.4771525 2,12 C2,14.3122775 2.78479405,16.4412566 4.10255106,18.1351061 Z M12,24 C5.372583,24 0,18.627417 0,12 C0,5.372583 5.372583,0 12,0 C18.627417,0 24,5.372583 24,12 C24,18.627417 18.627417,24 12,24 Z M12,13 C9.790861,13 8,11.209139 8,9 C8,6.790861 9.790861,5 12,5 C14.209139,5 16,6.790861 16,9 C16,11.209139 14.209139,13 12,13 Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport const CaretIcon = (props) => (\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n {...props}\n >\n <path\n d=\"M7,4 L7,8 L11,8 L11,10 L5,10 L5,4 L7,4 Z\"\n fill=\"currentColor\"\n transform=\"translate(8.000000, 7.000000) rotate(-45.000000) translate(-8.000000, -7.000000) \"\n />\n </svg>\n);\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAO,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,KAAK;EAAA,oBAC5BF,KAAA,CAAAG,aAAA,QAAAC,QAAA;IACEC,KAAK,EAAC,MAAM;IACZC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,OAAO,EAAC;EAAK,GACTN,KAAK,gBAETF,KAAA,CAAAG,aAAA;IAAMM,IAAI,EAAC,cAAc;IAACC,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,GAAG;IAACN,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC;EAAG,CAAE,CAAC,eAC9DN,KAAA,CAAAG,aAAA;IAAMM,IAAI,EAAC,cAAc;IAACC,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,IAAI;IAACN,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC;EAAG,CAAE,CAAC,eAC/DN,KAAA,CAAAG,aAAA;IAAMM,IAAI,EAAC,cAAc;IAACC,CAAC,EAAC,GAAG;IAACC,CAAC,EAAC,IAAI;IAACN,KAAK,EAAC,IAAI;IAACC,MAAM,EAAC;EAAG,CAAE,CAC3D,CAAC;AAAA,CACP;AAED,OAAO,IAAMM,UAAU,GAAG,SAAbA,UAAUA,CAAIV,KAAK;EAAA,oBAC9BF,KAAA,CAAAG,aAAA,QAAAC,QAAA;IACEC,KAAK,EAAC,MAAM;IACZC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,OAAO,EAAC;EAAK,GACTN,KAAK,gBAETF,KAAA,CAAAG,aAAA;IACEU,CAAC,EAAC,6jBAA6jB;IAC/jBJ,IAAI,EAAC;EAAc,CACpB,CACE,CAAC;AAAA,CACP;AAED,OAAO,IAAMK,SAAS,GAAG,SAAZA,SAASA,CAAIZ,KAAK;EAAA,oBAC7BF,KAAA,CAAAG,aAAA,QAAAC,QAAA;IACEC,KAAK,EAAC,MAAM;IACZC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,OAAO,EAAC;EAAK,GACTN,KAAK,gBAETF,KAAA,CAAAG,aAAA;IACEU,CAAC,EAAC,0CAA0C;IAC5CJ,IAAI,EAAC,cAAc;IACnBM,SAAS,EAAC;EAAmF,CAC9F,CACE,CAAC;AAAA,CACP","ignoreList":[]}
package/dist/Logo.js CHANGED
@@ -1,37 +1,28 @@
1
1
  var _excluded = ["src", "alt"],
2
- _excluded2 = ["href", "src", "alt"];
3
-
4
- function _extends() { _extends = Object.assign || 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); }
5
-
2
+ _excluded2 = ["href", "src", "alt"];
3
+ 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); }
6
4
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
7
-
8
5
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
9
-
10
6
  import React from 'react';
11
7
  import PropTypes from 'prop-types';
12
-
13
- function Logo(_ref) {
8
+ var Logo = function Logo(_ref) {
14
9
  var src = _ref.src,
15
- alt = _ref.alt,
16
- attributes = _objectWithoutProperties(_ref, _excluded);
17
-
10
+ alt = _ref.alt,
11
+ attributes = _objectWithoutProperties(_ref, _excluded);
18
12
  return /*#__PURE__*/React.createElement("img", _extends({
19
13
  src: src,
20
14
  alt: alt
21
15
  }, attributes));
22
- }
23
-
16
+ };
24
17
  Logo.propTypes = {
25
18
  src: PropTypes.string.isRequired,
26
19
  alt: PropTypes.string.isRequired
27
20
  };
28
-
29
- function LinkedLogo(_ref2) {
21
+ var LinkedLogo = function LinkedLogo(_ref2) {
30
22
  var href = _ref2.href,
31
- src = _ref2.src,
32
- alt = _ref2.alt,
33
- attributes = _objectWithoutProperties(_ref2, _excluded2);
34
-
23
+ src = _ref2.src,
24
+ alt = _ref2.alt,
25
+ attributes = _objectWithoutProperties(_ref2, _excluded2);
35
26
  return /*#__PURE__*/React.createElement("a", _extends({
36
27
  href: href
37
28
  }, attributes), /*#__PURE__*/React.createElement("img", {
@@ -39,8 +30,7 @@ function LinkedLogo(_ref2) {
39
30
  src: src,
40
31
  alt: alt
41
32
  }));
42
- }
43
-
33
+ };
44
34
  LinkedLogo.propTypes = {
45
35
  href: PropTypes.string.isRequired,
46
36
  src: PropTypes.string.isRequired,
package/dist/Logo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Logo.jsx"],"names":["React","PropTypes","Logo","src","alt","attributes","propTypes","string","isRequired","LinkedLogo","href"],"mappings":";;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAEA,SAASC,IAAT,OAA2C;AAAA,MAA3BC,GAA2B,QAA3BA,GAA2B;AAAA,MAAtBC,GAAsB,QAAtBA,GAAsB;AAAA,MAAdC,UAAc;;AACzC,sBACE;AAAK,IAAA,GAAG,EAAEF,GAAV;AAAe,IAAA,GAAG,EAAEC;AAApB,KAA6BC,UAA7B,EADF;AAGD;;AAEDH,IAAI,CAACI,SAAL,GAAiB;AACfH,EAAAA,GAAG,EAAEF,SAAS,CAACM,MAAV,CAAiBC,UADP;AAEfJ,EAAAA,GAAG,EAAEH,SAAS,CAACM,MAAV,CAAiBC;AAFP,CAAjB;;AAKA,SAASC,UAAT,QAKG;AAAA,MAJDC,IAIC,SAJDA,IAIC;AAAA,MAHDP,GAGC,SAHDA,GAGC;AAAA,MAFDC,GAEC,SAFDA,GAEC;AAAA,MADEC,UACF;;AACD,sBACE;AAAG,IAAA,IAAI,EAAEK;AAAT,KAAmBL,UAAnB,gBACE;AAAK,IAAA,SAAS,EAAC,SAAf;AAAyB,IAAA,GAAG,EAAEF,GAA9B;AAAmC,IAAA,GAAG,EAAEC;AAAxC,IADF,CADF;AAKD;;AAEDK,UAAU,CAACH,SAAX,GAAuB;AACrBI,EAAAA,IAAI,EAAET,SAAS,CAACM,MAAV,CAAiBC,UADF;AAErBL,EAAAA,GAAG,EAAEF,SAAS,CAACM,MAAV,CAAiBC,UAFD;AAGrBJ,EAAAA,GAAG,EAAEH,SAAS,CAACM,MAAV,CAAiBC;AAHD,CAAvB;AAMA,SAASC,UAAT,EAAqBP,IAArB;AACA,eAAeA,IAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction Logo({ src, alt, ...attributes }) {\n return (\n <img src={src} alt={alt} {...attributes} />\n );\n}\n\nLogo.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\n\nfunction LinkedLogo({\n href,\n src,\n alt,\n ...attributes\n}) {\n return (\n <a href={href} {...attributes}>\n <img className=\"d-block\" src={src} alt={alt} />\n </a>\n );\n}\n\nLinkedLogo.propTypes = {\n href: PropTypes.string.isRequired,\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\n\nexport { LinkedLogo, Logo };\nexport default Logo;\n"],"file":"Logo.js"}
1
+ {"version":3,"file":"Logo.js","names":["React","PropTypes","Logo","_ref","src","alt","attributes","_objectWithoutProperties","_excluded","createElement","_extends","propTypes","string","isRequired","LinkedLogo","_ref2","href","_excluded2","className"],"sources":["../src/Logo.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Logo = ({ src, alt, ...attributes }) => (\n <img src={src} alt={alt} {...attributes} />\n);\n\nLogo.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\n\nconst LinkedLogo = ({\n href,\n src,\n alt,\n ...attributes\n}) => (\n <a href={href} {...attributes}>\n <img className=\"d-block\" src={src} alt={alt} />\n </a>\n);\n\nLinkedLogo.propTypes = {\n href: PropTypes.string.isRequired,\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\n\nexport { LinkedLogo, Logo };\nexport default Logo;\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAAC,IAAA;EAAA,IAAMC,GAAG,GAAAD,IAAA,CAAHC,GAAG;IAAEC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IAAKC,UAAU,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAAA,oBACrCR,KAAA,CAAAS,aAAA,QAAAC,QAAA;IAAKN,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,GAAKC,UAAU,CAAG,CAAC;AAAA,CAC5C;AAEDJ,IAAI,CAACS,SAAS,GAAG;EACfP,GAAG,EAAEH,SAAS,CAACW,MAAM,CAACC,UAAU;EAChCR,GAAG,EAAEJ,SAAS,CAACW,MAAM,CAACC;AACxB,CAAC;AAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,KAAA;EAAA,IACdC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IACJZ,GAAG,GAAAW,KAAA,CAAHX,GAAG;IACHC,GAAG,GAAAU,KAAA,CAAHV,GAAG;IACAC,UAAU,GAAAC,wBAAA,CAAAQ,KAAA,EAAAE,UAAA;EAAA,oBAEbjB,KAAA,CAAAS,aAAA,MAAAC,QAAA;IAAGM,IAAI,EAAEA;EAAK,GAAKV,UAAU,gBAC3BN,KAAA,CAAAS,aAAA;IAAKS,SAAS,EAAC,SAAS;IAACd,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,CAAE,CAC7C,CAAC;AAAA,CACL;AAEDS,UAAU,CAACH,SAAS,GAAG;EACrBK,IAAI,EAAEf,SAAS,CAACW,MAAM,CAACC,UAAU;EACjCT,GAAG,EAAEH,SAAS,CAACW,MAAM,CAACC,UAAU;EAChCR,GAAG,EAAEJ,SAAS,CAACW,MAAM,CAACC;AACxB,CAAC;AAED,SAASC,UAAU,EAAEZ,IAAI;AACzB,eAAeA,IAAI","ignoreList":[]}