@commercetools-frontend-extensions/export-resources-modal 4.7.1 → 4.8.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 (26) hide show
  1. package/README.md +7 -2
  2. package/dist/commercetools-frontend-extensions-export-resources-modal.cjs.dev.js +70 -57
  3. package/dist/commercetools-frontend-extensions-export-resources-modal.cjs.prod.js +69 -56
  4. package/dist/commercetools-frontend-extensions-export-resources-modal.esm.js +69 -58
  5. package/dist/{de-af429e2a.cjs.dev.js → de-3d4cf3d0.cjs.prod.js} +1 -1
  6. package/dist/{de-9746c508.esm.js → de-abc94d19.esm.js} +1 -1
  7. package/dist/{de-f235117b.cjs.prod.js → de-d6a38e9e.cjs.dev.js} +1 -1
  8. package/dist/declarations/src/@types/export-api.d.ts +5 -1
  9. package/dist/declarations/src/@types/export-resources-modal-context.d.ts +6 -2
  10. package/dist/declarations/src/@types/export-resources-modal-types.d.ts +8 -2
  11. package/dist/{en-8b4fee65.cjs.dev.js → en-0ea9f92c.cjs.dev.js} +1 -1
  12. package/dist/{en-b0fc803b.esm.js → en-38313842.esm.js} +1 -1
  13. package/dist/{en-0a4519c0.cjs.prod.js → en-fc0085cc.cjs.prod.js} +1 -1
  14. package/dist/{es-339117ae.cjs.prod.js → es-6360d546.cjs.prod.js} +1 -1
  15. package/dist/{es-ed7a7149.esm.js → es-85c5a396.esm.js} +1 -1
  16. package/dist/{es-1da000fa.cjs.dev.js → es-a4227b21.cjs.dev.js} +1 -1
  17. package/dist/{fr-FR-af05384b.cjs.prod.js → fr-FR-1602d5ff.cjs.dev.js} +1 -1
  18. package/dist/{fr-FR-01c89efe.esm.js → fr-FR-e610590b.esm.js} +1 -1
  19. package/dist/{fr-FR-f6456131.cjs.dev.js → fr-FR-ff7ec057.cjs.prod.js} +1 -1
  20. package/dist/{pt-BR-03e1fb85.cjs.prod.js → pt-BR-7b17be9e.cjs.dev.js} +1 -1
  21. package/dist/{pt-BR-8b9dd081.esm.js → pt-BR-ccc18639.esm.js} +1 -1
  22. package/dist/{pt-BR-bc9a187a.cjs.dev.js → pt-BR-d9b0a36d.cjs.prod.js} +1 -1
  23. package/dist/{zh-CN-e6a19d6d.cjs.dev.js → zh-CN-0126d1d1.cjs.prod.js} +1 -1
  24. package/dist/{zh-CN-1051c1d7.cjs.prod.js → zh-CN-0f473f16.cjs.dev.js} +1 -1
  25. package/dist/{zh-CN-464f6fce.esm.js → zh-CN-9a726ccd.esm.js} +1 -1
  26. package/package.json +1 -1
package/README.md CHANGED
@@ -129,7 +129,12 @@ import ExportResourcesModal from '@commercetools-frontend-extensions/export-reso
129
129
  outputFormat="csv"
130
130
  resourceType="category"
131
131
  filters={{
132
- queryPredicate: 'key = "category-key"',
132
+ where: 'key = "category-key"',
133
+ filters: { query: 'key = "category-key"' } | [ 'key = "category-key"']
134
+ fullText: {
135
+ text: 'category-text',
136
+ locale: 'en'
137
+ }
133
138
  total: 20
134
139
  }}
135
140
  totalResourcesCount={143}
@@ -326,7 +331,7 @@ import ExportResourcesModal from '@commercetools-frontend-extensions/export-reso
326
331
  | `onExportSuccess` | `function` | | | Callback function that is called when the export operation is successful |
327
332
  | `onClose` | `function` | | | Callback function invoked when the modal is requested to close (on overlay click, close button click or `ESC` press). This function is also called after an export operation regardless of its success or failure |
328
333
  | `resourceType` | `string` | ✅ | | The type of the resource, example: `category`, `product`...
329
- | `filters` | `Filters` | | | Filters can be set as simple string for [query predicates](https://docs.commercetools.com/api/predicates/query) or as a `search query` object for Search API filters, such as the [Product Search API](https://docs.commercetools.com/api/projects/product-search).
334
+ | `filters` | `Filters` | | | Filters can be set as filters object with a `query` property or array of strings. It can also be set as a simple string for the `where` property. Lastly, another option is to set Filters as `fulltext` object with `text` and locale` string properties.
330
335
  | `totalResourcesCount` | `number` | ✅ | | The count of all resources of identified `resourceType` |
331
336
  | `selectedResourceIds` | `array` | | | Array of Ids of the selected resources |
332
337
  | `fieldGroups` | `array` | ✅ | | Array of the grouped `fields` to export. |
@@ -44,6 +44,7 @@ var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-arr
44
44
  var _Set = require('@babel/runtime-corejs3/core-js-stable/set');
45
45
  var _sortInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/sort');
46
46
  var _indexOfInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
47
+ var _trimInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/trim');
47
48
  var actionsGlobal = require('@commercetools-frontend/actions-global');
48
49
  var constants = require('@commercetools-frontend/constants');
49
50
  var sdk = require('@commercetools-frontend/sdk');
@@ -87,6 +88,7 @@ var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
87
88
  var _Set__default = /*#__PURE__*/_interopDefault(_Set);
88
89
  var _sortInstanceProperty__default = /*#__PURE__*/_interopDefault(_sortInstanceProperty);
89
90
  var _indexOfInstanceProperty__default = /*#__PURE__*/_interopDefault(_indexOfInstanceProperty);
91
+ var _trimInstanceProperty__default = /*#__PURE__*/_interopDefault(_trimInstanceProperty);
90
92
  var sortBy__default = /*#__PURE__*/_interopDefault(sortBy);
91
93
  var _styled__default = /*#__PURE__*/_interopDefault(_styled);
92
94
  var throttle__default = /*#__PURE__*/_interopDefault(throttle);
@@ -262,107 +264,107 @@ var messages = reactIntl.defineMessages({
262
264
  exportScopeAllCategories: {
263
265
  id: 'ExportResourcesModal.exportScopeAllCategories',
264
266
  description: 'Label for Export All categories',
265
- defaultMessage: 'Export all: {total} categories'
267
+ defaultMessage: 'Export all: {total, plural, one {# category} other {# categories}}'
266
268
  },
267
269
  exportScopeSelectedCategories: {
268
270
  id: 'ExportResourcesModal.exportScopeSelectedCategories',
269
271
  description: 'Label for Export Selected categories',
270
- defaultMessage: 'Export selected: {total} categories'
272
+ defaultMessage: 'Export selected: {total, plural, one {# category} other {# categories}}'
271
273
  },
272
274
  exportScopeFilteredCategories: {
273
275
  id: 'ExportResourcesModal.exportScopeFilteredCategories',
274
276
  description: 'Label for Export Filtered categories',
275
- defaultMessage: 'Export filtered: {total} categories'
277
+ defaultMessage: 'Export filtered: {total, plural, one {# category} other {# categories}}'
276
278
  },
277
279
  exportScopeAllProducts: {
278
280
  id: 'ExportResourcesModal.exportScopeAllProducts',
279
281
  description: 'Label for Export All products',
280
- defaultMessage: 'Export all: {total} products'
282
+ defaultMessage: 'Export all: {total, plural, one {# product} other {# products}}'
281
283
  },
282
284
  exportScopeSelectedProducts: {
283
285
  id: 'ExportResourcesModal.exportScopeSelectedProducts',
284
286
  description: 'Label for Export Selected products',
285
- defaultMessage: 'Export selected: {total} products'
287
+ defaultMessage: 'Export selected: {total, plural, one {# product} other {# products}}'
286
288
  },
287
289
  exportScopeFilteredProducts: {
288
290
  id: 'ExportResourcesModal.exportScopeFilteredProducts',
289
291
  description: 'Label for Export Filtered products',
290
- defaultMessage: 'Export filtered: {total} products'
292
+ defaultMessage: 'Export filtered: {total, plural, one {# product} other {# products}}'
291
293
  },
292
294
  exportScopeAllProductTypes: {
293
295
  id: 'ExportResourcesModal.exportScopeAllProductTypes',
294
296
  description: 'Label for Export All product types',
295
- defaultMessage: 'Export all: {total} product types'
297
+ defaultMessage: 'Export all: {total, plural, one {# product type} other {# product types}}'
296
298
  },
297
299
  exportScopeSelectedProductTypes: {
298
300
  id: 'ExportResourcesModal.exportScopeSelectedProductTypes',
299
301
  description: 'Label for Export Selected product types',
300
- defaultMessage: 'Export selected: {total} product types'
302
+ defaultMessage: 'Export selected: {total, plural, one {# product type} other {# product types}}'
301
303
  },
302
304
  exportScopeFilteredProductTypes: {
303
305
  id: 'ExportResourcesModal.exportScopeFilteredProductTypes',
304
306
  description: 'Label for Export Filtered product types',
305
- defaultMessage: 'Export filtered: {total} product types'
307
+ defaultMessage: 'Export filtered: {total, plural, one {# product type} other {# product types}}'
306
308
  },
307
309
  exportInventoriesForAllProducts: {
308
310
  id: 'ExportResourcesModal.exportInventoriesForAllProducts',
309
311
  description: 'Label for Export All inventories',
310
- defaultMessage: 'Export inventories for all {total} products'
312
+ defaultMessage: 'Export inventories for all {total, plural, one {# product} other {# products}}'
311
313
  },
312
314
  exportInventoriesForSelectedProducts: {
313
315
  id: 'ExportResourcesModal.exportInventoriesForSelectedProducts',
314
316
  description: 'Label for Export Selected inventories',
315
- defaultMessage: 'Export inventories for the {total} selected products'
317
+ defaultMessage: 'Export inventories for the {total, plural, one {# selected product} other {# selected products}}'
316
318
  },
317
319
  exportInventoriesForFilteredProducts: {
318
320
  id: 'ExportResourcesModal.exportInventoriesForFilteredProducts',
319
321
  description: 'Label for Export Filtered inventories',
320
- defaultMessage: 'Export inventories for the {total} filtered products'
322
+ defaultMessage: 'Export inventories for the {total, plural, one {# filtered product} other {# filtered products}}'
321
323
  },
322
324
  exportScopeAllDiscountCodes: {
323
325
  id: 'ExportResourcesModal.exportScopeAllDiscountCodes',
324
326
  description: 'Label for Export All discount codes',
325
- defaultMessage: 'Export all: {total} discount codes'
327
+ defaultMessage: 'Export all: {total, plural, one {# discount code} other {# discount codes}}'
326
328
  },
327
329
  exportScopeSelectedDiscountCodes: {
328
330
  id: 'ExportResourcesModal.exportScopeSelectedDiscountCodes',
329
331
  description: 'Label for Export Selected discount codes',
330
- defaultMessage: 'Export selected: {total} discount codes'
332
+ defaultMessage: 'Export selected: {total, plural, one {# discount code} other {# discount codes}}'
331
333
  },
332
334
  exportScopeFilteredDiscountCodes: {
333
335
  id: 'ExportResourcesModal.exportScopeFilteredDiscountCodes',
334
336
  description: 'Label for Export Filtered discount codes',
335
- defaultMessage: 'Export filtered: {total} discount codes'
337
+ defaultMessage: 'Export filtered: {total, plural, one {# discount code} other {# discount codes}}'
336
338
  },
337
339
  exportScopeAllOrders: {
338
340
  id: 'ExportResourcesModal.exportScopeAllOrders',
339
341
  description: 'Label for Export All orders',
340
- defaultMessage: 'Export all: {total} orders'
342
+ defaultMessage: 'Export all: {total, plural, one {# order} other {# orders}}'
341
343
  },
342
344
  exportScopeSelectedOrders: {
343
345
  id: 'ExportResourcesModal.exportScopeSelectedOrders',
344
346
  description: 'Label for Export Selected orders',
345
- defaultMessage: 'Export selected: {total} orders'
347
+ defaultMessage: 'Export selected: {total, plural, one {# order} other {# orders}}'
346
348
  },
347
349
  exportScopeFilteredOrders: {
348
350
  id: 'ExportResourcesModal.exportScopeFilteredOrders',
349
351
  description: 'Label for Export Filtered orders',
350
- defaultMessage: 'Export filtered: {total} orders'
352
+ defaultMessage: 'Export filtered: {total, plural, one {# order} other {# orders}}'
351
353
  },
352
354
  exportScopeAllCustomers: {
353
355
  id: 'ExportResourcesModal.exportScopeAllCustomers',
354
356
  description: 'Label for Export All customers',
355
- defaultMessage: 'Export all: {total} customers'
357
+ defaultMessage: 'Export all: {total, plural, one {# customer} other {# customers}}'
356
358
  },
357
359
  exportScopeSelectedCustomers: {
358
360
  id: 'ExportResourcesModal.exportScopeSelectedCustomers',
359
361
  description: 'Label for Export Selected customers',
360
- defaultMessage: 'Export selected: {total} customers'
362
+ defaultMessage: 'Export selected: {total, plural, one {# customer} other {# customers}}'
361
363
  },
362
364
  exportScopeFilteredCustomers: {
363
365
  id: 'ExportResourcesModal.exportScopeFilteredCustomers',
364
366
  description: 'Label for Export Filtered customers',
365
- defaultMessage: 'Export filtered: {total} customers'
367
+ defaultMessage: 'Export filtered: {total, plural, one {# customer} other {# customers}}'
366
368
  },
367
369
  exportScopeSelectedWithoutCount: {
368
370
  id: 'ExportResourcesModal.exportScopeSelectedWithoutCount',
@@ -652,6 +654,12 @@ const getTotalCheckedFields = group => {
652
654
  return countCheckedFields(group.fields);
653
655
  };
654
656
 
657
+ let Step = /*#__PURE__*/function (Step) {
658
+ Step["FileSettings"] = "file-settings";
659
+ Step["FieldsSelection"] = "fields-selection";
660
+ return Step;
661
+ }({});
662
+
655
663
  function validate(_ref) {
656
664
  let values = _valuesInstanceProperty__default["default"](_ref),
657
665
  step = _ref.step;
@@ -671,7 +679,7 @@ function validate(_ref) {
671
679
  if (locales.length < 1) {
672
680
  errors.locales.missing = true;
673
681
  }
674
- if (step === 2) {
682
+ if (step === Step.FieldsSelection) {
675
683
  const allFields = _reduceInstanceProperty__default["default"](groups).call(groups, (acc, group) => _concatInstanceProperty__default["default"](acc).call(acc, group.fields), []);
676
684
  const checkedFieldsCount = _filterInstanceProperty__default["default"](allFields).call(allFields, field => {
677
685
  if (field.fields) return isAnyFieldChecked(field.fields);
@@ -770,20 +778,21 @@ function buildSelectedExportFilters(selectedResourceIds) {
770
778
  return `id in (${formattedIds})`;
771
779
  }
772
780
  function validateFilters(filters) {
773
- const hasQueryPredicate = 'queryPredicate' in filters;
774
- const hasSearchQuery = 'searchQuery' in filters;
775
-
776
- // Ensure only one of `queryPredicate` or `searchQuery` is applied but not both or none
777
- const validFilterState = hasQueryPredicate && !hasSearchQuery || !hasQueryPredicate && hasSearchQuery;
781
+ const hasWhere = 'where' in filters;
782
+ const hasFilters = 'filters' in filters;
783
+ const hasFullText = 'fullText' in filters;
784
+ // Ensure only one of `where` or `filters` is applied but not both or none
785
+ const validFilterState = hasWhere && !hasFilters || !hasWhere && hasFilters || hasFullText && filters?.fullText?.text?.trim() !== '';
778
786
  return validFilterState;
779
787
  }
780
- function areFiltersApplied(filters) {
781
- if (!filters) {
788
+ function areFiltersApplied(filterObject) {
789
+ if (!filterObject) {
782
790
  return false;
783
791
  }
784
- const hasQueryPredicate = (filters.queryPredicate?.trim() ?? '') !== '';
785
- const hasSearchQuery = _Object$keys__default["default"](filters.searchQuery ?? {}).length > 0;
786
- return hasQueryPredicate || hasSearchQuery;
792
+ let filters = filterObject.filters,
793
+ where = filterObject.where;
794
+ let hasFilters = where && _trimInstanceProperty__default["default"](where).call(where) !== '' || Boolean(_Array$isArray__default["default"](filters) && filters.length > 0 || typeof filters === 'object' && _Object$keys__default["default"](filters).length > 0);
795
+ return hasFilters;
787
796
  }
788
797
  function getInitialExportType(args) {
789
798
  if (args.selectedResourceIds?.length) {
@@ -968,7 +977,8 @@ async function createExportOperation(_ref, asyncDispatchFn) {
968
977
  locales = _ref.locales,
969
978
  filters = _ref.filters,
970
979
  where = _ref.where,
971
- fillRows = _ref.fillRows;
980
+ fillRows = _ref.fillRows,
981
+ fullText = _ref.fullText;
972
982
  const uri = `/${projectKey}/export-operations`;
973
983
  const response = await asyncDispatchFn(sdk.actions.post({
974
984
  mcApiProxyTarget: constants.MC_API_PROXY_TARGETS.EXPORT,
@@ -985,8 +995,9 @@ async function createExportOperation(_ref, asyncDispatchFn) {
985
995
  fillRows,
986
996
  // Query predicate
987
997
  where,
988
- // Search API filters
989
- filters
998
+ // Search API filters or Category API filters
999
+ filters,
1000
+ fullText
990
1001
  }
991
1002
  }));
992
1003
  if (!response || typeof response !== 'object' || !('state' in response)) {
@@ -1029,16 +1040,16 @@ const useStartExportOperation = props => {
1029
1040
  const fields = extractFieldNamesFromGroups(values.groups);
1030
1041
  let where = undefined;
1031
1042
  let filters = undefined;
1043
+ let fullText = undefined;
1032
1044
  if (exportType === EXPORT_TYPES.SELECTED && props.selectedResourceIds?.length) {
1033
1045
  where = buildSelectedExportFilters(props.selectedResourceIds);
1034
1046
  } else if (exportType === EXPORT_TYPES.FILTERED) {
1035
- if (props.filters?.queryPredicate) {
1036
- where = props.filters.queryPredicate;
1037
- }
1038
- if (props.filters?.searchQuery) {
1039
- filters = {
1040
- query: props.filters.searchQuery
1041
- };
1047
+ if (props.filters) {
1048
+ ;
1049
+ var _props$filters = props.filters;
1050
+ filters = _props$filters.filters;
1051
+ where = _props$filters.where;
1052
+ fullText = _props$filters.fullText;
1042
1053
  }
1043
1054
  }
1044
1055
  const response = await createExportOperation({
@@ -1050,7 +1061,8 @@ const useStartExportOperation = props => {
1050
1061
  fillRows: values.fillRows,
1051
1062
  fields,
1052
1063
  where,
1053
- filters
1064
+ filters,
1065
+ fullText
1054
1066
  }, asyncDispatch);
1055
1067
  switch (response.state) {
1056
1068
  case EXPORT_OPERATION_STATES.QUEUED:
@@ -1767,7 +1779,7 @@ const StyledGridCard = /*#__PURE__*/_styled__default["default"](uiKit.Card, proc
1767
1779
  } : {
1768
1780
  target: "e5mvpn60",
1769
1781
  label: "StyledGridCard"
1770
- })("max-height:calc(100vh - ", totalSpacing, "px);overflow:auto;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4cG9ydC1maWVsZHMtc2VsZWN0aW9uLXN0ZXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlDbUMiLCJmaWxlIjoiZXhwb3J0LWZpZWxkcy1zZWxlY3Rpb24tc3RlcC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCdcbmltcG9ydCB7IEZvcm1EaWFsb2cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJ1xuaW1wb3J0IHsgdXNlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycydcbmltcG9ydCB7IHVzZVN0b3JhZ2UgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9leHBlcmltZW50YWwtY29tcG9uZW50cydcbmltcG9ydCB7IE1hc2tpbmcgYXMgRnVsbFN0b3J5TWFza2luZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2Z1bGxzdG9yeSdcbmltcG9ydCB7XG4gIENhcmQsXG4gIEdyaWQsXG4gIFNwYWNpbmdzLFxuICBTZWFyY2hUZXh0SW5wdXQsXG4gIGRlc2lnblRva2Vucyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvdWkta2l0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdGhyb3R0bGUgZnJvbSAnbG9kYXNoL3Rocm90dGxlJ1xuaW1wb3J0IEV4cG9ydEZpZWxkU2VsZWN0aW9uUHJvdmlkZXIgZnJvbSAnLi9leHBvcnQtZmllbGQtc2VsZWN0aW9uLXByb3ZpZGVyJ1xuaW1wb3J0IHsgRmllbGRHcm91cFNlY3Rpb24gfSBmcm9tICcuL2ZpZWxkLWdyb3VwLXNlY3Rpb24nXG5pbXBvcnQgeyBPUEVSQVRJT05TX0VYUE9SVF9SRVNPVVJDRVNfTU9EQUxfU0VMRUNUSU9OIH0gZnJvbSAnLi4vLi4vQGNvbnN0YW50cydcbmltcG9ydCB7IHVzZUV4cG9ydFJlc291cmNlc01vZGFsQ29udGV4dCB9IGZyb20gJy4uLy4uL0Bob29rcydcbmltcG9ydCB0eXBlIHtcbiAgRmlsdGVyZWRGaWVsZCxcbiAgRmlsdGVyZWRHcm91cCxcbiAgRm9ybUZpZWxkLFxuICBGb3JtR3JvdXAsXG59IGZyb20gJy4uLy4uL0B0eXBlcydcbmltcG9ydCB7IHVwZGF0ZUZpZWxkRGVwZW5kZW5jaWVzU3RhdHVzIH0gZnJvbSAnLi4vLi4vQHV0aWxzJ1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4uLy4uL21lc3NhZ2VzJ1xuaW1wb3J0IHsgTm9TZWFyY2hSZXN1bHRzIH0gZnJvbSAnLi4vbm8tc2VhcmNoLXJlc3VsdHMnXG5cbmNvbnN0IHRvdGFsU3BhY2luZyA9XG4gIDMyICogMiArIC8vIG91dGVyIG1vZGFsIHNwYWNpbmdcbiAgKDMyICsgNDApICsgLy8gZm9vdGVyIChkaWFsb2cgYnV0dG9ucyArIG1hcmdpbilcbiAgNDAgKyAvLyBzZWFyY2ggaW5wdXRcbiAgMjQgKyAvLyBzZWFyY2ggaW5wdXQgcGFkZGluZ1xuICAyNCArIC8vIG1vZGFsIGhlYWRlclxuICAxNiArIC8vIG1vZGFsIGhlYWRlciBtYXJnaW5cbiAgMTYgKyAvLyBzcGFjaW5nIGJldHdlZW4gc2VhcmNoIGlucHV0IGFuZCBncmlkIGNhcmRcbiAgKDE2ICogMiArIDggKiAyKSArIC8vIG1vZGFsIHBhZGRpbmdcbiAgNTYgKyAvLyBNQyBoZWFkZXJcbiAgNCAvLyBib3JkZXJzXG5cbmNvbnN0IFN0eWxlZEdyaWRDYXJkID0gc3R5bGVkKENhcmQpYFxuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gJHt0b3RhbFNwYWNpbmd9cHgpO1xuICBvdmVyZmxvdzogYXV0bztcbmBcblxuZXhwb3J0IGNvbnN0IEV4cG9ydEZpZWxkc1NlbGVjdGlvblN0ZXAgPSAoKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKClcbiAgY29uc3QgW2ZpZWxkU2VhcmNoVGVybSwgc2V0RmllbGRTZWFyY2hUZXJtXSA9IFJlYWN0LnVzZVN0YXRlKCcnKVxuICBjb25zdCB7IHByb2plY3RLZXkgfSA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dCgoY29udGV4dCkgPT4gKHtcbiAgICBwcm9qZWN0S2V5OiBjb250ZXh0LnByb2plY3Q/LmtleSxcbiAgfSkpXG4gIGNvbnN0IFtfLCBzZXRDYWNoZWRTZWxlY3RlZEdyb3Vwc10gPSB1c2VTdG9yYWdlKFxuICAgIGAke3Byb2plY3RLZXl9LyR7T1BFUkFUSU9OU19FWFBPUlRfUkVTT1VSQ0VTX01PREFMX1NFTEVDVElPTn1gLFxuICAgIHt9XG4gIClcbiAgY29uc3QgeyBmb3JtaWssIHNldEN1cnJlbnRTdGVwLCByZXNvdXJjZVR5cGUsIG9uQ2xvc2UgfSA9XG4gICAgdXNlRXhwb3J0UmVzb3VyY2VzTW9kYWxDb250ZXh0KClcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZvcm1pay52YWxpZGF0ZUZvcm0oKVxuICAgIHVwZGF0ZUZpZWxkRGVwZW5kZW5jaWVzU3RhdHVzKGZvcm1paylcbiAgICBjb25zdCBjaGVja2VkRmllbGRzID0ge31cbiAgICBmdW5jdGlvbiBnZXRDaGVja2VkRmllbGRzKGZpZWxkOiBGb3JtRmllbGQsIGdyb3VwTmFtZTogc3RyaW5nKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZC5uYW1lID8gYCR7Z3JvdXBOYW1lfS4ke2ZpZWxkLm5hbWV9YCA6IGdyb3VwTmFtZVxuICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICByZXR1cm4gZmllbGQuZmllbGRzLmZvckVhY2goKGYpID0+IGdldENoZWNrZWRGaWVsZHMoZiwgZmllbGROYW1lKSlcbiAgICAgIH1cblxuICAgICAgY2hlY2tlZEZpZWxkc1tmaWVsZE5hbWVdID0gZmllbGQuaXNDaGVja2VkXG4gICAgfVxuICAgIGZvcm1pay52YWx1ZXMuZ3JvdXBzLmZvckVhY2goKGdyb3VwOiBGb3JtR3JvdXApID0+IHtcbiAgICAgIGdyb3VwLmZpZWxkcy5mb3JFYWNoKChmaWVsZDogRm9ybUZpZWxkKSA9PiB7XG4gICAgICAgIGdldENoZWNrZWRGaWVsZHMoZmllbGQsIGdyb3VwLmdyb3VwTmFtZSlcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIHNldENhY2hlZFNlbGVjdGVkR3JvdXBzKHtcbiAgICAgIFtyZXNvdXJjZVR5cGVdOiBjaGVja2VkRmllbGRzLFxuICAgIH0pXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbZm9ybWlrLnZhbHVlcy5ncm91cHNdKVxuICAvLyBhZGRzIGBpc0hpZGRlbmAgcHJvcGVydHkgdG8gZWFjaCBmaWVsZCBiYXNlZCBvbiBzZWFyY2ggdGVybVxuICBjb25zdCBmaWx0ZXJlZEdyb3VwcyA9IFJlYWN0LnVzZU1lbW88RmlsdGVyZWRHcm91cFtdPigoKSA9PiB7XG4gICAgY29uc3QgdXBkYXRlRmllbGRzID0gKFxuICAgICAgZmllbGRzOiBGb3JtRmllbGRbXSxcbiAgICAgIHBhcmVudE1hdGNoZXM6IGJvb2xlYW5cbiAgICApOiBGaWx0ZXJlZEZpZWxkW10gPT4ge1xuICAgICAgcmV0dXJuIGZpZWxkcy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSBmaWVsZC5sYWJlbFxuICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgLmluY2x1ZGVzKGZpZWxkU2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICBsZXQgaXNIaWRkZW4gPSAhbWF0Y2hlcyAmJiAhcGFyZW50TWF0Y2hlc1xuICAgICAgICBpZiAoZmllbGQuZmllbGRzKSB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEZpZWxkcyA9IHVwZGF0ZUZpZWxkcyhmaWVsZC5maWVsZHMsIG1hdGNoZXMpXG4gICAgICAgICAgaXNIaWRkZW4gPSBpc0hpZGRlbiAmJiB1cGRhdGVkRmllbGRzLmV2ZXJ5KChmKSA9PiBmLmlzSGlkZGVuKVxuICAgICAgICAgIGZpZWxkID0ge1xuICAgICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgICBmaWVsZHM6IHVwZGF0ZWRGaWVsZHMsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IC4uLmZpZWxkLCBpc0hpZGRlbiB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmICghZmllbGRTZWFyY2hUZXJtPy50cmltKCk/Lmxlbmd0aCkgcmV0dXJuIGZvcm1pay52YWx1ZXMuZ3JvdXBzXG5cbiAgICBjb25zdCB1cGRhdGVHcm91cHMgPSAoZ3JvdXBzOiBGb3JtR3JvdXBbXSk6IEZpbHRlcmVkR3JvdXBbXSA9PiB7XG4gICAgICByZXR1cm4gZ3JvdXBzLm1hcCgoZ3JvdXApID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZEZpZWxkcyA9IHVwZGF0ZUZpZWxkcyhncm91cC5maWVsZHMsIGZhbHNlKVxuICAgICAgICBjb25zdCBpc0hpZGRlbiA9IHVwZGF0ZWRGaWVsZHMuZXZlcnkoKGZpZWxkKSA9PiBmaWVsZC5pc0hpZGRlbilcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICBmaWVsZHM6IHVwZGF0ZWRGaWVsZHMsXG4gICAgICAgICAgaXNIaWRkZW4sXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiB1cGRhdGVHcm91cHMoZm9ybWlrLnZhbHVlcy5ncm91cHMpXG4gIH0sIFtmb3JtaWsudmFsdWVzLmdyb3VwcywgZmllbGRTZWFyY2hUZXJtXSlcblxuICBjb25zdCBvblNlYXJjaENoYW5nZSA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgc2V0RmllbGRTZWFyY2hUZXJtKGV2ZW50LnRhcmdldC52YWx1ZSlcbiAgICB9LFxuICAgIFtzZXRGaWVsZFNlYXJjaFRlcm1dXG4gIClcblxuICBjb25zdCBoYXNSZXN1bHRzID0gQm9vbGVhbihmaWx0ZXJlZEdyb3Vwcy5maW5kKChncm91cCkgPT4gIWdyb3VwLmlzSGlkZGVuKSlcblxuICBjb25zdCBvblNlYXJjaENoYW5nZVRocm90dGxlZCA9IFJlYWN0LnVzZU1lbW8oXG4gICAgKCkgPT4gdGhyb3R0bGUob25TZWFyY2hDaGFuZ2UsIDMwMCksXG4gICAgW29uU2VhcmNoQ2hhbmdlXVxuICApXG5cbiAgY29uc3Qgb25TZWFyY2hSZXNldCA9ICgpID0+IHtcbiAgICBzZXRGaWVsZFNlYXJjaFRlcm0oJycpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxGb3JtRGlhbG9nXG4gICAgICBpc09wZW5cbiAgICAgIHRpdGxlPXtpbnRsLmZvcm1hdE1lc3NhZ2UobWVzc2FnZXMuc2VsZWN0RmllbGRzVG9FeHBvcnQpfVxuICAgICAgbGFiZWxQcmltYXJ5PXtpbnRsLmZvcm1hdE1lc3NhZ2UobWVzc2FnZXMuc3RhcnRFeHBvcnQpfVxuICAgICAgb25QcmltYXJ5QnV0dG9uQ2xpY2s9e2Zvcm1pay5zdWJtaXRGb3JtfVxuICAgICAgaXNQcmltYXJ5QnV0dG9uRGlzYWJsZWQ9eyFmb3JtaWsuaXNWYWxpZH1cbiAgICAgIGxhYmVsU2Vjb25kYXJ5PXtpbnRsLmZvcm1hdE1lc3NhZ2UobWVzc2FnZXMuYmFjayl9XG4gICAgICBvblNlY29uZGFyeUJ1dHRvbkNsaWNrPXsoKSA9PiBzZXRDdXJyZW50U3RlcCgxKX1cbiAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XG4gICAgICBzaXplPXsxNn1cbiAgICA+XG4gICAgICA8RnVsbFN0b3J5TWFza2luZy5Vbm1hc2s+XG4gICAgICAgIDxFeHBvcnRGaWVsZFNlbGVjdGlvblByb3ZpZGVyIHJlc291cmNlVHlwZT17cmVzb3VyY2VUeXBlfT5cbiAgICAgICAgICA8U3BhY2luZ3MuU3RhY2sgc2NhbGU9XCJtXCI+XG4gICAgICAgICAgICA8U2VhcmNoVGV4dElucHV0XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpbnRsLmZvcm1hdE1lc3NhZ2UobWVzc2FnZXMuc2VhcmNoRm9yRmllbGRzKX1cbiAgICAgICAgICAgICAgdmFsdWU9e2ZpZWxkU2VhcmNoVGVybX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e29uU2VhcmNoQ2hhbmdlVGhyb3R0bGVkfVxuICAgICAgICAgICAgICBvblJlc2V0PXtvblNlYXJjaFJlc2V0fVxuICAgICAgICAgICAgICAvLyBUT0RPOiBgU2VhcmNoVGV4dElucHV0YCBwcm9wcyB0byBiZSBpbXByb3ZlZC4gVGhlIGBvblN1Ym1pdGAgY2FsbGJhY2sgc2hvdWxkbid0IGJlIG1hbmRhdG9yeVxuICAgICAgICAgICAgICBvblN1Ym1pdD17KCkgPT4ge319XG4gICAgICAgICAgICAgIGlkPVwiZXhwb3J0LWZpZWxkcy1zZWFyY2hcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtoYXNSZXN1bHRzID8gKFxuICAgICAgICAgICAgICA8U3R5bGVkR3JpZENhcmQgaW5zZXRTY2FsZT1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICA8R3JpZFxuICAgICAgICAgICAgICAgICAgZ3JpZEF1dG9GbG93PVwicm93XCJcbiAgICAgICAgICAgICAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnM9e2BjYWxjKCR7ZGVzaWduVG9rZW5zLnNwYWNpbmdMfSArICR7ZGVzaWduVG9rZW5zLmNvbnN0cmFpbnQ1fSArICR7ZGVzaWduVG9rZW5zLnNwYWNpbmdMfSkgYXV0b2B9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpbHRlcmVkR3JvdXBzLm1hcCgoZ3JvdXAsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxGaWVsZEdyb3VwU2VjdGlvblxuICAgICAgICAgICAgICAgICAgICAgIGtleT17Z3JvdXAuZ3JvdXBOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIGdyb3VwPXtncm91cH1cbiAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgICAgICAgICAgaXNGb3JjZUV4cGFuZGVkPXtmaWVsZFNlYXJjaFRlcm0/LnRyaW0oKT8ubGVuZ3RoID4gMH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgPC9TdHlsZWRHcmlkQ2FyZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxOb1NlYXJjaFJlc3VsdHMgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TcGFjaW5ncy5TdGFjaz5cbiAgICAgICAgPC9FeHBvcnRGaWVsZFNlbGVjdGlvblByb3ZpZGVyPlxuICAgICAgPC9GdWxsU3RvcnlNYXNraW5nLlVubWFzaz5cbiAgICA8L0Zvcm1EaWFsb2c+XG4gIClcbn1cbiJdfQ== */"));
1782
+ })("max-height:calc(100vh - ", totalSpacing, "px);overflow:auto;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4cG9ydC1maWVsZHMtc2VsZWN0aW9uLXN0ZXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDbUMiLCJmaWxlIjoiZXhwb3J0LWZpZWxkcy1zZWxlY3Rpb24tc3RlcC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCdcbmltcG9ydCB7IEZvcm1EaWFsb2cgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJ1xuaW1wb3J0IHsgdXNlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycydcbmltcG9ydCB7IHVzZVN0b3JhZ2UgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9leHBlcmltZW50YWwtY29tcG9uZW50cydcbmltcG9ydCB7IE1hc2tpbmcgYXMgRnVsbFN0b3J5TWFza2luZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2Z1bGxzdG9yeSdcbmltcG9ydCB7XG4gIENhcmQsXG4gIEdyaWQsXG4gIFNwYWNpbmdzLFxuICBTZWFyY2hUZXh0SW5wdXQsXG4gIGRlc2lnblRva2Vucyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvdWkta2l0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdGhyb3R0bGUgZnJvbSAnbG9kYXNoL3Rocm90dGxlJ1xuaW1wb3J0IEV4cG9ydEZpZWxkU2VsZWN0aW9uUHJvdmlkZXIgZnJvbSAnLi9leHBvcnQtZmllbGQtc2VsZWN0aW9uLXByb3ZpZGVyJ1xuaW1wb3J0IHsgRmllbGRHcm91cFNlY3Rpb24gfSBmcm9tICcuL2ZpZWxkLWdyb3VwLXNlY3Rpb24nXG5pbXBvcnQgeyBPUEVSQVRJT05TX0VYUE9SVF9SRVNPVVJDRVNfTU9EQUxfU0VMRUNUSU9OIH0gZnJvbSAnLi4vLi4vQGNvbnN0YW50cydcbmltcG9ydCB7IHVzZUV4cG9ydFJlc291cmNlc01vZGFsQ29udGV4dCB9IGZyb20gJy4uLy4uL0Bob29rcydcbmltcG9ydCB7XG4gIHR5cGUgRmlsdGVyZWRGaWVsZCxcbiAgdHlwZSBGaWx0ZXJlZEdyb3VwLFxuICB0eXBlIEZvcm1GaWVsZCxcbiAgdHlwZSBGb3JtR3JvdXAsXG4gIFN0ZXAsXG59IGZyb20gJy4uLy4uL0B0eXBlcydcbmltcG9ydCB7IHVwZGF0ZUZpZWxkRGVwZW5kZW5jaWVzU3RhdHVzIH0gZnJvbSAnLi4vLi4vQHV0aWxzJ1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4uLy4uL21lc3NhZ2VzJ1xuaW1wb3J0IHsgTm9TZWFyY2hSZXN1bHRzIH0gZnJvbSAnLi4vbm8tc2VhcmNoLXJlc3VsdHMnXG5cbmNvbnN0IHRvdGFsU3BhY2luZyA9XG4gIDMyICogMiArIC8vIG91dGVyIG1vZGFsIHNwYWNpbmdcbiAgKDMyICsgNDApICsgLy8gZm9vdGVyIChkaWFsb2cgYnV0dG9ucyArIG1hcmdpbilcbiAgNDAgKyAvLyBzZWFyY2ggaW5wdXRcbiAgMjQgKyAvLyBzZWFyY2ggaW5wdXQgcGFkZGluZ1xuICAyNCArIC8vIG1vZGFsIGhlYWRlclxuICAxNiArIC8vIG1vZGFsIGhlYWRlciBtYXJnaW5cbiAgMTYgKyAvLyBzcGFjaW5nIGJldHdlZW4gc2VhcmNoIGlucHV0IGFuZCBncmlkIGNhcmRcbiAgKDE2ICogMiArIDggKiAyKSArIC8vIG1vZGFsIHBhZGRpbmdcbiAgNTYgKyAvLyBNQyBoZWFkZXJcbiAgNCAvLyBib3JkZXJzXG5cbmNvbnN0IFN0eWxlZEdyaWRDYXJkID0gc3R5bGVkKENhcmQpYFxuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gJHt0b3RhbFNwYWNpbmd9cHgpO1xuICBvdmVyZmxvdzogYXV0bztcbmBcblxuZXhwb3J0IGNvbnN0IEV4cG9ydEZpZWxkc1NlbGVjdGlvblN0ZXAgPSAoKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKClcbiAgY29uc3QgW2ZpZWxkU2VhcmNoVGVybSwgc2V0RmllbGRTZWFyY2hUZXJtXSA9IFJlYWN0LnVzZVN0YXRlKCcnKVxuICBjb25zdCB7IHByb2plY3RLZXkgfSA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dCgoY29udGV4dCkgPT4gKHtcbiAgICBwcm9qZWN0S2V5OiBjb250ZXh0LnByb2plY3Q/LmtleSxcbiAgfSkpXG4gIGNvbnN0IFtfLCBzZXRDYWNoZWRTZWxlY3RlZEdyb3Vwc10gPSB1c2VTdG9yYWdlKFxuICAgIGAke3Byb2plY3RLZXl9LyR7T1BFUkFUSU9OU19FWFBPUlRfUkVTT1VSQ0VTX01PREFMX1NFTEVDVElPTn1gLFxuICAgIHt9XG4gIClcbiAgY29uc3QgeyBmb3JtaWssIHNldEN1cnJlbnRTdGVwLCByZXNvdXJjZVR5cGUsIG9uQ2xvc2UgfSA9XG4gICAgdXNlRXhwb3J0UmVzb3VyY2VzTW9kYWxDb250ZXh0KClcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZvcm1pay52YWxpZGF0ZUZvcm0oKVxuICAgIHVwZGF0ZUZpZWxkRGVwZW5kZW5jaWVzU3RhdHVzKGZvcm1paylcbiAgICBjb25zdCBjaGVja2VkRmllbGRzID0ge31cbiAgICBmdW5jdGlvbiBnZXRDaGVja2VkRmllbGRzKGZpZWxkOiBGb3JtRmllbGQsIGdyb3VwTmFtZTogc3RyaW5nKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZC5uYW1lID8gYCR7Z3JvdXBOYW1lfS4ke2ZpZWxkLm5hbWV9YCA6IGdyb3VwTmFtZVxuICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICByZXR1cm4gZmllbGQuZmllbGRzLmZvckVhY2goKGYpID0+IGdldENoZWNrZWRGaWVsZHMoZiwgZmllbGROYW1lKSlcbiAgICAgIH1cblxuICAgICAgY2hlY2tlZEZpZWxkc1tmaWVsZE5hbWVdID0gZmllbGQuaXNDaGVja2VkXG4gICAgfVxuICAgIGZvcm1pay52YWx1ZXMuZ3JvdXBzLmZvckVhY2goKGdyb3VwOiBGb3JtR3JvdXApID0+IHtcbiAgICAgIGdyb3VwLmZpZWxkcy5mb3JFYWNoKChmaWVsZDogRm9ybUZpZWxkKSA9PiB7XG4gICAgICAgIGdldENoZWNrZWRGaWVsZHMoZmllbGQsIGdyb3VwLmdyb3VwTmFtZSlcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIHNldENhY2hlZFNlbGVjdGVkR3JvdXBzKHtcbiAgICAgIFtyZXNvdXJjZVR5cGVdOiBjaGVja2VkRmllbGRzLFxuICAgIH0pXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbZm9ybWlrLnZhbHVlcy5ncm91cHNdKVxuICAvLyBhZGRzIGBpc0hpZGRlbmAgcHJvcGVydHkgdG8gZWFjaCBmaWVsZCBiYXNlZCBvbiBzZWFyY2ggdGVybVxuICBjb25zdCBmaWx0ZXJlZEdyb3VwcyA9IFJlYWN0LnVzZU1lbW88RmlsdGVyZWRHcm91cFtdPigoKSA9PiB7XG4gICAgY29uc3QgdXBkYXRlRmllbGRzID0gKFxuICAgICAgZmllbGRzOiBGb3JtRmllbGRbXSxcbiAgICAgIHBhcmVudE1hdGNoZXM6IGJvb2xlYW5cbiAgICApOiBGaWx0ZXJlZEZpZWxkW10gPT4ge1xuICAgICAgcmV0dXJuIGZpZWxkcy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSBmaWVsZC5sYWJlbFxuICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgLmluY2x1ZGVzKGZpZWxkU2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICBsZXQgaXNIaWRkZW4gPSAhbWF0Y2hlcyAmJiAhcGFyZW50TWF0Y2hlc1xuICAgICAgICBpZiAoZmllbGQuZmllbGRzKSB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEZpZWxkcyA9IHVwZGF0ZUZpZWxkcyhmaWVsZC5maWVsZHMsIG1hdGNoZXMpXG4gICAgICAgICAgaXNIaWRkZW4gPSBpc0hpZGRlbiAmJiB1cGRhdGVkRmllbGRzLmV2ZXJ5KChmKSA9PiBmLmlzSGlkZGVuKVxuICAgICAgICAgIGZpZWxkID0ge1xuICAgICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgICBmaWVsZHM6IHVwZGF0ZWRGaWVsZHMsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IC4uLmZpZWxkLCBpc0hpZGRlbiB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmICghZmllbGRTZWFyY2hUZXJtPy50cmltKCk/Lmxlbmd0aCkgcmV0dXJuIGZvcm1pay52YWx1ZXMuZ3JvdXBzXG5cbiAgICBjb25zdCB1cGRhdGVHcm91cHMgPSAoZ3JvdXBzOiBGb3JtR3JvdXBbXSk6IEZpbHRlcmVkR3JvdXBbXSA9PiB7XG4gICAgICByZXR1cm4gZ3JvdXBzLm1hcCgoZ3JvdXApID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZEZpZWxkcyA9IHVwZGF0ZUZpZWxkcyhncm91cC5maWVsZHMsIGZhbHNlKVxuICAgICAgICBjb25zdCBpc0hpZGRlbiA9IHVwZGF0ZWRGaWVsZHMuZXZlcnkoKGZpZWxkKSA9PiBmaWVsZC5pc0hpZGRlbilcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICBmaWVsZHM6IHVwZGF0ZWRGaWVsZHMsXG4gICAgICAgICAgaXNIaWRkZW4sXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiB1cGRhdGVHcm91cHMoZm9ybWlrLnZhbHVlcy5ncm91cHMpXG4gIH0sIFtmb3JtaWsudmFsdWVzLmdyb3VwcywgZmllbGRTZWFyY2hUZXJtXSlcblxuICBjb25zdCBvblNlYXJjaENoYW5nZSA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgc2V0RmllbGRTZWFyY2hUZXJtKGV2ZW50LnRhcmdldC52YWx1ZSlcbiAgICB9LFxuICAgIFtzZXRGaWVsZFNlYXJjaFRlcm1dXG4gIClcblxuICBjb25zdCBoYXNSZXN1bHRzID0gQm9vbGVhbihmaWx0ZXJlZEdyb3Vwcy5maW5kKChncm91cCkgPT4gIWdyb3VwLmlzSGlkZGVuKSlcblxuICBjb25zdCBvblNlYXJjaENoYW5nZVRocm90dGxlZCA9IFJlYWN0LnVzZU1lbW8oXG4gICAgKCkgPT4gdGhyb3R0bGUob25TZWFyY2hDaGFuZ2UsIDMwMCksXG4gICAgW29uU2VhcmNoQ2hhbmdlXVxuICApXG5cbiAgY29uc3Qgb25TZWFyY2hSZXNldCA9ICgpID0+IHtcbiAgICBzZXRGaWVsZFNlYXJjaFRlcm0oJycpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxGb3JtRGlhbG9nXG4gICAgICBpc09wZW5cbiAgICAgIHRpdGxlPXtpbnRsLmZvcm1hdE1lc3NhZ2UobWVzc2FnZXMuc2VsZWN0RmllbGRzVG9FeHBvcnQpfVxuICAgICAgbGFiZWxQcmltYXJ5PXtpbnRsLmZvcm1hdE1lc3NhZ2UobWVzc2FnZXMuc3RhcnRFeHBvcnQpfVxuICAgICAgb25QcmltYXJ5QnV0dG9uQ2xpY2s9e2Zvcm1pay5zdWJtaXRGb3JtfVxuICAgICAgaXNQcmltYXJ5QnV0dG9uRGlzYWJsZWQ9eyFmb3JtaWsuaXNWYWxpZH1cbiAgICAgIGxhYmVsU2Vjb25kYXJ5PXtpbnRsLmZvcm1hdE1lc3NhZ2UobWVzc2FnZXMuYmFjayl9XG4gICAgICBvblNlY29uZGFyeUJ1dHRvbkNsaWNrPXsoKSA9PiBzZXRDdXJyZW50U3RlcChTdGVwLkZpbGVTZXR0aW5ncyl9XG4gICAgICBvbkNsb3NlPXtvbkNsb3NlfVxuICAgICAgc2l6ZT17MTZ9XG4gICAgPlxuICAgICAgPEZ1bGxTdG9yeU1hc2tpbmcuVW5tYXNrPlxuICAgICAgICA8RXhwb3J0RmllbGRTZWxlY3Rpb25Qcm92aWRlciByZXNvdXJjZVR5cGU9e3Jlc291cmNlVHlwZX0+XG4gICAgICAgICAgPFNwYWNpbmdzLlN0YWNrIHNjYWxlPVwibVwiPlxuICAgICAgICAgICAgPFNlYXJjaFRleHRJbnB1dFxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aW50bC5mb3JtYXRNZXNzYWdlKG1lc3NhZ2VzLnNlYXJjaEZvckZpZWxkcyl9XG4gICAgICAgICAgICAgIHZhbHVlPXtmaWVsZFNlYXJjaFRlcm19XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtvblNlYXJjaENoYW5nZVRocm90dGxlZH1cbiAgICAgICAgICAgICAgb25SZXNldD17b25TZWFyY2hSZXNldH1cbiAgICAgICAgICAgICAgLy8gVE9ETzogYFNlYXJjaFRleHRJbnB1dGAgcHJvcHMgdG8gYmUgaW1wcm92ZWQuIFRoZSBgb25TdWJtaXRgIGNhbGxiYWNrIHNob3VsZG4ndCBiZSBtYW5kYXRvcnlcbiAgICAgICAgICAgICAgb25TdWJtaXQ9eygpID0+IHt9fVxuICAgICAgICAgICAgICBpZD1cImV4cG9ydC1maWVsZHMtc2VhcmNoXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7aGFzUmVzdWx0cyA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEdyaWRDYXJkIGluc2V0U2NhbGU9XCJub25lXCI+XG4gICAgICAgICAgICAgICAgPEdyaWRcbiAgICAgICAgICAgICAgICAgIGdyaWRBdXRvRmxvdz1cInJvd1wiXG4gICAgICAgICAgICAgICAgICBncmlkVGVtcGxhdGVDb2x1bW5zPXtgY2FsYygke2Rlc2lnblRva2Vucy5zcGFjaW5nTH0gKyAke2Rlc2lnblRva2Vucy5jb25zdHJhaW50NX0gKyAke2Rlc2lnblRva2Vucy5zcGFjaW5nTH0pIGF1dG9gfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtmaWx0ZXJlZEdyb3Vwcy5tYXAoKGdyb3VwLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8RmllbGRHcm91cFNlY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2dyb3VwLmdyb3VwTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICBncm91cD17Z3JvdXB9XG4gICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1paz17Zm9ybWlrfVxuICAgICAgICAgICAgICAgICAgICAgIGlzRm9yY2VFeHBhbmRlZD17ZmllbGRTZWFyY2hUZXJtPy50cmltKCk/Lmxlbmd0aCA+IDB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgIDwvU3R5bGVkR3JpZENhcmQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8Tm9TZWFyY2hSZXN1bHRzIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU3BhY2luZ3MuU3RhY2s+XG4gICAgICAgIDwvRXhwb3J0RmllbGRTZWxlY3Rpb25Qcm92aWRlcj5cbiAgICAgIDwvRnVsbFN0b3J5TWFza2luZy5Vbm1hc2s+XG4gICAgPC9Gb3JtRGlhbG9nPlxuICApXG59XG4iXX0= */"));
1771
1783
  const ExportFieldsSelectionStep = () => {
1772
1784
  const intl = reactIntl.useIntl();
1773
1785
  const _React$useState = React__default["default"].useState(''),
@@ -1858,7 +1870,7 @@ const ExportFieldsSelectionStep = () => {
1858
1870
  onPrimaryButtonClick: formik.submitForm,
1859
1871
  isPrimaryButtonDisabled: !formik.isValid,
1860
1872
  labelSecondary: intl.formatMessage(messages.back),
1861
- onSecondaryButtonClick: () => setCurrentStep(1),
1873
+ onSecondaryButtonClick: () => setCurrentStep(Step.FileSettings),
1862
1874
  onClose: onClose,
1863
1875
  size: 16,
1864
1876
  children: jsxRuntime.jsx(fullstory.Masking.Unmask, {
@@ -1901,7 +1913,7 @@ const ExportResourcesProvider = _ref => {
1901
1913
  let children = _ref.children,
1902
1914
  props = _objectWithoutProperties(_ref, _excluded);
1903
1915
  const initialValues = useInitialValues(props);
1904
- const _React$useState = React__default["default"].useState(1),
1916
+ const _React$useState = React__default["default"].useState(Step.FileSettings),
1905
1917
  _React$useState2 = _slicedToArray(_React$useState, 2),
1906
1918
  currentStep = _React$useState2[0],
1907
1919
  setCurrentStep = _React$useState2[1];
@@ -1915,8 +1927,8 @@ const ExportResourcesProvider = _ref => {
1915
1927
  const _useStartExportOperat = useStartExportOperation(props),
1916
1928
  startExportOperation = _useStartExportOperat.startExportOperation;
1917
1929
  const onSubmit = async values => {
1918
- if (currentStep === 1) {
1919
- setCurrentStep(2);
1930
+ if (currentStep === Step.FileSettings) {
1931
+ setCurrentStep(Step.FieldsSelection);
1920
1932
  } else {
1921
1933
  startExportOperation(values, exportType);
1922
1934
  }
@@ -1955,8 +1967,8 @@ const CurrentStep = () => {
1955
1967
  const _useExportResourcesMo = useExportResourcesModalContext(),
1956
1968
  currentStep = _useExportResourcesMo.currentStep;
1957
1969
  const steps = {
1958
- 1: jsxRuntime.jsx(ExportFileSettingsStep, {}),
1959
- 2: jsxRuntime.jsx(ExportFieldsSelectionStep, {})
1970
+ 'file-settings': jsxRuntime.jsx(ExportFileSettingsStep, {}),
1971
+ 'fields-selection': jsxRuntime.jsx(ExportFieldsSelectionStep, {})
1960
1972
  };
1961
1973
  return steps[currentStep] || null;
1962
1974
  };
@@ -1965,19 +1977,19 @@ const getChunkImport = locale => {
1965
1977
  const intlLocale = i18n.mapLocaleToIntlLocale(locale);
1966
1978
  switch (intlLocale) {
1967
1979
  case 'de':
1968
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-de" */'./de-af429e2a.cjs.dev.js'); });
1980
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-de" */'./de-d6a38e9e.cjs.dev.js'); });
1969
1981
  case 'es':
1970
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-es" */'./es-1da000fa.cjs.dev.js'); });
1982
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-es" */'./es-a4227b21.cjs.dev.js'); });
1971
1983
  case 'fr-FR':
1972
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-fr-FR" */'./fr-FR-f6456131.cjs.dev.js'); });
1984
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-fr-FR" */'./fr-FR-1602d5ff.cjs.dev.js'); });
1973
1985
  case 'zh-CN':
1974
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-zh-CN" */'./zh-CN-e6a19d6d.cjs.dev.js'); });
1986
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-zh-CN" */'./zh-CN-0f473f16.cjs.dev.js'); });
1975
1987
  case 'ja':
1976
1988
  return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-ja" */'./ja-9bd5f452.cjs.dev.js'); });
1977
1989
  case 'pt-BR':
1978
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "change-history-i18n-pt-BR" */'./pt-BR-bc9a187a.cjs.dev.js'); });
1990
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "change-history-i18n-pt-BR" */'./pt-BR-7b17be9e.cjs.dev.js'); });
1979
1991
  default:
1980
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-en" */'./en-8b4fee65.cjs.dev.js'); });
1992
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-en" */'./en-0ea9f92c.cjs.dev.js'); });
1981
1993
  }
1982
1994
  };
1983
1995
  const loadMessages = async locale => {
@@ -2056,7 +2068,7 @@ const ExportResourcesModal = props => {
2056
2068
  const messages = useAsyncIntlMessages(locale, loadMessages);
2057
2069
  if (!props.isOpen || messages.isLoading) return null;
2058
2070
  if (props.filters && !validateFilters(props.filters)) {
2059
- console.error('Invalid filters prop:', props.filters, 'Filters must contain either `queryPredicate` or `searchQuery`, but not both, and it cannot be empty');
2071
+ console.error('Invalid filters prop:', props.filters, 'Filters must contain one of these values: `filters` or `where`');
2060
2072
  return null;
2061
2073
  }
2062
2074
  return jsxRuntime.jsx(reactIntl.IntlProvider, {
@@ -2078,5 +2090,6 @@ ExportResourcesModal.defaultProps = {
2078
2090
 
2079
2091
  exports.EXPORTABLE_RESOURCES = EXPORTABLE_RESOURCES;
2080
2092
  exports.EXPORT_TYPES = EXPORT_TYPES;
2093
+ exports.Step = Step;
2081
2094
  exports["default"] = ExportResourcesModal;
2082
2095
  exports.useConvertFieldDefinitionsForExport = useConvertFieldDefinitionsForExport;