@payloadcms/ui 3.33.0-internal.d1efdd8 → 3.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/index.js +39 -14
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/types.d.ts +5 -1
- package/dist/elements/DraggableSortable/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/types.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.d.ts +6 -0
- package/dist/elements/FieldDiffLabel/index.d.ts.map +1 -0
- package/dist/elements/FieldDiffLabel/index.js +11 -0
- package/dist/elements/FieldDiffLabel/index.js.map +1 -0
- package/dist/elements/FieldDiffLabel/index.scss +6 -0
- package/dist/elements/Table/OrderableRow.d.ts +13 -0
- package/dist/elements/Table/OrderableRow.d.ts.map +1 -0
- package/dist/elements/Table/OrderableRow.js +34 -0
- package/dist/elements/Table/OrderableRow.js.map +1 -0
- package/dist/elements/Table/OrderableRowDragPreview.d.ts +8 -0
- package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -0
- package/dist/elements/Table/OrderableRowDragPreview.js +16 -0
- package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -0
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +36 -27
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/index.scss +5 -0
- package/dist/exports/client/index.d.ts +1 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +11 -11
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +3 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +3 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/fields/Array/index.js +17 -18
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +2 -3
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +7 -43
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.js +1 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +17 -1
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +38 -17
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts +3 -2
- package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js +2 -0
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +3 -2
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +68 -41
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.d.ts +3 -0
- package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/providers/ListQuery/types.d.ts +1 -1
- package/dist/providers/ListQuery/types.d.ts.map +1 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +2 -0
- package/dist/utilities/buildFormState.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export { FieldDiffLabel } from '../../elements/FieldDiffLabel/index.js';
|
|
2
|
+
export { File } from '../../graphics/File/index.js';
|
|
3
|
+
export { CheckIcon } from '../../icons/Check/index.js';
|
|
1
4
|
export { copyDataFromLocaleHandler } from '../../utilities/copyDataFromLocale.js';
|
|
2
5
|
export { renderFilters, renderTable } from '../../utilities/renderTable.js';
|
|
3
6
|
export { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/rsc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/rsc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export { FieldDiffLabel } from '../../elements/FieldDiffLabel/index.js';
|
|
2
|
+
export { File } from '../../graphics/File/index.js';
|
|
3
|
+
export { CheckIcon } from '../../icons/Check/index.js';
|
|
1
4
|
export { copyDataFromLocaleHandler } from '../../utilities/copyDataFromLocale.js';
|
|
2
5
|
export { renderFilters, renderTable } from '../../utilities/renderTable.js';
|
|
3
6
|
export { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["copyDataFromLocaleHandler","renderFilters","renderTable","resolveFilterOptions","upsertPreferences"],"sources":["../../../src/exports/rsc/index.ts"],"sourcesContent":["export { copyDataFromLocaleHandler } from '../../utilities/copyDataFromLocale.js'\nexport { renderFilters, renderTable } from '../../utilities/renderTable.js'\nexport { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js'\nexport { upsertPreferences } from '../../utilities/upsertPreferences.js'\n"],"mappings":"AAAA,SAASA,yBAAyB,QAAQ;AAC1C,SAASC,aAAa,EAAEC,WAAW,QAAQ;AAC3C,SAASC,oBAAoB,QAAQ;AACrC,SAASC,iBAAiB,QAAQ","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["FieldDiffLabel","File","CheckIcon","copyDataFromLocaleHandler","renderFilters","renderTable","resolveFilterOptions","upsertPreferences"],"sources":["../../../src/exports/rsc/index.ts"],"sourcesContent":["export { FieldDiffLabel } from '../../elements/FieldDiffLabel/index.js'\nexport { File } from '../../graphics/File/index.js'\nexport { CheckIcon } from '../../icons/Check/index.js'\nexport { copyDataFromLocaleHandler } from '../../utilities/copyDataFromLocale.js'\nexport { renderFilters, renderTable } from '../../utilities/renderTable.js'\nexport { resolveFilterOptions } from '../../utilities/resolveFilterOptions.js'\nexport { upsertPreferences } from '../../utilities/upsertPreferences.js'\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ;AAC/B,SAASC,IAAI,QAAQ;AACrB,SAASC,SAAS,QAAQ;AAC1B,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,aAAa,EAAEC,WAAW,QAAQ;AAC3C,SAASC,oBAAoB,QAAQ;AACrC,SAASC,iBAAiB,QAAQ","ignoreList":[]}
|
|
@@ -189,8 +189,7 @@ export const ArrayFieldComponent = props => {
|
|
|
189
189
|
BeforeInput,
|
|
190
190
|
Description,
|
|
191
191
|
Error,
|
|
192
|
-
Label
|
|
193
|
-
RowLabels
|
|
192
|
+
Label
|
|
194
193
|
} = t12;
|
|
195
194
|
let t13;
|
|
196
195
|
if ($[15] !== t11) {
|
|
@@ -200,7 +199,7 @@ export const ArrayFieldComponent = props => {
|
|
|
200
199
|
} else {
|
|
201
200
|
t13 = $[16];
|
|
202
201
|
}
|
|
203
|
-
const
|
|
202
|
+
const rows = t13;
|
|
204
203
|
let t14;
|
|
205
204
|
if ($[17] !== addFieldRow || $[18] !== path || $[19] !== schemaPath) {
|
|
206
205
|
t14 = rowIndex => {
|
|
@@ -274,14 +273,14 @@ export const ArrayFieldComponent = props => {
|
|
|
274
273
|
}
|
|
275
274
|
const moveRow = t17;
|
|
276
275
|
let t18;
|
|
277
|
-
if ($[31] !== dispatchFields || $[32] !== path || $[33] !==
|
|
276
|
+
if ($[31] !== dispatchFields || $[32] !== path || $[33] !== rows || $[34] !== setDocFieldPreferences) {
|
|
278
277
|
t18 = collapsed => {
|
|
279
278
|
const {
|
|
280
279
|
collapsedIDs,
|
|
281
280
|
updatedRows
|
|
282
281
|
} = toggleAllRows({
|
|
283
282
|
collapsed,
|
|
284
|
-
rows
|
|
283
|
+
rows
|
|
285
284
|
});
|
|
286
285
|
setDocFieldPreferences(path, {
|
|
287
286
|
collapsed: collapsedIDs
|
|
@@ -294,7 +293,7 @@ export const ArrayFieldComponent = props => {
|
|
|
294
293
|
};
|
|
295
294
|
$[31] = dispatchFields;
|
|
296
295
|
$[32] = path;
|
|
297
|
-
$[33] =
|
|
296
|
+
$[33] = rows;
|
|
298
297
|
$[34] = setDocFieldPreferences;
|
|
299
298
|
$[35] = t18;
|
|
300
299
|
} else {
|
|
@@ -302,7 +301,7 @@ export const ArrayFieldComponent = props => {
|
|
|
302
301
|
}
|
|
303
302
|
const toggleCollapseAll = t18;
|
|
304
303
|
let t19;
|
|
305
|
-
if ($[36] !== dispatchFields || $[37] !== path || $[38] !==
|
|
304
|
+
if ($[36] !== dispatchFields || $[37] !== path || $[38] !== rows || $[39] !== setDocFieldPreferences) {
|
|
306
305
|
t19 = (rowID, collapsed_0) => {
|
|
307
306
|
const {
|
|
308
307
|
collapsedIDs: collapsedIDs_0,
|
|
@@ -310,7 +309,7 @@ export const ArrayFieldComponent = props => {
|
|
|
310
309
|
} = extractRowsAndCollapsedIDs({
|
|
311
310
|
collapsed: collapsed_0,
|
|
312
311
|
rowID,
|
|
313
|
-
rows
|
|
312
|
+
rows
|
|
314
313
|
});
|
|
315
314
|
dispatchFields({
|
|
316
315
|
type: "SET_ROW_COLLAPSED",
|
|
@@ -323,18 +322,18 @@ export const ArrayFieldComponent = props => {
|
|
|
323
322
|
};
|
|
324
323
|
$[36] = dispatchFields;
|
|
325
324
|
$[37] = path;
|
|
326
|
-
$[38] =
|
|
325
|
+
$[38] = rows;
|
|
327
326
|
$[39] = setDocFieldPreferences;
|
|
328
327
|
$[40] = t19;
|
|
329
328
|
} else {
|
|
330
329
|
t19 = $[40];
|
|
331
330
|
}
|
|
332
331
|
const setCollapse = t19;
|
|
333
|
-
const hasMaxRows = maxRows &&
|
|
332
|
+
const hasMaxRows = maxRows && rows.length >= maxRows;
|
|
334
333
|
const fieldErrorCount = errorPaths.length;
|
|
335
334
|
const fieldHasErrors = submitted && errorPaths.length > 0;
|
|
336
|
-
const showRequired = (readOnly || disabled) &&
|
|
337
|
-
const showMinRows =
|
|
335
|
+
const showRequired = (readOnly || disabled) && rows.length === 0;
|
|
336
|
+
const showMinRows = rows.length < minRows || required && rows.length === 0;
|
|
338
337
|
const t20 = fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`;
|
|
339
338
|
let t21;
|
|
340
339
|
if ($[41] !== className || $[42] !== t20) {
|
|
@@ -397,7 +396,7 @@ export const ArrayFieldComponent = props => {
|
|
|
397
396
|
})
|
|
398
397
|
})
|
|
399
398
|
}), t23]
|
|
400
|
-
}),
|
|
399
|
+
}), rows?.length > 0 && _jsxs("ul", {
|
|
401
400
|
className: `${baseClass}__header-actions`,
|
|
402
401
|
children: [_jsx("li", {
|
|
403
402
|
children: _jsx("button", {
|
|
@@ -426,9 +425,9 @@ export const ArrayFieldComponent = props => {
|
|
|
426
425
|
fieldValue: value_0,
|
|
427
426
|
localized,
|
|
428
427
|
path
|
|
429
|
-
}), BeforeInput, (
|
|
428
|
+
}), BeforeInput, (rows?.length > 0 || !valid && (showRequired || showMinRows)) && _jsxs(DraggableSortable, {
|
|
430
429
|
className: `${baseClass}__draggable-rows`,
|
|
431
|
-
ids:
|
|
430
|
+
ids: rows.map(_temp),
|
|
432
431
|
onDragEnd: t24 => {
|
|
433
432
|
const {
|
|
434
433
|
moveFromIndex: moveFromIndex_0,
|
|
@@ -436,7 +435,7 @@ export const ArrayFieldComponent = props => {
|
|
|
436
435
|
} = t24;
|
|
437
436
|
return moveRow(moveFromIndex_0, moveToIndex_0);
|
|
438
437
|
},
|
|
439
|
-
children: [
|
|
438
|
+
children: [rows.map((rowData, i) => {
|
|
440
439
|
const {
|
|
441
440
|
id: rowID_0,
|
|
442
441
|
isLoading
|
|
@@ -449,7 +448,7 @@ export const ArrayFieldComponent = props => {
|
|
|
449
448
|
children: draggableSortableItemProps => _jsx(ArrayRow, {
|
|
450
449
|
...draggableSortableItemProps,
|
|
451
450
|
addRow,
|
|
452
|
-
CustomRowLabel:
|
|
451
|
+
CustomRowLabel: rows?.[i]?.customComponents?.RowLabel,
|
|
453
452
|
duplicateRow,
|
|
454
453
|
errorCount: rowErrorCount,
|
|
455
454
|
fields,
|
|
@@ -465,7 +464,7 @@ export const ArrayFieldComponent = props => {
|
|
|
465
464
|
readOnly: readOnly || disabled,
|
|
466
465
|
removeRow,
|
|
467
466
|
row: rowData,
|
|
468
|
-
rowCount:
|
|
467
|
+
rowCount: rows?.length,
|
|
469
468
|
rowIndex: i,
|
|
470
469
|
schemaPath,
|
|
471
470
|
setCollapse
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","$","field","t0","forceRender","t1","path","permissions","readOnly","schemaPath","schemaPathFromProps","validate","name","admin","t2","fields","label","localized","maxRows","minRows","minRowsProp","required","t3","undefined","className","description","isSortable","t4","setDocFieldPreferences","addFieldRow","dispatchFields","moveFieldRow","removeFieldRow","setModified","submitted","code","locale","i18n","t","config","t5","localization","t6","bb0","fallback","defaultLocale","editingDefaultLocale","t7","p","labels","plural","singular","getLabels","t8","value","options","memoizedValidate","t9","hasRows","customComponents","t10","disabled","errorPaths","rows","t11","showError","valid","value_0","t12","AfterInput","BeforeInput","Description","Error","Label","RowLabels","t13","rowsData","t14","rowIndex","setTimeout","addRow","t15","rowIndex_0","type","duplicateRow","t16","rowIndex_1","removeRow","t17","moveFromIndex","moveToIndex","moveRow","t18","collapsed","collapsedIDs","updatedRows","toggleCollapseAll","t19","rowID","collapsed_0","collapsedIDs_0","updatedRows_0","setCollapse","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","t20","t21","filter","Boolean","t22","_jsx","CustomComponent","Fallback","t23","count","withMessage","_jsxs","join","id","replace","children","as","onClick","fieldValue","ids","map","_temp","onDragEnd","t24","moveFromIndex_0","moveToIndex_0","rowData","i","rowID_0","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","CustomRowLabel","errorCount","parentPath","row","rowCount","Fragment","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ArrayFieldClientComponent,\n ArrayFieldClientProps,\n ArrayField as ArrayFieldType,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field: {\n name,\n admin: { className, description, isSortable = true } = {},\n fields,\n label,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n forceRender = false,\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = (minRowsProp ?? required) ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, moveFieldRow, removeFieldRow, setModified } = useForm()\n const submitted = useFormSubmitted()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale\n return locale === defaultLocale\n }\n\n return true\n })()\n\n // Handle labeling for Arrays, Global Arrays, and Blocks\n const getLabels = (p: ArrayFieldClientProps): Partial<ArrayFieldType['labels']> => {\n if ('labels' in p && p?.labels) {\n return p.labels\n }\n\n if ('labels' in p.field && p.field.labels) {\n return { plural: p.field.labels?.plural, singular: p.field.labels?.singular }\n }\n\n if ('label' in p.field && p.field.label) {\n return { plural: undefined, singular: p.field.label }\n }\n\n return { plural: t('general:rows'), singular: t('general:row') }\n }\n\n const labels = getLabels(props)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label, RowLabels } = {},\n disabled,\n errorPaths,\n rows: rowsData = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n removeFieldRow({ path, rowIndex })\n },\n [removeFieldRow, path],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n moveFieldRow({\n moveFromIndex,\n moveToIndex,\n path,\n })\n },\n [path, moveFieldRow],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows: rowsData,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows: rowsData,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rowsData.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && errorPaths.length > 0\n\n const showRequired = (readOnly || disabled) && rowsData.length === 0\n const showMinRows = rowsData.length < minRows || (required && rowsData.length === 0)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n as=\"span\"\n label={label}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rowsData?.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {BeforeInput}\n {(rowsData?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rowsData.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rowsData.map((rowData, i) => {\n const { id: rowID, isLoading } = rowData\n\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem\n disabled={readOnly || disabled || !isSortable}\n id={rowID}\n key={rowID}\n >\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n CustomRowLabel={RowLabels?.[i]}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={fields}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly || disabled}\n removeRow={removeRow}\n row={rowData}\n rowCount={rowsData?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n })}\n {!valid && (\n <React.Fragment>\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:rows' : 'general:row'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && !readOnly && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-row`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n void addRow(value || 0)\n }}\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const ArrayField = withCondition(ArrayFieldComponent)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAOA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,WAAW,QAAQ;AAEnC,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,SAAS,QAAQ;AAC1B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,UAAU,QAAQ;AAC3B,SAASC,UAAU,QAAQ;AAC3B,SAASC,OAAO,EAAEC,gBAAgB,QAAQ;AAC1C,SAASC,0BAA0B,EAAEC,aAAa,QAAQ;AAC1D,SAASC,kBAAkB,QAAQ;AACnC,SAASC,QAAQ,QAAQ;AACzB,SAASC,aAAa,QAAQ;AAC9B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,mBAAA,GAAiDC,KAAA;EAAA,MAAAC,CAAA,GAAA9B,EAAA;EAC5D;IAAA+B,KAAA,EAAAC,EAAA;IAAAC,WAAA,EAAAC,EAAA;IAAAC,IAAA;IAAAC,WAAA;IAAAC,QAAA;IAAAC,UAAA,EAAAC,mBAAA;IAAAC;EAAA,IAiBIX,KAAA;EAhBK;IAAAY,IAAA;IAAAC,KAAA,EAAAC,EAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,SAAA;IAAAC,OAAA;IAAAC,OAAA,EAAAC,WAAA;IAAAC;EAAA,IAAAlB,EASN;EAAA,IAAAmB,EAAA;EAAA,IAAArB,CAAA,QAAAa,EAAA;IAPQQ,EAAA,GAAAR,EAAkD,KAAAS,SAAA,QAAlDT,EAAkD;IAAAb,CAAA,MAAAa,EAAA;IAAAb,CAAA,MAAAqB,EAAA;EAAA;IAAAA,EAAA,GAAArB,CAAA;EAAA;EAAlD;IAAAuB,SAAA;IAAAC,WAAA;IAAAC,UAAA,EAAAC;EAAA,IAAAL,EAAkD;EAAxB,MAAAI,UAAA,GAAAC,EAAiB,KAAAJ,SAAA,UAAjBI,EAAiB;EAQpD,MAAAvB,WAAA,GAAAC,EAAmB,KAAAkB,SAAA,WAAnBlB,EAAmB;EAQrB,MAAAI,UAAA,GAAmBC,mBAAA,IAAuBE,IAAA;EAE1C,MAAAO,OAAA,GAAgBC,WAAC,IAAeC,QAAA,QAAgB;EAEhD;IAAAO;EAAA,IAAmCpC,eAAA;EACnC;IAAAqC,WAAA;IAAAC,cAAA;IAAAC,YAAA;IAAAC,cAAA;IAAAC;EAAA,IAAmFjD,OAAA;EACnF,MAAAkD,SAAA,GAAkBjD,gBAAA;EAClB;IAAAkD,IAAA,EAAAC;EAAA,IAAyB3C,SAAA;EACzB;IAAA4C,IAAA;IAAAC;EAAA,IAAoB5C,cAAA;EAEpB;IAAA6C,MAAA,EAAAC;EAAA,IAEIjD,SAAA;EADM;IAAAkD;EAAA,IAAAD,EAAgB;EAAA,IAAAE,EAAA;EAAAC,GAAA;IAAA,IAIpBF,YAAA,IAAgBA,YAAA,CAAAG,QAAqB;MACvC,MAAAC,aAAA,GAAsBJ,YAAA,CAAAI,aAAA;MACtBH,EAAA,GAAON,MAAA,KAAWS,aAAA;MAAA,MAAAF,GAAA;IAAA;IAGpBD,EAAA;EAAO;EANT,MAAAI,oBAAA,GAA6BJ,EAO7B;EAAA,IAAAK,EAAA;EAAA,IAAA9C,CAAA,QAAAqC,CAAA;IAGkBS,EAAA,GAAAC,CAAA;MAAA,IACZ,YAAYA,CAAA,IAAKA,CAAA,EAAAC,MAAG;QAAA,OACfD,CAAA,CAAAC,MAAA;MAAA;MAAA,IAGL,YAAYD,CAAA,CAAA9C,KAAO,IAAI8C,CAAA,CAAA9C,KAAA,CAAA+C,MAAc;QAAA;UAAAC,MAAA,EACtBF,CAAA,CAAA9C,KAAA,CAAA+C,MAAA,EAAAC,MAAA;UAAAC,QAAA,EAAkCH,CAAA,CAAA9C,KAAA,CAAA+C,MAAA,EAAAE;QAAA;MAAA;MAAA,IAGjD,WAAWH,CAAA,CAAA9C,KAAO,IAAI8C,CAAA,CAAA9C,KAAA,CAAAc,KAAa;QAAA;UAAAkC,MAAA,EAAA3B,SAAA;UAAA4B,QAAA,EACCH,CAAA,CAAA9C,KAAA,CAAAc;QAAA;MAAA;MAAA;QAAAkC,MAAA,EAGvBZ,CAAA,CAAE;QAAAa,QAAA,EAA2Bb,CAAA,CAAE;MAAA;IAAA;IAClDrC,CAAA,MAAAqC,CAAA;IAAArC,CAAA,MAAA8C,EAAA;EAAA;IAAAA,EAAA,GAAA9C,CAAA;EAAA;EAdA,MAAAmD,SAAA,GAAkBL,EAclB;EAEA,MAAAE,MAAA,GAAeG,SAAA,CAAUpD,KAAA;EAAA,IAAAqD,EAAA;EAAA,IAAApD,CAAA,QAAA6C,oBAAA,IAAA7C,CAAA,QAAAiB,OAAA,IAAAjB,CAAA,QAAAkB,OAAA,IAAAlB,CAAA,QAAAoB,QAAA,IAAApB,CAAA,QAAAU,QAAA;IAGvB0C,EAAA,GAAAA,CAAAC,KAAA,EAAAC,OAAA;MAAA,IAEM,CAACT,oBAAA,IAAwBQ,KAAA,SAAU;QAAA;MAAA;MAAA,IAInC,OAAO3C,QAAA,KAAa;QAAA,OACfA,QAAA,CAAS2C,KAAA;UAAA,GAAYC,OAAO;UAAArC,OAAA;UAAAC,OAAA;UAAAE;QAAA,CAA6B;MAAA;IAAA;IAEpEpB,CAAA,MAAA6C,oBAAA;IAAA7C,CAAA,MAAAiB,OAAA;IAAAjB,CAAA,MAAAkB,OAAA;IAAAlB,CAAA,MAAAoB,QAAA;IAAApB,CAAA,MAAAU,QAAA;IAAAV,CAAA,MAAAoD,EAAA;EAAA;IAAAA,EAAA,GAAApD,CAAA;EAAA;EAVF,MAAAuD,gBAAA,GAAyBH,EAWqC;EAAA,IAAAI,EAAA;EAAA,IAAAxD,CAAA,SAAAuD,gBAAA,IAAAvD,CAAA,SAAAK,IAAA;IAWzCmD,EAAA;MAAAC,OAAA;MAAApD,IAAA;MAAAK,QAAA,EAGT6C;IAAA;IACZvD,CAAA,OAAAuD,gBAAA;IAAAvD,CAAA,OAAAK,IAAA;IAAAL,CAAA,OAAAwD,EAAA;EAAA;IAAAA,EAAA,GAAAxD,CAAA;EAAA;EAZA;IAAA0D,gBAAA,EAAAC,GAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,IAAA,EAAAC,GAAA;IAAAC,SAAA;IAAAC,KAAA;IAAAZ,KAAA,EAAAa;EAAA,IAQI9E,QAAA,CAAiBoE,EAIrB;EAAA,IAAAW,GAAA;EAAA,IAAAnE,CAAA,SAAA2D,GAAA;IAXoBQ,GAAA,GAAAR,GAAsE,KAAArC,SAAA,QAAtEqC,GAAsE;IAAA3D,CAAA,OAAA2D,GAAA;IAAA3D,CAAA,OAAAmE,GAAA;EAAA;IAAAA,GAAA,GAAAnE,CAAA;EAAA;EAAtE;IAAAoE,UAAA;IAAAC,WAAA;IAAAC,WAAA;IAAAC,KAAA;IAAAC,KAAA;IAAAC;EAAA,IAAAN,GAAsE;EAAA,IAAAO,GAAA;EAAA,IAAA1E,CAAA,SAAA+D,GAAA;IAGlFW,GAAA,GAAAX,GAAa,KAAAzC,SAAA,QAAbyC,GAAa;IAAA/D,CAAA,OAAA+D,GAAA;IAAA/D,CAAA,OAAA0E,GAAA;EAAA;IAAAA,GAAA,GAAA1E,CAAA;EAAA;EAAb,MAAA2E,QAAA,GAAAD,GAAa;EAAA,IAAAE,GAAA;EAAA,IAAA5E,CAAA,SAAA4B,WAAA,IAAA5B,CAAA,SAAAK,IAAA,IAAAL,CAAA,SAAAQ,UAAA;IAWnBoE,GAAA,GAAAC,QAAA;MACEjD,WAAA;QAAAvB,IAAA;QAAAwE,QAAA;QAAArE;MAAA,CAIA;MAEAsE,UAAA;QACEpF,UAAA,CAAW,GAAGW,IAAA,QAAYwE,QAAA,EAAU;MAAA,IACnC;IAAA;IACL7E,CAAA,OAAA4B,WAAA;IAAA5B,CAAA,OAAAK,IAAA;IAAAL,CAAA,OAAAQ,UAAA;IAAAR,CAAA,OAAA4E,GAAA;EAAA;IAAAA,GAAA,GAAA5E,CAAA;EAAA;EAXF,MAAA+E,MAAA,GAAeH,GAYkB;EAAA,IAAAI,GAAA;EAAA,IAAAhF,CAAA,SAAA6B,cAAA,IAAA7B,CAAA,SAAAK,IAAA,IAAAL,CAAA,SAAAgC,WAAA;IAI/BgD,GAAA,GAAAC,UAAA;MACEpD,cAAA;QAAAqD,IAAA,EAAuB;QAAA7E,IAAA;QAAAwE,QAAA,EAAuBA;MAAA,CAAS;MAEvD7C,WAAA,KAAY;MAEZ8C,UAAA;QACEpF,UAAA,CAAW,GAAGW,IAAA,QAAYwE,UAAA,EAAU;MAAA,IACnC;IAAA;IACL7E,CAAA,OAAA6B,cAAA;IAAA7B,CAAA,OAAAK,IAAA;IAAAL,CAAA,OAAAgC,WAAA;IAAAhC,CAAA,OAAAgF,GAAA;EAAA;IAAAA,GAAA,GAAAhF,CAAA;EAAA;EATF,MAAAmF,YAAA,GAAqBH,GAUgB;EAAA,IAAAI,GAAA;EAAA,IAAApF,CAAA,SAAAK,IAAA,IAAAL,CAAA,SAAA+B,cAAA;IAInCqD,GAAA,GAAAC,UAAA;MACEtD,cAAA;QAAA1B,IAAA;QAAAwE,QAAA,EAAuBA;MAAA,CAAS;IAAA;IAClC7E,CAAA,OAAAK,IAAA;IAAAL,CAAA,OAAA+B,cAAA;IAAA/B,CAAA,OAAAoF,GAAA;EAAA;IAAAA,GAAA,GAAApF,CAAA;EAAA;EAHF,MAAAsF,SAAA,GAAkBF,GAIM;EAAA,IAAAG,GAAA;EAAA,IAAAvF,CAAA,SAAA8B,YAAA,IAAA9B,CAAA,SAAAK,IAAA;IAItBkF,GAAA,GAAAA,CAAAC,aAAA,EAAAC,WAAA;MACE3D,YAAA;QAAA0D,aAAA;QAAAC,WAAA;QAAApF;MAAA,CAIA;IAAA;IACFL,CAAA,OAAA8B,YAAA;IAAA9B,CAAA,OAAAK,IAAA;IAAAL,CAAA,OAAAuF,GAAA;EAAA;IAAAA,GAAA,GAAAvF,CAAA;EAAA;EAPF,MAAA0F,OAAA,GAAgBH,GAQM;EAAA,IAAAI,GAAA;EAAA,IAAA3F,CAAA,SAAA6B,cAAA,IAAA7B,CAAA,SAAAK,IAAA,IAAAL,CAAA,SAAA2E,QAAA,IAAA3E,CAAA,SAAA2B,sBAAA;IAIpBgE,GAAA,GAAAC,SAAA;MACE;QAAAC,YAAA;QAAAC;MAAA,IAAsC5G,aAAA;QAAA0G,SAAA;QAAA9B,IAAA,EAE9Ba;MAAA,CACR;MACAhD,sBAAA,CAAuBtB,IAAA;QAAAuF,SAAA,EAAmBC;MAAA,CAAa;MACvDhE,cAAA;QAAAqD,IAAA,EAAuB;QAAA7E,IAAA;QAAAyF;MAAA,CAA4C;IAAA;IACrE9F,CAAA,OAAA6B,cAAA;IAAA7B,CAAA,OAAAK,IAAA;IAAAL,CAAA,OAAA2E,QAAA;IAAA3E,CAAA,OAAA2B,sBAAA;IAAA3B,CAAA,OAAA2F,GAAA;EAAA;IAAAA,GAAA,GAAA3F,CAAA;EAAA;EARF,MAAA+F,iBAAA,GAA0BJ,GASgC;EAAA,IAAAK,GAAA;EAAA,IAAAhG,CAAA,SAAA6B,cAAA,IAAA7B,CAAA,SAAAK,IAAA,IAAAL,CAAA,SAAA2E,QAAA,IAAA3E,CAAA,SAAA2B,sBAAA;IAIxDqE,GAAA,GAAAA,CAAAC,KAAA,EAAAC,WAAA;MACE;QAAAL,YAAA,EAAAM,cAAA;QAAAL,WAAA,EAAAM;MAAA,IAAsCnH,0BAAA;QAAA2G,SAAA,EACpCA,WAAA;QAAAK,KAAA;QAAAnC,IAAA,EAEMa;MAAA,CACR;MAEA9C,cAAA;QAAAqD,IAAA,EAAuB;QAAA7E,IAAA;QAAAyF,WAAA,EAA2BA;MAAA,CAAY;MAC9DnE,sBAAA,CAAuBtB,IAAA;QAAAuF,SAAA,EAAmBC;MAAA,CAAa;IAAA;IACzD7F,CAAA,OAAA6B,cAAA;IAAA7B,CAAA,OAAAK,IAAA;IAAAL,CAAA,OAAA2E,QAAA;IAAA3E,CAAA,OAAA2B,sBAAA;IAAA3B,CAAA,OAAAgG,GAAA;EAAA;IAAAA,GAAA,GAAAhG,CAAA;EAAA;EAVF,MAAAqG,WAAA,GAAoBL,GAWsC;EAG1D,MAAAM,UAAA,GAAmBrF,OAAA,IAAW0D,QAAA,CAAA4B,MAAA,IAAmBtF,OAAA;EAEjD,MAAAuF,eAAA,GAAwB3C,UAAA,CAAA0C,MAAA;EACxB,MAAAE,cAAA,GAAuBxE,SAAA,IAAa4B,UAAA,CAAA0C,MAAA,IAAoB;EAExD,MAAAG,YAAA,GAAqB,CAACnG,QAAA,IAAYqD,QAAO,KAAMe,QAAA,CAAA4B,MAAA,MAAoB;EACnE,MAAAI,WAAA,GAAoBhC,QAAA,CAAA4B,MAAA,GAAkBrF,OAAA,IAAYE,QAAA,IAAYuD,QAAA,CAAA4B,MAAA,MAAoB;EAQ5E,MAAAK,GAAA,GAAAH,cAAA,GAAiB,GAAA5G,SAAA,aAAyB,GAAG,GAAAA,SAAA,gBAA4B;EAAA,IAAAgH,GAAA;EAAA,IAAA7G,CAAA,SAAAuB,SAAA,IAAAvB,CAAA,SAAA4G,GAAA;IAJhEC,GAAA,IAAAlH,cAAA,EAAAE,SAAA,EAGT0B,SAAA,EACAqF,GAAyE,EAAAE,MAAA,CAAAC,OAEjE;IAAA/G,CAAA,OAAAuB,SAAA;IAAAvB,CAAA,OAAA4G,GAAA;IAAA5G,CAAA,OAAA6G,GAAA;EAAA;IAAAA,GAAA,GAAA7G,CAAA;EAAA;EAAA,IAAAgH,GAAA;EAAA,IAAAhH,CAAA,SAAAuE,KAAA,IAAAvE,CAAA,SAAAK,IAAA,IAAAL,CAAA,SAAAgE,SAAA;IAITgD,GAAA,GAAAhD,SAAA,IACCiD,IAAA,CAAAtI,qBAAA;MAAAuI,eAAA,EACmB3C,KAAA;MAAA4C,QAAA,EACPF,IAAA,CAAApI,UAAA;QAAAwB,IAAA;QAAA2D;MAAA,C;;;;;;;;;;;IAoBPoD,GAAA,GAAAX,cAAA,IAAkBD,eAAA,IAAkB,IACnCS,IAAA,CAAAvI,SAAA;MAAA2I,KAAA,EAAkBb,eAAA;MAAApE,IAAA;MAAAkF,WAAA;IAAA,C;;;;;;;;SAnC5BC,KAAA,CAAC;IAAAhG,SAAA,EACYsF,GAMD,CAAAW,IAAA,CACF;IAAAC,EAAA,EACJ,SAASpH,IAAA,CAAAqH,OAAA,QAAoB,OAAO;IAAAC,QAAA,GAEvCX,G,EAMDO,KAAA,CAAC;MAAAhG,SAAA,EAAkB,GAAA1B,SAAA,UAAsB;MAAA8H,QAAA,GACvCJ,KAAA,CAAC;QAAAhG,SAAA,EAAe,GAAA1B,SAAA,eAA2B;QAAA8H,QAAA,GACzCJ,KAAA,CAAC;UAAAhG,SAAA,EAAe,GAAA1B,SAAA,kBAA8B;UAAA8H,QAAA,GAC5CV,IAAA,CAAC;YAAA1F,SAAA,EAAc,GAAA1B,SAAA,SAAqB;YAAA8H,QAAA,EAClCV,IAAA,CAAAtI,qBAAA;cAAAuI,eAAA,EACmB1C,KAAA;cAAA2C,QAAA,EAEfF,IAAA,CAAAnI,UAAA;gBAAA8I,EAAA,EACK;gBAAA7G,KAAA;gBAAAC,SAAA;gBAAAX,IAAA;gBAAAe;cAAA,C;;cASVgG,G;YAIFzC,QAAA,EAAA4B,MAAA,IAAmB,IAClBgB,KAAA,CAAC;UAAAhG,SAAA,EAAc,GAAA1B,SAAA,kBAA8B;UAAA8H,QAAA,GAC3CV,IAAA,CAAC;YAAAU,QAAA,EACCV,IAAA,CAAC;cAAA1F,SAAA,EACY,GAAA1B,SAAA,iBAA6B;cAAAgI,OAAA,EAAAA,CAAA,KACzB9B,iBAAA,KAAkB;cAAAb,IAAA,EAC5B;cAAAyC,QAAA,EAEJtF,CAAA,CAAE;YAAA,C;cAGP4E,IAAA,CAAC;YAAAU,QAAA,EACCV,IAAA,CAAC;cAAA1F,SAAA,EACY,GAAA1B,SAAA,iBAA6B;cAAAgI,OAAA,EAAAA,CAAA,KACzB9B,iBAAA,MAAkB;cAAAb,IAAA,EAC5B;cAAAyC,QAAA,EAEJtF,CAAA,CAAE;YAAA,C;;;UAMb4E,IAAA,CAAAtI,qBAAA;QAAAuI,eAAA,EACmB5C,WAAA;QAAA6C,QAAA,EACPF,IAAA,CAAArI,gBAAA;UAAA4C,WAAA;UAAAnB;QAAA,C;;QAGd4G,IAAA,CAAA9H,kBAAA;MAAA2I,UAAA,EAAgCzE,OAAA;MAAArC,SAAA;MAAAX;IAAA,C,GAC/BgE,WAAA,EACC,CAAAM,QAAA,EAAA4B,MAAA,IAAmB,IAAM,CAACtC,KAAA,KAAUyC,YAAA,IAAgBC,WAAU,CAAE,KAChEY,KAAA,CAAA9I,iBAAA;MAAA8C,SAAA,EACa,GAAA1B,SAAA,kBAA8B;MAAAkI,GAAA,EACpCpD,QAAA,CAAAqD,GAAA,CAAAC,KAA4B;MAAAC,SAAA,EAAAC,GAAA;QACrB;UAAA3C,aAAA,EAAA4C,eAAA;UAAA3C,WAAA,EAAA4C;QAAA,IAAAF,GAA8B;QAAA,OAAKzC,OAAA,CAAQF,eAAA,EAAeC,aAAA;MAAA;MAAAkC,QAAA,GAErEhD,QAAA,CAAAqD,GAAA,EAAAM,OAAA,EAAAC,CAAA;QACC;UAAAd,EAAA,EAAAe,OAAA;UAAAC;QAAA,IAAiCH,OAAA;QAEjC,MAAAI,OAAA,GAAgB,GAAGrI,IAAA,IAAQkI,CAAA,EAAG;QAE9B,MAAAI,aAAA,GAAsB9E,UAAA,EAAAiD,MAAA,CAAA8B,SAAA,IACpBA,SAAA,CAAAC,UAAA,CAAqBH,OAAA,GAAU,MAAAnC,MAAA;QAC/B,OAGAU,IAAA,CAAAzI,qBAAA;UAAAoF,QAAA,EACYrD,QAAA,IAAYqD,QAAA,KAAanC,UAAA;UAAAgG,EAAA,EAC/BxB,OAAA;UAAA0B,QAAA,EAAAmB,0BAAA,IAIF7B,IAAA,CAAArH,QAAA;YAAA,GACMkJ,0BAA0B;YAAA/D,MAAA;YAAAgE,cAAA,EAEdtE,SAAA,GAAY8D,CAAA;YAAApD,YAAA;YAAA6D,UAAA,EAEhBL,aAAA;YAAA7H,MAAA;YAAAX,WAAA;YAAAmG,UAAA;YAAAmC,SAAA;YAAAhH,UAAA;YAAAuB,MAAA;YAAA0C,OAAA;YAAAuD,UAAA,EAQA5I,IAAA;YAAAA,IAAA,EACNqI,OAAA;YAAApI,WAAA;YAAAC,QAAA,EAEIA,QAAA,IAAYqD,QAAA;YAAA0B,SAAA;YAAA4D,GAAA,EAEjBZ,OAAA;YAAAa,QAAA,EACKxE,QAAA,EAAA4B,MAAA;YAAA1B,QAAA,EACA0D,CAAA;YAAA/H,UAAA;YAAA6F;UAAA,C;WAvBTJ,OAAA;MAAA,CA8BX,GACC,CAAChC,KAAA,IACAsD,KAAA,CAAAnJ,KAAA,CAAAgL,QAAA;QAAAzB,QAAA,GACGjB,YAAA,IACCO,IAAA,CAAA3I,MAAA;UAAAqJ,QAAA,EACGtF,CAAA,CAAE;YAAAtB,KAAA,EAAkC5C,cAAA,CAAe6E,MAAA,CAAAC,MAAA,EAAeb,IAAA;UAAA,CAAM;QAAA,C,GAG5EuE,WAAA,IACCM,IAAA,CAAA3I,MAAA;UAAA4G,IAAA,EAAa;UAAAyC,QAAA,EACVtF,CAAA,CAAE;YAAAgF,KAAA,EACMnG,OAAA;YAAAH,KAAA,EAEL5C,cAAA,CAAe+C,OAAA,IAAU,GAAI8B,MAAA,CAAAC,MAAA,GAAgBD,MAAA,CAAAE,QAAe,EAAEd,IAAA,KAC9DC,CAAA,CAAEnB,OAAA,IAAU,GAAI,iBAAiB;UAAA,CACrC;QAAA,C;;QAOX,CAACoF,UAAA,KAAe/F,QAAA,IACf0G,IAAA,CAAA1I,MAAA;MAAA8K,WAAA,EACc;MAAA9H,SAAA,EACD,GAAA1B,SAAA,WAAuB;MAAAyJ,IAAA,EAC7B;MAAAC,YAAA,EACQ;MAAAC,SAAA,EACH;MAAA3B,OAAA,EAAAA,CAAA;QAEH9C,MAAA,CAAO1B,OAAA,KAAS;MAAA;MAAAsE,QAAA,EAGtBtF,CAAA,CAAE;QAAAtB,KAAA,EAA4B5C,cAAA,CAAe6E,MAAA,CAAAE,QAAA,EAAiBd,IAAA;MAAA,CAAM;IAAA,C,GAGxEgC,UAAA;EAAA,C;CAGP;AAEA,OAAO,MAAMqF,UAAA,GAAapK,aAAA,CAAcS,mBAAA;AAzUsB,SAAAmI,MAAAiB,GAAA;EAAA,OAkPzBA,GAAA,CAAAzB,EAAA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","$","field","t0","forceRender","t1","path","permissions","readOnly","schemaPath","schemaPathFromProps","validate","name","admin","t2","fields","label","localized","maxRows","minRows","minRowsProp","required","t3","undefined","className","description","isSortable","t4","setDocFieldPreferences","addFieldRow","dispatchFields","moveFieldRow","removeFieldRow","setModified","submitted","code","locale","i18n","t","config","t5","localization","t6","bb0","fallback","defaultLocale","editingDefaultLocale","t7","p","labels","plural","singular","getLabels","t8","value","options","memoizedValidate","t9","hasRows","customComponents","t10","disabled","errorPaths","rows","t11","showError","valid","value_0","t12","AfterInput","BeforeInput","Description","Error","Label","t13","t14","rowIndex","setTimeout","addRow","t15","rowIndex_0","type","duplicateRow","t16","rowIndex_1","removeRow","t17","moveFromIndex","moveToIndex","moveRow","t18","collapsed","collapsedIDs","updatedRows","toggleCollapseAll","t19","rowID","collapsed_0","collapsedIDs_0","updatedRows_0","setCollapse","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","t20","t21","filter","Boolean","t22","_jsx","CustomComponent","Fallback","t23","count","withMessage","_jsxs","join","id","replace","children","as","onClick","fieldValue","ids","map","_temp","onDragEnd","t24","moveFromIndex_0","moveToIndex_0","rowData","i","rowID_0","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","CustomRowLabel","RowLabel","errorCount","parentPath","row","rowCount","Fragment","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ArrayFieldClientComponent,\n ArrayFieldClientProps,\n ArrayField as ArrayFieldType,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field: {\n name,\n admin: { className, description, isSortable = true } = {},\n fields,\n label,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n forceRender = false,\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = (minRowsProp ?? required) ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, moveFieldRow, removeFieldRow, setModified } = useForm()\n const submitted = useFormSubmitted()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale\n return locale === defaultLocale\n }\n\n return true\n })()\n\n // Handle labeling for Arrays, Global Arrays, and Blocks\n const getLabels = (p: ArrayFieldClientProps): Partial<ArrayFieldType['labels']> => {\n if ('labels' in p && p?.labels) {\n return p.labels\n }\n\n if ('labels' in p.field && p.field.labels) {\n return { plural: p.field.labels?.plural, singular: p.field.labels?.singular }\n }\n\n if ('label' in p.field && p.field.label) {\n return { plural: undefined, singular: p.field.label }\n }\n\n return { plural: t('general:rows'), singular: t('general:row') }\n }\n\n const labels = getLabels(props)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n errorPaths,\n rows = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n removeFieldRow({ path, rowIndex })\n },\n [removeFieldRow, path],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n moveFieldRow({\n moveFromIndex,\n moveToIndex,\n path,\n })\n },\n [path, moveFieldRow],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && errorPaths.length > 0\n\n const showRequired = (readOnly || disabled) && rows.length === 0\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n as=\"span\"\n label={label}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rows?.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {BeforeInput}\n {(rows?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((rowData, i) => {\n const { id: rowID, isLoading } = rowData\n\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem\n disabled={readOnly || disabled || !isSortable}\n id={rowID}\n key={rowID}\n >\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n CustomRowLabel={rows?.[i]?.customComponents?.RowLabel}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={fields}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly || disabled}\n removeRow={removeRow}\n row={rowData}\n rowCount={rows?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n })}\n {!valid && (\n <React.Fragment>\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:rows' : 'general:row'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && !readOnly && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-row`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n void addRow(value || 0)\n }}\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const ArrayField = withCondition(ArrayFieldComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -169,8 +169,7 @@ const BlocksFieldComponent = props => {
|
|
|
169
169
|
BeforeInput,
|
|
170
170
|
Description,
|
|
171
171
|
Error,
|
|
172
|
-
Label
|
|
173
|
-
RowLabels
|
|
172
|
+
Label
|
|
174
173
|
} = t10;
|
|
175
174
|
let t11;
|
|
176
175
|
if ($[13] !== t9) {
|
|
@@ -438,7 +437,7 @@ const BlocksFieldComponent = props => {
|
|
|
438
437
|
hasMaxRows,
|
|
439
438
|
isLoading,
|
|
440
439
|
isSortable,
|
|
441
|
-
Label:
|
|
440
|
+
Label: rows?.[i]?.customComponents?.RowLabel,
|
|
442
441
|
labels,
|
|
443
442
|
moveRow,
|
|
444
443
|
parentPath: path,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","RenderCustomComponent","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","BlocksFieldComponent","props","$","i18n","t","field","t0","path","permissions","readOnly","schemaPath","schemaPathFromProps","validate","name","admin","t1","blockReferences","blocks","label","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","required","t2","undefined","className","description","isSortable","t3","setDocFieldPreferences","addFieldRow","dispatchFields","moveFieldRow","removeFieldRow","setModified","code","locale","config","t4","localization","drawerSlug","submitted","plural","singular","t5","bb0","fallback","defaultLocale","editingDefaultLocale","t6","value","options","memoizedValidate","t7","hasRows","customComponents","t8","disabled","errorPaths","rows","t9","showError","valid","value_0","t10","AfterInput","BeforeInput","Description","Error","Label","RowLabels","t11","t12","rowIndex","blockType","setTimeout","addRow","t13","rowIndex_0","type","duplicateRow","t14","rowIndex_1","removeRow","t15","moveFromIndex","moveToIndex","moveRow","t16","collapsed","collapsedIDs","updatedRows","toggleCollapseAll","t17","rowID","collapsed_0","collapsedIDs_0","updatedRows_0","setCollapse","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showMinRows","showRequired","t18","t19","filter","Boolean","t20","_jsx","CustomComponent","Fallback","t21","count","withMessage","_jsxs","join","id","replace","children","onClick","fieldValue","ids","map","_temp","onDragEnd","t22","moveFromIndex_0","moveToIndex_0","row_0","i","blockType_0","isLoading","row","blockConfig","blocksMap","find","block","slug","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","fields","parentPath","rowCount","buttonStyle","el","icon","iconPosition","iconStyle","addRowIndex","BlocksField"],"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldClientComponent, ClientBlock } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { DrawerToggler } from '../../elements/Drawer/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'blocks-field'\n\nconst BlocksFieldComponent: BlocksFieldClientComponent = (props) => {\n const { i18n, t } = useTranslation()\n\n const {\n field: {\n name,\n admin: { className, description, isSortable = true } = {},\n blockReferences,\n blocks,\n label,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = (minRowsProp ?? required) ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, moveFieldRow, removeFieldRow, setModified } = useForm()\n const { code: locale } = useLocale()\n const {\n config: { localization },\n config,\n } = useConfig()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n const submitted = useFormSubmitted()\n\n const labels = {\n plural: t('fields:blocks'),\n singular: t('fields:block'),\n ...labelsFromProps,\n }\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale\n return locale === defaultLocale\n }\n\n return true\n })()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label, RowLabels } = {},\n disabled,\n errorPaths,\n rows = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number, blockType: string) => {\n addFieldRow({\n blockType,\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n removeFieldRow({\n path,\n rowIndex,\n })\n },\n [path, removeFieldRow],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n moveFieldRow({ moveFromIndex, moveToIndex, path })\n },\n [moveFieldRow, path],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = readOnly && rows.length === 0\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__heading-with-error`}>\n <h3>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rows.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n {BeforeInput}\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((row, i) => {\n const { blockType, isLoading } = row\n const blockConfig: ClientBlock =\n config.blocksMap[blockType] ??\n ((blockReferences ?? blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockType,\n ) as ClientBlock)\n\n if (blockConfig) {\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem\n disabled={readOnly || disabled || !isSortable}\n id={row.id}\n key={row.id}\n >\n {(draggableSortableItemProps) => (\n <BlockRow\n {...draggableSortableItemProps}\n addRow={addRow}\n block={blockConfig}\n blocks={blockReferences ?? blocks}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={blockConfig.fields}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n Label={RowLabels?.[i]}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly || disabled}\n removeRow={removeRow}\n row={row}\n rowCount={rows.length}\n rowIndex={i}\n schemaPath={schemaPath + blockConfig.slug}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n }\n\n return null\n })}\n {!editingDefaultLocale && (\n <React.Fragment>\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:row' : 'general:rows'),\n })}\n </Banner>\n )}\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && (\n <Fragment>\n <DrawerToggler\n className={`${baseClass}__drawer-toggler`}\n disabled={readOnly || disabled}\n slug={drawerSlug}\n >\n <Button\n buttonStyle=\"icon-label\"\n disabled={readOnly || disabled}\n el=\"span\"\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n </DrawerToggler>\n <BlocksDrawer\n addRow={addRow}\n addRowIndex={rows?.length || 0}\n blocks={blockReferences ?? blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n </Fragment>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const BlocksField = withCondition(BlocksFieldComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","RenderCustomComponent","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","BlocksFieldComponent","props","$","i18n","t","field","t0","path","permissions","readOnly","schemaPath","schemaPathFromProps","validate","name","admin","t1","blockReferences","blocks","label","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","required","t2","undefined","className","description","isSortable","t3","setDocFieldPreferences","addFieldRow","dispatchFields","moveFieldRow","removeFieldRow","setModified","code","locale","config","t4","localization","drawerSlug","submitted","plural","singular","t5","bb0","fallback","defaultLocale","editingDefaultLocale","t6","value","options","memoizedValidate","t7","hasRows","customComponents","t8","disabled","errorPaths","rows","t9","showError","valid","value_0","t10","AfterInput","BeforeInput","Description","Error","Label","t11","t12","rowIndex","blockType","setTimeout","addRow","t13","rowIndex_0","type","duplicateRow","t14","rowIndex_1","removeRow","t15","moveFromIndex","moveToIndex","moveRow","t16","collapsed","collapsedIDs","updatedRows","toggleCollapseAll","t17","rowID","collapsed_0","collapsedIDs_0","updatedRows_0","setCollapse","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showMinRows","showRequired","t18","t19","filter","Boolean","t20","_jsx","CustomComponent","Fallback","t21","count","withMessage","_jsxs","join","id","replace","children","onClick","fieldValue","ids","map","_temp","onDragEnd","t22","moveFromIndex_0","moveToIndex_0","row_0","i","blockType_0","isLoading","row","blockConfig","blocksMap","find","block","slug","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","fields","RowLabel","parentPath","rowCount","buttonStyle","el","icon","iconPosition","iconStyle","addRowIndex","BlocksField"],"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldClientComponent, ClientBlock } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { DrawerToggler } from '../../elements/Drawer/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'blocks-field'\n\nconst BlocksFieldComponent: BlocksFieldClientComponent = (props) => {\n const { i18n, t } = useTranslation()\n\n const {\n field: {\n name,\n admin: { className, description, isSortable = true } = {},\n blockReferences,\n blocks,\n label,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = (minRowsProp ?? required) ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, moveFieldRow, removeFieldRow, setModified } = useForm()\n const { code: locale } = useLocale()\n const {\n config: { localization },\n config,\n } = useConfig()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n const submitted = useFormSubmitted()\n\n const labels = {\n plural: t('fields:blocks'),\n singular: t('fields:block'),\n ...labelsFromProps,\n }\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale\n return locale === defaultLocale\n }\n\n return true\n })()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n errorPaths,\n rows = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number, blockType: string) => {\n addFieldRow({\n blockType,\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n removeFieldRow({\n path,\n rowIndex,\n })\n },\n [path, removeFieldRow],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n moveFieldRow({ moveFromIndex, moveToIndex, path })\n },\n [moveFieldRow, path],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = readOnly && rows.length === 0\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__heading-with-error`}>\n <h3>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rows.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n {BeforeInput}\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((row, i) => {\n const { blockType, isLoading } = row\n const blockConfig: ClientBlock =\n config.blocksMap[blockType] ??\n ((blockReferences ?? blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockType,\n ) as ClientBlock)\n\n if (blockConfig) {\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem\n disabled={readOnly || disabled || !isSortable}\n id={row.id}\n key={row.id}\n >\n {(draggableSortableItemProps) => (\n <BlockRow\n {...draggableSortableItemProps}\n addRow={addRow}\n block={blockConfig}\n blocks={blockReferences ?? blocks}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={blockConfig.fields}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n Label={rows?.[i]?.customComponents?.RowLabel}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly || disabled}\n removeRow={removeRow}\n row={row}\n rowCount={rows.length}\n rowIndex={i}\n schemaPath={schemaPath + blockConfig.slug}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n }\n\n return null\n })}\n {!editingDefaultLocale && (\n <React.Fragment>\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:row' : 'general:rows'),\n })}\n </Banner>\n )}\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && (\n <Fragment>\n <DrawerToggler\n className={`${baseClass}__drawer-toggler`}\n disabled={readOnly || disabled}\n slug={drawerSlug}\n >\n <Button\n buttonStyle=\"icon-label\"\n disabled={readOnly || disabled}\n el=\"span\"\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n </DrawerToggler>\n <BlocksDrawer\n addRow={addRow}\n addRowIndex={rows?.length || 0}\n blocks={blockReferences ?? blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n </Fragment>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const BlocksField = withCondition(BlocksFieldComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldReducer.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/fieldReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,SAAS,EAAO,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"fieldReducer.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/fieldReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,SAAS,EAAO,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAwX7E"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import ObjectIdImport from 'bson-objectid';
|
|
4
4
|
import { dequal } from 'dequal/lite'; // lite: no need for Map and Set support
|
|
5
|
-
import {
|
|
5
|
+
import { deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared';
|
|
6
6
|
import { flattenRows, separateRows } from './rows.js';
|
|
7
7
|
const ObjectId = ObjectIdImport.default || ObjectIdImport;
|
|
8
8
|
/**
|
|
@@ -46,19 +46,14 @@ export function fieldReducer(state, action) {
|
|
|
46
46
|
[`${path}.${rowIndex}.id`]: {
|
|
47
47
|
initialValue: newRow.id,
|
|
48
48
|
passesCondition: true,
|
|
49
|
-
requiresRender: true,
|
|
50
49
|
valid: true,
|
|
51
50
|
value: newRow.id
|
|
52
51
|
},
|
|
53
52
|
[path]: {
|
|
54
53
|
...state[path],
|
|
55
54
|
disableFormData: true,
|
|
56
|
-
requiresRender: true,
|
|
57
55
|
rows: withNewRow,
|
|
58
|
-
value: siblingRows.length
|
|
59
|
-
...(state[path]?.requiresRender === true ? {
|
|
60
|
-
serverPropsToIgnore: [...(state[path]?.serverPropsToIgnore || []), 'requiresRender']
|
|
61
|
-
} : state[path]?.serverPropsToIgnore || [])
|
|
56
|
+
value: siblingRows.length
|
|
62
57
|
}
|
|
63
58
|
};
|
|
64
59
|
return newState;
|
|
@@ -133,7 +128,7 @@ export function fieldReducer(state, action) {
|
|
|
133
128
|
rows
|
|
134
129
|
} = separateRows(path, state);
|
|
135
130
|
const rowsMetadata = [...(state[path].rows || [])];
|
|
136
|
-
const duplicateRowMetadata =
|
|
131
|
+
const duplicateRowMetadata = deepCopyObjectSimpleWithoutReactComponents(rowsMetadata[rowIndex]);
|
|
137
132
|
if (duplicateRowMetadata.id) {
|
|
138
133
|
duplicateRowMetadata.id = new ObjectId().toHexString();
|
|
139
134
|
}
|
|
@@ -161,12 +156,8 @@ export function fieldReducer(state, action) {
|
|
|
161
156
|
[path]: {
|
|
162
157
|
...state[path],
|
|
163
158
|
disableFormData: true,
|
|
164
|
-
requiresRender: true,
|
|
165
159
|
rows: rowsMetadata,
|
|
166
|
-
value: rows.length
|
|
167
|
-
...(state[path]?.requiresRender === true ? {
|
|
168
|
-
serverPropsToIgnore: [...(state[path]?.serverPropsToIgnore || []), 'requiresRender']
|
|
169
|
-
} : state[path]?.serverPropsToIgnore || [])
|
|
160
|
+
value: rows.length
|
|
170
161
|
}
|
|
171
162
|
};
|
|
172
163
|
return newState;
|
|
@@ -198,29 +189,9 @@ export function fieldReducer(state, action) {
|
|
|
198
189
|
...flattenRows(path, topLevelRows),
|
|
199
190
|
[path]: {
|
|
200
191
|
...state[path],
|
|
201
|
-
|
|
202
|
-
rows: rowsWithinField,
|
|
203
|
-
...(state[path]?.requiresRender === true ? {
|
|
204
|
-
serverPropsToIgnore: [...(state[path]?.serverPropsToIgnore || []), 'requiresRender']
|
|
205
|
-
} : state[path]?.serverPropsToIgnore || [])
|
|
192
|
+
rows: rowsWithinField
|
|
206
193
|
}
|
|
207
194
|
};
|
|
208
|
-
// Do the same for custom components, i.e. `array.customComponents.RowLabels[0]` -> `array.customComponents.RowLabels[1]`
|
|
209
|
-
// Do this _after_ initializing `newState` to avoid adding the `customComponents` key to the state if it doesn't exist
|
|
210
|
-
if (newState[path]?.customComponents?.RowLabels) {
|
|
211
|
-
const customComponents = {
|
|
212
|
-
...newState[path].customComponents,
|
|
213
|
-
RowLabels: [...newState[path].customComponents.RowLabels]
|
|
214
|
-
};
|
|
215
|
-
// Ensure the array grows if necessary
|
|
216
|
-
if (moveToIndex >= customComponents.RowLabels.length) {
|
|
217
|
-
customComponents.RowLabels.length = moveToIndex + 1;
|
|
218
|
-
}
|
|
219
|
-
const copyOfMovingLabel = customComponents.RowLabels[moveFromIndex];
|
|
220
|
-
customComponents.RowLabels.splice(moveFromIndex, 1);
|
|
221
|
-
customComponents.RowLabels.splice(moveToIndex, 0, copyOfMovingLabel);
|
|
222
|
-
newState[path].customComponents = customComponents;
|
|
223
|
-
}
|
|
224
195
|
return newState;
|
|
225
196
|
}
|
|
226
197
|
case 'REMOVE':
|
|
@@ -251,12 +222,8 @@ export function fieldReducer(state, action) {
|
|
|
251
222
|
[path]: {
|
|
252
223
|
...state[path],
|
|
253
224
|
disableFormData: rows.length > 0,
|
|
254
|
-
requiresRender: true,
|
|
255
225
|
rows: rowsMetadata,
|
|
256
|
-
value: rows.length
|
|
257
|
-
...(state[path]?.requiresRender === true ? {
|
|
258
|
-
serverPropsToIgnore: [...(state[path]?.serverPropsToIgnore || []), 'requiresRender']
|
|
259
|
-
} : state[path]?.serverPropsToIgnore || [])
|
|
226
|
+
value: rows.length
|
|
260
227
|
},
|
|
261
228
|
...flattenRows(path, rows)
|
|
262
229
|
};
|
|
@@ -297,10 +264,7 @@ export function fieldReducer(state, action) {
|
|
|
297
264
|
...state[path],
|
|
298
265
|
disableFormData: true,
|
|
299
266
|
rows: rowsMetadata,
|
|
300
|
-
value: siblingRows.length
|
|
301
|
-
...(state[path]?.requiresRender === true ? {
|
|
302
|
-
serverPropsToIgnore: [...(state[path]?.serverPropsToIgnore || []), 'requiresRender']
|
|
303
|
-
} : state[path]?.serverPropsToIgnore || [])
|
|
267
|
+
value: siblingRows.length
|
|
304
268
|
}
|
|
305
269
|
};
|
|
306
270
|
return newState;
|