@commercetools-frontend/application-shell 22.7.1 → 22.8.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 (158) hide show
  1. package/dist/{application-entry-point-6853f92e.cjs.dev.js → application-entry-point-61deb1f6.cjs.dev.js} +3 -3
  2. package/dist/{application-entry-point-2bbea741.cjs.prod.js → application-entry-point-90aa1cdb.cjs.prod.js} +3 -3
  3. package/dist/{application-entry-point-97efa554.esm.js → application-entry-point-bfcf85aa.esm.js} +3 -3
  4. package/dist/{box-e17daf6c.cjs.prod.js → box-09bf50e1.cjs.prod.js} +2 -2
  5. package/dist/{box-686bc950.cjs.dev.js → box-4857aa65.cjs.dev.js} +2 -2
  6. package/dist/{box-6ce924c9.esm.js → box-9cf180c1.esm.js} +2 -2
  7. package/dist/{cart-f2fc1baf.cjs.prod.js → cart-645074db.cjs.prod.js} +2 -2
  8. package/dist/{cart-796beed7.cjs.dev.js → cart-b0044279.cjs.dev.js} +2 -2
  9. package/dist/{cart-3b156a46.esm.js → cart-bb491ca1.esm.js} +2 -2
  10. package/dist/commercetools-frontend-application-shell.cjs.dev.js +7 -7
  11. package/dist/commercetools-frontend-application-shell.cjs.prod.js +7 -7
  12. package/dist/commercetools-frontend-application-shell.esm.js +5 -4
  13. package/dist/{configure-apollo-99b8a3fe.cjs.dev.js → configure-apollo-459b0dbc.cjs.dev.js} +20 -19
  14. package/dist/{configure-apollo-2077e9e6.cjs.prod.js → configure-apollo-55d13684.cjs.prod.js} +20 -19
  15. package/dist/{configure-apollo-8bcf9317.esm.js → configure-apollo-a219411c.esm.js} +20 -19
  16. package/dist/{connected-square-960e046b.cjs.prod.js → connected-square-2d046cb8.cjs.prod.js} +2 -2
  17. package/dist/{connected-square-961eb5b6.cjs.dev.js → connected-square-a2fea344.cjs.dev.js} +2 -2
  18. package/dist/{connected-square-f34a98ff.esm.js → connected-square-fe6a790f.esm.js} +2 -2
  19. package/dist/{constants-a09fbec1.esm.js → constants-0b9c2426.esm.js} +10 -2
  20. package/dist/{constants-a1140922.cjs.dev.js → constants-0da1db32.cjs.prod.js} +10 -1
  21. package/dist/{constants-ed10e935.cjs.prod.js → constants-bef5a843.cjs.dev.js} +10 -1
  22. package/dist/custom-view-dev-host-58d037c2.cjs.dev.js +215 -0
  23. package/dist/custom-view-dev-host-77fdde9b.esm.js +202 -0
  24. package/dist/declarations/src/components/app-bar/app-bar.d.ts +1 -0
  25. package/dist/declarations/src/components/custom-view-dev-host/custom-view-dev-host.d.ts +11 -0
  26. package/dist/declarations/src/components/custom-view-dev-host/index.d.ts +6 -0
  27. package/dist/declarations/src/components/custom-view-loader/custom-view-loader.d.ts +8 -0
  28. package/dist/declarations/src/components/custom-view-loader/index.d.ts +1 -0
  29. package/dist/declarations/src/components/custom-view-loader/messages.d.ts +7 -0
  30. package/dist/declarations/src/components/custom-view-shell/custom-view-shell.d.ts +4 -4
  31. package/dist/declarations/src/components/custom-view-shell-authenticated/custom-view-shell-authenticated.d.ts +2 -1
  32. package/dist/declarations/src/components/navbar/index.d.ts +2 -98
  33. package/dist/declarations/src/components/navbar/navbar-new/compiled/navbar.css.json.d.ts +3 -0
  34. package/dist/declarations/src/components/navbar/navbar-new/menu-items.d.ts +102 -0
  35. package/dist/declarations/src/components/navbar/navbar-new/navbar.d.ts +48 -0
  36. package/dist/declarations/src/components/navbar/navbar-old/compiled/navbar.css.json.d.ts +3 -0
  37. package/dist/declarations/src/components/navbar/{menu-items.d.ts → navbar-old/menu-items.d.ts} +6 -6
  38. package/dist/declarations/src/components/navbar/navbar-old/navbar.d.ts +48 -0
  39. package/dist/declarations/src/components/navbar/navbar-old/navbar.styles.d.ts +7 -0
  40. package/dist/declarations/src/components/navbar/navbar.d.ts +4 -16
  41. package/dist/declarations/src/components/navbar/use-navbar-state-manager.d.ts +1 -0
  42. package/dist/declarations/src/components/project-container/index.d.ts +1 -19
  43. package/dist/declarations/src/constants.d.ts +8 -0
  44. package/dist/declarations/src/index.d.ts +1 -1
  45. package/dist/declarations/src/test-utils/custom-views-utils.d.ts +12 -0
  46. package/dist/declarations/src/test-utils/index.d.ts +1 -0
  47. package/dist/declarations/src/types/generated/ctp.d.ts +304 -3
  48. package/dist/declarations/src/types/generated/settings.d.ts +78 -2
  49. package/dist/{error-apologizer-e5c28e4c.esm.js → error-apologizer-76f087f4.esm.js} +2 -2
  50. package/dist/{error-apologizer-b3872f4d.cjs.prod.js → error-apologizer-84dc825c.cjs.prod.js} +2 -2
  51. package/dist/{error-apologizer-c3210e30.cjs.dev.js → error-apologizer-f6793491.cjs.dev.js} +2 -2
  52. package/dist/{gear-9b394c43.cjs.prod.js → gear-4f7cde98.cjs.prod.js} +2 -2
  53. package/dist/{gear-1f381738.esm.js → gear-ee90ba83.esm.js} +2 -2
  54. package/dist/{gear-ab1f6210.cjs.dev.js → gear-f2668579.cjs.dev.js} +2 -2
  55. package/dist/{heart-a6e7ccf9.cjs.dev.js → heart-01f01038.cjs.prod.js} +2 -2
  56. package/dist/{heart-be7c779b.esm.js → heart-86f780f3.esm.js} +2 -2
  57. package/dist/{heart-ebfab4cd.cjs.prod.js → heart-e49dd92a.cjs.dev.js} +2 -2
  58. package/dist/{index-6c0bc333.cjs.dev.js → index-0f5381b1.cjs.dev.js} +282 -156
  59. package/dist/{index-975c5225.esm.js → index-519cff4b.esm.js} +284 -157
  60. package/dist/{index-f85c276c.cjs.prod.js → index-e8c02aca.cjs.prod.js} +221 -127
  61. package/dist/{list-with-search-b5e9ae1b.cjs.dev.js → list-with-search-027ab8eb.cjs.dev.js} +2 -2
  62. package/dist/{list-with-search-e3ccba98.cjs.prod.js → list-with-search-6462447e.cjs.prod.js} +2 -2
  63. package/dist/{list-with-search-3341bbf7.esm.js → list-with-search-d2901e34.esm.js} +2 -2
  64. package/dist/navbar-8102a43b.esm.js +1991 -0
  65. package/dist/navbar-89b2edc4.cjs.dev.js +2021 -0
  66. package/dist/navbar-a29ebdeb.cjs.prod.js +1834 -0
  67. package/dist/{oidc-244125d3.cjs.dev.js → oidc-97f361cb.cjs.dev.js} +1 -1
  68. package/dist/{oidc-a780f067.cjs.prod.js → oidc-a55e3dd9.cjs.prod.js} +1 -1
  69. package/dist/{oidc-callback-7c234583.cjs.prod.js → oidc-callback-6415bb71.cjs.prod.js} +6 -5
  70. package/dist/{oidc-callback-7221e7d2.esm.js → oidc-callback-80314ba9.esm.js} +6 -5
  71. package/dist/{oidc-callback-80416189.cjs.dev.js → oidc-callback-ff8e12ba.cjs.dev.js} +6 -5
  72. package/dist/{oidc-c4e99cfc.esm.js → oidc-db881d40.esm.js} +1 -1
  73. package/dist/{paperclip-6f0b6ae5.cjs.prod.js → paperclip-005ec544.cjs.dev.js} +2 -2
  74. package/dist/{paperclip-c76aec52.esm.js → paperclip-a820ee87.esm.js} +2 -2
  75. package/dist/{paperclip-ec55e4a0.cjs.dev.js → paperclip-fe72a70d.cjs.prod.js} +2 -2
  76. package/dist/{plugin-16c01245.cjs.dev.js → plugin-81ae1044.cjs.prod.js} +2 -2
  77. package/dist/{plugin-279f88cd.esm.js → plugin-c7bf9e53.esm.js} +2 -2
  78. package/dist/{plugin-f199ed20.cjs.prod.js → plugin-feb22442.cjs.dev.js} +2 -2
  79. package/dist/{project-container-c36e4793.cjs.dev.js → project-container-bc3768d1.cjs.dev.js} +11 -11
  80. package/dist/{project-container-84c7881c.esm.js → project-container-bd9ab58b.esm.js} +11 -11
  81. package/dist/{project-container-20379b3d.cjs.prod.js → project-container-e24d4274.cjs.prod.js} +11 -11
  82. package/dist/{project-expired-fea5a2c6.cjs.dev.js → project-expired-1cf2470b.cjs.dev.js} +8 -7
  83. package/dist/{project-expired-84871cc1.cjs.prod.js → project-expired-ad577eea.cjs.prod.js} +8 -7
  84. package/dist/{project-expired-6f9e5ff9.esm.js → project-expired-cd0367e6.esm.js} +8 -7
  85. package/dist/{project-not-found-763dcf53.esm.js → project-not-found-47fe81e3.esm.js} +8 -7
  86. package/dist/{project-not-found-e55553d5.cjs.prod.js → project-not-found-531c1f36.cjs.prod.js} +8 -7
  87. package/dist/{project-not-found-382b664d.cjs.dev.js → project-not-found-bdf80892.cjs.dev.js} +8 -7
  88. package/dist/{project-not-initialized-8b3d52be.esm.js → project-not-initialized-b632dec8.esm.js} +8 -7
  89. package/dist/{project-not-initialized-be040234.cjs.prod.js → project-not-initialized-d12db254.cjs.prod.js} +8 -7
  90. package/dist/{project-not-initialized-aee7541a.cjs.dev.js → project-not-initialized-e903c05c.cjs.dev.js} +8 -7
  91. package/dist/{project-suspended-02eb3c52.esm.js → project-suspended-33c95408.esm.js} +8 -7
  92. package/dist/{project-suspended-506c7b5f.cjs.dev.js → project-suspended-5b038275.cjs.dev.js} +8 -7
  93. package/dist/{project-suspended-2df71dad.cjs.prod.js → project-suspended-65120ddf.cjs.prod.js} +8 -7
  94. package/dist/{quick-access-e474562c.esm.js → quick-access-134b051c.esm.js} +7 -8
  95. package/dist/{quick-access-bd5cc59f.cjs.prod.js → quick-access-444ebdce.cjs.prod.js} +7 -8
  96. package/dist/{quick-access-98ac50ec.cjs.dev.js → quick-access-59d69a96.cjs.dev.js} +7 -8
  97. package/dist/{redirect-to-login-2b6962dd.esm.js → redirect-to-login-6c90f034.esm.js} +12 -12
  98. package/dist/{redirect-to-login-cc23cd31.cjs.prod.js → redirect-to-login-bc568233.cjs.prod.js} +12 -12
  99. package/dist/{redirect-to-login-1e136a4f.cjs.dev.js → redirect-to-login-e4cbcc7a.cjs.dev.js} +12 -12
  100. package/dist/{redirect-to-logout-47a5daea.esm.js → redirect-to-logout-732ccf57.esm.js} +10 -9
  101. package/dist/{redirect-to-logout-d6dce2e6.cjs.dev.js → redirect-to-logout-cf0a4d95.cjs.dev.js} +10 -9
  102. package/dist/{redirect-to-logout-dd88770a.cjs.prod.js → redirect-to-logout-e608f60c.cjs.prod.js} +10 -9
  103. package/dist/{redirector-f71198cc.cjs.dev.js → redirector-5daa8baa.cjs.dev.js} +2 -2
  104. package/dist/{redirector-ec9fa17f.cjs.prod.js → redirector-752b4efc.cjs.prod.js} +2 -2
  105. package/dist/{redirector-368eeb0f.esm.js → redirector-db8b5cd2.esm.js} +2 -2
  106. package/dist/{requests-in-flight-loader-84434d03.cjs.prod.js → requests-in-flight-loader-a59adc86.cjs.prod.js} +7 -6
  107. package/dist/{requests-in-flight-loader-2b781c0e.esm.js → requests-in-flight-loader-b52b55fb.esm.js} +7 -6
  108. package/dist/{requests-in-flight-loader-d908a6df.cjs.dev.js → requests-in-flight-loader-cb996eb9.cjs.dev.js} +7 -6
  109. package/dist/{rocket-c6d44215.cjs.dev.js → rocket-3372731a.cjs.dev.js} +2 -2
  110. package/dist/{rocket-067c2f8c.esm.js → rocket-bacf24be.esm.js} +2 -2
  111. package/dist/{rocket-f0bfae34.cjs.prod.js → rocket-cb99be06.cjs.prod.js} +2 -2
  112. package/dist/{service-page-project-switcher-0546e7be.cjs.prod.js → service-page-project-switcher-23846f90.cjs.prod.js} +1 -1
  113. package/dist/{service-page-project-switcher-51ec5202.cjs.dev.js → service-page-project-switcher-68e55d2a.cjs.dev.js} +1 -1
  114. package/dist/{service-page-project-switcher-da4d68ce.esm.js → service-page-project-switcher-fc88ffa8.esm.js} +1 -1
  115. package/dist/{speedometer-0de260cf.cjs.prod.js → speedometer-26f52e73.cjs.prod.js} +2 -2
  116. package/dist/{speedometer-baa6ae82.esm.js → speedometer-4c8e0b9c.esm.js} +2 -2
  117. package/dist/{speedometer-aedd9660.cjs.dev.js → speedometer-c1ec5a1d.cjs.dev.js} +2 -2
  118. package/dist/{star-49745c72.cjs.dev.js → star-6b9a91d2.cjs.dev.js} +2 -2
  119. package/dist/{star-bd723a9c.esm.js → star-af90a9c6.esm.js} +2 -2
  120. package/dist/{star-c11b0683.cjs.prod.js → star-e4902bbb.cjs.prod.js} +2 -2
  121. package/dist/{tag-multi-2e7a68ec.cjs.dev.js → tag-multi-1c065f61.cjs.prod.js} +2 -2
  122. package/dist/{tag-multi-1dee8212.esm.js → tag-multi-4c2742de.esm.js} +2 -2
  123. package/dist/{tag-multi-f8d9c9e6.cjs.prod.js → tag-multi-abef3e15.cjs.dev.js} +2 -2
  124. package/dist/{tree-structure-690366f9.cjs.prod.js → tree-structure-3ec98cce.cjs.prod.js} +2 -2
  125. package/dist/{tree-structure-8c974c7a.cjs.dev.js → tree-structure-96ab0b7e.cjs.dev.js} +2 -2
  126. package/dist/{tree-structure-0a1dc6bf.esm.js → tree-structure-ca0498a0.esm.js} +2 -2
  127. package/dist/{use-applications-menu-1143a5ca.esm.js → use-applications-menu-15ea8813.esm.js} +3 -3
  128. package/dist/{use-applications-menu-5873c7ab.cjs.dev.js → use-applications-menu-4f35b214.cjs.dev.js} +3 -3
  129. package/dist/{use-applications-menu-08236536.cjs.prod.js → use-applications-menu-e19bc05b.cjs.prod.js} +3 -3
  130. package/dist/{user-filled-58af1ae4.cjs.prod.js → user-filled-26f333b2.cjs.prod.js} +2 -2
  131. package/dist/{user-filled-5dd7a51a.cjs.dev.js → user-filled-34aeebcc.cjs.dev.js} +2 -2
  132. package/dist/{user-filled-d40a7e17.esm.js → user-filled-61d8a81b.esm.js} +2 -2
  133. package/dist/{user-settings-menu-a724a9b9.cjs.prod.js → user-settings-menu-695efeec.cjs.prod.js} +9 -8
  134. package/dist/{user-settings-menu-986485b8.esm.js → user-settings-menu-8080c4ff.esm.js} +9 -8
  135. package/dist/{user-settings-menu-6a7ff392.cjs.dev.js → user-settings-menu-d08e3b19.cjs.dev.js} +9 -8
  136. package/dist/{version-tracker-90a08689.cjs.dev.js → version-tracker-0fe7660b.cjs.dev.js} +2 -2
  137. package/dist/{version-tracker-3d9b5cf0.cjs.prod.js → version-tracker-3b691dec.cjs.prod.js} +2 -2
  138. package/dist/{version-tracker-cba298d4.esm.js → version-tracker-cb877c84.esm.js} +2 -2
  139. package/dist/{world-bfd04f52.cjs.dev.js → world-22189397.cjs.prod.js} +2 -2
  140. package/dist/{world-f921d80c.cjs.prod.js → world-500baeb2.cjs.dev.js} +2 -2
  141. package/dist/{world-1b0e72fc.esm.js → world-523efd61.esm.js} +2 -2
  142. package/package.json +40 -39
  143. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +2 -2
  144. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +2 -2
  145. package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +2 -2
  146. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +52 -17
  147. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +52 -17
  148. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +53 -19
  149. package/dist/declarations/src/components/custom-view-context/custom-view-context.d.ts +0 -12
  150. package/dist/declarations/src/components/custom-view-context/index.d.ts +0 -1
  151. package/dist/declarations/src/components/navbar/compiled/navbar.css.json.d.ts +0 -3
  152. package/dist/navbar-0cdfe0f7.cjs.prod.js +0 -1173
  153. package/dist/navbar-383d5297.cjs.dev.js +0 -1269
  154. package/dist/navbar-cd29b896.esm.js +0 -1239
  155. /package/dist/declarations/src/components/navbar/{navbar-skeleton.d.ts → navbar-new/navbar-skeleton.d.ts} +0 -0
  156. /package/dist/declarations/src/components/navbar/{navbar-skeleton.styles.d.ts → navbar-new/navbar-skeleton.styles.d.ts} +0 -0
  157. /package/dist/declarations/src/components/navbar/{navbar.styles.d.ts → navbar-new/navbar.styles.d.ts} +0 -0
  158. /package/dist/declarations/src/components/navbar/{loading-navbar.d.ts → navbar-old/loading-navbar.d.ts} +0 -0
@@ -1,1173 +0,0 @@
1
- 'use strict';
2
-
3
- var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
4
- var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
5
- var _pt = require('prop-types');
6
- var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
7
- var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
8
- var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
9
- var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
10
- var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
11
- var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
12
- var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
13
- var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
14
- var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
15
- var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
16
- var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
17
- var react$1 = require('react');
18
- var classnames = require('classnames');
19
- var debounce = require('lodash/debounce');
20
- var reactIntl = require('react-intl');
21
- var reactRouterDom = require('react-router-dom');
22
- var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
23
- var constants = require('@commercetools-frontend/constants');
24
- var icons = require('@commercetools-uikit/icons');
25
- var _Array$from = require('@babel/runtime-corejs3/core-js-stable/array/from');
26
- var dist_commercetoolsFrontendApplicationShell = require('./index-f85c276c.cjs.prod.js');
27
- var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
28
- var _styled = require('@emotion/styled/base');
29
- var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
30
- var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
31
- var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
32
- var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
33
- var react = require('@emotion/react');
34
- var reactBroadcast = require('@flopflip/react-broadcast');
35
- var applicationComponents = require('@commercetools-frontend/application-components');
36
- var MissingImageSvg = require('@commercetools-frontend/assets/images/diagonal-line.svg');
37
- var permissions = require('@commercetools-frontend/permissions');
38
- var InlineSvg = require('@commercetools-uikit/icons/inline-svg');
39
- var useIsServedByProxy = require('./use-is-served-by-proxy-845cace5.cjs.prod.js');
40
- var jsxRuntime = require('@emotion/react/jsx-runtime');
41
- var isNil = require('lodash/isNil');
42
- var constants$1 = require('./constants-ed10e935.cjs.prod.js');
43
- var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/keys');
44
- var designSystem = require('@commercetools-uikit/design-system');
45
- var throttle = require('lodash/throttle');
46
- var sentry = require('@commercetools-frontend/sentry');
47
- var useApplicationsMenu = require('./use-applications-menu-08236536.cjs.prod.js');
48
- require('./configure-apollo-2077e9e6.cjs.prod.js');
49
- require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
50
- require('@babel/runtime-corejs3/core-js-stable/object/entries');
51
- require('@babel/runtime-corejs3/core-js-stable/reflect/has');
52
- require('@reduxjs/toolkit');
53
- require('lodash/mapValues');
54
- require('omit-empty-es');
55
- require('redux-thunk');
56
- require('@commercetools-frontend/notifications');
57
- require('@commercetools-frontend/sdk');
58
- require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
59
- require('@babel/runtime-corejs3/core-js-stable/instance/slice');
60
- require('@commercetools-frontend/react-notifications');
61
- require('redux-logger');
62
- require('@babel/runtime-corejs3/core-js-stable/url');
63
- require('@apollo/client');
64
- require('apollo-link-logger');
65
- require('@apollo/client/link/error');
66
- require('@commercetools-frontend/browser-history');
67
- require('@babel/runtime-corejs3/core-js-stable/instance/some');
68
- require('@babel/runtime-corejs3/core-js-stable/object/values');
69
- require('@commercetools/http-user-agent');
70
- require('uuid');
71
- require('@babel/runtime-corejs3/core-js-stable/reflect/construct');
72
- require('@babel/runtime-corejs3/helpers/createClass');
73
- require('@babel/runtime-corejs3/helpers/classCallCheck');
74
- require('@babel/runtime-corejs3/helpers/assertThisInitialized');
75
- require('@babel/runtime-corejs3/helpers/inherits');
76
- require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
77
- require('@babel/runtime-corejs3/helpers/getPrototypeOf');
78
- require('@babel/runtime-corejs3/helpers/wrapNativeSuper');
79
- require('@babel/runtime-corejs3/core-js-stable/json/stringify');
80
- require('@apollo/client/link/retry');
81
- require('@commercetools-frontend/i18n');
82
- require('@commercetools-frontend/assets/images/logo.svg');
83
- require('@commercetools-uikit/spacings');
84
- require('@commercetools-uikit/flat-button');
85
- require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
86
- require('memoize-one');
87
- require('@commercetools-uikit/accessible-hidden');
88
- require('@commercetools-uikit/select-input');
89
- require('@apollo/client/react');
90
- require('@commercetools-frontend/assets/images/ct-logo.svg');
91
- require('@commercetools-uikit/loading-spinner');
92
- require('@commercetools-frontend/l10n');
93
- require('@babel/runtime-corejs3/core-js-stable/object/from-entries');
94
- require('@babel/runtime-corejs3/core-js-stable/instance/flags');
95
- require('@flopflip/combine-adapters');
96
- require('@flopflip/http-adapter');
97
- require('@flopflip/launchdarkly-adapter');
98
- require('@flopflip/types');
99
- require('react-redux');
100
- require('lodash/upperFirst');
101
- require('./oidc-a780f067.cjs.prod.js');
102
- require('@commercetools-uikit/design-system/materials/resets.css');
103
- require('@commercetools-frontend/actions-global');
104
- require('@commercetools-frontend/application-config/ssr');
105
-
106
- function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
107
-
108
- var _pt__default = /*#__PURE__*/_interopDefault(_pt);
109
- var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
110
- var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
111
- var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
112
- var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
113
- var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
114
- var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
115
- var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
116
- var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
117
- var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
118
- var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
119
- var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
120
- var classnames__default = /*#__PURE__*/_interopDefault(classnames);
121
- var debounce__default = /*#__PURE__*/_interopDefault(debounce);
122
- var _Array$from__default = /*#__PURE__*/_interopDefault(_Array$from);
123
- var _styled__default = /*#__PURE__*/_interopDefault(_styled);
124
- var _includesInstanceProperty__default = /*#__PURE__*/_interopDefault(_includesInstanceProperty);
125
- var _everyInstanceProperty__default = /*#__PURE__*/_interopDefault(_everyInstanceProperty);
126
- var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
127
- var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
128
- var MissingImageSvg__default = /*#__PURE__*/_interopDefault(MissingImageSvg);
129
- var InlineSvg__default = /*#__PURE__*/_interopDefault(InlineSvg);
130
- var isNil__default = /*#__PURE__*/_interopDefault(isNil);
131
- var _keysInstanceProperty__default = /*#__PURE__*/_interopDefault(_keysInstanceProperty);
132
- var throttle__default = /*#__PURE__*/_interopDefault(throttle);
133
-
134
- const _excluded = ["icon"];
135
- function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
136
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$2(Object(source))).call(_context4, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
137
- const compiledStyles$2 = {
138
- "global": ":root {\n\n /* Left navigation */\n\n /* Active list item with icon text */\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___n7yUt {\n display: flex;\n flex-grow: 1;\n width: 64px;\n z-index: 19999;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\n}\n\n.navbar-mod__left-navigation-new___31u-2 {\n display: grid;\n width: 64px;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\n height: 100vh;\n grid-template-rows: 56px 1fr;\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.body__menu-open .navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.navbar-mod__list-item___MjK6t {\n width: 64px;\n min-height: 56px;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\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 padding: var(--spacing-m);\n width: 100%;\n position: relative;\n display: block;\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}\n\n.navbar-mod__list-item___MjK6t .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);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon__active___asorg > 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 .navbar-mod__title___eRWUj {\n flex: 1;\n font-weight: 500;\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 display: none;\n opacity: 0;\n transition: all 0.25s ease-in-out;\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___jyAUi {\n border-top: 1px solid var(--color-neutral-40);\n height: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n}\n\n.navbar-mod__expand-icon___BtmRa {\n align-items: center;\n border-radius: 32px;\n cursor: pointer;\n display: flex;\n height: 24px;\n justify-content: center;\n transform: translateX(0) rotateZ(0deg);\n width: 24px;\n}\n\n.navbar-mod__item--bottom___eW7nh {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___MjK6t:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-hovered);\n}\n\n.navbar-mod__item__active___lo1sr .navbar-mod__title___eRWUj {\n opacity: 1;\n display: block;\n transition: all 0.2s ease;\n}\n\n.navbar-mod__item_menu-open___zk0zh {\n height: auto !important;\n}\n\n/* NO SUBMENU */\n\n.navbar-mod__item_menu-collapsed___cluyY .navbar-mod__item-link___X2Ina {\n text-align: center;\n}\n\n.navbar-mod__item__no-submenu___0lmiH .navbar-mod__title___eRWUj {\n border-bottom: 0;\n}\n\n.navbar-mod__item__no-submenu___0lmiH .navbar-mod__sublist___os1s7 {\n padding-top: 40px;\n}\n\n/* left-nav open */\n\n.body__menu-open .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n font-weight: 500;\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}\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}\n\n.body__menu-open .navbar-mod__list-item___MjK6t {\n height: auto;\n min-height: 56px;\n transition: max-height 0.15s ease-out;\n overflow: hidden;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt,\n.body__menu-open .navbar-mod__left-navigation-new___31u-2,\n.body__menu-open .navbar-mod__list-item___MjK6t {\n width: 245px;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n display: block;\n opacity: 1;\n margin-left: var(--spacing-m);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\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 .navbar-mod__title___eRWUj:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\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__expand-icon___BtmRa {\n transform: translateX(0) rotateZ(180deg);\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.body__menu-open .navbar-mod__sublist___os1s7 {\n position: relative;\n z-index: 1;\n left: 0;\n margin: 0 0 0 calc(\n 24px + var(--spacing-m) + 4px + 4px\n );\n padding: var(--spacing-m) 0 0;\n background-color: transparent;\n}\n\n.body__menu-open .navbar-mod__sublist___os1s7.navbar-mod__sublist-no-children___Dy-h- {\n border: 0;\n}\n\n.body__menu-open .navbar-mod__title-copy___o2y1q {\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 color: var(--color-for-navbar-link);\n text-decoration: none;\n transition: all 0.15s ease;\n}\n\n.body__menu-open .navbar-mod__title-copy___o2y1q: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}\n\n.body__menu-open .navbar-mod__expander___jyAUi {\n min-height: 50px;\n justify-content: flex-end;\n padding: var(--spacing-m);\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___os1s7 {\n padding: 75px var(--spacing-l) var(--spacing-m);\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 position: absolute;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n top: 0;\n left: 64px;\n list-style: none;\n opacity: 0.01;\n display: none;\n}\n\n.navbar-mod__sublist-new___5gy2L {\n padding: var(--spacing-m) var(--spacing-l);\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: 58px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n.navbar-mod__sublist__inactive___kJvf- {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___gafkS {\n padding: var(--spacing-s) 0 0;\n}\n\n.navbar-mod__sublist-item___gafkS:first-of-type {\n padding: 0;\n}\n\n.navbar-mod__sublist-item-new___z6xTy {\n display: flex;\n align-items: center;\n gap: 8px;\n align-self: stretch;\n}\n\n.navbar-mod__sublist-item-new__active___ZNiqu {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___gafkS: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}\n\n.navbar-mod__sublist-item-new___z6xTy: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}\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 transition: all 0.15s ease;\n}\n\n.navbar-mod__text-link-new___1mTbx {\n display: flex;\n align-items: flex-start;\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 padding: calc(var(--spacing-20) + var(--spacing-10))\n calc(var(--spacing-20) + var(--spacing-10))\n calc(var(--spacing-20) + var(--spacing-10)) var(--spacing-30);\n}\n\n.navbar-mod__text-link___dhtj6: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}\n\n/* Item active */\n\n.navbar-mod__item__active___lo1sr,\n.navbar-mod__item_menu__active___5xFRw {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar-when-active);\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: calc(24px + 4px * 2);\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: flex-start;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__fixed-menu___42tD9 .navbar-mod__list-item___MjK6t .navbar-mod__icon-container___w3FtA {\n /* empty block */\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.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY .navbar-mod__title___eRWUj {\n margin-left: 40px;\n}\n\n.navbar-mod__item_menu-collapsed___cluyY.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY .navbar-mod__title___eRWUj {\n max-height: 44px;\n overflow: hidden;\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n position: absolute;\n /* `left` and `width` required for displaying focus indicator properly */\n left: 46px;\n width: 166px;\n z-index: 1;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY .navbar-mod__title___eRWUj {\n margin-left: var(--spacing-m);\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__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__sublist___os1s7 {\n width: 205px;\n min-height: 100%;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__sublist___os1s7 {\n width: calc(100% - calc(\n 24px + var(--spacing-m) + 4px + 4px\n ));\n}\n\n.navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__sublist-collapsed__active___-9vYh {\n opacity: 1;\n display: unset;\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__sublist-expanded__active___240JK {\n display: block;\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed-new__active___scHEz,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded-new__active___KJ32l {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\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: 8px;\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-expanded-new__active___KJ32l {\n left: 240px;\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__highlighted-new___tJFEc,\n.navbar-mod__highlighted-new___tJFEc .navbar-mod__title___eRWUj {\n color: var(--color-surface);\n}\n\n.navbar-mod__sublist-item-new___z6xTy:hover .navbar-mod__highlighted-new___tJFEc,\n.navbar-mod__sublist-item-new___z6xTy:hover .navbar-mod__highlighted-new___tJFEc .navbar-mod__title___eRWUj {\n color: var(--color-solid);\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 padding-bottom: 32px;\n /*\n FIXME: Make the navbar scrollable in collapsed state.\n NOTE: do not use `overflow-x: hidden; overflow-y: auto;` as this prevents submenus from showing up on hover\n */\n}\n\n.navbar-mod__scrollable-menu-new___4yfOE {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n\n.navbar-mod__scrollable-menu-new___4yfOE::-webkit-scrollbar {\n display: none;\n}\n\n.navbar-mod__fixed-menu___42tD9 {\n flex: 0 0 0;\n position: relative;\n}\n",
139
- "jsonMap": {
140
- "left-navigation": "navbar-mod__left-navigation___n7yUt",
141
- "left-navigation-new": "navbar-mod__left-navigation-new___31u-2",
142
- "list": "navbar-mod__list___RCV3J",
143
- "scrollable-menu": "navbar-mod__scrollable-menu___64pxJ",
144
- "list-item": "navbar-mod__list-item___MjK6t",
145
- "item-link": "navbar-mod__item-link___X2Ina",
146
- "item-icon-text": "navbar-mod__item-icon-text___a-8JY",
147
- "icon": "navbar-mod__icon___bLsep",
148
- "icon__active": "navbar-mod__icon__active___asorg",
149
- "title": "navbar-mod__title___eRWUj",
150
- "expander": "navbar-mod__expander___jyAUi",
151
- "expand-icon": "navbar-mod__expand-icon___BtmRa",
152
- "item--bottom": "navbar-mod__item--bottom___eW7nh",
153
- "item__active": "navbar-mod__item__active___lo1sr",
154
- "item_menu-open": "navbar-mod__item_menu-open___zk0zh",
155
- "item_menu-collapsed": "navbar-mod__item_menu-collapsed___cluyY",
156
- "item__no-submenu": "navbar-mod__item__no-submenu___0lmiH",
157
- "sublist": "navbar-mod__sublist___os1s7",
158
- "sublist-no-children": "navbar-mod__sublist-no-children___Dy-h-",
159
- "title-copy": "navbar-mod__title-copy___o2y1q",
160
- "sublist-new": "navbar-mod__sublist-new___5gy2L",
161
- "sublist__inactive": "navbar-mod__sublist__inactive___kJvf-",
162
- "sublist-item": "navbar-mod__sublist-item___gafkS",
163
- "sublist-item-new": "navbar-mod__sublist-item-new___z6xTy",
164
- "sublist-item-new__active": "navbar-mod__sublist-item-new__active___ZNiqu",
165
- "text": "navbar-mod__text___ccHEu",
166
- "text-link": "navbar-mod__text-link___dhtj6",
167
- "text-link-new": "navbar-mod__text-link-new___1mTbx",
168
- "item_menu__active": "navbar-mod__item_menu__active___5xFRw",
169
- "icon-container": "navbar-mod__icon-container___w3FtA",
170
- "fixed-menu": "navbar-mod__fixed-menu___42tD9",
171
- "sublist-expanded__active": "navbar-mod__sublist-expanded__active___240JK",
172
- "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___-9vYh",
173
- "sublist-collapsed-new__active": "navbar-mod__sublist-collapsed-new__active___scHEz",
174
- "sublist-expanded-new__active": "navbar-mod__sublist-expanded-new__active___KJ32l",
175
- "highlighted": "navbar-mod__highlighted___oJWkA",
176
- "highlighted-new": "navbar-mod__highlighted-new___tJFEc",
177
- "hidden": "navbar-mod__hidden___TQLSs",
178
- "divider": "navbar-mod__divider___TpVzu",
179
- "loading-dot-container": "navbar-mod__loading-dot-container___G2LVb",
180
- "scrollable-menu-new": "navbar-mod__scrollable-menu-new___4yfOE"
181
- }
182
- };
183
- const styles$2 = compiledStyles$2.jsonMap;
184
- /*
185
- <DataMenu data={[]}>
186
- <MenuGroup>
187
- <MenuItem>
188
- <MenuItemLink linkTo="/foo">(icon) Products</MenuItemLink>
189
- <MenuGroup>
190
- <MenuItemLink linkTo="/foo/new">Add product</MenuItemLink>
191
- </MenuGroup>
192
- </MenuItem>
193
- </MenuGroup>
194
- <MenuExpander/>
195
- </DataMenu>
196
- */
197
-
198
- const HeartIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./heart-ebfab4cd.cjs.prod.js'); }));
199
- const PaperclipIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./paperclip-6f0b6ae5.cjs.prod.js'); }));
200
- const PluginIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./plugin-f199ed20.cjs.prod.js'); }));
201
- const RocketIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./rocket-f0bfae34.cjs.prod.js'); }));
202
- const StarIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./star-c11b0683.cjs.prod.js'); }));
203
- const ConnectedSquareIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./connected-square-960e046b.cjs.prod.js'); }));
204
- const WorldIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./world-f921d80c.cjs.prod.js'); }));
205
- const TreeStructureIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./tree-structure-690366f9.cjs.prod.js'); }));
206
- const UserFilledIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./user-filled-58af1ae4.cjs.prod.js'); }));
207
- const SpeedometerIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./speedometer-0de260cf.cjs.prod.js'); }));
208
- const TagMultiIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./tag-multi-f8d9c9e6.cjs.prod.js'); }));
209
- const CartIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./cart-f2fc1baf.cjs.prod.js'); }));
210
- const BoxIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./box-e17daf6c.cjs.prod.js'); }));
211
- const GearIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./gear-9b394c43.cjs.prod.js'); }));
212
- const ListWithSearchIcon = /*#__PURE__*/react$1.lazy(() => Promise.resolve().then(function () { return require('./list-with-search-e3ccba98.cjs.prod.js'); }));
213
- // The icon is expected to be the `svg` document as a string.
214
- // For backwards compatibility purposes, we still support the legacy "icon name",
215
- // which we then map to one of the pre-defined icons.
216
- // Eventually, we want to get rid of this "switch" logic.
217
- const IconSwitcher = _ref => {
218
- let icon = _ref.icon,
219
- iconProps = _objectWithoutProperties(_ref, _excluded);
220
- if (_includesInstanceProperty__default["default"](icon).call(icon, '<svg')) {
221
- return jsxRuntime.jsx(InlineSvg__default["default"], _objectSpread$2({
222
- data: icon
223
- }, iconProps));
224
- }
225
- // Backwards compatibility for apps using the "icon name".
226
- switch (icon) {
227
- // Legacy application icons
228
- // TODO: To be removed once MC applications icons updates are published
229
- case 'TreeStructureIcon':
230
- return jsxRuntime.jsx(TreeStructureIcon, _objectSpread$2({}, iconProps));
231
- case 'UserFilledIcon':
232
- return jsxRuntime.jsx(UserFilledIcon, _objectSpread$2({}, iconProps));
233
- case 'SpeedometerIcon':
234
- return jsxRuntime.jsx(SpeedometerIcon, _objectSpread$2({}, iconProps));
235
- case 'TagMultiIcon':
236
- return jsxRuntime.jsx(TagMultiIcon, _objectSpread$2({}, iconProps));
237
- case 'CartIcon':
238
- return jsxRuntime.jsx(CartIcon, _objectSpread$2({}, iconProps));
239
- case 'BoxIcon':
240
- return jsxRuntime.jsx(BoxIcon, _objectSpread$2({}, iconProps));
241
- case 'GearIcon':
242
- return jsxRuntime.jsx(GearIcon, _objectSpread$2({}, iconProps));
243
- case 'ListWithSearchIcon':
244
- return jsxRuntime.jsx(ListWithSearchIcon, _objectSpread$2({}, iconProps));
245
-
246
- // Custom application icons set
247
- case 'HeartIcon':
248
- return jsxRuntime.jsx(HeartIcon, _objectSpread$2({}, iconProps));
249
- case 'PaperclipIcon':
250
- return jsxRuntime.jsx(PaperclipIcon, _objectSpread$2({}, iconProps));
251
- case 'PluginIcon':
252
- return jsxRuntime.jsx(PluginIcon, _objectSpread$2({}, iconProps));
253
- case 'RocketIcon':
254
- return jsxRuntime.jsx(RocketIcon, _objectSpread$2({}, iconProps));
255
- case 'StarIcon':
256
- return jsxRuntime.jsx(StarIcon, _objectSpread$2({}, iconProps));
257
- case 'ConnectedSquareIcon':
258
- return jsxRuntime.jsx(ConnectedSquareIcon, _objectSpread$2({}, iconProps));
259
- // For backwards compatibility
260
- case 'WorldIcon':
261
- return jsxRuntime.jsx(WorldIcon, _objectSpread$2({}, iconProps));
262
- default:
263
- return jsxRuntime.jsx("img", {
264
- src: MissingImageSvg__default["default"],
265
- alt: "missing icon"
266
- });
267
- }
268
- };
269
- IconSwitcher.propTypes = {};
270
- IconSwitcher.displayName = 'IconSwitcher';
271
- const MenuExpander = props => {
272
- return jsxRuntime.jsx("li", {
273
- className: classnames__default["default"](styles$2['list-item'], styles$2.expander, {
274
- [styles$2.hidden]: !props.isVisible
275
- }),
276
- children: jsxRuntime.jsx("div", {
277
- onClick: props.onClick,
278
- className: styles$2['expand-icon'],
279
- "data-testid": "menu-expander",
280
- children: jsxRuntime.jsx(icons.ArrowRightIcon, {
281
- color: "surface",
282
- size: "big"
283
- })
284
- })
285
- }, "expander");
286
- };
287
- MenuExpander.propTypes = {};
288
- MenuExpander.displayName = 'MenuExpander';
289
- const Faded = /*#__PURE__*/_styled__default["default"]("div", {
290
- target: "ekdrmmp0"
291
- } )("position:absolute;top:-32px;height:32px;width:100%;background:linear-gradient(\n 0deg,\n ", applicationComponents.designTokens.backgroundColorForNavbar, " 0%,\n rgba(0, 0, 0, 0) 100%\n );z-index:1;" + ("" ));
292
- const MenuGroup = props => {
293
- if (props.isExpanded && (props.level === 2 && !props.hasSubmenu || props.level === 2 && !props.isActive)) {
294
- return null;
295
- }
296
- const isSublistActiveWhileIsMenuExpanded = props.level === 2 && props.isActive && props.isExpanded;
297
- const isSublistActiveWhileIsMenuCollapsed = props.level === 2 && props.isActive && !props.isExpanded;
298
- return jsxRuntime.jsx("ul", {
299
- css: props.isNewNavigationEnabled && /*#__PURE__*/react.css("top:", props.verticalPosition, "px;" + ("" ), "" ),
300
- id: "group-".concat(props.id),
301
- "data-testid": "group-".concat(props.id),
302
- role: "menu",
303
- "aria-expanded": isSublistActiveWhileIsMenuExpanded || isSublistActiveWhileIsMenuCollapsed,
304
- className: classnames__default["default"]({
305
- [styles$2.list]: props.level === 1
306
- }, {
307
- [styles$2['sublist-new']]: props.level === 2 && props.isNewNavigationEnabled
308
- }, {
309
- [styles$2['sublist']]: props.level === 2 && !props.isNewNavigationEnabled
310
- }, {
311
- [styles$2['sublist-no-children']]: props.level === 2 && !props.children
312
- }, {
313
- [styles$2['sublist-expanded-new__active']]: isSublistActiveWhileIsMenuExpanded && props.isNewNavigationEnabled
314
- }, {
315
- [styles$2['sublist-expanded__active']]: isSublistActiveWhileIsMenuExpanded && !props.isNewNavigationEnabled
316
- }, {
317
- [styles$2['sublist-collapsed-new__active']]: isSublistActiveWhileIsMenuCollapsed && props.isNewNavigationEnabled
318
- }, {
319
- [styles$2['sublist-collapsed__active']]: isSublistActiveWhileIsMenuCollapsed && !props.isNewNavigationEnabled
320
- }, {
321
- [styles$2.sublist__inactive]: !isSublistActiveWhileIsMenuCollapsed
322
- }),
323
- children: props.children
324
- });
325
- };
326
- MenuGroup.propTypes = {};
327
- MenuGroup.displayName = 'MenuGroup';
328
- const MenuItem$1 = /*#__PURE__*/react$1.forwardRef((props, ref) => {
329
- var _props$isMainMenuRout;
330
- return jsxRuntime.jsx("li", {
331
- role: "menuitem",
332
- className: classnames__default["default"](styles$2['list-item'], {
333
- [styles$2.item__active]: props.isActive,
334
- [styles$2['item_menu__active']]: (_props$isMainMenuRout = props.isMainMenuRouteActive) !== null && _props$isMainMenuRout !== void 0 ? _props$isMainMenuRout : false,
335
- [styles$2['item_menu-collapsed']]: !props.isMenuOpen,
336
- [styles$2['item__no-submenu']]: !props.hasSubmenu
337
- }),
338
- onClick: props.onClick,
339
- onMouseEnter: props.onMouseEnter,
340
- onMouseLeave: props.onMouseLeave,
341
- children: jsxRuntime.jsx("div", {
342
- ref: ref,
343
- className: styles$2['item-link'],
344
- children: props.children
345
- })
346
- });
347
- });
348
- MenuItem$1.displayName = 'MenuItem';
349
- const menuItemLinkDefaultProps = {
350
- exactMatch: false
351
- };
352
- const MenuItemLink = props => {
353
- const redirectTo = targetUrl => useIsServedByProxy.location.replace(targetUrl);
354
- if (props.linkTo) {
355
- return jsxRuntime.jsx(reactRouterDom.NavLink, {
356
- to: props.linkTo,
357
- exact: props.exactMatch,
358
- activeClassName: props.isNewNavigationEnabled ? styles$2['highlighted-new'] : styles$2.highlighted,
359
- className: props.isNewNavigationEnabled ? styles$2['text-link-new'] : styles$2['text-link'],
360
- onClick: event => {
361
- if (props.linkTo && props.useFullRedirectsForLinks) {
362
- event.preventDefault();
363
- redirectTo(props.linkTo);
364
- } else if (props.onClick) {
365
- event.persist();
366
- props.onClick(event);
367
- }
368
- },
369
- children: props.children
370
- });
371
- }
372
- return jsxRuntime.jsx(jsxRuntime.Fragment, {
373
- children: props.children
374
- });
375
- };
376
- MenuItemLink.propTypes = {};
377
- MenuItemLink.displayName = 'MenuItemLink';
378
- MenuItemLink.defaultProps = menuItemLinkDefaultProps;
379
- const MenuItemDivider = () => jsxRuntime.jsx("div", {
380
- className: styles$2.divider
381
- });
382
- MenuItemDivider.displayName = 'MenuItemDivider';
383
- const isEveryMenuVisibilitySetToHidden = (menuVisibilities, namesOfMenuVisibilities) => _Array$isArray__default["default"](namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty__default["default"](namesOfMenuVisibilities).call(namesOfMenuVisibilities, nameOfMenuVisibility => menuVisibilities && menuVisibilities[nameOfMenuVisibility] === true);
384
- const restrictedMenuItemDefaultProps = {
385
- permissions: []
386
- };
387
- function isLongLivedFlag(flag) {
388
- return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
389
- }
390
- const RestrictedMenuItem = props => {
391
- // NOTE: Custom application are activated/deactivated while their
392
- // visibility is not controlled via a visibiility overwrite.
393
- const flagVariation = reactBroadcast.useFlagVariation(props.featureToggle);
394
- if (isEveryMenuVisibilitySetToHidden(props.menuVisibilities, props.namesOfMenuVisibilities)) return null;
395
- const permissionsWrapper = _Array$isArray__default["default"](props.permissions) && props.permissions.length > 0 || _Array$isArray__default["default"](props.dataFences) && props.dataFences.length > 0 ? jsxRuntime.jsx(permissions.RestrictedByPermissions, {
396
- permissions: props.permissions,
397
- actionRights: props.actionRights,
398
- dataFences: props.dataFences,
399
- selectDataFenceData: demandedDataFence => {
400
- switch (demandedDataFence.type) {
401
- case 'store':
402
- return demandedDataFence.actualDataFenceValues;
403
- default:
404
- return null;
405
- }
406
- }
407
- // Always check that some of the given permissions match.
408
- ,
409
- shouldMatchSomePermissions: true,
410
- projectPermissions: props.projectPermissions,
411
- children: props.children
412
- }) : jsxRuntime.jsx(jsxRuntime.Fragment, {
413
- children: props.children
414
- });
415
- if (props.featureToggle) {
416
- // A regular short-lived feature toggle
417
- if (flagVariation === true) return permissionsWrapper;
418
- // A long-lived feature toggle with `{ value: boolean, string: reason }`
419
- if (isLongLivedFlag(flagVariation) && flagVariation.value === true) return permissionsWrapper;
420
- return null;
421
- }
422
- return permissionsWrapper;
423
- };
424
- RestrictedMenuItem.propTypes = {};
425
- RestrictedMenuItem.displayName = 'RestrictedMenuItem';
426
- RestrictedMenuItem.defaultProps = restrictedMenuItemDefaultProps;
427
- const MenuLabel = props => {
428
- var _context;
429
- const localizedLabel = _findInstanceProperty__default["default"](_context = props.labelAllLocales).call(_context, loc => {
430
- var _context2;
431
- return _startsWithInstanceProperty__default["default"](_context2 = props.applicationLocale).call(_context2, loc.locale);
432
- });
433
- if (localizedLabel) return jsxRuntime.jsx(jsxRuntime.Fragment, {
434
- children: localizedLabel.value
435
- });
436
- if (props.defaultLabel) return jsxRuntime.jsx(jsxRuntime.Fragment, {
437
- children: props.defaultLabel
438
- });
439
- return jsxRuntime.jsx(jsxRuntime.Fragment, {
440
- children: constants.NO_VALUE_FALLBACK
441
- });
442
- };
443
- MenuLabel.propTypes = {
444
- labelAllLocales: _pt__default["default"].arrayOf(_pt__default["default"].any).isRequired,
445
- defaultLabel: _pt__default["default"].string,
446
- applicationLocale: _pt__default["default"].string.isRequired
447
- };
448
- const NavBarLayout$1 = /*#__PURE__*/react$1.forwardRef((props, ref) => jsxRuntime.jsxs(jsxRuntime.Fragment, {
449
- children: [jsxRuntime.jsx(react.Global, {
450
- styles: /*#__PURE__*/react.css(compiledStyles$2.global, ";" + ("" ), "" )
451
- }), jsxRuntime.jsx("nav", {
452
- ref: ref,
453
- className: props.isNewNavigationEnabled ? styles$2['left-navigation-new'] : styles$2['left-navigation'],
454
- "data-test": "left-navigation",
455
- "data-testid": "left-navigation",
456
- children: props.children
457
- })]
458
- }));
459
- NavBarLayout$1.displayName = 'NavBarLayout';
460
-
461
- const useLoadingMenuLayoutEffect = () => {
462
- const cachedIsForcedMenuOpen = window.localStorage.getItem(constants$1.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
463
- const isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? null : JSON.parse(cachedIsForcedMenuOpen);
464
- react$1.useLayoutEffect(() => {
465
- if (isForcedMenuOpen) document.body.classList.add('body__menu-open');
466
- if (!isForcedMenuOpen) document.body.classList.remove('body__menu-open');
467
- }, [isForcedMenuOpen]);
468
- };
469
-
470
- // https://babeljs.io/blog/2017/09/11/zero-config-with-babel-macros
471
- const compiledStyles$1 = {
472
- "global": ":root {\n\n /* Left navigation */\n\n /* Active list item with icon text */\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___n7yUt {\n display: flex;\n flex-grow: 1;\n width: 64px;\n z-index: 19999;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\n}\n\n.navbar-mod__left-navigation-new___31u-2 {\n display: grid;\n width: 64px;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\n height: 100vh;\n grid-template-rows: 56px 1fr;\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.body__menu-open .navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.navbar-mod__list-item___MjK6t {\n width: 64px;\n min-height: 56px;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\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 padding: var(--spacing-m);\n width: 100%;\n position: relative;\n display: block;\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}\n\n.navbar-mod__list-item___MjK6t .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);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon__active___asorg > 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 .navbar-mod__title___eRWUj {\n flex: 1;\n font-weight: 500;\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 display: none;\n opacity: 0;\n transition: all 0.25s ease-in-out;\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___jyAUi {\n border-top: 1px solid var(--color-neutral-40);\n height: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n}\n\n.navbar-mod__expand-icon___BtmRa {\n align-items: center;\n border-radius: 32px;\n cursor: pointer;\n display: flex;\n height: 24px;\n justify-content: center;\n transform: translateX(0) rotateZ(0deg);\n width: 24px;\n}\n\n.navbar-mod__item--bottom___eW7nh {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___MjK6t:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-hovered);\n}\n\n.navbar-mod__item__active___lo1sr .navbar-mod__title___eRWUj {\n opacity: 1;\n display: block;\n transition: all 0.2s ease;\n}\n\n.navbar-mod__item_menu-open___zk0zh {\n height: auto !important;\n}\n\n/* NO SUBMENU */\n\n.navbar-mod__item_menu-collapsed___cluyY .navbar-mod__item-link___X2Ina {\n text-align: center;\n}\n\n.navbar-mod__item__no-submenu___0lmiH .navbar-mod__title___eRWUj {\n border-bottom: 0;\n}\n\n.navbar-mod__item__no-submenu___0lmiH .navbar-mod__sublist___os1s7 {\n padding-top: 40px;\n}\n\n/* left-nav open */\n\n.body__menu-open .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n font-weight: 500;\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}\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}\n\n.body__menu-open .navbar-mod__list-item___MjK6t {\n height: auto;\n min-height: 56px;\n transition: max-height 0.15s ease-out;\n overflow: hidden;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt,\n.body__menu-open .navbar-mod__left-navigation-new___31u-2,\n.body__menu-open .navbar-mod__list-item___MjK6t {\n width: 245px;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n display: block;\n opacity: 1;\n margin-left: var(--spacing-m);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\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 .navbar-mod__title___eRWUj:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\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__expand-icon___BtmRa {\n transform: translateX(0) rotateZ(180deg);\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.body__menu-open .navbar-mod__sublist___os1s7 {\n position: relative;\n z-index: 1;\n left: 0;\n margin: 0 0 0 calc(\n 24px + var(--spacing-m) + 4px + 4px\n );\n padding: var(--spacing-m) 0 0;\n background-color: transparent;\n}\n\n.body__menu-open .navbar-mod__sublist___os1s7.navbar-mod__sublist-no-children___Dy-h- {\n border: 0;\n}\n\n.body__menu-open .navbar-mod__title-copy___o2y1q {\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 color: var(--color-for-navbar-link);\n text-decoration: none;\n transition: all 0.15s ease;\n}\n\n.body__menu-open .navbar-mod__title-copy___o2y1q: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}\n\n.body__menu-open .navbar-mod__expander___jyAUi {\n min-height: 50px;\n justify-content: flex-end;\n padding: var(--spacing-m);\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___os1s7 {\n padding: 75px var(--spacing-l) var(--spacing-m);\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 position: absolute;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n top: 0;\n left: 64px;\n list-style: none;\n opacity: 0.01;\n display: none;\n}\n\n.navbar-mod__sublist-new___5gy2L {\n padding: var(--spacing-m) var(--spacing-l);\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: 58px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n.navbar-mod__sublist__inactive___kJvf- {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___gafkS {\n padding: var(--spacing-s) 0 0;\n}\n\n.navbar-mod__sublist-item___gafkS:first-of-type {\n padding: 0;\n}\n\n.navbar-mod__sublist-item-new___z6xTy {\n display: flex;\n align-items: center;\n gap: 8px;\n align-self: stretch;\n}\n\n.navbar-mod__sublist-item-new__active___ZNiqu {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___gafkS: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}\n\n.navbar-mod__sublist-item-new___z6xTy: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}\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 transition: all 0.15s ease;\n}\n\n.navbar-mod__text-link-new___1mTbx {\n display: flex;\n align-items: flex-start;\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 padding: calc(var(--spacing-20) + var(--spacing-10))\n calc(var(--spacing-20) + var(--spacing-10))\n calc(var(--spacing-20) + var(--spacing-10)) var(--spacing-30);\n}\n\n.navbar-mod__text-link___dhtj6: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}\n\n/* Item active */\n\n.navbar-mod__item__active___lo1sr,\n.navbar-mod__item_menu__active___5xFRw {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar-when-active);\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: calc(24px + 4px * 2);\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: flex-start;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__fixed-menu___42tD9 .navbar-mod__list-item___MjK6t .navbar-mod__icon-container___w3FtA {\n /* empty block */\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.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY .navbar-mod__title___eRWUj {\n margin-left: 40px;\n}\n\n.navbar-mod__item_menu-collapsed___cluyY.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY .navbar-mod__title___eRWUj {\n max-height: 44px;\n overflow: hidden;\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n position: absolute;\n /* `left` and `width` required for displaying focus indicator properly */\n left: 46px;\n width: 166px;\n z-index: 1;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY .navbar-mod__title___eRWUj {\n margin-left: var(--spacing-m);\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__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__sublist___os1s7 {\n width: 205px;\n min-height: 100%;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__sublist___os1s7 {\n width: calc(100% - calc(\n 24px + var(--spacing-m) + 4px + 4px\n ));\n}\n\n.navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__sublist-collapsed__active___-9vYh {\n opacity: 1;\n display: unset;\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__sublist-expanded__active___240JK {\n display: block;\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed-new__active___scHEz,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded-new__active___KJ32l {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\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: 8px;\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-expanded-new__active___KJ32l {\n left: 240px;\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__highlighted-new___tJFEc,\n.navbar-mod__highlighted-new___tJFEc .navbar-mod__title___eRWUj {\n color: var(--color-surface);\n}\n\n.navbar-mod__sublist-item-new___z6xTy:hover .navbar-mod__highlighted-new___tJFEc,\n.navbar-mod__sublist-item-new___z6xTy:hover .navbar-mod__highlighted-new___tJFEc .navbar-mod__title___eRWUj {\n color: var(--color-solid);\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 padding-bottom: 32px;\n /*\n FIXME: Make the navbar scrollable in collapsed state.\n NOTE: do not use `overflow-x: hidden; overflow-y: auto;` as this prevents submenus from showing up on hover\n */\n}\n\n.navbar-mod__scrollable-menu-new___4yfOE {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n\n.navbar-mod__scrollable-menu-new___4yfOE::-webkit-scrollbar {\n display: none;\n}\n\n.navbar-mod__fixed-menu___42tD9 {\n flex: 0 0 0;\n position: relative;\n}\n",
473
- "jsonMap": {
474
- "left-navigation": "navbar-mod__left-navigation___n7yUt",
475
- "left-navigation-new": "navbar-mod__left-navigation-new___31u-2",
476
- "list": "navbar-mod__list___RCV3J",
477
- "scrollable-menu": "navbar-mod__scrollable-menu___64pxJ",
478
- "list-item": "navbar-mod__list-item___MjK6t",
479
- "item-link": "navbar-mod__item-link___X2Ina",
480
- "item-icon-text": "navbar-mod__item-icon-text___a-8JY",
481
- "icon": "navbar-mod__icon___bLsep",
482
- "icon__active": "navbar-mod__icon__active___asorg",
483
- "title": "navbar-mod__title___eRWUj",
484
- "expander": "navbar-mod__expander___jyAUi",
485
- "expand-icon": "navbar-mod__expand-icon___BtmRa",
486
- "item--bottom": "navbar-mod__item--bottom___eW7nh",
487
- "item__active": "navbar-mod__item__active___lo1sr",
488
- "item_menu-open": "navbar-mod__item_menu-open___zk0zh",
489
- "item_menu-collapsed": "navbar-mod__item_menu-collapsed___cluyY",
490
- "item__no-submenu": "navbar-mod__item__no-submenu___0lmiH",
491
- "sublist": "navbar-mod__sublist___os1s7",
492
- "sublist-no-children": "navbar-mod__sublist-no-children___Dy-h-",
493
- "title-copy": "navbar-mod__title-copy___o2y1q",
494
- "sublist-new": "navbar-mod__sublist-new___5gy2L",
495
- "sublist__inactive": "navbar-mod__sublist__inactive___kJvf-",
496
- "sublist-item": "navbar-mod__sublist-item___gafkS",
497
- "sublist-item-new": "navbar-mod__sublist-item-new___z6xTy",
498
- "sublist-item-new__active": "navbar-mod__sublist-item-new__active___ZNiqu",
499
- "text": "navbar-mod__text___ccHEu",
500
- "text-link": "navbar-mod__text-link___dhtj6",
501
- "text-link-new": "navbar-mod__text-link-new___1mTbx",
502
- "item_menu__active": "navbar-mod__item_menu__active___5xFRw",
503
- "icon-container": "navbar-mod__icon-container___w3FtA",
504
- "fixed-menu": "navbar-mod__fixed-menu___42tD9",
505
- "sublist-expanded__active": "navbar-mod__sublist-expanded__active___240JK",
506
- "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___-9vYh",
507
- "sublist-collapsed-new__active": "navbar-mod__sublist-collapsed-new__active___scHEz",
508
- "sublist-expanded-new__active": "navbar-mod__sublist-expanded-new__active___KJ32l",
509
- "highlighted": "navbar-mod__highlighted___oJWkA",
510
- "highlighted-new": "navbar-mod__highlighted-new___tJFEc",
511
- "hidden": "navbar-mod__hidden___TQLSs",
512
- "divider": "navbar-mod__divider___TpVzu",
513
- "loading-dot-container": "navbar-mod__loading-dot-container___G2LVb",
514
- "scrollable-menu-new": "navbar-mod__scrollable-menu-new___4yfOE"
515
- }
516
- };
517
- const styles$1 = compiledStyles$1.jsonMap;
518
- const LoadingNavBar = () => {
519
- var _context;
520
- const ref = react$1.useRef(null);
521
- useLoadingMenuLayoutEffect();
522
- return jsxRuntime.jsx(NavBarLayout$1, {
523
- ref: ref,
524
- children: jsxRuntime.jsx(MenuGroup, {
525
- id: "main",
526
- level: 1,
527
- children: jsxRuntime.jsx(jsxRuntime.Fragment, {
528
- children: _mapInstanceProperty__default["default"](_context = _Array$from__default["default"](new Array(5))).call(_context, (_, index) => jsxRuntime.jsx(MenuItem$1, {
529
- hasSubmenu: false,
530
- isMenuOpen: false,
531
- isActive: false,
532
- onClick: () => undefined,
533
- children: jsxRuntime.jsx("div", {
534
- className: styles$1['loading-dot-container'],
535
- "data-testid": "dot-container-".concat(index),
536
- children: jsxRuntime.jsx(dist_commercetoolsFrontendApplicationShell.LoadingPlaceholder, {
537
- shape: "dot",
538
- size: "m"
539
- })
540
- })
541
- }, index))
542
- })
543
- })
544
- });
545
- };
546
- LoadingNavBar.displayName = 'LoadingNavBar';
547
-
548
- var messages = reactIntl.defineMessages({
549
- 'NavBar.MCSupport.title': {
550
- id: 'NavBar.MCSupport.title',
551
- defaultMessage: 'Support'
552
- }
553
- });
554
-
555
- const NavBarLayout = props => {
556
- return jsxRuntime.jsx("nav", {
557
- "aria-busy": true,
558
- css: /*#__PURE__*/react.css("display:flex;flex-direction:column;height:100%;width:", props.isExpanded ? '256px' : '80px', ";" + ("" ), "" ),
559
- children: props.children
560
- });
561
- };
562
- NavBarLayout.propTypes = {};
563
- const NavBarHeader = /*#__PURE__*/_styled__default["default"]("div", {
564
- target: "epfjvz37"
565
- } )("display:flex;justify-content:center;align-items:center;padding:", designSystem.designTokens.spacing30, ";height:", constants$1.DIMENSIONS.header, ";background:", designSystem.designTokens.colorAccent10, ";" + ("" ));
566
- const NavBarBody = /*#__PURE__*/_styled__default["default"]("div", {
567
- target: "epfjvz36"
568
- } )("display:flex;flex:1;padding:", designSystem.designTokens.spacing30, ";flex-direction:column;align-items:flex-start;gap:", designSystem.designTokens.spacing40, ";flex-shrink:0;background:#009987;position:relative;&::after{content:'';position:absolute;bottom:0;height:36px;width:calc(100% - 2 * ", designSystem.designTokens.spacing30, ");background:linear-gradient(180deg, rgba(0, 153, 135, 0) 0%, #009987 100%);}" + ("" ));
569
- const NavBarFooter = /*#__PURE__*/_styled__default["default"]("div", {
570
- target: "epfjvz35"
571
- } )("position:relative;display:flex;width:100%;flex-direction:column;background:linear-gradient(180deg, #009987 0%, #004d44 100%);padding:", designSystem.designTokens.spacing30, " ", props => props.isExpanded ? '58px' : '0px', ";justify-content:center;align-items:center;&::before{content:'';position:absolute;top:0;height:1px;width:calc(100% - 2 * ", designSystem.designTokens.spacing30, ");background:rgba(255, 255, 255, 0.5);}" + ("" ));
572
- const ExpandIcon = /*#__PURE__*/_styled__default["default"]("div", {
573
- target: "epfjvz34"
574
- } )("width:40px;height:40px;border-radius:", designSystem.designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);" + ("" ));
575
- const MenuItemContainer = /*#__PURE__*/_styled__default["default"]("div", {
576
- target: "epfjvz33"
577
- } )("display:flex;align-items:center;justify-content:center;gap:12px;padding:", props => props.contentWidth === 'wide' || !props.isExpanded ? '12px' : '12px 28px', ";height:48px;" + ("" ));
578
- const MenuItemIcon = /*#__PURE__*/_styled__default["default"]("div", {
579
- target: "epfjvz32"
580
- } )("width:24px;height:24px;border-radius:", designSystem.designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);" + ("" ));
581
- const MenuItemTitle = /*#__PURE__*/_styled__default["default"]("div", {
582
- target: "epfjvz31"
583
- } )("border-radius:", designSystem.designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);flex:1;height:18px;" + ("" ));
584
- const MenuItemGroup = /*#__PURE__*/_styled__default["default"]("div", {
585
- target: "epfjvz30"
586
- } )({
587
- name: "1d3w5wq",
588
- styles: "width:100%"
589
- } );
590
-
591
- const MenuItem = props => {
592
- return jsxRuntime.jsxs(MenuItemContainer, {
593
- isExpanded: props.isExpanded,
594
- contentWidth: props.contentWidth,
595
- children: [jsxRuntime.jsx(MenuItemIcon, {}), props.isExpanded && jsxRuntime.jsx(MenuItemTitle, {})]
596
- });
597
- };
598
- MenuItem.defaultProps = {
599
- contentWidth: 'wide'
600
- };
601
- const NavBarSkeleton = props => {
602
- var _context, _context2, _context3, _context4;
603
- return jsxRuntime.jsxs(NavBarLayout, {
604
- isExpanded: props.isExpanded,
605
- children: [jsxRuntime.jsx(NavBarHeader, {
606
- children: jsxRuntime.jsx(MenuItemGroup, {
607
- children: jsxRuntime.jsx(MenuItem, {
608
- contentWidth: "narrow",
609
- isExpanded: props.isExpanded
610
- })
611
- })
612
- }), jsxRuntime.jsxs(NavBarBody, {
613
- children: [jsxRuntime.jsx(MenuItemGroup, {
614
- children: _mapInstanceProperty__default["default"](_context = [..._keysInstanceProperty__default["default"](_context2 = Array(2)).call(_context2)]).call(_context, index => jsxRuntime.jsx(MenuItem, {
615
- isExpanded: props.isExpanded
616
- }, index))
617
- }), jsxRuntime.jsx(MenuItemGroup, {
618
- children: _mapInstanceProperty__default["default"](_context3 = [..._keysInstanceProperty__default["default"](_context4 = Array(10)).call(_context4)]).call(_context3, index => jsxRuntime.jsx(MenuItem, {
619
- isExpanded: props.isExpanded
620
- }, index))
621
- }), jsxRuntime.jsx(MenuItemGroup, {
622
- children: jsxRuntime.jsx(MenuItem, {
623
- isExpanded: props.isExpanded
624
- })
625
- })]
626
- }), jsxRuntime.jsx(NavBarFooter, {
627
- isExpanded: props.isExpanded,
628
- children: jsxRuntime.jsx(ExpandIcon, {})
629
- })]
630
- });
631
- };
632
- NavBarSkeleton.displayName = 'NavBarSkeleton';
633
-
634
- // Type guard to help with filtering arrays for nullish elements.
635
- function nonNullable(value) {
636
- return value !== null && value !== undefined;
637
- }
638
-
639
- function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
640
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys$1(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys$1(Object(source))).call(_context5, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
641
- var FetchProjectExtensionsNavbar = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchProjectExtensionsNavbar" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "projectExtension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "installedApplications" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "application" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "entryPointUriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "icon" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "mainMenuLink" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }] } }, { kind: "Field", name: { kind: "Name", value: "submenuLinks" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }] } }] } }] } }] } }] } }], loc: { start: 0, end: 537, source: { body: "query FetchProjectExtensionsNavbar {\n projectExtension {\n id\n installedApplications {\n application {\n id\n entryPointUriPath\n icon\n mainMenuLink {\n id\n permissions\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n }\n submenuLinks {\n id\n uriPath\n permissions\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n }\n }\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
642
- const getInitialState = isForcedMenuOpen => ({
643
- isExpanderVisible: true,
644
- isMenuOpen: isNil__default["default"](isForcedMenuOpen) ? false : isForcedMenuOpen
645
- });
646
- const isForcedMenuOpenDefaultValue = false;
647
- const reducer = (state, action) => {
648
- switch (action.type) {
649
- case 'setActiveItemIndex':
650
- return _objectSpread$1(_objectSpread$1({}, state), {}, {
651
- activeItemIndex: action.payload
652
- });
653
- case 'unsetActiveItemIndex':
654
- return _objectSpread$1(_objectSpread$1({}, state), {}, {
655
- activeItemIndex: undefined
656
- });
657
- case 'setIsExpanderVisible':
658
- return _objectSpread$1(_objectSpread$1({}, state), {}, {
659
- isExpanderVisible: true
660
- });
661
- case 'toggleIsMenuOpen':
662
- return _objectSpread$1(_objectSpread$1({}, state), {}, {
663
- isMenuOpen: !state.isMenuOpen
664
- });
665
- case 'setIsMenuOpenAndMakeExpanderVisible':
666
- return _objectSpread$1(_objectSpread$1({}, state), {}, {
667
- isExpanderVisible: true,
668
- isMenuOpen: action.payload
669
- });
670
- case 'reset':
671
- return {
672
- isExpanderVisible: false,
673
- isMenuOpen: false
674
- };
675
- default:
676
- return state;
677
- }
678
- };
679
- const useNavbarStateManager = props => {
680
- var _context, _context2;
681
- const navBarNode = react$1.useRef(null);
682
- const applicationsNavBarMenu = useApplicationsMenu.useApplicationsMenu('navBar', {
683
- queryOptions: {
684
- onError: sentry.reportErrorToSentry
685
- },
686
- environment: props.environment
687
- });
688
- const _useMcQuery = dist_commercetoolsFrontendApplicationShell.useMcQuery(FetchProjectExtensionsNavbar, {
689
- skip: !props.environment.servedByProxy,
690
- context: {
691
- target: constants.GRAPHQL_TARGETS.SETTINGS_SERVICE
692
- },
693
- fetchPolicy: 'cache-and-network',
694
- onError: sentry.reportErrorToSentry
695
- }),
696
- projectExtensionsQuery = _useMcQuery.data;
697
- const allCustomApplicationsNavbarMenu = projectExtensionsQuery && projectExtensionsQuery.projectExtension && projectExtensionsQuery.projectExtension.installedApplications ? _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = projectExtensionsQuery.projectExtension.installedApplications).call(_context2, installedApplication => {
698
- var _context3;
699
- const application = installedApplication.application;
700
- // Map the menu properties to match the one from the proxy schema.
701
- // This is to ensure that the menu object is the same from the proxy
702
- // config and the custom apps config, thus allowing them to be
703
- // concatenated and rendered the same way.
704
- return {
705
- key: application.id,
706
- uriPath: application.entryPointUriPath,
707
- labelAllLocales: application.mainMenuLink.labelAllLocales || [],
708
- icon: application.icon,
709
- permissions: application.mainMenuLink.permissions,
710
- defaultLabel: application.mainMenuLink.defaultLabel,
711
- featureToggle: undefined,
712
- menuVisibility: undefined,
713
- actionRights: undefined,
714
- dataFences: undefined,
715
- submenu: _mapInstanceProperty__default["default"](_context3 = application.submenuLinks || []).call(_context3, submenuLink => ({
716
- key: submenuLink.id,
717
- uriPath: submenuLink.uriPath,
718
- labelAllLocales: submenuLink.labelAllLocales || [],
719
- permissions: submenuLink.permissions,
720
- defaultLabel: submenuLink.defaultLabel,
721
- featureToggle: undefined,
722
- menuVisibility: undefined,
723
- actionRights: undefined,
724
- dataFences: undefined
725
- }))
726
- };
727
- })).call(_context, nonNullable) : [];
728
- const cachedIsForcedMenuOpen = window.localStorage.getItem(constants$1.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
729
- const isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? isForcedMenuOpenDefaultValue : JSON.parse(cachedIsForcedMenuOpen);
730
- if (isNil__default["default"](cachedIsForcedMenuOpen)) {
731
- window.localStorage.setItem(constants$1.STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(isForcedMenuOpen));
732
- }
733
- const _useReducer = react$1.useReducer(reducer, getInitialState(isForcedMenuOpen)),
734
- _useReducer2 = _slicedToArray(_useReducer, 2),
735
- state = _useReducer2[0],
736
- dispatch = _useReducer2[1];
737
- const checkSize = react$1.useCallback(throttle__default["default"](() => {
738
- const shouldOpen = window.innerWidth > 1024;
739
- const canExpandMenu = window.innerWidth > 918;
740
-
741
- // If the screen is small, we should always keep the menu closed,
742
- // no matter the settings.
743
- if (!canExpandMenu) {
744
- if (state.isMenuOpen || state.isExpanderVisible) {
745
- // and resets the state to avoid conflicts
746
- dispatch({
747
- type: 'reset'
748
- });
749
- }
750
- } else if (canExpandMenu && state.isExpanderVisible !== true) {
751
- dispatch({
752
- type: 'setIsExpanderVisible'
753
- });
754
- } else if (isNil__default["default"](isForcedMenuOpen) && state.isMenuOpen !== shouldOpen) {
755
- // User has no settings yet (this.props.isForcedMenuOpen === null)
756
- // We check the viewport size and:
757
- // - if screen is big, we open the menu
758
- // - if screen is small we close it
759
- dispatch({
760
- type: 'setIsMenuOpenAndMakeExpanderVisible',
761
- payload: shouldOpen
762
- });
763
- } else if (!isNil__default["default"](isForcedMenuOpen) && state.isMenuOpen !== isForcedMenuOpen) {
764
- // User has setting, we should use that and ignore the screen size.
765
- // Note: if viewport size is small, we should ignore the user settings.
766
- dispatch({
767
- type: 'setIsMenuOpenAndMakeExpanderVisible',
768
- payload: isForcedMenuOpen
769
- });
770
- }
771
- }, 100), [isForcedMenuOpen, state.isExpanderVisible, state.isMenuOpen]);
772
- const shouldCloseMenuFly = react$1.useCallback(event => {
773
- if (navBarNode && navBarNode.current && !navBarNode.current.contains(event.target) && !state.isMenuOpen) dispatch({
774
- type: 'unsetActiveItemIndex'
775
- });else if (event.type === 'mouseleave') dispatch({
776
- type: 'unsetActiveItemIndex'
777
- });
778
- }, [state.isMenuOpen]);
779
- react$1.useEffect(() => {
780
- window.addEventListener('resize', checkSize);
781
- window.addEventListener('click', shouldCloseMenuFly, true);
782
- return () => {
783
- window.removeEventListener('resize', checkSize);
784
- window.removeEventListener('click', shouldCloseMenuFly, true);
785
- };
786
- }, [checkSize, shouldCloseMenuFly]);
787
- react$1.useEffect(() => {
788
- checkSize();
789
- // eslint-disable-next-line react-hooks/exhaustive-deps
790
- }, []); // <-- run this only once!!
791
-
792
- react$1.useLayoutEffect(() => {
793
- if (state.isMenuOpen) document.body.classList.add('body__menu-open');
794
- if (!state.isMenuOpen) document.body.classList.remove('body__menu-open');
795
- }, [state.isMenuOpen]);
796
- const handleToggleItem = react$1.useCallback(nextActiveItemIndex => {
797
- if (state.activeItemIndex !== nextActiveItemIndex) dispatch({
798
- type: 'setActiveItemIndex',
799
- payload: nextActiveItemIndex
800
- });
801
- }, [state.activeItemIndex]);
802
- const handleToggleMenu = react$1.useCallback(() => {
803
- if (state.isMenuOpen && state.activeItemIndex) {
804
- dispatch({
805
- type: 'unsetActiveItemIndex'
806
- });
807
- }
808
- dispatch({
809
- type: 'toggleIsMenuOpen'
810
- });
811
- // Synchronize the menu state with local storage.
812
- window.localStorage.setItem(constants$1.STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(!state.isMenuOpen));
813
- }, [state.activeItemIndex, state.isMenuOpen]);
814
- const allInternalApplicationsNavbarMenu = applicationsNavBarMenu || [];
815
- return _objectSpread$1(_objectSpread$1({}, state), {}, {
816
- navBarNode,
817
- handleToggleItem,
818
- handleToggleMenu,
819
- shouldCloseMenuFly,
820
- allInternalApplicationsNavbarMenu,
821
- allCustomApplicationsNavbarMenu
822
- });
823
- };
824
-
825
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
826
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context9, _context10; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context9 = ownKeys(Object(source), !0)).call(_context9, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context10 = ownKeys(Object(source))).call(_context10, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
827
- // https://babeljs.io/blog/2017/09/11/zero-config-with-babel-macros
828
- const compiledStyles = {
829
- "global": ":root {\n\n /* Left navigation */\n\n /* Active list item with icon text */\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___n7yUt {\n display: flex;\n flex-grow: 1;\n width: 64px;\n z-index: 19999;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\n}\n\n.navbar-mod__left-navigation-new___31u-2 {\n display: grid;\n width: 64px;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\n height: 100vh;\n grid-template-rows: 56px 1fr;\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.body__menu-open .navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.navbar-mod__list-item___MjK6t {\n width: 64px;\n min-height: 56px;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar);\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 padding: var(--spacing-m);\n width: 100%;\n position: relative;\n display: block;\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}\n\n.navbar-mod__list-item___MjK6t .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);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon__active___asorg > 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 .navbar-mod__title___eRWUj {\n flex: 1;\n font-weight: 500;\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 display: none;\n opacity: 0;\n transition: all 0.25s ease-in-out;\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___jyAUi {\n border-top: 1px solid var(--color-neutral-40);\n height: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n}\n\n.navbar-mod__expand-icon___BtmRa {\n align-items: center;\n border-radius: 32px;\n cursor: pointer;\n display: flex;\n height: 24px;\n justify-content: center;\n transform: translateX(0) rotateZ(0deg);\n width: 24px;\n}\n\n.navbar-mod__item--bottom___eW7nh {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___MjK6t:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-hovered);\n}\n\n.navbar-mod__item__active___lo1sr .navbar-mod__title___eRWUj {\n opacity: 1;\n display: block;\n transition: all 0.2s ease;\n}\n\n.navbar-mod__item_menu-open___zk0zh {\n height: auto !important;\n}\n\n/* NO SUBMENU */\n\n.navbar-mod__item_menu-collapsed___cluyY .navbar-mod__item-link___X2Ina {\n text-align: center;\n}\n\n.navbar-mod__item__no-submenu___0lmiH .navbar-mod__title___eRWUj {\n border-bottom: 0;\n}\n\n.navbar-mod__item__no-submenu___0lmiH .navbar-mod__sublist___os1s7 {\n padding-top: 40px;\n}\n\n/* left-nav open */\n\n.body__menu-open .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n font-weight: 500;\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}\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}\n\n.body__menu-open .navbar-mod__list-item___MjK6t {\n height: auto;\n min-height: 56px;\n transition: max-height 0.15s ease-out;\n overflow: hidden;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt,\n.body__menu-open .navbar-mod__left-navigation-new___31u-2,\n.body__menu-open .navbar-mod__list-item___MjK6t {\n width: 245px;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n display: block;\n opacity: 1;\n margin-left: var(--spacing-m);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\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 .navbar-mod__title___eRWUj:hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\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__expand-icon___BtmRa {\n transform: translateX(0) rotateZ(180deg);\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.body__menu-open .navbar-mod__sublist___os1s7 {\n position: relative;\n z-index: 1;\n left: 0;\n margin: 0 0 0 calc(\n 24px + var(--spacing-m) + 4px + 4px\n );\n padding: var(--spacing-m) 0 0;\n background-color: transparent;\n}\n\n.body__menu-open .navbar-mod__sublist___os1s7.navbar-mod__sublist-no-children___Dy-h- {\n border: 0;\n}\n\n.body__menu-open .navbar-mod__title-copy___o2y1q {\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 color: var(--color-for-navbar-link);\n text-decoration: none;\n transition: all 0.15s ease;\n}\n\n.body__menu-open .navbar-mod__title-copy___o2y1q: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}\n\n.body__menu-open .navbar-mod__expander___jyAUi {\n min-height: 50px;\n justify-content: flex-end;\n padding: var(--spacing-m);\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___os1s7 {\n padding: 75px var(--spacing-l) var(--spacing-m);\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 position: absolute;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n top: 0;\n left: 64px;\n list-style: none;\n opacity: 0.01;\n display: none;\n}\n\n.navbar-mod__sublist-new___5gy2L {\n padding: var(--spacing-m) var(--spacing-l);\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: 58px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n.navbar-mod__sublist__inactive___kJvf- {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___gafkS {\n padding: var(--spacing-s) 0 0;\n}\n\n.navbar-mod__sublist-item___gafkS:first-of-type {\n padding: 0;\n}\n\n.navbar-mod__sublist-item-new___z6xTy {\n display: flex;\n align-items: center;\n gap: 8px;\n align-self: stretch;\n}\n\n.navbar-mod__sublist-item-new__active___ZNiqu {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___gafkS: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}\n\n.navbar-mod__sublist-item-new___z6xTy: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}\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 transition: all 0.15s ease;\n}\n\n.navbar-mod__text-link-new___1mTbx {\n display: flex;\n align-items: flex-start;\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 padding: calc(var(--spacing-20) + var(--spacing-10))\n calc(var(--spacing-20) + var(--spacing-10))\n calc(var(--spacing-20) + var(--spacing-10)) var(--spacing-30);\n}\n\n.navbar-mod__text-link___dhtj6: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}\n\n/* Item active */\n\n.navbar-mod__item__active___lo1sr,\n.navbar-mod__item_menu__active___5xFRw {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: var(--background-color-for-navbar-when-active);\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: calc(24px + 4px * 2);\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: flex-start;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__fixed-menu___42tD9 .navbar-mod__list-item___MjK6t .navbar-mod__icon-container___w3FtA {\n /* empty block */\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.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY .navbar-mod__title___eRWUj {\n margin-left: 40px;\n}\n\n.navbar-mod__item_menu-collapsed___cluyY.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY .navbar-mod__title___eRWUj {\n max-height: 44px;\n overflow: hidden;\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n position: absolute;\n /* `left` and `width` required for displaying focus indicator properly */\n left: 46px;\n width: 166px;\n z-index: 1;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY .navbar-mod__title___eRWUj {\n margin-left: var(--spacing-m);\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__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__sublist___os1s7 {\n width: 205px;\n min-height: 100%;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__sublist___os1s7 {\n width: calc(100% - calc(\n 24px + var(--spacing-m) + 4px + 4px\n ));\n}\n\n.navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__sublist-collapsed__active___-9vYh {\n opacity: 1;\n display: unset;\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__sublist-expanded__active___240JK {\n display: block;\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed-new__active___scHEz,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded-new__active___KJ32l {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\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: 8px;\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-expanded-new__active___KJ32l {\n left: 240px;\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__highlighted-new___tJFEc,\n.navbar-mod__highlighted-new___tJFEc .navbar-mod__title___eRWUj {\n color: var(--color-surface);\n}\n\n.navbar-mod__sublist-item-new___z6xTy:hover .navbar-mod__highlighted-new___tJFEc,\n.navbar-mod__sublist-item-new___z6xTy:hover .navbar-mod__highlighted-new___tJFEc .navbar-mod__title___eRWUj {\n color: var(--color-solid);\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 padding-bottom: 32px;\n /*\n FIXME: Make the navbar scrollable in collapsed state.\n NOTE: do not use `overflow-x: hidden; overflow-y: auto;` as this prevents submenus from showing up on hover\n */\n}\n\n.navbar-mod__scrollable-menu-new___4yfOE {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n\n.navbar-mod__scrollable-menu-new___4yfOE::-webkit-scrollbar {\n display: none;\n}\n\n.navbar-mod__fixed-menu___42tD9 {\n flex: 0 0 0;\n position: relative;\n}\n",
830
- "jsonMap": {
831
- "left-navigation": "navbar-mod__left-navigation___n7yUt",
832
- "left-navigation-new": "navbar-mod__left-navigation-new___31u-2",
833
- "list": "navbar-mod__list___RCV3J",
834
- "scrollable-menu": "navbar-mod__scrollable-menu___64pxJ",
835
- "list-item": "navbar-mod__list-item___MjK6t",
836
- "item-link": "navbar-mod__item-link___X2Ina",
837
- "item-icon-text": "navbar-mod__item-icon-text___a-8JY",
838
- "icon": "navbar-mod__icon___bLsep",
839
- "icon__active": "navbar-mod__icon__active___asorg",
840
- "title": "navbar-mod__title___eRWUj",
841
- "expander": "navbar-mod__expander___jyAUi",
842
- "expand-icon": "navbar-mod__expand-icon___BtmRa",
843
- "item--bottom": "navbar-mod__item--bottom___eW7nh",
844
- "item__active": "navbar-mod__item__active___lo1sr",
845
- "item_menu-open": "navbar-mod__item_menu-open___zk0zh",
846
- "item_menu-collapsed": "navbar-mod__item_menu-collapsed___cluyY",
847
- "item__no-submenu": "navbar-mod__item__no-submenu___0lmiH",
848
- "sublist": "navbar-mod__sublist___os1s7",
849
- "sublist-no-children": "navbar-mod__sublist-no-children___Dy-h-",
850
- "title-copy": "navbar-mod__title-copy___o2y1q",
851
- "sublist-new": "navbar-mod__sublist-new___5gy2L",
852
- "sublist__inactive": "navbar-mod__sublist__inactive___kJvf-",
853
- "sublist-item": "navbar-mod__sublist-item___gafkS",
854
- "sublist-item-new": "navbar-mod__sublist-item-new___z6xTy",
855
- "sublist-item-new__active": "navbar-mod__sublist-item-new__active___ZNiqu",
856
- "text": "navbar-mod__text___ccHEu",
857
- "text-link": "navbar-mod__text-link___dhtj6",
858
- "text-link-new": "navbar-mod__text-link-new___1mTbx",
859
- "item_menu__active": "navbar-mod__item_menu__active___5xFRw",
860
- "icon-container": "navbar-mod__icon-container___w3FtA",
861
- "fixed-menu": "navbar-mod__fixed-menu___42tD9",
862
- "sublist-expanded__active": "navbar-mod__sublist-expanded__active___240JK",
863
- "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___-9vYh",
864
- "sublist-collapsed-new__active": "navbar-mod__sublist-collapsed-new__active___scHEz",
865
- "sublist-expanded-new__active": "navbar-mod__sublist-expanded-new__active___KJ32l",
866
- "highlighted": "navbar-mod__highlighted___oJWkA",
867
- "highlighted-new": "navbar-mod__highlighted-new___tJFEc",
868
- "hidden": "navbar-mod__hidden___TQLSs",
869
- "divider": "navbar-mod__divider___TpVzu",
870
- "loading-dot-container": "navbar-mod__loading-dot-container___G2LVb",
871
- "scrollable-menu-new": "navbar-mod__scrollable-menu-new___4yfOE"
872
- }
873
- };
874
- const styles = compiledStyles.jsonMap;
875
- const getMenuVisibilitiesOfSubmenus = menu => {
876
- var _context, _context2;
877
- return _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = menu.submenu).call(_context2, submenu => submenu.menuVisibility)).call(_context, nonNullable);
878
- };
879
- const getMenuVisibilityOfMainmenu = menu => menu.menuVisibility ? [menu.menuVisibility] : [];
880
- const getIsSubmenuRouteActive = (uriPath, props) => {
881
- var _context3;
882
- return Boolean(reactRouterDom.matchPath(props.location.pathname, {
883
- path: _concatInstanceProperty__default["default"](_context3 = "/".concat(props.projectKey, "/")).call(_context3, uriPath),
884
- exact: true,
885
- strict: false
886
- }));
887
- };
888
- const ApplicationMenu = props => {
889
- var _context4, _props$menu$featureTo, _props$menu$actionRig, _props$menu$dataFence, _context5, _context6;
890
- const _useState = react$1.useState(0),
891
- _useState2 = _slicedToArray(_useState, 2),
892
- topPosition = _useState2[0],
893
- setTopPosition = _useState2[1];
894
- const elementRef = react$1.useRef(null);
895
-
896
- // We need to calculate the vertical position of the menu item to be able to
897
- // position the submenu correctly.
898
- const verticalPosition = topPosition - props.scrollTop;
899
- react$1.useEffect(() => {
900
- if (elementRef.current != null) {
901
- setTopPosition(elementRef.current.offsetTop);
902
- }
903
- }, []);
904
- const isMainMenuRouteActive = Boolean(reactRouterDom.matchPath(props.location.pathname, {
905
- path: _concatInstanceProperty__default["default"](_context4 = "/".concat(props.projectKey, "/")).call(_context4, props.menu.uriPath),
906
- exact: false,
907
- strict: false
908
- }));
909
- const hasSubmenu = _Array$isArray__default["default"](props.menu.submenu) && props.menu.submenu.length > 0;
910
- react$1.useEffect(() => {
911
- // On first render, check which menu is active for the current application and expand
912
- // the submenu automatically unless the all navbar is collapsed or there are no submenu links.
913
- if (props.isMenuOpen && isMainMenuRouteActive && hasSubmenu) {
914
- props.handleToggleItem();
915
- }
916
- // eslint-disable-next-line react-hooks/exhaustive-deps
917
- }, [props.isMenuOpen]); // <-- (re)run this only when the all menu expands
918
-
919
- const namesOfMenuVisibilitiesOfAllSubmenus = hasSubmenu ? getMenuVisibilitiesOfSubmenus(props.menu) : getMenuVisibilityOfMainmenu(props.menu);
920
- const isMainMenuItemALink =
921
- // 1. When the navbar is collapsed
922
- !props.isMenuOpen ||
923
- // 2. When there is no submenu
924
- !hasSubmenu ||
925
- // 3. When the submenu group is active/visible
926
- props.isActive;
927
- return jsxRuntime.jsx(RestrictedMenuItem, {
928
- keyOfMenuItem: props.menu.key,
929
- featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
930
- permissions: props.menu.permissions,
931
- actionRights: (_props$menu$actionRig = props.menu.actionRights) !== null && _props$menu$actionRig !== void 0 ? _props$menu$actionRig : undefined,
932
- dataFences: (_props$menu$dataFence = props.menu.dataFences) !== null && _props$menu$dataFence !== void 0 ? _props$menu$dataFence : undefined,
933
- projectPermissions: props.projectPermissions,
934
- menuVisibilities: props.menuVisibilities,
935
- namesOfMenuVisibilities: namesOfMenuVisibilitiesOfAllSubmenus,
936
- children: jsxRuntime.jsxs(MenuItem$1, {
937
- ref: elementRef,
938
- hasSubmenu: hasSubmenu,
939
- isActive: props.isActive,
940
- isMainMenuRouteActive: isMainMenuRouteActive,
941
- isMenuOpen: props.isMenuOpen,
942
- onClick: props.handleToggleItem,
943
- onMouseEnter: props.isMenuOpen ? undefined : props.handleToggleItem,
944
- onMouseLeave: props.isMenuOpen ? undefined : props.shouldCloseMenuFly,
945
- children: [jsxRuntime.jsx(MenuItemLink, {
946
- linkTo: isMainMenuItemALink ? _concatInstanceProperty__default["default"](_context5 = "/".concat(props.projectKey, "/")).call(_context5, props.menu.uriPath) : undefined,
947
- useFullRedirectsForLinks: props.useFullRedirectsForLinks,
948
- onClick: props.onMenuItemClick,
949
- children: jsxRuntime.jsxs("div", {
950
- className: styles['item-icon-text'],
951
- children: [jsxRuntime.jsx("div", {
952
- className: styles['icon-container'],
953
- children: jsxRuntime.jsx("div", {
954
- className: classnames__default["default"](styles.icon, {
955
- [styles.icon__active]: props.isActive || isMainMenuRouteActive
956
- }),
957
- children: jsxRuntime.jsx(IconSwitcher, {
958
- icon: props.menu.icon,
959
- size: "scale"
960
- })
961
- })
962
- }), jsxRuntime.jsx("div", {
963
- className: styles.title,
964
- "aria-owns": "group-".concat(props.menu.key),
965
- children: jsxRuntime.jsx(MenuLabel, {
966
- labelAllLocales: props.menu.labelAllLocales,
967
- defaultLabel: props.menu.defaultLabel,
968
- applicationLocale: props.applicationLocale
969
- })
970
- })]
971
- })
972
- }), jsxRuntime.jsx(MenuGroup, {
973
- id: props.menu.key,
974
- level: 2,
975
- isActive: props.isActive,
976
- isExpanded: props.isMenuOpen,
977
- hasSubmenu: hasSubmenu,
978
- verticalPosition: verticalPosition,
979
- isNewNavigationEnabled: props.isNewNavigationEnabled,
980
- children: hasSubmenu ? _mapInstanceProperty__default["default"](_context6 = props.menu.submenu).call(_context6, submenu => {
981
- var _context7, _submenu$featureToggl, _submenu$actionRights, _submenu$dataFences, _context8;
982
- return jsxRuntime.jsx(RestrictedMenuItem, {
983
- keyOfMenuItem: submenu.key,
984
- featureToggle: (_submenu$featureToggl = submenu.featureToggle) !== null && _submenu$featureToggl !== void 0 ? _submenu$featureToggl : undefined,
985
- permissions: submenu.permissions,
986
- actionRights: (_submenu$actionRights = submenu.actionRights) !== null && _submenu$actionRights !== void 0 ? _submenu$actionRights : undefined,
987
- dataFences: (_submenu$dataFences = submenu.dataFences) !== null && _submenu$dataFences !== void 0 ? _submenu$dataFences : undefined,
988
- projectPermissions: props.projectPermissions,
989
- menuVisibilities: props.menuVisibilities,
990
- namesOfMenuVisibilities: submenu.menuVisibility ? [submenu.menuVisibility] : undefined,
991
- children: jsxRuntime.jsx("li", {
992
- className: classnames__default["default"]({
993
- [styles['sublist-item']]: !props.isNewNavigationEnabled,
994
- [styles['sublist-item-new']]: props.isNewNavigationEnabled,
995
- [styles['sublist-item-new__active']]: props.isNewNavigationEnabled && getIsSubmenuRouteActive(submenu.uriPath, props)
996
- }),
997
- children: jsxRuntime.jsx("div", {
998
- className: styles.text,
999
- children: jsxRuntime.jsx(MenuItemLink, {
1000
- linkTo: _concatInstanceProperty__default["default"](_context8 = "/".concat(props.projectKey, "/")).call(_context8, submenu.uriPath)
1001
- // We want to use an exact matching strategy to avoid multiple
1002
- // links matching sub-routes.
1003
- ,
1004
- exactMatch: true,
1005
- useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1006
- onClick: props.onMenuItemClick,
1007
- isNewNavigationEnabled: props.isNewNavigationEnabled,
1008
- children: jsxRuntime.jsx(MenuLabel, {
1009
- labelAllLocales: submenu.labelAllLocales,
1010
- defaultLabel: submenu.defaultLabel,
1011
- applicationLocale: props.applicationLocale
1012
- })
1013
- })
1014
- })
1015
- })
1016
- }, _concatInstanceProperty__default["default"](_context7 = "".concat(props.menu.key, "-submenu-")).call(_context7, submenu.key));
1017
- }) : null
1018
- })]
1019
- })
1020
- }, props.menu.key);
1021
- };
1022
- ApplicationMenu.propTypes = {};
1023
- ApplicationMenu.displayName = 'ApplicationMenu';
1024
- const NavBar = props => {
1025
- const _useNavbarStateManage = useNavbarStateManager({
1026
- environment: props.environment
1027
- }),
1028
- navBarNode = _useNavbarStateManage.navBarNode,
1029
- isMenuOpen = _useNavbarStateManage.isMenuOpen,
1030
- isExpanderVisible = _useNavbarStateManage.isExpanderVisible,
1031
- activeItemIndex = _useNavbarStateManage.activeItemIndex,
1032
- handleToggleItem = _useNavbarStateManage.handleToggleItem,
1033
- handleToggleMenu = _useNavbarStateManage.handleToggleMenu,
1034
- shouldCloseMenuFly = _useNavbarStateManage.shouldCloseMenuFly,
1035
- allInternalApplicationsNavbarMenu = _useNavbarStateManage.allInternalApplicationsNavbarMenu,
1036
- allCustomApplicationsNavbarMenu = _useNavbarStateManage.allCustomApplicationsNavbarMenu;
1037
- const useFullRedirectsForLinks = Boolean(props.environment.useFullRedirectsForLinks);
1038
- const location = reactRouterDom.useLocation();
1039
- const _useState3 = react$1.useState(0),
1040
- _useState4 = _slicedToArray(_useState3, 2),
1041
- scrollTop = _useState4[0],
1042
- setScrollTop = _useState4[1];
1043
-
1044
- // we need this scroll position to set the correct height of the submenu
1045
- const handleScroll = react$1.useMemo(() => debounce__default["default"](event => {
1046
- setScrollTop(event.target.scrollTop);
1047
- }, 50), []);
1048
- const projectPermissions = react$1.useMemo(() => {
1049
- var _props$project, _props$project2, _props$project3;
1050
- return {
1051
- permissions: applicationShellConnectors.normalizeAllAppliedPermissions((_props$project = props.project) === null || _props$project === void 0 ? void 0 : _props$project.allPermissionsForAllApplications.allAppliedPermissions),
1052
- actionRights: applicationShellConnectors.normalizeAllAppliedActionRights((_props$project2 = props.project) === null || _props$project2 === void 0 ? void 0 : _props$project2.allPermissionsForAllApplications.allAppliedActionRights),
1053
- dataFences: applicationShellConnectors.normalizeAllAppliedDataFences((_props$project3 = props.project) === null || _props$project3 === void 0 ? void 0 : _props$project3.allPermissionsForAllApplications.allAppliedDataFences)
1054
- };
1055
- }, [props.project]);
1056
- const menuVisibilities = react$1.useMemo(() => {
1057
- var _props$project4;
1058
- return applicationShellConnectors.normalizeAllAppliedMenuVisibilities((_props$project4 = props.project) === null || _props$project4 === void 0 ? void 0 : _props$project4.allPermissionsForAllApplications.allAppliedMenuVisibilities);
1059
- }, [props.project]);
1060
- const applicationLocale = props.applicationLocale;
1061
-
1062
- // Render the loading navbar as long as all the data
1063
- // hasn't been loaded, or if the project does not exist.
1064
- if (props.isLoading || typeof applicationLocale === 'undefined') {
1065
- // Do not render anything until we have the feature flag remote value fetched so
1066
- // we avoid a flick effect in case it is 'true' (different value from the default one)
1067
- if (!props.isNewNavigationEnabledEvaluationReady) {
1068
- return null;
1069
- }
1070
- return props.isNewNavigationEnabled ? jsxRuntime.jsx(NavBarSkeleton, {
1071
- isExpanded: isMenuOpen
1072
- }) : jsxRuntime.jsx(LoadingNavBar, {});
1073
- }
1074
- return jsxRuntime.jsxs(NavBarLayout$1, {
1075
- isNewNavigationEnabled: props.isNewNavigationEnabled,
1076
- ref: navBarNode,
1077
- children: [props.isNewNavigationEnabled && jsxRuntime.jsx("div", {
1078
- children: "Navigation header"
1079
- }), jsxRuntime.jsxs(MenuGroup, {
1080
- id: "main",
1081
- level: 1,
1082
- children: [jsxRuntime.jsxs("div", {
1083
- className: classnames__default["default"]({
1084
- [styles['scrollable-menu']]: !props.isNewNavigationEnabled
1085
- }, {
1086
- [styles['scrollable-menu-new']]: props.isNewNavigationEnabled
1087
- }),
1088
- onScroll: handleScroll,
1089
- children: [_mapInstanceProperty__default["default"](allInternalApplicationsNavbarMenu).call(allInternalApplicationsNavbarMenu, menu => {
1090
- const menuType = 'scrollable';
1091
- const itemIndex = "".concat(menuType, "-").concat(menu.key);
1092
- return jsxRuntime.jsx(ApplicationMenu, {
1093
- location: location,
1094
- menu: menu,
1095
- isActive: activeItemIndex === itemIndex,
1096
- handleToggleItem: () => handleToggleItem(itemIndex),
1097
- isMenuOpen: isMenuOpen,
1098
- shouldCloseMenuFly: shouldCloseMenuFly,
1099
- projectPermissions: projectPermissions,
1100
- menuVisibilities: menuVisibilities,
1101
- applicationLocale: applicationLocale,
1102
- projectKey: props.projectKey,
1103
- useFullRedirectsForLinks: useFullRedirectsForLinks,
1104
- onMenuItemClick: props.onMenuItemClick,
1105
- scrollTop: scrollTop,
1106
- isNewNavigationEnabled: props.isNewNavigationEnabled
1107
- }, menu.key);
1108
- }), jsxRuntime.jsx(MenuItemDivider, {}), _mapInstanceProperty__default["default"](allCustomApplicationsNavbarMenu).call(allCustomApplicationsNavbarMenu, menu => {
1109
- const menuType = 'scrollable';
1110
- const itemIndex = "".concat(menuType, "-").concat(menu.key);
1111
- return jsxRuntime.jsx(ApplicationMenu, {
1112
- location: location,
1113
- menu: menu,
1114
- isActive: activeItemIndex === itemIndex,
1115
- handleToggleItem: () => handleToggleItem(itemIndex),
1116
- isMenuOpen: isMenuOpen,
1117
- shouldCloseMenuFly: shouldCloseMenuFly,
1118
- projectPermissions: projectPermissions,
1119
- menuVisibilities: menuVisibilities,
1120
- applicationLocale: applicationLocale,
1121
- projectKey: props.projectKey,
1122
- useFullRedirectsForLinks: useFullRedirectsForLinks,
1123
- onMenuItemClick: props.onMenuItemClick,
1124
- scrollTop: scrollTop,
1125
- isNewNavigationEnabled: props.isNewNavigationEnabled
1126
- }, menu.key);
1127
- })]
1128
- }), jsxRuntime.jsxs("div", {
1129
- className: styles['fixed-menu'],
1130
- children: [jsxRuntime.jsx(Faded, {}), jsxRuntime.jsx(MenuItem$1, {
1131
- hasSubmenu: false,
1132
- isActive: false,
1133
- isMenuOpen: isMenuOpen,
1134
- onClick: () => {
1135
- handleToggleItem('fixed-support');
1136
- },
1137
- onMouseEnter: isMenuOpen ? undefined : () => handleToggleItem('fixed-support'),
1138
- onMouseLeave: isMenuOpen ? undefined : shouldCloseMenuFly,
1139
- children: jsxRuntime.jsx("a", {
1140
- href: constants.SUPPORT_PORTAL_URL,
1141
- rel: "noopener noreferrer",
1142
- target: "_blank",
1143
- children: jsxRuntime.jsxs("div", {
1144
- className: styles['item-icon-text'],
1145
- children: [jsxRuntime.jsx("div", {
1146
- className: styles['icon-container'],
1147
- children: jsxRuntime.jsx("div", {
1148
- className: classnames__default["default"](styles.icon, {
1149
- [styles.icon__active]: activeItemIndex === 'fixed-support'
1150
- }),
1151
- children: jsxRuntime.jsx(icons.SupportIcon, {
1152
- size: "scale"
1153
- })
1154
- })
1155
- }), jsxRuntime.jsx("div", {
1156
- className: styles.title,
1157
- children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread({}, messages['NavBar.MCSupport.title']))
1158
- })]
1159
- })
1160
- })
1161
- }), jsxRuntime.jsx(MenuExpander, {
1162
- isVisible: isExpanderVisible,
1163
- onClick: handleToggleMenu,
1164
- isMenuOpen: isMenuOpen
1165
- })]
1166
- })]
1167
- })]
1168
- });
1169
- };
1170
- NavBar.propTypes = {};
1171
- NavBar.displayName = 'NavBar';
1172
-
1173
- exports["default"] = NavBar;