@commercetools-frontend-extensions/export-resources-modal 0.0.0-canary-20250930092515 → 0.0.0-canary-20251204134053

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