@commercetools-frontend-extensions/import-resources-modal 1.3.18 → 1.3.19

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 (21) hide show
  1. package/dist/{active-drag-drop-area-2070870c.esm.js → active-drag-drop-area-9667523a.esm.js} +2 -1
  2. package/dist/{active-drag-drop-area-71b18c95.cjs.dev.js → active-drag-drop-area-af12a9b1.cjs.dev.js} +2 -1
  3. package/dist/{active-drag-drop-area-7223062d.cjs.prod.js → active-drag-drop-area-f7b82691.cjs.prod.js} +2 -1
  4. package/dist/commercetools-frontend-extensions-import-resources-modal.cjs.dev.js +9 -7
  5. package/dist/commercetools-frontend-extensions-import-resources-modal.cjs.prod.js +8 -6
  6. package/dist/commercetools-frontend-extensions-import-resources-modal.esm.js +8 -7
  7. package/dist/declarations/src/@hooks/index.d.ts +3 -0
  8. package/dist/declarations/src/@hooks/use-import-permission.d.ts +7 -0
  9. package/dist/declarations/src/@hooks/use-import-resources-context.d.ts +1 -0
  10. package/dist/declarations/src/@hooks/use-upload.d.ts +3 -0
  11. package/dist/declarations/src/index.d.ts +1 -0
  12. package/dist/{enabled-drop-area-f7df6932.cjs.prod.js → enabled-drop-area-93e90a7a.cjs.prod.js} +2 -1
  13. package/dist/{enabled-drop-area-30f931be.esm.js → enabled-drop-area-e2c28a9e.esm.js} +2 -1
  14. package/dist/{enabled-drop-area-b0e2ad4d.cjs.dev.js → enabled-drop-area-ed0fd3ba.cjs.dev.js} +2 -1
  15. package/dist/{file-dropped-area-a1b8bc83.cjs.dev.js → file-dropped-area-16894986.cjs.prod.js} +2 -1
  16. package/dist/{file-dropped-area-0856e6fe.esm.js → file-dropped-area-8a8a3de8.esm.js} +2 -1
  17. package/dist/{file-dropped-area-b394c5b4.cjs.prod.js → file-dropped-area-b3ce24a7.cjs.dev.js} +2 -1
  18. package/dist/{index-ed334c08.cjs.prod.js → index-02b35395.cjs.prod.js} +51 -3
  19. package/dist/{index-fb10311d.cjs.dev.js → index-0bd38b3d.cjs.dev.js} +51 -3
  20. package/dist/{index-bbcef105.esm.js → index-62b39c5f.esm.js} +52 -5
  21. package/package.json +11 -10
@@ -1,4 +1,4 @@
1
- import { F as FileDropped, E as EnabledDropArea } from './index-bbcef105.esm.js';
1
+ import { F as FileDropped, E as EnabledDropArea } from './index-62b39c5f.esm.js';
2
2
  import { jsx } from '@emotion/react/jsx-runtime';
3
3
  import '@babel/runtime-corejs3/core-js-stable/object/keys';
4
4
  import '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';
@@ -47,6 +47,7 @@ import '@commercetools-frontend/actions-global';
47
47
  import '@emotion/styled/base';
48
48
  import '@emotion/react';
49
49
  import '@commercetools-frontend/sentry';
50
+ import '@commercetools-frontend/permissions';
50
51
  import '@commercetools-uikit/data-table';
51
52
  import '@commercetools-frontend/i18n';
52
53
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-fb10311d.cjs.dev.js');
3
+ var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-0bd38b3d.cjs.dev.js');
4
4
  var jsxRuntime = require('@emotion/react/jsx-runtime');
5
5
  require('@babel/runtime-corejs3/core-js-stable/object/keys');
6
6
  require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
@@ -49,6 +49,7 @@ require('@commercetools-frontend/actions-global');
49
49
  require('@emotion/styled/base');
50
50
  require('@emotion/react');
51
51
  require('@commercetools-frontend/sentry');
52
+ require('@commercetools-frontend/permissions');
52
53
  require('@commercetools-uikit/data-table');
53
54
  require('@commercetools-frontend/i18n');
54
55
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-ed334c08.cjs.prod.js');
3
+ var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-02b35395.cjs.prod.js');
4
4
  var jsxRuntime = require('@emotion/react/jsx-runtime');
5
5
  require('@babel/runtime-corejs3/core-js-stable/object/keys');
6
6
  require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
@@ -49,6 +49,7 @@ require('@commercetools-frontend/actions-global');
49
49
  require('@emotion/styled/base');
50
50
  require('@emotion/react');
51
51
  require('@commercetools-frontend/sentry');
52
+ require('@commercetools-frontend/permissions');
52
53
  require('@commercetools-uikit/data-table');
53
54
  require('@commercetools-frontend/i18n');
54
55
 
@@ -2,7 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-fb10311d.cjs.dev.js');
5
+ var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-0bd38b3d.cjs.dev.js');
6
+ require('react');
6
7
  require('@babel/runtime-corejs3/core-js-stable/object/keys');
7
8
  require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
8
9
  require('@babel/runtime-corejs3/core-js-stable/instance/filter');
@@ -12,11 +13,8 @@ require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descripto
12
13
  require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
13
14
  require('@babel/runtime-corejs3/core-js-stable/object/define-property');
14
15
  require('@babel/runtime-corejs3/helpers/defineProperty');
15
- require('@babel/runtime-corejs3/core-js-stable/instance/every');
16
- require('react-intl');
17
- require('@commercetools-frontend/application-shell-connectors');
18
16
  require('@babel/runtime-corejs3/helpers/slicedToArray');
19
- require('react');
17
+ require('@commercetools-frontend/application-shell-connectors');
20
18
  require('@commercetools-frontend/sdk');
21
19
  require('@commercetools-frontend/constants');
22
20
  require('@commercetools-frontend/application-shell');
@@ -41,19 +39,23 @@ require('@babel/runtime-corejs3/core-js-stable/json/stringify');
41
39
  require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
42
40
  require('@babel/runtime-corejs3/core-js-stable/url-search-params');
43
41
  require('@babel/runtime-corejs3/core-js-stable/object/entries');
42
+ require('@babel/runtime-corejs3/core-js-stable/instance/every');
44
43
  require('@emotion/react/jsx-runtime');
44
+ require('react-intl');
45
45
  require('@commercetools-frontend/application-components');
46
46
  require('@commercetools-frontend/fullstory');
47
47
  require('@commercetools-frontend/ui-kit');
48
48
  require('@babel/runtime-corejs3/core-js-stable/instance/some');
49
49
  require('react-dropzone');
50
50
  require('@commercetools-frontend/actions-global');
51
+ require('@commercetools-uikit/data-table');
52
+ require('@commercetools-frontend/sentry');
51
53
  require('@emotion/styled/base');
52
54
  require('@emotion/react');
53
- require('@commercetools-frontend/sentry');
54
- require('@commercetools-uikit/data-table');
55
+ require('@commercetools-frontend/permissions');
55
56
  require('@commercetools-frontend/i18n');
56
57
 
57
58
 
58
59
 
59
60
  exports["default"] = dist_commercetoolsFrontendExtensionsImportResourcesModal.ImportResourcesModal;
61
+ exports.useImportPermission = dist_commercetoolsFrontendExtensionsImportResourcesModal.useImportPermission;
@@ -2,7 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-ed334c08.cjs.prod.js');
5
+ var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-02b35395.cjs.prod.js');
6
+ require('react');
6
7
  require('@babel/runtime-corejs3/core-js-stable/object/keys');
7
8
  require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
8
9
  require('@babel/runtime-corejs3/core-js-stable/instance/filter');
@@ -12,11 +13,8 @@ require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descripto
12
13
  require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
13
14
  require('@babel/runtime-corejs3/core-js-stable/object/define-property');
14
15
  require('@babel/runtime-corejs3/helpers/defineProperty');
15
- require('@babel/runtime-corejs3/core-js-stable/instance/every');
16
- require('react-intl');
17
- require('@commercetools-frontend/application-shell-connectors');
18
16
  require('@babel/runtime-corejs3/helpers/slicedToArray');
19
- require('react');
17
+ require('@commercetools-frontend/application-shell-connectors');
20
18
  require('@commercetools-frontend/sdk');
21
19
  require('@commercetools-frontend/constants');
22
20
  require('@commercetools-frontend/application-shell');
@@ -41,7 +39,9 @@ require('@babel/runtime-corejs3/core-js-stable/json/stringify');
41
39
  require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
42
40
  require('@babel/runtime-corejs3/core-js-stable/url-search-params');
43
41
  require('@babel/runtime-corejs3/core-js-stable/object/entries');
42
+ require('@babel/runtime-corejs3/core-js-stable/instance/every');
44
43
  require('@emotion/react/jsx-runtime');
44
+ require('react-intl');
45
45
  require('@commercetools-frontend/application-components');
46
46
  require('@commercetools-frontend/fullstory');
47
47
  require('@commercetools-frontend/ui-kit');
@@ -50,10 +50,12 @@ require('react-dropzone');
50
50
  require('@commercetools-frontend/actions-global');
51
51
  require('@emotion/styled/base');
52
52
  require('@emotion/react');
53
- require('@commercetools-frontend/sentry');
54
53
  require('@commercetools-uikit/data-table');
54
+ require('@commercetools-frontend/sentry');
55
+ require('@commercetools-frontend/permissions');
55
56
  require('@commercetools-frontend/i18n');
56
57
 
57
58
 
58
59
 
59
60
  exports["default"] = dist_commercetoolsFrontendExtensionsImportResourcesModal.ImportResourcesModal;
61
+ exports.useImportPermission = dist_commercetoolsFrontendExtensionsImportResourcesModal.useImportPermission;
@@ -1,4 +1,5 @@
1
- export { I as default } from './index-bbcef105.esm.js';
1
+ export { I as default, a as useImportPermission } from './index-62b39c5f.esm.js';
2
+ import 'react';
2
3
  import '@babel/runtime-corejs3/core-js-stable/object/keys';
3
4
  import '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';
4
5
  import '@babel/runtime-corejs3/core-js-stable/instance/filter';
@@ -8,11 +9,8 @@ import '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor
8
9
  import '@babel/runtime-corejs3/core-js-stable/object/define-properties';
9
10
  import '@babel/runtime-corejs3/core-js-stable/object/define-property';
10
11
  import '@babel/runtime-corejs3/helpers/defineProperty';
11
- import '@babel/runtime-corejs3/core-js-stable/instance/every';
12
- import 'react-intl';
13
- import '@commercetools-frontend/application-shell-connectors';
14
12
  import '@babel/runtime-corejs3/helpers/slicedToArray';
15
- import 'react';
13
+ import '@commercetools-frontend/application-shell-connectors';
16
14
  import '@commercetools-frontend/sdk';
17
15
  import '@commercetools-frontend/constants';
18
16
  import '@commercetools-frontend/application-shell';
@@ -37,15 +35,18 @@ import '@babel/runtime-corejs3/core-js-stable/json/stringify';
37
35
  import '@babel/runtime-corejs3/core-js-stable/instance/starts-with';
38
36
  import '@babel/runtime-corejs3/core-js-stable/url-search-params';
39
37
  import '@babel/runtime-corejs3/core-js-stable/object/entries';
38
+ import '@babel/runtime-corejs3/core-js-stable/instance/every';
40
39
  import '@emotion/react/jsx-runtime';
40
+ import 'react-intl';
41
41
  import '@commercetools-frontend/application-components';
42
42
  import '@commercetools-frontend/fullstory';
43
43
  import '@commercetools-frontend/ui-kit';
44
44
  import '@babel/runtime-corejs3/core-js-stable/instance/some';
45
45
  import 'react-dropzone';
46
46
  import '@commercetools-frontend/actions-global';
47
+ import '@commercetools-uikit/data-table';
48
+ import '@commercetools-frontend/sentry';
47
49
  import '@emotion/styled/base';
48
50
  import '@emotion/react';
49
- import '@commercetools-frontend/sentry';
50
- import '@commercetools-uikit/data-table';
51
+ import '@commercetools-frontend/permissions';
51
52
  import '@commercetools-frontend/i18n';
@@ -0,0 +1,3 @@
1
+ export * from "./use-import-resources-context.js";
2
+ export * from "./use-upload.js";
3
+ export * from "./use-import-permission.js";
@@ -0,0 +1,7 @@
1
+ export declare const useImportPermission: () => {
2
+ canImportProducts: any;
3
+ canImportCategories: boolean;
4
+ canImportDiscountCodes: boolean;
5
+ canImportInventories: boolean;
6
+ canImportProductTypes: boolean;
7
+ };
@@ -0,0 +1 @@
1
+ export declare function useImportResourcesContext(): any;
@@ -0,0 +1,3 @@
1
+ export declare const useUpload: () => {
2
+ handleUploadAndValidation: () => Promise<void>;
3
+ };
@@ -1,2 +1,3 @@
1
1
  import ImportResourcesModal from "./import-resources-modal.js";
2
+ export { useImportPermission } from "./@hooks/index.js";
2
3
  export default ImportResourcesModal;
@@ -11,7 +11,7 @@ var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/obje
11
11
  var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
12
12
  require('react');
13
13
  var uiKit = require('@commercetools-frontend/ui-kit');
14
- var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-ed334c08.cjs.prod.js');
14
+ var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-02b35395.cjs.prod.js');
15
15
  var jsxRuntime = require('@emotion/react/jsx-runtime');
16
16
  require('@babel/runtime-corejs3/core-js-stable/instance/every');
17
17
  require('react-intl');
@@ -49,6 +49,7 @@ require('@commercetools-frontend/actions-global');
49
49
  require('@emotion/styled/base');
50
50
  require('@emotion/react');
51
51
  require('@commercetools-frontend/sentry');
52
+ require('@commercetools-frontend/permissions');
52
53
  require('@commercetools-uikit/data-table');
53
54
  require('@commercetools-frontend/i18n');
54
55
 
@@ -9,7 +9,7 @@ import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object
9
9
  import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
10
10
  import 'react';
11
11
  import { Spacings, Text, Link } from '@commercetools-frontend/ui-kit';
12
- import { m as messages } from './index-bbcef105.esm.js';
12
+ import { m as messages } from './index-62b39c5f.esm.js';
13
13
  import { jsxs, jsx } from '@emotion/react/jsx-runtime';
14
14
  import '@babel/runtime-corejs3/core-js-stable/instance/every';
15
15
  import 'react-intl';
@@ -47,6 +47,7 @@ import '@commercetools-frontend/actions-global';
47
47
  import '@emotion/styled/base';
48
48
  import '@emotion/react';
49
49
  import '@commercetools-frontend/sentry';
50
+ import '@commercetools-frontend/permissions';
50
51
  import '@commercetools-uikit/data-table';
51
52
  import '@commercetools-frontend/i18n';
52
53
 
@@ -11,7 +11,7 @@ var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/obje
11
11
  var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
12
12
  require('react');
13
13
  var uiKit = require('@commercetools-frontend/ui-kit');
14
- var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-fb10311d.cjs.dev.js');
14
+ var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-0bd38b3d.cjs.dev.js');
15
15
  var jsxRuntime = require('@emotion/react/jsx-runtime');
16
16
  require('@babel/runtime-corejs3/core-js-stable/instance/every');
17
17
  require('react-intl');
@@ -49,6 +49,7 @@ require('@commercetools-frontend/actions-global');
49
49
  require('@emotion/styled/base');
50
50
  require('@emotion/react');
51
51
  require('@commercetools-frontend/sentry');
52
+ require('@commercetools-frontend/permissions');
52
53
  require('@commercetools-uikit/data-table');
53
54
  require('@commercetools-frontend/i18n');
54
55
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  var reactIntl = require('react-intl');
4
4
  var uiKit = require('@commercetools-frontend/ui-kit');
5
- var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-fb10311d.cjs.dev.js');
5
+ var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-02b35395.cjs.prod.js');
6
6
  require('react');
7
7
  require('@commercetools-frontend/actions-global');
8
8
  require('@commercetools-frontend/application-shell-connectors');
@@ -42,6 +42,7 @@ require('@babel/runtime-corejs3/helpers/slicedToArray');
42
42
  require('@babel/runtime-corejs3/core-js-stable/url-search-params');
43
43
  require('@babel/runtime-corejs3/core-js-stable/object/entries');
44
44
  require('@babel/runtime-corejs3/core-js-stable/instance/every');
45
+ require('@commercetools-frontend/permissions');
45
46
  var jsxRuntime = require('@emotion/react/jsx-runtime');
46
47
  require('@commercetools-frontend/application-components');
47
48
  require('@commercetools-frontend/fullstory');
@@ -1,6 +1,6 @@
1
1
  import { useIntl } from 'react-intl';
2
2
  import { Spacings, PaperclipIcon, Constraints, Text, SecondaryButton } from '@commercetools-frontend/ui-kit';
3
- import { u as useImportResourcesContext, m as messages } from './index-bbcef105.esm.js';
3
+ import { u as useImportResourcesContext, m as messages } from './index-62b39c5f.esm.js';
4
4
  import 'react';
5
5
  import '@commercetools-frontend/actions-global';
6
6
  import '@commercetools-frontend/application-shell-connectors';
@@ -40,6 +40,7 @@ import '@babel/runtime-corejs3/helpers/slicedToArray';
40
40
  import '@babel/runtime-corejs3/core-js-stable/url-search-params';
41
41
  import '@babel/runtime-corejs3/core-js-stable/object/entries';
42
42
  import '@babel/runtime-corejs3/core-js-stable/instance/every';
43
+ import '@commercetools-frontend/permissions';
43
44
  import { jsxs, jsx } from '@emotion/react/jsx-runtime';
44
45
  import '@commercetools-frontend/application-components';
45
46
  import '@commercetools-frontend/fullstory';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var reactIntl = require('react-intl');
4
4
  var uiKit = require('@commercetools-frontend/ui-kit');
5
- var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-ed334c08.cjs.prod.js');
5
+ var dist_commercetoolsFrontendExtensionsImportResourcesModal = require('./index-0bd38b3d.cjs.dev.js');
6
6
  require('react');
7
7
  require('@commercetools-frontend/actions-global');
8
8
  require('@commercetools-frontend/application-shell-connectors');
@@ -42,6 +42,7 @@ require('@babel/runtime-corejs3/helpers/slicedToArray');
42
42
  require('@babel/runtime-corejs3/core-js-stable/url-search-params');
43
43
  require('@babel/runtime-corejs3/core-js-stable/object/entries');
44
44
  require('@babel/runtime-corejs3/core-js-stable/instance/every');
45
+ require('@commercetools-frontend/permissions');
45
46
  var jsxRuntime = require('@emotion/react/jsx-runtime');
46
47
  require('@commercetools-frontend/application-components');
47
48
  require('@commercetools-frontend/fullstory');
@@ -48,6 +48,7 @@ var actionsGlobal = require('@commercetools-frontend/actions-global');
48
48
  var _styled = require('@emotion/styled/base');
49
49
  var react = require('@emotion/react');
50
50
  var sentry = require('@commercetools-frontend/sentry');
51
+ var permissions = require('@commercetools-frontend/permissions');
51
52
  var DataTable = require('@commercetools-uikit/data-table');
52
53
  var i18n = require('@commercetools-frontend/i18n');
53
54
 
@@ -310,6 +311,21 @@ const RESOURCE_TYPE_DOCUMENTATION_LINKS = {
310
311
 
311
312
  const CT__API_DOCS_URL = 'https://docs.commercetools.com/api/';
312
313
 
314
+ const PERMISSIONS = {
315
+ // Categories
316
+ ManageCategories: 'ManageCategories',
317
+ ViewCategories: 'ViewCategories',
318
+ // Products
319
+ ManageProducts: 'ManageProducts',
320
+ ViewProducts: 'ViewProducts',
321
+ // ProductTypes
322
+ ManageProductTypes: 'ManageProductTypes',
323
+ ViewProductTypes: 'ViewProductTypes',
324
+ // DiscountCodes
325
+ ManageDiscountCodes: 'ManageDiscountCodes',
326
+ ViewDiscountCodes: 'ViewDiscountCodes'
327
+ };
328
+
313
329
  function ownKeys$e(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
314
330
  function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$e(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$e(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
315
331
  /**
@@ -699,13 +715,13 @@ function getDefaultDropWrapperStyles(_dropAreaState) {
699
715
  return /*#__PURE__*/react.css("" , "" );
700
716
  }
701
717
 
702
- var ActiveDragDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./active-drag-drop-area-7223062d.cjs.prod.js' /* webpackChunkName: "active-drag-drop-area" */); }));
718
+ var ActiveDragDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./active-drag-drop-area-f7b82691.cjs.prod.js' /* webpackChunkName: "active-drag-drop-area" */); }));
703
719
 
704
720
  var DisabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./disabled-drop-area-99c1fa0b.cjs.prod.js' /* webpackChunkName: "disabled-drop-area" */); }));
705
721
 
706
- var EnabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./enabled-drop-area-f7df6932.cjs.prod.js' /* webpackChunkName: "enabled-drop-area" */); }));
722
+ var EnabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./enabled-drop-area-93e90a7a.cjs.prod.js' /* webpackChunkName: "enabled-drop-area" */); }));
707
723
 
708
- var FileDropped = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./file-dropped-area-b394c5b4.cjs.prod.js' /* webpackChunkName: "filed-dropped-area" */); }));
724
+ var FileDropped = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./file-dropped-area-16894986.cjs.prod.js' /* webpackChunkName: "filed-dropped-area" */); }));
709
725
 
710
726
  function getDropArea(_ref) {
711
727
  let dropAreaState = _ref.dropAreaState,
@@ -1004,6 +1020,37 @@ const useUpload = () => {
1004
1020
  };
1005
1021
  };
1006
1022
 
1023
+ const useImportPermission = () => {
1024
+ const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => ({
1025
+ actionRights: applicationContext.actionRights?.products
1026
+ })),
1027
+ actionRights = _useApplicationContex.actionRights;
1028
+ const canManageProducts = permissions.useIsAuthorized({
1029
+ demandedPermissions: [PERMISSIONS.ManageProducts]
1030
+ });
1031
+ const canImportCategories = permissions.useIsAuthorized({
1032
+ demandedPermissions: [PERMISSIONS.ManageCategories]
1033
+ });
1034
+ const canImportDiscountCodes = permissions.useIsAuthorized({
1035
+ demandedPermissions: [PERMISSIONS.ManageDiscountCodes]
1036
+ });
1037
+ const canImportProducts = React.useMemo(() => {
1038
+ if (!actionRights) return false;
1039
+ const canAddPrices = actionRights.canAddPrices,
1040
+ canAddProducts = actionRights.canAddProducts,
1041
+ canEditAttributesAll = actionRights['canEditAttributes:all'],
1042
+ canEditPrices = actionRights.canEditPrices;
1043
+ return canManageProducts && canAddPrices && canAddProducts && canEditAttributesAll && canEditPrices;
1044
+ }, [canManageProducts, actionRights]);
1045
+ return {
1046
+ canImportProducts,
1047
+ canImportCategories,
1048
+ canImportDiscountCodes,
1049
+ canImportInventories: canManageProducts,
1050
+ canImportProductTypes: canManageProducts
1051
+ };
1052
+ };
1053
+
1007
1054
  function ownKeys$b(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
1008
1055
  function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$b(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$b(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1009
1056
  const FileDropArea = () => {
@@ -2157,4 +2204,5 @@ exports.EnabledDropArea = EnabledDropArea;
2157
2204
  exports.FileDropped = FileDropped;
2158
2205
  exports.ImportResourcesModal = ImportResourcesModal;
2159
2206
  exports.messages = messages$6;
2207
+ exports.useImportPermission = useImportPermission;
2160
2208
  exports.useImportResourcesContext = useImportResourcesContext;
@@ -48,6 +48,7 @@ var actionsGlobal = require('@commercetools-frontend/actions-global');
48
48
  var _styled = require('@emotion/styled/base');
49
49
  var react = require('@emotion/react');
50
50
  var sentry = require('@commercetools-frontend/sentry');
51
+ var permissions = require('@commercetools-frontend/permissions');
51
52
  var DataTable = require('@commercetools-uikit/data-table');
52
53
  var i18n = require('@commercetools-frontend/i18n');
53
54
 
@@ -310,6 +311,21 @@ const RESOURCE_TYPE_DOCUMENTATION_LINKS = {
310
311
 
311
312
  const CT__API_DOCS_URL = 'https://docs.commercetools.com/api/';
312
313
 
314
+ const PERMISSIONS = {
315
+ // Categories
316
+ ManageCategories: 'ManageCategories',
317
+ ViewCategories: 'ViewCategories',
318
+ // Products
319
+ ManageProducts: 'ManageProducts',
320
+ ViewProducts: 'ViewProducts',
321
+ // ProductTypes
322
+ ManageProductTypes: 'ManageProductTypes',
323
+ ViewProductTypes: 'ViewProductTypes',
324
+ // DiscountCodes
325
+ ManageDiscountCodes: 'ManageDiscountCodes',
326
+ ViewDiscountCodes: 'ViewDiscountCodes'
327
+ };
328
+
313
329
  function ownKeys$e(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
314
330
  function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$e(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$e(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
315
331
  /**
@@ -702,13 +718,13 @@ function getDefaultDropWrapperStyles(_dropAreaState) {
702
718
  return /*#__PURE__*/react.css(process.env.NODE_ENV === "production" ? "" : ";label:getDefaultDropWrapperStyles;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRyb3AtYXJlYS13cmFwcGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0QlkiLCJmaWxlIjoiZHJvcC1hcmVhLXdyYXBwZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEcm9wem9uZVJvb3RQcm9wcyB9IGZyb20gJ3JlYWN0LWRyb3B6b25lJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IHN0eWxlcyB9IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdHlwZSBEcm9wQXJlYVN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vQHR5cGVzJ1xuXG5pbnRlcmZhY2UgRHJvcFdyYXBwZXJQcm9wcyBleHRlbmRzIERyb3B6b25lUm9vdFByb3BzIHtcbiAgZHJvcEFyZWFTdGF0ZTogRHJvcEFyZWFTdGF0ZVxufVxuZXhwb3J0IGNvbnN0IERyb3BXcmFwcGVyID0gc3R5bGVkLmRpdjxEcm9wV3JhcHBlclByb3BzPmBcbiAgJHtzdHlsZXMuYmFzZX1cbiAgJHsocHJvcHMpID0+IHtcbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ2Rpc2FibGVkJykge1xuICAgICAgcmV0dXJuIHN0eWxlcy5kaXNhYmxlZFxuICAgIH1cbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ3JlYWR5LWZvci1kcm9wJykge1xuICAgICAgcmV0dXJuIHN0eWxlcy5yZWFkeUZvckRyb3BcbiAgICB9XG4gICAgaWYgKHByb3BzLmRyb3BBcmVhU3RhdGUgPT09ICdhY3RpdmUtZHJhZycpIHtcbiAgICAgIHJldHVybiBzdHlsZXMuYWN0aXZlRHJhZ1xuICAgIH1cbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ2ZpbGUtZHJvcHBlZCcpIHtcbiAgICAgIHJldHVybiBzdHlsZXMuZmlsZURyb3BwZWRcbiAgICB9XG4gICAgcmV0dXJuIGdldERlZmF1bHREcm9wV3JhcHBlclN0eWxlcyhwcm9wcy5kcm9wQXJlYVN0YXRlKVxuICB9fVxuYFxuZnVuY3Rpb24gZ2V0RGVmYXVsdERyb3BXcmFwcGVyU3R5bGVzKF9kcm9wQXJlYVN0YXRlOiBuZXZlcikge1xuICByZXR1cm4gY3NzYGBcbn1cbiJdfQ== */");
703
719
  }
704
720
 
705
- var ActiveDragDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./active-drag-drop-area-71b18c95.cjs.dev.js' /* webpackChunkName: "active-drag-drop-area" */); }));
721
+ var ActiveDragDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./active-drag-drop-area-af12a9b1.cjs.dev.js' /* webpackChunkName: "active-drag-drop-area" */); }));
706
722
 
707
723
  var DisabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./disabled-drop-area-aa78075b.cjs.dev.js' /* webpackChunkName: "disabled-drop-area" */); }));
708
724
 
709
- var EnabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./enabled-drop-area-b0e2ad4d.cjs.dev.js' /* webpackChunkName: "enabled-drop-area" */); }));
725
+ var EnabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./enabled-drop-area-ed0fd3ba.cjs.dev.js' /* webpackChunkName: "enabled-drop-area" */); }));
710
726
 
711
- var FileDropped = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./file-dropped-area-a1b8bc83.cjs.dev.js' /* webpackChunkName: "filed-dropped-area" */); }));
727
+ var FileDropped = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./file-dropped-area-b3ce24a7.cjs.dev.js' /* webpackChunkName: "filed-dropped-area" */); }));
712
728
 
713
729
  function getDropArea(_ref) {
714
730
  let dropAreaState = _ref.dropAreaState,
@@ -1007,6 +1023,37 @@ const useUpload = () => {
1007
1023
  };
1008
1024
  };
1009
1025
 
1026
+ const useImportPermission = () => {
1027
+ const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => ({
1028
+ actionRights: applicationContext.actionRights?.products
1029
+ })),
1030
+ actionRights = _useApplicationContex.actionRights;
1031
+ const canManageProducts = permissions.useIsAuthorized({
1032
+ demandedPermissions: [PERMISSIONS.ManageProducts]
1033
+ });
1034
+ const canImportCategories = permissions.useIsAuthorized({
1035
+ demandedPermissions: [PERMISSIONS.ManageCategories]
1036
+ });
1037
+ const canImportDiscountCodes = permissions.useIsAuthorized({
1038
+ demandedPermissions: [PERMISSIONS.ManageDiscountCodes]
1039
+ });
1040
+ const canImportProducts = React.useMemo(() => {
1041
+ if (!actionRights) return false;
1042
+ const canAddPrices = actionRights.canAddPrices,
1043
+ canAddProducts = actionRights.canAddProducts,
1044
+ canEditAttributesAll = actionRights['canEditAttributes:all'],
1045
+ canEditPrices = actionRights.canEditPrices;
1046
+ return canManageProducts && canAddPrices && canAddProducts && canEditAttributesAll && canEditPrices;
1047
+ }, [canManageProducts, actionRights]);
1048
+ return {
1049
+ canImportProducts,
1050
+ canImportCategories,
1051
+ canImportDiscountCodes,
1052
+ canImportInventories: canManageProducts,
1053
+ canImportProductTypes: canManageProducts
1054
+ };
1055
+ };
1056
+
1010
1057
  function ownKeys$b(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
1011
1058
  function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$b(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$b(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1012
1059
  const FileDropArea = () => {
@@ -2174,4 +2221,5 @@ exports.EnabledDropArea = EnabledDropArea;
2174
2221
  exports.FileDropped = FileDropped;
2175
2222
  exports.ImportResourcesModal = ImportResourcesModal;
2176
2223
  exports.messages = messages$6;
2224
+ exports.useImportPermission = useImportPermission;
2177
2225
  exports.useImportResourcesContext = useImportResourcesContext;
@@ -11,7 +11,7 @@ import _everyInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instan
11
11
  import { defineMessages, useIntl, FormattedMessage, IntlProvider } from 'react-intl';
12
12
  import { oidcStorage, useApplicationContext } from '@commercetools-frontend/application-shell-connectors';
13
13
  import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
14
- import React, { lazy, useContext, useState, useEffect } from 'react';
14
+ import React, { lazy, useContext, useMemo, useState, useEffect } from 'react';
15
15
  import { actions, useAsyncDispatch } from '@commercetools-frontend/sdk';
16
16
  import { MC_API_PROXY_TARGETS, DOMAINS } from '@commercetools-frontend/constants';
17
17
  import { createHttpClientOptions, buildApiUrl } from '@commercetools-frontend/application-shell';
@@ -46,6 +46,7 @@ import { useShowNotification } from '@commercetools-frontend/actions-global';
46
46
  import _styled from '@emotion/styled/base';
47
47
  import { css } from '@emotion/react';
48
48
  import { reportErrorToSentry } from '@commercetools-frontend/sentry';
49
+ import { useIsAuthorized } from '@commercetools-frontend/permissions';
49
50
  import DataTable from '@commercetools-uikit/data-table';
50
51
  import { parseChunkImport, mapLocaleToIntlLocale } from '@commercetools-frontend/i18n';
51
52
 
@@ -281,6 +282,21 @@ const RESOURCE_TYPE_DOCUMENTATION_LINKS = {
281
282
 
282
283
  const CT__API_DOCS_URL = 'https://docs.commercetools.com/api/';
283
284
 
285
+ const PERMISSIONS = {
286
+ // Categories
287
+ ManageCategories: 'ManageCategories',
288
+ ViewCategories: 'ViewCategories',
289
+ // Products
290
+ ManageProducts: 'ManageProducts',
291
+ ViewProducts: 'ViewProducts',
292
+ // ProductTypes
293
+ ManageProductTypes: 'ManageProductTypes',
294
+ ViewProductTypes: 'ViewProductTypes',
295
+ // DiscountCodes
296
+ ManageDiscountCodes: 'ManageDiscountCodes',
297
+ ViewDiscountCodes: 'ViewDiscountCodes'
298
+ };
299
+
284
300
  function ownKeys$e(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
285
301
  function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys$e(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys$e(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
286
302
  /**
@@ -673,13 +689,13 @@ function getDefaultDropWrapperStyles(_dropAreaState) {
673
689
  return /*#__PURE__*/css(process.env.NODE_ENV === "production" ? "" : ";label:getDefaultDropWrapperStyles;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRyb3AtYXJlYS13cmFwcGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0QlkiLCJmaWxlIjoiZHJvcC1hcmVhLXdyYXBwZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEcm9wem9uZVJvb3RQcm9wcyB9IGZyb20gJ3JlYWN0LWRyb3B6b25lJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IHN0eWxlcyB9IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdHlwZSBEcm9wQXJlYVN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vQHR5cGVzJ1xuXG5pbnRlcmZhY2UgRHJvcFdyYXBwZXJQcm9wcyBleHRlbmRzIERyb3B6b25lUm9vdFByb3BzIHtcbiAgZHJvcEFyZWFTdGF0ZTogRHJvcEFyZWFTdGF0ZVxufVxuZXhwb3J0IGNvbnN0IERyb3BXcmFwcGVyID0gc3R5bGVkLmRpdjxEcm9wV3JhcHBlclByb3BzPmBcbiAgJHtzdHlsZXMuYmFzZX1cbiAgJHsocHJvcHMpID0+IHtcbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ2Rpc2FibGVkJykge1xuICAgICAgcmV0dXJuIHN0eWxlcy5kaXNhYmxlZFxuICAgIH1cbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ3JlYWR5LWZvci1kcm9wJykge1xuICAgICAgcmV0dXJuIHN0eWxlcy5yZWFkeUZvckRyb3BcbiAgICB9XG4gICAgaWYgKHByb3BzLmRyb3BBcmVhU3RhdGUgPT09ICdhY3RpdmUtZHJhZycpIHtcbiAgICAgIHJldHVybiBzdHlsZXMuYWN0aXZlRHJhZ1xuICAgIH1cbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ2ZpbGUtZHJvcHBlZCcpIHtcbiAgICAgIHJldHVybiBzdHlsZXMuZmlsZURyb3BwZWRcbiAgICB9XG4gICAgcmV0dXJuIGdldERlZmF1bHREcm9wV3JhcHBlclN0eWxlcyhwcm9wcy5kcm9wQXJlYVN0YXRlKVxuICB9fVxuYFxuZnVuY3Rpb24gZ2V0RGVmYXVsdERyb3BXcmFwcGVyU3R5bGVzKF9kcm9wQXJlYVN0YXRlOiBuZXZlcikge1xuICByZXR1cm4gY3NzYGBcbn1cbiJdfQ== */");
674
690
  }
675
691
 
676
- var ActiveDragDropArea = /*#__PURE__*/lazy(() => import('./active-drag-drop-area-2070870c.esm.js' /* webpackChunkName: "active-drag-drop-area" */));
692
+ var ActiveDragDropArea = /*#__PURE__*/lazy(() => import('./active-drag-drop-area-9667523a.esm.js' /* webpackChunkName: "active-drag-drop-area" */));
677
693
 
678
694
  var DisabledDropArea = /*#__PURE__*/lazy(() => import('./disabled-drop-area-2c088477.esm.js' /* webpackChunkName: "disabled-drop-area" */));
679
695
 
680
- var EnabledDropArea = /*#__PURE__*/lazy(() => import('./enabled-drop-area-30f931be.esm.js' /* webpackChunkName: "enabled-drop-area" */));
696
+ var EnabledDropArea = /*#__PURE__*/lazy(() => import('./enabled-drop-area-e2c28a9e.esm.js' /* webpackChunkName: "enabled-drop-area" */));
681
697
 
682
- var FileDropped = /*#__PURE__*/lazy(() => import('./file-dropped-area-0856e6fe.esm.js' /* webpackChunkName: "filed-dropped-area" */));
698
+ var FileDropped = /*#__PURE__*/lazy(() => import('./file-dropped-area-8a8a3de8.esm.js' /* webpackChunkName: "filed-dropped-area" */));
683
699
 
684
700
  function getDropArea(_ref) {
685
701
  let dropAreaState = _ref.dropAreaState,
@@ -978,6 +994,37 @@ const useUpload = () => {
978
994
  };
979
995
  };
980
996
 
997
+ const useImportPermission = () => {
998
+ const _useApplicationContex = useApplicationContext(applicationContext => ({
999
+ actionRights: applicationContext.actionRights?.products
1000
+ })),
1001
+ actionRights = _useApplicationContex.actionRights;
1002
+ const canManageProducts = useIsAuthorized({
1003
+ demandedPermissions: [PERMISSIONS.ManageProducts]
1004
+ });
1005
+ const canImportCategories = useIsAuthorized({
1006
+ demandedPermissions: [PERMISSIONS.ManageCategories]
1007
+ });
1008
+ const canImportDiscountCodes = useIsAuthorized({
1009
+ demandedPermissions: [PERMISSIONS.ManageDiscountCodes]
1010
+ });
1011
+ const canImportProducts = useMemo(() => {
1012
+ if (!actionRights) return false;
1013
+ const canAddPrices = actionRights.canAddPrices,
1014
+ canAddProducts = actionRights.canAddProducts,
1015
+ canEditAttributesAll = actionRights['canEditAttributes:all'],
1016
+ canEditPrices = actionRights.canEditPrices;
1017
+ return canManageProducts && canAddPrices && canAddProducts && canEditAttributesAll && canEditPrices;
1018
+ }, [canManageProducts, actionRights]);
1019
+ return {
1020
+ canImportProducts,
1021
+ canImportCategories,
1022
+ canImportDiscountCodes,
1023
+ canImportInventories: canManageProducts,
1024
+ canImportProductTypes: canManageProducts
1025
+ };
1026
+ };
1027
+
981
1028
  function ownKeys$b(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
982
1029
  function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context3 = ownKeys$b(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context4 = ownKeys$b(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
983
1030
  const FileDropArea = () => {
@@ -2141,4 +2188,4 @@ const ImportResourcesModal = props => {
2141
2188
  };
2142
2189
  ImportResourcesModal.displayName = 'ImportResourcesModal';
2143
2190
 
2144
- export { EnabledDropArea as E, FileDropped as F, ImportResourcesModal as I, messages$6 as m, useImportResourcesContext as u };
2191
+ export { EnabledDropArea as E, FileDropped as F, ImportResourcesModal as I, useImportPermission as a, messages$6 as m, useImportResourcesContext as u };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@commercetools-frontend-extensions/import-resources-modal",
3
3
  "description": "Shared import modal for importing resources",
4
- "version": "1.3.18",
4
+ "version": "1.3.19",
5
5
  "license": "BSD-3-Clause",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -18,6 +18,7 @@
18
18
  "@babel/runtime": "7.25.7",
19
19
  "@babel/runtime-corejs3": "7.25.7",
20
20
  "@commercetools-frontend/fullstory": "2.4.5",
21
+ "@commercetools-frontend/permissions": "22.35.0",
21
22
  "@commercetools/importapi-sdk": "5.12.0",
22
23
  "@emotion/react": "11.13.3",
23
24
  "@emotion/styled": "11.13.0",
@@ -37,15 +38,15 @@
37
38
  "react-dropzone": "14.2.9"
38
39
  },
39
40
  "devDependencies": {
40
- "@commercetools-frontend/actions-global": "22.34.0",
41
- "@commercetools-frontend/application-components": "22.34.0",
42
- "@commercetools-frontend/application-shell": "22.34.0",
43
- "@commercetools-frontend/application-shell-connectors": "22.34.0",
44
- "@commercetools-frontend/constants": "22.34.0",
45
- "@commercetools-frontend/i18n": "22.34.0",
46
- "@commercetools-frontend/jest-preset-mc-app": "22.34.0",
47
- "@commercetools-frontend/sdk": "22.34.0",
48
- "@commercetools-frontend/sentry": "22.34.0",
41
+ "@commercetools-frontend/actions-global": "22.35.0",
42
+ "@commercetools-frontend/application-components": "22.35.0",
43
+ "@commercetools-frontend/application-shell": "22.35.0",
44
+ "@commercetools-frontend/application-shell-connectors": "22.35.0",
45
+ "@commercetools-frontend/constants": "22.35.0",
46
+ "@commercetools-frontend/i18n": "22.35.0",
47
+ "@commercetools-frontend/jest-preset-mc-app": "22.35.0",
48
+ "@commercetools-frontend/sdk": "22.35.0",
49
+ "@commercetools-frontend/sentry": "22.35.0",
49
50
  "@commercetools-frontend/ui-kit": "19.12.1",
50
51
  "@commercetools-uikit/data-table": "19.12.1",
51
52
  "@commercetools-uikit/design-system": "19.12.1",