@payloadcms/ui 3.25.0-canary.46647b4 → 3.25.0-canary.6d6bbd2

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 (62) hide show
  1. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  2. package/dist/elements/DeleteMany/index.js +2 -2
  3. package/dist/elements/DeleteMany/index.js.map +1 -1
  4. package/dist/elements/DeleteMany/index.scss +16 -0
  5. package/dist/elements/EditMany/index.d.ts.map +1 -1
  6. package/dist/elements/EditMany/index.js +22 -14
  7. package/dist/elements/EditMany/index.js.map +1 -1
  8. package/dist/elements/EditMany/index.scss +5 -19
  9. package/dist/elements/ListControls/index.d.ts +8 -0
  10. package/dist/elements/ListControls/index.d.ts.map +1 -1
  11. package/dist/elements/ListControls/index.js +3 -19
  12. package/dist/elements/ListControls/index.js.map +1 -1
  13. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  14. package/dist/elements/ListDrawer/DrawerContent.js +2 -1
  15. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  16. package/dist/elements/ListDrawer/Provider.d.ts +7 -1
  17. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  18. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  19. package/dist/elements/ListSelection/index.d.ts +4 -0
  20. package/dist/elements/ListSelection/index.d.ts.map +1 -1
  21. package/dist/elements/ListSelection/index.js +44 -23
  22. package/dist/elements/ListSelection/index.js.map +1 -1
  23. package/dist/elements/ListSelection/index.scss +4 -0
  24. package/dist/elements/PublishMany/index.d.ts +1 -0
  25. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  26. package/dist/elements/PublishMany/index.js +3 -2
  27. package/dist/elements/PublishMany/index.js.map +1 -1
  28. package/dist/elements/PublishMany/index.scss +21 -0
  29. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  30. package/dist/elements/TableColumns/RenderDefaultCell/index.js +1 -0
  31. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
  32. package/dist/elements/UnpublishMany/index.d.ts +1 -0
  33. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  34. package/dist/elements/UnpublishMany/index.js +3 -2
  35. package/dist/elements/UnpublishMany/index.js.map +1 -1
  36. package/dist/elements/UnpublishMany/index.scss +21 -0
  37. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  38. package/dist/elements/WhereBuilder/field-types.js +9 -5
  39. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  40. package/dist/exports/client/{CodeEditor-G3Y4UHC4.js → CodeEditor-L6GW2VQ6.js} +2 -2
  41. package/dist/exports/client/{chunk-4L367VSB.js → chunk-ZZDNSFEW.js} +2 -2
  42. package/dist/exports/client/{chunk-4L367VSB.js.map → chunk-ZZDNSFEW.js.map} +2 -2
  43. package/dist/exports/client/index.js +11 -11
  44. package/dist/exports/client/index.js.map +3 -3
  45. package/dist/fields/Upload/Input.js +13 -13
  46. package/dist/fields/Upload/Input.js.map +1 -1
  47. package/dist/forms/Form/context.d.ts +3 -3
  48. package/dist/forms/Form/context.js +3 -3
  49. package/dist/forms/Form/context.js.map +1 -1
  50. package/dist/forms/useField/index.d.ts +1 -1
  51. package/dist/forms/useField/index.js +1 -1
  52. package/dist/forms/useField/index.js.map +1 -1
  53. package/dist/styles.css +1 -1
  54. package/dist/views/List/ListHeader/index.d.ts +2 -0
  55. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  56. package/dist/views/List/ListHeader/index.js +5 -0
  57. package/dist/views/List/ListHeader/index.js.map +1 -1
  58. package/dist/views/List/index.d.ts.map +1 -1
  59. package/dist/views/List/index.js +8 -19
  60. package/dist/views/List/index.js.map +1 -1
  61. package/package.json +6 -6
  62. /package/dist/exports/client/{CodeEditor-G3Y4UHC4.js.map → CodeEditor-L6GW2VQ6.js.map} +0 -0
@@ -389,9 +389,9 @@ export function UploadInput(props) {
389
389
  t20 = async t21 => {
390
390
  const {
391
391
  collectionSlug,
392
- docID
392
+ doc: doc_4
393
393
  } = t21;
394
- const loadedDocs_0 = await populateDocs([docID], collectionSlug);
394
+ const loadedDocs_0 = await populateDocs([doc_4.id], collectionSlug);
395
395
  const selectedDoc = loadedDocs_0 ? loadedDocs_0.docs?.[0] : null;
396
396
  setPopulatedDocs(currentDocs_2 => {
397
397
  if (selectedDoc) {
@@ -409,9 +409,9 @@ export function UploadInput(props) {
409
409
  return currentDocs_2;
410
410
  });
411
411
  if (hasMany) {
412
- onChange([...(Array.isArray(value) ? value : []), docID]);
412
+ onChange([...(Array.isArray(value) ? value : []), doc_4.id]);
413
413
  } else {
414
- onChange(docID);
414
+ onChange(doc_4.id);
415
415
  }
416
416
  closeListDrawer();
417
417
  };
@@ -428,17 +428,17 @@ export function UploadInput(props) {
428
428
  const onListSelect = t20;
429
429
  let t21;
430
430
  if ($[71] !== hasMany || $[72] !== onChange || $[73] !== populateDocs) {
431
- t21 = async (docID_0, collectionSlug_0) => {
431
+ t21 = async (docID, collectionSlug_0) => {
432
432
  const {
433
433
  docs: docs_0
434
- } = await populateDocs([docID_0], collectionSlug_0);
434
+ } = await populateDocs([docID], collectionSlug_0);
435
435
  if (docs_0[0]) {
436
436
  let updatedDocsToPropogate;
437
437
  updatedDocsToPropogate = [];
438
438
  setPopulatedDocs(currentDocs_3 => {
439
- const existingDocIndex = currentDocs_3?.findIndex(doc_4 => {
440
- const hasExisting = doc_4.value?.id === docs_0[0].id || doc_4.value?.isPlaceholder;
441
- return hasExisting && doc_4.relationTo === collectionSlug_0;
439
+ const existingDocIndex = currentDocs_3?.findIndex(doc_5 => {
440
+ const hasExisting = doc_5.value?.id === docs_0[0].id || doc_5.value?.isPlaceholder;
441
+ return hasExisting && doc_5.relationTo === collectionSlug_0;
442
442
  });
443
443
  if (existingDocIndex > -1) {
444
444
  const updatedDocs = [...currentDocs_3];
@@ -499,9 +499,9 @@ export function UploadInput(props) {
499
499
  loadedValueDocsRef.current = true;
500
500
  const loadedDocs_1 = await populateDocs(Array.isArray(value) ? value : [value], activeRelationTo);
501
501
  if (loadedDocs_1) {
502
- setPopulatedDocs(loadedDocs_1.docs.map(doc_6 => ({
502
+ setPopulatedDocs(loadedDocs_1.docs.map(doc_7 => ({
503
503
  relationTo: activeRelationTo,
504
- value: doc_6
504
+ value: doc_7
505
505
  })));
506
506
  }
507
507
  }
@@ -729,8 +729,8 @@ function _temp3(t0) {
729
729
  } = t0;
730
730
  return value_0.id;
731
731
  }
732
- function _temp2(doc_5) {
733
- return doc_5.value?.id;
732
+ function _temp2(doc_6) {
733
+ return doc_6.value?.id;
734
734
  }
735
735
  function _temp(doc_1) {
736
736
  return doc_1.id;
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["c","_c","useModal","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","RenderCustomComponent","ShimmerEffect","FieldDescription","FieldError","FieldLabel","useAuth","useLocale","useTranslation","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","$","AfterInput","allowCreate","api","BeforeInput","className","Description","description","Error","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","localized","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setCurrentActivePath","setInitialFiles","setMaxFiles","setOnSuccess","permissions","code","i18n","t","t0","t1","t2","id","t3","not_in","t4","concat","t5","t6","t7","t8","t9","collectionSlugs","ListDrawer","t10","closeDrawer","closeListDrawer","openDrawer","openListDrawer","t11","collectionSlug","CreateDocDrawer","t12","closeCreateDocDrawer","openCreateDocDrawer","loadedValueDocsRef","useRef","t13","bb0","collections","create","canCreate","t14","newValue","t15","language","ids","relatedCollectionSlug","query","depth","draft","limit","length","locale","where","and","in","response","fetch","body","stringify","credentials","headers","method","ok","json","sortedDocs","map","docs","find","doc","String","includes","undefined","doc_0","index","filename","isPlaceholder","populateDocs","t16","newDocs","mergedValue","_temp","currentDocs","doc_2","firstDoc","onUploadSuccess","t17","fileList","fileListToUse","dataTransfer","DataTransfer","items","add","files","onLocalFileSelection","t18","selectedDocIDs","id_0","isSelected","push","loadedDocs","currentDocs_0","doc_3","onListBulkSelect","t19","data","currentDocs_1","onDocCreate","t20","t21","docID","loadedDocs_0","selectedDoc","currentDocs_2","onListSelect","docID_0","collectionSlug_0","docs_0","updatedDocsToPropogate","currentDocs_3","existingDocIndex","findIndex","doc_4","hasExisting","updatedDocs","_temp2","reloadDoc","t22","newValue_0","newValueIDs","_temp3","onReorder","t23","newValue_1","newValueIDs_0","_temp4","onRemove","t24","t25","loadInitialDocs","current","loadedDocs_1","doc_6","t26","t27","showDropzone","t28","t29","t30","filter","Boolean","t31","join","t32","replace","t33","_jsxs","children","_jsx","CustomComponent","Fallback","_Fragment","fileDocs","readonly","_temp5","fileDoc","height","disabled","multipleFiles","buttonStyle","onClick","size","onSave","enableRowSelections","onBulkSelect","onSelect","id_1","value_1","value_0","doc_5","doc_1"],"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n Where,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { PopulateDocs, ReloadDoc } from './types.js'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport { UploadComponentHasOne } from './HasOne/index.js'\nimport './index.scss'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly api?: string\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly Error?: React.ReactNode\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly hideRemoveFile?: boolean\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly localized?: boolean\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | (number | string)\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n AfterInput,\n allowCreate,\n api,\n BeforeInput,\n className,\n Description,\n description,\n Error,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n localized,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n } = props\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n\n const [activeRelationTo, setActiveRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const {\n drawerSlug,\n setCollectionSlug,\n setCurrentActivePath,\n setInitialFiles,\n setMaxFiles,\n setOnSuccess,\n } = useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n return {\n ...filterOptionsFromProps,\n [activeRelationTo]: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[activeRelationTo] as any)?.id?.not_in || []).concat(\n ...(Array.isArray(value) || value ? [value] : []),\n ),\n },\n },\n }\n }, [value, activeRelationTo, filterOptionsFromProps])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n /**\n * Prevent initial retrieval of documents from running more than once\n */\n const loadedValueDocsRef = React.useRef<boolean>(false)\n\n const canCreate = useMemo(() => {\n if (!allowCreate) {\n return false\n }\n\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n return true\n }\n }\n\n return false\n }, [activeRelationTo, permissions, allowCreate])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback<PopulateDocs>(\n async (ids, relatedCollectionSlug) => {\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n\n const response = await fetch(`${serverURL}${api}/${relatedCollectionSlug}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n if (response.ok) {\n const json = await response.json()\n let sortedDocs = ids.map((id) =>\n json.docs.find((doc) => {\n return String(doc.id) === String(id)\n }),\n )\n\n if (sortedDocs.includes(undefined) && hasMany) {\n sortedDocs = sortedDocs.map((doc, index) =>\n doc\n ? doc\n : {\n id: ids[index],\n filename: `${t('general:untitled')} - ID: ${ids[index]}`,\n isPlaceholder: true,\n },\n )\n }\n\n return { ...json, docs: sortedDocs }\n }\n\n return null\n },\n [code, serverURL, api, i18n.language, t, hasMany],\n )\n\n const onUploadSuccess = useCallback(\n (newDocs: JsonObject[]) => {\n if (hasMany) {\n const mergedValue = [\n ...(Array.isArray(value) ? value : []),\n ...newDocs.map((doc) => doc.id),\n ]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...newDocs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n } else {\n const firstDoc = newDocs[0]\n onChange(firstDoc.id)\n setPopulatedDocs([\n {\n relationTo: activeRelationTo,\n value: firstDoc,\n },\n ])\n }\n },\n [value, onChange, activeRelationTo, hasMany],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n setCollectionSlug(relationTo)\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n setCurrentActivePath(path)\n openModal(drawerSlug)\n },\n [\n drawerSlug,\n hasMany,\n openModal,\n relationTo,\n setCollectionSlug,\n setInitialFiles,\n maxRows,\n setMaxFiles,\n path,\n setCurrentActivePath,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const selectedDocIDs = []\n\n for (const [id, isSelected] of docs) {\n if (isSelected) {\n selectedDocIDs.push(id)\n }\n }\n\n const loadedDocs = await populateDocs(selectedDocIDs, activeRelationTo)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...loadedDocs.docs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n }\n onChange([...(Array.isArray(value) ? value : []), ...selectedDocIDs])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n onChange(data.doc.id)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange],\n )\n\n const onListSelect = React.useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, docID }) => {\n const loadedDocs = await populateDocs([docID], collectionSlug)\n const selectedDoc = loadedDocs ? loadedDocs.docs?.[0] : null\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return [\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return currentDocs\n })\n if (hasMany) {\n onChange([...(Array.isArray(value) ? value : []), docID])\n } else {\n onChange(docID)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, activeRelationTo],\n )\n\n const reloadDoc = React.useCallback<ReloadDoc>(\n async (docID, collectionSlug) => {\n const { docs } = await populateDocs([docID], collectionSlug)\n\n if (docs[0]) {\n let updatedDocsToPropogate = []\n setPopulatedDocs((currentDocs) => {\n const existingDocIndex = currentDocs?.findIndex((doc) => {\n const hasExisting = doc.value?.id === docs[0].id || doc.value?.isPlaceholder\n return hasExisting && doc.relationTo === collectionSlug\n })\n if (existingDocIndex > -1) {\n const updatedDocs = [...currentDocs]\n updatedDocs[existingDocIndex] = {\n relationTo: collectionSlug,\n value: docs[0],\n }\n updatedDocsToPropogate = updatedDocs\n return updatedDocs\n }\n })\n\n if (updatedDocsToPropogate.length && hasMany) {\n onChange(updatedDocsToPropogate.map((doc) => doc.value?.id))\n }\n }\n },\n [populateDocs, onChange, hasMany],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const newValueIDs = newValue.map(({ value }) => value.id)\n onChange(newValueIDs)\n setPopulatedDocs(newValue)\n },\n [onChange],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const newValueIDs = newValue ? newValue.map(({ value }) => value.id) : null\n onChange(hasMany ? newValueIDs : newValueIDs ? newValueIDs[0] : null)\n setPopulatedDocs(newValue ? newValue : [])\n },\n [onChange, hasMany],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n loadedValueDocsRef.current = true\n const loadedDocs = await populateDocs(\n Array.isArray(value) ? value : [value],\n activeRelationTo,\n )\n if (loadedDocs) {\n setPopulatedDocs(\n loadedDocs.docs.map((doc) => ({ relationTo: activeRelationTo, value: doc })),\n )\n }\n }\n }\n\n if (!loadedValueDocsRef.current) {\n void loadInitialDocs()\n }\n }, [populateDocs, activeRelationTo, value])\n\n useEffect(() => {\n setOnSuccess(path, onUploadSuccess)\n }, [value, path, onUploadSuccess, setOnSuccess])\n\n const showDropzone =\n !value ||\n (hasMany && Array.isArray(value) && (typeof maxRows !== 'number' || value.length < maxRows)) ||\n (!hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === 'undefined')\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${baseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n </div>\n {BeforeInput}\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? (\n <UploadComponentHasOne\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n />\n ) : populatedDocs && value && !populatedDocs?.[0]?.value ? (\n <>\n {t('general:untitled')} - ID: {value}\n </>\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n {showDropzone ? (\n <Dropzone\n disabled={readOnly || !canCreate}\n multipleFiles={hasMany}\n onChange={onLocalFileSelection}\n >\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n {canCreate && (\n <>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>\n {t('general:or')}\n </span>\n </>\n )}\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n allowCreate={canCreate}\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n {canCreate && !readOnly && (\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n )}\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Input.js","names":["c","_c","useModal","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","RenderCustomComponent","ShimmerEffect","FieldDescription","FieldError","FieldLabel","useAuth","useLocale","useTranslation","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","$","AfterInput","allowCreate","api","BeforeInput","className","Description","description","Error","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","localized","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setCurrentActivePath","setInitialFiles","setMaxFiles","setOnSuccess","permissions","code","i18n","t","t0","t1","t2","id","t3","not_in","t4","concat","t5","t6","t7","t8","t9","collectionSlugs","ListDrawer","t10","closeDrawer","closeListDrawer","openDrawer","openListDrawer","t11","collectionSlug","CreateDocDrawer","t12","closeCreateDocDrawer","openCreateDocDrawer","loadedValueDocsRef","useRef","t13","bb0","collections","create","canCreate","t14","newValue","t15","language","ids","relatedCollectionSlug","query","depth","draft","limit","length","locale","where","and","in","response","fetch","body","stringify","credentials","headers","method","ok","json","sortedDocs","map","docs","find","doc","String","includes","undefined","doc_0","index","filename","isPlaceholder","populateDocs","t16","newDocs","mergedValue","_temp","currentDocs","doc_2","firstDoc","onUploadSuccess","t17","fileList","fileListToUse","dataTransfer","DataTransfer","items","add","files","onLocalFileSelection","t18","selectedDocIDs","id_0","isSelected","push","loadedDocs","currentDocs_0","doc_3","onListBulkSelect","t19","data","currentDocs_1","onDocCreate","t20","t21","doc_4","loadedDocs_0","selectedDoc","currentDocs_2","onListSelect","docID","collectionSlug_0","docs_0","updatedDocsToPropogate","currentDocs_3","existingDocIndex","findIndex","doc_5","hasExisting","updatedDocs","_temp2","reloadDoc","t22","newValue_0","newValueIDs","_temp3","onReorder","t23","newValue_1","newValueIDs_0","_temp4","onRemove","t24","t25","loadInitialDocs","current","loadedDocs_1","doc_7","t26","t27","showDropzone","t28","t29","t30","filter","Boolean","t31","join","t32","replace","t33","_jsxs","children","_jsx","CustomComponent","Fallback","_Fragment","fileDocs","readonly","_temp5","fileDoc","height","disabled","multipleFiles","buttonStyle","onClick","size","onSave","enableRowSelections","onBulkSelect","onSelect","id_1","value_1","value_0","doc_6","doc_1"],"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n Where,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { PopulateDocs, ReloadDoc } from './types.js'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport { UploadComponentHasOne } from './HasOne/index.js'\nimport './index.scss'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly api?: string\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly Error?: React.ReactNode\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly hideRemoveFile?: boolean\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly localized?: boolean\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | (number | string)\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n AfterInput,\n allowCreate,\n api,\n BeforeInput,\n className,\n Description,\n description,\n Error,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n localized,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n } = props\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n\n const [activeRelationTo, setActiveRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const {\n drawerSlug,\n setCollectionSlug,\n setCurrentActivePath,\n setInitialFiles,\n setMaxFiles,\n setOnSuccess,\n } = useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n return {\n ...filterOptionsFromProps,\n [activeRelationTo]: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[activeRelationTo] as any)?.id?.not_in || []).concat(\n ...(Array.isArray(value) || value ? [value] : []),\n ),\n },\n },\n }\n }, [value, activeRelationTo, filterOptionsFromProps])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n /**\n * Prevent initial retrieval of documents from running more than once\n */\n const loadedValueDocsRef = React.useRef<boolean>(false)\n\n const canCreate = useMemo(() => {\n if (!allowCreate) {\n return false\n }\n\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n return true\n }\n }\n\n return false\n }, [activeRelationTo, permissions, allowCreate])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback<PopulateDocs>(\n async (ids, relatedCollectionSlug) => {\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n\n const response = await fetch(`${serverURL}${api}/${relatedCollectionSlug}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n if (response.ok) {\n const json = await response.json()\n let sortedDocs = ids.map((id) =>\n json.docs.find((doc) => {\n return String(doc.id) === String(id)\n }),\n )\n\n if (sortedDocs.includes(undefined) && hasMany) {\n sortedDocs = sortedDocs.map((doc, index) =>\n doc\n ? doc\n : {\n id: ids[index],\n filename: `${t('general:untitled')} - ID: ${ids[index]}`,\n isPlaceholder: true,\n },\n )\n }\n\n return { ...json, docs: sortedDocs }\n }\n\n return null\n },\n [code, serverURL, api, i18n.language, t, hasMany],\n )\n\n const onUploadSuccess = useCallback(\n (newDocs: JsonObject[]) => {\n if (hasMany) {\n const mergedValue = [\n ...(Array.isArray(value) ? value : []),\n ...newDocs.map((doc) => doc.id),\n ]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...newDocs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n } else {\n const firstDoc = newDocs[0]\n onChange(firstDoc.id)\n setPopulatedDocs([\n {\n relationTo: activeRelationTo,\n value: firstDoc,\n },\n ])\n }\n },\n [value, onChange, activeRelationTo, hasMany],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n setCollectionSlug(relationTo)\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n setCurrentActivePath(path)\n openModal(drawerSlug)\n },\n [\n drawerSlug,\n hasMany,\n openModal,\n relationTo,\n setCollectionSlug,\n setInitialFiles,\n maxRows,\n setMaxFiles,\n path,\n setCurrentActivePath,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const selectedDocIDs = []\n\n for (const [id, isSelected] of docs) {\n if (isSelected) {\n selectedDocIDs.push(id)\n }\n }\n\n const loadedDocs = await populateDocs(selectedDocIDs, activeRelationTo)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...loadedDocs.docs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n }\n onChange([...(Array.isArray(value) ? value : []), ...selectedDocIDs])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n onChange(data.doc.id)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange],\n )\n\n const onListSelect = useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, doc }) => {\n const loadedDocs = await populateDocs([doc.id], collectionSlug)\n const selectedDoc = loadedDocs ? loadedDocs.docs?.[0] : null\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return [\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return currentDocs\n })\n if (hasMany) {\n onChange([...(Array.isArray(value) ? value : []), doc.id])\n } else {\n onChange(doc.id)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, activeRelationTo],\n )\n\n const reloadDoc = React.useCallback<ReloadDoc>(\n async (docID, collectionSlug) => {\n const { docs } = await populateDocs([docID], collectionSlug)\n\n if (docs[0]) {\n let updatedDocsToPropogate = []\n setPopulatedDocs((currentDocs) => {\n const existingDocIndex = currentDocs?.findIndex((doc) => {\n const hasExisting = doc.value?.id === docs[0].id || doc.value?.isPlaceholder\n return hasExisting && doc.relationTo === collectionSlug\n })\n if (existingDocIndex > -1) {\n const updatedDocs = [...currentDocs]\n updatedDocs[existingDocIndex] = {\n relationTo: collectionSlug,\n value: docs[0],\n }\n updatedDocsToPropogate = updatedDocs\n return updatedDocs\n }\n })\n\n if (updatedDocsToPropogate.length && hasMany) {\n onChange(updatedDocsToPropogate.map((doc) => doc.value?.id))\n }\n }\n },\n [populateDocs, onChange, hasMany],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const newValueIDs = newValue.map(({ value }) => value.id)\n onChange(newValueIDs)\n setPopulatedDocs(newValue)\n },\n [onChange],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const newValueIDs = newValue ? newValue.map(({ value }) => value.id) : null\n onChange(hasMany ? newValueIDs : newValueIDs ? newValueIDs[0] : null)\n setPopulatedDocs(newValue ? newValue : [])\n },\n [onChange, hasMany],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n loadedValueDocsRef.current = true\n const loadedDocs = await populateDocs(\n Array.isArray(value) ? value : [value],\n activeRelationTo,\n )\n if (loadedDocs) {\n setPopulatedDocs(\n loadedDocs.docs.map((doc) => ({ relationTo: activeRelationTo, value: doc })),\n )\n }\n }\n }\n\n if (!loadedValueDocsRef.current) {\n void loadInitialDocs()\n }\n }, [populateDocs, activeRelationTo, value])\n\n useEffect(() => {\n setOnSuccess(path, onUploadSuccess)\n }, [value, path, onUploadSuccess, setOnSuccess])\n\n const showDropzone =\n !value ||\n (hasMany && Array.isArray(value) && (typeof maxRows !== 'number' || value.length < maxRows)) ||\n (!hasMany && populatedDocs?.[0] && typeof populatedDocs[0].value === 'undefined')\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${baseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n </div>\n {BeforeInput}\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 && populatedDocs[0].value ? (\n <UploadComponentHasOne\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n reloadDoc={reloadDoc}\n serverURL={serverURL}\n />\n ) : populatedDocs && value && !populatedDocs?.[0]?.value ? (\n <>\n {t('general:untitled')} - ID: {value}\n </>\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n {showDropzone ? (\n <Dropzone\n disabled={readOnly || !canCreate}\n multipleFiles={hasMany}\n onChange={onLocalFileSelection}\n >\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n {canCreate && (\n <>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>\n {t('general:or')}\n </span>\n </>\n )}\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n allowCreate={canCreate}\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n {canCreate && !readOnly && (\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n )}\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,7 +12,7 @@ export type RenderedFieldSlots = Map<string, RenderedField>;
12
12
  /**
13
13
  * Get the state of the form, can be used to submit & validate the form.
14
14
  *
15
- * @see https://payloadcms.com/docs/admin/hooks#useform
15
+ * @see https://payloadcms.com/docs/admin/react-hooks#useform
16
16
  */
17
17
  declare const useForm: () => Context;
18
18
  /**
@@ -28,13 +28,13 @@ declare const useFormInitializing: () => boolean;
28
28
  /**
29
29
  * Get and set the value of a form field based on a selector
30
30
  *
31
- * @see https://payloadcms.com/docs/admin/hooks#useformfields
31
+ * @see https://payloadcms.com/docs/admin/react-hooks#useformfields
32
32
  */
33
33
  declare const useFormFields: <Value = unknown>(selector: (context: FormFieldsContextType) => Value) => Value;
34
34
  /**
35
35
  * Get the state of all form fields.
36
36
  *
37
- * @see https://payloadcms.com/docs/admin/hooks#useallformfields
37
+ * @see https://payloadcms.com/docs/admin/react-hooks#useallformfields
38
38
  */
39
39
  declare const useAllFormFields: () => FormFieldsContextType;
40
40
  export { DocumentFormContext, FormContext, FormFieldsContext, FormWatchContext, InitializingContext, ModifiedContext, ProcessingContext, SubmittedContext, useAllFormFields, useDocumentForm, useForm, useFormFields, useFormInitializing, useFormModified, useFormProcessing, useFormSubmitted, useWatchForm, };
@@ -13,7 +13,7 @@ const FormFieldsContext = createSelectorContext([{}, () => null]);
13
13
  /**
14
14
  * Get the state of the form, can be used to submit & validate the form.
15
15
  *
16
- * @see https://payloadcms.com/docs/admin/hooks#useform
16
+ * @see https://payloadcms.com/docs/admin/react-hooks#useform
17
17
  */
18
18
  const useForm = () => {
19
19
  return useContext(FormContext);
@@ -43,7 +43,7 @@ const useFormInitializing = () => {
43
43
  /**
44
44
  * Get and set the value of a form field based on a selector
45
45
  *
46
- * @see https://payloadcms.com/docs/admin/hooks#useformfields
46
+ * @see https://payloadcms.com/docs/admin/react-hooks#useformfields
47
47
  */
48
48
  const useFormFields = selector => {
49
49
  return useContextSelector(FormFieldsContext, selector);
@@ -51,7 +51,7 @@ const useFormFields = selector => {
51
51
  /**
52
52
  * Get the state of all form fields.
53
53
  *
54
- * @see https://payloadcms.com/docs/admin/hooks#useallformfields
54
+ * @see https://payloadcms.com/docs/admin/react-hooks#useallformfields
55
55
  */
56
56
  const useAllFormFields = () => {
57
57
  return useFullContext(FormFieldsContext);
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["createContext","useContext","createSelectorContext","useContextSelector","useFullContext","FormContext","DocumentFormContext","FormWatchContext","SubmittedContext","ProcessingContext","ModifiedContext","InitializingContext","FormFieldsContext","useForm","useDocumentForm","useWatchForm","useFormSubmitted","useFormProcessing","useFormModified","useFormInitializing","useFormFields","selector","useAllFormFields"],"sources":["../../../src/forms/Form/context.ts"],"sourcesContent":["'use client'\nimport type { RenderedField } from 'payload'\n\nimport { createContext, useContext } from 'react'\nimport {\n createContext as createSelectorContext,\n useContextSelector,\n useContext as useFullContext,\n} from 'use-context-selector'\n\nimport type { Context, FormFieldsContext as FormFieldsContextType } from './types.js'\n\nconst FormContext = createContext({} as Context)\nconst DocumentFormContext = createContext({} as Context)\nconst FormWatchContext = createContext({} as Context)\nconst SubmittedContext = createContext(false)\nconst ProcessingContext = createContext(false)\nconst ModifiedContext = createContext(false)\nconst InitializingContext = createContext(false)\nconst FormFieldsContext = createSelectorContext<FormFieldsContextType>([{}, () => null])\n\nexport type RenderedFieldSlots = Map<string, RenderedField>\n\n/**\n * Get the state of the form, can be used to submit & validate the form.\n *\n * @see https://payloadcms.com/docs/admin/hooks#useform\n */\nconst useForm = (): Context => useContext(FormContext)\n/**\n * Get the state of the document-level form. This is useful if you need to access the document-level Form from within a child Form.\n * This is the case withing lexical Blocks, as each lexical blocks renders their own Form.\n */\nconst useDocumentForm = (): Context => useContext(DocumentFormContext)\n\nconst useWatchForm = (): Context => useContext(FormWatchContext)\nconst useFormSubmitted = (): boolean => useContext(SubmittedContext)\nconst useFormProcessing = (): boolean => useContext(ProcessingContext)\nconst useFormModified = (): boolean => useContext(ModifiedContext)\nconst useFormInitializing = (): boolean => useContext(InitializingContext)\n\n/**\n * Get and set the value of a form field based on a selector\n *\n * @see https://payloadcms.com/docs/admin/hooks#useformfields\n */\nconst useFormFields = <Value = unknown>(\n selector: (context: FormFieldsContextType) => Value,\n): Value => useContextSelector(FormFieldsContext, selector)\n\n/**\n * Get the state of all form fields.\n *\n * @see https://payloadcms.com/docs/admin/hooks#useallformfields\n */\nconst useAllFormFields = (): FormFieldsContextType => useFullContext(FormFieldsContext)\n\nexport {\n DocumentFormContext,\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n InitializingContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useAllFormFields,\n useDocumentForm,\n useForm,\n useFormFields,\n useFormInitializing,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n useWatchForm,\n}\n"],"mappings":"AAAA;;AAGA,SAASA,aAAa,EAAEC,UAAU,QAAQ;AAC1C,SACED,aAAA,IAAiBE,qBAAqB,EACtCC,kBAAkB,EAClBF,UAAA,IAAcG,cAAc,QACvB;AAIP,MAAMC,WAAA,GAAcL,aAAA,CAAc,CAAC;AACnC,MAAMM,mBAAA,GAAsBN,aAAA,CAAc,CAAC;AAC3C,MAAMO,gBAAA,GAAmBP,aAAA,CAAc,CAAC;AACxC,MAAMQ,gBAAA,GAAmBR,aAAA,CAAc;AACvC,MAAMS,iBAAA,GAAoBT,aAAA,CAAc;AACxC,MAAMU,eAAA,GAAkBV,aAAA,CAAc;AACtC,MAAMW,mBAAA,GAAsBX,aAAA,CAAc;AAC1C,MAAMY,iBAAA,GAAoBV,qBAAA,CAA6C,CAAC,CAAC,GAAG,MAAM,KAAK;AAIvF;;;;;AAKA,MAAMW,OAAA,GAAUA,CAAA;EAAA,OAAeZ,UAAA,CAAAI,WAAW;AAAA;AAC1C;;;;AAIA,MAAMS,eAAA,GAAkBA,CAAA;EAAA,OAAeb,UAAA,CAAAK,mBAAW;AAAA;AAElD,MAAMS,YAAA,GAAeA,CAAA;EAAA,OAAed,UAAA,CAAAM,gBAAW;AAAA;AAC/C,MAAMS,gBAAA,GAAmBA,CAAA;EAAA,OAAef,UAAA,CAAAO,gBAAW;AAAA;AACnD,MAAMS,iBAAA,GAAoBA,CAAA;EAAA,OAAehB,UAAA,CAAAQ,iBAAW;AAAA;AACpD,MAAMS,eAAA,GAAkBA,CAAA;EAAA,OAAejB,UAAA,CAAAS,eAAW;AAAA;AAClD,MAAMS,mBAAA,GAAsBA,CAAA;EAAA,OAAelB,UAAA,CAAAU,mBAAW;AAAA;AAEtD;;;;;AAKA,MAAMS,aAAA,GAAgBC,QAAA;EAAA,OAEVlB,kBAAA,CAAAS,iBAAA,EAAsCS,QAAA;AAAA;AAElD;;;;;AAKA,MAAMC,gBAAA,GAAmBA,CAAA;EAAA,OAA6BlB,cAAA,CAAAQ,iBAAe;AAAA;AAErE,SACEN,mBAAmB,EACnBD,WAAW,EACXO,iBAAiB,EACjBL,gBAAgB,EAChBI,mBAAmB,EACnBD,eAAe,EACfD,iBAAiB,EACjBD,gBAAgB,EAChBc,gBAAgB,EAChBR,eAAe,EACfD,OAAO,EACPO,aAAa,EACbD,mBAAmB,EACnBD,eAAe,EACfD,iBAAiB,EACjBD,gBAAgB,EAChBD,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"context.js","names":["createContext","useContext","createSelectorContext","useContextSelector","useFullContext","FormContext","DocumentFormContext","FormWatchContext","SubmittedContext","ProcessingContext","ModifiedContext","InitializingContext","FormFieldsContext","useForm","useDocumentForm","useWatchForm","useFormSubmitted","useFormProcessing","useFormModified","useFormInitializing","useFormFields","selector","useAllFormFields"],"sources":["../../../src/forms/Form/context.ts"],"sourcesContent":["'use client'\nimport type { RenderedField } from 'payload'\n\nimport { createContext, useContext } from 'react'\nimport {\n createContext as createSelectorContext,\n useContextSelector,\n useContext as useFullContext,\n} from 'use-context-selector'\n\nimport type { Context, FormFieldsContext as FormFieldsContextType } from './types.js'\n\nconst FormContext = createContext({} as Context)\nconst DocumentFormContext = createContext({} as Context)\nconst FormWatchContext = createContext({} as Context)\nconst SubmittedContext = createContext(false)\nconst ProcessingContext = createContext(false)\nconst ModifiedContext = createContext(false)\nconst InitializingContext = createContext(false)\nconst FormFieldsContext = createSelectorContext<FormFieldsContextType>([{}, () => null])\n\nexport type RenderedFieldSlots = Map<string, RenderedField>\n\n/**\n * Get the state of the form, can be used to submit & validate the form.\n *\n * @see https://payloadcms.com/docs/admin/react-hooks#useform\n */\nconst useForm = (): Context => useContext(FormContext)\n/**\n * Get the state of the document-level form. This is useful if you need to access the document-level Form from within a child Form.\n * This is the case withing lexical Blocks, as each lexical blocks renders their own Form.\n */\nconst useDocumentForm = (): Context => useContext(DocumentFormContext)\n\nconst useWatchForm = (): Context => useContext(FormWatchContext)\nconst useFormSubmitted = (): boolean => useContext(SubmittedContext)\nconst useFormProcessing = (): boolean => useContext(ProcessingContext)\nconst useFormModified = (): boolean => useContext(ModifiedContext)\nconst useFormInitializing = (): boolean => useContext(InitializingContext)\n\n/**\n * Get and set the value of a form field based on a selector\n *\n * @see https://payloadcms.com/docs/admin/react-hooks#useformfields\n */\nconst useFormFields = <Value = unknown>(\n selector: (context: FormFieldsContextType) => Value,\n): Value => useContextSelector(FormFieldsContext, selector)\n\n/**\n * Get the state of all form fields.\n *\n * @see https://payloadcms.com/docs/admin/react-hooks#useallformfields\n */\nconst useAllFormFields = (): FormFieldsContextType => useFullContext(FormFieldsContext)\n\nexport {\n DocumentFormContext,\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n InitializingContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useAllFormFields,\n useDocumentForm,\n useForm,\n useFormFields,\n useFormInitializing,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n useWatchForm,\n}\n"],"mappings":"AAAA;;AAGA,SAASA,aAAa,EAAEC,UAAU,QAAQ;AAC1C,SACED,aAAA,IAAiBE,qBAAqB,EACtCC,kBAAkB,EAClBF,UAAA,IAAcG,cAAc,QACvB;AAIP,MAAMC,WAAA,GAAcL,aAAA,CAAc,CAAC;AACnC,MAAMM,mBAAA,GAAsBN,aAAA,CAAc,CAAC;AAC3C,MAAMO,gBAAA,GAAmBP,aAAA,CAAc,CAAC;AACxC,MAAMQ,gBAAA,GAAmBR,aAAA,CAAc;AACvC,MAAMS,iBAAA,GAAoBT,aAAA,CAAc;AACxC,MAAMU,eAAA,GAAkBV,aAAA,CAAc;AACtC,MAAMW,mBAAA,GAAsBX,aAAA,CAAc;AAC1C,MAAMY,iBAAA,GAAoBV,qBAAA,CAA6C,CAAC,CAAC,GAAG,MAAM,KAAK;AAIvF;;;;;AAKA,MAAMW,OAAA,GAAUA,CAAA;EAAA,OAAeZ,UAAA,CAAAI,WAAW;AAAA;AAC1C;;;;AAIA,MAAMS,eAAA,GAAkBA,CAAA;EAAA,OAAeb,UAAA,CAAAK,mBAAW;AAAA;AAElD,MAAMS,YAAA,GAAeA,CAAA;EAAA,OAAed,UAAA,CAAAM,gBAAW;AAAA;AAC/C,MAAMS,gBAAA,GAAmBA,CAAA;EAAA,OAAef,UAAA,CAAAO,gBAAW;AAAA;AACnD,MAAMS,iBAAA,GAAoBA,CAAA;EAAA,OAAehB,UAAA,CAAAQ,iBAAW;AAAA;AACpD,MAAMS,eAAA,GAAkBA,CAAA;EAAA,OAAejB,UAAA,CAAAS,eAAW;AAAA;AAClD,MAAMS,mBAAA,GAAsBA,CAAA;EAAA,OAAelB,UAAA,CAAAU,mBAAW;AAAA;AAEtD;;;;;AAKA,MAAMS,aAAA,GAAgBC,QAAA;EAAA,OAEVlB,kBAAA,CAAAS,iBAAA,EAAsCS,QAAA;AAAA;AAElD;;;;;AAKA,MAAMC,gBAAA,GAAmBA,CAAA;EAAA,OAA6BlB,cAAA,CAAAQ,iBAAe;AAAA;AAErE,SACEN,mBAAmB,EACnBD,WAAW,EACXO,iBAAiB,EACjBL,gBAAgB,EAChBI,mBAAmB,EACnBD,eAAe,EACfD,iBAAiB,EACjBD,gBAAgB,EAChBc,gBAAgB,EAChBR,eAAe,EACfD,OAAO,EACPO,aAAa,EACbD,mBAAmB,EACnBD,eAAe,EACfD,iBAAiB,EACjBD,gBAAgB,EAChBD,YAAY","ignoreList":[]}
@@ -3,7 +3,7 @@ export type { FieldType, Options };
3
3
  /**
4
4
  * Get and set the value of a form field.
5
5
  *
6
- * @see https://payloadcms.com/docs/admin/hooks#usefield
6
+ * @see https://payloadcms.com/docs/admin/react-hooks#usefield
7
7
  */
8
8
  export declare const useField: <TValue>(options: Options) => FieldType<TValue>;
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -12,7 +12,7 @@ import { useDocumentForm, useForm, useFormFields, useFormInitializing, useFormMo
12
12
  /**
13
13
  * Get and set the value of a form field.
14
14
  *
15
- * @see https://payloadcms.com/docs/admin/hooks#usefield
15
+ * @see https://payloadcms.com/docs/admin/react-hooks#usefield
16
16
  */
17
17
  export const useField = options => {
18
18
  const $ = _c(58);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useDocumentForm","useForm","useFormFields","useFormInitializing","useFormModified","useFormProcessing","useFormSubmitted","useField","options","$","disableFormData","t0","hasRows","path","validate","undefined","submitted","processing","initializing","user","id","collectionSlug","operation","dispatchField","_temp","t1","t2","fields","field","t","config","getData","getDataByPath","getSiblingData","setModified","documentForm","modified","filterOptions","value","initialValue","valid","showError","prevValid","prevErrorMessage","errorMessage","e","t3","disableModifyingForm","val","target","type","setTimeout","setValue","t4","customComponents","t5","t6","errorPaths","t7","rows","t8","t9","formInitializing","formProcessing","formSubmitted","result","t10","validateField","valueToValidate","Array","isArray","current","valid_0","data","isValid","blockData","event","preferences","req","payload","siblingData","update","t11","t12","dispatch"],"sources":["../../../src/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest } from 'payload'\n\nimport { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport {\n useDocumentForm,\n useForm,\n useFormFields,\n useFormInitializing,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/hooks#usefield\n */\nexport const useField = <TValue,>(options: Options): FieldType<TValue> => {\n const { disableFormData = false, hasRows, path, validate } = options\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n const { user } = useAuth()\n const { id, collectionSlug } = useDocumentInfo()\n const operation = useOperation()\n\n const dispatchField = useFormFields(([_, dispatch]) => dispatch)\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { t } = useTranslation()\n const { config } = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const documentForm = useDocumentForm()\n const modified = useFormModified()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as TValue\n const initialValue = field?.initialValue as TValue\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n const prevErrorMessage = useRef(field?.errorMessage)\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n const val = e && e.target ? e.target.value : e\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n if (typeof setModified === 'function') {\n // Only update setModified to true if the form is not already set to modified. Otherwise the following could happen:\n // 1. Text field: someone types in it in an unmodified form\n // 2. After setTimeout triggers setModified(true): form is set to modified. Save Button becomes available. Good!\n // 3. Type something in text field\n // 4. Click on save button before setTimeout in useField has finished (so setModified(true) has not been run yet)\n // 5. Form is saved, setModified(false) is set in the Form/index.tsx `submit` function, \"saved successfully\" toast appears\n // 6. setModified(true) inside the timeout is run, form is set to modified again, even though it was already saved and thus set to unmodified. Bad! This should have happened before the form is saved. Now the form should be unmodified and stay that way\n // until a NEW change happens. Due to this, the \"Leave without saving\" modal appears even though it should not when leaving the page fast immediately after saving the document.\n // This is only an issue for forms which have already been set to modified true, as that causes the save button to be enabled. If we prevent this setTimeout to be run\n // for already-modified forms first place (which is unnecessary), we can avoid this issue. As for unmodified forms, this race issue will not happen, because you cannot click the save button faster\n // than the timeout in useField is run. That's because the save button won't even be enabled for clicking until the setTimeout in useField has run.\n // This fixes e2e test flakes, as e2e tests were often so fast that they were saving the form before the timeout in useField has run.\n // Specifically, this fixes the 'should not warn about unsaved changes when navigating to lexical editor with blocks node and then leaving the page after making a change and saving' lexical e2e test.\n if (modified === false) {\n // Update modified state after field value comes back\n // to avoid cursor jump caused by state value / DOM mismatch\n setTimeout(() => {\n setModified(true)\n }, 10)\n }\n }\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows, modified],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<TValue> = useMemo(\n () => ({\n customComponents: field?.customComponents,\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formInitializing: initializing,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n rows: field?.rows,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n filterOptions,\n initializing,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined = prevErrorMessage.current\n let valid: boolean | string = prevValid.current\n\n const data = getData()\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n blockData: undefined, // Will be expensive to get - not worth to pass to client-side validation, as this can be obtained by the user using `useFormFields()`\n collectionSlug,\n data: documentForm?.getData ? documentForm.getData() : data,\n event: 'onChange',\n operation,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: getSiblingData(path),\n })\n : typeof prevErrorMessage.current === 'string'\n ? prevErrorMessage.current\n : prevValid.current\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current || errorMessage !== prevErrorMessage.current) {\n prevValid.current = valid\n prevErrorMessage.current = errorMessage\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n collectionSlug,\n ],\n )\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useDocumentForm","useForm","useFormFields","useFormInitializing","useFormModified","useFormProcessing","useFormSubmitted","useField","options","$","disableFormData","t0","hasRows","path","validate","undefined","submitted","processing","initializing","user","id","collectionSlug","operation","dispatchField","_temp","t1","t2","fields","field","t","config","getData","getDataByPath","getSiblingData","setModified","documentForm","modified","filterOptions","value","initialValue","valid","showError","prevValid","prevErrorMessage","errorMessage","e","t3","disableModifyingForm","val","target","type","setTimeout","setValue","t4","customComponents","t5","t6","errorPaths","t7","rows","t8","t9","formInitializing","formProcessing","formSubmitted","result","t10","validateField","valueToValidate","Array","isArray","current","valid_0","data","isValid","blockData","event","preferences","req","payload","siblingData","update","t11","t12","dispatch"],"sources":["../../../src/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest } from 'payload'\n\nimport { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport {\n useDocumentForm,\n useForm,\n useFormFields,\n useFormInitializing,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/react-hooks#usefield\n */\nexport const useField = <TValue,>(options: Options): FieldType<TValue> => {\n const { disableFormData = false, hasRows, path, validate } = options\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n const { user } = useAuth()\n const { id, collectionSlug } = useDocumentInfo()\n const operation = useOperation()\n\n const dispatchField = useFormFields(([_, dispatch]) => dispatch)\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { t } = useTranslation()\n const { config } = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const documentForm = useDocumentForm()\n const modified = useFormModified()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as TValue\n const initialValue = field?.initialValue as TValue\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n const prevErrorMessage = useRef(field?.errorMessage)\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n const val = e && e.target ? e.target.value : e\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n if (typeof setModified === 'function') {\n // Only update setModified to true if the form is not already set to modified. Otherwise the following could happen:\n // 1. Text field: someone types in it in an unmodified form\n // 2. After setTimeout triggers setModified(true): form is set to modified. Save Button becomes available. Good!\n // 3. Type something in text field\n // 4. Click on save button before setTimeout in useField has finished (so setModified(true) has not been run yet)\n // 5. Form is saved, setModified(false) is set in the Form/index.tsx `submit` function, \"saved successfully\" toast appears\n // 6. setModified(true) inside the timeout is run, form is set to modified again, even though it was already saved and thus set to unmodified. Bad! This should have happened before the form is saved. Now the form should be unmodified and stay that way\n // until a NEW change happens. Due to this, the \"Leave without saving\" modal appears even though it should not when leaving the page fast immediately after saving the document.\n // This is only an issue for forms which have already been set to modified true, as that causes the save button to be enabled. If we prevent this setTimeout to be run\n // for already-modified forms first place (which is unnecessary), we can avoid this issue. As for unmodified forms, this race issue will not happen, because you cannot click the save button faster\n // than the timeout in useField is run. That's because the save button won't even be enabled for clicking until the setTimeout in useField has run.\n // This fixes e2e test flakes, as e2e tests were often so fast that they were saving the form before the timeout in useField has run.\n // Specifically, this fixes the 'should not warn about unsaved changes when navigating to lexical editor with blocks node and then leaving the page after making a change and saving' lexical e2e test.\n if (modified === false) {\n // Update modified state after field value comes back\n // to avoid cursor jump caused by state value / DOM mismatch\n setTimeout(() => {\n setModified(true)\n }, 10)\n }\n }\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows, modified],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<TValue> = useMemo(\n () => ({\n customComponents: field?.customComponents,\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formInitializing: initializing,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n rows: field?.rows,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n filterOptions,\n initializing,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined = prevErrorMessage.current\n let valid: boolean | string = prevValid.current\n\n const data = getData()\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n blockData: undefined, // Will be expensive to get - not worth to pass to client-side validation, as this can be obtained by the user using `useFormFields()`\n collectionSlug,\n data: documentForm?.getData ? documentForm.getData() : data,\n event: 'onChange',\n operation,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: getSiblingData(path),\n })\n : typeof prevErrorMessage.current === 'string'\n ? prevErrorMessage.current\n : prevValid.current\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current || errorMessage !== prevErrorMessage.current) {\n prevValid.current = valid\n prevErrorMessage.current = errorMessage\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n collectionSlug,\n ],\n )\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}