@commercetools-frontend/application-shell 21.23.9 → 21.24.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.
- package/dist/application-entry-point-2a64a561.cjs.dev.js +116 -0
- package/dist/application-entry-point-3bb7f8bd.cjs.prod.js +99 -0
- package/dist/application-entry-point-58dd4b7f.esm.js +101 -0
- package/dist/{box-dd9e7e68.esm.js → box-4395623b.esm.js} +1 -3
- package/dist/{box-fdb2ccb6.cjs.dev.js → box-6b5be9a9.cjs.dev.js} +1 -3
- package/dist/{box-d849ea03.cjs.prod.js → box-8850277f.cjs.prod.js} +1 -3
- package/dist/{cart-ad0aba9b.cjs.prod.js → cart-0698b97d.cjs.prod.js} +1 -3
- package/dist/{cart-b92f3a8e.cjs.dev.js → cart-41f0b7bc.cjs.dev.js} +1 -3
- package/dist/{cart-167fea3b.esm.js → cart-a49faf67.esm.js} +1 -3
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +49 -68
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +49 -68
- package/dist/commercetools-frontend-application-shell.esm.js +39 -58
- package/dist/configure-apollo-1f39e35a.cjs.dev.js +930 -0
- package/dist/configure-apollo-5f1fd942.esm.js +873 -0
- package/dist/configure-apollo-d11de242.cjs.prod.js +922 -0
- package/dist/{connected-square-4743b7de.esm.js → connected-square-3cac6bd7.esm.js} +1 -3
- package/dist/connected-square-47233754.cjs.dev.js +32 -0
- package/dist/connected-square-b2e25621.cjs.prod.js +32 -0
- package/dist/{constants-69249abd.esm.js → constants-7f04db3f.esm.js} +9 -9
- package/dist/{constants-88fb9ef8.cjs.prod.js → constants-e6409334.cjs.prod.js} +8 -8
- package/dist/{constants-c2d56f3d.cjs.dev.js → constants-e6f058e5.cjs.dev.js} +8 -8
- package/dist/declarations/src/apollo-links/utils.d.ts +2 -2
- package/dist/declarations/src/components/application-entry-point/application-entry-point.d.ts +4 -4
- package/dist/declarations/src/components/application-shell/application-shell.d.ts +7 -15
- package/dist/declarations/src/components/application-shell-authenticated/application-shell-authenticated.d.ts +21 -0
- package/dist/declarations/src/components/application-shell-provider/application-shell-provider.d.ts +6 -7
- package/dist/declarations/src/components/application-shell-provider/use-coerced-environment-values.d.ts +1 -23
- package/dist/declarations/src/components/authenticated/authenticated.d.ts +2 -2
- package/dist/declarations/src/components/authenticated/oidc-callback.async.d.ts +6 -0
- package/dist/declarations/src/components/authenticated/oidc-callback.d.ts +2 -2
- package/dist/declarations/src/components/configure-intl-provider/configure-intl-provider.d.ts +1 -1
- package/dist/declarations/src/components/error-apologizer/index.d.ts +6 -1
- package/dist/declarations/src/components/fetch-project/fetch-project.d.ts +4 -4
- package/dist/declarations/src/components/fetch-user/fetch-user.d.ts +3 -3
- package/dist/declarations/src/components/inject-reducers/inject-reducers.d.ts +1 -1
- package/dist/declarations/src/components/navbar/index.d.ts +100 -1
- package/dist/declarations/src/components/navbar/loading-navbar.d.ts +5 -0
- package/dist/declarations/src/components/navbar/menu-items.d.ts +99 -0
- package/dist/declarations/src/components/navbar/navbar.d.ts +6 -15
- package/dist/declarations/src/components/project-container/index.d.ts +78 -1
- package/dist/declarations/src/components/project-container/project-container.d.ts +6 -8
- package/dist/declarations/src/components/quick-access/butler-command/butler-command.d.ts +1 -1
- package/dist/declarations/src/components/quick-access/index.d.ts +2 -2
- package/dist/declarations/src/components/quick-access/types.d.ts +1 -1
- package/dist/declarations/src/components/redirect-to-login/index.d.ts +6 -0
- package/dist/declarations/src/components/redirect-to-logout/index.d.ts +5 -0
- package/dist/declarations/src/components/redirect-to-project-create/index.d.ts +6 -1
- package/dist/declarations/src/components/requests-in-flight-loader/index.d.ts +6 -1
- package/dist/declarations/src/components/route-catch-all/index.d.ts +3 -1
- package/dist/declarations/src/components/setup-flop-flip-provider/setup-flop-flip-provider.d.ts +3 -3
- package/dist/declarations/src/components/suspended-route/suspended-route.d.ts +1 -1
- package/dist/declarations/src/components/user-settings-menu/index.d.ts +12 -1
- package/dist/declarations/src/components/version-tracker/index.d.ts +6 -1
- package/dist/declarations/src/hooks/apollo-hooks/apollo-hooks.d.ts +1 -1
- package/dist/declarations/src/test-utils/test-utils.d.ts +2 -2
- package/dist/declarations/src/types/generated/mc.d.ts +3 -3
- package/dist/declarations/src/utils/get-mc-origin/get-mc-origin.d.ts +2 -0
- package/dist/declarations/src/utils/get-mc-origin/index.d.ts +1 -0
- package/dist/error-apologizer-c336db61.cjs.dev.js +56 -0
- package/dist/error-apologizer-c55ec6f7.cjs.prod.js +56 -0
- package/dist/error-apologizer-f8772b68.esm.js +42 -0
- package/dist/gear-2890f7fb.cjs.prod.js +32 -0
- package/dist/{gear-8418cd46.esm.js → gear-300dd24c.esm.js} +1 -3
- package/dist/gear-e8014c5a.cjs.dev.js +32 -0
- package/dist/get-mc-origin-314b77a2.cjs.dev.js +57 -0
- package/dist/get-mc-origin-5df60933.esm.js +50 -0
- package/dist/get-mc-origin-7968e04f.cjs.prod.js +57 -0
- package/dist/heart-000a023d.cjs.prod.js +32 -0
- package/dist/{heart-48c28091.esm.js → heart-dded66b4.esm.js} +1 -3
- package/dist/heart-f21b7d39.cjs.dev.js +32 -0
- package/dist/index-5048bf47.cjs.dev.js +3054 -0
- package/dist/index-b002eca6.esm.js +2970 -0
- package/dist/index-e0ab178f.cjs.prod.js +2870 -0
- package/dist/{list-with-search-c154a56e.esm.js → list-with-search-a3302710.esm.js} +1 -3
- package/dist/list-with-search-a5b72b33.cjs.prod.js +32 -0
- package/dist/list-with-search-ee796e9e.cjs.dev.js +32 -0
- package/dist/navbar-40650ed4.cjs.dev.js +670 -0
- package/dist/navbar-997b4a36.cjs.prod.js +649 -0
- package/dist/navbar-f4b482d0.esm.js +650 -0
- package/dist/oidc-0638d0c8.cjs.dev.js +67 -0
- package/dist/oidc-10fa96f0.esm.js +59 -0
- package/dist/oidc-540a091a.cjs.prod.js +67 -0
- package/dist/oidc-callback-1047744c.cjs.dev.js +254 -0
- package/dist/oidc-callback-b32405ab.cjs.prod.js +251 -0
- package/dist/oidc-callback-e2ca889b.esm.js +240 -0
- package/dist/paperclip-23d1e69c.cjs.prod.js +32 -0
- package/dist/{paperclip-18785dda.esm.js → paperclip-a61112e8.esm.js} +1 -3
- package/dist/paperclip-d653c134.cjs.dev.js +32 -0
- package/dist/plugin-0ee6aee4.cjs.dev.js +32 -0
- package/dist/{plugin-53c047bb.esm.js → plugin-3d353a5b.esm.js} +1 -3
- package/dist/plugin-7e57f237.cjs.prod.js +32 -0
- package/dist/project-container-05a4e261.esm.js +368 -0
- package/dist/project-container-1cf9964e.cjs.dev.js +387 -0
- package/dist/project-container-65fccf05.cjs.prod.js +369 -0
- package/dist/{project-expired-b84abd3a.esm.js → project-expired-0d18d9ef.esm.js} +47 -68
- package/dist/{project-expired-0c72c956.cjs.dev.js → project-expired-b8480245.cjs.dev.js} +47 -68
- package/dist/{project-expired-0f9d4a23.cjs.prod.js → project-expired-e757e66c.cjs.prod.js} +47 -68
- package/dist/{project-not-found-14dc05c1.cjs.dev.js → project-not-found-1b4527b4.cjs.dev.js} +42 -61
- package/dist/{project-not-found-8002ba67.esm.js → project-not-found-4bc57bab.esm.js} +42 -61
- package/dist/{project-not-found-419be633.cjs.prod.js → project-not-found-6808c525.cjs.prod.js} +42 -61
- package/dist/{project-not-initialized-cd8e8160.cjs.dev.js → project-not-initialized-3351f8b7.cjs.prod.js} +47 -68
- package/dist/{project-not-initialized-3a477d13.esm.js → project-not-initialized-5eef98f9.esm.js} +47 -68
- package/dist/{project-not-initialized-10cbf15a.cjs.prod.js → project-not-initialized-d13a6be3.cjs.dev.js} +47 -68
- package/dist/{project-suspended-243ddda8.cjs.dev.js → project-suspended-4ed362c3.cjs.prod.js} +44 -63
- package/dist/{project-suspended-50c6dd60.esm.js → project-suspended-7843e028.esm.js} +44 -63
- package/dist/{project-suspended-dffcecd1.cjs.prod.js → project-suspended-c5b996b0.cjs.dev.js} +44 -63
- package/dist/quick-access-3acb2b6a.cjs.dev.js +1937 -0
- package/dist/{quick-access-fc734889.cjs.prod.js → quick-access-5c5074c7.cjs.prod.js} +573 -957
- package/dist/quick-access-fdb9024d.esm.js +1907 -0
- package/dist/redirect-to-login-5ac864e2.cjs.prod.js +149 -0
- package/dist/redirect-to-login-80d7ff2f.cjs.dev.js +149 -0
- package/dist/redirect-to-login-824d52b9.esm.js +147 -0
- package/dist/redirect-to-logout-6df9b79c.esm.js +138 -0
- package/dist/redirect-to-logout-7d5c817e.cjs.prod.js +151 -0
- package/dist/redirect-to-logout-a78f7193.cjs.dev.js +151 -0
- package/dist/redirect-to-project-create-048efa71.cjs.prod.js +61 -0
- package/dist/redirect-to-project-create-052f293e.esm.js +52 -0
- package/dist/redirect-to-project-create-f0e7b35e.cjs.dev.js +61 -0
- package/dist/{gear-28ff4f04.cjs.dev.js → redirector-0d98f9df.cjs.dev.js} +44 -5
- package/dist/redirector-47a6be71.esm.js +58 -0
- package/dist/{gear-6f8c30e3.cjs.prod.js → redirector-77ce2f5c.cjs.prod.js} +44 -5
- package/dist/requests-in-flight-loader-3bc8dd8a.cjs.dev.js +144 -0
- package/dist/requests-in-flight-loader-c3e4205b.cjs.prod.js +144 -0
- package/dist/requests-in-flight-loader-fe4c165f.esm.js +129 -0
- package/dist/rocket-3e3f0a98.cjs.prod.js +32 -0
- package/dist/{rocket-ba116b5e.esm.js → rocket-4b088727.esm.js} +1 -3
- package/dist/rocket-95b6858d.cjs.dev.js +32 -0
- package/dist/route-catch-all-01cf0095.esm.js +41 -0
- package/dist/route-catch-all-3b490df1.cjs.prod.js +43 -0
- package/dist/route-catch-all-9ac99936.cjs.dev.js +43 -0
- package/dist/{service-page-project-switcher-e3195b51.cjs.prod.js → service-page-project-switcher-6865e150.cjs.prod.js} +5 -7
- package/dist/{service-page-project-switcher-fa253254.cjs.dev.js → service-page-project-switcher-e8a7e5d7.cjs.dev.js} +6 -8
- package/dist/{service-page-project-switcher-6c39bf55.esm.js → service-page-project-switcher-fcc8d186.esm.js} +6 -8
- package/dist/{speedometer-c1b94505.esm.js → speedometer-08a11d5a.esm.js} +1 -3
- package/dist/speedometer-2881cef6.cjs.prod.js +32 -0
- package/dist/speedometer-54f872f2.cjs.dev.js +32 -0
- package/dist/{star-da9123e0.esm.js → star-15244db1.esm.js} +1 -3
- package/dist/star-52bf7a64.cjs.dev.js +32 -0
- package/dist/star-f8502efb.cjs.prod.js +32 -0
- package/dist/tag-multi-1d1553b6.cjs.dev.js +32 -0
- package/dist/{tag-multi-c650b738.esm.js → tag-multi-3be995ac.esm.js} +1 -3
- package/dist/tag-multi-f9acb1c2.cjs.prod.js +32 -0
- package/dist/tree-structure-4650688d.cjs.dev.js +32 -0
- package/dist/{tree-structure-6af6fc3a.esm.js → tree-structure-c8753526.esm.js} +1 -3
- package/dist/tree-structure-f24ee3f6.cjs.prod.js +32 -0
- package/dist/use-applications-menu-1925f36a.esm.js +172 -0
- package/dist/use-applications-menu-7e438b2a.cjs.prod.js +188 -0
- package/dist/use-applications-menu-f6f68bf7.cjs.dev.js +188 -0
- package/dist/use-is-served-by-proxy-2b4916e5.cjs.dev.js +42 -0
- package/dist/use-is-served-by-proxy-499bfa16.esm.js +39 -0
- package/dist/use-is-served-by-proxy-51e76976.cjs.prod.js +42 -0
- package/dist/{user-filled-41729d77.esm.js → user-filled-2dc4e79e.esm.js} +1 -3
- package/dist/user-filled-2e6cb25e.cjs.dev.js +32 -0
- package/dist/user-filled-815b49a0.cjs.prod.js +32 -0
- package/dist/user-settings-menu-96de467a.cjs.prod.js +496 -0
- package/dist/user-settings-menu-d831de89.esm.js +497 -0
- package/dist/user-settings-menu-e38c73ac.cjs.dev.js +523 -0
- package/dist/version-tracker-51646901.cjs.prod.js +107 -0
- package/dist/version-tracker-57ea3aa1.cjs.dev.js +107 -0
- package/dist/version-tracker-afb522da.esm.js +101 -0
- package/dist/world-973090a5.cjs.dev.js +32 -0
- package/dist/{world-d91df1ee.esm.js → world-c5ea311a.esm.js} +1 -3
- package/dist/world-e1f9dbf8.cjs.prod.js +32 -0
- package/package.json +39 -39
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +2 -3
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +2 -3
- package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +2 -3
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +182 -215
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +182 -215
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +173 -206
- package/dist/application-entry-point-180dbaa1.cjs.prod.js +0 -1225
- package/dist/application-entry-point-55376ed2.esm.js +0 -1180
- package/dist/application-entry-point-63abd0c1.cjs.dev.js +0 -1250
- package/dist/connected-square-abf36852.cjs.prod.js +0 -34
- package/dist/connected-square-ac52014f.cjs.dev.js +0 -34
- package/dist/declarations/src/components/application-shell/helpers.d.ts +0 -1
- package/dist/heart-33cd94c6.cjs.prod.js +0 -34
- package/dist/heart-fb31cf30.cjs.dev.js +0 -34
- package/dist/index-27953285.esm.js +0 -4809
- package/dist/index-4508ebb0.cjs.prod.js +0 -4643
- package/dist/index-d693db30.cjs.dev.js +0 -4888
- package/dist/list-with-search-34cd926c.cjs.dev.js +0 -34
- package/dist/list-with-search-a0b22169.cjs.prod.js +0 -34
- package/dist/oidc-1c91f5ee.cjs.prod.js +0 -67
- package/dist/oidc-5b2e4f8f.cjs.dev.js +0 -67
- package/dist/oidc-77749f1b.esm.js +0 -59
- package/dist/paperclip-2cd45b86.cjs.dev.js +0 -34
- package/dist/paperclip-b1b806ab.cjs.prod.js +0 -34
- package/dist/plugin-7cb7827e.cjs.dev.js +0 -34
- package/dist/plugin-e97ae3e6.cjs.prod.js +0 -34
- package/dist/quick-access-1b241811.cjs.dev.js +0 -2321
- package/dist/quick-access-6159845a.esm.js +0 -2290
- package/dist/rocket-37c1aa11.cjs.dev.js +0 -34
- package/dist/rocket-b2dbda7f.cjs.prod.js +0 -34
- package/dist/speedometer-13b393fb.cjs.dev.js +0 -34
- package/dist/speedometer-1e69fd13.cjs.prod.js +0 -34
- package/dist/star-ab4be629.cjs.prod.js +0 -34
- package/dist/star-e165111e.cjs.dev.js +0 -34
- package/dist/tag-multi-5f498a7d.cjs.dev.js +0 -34
- package/dist/tag-multi-fb817131.cjs.prod.js +0 -34
- package/dist/tree-structure-779fcc36.cjs.prod.js +0 -34
- package/dist/tree-structure-ed6cdff8.cjs.dev.js +0 -34
- package/dist/user-filled-384a2eaf.cjs.prod.js +0 -34
- package/dist/user-filled-53d2eae0.cjs.dev.js +0 -34
- package/dist/world-12528632.cjs.prod.js +0 -34
- package/dist/world-6471d9f6.cjs.dev.js +0 -34
- /package/dist/declarations/src/components/{application-shell → redirect-to-login}/redirect-to-login.d.ts +0 -0
- /package/dist/declarations/src/components/{application-shell → redirect-to-logout}/redirect-to-logout.d.ts +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { useApplicationContext } from '@commercetools-frontend/application-shell-connectors';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* NOTE
|
|
5
|
+
* This module wraps `replace` and `reload` from the window's location.
|
|
6
|
+
* This mainly helps in tests as we often expect that a reload or
|
|
7
|
+
* replace on the location happened.
|
|
8
|
+
* In previous code we could just overwrite the properties by:
|
|
9
|
+
* `window.location.replace = jest.fn()`
|
|
10
|
+
* This will fail in never versions of JSDOM (e.g. v16) as these
|
|
11
|
+
* properties are not writable anymore. JSDOM follows the browser standards
|
|
12
|
+
* which also state that these should not be writable.
|
|
13
|
+
* There are different options to solve this:
|
|
14
|
+
* 1. Extract those functions as a module an use `jest.mock` to mock them under test
|
|
15
|
+
* 2. Use `Object.defineProperty` to overwrite the property
|
|
16
|
+
* - The community opinion is that this is not preferred and does
|
|
17
|
+
* not work in all cases
|
|
18
|
+
* 3. Delete the property via `delete window.location` to re-create it after
|
|
19
|
+
* - This is quite repetiive and noisy in tests and can also remote
|
|
20
|
+
* other properties from under location
|
|
21
|
+
* Given option 2. and 3. being quite noisy on tests and against working with
|
|
22
|
+
* the stndards of the browser we will use 1. Here we only utilise the module
|
|
23
|
+
* mocking system of Jest and no other trickery.
|
|
24
|
+
* */
|
|
25
|
+
const replace = url => window.location.replace(url);
|
|
26
|
+
|
|
27
|
+
const reload = () => window.location.reload();
|
|
28
|
+
|
|
29
|
+
const location = {
|
|
30
|
+
replace,
|
|
31
|
+
reload
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const useIsServedByProxy = () => {
|
|
35
|
+
const servedByProxy = useApplicationContext(context => context.environment.servedByProxy);
|
|
36
|
+
return servedByProxy;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export { location as l, useIsServedByProxy as u };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* NOTE
|
|
7
|
+
* This module wraps `replace` and `reload` from the window's location.
|
|
8
|
+
* This mainly helps in tests as we often expect that a reload or
|
|
9
|
+
* replace on the location happened.
|
|
10
|
+
* In previous code we could just overwrite the properties by:
|
|
11
|
+
* `window.location.replace = jest.fn()`
|
|
12
|
+
* This will fail in never versions of JSDOM (e.g. v16) as these
|
|
13
|
+
* properties are not writable anymore. JSDOM follows the browser standards
|
|
14
|
+
* which also state that these should not be writable.
|
|
15
|
+
* There are different options to solve this:
|
|
16
|
+
* 1. Extract those functions as a module an use `jest.mock` to mock them under test
|
|
17
|
+
* 2. Use `Object.defineProperty` to overwrite the property
|
|
18
|
+
* - The community opinion is that this is not preferred and does
|
|
19
|
+
* not work in all cases
|
|
20
|
+
* 3. Delete the property via `delete window.location` to re-create it after
|
|
21
|
+
* - This is quite repetiive and noisy in tests and can also remote
|
|
22
|
+
* other properties from under location
|
|
23
|
+
* Given option 2. and 3. being quite noisy on tests and against working with
|
|
24
|
+
* the stndards of the browser we will use 1. Here we only utilise the module
|
|
25
|
+
* mocking system of Jest and no other trickery.
|
|
26
|
+
* */
|
|
27
|
+
const replace = url => window.location.replace(url);
|
|
28
|
+
|
|
29
|
+
const reload = () => window.location.reload();
|
|
30
|
+
|
|
31
|
+
const location = {
|
|
32
|
+
replace,
|
|
33
|
+
reload
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const useIsServedByProxy = () => {
|
|
37
|
+
const servedByProxy = applicationShellConnectors.useApplicationContext(context => context.environment.servedByProxy);
|
|
38
|
+
return servedByProxy;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
exports.location = location;
|
|
42
|
+
exports.useIsServedByProxy = useIsServedByProxy;
|
|
@@ -14,8 +14,6 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (
|
|
|
14
14
|
|
|
15
15
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
return jsx(UserFilledIcon, _objectSpread({}, props));
|
|
19
|
-
};
|
|
17
|
+
const Icon = props => jsx(UserFilledIcon, _objectSpread({}, props));
|
|
20
18
|
|
|
21
19
|
export { Icon as default };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
4
|
+
var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
|
|
5
|
+
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
6
|
+
var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
|
|
7
|
+
var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
|
|
8
|
+
var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
|
|
9
|
+
var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
|
|
10
|
+
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
11
|
+
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
12
|
+
var icons = require('@commercetools-uikit/icons');
|
|
13
|
+
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
14
|
+
|
|
15
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
16
|
+
|
|
17
|
+
var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
|
|
18
|
+
var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
|
|
19
|
+
var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
|
|
20
|
+
var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
|
|
21
|
+
var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
|
|
22
|
+
var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
|
|
23
|
+
var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
|
|
24
|
+
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
25
|
+
|
|
26
|
+
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; }
|
|
27
|
+
|
|
28
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
29
|
+
|
|
30
|
+
const Icon = props => jsxRuntime.jsx(icons.UserFilledIcon, _objectSpread({}, props));
|
|
31
|
+
|
|
32
|
+
exports["default"] = Icon;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
4
|
+
var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
|
|
5
|
+
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
6
|
+
var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
|
|
7
|
+
var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
|
|
8
|
+
var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
|
|
9
|
+
var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
|
|
10
|
+
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
11
|
+
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
12
|
+
var icons = require('@commercetools-uikit/icons');
|
|
13
|
+
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
14
|
+
|
|
15
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
16
|
+
|
|
17
|
+
var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
|
|
18
|
+
var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
|
|
19
|
+
var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
|
|
20
|
+
var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
|
|
21
|
+
var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
|
|
22
|
+
var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
|
|
23
|
+
var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
|
|
24
|
+
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
25
|
+
|
|
26
|
+
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; }
|
|
27
|
+
|
|
28
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
29
|
+
|
|
30
|
+
const Icon = props => jsxRuntime.jsx(icons.UserFilledIcon, _objectSpread({}, props));
|
|
31
|
+
|
|
32
|
+
exports["default"] = Icon;
|
|
@@ -0,0 +1,496 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
4
|
+
var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
|
|
5
|
+
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
6
|
+
var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
|
|
7
|
+
var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
|
|
8
|
+
var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
|
|
9
|
+
var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
|
|
10
|
+
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
11
|
+
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
12
|
+
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
13
|
+
var _styled = require('@emotion/styled/base');
|
|
14
|
+
require('prop-types');
|
|
15
|
+
var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
|
|
16
|
+
var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
|
|
17
|
+
var _trimInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/trim');
|
|
18
|
+
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
19
|
+
var react = require('react');
|
|
20
|
+
var react$1 = require('@emotion/react');
|
|
21
|
+
var reactBroadcast = require('@flopflip/react-broadcast');
|
|
22
|
+
var Downshift = require('downshift');
|
|
23
|
+
var reactIntl = require('react-intl');
|
|
24
|
+
var reactRouterDom = require('react-router-dom');
|
|
25
|
+
var applicationComponents = require('@commercetools-frontend/application-components');
|
|
26
|
+
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
27
|
+
var constants = require('@commercetools-frontend/constants');
|
|
28
|
+
var sentry = require('@commercetools-frontend/sentry');
|
|
29
|
+
var AccessibleHidden = require('@commercetools-uikit/accessible-hidden');
|
|
30
|
+
var Avatar = require('@commercetools-uikit/avatar');
|
|
31
|
+
var designSystem = require('@commercetools-uikit/design-system');
|
|
32
|
+
var icons = require('@commercetools-uikit/icons');
|
|
33
|
+
var Spacings = require('@commercetools-uikit/spacings');
|
|
34
|
+
var Text = require('@commercetools-uikit/text');
|
|
35
|
+
var constants$1 = require('./constants-e6409334.cjs.prod.js');
|
|
36
|
+
var useApplicationsMenu = require('./use-applications-menu-7e438b2a.cjs.prod.js');
|
|
37
|
+
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
38
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
39
|
+
require('@apollo/client');
|
|
40
|
+
require('./index-e0ab178f.cjs.prod.js');
|
|
41
|
+
require('./configure-apollo-d11de242.cjs.prod.js');
|
|
42
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
|
43
|
+
require('@babel/runtime-corejs3/core-js-stable/object/entries');
|
|
44
|
+
require('@babel/runtime-corejs3/core-js-stable/reflect/has');
|
|
45
|
+
require('@reduxjs/toolkit');
|
|
46
|
+
require('lodash/mapValues');
|
|
47
|
+
require('omit-empty-es');
|
|
48
|
+
require('redux-thunk');
|
|
49
|
+
require('@commercetools-frontend/notifications');
|
|
50
|
+
require('@commercetools-frontend/sdk');
|
|
51
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
|
|
52
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/slice');
|
|
53
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/includes');
|
|
54
|
+
require('@commercetools-frontend/react-notifications');
|
|
55
|
+
require('redux-logger');
|
|
56
|
+
require('@babel/runtime-corejs3/core-js-stable/url');
|
|
57
|
+
require('apollo-link-logger');
|
|
58
|
+
require('@apollo/client/link/error');
|
|
59
|
+
require('@commercetools-frontend/browser-history');
|
|
60
|
+
require('@babel/runtime-corejs3/core-js-stable/array/is-array');
|
|
61
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/some');
|
|
62
|
+
require('@babel/runtime-corejs3/core-js-stable/object/values');
|
|
63
|
+
require('@commercetools/http-user-agent');
|
|
64
|
+
require('uuid');
|
|
65
|
+
require('@babel/runtime-corejs3/core-js-stable/reflect/construct');
|
|
66
|
+
require('@babel/runtime-corejs3/helpers/createClass');
|
|
67
|
+
require('@babel/runtime-corejs3/helpers/classCallCheck');
|
|
68
|
+
require('@babel/runtime-corejs3/helpers/assertThisInitialized');
|
|
69
|
+
require('@babel/runtime-corejs3/helpers/inherits');
|
|
70
|
+
require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
|
|
71
|
+
require('@babel/runtime-corejs3/helpers/getPrototypeOf');
|
|
72
|
+
require('@babel/runtime-corejs3/helpers/wrapNativeSuper');
|
|
73
|
+
require('@babel/runtime-corejs3/core-js-stable/json/stringify');
|
|
74
|
+
require('@apollo/client/link/retry');
|
|
75
|
+
require('@commercetools-frontend/i18n');
|
|
76
|
+
require('@commercetools-frontend/assets/images/logo.svg');
|
|
77
|
+
require('@commercetools-uikit/flat-button');
|
|
78
|
+
require('./use-is-served-by-proxy-51e76976.cjs.prod.js');
|
|
79
|
+
require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
|
|
80
|
+
require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
|
|
81
|
+
require('memoize-one');
|
|
82
|
+
require('@commercetools-uikit/select-input');
|
|
83
|
+
require('@apollo/client/react');
|
|
84
|
+
require('@commercetools-frontend/assets/images/ct-logo.svg');
|
|
85
|
+
require('@commercetools-uikit/loading-spinner');
|
|
86
|
+
require('@commercetools-frontend/l10n');
|
|
87
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/reverse');
|
|
88
|
+
require('lodash/camelCase');
|
|
89
|
+
require('@babel/runtime-corejs3/core-js-stable/array/from');
|
|
90
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/every');
|
|
91
|
+
require('classnames');
|
|
92
|
+
require('@commercetools-frontend/assets/images/diagonal-line.svg');
|
|
93
|
+
require('@commercetools-frontend/permissions');
|
|
94
|
+
require('@commercetools-uikit/icons/inline-svg');
|
|
95
|
+
require('lodash/isNil');
|
|
96
|
+
require('@babel/runtime-corejs3/core-js-stable/object/from-entries');
|
|
97
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/flags');
|
|
98
|
+
require('@flopflip/combine-adapters');
|
|
99
|
+
require('@flopflip/http-adapter');
|
|
100
|
+
require('@flopflip/launchdarkly-adapter');
|
|
101
|
+
require('perfume.js');
|
|
102
|
+
require('react-redux');
|
|
103
|
+
require('lodash/upperFirst');
|
|
104
|
+
require('./oidc-540a091a.cjs.prod.js');
|
|
105
|
+
require('@commercetools-uikit/design-system/materials/resets.css');
|
|
106
|
+
require('@commercetools-frontend/actions-global');
|
|
107
|
+
require('@commercetools-frontend/application-config/ssr');
|
|
108
|
+
|
|
109
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
110
|
+
|
|
111
|
+
var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
|
|
112
|
+
var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
|
|
113
|
+
var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
|
|
114
|
+
var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
|
|
115
|
+
var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
|
|
116
|
+
var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
|
|
117
|
+
var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
|
|
118
|
+
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
119
|
+
var _styled__default = /*#__PURE__*/_interopDefault(_styled);
|
|
120
|
+
var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
|
|
121
|
+
var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
|
|
122
|
+
var _trimInstanceProperty__default = /*#__PURE__*/_interopDefault(_trimInstanceProperty);
|
|
123
|
+
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
124
|
+
var Downshift__default = /*#__PURE__*/_interopDefault(Downshift);
|
|
125
|
+
var AccessibleHidden__default = /*#__PURE__*/_interopDefault(AccessibleHidden);
|
|
126
|
+
var Avatar__default = /*#__PURE__*/_interopDefault(Avatar);
|
|
127
|
+
var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
|
|
128
|
+
var Text__default = /*#__PURE__*/_interopDefault(Text);
|
|
129
|
+
|
|
130
|
+
var messages = reactIntl.defineMessages({
|
|
131
|
+
support: {
|
|
132
|
+
id: 'UserSettingsMenu.support',
|
|
133
|
+
description: 'The label for Support',
|
|
134
|
+
defaultMessage: 'Support'
|
|
135
|
+
},
|
|
136
|
+
logout: {
|
|
137
|
+
id: 'UserSettingsMenu.logout',
|
|
138
|
+
description: 'The label for logout option',
|
|
139
|
+
defaultMessage: 'Logout'
|
|
140
|
+
},
|
|
141
|
+
privacyPolicy: {
|
|
142
|
+
id: 'UserSettingsMenu.privacyPolicy',
|
|
143
|
+
description: 'The label for privacy policy option',
|
|
144
|
+
defaultMessage: 'Privacy Policy'
|
|
145
|
+
},
|
|
146
|
+
menuLabel: {
|
|
147
|
+
id: 'UserSettingsMenu.menuLabel',
|
|
148
|
+
description: 'The label describing the menu',
|
|
149
|
+
defaultMessage: 'User settings menu'
|
|
150
|
+
},
|
|
151
|
+
openMenuLabel: {
|
|
152
|
+
id: 'UserSettingsMenu.openMenuLabel',
|
|
153
|
+
description: 'The label when menu is closed and would be opened by a click',
|
|
154
|
+
defaultMessage: 'Open user settings menu'
|
|
155
|
+
},
|
|
156
|
+
closeMenuLabel: {
|
|
157
|
+
id: 'UserSettingsMenu.closeMenuLabel',
|
|
158
|
+
description: 'The label when menu is open and would be closed by a click',
|
|
159
|
+
defaultMessage: 'Close user settings menu'
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
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; }
|
|
164
|
+
|
|
165
|
+
function _objectSpread(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(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(Object(source))).call(_context5, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
166
|
+
const MENU_LABEL_ID = 'user-menu-setting-menu-label';
|
|
167
|
+
|
|
168
|
+
const UserAvatar = props => {
|
|
169
|
+
const _useState = react.useState(false),
|
|
170
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
171
|
+
isMouseOver = _useState2[0],
|
|
172
|
+
setIsMouseOver = _useState2[1];
|
|
173
|
+
|
|
174
|
+
const handleMouseOver = react.useCallback(() => {
|
|
175
|
+
setIsMouseOver(true);
|
|
176
|
+
}, []);
|
|
177
|
+
const handleMouseOut = react.useCallback(() => {
|
|
178
|
+
setIsMouseOver(false);
|
|
179
|
+
}, []);
|
|
180
|
+
|
|
181
|
+
const _useTheme = designSystem.useTheme(),
|
|
182
|
+
isNewTheme = _useTheme.isNewTheme,
|
|
183
|
+
themedValue = _useTheme.themedValue;
|
|
184
|
+
|
|
185
|
+
return jsxRuntime.jsx("div", {
|
|
186
|
+
onMouseOver: handleMouseOver,
|
|
187
|
+
onMouseOut: handleMouseOut,
|
|
188
|
+
children: jsxRuntime.jsxs(Spacings__default["default"].Inline, {
|
|
189
|
+
alignItems: "center",
|
|
190
|
+
children: [jsxRuntime.jsx(Avatar__default["default"], {
|
|
191
|
+
size: themedValue('s', 'm'),
|
|
192
|
+
gravatarHash: props.gravatarHash,
|
|
193
|
+
firstName: props.firstName,
|
|
194
|
+
lastName: props.lastName,
|
|
195
|
+
isHighlighted: isMouseOver
|
|
196
|
+
}), isNewTheme ? null : jsxRuntime.jsx(icons.CaretDownIcon, {
|
|
197
|
+
size: "small",
|
|
198
|
+
color: isMouseOver ? 'neutral60' : 'solid'
|
|
199
|
+
})]
|
|
200
|
+
})
|
|
201
|
+
});
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
UserAvatar.displayName = 'UserAvatar';
|
|
205
|
+
|
|
206
|
+
function getIsFocusedElementInMenu() {
|
|
207
|
+
var _document$activeEleme;
|
|
208
|
+
|
|
209
|
+
return Boolean((_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.getAttribute('data-user-settings-menu'));
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
const stateReducer = (state, changes) => {
|
|
213
|
+
var _ref3;
|
|
214
|
+
|
|
215
|
+
switch (changes.type) {
|
|
216
|
+
// So in case the user wants to navigate with the tab button
|
|
217
|
+
// we need to make sure that the menu does not close
|
|
218
|
+
case Downshift__default["default"].stateChangeTypes.blurButton:
|
|
219
|
+
return _objectSpread(_objectSpread({}, changes), {}, {
|
|
220
|
+
isOpen: (_ref3 = state.isOpen && getIsFocusedElementInMenu()) !== null && _ref3 !== void 0 ? _ref3 : false
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
default:
|
|
224
|
+
return changes;
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
const OptionalFeatureToggle = props => {
|
|
229
|
+
if (props.featureToggle) {
|
|
230
|
+
return jsxRuntime.jsx(reactBroadcast.ToggleFeature, {
|
|
231
|
+
flag: props.featureToggle,
|
|
232
|
+
children: props.children
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
237
|
+
children: props.children
|
|
238
|
+
});
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
OptionalFeatureToggle.propTypes = {};
|
|
242
|
+
|
|
243
|
+
const renderLabel = (menu, applicationLanguage) => {
|
|
244
|
+
var _context;
|
|
245
|
+
|
|
246
|
+
const localizedLabel = _findInstanceProperty__default["default"](_context = menu.labelAllLocales).call(_context, loc => _startsWithInstanceProperty__default["default"](applicationLanguage).call(applicationLanguage, loc.locale));
|
|
247
|
+
|
|
248
|
+
if (localizedLabel) return localizedLabel.value;
|
|
249
|
+
return constants.NO_VALUE_FALLBACK;
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
const MenuItem = /*#__PURE__*/_styled__default["default"]("div", {
|
|
253
|
+
target: "e1al5ftg0"
|
|
254
|
+
} )("width:100%;cursor:pointer;color:", designSystem.designTokens.colorSolid, ";:hover{background-color:", applicationComponents.designTokens.backgroundColorForUserMenuItemWhenHovered, ";}", props => props.hasDivider === true ? /*#__PURE__*/react$1.css("border-bottom:1px solid ", designSystem.designTokens.colorNeutral, ";margin:", applicationComponents.designTokens.marginForUserMenuItem, ";" + ("" ), "" ) : '', ";" + ("" ));
|
|
255
|
+
|
|
256
|
+
const MenuItemLabel = props => {
|
|
257
|
+
if (props.isNewTheme) {
|
|
258
|
+
return jsxRuntime.jsx("div", {
|
|
259
|
+
css: /*#__PURE__*/react$1.css("padding:", designSystem.designTokens.spacing20, " ", designSystem.designTokens.spacing50, ";" + ("" ), "" ),
|
|
260
|
+
children: props.children
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
return jsxRuntime.jsx(Spacings__default["default"].Inset, {
|
|
265
|
+
scale: "s",
|
|
266
|
+
children: props.children
|
|
267
|
+
});
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
MenuItemLabel.propTypes = {};
|
|
271
|
+
|
|
272
|
+
const UserSettingsAvatarContainer = props => {
|
|
273
|
+
if (props.isNewTheme) {
|
|
274
|
+
return jsxRuntime.jsx("div", {
|
|
275
|
+
css: /*#__PURE__*/react$1.css("padding:", designSystem.designTokens.spacing30, " ", designSystem.designTokens.spacing50, ";" + ("" ), "" ),
|
|
276
|
+
children: props.children
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
return jsxRuntime.jsx(Spacings__default["default"].Inset, {
|
|
281
|
+
scale: "xs",
|
|
282
|
+
children: props.children
|
|
283
|
+
});
|
|
284
|
+
};
|
|
285
|
+
|
|
286
|
+
UserSettingsAvatarContainer.propTypes = {};
|
|
287
|
+
|
|
288
|
+
const getUserSettingsMenuStyles = isNewTheme => {
|
|
289
|
+
if (isNewTheme) {
|
|
290
|
+
return /*#__PURE__*/react$1.css("position:absolute;background:", designSystem.designTokens.colorSurface, ";border-radius:", designSystem.designTokens.borderRadius2, ";box-shadow:0px 2px 5px 0px rgba(0, 0, 0, 0.15);width:", designSystem.designTokens.constraint9, ";right:40px;top:calc(", constants$1.DIMENSIONS.header, " + ", designSystem.designTokens.spacing20, ");padding:0 0 ", designSystem.designTokens.spacing10, " 0;overflow:hidden;" + ("" ), "" );
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
return /*#__PURE__*/react$1.css("position:absolute;background:", designSystem.designTokens.colorSurface, ";border:1px ", designSystem.designTokens.colorPrimary40, " solid;border-radius:", designSystem.designTokens.borderRadius6, ";box-shadow:", designSystem.designTokens.shadow7, ";width:", designSystem.designTokens.constraint7, ";right:14px;top:calc(", constants$1.DIMENSIONS.header, " + ", designSystem.designTokens.spacing20, ");padding:", designSystem.designTokens.spacingXs, ";overflow:hidden;" + ("" ), "" );
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
var _ref2 = {
|
|
297
|
+
name: "4zleql",
|
|
298
|
+
styles: "display:block"
|
|
299
|
+
} ;
|
|
300
|
+
|
|
301
|
+
const getUserSettingsMenuItemLinkStyles = () => _ref2;
|
|
302
|
+
|
|
303
|
+
const UserSettingsMenuBody = props => {
|
|
304
|
+
var _context2, _context3;
|
|
305
|
+
|
|
306
|
+
const _useTheme2 = designSystem.useTheme(),
|
|
307
|
+
isNewTheme = _useTheme2.isNewTheme,
|
|
308
|
+
themedValue = _useTheme2.themedValue; // Focus on a menu item when it's opened through keyboard
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
const menuElementRef = react.useRef(null);
|
|
312
|
+
react.useEffect(() => {
|
|
313
|
+
var _menuElementRef$curre;
|
|
314
|
+
|
|
315
|
+
(_menuElementRef$curre = menuElementRef.current) === null || _menuElementRef$curre === void 0 ? void 0 : _menuElementRef$curre.focus();
|
|
316
|
+
}, []);
|
|
317
|
+
const environment = applicationShellConnectors.useApplicationContext(context => context.environment);
|
|
318
|
+
const applicationsAppBarMenu = useApplicationsMenu.useApplicationsMenu('appBar', {
|
|
319
|
+
queryOptions: {
|
|
320
|
+
onError: sentry.reportErrorToSentry
|
|
321
|
+
},
|
|
322
|
+
environment
|
|
323
|
+
});
|
|
324
|
+
const accountMenuItems = applicationsAppBarMenu !== null && applicationsAppBarMenu !== void 0 ? applicationsAppBarMenu : [];
|
|
325
|
+
return jsxRuntime.jsx("div", {
|
|
326
|
+
onKeyDown: event => {
|
|
327
|
+
if (event.key === 'Esc' || event.key === 'Tab' && !getIsFocusedElementInMenu()) {
|
|
328
|
+
props.downshiftProps.closeMenu();
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
css: getUserSettingsMenuStyles(isNewTheme),
|
|
332
|
+
children: jsxRuntime.jsxs("div", _objectSpread(_objectSpread({}, props.downshiftProps.getMenuProps()), {}, {
|
|
333
|
+
children: [jsxRuntime.jsx(UserSettingsAvatarContainer, {
|
|
334
|
+
isNewTheme: isNewTheme,
|
|
335
|
+
children: jsxRuntime.jsxs(Spacings__default["default"].Inline, {
|
|
336
|
+
scale: themedValue('xs', 'm'),
|
|
337
|
+
alignItems: "center",
|
|
338
|
+
children: [jsxRuntime.jsx(Avatar__default["default"], {
|
|
339
|
+
size: themedValue('s', 'm'),
|
|
340
|
+
firstName: props.firstName,
|
|
341
|
+
lastName: props.lastName,
|
|
342
|
+
gravatarHash: props.gravatarHash
|
|
343
|
+
}), isNewTheme ? jsxRuntime.jsxs("div", {
|
|
344
|
+
children: [jsxRuntime.jsx(Text__default["default"].Subheadline, {
|
|
345
|
+
as: "h4",
|
|
346
|
+
children: _trimInstanceProperty__default["default"](_context2 = [props.firstName, props.lastName].join(' ')).call(_context2)
|
|
347
|
+
}), jsxRuntime.jsx(Text__default["default"].Detail, {
|
|
348
|
+
truncate: true,
|
|
349
|
+
tone: "secondary",
|
|
350
|
+
children: props.email
|
|
351
|
+
})]
|
|
352
|
+
}) : jsxRuntime.jsxs("div", {
|
|
353
|
+
children: [jsxRuntime.jsx(Text__default["default"].Body, {
|
|
354
|
+
isBold: true,
|
|
355
|
+
children: _trimInstanceProperty__default["default"](_context3 = [props.firstName, props.lastName].join(' ')).call(_context3)
|
|
356
|
+
}), jsxRuntime.jsx(Text__default["default"].Body, {
|
|
357
|
+
truncate: true,
|
|
358
|
+
children: props.email
|
|
359
|
+
})]
|
|
360
|
+
})]
|
|
361
|
+
})
|
|
362
|
+
}), isNewTheme && accountMenuItems.length > 0 ? jsxRuntime.jsx(MenuItem, {
|
|
363
|
+
hasDivider: true,
|
|
364
|
+
isNewTheme: isNewTheme
|
|
365
|
+
}) : null, _mapInstanceProperty__default["default"](accountMenuItems).call(accountMenuItems, menu => {
|
|
366
|
+
var _menu$featureToggle;
|
|
367
|
+
|
|
368
|
+
return jsxRuntime.jsx(OptionalFeatureToggle, {
|
|
369
|
+
featureToggle: (_menu$featureToggle = menu.featureToggle) !== null && _menu$featureToggle !== void 0 ? _menu$featureToggle : undefined,
|
|
370
|
+
children: jsxRuntime.jsx(reactRouterDom.Link, {
|
|
371
|
+
css: getUserSettingsMenuItemLinkStyles(),
|
|
372
|
+
to: "/account/".concat(menu.uriPath),
|
|
373
|
+
onClick: () => props.downshiftProps.toggleMenu(),
|
|
374
|
+
"data-user-settings-menu": true,
|
|
375
|
+
ref: menuElementRef,
|
|
376
|
+
children: jsxRuntime.jsx(MenuItem, {
|
|
377
|
+
isNewTheme: isNewTheme,
|
|
378
|
+
children: jsxRuntime.jsx(MenuItemLabel, {
|
|
379
|
+
isNewTheme: isNewTheme,
|
|
380
|
+
children: jsxRuntime.jsx(Text__default["default"].Body, {
|
|
381
|
+
children: renderLabel(menu, props.language)
|
|
382
|
+
})
|
|
383
|
+
})
|
|
384
|
+
})
|
|
385
|
+
})
|
|
386
|
+
}, menu.key);
|
|
387
|
+
}), jsxRuntime.jsx(MenuItem, {
|
|
388
|
+
hasDivider: true,
|
|
389
|
+
isNewTheme: isNewTheme
|
|
390
|
+
}), jsxRuntime.jsx("a", {
|
|
391
|
+
css: getUserSettingsMenuItemLinkStyles(),
|
|
392
|
+
href: "https://commercetools.com/privacy#suppliers",
|
|
393
|
+
target: "_blank",
|
|
394
|
+
rel: "noopener noreferrer",
|
|
395
|
+
onClick: () => props.downshiftProps.toggleMenu(),
|
|
396
|
+
"data-user-settings-menu": true,
|
|
397
|
+
ref: !applicationsAppBarMenu ? menuElementRef : undefined,
|
|
398
|
+
children: jsxRuntime.jsx(MenuItem, {
|
|
399
|
+
isNewTheme: isNewTheme,
|
|
400
|
+
children: jsxRuntime.jsx(MenuItemLabel, {
|
|
401
|
+
isNewTheme: isNewTheme,
|
|
402
|
+
children: jsxRuntime.jsx(Text__default["default"].Body, {
|
|
403
|
+
intlMessage: messages.privacyPolicy
|
|
404
|
+
})
|
|
405
|
+
})
|
|
406
|
+
})
|
|
407
|
+
}), jsxRuntime.jsx("a", {
|
|
408
|
+
css: getUserSettingsMenuItemLinkStyles(),
|
|
409
|
+
href: constants.SUPPORT_PORTAL_URL,
|
|
410
|
+
rel: "noopener noreferrer",
|
|
411
|
+
target: "_blank",
|
|
412
|
+
"data-track-component": "Navigation-Support-links",
|
|
413
|
+
"data-track-event": "click",
|
|
414
|
+
"data-track-label": "support_textlink",
|
|
415
|
+
onClick: () => props.downshiftProps.toggleMenu(),
|
|
416
|
+
"data-user-settings-menu": true,
|
|
417
|
+
children: jsxRuntime.jsx(MenuItem, {
|
|
418
|
+
isNewTheme: isNewTheme,
|
|
419
|
+
children: jsxRuntime.jsx(MenuItemLabel, {
|
|
420
|
+
isNewTheme: isNewTheme,
|
|
421
|
+
children: jsxRuntime.jsx(Text__default["default"].Body, {
|
|
422
|
+
intlMessage: messages.support
|
|
423
|
+
})
|
|
424
|
+
})
|
|
425
|
+
})
|
|
426
|
+
}), jsxRuntime.jsx(MenuItem, {
|
|
427
|
+
hasDivider: true,
|
|
428
|
+
isNewTheme: isNewTheme
|
|
429
|
+
}), jsxRuntime.jsxs("a", {
|
|
430
|
+
css: getUserSettingsMenuItemLinkStyles() // NOTE: we want to redirect to a new page so that the
|
|
431
|
+
// server can remove things like cookie for access token.
|
|
432
|
+
,
|
|
433
|
+
href: "/logout?reason=".concat(constants.LOGOUT_REASONS.USER),
|
|
434
|
+
"data-test": "logout-button",
|
|
435
|
+
"data-user-settings-menu": true,
|
|
436
|
+
children: [jsxRuntime.jsx(MenuItem, {
|
|
437
|
+
isNewTheme: isNewTheme,
|
|
438
|
+
children: jsxRuntime.jsx(MenuItemLabel, {
|
|
439
|
+
isNewTheme: isNewTheme,
|
|
440
|
+
children: jsxRuntime.jsx(Text__default["default"].Body, {
|
|
441
|
+
intlMessage: messages.logout
|
|
442
|
+
})
|
|
443
|
+
})
|
|
444
|
+
}), jsxRuntime.jsx("div", {
|
|
445
|
+
tabIndex: 0,
|
|
446
|
+
onFocus: () => props.downshiftProps.closeMenu()
|
|
447
|
+
})]
|
|
448
|
+
})]
|
|
449
|
+
}))
|
|
450
|
+
});
|
|
451
|
+
};
|
|
452
|
+
|
|
453
|
+
UserSettingsMenuBody.propTypes = {};
|
|
454
|
+
UserSettingsMenuBody.displayName = 'UserSettingsMenuBody';
|
|
455
|
+
|
|
456
|
+
var _ref = {
|
|
457
|
+
name: "18rc9yp",
|
|
458
|
+
styles: "cursor:pointer;border:none;padding:0;display:flex;background:transparent"
|
|
459
|
+
} ;
|
|
460
|
+
|
|
461
|
+
const UserSettingsMenu = props => {
|
|
462
|
+
const intl = reactIntl.useIntl();
|
|
463
|
+
return jsxRuntime.jsxs("div", {
|
|
464
|
+
"data-test": "user-settings-menu",
|
|
465
|
+
children: [jsxRuntime.jsx(AccessibleHidden__default["default"], {
|
|
466
|
+
children: jsxRuntime.jsx("span", {
|
|
467
|
+
id: MENU_LABEL_ID,
|
|
468
|
+
children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread({}, messages.menuLabel))
|
|
469
|
+
})
|
|
470
|
+
}), jsxRuntime.jsx(Downshift__default["default"], {
|
|
471
|
+
stateReducer: stateReducer,
|
|
472
|
+
labelId: MENU_LABEL_ID,
|
|
473
|
+
children: downshiftProps => jsxRuntime.jsxs("div", {
|
|
474
|
+
children: [jsxRuntime.jsx("button", _objectSpread(_objectSpread({
|
|
475
|
+
css: _ref
|
|
476
|
+
}, downshiftProps.getToggleButtonProps({
|
|
477
|
+
'aria-label': intl.formatMessage(downshiftProps.isOpen ? messages.closeMenuLabel : messages.openMenuLabel)
|
|
478
|
+
})), {}, {
|
|
479
|
+
children: jsxRuntime.jsx(UserAvatar, {
|
|
480
|
+
firstName: props.firstName,
|
|
481
|
+
lastName: props.lastName,
|
|
482
|
+
gravatarHash: props.gravatarHash
|
|
483
|
+
})
|
|
484
|
+
})), downshiftProps.isOpen && jsxRuntime.jsx(UserSettingsMenuBody, _objectSpread(_objectSpread({}, props), {}, {
|
|
485
|
+
downshiftProps: downshiftProps
|
|
486
|
+
}))]
|
|
487
|
+
})
|
|
488
|
+
})]
|
|
489
|
+
});
|
|
490
|
+
};
|
|
491
|
+
|
|
492
|
+
UserSettingsMenu.displayName = 'UserSettingsMenu';
|
|
493
|
+
|
|
494
|
+
exports.UserAvatar = UserAvatar;
|
|
495
|
+
exports.UserSettingsMenuBody = UserSettingsMenuBody;
|
|
496
|
+
exports["default"] = UserSettingsMenu;
|