payload 3.0.0-beta.44 → 3.0.0-beta.46

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 (80) hide show
  1. package/dist/admin/RichText.d.ts +117 -17
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  5. package/dist/auth/operations/forgotPassword.js +1 -2
  6. package/dist/auth/operations/forgotPassword.js.map +1 -1
  7. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  8. package/dist/auth/sendVerificationEmail.js +1 -2
  9. package/dist/auth/sendVerificationEmail.js.map +1 -1
  10. package/dist/bin/generateTypes.d.ts.map +1 -1
  11. package/dist/bin/generateTypes.js +9 -0
  12. package/dist/bin/generateTypes.js.map +1 -1
  13. package/dist/collections/operations/create.d.ts.map +1 -1
  14. package/dist/collections/operations/create.js +1 -2
  15. package/dist/collections/operations/create.js.map +1 -1
  16. package/dist/fields/config/sanitize.d.ts.map +1 -1
  17. package/dist/fields/config/sanitize.js +0 -15
  18. package/dist/fields/config/sanitize.js.map +1 -1
  19. package/dist/fields/config/schema.js +1 -1
  20. package/dist/fields/config/schema.js.map +1 -1
  21. package/dist/fields/config/types.d.ts +14 -2
  22. package/dist/fields/config/types.d.ts.map +1 -1
  23. package/dist/fields/config/types.js.map +1 -1
  24. package/dist/fields/getFieldPaths.d.ts +10 -0
  25. package/dist/fields/getFieldPaths.d.ts.map +1 -0
  26. package/dist/fields/getFieldPaths.js +45 -0
  27. package/dist/fields/getFieldPaths.js.map +1 -0
  28. package/dist/fields/hooks/afterChange/index.d.ts +6 -0
  29. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  30. package/dist/fields/hooks/afterChange/index.js +2 -0
  31. package/dist/fields/hooks/afterChange/index.js.map +1 -1
  32. package/dist/fields/hooks/afterChange/promise.d.ts +9 -1
  33. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  34. package/dist/fields/hooks/afterChange/promise.js +67 -3
  35. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  36. package/dist/fields/hooks/afterChange/traverseFields.d.ts +3 -1
  37. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  38. package/dist/fields/hooks/afterChange/traverseFields.js +3 -1
  39. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  40. package/dist/fields/hooks/afterRead/index.d.ts +1 -1
  41. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  42. package/dist/fields/hooks/afterRead/index.js +3 -1
  43. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  44. package/dist/fields/hooks/afterRead/promise.d.ts +9 -1
  45. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  46. package/dist/fields/hooks/afterRead/promise.js +129 -25
  47. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  48. package/dist/fields/hooks/afterRead/traverseFields.d.ts +3 -1
  49. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  50. package/dist/fields/hooks/afterRead/traverseFields.js +3 -1
  51. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  52. package/dist/fields/hooks/beforeChange/index.d.ts +1 -1
  53. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  54. package/dist/fields/hooks/beforeChange/index.js +3 -2
  55. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  56. package/dist/fields/hooks/beforeChange/promise.d.ts +9 -2
  57. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  58. package/dist/fields/hooks/beforeChange/promise.js +77 -10
  59. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  60. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +4 -3
  61. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  62. package/dist/fields/hooks/beforeChange/traverseFields.js +4 -3
  63. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  64. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  65. package/dist/fields/hooks/beforeValidate/index.js +2 -0
  66. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  67. package/dist/fields/hooks/beforeValidate/promise.d.ts +3 -1
  68. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  69. package/dist/fields/hooks/beforeValidate/promise.js +69 -4
  70. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  71. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +3 -1
  72. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  73. package/dist/fields/hooks/beforeValidate/traverseFields.js +3 -1
  74. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  75. package/dist/uploads/generateFileData.d.ts.map +1 -1
  76. package/dist/uploads/generateFileData.js +16 -11
  77. package/dist/uploads/generateFileData.js.map +1 -1
  78. package/dist/uploads/imageResizer.js +1 -1
  79. package/dist/uploads/imageResizer.js.map +1 -1
  80. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/config/sanitize.ts"],"sourcesContent":["import type { Config, SanitizedConfig } from '../../config/types.js'\nimport type { Field } from './types.js'\n\nimport { MissingEditorProp } from '../../errors/MissingEditorProp.js'\nimport {\n DuplicateFieldName,\n InvalidFieldName,\n InvalidFieldRelationship,\n MissingFieldType,\n} from '../../errors/index.js'\nimport { deepMerge } from '../../utilities/deepMerge.js'\nimport { formatLabels, toWords } from '../../utilities/formatLabels.js'\nimport { baseBlockFields } from '../baseFields/baseBlockFields.js'\nimport { baseIDField } from '../baseFields/baseIDField.js'\nimport { setDefaultBeforeDuplicate } from '../setDefaultBeforeDuplicate.js'\nimport validations from '../validations.js'\nimport { fieldAffectsData, tabHasName } from './types.js'\n\ntype Args = {\n config: Config\n existingFieldNames?: Set<string>\n fields: Field[]\n /**\n * If true, a richText field will require an editor property to be set, as the sanitizeFields function will not add it from the payload config if not present.\n *\n * @default false\n */\n requireFieldLevelRichTextEditor?: boolean\n /**\n * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises\n * so that you can sanitize them together, after the config has been sanitized.\n */\n richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>\n\n /**\n * If not null, will validate that upload and relationship fields do not relate to a collection that is not in this array.\n * This validation will be skipped if validRelationships is null.\n */\n validRelationships: null | string[]\n}\n\nexport const sanitizeFields = async ({\n config,\n existingFieldNames = new Set(),\n fields,\n requireFieldLevelRichTextEditor = false,\n richTextSanitizationPromises,\n validRelationships,\n}: Args): Promise<Field[]> => {\n if (!fields) return []\n\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i]\n\n if (!field.type) throw new MissingFieldType(field)\n\n // assert that field names do not contain forbidden characters\n if (fieldAffectsData(field) && field.name.includes('.')) {\n throw new InvalidFieldName(field, field.name)\n }\n\n // Auto-label\n if (\n 'name' in field &&\n field.name &&\n typeof field.label !== 'object' &&\n typeof field.label !== 'string' &&\n typeof field.label !== 'function' &&\n field.label !== false\n ) {\n field.label = toWords(field.name)\n }\n\n if (\n field.type === 'checkbox' &&\n typeof field.defaultValue === 'undefined' &&\n field.required === true\n ) {\n field.defaultValue = false\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n if (validRelationships) {\n const relationships = Array.isArray(field.relationTo)\n ? field.relationTo\n : [field.relationTo]\n relationships.forEach((relationship: string) => {\n if (!validRelationships.includes(relationship)) {\n throw new InvalidFieldRelationship(field, relationship)\n }\n })\n }\n\n if (field.type === 'relationship') {\n if (field.min && !field.minRows) {\n console.warn(\n `(payload): The \"min\" property is deprecated for the Relationship field \"${field.name}\" and will be removed in a future version. Please use \"minRows\" instead.`,\n )\n }\n if (field.max && !field.maxRows) {\n console.warn(\n `(payload): The \"max\" property is deprecated for the Relationship field \"${field.name}\" and will be removed in a future version. Please use \"maxRows\" instead.`,\n )\n }\n field.minRows = field.minRows || field.min\n field.maxRows = field.maxRows || field.max\n }\n }\n\n if (field.type === 'blocks' && field.blocks) {\n field.blocks = field.blocks.map((block) => ({\n ...block,\n fields: block.fields.concat(baseBlockFields),\n }))\n }\n\n if (field.type === 'array' && field.fields) {\n field.fields.push(baseIDField)\n }\n\n if ((field.type === 'blocks' || field.type === 'array') && field.label) {\n field.labels = field.labels || formatLabels(field.name)\n }\n\n if (fieldAffectsData(field)) {\n if (existingFieldNames.has(field.name)) {\n throw new DuplicateFieldName(field.name)\n } else if (!['blockName', 'id'].includes(field.name)) {\n existingFieldNames.add(field.name)\n }\n\n if (field.localized && !config.localization) delete field.localized\n\n if (typeof field.validate === 'undefined') {\n const defaultValidate = validations[field.type]\n if (defaultValidate) {\n field.validate = (val, options) => defaultValidate(val, { ...field, ...options })\n } else {\n field.validate = () => true\n }\n }\n\n if (!field.hooks) field.hooks = {}\n if (!field.access) field.access = {}\n\n setDefaultBeforeDuplicate(field)\n }\n\n if (!field.admin) {\n field.admin = {}\n }\n\n // Make sure that the richText field has an editor\n if (field.type === 'richText') {\n const sanitizeRichText = async (_config: SanitizedConfig) => {\n if (!field.editor) {\n if (_config.editor && !requireFieldLevelRichTextEditor) {\n // config.editor should be sanitized at this point\n field.editor = _config.editor\n } else {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n }\n\n if (typeof field.editor === 'function') {\n field.editor = await field.editor({\n config: _config,\n isRoot: requireFieldLevelRichTextEditor,\n })\n }\n\n if (field.editor.i18n && Object.keys(field.editor.i18n).length >= 0) {\n config.i18n.translations = deepMerge(config.i18n.translations, field.editor.i18n)\n }\n\n // Add editor adapter hooks to field hooks\n if (!field.hooks) field.hooks = {}\n\n const mergeHooks = (hookName: keyof typeof field.editor.hooks) => {\n if (typeof field.editor === 'function') return\n\n if (field.editor?.hooks?.[hookName]?.length) {\n field.hooks[hookName] = field.hooks[hookName]\n ? field.hooks[hookName].concat(field.editor.hooks[hookName])\n : [...field.editor.hooks[hookName]]\n }\n }\n\n mergeHooks('afterRead')\n mergeHooks('afterChange')\n mergeHooks('beforeChange')\n mergeHooks('beforeValidate')\n mergeHooks('beforeDuplicate')\n }\n if (richTextSanitizationPromises) {\n richTextSanitizationPromises.push(sanitizeRichText)\n } else {\n await sanitizeRichText(config as unknown as SanitizedConfig)\n }\n }\n\n if ('fields' in field && field.fields) {\n field.fields = await sanitizeFields({\n config,\n existingFieldNames: fieldAffectsData(field) ? new Set() : existingFieldNames,\n fields: field.fields,\n requireFieldLevelRichTextEditor,\n richTextSanitizationPromises,\n validRelationships,\n })\n }\n\n if (field.type === 'tabs') {\n for (let j = 0; j < field.tabs.length; j++) {\n const tab = field.tabs[j]\n if (tabHasName(tab) && typeof tab.label === 'undefined') {\n tab.label = toWords(tab.name)\n }\n\n tab.fields = await sanitizeFields({\n config,\n existingFieldNames: tabHasName(tab) ? new Set() : existingFieldNames,\n fields: tab.fields,\n requireFieldLevelRichTextEditor,\n richTextSanitizationPromises,\n validRelationships,\n })\n field.tabs[j] = tab\n }\n }\n\n if ('blocks' in field && field.blocks) {\n for (let j = 0; j < field.blocks.length; j++) {\n const block = field.blocks[j]\n block.labels = !block.labels ? formatLabels(block.slug) : block.labels\n\n block.fields = await sanitizeFields({\n config,\n existingFieldNames: new Set(),\n fields: block.fields,\n requireFieldLevelRichTextEditor,\n richTextSanitizationPromises,\n validRelationships,\n })\n field.blocks[j] = block\n }\n }\n\n fields[i] = field\n }\n\n return fields\n}\n"],"names":["MissingEditorProp","DuplicateFieldName","InvalidFieldName","InvalidFieldRelationship","MissingFieldType","deepMerge","formatLabels","toWords","baseBlockFields","baseIDField","setDefaultBeforeDuplicate","validations","fieldAffectsData","tabHasName","sanitizeFields","config","existingFieldNames","Set","fields","requireFieldLevelRichTextEditor","richTextSanitizationPromises","validRelationships","i","length","field","type","name","includes","label","defaultValue","required","relationships","Array","isArray","relationTo","forEach","relationship","min","minRows","console","warn","max","maxRows","blocks","map","block","concat","push","labels","has","add","localized","localization","validate","defaultValidate","val","options","hooks","access","admin","sanitizeRichText","_config","editor","isRoot","i18n","Object","keys","translations","mergeHooks","hookName","j","tabs","tab","slug"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/config/sanitize.ts"],"sourcesContent":["import type { Config, SanitizedConfig } from '../../config/types.js'\nimport type { Field } from './types.js'\n\nimport { MissingEditorProp } from '../../errors/MissingEditorProp.js'\nimport {\n DuplicateFieldName,\n InvalidFieldName,\n InvalidFieldRelationship,\n MissingFieldType,\n} from '../../errors/index.js'\nimport { deepMerge } from '../../utilities/deepMerge.js'\nimport { formatLabels, toWords } from '../../utilities/formatLabels.js'\nimport { baseBlockFields } from '../baseFields/baseBlockFields.js'\nimport { baseIDField } from '../baseFields/baseIDField.js'\nimport { setDefaultBeforeDuplicate } from '../setDefaultBeforeDuplicate.js'\nimport validations from '../validations.js'\nimport { fieldAffectsData, tabHasName } from './types.js'\n\ntype Args = {\n config: Config\n existingFieldNames?: Set<string>\n fields: Field[]\n /**\n * If true, a richText field will require an editor property to be set, as the sanitizeFields function will not add it from the payload config if not present.\n *\n * @default false\n */\n requireFieldLevelRichTextEditor?: boolean\n /**\n * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises\n * so that you can sanitize them together, after the config has been sanitized.\n */\n richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>\n\n /**\n * If not null, will validate that upload and relationship fields do not relate to a collection that is not in this array.\n * This validation will be skipped if validRelationships is null.\n */\n validRelationships: null | string[]\n}\n\nexport const sanitizeFields = async ({\n config,\n existingFieldNames = new Set(),\n fields,\n requireFieldLevelRichTextEditor = false,\n richTextSanitizationPromises,\n validRelationships,\n}: Args): Promise<Field[]> => {\n if (!fields) return []\n\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i]\n\n if (!field.type) throw new MissingFieldType(field)\n\n // assert that field names do not contain forbidden characters\n if (fieldAffectsData(field) && field.name.includes('.')) {\n throw new InvalidFieldName(field, field.name)\n }\n\n // Auto-label\n if (\n 'name' in field &&\n field.name &&\n typeof field.label !== 'object' &&\n typeof field.label !== 'string' &&\n typeof field.label !== 'function' &&\n field.label !== false\n ) {\n field.label = toWords(field.name)\n }\n\n if (\n field.type === 'checkbox' &&\n typeof field.defaultValue === 'undefined' &&\n field.required === true\n ) {\n field.defaultValue = false\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n if (validRelationships) {\n const relationships = Array.isArray(field.relationTo)\n ? field.relationTo\n : [field.relationTo]\n relationships.forEach((relationship: string) => {\n if (!validRelationships.includes(relationship)) {\n throw new InvalidFieldRelationship(field, relationship)\n }\n })\n }\n\n if (field.type === 'relationship') {\n if (field.min && !field.minRows) {\n console.warn(\n `(payload): The \"min\" property is deprecated for the Relationship field \"${field.name}\" and will be removed in a future version. Please use \"minRows\" instead.`,\n )\n }\n if (field.max && !field.maxRows) {\n console.warn(\n `(payload): The \"max\" property is deprecated for the Relationship field \"${field.name}\" and will be removed in a future version. Please use \"maxRows\" instead.`,\n )\n }\n field.minRows = field.minRows || field.min\n field.maxRows = field.maxRows || field.max\n }\n }\n\n if (field.type === 'blocks' && field.blocks) {\n field.blocks = field.blocks.map((block) => ({\n ...block,\n fields: block.fields.concat(baseBlockFields),\n }))\n }\n\n if (field.type === 'array' && field.fields) {\n field.fields.push(baseIDField)\n }\n\n if ((field.type === 'blocks' || field.type === 'array') && field.label) {\n field.labels = field.labels || formatLabels(field.name)\n }\n\n if (fieldAffectsData(field)) {\n if (existingFieldNames.has(field.name)) {\n throw new DuplicateFieldName(field.name)\n } else if (!['blockName', 'id'].includes(field.name)) {\n existingFieldNames.add(field.name)\n }\n\n if (field.localized && !config.localization) delete field.localized\n\n if (typeof field.validate === 'undefined') {\n const defaultValidate = validations[field.type]\n if (defaultValidate) {\n field.validate = (val, options) => defaultValidate(val, { ...field, ...options })\n } else {\n field.validate = () => true\n }\n }\n\n if (!field.hooks) field.hooks = {}\n if (!field.access) field.access = {}\n\n setDefaultBeforeDuplicate(field)\n }\n\n if (!field.admin) {\n field.admin = {}\n }\n\n // Make sure that the richText field has an editor\n if (field.type === 'richText') {\n const sanitizeRichText = async (_config: SanitizedConfig) => {\n if (!field.editor) {\n if (_config.editor && !requireFieldLevelRichTextEditor) {\n // config.editor should be sanitized at this point\n field.editor = _config.editor\n } else {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n }\n\n if (typeof field.editor === 'function') {\n field.editor = await field.editor({\n config: _config,\n isRoot: requireFieldLevelRichTextEditor,\n })\n }\n\n if (field.editor.i18n && Object.keys(field.editor.i18n).length >= 0) {\n config.i18n.translations = deepMerge(config.i18n.translations, field.editor.i18n)\n }\n }\n if (richTextSanitizationPromises) {\n richTextSanitizationPromises.push(sanitizeRichText)\n } else {\n await sanitizeRichText(config as unknown as SanitizedConfig)\n }\n }\n\n if ('fields' in field && field.fields) {\n field.fields = await sanitizeFields({\n config,\n existingFieldNames: fieldAffectsData(field) ? new Set() : existingFieldNames,\n fields: field.fields,\n requireFieldLevelRichTextEditor,\n richTextSanitizationPromises,\n validRelationships,\n })\n }\n\n if (field.type === 'tabs') {\n for (let j = 0; j < field.tabs.length; j++) {\n const tab = field.tabs[j]\n if (tabHasName(tab) && typeof tab.label === 'undefined') {\n tab.label = toWords(tab.name)\n }\n\n tab.fields = await sanitizeFields({\n config,\n existingFieldNames: tabHasName(tab) ? new Set() : existingFieldNames,\n fields: tab.fields,\n requireFieldLevelRichTextEditor,\n richTextSanitizationPromises,\n validRelationships,\n })\n field.tabs[j] = tab\n }\n }\n\n if ('blocks' in field && field.blocks) {\n for (let j = 0; j < field.blocks.length; j++) {\n const block = field.blocks[j]\n block.labels = !block.labels ? formatLabels(block.slug) : block.labels\n\n block.fields = await sanitizeFields({\n config,\n existingFieldNames: new Set(),\n fields: block.fields,\n requireFieldLevelRichTextEditor,\n richTextSanitizationPromises,\n validRelationships,\n })\n field.blocks[j] = block\n }\n }\n\n fields[i] = field\n }\n\n return fields\n}\n"],"names":["MissingEditorProp","DuplicateFieldName","InvalidFieldName","InvalidFieldRelationship","MissingFieldType","deepMerge","formatLabels","toWords","baseBlockFields","baseIDField","setDefaultBeforeDuplicate","validations","fieldAffectsData","tabHasName","sanitizeFields","config","existingFieldNames","Set","fields","requireFieldLevelRichTextEditor","richTextSanitizationPromises","validRelationships","i","length","field","type","name","includes","label","defaultValue","required","relationships","Array","isArray","relationTo","forEach","relationship","min","minRows","console","warn","max","maxRows","blocks","map","block","concat","push","labels","has","add","localized","localization","validate","defaultValidate","val","options","hooks","access","admin","sanitizeRichText","_config","editor","isRoot","i18n","Object","keys","translations","j","tabs","tab","slug"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -447,8 +447,8 @@ export const richText = baseField.keys({
447
447
  CellComponent: componentSchema.optional(),
448
448
  FieldComponent: componentSchema.optional(),
449
449
  afterReadPromise: joi.func().optional(),
450
+ graphQLPopulationPromises: joi.func().optional(),
450
451
  outputSchema: joi.func().optional(),
451
- populationPromise: joi.func().optional(),
452
452
  validate: joi.func().required()
453
453
  }).unknown(),
454
454
  maxDepth: joi.number()
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { componentSchema } from '../../config/shared/componentSchema.js'\n\nexport const baseAdminComponentFields = joi\n .object()\n .keys({\n Cell: componentSchema,\n Description: componentSchema,\n Field: componentSchema,\n Filter: componentSchema,\n })\n .default({})\n\nexport const baseAdminFields = joi.object().keys({\n className: joi.string(),\n components: baseAdminComponentFields,\n condition: joi.func(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n description: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()]), joi.function()),\n disableBulkEdit: joi.boolean().default(false),\n disableListColumn: joi.boolean().default(false),\n disableListFilter: joi.boolean().default(false),\n disabled: joi.boolean().default(false),\n hidden: joi.boolean().default(false),\n initCollapsed: joi.boolean().default(false),\n position: joi.string().valid('sidebar'),\n readOnly: joi.boolean().default(false),\n style: joi.object().unknown(),\n width: joi.string(),\n})\n\nexport const baseField = joi\n .object()\n .keys({\n access: joi.object().keys({\n create: joi.func(),\n read: joi.func(),\n update: joi.func(),\n }),\n admin: baseAdminFields.default(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n hidden: joi.boolean().default(false),\n hooks: joi\n .object()\n .keys({\n afterChange: joi.array().items(joi.func()).default([]),\n afterRead: joi.array().items(joi.func()).default([]),\n beforeChange: joi.array().items(joi.func()).default([]),\n beforeDuplicate: joi.array().items(joi.func()).default([]),\n beforeValidate: joi.array().items(joi.func()).default([]),\n })\n .default(),\n index: joi.boolean().default(false),\n label: joi\n .alternatives()\n .try(\n joi.func(),\n joi.object().pattern(joi.string(), [joi.string()]),\n joi.string(),\n joi.valid(false),\n ),\n localized: joi.boolean().default(false),\n required: joi.boolean().default(false),\n saveToJWT: joi.alternatives().try(joi.boolean(), joi.string()).default(false),\n unique: joi.boolean().default(false),\n validate: joi.func(),\n })\n .default()\n\nexport const idField = baseField.keys({\n name: joi.string().valid('id'),\n type: joi.string().valid('text', 'number'),\n localized: joi.invalid(true),\n required: joi.not(false, 0).default(true),\n})\n\nexport const text = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('text').required(),\n admin: baseAdminFields.keys({\n autoComplete: joi.string(),\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi.array().items(componentSchema),\n beforeInput: joi.array().items(componentSchema),\n }),\n placeholder: joi\n .alternatives()\n .try(joi.object().pattern(joi.string(), [joi.string()]), joi.string()),\n rtl: joi.boolean(),\n }),\n defaultValue: joi.alternatives().try(joi.string(), joi.func()),\n hasMany: joi.boolean().default(false),\n maxLength: joi.number(),\n maxRows: joi.number().when('hasMany', { is: joi.not(true), then: joi.forbidden() }),\n minLength: joi.number(),\n minRows: joi.number().when('hasMany', { is: joi.not(true), then: joi.forbidden() }),\n})\n\nexport const number = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('number').required(),\n admin: baseAdminFields.keys({\n autoComplete: joi.string(),\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi\n .array()\n .items(componentSchema)\n .when('hasMany', { not: true, otherwise: joi.forbidden() }),\n beforeInput: joi\n .array()\n .items(componentSchema)\n .when('hasMany', { not: true, otherwise: joi.forbidden() }),\n }),\n placeholder: joi.string(),\n step: joi.number(),\n }),\n defaultValue: joi\n .alternatives()\n .try(\n joi.number(),\n joi.func(),\n joi.array().when('hasMany', { not: true, then: joi.forbidden() }),\n ),\n hasMany: joi.boolean().default(false),\n max: joi.number(),\n maxRows: joi.number().when('hasMany', { is: joi.not(true), then: joi.forbidden() }),\n min: joi.number(),\n minRows: joi.number().when('hasMany', { is: joi.not(true), then: joi.forbidden() }),\n})\n\nexport const textarea = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('textarea').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi.array().items(componentSchema),\n beforeInput: joi.array().items(componentSchema),\n }),\n placeholder: joi.string(),\n rows: joi.number(),\n rtl: joi.boolean(),\n }),\n defaultValue: joi.alternatives().try(joi.string(), joi.func()),\n maxLength: joi.number(),\n minLength: joi.number(),\n})\n\nexport const email = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('email').required(),\n admin: baseAdminFields.keys({\n autoComplete: joi.string(),\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi.array().items(componentSchema),\n beforeInput: joi.array().items(componentSchema),\n }),\n placeholder: joi.string(),\n }),\n defaultValue: joi.alternatives().try(joi.string(), joi.func()),\n maxLength: joi.number(),\n minLength: joi.number(),\n})\n\nexport const code = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('code').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n editorOptions: joi.object().unknown(), // Editor['options'] @monaco-editor/react\n language: joi.string(),\n }),\n defaultValue: joi.alternatives().try(joi.string(), joi.func()),\n})\n\nexport const json = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('json').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n editorOptions: joi.object().unknown(), // Editor['options'] @monaco-editor/react\n }),\n defaultValue: joi.alternatives().try(joi.array(), joi.object()),\n jsonSchema: joi.object().unknown(),\n})\n\nexport const select = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('select').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n isClearable: joi.boolean().default(false),\n isSortable: joi.boolean().default(false),\n }),\n dbName: joi.alternatives().try(joi.string(), joi.func()),\n defaultValue: joi\n .alternatives()\n .try(joi.string().allow(''), joi.array().items(joi.string().allow('')), joi.func()),\n enumName: joi.alternatives().try(joi.string(), joi.func()),\n hasMany: joi.boolean().default(false),\n options: joi\n .array()\n .min(1)\n .items(\n joi.alternatives().try(\n joi.string(),\n joi.object({\n label: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n value: joi.string().required().allow(''),\n }),\n ),\n )\n .required(),\n})\n\nexport const radio = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('radio').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n layout: joi.string().valid('vertical', 'horizontal'),\n }),\n defaultValue: joi.alternatives().try(joi.string().allow(''), joi.func()),\n enumName: joi.alternatives().try(joi.string(), joi.func()),\n options: joi\n .array()\n .min(1)\n .items(\n joi.alternatives().try(\n joi.string(),\n joi.object({\n label: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()]))\n .required(),\n value: joi.string().required().allow(''),\n }),\n ),\n )\n .required(),\n})\n\nexport const row = baseField.keys({\n type: joi.string().valid('row').required(),\n admin: baseAdminFields.default(),\n fields: joi.array().items(joi.link('#field')),\n})\n\nexport const collapsible = baseField.keys({\n type: joi.string().valid('collapsible').required(),\n admin: baseAdminFields\n .keys({\n components: baseAdminComponentFields\n .keys({\n RowLabel: componentSchema.optional(),\n })\n .default({}),\n })\n .default({}),\n fields: joi.array().items(joi.link('#field')),\n label: joi.alternatives().conditional('admin.components.RowLabel', {\n is: joi.exist(),\n otherwise: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()]), joi.function())\n .required(),\n then: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()]), joi.function())\n .optional(),\n }),\n})\n\nconst tab = baseField.keys({\n name: joi.string().when('localized', { is: joi.exist(), then: joi.required() }),\n description: joi.alternatives().try(joi.string(), componentSchema),\n fields: joi.array().items(joi.link('#field')).required(),\n interfaceName: joi.string().when('name', { not: joi.exist(), then: joi.forbidden() }),\n label: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()]))\n .when('name', { is: joi.not(), then: joi.required() }),\n localized: joi.boolean(),\n saveToJWT: joi.alternatives().try(joi.boolean(), joi.string()),\n})\n\nexport const tabs = baseField.keys({\n type: joi.string().valid('tabs').required(),\n admin: baseAdminFields.keys({\n description: joi.forbidden(),\n }),\n fields: joi.forbidden(),\n localized: joi.forbidden(),\n tabs: joi.array().items(tab).required(),\n})\n\nexport const group = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('group').required(),\n admin: baseAdminFields.keys({\n hideGutter: joi.boolean().default(true),\n }),\n defaultValue: joi.alternatives().try(joi.object(), joi.func()),\n fields: joi.array().items(joi.link('#field')),\n interfaceName: joi.string(),\n})\n\nexport const array = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('array').required(),\n admin: baseAdminFields\n .keys({\n components: baseAdminComponentFields\n .keys({\n RowLabel: componentSchema,\n })\n .default({}),\n isSortable: joi.boolean(),\n })\n .default({}),\n dbName: joi.alternatives().try(joi.string(), joi.func()),\n defaultValue: joi.alternatives().try(joi.array().items(joi.object()), joi.func()),\n fields: joi.array().items(joi.link('#field')).required(),\n interfaceName: joi.string(),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n maxRows: joi.number(),\n minRows: joi.number(),\n})\n\nexport const upload = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('upload').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n }),\n defaultValue: joi.alternatives().try(joi.object(), joi.func()),\n filterOptions: joi.alternatives().try(joi.object(), joi.func()),\n maxDepth: joi.number(),\n relationTo: joi.string().required(),\n})\n\nexport const checkbox = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('checkbox').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi.array().items(componentSchema),\n beforeInput: joi.array().items(componentSchema),\n }),\n }),\n defaultValue: joi.alternatives().try(joi.boolean(), joi.func()),\n})\n\nexport const point = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('point').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi.array().items(componentSchema),\n beforeInput: joi.array().items(componentSchema),\n }),\n }),\n defaultValue: joi.alternatives().try(joi.array().items(joi.number()).max(2).min(2), joi.func()),\n})\n\nexport const relationship = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('relationship').required(),\n admin: baseAdminFields.keys({\n allowCreate: joi.boolean().default(true),\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n isSortable: joi.boolean().default(false),\n sortOptions: joi.alternatives().conditional(joi.ref('...relationTo'), {\n is: joi.string(),\n otherwise: joi.object().pattern(joi.string(), joi.string()),\n then: joi.string(),\n }),\n }),\n defaultValue: joi.alternatives().try(joi.func()),\n filterOptions: joi.alternatives().try(joi.object(), joi.func()),\n hasMany: joi.boolean().default(false),\n max: joi\n .number()\n .when('hasMany', { is: joi.not(true), then: joi.forbidden() })\n .warning('deprecated', { message: 'Use maxRows instead.' }),\n maxDepth: joi.number(),\n maxRows: joi.number().when('hasMany', { is: joi.not(true), then: joi.forbidden() }),\n min: joi\n .number()\n .when('hasMany', { is: joi.not(true), then: joi.forbidden() })\n .warning('deprecated', { message: 'Use minRows instead.' }),\n minRows: joi.number().when('hasMany', { is: joi.not(true), then: joi.forbidden() }),\n relationTo: joi.alternatives().try(joi.string().required(), joi.array().items(joi.string())),\n})\n\nexport const blocks = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('blocks').required(),\n admin: baseAdminFields\n .keys({\n isSortable: joi.boolean(),\n })\n .default({}),\n blocks: joi\n .array()\n .items(\n joi.object({\n slug: joi.string().required(),\n admin: joi.object().keys({\n custom: joi.object().pattern(joi.string(), joi.any()),\n }),\n custom: joi.object().pattern(joi.string(), joi.any()),\n dbName: joi.alternatives().try(joi.string(), joi.func()),\n fields: joi.array().items(joi.link('#field')),\n graphQL: joi.object().keys({\n singularName: joi.string(),\n }),\n imageAltText: joi.string(),\n imageURL: joi.string(),\n interfaceName: joi.string(),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n }),\n )\n .required(),\n defaultValue: joi.alternatives().try(joi.array().items(joi.object()), joi.func()),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n maxRows: joi.number(),\n minRows: joi.number(),\n})\n\nexport const richText = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('richText').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n }),\n defaultValue: joi.alternatives().try(joi.array().items(joi.object()), joi.func(), joi.object()),\n editor: joi\n .object()\n .keys({\n CellComponent: componentSchema.optional(),\n FieldComponent: componentSchema.optional(),\n afterReadPromise: joi.func().optional(),\n outputSchema: joi.func().optional(),\n populationPromise: joi.func().optional(),\n validate: joi.func().required(),\n })\n .unknown(),\n maxDepth: joi.number(),\n})\n\nexport const date = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('date').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi.array().items(componentSchema),\n beforeInput: joi.array().items(componentSchema),\n }),\n date: joi.object({\n displayFormat: joi.string(),\n maxDate: joi.date(),\n maxTime: joi.date(),\n minDate: joi.date(),\n minTime: joi.date(),\n monthsToShow: joi.number(),\n overrides: joi.object().unknown(),\n pickerAppearance: joi.string(),\n timeFormat: joi.string(),\n timeIntervals: joi.number(),\n }),\n placeholder: joi.string(),\n }),\n defaultValue: joi.alternatives().try(joi.string(), joi.func()),\n})\n\nexport const ui = joi.object().keys({\n name: joi.string().required(),\n type: joi.string().valid('ui').required(),\n admin: joi\n .object()\n .keys({\n components: joi\n .object()\n .keys({\n Cell: componentSchema,\n Field: componentSchema,\n })\n .default({}),\n condition: joi.func(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n disableListColumn: joi.boolean().default(false),\n position: joi.string().valid('sidebar'),\n width: joi.string(),\n })\n .default(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n label: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n})\n\nconst fieldSchema = joi\n .alternatives()\n .try(\n text,\n number,\n textarea,\n email,\n code,\n json,\n select,\n group,\n array,\n row,\n collapsible,\n tabs,\n radio,\n relationship,\n checkbox,\n upload,\n richText,\n blocks,\n date,\n point,\n ui,\n )\n .id('field')\n\nexport default fieldSchema\n"],"names":["joi","componentSchema","baseAdminComponentFields","object","keys","Cell","Description","Field","Filter","default","baseAdminFields","className","string","components","condition","func","custom","pattern","any","description","alternatives","try","function","disableBulkEdit","boolean","disableListColumn","disableListFilter","disabled","hidden","initCollapsed","position","valid","readOnly","style","unknown","width","baseField","access","create","read","update","admin","hooks","afterChange","array","items","afterRead","beforeChange","beforeDuplicate","beforeValidate","index","label","localized","required","saveToJWT","unique","validate","idField","name","type","invalid","not","text","autoComplete","Error","Label","afterInput","beforeInput","placeholder","rtl","defaultValue","hasMany","maxLength","number","maxRows","when","is","then","forbidden","minLength","minRows","otherwise","step","max","min","textarea","rows","email","code","editorOptions","language","json","jsonSchema","select","isClearable","isSortable","dbName","allow","enumName","options","value","radio","layout","row","fields","link","collapsible","RowLabel","optional","conditional","exist","tab","interfaceName","tabs","group","hideGutter","labels","plural","singular","upload","filterOptions","maxDepth","relationTo","checkbox","point","relationship","allowCreate","sortOptions","ref","warning","message","blocks","slug","graphQL","singularName","imageAltText","imageURL","richText","editor","CellComponent","FieldComponent","afterReadPromise","outputSchema","populationPromise","date","displayFormat","maxDate","maxTime","minDate","minTime","monthsToShow","overrides","pickerAppearance","timeFormat","timeIntervals","ui","fieldSchema","id"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { componentSchema } from '../../config/shared/componentSchema.js'\n\nexport const baseAdminComponentFields = joi\n .object()\n .keys({\n Cell: componentSchema,\n Description: componentSchema,\n Field: componentSchema,\n Filter: componentSchema,\n })\n .default({})\n\nexport const baseAdminFields = joi.object().keys({\n className: joi.string(),\n components: baseAdminComponentFields,\n condition: joi.func(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n description: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()]), joi.function()),\n disableBulkEdit: joi.boolean().default(false),\n disableListColumn: joi.boolean().default(false),\n disableListFilter: joi.boolean().default(false),\n disabled: joi.boolean().default(false),\n hidden: joi.boolean().default(false),\n initCollapsed: joi.boolean().default(false),\n position: joi.string().valid('sidebar'),\n readOnly: joi.boolean().default(false),\n style: joi.object().unknown(),\n width: joi.string(),\n})\n\nexport const baseField = joi\n .object()\n .keys({\n access: joi.object().keys({\n create: joi.func(),\n read: joi.func(),\n update: joi.func(),\n }),\n admin: baseAdminFields.default(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n hidden: joi.boolean().default(false),\n hooks: joi\n .object()\n .keys({\n afterChange: joi.array().items(joi.func()).default([]),\n afterRead: joi.array().items(joi.func()).default([]),\n beforeChange: joi.array().items(joi.func()).default([]),\n beforeDuplicate: joi.array().items(joi.func()).default([]),\n beforeValidate: joi.array().items(joi.func()).default([]),\n })\n .default(),\n index: joi.boolean().default(false),\n label: joi\n .alternatives()\n .try(\n joi.func(),\n joi.object().pattern(joi.string(), [joi.string()]),\n joi.string(),\n joi.valid(false),\n ),\n localized: joi.boolean().default(false),\n required: joi.boolean().default(false),\n saveToJWT: joi.alternatives().try(joi.boolean(), joi.string()).default(false),\n unique: joi.boolean().default(false),\n validate: joi.func(),\n })\n .default()\n\nexport const idField = baseField.keys({\n name: joi.string().valid('id'),\n type: joi.string().valid('text', 'number'),\n localized: joi.invalid(true),\n required: joi.not(false, 0).default(true),\n})\n\nexport const text = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('text').required(),\n admin: baseAdminFields.keys({\n autoComplete: joi.string(),\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi.array().items(componentSchema),\n beforeInput: joi.array().items(componentSchema),\n }),\n placeholder: joi\n .alternatives()\n .try(joi.object().pattern(joi.string(), [joi.string()]), joi.string()),\n rtl: joi.boolean(),\n }),\n defaultValue: joi.alternatives().try(joi.string(), joi.func()),\n hasMany: joi.boolean().default(false),\n maxLength: joi.number(),\n maxRows: joi.number().when('hasMany', { is: joi.not(true), then: joi.forbidden() }),\n minLength: joi.number(),\n minRows: joi.number().when('hasMany', { is: joi.not(true), then: joi.forbidden() }),\n})\n\nexport const number = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('number').required(),\n admin: baseAdminFields.keys({\n autoComplete: joi.string(),\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi\n .array()\n .items(componentSchema)\n .when('hasMany', { not: true, otherwise: joi.forbidden() }),\n beforeInput: joi\n .array()\n .items(componentSchema)\n .when('hasMany', { not: true, otherwise: joi.forbidden() }),\n }),\n placeholder: joi.string(),\n step: joi.number(),\n }),\n defaultValue: joi\n .alternatives()\n .try(\n joi.number(),\n joi.func(),\n joi.array().when('hasMany', { not: true, then: joi.forbidden() }),\n ),\n hasMany: joi.boolean().default(false),\n max: joi.number(),\n maxRows: joi.number().when('hasMany', { is: joi.not(true), then: joi.forbidden() }),\n min: joi.number(),\n minRows: joi.number().when('hasMany', { is: joi.not(true), then: joi.forbidden() }),\n})\n\nexport const textarea = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('textarea').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi.array().items(componentSchema),\n beforeInput: joi.array().items(componentSchema),\n }),\n placeholder: joi.string(),\n rows: joi.number(),\n rtl: joi.boolean(),\n }),\n defaultValue: joi.alternatives().try(joi.string(), joi.func()),\n maxLength: joi.number(),\n minLength: joi.number(),\n})\n\nexport const email = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('email').required(),\n admin: baseAdminFields.keys({\n autoComplete: joi.string(),\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi.array().items(componentSchema),\n beforeInput: joi.array().items(componentSchema),\n }),\n placeholder: joi.string(),\n }),\n defaultValue: joi.alternatives().try(joi.string(), joi.func()),\n maxLength: joi.number(),\n minLength: joi.number(),\n})\n\nexport const code = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('code').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n editorOptions: joi.object().unknown(), // Editor['options'] @monaco-editor/react\n language: joi.string(),\n }),\n defaultValue: joi.alternatives().try(joi.string(), joi.func()),\n})\n\nexport const json = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('json').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n editorOptions: joi.object().unknown(), // Editor['options'] @monaco-editor/react\n }),\n defaultValue: joi.alternatives().try(joi.array(), joi.object()),\n jsonSchema: joi.object().unknown(),\n})\n\nexport const select = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('select').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n isClearable: joi.boolean().default(false),\n isSortable: joi.boolean().default(false),\n }),\n dbName: joi.alternatives().try(joi.string(), joi.func()),\n defaultValue: joi\n .alternatives()\n .try(joi.string().allow(''), joi.array().items(joi.string().allow('')), joi.func()),\n enumName: joi.alternatives().try(joi.string(), joi.func()),\n hasMany: joi.boolean().default(false),\n options: joi\n .array()\n .min(1)\n .items(\n joi.alternatives().try(\n joi.string(),\n joi.object({\n label: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n value: joi.string().required().allow(''),\n }),\n ),\n )\n .required(),\n})\n\nexport const radio = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('radio').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n layout: joi.string().valid('vertical', 'horizontal'),\n }),\n defaultValue: joi.alternatives().try(joi.string().allow(''), joi.func()),\n enumName: joi.alternatives().try(joi.string(), joi.func()),\n options: joi\n .array()\n .min(1)\n .items(\n joi.alternatives().try(\n joi.string(),\n joi.object({\n label: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()]))\n .required(),\n value: joi.string().required().allow(''),\n }),\n ),\n )\n .required(),\n})\n\nexport const row = baseField.keys({\n type: joi.string().valid('row').required(),\n admin: baseAdminFields.default(),\n fields: joi.array().items(joi.link('#field')),\n})\n\nexport const collapsible = baseField.keys({\n type: joi.string().valid('collapsible').required(),\n admin: baseAdminFields\n .keys({\n components: baseAdminComponentFields\n .keys({\n RowLabel: componentSchema.optional(),\n })\n .default({}),\n })\n .default({}),\n fields: joi.array().items(joi.link('#field')),\n label: joi.alternatives().conditional('admin.components.RowLabel', {\n is: joi.exist(),\n otherwise: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()]), joi.function())\n .required(),\n then: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()]), joi.function())\n .optional(),\n }),\n})\n\nconst tab = baseField.keys({\n name: joi.string().when('localized', { is: joi.exist(), then: joi.required() }),\n description: joi.alternatives().try(joi.string(), componentSchema),\n fields: joi.array().items(joi.link('#field')).required(),\n interfaceName: joi.string().when('name', { not: joi.exist(), then: joi.forbidden() }),\n label: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()]))\n .when('name', { is: joi.not(), then: joi.required() }),\n localized: joi.boolean(),\n saveToJWT: joi.alternatives().try(joi.boolean(), joi.string()),\n})\n\nexport const tabs = baseField.keys({\n type: joi.string().valid('tabs').required(),\n admin: baseAdminFields.keys({\n description: joi.forbidden(),\n }),\n fields: joi.forbidden(),\n localized: joi.forbidden(),\n tabs: joi.array().items(tab).required(),\n})\n\nexport const group = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('group').required(),\n admin: baseAdminFields.keys({\n hideGutter: joi.boolean().default(true),\n }),\n defaultValue: joi.alternatives().try(joi.object(), joi.func()),\n fields: joi.array().items(joi.link('#field')),\n interfaceName: joi.string(),\n})\n\nexport const array = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('array').required(),\n admin: baseAdminFields\n .keys({\n components: baseAdminComponentFields\n .keys({\n RowLabel: componentSchema,\n })\n .default({}),\n isSortable: joi.boolean(),\n })\n .default({}),\n dbName: joi.alternatives().try(joi.string(), joi.func()),\n defaultValue: joi.alternatives().try(joi.array().items(joi.object()), joi.func()),\n fields: joi.array().items(joi.link('#field')).required(),\n interfaceName: joi.string(),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n maxRows: joi.number(),\n minRows: joi.number(),\n})\n\nexport const upload = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('upload').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n }),\n defaultValue: joi.alternatives().try(joi.object(), joi.func()),\n filterOptions: joi.alternatives().try(joi.object(), joi.func()),\n maxDepth: joi.number(),\n relationTo: joi.string().required(),\n})\n\nexport const checkbox = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('checkbox').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi.array().items(componentSchema),\n beforeInput: joi.array().items(componentSchema),\n }),\n }),\n defaultValue: joi.alternatives().try(joi.boolean(), joi.func()),\n})\n\nexport const point = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('point').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi.array().items(componentSchema),\n beforeInput: joi.array().items(componentSchema),\n }),\n }),\n defaultValue: joi.alternatives().try(joi.array().items(joi.number()).max(2).min(2), joi.func()),\n})\n\nexport const relationship = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('relationship').required(),\n admin: baseAdminFields.keys({\n allowCreate: joi.boolean().default(true),\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n isSortable: joi.boolean().default(false),\n sortOptions: joi.alternatives().conditional(joi.ref('...relationTo'), {\n is: joi.string(),\n otherwise: joi.object().pattern(joi.string(), joi.string()),\n then: joi.string(),\n }),\n }),\n defaultValue: joi.alternatives().try(joi.func()),\n filterOptions: joi.alternatives().try(joi.object(), joi.func()),\n hasMany: joi.boolean().default(false),\n max: joi\n .number()\n .when('hasMany', { is: joi.not(true), then: joi.forbidden() })\n .warning('deprecated', { message: 'Use maxRows instead.' }),\n maxDepth: joi.number(),\n maxRows: joi.number().when('hasMany', { is: joi.not(true), then: joi.forbidden() }),\n min: joi\n .number()\n .when('hasMany', { is: joi.not(true), then: joi.forbidden() })\n .warning('deprecated', { message: 'Use minRows instead.' }),\n minRows: joi.number().when('hasMany', { is: joi.not(true), then: joi.forbidden() }),\n relationTo: joi.alternatives().try(joi.string().required(), joi.array().items(joi.string())),\n})\n\nexport const blocks = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('blocks').required(),\n admin: baseAdminFields\n .keys({\n isSortable: joi.boolean(),\n })\n .default({}),\n blocks: joi\n .array()\n .items(\n joi.object({\n slug: joi.string().required(),\n admin: joi.object().keys({\n custom: joi.object().pattern(joi.string(), joi.any()),\n }),\n custom: joi.object().pattern(joi.string(), joi.any()),\n dbName: joi.alternatives().try(joi.string(), joi.func()),\n fields: joi.array().items(joi.link('#field')),\n graphQL: joi.object().keys({\n singularName: joi.string(),\n }),\n imageAltText: joi.string(),\n imageURL: joi.string(),\n interfaceName: joi.string(),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n }),\n )\n .required(),\n defaultValue: joi.alternatives().try(joi.array().items(joi.object()), joi.func()),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n maxRows: joi.number(),\n minRows: joi.number(),\n})\n\nexport const richText = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('richText').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n }),\n }),\n defaultValue: joi.alternatives().try(joi.array().items(joi.object()), joi.func(), joi.object()),\n editor: joi\n .object()\n .keys({\n CellComponent: componentSchema.optional(),\n FieldComponent: componentSchema.optional(),\n afterReadPromise: joi.func().optional(),\n graphQLPopulationPromises: joi.func().optional(),\n outputSchema: joi.func().optional(),\n validate: joi.func().required(),\n })\n .unknown(),\n maxDepth: joi.number(),\n})\n\nexport const date = baseField.keys({\n name: joi.string().required(),\n type: joi.string().valid('date').required(),\n admin: baseAdminFields.keys({\n components: baseAdminComponentFields.keys({\n Error: componentSchema,\n Label: componentSchema,\n afterInput: joi.array().items(componentSchema),\n beforeInput: joi.array().items(componentSchema),\n }),\n date: joi.object({\n displayFormat: joi.string(),\n maxDate: joi.date(),\n maxTime: joi.date(),\n minDate: joi.date(),\n minTime: joi.date(),\n monthsToShow: joi.number(),\n overrides: joi.object().unknown(),\n pickerAppearance: joi.string(),\n timeFormat: joi.string(),\n timeIntervals: joi.number(),\n }),\n placeholder: joi.string(),\n }),\n defaultValue: joi.alternatives().try(joi.string(), joi.func()),\n})\n\nexport const ui = joi.object().keys({\n name: joi.string().required(),\n type: joi.string().valid('ui').required(),\n admin: joi\n .object()\n .keys({\n components: joi\n .object()\n .keys({\n Cell: componentSchema,\n Field: componentSchema,\n })\n .default({}),\n condition: joi.func(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n disableListColumn: joi.boolean().default(false),\n position: joi.string().valid('sidebar'),\n width: joi.string(),\n })\n .default(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n label: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n})\n\nconst fieldSchema = joi\n .alternatives()\n .try(\n text,\n number,\n textarea,\n email,\n code,\n json,\n select,\n group,\n array,\n row,\n collapsible,\n tabs,\n radio,\n relationship,\n checkbox,\n upload,\n richText,\n blocks,\n date,\n point,\n ui,\n )\n .id('field')\n\nexport default fieldSchema\n"],"names":["joi","componentSchema","baseAdminComponentFields","object","keys","Cell","Description","Field","Filter","default","baseAdminFields","className","string","components","condition","func","custom","pattern","any","description","alternatives","try","function","disableBulkEdit","boolean","disableListColumn","disableListFilter","disabled","hidden","initCollapsed","position","valid","readOnly","style","unknown","width","baseField","access","create","read","update","admin","hooks","afterChange","array","items","afterRead","beforeChange","beforeDuplicate","beforeValidate","index","label","localized","required","saveToJWT","unique","validate","idField","name","type","invalid","not","text","autoComplete","Error","Label","afterInput","beforeInput","placeholder","rtl","defaultValue","hasMany","maxLength","number","maxRows","when","is","then","forbidden","minLength","minRows","otherwise","step","max","min","textarea","rows","email","code","editorOptions","language","json","jsonSchema","select","isClearable","isSortable","dbName","allow","enumName","options","value","radio","layout","row","fields","link","collapsible","RowLabel","optional","conditional","exist","tab","interfaceName","tabs","group","hideGutter","labels","plural","singular","upload","filterOptions","maxDepth","relationTo","checkbox","point","relationship","allowCreate","sortOptions","ref","warning","message","blocks","slug","graphQL","singularName","imageAltText","imageURL","richText","editor","CellComponent","FieldComponent","afterReadPromise","graphQLPopulationPromises","outputSchema","date","displayFormat","maxDate","maxTime","minDate","minTime","monthsToShow","overrides","pickerAppearance","timeFormat","timeIntervals","ui","fieldSchema","id"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,SAAS,MAAK;AAErB,SAASC,eAAe,QAAQ,yCAAwC;AAExE,OAAO,MAAMC,2BAA2BF,IACrCG,MAAM,GACNC,IAAI,CAAC;IACJC,MAAMJ;IACNK,aAAaL;IACbM,OAAON;IACPO,QAAQP;AACV,GACCQ,OAAO,CAAC,CAAC,GAAE;AAEd,OAAO,MAAMC,kBAAkBV,IAAIG,MAAM,GAAGC,IAAI,CAAC;IAC/CO,WAAWX,IAAIY,MAAM;IACrBC,YAAYX;IACZY,WAAWd,IAAIe,IAAI;IACnBC,QAAQhB,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAIZ,IAAIkB,GAAG;IAClDC,aAAanB,IACVoB,YAAY,GACZC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;QAACZ,IAAIY,MAAM;KAAG,GAAGZ,IAAIsB,QAAQ;IACrFC,iBAAiBvB,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IACvCgB,mBAAmBzB,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IACzCiB,mBAAmB1B,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IACzCkB,UAAU3B,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IAChCmB,QAAQ5B,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IAC9BoB,eAAe7B,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IACrCqB,UAAU9B,IAAIY,MAAM,GAAGmB,KAAK,CAAC;IAC7BC,UAAUhC,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IAChCwB,OAAOjC,IAAIG,MAAM,GAAG+B,OAAO;IAC3BC,OAAOnC,IAAIY,MAAM;AACnB,GAAE;AAEF,OAAO,MAAMwB,YAAYpC,IACtBG,MAAM,GACNC,IAAI,CAAC;IACJiC,QAAQrC,IAAIG,MAAM,GAAGC,IAAI,CAAC;QACxBkC,QAAQtC,IAAIe,IAAI;QAChBwB,MAAMvC,IAAIe,IAAI;QACdyB,QAAQxC,IAAIe,IAAI;IAClB;IACA0B,OAAO/B,gBAAgBD,OAAO;IAC9BO,QAAQhB,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAIZ,IAAIkB,GAAG;IAClDU,QAAQ5B,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IAC9BiC,OAAO1C,IACJG,MAAM,GACNC,IAAI,CAAC;QACJuC,aAAa3C,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIe,IAAI,IAAIN,OAAO,CAAC,EAAE;QACrDqC,WAAW9C,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIe,IAAI,IAAIN,OAAO,CAAC,EAAE;QACnDsC,cAAc/C,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIe,IAAI,IAAIN,OAAO,CAAC,EAAE;QACtDuC,iBAAiBhD,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIe,IAAI,IAAIN,OAAO,CAAC,EAAE;QACzDwC,gBAAgBjD,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIe,IAAI,IAAIN,OAAO,CAAC,EAAE;IAC1D,GACCA,OAAO;IACVyC,OAAOlD,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IAC7B0C,OAAOnD,IACJoB,YAAY,GACZC,GAAG,CACFrB,IAAIe,IAAI,IACRf,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;QAACZ,IAAIY,MAAM;KAAG,GACjDZ,IAAIY,MAAM,IACVZ,IAAI+B,KAAK,CAAC;IAEdqB,WAAWpD,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IACjC4C,UAAUrD,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IAChC6C,WAAWtD,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIwB,OAAO,IAAIxB,IAAIY,MAAM,IAAIH,OAAO,CAAC;IACvE8C,QAAQvD,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IAC9B+C,UAAUxD,IAAIe,IAAI;AACpB,GACCN,OAAO,GAAE;AAEZ,OAAO,MAAMgD,UAAUrB,UAAUhC,IAAI,CAAC;IACpCsD,MAAM1D,IAAIY,MAAM,GAAGmB,KAAK,CAAC;IACzB4B,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,QAAQ;IACjCqB,WAAWpD,IAAI4D,OAAO,CAAC;IACvBP,UAAUrD,IAAI6D,GAAG,CAAC,OAAO,GAAGpD,OAAO,CAAC;AACtC,GAAE;AAEF,OAAO,MAAMqD,OAAO1B,UAAUhC,IAAI,CAAC;IACjCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,QAAQsB,QAAQ;IACzCZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1B2D,cAAc/D,IAAIY,MAAM;QACxBC,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;YACPiE,YAAYlE,IAAI4C,KAAK,GAAGC,KAAK,CAAC5C;YAC9BkE,aAAanE,IAAI4C,KAAK,GAAGC,KAAK,CAAC5C;QACjC;QACAmE,aAAapE,IACVoB,YAAY,GACZC,GAAG,CAACrB,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;YAACZ,IAAIY,MAAM;SAAG,GAAGZ,IAAIY,MAAM;QACrEyD,KAAKrE,IAAIwB,OAAO;IAClB;IACA8C,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIe,IAAI;IAC3DwD,SAASvE,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IAC/B+D,WAAWxE,IAAIyE,MAAM;IACrBC,SAAS1E,IAAIyE,MAAM,GAAGE,IAAI,CAAC,WAAW;QAAEC,IAAI5E,IAAI6D,GAAG,CAAC;QAAOgB,MAAM7E,IAAI8E,SAAS;IAAG;IACjFC,WAAW/E,IAAIyE,MAAM;IACrBO,SAAShF,IAAIyE,MAAM,GAAGE,IAAI,CAAC,WAAW;QAAEC,IAAI5E,IAAI6D,GAAG,CAAC;QAAOgB,MAAM7E,IAAI8E,SAAS;IAAG;AACnF,GAAE;AAEF,OAAO,MAAML,SAASrC,UAAUhC,IAAI,CAAC;IACnCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,UAAUsB,QAAQ;IAC3CZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1B2D,cAAc/D,IAAIY,MAAM;QACxBC,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;YACPiE,YAAYlE,IACT4C,KAAK,GACLC,KAAK,CAAC5C,iBACN0E,IAAI,CAAC,WAAW;gBAAEd,KAAK;gBAAMoB,WAAWjF,IAAI8E,SAAS;YAAG;YAC3DX,aAAanE,IACV4C,KAAK,GACLC,KAAK,CAAC5C,iBACN0E,IAAI,CAAC,WAAW;gBAAEd,KAAK;gBAAMoB,WAAWjF,IAAI8E,SAAS;YAAG;QAC7D;QACAV,aAAapE,IAAIY,MAAM;QACvBsE,MAAMlF,IAAIyE,MAAM;IAClB;IACAH,cAActE,IACXoB,YAAY,GACZC,GAAG,CACFrB,IAAIyE,MAAM,IACVzE,IAAIe,IAAI,IACRf,IAAI4C,KAAK,GAAG+B,IAAI,CAAC,WAAW;QAAEd,KAAK;QAAMgB,MAAM7E,IAAI8E,SAAS;IAAG;IAEnEP,SAASvE,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IAC/B0E,KAAKnF,IAAIyE,MAAM;IACfC,SAAS1E,IAAIyE,MAAM,GAAGE,IAAI,CAAC,WAAW;QAAEC,IAAI5E,IAAI6D,GAAG,CAAC;QAAOgB,MAAM7E,IAAI8E,SAAS;IAAG;IACjFM,KAAKpF,IAAIyE,MAAM;IACfO,SAAShF,IAAIyE,MAAM,GAAGE,IAAI,CAAC,WAAW;QAAEC,IAAI5E,IAAI6D,GAAG,CAAC;QAAOgB,MAAM7E,IAAI8E,SAAS;IAAG;AACnF,GAAE;AAEF,OAAO,MAAMO,WAAWjD,UAAUhC,IAAI,CAAC;IACrCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,YAAYsB,QAAQ;IAC7CZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1BS,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;YACPiE,YAAYlE,IAAI4C,KAAK,GAAGC,KAAK,CAAC5C;YAC9BkE,aAAanE,IAAI4C,KAAK,GAAGC,KAAK,CAAC5C;QACjC;QACAmE,aAAapE,IAAIY,MAAM;QACvB0E,MAAMtF,IAAIyE,MAAM;QAChBJ,KAAKrE,IAAIwB,OAAO;IAClB;IACA8C,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIe,IAAI;IAC3DyD,WAAWxE,IAAIyE,MAAM;IACrBM,WAAW/E,IAAIyE,MAAM;AACvB,GAAE;AAEF,OAAO,MAAMc,QAAQnD,UAAUhC,IAAI,CAAC;IAClCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,SAASsB,QAAQ;IAC1CZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1B2D,cAAc/D,IAAIY,MAAM;QACxBC,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;YACPiE,YAAYlE,IAAI4C,KAAK,GAAGC,KAAK,CAAC5C;YAC9BkE,aAAanE,IAAI4C,KAAK,GAAGC,KAAK,CAAC5C;QACjC;QACAmE,aAAapE,IAAIY,MAAM;IACzB;IACA0D,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIe,IAAI;IAC3DyD,WAAWxE,IAAIyE,MAAM;IACrBM,WAAW/E,IAAIyE,MAAM;AACvB,GAAE;AAEF,OAAO,MAAMe,OAAOpD,UAAUhC,IAAI,CAAC;IACjCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,QAAQsB,QAAQ;IACzCZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1BS,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;QACT;QACAwF,eAAezF,IAAIG,MAAM,GAAG+B,OAAO;QACnCwD,UAAU1F,IAAIY,MAAM;IACtB;IACA0D,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIe,IAAI;AAC7D,GAAE;AAEF,OAAO,MAAM4E,OAAOvD,UAAUhC,IAAI,CAAC;IACjCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,QAAQsB,QAAQ;IACzCZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1BS,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;QACT;QACAwF,eAAezF,IAAIG,MAAM,GAAG+B,OAAO;IACrC;IACAoC,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAI4C,KAAK,IAAI5C,IAAIG,MAAM;IAC5DyF,YAAY5F,IAAIG,MAAM,GAAG+B,OAAO;AAClC,GAAE;AAEF,OAAO,MAAM2D,SAASzD,UAAUhC,IAAI,CAAC;IACnCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,UAAUsB,QAAQ;IAC3CZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1BS,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;QACT;QACA6F,aAAa9F,IAAIwB,OAAO,GAAGf,OAAO,CAAC;QACnCsF,YAAY/F,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IACpC;IACAuF,QAAQhG,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIe,IAAI;IACrDuD,cAActE,IACXoB,YAAY,GACZC,GAAG,CAACrB,IAAIY,MAAM,GAAGqF,KAAK,CAAC,KAAKjG,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIY,MAAM,GAAGqF,KAAK,CAAC,MAAMjG,IAAIe,IAAI;IAClFmF,UAAUlG,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIe,IAAI;IACvDwD,SAASvE,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IAC/B0F,SAASnG,IACN4C,KAAK,GACLwC,GAAG,CAAC,GACJvC,KAAK,CACJ7C,IAAIoB,YAAY,GAAGC,GAAG,CACpBrB,IAAIY,MAAM,IACVZ,IAAIG,MAAM,CAAC;QACTgD,OAAOnD,IACJoB,YAAY,GACZC,GAAG,CAACrB,IAAIe,IAAI,IAAIf,IAAIY,MAAM,IAAIZ,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;YAACZ,IAAIY,MAAM;SAAG;QAClFwF,OAAOpG,IAAIY,MAAM,GAAGyC,QAAQ,GAAG4C,KAAK,CAAC;IACvC,KAGH5C,QAAQ;AACb,GAAE;AAEF,OAAO,MAAMgD,QAAQjE,UAAUhC,IAAI,CAAC;IAClCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,SAASsB,QAAQ;IAC1CZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1BS,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;QACT;QACAqG,QAAQtG,IAAIY,MAAM,GAAGmB,KAAK,CAAC,YAAY;IACzC;IACAuC,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,GAAGqF,KAAK,CAAC,KAAKjG,IAAIe,IAAI;IACrEmF,UAAUlG,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIe,IAAI;IACvDoF,SAASnG,IACN4C,KAAK,GACLwC,GAAG,CAAC,GACJvC,KAAK,CACJ7C,IAAIoB,YAAY,GAAGC,GAAG,CACpBrB,IAAIY,MAAM,IACVZ,IAAIG,MAAM,CAAC;QACTgD,OAAOnD,IACJoB,YAAY,GACZC,GAAG,CAACrB,IAAIe,IAAI,IAAIf,IAAIY,MAAM,IAAIZ,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;YAACZ,IAAIY,MAAM;SAAG,GAC/EyC,QAAQ;QACX+C,OAAOpG,IAAIY,MAAM,GAAGyC,QAAQ,GAAG4C,KAAK,CAAC;IACvC,KAGH5C,QAAQ;AACb,GAAE;AAEF,OAAO,MAAMkD,MAAMnE,UAAUhC,IAAI,CAAC;IAChCuD,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,OAAOsB,QAAQ;IACxCZ,OAAO/B,gBAAgBD,OAAO;IAC9B+F,QAAQxG,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIyG,IAAI,CAAC;AACrC,GAAE;AAEF,OAAO,MAAMC,cAActE,UAAUhC,IAAI,CAAC;IACxCuD,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,eAAesB,QAAQ;IAChDZ,OAAO/B,gBACJN,IAAI,CAAC;QACJS,YAAYX,yBACTE,IAAI,CAAC;YACJuG,UAAU1G,gBAAgB2G,QAAQ;QACpC,GACCnG,OAAO,CAAC,CAAC;IACd,GACCA,OAAO,CAAC,CAAC;IACZ+F,QAAQxG,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIyG,IAAI,CAAC;IACnCtD,OAAOnD,IAAIoB,YAAY,GAAGyF,WAAW,CAAC,6BAA6B;QACjEjC,IAAI5E,IAAI8G,KAAK;QACb7B,WAAWjF,IACRoB,YAAY,GACZC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;YAACZ,IAAIY,MAAM;SAAG,GAAGZ,IAAIsB,QAAQ,IAClF+B,QAAQ;QACXwB,MAAM7E,IACHoB,YAAY,GACZC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;YAACZ,IAAIY,MAAM;SAAG,GAAGZ,IAAIsB,QAAQ,IAClFsF,QAAQ;IACb;AACF,GAAE;AAEF,MAAMG,MAAM3E,UAAUhC,IAAI,CAAC;IACzBsD,MAAM1D,IAAIY,MAAM,GAAG+D,IAAI,CAAC,aAAa;QAAEC,IAAI5E,IAAI8G,KAAK;QAAIjC,MAAM7E,IAAIqD,QAAQ;IAAG;IAC7ElC,aAAanB,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,IAAIX;IAClDuG,QAAQxG,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIyG,IAAI,CAAC,WAAWpD,QAAQ;IACtD2D,eAAehH,IAAIY,MAAM,GAAG+D,IAAI,CAAC,QAAQ;QAAEd,KAAK7D,IAAI8G,KAAK;QAAIjC,MAAM7E,IAAI8E,SAAS;IAAG;IACnF3B,OAAOnD,IACJoB,YAAY,GACZC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;QAACZ,IAAIY,MAAM;KAAG,GACnE+D,IAAI,CAAC,QAAQ;QAAEC,IAAI5E,IAAI6D,GAAG;QAAIgB,MAAM7E,IAAIqD,QAAQ;IAAG;IACtDD,WAAWpD,IAAIwB,OAAO;IACtB8B,WAAWtD,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIwB,OAAO,IAAIxB,IAAIY,MAAM;AAC7D;AAEA,OAAO,MAAMqG,OAAO7E,UAAUhC,IAAI,CAAC;IACjCuD,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,QAAQsB,QAAQ;IACzCZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1Be,aAAanB,IAAI8E,SAAS;IAC5B;IACA0B,QAAQxG,IAAI8E,SAAS;IACrB1B,WAAWpD,IAAI8E,SAAS;IACxBmC,MAAMjH,IAAI4C,KAAK,GAAGC,KAAK,CAACkE,KAAK1D,QAAQ;AACvC,GAAE;AAEF,OAAO,MAAM6D,QAAQ9E,UAAUhC,IAAI,CAAC;IAClCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,SAASsB,QAAQ;IAC1CZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1B+G,YAAYnH,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IACpC;IACA6D,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIG,MAAM,IAAIH,IAAIe,IAAI;IAC3DyF,QAAQxG,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIyG,IAAI,CAAC;IACnCO,eAAehH,IAAIY,MAAM;AAC3B,GAAE;AAEF,OAAO,MAAMgC,QAAQR,UAAUhC,IAAI,CAAC;IAClCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,SAASsB,QAAQ;IAC1CZ,OAAO/B,gBACJN,IAAI,CAAC;QACJS,YAAYX,yBACTE,IAAI,CAAC;YACJuG,UAAU1G;QACZ,GACCQ,OAAO,CAAC,CAAC;QACZsF,YAAY/F,IAAIwB,OAAO;IACzB,GACCf,OAAO,CAAC,CAAC;IACZuF,QAAQhG,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIe,IAAI;IACrDuD,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIG,MAAM,KAAKH,IAAIe,IAAI;IAC9EyF,QAAQxG,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIyG,IAAI,CAAC,WAAWpD,QAAQ;IACtD2D,eAAehH,IAAIY,MAAM;IACzBwG,QAAQpH,IAAIG,MAAM,CAAC;QACjBkH,QAAQrH,IACLoB,YAAY,GACZC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;YAACZ,IAAIY,MAAM;SAAG;QACtE0G,UAAUtH,IACPoB,YAAY,GACZC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;YAACZ,IAAIY,MAAM;SAAG;IACxE;IACA8D,SAAS1E,IAAIyE,MAAM;IACnBO,SAAShF,IAAIyE,MAAM;AACrB,GAAE;AAEF,OAAO,MAAM8C,SAASnF,UAAUhC,IAAI,CAAC;IACnCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,UAAUsB,QAAQ;IAC3CZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1BS,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;QACT;IACF;IACAqE,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIG,MAAM,IAAIH,IAAIe,IAAI;IAC3DyG,eAAexH,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIG,MAAM,IAAIH,IAAIe,IAAI;IAC5D0G,UAAUzH,IAAIyE,MAAM;IACpBiD,YAAY1H,IAAIY,MAAM,GAAGyC,QAAQ;AACnC,GAAE;AAEF,OAAO,MAAMsE,WAAWvF,UAAUhC,IAAI,CAAC;IACrCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,YAAYsB,QAAQ;IAC7CZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1BS,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;YACPiE,YAAYlE,IAAI4C,KAAK,GAAGC,KAAK,CAAC5C;YAC9BkE,aAAanE,IAAI4C,KAAK,GAAGC,KAAK,CAAC5C;QACjC;IACF;IACAqE,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIwB,OAAO,IAAIxB,IAAIe,IAAI;AAC9D,GAAE;AAEF,OAAO,MAAM6G,QAAQxF,UAAUhC,IAAI,CAAC;IAClCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,SAASsB,QAAQ;IAC1CZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1BS,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;YACPiE,YAAYlE,IAAI4C,KAAK,GAAGC,KAAK,CAAC5C;YAC9BkE,aAAanE,IAAI4C,KAAK,GAAGC,KAAK,CAAC5C;QACjC;IACF;IACAqE,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIyE,MAAM,IAAIU,GAAG,CAAC,GAAGC,GAAG,CAAC,IAAIpF,IAAIe,IAAI;AAC9F,GAAE;AAEF,OAAO,MAAM8G,eAAezF,UAAUhC,IAAI,CAAC;IACzCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,gBAAgBsB,QAAQ;IACjDZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1B0H,aAAa9H,IAAIwB,OAAO,GAAGf,OAAO,CAAC;QACnCI,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;QACT;QACA8F,YAAY/F,IAAIwB,OAAO,GAAGf,OAAO,CAAC;QAClCsH,aAAa/H,IAAIoB,YAAY,GAAGyF,WAAW,CAAC7G,IAAIgI,GAAG,CAAC,kBAAkB;YACpEpD,IAAI5E,IAAIY,MAAM;YACdqE,WAAWjF,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAIZ,IAAIY,MAAM;YACxDiE,MAAM7E,IAAIY,MAAM;QAClB;IACF;IACA0D,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIe,IAAI;IAC7CyG,eAAexH,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIG,MAAM,IAAIH,IAAIe,IAAI;IAC5DwD,SAASvE,IAAIwB,OAAO,GAAGf,OAAO,CAAC;IAC/B0E,KAAKnF,IACFyE,MAAM,GACNE,IAAI,CAAC,WAAW;QAAEC,IAAI5E,IAAI6D,GAAG,CAAC;QAAOgB,MAAM7E,IAAI8E,SAAS;IAAG,GAC3DmD,OAAO,CAAC,cAAc;QAAEC,SAAS;IAAuB;IAC3DT,UAAUzH,IAAIyE,MAAM;IACpBC,SAAS1E,IAAIyE,MAAM,GAAGE,IAAI,CAAC,WAAW;QAAEC,IAAI5E,IAAI6D,GAAG,CAAC;QAAOgB,MAAM7E,IAAI8E,SAAS;IAAG;IACjFM,KAAKpF,IACFyE,MAAM,GACNE,IAAI,CAAC,WAAW;QAAEC,IAAI5E,IAAI6D,GAAG,CAAC;QAAOgB,MAAM7E,IAAI8E,SAAS;IAAG,GAC3DmD,OAAO,CAAC,cAAc;QAAEC,SAAS;IAAuB;IAC3DlD,SAAShF,IAAIyE,MAAM,GAAGE,IAAI,CAAC,WAAW;QAAEC,IAAI5E,IAAI6D,GAAG,CAAC;QAAOgB,MAAM7E,IAAI8E,SAAS;IAAG;IACjF4C,YAAY1H,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,GAAGyC,QAAQ,IAAIrD,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIY,MAAM;AAC1F,GAAE;AAEF,OAAO,MAAMuH,SAAS/F,UAAUhC,IAAI,CAAC;IACnCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,UAAUsB,QAAQ;IAC3CZ,OAAO/B,gBACJN,IAAI,CAAC;QACJ2F,YAAY/F,IAAIwB,OAAO;IACzB,GACCf,OAAO,CAAC,CAAC;IACZ0H,QAAQnI,IACL4C,KAAK,GACLC,KAAK,CACJ7C,IAAIG,MAAM,CAAC;QACTiI,MAAMpI,IAAIY,MAAM,GAAGyC,QAAQ;QAC3BZ,OAAOzC,IAAIG,MAAM,GAAGC,IAAI,CAAC;YACvBY,QAAQhB,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAIZ,IAAIkB,GAAG;QACpD;QACAF,QAAQhB,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAIZ,IAAIkB,GAAG;QAClD8E,QAAQhG,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIe,IAAI;QACrDyF,QAAQxG,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIyG,IAAI,CAAC;QACnC4B,SAASrI,IAAIG,MAAM,GAAGC,IAAI,CAAC;YACzBkI,cAActI,IAAIY,MAAM;QAC1B;QACA2H,cAAcvI,IAAIY,MAAM;QACxB4H,UAAUxI,IAAIY,MAAM;QACpBoG,eAAehH,IAAIY,MAAM;QACzBwG,QAAQpH,IAAIG,MAAM,CAAC;YACjBkH,QAAQrH,IACLoB,YAAY,GACZC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;gBAACZ,IAAIY,MAAM;aAAG;YACtE0G,UAAUtH,IACPoB,YAAY,GACZC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;gBAACZ,IAAIY,MAAM;aAAG;QACxE;IACF,IAEDyC,QAAQ;IACXiB,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIG,MAAM,KAAKH,IAAIe,IAAI;IAC9EqG,QAAQpH,IAAIG,MAAM,CAAC;QACjBkH,QAAQrH,IACLoB,YAAY,GACZC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;YAACZ,IAAIY,MAAM;SAAG;QACtE0G,UAAUtH,IACPoB,YAAY,GACZC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;YAACZ,IAAIY,MAAM;SAAG;IACxE;IACA8D,SAAS1E,IAAIyE,MAAM;IACnBO,SAAShF,IAAIyE,MAAM;AACrB,GAAE;AAEF,OAAO,MAAMgE,WAAWrG,UAAUhC,IAAI,CAAC;IACrCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,YAAYsB,QAAQ;IAC7CZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1BS,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;QACT;IACF;IACAqE,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAI4C,KAAK,GAAGC,KAAK,CAAC7C,IAAIG,MAAM,KAAKH,IAAIe,IAAI,IAAIf,IAAIG,MAAM;IAC5FuI,QAAQ1I,IACLG,MAAM,GACNC,IAAI,CAAC;QACJuI,eAAe1I,gBAAgB2G,QAAQ;QACvCgC,gBAAgB3I,gBAAgB2G,QAAQ;QACxCiC,kBAAkB7I,IAAIe,IAAI,GAAG6F,QAAQ;QACrCkC,2BAA2B9I,IAAIe,IAAI,GAAG6F,QAAQ;QAC9CmC,cAAc/I,IAAIe,IAAI,GAAG6F,QAAQ;QACjCpD,UAAUxD,IAAIe,IAAI,GAAGsC,QAAQ;IAC/B,GACCnB,OAAO;IACVuF,UAAUzH,IAAIyE,MAAM;AACtB,GAAE;AAEF,OAAO,MAAMuE,OAAO5G,UAAUhC,IAAI,CAAC;IACjCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,QAAQsB,QAAQ;IACzCZ,OAAO/B,gBAAgBN,IAAI,CAAC;QAC1BS,YAAYX,yBAAyBE,IAAI,CAAC;YACxC4D,OAAO/D;YACPgE,OAAOhE;YACPiE,YAAYlE,IAAI4C,KAAK,GAAGC,KAAK,CAAC5C;YAC9BkE,aAAanE,IAAI4C,KAAK,GAAGC,KAAK,CAAC5C;QACjC;QACA+I,MAAMhJ,IAAIG,MAAM,CAAC;YACf8I,eAAejJ,IAAIY,MAAM;YACzBsI,SAASlJ,IAAIgJ,IAAI;YACjBG,SAASnJ,IAAIgJ,IAAI;YACjBI,SAASpJ,IAAIgJ,IAAI;YACjBK,SAASrJ,IAAIgJ,IAAI;YACjBM,cAActJ,IAAIyE,MAAM;YACxB8E,WAAWvJ,IAAIG,MAAM,GAAG+B,OAAO;YAC/BsH,kBAAkBxJ,IAAIY,MAAM;YAC5B6I,YAAYzJ,IAAIY,MAAM;YACtB8I,eAAe1J,IAAIyE,MAAM;QAC3B;QACAL,aAAapE,IAAIY,MAAM;IACzB;IACA0D,cAActE,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIe,IAAI;AAC7D,GAAE;AAEF,OAAO,MAAM4I,KAAK3J,IAAIG,MAAM,GAAGC,IAAI,CAAC;IAClCsD,MAAM1D,IAAIY,MAAM,GAAGyC,QAAQ;IAC3BM,MAAM3D,IAAIY,MAAM,GAAGmB,KAAK,CAAC,MAAMsB,QAAQ;IACvCZ,OAAOzC,IACJG,MAAM,GACNC,IAAI,CAAC;QACJS,YAAYb,IACTG,MAAM,GACNC,IAAI,CAAC;YACJC,MAAMJ;YACNM,OAAON;QACT,GACCQ,OAAO,CAAC,CAAC;QACZK,WAAWd,IAAIe,IAAI;QACnBC,QAAQhB,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAIZ,IAAIkB,GAAG;QAClDO,mBAAmBzB,IAAIwB,OAAO,GAAGf,OAAO,CAAC;QACzCqB,UAAU9B,IAAIY,MAAM,GAAGmB,KAAK,CAAC;QAC7BI,OAAOnC,IAAIY,MAAM;IACnB,GACCH,OAAO;IACVO,QAAQhB,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAIZ,IAAIkB,GAAG;IAClDiC,OAAOnD,IAAIoB,YAAY,GAAGC,GAAG,CAACrB,IAAIY,MAAM,IAAIZ,IAAIG,MAAM,GAAGc,OAAO,CAACjB,IAAIY,MAAM,IAAI;QAACZ,IAAIY,MAAM;KAAG;AAC/F,GAAE;AAEF,MAAMgJ,cAAc5J,IACjBoB,YAAY,GACZC,GAAG,CACFyC,MACAW,QACAY,UACAE,OACAC,MACAG,MACAE,QACAqB,OACAtE,OACA2D,KACAG,aACAO,MACAZ,OACAwB,cACAF,UACAJ,QACAkB,UACAN,QACAa,MACApB,OACA+B,IAEDE,EAAE,CAAC;AAEN,eAAeD,YAAW"}
@@ -27,16 +27,28 @@ export type FieldHookArgs<TData extends TypeWithID = any, TValue = any, TSibling
27
27
  /** The full original document in `update` operations. In the `afterChange` hook, this is the resulting document of the operation. */
28
28
  originalDoc?: TData;
29
29
  overrideAccess?: boolean;
30
+ /**
31
+ * The path of the field, e.g. ["group", "myArray", 1, "textField"]. The path is the schemaPath but with indexes and would be used in the context of field data, not field schemas.
32
+ */
33
+ path: (number | string)[];
30
34
  /** The document before changes were applied, only in `afterChange` hooks. */
31
35
  previousDoc?: TData;
32
- /** The sibling data of the document before changes being applied, only in `beforeChange` and `afterChange` hook. */
36
+ /** The sibling data of the document before changes being applied, only in `beforeChange`, `beforeValidate`, `beforeDuplicate` and `afterChange` field hooks. */
33
37
  previousSiblingDoc?: TData;
34
- /** The previous value of the field, before changes, only in `beforeChange`, `afterChange` and `beforeValidate` hooks. */
38
+ /** The previous value of the field, before changes, only in `beforeChange`, `afterChange`, `beforeDuplicate` and `beforeValidate` field hooks. */
35
39
  previousValue?: TValue;
36
40
  /** The Express request object. It is mocked for Local API operations. */
37
41
  req: PayloadRequestWithData;
42
+ /**
43
+ * The schemaPath of the field, e.g. ["group", "myArray", "textField"]. The schemaPath is the path but without indexes and would be used in the context of field schemas, not field data.
44
+ */
45
+ schemaPath: string[];
38
46
  /** The sibling data passed to a field that the hook is running against. */
39
47
  siblingData: Partial<TSiblingData>;
48
+ /**
49
+ * The original siblingData with locales (not modified by any hooks). Only available in `beforeChange` and `beforeDuplicate` field hooks.
50
+ */
51
+ siblingDocWithLocales?: Record<string, unknown>;
40
52
  /** The value of the field. */
41
53
  value?: TValue;
42
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/config/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/config/types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-use-before-define */\nimport type { EditorProps } from '@monaco-editor/react'\nimport type { CSSProperties } from 'react'\n\n//eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport monacoeditor from 'monaco-editor' // IMPORTANT - DO NOT REMOVE: This is required for pnpm's default isolated mode to work - even though the import is not used. This is due to a typescript bug: https://github.com/microsoft/TypeScript/issues/47663#issuecomment-1519138189. (tsbugisolatedmode)\nimport type React from 'react'\n\nimport type { RichTextAdapter, RichTextAdapterProvider } from '../../admin/RichText.js'\nimport type {\n ConditionalDateProps,\n Description,\n DescriptionComponent,\n ErrorProps,\n LabelProps,\n RowLabelComponent,\n} from '../../admin/types.js'\nimport type { SanitizedCollectionConfig, TypeWithID } from '../../collections/config/types.js'\nimport type { CustomComponent, LabelFunction } from '../../config/types.js'\nimport type { DBIdentifierName } from '../../database/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\nimport type { DocumentPreferences } from '../../preferences/types.js'\nimport type { Operation, PayloadRequestWithData, RequestContext, Where } from '../../types/index.js'\nimport type { ClientFieldConfig } from './client.js'\n\nexport type FieldHookArgs<TData extends TypeWithID = any, TValue = any, TSiblingData = any> = {\n /** The collection which the field belongs to. If the field belongs to a global, this will be null. */\n collection: SanitizedCollectionConfig | null\n context: RequestContext\n /** The data passed to update the document within create and update operations, and the full document itself in the afterRead hook. */\n data?: Partial<TData>\n /** The field which the hook is running against. */\n field: FieldAffectingData\n /** Boolean to denote if this hook is running against finding one, or finding many within the afterRead hook. */\n findMany?: boolean\n /** The global which the field belongs to. If the field belongs to a collection, this will be null. */\n global: SanitizedGlobalConfig | null\n /** A string relating to which operation the field type is currently executing within. Useful within beforeValidate, beforeChange, and afterChange hooks to differentiate between create and update operations. */\n operation?: 'create' | 'delete' | 'read' | 'update'\n /** The full original document in `update` operations. In the `afterChange` hook, this is the resulting document of the operation. */\n originalDoc?: TData\n overrideAccess?: boolean\n /** The document before changes were applied, only in `afterChange` hooks. */\n previousDoc?: TData\n /** The sibling data of the document before changes being applied, only in `beforeChange` and `afterChange` hook. */\n previousSiblingDoc?: TData\n /** The previous value of the field, before changes, only in `beforeChange`, `afterChange` and `beforeValidate` hooks. */\n previousValue?: TValue\n /** The Express request object. It is mocked for Local API operations. */\n req: PayloadRequestWithData\n /** The sibling data passed to a field that the hook is running against. */\n siblingData: Partial<TSiblingData>\n /** The value of the field. */\n value?: TValue\n}\n\nexport type FieldHook<TData extends TypeWithID = any, TValue = any, TSiblingData = any> = (\n args: FieldHookArgs<TData, TValue, TSiblingData>,\n) => Promise<TValue> | TValue\n\nexport type FieldAccess<TData extends TypeWithID = any, TSiblingData = any> = (args: {\n /**\n * The incoming data used to `create` or `update` the document with. `data` is undefined during the `read` operation.\n */\n data?: Partial<TData>\n /**\n * The original data of the document before the `update` is applied. `doc` is undefined during the `create` operation.\n */\n doc?: TData\n /**\n * The `id` of the current document being read or updated. `id` is undefined during the `create` operation.\n */\n id?: number | string\n /** The `payload` object to interface with the payload API */\n req: PayloadRequestWithData\n /**\n * Immediately adjacent data to this field. For example, if this is a `group` field, then `siblingData` will be the other fields within the group.\n */\n siblingData?: Partial<TSiblingData>\n}) => Promise<boolean> | boolean\n\nexport type Condition<TData extends TypeWithID = any, TSiblingData = any> = (\n data: Partial<TData>,\n siblingData: Partial<TSiblingData>,\n { user }: { user: PayloadRequestWithData['user'] },\n) => boolean\n\nexport type FilterOptionsProps<TData = any> = {\n /**\n * An object containing the full collection or global document currently being edited.\n */\n data: TData\n /**\n * The `id` of the current document being edited. `id` is undefined during the `create` operation.\n */\n id: number | string\n /**\n * The collection `slug` to filter against, limited to this field's `relationTo` property.\n */\n relationTo: string\n /**\n * An object containing document data that is scoped to only fields within the same parent of this field.\n */\n siblingData: unknown\n /**\n * An object containing the currently authenticated user.\n */\n user: Partial<PayloadRequestWithData['user']>\n}\n\nexport type FilterOptions<TData = any> =\n | ((options: FilterOptionsProps<TData>) => Promise<Where | boolean> | Where | boolean)\n | Where\n | null\n\ntype Admin = {\n className?: string\n components?: {\n Cell?: CustomComponent\n Description?: DescriptionComponent\n Field?: CustomComponent\n /**\n * The Filter component has to be a client component\n */\n Filter?: React.ComponentType<any>\n }\n /**\n * You can programmatically show / hide fields based on what other fields are doing.\n * This is also run on the server, to determine if the field should be validated.\n */\n condition?: Condition\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n description?: Description\n disableBulkEdit?: boolean\n /**\n * Shows / hides fields from appearing in the list view column selector.\n * @type boolean\n */\n disableListColumn?: boolean\n /**\n * Shows / hides fields from appearing in the list view filter options.\n * @type boolean\n */\n disableListFilter?: boolean\n disabled?: boolean\n hidden?: boolean\n position?: 'sidebar'\n readOnly?: boolean\n style?: CSSProperties\n width?: string\n}\n\nexport type Labels = {\n plural: LabelFunction | Record<string, string> | string\n singular: LabelFunction | Record<string, string> | string\n}\n\nexport type BaseValidateOptions<TData, TSiblingData> = {\n data: Partial<TData>\n id?: number | string\n operation?: Operation\n preferences: DocumentPreferences\n req: PayloadRequestWithData\n siblingData: Partial<TSiblingData>\n}\n\nexport type ValidateOptions<TData, TSiblingData, TFieldConfig extends object> = BaseValidateOptions<\n TData,\n TSiblingData\n> &\n TFieldConfig\n\nexport type Validate<\n TValue = any,\n TData = any,\n TSiblingData = any,\n TFieldConfig extends object = object,\n> = (\n value: TValue,\n options: ValidateOptions<TData, TSiblingData, TFieldConfig>,\n) => Promise<string | true> | string | true\n\nexport type ClientValidate = Omit<Validate, 'req'>\n\nexport type OptionObject = {\n label: LabelFunction | Record<string, string> | string\n value: string\n}\n\nexport type Option = OptionObject | string\n\nexport interface FieldBase {\n access?: {\n create?: FieldAccess\n read?: FieldAccess\n update?: FieldAccess\n }\n admin?: Admin\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n defaultValue?: any\n hidden?: boolean\n hooks?: {\n afterChange?: FieldHook[]\n afterRead?: FieldHook[]\n beforeChange?: FieldHook[]\n /**\n * Runs before a document is duplicated to prevent errors in unique fields or return null to use defaultValue.\n */\n beforeDuplicate?: FieldHook[]\n beforeValidate?: FieldHook[]\n }\n index?: boolean\n label?: LabelFunction | Record<string, string> | false | string\n localized?: boolean\n name: string\n required?: boolean\n saveToJWT?: boolean | string\n unique?: boolean\n validate?: Validate\n}\n\nexport type NumberField = FieldBase & {\n admin?: Admin & {\n /** Set this property to a string that will be used for browser autocomplete. */\n autoComplete?: string\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n }\n /** Set this property to define a placeholder string for the field. */\n placeholder?: Record<string, string> | string\n /** Set a value for the number field to increment / decrement using browser controls. */\n step?: number\n }\n /** Maximum value accepted. Used in the default `validation` function. */\n max?: number\n /** Minimum value accepted. Used in the default `validation` function. */\n min?: number\n type: 'number'\n} & (\n | {\n /** Makes this field an ordered array of numbers instead of just a single number. */\n hasMany: true\n /** Maximum number of numbers in the numbers array, if `hasMany` is set to true. */\n maxRows?: number\n /** Minimum number of numbers in the numbers array, if `hasMany` is set to true. */\n minRows?: number\n }\n | {\n /** Makes this field an ordered array of numbers instead of just a single number. */\n hasMany?: false | undefined\n /** Maximum number of numbers in the numbers array, if `hasMany` is set to true. */\n maxRows?: undefined\n /** Minimum number of numbers in the numbers array, if `hasMany` is set to true. */\n minRows?: undefined\n }\n )\n\nexport type TextField = FieldBase & {\n admin?: Admin & {\n autoComplete?: string\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n }\n placeholder?: Record<string, string> | string\n rtl?: boolean\n }\n maxLength?: number\n minLength?: number\n type: 'text'\n} & (\n | {\n /** Makes this field an ordered array of strings instead of just a single string. */\n hasMany: true\n /** Maximum number of strings in the strings array, if `hasMany` is set to true. */\n maxRows?: number\n /** Minimum number of strings in the strings array, if `hasMany` is set to true. */\n minRows?: number\n }\n | {\n /** Makes this field an ordered array of strings instead of just a single string. */\n hasMany?: false | undefined\n /** Maximum number of strings in the strings array, if `hasMany` is set to true. */\n maxRows?: undefined\n /** Minimum number of strings in the strings array, if `hasMany` is set to true. */\n minRows?: undefined\n }\n )\n\nexport type EmailField = FieldBase & {\n admin?: Admin & {\n autoComplete?: string\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n }\n placeholder?: Record<string, string> | string\n }\n type: 'email'\n}\n\nexport type TextareaField = FieldBase & {\n admin?: Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n }\n placeholder?: Record<string, string> | string\n rows?: number\n rtl?: boolean\n }\n maxLength?: number\n minLength?: number\n type: 'textarea'\n}\n\nexport type CheckboxField = FieldBase & {\n admin?: Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n }\n }\n type: 'checkbox'\n}\n\nexport type DateField = FieldBase & {\n admin?: Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n }\n date?: ConditionalDateProps\n placeholder?: Record<string, string> | string\n }\n type: 'date'\n}\n\nexport type GroupField = Omit<FieldBase, 'required' | 'validation'> & {\n admin?: Admin & {\n hideGutter?: boolean\n }\n fields: Field[]\n /** Customize generated GraphQL and Typescript schema names.\n * By default, it is bound to the collection.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n type: 'group'\n}\n\nexport type RowAdmin = Omit<Admin, 'description'>\n\nexport type RowField = Omit<FieldBase, 'admin' | 'label' | 'name'> & {\n admin?: RowAdmin\n fields: Field[]\n type: 'row'\n}\n\nexport type CollapsibleField = Omit<FieldBase, 'label' | 'name'> & {\n fields: Field[]\n type: 'collapsible'\n} & (\n | {\n admin: Admin & {\n components: {\n RowLabel: RowLabelComponent\n } & Admin['components']\n initCollapsed?: boolean\n }\n label?: Required<FieldBase['label']>\n }\n | {\n admin?: Admin & {\n initCollapsed?: boolean\n }\n label: Required<FieldBase['label']>\n }\n )\n\nexport type TabsAdmin = Omit<Admin, 'description'>\n\ntype TabBase = Omit<FieldBase, 'required' | 'validation'> & {\n description?: Description\n fields: Field[]\n interfaceName?: string\n saveToJWT?: boolean | string\n}\n\nexport type NamedTab = TabBase & {\n /** Customize generated GraphQL and Typescript schema names.\n * The slug is used by default.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n}\n\nexport type UnnamedTab = Omit<TabBase, 'name'> & {\n interfaceName?: never\n /**\n * Can be either:\n * - A string, which will be used as the tab's label.\n * - An object, where the key is the language code and the value is the label.\n */\n label:\n | {\n [selectedLanguage: string]: string\n }\n | LabelFunction\n | string\n localized?: never\n}\n\nexport type Tab = NamedTab | UnnamedTab\n\nexport type TabsField = Omit<FieldBase, 'admin' | 'localized' | 'name' | 'saveToJWT'> & {\n admin?: TabsAdmin\n tabs: Tab[]\n type: 'tabs'\n}\n\nexport type TabAsField = Tab & {\n name?: string\n type: 'tab'\n}\n\nexport type UIField = {\n admin: {\n components?: {\n Cell?: CustomComponent\n Field: CustomComponent\n /**\n * The Filter component has to be a client component\n */\n Filter?: React.ComponentType<any>\n }\n condition?: Condition\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n disableBulkEdit?: boolean\n /**\n * Shows / hides fields from appearing in the list view column selector.\n * @type boolean\n */\n disableListColumn?: boolean\n position?: string\n width?: string\n }\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n label?: Record<string, string> | string\n name: string\n type: 'ui'\n}\n\nexport type UploadField = FieldBase & {\n admin?: {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n }\n filterOptions?: FilterOptions\n /**\n * Sets a maximum population depth for this field, regardless of the remaining depth when this field is reached.\n *\n * {@link https://payloadcms.com/docs/getting-started/concepts#field-level-max-depth}\n */\n maxDepth?: number\n relationTo: string\n type: 'upload'\n}\n\ntype CodeAdmin = Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n editorOptions?: EditorProps['options']\n language?: string\n}\n\nexport type CodeField = Omit<FieldBase, 'admin'> & {\n admin?: CodeAdmin\n maxLength?: number\n minLength?: number\n type: 'code'\n}\n\ntype JSONAdmin = Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n editorOptions?: EditorProps['options']\n}\n\nexport type JSONField = Omit<FieldBase, 'admin'> & {\n admin?: JSONAdmin\n jsonSchema?: Record<string, unknown>\n type: 'json'\n}\n\nexport type SelectField = FieldBase & {\n admin?: Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n isClearable?: boolean\n isSortable?: boolean\n }\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n /**\n * Customize the DB enum name\n */\n enumName?: DBIdentifierName\n hasMany?: boolean\n options: Option[]\n type: 'select'\n}\n\ntype SharedRelationshipProperties = FieldBase & {\n filterOptions?: FilterOptions\n hasMany?: boolean\n /**\n * Sets a maximum population depth for this field, regardless of the remaining depth when this field is reached.\n *\n * {@link https://payloadcms.com/docs/getting-started/concepts#field-level-max-depth}\n */\n maxDepth?: number\n type: 'relationship'\n} & (\n | {\n hasMany: true\n /**\n * @deprecated Use 'maxRows' instead\n */\n max?: number\n maxRows?: number\n /**\n * @deprecated Use 'minRows' instead\n */\n min?: number\n minRows?: number\n }\n | {\n hasMany?: false | undefined\n /**\n * @deprecated Use 'maxRows' instead\n */\n max?: undefined\n maxRows?: undefined\n /**\n * @deprecated Use 'minRows' instead\n */\n min?: undefined\n minRows?: undefined\n }\n )\n\ntype RelationshipAdmin = Admin & {\n allowCreate?: boolean\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n isSortable?: boolean\n}\nexport type PolymorphicRelationshipField = SharedRelationshipProperties & {\n admin?: RelationshipAdmin & {\n sortOptions?: { [collectionSlug: string]: string }\n }\n relationTo: string[]\n}\nexport type SingleRelationshipField = SharedRelationshipProperties & {\n admin?: RelationshipAdmin & {\n sortOptions?: string\n }\n relationTo: string\n}\nexport type RelationshipField = PolymorphicRelationshipField | SingleRelationshipField\n\nexport type ValueWithRelation = {\n relationTo: string\n value: number | string\n}\n\nexport function valueIsValueWithRelation(value: unknown): value is ValueWithRelation {\n return value !== null && typeof value === 'object' && 'relationTo' in value && 'value' in value\n}\n\nexport type RelationshipValue =\n | (number | string)[]\n | ValueWithRelation\n | ValueWithRelation[]\n | (number | string)\n\nexport type RichTextField<\n Value extends object = any,\n AdapterProps = any,\n ExtraProperties = object,\n> = FieldBase & {\n admin?: Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n }\n editor?:\n | RichTextAdapter<Value, AdapterProps, AdapterProps>\n | RichTextAdapterProvider<Value, AdapterProps, AdapterProps>\n /**\n * Sets a maximum population depth for this field, regardless of the remaining depth when this field is reached.\n *\n * {@link https://payloadcms.com/docs/getting-started/concepts#field-level-max-depth}\n */\n maxDepth?: number\n type: 'richText'\n} & ExtraProperties\n\nexport type ArrayField = FieldBase & {\n admin?: Admin & {\n components?: {\n RowLabel?: RowLabelComponent\n } & Admin['components']\n initCollapsed?: boolean\n /**\n * Disable drag and drop sorting\n */\n isSortable?: boolean\n }\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n fields: Field[]\n /** Customize generated GraphQL and Typescript schema names.\n * By default, it is bound to the collection.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n labels?: Labels\n maxRows?: number\n minRows?: number\n type: 'array'\n}\n\nexport type RadioField = FieldBase & {\n admin?: Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n layout?: 'horizontal' | 'vertical'\n }\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n /**\n * Customize the DB enum name\n */\n enumName?: DBIdentifierName\n options: Option[]\n type: 'radio'\n}\n\nexport type Block = {\n admin?: {\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n }\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n fields: Field[]\n /** @deprecated - please migrate to the interfaceName property instead. */\n graphQL?: {\n singularName?: string\n }\n imageAltText?: string\n imageURL?: string\n /** Customize generated GraphQL and Typescript schema names.\n * The slug is used by default.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n labels?: Labels\n slug: string\n}\n\nexport type BlockField = FieldBase & {\n admin?: Admin & {\n initCollapsed?: boolean\n /**\n * Disable drag and drop sorting\n */\n isSortable?: boolean\n }\n blocks: Block[]\n defaultValue?: unknown\n labels?: Labels\n maxRows?: number\n minRows?: number\n type: 'blocks'\n}\n\nexport type PointField = FieldBase & {\n type: 'point'\n}\n\nexport type Field =\n | ArrayField\n | BlockField\n | CheckboxField\n | CodeField\n | CollapsibleField\n | DateField\n | EmailField\n | GroupField\n | JSONField\n | NumberField\n | PointField\n | RadioField\n | RelationshipField\n | RichTextField\n | RowField\n | SelectField\n | TabsField\n | TextField\n | TextareaField\n | UIField\n | UploadField\n\nexport type FieldAffectingData =\n | ArrayField\n | BlockField\n | CheckboxField\n | CodeField\n | DateField\n | EmailField\n | GroupField\n | JSONField\n | NumberField\n | PointField\n | RadioField\n | RelationshipField\n | RichTextField\n | SelectField\n | TabAsField\n | TextField\n | TextareaField\n | UploadField\n\nexport type NonPresentationalField =\n | ArrayField\n | BlockField\n | CheckboxField\n | CodeField\n | CollapsibleField\n | DateField\n | EmailField\n | GroupField\n | JSONField\n | NumberField\n | PointField\n | RadioField\n | RelationshipField\n | RichTextField\n | RowField\n | SelectField\n | TabsField\n | TextField\n | TextareaField\n | UploadField\n\nexport type FieldWithPath = Field & {\n path?: string\n}\n\nexport type FieldWithSubFields = ArrayField | CollapsibleField | GroupField | RowField\n\nexport type FieldPresentationalOnly = UIField\n\nexport type FieldWithMany = RelationshipField | SelectField\n\nexport type FieldWithMaxDepth = RelationshipField | UploadField\n\nexport function fieldHasSubFields(field: ClientFieldConfig | Field): field is FieldWithSubFields {\n return (\n field.type === 'group' ||\n field.type === 'array' ||\n field.type === 'row' ||\n field.type === 'collapsible'\n )\n}\n\nexport function fieldIsArrayType(field: Field): field is ArrayField {\n return field.type === 'array'\n}\n\nexport function fieldIsBlockType(field: Field): field is BlockField {\n return field.type === 'blocks'\n}\n\nexport function fieldIsGroupType(field: Field): field is GroupField {\n return field.type === 'group'\n}\n\nexport function optionIsObject(option: Option): option is OptionObject {\n return typeof option === 'object'\n}\n\nexport function optionsAreObjects(options: Option[]): options is OptionObject[] {\n return Array.isArray(options) && typeof options?.[0] === 'object'\n}\n\nexport function optionIsValue(option: Option): option is string {\n return typeof option === 'string'\n}\n\nexport function fieldSupportsMany(field: Field): field is FieldWithMany {\n return field.type === 'select' || field.type === 'relationship'\n}\n\nexport function fieldHasMaxDepth(field: Field): field is FieldWithMaxDepth {\n return (\n (field.type === 'upload' || field.type === 'relationship') && typeof field.maxDepth === 'number'\n )\n}\n\nexport function fieldIsPresentationalOnly(\n field: ClientFieldConfig | Field | TabAsField,\n): field is UIField {\n return field.type === 'ui'\n}\n\nexport function fieldAffectsData(\n field: ClientFieldConfig | Field | TabAsField,\n): field is FieldAffectingData {\n return 'name' in field && !fieldIsPresentationalOnly(field)\n}\n\nexport function tabHasName(tab: Tab): tab is NamedTab {\n return 'name' in tab\n}\n\nexport function fieldIsLocalized(field: Field | Tab): boolean {\n return 'localized' in field && field.localized\n}\n\nexport type HookName =\n | 'afterChange'\n | 'afterRead'\n | 'beforeChange'\n | 'beforeRead'\n | 'beforeValidate'\n"],"names":["valueIsValueWithRelation","value","fieldHasSubFields","field","type","fieldIsArrayType","fieldIsBlockType","fieldIsGroupType","optionIsObject","option","optionsAreObjects","options","Array","isArray","optionIsValue","fieldSupportsMany","fieldHasMaxDepth","maxDepth","fieldIsPresentationalOnly","fieldAffectsData","tabHasName","tab","fieldIsLocalized","localized"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,qDAAqD,GACrD,uCAAuC,GAkmBvC,OAAO,SAASA,yBAAyBC,KAAc;IACrD,OAAOA,UAAU,QAAQ,OAAOA,UAAU,YAAY,gBAAgBA,SAAS,WAAWA;AAC5F;AA8MA,OAAO,SAASC,kBAAkBC,KAAgC;IAChE,OACEA,MAAMC,IAAI,KAAK,WACfD,MAAMC,IAAI,KAAK,WACfD,MAAMC,IAAI,KAAK,SACfD,MAAMC,IAAI,KAAK;AAEnB;AAEA,OAAO,SAASC,iBAAiBF,KAAY;IAC3C,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASE,iBAAiBH,KAAY;IAC3C,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASG,iBAAiBJ,KAAY;IAC3C,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASI,eAAeC,MAAc;IAC3C,OAAO,OAAOA,WAAW;AAC3B;AAEA,OAAO,SAASC,kBAAkBC,OAAiB;IACjD,OAAOC,MAAMC,OAAO,CAACF,YAAY,OAAOA,SAAS,CAAC,EAAE,KAAK;AAC3D;AAEA,OAAO,SAASG,cAAcL,MAAc;IAC1C,OAAO,OAAOA,WAAW;AAC3B;AAEA,OAAO,SAASM,kBAAkBZ,KAAY;IAC5C,OAAOA,MAAMC,IAAI,KAAK,YAAYD,MAAMC,IAAI,KAAK;AACnD;AAEA,OAAO,SAASY,iBAAiBb,KAAY;IAC3C,OACE,AAACA,CAAAA,MAAMC,IAAI,KAAK,YAAYD,MAAMC,IAAI,KAAK,cAAa,KAAM,OAAOD,MAAMc,QAAQ,KAAK;AAE5F;AAEA,OAAO,SAASC,0BACdf,KAA6C;IAE7C,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASe,iBACdhB,KAA6C;IAE7C,OAAO,UAAUA,SAAS,CAACe,0BAA0Bf;AACvD;AAEA,OAAO,SAASiB,WAAWC,GAAQ;IACjC,OAAO,UAAUA;AACnB;AAEA,OAAO,SAASC,iBAAiBnB,KAAkB;IACjD,OAAO,eAAeA,SAASA,MAAMoB,SAAS;AAChD"}
1
+ {"version":3,"sources":["../../../src/fields/config/types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-use-before-define */\nimport type { EditorProps } from '@monaco-editor/react'\nimport type { CSSProperties } from 'react'\n\n//eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport monacoeditor from 'monaco-editor' // IMPORTANT - DO NOT REMOVE: This is required for pnpm's default isolated mode to work - even though the import is not used. This is due to a typescript bug: https://github.com/microsoft/TypeScript/issues/47663#issuecomment-1519138189. (tsbugisolatedmode)\nimport type React from 'react'\n\nimport type { RichTextAdapter, RichTextAdapterProvider } from '../../admin/RichText.js'\nimport type {\n ConditionalDateProps,\n Description,\n DescriptionComponent,\n ErrorProps,\n LabelProps,\n RowLabelComponent,\n} from '../../admin/types.js'\nimport type { SanitizedCollectionConfig, TypeWithID } from '../../collections/config/types.js'\nimport type { CustomComponent, LabelFunction } from '../../config/types.js'\nimport type { DBIdentifierName } from '../../database/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\nimport type { DocumentPreferences } from '../../preferences/types.js'\nimport type { Operation, PayloadRequestWithData, RequestContext, Where } from '../../types/index.js'\nimport type { ClientFieldConfig } from './client.js'\n\nexport type FieldHookArgs<TData extends TypeWithID = any, TValue = any, TSiblingData = any> = {\n /** The collection which the field belongs to. If the field belongs to a global, this will be null. */\n collection: SanitizedCollectionConfig | null\n context: RequestContext\n /** The data passed to update the document within create and update operations, and the full document itself in the afterRead hook. */\n data?: Partial<TData>\n /** The field which the hook is running against. */\n field: FieldAffectingData\n /** Boolean to denote if this hook is running against finding one, or finding many within the afterRead hook. */\n findMany?: boolean\n /** The global which the field belongs to. If the field belongs to a collection, this will be null. */\n global: SanitizedGlobalConfig | null\n /** A string relating to which operation the field type is currently executing within. Useful within beforeValidate, beforeChange, and afterChange hooks to differentiate between create and update operations. */\n operation?: 'create' | 'delete' | 'read' | 'update'\n /** The full original document in `update` operations. In the `afterChange` hook, this is the resulting document of the operation. */\n originalDoc?: TData\n overrideAccess?: boolean\n /**\n * The path of the field, e.g. [\"group\", \"myArray\", 1, \"textField\"]. The path is the schemaPath but with indexes and would be used in the context of field data, not field schemas.\n */\n path: (number | string)[]\n /** The document before changes were applied, only in `afterChange` hooks. */\n previousDoc?: TData\n /** The sibling data of the document before changes being applied, only in `beforeChange`, `beforeValidate`, `beforeDuplicate` and `afterChange` field hooks. */\n previousSiblingDoc?: TData\n /** The previous value of the field, before changes, only in `beforeChange`, `afterChange`, `beforeDuplicate` and `beforeValidate` field hooks. */\n previousValue?: TValue\n /** The Express request object. It is mocked for Local API operations. */\n req: PayloadRequestWithData\n /**\n * The schemaPath of the field, e.g. [\"group\", \"myArray\", \"textField\"]. The schemaPath is the path but without indexes and would be used in the context of field schemas, not field data.\n */\n schemaPath: string[]\n /** The sibling data passed to a field that the hook is running against. */\n siblingData: Partial<TSiblingData>\n /**\n * The original siblingData with locales (not modified by any hooks). Only available in `beforeChange` and `beforeDuplicate` field hooks.\n */\n siblingDocWithLocales?: Record<string, unknown>\n /** The value of the field. */\n value?: TValue\n}\n\nexport type FieldHook<TData extends TypeWithID = any, TValue = any, TSiblingData = any> = (\n args: FieldHookArgs<TData, TValue, TSiblingData>,\n) => Promise<TValue> | TValue\n\nexport type FieldAccess<TData extends TypeWithID = any, TSiblingData = any> = (args: {\n /**\n * The incoming data used to `create` or `update` the document with. `data` is undefined during the `read` operation.\n */\n data?: Partial<TData>\n /**\n * The original data of the document before the `update` is applied. `doc` is undefined during the `create` operation.\n */\n doc?: TData\n /**\n * The `id` of the current document being read or updated. `id` is undefined during the `create` operation.\n */\n id?: number | string\n /** The `payload` object to interface with the payload API */\n req: PayloadRequestWithData\n /**\n * Immediately adjacent data to this field. For example, if this is a `group` field, then `siblingData` will be the other fields within the group.\n */\n siblingData?: Partial<TSiblingData>\n}) => Promise<boolean> | boolean\n\nexport type Condition<TData extends TypeWithID = any, TSiblingData = any> = (\n data: Partial<TData>,\n siblingData: Partial<TSiblingData>,\n { user }: { user: PayloadRequestWithData['user'] },\n) => boolean\n\nexport type FilterOptionsProps<TData = any> = {\n /**\n * An object containing the full collection or global document currently being edited.\n */\n data: TData\n /**\n * The `id` of the current document being edited. `id` is undefined during the `create` operation.\n */\n id: number | string\n /**\n * The collection `slug` to filter against, limited to this field's `relationTo` property.\n */\n relationTo: string\n /**\n * An object containing document data that is scoped to only fields within the same parent of this field.\n */\n siblingData: unknown\n /**\n * An object containing the currently authenticated user.\n */\n user: Partial<PayloadRequestWithData['user']>\n}\n\nexport type FilterOptions<TData = any> =\n | ((options: FilterOptionsProps<TData>) => Promise<Where | boolean> | Where | boolean)\n | Where\n | null\n\ntype Admin = {\n className?: string\n components?: {\n Cell?: CustomComponent\n Description?: DescriptionComponent\n Field?: CustomComponent\n /**\n * The Filter component has to be a client component\n */\n Filter?: React.ComponentType<any>\n }\n /**\n * You can programmatically show / hide fields based on what other fields are doing.\n * This is also run on the server, to determine if the field should be validated.\n */\n condition?: Condition\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n description?: Description\n disableBulkEdit?: boolean\n /**\n * Shows / hides fields from appearing in the list view column selector.\n * @type boolean\n */\n disableListColumn?: boolean\n /**\n * Shows / hides fields from appearing in the list view filter options.\n * @type boolean\n */\n disableListFilter?: boolean\n disabled?: boolean\n hidden?: boolean\n position?: 'sidebar'\n readOnly?: boolean\n style?: CSSProperties\n width?: string\n}\n\nexport type Labels = {\n plural: LabelFunction | Record<string, string> | string\n singular: LabelFunction | Record<string, string> | string\n}\n\nexport type BaseValidateOptions<TData, TSiblingData> = {\n data: Partial<TData>\n id?: number | string\n operation?: Operation\n preferences: DocumentPreferences\n req: PayloadRequestWithData\n siblingData: Partial<TSiblingData>\n}\n\nexport type ValidateOptions<TData, TSiblingData, TFieldConfig extends object> = BaseValidateOptions<\n TData,\n TSiblingData\n> &\n TFieldConfig\n\nexport type Validate<\n TValue = any,\n TData = any,\n TSiblingData = any,\n TFieldConfig extends object = object,\n> = (\n value: TValue,\n options: ValidateOptions<TData, TSiblingData, TFieldConfig>,\n) => Promise<string | true> | string | true\n\nexport type ClientValidate = Omit<Validate, 'req'>\n\nexport type OptionObject = {\n label: LabelFunction | Record<string, string> | string\n value: string\n}\n\nexport type Option = OptionObject | string\n\nexport interface FieldBase {\n access?: {\n create?: FieldAccess\n read?: FieldAccess\n update?: FieldAccess\n }\n admin?: Admin\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n defaultValue?: any\n hidden?: boolean\n hooks?: {\n afterChange?: FieldHook[]\n afterRead?: FieldHook[]\n beforeChange?: FieldHook[]\n /**\n * Runs before a document is duplicated to prevent errors in unique fields or return null to use defaultValue.\n */\n beforeDuplicate?: FieldHook[]\n beforeValidate?: FieldHook[]\n }\n index?: boolean\n label?: LabelFunction | Record<string, string> | false | string\n localized?: boolean\n name: string\n required?: boolean\n saveToJWT?: boolean | string\n unique?: boolean\n validate?: Validate\n}\n\nexport type NumberField = FieldBase & {\n admin?: Admin & {\n /** Set this property to a string that will be used for browser autocomplete. */\n autoComplete?: string\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n }\n /** Set this property to define a placeholder string for the field. */\n placeholder?: Record<string, string> | string\n /** Set a value for the number field to increment / decrement using browser controls. */\n step?: number\n }\n /** Maximum value accepted. Used in the default `validation` function. */\n max?: number\n /** Minimum value accepted. Used in the default `validation` function. */\n min?: number\n type: 'number'\n} & (\n | {\n /** Makes this field an ordered array of numbers instead of just a single number. */\n hasMany: true\n /** Maximum number of numbers in the numbers array, if `hasMany` is set to true. */\n maxRows?: number\n /** Minimum number of numbers in the numbers array, if `hasMany` is set to true. */\n minRows?: number\n }\n | {\n /** Makes this field an ordered array of numbers instead of just a single number. */\n hasMany?: false | undefined\n /** Maximum number of numbers in the numbers array, if `hasMany` is set to true. */\n maxRows?: undefined\n /** Minimum number of numbers in the numbers array, if `hasMany` is set to true. */\n minRows?: undefined\n }\n )\n\nexport type TextField = FieldBase & {\n admin?: Admin & {\n autoComplete?: string\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n }\n placeholder?: Record<string, string> | string\n rtl?: boolean\n }\n maxLength?: number\n minLength?: number\n type: 'text'\n} & (\n | {\n /** Makes this field an ordered array of strings instead of just a single string. */\n hasMany: true\n /** Maximum number of strings in the strings array, if `hasMany` is set to true. */\n maxRows?: number\n /** Minimum number of strings in the strings array, if `hasMany` is set to true. */\n minRows?: number\n }\n | {\n /** Makes this field an ordered array of strings instead of just a single string. */\n hasMany?: false | undefined\n /** Maximum number of strings in the strings array, if `hasMany` is set to true. */\n maxRows?: undefined\n /** Minimum number of strings in the strings array, if `hasMany` is set to true. */\n minRows?: undefined\n }\n )\n\nexport type EmailField = FieldBase & {\n admin?: Admin & {\n autoComplete?: string\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n }\n placeholder?: Record<string, string> | string\n }\n type: 'email'\n}\n\nexport type TextareaField = FieldBase & {\n admin?: Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n }\n placeholder?: Record<string, string> | string\n rows?: number\n rtl?: boolean\n }\n maxLength?: number\n minLength?: number\n type: 'textarea'\n}\n\nexport type CheckboxField = FieldBase & {\n admin?: Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n }\n }\n type: 'checkbox'\n}\n\nexport type DateField = FieldBase & {\n admin?: Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n afterInput?: CustomComponent[]\n beforeInput?: CustomComponent[]\n }\n date?: ConditionalDateProps\n placeholder?: Record<string, string> | string\n }\n type: 'date'\n}\n\nexport type GroupField = Omit<FieldBase, 'required' | 'validation'> & {\n admin?: Admin & {\n hideGutter?: boolean\n }\n fields: Field[]\n /** Customize generated GraphQL and Typescript schema names.\n * By default, it is bound to the collection.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n type: 'group'\n}\n\nexport type RowAdmin = Omit<Admin, 'description'>\n\nexport type RowField = Omit<FieldBase, 'admin' | 'label' | 'name'> & {\n admin?: RowAdmin\n fields: Field[]\n type: 'row'\n}\n\nexport type CollapsibleField = Omit<FieldBase, 'label' | 'name'> & {\n fields: Field[]\n type: 'collapsible'\n} & (\n | {\n admin: Admin & {\n components: {\n RowLabel: RowLabelComponent\n } & Admin['components']\n initCollapsed?: boolean\n }\n label?: Required<FieldBase['label']>\n }\n | {\n admin?: Admin & {\n initCollapsed?: boolean\n }\n label: Required<FieldBase['label']>\n }\n )\n\nexport type TabsAdmin = Omit<Admin, 'description'>\n\ntype TabBase = Omit<FieldBase, 'required' | 'validation'> & {\n description?: Description\n fields: Field[]\n interfaceName?: string\n saveToJWT?: boolean | string\n}\n\nexport type NamedTab = TabBase & {\n /** Customize generated GraphQL and Typescript schema names.\n * The slug is used by default.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n}\n\nexport type UnnamedTab = Omit<TabBase, 'name'> & {\n interfaceName?: never\n /**\n * Can be either:\n * - A string, which will be used as the tab's label.\n * - An object, where the key is the language code and the value is the label.\n */\n label:\n | {\n [selectedLanguage: string]: string\n }\n | LabelFunction\n | string\n localized?: never\n}\n\nexport type Tab = NamedTab | UnnamedTab\n\nexport type TabsField = Omit<FieldBase, 'admin' | 'localized' | 'name' | 'saveToJWT'> & {\n admin?: TabsAdmin\n tabs: Tab[]\n type: 'tabs'\n}\n\nexport type TabAsField = Tab & {\n name?: string\n type: 'tab'\n}\n\nexport type UIField = {\n admin: {\n components?: {\n Cell?: CustomComponent\n Field: CustomComponent\n /**\n * The Filter component has to be a client component\n */\n Filter?: React.ComponentType<any>\n }\n condition?: Condition\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n disableBulkEdit?: boolean\n /**\n * Shows / hides fields from appearing in the list view column selector.\n * @type boolean\n */\n disableListColumn?: boolean\n position?: string\n width?: string\n }\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n label?: Record<string, string> | string\n name: string\n type: 'ui'\n}\n\nexport type UploadField = FieldBase & {\n admin?: {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n }\n filterOptions?: FilterOptions\n /**\n * Sets a maximum population depth for this field, regardless of the remaining depth when this field is reached.\n *\n * {@link https://payloadcms.com/docs/getting-started/concepts#field-level-max-depth}\n */\n maxDepth?: number\n relationTo: string\n type: 'upload'\n}\n\ntype CodeAdmin = Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n editorOptions?: EditorProps['options']\n language?: string\n}\n\nexport type CodeField = Omit<FieldBase, 'admin'> & {\n admin?: CodeAdmin\n maxLength?: number\n minLength?: number\n type: 'code'\n}\n\ntype JSONAdmin = Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n editorOptions?: EditorProps['options']\n}\n\nexport type JSONField = Omit<FieldBase, 'admin'> & {\n admin?: JSONAdmin\n jsonSchema?: Record<string, unknown>\n type: 'json'\n}\n\nexport type SelectField = FieldBase & {\n admin?: Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n isClearable?: boolean\n isSortable?: boolean\n }\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n /**\n * Customize the DB enum name\n */\n enumName?: DBIdentifierName\n hasMany?: boolean\n options: Option[]\n type: 'select'\n}\n\ntype SharedRelationshipProperties = FieldBase & {\n filterOptions?: FilterOptions\n hasMany?: boolean\n /**\n * Sets a maximum population depth for this field, regardless of the remaining depth when this field is reached.\n *\n * {@link https://payloadcms.com/docs/getting-started/concepts#field-level-max-depth}\n */\n maxDepth?: number\n type: 'relationship'\n} & (\n | {\n hasMany: true\n /**\n * @deprecated Use 'maxRows' instead\n */\n max?: number\n maxRows?: number\n /**\n * @deprecated Use 'minRows' instead\n */\n min?: number\n minRows?: number\n }\n | {\n hasMany?: false | undefined\n /**\n * @deprecated Use 'maxRows' instead\n */\n max?: undefined\n maxRows?: undefined\n /**\n * @deprecated Use 'minRows' instead\n */\n min?: undefined\n minRows?: undefined\n }\n )\n\ntype RelationshipAdmin = Admin & {\n allowCreate?: boolean\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n isSortable?: boolean\n}\nexport type PolymorphicRelationshipField = SharedRelationshipProperties & {\n admin?: RelationshipAdmin & {\n sortOptions?: { [collectionSlug: string]: string }\n }\n relationTo: string[]\n}\nexport type SingleRelationshipField = SharedRelationshipProperties & {\n admin?: RelationshipAdmin & {\n sortOptions?: string\n }\n relationTo: string\n}\nexport type RelationshipField = PolymorphicRelationshipField | SingleRelationshipField\n\nexport type ValueWithRelation = {\n relationTo: string\n value: number | string\n}\n\nexport function valueIsValueWithRelation(value: unknown): value is ValueWithRelation {\n return value !== null && typeof value === 'object' && 'relationTo' in value && 'value' in value\n}\n\nexport type RelationshipValue =\n | (number | string)[]\n | ValueWithRelation\n | ValueWithRelation[]\n | (number | string)\n\nexport type RichTextField<\n Value extends object = any,\n AdapterProps = any,\n ExtraProperties = object,\n> = FieldBase & {\n admin?: Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n }\n editor?:\n | RichTextAdapter<Value, AdapterProps, AdapterProps>\n | RichTextAdapterProvider<Value, AdapterProps, AdapterProps>\n /**\n * Sets a maximum population depth for this field, regardless of the remaining depth when this field is reached.\n *\n * {@link https://payloadcms.com/docs/getting-started/concepts#field-level-max-depth}\n */\n maxDepth?: number\n type: 'richText'\n} & ExtraProperties\n\nexport type ArrayField = FieldBase & {\n admin?: Admin & {\n components?: {\n RowLabel?: RowLabelComponent\n } & Admin['components']\n initCollapsed?: boolean\n /**\n * Disable drag and drop sorting\n */\n isSortable?: boolean\n }\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n fields: Field[]\n /** Customize generated GraphQL and Typescript schema names.\n * By default, it is bound to the collection.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n labels?: Labels\n maxRows?: number\n minRows?: number\n type: 'array'\n}\n\nexport type RadioField = FieldBase & {\n admin?: Admin & {\n components?: {\n Error?: CustomComponent<ErrorProps>\n Label?: CustomComponent<LabelProps>\n }\n layout?: 'horizontal' | 'vertical'\n }\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n /**\n * Customize the DB enum name\n */\n enumName?: DBIdentifierName\n options: Option[]\n type: 'radio'\n}\n\nexport type Block = {\n admin?: {\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n }\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n /**\n * Customize the SQL table name\n */\n dbName?: DBIdentifierName\n fields: Field[]\n /** @deprecated - please migrate to the interfaceName property instead. */\n graphQL?: {\n singularName?: string\n }\n imageAltText?: string\n imageURL?: string\n /** Customize generated GraphQL and Typescript schema names.\n * The slug is used by default.\n *\n * This is useful if you would like to generate a top level type to share amongst collections/fields.\n * **Note**: Top level types can collide, ensure they are unique amongst collections, arrays, groups, blocks, tabs.\n */\n interfaceName?: string\n labels?: Labels\n slug: string\n}\n\nexport type BlockField = FieldBase & {\n admin?: Admin & {\n initCollapsed?: boolean\n /**\n * Disable drag and drop sorting\n */\n isSortable?: boolean\n }\n blocks: Block[]\n defaultValue?: unknown\n labels?: Labels\n maxRows?: number\n minRows?: number\n type: 'blocks'\n}\n\nexport type PointField = FieldBase & {\n type: 'point'\n}\n\nexport type Field =\n | ArrayField\n | BlockField\n | CheckboxField\n | CodeField\n | CollapsibleField\n | DateField\n | EmailField\n | GroupField\n | JSONField\n | NumberField\n | PointField\n | RadioField\n | RelationshipField\n | RichTextField\n | RowField\n | SelectField\n | TabsField\n | TextField\n | TextareaField\n | UIField\n | UploadField\n\nexport type FieldAffectingData =\n | ArrayField\n | BlockField\n | CheckboxField\n | CodeField\n | DateField\n | EmailField\n | GroupField\n | JSONField\n | NumberField\n | PointField\n | RadioField\n | RelationshipField\n | RichTextField\n | SelectField\n | TabAsField\n | TextField\n | TextareaField\n | UploadField\n\nexport type NonPresentationalField =\n | ArrayField\n | BlockField\n | CheckboxField\n | CodeField\n | CollapsibleField\n | DateField\n | EmailField\n | GroupField\n | JSONField\n | NumberField\n | PointField\n | RadioField\n | RelationshipField\n | RichTextField\n | RowField\n | SelectField\n | TabsField\n | TextField\n | TextareaField\n | UploadField\n\nexport type FieldWithPath = Field & {\n path?: string\n}\n\nexport type FieldWithSubFields = ArrayField | CollapsibleField | GroupField | RowField\n\nexport type FieldPresentationalOnly = UIField\n\nexport type FieldWithMany = RelationshipField | SelectField\n\nexport type FieldWithMaxDepth = RelationshipField | UploadField\n\nexport function fieldHasSubFields(field: ClientFieldConfig | Field): field is FieldWithSubFields {\n return (\n field.type === 'group' ||\n field.type === 'array' ||\n field.type === 'row' ||\n field.type === 'collapsible'\n )\n}\n\nexport function fieldIsArrayType(field: Field): field is ArrayField {\n return field.type === 'array'\n}\n\nexport function fieldIsBlockType(field: Field): field is BlockField {\n return field.type === 'blocks'\n}\n\nexport function fieldIsGroupType(field: Field): field is GroupField {\n return field.type === 'group'\n}\n\nexport function optionIsObject(option: Option): option is OptionObject {\n return typeof option === 'object'\n}\n\nexport function optionsAreObjects(options: Option[]): options is OptionObject[] {\n return Array.isArray(options) && typeof options?.[0] === 'object'\n}\n\nexport function optionIsValue(option: Option): option is string {\n return typeof option === 'string'\n}\n\nexport function fieldSupportsMany(field: Field): field is FieldWithMany {\n return field.type === 'select' || field.type === 'relationship'\n}\n\nexport function fieldHasMaxDepth(field: Field): field is FieldWithMaxDepth {\n return (\n (field.type === 'upload' || field.type === 'relationship') && typeof field.maxDepth === 'number'\n )\n}\n\nexport function fieldIsPresentationalOnly(\n field: ClientFieldConfig | Field | TabAsField,\n): field is UIField {\n return field.type === 'ui'\n}\n\nexport function fieldAffectsData(\n field: ClientFieldConfig | Field | TabAsField,\n): field is FieldAffectingData {\n return 'name' in field && !fieldIsPresentationalOnly(field)\n}\n\nexport function tabHasName(tab: Tab): tab is NamedTab {\n return 'name' in tab\n}\n\nexport function fieldIsLocalized(field: Field | Tab): boolean {\n return 'localized' in field && field.localized\n}\n\nexport type HookName =\n | 'afterChange'\n | 'afterRead'\n | 'beforeChange'\n | 'beforeRead'\n | 'beforeValidate'\n"],"names":["valueIsValueWithRelation","value","fieldHasSubFields","field","type","fieldIsArrayType","fieldIsBlockType","fieldIsGroupType","optionIsObject","option","optionsAreObjects","options","Array","isArray","optionIsValue","fieldSupportsMany","fieldHasMaxDepth","maxDepth","fieldIsPresentationalOnly","fieldAffectsData","tabHasName","tab","fieldIsLocalized","localized"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,qDAAqD,GACrD,uCAAuC,GA8mBvC,OAAO,SAASA,yBAAyBC,KAAc;IACrD,OAAOA,UAAU,QAAQ,OAAOA,UAAU,YAAY,gBAAgBA,SAAS,WAAWA;AAC5F;AA8MA,OAAO,SAASC,kBAAkBC,KAAgC;IAChE,OACEA,MAAMC,IAAI,KAAK,WACfD,MAAMC,IAAI,KAAK,WACfD,MAAMC,IAAI,KAAK,SACfD,MAAMC,IAAI,KAAK;AAEnB;AAEA,OAAO,SAASC,iBAAiBF,KAAY;IAC3C,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASE,iBAAiBH,KAAY;IAC3C,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASG,iBAAiBJ,KAAY;IAC3C,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASI,eAAeC,MAAc;IAC3C,OAAO,OAAOA,WAAW;AAC3B;AAEA,OAAO,SAASC,kBAAkBC,OAAiB;IACjD,OAAOC,MAAMC,OAAO,CAACF,YAAY,OAAOA,SAAS,CAAC,EAAE,KAAK;AAC3D;AAEA,OAAO,SAASG,cAAcL,MAAc;IAC1C,OAAO,OAAOA,WAAW;AAC3B;AAEA,OAAO,SAASM,kBAAkBZ,KAAY;IAC5C,OAAOA,MAAMC,IAAI,KAAK,YAAYD,MAAMC,IAAI,KAAK;AACnD;AAEA,OAAO,SAASY,iBAAiBb,KAAY;IAC3C,OACE,AAACA,CAAAA,MAAMC,IAAI,KAAK,YAAYD,MAAMC,IAAI,KAAK,cAAa,KAAM,OAAOD,MAAMc,QAAQ,KAAK;AAE5F;AAEA,OAAO,SAASC,0BACdf,KAA6C;IAE7C,OAAOA,MAAMC,IAAI,KAAK;AACxB;AAEA,OAAO,SAASe,iBACdhB,KAA6C;IAE7C,OAAO,UAAUA,SAAS,CAACe,0BAA0Bf;AACvD;AAEA,OAAO,SAASiB,WAAWC,GAAQ;IACjC,OAAO,UAAUA;AACnB;AAEA,OAAO,SAASC,iBAAiBnB,KAAkB;IACjD,OAAO,eAAeA,SAASA,MAAMoB,SAAS;AAChD"}
@@ -0,0 +1,10 @@
1
+ import type { Field, TabAsField } from './config/types.js';
2
+ export declare function getFieldPaths({ field, parentPath, parentSchemaPath, }: {
3
+ field: Field | TabAsField;
4
+ parentPath: (number | string)[];
5
+ parentSchemaPath: string[];
6
+ }): {
7
+ path: (number | string)[];
8
+ schemaPath: string[];
9
+ };
10
+ //# sourceMappingURL=getFieldPaths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFieldPaths.d.ts","sourceRoot":"","sources":["../../src/fields/getFieldPaths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI1D,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,UAAU,EACV,gBAAgB,GACjB,EAAE;IACD,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAC/B,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC3B,GAAG;IACF,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAuBA"}