@commercetools-frontend/application-shell 22.7.1 → 22.8.1

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-2bbea741.cjs.prod.js → application-entry-point-626484de.cjs.prod.js} +3 -3
  2. package/dist/{application-entry-point-6853f92e.cjs.dev.js → application-entry-point-a569b241.cjs.dev.js} +3 -3
  3. package/dist/{application-entry-point-97efa554.esm.js → application-entry-point-ef415ee0.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-2077e9e6.cjs.prod.js → configure-apollo-1d9542ce.cjs.prod.js} +20 -19
  14. package/dist/{configure-apollo-8bcf9317.esm.js → configure-apollo-4ea93a0d.esm.js} +20 -19
  15. package/dist/{configure-apollo-99b8a3fe.cjs.dev.js → configure-apollo-bb20a723.cjs.dev.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-465bc1bd.esm.js +202 -0
  23. package/dist/custom-view-dev-host-e545cc88.cjs.dev.js +215 -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-975c5225.esm.js → index-0f6e5659.esm.js} +284 -157
  59. package/dist/{index-f85c276c.cjs.prod.js → index-9005b218.cjs.prod.js} +221 -127
  60. package/dist/{index-6c0bc333.cjs.dev.js → index-a98d4c9b.cjs.dev.js} +282 -156
  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-06983ead.cjs.dev.js +2021 -0
  65. package/dist/navbar-12df9203.cjs.prod.js +1834 -0
  66. package/dist/navbar-6c7387f4.esm.js +1991 -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-80416189.cjs.dev.js → oidc-callback-ca83d92e.cjs.dev.js} +6 -5
  70. package/dist/{oidc-callback-7221e7d2.esm.js → oidc-callback-dbb7281d.esm.js} +6 -5
  71. package/dist/{oidc-callback-7c234583.cjs.prod.js → oidc-callback-ec82f402.cjs.prod.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-84c7881c.esm.js → project-container-95afa04d.esm.js} +11 -11
  80. package/dist/{project-container-c36e4793.cjs.dev.js → project-container-aa93d158.cjs.dev.js} +11 -11
  81. package/dist/{project-container-20379b3d.cjs.prod.js → project-container-b3e7cea1.cjs.prod.js} +11 -11
  82. package/dist/{project-expired-84871cc1.cjs.prod.js → project-expired-53e65d52.cjs.prod.js} +8 -7
  83. package/dist/{project-expired-6f9e5ff9.esm.js → project-expired-8ab9bf04.esm.js} +8 -7
  84. package/dist/{project-expired-fea5a2c6.cjs.dev.js → project-expired-bc80fb1d.cjs.dev.js} +8 -7
  85. package/dist/{project-not-found-763dcf53.esm.js → project-not-found-234f4ef8.esm.js} +8 -7
  86. package/dist/{project-not-found-e55553d5.cjs.prod.js → project-not-found-84b8e7ae.cjs.prod.js} +8 -7
  87. package/dist/{project-not-found-382b664d.cjs.dev.js → project-not-found-f38066da.cjs.dev.js} +8 -7
  88. package/dist/{project-not-initialized-aee7541a.cjs.dev.js → project-not-initialized-2c63ce3f.cjs.dev.js} +8 -7
  89. package/dist/{project-not-initialized-be040234.cjs.prod.js → project-not-initialized-5b34bfa0.cjs.prod.js} +8 -7
  90. package/dist/{project-not-initialized-8b3d52be.esm.js → project-not-initialized-e001de0a.esm.js} +8 -7
  91. package/dist/{project-suspended-02eb3c52.esm.js → project-suspended-5ab4e8a3.esm.js} +8 -7
  92. package/dist/{project-suspended-506c7b5f.cjs.dev.js → project-suspended-c9d40d91.cjs.dev.js} +8 -7
  93. package/dist/{project-suspended-2df71dad.cjs.prod.js → project-suspended-dfc1f03f.cjs.prod.js} +8 -7
  94. package/dist/{quick-access-bd5cc59f.cjs.prod.js → quick-access-16a5f759.cjs.prod.js} +7 -8
  95. package/dist/{quick-access-e474562c.esm.js → quick-access-5b7b7c66.esm.js} +7 -8
  96. package/dist/{quick-access-98ac50ec.cjs.dev.js → quick-access-82a8aac8.cjs.dev.js} +7 -8
  97. package/dist/{redirect-to-login-1e136a4f.cjs.dev.js → redirect-to-login-bd78dcb1.cjs.dev.js} +12 -12
  98. package/dist/{redirect-to-login-2b6962dd.esm.js → redirect-to-login-c6823c6b.esm.js} +12 -12
  99. package/dist/{redirect-to-login-cc23cd31.cjs.prod.js → redirect-to-login-f90fca22.cjs.prod.js} +12 -12
  100. package/dist/{redirect-to-logout-dd88770a.cjs.prod.js → redirect-to-logout-0e422d32.cjs.prod.js} +10 -9
  101. package/dist/{redirect-to-logout-47a5daea.esm.js → redirect-to-logout-a3c2ffce.esm.js} +10 -9
  102. package/dist/{redirect-to-logout-d6dce2e6.cjs.dev.js → redirect-to-logout-b8bad889.cjs.dev.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-2b781c0e.esm.js → requests-in-flight-loader-58c3d23a.esm.js} +7 -6
  107. package/dist/{requests-in-flight-loader-84434d03.cjs.prod.js → requests-in-flight-loader-646bb870.cjs.prod.js} +7 -6
  108. package/dist/{requests-in-flight-loader-d908a6df.cjs.dev.js → requests-in-flight-loader-ac6ebc49.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-1b91dcee.cjs.prod.js} +1 -1
  113. package/dist/{service-page-project-switcher-da4d68ce.esm.js → service-page-project-switcher-55aea85f.esm.js} +1 -1
  114. package/dist/{service-page-project-switcher-51ec5202.cjs.dev.js → service-page-project-switcher-b9825165.cjs.dev.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-26181355.esm.js} +3 -3
  128. package/dist/{use-applications-menu-5873c7ab.cjs.dev.js → use-applications-menu-901c46c2.cjs.dev.js} +3 -3
  129. package/dist/{use-applications-menu-08236536.cjs.prod.js → use-applications-menu-eb9a87c3.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-986485b8.esm.js → user-settings-menu-25bb824e.esm.js} +9 -8
  134. package/dist/{user-settings-menu-6a7ff392.cjs.dev.js → user-settings-menu-5c43bde2.cjs.dev.js} +9 -8
  135. package/dist/{user-settings-menu-a724a9b9.cjs.prod.js → user-settings-menu-e342dd57.cjs.prod.js} +9 -8
  136. package/dist/{version-tracker-cba298d4.esm.js → version-tracker-1ae50f15.esm.js} +2 -2
  137. package/dist/{version-tracker-90a08689.cjs.dev.js → version-tracker-4ebb2a8d.cjs.dev.js} +2 -2
  138. package/dist/{version-tracker-3d9b5cf0.cjs.prod.js → version-tracker-5e0a77d0.cjs.prod.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
@@ -0,0 +1,1834 @@
1
+ 'use strict';
2
+
3
+ var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
4
+ var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
5
+ var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
6
+ var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
7
+ var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
8
+ var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
9
+ var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
10
+ var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
11
+ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
12
+ var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
13
+ var _pt = require('prop-types');
14
+ var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
15
+ var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
16
+ var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
17
+ var react = require('react');
18
+ var react$1 = require('@emotion/react');
19
+ var classnames = require('classnames');
20
+ var reactIntl = require('react-intl');
21
+ var reactRouterDom = require('react-router-dom');
22
+ var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
23
+ var LogoSVG = require('@commercetools-frontend/assets/logos/commercetools_small-logo.svg');
24
+ var constants = require('@commercetools-frontend/constants');
25
+ var icons = require('@commercetools-uikit/icons');
26
+ var constants$1 = require('./constants-0da1db32.cjs.prod.js');
27
+ var isNil = require('lodash/isNil');
28
+ var throttle = require('lodash/throttle');
29
+ var sentry = require('@commercetools-frontend/sentry');
30
+ var dist_commercetoolsFrontendApplicationShell = require('./index-9005b218.cjs.prod.js');
31
+ var useApplicationsMenu = require('./use-applications-menu-eb9a87c3.cjs.prod.js');
32
+ var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
33
+ var _styled = require('@emotion/styled/base');
34
+ var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
35
+ var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
36
+ var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
37
+ var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
38
+ var reactBroadcast = require('@flopflip/react-broadcast');
39
+ var MissingImageSvg = require('@commercetools-frontend/assets/images/diagonal-line.svg');
40
+ var permissions = require('@commercetools-frontend/permissions');
41
+ var InlineSvg = require('@commercetools-uikit/icons/inline-svg');
42
+ var useIsServedByProxy = require('./use-is-served-by-proxy-845cace5.cjs.prod.js');
43
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
44
+ var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/keys');
45
+ var designSystem = require('@commercetools-uikit/design-system');
46
+ var _Array$from = require('@babel/runtime-corejs3/core-js-stable/array/from');
47
+ var applicationComponents = require('@commercetools-frontend/application-components');
48
+ require('./configure-apollo-1d9542ce.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-a55e3dd9.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 _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
109
+ var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
110
+ var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
111
+ var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
112
+ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
113
+ var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
114
+ var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
115
+ var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
116
+ var _pt__default = /*#__PURE__*/_interopDefault(_pt);
117
+ var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
118
+ var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
119
+ var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
120
+ var classnames__default = /*#__PURE__*/_interopDefault(classnames);
121
+ var LogoSVG__default = /*#__PURE__*/_interopDefault(LogoSVG);
122
+ var isNil__default = /*#__PURE__*/_interopDefault(isNil);
123
+ var throttle__default = /*#__PURE__*/_interopDefault(throttle);
124
+ var _styled__default = /*#__PURE__*/_interopDefault(_styled);
125
+ var _includesInstanceProperty__default = /*#__PURE__*/_interopDefault(_includesInstanceProperty);
126
+ var _everyInstanceProperty__default = /*#__PURE__*/_interopDefault(_everyInstanceProperty);
127
+ var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
128
+ var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
129
+ var MissingImageSvg__default = /*#__PURE__*/_interopDefault(MissingImageSvg);
130
+ var InlineSvg__default = /*#__PURE__*/_interopDefault(InlineSvg);
131
+ var _keysInstanceProperty__default = /*#__PURE__*/_interopDefault(_keysInstanceProperty);
132
+ var _Array$from__default = /*#__PURE__*/_interopDefault(_Array$from);
133
+
134
+ var messages = reactIntl.defineMessages({
135
+ 'NavBar.MCSupport.title': {
136
+ id: 'NavBar.MCSupport.title',
137
+ defaultMessage: 'Support'
138
+ }
139
+ });
140
+
141
+ // Type guard to help with filtering arrays for nullish elements.
142
+ function nonNullable(value) {
143
+ return value !== null && value !== undefined;
144
+ }
145
+
146
+ function ownKeys$5(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
147
+ function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys$5(Object(t), !0)).call(_context4, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys$5(Object(t))).call(_context5, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
148
+ 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 } } } };
149
+ const getInitialState = isForcedMenuOpen => ({
150
+ isExpanderVisible: true,
151
+ isMenuOpen: isNil__default["default"](isForcedMenuOpen) ? false : isForcedMenuOpen
152
+ });
153
+ const isForcedMenuOpenDefaultValue = false;
154
+ const reducer = (state, action) => {
155
+ switch (action.type) {
156
+ case 'setActiveItemIndex':
157
+ return _objectSpread$5(_objectSpread$5({}, state), {}, {
158
+ activeItemIndex: action.payload
159
+ });
160
+ case 'unsetActiveItemIndex':
161
+ return _objectSpread$5(_objectSpread$5({}, state), {}, {
162
+ activeItemIndex: undefined
163
+ });
164
+ case 'setIsExpanderVisible':
165
+ return _objectSpread$5(_objectSpread$5({}, state), {}, {
166
+ isExpanderVisible: true
167
+ });
168
+ case 'toggleIsMenuOpen':
169
+ return _objectSpread$5(_objectSpread$5({}, state), {}, {
170
+ isMenuOpen: !state.isMenuOpen
171
+ });
172
+ case 'setIsMenuOpenAndMakeExpanderVisible':
173
+ return _objectSpread$5(_objectSpread$5({}, state), {}, {
174
+ isExpanderVisible: true,
175
+ isMenuOpen: action.payload
176
+ });
177
+ case 'reset':
178
+ return {
179
+ isExpanderVisible: false,
180
+ isMenuOpen: false
181
+ };
182
+ default:
183
+ return state;
184
+ }
185
+ };
186
+ const useNavbarStateManager = props => {
187
+ var _context, _context2;
188
+ const navBarNode = react.useRef(null);
189
+ const applicationsNavBarMenu = useApplicationsMenu.useApplicationsMenu('navBar', {
190
+ queryOptions: {
191
+ onError: sentry.reportErrorToSentry
192
+ },
193
+ environment: props.environment
194
+ });
195
+ const _useMcQuery = dist_commercetoolsFrontendApplicationShell.useMcQuery(FetchProjectExtensionsNavbar, {
196
+ skip: !props.environment.servedByProxy,
197
+ context: {
198
+ target: constants.GRAPHQL_TARGETS.SETTINGS_SERVICE
199
+ },
200
+ fetchPolicy: 'cache-and-network',
201
+ onError: sentry.reportErrorToSentry
202
+ }),
203
+ projectExtensionsQuery = _useMcQuery.data;
204
+ const allCustomApplicationsNavbarMenu = projectExtensionsQuery && projectExtensionsQuery.projectExtension && projectExtensionsQuery.projectExtension.installedApplications ? _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = projectExtensionsQuery.projectExtension.installedApplications).call(_context2, installedApplication => {
205
+ var _context3;
206
+ const application = installedApplication.application;
207
+ // Map the menu properties to match the one from the proxy schema.
208
+ // This is to ensure that the menu object is the same from the proxy
209
+ // config and the custom apps config, thus allowing them to be
210
+ // concatenated and rendered the same way.
211
+ return {
212
+ key: application.id,
213
+ uriPath: application.entryPointUriPath,
214
+ labelAllLocales: application.mainMenuLink.labelAllLocales || [],
215
+ icon: application.icon,
216
+ permissions: application.mainMenuLink.permissions,
217
+ defaultLabel: application.mainMenuLink.defaultLabel,
218
+ featureToggle: undefined,
219
+ menuVisibility: undefined,
220
+ actionRights: undefined,
221
+ dataFences: undefined,
222
+ submenu: _mapInstanceProperty__default["default"](_context3 = application.submenuLinks || []).call(_context3, submenuLink => ({
223
+ key: submenuLink.id,
224
+ uriPath: submenuLink.uriPath,
225
+ labelAllLocales: submenuLink.labelAllLocales || [],
226
+ permissions: submenuLink.permissions,
227
+ defaultLabel: submenuLink.defaultLabel,
228
+ featureToggle: undefined,
229
+ menuVisibility: undefined,
230
+ actionRights: undefined,
231
+ dataFences: undefined
232
+ }))
233
+ };
234
+ })).call(_context, nonNullable) : [];
235
+ const cachedIsForcedMenuOpen = window.localStorage.getItem(constants$1.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
236
+ const isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? isForcedMenuOpenDefaultValue : JSON.parse(cachedIsForcedMenuOpen);
237
+ if (isNil__default["default"](cachedIsForcedMenuOpen)) {
238
+ window.localStorage.setItem(constants$1.STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(isForcedMenuOpen));
239
+ }
240
+ const _useReducer = react.useReducer(reducer, getInitialState(isForcedMenuOpen)),
241
+ _useReducer2 = _slicedToArray(_useReducer, 2),
242
+ state = _useReducer2[0],
243
+ dispatch = _useReducer2[1];
244
+ const checkSize = react.useCallback(throttle__default["default"](() => {
245
+ const shouldOpen = window.innerWidth > constants$1.WINDOW_SIZES.STANDARD;
246
+ const canExpandMenu = window.innerWidth > (props.newNavigation ? constants$1.WINDOW_SIZES.WIDE : constants$1.WINDOW_SIZES.NARROW);
247
+
248
+ // If the screen is small, we should always keep the menu closed,
249
+ // no matter the settings.
250
+ if (!canExpandMenu) {
251
+ if (state.isMenuOpen || state.isExpanderVisible) {
252
+ // and resets the state to avoid conflicts
253
+ dispatch({
254
+ type: 'reset'
255
+ });
256
+ }
257
+ } else if (isForcedMenuOpen) {
258
+ dispatch({
259
+ type: 'setIsMenuOpenAndMakeExpanderVisible',
260
+ payload: true
261
+ });
262
+ } else if (canExpandMenu && state.isExpanderVisible !== true) {
263
+ dispatch({
264
+ type: 'setIsExpanderVisible'
265
+ });
266
+ } else if (isNil__default["default"](isForcedMenuOpen) && state.isMenuOpen !== shouldOpen) {
267
+ // User has no settings yet (this.props.isForcedMenuOpen === null)
268
+ // We check the viewport size and:
269
+ // - if screen is big, we open the menu
270
+ // - if screen is small we close it
271
+ dispatch({
272
+ type: 'setIsMenuOpenAndMakeExpanderVisible',
273
+ payload: shouldOpen
274
+ });
275
+ } else if (!isNil__default["default"](isForcedMenuOpen) && state.isMenuOpen !== isForcedMenuOpen) {
276
+ // User has setting, we should use that and ignore the screen size.
277
+ // Note: if viewport size is small, we should ignore the user settings.
278
+ dispatch({
279
+ type: 'setIsMenuOpenAndMakeExpanderVisible',
280
+ payload: isForcedMenuOpen
281
+ });
282
+ }
283
+ }, 100), [isForcedMenuOpen, state.isExpanderVisible, state.isMenuOpen]);
284
+ const shouldCloseMenuFly = react.useCallback(event => {
285
+ if (navBarNode && navBarNode.current && !navBarNode.current.contains(event.target) && !state.isMenuOpen) dispatch({
286
+ type: 'unsetActiveItemIndex'
287
+ });else if (event.type === 'mouseleave') dispatch({
288
+ type: 'unsetActiveItemIndex'
289
+ });
290
+ }, [state.isMenuOpen]);
291
+ react.useEffect(() => {
292
+ window.addEventListener('resize', checkSize);
293
+ window.addEventListener('click', shouldCloseMenuFly, true);
294
+ return () => {
295
+ window.removeEventListener('resize', checkSize);
296
+ window.removeEventListener('click', shouldCloseMenuFly, true);
297
+ };
298
+ }, [checkSize, shouldCloseMenuFly]);
299
+ react.useEffect(() => {
300
+ checkSize();
301
+ // eslint-disable-next-line react-hooks/exhaustive-deps
302
+ }, []); // <-- run this only once!!
303
+
304
+ react.useLayoutEffect(() => {
305
+ if (state.isMenuOpen) document.body.classList.add('body__menu-open');
306
+ if (!state.isMenuOpen) document.body.classList.remove('body__menu-open');
307
+ }, [state.isMenuOpen]);
308
+ const handleToggleItem = react.useCallback(nextActiveItemIndex => {
309
+ if (state.activeItemIndex !== nextActiveItemIndex) dispatch({
310
+ type: 'setActiveItemIndex',
311
+ payload: nextActiveItemIndex
312
+ });
313
+ }, [state.activeItemIndex]);
314
+ const handleToggleMenu = react.useCallback(() => {
315
+ if (state.isMenuOpen && state.activeItemIndex) {
316
+ dispatch({
317
+ type: 'unsetActiveItemIndex'
318
+ });
319
+ }
320
+ dispatch({
321
+ type: 'toggleIsMenuOpen'
322
+ });
323
+ // Synchronize the menu state with local storage.
324
+ window.localStorage.setItem(constants$1.STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(!state.isMenuOpen));
325
+ }, [state.activeItemIndex, state.isMenuOpen]);
326
+ const allInternalApplicationsNavbarMenu = applicationsNavBarMenu || [];
327
+ return _objectSpread$5(_objectSpread$5({}, state), {}, {
328
+ navBarNode,
329
+ handleToggleItem,
330
+ handleToggleMenu,
331
+ shouldCloseMenuFly,
332
+ allInternalApplicationsNavbarMenu,
333
+ allCustomApplicationsNavbarMenu
334
+ });
335
+ };
336
+
337
+ const _excluded$1 = ["icon"];
338
+ function ownKeys$4(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
339
+ function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$4(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$4(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
340
+ const compiledStyles$4 = {
341
+ "global": ":root {\n\n /* Left navigation */\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___op7AX {\n display: grid;\n width: 80px;\n background: var(--color-primary);\n height: 100%;\n grid-template-rows: 56px 1fr;\n}\n\n.navbar-mod__navigation-header___vaIOk {\n background-color: var(--color-accent-10);\n color: var(--color-surface);\n display: flex;\n justify-content: center;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-30);\n}\n\n.navbar-mod__navigation-header___vaIOk .navbar-mod__icon-container___hAbPn {\n width: auto;\n display: flex;\n justify-content: center;\n}\n\n.navbar-mod__navigation-header___vaIOk .navbar-mod__title___aTo0V {\n font-weight: 600;\n margin-left: var(--spacing-20);\n}\n\n.navbar-mod__navigation-header___vaIOk .navbar-mod__icon___21inq {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list___pouHY {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 0;\n}\n\n.navbar-mod__list-item___y7qYe {\n min-height: 48px;\n background: var(--color-primary);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___6U2c1 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n padding: var(--spacing-25);\n width: 48px;\n position: relative;\n display: block;\n}\n\n.navbar-mod__item-link-no-submenu___EPy3b {\n width: 100%;\n height: 100%;\n}\n\n.body__menu-open .navbar-mod__item-link___6U2c1 {\n width: 100%;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__item-icon-text___3ZFtB {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__icon___21inq {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__icon___21inq > svg *:not([fill='none']) {\n fill: var(--color-surface);\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__title___aTo0V {\n flex: 1;\n font-weight: 600;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n 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___blASx {\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: linear-gradient(\n 180deg,\n var(--color-primary) 0%,\n var(--color-primary-25) 100%\n );\n padding: var(--spacing-30) var(--spacing-25);\n}\n\n/* divider */\n\n.navbar-mod__expander___blASx::before {\n content: '';\n position: absolute;\n top: 56px;\n height: 1px;\n background: rgba(255, 255, 255, 0.5);\n width: calc(100% - 2 * var(--spacing-30));\n}\n\n.navbar-mod__expand-icon___3A2Dk {\n height: 40px;\n width: 40px;\n border-radius: var(--border-radius-4);\n padding: var(--spacing-20);\n background: rgba(255, 255, 255, 0.2);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__expand-icon___3A2Dk:hover {\n background: rgba(255, 255, 255, 0.3);\n}\n\n.navbar-mod__item--bottom___Pygdy {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___y7qYe:not(.navbar-mod__item_menu__active___j515K):hover {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__item__active___SEPWP .navbar-mod__title___aTo0V {\n opacity: 1;\n display: block;\n transition: all 0.2s ease;\n}\n\n.navbar-mod__item_menu-open___NnkVM {\n height: auto !important;\n}\n\n.navbar-mod__item_menu-collapsed___1s4K0 .navbar-mod__item-link___6U2c1 {\n text-align: center;\n}\n\n.body__menu-open .navbar-mod__left-navigation___op7AX {\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___y7qYe {\n height: auto;\n min-height: 48px;\n overflow: hidden;\n width: 100%;\n}\n\n.body__menu-open .navbar-mod__left-navigation___op7AX {\n width: 256px;\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe .navbar-mod__title___aTo0V {\n display: block;\n opacity: 1;\n margin-left: var(--spacing-25);\n color: var(--color-surface);\n}\n\n.navbar-mod__list-item___y7qYe:not(.navbar-mod__item__active___SEPWP):hover .navbar-mod__icon___21inq > 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___y7qYe:not(.navbar-mod__item__active___SEPWP):hover .navbar-mod__title___aTo0V {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__item__active___SEPWP {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___tMZy4 {\n padding: var(--spacing-30);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n left: 72px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n/* This pseudo-element is required to enable smooth coursor movement from the main menu item to submenu items with the gap in between */\n\n.navbar-mod__sublist-expanded__active___XyUuS::before,\n.navbar-mod__sublist-collapsed__active___yWHea::before,\n.navbar-mod__sublist-collapsed__active__above___-7-Ca::before {\n content: '';\n position: absolute;\n display: block;\n width: calc(253px + var(--spacing-20));\n height: 48px;\n left: calc(-1 * var(--spacing-20));\n}\n\n.navbar-mod__sublist__inactive___5-OgH {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___ZZbsF {\n display: flex;\n align-items: center;\n align-self: stretch;\n}\n\n.navbar-mod__sublist-item__active___O2-c- {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___ZZbsF:not(.navbar-mod__sublist-item__active___O2-c-):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___3TpQt {\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___TcEn2 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n display: flex;\n padding: var(--spacing-25);\n align-items: center;\n justify-content: center;\n}\n\n.body__menu-open .navbar-mod__text-link___TcEn2 {\n justify-content: start;\n}\n\n.navbar-mod__text-link-sublist-wrapper___RQinz {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n position: relative;\n min-height: 0;\n}\n\n.navbar-mod__text-link-sublist___V0-tf {\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n color: var(--color-solid);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n text-decoration: none;\n flex: 1;\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n var(--spacing-30);\n}\n\n.navbar-mod__navlink-clickable-content___o-emf {\n height: 100%;\n width: 100%;\n}\n\n/* Item active */\n\n.navbar-mod__item__active___SEPWP,\n.navbar-mod__item_menu__active___j515K {\n background: var(--color-accent-30);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__icon-container___hAbPn {\n width: auto;\n display: flex;\n justify-content: center;\n align-self: flex-start;\n}\n\n.navbar-mod__fixed-menu___QYEJM .navbar-mod__list-item___y7qYe .navbar-mod__item-icon-text___3ZFtB {\n justify-content: center;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__support-menu___bkf5Q {\n padding: 0 var(--spacing-30) var(--spacing-20) var(--spacing-30);\n height: calc(48px + var(--spacing-20));\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB {\n position: relative;\n width: auto;\n}\n\n.navbar-mod__item_menu-collapsed___1s4K0.navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB .navbar-mod__title___aTo0V {\n display: none;\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB {\n margin-left: 0;\n}\n\n.navbar-mod__tooltip-container___gTiaE {\n position: absolute;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n visibility: visible;\n}\n\n.navbar-mod__tooltip___3PSlF {\n padding: var(--spacing-10) calc(var(--spacing-20) + var(--spacing-10));\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n border-radius: var(--border-radius-4);\n background: var(--color-accent-10);\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n color: var(--color-surface);\n max-height: 48px;\n visibility: inherit;\n}\n\n.navbar-mod__sublist-expanded__active___XyUuS,\n.navbar-mod__sublist-collapsed__active___yWHea,\n.navbar-mod__sublist-collapsed__active__above___-7-Ca {\n opacity: 1;\n display: none;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active___yWHea,\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active__above___-7-Ca,\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-expanded__active___XyUuS,\n.navbar-mod__item-link-no-submenu___EPy3b:hover .navbar-mod__sublist-collapsed__active___yWHea {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--color-surface);\n /* TODO: add design tokens instead hard-coded values */\n min-height: 50px;\n width: 253px;\n border-radius: var(--border-radius-8);\n /* z-index value must be higher than AppBar's z-index */\n z-index: 20001;\n box-shadow: -2px 4px 25px 0 rgba(89, 89, 89, 0.5);\n}\n\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active___yWHea.navbar-mod__sublist-collapsed__empty___mXa6R,\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active__above___-7-Ca.navbar-mod__sublist-collapsed__empty___mXa6R,\n.navbar-mod__item-link-no-submenu___EPy3b:hover\n .navbar-mod__sublist-collapsed__active___yWHea.navbar-mod__sublist-collapsed__empty___mXa6R {\n visibility: hidden;\n}\n\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-expanded__active___XyUuS {\n left: 248px;\n}\n\n.navbar-mod__highlighted___06BoS,\n.navbar-mod__highlighted___06BoS .navbar-mod__title___aTo0V {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___-s7eh {\n display: none;\n}\n\n.navbar-mod__divider___GBOn1 {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___B7sPh {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___I9ci7 {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: hidden;\n padding: var(--spacing-30) var(--spacing-30) 48px;\n width: 80px;\n box-sizing: border-box;\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--color-primary-40) transparent;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___I9ci7 {\n width: 256px;\n}\n\n.navbar-mod__scrollable-menu___I9ci7:hover {\n overflow-y: scroll;\n padding-right: 8px;\n}\n\n.navbar-mod__scrollable-menu___I9ci7::-webkit-scrollbar {\n width: 8px;\n}\n\n.navbar-mod__scrollable-menu___I9ci7::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navbar-mod__scrollable-menu___I9ci7::-webkit-scrollbar-thumb {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__fixed-menu___QYEJM {\n position: relative;\n width: 80px;\n}\n\n.body__menu-open .navbar-mod__fixed-menu___QYEJM {\n width: 256px;\n}\n",
342
+ "jsonMap": {
343
+ "left-navigation": "navbar-mod__left-navigation___op7AX",
344
+ "navigation-header": "navbar-mod__navigation-header___vaIOk",
345
+ "icon-container": "navbar-mod__icon-container___hAbPn",
346
+ "title": "navbar-mod__title___aTo0V",
347
+ "icon": "navbar-mod__icon___21inq",
348
+ "list": "navbar-mod__list___pouHY",
349
+ "list-item": "navbar-mod__list-item___y7qYe",
350
+ "item-link": "navbar-mod__item-link___6U2c1",
351
+ "item-link-no-submenu": "navbar-mod__item-link-no-submenu___EPy3b",
352
+ "item-icon-text": "navbar-mod__item-icon-text___3ZFtB",
353
+ "expander": "navbar-mod__expander___blASx",
354
+ "expand-icon": "navbar-mod__expand-icon___3A2Dk",
355
+ "item--bottom": "navbar-mod__item--bottom___Pygdy",
356
+ "item_menu__active": "navbar-mod__item_menu__active___j515K",
357
+ "item__active": "navbar-mod__item__active___SEPWP",
358
+ "item_menu-open": "navbar-mod__item_menu-open___NnkVM",
359
+ "item_menu-collapsed": "navbar-mod__item_menu-collapsed___1s4K0",
360
+ "sublist": "navbar-mod__sublist___tMZy4",
361
+ "sublist-expanded__active": "navbar-mod__sublist-expanded__active___XyUuS",
362
+ "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___yWHea",
363
+ "sublist-collapsed__active__above": "navbar-mod__sublist-collapsed__active__above___-7-Ca",
364
+ "sublist__inactive": "navbar-mod__sublist__inactive___5-OgH",
365
+ "sublist-item": "navbar-mod__sublist-item___ZZbsF",
366
+ "sublist-item__active": "navbar-mod__sublist-item__active___O2-c-",
367
+ "text": "navbar-mod__text___3TpQt",
368
+ "text-link": "navbar-mod__text-link___TcEn2",
369
+ "text-link-sublist-wrapper": "navbar-mod__text-link-sublist-wrapper___RQinz",
370
+ "text-link-sublist": "navbar-mod__text-link-sublist___V0-tf",
371
+ "navlink-clickable-content": "navbar-mod__navlink-clickable-content___o-emf",
372
+ "fixed-menu": "navbar-mod__fixed-menu___QYEJM",
373
+ "support-menu": "navbar-mod__support-menu___bkf5Q",
374
+ "tooltip-container": "navbar-mod__tooltip-container___gTiaE",
375
+ "tooltip": "navbar-mod__tooltip___3PSlF",
376
+ "sublist-collapsed__empty": "navbar-mod__sublist-collapsed__empty___mXa6R",
377
+ "highlighted": "navbar-mod__highlighted___06BoS",
378
+ "hidden": "navbar-mod__hidden___-s7eh",
379
+ "divider": "navbar-mod__divider___GBOn1",
380
+ "loading-dot-container": "navbar-mod__loading-dot-container___B7sPh",
381
+ "scrollable-menu": "navbar-mod__scrollable-menu___I9ci7"
382
+ }
383
+ };
384
+ const styles$4 = compiledStyles$4.jsonMap;
385
+ const HeartIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./heart-01f01038.cjs.prod.js'); }));
386
+ const PaperclipIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./paperclip-fe72a70d.cjs.prod.js'); }));
387
+ const PluginIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./plugin-81ae1044.cjs.prod.js'); }));
388
+ const RocketIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./rocket-cb99be06.cjs.prod.js'); }));
389
+ const StarIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./star-e4902bbb.cjs.prod.js'); }));
390
+ const ConnectedSquareIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./connected-square-2d046cb8.cjs.prod.js'); }));
391
+ const WorldIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./world-22189397.cjs.prod.js'); }));
392
+ const TreeStructureIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./tree-structure-3ec98cce.cjs.prod.js'); }));
393
+ const UserFilledIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./user-filled-26f333b2.cjs.prod.js'); }));
394
+ const SpeedometerIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./speedometer-26f52e73.cjs.prod.js'); }));
395
+ const TagMultiIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./tag-multi-1c065f61.cjs.prod.js'); }));
396
+ const CartIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./cart-645074db.cjs.prod.js'); }));
397
+ const BoxIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./box-09bf50e1.cjs.prod.js'); }));
398
+ const GearIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./gear-4f7cde98.cjs.prod.js'); }));
399
+ const ListWithSearchIcon$1 = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./list-with-search-6462447e.cjs.prod.js'); }));
400
+ // The icon is expected to be the `svg` document as a string.
401
+ // For backwards compatibility purposes, we still support the legacy "icon name",
402
+ // which we then map to one of the pre-defined icons.
403
+ // Eventually, we want to get rid of this "switch" logic.
404
+ const IconSwitcher$1 = _ref3 => {
405
+ let icon = _ref3.icon,
406
+ iconProps = _objectWithoutProperties(_ref3, _excluded$1);
407
+ if (_includesInstanceProperty__default["default"](icon).call(icon, '<svg')) {
408
+ return jsxRuntime.jsx(InlineSvg__default["default"], _objectSpread$4({
409
+ data: icon
410
+ }, iconProps));
411
+ }
412
+ // Backwards compatibility for apps using the "icon name".
413
+ switch (icon) {
414
+ // Legacy application icons
415
+ // TODO: To be removed once MC applications icons updates are published
416
+ case 'TreeStructureIcon':
417
+ return jsxRuntime.jsx(TreeStructureIcon$1, _objectSpread$4({}, iconProps));
418
+ case 'UserFilledIcon':
419
+ return jsxRuntime.jsx(UserFilledIcon$1, _objectSpread$4({}, iconProps));
420
+ case 'SpeedometerIcon':
421
+ return jsxRuntime.jsx(SpeedometerIcon$1, _objectSpread$4({}, iconProps));
422
+ case 'TagMultiIcon':
423
+ return jsxRuntime.jsx(TagMultiIcon$1, _objectSpread$4({}, iconProps));
424
+ case 'CartIcon':
425
+ return jsxRuntime.jsx(CartIcon$1, _objectSpread$4({}, iconProps));
426
+ case 'BoxIcon':
427
+ return jsxRuntime.jsx(BoxIcon$1, _objectSpread$4({}, iconProps));
428
+ case 'GearIcon':
429
+ return jsxRuntime.jsx(GearIcon$1, _objectSpread$4({}, iconProps));
430
+ case 'ListWithSearchIcon':
431
+ return jsxRuntime.jsx(ListWithSearchIcon$1, _objectSpread$4({}, iconProps));
432
+
433
+ // Custom application icons set
434
+ case 'HeartIcon':
435
+ return jsxRuntime.jsx(HeartIcon$1, _objectSpread$4({}, iconProps));
436
+ case 'PaperclipIcon':
437
+ return jsxRuntime.jsx(PaperclipIcon$1, _objectSpread$4({}, iconProps));
438
+ case 'PluginIcon':
439
+ return jsxRuntime.jsx(PluginIcon$1, _objectSpread$4({}, iconProps));
440
+ case 'RocketIcon':
441
+ return jsxRuntime.jsx(RocketIcon$1, _objectSpread$4({}, iconProps));
442
+ case 'StarIcon':
443
+ return jsxRuntime.jsx(StarIcon$1, _objectSpread$4({}, iconProps));
444
+ case 'ConnectedSquareIcon':
445
+ return jsxRuntime.jsx(ConnectedSquareIcon$1, _objectSpread$4({}, iconProps));
446
+ // For backwards compatibility
447
+ case 'WorldIcon':
448
+ return jsxRuntime.jsx(WorldIcon$1, _objectSpread$4({}, iconProps));
449
+ default:
450
+ return jsxRuntime.jsx("img", {
451
+ src: MissingImageSvg__default["default"],
452
+ alt: "missing icon"
453
+ });
454
+ }
455
+ };
456
+ IconSwitcher$1.propTypes = {};
457
+ IconSwitcher$1.displayName = 'IconSwitcher';
458
+ const getIcon = _ref4 => {
459
+ let isMenuOpen = _ref4.isMenuOpen;
460
+ const Icon = isMenuOpen ? icons.SidebarCollapseIcon : icons.SidebarExpandIcon;
461
+ return jsxRuntime.jsx(Icon, {
462
+ color: "surface",
463
+ size: "big"
464
+ });
465
+ };
466
+ const MenuExpander$1 = props => {
467
+ return jsxRuntime.jsx("li", {
468
+ className: classnames__default["default"](styles$4['list-item'], styles$4.expander, {
469
+ [styles$4.hidden]: !props.isVisible
470
+ }),
471
+ children: jsxRuntime.jsx("div", {
472
+ onClick: props.onClick,
473
+ className: styles$4['expand-icon'],
474
+ "data-testid": "menu-expander",
475
+ children: getIcon(props)
476
+ })
477
+ }, "expander");
478
+ };
479
+ MenuExpander$1.propTypes = {};
480
+ MenuExpander$1.displayName = 'MenuExpander';
481
+ const Faded$1 = /*#__PURE__*/_styled__default["default"]("div", {
482
+ target: "e10pzajx0"
483
+ } )({
484
+ name: "16qr508",
485
+ styles: "position:absolute;top:-32px;height:32px;width:100%;background:linear-gradient(180deg, rgba(0, 153, 135, 0) 0%, #00b39e 100%);z-index:1"
486
+ } );
487
+ const getSubmenuPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, submenuVerticalPosition) => /*#__PURE__*/react$1.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":", submenuVerticalPosition, "px;" + ("" ), "" );
488
+ var _ref = {
489
+ name: "abcix4",
490
+ styles: "top:0"
491
+ } ;
492
+ var _ref2 = {
493
+ name: "8tapst",
494
+ styles: "bottom:0"
495
+ } ;
496
+ const getContainerPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed) => [isSublistActiveWhileIsMenuCollapsed && /*#__PURE__*/react$1.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", constants$1.DIMENSIONS.navMenuItemHeight, ";" + ("" ), "" ), isSublistActiveWhileIsMenuExpanded && isSubmenuAboveMenuItem && _ref2, isSublistActiveWhileIsMenuExpanded && !isSubmenuAboveMenuItem && _ref];
497
+ const MenuGroup$1 = /*#__PURE__*/react.forwardRef((props, ref) => {
498
+ if (props.isExpanded && (props.level === 2 && !props.hasSubmenu || props.level === 2 && !props.isActive)) {
499
+ return null;
500
+ }
501
+ const isSublistActiveWhileIsMenuExpanded = props.level === 2 && props.isActive && props.isExpanded;
502
+ const isSublistActiveWhileIsMenuCollapsed = props.level === 2 && props.isActive && !props.isExpanded;
503
+ return jsxRuntime.jsx("ul", {
504
+ ref: ref,
505
+ css: /*#__PURE__*/react$1.css(getSubmenuPositionBasedOnMenuItemPosition(props.isSubmenuAboveMenuItem, props.submenuVerticalPosition), ";::before{", getContainerPositionBasedOnMenuItemPosition(props.isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed), ";}" + ("" ), "" ),
506
+ id: "group-".concat(props.id),
507
+ "data-testid": "group-".concat(props.id),
508
+ role: "menu",
509
+ "aria-expanded": isSublistActiveWhileIsMenuExpanded || isSublistActiveWhileIsMenuCollapsed,
510
+ className: classnames__default["default"]({
511
+ [styles$4.list]: props.level === 1
512
+ }, {
513
+ [styles$4['sublist']]: props.level === 2
514
+ }, {
515
+ [styles$4['sublist-expanded__active']]: isSublistActiveWhileIsMenuExpanded
516
+ }, {
517
+ [styles$4['sublist-collapsed__empty']]: isSublistActiveWhileIsMenuCollapsed && !props.hasSubmenu
518
+ }, {
519
+ [styles$4['sublist-collapsed__active']]: isSublistActiveWhileIsMenuCollapsed && !props.isSubmenuAboveMenuItem
520
+ }, {
521
+ [styles$4['sublist-collapsed__active__above']]: isSublistActiveWhileIsMenuCollapsed && props.isSubmenuAboveMenuItem
522
+ }, {
523
+ [styles$4.sublist__inactive]: !isSublistActiveWhileIsMenuCollapsed
524
+ }),
525
+ children: props.children
526
+ });
527
+ });
528
+ MenuGroup$1.displayName = 'MenuGroup';
529
+ const MenuItem$2 = /*#__PURE__*/react.forwardRef((props, ref) => {
530
+ var _props$isMainMenuRout;
531
+ return jsxRuntime.jsx("li", {
532
+ role: "menuitem",
533
+ className: classnames__default["default"](styles$4['list-item'], {
534
+ [styles$4.item__active]: props.isActive,
535
+ [styles$4['item_menu__active']]: (_props$isMainMenuRout = props.isMainMenuRouteActive) !== null && _props$isMainMenuRout !== void 0 ? _props$isMainMenuRout : false,
536
+ [styles$4['item_menu-collapsed']]: !props.isMenuOpen
537
+ }),
538
+ onClick: props.onClick,
539
+ onMouseEnter: props.onMouseEnter,
540
+ onMouseLeave: props.onMouseLeave,
541
+ children: jsxRuntime.jsx("div", {
542
+ ref: ref,
543
+ className: props.hasSubmenu ? styles$4['item-link'] : styles$4['item-link-no-submenu'],
544
+ children: props.children
545
+ })
546
+ });
547
+ });
548
+ MenuItem$2.displayName = 'MenuItem';
549
+ const menuItemLinkDefaultProps$1 = {
550
+ exactMatch: false
551
+ };
552
+ const NavLinkWrapper = props => {
553
+ if (props.isSubmenuLink) {
554
+ return jsxRuntime.jsx("div", {
555
+ className: styles$4['text-link-sublist-wrapper'],
556
+ children: props.children
557
+ });
558
+ }
559
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
560
+ children: props.children
561
+ });
562
+ };
563
+ NavLinkWrapper.propTypes = {};
564
+ const NavLinkClickableContentWrapper = props => {
565
+ if (props.isSubmenuLink) {
566
+ return jsxRuntime.jsx("div", {
567
+ className: styles$4['navlink-clickable-content'],
568
+ children: props.children
569
+ });
570
+ }
571
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
572
+ children: props.children
573
+ });
574
+ };
575
+ NavLinkClickableContentWrapper.propTypes = {};
576
+ const MenuItemLink$1 = props => {
577
+ const redirectTo = targetUrl => useIsServedByProxy.location.replace(targetUrl);
578
+ if (props.linkTo) {
579
+ return jsxRuntime.jsx(NavLinkWrapper, _objectSpread$4(_objectSpread$4({}, props), {}, {
580
+ children: jsxRuntime.jsx(reactRouterDom.NavLink, {
581
+ to: props.linkTo,
582
+ exact: props.exactMatch,
583
+ activeClassName: styles$4.highlighted,
584
+ className: props.isSubmenuLink ? styles$4['text-link-sublist'] : styles$4['text-link'],
585
+ onClick: event => {
586
+ if (props.linkTo && props.useFullRedirectsForLinks) {
587
+ event.preventDefault();
588
+ redirectTo(props.linkTo);
589
+ } else if (props.onClick) {
590
+ event.persist();
591
+ props.onClick(event);
592
+ }
593
+ },
594
+ children: jsxRuntime.jsx(NavLinkClickableContentWrapper, _objectSpread$4(_objectSpread$4({}, props), {}, {
595
+ children: props.children
596
+ }))
597
+ })
598
+ }));
599
+ }
600
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
601
+ children: props.children
602
+ });
603
+ };
604
+ MenuItemLink$1.propTypes = {};
605
+ MenuItemLink$1.displayName = 'MenuItemLink';
606
+ MenuItemLink$1.defaultProps = menuItemLinkDefaultProps$1;
607
+ const isEveryMenuVisibilitySetToHidden$1 = (menuVisibilities, namesOfMenuVisibilities) => _Array$isArray__default["default"](namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty__default["default"](namesOfMenuVisibilities).call(namesOfMenuVisibilities, nameOfMenuVisibility => menuVisibilities && menuVisibilities[nameOfMenuVisibility] === true);
608
+ const restrictedMenuItemDefaultProps$1 = {
609
+ permissions: []
610
+ };
611
+ function isLongLivedFlag$1(flag) {
612
+ return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
613
+ }
614
+ const RestrictedMenuItem$1 = props => {
615
+ // NOTE: Custom application are activated/deactivated while their
616
+ // visibility is not controlled via a visibiility overwrite.
617
+ const flagVariation = reactBroadcast.useFlagVariation(props.featureToggle);
618
+ if (isEveryMenuVisibilitySetToHidden$1(props.menuVisibilities, props.namesOfMenuVisibilities)) return null;
619
+ 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, {
620
+ permissions: props.permissions,
621
+ actionRights: props.actionRights,
622
+ dataFences: props.dataFences,
623
+ selectDataFenceData: demandedDataFence => {
624
+ switch (demandedDataFence.type) {
625
+ case 'store':
626
+ return demandedDataFence.actualDataFenceValues;
627
+ default:
628
+ return null;
629
+ }
630
+ }
631
+ // Always check that some of the given permissions match.
632
+ ,
633
+ shouldMatchSomePermissions: true,
634
+ projectPermissions: props.projectPermissions,
635
+ children: props.children
636
+ }) : jsxRuntime.jsx(jsxRuntime.Fragment, {
637
+ children: props.children
638
+ });
639
+ if (props.featureToggle) {
640
+ // A regular short-lived feature toggle
641
+ if (flagVariation === true) return permissionsWrapper;
642
+ // A long-lived feature toggle with `{ value: boolean, string: reason }`
643
+ if (isLongLivedFlag$1(flagVariation) && flagVariation.value === true) return permissionsWrapper;
644
+ return null;
645
+ }
646
+ return permissionsWrapper;
647
+ };
648
+ RestrictedMenuItem$1.propTypes = {};
649
+ RestrictedMenuItem$1.displayName = 'RestrictedMenuItem';
650
+ RestrictedMenuItem$1.defaultProps = restrictedMenuItemDefaultProps$1;
651
+ const MenuLabel$1 = props => {
652
+ var _context;
653
+ const localizedLabel = _findInstanceProperty__default["default"](_context = props.labelAllLocales).call(_context, loc => {
654
+ var _context2;
655
+ return _startsWithInstanceProperty__default["default"](_context2 = props.applicationLocale).call(_context2, loc.locale);
656
+ });
657
+ if (localizedLabel) return jsxRuntime.jsx(jsxRuntime.Fragment, {
658
+ children: localizedLabel.value
659
+ });
660
+ if (props.defaultLabel) return jsxRuntime.jsx(jsxRuntime.Fragment, {
661
+ children: props.defaultLabel
662
+ });
663
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
664
+ children: constants.NO_VALUE_FALLBACK
665
+ });
666
+ };
667
+ MenuLabel$1.propTypes = {
668
+ labelAllLocales: _pt__default["default"].arrayOf(_pt__default["default"].any).isRequired,
669
+ defaultLabel: _pt__default["default"].string,
670
+ applicationLocale: _pt__default["default"].string.isRequired
671
+ };
672
+ const NavBarLayout$2 = /*#__PURE__*/react.forwardRef((props, ref) => jsxRuntime.jsxs(jsxRuntime.Fragment, {
673
+ children: [jsxRuntime.jsx(react$1.Global, {
674
+ styles: /*#__PURE__*/react$1.css(compiledStyles$4.global, ";" + ("" ), "" )
675
+ }), jsxRuntime.jsx("nav", {
676
+ ref: ref,
677
+ className: styles$4['left-navigation'],
678
+ "data-test": "left-navigation",
679
+ "data-testid": "left-navigation",
680
+ children: props.children
681
+ })]
682
+ }));
683
+ NavBarLayout$2.displayName = 'NavBarLayout';
684
+ const ItemContainer = props => {
685
+ return jsxRuntime.jsxs("div", {
686
+ className: styles$4['item-icon-text'],
687
+ children: [jsxRuntime.jsx("div", {
688
+ className: styles$4['icon-container'],
689
+ children: jsxRuntime.jsx("div", {
690
+ className: styles$4.icon,
691
+ children: jsxRuntime.jsx(IconSwitcher$1, {
692
+ icon: props.icon,
693
+ size: "scale"
694
+ })
695
+ })
696
+ }), jsxRuntime.jsx("div", {
697
+ className: styles$4.title,
698
+ children: jsxRuntime.jsx(MenuLabel$1, {
699
+ labelAllLocales: props.labelAllLocales,
700
+ defaultLabel: props.defaultLabel,
701
+ applicationLocale: props.applicationLocale
702
+ })
703
+ })]
704
+ });
705
+ };
706
+ ItemContainer.propTypes = {};
707
+ ItemContainer.displayName = 'ItemContainer';
708
+
709
+ const NavBarLayout$1 = props => {
710
+ return jsxRuntime.jsx("nav", {
711
+ "aria-busy": true,
712
+ css: /*#__PURE__*/react$1.css("display:flex;flex-direction:column;height:100%;width:", props.isExpanded ? '256px' : '80px', ";" + ("" ), "" ),
713
+ children: props.children
714
+ });
715
+ };
716
+ NavBarLayout$1.propTypes = {};
717
+ const NavBarHeader = /*#__PURE__*/_styled__default["default"]("div", {
718
+ target: "eyeet3i7"
719
+ } )("display:flex;justify-content:center;align-items:center;padding:", designSystem.designTokens.spacing30, ";height:", constants$1.DIMENSIONS.header, ";background:", designSystem.designTokens.colorAccent10, ";" + ("" ));
720
+ const NavBarBody = /*#__PURE__*/_styled__default["default"]("div", {
721
+ target: "eyeet3i6"
722
+ } )("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%);}" + ("" ));
723
+ const NavBarFooter = /*#__PURE__*/_styled__default["default"]("div", {
724
+ target: "eyeet3i5"
725
+ } )("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);}" + ("" ));
726
+ const ExpandIcon = /*#__PURE__*/_styled__default["default"]("div", {
727
+ target: "eyeet3i4"
728
+ } )("width:40px;height:40px;border-radius:", designSystem.designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);" + ("" ));
729
+ const MenuItemContainer = /*#__PURE__*/_styled__default["default"]("div", {
730
+ target: "eyeet3i3"
731
+ } )("display:flex;align-items:center;justify-content:center;gap:12px;padding:", props => props.contentWidth === 'wide' || !props.isExpanded ? '12px' : '12px 28px', ";height:48px;" + ("" ));
732
+ const MenuItemIcon = /*#__PURE__*/_styled__default["default"]("div", {
733
+ target: "eyeet3i2"
734
+ } )("width:24px;height:24px;border-radius:", designSystem.designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);" + ("" ));
735
+ const MenuItemTitle = /*#__PURE__*/_styled__default["default"]("div", {
736
+ target: "eyeet3i1"
737
+ } )("border-radius:", designSystem.designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);flex:1;height:18px;" + ("" ));
738
+ const MenuItemGroup = /*#__PURE__*/_styled__default["default"]("div", {
739
+ target: "eyeet3i0"
740
+ } )({
741
+ name: "1d3w5wq",
742
+ styles: "width:100%"
743
+ } );
744
+
745
+ const MenuItem$1 = props => {
746
+ return jsxRuntime.jsxs(MenuItemContainer, {
747
+ isExpanded: props.isExpanded,
748
+ contentWidth: props.contentWidth,
749
+ children: [jsxRuntime.jsx(MenuItemIcon, {}), props.isExpanded && jsxRuntime.jsx(MenuItemTitle, {})]
750
+ });
751
+ };
752
+ MenuItem$1.defaultProps = {
753
+ contentWidth: 'wide'
754
+ };
755
+ const NavBarSkeleton = props => {
756
+ var _context, _context2, _context3, _context4;
757
+ return jsxRuntime.jsxs(NavBarLayout$1, {
758
+ isExpanded: props.isExpanded,
759
+ children: [jsxRuntime.jsx(NavBarHeader, {
760
+ children: jsxRuntime.jsx(MenuItemGroup, {
761
+ children: jsxRuntime.jsx(MenuItem$1, {
762
+ contentWidth: "narrow",
763
+ isExpanded: props.isExpanded
764
+ })
765
+ })
766
+ }), jsxRuntime.jsxs(NavBarBody, {
767
+ children: [jsxRuntime.jsx(MenuItemGroup, {
768
+ children: _mapInstanceProperty__default["default"](_context = [..._keysInstanceProperty__default["default"](_context2 = Array(2)).call(_context2)]).call(_context, index => jsxRuntime.jsx(MenuItem$1, {
769
+ isExpanded: props.isExpanded
770
+ }, index))
771
+ }), jsxRuntime.jsx(MenuItemGroup, {
772
+ children: _mapInstanceProperty__default["default"](_context3 = [..._keysInstanceProperty__default["default"](_context4 = Array(10)).call(_context4)]).call(_context3, index => jsxRuntime.jsx(MenuItem$1, {
773
+ isExpanded: props.isExpanded
774
+ }, index))
775
+ }), jsxRuntime.jsx(MenuItemGroup, {
776
+ children: jsxRuntime.jsx(MenuItem$1, {
777
+ isExpanded: props.isExpanded
778
+ })
779
+ })]
780
+ }), jsxRuntime.jsx(NavBarFooter, {
781
+ isExpanded: props.isExpanded,
782
+ children: jsxRuntime.jsx(ExpandIcon, {})
783
+ })]
784
+ });
785
+ };
786
+ NavBarSkeleton.displayName = 'NavBarSkeleton';
787
+
788
+ function ownKeys$3(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
789
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var _context9, _context10; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context9 = ownKeys$3(Object(t), !0)).call(_context9, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context10 = ownKeys$3(Object(t))).call(_context10, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
790
+ const compiledStyles$3 = {
791
+ "global": ":root {\n\n /* Left navigation */\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___op7AX {\n display: grid;\n width: 80px;\n background: var(--color-primary);\n height: 100%;\n grid-template-rows: 56px 1fr;\n}\n\n.navbar-mod__navigation-header___vaIOk {\n background-color: var(--color-accent-10);\n color: var(--color-surface);\n display: flex;\n justify-content: center;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-30);\n}\n\n.navbar-mod__navigation-header___vaIOk .navbar-mod__icon-container___hAbPn {\n width: auto;\n display: flex;\n justify-content: center;\n}\n\n.navbar-mod__navigation-header___vaIOk .navbar-mod__title___aTo0V {\n font-weight: 600;\n margin-left: var(--spacing-20);\n}\n\n.navbar-mod__navigation-header___vaIOk .navbar-mod__icon___21inq {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list___pouHY {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 0;\n}\n\n.navbar-mod__list-item___y7qYe {\n min-height: 48px;\n background: var(--color-primary);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___6U2c1 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n padding: var(--spacing-25);\n width: 48px;\n position: relative;\n display: block;\n}\n\n.navbar-mod__item-link-no-submenu___EPy3b {\n width: 100%;\n height: 100%;\n}\n\n.body__menu-open .navbar-mod__item-link___6U2c1 {\n width: 100%;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__item-icon-text___3ZFtB {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__icon___21inq {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__icon___21inq > svg *:not([fill='none']) {\n fill: var(--color-surface);\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__title___aTo0V {\n flex: 1;\n font-weight: 600;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n 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___blASx {\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: linear-gradient(\n 180deg,\n var(--color-primary) 0%,\n var(--color-primary-25) 100%\n );\n padding: var(--spacing-30) var(--spacing-25);\n}\n\n/* divider */\n\n.navbar-mod__expander___blASx::before {\n content: '';\n position: absolute;\n top: 56px;\n height: 1px;\n background: rgba(255, 255, 255, 0.5);\n width: calc(100% - 2 * var(--spacing-30));\n}\n\n.navbar-mod__expand-icon___3A2Dk {\n height: 40px;\n width: 40px;\n border-radius: var(--border-radius-4);\n padding: var(--spacing-20);\n background: rgba(255, 255, 255, 0.2);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__expand-icon___3A2Dk:hover {\n background: rgba(255, 255, 255, 0.3);\n}\n\n.navbar-mod__item--bottom___Pygdy {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___y7qYe:not(.navbar-mod__item_menu__active___j515K):hover {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__item__active___SEPWP .navbar-mod__title___aTo0V {\n opacity: 1;\n display: block;\n transition: all 0.2s ease;\n}\n\n.navbar-mod__item_menu-open___NnkVM {\n height: auto !important;\n}\n\n.navbar-mod__item_menu-collapsed___1s4K0 .navbar-mod__item-link___6U2c1 {\n text-align: center;\n}\n\n.body__menu-open .navbar-mod__left-navigation___op7AX {\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___y7qYe {\n height: auto;\n min-height: 48px;\n overflow: hidden;\n width: 100%;\n}\n\n.body__menu-open .navbar-mod__left-navigation___op7AX {\n width: 256px;\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe .navbar-mod__title___aTo0V {\n display: block;\n opacity: 1;\n margin-left: var(--spacing-25);\n color: var(--color-surface);\n}\n\n.navbar-mod__list-item___y7qYe:not(.navbar-mod__item__active___SEPWP):hover .navbar-mod__icon___21inq > 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___y7qYe:not(.navbar-mod__item__active___SEPWP):hover .navbar-mod__title___aTo0V {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__item__active___SEPWP {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___tMZy4 {\n padding: var(--spacing-30);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n left: 72px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n/* This pseudo-element is required to enable smooth coursor movement from the main menu item to submenu items with the gap in between */\n\n.navbar-mod__sublist-expanded__active___XyUuS::before,\n.navbar-mod__sublist-collapsed__active___yWHea::before,\n.navbar-mod__sublist-collapsed__active__above___-7-Ca::before {\n content: '';\n position: absolute;\n display: block;\n width: calc(253px + var(--spacing-20));\n height: 48px;\n left: calc(-1 * var(--spacing-20));\n}\n\n.navbar-mod__sublist__inactive___5-OgH {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___ZZbsF {\n display: flex;\n align-items: center;\n align-self: stretch;\n}\n\n.navbar-mod__sublist-item__active___O2-c- {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___ZZbsF:not(.navbar-mod__sublist-item__active___O2-c-):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___3TpQt {\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___TcEn2 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n display: flex;\n padding: var(--spacing-25);\n align-items: center;\n justify-content: center;\n}\n\n.body__menu-open .navbar-mod__text-link___TcEn2 {\n justify-content: start;\n}\n\n.navbar-mod__text-link-sublist-wrapper___RQinz {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n position: relative;\n min-height: 0;\n}\n\n.navbar-mod__text-link-sublist___V0-tf {\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n color: var(--color-solid);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n text-decoration: none;\n flex: 1;\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n var(--spacing-30);\n}\n\n.navbar-mod__navlink-clickable-content___o-emf {\n height: 100%;\n width: 100%;\n}\n\n/* Item active */\n\n.navbar-mod__item__active___SEPWP,\n.navbar-mod__item_menu__active___j515K {\n background: var(--color-accent-30);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___y7qYe .navbar-mod__icon-container___hAbPn {\n width: auto;\n display: flex;\n justify-content: center;\n align-self: flex-start;\n}\n\n.navbar-mod__fixed-menu___QYEJM .navbar-mod__list-item___y7qYe .navbar-mod__item-icon-text___3ZFtB {\n justify-content: center;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__support-menu___bkf5Q {\n padding: 0 var(--spacing-30) var(--spacing-20) var(--spacing-30);\n height: calc(48px + var(--spacing-20));\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB {\n position: relative;\n width: auto;\n}\n\n.navbar-mod__item_menu-collapsed___1s4K0.navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB .navbar-mod__title___aTo0V {\n display: none;\n}\n\n.body__menu-open .navbar-mod__list-item___y7qYe.navbar-mod__item__active___SEPWP .navbar-mod__item-icon-text___3ZFtB {\n margin-left: 0;\n}\n\n.navbar-mod__tooltip-container___gTiaE {\n position: absolute;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n visibility: visible;\n}\n\n.navbar-mod__tooltip___3PSlF {\n padding: var(--spacing-10) calc(var(--spacing-20) + var(--spacing-10));\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n border-radius: var(--border-radius-4);\n background: var(--color-accent-10);\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n color: var(--color-surface);\n max-height: 48px;\n visibility: inherit;\n}\n\n.navbar-mod__sublist-expanded__active___XyUuS,\n.navbar-mod__sublist-collapsed__active___yWHea,\n.navbar-mod__sublist-collapsed__active__above___-7-Ca {\n opacity: 1;\n display: none;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active___yWHea,\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active__above___-7-Ca,\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-expanded__active___XyUuS,\n.navbar-mod__item-link-no-submenu___EPy3b:hover .navbar-mod__sublist-collapsed__active___yWHea {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--color-surface);\n /* TODO: add design tokens instead hard-coded values */\n min-height: 50px;\n width: 253px;\n border-radius: var(--border-radius-8);\n /* z-index value must be higher than AppBar's z-index */\n z-index: 20001;\n box-shadow: -2px 4px 25px 0 rgba(89, 89, 89, 0.5);\n}\n\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active___yWHea.navbar-mod__sublist-collapsed__empty___mXa6R,\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-collapsed__active__above___-7-Ca.navbar-mod__sublist-collapsed__empty___mXa6R,\n.navbar-mod__item-link-no-submenu___EPy3b:hover\n .navbar-mod__sublist-collapsed__active___yWHea.navbar-mod__sublist-collapsed__empty___mXa6R {\n visibility: hidden;\n}\n\n.navbar-mod__item-link___6U2c1:hover .navbar-mod__sublist-expanded__active___XyUuS {\n left: 248px;\n}\n\n.navbar-mod__highlighted___06BoS,\n.navbar-mod__highlighted___06BoS .navbar-mod__title___aTo0V {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___-s7eh {\n display: none;\n}\n\n.navbar-mod__divider___GBOn1 {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___B7sPh {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___I9ci7 {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: hidden;\n padding: var(--spacing-30) var(--spacing-30) 48px;\n width: 80px;\n box-sizing: border-box;\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--color-primary-40) transparent;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___I9ci7 {\n width: 256px;\n}\n\n.navbar-mod__scrollable-menu___I9ci7:hover {\n overflow-y: scroll;\n padding-right: 8px;\n}\n\n.navbar-mod__scrollable-menu___I9ci7::-webkit-scrollbar {\n width: 8px;\n}\n\n.navbar-mod__scrollable-menu___I9ci7::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navbar-mod__scrollable-menu___I9ci7::-webkit-scrollbar-thumb {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__fixed-menu___QYEJM {\n position: relative;\n width: 80px;\n}\n\n.body__menu-open .navbar-mod__fixed-menu___QYEJM {\n width: 256px;\n}\n",
792
+ "jsonMap": {
793
+ "left-navigation": "navbar-mod__left-navigation___op7AX",
794
+ "navigation-header": "navbar-mod__navigation-header___vaIOk",
795
+ "icon-container": "navbar-mod__icon-container___hAbPn",
796
+ "title": "navbar-mod__title___aTo0V",
797
+ "icon": "navbar-mod__icon___21inq",
798
+ "list": "navbar-mod__list___pouHY",
799
+ "list-item": "navbar-mod__list-item___y7qYe",
800
+ "item-link": "navbar-mod__item-link___6U2c1",
801
+ "item-link-no-submenu": "navbar-mod__item-link-no-submenu___EPy3b",
802
+ "item-icon-text": "navbar-mod__item-icon-text___3ZFtB",
803
+ "expander": "navbar-mod__expander___blASx",
804
+ "expand-icon": "navbar-mod__expand-icon___3A2Dk",
805
+ "item--bottom": "navbar-mod__item--bottom___Pygdy",
806
+ "item_menu__active": "navbar-mod__item_menu__active___j515K",
807
+ "item__active": "navbar-mod__item__active___SEPWP",
808
+ "item_menu-open": "navbar-mod__item_menu-open___NnkVM",
809
+ "item_menu-collapsed": "navbar-mod__item_menu-collapsed___1s4K0",
810
+ "sublist": "navbar-mod__sublist___tMZy4",
811
+ "sublist-expanded__active": "navbar-mod__sublist-expanded__active___XyUuS",
812
+ "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___yWHea",
813
+ "sublist-collapsed__active__above": "navbar-mod__sublist-collapsed__active__above___-7-Ca",
814
+ "sublist__inactive": "navbar-mod__sublist__inactive___5-OgH",
815
+ "sublist-item": "navbar-mod__sublist-item___ZZbsF",
816
+ "sublist-item__active": "navbar-mod__sublist-item__active___O2-c-",
817
+ "text": "navbar-mod__text___3TpQt",
818
+ "text-link": "navbar-mod__text-link___TcEn2",
819
+ "text-link-sublist-wrapper": "navbar-mod__text-link-sublist-wrapper___RQinz",
820
+ "text-link-sublist": "navbar-mod__text-link-sublist___V0-tf",
821
+ "navlink-clickable-content": "navbar-mod__navlink-clickable-content___o-emf",
822
+ "fixed-menu": "navbar-mod__fixed-menu___QYEJM",
823
+ "support-menu": "navbar-mod__support-menu___bkf5Q",
824
+ "tooltip-container": "navbar-mod__tooltip-container___gTiaE",
825
+ "tooltip": "navbar-mod__tooltip___3PSlF",
826
+ "sublist-collapsed__empty": "navbar-mod__sublist-collapsed__empty___mXa6R",
827
+ "highlighted": "navbar-mod__highlighted___06BoS",
828
+ "hidden": "navbar-mod__hidden___-s7eh",
829
+ "divider": "navbar-mod__divider___GBOn1",
830
+ "loading-dot-container": "navbar-mod__loading-dot-container___B7sPh",
831
+ "scrollable-menu": "navbar-mod__scrollable-menu___I9ci7"
832
+ }
833
+ };
834
+ const styles$3 = compiledStyles$3.jsonMap;
835
+ const getMenuVisibilitiesOfSubmenus$1 = menu => {
836
+ var _context, _context2;
837
+ return _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = menu.submenu).call(_context2, submenu => submenu.menuVisibility)).call(_context, nonNullable);
838
+ };
839
+ const getMenuVisibilityOfMainmenu$1 = menu => menu.menuVisibility ? [menu.menuVisibility] : [];
840
+ const getIsSubmenuRouteActive = (uriPath, props) => {
841
+ var _context3;
842
+ return Boolean(reactRouterDom.matchPath(props.location.pathname, {
843
+ path: _concatInstanceProperty__default["default"](_context3 = "/".concat(props.projectKey, "/")).call(_context3, uriPath),
844
+ exact: true,
845
+ strict: false
846
+ }));
847
+ };
848
+ const ApplicationMenu$1 = props => {
849
+ var _menuItemRef$current, _context4, _props$menu$featureTo, _props$menu$actionRig, _props$menu$dataFence, _context5, _context6;
850
+ const _useState = react.useState(0),
851
+ _useState2 = _slicedToArray(_useState, 2),
852
+ submenuVerticalPosition = _useState2[0],
853
+ setSubmenuVerticalPosition = _useState2[1];
854
+ const _useState3 = react.useState(false),
855
+ _useState4 = _slicedToArray(_useState3, 2),
856
+ isSubmenuAboveMenuItem = _useState4[0],
857
+ setIsSubmenuAboveMenuItem = _useState4[1];
858
+ const menuItemRef = react.useRef(null);
859
+ const submenuRef = react.useRef(null);
860
+ const hasSubmenu = _Array$isArray__default["default"](props.menu.submenu) && props.menu.submenu.length > 0;
861
+ const menuItemBoundingClientRect = (_menuItemRef$current = menuItemRef.current) === null || _menuItemRef$current === void 0 ? void 0 : _menuItemRef$current.getBoundingClientRect();
862
+ const menuItemTop = (menuItemBoundingClientRect === null || menuItemBoundingClientRect === void 0 ? void 0 : menuItemBoundingClientRect.top) || 0;
863
+ const menuItemBottom = (menuItemBoundingClientRect === null || menuItemBoundingClientRect === void 0 ? void 0 : menuItemBoundingClientRect.bottom) || 0;
864
+ const callbackFn = react.useCallback(entries => {
865
+ const _entries = _slicedToArray(entries, 1),
866
+ entry = _entries[0];
867
+ const doesSubmenuFitWithinViewportBelowMenuItem = entry.boundingClientRect.height + (props.isMenuOpen ? menuItemTop : menuItemBottom) > window.innerHeight;
868
+ // if the submenu does not fit at the bottom of the viewport (below the menu item)
869
+ if (doesSubmenuFitWithinViewportBelowMenuItem) {
870
+ setIsSubmenuAboveMenuItem(true);
871
+ setSubmenuVerticalPosition(window.innerHeight - (props.isMenuOpen ? menuItemBottom : menuItemTop));
872
+ // show the submenu above the menu item
873
+ } else {
874
+ setIsSubmenuAboveMenuItem(false);
875
+ setSubmenuVerticalPosition(props.isMenuOpen ? menuItemTop : menuItemBottom);
876
+ }
877
+ }, [menuItemBottom, menuItemTop, props.isMenuOpen]);
878
+ react.useLayoutEffect(() => {
879
+ const observer = new IntersectionObserver(callbackFn, {
880
+ rootMargin: '-100% 0px 0px 0px' // we want to observe if the submenu crosses the bottom line of the viewport - therefore we set the root element top margin to -100% of the viewport height
881
+ });
882
+
883
+ const currentSubmenuRef = submenuRef.current;
884
+ if (currentSubmenuRef) {
885
+ observer.observe(currentSubmenuRef);
886
+ }
887
+ return () => {
888
+ if (currentSubmenuRef) {
889
+ observer.unobserve(currentSubmenuRef);
890
+ }
891
+ };
892
+ }, [menuItemBottom, menuItemTop, props.isMenuOpen, props.handleToggleItem, callbackFn]);
893
+ const isMainMenuRouteActive = Boolean(reactRouterDom.matchPath(props.location.pathname, {
894
+ path: _concatInstanceProperty__default["default"](_context4 = "/".concat(props.projectKey, "/")).call(_context4, props.menu.uriPath),
895
+ exact: false,
896
+ strict: false
897
+ }));
898
+ react.useEffect(() => {
899
+ // On first render, check which menu is active for the current application and expand
900
+ // the submenu automatically unless the all navbar is collapsed or there are no submenu links.
901
+ if (props.isMenuOpen && isMainMenuRouteActive && hasSubmenu) {
902
+ props.handleToggleItem();
903
+ }
904
+ // eslint-disable-next-line react-hooks/exhaustive-deps
905
+ }, [props.isMenuOpen]); // <-- (re)run this only when the all menu expands
906
+
907
+ const namesOfMenuVisibilitiesOfAllSubmenus = hasSubmenu ? getMenuVisibilitiesOfSubmenus$1(props.menu) : getMenuVisibilityOfMainmenu$1(props.menu);
908
+ return jsxRuntime.jsx(RestrictedMenuItem$1, {
909
+ keyOfMenuItem: props.menu.key,
910
+ featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
911
+ permissions: props.menu.permissions,
912
+ actionRights: (_props$menu$actionRig = props.menu.actionRights) !== null && _props$menu$actionRig !== void 0 ? _props$menu$actionRig : undefined,
913
+ dataFences: (_props$menu$dataFence = props.menu.dataFences) !== null && _props$menu$dataFence !== void 0 ? _props$menu$dataFence : undefined,
914
+ projectPermissions: props.projectPermissions,
915
+ menuVisibilities: props.menuVisibilities,
916
+ namesOfMenuVisibilities: namesOfMenuVisibilitiesOfAllSubmenus,
917
+ children: jsxRuntime.jsxs(MenuItem$2, {
918
+ ref: menuItemRef,
919
+ hasSubmenu: hasSubmenu,
920
+ isActive: props.isActive,
921
+ isMainMenuRouteActive: isMainMenuRouteActive,
922
+ isMenuOpen: props.isMenuOpen,
923
+ onClick: props.handleToggleItem,
924
+ onMouseEnter: props.handleToggleItem,
925
+ onMouseLeave: props.shouldCloseMenuFly,
926
+ children: [!hasSubmenu ? jsxRuntime.jsx(MenuItemLink$1, {
927
+ linkTo: _concatInstanceProperty__default["default"](_context5 = "/".concat(props.projectKey, "/")).call(_context5, props.menu.uriPath),
928
+ useFullRedirectsForLinks: props.useFullRedirectsForLinks,
929
+ onClick: props.onMenuItemClick,
930
+ children: jsxRuntime.jsx(ItemContainer, {
931
+ labelAllLocales: props.menu.labelAllLocales,
932
+ defaultLabel: props.menu.defaultLabel,
933
+ applicationLocale: props.applicationLocale,
934
+ icon: props.menu.icon
935
+ })
936
+ }) : jsxRuntime.jsx(ItemContainer, {
937
+ labelAllLocales: props.menu.labelAllLocales,
938
+ defaultLabel: props.menu.defaultLabel,
939
+ applicationLocale: props.applicationLocale,
940
+ icon: props.menu.icon
941
+ }), jsxRuntime.jsxs(MenuGroup$1, {
942
+ id: props.menu.key,
943
+ level: 2,
944
+ isActive: props.isActive,
945
+ isExpanded: props.isMenuOpen,
946
+ hasSubmenu: hasSubmenu,
947
+ submenuVerticalPosition: submenuVerticalPosition,
948
+ isSubmenuAboveMenuItem: isSubmenuAboveMenuItem,
949
+ ref: submenuRef,
950
+ children: [!props.isMenuOpen && jsxRuntime.jsx("div", {
951
+ className: styles$3['tooltip-container'],
952
+ css: /*#__PURE__*/react$1.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", constants$1.DIMENSIONS.navMenuItemHeight, ";" + ("" ), "" ),
953
+ children: jsxRuntime.jsx("div", {
954
+ className: styles$3['tooltip'],
955
+ "aria-owns": "group-".concat(props.menu.key),
956
+ children: jsxRuntime.jsx(MenuLabel$1, {
957
+ labelAllLocales: props.menu.labelAllLocales,
958
+ defaultLabel: props.menu.defaultLabel,
959
+ applicationLocale: props.applicationLocale
960
+ })
961
+ })
962
+ }), hasSubmenu ? _mapInstanceProperty__default["default"](_context6 = props.menu.submenu).call(_context6, submenu => {
963
+ var _context7, _submenu$featureToggl, _submenu$actionRights, _submenu$dataFences, _context8;
964
+ return jsxRuntime.jsx(RestrictedMenuItem$1, {
965
+ keyOfMenuItem: submenu.key,
966
+ featureToggle: (_submenu$featureToggl = submenu.featureToggle) !== null && _submenu$featureToggl !== void 0 ? _submenu$featureToggl : undefined,
967
+ permissions: submenu.permissions,
968
+ actionRights: (_submenu$actionRights = submenu.actionRights) !== null && _submenu$actionRights !== void 0 ? _submenu$actionRights : undefined,
969
+ dataFences: (_submenu$dataFences = submenu.dataFences) !== null && _submenu$dataFences !== void 0 ? _submenu$dataFences : undefined,
970
+ projectPermissions: props.projectPermissions,
971
+ menuVisibilities: props.menuVisibilities,
972
+ namesOfMenuVisibilities: submenu.menuVisibility ? [submenu.menuVisibility] : undefined,
973
+ children: jsxRuntime.jsx("li", {
974
+ className: classnames__default["default"](styles$3['sublist-item'], {
975
+ [styles$3['sublist-item__active']]: getIsSubmenuRouteActive(submenu.uriPath, props)
976
+ }),
977
+ children: jsxRuntime.jsx("div", {
978
+ className: styles$3.text,
979
+ children: jsxRuntime.jsx(MenuItemLink$1, {
980
+ linkTo: _concatInstanceProperty__default["default"](_context8 = "/".concat(props.projectKey, "/")).call(_context8, submenu.uriPath)
981
+ // We want to use an exact matching strategy to avoid multiple
982
+ // links matching sub-routes.
983
+ ,
984
+ exactMatch: true,
985
+ useFullRedirectsForLinks: props.useFullRedirectsForLinks,
986
+ onClick: props.onMenuItemClick,
987
+ isSubmenuLink: true,
988
+ children: jsxRuntime.jsx(MenuLabel$1, {
989
+ labelAllLocales: submenu.labelAllLocales,
990
+ defaultLabel: submenu.defaultLabel,
991
+ applicationLocale: props.applicationLocale
992
+ })
993
+ })
994
+ })
995
+ })
996
+ }, _concatInstanceProperty__default["default"](_context7 = "".concat(props.menu.key, "-submenu-")).call(_context7, submenu.key));
997
+ }) : null]
998
+ })]
999
+ })
1000
+ }, props.menu.key);
1001
+ };
1002
+ ApplicationMenu$1.propTypes = {};
1003
+ ApplicationMenu$1.displayName = 'ApplicationMenu';
1004
+ const NavBar$2 = props => {
1005
+ const _useNavbarStateManage = useNavbarStateManager({
1006
+ environment: props.environment,
1007
+ newNavigation: true
1008
+ }),
1009
+ navBarNode = _useNavbarStateManage.navBarNode,
1010
+ isMenuOpen = _useNavbarStateManage.isMenuOpen,
1011
+ isExpanderVisible = _useNavbarStateManage.isExpanderVisible,
1012
+ activeItemIndex = _useNavbarStateManage.activeItemIndex,
1013
+ handleToggleItem = _useNavbarStateManage.handleToggleItem,
1014
+ handleToggleMenu = _useNavbarStateManage.handleToggleMenu,
1015
+ shouldCloseMenuFly = _useNavbarStateManage.shouldCloseMenuFly,
1016
+ allInternalApplicationsNavbarMenu = _useNavbarStateManage.allInternalApplicationsNavbarMenu,
1017
+ allCustomApplicationsNavbarMenu = _useNavbarStateManage.allCustomApplicationsNavbarMenu;
1018
+ const useFullRedirectsForLinks = Boolean(props.environment.useFullRedirectsForLinks);
1019
+ const location = reactRouterDom.useLocation();
1020
+ const projectPermissions = react.useMemo(() => {
1021
+ var _props$project, _props$project2, _props$project3;
1022
+ return {
1023
+ permissions: applicationShellConnectors.normalizeAllAppliedPermissions((_props$project = props.project) === null || _props$project === void 0 ? void 0 : _props$project.allPermissionsForAllApplications.allAppliedPermissions),
1024
+ actionRights: applicationShellConnectors.normalizeAllAppliedActionRights((_props$project2 = props.project) === null || _props$project2 === void 0 ? void 0 : _props$project2.allPermissionsForAllApplications.allAppliedActionRights),
1025
+ dataFences: applicationShellConnectors.normalizeAllAppliedDataFences((_props$project3 = props.project) === null || _props$project3 === void 0 ? void 0 : _props$project3.allPermissionsForAllApplications.allAppliedDataFences)
1026
+ };
1027
+ }, [props.project]);
1028
+ const menuVisibilities = react.useMemo(() => {
1029
+ var _props$project4;
1030
+ return applicationShellConnectors.normalizeAllAppliedMenuVisibilities((_props$project4 = props.project) === null || _props$project4 === void 0 ? void 0 : _props$project4.allPermissionsForAllApplications.allAppliedMenuVisibilities);
1031
+ }, [props.project]);
1032
+ const applicationLocale = props.applicationLocale;
1033
+
1034
+ // Render the loading navbar as long as all the data
1035
+ // hasn't been loaded, or if the project does not exist.
1036
+ if (props.isLoading || typeof applicationLocale === 'undefined') {
1037
+ // Do not render anything until we have the feature flag remote value fetched so
1038
+ // we avoid a flick effect in case it is 'true' (different value from the default one)
1039
+ if (!props.isNewNavigationEnabledEvaluationReady) {
1040
+ return null;
1041
+ }
1042
+ return jsxRuntime.jsx(NavBarSkeleton, {
1043
+ isExpanded: isMenuOpen
1044
+ });
1045
+ }
1046
+ return jsxRuntime.jsxs(NavBarLayout$2, {
1047
+ ref: navBarNode,
1048
+ children: [jsxRuntime.jsxs("div", {
1049
+ className: styles$3['navigation-header'],
1050
+ children: [jsxRuntime.jsx("div", {
1051
+ className: styles$3['icon-container'],
1052
+ children: jsxRuntime.jsx("div", {
1053
+ className: styles$3['icon'],
1054
+ children: jsxRuntime.jsx("img", {
1055
+ src: LogoSVG__default["default"],
1056
+ width: "100%",
1057
+ alt: "Logo"
1058
+ })
1059
+ })
1060
+ }), isMenuOpen ? jsxRuntime.jsx("div", {
1061
+ className: styles$3['title'],
1062
+ children: "Merchant Center"
1063
+ }) : null]
1064
+ }), jsxRuntime.jsxs(MenuGroup$1, {
1065
+ id: "main",
1066
+ level: 1,
1067
+ children: [jsxRuntime.jsxs("div", {
1068
+ className: styles$3['scrollable-menu'],
1069
+ children: [_mapInstanceProperty__default["default"](allInternalApplicationsNavbarMenu).call(allInternalApplicationsNavbarMenu, menu => {
1070
+ const menuType = 'scrollable';
1071
+ const itemIndex = "".concat(menuType, "-").concat(menu.key);
1072
+ return jsxRuntime.jsx(ApplicationMenu$1, {
1073
+ location: location,
1074
+ menu: menu,
1075
+ isActive: activeItemIndex === itemIndex,
1076
+ handleToggleItem: () => handleToggleItem(itemIndex),
1077
+ isMenuOpen: isMenuOpen,
1078
+ shouldCloseMenuFly: shouldCloseMenuFly,
1079
+ projectPermissions: projectPermissions,
1080
+ menuVisibilities: menuVisibilities,
1081
+ applicationLocale: applicationLocale,
1082
+ projectKey: props.projectKey,
1083
+ useFullRedirectsForLinks: useFullRedirectsForLinks,
1084
+ onMenuItemClick: props.onMenuItemClick
1085
+ }, menu.key);
1086
+ }), _mapInstanceProperty__default["default"](allCustomApplicationsNavbarMenu).call(allCustomApplicationsNavbarMenu, menu => {
1087
+ const menuType = 'scrollable';
1088
+ const itemIndex = "".concat(menuType, "-").concat(menu.key);
1089
+ return jsxRuntime.jsx(ApplicationMenu$1, {
1090
+ location: location,
1091
+ menu: menu,
1092
+ isActive: activeItemIndex === itemIndex,
1093
+ handleToggleItem: () => handleToggleItem(itemIndex),
1094
+ isMenuOpen: isMenuOpen,
1095
+ shouldCloseMenuFly: shouldCloseMenuFly,
1096
+ projectPermissions: projectPermissions,
1097
+ menuVisibilities: menuVisibilities,
1098
+ applicationLocale: applicationLocale,
1099
+ projectKey: props.projectKey,
1100
+ useFullRedirectsForLinks: useFullRedirectsForLinks,
1101
+ onMenuItemClick: props.onMenuItemClick
1102
+ }, menu.key);
1103
+ })]
1104
+ }), jsxRuntime.jsxs("div", {
1105
+ className: styles$3['fixed-menu'],
1106
+ children: [jsxRuntime.jsx(Faded$1, {}), jsxRuntime.jsx("div", {
1107
+ className: styles$3['support-menu'],
1108
+ children: jsxRuntime.jsx(MenuItem$2, {
1109
+ hasSubmenu: false,
1110
+ isActive: false,
1111
+ isMenuOpen: isMenuOpen,
1112
+ onClick: () => {
1113
+ handleToggleItem('fixed-support');
1114
+ },
1115
+ onMouseEnter: isMenuOpen ? undefined : () => handleToggleItem('fixed-support'),
1116
+ onMouseLeave: isMenuOpen ? undefined : shouldCloseMenuFly,
1117
+ children: jsxRuntime.jsx("a", {
1118
+ href: constants.SUPPORT_PORTAL_URL,
1119
+ rel: "noopener noreferrer",
1120
+ target: "_blank",
1121
+ className: styles$3['text-link'],
1122
+ children: jsxRuntime.jsxs("div", {
1123
+ className: styles$3['item-icon-text'],
1124
+ children: [jsxRuntime.jsx("div", {
1125
+ className: styles$3['icon-container'],
1126
+ children: jsxRuntime.jsx("div", {
1127
+ className: styles$3['icon'],
1128
+ children: jsxRuntime.jsx(icons.SupportIcon, {
1129
+ size: "scale"
1130
+ })
1131
+ })
1132
+ }), jsxRuntime.jsx("div", {
1133
+ className: styles$3.title,
1134
+ children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$3({}, messages['NavBar.MCSupport.title']))
1135
+ })]
1136
+ })
1137
+ })
1138
+ })
1139
+ }), jsxRuntime.jsx(MenuExpander$1, {
1140
+ isVisible: isExpanderVisible,
1141
+ onClick: handleToggleMenu,
1142
+ isMenuOpen: isMenuOpen
1143
+ })]
1144
+ })]
1145
+ })]
1146
+ });
1147
+ };
1148
+ NavBar$2.propTypes = {};
1149
+ NavBar$2.displayName = 'NavBar';
1150
+
1151
+ const useLoadingMenuLayoutEffect = () => {
1152
+ const cachedIsForcedMenuOpen = window.localStorage.getItem(constants$1.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
1153
+ const isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? null : JSON.parse(cachedIsForcedMenuOpen);
1154
+ react.useLayoutEffect(() => {
1155
+ if (isForcedMenuOpen) document.body.classList.add('body__menu-open');
1156
+ if (!isForcedMenuOpen) document.body.classList.remove('body__menu-open');
1157
+ }, [isForcedMenuOpen]);
1158
+ };
1159
+
1160
+ const _excluded = ["icon"];
1161
+ function ownKeys$2(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
1162
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$2(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1163
+ const compiledStyles$2 = {
1164
+ "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___B11QL {\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__list___xLBjv {\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___GUrXv {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.navbar-mod__list-item___PtOVL {\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___3b3a7 {\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___PtOVL .navbar-mod__item-icon-text___ZlMLY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon___xOiRj {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon___xOiRj > 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___PtOVL .navbar-mod__icon__active___8IKeB > 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___PtOVL .navbar-mod__title___uOjhW {\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___1CChn {\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___biAt6 {\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___RE98P {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___PtOVL: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___S-P3x .navbar-mod__title___uOjhW {\n opacity: 1;\n display: block;\n transition: all 0.2s ease;\n}\n\n.navbar-mod__item_menu-open___4wsej {\n height: auto !important;\n}\n\n/* NO SUBMENU */\n\n.navbar-mod__item_menu-collapsed___SNDmx .navbar-mod__item-link___3b3a7 {\n text-align: center;\n}\n\n.navbar-mod__item__no-submenu___mua5w .navbar-mod__title___uOjhW {\n border-bottom: 0;\n}\n\n.navbar-mod__item__no-submenu___mua5w .navbar-mod__sublist___5VV4O {\n padding-top: 40px;\n}\n\n/* left-nav open */\n\n.body__menu-open .navbar-mod__title___uOjhW {\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___B11QL {\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___PtOVL {\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___B11QL,\n.body__menu-open .navbar-mod__list-item___PtOVL {\n width: 245px;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL .navbar-mod__title___uOjhW {\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___PtOVL:not(.navbar-mod__item__active___S-P3x):hover .navbar-mod__icon___xOiRj > 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___PtOVL .navbar-mod__title___uOjhW: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___PtOVL:not(.navbar-mod__item__active___S-P3x):hover .navbar-mod__title___uOjhW {\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___biAt6 {\n transform: translateX(0) rotateZ(180deg);\n}\n\n.body__menu-open .navbar-mod__item__active___S-P3x {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n.body__menu-open .navbar-mod__sublist___5VV4O {\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___5VV4O.navbar-mod__sublist-no-children___5Bwqb {\n border: 0;\n}\n\n.body__menu-open .navbar-mod__title-copy___SdRqf {\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___SdRqf: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___1CChn {\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___5VV4O {\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__inactive___9A4qo {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___d-8UM {\n padding: var(--spacing-s) 0 0;\n}\n\n.navbar-mod__sublist-item___d-8UM:first-of-type {\n padding: 0;\n}\n\n.navbar-mod__sublist-item___d-8UM: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__text___a585r {\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}\n\n.navbar-mod__text-link___pVuV6 {\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___pVuV6: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___S-P3x,\n.navbar-mod__item_menu__active___c95PT {\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___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon-container___-yU8W {\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___0HE2b .navbar-mod__list-item___PtOVL .navbar-mod__item-icon-text___ZlMLY {\n justify-content: flex-start;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__fixed-menu___0HE2b .navbar-mod__list-item___PtOVL .navbar-mod__icon-container___-yU8W {\n /* empty block */\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n position: relative;\n width: auto;\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n margin-left: 40px;\n}\n\n.navbar-mod__item_menu-collapsed___SNDmx.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\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___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n margin-left: var(--spacing-m);\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n margin-left: 0;\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__sublist___5VV4O {\n width: 205px;\n min-height: 100%;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__sublist___5VV4O {\n width: calc(100% - calc(\n 24px + var(--spacing-m) + 4px + 4px\n ));\n}\n\n.navbar-mod__sublist-expanded__active___Fett-,\n.navbar-mod__sublist-collapsed__active___NPTQn {\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___Fett- {\n display: block;\n}\n\n.navbar-mod__highlighted___WWk0R,\n.navbar-mod__highlighted___WWk0R .navbar-mod__title___uOjhW {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___kfXoC {\n display: none;\n}\n\n.navbar-mod__divider___A9rwl {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___8P8Tl {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___GUrXv {\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__fixed-menu___0HE2b {\n flex: 0 0 0;\n position: relative;\n}\n",
1165
+ "jsonMap": {
1166
+ "left-navigation": "navbar-mod__left-navigation___B11QL",
1167
+ "list": "navbar-mod__list___xLBjv",
1168
+ "scrollable-menu": "navbar-mod__scrollable-menu___GUrXv",
1169
+ "list-item": "navbar-mod__list-item___PtOVL",
1170
+ "item-link": "navbar-mod__item-link___3b3a7",
1171
+ "item-icon-text": "navbar-mod__item-icon-text___ZlMLY",
1172
+ "icon": "navbar-mod__icon___xOiRj",
1173
+ "icon__active": "navbar-mod__icon__active___8IKeB",
1174
+ "title": "navbar-mod__title___uOjhW",
1175
+ "expander": "navbar-mod__expander___1CChn",
1176
+ "expand-icon": "navbar-mod__expand-icon___biAt6",
1177
+ "item--bottom": "navbar-mod__item--bottom___RE98P",
1178
+ "item__active": "navbar-mod__item__active___S-P3x",
1179
+ "item_menu-open": "navbar-mod__item_menu-open___4wsej",
1180
+ "item_menu-collapsed": "navbar-mod__item_menu-collapsed___SNDmx",
1181
+ "item__no-submenu": "navbar-mod__item__no-submenu___mua5w",
1182
+ "sublist": "navbar-mod__sublist___5VV4O",
1183
+ "sublist-no-children": "navbar-mod__sublist-no-children___5Bwqb",
1184
+ "title-copy": "navbar-mod__title-copy___SdRqf",
1185
+ "sublist__inactive": "navbar-mod__sublist__inactive___9A4qo",
1186
+ "sublist-item": "navbar-mod__sublist-item___d-8UM",
1187
+ "text": "navbar-mod__text___a585r",
1188
+ "text-link": "navbar-mod__text-link___pVuV6",
1189
+ "item_menu__active": "navbar-mod__item_menu__active___c95PT",
1190
+ "icon-container": "navbar-mod__icon-container___-yU8W",
1191
+ "fixed-menu": "navbar-mod__fixed-menu___0HE2b",
1192
+ "sublist-expanded__active": "navbar-mod__sublist-expanded__active___Fett-",
1193
+ "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___NPTQn",
1194
+ "highlighted": "navbar-mod__highlighted___WWk0R",
1195
+ "hidden": "navbar-mod__hidden___kfXoC",
1196
+ "divider": "navbar-mod__divider___A9rwl",
1197
+ "loading-dot-container": "navbar-mod__loading-dot-container___8P8Tl"
1198
+ }
1199
+ };
1200
+ const styles$2 = compiledStyles$2.jsonMap;
1201
+ /*
1202
+ <DataMenu data={[]}>
1203
+ <MenuGroup>
1204
+ <MenuItem>
1205
+ <MenuItemLink linkTo="/foo">(icon) Products</MenuItemLink>
1206
+ <MenuGroup>
1207
+ <MenuItemLink linkTo="/foo/new">Add product</MenuItemLink>
1208
+ </MenuGroup>
1209
+ </MenuItem>
1210
+ </MenuGroup>
1211
+ <MenuExpander/>
1212
+ </DataMenu>
1213
+ */
1214
+
1215
+ const HeartIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./heart-01f01038.cjs.prod.js'); }));
1216
+ const PaperclipIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./paperclip-fe72a70d.cjs.prod.js'); }));
1217
+ const PluginIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./plugin-81ae1044.cjs.prod.js'); }));
1218
+ const RocketIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./rocket-cb99be06.cjs.prod.js'); }));
1219
+ const StarIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./star-e4902bbb.cjs.prod.js'); }));
1220
+ const ConnectedSquareIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./connected-square-2d046cb8.cjs.prod.js'); }));
1221
+ const WorldIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./world-22189397.cjs.prod.js'); }));
1222
+ const TreeStructureIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./tree-structure-3ec98cce.cjs.prod.js'); }));
1223
+ const UserFilledIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./user-filled-26f333b2.cjs.prod.js'); }));
1224
+ const SpeedometerIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./speedometer-26f52e73.cjs.prod.js'); }));
1225
+ const TagMultiIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./tag-multi-1c065f61.cjs.prod.js'); }));
1226
+ const CartIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./cart-645074db.cjs.prod.js'); }));
1227
+ const BoxIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./box-09bf50e1.cjs.prod.js'); }));
1228
+ const GearIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./gear-4f7cde98.cjs.prod.js'); }));
1229
+ const ListWithSearchIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./list-with-search-6462447e.cjs.prod.js'); }));
1230
+ // The icon is expected to be the `svg` document as a string.
1231
+ // For backwards compatibility purposes, we still support the legacy "icon name",
1232
+ // which we then map to one of the pre-defined icons.
1233
+ // Eventually, we want to get rid of this "switch" logic.
1234
+ const IconSwitcher = _ref => {
1235
+ let icon = _ref.icon,
1236
+ iconProps = _objectWithoutProperties(_ref, _excluded);
1237
+ if (_includesInstanceProperty__default["default"](icon).call(icon, '<svg')) {
1238
+ return jsxRuntime.jsx(InlineSvg__default["default"], _objectSpread$2({
1239
+ data: icon
1240
+ }, iconProps));
1241
+ }
1242
+ // Backwards compatibility for apps using the "icon name".
1243
+ switch (icon) {
1244
+ // Legacy application icons
1245
+ // TODO: To be removed once MC applications icons updates are published
1246
+ case 'TreeStructureIcon':
1247
+ return jsxRuntime.jsx(TreeStructureIcon, _objectSpread$2({}, iconProps));
1248
+ case 'UserFilledIcon':
1249
+ return jsxRuntime.jsx(UserFilledIcon, _objectSpread$2({}, iconProps));
1250
+ case 'SpeedometerIcon':
1251
+ return jsxRuntime.jsx(SpeedometerIcon, _objectSpread$2({}, iconProps));
1252
+ case 'TagMultiIcon':
1253
+ return jsxRuntime.jsx(TagMultiIcon, _objectSpread$2({}, iconProps));
1254
+ case 'CartIcon':
1255
+ return jsxRuntime.jsx(CartIcon, _objectSpread$2({}, iconProps));
1256
+ case 'BoxIcon':
1257
+ return jsxRuntime.jsx(BoxIcon, _objectSpread$2({}, iconProps));
1258
+ case 'GearIcon':
1259
+ return jsxRuntime.jsx(GearIcon, _objectSpread$2({}, iconProps));
1260
+ case 'ListWithSearchIcon':
1261
+ return jsxRuntime.jsx(ListWithSearchIcon, _objectSpread$2({}, iconProps));
1262
+
1263
+ // Custom application icons set
1264
+ case 'HeartIcon':
1265
+ return jsxRuntime.jsx(HeartIcon, _objectSpread$2({}, iconProps));
1266
+ case 'PaperclipIcon':
1267
+ return jsxRuntime.jsx(PaperclipIcon, _objectSpread$2({}, iconProps));
1268
+ case 'PluginIcon':
1269
+ return jsxRuntime.jsx(PluginIcon, _objectSpread$2({}, iconProps));
1270
+ case 'RocketIcon':
1271
+ return jsxRuntime.jsx(RocketIcon, _objectSpread$2({}, iconProps));
1272
+ case 'StarIcon':
1273
+ return jsxRuntime.jsx(StarIcon, _objectSpread$2({}, iconProps));
1274
+ case 'ConnectedSquareIcon':
1275
+ return jsxRuntime.jsx(ConnectedSquareIcon, _objectSpread$2({}, iconProps));
1276
+ // For backwards compatibility
1277
+ case 'WorldIcon':
1278
+ return jsxRuntime.jsx(WorldIcon, _objectSpread$2({}, iconProps));
1279
+ default:
1280
+ return jsxRuntime.jsx("img", {
1281
+ src: MissingImageSvg__default["default"],
1282
+ alt: "missing icon"
1283
+ });
1284
+ }
1285
+ };
1286
+ IconSwitcher.propTypes = {};
1287
+ IconSwitcher.displayName = 'IconSwitcher';
1288
+ const MenuExpander = props => {
1289
+ return jsxRuntime.jsx("li", {
1290
+ className: classnames__default["default"](styles$2['list-item'], styles$2.expander, {
1291
+ [styles$2.hidden]: !props.isVisible
1292
+ }),
1293
+ children: jsxRuntime.jsx("div", {
1294
+ onClick: props.onClick,
1295
+ className: styles$2['expand-icon'],
1296
+ "data-testid": "menu-expander",
1297
+ children: jsxRuntime.jsx(icons.ArrowRightIcon, {
1298
+ color: "surface",
1299
+ size: "big"
1300
+ })
1301
+ })
1302
+ }, "expander");
1303
+ };
1304
+ MenuExpander.propTypes = {};
1305
+ MenuExpander.displayName = 'MenuExpander';
1306
+ const Faded = /*#__PURE__*/_styled__default["default"]("div", {
1307
+ target: "e7a2vqh0"
1308
+ } )("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;" + ("" ));
1309
+ const MenuGroup = props => {
1310
+ if (props.isExpanded && (props.level === 2 && !props.hasSubmenu || props.level === 2 && !props.isActive)) {
1311
+ return null;
1312
+ }
1313
+ const isSublistActiveWhileIsMenuExpanded = props.level === 2 && props.isActive && props.isExpanded;
1314
+ const isSublistActiveWhileIsMenuCollapsed = props.level === 2 && props.isActive && !props.isExpanded;
1315
+ return jsxRuntime.jsx("ul", {
1316
+ id: "group-".concat(props.id),
1317
+ "data-testid": "group-".concat(props.id),
1318
+ role: "menu",
1319
+ "aria-expanded": isSublistActiveWhileIsMenuExpanded || isSublistActiveWhileIsMenuCollapsed,
1320
+ className: classnames__default["default"]({
1321
+ [styles$2.list]: props.level === 1
1322
+ }, {
1323
+ [styles$2['sublist']]: props.level === 2
1324
+ }, {
1325
+ [styles$2['sublist-no-children']]: props.level === 2 && !props.children
1326
+ }, {
1327
+ [styles$2['sublist-expanded__active']]: isSublistActiveWhileIsMenuExpanded
1328
+ }, {
1329
+ [styles$2['sublist-collapsed__active']]: isSublistActiveWhileIsMenuCollapsed
1330
+ }, {
1331
+ [styles$2.sublist__inactive]: !isSublistActiveWhileIsMenuCollapsed
1332
+ }),
1333
+ children: props.children
1334
+ });
1335
+ };
1336
+ MenuGroup.propTypes = {};
1337
+ MenuGroup.displayName = 'MenuGroup';
1338
+ const MenuItem = props => {
1339
+ var _props$isMainMenuRout;
1340
+ return jsxRuntime.jsx("li", {
1341
+ role: "menuitem",
1342
+ className: classnames__default["default"](styles$2['list-item'], {
1343
+ [styles$2.item__active]: props.isActive,
1344
+ [styles$2['item_menu__active']]: (_props$isMainMenuRout = props.isMainMenuRouteActive) !== null && _props$isMainMenuRout !== void 0 ? _props$isMainMenuRout : false,
1345
+ [styles$2['item_menu-collapsed']]: !props.isMenuOpen,
1346
+ [styles$2['item__no-submenu']]: !props.hasSubmenu
1347
+ }),
1348
+ onClick: props.onClick,
1349
+ onMouseEnter: props.onMouseEnter,
1350
+ onMouseLeave: props.onMouseLeave,
1351
+ children: jsxRuntime.jsx("div", {
1352
+ className: styles$2['item-link'],
1353
+ children: props.children
1354
+ })
1355
+ });
1356
+ };
1357
+ MenuItem.propTypes = {};
1358
+ MenuItem.displayName = 'MenuItem';
1359
+ const menuItemLinkDefaultProps = {
1360
+ exactMatch: false
1361
+ };
1362
+ const MenuItemLink = props => {
1363
+ const redirectTo = targetUrl => useIsServedByProxy.location.replace(targetUrl);
1364
+ if (props.linkTo) {
1365
+ return jsxRuntime.jsx(reactRouterDom.NavLink, {
1366
+ to: props.linkTo,
1367
+ exact: props.exactMatch,
1368
+ activeClassName: styles$2.highlighted,
1369
+ className: styles$2['text-link'],
1370
+ onClick: event => {
1371
+ if (props.linkTo && props.useFullRedirectsForLinks) {
1372
+ event.preventDefault();
1373
+ redirectTo(props.linkTo);
1374
+ } else if (props.onClick) {
1375
+ event.persist();
1376
+ props.onClick(event);
1377
+ }
1378
+ },
1379
+ children: props.children
1380
+ });
1381
+ }
1382
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
1383
+ children: props.children
1384
+ });
1385
+ };
1386
+ MenuItemLink.propTypes = {};
1387
+ MenuItemLink.displayName = 'MenuItemLink';
1388
+ MenuItemLink.defaultProps = menuItemLinkDefaultProps;
1389
+ const MenuItemDivider = () => jsxRuntime.jsx("div", {
1390
+ className: styles$2.divider
1391
+ });
1392
+ MenuItemDivider.displayName = 'MenuItemDivider';
1393
+ const isEveryMenuVisibilitySetToHidden = (menuVisibilities, namesOfMenuVisibilities) => _Array$isArray__default["default"](namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty__default["default"](namesOfMenuVisibilities).call(namesOfMenuVisibilities, nameOfMenuVisibility => menuVisibilities && menuVisibilities[nameOfMenuVisibility] === true);
1394
+ const restrictedMenuItemDefaultProps = {
1395
+ permissions: []
1396
+ };
1397
+ function isLongLivedFlag(flag) {
1398
+ return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
1399
+ }
1400
+ const RestrictedMenuItem = props => {
1401
+ // NOTE: Custom application are activated/deactivated while their
1402
+ // visibility is not controlled via a visibiility overwrite.
1403
+ const flagVariation = reactBroadcast.useFlagVariation(props.featureToggle);
1404
+ if (isEveryMenuVisibilitySetToHidden(props.menuVisibilities, props.namesOfMenuVisibilities)) return null;
1405
+ 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, {
1406
+ permissions: props.permissions,
1407
+ actionRights: props.actionRights,
1408
+ dataFences: props.dataFences,
1409
+ selectDataFenceData: demandedDataFence => {
1410
+ switch (demandedDataFence.type) {
1411
+ case 'store':
1412
+ return demandedDataFence.actualDataFenceValues;
1413
+ default:
1414
+ return null;
1415
+ }
1416
+ }
1417
+ // Always check that some of the given permissions match.
1418
+ ,
1419
+ shouldMatchSomePermissions: true,
1420
+ projectPermissions: props.projectPermissions,
1421
+ children: props.children
1422
+ }) : jsxRuntime.jsx(jsxRuntime.Fragment, {
1423
+ children: props.children
1424
+ });
1425
+ if (props.featureToggle) {
1426
+ // A regular short-lived feature toggle
1427
+ if (flagVariation === true) return permissionsWrapper;
1428
+ // A long-lived feature toggle with `{ value: boolean, string: reason }`
1429
+ if (isLongLivedFlag(flagVariation) && flagVariation.value === true) return permissionsWrapper;
1430
+ return null;
1431
+ }
1432
+ return permissionsWrapper;
1433
+ };
1434
+ RestrictedMenuItem.propTypes = {};
1435
+ RestrictedMenuItem.displayName = 'RestrictedMenuItem';
1436
+ RestrictedMenuItem.defaultProps = restrictedMenuItemDefaultProps;
1437
+ const MenuLabel = props => {
1438
+ var _context;
1439
+ const localizedLabel = _findInstanceProperty__default["default"](_context = props.labelAllLocales).call(_context, loc => {
1440
+ var _context2;
1441
+ return _startsWithInstanceProperty__default["default"](_context2 = props.applicationLocale).call(_context2, loc.locale);
1442
+ });
1443
+ if (localizedLabel) return jsxRuntime.jsx(jsxRuntime.Fragment, {
1444
+ children: localizedLabel.value
1445
+ });
1446
+ if (props.defaultLabel) return jsxRuntime.jsx(jsxRuntime.Fragment, {
1447
+ children: props.defaultLabel
1448
+ });
1449
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
1450
+ children: constants.NO_VALUE_FALLBACK
1451
+ });
1452
+ };
1453
+ MenuLabel.propTypes = {
1454
+ labelAllLocales: _pt__default["default"].arrayOf(_pt__default["default"].any).isRequired,
1455
+ defaultLabel: _pt__default["default"].string,
1456
+ applicationLocale: _pt__default["default"].string.isRequired
1457
+ };
1458
+ const NavBarLayout = /*#__PURE__*/react.forwardRef((props, ref) => jsxRuntime.jsxs(jsxRuntime.Fragment, {
1459
+ children: [jsxRuntime.jsx(react$1.Global, {
1460
+ styles: /*#__PURE__*/react$1.css(compiledStyles$2.global, ";" + ("" ), "" )
1461
+ }), jsxRuntime.jsx("nav", {
1462
+ ref: ref,
1463
+ className: styles$2['left-navigation'],
1464
+ "data-test": "left-navigation",
1465
+ "data-testid": "left-navigation",
1466
+ children: props.children
1467
+ })]
1468
+ }));
1469
+ NavBarLayout.displayName = 'NavBarLayout';
1470
+
1471
+ const compiledStyles$1 = {
1472
+ "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___B11QL {\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__list___xLBjv {\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___GUrXv {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.navbar-mod__list-item___PtOVL {\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___3b3a7 {\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___PtOVL .navbar-mod__item-icon-text___ZlMLY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon___xOiRj {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon___xOiRj > 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___PtOVL .navbar-mod__icon__active___8IKeB > 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___PtOVL .navbar-mod__title___uOjhW {\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___1CChn {\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___biAt6 {\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___RE98P {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___PtOVL: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___S-P3x .navbar-mod__title___uOjhW {\n opacity: 1;\n display: block;\n transition: all 0.2s ease;\n}\n\n.navbar-mod__item_menu-open___4wsej {\n height: auto !important;\n}\n\n/* NO SUBMENU */\n\n.navbar-mod__item_menu-collapsed___SNDmx .navbar-mod__item-link___3b3a7 {\n text-align: center;\n}\n\n.navbar-mod__item__no-submenu___mua5w .navbar-mod__title___uOjhW {\n border-bottom: 0;\n}\n\n.navbar-mod__item__no-submenu___mua5w .navbar-mod__sublist___5VV4O {\n padding-top: 40px;\n}\n\n/* left-nav open */\n\n.body__menu-open .navbar-mod__title___uOjhW {\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___B11QL {\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___PtOVL {\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___B11QL,\n.body__menu-open .navbar-mod__list-item___PtOVL {\n width: 245px;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL .navbar-mod__title___uOjhW {\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___PtOVL:not(.navbar-mod__item__active___S-P3x):hover .navbar-mod__icon___xOiRj > 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___PtOVL .navbar-mod__title___uOjhW: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___PtOVL:not(.navbar-mod__item__active___S-P3x):hover .navbar-mod__title___uOjhW {\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___biAt6 {\n transform: translateX(0) rotateZ(180deg);\n}\n\n.body__menu-open .navbar-mod__item__active___S-P3x {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n.body__menu-open .navbar-mod__sublist___5VV4O {\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___5VV4O.navbar-mod__sublist-no-children___5Bwqb {\n border: 0;\n}\n\n.body__menu-open .navbar-mod__title-copy___SdRqf {\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___SdRqf: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___1CChn {\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___5VV4O {\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__inactive___9A4qo {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___d-8UM {\n padding: var(--spacing-s) 0 0;\n}\n\n.navbar-mod__sublist-item___d-8UM:first-of-type {\n padding: 0;\n}\n\n.navbar-mod__sublist-item___d-8UM: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__text___a585r {\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}\n\n.navbar-mod__text-link___pVuV6 {\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___pVuV6: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___S-P3x,\n.navbar-mod__item_menu__active___c95PT {\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___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon-container___-yU8W {\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___0HE2b .navbar-mod__list-item___PtOVL .navbar-mod__item-icon-text___ZlMLY {\n justify-content: flex-start;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__fixed-menu___0HE2b .navbar-mod__list-item___PtOVL .navbar-mod__icon-container___-yU8W {\n /* empty block */\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n position: relative;\n width: auto;\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n margin-left: 40px;\n}\n\n.navbar-mod__item_menu-collapsed___SNDmx.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\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___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n margin-left: var(--spacing-m);\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n margin-left: 0;\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__sublist___5VV4O {\n width: 205px;\n min-height: 100%;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__sublist___5VV4O {\n width: calc(100% - calc(\n 24px + var(--spacing-m) + 4px + 4px\n ));\n}\n\n.navbar-mod__sublist-expanded__active___Fett-,\n.navbar-mod__sublist-collapsed__active___NPTQn {\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___Fett- {\n display: block;\n}\n\n.navbar-mod__highlighted___WWk0R,\n.navbar-mod__highlighted___WWk0R .navbar-mod__title___uOjhW {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___kfXoC {\n display: none;\n}\n\n.navbar-mod__divider___A9rwl {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___8P8Tl {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___GUrXv {\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__fixed-menu___0HE2b {\n flex: 0 0 0;\n position: relative;\n}\n",
1473
+ "jsonMap": {
1474
+ "left-navigation": "navbar-mod__left-navigation___B11QL",
1475
+ "list": "navbar-mod__list___xLBjv",
1476
+ "scrollable-menu": "navbar-mod__scrollable-menu___GUrXv",
1477
+ "list-item": "navbar-mod__list-item___PtOVL",
1478
+ "item-link": "navbar-mod__item-link___3b3a7",
1479
+ "item-icon-text": "navbar-mod__item-icon-text___ZlMLY",
1480
+ "icon": "navbar-mod__icon___xOiRj",
1481
+ "icon__active": "navbar-mod__icon__active___8IKeB",
1482
+ "title": "navbar-mod__title___uOjhW",
1483
+ "expander": "navbar-mod__expander___1CChn",
1484
+ "expand-icon": "navbar-mod__expand-icon___biAt6",
1485
+ "item--bottom": "navbar-mod__item--bottom___RE98P",
1486
+ "item__active": "navbar-mod__item__active___S-P3x",
1487
+ "item_menu-open": "navbar-mod__item_menu-open___4wsej",
1488
+ "item_menu-collapsed": "navbar-mod__item_menu-collapsed___SNDmx",
1489
+ "item__no-submenu": "navbar-mod__item__no-submenu___mua5w",
1490
+ "sublist": "navbar-mod__sublist___5VV4O",
1491
+ "sublist-no-children": "navbar-mod__sublist-no-children___5Bwqb",
1492
+ "title-copy": "navbar-mod__title-copy___SdRqf",
1493
+ "sublist__inactive": "navbar-mod__sublist__inactive___9A4qo",
1494
+ "sublist-item": "navbar-mod__sublist-item___d-8UM",
1495
+ "text": "navbar-mod__text___a585r",
1496
+ "text-link": "navbar-mod__text-link___pVuV6",
1497
+ "item_menu__active": "navbar-mod__item_menu__active___c95PT",
1498
+ "icon-container": "navbar-mod__icon-container___-yU8W",
1499
+ "fixed-menu": "navbar-mod__fixed-menu___0HE2b",
1500
+ "sublist-expanded__active": "navbar-mod__sublist-expanded__active___Fett-",
1501
+ "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___NPTQn",
1502
+ "highlighted": "navbar-mod__highlighted___WWk0R",
1503
+ "hidden": "navbar-mod__hidden___kfXoC",
1504
+ "divider": "navbar-mod__divider___A9rwl",
1505
+ "loading-dot-container": "navbar-mod__loading-dot-container___8P8Tl"
1506
+ }
1507
+ };
1508
+ const styles$1 = compiledStyles$1.jsonMap;
1509
+ const LoadingNavBar = () => {
1510
+ var _context;
1511
+ const ref = react.useRef(null);
1512
+ useLoadingMenuLayoutEffect();
1513
+ return jsxRuntime.jsx(NavBarLayout, {
1514
+ ref: ref,
1515
+ children: jsxRuntime.jsx(MenuGroup, {
1516
+ id: "main",
1517
+ level: 1,
1518
+ children: jsxRuntime.jsx(jsxRuntime.Fragment, {
1519
+ children: _mapInstanceProperty__default["default"](_context = _Array$from__default["default"](new Array(5))).call(_context, (_, index) => jsxRuntime.jsx(MenuItem, {
1520
+ hasSubmenu: false,
1521
+ isMenuOpen: false,
1522
+ isActive: false,
1523
+ onClick: () => undefined,
1524
+ children: jsxRuntime.jsx("div", {
1525
+ className: styles$1['loading-dot-container'],
1526
+ "data-testid": "dot-container-".concat(index),
1527
+ children: jsxRuntime.jsx(dist_commercetoolsFrontendApplicationShell.LoadingPlaceholder, {
1528
+ shape: "dot",
1529
+ size: "m"
1530
+ })
1531
+ })
1532
+ }, index))
1533
+ })
1534
+ })
1535
+ });
1536
+ };
1537
+ LoadingNavBar.displayName = 'LoadingNavBar';
1538
+
1539
+ function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
1540
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context8, _context9; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context8 = ownKeys$1(Object(t), !0)).call(_context8, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context9 = ownKeys$1(Object(t))).call(_context9, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1541
+ const compiledStyles = {
1542
+ "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___B11QL {\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__list___xLBjv {\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___GUrXv {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.navbar-mod__list-item___PtOVL {\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___3b3a7 {\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___PtOVL .navbar-mod__item-icon-text___ZlMLY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon___xOiRj {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon___xOiRj > 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___PtOVL .navbar-mod__icon__active___8IKeB > 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___PtOVL .navbar-mod__title___uOjhW {\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___1CChn {\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___biAt6 {\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___RE98P {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___PtOVL: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___S-P3x .navbar-mod__title___uOjhW {\n opacity: 1;\n display: block;\n transition: all 0.2s ease;\n}\n\n.navbar-mod__item_menu-open___4wsej {\n height: auto !important;\n}\n\n/* NO SUBMENU */\n\n.navbar-mod__item_menu-collapsed___SNDmx .navbar-mod__item-link___3b3a7 {\n text-align: center;\n}\n\n.navbar-mod__item__no-submenu___mua5w .navbar-mod__title___uOjhW {\n border-bottom: 0;\n}\n\n.navbar-mod__item__no-submenu___mua5w .navbar-mod__sublist___5VV4O {\n padding-top: 40px;\n}\n\n/* left-nav open */\n\n.body__menu-open .navbar-mod__title___uOjhW {\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___B11QL {\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___PtOVL {\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___B11QL,\n.body__menu-open .navbar-mod__list-item___PtOVL {\n width: 245px;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL .navbar-mod__title___uOjhW {\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___PtOVL:not(.navbar-mod__item__active___S-P3x):hover .navbar-mod__icon___xOiRj > 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___PtOVL .navbar-mod__title___uOjhW: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___PtOVL:not(.navbar-mod__item__active___S-P3x):hover .navbar-mod__title___uOjhW {\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___biAt6 {\n transform: translateX(0) rotateZ(180deg);\n}\n\n.body__menu-open .navbar-mod__item__active___S-P3x {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n.body__menu-open .navbar-mod__sublist___5VV4O {\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___5VV4O.navbar-mod__sublist-no-children___5Bwqb {\n border: 0;\n}\n\n.body__menu-open .navbar-mod__title-copy___SdRqf {\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___SdRqf: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___1CChn {\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___5VV4O {\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__inactive___9A4qo {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___d-8UM {\n padding: var(--spacing-s) 0 0;\n}\n\n.navbar-mod__sublist-item___d-8UM:first-of-type {\n padding: 0;\n}\n\n.navbar-mod__sublist-item___d-8UM: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__text___a585r {\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}\n\n.navbar-mod__text-link___pVuV6 {\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___pVuV6: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___S-P3x,\n.navbar-mod__item_menu__active___c95PT {\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___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___PtOVL .navbar-mod__icon-container___-yU8W {\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___0HE2b .navbar-mod__list-item___PtOVL .navbar-mod__item-icon-text___ZlMLY {\n justify-content: flex-start;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__fixed-menu___0HE2b .navbar-mod__list-item___PtOVL .navbar-mod__icon-container___-yU8W {\n /* empty block */\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n position: relative;\n width: auto;\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n margin-left: 40px;\n}\n\n.navbar-mod__item_menu-collapsed___SNDmx.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\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___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY .navbar-mod__title___uOjhW {\n margin-left: var(--spacing-m);\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__item-icon-text___ZlMLY {\n margin-left: 0;\n}\n\n.navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__sublist___5VV4O {\n width: 205px;\n min-height: 100%;\n}\n\n.body__menu-open .navbar-mod__list-item___PtOVL.navbar-mod__item__active___S-P3x .navbar-mod__sublist___5VV4O {\n width: calc(100% - calc(\n 24px + var(--spacing-m) + 4px + 4px\n ));\n}\n\n.navbar-mod__sublist-expanded__active___Fett-,\n.navbar-mod__sublist-collapsed__active___NPTQn {\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___Fett- {\n display: block;\n}\n\n.navbar-mod__highlighted___WWk0R,\n.navbar-mod__highlighted___WWk0R .navbar-mod__title___uOjhW {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___kfXoC {\n display: none;\n}\n\n.navbar-mod__divider___A9rwl {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___8P8Tl {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___GUrXv {\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__fixed-menu___0HE2b {\n flex: 0 0 0;\n position: relative;\n}\n",
1543
+ "jsonMap": {
1544
+ "left-navigation": "navbar-mod__left-navigation___B11QL",
1545
+ "list": "navbar-mod__list___xLBjv",
1546
+ "scrollable-menu": "navbar-mod__scrollable-menu___GUrXv",
1547
+ "list-item": "navbar-mod__list-item___PtOVL",
1548
+ "item-link": "navbar-mod__item-link___3b3a7",
1549
+ "item-icon-text": "navbar-mod__item-icon-text___ZlMLY",
1550
+ "icon": "navbar-mod__icon___xOiRj",
1551
+ "icon__active": "navbar-mod__icon__active___8IKeB",
1552
+ "title": "navbar-mod__title___uOjhW",
1553
+ "expander": "navbar-mod__expander___1CChn",
1554
+ "expand-icon": "navbar-mod__expand-icon___biAt6",
1555
+ "item--bottom": "navbar-mod__item--bottom___RE98P",
1556
+ "item__active": "navbar-mod__item__active___S-P3x",
1557
+ "item_menu-open": "navbar-mod__item_menu-open___4wsej",
1558
+ "item_menu-collapsed": "navbar-mod__item_menu-collapsed___SNDmx",
1559
+ "item__no-submenu": "navbar-mod__item__no-submenu___mua5w",
1560
+ "sublist": "navbar-mod__sublist___5VV4O",
1561
+ "sublist-no-children": "navbar-mod__sublist-no-children___5Bwqb",
1562
+ "title-copy": "navbar-mod__title-copy___SdRqf",
1563
+ "sublist__inactive": "navbar-mod__sublist__inactive___9A4qo",
1564
+ "sublist-item": "navbar-mod__sublist-item___d-8UM",
1565
+ "text": "navbar-mod__text___a585r",
1566
+ "text-link": "navbar-mod__text-link___pVuV6",
1567
+ "item_menu__active": "navbar-mod__item_menu__active___c95PT",
1568
+ "icon-container": "navbar-mod__icon-container___-yU8W",
1569
+ "fixed-menu": "navbar-mod__fixed-menu___0HE2b",
1570
+ "sublist-expanded__active": "navbar-mod__sublist-expanded__active___Fett-",
1571
+ "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___NPTQn",
1572
+ "highlighted": "navbar-mod__highlighted___WWk0R",
1573
+ "hidden": "navbar-mod__hidden___kfXoC",
1574
+ "divider": "navbar-mod__divider___A9rwl",
1575
+ "loading-dot-container": "navbar-mod__loading-dot-container___8P8Tl"
1576
+ }
1577
+ };
1578
+ const styles = compiledStyles.jsonMap;
1579
+ const getMenuVisibilitiesOfSubmenus = menu => {
1580
+ var _context, _context2;
1581
+ return _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = menu.submenu).call(_context2, submenu => submenu.menuVisibility)).call(_context, nonNullable);
1582
+ };
1583
+ const getMenuVisibilityOfMainmenu = menu => menu.menuVisibility ? [menu.menuVisibility] : [];
1584
+ const ApplicationMenu = props => {
1585
+ var _context3, _props$menu$featureTo, _props$menu$actionRig, _props$menu$dataFence, _context4, _context5;
1586
+ const isMainMenuRouteActive = Boolean(reactRouterDom.matchPath(props.location.pathname, {
1587
+ path: _concatInstanceProperty__default["default"](_context3 = "/".concat(props.projectKey, "/")).call(_context3, props.menu.uriPath),
1588
+ exact: false,
1589
+ strict: false
1590
+ }));
1591
+ const hasSubmenu = _Array$isArray__default["default"](props.menu.submenu) && props.menu.submenu.length > 0;
1592
+ react.useEffect(() => {
1593
+ // On first render, check which menu is active for the current application and expand
1594
+ // the submenu automatically unless the all navbar is collapsed or there are no submenu links.
1595
+ if (props.isMenuOpen && isMainMenuRouteActive && hasSubmenu) {
1596
+ props.handleToggleItem();
1597
+ }
1598
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1599
+ }, [props.isMenuOpen]); // <-- (re)run this only when the all menu expands
1600
+
1601
+ const namesOfMenuVisibilitiesOfAllSubmenus = hasSubmenu ? getMenuVisibilitiesOfSubmenus(props.menu) : getMenuVisibilityOfMainmenu(props.menu);
1602
+ const isMainMenuItemALink =
1603
+ // 1. When the navbar is collapsed
1604
+ !props.isMenuOpen ||
1605
+ // 2. When there is no submenu
1606
+ !hasSubmenu ||
1607
+ // 3. When the submenu group is active/visible
1608
+ props.isActive;
1609
+ return jsxRuntime.jsx(RestrictedMenuItem, {
1610
+ keyOfMenuItem: props.menu.key,
1611
+ featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
1612
+ permissions: props.menu.permissions,
1613
+ actionRights: (_props$menu$actionRig = props.menu.actionRights) !== null && _props$menu$actionRig !== void 0 ? _props$menu$actionRig : undefined,
1614
+ dataFences: (_props$menu$dataFence = props.menu.dataFences) !== null && _props$menu$dataFence !== void 0 ? _props$menu$dataFence : undefined,
1615
+ projectPermissions: props.projectPermissions,
1616
+ menuVisibilities: props.menuVisibilities,
1617
+ namesOfMenuVisibilities: namesOfMenuVisibilitiesOfAllSubmenus,
1618
+ children: jsxRuntime.jsxs(MenuItem, {
1619
+ hasSubmenu: hasSubmenu,
1620
+ isActive: props.isActive,
1621
+ isMainMenuRouteActive: isMainMenuRouteActive,
1622
+ isMenuOpen: props.isMenuOpen,
1623
+ onClick: props.handleToggleItem,
1624
+ onMouseEnter: props.isMenuOpen ? undefined : props.handleToggleItem,
1625
+ onMouseLeave: props.isMenuOpen ? undefined : props.shouldCloseMenuFly,
1626
+ children: [jsxRuntime.jsx(MenuItemLink, {
1627
+ linkTo: isMainMenuItemALink ? _concatInstanceProperty__default["default"](_context4 = "/".concat(props.projectKey, "/")).call(_context4, props.menu.uriPath) : undefined,
1628
+ useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1629
+ onClick: props.onMenuItemClick,
1630
+ children: jsxRuntime.jsxs("div", {
1631
+ className: styles['item-icon-text'],
1632
+ children: [jsxRuntime.jsx("div", {
1633
+ className: styles['icon-container'],
1634
+ children: jsxRuntime.jsx("div", {
1635
+ className: classnames__default["default"](styles.icon, {
1636
+ [styles.icon__active]: props.isActive || isMainMenuRouteActive
1637
+ }),
1638
+ children: jsxRuntime.jsx(IconSwitcher, {
1639
+ icon: props.menu.icon,
1640
+ size: "scale"
1641
+ })
1642
+ })
1643
+ }), jsxRuntime.jsx("div", {
1644
+ className: styles.title,
1645
+ "aria-owns": "group-".concat(props.menu.key),
1646
+ children: jsxRuntime.jsx(MenuLabel, {
1647
+ labelAllLocales: props.menu.labelAllLocales,
1648
+ defaultLabel: props.menu.defaultLabel,
1649
+ applicationLocale: props.applicationLocale
1650
+ })
1651
+ })]
1652
+ })
1653
+ }), jsxRuntime.jsx(MenuGroup, {
1654
+ id: props.menu.key,
1655
+ level: 2,
1656
+ isActive: props.isActive,
1657
+ isExpanded: props.isMenuOpen,
1658
+ hasSubmenu: hasSubmenu,
1659
+ children: hasSubmenu ? _mapInstanceProperty__default["default"](_context5 = props.menu.submenu).call(_context5, submenu => {
1660
+ var _context6, _submenu$featureToggl, _submenu$actionRights, _submenu$dataFences, _context7;
1661
+ return jsxRuntime.jsx(RestrictedMenuItem, {
1662
+ keyOfMenuItem: submenu.key,
1663
+ featureToggle: (_submenu$featureToggl = submenu.featureToggle) !== null && _submenu$featureToggl !== void 0 ? _submenu$featureToggl : undefined,
1664
+ permissions: submenu.permissions,
1665
+ actionRights: (_submenu$actionRights = submenu.actionRights) !== null && _submenu$actionRights !== void 0 ? _submenu$actionRights : undefined,
1666
+ dataFences: (_submenu$dataFences = submenu.dataFences) !== null && _submenu$dataFences !== void 0 ? _submenu$dataFences : undefined,
1667
+ projectPermissions: props.projectPermissions,
1668
+ menuVisibilities: props.menuVisibilities,
1669
+ namesOfMenuVisibilities: submenu.menuVisibility ? [submenu.menuVisibility] : undefined,
1670
+ children: jsxRuntime.jsx("li", {
1671
+ className: styles['sublist-item'],
1672
+ children: jsxRuntime.jsx("div", {
1673
+ className: styles.text,
1674
+ children: jsxRuntime.jsx(MenuItemLink, {
1675
+ linkTo: _concatInstanceProperty__default["default"](_context7 = "/".concat(props.projectKey, "/")).call(_context7, submenu.uriPath)
1676
+ // We want to use an exact matching strategy to avoid multiple
1677
+ // links matching sub-routes.
1678
+ ,
1679
+ exactMatch: true,
1680
+ useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1681
+ onClick: props.onMenuItemClick,
1682
+ children: jsxRuntime.jsx(MenuLabel, {
1683
+ labelAllLocales: submenu.labelAllLocales,
1684
+ defaultLabel: submenu.defaultLabel,
1685
+ applicationLocale: props.applicationLocale
1686
+ })
1687
+ })
1688
+ })
1689
+ })
1690
+ }, _concatInstanceProperty__default["default"](_context6 = "".concat(props.menu.key, "-submenu-")).call(_context6, submenu.key));
1691
+ }) : null
1692
+ })]
1693
+ })
1694
+ }, props.menu.key);
1695
+ };
1696
+ ApplicationMenu.propTypes = {};
1697
+ ApplicationMenu.displayName = 'ApplicationMenu';
1698
+ const NavBar$1 = props => {
1699
+ const _useNavbarStateManage = useNavbarStateManager({
1700
+ environment: props.environment
1701
+ }),
1702
+ navBarNode = _useNavbarStateManage.navBarNode,
1703
+ isMenuOpen = _useNavbarStateManage.isMenuOpen,
1704
+ isExpanderVisible = _useNavbarStateManage.isExpanderVisible,
1705
+ activeItemIndex = _useNavbarStateManage.activeItemIndex,
1706
+ handleToggleItem = _useNavbarStateManage.handleToggleItem,
1707
+ handleToggleMenu = _useNavbarStateManage.handleToggleMenu,
1708
+ shouldCloseMenuFly = _useNavbarStateManage.shouldCloseMenuFly,
1709
+ allInternalApplicationsNavbarMenu = _useNavbarStateManage.allInternalApplicationsNavbarMenu,
1710
+ allCustomApplicationsNavbarMenu = _useNavbarStateManage.allCustomApplicationsNavbarMenu;
1711
+ const useFullRedirectsForLinks = Boolean(props.environment.useFullRedirectsForLinks);
1712
+ const location = reactRouterDom.useLocation();
1713
+ const projectPermissions = react.useMemo(() => {
1714
+ var _props$project, _props$project2, _props$project3;
1715
+ return {
1716
+ permissions: applicationShellConnectors.normalizeAllAppliedPermissions((_props$project = props.project) === null || _props$project === void 0 ? void 0 : _props$project.allPermissionsForAllApplications.allAppliedPermissions),
1717
+ actionRights: applicationShellConnectors.normalizeAllAppliedActionRights((_props$project2 = props.project) === null || _props$project2 === void 0 ? void 0 : _props$project2.allPermissionsForAllApplications.allAppliedActionRights),
1718
+ dataFences: applicationShellConnectors.normalizeAllAppliedDataFences((_props$project3 = props.project) === null || _props$project3 === void 0 ? void 0 : _props$project3.allPermissionsForAllApplications.allAppliedDataFences)
1719
+ };
1720
+ }, [props.project]);
1721
+ const menuVisibilities = react.useMemo(() => {
1722
+ var _props$project4;
1723
+ return applicationShellConnectors.normalizeAllAppliedMenuVisibilities((_props$project4 = props.project) === null || _props$project4 === void 0 ? void 0 : _props$project4.allPermissionsForAllApplications.allAppliedMenuVisibilities);
1724
+ }, [props.project]);
1725
+ const applicationLocale = props.applicationLocale;
1726
+
1727
+ // Render the loading navbar as long as all the data
1728
+ // hasn't been loaded, or if the project does not exist.
1729
+ if (props.isLoading || typeof applicationLocale === 'undefined') {
1730
+ // Do not render anything until we have the feature flag remote value fetched so
1731
+ // we avoid a flick effect in case it is 'true' (different value from the default one)
1732
+ if (!props.isNewNavigationEnabledEvaluationReady) {
1733
+ return null;
1734
+ }
1735
+ return jsxRuntime.jsx(LoadingNavBar, {});
1736
+ }
1737
+ return jsxRuntime.jsx(NavBarLayout, {
1738
+ ref: navBarNode,
1739
+ children: jsxRuntime.jsxs(MenuGroup, {
1740
+ id: "main",
1741
+ level: 1,
1742
+ children: [jsxRuntime.jsxs("div", {
1743
+ className: styles['scrollable-menu'],
1744
+ children: [_mapInstanceProperty__default["default"](allInternalApplicationsNavbarMenu).call(allInternalApplicationsNavbarMenu, menu => {
1745
+ const menuType = 'scrollable';
1746
+ const itemIndex = "".concat(menuType, "-").concat(menu.key);
1747
+ return jsxRuntime.jsx(ApplicationMenu, {
1748
+ location: location,
1749
+ menu: menu,
1750
+ isActive: activeItemIndex === itemIndex,
1751
+ handleToggleItem: () => handleToggleItem(itemIndex),
1752
+ isMenuOpen: isMenuOpen,
1753
+ shouldCloseMenuFly: shouldCloseMenuFly,
1754
+ projectPermissions: projectPermissions,
1755
+ menuVisibilities: menuVisibilities,
1756
+ applicationLocale: applicationLocale,
1757
+ projectKey: props.projectKey,
1758
+ useFullRedirectsForLinks: useFullRedirectsForLinks,
1759
+ onMenuItemClick: props.onMenuItemClick
1760
+ }, menu.key);
1761
+ }), jsxRuntime.jsx(MenuItemDivider, {}), _mapInstanceProperty__default["default"](allCustomApplicationsNavbarMenu).call(allCustomApplicationsNavbarMenu, menu => {
1762
+ const menuType = 'scrollable';
1763
+ const itemIndex = "".concat(menuType, "-").concat(menu.key);
1764
+ return jsxRuntime.jsx(ApplicationMenu, {
1765
+ location: location,
1766
+ menu: menu,
1767
+ isActive: activeItemIndex === itemIndex,
1768
+ handleToggleItem: () => handleToggleItem(itemIndex),
1769
+ isMenuOpen: isMenuOpen,
1770
+ shouldCloseMenuFly: shouldCloseMenuFly,
1771
+ projectPermissions: projectPermissions,
1772
+ menuVisibilities: menuVisibilities,
1773
+ applicationLocale: applicationLocale,
1774
+ projectKey: props.projectKey,
1775
+ useFullRedirectsForLinks: useFullRedirectsForLinks,
1776
+ onMenuItemClick: props.onMenuItemClick
1777
+ }, menu.key);
1778
+ })]
1779
+ }), jsxRuntime.jsxs("div", {
1780
+ className: styles['fixed-menu'],
1781
+ children: [jsxRuntime.jsx(Faded, {}), jsxRuntime.jsx(MenuItem, {
1782
+ hasSubmenu: false,
1783
+ isActive: false,
1784
+ isMenuOpen: isMenuOpen,
1785
+ onClick: () => {
1786
+ handleToggleItem('fixed-support');
1787
+ },
1788
+ onMouseEnter: isMenuOpen ? undefined : () => handleToggleItem('fixed-support'),
1789
+ onMouseLeave: isMenuOpen ? undefined : shouldCloseMenuFly,
1790
+ children: jsxRuntime.jsx("a", {
1791
+ href: constants.SUPPORT_PORTAL_URL,
1792
+ rel: "noopener noreferrer",
1793
+ target: "_blank",
1794
+ children: jsxRuntime.jsxs("div", {
1795
+ className: styles['item-icon-text'],
1796
+ children: [jsxRuntime.jsx("div", {
1797
+ className: styles['icon-container'],
1798
+ children: jsxRuntime.jsx("div", {
1799
+ className: classnames__default["default"](styles.icon, {
1800
+ [styles.icon__active]: activeItemIndex === 'fixed-support'
1801
+ }),
1802
+ children: jsxRuntime.jsx(icons.SupportIcon, {
1803
+ size: "scale"
1804
+ })
1805
+ })
1806
+ }), jsxRuntime.jsx("div", {
1807
+ className: styles.title,
1808
+ children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$1({}, messages['NavBar.MCSupport.title']))
1809
+ })]
1810
+ })
1811
+ })
1812
+ }), jsxRuntime.jsx(MenuExpander, {
1813
+ isVisible: isExpanderVisible,
1814
+ onClick: handleToggleMenu,
1815
+ isMenuOpen: isMenuOpen
1816
+ })]
1817
+ })]
1818
+ })
1819
+ });
1820
+ };
1821
+ NavBar$1.propTypes = {};
1822
+ NavBar$1.displayName = 'NavBar';
1823
+
1824
+ function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
1825
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1826
+ const NavBar = props => {
1827
+ if (!props.isNewNavigationEnabled) {
1828
+ return jsxRuntime.jsx(NavBar$1, _objectSpread({}, props));
1829
+ }
1830
+ return jsxRuntime.jsx(NavBar$2, _objectSpread({}, props));
1831
+ };
1832
+ NavBar.displayName = 'NavBar';
1833
+
1834
+ exports["default"] = NavBar;