@commercetools-frontend-extensions/export-resources-modal 4.12.3 → 5.0.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 (39) hide show
  1. package/README.md +8 -1
  2. package/dist/active-drag-drop-area-12daa26c.cjs.prod.js +72 -0
  3. package/dist/active-drag-drop-area-3c408710.cjs.dev.js +72 -0
  4. package/dist/active-drag-drop-area-b979d5d1.esm.js +70 -0
  5. package/dist/commercetools-frontend-extensions-export-resources-modal.cjs.dev.js +71 -2190
  6. package/dist/commercetools-frontend-extensions-export-resources-modal.cjs.prod.js +71 -2160
  7. package/dist/commercetools-frontend-extensions-export-resources-modal.esm.js +62 -2151
  8. package/dist/declarations/src/@constants/feature-toggles.d.ts +3 -0
  9. package/dist/declarations/src/@constants/field-selection-modes.d.ts +4 -0
  10. package/dist/declarations/src/@constants/index.d.ts +2 -0
  11. package/dist/declarations/src/@constants/misc.d.ts +1 -0
  12. package/dist/declarations/src/@constants/urls.d.ts +2 -2
  13. package/dist/declarations/src/@hooks/index.d.ts +1 -0
  14. package/dist/declarations/src/@hooks/use-start-export-operation.d.ts +2 -2
  15. package/dist/declarations/src/@hooks/use-validate-imported-headers.d.ts +15 -0
  16. package/dist/declarations/src/@types/drop-area-state.d.ts +1 -0
  17. package/dist/declarations/src/@types/export-api.d.ts +9 -2
  18. package/dist/declarations/src/@types/export-resources-modal-context.d.ts +14 -1
  19. package/dist/declarations/src/@types/export-resources-modal-types.d.ts +1 -0
  20. package/dist/declarations/src/@types/field-selection-mode.d.ts +2 -0
  21. package/dist/declarations/src/@types/field-validation-error-code.d.ts +1 -0
  22. package/dist/declarations/src/@types/field-validation-error.d.ts +6 -0
  23. package/dist/declarations/src/@types/form.d.ts +4 -0
  24. package/dist/declarations/src/@types/grouped-validation-error.d.ts +8 -0
  25. package/dist/declarations/src/@types/index.d.ts +6 -0
  26. package/dist/declarations/src/@types/locale-option.d.ts +5 -0
  27. package/dist/{en-56c15954.cjs.prod.js → en-0a01cd09.cjs.prod.js} +1 -1
  28. package/dist/{en-9aa667ca.cjs.dev.js → en-2af10351.cjs.dev.js} +1 -1
  29. package/dist/{en-5b88bfde.esm.js → en-e31f86e7.esm.js} +1 -1
  30. package/dist/enabled-drop-area-9ca41e63.esm.js +120 -0
  31. package/dist/enabled-drop-area-a25dfe55.cjs.dev.js +133 -0
  32. package/dist/enabled-drop-area-ed00d1fd.cjs.prod.js +133 -0
  33. package/dist/file-dropped-area-65ac353d.esm.js +90 -0
  34. package/dist/file-dropped-area-cf131b6e.cjs.prod.js +96 -0
  35. package/dist/file-dropped-area-f19b8e0b.cjs.dev.js +96 -0
  36. package/dist/index-1a99ddcf.cjs.dev.js +3255 -0
  37. package/dist/index-b645c74b.esm.js +3206 -0
  38. package/dist/index-e05daeff.cjs.prod.js +3219 -0
  39. package/package.json +39 -33
@@ -0,0 +1,3255 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
4
+ var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
5
+ var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
6
+ var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
7
+ var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
8
+ var _endsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/ends-with');
9
+ var _JSON$stringify = require('@babel/runtime-corejs3/core-js-stable/json/stringify');
10
+ var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
11
+ var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
12
+ var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
13
+ var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
14
+ var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
15
+ var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
16
+ var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
17
+ var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
18
+ var reactIntl = require('react-intl');
19
+ var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
20
+ var uiKit = require('@commercetools-frontend/ui-kit');
21
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
22
+ var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
23
+ var _valuesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/values');
24
+ var applicationComponents = require('@commercetools-frontend/application-components');
25
+ var fullstory = require('@commercetools-frontend/fullstory');
26
+ var React = require('react');
27
+ var _Reflect$construct = require('@babel/runtime-corejs3/core-js-stable/reflect/construct');
28
+ var _createClass = require('@babel/runtime-corejs3/helpers/createClass');
29
+ var _classCallCheck = require('@babel/runtime-corejs3/helpers/classCallCheck');
30
+ var _possibleConstructorReturn = require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
31
+ var _getPrototypeOf = require('@babel/runtime-corejs3/helpers/getPrototypeOf');
32
+ var _inherits = require('@babel/runtime-corejs3/helpers/inherits');
33
+ var _wrapNativeSuper = require('@babel/runtime-corejs3/helpers/wrapNativeSuper');
34
+ var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
35
+ var experimentalComponents = require('@commercetools-frontend/experimental-components');
36
+ var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
37
+ var omitEmpty = require('omit-empty-es');
38
+ var _someInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/some');
39
+ var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
40
+ var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
41
+ var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
42
+ var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
43
+ var _Set = require('@babel/runtime-corejs3/core-js-stable/set');
44
+ var _sortInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/sort');
45
+ var _indexOfInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
46
+ var _trimInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/trim');
47
+ var _Promise = require('@babel/runtime-corejs3/core-js-stable/promise');
48
+ var _sliceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/slice');
49
+ var _Object$values = require('@babel/runtime-corejs3/core-js-stable/object/values');
50
+ var actionsGlobal = require('@commercetools-frontend/actions-global');
51
+ var constants = require('@commercetools-frontend/constants');
52
+ var sdk = require('@commercetools-frontend/sdk');
53
+ var l10n = require('@commercetools-frontend/l10n');
54
+ var sortBy = require('lodash/sortBy');
55
+ var _styled = require('@emotion/styled/base');
56
+ var debounce = require('lodash/debounce');
57
+ var react = require('@emotion/react');
58
+ var get = require('lodash/get');
59
+ var formik = require('formik');
60
+ var icons = require('@commercetools-uikit/icons');
61
+ var reactDropzone = require('react-dropzone');
62
+ var i18n = require('@commercetools-frontend/i18n');
63
+ var sentry = require('@commercetools-frontend/sentry');
64
+
65
+ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
66
+
67
+ var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
68
+ var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
69
+ var _endsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_endsWithInstanceProperty);
70
+ var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
71
+ var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
72
+ var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
73
+ var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
74
+ var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
75
+ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
76
+ var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
77
+ var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
78
+ var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
79
+ var _includesInstanceProperty__default = /*#__PURE__*/_interopDefault(_includesInstanceProperty);
80
+ var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty);
81
+ var React__default = /*#__PURE__*/_interopDefault(React);
82
+ var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construct);
83
+ var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
84
+ var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
85
+ var omitEmpty__default = /*#__PURE__*/_interopDefault(omitEmpty);
86
+ var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
87
+ var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
88
+ var _everyInstanceProperty__default = /*#__PURE__*/_interopDefault(_everyInstanceProperty);
89
+ var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
90
+ var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
91
+ var _Set__default = /*#__PURE__*/_interopDefault(_Set);
92
+ var _sortInstanceProperty__default = /*#__PURE__*/_interopDefault(_sortInstanceProperty);
93
+ var _indexOfInstanceProperty__default = /*#__PURE__*/_interopDefault(_indexOfInstanceProperty);
94
+ var _trimInstanceProperty__default = /*#__PURE__*/_interopDefault(_trimInstanceProperty);
95
+ var _Promise__default = /*#__PURE__*/_interopDefault(_Promise);
96
+ var _sliceInstanceProperty__default = /*#__PURE__*/_interopDefault(_sliceInstanceProperty);
97
+ var _Object$values__default = /*#__PURE__*/_interopDefault(_Object$values);
98
+ var sortBy__default = /*#__PURE__*/_interopDefault(sortBy);
99
+ var _styled__default = /*#__PURE__*/_interopDefault(_styled);
100
+ var debounce__default = /*#__PURE__*/_interopDefault(debounce);
101
+ var get__default = /*#__PURE__*/_interopDefault(get);
102
+
103
+ function getBold(msg) {
104
+ return jsxRuntime.jsx(uiKit.Text.Body, {
105
+ as: "span",
106
+ isBold: true,
107
+ children: msg
108
+ }, `bold-${msg}`);
109
+ }
110
+
111
+ function getNewLine() {
112
+ return jsxRuntime.jsx("br", {}, crypto.randomUUID());
113
+ }
114
+
115
+ var messages = reactIntl.defineMessages({
116
+ 'modalTitle.category': {
117
+ id: 'ExportResourcesModal.modalTitle.category',
118
+ description: 'Label for the categories modal title',
119
+ defaultMessage: 'Export categories'
120
+ },
121
+ 'modalTitle.product': {
122
+ id: 'ExportResourcesModal.modalTitle.product',
123
+ description: 'Label for the products modal title',
124
+ defaultMessage: 'Export products'
125
+ },
126
+ 'modalTitle.inventory-entry': {
127
+ id: 'ExportResourcesModal.modalTitle.inventoryEntry',
128
+ description: 'Label for the inventories modal title',
129
+ defaultMessage: 'Export inventories'
130
+ },
131
+ 'modalTitle.discount-code': {
132
+ id: 'ExportResourcesModal.modalTitle.discountCode',
133
+ description: 'Label for the discount codes modal title',
134
+ defaultMessage: 'Export discount codes'
135
+ },
136
+ 'modalTitle.customer': {
137
+ id: 'ExportResourcesModal.modalTitle.customer',
138
+ description: 'Label for the customers modal title',
139
+ defaultMessage: 'Export customers'
140
+ },
141
+ 'modalTitle.order': {
142
+ id: 'ExportResourcesModal.modalTitle.order',
143
+ description: 'Label for the orders modal title',
144
+ defaultMessage: 'Export orders'
145
+ },
146
+ 'modalTitle.product-type': {
147
+ id: 'ExportResourcesModal.modalTitle.productType',
148
+ description: 'Label for the product types modal title',
149
+ defaultMessage: 'Export product types'
150
+ },
151
+ outputFormat: {
152
+ id: 'ExportResourcesModal.outputFormat',
153
+ description: 'File format like (csv, xls, ...etc)',
154
+ defaultMessage: 'File format'
155
+ },
156
+ fileName: {
157
+ id: 'ExportResourcesModal.fileName',
158
+ description: 'exported file name',
159
+ defaultMessage: 'File name'
160
+ },
161
+ locales: {
162
+ id: 'ExportResourcesModal.locales',
163
+ description: 'Locales',
164
+ defaultMessage: 'Locales'
165
+ },
166
+ exportBasedOnMyViewsMessage: {
167
+ id: 'ExportResourcesModal.exportBasedOnMyViewsMessage',
168
+ description: 'Select Export setttings based on my views',
169
+ defaultMessage: 'Select export settings based on:'
170
+ },
171
+ propertiesPanelLabel: {
172
+ id: 'ExportResourcesModal.propertiesPanelLabel',
173
+ description: 'properties panel label',
174
+ defaultMessage: 'Properties'
175
+ },
176
+ exportOperationSuccessMessage: {
177
+ id: 'ExportResourcesModal.exportOperationSuccessMessage',
178
+ description: 'Success message',
179
+ defaultMessage: '<b>Your export has started.</b> <newline></newline><logsLink>Go to Export logs</logsLink> to view the progress and download the file.'
180
+ },
181
+ nothingApplied: {
182
+ id: 'ExportResourcesModal.nothingApplied',
183
+ description: 'Shown when there is no filter applied',
184
+ defaultMessage: 'nothing applied'
185
+ },
186
+ includeAllLocales: {
187
+ id: 'ExportResourcesModal.includeAllLocales',
188
+ description: 'label for "Include all locales" checkbox',
189
+ defaultMessage: 'Include all locales'
190
+ },
191
+ includeAllLocalesRadioOption: {
192
+ id: 'ExportResourcesModal.includeAllLocalesRadioOption',
193
+ description: 'label for "all" option in locales radio options',
194
+ defaultMessage: 'all'
195
+ },
196
+ onlyLocalesFoundInCsvFileTooltip: {
197
+ id: 'ExportResourcesModal.onlyLocalesFoundInCsvFileTooltip',
198
+ description: 'Tooltip for "only locales found in the CSV file" option',
199
+ defaultMessage: 'Upload a file first to be able to select this option'
200
+ },
201
+ includeOnlySelectedLocalesRadioOption: {
202
+ id: 'ExportResourcesModal.includeOnlySelectedLocalesRadioOption',
203
+ description: 'label for "only selected" option in locales radio options',
204
+ defaultMessage: 'only selected'
205
+ },
206
+ onlyLocalesFoundInCsvFile: {
207
+ id: 'ExportResourcesModal.onlyLocalesFoundInCsvFile',
208
+ description: 'label for "only locales found in the CSV file" option in locales radio options',
209
+ defaultMessage: 'only locales found in the CSV file'
210
+ },
211
+ missingFileNameError: {
212
+ id: 'ExportResourcesModal.missingFileNameError',
213
+ description: 'Error when file name field is missing',
214
+ defaultMessage: 'Please enter a file name'
215
+ },
216
+ invalidFileNameError: {
217
+ id: 'ExportResourcesModal.invalidFileNameError',
218
+ description: 'Error when file name field is not valid',
219
+ defaultMessage: 'File name may only contain alphanumeric characters, hyphens and underscores'
220
+ },
221
+ missingLocaleError: {
222
+ id: 'ExportResourcesModal.missingLocaleError',
223
+ description: 'Error when no locale is selected',
224
+ defaultMessage: 'Please select at least one locale'
225
+ },
226
+ myViews: {
227
+ id: 'ExportResourcesModal.myViews',
228
+ description: 'Label for "My Views" Select Field',
229
+ defaultMessage: 'My Views'
230
+ },
231
+ selectFieldsToExport: {
232
+ id: 'ExportResourcesModal.selectFieldsToExport',
233
+ defaultMessage: 'Select fields to export'
234
+ },
235
+ back: {
236
+ id: 'ExportResourcesModal.back',
237
+ description: 'Label for "Back" button',
238
+ defaultMessage: 'Back'
239
+ },
240
+ startExport: {
241
+ id: 'ExportResourcesModal.startExport',
242
+ description: 'Label for "Start export" button',
243
+ defaultMessage: 'Start export'
244
+ },
245
+ fieldDefinitions: {
246
+ id: 'ExportResourcesModal.fieldDefinitions',
247
+ description: 'Label for "Field definitions" link',
248
+ defaultMessage: 'Field definitions'
249
+ },
250
+ unexpectedError: {
251
+ id: 'ExportResourcesModal.unexpectedError',
252
+ description: 'Generic notification message when starting export process fails',
253
+ defaultMessage: 'An error occurred while starting the export process. Please try again or contact support if the problem persists.'
254
+ },
255
+ searchForFields: {
256
+ id: 'ExportResourcesModal.searchForFields',
257
+ description: 'Placeholder for "Search for fields" search input',
258
+ defaultMessage: 'Search for fields'
259
+ },
260
+ thereAreNoResults: {
261
+ id: 'ExportResourcesModal.thereAreNoResults',
262
+ description: 'No search results message',
263
+ defaultMessage: 'There are no results that match your search.'
264
+ },
265
+ suggestions: {
266
+ id: 'ExportResourcesModal.suggestions',
267
+ description: 'In Export fields selection - Suggestions message',
268
+ defaultMessage: 'Suggestions:'
269
+ },
270
+ checkTheSpelling: {
271
+ id: 'ExportResourcesModal.checkTheSpelling',
272
+ description: 'In Export fields selection - Check the spelling message',
273
+ defaultMessage: 'Check the spelling.'
274
+ },
275
+ searchByEnteringTheExactFieldName: {
276
+ id: 'ExportResourcesModal.searchByEnteringTheExactFieldName',
277
+ description: 'In Export fields selection - Search by entering the exact field name message',
278
+ defaultMessage: 'Try searching by entering the exact field name.'
279
+ },
280
+ exportScope: {
281
+ id: 'ExportResourcesModal.exportScope',
282
+ description: 'Label for Export Scope',
283
+ defaultMessage: 'Scope'
284
+ },
285
+ exportScopeAllCategories: {
286
+ id: 'ExportResourcesModal.exportScopeAllCategories',
287
+ description: 'Label for Export All categories',
288
+ defaultMessage: 'Export all: {total, plural, one {# category} other {# categories}}'
289
+ },
290
+ exportScopeSelectedCategories: {
291
+ id: 'ExportResourcesModal.exportScopeSelectedCategories',
292
+ description: 'Label for Export Selected categories',
293
+ defaultMessage: 'Export selected: {total, plural, one {# category} other {# categories}}'
294
+ },
295
+ exportScopeFilteredCategories: {
296
+ id: 'ExportResourcesModal.exportScopeFilteredCategories',
297
+ description: 'Label for Export Filtered categories',
298
+ defaultMessage: 'Export filtered: {total, plural, one {# category} other {# categories}}'
299
+ },
300
+ exportScopeAllProducts: {
301
+ id: 'ExportResourcesModal.exportScopeAllProducts',
302
+ description: 'Label for Export All products',
303
+ defaultMessage: 'Export all: {total, plural, one {# product} other {# products}}'
304
+ },
305
+ exportScopeSelectedProducts: {
306
+ id: 'ExportResourcesModal.exportScopeSelectedProducts',
307
+ description: 'Label for Export Selected products',
308
+ defaultMessage: 'Export selected: {total, plural, one {# product} other {# products}}'
309
+ },
310
+ exportScopeFilteredProducts: {
311
+ id: 'ExportResourcesModal.exportScopeFilteredProducts',
312
+ description: 'Label for Export Filtered products',
313
+ defaultMessage: 'Export filtered: {total, plural, one {# product} other {# products}}'
314
+ },
315
+ exportScopeAllProductTypes: {
316
+ id: 'ExportResourcesModal.exportScopeAllProductTypes',
317
+ description: 'Label for Export All product types',
318
+ defaultMessage: 'Export all: {total, plural, one {# product type} other {# product types}}'
319
+ },
320
+ exportScopeSelectedProductTypes: {
321
+ id: 'ExportResourcesModal.exportScopeSelectedProductTypes',
322
+ description: 'Label for Export Selected product types',
323
+ defaultMessage: 'Export selected: {total, plural, one {# product type} other {# product types}}'
324
+ },
325
+ exportScopeFilteredProductTypes: {
326
+ id: 'ExportResourcesModal.exportScopeFilteredProductTypes',
327
+ description: 'Label for Export Filtered product types',
328
+ defaultMessage: 'Export filtered: {total, plural, one {# product type} other {# product types}}'
329
+ },
330
+ exportInventoriesForAllProducts: {
331
+ id: 'ExportResourcesModal.exportInventoriesForAllProducts',
332
+ description: 'Label for Export All inventories',
333
+ defaultMessage: 'Export inventories for all {total, plural, one {# product} other {# products}}'
334
+ },
335
+ exportInventoriesForSelectedProducts: {
336
+ id: 'ExportResourcesModal.exportInventoriesForSelectedProducts',
337
+ description: 'Label for Export Selected inventories',
338
+ defaultMessage: 'Export inventories for the {total, plural, one {# selected product} other {# selected products}}'
339
+ },
340
+ exportInventoriesForFilteredProducts: {
341
+ id: 'ExportResourcesModal.exportInventoriesForFilteredProducts',
342
+ description: 'Label for Export Filtered inventories',
343
+ defaultMessage: 'Export inventories for the {total, plural, one {# filtered product} other {# filtered products}}'
344
+ },
345
+ exportScopeAllDiscountCodes: {
346
+ id: 'ExportResourcesModal.exportScopeAllDiscountCodes',
347
+ description: 'Label for Export All discount codes',
348
+ defaultMessage: 'Export all: {total, plural, one {# discount code} other {# discount codes}}'
349
+ },
350
+ exportScopeSelectedDiscountCodes: {
351
+ id: 'ExportResourcesModal.exportScopeSelectedDiscountCodes',
352
+ description: 'Label for Export Selected discount codes',
353
+ defaultMessage: 'Export selected: {total, plural, one {# discount code} other {# discount codes}}'
354
+ },
355
+ exportScopeFilteredDiscountCodes: {
356
+ id: 'ExportResourcesModal.exportScopeFilteredDiscountCodes',
357
+ description: 'Label for Export Filtered discount codes',
358
+ defaultMessage: 'Export filtered: {total, plural, one {# discount code} other {# discount codes}}'
359
+ },
360
+ exportScopeAllOrders: {
361
+ id: 'ExportResourcesModal.exportScopeAllOrders',
362
+ description: 'Label for Export All orders',
363
+ defaultMessage: 'Export all: {total, plural, one {# order} other {# orders}}'
364
+ },
365
+ exportScopeSelectedOrders: {
366
+ id: 'ExportResourcesModal.exportScopeSelectedOrders',
367
+ description: 'Label for Export Selected orders',
368
+ defaultMessage: 'Export selected: {total, plural, one {# order} other {# orders}}'
369
+ },
370
+ exportScopeFilteredOrders: {
371
+ id: 'ExportResourcesModal.exportScopeFilteredOrders',
372
+ description: 'Label for Export Filtered orders',
373
+ defaultMessage: 'Export filtered: {total, plural, one {# order} other {# orders}}'
374
+ },
375
+ exportScopeAllCustomers: {
376
+ id: 'ExportResourcesModal.exportScopeAllCustomers',
377
+ description: 'Label for Export All customers',
378
+ defaultMessage: 'Export all: {total, plural, one {# customer} other {# customers}}'
379
+ },
380
+ exportScopeSelectedCustomers: {
381
+ id: 'ExportResourcesModal.exportScopeSelectedCustomers',
382
+ description: 'Label for Export Selected customers',
383
+ defaultMessage: 'Export selected: {total, plural, one {# customer} other {# customers}}'
384
+ },
385
+ exportScopeFilteredCustomers: {
386
+ id: 'ExportResourcesModal.exportScopeFilteredCustomers',
387
+ description: 'Label for Export Filtered customers',
388
+ defaultMessage: 'Export filtered: {total, plural, one {# customer} other {# customers}}'
389
+ },
390
+ exportScopeSelectedWithoutCount: {
391
+ id: 'ExportResourcesModal.exportScopeSelectedWithoutCount',
392
+ description: 'Label for Export Selected without count',
393
+ defaultMessage: 'Export selected'
394
+ },
395
+ exportScopeFilteredWithoutCount: {
396
+ id: 'ExportResourcesModal.exportScopeFilteredWithoutCount',
397
+ description: 'Label for Export Filtered without count',
398
+ defaultMessage: 'Export filtered'
399
+ },
400
+ exportSettings: {
401
+ id: 'ExportResourcesModal.exportSettings',
402
+ description: 'Label for Export Settings',
403
+ defaultMessage: 'Settings'
404
+ },
405
+ selected: {
406
+ id: 'ExportResourcesModal.selected',
407
+ description: 'Label for total Selected',
408
+ defaultMessage: '{total} selected'
409
+ },
410
+ exportPreferences: {
411
+ id: 'ExportResourcesModal.exportPreferences',
412
+ description: 'Label for preferences',
413
+ defaultMessage: 'Preferences'
414
+ },
415
+ fillRowsForOrderExport: {
416
+ id: 'ExportResourcesModal.fillRowsForOrderExport',
417
+ description: 'A checkbox label for filling rows for order export',
418
+ defaultMessage: 'Include Order number, id, and states in every row'
419
+ },
420
+ fillRowsForProductExport: {
421
+ id: 'ExportResourcesModal.fillRowsForProductExport',
422
+ description: 'A checkbox label for filling rows for product export',
423
+ defaultMessage: 'Include Product- and Variant-level information in every row'
424
+ },
425
+ loadMoreFields: {
426
+ id: 'ExportResourcesModal.loadMoreFields',
427
+ description: 'Load more fields message',
428
+ defaultMessage: 'Load more fields by using the search functionality or specify the full list of fields with a CSV file'
429
+ },
430
+ itemCount: {
431
+ id: 'ExportResourcesModal.itemCount',
432
+ description: 'Label for item count',
433
+ defaultMessage: '{count, plural, one {# item} other {# items}}'
434
+ },
435
+ exportPreview: {
436
+ id: 'ExportResourcesModal.exportPreview',
437
+ description: 'Label for export preview step',
438
+ defaultMessage: 'Export preview'
439
+ },
440
+ selectDifferentFields: {
441
+ id: 'ExportResourcesModal.selectDifferentFields',
442
+ description: 'Label for "Select different fields" button',
443
+ defaultMessage: 'Select different fields'
444
+ },
445
+ fieldsToBeExportedInLanguages: {
446
+ id: 'ExportResourcesModal.fieldsToBeExportedInLanguages',
447
+ description: 'Label for fields to be exported in languages',
448
+ defaultMessage: '{fieldCount, plural, one {<b>#</b> field} other {<b>#</b> fields}} to be exported in {languageCount, plural, one {<b>#</b> language} other {<b>#</b> languages}}:'
449
+ },
450
+ fieldsToBeExported: {
451
+ id: 'ExportResourcesModal.fieldsToBeExported',
452
+ description: 'Label for fields to be exported',
453
+ defaultMessage: '{fieldCount, plural, one {<b>#</b> field} other {<b>#</b> fields}} to be exported:'
454
+ },
455
+ confirmSelection: {
456
+ id: 'ExportResourcesModal.confirmSelection',
457
+ description: 'Label for "Confirm selection" button',
458
+ defaultMessage: 'Confirm selection'
459
+ },
460
+ exportProcessMayTakeAWhile: {
461
+ id: 'ExportResourcesModal.exportProcessMayTakeAWhile',
462
+ description: 'The export process may take a while',
463
+ defaultMessage: 'The export process may take a while. To view the progress and download the file after starting the export, go to <exportLogsLink>Export logs</exportLogsLink> area, located in the <operationsIcon></operationsIcon> Operations menu.'
464
+ },
465
+ showAll: {
466
+ id: 'ExportResourcesModal.showAll',
467
+ description: 'Label for "Show all" button',
468
+ defaultMessage: 'Show all'
469
+ },
470
+ showLess: {
471
+ id: 'ExportResourcesModal.showLess',
472
+ description: 'Label for "Show less" button',
473
+ defaultMessage: 'Show less'
474
+ },
475
+ selectFieldsFromLimitedList: {
476
+ id: 'ExportResourcesModal.selectFieldsFromLimitedList',
477
+ description: 'Label for "Select fields from a limited list" button',
478
+ defaultMessage: 'Select fields from a limited list'
479
+ },
480
+ selectFieldsFromImportedCSV: {
481
+ id: 'ExportResourcesModal.selectFieldsFromImportedCSV',
482
+ description: 'Label for "Select fields from an imported CSV" button',
483
+ defaultMessage: 'Select fields from an imported CSV'
484
+ },
485
+ defineFieldsToIncludeInExport: {
486
+ id: 'ExportResourcesModal.defineFieldsToIncludeInExport',
487
+ description: 'A message to define the fields to include in export',
488
+ defaultMessage: 'Define the fields to include in your export with a CSV file below. The file must contain column headers in the predefined format shown in <templateLink>our template</templateLink>. A previously exported CSV can be used as well.'
489
+ },
490
+ chooseFile: {
491
+ id: 'ExportResourcesModal.chooseFile',
492
+ description: 'Label for "Choose file" button',
493
+ defaultMessage: 'Choose file'
494
+ },
495
+ or: {
496
+ id: 'ExportResourcesModal.or',
497
+ description: 'Label for "or" text',
498
+ defaultMessage: 'or'
499
+ },
500
+ dragAndDropCSV: {
501
+ id: 'ExportResourcesModal.dragAndDropCSV',
502
+ description: 'Label for "Drag and drop CSV" text',
503
+ defaultMessage: 'Drag and drop CSV'
504
+ },
505
+ browseFile: {
506
+ id: 'ExportResourcesModal.browseFile',
507
+ description: 'Label for "Browse file" button',
508
+ defaultMessage: 'browse file'
509
+ },
510
+ stepCount: {
511
+ id: 'ExportResourcesModal.stepCount',
512
+ description: 'Step count',
513
+ defaultMessage: 'Step {currentStep}/{totalSteps}'
514
+ },
515
+ stepNumber: {
516
+ id: 'ExportResourcesModal.stepNumber',
517
+ description: 'Step number',
518
+ defaultMessage: 'Step {stepNumber}'
519
+ },
520
+ selectContentToExport: {
521
+ id: 'ExportResourcesModal.selectContentToExport',
522
+ description: 'Label for "Select content to export" button',
523
+ defaultMessage: 'Select content to export'
524
+ },
525
+ errorType: {
526
+ id: 'ExportResourcesModal.errorType',
527
+ description: 'Label for error type column',
528
+ defaultMessage: 'Error type'
529
+ },
530
+ details: {
531
+ id: 'ExportResourcesModal.details',
532
+ description: 'Label for details column',
533
+ defaultMessage: 'Details'
534
+ },
535
+ backToSelection: {
536
+ id: 'ExportResourcesModal.backToSelection',
537
+ description: 'Label for "Back to selection" button',
538
+ defaultMessage: 'Back to selection'
539
+ },
540
+ uploadDifferentCSV: {
541
+ id: 'ExportResourcesModal.uploadDifferentCSV',
542
+ description: 'Label for "Upload a different CSV file" button',
543
+ defaultMessage: 'Upload a different CSV file'
544
+ },
545
+ csvUploadFailed: {
546
+ id: 'ExportResourcesModal.csvUploadFailed',
547
+ description: 'CSV upload failed title',
548
+ defaultMessage: 'CSV upload failed'
549
+ },
550
+ backToPreviousStep: {
551
+ id: 'ExportResourcesModal.backToPreviousStep',
552
+ description: 'Label for "Back to previous step" button',
553
+ defaultMessage: 'Back to previous step'
554
+ },
555
+ notSupportedField: {
556
+ id: 'ExportResourcesModal.notSupportedField',
557
+ description: 'Not supported field error',
558
+ defaultMessage: 'Not supported field'
559
+ },
560
+ duplicateField: {
561
+ id: 'ExportResourcesModal.duplicateField',
562
+ description: 'Duplicate field error',
563
+ defaultMessage: 'Duplicate field'
564
+ },
565
+ localizedFieldWithoutLocale: {
566
+ id: 'ExportResourcesModal.localizedFieldWithoutLocale',
567
+ description: 'Localized field without locale error',
568
+ defaultMessage: 'Localized field without locale'
569
+ },
570
+ attributeDefinitionNotFound: {
571
+ id: 'ExportResourcesModal.attributeDefinitionNotFound',
572
+ description: 'Attribute definition not found error',
573
+ defaultMessage: 'Attribute definition not found'
574
+ },
575
+ fieldDefinitionNotFound: {
576
+ id: 'ExportResourcesModal.fieldDefinitionNotFound',
577
+ description: 'Field definition not found error',
578
+ defaultMessage: 'Field definition not found'
579
+ },
580
+ incompleteField: {
581
+ id: 'ExportResourcesModal.incompleteField',
582
+ description: 'Incomplete field error',
583
+ defaultMessage: 'Incomplete field'
584
+ },
585
+ notSupportedFieldsTitle: {
586
+ id: 'ExportResourcesModal.notSupportedFieldsTitle',
587
+ description: 'Title for not supported fields error',
588
+ defaultMessage: 'The following fields are not supported for the resource type:'
589
+ },
590
+ localizedFieldWithoutLocaleTitle: {
591
+ id: 'ExportResourcesModal.localizedFieldWithoutLocaleTitle',
592
+ description: 'Title for localized fields without locale error',
593
+ defaultMessage: 'The following localised fields do not specify any locale suffix. Pick a different option in the Locales field or upload a different CSV file:'
594
+ },
595
+ incompleteFieldTitle: {
596
+ id: 'ExportResourcesModal.incompleteFieldTitle',
597
+ description: 'Title for incomplete fields error',
598
+ defaultMessage: 'The following fields are missing a subfield:'
599
+ },
600
+ duplicateFieldTitle: {
601
+ id: 'ExportResourcesModal.duplicateFieldTitle',
602
+ description: 'Title for duplicate fields error',
603
+ defaultMessage: 'The following fields are duplicated. Each field must appear once:'
604
+ },
605
+ attributeDefinitionNotFoundTitle: {
606
+ id: 'ExportResourcesModal.attributeDefinitionNotFoundTitle',
607
+ description: 'Title for attribute definitions not found error',
608
+ defaultMessage: 'The following attribute(s) cannot be found in this project:'
609
+ },
610
+ fieldDefinitionNotFoundTitle: {
611
+ id: 'ExportResourcesModal.fieldDefinitionNotFoundTitle',
612
+ description: 'Title for field definitions not found error',
613
+ defaultMessage: 'The following custom field(s) cannot be found in this project:'
614
+ },
615
+ unknownError: {
616
+ id: 'ExportResourcesModal.unknownError',
617
+ description: 'Unknown error',
618
+ defaultMessage: 'An unknown error occurred'
619
+ },
620
+ uploadErrorsDetected: {
621
+ id: 'ExportResourcesModal.uploadErrorsDetected',
622
+ description: 'Message shown when errors are detected during file upload',
623
+ 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.'
624
+ }
625
+ });
626
+
627
+ function ownKeys$g(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
628
+ function _objectSpread$g(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$g(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$g(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
629
+ function renderFileNameError(key) {
630
+ switch (key) {
631
+ case 'missing':
632
+ return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$g({}, messages.missingFileNameError));
633
+ case 'invalidInput':
634
+ return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$g({}, messages.invalidFileNameError));
635
+ default:
636
+ return null;
637
+ }
638
+ }
639
+ function renderLocaleError(key) {
640
+ switch (key) {
641
+ case 'missing':
642
+ return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$g({}, messages.missingLocaleError));
643
+ default:
644
+ return null;
645
+ }
646
+ }
647
+
648
+ 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)); }
649
+ function _isNativeReflectConstruct$3() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$3 = function () { return !!t; })(); }
650
+ let MissingExportResourceProviderError = /*#__PURE__*/function (_Error) {
651
+ function MissingExportResourceProviderError() {
652
+ var _this;
653
+ _classCallCheck(this, MissingExportResourceProviderError);
654
+ _this = _callSuper$3(this, MissingExportResourceProviderError, ['useExportResourcesModalContext must be used within ExportResourcesProvider']);
655
+ _this.name = 'MissingExportResourceProviderError';
656
+ return _this;
657
+ }
658
+ _inherits(MissingExportResourceProviderError, _Error);
659
+ return _createClass(MissingExportResourceProviderError);
660
+ }(/*#__PURE__*/_wrapNativeSuper(Error));
661
+
662
+ function _callSuper$2(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$2() ? _Reflect$construct__default["default"](o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
663
+ function _isNativeReflectConstruct$2() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$2 = function () { return !!t; })(); }
664
+ let UnexpectedExportOperationStateError = /*#__PURE__*/function (_Error) {
665
+ function UnexpectedExportOperationStateError(state) {
666
+ var _this;
667
+ _classCallCheck(this, UnexpectedExportOperationStateError);
668
+ _this = _callSuper$2(this, UnexpectedExportOperationStateError, [`Unexpected export operation state "${state}"`]);
669
+ _this.name = 'UnexpectedExportOperationStateError';
670
+ return _this;
671
+ }
672
+ _inherits(UnexpectedExportOperationStateError, _Error);
673
+ return _createClass(UnexpectedExportOperationStateError);
674
+ }(/*#__PURE__*/_wrapNativeSuper(Error));
675
+
676
+ function _callSuper$1(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$1() ? _Reflect$construct__default["default"](o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
677
+ function _isNativeReflectConstruct$1() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$1 = function () { return !!t; })(); }
678
+ let UnexpectedResourceTypeError = /*#__PURE__*/function (_Error) {
679
+ function UnexpectedResourceTypeError(resourceType) {
680
+ var _this;
681
+ _classCallCheck(this, UnexpectedResourceTypeError);
682
+ _this = _callSuper$1(this, UnexpectedResourceTypeError, [`Unexpected resource type "${resourceType}"`]);
683
+ _this.name = 'UnexpectedResourceTypeError';
684
+ return _this;
685
+ }
686
+ _inherits(UnexpectedResourceTypeError, _Error);
687
+ return _createClass(UnexpectedResourceTypeError);
688
+ }(/*#__PURE__*/_wrapNativeSuper(Error));
689
+
690
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? _Reflect$construct__default["default"](o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
691
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
692
+ let InvalidResponseError = /*#__PURE__*/function (_Error) {
693
+ function InvalidResponseError() {
694
+ var _this;
695
+ let message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'Invalid API response';
696
+ _classCallCheck(this, InvalidResponseError);
697
+ _this = _callSuper(this, InvalidResponseError, [message]);
698
+ _this.name = 'InvalidResponseError';
699
+ return _this;
700
+ }
701
+ _inherits(InvalidResponseError, _Error);
702
+ return _createClass(InvalidResponseError);
703
+ }(/*#__PURE__*/_wrapNativeSuper(Error));
704
+
705
+ function useExportResourcesModalContext() {
706
+ const context = React.useContext(ExportResourcesContext);
707
+ if (!context) {
708
+ throw new MissingExportResourceProviderError();
709
+ }
710
+ return context;
711
+ }
712
+
713
+ const Z_INDEX_DROPDOWN = 30000;
714
+ const OPERATIONS_EXPORT_RESOURCES_MODAL_SELECTION = 'OPERATIONS_EXPORT_RESOURCES_MODAL_SELECTION';
715
+ const OPERATIONS_EXPORT_RESOURCES_MODAL_EXPANDED_GROUP = 'OPERATIONS_EXPORT_RESOURCES_MODAL_EXPANDED_GROUP';
716
+ const TOTAL_STEPS = 3;
717
+
718
+ const EXPORT_OPERATION_STATES = {
719
+ PROCESSING: 'processing',
720
+ COMPLETED: 'completed',
721
+ FAILED: 'failed',
722
+ QUEUED: 'queued'
723
+ };
724
+
725
+ const EXPORT_TYPES = {
726
+ ALL: 'all',
727
+ FILTERED: 'filtered',
728
+ SELECTED: 'selected'
729
+ };
730
+
731
+ const EXPORTABLE_RESOURCES = {
732
+ CATEGORY: 'category',
733
+ PRODUCT: 'product',
734
+ PRODUCT_TYPE: 'product-type',
735
+ DISCOUNT_CODE: 'discount-code',
736
+ INVENTORY_ENTRY: 'inventory-entry',
737
+ ORDER: 'order',
738
+ CUSTOMER: 'customer'
739
+ };
740
+
741
+ const OUTPUT_FORMATS = {
742
+ JSON: 'json',
743
+ CSV: 'csv'
744
+ };
745
+ const OUTPUT_FORMAT_OPTIONS = [{
746
+ value: OUTPUT_FORMATS.CSV,
747
+ label: 'CSV'
748
+ }, {
749
+ value: OUTPUT_FORMATS.JSON,
750
+ label: 'JSON'
751
+ }];
752
+
753
+ const EXPORT_DATA_DOCUMENTATION_LINK = 'https://docs.commercetools.com/merchant-center/export-data';
754
+ const CSV_TEMPLATES_LINK = 'https://docs.commercetools.com/merchant-center/import-data#download-a-csv-template';
755
+
756
+ const resourceTypeMessages = {
757
+ [EXPORTABLE_RESOURCES.CATEGORY]: {
758
+ exportScopeAll: messages.exportScopeAllCategories,
759
+ exportScopeSelected: messages.exportScopeSelectedCategories,
760
+ exportScopeFiltered: messages.exportScopeFilteredCategories
761
+ },
762
+ [EXPORTABLE_RESOURCES.PRODUCT]: {
763
+ exportScopeAll: messages.exportScopeAllProducts,
764
+ exportScopeSelected: messages.exportScopeSelectedProducts,
765
+ exportScopeFiltered: messages.exportScopeFilteredProducts
766
+ },
767
+ [EXPORTABLE_RESOURCES.PRODUCT_TYPE]: {
768
+ exportScopeAll: messages.exportScopeAllProductTypes,
769
+ exportScopeSelected: messages.exportScopeSelectedProductTypes,
770
+ exportScopeFiltered: messages.exportScopeFilteredProductTypes
771
+ },
772
+ [EXPORTABLE_RESOURCES.INVENTORY_ENTRY]: {
773
+ exportScopeAll: messages.exportInventoriesForAllProducts,
774
+ exportScopeSelected: messages.exportInventoriesForSelectedProducts,
775
+ exportScopeFiltered: messages.exportInventoriesForFilteredProducts
776
+ },
777
+ [EXPORTABLE_RESOURCES.DISCOUNT_CODE]: {
778
+ exportScopeAll: messages.exportScopeAllDiscountCodes,
779
+ exportScopeSelected: messages.exportScopeSelectedDiscountCodes,
780
+ exportScopeFiltered: messages.exportScopeFilteredDiscountCodes
781
+ },
782
+ [EXPORTABLE_RESOURCES.ORDER]: {
783
+ exportScopeAll: messages.exportScopeAllOrders,
784
+ exportScopeSelected: messages.exportScopeSelectedOrders,
785
+ exportScopeFiltered: messages.exportScopeFilteredOrders
786
+ },
787
+ [EXPORTABLE_RESOURCES.CUSTOMER]: {
788
+ exportScopeAll: messages.exportScopeAllCustomers,
789
+ exportScopeSelected: messages.exportScopeSelectedCustomers,
790
+ exportScopeFiltered: messages.exportScopeFilteredCustomers
791
+ }
792
+ };
793
+
794
+ const FIELD_SELECTION_MODES = {
795
+ SELECTED_FIELDS: 'selected-fields',
796
+ IMPORTED_CSV_TEMPLATE: 'imported-csv-template'
797
+ };
798
+
799
+ function ownKeys$f(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
800
+ function _objectSpread$f(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$f(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$f(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
801
+ const DEFAULT_SHORT_LIVED_FLAGS = {};
802
+ const DEFAULT_LONG_LIVED_FLAGS = {};
803
+ _objectSpread$f(_objectSpread$f({}, DEFAULT_SHORT_LIVED_FLAGS), DEFAULT_LONG_LIVED_FLAGS);
804
+
805
+ const isAnyFieldChecked = fields => {
806
+ return _someInstanceProperty__default["default"](fields).call(fields, field => field.isChecked || field.fields && isAnyFieldChecked(field.fields));
807
+ };
808
+ const hasDependentFields = field => {
809
+ var _context;
810
+ return Boolean(field?.dependentGroupNames && field.dependentGroupNames.length > 0 || field?.dependentFieldNames && field.dependentFieldNames.length > 0 || field?.fields && _someInstanceProperty__default["default"](_context = field.fields).call(_context, nestedField => hasDependentFields(nestedField)));
811
+ };
812
+ const isFieldOrNestedFieldChecked = (field, fieldName) => {
813
+ if (field.name === fieldName && field.isChecked) {
814
+ return true;
815
+ }
816
+ if (field.fields) {
817
+ var _context2;
818
+ return _someInstanceProperty__default["default"](_context2 = field.fields).call(_context2, nestedField => {
819
+ return nestedField.isChecked || isFieldOrNestedFieldChecked(nestedField, fieldName);
820
+ });
821
+ }
822
+ return false;
823
+ };
824
+ const getIndependentFields = group => {
825
+ const independentFields = [];
826
+ const findIndependentFields = fields => {
827
+ _forEachInstanceProperty__default["default"](fields).call(fields, field => {
828
+ if (!field.dependentGroupNames?.length && !field.dependentFieldNames?.length) {
829
+ independentFields.push(field);
830
+ }
831
+ if (field.fields) {
832
+ findIndependentFields(field.fields);
833
+ }
834
+ });
835
+ };
836
+ findIndependentFields(group.fields);
837
+ return independentFields;
838
+ };
839
+ const checkDependentFields = (independentFields, dependentFieldNames) => {
840
+ return _someInstanceProperty__default["default"](dependentFieldNames).call(dependentFieldNames, fieldName => _someInstanceProperty__default["default"](independentFields).call(independentFields, field => {
841
+ if (field.name === fieldName) {
842
+ if (field.fields) {
843
+ var _context3;
844
+ return _someInstanceProperty__default["default"](_context3 = field.fields).call(_context3, nestedField => isFieldOrNestedFieldChecked(nestedField, fieldName));
845
+ }
846
+ if (isFieldOrNestedFieldChecked(field, fieldName)) {
847
+ return true;
848
+ }
849
+ }
850
+ return false;
851
+ }));
852
+ };
853
+
854
+ /**
855
+ * Checks if any dependent fields are checked within the field groups
856
+ *
857
+ * This function iterates over the provided dependent group names and checks if any fields within those groups
858
+ * are checked. It considers both independent fields and their nested fields within
859
+ * the specified dependent field names
860
+ *
861
+ * @param groups - The array of field groups
862
+ * @param dependentGroupNames - The names of the groups to check for dependencies
863
+ * @param dependentFieldNames - The names of the fields to check within the groups
864
+ * @returns True if any dependent fields are checked otherwise false
865
+ */
866
+ const isAnyDependentChecked = function (groups) {
867
+ let dependentGroupNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
868
+ let dependentFieldNames = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
869
+ return _someInstanceProperty__default["default"](dependentGroupNames).call(dependentGroupNames, groupName => {
870
+ const group = _findInstanceProperty__default["default"](groups).call(groups, g => g.groupName === groupName);
871
+ if (group) {
872
+ const independentFields = getIndependentFields(group);
873
+ const isADependentFieldChecked = isAnyFieldChecked(independentFields);
874
+ const isFieldDependentChecked = checkDependentFields(independentFields, dependentFieldNames);
875
+ if (dependentFieldNames.length > 0) {
876
+ return isADependentFieldChecked && isFieldDependentChecked;
877
+ }
878
+ return isADependentFieldChecked || isFieldDependentChecked;
879
+ }
880
+ return false;
881
+ });
882
+ };
883
+ const areAllFieldsChecked = fields => {
884
+ return _everyInstanceProperty__default["default"](fields).call(fields, field => field.fields ? areAllFieldsChecked(field.fields) : field.isChecked || field.isRequired || hasDependentFields(field));
885
+ };
886
+ const getGroupSelectedFieldCount = group => {
887
+ const countSelectedFields = fields => {
888
+ return _reduceInstanceProperty__default["default"](fields).call(fields, (total, field) => {
889
+ if (field.fields) {
890
+ return total + countSelectedFields(field.fields);
891
+ }
892
+ return total + (field.isChecked ? 1 : 0);
893
+ }, 0);
894
+ };
895
+ return countSelectedFields(group.fields);
896
+ };
897
+ const getAllSelectedFieldCount = groups => {
898
+ return _reduceInstanceProperty__default["default"](groups).call(groups, (total, group) => total + getGroupSelectedFieldCount(group), 0);
899
+ };
900
+ const getGroupsWithSelectedFields = groups => {
901
+ return _filterInstanceProperty__default["default"](groups).call(groups, group => getGroupSelectedFieldCount(group) > 0);
902
+ };
903
+ const getSelectedFieldLabels = group => {
904
+ const selectedLabels = [];
905
+ const findSelectedFieldLabels = fields => {
906
+ _forEachInstanceProperty__default["default"](fields).call(fields, field => {
907
+ if (field.isChecked && !field.fields) {
908
+ selectedLabels.push(field.label);
909
+ }
910
+ if (field.fields) {
911
+ findSelectedFieldLabels(field.fields);
912
+ }
913
+ });
914
+ };
915
+ findSelectedFieldLabels(group.fields);
916
+ return selectedLabels;
917
+ };
918
+
919
+ let Step = /*#__PURE__*/function (Step) {
920
+ Step["FileSettings"] = "file-settings";
921
+ Step["FieldsSelection"] = "fields-selection";
922
+ Step["ConfirmExport"] = "confirm-export";
923
+ Step["ValidationErrors"] = "validation-errors";
924
+ return Step;
925
+ }({});
926
+
927
+ let LocaleOption = /*#__PURE__*/function (LocaleOption) {
928
+ LocaleOption["Selected"] = "selected";
929
+ LocaleOption["All"] = "all";
930
+ LocaleOption["OnlyLocalesFoundInCsvFile"] = "onlyLocalesFoundInCsvFile";
931
+ return LocaleOption;
932
+ }({});
933
+
934
+ function validate(_ref) {
935
+ let values = _valuesInstanceProperty__default["default"](_ref),
936
+ step = _ref.step,
937
+ fieldSelectionMode = _ref.fieldSelectionMode,
938
+ importedHeaders = _ref.importedHeaders;
939
+ const fileName = values.fileName,
940
+ locales = values.locales,
941
+ groups = values.groups;
942
+ const errors = {
943
+ fileName: {},
944
+ locales: {},
945
+ fields: {},
946
+ importedCsvTemplateFile: {}
947
+ };
948
+ if (uiKit.TextInput.isEmpty(fileName)) {
949
+ errors.fileName.missing = true;
950
+ } else if (!/^[a-zA-Z0-9-_.]+$/.test(fileName)) {
951
+ errors.fileName.invalidInput = true;
952
+ }
953
+ if (step === Step.FieldsSelection) {
954
+ if (fieldSelectionMode === 'selected-fields') {
955
+ const allFields = _reduceInstanceProperty__default["default"](groups).call(groups, (acc, group) => _concatInstanceProperty__default["default"](acc).call(acc, group.fields), []);
956
+ const checkedFieldsCount = _filterInstanceProperty__default["default"](allFields).call(allFields, field => {
957
+ if (field.fields) return isAnyFieldChecked(field.fields);
958
+ return field.isChecked;
959
+ }).length;
960
+ if (checkedFieldsCount < 1) {
961
+ errors.fields.missing = true;
962
+ }
963
+ }
964
+ if (fieldSelectionMode === 'imported-csv-template') {
965
+ if (!values.importedCsvTemplateFile || importedHeaders.length === 0) {
966
+ errors.importedCsvTemplateFile = {
967
+ missing: true
968
+ };
969
+ }
970
+ }
971
+ if (locales.length < 1) {
972
+ errors.locales.missing = true;
973
+ }
974
+ }
975
+ return omitEmpty__default["default"](errors);
976
+ }
977
+ function isFieldNameValid(header) {
978
+ const processedHeader = header.replace(/\.\*\./g, '.');
979
+ return /^[a-zA-Z0-9._-]+$/.test(processedHeader);
980
+ }
981
+
982
+ function resourceTypeToFileName(resourceType, locale) {
983
+ var _context;
984
+ const date = new Date();
985
+ const dateFormatter = new Intl.DateTimeFormat(locale, {
986
+ year: '2-digit',
987
+ month: '2-digit',
988
+ day: '2-digit',
989
+ hour: '2-digit',
990
+ minute: '2-digit',
991
+ hour12: false
992
+ });
993
+ const parts = dateFormatter.formatToParts(date);
994
+ const dateParts = _reduceInstanceProperty__default["default"](parts).call(parts, (acc, part) => {
995
+ if (part.type !== 'literal') {
996
+ acc[part.type] = part.value;
997
+ }
998
+ return acc;
999
+ }, {});
1000
+ 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('-');
1001
+ const formattedDate = `${orderedDateParts}_${dateParts.hour}-${dateParts.minute}`;
1002
+ const resourceTypeMap = {
1003
+ [EXPORTABLE_RESOURCES.CATEGORY]: 'Categories',
1004
+ [EXPORTABLE_RESOURCES.PRODUCT]: 'Products',
1005
+ [EXPORTABLE_RESOURCES.PRODUCT_TYPE]: 'Product_Types',
1006
+ [EXPORTABLE_RESOURCES.DISCOUNT_CODE]: 'Discount_Codes',
1007
+ [EXPORTABLE_RESOURCES.INVENTORY_ENTRY]: 'Inventories',
1008
+ [EXPORTABLE_RESOURCES.CUSTOMER]: 'Customers',
1009
+ [EXPORTABLE_RESOURCES.ORDER]: 'Orders'
1010
+ };
1011
+ const displayName = resourceTypeMap[resourceType];
1012
+ if (!displayName) {
1013
+ throw new UnexpectedResourceTypeError(resourceType);
1014
+ }
1015
+ return `${displayName}_Export_${formattedDate}`;
1016
+ }
1017
+ function mapLocalesToOptions(locales) {
1018
+ return _mapInstanceProperty__default["default"](locales).call(locales, locale => ({
1019
+ value: locale,
1020
+ label: locale
1021
+ }));
1022
+ }
1023
+ function isFilledArray(maybeArray) {
1024
+ return _Array$isArray__default["default"](maybeArray) && maybeArray.length > 0;
1025
+ }
1026
+ function appendCsvOrJsonExtensionIfAbsent(fileName, fileFormat) {
1027
+ const extensionRegex = /\.(csv|json)$/i;
1028
+ if (!extensionRegex.test(fileName)) return `${fileName}.${fileFormat}`;
1029
+ return fileName;
1030
+ }
1031
+ function getExportLogsLink(projectKey, msg) {
1032
+ return jsxRuntime.jsx(uiKit.Link, {
1033
+ to: `/${projectKey}/operations/export/logs`,
1034
+ children: msg
1035
+ }, "link");
1036
+ }
1037
+ const extractFieldNamesAndAdditionalFieldExtensions = fields => {
1038
+ const result = _reduceInstanceProperty__default["default"](fields).call(fields, (acc, field) => {
1039
+ if (field.extendedFieldNames) {
1040
+ return [...acc, field.name, ...field.extendedFieldNames];
1041
+ }
1042
+ return [...acc, field.name];
1043
+ }, []);
1044
+ return [...new _Set__default["default"](result)];
1045
+ };
1046
+ function sortFieldsByFieldOrder(_ref) {
1047
+ let fieldNames = _ref.fieldNames,
1048
+ fieldOrder = _ref.fieldOrder;
1049
+ if (isFilledArray(fieldOrder)) {
1050
+ return _sortInstanceProperty__default["default"](fieldNames).call(fieldNames, (a, b) => {
1051
+ 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]);
1052
+ 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]);
1053
+
1054
+ // If a field is not 'custom',then consider it as '*'
1055
+ orderA = orderA === -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, '*') : orderA;
1056
+ orderB = orderB === -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, '*') : orderB;
1057
+ return orderA - orderB;
1058
+ });
1059
+ }
1060
+ return fieldNames;
1061
+ }
1062
+ function buildSelectedExportFilters(selectedResourceIds) {
1063
+ if (!selectedResourceIds || selectedResourceIds?.length === 0) return undefined;
1064
+ const formattedIds = _mapInstanceProperty__default["default"](selectedResourceIds).call(selectedResourceIds, id => `"${id}"`).join(', ');
1065
+ return `id in (${formattedIds})`;
1066
+ }
1067
+ function isQueryFilter(filters) {
1068
+ if (!filters) return false;
1069
+ return 'query' in filters;
1070
+ }
1071
+ function isSearchFilter(filters) {
1072
+ if (!filters) return false;
1073
+ return 'filters' in filters || 'fullText' in filters;
1074
+ }
1075
+ function isPredicateFilter(filters) {
1076
+ if (!filters) return false;
1077
+ return 'where' in filters;
1078
+ }
1079
+ function validateFilters(filtersObject) {
1080
+ if (filtersObject.where && filtersObject.filters) {
1081
+ return false;
1082
+ }
1083
+ return Boolean(isQueryFilter(filtersObject.filters) || isSearchFilter(filtersObject.filters) || isPredicateFilter(filtersObject));
1084
+ }
1085
+ function areFiltersApplied(filtersObject) {
1086
+ var _context2;
1087
+ if (!filtersObject) {
1088
+ return false;
1089
+ }
1090
+ if (filtersObject.where && _trimInstanceProperty__default["default"](_context2 = filtersObject.where).call(_context2) !== '') {
1091
+ return true;
1092
+ }
1093
+ if (isQueryFilter(filtersObject.filters)) {
1094
+ return Boolean(filtersObject.filters.query);
1095
+ }
1096
+ if (isSearchFilter(filtersObject.filters)) {
1097
+ const _filters = filtersObject.filters;
1098
+ return Boolean(_filters.filters?.length || _filters.fullText?.text?.trim());
1099
+ }
1100
+ return false;
1101
+ }
1102
+ function getInitialExportType(args) {
1103
+ if (args.selectedResourceIds?.length) {
1104
+ return EXPORT_TYPES.SELECTED;
1105
+ }
1106
+ if (args.filters?.total && areFiltersApplied(args.filters)) {
1107
+ return EXPORT_TYPES.FILTERED;
1108
+ }
1109
+ return EXPORT_TYPES.ALL;
1110
+ }
1111
+ function removeEmptyGroups(groups) {
1112
+ return _filterInstanceProperty__default["default"](groups).call(groups, group => group.fields && group.fields.length > 0);
1113
+ }
1114
+
1115
+ 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; }
1116
+ 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; }
1117
+ const updateFieldGroupsWithIsCheckedValue = (groups, cachedSelectedGroups) => {
1118
+ const updateFields = (fields, isParentChecked, parentFieldPath) => {
1119
+ return _mapInstanceProperty__default["default"](fields).call(fields, field => {
1120
+ let isChecked = false;
1121
+ if (field.isRequired) {
1122
+ isChecked = true;
1123
+ } else {
1124
+ if (cachedSelectedGroups[`${parentFieldPath}.${field.name}`] !== undefined) {
1125
+ isChecked = cachedSelectedGroups[`${parentFieldPath}.${field.name}`];
1126
+ } else if (!hasDependentFields(field) && field.isSelectedByDefault) {
1127
+ isChecked = true;
1128
+ } else if (isParentChecked) {
1129
+ isChecked = true;
1130
+ }
1131
+ }
1132
+ let updatedFields = field.fields;
1133
+ if (field.fields) {
1134
+ updatedFields = updateFields(field.fields, isChecked, `${parentFieldPath}.${field.name}`);
1135
+ isChecked = false;
1136
+ }
1137
+ return _objectSpread$e(_objectSpread$e({}, field), {}, {
1138
+ isChecked,
1139
+ fields: updatedFields
1140
+ });
1141
+ });
1142
+ };
1143
+ return _mapInstanceProperty__default["default"](groups).call(groups, group => {
1144
+ const updatedFields = updateFields(group.fields, false, group.groupName);
1145
+ return _objectSpread$e(_objectSpread$e({}, group), {}, {
1146
+ fields: updatedFields
1147
+ });
1148
+ });
1149
+ };
1150
+ const updateFieldGroupWithAdditionalFieldExtensions = groups => {
1151
+ function updateAdditionalFieldExtensions(fields, extendedFieldNames) {
1152
+ return _mapInstanceProperty__default["default"](fields).call(fields, field => {
1153
+ const updatedAdditionalFieldExtensions = [...extendedFieldNames, ...(field.extendedFieldNames || [])];
1154
+ if (field.fields) {
1155
+ field.fields = updateAdditionalFieldExtensions(field.fields, updatedAdditionalFieldExtensions);
1156
+ }
1157
+ return _objectSpread$e(_objectSpread$e({}, field), {}, {
1158
+ extendedFieldNames: updatedAdditionalFieldExtensions
1159
+ });
1160
+ });
1161
+ }
1162
+ function combineDependentGroupNames(fields) {
1163
+ return _reduceInstanceProperty__default["default"](fields).call(fields, (acc, field) => {
1164
+ if (field.dependentGroupNames) {
1165
+ acc = [...acc, ...field.dependentGroupNames];
1166
+ }
1167
+ if (field.fields) {
1168
+ acc = [...acc, ...combineDependentGroupNames(field.fields)];
1169
+ }
1170
+ return acc;
1171
+ }, []);
1172
+ }
1173
+ return _mapInstanceProperty__default["default"](groups).call(groups, group => {
1174
+ return _objectSpread$e(_objectSpread$e({}, group), {}, {
1175
+ dependentGroupNames: combineDependentGroupNames(group.fields),
1176
+ fields: updateAdditionalFieldExtensions(group.fields, [])
1177
+ });
1178
+ });
1179
+ };
1180
+ const getIsExpanded = (field, groupName, cachedExpandedGroups) => {
1181
+ if (!field.isExpandable) {
1182
+ return false;
1183
+ }
1184
+ if (field.fields && field.maxVisibleChildren && field.fields.length > field.maxVisibleChildren) {
1185
+ return false;
1186
+ }
1187
+ const cacheKey = `${groupName}.${field.name}`;
1188
+ return cachedExpandedGroups[cacheKey] ?? field.isExpanded ?? false;
1189
+ };
1190
+ const updateFieldGroupsWithIsExpandedValue = (groups, cachedExpandedGroups) => {
1191
+ function updateFields(fields, groupName) {
1192
+ return _mapInstanceProperty__default["default"](fields).call(fields, field => {
1193
+ let isExpanded = null;
1194
+ if (field.isExpandable) {
1195
+ isExpanded = getIsExpanded(field, groupName, cachedExpandedGroups);
1196
+ }
1197
+ if (field.fields) {
1198
+ field.fields = updateFields(field.fields, groupName);
1199
+ }
1200
+ if (isExpanded !== null) {
1201
+ return _objectSpread$e(_objectSpread$e({}, field), {}, {
1202
+ isExpanded
1203
+ });
1204
+ }
1205
+ return field;
1206
+ });
1207
+ }
1208
+ return _mapInstanceProperty__default["default"](groups).call(groups, group => {
1209
+ const updatedFields = updateFields(group.fields, group.groupName);
1210
+ return _objectSpread$e(_objectSpread$e({}, group), {}, {
1211
+ isExpanded: cachedExpandedGroups[group.groupName] ?? group.isExpanded ?? false,
1212
+ fields: updatedFields
1213
+ });
1214
+ });
1215
+ };
1216
+ const mapFormikErrors = error => {
1217
+ if (typeof error === 'string') {
1218
+ return {
1219
+ [error]: true
1220
+ };
1221
+ }
1222
+ if (_Array$isArray__default["default"](error)) {
1223
+ return _reduceInstanceProperty__default["default"](error).call(error, (errorAggregator, currentError) => _objectSpread$e(_objectSpread$e({}, errorAggregator), {}, {
1224
+ [currentError]: true
1225
+ }), {});
1226
+ }
1227
+ if (!error) return {};
1228
+ return error;
1229
+ };
1230
+ const updateFieldDependenciesStatus = formik => {
1231
+ var _context;
1232
+ const updateFields = (fields, path) => {
1233
+ _forEachInstanceProperty__default["default"](fields).call(fields, (field, index) => {
1234
+ const currentPath = `${path}.fields[${index}]`;
1235
+ if (hasDependentFields(field)) {
1236
+ formik.setFieldValue(`${currentPath}.isChecked`, isAnyDependentChecked(_valuesInstanceProperty__default["default"](formik).groups, field.dependentGroupNames, field.dependentFieldNames), false);
1237
+ }
1238
+ if (field.fields) {
1239
+ updateFields(field.fields, currentPath);
1240
+ }
1241
+ });
1242
+ };
1243
+ _forEachInstanceProperty__default["default"](_context = _valuesInstanceProperty__default["default"](formik).groups).call(_context, (group, index) => {
1244
+ updateFields(group.fields, `groups[${index}]`);
1245
+ });
1246
+ };
1247
+
1248
+ const EXCLUDED_COLUMNS = ['data-object'];
1249
+ const CHUNK_SIZE = 10 * 1024;
1250
+ const DELIMITERS = [',', ';', '\t', ' ', '|'];
1251
+ const getCsvHeaders = file => {
1252
+ return new _Promise__default["default"](resolve => {
1253
+ const reader = new FileReader();
1254
+ let headers = [];
1255
+ let offset = 0;
1256
+ let entireFile = '';
1257
+ const readChunk = () => {
1258
+ const blobSlice = _sliceInstanceProperty__default["default"](file).call(file, offset, offset + CHUNK_SIZE);
1259
+ reader.readAsText(blobSlice);
1260
+ offset += CHUNK_SIZE;
1261
+ };
1262
+ reader.onload = e => {
1263
+ try {
1264
+ var _context, _context2;
1265
+ const text = e.target?.result;
1266
+ entireFile += text;
1267
+ const firstLineEnd = _indexOfInstanceProperty__default["default"](entireFile).call(entireFile, '\n');
1268
+ if (firstLineEnd === -1 && offset < file.size) {
1269
+ readChunk();
1270
+ return;
1271
+ }
1272
+ const headerLine = entireFile.substring(0, firstLineEnd === -1 ? entireFile.length : firstLineEnd);
1273
+ const delimiter = _reduceInstanceProperty__default["default"](DELIMITERS).call(DELIMITERS, (a, b) => headerLine.split(a).length > headerLine.split(b).length ? a : b);
1274
+ headers = _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = headerLine.split(delimiter)).call(_context2, header => _trimInstanceProperty__default["default"](header).call(header))).call(_context, header => header !== '' && !_includesInstanceProperty__default["default"](EXCLUDED_COLUMNS).call(EXCLUDED_COLUMNS, header));
1275
+ resolve(headers);
1276
+ } catch (error) {
1277
+ resolve([]);
1278
+ }
1279
+ };
1280
+ reader.onerror = () => {
1281
+ resolve([]);
1282
+ };
1283
+ readChunk();
1284
+ });
1285
+ };
1286
+
1287
+ function ownKeys$d(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; }
1288
+ function _objectSpread$d(e) { for (var r = 1; r < arguments.length; r++) { var _context5, _context6; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context5 = ownKeys$d(Object(t), !0)).call(_context5, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context6 = ownKeys$d(Object(t))).call(_context6, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1289
+ function groupFieldValidationErrors(errors, intl) {
1290
+ var _context2, _context4;
1291
+ const errorsByCode = _reduceInstanceProperty__default["default"](errors).call(errors, (groups, error) => {
1292
+ var _context;
1293
+ const group = groups[error.code] || {
1294
+ code: error.code,
1295
+ originalErrors: [],
1296
+ fieldNames: []
1297
+ };
1298
+ if (error.field && !_includesInstanceProperty__default["default"](_context = group.fieldNames).call(_context, error.field)) {
1299
+ group.fieldNames.push(error.field);
1300
+ }
1301
+ group.originalErrors.push(error);
1302
+ groups[error.code] = group;
1303
+ return groups;
1304
+ }, {});
1305
+ _forEachInstanceProperty__default["default"](_context2 = _Object$values__default["default"](errorsByCode)).call(_context2, group => {
1306
+ var _context3;
1307
+ _sortInstanceProperty__default["default"](_context3 = group.fieldNames).call(_context3);
1308
+ });
1309
+ return _mapInstanceProperty__default["default"](_context4 = _Object$values__default["default"](errorsByCode)).call(_context4, group => {
1310
+ let messageTitle;
1311
+ switch (group.code) {
1312
+ case 'NotSupportedField':
1313
+ messageTitle = intl.formatMessage(messages.notSupportedFieldsTitle);
1314
+ break;
1315
+ case 'LocalizedFieldWithoutLocale':
1316
+ messageTitle = intl.formatMessage(messages.localizedFieldWithoutLocaleTitle);
1317
+ break;
1318
+ case 'IncompleteField':
1319
+ messageTitle = intl.formatMessage(messages.incompleteFieldTitle);
1320
+ break;
1321
+ case 'DuplicateFields':
1322
+ messageTitle = intl.formatMessage(messages.duplicateFieldTitle);
1323
+ break;
1324
+ case 'AttributeDefinitionNotFound':
1325
+ messageTitle = intl.formatMessage(messages.attributeDefinitionNotFoundTitle);
1326
+ break;
1327
+ case 'FieldDefinitionNotFound':
1328
+ messageTitle = intl.formatMessage(messages.fieldDefinitionNotFoundTitle);
1329
+ break;
1330
+ default:
1331
+ messageTitle = group.originalErrors[0]?.message || intl.formatMessage(messages.unknownError);
1332
+ }
1333
+ return _objectSpread$d(_objectSpread$d({}, group), {}, {
1334
+ messageTitle
1335
+ });
1336
+ });
1337
+ }
1338
+
1339
+ const useInitialValues = props => {
1340
+ var _context;
1341
+ const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => ({
1342
+ locale: applicationContext.dataLocale,
1343
+ userLocale: applicationContext.user?.locale
1344
+ })),
1345
+ locale = _useApplicationContex.locale,
1346
+ userLocale = _useApplicationContex.userLocale;
1347
+ const _useApplicationContex2 = applicationShellConnectors.useApplicationContext(context => ({
1348
+ projectKey: context.project?.key
1349
+ })),
1350
+ projectKey = _useApplicationContex2.projectKey;
1351
+ const _useStorage = experimentalComponents.useStorage(`${projectKey}/${OPERATIONS_EXPORT_RESOURCES_MODAL_SELECTION}`, {}),
1352
+ _useStorage2 = _slicedToArray(_useStorage, 1),
1353
+ cachedSelectedGroups = _useStorage2[0];
1354
+ const _useStorage3 = experimentalComponents.useStorage(`${projectKey}/${OPERATIONS_EXPORT_RESOURCES_MODAL_EXPANDED_GROUP}`, {
1355
+ [props.resourceType]: _reduceInstanceProperty__default["default"](_context = props.fieldGroups).call(_context, (acc, group) => {
1356
+ acc[group.groupName] = group.isExpanded;
1357
+ return acc;
1358
+ }, {})
1359
+ }),
1360
+ _useStorage4 = _slicedToArray(_useStorage3, 1),
1361
+ cachedExpandedGroups = _useStorage4[0];
1362
+ return React__default["default"].useMemo(() => {
1363
+ let groups = removeEmptyGroups(props.fieldGroups);
1364
+ groups = updateFieldGroupsWithIsCheckedValue(groups, cachedSelectedGroups?.[props.resourceType] || {});
1365
+ groups = updateFieldGroupsWithIsExpandedValue(groups, cachedExpandedGroups?.[props.resourceType] || {});
1366
+ return {
1367
+ outputFormat: props.outputFormat,
1368
+ fileName: `${resourceTypeToFileName(props.resourceType, userLocale)}`,
1369
+ locales: [locale],
1370
+ groups: updateFieldGroupWithAdditionalFieldExtensions(groups),
1371
+ // Preferences
1372
+ fillRows: false,
1373
+ importedCsvTemplateFile: null
1374
+ };
1375
+ }, [props.fieldGroups, props.resourceType, props.outputFormat, cachedSelectedGroups, cachedExpandedGroups, locale, userLocale]);
1376
+ };
1377
+
1378
+ const _excluded$3 = ["projectKey"];
1379
+ 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; }
1380
+ 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; }
1381
+ async function makeExportRequest(params, asyncDispatchFn) {
1382
+ try {
1383
+ const projectKey = params.projectKey,
1384
+ requestData = _objectWithoutProperties(params, _excluded$3);
1385
+ const uri = `/${projectKey}/export-operations`;
1386
+ const requestAction = sdk.actions.post({
1387
+ mcApiProxyTarget: constants.MC_API_PROXY_TARGETS.EXPORT,
1388
+ uri,
1389
+ headers: {
1390
+ accept: 'application/json'
1391
+ },
1392
+ payload: requestData
1393
+ });
1394
+ const response = await asyncDispatchFn(requestAction);
1395
+ if (!response || typeof response !== 'object') {
1396
+ throw new InvalidResponseError();
1397
+ }
1398
+ if (!('state' in response)) {
1399
+ throw new InvalidResponseError('Response missing state field');
1400
+ }
1401
+ return response;
1402
+ } catch (responseError) {
1403
+ if (responseError && typeof responseError === 'object' && 'body' in responseError && responseError.body && typeof responseError.body === 'object' && 'validationErrors' in responseError.body) {
1404
+ throw responseError.body;
1405
+ }
1406
+ throw responseError;
1407
+ }
1408
+ }
1409
+ function createExportOperation(params, asyncDispatchFn) {
1410
+ return makeExportRequest(params, asyncDispatchFn);
1411
+ }
1412
+ function validateImportedHeaders(params, asyncDispatchFn) {
1413
+ return makeExportRequest(_objectSpread$c(_objectSpread$c({}, params), {}, {
1414
+ dryRun: true
1415
+ }), asyncDispatchFn);
1416
+ }
1417
+
1418
+ const useStartExportOperation = props => {
1419
+ const intl = reactIntl.useIntl();
1420
+ const asyncDispatch = sdk.useAsyncDispatch();
1421
+ const showNotification = actionsGlobal.useShowNotification();
1422
+ const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => ({
1423
+ locale: applicationContext.dataLocale,
1424
+ projectKey: applicationContext.project?.key
1425
+ })),
1426
+ projectKey = _useApplicationContex.projectKey;
1427
+ const extractFieldNamesFromGroups = groups => {
1428
+ let checkedFields = [];
1429
+ const getCheckedFields = fields => {
1430
+ return _filterInstanceProperty__default["default"](fields).call(fields, field => {
1431
+ if (field.fields) {
1432
+ return getCheckedFields(field.fields);
1433
+ }
1434
+ if (field.isChecked) checkedFields.push(field);
1435
+ return field.isChecked ?? false;
1436
+ });
1437
+ };
1438
+ _forEachInstanceProperty__default["default"](groups).call(groups, group => {
1439
+ getCheckedFields(group.fields);
1440
+ });
1441
+ return sortFieldsByFieldOrder({
1442
+ fieldNames: extractFieldNamesAndAdditionalFieldExtensions(checkedFields),
1443
+ fieldOrder: props.fieldOrder
1444
+ });
1445
+ };
1446
+ const startExportOperation = async (values, exportType, fieldSelectionMode, localeOption, importedHeaders) => {
1447
+ try {
1448
+ if (!projectKey) throw new Error('Project key is missing');
1449
+ let fields = [];
1450
+ if (fieldSelectionMode === 'imported-csv-template' && values.importedCsvTemplateFile) {
1451
+ fields = importedHeaders;
1452
+ } else {
1453
+ fields = extractFieldNamesFromGroups(values.groups);
1454
+ }
1455
+ let where = undefined;
1456
+ let filters = undefined;
1457
+ if (exportType === EXPORT_TYPES.SELECTED && props.selectedResourceIds?.length) {
1458
+ where = buildSelectedExportFilters(props.selectedResourceIds);
1459
+ } else if (exportType === EXPORT_TYPES.FILTERED && props.filters) {
1460
+ where = props.filters.where;
1461
+ if (isQueryFilter(props.filters.filters)) {
1462
+ filters = props.filters.filters;
1463
+ } else if (isSearchFilter(props.filters.filters)) {
1464
+ filters = props.filters.filters;
1465
+ }
1466
+ }
1467
+ let locales = undefined;
1468
+ if (localeOption !== 'onlyLocalesFoundInCsvFile') {
1469
+ locales = values.locales;
1470
+ }
1471
+ const response = await createExportOperation({
1472
+ projectKey,
1473
+ resourceType: props.resourceType,
1474
+ fileName: appendCsvOrJsonExtensionIfAbsent(values.fileName, values.outputFormat),
1475
+ fileFormat: values.outputFormat,
1476
+ locales,
1477
+ fillRows: values.fillRows,
1478
+ fields,
1479
+ where,
1480
+ filters
1481
+ }, asyncDispatch);
1482
+ switch (response.state) {
1483
+ case EXPORT_OPERATION_STATES.QUEUED:
1484
+ case EXPORT_OPERATION_STATES.PROCESSING:
1485
+ case EXPORT_OPERATION_STATES.COMPLETED:
1486
+ showNotification({
1487
+ kind: 'info',
1488
+ domain: constants.DOMAINS.SIDE,
1489
+ // @ts-ignore
1490
+ text: intl.formatMessage(messages.exportOperationSuccessMessage, {
1491
+ newline: getNewLine,
1492
+ logsLink: msg => getExportLogsLink(projectKey, msg),
1493
+ b: getBold
1494
+ })
1495
+ }, {
1496
+ dismissAfter: 5000
1497
+ });
1498
+ if (typeof props.onExportSuccess === 'function') props.onExportSuccess();
1499
+ break;
1500
+ default:
1501
+ throw new UnexpectedExportOperationStateError(response.state);
1502
+ }
1503
+ } catch (error) {
1504
+ // TODO: custom error messages for each error type
1505
+ showNotification({
1506
+ text: intl.formatMessage(messages.unexpectedError),
1507
+ kind: 'error',
1508
+ domain: constants.DOMAINS.PAGE
1509
+ });
1510
+ } finally {
1511
+ if (typeof props.onClose === 'function') props.onClose();
1512
+ }
1513
+ };
1514
+ return {
1515
+ startExportOperation
1516
+ };
1517
+ };
1518
+
1519
+ const _excluded$2 = ["fields"];
1520
+ function ownKeys$b(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; }
1521
+ function _objectSpread$b(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$b(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$b(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1522
+ const getFieldFullName = _ref => {
1523
+ var _context;
1524
+ let fieldPrefix = _ref.fieldPrefix,
1525
+ fieldName = _ref.fieldName;
1526
+ return _filterInstanceProperty__default["default"](_context = [fieldPrefix, fieldName]).call(_context, Boolean).join('.');
1527
+ };
1528
+ const localizeTypeDefinitionLabels = function () {
1529
+ let fieldDefinitions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
1530
+ return _mapInstanceProperty__default["default"](fieldDefinitions).call(fieldDefinitions, _ref2 => {
1531
+ let fields = _ref2.fields,
1532
+ fieldsType = _objectWithoutProperties(_ref2, _excluded$2);
1533
+ const isFieldTypeLabelLocalized = _Array$isArray__default["default"](fieldsType.label);
1534
+ return {
1535
+ name: fieldsType.name,
1536
+ label: isFieldTypeLabelLocalized ? l10n.applyTransformedLocalizedFields(fieldsType, [{
1537
+ from: 'label',
1538
+ to: 'label'
1539
+ }]).label : fieldsType.label,
1540
+ fields: fields?.map(field => {
1541
+ const isFieldLabelLocalized = _Array$isArray__default["default"](field.label);
1542
+ if (!isFieldLabelLocalized) {
1543
+ return field;
1544
+ }
1545
+ return _objectSpread$b({}, l10n.applyTransformedLocalizedFields(field, [{
1546
+ from: 'label',
1547
+ to: 'label'
1548
+ }]));
1549
+ }) || []
1550
+ };
1551
+ });
1552
+ };
1553
+ const useConvertFieldDefinitionsForExport = () => {
1554
+ const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => ({
1555
+ language: applicationContext.dataLocale,
1556
+ languages: applicationContext.project?.languages
1557
+ })),
1558
+ language = _useApplicationContex.language,
1559
+ languages = _useApplicationContex.languages;
1560
+ const sortByField = (fields, fieldName) => {
1561
+ if (!fields) return [];
1562
+ if (fieldName) {
1563
+ return sortBy__default["default"](fields, field => {
1564
+ return field[fieldName]?.toLowerCase();
1565
+ });
1566
+ }
1567
+ return fields;
1568
+ };
1569
+ const convertFieldDefinitionsForExport = _ref3 => {
1570
+ let fieldDefinitions = _ref3.fieldDefinitions,
1571
+ fieldPrefix = _ref3.fieldPrefix,
1572
+ _ref3$expandAll = _ref3.expandAll,
1573
+ expandAll = _ref3$expandAll === void 0 ? false : _ref3$expandAll,
1574
+ sortField = _ref3.sortField;
1575
+ if (!fieldDefinitions) return [];
1576
+ const localizedTypeDefinitions = localizeTypeDefinitionLabels(fieldDefinitions);
1577
+ const results = _mapInstanceProperty__default["default"](localizedTypeDefinitions).call(localizedTypeDefinitions, transformedType => {
1578
+ const isTypeLabelLocalized = typeof transformedType.label !== 'string';
1579
+ return {
1580
+ isExpandable: true,
1581
+ isExpanded: expandAll,
1582
+ name: transformedType.name,
1583
+ label: isTypeLabelLocalized ? l10n.formatLocalizedString({
1584
+ label: transformedType.label
1585
+ }, {
1586
+ key: 'label',
1587
+ locale: language,
1588
+ fallbackOrder: languages,
1589
+ fallback: transformedType.name
1590
+ }) : transformedType.label,
1591
+ fields: sortByField(transformedType.fields?.map(fieldDefinition => {
1592
+ const isFieldLabelLocalized = typeof fieldDefinition.label !== 'string';
1593
+ return {
1594
+ name: getFieldFullName({
1595
+ fieldPrefix: fieldPrefix,
1596
+ fieldName: fieldDefinition.name
1597
+ }),
1598
+ label: isFieldLabelLocalized ? l10n.formatLocalizedString({
1599
+ label: fieldDefinition.label
1600
+ }, {
1601
+ key: 'label',
1602
+ locale: language,
1603
+ fallbackOrder: languages,
1604
+ fallback: fieldDefinition.name
1605
+ }) : fieldDefinition.label,
1606
+ extendedFieldNames: fieldDefinition.extendedFieldNames
1607
+ };
1608
+ }), sortField)
1609
+ };
1610
+ });
1611
+ return sortByField(results, sortField);
1612
+ };
1613
+ return {
1614
+ convertFieldDefinitionsForExport
1615
+ };
1616
+ };
1617
+
1618
+ const useValidateImportedHeaders = () => {
1619
+ const intl = reactIntl.useIntl();
1620
+ const asyncDispatch = sdk.useAsyncDispatch();
1621
+ const showNotification = actionsGlobal.useShowNotification();
1622
+ const _useApplicationContex = applicationShellConnectors.useApplicationContext(context => ({
1623
+ projectKey: context.project?.key
1624
+ })),
1625
+ projectKey = _useApplicationContex.projectKey;
1626
+ const validateHeaders = async params => {
1627
+ try {
1628
+ var _context;
1629
+ if (!projectKey) return;
1630
+ const invalidFields = _filterInstanceProperty__default["default"](_context = params.fields).call(_context, field => !isFieldNameValid(field));
1631
+ if (invalidFields.length > 0) {
1632
+ return {
1633
+ success: false,
1634
+ validationErrors: _mapInstanceProperty__default["default"](invalidFields).call(invalidFields, field => ({
1635
+ code: 'NotSupportedField',
1636
+ field: field
1637
+ }))
1638
+ };
1639
+ }
1640
+ await validateImportedHeaders({
1641
+ projectKey,
1642
+ resourceType: params.resourceType,
1643
+ fileName: params.fileName,
1644
+ fileFormat: params.outputFormat,
1645
+ fields: params.fields,
1646
+ locales: params.locales
1647
+ }, asyncDispatch);
1648
+ return {
1649
+ success: true,
1650
+ validationErrors: []
1651
+ };
1652
+ } catch (error) {
1653
+ if (typeof error === 'object' && error && 'validationErrors' in error && _Array$isArray__default["default"](error.validationErrors)) {
1654
+ return {
1655
+ success: false,
1656
+ validationErrors: error.validationErrors
1657
+ };
1658
+ }
1659
+ showNotification({
1660
+ text: intl.formatMessage(messages.unexpectedError),
1661
+ kind: 'error',
1662
+ domain: constants.DOMAINS.PAGE
1663
+ });
1664
+ return {
1665
+ success: false,
1666
+ validationErrors: []
1667
+ };
1668
+ }
1669
+ };
1670
+ return {
1671
+ validateHeaders
1672
+ };
1673
+ };
1674
+
1675
+ function ownKeys$a(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; }
1676
+ 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__default["default"](_context = ownKeys$a(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$a(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1677
+ const OrderPreferences = () => {
1678
+ const _useExportResourcesMo = useExportResourcesModalContext(),
1679
+ formik = _useExportResourcesMo.formik;
1680
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
1681
+ children: jsxRuntime.jsx(uiKit.CheckboxInput, {
1682
+ isChecked: _valuesInstanceProperty__default["default"](formik).fillRows,
1683
+ onChange: e => {
1684
+ formik.setFieldValue('fillRows', e.target.checked);
1685
+ },
1686
+ children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$a({}, messages.fillRowsForOrderExport))
1687
+ })
1688
+ });
1689
+ };
1690
+ const ProductPreferences = () => {
1691
+ const _useExportResourcesMo2 = useExportResourcesModalContext(),
1692
+ formik = _useExportResourcesMo2.formik;
1693
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
1694
+ children: jsxRuntime.jsx(uiKit.CheckboxInput, {
1695
+ isChecked: _valuesInstanceProperty__default["default"](formik).fillRows,
1696
+ onChange: e => {
1697
+ formik.setFieldValue('fillRows', e.target.checked);
1698
+ },
1699
+ children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$a({}, messages.fillRowsForProductExport))
1700
+ })
1701
+ });
1702
+ };
1703
+ const ExportPreferenceSection = () => {
1704
+ const _useExportResourcesMo3 = useExportResourcesModalContext(),
1705
+ resourceType = _useExportResourcesMo3.resourceType;
1706
+ if (resourceType === 'order') {
1707
+ return jsxRuntime.jsx(OrderPreferences, {});
1708
+ }
1709
+ if (resourceType === 'product') {
1710
+ return jsxRuntime.jsx(ProductPreferences, {});
1711
+ }
1712
+ return null;
1713
+ };
1714
+
1715
+ function ownKeys$9(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; }
1716
+ 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; }
1717
+ function ExportScopeSection() {
1718
+ const _useExportResourcesMo = useExportResourcesModalContext(),
1719
+ exportType = _useExportResourcesMo.exportType,
1720
+ totalResourcesCount = _useExportResourcesMo.totalResourcesCount,
1721
+ filters = _useExportResourcesMo.filters,
1722
+ hasFilters = _useExportResourcesMo.hasFilters,
1723
+ selectedResourceIds = _useExportResourcesMo.selectedResourceIds,
1724
+ setExportType = _useExportResourcesMo.setExportType,
1725
+ resourceType = _useExportResourcesMo.resourceType,
1726
+ hideExportSelectedResourcesOption = _useExportResourcesMo.hideExportSelectedResourcesOption;
1727
+ return jsxRuntime.jsx(uiKit.Spacings.Stack, {
1728
+ scale: "m",
1729
+ children: jsxRuntime.jsxs(uiKit.RadioInput.Group, {
1730
+ value: exportType,
1731
+ onChange: e => {
1732
+ setExportType(e.target.value);
1733
+ },
1734
+ direction: "stack",
1735
+ directionProps: {
1736
+ scale: 's'
1737
+ },
1738
+ children: [jsxRuntime.jsx(uiKit.RadioInput.Option, {
1739
+ value: EXPORT_TYPES.ALL,
1740
+ children: jsxRuntime.jsx(uiKit.Text.Body, {
1741
+ intlMessage: _objectSpread$9(_objectSpread$9({}, resourceTypeMessages[resourceType].exportScopeAll), {}, {
1742
+ values: {
1743
+ total: totalResourcesCount
1744
+ }
1745
+ })
1746
+ })
1747
+ }), filters && jsxRuntime.jsx(uiKit.RadioInput.Option, {
1748
+ value: EXPORT_TYPES.FILTERED,
1749
+ isDisabled: !filters.total || !hasFilters,
1750
+ children: jsxRuntime.jsx(uiKit.Text.Body, {
1751
+ tone: !filters.total || !hasFilters ? 'tertiary' : undefined,
1752
+ intlMessage: filters.total ? _objectSpread$9(_objectSpread$9({}, resourceTypeMessages[resourceType].exportScopeFiltered), {}, {
1753
+ values: {
1754
+ total: filters.total
1755
+ }
1756
+ }) : messages.exportScopeFilteredWithoutCount
1757
+ })
1758
+ }), !hideExportSelectedResourcesOption && jsxRuntime.jsx(uiKit.RadioInput.Option, {
1759
+ value: EXPORT_TYPES.SELECTED,
1760
+ isDisabled: !selectedResourceIds?.length,
1761
+ children: jsxRuntime.jsx(uiKit.Text.Body, {
1762
+ tone: !selectedResourceIds?.length ? 'tertiary' : undefined,
1763
+ intlMessage: selectedResourceIds?.length ? _objectSpread$9(_objectSpread$9({}, resourceTypeMessages[resourceType].exportScopeSelected), {}, {
1764
+ values: {
1765
+ total: selectedResourceIds.length
1766
+ }
1767
+ }) : messages.exportScopeSelectedWithoutCount
1768
+ })
1769
+ })]
1770
+ })
1771
+ });
1772
+ }
1773
+
1774
+ const ExportFileSettingsStep = () => {
1775
+ var _context;
1776
+ const intl = reactIntl.useIntl();
1777
+ const _useExportResourcesMo = useExportResourcesModalContext(),
1778
+ formik = _useExportResourcesMo.formik,
1779
+ resourceType = _useExportResourcesMo.resourceType,
1780
+ setFieldSelectionMode = _useExportResourcesMo.setFieldSelectionMode,
1781
+ onClose = _useExportResourcesMo.onClose;
1782
+
1783
+ // TODO: make this dynamic based on the resource type & output format (more scalable)
1784
+ const shouldShowPreferences = _includesInstanceProperty__default["default"](_context = ['order', 'product']).call(_context, resourceType) && _valuesInstanceProperty__default["default"](formik).outputFormat === 'csv';
1785
+ return jsxRuntime.jsx(applicationComponents.FormDialog, {
1786
+ isOpen: true,
1787
+ title: `${intl.formatMessage(messages.stepCount, {
1788
+ currentStep: 1,
1789
+ totalSteps: TOTAL_STEPS
1790
+ })}: ${intl.formatMessage(messages[`modalTitle.${resourceType}`])}`,
1791
+ labelPrimary: `${intl.formatMessage(messages.stepNumber, {
1792
+ stepNumber: 2
1793
+ })}: ${intl.formatMessage(messages.selectContentToExport)}`,
1794
+ iconLeftPrimaryButton: jsxRuntime.jsx(uiKit.AngleRightIcon, {}),
1795
+ onPrimaryButtonClick: formik.submitForm,
1796
+ isPrimaryButtonDisabled: !formik.isValid,
1797
+ onSecondaryButtonClick: onClose,
1798
+ onClose: onClose,
1799
+ size: 16,
1800
+ children: jsxRuntime.jsx(fullstory.Masking.Unmask, {
1801
+ children: jsxRuntime.jsx(uiKit.Spacings.Stack, {
1802
+ scale: "xxxl",
1803
+ children: jsxRuntime.jsx(uiKit.Spacings.Stack, {
1804
+ scale: "l",
1805
+ children: jsxRuntime.jsxs(uiKit.Grid, {
1806
+ gridRowGap: uiKit.designTokens.spacingL,
1807
+ gridTemplateColumns: `calc(${uiKit.designTokens.constraint3} + ${uiKit.designTokens.spacingL}) auto`,
1808
+ children: [jsxRuntime.jsx(uiKit.Grid.Item, {
1809
+ children: jsxRuntime.jsx(uiKit.Text.Body, {
1810
+ intlMessage: messages.exportScope
1811
+ })
1812
+ }), jsxRuntime.jsx(uiKit.Grid.Item, {
1813
+ children: jsxRuntime.jsx(ExportScopeSection, {})
1814
+ }), jsxRuntime.jsx(uiKit.Grid.Item, {
1815
+ children: jsxRuntime.jsx(uiKit.Text.Body, {
1816
+ intlMessage: messages.exportSettings
1817
+ })
1818
+ }), jsxRuntime.jsx(uiKit.Grid.Item, {
1819
+ children: jsxRuntime.jsxs(uiKit.Spacings.Stack, {
1820
+ scale: "m",
1821
+ children: [jsxRuntime.jsx(uiKit.SelectField, {
1822
+ name: "outputFormat",
1823
+ onChange: event => {
1824
+ formik.handleChange(event);
1825
+ if (event.target.value === OUTPUT_FORMATS.JSON) {
1826
+ setFieldSelectionMode(FIELD_SELECTION_MODES.SELECTED_FIELDS);
1827
+ }
1828
+ },
1829
+ onBlur: formik.handleBlur,
1830
+ value: _valuesInstanceProperty__default["default"](formik).outputFormat,
1831
+ title: intl.formatMessage(messages.outputFormat),
1832
+ options: OUTPUT_FORMAT_OPTIONS
1833
+ }), jsxRuntime.jsx(fullstory.Masking.Mask, {
1834
+ children: jsxRuntime.jsx(uiKit.TextField, {
1835
+ name: "fileName",
1836
+ onChange: formik.handleChange,
1837
+ onBlur: formik.handleBlur,
1838
+ value: _valuesInstanceProperty__default["default"](formik).fileName,
1839
+ title: intl.formatMessage(messages.fileName),
1840
+ touched: formik.touched.fileName,
1841
+ errors: mapFormikErrors(formik.errors.fileName),
1842
+ renderError: renderFileNameError
1843
+ })
1844
+ })]
1845
+ })
1846
+ }), shouldShowPreferences && jsxRuntime.jsxs(jsxRuntime.Fragment, {
1847
+ children: [jsxRuntime.jsx(uiKit.Grid.Item, {
1848
+ children: jsxRuntime.jsx(uiKit.Text.Body, {
1849
+ intlMessage: messages.exportPreferences
1850
+ })
1851
+ }), jsxRuntime.jsx(uiKit.Grid.Item, {
1852
+ children: jsxRuntime.jsx(ExportPreferenceSection, {})
1853
+ })]
1854
+ })]
1855
+ })
1856
+ })
1857
+ })
1858
+ })
1859
+ });
1860
+ };
1861
+
1862
+ const ExportLocaleSelectField = () => {
1863
+ const intl = reactIntl.useIntl();
1864
+ const _useExportResourcesMo = useExportResourcesModalContext(),
1865
+ formik = _useExportResourcesMo.formik,
1866
+ fieldSelectionMode = _useExportResourcesMo.fieldSelectionMode,
1867
+ localeOption = _useExportResourcesMo.localeOption,
1868
+ setLocaleOption = _useExportResourcesMo.setLocaleOption;
1869
+ const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => ({
1870
+ locale: applicationContext.dataLocale,
1871
+ locales: applicationContext.project?.languages || []
1872
+ })),
1873
+ locales = _useApplicationContex.locales,
1874
+ locale = _useApplicationContex.locale;
1875
+ const isOnlyLocalesFoundInCsvFileOptionDisabled = React__default["default"].useMemo(() => {
1876
+ return fieldSelectionMode !== 'imported-csv-template' || !_valuesInstanceProperty__default["default"](formik).importedCsvTemplateFile;
1877
+ }, [fieldSelectionMode, _valuesInstanceProperty__default["default"](formik).importedCsvTemplateFile]);
1878
+ const isLocalesSelectFieldDisabled = React__default["default"].useMemo(() => {
1879
+ return localeOption === LocaleOption.OnlyLocalesFoundInCsvFile;
1880
+ }, [localeOption]);
1881
+ const localeChangeHandler = React__default["default"].useCallback(e => {
1882
+ const nextValue = e.target.value;
1883
+ if (nextValue === LocaleOption.All) formik.setFieldValue('locales', locales);else if (nextValue === LocaleOption.Selected) formik.setFieldValue('locales', [locale]);
1884
+ setLocaleOption(nextValue);
1885
+ }, [setLocaleOption, locales, locale, formik]);
1886
+ return jsxRuntime.jsxs(uiKit.Spacings.Inline, {
1887
+ scale: "xs",
1888
+ children: [jsxRuntime.jsx(uiKit.FieldLabel, {
1889
+ horizontalConstraint: 3,
1890
+ hasRequiredIndicator: true,
1891
+ title: intl.formatMessage(messages.locales),
1892
+ htmlFor: "locales-select-field"
1893
+ }), jsxRuntime.jsx(uiKit.Constraints.Horizontal, {
1894
+ max: "scale",
1895
+ children: jsxRuntime.jsxs(uiKit.Spacings.Stack, {
1896
+ scale: "xs",
1897
+ children: [jsxRuntime.jsxs(uiKit.RadioInput.Group, {
1898
+ onChange: localeChangeHandler,
1899
+ name: "locale-option",
1900
+ value: localeOption,
1901
+ direction: "inline",
1902
+ children: [jsxRuntime.jsx(uiKit.RadioInput.Option, {
1903
+ value: LocaleOption.Selected,
1904
+ children: intl.formatMessage(messages.includeOnlySelectedLocalesRadioOption)
1905
+ }), jsxRuntime.jsx(uiKit.RadioInput.Option, {
1906
+ "data-testid": "include-all-locales-toggle-input",
1907
+ value: LocaleOption.All,
1908
+ children: intl.formatMessage(messages.includeAllLocalesRadioOption)
1909
+ }), jsxRuntime.jsx(uiKit.RadioInput.Option, {
1910
+ "data-testid": "only-locales-found-in-the-csv-file",
1911
+ value: LocaleOption.OnlyLocalesFoundInCsvFile,
1912
+ isDisabled: isOnlyLocalesFoundInCsvFileOptionDisabled,
1913
+ children: jsxRuntime.jsxs(uiKit.Spacings.Inline, {
1914
+ scale: "s",
1915
+ alignItems: "center",
1916
+ children: [jsxRuntime.jsx("div", {
1917
+ children: intl.formatMessage(messages.onlyLocalesFoundInCsvFile)
1918
+ }), jsxRuntime.jsx(uiKit.Tooltip, {
1919
+ title: intl.formatMessage(messages.onlyLocalesFoundInCsvFileTooltip),
1920
+ children: jsxRuntime.jsx(uiKit.SupportIcon, {
1921
+ color: "primary",
1922
+ size: "20"
1923
+ })
1924
+ })]
1925
+ })
1926
+ })]
1927
+ }), jsxRuntime.jsx(uiKit.SelectField, {
1928
+ id: "locales-select-field",
1929
+ name: "locales",
1930
+ "data-testid": "locales-select-field",
1931
+ isDisabled: isLocalesSelectFieldDisabled,
1932
+ title: "",
1933
+ value: _valuesInstanceProperty__default["default"](formik).locales,
1934
+ options: mapLocalesToOptions(locales),
1935
+ isMulti: true,
1936
+ onChange: formik.handleChange,
1937
+ onBlur: formik.handleBlur,
1938
+ touched: formik.touched.locales,
1939
+ errors: mapFormikErrors(formik.errors.locales),
1940
+ renderError: renderLocaleError,
1941
+ menuPortalTarget: document.body,
1942
+ menuPortalZIndex: Z_INDEX_DROPDOWN,
1943
+ horizontalConstraint: 16,
1944
+ isClearable: false
1945
+ })]
1946
+ })
1947
+ })]
1948
+ });
1949
+ };
1950
+
1951
+ function ownKeys$8(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; }
1952
+ function _objectSpread$8(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$8(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$8(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1953
+ const ImportedCsvTemplateFieldsForm = () => {
1954
+ return jsxRuntime.jsx(uiKit.Spacings.Stack, {
1955
+ children: jsxRuntime.jsxs(uiKit.Spacings.Stack, {
1956
+ scale: "m",
1957
+ children: [jsxRuntime.jsx(uiKit.Spacings.Stack, {
1958
+ scale: "xs",
1959
+ children: jsxRuntime.jsx(uiKit.Text.Body, {
1960
+ intlMessage: _objectSpread$8(_objectSpread$8({}, messages.defineFieldsToIncludeInExport), {}, {
1961
+ values: {
1962
+ templateLink: msg => jsxRuntime.jsx(uiKit.Link, {
1963
+ tone: "secondary",
1964
+ to: CSV_TEMPLATES_LINK,
1965
+ isExternal: true,
1966
+ children: msg
1967
+ }, "link")
1968
+ }
1969
+ })
1970
+ })
1971
+ }), jsxRuntime.jsx(FileDropArea, {})]
1972
+ })
1973
+ });
1974
+ };
1975
+
1976
+ function ownKeys$7(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; }
1977
+ function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$7(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$7(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
1978
+ const exportFieldSelectionContextDefaultValues = {
1979
+ updateExpandedGroups: (_name, _value) => {}
1980
+ };
1981
+ const ExportFieldSelectionContext = /*#__PURE__*/React.createContext(exportFieldSelectionContextDefaultValues);
1982
+ const ExportFieldSelectionProvider = _ref => {
1983
+ let resourceType = _ref.resourceType,
1984
+ children = _ref.children;
1985
+ const _useApplicationContex = applicationShellConnectors.useApplicationContext(context => ({
1986
+ projectKey: context.project?.key
1987
+ })),
1988
+ projectKey = _useApplicationContex.projectKey;
1989
+ const _useStorage = experimentalComponents.useStorage(`${projectKey}/${OPERATIONS_EXPORT_RESOURCES_MODAL_EXPANDED_GROUP}`, {}),
1990
+ _useStorage2 = _slicedToArray(_useStorage, 2),
1991
+ cachedExpandedGroups = _useStorage2[0],
1992
+ setCachedExpandedGroups = _useStorage2[1];
1993
+ const updateExpandedGroups = React.useCallback((name, value) => {
1994
+ setCachedExpandedGroups({
1995
+ [resourceType]: _objectSpread$7(_objectSpread$7({}, cachedExpandedGroups?.[resourceType] || {}), {}, {
1996
+ [name]: value
1997
+ })
1998
+ });
1999
+ }, [cachedExpandedGroups, resourceType, setCachedExpandedGroups]);
2000
+ return jsxRuntime.jsx(ExportFieldSelectionContext.Provider, {
2001
+ value: {
2002
+ updateExpandedGroups
2003
+ },
2004
+ children: children
2005
+ });
2006
+ };
2007
+ const useExportFieldSelectionContext = () => {
2008
+ return React.useContext(ExportFieldSelectionContext);
2009
+ };
2010
+
2011
+ const FieldsCountStamp = _ref => {
2012
+ let count = _ref.count;
2013
+ const _useIntl = reactIntl.useIntl(),
2014
+ formatMessage = _useIntl.formatMessage;
2015
+ return jsxRuntime.jsx(uiKit.Stamp, {
2016
+ tone: "information",
2017
+ isCondensed: true,
2018
+ label: formatMessage(messages.itemCount, {
2019
+ count
2020
+ })
2021
+ });
2022
+ };
2023
+
2024
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$2() { 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)."; }
2025
+ const FieldWrapper = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
2026
+ target: "e1judmlm0"
2027
+ } : {
2028
+ target: "e1judmlm0",
2029
+ label: "FieldWrapper"
2030
+ })(process.env.NODE_ENV === "production" ? {
2031
+ name: "9iujih",
2032
+ styles: "position:relative;display:flex;align-items:center"
2033
+ } : {
2034
+ name: "9iujih",
2035
+ styles: "position:relative;display:flex;align-items:center/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpZWxkLXNlY3Rpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCK0IiLCJmaWxlIjoiZmllbGQtc2VjdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGcmFnbWVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgQW5nbGVEb3duSWNvbixcbiAgQW5nbGVSaWdodEljb24sXG4gIENoZWNrYm94SW5wdXQsXG4gIENvbGxhcHNpYmxlTW90aW9uLFxuICBJY29uQnV0dG9uLFxuICBTcGFjaW5ncyxcbiAgVGV4dCxcbiAgZGVzaWduVG9rZW5zLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC91aS1raXQnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHR5cGUgeyBGb3JtaWtQcm9wcyB9IGZyb20gJ2Zvcm1paydcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCdcbmltcG9ydCB7IHVzZUV4cG9ydEZpZWxkU2VsZWN0aW9uQ29udGV4dCB9IGZyb20gJy4vZXhwb3J0LWZpZWxkLXNlbGVjdGlvbi1wcm92aWRlcidcbmltcG9ydCB7IFN0eWxlZEV4cGFuZGFibGVDb250ZW50IH0gZnJvbSAnLi9maWVsZC1ncm91cC1zZWN0aW9uJ1xuaW1wb3J0IHsgRmllbGRzQ291bnRTdGFtcCB9IGZyb20gJy4vZmllbGRzLWNvdW50LXN0YW1wJ1xuaW1wb3J0IHR5cGUgeyBGb3JtRmllbGQsIEZvcm1WYWx1ZXMgfSBmcm9tICcuLi8uLi9AdHlwZXMnXG5pbXBvcnQgeyBhcmVBbGxGaWVsZHNDaGVja2VkLCBpc0FueUZpZWxkQ2hlY2tlZCB9IGZyb20gJy4uLy4uL0B1dGlscydcbmltcG9ydCBtZXNzYWdlcyBmcm9tICcuLi8uLi9tZXNzYWdlcydcblxuY29uc3QgRmllbGRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuXG50eXBlIENvbGxhcHNpYmxlRmllbGRXcmFwcGVyUHJvcHMgPSB7XG4gIGlzRm9yY2VFeHBhbmRlZD86IGJvb2xlYW5cbiAgZmllbGQ6IEZvcm1GaWVsZFxuICBjaGlsZHJlbjogKHByb3BzOiB7XG4gICAgaXNPcGVuOiBib29sZWFuXG4gICAgdG9nZ2xlOiAoKSA9PiB2b2lkXG4gICAgcmVnaXN0ZXJDb250ZW50Tm9kZTogYW55XG4gIH0pID0+IFJlYWN0LlJlYWN0RWxlbWVudFxufVxuY29uc3QgQ29sbGFwc2libGVGaWVsZFdyYXBwZXIgPSAoe1xuICBpc0ZvcmNlRXhwYW5kZWQsXG4gIGZpZWxkLFxuICBjaGlsZHJlbixcbn06IENvbGxhcHNpYmxlRmllbGRXcmFwcGVyUHJvcHMpID0+IHtcbiAgaWYgKGZpZWxkLmlzRXhwYW5kYWJsZSlcbiAgICByZXR1cm4gKFxuICAgICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICAgIGlzRGVmYXVsdENsb3NlZD17aXNGb3JjZUV4cGFuZGVkID8gZmFsc2UgOiAhZmllbGQuaXNFeHBhbmRlZH1cbiAgICAgICAga2V5PXtgJHtpc0ZvcmNlRXhwYW5kZWR9YH1cbiAgICAgID5cbiAgICAgICAgeyh7IGlzT3BlbiwgdG9nZ2xlLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+XG4gICAgICAgICAgY2hpbGRyZW4oe1xuICAgICAgICAgICAgaXNPcGVuLFxuICAgICAgICAgICAgdG9nZ2xlLFxuICAgICAgICAgICAgcmVnaXN0ZXJDb250ZW50Tm9kZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICA8L0NvbGxhcHNpYmxlTW90aW9uPlxuICAgIClcbiAgcmV0dXJuIGNoaWxkcmVuKHtcbiAgICBpc09wZW46IHRydWUsXG4gICAgdG9nZ2xlOiAoKSA9PiB7fSxcbiAgICByZWdpc3RlckNvbnRlbnROb2RlOiAoKSA9PiB7fSxcbiAgfSlcbn1cblxudHlwZSBGaWVsZFNlY3Rpb25Qcm9wcyA9IHtcbiAgZmllbGRzPzogRm9ybUZpZWxkW11cbiAgcGFyZW50S2V5czogc3RyaW5nW11cbiAgZm9ybWlrOiBGb3JtaWtQcm9wczxGb3JtVmFsdWVzPlxuICBpc0FueVNpYmxpbmdDaGVja2VkOiBib29sZWFuXG4gIGlzU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBncm91cE5hbWU6IHN0cmluZ1xuICBtYXhWaXNpYmxlQ2hpbGRyZW4/OiBudW1iZXJcbn1cblxuZXhwb3J0IGNvbnN0IEZpZWxkU2VjdGlvbiA9ICh7XG4gIGZpZWxkcyxcbiAgcGFyZW50S2V5cyxcbiAgZm9ybWlrLFxuICBpc0FueVNpYmxpbmdDaGVja2VkLFxuICBpc1NlYXJjaEFjdGl2ZSxcbiAgZ3JvdXBOYW1lLFxuICBtYXhWaXNpYmxlQ2hpbGRyZW4sXG59OiBGaWVsZFNlY3Rpb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IHVwZGF0ZUV4cGFuZGVkR3JvdXBzIH0gPSB1c2VFeHBvcnRGaWVsZFNlbGVjdGlvbkNvbnRleHQoKVxuXG4gIGNvbnN0IHZpc2libGVGaWVsZHMgPVxuICAgIGlzU2VhcmNoQWN0aXZlIHx8ICFtYXhWaXNpYmxlQ2hpbGRyZW5cbiAgICAgID8gZmllbGRzXG4gICAgICA6IGZpZWxkcz8uc2xpY2UoMCwgbWF4VmlzaWJsZUNoaWxkcmVuKVxuXG4gIGNvbnN0IGhhc01vcmVGaWVsZHMgPVxuICAgIG1heFZpc2libGVDaGlsZHJlbiAmJlxuICAgICFpc1NlYXJjaEFjdGl2ZSAmJlxuICAgIGZpZWxkcyAmJlxuICAgIGZpZWxkcy5sZW5ndGggPiBtYXhWaXNpYmxlQ2hpbGRyZW5cblxuICBjb25zdCB2aXNpYmxlSW5kZXggPSAoZmllbGQ6IEZvcm1GaWVsZCkgPT5cbiAgICBmaWVsZHM/LmZpbHRlcigoZikgPT4gIWYuaXNIaWRkZW4pLmluZGV4T2YoZmllbGQpIHx8IC0xXG5cbiAgY29uc3Qgc2hvdWxkRGlzcGxheUZpZWxkID0gKGZpZWxkOiBGb3JtRmllbGQpID0+IHtcbiAgICBpZiAoZmllbGQuaXNIaWRkZW4pIHJldHVybiBmYWxzZVxuICAgIGlmICghbWF4VmlzaWJsZUNoaWxkcmVuKSByZXR1cm4gdHJ1ZVxuICAgIHJldHVybiBtYXhWaXNpYmxlQ2hpbGRyZW4gJiYgdmlzaWJsZUluZGV4KGZpZWxkKSA8IG1heFZpc2libGVDaGlsZHJlblxuICB9XG5cbiAgY29uc3Qgc2hvdWxkRGlzcGxheUNoaWxkcmVuQ291bnQgPSAoZmllbGQ6IEZvcm1GaWVsZCkgPT4ge1xuICAgIHJldHVybiBCb29sZWFuKGZpZWxkLm1heFZpc2libGVDaGlsZHJlbilcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNwYWNpbmdzLlN0YWNrIHNjYWxlPVwic1wiPlxuICAgICAge3Zpc2libGVGaWVsZHM/Lm1hcCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IGlzQ2hpbGRyZW5Db3VudERpc3BsYXllZCA9IHNob3VsZERpc3BsYXlDaGlsZHJlbkNvdW50KGZpZWxkKVxuICAgICAgICBjb25zdCBoYXNEZXBlbmRlbnRzID0gQm9vbGVhbihcbiAgICAgICAgICBmaWVsZC5kZXBlbmRlbnRHcm91cE5hbWVzPy5sZW5ndGggfHwgZmllbGQuZGVwZW5kZW50RmllbGROYW1lcz8ubGVuZ3RoXG4gICAgICAgIClcbiAgICAgICAgY29uc3QgaXNBbnlPZlRoZUNoaWxkRmllbGRzQ2hlY2tlZCA9IGlzQW55RmllbGRDaGVja2VkKFxuICAgICAgICAgIGZpZWxkLmZpZWxkcyB8fCBbXVxuICAgICAgICApXG4gICAgICAgIGNvbnN0IGFsbEZpZWxkc0NoZWNrZWQgPSBhcmVBbGxGaWVsZHNDaGVja2VkKGZpZWxkLmZpZWxkcyB8fCBbXSlcbiAgICAgICAgY29uc3QgZ2V0SXNDaGVja2VkID0gKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzUGFyZW50ID0gQm9vbGVhbihmaWVsZC5maWVsZHMgJiYgZmllbGQuZmllbGRzPy5sZW5ndGggPiAwKVxuXG4gICAgICAgICAgaWYgKGlzUGFyZW50KSByZXR1cm4gYXJlQWxsRmllbGRzQ2hlY2tlZChmaWVsZC5maWVsZHMhKVxuXG4gICAgICAgICAgcmV0dXJuIGZpZWxkLmlzQ2hlY2tlZFxuICAgICAgICB9XG4gICAgICAgIGlmICghc2hvdWxkRGlzcGxheUZpZWxkKGZpZWxkKSkgcmV0dXJuIG51bGxcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8Q29sbGFwc2libGVGaWVsZFdyYXBwZXJcbiAgICAgICAgICAgIGlzRm9yY2VFeHBhbmRlZD17aXNTZWFyY2hBY3RpdmV9XG4gICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICBrZXk9e2Ake2ZpZWxkLm5hbWV9LiR7aXNTZWFyY2hBY3RpdmV9YH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIHJlZ2lzdGVyQ29udGVudE5vZGUgfSkgPT4gKFxuICAgICAgICAgICAgICA8RnJhZ21lbnQga2V5PXtgJHtmaWVsZC5uYW1lfS0ke2luZGV4fWB9PlxuICAgICAgICAgICAgICAgIDxGaWVsZFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICB7ZmllbGQuaXNFeHBhbmRhYmxlICYmIChcbiAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBzaXplPVwiMjBcIlxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGBjYWxjKC0xICogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZ1hsfSlgLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1NlYXJjaEFjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVFeHBhbmRlZEdyb3VwcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtncm91cE5hbWV9LiR7ZmllbGQubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpc09wZW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlKClcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgIGljb249e2lzT3BlbiA/IDxBbmdsZURvd25JY29uIC8+IDogPEFuZ2xlUmlnaHRJY29uIC8+fVxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwic1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPENoZWNrYm94SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICBpc0luZGV0ZXJtaW5hdGU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQuaXNFeHBhbmRhYmxlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhYWxsRmllbGRzQ2hlY2tlZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaXNBbnlPZlRoZUNoaWxkRmllbGRzQ2hlY2tlZFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBpc0NoZWNrZWQ9e2dldElzQ2hlY2tlZCgpfVxuICAgICAgICAgICAgICAgICAgICAgIGlzUmVhZE9ubHk9e2hhc0RlcGVuZGVudHMgfHwgZmllbGQuaXNSZXF1aXJlZH1cbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBgJHtwYXJlbnRLZXlzLmpvaW4oJy4nKX0uZmllbGRzWyR7aW5kZXh9XWBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoZWNrZWQgPSBlLnRhcmdldC5jaGVja2VkXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgYWxsIGNoaWxkIGZpZWxkc1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlQWxsQ2hpbGRGaWVsZHNDaGVja2VkID0gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ6IGJvb2xlYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gZ2V0KGZvcm1pay52YWx1ZXMsIHBhdGgpIGFzIEZvcm1GaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbSAmJiBpdGVtLmZpZWxkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZmllbGRzLmZvckVhY2goKGZpZWxkLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZFBhdGggPSBgJHtwYXRofS5maWVsZHNbJHtpfV1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpZWxkLmZpZWxkcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1pay5zZXRGaWVsZFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2ZpZWxkUGF0aH0uaXNDaGVja2VkYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkIHx8IGZpZWxkLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFzcyBgZmFsc2VgIHRvIGF2b2lkIHJldmFsaWRhdGluZyB0aGUgZm9ybSB3aXRoIGludGVybWVkaWF0ZSB2YWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbGxDaGlsZEZpZWxkc0NoZWNrZWQoZmllbGRQYXRoLCBjaGVja2VkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmllbGQuZmllbGRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWlrLnNldEZpZWxkVmFsdWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7cGF0aH0uaXNDaGVja2VkYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkIHx8IGZpZWxkLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFzcyBgZmFsc2VgIHRvIGF2b2lkIHJldmFsaWRhdGluZyB0aGUgZm9ybSB3aXRoIGludGVybWVkaWF0ZSB2YWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbGxDaGlsZEZpZWxkc0NoZWNrZWQocGF0aCwgY2hlY2tlZClcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge2ZpZWxkLmxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIHsoaGFzRGVwZW5kZW50cyB8fCBmaWVsZC5pc1JlcXVpcmVkKSAmJiAnIConfVxuICAgICAgICAgICAgICAgICAgICA8L0NoZWNrYm94SW5wdXQ+XG4gICAgICAgICAgICAgICAgICAgIHtpc0NoaWxkcmVuQ291bnREaXNwbGF5ZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5maWVsZHMgJiZcbiAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5maWVsZHMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogJzAgMCBhdXRvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpZWxkc0NvdW50U3RhbXAgY291bnQ9e2ZpZWxkLmZpZWxkcy5sZW5ndGh9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgICAgICAgICAgPC9GaWVsZFdyYXBwZXI+XG4gICAgICAgICAgICAgICAge2ZpZWxkLmZpZWxkcyAmJiBmaWVsZC5maWVsZHMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRXhwYW5kYWJsZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgcmVmPXtyZWdpc3RlckNvbnRlbnROb2RlfVxuICAgICAgICAgICAgICAgICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2lzT3BlbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPFNwYWNpbmdzLklubGluZSBzY2FsZT1cInhsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RmllbGRTZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkcz17ZmllbGQuZmllbGRzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhWaXNpYmxlQ2hpbGRyZW49e2ZpZWxkLm1heFZpc2libGVDaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudEtleXM9e1suLi5wYXJlbnRLZXlzLCBgZmllbGRzWyR7aW5kZXh9XWBdfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FueVNpYmxpbmdDaGVja2VkPXtpc0FueVNpYmxpbmdDaGVja2VkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc1NlYXJjaEFjdGl2ZT17aXNTZWFyY2hBY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwTmFtZT17Z3JvdXBOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkRXhwYW5kYWJsZUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db2xsYXBzaWJsZUZpZWxkV3JhcHBlcj5cbiAgICAgICAgKVxuICAgICAgfSl9XG4gICAgICB7aGFzTW9yZUZpZWxkcyAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZ1hzfTtcbiAgICAgICAgICBgfVxuICAgICAgICA+XG4gICAgICAgICAgPFRleHQuRGV0YWlsIHRvbmU9XCJ0ZXJ0aWFyeVwiIGludGxNZXNzYWdlPXttZXNzYWdlcy5sb2FkTW9yZUZpZWxkc30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvU3BhY2luZ3MuU3RhY2s+XG4gIClcbn1cbiJdfQ== */",
2036
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$2
2037
+ });
2038
+ const CollapsibleFieldWrapper = _ref => {
2039
+ let isForceExpanded = _ref.isForceExpanded,
2040
+ field = _ref.field,
2041
+ children = _ref.children;
2042
+ if (field.isExpandable) return jsxRuntime.jsx(uiKit.CollapsibleMotion, {
2043
+ isDefaultClosed: isForceExpanded ? false : !field.isExpanded,
2044
+ children: _ref2 => {
2045
+ let isOpen = _ref2.isOpen,
2046
+ toggle = _ref2.toggle,
2047
+ registerContentNode = _ref2.registerContentNode;
2048
+ return children({
2049
+ isOpen,
2050
+ toggle,
2051
+ registerContentNode
2052
+ });
2053
+ }
2054
+ }, `${isForceExpanded}`);
2055
+ return children({
2056
+ isOpen: true,
2057
+ toggle: () => {},
2058
+ registerContentNode: () => {}
2059
+ });
2060
+ };
2061
+ const FieldSection = _ref3 => {
2062
+ let fields = _ref3.fields,
2063
+ parentKeys = _ref3.parentKeys,
2064
+ formik = _ref3.formik,
2065
+ isAnySiblingChecked = _ref3.isAnySiblingChecked,
2066
+ isSearchActive = _ref3.isSearchActive,
2067
+ groupName = _ref3.groupName,
2068
+ maxVisibleChildren = _ref3.maxVisibleChildren;
2069
+ const _useExportFieldSelect = useExportFieldSelectionContext(),
2070
+ updateExpandedGroups = _useExportFieldSelect.updateExpandedGroups;
2071
+ const visibleFields = isSearchActive || !maxVisibleChildren ? fields : fields?.slice(0, maxVisibleChildren);
2072
+ const hasMoreFields = maxVisibleChildren && !isSearchActive && fields && fields.length > maxVisibleChildren;
2073
+ const visibleIndex = field => fields?.filter(f => !f.isHidden).indexOf(field) || -1;
2074
+ const shouldDisplayField = field => {
2075
+ if (field.isHidden) return false;
2076
+ if (!maxVisibleChildren) return true;
2077
+ return maxVisibleChildren && visibleIndex(field) < maxVisibleChildren;
2078
+ };
2079
+ const shouldDisplayChildrenCount = field => {
2080
+ return Boolean(field.maxVisibleChildren);
2081
+ };
2082
+ return jsxRuntime.jsxs(uiKit.Spacings.Stack, {
2083
+ scale: "s",
2084
+ children: [visibleFields?.map((field, index) => {
2085
+ const isChildrenCountDisplayed = shouldDisplayChildrenCount(field);
2086
+ const hasDependents = Boolean(field.dependentGroupNames?.length || field.dependentFieldNames?.length);
2087
+ const isAnyOfTheChildFieldsChecked = isAnyFieldChecked(field.fields || []);
2088
+ const allFieldsChecked = areAllFieldsChecked(field.fields || []);
2089
+ const getIsChecked = () => {
2090
+ const isParent = Boolean(field.fields && field.fields?.length > 0);
2091
+ if (isParent) return areAllFieldsChecked(field.fields);
2092
+ return field.isChecked;
2093
+ };
2094
+ if (!shouldDisplayField(field)) return null;
2095
+ return jsxRuntime.jsx(CollapsibleFieldWrapper, {
2096
+ isForceExpanded: isSearchActive,
2097
+ field: field,
2098
+ children: _ref4 => {
2099
+ let isOpen = _ref4.isOpen,
2100
+ toggle = _ref4.toggle,
2101
+ registerContentNode = _ref4.registerContentNode;
2102
+ return jsxRuntime.jsxs(React.Fragment, {
2103
+ children: [jsxRuntime.jsxs(FieldWrapper, {
2104
+ children: [field.isExpandable && jsxRuntime.jsx(uiKit.IconButton, {
2105
+ size: "20",
2106
+ style: {
2107
+ position: 'absolute',
2108
+ left: `calc(-1 * ${uiKit.designTokens.spacingXl})`
2109
+ },
2110
+ onClick: () => {
2111
+ if (!isSearchActive) {
2112
+ updateExpandedGroups(`${groupName}.${field.name}`, !isOpen);
2113
+ }
2114
+ toggle();
2115
+ },
2116
+ icon: isOpen ? jsxRuntime.jsx(uiKit.AngleDownIcon, {}) : jsxRuntime.jsx(uiKit.AngleRightIcon, {}),
2117
+ label: ""
2118
+ }), jsxRuntime.jsxs(uiKit.Spacings.Inline, {
2119
+ scale: "s",
2120
+ alignItems: "center",
2121
+ children: [jsxRuntime.jsxs(uiKit.CheckboxInput, {
2122
+ isIndeterminate: field.isExpandable && !allFieldsChecked && isAnyOfTheChildFieldsChecked,
2123
+ isChecked: getIsChecked(),
2124
+ isReadOnly: hasDependents || field.isRequired,
2125
+ onChange: e => {
2126
+ const path = `${parentKeys.join('.')}.fields[${index}]`;
2127
+ const checked = e.target.checked;
2128
+ // Update all child fields
2129
+ const updateAllChildFieldsChecked = (path, checked) => {
2130
+ const item = get__default["default"](_valuesInstanceProperty__default["default"](formik), path);
2131
+ if (item && item.fields) {
2132
+ var _context;
2133
+ _forEachInstanceProperty__default["default"](_context = item.fields).call(_context, (field, i) => {
2134
+ const fieldPath = `${path}.fields[${i}]`;
2135
+ if (!field.fields?.length) {
2136
+ formik.setFieldValue(`${fieldPath}.isChecked`, checked || field.isRequired,
2137
+ // pass `false` to avoid revalidating the form with intermediate values
2138
+ false);
2139
+ }
2140
+ updateAllChildFieldsChecked(fieldPath, checked);
2141
+ });
2142
+ }
2143
+ };
2144
+ if (!field.fields?.length) {
2145
+ formik.setFieldValue(`${path}.isChecked`, checked || field.isRequired,
2146
+ // pass `false` to avoid revalidating the form with intermediate values
2147
+ false);
2148
+ }
2149
+ updateAllChildFieldsChecked(path, checked);
2150
+ },
2151
+ children: [field.label, (hasDependents || field.isRequired) && ' *']
2152
+ }), isChildrenCountDisplayed && field.fields && field.fields.length > 0 && jsxRuntime.jsx("div", {
2153
+ style: {
2154
+ flex: '0 0 auto'
2155
+ },
2156
+ children: jsxRuntime.jsx(FieldsCountStamp, {
2157
+ count: field.fields.length
2158
+ })
2159
+ })]
2160
+ })]
2161
+ }), field.fields && field.fields.length > 0 && jsxRuntime.jsx(StyledExpandableContent, {
2162
+ ref: registerContentNode,
2163
+ isOpen: isOpen,
2164
+ children: isOpen && jsxRuntime.jsxs(uiKit.Spacings.Inline, {
2165
+ scale: "xl",
2166
+ children: [jsxRuntime.jsx("div", {}), jsxRuntime.jsx(FieldSection, {
2167
+ fields: field.fields,
2168
+ maxVisibleChildren: field.maxVisibleChildren,
2169
+ formik: formik,
2170
+ parentKeys: [...parentKeys, `fields[${index}]`],
2171
+ isAnySiblingChecked: isAnySiblingChecked,
2172
+ isSearchActive: isSearchActive,
2173
+ groupName: groupName
2174
+ })]
2175
+ })
2176
+ })]
2177
+ }, `${field.name}-${index}`);
2178
+ }
2179
+ }, `${field.name}.${isSearchActive}`);
2180
+ }), hasMoreFields && jsxRuntime.jsx("div", {
2181
+ css: /*#__PURE__*/react.css("padding-left:", uiKit.designTokens.spacingXs, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:FieldSection;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpZWxkLXNlY3Rpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFQa0IiLCJmaWxlIjoiZmllbGQtc2VjdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGcmFnbWVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgQW5nbGVEb3duSWNvbixcbiAgQW5nbGVSaWdodEljb24sXG4gIENoZWNrYm94SW5wdXQsXG4gIENvbGxhcHNpYmxlTW90aW9uLFxuICBJY29uQnV0dG9uLFxuICBTcGFjaW5ncyxcbiAgVGV4dCxcbiAgZGVzaWduVG9rZW5zLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC91aS1raXQnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHR5cGUgeyBGb3JtaWtQcm9wcyB9IGZyb20gJ2Zvcm1paydcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCdcbmltcG9ydCB7IHVzZUV4cG9ydEZpZWxkU2VsZWN0aW9uQ29udGV4dCB9IGZyb20gJy4vZXhwb3J0LWZpZWxkLXNlbGVjdGlvbi1wcm92aWRlcidcbmltcG9ydCB7IFN0eWxlZEV4cGFuZGFibGVDb250ZW50IH0gZnJvbSAnLi9maWVsZC1ncm91cC1zZWN0aW9uJ1xuaW1wb3J0IHsgRmllbGRzQ291bnRTdGFtcCB9IGZyb20gJy4vZmllbGRzLWNvdW50LXN0YW1wJ1xuaW1wb3J0IHR5cGUgeyBGb3JtRmllbGQsIEZvcm1WYWx1ZXMgfSBmcm9tICcuLi8uLi9AdHlwZXMnXG5pbXBvcnQgeyBhcmVBbGxGaWVsZHNDaGVja2VkLCBpc0FueUZpZWxkQ2hlY2tlZCB9IGZyb20gJy4uLy4uL0B1dGlscydcbmltcG9ydCBtZXNzYWdlcyBmcm9tICcuLi8uLi9tZXNzYWdlcydcblxuY29uc3QgRmllbGRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuXG50eXBlIENvbGxhcHNpYmxlRmllbGRXcmFwcGVyUHJvcHMgPSB7XG4gIGlzRm9yY2VFeHBhbmRlZD86IGJvb2xlYW5cbiAgZmllbGQ6IEZvcm1GaWVsZFxuICBjaGlsZHJlbjogKHByb3BzOiB7XG4gICAgaXNPcGVuOiBib29sZWFuXG4gICAgdG9nZ2xlOiAoKSA9PiB2b2lkXG4gICAgcmVnaXN0ZXJDb250ZW50Tm9kZTogYW55XG4gIH0pID0+IFJlYWN0LlJlYWN0RWxlbWVudFxufVxuY29uc3QgQ29sbGFwc2libGVGaWVsZFdyYXBwZXIgPSAoe1xuICBpc0ZvcmNlRXhwYW5kZWQsXG4gIGZpZWxkLFxuICBjaGlsZHJlbixcbn06IENvbGxhcHNpYmxlRmllbGRXcmFwcGVyUHJvcHMpID0+IHtcbiAgaWYgKGZpZWxkLmlzRXhwYW5kYWJsZSlcbiAgICByZXR1cm4gKFxuICAgICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICAgIGlzRGVmYXVsdENsb3NlZD17aXNGb3JjZUV4cGFuZGVkID8gZmFsc2UgOiAhZmllbGQuaXNFeHBhbmRlZH1cbiAgICAgICAga2V5PXtgJHtpc0ZvcmNlRXhwYW5kZWR9YH1cbiAgICAgID5cbiAgICAgICAgeyh7IGlzT3BlbiwgdG9nZ2xlLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+XG4gICAgICAgICAgY2hpbGRyZW4oe1xuICAgICAgICAgICAgaXNPcGVuLFxuICAgICAgICAgICAgdG9nZ2xlLFxuICAgICAgICAgICAgcmVnaXN0ZXJDb250ZW50Tm9kZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICA8L0NvbGxhcHNpYmxlTW90aW9uPlxuICAgIClcbiAgcmV0dXJuIGNoaWxkcmVuKHtcbiAgICBpc09wZW46IHRydWUsXG4gICAgdG9nZ2xlOiAoKSA9PiB7fSxcbiAgICByZWdpc3RlckNvbnRlbnROb2RlOiAoKSA9PiB7fSxcbiAgfSlcbn1cblxudHlwZSBGaWVsZFNlY3Rpb25Qcm9wcyA9IHtcbiAgZmllbGRzPzogRm9ybUZpZWxkW11cbiAgcGFyZW50S2V5czogc3RyaW5nW11cbiAgZm9ybWlrOiBGb3JtaWtQcm9wczxGb3JtVmFsdWVzPlxuICBpc0FueVNpYmxpbmdDaGVja2VkOiBib29sZWFuXG4gIGlzU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBncm91cE5hbWU6IHN0cmluZ1xuICBtYXhWaXNpYmxlQ2hpbGRyZW4/OiBudW1iZXJcbn1cblxuZXhwb3J0IGNvbnN0IEZpZWxkU2VjdGlvbiA9ICh7XG4gIGZpZWxkcyxcbiAgcGFyZW50S2V5cyxcbiAgZm9ybWlrLFxuICBpc0FueVNpYmxpbmdDaGVja2VkLFxuICBpc1NlYXJjaEFjdGl2ZSxcbiAgZ3JvdXBOYW1lLFxuICBtYXhWaXNpYmxlQ2hpbGRyZW4sXG59OiBGaWVsZFNlY3Rpb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IHVwZGF0ZUV4cGFuZGVkR3JvdXBzIH0gPSB1c2VFeHBvcnRGaWVsZFNlbGVjdGlvbkNvbnRleHQoKVxuXG4gIGNvbnN0IHZpc2libGVGaWVsZHMgPVxuICAgIGlzU2VhcmNoQWN0aXZlIHx8ICFtYXhWaXNpYmxlQ2hpbGRyZW5cbiAgICAgID8gZmllbGRzXG4gICAgICA6IGZpZWxkcz8uc2xpY2UoMCwgbWF4VmlzaWJsZUNoaWxkcmVuKVxuXG4gIGNvbnN0IGhhc01vcmVGaWVsZHMgPVxuICAgIG1heFZpc2libGVDaGlsZHJlbiAmJlxuICAgICFpc1NlYXJjaEFjdGl2ZSAmJlxuICAgIGZpZWxkcyAmJlxuICAgIGZpZWxkcy5sZW5ndGggPiBtYXhWaXNpYmxlQ2hpbGRyZW5cblxuICBjb25zdCB2aXNpYmxlSW5kZXggPSAoZmllbGQ6IEZvcm1GaWVsZCkgPT5cbiAgICBmaWVsZHM/LmZpbHRlcigoZikgPT4gIWYuaXNIaWRkZW4pLmluZGV4T2YoZmllbGQpIHx8IC0xXG5cbiAgY29uc3Qgc2hvdWxkRGlzcGxheUZpZWxkID0gKGZpZWxkOiBGb3JtRmllbGQpID0+IHtcbiAgICBpZiAoZmllbGQuaXNIaWRkZW4pIHJldHVybiBmYWxzZVxuICAgIGlmICghbWF4VmlzaWJsZUNoaWxkcmVuKSByZXR1cm4gdHJ1ZVxuICAgIHJldHVybiBtYXhWaXNpYmxlQ2hpbGRyZW4gJiYgdmlzaWJsZUluZGV4KGZpZWxkKSA8IG1heFZpc2libGVDaGlsZHJlblxuICB9XG5cbiAgY29uc3Qgc2hvdWxkRGlzcGxheUNoaWxkcmVuQ291bnQgPSAoZmllbGQ6IEZvcm1GaWVsZCkgPT4ge1xuICAgIHJldHVybiBCb29sZWFuKGZpZWxkLm1heFZpc2libGVDaGlsZHJlbilcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNwYWNpbmdzLlN0YWNrIHNjYWxlPVwic1wiPlxuICAgICAge3Zpc2libGVGaWVsZHM/Lm1hcCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IGlzQ2hpbGRyZW5Db3VudERpc3BsYXllZCA9IHNob3VsZERpc3BsYXlDaGlsZHJlbkNvdW50KGZpZWxkKVxuICAgICAgICBjb25zdCBoYXNEZXBlbmRlbnRzID0gQm9vbGVhbihcbiAgICAgICAgICBmaWVsZC5kZXBlbmRlbnRHcm91cE5hbWVzPy5sZW5ndGggfHwgZmllbGQuZGVwZW5kZW50RmllbGROYW1lcz8ubGVuZ3RoXG4gICAgICAgIClcbiAgICAgICAgY29uc3QgaXNBbnlPZlRoZUNoaWxkRmllbGRzQ2hlY2tlZCA9IGlzQW55RmllbGRDaGVja2VkKFxuICAgICAgICAgIGZpZWxkLmZpZWxkcyB8fCBbXVxuICAgICAgICApXG4gICAgICAgIGNvbnN0IGFsbEZpZWxkc0NoZWNrZWQgPSBhcmVBbGxGaWVsZHNDaGVja2VkKGZpZWxkLmZpZWxkcyB8fCBbXSlcbiAgICAgICAgY29uc3QgZ2V0SXNDaGVja2VkID0gKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzUGFyZW50ID0gQm9vbGVhbihmaWVsZC5maWVsZHMgJiYgZmllbGQuZmllbGRzPy5sZW5ndGggPiAwKVxuXG4gICAgICAgICAgaWYgKGlzUGFyZW50KSByZXR1cm4gYXJlQWxsRmllbGRzQ2hlY2tlZChmaWVsZC5maWVsZHMhKVxuXG4gICAgICAgICAgcmV0dXJuIGZpZWxkLmlzQ2hlY2tlZFxuICAgICAgICB9XG4gICAgICAgIGlmICghc2hvdWxkRGlzcGxheUZpZWxkKGZpZWxkKSkgcmV0dXJuIG51bGxcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8Q29sbGFwc2libGVGaWVsZFdyYXBwZXJcbiAgICAgICAgICAgIGlzRm9yY2VFeHBhbmRlZD17aXNTZWFyY2hBY3RpdmV9XG4gICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICBrZXk9e2Ake2ZpZWxkLm5hbWV9LiR7aXNTZWFyY2hBY3RpdmV9YH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIHJlZ2lzdGVyQ29udGVudE5vZGUgfSkgPT4gKFxuICAgICAgICAgICAgICA8RnJhZ21lbnQga2V5PXtgJHtmaWVsZC5uYW1lfS0ke2luZGV4fWB9PlxuICAgICAgICAgICAgICAgIDxGaWVsZFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICB7ZmllbGQuaXNFeHBhbmRhYmxlICYmIChcbiAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBzaXplPVwiMjBcIlxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGBjYWxjKC0xICogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZ1hsfSlgLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1NlYXJjaEFjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVFeHBhbmRlZEdyb3VwcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtncm91cE5hbWV9LiR7ZmllbGQubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpc09wZW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlKClcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgIGljb249e2lzT3BlbiA/IDxBbmdsZURvd25JY29uIC8+IDogPEFuZ2xlUmlnaHRJY29uIC8+fVxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwic1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPENoZWNrYm94SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICBpc0luZGV0ZXJtaW5hdGU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQuaXNFeHBhbmRhYmxlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhYWxsRmllbGRzQ2hlY2tlZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaXNBbnlPZlRoZUNoaWxkRmllbGRzQ2hlY2tlZFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBpc0NoZWNrZWQ9e2dldElzQ2hlY2tlZCgpfVxuICAgICAgICAgICAgICAgICAgICAgIGlzUmVhZE9ubHk9e2hhc0RlcGVuZGVudHMgfHwgZmllbGQuaXNSZXF1aXJlZH1cbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBgJHtwYXJlbnRLZXlzLmpvaW4oJy4nKX0uZmllbGRzWyR7aW5kZXh9XWBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoZWNrZWQgPSBlLnRhcmdldC5jaGVja2VkXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgYWxsIGNoaWxkIGZpZWxkc1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlQWxsQ2hpbGRGaWVsZHNDaGVja2VkID0gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ6IGJvb2xlYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gZ2V0KGZvcm1pay52YWx1ZXMsIHBhdGgpIGFzIEZvcm1GaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbSAmJiBpdGVtLmZpZWxkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZmllbGRzLmZvckVhY2goKGZpZWxkLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZFBhdGggPSBgJHtwYXRofS5maWVsZHNbJHtpfV1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZpZWxkLmZpZWxkcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1pay5zZXRGaWVsZFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2ZpZWxkUGF0aH0uaXNDaGVja2VkYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkIHx8IGZpZWxkLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFzcyBgZmFsc2VgIHRvIGF2b2lkIHJldmFsaWRhdGluZyB0aGUgZm9ybSB3aXRoIGludGVybWVkaWF0ZSB2YWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbGxDaGlsZEZpZWxkc0NoZWNrZWQoZmllbGRQYXRoLCBjaGVja2VkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmllbGQuZmllbGRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWlrLnNldEZpZWxkVmFsdWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7cGF0aH0uaXNDaGVja2VkYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkIHx8IGZpZWxkLmlzUmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFzcyBgZmFsc2VgIHRvIGF2b2lkIHJldmFsaWRhdGluZyB0aGUgZm9ybSB3aXRoIGludGVybWVkaWF0ZSB2YWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVBbGxDaGlsZEZpZWxkc0NoZWNrZWQocGF0aCwgY2hlY2tlZClcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge2ZpZWxkLmxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIHsoaGFzRGVwZW5kZW50cyB8fCBmaWVsZC5pc1JlcXVpcmVkKSAmJiAnIConfVxuICAgICAgICAgICAgICAgICAgICA8L0NoZWNrYm94SW5wdXQ+XG4gICAgICAgICAgICAgICAgICAgIHtpc0NoaWxkcmVuQ291bnREaXNwbGF5ZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5maWVsZHMgJiZcbiAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5maWVsZHMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogJzAgMCBhdXRvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpZWxkc0NvdW50U3RhbXAgY291bnQ9e2ZpZWxkLmZpZWxkcy5sZW5ndGh9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgICAgICAgICAgPC9GaWVsZFdyYXBwZXI+XG4gICAgICAgICAgICAgICAge2ZpZWxkLmZpZWxkcyAmJiBmaWVsZC5maWVsZHMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRXhwYW5kYWJsZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgcmVmPXtyZWdpc3RlckNvbnRlbnROb2RlfVxuICAgICAgICAgICAgICAgICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2lzT3BlbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPFNwYWNpbmdzLklubGluZSBzY2FsZT1cInhsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RmllbGRTZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkcz17ZmllbGQuZmllbGRzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhWaXNpYmxlQ2hpbGRyZW49e2ZpZWxkLm1heFZpc2libGVDaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudEtleXM9e1suLi5wYXJlbnRLZXlzLCBgZmllbGRzWyR7aW5kZXh9XWBdfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FueVNpYmxpbmdDaGVja2VkPXtpc0FueVNpYmxpbmdDaGVja2VkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc1NlYXJjaEFjdGl2ZT17aXNTZWFyY2hBY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwTmFtZT17Z3JvdXBOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkRXhwYW5kYWJsZUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db2xsYXBzaWJsZUZpZWxkV3JhcHBlcj5cbiAgICAgICAgKVxuICAgICAgfSl9XG4gICAgICB7aGFzTW9yZUZpZWxkcyAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZ1hzfTtcbiAgICAgICAgICBgfVxuICAgICAgICA+XG4gICAgICAgICAgPFRleHQuRGV0YWlsIHRvbmU9XCJ0ZXJ0aWFyeVwiIGludGxNZXNzYWdlPXttZXNzYWdlcy5sb2FkTW9yZUZpZWxkc30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvU3BhY2luZ3MuU3RhY2s+XG4gIClcbn1cbiJdfQ== */"),
2182
+ children: jsxRuntime.jsx(uiKit.Text.Detail, {
2183
+ tone: "tertiary",
2184
+ intlMessage: messages.loadMoreFields
2185
+ })
2186
+ })]
2187
+ });
2188
+ };
2189
+
2190
+ const SelectedGroupFieldsCountStamp = _ref => {
2191
+ let group = _ref.group;
2192
+ const _useIntl = reactIntl.useIntl(),
2193
+ formatMessage = _useIntl.formatMessage;
2194
+ return jsxRuntime.jsx(uiKit.Card, {
2195
+ type: "flat",
2196
+ insetScale: "m",
2197
+ children: jsxRuntime.jsx(uiKit.Spacings.Inline, {
2198
+ justifyContent: "flex-end",
2199
+ children: jsxRuntime.jsx(uiKit.Stamp, {
2200
+ tone: "secondary",
2201
+ isCondensed: true,
2202
+ label: formatMessage(messages.selected, {
2203
+ total: getGroupSelectedFieldCount(group)
2204
+ })
2205
+ })
2206
+ })
2207
+ });
2208
+ };
2209
+
2210
+ function ownKeys$6(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; }
2211
+ 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__default["default"](_context = ownKeys$6(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$6(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
2212
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$1() { 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)."; }
2213
+ const StyledGroupCard = /*#__PURE__*/_styled__default["default"](uiKit.Card, process.env.NODE_ENV === "production" ? {
2214
+ target: "e1igkh7t2"
2215
+ } : {
2216
+ target: "e1igkh7t2",
2217
+ label: "StyledGroupCard"
2218
+ })("height:100%;border-radius:0;", props => props.showTopBorder && /*#__PURE__*/react.css("border-top:", uiKit.designTokens.borderWidth1, " solid ", uiKit.designTokens.colorNeutral90, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:StyledGroupCard;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpZWxkLWdyb3VwLXNlY3Rpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCTyIsImZpbGUiOiJmaWVsZC1ncm91cC1zZWN0aW9uLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIEFuZ2xlRG93bkljb24sXG4gIEFuZ2xlUmlnaHRJY29uLFxuICBDYXJkLFxuICBDaGVja2JveElucHV0LFxuICBDb2xsYXBzaWJsZU1vdGlvbixcbiAgR3JpZCxcbiAgSWNvbkJ1dHRvbixcbiAgU3BhY2luZ3MsXG4gIGRlc2lnblRva2Vucyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvdWkta2l0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB0eXBlIHsgRm9ybWlrUHJvcHMgfSBmcm9tICdmb3JtaWsnXG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnXG5pbXBvcnQgeyB1c2VFeHBvcnRGaWVsZFNlbGVjdGlvbkNvbnRleHQgfSBmcm9tICcuL2V4cG9ydC1maWVsZC1zZWxlY3Rpb24tcHJvdmlkZXInXG5pbXBvcnQgeyBGaWVsZFNlY3Rpb24gfSBmcm9tICcuL2ZpZWxkLXNlY3Rpb24nXG5pbXBvcnQgeyBTZWxlY3RlZEdyb3VwRmllbGRzQ291bnRTdGFtcCB9IGZyb20gJy4vc2VsZWN0ZWQtZ3JvdXAtZmllbGRzLWNvdW50LXN0YW1wJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgRm9ybUdyb3VwLCBGb3JtVmFsdWVzIH0gZnJvbSAnLi4vLi4vQHR5cGVzJ1xuaW1wb3J0IHsgYXJlQWxsRmllbGRzQ2hlY2tlZCwgaXNBbnlGaWVsZENoZWNrZWQgfSBmcm9tICcuLi8uLi9AdXRpbHMnXG5cbmNvbnN0IFN0eWxlZEdyb3VwQ2FyZCA9IHN0eWxlZChDYXJkKTx7IHNob3dUb3BCb3JkZXI/OiBib29sZWFuIH0+YFxuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLnNob3dUb3BCb3JkZXIgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXItdG9wOiAke2Rlc2lnblRva2Vucy5ib3JkZXJXaWR0aDF9IHNvbGlkXG4gICAgICAgICR7ZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDkwfTtcbiAgICBgfVxuYFxuY29uc3QgU3R5bGVkRmllbGRzQ2FyZCA9IHN0eWxlZChDYXJkKTx7IHNob3dUb3BCb3JkZXI/OiBib29sZWFuIH0+YFxuICBib3JkZXItcmFkaXVzOiAwO1xuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5zaG93VG9wQm9yZGVyICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLXRvcDogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyV2lkdGgxfSBzb2xpZFxuICAgICAgICAke2Rlc2lnblRva2Vucy5jb2xvck5ldXRyYWw5MH07XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEV4cGFuZGFibGVDb250ZW50ID0gc3R5bGVkLmRpdjx7XG4gIGlzT3Blbj86IGJvb2xlYW5cbiAgc2hvd1RvcEJvcmRlcj86IGJvb2xlYW5cbn0+YFxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuaXNPcGVuICYmXG4gICAgY3NzYFxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBgfVxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuaXNPcGVuICYmXG4gICAgcHJvcHMuc2hvd1RvcEJvcmRlciAmJlxuICAgIGNzc2BcbiAgICAgIGJvcmRlci10b3A6ICR7ZGVzaWduVG9rZW5zLmJvcmRlcldpZHRoMX0gc29saWRcbiAgICAgICAgJHtkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsOTB9O1xuICAgIGB9XG5gXG5cbnR5cGUgRmllbGRHcm91cFNlY3Rpb25Qcm9wcyA9IHtcbiAgaW5kZXg6IG51bWJlclxuICBncm91cDogRm9ybUdyb3VwXG4gIGZvcm1pazogRm9ybWlrUHJvcHM8Rm9ybVZhbHVlcz5cbiAgaXNTZWFyY2hBY3RpdmU/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBGaWVsZEdyb3VwU2VjdGlvbiA9ICh7XG4gIGdyb3VwLFxuICBpbmRleCxcbiAgZm9ybWlrLFxuICBpc1NlYXJjaEFjdGl2ZSxcbn06IEZpZWxkR3JvdXBTZWN0aW9uUHJvcHMpID0+IHtcbiAgY29uc3QgYWxsRmllbGRzQ2hlY2tlZCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXJlQWxsRmllbGRzQ2hlY2tlZChncm91cC5maWVsZHMpLFxuICAgIFtncm91cC5maWVsZHNdXG4gIClcblxuICBjb25zdCBpc0FueUZpZWxkSW5Hcm91cENoZWNrZWQgPSB1c2VNZW1vKFxuICAgICgpID0+IGlzQW55RmllbGRDaGVja2VkKGdyb3VwLmZpZWxkcyksXG4gICAgW2dyb3VwLmZpZWxkc11cbiAgKVxuXG4gIGNvbnN0IHsgdXBkYXRlRXhwYW5kZWRHcm91cHMgfSA9IHVzZUV4cG9ydEZpZWxkU2VsZWN0aW9uQ29udGV4dCgpXG5cbiAgY29uc3QgcGFyZW50S2V5ID0gYGdyb3Vwc1ske2luZGV4fV1gXG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlQWxsRmllbGRzID0gKGUpID0+IHtcbiAgICBjb25zdCBpdGVtID0gZ2V0KGZvcm1pay52YWx1ZXMsIHBhcmVudEtleSlcbiAgICBmdW5jdGlvbiB1cGRhdGVBbGxGaWVsZHMoZmllbGRzOiBGaWVsZFtdLCBjaGVja2VkOiBib29sZWFuKSB7XG4gICAgICByZXR1cm4gZmllbGRzLm1hcCgoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICAgIGZpZWxkczogdXBkYXRlQWxsRmllbGRzKGZpZWxkLmZpZWxkcywgY2hlY2tlZCksXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmaWVsZC5pc1JlcXVpcmVkKSByZXR1cm4gZmllbGRcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICBpc0NoZWNrZWQ6IGNoZWNrZWQsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgZm9ybWlrLnNldEZpZWxkVmFsdWUocGFyZW50S2V5LCB7XG4gICAgICAuLi5pdGVtLFxuICAgICAgZmllbGRzOiB1cGRhdGVBbGxGaWVsZHMoaXRlbS5maWVsZHMsIGUudGFyZ2V0LmNoZWNrZWQpLFxuICAgIH0pXG4gIH1cblxuICBpZiAoZ3JvdXAuaXNIaWRkZW4pIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8Q29sbGFwc2libGVNb3Rpb25cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17aXNTZWFyY2hBY3RpdmUgPyBmYWxzZSA6ICFncm91cC5pc0V4cGFuZGVkfVxuICAgICAgLy8gUmVzZXQgY29sbGFwc2Ugc3RhdGUgd2hlbiBzZWFyY2ggaW5wdXQgYmVjb21lcyBhY3RpdmUvaW5hY3RpdmVcbiAgICAgIGtleT17YCR7aXNTZWFyY2hBY3RpdmV9YH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIHJlZ2lzdGVyQ29udGVudE5vZGUgfSkgPT4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxHcmlkLkl0ZW0+XG4gICAgICAgICAgICA8U3R5bGVkR3JvdXBDYXJkXG4gICAgICAgICAgICAgIHR5cGU9XCJmbGF0XCJcbiAgICAgICAgICAgICAgaW5zZXRTY2FsZT1cIm1cIlxuICAgICAgICAgICAgICBzaG93VG9wQm9yZGVyPXtpbmRleCA+IDB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJzXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICBzaXplPVwiMjBcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzU2VhcmNoQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgdXBkYXRlRXhwYW5kZWRHcm91cHMoZ3JvdXAuZ3JvdXBOYW1lLCAhaXNPcGVuKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRvZ2dsZSgpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgaWNvbj17aXNPcGVuID8gPEFuZ2xlRG93bkljb24gLz4gOiA8QW5nbGVSaWdodEljb24gLz59XG4gICAgICAgICAgICAgICAgICBsYWJlbD1cIlwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Q2hlY2tib3hJbnB1dFxuICAgICAgICAgICAgICAgICAgaXNJbmRldGVybWluYXRlPXtcbiAgICAgICAgICAgICAgICAgICAgIWFsbEZpZWxkc0NoZWNrZWQgJiYgaXNBbnlGaWVsZEluR3JvdXBDaGVja2VkXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBpc0NoZWNrZWQ9e2FsbEZpZWxkc0NoZWNrZWR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlQWxsRmllbGRzfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtncm91cC5ncm91cExhYmVsfVxuICAgICAgICAgICAgICAgIDwvQ2hlY2tib3hJbnB1dD5cbiAgICAgICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgICAgICA8L1N0eWxlZEdyb3VwQ2FyZD5cbiAgICAgICAgICA8L0dyaWQuSXRlbT5cbiAgICAgICAgICA8R3JpZC5JdGVtPlxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPFN0eWxlZEV4cGFuZGFibGVDb250ZW50XG4gICAgICAgICAgICAgICAgcmVmPXtyZWdpc3RlckNvbnRlbnROb2RlfVxuICAgICAgICAgICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICAgICAgICAgIHNob3dUb3BCb3JkZXI9e2luZGV4ID4gMH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRGaWVsZHNDYXJkXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICBpbnNldFNjYWxlPVwibVwiXG4gICAgICAgICAgICAgICAgICBzaG93VG9wQm9yZGVyPXt0cnVlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtpc09wZW4gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8RmllbGRTZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgZmllbGRzPXtncm91cC5maWVsZHN9XG4gICAgICAgICAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgICAgICAgICAgcGFyZW50S2V5cz17W3BhcmVudEtleV19XG4gICAgICAgICAgICAgICAgICAgICAgaXNBbnlTaWJsaW5nQ2hlY2tlZD17aXNBbnlGaWVsZEluR3JvdXBDaGVja2VkfVxuICAgICAgICAgICAgICAgICAgICAgIGdyb3VwTmFtZT17Z3JvdXAuZ3JvdXBOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VhcmNoQWN0aXZlPXtpc1NlYXJjaEFjdGl2ZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRGaWVsZHNDYXJkPlxuICAgICAgICAgICAgICA8L1N0eWxlZEV4cGFuZGFibGVDb250ZW50PlxuICAgICAgICAgICAgICB7IWlzT3BlbiAmJiA8U2VsZWN0ZWRHcm91cEZpZWxkc0NvdW50U3RhbXAgZ3JvdXA9e2dyb3VwfSAvPn1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgIDwvR3JpZC5JdGVtPlxuICAgICAgICA8Lz5cbiAgICAgICl9XG4gICAgPC9Db2xsYXBzaWJsZU1vdGlvbj5cbiAgKVxufVxuIl19 */"), ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpZWxkLWdyb3VwLXNlY3Rpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCaUUiLCJmaWxlIjoiZmllbGQtZ3JvdXAtc2VjdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICBBbmdsZURvd25JY29uLFxuICBBbmdsZVJpZ2h0SWNvbixcbiAgQ2FyZCxcbiAgQ2hlY2tib3hJbnB1dCxcbiAgQ29sbGFwc2libGVNb3Rpb24sXG4gIEdyaWQsXG4gIEljb25CdXR0b24sXG4gIFNwYWNpbmdzLFxuICBkZXNpZ25Ub2tlbnMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3VpLWtpdCdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IEZvcm1pa1Byb3BzIH0gZnJvbSAnZm9ybWlrJ1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0J1xuaW1wb3J0IHsgdXNlRXhwb3J0RmllbGRTZWxlY3Rpb25Db250ZXh0IH0gZnJvbSAnLi9leHBvcnQtZmllbGQtc2VsZWN0aW9uLXByb3ZpZGVyJ1xuaW1wb3J0IHsgRmllbGRTZWN0aW9uIH0gZnJvbSAnLi9maWVsZC1zZWN0aW9uJ1xuaW1wb3J0IHsgU2VsZWN0ZWRHcm91cEZpZWxkc0NvdW50U3RhbXAgfSBmcm9tICcuL3NlbGVjdGVkLWdyb3VwLWZpZWxkcy1jb3VudC1zdGFtcCdcbmltcG9ydCB0eXBlIHsgRmllbGQsIEZvcm1Hcm91cCwgRm9ybVZhbHVlcyB9IGZyb20gJy4uLy4uL0B0eXBlcydcbmltcG9ydCB7IGFyZUFsbEZpZWxkc0NoZWNrZWQsIGlzQW55RmllbGRDaGVja2VkIH0gZnJvbSAnLi4vLi4vQHV0aWxzJ1xuXG5jb25zdCBTdHlsZWRHcm91cENhcmQgPSBzdHlsZWQoQ2FyZCk8eyBzaG93VG9wQm9yZGVyPzogYm9vbGVhbiB9PmBcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5zaG93VG9wQm9yZGVyICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLXRvcDogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyV2lkdGgxfSBzb2xpZFxuICAgICAgICAke2Rlc2lnblRva2Vucy5jb2xvck5ldXRyYWw5MH07XG4gICAgYH1cbmBcbmNvbnN0IFN0eWxlZEZpZWxkc0NhcmQgPSBzdHlsZWQoQ2FyZCk8eyBzaG93VG9wQm9yZGVyPzogYm9vbGVhbiB9PmBcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuc2hvd1RvcEJvcmRlciAmJlxuICAgIGNzc2BcbiAgICAgIGJvcmRlci10b3A6ICR7ZGVzaWduVG9rZW5zLmJvcmRlcldpZHRoMX0gc29saWRcbiAgICAgICAgJHtkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsOTB9O1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRFeHBhbmRhYmxlQ29udGVudCA9IHN0eWxlZC5kaXY8e1xuICBpc09wZW4/OiBib29sZWFuXG4gIHNob3dUb3BCb3JkZXI/OiBib29sZWFuXG59PmBcbiAgJHsocHJvcHMpID0+XG4gICAgIXByb3BzLmlzT3BlbiAmJlxuICAgIGNzc2BcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgYH1cbiAgJHsocHJvcHMpID0+XG4gICAgIXByb3BzLmlzT3BlbiAmJlxuICAgIHByb3BzLnNob3dUb3BCb3JkZXIgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXItdG9wOiAke2Rlc2lnblRva2Vucy5ib3JkZXJXaWR0aDF9IHNvbGlkXG4gICAgICAgICR7ZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDkwfTtcbiAgICBgfVxuYFxuXG50eXBlIEZpZWxkR3JvdXBTZWN0aW9uUHJvcHMgPSB7XG4gIGluZGV4OiBudW1iZXJcbiAgZ3JvdXA6IEZvcm1Hcm91cFxuICBmb3JtaWs6IEZvcm1pa1Byb3BzPEZvcm1WYWx1ZXM+XG4gIGlzU2VhcmNoQWN0aXZlPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgRmllbGRHcm91cFNlY3Rpb24gPSAoe1xuICBncm91cCxcbiAgaW5kZXgsXG4gIGZvcm1payxcbiAgaXNTZWFyY2hBY3RpdmUsXG59OiBGaWVsZEdyb3VwU2VjdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IGFsbEZpZWxkc0NoZWNrZWQgPSB1c2VNZW1vKFxuICAgICgpID0+IGFyZUFsbEZpZWxkc0NoZWNrZWQoZ3JvdXAuZmllbGRzKSxcbiAgICBbZ3JvdXAuZmllbGRzXVxuICApXG5cbiAgY29uc3QgaXNBbnlGaWVsZEluR3JvdXBDaGVja2VkID0gdXNlTWVtbyhcbiAgICAoKSA9PiBpc0FueUZpZWxkQ2hlY2tlZChncm91cC5maWVsZHMpLFxuICAgIFtncm91cC5maWVsZHNdXG4gIClcblxuICBjb25zdCB7IHVwZGF0ZUV4cGFuZGVkR3JvdXBzIH0gPSB1c2VFeHBvcnRGaWVsZFNlbGVjdGlvbkNvbnRleHQoKVxuXG4gIGNvbnN0IHBhcmVudEtleSA9IGBncm91cHNbJHtpbmRleH1dYFxuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZUFsbEZpZWxkcyA9IChlKSA9PiB7XG4gICAgY29uc3QgaXRlbSA9IGdldChmb3JtaWsudmFsdWVzLCBwYXJlbnRLZXkpXG4gICAgZnVuY3Rpb24gdXBkYXRlQWxsRmllbGRzKGZpZWxkczogRmllbGRbXSwgY2hlY2tlZDogYm9vbGVhbikge1xuICAgICAgcmV0dXJuIGZpZWxkcy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICAgIGlmIChmaWVsZC5maWVsZHMpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgICBmaWVsZHM6IHVwZGF0ZUFsbEZpZWxkcyhmaWVsZC5maWVsZHMsIGNoZWNrZWQpLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZmllbGQuaXNSZXF1aXJlZCkgcmV0dXJuIGZpZWxkXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgaXNDaGVja2VkOiBjaGVja2VkLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGZvcm1pay5zZXRGaWVsZFZhbHVlKHBhcmVudEtleSwge1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGZpZWxkczogdXBkYXRlQWxsRmllbGRzKGl0ZW0uZmllbGRzLCBlLnRhcmdldC5jaGVja2VkKSxcbiAgICB9KVxuICB9XG5cbiAgaWYgKGdyb3VwLmlzSGlkZGVuKSByZXR1cm4gbnVsbFxuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9e2lzU2VhcmNoQWN0aXZlID8gZmFsc2UgOiAhZ3JvdXAuaXNFeHBhbmRlZH1cbiAgICAgIC8vIFJlc2V0IGNvbGxhcHNlIHN0YXRlIHdoZW4gc2VhcmNoIGlucHV0IGJlY29tZXMgYWN0aXZlL2luYWN0aXZlXG4gICAgICBrZXk9e2Ake2lzU2VhcmNoQWN0aXZlfWB9XG4gICAgPlxuICAgICAgeyh7IGlzT3BlbiwgdG9nZ2xlLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IChcbiAgICAgICAgPD5cbiAgICAgICAgICA8R3JpZC5JdGVtPlxuICAgICAgICAgICAgPFN0eWxlZEdyb3VwQ2FyZFxuICAgICAgICAgICAgICB0eXBlPVwiZmxhdFwiXG4gICAgICAgICAgICAgIGluc2V0U2NhbGU9XCJtXCJcbiAgICAgICAgICAgICAgc2hvd1RvcEJvcmRlcj17aW5kZXggPiAwfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwic1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgc2l6ZT1cIjIwXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1NlYXJjaEFjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZUV4cGFuZGVkR3JvdXBzKGdyb3VwLmdyb3VwTmFtZSwgIWlzT3BlbilcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGljb249e2lzT3BlbiA/IDxBbmdsZURvd25JY29uIC8+IDogPEFuZ2xlUmlnaHRJY29uIC8+fVxuICAgICAgICAgICAgICAgICAgbGFiZWw9XCJcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPENoZWNrYm94SW5wdXRcbiAgICAgICAgICAgICAgICAgIGlzSW5kZXRlcm1pbmF0ZT17XG4gICAgICAgICAgICAgICAgICAgICFhbGxGaWVsZHNDaGVja2VkICYmIGlzQW55RmllbGRJbkdyb3VwQ2hlY2tlZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgaXNDaGVja2VkPXthbGxGaWVsZHNDaGVja2VkfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZUFsbEZpZWxkc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7Z3JvdXAuZ3JvdXBMYWJlbH1cbiAgICAgICAgICAgICAgICA8L0NoZWNrYm94SW5wdXQ+XG4gICAgICAgICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgICAgICAgPC9TdHlsZWRHcm91cENhcmQ+XG4gICAgICAgICAgPC9HcmlkLkl0ZW0+XG4gICAgICAgICAgPEdyaWQuSXRlbT5cbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxTdHlsZWRFeHBhbmRhYmxlQ29udGVudFxuICAgICAgICAgICAgICAgIHJlZj17cmVnaXN0ZXJDb250ZW50Tm9kZX1cbiAgICAgICAgICAgICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgICAgICAgICAgICBzaG93VG9wQm9yZGVyPXtpbmRleCA+IDB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U3R5bGVkRmllbGRzQ2FyZFxuICAgICAgICAgICAgICAgICAgdHlwZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgICAgaW5zZXRTY2FsZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgc2hvd1RvcEJvcmRlcj17dHJ1ZX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7aXNPcGVuICYmIChcbiAgICAgICAgICAgICAgICAgICAgPEZpZWxkU2VjdGlvblxuICAgICAgICAgICAgICAgICAgICAgIGZpZWxkcz17Z3JvdXAuZmllbGRzfVxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1paz17Zm9ybWlrfVxuICAgICAgICAgICAgICAgICAgICAgIHBhcmVudEtleXM9e1twYXJlbnRLZXldfVxuICAgICAgICAgICAgICAgICAgICAgIGlzQW55U2libGluZ0NoZWNrZWQ9e2lzQW55RmllbGRJbkdyb3VwQ2hlY2tlZH1cbiAgICAgICAgICAgICAgICAgICAgICBncm91cE5hbWU9e2dyb3VwLmdyb3VwTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NlYXJjaEFjdGl2ZT17aXNTZWFyY2hBY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkRmllbGRzQ2FyZD5cbiAgICAgICAgICAgICAgPC9TdHlsZWRFeHBhbmRhYmxlQ29udGVudD5cbiAgICAgICAgICAgICAgeyFpc09wZW4gJiYgPFNlbGVjdGVkR3JvdXBGaWVsZHNDb3VudFN0YW1wIGdyb3VwPXtncm91cH0gLz59XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICA8L0dyaWQuSXRlbT5cbiAgICAgICAgPC8+XG4gICAgICApfVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gIClcbn1cbiJdfQ== */"));
2219
+ const StyledFieldsCard = /*#__PURE__*/_styled__default["default"](uiKit.Card, process.env.NODE_ENV === "production" ? {
2220
+ target: "e1igkh7t1"
2221
+ } : {
2222
+ target: "e1igkh7t1",
2223
+ label: "StyledFieldsCard"
2224
+ })("border-radius:0;", props => props.showTopBorder && /*#__PURE__*/react.css("border-top:", uiKit.designTokens.borderWidth1, " solid ", uiKit.designTokens.colorNeutral90, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:StyledFieldsCard;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpZWxkLWdyb3VwLXNlY3Rpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9DTyIsImZpbGUiOiJmaWVsZC1ncm91cC1zZWN0aW9uLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIEFuZ2xlRG93bkljb24sXG4gIEFuZ2xlUmlnaHRJY29uLFxuICBDYXJkLFxuICBDaGVja2JveElucHV0LFxuICBDb2xsYXBzaWJsZU1vdGlvbixcbiAgR3JpZCxcbiAgSWNvbkJ1dHRvbixcbiAgU3BhY2luZ3MsXG4gIGRlc2lnblRva2Vucyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvdWkta2l0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB0eXBlIHsgRm9ybWlrUHJvcHMgfSBmcm9tICdmb3JtaWsnXG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnXG5pbXBvcnQgeyB1c2VFeHBvcnRGaWVsZFNlbGVjdGlvbkNvbnRleHQgfSBmcm9tICcuL2V4cG9ydC1maWVsZC1zZWxlY3Rpb24tcHJvdmlkZXInXG5pbXBvcnQgeyBGaWVsZFNlY3Rpb24gfSBmcm9tICcuL2ZpZWxkLXNlY3Rpb24nXG5pbXBvcnQgeyBTZWxlY3RlZEdyb3VwRmllbGRzQ291bnRTdGFtcCB9IGZyb20gJy4vc2VsZWN0ZWQtZ3JvdXAtZmllbGRzLWNvdW50LXN0YW1wJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgRm9ybUdyb3VwLCBGb3JtVmFsdWVzIH0gZnJvbSAnLi4vLi4vQHR5cGVzJ1xuaW1wb3J0IHsgYXJlQWxsRmllbGRzQ2hlY2tlZCwgaXNBbnlGaWVsZENoZWNrZWQgfSBmcm9tICcuLi8uLi9AdXRpbHMnXG5cbmNvbnN0IFN0eWxlZEdyb3VwQ2FyZCA9IHN0eWxlZChDYXJkKTx7IHNob3dUb3BCb3JkZXI/OiBib29sZWFuIH0+YFxuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLnNob3dUb3BCb3JkZXIgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXItdG9wOiAke2Rlc2lnblRva2Vucy5ib3JkZXJXaWR0aDF9IHNvbGlkXG4gICAgICAgICR7ZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDkwfTtcbiAgICBgfVxuYFxuY29uc3QgU3R5bGVkRmllbGRzQ2FyZCA9IHN0eWxlZChDYXJkKTx7IHNob3dUb3BCb3JkZXI/OiBib29sZWFuIH0+YFxuICBib3JkZXItcmFkaXVzOiAwO1xuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5zaG93VG9wQm9yZGVyICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLXRvcDogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyV2lkdGgxfSBzb2xpZFxuICAgICAgICAke2Rlc2lnblRva2Vucy5jb2xvck5ldXRyYWw5MH07XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEV4cGFuZGFibGVDb250ZW50ID0gc3R5bGVkLmRpdjx7XG4gIGlzT3Blbj86IGJvb2xlYW5cbiAgc2hvd1RvcEJvcmRlcj86IGJvb2xlYW5cbn0+YFxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuaXNPcGVuICYmXG4gICAgY3NzYFxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBgfVxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuaXNPcGVuICYmXG4gICAgcHJvcHMuc2hvd1RvcEJvcmRlciAmJlxuICAgIGNzc2BcbiAgICAgIGJvcmRlci10b3A6ICR7ZGVzaWduVG9rZW5zLmJvcmRlcldpZHRoMX0gc29saWRcbiAgICAgICAgJHtkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsOTB9O1xuICAgIGB9XG5gXG5cbnR5cGUgRmllbGRHcm91cFNlY3Rpb25Qcm9wcyA9IHtcbiAgaW5kZXg6IG51bWJlclxuICBncm91cDogRm9ybUdyb3VwXG4gIGZvcm1pazogRm9ybWlrUHJvcHM8Rm9ybVZhbHVlcz5cbiAgaXNTZWFyY2hBY3RpdmU/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBGaWVsZEdyb3VwU2VjdGlvbiA9ICh7XG4gIGdyb3VwLFxuICBpbmRleCxcbiAgZm9ybWlrLFxuICBpc1NlYXJjaEFjdGl2ZSxcbn06IEZpZWxkR3JvdXBTZWN0aW9uUHJvcHMpID0+IHtcbiAgY29uc3QgYWxsRmllbGRzQ2hlY2tlZCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXJlQWxsRmllbGRzQ2hlY2tlZChncm91cC5maWVsZHMpLFxuICAgIFtncm91cC5maWVsZHNdXG4gIClcblxuICBjb25zdCBpc0FueUZpZWxkSW5Hcm91cENoZWNrZWQgPSB1c2VNZW1vKFxuICAgICgpID0+IGlzQW55RmllbGRDaGVja2VkKGdyb3VwLmZpZWxkcyksXG4gICAgW2dyb3VwLmZpZWxkc11cbiAgKVxuXG4gIGNvbnN0IHsgdXBkYXRlRXhwYW5kZWRHcm91cHMgfSA9IHVzZUV4cG9ydEZpZWxkU2VsZWN0aW9uQ29udGV4dCgpXG5cbiAgY29uc3QgcGFyZW50S2V5ID0gYGdyb3Vwc1ske2luZGV4fV1gXG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlQWxsRmllbGRzID0gKGUpID0+IHtcbiAgICBjb25zdCBpdGVtID0gZ2V0KGZvcm1pay52YWx1ZXMsIHBhcmVudEtleSlcbiAgICBmdW5jdGlvbiB1cGRhdGVBbGxGaWVsZHMoZmllbGRzOiBGaWVsZFtdLCBjaGVja2VkOiBib29sZWFuKSB7XG4gICAgICByZXR1cm4gZmllbGRzLm1hcCgoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICAgIGZpZWxkczogdXBkYXRlQWxsRmllbGRzKGZpZWxkLmZpZWxkcywgY2hlY2tlZCksXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmaWVsZC5pc1JlcXVpcmVkKSByZXR1cm4gZmllbGRcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICBpc0NoZWNrZWQ6IGNoZWNrZWQsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgZm9ybWlrLnNldEZpZWxkVmFsdWUocGFyZW50S2V5LCB7XG4gICAgICAuLi5pdGVtLFxuICAgICAgZmllbGRzOiB1cGRhdGVBbGxGaWVsZHMoaXRlbS5maWVsZHMsIGUudGFyZ2V0LmNoZWNrZWQpLFxuICAgIH0pXG4gIH1cblxuICBpZiAoZ3JvdXAuaXNIaWRkZW4pIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8Q29sbGFwc2libGVNb3Rpb25cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17aXNTZWFyY2hBY3RpdmUgPyBmYWxzZSA6ICFncm91cC5pc0V4cGFuZGVkfVxuICAgICAgLy8gUmVzZXQgY29sbGFwc2Ugc3RhdGUgd2hlbiBzZWFyY2ggaW5wdXQgYmVjb21lcyBhY3RpdmUvaW5hY3RpdmVcbiAgICAgIGtleT17YCR7aXNTZWFyY2hBY3RpdmV9YH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIHJlZ2lzdGVyQ29udGVudE5vZGUgfSkgPT4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxHcmlkLkl0ZW0+XG4gICAgICAgICAgICA8U3R5bGVkR3JvdXBDYXJkXG4gICAgICAgICAgICAgIHR5cGU9XCJmbGF0XCJcbiAgICAgICAgICAgICAgaW5zZXRTY2FsZT1cIm1cIlxuICAgICAgICAgICAgICBzaG93VG9wQm9yZGVyPXtpbmRleCA+IDB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJzXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICBzaXplPVwiMjBcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzU2VhcmNoQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgdXBkYXRlRXhwYW5kZWRHcm91cHMoZ3JvdXAuZ3JvdXBOYW1lLCAhaXNPcGVuKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRvZ2dsZSgpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgaWNvbj17aXNPcGVuID8gPEFuZ2xlRG93bkljb24gLz4gOiA8QW5nbGVSaWdodEljb24gLz59XG4gICAgICAgICAgICAgICAgICBsYWJlbD1cIlwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Q2hlY2tib3hJbnB1dFxuICAgICAgICAgICAgICAgICAgaXNJbmRldGVybWluYXRlPXtcbiAgICAgICAgICAgICAgICAgICAgIWFsbEZpZWxkc0NoZWNrZWQgJiYgaXNBbnlGaWVsZEluR3JvdXBDaGVja2VkXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBpc0NoZWNrZWQ9e2FsbEZpZWxkc0NoZWNrZWR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlQWxsRmllbGRzfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtncm91cC5ncm91cExhYmVsfVxuICAgICAgICAgICAgICAgIDwvQ2hlY2tib3hJbnB1dD5cbiAgICAgICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgICAgICA8L1N0eWxlZEdyb3VwQ2FyZD5cbiAgICAgICAgICA8L0dyaWQuSXRlbT5cbiAgICAgICAgICA8R3JpZC5JdGVtPlxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPFN0eWxlZEV4cGFuZGFibGVDb250ZW50XG4gICAgICAgICAgICAgICAgcmVmPXtyZWdpc3RlckNvbnRlbnROb2RlfVxuICAgICAgICAgICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICAgICAgICAgIHNob3dUb3BCb3JkZXI9e2luZGV4ID4gMH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRGaWVsZHNDYXJkXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICBpbnNldFNjYWxlPVwibVwiXG4gICAgICAgICAgICAgICAgICBzaG93VG9wQm9yZGVyPXt0cnVlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtpc09wZW4gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8RmllbGRTZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgZmllbGRzPXtncm91cC5maWVsZHN9XG4gICAgICAgICAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgICAgICAgICAgcGFyZW50S2V5cz17W3BhcmVudEtleV19XG4gICAgICAgICAgICAgICAgICAgICAgaXNBbnlTaWJsaW5nQ2hlY2tlZD17aXNBbnlGaWVsZEluR3JvdXBDaGVja2VkfVxuICAgICAgICAgICAgICAgICAgICAgIGdyb3VwTmFtZT17Z3JvdXAuZ3JvdXBOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VhcmNoQWN0aXZlPXtpc1NlYXJjaEFjdGl2ZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRGaWVsZHNDYXJkPlxuICAgICAgICAgICAgICA8L1N0eWxlZEV4cGFuZGFibGVDb250ZW50PlxuICAgICAgICAgICAgICB7IWlzT3BlbiAmJiA8U2VsZWN0ZWRHcm91cEZpZWxkc0NvdW50U3RhbXAgZ3JvdXA9e2dyb3VwfSAvPn1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgIDwvR3JpZC5JdGVtPlxuICAgICAgICA8Lz5cbiAgICAgICl9XG4gICAgPC9Db2xsYXBzaWJsZU1vdGlvbj5cbiAgKVxufVxuIl19 */"), ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpZWxkLWdyb3VwLXNlY3Rpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDa0UiLCJmaWxlIjoiZmllbGQtZ3JvdXAtc2VjdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICBBbmdsZURvd25JY29uLFxuICBBbmdsZVJpZ2h0SWNvbixcbiAgQ2FyZCxcbiAgQ2hlY2tib3hJbnB1dCxcbiAgQ29sbGFwc2libGVNb3Rpb24sXG4gIEdyaWQsXG4gIEljb25CdXR0b24sXG4gIFNwYWNpbmdzLFxuICBkZXNpZ25Ub2tlbnMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3VpLWtpdCdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IEZvcm1pa1Byb3BzIH0gZnJvbSAnZm9ybWlrJ1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0J1xuaW1wb3J0IHsgdXNlRXhwb3J0RmllbGRTZWxlY3Rpb25Db250ZXh0IH0gZnJvbSAnLi9leHBvcnQtZmllbGQtc2VsZWN0aW9uLXByb3ZpZGVyJ1xuaW1wb3J0IHsgRmllbGRTZWN0aW9uIH0gZnJvbSAnLi9maWVsZC1zZWN0aW9uJ1xuaW1wb3J0IHsgU2VsZWN0ZWRHcm91cEZpZWxkc0NvdW50U3RhbXAgfSBmcm9tICcuL3NlbGVjdGVkLWdyb3VwLWZpZWxkcy1jb3VudC1zdGFtcCdcbmltcG9ydCB0eXBlIHsgRmllbGQsIEZvcm1Hcm91cCwgRm9ybVZhbHVlcyB9IGZyb20gJy4uLy4uL0B0eXBlcydcbmltcG9ydCB7IGFyZUFsbEZpZWxkc0NoZWNrZWQsIGlzQW55RmllbGRDaGVja2VkIH0gZnJvbSAnLi4vLi4vQHV0aWxzJ1xuXG5jb25zdCBTdHlsZWRHcm91cENhcmQgPSBzdHlsZWQoQ2FyZCk8eyBzaG93VG9wQm9yZGVyPzogYm9vbGVhbiB9PmBcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5zaG93VG9wQm9yZGVyICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLXRvcDogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyV2lkdGgxfSBzb2xpZFxuICAgICAgICAke2Rlc2lnblRva2Vucy5jb2xvck5ldXRyYWw5MH07XG4gICAgYH1cbmBcbmNvbnN0IFN0eWxlZEZpZWxkc0NhcmQgPSBzdHlsZWQoQ2FyZCk8eyBzaG93VG9wQm9yZGVyPzogYm9vbGVhbiB9PmBcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuc2hvd1RvcEJvcmRlciAmJlxuICAgIGNzc2BcbiAgICAgIGJvcmRlci10b3A6ICR7ZGVzaWduVG9rZW5zLmJvcmRlcldpZHRoMX0gc29saWRcbiAgICAgICAgJHtkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsOTB9O1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRFeHBhbmRhYmxlQ29udGVudCA9IHN0eWxlZC5kaXY8e1xuICBpc09wZW4/OiBib29sZWFuXG4gIHNob3dUb3BCb3JkZXI/OiBib29sZWFuXG59PmBcbiAgJHsocHJvcHMpID0+XG4gICAgIXByb3BzLmlzT3BlbiAmJlxuICAgIGNzc2BcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgYH1cbiAgJHsocHJvcHMpID0+XG4gICAgIXByb3BzLmlzT3BlbiAmJlxuICAgIHByb3BzLnNob3dUb3BCb3JkZXIgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXItdG9wOiAke2Rlc2lnblRva2Vucy5ib3JkZXJXaWR0aDF9IHNvbGlkXG4gICAgICAgICR7ZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDkwfTtcbiAgICBgfVxuYFxuXG50eXBlIEZpZWxkR3JvdXBTZWN0aW9uUHJvcHMgPSB7XG4gIGluZGV4OiBudW1iZXJcbiAgZ3JvdXA6IEZvcm1Hcm91cFxuICBmb3JtaWs6IEZvcm1pa1Byb3BzPEZvcm1WYWx1ZXM+XG4gIGlzU2VhcmNoQWN0aXZlPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgRmllbGRHcm91cFNlY3Rpb24gPSAoe1xuICBncm91cCxcbiAgaW5kZXgsXG4gIGZvcm1payxcbiAgaXNTZWFyY2hBY3RpdmUsXG59OiBGaWVsZEdyb3VwU2VjdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IGFsbEZpZWxkc0NoZWNrZWQgPSB1c2VNZW1vKFxuICAgICgpID0+IGFyZUFsbEZpZWxkc0NoZWNrZWQoZ3JvdXAuZmllbGRzKSxcbiAgICBbZ3JvdXAuZmllbGRzXVxuICApXG5cbiAgY29uc3QgaXNBbnlGaWVsZEluR3JvdXBDaGVja2VkID0gdXNlTWVtbyhcbiAgICAoKSA9PiBpc0FueUZpZWxkQ2hlY2tlZChncm91cC5maWVsZHMpLFxuICAgIFtncm91cC5maWVsZHNdXG4gIClcblxuICBjb25zdCB7IHVwZGF0ZUV4cGFuZGVkR3JvdXBzIH0gPSB1c2VFeHBvcnRGaWVsZFNlbGVjdGlvbkNvbnRleHQoKVxuXG4gIGNvbnN0IHBhcmVudEtleSA9IGBncm91cHNbJHtpbmRleH1dYFxuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZUFsbEZpZWxkcyA9IChlKSA9PiB7XG4gICAgY29uc3QgaXRlbSA9IGdldChmb3JtaWsudmFsdWVzLCBwYXJlbnRLZXkpXG4gICAgZnVuY3Rpb24gdXBkYXRlQWxsRmllbGRzKGZpZWxkczogRmllbGRbXSwgY2hlY2tlZDogYm9vbGVhbikge1xuICAgICAgcmV0dXJuIGZpZWxkcy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICAgIGlmIChmaWVsZC5maWVsZHMpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgICBmaWVsZHM6IHVwZGF0ZUFsbEZpZWxkcyhmaWVsZC5maWVsZHMsIGNoZWNrZWQpLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZmllbGQuaXNSZXF1aXJlZCkgcmV0dXJuIGZpZWxkXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgaXNDaGVja2VkOiBjaGVja2VkLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGZvcm1pay5zZXRGaWVsZFZhbHVlKHBhcmVudEtleSwge1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGZpZWxkczogdXBkYXRlQWxsRmllbGRzKGl0ZW0uZmllbGRzLCBlLnRhcmdldC5jaGVja2VkKSxcbiAgICB9KVxuICB9XG5cbiAgaWYgKGdyb3VwLmlzSGlkZGVuKSByZXR1cm4gbnVsbFxuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9e2lzU2VhcmNoQWN0aXZlID8gZmFsc2UgOiAhZ3JvdXAuaXNFeHBhbmRlZH1cbiAgICAgIC8vIFJlc2V0IGNvbGxhcHNlIHN0YXRlIHdoZW4gc2VhcmNoIGlucHV0IGJlY29tZXMgYWN0aXZlL2luYWN0aXZlXG4gICAgICBrZXk9e2Ake2lzU2VhcmNoQWN0aXZlfWB9XG4gICAgPlxuICAgICAgeyh7IGlzT3BlbiwgdG9nZ2xlLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IChcbiAgICAgICAgPD5cbiAgICAgICAgICA8R3JpZC5JdGVtPlxuICAgICAgICAgICAgPFN0eWxlZEdyb3VwQ2FyZFxuICAgICAgICAgICAgICB0eXBlPVwiZmxhdFwiXG4gICAgICAgICAgICAgIGluc2V0U2NhbGU9XCJtXCJcbiAgICAgICAgICAgICAgc2hvd1RvcEJvcmRlcj17aW5kZXggPiAwfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwic1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgc2l6ZT1cIjIwXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1NlYXJjaEFjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZUV4cGFuZGVkR3JvdXBzKGdyb3VwLmdyb3VwTmFtZSwgIWlzT3BlbilcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGljb249e2lzT3BlbiA/IDxBbmdsZURvd25JY29uIC8+IDogPEFuZ2xlUmlnaHRJY29uIC8+fVxuICAgICAgICAgICAgICAgICAgbGFiZWw9XCJcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPENoZWNrYm94SW5wdXRcbiAgICAgICAgICAgICAgICAgIGlzSW5kZXRlcm1pbmF0ZT17XG4gICAgICAgICAgICAgICAgICAgICFhbGxGaWVsZHNDaGVja2VkICYmIGlzQW55RmllbGRJbkdyb3VwQ2hlY2tlZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgaXNDaGVja2VkPXthbGxGaWVsZHNDaGVja2VkfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZUFsbEZpZWxkc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7Z3JvdXAuZ3JvdXBMYWJlbH1cbiAgICAgICAgICAgICAgICA8L0NoZWNrYm94SW5wdXQ+XG4gICAgICAgICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgICAgICAgPC9TdHlsZWRHcm91cENhcmQ+XG4gICAgICAgICAgPC9HcmlkLkl0ZW0+XG4gICAgICAgICAgPEdyaWQuSXRlbT5cbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxTdHlsZWRFeHBhbmRhYmxlQ29udGVudFxuICAgICAgICAgICAgICAgIHJlZj17cmVnaXN0ZXJDb250ZW50Tm9kZX1cbiAgICAgICAgICAgICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgICAgICAgICAgICBzaG93VG9wQm9yZGVyPXtpbmRleCA+IDB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U3R5bGVkRmllbGRzQ2FyZFxuICAgICAgICAgICAgICAgICAgdHlwZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgICAgaW5zZXRTY2FsZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgc2hvd1RvcEJvcmRlcj17dHJ1ZX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7aXNPcGVuICYmIChcbiAgICAgICAgICAgICAgICAgICAgPEZpZWxkU2VjdGlvblxuICAgICAgICAgICAgICAgICAgICAgIGZpZWxkcz17Z3JvdXAuZmllbGRzfVxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1paz17Zm9ybWlrfVxuICAgICAgICAgICAgICAgICAgICAgIHBhcmVudEtleXM9e1twYXJlbnRLZXldfVxuICAgICAgICAgICAgICAgICAgICAgIGlzQW55U2libGluZ0NoZWNrZWQ9e2lzQW55RmllbGRJbkdyb3VwQ2hlY2tlZH1cbiAgICAgICAgICAgICAgICAgICAgICBncm91cE5hbWU9e2dyb3VwLmdyb3VwTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NlYXJjaEFjdGl2ZT17aXNTZWFyY2hBY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkRmllbGRzQ2FyZD5cbiAgICAgICAgICAgICAgPC9TdHlsZWRFeHBhbmRhYmxlQ29udGVudD5cbiAgICAgICAgICAgICAgeyFpc09wZW4gJiYgPFNlbGVjdGVkR3JvdXBGaWVsZHNDb3VudFN0YW1wIGdyb3VwPXtncm91cH0gLz59XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICA8L0dyaWQuSXRlbT5cbiAgICAgICAgPC8+XG4gICAgICApfVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gIClcbn1cbiJdfQ== */"));
2225
+ var _ref$1 = process.env.NODE_ENV === "production" ? {
2226
+ name: "2ce4ng",
2227
+ styles: "overflow:hidden;height:0;margin-top:0!important"
2228
+ } : {
2229
+ name: "14qt8ie-StyledExpandableContent",
2230
+ styles: "overflow:hidden;height:0;margin-top:0!important;label:StyledExpandableContent;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpZWxkLWdyb3VwLXNlY3Rpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdETyIsImZpbGUiOiJmaWVsZC1ncm91cC1zZWN0aW9uLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIEFuZ2xlRG93bkljb24sXG4gIEFuZ2xlUmlnaHRJY29uLFxuICBDYXJkLFxuICBDaGVja2JveElucHV0LFxuICBDb2xsYXBzaWJsZU1vdGlvbixcbiAgR3JpZCxcbiAgSWNvbkJ1dHRvbixcbiAgU3BhY2luZ3MsXG4gIGRlc2lnblRva2Vucyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvdWkta2l0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB0eXBlIHsgRm9ybWlrUHJvcHMgfSBmcm9tICdmb3JtaWsnXG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnXG5pbXBvcnQgeyB1c2VFeHBvcnRGaWVsZFNlbGVjdGlvbkNvbnRleHQgfSBmcm9tICcuL2V4cG9ydC1maWVsZC1zZWxlY3Rpb24tcHJvdmlkZXInXG5pbXBvcnQgeyBGaWVsZFNlY3Rpb24gfSBmcm9tICcuL2ZpZWxkLXNlY3Rpb24nXG5pbXBvcnQgeyBTZWxlY3RlZEdyb3VwRmllbGRzQ291bnRTdGFtcCB9IGZyb20gJy4vc2VsZWN0ZWQtZ3JvdXAtZmllbGRzLWNvdW50LXN0YW1wJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgRm9ybUdyb3VwLCBGb3JtVmFsdWVzIH0gZnJvbSAnLi4vLi4vQHR5cGVzJ1xuaW1wb3J0IHsgYXJlQWxsRmllbGRzQ2hlY2tlZCwgaXNBbnlGaWVsZENoZWNrZWQgfSBmcm9tICcuLi8uLi9AdXRpbHMnXG5cbmNvbnN0IFN0eWxlZEdyb3VwQ2FyZCA9IHN0eWxlZChDYXJkKTx7IHNob3dUb3BCb3JkZXI/OiBib29sZWFuIH0+YFxuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLnNob3dUb3BCb3JkZXIgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXItdG9wOiAke2Rlc2lnblRva2Vucy5ib3JkZXJXaWR0aDF9IHNvbGlkXG4gICAgICAgICR7ZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDkwfTtcbiAgICBgfVxuYFxuY29uc3QgU3R5bGVkRmllbGRzQ2FyZCA9IHN0eWxlZChDYXJkKTx7IHNob3dUb3BCb3JkZXI/OiBib29sZWFuIH0+YFxuICBib3JkZXItcmFkaXVzOiAwO1xuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5zaG93VG9wQm9yZGVyICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLXRvcDogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyV2lkdGgxfSBzb2xpZFxuICAgICAgICAke2Rlc2lnblRva2Vucy5jb2xvck5ldXRyYWw5MH07XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEV4cGFuZGFibGVDb250ZW50ID0gc3R5bGVkLmRpdjx7XG4gIGlzT3Blbj86IGJvb2xlYW5cbiAgc2hvd1RvcEJvcmRlcj86IGJvb2xlYW5cbn0+YFxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuaXNPcGVuICYmXG4gICAgY3NzYFxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBgfVxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuaXNPcGVuICYmXG4gICAgcHJvcHMuc2hvd1RvcEJvcmRlciAmJlxuICAgIGNzc2BcbiAgICAgIGJvcmRlci10b3A6ICR7ZGVzaWduVG9rZW5zLmJvcmRlcldpZHRoMX0gc29saWRcbiAgICAgICAgJHtkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsOTB9O1xuICAgIGB9XG5gXG5cbnR5cGUgRmllbGRHcm91cFNlY3Rpb25Qcm9wcyA9IHtcbiAgaW5kZXg6IG51bWJlclxuICBncm91cDogRm9ybUdyb3VwXG4gIGZvcm1pazogRm9ybWlrUHJvcHM8Rm9ybVZhbHVlcz5cbiAgaXNTZWFyY2hBY3RpdmU/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBGaWVsZEdyb3VwU2VjdGlvbiA9ICh7XG4gIGdyb3VwLFxuICBpbmRleCxcbiAgZm9ybWlrLFxuICBpc1NlYXJjaEFjdGl2ZSxcbn06IEZpZWxkR3JvdXBTZWN0aW9uUHJvcHMpID0+IHtcbiAgY29uc3QgYWxsRmllbGRzQ2hlY2tlZCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXJlQWxsRmllbGRzQ2hlY2tlZChncm91cC5maWVsZHMpLFxuICAgIFtncm91cC5maWVsZHNdXG4gIClcblxuICBjb25zdCBpc0FueUZpZWxkSW5Hcm91cENoZWNrZWQgPSB1c2VNZW1vKFxuICAgICgpID0+IGlzQW55RmllbGRDaGVja2VkKGdyb3VwLmZpZWxkcyksXG4gICAgW2dyb3VwLmZpZWxkc11cbiAgKVxuXG4gIGNvbnN0IHsgdXBkYXRlRXhwYW5kZWRHcm91cHMgfSA9IHVzZUV4cG9ydEZpZWxkU2VsZWN0aW9uQ29udGV4dCgpXG5cbiAgY29uc3QgcGFyZW50S2V5ID0gYGdyb3Vwc1ske2luZGV4fV1gXG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlQWxsRmllbGRzID0gKGUpID0+IHtcbiAgICBjb25zdCBpdGVtID0gZ2V0KGZvcm1pay52YWx1ZXMsIHBhcmVudEtleSlcbiAgICBmdW5jdGlvbiB1cGRhdGVBbGxGaWVsZHMoZmllbGRzOiBGaWVsZFtdLCBjaGVja2VkOiBib29sZWFuKSB7XG4gICAgICByZXR1cm4gZmllbGRzLm1hcCgoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICAgIGZpZWxkczogdXBkYXRlQWxsRmllbGRzKGZpZWxkLmZpZWxkcywgY2hlY2tlZCksXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmaWVsZC5pc1JlcXVpcmVkKSByZXR1cm4gZmllbGRcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICBpc0NoZWNrZWQ6IGNoZWNrZWQsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgZm9ybWlrLnNldEZpZWxkVmFsdWUocGFyZW50S2V5LCB7XG4gICAgICAuLi5pdGVtLFxuICAgICAgZmllbGRzOiB1cGRhdGVBbGxGaWVsZHMoaXRlbS5maWVsZHMsIGUudGFyZ2V0LmNoZWNrZWQpLFxuICAgIH0pXG4gIH1cblxuICBpZiAoZ3JvdXAuaXNIaWRkZW4pIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8Q29sbGFwc2libGVNb3Rpb25cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17aXNTZWFyY2hBY3RpdmUgPyBmYWxzZSA6ICFncm91cC5pc0V4cGFuZGVkfVxuICAgICAgLy8gUmVzZXQgY29sbGFwc2Ugc3RhdGUgd2hlbiBzZWFyY2ggaW5wdXQgYmVjb21lcyBhY3RpdmUvaW5hY3RpdmVcbiAgICAgIGtleT17YCR7aXNTZWFyY2hBY3RpdmV9YH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIHJlZ2lzdGVyQ29udGVudE5vZGUgfSkgPT4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxHcmlkLkl0ZW0+XG4gICAgICAgICAgICA8U3R5bGVkR3JvdXBDYXJkXG4gICAgICAgICAgICAgIHR5cGU9XCJmbGF0XCJcbiAgICAgICAgICAgICAgaW5zZXRTY2FsZT1cIm1cIlxuICAgICAgICAgICAgICBzaG93VG9wQm9yZGVyPXtpbmRleCA+IDB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJzXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICBzaXplPVwiMjBcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzU2VhcmNoQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgdXBkYXRlRXhwYW5kZWRHcm91cHMoZ3JvdXAuZ3JvdXBOYW1lLCAhaXNPcGVuKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRvZ2dsZSgpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgaWNvbj17aXNPcGVuID8gPEFuZ2xlRG93bkljb24gLz4gOiA8QW5nbGVSaWdodEljb24gLz59XG4gICAgICAgICAgICAgICAgICBsYWJlbD1cIlwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Q2hlY2tib3hJbnB1dFxuICAgICAgICAgICAgICAgICAgaXNJbmRldGVybWluYXRlPXtcbiAgICAgICAgICAgICAgICAgICAgIWFsbEZpZWxkc0NoZWNrZWQgJiYgaXNBbnlGaWVsZEluR3JvdXBDaGVja2VkXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBpc0NoZWNrZWQ9e2FsbEZpZWxkc0NoZWNrZWR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlQWxsRmllbGRzfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtncm91cC5ncm91cExhYmVsfVxuICAgICAgICAgICAgICAgIDwvQ2hlY2tib3hJbnB1dD5cbiAgICAgICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgICAgICA8L1N0eWxlZEdyb3VwQ2FyZD5cbiAgICAgICAgICA8L0dyaWQuSXRlbT5cbiAgICAgICAgICA8R3JpZC5JdGVtPlxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPFN0eWxlZEV4cGFuZGFibGVDb250ZW50XG4gICAgICAgICAgICAgICAgcmVmPXtyZWdpc3RlckNvbnRlbnROb2RlfVxuICAgICAgICAgICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICAgICAgICAgIHNob3dUb3BCb3JkZXI9e2luZGV4ID4gMH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRGaWVsZHNDYXJkXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICBpbnNldFNjYWxlPVwibVwiXG4gICAgICAgICAgICAgICAgICBzaG93VG9wQm9yZGVyPXt0cnVlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtpc09wZW4gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8RmllbGRTZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgZmllbGRzPXtncm91cC5maWVsZHN9XG4gICAgICAgICAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgICAgICAgICAgcGFyZW50S2V5cz17W3BhcmVudEtleV19XG4gICAgICAgICAgICAgICAgICAgICAgaXNBbnlTaWJsaW5nQ2hlY2tlZD17aXNBbnlGaWVsZEluR3JvdXBDaGVja2VkfVxuICAgICAgICAgICAgICAgICAgICAgIGdyb3VwTmFtZT17Z3JvdXAuZ3JvdXBOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VhcmNoQWN0aXZlPXtpc1NlYXJjaEFjdGl2ZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRGaWVsZHNDYXJkPlxuICAgICAgICAgICAgICA8L1N0eWxlZEV4cGFuZGFibGVDb250ZW50PlxuICAgICAgICAgICAgICB7IWlzT3BlbiAmJiA8U2VsZWN0ZWRHcm91cEZpZWxkc0NvdW50U3RhbXAgZ3JvdXA9e2dyb3VwfSAvPn1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgIDwvR3JpZC5JdGVtPlxuICAgICAgICA8Lz5cbiAgICAgICl9XG4gICAgPC9Db2xsYXBzaWJsZU1vdGlvbj5cbiAgKVxufVxuIl19 */",
2231
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
2232
+ };
2233
+ const StyledExpandableContent = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
2234
+ target: "e1igkh7t0"
2235
+ } : {
2236
+ target: "e1igkh7t0",
2237
+ label: "StyledExpandableContent"
2238
+ })(props => !props.isOpen && _ref$1, " ", props => !props.isOpen && props.showTopBorder && /*#__PURE__*/react.css("border-top:", uiKit.designTokens.borderWidth1, " solid ", uiKit.designTokens.colorNeutral90, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:StyledExpandableContent;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpZWxkLWdyb3VwLXNlY3Rpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdETyIsImZpbGUiOiJmaWVsZC1ncm91cC1zZWN0aW9uLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIEFuZ2xlRG93bkljb24sXG4gIEFuZ2xlUmlnaHRJY29uLFxuICBDYXJkLFxuICBDaGVja2JveElucHV0LFxuICBDb2xsYXBzaWJsZU1vdGlvbixcbiAgR3JpZCxcbiAgSWNvbkJ1dHRvbixcbiAgU3BhY2luZ3MsXG4gIGRlc2lnblRva2Vucyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvdWkta2l0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB0eXBlIHsgRm9ybWlrUHJvcHMgfSBmcm9tICdmb3JtaWsnXG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnXG5pbXBvcnQgeyB1c2VFeHBvcnRGaWVsZFNlbGVjdGlvbkNvbnRleHQgfSBmcm9tICcuL2V4cG9ydC1maWVsZC1zZWxlY3Rpb24tcHJvdmlkZXInXG5pbXBvcnQgeyBGaWVsZFNlY3Rpb24gfSBmcm9tICcuL2ZpZWxkLXNlY3Rpb24nXG5pbXBvcnQgeyBTZWxlY3RlZEdyb3VwRmllbGRzQ291bnRTdGFtcCB9IGZyb20gJy4vc2VsZWN0ZWQtZ3JvdXAtZmllbGRzLWNvdW50LXN0YW1wJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgRm9ybUdyb3VwLCBGb3JtVmFsdWVzIH0gZnJvbSAnLi4vLi4vQHR5cGVzJ1xuaW1wb3J0IHsgYXJlQWxsRmllbGRzQ2hlY2tlZCwgaXNBbnlGaWVsZENoZWNrZWQgfSBmcm9tICcuLi8uLi9AdXRpbHMnXG5cbmNvbnN0IFN0eWxlZEdyb3VwQ2FyZCA9IHN0eWxlZChDYXJkKTx7IHNob3dUb3BCb3JkZXI/OiBib29sZWFuIH0+YFxuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLnNob3dUb3BCb3JkZXIgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXItdG9wOiAke2Rlc2lnblRva2Vucy5ib3JkZXJXaWR0aDF9IHNvbGlkXG4gICAgICAgICR7ZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDkwfTtcbiAgICBgfVxuYFxuY29uc3QgU3R5bGVkRmllbGRzQ2FyZCA9IHN0eWxlZChDYXJkKTx7IHNob3dUb3BCb3JkZXI/OiBib29sZWFuIH0+YFxuICBib3JkZXItcmFkaXVzOiAwO1xuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5zaG93VG9wQm9yZGVyICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLXRvcDogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyV2lkdGgxfSBzb2xpZFxuICAgICAgICAke2Rlc2lnblRva2Vucy5jb2xvck5ldXRyYWw5MH07XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEV4cGFuZGFibGVDb250ZW50ID0gc3R5bGVkLmRpdjx7XG4gIGlzT3Blbj86IGJvb2xlYW5cbiAgc2hvd1RvcEJvcmRlcj86IGJvb2xlYW5cbn0+YFxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuaXNPcGVuICYmXG4gICAgY3NzYFxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBgfVxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuaXNPcGVuICYmXG4gICAgcHJvcHMuc2hvd1RvcEJvcmRlciAmJlxuICAgIGNzc2BcbiAgICAgIGJvcmRlci10b3A6ICR7ZGVzaWduVG9rZW5zLmJvcmRlcldpZHRoMX0gc29saWRcbiAgICAgICAgJHtkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsOTB9O1xuICAgIGB9XG5gXG5cbnR5cGUgRmllbGRHcm91cFNlY3Rpb25Qcm9wcyA9IHtcbiAgaW5kZXg6IG51bWJlclxuICBncm91cDogRm9ybUdyb3VwXG4gIGZvcm1pazogRm9ybWlrUHJvcHM8Rm9ybVZhbHVlcz5cbiAgaXNTZWFyY2hBY3RpdmU/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBGaWVsZEdyb3VwU2VjdGlvbiA9ICh7XG4gIGdyb3VwLFxuICBpbmRleCxcbiAgZm9ybWlrLFxuICBpc1NlYXJjaEFjdGl2ZSxcbn06IEZpZWxkR3JvdXBTZWN0aW9uUHJvcHMpID0+IHtcbiAgY29uc3QgYWxsRmllbGRzQ2hlY2tlZCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXJlQWxsRmllbGRzQ2hlY2tlZChncm91cC5maWVsZHMpLFxuICAgIFtncm91cC5maWVsZHNdXG4gIClcblxuICBjb25zdCBpc0FueUZpZWxkSW5Hcm91cENoZWNrZWQgPSB1c2VNZW1vKFxuICAgICgpID0+IGlzQW55RmllbGRDaGVja2VkKGdyb3VwLmZpZWxkcyksXG4gICAgW2dyb3VwLmZpZWxkc11cbiAgKVxuXG4gIGNvbnN0IHsgdXBkYXRlRXhwYW5kZWRHcm91cHMgfSA9IHVzZUV4cG9ydEZpZWxkU2VsZWN0aW9uQ29udGV4dCgpXG5cbiAgY29uc3QgcGFyZW50S2V5ID0gYGdyb3Vwc1ske2luZGV4fV1gXG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlQWxsRmllbGRzID0gKGUpID0+IHtcbiAgICBjb25zdCBpdGVtID0gZ2V0KGZvcm1pay52YWx1ZXMsIHBhcmVudEtleSlcbiAgICBmdW5jdGlvbiB1cGRhdGVBbGxGaWVsZHMoZmllbGRzOiBGaWVsZFtdLCBjaGVja2VkOiBib29sZWFuKSB7XG4gICAgICByZXR1cm4gZmllbGRzLm1hcCgoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICAgIGZpZWxkczogdXBkYXRlQWxsRmllbGRzKGZpZWxkLmZpZWxkcywgY2hlY2tlZCksXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmaWVsZC5pc1JlcXVpcmVkKSByZXR1cm4gZmllbGRcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICBpc0NoZWNrZWQ6IGNoZWNrZWQsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgZm9ybWlrLnNldEZpZWxkVmFsdWUocGFyZW50S2V5LCB7XG4gICAgICAuLi5pdGVtLFxuICAgICAgZmllbGRzOiB1cGRhdGVBbGxGaWVsZHMoaXRlbS5maWVsZHMsIGUudGFyZ2V0LmNoZWNrZWQpLFxuICAgIH0pXG4gIH1cblxuICBpZiAoZ3JvdXAuaXNIaWRkZW4pIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8Q29sbGFwc2libGVNb3Rpb25cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17aXNTZWFyY2hBY3RpdmUgPyBmYWxzZSA6ICFncm91cC5pc0V4cGFuZGVkfVxuICAgICAgLy8gUmVzZXQgY29sbGFwc2Ugc3RhdGUgd2hlbiBzZWFyY2ggaW5wdXQgYmVjb21lcyBhY3RpdmUvaW5hY3RpdmVcbiAgICAgIGtleT17YCR7aXNTZWFyY2hBY3RpdmV9YH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIHJlZ2lzdGVyQ29udGVudE5vZGUgfSkgPT4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxHcmlkLkl0ZW0+XG4gICAgICAgICAgICA8U3R5bGVkR3JvdXBDYXJkXG4gICAgICAgICAgICAgIHR5cGU9XCJmbGF0XCJcbiAgICAgICAgICAgICAgaW5zZXRTY2FsZT1cIm1cIlxuICAgICAgICAgICAgICBzaG93VG9wQm9yZGVyPXtpbmRleCA+IDB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJzXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICBzaXplPVwiMjBcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzU2VhcmNoQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgdXBkYXRlRXhwYW5kZWRHcm91cHMoZ3JvdXAuZ3JvdXBOYW1lLCAhaXNPcGVuKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRvZ2dsZSgpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgaWNvbj17aXNPcGVuID8gPEFuZ2xlRG93bkljb24gLz4gOiA8QW5nbGVSaWdodEljb24gLz59XG4gICAgICAgICAgICAgICAgICBsYWJlbD1cIlwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Q2hlY2tib3hJbnB1dFxuICAgICAgICAgICAgICAgICAgaXNJbmRldGVybWluYXRlPXtcbiAgICAgICAgICAgICAgICAgICAgIWFsbEZpZWxkc0NoZWNrZWQgJiYgaXNBbnlGaWVsZEluR3JvdXBDaGVja2VkXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBpc0NoZWNrZWQ9e2FsbEZpZWxkc0NoZWNrZWR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlQWxsRmllbGRzfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtncm91cC5ncm91cExhYmVsfVxuICAgICAgICAgICAgICAgIDwvQ2hlY2tib3hJbnB1dD5cbiAgICAgICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgICAgICA8L1N0eWxlZEdyb3VwQ2FyZD5cbiAgICAgICAgICA8L0dyaWQuSXRlbT5cbiAgICAgICAgICA8R3JpZC5JdGVtPlxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPFN0eWxlZEV4cGFuZGFibGVDb250ZW50XG4gICAgICAgICAgICAgICAgcmVmPXtyZWdpc3RlckNvbnRlbnROb2RlfVxuICAgICAgICAgICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICAgICAgICAgIHNob3dUb3BCb3JkZXI9e2luZGV4ID4gMH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRGaWVsZHNDYXJkXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICBpbnNldFNjYWxlPVwibVwiXG4gICAgICAgICAgICAgICAgICBzaG93VG9wQm9yZGVyPXt0cnVlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtpc09wZW4gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8RmllbGRTZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgZmllbGRzPXtncm91cC5maWVsZHN9XG4gICAgICAgICAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgICAgICAgICAgcGFyZW50S2V5cz17W3BhcmVudEtleV19XG4gICAgICAgICAgICAgICAgICAgICAgaXNBbnlTaWJsaW5nQ2hlY2tlZD17aXNBbnlGaWVsZEluR3JvdXBDaGVja2VkfVxuICAgICAgICAgICAgICAgICAgICAgIGdyb3VwTmFtZT17Z3JvdXAuZ3JvdXBOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VhcmNoQWN0aXZlPXtpc1NlYXJjaEFjdGl2ZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRGaWVsZHNDYXJkPlxuICAgICAgICAgICAgICA8L1N0eWxlZEV4cGFuZGFibGVDb250ZW50PlxuICAgICAgICAgICAgICB7IWlzT3BlbiAmJiA8U2VsZWN0ZWRHcm91cEZpZWxkc0NvdW50U3RhbXAgZ3JvdXA9e2dyb3VwfSAvPn1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgIDwvR3JpZC5JdGVtPlxuICAgICAgICA8Lz5cbiAgICAgICl9XG4gICAgPC9Db2xsYXBzaWJsZU1vdGlvbj5cbiAgKVxufVxuIl19 */"), ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpZWxkLWdyb3VwLXNlY3Rpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZDRSIsImZpbGUiOiJmaWVsZC1ncm91cC1zZWN0aW9uLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIEFuZ2xlRG93bkljb24sXG4gIEFuZ2xlUmlnaHRJY29uLFxuICBDYXJkLFxuICBDaGVja2JveElucHV0LFxuICBDb2xsYXBzaWJsZU1vdGlvbixcbiAgR3JpZCxcbiAgSWNvbkJ1dHRvbixcbiAgU3BhY2luZ3MsXG4gIGRlc2lnblRva2Vucyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvdWkta2l0J1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB0eXBlIHsgRm9ybWlrUHJvcHMgfSBmcm9tICdmb3JtaWsnXG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnXG5pbXBvcnQgeyB1c2VFeHBvcnRGaWVsZFNlbGVjdGlvbkNvbnRleHQgfSBmcm9tICcuL2V4cG9ydC1maWVsZC1zZWxlY3Rpb24tcHJvdmlkZXInXG5pbXBvcnQgeyBGaWVsZFNlY3Rpb24gfSBmcm9tICcuL2ZpZWxkLXNlY3Rpb24nXG5pbXBvcnQgeyBTZWxlY3RlZEdyb3VwRmllbGRzQ291bnRTdGFtcCB9IGZyb20gJy4vc2VsZWN0ZWQtZ3JvdXAtZmllbGRzLWNvdW50LXN0YW1wJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgRm9ybUdyb3VwLCBGb3JtVmFsdWVzIH0gZnJvbSAnLi4vLi4vQHR5cGVzJ1xuaW1wb3J0IHsgYXJlQWxsRmllbGRzQ2hlY2tlZCwgaXNBbnlGaWVsZENoZWNrZWQgfSBmcm9tICcuLi8uLi9AdXRpbHMnXG5cbmNvbnN0IFN0eWxlZEdyb3VwQ2FyZCA9IHN0eWxlZChDYXJkKTx7IHNob3dUb3BCb3JkZXI/OiBib29sZWFuIH0+YFxuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLnNob3dUb3BCb3JkZXIgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXItdG9wOiAke2Rlc2lnblRva2Vucy5ib3JkZXJXaWR0aDF9IHNvbGlkXG4gICAgICAgICR7ZGVzaWduVG9rZW5zLmNvbG9yTmV1dHJhbDkwfTtcbiAgICBgfVxuYFxuY29uc3QgU3R5bGVkRmllbGRzQ2FyZCA9IHN0eWxlZChDYXJkKTx7IHNob3dUb3BCb3JkZXI/OiBib29sZWFuIH0+YFxuICBib3JkZXItcmFkaXVzOiAwO1xuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5zaG93VG9wQm9yZGVyICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLXRvcDogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyV2lkdGgxfSBzb2xpZFxuICAgICAgICAke2Rlc2lnblRva2Vucy5jb2xvck5ldXRyYWw5MH07XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEV4cGFuZGFibGVDb250ZW50ID0gc3R5bGVkLmRpdjx7XG4gIGlzT3Blbj86IGJvb2xlYW5cbiAgc2hvd1RvcEJvcmRlcj86IGJvb2xlYW5cbn0+YFxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuaXNPcGVuICYmXG4gICAgY3NzYFxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBgfVxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuaXNPcGVuICYmXG4gICAgcHJvcHMuc2hvd1RvcEJvcmRlciAmJlxuICAgIGNzc2BcbiAgICAgIGJvcmRlci10b3A6ICR7ZGVzaWduVG9rZW5zLmJvcmRlcldpZHRoMX0gc29saWRcbiAgICAgICAgJHtkZXNpZ25Ub2tlbnMuY29sb3JOZXV0cmFsOTB9O1xuICAgIGB9XG5gXG5cbnR5cGUgRmllbGRHcm91cFNlY3Rpb25Qcm9wcyA9IHtcbiAgaW5kZXg6IG51bWJlclxuICBncm91cDogRm9ybUdyb3VwXG4gIGZvcm1pazogRm9ybWlrUHJvcHM8Rm9ybVZhbHVlcz5cbiAgaXNTZWFyY2hBY3RpdmU/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBGaWVsZEdyb3VwU2VjdGlvbiA9ICh7XG4gIGdyb3VwLFxuICBpbmRleCxcbiAgZm9ybWlrLFxuICBpc1NlYXJjaEFjdGl2ZSxcbn06IEZpZWxkR3JvdXBTZWN0aW9uUHJvcHMpID0+IHtcbiAgY29uc3QgYWxsRmllbGRzQ2hlY2tlZCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXJlQWxsRmllbGRzQ2hlY2tlZChncm91cC5maWVsZHMpLFxuICAgIFtncm91cC5maWVsZHNdXG4gIClcblxuICBjb25zdCBpc0FueUZpZWxkSW5Hcm91cENoZWNrZWQgPSB1c2VNZW1vKFxuICAgICgpID0+IGlzQW55RmllbGRDaGVja2VkKGdyb3VwLmZpZWxkcyksXG4gICAgW2dyb3VwLmZpZWxkc11cbiAgKVxuXG4gIGNvbnN0IHsgdXBkYXRlRXhwYW5kZWRHcm91cHMgfSA9IHVzZUV4cG9ydEZpZWxkU2VsZWN0aW9uQ29udGV4dCgpXG5cbiAgY29uc3QgcGFyZW50S2V5ID0gYGdyb3Vwc1ske2luZGV4fV1gXG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlQWxsRmllbGRzID0gKGUpID0+IHtcbiAgICBjb25zdCBpdGVtID0gZ2V0KGZvcm1pay52YWx1ZXMsIHBhcmVudEtleSlcbiAgICBmdW5jdGlvbiB1cGRhdGVBbGxGaWVsZHMoZmllbGRzOiBGaWVsZFtdLCBjaGVja2VkOiBib29sZWFuKSB7XG4gICAgICByZXR1cm4gZmllbGRzLm1hcCgoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICAgIGZpZWxkczogdXBkYXRlQWxsRmllbGRzKGZpZWxkLmZpZWxkcywgY2hlY2tlZCksXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmaWVsZC5pc1JlcXVpcmVkKSByZXR1cm4gZmllbGRcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICBpc0NoZWNrZWQ6IGNoZWNrZWQsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgZm9ybWlrLnNldEZpZWxkVmFsdWUocGFyZW50S2V5LCB7XG4gICAgICAuLi5pdGVtLFxuICAgICAgZmllbGRzOiB1cGRhdGVBbGxGaWVsZHMoaXRlbS5maWVsZHMsIGUudGFyZ2V0LmNoZWNrZWQpLFxuICAgIH0pXG4gIH1cblxuICBpZiAoZ3JvdXAuaXNIaWRkZW4pIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8Q29sbGFwc2libGVNb3Rpb25cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17aXNTZWFyY2hBY3RpdmUgPyBmYWxzZSA6ICFncm91cC5pc0V4cGFuZGVkfVxuICAgICAgLy8gUmVzZXQgY29sbGFwc2Ugc3RhdGUgd2hlbiBzZWFyY2ggaW5wdXQgYmVjb21lcyBhY3RpdmUvaW5hY3RpdmVcbiAgICAgIGtleT17YCR7aXNTZWFyY2hBY3RpdmV9YH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIHJlZ2lzdGVyQ29udGVudE5vZGUgfSkgPT4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxHcmlkLkl0ZW0+XG4gICAgICAgICAgICA8U3R5bGVkR3JvdXBDYXJkXG4gICAgICAgICAgICAgIHR5cGU9XCJmbGF0XCJcbiAgICAgICAgICAgICAgaW5zZXRTY2FsZT1cIm1cIlxuICAgICAgICAgICAgICBzaG93VG9wQm9yZGVyPXtpbmRleCA+IDB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJzXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICBzaXplPVwiMjBcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzU2VhcmNoQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgdXBkYXRlRXhwYW5kZWRHcm91cHMoZ3JvdXAuZ3JvdXBOYW1lLCAhaXNPcGVuKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRvZ2dsZSgpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgaWNvbj17aXNPcGVuID8gPEFuZ2xlRG93bkljb24gLz4gOiA8QW5nbGVSaWdodEljb24gLz59XG4gICAgICAgICAgICAgICAgICBsYWJlbD1cIlwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Q2hlY2tib3hJbnB1dFxuICAgICAgICAgICAgICAgICAgaXNJbmRldGVybWluYXRlPXtcbiAgICAgICAgICAgICAgICAgICAgIWFsbEZpZWxkc0NoZWNrZWQgJiYgaXNBbnlGaWVsZEluR3JvdXBDaGVja2VkXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBpc0NoZWNrZWQ9e2FsbEZpZWxkc0NoZWNrZWR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlQWxsRmllbGRzfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtncm91cC5ncm91cExhYmVsfVxuICAgICAgICAgICAgICAgIDwvQ2hlY2tib3hJbnB1dD5cbiAgICAgICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgICAgICA8L1N0eWxlZEdyb3VwQ2FyZD5cbiAgICAgICAgICA8L0dyaWQuSXRlbT5cbiAgICAgICAgICA8R3JpZC5JdGVtPlxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPFN0eWxlZEV4cGFuZGFibGVDb250ZW50XG4gICAgICAgICAgICAgICAgcmVmPXtyZWdpc3RlckNvbnRlbnROb2RlfVxuICAgICAgICAgICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICAgICAgICAgIHNob3dUb3BCb3JkZXI9e2luZGV4ID4gMH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRGaWVsZHNDYXJkXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICBpbnNldFNjYWxlPVwibVwiXG4gICAgICAgICAgICAgICAgICBzaG93VG9wQm9yZGVyPXt0cnVlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtpc09wZW4gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8RmllbGRTZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgZmllbGRzPXtncm91cC5maWVsZHN9XG4gICAgICAgICAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgICAgICAgICAgcGFyZW50S2V5cz17W3BhcmVudEtleV19XG4gICAgICAgICAgICAgICAgICAgICAgaXNBbnlTaWJsaW5nQ2hlY2tlZD17aXNBbnlGaWVsZEluR3JvdXBDaGVja2VkfVxuICAgICAgICAgICAgICAgICAgICAgIGdyb3VwTmFtZT17Z3JvdXAuZ3JvdXBOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VhcmNoQWN0aXZlPXtpc1NlYXJjaEFjdGl2ZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRGaWVsZHNDYXJkPlxuICAgICAgICAgICAgICA8L1N0eWxlZEV4cGFuZGFibGVDb250ZW50PlxuICAgICAgICAgICAgICB7IWlzT3BlbiAmJiA8U2VsZWN0ZWRHcm91cEZpZWxkc0NvdW50U3RhbXAgZ3JvdXA9e2dyb3VwfSAvPn1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgIDwvR3JpZC5JdGVtPlxuICAgICAgICA8Lz5cbiAgICAgICl9XG4gICAgPC9Db2xsYXBzaWJsZU1vdGlvbj5cbiAgKVxufVxuIl19 */"));
2239
+ const FieldGroupSection = _ref2 => {
2240
+ let group = _ref2.group,
2241
+ index = _ref2.index,
2242
+ formik = _ref2.formik,
2243
+ isSearchActive = _ref2.isSearchActive;
2244
+ const allFieldsChecked = React.useMemo(() => areAllFieldsChecked(group.fields), [group.fields]);
2245
+ const isAnyFieldInGroupChecked = React.useMemo(() => isAnyFieldChecked(group.fields), [group.fields]);
2246
+ const _useExportFieldSelect = useExportFieldSelectionContext(),
2247
+ updateExpandedGroups = _useExportFieldSelect.updateExpandedGroups;
2248
+ const parentKey = `groups[${index}]`;
2249
+ const handleChangeAllFields = e => {
2250
+ const item = get__default["default"](_valuesInstanceProperty__default["default"](formik), parentKey);
2251
+ function updateAllFields(fields, checked) {
2252
+ return _mapInstanceProperty__default["default"](fields).call(fields, field => {
2253
+ if (field.fields) {
2254
+ return _objectSpread$6(_objectSpread$6({}, field), {}, {
2255
+ fields: updateAllFields(field.fields, checked)
2256
+ });
2257
+ }
2258
+ if (field.isRequired) return field;
2259
+ return _objectSpread$6(_objectSpread$6({}, field), {}, {
2260
+ isChecked: checked
2261
+ });
2262
+ });
2263
+ }
2264
+ formik.setFieldValue(parentKey, _objectSpread$6(_objectSpread$6({}, item), {}, {
2265
+ fields: updateAllFields(item.fields, e.target.checked)
2266
+ }));
2267
+ };
2268
+ if (group.isHidden) return null;
2269
+ return jsxRuntime.jsx(uiKit.CollapsibleMotion, {
2270
+ isDefaultClosed: isSearchActive ? false : !group.isExpanded
2271
+ // Reset collapse state when search input becomes active/inactive
2272
+ ,
2273
+ children: _ref3 => {
2274
+ let isOpen = _ref3.isOpen,
2275
+ toggle = _ref3.toggle,
2276
+ registerContentNode = _ref3.registerContentNode;
2277
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, {
2278
+ children: [jsxRuntime.jsx(uiKit.Grid.Item, {
2279
+ children: jsxRuntime.jsx(StyledGroupCard, {
2280
+ type: "flat",
2281
+ insetScale: "m",
2282
+ showTopBorder: index > 0,
2283
+ children: jsxRuntime.jsxs(uiKit.Spacings.Inline, {
2284
+ scale: "s",
2285
+ alignItems: "center",
2286
+ children: [jsxRuntime.jsx(uiKit.IconButton, {
2287
+ size: "20",
2288
+ onClick: () => {
2289
+ if (!isSearchActive) {
2290
+ updateExpandedGroups(group.groupName, !isOpen);
2291
+ }
2292
+ toggle();
2293
+ },
2294
+ icon: isOpen ? jsxRuntime.jsx(uiKit.AngleDownIcon, {}) : jsxRuntime.jsx(uiKit.AngleRightIcon, {}),
2295
+ label: ""
2296
+ }), jsxRuntime.jsx(uiKit.CheckboxInput, {
2297
+ isIndeterminate: !allFieldsChecked && isAnyFieldInGroupChecked,
2298
+ isChecked: allFieldsChecked,
2299
+ onChange: handleChangeAllFields,
2300
+ children: group.groupLabel
2301
+ })]
2302
+ })
2303
+ })
2304
+ }), jsxRuntime.jsx(uiKit.Grid.Item, {
2305
+ children: jsxRuntime.jsxs(jsxRuntime.Fragment, {
2306
+ children: [jsxRuntime.jsx(StyledExpandableContent, {
2307
+ ref: registerContentNode,
2308
+ isOpen: isOpen,
2309
+ showTopBorder: index > 0,
2310
+ children: jsxRuntime.jsx(StyledFieldsCard, {
2311
+ type: "flat",
2312
+ insetScale: "m",
2313
+ showTopBorder: true,
2314
+ children: isOpen && jsxRuntime.jsx(FieldSection, {
2315
+ fields: group.fields,
2316
+ formik: formik,
2317
+ parentKeys: [parentKey],
2318
+ isAnySiblingChecked: isAnyFieldInGroupChecked,
2319
+ groupName: group.groupName,
2320
+ isSearchActive: isSearchActive
2321
+ })
2322
+ })
2323
+ }), !isOpen && jsxRuntime.jsx(SelectedGroupFieldsCountStamp, {
2324
+ group: group
2325
+ })]
2326
+ })
2327
+ })]
2328
+ });
2329
+ }
2330
+ }, `${isSearchActive}`);
2331
+ };
2332
+
2333
+ 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)."; }
2334
+ var _ref = process.env.NODE_ENV === "production" ? {
2335
+ name: "ti75j2",
2336
+ styles: "margin:0"
2337
+ } : {
2338
+ name: "ozey8m-NoSearchResults",
2339
+ styles: "margin:0;label:NoSearchResults;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vLXNlYXJjaC1yZXN1bHRzLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlZ0IiLCJmaWxlIjoibm8tc2VhcmNoLXJlc3VsdHMuanN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FyZCwgU3BhY2luZ3MsIFRleHQgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC91aS1raXQnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBtZXNzYWdlcyBmcm9tICcuLi9tZXNzYWdlcydcblxuZXhwb3J0IGNvbnN0IE5vU2VhcmNoUmVzdWx0cyA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8Q2FyZCBpbnNldFNjYWxlPVwieGxcIj5cbiAgICAgIDxTcGFjaW5ncy5TdGFjayBzY2FsZT1cInNcIj5cbiAgICAgICAgPFRleHQuQm9keVxuICAgICAgICAgIGZvbnRXZWlnaHQ9XCJtZWRpdW1cIlxuICAgICAgICAgIGludGxNZXNzYWdlPXttZXNzYWdlcy50aGVyZUFyZU5vUmVzdWx0c31cbiAgICAgICAgLz5cbiAgICAgICAgPFRleHQuQm9keSBpbnRsTWVzc2FnZT17bWVzc2FnZXMuc3VnZ2VzdGlvbnN9IC8+XG4gICAgICA8L1NwYWNpbmdzLlN0YWNrPlxuICAgICAgPHVsXG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAgPGxpPlxuICAgICAgICAgIDxUZXh0LkJvZHkgaW50bE1lc3NhZ2U9e21lc3NhZ2VzLmNoZWNrVGhlU3BlbGxpbmd9IC8+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8VGV4dC5Cb2R5IGludGxNZXNzYWdlPXttZXNzYWdlcy5zZWFyY2hCeUVudGVyaW5nVGhlRXhhY3RGaWVsZE5hbWV9IC8+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvQ2FyZD5cbiAgKVxufVxuIl19 */",
2340
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
2341
+ };
2342
+ const NoSearchResults = () => {
2343
+ return jsxRuntime.jsxs(uiKit.Card, {
2344
+ insetScale: "xl",
2345
+ children: [jsxRuntime.jsxs(uiKit.Spacings.Stack, {
2346
+ scale: "s",
2347
+ children: [jsxRuntime.jsx(uiKit.Text.Body, {
2348
+ fontWeight: "medium",
2349
+ intlMessage: messages.thereAreNoResults
2350
+ }), jsxRuntime.jsx(uiKit.Text.Body, {
2351
+ intlMessage: messages.suggestions
2352
+ })]
2353
+ }), jsxRuntime.jsxs("ul", {
2354
+ css: _ref,
2355
+ children: [jsxRuntime.jsx("li", {
2356
+ children: jsxRuntime.jsx(uiKit.Text.Body, {
2357
+ intlMessage: messages.checkTheSpelling
2358
+ })
2359
+ }), jsxRuntime.jsx("li", {
2360
+ children: jsxRuntime.jsx(uiKit.Text.Body, {
2361
+ intlMessage: messages.searchByEnteringTheExactFieldName
2362
+ })
2363
+ })]
2364
+ })]
2365
+ });
2366
+ };
2367
+
2368
+ function ownKeys$5(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; }
2369
+ function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var _context5, _context6; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context5 = ownKeys$5(Object(t), !0)).call(_context5, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context6 = ownKeys$5(Object(t))).call(_context6, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
2370
+ const totalSpacing = 56 +
2371
+ // MC header
2372
+ 32 * 2 + (
2373
+ // outer modal spacing
2374
+ 32 + 40) +
2375
+ // footer (dialog buttons + margin)
2376
+ 40 +
2377
+ // search input
2378
+ 24 +
2379
+ // search input padding
2380
+ 24 +
2381
+ // modal header
2382
+ 16 +
2383
+ // modal header margin
2384
+ 8 + (
2385
+ // spacing between search input and grid card
2386
+ 16 * 2 + 8 * 2) +
2387
+ // modal paddings
2388
+ 26 +
2389
+ // "Select fields from a limited list" radio button height
2390
+ 26 +
2391
+ // "Select fields from an imported CSV template" radio button height
2392
+ 48 +
2393
+ // Inset paddings (top + bottom)
2394
+ 1 +
2395
+ // 1st Divider height
2396
+ 1 +
2397
+ // 2nd Divider height
2398
+ 8 + 8 +
2399
+ // Divider margins
2400
+ 86 +
2401
+ // locale selector
2402
+ 32 +
2403
+ // locales selector margin
2404
+ 4; // borders
2405
+
2406
+ const MIN_SEARCH_LENGTH = 3;
2407
+ const StyledGridCard = /*#__PURE__*/_styled__default["default"](uiKit.Card, process.env.NODE_ENV === "production" ? {
2408
+ target: "e1odwg620"
2409
+ } : {
2410
+ target: "e1odwg620",
2411
+ label: "StyledGridCard"
2412
+ })("max-height:calc(100vh - ", totalSpacing, "px);overflow:auto;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGVkLWZpZWxkcy1mb3JtLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2Q21DIiwiZmlsZSI6InNlbGVjdGVkLWZpZWxkcy1mb3JtLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZUludGwgfSBmcm9tICdyZWFjdC1pbnRsJ1xuaW1wb3J0IHsgdXNlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXBwbGljYXRpb24tc2hlbGwtY29ubmVjdG9ycydcbmltcG9ydCB7IHVzZVN0b3JhZ2UgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9leHBlcmltZW50YWwtY29tcG9uZW50cydcbmltcG9ydCB7XG4gIENhcmQsXG4gIEdyaWQsXG4gIFNwYWNpbmdzLFxuICBTZWFyY2hUZXh0SW5wdXQsXG4gIGRlc2lnblRva2Vucyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvdWkta2l0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgZGVib3VuY2UgZnJvbSAnbG9kYXNoL2RlYm91bmNlJ1xuaW1wb3J0IEV4cG9ydEZpZWxkU2VsZWN0aW9uUHJvdmlkZXIgZnJvbSAnLi9leHBvcnQtZmllbGQtc2VsZWN0aW9uLXByb3ZpZGVyJ1xuaW1wb3J0IHsgRmllbGRHcm91cFNlY3Rpb24gfSBmcm9tICcuL2ZpZWxkLWdyb3VwLXNlY3Rpb24nXG5pbXBvcnQgeyBPUEVSQVRJT05TX0VYUE9SVF9SRVNPVVJDRVNfTU9EQUxfU0VMRUNUSU9OIH0gZnJvbSAnLi4vLi4vQGNvbnN0YW50cydcbmltcG9ydCB7IHVzZUV4cG9ydFJlc291cmNlc01vZGFsQ29udGV4dCB9IGZyb20gJy4uLy4uL0Bob29rcydcbmltcG9ydCB7IHR5cGUgRm9ybUZpZWxkLCB0eXBlIEZvcm1Hcm91cCB9IGZyb20gJy4uLy4uL0B0eXBlcydcbmltcG9ydCB7IHVwZGF0ZUZpZWxkRGVwZW5kZW5jaWVzU3RhdHVzIH0gZnJvbSAnLi4vLi4vQHV0aWxzJ1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4uLy4uL21lc3NhZ2VzJ1xuaW1wb3J0IHsgTm9TZWFyY2hSZXN1bHRzIH0gZnJvbSAnLi4vbm8tc2VhcmNoLXJlc3VsdHMnXG5cbmNvbnN0IHRvdGFsU3BhY2luZyA9XG4gIDU2ICsgLy8gTUMgaGVhZGVyXG4gIDMyICogMiArIC8vIG91dGVyIG1vZGFsIHNwYWNpbmdcbiAgKDMyICsgNDApICsgLy8gZm9vdGVyIChkaWFsb2cgYnV0dG9ucyArIG1hcmdpbilcbiAgNDAgKyAvLyBzZWFyY2ggaW5wdXRcbiAgMjQgKyAvLyBzZWFyY2ggaW5wdXQgcGFkZGluZ1xuICAyNCArIC8vIG1vZGFsIGhlYWRlclxuICAxNiArIC8vIG1vZGFsIGhlYWRlciBtYXJnaW5cbiAgOCArIC8vIHNwYWNpbmcgYmV0d2VlbiBzZWFyY2ggaW5wdXQgYW5kIGdyaWQgY2FyZFxuICAoMTYgKiAyICsgOCAqIDIpICsgLy8gbW9kYWwgcGFkZGluZ3NcbiAgMjYgKyAvLyBcIlNlbGVjdCBmaWVsZHMgZnJvbSBhIGxpbWl0ZWQgbGlzdFwiIHJhZGlvIGJ1dHRvbiBoZWlnaHRcbiAgMjYgKyAvLyBcIlNlbGVjdCBmaWVsZHMgZnJvbSBhbiBpbXBvcnRlZCBDU1YgdGVtcGxhdGVcIiByYWRpbyBidXR0b24gaGVpZ2h0XG4gIDQ4ICsgLy8gSW5zZXQgcGFkZGluZ3MgKHRvcCArIGJvdHRvbSlcbiAgMSArIC8vIDFzdCBEaXZpZGVyIGhlaWdodFxuICAxICsgLy8gMm5kIERpdmlkZXIgaGVpZ2h0XG4gIDggK1xuICA4ICsgLy8gRGl2aWRlciBtYXJnaW5zXG4gIDg2ICsgLy8gbG9jYWxlIHNlbGVjdG9yXG4gIDMyICsgLy8gbG9jYWxlcyBzZWxlY3RvciBtYXJnaW5cbiAgNCAvLyBib3JkZXJzXG5cbmNvbnN0IE1JTl9TRUFSQ0hfTEVOR1RIID0gM1xuXG5jb25zdCBTdHlsZWRHcmlkQ2FyZCA9IHN0eWxlZChDYXJkKWBcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICR7dG90YWxTcGFjaW5nfXB4KTtcbiAgb3ZlcmZsb3c6IGF1dG87XG5gXG5cbmV4cG9ydCBjb25zdCBTZWxlY3RlZEZpZWxkc0Zvcm0gPSAoKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKClcbiAgY29uc3QgW2ZpZWxkU2VhcmNoVGVybSwgc2V0RmllbGRTZWFyY2hUZXJtXSA9IFJlYWN0LnVzZVN0YXRlKCcnKVxuICBjb25zdCB7IHByb2plY3RLZXkgfSA9IHVzZUFwcGxpY2F0aW9uQ29udGV4dCgoY29udGV4dCkgPT4gKHtcbiAgICBwcm9qZWN0S2V5OiBjb250ZXh0LnByb2plY3Q/LmtleSxcbiAgfSkpXG4gIGNvbnN0IFtfLCBzZXRDYWNoZWRTZWxlY3RlZEdyb3Vwc10gPSB1c2VTdG9yYWdlKFxuICAgIGAke3Byb2plY3RLZXl9LyR7T1BFUkFUSU9OU19FWFBPUlRfUkVTT1VSQ0VTX01PREFMX1NFTEVDVElPTn1gLFxuICAgIHt9XG4gIClcbiAgY29uc3QgeyBmb3JtaWssIHJlc291cmNlVHlwZSB9ID0gdXNlRXhwb3J0UmVzb3VyY2VzTW9kYWxDb250ZXh0KClcblxuICBjb25zdCBpc1NlYXJjaEFjdGl2ZSA9IGZpZWxkU2VhcmNoVGVybT8udHJpbSgpPy5sZW5ndGggPj0gTUlOX1NFQVJDSF9MRU5HVEhcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZUZpZWxkRGVwZW5kZW5jaWVzU3RhdHVzKGZvcm1paylcbiAgICBjb25zdCBjaGVja2VkRmllbGRzID0ge31cbiAgICBmdW5jdGlvbiBnZXRDaGVja2VkRmllbGRzKGZpZWxkOiBGb3JtRmllbGQsIGdyb3VwTmFtZTogc3RyaW5nKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZC5uYW1lID8gYCR7Z3JvdXBOYW1lfS4ke2ZpZWxkLm5hbWV9YCA6IGdyb3VwTmFtZVxuICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICByZXR1cm4gZmllbGQuZmllbGRzLmZvckVhY2goKGYpID0+IGdldENoZWNrZWRGaWVsZHMoZiwgZmllbGROYW1lKSlcbiAgICAgIH1cblxuICAgICAgY2hlY2tlZEZpZWxkc1tmaWVsZE5hbWVdID0gZmllbGQuaXNDaGVja2VkXG4gICAgfVxuICAgIGZvcm1pay52YWx1ZXMuZ3JvdXBzLmZvckVhY2goKGdyb3VwOiBGb3JtR3JvdXApID0+IHtcbiAgICAgIGdyb3VwLmZpZWxkcy5mb3JFYWNoKChmaWVsZDogRm9ybUZpZWxkKSA9PiB7XG4gICAgICAgIGdldENoZWNrZWRGaWVsZHMoZmllbGQsIGdyb3VwLmdyb3VwTmFtZSlcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIHNldENhY2hlZFNlbGVjdGVkR3JvdXBzKHtcbiAgICAgIFtyZXNvdXJjZVR5cGVdOiBjaGVja2VkRmllbGRzLFxuICAgIH0pXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbZm9ybWlrLnZhbHVlcy5ncm91cHNdKVxuICAvLyBhZGRzIGBpc0hpZGRlbmAgcHJvcGVydHkgdG8gZWFjaCBmaWVsZCBiYXNlZCBvbiBzZWFyY2ggdGVybVxuICBjb25zdCBmaWx0ZXJlZEdyb3VwcyA9IFJlYWN0LnVzZU1lbW88Rm9ybUdyb3VwW10+KCgpID0+IHtcbiAgICBjb25zdCB1cGRhdGVGaWVsZHMgPSAoXG4gICAgICBmaWVsZHM6IEZvcm1GaWVsZFtdLFxuICAgICAgcGFyZW50TWF0Y2hlczogYm9vbGVhblxuICAgICk6IEZvcm1GaWVsZFtdID0+IHtcbiAgICAgIHJldHVybiBmaWVsZHMubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBtYXRjaGVzID0gZmllbGQubGFiZWxcbiAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAgIC5pbmNsdWRlcyhmaWVsZFNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgbGV0IGlzSGlkZGVuID0gIW1hdGNoZXMgJiYgIXBhcmVudE1hdGNoZXNcbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRGaWVsZHMgPSB1cGRhdGVGaWVsZHMoZmllbGQuZmllbGRzLCBtYXRjaGVzKVxuICAgICAgICAgIGlzSGlkZGVuID0gaXNIaWRkZW4gJiYgdXBkYXRlZEZpZWxkcy5ldmVyeSgoZikgPT4gZi5pc0hpZGRlbilcbiAgICAgICAgICBmaWVsZCA9IHtcbiAgICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgICAgZmllbGRzOiB1cGRhdGVkRmllbGRzLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5maWVsZCwgaXNIaWRkZW4gfVxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoIWlzU2VhcmNoQWN0aXZlKSByZXR1cm4gZm9ybWlrLnZhbHVlcy5ncm91cHNcblxuICAgIGNvbnN0IHVwZGF0ZUdyb3VwcyA9IChncm91cHM6IEZvcm1Hcm91cFtdKTogRm9ybUdyb3VwW10gPT4ge1xuICAgICAgcmV0dXJuIGdyb3Vwcy5tYXAoKGdyb3VwKSA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRGaWVsZHMgPSB1cGRhdGVGaWVsZHMoZ3JvdXAuZmllbGRzLCBmYWxzZSlcbiAgICAgICAgY29uc3QgaXNIaWRkZW4gPSB1cGRhdGVkRmllbGRzLmV2ZXJ5KChmaWVsZCkgPT4gZmllbGQuaXNIaWRkZW4pXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZ3JvdXAsXG4gICAgICAgICAgZmllbGRzOiB1cGRhdGVkRmllbGRzLFxuICAgICAgICAgIGlzSGlkZGVuLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4gdXBkYXRlR3JvdXBzKGZvcm1pay52YWx1ZXMuZ3JvdXBzKVxuICB9LCBbZm9ybWlrLnZhbHVlcy5ncm91cHMsIGZpZWxkU2VhcmNoVGVybSwgaXNTZWFyY2hBY3RpdmVdKVxuXG4gIGNvbnN0IG9uU2VhcmNoQ2hhbmdlID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50KSA9PiB7XG4gICAgICBzZXRGaWVsZFNlYXJjaFRlcm0oZXZlbnQudGFyZ2V0LnZhbHVlKVxuICAgIH0sXG4gICAgW3NldEZpZWxkU2VhcmNoVGVybV1cbiAgKVxuXG4gIGNvbnN0IGhhc1Jlc3VsdHMgPSBCb29sZWFuKGZpbHRlcmVkR3JvdXBzLmZpbmQoKGdyb3VwKSA9PiAhZ3JvdXAuaXNIaWRkZW4pKVxuXG4gIGNvbnN0IG9uU2VhcmNoQ2hhbmdlRGVib3VuY2VkID0gUmVhY3QudXNlTWVtbyhcbiAgICAoKSA9PiBkZWJvdW5jZShvblNlYXJjaENoYW5nZSwgNTAwKSxcbiAgICBbb25TZWFyY2hDaGFuZ2VdXG4gIClcblxuICBjb25zdCBvblNlYXJjaFJlc2V0ID0gKCkgPT4ge1xuICAgIHNldEZpZWxkU2VhcmNoVGVybSgnJylcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPEV4cG9ydEZpZWxkU2VsZWN0aW9uUHJvdmlkZXIgcmVzb3VyY2VUeXBlPXtyZXNvdXJjZVR5cGV9PlxuICAgICAgPFNwYWNpbmdzLlN0YWNrIHNjYWxlPVwic1wiPlxuICAgICAgICA8U2VhcmNoVGV4dElucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwuZm9ybWF0TWVzc2FnZShtZXNzYWdlcy5zZWFyY2hGb3JGaWVsZHMpfVxuICAgICAgICAgIHZhbHVlPXtmaWVsZFNlYXJjaFRlcm19XG4gICAgICAgICAgb25DaGFuZ2U9e29uU2VhcmNoQ2hhbmdlRGVib3VuY2VkfVxuICAgICAgICAgIG9uUmVzZXQ9e29uU2VhcmNoUmVzZXR9XG4gICAgICAgICAgLy8gVE9ETzogYFNlYXJjaFRleHRJbnB1dGAgcHJvcHMgdG8gYmUgaW1wcm92ZWQuIFRoZSBgb25TdWJtaXRgIGNhbGxiYWNrIHNob3VsZG4ndCBiZSBtYW5kYXRvcnlcbiAgICAgICAgICBvblN1Ym1pdD17KCkgPT4ge319XG4gICAgICAgICAgaWQ9XCJleHBvcnQtZmllbGRzLXNlYXJjaFwiXG4gICAgICAgIC8+XG4gICAgICAgIHtoYXNSZXN1bHRzID8gKFxuICAgICAgICAgIDxTdHlsZWRHcmlkQ2FyZCBpbnNldFNjYWxlPVwibm9uZVwiPlxuICAgICAgICAgICAgPEdyaWRcbiAgICAgICAgICAgICAgZ3JpZEF1dG9GbG93PVwicm93XCJcbiAgICAgICAgICAgICAgZ3JpZFRlbXBsYXRlQ29sdW1ucz17YGNhbGMoJHtkZXNpZ25Ub2tlbnMuc3BhY2luZ0x9ICsgJHtkZXNpZ25Ub2tlbnMuY29uc3RyYWludDV9ICsgJHtkZXNpZ25Ub2tlbnMuc3BhY2luZ0x9KSBhdXRvYH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2ZpbHRlcmVkR3JvdXBzLm1hcCgoZ3JvdXAsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgPEZpZWxkR3JvdXBTZWN0aW9uXG4gICAgICAgICAgICAgICAgICBrZXk9e2dyb3VwLmdyb3VwTmFtZX1cbiAgICAgICAgICAgICAgICAgIGdyb3VwPXtncm91cH1cbiAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgIGZvcm1paz17Zm9ybWlrfVxuICAgICAgICAgICAgICAgICAgaXNTZWFyY2hBY3RpdmU9e2lzU2VhcmNoQWN0aXZlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9HcmlkPlxuICAgICAgICAgIDwvU3R5bGVkR3JpZENhcmQ+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPE5vU2VhcmNoUmVzdWx0cyAvPlxuICAgICAgICApfVxuICAgICAgPC9TcGFjaW5ncy5TdGFjaz5cbiAgICA8L0V4cG9ydEZpZWxkU2VsZWN0aW9uUHJvdmlkZXI+XG4gIClcbn1cbiJdfQ== */"));
2413
+ const SelectedFieldsForm = () => {
2414
+ const intl = reactIntl.useIntl();
2415
+ const _React$useState = React__default["default"].useState(''),
2416
+ _React$useState2 = _slicedToArray(_React$useState, 2),
2417
+ fieldSearchTerm = _React$useState2[0],
2418
+ setFieldSearchTerm = _React$useState2[1];
2419
+ const _useApplicationContex = applicationShellConnectors.useApplicationContext(context => ({
2420
+ projectKey: context.project?.key
2421
+ })),
2422
+ projectKey = _useApplicationContex.projectKey;
2423
+ const _useStorage = experimentalComponents.useStorage(`${projectKey}/${OPERATIONS_EXPORT_RESOURCES_MODAL_SELECTION}`, {}),
2424
+ _useStorage2 = _slicedToArray(_useStorage, 2);
2425
+ _useStorage2[0];
2426
+ const setCachedSelectedGroups = _useStorage2[1];
2427
+ const _useExportResourcesMo = useExportResourcesModalContext(),
2428
+ formik = _useExportResourcesMo.formik,
2429
+ resourceType = _useExportResourcesMo.resourceType;
2430
+ const isSearchActive = fieldSearchTerm?.trim()?.length >= MIN_SEARCH_LENGTH;
2431
+ React__default["default"].useEffect(() => {
2432
+ var _context2;
2433
+ updateFieldDependenciesStatus(formik);
2434
+ const checkedFields = {};
2435
+ function getCheckedFields(field, groupName) {
2436
+ const fieldName = field.name ? `${groupName}.${field.name}` : groupName;
2437
+ if (field.fields) {
2438
+ var _context;
2439
+ return _forEachInstanceProperty__default["default"](_context = field.fields).call(_context, f => getCheckedFields(f, fieldName));
2440
+ }
2441
+ checkedFields[fieldName] = field.isChecked;
2442
+ }
2443
+ _forEachInstanceProperty__default["default"](_context2 = _valuesInstanceProperty__default["default"](formik).groups).call(_context2, group => {
2444
+ var _context3;
2445
+ _forEachInstanceProperty__default["default"](_context3 = group.fields).call(_context3, field => {
2446
+ getCheckedFields(field, group.groupName);
2447
+ });
2448
+ });
2449
+ setCachedSelectedGroups({
2450
+ [resourceType]: checkedFields
2451
+ });
2452
+ // eslint-disable-next-line react-hooks/exhaustive-deps
2453
+ }, [_valuesInstanceProperty__default["default"](formik).groups]);
2454
+ // adds `isHidden` property to each field based on search term
2455
+ const filteredGroups = React__default["default"].useMemo(() => {
2456
+ const updateFields = (fields, parentMatches) => {
2457
+ return _mapInstanceProperty__default["default"](fields).call(fields, field => {
2458
+ var _context4;
2459
+ const matches = _includesInstanceProperty__default["default"](_context4 = field.label.toLowerCase()).call(_context4, fieldSearchTerm.toLowerCase());
2460
+ let isHidden = !matches && !parentMatches;
2461
+ if (field.fields) {
2462
+ const updatedFields = updateFields(field.fields, matches);
2463
+ isHidden = isHidden && _everyInstanceProperty__default["default"](updatedFields).call(updatedFields, f => f.isHidden);
2464
+ field = _objectSpread$5(_objectSpread$5({}, field), {}, {
2465
+ fields: updatedFields
2466
+ });
2467
+ }
2468
+ return _objectSpread$5(_objectSpread$5({}, field), {}, {
2469
+ isHidden
2470
+ });
2471
+ });
2472
+ };
2473
+ if (!isSearchActive) return _valuesInstanceProperty__default["default"](formik).groups;
2474
+ const updateGroups = groups => {
2475
+ return _mapInstanceProperty__default["default"](groups).call(groups, group => {
2476
+ const updatedFields = updateFields(group.fields, false);
2477
+ const isHidden = _everyInstanceProperty__default["default"](updatedFields).call(updatedFields, field => field.isHidden);
2478
+ return _objectSpread$5(_objectSpread$5({}, group), {}, {
2479
+ fields: updatedFields,
2480
+ isHidden
2481
+ });
2482
+ });
2483
+ };
2484
+ return updateGroups(_valuesInstanceProperty__default["default"](formik).groups);
2485
+ }, [_valuesInstanceProperty__default["default"](formik).groups, fieldSearchTerm, isSearchActive]);
2486
+ const onSearchChange = React__default["default"].useCallback(event => {
2487
+ setFieldSearchTerm(event.target.value);
2488
+ }, [setFieldSearchTerm]);
2489
+ const hasResults = Boolean(_findInstanceProperty__default["default"](filteredGroups).call(filteredGroups, group => !group.isHidden));
2490
+ const onSearchChangeDebounced = React__default["default"].useMemo(() => debounce__default["default"](onSearchChange, 500), [onSearchChange]);
2491
+ const onSearchReset = () => {
2492
+ setFieldSearchTerm('');
2493
+ };
2494
+ return jsxRuntime.jsx(ExportFieldSelectionProvider, {
2495
+ resourceType: resourceType,
2496
+ children: jsxRuntime.jsxs(uiKit.Spacings.Stack, {
2497
+ scale: "s",
2498
+ children: [jsxRuntime.jsx(uiKit.SearchTextInput, {
2499
+ placeholder: intl.formatMessage(messages.searchForFields),
2500
+ value: fieldSearchTerm,
2501
+ onChange: onSearchChangeDebounced,
2502
+ onReset: onSearchReset
2503
+ // TODO: `SearchTextInput` props to be improved. The `onSubmit` callback shouldn't be mandatory
2504
+ ,
2505
+ onSubmit: () => {},
2506
+ id: "export-fields-search"
2507
+ }), hasResults ? jsxRuntime.jsx(StyledGridCard, {
2508
+ insetScale: "none",
2509
+ children: jsxRuntime.jsx(uiKit.Grid, {
2510
+ gridAutoFlow: "row",
2511
+ gridTemplateColumns: `calc(${uiKit.designTokens.spacingL} + ${uiKit.designTokens.constraint5} + ${uiKit.designTokens.spacingL}) auto`,
2512
+ children: _mapInstanceProperty__default["default"](filteredGroups).call(filteredGroups, (group, index) => jsxRuntime.jsx(FieldGroupSection, {
2513
+ group: group,
2514
+ index: index,
2515
+ formik: formik,
2516
+ isSearchActive: isSearchActive
2517
+ }, group.groupName))
2518
+ })
2519
+ }) : jsxRuntime.jsx(NoSearchResults, {})]
2520
+ })
2521
+ });
2522
+ };
2523
+
2524
+ const Divider = /*#__PURE__*/_styled__default["default"]("hr", process.env.NODE_ENV === "production" ? {
2525
+ target: "e1flfma0"
2526
+ } : {
2527
+ target: "e1flfma0",
2528
+ label: "Divider"
2529
+ })("display:block;height:1px;border:0;border-top:1px solid ", uiKit.designTokens.colorNeutral90, ";margin:0;padding:0;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdnQyIsImZpbGUiOiJkaXZpZGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3VpLWtpdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuXG5leHBvcnQgY29uc3QgRGl2aWRlciA9IHN0eWxlZC5ocmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2Rlc2lnblRva2Vucy5jb2xvck5ldXRyYWw5MH07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbmBcbiJdfQ== */"));
2530
+
2531
+ const ExportFieldsSelectionStep = () => {
2532
+ const intl = reactIntl.useIntl();
2533
+ const _useExportResourcesMo = useExportResourcesModalContext(),
2534
+ formik = _useExportResourcesMo.formik,
2535
+ setCurrentStep = _useExportResourcesMo.setCurrentStep,
2536
+ onClose = _useExportResourcesMo.onClose,
2537
+ resourceType = _useExportResourcesMo.resourceType,
2538
+ fieldSelectionMode = _useExportResourcesMo.fieldSelectionMode,
2539
+ setFieldSelectionMode = _useExportResourcesMo.setFieldSelectionMode,
2540
+ setLocaleOption = _useExportResourcesMo.setLocaleOption;
2541
+ const shouldDisableImportedCsvTemplateOption = _valuesInstanceProperty__default["default"](formik).outputFormat === OUTPUT_FORMATS.JSON;
2542
+ const isUsingImportedCsvTemplate = fieldSelectionMode === 'imported-csv-template';
2543
+ const handleFieldSelectionModeChange = event => {
2544
+ const newFieldSelectionMode = event.target.value;
2545
+ setFieldSelectionMode(newFieldSelectionMode);
2546
+ if (newFieldSelectionMode !== 'imported-csv-template') {
2547
+ setLocaleOption(LocaleOption.Selected);
2548
+ }
2549
+ };
2550
+ return jsxRuntime.jsx(applicationComponents.FormDialog, {
2551
+ isOpen: true,
2552
+ title: `${intl.formatMessage(messages.stepCount, {
2553
+ currentStep: 2,
2554
+ totalSteps: TOTAL_STEPS
2555
+ })}: ${intl.formatMessage(messages.selectFieldsToExport)}`,
2556
+ labelPrimary: `${intl.formatMessage(messages.stepNumber, {
2557
+ stepNumber: 3
2558
+ })}: ${intl.formatMessage(messages.confirmSelection)}`,
2559
+ iconLeftPrimaryButton: jsxRuntime.jsx(uiKit.AngleRightIcon, {}),
2560
+ onPrimaryButtonClick: formik.submitForm,
2561
+ isPrimaryButtonDisabled: !formik.isValid,
2562
+ labelSecondary: intl.formatMessage(messages.back),
2563
+ onSecondaryButtonClick: () => setCurrentStep(Step.FileSettings),
2564
+ onClose: onClose,
2565
+ size: 16,
2566
+ dataAttributesPrimaryButton: {
2567
+ 'data-tracking-target': `${resourceType}_export-start_export_button`
2568
+ },
2569
+ children: jsxRuntime.jsx(fullstory.Masking.Unmask, {
2570
+ children: jsxRuntime.jsxs(uiKit.Spacings.Stack, {
2571
+ scale: "xl",
2572
+ children: [jsxRuntime.jsxs(uiKit.Spacings.Stack, {
2573
+ scale: isUsingImportedCsvTemplate ? 'l' : 'xs',
2574
+ children: [jsxRuntime.jsxs(uiKit.Spacings.Stack, {
2575
+ children: [jsxRuntime.jsx(uiKit.RadioInput.Option, {
2576
+ value: FIELD_SELECTION_MODES.SELECTED_FIELDS,
2577
+ isChecked: fieldSelectionMode === FIELD_SELECTION_MODES.SELECTED_FIELDS,
2578
+ onChange: handleFieldSelectionModeChange,
2579
+ children: intl.formatMessage(messages.selectFieldsFromLimitedList)
2580
+ }), jsxRuntime.jsx(Divider, {}), fieldSelectionMode === FIELD_SELECTION_MODES.SELECTED_FIELDS && jsxRuntime.jsx(uiKit.Spacings.Inset, {
2581
+ scale: "l",
2582
+ children: jsxRuntime.jsx(SelectedFieldsForm, {})
2583
+ })]
2584
+ }), jsxRuntime.jsxs(uiKit.Spacings.Stack, {
2585
+ children: [jsxRuntime.jsx(uiKit.RadioInput.Option, {
2586
+ isDisabled: shouldDisableImportedCsvTemplateOption,
2587
+ value: FIELD_SELECTION_MODES.IMPORTED_CSV_TEMPLATE,
2588
+ isChecked: fieldSelectionMode === FIELD_SELECTION_MODES.IMPORTED_CSV_TEMPLATE,
2589
+ onChange: handleFieldSelectionModeChange,
2590
+ children: intl.formatMessage(messages.selectFieldsFromImportedCSV)
2591
+ }), jsxRuntime.jsx(Divider, {}), fieldSelectionMode === FIELD_SELECTION_MODES.IMPORTED_CSV_TEMPLATE && jsxRuntime.jsx(uiKit.Spacings.Inset, {
2592
+ scale: "l",
2593
+ children: jsxRuntime.jsx(ImportedCsvTemplateFieldsForm, {})
2594
+ })]
2595
+ })]
2596
+ }), jsxRuntime.jsx(ExportLocaleSelectField, {})]
2597
+ })
2598
+ })
2599
+ });
2600
+ };
2601
+
2602
+ const ExportResourcesContext = /*#__PURE__*/React.createContext();
2603
+
2604
+ const _excluded$1 = ["children"];
2605
+ const ExportResourcesProvider = _ref => {
2606
+ let children = _ref.children,
2607
+ props = _objectWithoutProperties(_ref, _excluded$1);
2608
+ const initialValues = useInitialValues(props);
2609
+ const _React$useState = React__default["default"].useState(Step.FileSettings),
2610
+ _React$useState2 = _slicedToArray(_React$useState, 2),
2611
+ currentStep = _React$useState2[0],
2612
+ setCurrentStep = _React$useState2[1];
2613
+ const _React$useState3 = React__default["default"].useState(() => getInitialExportType({
2614
+ selectedResourceIds: props.selectedResourceIds,
2615
+ filters: props.filters
2616
+ })),
2617
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
2618
+ exportType = _React$useState4[0],
2619
+ setExportType = _React$useState4[1];
2620
+ const _React$useState5 = React__default["default"].useState(LocaleOption.Selected),
2621
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
2622
+ localeOption = _React$useState6[0],
2623
+ setLocaleOption = _React$useState6[1];
2624
+ const _React$useState7 = React__default["default"].useState('selected-fields'),
2625
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
2626
+ fieldSelectionMode = _React$useState8[0],
2627
+ setFieldSelectionMode = _React$useState8[1];
2628
+ const _React$useState9 = React__default["default"].useState([]),
2629
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
2630
+ importedHeaders = _React$useState10[0],
2631
+ setImportedHeaders = _React$useState10[1];
2632
+ const _React$useState11 = React__default["default"].useState([]),
2633
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
2634
+ validationErrors = _React$useState12[0],
2635
+ setValidationErrors = _React$useState12[1];
2636
+ const _useStartExportOperat = useStartExportOperation(props),
2637
+ startExportOperation = _useStartExportOperat.startExportOperation;
2638
+ const _useValidateImportedH = useValidateImportedHeaders(),
2639
+ validateHeaders = _useValidateImportedH.validateHeaders;
2640
+ const onSubmit = async values => {
2641
+ if (currentStep === Step.FileSettings) {
2642
+ setCurrentStep(Step.FieldsSelection);
2643
+ } else if (currentStep === Step.FieldsSelection) {
2644
+ if (fieldSelectionMode !== 'imported-csv-template') {
2645
+ setCurrentStep(Step.ConfirmExport);
2646
+ return;
2647
+ }
2648
+ const isUsingImportedCsvLocales = localeOption === 'onlyLocalesFoundInCsvFile';
2649
+ const validationResult = await validateHeaders({
2650
+ fileName: values.fileName,
2651
+ outputFormat: values.outputFormat,
2652
+ resourceType: props.resourceType,
2653
+ fields: importedHeaders,
2654
+ locales: isUsingImportedCsvLocales ? undefined : values.locales
2655
+ });
2656
+ if (validationResult?.success) {
2657
+ setCurrentStep(Step.ConfirmExport);
2658
+ } else {
2659
+ setValidationErrors(validationResult?.validationErrors);
2660
+ setCurrentStep(Step.ValidationErrors);
2661
+ }
2662
+ } else {
2663
+ startExportOperation(values, exportType, fieldSelectionMode, localeOption, importedHeaders);
2664
+ }
2665
+ };
2666
+ const formik$1 = formik.useFormik({
2667
+ initialValues,
2668
+ validate: values => validate({
2669
+ values,
2670
+ step: currentStep,
2671
+ fieldSelectionMode,
2672
+ importedHeaders
2673
+ }),
2674
+ onSubmit
2675
+ });
2676
+ React__default["default"].useEffect(() => {
2677
+ formik$1.validateForm();
2678
+ }, [currentStep, fieldSelectionMode, importedHeaders]);
2679
+ return jsxRuntime.jsx(ExportResourcesContext.Provider, {
2680
+ value: {
2681
+ formik: formik$1,
2682
+ currentStep,
2683
+ setCurrentStep,
2684
+ onClose: props.onClose,
2685
+ resourceType: props.resourceType,
2686
+ exportType: exportType,
2687
+ totalResourcesCount: props.totalResourcesCount,
2688
+ selectedResourceIds: props.selectedResourceIds,
2689
+ hideExportSelectedResourcesOption: props.hideExportSelectedResourcesOption,
2690
+ filters: props.filters,
2691
+ hasFilters: areFiltersApplied(props.filters),
2692
+ setExportType,
2693
+ fieldSelectionMode,
2694
+ setFieldSelectionMode,
2695
+ localeOption,
2696
+ setLocaleOption,
2697
+ importedHeaders,
2698
+ setImportedHeaders,
2699
+ validationErrors
2700
+ },
2701
+ children: children
2702
+ });
2703
+ };
2704
+
2705
+ const DEFAULT_MAX_VISIBLE_FIELDS = 10;
2706
+ const FieldsPreview = _ref => {
2707
+ let previewGroupLabel = _ref.previewGroupLabel,
2708
+ fields = _ref.fields;
2709
+ const intl = reactIntl.useIntl();
2710
+ const _React$useState = React__default["default"].useState(false),
2711
+ _React$useState2 = _slicedToArray(_React$useState, 2),
2712
+ isExpanded = _React$useState2[0],
2713
+ setIsExpanded = _React$useState2[1];
2714
+ const hasMoreFields = fields.length > DEFAULT_MAX_VISIBLE_FIELDS;
2715
+ const visibleFields = isExpanded ? fields : _sliceInstanceProperty__default["default"](fields).call(fields, 0, DEFAULT_MAX_VISIBLE_FIELDS);
2716
+ return jsxRuntime.jsx(uiKit.Spacings.Stack, {
2717
+ children: jsxRuntime.jsxs(uiKit.TagList, {
2718
+ children: [previewGroupLabel && jsxRuntime.jsxs(uiKit.Text.Detail, {
2719
+ as: "span",
2720
+ fontWeight: "bold",
2721
+ children: [previewGroupLabel, ":"]
2722
+ }), _mapInstanceProperty__default["default"](visibleFields).call(visibleFields, (field, index) => jsxRuntime.jsx(uiKit.Stamp, {
2723
+ isCondensed: true,
2724
+ tone: "secondary",
2725
+ label: field
2726
+ }, index)), hasMoreFields && jsxRuntime.jsx(uiKit.FlatButton, {
2727
+ onClick: () => setIsExpanded(!isExpanded),
2728
+ icon: isExpanded ? jsxRuntime.jsx(uiKit.AngleUpIcon, {
2729
+ size: "small"
2730
+ }) : jsxRuntime.jsx(uiKit.AngleDownIcon, {
2731
+ size: "small"
2732
+ }),
2733
+ label: intl.formatMessage(isExpanded ? messages.showLess : messages.showAll)
2734
+ })]
2735
+ })
2736
+ });
2737
+ };
2738
+
2739
+ function ownKeys$4(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; }
2740
+ function _objectSpread$4(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$4(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$4(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
2741
+ const ExportConfirmationStep = () => {
2742
+ const intl = reactIntl.useIntl();
2743
+ const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => ({
2744
+ projectKey: applicationContext.project?.key
2745
+ })),
2746
+ projectKey = _useApplicationContex.projectKey;
2747
+ const _useExportResourcesMo = useExportResourcesModalContext(),
2748
+ formik = _useExportResourcesMo.formik,
2749
+ fieldSelectionMode = _useExportResourcesMo.fieldSelectionMode,
2750
+ importedHeaders = _useExportResourcesMo.importedHeaders,
2751
+ localeOption = _useExportResourcesMo.localeOption,
2752
+ setCurrentStep = _useExportResourcesMo.setCurrentStep,
2753
+ onClose = _useExportResourcesMo.onClose;
2754
+ const groupsWithSelectedFields = getGroupsWithSelectedFields(_valuesInstanceProperty__default["default"](formik).groups);
2755
+ const isUsingImportedCsvTemplate = fieldSelectionMode === 'imported-csv-template';
2756
+ const isUsingImportedCsvLocales = localeOption === 'onlyLocalesFoundInCsvFile';
2757
+ const allSelectedFieldCount = isUsingImportedCsvTemplate ? importedHeaders.length : getAllSelectedFieldCount(_valuesInstanceProperty__default["default"](formik).groups);
2758
+ const returnToFieldsSelection = () => setCurrentStep(Step.FieldsSelection);
2759
+ return jsxRuntime.jsx(applicationComponents.FormDialog, {
2760
+ isOpen: true,
2761
+ title: `${intl.formatMessage(messages.stepCount, {
2762
+ currentStep: 3,
2763
+ totalSteps: TOTAL_STEPS
2764
+ })}: ${intl.formatMessage(messages.exportPreview)}`,
2765
+ labelPrimary: intl.formatMessage(messages.startExport),
2766
+ onPrimaryButtonClick: formik.submitForm,
2767
+ labelSecondary: intl.formatMessage(messages.selectDifferentFields),
2768
+ onSecondaryButtonClick: returnToFieldsSelection,
2769
+ onClose: onClose,
2770
+ size: 16,
2771
+ children: jsxRuntime.jsx(fullstory.Masking.Unmask, {
2772
+ children: jsxRuntime.jsxs(uiKit.Spacings.Stack, {
2773
+ scale: "m",
2774
+ children: [jsxRuntime.jsx(uiKit.Card, {
2775
+ insetScale: "l",
2776
+ children: jsxRuntime.jsxs(uiKit.Spacings.Stack, {
2777
+ children: [jsxRuntime.jsxs(uiKit.Spacings.Inline, {
2778
+ alignItems: "center",
2779
+ children: [jsxRuntime.jsx(uiKit.CheckBoldIcon, {
2780
+ size: "40",
2781
+ color: "success"
2782
+ }), isUsingImportedCsvLocales ? jsxRuntime.jsx(uiKit.Text.Body, {
2783
+ intlMessage: _objectSpread$4(_objectSpread$4({}, messages.fieldsToBeExported), {}, {
2784
+ values: {
2785
+ fieldCount: allSelectedFieldCount,
2786
+ b: msg => jsxRuntime.jsx("b", {
2787
+ children: msg
2788
+ }, crypto.randomUUID())
2789
+ }
2790
+ })
2791
+ }) : jsxRuntime.jsx(uiKit.Text.Body, {
2792
+ intlMessage: _objectSpread$4(_objectSpread$4({}, messages.fieldsToBeExportedInLanguages), {}, {
2793
+ values: {
2794
+ fieldCount: allSelectedFieldCount,
2795
+ languageCount: _valuesInstanceProperty__default["default"](formik).locales.length,
2796
+ b: msg => jsxRuntime.jsx("b", {
2797
+ children: msg
2798
+ }, crypto.randomUUID())
2799
+ }
2800
+ })
2801
+ })]
2802
+ }), isUsingImportedCsvTemplate ? jsxRuntime.jsx(FieldsPreview, {
2803
+ fields: importedHeaders
2804
+ }) : _mapInstanceProperty__default["default"](groupsWithSelectedFields).call(groupsWithSelectedFields, group => {
2805
+ const selectedFields = getSelectedFieldLabels(group);
2806
+ return jsxRuntime.jsx(FieldsPreview, {
2807
+ previewGroupLabel: group.previewGroupLabel,
2808
+ fields: selectedFields
2809
+ }, group.groupName);
2810
+ })]
2811
+ })
2812
+ }), jsxRuntime.jsx(uiKit.Text.Body, {
2813
+ intlMessage: _objectSpread$4(_objectSpread$4({}, messages.exportProcessMayTakeAWhile), {}, {
2814
+ values: {
2815
+ exportLogsLink: msg => jsxRuntime.jsx(uiKit.Link, {
2816
+ tone: "secondary",
2817
+ to: `${projectKey}/operations/export/logs`,
2818
+ children: msg
2819
+ }, "export-logs-link"),
2820
+ operationsIcon: () => jsxRuntime.jsx(icons.OperationsIcon, {
2821
+ size: "40"
2822
+ }, "operations-icon")
2823
+ }
2824
+ })
2825
+ })]
2826
+ })
2827
+ })
2828
+ });
2829
+ };
2830
+
2831
+ function ownKeys$3(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; }
2832
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$3(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$3(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
2833
+ const getColumns = () => [{
2834
+ key: 'errorType',
2835
+ label: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$3({}, messages.errorType)),
2836
+ width: 'max-content'
2837
+ }, {
2838
+ key: 'details',
2839
+ label: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$3({}, messages.details))
2840
+ }];
2841
+ const ErrorTable = props => {
2842
+ var _context;
2843
+ const intl = reactIntl.useIntl();
2844
+ const rows = _mapInstanceProperty__default["default"](_context = props.errors).call(_context, row => _objectSpread$3(_objectSpread$3({}, row), {}, {
2845
+ id: row.code
2846
+ }));
2847
+ return jsxRuntime.jsx(uiKit.Spacings.Stack, {
2848
+ scale: "l",
2849
+ children: jsxRuntime.jsx(uiKit.DataTable, {
2850
+ verticalCellAlignment: "center",
2851
+ isCondensed: true,
2852
+ rows: rows,
2853
+ columns: getColumns(),
2854
+ itemRenderer: (item, column) => itemRenderer(item, column, intl)
2855
+ })
2856
+ });
2857
+ };
2858
+ function itemRenderer(item, column, intl) {
2859
+ var _context2;
2860
+ switch (column.key) {
2861
+ case 'errorType':
2862
+ return jsxRuntime.jsx(uiKit.Stamp, {
2863
+ isCondensed: true,
2864
+ label: getErrorTypeLabel(item.code, intl),
2865
+ tone: "critical"
2866
+ });
2867
+ case 'details':
2868
+ return jsxRuntime.jsxs(uiKit.Spacings.Stack, {
2869
+ scale: "xs",
2870
+ children: [jsxRuntime.jsx(uiKit.Text.Detail, {
2871
+ children: item.messageTitle
2872
+ }), jsxRuntime.jsx("ul", {
2873
+ style: {
2874
+ margin: 0,
2875
+ paddingLeft: uiKit.designTokens.spacingL
2876
+ },
2877
+ children: _mapInstanceProperty__default["default"](_context2 = item.fieldNames).call(_context2, (field, index) => jsxRuntime.jsx("li", {
2878
+ children: jsxRuntime.jsx(uiKit.Text.Detail, {
2879
+ children: field
2880
+ })
2881
+ }, index))
2882
+ })]
2883
+ });
2884
+ default:
2885
+ // eslint-disable-next-line no-console
2886
+ console.warn('Unknown column key', column.key);
2887
+ return null;
2888
+ }
2889
+ }
2890
+ function getErrorTypeLabel(errorCode, intl) {
2891
+ switch (errorCode) {
2892
+ case 'NotSupportedField':
2893
+ return intl.formatMessage(messages.notSupportedField);
2894
+ case 'DuplicateFields':
2895
+ return intl.formatMessage(messages.duplicateField);
2896
+ case 'LocalizedFieldWithoutLocale':
2897
+ return intl.formatMessage(messages.localizedFieldWithoutLocale);
2898
+ case 'AttributeDefinitionNotFound':
2899
+ return intl.formatMessage(messages.attributeDefinitionNotFound);
2900
+ case 'FieldDefinitionNotFound':
2901
+ return intl.formatMessage(messages.fieldDefinitionNotFound);
2902
+ case 'IncompleteField':
2903
+ return intl.formatMessage(messages.incompleteField);
2904
+ default:
2905
+ return errorCode;
2906
+ }
2907
+ }
2908
+
2909
+ function ownKeys$2(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; }
2910
+ 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__default["default"](_context = ownKeys$2(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$2(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
2911
+ const ExportValidationErrorsStep = () => {
2912
+ const intl = reactIntl.useIntl();
2913
+ const _useExportResourcesMo = useExportResourcesModalContext(),
2914
+ formik = _useExportResourcesMo.formik,
2915
+ setCurrentStep = _useExportResourcesMo.setCurrentStep,
2916
+ onClose = _useExportResourcesMo.onClose,
2917
+ validationErrors = _useExportResourcesMo.validationErrors,
2918
+ setImportedHeaders = _useExportResourcesMo.setImportedHeaders;
2919
+ const groupedErrors = groupFieldValidationErrors(validationErrors, intl);
2920
+ const returnToFieldsSelection = () => setCurrentStep(Step.FieldsSelection);
2921
+ const uploadDifferentCSV = () => {
2922
+ formik.setFieldValue('importedCsvTemplateFile', undefined);
2923
+ setImportedHeaders([]);
2924
+ setCurrentStep(Step.FieldsSelection);
2925
+ };
2926
+ return jsxRuntime.jsx(applicationComponents.FormDialog, {
2927
+ isOpen: true,
2928
+ "aria-label": intl.formatMessage(messages.csvUploadFailed),
2929
+ title: jsxRuntime.jsxs(uiKit.Spacings.Inline, {
2930
+ alignItems: "center",
2931
+ children: [jsxRuntime.jsx(icons.WarningIcon, {
2932
+ size: "20",
2933
+ color: "warning"
2934
+ }), jsxRuntime.jsx(uiKit.Text.Headline, {
2935
+ tone: "inherit",
2936
+ as: "h3",
2937
+ children: intl.formatMessage(messages.csvUploadFailed)
2938
+ })]
2939
+ }),
2940
+ labelPrimary: intl.formatMessage(messages.uploadDifferentCSV),
2941
+ iconLeftPrimaryButton: jsxRuntime.jsx(icons.ImportIcon, {}),
2942
+ onPrimaryButtonClick: uploadDifferentCSV,
2943
+ labelSecondary: intl.formatMessage(messages.backToPreviousStep),
2944
+ onSecondaryButtonClick: returnToFieldsSelection,
2945
+ onClose: onClose,
2946
+ size: 16,
2947
+ children: jsxRuntime.jsx(fullstory.Masking.Unmask, {
2948
+ children: jsxRuntime.jsxs(uiKit.Spacings.Stack, {
2949
+ scale: "m",
2950
+ children: [jsxRuntime.jsx(uiKit.Text.Body, {
2951
+ intlMessage: _objectSpread$2(_objectSpread$2({}, messages.uploadErrorsDetected), {}, {
2952
+ values: {
2953
+ total: intl.formatNumber(validationErrors.length),
2954
+ fileName: _valuesInstanceProperty__default["default"](formik).importedCsvTemplateFile?.name,
2955
+ b: msg => jsxRuntime.jsx("b", {
2956
+ children: msg
2957
+ }, crypto.randomUUID()),
2958
+ templateLink: msg => jsxRuntime.jsx(uiKit.Link, {
2959
+ tone: "secondary",
2960
+ to: CSV_TEMPLATES_LINK,
2961
+ isExternal: true,
2962
+ children: msg
2963
+ }, "template-link"),
2964
+ documentationLink: msg => jsxRuntime.jsx(uiKit.Link, {
2965
+ tone: "secondary",
2966
+ to: EXPORT_DATA_DOCUMENTATION_LINK,
2967
+ isExternal: true,
2968
+ children: msg
2969
+ }, "documentation-link")
2970
+ }
2971
+ })
2972
+ }), jsxRuntime.jsx(ErrorTable, {
2973
+ errors: groupedErrors
2974
+ })]
2975
+ })
2976
+ })
2977
+ });
2978
+ };
2979
+
2980
+ const CurrentStep = () => {
2981
+ const _useExportResourcesMo = useExportResourcesModalContext(),
2982
+ currentStep = _useExportResourcesMo.currentStep;
2983
+ const steps = {
2984
+ [Step.FileSettings]: jsxRuntime.jsx(ExportFileSettingsStep, {}),
2985
+ [Step.FieldsSelection]: jsxRuntime.jsx(ExportFieldsSelectionStep, {}),
2986
+ [Step.ConfirmExport]: jsxRuntime.jsx(ExportConfirmationStep, {}),
2987
+ [Step.ValidationErrors]: jsxRuntime.jsx(ExportValidationErrorsStep, {})
2988
+ };
2989
+ return steps[currentStep] || null;
2990
+ };
2991
+
2992
+ const getBorderColor = state => {
2993
+ const borderColors = {
2994
+ default: uiKit.designTokens.colorNeutral60,
2995
+ 'active-drag': uiKit.designTokens.colorPrimary
2996
+ };
2997
+ return borderColors[state] || borderColors.default;
2998
+ };
2999
+ const getDashedBorder = function () {
3000
+ let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';
3001
+ const color = getBorderColor(state);
3002
+ const svgContent = `
3003
+ <svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
3004
+ <rect width="100%" height="100%" fill="none" stroke="${color}" stroke-width="2px" stroke-dasharray="6,6" stroke-dashoffset="0" stroke-linecap="square"/>
3005
+ </svg>
3006
+ `;
3007
+ return `data:image/svg+xml,${encodeURIComponent(svgContent)}`;
3008
+ };
3009
+ const base = /*#__PURE__*/react.css("border-radius:", uiKit.designTokens.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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1QmdCIiwiZmlsZSI6InN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3VpLWtpdCdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgRHJvcEFyZWFTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL0B0eXBlcydcblxuY29uc3QgZ2V0Qm9yZGVyQ29sb3IgPSAoc3RhdGU6IERyb3BBcmVhU3RhdGUpID0+IHtcbiAgY29uc3QgYm9yZGVyQ29sb3JzID0ge1xuICAgIGRlZmF1bHQ6IGRlc2lnblRva2Vucy5jb2xvck5ldXRyYWw2MCxcbiAgICAnYWN0aXZlLWRyYWcnOiBkZXNpZ25Ub2tlbnMuY29sb3JQcmltYXJ5LFxuICB9XG5cbiAgcmV0dXJuIGJvcmRlckNvbG9yc1tzdGF0ZV0gfHwgYm9yZGVyQ29sb3JzLmRlZmF1bHRcbn1cblxuY29uc3QgZ2V0RGFzaGVkQm9yZGVyID0gKHN0YXRlOiBEcm9wQXJlYVN0YXRlID0gJ2RlZmF1bHQnKSA9PiB7XG4gIGNvbnN0IGNvbG9yID0gZ2V0Qm9yZGVyQ29sb3Ioc3RhdGUpXG4gIGNvbnN0IHN2Z0NvbnRlbnQgPSBgXG4gICAgPHN2ZyB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPHJlY3Qgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJHtjb2xvcn1cIiBzdHJva2Utd2lkdGg9XCIycHhcIiBzdHJva2UtZGFzaGFycmF5PVwiNiw2XCIgc3Ryb2tlLWRhc2hvZmZzZXQ9XCIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIi8+XG4gICAgPC9zdmc+XG4gIGBcbiAgcmV0dXJuIGBkYXRhOmltYWdlL3N2Zyt4bWwsJHtlbmNvZGVVUklDb21wb25lbnQoc3ZnQ29udGVudCl9YFxufVxuXG5jb25zdCBiYXNlID0gY3NzYFxuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM2fTtcbiAgbWluLWhlaWdodDogMTM2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuY29uc3QgcmVhZHlGb3JEcm9wID0gY3NzYFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcIiR7Z2V0RGFzaGVkQm9yZGVyKCl9XFxcIik7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmNvbG9yU3VyZmFjZX07XG5gXG5jb25zdCBhY3RpdmVEcmFnID0gY3NzYFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcIiR7Z2V0RGFzaGVkQm9yZGVyKCdhY3RpdmUtZHJhZycpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2Rlc2lnblRva2Vucy5jb2xvclByaW1hcnk5NX07XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmc1MH0gMTAwcHg7XG5gXG5jb25zdCBmaWxlRHJvcHBlZCA9IGNzc2BcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCIke2dldERhc2hlZEJvcmRlcigpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2Rlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICBwYWRkaW5nOiAke2Rlc2lnblRva2Vucy5zcGFjaW5nNTB9IDEwMHB4O1xuYFxuXG5leHBvcnQgY29uc3Qgc3R5bGVzID0ge1xuICBiYXNlLFxuICByZWFkeUZvckRyb3AsXG4gIGZpbGVEcm9wcGVkLFxuICBhY3RpdmVEcmFnLFxufVxuIl19 */");
3010
+ const readyForDrop = /*#__PURE__*/react.css("background-image:url(\"", getDashedBorder(), "\");background-color:", uiKit.designTokens.colorSurface, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:readyForDrop;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4QndCIiwiZmlsZSI6InN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3VpLWtpdCdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgRHJvcEFyZWFTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL0B0eXBlcydcblxuY29uc3QgZ2V0Qm9yZGVyQ29sb3IgPSAoc3RhdGU6IERyb3BBcmVhU3RhdGUpID0+IHtcbiAgY29uc3QgYm9yZGVyQ29sb3JzID0ge1xuICAgIGRlZmF1bHQ6IGRlc2lnblRva2Vucy5jb2xvck5ldXRyYWw2MCxcbiAgICAnYWN0aXZlLWRyYWcnOiBkZXNpZ25Ub2tlbnMuY29sb3JQcmltYXJ5LFxuICB9XG5cbiAgcmV0dXJuIGJvcmRlckNvbG9yc1tzdGF0ZV0gfHwgYm9yZGVyQ29sb3JzLmRlZmF1bHRcbn1cblxuY29uc3QgZ2V0RGFzaGVkQm9yZGVyID0gKHN0YXRlOiBEcm9wQXJlYVN0YXRlID0gJ2RlZmF1bHQnKSA9PiB7XG4gIGNvbnN0IGNvbG9yID0gZ2V0Qm9yZGVyQ29sb3Ioc3RhdGUpXG4gIGNvbnN0IHN2Z0NvbnRlbnQgPSBgXG4gICAgPHN2ZyB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPHJlY3Qgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJHtjb2xvcn1cIiBzdHJva2Utd2lkdGg9XCIycHhcIiBzdHJva2UtZGFzaGFycmF5PVwiNiw2XCIgc3Ryb2tlLWRhc2hvZmZzZXQ9XCIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIi8+XG4gICAgPC9zdmc+XG4gIGBcbiAgcmV0dXJuIGBkYXRhOmltYWdlL3N2Zyt4bWwsJHtlbmNvZGVVUklDb21wb25lbnQoc3ZnQ29udGVudCl9YFxufVxuXG5jb25zdCBiYXNlID0gY3NzYFxuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM2fTtcbiAgbWluLWhlaWdodDogMTM2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuY29uc3QgcmVhZHlGb3JEcm9wID0gY3NzYFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcIiR7Z2V0RGFzaGVkQm9yZGVyKCl9XFxcIik7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmNvbG9yU3VyZmFjZX07XG5gXG5jb25zdCBhY3RpdmVEcmFnID0gY3NzYFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcIiR7Z2V0RGFzaGVkQm9yZGVyKCdhY3RpdmUtZHJhZycpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2Rlc2lnblRva2Vucy5jb2xvclByaW1hcnk5NX07XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmc1MH0gMTAwcHg7XG5gXG5jb25zdCBmaWxlRHJvcHBlZCA9IGNzc2BcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCIke2dldERhc2hlZEJvcmRlcigpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2Rlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICBwYWRkaW5nOiAke2Rlc2lnblRva2Vucy5zcGFjaW5nNTB9IDEwMHB4O1xuYFxuXG5leHBvcnQgY29uc3Qgc3R5bGVzID0ge1xuICBiYXNlLFxuICByZWFkeUZvckRyb3AsXG4gIGZpbGVEcm9wcGVkLFxuICBhY3RpdmVEcmFnLFxufVxuIl19 */");
3011
+ const activeDrag = /*#__PURE__*/react.css("background-image:url(\"", getDashedBorder('active-drag'), "\");background-color:", uiKit.designTokens.colorPrimary95, ";padding:", uiKit.designTokens.spacing50, " 100px;" + (process.env.NODE_ENV === "production" ? "" : ";label:activeDrag;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQ3NCIiwiZmlsZSI6InN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3VpLWtpdCdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgRHJvcEFyZWFTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL0B0eXBlcydcblxuY29uc3QgZ2V0Qm9yZGVyQ29sb3IgPSAoc3RhdGU6IERyb3BBcmVhU3RhdGUpID0+IHtcbiAgY29uc3QgYm9yZGVyQ29sb3JzID0ge1xuICAgIGRlZmF1bHQ6IGRlc2lnblRva2Vucy5jb2xvck5ldXRyYWw2MCxcbiAgICAnYWN0aXZlLWRyYWcnOiBkZXNpZ25Ub2tlbnMuY29sb3JQcmltYXJ5LFxuICB9XG5cbiAgcmV0dXJuIGJvcmRlckNvbG9yc1tzdGF0ZV0gfHwgYm9yZGVyQ29sb3JzLmRlZmF1bHRcbn1cblxuY29uc3QgZ2V0RGFzaGVkQm9yZGVyID0gKHN0YXRlOiBEcm9wQXJlYVN0YXRlID0gJ2RlZmF1bHQnKSA9PiB7XG4gIGNvbnN0IGNvbG9yID0gZ2V0Qm9yZGVyQ29sb3Ioc3RhdGUpXG4gIGNvbnN0IHN2Z0NvbnRlbnQgPSBgXG4gICAgPHN2ZyB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPHJlY3Qgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJHtjb2xvcn1cIiBzdHJva2Utd2lkdGg9XCIycHhcIiBzdHJva2UtZGFzaGFycmF5PVwiNiw2XCIgc3Ryb2tlLWRhc2hvZmZzZXQ9XCIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIi8+XG4gICAgPC9zdmc+XG4gIGBcbiAgcmV0dXJuIGBkYXRhOmltYWdlL3N2Zyt4bWwsJHtlbmNvZGVVUklDb21wb25lbnQoc3ZnQ29udGVudCl9YFxufVxuXG5jb25zdCBiYXNlID0gY3NzYFxuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM2fTtcbiAgbWluLWhlaWdodDogMTM2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuY29uc3QgcmVhZHlGb3JEcm9wID0gY3NzYFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcIiR7Z2V0RGFzaGVkQm9yZGVyKCl9XFxcIik7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmNvbG9yU3VyZmFjZX07XG5gXG5jb25zdCBhY3RpdmVEcmFnID0gY3NzYFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcIiR7Z2V0RGFzaGVkQm9yZGVyKCdhY3RpdmUtZHJhZycpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2Rlc2lnblRva2Vucy5jb2xvclByaW1hcnk5NX07XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmc1MH0gMTAwcHg7XG5gXG5jb25zdCBmaWxlRHJvcHBlZCA9IGNzc2BcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCIke2dldERhc2hlZEJvcmRlcigpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2Rlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICBwYWRkaW5nOiAke2Rlc2lnblRva2Vucy5zcGFjaW5nNTB9IDEwMHB4O1xuYFxuXG5leHBvcnQgY29uc3Qgc3R5bGVzID0ge1xuICBiYXNlLFxuICByZWFkeUZvckRyb3AsXG4gIGZpbGVEcm9wcGVkLFxuICBhY3RpdmVEcmFnLFxufVxuIl19 */");
3012
+ const fileDropped = /*#__PURE__*/react.css("background-image:url(\"", getDashedBorder(), "\");background-color:", uiKit.designTokens.colorSurface, ";padding:", uiKit.designTokens.spacing50, " 100px;" + (process.env.NODE_ENV === "production" ? "" : ";label:fileDropped;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1Q3VCIiwiZmlsZSI6InN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3VpLWtpdCdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgRHJvcEFyZWFTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL0B0eXBlcydcblxuY29uc3QgZ2V0Qm9yZGVyQ29sb3IgPSAoc3RhdGU6IERyb3BBcmVhU3RhdGUpID0+IHtcbiAgY29uc3QgYm9yZGVyQ29sb3JzID0ge1xuICAgIGRlZmF1bHQ6IGRlc2lnblRva2Vucy5jb2xvck5ldXRyYWw2MCxcbiAgICAnYWN0aXZlLWRyYWcnOiBkZXNpZ25Ub2tlbnMuY29sb3JQcmltYXJ5LFxuICB9XG5cbiAgcmV0dXJuIGJvcmRlckNvbG9yc1tzdGF0ZV0gfHwgYm9yZGVyQ29sb3JzLmRlZmF1bHRcbn1cblxuY29uc3QgZ2V0RGFzaGVkQm9yZGVyID0gKHN0YXRlOiBEcm9wQXJlYVN0YXRlID0gJ2RlZmF1bHQnKSA9PiB7XG4gIGNvbnN0IGNvbG9yID0gZ2V0Qm9yZGVyQ29sb3Ioc3RhdGUpXG4gIGNvbnN0IHN2Z0NvbnRlbnQgPSBgXG4gICAgPHN2ZyB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPHJlY3Qgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJHtjb2xvcn1cIiBzdHJva2Utd2lkdGg9XCIycHhcIiBzdHJva2UtZGFzaGFycmF5PVwiNiw2XCIgc3Ryb2tlLWRhc2hvZmZzZXQ9XCIwXCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIi8+XG4gICAgPC9zdmc+XG4gIGBcbiAgcmV0dXJuIGBkYXRhOmltYWdlL3N2Zyt4bWwsJHtlbmNvZGVVUklDb21wb25lbnQoc3ZnQ29udGVudCl9YFxufVxuXG5jb25zdCBiYXNlID0gY3NzYFxuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM2fTtcbiAgbWluLWhlaWdodDogMTM2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuY29uc3QgcmVhZHlGb3JEcm9wID0gY3NzYFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcIiR7Z2V0RGFzaGVkQm9yZGVyKCl9XFxcIik7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmNvbG9yU3VyZmFjZX07XG5gXG5jb25zdCBhY3RpdmVEcmFnID0gY3NzYFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcIiR7Z2V0RGFzaGVkQm9yZGVyKCdhY3RpdmUtZHJhZycpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2Rlc2lnblRva2Vucy5jb2xvclByaW1hcnk5NX07XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmc1MH0gMTAwcHg7XG5gXG5jb25zdCBmaWxlRHJvcHBlZCA9IGNzc2BcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCIke2dldERhc2hlZEJvcmRlcigpfVxcXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2Rlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICBwYWRkaW5nOiAke2Rlc2lnblRva2Vucy5zcGFjaW5nNTB9IDEwMHB4O1xuYFxuXG5leHBvcnQgY29uc3Qgc3R5bGVzID0ge1xuICBiYXNlLFxuICByZWFkeUZvckRyb3AsXG4gIGZpbGVEcm9wcGVkLFxuICBhY3RpdmVEcmFnLFxufVxuIl19 */");
3013
+ const styles = {
3014
+ base,
3015
+ readyForDrop,
3016
+ fileDropped,
3017
+ activeDrag
3018
+ };
3019
+
3020
+ const DropWrapper = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
3021
+ target: "emczgw60"
3022
+ } : {
3023
+ target: "emczgw60",
3024
+ label: "DropWrapper"
3025
+ })(styles.base, " ", props => {
3026
+ if (props.dropAreaState === 'default') {
3027
+ return styles.readyForDrop;
3028
+ }
3029
+ if (props.dropAreaState === 'active-drag') {
3030
+ return styles.activeDrag;
3031
+ }
3032
+ if (props.dropAreaState === 'file-dropped') {
3033
+ return styles.fileDropped;
3034
+ }
3035
+ return getDefaultDropWrapperStyles(props.dropAreaState);
3036
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRyb3AtYXJlYS13cmFwcGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTdUQiLCJmaWxlIjoiZHJvcC1hcmVhLXdyYXBwZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEcm9wem9uZVJvb3RQcm9wcyB9IGZyb20gJ3JlYWN0LWRyb3B6b25lJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IHN0eWxlcyB9IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdHlwZSBEcm9wQXJlYVN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vQHR5cGVzJ1xuXG5pbnRlcmZhY2UgRHJvcFdyYXBwZXJQcm9wcyBleHRlbmRzIERyb3B6b25lUm9vdFByb3BzIHtcbiAgZHJvcEFyZWFTdGF0ZTogRHJvcEFyZWFTdGF0ZVxufVxuZXhwb3J0IGNvbnN0IERyb3BXcmFwcGVyID0gc3R5bGVkLmRpdjxEcm9wV3JhcHBlclByb3BzPmBcbiAgJHtzdHlsZXMuYmFzZX1cbiAgJHsocHJvcHMpID0+IHtcbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICByZXR1cm4gc3R5bGVzLnJlYWR5Rm9yRHJvcFxuICAgIH1cbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ2FjdGl2ZS1kcmFnJykge1xuICAgICAgcmV0dXJuIHN0eWxlcy5hY3RpdmVEcmFnXG4gICAgfVxuICAgIGlmIChwcm9wcy5kcm9wQXJlYVN0YXRlID09PSAnZmlsZS1kcm9wcGVkJykge1xuICAgICAgcmV0dXJuIHN0eWxlcy5maWxlRHJvcHBlZFxuICAgIH1cbiAgICByZXR1cm4gZ2V0RGVmYXVsdERyb3BXcmFwcGVyU3R5bGVzKHByb3BzLmRyb3BBcmVhU3RhdGUpXG4gIH19XG5gXG5mdW5jdGlvbiBnZXREZWZhdWx0RHJvcFdyYXBwZXJTdHlsZXMoX2Ryb3BBcmVhU3RhdGU6IG5ldmVyKSB7XG4gIHJldHVybiBjc3NgYFxufVxuIl19 */"));
3037
+ function getDefaultDropWrapperStyles(_dropAreaState) {
3038
+ return /*#__PURE__*/react.css(process.env.NODE_ENV === "production" ? "" : ";label:getDefaultDropWrapperStyles;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRyb3AtYXJlYS13cmFwcGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QlkiLCJmaWxlIjoiZHJvcC1hcmVhLXdyYXBwZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEcm9wem9uZVJvb3RQcm9wcyB9IGZyb20gJ3JlYWN0LWRyb3B6b25lJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IHN0eWxlcyB9IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdHlwZSBEcm9wQXJlYVN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vQHR5cGVzJ1xuXG5pbnRlcmZhY2UgRHJvcFdyYXBwZXJQcm9wcyBleHRlbmRzIERyb3B6b25lUm9vdFByb3BzIHtcbiAgZHJvcEFyZWFTdGF0ZTogRHJvcEFyZWFTdGF0ZVxufVxuZXhwb3J0IGNvbnN0IERyb3BXcmFwcGVyID0gc3R5bGVkLmRpdjxEcm9wV3JhcHBlclByb3BzPmBcbiAgJHtzdHlsZXMuYmFzZX1cbiAgJHsocHJvcHMpID0+IHtcbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICByZXR1cm4gc3R5bGVzLnJlYWR5Rm9yRHJvcFxuICAgIH1cbiAgICBpZiAocHJvcHMuZHJvcEFyZWFTdGF0ZSA9PT0gJ2FjdGl2ZS1kcmFnJykge1xuICAgICAgcmV0dXJuIHN0eWxlcy5hY3RpdmVEcmFnXG4gICAgfVxuICAgIGlmIChwcm9wcy5kcm9wQXJlYVN0YXRlID09PSAnZmlsZS1kcm9wcGVkJykge1xuICAgICAgcmV0dXJuIHN0eWxlcy5maWxlRHJvcHBlZFxuICAgIH1cbiAgICByZXR1cm4gZ2V0RGVmYXVsdERyb3BXcmFwcGVyU3R5bGVzKHByb3BzLmRyb3BBcmVhU3RhdGUpXG4gIH19XG5gXG5mdW5jdGlvbiBnZXREZWZhdWx0RHJvcFdyYXBwZXJTdHlsZXMoX2Ryb3BBcmVhU3RhdGU6IG5ldmVyKSB7XG4gIHJldHVybiBjc3NgYFxufVxuIl19 */");
3039
+ }
3040
+
3041
+ var ActiveDragDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./active-drag-drop-area-3c408710.cjs.dev.js' /* webpackChunkName: "active-drag-drop-area" */); }));
3042
+
3043
+ var EnabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./enabled-drop-area-a25dfe55.cjs.dev.js' /* webpackChunkName: "enabled-drop-area" */); }));
3044
+
3045
+ var FileDropped = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./file-dropped-area-f19b8e0b.cjs.dev.js' /* webpackChunkName: "filed-dropped-area" */); }));
3046
+
3047
+ function getDropArea(_ref) {
3048
+ let dropAreaState = _ref.dropAreaState,
3049
+ isFileDropped = _ref.isFileDropped;
3050
+ if (dropAreaState === 'file-dropped') {
3051
+ return jsxRuntime.jsx(FileDropped, {});
3052
+ }
3053
+ if (dropAreaState === 'default') {
3054
+ return jsxRuntime.jsx(EnabledDropArea, {});
3055
+ }
3056
+ if (dropAreaState === 'active-drag') {
3057
+ return jsxRuntime.jsx(ActiveDragDropArea, {
3058
+ isFileDropped: isFileDropped
3059
+ });
3060
+ }
3061
+ return fallbackDropArea();
3062
+ }
3063
+ function fallbackDropArea(_invalidDropAreaState) {
3064
+ return jsxRuntime.jsx(EnabledDropArea, {});
3065
+ }
3066
+ function getDropAreaState(flags) {
3067
+ if (flags.isDragActive) {
3068
+ return 'active-drag';
3069
+ }
3070
+ if (flags.isReady) {
3071
+ return 'file-dropped';
3072
+ }
3073
+ return 'default';
3074
+ }
3075
+
3076
+ function ownKeys$1(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; }
3077
+ 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__default["default"](_context = ownKeys$1(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$1(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
3078
+ const FileDropArea = () => {
3079
+ const _useExportResourcesMo = useExportResourcesModalContext(),
3080
+ formik = _useExportResourcesMo.formik,
3081
+ setImportedHeaders = _useExportResourcesMo.setImportedHeaders;
3082
+ const onDrop = React__default["default"].useCallback(async _ref => {
3083
+ let _ref2 = _slicedToArray(_ref, 1),
3084
+ file = _ref2[0];
3085
+ if (!file) return;
3086
+ formik.setFieldValue('importedCsvTemplateFile', file);
3087
+ const csvHeaders = await getCsvHeaders(file);
3088
+ setImportedHeaders(csvHeaders);
3089
+ }, [formik, setImportedHeaders]);
3090
+ const _useDropzone = reactDropzone.useDropzone({
3091
+ onDrop,
3092
+ multiple: false,
3093
+ accept: {
3094
+ 'text/csv': ['.csv']
3095
+ },
3096
+ // TODO: Add error handling
3097
+ onDropRejected: () => {}
3098
+ }),
3099
+ getRootProps = _useDropzone.getRootProps,
3100
+ getInputProps = _useDropzone.getInputProps,
3101
+ isDragActive = _useDropzone.isDragActive;
3102
+ const dropAreaState = React__default["default"].useMemo(() => getDropAreaState({
3103
+ isReady: Boolean(_valuesInstanceProperty__default["default"](formik).importedCsvTemplateFile),
3104
+ isDragActive
3105
+ }), [formik, isDragActive]);
3106
+ const dropArea = getDropArea({
3107
+ dropAreaState,
3108
+ isFileDropped: Boolean(_valuesInstanceProperty__default["default"](formik).importedCsvTemplateFile)
3109
+ });
3110
+ return jsxRuntime.jsxs(DropWrapper, _objectSpread$1(_objectSpread$1({
3111
+ role: "presentation"
3112
+ }, getRootProps()), {}, {
3113
+ dropAreaState: dropAreaState,
3114
+ children: [jsxRuntime.jsx("input", _objectSpread$1({
3115
+ "data-testid": "file-input"
3116
+ }, getInputProps())), jsxRuntime.jsx(uiKit.Constraints.Horizontal, {
3117
+ children: dropArea
3118
+ })]
3119
+ }));
3120
+ };
3121
+
3122
+ const getChunkImport = locale => {
3123
+ const intlLocale = i18n.mapLocaleToIntlLocale(locale);
3124
+ switch (intlLocale) {
3125
+ case 'de':
3126
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-de" */'./de-b820e753.cjs.dev.js'); });
3127
+ case 'es':
3128
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-es" */'./es-01c31bc7.cjs.dev.js'); });
3129
+ case 'fr-FR':
3130
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-fr-FR" */'./fr-FR-d641720a.cjs.dev.js'); });
3131
+ case 'ja':
3132
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-ja" */'./ja-9bd5f452.cjs.dev.js'); });
3133
+ case 'pt-BR':
3134
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "change-history-i18n-pt-BR" */'./pt-BR-442e5bba.cjs.dev.js'); });
3135
+ default:
3136
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "export-resources-modal-i18n-en" */'./en-2af10351.cjs.dev.js'); });
3137
+ }
3138
+ };
3139
+ const loadMessages = async locale => {
3140
+ try {
3141
+ const chunkImport = await getChunkImport(locale);
3142
+ return i18n.parseChunkImport(chunkImport);
3143
+ } catch (error) {
3144
+ // eslint-disable-next-line no-console
3145
+ console.warn(`Something went wrong while loading the export-resources-modal messages for ${locale}`, error);
3146
+ sentry.reportErrorToSentry(new Error(`Something went wrong while loading the export-resources-modal messages for ${locale}`), {
3147
+ extra: error
3148
+ });
3149
+ return {};
3150
+ }
3151
+ };
3152
+
3153
+ const useAsyncIntlMessages = (locale, loader) => {
3154
+ const _useState = React.useState({
3155
+ isLoading: true,
3156
+ messages: undefined,
3157
+ error: undefined
3158
+ }),
3159
+ _useState2 = _slicedToArray(_useState, 2),
3160
+ state = _useState2[0],
3161
+ setState = _useState2[1];
3162
+ React.useEffect(() => {
3163
+ let _isUnmounting = false;
3164
+ async function load() {
3165
+ try {
3166
+ if (!_isUnmounting) {
3167
+ const messages = await loader(locale);
3168
+ setState({
3169
+ isLoading: false,
3170
+ messages
3171
+ });
3172
+ }
3173
+ } catch (error) {
3174
+ setState({
3175
+ isLoading: false,
3176
+ error
3177
+ });
3178
+ }
3179
+ }
3180
+ if (locale) load();
3181
+ return () => {
3182
+ _isUnmounting = true;
3183
+ };
3184
+ }, [locale, loader]);
3185
+ return state;
3186
+ };
3187
+
3188
+ const _excluded = ["isOpen", "selectedResourceIds", "outputFormat", "fieldGroups", "fieldOrder"];
3189
+ function ownKeys(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; }
3190
+ function _objectSpread(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(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(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
3191
+ function invalidateLaunchDarklyCachedFeatureFlag(flagName) {
3192
+ for (let _ref of _Object$entries__default["default"](localStorage)) {
3193
+ var _ref2 = _slicedToArray(_ref, 1);
3194
+ let key = _ref2[0];
3195
+ // This is the pattern that the LaunchDarkly adapter uses to store the flags
3196
+ if (_startsWithInstanceProperty__default["default"](key).call(key, '@flopflip/launchdarkly-adapter/') && _endsWithInstanceProperty__default["default"](key).call(key, '/flags')) {
3197
+ try {
3198
+ const flags = JSON.parse(localStorage.getItem(key) || '{}');
3199
+ if (flags[flagName] !== undefined) {
3200
+ delete flags[flagName];
3201
+ localStorage.setItem(key, _JSON$stringify__default["default"](flags));
3202
+ }
3203
+ } catch (error) {}
3204
+ }
3205
+ }
3206
+ }
3207
+ invalidateLaunchDarklyCachedFeatureFlag('enableOperationsExport');
3208
+ const ExportResourcesModal = _ref3 => {
3209
+ let _ref3$isOpen = _ref3.isOpen,
3210
+ isOpen = _ref3$isOpen === void 0 ? false : _ref3$isOpen,
3211
+ _ref3$selectedResourc = _ref3.selectedResourceIds,
3212
+ selectedResourceIds = _ref3$selectedResourc === void 0 ? [] : _ref3$selectedResourc,
3213
+ _ref3$outputFormat = _ref3.outputFormat,
3214
+ outputFormat = _ref3$outputFormat === void 0 ? OUTPUT_FORMATS.CSV : _ref3$outputFormat,
3215
+ _ref3$fieldGroups = _ref3.fieldGroups,
3216
+ fieldGroups = _ref3$fieldGroups === void 0 ? [] : _ref3$fieldGroups,
3217
+ _ref3$fieldOrder = _ref3.fieldOrder,
3218
+ fieldOrder = _ref3$fieldOrder === void 0 ? [] : _ref3$fieldOrder,
3219
+ props = _objectWithoutProperties(_ref3, _excluded);
3220
+ const _useApplicationContex = applicationShellConnectors.useApplicationContext(context => ({
3221
+ locale: context.user && context.user.locale
3222
+ })),
3223
+ locale = _useApplicationContex.locale;
3224
+ const messages = useAsyncIntlMessages(locale, loadMessages);
3225
+ if (!isOpen || messages.isLoading) return null;
3226
+ if (props.filters && !validateFilters(props.filters)) {
3227
+ console.error('Invalid filters prop:', props.filters, 'Filters must contain one of these values: `filters` or `where`');
3228
+ return null;
3229
+ }
3230
+ return jsxRuntime.jsx(reactIntl.IntlProvider, {
3231
+ locale: locale,
3232
+ messages: messages.messages,
3233
+ children: jsxRuntime.jsx(ExportResourcesProvider, _objectSpread(_objectSpread({
3234
+ fieldGroups: fieldGroups,
3235
+ fieldOrder: fieldOrder,
3236
+ isOpen: isOpen,
3237
+ outputFormat: outputFormat,
3238
+ selectedResourceIds: selectedResourceIds
3239
+ }, props), {}, {
3240
+ children: jsxRuntime.jsx(CurrentStep, {})
3241
+ }))
3242
+ });
3243
+ };
3244
+ ExportResourcesModal.displayName = 'ExportResourcesModal';
3245
+
3246
+ exports.EXPORTABLE_RESOURCES = EXPORTABLE_RESOURCES;
3247
+ exports.EXPORT_TYPES = EXPORT_TYPES;
3248
+ exports.EnabledDropArea = EnabledDropArea;
3249
+ exports.ExportResourcesModal = ExportResourcesModal;
3250
+ exports.FileDropped = FileDropped;
3251
+ exports.LocaleOption = LocaleOption;
3252
+ exports.Step = Step;
3253
+ exports.messages = messages;
3254
+ exports.useConvertFieldDefinitionsForExport = useConvertFieldDefinitionsForExport;
3255
+ exports.useExportResourcesModalContext = useExportResourcesModalContext;