@payloadcms/ui 3.68.0-internal-debug.35482da → 3.68.0-internal-debug.654e4ad
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/ArrayAction/index.d.ts +6 -6
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +28 -28
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.d.ts +1 -1
- package/dist/elements/withMergedProps/index.js +1 -1
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +2 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +2 -0
- package/dist/exports/client/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts +18 -7
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +17 -17
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +14 -7
- package/dist/fields/Array/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"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, { Fragment, useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { ClipboardPasteData } from '../../elements/ClipboardAction/types.js'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { clipboardCopy, clipboardPaste } from '../../elements/ClipboardAction/clipboardUtilities.js'\nimport { ClipboardAction } from '../../elements/ClipboardAction/index.js'\nimport {\n mergeFormStateFromClipboard,\n reduceFormStateByPath,\n} from '../../elements/ClipboardAction/mergeFormStateFromClipboard.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 { mergeFieldStyles } from '../mergeFieldStyles.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 field: {\n name,\n type,\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: pathFromProps,\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 {\n addFieldRow,\n dispatchFields,\n getFields,\n moveFieldRow,\n removeFieldRow,\n replaceState,\n setModified,\n } = 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 path,\n rows = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n potentiallyStalePath: pathFromProps,\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 copyRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const clipboardResult = clipboardCopy({\n type,\n fields,\n getDataToCopy: () =>\n reduceFormStateByPath({\n formState,\n path,\n rowIndex,\n }),\n path,\n rowIndex,\n t,\n })\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n } else {\n toast.success(t('general:copied'))\n }\n },\n [fields, getFields, path, t, type],\n )\n\n const pasteRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex,\n })\n replaceState(newState)\n setModified(true)\n },\n path,\n schemaFields: fields,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [fields, getFields, path, replaceState, setModified, t],\n )\n\n const pasteField = useCallback(\n (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n })\n replaceState(newState)\n setModified(true)\n },\n [getFields, path, replaceState, setModified],\n )\n\n const getDataToCopy = useCallback(\n () =>\n reduceFormStateByPath({\n formState: { ...getFields() },\n path,\n }),\n [getFields, path],\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 && rows.length < minRows) || (required && rows.length === 0)\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\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 style={styles}\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 <ul className={`${baseClass}__header-actions`}>\n {rows?.length > 0 && (\n <Fragment>\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 </Fragment>\n )}\n <li>\n <ClipboardAction\n allowCopy={rows?.length > 0}\n allowPaste={!readOnly}\n className={`${baseClass}__header-action`}\n disabled={disabled}\n fields={fields}\n getDataToCopy={getDataToCopy}\n onPaste={pasteField}\n path={path}\n type={type}\n />\n </li>\n </ul>\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField\n fieldValue={value}\n localized={localized}\n path={path}\n readOnly={readOnly}\n />\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 copyRow={copyRow}\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 pasteRow={pasteRow}\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 disabled={disabled}\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"],"names":["getTranslation","React","Fragment","useCallback","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","mergeFormStateFromClipboard","reduceFormStateByPath","DraggableSortableItem","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","mergeFieldStyles","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","field","name","type","admin","className","description","isSortable","fields","label","localized","maxRows","minRows","minRowsProp","required","forceRender","path","pathFromProps","permissions","readOnly","schemaPath","schemaPathFromProps","validate","setDocFieldPreferences","addFieldRow","dispatchFields","getFields","moveFieldRow","removeFieldRow","replaceState","setModified","submitted","code","locale","i18n","t","config","localization","editingDefaultLocale","fallback","defaultLocale","getLabels","p","labels","plural","singular","undefined","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","errorPaths","rows","showError","valid","hasRows","potentiallyStalePath","addRow","rowIndex","setTimeout","duplicateRow","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","copyRow","formState","clipboardResult","getDataToCopy","error","success","pasteRow","pasteArgs","onPaste","dataFromClipboard","newState","schemaFields","pasteField","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","styles","div","filter","Boolean","join","id","replace","style","CustomComponent","Fallback","header","h3","as","count","withMessage","ul","li","button","onClick","allowCopy","allowPaste","fieldValue","ids","map","row","onDragEnd","rowData","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","CustomRowLabel","RowLabel","errorCount","parentPath","rowCount","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"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, { Fragment, useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { ClipboardPasteData } from '../../elements/ClipboardAction/types.js'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { clipboardCopy, clipboardPaste } from '../../elements/ClipboardAction/clipboardUtilities.js'\nimport { ClipboardAction } from '../../elements/ClipboardAction/index.js'\nimport {\n mergeFormStateFromClipboard,\n reduceFormStateByPath,\n} from '../../elements/ClipboardAction/mergeFormStateFromClipboard.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 { mergeFieldStyles } from '../mergeFieldStyles.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 field: {\n name,\n type,\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: pathFromProps,\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 {\n addFieldRow,\n dispatchFields,\n getFields,\n moveFieldRow,\n removeFieldRow,\n replaceState,\n setModified,\n } = 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 path,\n rows = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n potentiallyStalePath: pathFromProps,\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 copyRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const clipboardResult = clipboardCopy({\n type,\n fields,\n getDataToCopy: () =>\n reduceFormStateByPath({\n formState,\n path,\n rowIndex,\n }),\n path,\n rowIndex,\n t,\n })\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n } else {\n toast.success(t('general:copied'))\n }\n },\n [fields, getFields, path, t, type],\n )\n\n const pasteRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex,\n })\n replaceState(newState)\n setModified(true)\n },\n path,\n schemaFields: fields,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [fields, getFields, path, replaceState, setModified, t],\n )\n\n const pasteField = useCallback(\n (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n })\n replaceState(newState)\n setModified(true)\n },\n [getFields, path, replaceState, setModified],\n )\n\n const getDataToCopy = useCallback(\n () =>\n reduceFormStateByPath({\n formState: { ...getFields() },\n path,\n }),\n [getFields, path],\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 && rows.length < minRows) || (required && rows.length === 0)\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\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 style={styles}\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 <ul className={`${baseClass}__header-actions`}>\n {rows?.length > 0 && (\n <Fragment>\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 </Fragment>\n )}\n <li>\n <ClipboardAction\n allowCopy={rows?.length > 0}\n allowPaste={!readOnly}\n className={`${baseClass}__header-action`}\n disabled={disabled}\n fields={fields}\n getDataToCopy={getDataToCopy}\n onPaste={pasteField}\n path={path}\n type={type}\n />\n </li>\n </ul>\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField\n fieldValue={value}\n localized={localized}\n path={path}\n readOnly={readOnly}\n />\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 {(dragProps) => (\n <ArrayRow\n addRow={addRow}\n copyRow={copyRow}\n CustomRowLabel={rows?.[i]?.customComponents?.RowLabel}\n dragHandleAttributes={dragProps?.attributes}\n dragHandleListeners={dragProps?.listeners}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={fields}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n isDragging={dragProps?.isDragging}\n isLoading={isLoading}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n pasteRow={pasteRow}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly || disabled}\n ref={dragProps?.setNodeRef}\n removeRow={removeRow}\n row={rowData}\n rowCount={rows?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n style={{\n transform: dragProps?.transform,\n transition: dragProps?.transition,\n }}\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 disabled={disabled}\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"],"names":["getTranslation","React","Fragment","useCallback","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","mergeFormStateFromClipboard","reduceFormStateByPath","DraggableSortableItem","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","mergeFieldStyles","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","field","name","type","admin","className","description","isSortable","fields","label","localized","maxRows","minRows","minRowsProp","required","forceRender","path","pathFromProps","permissions","readOnly","schemaPath","schemaPathFromProps","validate","setDocFieldPreferences","addFieldRow","dispatchFields","getFields","moveFieldRow","removeFieldRow","replaceState","setModified","submitted","code","locale","i18n","t","config","localization","editingDefaultLocale","fallback","defaultLocale","getLabels","p","labels","plural","singular","undefined","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","errorPaths","rows","showError","valid","hasRows","potentiallyStalePath","addRow","rowIndex","setTimeout","duplicateRow","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","copyRow","formState","clipboardResult","getDataToCopy","error","success","pasteRow","pasteArgs","onPaste","dataFromClipboard","newState","schemaFields","pasteField","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","styles","div","filter","Boolean","join","id","replace","style","CustomComponent","Fallback","header","h3","as","count","withMessage","ul","li","button","onClick","allowCopy","allowPaste","fieldValue","ids","map","row","onDragEnd","rowData","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","dragProps","CustomRowLabel","RowLabel","dragHandleAttributes","attributes","dragHandleListeners","listeners","errorCount","isDragging","parentPath","ref","setNodeRef","rowCount","transform","transition","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.68.0-internal-debug.
|
|
3
|
+
"version": "3.68.0-internal-debug.654e4ad",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"ts-essentials": "10.0.3",
|
|
137
137
|
"use-context-selector": "2.0.0",
|
|
138
138
|
"uuid": "10.0.0",
|
|
139
|
-
"@payloadcms/translations": "3.68.0-internal-debug.
|
|
139
|
+
"@payloadcms/translations": "3.68.0-internal-debug.654e4ad"
|
|
140
140
|
},
|
|
141
141
|
"devDependencies": {
|
|
142
142
|
"@babel/cli": "7.27.2",
|
|
@@ -151,14 +151,14 @@
|
|
|
151
151
|
"babel-plugin-react-compiler": "19.1.0-rc.3",
|
|
152
152
|
"esbuild": "0.25.5",
|
|
153
153
|
"esbuild-sass-plugin": "3.3.1",
|
|
154
|
-
"
|
|
155
|
-
"
|
|
154
|
+
"@payloadcms/eslint-config": "3.28.0",
|
|
155
|
+
"payload": "3.68.0-internal-debug.654e4ad"
|
|
156
156
|
},
|
|
157
157
|
"peerDependencies": {
|
|
158
158
|
"next": "^15.2.6 || ^15.3.6 || ^15.4.8 || ^15.5.7",
|
|
159
159
|
"react": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
160
160
|
"react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
161
|
-
"payload": "3.68.0-internal-debug.
|
|
161
|
+
"payload": "3.68.0-internal-debug.654e4ad"
|
|
162
162
|
},
|
|
163
163
|
"engines": {
|
|
164
164
|
"node": "^18.20.2 || >=20.9.0"
|