@nauedu/frontend-component-header 14.0.0-semantically-released → 18.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 (83) hide show
  1. package/README.rst +111 -33
  2. package/dist/Avatar.js +5 -7
  3. package/dist/Avatar.js.map +1 -1
  4. package/dist/DesktopHeader.js +98 -74
  5. package/dist/DesktopHeader.js.map +1 -1
  6. package/dist/Header.js +81 -41
  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/LanguageSelector/data/api.js +65 -0
  14. package/dist/LanguageSelector/data/api.js.map +1 -0
  15. package/dist/LanguageSelector/index.js +113 -0
  16. package/dist/LanguageSelector/index.js.map +1 -0
  17. package/dist/Logo.js +11 -21
  18. package/dist/Logo.js.map +1 -1
  19. package/dist/Menu/Menu.js +42 -88
  20. package/dist/Menu/Menu.js.map +1 -1
  21. package/dist/Menu/index.js.map +1 -1
  22. package/dist/MobileHeader.js +80 -76
  23. package/dist/MobileHeader.js.map +1 -1
  24. package/dist/__snapshots__/Header.test.jsx.snap +12 -12
  25. package/dist/generic/messages.js.map +1 -1
  26. package/dist/i18n/index.js +1 -30
  27. package/dist/i18n/index.js.map +1 -1
  28. package/dist/index.js +2 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/index.scss +11 -1
  31. package/dist/learning-header/AnonymousUserMenu.js +3 -5
  32. package/dist/learning-header/AnonymousUserMenu.js.map +1 -1
  33. package/dist/learning-header/AuthenticatedUserDropdown.js +8 -10
  34. package/dist/learning-header/AuthenticatedUserDropdown.js.map +1 -1
  35. package/dist/learning-header/LearningHeader.js +56 -50
  36. package/dist/learning-header/LearningHeader.js.map +1 -1
  37. package/dist/learning-header/_header.scss +5 -2
  38. package/dist/learning-header/data/api.js +30 -42
  39. package/dist/learning-header/data/api.js.map +1 -1
  40. package/dist/learning-header/data/api.test.js +124 -175
  41. package/dist/learning-header/data/api.test.js.map +1 -1
  42. package/dist/learning-header/messages.js.map +1 -1
  43. package/dist/setupTest.js +9 -13
  44. package/dist/studio-header/BrandNav.js +21 -0
  45. package/dist/studio-header/BrandNav.js.map +1 -0
  46. package/dist/studio-header/CourseLockUp.js +45 -0
  47. package/dist/studio-header/CourseLockUp.js.map +1 -0
  48. package/dist/studio-header/HeaderBody.js +131 -0
  49. package/dist/studio-header/HeaderBody.js.map +1 -0
  50. package/dist/studio-header/MobileHeader.js +79 -0
  51. package/dist/studio-header/MobileHeader.js.map +1 -0
  52. package/dist/studio-header/MobileMenu.js +45 -0
  53. package/dist/studio-header/MobileMenu.js.map +1 -0
  54. package/dist/studio-header/NavDropdownMenu.js +30 -0
  55. package/dist/studio-header/NavDropdownMenu.js.map +1 -0
  56. package/dist/studio-header/StudioHeader.js +72 -0
  57. package/dist/studio-header/StudioHeader.js.map +1 -0
  58. package/dist/studio-header/StudioHeader.scss +49 -0
  59. package/dist/studio-header/UserMenu.js +55 -0
  60. package/dist/studio-header/UserMenu.js.map +1 -0
  61. package/dist/studio-header/index.js +3 -0
  62. package/dist/studio-header/index.js.map +1 -0
  63. package/dist/studio-header/messages.js +60 -0
  64. package/dist/studio-header/messages.js.map +1 -0
  65. package/dist/studio-header/utils.js +29 -0
  66. package/dist/studio-header/utils.js.map +1 -0
  67. package/dist/test-utils.js +26 -0
  68. package/dist/test-utils.js.map +1 -0
  69. package/package.json +33 -33
  70. package/dist/i18n/messages/ar.json +0 -30
  71. package/dist/i18n/messages/ca.json +0 -1
  72. package/dist/i18n/messages/es_419.json +0 -30
  73. package/dist/i18n/messages/fr.json +0 -30
  74. package/dist/i18n/messages/fr_CA.json +0 -30
  75. package/dist/i18n/messages/he.json +0 -1
  76. package/dist/i18n/messages/id.json +0 -1
  77. package/dist/i18n/messages/ko_KR.json +0 -2
  78. package/dist/i18n/messages/pl.json +0 -1
  79. package/dist/i18n/messages/pt_BR.json +0 -2
  80. package/dist/i18n/messages/ru.json +0 -1
  81. package/dist/i18n/messages/th.json +0 -1
  82. package/dist/i18n/messages/uk.json +0 -1
  83. package/dist/i18n/messages/zh_CN.json +0 -30
@@ -2,10 +2,9 @@ import React from 'react';
2
2
  import { getConfig } from '@edx/frontend-platform';
3
3
  import { getLoginRedirectUrl } from '@edx/frontend-platform/auth';
4
4
  import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
5
- import { Button } from '@edx/paragon';
5
+ import { Button } from '@openedx/paragon';
6
6
  import genericMessages from '../generic/messages';
7
-
8
- function AnonymousUserMenu(_ref) {
7
+ var AnonymousUserMenu = function AnonymousUserMenu(_ref) {
9
8
  var intl = _ref.intl;
10
9
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
11
10
  className: "mr-3",
@@ -15,8 +14,7 @@ function AnonymousUserMenu(_ref) {
15
14
  variant: "primary",
16
15
  href: "".concat(getLoginRedirectUrl(global.location.href))
17
16
  }, intl.formatMessage(genericMessages.signInSentenceCase)));
18
- }
19
-
17
+ };
20
18
  AnonymousUserMenu.propTypes = {
21
19
  intl: intlShape.isRequired
22
20
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/learning-header/AnonymousUserMenu.jsx"],"names":["React","getConfig","getLoginRedirectUrl","injectIntl","intlShape","Button","genericMessages","AnonymousUserMenu","intl","LMS_BASE_URL","encodeURIComponent","global","location","href","formatMessage","registerSentenceCase","signInSentenceCase","propTypes","isRequired"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,SAAT,QAA0B,wBAA1B;AACA,SAASC,mBAAT,QAAoC,6BAApC;AACA,SAASC,UAAT,EAAqBC,SAArB,QAAsC,6BAAtC;AACA,SAASC,MAAT,QAAuB,cAAvB;AAEA,OAAOC,eAAP,MAA4B,qBAA5B;;AAEA,SAASC,iBAAT,OAAqC;AAAA,MAARC,IAAQ,QAARA,IAAQ;AACnC,sBACE,8CACE,oBAAC,MAAD;AACE,IAAA,SAAS,EAAC,MADZ;AAEE,IAAA,OAAO,EAAC,iBAFV;AAGE,IAAA,IAAI,YAAKP,SAAS,GAAGQ,YAAjB,4BAA+CC,kBAAkB,CAACC,MAAM,CAACC,QAAP,CAAgBC,IAAjB,CAAjE;AAHN,KAKGL,IAAI,CAACM,aAAL,CAAmBR,eAAe,CAACS,oBAAnC,CALH,CADF,eAQE,oBAAC,MAAD;AACE,IAAA,OAAO,EAAC,SADV;AAEE,IAAA,IAAI,YAAKb,mBAAmB,CAACS,MAAM,CAACC,QAAP,CAAgBC,IAAjB,CAAxB;AAFN,KAIGL,IAAI,CAACM,aAAL,CAAmBR,eAAe,CAACU,kBAAnC,CAJH,CARF,CADF;AAiBD;;AAEDT,iBAAiB,CAACU,SAAlB,GAA8B;AAC5BT,EAAAA,IAAI,EAAEJ,SAAS,CAACc;AADY,CAA9B;AAIA,eAAef,UAAU,CAACI,iBAAD,CAAzB","sourcesContent":["import React from 'react';\n\nimport { getConfig } from '@edx/frontend-platform';\nimport { getLoginRedirectUrl } from '@edx/frontend-platform/auth';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { Button } from '@edx/paragon';\n\nimport genericMessages from '../generic/messages';\n\nfunction AnonymousUserMenu({ intl }) {\n return (\n <div>\n <Button\n className=\"mr-3\"\n variant=\"outline-primary\"\n href={`${getConfig().LMS_BASE_URL}/register?next=${encodeURIComponent(global.location.href)}`}\n >\n {intl.formatMessage(genericMessages.registerSentenceCase)}\n </Button>\n <Button\n variant=\"primary\"\n href={`${getLoginRedirectUrl(global.location.href)}`}\n >\n {intl.formatMessage(genericMessages.signInSentenceCase)}\n </Button>\n </div>\n );\n}\n\nAnonymousUserMenu.propTypes = {\n intl: intlShape.isRequired,\n};\n\nexport default injectIntl(AnonymousUserMenu);\n"],"file":"AnonymousUserMenu.js"}
1
+ {"version":3,"file":"AnonymousUserMenu.js","names":["React","getConfig","getLoginRedirectUrl","injectIntl","intlShape","Button","genericMessages","AnonymousUserMenu","_ref","intl","createElement","className","variant","href","concat","LMS_BASE_URL","encodeURIComponent","global","location","formatMessage","registerSentenceCase","signInSentenceCase","propTypes","isRequired"],"sources":["../../src/learning-header/AnonymousUserMenu.jsx"],"sourcesContent":["import React from 'react';\n\nimport { getConfig } from '@edx/frontend-platform';\nimport { getLoginRedirectUrl } from '@edx/frontend-platform/auth';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { Button } from '@openedx/paragon';\n\nimport genericMessages from '../generic/messages';\n\nconst AnonymousUserMenu = ({ intl }) => (\n <div>\n <Button\n className=\"mr-3\"\n variant=\"outline-primary\"\n href={`${getConfig().LMS_BASE_URL}/register?next=${encodeURIComponent(global.location.href)}`}\n >\n {intl.formatMessage(genericMessages.registerSentenceCase)}\n </Button>\n <Button\n variant=\"primary\"\n href={`${getLoginRedirectUrl(global.location.href)}`}\n >\n {intl.formatMessage(genericMessages.signInSentenceCase)}\n </Button>\n </div>\n);\n\nAnonymousUserMenu.propTypes = {\n intl: intlShape.isRequired,\n};\n\nexport default injectIntl(AnonymousUserMenu);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SAASC,MAAM,QAAQ,kBAAkB;AAEzC,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA;EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAC/BT,KAAA,CAAAU,aAAA,2BACEV,KAAA,CAAAU,aAAA,CAACL,MAAM;IACLM,SAAS,EAAC,MAAM;IAChBC,OAAO,EAAC,iBAAiB;IACzBC,IAAI,KAAAC,MAAA,CAAKb,SAAS,CAAC,CAAC,CAACc,YAAY,qBAAAD,MAAA,CAAkBE,kBAAkB,CAACC,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;EAAG,GAE7FJ,IAAI,CAACU,aAAa,CAACb,eAAe,CAACc,oBAAoB,CAClD,CAAC,eACTpB,KAAA,CAAAU,aAAA,CAACL,MAAM;IACLO,OAAO,EAAC,SAAS;IACjBC,IAAI,KAAAC,MAAA,CAAKZ,mBAAmB,CAACe,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;EAAG,GAEpDJ,IAAI,CAACU,aAAa,CAACb,eAAe,CAACe,kBAAkB,CAChD,CACL,CAAC;AAAA,CACP;AAEDd,iBAAiB,CAACe,SAAS,GAAG;EAC5Bb,IAAI,EAAEL,SAAS,CAACmB;AAClB,CAAC;AAED,eAAepB,UAAU,CAACI,iBAAiB,CAAC","ignoreList":[]}
@@ -4,20 +4,19 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
4
  import { faUserCircle } from '@fortawesome/free-solid-svg-icons';
5
5
  import { getConfig } from '@edx/frontend-platform';
6
6
  import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
7
- import { Dropdown } from '@edx/paragon';
7
+ import { Dropdown } from '@openedx/paragon';
8
8
  import messages from './messages';
9
-
10
- function AuthenticatedUserDropdown(_ref) {
9
+ var AuthenticatedUserDropdown = function AuthenticatedUserDropdown(_ref) {
11
10
  var intl = _ref.intl,
12
- username = _ref.username;
11
+ username = _ref.username;
13
12
  var dashboardMenuItem = /*#__PURE__*/React.createElement(Dropdown.Item, {
14
13
  href: "".concat(getConfig().LMS_BASE_URL, "/dashboard")
15
14
  }, intl.formatMessage(messages.dashboard));
16
15
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("a", {
17
- className: "text-gray-700 mr-3",
16
+ className: "text-gray-700",
18
17
  href: "".concat(getConfig().SUPPORT_URL)
19
18
  }, intl.formatMessage(messages.help)), /*#__PURE__*/React.createElement(Dropdown, {
20
- className: "user-dropdown"
19
+ className: "user-dropdown ml-3"
21
20
  }, /*#__PURE__*/React.createElement(Dropdown.Toggle, {
22
21
  variant: "outline-primary"
23
22
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
@@ -30,16 +29,15 @@ function AuthenticatedUserDropdown(_ref) {
30
29
  }, username)), /*#__PURE__*/React.createElement(Dropdown.Menu, {
31
30
  className: "dropdown-menu-right"
32
31
  }, dashboardMenuItem, /*#__PURE__*/React.createElement(Dropdown.Item, {
33
- href: "".concat(getConfig().LMS_BASE_URL, "/u/").concat(username)
32
+ href: "".concat(getConfig().ACCOUNT_PROFILE_URL, "/u/").concat(username)
34
33
  }, intl.formatMessage(messages.profile)), /*#__PURE__*/React.createElement(Dropdown.Item, {
35
- href: "".concat(getConfig().LMS_BASE_URL, "/account/settings")
34
+ href: getConfig().ACCOUNT_SETTINGS_URL
36
35
  }, intl.formatMessage(messages.account)), getConfig().ORDER_HISTORY_URL && /*#__PURE__*/React.createElement(Dropdown.Item, {
37
36
  href: getConfig().ORDER_HISTORY_URL
38
37
  }, intl.formatMessage(messages.orderHistory)), /*#__PURE__*/React.createElement(Dropdown.Item, {
39
38
  href: getConfig().LOGOUT_URL
40
39
  }, intl.formatMessage(messages.signOut)))));
41
- }
42
-
40
+ };
43
41
  AuthenticatedUserDropdown.propTypes = {
44
42
  intl: intlShape.isRequired,
45
43
  username: PropTypes.string.isRequired
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/learning-header/AuthenticatedUserDropdown.jsx"],"names":["React","PropTypes","FontAwesomeIcon","faUserCircle","getConfig","injectIntl","intlShape","Dropdown","messages","AuthenticatedUserDropdown","intl","username","dashboardMenuItem","LMS_BASE_URL","formatMessage","dashboard","SUPPORT_URL","help","profile","account","ORDER_HISTORY_URL","orderHistory","LOGOUT_URL","signOut","propTypes","isRequired","string"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,YAAT,QAA6B,mCAA7B;AAEA,SAASC,SAAT,QAA0B,wBAA1B;AACA,SAASC,UAAT,EAAqBC,SAArB,QAAsC,6BAAtC;AACA,SAASC,QAAT,QAAyB,cAAzB;AAEA,OAAOC,QAAP,MAAqB,YAArB;;AAEA,SAASC,yBAAT,OAAuD;AAAA,MAAlBC,IAAkB,QAAlBA,IAAkB;AAAA,MAAZC,QAAY,QAAZA,QAAY;AACrD,MAAMC,iBAAiB,gBACrB,oBAAC,QAAD,CAAU,IAAV;AAAe,IAAA,IAAI,YAAKR,SAAS,GAAGS,YAAjB;AAAnB,KACGH,IAAI,CAACI,aAAL,CAAmBN,QAAQ,CAACO,SAA5B,CADH,CADF;AAMA,sBACE,uDACE;AAAG,IAAA,SAAS,EAAC,oBAAb;AAAkC,IAAA,IAAI,YAAKX,SAAS,GAAGY,WAAjB;AAAtC,KAAuEN,IAAI,CAACI,aAAL,CAAmBN,QAAQ,CAACS,IAA5B,CAAvE,CADF,eAEE,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAC;AAApB,kBACE,oBAAC,QAAD,CAAU,MAAV;AAAiB,IAAA,OAAO,EAAC;AAAzB,kBACE,oBAAC,eAAD;AAAiB,IAAA,IAAI,EAAEd,YAAvB;AAAqC,IAAA,SAAS,EAAC,WAA/C;AAA2D,IAAA,IAAI,EAAC;AAAhE,IADF,eAEE;AAAM,4BAAN;AAAuB,IAAA,SAAS,EAAC;AAAjC,KACGQ,QADH,CAFF,CADF,eAOE,oBAAC,QAAD,CAAU,IAAV;AAAe,IAAA,SAAS,EAAC;AAAzB,KACGC,iBADH,eAEE,oBAAC,QAAD,CAAU,IAAV;AAAe,IAAA,IAAI,YAAKR,SAAS,GAAGS,YAAjB,gBAAmCF,QAAnC;AAAnB,KACGD,IAAI,CAACI,aAAL,CAAmBN,QAAQ,CAACU,OAA5B,CADH,CAFF,eAKE,oBAAC,QAAD,CAAU,IAAV;AAAe,IAAA,IAAI,YAAKd,SAAS,GAAGS,YAAjB;AAAnB,KACGH,IAAI,CAACI,aAAL,CAAmBN,QAAQ,CAACW,OAA5B,CADH,CALF,EAQIf,SAAS,GAAGgB,iBAAZ,iBACA,oBAAC,QAAD,CAAU,IAAV;AAAe,IAAA,IAAI,EAAEhB,SAAS,GAAGgB;AAAjC,KACGV,IAAI,CAACI,aAAL,CAAmBN,QAAQ,CAACa,YAA5B,CADH,CATJ,eAaE,oBAAC,QAAD,CAAU,IAAV;AAAe,IAAA,IAAI,EAAEjB,SAAS,GAAGkB;AAAjC,KACGZ,IAAI,CAACI,aAAL,CAAmBN,QAAQ,CAACe,OAA5B,CADH,CAbF,CAPF,CAFF,CADF;AA8BD;;AAEDd,yBAAyB,CAACe,SAA1B,GAAsC;AACpCd,EAAAA,IAAI,EAAEJ,SAAS,CAACmB,UADoB;AAEpCd,EAAAA,QAAQ,EAAEV,SAAS,CAACyB,MAAV,CAAiBD;AAFS,CAAtC;AAKA,eAAepB,UAAU,CAACI,yBAAD,CAAzB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faUserCircle } from '@fortawesome/free-solid-svg-icons';\n\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { Dropdown } from '@edx/paragon';\n\nimport messages from './messages';\n\nfunction AuthenticatedUserDropdown({ intl, username }) {\n const dashboardMenuItem = (\n <Dropdown.Item href={`${getConfig().LMS_BASE_URL}/dashboard`}>\n {intl.formatMessage(messages.dashboard)}\n </Dropdown.Item>\n );\n\n return (\n <>\n <a className=\"text-gray-700 mr-3\" href={`${getConfig().SUPPORT_URL}`}>{intl.formatMessage(messages.help)}</a>\n <Dropdown className=\"user-dropdown\">\n <Dropdown.Toggle variant=\"outline-primary\">\n <FontAwesomeIcon icon={faUserCircle} className=\"d-md-none\" size=\"lg\" />\n <span data-hj-suppress className=\"d-none d-md-inline\">\n {username}\n </span>\n </Dropdown.Toggle>\n <Dropdown.Menu className=\"dropdown-menu-right\">\n {dashboardMenuItem}\n <Dropdown.Item href={`${getConfig().LMS_BASE_URL}/u/${username}`}>\n {intl.formatMessage(messages.profile)}\n </Dropdown.Item>\n <Dropdown.Item href={`${getConfig().LMS_BASE_URL}/account/settings`}>\n {intl.formatMessage(messages.account)}\n </Dropdown.Item>\n { getConfig().ORDER_HISTORY_URL && (\n <Dropdown.Item href={getConfig().ORDER_HISTORY_URL}>\n {intl.formatMessage(messages.orderHistory)}\n </Dropdown.Item>\n )}\n <Dropdown.Item href={getConfig().LOGOUT_URL}>\n {intl.formatMessage(messages.signOut)}\n </Dropdown.Item>\n </Dropdown.Menu>\n </Dropdown>\n </>\n );\n}\n\nAuthenticatedUserDropdown.propTypes = {\n intl: intlShape.isRequired,\n username: PropTypes.string.isRequired,\n};\n\nexport default injectIntl(AuthenticatedUserDropdown);\n"],"file":"AuthenticatedUserDropdown.js"}
1
+ {"version":3,"file":"AuthenticatedUserDropdown.js","names":["React","PropTypes","FontAwesomeIcon","faUserCircle","getConfig","injectIntl","intlShape","Dropdown","messages","AuthenticatedUserDropdown","_ref","intl","username","dashboardMenuItem","createElement","Item","href","concat","LMS_BASE_URL","formatMessage","dashboard","Fragment","className","SUPPORT_URL","help","Toggle","variant","icon","size","Menu","ACCOUNT_PROFILE_URL","profile","ACCOUNT_SETTINGS_URL","account","ORDER_HISTORY_URL","orderHistory","LOGOUT_URL","signOut","propTypes","isRequired","string"],"sources":["../../src/learning-header/AuthenticatedUserDropdown.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faUserCircle } from '@fortawesome/free-solid-svg-icons';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { Dropdown } from '@openedx/paragon';\n\nimport messages from './messages';\n\nconst AuthenticatedUserDropdown = ({ intl, username }) => {\n const dashboardMenuItem = (\n <Dropdown.Item href={`${getConfig().LMS_BASE_URL}/dashboard`}>\n {intl.formatMessage(messages.dashboard)}\n </Dropdown.Item>\n );\n\n return (\n <>\n <a className=\"text-gray-700\" href={`${getConfig().SUPPORT_URL}`}>{intl.formatMessage(messages.help)}</a>\n <Dropdown className=\"user-dropdown ml-3\">\n <Dropdown.Toggle variant=\"outline-primary\">\n <FontAwesomeIcon icon={faUserCircle} className=\"d-md-none\" size=\"lg\" />\n <span data-hj-suppress className=\"d-none d-md-inline\">\n {username}\n </span>\n </Dropdown.Toggle>\n <Dropdown.Menu className=\"dropdown-menu-right\">\n {dashboardMenuItem}\n <Dropdown.Item href={`${getConfig().ACCOUNT_PROFILE_URL}/u/${username}`}>\n {intl.formatMessage(messages.profile)}\n </Dropdown.Item>\n <Dropdown.Item href={getConfig().ACCOUNT_SETTINGS_URL}>\n {intl.formatMessage(messages.account)}\n </Dropdown.Item>\n { getConfig().ORDER_HISTORY_URL && (\n <Dropdown.Item href={getConfig().ORDER_HISTORY_URL}>\n {intl.formatMessage(messages.orderHistory)}\n </Dropdown.Item>\n )}\n <Dropdown.Item href={getConfig().LOGOUT_URL}>\n {intl.formatMessage(messages.signOut)}\n </Dropdown.Item>\n </Dropdown.Menu>\n </Dropdown>\n </>\n );\n};\n\nAuthenticatedUserDropdown.propTypes = {\n intl: intlShape.isRequired,\n username: PropTypes.string.isRequired,\n};\n\nexport default injectIntl(AuthenticatedUserDropdown);\n"],"mappings":"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","ignoreList":[]}
@@ -1,24 +1,15 @@
1
1
  var _excluded = ["href", "src", "alt"];
2
-
3
2
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
-
5
3
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
-
7
4
  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); }
8
-
9
- 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; }
10
-
11
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
12
-
5
+ 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; }
6
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
13
7
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
-
15
- 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); }
16
-
8
+ 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); }
17
9
  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; }
18
-
19
10
  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; }
20
-
21
11
  import React, { useContext, useEffect, useState } from 'react';
12
+ import Responsive from 'react-responsive';
22
13
  import PropTypes from 'prop-types';
23
14
  import { getConfig } from '@edx/frontend-platform';
24
15
  import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
@@ -27,14 +18,12 @@ import AnonymousUserMenu from './AnonymousUserMenu';
27
18
  import AuthenticatedUserDropdown from './AuthenticatedUserDropdown';
28
19
  import messages from './messages';
29
20
  import getCourseLogoOrg from './data/api';
30
- import './_header.scss';
31
-
32
- function LinkedLogo(_ref) {
21
+ import LanguageSelector from '../LanguageSelector';
22
+ var LinkedLogo = function LinkedLogo(_ref) {
33
23
  var href = _ref.href,
34
- src = _ref.src,
35
- alt = _ref.alt,
36
- attributes = _objectWithoutProperties(_ref, _excluded);
37
-
24
+ src = _ref.src,
25
+ alt = _ref.alt,
26
+ attributes = _objectWithoutProperties(_ref, _excluded);
38
27
  return /*#__PURE__*/React.createElement("a", _extends({
39
28
  href: href
40
29
  }, attributes), /*#__PURE__*/React.createElement("img", {
@@ -42,43 +31,46 @@ function LinkedLogo(_ref) {
42
31
  src: src,
43
32
  alt: alt
44
33
  }));
45
- }
46
-
34
+ };
47
35
  LinkedLogo.propTypes = {
48
36
  href: PropTypes.string.isRequired,
49
37
  src: PropTypes.string.isRequired,
50
38
  alt: PropTypes.string.isRequired
51
- }; // this feature flag is not included on the frontend-platform, we have to get it directly from ENV
52
-
53
- var enabledOrgLogo = !!process.env.ENABLED_ORG_LOGO || false;
54
-
55
- function LearningHeader(_ref2) {
39
+ };
40
+ var LearningHeader = function LearningHeader(_ref2) {
56
41
  var courseOrg = _ref2.courseOrg,
57
- courseTitle = _ref2.courseTitle,
58
- intl = _ref2.intl,
59
- showUserDropdown = _ref2.showUserDropdown;
60
-
42
+ courseTitle = _ref2.courseTitle,
43
+ intl = _ref2.intl,
44
+ showUserDropdown = _ref2.showUserDropdown;
61
45
  var _useContext = useContext(AppContext),
62
- authenticatedUser = _useContext.authenticatedUser;
63
-
46
+ authenticatedUser = _useContext.authenticatedUser;
64
47
  var _useState = useState(null),
65
- _useState2 = _slicedToArray(_useState, 2),
66
- logoOrg = _useState2[0],
67
- setLogoOrg = _useState2[1];
68
-
48
+ _useState2 = _slicedToArray(_useState, 2),
49
+ logoOrg = _useState2[0],
50
+ setLogoOrg = _useState2[1];
51
+ var enableOrgLogo = getConfig().ENABLE_ORG_LOGO;
69
52
  useEffect(function () {
70
- if (courseOrg) {
53
+ if (courseOrg && enableOrgLogo) {
71
54
  getCourseLogoOrg().then(function (logoOrgUrl) {
72
55
  setLogoOrg(logoOrgUrl);
73
56
  });
74
57
  }
75
- }, []);
76
- var headerLogo = /*#__PURE__*/React.createElement(LinkedLogo, {
58
+ }, [courseOrg, enableOrgLogo]);
59
+ var headerLogo = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Responsive, {
60
+ maxWidth: 769
61
+ }, /*#__PURE__*/React.createElement(LinkedLogo, {
62
+ className: "logo",
63
+ href: "".concat(getConfig().LMS_BASE_URL, "/dashboard"),
64
+ src: getConfig().LOGO_URL_MOBILE || getConfig().LOGO_URL,
65
+ alt: getConfig().SITE_NAME
66
+ })), /*#__PURE__*/React.createElement(Responsive, {
67
+ minWidth: 769
68
+ }, /*#__PURE__*/React.createElement(LinkedLogo, {
77
69
  className: "logo",
78
70
  href: "".concat(getConfig().LMS_BASE_URL, "/dashboard"),
79
71
  src: getConfig().LOGO_URL,
80
72
  alt: getConfig().SITE_NAME
81
- });
73
+ })));
82
74
  return /*#__PURE__*/React.createElement("header", {
83
75
  className: "learning-header"
84
76
  }, /*#__PURE__*/React.createElement("a", {
@@ -89,23 +81,37 @@ function LearningHeader(_ref2) {
89
81
  }, headerLogo, /*#__PURE__*/React.createElement("div", {
90
82
  className: "d-none d-md-block flex-grow-1 course-title-lockup"
91
83
  }, /*#__PURE__*/React.createElement("div", {
92
- className: "d-md-flex ".concat(enabledOrgLogo && 'align-items-center justify-content-center', " w-100")
93
- }, enabledOrgLogo ? courseOrg && logoOrg && /*#__PURE__*/React.createElement("img", {
84
+ className: "d-md-flex ".concat(enableOrgLogo && 'align-items-center justify-content-center', " w-100")
85
+ }, enableOrgLogo && courseOrg && logoOrg && /*#__PURE__*/React.createElement("img", {
94
86
  src: logoOrg,
95
87
  alt: "".concat(courseOrg, " logo"),
96
88
  style: {
97
- maxHeight: '45px'
89
+ maxHeight: '3rem',
90
+ maxWidth: '15rem'
98
91
  }
99
- }) : null, /*#__PURE__*/React.createElement("span", {
100
- className: "d-inline-block course-title font-weight-semibold ml-3 text-truncate text-left w-25",
92
+ }), /*#__PURE__*/React.createElement("span", {
93
+ className: "d-inline-block course-title font-weight-semibold ml-3 text-truncate text-left",
101
94
  style: {
102
- fontSize: '0.85rem'
95
+ fontSize: '1rem'
103
96
  }
104
- }, courseTitle))), showUserDropdown && authenticatedUser && /*#__PURE__*/React.createElement(AuthenticatedUserDropdown, {
97
+ }, courseTitle))), getConfig().ENABLE_HEADER_LANG_SELECTOR && /*#__PURE__*/React.createElement("div", {
98
+ className: "mx-2 d-md-inline-flex"
99
+ }, /*#__PURE__*/React.createElement(Responsive, {
100
+ maxWidth: 1200
101
+ }, /*#__PURE__*/React.createElement(LanguageSelector, {
102
+ options: JSON.parse(getConfig().SITE_SUPPORTED_LANGUAGES),
103
+ compact: true,
104
+ authenticatedUser: authenticatedUser
105
+ })), /*#__PURE__*/React.createElement(Responsive, {
106
+ minWidth: 1200
107
+ }, /*#__PURE__*/React.createElement(LanguageSelector, {
108
+ options: JSON.parse(getConfig().SITE_SUPPORTED_LANGUAGES),
109
+ compact: false,
110
+ authenticatedUser: authenticatedUser
111
+ }))), showUserDropdown && authenticatedUser && /*#__PURE__*/React.createElement(AuthenticatedUserDropdown, {
105
112
  username: authenticatedUser.username
106
113
  }), showUserDropdown && !authenticatedUser && /*#__PURE__*/React.createElement(AnonymousUserMenu, null)));
107
- }
108
-
114
+ };
109
115
  LearningHeader.propTypes = {
110
116
  courseOrg: PropTypes.string,
111
117
  courseTitle: PropTypes.string,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/learning-header/LearningHeader.jsx"],"names":["React","useContext","useEffect","useState","PropTypes","getConfig","injectIntl","intlShape","AppContext","AnonymousUserMenu","AuthenticatedUserDropdown","messages","getCourseLogoOrg","LinkedLogo","href","src","alt","attributes","propTypes","string","isRequired","enabledOrgLogo","process","env","ENABLED_ORG_LOGO","LearningHeader","courseOrg","courseTitle","intl","showUserDropdown","authenticatedUser","logoOrg","setLogoOrg","then","logoOrgUrl","headerLogo","LMS_BASE_URL","LOGO_URL","SITE_NAME","formatMessage","skipNavLink","maxHeight","fontSize","username","bool","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\n\nimport AnonymousUserMenu from './AnonymousUserMenu';\nimport AuthenticatedUserDropdown from './AuthenticatedUserDropdown';\nimport messages from './messages';\nimport getCourseLogoOrg from './data/api';\n\nimport './_header.scss';\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\n// this feature flag is not included on the frontend-platform, we have to get it directly from ENV\nconst enabledOrgLogo = !!process.env.ENABLED_ORG_LOGO || false;\n\nfunction LearningHeader({\n courseOrg, courseTitle, intl, showUserDropdown,\n}) {\n const { authenticatedUser } = useContext(AppContext);\n const [logoOrg, setLogoOrg] = useState(null);\n\n useEffect(() => {\n if (courseOrg) {\n getCourseLogoOrg().then((logoOrgUrl) => { setLogoOrg(logoOrgUrl); });\n }\n }, []);\n\n const headerLogo = (\n <LinkedLogo\n className=\"logo\"\n href={`${getConfig().LMS_BASE_URL}/dashboard`}\n src={getConfig().LOGO_URL}\n alt={getConfig().SITE_NAME}\n />\n );\n\n return (\n <header className=\"learning-header\">\n <a className=\"sr-only sr-only-focusable\" href=\"#main-content\">{intl.formatMessage(messages.skipNavLink)}</a>\n <div className=\"container-xl py-2 d-flex align-items-center\">\n {headerLogo}\n <div className=\"d-none d-md-block flex-grow-1 course-title-lockup\">\n <div className={`d-md-flex ${enabledOrgLogo && 'align-items-center justify-content-center'} w-100`}>\n {enabledOrgLogo ? (\n (courseOrg && logoOrg)\n && <img src={logoOrg} alt={`${courseOrg} logo`} style={{ maxHeight: '45px' }} />\n ) : null}\n <span\n className=\"d-inline-block course-title font-weight-semibold ml-3 text-truncate text-left w-25\"\n style={{ fontSize: '0.85rem' }}\n >\n {courseTitle}\n </span>\n </div>\n </div>\n {showUserDropdown && authenticatedUser && (\n <AuthenticatedUserDropdown\n username={authenticatedUser.username}\n />\n )}\n {showUserDropdown && !authenticatedUser && (\n <AnonymousUserMenu />\n )}\n </div>\n </header>\n );\n}\n\nLearningHeader.propTypes = {\n courseOrg: PropTypes.string,\n courseTitle: PropTypes.string,\n intl: intlShape.isRequired,\n showUserDropdown: PropTypes.bool,\n};\n\nLearningHeader.defaultProps = {\n courseOrg: null,\n courseTitle: null,\n showUserDropdown: true,\n};\n\nexport default injectIntl(LearningHeader);\n"],"file":"LearningHeader.js"}
1
+ {"version":3,"file":"LearningHeader.js","names":["React","useContext","useEffect","useState","Responsive","PropTypes","getConfig","injectIntl","intlShape","AppContext","AnonymousUserMenu","AuthenticatedUserDropdown","messages","getCourseLogoOrg","LanguageSelector","LinkedLogo","_ref","href","src","alt","attributes","_objectWithoutProperties","_excluded","createElement","_extends","className","propTypes","string","isRequired","LearningHeader","_ref2","courseOrg","courseTitle","intl","showUserDropdown","_useContext","authenticatedUser","_useState","_useState2","_slicedToArray","logoOrg","setLogoOrg","enableOrgLogo","ENABLE_ORG_LOGO","then","logoOrgUrl","headerLogo","Fragment","maxWidth","concat","LMS_BASE_URL","LOGO_URL_MOBILE","LOGO_URL","SITE_NAME","minWidth","formatMessage","skipNavLink","style","maxHeight","fontSize","ENABLE_HEADER_LANG_SELECTOR","options","JSON","parse","SITE_SUPPORTED_LANGUAGES","compact","username","bool","defaultProps"],"sources":["../../src/learning-header/LearningHeader.jsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\nimport Responsive from 'react-responsive';\nimport PropTypes from 'prop-types';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\n\nimport AnonymousUserMenu from './AnonymousUserMenu';\nimport AuthenticatedUserDropdown from './AuthenticatedUserDropdown';\nimport messages from './messages';\nimport getCourseLogoOrg from './data/api';\nimport LanguageSelector from '../LanguageSelector';\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};\nconst LearningHeader = ({\n courseOrg, courseTitle, intl, showUserDropdown,\n}) => {\n const { authenticatedUser } = useContext(AppContext);\n const [logoOrg, setLogoOrg] = useState(null);\n const enableOrgLogo = getConfig().ENABLE_ORG_LOGO;\n\n useEffect(() => {\n if (courseOrg && enableOrgLogo) {\n getCourseLogoOrg().then((logoOrgUrl) => { setLogoOrg(logoOrgUrl); });\n }\n }, [courseOrg, enableOrgLogo]);\n\n const headerLogo = (\n <>\n <Responsive maxWidth={769}>\n <LinkedLogo\n className=\"logo\"\n href={`${getConfig().LMS_BASE_URL}/dashboard`}\n src={getConfig().LOGO_URL_MOBILE || getConfig().LOGO_URL}\n alt={getConfig().SITE_NAME}\n />\n </Responsive>\n <Responsive minWidth={769}>\n <LinkedLogo\n className=\"logo\"\n href={`${getConfig().LMS_BASE_URL}/dashboard`}\n src={getConfig().LOGO_URL}\n alt={getConfig().SITE_NAME}\n />\n </Responsive>\n </>\n );\n\n return (\n <header className=\"learning-header\">\n <a className=\"sr-only sr-only-focusable\" href=\"#main-content\">{intl.formatMessage(messages.skipNavLink)}</a>\n <div className=\"container-xl py-2 d-flex align-items-center\">\n {headerLogo}\n <div className=\"d-none d-md-block flex-grow-1 course-title-lockup\">\n <div className={`d-md-flex ${enableOrgLogo && 'align-items-center justify-content-center'} w-100`}>\n {enableOrgLogo && courseOrg && logoOrg && (\n <img src={logoOrg} alt={`${courseOrg} logo`} style={{ maxHeight: '3rem', maxWidth: '15rem' }} />\n )}\n <span\n className=\"d-inline-block course-title font-weight-semibold ml-3 text-truncate text-left\"\n style={{ fontSize: '1rem' }}\n >\n {courseTitle}\n </span>\n </div>\n </div>\n {getConfig().ENABLE_HEADER_LANG_SELECTOR && (\n <div className=\"mx-2 d-md-inline-flex\">\n <Responsive maxWidth={1200}>\n <LanguageSelector\n options={JSON.parse(getConfig().SITE_SUPPORTED_LANGUAGES)}\n compact\n authenticatedUser={authenticatedUser}\n />\n </Responsive>\n <Responsive minWidth={1200}>\n <LanguageSelector\n options={JSON.parse(getConfig().SITE_SUPPORTED_LANGUAGES)}\n compact={false}\n authenticatedUser={authenticatedUser}\n />\n </Responsive>\n </div>\n )}\n {showUserDropdown && authenticatedUser && (\n <AuthenticatedUserDropdown\n username={authenticatedUser.username}\n />\n )}\n {showUserDropdown && !authenticatedUser && (\n <AnonymousUserMenu />\n )}\n </div>\n </header>\n );\n};\n\nLearningHeader.propTypes = {\n courseOrg: PropTypes.string,\n courseTitle: PropTypes.string,\n intl: intlShape.isRequired,\n showUserDropdown: PropTypes.bool,\n};\n\nLearningHeader.defaultProps = {\n courseOrg: null,\n courseTitle: null,\n showUserDropdown: true,\n};\n\nexport default injectIntl(LearningHeader);\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,10 @@
1
+ @import "../../node_modules/bootstrap/scss/bootstrap-grid";
2
+ @import "../../node_modules/bootstrap/scss/mixins/breakpoints";
3
+
1
4
  .logo {
2
5
  img {
3
- @media (max-width: 576px) {
6
+ @include media-breakpoint-down(sm) {
4
7
  max-width: 85% !important;
5
8
  }
6
9
  }
7
- }
10
+ }
@@ -1,57 +1,45 @@
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"; /*! 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; }
1
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); } }
2
-
3
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); }); }; }
4
-
5
5
  import { getConfig } from '@edx/frontend-platform';
6
6
  import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';
7
-
8
7
  var getCourseLogoOrg = /*#__PURE__*/function () {
9
- var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
8
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
10
9
  var orgId, _yield$getAuthenticat, data, _ref2, httpErrorStatus;
11
-
12
- return regeneratorRuntime.wrap(function _callee$(_context) {
13
- while (1) {
14
- switch (_context.prev = _context.next) {
15
- case 0:
16
- _context.prev = 0;
17
- orgId = window.location.pathname.match(/course-(.*?):([^+]+)/)[2];
18
- _context.next = 4;
19
- return getAuthenticatedHttpClient().get("".concat(getConfig().LMS_BASE_URL, "/api/organizations/v0/organizations/").concat(orgId, "/"), {
20
- useCache: true
21
- });
22
-
23
- case 4:
24
- _yield$getAuthenticat = _context.sent;
25
- data = _yield$getAuthenticat.data;
26
- return _context.abrupt("return", data.logo);
27
-
28
- case 9:
29
- _context.prev = 9;
30
- _context.t0 = _context["catch"](0);
31
- _ref2 = _context.t0 && _context.t0.customAttributes, httpErrorStatus = _ref2.httpErrorStatus;
32
-
33
- if (!(httpErrorStatus === 404)) {
34
- _context.next = 14;
35
- break;
36
- }
37
-
38
- return _context.abrupt("return", null);
39
-
40
- case 14:
41
- throw _context.t0;
42
-
43
- case 15:
44
- case "end":
45
- return _context.stop();
46
- }
10
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
11
+ while (1) switch (_context.prev = _context.next) {
12
+ case 0:
13
+ _context.prev = 0;
14
+ orgId = window.location.pathname.match(/course-(.*?):([^+]+)/)[2];
15
+ _context.next = 4;
16
+ return getAuthenticatedHttpClient().get("".concat(getConfig().LMS_BASE_URL, "/api/organizations/v0/organizations/").concat(orgId, "/"), {
17
+ useCache: true
18
+ });
19
+ case 4:
20
+ _yield$getAuthenticat = _context.sent;
21
+ data = _yield$getAuthenticat.data;
22
+ return _context.abrupt("return", data.logo);
23
+ case 9:
24
+ _context.prev = 9;
25
+ _context.t0 = _context["catch"](0);
26
+ _ref2 = _context.t0 && _context.t0.customAttributes, httpErrorStatus = _ref2.httpErrorStatus;
27
+ if (!(httpErrorStatus === 404)) {
28
+ _context.next = 14;
29
+ break;
30
+ }
31
+ return _context.abrupt("return", null);
32
+ case 14:
33
+ throw _context.t0;
34
+ case 15:
35
+ case "end":
36
+ return _context.stop();
47
37
  }
48
38
  }, _callee, null, [[0, 9]]);
49
39
  }));
50
-
51
40
  return function getCourseLogoOrg() {
52
41
  return _ref.apply(this, arguments);
53
42
  };
54
43
  }();
55
-
56
44
  export default getCourseLogoOrg;
57
45
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/learning-header/data/api.js"],"names":["getConfig","getAuthenticatedHttpClient","getCourseLogoOrg","orgId","window","location","pathname","match","get","LMS_BASE_URL","useCache","data","logo","customAttributes","httpErrorStatus"],"mappings":";;;;AAAA,SAASA,SAAT,QAA0B,wBAA1B;AACA,SAASC,0BAAT,QAA2C,6BAA3C;;AAEA,IAAMC,gBAAgB;AAAA,qEAAG;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEfC,YAAAA,KAFe,GAEPC,MAAM,CAACC,QAAP,CAAgBC,QAAhB,CAAyBC,KAAzB,CAA+B,sBAA/B,EAAuD,CAAvD,CAFO;AAAA;AAAA,mBAGEN,0BAA0B,GAC9CO,GADoB,WAEhBR,SAAS,GAAGS,YAFI,iDAE+CN,KAF/C,QAGnB;AAAEO,cAAAA,QAAQ,EAAE;AAAZ,aAHmB,CAHF;;AAAA;AAAA;AAGbC,YAAAA,IAHa,yBAGbA,IAHa;AAAA,6CAQdA,IAAI,CAACC,IARS;;AAAA;AAAA;AAAA;AAAA,oBAUO,eAAS,YAAMC,gBAVtB,EAUbC,eAVa,SAUbA,eAVa;;AAAA,kBAWjBA,eAAe,KAAK,GAXH;AAAA;AAAA;AAAA;;AAAA,6CAYZ,IAZY;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAhBZ,gBAAgB;AAAA;AAAA;AAAA,GAAtB;;AAkBA,eAAeA,gBAAf","sourcesContent":["import { getConfig } from '@edx/frontend-platform';\nimport { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';\n\nconst getCourseLogoOrg = async () => {\n try {\n const orgId = window.location.pathname.match(/course-(.*?):([^+]+)/)[2];\n const { data } = await getAuthenticatedHttpClient()\n .get(\n `${getConfig().LMS_BASE_URL}/api/organizations/v0/organizations/${orgId}/`,\n { useCache: true },\n );\n return data.logo;\n } catch (error) {\n const { httpErrorStatus } = error && error.customAttributes;\n if (httpErrorStatus === 404) {\n return null;\n }\n throw error;\n }\n};\n\nexport default getCourseLogoOrg;\n"],"file":"api.js"}
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","getCourseLogoOrg","_ref","_callee","orgId","_yield$getAuthenticat","data","_ref2","httpErrorStatus","_callee$","_context","window","location","pathname","match","get","concat","LMS_BASE_URL","useCache","logo","t0","customAttributes"],"sources":["../../../src/learning-header/data/api.js"],"sourcesContent":["import { getConfig } from '@edx/frontend-platform';\nimport { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';\n\nconst getCourseLogoOrg = async () => {\n try {\n const orgId = window.location.pathname.match(/course-(.*?):([^+]+)/)[2];\n const { data } = await getAuthenticatedHttpClient()\n .get(\n `${getConfig().LMS_BASE_URL}/api/organizations/v0/organizations/${orgId}/`,\n { useCache: true },\n );\n return data.logo;\n } catch (error) {\n const { httpErrorStatus } = error && error.customAttributes;\n if (httpErrorStatus === 404) {\n return null;\n }\n throw error;\n }\n};\n\nexport default getCourseLogoOrg;\n"],"mappings":"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","ignoreList":[]}