@payloadcms/ui 3.6.1-canary.cc3861e → 3.7.1-canary.2ce70a3

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 (55) hide show
  1. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  2. package/dist/elements/RelationshipTable/index.js +7 -1
  3. package/dist/elements/RelationshipTable/index.js.map +1 -1
  4. package/dist/exports/client/index.d.ts +1 -0
  5. package/dist/exports/client/index.d.ts.map +1 -1
  6. package/dist/exports/client/index.js +10 -10
  7. package/dist/exports/client/index.js.map +4 -4
  8. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  9. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  10. package/dist/fields/Array/ArrayRow.js +41 -36
  11. package/dist/fields/Array/ArrayRow.js.map +1 -1
  12. package/dist/fields/Array/index.d.ts.map +1 -1
  13. package/dist/fields/Array/index.js +3 -1
  14. package/dist/fields/Array/index.js.map +1 -1
  15. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  16. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  17. package/dist/fields/Blocks/BlockRow.js +45 -40
  18. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  19. package/dist/fields/Blocks/index.d.ts.map +1 -1
  20. package/dist/fields/Blocks/index.js +3 -1
  21. package/dist/fields/Blocks/index.js.map +1 -1
  22. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  23. package/dist/forms/Form/fieldReducer.js +2 -1
  24. package/dist/forms/Form/fieldReducer.js.map +1 -1
  25. package/dist/forms/RenderFields/RenderField.js +3 -3
  26. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  27. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  28. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +12 -20
  29. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  30. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  31. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  32. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  33. package/dist/forms/fieldSchemasToFormState/renderField.js +18 -12
  34. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  35. package/dist/forms/useField/index.d.ts.map +1 -1
  36. package/dist/forms/useField/index.js +0 -5
  37. package/dist/forms/useField/index.js.map +1 -1
  38. package/dist/forms/withCondition/WatchCondition.d.ts +1 -2
  39. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  40. package/dist/forms/withCondition/WatchCondition.js +2 -14
  41. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  42. package/dist/forms/withCondition/index.js +0 -2
  43. package/dist/forms/withCondition/index.js.map +1 -1
  44. package/dist/hooks/useThrottledValue.d.ts +8 -0
  45. package/dist/hooks/useThrottledValue.d.ts.map +1 -0
  46. package/dist/hooks/useThrottledValue.js +21 -0
  47. package/dist/hooks/useThrottledValue.js.map +1 -0
  48. package/dist/styles.css +1 -1
  49. package/dist/utilities/buildTableState.d.ts.map +1 -1
  50. package/dist/utilities/buildTableState.js +1 -0
  51. package/dist/utilities/buildTableState.js.map +1 -1
  52. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  53. package/dist/views/Edit/Auth/index.js +0 -3
  54. package/dist/views/Edit/Auth/index.js.map +1 -1
  55. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"addFieldStatePromise.js","names":["ObjectIdImport","deepCopyObjectSimple","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","fieldIsID","fieldIsSidebar","getFieldPaths","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","clientFieldSchemaMap","collectionSlug","data","field","fieldIndex","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","omitParents","operation","parentIndexPath","parentPath","parentPermissions","parentSchemaPath","passesCondition","preferences","previousFormState","renderAllFields","renderFieldFn","req","skipConditionChecks","skipValidation","state","console","warn","indexPath","path","schemaPath","index","requiresRender","fieldPermissions","name","hasPermission","read","access","doc","siblingData","validate","fieldState","errorPaths","fieldSchema","undefined","initialValue","isSidebar","valid","value","validationResult","jsonError","type","JSON","parse","e","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rows","reduce","acc","row","i","toHexString","fields","find","localized","parentPassesCondition","permissions","previousRows","collapsedRowIDsFromPrefs","collapsed","previousRow","prevRow","admin","initCollapsed","Promise","all","length","disableFormData","blocksValue","rowMetadata","block","blocks","blockType","slug","Error","rowSchemaPath","blockField","blockName","collapsedRowIDs","filterOptions","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","tabs","tab","tabIndex","isNamedTab","tabIndexPath","tabPath","tabSchemaPath","childPermissions","tabPermissions","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormFieldWithoutComponents,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsSidebar,\n getFieldPaths,\n tabHasName,\n} from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { getFilterOptionsQuery } from './getFilterOptionsQuery.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n field: Field\n fieldIndex: number\n fieldSchemaMap: FieldSchemaMap\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPath: string\n parentPermissions: SanitizedFieldsPermissions\n parentSchemaPath: string\n passesCondition: boolean\n preferences: DocumentPreferences\n previousFormState: FormState\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions,\n parentSchemaPath,\n passesCondition,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n console.warn(\n 'clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance',\n )\n }\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const requiresRender = renderAllFields || previousFormState?.[path]?.requiresRender\n\n let fieldPermissions: SanitizedFieldPermissions = true\n\n if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field)) {\n fieldPermissions =\n parentPermissions === true\n ? parentPermissions\n : deepCopyObjectSimple(parentPermissions?.[field.name])\n\n let hasPermission: boolean =\n fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read)\n\n if (typeof field?.access?.read === 'function') {\n hasPermission = await field.access.read({ doc: fullData, req, siblingData: data })\n } else {\n hasPermission = true\n }\n\n if (!hasPermission) {\n return\n }\n\n const validate = field.validate\n\n const fieldState: FormFieldWithoutComponents = {\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n isSidebar: fieldIsSidebar(field),\n passesCondition,\n valid: true,\n value: undefined,\n }\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name])\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(\n data?.[field.name] as never,\n {\n ...field,\n id,\n collectionSlug,\n data: fullData,\n jsonError,\n operation,\n preferences,\n req,\n siblingData: data,\n } as any,\n )\n }\n\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(path)\n } else {\n fieldState.valid = true\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rows } = arrayValue.reduce(\n (acc, row, i: number) => {\n const parentPath = path + '.' + i\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[parentPath + '.id'] = {\n fieldSchema: includeSchema\n ? field.fields.find((field) => fieldIsID(field))\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: schemaPath,\n permissions:\n fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const previousRows = previousFormState?.[path]?.rows || []\n const collapsedRowIDsFromPrefs = preferences?.fields?.[path]?.collapsed\n\n acc.rows.push({\n id: row.id,\n collapsed: (() => {\n // First, check if `previousFormState` has a matching row\n const previousRow = previousRows.find((prevRow) => prevRow.id === row.id)\n if (previousRow?.collapsed !== undefined) {\n return previousRow.collapsed\n }\n\n // If previousFormState is undefined, check preferences\n if (collapsedRowIDsFromPrefs !== undefined) {\n return collapsedRowIDsFromPrefs.includes(row.id) // Check if collapsed in preferences\n }\n\n // If neither exists, fallback to `field.admin.initCollapsed`\n return field.admin.initCollapsed\n })(),\n })\n\n return acc\n },\n {\n promises: [],\n rows: [],\n },\n )\n\n // Wait for all promises and update fields with the results\n await Promise.all(promises)\n\n fieldState.rows = rows\n\n // Unset requiresRender\n // so it will be removed from form state\n fieldState.requiresRender = false\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i: number) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n if (!block) {\n throw new Error(\n `Block with type \"${row.blockType}\" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`,\n )\n }\n\n const parentPath = path + '.' + i\n const rowSchemaPath = schemaPath + '.' + block.slug\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[parentPath + '.id'] = {\n fieldSchema: includeSchema\n ? block.fields.find((blockField) => fieldIsID(blockField))\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n\n state[parentPath + '.blockType'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n : undefined,\n initialValue: row.blockType,\n valid: true,\n value: row.blockType,\n }\n\n state[parentPath + '.blockName'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n : undefined,\n initialValue: row.blockName,\n valid: true,\n value: row.blockName,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: block.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: rowSchemaPath,\n permissions:\n fieldPermissions === true\n ? fieldPermissions\n : parentPermissions?.[field.name]?.blocks?.[block.slug] === true\n ? true\n : parentPermissions?.[field.name]?.blocks?.[block.slug]?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[path]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n blockType: row.blockType,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Unset requiresRender\n // so it will be removed from form state\n fieldState.requiresRender = false\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[path] = fieldState\n }\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: data?.[field.name] || {},\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions:\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.fields,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n case 'relationship':\n case 'upload': {\n if (field.filterOptions) {\n if (typeof field.filterOptions === 'object') {\n if (typeof field.relationTo === 'string') {\n fieldState.filterOptions = {\n [field.relationTo]: field.filterOptions,\n }\n } else {\n fieldState.filterOptions = field.relationTo.reduce((acc, relation) => {\n acc[relation] = field.filterOptions\n return acc\n }, {})\n }\n }\n\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n default: {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n\n // Add field to state\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n // Handle field types that do not use names (row, etc)\n\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n\n await iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath,\n permissions: parentPermissions, // TODO: Verify this is correct\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab, tabIndex) => {\n const isNamedTab = tabHasName(tab)\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath,\n parentSchemaPath,\n })\n\n let childPermissions: SanitizedFieldsPermissions = undefined\n if (tabHasName(tab)) {\n if (parentPermissions === true) {\n childPermissions = true\n } else {\n const tabPermissions = parentPermissions?.[tab.name]\n if (tabPermissions === true) {\n childPermissions = true\n } else {\n childPermissions = tabPermissions?.fields\n }\n }\n } else {\n childPermissions = parentPermissions\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: tabHasName(tab) ? '' : tabIndexPath,\n parentPassesCondition: passesCondition,\n parentPath: tabHasName(tab) ? tabPath : parentPath,\n parentSchemaPath: tabHasName(tab) ? tabSchemaPath : parentSchemaPath,\n permissions: childPermissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n })\n\n await Promise.all(promises)\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n isSidebar: fieldIsSidebar(field),\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n }\n\n if (requiresRender && renderFieldFn && !fieldIsHiddenOrDisabled(field)) {\n const fieldState = state[path]\n\n const fieldConfig = fieldSchemaMap.get(schemaPath)\n\n if (!fieldConfig) {\n if (schemaPath.endsWith('.blockType')) {\n return\n } else {\n throw new Error(`Field config not found for ${schemaPath}`)\n }\n }\n\n if (!fieldState) {\n // Some fields (ie `Tab`) do not live in form state\n // therefore we cannot attach customComponents to them\n return\n }\n\n renderFieldFn({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data: fullData,\n fieldConfig: fieldConfig as Field,\n fieldSchemaMap,\n fieldState,\n formState: state,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions: fieldPermissions,\n preferences,\n previousFieldState: previousFormState?.[path],\n req,\n schemaPath,\n siblingData: data,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"addFieldStatePromise.js","names":["ObjectIdImport","deepCopyObjectSimple","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","fieldIsID","fieldIsSidebar","getFieldPaths","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","clientFieldSchemaMap","collectionSlug","data","field","fieldIndex","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","omitParents","operation","parentIndexPath","parentPath","parentPermissions","parentSchemaPath","passesCondition","preferences","previousFormState","renderAllFields","renderFieldFn","req","skipConditionChecks","skipValidation","state","console","warn","indexPath","path","schemaPath","index","requiresRender","fieldPermissions","fieldState","errorPaths","fieldSchema","undefined","initialValue","isSidebar","valid","value","name","hasPermission","read","access","doc","siblingData","validate","validationResult","jsonError","type","JSON","parse","e","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rows","reduce","acc","row","i","toHexString","fields","find","localized","parentPassesCondition","permissions","previousRows","collapsedRowIDsFromPrefs","collapsed","previousRow","prevRow","admin","initCollapsed","Promise","all","length","disableFormData","blocksValue","rowMetadata","block","blocks","blockType","slug","Error","rowSchemaPath","blockField","blockName","collapsedRowIDs","filterOptions","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","tabs","tab","tabIndex","isNamedTab","tabIndexPath","tabPath","tabSchemaPath","childPermissions","tabPermissions","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormFieldWithoutComponents,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsSidebar,\n getFieldPaths,\n tabHasName,\n} from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { getFilterOptionsQuery } from './getFilterOptionsQuery.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n field: Field\n fieldIndex: number\n fieldSchemaMap: FieldSchemaMap\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPath: string\n parentPermissions: SanitizedFieldsPermissions\n parentSchemaPath: string\n passesCondition: boolean\n preferences: DocumentPreferences\n previousFormState: FormState\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions,\n parentSchemaPath,\n passesCondition,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n console.warn(\n 'clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance',\n )\n }\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const requiresRender = renderAllFields || previousFormState?.[path]?.requiresRender\n\n let fieldPermissions: SanitizedFieldPermissions = true\n\n const fieldState: FormFieldWithoutComponents = {\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n isSidebar: fieldIsSidebar(field),\n passesCondition,\n valid: true,\n value: undefined,\n }\n\n if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field)) {\n fieldPermissions =\n parentPermissions === true\n ? parentPermissions\n : deepCopyObjectSimple(parentPermissions?.[field.name])\n\n let hasPermission: boolean =\n fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read)\n\n if (typeof field?.access?.read === 'function') {\n hasPermission = await field.access.read({ doc: fullData, req, siblingData: data })\n } else {\n hasPermission = true\n }\n\n if (!hasPermission) {\n return\n }\n\n const validate = field.validate\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name])\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(\n data?.[field.name] as never,\n {\n ...field,\n id,\n collectionSlug,\n data: fullData,\n jsonError,\n operation,\n preferences,\n req,\n siblingData: data,\n } as any,\n )\n }\n\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(path)\n } else {\n fieldState.valid = true\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rows } = arrayValue.reduce(\n (acc, row, i: number) => {\n const parentPath = path + '.' + i\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[parentPath + '.id'] = {\n fieldSchema: includeSchema\n ? field.fields.find((field) => fieldIsID(field))\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: schemaPath,\n permissions:\n fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const previousRows = previousFormState?.[path]?.rows || []\n const collapsedRowIDsFromPrefs = preferences?.fields?.[path]?.collapsed\n\n acc.rows.push({\n id: row.id,\n collapsed: (() => {\n // First, check if `previousFormState` has a matching row\n const previousRow = previousRows.find((prevRow) => prevRow.id === row.id)\n if (previousRow?.collapsed !== undefined) {\n return previousRow.collapsed\n }\n\n // If previousFormState is undefined, check preferences\n if (collapsedRowIDsFromPrefs !== undefined) {\n return collapsedRowIDsFromPrefs.includes(row.id) // Check if collapsed in preferences\n }\n\n // If neither exists, fallback to `field.admin.initCollapsed`\n return field.admin.initCollapsed\n })(),\n })\n\n return acc\n },\n {\n promises: [],\n rows: [],\n },\n )\n\n // Wait for all promises and update fields with the results\n await Promise.all(promises)\n\n fieldState.rows = rows\n\n // Unset requiresRender\n // so it will be removed from form state\n fieldState.requiresRender = false\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i: number) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n if (!block) {\n throw new Error(\n `Block with type \"${row.blockType}\" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`,\n )\n }\n\n const parentPath = path + '.' + i\n const rowSchemaPath = schemaPath + '.' + block.slug\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[parentPath + '.id'] = {\n fieldSchema: includeSchema\n ? block.fields.find((blockField) => fieldIsID(blockField))\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n\n state[parentPath + '.blockType'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n : undefined,\n initialValue: row.blockType,\n valid: true,\n value: row.blockType,\n }\n\n state[parentPath + '.blockName'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n : undefined,\n initialValue: row.blockName,\n valid: true,\n value: row.blockName,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: row,\n fields: block.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: rowSchemaPath,\n permissions:\n fieldPermissions === true\n ? fieldPermissions\n : parentPermissions?.[field.name]?.blocks?.[block.slug] === true\n ? true\n : parentPermissions?.[field.name]?.blocks?.[block.slug]?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[path]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n blockType: row.blockType,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Unset requiresRender\n // so it will be removed from form state\n fieldState.requiresRender = false\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[path] = fieldState\n }\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: data?.[field.name] || {},\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions:\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.fields,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n case 'relationship':\n case 'upload': {\n if (field.filterOptions) {\n if (typeof field.filterOptions === 'object') {\n if (typeof field.relationTo === 'string') {\n fieldState.filterOptions = {\n [field.relationTo]: field.filterOptions,\n }\n } else {\n fieldState.filterOptions = field.relationTo.reduce((acc, relation) => {\n acc[relation] = field.filterOptions\n return acc\n }, {})\n }\n }\n\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n default: {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n\n // Add field to state\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n // Handle field types that do not use names (row, etc)\n\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n\n await iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath,\n permissions: parentPermissions, // TODO: Verify this is correct\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab, tabIndex) => {\n const isNamedTab = tabHasName(tab)\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath,\n parentSchemaPath,\n })\n\n let childPermissions: SanitizedFieldsPermissions = undefined\n\n if (isNamedTab) {\n if (parentPermissions === true) {\n childPermissions = true\n } else {\n const tabPermissions = parentPermissions?.[tab.name]\n if (tabPermissions === true) {\n childPermissions = true\n } else {\n childPermissions = tabPermissions?.fields\n }\n }\n } else {\n childPermissions = parentPermissions\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: tabHasName(tab) ? '' : tabIndexPath,\n parentPassesCondition: passesCondition,\n parentPath: tabHasName(tab) ? tabPath : parentPath,\n parentSchemaPath: tabHasName(tab) ? tabSchemaPath : parentSchemaPath,\n permissions: childPermissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n })\n\n await Promise.all(promises)\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[path] = fieldState\n state[path].disableFormData = true\n }\n }\n\n if (requiresRender && renderFieldFn && !fieldIsHiddenOrDisabled(field)) {\n const fieldState = state[path]\n\n const fieldConfig = fieldSchemaMap.get(schemaPath)\n\n if (!fieldConfig) {\n if (schemaPath.endsWith('.blockType')) {\n return\n } else {\n throw new Error(`Field config not found for ${schemaPath}`)\n }\n }\n\n if (!fieldState) {\n // Some fields (ie `Tab`) do not live in form state\n // therefore we cannot attach customComponents to them\n return\n }\n\n renderFieldFn({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data: fullData,\n fieldConfig: fieldConfig as Field,\n fieldSchemaMap,\n fieldState,\n formState: state,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions: fieldPermissions,\n preferences,\n previousFieldState: previousFormState?.[path],\n req,\n schemaPath,\n siblingData: data,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,IAAI,WAAW,EACpB,cAAc,EACd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EACd,0BAA0B,EAC3B,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAInD,KAAK,IAAI,GAAG;IACV,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,0BAA0B,CAAA;CACnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,+aA4BvB,IAAI,KAAG,OAAO,CAAC,IAAI,CAgDrB,CAAA"}
1
+ {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,IAAI,WAAW,EACpB,cAAc,EACd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EACd,0BAA0B,EAC3B,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAInD,KAAK,IAAI,GAAG;IACV,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,0BAA0B,CAAA;CACnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,+aA4BvB,IAAI,KAAG,OAAO,CAAC,IAAI,CAiDrB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"iterateFields.js","names":["addFieldStatePromise","iterateFields","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","clientFieldSchemaMap","collectionSlug","data","fields","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","omitParents","operation","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath","permissions","preferences","previousFormState","renderAllFields","renderFieldFn","req","skipConditionChecks","skipValidation","state","promises","forEach","field","fieldIndex","passesCondition","Boolean","admin","condition","user","push","parentPermissions","Promise","all"],"sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field as FieldSchema,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js'\nimport type { RenderFieldMethod } from './types.js'\n\nimport { addFieldStatePromise } from './addFieldStatePromise.js'\n\ntype Args = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if any parents is localized, then the field is localized. @default false\n */\n anyParentLocalized?: boolean\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n fields: FieldSchema[]\n fieldSchemaMap: FieldSchemaMap\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id?: number | string\n /**\n * Whether the field schema should be included in the state. @default false\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n /**\n * operation is only needed for validation\n */\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPassesCondition?: boolean\n parentPath: string\n parentSchemaPath: string\n permissions: SanitizedFieldsPermissions\n preferences?: DocumentPreferences\n previousFormState: FormState\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state?: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data\n */\nexport const iterateFields = async ({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPassesCondition = true,\n parentPath,\n parentSchemaPath,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn: renderFieldFn,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state = {},\n}: Args): Promise<void> => {\n const promises = []\n\n fields.forEach((field, fieldIndex) => {\n let passesCondition = true\n if (!skipConditionChecks) {\n passesCondition = Boolean(\n (field?.admin?.condition\n ? Boolean(field.admin.condition(fullData || {}, data || {}, { user: req.user }))\n : true) && parentPassesCondition,\n )\n }\n\n promises.push(\n addFieldStatePromise({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions: permissions,\n parentSchemaPath,\n passesCondition,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"mappings":"AAeA,SAASA,oBAAoB,QAAQ;AAqDrC;;;AAGA,OAAO,MAAMC,aAAA,GAAgB,MAAAA,CAAO;EAClCC,EAAE;EACFC,oBAAA,EAAsBC,uBAAuB;EAC7CC,kBAAA,GAAqB,KAAK;EAC1BC,oBAAoB;EACpBC,cAAc;EACdC,IAAI;EACJC,MAAM;EACNC,cAAc;EACdC,MAAM;EACNC,cAAA,GAAiB,KAAK;EACtBC,QAAQ;EACRC,aAAA,GAAgB,KAAK;EACrBC,WAAA,GAAc,KAAK;EACnBC,SAAS;EACTC,eAAe;EACfC,qBAAA,GAAwB,IAAI;EAC5BC,UAAU;EACVC,gBAAgB;EAChBC,WAAW;EACXC,WAAW;EACXC,iBAAiB;EACjBC,eAAe;EACfC,aAAA,EAAeA,aAAa;EAC5BC,GAAG;EACHC,mBAAA,GAAsB,KAAK;EAC3BC,cAAA,GAAiB,KAAK;EACtBC,KAAA,GAAQ,CAAC;AAAC,CACL;EACL,MAAMC,QAAA,GAAW,EAAE;EAEnBrB,MAAA,CAAOsB,OAAO,CAAC,CAACC,KAAA,EAAOC,UAAA;IACrB,IAAIC,eAAA,GAAkB;IACtB,IAAI,CAACP,mBAAA,EAAqB;MACxBO,eAAA,GAAkBC,OAAA,CAChB,CAACH,KAAA,EAAOI,KAAA,EAAOC,SAAA,GACXF,OAAA,CAAQH,KAAA,CAAMI,KAAK,CAACC,SAAS,CAACxB,QAAA,IAAY,CAAC,GAAGL,IAAA,IAAQ,CAAC,GAAG;QAAE8B,IAAA,EAAMZ,GAAA,CAAIY;MAAK,MAC3E,IAAG,KAAMpB,qBAAA;IAEjB;IAEAY,QAAA,CAASS,IAAI,CACXvC,oBAAA,CAAqB;MACnBE,EAAA;MACAC,oBAAA,EAAsBC,uBAAA;MACtBC,kBAAA;MACAC,oBAAA;MACAC,cAAA;MACAC,IAAA;MACAwB,KAAA;MACAC,UAAA;MACAvB,cAAA;MACAC,MAAA;MACAC,cAAA;MACAC,QAAA;MACAC,aAAA;MACAC,WAAA;MACAC,SAAA;MACAC,eAAA;MACAE,UAAA;MACAqB,iBAAA,EAAmBnB,WAAA;MACnBD,gBAAA;MACAc,eAAA;MACAZ,WAAA;MACAC,iBAAA;MACAC,eAAA;MACAC,aAAA;MACAC,GAAA;MACAC,mBAAA;MACAC,cAAA;MACAC;IACF;EAEJ;EAEA,MAAMY,OAAA,CAAQC,GAAG,CAACZ,QAAA;AACpB","ignoreList":[]}
1
+ {"version":3,"file":"iterateFields.js","names":["addFieldStatePromise","iterateFields","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","clientFieldSchemaMap","collectionSlug","data","fields","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","omitParents","operation","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath","permissions","preferences","previousFormState","renderAllFields","renderFieldFn","req","skipConditionChecks","skipValidation","state","promises","forEach","field","fieldIndex","passesCondition","Boolean","admin","condition","user","push","parentPermissions","Promise","all"],"sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field as FieldSchema,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js'\nimport type { RenderFieldMethod } from './types.js'\n\nimport { addFieldStatePromise } from './addFieldStatePromise.js'\n\ntype Args = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if any parents is localized, then the field is localized. @default false\n */\n anyParentLocalized?: boolean\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n fields: FieldSchema[]\n fieldSchemaMap: FieldSchemaMap\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id?: number | string\n /**\n * Whether the field schema should be included in the state. @default false\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n /**\n * operation is only needed for validation\n */\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPassesCondition?: boolean\n parentPath: string\n parentSchemaPath: string\n permissions: SanitizedFieldsPermissions\n preferences?: DocumentPreferences\n previousFormState: FormState\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state?: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data\n */\nexport const iterateFields = async ({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPassesCondition = true,\n parentPath,\n parentSchemaPath,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn: renderFieldFn,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state = {},\n}: Args): Promise<void> => {\n const promises = []\n\n fields.forEach((field, fieldIndex) => {\n let passesCondition = true\n\n if (!skipConditionChecks) {\n passesCondition = Boolean(\n (field?.admin?.condition\n ? Boolean(field.admin.condition(fullData || {}, data || {}, { user: req.user }))\n : true) && parentPassesCondition,\n )\n }\n\n promises.push(\n addFieldStatePromise({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions: permissions,\n parentSchemaPath,\n passesCondition,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"mappings":"AAeA,SAASA,oBAAoB,QAAQ;AAqDrC;;;AAGA,OAAO,MAAMC,aAAA,GAAgB,MAAAA,CAAO;EAClCC,EAAE;EACFC,oBAAA,EAAsBC,uBAAuB;EAC7CC,kBAAA,GAAqB,KAAK;EAC1BC,oBAAoB;EACpBC,cAAc;EACdC,IAAI;EACJC,MAAM;EACNC,cAAc;EACdC,MAAM;EACNC,cAAA,GAAiB,KAAK;EACtBC,QAAQ;EACRC,aAAA,GAAgB,KAAK;EACrBC,WAAA,GAAc,KAAK;EACnBC,SAAS;EACTC,eAAe;EACfC,qBAAA,GAAwB,IAAI;EAC5BC,UAAU;EACVC,gBAAgB;EAChBC,WAAW;EACXC,WAAW;EACXC,iBAAiB;EACjBC,eAAe;EACfC,aAAA,EAAeA,aAAa;EAC5BC,GAAG;EACHC,mBAAA,GAAsB,KAAK;EAC3BC,cAAA,GAAiB,KAAK;EACtBC,KAAA,GAAQ,CAAC;AAAC,CACL;EACL,MAAMC,QAAA,GAAW,EAAE;EAEnBrB,MAAA,CAAOsB,OAAO,CAAC,CAACC,KAAA,EAAOC,UAAA;IACrB,IAAIC,eAAA,GAAkB;IAEtB,IAAI,CAACP,mBAAA,EAAqB;MACxBO,eAAA,GAAkBC,OAAA,CAChB,CAACH,KAAA,EAAOI,KAAA,EAAOC,SAAA,GACXF,OAAA,CAAQH,KAAA,CAAMI,KAAK,CAACC,SAAS,CAACxB,QAAA,IAAY,CAAC,GAAGL,IAAA,IAAQ,CAAC,GAAG;QAAE8B,IAAA,EAAMZ,GAAA,CAAIY;MAAK,MAC3E,IAAG,KAAMpB,qBAAA;IAEjB;IAEAY,QAAA,CAASS,IAAI,CACXvC,oBAAA,CAAqB;MACnBE,EAAA;MACAC,oBAAA,EAAsBC,uBAAA;MACtBC,kBAAA;MACAC,oBAAA;MACAC,cAAA;MACAC,IAAA;MACAwB,KAAA;MACAC,UAAA;MACAvB,cAAA;MACAC,MAAA;MACAC,cAAA;MACAC,QAAA;MACAC,aAAA;MACAC,WAAA;MACAC,SAAA;MACAC,eAAA;MACAE,UAAA;MACAqB,iBAAA,EAAmBnB,WAAA;MACnBD,gBAAA;MACAc,eAAA;MACAZ,WAAA;MACAC,iBAAA;MACAC,eAAA;MACAC,aAAA;MACAC,GAAA;MACAC,mBAAA;MACAC,cAAA;MACAC;IACF;EAEJ;EAEA,MAAMY,OAAA,CAAQC,GAAG,CAACZ,QAAA;AACpB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"renderField.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcnD,eAAO,MAAM,WAAW,EAAE,iBAoOzB,CAAA"}
1
+ {"version":3,"file":"renderField.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcnD,eAAO,MAAM,WAAW,EAAE,iBA4OzB,CAAA"}
@@ -4,7 +4,7 @@ import { createClientField, MissingEditorProp } from 'payload';
4
4
  import { fieldIsHiddenOrDisabled } from 'payload/shared';
5
5
  import { RenderServerComponent } from '../../elements/RenderServerComponent/index.js';
6
6
  // eslint-disable-next-line payload/no-imports-from-exports-dir -- need this to reference already existing bundle. Otherwise, bundle size increases., payload/no-imports-from-exports-dir
7
- import { FieldDescription } from '../../exports/client/index.js';
7
+ import { FieldDescription, WatchCondition } from '../../exports/client/index.js';
8
8
  const defaultUIFieldComponentKeys = ['Cell', 'Description', 'Field', 'Filter'];
9
9
  export const renderField = ({
10
10
  id,
@@ -109,11 +109,14 @@ export const renderField = ({
109
109
  if (!fieldConfig.admin.components) {
110
110
  fieldConfig.admin.components = {};
111
111
  }
112
- fieldState.customComponents.Field = RenderServerComponent({
113
- clientProps,
114
- Component: fieldConfig.editor.FieldComponent,
115
- importMap: req.payload.importMap,
116
- serverProps
112
+ fieldState.customComponents.Field = /*#__PURE__*/_jsx(WatchCondition, {
113
+ path: path,
114
+ children: RenderServerComponent({
115
+ clientProps,
116
+ Component: fieldConfig.editor.FieldComponent,
117
+ importMap: req.payload.importMap,
118
+ serverProps
119
+ })
117
120
  });
118
121
  break;
119
122
  }
@@ -200,12 +203,15 @@ export const renderField = ({
200
203
  });
201
204
  }
202
205
  if ('Field' in fieldConfig.admin.components) {
203
- fieldState.customComponents.Field = RenderServerComponent({
204
- clientProps,
205
- Component: fieldConfig.admin.components.Field,
206
- importMap: req.payload.importMap,
207
- key: 'field.admin.components.Field',
208
- serverProps
206
+ fieldState.customComponents.Field = /*#__PURE__*/_jsx(WatchCondition, {
207
+ path: path,
208
+ children: RenderServerComponent({
209
+ clientProps,
210
+ Component: fieldConfig.admin.components.Field,
211
+ importMap: req.payload.importMap,
212
+ key: 'field.admin.components.Field',
213
+ serverProps
214
+ })
209
215
  });
210
216
  }
211
217
  }
@@ -1 +1 @@
1
- {"version":3,"file":"renderField.js","names":["getTranslation","createClientField","MissingEditorProp","fieldIsHiddenOrDisabled","RenderServerComponent","FieldDescription","defaultUIFieldComponentKeys","renderField","id","clientFieldSchemaMap","collectionSlug","data","fieldConfig","fieldSchemaMap","fieldState","formState","indexPath","operation","parentPath","parentSchemaPath","path","permissions","preferences","req","schemaPath","siblingData","clientField","get","defaultIDType","payload","config","db","field","i18n","importMap","clientProps","customComponents","readOnly","includes","type","serverProps","user","rows","forEach","row","rowIndex","admin","components","RowLabels","Component","RowLabel","rowLabel","labels","singular","String","padStart","rowNumber","editor","Error","Field","FieldComponent","key","description","Description","_jsx","t","AfterInput","afterInput","BeforeInput","beforeInput","Label"],"sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"sourcesContent":["import type { ClientComponentProps, ClientField, FieldPaths, ServerComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createClientField, MissingEditorProp } from 'payload'\nimport { fieldIsHiddenOrDisabled } from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- need this to reference already existing bundle. Otherwise, bundle size increases., payload/no-imports-from-exports-dir\nimport { FieldDescription } from '../../exports/client/index.js'\n\nconst defaultUIFieldComponentKeys: Array<'Cell' | 'Description' | 'Field' | 'Filter'> = [\n 'Cell',\n 'Description',\n 'Field',\n 'Filter',\n]\n\nexport const renderField: RenderFieldMethod = ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fieldConfig,\n fieldSchemaMap,\n fieldState,\n formState,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n preferences,\n req,\n schemaPath,\n siblingData,\n}) => {\n const clientField = clientFieldSchemaMap\n ? (clientFieldSchemaMap.get(schemaPath) as ClientField)\n : createClientField({\n defaultIDType: req.payload.config.db.defaultIDType,\n field: fieldConfig,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n })\n\n if (fieldIsHiddenOrDisabled(clientField)) {\n return\n }\n\n const clientProps: ClientComponentProps & Partial<FieldPaths> = {\n customComponents: fieldState?.customComponents || {},\n field: clientField,\n path,\n readOnly: typeof permissions === 'boolean' ? !permissions : !permissions?.[operation],\n schemaPath,\n }\n\n // fields with subfields\n if (['array', 'blocks', 'collapsible', 'group', 'row', 'tabs'].includes(fieldConfig.type)) {\n clientProps.indexPath = indexPath\n clientProps.parentPath = parentPath\n clientProps.parentSchemaPath = parentSchemaPath\n }\n\n const serverProps: ServerComponentProps = {\n id,\n clientField,\n clientFieldSchemaMap,\n data,\n field: fieldConfig,\n fieldSchemaMap,\n permissions,\n // TODO: Should we pass explicit values? initialValue, value, valid\n // value and initialValue should be typed\n collectionSlug,\n formState,\n i18n: req.i18n,\n operation,\n payload: req.payload,\n preferences,\n req,\n siblingData,\n user: req.user,\n }\n\n if (!fieldState?.customComponents) {\n fieldState.customComponents = {}\n }\n\n switch (fieldConfig.type) {\n // TODO: handle block row labels as well in a similar fashion\n case 'array': {\n fieldState?.rows?.forEach((row, rowIndex) => {\n if (fieldConfig.admin?.components && 'RowLabel' in fieldConfig.admin.components) {\n if (!fieldState.customComponents.RowLabels) {\n fieldState.customComponents.RowLabels = []\n }\n\n fieldState.customComponents.RowLabels[rowIndex] = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.RowLabel,\n importMap: req.payload.importMap,\n serverProps: {\n ...serverProps,\n rowLabel: `${getTranslation(fieldConfig.labels.singular, req.i18n)} ${String(\n rowIndex + 1,\n ).padStart(2, '0')}`,\n rowNumber: rowIndex + 1,\n },\n })\n }\n })\n\n break\n }\n\n case 'richText': {\n if (!fieldConfig?.editor) {\n throw new MissingEditorProp(fieldConfig) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof fieldConfig?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!fieldConfig.admin) {\n fieldConfig.admin = {}\n }\n\n if (!fieldConfig.admin.components) {\n fieldConfig.admin.components = {}\n }\n\n fieldState.customComponents.Field = RenderServerComponent({\n clientProps,\n Component: fieldConfig.editor.FieldComponent,\n importMap: req.payload.importMap,\n serverProps,\n })\n\n break\n }\n\n case 'ui': {\n if (fieldConfig?.admin?.components) {\n // Render any extra, untyped components\n for (const key in fieldConfig.admin.components) {\n if (key in defaultUIFieldComponentKeys) {\n continue\n }\n const Component = fieldConfig.admin.components[key]\n fieldState.customComponents[key] = RenderServerComponent({\n clientProps,\n Component,\n importMap: req.payload.importMap,\n key: `field.admin.components.${key}`,\n serverProps,\n })\n }\n }\n break\n }\n\n default: {\n break\n }\n }\n\n if (fieldConfig.admin) {\n if ('description' in fieldConfig.admin) {\n if (typeof fieldConfig.admin?.description === 'function') {\n fieldState.customComponents.Description = (\n <FieldDescription\n description={fieldConfig.admin?.description({\n t: req.i18n.t,\n })}\n path={path}\n />\n )\n }\n }\n\n if (fieldConfig.admin?.components) {\n if ('afterInput' in fieldConfig.admin.components) {\n fieldState.customComponents.AfterInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.afterInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.afterInput',\n serverProps,\n })\n }\n\n if ('beforeInput' in fieldConfig.admin.components) {\n fieldState.customComponents.BeforeInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.beforeInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.beforeInput',\n serverProps,\n })\n }\n\n if ('Description' in fieldConfig.admin.components) {\n fieldState.customComponents.Description = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Description,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Description',\n serverProps,\n })\n }\n\n if ('Error' in fieldConfig.admin.components) {\n fieldState.customComponents.Error = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Error,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Error',\n serverProps,\n })\n }\n\n if ('Label' in fieldConfig.admin.components) {\n fieldState.customComponents.Label = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Label,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Label',\n serverProps,\n })\n }\n\n if ('Field' in fieldConfig.admin.components) {\n fieldState.customComponents.Field = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Field,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Field',\n serverProps,\n })\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"renderField.js","names":["getTranslation","createClientField","MissingEditorProp","fieldIsHiddenOrDisabled","RenderServerComponent","FieldDescription","WatchCondition","defaultUIFieldComponentKeys","renderField","id","clientFieldSchemaMap","collectionSlug","data","fieldConfig","fieldSchemaMap","fieldState","formState","indexPath","operation","parentPath","parentSchemaPath","path","permissions","preferences","req","schemaPath","siblingData","clientField","get","defaultIDType","payload","config","db","field","i18n","importMap","clientProps","customComponents","readOnly","includes","type","serverProps","user","rows","forEach","row","rowIndex","admin","components","RowLabels","Component","RowLabel","rowLabel","labels","singular","String","padStart","rowNumber","editor","Error","Field","_jsx","FieldComponent","key","description","Description","t","AfterInput","afterInput","BeforeInput","beforeInput","Label"],"sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"sourcesContent":["import type { ClientComponentProps, ClientField, FieldPaths, ServerComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createClientField, MissingEditorProp } from 'payload'\nimport { fieldIsHiddenOrDisabled } from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- need this to reference already existing bundle. Otherwise, bundle size increases., payload/no-imports-from-exports-dir\nimport { FieldDescription, WatchCondition } from '../../exports/client/index.js'\n\nconst defaultUIFieldComponentKeys: Array<'Cell' | 'Description' | 'Field' | 'Filter'> = [\n 'Cell',\n 'Description',\n 'Field',\n 'Filter',\n]\n\nexport const renderField: RenderFieldMethod = ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fieldConfig,\n fieldSchemaMap,\n fieldState,\n formState,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n preferences,\n req,\n schemaPath,\n siblingData,\n}) => {\n const clientField = clientFieldSchemaMap\n ? (clientFieldSchemaMap.get(schemaPath) as ClientField)\n : createClientField({\n defaultIDType: req.payload.config.db.defaultIDType,\n field: fieldConfig,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n })\n\n if (fieldIsHiddenOrDisabled(clientField)) {\n return\n }\n\n const clientProps: ClientComponentProps & Partial<FieldPaths> = {\n customComponents: fieldState?.customComponents || {},\n field: clientField,\n path,\n readOnly: typeof permissions === 'boolean' ? !permissions : !permissions?.[operation],\n schemaPath,\n }\n\n // fields with subfields\n if (['array', 'blocks', 'collapsible', 'group', 'row', 'tabs'].includes(fieldConfig.type)) {\n clientProps.indexPath = indexPath\n clientProps.parentPath = parentPath\n clientProps.parentSchemaPath = parentSchemaPath\n }\n\n const serverProps: ServerComponentProps = {\n id,\n clientField,\n clientFieldSchemaMap,\n data,\n field: fieldConfig,\n fieldSchemaMap,\n permissions,\n // TODO: Should we pass explicit values? initialValue, value, valid\n // value and initialValue should be typed\n collectionSlug,\n formState,\n i18n: req.i18n,\n operation,\n payload: req.payload,\n preferences,\n req,\n siblingData,\n user: req.user,\n }\n\n if (!fieldState?.customComponents) {\n fieldState.customComponents = {}\n }\n\n switch (fieldConfig.type) {\n // TODO: handle block row labels as well in a similar fashion\n case 'array': {\n fieldState?.rows?.forEach((row, rowIndex) => {\n if (fieldConfig.admin?.components && 'RowLabel' in fieldConfig.admin.components) {\n if (!fieldState.customComponents.RowLabels) {\n fieldState.customComponents.RowLabels = []\n }\n\n fieldState.customComponents.RowLabels[rowIndex] = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.RowLabel,\n importMap: req.payload.importMap,\n serverProps: {\n ...serverProps,\n rowLabel: `${getTranslation(fieldConfig.labels.singular, req.i18n)} ${String(\n rowIndex + 1,\n ).padStart(2, '0')}`,\n rowNumber: rowIndex + 1,\n },\n })\n }\n })\n\n break\n }\n\n case 'richText': {\n if (!fieldConfig?.editor) {\n throw new MissingEditorProp(fieldConfig) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof fieldConfig?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!fieldConfig.admin) {\n fieldConfig.admin = {}\n }\n\n if (!fieldConfig.admin.components) {\n fieldConfig.admin.components = {}\n }\n\n fieldState.customComponents.Field = (\n <WatchCondition path={path}>\n {RenderServerComponent({\n clientProps,\n Component: fieldConfig.editor.FieldComponent,\n importMap: req.payload.importMap,\n serverProps,\n })}\n </WatchCondition>\n )\n\n break\n }\n\n case 'ui': {\n if (fieldConfig?.admin?.components) {\n // Render any extra, untyped components\n for (const key in fieldConfig.admin.components) {\n if (key in defaultUIFieldComponentKeys) {\n continue\n }\n const Component = fieldConfig.admin.components[key]\n fieldState.customComponents[key] = RenderServerComponent({\n clientProps,\n Component,\n importMap: req.payload.importMap,\n key: `field.admin.components.${key}`,\n serverProps,\n })\n }\n }\n break\n }\n\n default: {\n break\n }\n }\n\n if (fieldConfig.admin) {\n if ('description' in fieldConfig.admin) {\n if (typeof fieldConfig.admin?.description === 'function') {\n fieldState.customComponents.Description = (\n <FieldDescription\n description={fieldConfig.admin?.description({\n t: req.i18n.t,\n })}\n path={path}\n />\n )\n }\n }\n\n if (fieldConfig.admin?.components) {\n if ('afterInput' in fieldConfig.admin.components) {\n fieldState.customComponents.AfterInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.afterInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.afterInput',\n serverProps,\n })\n }\n\n if ('beforeInput' in fieldConfig.admin.components) {\n fieldState.customComponents.BeforeInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.beforeInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.beforeInput',\n serverProps,\n })\n }\n\n if ('Description' in fieldConfig.admin.components) {\n fieldState.customComponents.Description = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Description,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Description',\n serverProps,\n })\n }\n\n if ('Error' in fieldConfig.admin.components) {\n fieldState.customComponents.Error = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Error,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Error',\n serverProps,\n })\n }\n\n if ('Label' in fieldConfig.admin.components) {\n fieldState.customComponents.Label = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Label,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Label',\n serverProps,\n })\n }\n\n if ('Field' in fieldConfig.admin.components) {\n fieldState.customComponents.Field = (\n <WatchCondition path={path}>\n {RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Field,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Field',\n serverProps,\n })}\n </WatchCondition>\n )\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpD,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AAiBlC;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,WAAY,OAAO,KAAG,SAAS,CAAC,MAAM,CAoMpE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpD,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AAiBlC;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,WAAY,OAAO,KAAG,SAAS,CAAC,MAAM,CAgMpE,CAAA"}
@@ -104,11 +104,6 @@ export const useField = options => {
104
104
  t2 = $[8];
105
105
  }
106
106
  const setValue = t2;
107
- field?.errorMessage;
108
- field?.rows;
109
- field?.valid;
110
- field?.errorPaths;
111
- field?.customComponents;
112
107
  let t3;
113
108
  const t4 = field?.customComponents;
114
109
  const t5 = field?.errorMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useForm","useFormFields","useFormInitializing","useFormModified","useFormProcessing","useFormSubmitted","useField","options","$","disableFormData","t0","hasRows","path","validate","undefined","submitted","processing","initializing","user","id","collectionSlug","operation","t1","t2","fields","dispatch","dispatchField","field","t","config","getData","getDataByPath","getSiblingData","setModified","modified","filterOptions","value","initialValue","valid","showError","prevValid","prevErrorMessage","errorMessage","e","t3","disableModifyingForm","val","target","type","setTimeout","setValue","rows","errorPaths","customComponents","t4","t5","t6","t7","t8","t9","formInitializing","formProcessing","formSubmitted","result","t10","validateField","valueToValidate","Array","isArray","current","valid_0","isValid","data","preferences","req","payload","siblingData","update","t11","t12"],"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 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, field } = useFormFields(([fields, dispatch]) => ({\n dispatchField: dispatch,\n field: (fields && fields?.[path]) || null,\n }))\n\n const { t } = useTranslation()\n const { config } = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\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?.errorMessage,\n field?.rows,\n field?.valid,\n field?.errorPaths,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n filterOptions,\n initializing,\n field?.customComponents,\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 isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n collectionSlug,\n data: getData(),\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","useForm","useFormFields","useFormInitializing","useFormModified","useFormProcessing","useFormSubmitted","useField","options","$","disableFormData","t0","hasRows","path","validate","undefined","submitted","processing","initializing","user","id","collectionSlug","operation","t1","t2","fields","dispatch","dispatchField","field","t","config","getData","getDataByPath","getSiblingData","setModified","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","isValid","data","preferences","req","payload","siblingData","update","t11","t12"],"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 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, field } = useFormFields(([fields, dispatch]) => ({\n dispatchField: dispatch,\n field: (fields && fields?.[path]) || null,\n }))\n\n const { t } = useTranslation()\n const { config } = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\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 isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n collectionSlug,\n data: getData(),\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":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,WAAW,EAAEC,OAAO,EAAEC,MAAM,QAAQ;AAO7C,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SACEC,OAAO,EACPC,aAAa,EACbC,mBAAmB,EACnBC,eAAe,EACfC,iBAAiB,EACjBC,gBAAgB,QACX;AAEP;;;;;AAKA,OAAO,MAAMC,QAAA,GAAWC,OAAA;EAAA,MAAAC,CAAA,GAAAlB,EAAA;EACtB;IAAAmB,eAAA,EAAAC,EAAA;IAAAC,OAAA;IAAAC,IAAA;IAAAC;EAAA,IAA6DN,OAAA;EAArD,MAAAE,eAAA,GAAAC,EAAuB,KAAAI,SAAA,WAAvBJ,EAAuB;EAE/B,MAAAK,SAAA,GAAkBV,gBAAA;EAClB,MAAAW,UAAA,GAAmBZ,iBAAA;EACnB,MAAAa,YAAA,GAAqBf,mBAAA;EACrB;IAAAgB;EAAA,IAAiBvB,OAAA;EACjB;IAAAwB,EAAA;IAAAC;EAAA,IAA+BvB,eAAA;EAC/B,MAAAwB,SAAA,GAAkBvB,YAAA;EAAA,IAAAwB,EAAA;EAAA,IAAAd,CAAA,QAAAI,IAAA;IAE6BU,EAAA,GAAAC,EAAA;MAAC,OAAAC,MAAA,EAAAC,QAAA,IAAAF,EAAkB;MAAA;QAAAG,aAAA,EACjDD,QAAA;QAAAE,KAAA,EACRH,MAAC,IAAUA,MAAA,GAASZ,IAAA,CAAK;MAAK;IAAA;IACvCJ,CAAA,MAAAI,IAAA;IAAAJ,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAHA;IAAAkB,aAAA;IAAAC;EAAA,IAAiC1B,aAAA,CAAcqB,EAG/C;EAEA;IAAAM;EAAA,IAAc7B,cAAA;EACd;IAAA8B;EAAA,IAAmBjC,SAAA;EAEnB;IAAAkC,OAAA;IAAAC,aAAA;IAAAC,cAAA;IAAAC;EAAA,IAAgEjC,OAAA;EAChE,MAAAkC,QAAA,GAAiB/B,eAAA;EAEjB,MAAAgC,aAAA,GAAsBR,KAAA,EAAAQ,aAAA;EACtB,MAAAC,KAAA,GAAcT,KAAA,EAAAS,KAAA;EACd,MAAAC,YAAA,GAAqBV,KAAA,EAAAU,YAAA;EACrB,MAAAC,KAAA,GAAc,OAAOX,KAAA,EAAAW,KAAA,KAAiB,YAAYX,KAAA,CAAAW,KAAA,OAAc;EAChE,MAAAC,SAAA,GAAkBD,KAAA,UAAU,IAASvB,SAAA;EAErC,MAAAyB,SAAA,GAAkB/C,MAAA,CAAO6C,KAAA;EACzB,MAAAG,gBAAA,GAAyBhD,MAAA,CAAOkC,KAAA,EAAAe,YAAO;EAAA,IAAAnB,EAAA;EAAA,IAAAf,CAAA,QAAAC,eAAA,IAAAD,CAAA,QAAAkB,aAAA,IAAAlB,CAAA,QAAAG,OAAA,IAAAH,CAAA,QAAA0B,QAAA,IAAA1B,CAAA,QAAAI,IAAA,IAAAJ,CAAA,QAAAyB,WAAA;IAKrCV,EAAA,GAAAA,CAAAoB,CAAA,EAAAC,EAAA;MAAI,MAAAC,oBAAA,GAAAD,EAA4B,KAAA9B,SAAA,WAA5B8B,EAA4B;MAC9B,MAAAE,GAAA,GAAYH,CAAA,IAAKA,CAAA,CAAAI,MAAQ,GAAGJ,CAAA,CAAAI,MAAA,CAAAX,KAAA,GAAiBO,CAAA;MAC7CjB,aAAA;QAAAsB,IAAA,EACQ;QAAAvC,eAAA,EACWA,eAAA,IAAoBE,OAAA,IAAWmC,GAAA,IAAM;QAAAlC,IAAA;QAAAwB,KAAA,EAE/CU;MAAA,CACT;MAAA,KAEKD,oBAAA;QAAA,IACC,OAAOZ,WAAA,KAAgB;UAAA,IAcrBC,QAAA,UAAa;YAGfe,UAAA;cACEhB,WAAA,KAAY;YAAA,KACX;UAAA;QAAA;MAAA;IAAA;IAIXzB,CAAA,MAAAC,eAAA;IAAAD,CAAA,MAAAkB,aAAA;IAAAlB,CAAA,MAAAG,OAAA;IAAAH,CAAA,MAAA0B,QAAA;IAAA1B,CAAA,MAAAI,IAAA;IAAAJ,CAAA,MAAAyB,WAAA;IAAAzB,CAAA,MAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAlCF,MAAA0C,QAAA,GAAiB3B,EAmCuD;EAAA,IAAAqB,EAAA;EAOlD,MAAAO,EAAA,GAAAxB,KAAA,EAAAyB,gBAAA;EACJ,MAAAC,EAAA,GAAA1B,KAAA,EAAAe,YAAA;EAAO,IAAAY,EAAA;EAAA,IAAA9C,CAAA,QAAAmB,KAAA,EAAA4B,UAAA;IACTD,EAAA,GAAA3B,KAAA,EAAA4B,UAAA,MAAuB;IAAA/C,CAAA,MAAAmB,KAAA,EAAA4B,UAAA;IAAA/C,CAAA,OAAA8C,EAAA;EAAA;IAAAA,EAAA,GAAA9C,CAAA;EAAA;EAO7B,MAAAgD,EAAA,GAAA7B,KAAA,EAAA8B,IAAA;EAGC,MAAAC,EAAA,GAAA/B,KAAA,EAAAW,KAAA;EAAO,IAAAqB,EAAA;EAAA,IAAAnD,CAAA,SAAA2B,aAAA,IAAA3B,CAAA,SAAA6B,YAAA,IAAA7B,CAAA,SAAAS,YAAA,IAAAT,CAAA,SAAAI,IAAA,IAAAJ,CAAA,SAAAQ,UAAA,IAAAR,CAAA,SAAA0C,QAAA,IAAA1C,CAAA,SAAA+B,SAAA,IAAA/B,CAAA,SAAAO,SAAA,IAAAP,CAAA,SAAA2C,EAAA,IAAA3C,CAAA,SAAA6C,EAAA,IAAA7C,CAAA,SAAA8C,EAAA,IAAA9C,CAAA,SAAAgD,EAAA,IAAAhD,CAAA,SAAAkD,EAAA,IAAAlD,CAAA,SAAA4B,KAAA;IAbTuB,EAAA;MAAAP,gBAAA,EACaD,EAAO;MAAAT,YAAA,EACXW,EAAO;MAAAE,UAAA,EACTD,EAAuB;MAAAnB,aAAA;MAAAyB,gBAAA,EAEjB3C,YAAA;MAAA4C,cAAA,EACF7C,UAAA;MAAA8C,aAAA,EACD/C,SAAA;MAAAsB,YAAA;MAAAzB,IAAA;MAAA6C,IAAA,EAGTD,EAAO;MAAAN,QAAA;MAAAX,SAAA;MAAAD,KAAA,EAGNoB,EAAO;MAAAtB;IAAA;IAEhB5B,CAAA,OAAA2B,aAAA;IAAA3B,CAAA,OAAA6B,YAAA;IAAA7B,CAAA,OAAAS,YAAA;IAAAT,CAAA,OAAAI,IAAA;IAAAJ,CAAA,OAAAQ,UAAA;IAAAR,CAAA,OAAA0C,QAAA;IAAA1C,CAAA,OAAA+B,SAAA;IAAA/B,CAAA,OAAAO,SAAA;IAAAP,CAAA,OAAA2C,EAAA;IAAA3C,CAAA,OAAA6C,EAAA;IAAA7C,CAAA,OAAA8C,EAAA;IAAA9C,CAAA,OAAAgD,EAAA;IAAAhD,CAAA,OAAAkD,EAAA;IAAAlD,CAAA,OAAA4B,KAAA;IAAA5B,CAAA,OAAAmD,EAAA;EAAA;IAAAA,EAAA,GAAAnD,CAAA;EAAA;EAAAoC,EAAA,GAfOe,EAeP;EAhBF,MAAAI,MAAA,GAAkCnB,EA4B/B;EAAA,IAAAoB,GAAA;EAAA,IAAAxD,CAAA,SAAAY,cAAA,IAAAZ,CAAA,SAAAqB,MAAA,IAAArB,CAAA,SAAAC,eAAA,IAAAD,CAAA,SAAAkB,aAAA,IAAAlB,CAAA,SAAAmB,KAAA,IAAAnB,CAAA,SAAAsB,OAAA,IAAAtB,CAAA,SAAAuB,aAAA,IAAAvB,CAAA,SAAAwB,cAAA,IAAAxB,CAAA,SAAAG,OAAA,IAAAH,CAAA,SAAAW,EAAA,IAAAX,CAAA,SAAAa,SAAA,IAAAb,CAAA,SAAAI,IAAA,IAAAJ,CAAA,SAAAoB,CAAA,IAAApB,CAAA,SAAAU,IAAA,IAAAV,CAAA,SAAAK,QAAA,IAAAL,CAAA,SAAA4B,KAAA;IAKD4B,GAAA,GAAAA,CAAA;MACE,MAAAC,aAAA,SAAAA,CAAA;QACE,IAAAC,eAAA,GAAsB9B,KAAA;QAAA,IAElBT,KAAA,EAAA8B,IAAA,IAAeU,KAAA,CAAAC,OAAA,CAAczC,KAAA,CAAA8B,IAAU;UACzCS,eAAA,CAAAA,CAAA,CAAkBnC,aAAA,CAAcnB,IAAA;QAAhC;QAGF,IAAA8B,YAAA,GAAuCD,gBAAA,CAAA4B,OAAA;QACvC,IAAAC,OAAA,GAA8B9B,SAAA,CAAA6B,OAAA;QAE9B,MAAAE,OAAA,GACE,OAAO1D,QAAA,KAAa,mBACVA,QAAA,CAASqD,eAAA;UAAA/C,EAAA;UAAAC,cAAA;UAAAoD,IAAA,EAGP1C,OAAA;UAAAT,SAAA;UAAAoD,WAAA;UAAAC,GAAA;YAAAC,OAAA;cAAA9C;YAAA;YAAAD,CAAA;YAAAV;UAAA;UAAA0D,WAAA,EAUO5C,cAAA,CAAepB,IAAA;QAAA,CAC9B,IACA,OAAO6B,gBAAA,CAAA4B,OAAA,KAA6B,WAClC5B,gBAAA,CAAA4B,OAAA,GACA7B,SAAA,CAAA6B,OAAiB;QAAA,IAErB,OAAOE,OAAA,KAAY;UACrBjC,OAAA,CAAAA,CAAA,CAAAA,KAAA;UACAI,YAAA,CAAAA,CAAA,CAAe6B,OAAA;QAAf;UAAA,IACS,OAAOA,OAAA,KAAY;YAC5BjC,OAAA,CAAAA,CAAA,CAAQiC,OAAA;YACR7B,YAAA,CAAAA,CAAA,CAAAA,SAAA;UAAA;QAAA;QAAA,IAKEJ,OAAA,KAAUE,SAAA,CAAA6B,OAAiB,IAAI3B,YAAA,KAAiBD,gBAAA,CAAA4B,OAAwB;UAC1E7B,SAAA,CAAA6B,OAAA,GAAoB/B,OAAA;UACpBG,gBAAA,CAAA4B,OAAA,GAA2B3B,YAAA;UAE3B,MAAAmC,MAAA;YAAA7B,IAAA,EACQ;YAAAN,YAAA;YAAA9B,IAAA;YAAA6C,IAAA,EAGA9B,KAAA,EAAA8B,IAAA;YAAAnB,KAAA,EACNA,OAAA;YAAAzB,QAAA;YAAAuB;UAAA;UAGF,IAEI3B,eAAA,KAAoBE,OAAA,GAAU,OAAOyB,KAAA,KAAU,YAAYA,KAAA,IAAQ,QAAQ;YAC7EyC,MAAA,CAAApE,eAAA;UAAA;UAAA,IAGE,OAAOiB,aAAA,KAAkB;YAC3BA,aAAA,CAAcmD,MAAA;UAAA;QAAA;MAAA;MAKfZ,aAAA;IAAA;IACPzD,CAAA,OAAAY,cAAA;IAAAZ,CAAA,OAAAqB,MAAA;IAAArB,CAAA,OAAAC,eAAA;IAAAD,CAAA,OAAAkB,aAAA;IAAAlB,CAAA,OAAAmB,KAAA;IAAAnB,CAAA,OAAAsB,OAAA;IAAAtB,CAAA,OAAAuB,aAAA;IAAAvB,CAAA,OAAAwB,cAAA;IAAAxB,CAAA,OAAAG,OAAA;IAAAH,CAAA,OAAAW,EAAA;IAAAX,CAAA,OAAAa,SAAA;IAAAb,CAAA,OAAAI,IAAA;IAAAJ,CAAA,OAAAoB,CAAA;IAAApB,CAAA,OAAAU,IAAA;IAAAV,CAAA,OAAAK,QAAA;IAAAL,CAAA,OAAA4B,KAAA;IAAA5B,CAAA,OAAAwD,GAAA;EAAA;IAAAA,GAAA,GAAAxD,CAAA;EAAA;EAcE,MAAAsE,GAAA,GAAAnD,KAAA,EAAA8B,IAAA;EAAO,IAAAsB,GAAA;EAAA,IAAAvE,CAAA,SAAAY,cAAA,IAAAZ,CAAA,SAAAC,eAAA,IAAAD,CAAA,SAAAkB,aAAA,IAAAlB,CAAA,SAAAsB,OAAA,IAAAtB,CAAA,SAAAuB,aAAA,IAAAvB,CAAA,SAAAwB,cAAA,IAAAxB,CAAA,SAAAW,EAAA,IAAAX,CAAA,SAAAa,SAAA,IAAAb,CAAA,SAAAI,IAAA,IAAAJ,CAAA,SAAAsE,GAAA,IAAAtE,CAAA,SAAAU,IAAA,IAAAV,CAAA,SAAAK,QAAA,IAAAL,CAAA,SAAA4B,KAAA;IAZT2C,GAAA,IACE3C,KAAA,EACA3B,eAAA,EACAiB,aAAA,EACAI,OAAA,EACAE,cAAA,EACAD,aAAA,EACAZ,EAAA,EACAE,SAAA,EACAT,IAAA,EACAM,IAAA,EACAL,QAAA,EACAiE,GAAO,EACP1D,cAAA;IACDZ,CAAA,OAAAY,cAAA;IAAAZ,CAAA,OAAAC,eAAA;IAAAD,CAAA,OAAAkB,aAAA;IAAAlB,CAAA,OAAAsB,OAAA;IAAAtB,CAAA,OAAAuB,aAAA;IAAAvB,CAAA,OAAAwB,cAAA;IAAAxB,CAAA,OAAAW,EAAA;IAAAX,CAAA,OAAAa,SAAA;IAAAb,CAAA,OAAAI,IAAA;IAAAJ,CAAA,OAAAsE,GAAA;IAAAtE,CAAA,OAAAU,IAAA;IAAAV,CAAA,OAAAK,QAAA;IAAAL,CAAA,OAAA4B,KAAA;IAAA5B,CAAA,OAAAuE,GAAA;EAAA;IAAAA,GAAA,GAAAvE,CAAA;EAAA;EApFHd,kBAAA,CACEsE,GAmEA,OAEAe,GAcC;EAAA,OAGIhB,MAAA;AAAA,CACT","ignoreList":[]}
@@ -1,7 +1,6 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  export declare const WatchCondition: React.FC<{
3
3
  children: React.ReactNode;
4
- indexPath: string;
5
4
  path: string;
6
5
  }>;
7
6
  //# sourceMappingURL=WatchCondition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WatchCondition.d.ts","sourceRoot":"","sources":["../../../src/forms/withCondition/WatchCondition.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACb,CAYA,CAAA"}
1
+ {"version":3,"file":"WatchCondition.d.ts","sourceRoot":"","sources":["../../../src/forms/withCondition/WatchCondition.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;CACb,CAYA,CAAA"}
@@ -1,11 +1,9 @@
1
1
  'use client';
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- import React, { Fragment } from 'react';
6
4
  import { useFormFields } from '../Form/context.js';
7
5
  export const WatchCondition = props => {
8
- const $ = _c(4);
6
+ const $ = _c(2);
9
7
  const {
10
8
  children,
11
9
  path
@@ -28,16 +26,6 @@ export const WatchCondition = props => {
28
26
  if (passesCondition === false) {
29
27
  return null;
30
28
  }
31
- let t1;
32
- if ($[2] !== children) {
33
- t1 = _jsx(Fragment, {
34
- children
35
- });
36
- $[2] = children;
37
- $[3] = t1;
38
- } else {
39
- t1 = $[3];
40
- }
41
- return t1;
29
+ return children;
42
30
  };
43
31
  //# sourceMappingURL=WatchCondition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WatchCondition.js","names":["c","_c","React","Fragment","useFormFields","WatchCondition","props","$","children","path","t0","t1","fields","field","passesCondition","_jsx"],"sources":["../../../src/forms/withCondition/WatchCondition.tsx"],"sourcesContent":["'use client'\n\nimport React, { Fragment } from 'react'\n\nimport { useFormFields } from '../Form/context.js'\n\nexport const WatchCondition: React.FC<{\n children: React.ReactNode\n indexPath: string\n path: string\n}> = (props) => {\n const { children, path } = props\n\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { passesCondition } = field || {}\n\n if (passesCondition === false) {\n return null\n }\n\n return <Fragment>{children}</Fragment>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,aAAa,QAAQ;AAE9B,OAAO,MAAMC,cAAA,GAIRC,KAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EACH;IAAAO,QAAA;IAAAC;EAAA,IAA2BH,KAAA;EAAA,IAAAI,EAAA;EAAA,IAAAH,CAAA,QAAAE,IAAA;IAECC,EAAA,GAAAC,EAAA;MAAC,OAAAC,MAAA,IAAAD,EAAQ;MAAA,OAAKC,MAAC,IAAUA,MAAA,GAASH,IAAA,CAAK,QAAK;IAAA;IAAAF,CAAA,MAAAE,IAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAxE,MAAAM,KAAA,GAAcT,aAAA,CAAcM,EAA4C;EAExE;IAAAI;EAAA,IAA4BD,KAAA,MAAU;EAAA,IAElCC,eAAA,UAAoB;IAAA;EAAA;EAAA,IAAAH,EAAA;EAAA,IAAAJ,CAAA,QAAAC,QAAA;IAIjBG,EAAA,GAAAI,IAAA,CAAAZ,QAAA;MAAAK;IAAA,C;;;;;;SAAAG,E;CACT","ignoreList":[]}
1
+ {"version":3,"file":"WatchCondition.js","names":["c","_c","useFormFields","WatchCondition","props","$","children","path","t0","t1","fields","field","passesCondition"],"sources":["../../../src/forms/withCondition/WatchCondition.tsx"],"sourcesContent":["'use client'\n\nimport type React from 'react'\n\nimport { useFormFields } from '../Form/context.js'\n\nexport const WatchCondition: React.FC<{\n children: React.ReactNode\n path: string\n}> = (props) => {\n const { children, path } = props\n\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { passesCondition } = field || {}\n\n if (passesCondition === false) {\n return null\n }\n\n return children\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,aAAa,QAAQ;AAE9B,OAAO,MAAMC,cAAA,GAGRC,KAAA;EAAA,MAAAC,CAAA,GAAAJ,EAAA;EACH;IAAAK,QAAA;IAAAC;EAAA,IAA2BH,KAAA;EAAA,IAAAI,EAAA;EAAA,IAAAH,CAAA,QAAAE,IAAA;IAECC,EAAA,GAAAC,EAAA;MAAC,OAAAC,MAAA,IAAAD,EAAQ;MAAA,OAAKC,MAAC,IAAUA,MAAA,GAASH,IAAA,CAAK,QAAK;IAAA;IAAAF,CAAA,MAAAE,IAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAxE,MAAAM,KAAA,GAAcT,aAAA,CAAcM,EAA4C;EAExE;IAAAI;EAAA,IAA4BD,KAAA,MAAU;EAAA,IAElCC,eAAA,UAAoB;IAAA;EAAA;EAAA,OAIjBN,QAAA;AAAA,CACT","ignoreList":[]}
@@ -6,11 +6,9 @@ import { WatchCondition } from './WatchCondition.js';
6
6
  export const withCondition = Field => {
7
7
  const CheckForCondition = props => {
8
8
  const {
9
- indexPath,
10
9
  path
11
10
  } = props;
12
11
  return /*#__PURE__*/_jsx(WatchCondition, {
13
- indexPath: indexPath,
14
12
  path: path,
15
13
  children: /*#__PURE__*/_jsx(Field, {
16
14
  ...props
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","WatchCondition","withCondition","Field","CheckForCondition","props","indexPath","path","_jsx"],"sources":["../../../src/forms/withCondition/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldPaths } from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport React from 'react'\n\nimport { WatchCondition } from './WatchCondition.js'\n\nexport const withCondition = <P extends MarkOptional<FieldPaths, 'indexPath' | 'path'>>(\n Field: React.ComponentType<P>,\n): React.FC<P> => {\n const CheckForCondition: React.FC<P> = (props) => {\n const { indexPath, path } = props\n\n return (\n <WatchCondition indexPath={indexPath} path={path}>\n <Field {...props} />\n </WatchCondition>\n )\n }\n\n return CheckForCondition\n}\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,aAAA,GACXC,KAAA;EAEA,MAAMC,iBAAA,GAAkCC,KAAA;IACtC,MAAM;MAAEC,SAAS;MAAEC;IAAI,CAAE,GAAGF,KAAA;IAE5B,oBACEG,IAAA,CAACP,cAAA;MAAeK,SAAA,EAAWA,SAAA;MAAWC,IAAA,EAAMA,IAAA;gBAC1C,aAAAC,IAAA,CAACL,KAAA;QAAO,GAAGE;;;EAGjB;EAEA,OAAOD,iBAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","WatchCondition","withCondition","Field","CheckForCondition","props","path","_jsx"],"sources":["../../../src/forms/withCondition/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldPaths } from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport React from 'react'\n\nimport { WatchCondition } from './WatchCondition.js'\n\nexport const withCondition = <P extends MarkOptional<FieldPaths, 'indexPath' | 'path'>>(\n Field: React.ComponentType<P>,\n): React.FC<P> => {\n const CheckForCondition: React.FC<P> = (props) => {\n const { path } = props\n\n return (\n <WatchCondition path={path}>\n <Field {...props} />\n </WatchCondition>\n )\n }\n\n return CheckForCondition\n}\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,aAAA,GACXC,KAAA;EAEA,MAAMC,iBAAA,GAAkCC,KAAA;IACtC,MAAM;MAAEC;IAAI,CAAE,GAAGD,KAAA;IAEjB,oBACEE,IAAA,CAACN,cAAA;MAAeK,IAAA,EAAMA,IAAA;gBACpB,aAAAC,IAAA,CAACJ,KAAA;QAAO,GAAGE;;;EAGjB;EAEA,OAAOD,iBAAA;AACT","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A custom React hook to throttle a value so that it updates no more than once every `delay` milliseconds.
3
+ * @param {any} value - The value to be throttled.
4
+ * @param {number} delay - The minimum delay (in milliseconds) between updates.
5
+ * @returns {any} - The throttled value.
6
+ */
7
+ export declare function useThrottledValue(value: any, delay: any): any;
8
+ //# sourceMappingURL=useThrottledValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useThrottledValue.d.ts","sourceRoot":"","sources":["../../src/hooks/useThrottledValue.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA,OAe7C"}
@@ -0,0 +1,21 @@
1
+ import { useEffect, useState } from 'react';
2
+ /**
3
+ * A custom React hook to throttle a value so that it updates no more than once every `delay` milliseconds.
4
+ * @param {any} value - The value to be throttled.
5
+ * @param {number} delay - The minimum delay (in milliseconds) between updates.
6
+ * @returns {any} - The throttled value.
7
+ */
8
+ export function useThrottledValue(value, delay) {
9
+ const [throttledValue, setThrottledValue] = useState(value);
10
+ useEffect(() => {
11
+ const handler = setTimeout(() => {
12
+ setThrottledValue(value);
13
+ }, delay);
14
+ // Cleanup the timeout if the value changes before the delay is completed
15
+ return () => {
16
+ clearTimeout(handler);
17
+ };
18
+ }, [value, delay]);
19
+ return throttledValue;
20
+ }
21
+ //# sourceMappingURL=useThrottledValue.js.map