@commercetools-frontend/application-shell 22.14.3 → 22.15.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 (71) hide show
  1. package/dist/commercetools-frontend-application-shell.cjs.dev.js +1 -1
  2. package/dist/commercetools-frontend-application-shell.cjs.prod.js +1 -1
  3. package/dist/commercetools-frontend-application-shell.esm.js +1 -1
  4. package/dist/{custom-view-dev-host-52595f60.cjs.dev.js → custom-view-dev-host-0f62a220.cjs.dev.js} +1 -1
  5. package/dist/{custom-view-dev-host-98e7ce7d.cjs.prod.js → custom-view-dev-host-714c9d65.cjs.prod.js} +1 -1
  6. package/dist/{custom-view-dev-host-945f058b.esm.js → custom-view-dev-host-e3c2a970.esm.js} +1 -1
  7. package/dist/declarations/src/components/authenticated/oidc-callback.async.d.ts +1 -1
  8. package/dist/declarations/src/components/authenticated/oidc-callback.d.ts +1 -1
  9. package/dist/declarations/src/components/navbar/menu-items.d.ts +4 -4
  10. package/dist/declarations/src/components/navbar/use-navbar-state-manager.d.ts +1 -1
  11. package/dist/declarations/src/components/redirect-to-login/index.d.ts +1 -1
  12. package/dist/declarations/src/components/redirect-to-login/redirect-to-login.d.ts +1 -1
  13. package/dist/declarations/src/components/redirector/index.d.ts +1 -1
  14. package/dist/declarations/src/components/redirector/redirector.d.ts +6 -5
  15. package/dist/{index-c29f8aa0.cjs.prod.js → index-08c8fcb3.cjs.prod.js} +42 -19
  16. package/dist/{index-35f9f7c2.esm.js → index-4eee2222.esm.js} +56 -30
  17. package/dist/{index-0d0e6d8b.cjs.dev.js → index-97ddc7b1.cjs.dev.js} +54 -28
  18. package/dist/navbar-5a1b9a06.esm.js +1223 -0
  19. package/dist/navbar-a5342082.cjs.dev.js +1256 -0
  20. package/dist/{navbar-be902d73.cjs.prod.js → navbar-d60f807a.cjs.prod.js} +38 -8
  21. package/dist/{oidc-callback-860db268.esm.js → oidc-callback-621a8bd2.esm.js} +69 -48
  22. package/dist/{oidc-callback-25005367.cjs.prod.js → oidc-callback-f70d9fd1.cjs.prod.js} +66 -47
  23. package/dist/{oidc-callback-6aa0b446.cjs.dev.js → oidc-callback-fa62a3ca.cjs.dev.js} +70 -48
  24. package/dist/{project-container-22dd3ee8.cjs.dev.js → project-container-2751a67a.cjs.dev.js} +5 -5
  25. package/dist/{project-container-8a000259.esm.js → project-container-b2a1fd66.esm.js} +5 -5
  26. package/dist/{project-container-0b7034a5.cjs.prod.js → project-container-e657827e.cjs.prod.js} +5 -5
  27. package/dist/{project-expired-abde10a9.cjs.prod.js → project-expired-085f8e5a.cjs.prod.js} +2 -2
  28. package/dist/{project-expired-175f09e7.esm.js → project-expired-09e4078a.esm.js} +2 -2
  29. package/dist/{project-expired-7e9f4a37.cjs.dev.js → project-expired-cb7e26ef.cjs.dev.js} +2 -2
  30. package/dist/{project-not-found-89cc6d97.esm.js → project-not-found-13cd7767.esm.js} +2 -2
  31. package/dist/{project-not-found-aeb6b4e5.cjs.prod.js → project-not-found-2f6dc5d2.cjs.prod.js} +2 -2
  32. package/dist/{project-not-found-fcb9f62d.cjs.dev.js → project-not-found-7646a1ee.cjs.dev.js} +2 -2
  33. package/dist/{project-not-initialized-1e4f45dc.esm.js → project-not-initialized-74f4384a.esm.js} +2 -2
  34. package/dist/{project-not-initialized-e8c5fae6.cjs.prod.js → project-not-initialized-9694ef3e.cjs.prod.js} +2 -2
  35. package/dist/{project-not-initialized-718a18d0.cjs.dev.js → project-not-initialized-e40d16f2.cjs.dev.js} +2 -2
  36. package/dist/{project-suspended-d028eced.cjs.dev.js → project-suspended-55f2ac4f.cjs.dev.js} +2 -2
  37. package/dist/{project-suspended-1f94c722.cjs.prod.js → project-suspended-f5463061.cjs.prod.js} +2 -2
  38. package/dist/{project-suspended-0d49681f.esm.js → project-suspended-f9999215.esm.js} +2 -2
  39. package/dist/{quick-access-11418f11.esm.js → quick-access-6cd9b3ba.esm.js} +1 -1
  40. package/dist/{quick-access-08a2f835.cjs.dev.js → quick-access-8314ffe5.cjs.dev.js} +1 -1
  41. package/dist/{quick-access-ecbaedf9.cjs.prod.js → quick-access-c9f75955.cjs.prod.js} +1 -1
  42. package/dist/redirect-to-login-5e148cff.esm.js +118 -0
  43. package/dist/redirect-to-login-d2287ced.cjs.dev.js +120 -0
  44. package/dist/redirect-to-login-e4f2ca07.cjs.prod.js +120 -0
  45. package/dist/{redirect-to-logout-8cbbf5b3.cjs.dev.js → redirect-to-logout-a4bc80a6.cjs.dev.js} +3 -6
  46. package/dist/{redirect-to-logout-2418d058.cjs.prod.js → redirect-to-logout-cdcb00b1.cjs.prod.js} +3 -6
  47. package/dist/{redirect-to-logout-7fb8c085.esm.js → redirect-to-logout-ed7cd66d.esm.js} +3 -6
  48. package/dist/redirect-to-project-create-1d0c6b01.esm.js +59 -0
  49. package/dist/redirect-to-project-create-67d7cd03.cjs.dev.js +67 -0
  50. package/dist/redirect-to-project-create-c962f72f.cjs.prod.js +67 -0
  51. package/dist/{redirector-752b4efc.cjs.prod.js → redirector-15844d9b.cjs.prod.js} +22 -12
  52. package/dist/{redirector-db8b5cd2.esm.js → redirector-54a03b75.esm.js} +23 -14
  53. package/dist/{redirector-5daa8baa.cjs.dev.js → redirector-fcdeaba7.cjs.dev.js} +22 -12
  54. package/dist/{requests-in-flight-loader-41d05ebb.cjs.dev.js → requests-in-flight-loader-097bfc28.cjs.dev.js} +1 -1
  55. package/dist/{requests-in-flight-loader-9400ad17.esm.js → requests-in-flight-loader-e5951187.esm.js} +1 -1
  56. package/dist/{requests-in-flight-loader-7580242c.cjs.prod.js → requests-in-flight-loader-f584e80c.cjs.prod.js} +1 -1
  57. package/dist/{service-page-project-switcher-c2446f31.cjs.dev.js → service-page-project-switcher-8f694816.cjs.dev.js} +1 -1
  58. package/dist/{service-page-project-switcher-f7058ef7.esm.js → service-page-project-switcher-90efcfbc.esm.js} +1 -1
  59. package/dist/{service-page-project-switcher-3343ea60.cjs.prod.js → service-page-project-switcher-cc8cab71.cjs.prod.js} +1 -1
  60. package/dist/{version-tracker-d3961598.esm.js → version-tracker-46a3f021.esm.js} +1 -1
  61. package/dist/{version-tracker-0c067072.cjs.dev.js → version-tracker-9976ad26.cjs.dev.js} +1 -1
  62. package/dist/{version-tracker-abf7b029.cjs.prod.js → version-tracker-a3eb5a8e.cjs.prod.js} +1 -1
  63. package/package.json +16 -16
  64. package/dist/navbar-8409df86.cjs.dev.js +0 -1226
  65. package/dist/navbar-e4559c93.esm.js +0 -1193
  66. package/dist/redirect-to-login-573b012a.cjs.prod.js +0 -109
  67. package/dist/redirect-to-login-dffecd53.cjs.dev.js +0 -109
  68. package/dist/redirect-to-login-e569bd46.esm.js +0 -107
  69. package/dist/redirect-to-project-create-2266c427.cjs.prod.js +0 -59
  70. package/dist/redirect-to-project-create-7b476aa6.cjs.dev.js +0 -59
  71. package/dist/redirect-to-project-create-c5323504.esm.js +0 -50
@@ -82,7 +82,7 @@ const _excluded = ["icon"];
82
82
  function ownKeys$2(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
83
83
  function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$2(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
84
84
  const compiledStyles$1 = {
85
- "global": ":root {\n\n /* Left navigation */\n}\n\n@keyframes navbar-mod__visible___AKV1b {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___n7yUt {\n display: grid;\n width: 80px;\n background: var(--color-primary);\n height: 100%;\n grid-template-rows: 56px 1fr;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr {\n background-color: var(--color-accent-10);\n color: var(--color-surface);\n display: flex;\n justify-content: center;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-30);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__title___eRWUj {\n font-weight: 600;\n margin-left: var(--spacing-20);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list___RCV3J {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 0;\n}\n\n.navbar-mod__list-item___MjK6t {\n min-height: 48px;\n background: var(--color-primary);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___X2Ina {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n width: 48px;\n position: relative;\n display: block;\n}\n\n.body__menu-open .navbar-mod__item-link___X2Ina {\n width: 100%;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__icon___bLsep {\n /* 1.16 is roughly the ratio of icon-size-hover to --icon-size */\n transform: scale(1.2);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n fill: var(--color-surface);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n flex: 1;\n font-weight: 600;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n opacity: 0;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___jyAUi {\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: linear-gradient(\n 180deg,\n var(--color-primary) 0%,\n var(--color-primary-25) 100%\n );\n padding: var(--spacing-30) var(--spacing-25);\n}\n\n.navbar-mod__expander___jyAUi:hover {\n background-color: var(--color-primary-40);\n}\n\n/* divider */\n\n.navbar-mod__expander___jyAUi::before {\n content: '';\n position: absolute;\n top: 56px;\n height: 1px;\n background: rgba(255, 255, 255, 0.5);\n width: calc(100% - 2 * var(--spacing-30));\n}\n\n.navbar-mod__expand-icon___BtmRa {\n height: 40px;\n width: 40px;\n border-radius: var(--border-radius-4);\n padding: var(--spacing-20);\n background: rgba(255, 255, 255, 0.2);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__expand-icon___BtmRa:hover {\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.navbar-mod__item--bottom___eW7nh {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item_menu__active___5xFRw):hover {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__item_menu-open___zk0zh {\n height: auto !important;\n}\n\n.navbar-mod__item_menu-collapsed___cluyY .navbar-mod__item-link___X2Ina {\n text-align: center;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n box-shadow: var(--shadow-for-navbar);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t {\n height: auto;\n min-height: 48px;\n overflow: hidden;\n width: 100%;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n width: 256px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n opacity: 1;\n margin-left: var(--spacing-25);\n color: var(--color-surface);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__title___eRWUj {\n margin-left: calc(var(--spacing-25) + 2px);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__item__active___lo1sr {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___os1s7 {\n padding: var(--spacing-30);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n left: 72px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n/* This pseudo-element is required to enable smooth coursor movement from the main menu item to submenu items with the gap in between */\n\n.navbar-mod__sublist-expanded__active___240JK::before,\n.navbar-mod__sublist-collapsed__active___-9vYh::before,\n.navbar-mod__sublist-collapsed__active__above___BXCeM::before {\n content: '';\n position: absolute;\n display: block;\n width: calc(253px + var(--spacing-20));\n height: 48px;\n left: calc(-1 * var(--spacing-20));\n}\n\n.navbar-mod__sublist__inactive___kJvf- {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___gafkS {\n display: flex;\n align-items: center;\n align-self: stretch;\n transition: padding-left 150ms ease-out;\n}\n\n.navbar-mod__sublist-item__active___QC6pa {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n border-radius: var(--border-radius-4);\n background: var(--color-primary-95);\n padding-left: var(--spacing-20);\n}\n\n.navbar-mod__text___ccHEu {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n width: 100%;\n height: 100%;\n}\n\n.navbar-mod__text-link___dhtj6 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n display: flex;\n padding: var(--spacing-25);\n align-items: center;\n justify-content: center;\n}\n\n.body__menu-open .navbar-mod__text-link___dhtj6 {\n justify-content: start;\n}\n\n.navbar-mod__text-link-sublist-wrapper___1JN4x {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n position: relative;\n min-height: 0;\n}\n\n.navbar-mod__text-link-sublist___AoIpU {\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n color: var(--color-solid);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n text-decoration: none;\n flex: 1;\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n var(--spacing-30);\n}\n\n.navbar-mod__navlink-clickable-content___bzddC {\n height: 100%;\n width: 100%;\n}\n\n/* Item active */\n\n.navbar-mod__item__active___lo1sr,\n.navbar-mod__item_menu__active___5xFRw {\n background: var(--color-accent-30);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n align-self: flex-start;\n}\n\n.navbar-mod__fixed-menu___42tD9 .navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n justify-content: center;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__support-menu___fi5Ka {\n padding: 0 var(--spacing-30) var(--spacing-20) var(--spacing-30);\n height: calc(48px + var(--spacing-20));\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n position: relative;\n width: auto;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n margin-left: 0;\n}\n\n.navbar-mod__tooltip-container___iJYyi {\n position: absolute;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n visibility: visible;\n}\n\n.navbar-mod__tooltip___1ID3j {\n padding: var(--spacing-10) calc(var(--spacing-20) + var(--spacing-10));\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n border-radius: var(--border-radius-4);\n background: var(--color-accent-10);\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n color: var(--color-surface);\n max-height: 48px;\n visibility: inherit;\n}\n\n.navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__sublist-collapsed__active__above___BXCeM {\n opacity: 1;\n display: none;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--color-surface);\n /* TODO: add design tokens instead hard-coded values */\n min-height: 50px;\n width: 253px;\n border-radius: var(--border-radius-8);\n /* z-index value must be higher than AppBar's z-index */\n z-index: 20001;\n box-shadow: -2px 4px 25px 0 rgba(89, 89, 89, 0.5);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM.navbar-mod__sublist-collapsed__empty___FBUli {\n visibility: hidden;\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK {\n left: 248px;\n}\n\n.navbar-mod__highlighted___oJWkA,\n.navbar-mod__highlighted___oJWkA .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___TQLSs {\n display: none;\n}\n\n.navbar-mod__divider___TpVzu {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___G2LVb {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: hidden;\n padding: var(--spacing-30) var(--spacing-30) 48px;\n width: 80px;\n box-sizing: border-box;\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--color-primary-40) transparent;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___64pxJ {\n width: 256px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ:hover {\n overflow-y: scroll;\n padding-right: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar {\n width: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-thumb {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__fixed-menu___42tD9 {\n position: relative;\n width: 80px;\n}\n\n.body__menu-open .navbar-mod__fixed-menu___42tD9 {\n width: 256px;\n}\n",
85
+ "global": ":root {\n\n /* Left navigation */\n}\n\n@keyframes navbar-mod__visible___AKV1b {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___n7yUt {\n display: grid;\n width: 80px;\n background: var(--color-primary);\n height: 100%;\n grid-template-rows: 56px 1fr;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr {\n background-color: var(--color-accent-10);\n color: var(--color-surface);\n display: flex;\n justify-content: center;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-30);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__title___eRWUj {\n font-weight: 600;\n margin-left: var(--spacing-20);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list___RCV3J {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 0;\n}\n\n.navbar-mod__list-item___MjK6t {\n min-height: 48px;\n background: var(--color-primary);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___X2Ina {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n width: 48px;\n position: relative;\n display: block;\n}\n\n.body__menu-open .navbar-mod__item-link___X2Ina {\n width: 100%;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__icon___bLsep,\n.navbar-mod__list-item___MjK6t:focus-within .navbar-mod__icon___bLsep {\n /* 1.16 is roughly the ratio of icon-size-hover to --icon-size */\n transform: scale(1.2);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n fill: var(--color-surface);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n flex: 1;\n font-weight: 600;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n opacity: 0;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___jyAUi {\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: linear-gradient(\n 180deg,\n var(--color-primary) 0%,\n var(--color-primary-25) 100%\n );\n padding: var(--spacing-30) var(--spacing-25);\n}\n\n.navbar-mod__expander___jyAUi:hover,\n.navbar-mod__expander___jyAUi:focus {\n background-color: var(--color-primary-40);\n}\n\n/* divider */\n\n.navbar-mod__expander___jyAUi::before {\n content: '';\n position: absolute;\n top: 56px;\n height: 1px;\n background: rgba(255, 255, 255, 0.5);\n width: calc(100% - 2 * var(--spacing-30));\n}\n\n.navbar-mod__expand-icon___BtmRa {\n height: 40px;\n width: 40px;\n border-radius: var(--border-radius-4);\n padding: var(--spacing-20);\n background: rgba(255, 255, 255, 0.2);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__expand-icon___BtmRa:hover,\n.navbar-mod__expand-icon___BtmRa:focus {\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.navbar-mod__item--bottom___eW7nh {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item_menu__active___5xFRw):hover,\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item_menu__active___5xFRw):focus-within {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__item_menu-open___zk0zh {\n height: auto !important;\n}\n\n.navbar-mod__item_menu-collapsed___cluyY .navbar-mod__item-link___X2Ina {\n text-align: center;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n box-shadow: var(--shadow-for-navbar);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t {\n height: auto;\n min-height: 48px;\n width: 100%;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n width: 256px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n opacity: 1;\n margin-left: var(--spacing-25);\n color: var(--color-surface);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__title___eRWUj,\n.navbar-mod__list-item___MjK6t:focus-within .navbar-mod__title___eRWUj {\n margin-left: calc(var(--spacing-25) + 2px);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__icon___bLsep > svg *:not([fill='none']),\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):focus-within .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__title___eRWUj,\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):focus-within .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__item__active___lo1sr {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___os1s7 {\n padding: var(--spacing-30);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n left: 72px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n/* This pseudo-element is required to enable smooth coursor movement from the main menu item to submenu items with the gap in between */\n\n.navbar-mod__sublist-expanded__active___240JK::before,\n.navbar-mod__sublist-collapsed__active___-9vYh::before,\n.navbar-mod__sublist-collapsed__active__above___BXCeM::before {\n content: '';\n position: absolute;\n display: block;\n width: calc(253px + var(--spacing-20));\n height: 48px;\n left: calc(-1 * var(--spacing-20));\n}\n\n.navbar-mod__sublist__inactive___kJvf- {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___gafkS {\n display: flex;\n align-items: center;\n align-self: stretch;\n}\n\n.navbar-mod__sublist-item__active___QC6pa {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):hover,\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):focus-within {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n border-radius: var(--border-radius-4);\n background: var(--color-primary-95);\n}\n\n.navbar-mod__text___ccHEu {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n width: 100%;\n height: 100%;\n}\n\n.navbar-mod__text-link___dhtj6 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n display: flex;\n padding: var(--spacing-25);\n align-items: center;\n justify-content: center;\n}\n\n.body__menu-open .navbar-mod__text-link___dhtj6 {\n justify-content: start;\n}\n\n.navbar-mod__text-link-sublist-wrapper___1JN4x {\n display: flex;\n flex-direction: column;\n position: relative;\n min-height: 0;\n}\n\n.navbar-mod__text-link-sublist___AoIpU {\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n color: var(--color-solid);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n text-decoration: none;\n flex: 1;\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n var(--spacing-30);\n transition: padding 150ms ease-out;\n}\n\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):hover .navbar-mod__text-link-sublist___AoIpU,\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):focus-within .navbar-mod__text-link-sublist___AoIpU {\n /* additional left padding on hover and focus */\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n calc(var(--spacing-30) + var(--spacing-20));\n}\n\n.navbar-mod__navlink-clickable-content___bzddC {\n height: 100%;\n width: 100%;\n}\n\n/* Item active */\n\n.navbar-mod__item__active___lo1sr,\n.navbar-mod__item_menu__active___5xFRw,\n.navbar-mod__item_menu__active___5xFRw:focus-within .navbar-mod__list-item___MjK6t {\n background: var(--color-accent-30);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n align-self: flex-start;\n}\n\n.navbar-mod__fixed-menu___42tD9 .navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n justify-content: center;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__support-menu___fi5Ka {\n padding: var(--spacing-10) var(--spacing-30) var(--spacing-20)\n var(--spacing-30);\n height: calc(48px + var(--spacing-20));\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n position: relative;\n width: auto;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n margin-left: 0;\n}\n\n.navbar-mod__tooltip-container___iJYyi {\n position: absolute;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n visibility: visible;\n}\n\n.navbar-mod__tooltip___1ID3j {\n padding: var(--spacing-10) calc(var(--spacing-20) + var(--spacing-10));\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n border-radius: var(--border-radius-4);\n background: var(--color-accent-10);\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n color: var(--color-surface);\n max-height: 48px;\n visibility: inherit;\n}\n\n.navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__sublist-collapsed__active__above___BXCeM {\n opacity: 1;\n display: none;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-collapsed__active__above___BXCeM,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-expanded__active___240JK {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--color-surface);\n /* TODO: add design tokens instead hard-coded values */\n min-height: 50px;\n width: 253px;\n border-radius: var(--border-radius-8);\n /* z-index value must be higher than AppBar's z-index */\n z-index: 20001;\n box-shadow: -2px 4px 25px 0 rgba(89, 89, 89, 0.5);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-collapsed__active___-9vYh.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:focus-within\n .navbar-mod__sublist-collapsed__active__above___BXCeM.navbar-mod__sublist-collapsed__empty___FBUli {\n visibility: hidden;\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-expanded__active___240JK {\n left: 248px;\n}\n\n.navbar-mod__highlighted___oJWkA,\n.navbar-mod__highlighted___oJWkA .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___TQLSs {\n display: none;\n}\n\n.navbar-mod__divider___TpVzu {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___G2LVb {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: hidden;\n padding: var(--spacing-30) var(--spacing-30) 48px;\n width: 80px;\n box-sizing: border-box;\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--color-primary-40) transparent;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___64pxJ {\n width: 256px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ:hover {\n overflow-y: scroll;\n padding-right: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar {\n width: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-thumb {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__fixed-menu___42tD9 {\n position: relative;\n width: 80px;\n}\n\n.body__menu-open .navbar-mod__fixed-menu___42tD9 {\n width: 256px;\n}\n",
86
86
  "jsonMap": {
87
87
  "left-navigation": "navbar-mod__left-navigation___n7yUt",
88
88
  "navigation-header": "navbar-mod__navigation-header___Z6fOr",
@@ -214,6 +214,12 @@ const MenuExpander = props => {
214
214
  }),
215
215
  children: jsxRuntime.jsx("div", {
216
216
  onClick: props.onClick,
217
+ onKeyDown: e => {
218
+ if (e.key === 'Enter') {
219
+ props.onClick(e);
220
+ }
221
+ },
222
+ tabIndex: 0,
217
223
  className: styles$1['expand-icon'],
218
224
  "data-testid": "menu-expander",
219
225
  children: getIcon(props)
@@ -286,6 +292,8 @@ const MenuItem$1 = props => {
286
292
  onClick: props.onClick,
287
293
  onMouseEnter: props.onMouseEnter,
288
294
  onMouseLeave: props.onMouseLeave,
295
+ onFocus: props.onMouseEnter,
296
+ onBlur: props.onMouseLeave,
289
297
  "data-menuitem": props.identifier,
290
298
  children: jsxRuntime.jsx("div", {
291
299
  className: styles$1['item-link'],
@@ -325,12 +333,14 @@ NavLinkClickableContentWrapper.propTypes = {};
325
333
  const MenuItemLink = props => {
326
334
  const redirectTo = targetUrl => useIsServedByProxy.location.replace(targetUrl);
327
335
  if (props.linkTo) {
336
+ const linkLevel = props.isSubmenuLink ? 'text-link-sublist' : 'text-link';
328
337
  return jsxRuntime.jsx(NavLinkWrapper, _objectSpread$2(_objectSpread$2({}, props), {}, {
329
338
  children: jsxRuntime.jsx(reactRouterDom.NavLink, {
330
339
  to: props.linkTo,
331
340
  exact: props.exactMatch,
332
341
  activeClassName: styles$1.highlighted,
333
- className: props.isSubmenuLink ? styles$1['text-link-sublist'] : styles$1['text-link'],
342
+ className: styles$1[linkLevel],
343
+ "data-link-level": linkLevel,
334
344
  onClick: event => {
335
345
  if (props.linkTo && props.useFullRedirectsForLinks) {
336
346
  event.preventDefault();
@@ -586,6 +596,15 @@ const reducer = (state, action) => {
586
596
  return state;
587
597
  }
588
598
  };
599
+ const isFocusOutEventCalledBySubmenuItem = event => {
600
+ var _event$relatedTarget, _event$target;
601
+ return (
602
+ // a case when a submenu item loses focus
603
+ event.type === 'focusout' && ( // element receiving focus
604
+ (_event$relatedTarget = event.relatedTarget) === null || _event$relatedTarget === void 0 ? void 0 : _event$relatedTarget.matches('a[data-link-level="text-link"]')) && ( // element losing focus
605
+ (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.matches('a[data-link-level="text-link-sublist"]'))
606
+ );
607
+ };
589
608
  const useNavbarStateManager = props => {
590
609
  var _context, _context2, _context4, _context5;
591
610
  const navBarNode = react.useRef(null);
@@ -685,18 +704,29 @@ const useNavbarStateManager = props => {
685
704
  }
686
705
  }, 100), [isForcedMenuOpen, state.isExpanderVisible, state.isMenuOpen]);
687
706
  const shouldCloseMenuFly = react.useCallback(event => {
688
- if (navBarNode && navBarNode.current && !navBarNode.current.contains(event.target) && !state.isMenuOpen) dispatch({
689
- type: 'unsetActiveItemIndex'
690
- });else if (event.type === 'mouseleave') dispatch({
691
- type: 'unsetActiveItemIndex'
692
- });
707
+ var _navBarNode$current;
708
+ if (!(navBarNode !== null && navBarNode !== void 0 && (_navBarNode$current = navBarNode.current) !== null && _navBarNode$current !== void 0 && _navBarNode$current.contains(event.target)) && !state.isMenuOpen) {
709
+ dispatch({
710
+ type: 'unsetActiveItemIndex'
711
+ });
712
+ } else if (event.type === 'mouseleave') {
713
+ dispatch({
714
+ type: 'unsetActiveItemIndex'
715
+ });
716
+ } else if (isFocusOutEventCalledBySubmenuItem(event)) {
717
+ dispatch({
718
+ type: 'unsetActiveItemIndex'
719
+ });
720
+ }
693
721
  }, [state.isMenuOpen]);
694
722
  react.useEffect(() => {
695
723
  window.addEventListener('resize', checkSize);
696
724
  window.addEventListener('click', shouldCloseMenuFly, true);
725
+ window.addEventListener('focusout', shouldCloseMenuFly, true);
697
726
  return () => {
698
727
  window.removeEventListener('resize', checkSize);
699
728
  window.removeEventListener('click', shouldCloseMenuFly, true);
729
+ window.removeEventListener('focusout', shouldCloseMenuFly, true);
700
730
  };
701
731
  }, [checkSize, shouldCloseMenuFly]);
702
732
  react.useEffect(() => {
@@ -742,7 +772,7 @@ const useNavbarStateManager = props => {
742
772
  function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
743
773
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context10, _context11; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context10 = ownKeys(Object(t), !0)).call(_context10, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context11 = ownKeys(Object(t))).call(_context11, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
744
774
  const compiledStyles = {
745
- "global": ":root {\n\n /* Left navigation */\n}\n\n@keyframes navbar-mod__visible___AKV1b {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___n7yUt {\n display: grid;\n width: 80px;\n background: var(--color-primary);\n height: 100%;\n grid-template-rows: 56px 1fr;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr {\n background-color: var(--color-accent-10);\n color: var(--color-surface);\n display: flex;\n justify-content: center;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-30);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__title___eRWUj {\n font-weight: 600;\n margin-left: var(--spacing-20);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list___RCV3J {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 0;\n}\n\n.navbar-mod__list-item___MjK6t {\n min-height: 48px;\n background: var(--color-primary);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___X2Ina {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n width: 48px;\n position: relative;\n display: block;\n}\n\n.body__menu-open .navbar-mod__item-link___X2Ina {\n width: 100%;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__icon___bLsep {\n /* 1.16 is roughly the ratio of icon-size-hover to --icon-size */\n transform: scale(1.2);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n fill: var(--color-surface);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n flex: 1;\n font-weight: 600;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n opacity: 0;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___jyAUi {\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: linear-gradient(\n 180deg,\n var(--color-primary) 0%,\n var(--color-primary-25) 100%\n );\n padding: var(--spacing-30) var(--spacing-25);\n}\n\n.navbar-mod__expander___jyAUi:hover {\n background-color: var(--color-primary-40);\n}\n\n/* divider */\n\n.navbar-mod__expander___jyAUi::before {\n content: '';\n position: absolute;\n top: 56px;\n height: 1px;\n background: rgba(255, 255, 255, 0.5);\n width: calc(100% - 2 * var(--spacing-30));\n}\n\n.navbar-mod__expand-icon___BtmRa {\n height: 40px;\n width: 40px;\n border-radius: var(--border-radius-4);\n padding: var(--spacing-20);\n background: rgba(255, 255, 255, 0.2);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__expand-icon___BtmRa:hover {\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.navbar-mod__item--bottom___eW7nh {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item_menu__active___5xFRw):hover {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__item_menu-open___zk0zh {\n height: auto !important;\n}\n\n.navbar-mod__item_menu-collapsed___cluyY .navbar-mod__item-link___X2Ina {\n text-align: center;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n box-shadow: var(--shadow-for-navbar);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t {\n height: auto;\n min-height: 48px;\n overflow: hidden;\n width: 100%;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n width: 256px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n opacity: 1;\n margin-left: var(--spacing-25);\n color: var(--color-surface);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__title___eRWUj {\n margin-left: calc(var(--spacing-25) + 2px);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__item__active___lo1sr {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___os1s7 {\n padding: var(--spacing-30);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n left: 72px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n/* This pseudo-element is required to enable smooth coursor movement from the main menu item to submenu items with the gap in between */\n\n.navbar-mod__sublist-expanded__active___240JK::before,\n.navbar-mod__sublist-collapsed__active___-9vYh::before,\n.navbar-mod__sublist-collapsed__active__above___BXCeM::before {\n content: '';\n position: absolute;\n display: block;\n width: calc(253px + var(--spacing-20));\n height: 48px;\n left: calc(-1 * var(--spacing-20));\n}\n\n.navbar-mod__sublist__inactive___kJvf- {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___gafkS {\n display: flex;\n align-items: center;\n align-self: stretch;\n transition: padding-left 150ms ease-out;\n}\n\n.navbar-mod__sublist-item__active___QC6pa {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n border-radius: var(--border-radius-4);\n background: var(--color-primary-95);\n padding-left: var(--spacing-20);\n}\n\n.navbar-mod__text___ccHEu {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n width: 100%;\n height: 100%;\n}\n\n.navbar-mod__text-link___dhtj6 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n display: flex;\n padding: var(--spacing-25);\n align-items: center;\n justify-content: center;\n}\n\n.body__menu-open .navbar-mod__text-link___dhtj6 {\n justify-content: start;\n}\n\n.navbar-mod__text-link-sublist-wrapper___1JN4x {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n position: relative;\n min-height: 0;\n}\n\n.navbar-mod__text-link-sublist___AoIpU {\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n color: var(--color-solid);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n text-decoration: none;\n flex: 1;\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n var(--spacing-30);\n}\n\n.navbar-mod__navlink-clickable-content___bzddC {\n height: 100%;\n width: 100%;\n}\n\n/* Item active */\n\n.navbar-mod__item__active___lo1sr,\n.navbar-mod__item_menu__active___5xFRw {\n background: var(--color-accent-30);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n align-self: flex-start;\n}\n\n.navbar-mod__fixed-menu___42tD9 .navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n justify-content: center;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__support-menu___fi5Ka {\n padding: 0 var(--spacing-30) var(--spacing-20) var(--spacing-30);\n height: calc(48px + var(--spacing-20));\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n position: relative;\n width: auto;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n margin-left: 0;\n}\n\n.navbar-mod__tooltip-container___iJYyi {\n position: absolute;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n visibility: visible;\n}\n\n.navbar-mod__tooltip___1ID3j {\n padding: var(--spacing-10) calc(var(--spacing-20) + var(--spacing-10));\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n border-radius: var(--border-radius-4);\n background: var(--color-accent-10);\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n color: var(--color-surface);\n max-height: 48px;\n visibility: inherit;\n}\n\n.navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__sublist-collapsed__active__above___BXCeM {\n opacity: 1;\n display: none;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--color-surface);\n /* TODO: add design tokens instead hard-coded values */\n min-height: 50px;\n width: 253px;\n border-radius: var(--border-radius-8);\n /* z-index value must be higher than AppBar's z-index */\n z-index: 20001;\n box-shadow: -2px 4px 25px 0 rgba(89, 89, 89, 0.5);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM.navbar-mod__sublist-collapsed__empty___FBUli {\n visibility: hidden;\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK {\n left: 248px;\n}\n\n.navbar-mod__highlighted___oJWkA,\n.navbar-mod__highlighted___oJWkA .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___TQLSs {\n display: none;\n}\n\n.navbar-mod__divider___TpVzu {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___G2LVb {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: hidden;\n padding: var(--spacing-30) var(--spacing-30) 48px;\n width: 80px;\n box-sizing: border-box;\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--color-primary-40) transparent;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___64pxJ {\n width: 256px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ:hover {\n overflow-y: scroll;\n padding-right: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar {\n width: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-thumb {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__fixed-menu___42tD9 {\n position: relative;\n width: 80px;\n}\n\n.body__menu-open .navbar-mod__fixed-menu___42tD9 {\n width: 256px;\n}\n",
775
+ "global": ":root {\n\n /* Left navigation */\n}\n\n@keyframes navbar-mod__visible___AKV1b {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___n7yUt {\n display: grid;\n width: 80px;\n background: var(--color-primary);\n height: 100%;\n grid-template-rows: 56px 1fr;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr {\n background-color: var(--color-accent-10);\n color: var(--color-surface);\n display: flex;\n justify-content: center;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-30);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__title___eRWUj {\n font-weight: 600;\n margin-left: var(--spacing-20);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list___RCV3J {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 0;\n}\n\n.navbar-mod__list-item___MjK6t {\n min-height: 48px;\n background: var(--color-primary);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___X2Ina {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n width: 48px;\n position: relative;\n display: block;\n}\n\n.body__menu-open .navbar-mod__item-link___X2Ina {\n width: 100%;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__icon___bLsep,\n.navbar-mod__list-item___MjK6t:focus-within .navbar-mod__icon___bLsep {\n /* 1.16 is roughly the ratio of icon-size-hover to --icon-size */\n transform: scale(1.2);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n fill: var(--color-surface);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n flex: 1;\n font-weight: 600;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n opacity: 0;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___jyAUi {\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: linear-gradient(\n 180deg,\n var(--color-primary) 0%,\n var(--color-primary-25) 100%\n );\n padding: var(--spacing-30) var(--spacing-25);\n}\n\n.navbar-mod__expander___jyAUi:hover,\n.navbar-mod__expander___jyAUi:focus {\n background-color: var(--color-primary-40);\n}\n\n/* divider */\n\n.navbar-mod__expander___jyAUi::before {\n content: '';\n position: absolute;\n top: 56px;\n height: 1px;\n background: rgba(255, 255, 255, 0.5);\n width: calc(100% - 2 * var(--spacing-30));\n}\n\n.navbar-mod__expand-icon___BtmRa {\n height: 40px;\n width: 40px;\n border-radius: var(--border-radius-4);\n padding: var(--spacing-20);\n background: rgba(255, 255, 255, 0.2);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__expand-icon___BtmRa:hover,\n.navbar-mod__expand-icon___BtmRa:focus {\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.navbar-mod__item--bottom___eW7nh {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item_menu__active___5xFRw):hover,\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item_menu__active___5xFRw):focus-within {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__item_menu-open___zk0zh {\n height: auto !important;\n}\n\n.navbar-mod__item_menu-collapsed___cluyY .navbar-mod__item-link___X2Ina {\n text-align: center;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n box-shadow: var(--shadow-for-navbar);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t {\n height: auto;\n min-height: 48px;\n width: 100%;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n width: 256px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n opacity: 1;\n margin-left: var(--spacing-25);\n color: var(--color-surface);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__title___eRWUj,\n.navbar-mod__list-item___MjK6t:focus-within .navbar-mod__title___eRWUj {\n margin-left: calc(var(--spacing-25) + 2px);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__icon___bLsep > svg *:not([fill='none']),\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):focus-within .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__title___eRWUj,\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):focus-within .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__item__active___lo1sr {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___os1s7 {\n padding: var(--spacing-30);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n left: 72px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n/* This pseudo-element is required to enable smooth coursor movement from the main menu item to submenu items with the gap in between */\n\n.navbar-mod__sublist-expanded__active___240JK::before,\n.navbar-mod__sublist-collapsed__active___-9vYh::before,\n.navbar-mod__sublist-collapsed__active__above___BXCeM::before {\n content: '';\n position: absolute;\n display: block;\n width: calc(253px + var(--spacing-20));\n height: 48px;\n left: calc(-1 * var(--spacing-20));\n}\n\n.navbar-mod__sublist__inactive___kJvf- {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___gafkS {\n display: flex;\n align-items: center;\n align-self: stretch;\n}\n\n.navbar-mod__sublist-item__active___QC6pa {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):hover,\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):focus-within {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n border-radius: var(--border-radius-4);\n background: var(--color-primary-95);\n}\n\n.navbar-mod__text___ccHEu {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n width: 100%;\n height: 100%;\n}\n\n.navbar-mod__text-link___dhtj6 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n display: flex;\n padding: var(--spacing-25);\n align-items: center;\n justify-content: center;\n}\n\n.body__menu-open .navbar-mod__text-link___dhtj6 {\n justify-content: start;\n}\n\n.navbar-mod__text-link-sublist-wrapper___1JN4x {\n display: flex;\n flex-direction: column;\n position: relative;\n min-height: 0;\n}\n\n.navbar-mod__text-link-sublist___AoIpU {\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n color: var(--color-solid);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n text-decoration: none;\n flex: 1;\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n var(--spacing-30);\n transition: padding 150ms ease-out;\n}\n\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):hover .navbar-mod__text-link-sublist___AoIpU,\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):focus-within .navbar-mod__text-link-sublist___AoIpU {\n /* additional left padding on hover and focus */\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n calc(var(--spacing-30) + var(--spacing-20));\n}\n\n.navbar-mod__navlink-clickable-content___bzddC {\n height: 100%;\n width: 100%;\n}\n\n/* Item active */\n\n.navbar-mod__item__active___lo1sr,\n.navbar-mod__item_menu__active___5xFRw,\n.navbar-mod__item_menu__active___5xFRw:focus-within .navbar-mod__list-item___MjK6t {\n background: var(--color-accent-30);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n align-self: flex-start;\n}\n\n.navbar-mod__fixed-menu___42tD9 .navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n justify-content: center;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__support-menu___fi5Ka {\n padding: var(--spacing-10) var(--spacing-30) var(--spacing-20)\n var(--spacing-30);\n height: calc(48px + var(--spacing-20));\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n position: relative;\n width: auto;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n margin-left: 0;\n}\n\n.navbar-mod__tooltip-container___iJYyi {\n position: absolute;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n visibility: visible;\n}\n\n.navbar-mod__tooltip___1ID3j {\n padding: var(--spacing-10) calc(var(--spacing-20) + var(--spacing-10));\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n border-radius: var(--border-radius-4);\n background: var(--color-accent-10);\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n color: var(--color-surface);\n max-height: 48px;\n visibility: inherit;\n}\n\n.navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__sublist-collapsed__active__above___BXCeM {\n opacity: 1;\n display: none;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-collapsed__active__above___BXCeM,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-expanded__active___240JK {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--color-surface);\n /* TODO: add design tokens instead hard-coded values */\n min-height: 50px;\n width: 253px;\n border-radius: var(--border-radius-8);\n /* z-index value must be higher than AppBar's z-index */\n z-index: 20001;\n box-shadow: -2px 4px 25px 0 rgba(89, 89, 89, 0.5);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-collapsed__active___-9vYh.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:focus-within\n .navbar-mod__sublist-collapsed__active__above___BXCeM.navbar-mod__sublist-collapsed__empty___FBUli {\n visibility: hidden;\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__item-link___X2Ina:focus-within .navbar-mod__sublist-expanded__active___240JK {\n left: 248px;\n}\n\n.navbar-mod__highlighted___oJWkA,\n.navbar-mod__highlighted___oJWkA .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___TQLSs {\n display: none;\n}\n\n.navbar-mod__divider___TpVzu {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___G2LVb {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: hidden;\n padding: var(--spacing-30) var(--spacing-30) 48px;\n width: 80px;\n box-sizing: border-box;\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--color-primary-40) transparent;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___64pxJ {\n width: 256px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ:hover {\n overflow-y: scroll;\n padding-right: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar {\n width: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-thumb {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__fixed-menu___42tD9 {\n position: relative;\n width: 80px;\n}\n\n.body__menu-open .navbar-mod__fixed-menu___42tD9 {\n width: 256px;\n}\n",
746
776
  "jsonMap": {
747
777
  "left-navigation": "navbar-mod__left-navigation___n7yUt",
748
778
  "navigation-header": "navbar-mod__navigation-header___Z6fOr",
@@ -1,9 +1,12 @@
1
+ import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
2
+ import _pt from 'prop-types';
1
3
  import _URL from '@babel/runtime-corejs3/core-js-stable/url';
4
+ import { useState, useEffect } from 'react';
2
5
  import jwtDecode from 'jwt-decode';
3
6
  import { decode } from 'qss';
4
7
  import { useHistory, useLocation } from 'react-router-dom';
5
8
  import { oidcStorage } from '@commercetools-frontend/application-shell-connectors';
6
- import { R as Redirector } from './redirector-db8b5cd2.esm.js';
9
+ import { u as useRedirector } from './redirector-54a03b75.esm.js';
7
10
  import _styled from '@emotion/styled/base';
8
11
  import { themesOverrides, PublicPageLayout } from '@commercetools-frontend/application-components';
9
12
  import FailedAuthenticationSVG from '@commercetools-frontend/assets/images/doors-closed.svg';
@@ -16,7 +19,7 @@ import { AngleLeftIcon } from '@commercetools-uikit/icons';
16
19
  import { ContentNotification } from '@commercetools-uikit/notifications';
17
20
  import Spacings from '@commercetools-uikit/spacings';
18
21
  import Text from '@commercetools-uikit/text';
19
- import { C as ConfigureIntlProvider } from './index-35f9f7c2.esm.js';
22
+ import { C as ConfigureIntlProvider } from './index-4eee2222.esm.js';
20
23
  import { jsx, jsxs } from '@emotion/react/jsx-runtime';
21
24
  import '@babel/runtime-corejs3/core-js-stable/object/keys';
22
25
  import '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';
@@ -27,11 +30,8 @@ import '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor
27
30
  import '@babel/runtime-corejs3/core-js-stable/object/define-properties';
28
31
  import '@babel/runtime-corejs3/core-js-stable/object/define-property';
29
32
  import '@babel/runtime-corejs3/helpers/defineProperty';
30
- import 'prop-types';
31
- import 'react';
32
33
  import './use-is-served-by-proxy-77984220.esm.js';
33
34
  import './index-89e5711a.esm.js';
34
- import '@babel/runtime-corejs3/helpers/slicedToArray';
35
35
  import '@babel/runtime-corejs3/core-js-stable/instance/reduce';
36
36
  import '@babel/runtime-corejs3/core-js-stable/object/entries';
37
37
  import '@babel/runtime-corejs3/core-js-stable/reflect/has';
@@ -94,7 +94,7 @@ const Divider = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production
94
94
  } : {
95
95
  target: "e57nw7s0",
96
96
  label: "Divider"
97
- })("box-sizing:border-box;width:100%;margin:0;border:0;border-style:solid;border-top-width:1px;border-top-color:", customProperties.colorNeutral, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9pZGMtY2FsbGJhY2stZXJyb3ItcGFnZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEIwQiIsImZpbGUiOiJvaWRjLWNhbGxiYWNrLWVycm9yLXBhZ2UudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHtcbiAgUHVibGljUGFnZUxheW91dCxcbiAgdGhlbWVzT3ZlcnJpZGVzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCBGYWlsZWRBdXRoZW50aWNhdGlvblNWRyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2Rvb3JzLWNsb3NlZC5zdmcnO1xuaW1wb3J0IHR5cGUgeyBUQXN5bmNMb2NhbGVEYXRhUHJvcHMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9pMThuJztcblxuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgQ2FyZCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jYXJkJztcbmltcG9ydCBDb25zdHJhaW50cyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb25zdHJhaW50cyc7XG5pbXBvcnQge1xuICBUaGVtZVByb3ZpZGVyLFxuICBjdXN0b21Qcm9wZXJ0aWVzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IEFuZ2xlTGVmdEljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgeyBDb250ZW50Tm90aWZpY2F0aW9uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvbm90aWZpY2F0aW9ucyc7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgQ29uZmlndXJlSW50bFByb3ZpZGVyIGZyb20gJy4uL2NvbmZpZ3VyZS1pbnRsLXByb3ZpZGVyJztcblxudHlwZSBUUHJvcHMgPSB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgbG9jYWxlOiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTWVzc2FnZXM6IFRBc3luY0xvY2FsZURhdGFQcm9wc1snYXBwbGljYXRpb25NZXNzYWdlcyddO1xuICBjaGlsZHJlbj86IG5ldmVyO1xufTtcblxuY29uc3QgRGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JOZXV0cmFsfTtcbmA7XG5cbmNvbnN0IEF1dGhDYWxsYmFja0Vycm9yUGFnZSA9IChwcm9wczogVFByb3BzKSA9PiB7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIHJldHVybiAoXG4gICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgbG9jYWxlPXtwcm9wcy5sb2NhbGV9XG4gICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgID5cbiAgICAgIHsoeyBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICA8VGhlbWVQcm92aWRlclxuICAgICAgICAgICAgdGhlbWU9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgIHRoZW1lT3ZlcnJpZGVzPXt0aGVtZXNPdmVycmlkZXMuZGVmYXVsdH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxQdWJsaWNQYWdlTGF5b3V0IGNvbnRlbnRTY2FsZT1cIndpZGVcIj5cbiAgICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXsxMX0+XG4gICAgICAgICAgICAgICAgPENhcmQgaW5zZXRTY2FsZT1cInhsXCI+XG4gICAgICAgICAgICAgICAgICA8U3BhY2luZ3MuU3RhY2sgc2NhbGU9XCJsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9e0ZhaWxlZEF1dGhlbnRpY2F0aW9uU1ZHfVxuICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiRmFpbGVkIGF1dGhlbnRpY2F0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgICAgICAgICAgICAgPFRleHQuSGVhZGxpbmUgYXM9XCJoMlwiPlxuICAgICAgICAgICAgICAgICAgICAgIHsnQXV0aGVudGljYXRpb24gZXJyb3InfVxuICAgICAgICAgICAgICAgICAgICA8L1RleHQuSGVhZGxpbmU+XG4gICAgICAgICAgICAgICAgICAgIDxDb250ZW50Tm90aWZpY2F0aW9uIHR5cGU9XCJlcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxTcGFjaW5ncy5TdGFjayBzY2FsZT1cIm1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0LkJvZHk+e3Byb3BzLm1lc3NhZ2V9PC9UZXh0LkJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgPC9TcGFjaW5ncy5TdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgPC9Db250ZW50Tm90aWZpY2F0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8U3BhY2luZ3MuU3RhY2sgc2NhbGU9XCJtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPERpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8RmxhdEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJUcnkgbG9nIGluIGFnYWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249ezxBbmdsZUxlZnRJY29uIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBoaXN0b3J5LnB1c2goJy8nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TcGFjaW5ncy5TdGFjaz5cbiAgICAgICAgICAgICAgICAgIDwvU3BhY2luZ3MuU3RhY2s+XG4gICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICA8L0NvbnN0cmFpbnRzLkhvcml6b250YWw+XG4gICAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgICA8L1B1YmxpY1BhZ2VMYXlvdXQ+XG4gICAgICAgIDwvQ29uZmlndXJlSW50bFByb3ZpZGVyPlxuICAgICAgKX1cbiAgICA8L0FzeW5jTG9jYWxlRGF0YT5cbiAgKTtcbn07XG5BdXRoQ2FsbGJhY2tFcnJvclBhZ2UuZGlzcGxheU5hbWUgPSAnQXV0aENhbGxiYWNrRXJyb3JQYWdlJztcblxuZXhwb3J0IGRlZmF1bHQgQXV0aENhbGxiYWNrRXJyb3JQYWdlO1xuIl19 */"));
97
+ })("box-sizing:border-box;width:100%;margin:0;border:0;border-style:solid;border-top-width:1px;border-top-color:", customProperties.colorNeutral, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9pZGMtY2FsbGJhY2stZXJyb3ItcGFnZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEIwQiIsImZpbGUiOiJvaWRjLWNhbGxiYWNrLWVycm9yLXBhZ2UudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHtcbiAgUHVibGljUGFnZUxheW91dCxcbiAgdGhlbWVzT3ZlcnJpZGVzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCBGYWlsZWRBdXRoZW50aWNhdGlvblNWRyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2Rvb3JzLWNsb3NlZC5zdmcnO1xuaW1wb3J0IHR5cGUgeyBUQXN5bmNMb2NhbGVEYXRhUHJvcHMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9pMThuJztcblxuaW1wb3J0IHsgQXN5bmNMb2NhbGVEYXRhIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvaTE4bic7XG5pbXBvcnQgQ2FyZCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jYXJkJztcbmltcG9ydCBDb25zdHJhaW50cyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb25zdHJhaW50cyc7XG5pbXBvcnQge1xuICBUaGVtZVByb3ZpZGVyLFxuICBjdXN0b21Qcm9wZXJ0aWVzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IEFuZ2xlTGVmdEljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgeyBDb250ZW50Tm90aWZpY2F0aW9uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvbm90aWZpY2F0aW9ucyc7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgQ29uZmlndXJlSW50bFByb3ZpZGVyIGZyb20gJy4uL2NvbmZpZ3VyZS1pbnRsLXByb3ZpZGVyJztcblxudHlwZSBUUHJvcHMgPSB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgbG9jYWxlOiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTWVzc2FnZXM6IFRBc3luY0xvY2FsZURhdGFQcm9wc1snYXBwbGljYXRpb25NZXNzYWdlcyddO1xuICBjaGlsZHJlbj86IG5ldmVyO1xufTtcblxuY29uc3QgRGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICBib3JkZXItdG9wLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JOZXV0cmFsfTtcbmA7XG5cbmNvbnN0IEF1dGhDYWxsYmFja0Vycm9yUGFnZSA9IChwcm9wczogVFByb3BzKSA9PiB7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIHJldHVybiAoXG4gICAgPEFzeW5jTG9jYWxlRGF0YVxuICAgICAgbG9jYWxlPXtwcm9wcy5sb2NhbGV9XG4gICAgICBhcHBsaWNhdGlvbk1lc3NhZ2VzPXtwcm9wcy5hcHBsaWNhdGlvbk1lc3NhZ2VzfVxuICAgID5cbiAgICAgIHsoeyBsb2NhbGUsIG1lc3NhZ2VzIH0pID0+IChcbiAgICAgICAgPENvbmZpZ3VyZUludGxQcm92aWRlciBsb2NhbGU9e2xvY2FsZX0gbWVzc2FnZXM9e21lc3NhZ2VzfT5cbiAgICAgICAgICA8VGhlbWVQcm92aWRlclxuICAgICAgICAgICAgdGhlbWU9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgIHRoZW1lT3ZlcnJpZGVzPXt0aGVtZXNPdmVycmlkZXMuZGVmYXVsdH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxQdWJsaWNQYWdlTGF5b3V0IGNvbnRlbnRTY2FsZT1cIndpZGVcIj5cbiAgICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXsxMX0+XG4gICAgICAgICAgICAgICAgPENhcmQgaW5zZXRTY2FsZT1cInhsXCI+XG4gICAgICAgICAgICAgICAgICA8U3BhY2luZ3MuU3RhY2sgc2NhbGU9XCJsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtGYWlsZWRBdXRoZW50aWNhdGlvblNWR31cbiAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIkZhaWxlZCBhdXRoZW50aWNhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgICAgICAgICAgICAgIDxUZXh0LkhlYWRsaW5lIGFzPVwiaDJcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7J0F1dGhlbnRpY2F0aW9uIGVycm9yJ31cbiAgICAgICAgICAgICAgICAgICAgPC9UZXh0LkhlYWRsaW5lPlxuICAgICAgICAgICAgICAgICAgICA8Q29udGVudE5vdGlmaWNhdGlvbiB0eXBlPVwiZXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8U3BhY2luZ3MuU3RhY2sgc2NhbGU9XCJtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8VGV4dC5Cb2R5Pntwcm9wcy5tZXNzYWdlfTwvVGV4dC5Cb2R5PlxuICAgICAgICAgICAgICAgICAgICAgIDwvU3BhY2luZ3MuU3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvQ29udGVudE5vdGlmaWNhdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPFNwYWNpbmdzLlN0YWNrIHNjYWxlPVwibVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxEaXZpZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiVHJ5IGxvZyBpbiBhZ2FpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uPXs8QW5nbGVMZWZ0SWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGlzdG9yeS5wdXNoKCcvJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU3BhY2luZ3MuU3RhY2s+XG4gICAgICAgICAgICAgICAgICA8L1NwYWNpbmdzLlN0YWNrPlxuICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgPC9Db25zdHJhaW50cy5Ib3Jpem9udGFsPlxuICAgICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgICAgPC9QdWJsaWNQYWdlTGF5b3V0PlxuICAgICAgICA8L0NvbmZpZ3VyZUludGxQcm92aWRlcj5cbiAgICAgICl9XG4gICAgPC9Bc3luY0xvY2FsZURhdGE+XG4gICk7XG59O1xuQXV0aENhbGxiYWNrRXJyb3JQYWdlLmRpc3BsYXlOYW1lID0gJ0F1dGhDYWxsYmFja0Vycm9yUGFnZSc7XG5cbmV4cG9ydCBkZWZhdWx0IEF1dGhDYWxsYmFja0Vycm9yUGFnZTtcbiJdfQ== */"));
98
98
  const AuthCallbackErrorPage = props => {
99
99
  const history = useHistory();
100
100
  return jsx(AsyncLocaleData, {
@@ -122,6 +122,7 @@ const AuthCallbackErrorPage = props => {
122
122
  children: [jsx(Spacings.Inline, {
123
123
  justifyContent: "center",
124
124
  children: jsx("img", {
125
+ width: "100%",
125
126
  src: FailedAuthenticationSVG,
126
127
  alt: "Failed authentication"
127
128
  })
@@ -159,59 +160,79 @@ AuthCallbackErrorPage.displayName = 'AuthCallbackErrorPage';
159
160
 
160
161
  const OidcCallback = props => {
161
162
  const location = useLocation();
162
- let errorMessage;
163
+ const redirector = useRedirector();
164
+ const _useState = useState(),
165
+ _useState2 = _slicedToArray(_useState, 2),
166
+ message = _useState2[0],
167
+ setMessage = _useState2[1];
163
168
  const fragments = decode(location.hash.substring(1));
164
-
165
- // Validate the nonce (coming as a `state` parameter)
166
- // By trying to load the related session state, we can implicitly check if the nonce is correct or not.
167
- const sessionState = oidcStorage.getSessionState(fragments.state);
168
169
  const sessionToken = fragments.sessionToken;
169
- let decodedSessionToken;
170
- try {
171
- if (sessionToken) {
172
- decodedSessionToken = jwtDecode(sessionToken);
173
- } else {
174
- errorMessage = 'Invalid client session (missing sessionToken)';
170
+ useEffect(() => {
171
+ // Validate the nonce (coming as a `state` parameter)
172
+ // By trying to load the related session state, we can implicitly check if the nonce is correct or not.
173
+ const sessionState = oidcStorage.getSessionState(fragments.state);
174
+ let errorMessage;
175
+ let decodedSessionToken;
176
+ try {
177
+ if (sessionToken) {
178
+ decodedSessionToken = jwtDecode(sessionToken);
179
+ } else {
180
+ errorMessage = 'Invalid client session (missing sessionToken)';
181
+ }
182
+ } catch (err) {
183
+ if (err instanceof Error) {
184
+ errorMessage = err.message;
185
+ } else {
186
+ errorMessage = 'Unknown error';
187
+ }
175
188
  }
176
- } catch (err) {
177
- if (err instanceof Error) {
178
- errorMessage = err.message;
179
- } else {
180
- errorMessage = 'Unknown error';
189
+ if (!errorMessage) {
190
+ var _decodedSessionToken;
191
+ const hasValidSessionId = ((_decodedSessionToken = decodedSessionToken) === null || _decodedSessionToken === void 0 ? void 0 : _decodedSessionToken.nonce) === fragments.state;
192
+ const hasValidApplicationId = window.app.applicationId === (sessionState === null || sessionState === void 0 ? void 0 : sessionState.applicationId);
193
+ if (!sessionState || !hasValidSessionId || !hasValidApplicationId) {
194
+ errorMessage = 'Invalid client session';
195
+ }
181
196
  }
182
- }
183
- if (!errorMessage) {
184
- var _decodedSessionToken;
185
- const hasValidSessionId = ((_decodedSessionToken = decodedSessionToken) === null || _decodedSessionToken === void 0 ? void 0 : _decodedSessionToken.nonce) === fragments.state;
186
- const hasValidApplicationId = window.app.applicationId === (sessionState === null || sessionState === void 0 ? void 0 : sessionState.applicationId);
187
- if (!sessionState || !hasValidSessionId || !hasValidApplicationId) {
188
- errorMessage = 'Invalid client session';
197
+ if (errorMessage) {
198
+ setMessage(errorMessage);
199
+ } else {
200
+ oidcStorage.setActiveSession(sessionToken);
201
+ oidcStorage.removeSessionState(fragments.state);
202
+ if (sessionState !== null && sessionState !== void 0 && sessionState.query.redirectTo) {
203
+ try {
204
+ const redirectToUrl = new _URL(sessionState.query.redirectTo);
205
+ redirector({
206
+ to: redirectToUrl.pathname
207
+ });
208
+ return;
209
+ } catch (error) {
210
+ console.warn("Invalid \"redirectTo\" URL", sessionState.query.redirectTo);
211
+ // ignore
212
+ }
213
+ }
214
+
215
+ redirector({
216
+ to: location.pathname.replace('/oidc/callback', '')
217
+ });
218
+ return;
189
219
  }
190
- }
191
- if (errorMessage) {
220
+
221
+ // Only execute once!
222
+ // eslint-disable-next-line react-hooks/exhaustive-deps
223
+ }, []);
224
+ if (message) {
192
225
  return jsx(AuthCallbackErrorPage, {
193
- message: errorMessage,
226
+ message: message,
194
227
  locale: props.locale,
195
228
  applicationMessages: props.applicationMessages
196
229
  });
197
230
  }
198
- oidcStorage.setActiveSession(sessionToken);
199
- if (sessionState !== null && sessionState !== void 0 && sessionState.query.redirectTo) {
200
- try {
201
- const redirectToUrl = new _URL(sessionState.query.redirectTo);
202
- return jsx(Redirector, {
203
- to: redirectToUrl.pathname
204
- });
205
- } catch (error) {
206
- console.warn("Invalid \"redirectTo\" URL", sessionState.query.redirectTo);
207
- // ignore
208
- }
209
- }
210
-
211
- return jsx(Redirector, {
212
- to: location.pathname.replace('/oidc/callback', '')
213
- });
231
+ return null;
214
232
  };
233
+ OidcCallback.propTypes = process.env.NODE_ENV !== "production" ? {
234
+ locale: _pt.string.isRequired
235
+ } : {};
215
236
  OidcCallback.displayName = 'OidcCallback';
216
237
 
217
238
  export { OidcCallback as default };
@@ -1,11 +1,14 @@
1
1
  'use strict';
2
2
 
3
+ var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
4
+ require('prop-types');
3
5
  var _URL = require('@babel/runtime-corejs3/core-js-stable/url');
6
+ var react = require('react');
4
7
  var jwtDecode = require('jwt-decode');
5
8
  var qss = require('qss');
6
9
  var reactRouterDom = require('react-router-dom');
7
10
  var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
8
- var redirector = require('./redirector-752b4efc.cjs.prod.js');
11
+ var redirector = require('./redirector-15844d9b.cjs.prod.js');
9
12
  var _styled = require('@emotion/styled/base');
10
13
  var applicationComponents = require('@commercetools-frontend/application-components');
11
14
  var FailedAuthenticationSVG = require('@commercetools-frontend/assets/images/doors-closed.svg');
@@ -18,7 +21,7 @@ var icons = require('@commercetools-uikit/icons');
18
21
  var notifications = require('@commercetools-uikit/notifications');
19
22
  var Spacings = require('@commercetools-uikit/spacings');
20
23
  var Text = require('@commercetools-uikit/text');
21
- var dist_commercetoolsFrontendApplicationShell = require('./index-c29f8aa0.cjs.prod.js');
24
+ var dist_commercetoolsFrontendApplicationShell = require('./index-08c8fcb3.cjs.prod.js');
22
25
  var jsxRuntime = require('@emotion/react/jsx-runtime');
23
26
  require('@babel/runtime-corejs3/core-js-stable/object/keys');
24
27
  require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
@@ -29,11 +32,8 @@ require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descripto
29
32
  require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
30
33
  require('@babel/runtime-corejs3/core-js-stable/object/define-property');
31
34
  require('@babel/runtime-corejs3/helpers/defineProperty');
32
- require('prop-types');
33
- require('react');
34
35
  require('./use-is-served-by-proxy-845cace5.cjs.prod.js');
35
36
  require('./index-6cd618cc.cjs.prod.js');
36
- require('@babel/runtime-corejs3/helpers/slicedToArray');
37
37
  require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
38
38
  require('@babel/runtime-corejs3/core-js-stable/object/entries');
39
39
  require('@babel/runtime-corejs3/core-js-stable/reflect/has');
@@ -133,6 +133,7 @@ const AuthCallbackErrorPage = props => {
133
133
  children: [jsxRuntime.jsx(Spacings__default["default"].Inline, {
134
134
  justifyContent: "center",
135
135
  children: jsxRuntime.jsx("img", {
136
+ width: "100%",
136
137
  src: FailedAuthenticationSVG__default["default"],
137
138
  alt: "Failed authentication"
138
139
  })
@@ -170,59 +171,77 @@ AuthCallbackErrorPage.displayName = 'AuthCallbackErrorPage';
170
171
 
171
172
  const OidcCallback = props => {
172
173
  const location = reactRouterDom.useLocation();
173
- let errorMessage;
174
+ const redirector$1 = redirector.useRedirector();
175
+ const _useState = react.useState(),
176
+ _useState2 = _slicedToArray(_useState, 2),
177
+ message = _useState2[0],
178
+ setMessage = _useState2[1];
174
179
  const fragments = qss.decode(location.hash.substring(1));
175
-
176
- // Validate the nonce (coming as a `state` parameter)
177
- // By trying to load the related session state, we can implicitly check if the nonce is correct or not.
178
- const sessionState = applicationShellConnectors.oidcStorage.getSessionState(fragments.state);
179
180
  const sessionToken = fragments.sessionToken;
180
- let decodedSessionToken;
181
- try {
182
- if (sessionToken) {
183
- decodedSessionToken = jwtDecode__default["default"](sessionToken);
184
- } else {
185
- errorMessage = 'Invalid client session (missing sessionToken)';
181
+ react.useEffect(() => {
182
+ // Validate the nonce (coming as a `state` parameter)
183
+ // By trying to load the related session state, we can implicitly check if the nonce is correct or not.
184
+ const sessionState = applicationShellConnectors.oidcStorage.getSessionState(fragments.state);
185
+ let errorMessage;
186
+ let decodedSessionToken;
187
+ try {
188
+ if (sessionToken) {
189
+ decodedSessionToken = jwtDecode__default["default"](sessionToken);
190
+ } else {
191
+ errorMessage = 'Invalid client session (missing sessionToken)';
192
+ }
193
+ } catch (err) {
194
+ if (err instanceof Error) {
195
+ errorMessage = err.message;
196
+ } else {
197
+ errorMessage = 'Unknown error';
198
+ }
186
199
  }
187
- } catch (err) {
188
- if (err instanceof Error) {
189
- errorMessage = err.message;
190
- } else {
191
- errorMessage = 'Unknown error';
200
+ if (!errorMessage) {
201
+ var _decodedSessionToken;
202
+ const hasValidSessionId = ((_decodedSessionToken = decodedSessionToken) === null || _decodedSessionToken === void 0 ? void 0 : _decodedSessionToken.nonce) === fragments.state;
203
+ const hasValidApplicationId = window.app.applicationId === (sessionState === null || sessionState === void 0 ? void 0 : sessionState.applicationId);
204
+ if (!sessionState || !hasValidSessionId || !hasValidApplicationId) {
205
+ errorMessage = 'Invalid client session';
206
+ }
192
207
  }
193
- }
194
- if (!errorMessage) {
195
- var _decodedSessionToken;
196
- const hasValidSessionId = ((_decodedSessionToken = decodedSessionToken) === null || _decodedSessionToken === void 0 ? void 0 : _decodedSessionToken.nonce) === fragments.state;
197
- const hasValidApplicationId = window.app.applicationId === (sessionState === null || sessionState === void 0 ? void 0 : sessionState.applicationId);
198
- if (!sessionState || !hasValidSessionId || !hasValidApplicationId) {
199
- errorMessage = 'Invalid client session';
208
+ if (errorMessage) {
209
+ setMessage(errorMessage);
210
+ } else {
211
+ applicationShellConnectors.oidcStorage.setActiveSession(sessionToken);
212
+ applicationShellConnectors.oidcStorage.removeSessionState(fragments.state);
213
+ if (sessionState !== null && sessionState !== void 0 && sessionState.query.redirectTo) {
214
+ try {
215
+ const redirectToUrl = new _URL__default["default"](sessionState.query.redirectTo);
216
+ redirector$1({
217
+ to: redirectToUrl.pathname
218
+ });
219
+ return;
220
+ } catch (error) {
221
+ console.warn("Invalid \"redirectTo\" URL", sessionState.query.redirectTo);
222
+ // ignore
223
+ }
224
+ }
225
+
226
+ redirector$1({
227
+ to: location.pathname.replace('/oidc/callback', '')
228
+ });
229
+ return;
200
230
  }
201
- }
202
- if (errorMessage) {
231
+
232
+ // Only execute once!
233
+ // eslint-disable-next-line react-hooks/exhaustive-deps
234
+ }, []);
235
+ if (message) {
203
236
  return jsxRuntime.jsx(AuthCallbackErrorPage, {
204
- message: errorMessage,
237
+ message: message,
205
238
  locale: props.locale,
206
239
  applicationMessages: props.applicationMessages
207
240
  });
208
241
  }
209
- applicationShellConnectors.oidcStorage.setActiveSession(sessionToken);
210
- if (sessionState !== null && sessionState !== void 0 && sessionState.query.redirectTo) {
211
- try {
212
- const redirectToUrl = new _URL__default["default"](sessionState.query.redirectTo);
213
- return jsxRuntime.jsx(redirector.Redirector, {
214
- to: redirectToUrl.pathname
215
- });
216
- } catch (error) {
217
- console.warn("Invalid \"redirectTo\" URL", sessionState.query.redirectTo);
218
- // ignore
219
- }
220
- }
221
-
222
- return jsxRuntime.jsx(redirector.Redirector, {
223
- to: location.pathname.replace('/oidc/callback', '')
224
- });
242
+ return null;
225
243
  };
244
+ OidcCallback.propTypes = {};
226
245
  OidcCallback.displayName = 'OidcCallback';
227
246
 
228
247
  exports["default"] = OidcCallback;