@commercetools-frontend-extensions/import-resources-modal 0.0.0-canary-20250606124544 → 0.0.0-canary-20250729114546

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 (36) hide show
  1. package/dist/{active-drag-drop-area-ea7d585c.cjs.prod.js → active-drag-drop-area-4386fda8.cjs.prod.js} +1 -1
  2. package/dist/{active-drag-drop-area-c8d1c499.cjs.dev.js → active-drag-drop-area-a78e89ad.cjs.dev.js} +1 -1
  3. package/dist/{active-drag-drop-area-08d8f60d.esm.js → active-drag-drop-area-e3c080cc.esm.js} +1 -1
  4. package/dist/commercetools-frontend-extensions-import-resources-modal.cjs.dev.js +1 -1
  5. package/dist/commercetools-frontend-extensions-import-resources-modal.cjs.prod.js +1 -1
  6. package/dist/commercetools-frontend-extensions-import-resources-modal.esm.js +1 -1
  7. package/dist/{de-ce1e957d.esm.js → de-4d884a52.esm.js} +156 -20
  8. package/dist/{de-5181e779.cjs.dev.js → de-ba621f66.cjs.prod.js} +156 -20
  9. package/dist/{de-3c758072.cjs.prod.js → de-cd1c2b61.cjs.dev.js} +156 -20
  10. package/dist/declarations/src/@hooks/use-import-permission.d.ts +2 -0
  11. package/dist/declarations/src/@types/resource-type.d.ts +2 -1
  12. package/dist/{disabled-drop-area-d502e62b.cjs.dev.js → disabled-drop-area-6e5898a8.cjs.dev.js} +1 -1
  13. package/dist/{disabled-drop-area-3e6427f5.cjs.prod.js → disabled-drop-area-f95a4dbf.cjs.prod.js} +1 -1
  14. package/dist/{disabled-drop-area-0663121b.esm.js → disabled-drop-area-fad9bf17.esm.js} +1 -1
  15. package/dist/{en-d7cc7b15.cjs.prod.js → en-102ccf29.cjs.prod.js} +156 -20
  16. package/dist/{en-2f76b27a.esm.js → en-88aad148.esm.js} +156 -20
  17. package/dist/{en-7de3b07a.cjs.dev.js → en-c4f7d882.cjs.dev.js} +156 -20
  18. package/dist/{enabled-drop-area-e0438b2d.cjs.prod.js → enabled-drop-area-670afc18.cjs.prod.js} +1 -1
  19. package/dist/{enabled-drop-area-cc374582.esm.js → enabled-drop-area-8b0d5d8b.esm.js} +1 -1
  20. package/dist/{enabled-drop-area-314c679f.cjs.dev.js → enabled-drop-area-d4fe381f.cjs.dev.js} +1 -1
  21. package/dist/{es-d9a57b63.cjs.dev.js → es-09b5f26a.cjs.dev.js} +157 -21
  22. package/dist/{es-a3c0e9b3.cjs.prod.js → es-1877968a.cjs.prod.js} +157 -21
  23. package/dist/{es-2b81e0cd.esm.js → es-d589515f.esm.js} +157 -21
  24. package/dist/{file-dropped-area-5b9a5695.esm.js → file-dropped-area-29a05662.esm.js} +1 -1
  25. package/dist/{file-dropped-area-a31408ab.cjs.prod.js → file-dropped-area-974c1e65.cjs.prod.js} +1 -1
  26. package/dist/{file-dropped-area-6184d9a7.cjs.dev.js → file-dropped-area-9f02886f.cjs.dev.js} +1 -1
  27. package/dist/{fr-FR-cac38097.cjs.dev.js → fr-FR-1d2ccb65.cjs.prod.js} +157 -21
  28. package/dist/{fr-FR-81499942.cjs.prod.js → fr-FR-a5fe152a.cjs.dev.js} +157 -21
  29. package/dist/{fr-FR-084be771.esm.js → fr-FR-d672a357.esm.js} +157 -21
  30. package/dist/{index-86e79ec0.cjs.dev.js → index-184c7e0d.cjs.dev.js} +108 -47
  31. package/dist/{index-12a56d8e.esm.js → index-621329dd.esm.js} +108 -47
  32. package/dist/{index-9cf95c7a.cjs.prod.js → index-732f0f92.cjs.prod.js} +108 -47
  33. package/dist/{pt-BR-0fda1bcd.cjs.dev.js → pt-BR-0389b318.cjs.dev.js} +157 -21
  34. package/dist/{pt-BR-acd3f11d.esm.js → pt-BR-3512c390.esm.js} +157 -21
  35. package/dist/{pt-BR-0d2cb8bd.cjs.prod.js → pt-BR-606f307c.cjs.prod.js} +157 -21
  36. package/package.json +21 -21
@@ -85,7 +85,8 @@ const EnabledResourceType = {
85
85
  'discount-code': true,
86
86
  customer: false,
87
87
  order: false,
88
- 'product-type': false
88
+ 'product-type': false,
89
+ 'business-unit': true
89
90
  };
90
91
  function isResourceType(maybeResourceType) {
91
92
  return typeof maybeResourceType === 'string' && maybeResourceType in EnabledResourceType;
@@ -115,27 +116,27 @@ let CurrentStep$1 = /*#__PURE__*/function (CurrentStep) {
115
116
  return CurrentStep;
116
117
  }({});
117
118
 
118
- function ownKeys$i(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; }
119
- function _objectSpread$i(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$i(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$i(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
119
+ function ownKeys$j(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; }
120
+ function _objectSpread$j(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$j(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$j(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
120
121
 
121
122
  // TODO: make this resource type specific
122
123
 
123
124
  function reducer(state, action) {
124
- if (action.type === 'setCurrentStep') return _objectSpread$i(_objectSpread$i({}, state), {}, {
125
+ if (action.type === 'setCurrentStep') return _objectSpread$j(_objectSpread$j({}, state), {}, {
125
126
  currentStep: action.currentStep,
126
127
  progress: 0
127
128
  });
128
- if (action.type === 'setUploadFileResponse') return _objectSpread$i(_objectSpread$i({}, state), {}, {
129
+ if (action.type === 'setUploadFileResponse') return _objectSpread$j(_objectSpread$j({}, state), {}, {
129
130
  uploadFileResponse: action.uploadFileResponse
130
131
  });
131
- if (action.type === 'setResourceType') return _objectSpread$i(_objectSpread$i({}, state), {}, {
132
+ if (action.type === 'setResourceType') return _objectSpread$j(_objectSpread$j({}, state), {}, {
132
133
  settings: undefined,
133
134
  resourceType: action.resourceType
134
135
  });
135
- if (action.type === 'setContainerKey') return _objectSpread$i(_objectSpread$i({}, state), {}, {
136
+ if (action.type === 'setContainerKey') return _objectSpread$j(_objectSpread$j({}, state), {}, {
136
137
  containerKey: action.containerKey
137
138
  });
138
- if (action.type === 'cancelImport') return _objectSpread$i(_objectSpread$i({}, state), {}, {
139
+ if (action.type === 'cancelImport') return _objectSpread$j(_objectSpread$j({}, state), {}, {
139
140
  currentStep: CurrentStep$1.Upload,
140
141
  containerKey: undefined,
141
142
  fileUploadErrors: [],
@@ -144,7 +145,7 @@ function reducer(state, action) {
144
145
  dropAreaState: 'disabled',
145
146
  progress: 0
146
147
  });
147
- if (action.type === 'uploadNewFile') return _objectSpread$i(_objectSpread$i({}, state), {}, {
148
+ if (action.type === 'uploadNewFile') return _objectSpread$j(_objectSpread$j({}, state), {}, {
148
149
  currentStep: CurrentStep$1.Upload,
149
150
  containerKey: undefined,
150
151
  fileUploadErrors: [],
@@ -154,28 +155,28 @@ function reducer(state, action) {
154
155
  progress: 0
155
156
  });
156
157
  if (action.type === 'setDroppedFile') {
157
- return _objectSpread$i(_objectSpread$i({}, state), {}, {
158
+ return _objectSpread$j(_objectSpread$j({}, state), {}, {
158
159
  droppedFile: action.droppedFile
159
160
  });
160
161
  }
161
162
  if (action.type === 'setFileUploadErrors') {
162
- return _objectSpread$i(_objectSpread$i({}, state), {}, {
163
+ return _objectSpread$j(_objectSpread$j({}, state), {}, {
163
164
  fileUploadErrors: action.fileUploadErrors
164
165
  });
165
166
  }
166
167
  if (action.type === 'setAbortController') {
167
- return _objectSpread$i(_objectSpread$i({}, state), {}, {
168
+ return _objectSpread$j(_objectSpread$j({}, state), {}, {
168
169
  abortController: action.abortController
169
170
  });
170
171
  }
171
172
  if (action.type === 'setProgress') {
172
- return _objectSpread$i(_objectSpread$i({}, state), {}, {
173
+ return _objectSpread$j(_objectSpread$j({}, state), {}, {
173
174
  progress: action.progress
174
175
  });
175
176
  }
176
177
  if (action.type === 'setUploadSettings') {
177
- return _objectSpread$i(_objectSpread$i({}, state), {}, {
178
- settings: _objectSpread$i(_objectSpread$i({}, state.settings), action.settings)
178
+ return _objectSpread$j(_objectSpread$j({}, state), {}, {
179
+ settings: _objectSpread$j(_objectSpread$j({}, state.settings), action.settings)
179
180
  });
180
181
  }
181
182
  throw new Error(getUnknownActionError(action));
@@ -240,8 +241,8 @@ let HttpError = /*#__PURE__*/function (_Error) {
240
241
  return _createClass(HttpError);
241
242
  }(/*#__PURE__*/_wrapNativeSuper(Error));
242
243
 
243
- function ownKeys$h(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; }
244
- function _objectSpread$h(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$h(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$h(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
244
+ function ownKeys$i(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; }
245
+ function _objectSpread$i(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$i(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$i(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
245
246
  const addProxyPrefixToUrl = (uri, proxy) => {
246
247
  return proxy ? `/proxy/${proxy}${uri}` : uri;
247
248
  };
@@ -253,7 +254,7 @@ const fetchUsingXhr = _ref2 => {
253
254
  onSuccess = _ref2.onSuccess,
254
255
  onError = _ref2.onError;
255
256
  const options = applicationShell.createHttpClientOptions({
256
- headers: _objectSpread$h({
257
+ headers: _objectSpread$i({
257
258
  'Content-Type': 'application/json'
258
259
  }, config?.headers)
259
260
  });
@@ -314,7 +315,8 @@ const IMPORTABLE_RESOURCES = {
314
315
  DISCOUNT_CODE: 'discount-code',
315
316
  CUSTOMER: 'customer',
316
317
  ORDER: 'order',
317
- PRODUCT_TYPE: 'product-type'
318
+ PRODUCT_TYPE: 'product-type',
319
+ BUSINESS_UNIT: 'business-unit'
318
320
  };
319
321
 
320
322
  const FILE_SIZE_LIMITS_MB = {
@@ -324,7 +326,8 @@ const FILE_SIZE_LIMITS_MB = {
324
326
  [IMPORTABLE_RESOURCES.DISCOUNT_CODE]: 35,
325
327
  [IMPORTABLE_RESOURCES.CUSTOMER]: 0,
326
328
  [IMPORTABLE_RESOURCES.ORDER]: 0,
327
- [IMPORTABLE_RESOURCES.PRODUCT_TYPE]: 35
329
+ [IMPORTABLE_RESOURCES.PRODUCT_TYPE]: 35,
330
+ [IMPORTABLE_RESOURCES.BUSINESS_UNIT]: 35
328
331
  };
329
332
  const ROW_LIMITS = {
330
333
  [IMPORTABLE_RESOURCES.CATEGORY]: 80_000,
@@ -333,7 +336,8 @@ const ROW_LIMITS = {
333
336
  [IMPORTABLE_RESOURCES.DISCOUNT_CODE]: 80_000,
334
337
  [IMPORTABLE_RESOURCES.CUSTOMER]: 0,
335
338
  [IMPORTABLE_RESOURCES.ORDER]: 0,
336
- [IMPORTABLE_RESOURCES.PRODUCT_TYPE]: 80_000
339
+ [IMPORTABLE_RESOURCES.PRODUCT_TYPE]: 80_000,
340
+ [IMPORTABLE_RESOURCES.BUSINESS_UNIT]: 80_000
337
341
  };
338
342
  const RESOURCE_TYPE_TEMPLATE_DOWNLOAD_LINKS = {
339
343
  [IMPORTABLE_RESOURCES.CATEGORY]: 'https://docs.commercetools.com/merchant-center/downloads/category_import_template.csv',
@@ -342,7 +346,8 @@ const RESOURCE_TYPE_TEMPLATE_DOWNLOAD_LINKS = {
342
346
  [IMPORTABLE_RESOURCES.DISCOUNT_CODE]: 'https://docs.commercetools.com/merchant-center/downloads/discount_code_import_template.csv',
343
347
  [IMPORTABLE_RESOURCES.CUSTOMER]: 'https://docs.commercetools.com/merchant-center/import-data#download-a-template',
344
348
  [IMPORTABLE_RESOURCES.ORDER]: 'https://docs.commercetools.com/merchant-center/import-data#download-a-template',
345
- [IMPORTABLE_RESOURCES.PRODUCT_TYPE]: 'https://docs.commercetools.com/merchant-center/downloads/product_type_import_template.csv'
349
+ [IMPORTABLE_RESOURCES.PRODUCT_TYPE]: 'https://docs.commercetools.com/merchant-center/downloads/product_type_import_template.csv',
350
+ [IMPORTABLE_RESOURCES.BUSINESS_UNIT]: 'https://docs.commercetools.com/merchant-center/downloads/business_unit_import_template.csv'
346
351
  };
347
352
  const RESOURCE_TYPE_DOCUMENTATION_LINKS = {
348
353
  [IMPORTABLE_RESOURCES.CATEGORY]: 'https://docs.commercetools.com/merchant-center/import-categories#supported-headers-and-values',
@@ -351,7 +356,8 @@ const RESOURCE_TYPE_DOCUMENTATION_LINKS = {
351
356
  [IMPORTABLE_RESOURCES.DISCOUNT_CODE]: 'https://docs.commercetools.com/merchant-center/import-discount-codes#supported-headers-and-values',
352
357
  [IMPORTABLE_RESOURCES.CUSTOMER]: 'https://docs.commercetools.com/merchant-center/import-customers#supported-headers-and-values',
353
358
  [IMPORTABLE_RESOURCES.ORDER]: 'https://docs.commercetools.com/merchant-center/import-orders#supported-headers-and-values',
354
- [IMPORTABLE_RESOURCES.PRODUCT_TYPE]: 'https://docs.commercetools.com/merchant-center/import-product-types#supported-headers-and-values'
359
+ [IMPORTABLE_RESOURCES.PRODUCT_TYPE]: 'https://docs.commercetools.com/merchant-center/import-product-types#supported-headers-and-values',
360
+ [IMPORTABLE_RESOURCES.BUSINESS_UNIT]: 'https://docs.commercetools.com/merchant-center/import-business-units#supported-headers-and-values'
355
361
  };
356
362
 
357
363
  const CT_API_DOCS_URL = 'https://docs.commercetools.com/api/';
@@ -368,7 +374,19 @@ const PERMISSIONS = {
368
374
  ViewProductTypes: 'ViewProductTypes',
369
375
  // DiscountCodes
370
376
  ManageDiscountCodes: 'ManageDiscountCodes',
371
- ViewDiscountCodes: 'ViewDiscountCodes'
377
+ ViewDiscountCodes: 'ViewDiscountCodes',
378
+ // Customers
379
+ ManageCustomers: 'ManageCustomers',
380
+ ViewCustomers: 'ViewCustomers',
381
+ // Orders
382
+ ManageOrders: 'ManageOrders',
383
+ ViewOrders: 'ViewOrders',
384
+ // KeyValueDocuments
385
+ ManageKeyValueDocuments: 'ManageKeyValueDocuments',
386
+ ViewKeyValueDocuments: 'ViewKeyValueDocuments',
387
+ // BusinessUnits
388
+ ManageBusinessUnits: 'ManageBusinessUnits',
389
+ ViewBusinessUnits: 'ViewBusinessUnits'
372
390
  };
373
391
  const ACTION_RIGHTS = {
374
392
  PublishProducts: {
@@ -381,11 +399,11 @@ const ACTION_RIGHTS = {
381
399
  }
382
400
  };
383
401
 
384
- function ownKeys$g(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; }
385
- function _objectSpread$g(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$g(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$g(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
402
+ function ownKeys$h(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; }
403
+ function _objectSpread$h(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$h(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$h(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
386
404
  const DEFAULT_SHORT_LIVED_FLAGS = {};
387
405
  const DEFAULT_LONG_LIVED_FLAGS = {};
388
- _objectSpread$g(_objectSpread$g({}, DEFAULT_SHORT_LIVED_FLAGS), DEFAULT_LONG_LIVED_FLAGS);
406
+ _objectSpread$h(_objectSpread$h({}, DEFAULT_SHORT_LIVED_FLAGS), DEFAULT_LONG_LIVED_FLAGS);
389
407
 
390
408
  var sharedMessages = reactIntl.defineMessages({
391
409
  [`modalTitle.${IMPORTABLE_RESOURCES.CATEGORY}`]: {
@@ -408,6 +426,11 @@ var sharedMessages = reactIntl.defineMessages({
408
426
  description: 'Label for the inventories modal title',
409
427
  defaultMessage: 'Import discount codes by CSV'
410
428
  },
429
+ [`modalTitle.${IMPORTABLE_RESOURCES.BUSINESS_UNIT}`]: {
430
+ id: 'ImportResourcesModal.modalTitle.businessUnit',
431
+ description: 'Label for the business units modal title',
432
+ defaultMessage: 'Import business units by CSV'
433
+ },
411
434
  [`modalTitle.${IMPORTABLE_RESOURCES.CUSTOMER}`]: {
412
435
  id: 'ImportResourcesModal.modalTitle.customer',
413
436
  description: 'Label for the customers modal title',
@@ -614,6 +637,16 @@ var sharedMessages = reactIntl.defineMessages({
614
637
  description: 'Label for the discount-codes resource type',
615
638
  defaultMessage: 'Discount codes'
616
639
  },
640
+ 'business-unit': {
641
+ id: 'ImportResourcesModal.business-unit',
642
+ description: 'Label for the business-unit resource type',
643
+ defaultMessage: 'Business unit'
644
+ },
645
+ 'business-units': {
646
+ id: 'ImportResourcesModal.business-units',
647
+ description: 'Label for the business-units resource type',
648
+ defaultMessage: 'Business units'
649
+ },
617
650
  unknownResourceType: {
618
651
  id: 'ImportResourcesModal.unknown-resource-type',
619
652
  description: 'Label for the unknown resource type',
@@ -622,8 +655,8 @@ var sharedMessages = reactIntl.defineMessages({
622
655
  //
623
656
  });
624
657
 
625
- function ownKeys$f(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; }
626
- function _objectSpread$f(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$f(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$f(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
658
+ function ownKeys$g(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; }
659
+ function _objectSpread$g(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$g(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$g(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
627
660
 
628
661
  // Delimiters not included in this array may be treated as part of a column content
629
662
  // potentially causing the file to be parsed as a single-column CSV and pass this validation
@@ -672,7 +705,7 @@ const mapUploadFileErrorsResponseToUploadFileErrorRows = uploadFileErrorsRespons
672
705
  };
673
706
  const mapFileUploadErrorsToUploadFileErrorRows = uploadFileErrors => {
674
707
  let idCounter = 1;
675
- return _mapInstanceProperty__default["default"](uploadFileErrors).call(uploadFileErrors, uploadFileError => _objectSpread$f(_objectSpread$f({}, uploadFileError), {}, {
708
+ return _mapInstanceProperty__default["default"](uploadFileErrors).call(uploadFileErrors, uploadFileError => _objectSpread$g(_objectSpread$g({}, uploadFileError), {}, {
676
709
  id: String(idCounter++)
677
710
  }));
678
711
  };
@@ -785,6 +818,7 @@ function resourceTypeToMessage(resourceType) {
785
818
  'product-variant-patch': sharedMessages['product-variant-patch'],
786
819
  'standalone-price': sharedMessages['standalone-price'],
787
820
  'custom-object': sharedMessages['custom-object'],
821
+ 'business-unit': sharedMessages['business-unit'],
788
822
  type: sharedMessages.type
789
823
  };
790
824
  const message = resourceTypeMap[resourceType];
@@ -810,7 +844,8 @@ function resourceTypeToPluralMessage(resourceType) {
810
844
  'product-draft': sharedMessages['product-drafts'],
811
845
  'product-variant': sharedMessages['product-variants'],
812
846
  'product-variant-patch': sharedMessages['product-variant-patches'],
813
- 'standalone-price': sharedMessages['standalone-prices']
847
+ 'standalone-price': sharedMessages['standalone-prices'],
848
+ 'business-unit': sharedMessages['business-units']
814
849
  };
815
850
  const message = resourceTypePluralMap[resourceType];
816
851
  if (!message) {
@@ -868,6 +903,8 @@ function uploadFileForImport(_ref) {
868
903
  });
869
904
  }
870
905
 
906
+ function ownKeys$f(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; }
907
+ function _objectSpread$f(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$f(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$f(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
871
908
  function createImportContainerForFileUpload(importContainerDraft, projectKey, asyncDispatch) {
872
909
  return asyncDispatch(sdk.actions.post({
873
910
  mcApiProxyTarget: constants.MC_API_PROXY_TARGETS.IMPORT,
@@ -876,7 +913,14 @@ function createImportContainerForFileUpload(importContainerDraft, projectKey, as
876
913
  accept: 'application/json',
877
914
  'Content-Type': 'application/json'
878
915
  },
879
- payload: _JSON$stringify__default["default"](importContainerDraft)
916
+ payload: _JSON$stringify__default["default"](_objectSpread$f({
917
+ retentionPolicy: {
918
+ strategy: 'ttl',
919
+ config: {
920
+ timeToLive: '54h' // 2 days and 6 hours
921
+ }
922
+ }
923
+ }, importContainerDraft))
880
924
  }));
881
925
  }
882
926
  function deleteImportContainer(projectKey, containerKey, asyncDispatch) {
@@ -1059,13 +1103,13 @@ function getDefaultDropWrapperStyles(_dropAreaState) {
1059
1103
  return /*#__PURE__*/react.css("" , "" );
1060
1104
  }
1061
1105
 
1062
- var ActiveDragDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./active-drag-drop-area-ea7d585c.cjs.prod.js' /* webpackChunkName: "active-drag-drop-area" */); }));
1106
+ var ActiveDragDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./active-drag-drop-area-4386fda8.cjs.prod.js'); }));
1063
1107
 
1064
- var DisabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./disabled-drop-area-3e6427f5.cjs.prod.js' /* webpackChunkName: "disabled-drop-area" */); }));
1108
+ var DisabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./disabled-drop-area-f95a4dbf.cjs.prod.js'); }));
1065
1109
 
1066
- var EnabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./enabled-drop-area-e0438b2d.cjs.prod.js' /* webpackChunkName: "enabled-drop-area" */); }));
1110
+ var EnabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./enabled-drop-area-670afc18.cjs.prod.js'); }));
1067
1111
 
1068
- var FileDropped = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./file-dropped-area-a31408ab.cjs.prod.js' /* webpackChunkName: "filed-dropped-area" */); }));
1112
+ var FileDropped = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./file-dropped-area-974c1e65.cjs.prod.js'); }));
1069
1113
 
1070
1114
  function getDropArea(_ref) {
1071
1115
  let dropAreaState = _ref.dropAreaState,
@@ -1387,12 +1431,24 @@ const useImportPermission = () => {
1387
1431
  const canManageProducts = permissions.useIsAuthorized({
1388
1432
  demandedPermissions: [PERMISSIONS.ManageProducts]
1389
1433
  });
1390
- const canImportCategories = permissions.useIsAuthorized({
1434
+ const canManageCustomers = permissions.useIsAuthorized({
1435
+ demandedPermissions: [PERMISSIONS.ManageCustomers]
1436
+ });
1437
+ const canManageOrders = permissions.useIsAuthorized({
1438
+ demandedPermissions: [PERMISSIONS.ManageOrders]
1439
+ });
1440
+ const canManageKeyValueDocuments = permissions.useIsAuthorized({
1441
+ demandedPermissions: [PERMISSIONS.ManageKeyValueDocuments]
1442
+ });
1443
+ const canMAnageCategories = permissions.useIsAuthorized({
1391
1444
  demandedPermissions: [PERMISSIONS.ManageCategories]
1392
1445
  });
1393
- const canImportDiscountCodes = permissions.useIsAuthorized({
1446
+ const canManageDiscountCodes = permissions.useIsAuthorized({
1394
1447
  demandedPermissions: [PERMISSIONS.ManageDiscountCodes]
1395
1448
  });
1449
+ const canManageBusinessUnits = permissions.useIsAuthorized({
1450
+ demandedPermissions: [PERMISSIONS.ManageBusinessUnits]
1451
+ });
1396
1452
  const canImportProducts = React.useMemo(() => {
1397
1453
  if (!actionRights) return false;
1398
1454
  const canAddPrices = actionRights.canAddPrices,
@@ -1401,12 +1457,17 @@ const useImportPermission = () => {
1401
1457
  canEditPrices = actionRights.canEditPrices;
1402
1458
  return canManageProducts && canAddPrices && canAddProducts && canEditAttributesAll && canEditPrices;
1403
1459
  }, [canManageProducts, actionRights]);
1460
+ const canManageCustomObjects = React.useMemo(() => {
1461
+ return canManageProducts || canManageCustomers || canManageOrders || canManageKeyValueDocuments;
1462
+ }, [canManageCustomers, canManageOrders, canManageProducts, canManageKeyValueDocuments]);
1404
1463
  return {
1405
1464
  canImportProducts,
1406
- canImportCategories,
1407
- canImportDiscountCodes,
1465
+ canImportCategories: canMAnageCategories,
1466
+ canImportDiscountCodes: canManageDiscountCodes,
1467
+ canImportBusinessUnits: canManageBusinessUnits,
1408
1468
  canImportInventories: canManageProducts,
1409
- canImportProductTypes: canManageProducts
1469
+ canImportProductTypes: canManageProducts,
1470
+ canImportCustomObjects: canManageCustomObjects
1410
1471
  };
1411
1472
  };
1412
1473
 
@@ -2455,17 +2516,17 @@ const getChunkImport = locale => {
2455
2516
  const intlLocale = i18n.mapLocaleToIntlLocale(locale);
2456
2517
  switch (intlLocale) {
2457
2518
  case 'de':
2458
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "import-resources-modal-i18n-de" */'./de-3c758072.cjs.prod.js'); });
2519
+ return Promise.resolve().then(function () { return require('./de-ba621f66.cjs.prod.js'); });
2459
2520
  case 'es':
2460
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "import-resources-modal-i18n-es" */'./es-a3c0e9b3.cjs.prod.js'); });
2521
+ return Promise.resolve().then(function () { return require('./es-1877968a.cjs.prod.js'); });
2461
2522
  case 'fr-FR':
2462
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "import-resources-modal-i18n-fr-FR" */'./fr-FR-81499942.cjs.prod.js'); });
2523
+ return Promise.resolve().then(function () { return require('./fr-FR-1d2ccb65.cjs.prod.js'); });
2463
2524
  case 'ja':
2464
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "import-resources-modal-i18n-ja" */'./ja-37632763.cjs.prod.js'); });
2525
+ return Promise.resolve().then(function () { return require('./ja-37632763.cjs.prod.js'); });
2465
2526
  case 'pt-BR':
2466
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "change-history-i18n-pt-BR" */'./pt-BR-0d2cb8bd.cjs.prod.js'); });
2527
+ return Promise.resolve().then(function () { return require('./pt-BR-606f307c.cjs.prod.js'); });
2467
2528
  default:
2468
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "import-resources-modal-i18n-en" */'./en-d7cc7b15.cjs.prod.js'); });
2529
+ return Promise.resolve().then(function () { return require('./en-102ccf29.cjs.prod.js'); });
2469
2530
  }
2470
2531
  };
2471
2532
  const loadMessages = async locale => {
@@ -1,18 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  var ptBR = {
4
- "ImportResourcesModal.BodyNote": {
5
- developer_comment: "Confirmation dialog text",
6
- string: "Esteja ciente de que os valores existentes com as mesmas chaves serão substituídos pelos dados incluídos no CSV."
7
- },
8
- "ImportResourcesModal.BodyQuestion": {
9
- developer_comment: "Confirmation question",
10
- string: "Continuar a importação?"
11
- },
12
- "ImportResourcesModal.BodyText": {
13
- developer_comment: "Confirmation dialog text",
14
- string: "Você está prestes a importar <bold>{count}</bold> linhas para o projeto: <bold>{projectName}</bold>."
15
- },
16
4
  "ImportResourcesModal.browseFile": {
17
5
  string: "Procurar arquivo"
18
6
  },
@@ -20,6 +8,14 @@ var ptBR = {
20
8
  developer_comment: "Label for the cancel button",
21
9
  string: "Cancelar"
22
10
  },
11
+ "ImportResourcesModal.categories": {
12
+ developer_comment: "Label for the categories resource type",
13
+ string: "Categorias"
14
+ },
15
+ "ImportResourcesModal.category": {
16
+ developer_comment: "Label for the category resource type",
17
+ string: "Categoria"
18
+ },
23
19
  "ImportResourcesModal.chooseFile": {
24
20
  developer_comment: "Label for a button on the file upload page, shown on ready to upload state",
25
21
  string: "Escolher arquivo"
@@ -46,20 +42,60 @@ var ptBR = {
46
42
  },
47
43
  "ImportResourcesModal.confirmationBodyText": {
48
44
  developer_comment: "Confirmation dialog text",
49
- string: "Você está prestes a importar {count, plural, one {<bold>1</bold> linha} other {<bold>{count}</bold> linhas}} no projeto: <bold>{projectName}</bold>."
45
+ string: "You are about to import {count, plural, one {<bold>1</bold> row} other {<bold>{count}</bold> rows}} in the project: <bold>{projectName}</bold>."
50
46
  },
51
47
  "ImportResourcesModal.continue": {
52
48
  developer_comment: "Confirmation dialog continue button",
53
49
  string: "Continuar"
54
50
  },
51
+ "ImportResourcesModal.custom-object": {
52
+ developer_comment: "Label for the custom-object resource type",
53
+ string: "Objeto personalizado"
54
+ },
55
+ "ImportResourcesModal.custom-objects": {
56
+ developer_comment: "Label for the custom-objects resource type",
57
+ string: "Objetos personalizados"
58
+ },
59
+ "ImportResourcesModal.customer": {
60
+ developer_comment: "Label for the customer resource type",
61
+ string: "Cliente"
62
+ },
63
+ "ImportResourcesModal.customers": {
64
+ developer_comment: "Label for the customers resource type",
65
+ string: "Clientes"
66
+ },
55
67
  "ImportResourcesModal.dataType": {
56
68
  developer_comment: "Label for the data type selection dropdown",
57
69
  string: "Tipo de dados"
58
70
  },
71
+ "ImportResourcesModal.delimiterComma": {
72
+ developer_comment: "Label for the delimiter name comma",
73
+ string: "vírgula"
74
+ },
75
+ "ImportResourcesModal.delimiterPipe": {
76
+ developer_comment: "Label for the delimiter name pipe",
77
+ string: "tubo"
78
+ },
79
+ "ImportResourcesModal.delimiterSemicolon": {
80
+ developer_comment: "Label for the delimiter name semicolon",
81
+ string: "ponto e vírgula"
82
+ },
83
+ "ImportResourcesModal.delimiterTab": {
84
+ developer_comment: "Label for the delimiter name tab",
85
+ string: "guia"
86
+ },
59
87
  "ImportResourcesModal.details": {
60
88
  developer_comment: "In Upload file error modal - \"Details\" column",
61
89
  string: "Detalhes"
62
90
  },
91
+ "ImportResourcesModal.discount-code": {
92
+ developer_comment: "Label for the discount-code resource type",
93
+ string: "Código de desconto"
94
+ },
95
+ "ImportResourcesModal.discount-codes": {
96
+ developer_comment: "Label for the discount-codes resource type",
97
+ string: "Códigos de desconto"
98
+ },
63
99
  "ImportResourcesModal.dragAndDropCSV": {
64
100
  developer_comment: "The message telling the user to drag and drop CSV file in the file drop area",
65
101
  string: "Arraste e solte o CSV"
@@ -104,6 +140,22 @@ var ptBR = {
104
140
  developer_comment: "Label for the instructions section",
105
141
  string: "Instruções"
106
142
  },
143
+ "ImportResourcesModal.inventories": {
144
+ developer_comment: "Label for the inventories entry resource type",
145
+ string: "Inventários"
146
+ },
147
+ "ImportResourcesModal.inventory": {
148
+ developer_comment: "Label for the inventory entry resource type",
149
+ string: "Inventário"
150
+ },
151
+ "ImportResourcesModal.itemsToBeImported": {
152
+ developer_comment: "This message indicates the number of items that are ready to be imported into the project.",
153
+ string: "{itemCount, plural, one {<b>1</b> {resourceType} a ser importado{publish, select, true { and published} other {}}} many {<b>{itemCount}</b> {resourceTypePlural} a serem importados{publish, select, true { and published} other {}}} other {<b>{itemCount}</b> {resourceTypePlural} a serem importados{publish, select, true { and published} other {}}}}"
154
+ },
155
+ "ImportResourcesModal.listConjunctionOr": {
156
+ developer_comment: "Label for the list conjunction or",
157
+ string: "ou"
158
+ },
107
159
  "ImportResourcesModal.missingKeyError": {
108
160
  developer_comment: "Error message displayed when the uploaded file is missing the key field",
109
161
  string: "O campo \"chave\" está ausente ou incompleto em algumas linhas. Certifique-se de que cada linha tenha um valor de \"chave\"."
@@ -148,6 +200,22 @@ var ptBR = {
148
200
  developer_comment: "The word \"or\" in the drag and drop message",
149
201
  string: "ou"
150
202
  },
203
+ "ImportResourcesModal.order": {
204
+ developer_comment: "Label for the order resource type",
205
+ string: "Pedido"
206
+ },
207
+ "ImportResourcesModal.order-patch": {
208
+ developer_comment: "Label for the order-patch resource type",
209
+ string: "Correção do pedido"
210
+ },
211
+ "ImportResourcesModal.order-patches": {
212
+ developer_comment: "Label for the order-patches resource type",
213
+ string: "Correções de pedido"
214
+ },
215
+ "ImportResourcesModal.orders": {
216
+ developer_comment: "Label for the orders resource type",
217
+ string: "Pedidos"
218
+ },
151
219
  "ImportResourcesModal.prepareMessage": {
152
220
  developer_comment: "Notification for preparing import",
153
221
  string: "<b>Preparar importação</b><newline></newline>Após a conclusão da preparação, você pode acompanhar o andamento da importação <logsLink>nos logs de importação</logsLink>."
@@ -156,6 +224,54 @@ var ptBR = {
156
224
  developer_comment: "Label for modal path",
157
225
  string: "Aqui está uma prévia da sua importação"
158
226
  },
227
+ "ImportResourcesModal.price": {
228
+ developer_comment: "Label for the price resource type",
229
+ string: "Preço"
230
+ },
231
+ "ImportResourcesModal.prices": {
232
+ developer_comment: "Label for the prices resource type",
233
+ string: "Preços"
234
+ },
235
+ "ImportResourcesModal.product": {
236
+ developer_comment: "Label for the product resource type",
237
+ string: "Produto"
238
+ },
239
+ "ImportResourcesModal.product-draft": {
240
+ developer_comment: "Label for the product-draft resource type",
241
+ string: "Rascunho do produto"
242
+ },
243
+ "ImportResourcesModal.product-drafts": {
244
+ developer_comment: "Label for the product-drafts resource type",
245
+ string: "Rascunhos de produto"
246
+ },
247
+ "ImportResourcesModal.product-type": {
248
+ developer_comment: "Label for the product-type resource type",
249
+ string: "Tipo de produto"
250
+ },
251
+ "ImportResourcesModal.product-types": {
252
+ developer_comment: "Label for the product-types resource type",
253
+ string: "Tipos de produtos"
254
+ },
255
+ "ImportResourcesModal.product-variant": {
256
+ developer_comment: "Label for the product-variant resource type",
257
+ string: "Variante do produto"
258
+ },
259
+ "ImportResourcesModal.product-variant-patch": {
260
+ developer_comment: "Label for the product-variant-patch resource type",
261
+ string: "Correção da variante do produto"
262
+ },
263
+ "ImportResourcesModal.product-variant-patches": {
264
+ developer_comment: "Label for the product-variant-patches resource type",
265
+ string: "Correções de variante de produto"
266
+ },
267
+ "ImportResourcesModal.product-variants": {
268
+ developer_comment: "Label for the product-variants resource type",
269
+ string: "Variantes de produto"
270
+ },
271
+ "ImportResourcesModal.products": {
272
+ developer_comment: "Label for the products resource type",
273
+ string: "Produtos"
274
+ },
159
275
  "ImportResourcesModal.radio.categories": {
160
276
  developer_comment: "Label for the categories radio button",
161
277
  string: "Categorias"
@@ -179,9 +295,9 @@ var ptBR = {
179
295
  "ImportResourcesModal.rowLimitExceededTitle": {
180
296
  string: "Limite de linhas excedido"
181
297
  },
182
- "ImportResourcesModal.rowsToBeImported": {
183
- developer_comment: "This message indicates the number of rows that are ready to be imported into the system.",
184
- string: "{rowCount, plural, one {<b>1</b> linha a ser importada} other {<b>{rowCount}</b> linhas a serem importadas}}{publish, select, true { and published} other {}}"
298
+ "ImportResourcesModal.settings.publishProducts": {
299
+ developer_comment: "Label for the publish products checkbox",
300
+ string: "Publicar todos os produtos no arquivo"
185
301
  },
186
302
  "ImportResourcesModal.showLess": {
187
303
  developer_comment: "A button label for collapsing the import preview to show fewer details.",
@@ -198,6 +314,14 @@ var ptBR = {
198
314
  "ImportResourcesModal.sizeExceededTitle": {
199
315
  string: "Tamanho de arquivo excedido"
200
316
  },
317
+ "ImportResourcesModal.standalone-price": {
318
+ developer_comment: "Label for the standalone-price resource type",
319
+ string: "Preço independente"
320
+ },
321
+ "ImportResourcesModal.standalone-prices": {
322
+ developer_comment: "Label for the standalone-prices resource type",
323
+ string: "Preços independentes"
324
+ },
201
325
  "ImportResourcesModal.startImportButton": {
202
326
  developer_comment: "Label for the modal Start import button",
203
327
  string: "Iniciar importação"
@@ -214,10 +338,22 @@ var ptBR = {
214
338
  developer_comment: "Error message displayed when a user drags and drops multiple files at once",
215
339
  string: "Vários arquivos detectados: você só pode arrastar e soltar um arquivo por vez."
216
340
  },
341
+ "ImportResourcesModal.type": {
342
+ developer_comment: "Label for the type resource type",
343
+ string: "Tipo"
344
+ },
345
+ "ImportResourcesModal.types": {
346
+ developer_comment: "Label for the types resource type",
347
+ string: "Tipos"
348
+ },
217
349
  "ImportResourcesModal.unexpectedError": {
218
350
  developer_comment: "Generic notification message when file upload fails",
219
351
  string: "Um erro inesperado ocorreu durante o carregamento do arquivo. Tente novamente ou entre em contato com o suporte se o problema continuar ocorrendo."
220
352
  },
353
+ "ImportResourcesModal.unknown-resource-type": {
354
+ developer_comment: "Label for the unknown resource type",
355
+ string: "Tipo de recurso desconhecido"
356
+ },
221
357
  "ImportResourcesModal.uploadButton": {
222
358
  developer_comment: "Label for the upload button",
223
359
  string: "Carregar e visualizar"
@@ -234,12 +370,12 @@ var ptBR = {
234
370
  developer_comment: "Upload new file button",
235
371
  string: "Carregar novo arquivo"
236
372
  },
237
- "ImportResourcesModal.wrongDelimiterDescription": {
238
- developer_comment: "Message within the drop area when a CSV file uses an unexpected delimiter",
239
- string: "O arquivo está usando um delimitador incorreto. Use vírgula (,) em vez disso."
373
+ "ImportResourcesModal.wrongSeparatorDescription": {
374
+ developer_comment: "Message within the drop area when a CSV file uses an unexpected separator",
375
+ string: "O arquivo está usando um separador não suportado. Utilize um dos separadores permitidos: {delimiterList}."
240
376
  },
241
- "ImportResourcesModal.wrongDelimiterTitle": {
242
- string: "Delimitador incorreto"
377
+ "ImportResourcesModal.wrongSeparatorTitle": {
378
+ string: "Separador incorreto"
243
379
  }
244
380
  };
245
381