@commercetools-frontend/application-shell 22.7.0 → 22.8.0

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