@commercetools-frontend/application-shell 22.2.0 → 22.3.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-362fa5d0.cjs.dev.js → application-entry-point-0c3254b0.cjs.dev.js} +10 -19
- package/dist/{application-entry-point-390ae225.cjs.prod.js → application-entry-point-2333abb6.cjs.prod.js} +10 -19
- package/dist/{application-entry-point-587966d5.esm.js → application-entry-point-a1dfe994.esm.js} +10 -19
- package/dist/{box-6b5be9a9.cjs.dev.js → box-686bc950.cjs.dev.js} +0 -2
- package/dist/{box-4395623b.esm.js → box-6ce924c9.esm.js} +0 -2
- package/dist/{box-8850277f.cjs.prod.js → box-e17daf6c.cjs.prod.js} +0 -2
- package/dist/{cart-a49faf67.esm.js → cart-3b156a46.esm.js} +0 -2
- package/dist/{cart-41f0b7bc.cjs.dev.js → cart-796beed7.cjs.dev.js} +0 -2
- package/dist/{cart-0698b97d.cjs.prod.js → cart-f2fc1baf.cjs.prod.js} +0 -2
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +5 -5
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +5 -5
- package/dist/commercetools-frontend-application-shell.esm.js +5 -5
- package/dist/{configure-apollo-249465d4.cjs.prod.js → configure-apollo-70d83707.cjs.prod.js} +64 -181
- package/dist/{configure-apollo-4d96823e.esm.js → configure-apollo-89ea99bf.esm.js} +64 -183
- package/dist/{configure-apollo-63948b67.cjs.dev.js → configure-apollo-de2b9aa2.cjs.dev.js} +64 -183
- package/dist/{connected-square-47233754.cjs.dev.js → connected-square-960e046b.cjs.prod.js} +0 -2
- package/dist/{connected-square-b2e25621.cjs.prod.js → connected-square-961eb5b6.cjs.dev.js} +0 -2
- package/dist/{connected-square-3cac6bd7.esm.js → connected-square-f34a98ff.esm.js} +0 -2
- package/dist/{constants-a3c2194a.cjs.prod.js → constants-902cf3f3.cjs.prod.js} +2 -1
- package/dist/{constants-940f343f.esm.js → constants-b962b73e.esm.js} +2 -1
- package/dist/{constants-b201d328.cjs.dev.js → constants-e51cdcc0.cjs.dev.js} +2 -1
- package/dist/declarations/src/components/app-bar/app-bar.d.ts +1 -1
- package/dist/declarations/src/components/application-entry-point/application-entry-point.d.ts +1 -1
- package/dist/declarations/src/components/application-loader/application-loader.d.ts +1 -1
- package/dist/declarations/src/components/application-shell/application-shell.d.ts +1 -1
- package/dist/declarations/src/components/application-shell/global-styles.d.ts +1 -1
- package/dist/declarations/src/components/application-shell-authenticated/application-shell-authenticated.d.ts +1 -1
- package/dist/declarations/src/components/application-shell-provider/application-shell-provider.d.ts +1 -2
- package/dist/declarations/src/components/application-shell-provider/utils.d.ts +2 -0
- package/dist/declarations/src/components/authenticated/am-i-logged-in.d.ts +1 -1
- package/dist/declarations/src/components/authenticated/authenticated.d.ts +1 -1
- package/dist/declarations/src/components/authenticated/oidc-callback-error-page.d.ts +1 -1
- package/dist/declarations/src/components/authenticated/oidc-callback.async.d.ts +1 -1
- package/dist/declarations/src/components/authenticated/oidc-callback.d.ts +1 -1
- package/dist/declarations/src/components/back-to-project/back-to-project.d.ts +1 -1
- package/dist/declarations/src/components/configure-intl-provider/configure-intl-provider.d.ts +1 -1
- package/dist/declarations/src/components/error-apologizer/error-apologizer.d.ts +1 -1
- package/dist/declarations/src/components/error-apologizer/index.d.ts +1 -1
- package/dist/declarations/src/components/error-boundary/error-boundary.d.ts +1 -1
- package/dist/declarations/src/components/fetch-project/fetch-project.d.ts +1 -1
- package/dist/declarations/src/components/fetch-user/fetch-user.d.ts +1 -1
- package/dist/declarations/src/components/inject-reducers/inject-reducers.d.ts +1 -1
- package/dist/declarations/src/components/locale-switcher/locale-switcher.d.ts +2 -2
- package/dist/declarations/src/components/navbar/index.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/box.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/cart.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/connected-square.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/gear.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/heart.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/list-with-search.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/paperclip.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/plugin.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/rocket.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/speedometer.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/star.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/tag-multi.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/tree-structure.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/user-filled.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/world.d.ts +1 -1
- package/dist/declarations/src/components/navbar/loading-navbar.d.ts +1 -1
- package/dist/declarations/src/components/navbar/menu-items.d.ts +8 -8
- package/dist/declarations/src/components/navbar/navbar.d.ts +1 -1
- package/dist/declarations/src/components/project-container/index.d.ts +1 -1
- package/dist/declarations/src/components/project-container/project-container.d.ts +1 -1
- package/dist/declarations/src/components/project-data-locale/project-data-locale.d.ts +1 -1
- package/dist/declarations/src/components/project-expired/index.d.ts +1 -1
- package/dist/declarations/src/components/project-expired/project-expired.d.ts +1 -1
- package/dist/declarations/src/components/project-not-found/index.d.ts +1 -1
- package/dist/declarations/src/components/project-not-found/project-not-found.d.ts +1 -1
- package/dist/declarations/src/components/project-not-initialized/index.d.ts +1 -1
- package/dist/declarations/src/components/project-not-initialized/project-not-initialized.d.ts +1 -1
- package/dist/declarations/src/components/project-suspended/index.d.ts +1 -1
- package/dist/declarations/src/components/project-suspended/project-suspended.d.ts +1 -1
- package/dist/declarations/src/components/project-switcher/project-switcher.d.ts +3 -3
- package/dist/declarations/src/components/quick-access/butler/butler.d.ts +1 -1
- 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 +1 -1
- package/dist/declarations/src/components/quick-access/quick-access.d.ts +1 -1
- package/dist/declarations/src/components/redirect-to-login/index.d.ts +1 -1
- package/dist/declarations/src/components/redirect-to-login/redirect-to-login.d.ts +1 -1
- package/dist/declarations/src/components/redirect-to-logout/index.d.ts +1 -1
- package/dist/declarations/src/components/redirect-to-logout/redirect-to-logout.d.ts +1 -1
- package/dist/declarations/src/components/redirect-to-project-create/index.d.ts +1 -1
- package/dist/declarations/src/components/redirect-to-project-create/redirect-to-project-create.d.ts +1 -1
- package/dist/declarations/src/components/route-catch-all/index.d.ts +1 -1
- package/dist/declarations/src/components/route-catch-all/route-catch-all.d.ts +1 -1
- package/dist/declarations/src/components/service-page-project-switcher/service-page-project-switcher.d.ts +1 -1
- package/dist/declarations/src/components/setup-flop-flip-provider/setup-flop-flip-provider.d.ts +1 -1
- package/dist/declarations/src/components/suspended-route/suspended-route.d.ts +1 -1
- package/dist/declarations/src/components/theme-switcher/new-design-release-info-dialog.d.ts +1 -1
- package/dist/declarations/src/components/theme-switcher/theme-switcher.d.ts +1 -1
- package/dist/declarations/src/components/user-settings-menu/index.d.ts +1 -1
- package/dist/declarations/src/components/user-settings-menu/user-settings-menu.d.ts +3 -3
- package/dist/declarations/src/types/generated/settings.d.ts +89 -1151
- package/dist/{error-apologizer-57a2fb57.cjs.prod.js → error-apologizer-24ad0b88.cjs.prod.js} +0 -3
- package/dist/{error-apologizer-d0409fcb.esm.js → error-apologizer-55551c07.esm.js} +0 -3
- package/dist/{error-apologizer-d20ca326.cjs.dev.js → error-apologizer-a5c03978.cjs.dev.js} +0 -3
- package/dist/{gear-300dd24c.esm.js → gear-1f381738.esm.js} +0 -2
- package/dist/{gear-2890f7fb.cjs.prod.js → gear-9b394c43.cjs.prod.js} +0 -2
- package/dist/{gear-e8014c5a.cjs.dev.js → gear-ab1f6210.cjs.dev.js} +0 -2
- package/dist/{get-mc-origin-7968e04f.cjs.prod.js → get-mc-origin-8f7a578c.cjs.prod.js} +10 -16
- package/dist/{get-mc-origin-314b77a2.cjs.dev.js → get-mc-origin-a86dff20.cjs.dev.js} +10 -16
- package/dist/{get-mc-origin-5df60933.esm.js → get-mc-origin-fecfee07.esm.js} +10 -16
- package/dist/{heart-000a023d.cjs.prod.js → heart-a6e7ccf9.cjs.dev.js} +0 -2
- package/dist/{heart-dded66b4.esm.js → heart-be7c779b.esm.js} +0 -2
- package/dist/{heart-f21b7d39.cjs.dev.js → heart-ebfab4cd.cjs.prod.js} +0 -2
- package/dist/{index-2591875d.cjs.dev.js → index-02a17607.cjs.dev.js} +241 -473
- package/dist/{index-42ea4111.esm.js → index-667035b8.esm.js} +240 -472
- package/dist/{index-2302ee7f.cjs.prod.js → index-a03f4e81.cjs.prod.js} +237 -465
- package/dist/{list-with-search-a3302710.esm.js → list-with-search-3341bbf7.esm.js} +0 -2
- package/dist/{list-with-search-a5b72b33.cjs.prod.js → list-with-search-b5e9ae1b.cjs.dev.js} +0 -2
- package/dist/{list-with-search-ee796e9e.cjs.dev.js → list-with-search-e3ccba98.cjs.prod.js} +0 -2
- package/dist/{navbar-b56b7b35.cjs.prod.js → navbar-00a55ccf.cjs.prod.js} +55 -111
- package/dist/{navbar-70b7575c.cjs.dev.js → navbar-1b61993a.cjs.dev.js} +55 -111
- package/dist/{navbar-ef173893.esm.js → navbar-84dc97f9.esm.js} +55 -111
- package/dist/{new-design-release-info-dialog-629191c2.cjs.dev.js → new-design-release-info-dialog-57843832.cjs.dev.js} +0 -2
- package/dist/{new-design-release-info-dialog-879a4af8.cjs.prod.js → new-design-release-info-dialog-730137e2.cjs.prod.js} +0 -2
- package/dist/{new-design-release-info-dialog-6e19106c.esm.js → new-design-release-info-dialog-e2cd95fa.esm.js} +0 -2
- package/dist/{oidc-15d3a4c1.cjs.dev.js → oidc-4895bd80.cjs.dev.js} +13 -20
- package/dist/{oidc-callback-bcf67ab0.cjs.prod.js → oidc-callback-121ef6c1.cjs.prod.js} +12 -20
- package/dist/{oidc-callback-fd0c6ab8.esm.js → oidc-callback-cddf8bb4.esm.js} +12 -20
- package/dist/{oidc-callback-9538bece.cjs.dev.js → oidc-callback-e60075ab.cjs.dev.js} +12 -20
- package/dist/{oidc-77115492.esm.js → oidc-d7f0409a.esm.js} +13 -20
- package/dist/{oidc-6c79100b.cjs.prod.js → oidc-da4ccc69.cjs.prod.js} +13 -20
- package/dist/{paperclip-23d1e69c.cjs.prod.js → paperclip-6f0b6ae5.cjs.prod.js} +0 -2
- package/dist/{paperclip-a61112e8.esm.js → paperclip-c76aec52.esm.js} +0 -2
- package/dist/{paperclip-d653c134.cjs.dev.js → paperclip-ec55e4a0.cjs.dev.js} +0 -2
- package/dist/{plugin-0ee6aee4.cjs.dev.js → plugin-16c01245.cjs.dev.js} +0 -2
- package/dist/{plugin-3d353a5b.esm.js → plugin-279f88cd.esm.js} +0 -2
- package/dist/{plugin-7e57f237.cjs.prod.js → plugin-f199ed20.cjs.prod.js} +0 -2
- package/dist/{project-container-56d0c955.cjs.dev.js → project-container-51e70095.cjs.dev.js} +21 -46
- package/dist/{project-container-8c617e3c.esm.js → project-container-98c2a789.esm.js} +21 -46
- package/dist/{project-container-32a1d5c4.cjs.prod.js → project-container-e7f950b0.cjs.prod.js} +21 -45
- package/dist/{project-expired-1cc0ccbb.cjs.prod.js → project-expired-1cd4843f.cjs.prod.js} +6 -11
- package/dist/{project-expired-73713e7e.esm.js → project-expired-513a8320.esm.js} +6 -11
- package/dist/{project-expired-2a72b968.cjs.dev.js → project-expired-fd3efa19.cjs.dev.js} +6 -11
- package/dist/{project-not-found-a3b0d2f0.esm.js → project-not-found-8bab15e7.esm.js} +6 -9
- package/dist/{project-not-found-6b42e6c0.cjs.prod.js → project-not-found-9f21b30c.cjs.prod.js} +6 -9
- package/dist/{project-not-found-a09d8a13.cjs.dev.js → project-not-found-e5eb5b7e.cjs.dev.js} +6 -9
- package/dist/{project-not-initialized-dbaa28e7.cjs.dev.js → project-not-initialized-3cdb8692.cjs.dev.js} +6 -11
- package/dist/{project-not-initialized-dfca89f5.cjs.prod.js → project-not-initialized-a1a8d9dc.cjs.prod.js} +6 -11
- package/dist/{project-not-initialized-2542a33a.esm.js → project-not-initialized-a8562fd3.esm.js} +6 -11
- package/dist/{project-suspended-b78011e8.cjs.dev.js → project-suspended-79c67f38.cjs.dev.js} +6 -10
- package/dist/{project-suspended-231a0961.cjs.prod.js → project-suspended-8a558cb8.cjs.prod.js} +6 -10
- package/dist/{project-suspended-ccaaa1d7.esm.js → project-suspended-e0fb960a.esm.js} +6 -10
- package/dist/{quick-access-a2d18d3b.cjs.dev.js → quick-access-0fb30eee.cjs.dev.js} +124 -194
- package/dist/{quick-access-3dabce21.esm.js → quick-access-8c7919d2.esm.js} +124 -194
- package/dist/{quick-access-54ce94b5.cjs.prod.js → quick-access-ff6fee75.cjs.prod.js} +123 -191
- package/dist/{redirect-to-login-3fecfdc9.esm.js → redirect-to-login-02167259.esm.js} +14 -18
- package/dist/{redirect-to-login-f8ba63e5.cjs.prod.js → redirect-to-login-3c2a1258.cjs.prod.js} +14 -18
- package/dist/{redirect-to-login-fa9676c1.cjs.dev.js → redirect-to-login-73396807.cjs.dev.js} +14 -18
- package/dist/{redirect-to-logout-2d96cea9.cjs.prod.js → redirect-to-logout-838758f3.cjs.prod.js} +7 -12
- package/dist/{redirect-to-logout-764c003b.esm.js → redirect-to-logout-b5c8fdbf.esm.js} +7 -12
- package/dist/{redirect-to-logout-b0f5c48e.cjs.dev.js → redirect-to-logout-be3e139d.cjs.dev.js} +7 -12
- package/dist/{redirect-to-project-create-048efa71.cjs.prod.js → redirect-to-project-create-2266c427.cjs.prod.js} +1 -3
- package/dist/{redirect-to-project-create-f0e7b35e.cjs.dev.js → redirect-to-project-create-7b476aa6.cjs.dev.js} +1 -3
- package/dist/{redirect-to-project-create-052f293e.esm.js → redirect-to-project-create-c5323504.esm.js} +1 -3
- package/dist/{redirector-47a6be71.esm.js → redirector-368eeb0f.esm.js} +1 -8
- package/dist/{redirector-0d98f9df.cjs.dev.js → redirector-ec9fa17f.cjs.prod.js} +1 -8
- package/dist/{redirector-77ce2f5c.cjs.prod.js → redirector-f71198cc.cjs.dev.js} +1 -8
- package/dist/{requests-in-flight-loader-23a03381.cjs.dev.js → requests-in-flight-loader-3a40411c.cjs.dev.js} +5 -9
- package/dist/{requests-in-flight-loader-6e4fd082.esm.js → requests-in-flight-loader-78bce8a5.esm.js} +5 -9
- package/dist/{requests-in-flight-loader-40b16b26.cjs.prod.js → requests-in-flight-loader-d7963726.cjs.prod.js} +5 -9
- package/dist/{rocket-4b088727.esm.js → rocket-067c2f8c.esm.js} +0 -2
- package/dist/{rocket-3e3f0a98.cjs.prod.js → rocket-c6d44215.cjs.dev.js} +0 -2
- package/dist/{rocket-95b6858d.cjs.dev.js → rocket-f0bfae34.cjs.prod.js} +0 -2
- package/dist/{route-catch-all-3b490df1.cjs.prod.js → route-catch-all-293a1269.cjs.dev.js} +6 -6
- package/dist/{route-catch-all-9ac99936.cjs.dev.js → route-catch-all-373c69c6.cjs.prod.js} +6 -6
- package/dist/{route-catch-all-01cf0095.esm.js → route-catch-all-4af77675.esm.js} +6 -6
- package/dist/{service-page-project-switcher-4341744e.cjs.dev.js → service-page-project-switcher-2a4bc3ee.cjs.dev.js} +3 -4
- package/dist/{service-page-project-switcher-4c425f79.cjs.prod.js → service-page-project-switcher-617a204e.cjs.prod.js} +3 -3
- package/dist/{service-page-project-switcher-fd691711.esm.js → service-page-project-switcher-b99782a7.esm.js} +3 -4
- package/dist/{speedometer-2881cef6.cjs.prod.js → speedometer-0de260cf.cjs.prod.js} +0 -2
- package/dist/{speedometer-54f872f2.cjs.dev.js → speedometer-aedd9660.cjs.dev.js} +0 -2
- package/dist/{speedometer-08a11d5a.esm.js → speedometer-baa6ae82.esm.js} +0 -2
- package/dist/{star-52bf7a64.cjs.dev.js → star-49745c72.cjs.dev.js} +0 -2
- package/dist/{star-15244db1.esm.js → star-bd723a9c.esm.js} +0 -2
- package/dist/{star-f8502efb.cjs.prod.js → star-c11b0683.cjs.prod.js} +0 -2
- package/dist/{tag-multi-3be995ac.esm.js → tag-multi-1dee8212.esm.js} +0 -2
- package/dist/{tag-multi-1d1553b6.cjs.dev.js → tag-multi-2e7a68ec.cjs.dev.js} +0 -2
- package/dist/{tag-multi-f9acb1c2.cjs.prod.js → tag-multi-f8d9c9e6.cjs.prod.js} +0 -2
- package/dist/{tree-structure-c8753526.esm.js → tree-structure-0a1dc6bf.esm.js} +0 -2
- package/dist/{tree-structure-4650688d.cjs.dev.js → tree-structure-690366f9.cjs.prod.js} +0 -2
- package/dist/{tree-structure-f24ee3f6.cjs.prod.js → tree-structure-8c974c7a.cjs.dev.js} +0 -2
- package/dist/{use-applications-menu-390a31f4.cjs.dev.js → use-applications-menu-2046cce4.cjs.dev.js} +30 -40
- package/dist/{use-applications-menu-1d53322d.cjs.prod.js → use-applications-menu-84a888d7.cjs.prod.js} +30 -40
- package/dist/{use-applications-menu-6f960374.esm.js → use-applications-menu-daf4a744.esm.js} +30 -40
- package/dist/{use-is-served-by-proxy-499bfa16.esm.js → use-is-served-by-proxy-77984220.esm.js} +0 -2
- package/dist/{use-is-served-by-proxy-2b4916e5.cjs.dev.js → use-is-served-by-proxy-845cace5.cjs.prod.js} +0 -2
- package/dist/{use-is-served-by-proxy-51e76976.cjs.prod.js → use-is-served-by-proxy-ed411f45.cjs.dev.js} +0 -2
- package/dist/{user-filled-2e6cb25e.cjs.dev.js → user-filled-58af1ae4.cjs.prod.js} +0 -2
- package/dist/{user-filled-815b49a0.cjs.prod.js → user-filled-5dd7a51a.cjs.dev.js} +0 -2
- package/dist/{user-filled-2dc4e79e.esm.js → user-filled-d40a7e17.esm.js} +0 -2
- package/dist/{user-settings-menu-4646418a.esm.js → user-settings-menu-b8ecc868.esm.js} +16 -53
- package/dist/{user-settings-menu-22bf89c0.cjs.prod.js → user-settings-menu-c50b95e4.cjs.prod.js} +16 -52
- package/dist/{user-settings-menu-c8b3ee57.cjs.dev.js → user-settings-menu-fe393647.cjs.dev.js} +16 -53
- package/dist/{version-tracker-9fd44381.cjs.dev.js → version-tracker-3b9eb5c6.cjs.dev.js} +5 -5
- package/dist/{version-tracker-71b6de2c.cjs.prod.js → version-tracker-4ad14ed3.cjs.prod.js} +5 -5
- package/dist/{version-tracker-5c514d81.esm.js → version-tracker-f2e3185f.esm.js} +5 -5
- package/dist/{world-c5ea311a.esm.js → world-1b0e72fc.esm.js} +0 -2
- package/dist/{world-973090a5.cjs.dev.js → world-bfd04f52.cjs.dev.js} +0 -2
- package/dist/{world-e1f9dbf8.cjs.prod.js → world-f921d80c.cjs.prod.js} +0 -2
- package/package.json +41 -27
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +2 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +2 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +2 -2
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +78 -112
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +78 -112
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +78 -112
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var configureApollo = require('./configure-apollo-
|
|
3
|
+
var configureApollo = require('./configure-apollo-70d83707.cjs.prod.js');
|
|
4
4
|
var _pt = require('prop-types');
|
|
5
5
|
var react = require('react');
|
|
6
6
|
var reactRouterDom = require('react-router-dom');
|
|
@@ -24,7 +24,7 @@ var constants$1 = require('@commercetools-frontend/constants');
|
|
|
24
24
|
var i18n = require('@commercetools-frontend/i18n');
|
|
25
25
|
var reactNotifications = require('@commercetools-frontend/react-notifications');
|
|
26
26
|
var sentry = require('@commercetools-frontend/sentry');
|
|
27
|
-
var constants = require('./constants-
|
|
27
|
+
var constants = require('./constants-902cf3f3.cjs.prod.js');
|
|
28
28
|
require('uuid');
|
|
29
29
|
require('@babel/runtime-corejs3/core-js-stable/url');
|
|
30
30
|
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
@@ -34,7 +34,7 @@ var Spacings = require('@commercetools-uikit/spacings');
|
|
|
34
34
|
var reactIntl = require('react-intl');
|
|
35
35
|
var FlatButton = require('@commercetools-uikit/flat-button');
|
|
36
36
|
var icons = require('@commercetools-uikit/icons');
|
|
37
|
-
var useIsServedByProxy = require('./use-is-served-by-proxy-
|
|
37
|
+
var useIsServedByProxy = require('./use-is-served-by-proxy-845cace5.cjs.prod.js');
|
|
38
38
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
39
39
|
var _taggedTemplateLiteral = require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
|
|
40
40
|
var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
|
|
@@ -45,6 +45,7 @@ var SelectInput = require('@commercetools-uikit/select-input');
|
|
|
45
45
|
var react$2 = require('@apollo/client/react');
|
|
46
46
|
var CTLogoSVG = require('@commercetools-frontend/assets/images/ct-logo.svg');
|
|
47
47
|
var LoadingSpinner = require('@commercetools-uikit/loading-spinner');
|
|
48
|
+
var history = require('@commercetools-frontend/browser-history');
|
|
48
49
|
var l10n = require('@commercetools-frontend/l10n');
|
|
49
50
|
var _Array$from = require('@babel/runtime-corejs3/core-js-stable/array/from');
|
|
50
51
|
var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
|
|
@@ -71,9 +72,8 @@ var httpAdapter = require('@flopflip/http-adapter');
|
|
|
71
72
|
var ldAdapter = require('@flopflip/launchdarkly-adapter');
|
|
72
73
|
var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
|
73
74
|
var reactRedux = require('react-redux');
|
|
74
|
-
var history = require('@commercetools-frontend/browser-history');
|
|
75
75
|
var upperFirst = require('lodash/upperFirst');
|
|
76
|
-
var oidc = require('./oidc-
|
|
76
|
+
var oidc = require('./oidc-da4ccc69.cjs.prod.js');
|
|
77
77
|
require('@commercetools-uikit/design-system/materials/resets.css');
|
|
78
78
|
var _JSON$stringify = require('@babel/runtime-corejs3/core-js-stable/json/stringify');
|
|
79
79
|
var _someInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/some');
|
|
@@ -105,6 +105,7 @@ var AccessibleHidden__default = /*#__PURE__*/_interopDefault(AccessibleHidden);
|
|
|
105
105
|
var SelectInput__default = /*#__PURE__*/_interopDefault(SelectInput);
|
|
106
106
|
var CTLogoSVG__default = /*#__PURE__*/_interopDefault(CTLogoSVG);
|
|
107
107
|
var LoadingSpinner__default = /*#__PURE__*/_interopDefault(LoadingSpinner);
|
|
108
|
+
var history__default = /*#__PURE__*/_interopDefault(history);
|
|
108
109
|
var _Array$from__default = /*#__PURE__*/_interopDefault(_Array$from);
|
|
109
110
|
var _everyInstanceProperty__default = /*#__PURE__*/_interopDefault(_everyInstanceProperty);
|
|
110
111
|
var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
|
|
@@ -120,15 +121,13 @@ var combineAdapters__default = /*#__PURE__*/_interopDefault(combineAdapters);
|
|
|
120
121
|
var httpAdapter__default = /*#__PURE__*/_interopDefault(httpAdapter);
|
|
121
122
|
var ldAdapter__default = /*#__PURE__*/_interopDefault(ldAdapter);
|
|
122
123
|
var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
|
|
123
|
-
var history__default = /*#__PURE__*/_interopDefault(history);
|
|
124
124
|
var upperFirst__default = /*#__PURE__*/_interopDefault(upperFirst);
|
|
125
125
|
var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
|
|
126
126
|
var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
|
|
127
127
|
|
|
128
|
-
const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-
|
|
129
|
-
/* webpackChunkName: "requests-in-flight-loader" */
|
|
130
|
-
); }));
|
|
128
|
+
const RequestsInFlightLoader = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./requests-in-flight-loader-d7963726.cjs.prod.js' /* webpackChunkName: "requests-in-flight-loader" */); }));
|
|
131
129
|
|
|
130
|
+
// Attempt to load the `projectKey` from localStorage
|
|
132
131
|
function selectProjectKeyFromLocalStorage() {
|
|
133
132
|
return window.localStorage.getItem(constants.STORAGE_KEYS.ACTIVE_PROJECT_KEY);
|
|
134
133
|
}
|
|
@@ -161,7 +160,6 @@ var messages$1 = reactIntl.defineMessages({
|
|
|
161
160
|
* As a result the project and user queries need refetching.
|
|
162
161
|
*/
|
|
163
162
|
const redirectToProject = key => useIsServedByProxy.location.replace("/".concat(key));
|
|
164
|
-
|
|
165
163
|
const BackToProject = props => {
|
|
166
164
|
const intl = reactIntl.useIntl();
|
|
167
165
|
return jsxRuntime.jsx(FlatButton__default["default"], {
|
|
@@ -174,108 +172,83 @@ BackToProject.displayName = 'BackToProject';
|
|
|
174
172
|
|
|
175
173
|
var _templateObject;
|
|
176
174
|
const animationPulse = react$1.keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% {\n background-color: ", ";\n }\n 100% {\n background-color: ", ";\n }\n"])), designSystem.customProperties.colorNeutral, designSystem.customProperties.colorNeutral95);
|
|
177
|
-
|
|
178
175
|
const getWidthBySize = props => {
|
|
179
176
|
switch (props.shape) {
|
|
180
177
|
case 'dot':
|
|
181
178
|
switch (props.size) {
|
|
182
179
|
case 's':
|
|
183
180
|
return designSystem.customProperties.spacingS;
|
|
184
|
-
|
|
185
181
|
case 'm':
|
|
186
182
|
return designSystem.customProperties.spacingM;
|
|
187
|
-
|
|
188
183
|
case 'l':
|
|
189
184
|
return designSystem.customProperties.spacingL;
|
|
190
|
-
|
|
191
185
|
case 'xl':
|
|
192
186
|
return designSystem.customProperties.spacingXl;
|
|
193
|
-
|
|
194
187
|
default:
|
|
195
188
|
return 'auto';
|
|
196
189
|
}
|
|
197
|
-
|
|
198
190
|
case 'rect':
|
|
199
191
|
switch (props.size) {
|
|
200
192
|
case 's':
|
|
201
193
|
return '150px';
|
|
202
|
-
|
|
203
194
|
case 'm':
|
|
204
195
|
return '300px';
|
|
205
|
-
|
|
206
196
|
case 'l':
|
|
207
197
|
return '450px';
|
|
208
|
-
|
|
209
198
|
case 'xl':
|
|
210
199
|
return '600px';
|
|
211
|
-
|
|
212
200
|
default:
|
|
213
201
|
return 'auto';
|
|
214
202
|
}
|
|
215
|
-
|
|
216
203
|
default:
|
|
217
204
|
return 'auto';
|
|
218
205
|
}
|
|
219
206
|
};
|
|
220
|
-
|
|
221
207
|
const getHeightBySize = props => {
|
|
222
208
|
switch (props.shape) {
|
|
223
209
|
case 'dot':
|
|
224
210
|
return getWidthBySize(props);
|
|
225
|
-
|
|
226
211
|
case 'rect':
|
|
227
212
|
return '32px';
|
|
228
|
-
|
|
229
213
|
default:
|
|
230
214
|
return 'auto';
|
|
231
215
|
}
|
|
232
216
|
};
|
|
233
|
-
|
|
234
217
|
const getRadiusBySize = props => {
|
|
235
218
|
switch (props.shape) {
|
|
236
219
|
case 'dot':
|
|
237
220
|
switch (props.size) {
|
|
238
221
|
case 's':
|
|
239
222
|
return designSystem.customProperties.borderRadius4;
|
|
240
|
-
|
|
241
223
|
case 'm':
|
|
242
224
|
return '8px';
|
|
243
|
-
|
|
244
225
|
case 'l':
|
|
245
226
|
return '12px';
|
|
246
|
-
|
|
247
227
|
case 'xl':
|
|
248
228
|
return '16px';
|
|
249
|
-
|
|
250
229
|
default:
|
|
251
230
|
return 'none';
|
|
252
231
|
}
|
|
253
|
-
|
|
254
232
|
case 'rect':
|
|
255
233
|
return designSystem.customProperties.borderRadius4;
|
|
256
|
-
|
|
257
234
|
default:
|
|
258
235
|
return 'none';
|
|
259
236
|
}
|
|
260
237
|
};
|
|
261
|
-
|
|
262
238
|
const LoadingPlaceholder = /*#__PURE__*/_styled__default["default"]("div", {
|
|
263
239
|
target: "e4c5pm00"
|
|
264
240
|
} )("background-color:", designSystem.customProperties.colorNeutral, ";animation-name:", animationPulse, ";animation-duration:1s;animation-timing-function:ease-out;animation-delay:0;animation-direction:alternate;animation-iteration-count:infinite;width:", getWidthBySize, ";height:", getHeightBySize, ";border-radius:", getRadiusBySize, ";" + ("" ));
|
|
265
|
-
|
|
266
241
|
LoadingPlaceholder.displayName = 'LoadingPlaceholder';
|
|
267
242
|
|
|
268
243
|
function useMcQuery(query, options) {
|
|
269
244
|
return react$2.useQuery(query, options);
|
|
270
245
|
}
|
|
271
|
-
|
|
272
246
|
function useMcLazyQuery(query, options) {
|
|
273
247
|
return react$2.useLazyQuery(query, options);
|
|
274
248
|
}
|
|
275
|
-
|
|
276
249
|
function useMcMutation(mutation, options) {
|
|
277
250
|
return react$2.useMutation(mutation, options);
|
|
278
|
-
}
|
|
251
|
+
}
|
|
279
252
|
|
|
280
253
|
var messages = reactIntl.defineMessages({
|
|
281
254
|
projectsLabel: {
|
|
@@ -306,30 +279,23 @@ var messages = reactIntl.defineMessages({
|
|
|
306
279
|
});
|
|
307
280
|
|
|
308
281
|
const _excluded$1 = ["projectCount"];
|
|
309
|
-
|
|
310
282
|
function ownKeys$8(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; }
|
|
311
|
-
|
|
312
283
|
function _objectSpread$8(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$8(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$8(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
313
284
|
var ProjectsQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchUserProjects" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", alias: { kind: "Name", value: "user" }, name: { kind: "Name", value: "me" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "projects" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "results" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "suspension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "expiry" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }] } }] } }] } }] } }] } }], loc: { start: 0, end: 218, source: { body: "query FetchUserProjects {\n user: me {\n id\n projects {\n results {\n name\n key\n suspension {\n isActive\n }\n expiry {\n isActive\n }\n }\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
314
285
|
const PROJECT_SWITCHER_LABEL_ID = 'project-switcher-label';
|
|
315
|
-
|
|
316
286
|
var _ref3$1 = {
|
|
317
287
|
name: "82a6rk",
|
|
318
288
|
styles: "flex:1"
|
|
319
289
|
} ;
|
|
320
|
-
|
|
321
290
|
var _ref4$1 = {
|
|
322
291
|
name: "zol16h",
|
|
323
292
|
styles: "display:flex;flex:1;align-items:center"
|
|
324
293
|
} ;
|
|
325
|
-
|
|
326
294
|
const ProjectSwitcherValueContainer = _ref5 => {
|
|
327
295
|
let projectCount = _ref5.projectCount,
|
|
328
|
-
|
|
329
|
-
|
|
296
|
+
restProps = _objectWithoutProperties(_ref5, _excluded$1);
|
|
330
297
|
const _useTheme = designSystem.useTheme(),
|
|
331
|
-
|
|
332
|
-
|
|
298
|
+
themedValue = _useTheme.themedValue;
|
|
333
299
|
return jsxRuntime.jsxs("div", {
|
|
334
300
|
css: _ref4$1,
|
|
335
301
|
children: [jsxRuntime.jsx("div", {
|
|
@@ -343,17 +309,14 @@ const ProjectSwitcherValueContainer = _ref5 => {
|
|
|
343
309
|
})]
|
|
344
310
|
});
|
|
345
311
|
};
|
|
346
|
-
|
|
347
312
|
var _ref$2 = {
|
|
348
313
|
name: "16lqnjx",
|
|
349
314
|
styles: "font-size:1.5rem;display:flex"
|
|
350
315
|
} ;
|
|
351
|
-
|
|
352
316
|
var _ref2$2 = {
|
|
353
317
|
name: "10s3lzp",
|
|
354
318
|
styles: "word-wrap:break-word"
|
|
355
319
|
} ;
|
|
356
|
-
|
|
357
320
|
const ProjectSwitcherOption = props => {
|
|
358
321
|
const project = props.data;
|
|
359
322
|
return jsxRuntime.jsx(SelectInput__default["default"].Option, _objectSpread$8(_objectSpread$8({}, props), {}, {
|
|
@@ -388,21 +351,17 @@ const mapProjectsToOptions = memoize__default["default"](projects => _mapInstanc
|
|
|
388
351
|
suspension: project.suspension,
|
|
389
352
|
expiry: project.expiry
|
|
390
353
|
})));
|
|
391
|
-
|
|
392
354
|
const redirectTo = targetUrl => useIsServedByProxy.location.replace(targetUrl);
|
|
393
|
-
|
|
394
355
|
const ProjectSwitcher = props => {
|
|
395
356
|
const intl = reactIntl.useIntl();
|
|
396
|
-
|
|
397
357
|
const _useMcQuery = useMcQuery(ProjectsQuery, {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
358
|
+
onError: sentry.reportErrorToSentry,
|
|
359
|
+
context: {
|
|
360
|
+
target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
|
|
361
|
+
}
|
|
362
|
+
}),
|
|
363
|
+
loading = _useMcQuery.loading,
|
|
364
|
+
data = _useMcQuery.data;
|
|
406
365
|
if (loading) return null;
|
|
407
366
|
return jsxRuntime.jsxs("div", {
|
|
408
367
|
css: /*#__PURE__*/react$1.css("width:", designSystem.designTokens.constraint6, ";" + ("" ), "" ),
|
|
@@ -417,17 +376,15 @@ const ProjectSwitcher = props => {
|
|
|
417
376
|
"aria-labelledby": PROJECT_SWITCHER_LABEL_ID,
|
|
418
377
|
onChange: event => {
|
|
419
378
|
const selectedProjectKey = event.target.value;
|
|
420
|
-
|
|
421
379
|
if (selectedProjectKey !== props.projectKey) {
|
|
422
380
|
var _window$app$__DEVELOP, _window$app$__DEVELOP2;
|
|
423
|
-
|
|
424
381
|
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP2 = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP2 !== void 0 && _window$app$__DEVELOP2.authorizeUrl) {
|
|
425
382
|
configureApollo.setActiveProjectKey(selectedProjectKey);
|
|
426
|
-
}
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
// We simply redirect to a "new" browser page, instead of using the
|
|
427
386
|
// history router. This will simplify a lot of things and avoid possible
|
|
428
387
|
// problems like e.g. resetting the store/state.
|
|
429
|
-
|
|
430
|
-
|
|
431
388
|
redirectTo("/".concat(selectedProjectKey));
|
|
432
389
|
}
|
|
433
390
|
},
|
|
@@ -449,29 +406,23 @@ const ProjectSwitcher = props => {
|
|
|
449
406
|
})]
|
|
450
407
|
});
|
|
451
408
|
};
|
|
452
|
-
|
|
453
409
|
ProjectSwitcher.displayName = 'ProjectSwitcher';
|
|
454
410
|
|
|
455
411
|
// eslint-disable-next-line import/prefer-default-export
|
|
456
412
|
const REQUESTS_IN_FLIGHT_LOADER_DOM_ID = 'loader-for-requests-in-flight';
|
|
457
413
|
|
|
458
|
-
const UserSettingsMenu = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./user-settings-menu-
|
|
459
|
-
/* webpackChunkName: "user-settings-menu" */
|
|
460
|
-
); }));
|
|
414
|
+
const UserSettingsMenu = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./user-settings-menu-c50b95e4.cjs.prod.js' /* webpackChunkName: "user-settings-menu" */); }));
|
|
461
415
|
|
|
462
416
|
var _ref$1 = {
|
|
463
417
|
name: "36bnqj",
|
|
464
418
|
styles: "display:flex;flex:1"
|
|
465
419
|
} ;
|
|
466
|
-
|
|
467
420
|
var _ref2$1 = {
|
|
468
421
|
name: "hlihg7",
|
|
469
422
|
styles: "display:block;float:left;width:28px;height:32px;margin-left:20px"
|
|
470
423
|
} ;
|
|
471
|
-
|
|
472
424
|
const AppBar = props => {
|
|
473
425
|
var _props$user$defaultPr, _props$user;
|
|
474
|
-
|
|
475
426
|
const previousProjectKey = getPreviousProjectKey((_props$user$defaultPr = (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.defaultProjectKey) !== null && _props$user$defaultPr !== void 0 ? _props$user$defaultPr : undefined);
|
|
476
427
|
return jsxRuntime.jsxs("div", {
|
|
477
428
|
css: /*#__PURE__*/react$1.css("background-color:", designSystem.designTokens.colorSurface, ";box-shadow:", applicationComponents.designTokens.shadowForAppbar, ";min-height:", constants.DIMENSIONS.header, ";position:relative;width:100%;z-index:20000;display:flex;align-items:center;justify-content:space-between;" + ("" ), "" ),
|
|
@@ -511,11 +462,11 @@ const AppBar = props => {
|
|
|
511
462
|
shape: "rect",
|
|
512
463
|
size: "s"
|
|
513
464
|
});
|
|
514
|
-
}
|
|
465
|
+
}
|
|
466
|
+
// The `<ProjectSwitcher>` should be rendered only if the
|
|
515
467
|
// user is fetched and the user has projects while the app runs in an project context.
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
if (props.user.projects.total > 0 && props.projectKeyFromUrl) return jsxRuntime.jsx(ProjectSwitcher // In this case it's not necessary to check if the `projectKey` param
|
|
468
|
+
if (props.user.projects.total > 0 && props.projectKeyFromUrl) return jsxRuntime.jsx(ProjectSwitcher
|
|
469
|
+
// In this case it's not necessary to check if the `projectKey` param
|
|
519
470
|
// is included in the list of projects. In such case
|
|
520
471
|
// the dropdown will still be rendered but no project will be selected.
|
|
521
472
|
// This is fine becase the user has still the possibility to "switch"
|
|
@@ -544,7 +495,6 @@ const AppBar = props => {
|
|
|
544
495
|
})]
|
|
545
496
|
});
|
|
546
497
|
};
|
|
547
|
-
|
|
548
498
|
AppBar.displayName = 'AppBar';
|
|
549
499
|
|
|
550
500
|
const ApplicationLoader = props => jsxRuntime.jsxs("div", {
|
|
@@ -555,9 +505,9 @@ const ApplicationLoader = props => jsxRuntime.jsxs("div", {
|
|
|
555
505
|
src: CTLogoSVG__default["default"]
|
|
556
506
|
}) : null]
|
|
557
507
|
});
|
|
558
|
-
|
|
559
508
|
ApplicationLoader.displayName = 'ApplicationLoader';
|
|
560
509
|
|
|
510
|
+
const getBrowserHistory = () => history__default["default"];
|
|
561
511
|
const getBrowserLocale = win => {
|
|
562
512
|
const browserLocale = win && win.navigator && win.navigator.language;
|
|
563
513
|
return l10n.getSupportedLocale(browserLocale);
|
|
@@ -578,49 +528,41 @@ const hideAppLoader = () => {
|
|
|
578
528
|
*/
|
|
579
529
|
if (window.onAppLoaded) window.onAppLoaded();
|
|
580
530
|
};
|
|
581
|
-
|
|
582
531
|
const ConfigureIntlProvider = props => {
|
|
583
532
|
react.useEffect(() => {
|
|
584
533
|
if (props.locale) {
|
|
585
534
|
hideAppLoader();
|
|
586
535
|
}
|
|
587
536
|
}, [props.locale]);
|
|
588
|
-
|
|
589
537
|
if (!props.locale) {
|
|
590
538
|
return null;
|
|
591
539
|
}
|
|
592
|
-
|
|
593
540
|
return jsxRuntime.jsx(reactIntl.IntlProvider, {
|
|
594
541
|
locale: props.locale,
|
|
595
542
|
messages: props.messages,
|
|
596
543
|
children: props.children
|
|
597
544
|
});
|
|
598
545
|
};
|
|
599
|
-
|
|
600
546
|
ConfigureIntlProvider.propTypes = {};
|
|
601
547
|
ConfigureIntlProvider.displayName = 'ConfigureIntlProvider';
|
|
602
548
|
|
|
603
|
-
const ErrorApologizer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./error-apologizer-
|
|
604
|
-
/* webpackChunkName: "error-apologizer" */
|
|
605
|
-
); }));
|
|
549
|
+
const ErrorApologizer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./error-apologizer-24ad0b88.cjs.prod.js' /* webpackChunkName: "error-apologizer" */); }));
|
|
606
550
|
|
|
607
551
|
var ProjectQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchProject" }, variableDefinitions: [{ kind: "VariableDefinition", variable: { kind: "Variable", name: { kind: "Name", value: "projectKey" } }, type: { kind: "NamedType", name: { kind: "Name", value: "String" } }, directives: [] }], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "project" }, arguments: [{ kind: "Argument", name: { kind: "Name", value: "key" }, value: { kind: "Variable", name: { kind: "Name", value: "projectKey" } } }], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "version" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "countries" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "currencies" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "languages" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "initialized" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "expiry" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "daysLeft" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "suspension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "reason" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "allAppliedPermissions" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "allAppliedActionRights" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "allAppliedDataFences" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "InlineFragment", typeCondition: { kind: "NamedType", name: { kind: "Name", value: "StoreDataFence" } }, directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "type" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "__typename" }, arguments: [], directives: [] }] } }] } }, { kind: "Field", name: { kind: "Name", value: "allPermissionsForAllApplications" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "allAppliedPermissions" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "allAppliedActionRights" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "allAppliedMenuVisibilities" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "allAppliedDataFences" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "InlineFragment", typeCondition: { kind: "NamedType", name: { kind: "Name", value: "StoreDataFence" } }, directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "type" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "__typename" }, arguments: [], directives: [] }] } }] } }] } }, { kind: "Field", name: { kind: "Name", value: "owner" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }] } }] } }] } }], loc: { start: 0, end: 997, source: { body: "query FetchProject($projectKey: String) {\n project(key: $projectKey) {\n key\n version\n name\n countries\n currencies\n languages\n initialized\n expiry {\n isActive\n daysLeft\n }\n suspension {\n isActive\n reason\n }\n allAppliedPermissions {\n name\n value\n }\n allAppliedActionRights {\n group\n name\n value\n }\n allAppliedDataFences {\n ... on StoreDataFence {\n type\n name\n value\n group\n __typename\n }\n }\n allPermissionsForAllApplications {\n allAppliedPermissions {\n name\n value\n }\n allAppliedActionRights {\n group\n name\n value\n }\n allAppliedMenuVisibilities {\n name\n value\n }\n allAppliedDataFences {\n ... on StoreDataFence {\n type\n name\n value\n group\n __typename\n }\n }\n }\n owner {\n id\n name\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
608
|
-
|
|
609
552
|
const FetchProject = props => {
|
|
610
553
|
const _useMcQuery = useMcQuery(ProjectQuery, {
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
554
|
+
onError: sentry.reportErrorToSentry,
|
|
555
|
+
variables: {
|
|
556
|
+
projectKey: props.projectKey
|
|
557
|
+
},
|
|
558
|
+
context: {
|
|
559
|
+
target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
|
|
560
|
+
},
|
|
561
|
+
skip: props.skip === true
|
|
562
|
+
}),
|
|
563
|
+
loading = _useMcQuery.loading,
|
|
564
|
+
data = _useMcQuery.data,
|
|
565
|
+
error = _useMcQuery.error;
|
|
624
566
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
625
567
|
children: props.children({
|
|
626
568
|
isLoading: loading,
|
|
@@ -629,7 +571,6 @@ const FetchProject = props => {
|
|
|
629
571
|
})
|
|
630
572
|
});
|
|
631
573
|
};
|
|
632
|
-
|
|
633
574
|
FetchProject.propTypes = {
|
|
634
575
|
projectKey: _pt__default["default"].string,
|
|
635
576
|
skip: _pt__default["default"].bool,
|
|
@@ -638,18 +579,16 @@ FetchProject.propTypes = {
|
|
|
638
579
|
FetchProject.displayName = 'FetchProject';
|
|
639
580
|
|
|
640
581
|
var LoggedInUserQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchLoggedInUser" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", alias: { kind: "Name", value: "user" }, name: { kind: "Name", value: "me" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "email" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "createdAt" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "gravatarHash" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "firstName" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "lastName" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "language" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "numberFormat" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "timeZone" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingId" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingGroup" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingSubgroup" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingTeam" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "launchdarklyTrackingTenant" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultProjectKey" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "businessRole" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "projects" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "total" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "results" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "suspension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "expiry" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "isActive" }, arguments: [], directives: [] }] } }] } }] } }, { kind: "Field", name: { kind: "Name", value: "idTokenUserInfo" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "iss" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "sub" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "aud" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "exp" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "iat" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "email" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "additionalClaims" }, arguments: [], directives: [] }] } }] } }] } }], loc: { start: 0, end: 654, source: { body: "query FetchLoggedInUser {\n user: me {\n id\n email\n createdAt\n gravatarHash\n firstName\n lastName\n language\n numberFormat\n timeZone\n launchdarklyTrackingId\n launchdarklyTrackingGroup\n launchdarklyTrackingSubgroup\n launchdarklyTrackingTeam\n launchdarklyTrackingTenant\n defaultProjectKey\n businessRole\n projects {\n total\n results {\n name\n key\n suspension {\n isActive\n }\n expiry {\n isActive\n }\n }\n }\n idTokenUserInfo {\n iss\n sub\n aud\n exp\n iat\n email\n name\n additionalClaims\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
641
|
-
|
|
642
582
|
const FetchUser = props => {
|
|
643
583
|
const _useMcQuery = useMcQuery(LoggedInUserQuery, {
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
584
|
+
onError: sentry.reportErrorToSentry,
|
|
585
|
+
context: {
|
|
586
|
+
target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND
|
|
587
|
+
}
|
|
588
|
+
}),
|
|
589
|
+
loading = _useMcQuery.loading,
|
|
590
|
+
data = _useMcQuery.data,
|
|
591
|
+
error = _useMcQuery.error;
|
|
653
592
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
654
593
|
children: props.children({
|
|
655
594
|
isLoading: loading,
|
|
@@ -658,20 +597,15 @@ const FetchUser = props => {
|
|
|
658
597
|
})
|
|
659
598
|
});
|
|
660
599
|
};
|
|
661
|
-
|
|
662
600
|
FetchUser.propTypes = {
|
|
663
601
|
children: _pt__default["default"].func.isRequired
|
|
664
602
|
};
|
|
665
603
|
FetchUser.displayName = 'FetchUser';
|
|
666
604
|
|
|
667
|
-
const Navbar = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./navbar-
|
|
668
|
-
/* webpackChunkName: "navbar" */
|
|
669
|
-
); }));
|
|
605
|
+
const Navbar = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./navbar-00a55ccf.cjs.prod.js' /* webpackChunkName: "navbar" */); }));
|
|
670
606
|
|
|
671
607
|
const _excluded = ["icon"];
|
|
672
|
-
|
|
673
608
|
function ownKeys$7(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; }
|
|
674
|
-
|
|
675
609
|
function _objectSpread$7(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$7(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$7(Object(source))).call(_context4, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
676
610
|
const compiledStyles$1 = {
|
|
677
611
|
"global": ":root {\n\n /* Left navigation */\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__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}\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 background-color: transparent;\n}\n\n.navbar-mod__expander___jyAUi:hover {\n background: transparent !important;\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__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 z-index: -1;\n list-style: none;\n opacity: 0.01;\n visibility: hidden;\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 width: calc(\n 205px + 64px -\n var(--spacing-m) * 2\n );\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}\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 visibility: visible;\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__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__fixed-menu___42tD9 {\n flex: 0 0 0;\n position: relative;\n}\n",
|
|
@@ -711,7 +645,6 @@ const compiledStyles$1 = {
|
|
|
711
645
|
}
|
|
712
646
|
};
|
|
713
647
|
const styles$2 = compiledStyles$1.jsonMap;
|
|
714
|
-
|
|
715
648
|
/*
|
|
716
649
|
<DataMenu data={[]}>
|
|
717
650
|
<MenuGroup>
|
|
@@ -725,87 +658,71 @@ const styles$2 = compiledStyles$1.jsonMap;
|
|
|
725
658
|
<MenuExpander/>
|
|
726
659
|
</DataMenu>
|
|
727
660
|
*/
|
|
728
|
-
const HeartIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./heart-000a023d.cjs.prod.js'); }));
|
|
729
|
-
const PaperclipIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./paperclip-23d1e69c.cjs.prod.js'); }));
|
|
730
|
-
const PluginIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./plugin-7e57f237.cjs.prod.js'); }));
|
|
731
|
-
const RocketIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./rocket-3e3f0a98.cjs.prod.js'); }));
|
|
732
|
-
const StarIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./star-f8502efb.cjs.prod.js'); }));
|
|
733
|
-
const ConnectedSquareIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./connected-square-b2e25621.cjs.prod.js'); }));
|
|
734
|
-
const WorldIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./world-e1f9dbf8.cjs.prod.js'); }));
|
|
735
|
-
const TreeStructureIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./tree-structure-f24ee3f6.cjs.prod.js'); }));
|
|
736
|
-
const UserFilledIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./user-filled-815b49a0.cjs.prod.js'); }));
|
|
737
|
-
const SpeedometerIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./speedometer-2881cef6.cjs.prod.js'); }));
|
|
738
|
-
const TagMultiIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./tag-multi-f9acb1c2.cjs.prod.js'); }));
|
|
739
|
-
const CartIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./cart-0698b97d.cjs.prod.js'); }));
|
|
740
|
-
const BoxIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./box-8850277f.cjs.prod.js'); }));
|
|
741
|
-
const GearIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./gear-2890f7fb.cjs.prod.js'); }));
|
|
742
|
-
const ListWithSearchIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./list-with-search-a5b72b33.cjs.prod.js'); }));
|
|
743
661
|
|
|
662
|
+
const HeartIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./heart-ebfab4cd.cjs.prod.js'); }));
|
|
663
|
+
const PaperclipIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./paperclip-6f0b6ae5.cjs.prod.js'); }));
|
|
664
|
+
const PluginIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./plugin-f199ed20.cjs.prod.js'); }));
|
|
665
|
+
const RocketIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./rocket-f0bfae34.cjs.prod.js'); }));
|
|
666
|
+
const StarIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./star-c11b0683.cjs.prod.js'); }));
|
|
667
|
+
const ConnectedSquareIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./connected-square-960e046b.cjs.prod.js'); }));
|
|
668
|
+
const WorldIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./world-f921d80c.cjs.prod.js'); }));
|
|
669
|
+
const TreeStructureIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./tree-structure-690366f9.cjs.prod.js'); }));
|
|
670
|
+
const UserFilledIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./user-filled-58af1ae4.cjs.prod.js'); }));
|
|
671
|
+
const SpeedometerIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./speedometer-0de260cf.cjs.prod.js'); }));
|
|
672
|
+
const TagMultiIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./tag-multi-f8d9c9e6.cjs.prod.js'); }));
|
|
673
|
+
const CartIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./cart-f2fc1baf.cjs.prod.js'); }));
|
|
674
|
+
const BoxIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./box-e17daf6c.cjs.prod.js'); }));
|
|
675
|
+
const GearIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./gear-9b394c43.cjs.prod.js'); }));
|
|
676
|
+
const ListWithSearchIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./list-with-search-e3ccba98.cjs.prod.js'); }));
|
|
744
677
|
// The icon is expected to be the `svg` document as a string.
|
|
745
678
|
// For backwards compatibility purposes, we still support the legacy "icon name",
|
|
746
679
|
// which we then map to one of the pre-defined icons.
|
|
747
680
|
// Eventually, we want to get rid of this "switch" logic.
|
|
748
681
|
const IconSwitcher = _ref => {
|
|
749
682
|
let icon = _ref.icon,
|
|
750
|
-
|
|
751
|
-
|
|
683
|
+
iconProps = _objectWithoutProperties(_ref, _excluded);
|
|
752
684
|
if (_includesInstanceProperty__default["default"](icon).call(icon, '<svg')) {
|
|
753
685
|
return jsxRuntime.jsx(InlineSvg__default["default"], _objectSpread$7({
|
|
754
686
|
data: icon
|
|
755
687
|
}, iconProps));
|
|
756
|
-
}
|
|
757
|
-
|
|
758
|
-
|
|
688
|
+
}
|
|
689
|
+
// Backwards compatibility for apps using the "icon name".
|
|
759
690
|
switch (icon) {
|
|
760
691
|
// Legacy application icons
|
|
761
692
|
// TODO: To be removed once MC applications icons updates are published
|
|
762
693
|
case 'TreeStructureIcon':
|
|
763
694
|
return jsxRuntime.jsx(TreeStructureIcon, _objectSpread$7({}, iconProps));
|
|
764
|
-
|
|
765
695
|
case 'UserFilledIcon':
|
|
766
696
|
return jsxRuntime.jsx(UserFilledIcon, _objectSpread$7({}, iconProps));
|
|
767
|
-
|
|
768
697
|
case 'SpeedometerIcon':
|
|
769
698
|
return jsxRuntime.jsx(SpeedometerIcon, _objectSpread$7({}, iconProps));
|
|
770
|
-
|
|
771
699
|
case 'TagMultiIcon':
|
|
772
700
|
return jsxRuntime.jsx(TagMultiIcon, _objectSpread$7({}, iconProps));
|
|
773
|
-
|
|
774
701
|
case 'CartIcon':
|
|
775
702
|
return jsxRuntime.jsx(CartIcon, _objectSpread$7({}, iconProps));
|
|
776
|
-
|
|
777
703
|
case 'BoxIcon':
|
|
778
704
|
return jsxRuntime.jsx(BoxIcon, _objectSpread$7({}, iconProps));
|
|
779
|
-
|
|
780
705
|
case 'GearIcon':
|
|
781
706
|
return jsxRuntime.jsx(GearIcon, _objectSpread$7({}, iconProps));
|
|
782
|
-
|
|
783
707
|
case 'ListWithSearchIcon':
|
|
784
708
|
return jsxRuntime.jsx(ListWithSearchIcon, _objectSpread$7({}, iconProps));
|
|
785
|
-
// Custom application icons set
|
|
786
709
|
|
|
710
|
+
// Custom application icons set
|
|
787
711
|
case 'HeartIcon':
|
|
788
712
|
return jsxRuntime.jsx(HeartIcon, _objectSpread$7({}, iconProps));
|
|
789
|
-
|
|
790
713
|
case 'PaperclipIcon':
|
|
791
714
|
return jsxRuntime.jsx(PaperclipIcon, _objectSpread$7({}, iconProps));
|
|
792
|
-
|
|
793
715
|
case 'PluginIcon':
|
|
794
716
|
return jsxRuntime.jsx(PluginIcon, _objectSpread$7({}, iconProps));
|
|
795
|
-
|
|
796
717
|
case 'RocketIcon':
|
|
797
718
|
return jsxRuntime.jsx(RocketIcon, _objectSpread$7({}, iconProps));
|
|
798
|
-
|
|
799
719
|
case 'StarIcon':
|
|
800
720
|
return jsxRuntime.jsx(StarIcon, _objectSpread$7({}, iconProps));
|
|
801
|
-
|
|
802
721
|
case 'ConnectedSquareIcon':
|
|
803
722
|
return jsxRuntime.jsx(ConnectedSquareIcon, _objectSpread$7({}, iconProps));
|
|
804
723
|
// For backwards compatibility
|
|
805
|
-
|
|
806
724
|
case 'WorldIcon':
|
|
807
725
|
return jsxRuntime.jsx(WorldIcon, _objectSpread$7({}, iconProps));
|
|
808
|
-
|
|
809
726
|
default:
|
|
810
727
|
return jsxRuntime.jsx("img", {
|
|
811
728
|
src: MissingImageSvg__default["default"],
|
|
@@ -813,10 +730,8 @@ const IconSwitcher = _ref => {
|
|
|
813
730
|
});
|
|
814
731
|
}
|
|
815
732
|
};
|
|
816
|
-
|
|
817
733
|
IconSwitcher.propTypes = {};
|
|
818
734
|
IconSwitcher.displayName = 'IconSwitcher';
|
|
819
|
-
|
|
820
735
|
const MenuExpander = props => {
|
|
821
736
|
return jsxRuntime.jsx("li", {
|
|
822
737
|
className: classnames__default["default"](styles$2['list-item'], styles$2.expander, {
|
|
@@ -833,19 +748,15 @@ const MenuExpander = props => {
|
|
|
833
748
|
})
|
|
834
749
|
}, "expander");
|
|
835
750
|
};
|
|
836
|
-
|
|
837
751
|
MenuExpander.propTypes = {};
|
|
838
752
|
MenuExpander.displayName = 'MenuExpander';
|
|
839
|
-
|
|
840
753
|
const Faded = /*#__PURE__*/_styled__default["default"]("div", {
|
|
841
754
|
target: "ekdrmmp0"
|
|
842
755
|
} )("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;" + ("" ));
|
|
843
|
-
|
|
844
756
|
const MenuGroup = props => {
|
|
845
757
|
if (props.isExpanded && (props.level === 2 && !props.hasSubmenu || props.level === 2 && !props.isActive)) {
|
|
846
758
|
return null;
|
|
847
759
|
}
|
|
848
|
-
|
|
849
760
|
const isSublistActiveWhileIsMenuExpanded = props.level === 2 && props.isActive && props.isExpanded;
|
|
850
761
|
const isSublistActiveWhileIsMenuCollapsed = props.level === 2 && props.isActive && !props.isExpanded;
|
|
851
762
|
return jsxRuntime.jsx("ul", {
|
|
@@ -869,13 +780,10 @@ const MenuGroup = props => {
|
|
|
869
780
|
children: props.children
|
|
870
781
|
});
|
|
871
782
|
};
|
|
872
|
-
|
|
873
783
|
MenuGroup.propTypes = {};
|
|
874
784
|
MenuGroup.displayName = 'MenuGroup';
|
|
875
|
-
|
|
876
785
|
const MenuItem = props => {
|
|
877
786
|
var _props$isMainMenuRout;
|
|
878
|
-
|
|
879
787
|
return jsxRuntime.jsx("li", {
|
|
880
788
|
role: "menuitem",
|
|
881
789
|
className: classnames__default["default"](styles$2['list-item'], {
|
|
@@ -893,16 +801,13 @@ const MenuItem = props => {
|
|
|
893
801
|
})
|
|
894
802
|
});
|
|
895
803
|
};
|
|
896
|
-
|
|
897
804
|
MenuItem.propTypes = {};
|
|
898
805
|
MenuItem.displayName = 'MenuItem';
|
|
899
806
|
const menuItemLinkDefaultProps = {
|
|
900
807
|
exactMatch: false
|
|
901
808
|
};
|
|
902
|
-
|
|
903
809
|
const MenuItemLink = props => {
|
|
904
810
|
const redirectTo = targetUrl => useIsServedByProxy.location.replace(targetUrl);
|
|
905
|
-
|
|
906
811
|
if (props.linkTo) {
|
|
907
812
|
return jsxRuntime.jsx(reactRouterDom.NavLink, {
|
|
908
813
|
to: props.linkTo,
|
|
@@ -921,32 +826,24 @@ const MenuItemLink = props => {
|
|
|
921
826
|
children: props.children
|
|
922
827
|
});
|
|
923
828
|
}
|
|
924
|
-
|
|
925
829
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
926
830
|
children: props.children
|
|
927
831
|
});
|
|
928
832
|
};
|
|
929
|
-
|
|
930
833
|
MenuItemLink.propTypes = {};
|
|
931
834
|
MenuItemLink.displayName = 'MenuItemLink';
|
|
932
835
|
MenuItemLink.defaultProps = menuItemLinkDefaultProps;
|
|
933
|
-
|
|
934
836
|
const MenuItemDivider = () => jsxRuntime.jsx("div", {
|
|
935
837
|
className: styles$2.divider
|
|
936
838
|
});
|
|
937
|
-
|
|
938
839
|
MenuItemDivider.displayName = 'MenuItemDivider';
|
|
939
|
-
|
|
940
840
|
const isEveryMenuVisibilitySetToHidden = (menuVisibilities, namesOfMenuVisibilities) => _Array$isArray__default["default"](namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty__default["default"](namesOfMenuVisibilities).call(namesOfMenuVisibilities, nameOfMenuVisibility => menuVisibilities && menuVisibilities[nameOfMenuVisibility] === true);
|
|
941
|
-
|
|
942
841
|
const restrictedMenuItemDefaultProps = {
|
|
943
842
|
permissions: []
|
|
944
843
|
};
|
|
945
|
-
|
|
946
844
|
function isLongLivedFlag(flag) {
|
|
947
845
|
return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
|
|
948
846
|
}
|
|
949
|
-
|
|
950
847
|
const RestrictedMenuItem = props => {
|
|
951
848
|
// NOTE: Custom application are activated/deactivated while their
|
|
952
849
|
// visibility is not controlled via a visibiility overwrite.
|
|
@@ -960,11 +857,11 @@ const RestrictedMenuItem = props => {
|
|
|
960
857
|
switch (demandedDataFence.type) {
|
|
961
858
|
case 'store':
|
|
962
859
|
return demandedDataFence.actualDataFenceValues;
|
|
963
|
-
|
|
964
860
|
default:
|
|
965
861
|
return null;
|
|
966
862
|
}
|
|
967
|
-
}
|
|
863
|
+
}
|
|
864
|
+
// Always check that some of the given permissions match.
|
|
968
865
|
,
|
|
969
866
|
shouldMatchSomePermissions: true,
|
|
970
867
|
projectPermissions: props.projectPermissions,
|
|
@@ -972,31 +869,24 @@ const RestrictedMenuItem = props => {
|
|
|
972
869
|
}) : jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
973
870
|
children: props.children
|
|
974
871
|
});
|
|
975
|
-
|
|
976
872
|
if (props.featureToggle) {
|
|
977
873
|
// A regular short-lived feature toggle
|
|
978
|
-
if (flagVariation === true) return permissionsWrapper;
|
|
979
|
-
|
|
874
|
+
if (flagVariation === true) return permissionsWrapper;
|
|
875
|
+
// A long-lived feature toggle with `{ value: boolean, string: reason }`
|
|
980
876
|
if (isLongLivedFlag(flagVariation) && flagVariation.value === true) return permissionsWrapper;
|
|
981
877
|
return null;
|
|
982
878
|
}
|
|
983
|
-
|
|
984
879
|
return permissionsWrapper;
|
|
985
880
|
};
|
|
986
|
-
|
|
987
881
|
RestrictedMenuItem.propTypes = {};
|
|
988
882
|
RestrictedMenuItem.displayName = 'RestrictedMenuItem';
|
|
989
883
|
RestrictedMenuItem.defaultProps = restrictedMenuItemDefaultProps;
|
|
990
|
-
|
|
991
884
|
const MenuLabel = props => {
|
|
992
885
|
var _context;
|
|
993
|
-
|
|
994
886
|
const localizedLabel = _findInstanceProperty__default["default"](_context = props.labelAllLocales).call(_context, loc => {
|
|
995
887
|
var _context2;
|
|
996
|
-
|
|
997
888
|
return _startsWithInstanceProperty__default["default"](_context2 = props.applicationLocale).call(_context2, loc.locale);
|
|
998
889
|
});
|
|
999
|
-
|
|
1000
890
|
if (localizedLabel) return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
1001
891
|
children: localizedLabel.value
|
|
1002
892
|
});
|
|
@@ -1007,7 +897,6 @@ const MenuLabel = props => {
|
|
|
1007
897
|
children: constants$1.NO_VALUE_FALLBACK
|
|
1008
898
|
});
|
|
1009
899
|
};
|
|
1010
|
-
|
|
1011
900
|
MenuLabel.propTypes = {
|
|
1012
901
|
labelAllLocales: _pt__default["default"].arrayOf(_pt__default["default"].any).isRequired,
|
|
1013
902
|
defaultLabel: _pt__default["default"].string,
|
|
@@ -1035,6 +924,7 @@ const useLoadingMenuLayoutEffect = () => {
|
|
|
1035
924
|
}, [isForcedMenuOpen]);
|
|
1036
925
|
};
|
|
1037
926
|
|
|
927
|
+
// https://babeljs.io/blog/2017/09/11/zero-config-with-babel-macros
|
|
1038
928
|
const compiledStyles = {
|
|
1039
929
|
"global": ":root {\n\n /* Left navigation */\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__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}\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 background-color: transparent;\n}\n\n.navbar-mod__expander___jyAUi:hover {\n background: transparent !important;\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__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 z-index: -1;\n list-style: none;\n opacity: 0.01;\n visibility: hidden;\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 width: calc(\n 205px + 64px -\n var(--spacing-m) * 2\n );\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}\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 visibility: visible;\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__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__fixed-menu___42tD9 {\n flex: 0 0 0;\n position: relative;\n}\n",
|
|
1040
930
|
"jsonMap": {
|
|
@@ -1073,10 +963,8 @@ const compiledStyles = {
|
|
|
1073
963
|
}
|
|
1074
964
|
};
|
|
1075
965
|
const styles$1 = compiledStyles.jsonMap;
|
|
1076
|
-
|
|
1077
966
|
const LoadingNavBar = () => {
|
|
1078
967
|
var _context;
|
|
1079
|
-
|
|
1080
968
|
const ref = react.useRef(null);
|
|
1081
969
|
useLoadingMenuLayoutEffect();
|
|
1082
970
|
return jsxRuntime.jsx(NavBarLayout, {
|
|
@@ -1103,35 +991,29 @@ const LoadingNavBar = () => {
|
|
|
1103
991
|
})
|
|
1104
992
|
});
|
|
1105
993
|
};
|
|
1106
|
-
|
|
1107
994
|
LoadingNavBar.displayName = 'LoadingNavBar';
|
|
1108
995
|
|
|
1109
|
-
const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-
|
|
1110
|
-
/* webpackChunkName: "project-container" */
|
|
1111
|
-
); }));
|
|
996
|
+
const ProjectContainer = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./project-container-e7f950b0.cjs.prod.js' /* webpackChunkName: "project-container" */); }));
|
|
1112
997
|
|
|
1113
998
|
const getSelectedDataLocaleForProject = projectLocales => {
|
|
1114
|
-
const cachedDataLocale = window.localStorage.getItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE);
|
|
1115
|
-
|
|
999
|
+
const cachedDataLocale = window.localStorage.getItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE);
|
|
1000
|
+
// Make sure the cached locale is listed in the selected project
|
|
1116
1001
|
const isCachedDataLocaleIncludedInProjectLanguages = _includesInstanceProperty__default["default"](projectLocales).call(projectLocales, cachedDataLocale || '');
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1002
|
+
if (cachedDataLocale && isCachedDataLocaleIncludedInProjectLanguages) return cachedDataLocale;
|
|
1003
|
+
// Pick the first locale from the list
|
|
1004
|
+
const defaultDataLocaleForProject = projectLocales[0];
|
|
1005
|
+
// Cache it
|
|
1122
1006
|
window.localStorage.setItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE, defaultDataLocaleForProject);
|
|
1123
1007
|
return defaultDataLocaleForProject;
|
|
1124
1008
|
};
|
|
1125
|
-
|
|
1126
1009
|
const ProjectDataLocale = props => {
|
|
1127
1010
|
const _useState = react.useState(getSelectedDataLocaleForProject(props.locales)),
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1011
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1012
|
+
locale = _useState2[0],
|
|
1013
|
+
setLocale = _useState2[1];
|
|
1132
1014
|
const handleSetProjectDataLocale = react.useCallback(locale => {
|
|
1133
|
-
setLocale(locale);
|
|
1134
|
-
|
|
1015
|
+
setLocale(locale);
|
|
1016
|
+
// Cache it
|
|
1135
1017
|
window.localStorage.setItem(constants.STORAGE_KEYS.SELECTED_DATA_LOCALE, locale);
|
|
1136
1018
|
}, []);
|
|
1137
1019
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
@@ -1141,7 +1023,6 @@ const ProjectDataLocale = props => {
|
|
|
1141
1023
|
})
|
|
1142
1024
|
});
|
|
1143
1025
|
};
|
|
1144
|
-
|
|
1145
1026
|
ProjectDataLocale.propTypes = {
|
|
1146
1027
|
locales: _pt__default["default"].arrayOf(_pt__default["default"].string).isRequired,
|
|
1147
1028
|
children: _pt__default["default"].func.isRequired
|
|
@@ -1149,30 +1030,22 @@ ProjectDataLocale.propTypes = {
|
|
|
1149
1030
|
ProjectDataLocale.displayName = 'ProjectDataLocale';
|
|
1150
1031
|
|
|
1151
1032
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct__default["default"](Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
1152
|
-
|
|
1153
1033
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct__default["default"]) return false; if (_Reflect$construct__default["default"].sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
1154
|
-
|
|
1155
1034
|
let ErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
1156
1035
|
_inherits(ErrorBoundary, _Component);
|
|
1157
|
-
|
|
1158
1036
|
var _super = _createSuper(ErrorBoundary);
|
|
1159
|
-
|
|
1160
1037
|
function ErrorBoundary() {
|
|
1161
1038
|
var _this;
|
|
1162
|
-
|
|
1163
1039
|
_classCallCheck(this, ErrorBoundary);
|
|
1164
|
-
|
|
1165
1040
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
1166
1041
|
args[_key] = arguments[_key];
|
|
1167
1042
|
}
|
|
1168
|
-
|
|
1169
1043
|
_this = _super.call(this, ...args);
|
|
1170
1044
|
_this.state = {
|
|
1171
1045
|
hasError: false
|
|
1172
1046
|
};
|
|
1173
1047
|
return _this;
|
|
1174
1048
|
}
|
|
1175
|
-
|
|
1176
1049
|
_createClass(ErrorBoundary, [{
|
|
1177
1050
|
key: "componentDidUpdate",
|
|
1178
1051
|
value: function componentDidUpdate(prevProps) {
|
|
@@ -1198,26 +1071,22 @@ let ErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
|
1198
1071
|
if (this.state.hasError) {
|
|
1199
1072
|
return jsxRuntime.jsx(ErrorApologizer, {});
|
|
1200
1073
|
}
|
|
1201
|
-
|
|
1202
1074
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
1203
1075
|
children: this.props.children
|
|
1204
1076
|
});
|
|
1205
1077
|
}
|
|
1206
1078
|
}], [{
|
|
1207
1079
|
key: "getDerivedStateFromError",
|
|
1208
|
-
value: function
|
|
1209
|
-
|
|
1210
|
-
getDerivedStateFromError() {
|
|
1080
|
+
value: function getDerivedStateFromError( /* error */
|
|
1081
|
+
) {
|
|
1211
1082
|
// Update state so the next render will show the fallback UI.
|
|
1212
1083
|
return {
|
|
1213
1084
|
hasError: true
|
|
1214
1085
|
};
|
|
1215
1086
|
}
|
|
1216
1087
|
}]);
|
|
1217
|
-
|
|
1218
1088
|
return ErrorBoundary;
|
|
1219
1089
|
}(react.Component);
|
|
1220
|
-
|
|
1221
1090
|
ErrorBoundary.propTypes = {};
|
|
1222
1091
|
|
|
1223
1092
|
const ButlerContainer = /*#__PURE__*/_styled__default["default"]("div", {
|
|
@@ -1236,22 +1105,20 @@ var pimIndexerStates = {
|
|
|
1236
1105
|
NOT_INDEXED: 'NOT_INDEXED'
|
|
1237
1106
|
};
|
|
1238
1107
|
|
|
1239
|
-
const QuickAccess = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./quick-access-
|
|
1240
|
-
/* webpackChunkName: "quick-access" */
|
|
1241
|
-
); }));
|
|
1108
|
+
const QuickAccess = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./quick-access-ff6fee75.cjs.prod.js' /* webpackChunkName: "quick-access" */); }));
|
|
1242
1109
|
|
|
1243
1110
|
const QuickAccessTrigger = props => {
|
|
1244
1111
|
const _useState = react.useState(false),
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1112
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1113
|
+
isVisible = _useState2[0],
|
|
1114
|
+
setIsVisible = _useState2[1];
|
|
1249
1115
|
const open = react.useCallback(() => {
|
|
1250
1116
|
setIsVisible(true);
|
|
1251
1117
|
}, []);
|
|
1252
1118
|
const close = react.useCallback(() => {
|
|
1253
1119
|
setIsVisible(false);
|
|
1254
|
-
}, []);
|
|
1120
|
+
}, []);
|
|
1121
|
+
// We store the information of whether a project is indexed by pim-indexer,
|
|
1255
1122
|
// to avoid having to refetch that information every time Quick Access is
|
|
1256
1123
|
// opened. We can't move the information to the quick-access.js component
|
|
1257
1124
|
// as that component unmounts and would lose its state.
|
|
@@ -1261,46 +1128,44 @@ const QuickAccessTrigger = props => {
|
|
|
1261
1128
|
//
|
|
1262
1129
|
// We don't need to update this information when the project key changes,
|
|
1263
1130
|
// as changing a project always results in a full page reload anyways.
|
|
1264
|
-
|
|
1265
1131
|
const _useState3 = react.useState(pimIndexerStates.UNCHECKED),
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1132
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1133
|
+
pimIndexerState = _useState4[0],
|
|
1134
|
+
setPimIndexerState = _useState4[1];
|
|
1270
1135
|
const handlePimIndexerStateChange = react.useCallback(nextPimIndexerState => {
|
|
1271
1136
|
setPimIndexerState(nextPimIndexerState);
|
|
1272
1137
|
}, []);
|
|
1273
1138
|
const keyHandler = react.useCallback(event => {
|
|
1274
|
-
const hotKey = 'f';
|
|
1275
|
-
|
|
1276
|
-
if (event.ctrlKey || event.altKey || event.shiftKey || event.metaKey) return;
|
|
1139
|
+
const hotKey = 'f';
|
|
1140
|
+
// avoid interfering with any key combinations using modifier keys
|
|
1141
|
+
if (event.ctrlKey || event.altKey || event.shiftKey || event.metaKey) return;
|
|
1277
1142
|
|
|
1143
|
+
// Let users close QuickAccess by pressing Escape
|
|
1278
1144
|
if (event.key === 'Escape' && event.target.id === 'quick-access-search-input') {
|
|
1279
1145
|
close();
|
|
1280
1146
|
return;
|
|
1281
|
-
}
|
|
1282
|
-
// open the QuickAccess when nothing was focused, so target is document.body
|
|
1283
|
-
|
|
1147
|
+
}
|
|
1284
1148
|
|
|
1285
|
-
|
|
1149
|
+
// Avoid interfering with any other elements. We only
|
|
1150
|
+
// open the QuickAccess when nothing was focused, so target is document.body
|
|
1151
|
+
if (event.target !== document.body &&
|
|
1152
|
+
// tabIndex="-1" has a special meaning
|
|
1286
1153
|
// It will make the element focusable, while hiding it from the
|
|
1287
1154
|
// navigation. It is typically used for modals and overlays.
|
|
1288
1155
|
// react-modal uses it for example. We want to treat those elements
|
|
1289
1156
|
// similar to document.body.
|
|
1290
1157
|
// See https://stackoverflow.com/a/32912224
|
|
1291
|
-
event.target.getAttribute('tabindex') !== '-1' &&
|
|
1158
|
+
event.target.getAttribute('tabindex') !== '-1' &&
|
|
1159
|
+
// Do not prevent Quick Access from opening when a link has focus
|
|
1292
1160
|
event.target.nodeName !== 'A') return;
|
|
1293
|
-
|
|
1294
1161
|
if (event.key === hotKey) {
|
|
1295
1162
|
if (!isVisible) {
|
|
1296
1163
|
// prevent the letter from appearing in the search input when
|
|
1297
1164
|
// it is the key press that lead to opening Quick Access
|
|
1298
1165
|
event.preventDefault();
|
|
1299
1166
|
}
|
|
1300
|
-
|
|
1301
1167
|
open();
|
|
1302
1168
|
}
|
|
1303
|
-
|
|
1304
1169
|
return;
|
|
1305
1170
|
}, [close, isVisible, open]);
|
|
1306
1171
|
react.useEffect(() => {
|
|
@@ -1324,17 +1189,12 @@ const QuickAccessTrigger = props => {
|
|
|
1324
1189
|
})
|
|
1325
1190
|
});
|
|
1326
1191
|
};
|
|
1327
|
-
|
|
1328
1192
|
QuickAccessTrigger.propTypes = {};
|
|
1329
1193
|
QuickAccessTrigger.displayName = 'QuickAccessTrigger';
|
|
1330
1194
|
|
|
1331
|
-
const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-
|
|
1332
|
-
/* webpackChunkName: "redirect-to-logout" */
|
|
1333
|
-
); }));
|
|
1195
|
+
const RedirectToLogout = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-logout-838758f3.cjs.prod.js' /* webpackChunkName: "redirect-to-logout" */); }));
|
|
1334
1196
|
|
|
1335
|
-
const RedirectToProjectCreate = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-project-create-
|
|
1336
|
-
/* webpackChunkName: "redirect-to-project-create" */
|
|
1337
|
-
); }));
|
|
1197
|
+
const RedirectToProjectCreate = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-project-create-2266c427.cjs.prod.js' /* webpackChunkName: "redirect-to-project-create" */); }));
|
|
1338
1198
|
|
|
1339
1199
|
/*
|
|
1340
1200
|
* This file contains a list of all feature toggles used within
|
|
@@ -1354,38 +1214,34 @@ const RedirectToProjectCreate = /*#__PURE__*/react.lazy(() => Promise.resolve().
|
|
|
1354
1214
|
* fetched from LaunchDarkly (without default values flopflip will default
|
|
1355
1215
|
* them to off until fetched).
|
|
1356
1216
|
*/
|
|
1217
|
+
|
|
1357
1218
|
const UI_REDESIGN = 'uiRedesign';
|
|
1358
1219
|
const FLAGS = {
|
|
1359
|
-
[UI_REDESIGN]:
|
|
1220
|
+
[UI_REDESIGN]: true
|
|
1360
1221
|
};
|
|
1361
1222
|
|
|
1362
1223
|
function ownKeys$6(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; }
|
|
1363
|
-
|
|
1364
1224
|
function _objectSpread$6(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$6(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$6(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
1365
1225
|
var FetchAllMenuFeatureToggles = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchAllMenuFeatureToggles" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "allFeatureToggles" }, arguments: [], directives: [] }] } }], loc: { start: 0, end: 57, source: { body: "query FetchAllMenuFeatureToggles {\n allFeatureToggles\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
1366
1226
|
const defaultApiUrl = window.location.origin;
|
|
1367
|
-
|
|
1368
1227
|
const getDefaultedFeatureToggles = allFeatureToggles => _reduceInstanceProperty__default["default"](allFeatureToggles).call(allFeatureToggles, (previouslyDefaultedFeatureToggles, nextFeatureToggle) => _objectSpread$6(_objectSpread$6({}, previouslyDefaultedFeatureToggles), {}, {
|
|
1369
1228
|
[nextFeatureToggle]: false
|
|
1370
1229
|
}), {});
|
|
1371
|
-
|
|
1372
1230
|
const useAllMenuFeatureToggles = () => {
|
|
1373
1231
|
const servedByProxy = useIsServedByProxy.useIsServedByProxy();
|
|
1374
1232
|
const mcProxyApiUrl = applicationShellConnectors.useApplicationContext(applicationContext => applicationContext.environment.mcProxyApiUrl);
|
|
1375
|
-
|
|
1376
1233
|
const _useMcQuery = useMcQuery(FetchAllMenuFeatureToggles, {
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1234
|
+
fetchPolicy: 'cache-and-network',
|
|
1235
|
+
skip: !servedByProxy,
|
|
1236
|
+
onError: sentry.reportErrorToSentry,
|
|
1237
|
+
context: {
|
|
1238
|
+
uri: "".concat(mcProxyApiUrl || defaultApiUrl, "/api/graphql"),
|
|
1239
|
+
skipGraphQlTargetCheck: true
|
|
1240
|
+
}
|
|
1241
|
+
}),
|
|
1242
|
+
data = _useMcQuery.data,
|
|
1243
|
+
refetch = _useMcQuery.refetch,
|
|
1244
|
+
loading = _useMcQuery.loading;
|
|
1389
1245
|
return {
|
|
1390
1246
|
isLoading: loading,
|
|
1391
1247
|
refetch,
|
|
@@ -1394,17 +1250,14 @@ const useAllMenuFeatureToggles = () => {
|
|
|
1394
1250
|
};
|
|
1395
1251
|
|
|
1396
1252
|
function ownKeys$5(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; }
|
|
1397
|
-
|
|
1398
1253
|
function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$5(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$5(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
1399
1254
|
var AllFeaturesQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "AllFeatures" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "allFeatures" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "reason" }, arguments: [], directives: [] }] } }] } }], loc: { start: 0, end: 72, source: { body: "query AllFeatures {\n allFeatures {\n name\n value\n reason\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
1400
1255
|
// This value is hard-coded here because we want to make sure that the
|
|
1401
1256
|
// app uses our account of LD. The value is meant to be public, so there
|
|
1402
1257
|
// is no need to be concerned about security.
|
|
1403
1258
|
const ldClientSideIdProduction = '5979d95f6040390cd07b5e01';
|
|
1404
|
-
|
|
1405
1259
|
function getUserCustomFieldsForLaunchDarklyAdapter(user, projectKey) {
|
|
1406
1260
|
var _user$launchdarklyTra, _user$launchdarklyTra2, _user$launchdarklyTra3, _user$launchdarklyTra4, _user$launchdarklyTra5;
|
|
1407
|
-
|
|
1408
1261
|
return {
|
|
1409
1262
|
project: projectKey !== null && projectKey !== void 0 ? projectKey : '',
|
|
1410
1263
|
id: (_user$launchdarklyTra = user === null || user === void 0 ? void 0 : user.launchdarklyTrackingId) !== null && _user$launchdarklyTra !== void 0 ? _user$launchdarklyTra : '',
|
|
@@ -1414,16 +1267,13 @@ function getUserCustomFieldsForLaunchDarklyAdapter(user, projectKey) {
|
|
|
1414
1267
|
tenant: (_user$launchdarklyTra5 = user === null || user === void 0 ? void 0 : user.launchdarklyTrackingTenant) !== null && _user$launchdarklyTra5 !== void 0 ? _user$launchdarklyTra5 : ''
|
|
1415
1268
|
};
|
|
1416
1269
|
}
|
|
1417
|
-
|
|
1418
1270
|
const parseFlags = fetchedFlags => {
|
|
1419
1271
|
var _context;
|
|
1420
|
-
|
|
1421
1272
|
return _Object$fromEntries__default["default"](_mapInstanceProperty__default["default"](_context = fetchedFlags.allFeatures).call(_context, fetchedFlag => [fetchedFlag.name, {
|
|
1422
1273
|
value: fetchedFlag.value,
|
|
1423
1274
|
reason: fetchedFlag.reason
|
|
1424
1275
|
}]));
|
|
1425
1276
|
};
|
|
1426
|
-
|
|
1427
1277
|
const SetupFlopFlipProvider = props => {
|
|
1428
1278
|
const apolloClient = react$2.useApolloClient();
|
|
1429
1279
|
const enableLongLivedFeatureFlags = applicationShellConnectors.useApplicationContext(context => context.environment.enableLongLivedFeatureFlags);
|
|
@@ -1439,7 +1289,6 @@ const SetupFlopFlipProvider = props => {
|
|
|
1439
1289
|
const defaultFlags = react.useMemo(() => _objectSpread$5(_objectSpread$5(_objectSpread$5({}, FLAGS), allMenuFeatureToggles.allFeatureToggles), props.defaultFlags), [allMenuFeatureToggles.allFeatureToggles, props.defaultFlags]);
|
|
1440
1290
|
const adapterArgs = react.useMemo(() => {
|
|
1441
1291
|
var _props$user, _props$ldClientSideId, _props$user2, _props$user3;
|
|
1442
|
-
|
|
1443
1292
|
return {
|
|
1444
1293
|
user: {
|
|
1445
1294
|
key: (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.id
|
|
@@ -1474,7 +1323,6 @@ const SetupFlopFlipProvider = props => {
|
|
|
1474
1323
|
}
|
|
1475
1324
|
};
|
|
1476
1325
|
}, [apolloClient, flags, props.ldClientSideId, props.projectKey, props.user]);
|
|
1477
|
-
|
|
1478
1326
|
return jsxRuntime.jsx(reactBroadcast.ConfigureFlopFlip, {
|
|
1479
1327
|
adapter: combineAdapters__default["default"],
|
|
1480
1328
|
adapterArgs: adapterArgs,
|
|
@@ -1486,28 +1334,23 @@ const SetupFlopFlipProvider = props => {
|
|
|
1486
1334
|
SetupFlopFlipProvider.propTypes = {};
|
|
1487
1335
|
SetupFlopFlipProvider.displayName = 'SetupFlopFlipProvider';
|
|
1488
1336
|
|
|
1489
|
-
const NewDesignReleaseInfoDialog = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./new-design-release-info-dialog-
|
|
1490
|
-
|
|
1337
|
+
const NewDesignReleaseInfoDialog = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./new-design-release-info-dialog-730137e2.cjs.prod.js'); }));
|
|
1491
1338
|
function useDisableRedesignAnnouncement() {
|
|
1492
1339
|
const disableRedesignAnnouncement = applicationShellConnectors.useApplicationContext(context => context.environment.disableRedesignAnnouncement);
|
|
1493
1340
|
return Boolean(disableRedesignAnnouncement);
|
|
1494
1341
|
}
|
|
1495
|
-
|
|
1496
1342
|
const ThemeSwitcher = () => {
|
|
1497
1343
|
const isNewThemeEnabled = reactBroadcast.useFeatureToggle(UI_REDESIGN);
|
|
1498
1344
|
const isRedesignAnnouncementDisabled = useDisableRedesignAnnouncement();
|
|
1499
1345
|
const theme = isNewThemeEnabled ? 'test' : 'default';
|
|
1500
|
-
|
|
1501
1346
|
const _useState = react.useState(window.localStorage.getItem(constants.STORAGE_KEYS.IS_NEW_DESIGN_RELEASE_NOTIFICATION_CLOSED) === 'true'),
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1347
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1348
|
+
hasUserSeenNewDesignReleaseNotificationDialog = _useState2[0],
|
|
1349
|
+
setHasUserSeenNewDesignReleaseNotificationDialog = _useState2[1];
|
|
1506
1350
|
const handleCloseDialog = () => {
|
|
1507
1351
|
window.localStorage.setItem(constants.STORAGE_KEYS.IS_NEW_DESIGN_RELEASE_NOTIFICATION_CLOSED, 'true');
|
|
1508
1352
|
setHasUserSeenNewDesignReleaseNotificationDialog(true);
|
|
1509
1353
|
};
|
|
1510
|
-
|
|
1511
1354
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1512
1355
|
children: [jsxRuntime.jsx(designSystem.ThemeProvider, {
|
|
1513
1356
|
theme: theme,
|
|
@@ -1518,61 +1361,51 @@ const ThemeSwitcher = () => {
|
|
|
1518
1361
|
});
|
|
1519
1362
|
};
|
|
1520
1363
|
|
|
1521
|
-
const VersionTracker = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./version-tracker-
|
|
1522
|
-
/* webpackChunkName: "version-tracker" */
|
|
1523
|
-
); }));
|
|
1364
|
+
const VersionTracker = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./version-tracker-4ad14ed3.cjs.prod.js' /* webpackChunkName: "version-tracker" */); }));
|
|
1524
1365
|
|
|
1525
1366
|
function ownKeys$4(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; }
|
|
1526
|
-
|
|
1527
1367
|
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$4(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
1528
|
-
|
|
1529
1368
|
const getHasUnauthorizedError = graphQLErrors => _findInstanceProperty__default["default"](graphQLErrors).call(graphQLErrors, gqlError => gqlError.extensions && gqlError.extensions.code && gqlError.extensions.code === 'UNAUTHENTICATED');
|
|
1530
|
-
|
|
1531
1369
|
const getHasUserBeenDeletedError = graphQLErrors => _findInstanceProperty__default["default"](graphQLErrors).call(graphQLErrors, gqlError => {
|
|
1532
1370
|
var _context;
|
|
1533
|
-
|
|
1534
|
-
|
|
1371
|
+
return gqlError.message &&
|
|
1372
|
+
// NOTE: The CTP API does not provide an error code in this case.
|
|
1535
1373
|
_includesInstanceProperty__default["default"](_context = gqlError.message).call(_context, 'was not found.');
|
|
1536
1374
|
});
|
|
1537
|
-
|
|
1538
1375
|
const MainContainer = /*#__PURE__*/_styled__default["default"]("main", {
|
|
1539
1376
|
target: "esrtekc0"
|
|
1540
1377
|
} )({
|
|
1541
1378
|
name: "1rdshd",
|
|
1542
1379
|
styles: "grid-column:2;grid-row:3;min-width:0;overflow-x:hidden;overflow-y:scroll;display:flex;flex-direction:column;position:relative"
|
|
1543
1380
|
} );
|
|
1381
|
+
|
|
1544
1382
|
/**
|
|
1545
1383
|
* This component is rendered whenever the user is considered "authenticated"
|
|
1546
1384
|
* and contains the "restricted" application part.
|
|
1547
1385
|
*/
|
|
1548
|
-
|
|
1549
1386
|
var _ref = {
|
|
1550
1387
|
name: "tlwzvn",
|
|
1551
1388
|
styles: "flex-grow:1;display:flex;flex-direction:column;position:relative;>*:not(:first-of-type){flex-grow:1;display:flex;flex-direction:column;}"
|
|
1552
1389
|
} ;
|
|
1553
|
-
|
|
1554
1390
|
var _ref2 = {
|
|
1555
1391
|
name: "14w5yo3",
|
|
1556
1392
|
styles: "position:relative;grid-row:3;display:flex;flex-direction:column"
|
|
1557
1393
|
} ;
|
|
1558
|
-
|
|
1559
1394
|
var _ref3 = {
|
|
1560
1395
|
name: "fqjitq",
|
|
1561
1396
|
styles: "grid-row:2;grid-column:1/3"
|
|
1562
1397
|
} ;
|
|
1563
|
-
|
|
1564
1398
|
var _ref4 = {
|
|
1565
1399
|
name: "8bdwu0",
|
|
1566
1400
|
styles: "grid-row:1;grid-column:1/3"
|
|
1567
1401
|
} ;
|
|
1568
|
-
|
|
1569
1402
|
const ApplicationShellAuthenticated = props => {
|
|
1570
|
-
const applicationEnvironment = applicationShellConnectors.useApplicationContext(context => context.environment);
|
|
1403
|
+
const applicationEnvironment = applicationShellConnectors.useApplicationContext(context => context.environment);
|
|
1404
|
+
// TODO: using this hook will subscribe the component to route updates.
|
|
1571
1405
|
// This is currently useful for detecting a change in the project key
|
|
1572
1406
|
// from URL ("/" --> "/:projectKey").
|
|
1573
1407
|
// However, every route change will trigger a re-render. This is probably
|
|
1574
1408
|
// ok-ish but we might want to look into a more performant solution.
|
|
1575
|
-
|
|
1576
1409
|
const location = reactRouterDom.useLocation();
|
|
1577
1410
|
const notificationsGlobalRef = react.useRef(null);
|
|
1578
1411
|
const notificationsPageRef = react.useRef(null);
|
|
@@ -1583,15 +1416,13 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1583
1416
|
return jsxRuntime.jsx(FetchUser, {
|
|
1584
1417
|
children: _ref5 => {
|
|
1585
1418
|
let isLoadingUser = _ref5.isLoading,
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1419
|
+
user = _ref5.user,
|
|
1420
|
+
error = _ref5.error;
|
|
1589
1421
|
if (error) {
|
|
1590
1422
|
// In case there is an unauthorized error, we redirect to the login page
|
|
1591
1423
|
if (error.graphQLErrors && _Array$isArray__default["default"](error.graphQLErrors)) {
|
|
1592
1424
|
const hasUnauthorizedError = getHasUnauthorizedError(error.graphQLErrors);
|
|
1593
1425
|
const hasUserBeenDeletedError = getHasUserBeenDeletedError(error.graphQLErrors);
|
|
1594
|
-
|
|
1595
1426
|
if (hasUnauthorizedError || hasUserBeenDeletedError) {
|
|
1596
1427
|
let logoutReason;
|
|
1597
1428
|
if (hasUnauthorizedError) logoutReason = constants$1.LOGOUT_REASONS.UNAUTHORIZED;else if (hasUserBeenDeletedError) logoutReason = constants$1.LOGOUT_REASONS.DELETED;
|
|
@@ -1599,17 +1430,16 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1599
1430
|
reason: logoutReason
|
|
1600
1431
|
});
|
|
1601
1432
|
}
|
|
1602
|
-
}
|
|
1433
|
+
}
|
|
1434
|
+
// Since we do not know the locale of the user, we pick it from the
|
|
1603
1435
|
// user's browser to attempt to match the language for the correct translations.
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
1436
|
const userLocale = getBrowserLocale(window);
|
|
1607
1437
|
return jsxRuntime.jsx(i18n.AsyncLocaleData, {
|
|
1608
1438
|
locale: userLocale,
|
|
1609
1439
|
applicationMessages: props.applicationMessages,
|
|
1610
1440
|
children: _ref6 => {
|
|
1611
1441
|
let locale = _ref6.locale,
|
|
1612
|
-
|
|
1442
|
+
messages = _ref6.messages;
|
|
1613
1443
|
sentry.reportErrorToSentry(error, {});
|
|
1614
1444
|
return jsxRuntime.jsx(ConfigureIntlProvider, {
|
|
1615
1445
|
locale: locale,
|
|
@@ -1619,7 +1449,6 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1619
1449
|
}
|
|
1620
1450
|
});
|
|
1621
1451
|
}
|
|
1622
|
-
|
|
1623
1452
|
const projectKeyFromUrl = configureApollo.selectProjectKeyFromUrl(location.pathname);
|
|
1624
1453
|
return jsxRuntime.jsx(applicationShellConnectors.ApplicationContextProvider, {
|
|
1625
1454
|
user: user,
|
|
@@ -1629,9 +1458,10 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1629
1458
|
applicationMessages: props.applicationMessages,
|
|
1630
1459
|
children: _ref7 => {
|
|
1631
1460
|
let isLoadingLocaleData = _ref7.isLoading,
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
return jsxRuntime.jsx(ConfigureIntlProvider
|
|
1461
|
+
locale = _ref7.locale,
|
|
1462
|
+
messages = _ref7.messages;
|
|
1463
|
+
return jsxRuntime.jsx(ConfigureIntlProvider
|
|
1464
|
+
// We do not want to pass the language as long as the locale data
|
|
1635
1465
|
// is not loaded.
|
|
1636
1466
|
, _objectSpread$4(_objectSpread$4({}, isLoadingLocaleData ? {} : {
|
|
1637
1467
|
locale,
|
|
@@ -1665,17 +1495,18 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1665
1495
|
projectKey: projectKeyFromUrl,
|
|
1666
1496
|
children: _ref8 => {
|
|
1667
1497
|
let isProjectLoading = _ref8.isLoading,
|
|
1668
|
-
|
|
1669
|
-
if (isProjectLoading || !project) return null;
|
|
1670
|
-
// or when the project is expired or supsended
|
|
1498
|
+
project = _ref8.project;
|
|
1499
|
+
if (isProjectLoading || !project) return null;
|
|
1671
1500
|
|
|
1501
|
+
// when used outside of a project context,
|
|
1502
|
+
// or when the project is expired or supsended
|
|
1672
1503
|
const shouldUseProjectContext = !(project.suspension && project.suspension.isActive || project.expiry && project.expiry.isActive);
|
|
1673
1504
|
if (!shouldUseProjectContext) return jsxRuntime.jsx(QuickAccessTrigger, {});
|
|
1674
1505
|
return jsxRuntime.jsx(ProjectDataLocale, {
|
|
1675
1506
|
locales: project.languages,
|
|
1676
1507
|
children: _ref9 => {
|
|
1677
1508
|
let dataLocale = _ref9.locale,
|
|
1678
|
-
|
|
1509
|
+
setProjectDataLocale = _ref9.setProjectDataLocale;
|
|
1679
1510
|
return jsxRuntime.jsx(applicationShellConnectors.ApplicationContextProvider, {
|
|
1680
1511
|
user: user,
|
|
1681
1512
|
project: project,
|
|
@@ -1714,13 +1545,14 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1714
1545
|
projectKey: projectKeyFromUrl,
|
|
1715
1546
|
children: _ref10 => {
|
|
1716
1547
|
let isLoadingProject = _ref10.isLoading,
|
|
1717
|
-
|
|
1548
|
+
project = _ref10.project;
|
|
1718
1549
|
// Render the loading navbar as long as all the data
|
|
1719
1550
|
// hasn't been loaded, or if the project does not exist.
|
|
1720
1551
|
if (isLoadingUser || isLoadingLocaleData || isLoadingProject || !locale || !project) return jsxRuntime.jsx(LoadingNavBar, {});
|
|
1721
1552
|
return jsxRuntime.jsx(applicationShellConnectors.ApplicationContextProvider, {
|
|
1722
1553
|
user: user,
|
|
1723
|
-
environment: applicationEnvironment
|
|
1554
|
+
environment: applicationEnvironment
|
|
1555
|
+
// NOTE: do not pass the `project` into the application context.
|
|
1724
1556
|
// The permissions for the Navbar are resolved separately, within
|
|
1725
1557
|
// a different React context.
|
|
1726
1558
|
,
|
|
@@ -1749,7 +1581,8 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1749
1581
|
domain: constants$1.DOMAINS.SIDE
|
|
1750
1582
|
}), jsxRuntime.jsxs("div", {
|
|
1751
1583
|
css: _ref,
|
|
1752
|
-
children: [jsxRuntime.jsx(applicationComponents.PortalsContainer
|
|
1584
|
+
children: [jsxRuntime.jsx(applicationComponents.PortalsContainer
|
|
1585
|
+
// @ts-ignore
|
|
1753
1586
|
, {
|
|
1754
1587
|
ref: layoutRefs,
|
|
1755
1588
|
offsetTop: constants.DIMENSIONS.header,
|
|
@@ -1779,8 +1612,8 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1779
1612
|
path: "/",
|
|
1780
1613
|
children: (() => {
|
|
1781
1614
|
var _user$defaultProjectK;
|
|
1782
|
-
|
|
1783
1615
|
const previousProjectKey = getPreviousProjectKey((_user$defaultProjectK = user === null || user === void 0 ? void 0 : user.defaultProjectKey) !== null && _user$defaultProjectK !== void 0 ? _user$defaultProjectK : undefined);
|
|
1616
|
+
|
|
1784
1617
|
/**
|
|
1785
1618
|
* NOTE:
|
|
1786
1619
|
* Given the user has not been loaded a loading spinner is shown.
|
|
@@ -1789,7 +1622,6 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1789
1622
|
* Given the user was working on a project previously or has a default
|
|
1790
1623
|
* project, the application will redirect to that project.
|
|
1791
1624
|
*/
|
|
1792
|
-
|
|
1793
1625
|
if (!user) return jsxRuntime.jsx(ApplicationLoader, {});
|
|
1794
1626
|
if (!previousProjectKey) return jsxRuntime.jsx(RedirectToProjectCreate, {});
|
|
1795
1627
|
return jsxRuntime.jsx(reactRouterDom.Redirect, {
|
|
@@ -1802,7 +1634,8 @@ const ApplicationShellAuthenticated = props => {
|
|
|
1802
1634
|
children: jsxRuntime.jsx(ProjectContainer, {
|
|
1803
1635
|
user: user,
|
|
1804
1636
|
environment: applicationEnvironment,
|
|
1805
|
-
disableRoutePermissionCheck: props.disableRoutePermissionCheck
|
|
1637
|
+
disableRoutePermissionCheck: props.disableRoutePermissionCheck
|
|
1638
|
+
// This effectively renders the
|
|
1806
1639
|
// children, which is the application
|
|
1807
1640
|
// specific part
|
|
1808
1641
|
,
|
|
@@ -1831,28 +1664,22 @@ const staticPaths = ['account', 'login'];
|
|
|
1831
1664
|
const defaultProps$1 = {
|
|
1832
1665
|
additionalParts: []
|
|
1833
1666
|
};
|
|
1834
|
-
|
|
1835
1667
|
const getPageTitle = (pathname, additionalParts) => {
|
|
1836
1668
|
const _pathname$split = pathname.split('/'),
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1669
|
+
_pathname$split2 = _slicedToArray(_pathname$split, 3),
|
|
1670
|
+
projectKeyOrStaticPath = _pathname$split2[1],
|
|
1671
|
+
entryPointUriPath = _pathname$split2[2];
|
|
1841
1672
|
const customTitleParts = _mapInstanceProperty__default["default"](additionalParts).call(additionalParts, titlePart => {
|
|
1842
1673
|
if (titlePart.length <= maxTitleCharLength) {
|
|
1843
1674
|
return titlePart;
|
|
1844
1675
|
}
|
|
1845
|
-
|
|
1846
1676
|
return [_sliceInstanceProperty__default["default"](titlePart).call(titlePart, 0, maxTitleCharLength / 2), _sliceInstanceProperty__default["default"](titlePart).call(titlePart, titlePart.length - maxTitleCharLength / 2)].join('...');
|
|
1847
1677
|
});
|
|
1848
|
-
|
|
1849
1678
|
if (_includesInstanceProperty__default["default"](staticPaths).call(staticPaths, projectKeyOrStaticPath)) {
|
|
1850
1679
|
return [...(customTitleParts || []), upperFirst__default["default"](projectKeyOrStaticPath), 'Merchant Center'].join(' - ');
|
|
1851
1680
|
}
|
|
1852
|
-
|
|
1853
1681
|
return [...(customTitleParts || []), upperFirst__default["default"](entryPointUriPath), projectKeyOrStaticPath, 'Merchant Center'].join(' - ');
|
|
1854
1682
|
};
|
|
1855
|
-
|
|
1856
1683
|
const ApplicationPageTitle = props => {
|
|
1857
1684
|
const location = reactRouterDom.useLocation();
|
|
1858
1685
|
react.useLayoutEffect(() => {
|
|
@@ -1861,7 +1688,6 @@ const ApplicationPageTitle = props => {
|
|
|
1861
1688
|
}, [location.pathname, props.additionalParts]);
|
|
1862
1689
|
return null;
|
|
1863
1690
|
};
|
|
1864
|
-
|
|
1865
1691
|
ApplicationPageTitle.propTypes = {
|
|
1866
1692
|
additionalParts: _pt__default["default"].arrayOf(_pt__default["default"].string).isRequired
|
|
1867
1693
|
};
|
|
@@ -1869,66 +1695,61 @@ ApplicationPageTitle.displayName = 'ApplicationPageTitle';
|
|
|
1869
1695
|
ApplicationPageTitle.defaultProps = defaultProps$1;
|
|
1870
1696
|
|
|
1871
1697
|
function ownKeys$3(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; }
|
|
1872
|
-
|
|
1873
1698
|
function _objectSpread$3(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$3(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$3(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
1874
|
-
|
|
1875
1699
|
const SuspendedRoute = props => jsxRuntime.jsx(reactRouterDom.Route, _objectSpread$3(_objectSpread$3({}, props), {}, {
|
|
1876
1700
|
children: jsxRuntime.jsx(react.Suspense, {
|
|
1877
1701
|
fallback: jsxRuntime.jsx(LoadingSpinner__default["default"], {}),
|
|
1878
1702
|
children: props.children
|
|
1879
1703
|
})
|
|
1880
1704
|
}));
|
|
1881
|
-
|
|
1882
1705
|
SuspendedRoute.displayName = 'SuspendedRoute';
|
|
1883
1706
|
|
|
1884
1707
|
var AmILoggedInQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "AmILoggedIn" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "amILoggedIn" }, arguments: [], directives: [] }] } }], loc: { start: 0, end: 36, source: { body: "query AmILoggedIn {\n amILoggedIn\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
1885
|
-
|
|
1886
1708
|
const AmILoggedIn = props => {
|
|
1887
1709
|
// ...otherwise, we ping a "secured" endpoint in the MC API to see if there is
|
|
1888
1710
|
// a valid access token. If we get an error, we assume that the user is not
|
|
1889
1711
|
// authenticated. If we don't get any error, the access token sent with the cookie
|
|
1890
1712
|
// is valid. We return null while the query is loading.
|
|
1891
1713
|
const _useMcQuery = useMcQuery(AmILoggedInQuery, {
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1714
|
+
context: {
|
|
1715
|
+
target: constants$1.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
|
|
1716
|
+
skipTokenRetry: true
|
|
1717
|
+
},
|
|
1718
|
+
// NOTE: With `no-cache` the `useQuery` will not trigger a
|
|
1719
|
+
// re-render of the `AmILoggedIn` component. Relying on a default
|
|
1720
|
+
// fetch policy results in rendering the component without refetching the data
|
|
1721
|
+
// which as a result unmounts child components (such as an application).
|
|
1722
|
+
//
|
|
1723
|
+
// For example:
|
|
1724
|
+
// Given the user not authenticated
|
|
1725
|
+
// Then the first pass of useQuery returns an exptected error
|
|
1726
|
+
// Given the query is triggered again (through `useQuery`)
|
|
1727
|
+
// Then the component will re-render
|
|
1728
|
+
// Resulting in inconsistent data with the error not being defined
|
|
1729
|
+
fetchPolicy: 'no-cache',
|
|
1730
|
+
onCompleted: data => {
|
|
1731
|
+
if (!data) {
|
|
1732
|
+
// In case the request is 200 but there is no data, we assume
|
|
1733
|
+
// there are some errors.
|
|
1734
|
+
window.localStorage.removeItem(constants.STORAGE_KEYS.IS_AUTHENTICATED);
|
|
1735
|
+
} else {
|
|
1736
|
+
// Even though the login page might set this flag, we just make sure that
|
|
1737
|
+
// we do it here as well. This will help in the future when we eventually
|
|
1738
|
+
// move the auth service to itw own domain, in which case the local storage
|
|
1739
|
+
// is not shared anymore.
|
|
1740
|
+
window.localStorage.setItem(constants.STORAGE_KEYS.IS_AUTHENTICATED, String(true));
|
|
1741
|
+
}
|
|
1742
|
+
},
|
|
1743
|
+
onError: () => {
|
|
1744
|
+
// The query fails without the `mcAccessToken`. In this case the caching
|
|
1745
|
+
// needs to be unset as otherwise the application will end up in a infinte
|
|
1746
|
+
// redirect loop.
|
|
1912
1747
|
window.localStorage.removeItem(constants.STORAGE_KEYS.IS_AUTHENTICATED);
|
|
1913
|
-
} else {
|
|
1914
|
-
// Even though the login page might set this flag, we just make sure that
|
|
1915
|
-
// we do it here as well. This will help in the future when we eventually
|
|
1916
|
-
// move the auth service to itw own domain, in which case the local storage
|
|
1917
|
-
// is not shared anymore.
|
|
1918
|
-
window.localStorage.setItem(constants.STORAGE_KEYS.IS_AUTHENTICATED, String(true));
|
|
1919
1748
|
}
|
|
1920
|
-
},
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
// redirect loop.
|
|
1925
|
-
window.localStorage.removeItem(constants.STORAGE_KEYS.IS_AUTHENTICATED);
|
|
1926
|
-
}
|
|
1927
|
-
}),
|
|
1928
|
-
data = _useMcQuery.data,
|
|
1929
|
-
loading = _useMcQuery.loading,
|
|
1930
|
-
error = _useMcQuery.error;
|
|
1931
|
-
|
|
1749
|
+
}),
|
|
1750
|
+
data = _useMcQuery.data,
|
|
1751
|
+
loading = _useMcQuery.loading,
|
|
1752
|
+
error = _useMcQuery.error;
|
|
1932
1753
|
if (error) {
|
|
1933
1754
|
// No matter what error, we consider it as a failed authentication
|
|
1934
1755
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
@@ -1937,7 +1758,6 @@ const AmILoggedIn = props => {
|
|
|
1937
1758
|
})
|
|
1938
1759
|
});
|
|
1939
1760
|
}
|
|
1940
|
-
|
|
1941
1761
|
if (!loading && data && data.amILoggedIn) {
|
|
1942
1762
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
1943
1763
|
children: props.render({
|
|
@@ -1945,30 +1765,22 @@ const AmILoggedIn = props => {
|
|
|
1945
1765
|
})
|
|
1946
1766
|
});
|
|
1947
1767
|
}
|
|
1948
|
-
|
|
1949
1768
|
return null;
|
|
1950
1769
|
};
|
|
1951
|
-
|
|
1952
1770
|
AmILoggedIn.displayName = 'AmILoggedIn';
|
|
1953
1771
|
|
|
1954
1772
|
const withoutProjectKeyClaim = scope => {
|
|
1955
1773
|
var _context;
|
|
1956
|
-
|
|
1957
1774
|
return _filterInstanceProperty__default["default"](_context = scope.split(' ')).call(_context, claim => !_startsWithInstanceProperty__default["default"](claim).call(claim, constants.OIDC_CLAIMS.PROJECT_KEY)).join(' ');
|
|
1958
1775
|
};
|
|
1959
|
-
|
|
1960
1776
|
const hasCachedAuthenticationState = () => {
|
|
1961
1777
|
var _window$app$__DEVELOP, _window$app$__DEVELOP2;
|
|
1962
|
-
|
|
1963
1778
|
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP2 = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP2 !== void 0 && _window$app$__DEVELOP2.authorizeUrl) {
|
|
1964
1779
|
try {
|
|
1965
1780
|
var _window$app$__DEVELOP9, _window$app$__DEVELOP10, _window$app$__DEVELOP11, _window$app$__DEVELOP12, _window$app$__DEVELOP13, _window$app$__DEVELOP14;
|
|
1966
|
-
|
|
1967
1781
|
const activeProjectKey = configureApollo.getActiveProjectKey();
|
|
1968
|
-
|
|
1969
1782
|
if (activeProjectKey) {
|
|
1970
1783
|
var _window$app$__DEVELOP3, _window$app$__DEVELOP4;
|
|
1971
|
-
|
|
1972
1784
|
// GIVEN The application is not requesting a project key,
|
|
1973
1785
|
// THEN we assume that the application does not need a project context.
|
|
1974
1786
|
// GIVEN The application is not requesting a project key,
|
|
@@ -1979,90 +1791,77 @@ const hasCachedAuthenticationState = () => {
|
|
|
1979
1791
|
}
|
|
1980
1792
|
} else {
|
|
1981
1793
|
var _window$app$__DEVELOP5, _window$app$__DEVELOP6;
|
|
1982
|
-
|
|
1983
1794
|
if ((_window$app$__DEVELOP5 = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP5 !== void 0 && (_window$app$__DEVELOP6 = _window$app$__DEVELOP5.oidc) !== null && _window$app$__DEVELOP6 !== void 0 && _window$app$__DEVELOP6.initialProjectKey) {
|
|
1984
1795
|
var _window$app$__DEVELOP7, _window$app$__DEVELOP8;
|
|
1985
|
-
|
|
1986
1796
|
// Here we store the initial project key in local storage,
|
|
1987
1797
|
// so that it gets picked up when we initiate the login flow.
|
|
1988
1798
|
configureApollo.setActiveProjectKey((_window$app$__DEVELOP7 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP7 === void 0 ? void 0 : (_window$app$__DEVELOP8 = _window$app$__DEVELOP7.oidc) === null || _window$app$__DEVELOP8 === void 0 ? void 0 : _window$app$__DEVELOP8.initialProjectKey);
|
|
1989
1799
|
}
|
|
1990
|
-
}
|
|
1800
|
+
}
|
|
1801
|
+
|
|
1802
|
+
// cachedScope is assumed to be the exact cached version of the `requestedScope`
|
|
1991
1803
|
// if they don't match, then we know that one of the claims within the scope has changed
|
|
1992
1804
|
// given a change, we need to force the user to log in, so that new values on respective claim
|
|
1993
1805
|
// will apply for the given custom application
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
const cachedScope = configureApollo.getSessionScope(); // Force the user to log in again
|
|
1997
|
-
|
|
1806
|
+
const cachedScope = configureApollo.getSessionScope();
|
|
1807
|
+
// Force the user to log in again
|
|
1998
1808
|
if (!cachedScope) {
|
|
1999
1809
|
return false;
|
|
2000
|
-
}
|
|
2001
|
-
|
|
2002
|
-
|
|
1810
|
+
}
|
|
1811
|
+
// Rebuild the requested OIDC scope to verify that it didn't change.
|
|
2003
1812
|
const requestedScope = oidc.buildOidcScope({
|
|
2004
1813
|
projectKey: activeProjectKey !== null && activeProjectKey !== void 0 ? activeProjectKey : undefined,
|
|
2005
1814
|
oAuthScopes: (_window$app$__DEVELOP9 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP9 === void 0 ? void 0 : (_window$app$__DEVELOP10 = _window$app$__DEVELOP9.oidc) === null || _window$app$__DEVELOP10 === void 0 ? void 0 : _window$app$__DEVELOP10.oAuthScopes,
|
|
2006
1815
|
additionalOAuthScopes: (_window$app$__DEVELOP11 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP11 === void 0 ? void 0 : (_window$app$__DEVELOP12 = _window$app$__DEVELOP11.oidc) === null || _window$app$__DEVELOP12 === void 0 ? void 0 : _window$app$__DEVELOP12.additionalOAuthScopes,
|
|
2007
1816
|
teamId: (_window$app$__DEVELOP13 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP13 === void 0 ? void 0 : (_window$app$__DEVELOP14 = _window$app$__DEVELOP13.oidc) === null || _window$app$__DEVELOP14 === void 0 ? void 0 : _window$app$__DEVELOP14.teamId
|
|
2008
|
-
});
|
|
1817
|
+
});
|
|
1818
|
+
// Omit the project key from the check. This allows to switch projects
|
|
2009
1819
|
// without having to log in again.
|
|
2010
|
-
|
|
2011
1820
|
const cachedScopeWithoutProjectKey = withoutProjectKeyClaim(cachedScope);
|
|
2012
|
-
const requestedScopeWithoutProjectKey = withoutProjectKeyClaim(requestedScope);
|
|
2013
|
-
|
|
1821
|
+
const requestedScopeWithoutProjectKey = withoutProjectKeyClaim(requestedScope);
|
|
1822
|
+
// Check that the session scope didn't change.
|
|
2014
1823
|
if (cachedScopeWithoutProjectKey === requestedScopeWithoutProjectKey) {
|
|
2015
1824
|
return true;
|
|
2016
1825
|
}
|
|
2017
|
-
|
|
2018
1826
|
return false;
|
|
2019
1827
|
} catch (err) {
|
|
2020
1828
|
return false;
|
|
2021
1829
|
}
|
|
2022
1830
|
}
|
|
2023
|
-
|
|
2024
1831
|
return window.localStorage.getItem(constants.STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
|
|
2025
1832
|
};
|
|
2026
1833
|
|
|
2027
|
-
const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-
|
|
2028
|
-
/* webpackChunkName: "oidc-callback" */
|
|
2029
|
-
); }));
|
|
1834
|
+
const OidcCallback = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./oidc-callback-121ef6c1.cjs.prod.js' /* webpackChunkName: "oidc-callback" */); }));
|
|
2030
1835
|
|
|
2031
1836
|
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; }
|
|
2032
|
-
|
|
2033
1837
|
function _objectSpread$2(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$2(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$2(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
2034
|
-
|
|
2035
1838
|
const Authenticated = props => {
|
|
2036
1839
|
var _window$app$__DEVELOP, _window$app$__DEVELOP2;
|
|
2037
|
-
|
|
2038
1840
|
// We attempt to see if the user was already authenticated by looking
|
|
2039
1841
|
// at the "cached" flag in local storage.
|
|
2040
1842
|
const cachedAuthenticationState = hasCachedAuthenticationState();
|
|
2041
|
-
|
|
2042
1843
|
if (cachedAuthenticationState) {
|
|
2043
1844
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
2044
1845
|
children: props.render({
|
|
2045
1846
|
isAuthenticated: true
|
|
2046
1847
|
})
|
|
2047
1848
|
});
|
|
2048
|
-
}
|
|
2049
|
-
// the redirect to the login page.
|
|
2050
|
-
|
|
1849
|
+
}
|
|
2051
1850
|
|
|
1851
|
+
// When using the OIDC workflow, we always return false, to trigger
|
|
1852
|
+
// the redirect to the login page.
|
|
2052
1853
|
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP2 = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP2 !== void 0 && _window$app$__DEVELOP2.authorizeUrl) {
|
|
2053
1854
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
2054
1855
|
children: props.render({
|
|
2055
1856
|
isAuthenticated: false
|
|
2056
1857
|
})
|
|
2057
1858
|
});
|
|
2058
|
-
}
|
|
2059
|
-
|
|
1859
|
+
}
|
|
2060
1860
|
|
|
1861
|
+
// Fall back to check for cookie-based authentication.
|
|
2061
1862
|
return jsxRuntime.jsx(AmILoggedIn, _objectSpread$2({}, props));
|
|
2062
1863
|
};
|
|
2063
|
-
|
|
2064
1864
|
Authenticated.displayName = 'Authenticated';
|
|
2065
|
-
|
|
2066
1865
|
const AuthenticationRoutes = props => jsxRuntime.jsxs(reactRouterDom.Switch, {
|
|
2067
1866
|
children: [jsxRuntime.jsx(SuspendedRoute, {
|
|
2068
1867
|
path: "/account/oidc/callback",
|
|
@@ -2080,13 +1879,10 @@ const AuthenticationRoutes = props => jsxRuntime.jsxs(reactRouterDom.Switch, {
|
|
|
2080
1879
|
children: jsxRuntime.jsx(Authenticated, _objectSpread$2({}, props))
|
|
2081
1880
|
})]
|
|
2082
1881
|
});
|
|
2083
|
-
|
|
2084
1882
|
AuthenticationRoutes.displayName = 'AuthenticationRoutes';
|
|
2085
1883
|
|
|
2086
1884
|
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; }
|
|
2087
|
-
|
|
2088
1885
|
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$1(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
2089
|
-
|
|
2090
1886
|
/**
|
|
2091
1887
|
* NOTE:
|
|
2092
1888
|
* This function try-catches around a `JSON.parse` and return
|
|
@@ -2102,11 +1898,11 @@ const getCoerceEnvironmentValue = environmentValueAsString => {
|
|
|
2102
1898
|
// Return the value as-is if it's not a string.
|
|
2103
1899
|
if (typeof environmentValueAsString !== 'string') {
|
|
2104
1900
|
return environmentValueAsString;
|
|
2105
|
-
}
|
|
1901
|
+
}
|
|
1902
|
+
|
|
1903
|
+
// In case the value is a string, we try to parse it to attempt to extract
|
|
2106
1904
|
// the primitive value, if the original value is indeed supposed to be a primitive.
|
|
2107
1905
|
// For example, `'1'` is converted to a number, `'true'` is converted to a boolean, etc.
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
1906
|
try {
|
|
2111
1907
|
// Strip out escaped quotes. This is mostly important to coerce an array of string
|
|
2112
1908
|
// with escaped quotes.
|
|
@@ -2115,10 +1911,8 @@ const getCoerceEnvironmentValue = environmentValueAsString => {
|
|
|
2115
1911
|
return environmentValueAsString;
|
|
2116
1912
|
}
|
|
2117
1913
|
};
|
|
2118
|
-
|
|
2119
1914
|
const shallowlyCoerceValues = uncoercedEnvironmentValues => {
|
|
2120
1915
|
var _context;
|
|
2121
|
-
|
|
2122
1916
|
return _reduceInstanceProperty__default["default"](_context = _Object$keys__default["default"](uncoercedEnvironmentValues)).call(_context, (coercedEnvironmentValues, key) => {
|
|
2123
1917
|
const uncoercedEnvironmentValue = uncoercedEnvironmentValues[key];
|
|
2124
1918
|
return _objectSpread$1(_objectSpread$1({}, coercedEnvironmentValues), {}, {
|
|
@@ -2126,7 +1920,6 @@ const shallowlyCoerceValues = uncoercedEnvironmentValues => {
|
|
|
2126
1920
|
});
|
|
2127
1921
|
}, {});
|
|
2128
1922
|
};
|
|
2129
|
-
|
|
2130
1923
|
const useCoercedEnvironmentValues = environment => {
|
|
2131
1924
|
const coercedEnvironmentValues = react.useMemo(() => shallowlyCoerceValues(environment), [environment]);
|
|
2132
1925
|
return coercedEnvironmentValues;
|
|
@@ -2135,7 +1928,6 @@ const useCoercedEnvironmentValues = environment => {
|
|
|
2135
1928
|
const ApplicationShellProvider = props => {
|
|
2136
1929
|
const apolloClient = react.useMemo(() => {
|
|
2137
1930
|
var _props$apolloClient;
|
|
2138
|
-
|
|
2139
1931
|
return (_props$apolloClient = props.apolloClient) !== null && _props$apolloClient !== void 0 ? _props$apolloClient : configureApollo.createApolloClient();
|
|
2140
1932
|
}, [props.apolloClient]);
|
|
2141
1933
|
react.useEffect(() => {
|
|
@@ -2153,7 +1945,7 @@ const ApplicationShellProvider = props => {
|
|
|
2153
1945
|
children: jsxRuntime.jsx(react$2.ApolloProvider, {
|
|
2154
1946
|
client: apolloClient,
|
|
2155
1947
|
children: jsxRuntime.jsxs(reactRouterDom.Router, {
|
|
2156
|
-
history:
|
|
1948
|
+
history: getBrowserHistory(),
|
|
2157
1949
|
children: [jsxRuntime.jsx(ApplicationPageTitle, {}), jsxRuntime.jsx(AuthenticationRoutes, {
|
|
2158
1950
|
locale: browserLocale,
|
|
2159
1951
|
applicationMessages: props.applicationMessages,
|
|
@@ -2167,7 +1959,7 @@ const ApplicationShellProvider = props => {
|
|
|
2167
1959
|
applicationMessages: props.applicationMessages,
|
|
2168
1960
|
children: _ref2 => {
|
|
2169
1961
|
let locale = _ref2.locale,
|
|
2170
|
-
|
|
1962
|
+
messages = _ref2.messages;
|
|
2171
1963
|
return jsxRuntime.jsx(ConfigureIntlProvider, {
|
|
2172
1964
|
locale: locale,
|
|
2173
1965
|
messages: messages,
|
|
@@ -2186,21 +1978,15 @@ const ApplicationShellProvider = props => {
|
|
|
2186
1978
|
})
|
|
2187
1979
|
});
|
|
2188
1980
|
};
|
|
2189
|
-
|
|
2190
1981
|
ApplicationShellProvider.propTypes = {};
|
|
2191
|
-
ApplicationShellProvider.displayName = 'ApplicationShellProvider';
|
|
2192
|
-
|
|
2193
|
-
ApplicationShellProvider.history = history__default["default"];
|
|
1982
|
+
ApplicationShellProvider.displayName = 'ApplicationShellProvider';
|
|
2194
1983
|
|
|
2195
|
-
const RedirectToLogin = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-login-
|
|
2196
|
-
/* webpackChunkName: "redirect-to-login" */
|
|
2197
|
-
); }));
|
|
1984
|
+
const RedirectToLogin = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./redirect-to-login-3c2a1258.cjs.prod.js' /* webpackChunkName: "redirect-to-login" */); }));
|
|
2198
1985
|
|
|
2199
1986
|
const styles = {
|
|
2200
1987
|
name: "1prreal",
|
|
2201
1988
|
styles: "html,body{font-size:var(--font-size-for-body);height:100vh;}#app{height:100%;}"
|
|
2202
1989
|
} ;
|
|
2203
|
-
|
|
2204
1990
|
const GlobalStyles = () => jsxRuntime.jsx(react$1.Global, {
|
|
2205
1991
|
styles: styles
|
|
2206
1992
|
});
|
|
@@ -2208,10 +1994,10 @@ const GlobalStyles = () => jsxRuntime.jsx(react$1.Global, {
|
|
|
2208
1994
|
const ApplicationShell = props => {
|
|
2209
1995
|
react.useEffect(() => {
|
|
2210
1996
|
var _props$onRegisterErro;
|
|
2211
|
-
|
|
2212
1997
|
(_props$onRegisterErro = props.onRegisterErrorListeners) === null || _props$onRegisterErro === void 0 ? void 0 : _props$onRegisterErro.call(props, {
|
|
2213
1998
|
dispatch: configureApollo.internalReduxStore.dispatch
|
|
2214
|
-
});
|
|
1999
|
+
});
|
|
2000
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2215
2001
|
}, []); // <-- run only once, when component mounts
|
|
2216
2002
|
|
|
2217
2003
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
@@ -2221,7 +2007,6 @@ const ApplicationShell = props => {
|
|
|
2221
2007
|
applicationMessages: props.applicationMessages,
|
|
2222
2008
|
children: _ref => {
|
|
2223
2009
|
let isAuthenticated = _ref.isAuthenticated;
|
|
2224
|
-
|
|
2225
2010
|
if (isAuthenticated) {
|
|
2226
2011
|
return jsxRuntime.jsxs(reactRouterDom.Switch, {
|
|
2227
2012
|
children: [jsxRuntime.jsx(SuspendedRoute, {
|
|
@@ -2240,13 +2025,11 @@ const ApplicationShell = props => {
|
|
|
2240
2025
|
})]
|
|
2241
2026
|
});
|
|
2242
2027
|
}
|
|
2243
|
-
|
|
2244
2028
|
return jsxRuntime.jsx(RedirectToLogin, {});
|
|
2245
2029
|
}
|
|
2246
2030
|
})]
|
|
2247
2031
|
});
|
|
2248
2032
|
};
|
|
2249
|
-
|
|
2250
2033
|
ApplicationShell.propTypes = {};
|
|
2251
2034
|
ApplicationShell.displayName = 'ApplicationShell';
|
|
2252
2035
|
ApplicationShell.version = configureApollo.applicationShellVersion;
|
|
@@ -2254,13 +2037,11 @@ ApplicationShell.version = configureApollo.applicationShellVersion;
|
|
|
2254
2037
|
const defaultProps = {
|
|
2255
2038
|
shouldCleanUpOnUnmount: true
|
|
2256
2039
|
};
|
|
2257
|
-
|
|
2258
2040
|
const InjectReducers = props => {
|
|
2259
2041
|
const _useState = react.useState(false),
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2042
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
2043
|
+
areReducersInjected = _useState2[0],
|
|
2044
|
+
setAreReducersInjected = _useState2[1];
|
|
2264
2045
|
const store = reactRedux.useStore();
|
|
2265
2046
|
react.useEffect(() => {
|
|
2266
2047
|
store.injectReducers({
|
|
@@ -2275,14 +2056,14 @@ const InjectReducers = props => {
|
|
|
2275
2056
|
});
|
|
2276
2057
|
}
|
|
2277
2058
|
};
|
|
2278
|
-
}, [props.id, props.reducers, props.shouldCleanUpOnUnmount, store]);
|
|
2059
|
+
}, [props.id, props.reducers, props.shouldCleanUpOnUnmount, store]);
|
|
2279
2060
|
|
|
2061
|
+
// Render children only when the plugin reducers have been injected
|
|
2280
2062
|
if (areReducersInjected) return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
2281
2063
|
children: props.children
|
|
2282
2064
|
});
|
|
2283
2065
|
return null;
|
|
2284
2066
|
};
|
|
2285
|
-
|
|
2286
2067
|
InjectReducers.propTypes = {
|
|
2287
2068
|
id: _pt__default["default"].string.isRequired,
|
|
2288
2069
|
reducers: _pt__default["default"].any.isRequired,
|
|
@@ -2292,28 +2073,25 @@ InjectReducers.propTypes = {
|
|
|
2292
2073
|
InjectReducers.displayName = 'InjectReducers';
|
|
2293
2074
|
InjectReducers.defaultProps = defaultProps;
|
|
2294
2075
|
|
|
2295
|
-
const errorMessageIgnoreList = [/ResizeObserver loop limit exceeded/i];
|
|
2296
|
-
// of catching possible errors.
|
|
2076
|
+
const errorMessageIgnoreList = [/ResizeObserver loop limit exceeded/i];
|
|
2297
2077
|
|
|
2078
|
+
// Ensure to initialize Sentry as soon as possible, so that we have the chance
|
|
2079
|
+
// of catching possible errors.
|
|
2298
2080
|
sentry.boot();
|
|
2299
|
-
|
|
2300
2081
|
const makeErrorToCapture = error => {
|
|
2301
2082
|
if (error instanceof Error) return error;
|
|
2302
2083
|
if (error instanceof ErrorEvent) return new Error(error.message);
|
|
2303
2084
|
return new Error(_JSON$stringify__default["default"](error.reason || 'Unhandled rejection without a reason'));
|
|
2304
2085
|
};
|
|
2305
|
-
|
|
2306
2086
|
const getErrorMessage = error => {
|
|
2307
2087
|
if (typeof error === 'string') return error;
|
|
2308
2088
|
const errorToCapture = makeErrorToCapture(error);
|
|
2309
2089
|
return errorToCapture.message || errorToCapture.name;
|
|
2310
2090
|
};
|
|
2311
|
-
|
|
2312
2091
|
const shouldErrorBeTracked = error => {
|
|
2313
2092
|
const errorMessage = getErrorMessage(error);
|
|
2314
2093
|
return !_someInstanceProperty__default["default"](errorMessageIgnoreList).call(errorMessageIgnoreList, match => match.test(errorMessage));
|
|
2315
2094
|
};
|
|
2316
|
-
|
|
2317
2095
|
function setupGlobalErrorListener() {
|
|
2318
2096
|
// Capture unhandled errors generated from rejected Promises.
|
|
2319
2097
|
//
|
|
@@ -2323,15 +2101,15 @@ function setupGlobalErrorListener() {
|
|
|
2323
2101
|
// Note: this currently works only in Chrome, and it might not be needed.
|
|
2324
2102
|
// We just keep it here as a nice-to-have thing.
|
|
2325
2103
|
window.addEventListener('unhandledrejection', event => {
|
|
2326
|
-
|
|
2327
2104
|
if (shouldErrorBeTracked(event)) {
|
|
2328
2105
|
const errorId = sentry.reportErrorToSentry(event);
|
|
2329
2106
|
configureApollo.internalReduxStore.dispatch(actionsGlobal.showUnexpectedErrorNotification({
|
|
2330
2107
|
errorId
|
|
2331
2108
|
}));
|
|
2332
2109
|
}
|
|
2333
|
-
});
|
|
2110
|
+
});
|
|
2334
2111
|
|
|
2112
|
+
// Capture normal global errors coming from non Promise code.
|
|
2335
2113
|
window.addEventListener('error', errorEvent => {
|
|
2336
2114
|
if (shouldErrorBeTracked(errorEvent)) {
|
|
2337
2115
|
const errorId = sentry.reportErrorToSentry(errorEvent);
|
|
@@ -2343,47 +2121,41 @@ function setupGlobalErrorListener() {
|
|
|
2343
2121
|
}
|
|
2344
2122
|
|
|
2345
2123
|
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; }
|
|
2346
|
-
|
|
2347
2124
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
2348
2125
|
|
|
2126
|
+
/**
|
|
2127
|
+
* The route path to match. Usually it starts with `/:projectKey/my-entry-point`.
|
|
2128
|
+
*/
|
|
2129
|
+
|
|
2349
2130
|
const makeRoute = (routePath, routeOptions) => {
|
|
2350
2131
|
const getUrl = (nextParams, nextQueryParams) => {
|
|
2351
2132
|
const baseUrl = reactRouterDom.generatePath(routePath, _objectSpread(_objectSpread({}, routeOptions.params), nextParams));
|
|
2352
|
-
|
|
2353
2133
|
if (nextQueryParams) {
|
|
2354
2134
|
var _context;
|
|
2355
|
-
|
|
2356
2135
|
return _concatInstanceProperty__default["default"](_context = "".concat(baseUrl, "?")).call(_context, nextQueryParams.toString());
|
|
2357
2136
|
}
|
|
2358
|
-
|
|
2359
2137
|
return baseUrl;
|
|
2360
2138
|
};
|
|
2361
|
-
|
|
2362
2139
|
const go = (nextParams, nextQueryParams) => {
|
|
2363
2140
|
routeOptions.goTo(getUrl(nextParams, nextQueryParams));
|
|
2364
2141
|
};
|
|
2365
|
-
|
|
2366
2142
|
return {
|
|
2367
2143
|
path: routePath,
|
|
2368
2144
|
getUrl,
|
|
2369
2145
|
go
|
|
2370
2146
|
};
|
|
2371
2147
|
};
|
|
2372
|
-
|
|
2373
2148
|
function useRoutesCreator() {
|
|
2374
2149
|
const _useRouteMatch = reactRouterDom.useRouteMatch(),
|
|
2375
|
-
|
|
2376
|
-
|
|
2150
|
+
params = _useRouteMatch.params;
|
|
2377
2151
|
const _useHistory = reactRouterDom.useHistory(),
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2152
|
+
goTo = _useHistory.push,
|
|
2153
|
+
location = _useHistory.location;
|
|
2381
2154
|
const createRoute = routePath => makeRoute(routePath, {
|
|
2382
2155
|
goTo,
|
|
2383
2156
|
params,
|
|
2384
2157
|
location
|
|
2385
2158
|
});
|
|
2386
|
-
|
|
2387
2159
|
return {
|
|
2388
2160
|
createRoute
|
|
2389
2161
|
};
|