@commercetools-frontend/application-components 27.9.0 → 27.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,13 +24,13 @@ import _Object$entries from '@babel/runtime-corejs3/core-js-stable/object/entrie
24
24
  import { useLocation, matchPath } from 'react-router-dom';
25
25
  import { CustomViewLoader } from './commercetools-frontend-application-components.esm.js';
26
26
  import { defineMessages } from 'react-intl';
27
- import _bindInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/bind';
28
27
  import { useFlagVariation } from '@flopflip/react-broadcast';
29
28
  import { useMcQuery } from '@commercetools-frontend/application-shell-connectors';
30
29
  import { featureFlags, GRAPHQL_TARGETS } from '@commercetools-frontend/constants';
31
30
  import { jsx, jsxs } from '@emotion/react/jsx-runtime';
32
31
  import '@babel/runtime-corejs3/helpers/objectWithoutProperties';
33
32
  import '@commercetools-uikit/utils';
33
+ import '@babel/runtime-corejs3/core-js-stable/instance/concat';
34
34
  import '@radix-ui/react-dialog';
35
35
  import '@commercetools-uikit/card';
36
36
  import '@commercetools-uikit/secondary-icon-button';
@@ -42,6 +42,7 @@ import 'lodash/omitBy';
42
42
  import '@babel/runtime-corejs3/core-js-stable/promise';
43
43
  import '@babel/runtime-corejs3/core-js-stable/set-timeout';
44
44
  import '@commercetools-uikit/flat-button';
45
+ import '@babel/runtime-corejs3/helpers/taggedTemplateLiteral';
45
46
  import '@commercetools-uikit/icon-button';
46
47
  import '@commercetools-frontend/assets/images/page-not-found.svg';
47
48
  import '@commercetools-frontend/assets/images/doors-closed.svg';
@@ -72,7 +73,7 @@ const useCustomViewLocatorSelector = function () {
72
73
  });
73
74
  });
74
75
  return {
75
- currentCustomViewLocatorCode: customViewLocator?.[0]
76
+ currentCustomViewLocatorCode: customViewLocator === null || customViewLocator === void 0 ? void 0 : customViewLocator[0]
76
77
  };
77
78
  };
78
79
 
@@ -85,12 +86,12 @@ var messages = defineMessages({
85
86
 
86
87
  var FetchCustomViewsQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchCustomViewsByLocator" }, variableDefinitions: [{ kind: "VariableDefinition", variable: { kind: "Variable", name: { kind: "Name", value: "customViewLocatorCode" } }, type: { kind: "NonNullType", type: { kind: "NamedType", name: { kind: "Name", value: "String" } } }, directives: [] }], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "allCustomViewsInstallationsByLocator" }, arguments: [{ kind: "Argument", name: { kind: "Name", value: "locator" }, value: { kind: "Variable", name: { kind: "Name", value: "customViewLocatorCode" } } }], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "customView" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "url" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "type" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "typeSettings" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "size" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "locators" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "oAuthScopes" }, arguments: [], directives: [] }] } }] } }] } }] } }], loc: { start: 0, end: 405, source: { body: "query FetchCustomViewsByLocator($customViewLocatorCode: String!) {\n allCustomViewsInstallationsByLocator(locator: $customViewLocatorCode) {\n id\n customView {\n id\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n url\n type\n typeSettings {\n size\n }\n locators\n permissions {\n name\n oAuthScopes\n }\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
87
88
  const useCustomViewsConnector = _ref => {
88
- var _context, _context2;
89
+ var _enableCustomViews$va, _data$allCustomViewsI;
89
90
  let customViewLocatorCode = _ref.customViewLocatorCode;
90
91
  const enableCustomViews = useFlagVariation(featureFlags.CUSTOM_VIEWS);
91
92
  const areCustomViewsEnabled =
92
93
  // @ts-ignore In case it's coming from the MC API, it's an object { value: boolean }.
93
- (enableCustomViews?.value ?? enableCustomViews) && process.env.DISABLE_CUSTOM_VIEWS_FEATURE !== 'true';
94
+ ((_enableCustomViews$va = enableCustomViews === null || enableCustomViews === void 0 ? void 0 : enableCustomViews.value) !== null && _enableCustomViews$va !== void 0 ? _enableCustomViews$va : enableCustomViews) && process.env.DISABLE_CUSTOM_VIEWS_FEATURE !== 'true';
94
95
  const _useMcQuery = useMcQuery(FetchCustomViewsQuery, {
95
96
  variables: {
96
97
  customViewLocatorCode
@@ -104,7 +105,7 @@ const useCustomViewsConnector = _ref => {
104
105
  error = _useMcQuery.error,
105
106
  loading = _useMcQuery.loading;
106
107
  return {
107
- customViews: ((_context = data?.allCustomViewsInstallationsByLocator) == null ? void 0 : _bindInstanceProperty(_context2 = Function.call).call(_context2, _mapInstanceProperty(_context), _context))?.(installation => installation.customView) || [],
108
+ customViews: (data === null || data === void 0 || (_data$allCustomViewsI = data.allCustomViewsInstallationsByLocator) === null || _data$allCustomViewsI === void 0 ? void 0 : _mapInstanceProperty(_data$allCustomViewsI).call(_data$allCustomViewsI, installation => installation.customView)) || [],
108
109
  error,
109
110
  loading
110
111
  };
@@ -212,7 +213,7 @@ function CustomViewSelector(props) {
212
213
  const isNotLastItem = index !== customViews.length - 1;
213
214
  return jsxs(Fragment, {
214
215
  children: [jsx(CustomViewSelectorItem, {
215
- selected: selectedCustomView?.id === customView.id,
216
+ selected: (selectedCustomView === null || selectedCustomView === void 0 ? void 0 : selectedCustomView.id) === customView.id,
216
217
  onClick: () => {
217
218
  setSelectedCustomView(customView);
218
219
  },
@@ -235,7 +236,7 @@ CustomViewSelector.displayName = 'CustomViewSelector';
235
236
  const CustomViewSelectorOrNothing = props => {
236
237
  const _useCustomViewLocator = useCustomViewLocatorSelector(props.customViewLocatorCodes),
237
238
  currentCustomViewLocatorCode = _useCustomViewLocator.currentCustomViewLocatorCode;
238
- const locatorCode = currentCustomViewLocatorCode ?? props.customViewLocatorCode;
239
+ const locatorCode = currentCustomViewLocatorCode !== null && currentCustomViewLocatorCode !== void 0 ? currentCustomViewLocatorCode : props.customViewLocatorCode;
239
240
  if (!locatorCode) {
240
241
  return null;
241
242
  }
@@ -26,13 +26,13 @@ var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entr
26
26
  var reactRouterDom = require('react-router-dom');
27
27
  var dist_commercetoolsFrontendApplicationComponents = require('./commercetools-frontend-application-components.cjs.prod.js');
28
28
  var reactIntl = require('react-intl');
29
- var _bindInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/bind');
30
29
  var reactBroadcast = require('@flopflip/react-broadcast');
31
30
  var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
32
31
  var constants = require('@commercetools-frontend/constants');
33
32
  var jsxRuntime = require('@emotion/react/jsx-runtime');
34
33
  require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
35
34
  require('@commercetools-uikit/utils');
35
+ require('@babel/runtime-corejs3/core-js-stable/instance/concat');
36
36
  require('@radix-ui/react-dialog');
37
37
  require('@commercetools-uikit/card');
38
38
  require('@commercetools-uikit/secondary-icon-button');
@@ -44,6 +44,7 @@ require('lodash/omitBy');
44
44
  require('@babel/runtime-corejs3/core-js-stable/promise');
45
45
  require('@babel/runtime-corejs3/core-js-stable/set-timeout');
46
46
  require('@commercetools-uikit/flat-button');
47
+ require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
47
48
  require('@commercetools-uikit/icon-button');
48
49
  require('@commercetools-frontend/assets/images/page-not-found.svg');
49
50
  require('@commercetools-frontend/assets/images/doors-closed.svg');
@@ -71,7 +72,6 @@ var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
71
72
  var Text__default = /*#__PURE__*/_interopDefault(Text);
72
73
  var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
73
74
  var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
74
- var _bindInstanceProperty__default = /*#__PURE__*/_interopDefault(_bindInstanceProperty);
75
75
 
76
76
  const pathWithoutSearch = path => typeof path === 'string' ? path.split('?')[0] : path.pathname;
77
77
  const useCustomViewLocatorSelector = function () {
@@ -94,7 +94,7 @@ const useCustomViewLocatorSelector = function () {
94
94
  });
95
95
  });
96
96
  return {
97
- currentCustomViewLocatorCode: customViewLocator?.[0]
97
+ currentCustomViewLocatorCode: customViewLocator === null || customViewLocator === void 0 ? void 0 : customViewLocator[0]
98
98
  };
99
99
  };
100
100
 
@@ -107,12 +107,12 @@ var messages = reactIntl.defineMessages({
107
107
 
108
108
  var FetchCustomViewsQuery = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchCustomViewsByLocator" }, variableDefinitions: [{ kind: "VariableDefinition", variable: { kind: "Variable", name: { kind: "Name", value: "customViewLocatorCode" } }, type: { kind: "NonNullType", type: { kind: "NamedType", name: { kind: "Name", value: "String" } } }, directives: [] }], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "allCustomViewsInstallationsByLocator" }, arguments: [{ kind: "Argument", name: { kind: "Name", value: "locator" }, value: { kind: "Variable", name: { kind: "Name", value: "customViewLocatorCode" } } }], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "customView" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "url" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "type" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "typeSettings" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "size" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "locators" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "oAuthScopes" }, arguments: [], directives: [] }] } }] } }] } }] } }], loc: { start: 0, end: 405, source: { body: "query FetchCustomViewsByLocator($customViewLocatorCode: String!) {\n allCustomViewsInstallationsByLocator(locator: $customViewLocatorCode) {\n id\n customView {\n id\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n url\n type\n typeSettings {\n size\n }\n locators\n permissions {\n name\n oAuthScopes\n }\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
109
109
  const useCustomViewsConnector = _ref => {
110
- var _context, _context2;
110
+ var _enableCustomViews$va, _data$allCustomViewsI;
111
111
  let customViewLocatorCode = _ref.customViewLocatorCode;
112
112
  const enableCustomViews = reactBroadcast.useFlagVariation(constants.featureFlags.CUSTOM_VIEWS);
113
113
  const areCustomViewsEnabled =
114
114
  // @ts-ignore In case it's coming from the MC API, it's an object { value: boolean }.
115
- (enableCustomViews?.value ?? enableCustomViews) && process.env.DISABLE_CUSTOM_VIEWS_FEATURE !== 'true';
115
+ ((_enableCustomViews$va = enableCustomViews === null || enableCustomViews === void 0 ? void 0 : enableCustomViews.value) !== null && _enableCustomViews$va !== void 0 ? _enableCustomViews$va : enableCustomViews) && process.env.DISABLE_CUSTOM_VIEWS_FEATURE !== 'true';
116
116
  const _useMcQuery = applicationShellConnectors.useMcQuery(FetchCustomViewsQuery, {
117
117
  variables: {
118
118
  customViewLocatorCode
@@ -126,7 +126,7 @@ const useCustomViewsConnector = _ref => {
126
126
  error = _useMcQuery.error,
127
127
  loading = _useMcQuery.loading;
128
128
  return {
129
- customViews: ((_context = data?.allCustomViewsInstallationsByLocator) == null ? void 0 : _bindInstanceProperty__default["default"](_context2 = Function.call).call(_context2, _mapInstanceProperty__default["default"](_context), _context))?.(installation => installation.customView) || [],
129
+ customViews: (data === null || data === void 0 || (_data$allCustomViewsI = data.allCustomViewsInstallationsByLocator) === null || _data$allCustomViewsI === void 0 ? void 0 : _mapInstanceProperty__default["default"](_data$allCustomViewsI).call(_data$allCustomViewsI, installation => installation.customView)) || [],
130
130
  error,
131
131
  loading
132
132
  };
@@ -213,7 +213,7 @@ function CustomViewSelector(props) {
213
213
  const isNotLastItem = index !== customViews.length - 1;
214
214
  return jsxRuntime.jsxs(react$1.Fragment, {
215
215
  children: [jsxRuntime.jsx(CustomViewSelectorItem, {
216
- selected: selectedCustomView?.id === customView.id,
216
+ selected: (selectedCustomView === null || selectedCustomView === void 0 ? void 0 : selectedCustomView.id) === customView.id,
217
217
  onClick: () => {
218
218
  setSelectedCustomView(customView);
219
219
  },
@@ -236,7 +236,7 @@ CustomViewSelector.displayName = 'CustomViewSelector';
236
236
  const CustomViewSelectorOrNothing = props => {
237
237
  const _useCustomViewLocator = useCustomViewLocatorSelector(props.customViewLocatorCodes),
238
238
  currentCustomViewLocatorCode = _useCustomViewLocator.currentCustomViewLocatorCode;
239
- const locatorCode = currentCustomViewLocatorCode ?? props.customViewLocatorCode;
239
+ const locatorCode = currentCustomViewLocatorCode !== null && currentCustomViewLocatorCode !== void 0 ? currentCustomViewLocatorCode : props.customViewLocatorCode;
240
240
  if (!locatorCode) {
241
241
  return null;
242
242
  }
@@ -81,7 +81,7 @@ const PublicPageLayout = _ref2 => {
81
81
  children: props.legalMessage
82
82
  }), jsx(Text.Detail, {
83
83
  tone: "secondary",
84
- children: `${year} © commercetools`
84
+ children: "".concat(year, " \xA9 commercetools")
85
85
  })]
86
86
  })
87
87
  })]
@@ -81,7 +81,7 @@ const PublicPageLayout = _ref2 => {
81
81
  children: props.legalMessage
82
82
  }), jsxRuntime.jsx(Text__default["default"].Detail, {
83
83
  tone: "secondary",
84
- children: `${year} © commercetools`
84
+ children: "".concat(year, " \xA9 commercetools")
85
85
  })]
86
86
  })
87
87
  })]
@@ -90,7 +90,7 @@ const PublicPageLayout = _ref2 => {
90
90
  children: props.legalMessage
91
91
  }), jsxRuntime.jsx(Text__default["default"].Detail, {
92
92
  tone: "secondary",
93
- children: `${year} © commercetools`
93
+ children: "".concat(year, " \xA9 commercetools")
94
94
  })]
95
95
  })
96
96
  })]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools-frontend/application-components",
3
- "version": "27.9.0",
3
+ "version": "27.9.1",
4
4
  "description": "Generic components for building Merchant Center applications",
5
5
  "bugs": "https://github.com/commercetools/merchant-center-application-kit/issues",
6
6
  "repository": {
@@ -36,59 +36,59 @@
36
36
  "dependencies": {
37
37
  "@babel/runtime": "^7.22.15",
38
38
  "@babel/runtime-corejs3": "^7.22.15",
39
- "@commercetools-uikit/accessible-button": "^20.4.0",
40
- "@commercetools-uikit/card": "^20.4.0",
41
- "@commercetools-uikit/constraints": "^20.4.0",
42
- "@commercetools-uikit/design-system": "^20.4.0",
43
- "@commercetools-uikit/flat-button": "^20.4.0",
44
- "@commercetools-uikit/hooks": "^20.4.0",
45
- "@commercetools-uikit/icon-button": "^20.4.0",
46
- "@commercetools-uikit/icons": "^20.4.0",
47
- "@commercetools-uikit/label": "^20.4.0",
48
- "@commercetools-uikit/messages": "^20.4.0",
49
- "@commercetools-uikit/primary-button": "^20.4.0",
50
- "@commercetools-uikit/secondary-button": "^20.4.0",
51
- "@commercetools-uikit/secondary-icon-button": "^20.4.0",
52
- "@commercetools-uikit/spacings": "^20.4.0",
53
- "@commercetools-uikit/stamp": "^20.4.0",
54
- "@commercetools-uikit/text": "^20.4.0",
55
- "@commercetools-uikit/utils": "^20.4.0",
39
+ "@commercetools-uikit/accessible-button": "^20.6.7",
40
+ "@commercetools-uikit/card": "^20.6.7",
41
+ "@commercetools-uikit/constraints": "^20.6.7",
42
+ "@commercetools-uikit/design-system": "^20.6.7",
43
+ "@commercetools-uikit/flat-button": "^20.6.7",
44
+ "@commercetools-uikit/hooks": "^20.6.7",
45
+ "@commercetools-uikit/icon-button": "^20.6.7",
46
+ "@commercetools-uikit/icons": "^20.6.7",
47
+ "@commercetools-uikit/label": "^20.6.7",
48
+ "@commercetools-uikit/messages": "^20.6.7",
49
+ "@commercetools-uikit/primary-button": "^20.6.7",
50
+ "@commercetools-uikit/secondary-button": "^20.6.7",
51
+ "@commercetools-uikit/secondary-icon-button": "^20.6.7",
52
+ "@commercetools-uikit/spacings": "^20.6.7",
53
+ "@commercetools-uikit/stamp": "^20.6.7",
54
+ "@commercetools-uikit/text": "^20.6.7",
55
+ "@commercetools-uikit/utils": "^20.6.7",
56
56
  "@emotion/react": "^11.14.0",
57
57
  "@emotion/styled": "^11.14.0",
58
- "@flopflip/react-broadcast": "15.1.7",
59
- "@radix-ui/react-dialog": "1.1.14",
58
+ "@flopflip/react-broadcast": "15.1.11",
59
+ "@radix-ui/react-dialog": "1.1.23",
60
60
  "@react-hook/latest": "1.0.3",
61
61
  "@react-hook/resize-observer": "1.2.6",
62
62
  "@types/history": "^4.7.11",
63
63
  "@types/lodash": "^4.14.198",
64
64
  "@types/prop-types": "^15.7.5",
65
65
  "@types/react": "^19.0.3",
66
- "@types/react-dom": "^19.0.2",
66
+ "@types/react-dom": "^19.2.4",
67
67
  "@types/react-router-dom": "^5.3.3",
68
68
  "history": "4.10.1",
69
69
  "lodash": "4.18.1",
70
70
  "prop-types": "15.8.1",
71
71
  "raf-schd": "^4.0.3",
72
- "@commercetools-frontend/actions-global": "^27.9.0",
73
- "@commercetools-frontend/application-config": "^27.9.0",
74
- "@commercetools-frontend/application-shell-connectors": "^27.9.0",
75
- "@commercetools-frontend/assets": "^27.9.0",
76
- "@commercetools-frontend/constants": "^27.9.0",
77
- "@commercetools-frontend/i18n": "^27.9.0",
78
- "@commercetools-frontend/l10n": "^27.9.0",
79
- "@commercetools-frontend/sentry": "^27.9.0"
72
+ "@commercetools-frontend/actions-global": "^27.9.1",
73
+ "@commercetools-frontend/application-config": "^27.9.1",
74
+ "@commercetools-frontend/application-shell-connectors": "^27.9.1",
75
+ "@commercetools-frontend/assets": "^27.9.1",
76
+ "@commercetools-frontend/constants": "^27.9.1",
77
+ "@commercetools-frontend/i18n": "^27.9.1",
78
+ "@commercetools-frontend/l10n": "^27.9.1",
79
+ "@commercetools-frontend/sentry": "^27.9.1"
80
80
  },
81
81
  "devDependencies": {
82
- "@apollo/client": "3.13.9",
82
+ "@apollo/client": "3.14.1",
83
83
  "@testing-library/dom": "^10.4.0",
84
- "@testing-library/react": "16.1.0",
84
+ "@testing-library/react": "16.3.2",
85
85
  "@types/jest": "^29.5.14",
86
86
  "@types/raf-schd": "^4.0.1",
87
87
  "@types/testing-library__jest-dom": "^5.14.9",
88
88
  "jest": "30.2.0",
89
89
  "msw": "^1.3.5",
90
- "react": "19.0.0",
91
- "react-dom": "19.0.0",
90
+ "react": "19.2.8",
91
+ "react-dom": "19.2.8",
92
92
  "react-intl": "^7.1.4",
93
93
  "react-router-dom": "5.3.4"
94
94
  },