@payloadcms/ui 4.0.0-canary.27 → 4.0.0-canary.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/dist/elements/AppHeader/index.js +1 -1
  2. package/dist/elements/AppHeader/index.js.map +1 -1
  3. package/dist/elements/Autosave/index.d.ts.map +1 -1
  4. package/dist/elements/Autosave/index.js +2 -3
  5. package/dist/elements/Autosave/index.js.map +1 -1
  6. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  7. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  8. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  9. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  10. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  11. package/dist/elements/BulkUpload/FormsManager/index.js +2 -3
  12. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  13. package/dist/elements/Button/index.d.ts.map +1 -1
  14. package/dist/elements/Button/index.js +2 -0
  15. package/dist/elements/Button/index.js.map +1 -1
  16. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  17. package/dist/elements/CopyLocaleData/index.js +8 -9
  18. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  19. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  20. package/dist/elements/DeleteMany/index.js +2 -3
  21. package/dist/elements/DeleteMany/index.js.map +1 -1
  22. package/dist/elements/Dropzone/index.css +10 -4
  23. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  24. package/dist/elements/DuplicateDocument/index.js +2 -3
  25. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  26. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  27. package/dist/elements/EditMany/DrawerContent.js +2 -3
  28. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  29. package/dist/elements/FileManager/index.css +0 -30
  30. package/dist/elements/FileManager/index.d.ts.map +1 -1
  31. package/dist/elements/FileManager/index.js +379 -287
  32. package/dist/elements/FileManager/index.js.map +1 -1
  33. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  34. package/dist/elements/Hierarchy/MoveMany/index.js +2 -3
  35. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  36. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  37. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -3
  38. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
  39. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  40. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +2 -3
  41. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  42. package/dist/elements/LivePreview/Window/index.js +1 -1
  43. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  44. package/dist/elements/Localizer/index.js +1 -1
  45. package/dist/elements/Localizer/index.js.map +1 -1
  46. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  47. package/dist/elements/PublishButton/ScheduleDrawer/index.js +8 -30
  48. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  49. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
  50. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
  51. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  52. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  53. package/dist/elements/PublishButton/index.js +5 -6
  54. package/dist/elements/PublishButton/index.js.map +1 -1
  55. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  56. package/dist/elements/PublishMany/DrawerContent.js +2 -3
  57. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  58. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  59. package/dist/elements/RestoreMany/index.js +2 -3
  60. package/dist/elements/RestoreMany/index.js.map +1 -1
  61. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  62. package/dist/elements/SaveDraftButton/index.js +2 -3
  63. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  64. package/dist/elements/Status/index.d.ts.map +1 -1
  65. package/dist/elements/Status/index.js +2 -3
  66. package/dist/elements/Status/index.js.map +1 -1
  67. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  68. package/dist/elements/Table/OrderableTable.js +2 -3
  69. package/dist/elements/Table/OrderableTable.js.map +1 -1
  70. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  71. package/dist/elements/Table/RelationshipProvider/index.js +2 -3
  72. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  73. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  74. package/dist/elements/UnpublishButton/index.js +3 -4
  75. package/dist/elements/UnpublishButton/index.js.map +1 -1
  76. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  77. package/dist/elements/UnpublishMany/DrawerContent.js +2 -3
  78. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  79. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  80. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  81. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  82. package/dist/elements/Upload/index.css +39 -32
  83. package/dist/elements/Upload/index.d.ts.map +1 -1
  84. package/dist/elements/Upload/index.js +37 -99
  85. package/dist/elements/Upload/index.js.map +1 -1
  86. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  87. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  88. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  89. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  90. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  91. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  92. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  93. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  94. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  95. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  96. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  97. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  98. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  99. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
  100. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  101. package/dist/fields/Array/index.d.ts.map +1 -1
  102. package/dist/fields/Array/index.js +2 -3
  103. package/dist/fields/Array/index.js.map +1 -1
  104. package/dist/fields/Blocks/index.d.ts.map +1 -1
  105. package/dist/fields/Blocks/index.js +2 -3
  106. package/dist/fields/Blocks/index.js.map +1 -1
  107. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  108. package/dist/fields/FieldLabel/index.js +4 -5
  109. package/dist/fields/FieldLabel/index.js.map +1 -1
  110. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  111. package/dist/fields/Relationship/Input.js +2 -3
  112. package/dist/fields/Relationship/Input.js.map +1 -1
  113. package/dist/fields/Slug/index.d.ts.map +1 -1
  114. package/dist/fields/Slug/index.js +2 -3
  115. package/dist/fields/Slug/index.js.map +1 -1
  116. package/dist/fields/Upload/Input.d.ts.map +1 -1
  117. package/dist/fields/Upload/Input.js +46 -19
  118. package/dist/fields/Upload/Input.js.map +1 -1
  119. package/dist/fields/Upload/Input.spec.js +242 -0
  120. package/dist/fields/Upload/Input.spec.js.map +1 -0
  121. package/dist/fields/shared/index.d.ts +1 -1
  122. package/dist/fields/shared/index.d.ts.map +1 -1
  123. package/dist/fields/shared/index.js.map +1 -1
  124. package/dist/forms/Form/index.d.ts.map +1 -1
  125. package/dist/forms/Form/index.js +2 -3
  126. package/dist/forms/Form/index.js.map +1 -1
  127. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  128. package/dist/forms/NullifyField/index.js +2 -3
  129. package/dist/forms/NullifyField/index.js.map +1 -1
  130. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  131. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
  132. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  133. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  134. package/dist/hooks/usePayloadAPI.js +2 -3
  135. package/dist/hooks/usePayloadAPI.js.map +1 -1
  136. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  137. package/dist/providers/DocumentInfo/index.js +2 -3
  138. package/dist/providers/DocumentInfo/index.js.map +1 -1
  139. package/dist/providers/Locale/index.d.ts +1 -5
  140. package/dist/providers/Locale/index.d.ts.map +1 -1
  141. package/dist/providers/Locale/index.js +61 -139
  142. package/dist/providers/Locale/index.js.map +1 -1
  143. package/dist/providers/Selection/index.d.ts.map +1 -1
  144. package/dist/providers/Selection/index.js +2 -3
  145. package/dist/providers/Selection/index.js.map +1 -1
  146. package/dist/providers/ServerFunctions/index.d.ts +5 -1
  147. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  148. package/dist/providers/ServerFunctions/index.js +15 -0
  149. package/dist/providers/ServerFunctions/index.js.map +1 -1
  150. package/dist/styles.css +1 -1
  151. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  152. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  153. package/dist/utilities/getFilesFromClipboard.js +49 -0
  154. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  155. package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
  156. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  157. package/dist/utilities/getHasScheduledPublish.js +2 -5
  158. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  159. package/dist/utilities/schedulePublishHandler.d.ts +8 -1
  160. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  161. package/dist/utilities/schedulePublishHandler.js +68 -4
  162. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  163. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  164. package/dist/utilities/serverFunctionRegistry.js +2 -1
  165. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  166. package/dist/utilities/slugify.d.ts.map +1 -1
  167. package/dist/utilities/slugify.js +1 -0
  168. package/dist/utilities/slugify.js.map +1 -1
  169. package/dist/views/API/index.client.d.ts.map +1 -1
  170. package/dist/views/API/index.client.js +2 -3
  171. package/dist/views/API/index.client.js.map +1 -1
  172. package/dist/views/Document/index.d.ts.map +1 -1
  173. package/dist/views/Document/index.js +1 -2
  174. package/dist/views/Document/index.js.map +1 -1
  175. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  176. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  177. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  178. package/dist/views/Edit/index.d.ts.map +1 -1
  179. package/dist/views/Edit/index.js +3 -2
  180. package/dist/views/Edit/index.js.map +1 -1
  181. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  182. package/dist/views/Version/Default/SetStepNav.js +10 -13
  183. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  184. package/dist/views/Version/Default/index.d.ts.map +1 -1
  185. package/dist/views/Version/Default/index.js +12 -13
  186. package/dist/views/Version/Default/index.js.map +1 -1
  187. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  188. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
  189. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
  190. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  191. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["verticalListSortingStrategy","getTranslation","React","useCallback","useId","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","insertRowFromClipboard","mergeFormStateFromClipboard","reduceFormStateByPath","CollapseAllToggle","DraggableSortableItem","DragOverlayPreview","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","RowLabel","useField","withCondition","CirclePlusIcon","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","componentId","scrollIdPrefix","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","pasteRowBelow","pasteField","hasMaxRows","length","fieldErrorCount","fieldHasErrors","displayedErrorCount","showRequired","showMinRows","shouldShowSummaryBanner","shouldShowFieldError","styles","renderDragOverlay","activeId","activeIndex","findIndex","row","id","_jsx","header","CustomComponent","String","padStart","rowNumber","_jsxs","filter","Boolean","join","replace","style","Fallback","as","count","withMessage","onClick","allowCopy","allowPaste","fieldValue","ids","map","onDragEnd","sortingStrategy","rowData","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","CustomRowLabel","errorCount","parentPath","rowCount","Fragment","buttonStyle","icon","iconPosition","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 { verticalListSortingStrategy } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useId, 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 insertRowFromClipboard,\n mergeFormStateFromClipboard,\n reduceFormStateByPath,\n} from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js'\nimport { CollapseAllToggle } from '../../elements/CollapseAllToggle/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DragOverlayPreview } from '../../elements/DraggableSortable/DragOverlayPreview/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 { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { CirclePlusIcon } from '../../icons/CirclePlus/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.css'\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 componentId = useId()\n const scrollIdPrefix = useMemo(() => `scroll-${componentId}`, [componentId])\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${scrollIdPrefix}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath, scrollIdPrefix],\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(`${scrollIdPrefix}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, scrollIdPrefix, 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 pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\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 pasteRowBelow = useCallback(\n (rowIndex: number) => {\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = insertRowFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex: rowIndex + 1,\n })\n replaceState(newState)\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${scrollIdPrefix}-row-${rowIndex + 1}`)\n }, 0)\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, scrollIdPrefix, 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 && (fieldErrorCount > 0 || !valid)\n const displayedErrorCount = fieldErrorCount > 0 ? fieldErrorCount : fieldHasErrors ? 1 : 0\n\n const showRequired = (readOnly || disabled) && rows.length === 0\n const showMinRows = (rows.length && rows.length < minRows) || (required && rows.length === 0)\n const shouldShowSummaryBanner = !valid && (showRequired || showMinRows)\n const shouldShowFieldError = showError && !shouldShowSummaryBanner\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const renderDragOverlay = useCallback(\n (activeId: number | string) => {\n const activeIndex = rows.findIndex((row) => row.id === activeId)\n if (activeIndex === -1) {\n return null\n }\n\n return (\n <DragOverlayPreview\n header={\n <RowLabel\n CustomComponent={rows?.[activeIndex]?.customComponents?.RowLabel}\n label={`${getTranslation(label, i18n)} ${String(activeIndex + 1).padStart(2, '0')}`}\n path={`${path}.${activeIndex}`}\n rowNumber={activeIndex}\n />\n }\n />\n )\n },\n [rows, label, i18n, path],\n )\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 {shouldShowFieldError && (\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 {displayedErrorCount > 0 && (\n <ErrorPill count={displayedErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n <ul className={`${baseClass}__header-actions`}>\n {rows?.length > 0 && <CollapseAllToggle onClick={toggleCollapseAll} />}\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 renderDragOverlay={isSortable && !readOnly && !disabled ? renderDragOverlay : undefined}\n sortingStrategy={verticalListSortingStrategy}\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 pasteRowBelow={pasteRowBelow}\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 scrollIdPrefix={scrollIdPrefix}\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=\"danger\">\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=\"ghost\"\n className={`${baseClass}__add-row`}\n disabled={disabled}\n icon={<CirclePlusIcon />}\n iconPosition=\"left\"\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":[]}
1
+ {"version":3,"file":"index.js","names":["verticalListSortingStrategy","getTranslation","React","useCallback","useId","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","insertRowFromClipboard","mergeFormStateFromClipboard","reduceFormStateByPath","CollapseAllToggle","DraggableSortableItem","DragOverlayPreview","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","RowLabel","useField","withCondition","CirclePlusIcon","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","currentLocale","locale","code","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","componentId","scrollIdPrefix","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","pasteRowBelow","pasteField","hasMaxRows","length","fieldErrorCount","fieldHasErrors","displayedErrorCount","showRequired","showMinRows","shouldShowSummaryBanner","shouldShowFieldError","styles","renderDragOverlay","activeId","activeIndex","findIndex","row","id","_jsx","header","CustomComponent","String","padStart","rowNumber","_jsxs","filter","Boolean","join","replace","style","Fallback","as","count","withMessage","onClick","allowCopy","allowPaste","fieldValue","ids","map","onDragEnd","sortingStrategy","rowData","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","CustomRowLabel","errorCount","parentPath","rowCount","Fragment","buttonStyle","icon","iconPosition","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 { verticalListSortingStrategy } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useId, 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 insertRowFromClipboard,\n mergeFormStateFromClipboard,\n reduceFormStateByPath,\n} from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js'\nimport { CollapseAllToggle } from '../../elements/CollapseAllToggle/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DragOverlayPreview } from '../../elements/DraggableSortable/DragOverlayPreview/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 { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { CirclePlusIcon } from '../../icons/CirclePlus/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.css'\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 currentLocale = useLocale()\n const locale = currentLocale?.code\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 componentId = useId()\n const scrollIdPrefix = useMemo(() => `scroll-${componentId}`, [componentId])\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${scrollIdPrefix}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath, scrollIdPrefix],\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(`${scrollIdPrefix}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, scrollIdPrefix, 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 pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\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 pasteRowBelow = useCallback(\n (rowIndex: number) => {\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = insertRowFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex: rowIndex + 1,\n })\n replaceState(newState)\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${scrollIdPrefix}-row-${rowIndex + 1}`)\n }, 0)\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, scrollIdPrefix, 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 && (fieldErrorCount > 0 || !valid)\n const displayedErrorCount = fieldErrorCount > 0 ? fieldErrorCount : fieldHasErrors ? 1 : 0\n\n const showRequired = (readOnly || disabled) && rows.length === 0\n const showMinRows = (rows.length && rows.length < minRows) || (required && rows.length === 0)\n const shouldShowSummaryBanner = !valid && (showRequired || showMinRows)\n const shouldShowFieldError = showError && !shouldShowSummaryBanner\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const renderDragOverlay = useCallback(\n (activeId: number | string) => {\n const activeIndex = rows.findIndex((row) => row.id === activeId)\n if (activeIndex === -1) {\n return null\n }\n\n return (\n <DragOverlayPreview\n header={\n <RowLabel\n CustomComponent={rows?.[activeIndex]?.customComponents?.RowLabel}\n label={`${getTranslation(label, i18n)} ${String(activeIndex + 1).padStart(2, '0')}`}\n path={`${path}.${activeIndex}`}\n rowNumber={activeIndex}\n />\n }\n />\n )\n },\n [rows, label, i18n, path],\n )\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 {shouldShowFieldError && (\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 {displayedErrorCount > 0 && (\n <ErrorPill count={displayedErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n <ul className={`${baseClass}__header-actions`}>\n {rows?.length > 0 && <CollapseAllToggle onClick={toggleCollapseAll} />}\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 renderDragOverlay={isSortable && !readOnly && !disabled ? renderDragOverlay : undefined}\n sortingStrategy={verticalListSortingStrategy}\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 pasteRowBelow={pasteRowBelow}\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 scrollIdPrefix={scrollIdPrefix}\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=\"danger\">\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=\"ghost\"\n className={`${baseClass}__add-row`}\n disabled={disabled}\n icon={<CirclePlusIcon />}\n iconPosition=\"left\"\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":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAiC7D,OAAO,aAAa,CAAA;AA8iBpB,eAAO,MAAM,WAAW;;;;+EAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAiC7D,OAAO,aAAa,CAAA;AA+iBpB,eAAO,MAAM,WAAW;;;;+EAAsC,CAAA"}
@@ -83,9 +83,8 @@ const BlocksFieldComponent = props => {
83
83
  replaceState,
84
84
  setModified
85
85
  } = useForm();
86
- const {
87
- code: locale
88
- } = useLocale();
86
+ const currentLocale = useLocale();
87
+ const locale = currentLocale?.code;
89
88
  const {
90
89
  config: {
91
90
  localization
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["verticalListSortingStrategy","getTranslation","React","Fragment","useCallback","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","insertRowFromClipboard","mergeFormStateFromClipboard","reduceFormStateByPath","CollapseAllToggle","DraggableSortableItem","DragOverlayPreview","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","Pill","RenderCustomComponent","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","RowLabel","useField","withCondition","CirclePlusIcon","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","BlocksFieldComponent","props","i18n","t","field","name","type","admin","className","description","isSortable","blocks","label","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","required","path","pathFromProps","permissions","readOnly","schemaPath","schemaPathFromProps","validate","setDocFieldPreferences","addFieldRow","dispatchFields","getFields","moveFieldRow","removeFieldRow","replaceState","setModified","code","locale","config","localization","drawerSlug","submitted","plural","singular","editingDefaultLocale","fallback","defaultLocale","memoizedValidate","value","options","blocksFilterOptions","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","errorPaths","rows","showError","valid","hasRows","potentiallyStalePath","clientBlocks","clientBlocksAfterFilter","resolvedBlocks","blockOrSlug","block","blocksMap","push","Array","isArray","filter","blockSlug","slug","includes","getBlockConfig","blockType","find","addRow","rowIndex","setTimeout","duplicateRow","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","copyRow","clipboardResult","getDataToCopy","formState","error","success","pasteRow","pasteArgs","onPaste","dataFromClipboard","newState","schemaBlocks","pasteRowBelow","split","join","pasteBlocks","hasMaxRows","length","fieldErrorCount","fieldHasErrors","displayedErrorCount","showMinRows","showRequired","shouldShowSummaryBanner","shouldShowFieldError","styles","renderDragOverlay","activeId","activeIndex","findIndex","row","id","activeRow","blockConfig","showBlockName","disableBlockName","blockName","undefined","_jsx","header","CustomComponent","_jsxs","_Fragment","String","padStart","pillStyle","size","rowNumber","Boolean","replace","style","Fallback","as","count","withMessage","onClick","allowCopy","allowPaste","fieldValue","ids","map","onDragEnd","sortingStrategy","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","fields","parentPath","rowCount","buttonStyle","el","icon","iconPosition","addRowIndex","BlocksField"],"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldClientComponent, ClientBlock } from 'payload'\n\nimport { verticalListSortingStrategy } from '@dnd-kit/sortable'\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 insertRowFromClipboard,\n mergeFormStateFromClipboard,\n reduceFormStateByPath,\n} from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js'\nimport { CollapseAllToggle } from '../../elements/CollapseAllToggle/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DragOverlayPreview } from '../../elements/DraggableSortable/DragOverlayPreview/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 { Pill } from '../../elements/Pill/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 { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { CirclePlusIcon } from '../../icons/CirclePlus/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport './index.css'\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 { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\n\nconst baseClass = 'blocks-field'\n\nconst BlocksFieldComponent: BlocksFieldClientComponent = (props) => {\n const { i18n, t } = useTranslation()\n\n const {\n field,\n field: {\n name,\n type,\n admin: { className, description, isSortable = true } = {},\n blocks,\n label,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\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 { 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 blocksFilterOptions,\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 { clientBlocks, clientBlocksAfterFilter } = useMemo(() => {\n const resolvedBlocks: ClientBlock[] = []\n\n for (const blockOrSlug of blocks) {\n const block = typeof blockOrSlug === 'string' ? config.blocksMap[blockOrSlug] : blockOrSlug\n if (block) {\n resolvedBlocks.push(block)\n }\n }\n\n if (Array.isArray(blocksFilterOptions)) {\n const clientBlocksAfterFilter = resolvedBlocks.filter((block) => {\n const blockSlug = typeof block === 'string' ? block : block.slug\n return blocksFilterOptions.includes(blockSlug)\n })\n\n return {\n clientBlocks: resolvedBlocks,\n clientBlocksAfterFilter,\n }\n }\n return {\n clientBlocks: resolvedBlocks,\n clientBlocksAfterFilter: resolvedBlocks,\n }\n }, [blocks, blocksFilterOptions, config.blocksMap])\n\n const getBlockConfig = (blockType: string): ClientBlock | undefined =>\n config.blocksMap[blockType] ?? clientBlocks.find((block) => block.slug === blockType)\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 copyRow = useCallback(\n (rowIndex: number) => {\n const clipboardResult = clipboardCopy({\n type,\n blocks: clientBlocks,\n getDataToCopy: () =>\n reduceFormStateByPath({\n formState: { ...getFields() },\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 [clientBlocks, path, t, type, getFields],\n )\n\n const pasteRow = useCallback(\n (rowIndex: number) => {\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex,\n })\n replaceState(newState)\n setModified(true)\n },\n path,\n schemaBlocks: clientBlocks,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [clientBlocks, getFields, path, replaceState, setModified, t],\n )\n\n const pasteRowBelow = useCallback(\n (rowIndex: number) => {\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = insertRowFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex: rowIndex + 1,\n })\n replaceState(newState)\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path?.split('.').join('-')}-row-${rowIndex + 1}`)\n }, 0)\n },\n path,\n schemaBlocks: clientBlocks,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [clientBlocks, getFields, path, replaceState, setModified, t],\n )\n\n const pasteBlocks = 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 hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n const displayedErrorCount = fieldErrorCount > 0 ? fieldErrorCount : fieldHasErrors ? 1 : 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = readOnly && rows.length === 0\n const shouldShowSummaryBanner = !valid && (showRequired || showMinRows)\n const shouldShowFieldError = showError && !shouldShowSummaryBanner\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const renderDragOverlay = useCallback(\n (activeId: number | string) => {\n const activeIndex = rows.findIndex((row) => row.id === activeId)\n if (activeIndex === -1) {\n return null\n }\n\n const activeRow = rows[activeIndex]\n const blockConfig = getBlockConfig(activeRow.blockType)\n\n if (!blockConfig) {\n return null\n }\n\n const showBlockName = !blockConfig.admin?.disableBlockName\n const blockName = showBlockName\n ? (getFields()?.[`${path}.${activeIndex}.blockName`]?.value as string)\n : undefined\n\n return (\n <DragOverlayPreview\n header={\n <div className={`${baseClass}__block-header`}>\n <RowLabel\n CustomComponent={rows?.[activeIndex]?.customComponents?.RowLabel}\n label={\n <>\n <span className={`${baseClass}__block-number`}>\n {String(activeIndex + 1).padStart(2, '0')}\n </span>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${activeRow.blockType}`}\n pillStyle=\"white\"\n size=\"small\"\n >\n {getTranslation(blockConfig.labels.singular, i18n)}\n </Pill>\n {blockName && <span className=\"section-title__text\">{blockName}</span>}\n </>\n }\n path={`${path}.${activeIndex}`}\n rowNumber={activeIndex}\n />\n </div>\n }\n />\n )\n },\n [rows, config.blocksMap, clientBlocks, i18n, path, getFields],\n )\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 {shouldShowFieldError && (\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 {displayedErrorCount > 0 && (\n <ErrorPill count={displayedErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n <ul className={`${baseClass}__header-actions`}>\n {rows.length > 0 && <CollapseAllToggle onClick={toggleCollapseAll} />}\n <li>\n <ClipboardAction\n allowCopy={rows?.length > 0}\n allowPaste={!readOnly}\n blocks={clientBlocks}\n className={`${baseClass}__header-action`}\n disabled={disabled}\n getDataToCopy={() =>\n reduceFormStateByPath({\n formState: { ...getFields() },\n path,\n })\n }\n onPaste={pasteBlocks}\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 {BeforeInput}\n <NullifyLocaleField\n fieldValue={value}\n localized={localized}\n path={path}\n readOnly={readOnly}\n />\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 renderDragOverlay={isSortable && !readOnly && !disabled ? renderDragOverlay : undefined}\n sortingStrategy={verticalListSortingStrategy}\n >\n {rows.map((row, i) => {\n const { blockType, isLoading } = row\n\n const blockConfig = getBlockConfig(blockType)\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 // Pass all blocks, not just clientBlocksAfterFilter, as existing blocks should still be displayed even if they don't match the new filter\n blocks={clientBlocks}\n copyRow={copyRow}\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 pasteRow={pasteRow}\n pasteRowBelow={pasteRowBelow}\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 {!valid && (\n <React.Fragment>\n {showMinRows && (\n <Banner type=\"danger\">\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 && !readOnly && (\n <Fragment>\n <DrawerToggler\n className={`${baseClass}__drawer-toggler`}\n disabled={disabled}\n slug={drawerSlug}\n >\n <Button\n buttonStyle=\"ghost\"\n disabled={disabled}\n el=\"span\"\n icon={<CirclePlusIcon />}\n iconPosition=\"left\"\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 // Only allow choosing filtered blocks\n blocks={clientBlocksAfterFilter}\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":["verticalListSortingStrategy","getTranslation","React","Fragment","useCallback","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","insertRowFromClipboard","mergeFormStateFromClipboard","reduceFormStateByPath","CollapseAllToggle","DraggableSortableItem","DragOverlayPreview","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","Pill","RenderCustomComponent","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","RowLabel","useField","withCondition","CirclePlusIcon","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","BlocksFieldComponent","props","i18n","t","field","name","type","admin","className","description","isSortable","blocks","label","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","required","path","pathFromProps","permissions","readOnly","schemaPath","schemaPathFromProps","validate","setDocFieldPreferences","addFieldRow","dispatchFields","getFields","moveFieldRow","removeFieldRow","replaceState","setModified","currentLocale","locale","code","config","localization","drawerSlug","submitted","plural","singular","editingDefaultLocale","fallback","defaultLocale","memoizedValidate","value","options","blocksFilterOptions","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","errorPaths","rows","showError","valid","hasRows","potentiallyStalePath","clientBlocks","clientBlocksAfterFilter","resolvedBlocks","blockOrSlug","block","blocksMap","push","Array","isArray","filter","blockSlug","slug","includes","getBlockConfig","blockType","find","addRow","rowIndex","setTimeout","duplicateRow","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","copyRow","clipboardResult","getDataToCopy","formState","error","success","pasteRow","pasteArgs","onPaste","dataFromClipboard","newState","schemaBlocks","pasteRowBelow","split","join","pasteBlocks","hasMaxRows","length","fieldErrorCount","fieldHasErrors","displayedErrorCount","showMinRows","showRequired","shouldShowSummaryBanner","shouldShowFieldError","styles","renderDragOverlay","activeId","activeIndex","findIndex","row","id","activeRow","blockConfig","showBlockName","disableBlockName","blockName","undefined","_jsx","header","CustomComponent","_jsxs","_Fragment","String","padStart","pillStyle","size","rowNumber","Boolean","replace","style","Fallback","as","count","withMessage","onClick","allowCopy","allowPaste","fieldValue","ids","map","onDragEnd","sortingStrategy","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","fields","parentPath","rowCount","buttonStyle","el","icon","iconPosition","addRowIndex","BlocksField"],"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldClientComponent, ClientBlock } from 'payload'\n\nimport { verticalListSortingStrategy } from '@dnd-kit/sortable'\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 insertRowFromClipboard,\n mergeFormStateFromClipboard,\n reduceFormStateByPath,\n} from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js'\nimport { CollapseAllToggle } from '../../elements/CollapseAllToggle/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DragOverlayPreview } from '../../elements/DraggableSortable/DragOverlayPreview/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 { Pill } from '../../elements/Pill/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 { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { CirclePlusIcon } from '../../icons/CirclePlus/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport './index.css'\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 { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\n\nconst baseClass = 'blocks-field'\n\nconst BlocksFieldComponent: BlocksFieldClientComponent = (props) => {\n const { i18n, t } = useTranslation()\n\n const {\n field,\n field: {\n name,\n type,\n admin: { className, description, isSortable = true } = {},\n blocks,\n label,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\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 currentLocale = useLocale()\n const locale = currentLocale?.code\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 blocksFilterOptions,\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 { clientBlocks, clientBlocksAfterFilter } = useMemo(() => {\n const resolvedBlocks: ClientBlock[] = []\n\n for (const blockOrSlug of blocks) {\n const block = typeof blockOrSlug === 'string' ? config.blocksMap[blockOrSlug] : blockOrSlug\n if (block) {\n resolvedBlocks.push(block)\n }\n }\n\n if (Array.isArray(blocksFilterOptions)) {\n const clientBlocksAfterFilter = resolvedBlocks.filter((block) => {\n const blockSlug = typeof block === 'string' ? block : block.slug\n return blocksFilterOptions.includes(blockSlug)\n })\n\n return {\n clientBlocks: resolvedBlocks,\n clientBlocksAfterFilter,\n }\n }\n return {\n clientBlocks: resolvedBlocks,\n clientBlocksAfterFilter: resolvedBlocks,\n }\n }, [blocks, blocksFilterOptions, config.blocksMap])\n\n const getBlockConfig = (blockType: string): ClientBlock | undefined =>\n config.blocksMap[blockType] ?? clientBlocks.find((block) => block.slug === blockType)\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 copyRow = useCallback(\n (rowIndex: number) => {\n const clipboardResult = clipboardCopy({\n type,\n blocks: clientBlocks,\n getDataToCopy: () =>\n reduceFormStateByPath({\n formState: { ...getFields() },\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 [clientBlocks, path, t, type, getFields],\n )\n\n const pasteRow = useCallback(\n (rowIndex: number) => {\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex,\n })\n replaceState(newState)\n setModified(true)\n },\n path,\n schemaBlocks: clientBlocks,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [clientBlocks, getFields, path, replaceState, setModified, t],\n )\n\n const pasteRowBelow = useCallback(\n (rowIndex: number) => {\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = insertRowFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex: rowIndex + 1,\n })\n replaceState(newState)\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path?.split('.').join('-')}-row-${rowIndex + 1}`)\n }, 0)\n },\n path,\n schemaBlocks: clientBlocks,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [clientBlocks, getFields, path, replaceState, setModified, t],\n )\n\n const pasteBlocks = 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 hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n const displayedErrorCount = fieldErrorCount > 0 ? fieldErrorCount : fieldHasErrors ? 1 : 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = readOnly && rows.length === 0\n const shouldShowSummaryBanner = !valid && (showRequired || showMinRows)\n const shouldShowFieldError = showError && !shouldShowSummaryBanner\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const renderDragOverlay = useCallback(\n (activeId: number | string) => {\n const activeIndex = rows.findIndex((row) => row.id === activeId)\n if (activeIndex === -1) {\n return null\n }\n\n const activeRow = rows[activeIndex]\n const blockConfig = getBlockConfig(activeRow.blockType)\n\n if (!blockConfig) {\n return null\n }\n\n const showBlockName = !blockConfig.admin?.disableBlockName\n const blockName = showBlockName\n ? (getFields()?.[`${path}.${activeIndex}.blockName`]?.value as string)\n : undefined\n\n return (\n <DragOverlayPreview\n header={\n <div className={`${baseClass}__block-header`}>\n <RowLabel\n CustomComponent={rows?.[activeIndex]?.customComponents?.RowLabel}\n label={\n <>\n <span className={`${baseClass}__block-number`}>\n {String(activeIndex + 1).padStart(2, '0')}\n </span>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${activeRow.blockType}`}\n pillStyle=\"white\"\n size=\"small\"\n >\n {getTranslation(blockConfig.labels.singular, i18n)}\n </Pill>\n {blockName && <span className=\"section-title__text\">{blockName}</span>}\n </>\n }\n path={`${path}.${activeIndex}`}\n rowNumber={activeIndex}\n />\n </div>\n }\n />\n )\n },\n [rows, config.blocksMap, clientBlocks, i18n, path, getFields],\n )\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 {shouldShowFieldError && (\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 {displayedErrorCount > 0 && (\n <ErrorPill count={displayedErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n <ul className={`${baseClass}__header-actions`}>\n {rows.length > 0 && <CollapseAllToggle onClick={toggleCollapseAll} />}\n <li>\n <ClipboardAction\n allowCopy={rows?.length > 0}\n allowPaste={!readOnly}\n blocks={clientBlocks}\n className={`${baseClass}__header-action`}\n disabled={disabled}\n getDataToCopy={() =>\n reduceFormStateByPath({\n formState: { ...getFields() },\n path,\n })\n }\n onPaste={pasteBlocks}\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 {BeforeInput}\n <NullifyLocaleField\n fieldValue={value}\n localized={localized}\n path={path}\n readOnly={readOnly}\n />\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 renderDragOverlay={isSortable && !readOnly && !disabled ? renderDragOverlay : undefined}\n sortingStrategy={verticalListSortingStrategy}\n >\n {rows.map((row, i) => {\n const { blockType, isLoading } = row\n\n const blockConfig = getBlockConfig(blockType)\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 // Pass all blocks, not just clientBlocksAfterFilter, as existing blocks should still be displayed even if they don't match the new filter\n blocks={clientBlocks}\n copyRow={copyRow}\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 pasteRow={pasteRow}\n pasteRowBelow={pasteRowBelow}\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 {!valid && (\n <React.Fragment>\n {showMinRows && (\n <Banner type=\"danger\">\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 && !readOnly && (\n <Fragment>\n <DrawerToggler\n className={`${baseClass}__drawer-toggler`}\n disabled={disabled}\n slug={drawerSlug}\n >\n <Button\n buttonStyle=\"ghost\"\n disabled={disabled}\n el=\"span\"\n icon={<CirclePlusIcon />}\n iconPosition=\"left\"\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 // Only allow choosing filtered blocks\n blocks={clientBlocksAfterFilter}\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":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/FieldLabel/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGhD,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAsClD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/FieldLabel/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGhD,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwClD,CAAA"}
@@ -33,10 +33,9 @@ export const FieldLabel = props => {
33
33
  const {
34
34
  i18n
35
35
  } = useTranslation();
36
- const {
37
- code,
38
- label: localLabel
39
- } = useLocale();
36
+ const locale = useLocale();
37
+ const code = locale?.code;
38
+ const localLabel = locale?.label;
40
39
  const Element = ElementFromProps === "label" ? htmlFor ? "label" : "span" : ElementFromProps || "span";
41
40
  if (label) {
42
41
  return _jsxs(Element, {
@@ -45,7 +44,7 @@ export const FieldLabel = props => {
45
44
  children: [getTranslation(label, i18n), required && !unstyled && _jsx("span", {
46
45
  className: "required",
47
46
  children: "*"
48
- }), localized && !hideLocale && _jsxs("span", {
47
+ }), localized && !hideLocale && locale && _jsxs("span", {
49
48
  className: "localized",
50
49
  children: ["\u2014 ", typeof localLabel === "string" ? localLabel : code]
51
50
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","useForm","useEditDepth","useLocale","useTranslation","generateFieldID","FieldLabel","props","as","t0","hideLocale","t1","htmlFor","htmlForFromProps","label","localized","t2","path","required","t3","unstyled","t4","ElementFromProps","undefined","uuid","editDepth","i18n","code","localLabel","Element","_jsxs","className","children","_jsx"],"sources":["../../../src/fields/FieldLabel/index.tsx"],"sourcesContent":["'use client'\n\nimport type { GenericLabelProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { generateFieldID } from '../../utilities/generateFieldID.js'\nimport './index.css'\n\nexport const FieldLabel: React.FC<GenericLabelProps> = (props) => {\n const {\n as: ElementFromProps = 'label',\n hideLocale = false,\n htmlFor: htmlForFromProps,\n label,\n localized = false,\n path,\n required = false,\n unstyled = false,\n } = props\n\n const { uuid } = useForm()\n const editDepth = useEditDepth()\n\n const htmlFor = htmlForFromProps || generateFieldID(path, editDepth, uuid)\n\n const { i18n } = useTranslation()\n const { code, label: localLabel } = useLocale()\n\n const Element =\n ElementFromProps === 'label' ? (htmlFor ? 'label' : 'span') : ElementFromProps || 'span'\n\n if (label) {\n return (\n <Element className={`field-label${unstyled ? ' unstyled' : ''}`} htmlFor={htmlFor}>\n {getTranslation(label, i18n)}\n {required && !unstyled && <span className=\"required\">*</span>}\n {localized && !hideLocale && (\n <span className=\"localized\">\n &mdash; {typeof localLabel === 'string' ? localLabel : code}\n </span>\n )}\n </Element>\n )\n }\n\n return null\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,OAAO,QAAQ;AACxB,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,eAAe,QAAQ;AAChC,OAAO;AAEP,OAAO,MAAMC,UAAA,GAA0CC,KAAA;EACrD;IAAAC,EAAA,EAAAC,EAAA;IAAAC,UAAA,EAAAC,EAAA;IAAAC,OAAA,EAAAC,gBAAA;IAAAC,KAAA;IAAAC,SAAA,EAAAC,EAAA;IAAAC,IAAA;IAAAC,QAAA,EAAAC,EAAA;IAAAC,QAAA,EAAAC;EAAA,IASId,KAAA;EARE,MAAAe,gBAAA,GAAAb,EAA0B,KAAAc,SAAA,GAAP,OAAO,GAA1Bd,EAA0B;EAC9B,MAAAC,UAAA,GAAAC,EAAkB,KAAAY,SAAA,WAAlBZ,EAAkB;EAGlB,MAAAI,SAAA,GAAAC,EAAiB,KAAAO,SAAA,WAAjBP,EAAiB;EAEjB,MAAAE,QAAA,GAAAC,EAAgB,KAAAI,SAAA,WAAhBJ,EAAgB;EAChB,MAAAC,QAAA,GAAAC,EAAgB,KAAAE,SAAA,WAAhBF,EAAgB;EAGlB;IAAAG;EAAA,IAAiBvB,OAAA;EACjB,MAAAwB,SAAA,GAAkBvB,YAAA;EAElB,MAAAU,OAAA,GAAgBC,gBAAA,IAAoBR,eAAA,CAAgBY,IAAA,EAAMQ,SAAA,EAAWD,IAAA;EAErE;IAAAE;EAAA,IAAiBtB,cAAA;EACjB;IAAAuB,IAAA;IAAAb,KAAA,EAAAc;EAAA,IAAoCzB,SAAA;EAEpC,MAAA0B,OAAA,GACEP,gBAAA,KAAqB,UAAWV,OAAA,GAAU,UAAU,SAAUU,gBAAA,IAAoB;EAAA,IAEhFR,KAAA;IAAA,OAEAgB,KAAA,CAACD,OAAA;MAAAE,SAAA,EAAmB,cAAcX,QAAA,GAAW,cAAc,IAAI;MAAAR,OAAA;MAAAoB,QAAA,GAC5DjC,cAAA,CAAee,KAAA,EAAOY,IAAA,GACtBR,QAAA,KAAaE,QAAA,IAAYa,IAAA,CAAC;QAAAF,SAAA,EAAe;QAAAC,QAAA,EAAW;MAAA,C,GACpDjB,SAAA,KAAcL,UAAA,IACboB,KAAA,CAAC;QAAAC,SAAA,EAAe;QAAAC,QAAA,GAAY,WACjB,OAAOJ,UAAA,KAAe,WAAWA,UAAA,GAAaD,IAAA;MAAA,C;;;;CAQnE","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useForm","useEditDepth","useLocale","useTranslation","generateFieldID","FieldLabel","props","as","t0","hideLocale","t1","htmlFor","htmlForFromProps","label","localized","t2","path","required","t3","unstyled","t4","ElementFromProps","undefined","uuid","editDepth","i18n","locale","code","localLabel","Element","_jsxs","className","children","_jsx"],"sources":["../../../src/fields/FieldLabel/index.tsx"],"sourcesContent":["'use client'\n\nimport type { GenericLabelProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { generateFieldID } from '../../utilities/generateFieldID.js'\nimport './index.css'\n\nexport const FieldLabel: React.FC<GenericLabelProps> = (props) => {\n const {\n as: ElementFromProps = 'label',\n hideLocale = false,\n htmlFor: htmlForFromProps,\n label,\n localized = false,\n path,\n required = false,\n unstyled = false,\n } = props\n\n const { uuid } = useForm()\n const editDepth = useEditDepth()\n\n const htmlFor = htmlForFromProps || generateFieldID(path, editDepth, uuid)\n\n const { i18n } = useTranslation()\n const locale = useLocale()\n const code = locale?.code\n const localLabel = locale?.label\n\n const Element =\n ElementFromProps === 'label' ? (htmlFor ? 'label' : 'span') : ElementFromProps || 'span'\n\n if (label) {\n return (\n <Element className={`field-label${unstyled ? ' unstyled' : ''}`} htmlFor={htmlFor}>\n {getTranslation(label, i18n)}\n {required && !unstyled && <span className=\"required\">*</span>}\n {localized && !hideLocale && locale && (\n <span className=\"localized\">\n &mdash; {typeof localLabel === 'string' ? localLabel : code}\n </span>\n )}\n </Element>\n )\n }\n\n return null\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,OAAO,QAAQ;AACxB,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,eAAe,QAAQ;AAChC,OAAO;AAEP,OAAO,MAAMC,UAAA,GAA0CC,KAAA;EACrD;IAAAC,EAAA,EAAAC,EAAA;IAAAC,UAAA,EAAAC,EAAA;IAAAC,OAAA,EAAAC,gBAAA;IAAAC,KAAA;IAAAC,SAAA,EAAAC,EAAA;IAAAC,IAAA;IAAAC,QAAA,EAAAC,EAAA;IAAAC,QAAA,EAAAC;EAAA,IASId,KAAA;EARE,MAAAe,gBAAA,GAAAb,EAA0B,KAAAc,SAAA,GAAP,OAAO,GAA1Bd,EAA0B;EAC9B,MAAAC,UAAA,GAAAC,EAAkB,KAAAY,SAAA,WAAlBZ,EAAkB;EAGlB,MAAAI,SAAA,GAAAC,EAAiB,KAAAO,SAAA,WAAjBP,EAAiB;EAEjB,MAAAE,QAAA,GAAAC,EAAgB,KAAAI,SAAA,WAAhBJ,EAAgB;EAChB,MAAAC,QAAA,GAAAC,EAAgB,KAAAE,SAAA,WAAhBF,EAAgB;EAGlB;IAAAG;EAAA,IAAiBvB,OAAA;EACjB,MAAAwB,SAAA,GAAkBvB,YAAA;EAElB,MAAAU,OAAA,GAAgBC,gBAAA,IAAoBR,eAAA,CAAgBY,IAAA,EAAMQ,SAAA,EAAWD,IAAA;EAErE;IAAAE;EAAA,IAAiBtB,cAAA;EACjB,MAAAuB,MAAA,GAAexB,SAAA;EACf,MAAAyB,IAAA,GAAaD,MAAA,EAAAC,IAAA;EACb,MAAAC,UAAA,GAAmBF,MAAA,EAAAb,KAAA;EAEnB,MAAAgB,OAAA,GACER,gBAAA,KAAqB,UAAWV,OAAA,GAAU,UAAU,SAAUU,gBAAA,IAAoB;EAAA,IAEhFR,KAAA;IAAA,OAEAiB,KAAA,CAACD,OAAA;MAAAE,SAAA,EAAmB,cAAcZ,QAAA,GAAW,cAAc,IAAI;MAAAR,OAAA;MAAAqB,QAAA,GAC5DlC,cAAA,CAAee,KAAA,EAAOY,IAAA,GACtBR,QAAA,KAAaE,QAAA,IAAYc,IAAA,CAAC;QAAAF,SAAA,EAAe;QAAAC,QAAA,EAAW;MAAA,C,GACpDlB,SAAA,KAAcL,UAAA,IAAciB,MAAA,IAC3BI,KAAA,CAAC;QAAAC,SAAA,EAAe;QAAAC,QAAA,GAAY,WACjB,OAAOJ,UAAA,KAAe,WAAWA,UAAA,GAAaD,IAAA;MAAA,C;;;;CAQnE","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/Input.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAwE,MAAM,OAAO,CAAA;AAK5F,OAAO,KAAK,EAA6B,sBAAsB,EAAiB,MAAM,YAAY,CAAA;AAuBlG,OAAO,aAAa,CAAA;AAMpB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAy5B9D,CAAA"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/Input.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAwE,MAAM,OAAO,CAAA;AAK5F,OAAO,KAAK,EAA6B,sBAAsB,EAAiB,MAAM,YAAY,CAAA;AAuBlG,OAAO,aAAa,CAAA;AAMpB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA05B9D,CAAA"}
@@ -80,9 +80,8 @@ export const RelationshipInput = props => {
80
80
  const {
81
81
  permissions
82
82
  } = useAuth();
83
- const {
84
- code: locale
85
- } = useLocale();
83
+ const currentLocale = useLocale();
84
+ const locale = currentLocale?.code;
86
85
  const [currentlyOpenRelationship, setCurrentlyOpenRelationship] = useState({
87
86
  id: undefined,
88
87
  collectionSlug: undefined,