@commercetools-frontend-extensions/unpublish-products-modal 0.0.0-bw-test-preview-deploy-20250115163227

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 (44) hide show
  1. package/LICENSE +29 -0
  2. package/README.md +72 -0
  3. package/dist/active-drag-drop-area-588ee003.esm.js +52 -0
  4. package/dist/active-drag-drop-area-97012391.cjs.dev.js +54 -0
  5. package/dist/active-drag-drop-area-cb410640.cjs.prod.js +54 -0
  6. package/dist/commercetools-frontend-extensions-unpublish-products-modal.cjs.d.ts +3 -0
  7. package/dist/commercetools-frontend-extensions-unpublish-products-modal.cjs.dev.js +52 -0
  8. package/dist/commercetools-frontend-extensions-unpublish-products-modal.cjs.js +7 -0
  9. package/dist/commercetools-frontend-extensions-unpublish-products-modal.cjs.prod.js +52 -0
  10. package/dist/commercetools-frontend-extensions-unpublish-products-modal.esm.js +44 -0
  11. package/dist/de-a34c5dd4.cjs.dev.js +6 -0
  12. package/dist/de-cd6c45d3.esm.js +4 -0
  13. package/dist/de-d954fe3d.cjs.prod.js +6 -0
  14. package/dist/declarations/src/@types/file-upload.d.ts +42 -0
  15. package/dist/declarations/src/@types/import-container.d.ts +11 -0
  16. package/dist/declarations/src/@types/index.d.ts +3 -0
  17. package/dist/declarations/src/@types/unpublish-products-modal-props.d.ts +4 -0
  18. package/dist/declarations/src/index.d.ts +2 -0
  19. package/dist/declarations/src/unpublish-products-modal.d.ts +6 -0
  20. package/dist/en-3a9aa2d4.esm.js +4 -0
  21. package/dist/en-6b3694f6.cjs.dev.js +6 -0
  22. package/dist/en-c7757448.cjs.prod.js +6 -0
  23. package/dist/enabled-drop-area-316a1580.cjs.dev.js +115 -0
  24. package/dist/enabled-drop-area-6625704b.cjs.prod.js +115 -0
  25. package/dist/enabled-drop-area-cfeadf2b.esm.js +102 -0
  26. package/dist/es-042343bd.cjs.prod.js +6 -0
  27. package/dist/es-8b3ecab1.cjs.dev.js +6 -0
  28. package/dist/es-e544023d.esm.js +4 -0
  29. package/dist/file-dropped-area-81a018c7.cjs.prod.js +74 -0
  30. package/dist/file-dropped-area-98c3a590.esm.js +72 -0
  31. package/dist/file-dropped-area-f56570a5.cjs.dev.js +74 -0
  32. package/dist/fr-FR-9d9081ee.esm.js +4 -0
  33. package/dist/fr-FR-e7126fcc.cjs.dev.js +6 -0
  34. package/dist/fr-FR-fce1ca96.cjs.prod.js +6 -0
  35. package/dist/index-5eba85d2.esm.js +1476 -0
  36. package/dist/index-7753d112.cjs.prod.js +1494 -0
  37. package/dist/index-ab633de3.cjs.dev.js +1506 -0
  38. package/dist/ja-37632763.cjs.prod.js +6 -0
  39. package/dist/ja-73c088a7.esm.js +4 -0
  40. package/dist/ja-9bd5f452.cjs.dev.js +6 -0
  41. package/dist/pt-BR-b37d730b.esm.js +4 -0
  42. package/dist/pt-BR-ea6b3251.cjs.dev.js +6 -0
  43. package/dist/pt-BR-ec2a1a11.cjs.prod.js +6 -0
  44. package/package.json +92 -0
@@ -0,0 +1,1476 @@
1
+ import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
2
+ import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';
3
+ import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';
4
+ import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor';
5
+ import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
6
+ import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors';
7
+ import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/object/define-properties';
8
+ import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
9
+ import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
10
+ import { defineMessages, useIntl, FormattedMessage, IntlProvider } from 'react-intl';
11
+ import { useApplicationContext, oidcStorage } from '@commercetools-frontend/application-shell-connectors';
12
+ import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
13
+ import React, { lazy, useContext, useState, useEffect } from 'react';
14
+ import { actions, useAsyncDispatch } from '@commercetools-frontend/sdk';
15
+ import _JSON$stringify from '@babel/runtime-corejs3/core-js-stable/json/stringify';
16
+ import { MC_API_PROXY_TARGETS, DOMAINS } from '@commercetools-frontend/constants';
17
+ import _everyInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/every';
18
+ import _Promise from '@babel/runtime-corejs3/core-js-stable/promise';
19
+ import _Array$isArray from '@babel/runtime-corejs3/core-js-stable/array/is-array';
20
+ import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
21
+ import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
22
+ import Papa from 'papaparse';
23
+ import { jsx, jsxs } from '@emotion/react/jsx-runtime';
24
+ import { FormDialog, InfoDialog, ConfirmationDialog } from '@commercetools-frontend/application-components';
25
+ import { Masking } from '@commercetools-frontend/fullstory';
26
+ import { customProperties, Constraints, Text, Link, Spacings, SecondaryButton, ProgressBar, usePaginationState, PageNavigator, Stamp, PrimaryButton, ImportIcon, Card, CloseBoldIcon } from '@commercetools-frontend/ui-kit';
27
+ import _someInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/some';
28
+ import { useDropzone } from 'react-dropzone';
29
+ import { useShowNotification } from '@commercetools-frontend/actions-global';
30
+ import _styled from '@emotion/styled/base';
31
+ import { css } from '@emotion/react';
32
+ import _Reflect$construct from '@babel/runtime-corejs3/core-js-stable/reflect/construct';
33
+ import _createClass from '@babel/runtime-corejs3/helpers/esm/createClass';
34
+ import _classCallCheck from '@babel/runtime-corejs3/helpers/esm/classCallCheck';
35
+ import _possibleConstructorReturn from '@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn';
36
+ import _getPrototypeOf from '@babel/runtime-corejs3/helpers/esm/getPrototypeOf';
37
+ import _inherits from '@babel/runtime-corejs3/helpers/esm/inherits';
38
+ import _wrapNativeSuper from '@babel/runtime-corejs3/helpers/esm/wrapNativeSuper';
39
+ import { reportErrorToSentry } from '@commercetools-frontend/sentry';
40
+ import { createHttpClientOptions, buildApiUrl } from '@commercetools-frontend/application-shell';
41
+ import _sliceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/slice';
42
+ import DataTable from '@commercetools-uikit/data-table';
43
+ import { parseChunkImport, mapLocaleToIntlLocale } from '@commercetools-frontend/i18n';
44
+
45
+ function ownKeys$a(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; }
46
+ function _objectSpread$a(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$a(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$a(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
47
+ function reducer(state, action) {
48
+ if (action.type === 'setCurrentStep') return _objectSpread$a(_objectSpread$a({}, state), {}, {
49
+ currentStep: action.currentStep,
50
+ progress: 0
51
+ });
52
+ if (action.type === 'setContainerKey') return _objectSpread$a(_objectSpread$a({}, state), {}, {
53
+ containerKey: action.containerKey
54
+ });
55
+ if (action.type === 'cancelImport') return _objectSpread$a(_objectSpread$a({}, state), {}, {
56
+ currentStep: 'upload',
57
+ containerKey: undefined,
58
+ droppedFile: undefined,
59
+ dropAreaState: 'ready-for-drop',
60
+ progress: 0
61
+ });
62
+ if (action.type === 'uploadNewFile') return _objectSpread$a(_objectSpread$a({}, state), {}, {
63
+ currentStep: 'upload',
64
+ containerKey: undefined,
65
+ droppedFile: undefined,
66
+ dropAreaState: 'ready-for-drop',
67
+ progress: 0
68
+ });
69
+ if (action.type === 'setDroppedFile') {
70
+ return _objectSpread$a(_objectSpread$a({}, state), {}, {
71
+ droppedFile: action.droppedFile
72
+ });
73
+ }
74
+ if (action.type === 'setAbortController') {
75
+ return _objectSpread$a(_objectSpread$a({}, state), {}, {
76
+ abortController: action.abortController
77
+ });
78
+ }
79
+ if (action.type === 'setProgress') {
80
+ return _objectSpread$a(_objectSpread$a({}, state), {}, {
81
+ progress: action.progress
82
+ });
83
+ }
84
+ if (action.type === 'setUploadFileResponse') {
85
+ return _objectSpread$a(_objectSpread$a({}, state), {}, {
86
+ uploadFileResponse: action.uploadFileResponse
87
+ });
88
+ }
89
+ if (action.type === 'setFileUploadErrors') {
90
+ return _objectSpread$a(_objectSpread$a({}, state), {}, {
91
+ fileUploadErrors: action.fileUploadErrors
92
+ });
93
+ }
94
+ throw new Error(getUnknownActionError(action));
95
+ }
96
+ function getUnknownActionError(actionType) {
97
+ return `Unkown type: ${actionType}`;
98
+ }
99
+ const initialState = {
100
+ currentStep: 'upload',
101
+ abortController: new AbortController(),
102
+ dropAreaState: 'ready-for-drop',
103
+ containerKey: undefined,
104
+ progress: 0,
105
+ uploadFileResponse: undefined,
106
+ fileUploadErrors: []
107
+ };
108
+ const initialActions = {
109
+ setCurrentStep(_currentStep) {
110
+ /**/
111
+ },
112
+ cancelImport() {
113
+ /**/
114
+ },
115
+ uploadNewFile() {
116
+ /**/
117
+ },
118
+ setDroppedFile(_nextDroppedFile) {
119
+ /**/
120
+ },
121
+ setUploadFileResponse(_uploadFileResponse) {
122
+ /**/
123
+ },
124
+ setFileUploadErrors(_fileUploadErrors) {
125
+ /**/
126
+ },
127
+ setContainerKey(_containerKey) {
128
+ /**/
129
+ },
130
+ setAbortController(_abortController) {
131
+ /**/
132
+ },
133
+ setProgress(_progress) {
134
+ /**/
135
+ }
136
+ };
137
+
138
+ function getCreateImportContainerURL(projectKey) {
139
+ return `/${projectKey}/import-containers`;
140
+ }
141
+ function getDeleteImportContainerURL(projectKey, containerKey) {
142
+ return `/${projectKey}/import-containers/${containerKey}`;
143
+ }
144
+ function getFileUploadURL(projectKey, containerKey) {
145
+ return `/${projectKey}/products/import-containers/${containerKey}/file-upload`;
146
+ }
147
+ function getProccessFileURL(projectKey, containerKey) {
148
+ return `/${projectKey}/products/import-containers/${containerKey}/process-file`;
149
+ }
150
+
151
+ function createImportContainerForFileUpload(importContainerDraft, projectKey, asyncDispatch) {
152
+ return asyncDispatch(actions.post({
153
+ mcApiProxyTarget: MC_API_PROXY_TARGETS.IMPORT,
154
+ uri: getCreateImportContainerURL(projectKey),
155
+ headers: {
156
+ accept: 'application/json',
157
+ 'Content-Type': 'application/json'
158
+ },
159
+ payload: _JSON$stringify(importContainerDraft)
160
+ }));
161
+ }
162
+ function deleteImportContainer(projectKey, containerKey, asyncDispatch) {
163
+ return asyncDispatch(actions.del({
164
+ mcApiProxyTarget: MC_API_PROXY_TARGETS.IMPORT,
165
+ uri: getDeleteImportContainerURL(projectKey, containerKey),
166
+ headers: {
167
+ accept: 'application/json'
168
+ }
169
+ }));
170
+ }
171
+
172
+ function convertFileSizeToKB(sizeInBytes) {
173
+ return sizeInBytes / 1000;
174
+ }
175
+ function hasOwnProperty(obj, prop) {
176
+ return typeof obj === 'object' && obj !== null && obj.hasOwnProperty(prop);
177
+ }
178
+ function hasRequiredFields(maybeValidObject, requiredFields) {
179
+ return typeof maybeValidObject === 'object' && maybeValidObject !== null && _everyInstanceProperty(requiredFields).call(requiredFields, property => hasOwnProperty(maybeValidObject, property));
180
+ }
181
+ function isAbortError(error) {
182
+ return error instanceof DOMException && error.name === 'AbortError';
183
+ }
184
+
185
+ const encodeFileNameWithTimestampToContainerKey = fileName => {
186
+ return btoa(_JSON$stringify({
187
+ timestamp: new Date().getTime(),
188
+ fileName
189
+ })).replace(/=+$/g, '');
190
+ };
191
+
192
+ function ownKeys$9(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; }
193
+ function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$9(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$9(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
194
+ /**
195
+ * Returns the number of rows in a CSV file excluding the header
196
+ * @param file The CSV file to process.
197
+ * @returns A promise that resolves to the number of rows
198
+ */
199
+ const getRowCount = file => {
200
+ return new _Promise(resolve => {
201
+ let lineCount = 0;
202
+ Papa.parse(file, {
203
+ step: _ref => {
204
+ let data = _ref.data;
205
+ // empty lines at the end of the file should not be counted
206
+ if (_Array$isArray(data) && _findInstanceProperty(data).call(data, Boolean)) lineCount++;
207
+ },
208
+ complete: () => {
209
+ // Subtract 1 for the header row
210
+ // We use Math.max to make sure the count is not less than 0, this is needed for empty files
211
+ resolve(Math.max(0, lineCount - 1));
212
+ }
213
+ });
214
+ });
215
+ };
216
+
217
+ /**
218
+ * Checks if the CSV file only contains a single column named 'key'
219
+ * @param file The CSV file to process
220
+ * @returns A promise that resolves to true if the file contains only one column named 'key', otherwise false
221
+ */
222
+ const hasSingleKeyColumn = file => {
223
+ return new _Promise(resolve => {
224
+ Papa.parse(file, {
225
+ header: true,
226
+ // Only parse the first row (header)
227
+ preview: 1,
228
+ complete: results => {
229
+ const fields = results?.meta?.fields;
230
+ resolve(fields.length === 1 && fields[0] === 'key');
231
+ }
232
+ });
233
+ });
234
+ };
235
+ const toBytes = megabytes => megabytes * 1024 * 1024;
236
+ const mapFileUploadErrorsToUploadFileErrorRows = uploadFileErrors => {
237
+ let idCounter = 1;
238
+ return _mapInstanceProperty(uploadFileErrors).call(uploadFileErrors, uploadFileError => _objectSpread$9(_objectSpread$9({}, uploadFileError), {}, {
239
+ id: String(idCounter++)
240
+ }));
241
+ };
242
+
243
+ async function processUploadedFile(_ref) {
244
+ let projectKey = _ref.projectKey,
245
+ containerKey = _ref.containerKey,
246
+ asyncDispatch = _ref.asyncDispatch;
247
+ const uri = getProccessFileURL(projectKey, containerKey);
248
+ const response = await asyncDispatch(actions.post({
249
+ mcApiProxyTarget: MC_API_PROXY_TARGETS.IMPORT,
250
+ uri: uri,
251
+ headers: {
252
+ accept: 'application/json',
253
+ 'Content-Type': 'application/json'
254
+ },
255
+ payload: {}
256
+ }));
257
+ assertProcessFileResponse(response);
258
+ return response;
259
+ }
260
+ function assertProcessFileResponse(maybeProcessFileResponse) {
261
+ const requiredFields = ['message'];
262
+ if (hasRequiredFields(maybeProcessFileResponse, requiredFields)) return;
263
+ throw new Error('Invalid response');
264
+ }
265
+
266
+ const UnpublishProductsContext = /*#__PURE__*/React.createContext({
267
+ state: initialState,
268
+ actions: initialActions,
269
+ onClose: () => {}
270
+ });
271
+ const UnpublishProductsProvider = props => {
272
+ const _useApplicationContex = useApplicationContext(context => ({
273
+ projectKey: context.project?.key
274
+ })),
275
+ projectKey = _useApplicationContex.projectKey;
276
+ const asyncDispatch = useAsyncDispatch();
277
+ const _React$useReducer = React.useReducer(reducer, initialState),
278
+ _React$useReducer2 = _slicedToArray(_React$useReducer, 2),
279
+ state = _React$useReducer2[0],
280
+ dispatch = _React$useReducer2[1];
281
+ const setCurrentStep = currentStep => dispatch({
282
+ type: 'setCurrentStep',
283
+ currentStep
284
+ });
285
+ const setContainerKey = containerKey => dispatch({
286
+ type: 'setContainerKey',
287
+ containerKey
288
+ });
289
+ const cancelImport = () => dispatch({
290
+ type: 'cancelImport'
291
+ });
292
+ const uploadNewFile = () => dispatch({
293
+ type: 'uploadNewFile'
294
+ });
295
+ const setDroppedFile = droppedFile => dispatch({
296
+ type: 'setDroppedFile',
297
+ droppedFile: droppedFile
298
+ });
299
+ const setFileUploadErrors = fileUploadErrors => {
300
+ dispatch({
301
+ type: 'setFileUploadErrors',
302
+ fileUploadErrors
303
+ });
304
+ };
305
+ const setAbortController = abortController => dispatch({
306
+ type: 'setAbortController',
307
+ abortController: abortController
308
+ });
309
+ const setProgress = progress => dispatch({
310
+ type: 'setProgress',
311
+ progress
312
+ });
313
+ const setUploadFileResponse = uploadFileResponse => {
314
+ dispatch({
315
+ type: 'setUploadFileResponse',
316
+ uploadFileResponse
317
+ });
318
+ };
319
+ const handleClose = function () {
320
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
321
+ if (state.abortController) state.abortController.abort();
322
+ if (typeof props.onClose === 'function') props.onClose();
323
+ // Removes the associated import container when the import is closed
324
+ if (options.shouldDeleteImportContainer && projectKey && state.containerKey) deleteImportContainer(projectKey, state.containerKey, asyncDispatch);
325
+ };
326
+ return jsx(UnpublishProductsContext.Provider, {
327
+ value: {
328
+ state,
329
+ onClose: handleClose,
330
+ actions: {
331
+ setCurrentStep,
332
+ cancelImport,
333
+ uploadNewFile,
334
+ setDroppedFile,
335
+ setUploadFileResponse,
336
+ setFileUploadErrors,
337
+ setContainerKey,
338
+ setAbortController,
339
+ setProgress
340
+ }
341
+ },
342
+ children: props.children
343
+ });
344
+ };
345
+
346
+ const getBorderColor = state => {
347
+ const borderColors = {
348
+ default: '#909dbc',
349
+ error: '#e60050',
350
+ active: customProperties.colorPrimary
351
+ };
352
+ return borderColors[state] || borderColors.default;
353
+ };
354
+ const getDashedBorder = function () {
355
+ let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';
356
+ const color = getBorderColor(state);
357
+ const svgContent = `
358
+ <svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
359
+ <rect width="100%" height="100%" fill="none" stroke="${color}" stroke-width="2px" stroke-dasharray="6,6" stroke-dashoffset="0" stroke-linecap="square"/>
360
+ </svg>
361
+ `;
362
+ return `data:image/svg+xml,${encodeURIComponent(svgContent)}`;
363
+ };
364
+ const base = /*#__PURE__*/css("border-radius:", customProperties.borderRadius6, ";min-height:136px;display:flex;justify-content:center;align-items:center;" + (process.env.NODE_ENV === "production" ? "" : ";label:base;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QmdCIiwiZmlsZSI6InN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1c3RvbVByb3BlcnRpZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC91aS1raXQnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxudHlwZSBEcm9wQXJlYVN0YXRlID0gJ2RlZmF1bHQnIHwgJ2Vycm9yJyB8ICdhY3RpdmUnXG5cbmNvbnN0IGdldEJvcmRlckNvbG9yID0gKHN0YXRlOiBEcm9wQXJlYVN0YXRlKSA9PiB7XG4gIGNvbnN0IGJvcmRlckNvbG9ycyA9IHtcbiAgICBkZWZhdWx0OiAnIzkwOWRiYycsXG4gICAgZXJyb3I6ICcjZTYwMDUwJyxcbiAgICBhY3RpdmU6IGN1c3RvbVByb3BlcnRpZXMuY29sb3JQcmltYXJ5LFxuICB9XG5cbiAgcmV0dXJuIGJvcmRlckNvbG9yc1tzdGF0ZV0gfHwgYm9yZGVyQ29sb3JzLmRlZmF1bHRcbn1cblxuY29uc3QgZ2V0RGFzaGVkQm9yZGVyID0gKHN0YXRlOiBEcm9wQXJlYVN0YXRlID0gJ2RlZmF1bHQnKSA9PiB7XG4gIGNvbnN0IGNvbG9yID0gZ2V0Qm9yZGVyQ29sb3Ioc3RhdGUpXG4gIGNvbnN0IHN2Z0NvbnRlbnQgPSBgXG4gICAgPHN2ZyB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPHJlY3Qgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJHtjb2xvcn1cIiBzdHJva2Utd2lkdGg9XCIycHhcIiBzdHJva2UtZGFzaGFycmF5PVwiNiw2XCIgc3Ryb2tlLWRhc2hvZmZzZXQ9XCIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIi8+XG4gICAgPC9zdmc+XG4gIGBcbiAgcmV0dXJuIGBkYXRhOmltYWdlL3N2Zyt4bWwsJHtlbmNvZGVVUklDb21wb25lbnQoc3ZnQ29udGVudCl9YFxufVxuXG5jb25zdCBiYXNlID0gY3NzYFxuICBib3JkZXItcmFkaXVzOiAke2N1c3RvbVByb3BlcnRpZXMuYm9yZGVyUmFkaXVzNn07XG4gIG1pbi1oZWlnaHQ6IDEzNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmBcbmNvbnN0IHJlYWR5Rm9yRHJvcCA9IGNzc2BcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCIke2dldERhc2hlZEJvcmRlcigpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTdXJmYWNlfTtcbmBcbmNvbnN0IGFjdGl2ZURyYWcgPSBjc3NgXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiJHtnZXREYXNoZWRCb3JkZXIoJ2FjdGl2ZScpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JQcmltYXJ5OTV9O1xuICBwYWRkaW5nOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZzUwfSAxMDBweDtcbmBcbmNvbnN0IGZpbGVEcm9wcGVkID0gY3NzYFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcIiR7Z2V0RGFzaGVkQm9yZGVyKCl9XFxcIik7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvclN1cmZhY2V9O1xuICBwYWRkaW5nOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZzUwfSAxMDBweDtcbmBcblxuZXhwb3J0IGNvbnN0IHN0eWxlcyA9IHtcbiAgYmFzZSxcbiAgcmVhZHlGb3JEcm9wLFxuICBmaWxlRHJvcHBlZCxcbiAgYWN0aXZlRHJhZyxcbn1cbiJdfQ== */");
365
+ const readyForDrop = /*#__PURE__*/css("background-image:url(\"", getDashedBorder(), "\");background-color:", customProperties.colorSurface, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:readyForDrop;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQ3dCIiwiZmlsZSI6InN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1c3RvbVByb3BlcnRpZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC91aS1raXQnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxudHlwZSBEcm9wQXJlYVN0YXRlID0gJ2RlZmF1bHQnIHwgJ2Vycm9yJyB8ICdhY3RpdmUnXG5cbmNvbnN0IGdldEJvcmRlckNvbG9yID0gKHN0YXRlOiBEcm9wQXJlYVN0YXRlKSA9PiB7XG4gIGNvbnN0IGJvcmRlckNvbG9ycyA9IHtcbiAgICBkZWZhdWx0OiAnIzkwOWRiYycsXG4gICAgZXJyb3I6ICcjZTYwMDUwJyxcbiAgICBhY3RpdmU6IGN1c3RvbVByb3BlcnRpZXMuY29sb3JQcmltYXJ5LFxuICB9XG5cbiAgcmV0dXJuIGJvcmRlckNvbG9yc1tzdGF0ZV0gfHwgYm9yZGVyQ29sb3JzLmRlZmF1bHRcbn1cblxuY29uc3QgZ2V0RGFzaGVkQm9yZGVyID0gKHN0YXRlOiBEcm9wQXJlYVN0YXRlID0gJ2RlZmF1bHQnKSA9PiB7XG4gIGNvbnN0IGNvbG9yID0gZ2V0Qm9yZGVyQ29sb3Ioc3RhdGUpXG4gIGNvbnN0IHN2Z0NvbnRlbnQgPSBgXG4gICAgPHN2ZyB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPHJlY3Qgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJHtjb2xvcn1cIiBzdHJva2Utd2lkdGg9XCIycHhcIiBzdHJva2UtZGFzaGFycmF5PVwiNiw2XCIgc3Ryb2tlLWRhc2hvZmZzZXQ9XCIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIi8+XG4gICAgPC9zdmc+XG4gIGBcbiAgcmV0dXJuIGBkYXRhOmltYWdlL3N2Zyt4bWwsJHtlbmNvZGVVUklDb21wb25lbnQoc3ZnQ29udGVudCl9YFxufVxuXG5jb25zdCBiYXNlID0gY3NzYFxuICBib3JkZXItcmFkaXVzOiAke2N1c3RvbVByb3BlcnRpZXMuYm9yZGVyUmFkaXVzNn07XG4gIG1pbi1oZWlnaHQ6IDEzNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmBcbmNvbnN0IHJlYWR5Rm9yRHJvcCA9IGNzc2BcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCIke2dldERhc2hlZEJvcmRlcigpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTdXJmYWNlfTtcbmBcbmNvbnN0IGFjdGl2ZURyYWcgPSBjc3NgXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiJHtnZXREYXNoZWRCb3JkZXIoJ2FjdGl2ZScpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JQcmltYXJ5OTV9O1xuICBwYWRkaW5nOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZzUwfSAxMDBweDtcbmBcbmNvbnN0IGZpbGVEcm9wcGVkID0gY3NzYFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcIiR7Z2V0RGFzaGVkQm9yZGVyKCl9XFxcIik7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvclN1cmZhY2V9O1xuICBwYWRkaW5nOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZzUwfSAxMDBweDtcbmBcblxuZXhwb3J0IGNvbnN0IHN0eWxlcyA9IHtcbiAgYmFzZSxcbiAgcmVhZHlGb3JEcm9wLFxuICBmaWxlRHJvcHBlZCxcbiAgYWN0aXZlRHJhZyxcbn1cbiJdfQ== */");
366
+ const activeDrag = /*#__PURE__*/css("background-image:url(\"", getDashedBorder('active'), "\");background-color:", customProperties.colorPrimary95, ";padding:", customProperties.spacing50, " 100px;" + (process.env.NODE_ENV === "production" ? "" : ";label:activeDrag;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQ3NCIiwiZmlsZSI6InN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1c3RvbVByb3BlcnRpZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC91aS1raXQnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxudHlwZSBEcm9wQXJlYVN0YXRlID0gJ2RlZmF1bHQnIHwgJ2Vycm9yJyB8ICdhY3RpdmUnXG5cbmNvbnN0IGdldEJvcmRlckNvbG9yID0gKHN0YXRlOiBEcm9wQXJlYVN0YXRlKSA9PiB7XG4gIGNvbnN0IGJvcmRlckNvbG9ycyA9IHtcbiAgICBkZWZhdWx0OiAnIzkwOWRiYycsXG4gICAgZXJyb3I6ICcjZTYwMDUwJyxcbiAgICBhY3RpdmU6IGN1c3RvbVByb3BlcnRpZXMuY29sb3JQcmltYXJ5LFxuICB9XG5cbiAgcmV0dXJuIGJvcmRlckNvbG9yc1tzdGF0ZV0gfHwgYm9yZGVyQ29sb3JzLmRlZmF1bHRcbn1cblxuY29uc3QgZ2V0RGFzaGVkQm9yZGVyID0gKHN0YXRlOiBEcm9wQXJlYVN0YXRlID0gJ2RlZmF1bHQnKSA9PiB7XG4gIGNvbnN0IGNvbG9yID0gZ2V0Qm9yZGVyQ29sb3Ioc3RhdGUpXG4gIGNvbnN0IHN2Z0NvbnRlbnQgPSBgXG4gICAgPHN2ZyB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPHJlY3Qgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJHtjb2xvcn1cIiBzdHJva2Utd2lkdGg9XCIycHhcIiBzdHJva2UtZGFzaGFycmF5PVwiNiw2XCIgc3Ryb2tlLWRhc2hvZmZzZXQ9XCIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIi8+XG4gICAgPC9zdmc+XG4gIGBcbiAgcmV0dXJuIGBkYXRhOmltYWdlL3N2Zyt4bWwsJHtlbmNvZGVVUklDb21wb25lbnQoc3ZnQ29udGVudCl9YFxufVxuXG5jb25zdCBiYXNlID0gY3NzYFxuICBib3JkZXItcmFkaXVzOiAke2N1c3RvbVByb3BlcnRpZXMuYm9yZGVyUmFkaXVzNn07XG4gIG1pbi1oZWlnaHQ6IDEzNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmBcbmNvbnN0IHJlYWR5Rm9yRHJvcCA9IGNzc2BcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCIke2dldERhc2hlZEJvcmRlcigpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTdXJmYWNlfTtcbmBcbmNvbnN0IGFjdGl2ZURyYWcgPSBjc3NgXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiJHtnZXREYXNoZWRCb3JkZXIoJ2FjdGl2ZScpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JQcmltYXJ5OTV9O1xuICBwYWRkaW5nOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZzUwfSAxMDBweDtcbmBcbmNvbnN0IGZpbGVEcm9wcGVkID0gY3NzYFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcIiR7Z2V0RGFzaGVkQm9yZGVyKCl9XFxcIik7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvclN1cmZhY2V9O1xuICBwYWRkaW5nOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZzUwfSAxMDBweDtcbmBcblxuZXhwb3J0IGNvbnN0IHN0eWxlcyA9IHtcbiAgYmFzZSxcbiAgcmVhZHlGb3JEcm9wLFxuICBmaWxlRHJvcHBlZCxcbiAgYWN0aXZlRHJhZyxcbn1cbiJdfQ== */");
367
+ const fileDropped = /*#__PURE__*/css("background-image:url(\"", getDashedBorder(), "\");background-color:", customProperties.colorSurface, ";padding:", customProperties.spacing50, " 100px;" + (process.env.NODE_ENV === "production" ? "" : ";label:fileDropped;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5Q3VCIiwiZmlsZSI6InN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1c3RvbVByb3BlcnRpZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC91aS1raXQnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxudHlwZSBEcm9wQXJlYVN0YXRlID0gJ2RlZmF1bHQnIHwgJ2Vycm9yJyB8ICdhY3RpdmUnXG5cbmNvbnN0IGdldEJvcmRlckNvbG9yID0gKHN0YXRlOiBEcm9wQXJlYVN0YXRlKSA9PiB7XG4gIGNvbnN0IGJvcmRlckNvbG9ycyA9IHtcbiAgICBkZWZhdWx0OiAnIzkwOWRiYycsXG4gICAgZXJyb3I6ICcjZTYwMDUwJyxcbiAgICBhY3RpdmU6IGN1c3RvbVByb3BlcnRpZXMuY29sb3JQcmltYXJ5LFxuICB9XG5cbiAgcmV0dXJuIGJvcmRlckNvbG9yc1tzdGF0ZV0gfHwgYm9yZGVyQ29sb3JzLmRlZmF1bHRcbn1cblxuY29uc3QgZ2V0RGFzaGVkQm9yZGVyID0gKHN0YXRlOiBEcm9wQXJlYVN0YXRlID0gJ2RlZmF1bHQnKSA9PiB7XG4gIGNvbnN0IGNvbG9yID0gZ2V0Qm9yZGVyQ29sb3Ioc3RhdGUpXG4gIGNvbnN0IHN2Z0NvbnRlbnQgPSBgXG4gICAgPHN2ZyB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPHJlY3Qgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJHtjb2xvcn1cIiBzdHJva2Utd2lkdGg9XCIycHhcIiBzdHJva2UtZGFzaGFycmF5PVwiNiw2XCIgc3Ryb2tlLWRhc2hvZmZzZXQ9XCIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIi8+XG4gICAgPC9zdmc+XG4gIGBcbiAgcmV0dXJuIGBkYXRhOmltYWdlL3N2Zyt4bWwsJHtlbmNvZGVVUklDb21wb25lbnQoc3ZnQ29udGVudCl9YFxufVxuXG5jb25zdCBiYXNlID0gY3NzYFxuICBib3JkZXItcmFkaXVzOiAke2N1c3RvbVByb3BlcnRpZXMuYm9yZGVyUmFkaXVzNn07XG4gIG1pbi1oZWlnaHQ6IDEzNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmBcbmNvbnN0IHJlYWR5Rm9yRHJvcCA9IGNzc2BcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCIke2dldERhc2hlZEJvcmRlcigpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTdXJmYWNlfTtcbmBcbmNvbnN0IGFjdGl2ZURyYWcgPSBjc3NgXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiJHtnZXREYXNoZWRCb3JkZXIoJ2FjdGl2ZScpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JQcmltYXJ5OTV9O1xuICBwYWRkaW5nOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZzUwfSAxMDBweDtcbmBcbmNvbnN0IGZpbGVEcm9wcGVkID0gY3NzYFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcIiR7Z2V0RGFzaGVkQm9yZGVyKCl9XFxcIik7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvclN1cmZhY2V9O1xuICBwYWRkaW5nOiAke2N1c3RvbVByb3BlcnRpZXMuc3BhY2luZzUwfSAxMDBweDtcbmBcblxuZXhwb3J0IGNvbnN0IHN0eWxlcyA9IHtcbiAgYmFzZSxcbiAgcmVhZHlGb3JEcm9wLFxuICBmaWxlRHJvcHBlZCxcbiAgYWN0aXZlRHJhZyxcbn1cbiJdfQ== */");
368
+ const styles = {
369
+ base,
370
+ readyForDrop,
371
+ fileDropped,
372
+ activeDrag
373
+ };
374
+
375
+ const DropWrapper = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
376
+ target: "e19vac9v0"
377
+ } : {
378
+ target: "e19vac9v0",
379
+ label: "DropWrapper"
380
+ })(styles.base, " ", props => {
381
+ if (props.dropAreaState === 'ready-for-drop') {
382
+ return styles.readyForDrop;
383
+ }
384
+ if (props.dropAreaState === 'active-drag') {
385
+ return styles.activeDrag;
386
+ }
387
+ if (props.dropAreaState === 'file-dropped') {
388
+ return styles.fileDropped;
389
+ }
390
+ return getDefaultDropWrapperStyles(props.dropAreaState);
391
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRyb3AtYXJlYS13cmFwcGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTdUQiLCJmaWxlIjoiZHJvcC1hcmVhLXdyYXBwZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEcm9wem9uZVJvb3RQcm9wcyB9IGZyb20gJ3JlYWN0LWRyb3B6b25lJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IHN0eWxlcyB9IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdHlwZSBEcm9wQXJlYVN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vQHR5cGVzJ1xuXG5pbnRlcmZhY2UgRHJvcFdyYXBwZXJQcm9wcyBleHRlbmRzIERyb3B6b25lUm9vdFByb3BzIHtcbiAgZHJvcEFyZWFTdGF0ZTogRHJvcEFyZWFTdGF0ZVxufVxuZXhwb3J0IGNvbnN0IERyb3BXcmFwcGVyID0gc3R5bGVkLmRpdjxEcm9wV3JhcHBlclByb3BzPmBcbiAgJHtzdHlsZXMuYmFzZX1cbiAgJHsocHJvcHMpID0+IHtcbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ3JlYWR5LWZvci1kcm9wJykge1xuICAgICAgcmV0dXJuIHN0eWxlcy5yZWFkeUZvckRyb3BcbiAgICB9XG4gICAgaWYgKHByb3BzLmRyb3BBcmVhU3RhdGUgPT09ICdhY3RpdmUtZHJhZycpIHtcbiAgICAgIHJldHVybiBzdHlsZXMuYWN0aXZlRHJhZ1xuICAgIH1cbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ2ZpbGUtZHJvcHBlZCcpIHtcbiAgICAgIHJldHVybiBzdHlsZXMuZmlsZURyb3BwZWRcbiAgICB9XG4gICAgcmV0dXJuIGdldERlZmF1bHREcm9wV3JhcHBlclN0eWxlcyhwcm9wcy5kcm9wQXJlYVN0YXRlKVxuICB9fVxuYFxuZnVuY3Rpb24gZ2V0RGVmYXVsdERyb3BXcmFwcGVyU3R5bGVzKF9kcm9wQXJlYVN0YXRlOiBuZXZlcikge1xuICByZXR1cm4gY3NzYGBcbn1cbiJdfQ== */"));
392
+ function getDefaultDropWrapperStyles(_dropAreaState) {
393
+ return /*#__PURE__*/css(process.env.NODE_ENV === "production" ? "" : ";label:getDefaultDropWrapperStyles;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRyb3AtYXJlYS13cmFwcGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QlkiLCJmaWxlIjoiZHJvcC1hcmVhLXdyYXBwZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEcm9wem9uZVJvb3RQcm9wcyB9IGZyb20gJ3JlYWN0LWRyb3B6b25lJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IHN0eWxlcyB9IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdHlwZSBEcm9wQXJlYVN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vQHR5cGVzJ1xuXG5pbnRlcmZhY2UgRHJvcFdyYXBwZXJQcm9wcyBleHRlbmRzIERyb3B6b25lUm9vdFByb3BzIHtcbiAgZHJvcEFyZWFTdGF0ZTogRHJvcEFyZWFTdGF0ZVxufVxuZXhwb3J0IGNvbnN0IERyb3BXcmFwcGVyID0gc3R5bGVkLmRpdjxEcm9wV3JhcHBlclByb3BzPmBcbiAgJHtzdHlsZXMuYmFzZX1cbiAgJHsocHJvcHMpID0+IHtcbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ3JlYWR5LWZvci1kcm9wJykge1xuICAgICAgcmV0dXJuIHN0eWxlcy5yZWFkeUZvckRyb3BcbiAgICB9XG4gICAgaWYgKHByb3BzLmRyb3BBcmVhU3RhdGUgPT09ICdhY3RpdmUtZHJhZycpIHtcbiAgICAgIHJldHVybiBzdHlsZXMuYWN0aXZlRHJhZ1xuICAgIH1cbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ2ZpbGUtZHJvcHBlZCcpIHtcbiAgICAgIHJldHVybiBzdHlsZXMuZmlsZURyb3BwZWRcbiAgICB9XG4gICAgcmV0dXJuIGdldERlZmF1bHREcm9wV3JhcHBlclN0eWxlcyhwcm9wcy5kcm9wQXJlYVN0YXRlKVxuICB9fVxuYFxuZnVuY3Rpb24gZ2V0RGVmYXVsdERyb3BXcmFwcGVyU3R5bGVzKF9kcm9wQXJlYVN0YXRlOiBuZXZlcikge1xuICByZXR1cm4gY3NzYGBcbn1cbiJdfQ== */");
394
+ }
395
+
396
+ var ActiveDragDropArea = /*#__PURE__*/lazy(() => import('./active-drag-drop-area-588ee003.esm.js' /* webpackChunkName: "active-drag-drop-area" */));
397
+
398
+ var EnabledDropArea = /*#__PURE__*/lazy(() => import('./enabled-drop-area-cfeadf2b.esm.js' /* webpackChunkName: "enabled-drop-area" */));
399
+
400
+ var FileDropped = /*#__PURE__*/lazy(() => import('./file-dropped-area-98c3a590.esm.js' /* webpackChunkName: "filed-dropped-area" */));
401
+
402
+ function getDropArea(_ref) {
403
+ let dropAreaState = _ref.dropAreaState,
404
+ isFileDropped = _ref.isFileDropped;
405
+ if (dropAreaState === 'ready-for-drop') {
406
+ return jsx(EnabledDropArea, {});
407
+ }
408
+ if (dropAreaState === 'file-dropped') {
409
+ return jsx(FileDropped, {});
410
+ }
411
+ if (dropAreaState === 'active-drag') {
412
+ return jsx(ActiveDragDropArea, {
413
+ isFileDropped: isFileDropped
414
+ });
415
+ }
416
+ return fallbackDropArea();
417
+ }
418
+ function fallbackDropArea(_invalidDropAreaState) {
419
+ return jsx(FileDropped, {});
420
+ }
421
+ function getDropAreaState(flags) {
422
+ if (flags.isDragActive) {
423
+ return 'active-drag';
424
+ }
425
+ if (flags.isReady) {
426
+ return 'file-dropped';
427
+ }
428
+ return 'ready-for-drop';
429
+ }
430
+
431
+ var messages$4 = defineMessages({
432
+ dragAndDropCSV: {
433
+ id: "UnpublishProductsModal.dragAndDropCSV",
434
+ defaultMessage: "Drag and drop CSV"
435
+ },
436
+ or: {
437
+ id: "UnpublishProductsModal.or",
438
+ defaultMessage: "or"
439
+ },
440
+ browseButton: {
441
+ id: "UnpublishProductsModal.browseFile",
442
+ defaultMessage: "Browse file"
443
+ },
444
+ uploadAndPreview: {
445
+ id: "UnpublishProductsModal.uploadAndPreview",
446
+ defaultMessage: "Upload and preview"
447
+ },
448
+ chooseFile: {
449
+ id: "UnpublishProductsModal.chooseFile",
450
+ defaultMessage: "Choose file"
451
+ },
452
+ fileUploadFailed: {
453
+ id: "UnpublishProductsModal.fileUploadFailed",
454
+ defaultMessage: "File upload failed"
455
+ },
456
+ fileFormatNotSupported: {
457
+ id: "UnpublishProductsModal.fileFormatNotSupported",
458
+ defaultMessage: "Invalid file format: The file is not in CSV format and cannot be processed."
459
+ },
460
+ tooManyFilesError: {
461
+ id: "UnpublishProductsModal.tooManyFilesError",
462
+ defaultMessage: "Multiple files detected: You can only drag and drop one file at a time."
463
+ },
464
+ genericError: {
465
+ id: "UnpublishProductsModal.genericError",
466
+ defaultMessage: "Error occurred: Please try uploading the file again or contact our support team for assistance."
467
+ },
468
+ dataType: {
469
+ id: "UnpublishProductsModal.dataType",
470
+ defaultMessage: "Data type"
471
+ },
472
+ instructions: {
473
+ id: "UnpublishProductsModal.instructions",
474
+ defaultMessage: "Instructions"
475
+ }
476
+ });
477
+
478
+ function _callSuper$1(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$1() ? _Reflect$construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
479
+ function _isNativeReflectConstruct$1() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$1 = function () { return !!t; })(); }
480
+ let HttpError = /*#__PURE__*/function (_Error) {
481
+ function HttpError(statusCode, statusText, errorData) {
482
+ var _this;
483
+ _classCallCheck(this, HttpError);
484
+ _this = _callSuper$1(this, HttpError, [`HTTP Error! Status code: ${statusCode}, message: "${statusText ? statusText : ''}"`]);
485
+ _this.statusCode = void 0;
486
+ _this.errorData = void 0;
487
+ _this.name = 'HttpError';
488
+ _this.statusCode = statusCode;
489
+ _this.errorData = errorData;
490
+ return _this;
491
+ }
492
+ _inherits(HttpError, _Error);
493
+ return _createClass(HttpError);
494
+ }(/*#__PURE__*/_wrapNativeSuper(Error));
495
+
496
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
497
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
498
+ let MissingUnpublishProductsProviderError = /*#__PURE__*/function (_Error) {
499
+ function MissingUnpublishProductsProviderError() {
500
+ var _this;
501
+ _classCallCheck(this, MissingUnpublishProductsProviderError);
502
+ _this = _callSuper(this, MissingUnpublishProductsProviderError, ['useUnpublishProductsProviderError must be used within MissingUnpublishProductsProviderError']);
503
+ _this.name = 'MissingUnpublishProductsProviderError';
504
+ return _this;
505
+ }
506
+ _inherits(MissingUnpublishProductsProviderError, _Error);
507
+ return _createClass(MissingUnpublishProductsProviderError);
508
+ }(/*#__PURE__*/_wrapNativeSuper(Error));
509
+
510
+ const useUnpublishProductsContext = () => {
511
+ const context = useContext(UnpublishProductsContext);
512
+ if (!context) {
513
+ throw new MissingUnpublishProductsProviderError();
514
+ }
515
+ return context;
516
+ };
517
+
518
+ var messages$3 = defineMessages({
519
+ fileSizeExceededTitle: {
520
+ id: "UnpublishProductsModal.sizeExceededTitle",
521
+ defaultMessage: "File size exceeded"
522
+ },
523
+ fileSizeExceededDescription: {
524
+ id: "UnpublishProductsModal.sizeExceededDescription",
525
+ defaultMessage: "The file exceeds the maximum allowed size of {fileSizeLimit} MB"
526
+ },
527
+ rowLimitExceededTitle: {
528
+ id: "UnpublishProductsModal.rowLimitExceededTitle",
529
+ defaultMessage: "Row limit exceeded"
530
+ },
531
+ rowLimitExceededDescription: {
532
+ id: "UnpublishProductsModal.rowLimitExceededDescription",
533
+ defaultMessage: "The file contains more than the allowable maximum of {rowLimit} rows"
534
+ },
535
+ dropAreaNotEnoughRowsTitle: {
536
+ id: "UnpublishProductsModal.dropAreaNotEnoughRowsTitle",
537
+ defaultMessage: "Invalid CSV file"
538
+ },
539
+ dropAreaNotEnoughRowsDescription: {
540
+ id: "UnpublishProductsModal.dropAreaNotEnoughRowsDescription",
541
+ defaultMessage: "Make sure the file contains a header and at least one row of data"
542
+ },
543
+ unexpectedError: {
544
+ id: "UnpublishProductsModal.unexpectedError",
545
+ defaultMessage: "An unexpected error occurred during the file upload. Please try again, or contact support if this error occurs again."
546
+ },
547
+ missingRequiredField: {
548
+ id: "UnpublishProductsModal.missingRequiredField",
549
+ defaultMessage: "Missing required field"
550
+ },
551
+ missingKeyError: {
552
+ id: "UnpublishProductsModal.missingKeyError",
553
+ defaultMessage: "The 'key' field is missing or incomplete in some rows. Please ensure every row has a 'key' value."
554
+ },
555
+ csvFormatErrorTitle: {
556
+ id: "UnpublishProductsModal.csvFormatErrorTitle",
557
+ defaultMessage: "Invalid CSV file"
558
+ },
559
+ csvFormatErrorDescription: {
560
+ id: "UnpublishProductsModal.csvFormatErrorDescription",
561
+ defaultMessage: "Your CSV file is not formatted correctly. Make sure the file contains only one column named 'key', which includes the product keys"
562
+ }
563
+ });
564
+
565
+ const IMPORT_TAG_KEYS = {
566
+ source: 'source'
567
+ };
568
+ const IMPORT_TAG_VALUES = {
569
+ fileUpload: 'file-upload'
570
+ };
571
+ const TAG_KEY_SOURCE_FILE_UPLOAD = `${IMPORT_TAG_KEYS.source}:${IMPORT_TAG_VALUES.fileUpload}`;
572
+ const FILE_SIZE_LIMIT_MB = 35;
573
+ const ROW_COUNT_LIMIT = 80_000;
574
+ const DOCUMENTATION_LINK = 'https://docs.commercetools.com/merchant-center/product-list#bulk-unpublish-via-csv-import';
575
+ const TEMPLATE_DOWNLOAD_LINK = 'https://docs.commercetools.com/merchant-center/downloads/product_unpublish_import_template.csv';
576
+
577
+ function ownKeys$8(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; }
578
+ function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys$8(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys$8(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
579
+ const addProxyPrefixToUrl = (uri, proxy) => {
580
+ return proxy ? `/proxy/${proxy}${uri}` : uri;
581
+ };
582
+ const fetchUsingXhr = _ref2 => {
583
+ let url = _ref2.url,
584
+ payload = _ref2.payload,
585
+ config = _ref2.config,
586
+ onProgress = _ref2.onProgress,
587
+ onSuccess = _ref2.onSuccess,
588
+ onError = _ref2.onError;
589
+ const options = createHttpClientOptions({
590
+ headers: _objectSpread$8({
591
+ 'Content-Type': 'application/json'
592
+ }, config?.headers)
593
+ });
594
+ const xhr = new XMLHttpRequest();
595
+ xhr.open(config?.method, buildApiUrl(addProxyPrefixToUrl(url, config?.proxy)), true);
596
+ // Include cookies in the request
597
+ xhr.withCredentials = true;
598
+ if (options.headers) {
599
+ var _context;
600
+ _forEachInstanceProperty(_context = _Object$keys(options.headers)).call(_context, key => {
601
+ xhr.setRequestHeader(key, options.headers[key]);
602
+ });
603
+ }
604
+ xhr.upload.onprogress = function (event) {
605
+ if (event.lengthComputable) {
606
+ const percentComplete = event.loaded / event.total * 100;
607
+ onProgress(percentComplete);
608
+ }
609
+ };
610
+ xhr.onload = function () {
611
+ const data = JSON.parse(xhr.responseText);
612
+ // Code copied from `executeHttpClientRequest` to replicate the same behavior
613
+ const refreshedSessionToken = xhr.getResponseHeader('x-refreshed-session-token');
614
+ if (refreshedSessionToken) {
615
+ oidcStorage.setActiveSession(refreshedSessionToken);
616
+ }
617
+ if (xhr.status >= 200 && xhr.status < 300) {
618
+ onSuccess(data);
619
+ } else {
620
+ onError(new HttpError(xhr.status, xhr.statusText, data));
621
+ }
622
+ };
623
+ xhr.onerror = function () {
624
+ const errorData = JSON.parse(xhr.responseText);
625
+ onError(new HttpError(xhr.status, xhr.statusText, errorData));
626
+ };
627
+ xhr.onabort = function () {
628
+ onError(new DOMException('Aborted', 'AbortError'));
629
+ };
630
+ xhr.send(payload);
631
+ return xhr;
632
+ };
633
+
634
+ function uploadFileForImport(_ref) {
635
+ let projectKey = _ref.projectKey,
636
+ containerKey = _ref.containerKey,
637
+ file = _ref.file,
638
+ abortSignal = _ref.abortSignal,
639
+ onSuccess = _ref.onSuccess,
640
+ onProgress = _ref.onProgress,
641
+ onError = _ref.onError;
642
+ const uri = getFileUploadURL(projectKey, containerKey);
643
+ const formData = new FormData();
644
+ formData.append('file', file, file.name);
645
+ return fetchUsingXhr({
646
+ url: uri,
647
+ payload: formData,
648
+ config: {
649
+ abortSignal,
650
+ proxy: MC_API_PROXY_TARGETS.IMPORT,
651
+ method: 'POST',
652
+ headers: {
653
+ 'Content-Type': null
654
+ }
655
+ },
656
+ onProgress,
657
+ onSuccess,
658
+ onError
659
+ });
660
+ }
661
+
662
+ const useUpload = () => {
663
+ const intl = useIntl();
664
+ const projectKey = useApplicationContext(context => context.project?.key);
665
+ const _useUnpublishProducts = useUnpublishProductsContext(),
666
+ state = _useUnpublishProducts.state,
667
+ actions = _useUnpublishProducts.actions;
668
+ const asyncDispatch = useAsyncDispatch();
669
+ const showNotification = useShowNotification();
670
+ React.useEffect(() => {
671
+ return () => {
672
+ if (state.abortController) state.abortController.abort();
673
+ };
674
+ }, [state.abortController]);
675
+ const isFileValid = async file => {
676
+ const errors = [];
677
+ const rowCount = await getRowCount(file);
678
+ if (rowCount < 1) errors.push({
679
+ title: intl.formatMessage(messages$3.dropAreaNotEnoughRowsTitle),
680
+ description: intl.formatMessage(messages$3.dropAreaNotEnoughRowsDescription)
681
+ });
682
+ if (file.size > toBytes(FILE_SIZE_LIMIT_MB)) errors.push({
683
+ title: intl.formatMessage(messages$3.fileSizeExceededTitle),
684
+ description: intl.formatMessage(messages$3.fileSizeExceededDescription, {
685
+ fileSizeLimit: intl.formatNumber(FILE_SIZE_LIMIT_MB)
686
+ })
687
+ });
688
+ if (!(await hasSingleKeyColumn(file))) {
689
+ errors.push({
690
+ title: intl.formatMessage(messages$3.csvFormatErrorTitle),
691
+ description: intl.formatMessage(messages$3.csvFormatErrorDescription)
692
+ });
693
+ }
694
+ if (rowCount > ROW_COUNT_LIMIT) errors.push({
695
+ title: intl.formatMessage(messages$3.rowLimitExceededTitle),
696
+ description: intl.formatMessage(messages$3.rowLimitExceededDescription, {
697
+ rowLimit: intl.formatNumber(ROW_COUNT_LIMIT)
698
+ })
699
+ });
700
+ if (errors.length > 0) {
701
+ actions.setFileUploadErrors(errors);
702
+ actions.setCurrentStep('upload-error');
703
+ return false;
704
+ }
705
+ return true;
706
+ };
707
+ const handleUploadError = error => {
708
+ if (isAbortError(error)) {
709
+ actions.cancelImport();
710
+ return;
711
+ }
712
+ if (error instanceof HttpError) {
713
+ if (error.errorData?.code === 'MISSING_KEY_ERROR') {
714
+ actions.setFileUploadErrors([{
715
+ title: intl.formatMessage(messages$3.missingRequiredField),
716
+ description: intl.formatMessage(messages$3.missingKeyError)
717
+ }]);
718
+ actions.setCurrentStep('upload-error');
719
+ } else {
720
+ actions.cancelImport();
721
+ showNotification({
722
+ kind: 'error',
723
+ domain: DOMAINS.PAGE,
724
+ text: intl.formatMessage(messages$3.unexpectedError)
725
+ });
726
+ }
727
+ } else {
728
+ actions.cancelImport();
729
+ showNotification({
730
+ kind: 'error',
731
+ domain: DOMAINS.PAGE,
732
+ text: String(error)
733
+ });
734
+ reportErrorToSentry(new Error('Upload File Error: An unexpected issue occurred while uploading the file'), {
735
+ extra: {
736
+ error,
737
+ projectKey,
738
+ containerKey: state.containerKey,
739
+ fileSizeInBytes: state.droppedFile?.size
740
+ }
741
+ });
742
+ }
743
+ };
744
+ const handleUploadAndValidation = async () => {
745
+ if (!projectKey || !state.droppedFile) return;
746
+ const canUpload = await isFileValid(state.droppedFile);
747
+ if (!canUpload) return;
748
+ actions.setCurrentStep('uploading');
749
+ const containerKey = encodeFileNameWithTimestampToContainerKey(state.droppedFile.name);
750
+ actions.setContainerKey(containerKey);
751
+ try {
752
+ await createImportContainerForFileUpload({
753
+ key: containerKey,
754
+ tags: [TAG_KEY_SOURCE_FILE_UPLOAD],
755
+ resourceType: 'product',
756
+ settings: {
757
+ resourceType: 'product-draft',
758
+ format: 'CSV',
759
+ options: {
760
+ unpublishAllChanges: true
761
+ }
762
+ }
763
+ }, projectKey, asyncDispatch);
764
+ const newAbortController = uploadFileForImport({
765
+ projectKey,
766
+ containerKey,
767
+ file: state.droppedFile,
768
+ onSuccess: fileUploadResponse => {
769
+ actions.setUploadFileResponse(fileUploadResponse);
770
+ actions.setCurrentStep('upload-preview');
771
+ },
772
+ onProgress: progress => {
773
+ actions.setProgress(progress);
774
+ },
775
+ onError: error => {
776
+ deleteImportContainer(projectKey, containerKey, asyncDispatch);
777
+ handleUploadError(error);
778
+ }
779
+ });
780
+ actions.setAbortController(newAbortController);
781
+ } catch (error) {
782
+ deleteImportContainer(projectKey, containerKey, asyncDispatch);
783
+ handleUploadError(error);
784
+ }
785
+ };
786
+ return {
787
+ handleUploadAndValidation
788
+ };
789
+ };
790
+
791
+ 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; }
792
+ function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context3 = ownKeys$7(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context4 = ownKeys$7(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
793
+ const FileDropArea = () => {
794
+ const intl = useIntl();
795
+ const _useUnpublishProducts = useUnpublishProductsContext(),
796
+ state = _useUnpublishProducts.state,
797
+ actions = _useUnpublishProducts.actions;
798
+ const showNotification = useShowNotification();
799
+ const onDrop = React.useCallback(_ref => {
800
+ let _ref2 = _slicedToArray(_ref, 1),
801
+ file = _ref2[0];
802
+ if (!file) return;
803
+ actions.setDroppedFile(file);
804
+ }, [actions]);
805
+ const _useDropzone = useDropzone({
806
+ onDrop,
807
+ multiple: false,
808
+ accept: {
809
+ 'text/csv': ['.csv']
810
+ },
811
+ onDropRejected: _ref3 => {
812
+ var _context, _context2;
813
+ let _ref4 = _slicedToArray(_ref3, 1),
814
+ rejectedFile = _ref4[0];
815
+ if (_someInstanceProperty(_context = rejectedFile.errors).call(_context, error => error.code === 'too-many-files')) {
816
+ showNotification({
817
+ kind: 'error',
818
+ domain: DOMAINS.PAGE,
819
+ text: intl.formatMessage(messages$4.tooManyFilesError)
820
+ });
821
+ return;
822
+ }
823
+ if (_someInstanceProperty(_context2 = rejectedFile.errors).call(_context2, error => error.code === 'file-invalid-type')) {
824
+ showNotification({
825
+ kind: 'error',
826
+ domain: DOMAINS.PAGE,
827
+ text: intl.formatMessage(messages$4.fileFormatNotSupported)
828
+ });
829
+ } else {
830
+ showNotification({
831
+ kind: 'error',
832
+ domain: DOMAINS.PAGE,
833
+ text: intl.formatMessage(messages$4.genericError)
834
+ });
835
+ }
836
+ }
837
+ }),
838
+ getRootProps = _useDropzone.getRootProps,
839
+ getInputProps = _useDropzone.getInputProps,
840
+ isDragActive = _useDropzone.isDragActive;
841
+ const dropAreaState = React.useMemo(() => getDropAreaState({
842
+ isReady: Boolean(state.droppedFile),
843
+ isDragActive
844
+ }), [state.droppedFile, isDragActive]);
845
+ const dropArea = getDropArea({
846
+ dropAreaState,
847
+ isFileDropped: Boolean(state.droppedFile)
848
+ });
849
+ return jsxs(DropWrapper, _objectSpread$7(_objectSpread$7({
850
+ role: "presentation"
851
+ }, getRootProps()), {}, {
852
+ dropAreaState: dropAreaState,
853
+ children: [jsx("input", _objectSpread$7({
854
+ "data-testid": "file-input"
855
+ }, getInputProps())), jsx(Constraints.Horizontal, {
856
+ children: dropArea
857
+ })]
858
+ }));
859
+ };
860
+
861
+ var sharedMessages = defineMessages({
862
+ unpublishModalTitle: {
863
+ id: "UnpublishProductsModal.unpublishModalTitle",
864
+ defaultMessage: "Bulk unpublish via CSV"
865
+ },
866
+ startBulkUnpublish: {
867
+ id: "UnpublishProductsModal.startBulkUnpublish",
868
+ defaultMessage: "Start bulk unpublish"
869
+ },
870
+ cancel: {
871
+ id: "UnpublishProductsModal.cancel",
872
+ defaultMessage: "Cancel"
873
+ }
874
+ });
875
+
876
+ var messages$2 = defineMessages({
877
+ fileUploadInstructions: {
878
+ id: "UnpublishProductsModal.fileUploadInstructions",
879
+ defaultMessage: "The CSV file must contain the product keys to be unpublished under the header 'key'. Maximum file size is {maxFileSize} MB with a limit of {maxRowCount} rows. Download <csvTemplateLink>the CSV template</csvTemplateLink> or refer to <documentationLink>the documentation</documentationLink>."
880
+ }
881
+ });
882
+
883
+ 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; }
884
+ 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; }
885
+ const Instructions = () => {
886
+ const intl = useIntl();
887
+ return jsx(Text.Body, {
888
+ intlMessage: _objectSpread$6(_objectSpread$6({}, messages$2.fileUploadInstructions), {}, {
889
+ values: {
890
+ maxFileSize: intl.formatNumber(FILE_SIZE_LIMIT_MB),
891
+ maxRowCount: intl.formatNumber(ROW_COUNT_LIMIT),
892
+ csvTemplateLink: msg => jsx(Link, {
893
+ tone: "secondary",
894
+ isExternal: true,
895
+ to: TEMPLATE_DOWNLOAD_LINK,
896
+ children: msg
897
+ }),
898
+ documentationLink: msg => jsx(Link, {
899
+ tone: "secondary",
900
+ isExternal: true,
901
+ to: DOCUMENTATION_LINK,
902
+ children: msg
903
+ })
904
+ }
905
+ })
906
+ });
907
+ };
908
+
909
+ const Upload = () => {
910
+ const _useUnpublishProducts = useUnpublishProductsContext(),
911
+ state = _useUnpublishProducts.state,
912
+ onClose = _useUnpublishProducts.onClose;
913
+ const intl = useIntl();
914
+ const _useUpload = useUpload(),
915
+ handleUploadAndValidation = _useUpload.handleUploadAndValidation;
916
+ return jsx(FormDialog, {
917
+ size: 16,
918
+ isOpen: true,
919
+ title: intl.formatMessage(sharedMessages.unpublishModalTitle),
920
+ labelPrimary: intl.formatMessage(messages$4.uploadAndPreview),
921
+ onPrimaryButtonClick: handleUploadAndValidation,
922
+ isPrimaryButtonDisabled: !Boolean(state.droppedFile),
923
+ onSecondaryButtonClick: () => onClose({
924
+ shouldDeleteImportContainer: true
925
+ }),
926
+ onClose: () => onClose({
927
+ shouldDeleteImportContainer: true
928
+ }),
929
+ children: jsx(Masking.Unmask, {
930
+ children: jsxs(Spacings.Stack, {
931
+ scale: "m",
932
+ children: [jsx(Instructions, {}), jsx(FileDropArea, {})]
933
+ })
934
+ })
935
+ });
936
+ };
937
+
938
+ 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; }
939
+ 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; }
940
+ var FileIcon = function FileIcon(props) {
941
+ return jsxs("svg", _objectSpread$5(_objectSpread$5({}, props), {}, {
942
+ children: [jsx("mask", {
943
+ id: "a",
944
+ style: {
945
+ maskType: "alpha"
946
+ },
947
+ maskUnits: "userSpaceOnUse",
948
+ x: "0",
949
+ y: "0",
950
+ width: "32",
951
+ height: "32",
952
+ children: jsx("path", {
953
+ fill: "#D9D9D9",
954
+ d: "M0 0h32v32H0z"
955
+ })
956
+ }), jsx("g", {
957
+ mask: "url(#a)",
958
+ children: jsx("path", {
959
+ d: "M14.667 25.333h2.666v-5.566l2.134 2.133 1.866-1.9L16 14.667 10.667 20l1.9 1.867 2.1-2.1v5.566Zm-6.667 4a2.568 2.568 0 0 1-1.883-.783 2.568 2.568 0 0 1-.784-1.883V5.333c0-.733.261-1.36.784-1.883A2.568 2.568 0 0 1 8 2.667h10.667l8 8v16c0 .733-.261 1.36-.784 1.883a2.568 2.568 0 0 1-1.883.783H8ZM17.333 12H24l-6.667-6.667V12Z",
960
+ fill: "#B1ACFF"
961
+ })
962
+ })]
963
+ }));
964
+ };
965
+ FileIcon.defaultProps = {
966
+ width: "32",
967
+ height: "32",
968
+ fill: "none",
969
+ xmlns: "http://www.w3.org/2000/svg"
970
+ };
971
+ const Uploading = () => {
972
+ const intl = useIntl();
973
+ const _useUnpublishProducts = useUnpublishProductsContext(),
974
+ state = _useUnpublishProducts.state,
975
+ actions = _useUnpublishProducts.actions,
976
+ onClose = _useUnpublishProducts.onClose;
977
+ if (state.droppedFile?.name) return jsx(InfoDialog, {
978
+ size: 16,
979
+ isOpen: true,
980
+ title: intl.formatMessage(sharedMessages.unpublishModalTitle),
981
+ onClose: () => onClose({
982
+ shouldDeleteImportContainer: true
983
+ }),
984
+ children: jsxs(Spacings.Stack, {
985
+ scale: "m",
986
+ children: [jsxs(Spacings.Inline, {
987
+ alignItems: "center",
988
+ justifyContent: "space-between",
989
+ children: [jsxs(Spacings.Inline, {
990
+ alignItems: "center",
991
+ children: [jsx(FileIcon, {}), jsx(Spacings.Inline, {
992
+ children: jsx(Constraints.Horizontal, {
993
+ max: 10,
994
+ children: jsx(Text.Body, {
995
+ truncate: true,
996
+ fontWeight: "bold",
997
+ children: state.droppedFile.name
998
+ })
999
+ })
1000
+ }), jsxs(Text.Body, {
1001
+ tone: "secondary",
1002
+ children: ["(", intl.formatNumber(convertFileSizeToKB(state.droppedFile.size)), ' ', "KB)"]
1003
+ })]
1004
+ }), jsx(SecondaryButton, {
1005
+ tone: "secondary",
1006
+ size: "medium",
1007
+ label: intl.formatMessage(sharedMessages.cancel),
1008
+ onClick: () => {
1009
+ actions.setCurrentStep('upload');
1010
+ state.abortController.abort();
1011
+ }
1012
+ })]
1013
+ }), jsx(ProgressBar, {
1014
+ barWidth: "scale",
1015
+ height: "10",
1016
+ progress: state.progress
1017
+ }), jsx("div", {})]
1018
+ })
1019
+ });
1020
+ return null;
1021
+ };
1022
+
1023
+ var messages$1 = defineMessages({
1024
+ uploadNewFile: {
1025
+ id: "UnpublishProductsModal.uploadNewFile",
1026
+ defaultMessage: "Upload new file"
1027
+ },
1028
+ uploadErrorDescription: {
1029
+ id: "UnpublishProductsModal.uploadError",
1030
+ defaultMessage: "There {errorsCount, plural, one {is <b>1</b> error} other {are <b>{errorsCount}</b> errors}} detected while uploading the file \"{fileName}\"."
1031
+ },
1032
+ errorType: {
1033
+ id: "UnpublishProductsModal.errorType",
1034
+ defaultMessage: "Error type"
1035
+ },
1036
+ details: {
1037
+ id: "UnpublishProductsModal.details",
1038
+ defaultMessage: "Details"
1039
+ }
1040
+ });
1041
+
1042
+ function ownKeys$4(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; }
1043
+ function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys$4(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys$4(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
1044
+ const getColumns = () => [{
1045
+ key: 'errorType',
1046
+ label: jsx(FormattedMessage, _objectSpread$4({}, messages$1.errorType)),
1047
+ width: 'max-content'
1048
+ }, {
1049
+ key: 'details',
1050
+ label: jsx(FormattedMessage, _objectSpread$4({}, messages$1.details))
1051
+ }];
1052
+ const UploadErrorTable = props => {
1053
+ var _context;
1054
+ const pagination = usePaginationState({
1055
+ perPage: 10
1056
+ });
1057
+ const startIndex = (pagination.page.value - 1) * pagination.perPage.value;
1058
+ const endIndex = startIndex + pagination.perPage.value;
1059
+ const currentPageRows = _sliceInstanceProperty(_context = props.rows).call(_context, startIndex, endIndex);
1060
+ const shouldShowPagination = props.rows.length > pagination.perPage.value;
1061
+ return jsxs(Spacings.Stack, {
1062
+ scale: "l",
1063
+ children: [jsx(DataTable, {
1064
+ verticalCellAlignment: "center",
1065
+ isCondensed: true,
1066
+ rows: currentPageRows,
1067
+ columns: getColumns(),
1068
+ itemRenderer: itemRenderer
1069
+ }), shouldShowPagination && jsx(PageNavigator, {
1070
+ onPageChange: pagination.page.onChange,
1071
+ page: pagination.page.value,
1072
+ totalPages: Math.ceil(props.rows.length / pagination.perPage.value)
1073
+ })]
1074
+ });
1075
+ };
1076
+ function itemRenderer(item, column) {
1077
+ switch (column.key) {
1078
+ case 'errorType':
1079
+ return jsx(Stamp, {
1080
+ isCondensed: true,
1081
+ label: item.title,
1082
+ tone: "critical"
1083
+ });
1084
+ case 'details':
1085
+ return jsx(Text.Body, {
1086
+ children: item.description
1087
+ });
1088
+ default:
1089
+ return null;
1090
+ }
1091
+ }
1092
+
1093
+ function ownKeys$3(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; }
1094
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$3(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$3(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
1095
+ const UploadErrorsModal = () => {
1096
+ const intl = useIntl();
1097
+ const _useUnpublishProducts = useUnpublishProductsContext(),
1098
+ state = _useUnpublishProducts.state,
1099
+ actions = _useUnpublishProducts.actions,
1100
+ onClose = _useUnpublishProducts.onClose;
1101
+ const errorsCount = state.fileUploadErrors.length;
1102
+ return jsx(InfoDialog, {
1103
+ size: 16,
1104
+ isOpen: true,
1105
+ title: intl.formatMessage(sharedMessages.unpublishModalTitle),
1106
+ onClose: () => onClose(),
1107
+ children: jsx(Masking.Unmask, {
1108
+ children: jsxs(Spacings.Stack, {
1109
+ scale: "l",
1110
+ children: [jsx(Masking.Mask, {
1111
+ children: jsx(Text.Body, {
1112
+ intlMessage: _objectSpread$3(_objectSpread$3({}, messages$1.uploadErrorDescription), {}, {
1113
+ values: {
1114
+ fileName: state.droppedFile?.name,
1115
+ errorsCount: intl.formatNumber(errorsCount),
1116
+ b: getBold$2
1117
+ }
1118
+ })
1119
+ })
1120
+ }), jsx(UploadErrorTable, {
1121
+ rows: mapFileUploadErrorsToUploadFileErrorRows(state.fileUploadErrors)
1122
+ }), jsxs(Spacings.Inline, {
1123
+ scale: "m",
1124
+ justifyContent: "flex-end",
1125
+ children: [jsx(SecondaryButton, {
1126
+ label: intl.formatMessage(sharedMessages.cancel),
1127
+ onClick: () => onClose()
1128
+ }), jsx(PrimaryButton, {
1129
+ iconLeft: jsx(ImportIcon, {}),
1130
+ label: intl.formatMessage(messages$1.uploadNewFile),
1131
+ onClick: () => actions.uploadNewFile()
1132
+ })]
1133
+ })]
1134
+ })
1135
+ })
1136
+ });
1137
+ };
1138
+ function getBold$2(msg) {
1139
+ return jsx(Text.Body, {
1140
+ as: "span",
1141
+ isBold: true,
1142
+ children: msg
1143
+ });
1144
+ }
1145
+
1146
+ var messages = defineMessages({
1147
+ continue: {
1148
+ id: "UnpublishProductsModal.continue",
1149
+ defaultMessage: "Continue"
1150
+ },
1151
+ heresAPreview: {
1152
+ id: "UnpublishProductsModal.heresAPreview",
1153
+ defaultMessage: "Here's a preview:"
1154
+ },
1155
+ productsToBeUnpublished: {
1156
+ id: "UnpublishProductsModal.productsToBeUnpublished",
1157
+ defaultMessage: "{count, plural, one {<b>{count}</b> product to be unpublished} other {<b>{count}</b> products to be unpublished}}"
1158
+ },
1159
+ confirmationQuestion: {
1160
+ id: "UnpublishProductsModal.confirmationQuestion",
1161
+ defaultMessage: "Are you sure you want to unpublish the products?"
1162
+ },
1163
+ confirmationText: {
1164
+ id: "UnpublishProductsModal.confirmationText",
1165
+ defaultMessage: "{count, plural, one {You are about to unpublish <b>{count}</b> product in the project: <b>{projectName}</b>.} other {You are about to unpublish <b>{count}</b> products in the project: <b>{projectName}</b>.}}"
1166
+ },
1167
+ importStarted: {
1168
+ id: "UnpublishProductsModal.importStarted",
1169
+ defaultMessage: "<b>Your import for bulk unpublish has started.</b><newline></newline>Go to <logsLink>Import logs</logsLink> to view the progress."
1170
+ },
1171
+ preparingImport: {
1172
+ id: "UnpublishProductsModal.preparingImport",
1173
+ defaultMessage: "<b>Prepare bulk unpublish.</b><newline></newline>Once preparation is complete, you can track the progress <logsLink>in the Import logs</logsLink>. The data will be unpublished after the import is finalized."
1174
+ }
1175
+ });
1176
+
1177
+ function ownKeys$2(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; }
1178
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$2(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$2(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
1179
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
1180
+ const getNewLine = () => jsx("br", {});
1181
+ const getImportLogsLink = (msg, projectKey) => jsx(Link, {
1182
+ to: `/${projectKey}/operations/import/logs`,
1183
+ children: msg
1184
+ });
1185
+ var _ref2 = process.env.NODE_ENV === "production" ? {
1186
+ name: "1vs9i7r",
1187
+ styles: "width:360px"
1188
+ } : {
1189
+ name: "g36yzl-ImportRunningTextNotification",
1190
+ styles: "width:360px;label:ImportRunningTextNotification;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVucHVibGlzaC1wcm9kdWN0cy1jb25maXJtYXRpb24tbW9kYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFCWSIsImZpbGUiOiJ1bnB1Ymxpc2gtcHJvZHVjdHMtY29uZmlybWF0aW9uLW1vZGFsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUludGwgfSBmcm9tICdyZWFjdC1pbnRsJ1xuaW1wb3J0IHsgdXNlU2hvd05vdGlmaWNhdGlvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FjdGlvbnMtZ2xvYmFsJ1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tY29tcG9uZW50cydcbmltcG9ydCB7IHVzZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnXG5pbXBvcnQgeyBET01BSU5TIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJ1xuaW1wb3J0IHsgTWFza2luZyBhcyBGdWxsU3RvcnlNYXNraW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvZnVsbHN0b3J5J1xuaW1wb3J0IHsgdXNlQXN5bmNEaXNwYXRjaCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NkaydcbmltcG9ydCB7IExpbmssIFNwYWNpbmdzLCBUZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvdWkta2l0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcydcbmltcG9ydCB7IHByb2Nlc3NVcGxvYWRlZEZpbGUgfSBmcm9tICcuLi8uLi9AYXBpJ1xuaW1wb3J0IHsgdXNlVW5wdWJsaXNoUHJvZHVjdHNDb250ZXh0IH0gZnJvbSAnLi4vLi4vQGhvb2tzJ1xuaW1wb3J0IHNoYXJlZE1lc3NhZ2VzIGZyb20gJy4uLy4uL21lc3NhZ2VzJ1xuXG5jb25zdCBnZXROZXdMaW5lID0gKCkgPT4gPGJyIC8+XG5jb25zdCBnZXRJbXBvcnRMb2dzTGluayA9IChtc2c6IHN0cmluZywgcHJvamVjdEtleT86IHN0cmluZykgPT4gKFxuICA8TGluayB0bz17YC8ke3Byb2plY3RLZXl9L29wZXJhdGlvbnMvaW1wb3J0L2xvZ3NgfT57bXNnfTwvTGluaz5cbilcblxuY29uc3QgSW1wb3J0UnVubmluZ1RleHROb3RpZmljYXRpb24gPSAocHJvcHM6IHsgcHJvamVjdEtleTogc3RyaW5nIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgd2lkdGg6IDM2MHB4O1xuICAgIGB9XG4gID5cbiAgICA8VGV4dC5Cb2R5XG4gICAgICBpbnRsTWVzc2FnZT17e1xuICAgICAgICAuLi5tZXNzYWdlcy5pbXBvcnRTdGFydGVkLFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICBuZXdsaW5lOiBnZXROZXdMaW5lLFxuICAgICAgICAgIGxvZ3NMaW5rOiAobXNnOiBzdHJpbmcpID0+IGdldEltcG9ydExvZ3NMaW5rKG1zZywgcHJvcHMucHJvamVjdEtleSksXG4gICAgICAgICAgYjogZ2V0Qm9sZCxcbiAgICAgICAgfSxcbiAgICAgIH19XG4gICAgLz5cbiAgPC9kaXY+XG4pXG5cbmNvbnN0IEltcG9ydFByZXBhcmluZ1RleHROb3RpZmljYXRpb24gPSAocHJvcHM6IHsgcHJvamVjdEtleTogc3RyaW5nIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgd2lkdGg6IDM2MHB4O1xuICAgIGB9XG4gID5cbiAgICA8VGV4dC5Cb2R5XG4gICAgICBpbnRsTWVzc2FnZT17e1xuICAgICAgICAuLi5tZXNzYWdlcy5wcmVwYXJpbmdJbXBvcnQsXG4gICAgICAgIHZhbHVlczoge1xuICAgICAgICAgIG5ld2xpbmU6IGdldE5ld0xpbmUsXG4gICAgICAgICAgbG9nc0xpbms6IChtc2c6IHN0cmluZykgPT4gZ2V0SW1wb3J0TG9nc0xpbmsobXNnLCBwcm9wcy5wcm9qZWN0S2V5KSxcbiAgICAgICAgICBiOiBnZXRCb2xkLFxuICAgICAgICB9LFxuICAgICAgfX1cbiAgICAvPlxuICA8L2Rpdj5cbilcblxuZXhwb3J0IGNvbnN0IFVucHVibGlzaFByb2R1Y3RzQ29uZmlybWF0aW9uTW9kYWwgPSAoKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKClcbiAgY29uc3QgeyBzdGF0ZSwgb25DbG9zZSB9ID0gdXNlVW5wdWJsaXNoUHJvZHVjdHNDb250ZXh0KClcbiAgY29uc3QgeyBwcm9qZWN0S2V5LCBwcm9qZWN0TmFtZSB9ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KChjb250ZXh0KSA9PiAoe1xuICAgIHByb2plY3RLZXk6IGNvbnRleHQucHJvamVjdD8ua2V5LFxuICAgIHByb2plY3ROYW1lOiBjb250ZXh0LnByb2plY3Q/Lm5hbWUsXG4gIH0pKVxuXG4gIGNvbnN0IGFzeW5jRGlzcGF0Y2ggPSB1c2VBc3luY0Rpc3BhdGNoKClcblxuICBjb25zdCBzaG93Tm90aWZpY2F0aW9uID0gdXNlU2hvd05vdGlmaWNhdGlvbigpXG5cbiAgcmV0dXJuIChcbiAgICA8Q29uZmlybWF0aW9uRGlhbG9nXG4gICAgICB0aXRsZT17aW50bC5mb3JtYXRNZXNzYWdlKHNoYXJlZE1lc3NhZ2VzLnVucHVibGlzaE1vZGFsVGl0bGUpfVxuICAgICAgbGFiZWxQcmltYXJ5PXtpbnRsLmZvcm1hdE1lc3NhZ2Uoc2hhcmVkTWVzc2FnZXMuc3RhcnRCdWxrVW5wdWJsaXNoKX1cbiAgICAgIGlzT3Blbj17dHJ1ZX1cbiAgICAgIG9uQ2xvc2U9eygpID0+IG9uQ2xvc2UoeyBzaG91bGREZWxldGVJbXBvcnRDb250YWluZXI6IHRydWUgfSl9XG4gICAgICBvbkNhbmNlbD17KCkgPT4gb25DbG9zZSh7IHNob3VsZERlbGV0ZUltcG9ydENvbnRhaW5lcjogdHJ1ZSB9KX1cbiAgICAgIGRhdGFBdHRyaWJ1dGVzUHJpbWFyeUJ1dHRvbj17e1xuICAgICAgICAnZGF0YS10ZXN0LWlkJzogJ2NvbmZpcm1hdGlvbi1kaWFsb2ctY29uZmlybScsXG4gICAgICB9fVxuICAgICAgZGF0YUF0dHJpYnV0ZXNTZWNvbmRhcnlCdXR0b249e3tcbiAgICAgICAgJ2RhdGEtdGVzdC1pZCc6ICdjb25maXJtYXRpb24tZGlhbG9nLWNhbmNlbCcsXG4gICAgICB9fVxuICAgICAgb25Db25maXJtPXthc3luYyAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgY2FuQ29uZmlybSA9XG4gICAgICAgICAgICBwcm9qZWN0S2V5ICYmIHN0YXRlLmNvbnRhaW5lcktleSAmJiBzdGF0ZS5kcm9wcGVkRmlsZT8ubmFtZVxuICAgICAgICAgIGlmICghY2FuQ29uZmlybSkgcmV0dXJuXG4gICAgICAgICAgb25DbG9zZSgpXG4gICAgICAgICAgc2hvd05vdGlmaWNhdGlvbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAga2luZDogJ2luZm8nLFxuICAgICAgICAgICAgICBkb21haW46IERPTUFJTlMuU0lERSxcbiAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICB0ZXh0OiA8SW1wb3J0UHJlcGFyaW5nVGV4dE5vdGlmaWNhdGlvbiBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5fSAvPixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGRpc21pc3NBZnRlcjogNTAwMCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgICAgICAgYXdhaXQgcHJvY2Vzc1VwbG9hZGVkRmlsZSh7XG4gICAgICAgICAgICBwcm9qZWN0S2V5LFxuICAgICAgICAgICAgY29udGFpbmVyS2V5OiBzdGF0ZS5jb250YWluZXJLZXkhLFxuICAgICAgICAgICAgYXN5bmNEaXNwYXRjaCxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHNob3dOb3RpZmljYXRpb24oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6ICdpbmZvJyxcbiAgICAgICAgICAgICAgZG9tYWluOiBET01BSU5TLlNJREUsXG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgdGV4dDogPEltcG9ydFJ1bm5pbmdUZXh0Tm90aWZpY2F0aW9uIHByb2plY3RLZXk9e3Byb2plY3RLZXl9IC8+LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZGlzbWlzc0FmdGVyOiA1MDAwLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIClcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBvbkNsb3NlKHsgc2hvdWxkRGVsZXRlSW1wb3J0Q29udGFpbmVyOiB0cnVlIH0pXG4gICAgICAgICAgc2hvd05vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICBraW5kOiAnZXJyb3InLFxuICAgICAgICAgICAgZG9tYWluOiBET01BSU5TLlBBR0UsXG4gICAgICAgICAgICB0ZXh0OiBTdHJpbmcoZXJyb3IpLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH19XG4gICAgICBzaXplPXsxNn1cbiAgICA+XG4gICAgICA8RnVsbFN0b3J5TWFza2luZy5Vbm1hc2s+XG4gICAgICAgIDxTcGFjaW5ncy5TdGFjayBzY2FsZT1cInhsXCI+XG4gICAgICAgICAgPFRleHQuQm9keVxuICAgICAgICAgICAgaW50bE1lc3NhZ2U9e3tcbiAgICAgICAgICAgICAgLi4ubWVzc2FnZXMuY29uZmlybWF0aW9uVGV4dCxcbiAgICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgcHJvamVjdE5hbWU6IHByb2plY3ROYW1lLFxuICAgICAgICAgICAgICAgIC8vIFRPRE86IFJlcGxhY2Ugd2l0aCBhY3R1YWwgY291bnRcbiAgICAgICAgICAgICAgICBjb3VudDogaW50bC5mb3JtYXROdW1iZXIoc3RhdGUudXBsb2FkRmlsZVJlc3BvbnNlPy5yb3dzQ291bnQpLFxuICAgICAgICAgICAgICAgIGI6IGdldEJvbGQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFRleHQuQm9keSBpbnRsTWVzc2FnZT17bWVzc2FnZXMuY29uZmlybWF0aW9uUXVlc3Rpb259IC8+XG4gICAgICAgIDwvU3BhY2luZ3MuU3RhY2s+XG4gICAgICA8L0Z1bGxTdG9yeU1hc2tpbmcuVW5tYXNrPlxuICAgIDwvQ29uZmlybWF0aW9uRGlhbG9nPlxuICApXG59XG5cbmZ1bmN0aW9uIGdldEJvbGQobXNnOiBzdHJpbmcpIHtcbiAgcmV0dXJuIChcbiAgICA8VGV4dC5Cb2R5IGFzPVwic3BhblwiIGlzQm9sZD5cbiAgICAgIHttc2d9XG4gICAgPC9UZXh0LkJvZHk+XG4gIClcbn1cbiJdfQ== */",
1191
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
1192
+ };
1193
+ const ImportRunningTextNotification = props => jsx("div", {
1194
+ css: _ref2,
1195
+ children: jsx(Text.Body, {
1196
+ intlMessage: _objectSpread$2(_objectSpread$2({}, messages.importStarted), {}, {
1197
+ values: {
1198
+ newline: getNewLine,
1199
+ logsLink: msg => getImportLogsLink(msg, props.projectKey),
1200
+ b: getBold$1
1201
+ }
1202
+ })
1203
+ })
1204
+ });
1205
+ var _ref = process.env.NODE_ENV === "production" ? {
1206
+ name: "1vs9i7r",
1207
+ styles: "width:360px"
1208
+ } : {
1209
+ name: "mjwslu-ImportPreparingTextNotification",
1210
+ styles: "width:360px;label:ImportPreparingTextNotification;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVucHVibGlzaC1wcm9kdWN0cy1jb25maXJtYXRpb24tbW9kYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdDWSIsImZpbGUiOiJ1bnB1Ymxpc2gtcHJvZHVjdHMtY29uZmlybWF0aW9uLW1vZGFsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUludGwgfSBmcm9tICdyZWFjdC1pbnRsJ1xuaW1wb3J0IHsgdXNlU2hvd05vdGlmaWNhdGlvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FjdGlvbnMtZ2xvYmFsJ1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tY29tcG9uZW50cydcbmltcG9ydCB7IHVzZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnXG5pbXBvcnQgeyBET01BSU5TIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJ1xuaW1wb3J0IHsgTWFza2luZyBhcyBGdWxsU3RvcnlNYXNraW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvZnVsbHN0b3J5J1xuaW1wb3J0IHsgdXNlQXN5bmNEaXNwYXRjaCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3NkaydcbmltcG9ydCB7IExpbmssIFNwYWNpbmdzLCBUZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvdWkta2l0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcydcbmltcG9ydCB7IHByb2Nlc3NVcGxvYWRlZEZpbGUgfSBmcm9tICcuLi8uLi9AYXBpJ1xuaW1wb3J0IHsgdXNlVW5wdWJsaXNoUHJvZHVjdHNDb250ZXh0IH0gZnJvbSAnLi4vLi4vQGhvb2tzJ1xuaW1wb3J0IHNoYXJlZE1lc3NhZ2VzIGZyb20gJy4uLy4uL21lc3NhZ2VzJ1xuXG5jb25zdCBnZXROZXdMaW5lID0gKCkgPT4gPGJyIC8+XG5jb25zdCBnZXRJbXBvcnRMb2dzTGluayA9IChtc2c6IHN0cmluZywgcHJvamVjdEtleT86IHN0cmluZykgPT4gKFxuICA8TGluayB0bz17YC8ke3Byb2plY3RLZXl9L29wZXJhdGlvbnMvaW1wb3J0L2xvZ3NgfT57bXNnfTwvTGluaz5cbilcblxuY29uc3QgSW1wb3J0UnVubmluZ1RleHROb3RpZmljYXRpb24gPSAocHJvcHM6IHsgcHJvamVjdEtleTogc3RyaW5nIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgd2lkdGg6IDM2MHB4O1xuICAgIGB9XG4gID5cbiAgICA8VGV4dC5Cb2R5XG4gICAgICBpbnRsTWVzc2FnZT17e1xuICAgICAgICAuLi5tZXNzYWdlcy5pbXBvcnRTdGFydGVkLFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICBuZXdsaW5lOiBnZXROZXdMaW5lLFxuICAgICAgICAgIGxvZ3NMaW5rOiAobXNnOiBzdHJpbmcpID0+IGdldEltcG9ydExvZ3NMaW5rKG1zZywgcHJvcHMucHJvamVjdEtleSksXG4gICAgICAgICAgYjogZ2V0Qm9sZCxcbiAgICAgICAgfSxcbiAgICAgIH19XG4gICAgLz5cbiAgPC9kaXY+XG4pXG5cbmNvbnN0IEltcG9ydFByZXBhcmluZ1RleHROb3RpZmljYXRpb24gPSAocHJvcHM6IHsgcHJvamVjdEtleTogc3RyaW5nIH0pID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgd2lkdGg6IDM2MHB4O1xuICAgIGB9XG4gID5cbiAgICA8VGV4dC5Cb2R5XG4gICAgICBpbnRsTWVzc2FnZT17e1xuICAgICAgICAuLi5tZXNzYWdlcy5wcmVwYXJpbmdJbXBvcnQsXG4gICAgICAgIHZhbHVlczoge1xuICAgICAgICAgIG5ld2xpbmU6IGdldE5ld0xpbmUsXG4gICAgICAgICAgbG9nc0xpbms6IChtc2c6IHN0cmluZykgPT4gZ2V0SW1wb3J0TG9nc0xpbmsobXNnLCBwcm9wcy5wcm9qZWN0S2V5KSxcbiAgICAgICAgICBiOiBnZXRCb2xkLFxuICAgICAgICB9LFxuICAgICAgfX1cbiAgICAvPlxuICA8L2Rpdj5cbilcblxuZXhwb3J0IGNvbnN0IFVucHVibGlzaFByb2R1Y3RzQ29uZmlybWF0aW9uTW9kYWwgPSAoKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKClcbiAgY29uc3QgeyBzdGF0ZSwgb25DbG9zZSB9ID0gdXNlVW5wdWJsaXNoUHJvZHVjdHNDb250ZXh0KClcbiAgY29uc3QgeyBwcm9qZWN0S2V5LCBwcm9qZWN0TmFtZSB9ID0gdXNlQXBwbGljYXRpb25Db250ZXh0KChjb250ZXh0KSA9PiAoe1xuICAgIHByb2plY3RLZXk6IGNvbnRleHQucHJvamVjdD8ua2V5LFxuICAgIHByb2plY3ROYW1lOiBjb250ZXh0LnByb2plY3Q/Lm5hbWUsXG4gIH0pKVxuXG4gIGNvbnN0IGFzeW5jRGlzcGF0Y2ggPSB1c2VBc3luY0Rpc3BhdGNoKClcblxuICBjb25zdCBzaG93Tm90aWZpY2F0aW9uID0gdXNlU2hvd05vdGlmaWNhdGlvbigpXG5cbiAgcmV0dXJuIChcbiAgICA8Q29uZmlybWF0aW9uRGlhbG9nXG4gICAgICB0aXRsZT17aW50bC5mb3JtYXRNZXNzYWdlKHNoYXJlZE1lc3NhZ2VzLnVucHVibGlzaE1vZGFsVGl0bGUpfVxuICAgICAgbGFiZWxQcmltYXJ5PXtpbnRsLmZvcm1hdE1lc3NhZ2Uoc2hhcmVkTWVzc2FnZXMuc3RhcnRCdWxrVW5wdWJsaXNoKX1cbiAgICAgIGlzT3Blbj17dHJ1ZX1cbiAgICAgIG9uQ2xvc2U9eygpID0+IG9uQ2xvc2UoeyBzaG91bGREZWxldGVJbXBvcnRDb250YWluZXI6IHRydWUgfSl9XG4gICAgICBvbkNhbmNlbD17KCkgPT4gb25DbG9zZSh7IHNob3VsZERlbGV0ZUltcG9ydENvbnRhaW5lcjogdHJ1ZSB9KX1cbiAgICAgIGRhdGFBdHRyaWJ1dGVzUHJpbWFyeUJ1dHRvbj17e1xuICAgICAgICAnZGF0YS10ZXN0LWlkJzogJ2NvbmZpcm1hdGlvbi1kaWFsb2ctY29uZmlybScsXG4gICAgICB9fVxuICAgICAgZGF0YUF0dHJpYnV0ZXNTZWNvbmRhcnlCdXR0b249e3tcbiAgICAgICAgJ2RhdGEtdGVzdC1pZCc6ICdjb25maXJtYXRpb24tZGlhbG9nLWNhbmNlbCcsXG4gICAgICB9fVxuICAgICAgb25Db25maXJtPXthc3luYyAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgY2FuQ29uZmlybSA9XG4gICAgICAgICAgICBwcm9qZWN0S2V5ICYmIHN0YXRlLmNvbnRhaW5lcktleSAmJiBzdGF0ZS5kcm9wcGVkRmlsZT8ubmFtZVxuICAgICAgICAgIGlmICghY2FuQ29uZmlybSkgcmV0dXJuXG4gICAgICAgICAgb25DbG9zZSgpXG4gICAgICAgICAgc2hvd05vdGlmaWNhdGlvbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAga2luZDogJ2luZm8nLFxuICAgICAgICAgICAgICBkb21haW46IERPTUFJTlMuU0lERSxcbiAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICB0ZXh0OiA8SW1wb3J0UHJlcGFyaW5nVGV4dE5vdGlmaWNhdGlvbiBwcm9qZWN0S2V5PXtwcm9qZWN0S2V5fSAvPixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGRpc21pc3NBZnRlcjogNTAwMCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgICAgICAgYXdhaXQgcHJvY2Vzc1VwbG9hZGVkRmlsZSh7XG4gICAgICAgICAgICBwcm9qZWN0S2V5LFxuICAgICAgICAgICAgY29udGFpbmVyS2V5OiBzdGF0ZS5jb250YWluZXJLZXkhLFxuICAgICAgICAgICAgYXN5bmNEaXNwYXRjaCxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHNob3dOb3RpZmljYXRpb24oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6ICdpbmZvJyxcbiAgICAgICAgICAgICAgZG9tYWluOiBET01BSU5TLlNJREUsXG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgdGV4dDogPEltcG9ydFJ1bm5pbmdUZXh0Tm90aWZpY2F0aW9uIHByb2plY3RLZXk9e3Byb2plY3RLZXl9IC8+LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZGlzbWlzc0FmdGVyOiA1MDAwLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIClcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBvbkNsb3NlKHsgc2hvdWxkRGVsZXRlSW1wb3J0Q29udGFpbmVyOiB0cnVlIH0pXG4gICAgICAgICAgc2hvd05vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICBraW5kOiAnZXJyb3InLFxuICAgICAgICAgICAgZG9tYWluOiBET01BSU5TLlBBR0UsXG4gICAgICAgICAgICB0ZXh0OiBTdHJpbmcoZXJyb3IpLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH19XG4gICAgICBzaXplPXsxNn1cbiAgICA+XG4gICAgICA8RnVsbFN0b3J5TWFza2luZy5Vbm1hc2s+XG4gICAgICAgIDxTcGFjaW5ncy5TdGFjayBzY2FsZT1cInhsXCI+XG4gICAgICAgICAgPFRleHQuQm9keVxuICAgICAgICAgICAgaW50bE1lc3NhZ2U9e3tcbiAgICAgICAgICAgICAgLi4ubWVzc2FnZXMuY29uZmlybWF0aW9uVGV4dCxcbiAgICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgcHJvamVjdE5hbWU6IHByb2plY3ROYW1lLFxuICAgICAgICAgICAgICAgIC8vIFRPRE86IFJlcGxhY2Ugd2l0aCBhY3R1YWwgY291bnRcbiAgICAgICAgICAgICAgICBjb3VudDogaW50bC5mb3JtYXROdW1iZXIoc3RhdGUudXBsb2FkRmlsZVJlc3BvbnNlPy5yb3dzQ291bnQpLFxuICAgICAgICAgICAgICAgIGI6IGdldEJvbGQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFRleHQuQm9keSBpbnRsTWVzc2FnZT17bWVzc2FnZXMuY29uZmlybWF0aW9uUXVlc3Rpb259IC8+XG4gICAgICAgIDwvU3BhY2luZ3MuU3RhY2s+XG4gICAgICA8L0Z1bGxTdG9yeU1hc2tpbmcuVW5tYXNrPlxuICAgIDwvQ29uZmlybWF0aW9uRGlhbG9nPlxuICApXG59XG5cbmZ1bmN0aW9uIGdldEJvbGQobXNnOiBzdHJpbmcpIHtcbiAgcmV0dXJuIChcbiAgICA8VGV4dC5Cb2R5IGFzPVwic3BhblwiIGlzQm9sZD5cbiAgICAgIHttc2d9XG4gICAgPC9UZXh0LkJvZHk+XG4gIClcbn1cbiJdfQ== */",
1211
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
1212
+ };
1213
+ const ImportPreparingTextNotification = props => jsx("div", {
1214
+ css: _ref,
1215
+ children: jsx(Text.Body, {
1216
+ intlMessage: _objectSpread$2(_objectSpread$2({}, messages.preparingImport), {}, {
1217
+ values: {
1218
+ newline: getNewLine,
1219
+ logsLink: msg => getImportLogsLink(msg, props.projectKey),
1220
+ b: getBold$1
1221
+ }
1222
+ })
1223
+ })
1224
+ });
1225
+ const UnpublishProductsConfirmationModal = () => {
1226
+ const intl = useIntl();
1227
+ const _useUnpublishProducts = useUnpublishProductsContext(),
1228
+ state = _useUnpublishProducts.state,
1229
+ onClose = _useUnpublishProducts.onClose;
1230
+ const _useApplicationContex = useApplicationContext(context => ({
1231
+ projectKey: context.project?.key,
1232
+ projectName: context.project?.name
1233
+ })),
1234
+ projectKey = _useApplicationContex.projectKey,
1235
+ projectName = _useApplicationContex.projectName;
1236
+ const asyncDispatch = useAsyncDispatch();
1237
+ const showNotification = useShowNotification();
1238
+ return jsx(ConfirmationDialog, {
1239
+ title: intl.formatMessage(sharedMessages.unpublishModalTitle),
1240
+ labelPrimary: intl.formatMessage(sharedMessages.startBulkUnpublish),
1241
+ isOpen: true,
1242
+ onClose: () => onClose({
1243
+ shouldDeleteImportContainer: true
1244
+ }),
1245
+ onCancel: () => onClose({
1246
+ shouldDeleteImportContainer: true
1247
+ }),
1248
+ dataAttributesPrimaryButton: {
1249
+ 'data-test-id': 'confirmation-dialog-confirm'
1250
+ },
1251
+ dataAttributesSecondaryButton: {
1252
+ 'data-test-id': 'confirmation-dialog-cancel'
1253
+ },
1254
+ onConfirm: async () => {
1255
+ try {
1256
+ const canConfirm = projectKey && state.containerKey && state.droppedFile?.name;
1257
+ if (!canConfirm) return;
1258
+ onClose();
1259
+ showNotification({
1260
+ kind: 'info',
1261
+ domain: DOMAINS.SIDE,
1262
+ // @ts-ignore
1263
+ text: jsx(ImportPreparingTextNotification, {
1264
+ projectKey: projectKey
1265
+ })
1266
+ }, {
1267
+ dismissAfter: 5000
1268
+ });
1269
+ await processUploadedFile({
1270
+ projectKey,
1271
+ containerKey: state.containerKey,
1272
+ asyncDispatch
1273
+ });
1274
+ showNotification({
1275
+ kind: 'info',
1276
+ domain: DOMAINS.SIDE,
1277
+ // @ts-ignore
1278
+ text: jsx(ImportRunningTextNotification, {
1279
+ projectKey: projectKey
1280
+ })
1281
+ }, {
1282
+ dismissAfter: 5000
1283
+ });
1284
+ } catch (error) {
1285
+ onClose({
1286
+ shouldDeleteImportContainer: true
1287
+ });
1288
+ showNotification({
1289
+ kind: 'error',
1290
+ domain: DOMAINS.PAGE,
1291
+ text: String(error)
1292
+ });
1293
+ }
1294
+ },
1295
+ size: 16,
1296
+ children: jsx(Masking.Unmask, {
1297
+ children: jsxs(Spacings.Stack, {
1298
+ scale: "xl",
1299
+ children: [jsx(Text.Body, {
1300
+ intlMessage: _objectSpread$2(_objectSpread$2({}, messages.confirmationText), {}, {
1301
+ values: {
1302
+ projectName: projectName,
1303
+ // TODO: Replace with actual count
1304
+ count: intl.formatNumber(state.uploadFileResponse?.rowsCount),
1305
+ b: getBold$1
1306
+ }
1307
+ })
1308
+ }), jsx(Text.Body, {
1309
+ intlMessage: messages.confirmationQuestion
1310
+ })]
1311
+ })
1312
+ })
1313
+ });
1314
+ };
1315
+ function getBold$1(msg) {
1316
+ return jsx(Text.Body, {
1317
+ as: "span",
1318
+ isBold: true,
1319
+ children: msg
1320
+ });
1321
+ }
1322
+
1323
+ function ownKeys$1(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; }
1324
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$1(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$1(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
1325
+ function UploadPreviewModal() {
1326
+ const _useUnpublishProducts = useUnpublishProductsContext(),
1327
+ state = _useUnpublishProducts.state,
1328
+ onClose = _useUnpublishProducts.onClose,
1329
+ actions = _useUnpublishProducts.actions;
1330
+ const intl = useIntl();
1331
+ return jsx(FormDialog, {
1332
+ size: 16,
1333
+ isOpen: true,
1334
+ title: intl.formatMessage(sharedMessages.unpublishModalTitle),
1335
+ labelPrimary: intl.formatMessage(messages.continue),
1336
+ onSecondaryButtonClick: () => onClose({
1337
+ shouldDeleteImportContainer: true
1338
+ }),
1339
+ onPrimaryButtonClick: () => {
1340
+ actions.setCurrentStep('unpublish-confirmation');
1341
+ },
1342
+ onClose: () => onClose({
1343
+ shouldDeleteImportContainer: true
1344
+ }),
1345
+ children: jsxs(Spacings.Stack, {
1346
+ scale: "m",
1347
+ children: [jsx(Text.Body, {
1348
+ intlMessage: messages.heresAPreview
1349
+ }), jsx(Card, {
1350
+ insetScale: "xl",
1351
+ children: jsxs(Spacings.Inline, {
1352
+ scale: "m",
1353
+ alignItems: "center",
1354
+ children: [jsx(CloseBoldIcon, {
1355
+ size: "40",
1356
+ color: "neutral60"
1357
+ }), jsx(Text.Body, {
1358
+ intlMessage: _objectSpread$1(_objectSpread$1({}, messages.productsToBeUnpublished), {}, {
1359
+ values: {
1360
+ count: intl.formatNumber(state.uploadFileResponse?.rowsCount),
1361
+ b: getBold
1362
+ }
1363
+ })
1364
+ })]
1365
+ })
1366
+ })]
1367
+ })
1368
+ });
1369
+ }
1370
+ function getBold(msg) {
1371
+ return jsx(Text.Body, {
1372
+ as: "span",
1373
+ isBold: true,
1374
+ children: msg
1375
+ });
1376
+ }
1377
+
1378
+ const steps = {
1379
+ upload: jsx(Upload, {}),
1380
+ uploading: jsx(Uploading, {}),
1381
+ 'upload-preview': jsx(UploadPreviewModal, {}),
1382
+ 'upload-error': jsx(UploadErrorsModal, {}),
1383
+ 'unpublish-confirmation': jsx(UnpublishProductsConfirmationModal, {})
1384
+ };
1385
+ const CurrentStep = () => {
1386
+ const _useUnpublishProducts = useUnpublishProductsContext(),
1387
+ state = _useUnpublishProducts.state;
1388
+ return steps[state.currentStep] || null;
1389
+ };
1390
+
1391
+ const getChunkImport = locale => {
1392
+ const intlLocale = mapLocaleToIntlLocale(locale);
1393
+ switch (intlLocale) {
1394
+ case 'de':
1395
+ return import(/* webpackChunkName: "unpublish-products-modal-i18n-de" */'./de-cd6c45d3.esm.js');
1396
+ case 'es':
1397
+ return import(/* webpackChunkName: "unpublish-products-modal-i18n-es" */'./es-e544023d.esm.js');
1398
+ case 'fr-FR':
1399
+ return import(/* webpackChunkName: "unpublish-products-modal-i18n-fr-FR" */'./fr-FR-9d9081ee.esm.js');
1400
+ case 'ja':
1401
+ return import(/* webpackChunkName: "unpublish-products-modal-i18n-ja" */'./ja-73c088a7.esm.js');
1402
+ case 'pt-BR':
1403
+ return import(/* webpackChunkName: "change-history-i18n-pt-BR" */'./pt-BR-b37d730b.esm.js');
1404
+ default:
1405
+ return import(/* webpackChunkName: "unpublish-products-modal-i18n-en" */'./en-3a9aa2d4.esm.js');
1406
+ }
1407
+ };
1408
+ const loadMessages = async locale => {
1409
+ try {
1410
+ const chunkImport = await getChunkImport(locale);
1411
+ return parseChunkImport(chunkImport);
1412
+ } catch (error) {
1413
+ // eslint-disable-next-line no-console
1414
+ console.warn(`Something went wrong while loading the unpublish-products-modal messages for ${locale}`, error);
1415
+ reportErrorToSentry(new Error(`Something went wrong while loading the unpublish-products-modal messages for ${locale}`), {
1416
+ extra: error
1417
+ });
1418
+ return {};
1419
+ }
1420
+ };
1421
+
1422
+ const useAsyncIntlMessages = (locale, loader) => {
1423
+ const _useState = useState({
1424
+ isLoading: true,
1425
+ messages: undefined,
1426
+ error: undefined
1427
+ }),
1428
+ _useState2 = _slicedToArray(_useState, 2),
1429
+ state = _useState2[0],
1430
+ setState = _useState2[1];
1431
+ useEffect(() => {
1432
+ let _isUnmounting = false;
1433
+ async function load() {
1434
+ try {
1435
+ if (!_isUnmounting) {
1436
+ const messages = await loader(locale);
1437
+ setState({
1438
+ isLoading: false,
1439
+ messages
1440
+ });
1441
+ }
1442
+ } catch (error) {
1443
+ setState({
1444
+ isLoading: false,
1445
+ error
1446
+ });
1447
+ }
1448
+ }
1449
+ if (locale) load();
1450
+ return () => {
1451
+ _isUnmounting = true;
1452
+ };
1453
+ }, [locale, loader]);
1454
+ return state;
1455
+ };
1456
+
1457
+ function ownKeys(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; }
1458
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
1459
+ const UnpublishProductsModal = props => {
1460
+ const _useApplicationContex = useApplicationContext(context => ({
1461
+ locale: context.user && context.user.locale
1462
+ })),
1463
+ locale = _useApplicationContex.locale;
1464
+ const messages = useAsyncIntlMessages(locale, loadMessages);
1465
+ if (!props.isOpen || messages.isLoading) return null;
1466
+ return jsx(IntlProvider, {
1467
+ locale: locale,
1468
+ messages: messages.messages,
1469
+ children: jsx(UnpublishProductsProvider, _objectSpread(_objectSpread({}, props), {}, {
1470
+ children: jsx(CurrentStep, {})
1471
+ }))
1472
+ });
1473
+ };
1474
+ UnpublishProductsModal.displayName = 'UnpublishProductsModal';
1475
+
1476
+ export { EnabledDropArea as E, FileDropped as F, UnpublishProductsModal as U, messages$4 as m, useUnpublishProductsContext as u };