@commercetools-frontend-extensions/unpublish-products-modal 1.2.9 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,7 +11,7 @@ import { defineMessages, useIntl, FormattedMessage, IntlProvider } from 'react-i
11
11
  import { useApplicationContext } from '@commercetools-frontend/application-shell-connectors';
12
12
  import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
13
13
  import React, { useContext, useState, useEffect } from 'react';
14
- import { deleteImportContainer, EnabledDropArea, FileDroppedArea, ActiveDragDropArea, useImportContainerUpload, getRowCount, toBytes, MAX_FILE_SIZE_MB, hasSingleKeyColumn, MAX_ROW_COUNT, isAbortError, HttpError, FileDropArea as FileDropArea$1, UploadingModal, mapFileUploadErrorsToUploadFileErrorRows, processUploadedFile } from '@commercetools-frontend-extensions/operations';
14
+ import { deleteImportContainer, EnabledDropArea, FileDroppedArea, ActiveDragDropArea, useFileUpload, getRowCount, toBytes, hasSingleKeyColumn, countUniqueResourcesInCsv, isAbortError, HttpError, IMPORT_MAX_FILE_SIZE_MB, IMPORT_LEGACY_MAX_FILE_SIZE_MB, IMPORT_MAX_ITEM_COUNT, IMPORT_LEGACY_MAX_ROW_COUNT, FileDropArea as FileDropArea$1, UploadingModal, mapFileUploadErrorsToUploadFileErrorRows, processFileImportJob, processUploadedFile } from '@commercetools-frontend-extensions/operations';
15
15
  import { jsx, jsxs } from '@emotion/react/jsx-runtime';
16
16
  import { FormDialog, InfoDialog, ConfirmationDialog } from '@commercetools-frontend/application-components';
17
17
  import { Masking } from '@commercetools-frontend/fullstory';
@@ -25,60 +25,85 @@ import _possibleConstructorReturn from '@babel/runtime-corejs3/helpers/esm/possi
25
25
  import _getPrototypeOf from '@babel/runtime-corejs3/helpers/esm/getPrototypeOf';
26
26
  import _inherits from '@babel/runtime-corejs3/helpers/esm/inherits';
27
27
  import _wrapNativeSuper from '@babel/runtime-corejs3/helpers/esm/wrapNativeSuper';
28
+ import { useFeatureToggle } from '@commercetools-frontend/application-shell';
28
29
  import { reportErrorToSentry } from '@commercetools-frontend/sentry';
29
30
  import _sliceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/slice';
30
31
  import '@emotion/react';
31
32
  import { parseChunkImport, mapLocaleToIntlLocale } from '@commercetools-frontend/i18n';
32
33
 
33
- function ownKeys$6(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; }
34
- function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$6(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$6(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
34
+ function ownKeys$7(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; }
35
+ function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$7(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$7(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
35
36
  function reducer(state, action) {
36
- if (action.type === 'setCurrentStep') return _objectSpread$6(_objectSpread$6({}, state), {}, {
37
+ if (action.type === 'setCurrentStep') return _objectSpread$7(_objectSpread$7({}, state), {}, {
37
38
  currentStep: action.currentStep,
38
39
  progress: 0
39
40
  });
40
- if (action.type === 'setContainerKey') return _objectSpread$6(_objectSpread$6({}, state), {}, {
41
+ if (action.type === 'setContainerKey') return _objectSpread$7(_objectSpread$7({}, state), {}, {
41
42
  containerKey: action.containerKey
42
43
  });
43
- if (action.type === 'cancelImport') return _objectSpread$6(_objectSpread$6({}, state), {}, {
44
+ if (action.type === 'cancelImport') return _objectSpread$7(_objectSpread$7({}, state), {}, {
44
45
  currentStep: 'upload',
45
46
  containerKey: undefined,
46
47
  droppedFile: undefined,
47
48
  dropAreaState: 'ready-for-drop',
48
- progress: 0
49
+ progress: 0,
50
+ jobId: undefined,
51
+ totalResourceCount: undefined,
52
+ validationProcessed: undefined,
53
+ isValidating: false
49
54
  });
50
- if (action.type === 'uploadNewFile') return _objectSpread$6(_objectSpread$6({}, state), {}, {
55
+ if (action.type === 'uploadNewFile') return _objectSpread$7(_objectSpread$7({}, state), {}, {
51
56
  currentStep: 'upload',
52
57
  containerKey: undefined,
53
58
  droppedFile: undefined,
54
59
  dropAreaState: 'ready-for-drop',
55
- progress: 0
60
+ progress: 0,
61
+ jobId: undefined,
62
+ totalResourceCount: undefined,
63
+ validationProcessed: undefined,
64
+ isValidating: false
56
65
  });
57
66
  if (action.type === 'setDroppedFile') {
58
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
67
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
59
68
  droppedFile: action.droppedFile
60
69
  });
61
70
  }
62
71
  if (action.type === 'setAbortController') {
63
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
72
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
64
73
  abortController: action.abortController
65
74
  });
66
75
  }
67
76
  if (action.type === 'setProgress') {
68
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
77
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
69
78
  progress: action.progress
70
79
  });
71
80
  }
72
81
  if (action.type === 'setUploadFileResponse') {
73
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
82
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
74
83
  uploadFileResponse: action.uploadFileResponse
75
84
  });
76
85
  }
77
86
  if (action.type === 'setFileUploadErrors') {
78
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
87
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
79
88
  fileUploadErrors: action.fileUploadErrors
80
89
  });
81
90
  }
91
+ if (action.type === 'setJobId') {
92
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
93
+ jobId: action.jobId
94
+ });
95
+ }
96
+ if (action.type === 'setTotalResourceCount') {
97
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
98
+ totalResourceCount: action.totalResourceCount
99
+ });
100
+ }
101
+ if (action.type === 'setValidationProgress') {
102
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
103
+ validationProcessed: action.processed,
104
+ isValidating: action.isValidating
105
+ });
106
+ }
82
107
  throw new Error(getUnknownActionError(action));
83
108
  }
84
109
  function getUnknownActionError(actionType) {
@@ -120,6 +145,15 @@ const initialActions = {
120
145
  },
121
146
  setProgress(_progress) {
122
147
  /**/
148
+ },
149
+ setJobId(_jobId) {
150
+ /**/
151
+ },
152
+ setTotalResourceCount(_totalResourceCount) {
153
+ /**/
154
+ },
155
+ setValidationProgress(_params) {
156
+ /**/
123
157
  }
124
158
  };
125
159
 
@@ -175,6 +209,37 @@ const UnpublishProductsProvider = props => {
175
209
  uploadFileResponse
176
210
  });
177
211
  };
212
+ const setJobId = jobId => dispatch({
213
+ type: 'setJobId',
214
+ jobId
215
+ });
216
+ const setTotalResourceCount = totalResourceCount => dispatch({
217
+ type: 'setTotalResourceCount',
218
+ totalResourceCount
219
+ });
220
+ const setValidationProgress = _ref => {
221
+ let processed = _ref.processed,
222
+ isValidating = _ref.isValidating;
223
+ return dispatch({
224
+ type: 'setValidationProgress',
225
+ processed,
226
+ isValidating
227
+ });
228
+ };
229
+ const actions = {
230
+ setCurrentStep,
231
+ cancelImport,
232
+ uploadNewFile,
233
+ setDroppedFile,
234
+ setUploadFileResponse,
235
+ setFileUploadErrors,
236
+ setContainerKey,
237
+ setAbortController,
238
+ setProgress,
239
+ setJobId,
240
+ setTotalResourceCount,
241
+ setValidationProgress
242
+ };
178
243
  const handleClose = function () {
179
244
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
180
245
  if (state.abortController) state.abortController.abort();
@@ -189,17 +254,7 @@ const UnpublishProductsProvider = props => {
189
254
  value: {
190
255
  state,
191
256
  onClose: handleClose,
192
- actions: {
193
- setCurrentStep,
194
- cancelImport,
195
- uploadNewFile,
196
- setDroppedFile,
197
- setUploadFileResponse,
198
- setFileUploadErrors,
199
- setContainerKey,
200
- setAbortController,
201
- setProgress
202
- }
257
+ actions
203
258
  },
204
259
  children: props.children
205
260
  });
@@ -251,7 +306,7 @@ function getDropAreaState(flags) {
251
306
  return 'ready-for-drop';
252
307
  }
253
308
 
254
- var messages$4 = defineMessages({
309
+ var messages$5 = defineMessages({
255
310
  dragAndDropCSV: {
256
311
  id: 'UnpublishProductsModal.dragAndDropCSV',
257
312
  description: 'The message telling the user to drag and drop CSV file in the file drop area',
@@ -330,7 +385,7 @@ const useUnpublishProductsContext = () => {
330
385
  return context;
331
386
  };
332
387
 
333
- var messages$3 = defineMessages({
388
+ var messages$4 = defineMessages({
334
389
  fileSizeExceededTitle: {
335
390
  id: 'UnpublishProductsModal.sizeExceededTitle',
336
391
  defaultMessage: 'File size exceeded'
@@ -386,6 +441,18 @@ var messages$3 = defineMessages({
386
441
  }
387
442
  });
388
443
 
444
+ function ownKeys$6(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; }
445
+ function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$6(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$6(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
446
+ const FILE_IMPORT_JOB_FLOW = 'fileImportJobFlow';
447
+ const DEFAULT_SHORT_LIVED_FLAGS = {
448
+ [FILE_IMPORT_JOB_FLOW]: false
449
+ };
450
+ const DEFAULT_LONG_LIVED_FLAGS = {};
451
+ _objectSpread$6(_objectSpread$6({}, DEFAULT_SHORT_LIVED_FLAGS), DEFAULT_LONG_LIVED_FLAGS);
452
+
453
+ const DOCUMENTATION_LINK = 'https://docs.commercetools.com/merchant-center/product-list#bulk-unpublish-via-csv-import';
454
+ const TEMPLATE_DOWNLOAD_LINK = 'https://docs.commercetools.com/merchant-center/downloads/product_unpublish_import_template.csv';
455
+
389
456
  const useUpload = () => {
390
457
  const intl = useIntl();
391
458
  const _useApplicationContex = useApplicationContext(context => ({
@@ -396,38 +463,37 @@ const useUpload = () => {
396
463
  state = _useUnpublishProducts.state,
397
464
  actions = _useUnpublishProducts.actions;
398
465
  const showNotification = useShowNotification();
399
- const _useImportContainerUp = useImportContainerUpload({
400
- projectKey: projectKey
466
+ const isFileImportJobFlowEnabled = useFeatureToggle(FILE_IMPORT_JOB_FLOW);
467
+ const _useFileUpload = useFileUpload({
468
+ projectKey: projectKey,
469
+ useJobBasedFlow: isFileImportJobFlowEnabled
401
470
  }),
402
- upload = _useImportContainerUp.upload;
403
- React.useEffect(() => {
404
- return () => {
405
- if (state.abortController) state.abortController.abort();
406
- };
407
- }, [state.abortController]);
471
+ upload = _useFileUpload.upload;
408
472
  const isFileValid = async file => {
409
473
  const errors = [];
474
+ const maxFileSizeMB = isFileImportJobFlowEnabled ? IMPORT_MAX_FILE_SIZE_MB : IMPORT_LEGACY_MAX_FILE_SIZE_MB;
475
+ const maxItemCount = isFileImportJobFlowEnabled ? IMPORT_MAX_ITEM_COUNT : IMPORT_LEGACY_MAX_ROW_COUNT;
410
476
  const rowCount = await getRowCount(file);
411
477
  if (rowCount < 1) errors.push({
412
- title: intl.formatMessage(messages$3.dropAreaNotEnoughRowsTitle),
413
- description: intl.formatMessage(messages$3.dropAreaNotEnoughRowsDescription)
478
+ title: intl.formatMessage(messages$4.dropAreaNotEnoughRowsTitle),
479
+ description: intl.formatMessage(messages$4.dropAreaNotEnoughRowsDescription)
414
480
  });
415
- if (file.size > toBytes(MAX_FILE_SIZE_MB)) errors.push({
416
- title: intl.formatMessage(messages$3.fileSizeExceededTitle),
417
- description: intl.formatMessage(messages$3.fileSizeExceededDescription, {
418
- fileSizeLimit: intl.formatNumber(MAX_FILE_SIZE_MB)
481
+ if (file.size > toBytes(maxFileSizeMB)) errors.push({
482
+ title: intl.formatMessage(messages$4.fileSizeExceededTitle),
483
+ description: intl.formatMessage(messages$4.fileSizeExceededDescription, {
484
+ fileSizeLimit: intl.formatNumber(maxFileSizeMB)
419
485
  })
420
486
  });
421
487
  if (!(await hasSingleKeyColumn(file))) {
422
488
  errors.push({
423
- title: intl.formatMessage(messages$3.csvFormatErrorTitle),
424
- description: intl.formatMessage(messages$3.csvFormatErrorDescription)
489
+ title: intl.formatMessage(messages$4.csvFormatErrorTitle),
490
+ description: intl.formatMessage(messages$4.csvFormatErrorDescription)
425
491
  });
426
492
  }
427
- if (rowCount > MAX_ROW_COUNT) errors.push({
428
- title: intl.formatMessage(messages$3.rowLimitExceededTitle),
429
- description: intl.formatMessage(messages$3.rowLimitExceededDescription, {
430
- rowLimit: intl.formatNumber(MAX_ROW_COUNT)
493
+ if (rowCount > maxItemCount) errors.push({
494
+ title: intl.formatMessage(messages$4.rowLimitExceededTitle),
495
+ description: intl.formatMessage(messages$4.rowLimitExceededDescription, {
496
+ rowLimit: intl.formatNumber(maxItemCount)
431
497
  })
432
498
  });
433
499
  if (errors.length > 0) {
@@ -435,6 +501,10 @@ const useUpload = () => {
435
501
  actions.setCurrentStep('upload-error');
436
502
  return false;
437
503
  }
504
+ if (isFileImportJobFlowEnabled) {
505
+ const resourceCount = await countUniqueResourcesInCsv(file);
506
+ actions.setTotalResourceCount(resourceCount);
507
+ }
438
508
  return true;
439
509
  };
440
510
  const handleUploadError = error => {
@@ -443,18 +513,25 @@ const useUpload = () => {
443
513
  return;
444
514
  }
445
515
  if (error instanceof HttpError) {
516
+ actions.setValidationProgress({
517
+ processed: 0,
518
+ isValidating: false
519
+ });
446
520
  if (error.errorData?.code === 'MISSING_KEY_ERROR') {
447
521
  actions.setFileUploadErrors([{
448
- title: intl.formatMessage(messages$3.missingRequiredField),
449
- description: intl.formatMessage(messages$3.missingKeyError)
522
+ title: intl.formatMessage(messages$4.missingRequiredField),
523
+ description: intl.formatMessage(messages$4.missingKeyError)
450
524
  }]);
451
525
  actions.setCurrentStep('upload-error');
526
+ } else if (error.errorData?.invalid > 0) {
527
+ actions.setUploadFileResponse(error.errorData);
528
+ actions.setCurrentStep('upload-error');
452
529
  } else {
453
530
  actions.cancelImport();
454
531
  showNotification({
455
532
  kind: 'error',
456
533
  domain: DOMAINS.PAGE,
457
- text: intl.formatMessage(messages$3.unexpectedError)
534
+ text: intl.formatMessage(messages$4.unexpectedError)
458
535
  });
459
536
  }
460
537
  } else {
@@ -476,32 +553,58 @@ const useUpload = () => {
476
553
  if (!state.droppedFile) return;
477
554
  const canUpload = await isFileValid(state.droppedFile);
478
555
  if (!canUpload) return;
556
+ const abortController = new AbortController();
557
+ actions.setAbortController(abortController);
479
558
  actions.setCurrentStep('uploading');
480
- try {
481
- const xhr = await upload({
482
- file: state.droppedFile,
483
- resourceType: 'product',
484
- settings: {
485
- resourceType: 'product-draft',
486
- format: 'CSV',
487
- options: {
488
- unpublishAllChanges: true
489
- }
490
- },
491
- onSuccess: (fileUploadResponse, containerKey) => {
492
- actions.setContainerKey(containerKey);
493
- actions.setUploadFileResponse(fileUploadResponse);
559
+ await upload({
560
+ file: state.droppedFile,
561
+ resourceType: 'product',
562
+ settings: {
563
+ format: 'CSV',
564
+ options: {
565
+ unpublishAllChanges: true
566
+ }
567
+ },
568
+ abortSignal: abortController.signal,
569
+ onSuccess: result => {
570
+ actions.setValidationProgress({
571
+ processed: 0,
572
+ isValidating: false
573
+ });
574
+ actions.setContainerKey(result.containerKey);
575
+ if (result.jobId) {
576
+ actions.setJobId(result.jobId);
577
+ }
578
+ const fileUploadResponse = {
579
+ results: result.summary.results,
580
+ invalid: result.summary.invalid,
581
+ valid: result.summary.valid,
582
+ fileName: state.droppedFile?.name || '',
583
+ itemsCount: result.summary.total,
584
+ rowsCount: result.summary.total,
585
+ columnsCount: result.summary.fieldsCount,
586
+ fields: result.summary.fields,
587
+ ignoredFields: result.summary.ignoredFields
588
+ };
589
+ actions.setUploadFileResponse(fileUploadResponse);
590
+ if (result.summary.invalid > 0) {
591
+ actions.setCurrentStep('upload-error');
592
+ } else {
494
593
  actions.setCurrentStep('upload-preview');
495
- },
496
- onProgress: progress => {
497
- actions.setProgress(progress);
498
- },
499
- onError: handleUploadError
500
- });
501
- actions.setAbortController(xhr);
502
- } catch (error) {
503
- handleUploadError(error);
504
- }
594
+ }
595
+ },
596
+ onProgress: progress => {
597
+ actions.setProgress(progress);
598
+ },
599
+ onValidationProgress: job => {
600
+ const processed = job.summary?.total ?? 0;
601
+ actions.setValidationProgress({
602
+ processed,
603
+ isValidating: true
604
+ });
605
+ },
606
+ onError: handleUploadError
607
+ });
505
608
  };
506
609
  return {
507
610
  handleUploadAndValidation
@@ -522,9 +625,9 @@ const FileDropArea = () => {
522
625
  }, [actions]);
523
626
  const handleDropRejected = React.useCallback(errorType => {
524
627
  const errorMessageMap = {
525
- 'too-many-files': messages$4.tooManyFilesError,
526
- 'invalid-type': messages$4.fileFormatNotSupported,
527
- generic: messages$4.genericError
628
+ 'too-many-files': messages$5.tooManyFilesError,
629
+ 'invalid-type': messages$5.fileFormatNotSupported,
630
+ generic: messages$5.genericError
528
631
  };
529
632
  showNotification({
530
633
  kind: 'error',
@@ -548,10 +651,10 @@ const FileDropArea = () => {
548
651
  isFileDropped: Boolean(state.droppedFile),
549
652
  fileName: state.droppedFile?.name,
550
653
  messages: {
551
- dragAndDropCSV: intl.formatMessage(messages$4.dragAndDropCSV),
552
- or: intl.formatMessage(messages$4.or),
553
- browseButton: intl.formatMessage(messages$4.browseButton),
554
- chooseFile: intl.formatMessage(messages$4.chooseFile)
654
+ dragAndDropCSV: intl.formatMessage(messages$5.dragAndDropCSV),
655
+ or: intl.formatMessage(messages$5.or),
656
+ browseButton: intl.formatMessage(messages$5.browseButton),
657
+ chooseFile: intl.formatMessage(messages$5.chooseFile)
555
658
  }
556
659
  })
557
660
  });
@@ -572,10 +675,15 @@ var sharedMessages = defineMessages({
572
675
  id: 'UnpublishProductsModal.cancel',
573
676
  description: 'The label for the cancel button',
574
677
  defaultMessage: 'Cancel'
678
+ },
679
+ products: {
680
+ id: 'UnpublishProductsModal.products',
681
+ description: 'Products resource type label',
682
+ defaultMessage: 'Products'
575
683
  }
576
684
  });
577
685
 
578
- var messages$2 = defineMessages({
686
+ var messages$3 = defineMessages({
579
687
  fileUploadInstructions: {
580
688
  id: 'UnpublishProductsModal.fileUploadInstructions',
581
689
  description: 'Instructions for uploading a CSV file with product keys to unpublish',
@@ -583,18 +691,18 @@ var messages$2 = defineMessages({
583
691
  }
584
692
  });
585
693
 
586
- const DOCUMENTATION_LINK = 'https://docs.commercetools.com/merchant-center/product-list#bulk-unpublish-via-csv-import';
587
- const TEMPLATE_DOWNLOAD_LINK = 'https://docs.commercetools.com/merchant-center/downloads/product_unpublish_import_template.csv';
588
-
589
694
  function ownKeys$5(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; }
590
695
  function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$5(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$5(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
591
696
  const Instructions = () => {
592
697
  const intl = useIntl();
698
+ const isFileImportJobFlowEnabled = useFeatureToggle(FILE_IMPORT_JOB_FLOW);
699
+ const maxFileSizeMB = isFileImportJobFlowEnabled ? IMPORT_MAX_FILE_SIZE_MB : IMPORT_LEGACY_MAX_FILE_SIZE_MB;
700
+ const maxItemCount = isFileImportJobFlowEnabled ? IMPORT_MAX_ITEM_COUNT : IMPORT_LEGACY_MAX_ROW_COUNT;
593
701
  return jsx(Text.Body, {
594
- intlMessage: _objectSpread$5(_objectSpread$5({}, messages$2.fileUploadInstructions), {}, {
702
+ intlMessage: _objectSpread$5(_objectSpread$5({}, messages$3.fileUploadInstructions), {}, {
595
703
  values: {
596
- maxFileSize: intl.formatNumber(MAX_FILE_SIZE_MB),
597
- maxRowCount: intl.formatNumber(MAX_ROW_COUNT),
704
+ maxFileSize: intl.formatNumber(maxFileSizeMB),
705
+ maxRowCount: intl.formatNumber(maxItemCount),
598
706
  csvTemplateLink: msg => jsx(Link, {
599
707
  tone: "secondary",
600
708
  isExternal: true,
@@ -623,7 +731,7 @@ const Upload = () => {
623
731
  size: 16,
624
732
  isOpen: true,
625
733
  title: intl.formatMessage(sharedMessages.unpublishModalTitle),
626
- labelPrimary: intl.formatMessage(messages$4.uploadAndPreview),
734
+ labelPrimary: intl.formatMessage(messages$5.uploadAndPreview),
627
735
  onPrimaryButtonClick: handleUploadAndValidation,
628
736
  isPrimaryButtonDisabled: !Boolean(state.droppedFile),
629
737
  onSecondaryButtonClick: () => onClose({
@@ -641,6 +749,13 @@ const Upload = () => {
641
749
  });
642
750
  };
643
751
 
752
+ var messages$2 = defineMessages({
753
+ validatingResources: {
754
+ id: 'UnpublishProductsModal.Uploading.validatingResources',
755
+ defaultMessage: 'Validating {processed} / {total} {resourceType}'
756
+ }
757
+ });
758
+
644
759
  const Uploading = () => {
645
760
  const intl = useIntl();
646
761
  const _useUnpublishProducts = useUnpublishProductsContext(),
@@ -648,12 +763,19 @@ const Uploading = () => {
648
763
  actions = _useUnpublishProducts.actions,
649
764
  onClose = _useUnpublishProducts.onClose;
650
765
  if (!state.droppedFile?.name) return null;
766
+ const showValidationProgress = state.isValidating && state.totalResourceCount && (state.validationProcessed ?? 0) > 0;
767
+ const statusMessage = showValidationProgress ? intl.formatMessage(messages$2.validatingResources, {
768
+ processed: intl.formatNumber(state.validationProcessed ?? 0),
769
+ total: intl.formatNumber(state.totalResourceCount ?? 0),
770
+ resourceType: intl.formatMessage(sharedMessages.products)
771
+ }) : undefined;
651
772
  return jsx(UploadingModal, {
652
773
  isOpen: true,
653
774
  title: intl.formatMessage(sharedMessages.unpublishModalTitle),
654
775
  fileName: state.droppedFile.name,
655
776
  fileSize: state.droppedFile.size,
656
777
  progress: state.progress,
778
+ statusMessage: statusMessage,
657
779
  cancelLabel: intl.formatMessage(sharedMessages.cancel),
658
780
  onCancel: () => {
659
781
  actions.setCurrentStep('upload');
@@ -746,7 +868,7 @@ const UploadErrorsModal = () => {
746
868
  state = _useUnpublishProducts.state,
747
869
  actions = _useUnpublishProducts.actions,
748
870
  onClose = _useUnpublishProducts.onClose;
749
- const errorsCount = state.fileUploadErrors.length;
871
+ const errorsCount = state.fileUploadErrors?.length ?? 0;
750
872
  return jsx(InfoDialog, {
751
873
  size: 16,
752
874
  isOpen: true,
@@ -766,7 +888,7 @@ const UploadErrorsModal = () => {
766
888
  })
767
889
  })
768
890
  }), jsx(UploadErrorTable, {
769
- rows: mapFileUploadErrorsToUploadFileErrorRows(state.fileUploadErrors)
891
+ rows: mapFileUploadErrorsToUploadFileErrorRows(state.fileUploadErrors ?? [])
770
892
  }), jsxs(Spacings.Inline, {
771
893
  scale: "m",
772
894
  justifyContent: "flex-end",
@@ -842,7 +964,7 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
842
964
  styles: "width:360px"
843
965
  } : {
844
966
  name: "g36yzl-ImportRunningTextNotification",
845
- styles: "width:360px;label:ImportRunningTextNotification;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVucHVibGlzaC1wcm9kdWN0cy1jb25maXJtYXRpb24tbW9kYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCWSIsImZpbGUiOiJ1bnB1Ymxpc2gtcHJvZHVjdHMtY29uZmlybWF0aW9uLW1vZGFsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUludGwgfSBmcm9tICdyZWFjdC1pbnRsJ1xuaW1wb3J0IHsgdXNlU2hvd05vdGlmaWNhdGlvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FjdGlvbnMtZ2xvYmFsJ1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tY29tcG9uZW50cydcbmltcG9ydCB7IHVzZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnXG5pbXBvcnQgeyBET01BSU5TIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJ1xuaW1wb3J0IHsgTWFza2luZyBhcyBGdWxsU3RvcnlNYXNraW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvZnVsbHN0b3J5J1xuaW1wb3J0IHsgTGluaywgU3BhY2luZ3MsIFRleHQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC91aS1raXQnXG5pbXBvcnQgeyBwcm9jZXNzVXBsb2FkZWRGaWxlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQtZXh0ZW5zaW9ucy9vcGVyYXRpb25zJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcydcbmltcG9ydCB7IHVzZVVucHVibGlzaFByb2R1Y3RzQ29udGV4dCB9IGZyb20gJy4uLy4uL0Bob29rcydcbmltcG9ydCBzaGFyZWRNZXNzYWdlcyBmcm9tICcuLi8uLi9tZXNzYWdlcydcblxuY29uc3QgZ2V0TmV3TGluZSA9ICgpID0+IDxiciBrZXk9XCJicmVha1wiIC8+XG5jb25zdCBnZXRJbXBvcnRMb2dzTGluayA9IChtc2csIHByb2plY3RLZXkpID0+IChcbiAgPExpbmsgdG89e2AvJHtwcm9qZWN0S2V5fS9vcGVyYXRpb25zL2ltcG9ydC9sb2dzYH0ga2V5PVwibGlua1wiPlxuICAgIHttc2d9XG4gIDwvTGluaz5cbilcblxuY29uc3QgSW1wb3J0UnVubmluZ1RleHROb3RpZmljYXRpb24gPSAocHJvcHM6IHsgcHJvamVjdEtleTogc3RyaW5nIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgd2lkdGg6IDM2MHB4O1xuICAgIGB9XG4gID5cbiAgICA8VGV4dC5Cb2R5XG4gICAgICBpbnRsTWVzc2FnZT17e1xuICAgICAgICAuLi5tZXNzYWdlcy5pbXBvcnRTdGFydGVkLFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICBuZXdsaW5lOiBnZXROZXdMaW5lLFxuICAgICAgICAgIGxvZ3NMaW5rOiAobXNnKSA9PiBnZXRJbXBvcnRMb2dzTGluayhtc2csIHByb3BzLnByb2plY3RLZXkpLFxuICAgICAgICAgIGI6IGdldEJvbGQsXG4gICAgICAgIH0sXG4gICAgICB9fVxuICAgIC8+XG4gIDwvZGl2PlxuKVxuXG5jb25zdCBJbXBvcnRQcmVwYXJpbmdUZXh0Tm90aWZpY2F0aW9uID0gKHByb3BzOiB7IHByb2plY3RLZXk6IHN0cmluZyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIHdpZHRoOiAzNjBweDtcbiAgICBgfVxuICA+XG4gICAgPFRleHQuQm9keVxuICAgICAgaW50bE1lc3NhZ2U9e3tcbiAgICAgICAgLi4ubWVzc2FnZXMucHJlcGFyaW5nSW1wb3J0LFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICBuZXdsaW5lOiBnZXROZXdMaW5lLFxuICAgICAgICAgIGxvZ3NMaW5rOiAobXNnKSA9PiBnZXRJbXBvcnRMb2dzTGluayhtc2csIHByb3BzLnByb2plY3RLZXkpLFxuICAgICAgICAgIGI6IGdldEJvbGQsXG4gICAgICAgIH0sXG4gICAgICB9fVxuICAgIC8+XG4gIDwvZGl2PlxuKVxuXG5leHBvcnQgY29uc3QgVW5wdWJsaXNoUHJvZHVjdHNDb25maXJtYXRpb25Nb2RhbCA9ICgpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKVxuICBjb25zdCB7IHN0YXRlLCBvbkNsb3NlIH0gPSB1c2VVbnB1Ymxpc2hQcm9kdWN0c0NvbnRleHQoKVxuICBjb25zdCB7IHByb2plY3RLZXksIHByb2plY3ROYW1lIH0gPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+ICh7XG4gICAgcHJvamVjdEtleTogY29udGV4dC5wcm9qZWN0Py5rZXksXG4gICAgcHJvamVjdE5hbWU6IGNvbnRleHQucHJvamVjdD8ubmFtZSxcbiAgfSkpXG5cbiAgY29uc3Qgc2hvd05vdGlmaWNhdGlvbiA9IHVzZVNob3dOb3RpZmljYXRpb24oKVxuXG4gIHJldHVybiAoXG4gICAgPENvbmZpcm1hdGlvbkRpYWxvZ1xuICAgICAgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZShzaGFyZWRNZXNzYWdlcy51bnB1Ymxpc2hNb2RhbFRpdGxlKX1cbiAgICAgIGxhYmVsUHJpbWFyeT17aW50bC5mb3JtYXRNZXNzYWdlKHNoYXJlZE1lc3NhZ2VzLnN0YXJ0QnVsa1VucHVibGlzaCl9XG4gICAgICBpc09wZW49e3RydWV9XG4gICAgICBvbkNsb3NlPXsoKSA9PiBvbkNsb3NlKHsgc2hvdWxkRGVsZXRlSW1wb3J0Q29udGFpbmVyOiB0cnVlIH0pfVxuICAgICAgb25DYW5jZWw9eygpID0+IG9uQ2xvc2UoeyBzaG91bGREZWxldGVJbXBvcnRDb250YWluZXI6IHRydWUgfSl9XG4gICAgICBkYXRhQXR0cmlidXRlc1ByaW1hcnlCdXR0b249e3tcbiAgICAgICAgJ2RhdGEtdGVzdC1pZCc6ICdjb25maXJtYXRpb24tZGlhbG9nLWNvbmZpcm0nLFxuICAgICAgfX1cbiAgICAgIGRhdGFBdHRyaWJ1dGVzU2Vjb25kYXJ5QnV0dG9uPXt7XG4gICAgICAgICdkYXRhLXRlc3QtaWQnOiAnY29uZmlybWF0aW9uLWRpYWxvZy1jYW5jZWwnLFxuICAgICAgfX1cbiAgICAgIG9uQ29uZmlybT17YXN5bmMgKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGNhbkNvbmZpcm0gPVxuICAgICAgICAgICAgcHJvamVjdEtleSAmJiBzdGF0ZS5jb250YWluZXJLZXkgJiYgc3RhdGUuZHJvcHBlZEZpbGU/Lm5hbWVcbiAgICAgICAgICBpZiAoIWNhbkNvbmZpcm0pIHJldHVyblxuICAgICAgICAgIG9uQ2xvc2UoKVxuICAgICAgICAgIHNob3dOb3RpZmljYXRpb24oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6ICdpbmZvJyxcbiAgICAgICAgICAgICAgZG9tYWluOiBET01BSU5TLlNJREUsXG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgdGV4dDogPEltcG9ydFByZXBhcmluZ1RleHROb3RpZmljYXRpb24gcHJvamVjdEtleT17cHJvamVjdEtleX0gLz4sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBkaXNtaXNzQWZ0ZXI6IDUwMDAsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgICAgIGF3YWl0IHByb2Nlc3NVcGxvYWRlZEZpbGUoe1xuICAgICAgICAgICAgcHJvamVjdEtleSxcbiAgICAgICAgICAgIHJlc291cmNlVHlwZTogJ3Byb2R1Y3QnLFxuICAgICAgICAgICAgaW1wb3J0Q29udGFpbmVyS2V5OiBzdGF0ZS5jb250YWluZXJLZXkhLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgc2hvd05vdGlmaWNhdGlvbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAga2luZDogJ2luZm8nLFxuICAgICAgICAgICAgICBkb21haW46IERPTUFJTlMuU0lERSxcbiAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICB0ZXh0OiA8SW1wb3J0UnVubmluZ1RleHROb3RpZmljYXRpb24gcHJvamVjdEtleT17cHJvamVjdEtleX0gLz4sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBkaXNtaXNzQWZ0ZXI6IDUwMDAsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIG9uQ2xvc2UoeyBzaG91bGREZWxldGVJbXBvcnRDb250YWluZXI6IHRydWUgfSlcbiAgICAgICAgICBzaG93Tm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgIGtpbmQ6ICdlcnJvcicsXG4gICAgICAgICAgICBkb21haW46IERPTUFJTlMuUEFHRSxcbiAgICAgICAgICAgIHRleHQ6IFN0cmluZyhlcnJvciksXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfX1cbiAgICAgIHNpemU9ezE2fVxuICAgID5cbiAgICAgIDxGdWxsU3RvcnlNYXNraW5nLlVubWFzaz5cbiAgICAgICAgPFNwYWNpbmdzLlN0YWNrIHNjYWxlPVwieGxcIj5cbiAgICAgICAgICA8VGV4dC5Cb2R5XG4gICAgICAgICAgICBpbnRsTWVzc2FnZT17e1xuICAgICAgICAgICAgICAuLi5tZXNzYWdlcy5jb25maXJtYXRpb25UZXh0LFxuICAgICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgICBwcm9qZWN0TmFtZTogcHJvamVjdE5hbWUsXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogUmVwbGFjZSB3aXRoIGFjdHVhbCBjb3VudFxuICAgICAgICAgICAgICAgIGNvdW50OiBpbnRsLmZvcm1hdE51bWJlcihzdGF0ZS51cGxvYWRGaWxlUmVzcG9uc2U/LnJvd3NDb3VudCksXG4gICAgICAgICAgICAgICAgYjogZ2V0Qm9sZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8VGV4dC5Cb2R5IGludGxNZXNzYWdlPXttZXNzYWdlcy5jb25maXJtYXRpb25RdWVzdGlvbn0gLz5cbiAgICAgICAgPC9TcGFjaW5ncy5TdGFjaz5cbiAgICAgIDwvRnVsbFN0b3J5TWFza2luZy5Vbm1hc2s+XG4gICAgPC9Db25maXJtYXRpb25EaWFsb2c+XG4gIClcbn1cblxuZnVuY3Rpb24gZ2V0Qm9sZChtc2cpIHtcbiAgcmV0dXJuIChcbiAgICA8VGV4dC5Cb2R5IGFzPVwic3BhblwiIGlzQm9sZCBrZXk9e2NyeXB0by5yYW5kb21VVUlEKCl9PlxuICAgICAge21zZ31cbiAgICA8L1RleHQuQm9keT5cbiAgKVxufVxuIl19 */",
967
+ styles: "width:360px;label:ImportRunningTextNotification;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVucHVibGlzaC1wcm9kdWN0cy1jb25maXJtYXRpb24tbW9kYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCWSIsImZpbGUiOiJ1bnB1Ymxpc2gtcHJvZHVjdHMtY29uZmlybWF0aW9uLW1vZGFsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUludGwgfSBmcm9tICdyZWFjdC1pbnRsJ1xuaW1wb3J0IHsgdXNlU2hvd05vdGlmaWNhdGlvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FjdGlvbnMtZ2xvYmFsJ1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tY29tcG9uZW50cydcbmltcG9ydCB7IHVzZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnXG5pbXBvcnQgeyBET01BSU5TIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJ1xuaW1wb3J0IHsgTWFza2luZyBhcyBGdWxsU3RvcnlNYXNraW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvZnVsbHN0b3J5J1xuaW1wb3J0IHsgTGluaywgU3BhY2luZ3MsIFRleHQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC91aS1raXQnXG5pbXBvcnQge1xuICBwcm9jZXNzVXBsb2FkZWRGaWxlLFxuICBwcm9jZXNzRmlsZUltcG9ydEpvYixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQtZXh0ZW5zaW9ucy9vcGVyYXRpb25zJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcydcbmltcG9ydCB7IHVzZVVucHVibGlzaFByb2R1Y3RzQ29udGV4dCB9IGZyb20gJy4uLy4uL0Bob29rcydcbmltcG9ydCBzaGFyZWRNZXNzYWdlcyBmcm9tICcuLi8uLi9tZXNzYWdlcydcblxuY29uc3QgZ2V0TmV3TGluZSA9ICgpID0+IDxiciBrZXk9XCJicmVha1wiIC8+XG5jb25zdCBnZXRJbXBvcnRMb2dzTGluayA9IChtc2csIHByb2plY3RLZXkpID0+IChcbiAgPExpbmsgdG89e2AvJHtwcm9qZWN0S2V5fS9vcGVyYXRpb25zL2ltcG9ydC9sb2dzYH0ga2V5PVwibGlua1wiPlxuICAgIHttc2d9XG4gIDwvTGluaz5cbilcblxuY29uc3QgSW1wb3J0UnVubmluZ1RleHROb3RpZmljYXRpb24gPSAocHJvcHM6IHsgcHJvamVjdEtleTogc3RyaW5nIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgd2lkdGg6IDM2MHB4O1xuICAgIGB9XG4gID5cbiAgICA8VGV4dC5Cb2R5XG4gICAgICBpbnRsTWVzc2FnZT17e1xuICAgICAgICAuLi5tZXNzYWdlcy5pbXBvcnRTdGFydGVkLFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICBuZXdsaW5lOiBnZXROZXdMaW5lLFxuICAgICAgICAgIGxvZ3NMaW5rOiAobXNnKSA9PiBnZXRJbXBvcnRMb2dzTGluayhtc2csIHByb3BzLnByb2plY3RLZXkpLFxuICAgICAgICAgIGI6IGdldEJvbGQsXG4gICAgICAgIH0sXG4gICAgICB9fVxuICAgIC8+XG4gIDwvZGl2PlxuKVxuXG5jb25zdCBJbXBvcnRQcmVwYXJpbmdUZXh0Tm90aWZpY2F0aW9uID0gKHByb3BzOiB7IHByb2plY3RLZXk6IHN0cmluZyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIHdpZHRoOiAzNjBweDtcbiAgICBgfVxuICA+XG4gICAgPFRleHQuQm9keVxuICAgICAgaW50bE1lc3NhZ2U9e3tcbiAgICAgICAgLi4ubWVzc2FnZXMucHJlcGFyaW5nSW1wb3J0LFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICBuZXdsaW5lOiBnZXROZXdMaW5lLFxuICAgICAgICAgIGxvZ3NMaW5rOiAobXNnKSA9PiBnZXRJbXBvcnRMb2dzTGluayhtc2csIHByb3BzLnByb2plY3RLZXkpLFxuICAgICAgICAgIGI6IGdldEJvbGQsXG4gICAgICAgIH0sXG4gICAgICB9fVxuICAgIC8+XG4gIDwvZGl2PlxuKVxuXG5leHBvcnQgY29uc3QgVW5wdWJsaXNoUHJvZHVjdHNDb25maXJtYXRpb25Nb2RhbCA9ICgpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKVxuICBjb25zdCB7IHN0YXRlLCBvbkNsb3NlIH0gPSB1c2VVbnB1Ymxpc2hQcm9kdWN0c0NvbnRleHQoKVxuICBjb25zdCB7IHByb2plY3RLZXksIHByb2plY3ROYW1lIH0gPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+ICh7XG4gICAgcHJvamVjdEtleTogY29udGV4dC5wcm9qZWN0Py5rZXksXG4gICAgcHJvamVjdE5hbWU6IGNvbnRleHQucHJvamVjdD8ubmFtZSxcbiAgfSkpXG5cbiAgY29uc3Qgc2hvd05vdGlmaWNhdGlvbiA9IHVzZVNob3dOb3RpZmljYXRpb24oKVxuXG4gIHJldHVybiAoXG4gICAgPENvbmZpcm1hdGlvbkRpYWxvZ1xuICAgICAgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZShzaGFyZWRNZXNzYWdlcy51bnB1Ymxpc2hNb2RhbFRpdGxlKX1cbiAgICAgIGxhYmVsUHJpbWFyeT17aW50bC5mb3JtYXRNZXNzYWdlKHNoYXJlZE1lc3NhZ2VzLnN0YXJ0QnVsa1VucHVibGlzaCl9XG4gICAgICBpc09wZW49e3RydWV9XG4gICAgICBvbkNsb3NlPXsoKSA9PiBvbkNsb3NlKHsgc2hvdWxkRGVsZXRlSW1wb3J0Q29udGFpbmVyOiB0cnVlIH0pfVxuICAgICAgb25DYW5jZWw9eygpID0+IG9uQ2xvc2UoeyBzaG91bGREZWxldGVJbXBvcnRDb250YWluZXI6IHRydWUgfSl9XG4gICAgICBkYXRhQXR0cmlidXRlc1ByaW1hcnlCdXR0b249e3tcbiAgICAgICAgJ2RhdGEtdGVzdC1pZCc6ICdjb25maXJtYXRpb24tZGlhbG9nLWNvbmZpcm0nLFxuICAgICAgfX1cbiAgICAgIGRhdGFBdHRyaWJ1dGVzU2Vjb25kYXJ5QnV0dG9uPXt7XG4gICAgICAgICdkYXRhLXRlc3QtaWQnOiAnY29uZmlybWF0aW9uLWRpYWxvZy1jYW5jZWwnLFxuICAgICAgfX1cbiAgICAgIG9uQ29uZmlybT17YXN5bmMgKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGNhbkNvbmZpcm0gPVxuICAgICAgICAgICAgcHJvamVjdEtleSAmJiBzdGF0ZS5jb250YWluZXJLZXkgJiYgc3RhdGUuZHJvcHBlZEZpbGU/Lm5hbWVcbiAgICAgICAgICBpZiAoIWNhbkNvbmZpcm0pIHJldHVyblxuICAgICAgICAgIG9uQ2xvc2UoKVxuICAgICAgICAgIHNob3dOb3RpZmljYXRpb24oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6ICdpbmZvJyxcbiAgICAgICAgICAgICAgZG9tYWluOiBET01BSU5TLlNJREUsXG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgdGV4dDogPEltcG9ydFByZXBhcmluZ1RleHROb3RpZmljYXRpb24gcHJvamVjdEtleT17cHJvamVjdEtleX0gLz4sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBkaXNtaXNzQWZ0ZXI6IDUwMDAsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgICAgIGlmIChzdGF0ZS5qb2JJZCkge1xuICAgICAgICAgICAgYXdhaXQgcHJvY2Vzc0ZpbGVJbXBvcnRKb2Ioe1xuICAgICAgICAgICAgICBwcm9qZWN0S2V5LFxuICAgICAgICAgICAgICBpbXBvcnRDb250YWluZXJLZXk6IHN0YXRlLmNvbnRhaW5lcktleSEsXG4gICAgICAgICAgICAgIGpvYklkOiBzdGF0ZS5qb2JJZCxcbiAgICAgICAgICAgICAgcmVzb3VyY2VUeXBlOiAncHJvZHVjdCcsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhd2FpdCBwcm9jZXNzVXBsb2FkZWRGaWxlKHtcbiAgICAgICAgICAgICAgcHJvamVjdEtleSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VUeXBlOiAncHJvZHVjdCcsXG4gICAgICAgICAgICAgIGltcG9ydENvbnRhaW5lcktleTogc3RhdGUuY29udGFpbmVyS2V5ISxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICAgIHNob3dOb3RpZmljYXRpb24oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6ICdpbmZvJyxcbiAgICAgICAgICAgICAgZG9tYWluOiBET01BSU5TLlNJREUsXG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgdGV4dDogPEltcG9ydFJ1bm5pbmdUZXh0Tm90aWZpY2F0aW9uIHByb2plY3RLZXk9e3Byb2plY3RLZXl9IC8+LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZGlzbWlzc0FmdGVyOiA1MDAwLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIClcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBvbkNsb3NlKHsgc2hvdWxkRGVsZXRlSW1wb3J0Q29udGFpbmVyOiB0cnVlIH0pXG4gICAgICAgICAgc2hvd05vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICBraW5kOiAnZXJyb3InLFxuICAgICAgICAgICAgZG9tYWluOiBET01BSU5TLlBBR0UsXG4gICAgICAgICAgICB0ZXh0OiBTdHJpbmcoZXJyb3IpLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH19XG4gICAgICBzaXplPXsxNn1cbiAgICA+XG4gICAgICA8RnVsbFN0b3J5TWFza2luZy5Vbm1hc2s+XG4gICAgICAgIDxTcGFjaW5ncy5TdGFjayBzY2FsZT1cInhsXCI+XG4gICAgICAgICAgPFRleHQuQm9keVxuICAgICAgICAgICAgaW50bE1lc3NhZ2U9e3tcbiAgICAgICAgICAgICAgLi4ubWVzc2FnZXMuY29uZmlybWF0aW9uVGV4dCxcbiAgICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgcHJvamVjdE5hbWU6IHByb2plY3ROYW1lLFxuICAgICAgICAgICAgICAgIC8vIFRPRE86IFJlcGxhY2Ugd2l0aCBhY3R1YWwgY291bnRcbiAgICAgICAgICAgICAgICBjb3VudDogaW50bC5mb3JtYXROdW1iZXIoXG4gICAgICAgICAgICAgICAgICBzdGF0ZS51cGxvYWRGaWxlUmVzcG9uc2U/LnJvd3NDb3VudCA/PyAwXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBiOiBnZXRCb2xkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxUZXh0LkJvZHkgaW50bE1lc3NhZ2U9e21lc3NhZ2VzLmNvbmZpcm1hdGlvblF1ZXN0aW9ufSAvPlxuICAgICAgICA8L1NwYWNpbmdzLlN0YWNrPlxuICAgICAgPC9GdWxsU3RvcnlNYXNraW5nLlVubWFzaz5cbiAgICA8L0NvbmZpcm1hdGlvbkRpYWxvZz5cbiAgKVxufVxuXG5mdW5jdGlvbiBnZXRCb2xkKG1zZykge1xuICByZXR1cm4gKFxuICAgIDxUZXh0LkJvZHkgYXM9XCJzcGFuXCIgaXNCb2xkIGtleT17Y3J5cHRvLnJhbmRvbVVVSUQoKX0+XG4gICAgICB7bXNnfVxuICAgIDwvVGV4dC5Cb2R5PlxuICApXG59XG4iXX0= */",
846
968
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
847
969
  };
848
970
  const ImportRunningTextNotification = props => jsx("div", {
@@ -862,7 +984,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
862
984
  styles: "width:360px"
863
985
  } : {
864
986
  name: "mjwslu-ImportPreparingTextNotification",
865
- styles: "width:360px;label:ImportPreparingTextNotification;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVucHVibGlzaC1wcm9kdWN0cy1jb25maXJtYXRpb24tbW9kYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlDWSIsImZpbGUiOiJ1bnB1Ymxpc2gtcHJvZHVjdHMtY29uZmlybWF0aW9uLW1vZGFsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUludGwgfSBmcm9tICdyZWFjdC1pbnRsJ1xuaW1wb3J0IHsgdXNlU2hvd05vdGlmaWNhdGlvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FjdGlvbnMtZ2xvYmFsJ1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tY29tcG9uZW50cydcbmltcG9ydCB7IHVzZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnXG5pbXBvcnQgeyBET01BSU5TIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJ1xuaW1wb3J0IHsgTWFza2luZyBhcyBGdWxsU3RvcnlNYXNraW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvZnVsbHN0b3J5J1xuaW1wb3J0IHsgTGluaywgU3BhY2luZ3MsIFRleHQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC91aS1raXQnXG5pbXBvcnQgeyBwcm9jZXNzVXBsb2FkZWRGaWxlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQtZXh0ZW5zaW9ucy9vcGVyYXRpb25zJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcydcbmltcG9ydCB7IHVzZVVucHVibGlzaFByb2R1Y3RzQ29udGV4dCB9IGZyb20gJy4uLy4uL0Bob29rcydcbmltcG9ydCBzaGFyZWRNZXNzYWdlcyBmcm9tICcuLi8uLi9tZXNzYWdlcydcblxuY29uc3QgZ2V0TmV3TGluZSA9ICgpID0+IDxiciBrZXk9XCJicmVha1wiIC8+XG5jb25zdCBnZXRJbXBvcnRMb2dzTGluayA9IChtc2csIHByb2plY3RLZXkpID0+IChcbiAgPExpbmsgdG89e2AvJHtwcm9qZWN0S2V5fS9vcGVyYXRpb25zL2ltcG9ydC9sb2dzYH0ga2V5PVwibGlua1wiPlxuICAgIHttc2d9XG4gIDwvTGluaz5cbilcblxuY29uc3QgSW1wb3J0UnVubmluZ1RleHROb3RpZmljYXRpb24gPSAocHJvcHM6IHsgcHJvamVjdEtleTogc3RyaW5nIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgd2lkdGg6IDM2MHB4O1xuICAgIGB9XG4gID5cbiAgICA8VGV4dC5Cb2R5XG4gICAgICBpbnRsTWVzc2FnZT17e1xuICAgICAgICAuLi5tZXNzYWdlcy5pbXBvcnRTdGFydGVkLFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICBuZXdsaW5lOiBnZXROZXdMaW5lLFxuICAgICAgICAgIGxvZ3NMaW5rOiAobXNnKSA9PiBnZXRJbXBvcnRMb2dzTGluayhtc2csIHByb3BzLnByb2plY3RLZXkpLFxuICAgICAgICAgIGI6IGdldEJvbGQsXG4gICAgICAgIH0sXG4gICAgICB9fVxuICAgIC8+XG4gIDwvZGl2PlxuKVxuXG5jb25zdCBJbXBvcnRQcmVwYXJpbmdUZXh0Tm90aWZpY2F0aW9uID0gKHByb3BzOiB7IHByb2plY3RLZXk6IHN0cmluZyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIHdpZHRoOiAzNjBweDtcbiAgICBgfVxuICA+XG4gICAgPFRleHQuQm9keVxuICAgICAgaW50bE1lc3NhZ2U9e3tcbiAgICAgICAgLi4ubWVzc2FnZXMucHJlcGFyaW5nSW1wb3J0LFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICBuZXdsaW5lOiBnZXROZXdMaW5lLFxuICAgICAgICAgIGxvZ3NMaW5rOiAobXNnKSA9PiBnZXRJbXBvcnRMb2dzTGluayhtc2csIHByb3BzLnByb2plY3RLZXkpLFxuICAgICAgICAgIGI6IGdldEJvbGQsXG4gICAgICAgIH0sXG4gICAgICB9fVxuICAgIC8+XG4gIDwvZGl2PlxuKVxuXG5leHBvcnQgY29uc3QgVW5wdWJsaXNoUHJvZHVjdHNDb25maXJtYXRpb25Nb2RhbCA9ICgpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKVxuICBjb25zdCB7IHN0YXRlLCBvbkNsb3NlIH0gPSB1c2VVbnB1Ymxpc2hQcm9kdWN0c0NvbnRleHQoKVxuICBjb25zdCB7IHByb2plY3RLZXksIHByb2plY3ROYW1lIH0gPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+ICh7XG4gICAgcHJvamVjdEtleTogY29udGV4dC5wcm9qZWN0Py5rZXksXG4gICAgcHJvamVjdE5hbWU6IGNvbnRleHQucHJvamVjdD8ubmFtZSxcbiAgfSkpXG5cbiAgY29uc3Qgc2hvd05vdGlmaWNhdGlvbiA9IHVzZVNob3dOb3RpZmljYXRpb24oKVxuXG4gIHJldHVybiAoXG4gICAgPENvbmZpcm1hdGlvbkRpYWxvZ1xuICAgICAgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZShzaGFyZWRNZXNzYWdlcy51bnB1Ymxpc2hNb2RhbFRpdGxlKX1cbiAgICAgIGxhYmVsUHJpbWFyeT17aW50bC5mb3JtYXRNZXNzYWdlKHNoYXJlZE1lc3NhZ2VzLnN0YXJ0QnVsa1VucHVibGlzaCl9XG4gICAgICBpc09wZW49e3RydWV9XG4gICAgICBvbkNsb3NlPXsoKSA9PiBvbkNsb3NlKHsgc2hvdWxkRGVsZXRlSW1wb3J0Q29udGFpbmVyOiB0cnVlIH0pfVxuICAgICAgb25DYW5jZWw9eygpID0+IG9uQ2xvc2UoeyBzaG91bGREZWxldGVJbXBvcnRDb250YWluZXI6IHRydWUgfSl9XG4gICAgICBkYXRhQXR0cmlidXRlc1ByaW1hcnlCdXR0b249e3tcbiAgICAgICAgJ2RhdGEtdGVzdC1pZCc6ICdjb25maXJtYXRpb24tZGlhbG9nLWNvbmZpcm0nLFxuICAgICAgfX1cbiAgICAgIGRhdGFBdHRyaWJ1dGVzU2Vjb25kYXJ5QnV0dG9uPXt7XG4gICAgICAgICdkYXRhLXRlc3QtaWQnOiAnY29uZmlybWF0aW9uLWRpYWxvZy1jYW5jZWwnLFxuICAgICAgfX1cbiAgICAgIG9uQ29uZmlybT17YXN5bmMgKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGNhbkNvbmZpcm0gPVxuICAgICAgICAgICAgcHJvamVjdEtleSAmJiBzdGF0ZS5jb250YWluZXJLZXkgJiYgc3RhdGUuZHJvcHBlZEZpbGU/Lm5hbWVcbiAgICAgICAgICBpZiAoIWNhbkNvbmZpcm0pIHJldHVyblxuICAgICAgICAgIG9uQ2xvc2UoKVxuICAgICAgICAgIHNob3dOb3RpZmljYXRpb24oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6ICdpbmZvJyxcbiAgICAgICAgICAgICAgZG9tYWluOiBET01BSU5TLlNJREUsXG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgdGV4dDogPEltcG9ydFByZXBhcmluZ1RleHROb3RpZmljYXRpb24gcHJvamVjdEtleT17cHJvamVjdEtleX0gLz4sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBkaXNtaXNzQWZ0ZXI6IDUwMDAsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgICAgIGF3YWl0IHByb2Nlc3NVcGxvYWRlZEZpbGUoe1xuICAgICAgICAgICAgcHJvamVjdEtleSxcbiAgICAgICAgICAgIHJlc291cmNlVHlwZTogJ3Byb2R1Y3QnLFxuICAgICAgICAgICAgaW1wb3J0Q29udGFpbmVyS2V5OiBzdGF0ZS5jb250YWluZXJLZXkhLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgc2hvd05vdGlmaWNhdGlvbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAga2luZDogJ2luZm8nLFxuICAgICAgICAgICAgICBkb21haW46IERPTUFJTlMuU0lERSxcbiAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICB0ZXh0OiA8SW1wb3J0UnVubmluZ1RleHROb3RpZmljYXRpb24gcHJvamVjdEtleT17cHJvamVjdEtleX0gLz4sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBkaXNtaXNzQWZ0ZXI6IDUwMDAsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIG9uQ2xvc2UoeyBzaG91bGREZWxldGVJbXBvcnRDb250YWluZXI6IHRydWUgfSlcbiAgICAgICAgICBzaG93Tm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgIGtpbmQ6ICdlcnJvcicsXG4gICAgICAgICAgICBkb21haW46IERPTUFJTlMuUEFHRSxcbiAgICAgICAgICAgIHRleHQ6IFN0cmluZyhlcnJvciksXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfX1cbiAgICAgIHNpemU9ezE2fVxuICAgID5cbiAgICAgIDxGdWxsU3RvcnlNYXNraW5nLlVubWFzaz5cbiAgICAgICAgPFNwYWNpbmdzLlN0YWNrIHNjYWxlPVwieGxcIj5cbiAgICAgICAgICA8VGV4dC5Cb2R5XG4gICAgICAgICAgICBpbnRsTWVzc2FnZT17e1xuICAgICAgICAgICAgICAuLi5tZXNzYWdlcy5jb25maXJtYXRpb25UZXh0LFxuICAgICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgICBwcm9qZWN0TmFtZTogcHJvamVjdE5hbWUsXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogUmVwbGFjZSB3aXRoIGFjdHVhbCBjb3VudFxuICAgICAgICAgICAgICAgIGNvdW50OiBpbnRsLmZvcm1hdE51bWJlcihzdGF0ZS51cGxvYWRGaWxlUmVzcG9uc2U/LnJvd3NDb3VudCksXG4gICAgICAgICAgICAgICAgYjogZ2V0Qm9sZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8VGV4dC5Cb2R5IGludGxNZXNzYWdlPXttZXNzYWdlcy5jb25maXJtYXRpb25RdWVzdGlvbn0gLz5cbiAgICAgICAgPC9TcGFjaW5ncy5TdGFjaz5cbiAgICAgIDwvRnVsbFN0b3J5TWFza2luZy5Vbm1hc2s+XG4gICAgPC9Db25maXJtYXRpb25EaWFsb2c+XG4gIClcbn1cblxuZnVuY3Rpb24gZ2V0Qm9sZChtc2cpIHtcbiAgcmV0dXJuIChcbiAgICA8VGV4dC5Cb2R5IGFzPVwic3BhblwiIGlzQm9sZCBrZXk9e2NyeXB0by5yYW5kb21VVUlEKCl9PlxuICAgICAge21zZ31cbiAgICA8L1RleHQuQm9keT5cbiAgKVxufVxuIl19 */",
987
+ styles: "width:360px;label:ImportPreparingTextNotification;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVucHVibGlzaC1wcm9kdWN0cy1jb25maXJtYXRpb24tbW9kYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRDWSIsImZpbGUiOiJ1bnB1Ymxpc2gtcHJvZHVjdHMtY29uZmlybWF0aW9uLW1vZGFsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUludGwgfSBmcm9tICdyZWFjdC1pbnRsJ1xuaW1wb3J0IHsgdXNlU2hvd05vdGlmaWNhdGlvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FjdGlvbnMtZ2xvYmFsJ1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tY29tcG9uZW50cydcbmltcG9ydCB7IHVzZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnXG5pbXBvcnQgeyBET01BSU5TIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJ1xuaW1wb3J0IHsgTWFza2luZyBhcyBGdWxsU3RvcnlNYXNraW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvZnVsbHN0b3J5J1xuaW1wb3J0IHsgTGluaywgU3BhY2luZ3MsIFRleHQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC91aS1raXQnXG5pbXBvcnQge1xuICBwcm9jZXNzVXBsb2FkZWRGaWxlLFxuICBwcm9jZXNzRmlsZUltcG9ydEpvYixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQtZXh0ZW5zaW9ucy9vcGVyYXRpb25zJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcydcbmltcG9ydCB7IHVzZVVucHVibGlzaFByb2R1Y3RzQ29udGV4dCB9IGZyb20gJy4uLy4uL0Bob29rcydcbmltcG9ydCBzaGFyZWRNZXNzYWdlcyBmcm9tICcuLi8uLi9tZXNzYWdlcydcblxuY29uc3QgZ2V0TmV3TGluZSA9ICgpID0+IDxiciBrZXk9XCJicmVha1wiIC8+XG5jb25zdCBnZXRJbXBvcnRMb2dzTGluayA9IChtc2csIHByb2plY3RLZXkpID0+IChcbiAgPExpbmsgdG89e2AvJHtwcm9qZWN0S2V5fS9vcGVyYXRpb25zL2ltcG9ydC9sb2dzYH0ga2V5PVwibGlua1wiPlxuICAgIHttc2d9XG4gIDwvTGluaz5cbilcblxuY29uc3QgSW1wb3J0UnVubmluZ1RleHROb3RpZmljYXRpb24gPSAocHJvcHM6IHsgcHJvamVjdEtleTogc3RyaW5nIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgd2lkdGg6IDM2MHB4O1xuICAgIGB9XG4gID5cbiAgICA8VGV4dC5Cb2R5XG4gICAgICBpbnRsTWVzc2FnZT17e1xuICAgICAgICAuLi5tZXNzYWdlcy5pbXBvcnRTdGFydGVkLFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICBuZXdsaW5lOiBnZXROZXdMaW5lLFxuICAgICAgICAgIGxvZ3NMaW5rOiAobXNnKSA9PiBnZXRJbXBvcnRMb2dzTGluayhtc2csIHByb3BzLnByb2plY3RLZXkpLFxuICAgICAgICAgIGI6IGdldEJvbGQsXG4gICAgICAgIH0sXG4gICAgICB9fVxuICAgIC8+XG4gIDwvZGl2PlxuKVxuXG5jb25zdCBJbXBvcnRQcmVwYXJpbmdUZXh0Tm90aWZpY2F0aW9uID0gKHByb3BzOiB7IHByb2plY3RLZXk6IHN0cmluZyB9KSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e2Nzc2BcbiAgICAgIHdpZHRoOiAzNjBweDtcbiAgICBgfVxuICA+XG4gICAgPFRleHQuQm9keVxuICAgICAgaW50bE1lc3NhZ2U9e3tcbiAgICAgICAgLi4ubWVzc2FnZXMucHJlcGFyaW5nSW1wb3J0LFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICBuZXdsaW5lOiBnZXROZXdMaW5lLFxuICAgICAgICAgIGxvZ3NMaW5rOiAobXNnKSA9PiBnZXRJbXBvcnRMb2dzTGluayhtc2csIHByb3BzLnByb2plY3RLZXkpLFxuICAgICAgICAgIGI6IGdldEJvbGQsXG4gICAgICAgIH0sXG4gICAgICB9fVxuICAgIC8+XG4gIDwvZGl2PlxuKVxuXG5leHBvcnQgY29uc3QgVW5wdWJsaXNoUHJvZHVjdHNDb25maXJtYXRpb25Nb2RhbCA9ICgpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKVxuICBjb25zdCB7IHN0YXRlLCBvbkNsb3NlIH0gPSB1c2VVbnB1Ymxpc2hQcm9kdWN0c0NvbnRleHQoKVxuICBjb25zdCB7IHByb2plY3RLZXksIHByb2plY3ROYW1lIH0gPSB1c2VBcHBsaWNhdGlvbkNvbnRleHQoKGNvbnRleHQpID0+ICh7XG4gICAgcHJvamVjdEtleTogY29udGV4dC5wcm9qZWN0Py5rZXksXG4gICAgcHJvamVjdE5hbWU6IGNvbnRleHQucHJvamVjdD8ubmFtZSxcbiAgfSkpXG5cbiAgY29uc3Qgc2hvd05vdGlmaWNhdGlvbiA9IHVzZVNob3dOb3RpZmljYXRpb24oKVxuXG4gIHJldHVybiAoXG4gICAgPENvbmZpcm1hdGlvbkRpYWxvZ1xuICAgICAgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZShzaGFyZWRNZXNzYWdlcy51bnB1Ymxpc2hNb2RhbFRpdGxlKX1cbiAgICAgIGxhYmVsUHJpbWFyeT17aW50bC5mb3JtYXRNZXNzYWdlKHNoYXJlZE1lc3NhZ2VzLnN0YXJ0QnVsa1VucHVibGlzaCl9XG4gICAgICBpc09wZW49e3RydWV9XG4gICAgICBvbkNsb3NlPXsoKSA9PiBvbkNsb3NlKHsgc2hvdWxkRGVsZXRlSW1wb3J0Q29udGFpbmVyOiB0cnVlIH0pfVxuICAgICAgb25DYW5jZWw9eygpID0+IG9uQ2xvc2UoeyBzaG91bGREZWxldGVJbXBvcnRDb250YWluZXI6IHRydWUgfSl9XG4gICAgICBkYXRhQXR0cmlidXRlc1ByaW1hcnlCdXR0b249e3tcbiAgICAgICAgJ2RhdGEtdGVzdC1pZCc6ICdjb25maXJtYXRpb24tZGlhbG9nLWNvbmZpcm0nLFxuICAgICAgfX1cbiAgICAgIGRhdGFBdHRyaWJ1dGVzU2Vjb25kYXJ5QnV0dG9uPXt7XG4gICAgICAgICdkYXRhLXRlc3QtaWQnOiAnY29uZmlybWF0aW9uLWRpYWxvZy1jYW5jZWwnLFxuICAgICAgfX1cbiAgICAgIG9uQ29uZmlybT17YXN5bmMgKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGNhbkNvbmZpcm0gPVxuICAgICAgICAgICAgcHJvamVjdEtleSAmJiBzdGF0ZS5jb250YWluZXJLZXkgJiYgc3RhdGUuZHJvcHBlZEZpbGU/Lm5hbWVcbiAgICAgICAgICBpZiAoIWNhbkNvbmZpcm0pIHJldHVyblxuICAgICAgICAgIG9uQ2xvc2UoKVxuICAgICAgICAgIHNob3dOb3RpZmljYXRpb24oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6ICdpbmZvJyxcbiAgICAgICAgICAgICAgZG9tYWluOiBET01BSU5TLlNJREUsXG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgdGV4dDogPEltcG9ydFByZXBhcmluZ1RleHROb3RpZmljYXRpb24gcHJvamVjdEtleT17cHJvamVjdEtleX0gLz4sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBkaXNtaXNzQWZ0ZXI6IDUwMDAsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgICAgIGlmIChzdGF0ZS5qb2JJZCkge1xuICAgICAgICAgICAgYXdhaXQgcHJvY2Vzc0ZpbGVJbXBvcnRKb2Ioe1xuICAgICAgICAgICAgICBwcm9qZWN0S2V5LFxuICAgICAgICAgICAgICBpbXBvcnRDb250YWluZXJLZXk6IHN0YXRlLmNvbnRhaW5lcktleSEsXG4gICAgICAgICAgICAgIGpvYklkOiBzdGF0ZS5qb2JJZCxcbiAgICAgICAgICAgICAgcmVzb3VyY2VUeXBlOiAncHJvZHVjdCcsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhd2FpdCBwcm9jZXNzVXBsb2FkZWRGaWxlKHtcbiAgICAgICAgICAgICAgcHJvamVjdEtleSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VUeXBlOiAncHJvZHVjdCcsXG4gICAgICAgICAgICAgIGltcG9ydENvbnRhaW5lcktleTogc3RhdGUuY29udGFpbmVyS2V5ISxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICAgIHNob3dOb3RpZmljYXRpb24oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6ICdpbmZvJyxcbiAgICAgICAgICAgICAgZG9tYWluOiBET01BSU5TLlNJREUsXG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgdGV4dDogPEltcG9ydFJ1bm5pbmdUZXh0Tm90aWZpY2F0aW9uIHByb2plY3RLZXk9e3Byb2plY3RLZXl9IC8+LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZGlzbWlzc0FmdGVyOiA1MDAwLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIClcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBvbkNsb3NlKHsgc2hvdWxkRGVsZXRlSW1wb3J0Q29udGFpbmVyOiB0cnVlIH0pXG4gICAgICAgICAgc2hvd05vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICBraW5kOiAnZXJyb3InLFxuICAgICAgICAgICAgZG9tYWluOiBET01BSU5TLlBBR0UsXG4gICAgICAgICAgICB0ZXh0OiBTdHJpbmcoZXJyb3IpLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH19XG4gICAgICBzaXplPXsxNn1cbiAgICA+XG4gICAgICA8RnVsbFN0b3J5TWFza2luZy5Vbm1hc2s+XG4gICAgICAgIDxTcGFjaW5ncy5TdGFjayBzY2FsZT1cInhsXCI+XG4gICAgICAgICAgPFRleHQuQm9keVxuICAgICAgICAgICAgaW50bE1lc3NhZ2U9e3tcbiAgICAgICAgICAgICAgLi4ubWVzc2FnZXMuY29uZmlybWF0aW9uVGV4dCxcbiAgICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgcHJvamVjdE5hbWU6IHByb2plY3ROYW1lLFxuICAgICAgICAgICAgICAgIC8vIFRPRE86IFJlcGxhY2Ugd2l0aCBhY3R1YWwgY291bnRcbiAgICAgICAgICAgICAgICBjb3VudDogaW50bC5mb3JtYXROdW1iZXIoXG4gICAgICAgICAgICAgICAgICBzdGF0ZS51cGxvYWRGaWxlUmVzcG9uc2U/LnJvd3NDb3VudCA/PyAwXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBiOiBnZXRCb2xkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxUZXh0LkJvZHkgaW50bE1lc3NhZ2U9e21lc3NhZ2VzLmNvbmZpcm1hdGlvblF1ZXN0aW9ufSAvPlxuICAgICAgICA8L1NwYWNpbmdzLlN0YWNrPlxuICAgICAgPC9GdWxsU3RvcnlNYXNraW5nLlVubWFzaz5cbiAgICA8L0NvbmZpcm1hdGlvbkRpYWxvZz5cbiAgKVxufVxuXG5mdW5jdGlvbiBnZXRCb2xkKG1zZykge1xuICByZXR1cm4gKFxuICAgIDxUZXh0LkJvZHkgYXM9XCJzcGFuXCIgaXNCb2xkIGtleT17Y3J5cHRvLnJhbmRvbVVVSUQoKX0+XG4gICAgICB7bXNnfVxuICAgIDwvVGV4dC5Cb2R5PlxuICApXG59XG4iXX0= */",
866
988
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
867
989
  };
868
990
  const ImportPreparingTextNotification = props => jsx("div", {
@@ -920,11 +1042,20 @@ const UnpublishProductsConfirmationModal = () => {
920
1042
  }, {
921
1043
  dismissAfter: 5000
922
1044
  });
923
- await processUploadedFile({
924
- projectKey,
925
- resourceType: 'product',
926
- importContainerKey: state.containerKey
927
- });
1045
+ if (state.jobId) {
1046
+ await processFileImportJob({
1047
+ projectKey,
1048
+ importContainerKey: state.containerKey,
1049
+ jobId: state.jobId,
1050
+ resourceType: 'product'
1051
+ });
1052
+ } else {
1053
+ await processUploadedFile({
1054
+ projectKey,
1055
+ resourceType: 'product',
1056
+ importContainerKey: state.containerKey
1057
+ });
1058
+ }
928
1059
  showNotification({
929
1060
  kind: 'info',
930
1061
  domain: DOMAINS.SIDE,
@@ -955,7 +1086,7 @@ const UnpublishProductsConfirmationModal = () => {
955
1086
  values: {
956
1087
  projectName: projectName,
957
1088
  // TODO: Replace with actual count
958
- count: intl.formatNumber(state.uploadFileResponse?.rowsCount),
1089
+ count: intl.formatNumber(state.uploadFileResponse?.rowsCount ?? 0),
959
1090
  b: getBold$1
960
1091
  }
961
1092
  })
@@ -1011,7 +1142,7 @@ function UploadPreviewModal() {
1011
1142
  }), jsx(Text.Body, {
1012
1143
  intlMessage: _objectSpread$1(_objectSpread$1({}, messages.productsToBeUnpublished), {}, {
1013
1144
  values: {
1014
- count: intl.formatNumber(state.uploadFileResponse?.rowsCount),
1145
+ count: intl.formatNumber(state.uploadFileResponse?.rowsCount ?? 0),
1015
1146
  b: getBold
1016
1147
  }
1017
1148
  })