@commercetools-frontend-extensions/export-resources-modal 5.0.4 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/dist/{active-drag-drop-area-ab3d5305.cjs.dev.js → active-drag-drop-area-56db6919.cjs.dev.js} +1 -1
  2. package/dist/{active-drag-drop-area-d0b34d8c.esm.js → active-drag-drop-area-69b691d5.esm.js} +1 -1
  3. package/dist/{active-drag-drop-area-677cd139.cjs.prod.js → active-drag-drop-area-7fd53916.cjs.prod.js} +1 -1
  4. package/dist/commercetools-frontend-extensions-export-resources-modal.cjs.dev.js +3 -3
  5. package/dist/commercetools-frontend-extensions-export-resources-modal.cjs.prod.js +3 -3
  6. package/dist/commercetools-frontend-extensions-export-resources-modal.esm.js +3 -3
  7. package/dist/declarations/src/@constants/export-types.d.ts +4 -3
  8. package/dist/declarations/src/@hooks/index.d.ts +1 -1
  9. package/dist/declarations/src/@hooks/use-validate-export-operation.d.ts +33 -0
  10. package/dist/declarations/src/@types/export-api.d.ts +5 -1
  11. package/dist/declarations/src/@types/export-resources-modal-context.d.ts +1 -0
  12. package/dist/declarations/src/@types/export-resources-modal-types.d.ts +2 -1
  13. package/dist/declarations/src/@types/form.d.ts +5 -0
  14. package/dist/{enabled-drop-area-3ac1d564.esm.js → enabled-drop-area-48a953a6.esm.js} +1 -1
  15. package/dist/{enabled-drop-area-049033dc.cjs.prod.js → enabled-drop-area-4c8d613f.cjs.prod.js} +1 -1
  16. package/dist/{enabled-drop-area-76b49e4a.cjs.dev.js → enabled-drop-area-a5fe741d.cjs.dev.js} +1 -1
  17. package/dist/{file-dropped-area-44d101c3.cjs.dev.js → file-dropped-area-5979698c.cjs.dev.js} +1 -1
  18. package/dist/{file-dropped-area-d2df8c70.cjs.prod.js → file-dropped-area-b685a683.cjs.prod.js} +1 -1
  19. package/dist/{file-dropped-area-997435fa.esm.js → file-dropped-area-c8a5f539.esm.js} +1 -1
  20. package/dist/{index-e4706b61.cjs.dev.js → index-32b358db.cjs.dev.js} +364 -256
  21. package/dist/{index-1d25c6f7.cjs.prod.js → index-bcefd2cf.cjs.prod.js} +364 -256
  22. package/dist/{index-969519bd.esm.js → index-f7e098bb.esm.js} +365 -257
  23. package/package.json +1 -1
  24. package/dist/declarations/src/@hooks/use-validate-imported-headers.d.ts +0 -15
@@ -622,6 +622,26 @@ var messages = reactIntl.defineMessages({
622
622
  id: 'ExportResourcesModal.uploadErrorsDetected',
623
623
  description: 'Message shown when errors are detected during file upload',
624
624
  defaultMessage: 'There are <b>{total}</b> errors detected while uploading the file <b>{fileName}</b>. Use <templateLink>our template</templateLink> to review the right formatting and supported values, try exporting using our field selection first or visit <documentationLink>our documentation</documentationLink> for further information.'
625
+ },
626
+ queryPredicate: {
627
+ id: 'ExportResourcesModal.queryPredicate',
628
+ description: 'Label for query predicate option',
629
+ defaultMessage: 'Query predicate'
630
+ },
631
+ invalidQueryPredicate: {
632
+ id: 'ExportResourcesModal.invalidQueryPredicate',
633
+ description: 'Error when query predicate field is not valid',
634
+ defaultMessage: 'There is an error with the query predicate. Make sure the syntax is correct.'
635
+ },
636
+ missingQueryPredicateError: {
637
+ id: 'ExportResourcesModal.missingQueryPredicateError',
638
+ description: 'Error when query predicate field is missing',
639
+ defaultMessage: 'Please enter a query predicate'
640
+ },
641
+ noResourcesToExport: {
642
+ id: 'ExportResourcesModal.noResourcesToExport',
643
+ description: 'Error message when there are no resources to export',
644
+ defaultMessage: 'No resources match your query predicate. Please check your query predicate and try again.'
625
645
  }
626
646
  });
627
647
 
@@ -645,6 +665,16 @@ function renderLocaleError(key) {
645
665
  return null;
646
666
  }
647
667
  }
668
+ const renderQueryPredicateError = key => {
669
+ switch (key) {
670
+ case 'missing':
671
+ return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$h({}, messages.missingQueryPredicateError));
672
+ case 'invalidInput':
673
+ return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$h({}, messages.invalidQueryPredicate));
674
+ default:
675
+ return null;
676
+ }
677
+ };
648
678
 
649
679
  function _callSuper$3(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$3() ? _Reflect$construct__default["default"](o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
650
680
  function _isNativeReflectConstruct$3() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$3 = function () { return !!t; })(); }
@@ -789,7 +819,8 @@ const EXPORT_OPERATION_STATES = {
789
819
  const EXPORT_TYPES = {
790
820
  ALL: 'all',
791
821
  FILTERED: 'filtered',
792
- SELECTED: 'selected'
822
+ SELECTED: 'selected',
823
+ QUERY_PREDICATE: 'query-predicate'
793
824
  };
794
825
 
795
826
  const EXPORTABLE_RESOURCES = {
@@ -866,6 +897,140 @@ const DEFAULT_SHORT_LIVED_FLAGS = {};
866
897
  const DEFAULT_LONG_LIVED_FLAGS = {};
867
898
  _objectSpread$f(_objectSpread$f({}, DEFAULT_SHORT_LIVED_FLAGS), DEFAULT_LONG_LIVED_FLAGS);
868
899
 
900
+ function resourceTypeToFileName(resourceType, locale) {
901
+ var _context;
902
+ const date = new Date();
903
+ const dateFormatter = new Intl.DateTimeFormat(locale, {
904
+ year: '2-digit',
905
+ month: '2-digit',
906
+ day: '2-digit',
907
+ hour: '2-digit',
908
+ minute: '2-digit',
909
+ hour12: false
910
+ });
911
+ const parts = dateFormatter.formatToParts(date);
912
+ const dateParts = _reduceInstanceProperty__default["default"](parts).call(parts, (acc, part) => {
913
+ if (part.type !== 'literal') {
914
+ acc[part.type] = part.value;
915
+ }
916
+ return acc;
917
+ }, {});
918
+ const orderedDateParts = _mapInstanceProperty__default["default"](_context = _filterInstanceProperty__default["default"](parts).call(parts, part => part.type === 'day' || part.type === 'month' || part.type === 'year')).call(_context, part => dateParts[part.type]).join('-');
919
+ const formattedDate = `${orderedDateParts}_${dateParts.hour}-${dateParts.minute}`;
920
+ const resourceTypeMap = {
921
+ [EXPORTABLE_RESOURCES.CATEGORY]: 'Categories',
922
+ [EXPORTABLE_RESOURCES.PRODUCT]: 'Products',
923
+ [EXPORTABLE_RESOURCES.PRODUCT_TYPE]: 'Product_Types',
924
+ [EXPORTABLE_RESOURCES.DISCOUNT_CODE]: 'Discount_Codes',
925
+ [EXPORTABLE_RESOURCES.INVENTORY_ENTRY]: 'Inventories',
926
+ [EXPORTABLE_RESOURCES.CUSTOMER]: 'Customers',
927
+ [EXPORTABLE_RESOURCES.ORDER]: 'Orders'
928
+ };
929
+ const displayName = resourceTypeMap[resourceType];
930
+ if (!displayName) {
931
+ throw new UnexpectedResourceTypeError(resourceType);
932
+ }
933
+ return `${displayName}_Export_${formattedDate}`;
934
+ }
935
+ function mapLocalesToOptions(locales) {
936
+ return _mapInstanceProperty__default["default"](locales).call(locales, locale => ({
937
+ value: locale,
938
+ label: locale
939
+ }));
940
+ }
941
+ function isFilledArray(maybeArray) {
942
+ return _Array$isArray__default["default"](maybeArray) && maybeArray.length > 0;
943
+ }
944
+ function appendCsvOrJsonExtensionIfAbsent(fileName, fileFormat) {
945
+ const extensionRegex = /\.(csv|json)$/i;
946
+ if (!extensionRegex.test(fileName)) return `${fileName}.${fileFormat}`;
947
+ return fileName;
948
+ }
949
+ function getExportLogsLink(projectKey, msg) {
950
+ return jsxRuntime.jsx(uiKit.Link, {
951
+ to: `/${projectKey}/operations/export/logs`,
952
+ children: msg
953
+ }, "link");
954
+ }
955
+ const extractFieldNamesAndAdditionalFieldExtensions = fields => {
956
+ const result = _reduceInstanceProperty__default["default"](fields).call(fields, (acc, field) => {
957
+ if (field.extendedFieldNames) {
958
+ return [...acc, field.name, ...field.extendedFieldNames];
959
+ }
960
+ return [...acc, field.name];
961
+ }, []);
962
+ return [...new _Set__default["default"](result)];
963
+ };
964
+ function sortFieldsByFieldOrder(_ref) {
965
+ let fieldNames = _ref.fieldNames,
966
+ fieldOrder = _ref.fieldOrder;
967
+ if (isFilledArray(fieldOrder)) {
968
+ return _sortInstanceProperty__default["default"](fieldNames).call(fieldNames, (a, b) => {
969
+ let orderA = _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, a) !== -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, a) : _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, a.split('.')[0]);
970
+ let orderB = _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, b) !== -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, b) : _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, b.split('.')[0]);
971
+
972
+ // If a field is not 'custom',then consider it as '*'
973
+ orderA = orderA === -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, '*') : orderA;
974
+ orderB = orderB === -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, '*') : orderB;
975
+ return orderA - orderB;
976
+ });
977
+ }
978
+ return fieldNames;
979
+ }
980
+ function buildSelectedExportFilters(selectedResourceIds) {
981
+ if (!selectedResourceIds || selectedResourceIds?.length === 0) return undefined;
982
+ const formattedIds = _mapInstanceProperty__default["default"](selectedResourceIds).call(selectedResourceIds, id => `"${id}"`).join(', ');
983
+ return `id in (${formattedIds})`;
984
+ }
985
+ function isQueryFilter(filters) {
986
+ if (!filters) return false;
987
+ return 'query' in filters;
988
+ }
989
+ function isSearchFilter(filters) {
990
+ if (!filters) return false;
991
+ return 'filters' in filters || 'fullText' in filters;
992
+ }
993
+ function isPredicateFilter(filters) {
994
+ if (!filters) return false;
995
+ return 'where' in filters;
996
+ }
997
+ function validateFilters(filtersObject) {
998
+ if (filtersObject.where && filtersObject.filters) {
999
+ return false;
1000
+ }
1001
+ return Boolean(isQueryFilter(filtersObject.filters) || isSearchFilter(filtersObject.filters) || isPredicateFilter(filtersObject));
1002
+ }
1003
+ function areFiltersApplied(filtersObject) {
1004
+ var _context2;
1005
+ if (!filtersObject) {
1006
+ return false;
1007
+ }
1008
+ if (filtersObject.where && _trimInstanceProperty__default["default"](_context2 = filtersObject.where).call(_context2) !== '') {
1009
+ return true;
1010
+ }
1011
+ if (isQueryFilter(filtersObject.filters)) {
1012
+ return Boolean(filtersObject.filters.query);
1013
+ }
1014
+ if (isSearchFilter(filtersObject.filters)) {
1015
+ var _context3, _context4;
1016
+ const _filters = filtersObject.filters;
1017
+ return Boolean(_filters.filters?.length || ((_context3 = _filters.fullText?.text) == null ? void 0 : _bindInstanceProperty__default["default"](_context4 = Function.call).call(_context4, _trimInstanceProperty__default["default"](_context3), _context3))?.());
1018
+ }
1019
+ return false;
1020
+ }
1021
+ function getInitialExportType(args) {
1022
+ if (args.selectedResourceIds?.length) {
1023
+ return EXPORT_TYPES.SELECTED;
1024
+ }
1025
+ if (args.filters?.total && areFiltersApplied(args.filters)) {
1026
+ return EXPORT_TYPES.FILTERED;
1027
+ }
1028
+ return EXPORT_TYPES.ALL;
1029
+ }
1030
+ function removeEmptyGroups(groups) {
1031
+ return _filterInstanceProperty__default["default"](groups).call(groups, group => group.fields && group.fields.length > 0);
1032
+ }
1033
+
869
1034
  const isAnyFieldChecked = fields => {
870
1035
  return _someInstanceProperty__default["default"](fields).call(fields, field => field.isChecked || field.fields && isAnyFieldChecked(field.fields));
871
1036
  };
@@ -979,6 +1144,25 @@ const getSelectedFieldLabels = group => {
979
1144
  findSelectedFieldLabels(group.fields);
980
1145
  return selectedLabels;
981
1146
  };
1147
+ const extractFieldNamesFromGroups = (groups, fieldOrder) => {
1148
+ let checkedFields = [];
1149
+ const getCheckedFields = fields => {
1150
+ return _filterInstanceProperty__default["default"](fields).call(fields, field => {
1151
+ if (field.fields) {
1152
+ return getCheckedFields(field.fields);
1153
+ }
1154
+ if (field.isChecked) checkedFields.push(field);
1155
+ return field.isChecked ?? false;
1156
+ });
1157
+ };
1158
+ _forEachInstanceProperty__default["default"](groups).call(groups, group => {
1159
+ getCheckedFields(group.fields);
1160
+ });
1161
+ return sortFieldsByFieldOrder({
1162
+ fieldNames: extractFieldNamesAndAdditionalFieldExtensions(checkedFields),
1163
+ fieldOrder
1164
+ });
1165
+ };
982
1166
 
983
1167
  let Step = /*#__PURE__*/function (Step) {
984
1168
  Step["FileSettings"] = "file-settings";
@@ -999,21 +1183,27 @@ function validate(_ref) {
999
1183
  let values = _valuesInstanceProperty__default["default"](_ref),
1000
1184
  step = _ref.step,
1001
1185
  fieldSelectionMode = _ref.fieldSelectionMode,
1002
- importedHeaders = _ref.importedHeaders;
1186
+ importedHeaders = _ref.importedHeaders,
1187
+ exportType = _ref.exportType;
1003
1188
  const fileName = values.fileName,
1189
+ queryPredicate = values.queryPredicate,
1004
1190
  locales = values.locales,
1005
1191
  groups = values.groups;
1006
1192
  const errors = {
1007
1193
  fileName: {},
1008
1194
  locales: {},
1009
1195
  fields: {},
1010
- importedCsvTemplateFile: {}
1196
+ importedCsvTemplateFile: {},
1197
+ queryPredicate: {}
1011
1198
  };
1012
1199
  if (uiKit.TextInput.isEmpty(fileName)) {
1013
1200
  errors.fileName.missing = true;
1014
1201
  } else if (!/^[a-zA-Z0-9-_.]+$/.test(fileName)) {
1015
1202
  errors.fileName.invalidInput = true;
1016
1203
  }
1204
+ if (exportType === 'query-predicate' && uiKit.TextInput.isEmpty(queryPredicate)) {
1205
+ errors.queryPredicate.missing = true;
1206
+ }
1017
1207
  if (step === Step.FieldsSelection) {
1018
1208
  if (fieldSelectionMode === 'selected-fields') {
1019
1209
  const allFields = _reduceInstanceProperty__default["default"](groups).call(groups, (acc, group) => _concatInstanceProperty__default["default"](acc).call(acc, group.fields), []);
@@ -1043,140 +1233,6 @@ function isFieldNameValid(header) {
1043
1233
  return /^[a-zA-Z0-9._-]+$/.test(processedHeader);
1044
1234
  }
1045
1235
 
1046
- function resourceTypeToFileName(resourceType, locale) {
1047
- var _context;
1048
- const date = new Date();
1049
- const dateFormatter = new Intl.DateTimeFormat(locale, {
1050
- year: '2-digit',
1051
- month: '2-digit',
1052
- day: '2-digit',
1053
- hour: '2-digit',
1054
- minute: '2-digit',
1055
- hour12: false
1056
- });
1057
- const parts = dateFormatter.formatToParts(date);
1058
- const dateParts = _reduceInstanceProperty__default["default"](parts).call(parts, (acc, part) => {
1059
- if (part.type !== 'literal') {
1060
- acc[part.type] = part.value;
1061
- }
1062
- return acc;
1063
- }, {});
1064
- const orderedDateParts = _mapInstanceProperty__default["default"](_context = _filterInstanceProperty__default["default"](parts).call(parts, part => part.type === 'day' || part.type === 'month' || part.type === 'year')).call(_context, part => dateParts[part.type]).join('-');
1065
- const formattedDate = `${orderedDateParts}_${dateParts.hour}-${dateParts.minute}`;
1066
- const resourceTypeMap = {
1067
- [EXPORTABLE_RESOURCES.CATEGORY]: 'Categories',
1068
- [EXPORTABLE_RESOURCES.PRODUCT]: 'Products',
1069
- [EXPORTABLE_RESOURCES.PRODUCT_TYPE]: 'Product_Types',
1070
- [EXPORTABLE_RESOURCES.DISCOUNT_CODE]: 'Discount_Codes',
1071
- [EXPORTABLE_RESOURCES.INVENTORY_ENTRY]: 'Inventories',
1072
- [EXPORTABLE_RESOURCES.CUSTOMER]: 'Customers',
1073
- [EXPORTABLE_RESOURCES.ORDER]: 'Orders'
1074
- };
1075
- const displayName = resourceTypeMap[resourceType];
1076
- if (!displayName) {
1077
- throw new UnexpectedResourceTypeError(resourceType);
1078
- }
1079
- return `${displayName}_Export_${formattedDate}`;
1080
- }
1081
- function mapLocalesToOptions(locales) {
1082
- return _mapInstanceProperty__default["default"](locales).call(locales, locale => ({
1083
- value: locale,
1084
- label: locale
1085
- }));
1086
- }
1087
- function isFilledArray(maybeArray) {
1088
- return _Array$isArray__default["default"](maybeArray) && maybeArray.length > 0;
1089
- }
1090
- function appendCsvOrJsonExtensionIfAbsent(fileName, fileFormat) {
1091
- const extensionRegex = /\.(csv|json)$/i;
1092
- if (!extensionRegex.test(fileName)) return `${fileName}.${fileFormat}`;
1093
- return fileName;
1094
- }
1095
- function getExportLogsLink(projectKey, msg) {
1096
- return jsxRuntime.jsx(uiKit.Link, {
1097
- to: `/${projectKey}/operations/export/logs`,
1098
- children: msg
1099
- }, "link");
1100
- }
1101
- const extractFieldNamesAndAdditionalFieldExtensions = fields => {
1102
- const result = _reduceInstanceProperty__default["default"](fields).call(fields, (acc, field) => {
1103
- if (field.extendedFieldNames) {
1104
- return [...acc, field.name, ...field.extendedFieldNames];
1105
- }
1106
- return [...acc, field.name];
1107
- }, []);
1108
- return [...new _Set__default["default"](result)];
1109
- };
1110
- function sortFieldsByFieldOrder(_ref) {
1111
- let fieldNames = _ref.fieldNames,
1112
- fieldOrder = _ref.fieldOrder;
1113
- if (isFilledArray(fieldOrder)) {
1114
- return _sortInstanceProperty__default["default"](fieldNames).call(fieldNames, (a, b) => {
1115
- let orderA = _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, a) !== -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, a) : _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, a.split('.')[0]);
1116
- let orderB = _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, b) !== -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, b) : _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, b.split('.')[0]);
1117
-
1118
- // If a field is not 'custom',then consider it as '*'
1119
- orderA = orderA === -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, '*') : orderA;
1120
- orderB = orderB === -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, '*') : orderB;
1121
- return orderA - orderB;
1122
- });
1123
- }
1124
- return fieldNames;
1125
- }
1126
- function buildSelectedExportFilters(selectedResourceIds) {
1127
- if (!selectedResourceIds || selectedResourceIds?.length === 0) return undefined;
1128
- const formattedIds = _mapInstanceProperty__default["default"](selectedResourceIds).call(selectedResourceIds, id => `"${id}"`).join(', ');
1129
- return `id in (${formattedIds})`;
1130
- }
1131
- function isQueryFilter(filters) {
1132
- if (!filters) return false;
1133
- return 'query' in filters;
1134
- }
1135
- function isSearchFilter(filters) {
1136
- if (!filters) return false;
1137
- return 'filters' in filters || 'fullText' in filters;
1138
- }
1139
- function isPredicateFilter(filters) {
1140
- if (!filters) return false;
1141
- return 'where' in filters;
1142
- }
1143
- function validateFilters(filtersObject) {
1144
- if (filtersObject.where && filtersObject.filters) {
1145
- return false;
1146
- }
1147
- return Boolean(isQueryFilter(filtersObject.filters) || isSearchFilter(filtersObject.filters) || isPredicateFilter(filtersObject));
1148
- }
1149
- function areFiltersApplied(filtersObject) {
1150
- var _context2;
1151
- if (!filtersObject) {
1152
- return false;
1153
- }
1154
- if (filtersObject.where && _trimInstanceProperty__default["default"](_context2 = filtersObject.where).call(_context2) !== '') {
1155
- return true;
1156
- }
1157
- if (isQueryFilter(filtersObject.filters)) {
1158
- return Boolean(filtersObject.filters.query);
1159
- }
1160
- if (isSearchFilter(filtersObject.filters)) {
1161
- var _context3, _context4;
1162
- const _filters = filtersObject.filters;
1163
- return Boolean(_filters.filters?.length || ((_context3 = _filters.fullText?.text) == null ? void 0 : _bindInstanceProperty__default["default"](_context4 = Function.call).call(_context4, _trimInstanceProperty__default["default"](_context3), _context3))?.());
1164
- }
1165
- return false;
1166
- }
1167
- function getInitialExportType(args) {
1168
- if (args.selectedResourceIds?.length) {
1169
- return EXPORT_TYPES.SELECTED;
1170
- }
1171
- if (args.filters?.total && areFiltersApplied(args.filters)) {
1172
- return EXPORT_TYPES.FILTERED;
1173
- }
1174
- return EXPORT_TYPES.ALL;
1175
- }
1176
- function removeEmptyGroups(groups) {
1177
- return _filterInstanceProperty__default["default"](groups).call(groups, group => group.fields && group.fields.length > 0);
1178
- }
1179
-
1180
1236
  function ownKeys$e(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
1181
1237
  function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$e(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$e(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1182
1238
  const updateFieldGroupsWithIsCheckedValue = (groups, cachedSelectedGroups) => {
@@ -1401,6 +1457,13 @@ function groupFieldValidationErrors(errors, intl) {
1401
1457
  });
1402
1458
  }
1403
1459
 
1460
+ function isExportApiSuccessResponse(response) {
1461
+ return 'id' in response && 'state' in response && 'resourceType' in response && 'resourceCount' in response;
1462
+ }
1463
+ function isExportApiErrorResponse(error) {
1464
+ return Boolean(error && typeof error === 'object' && 'body' in error && error.body && typeof error.body === 'object' && ('validationErrors' in error.body || 'errors' in error.body) && 'message' in error.body && 'statusCode' in error.body && 'error' in error.body);
1465
+ }
1466
+
1404
1467
  const useInitialValues = props => {
1405
1468
  var _context;
1406
1469
  const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => ({
@@ -1433,6 +1496,7 @@ const useInitialValues = props => {
1433
1496
  fileName: `${resourceTypeToFileName(props.resourceType, userLocale)}`,
1434
1497
  locales: [locale],
1435
1498
  groups: updateFieldGroupWithAdditionalFieldExtensions(groups),
1499
+ queryPredicate: '',
1436
1500
  // Preferences
1437
1501
  fillRows: false,
1438
1502
  importedCsvTemplateFile: null
@@ -1444,37 +1508,30 @@ const _excluded$3 = ["projectKey"];
1444
1508
  function ownKeys$c(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
1445
1509
  function _objectSpread$c(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$c(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$c(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1446
1510
  async function makeExportRequest(params, asyncDispatchFn) {
1447
- try {
1448
- const projectKey = params.projectKey,
1449
- requestData = _objectWithoutProperties(params, _excluded$3);
1450
- const uri = `/${projectKey}/export-operations`;
1451
- const requestAction = sdk.actions.post({
1452
- mcApiProxyTarget: constants.MC_API_PROXY_TARGETS.EXPORT,
1453
- uri,
1454
- headers: {
1455
- accept: 'application/json'
1456
- },
1457
- payload: requestData
1458
- });
1459
- const response = await asyncDispatchFn(requestAction);
1460
- if (!response || typeof response !== 'object') {
1461
- throw new InvalidResponseError();
1462
- }
1463
- if (!('state' in response)) {
1464
- throw new InvalidResponseError('Response missing state field');
1465
- }
1466
- return response;
1467
- } catch (responseError) {
1468
- if (responseError && typeof responseError === 'object' && 'body' in responseError && responseError.body && typeof responseError.body === 'object' && 'validationErrors' in responseError.body) {
1469
- throw responseError.body;
1470
- }
1471
- throw responseError;
1511
+ const projectKey = params.projectKey,
1512
+ requestData = _objectWithoutProperties(params, _excluded$3);
1513
+ const uri = `/${projectKey}/export-operations`;
1514
+ const requestAction = sdk.actions.post({
1515
+ mcApiProxyTarget: constants.MC_API_PROXY_TARGETS.EXPORT,
1516
+ uri,
1517
+ headers: {
1518
+ accept: 'application/json'
1519
+ },
1520
+ payload: requestData
1521
+ });
1522
+ const response = await asyncDispatchFn(requestAction);
1523
+ if (!response || typeof response !== 'object') {
1524
+ throw new InvalidResponseError();
1525
+ }
1526
+ if (!('state' in response)) {
1527
+ throw new InvalidResponseError('Response missing state field');
1472
1528
  }
1529
+ return response;
1473
1530
  }
1474
1531
  function createExportOperation(params, asyncDispatchFn) {
1475
1532
  return makeExportRequest(params, asyncDispatchFn);
1476
1533
  }
1477
- function validateImportedHeaders(params, asyncDispatchFn) {
1534
+ function validateExportOperation(params, asyncDispatchFn) {
1478
1535
  return makeExportRequest(_objectSpread$c(_objectSpread$c({}, params), {}, {
1479
1536
  dryRun: true
1480
1537
  }), asyncDispatchFn);
@@ -1489,25 +1546,6 @@ const useStartExportOperation = props => {
1489
1546
  projectKey: applicationContext.project?.key
1490
1547
  })),
1491
1548
  projectKey = _useApplicationContex.projectKey;
1492
- const extractFieldNamesFromGroups = groups => {
1493
- let checkedFields = [];
1494
- const getCheckedFields = fields => {
1495
- return _filterInstanceProperty__default["default"](fields).call(fields, field => {
1496
- if (field.fields) {
1497
- return getCheckedFields(field.fields);
1498
- }
1499
- if (field.isChecked) checkedFields.push(field);
1500
- return field.isChecked ?? false;
1501
- });
1502
- };
1503
- _forEachInstanceProperty__default["default"](groups).call(groups, group => {
1504
- getCheckedFields(group.fields);
1505
- });
1506
- return sortFieldsByFieldOrder({
1507
- fieldNames: extractFieldNamesAndAdditionalFieldExtensions(checkedFields),
1508
- fieldOrder: props.fieldOrder
1509
- });
1510
- };
1511
1549
  const startExportOperation = async (values, exportType, fieldSelectionMode, localeOption, importedHeaders) => {
1512
1550
  try {
1513
1551
  if (!projectKey) throw new Error('Project key is missing');
@@ -1515,7 +1553,7 @@ const useStartExportOperation = props => {
1515
1553
  if (fieldSelectionMode === 'imported-csv-template' && values.importedCsvTemplateFile) {
1516
1554
  fields = importedHeaders;
1517
1555
  } else {
1518
- fields = extractFieldNamesFromGroups(values.groups);
1556
+ fields = extractFieldNamesFromGroups(values.groups, props.fieldOrder);
1519
1557
  }
1520
1558
  let where = undefined;
1521
1559
  let filters = undefined;
@@ -1528,6 +1566,9 @@ const useStartExportOperation = props => {
1528
1566
  } else if (isSearchFilter(props.filters.filters)) {
1529
1567
  filters = props.filters.filters;
1530
1568
  }
1569
+ } else if (exportType === EXPORT_TYPES.QUERY_PREDICATE) {
1570
+ var _context;
1571
+ where = _trimInstanceProperty__default["default"](_context = values.queryPredicate).call(_context);
1531
1572
  }
1532
1573
  let locales = undefined;
1533
1574
  if (localeOption !== 'onlyLocalesFoundInCsvFile') {
@@ -1544,29 +1585,32 @@ const useStartExportOperation = props => {
1544
1585
  where,
1545
1586
  filters
1546
1587
  }, asyncDispatch);
1547
- switch (response.state) {
1548
- case EXPORT_OPERATION_STATES.QUEUED:
1549
- case EXPORT_OPERATION_STATES.PROCESSING:
1550
- case EXPORT_OPERATION_STATES.COMPLETED:
1551
- showNotification({
1552
- kind: 'info',
1553
- domain: constants.DOMAINS.SIDE,
1554
- // @ts-ignore
1555
- text: intl.formatMessage(messages.exportOperationSuccessMessage, {
1556
- newline: getNewLine,
1557
- logsLink: msg => getExportLogsLink(projectKey, msg),
1558
- b: getBold
1559
- })
1560
- }, {
1561
- dismissAfter: 5000
1562
- });
1563
- if (typeof props.onExportSuccess === 'function') props.onExportSuccess();
1564
- break;
1565
- default:
1566
- throw new UnexpectedExportOperationStateError(response.state);
1588
+ if (isExportApiSuccessResponse(response)) {
1589
+ switch (response.state) {
1590
+ case EXPORT_OPERATION_STATES.QUEUED:
1591
+ case EXPORT_OPERATION_STATES.PROCESSING:
1592
+ case EXPORT_OPERATION_STATES.COMPLETED:
1593
+ showNotification({
1594
+ kind: 'info',
1595
+ domain: constants.DOMAINS.SIDE,
1596
+ // @ts-ignore
1597
+ text: intl.formatMessage(messages.exportOperationSuccessMessage, {
1598
+ newline: getNewLine,
1599
+ logsLink: msg => getExportLogsLink(projectKey, msg),
1600
+ b: getBold
1601
+ })
1602
+ }, {
1603
+ dismissAfter: 5000
1604
+ });
1605
+ if (typeof props.onExportSuccess === 'function') props.onExportSuccess();
1606
+ break;
1607
+ default:
1608
+ throw new UnexpectedExportOperationStateError(response.state);
1609
+ }
1610
+ } else {
1611
+ throw new Error(response.message || 'Unknown error occurred during export operation');
1567
1612
  }
1568
1613
  } catch (error) {
1569
- // TODO: custom error messages for each error type
1570
1614
  showNotification({
1571
1615
  text: intl.formatMessage(messages.unexpectedError),
1572
1616
  kind: 'error',
@@ -1682,7 +1726,7 @@ const useConvertFieldDefinitionsForExport = () => {
1682
1726
  };
1683
1727
  };
1684
1728
 
1685
- const useValidateImportedHeaders = () => {
1729
+ const useValidateExportOperation = () => {
1686
1730
  const intl = reactIntl.useIntl();
1687
1731
  const asyncDispatch = sdk.useAsyncDispatch();
1688
1732
  const showNotification = actionsGlobal.useShowNotification();
@@ -1690,9 +1734,9 @@ const useValidateImportedHeaders = () => {
1690
1734
  projectKey: context.project?.key
1691
1735
  })),
1692
1736
  projectKey = _useApplicationContex.projectKey;
1693
- const validateHeaders = async params => {
1737
+ const validateExport = async params => {
1694
1738
  try {
1695
- var _context;
1739
+ var _context, _context2, _context3;
1696
1740
  if (!projectKey) return;
1697
1741
  const invalidFields = _filterInstanceProperty__default["default"](_context = params.fields).call(_context, field => !isFieldNameValid(field));
1698
1742
  if (invalidFields.length > 0) {
@@ -1704,25 +1748,46 @@ const useValidateImportedHeaders = () => {
1704
1748
  }))
1705
1749
  };
1706
1750
  }
1707
- await validateImportedHeaders({
1751
+ const response = await validateExportOperation({
1708
1752
  projectKey,
1709
1753
  resourceType: params.resourceType,
1710
1754
  fileName: params.fileName,
1711
1755
  fileFormat: params.outputFormat,
1712
1756
  fields: params.fields,
1713
- locales: params.locales
1757
+ locales: params.locales,
1758
+ where: ((_context2 = params.queryPredicate) == null ? void 0 : _bindInstanceProperty__default["default"](_context3 = Function.call).call(_context3, _trimInstanceProperty__default["default"](_context2), _context2))?.() || undefined
1714
1759
  }, asyncDispatch);
1715
- return {
1716
- success: true,
1717
- validationErrors: []
1718
- };
1719
- } catch (error) {
1720
- if (typeof error === 'object' && error && 'validationErrors' in error && _Array$isArray__default["default"](error.validationErrors)) {
1760
+ if (isExportApiSuccessResponse(response) && response.resourceCount === 0) {
1721
1761
  return {
1722
1762
  success: false,
1723
- validationErrors: error.validationErrors
1763
+ noResourcesToExport: true
1724
1764
  };
1725
1765
  }
1766
+ return {
1767
+ success: true
1768
+ };
1769
+ } catch (error) {
1770
+ if (isExportApiErrorResponse(error)) {
1771
+ if (error.body.errors?.length) {
1772
+ var _context4;
1773
+ const whereError = _findInstanceProperty__default["default"](_context4 = error.body.errors).call(_context4, error => {
1774
+ var _context5;
1775
+ return error.message && _includesInstanceProperty__default["default"](_context5 = error.message).call(_context5, 'Malformed parameter: where');
1776
+ });
1777
+ if (whereError) {
1778
+ return {
1779
+ success: false,
1780
+ invalidQueryPredicate: true
1781
+ };
1782
+ }
1783
+ }
1784
+ if (error.body.validationErrors?.length) {
1785
+ return {
1786
+ success: false,
1787
+ validationErrors: error.body.validationErrors
1788
+ };
1789
+ }
1790
+ }
1726
1791
  showNotification({
1727
1792
  text: intl.formatMessage(messages.unexpectedError),
1728
1793
  kind: 'error',
@@ -1735,7 +1800,7 @@ const useValidateImportedHeaders = () => {
1735
1800
  }
1736
1801
  };
1737
1802
  return {
1738
- validateHeaders
1803
+ validateExport
1739
1804
  };
1740
1805
  };
1741
1806
 
@@ -1783,6 +1848,7 @@ function ownKeys$9(e, r) { var t = _Object$keys__default["default"](e); if (_Obj
1783
1848
  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__default["default"](_context = ownKeys$9(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$9(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1784
1849
  function ExportScopeSection() {
1785
1850
  const _useExportResourcesMo = useExportResourcesModalContext(),
1851
+ formik = _useExportResourcesMo.formik,
1786
1852
  exportType = _useExportResourcesMo.exportType,
1787
1853
  totalResourcesCount = _useExportResourcesMo.totalResourcesCount,
1788
1854
  filters = _useExportResourcesMo.filters,
@@ -1790,10 +1856,11 @@ function ExportScopeSection() {
1790
1856
  selectedResourceIds = _useExportResourcesMo.selectedResourceIds,
1791
1857
  setExportType = _useExportResourcesMo.setExportType,
1792
1858
  resourceType = _useExportResourcesMo.resourceType,
1793
- hideExportSelectedResourcesOption = _useExportResourcesMo.hideExportSelectedResourcesOption;
1794
- return jsxRuntime.jsx(uiKit.Spacings.Stack, {
1795
- scale: "m",
1796
- children: jsxRuntime.jsxs(uiKit.RadioInput.Group, {
1859
+ hideExportSelectedResourcesOption = _useExportResourcesMo.hideExportSelectedResourcesOption,
1860
+ showQueryPredicateOption = _useExportResourcesMo.showQueryPredicateOption;
1861
+ const shouldShowQueryPredicateField = exportType === EXPORT_TYPES.QUERY_PREDICATE;
1862
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, {
1863
+ children: [jsxRuntime.jsxs(uiKit.RadioInput.Group, {
1797
1864
  value: exportType,
1798
1865
  onChange: e => {
1799
1866
  setExportType(e.target.value);
@@ -1833,8 +1900,23 @@ function ExportScopeSection() {
1833
1900
  }
1834
1901
  }) : messages.exportScopeSelectedWithoutCount
1835
1902
  })
1903
+ }), showQueryPredicateOption && jsxRuntime.jsx(uiKit.RadioInput.Option, {
1904
+ value: EXPORT_TYPES.QUERY_PREDICATE,
1905
+ children: jsxRuntime.jsx(uiKit.Text.Body, {
1906
+ intlMessage: messages.queryPredicate
1907
+ })
1836
1908
  })]
1837
- })
1909
+ }), shouldShowQueryPredicateField && jsxRuntime.jsx(uiKit.TextField, {
1910
+ name: "queryPredicate",
1911
+ "data-testid": "query-predicate-field",
1912
+ title: "",
1913
+ onChange: formik.handleChange,
1914
+ onBlur: formik.handleBlur,
1915
+ value: _valuesInstanceProperty__default["default"](formik).queryPredicate,
1916
+ touched: formik.touched.queryPredicate,
1917
+ errors: mapFormikErrors(formik.errors.queryPredicate),
1918
+ renderError: renderQueryPredicateError
1919
+ })]
1838
1920
  });
1839
1921
  }
1840
1922
 
@@ -2648,6 +2730,8 @@ const _excluded$1 = ["children"];
2648
2730
  const ExportResourcesProvider = _ref => {
2649
2731
  let children = _ref.children,
2650
2732
  props = _objectWithoutProperties(_ref, _excluded$1);
2733
+ const intl = reactIntl.useIntl();
2734
+ const showNotification = actionsGlobal.useShowNotification();
2651
2735
  const initialValues = useInitialValues(props);
2652
2736
  const _React$useState = React__default["default"].useState(Step.FileSettings),
2653
2737
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -2678,47 +2762,70 @@ const ExportResourcesProvider = _ref => {
2678
2762
  setValidationErrors = _React$useState12[1];
2679
2763
  const _useStartExportOperat = useStartExportOperation(props),
2680
2764
  startExportOperation = _useStartExportOperat.startExportOperation;
2681
- const _useValidateImportedH = useValidateImportedHeaders(),
2682
- validateHeaders = _useValidateImportedH.validateHeaders;
2683
- const onSubmit = async values => {
2684
- if (currentStep === Step.FileSettings) {
2685
- setCurrentStep(Step.FieldsSelection);
2686
- } else if (currentStep === Step.FieldsSelection) {
2687
- if (fieldSelectionMode !== 'imported-csv-template') {
2688
- setCurrentStep(Step.ConfirmExport);
2689
- return;
2690
- }
2691
- const isUsingImportedCsvLocales = localeOption === 'onlyLocalesFoundInCsvFile';
2692
- const validationResult = await validateHeaders({
2693
- fileName: values.fileName,
2694
- outputFormat: values.outputFormat,
2695
- resourceType: props.resourceType,
2696
- fields: importedHeaders,
2697
- locales: isUsingImportedCsvLocales ? undefined : values.locales
2698
- });
2699
- if (validationResult?.success) {
2700
- setCurrentStep(Step.ConfirmExport);
2701
- } else {
2702
- setValidationErrors(validationResult?.validationErrors);
2703
- setCurrentStep(Step.ValidationErrors);
2704
- }
2705
- } else {
2706
- startExportOperation(values, exportType, fieldSelectionMode, localeOption, importedHeaders);
2707
- }
2708
- };
2765
+ const _useValidateExportOpe = useValidateExportOperation(),
2766
+ validateExport = _useValidateExportOpe.validateExport;
2709
2767
  const formik$1 = formik.useFormik({
2710
2768
  initialValues,
2711
2769
  validate: values => validate({
2712
2770
  values,
2713
2771
  step: currentStep,
2714
2772
  fieldSelectionMode,
2715
- importedHeaders
2773
+ importedHeaders,
2774
+ exportType
2716
2775
  }),
2717
- onSubmit
2776
+ onSubmit: async values => {
2777
+ if (currentStep === Step.FileSettings) {
2778
+ if (exportType === EXPORT_TYPES.QUERY_PREDICATE) {
2779
+ const validationResult = await validateExport({
2780
+ fileName: values.fileName,
2781
+ outputFormat: values.outputFormat,
2782
+ resourceType: props.resourceType,
2783
+ fields: extractFieldNamesFromGroups(values.groups, props.fieldOrder),
2784
+ locales: values.locales,
2785
+ queryPredicate: values.queryPredicate
2786
+ });
2787
+ if (validationResult?.invalidQueryPredicate) {
2788
+ formik$1.setFieldError('queryPredicate', 'invalidInput');
2789
+ return;
2790
+ }
2791
+ if (validationResult?.noResourcesToExport) {
2792
+ showNotification({
2793
+ text: intl.formatMessage(messages.noResourcesToExport),
2794
+ kind: 'error',
2795
+ domain: constants.DOMAINS.PAGE
2796
+ });
2797
+ return;
2798
+ }
2799
+ }
2800
+ setCurrentStep(Step.FieldsSelection);
2801
+ } else if (currentStep === Step.FieldsSelection) {
2802
+ if (fieldSelectionMode !== 'imported-csv-template') {
2803
+ setCurrentStep(Step.ConfirmExport);
2804
+ return;
2805
+ }
2806
+ const isUsingImportedCsvLocales = localeOption === 'onlyLocalesFoundInCsvFile';
2807
+ const validationResult = await validateExport({
2808
+ fileName: values.fileName,
2809
+ outputFormat: values.outputFormat,
2810
+ resourceType: props.resourceType,
2811
+ fields: importedHeaders,
2812
+ locales: isUsingImportedCsvLocales ? undefined : values.locales,
2813
+ queryPredicate: values.queryPredicate
2814
+ });
2815
+ if (validationResult?.success) {
2816
+ setCurrentStep(Step.ConfirmExport);
2817
+ } else {
2818
+ setValidationErrors(validationResult?.validationErrors);
2819
+ setCurrentStep(Step.ValidationErrors);
2820
+ }
2821
+ } else {
2822
+ startExportOperation(values, exportType, fieldSelectionMode, localeOption, importedHeaders);
2823
+ }
2824
+ }
2718
2825
  });
2719
2826
  React__default["default"].useEffect(() => {
2720
2827
  formik$1.validateForm();
2721
- }, [currentStep, fieldSelectionMode, importedHeaders]);
2828
+ }, [currentStep, fieldSelectionMode, importedHeaders, exportType]);
2722
2829
  return jsxRuntime.jsx(ExportResourcesContext.Provider, {
2723
2830
  value: {
2724
2831
  formik: formik$1,
@@ -2730,6 +2837,7 @@ const ExportResourcesProvider = _ref => {
2730
2837
  totalResourcesCount: props.totalResourcesCount,
2731
2838
  selectedResourceIds: props.selectedResourceIds,
2732
2839
  hideExportSelectedResourcesOption: props.hideExportSelectedResourcesOption,
2840
+ showQueryPredicateOption: props.showQueryPredicateOption,
2733
2841
  filters: props.filters,
2734
2842
  hasFilters: areFiltersApplied(props.filters),
2735
2843
  setExportType,
@@ -3078,11 +3186,11 @@ function getDefaultDropWrapperStyles(_dropAreaState) {
3078
3186
  return /*#__PURE__*/react.css("" , "" );
3079
3187
  }
3080
3188
 
3081
- var ActiveDragDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./active-drag-drop-area-677cd139.cjs.prod.js' /* webpackChunkName: "active-drag-drop-area" */); }));
3189
+ var ActiveDragDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./active-drag-drop-area-7fd53916.cjs.prod.js' /* webpackChunkName: "active-drag-drop-area" */); }));
3082
3190
 
3083
- var EnabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./enabled-drop-area-049033dc.cjs.prod.js' /* webpackChunkName: "enabled-drop-area" */); }));
3191
+ var EnabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./enabled-drop-area-4c8d613f.cjs.prod.js' /* webpackChunkName: "enabled-drop-area" */); }));
3084
3192
 
3085
- var FileDropped = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./file-dropped-area-d2df8c70.cjs.prod.js' /* webpackChunkName: "filed-dropped-area" */); }));
3193
+ var FileDropped = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./file-dropped-area-b685a683.cjs.prod.js' /* webpackChunkName: "filed-dropped-area" */); }));
3086
3194
 
3087
3195
  function getDropArea(_ref) {
3088
3196
  let dropAreaState = _ref.dropAreaState,