@commercetools-frontend/application-shell 21.3.4 → 21.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/{application-entry-point-d0d51a20.cjs.dev.js → application-entry-point-2fa512ec.cjs.dev.js} +1 -1
  2. package/dist/{application-entry-point-1dc8d5f7.cjs.prod.js → application-entry-point-dae0d1ac.cjs.prod.js} +1 -1
  3. package/dist/{application-entry-point-f27fbd4a.esm.js → application-entry-point-f7f932ac.esm.js} +1 -1
  4. package/dist/commercetools-frontend-application-shell.cjs.dev.js +2 -2
  5. package/dist/commercetools-frontend-application-shell.cjs.prod.js +2 -2
  6. package/dist/commercetools-frontend-application-shell.esm.js +2 -2
  7. package/dist/declarations/src/components/application-shell/application-shell.d.ts +1 -1
  8. package/dist/declarations/src/components/navbar/tracking-events.d.ts +18 -0
  9. package/dist/{index-bc2d17b9.cjs.prod.js → index-32cd533b.cjs.prod.js} +57 -14
  10. package/dist/{index-6883bbec.esm.js → index-82d5b1c3.esm.js} +67 -23
  11. package/dist/{index-95fb9489.cjs.dev.js → index-93c8f750.cjs.dev.js} +67 -23
  12. package/dist/{project-expired-2e52f6ef.esm.js → project-expired-1a886e82.esm.js} +3 -3
  13. package/dist/{project-expired-07c02144.cjs.prod.js → project-expired-59cb3714.cjs.prod.js} +3 -3
  14. package/dist/{project-expired-2745f0d4.cjs.dev.js → project-expired-5ca5c513.cjs.dev.js} +3 -3
  15. package/dist/{project-not-found-c42f89e2.esm.js → project-not-found-11385ed7.esm.js} +3 -3
  16. package/dist/{project-not-found-ff306f53.cjs.dev.js → project-not-found-58d2f8b8.cjs.dev.js} +3 -3
  17. package/dist/{project-not-found-0c73ec63.cjs.prod.js → project-not-found-998fdc8e.cjs.prod.js} +3 -3
  18. package/dist/{project-not-initialized-aea7ba8c.cjs.dev.js → project-not-initialized-23a82ed9.cjs.dev.js} +3 -3
  19. package/dist/{project-not-initialized-f40a319c.esm.js → project-not-initialized-79f12b4a.esm.js} +3 -3
  20. package/dist/{project-not-initialized-37ea5e31.cjs.prod.js → project-not-initialized-aca1e34f.cjs.prod.js} +3 -3
  21. package/dist/{project-suspended-3fb4fd45.esm.js → project-suspended-170c347b.esm.js} +3 -3
  22. package/dist/{project-suspended-3cc62405.cjs.dev.js → project-suspended-b5ddb9fe.cjs.dev.js} +3 -3
  23. package/dist/{project-suspended-a74e62db.cjs.prod.js → project-suspended-e5827cf6.cjs.prod.js} +3 -3
  24. package/dist/{quick-access-2b0cce3b.cjs.prod.js → quick-access-09abcedb.cjs.prod.js} +2 -2
  25. package/dist/{quick-access-60231971.esm.js → quick-access-16aecbb3.esm.js} +2 -2
  26. package/dist/{quick-access-e739b998.cjs.dev.js → quick-access-55223033.cjs.dev.js} +2 -2
  27. package/dist/{service-page-project-switcher-ac6ed214.esm.js → service-page-project-switcher-1cfe4ec7.esm.js} +1 -1
  28. package/dist/{service-page-project-switcher-85a5bb01.cjs.dev.js → service-page-project-switcher-26115cef.cjs.dev.js} +1 -1
  29. package/dist/{service-page-project-switcher-6ece0c75.cjs.prod.js → service-page-project-switcher-2df3c182.cjs.prod.js} +1 -1
  30. package/package.json +3 -3
  31. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +1 -1
  32. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +1 -1
  33. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +1 -1
@@ -101,7 +101,7 @@ var _pt__default = /*#__PURE__*/_interopDefault(_pt);
101
101
  var invariant__default = /*#__PURE__*/_interopDefault(invariant);
102
102
 
103
103
  // NOTE: This string will be replaced on build time with the package version.
104
- var version = "21.3.4";
104
+ var version = "21.3.5";
105
105
 
106
106
  var isAddNotificationErrorAction = function isAddNotificationErrorAction(action) {
107
107
  var errorAction = action;
@@ -100,7 +100,7 @@ var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
100
100
  var invariant__default = /*#__PURE__*/_interopDefault(invariant);
101
101
 
102
102
  // NOTE: This string will be replaced on build time with the package version.
103
- var version = "21.3.4";
103
+ var version = "21.3.5";
104
104
 
105
105
  var isAddNotificationErrorAction = function isAddNotificationErrorAction(action) {
106
106
  var errorAction = action;
@@ -60,7 +60,7 @@ import { entryPointUriPathToPermissionKeys } from '@commercetools-frontend/appli
60
60
  import { useApplicationContext } from '@commercetools-frontend/application-shell-connectors';
61
61
 
62
62
  // NOTE: This string will be replaced on build time with the package version.
63
- var version = "21.3.4";
63
+ var version = "21.3.5";
64
64
 
65
65
  var isAddNotificationErrorAction = function isAddNotificationErrorAction(action) {
66
66
  var errorAction = action;
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var applicationEntryPoint = require('./application-entry-point-d0d51a20.cjs.dev.js');
6
- var dist_commercetoolsFrontendApplicationShell = require('./index-95fb9489.cjs.dev.js');
5
+ var applicationEntryPoint = require('./application-entry-point-2fa512ec.cjs.dev.js');
6
+ var dist_commercetoolsFrontendApplicationShell = require('./index-93c8f750.cjs.dev.js');
7
7
  require('@babel/runtime-corejs3/core-js-stable/instance/filter');
8
8
  require('uuid');
9
9
  require('@babel/runtime-corejs3/core-js-stable/url');
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var applicationEntryPoint = require('./application-entry-point-1dc8d5f7.cjs.prod.js');
6
- var dist_commercetoolsFrontendApplicationShell = require('./index-bc2d17b9.cjs.prod.js');
5
+ var applicationEntryPoint = require('./application-entry-point-dae0d1ac.cjs.prod.js');
6
+ var dist_commercetoolsFrontendApplicationShell = require('./index-32cd533b.cjs.prod.js');
7
7
  require('@babel/runtime-corejs3/core-js-stable/instance/filter');
8
8
  require('uuid');
9
9
  require('@babel/runtime-corejs3/core-js-stable/url');
@@ -1,5 +1,5 @@
1
- export { p as RouteCatchAll, q as applyDefaultMiddlewares, f as createApolloClient, n as selectProjectKeyFromUrl, t as selectUserId, v as version } from './application-entry-point-f27fbd4a.esm.js';
2
- export { A as ApplicationShell, a as ApplicationShellProvider, C as ConfigureIntlProvider, G as GtmContext, b as GtmUserLogoutTracker, I as InjectReducers, S as SetupFlopFlipProvider, c as createApolloContextForProxyForwardTo, s as setupGlobalErrorListener, d as useMcLazyQuery, e as useMcMutation, u as useMcQuery } from './index-6883bbec.esm.js';
1
+ export { p as RouteCatchAll, q as applyDefaultMiddlewares, f as createApolloClient, n as selectProjectKeyFromUrl, t as selectUserId, v as version } from './application-entry-point-f7f932ac.esm.js';
2
+ export { A as ApplicationShell, a as ApplicationShellProvider, C as ConfigureIntlProvider, G as GtmContext, b as GtmUserLogoutTracker, I as InjectReducers, S as SetupFlopFlipProvider, c as createApolloContextForProxyForwardTo, s as setupGlobalErrorListener, d as useMcLazyQuery, e as useMcMutation, u as useMcQuery } from './index-82d5b1c3.esm.js';
3
3
  import '@babel/runtime-corejs3/core-js-stable/instance/filter';
4
4
  import 'uuid';
5
5
  import '@babel/runtime-corejs3/core-js-stable/url';
@@ -4,7 +4,7 @@ import type { NormalizedCacheObject } from '@apollo/client';
4
4
  import type { TApplicationContext } from '@commercetools-frontend/application-shell-connectors';
5
5
  import type { TAsyncLocaleDataProps } from '@commercetools-frontend/i18n';
6
6
  import type { TrackingList } from '../../utils/gtm';
7
- import { ReactNode, SyntheticEvent } from 'react';
7
+ import { type ReactNode, type SyntheticEvent } from 'react';
8
8
  import { ApolloClient } from '@apollo/client';
9
9
  declare type Props<AdditionalEnvironmentProperties extends {}> = {
10
10
  apolloClient?: ApolloClient<NormalizedCacheObject>;
@@ -0,0 +1,18 @@
1
+ declare const _default: {
2
+ readonly collapseMainNav: {
3
+ readonly action: "CollapseMainNav";
4
+ readonly category: "Main-Navigation";
5
+ readonly label: "Collapse Main Navigation";
6
+ };
7
+ readonly expandMainNav: {
8
+ readonly action: "ExpandMainNav";
9
+ readonly category: "Main-Navigation";
10
+ readonly label: "Expand Main Navigation";
11
+ };
12
+ readonly goToSupport: {
13
+ readonly action: "GoToSupport";
14
+ readonly category: "Main-Navigation";
15
+ readonly label: "Go to Support";
16
+ };
17
+ };
18
+ export default _default;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var applicationEntryPoint = require('./application-entry-point-1dc8d5f7.cjs.prod.js');
3
+ var applicationEntryPoint = require('./application-entry-point-dae0d1ac.cjs.prod.js');
4
4
  var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
5
5
  var _styled = require('@emotion/styled/base');
6
6
  var _pt = require('prop-types');
@@ -2325,19 +2325,19 @@ var LocaleSwitcher = function LocaleSwitcher(props) {
2325
2325
  LocaleSwitcher.propTypes = {};
2326
2326
 
2327
2327
  var ProjectNotFound = /*#__PURE__*/react.lazy(function () {
2328
- return Promise.resolve().then(function () { return require('./project-not-found-0c73ec63.cjs.prod.js'
2328
+ return Promise.resolve().then(function () { return require('./project-not-found-998fdc8e.cjs.prod.js'
2329
2329
  /* webpackChunkName: "project-not-found" */
2330
2330
  ); });
2331
2331
  });
2332
2332
 
2333
2333
  var ProjectExpired = /*#__PURE__*/react.lazy(function () {
2334
- return Promise.resolve().then(function () { return require('./project-expired-07c02144.cjs.prod.js'
2334
+ return Promise.resolve().then(function () { return require('./project-expired-59cb3714.cjs.prod.js'
2335
2335
  /* webpackChunkName: "project-expired" */
2336
2336
  ); });
2337
2337
  });
2338
2338
 
2339
2339
  var ProjectNotInitialized = /*#__PURE__*/react.lazy(function () {
2340
- return Promise.resolve().then(function () { return require('./project-not-initialized-37ea5e31.cjs.prod.js'
2340
+ return Promise.resolve().then(function () { return require('./project-not-initialized-aca1e34f.cjs.prod.js'
2341
2341
  /* webpackChunkName: "project-not-initialized" */
2342
2342
  ); });
2343
2343
  });
@@ -2384,7 +2384,7 @@ var RedirectToProjectCreate = function RedirectToProjectCreate() {
2384
2384
  RedirectToProjectCreate.displayName = 'RedirectToProjectCreate';
2385
2385
 
2386
2386
  var ProjectSuspended = /*#__PURE__*/react.lazy(function () {
2387
- return Promise.resolve().then(function () { return require('./project-suspended-a74e62db.cjs.prod.js'
2387
+ return Promise.resolve().then(function () { return require('./project-suspended-e5827cf6.cjs.prod.js'
2388
2388
  /* webpackChunkName: "project-suspended" */
2389
2389
  ); });
2390
2390
  });
@@ -3000,6 +3000,24 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
3000
3000
  });
3001
3001
  };
3002
3002
 
3003
+ var trackingEvents$1 = {
3004
+ collapseMainNav: {
3005
+ action: 'CollapseMainNav',
3006
+ category: 'Main-Navigation',
3007
+ label: 'Collapse Main Navigation'
3008
+ },
3009
+ expandMainNav: {
3010
+ action: 'ExpandMainNav',
3011
+ category: 'Main-Navigation',
3012
+ label: 'Expand Main Navigation'
3013
+ },
3014
+ goToSupport: {
3015
+ action: 'GoToSupport',
3016
+ category: 'Main-Navigation',
3017
+ label: 'Go to Support'
3018
+ }
3019
+ };
3020
+
3003
3021
  var _excluded = ["icon"];
3004
3022
 
3005
3023
  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; }
@@ -3120,10 +3138,18 @@ IconSwitcher.propTypes = {};
3120
3138
  IconSwitcher.displayName = 'IconSwitcher';
3121
3139
 
3122
3140
  var MenuExpander = function MenuExpander(props) {
3141
+ var gtmTracking = react.useContext(GtmContext);
3123
3142
  return jsxRuntime.jsx("li", {
3124
3143
  className: classnames__default["default"](styles['list-item'], styles.expander, _defineProperty({}, styles.hidden, !props.isVisible)),
3125
3144
  children: jsxRuntime.jsx("div", {
3126
- onClick: props.onClick,
3145
+ onClick: function onClick(event) {
3146
+ var _trackingEvents = trackingEvents$1[props.isMenuOpen ? 'collapseMainNav' : 'expandMainNav'],
3147
+ action = _trackingEvents.action,
3148
+ category = _trackingEvents.category,
3149
+ label = _trackingEvents.label;
3150
+ gtmTracking.track(action, category, label);
3151
+ props.onClick(event);
3152
+ },
3127
3153
  className: styles['expand-icon'],
3128
3154
  "data-testid": "menu-expander",
3129
3155
  children: jsxRuntime.jsx(icons.BackIcon, {
@@ -3457,6 +3483,7 @@ var NavBar = function NavBar(props) {
3457
3483
 
3458
3484
  var useFullRedirectsForLinks = Boolean(props.environment.useFullRedirectsForLinks);
3459
3485
  var location = reactRouterDom.useLocation();
3486
+ var gtmTracking = react.useContext(GtmContext);
3460
3487
  var projectPermissions = react.useMemo(function () {
3461
3488
  var _props$project, _props$project2, _props$project3;
3462
3489
 
@@ -3494,7 +3521,8 @@ var NavBar = function NavBar(props) {
3494
3521
  menuVisibilities: menuVisibilities,
3495
3522
  applicationLocale: props.applicationLocale,
3496
3523
  projectKey: props.projectKey,
3497
- useFullRedirectsForLinks: useFullRedirectsForLinks
3524
+ useFullRedirectsForLinks: useFullRedirectsForLinks,
3525
+ onMenuItemClick: props.onMenuItemClick
3498
3526
  }, menu.key);
3499
3527
  })
3500
3528
  }), jsxRuntime.jsxs("div", {
@@ -3504,6 +3532,8 @@ var NavBar = function NavBar(props) {
3504
3532
  isActive: false,
3505
3533
  isMenuOpen: isMenuOpen,
3506
3534
  onClick: function onClick() {
3535
+ gtmTracking.track(trackingEvents$1.goToSupport.action, trackingEvents$1.goToSupport.category, trackingEvents$1.goToSupport.label);
3536
+
3507
3537
  _handleToggleItem('fixed-support');
3508
3538
  },
3509
3539
  onMouseEnter: isMenuOpen ? undefined : function () {
@@ -3530,7 +3560,8 @@ var NavBar = function NavBar(props) {
3530
3560
  })
3531
3561
  }), jsxRuntime.jsx(MenuExpander, {
3532
3562
  isVisible: isExpanderVisible,
3533
- onClick: handleToggleMenu
3563
+ onClick: handleToggleMenu,
3564
+ isMenuOpen: isMenuOpen
3534
3565
  })]
3535
3566
  })]
3536
3567
  })
@@ -3599,7 +3630,7 @@ var pimIndexerStates = {
3599
3630
  };
3600
3631
 
3601
3632
  var QuickAccess = /*#__PURE__*/react.lazy(function () {
3602
- return Promise.resolve().then(function () { return require('./quick-access-2b0cce3b.cjs.prod.js'
3633
+ return Promise.resolve().then(function () { return require('./quick-access-09abcedb.cjs.prod.js'
3603
3634
  /* webpackChunkName: "quick-access" */
3604
3635
  ); });
3605
3636
  });
@@ -3914,6 +3945,12 @@ var RestrictedApplication = function RestrictedApplication(props) {
3914
3945
  // ok-ish but we might want to look into a more performant solution.
3915
3946
 
3916
3947
  var location = reactRouterDom.useLocation();
3948
+ var notificationsGlobalRef = react.useRef(null);
3949
+ var notificationsPageRef = react.useRef(null);
3950
+ var layoutRefs = react.useRef({
3951
+ notificationsGlobalRef: notificationsGlobalRef,
3952
+ notificationsPageRef: notificationsPageRef
3953
+ });
3917
3954
  return jsxRuntime.jsx(FetchUser, {
3918
3955
  children: function children(_ref6) {
3919
3956
  var isLoadingUser = _ref6.isLoading,
@@ -3992,6 +4029,7 @@ var RestrictedApplication = function RestrictedApplication(props) {
3992
4029
  role: "application-layout",
3993
4030
  css: /*#__PURE__*/react$2.css("height:100vh;display:grid;grid-template-rows:auto ", constants.DIMENSIONS.header, " 1fr;grid-template-columns:auto 1fr;" + ("" ), "" ),
3994
4031
  children: [jsxRuntime.jsx("div", {
4032
+ ref: notificationsGlobalRef,
3995
4033
  role: "global-notifications",
3996
4034
  css: _ref5,
3997
4035
  children: jsxRuntime.jsx(reactNotifications.NotificationsList, {
@@ -4081,16 +4119,21 @@ var RestrictedApplication = function RestrictedApplication(props) {
4081
4119
  children: jsxRuntime.jsx(ApplicationLoader, {})
4082
4120
  }) : jsxRuntime.jsxs(MainContainer, {
4083
4121
  role: "main",
4084
- children: [jsxRuntime.jsx(reactNotifications.NotificationsList, {
4085
- domain: constants$1.DOMAINS.PAGE
4122
+ children: [jsxRuntime.jsx("div", {
4123
+ ref: notificationsPageRef,
4124
+ children: jsxRuntime.jsx(reactNotifications.NotificationsList, {
4125
+ domain: constants$1.DOMAINS.PAGE
4126
+ })
4086
4127
  }), jsxRuntime.jsx(reactNotifications.NotificationsList, {
4087
4128
  domain: constants$1.DOMAINS.SIDE
4088
4129
  }), jsxRuntime.jsxs("div", {
4089
4130
  css: _ref2,
4090
- children: [jsxRuntime.jsx(applicationComponents.PortalsContainer, {
4131
+ children: [jsxRuntime.jsx(applicationComponents.PortalsContainer // @ts-ignore
4132
+ , {
4133
+ ref: layoutRefs,
4091
4134
  offsetTop: constants.DIMENSIONS.header,
4092
- offsetLeft: constants.DIMENSIONS.navMenu,
4093
- offsetLeftOnExpandedMenu: constants.DIMENSIONS.navMenuExpanded
4135
+ offsetLeft: projectKeyFromUrl ? constants.DIMENSIONS.navMenu : '0px',
4136
+ offsetLeftOnExpandedMenu: projectKeyFromUrl ? constants.DIMENSIONS.navMenuExpanded : '0px'
4094
4137
  }), jsxRuntime.jsxs(reactRouterDom.Switch, {
4095
4138
  children: [jsxRuntime.jsx(reactRouterDom.Redirect, {
4096
4139
  from: "/profile",