@payloadcms/ui 3.7.0 → 3.7.1-canary.6b01088

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 (47) hide show
  1. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  2. package/dist/elements/RelationshipTable/index.js +7 -1
  3. package/dist/elements/RelationshipTable/index.js.map +1 -1
  4. package/dist/exports/client/index.d.ts +1 -0
  5. package/dist/exports/client/index.d.ts.map +1 -1
  6. package/dist/exports/client/index.js +9 -9
  7. package/dist/exports/client/index.js.map +4 -4
  8. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  9. package/dist/fields/Array/ArrayRow.js +1 -1
  10. package/dist/fields/Array/ArrayRow.js.map +1 -1
  11. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  12. package/dist/fields/Blocks/BlockRow.js +15 -14
  13. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  14. package/dist/forms/RenderFields/RenderField.js +3 -3
  15. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  16. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  17. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  18. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  19. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +2 -2
  20. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  21. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +3 -2
  22. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  23. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +2 -0
  24. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  25. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +3 -2
  26. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  27. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +2 -0
  28. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  29. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +3 -2
  30. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  31. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +8 -0
  32. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  33. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  34. package/dist/forms/fieldSchemasToFormState/index.js +1 -0
  35. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  36. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  37. package/dist/forms/fieldSchemasToFormState/renderField.js +18 -12
  38. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  39. package/dist/forms/withCondition/WatchCondition.d.ts +0 -1
  40. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  41. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  42. package/dist/forms/withCondition/index.js +0 -2
  43. package/dist/forms/withCondition/index.js.map +1 -1
  44. package/dist/utilities/buildTableState.d.ts.map +1 -1
  45. package/dist/utilities/buildTableState.js +1 -0
  46. package/dist/utilities/buildTableState.js.map +1 -1
  47. package/package.json +5 -5
@@ -1,12 +1,13 @@
1
- import type { Data, Field, TabAsField, User } from 'payload';
1
+ import type { Data, Field, PayloadRequest, TabAsField, User } from 'payload';
2
2
  type Args<T> = {
3
3
  data: T;
4
4
  fields: (Field | TabAsField)[];
5
5
  id?: number | string;
6
6
  locale: string | undefined;
7
+ req: PayloadRequest;
7
8
  siblingData: Data;
8
9
  user: User;
9
10
  };
10
- export declare const iterateFields: <T>({ id, data, fields, locale, siblingData, user, }: Args<T>) => Promise<void>;
11
+ export declare const iterateFields: <T>({ id, data, fields, locale, req, siblingData, user, }: Args<T>) => Promise<void>;
11
12
  export {};
12
13
  //# sourceMappingURL=iterateFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAI5D,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,CAAC,oDAOlC,IAAI,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAiBxB,CAAA"}
1
+ {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAI5E,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,CAAC,yDAQlC,IAAI,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAkBxB,CAAA"}
@@ -4,6 +4,7 @@ export const iterateFields = async ({
4
4
  data,
5
5
  fields,
6
6
  locale,
7
+ req,
7
8
  siblingData,
8
9
  user
9
10
  }) => {
@@ -14,6 +15,7 @@ export const iterateFields = async ({
14
15
  data,
15
16
  field,
16
17
  locale,
18
+ req,
17
19
  siblingData,
18
20
  user
19
21
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"iterateFields.js","names":["defaultValuePromise","iterateFields","id","data","fields","locale","siblingData","user","promises","forEach","field","push","Promise","all"],"sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.ts"],"sourcesContent":["import type { Data, Field, TabAsField, User } from 'payload'\n\nimport { defaultValuePromise } from './promise.js'\n\ntype Args<T> = {\n data: T\n fields: (Field | TabAsField)[]\n id?: number | string\n locale: string | undefined\n siblingData: Data\n user: User\n}\n\nexport const iterateFields = async <T>({\n id,\n data,\n fields,\n locale,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n const promises = []\n\n fields.forEach((field) => {\n promises.push(\n defaultValuePromise({\n id,\n data,\n field,\n locale,\n siblingData,\n user,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ;AAWpC,OAAO,MAAMC,aAAA,GAAgB,MAAAA,CAAU;EACrCC,EAAE;EACFC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,WAAW;EACXC;AAAI,CACI;EACR,MAAMC,QAAA,GAAW,EAAE;EAEnBJ,MAAA,CAAOK,OAAO,CAAEC,KAAA;IACdF,QAAA,CAASG,IAAI,CACXX,mBAAA,CAAoB;MAClBE,EAAA;MACAC,IAAA;MACAO,KAAA;MACAL,MAAA;MACAC,WAAA;MACAC;IACF;EAEJ;EAEA,MAAMK,OAAA,CAAQC,GAAG,CAACL,QAAA;AACpB","ignoreList":[]}
1
+ {"version":3,"file":"iterateFields.js","names":["defaultValuePromise","iterateFields","id","data","fields","locale","req","siblingData","user","promises","forEach","field","push","Promise","all"],"sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.ts"],"sourcesContent":["import type { Data, Field, PayloadRequest, TabAsField, User } from 'payload'\n\nimport { defaultValuePromise } from './promise.js'\n\ntype Args<T> = {\n data: T\n fields: (Field | TabAsField)[]\n id?: number | string\n locale: string | undefined\n req: PayloadRequest\n siblingData: Data\n user: User\n}\n\nexport const iterateFields = async <T>({\n id,\n data,\n fields,\n locale,\n req,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n const promises = []\n\n fields.forEach((field) => {\n promises.push(\n defaultValuePromise({\n id,\n data,\n field,\n locale,\n req,\n siblingData,\n user,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ;AAYpC,OAAO,MAAMC,aAAA,GAAgB,MAAAA,CAAU;EACrCC,EAAE;EACFC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,GAAG;EACHC,WAAW;EACXC;AAAI,CACI;EACR,MAAMC,QAAA,GAAW,EAAE;EAEnBL,MAAA,CAAOM,OAAO,CAAEC,KAAA;IACdF,QAAA,CAASG,IAAI,CACXZ,mBAAA,CAAoB;MAClBE,EAAA;MACAC,IAAA;MACAQ,KAAA;MACAN,MAAA;MACAC,GAAA;MACAC,WAAA;MACAC;IACF;EAEJ;EAEA,MAAMK,OAAA,CAAQC,GAAG,CAACL,QAAA;AACpB","ignoreList":[]}
@@ -1,12 +1,13 @@
1
- import type { Data, Field, TabAsField, User } from 'payload';
1
+ import type { Data, Field, PayloadRequest, TabAsField, User } from 'payload';
2
2
  type Args<T> = {
3
3
  data: T;
4
4
  field: Field | TabAsField;
5
5
  id?: number | string;
6
6
  locale: string | undefined;
7
+ req: PayloadRequest;
7
8
  siblingData: Data;
8
9
  user: User;
9
10
  };
10
- export declare const defaultValuePromise: <T>({ id, data, field, locale, siblingData, user, }: Args<T>) => Promise<void>;
11
+ export declare const defaultValuePromise: <T>({ id, data, field, locale, req, siblingData, user, }: Args<T>) => Promise<void>;
11
12
  export {};
12
13
  //# sourceMappingURL=promise.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAO5D,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAGD,eAAO,MAAM,mBAAmB,GAAU,CAAC,mDAOxC,IAAI,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAiJxB,CAAA"}
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAO5E,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAGD,eAAO,MAAM,mBAAmB,GAAU,CAAC,wDAQxC,IAAI,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAuJxB,CAAA"}
@@ -7,6 +7,7 @@ export const defaultValuePromise = async ({
7
7
  data,
8
8
  field,
9
9
  locale,
10
+ req,
10
11
  siblingData,
11
12
  user
12
13
  }) => {
@@ -15,6 +16,7 @@ export const defaultValuePromise = async ({
15
16
  siblingData[field.name] = await getDefaultValue({
16
17
  defaultValue: field.defaultValue,
17
18
  locale,
19
+ req,
18
20
  user,
19
21
  value: siblingData[field.name]
20
22
  });
@@ -33,6 +35,7 @@ export const defaultValuePromise = async ({
33
35
  data,
34
36
  fields: field.fields,
35
37
  locale,
38
+ req,
36
39
  siblingData: row,
37
40
  user
38
41
  }));
@@ -56,6 +59,7 @@ export const defaultValuePromise = async ({
56
59
  data,
57
60
  fields: block.fields,
58
61
  locale,
62
+ req,
59
63
  siblingData: row,
60
64
  user
61
65
  }));
@@ -73,6 +77,7 @@ export const defaultValuePromise = async ({
73
77
  data,
74
78
  fields: field.fields,
75
79
  locale,
80
+ req,
76
81
  siblingData,
77
82
  user
78
83
  });
@@ -89,6 +94,7 @@ export const defaultValuePromise = async ({
89
94
  data,
90
95
  fields: field.fields,
91
96
  locale,
97
+ req,
92
98
  siblingData: groupData,
93
99
  user
94
100
  });
@@ -110,6 +116,7 @@ export const defaultValuePromise = async ({
110
116
  data,
111
117
  fields: field.fields,
112
118
  locale,
119
+ req,
113
120
  siblingData: tabSiblingData,
114
121
  user
115
122
  });
@@ -125,6 +132,7 @@ export const defaultValuePromise = async ({
125
132
  type: 'tab'
126
133
  })),
127
134
  locale,
135
+ req,
128
136
  siblingData,
129
137
  user
130
138
  });
@@ -1 +1 @@
1
- {"version":3,"file":"promise.js","names":["getDefaultValue","fieldAffectsData","tabHasName","iterateFields","defaultValuePromise","id","data","field","locale","siblingData","user","name","defaultValue","value","type","rows","Array","isArray","promises","forEach","row","push","fields","Promise","all","blockTypeToMatch","blockType","block","blocks","find","slug","groupData","tabSiblingData","tabs","map","tab"],"sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/promise.ts"],"sourcesContent":["import type { Data, Field, TabAsField, User } from 'payload'\n\nimport { getDefaultValue } from 'payload'\nimport { fieldAffectsData, tabHasName } from 'payload/shared'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args<T> = {\n data: T\n field: Field | TabAsField\n id?: number | string\n locale: string | undefined\n siblingData: Data\n user: User\n}\n\n// TODO: Make this works for rich text subfields\nexport const defaultValuePromise = async <T>({\n id,\n data,\n field,\n locale,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n if (fieldAffectsData(field)) {\n if (\n typeof siblingData[field.name] === 'undefined' &&\n typeof field.defaultValue !== 'undefined'\n ) {\n siblingData[field.name] = await getDefaultValue({\n defaultValue: field.defaultValue,\n locale,\n user,\n value: siblingData[field.name],\n })\n }\n }\n\n // Traverse subfields\n switch (field.type) {\n case 'array': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n\n rows.forEach((row) => {\n promises.push(\n iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: row,\n user,\n }),\n )\n })\n\n await Promise.all(promises)\n }\n break\n }\n\n case 'blocks': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n rows.forEach((row) => {\n const blockTypeToMatch = row.blockType\n const block = field.blocks.find((blockType) => blockType.slug === blockTypeToMatch)\n\n if (block) {\n row.blockType = blockTypeToMatch\n\n promises.push(\n iterateFields({\n id,\n data,\n fields: block.fields,\n locale,\n siblingData: row,\n user,\n }),\n )\n }\n })\n await Promise.all(promises)\n }\n\n break\n }\n\n case 'collapsible':\n\n case 'row': {\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData,\n user,\n })\n\n break\n }\n case 'group': {\n if (typeof siblingData[field.name] !== 'object') {\n siblingData[field.name] = {}\n }\n\n const groupData = siblingData[field.name] as Record<string, unknown>\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: groupData,\n user,\n })\n\n break\n }\n\n case 'tab': {\n let tabSiblingData\n if (tabHasName(field)) {\n if (typeof siblingData[field.name] !== 'object') {\n siblingData[field.name] = {}\n }\n\n tabSiblingData = siblingData[field.name] as Record<string, unknown>\n } else {\n tabSiblingData = siblingData\n }\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: tabSiblingData,\n user,\n })\n\n break\n }\n\n case 'tabs': {\n await iterateFields({\n id,\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n locale,\n siblingData,\n user,\n })\n\n break\n }\n\n default: {\n break\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"promise.js","names":["getDefaultValue","fieldAffectsData","tabHasName","iterateFields","defaultValuePromise","id","data","field","locale","req","siblingData","user","name","defaultValue","value","type","rows","Array","isArray","promises","forEach","row","push","fields","Promise","all","blockTypeToMatch","blockType","block","blocks","find","slug","groupData","tabSiblingData","tabs","map","tab"],"sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/promise.ts"],"sourcesContent":["import type { Data, Field, PayloadRequest, TabAsField, User } from 'payload'\n\nimport { getDefaultValue } from 'payload'\nimport { fieldAffectsData, tabHasName } from 'payload/shared'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args<T> = {\n data: T\n field: Field | TabAsField\n id?: number | string\n locale: string | undefined\n req: PayloadRequest\n siblingData: Data\n user: User\n}\n\n// TODO: Make this works for rich text subfields\nexport const defaultValuePromise = async <T>({\n id,\n data,\n field,\n locale,\n req,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n if (fieldAffectsData(field)) {\n if (\n typeof siblingData[field.name] === 'undefined' &&\n typeof field.defaultValue !== 'undefined'\n ) {\n siblingData[field.name] = await getDefaultValue({\n defaultValue: field.defaultValue,\n locale,\n req,\n user,\n value: siblingData[field.name],\n })\n }\n }\n\n // Traverse subfields\n switch (field.type) {\n case 'array': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n\n rows.forEach((row) => {\n promises.push(\n iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n siblingData: row,\n user,\n }),\n )\n })\n\n await Promise.all(promises)\n }\n break\n }\n\n case 'blocks': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n rows.forEach((row) => {\n const blockTypeToMatch = row.blockType\n const block = field.blocks.find((blockType) => blockType.slug === blockTypeToMatch)\n\n if (block) {\n row.blockType = blockTypeToMatch\n\n promises.push(\n iterateFields({\n id,\n data,\n fields: block.fields,\n locale,\n req,\n siblingData: row,\n user,\n }),\n )\n }\n })\n await Promise.all(promises)\n }\n\n break\n }\n\n case 'collapsible':\n case 'row': {\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n siblingData,\n user,\n })\n\n break\n }\n case 'group': {\n if (typeof siblingData[field.name] !== 'object') {\n siblingData[field.name] = {}\n }\n\n const groupData = siblingData[field.name] as Record<string, unknown>\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n siblingData: groupData,\n user,\n })\n\n break\n }\n\n case 'tab': {\n let tabSiblingData\n if (tabHasName(field)) {\n if (typeof siblingData[field.name] !== 'object') {\n siblingData[field.name] = {}\n }\n\n tabSiblingData = siblingData[field.name] as Record<string, unknown>\n } else {\n tabSiblingData = siblingData\n }\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\n siblingData: tabSiblingData,\n user,\n })\n\n break\n }\n\n case 'tabs': {\n await iterateFields({\n id,\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n locale,\n req,\n siblingData,\n user,\n })\n\n break\n }\n\n default: {\n break\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,SAAS,EAET,cAAc,EACd,0BAA0B,EAC3B,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,KAAK,IAAI,GAAG;IACV;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;IAC3B;;;;OAIG;IACH,cAAc,EAAE,cAAc,GAAG,SAAS,CAAA;IAC1C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,EAAE,mBAAmB,CAAA;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;IAEnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,uBAAuB,SAAgB,IAAI,KAAG,OAAO,CAAC,SAAS,CAgE3E,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,SAAS,EAET,cAAc,EACd,0BAA0B,EAC3B,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,KAAK,IAAI,GAAG;IACV;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;IAC3B;;;;OAIG;IACH,cAAc,EAAE,cAAc,GAAG,SAAS,CAAA;IAC1C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,EAAE,mBAAmB,CAAA;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;IAEnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,uBAAuB,SAAgB,IAAI,KAAG,OAAO,CAAC,SAAS,CAiE3E,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -30,6 +30,7 @@ export const fieldSchemasToFormState = async args => {
30
30
  data: dataWithDefaultValues,
31
31
  fields,
32
32
  locale: req.locale,
33
+ req,
33
34
  siblingData: dataWithDefaultValues,
34
35
  user: req.user
35
36
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["calculateDefaultValues","iterateFields","fieldSchemasToFormState","args","clientFieldSchemaMap","renderFieldFn","console","warn","id","collectionSlug","data","fields","fieldSchemaMap","operation","permissions","preferences","previousFormState","renderAllFields","req","schemaPath","length","state","dataWithDefaultValues","locale","siblingData","user","addErrorPathToParent","fullData","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath"],"sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { calculateDefaultValues } from './calculateDefaultValues/index.js'\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n /**\n * The client field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the client field schema map is not required.\n */\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data?: Data\n fields: Field[] | undefined\n /**\n * The field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the field schema map is not required.\n */\n fieldSchemaMap: FieldSchemaMap | undefined\n id?: number | string\n operation?: 'create' | 'update'\n permissions: SanitizedFieldsPermissions\n preferences: DocumentPreferences\n /**\n * Optionally accept the previous form state,\n * to be able to determine if custom fields need to be re-rendered.\n */\n previousFormState?: FormState\n /**\n * If renderAllFields is true, then no matter what is in previous form state,\n * all custom fields will be re-rendered.\n */\n renderAllFields: boolean\n renderFieldFn?: RenderFieldMethod\n req: PayloadRequest\n\n schemaPath: string\n}\n\nexport const fieldSchemasToFormState = async (args: Args): Promise<FormState> => {\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n console.warn(\n 'clientFieldSchemaMap is not passed to fieldSchemasToFormState - this will reduce performance',\n )\n }\n const {\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data = {},\n fields,\n fieldSchemaMap,\n operation,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n } = args\n\n if (fields && fields.length) {\n const state: FormStateWithoutComponents = {}\n\n const dataWithDefaultValues = { ...data }\n\n await calculateDefaultValues({\n id,\n data: dataWithDefaultValues,\n fields,\n locale: req.locale,\n siblingData: dataWithDefaultValues,\n user: req.user,\n })\n\n await iterateFields({\n id,\n addErrorPathToParent: null,\n clientFieldSchemaMap,\n collectionSlug,\n data: dataWithDefaultValues,\n fields,\n fieldSchemaMap,\n fullData: dataWithDefaultValues,\n operation,\n parentIndexPath: '',\n parentPassesCondition: true,\n parentPath: '',\n parentSchemaPath: schemaPath,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n state,\n })\n\n return state\n }\n\n return {}\n}\n\nexport { iterateFields }\n"],"mappings":"AAcA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,aAAa,QAAQ;AAsC9B,OAAO,MAAMC,uBAAA,GAA0B,MAAOC,IAAA;EAC5C,IAAI,CAACA,IAAA,CAAKC,oBAAoB,IAAID,IAAA,CAAKE,aAAa,EAAE;IACpDC,OAAA,CAAQC,IAAI,CACV;EAEJ;EACA,MAAM;IACJC,EAAE;IACFJ,oBAAoB;IACpBK,cAAc;IACdC,IAAA,GAAO,CAAC,CAAC;IACTC,MAAM;IACNC,cAAc;IACdC,SAAS;IACTC,WAAW;IACXC,WAAW;IACXC,iBAAiB;IACjBC,eAAe;IACfZ,aAAa;IACba,GAAG;IACHC;EAAU,CACX,GAAGhB,IAAA;EAEJ,IAAIQ,MAAA,IAAUA,MAAA,CAAOS,MAAM,EAAE;IAC3B,MAAMC,KAAA,GAAoC,CAAC;IAE3C,MAAMC,qBAAA,GAAwB;MAAE,GAAGZ;IAAK;IAExC,MAAMV,sBAAA,CAAuB;MAC3BQ,EAAA;MACAE,IAAA,EAAMY,qBAAA;MACNX,MAAA;MACAY,MAAA,EAAQL,GAAA,CAAIK,MAAM;MAClBC,WAAA,EAAaF,qBAAA;MACbG,IAAA,EAAMP,GAAA,CAAIO;IACZ;IAEA,MAAMxB,aAAA,CAAc;MAClBO,EAAA;MACAkB,oBAAA,EAAsB;MACtBtB,oBAAA;MACAK,cAAA;MACAC,IAAA,EAAMY,qBAAA;MACNX,MAAA;MACAC,cAAA;MACAe,QAAA,EAAUL,qBAAA;MACVT,SAAA;MACAe,eAAA,EAAiB;MACjBC,qBAAA,EAAuB;MACvBC,UAAA,EAAY;MACZC,gBAAA,EAAkBZ,UAAA;MAClBL,WAAA;MACAC,WAAA;MACAC,iBAAA;MACAC,eAAA;MACAZ,aAAA;MACAa,GAAA;MACAG;IACF;IAEA,OAAOA,KAAA;EACT;EAEA,OAAO,CAAC;AACV;AAEA,SAASpB,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["calculateDefaultValues","iterateFields","fieldSchemasToFormState","args","clientFieldSchemaMap","renderFieldFn","console","warn","id","collectionSlug","data","fields","fieldSchemaMap","operation","permissions","preferences","previousFormState","renderAllFields","req","schemaPath","length","state","dataWithDefaultValues","locale","siblingData","user","addErrorPathToParent","fullData","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath"],"sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { calculateDefaultValues } from './calculateDefaultValues/index.js'\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n /**\n * The client field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the client field schema map is not required.\n */\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data?: Data\n fields: Field[] | undefined\n /**\n * The field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the field schema map is not required.\n */\n fieldSchemaMap: FieldSchemaMap | undefined\n id?: number | string\n operation?: 'create' | 'update'\n permissions: SanitizedFieldsPermissions\n preferences: DocumentPreferences\n /**\n * Optionally accept the previous form state,\n * to be able to determine if custom fields need to be re-rendered.\n */\n previousFormState?: FormState\n /**\n * If renderAllFields is true, then no matter what is in previous form state,\n * all custom fields will be re-rendered.\n */\n renderAllFields: boolean\n renderFieldFn?: RenderFieldMethod\n req: PayloadRequest\n\n schemaPath: string\n}\n\nexport const fieldSchemasToFormState = async (args: Args): Promise<FormState> => {\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n console.warn(\n 'clientFieldSchemaMap is not passed to fieldSchemasToFormState - this will reduce performance',\n )\n }\n const {\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data = {},\n fields,\n fieldSchemaMap,\n operation,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n } = args\n\n if (fields && fields.length) {\n const state: FormStateWithoutComponents = {}\n\n const dataWithDefaultValues = { ...data }\n\n await calculateDefaultValues({\n id,\n data: dataWithDefaultValues,\n fields,\n locale: req.locale,\n req,\n siblingData: dataWithDefaultValues,\n user: req.user,\n })\n\n await iterateFields({\n id,\n addErrorPathToParent: null,\n clientFieldSchemaMap,\n collectionSlug,\n data: dataWithDefaultValues,\n fields,\n fieldSchemaMap,\n fullData: dataWithDefaultValues,\n operation,\n parentIndexPath: '',\n parentPassesCondition: true,\n parentPath: '',\n parentSchemaPath: schemaPath,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n state,\n })\n\n return state\n }\n\n return {}\n}\n\nexport { iterateFields }\n"],"mappings":"AAcA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,aAAa,QAAQ;AAsC9B,OAAO,MAAMC,uBAAA,GAA0B,MAAOC,IAAA;EAC5C,IAAI,CAACA,IAAA,CAAKC,oBAAoB,IAAID,IAAA,CAAKE,aAAa,EAAE;IACpDC,OAAA,CAAQC,IAAI,CACV;EAEJ;EACA,MAAM;IACJC,EAAE;IACFJ,oBAAoB;IACpBK,cAAc;IACdC,IAAA,GAAO,CAAC,CAAC;IACTC,MAAM;IACNC,cAAc;IACdC,SAAS;IACTC,WAAW;IACXC,WAAW;IACXC,iBAAiB;IACjBC,eAAe;IACfZ,aAAa;IACba,GAAG;IACHC;EAAU,CACX,GAAGhB,IAAA;EAEJ,IAAIQ,MAAA,IAAUA,MAAA,CAAOS,MAAM,EAAE;IAC3B,MAAMC,KAAA,GAAoC,CAAC;IAE3C,MAAMC,qBAAA,GAAwB;MAAE,GAAGZ;IAAK;IAExC,MAAMV,sBAAA,CAAuB;MAC3BQ,EAAA;MACAE,IAAA,EAAMY,qBAAA;MACNX,MAAA;MACAY,MAAA,EAAQL,GAAA,CAAIK,MAAM;MAClBL,GAAA;MACAM,WAAA,EAAaF,qBAAA;MACbG,IAAA,EAAMP,GAAA,CAAIO;IACZ;IAEA,MAAMxB,aAAA,CAAc;MAClBO,EAAA;MACAkB,oBAAA,EAAsB;MACtBtB,oBAAA;MACAK,cAAA;MACAC,IAAA,EAAMY,qBAAA;MACNX,MAAA;MACAC,cAAA;MACAe,QAAA,EAAUL,qBAAA;MACVT,SAAA;MACAe,eAAA,EAAiB;MACjBC,qBAAA,EAAuB;MACvBC,UAAA,EAAY;MACZC,gBAAA,EAAkBZ,UAAA;MAClBL,WAAA;MACAC,WAAA;MACAC,iBAAA;MACAC,eAAA;MACAZ,aAAA;MACAa,GAAA;MACAG;IACF;IAEA,OAAOA,KAAA;EACT;EAEA,OAAO,CAAC;AACV;AAEA,SAASpB,aAAa","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"renderField.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcnD,eAAO,MAAM,WAAW,EAAE,iBAoOzB,CAAA"}
1
+ {"version":3,"file":"renderField.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcnD,eAAO,MAAM,WAAW,EAAE,iBA4OzB,CAAA"}
@@ -4,7 +4,7 @@ import { createClientField, MissingEditorProp } from 'payload';
4
4
  import { fieldIsHiddenOrDisabled } from 'payload/shared';
5
5
  import { RenderServerComponent } from '../../elements/RenderServerComponent/index.js';
6
6
  // eslint-disable-next-line payload/no-imports-from-exports-dir -- need this to reference already existing bundle. Otherwise, bundle size increases., payload/no-imports-from-exports-dir
7
- import { FieldDescription } from '../../exports/client/index.js';
7
+ import { FieldDescription, WatchCondition } from '../../exports/client/index.js';
8
8
  const defaultUIFieldComponentKeys = ['Cell', 'Description', 'Field', 'Filter'];
9
9
  export const renderField = ({
10
10
  id,
@@ -109,11 +109,14 @@ export const renderField = ({
109
109
  if (!fieldConfig.admin.components) {
110
110
  fieldConfig.admin.components = {};
111
111
  }
112
- fieldState.customComponents.Field = RenderServerComponent({
113
- clientProps,
114
- Component: fieldConfig.editor.FieldComponent,
115
- importMap: req.payload.importMap,
116
- serverProps
112
+ fieldState.customComponents.Field = /*#__PURE__*/_jsx(WatchCondition, {
113
+ path: path,
114
+ children: RenderServerComponent({
115
+ clientProps,
116
+ Component: fieldConfig.editor.FieldComponent,
117
+ importMap: req.payload.importMap,
118
+ serverProps
119
+ })
117
120
  });
118
121
  break;
119
122
  }
@@ -200,12 +203,15 @@ export const renderField = ({
200
203
  });
201
204
  }
202
205
  if ('Field' in fieldConfig.admin.components) {
203
- fieldState.customComponents.Field = RenderServerComponent({
204
- clientProps,
205
- Component: fieldConfig.admin.components.Field,
206
- importMap: req.payload.importMap,
207
- key: 'field.admin.components.Field',
208
- serverProps
206
+ fieldState.customComponents.Field = /*#__PURE__*/_jsx(WatchCondition, {
207
+ path: path,
208
+ children: RenderServerComponent({
209
+ clientProps,
210
+ Component: fieldConfig.admin.components.Field,
211
+ importMap: req.payload.importMap,
212
+ key: 'field.admin.components.Field',
213
+ serverProps
214
+ })
209
215
  });
210
216
  }
211
217
  }
@@ -1 +1 @@
1
- {"version":3,"file":"renderField.js","names":["getTranslation","createClientField","MissingEditorProp","fieldIsHiddenOrDisabled","RenderServerComponent","FieldDescription","defaultUIFieldComponentKeys","renderField","id","clientFieldSchemaMap","collectionSlug","data","fieldConfig","fieldSchemaMap","fieldState","formState","indexPath","operation","parentPath","parentSchemaPath","path","permissions","preferences","req","schemaPath","siblingData","clientField","get","defaultIDType","payload","config","db","field","i18n","importMap","clientProps","customComponents","readOnly","includes","type","serverProps","user","rows","forEach","row","rowIndex","admin","components","RowLabels","Component","RowLabel","rowLabel","labels","singular","String","padStart","rowNumber","editor","Error","Field","FieldComponent","key","description","Description","_jsx","t","AfterInput","afterInput","BeforeInput","beforeInput","Label"],"sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"sourcesContent":["import type { ClientComponentProps, ClientField, FieldPaths, ServerComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createClientField, MissingEditorProp } from 'payload'\nimport { fieldIsHiddenOrDisabled } from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- need this to reference already existing bundle. Otherwise, bundle size increases., payload/no-imports-from-exports-dir\nimport { FieldDescription } from '../../exports/client/index.js'\n\nconst defaultUIFieldComponentKeys: Array<'Cell' | 'Description' | 'Field' | 'Filter'> = [\n 'Cell',\n 'Description',\n 'Field',\n 'Filter',\n]\n\nexport const renderField: RenderFieldMethod = ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fieldConfig,\n fieldSchemaMap,\n fieldState,\n formState,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n preferences,\n req,\n schemaPath,\n siblingData,\n}) => {\n const clientField = clientFieldSchemaMap\n ? (clientFieldSchemaMap.get(schemaPath) as ClientField)\n : createClientField({\n defaultIDType: req.payload.config.db.defaultIDType,\n field: fieldConfig,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n })\n\n if (fieldIsHiddenOrDisabled(clientField)) {\n return\n }\n\n const clientProps: ClientComponentProps & Partial<FieldPaths> = {\n customComponents: fieldState?.customComponents || {},\n field: clientField,\n path,\n readOnly: typeof permissions === 'boolean' ? !permissions : !permissions?.[operation],\n schemaPath,\n }\n\n // fields with subfields\n if (['array', 'blocks', 'collapsible', 'group', 'row', 'tabs'].includes(fieldConfig.type)) {\n clientProps.indexPath = indexPath\n clientProps.parentPath = parentPath\n clientProps.parentSchemaPath = parentSchemaPath\n }\n\n const serverProps: ServerComponentProps = {\n id,\n clientField,\n clientFieldSchemaMap,\n data,\n field: fieldConfig,\n fieldSchemaMap,\n permissions,\n // TODO: Should we pass explicit values? initialValue, value, valid\n // value and initialValue should be typed\n collectionSlug,\n formState,\n i18n: req.i18n,\n operation,\n payload: req.payload,\n preferences,\n req,\n siblingData,\n user: req.user,\n }\n\n if (!fieldState?.customComponents) {\n fieldState.customComponents = {}\n }\n\n switch (fieldConfig.type) {\n // TODO: handle block row labels as well in a similar fashion\n case 'array': {\n fieldState?.rows?.forEach((row, rowIndex) => {\n if (fieldConfig.admin?.components && 'RowLabel' in fieldConfig.admin.components) {\n if (!fieldState.customComponents.RowLabels) {\n fieldState.customComponents.RowLabels = []\n }\n\n fieldState.customComponents.RowLabels[rowIndex] = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.RowLabel,\n importMap: req.payload.importMap,\n serverProps: {\n ...serverProps,\n rowLabel: `${getTranslation(fieldConfig.labels.singular, req.i18n)} ${String(\n rowIndex + 1,\n ).padStart(2, '0')}`,\n rowNumber: rowIndex + 1,\n },\n })\n }\n })\n\n break\n }\n\n case 'richText': {\n if (!fieldConfig?.editor) {\n throw new MissingEditorProp(fieldConfig) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof fieldConfig?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!fieldConfig.admin) {\n fieldConfig.admin = {}\n }\n\n if (!fieldConfig.admin.components) {\n fieldConfig.admin.components = {}\n }\n\n fieldState.customComponents.Field = RenderServerComponent({\n clientProps,\n Component: fieldConfig.editor.FieldComponent,\n importMap: req.payload.importMap,\n serverProps,\n })\n\n break\n }\n\n case 'ui': {\n if (fieldConfig?.admin?.components) {\n // Render any extra, untyped components\n for (const key in fieldConfig.admin.components) {\n if (key in defaultUIFieldComponentKeys) {\n continue\n }\n const Component = fieldConfig.admin.components[key]\n fieldState.customComponents[key] = RenderServerComponent({\n clientProps,\n Component,\n importMap: req.payload.importMap,\n key: `field.admin.components.${key}`,\n serverProps,\n })\n }\n }\n break\n }\n\n default: {\n break\n }\n }\n\n if (fieldConfig.admin) {\n if ('description' in fieldConfig.admin) {\n if (typeof fieldConfig.admin?.description === 'function') {\n fieldState.customComponents.Description = (\n <FieldDescription\n description={fieldConfig.admin?.description({\n t: req.i18n.t,\n })}\n path={path}\n />\n )\n }\n }\n\n if (fieldConfig.admin?.components) {\n if ('afterInput' in fieldConfig.admin.components) {\n fieldState.customComponents.AfterInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.afterInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.afterInput',\n serverProps,\n })\n }\n\n if ('beforeInput' in fieldConfig.admin.components) {\n fieldState.customComponents.BeforeInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.beforeInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.beforeInput',\n serverProps,\n })\n }\n\n if ('Description' in fieldConfig.admin.components) {\n fieldState.customComponents.Description = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Description,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Description',\n serverProps,\n })\n }\n\n if ('Error' in fieldConfig.admin.components) {\n fieldState.customComponents.Error = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Error,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Error',\n serverProps,\n })\n }\n\n if ('Label' in fieldConfig.admin.components) {\n fieldState.customComponents.Label = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Label,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Label',\n serverProps,\n })\n }\n\n if ('Field' in fieldConfig.admin.components) {\n fieldState.customComponents.Field = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Field,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Field',\n serverProps,\n })\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"renderField.js","names":["getTranslation","createClientField","MissingEditorProp","fieldIsHiddenOrDisabled","RenderServerComponent","FieldDescription","WatchCondition","defaultUIFieldComponentKeys","renderField","id","clientFieldSchemaMap","collectionSlug","data","fieldConfig","fieldSchemaMap","fieldState","formState","indexPath","operation","parentPath","parentSchemaPath","path","permissions","preferences","req","schemaPath","siblingData","clientField","get","defaultIDType","payload","config","db","field","i18n","importMap","clientProps","customComponents","readOnly","includes","type","serverProps","user","rows","forEach","row","rowIndex","admin","components","RowLabels","Component","RowLabel","rowLabel","labels","singular","String","padStart","rowNumber","editor","Error","Field","_jsx","FieldComponent","key","description","Description","t","AfterInput","afterInput","BeforeInput","beforeInput","Label"],"sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"sourcesContent":["import type { ClientComponentProps, ClientField, FieldPaths, ServerComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createClientField, MissingEditorProp } from 'payload'\nimport { fieldIsHiddenOrDisabled } from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- need this to reference already existing bundle. Otherwise, bundle size increases., payload/no-imports-from-exports-dir\nimport { FieldDescription, WatchCondition } from '../../exports/client/index.js'\n\nconst defaultUIFieldComponentKeys: Array<'Cell' | 'Description' | 'Field' | 'Filter'> = [\n 'Cell',\n 'Description',\n 'Field',\n 'Filter',\n]\n\nexport const renderField: RenderFieldMethod = ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fieldConfig,\n fieldSchemaMap,\n fieldState,\n formState,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n preferences,\n req,\n schemaPath,\n siblingData,\n}) => {\n const clientField = clientFieldSchemaMap\n ? (clientFieldSchemaMap.get(schemaPath) as ClientField)\n : createClientField({\n defaultIDType: req.payload.config.db.defaultIDType,\n field: fieldConfig,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n })\n\n if (fieldIsHiddenOrDisabled(clientField)) {\n return\n }\n\n const clientProps: ClientComponentProps & Partial<FieldPaths> = {\n customComponents: fieldState?.customComponents || {},\n field: clientField,\n path,\n readOnly: typeof permissions === 'boolean' ? !permissions : !permissions?.[operation],\n schemaPath,\n }\n\n // fields with subfields\n if (['array', 'blocks', 'collapsible', 'group', 'row', 'tabs'].includes(fieldConfig.type)) {\n clientProps.indexPath = indexPath\n clientProps.parentPath = parentPath\n clientProps.parentSchemaPath = parentSchemaPath\n }\n\n const serverProps: ServerComponentProps = {\n id,\n clientField,\n clientFieldSchemaMap,\n data,\n field: fieldConfig,\n fieldSchemaMap,\n permissions,\n // TODO: Should we pass explicit values? initialValue, value, valid\n // value and initialValue should be typed\n collectionSlug,\n formState,\n i18n: req.i18n,\n operation,\n payload: req.payload,\n preferences,\n req,\n siblingData,\n user: req.user,\n }\n\n if (!fieldState?.customComponents) {\n fieldState.customComponents = {}\n }\n\n switch (fieldConfig.type) {\n // TODO: handle block row labels as well in a similar fashion\n case 'array': {\n fieldState?.rows?.forEach((row, rowIndex) => {\n if (fieldConfig.admin?.components && 'RowLabel' in fieldConfig.admin.components) {\n if (!fieldState.customComponents.RowLabels) {\n fieldState.customComponents.RowLabels = []\n }\n\n fieldState.customComponents.RowLabels[rowIndex] = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.RowLabel,\n importMap: req.payload.importMap,\n serverProps: {\n ...serverProps,\n rowLabel: `${getTranslation(fieldConfig.labels.singular, req.i18n)} ${String(\n rowIndex + 1,\n ).padStart(2, '0')}`,\n rowNumber: rowIndex + 1,\n },\n })\n }\n })\n\n break\n }\n\n case 'richText': {\n if (!fieldConfig?.editor) {\n throw new MissingEditorProp(fieldConfig) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof fieldConfig?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!fieldConfig.admin) {\n fieldConfig.admin = {}\n }\n\n if (!fieldConfig.admin.components) {\n fieldConfig.admin.components = {}\n }\n\n fieldState.customComponents.Field = (\n <WatchCondition path={path}>\n {RenderServerComponent({\n clientProps,\n Component: fieldConfig.editor.FieldComponent,\n importMap: req.payload.importMap,\n serverProps,\n })}\n </WatchCondition>\n )\n\n break\n }\n\n case 'ui': {\n if (fieldConfig?.admin?.components) {\n // Render any extra, untyped components\n for (const key in fieldConfig.admin.components) {\n if (key in defaultUIFieldComponentKeys) {\n continue\n }\n const Component = fieldConfig.admin.components[key]\n fieldState.customComponents[key] = RenderServerComponent({\n clientProps,\n Component,\n importMap: req.payload.importMap,\n key: `field.admin.components.${key}`,\n serverProps,\n })\n }\n }\n break\n }\n\n default: {\n break\n }\n }\n\n if (fieldConfig.admin) {\n if ('description' in fieldConfig.admin) {\n if (typeof fieldConfig.admin?.description === 'function') {\n fieldState.customComponents.Description = (\n <FieldDescription\n description={fieldConfig.admin?.description({\n t: req.i18n.t,\n })}\n path={path}\n />\n )\n }\n }\n\n if (fieldConfig.admin?.components) {\n if ('afterInput' in fieldConfig.admin.components) {\n fieldState.customComponents.AfterInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.afterInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.afterInput',\n serverProps,\n })\n }\n\n if ('beforeInput' in fieldConfig.admin.components) {\n fieldState.customComponents.BeforeInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.beforeInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.beforeInput',\n serverProps,\n })\n }\n\n if ('Description' in fieldConfig.admin.components) {\n fieldState.customComponents.Description = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Description,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Description',\n serverProps,\n })\n }\n\n if ('Error' in fieldConfig.admin.components) {\n fieldState.customComponents.Error = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Error,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Error',\n serverProps,\n })\n }\n\n if ('Label' in fieldConfig.admin.components) {\n fieldState.customComponents.Label = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Label,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Label',\n serverProps,\n })\n }\n\n if ('Field' in fieldConfig.admin.components) {\n fieldState.customComponents.Field = (\n <WatchCondition path={path}>\n {RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Field,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Field',\n serverProps,\n })}\n </WatchCondition>\n )\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,6 @@
1
1
  import type React from 'react';
2
2
  export declare const WatchCondition: React.FC<{
3
3
  children: React.ReactNode;
4
- indexPath: string;
5
4
  path: string;
6
5
  }>;
7
6
  //# sourceMappingURL=WatchCondition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WatchCondition.d.ts","sourceRoot":"","sources":["../../../src/forms/withCondition/WatchCondition.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACb,CAYA,CAAA"}
1
+ {"version":3,"file":"WatchCondition.d.ts","sourceRoot":"","sources":["../../../src/forms/withCondition/WatchCondition.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;CACb,CAYA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"WatchCondition.js","names":["c","_c","useFormFields","WatchCondition","props","$","children","path","t0","t1","fields","field","passesCondition"],"sources":["../../../src/forms/withCondition/WatchCondition.tsx"],"sourcesContent":["'use client'\n\nimport type React from 'react'\n\nimport { useFormFields } from '../Form/context.js'\n\nexport const WatchCondition: React.FC<{\n children: React.ReactNode\n indexPath: string\n path: string\n}> = (props) => {\n const { children, path } = props\n\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { passesCondition } = field || {}\n\n if (passesCondition === false) {\n return null\n }\n\n return children\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,aAAa,QAAQ;AAE9B,OAAO,MAAMC,cAAA,GAIRC,KAAA;EAAA,MAAAC,CAAA,GAAAJ,EAAA;EACH;IAAAK,QAAA;IAAAC;EAAA,IAA2BH,KAAA;EAAA,IAAAI,EAAA;EAAA,IAAAH,CAAA,QAAAE,IAAA;IAECC,EAAA,GAAAC,EAAA;MAAC,OAAAC,MAAA,IAAAD,EAAQ;MAAA,OAAKC,MAAC,IAAUA,MAAA,GAASH,IAAA,CAAK,QAAK;IAAA;IAAAF,CAAA,MAAAE,IAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAxE,MAAAM,KAAA,GAAcT,aAAA,CAAcM,EAA4C;EAExE;IAAAI;EAAA,IAA4BD,KAAA,MAAU;EAAA,IAElCC,eAAA,UAAoB;IAAA;EAAA;EAAA,OAIjBN,QAAA;AAAA,CACT","ignoreList":[]}
1
+ {"version":3,"file":"WatchCondition.js","names":["c","_c","useFormFields","WatchCondition","props","$","children","path","t0","t1","fields","field","passesCondition"],"sources":["../../../src/forms/withCondition/WatchCondition.tsx"],"sourcesContent":["'use client'\n\nimport type React from 'react'\n\nimport { useFormFields } from '../Form/context.js'\n\nexport const WatchCondition: React.FC<{\n children: React.ReactNode\n path: string\n}> = (props) => {\n const { children, path } = props\n\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { passesCondition } = field || {}\n\n if (passesCondition === false) {\n return null\n }\n\n return children\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,aAAa,QAAQ;AAE9B,OAAO,MAAMC,cAAA,GAGRC,KAAA;EAAA,MAAAC,CAAA,GAAAJ,EAAA;EACH;IAAAK,QAAA;IAAAC;EAAA,IAA2BH,KAAA;EAAA,IAAAI,EAAA;EAAA,IAAAH,CAAA,QAAAE,IAAA;IAECC,EAAA,GAAAC,EAAA;MAAC,OAAAC,MAAA,IAAAD,EAAQ;MAAA,OAAKC,MAAC,IAAUA,MAAA,GAASH,IAAA,CAAK,QAAK;IAAA;IAAAF,CAAA,MAAAE,IAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAxE,MAAAM,KAAA,GAAcT,aAAA,CAAcM,EAA4C;EAExE;IAAAI;EAAA,IAA4BD,KAAA,MAAU;EAAA,IAElCC,eAAA,UAAoB;IAAA;EAAA;EAAA,OAIjBN,QAAA;AAAA,CACT","ignoreList":[]}
@@ -6,11 +6,9 @@ import { WatchCondition } from './WatchCondition.js';
6
6
  export const withCondition = Field => {
7
7
  const CheckForCondition = props => {
8
8
  const {
9
- indexPath,
10
9
  path
11
10
  } = props;
12
11
  return /*#__PURE__*/_jsx(WatchCondition, {
13
- indexPath: indexPath,
14
12
  path: path,
15
13
  children: /*#__PURE__*/_jsx(Field, {
16
14
  ...props
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","WatchCondition","withCondition","Field","CheckForCondition","props","indexPath","path","_jsx"],"sources":["../../../src/forms/withCondition/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldPaths } from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport React from 'react'\n\nimport { WatchCondition } from './WatchCondition.js'\n\nexport const withCondition = <P extends MarkOptional<FieldPaths, 'indexPath' | 'path'>>(\n Field: React.ComponentType<P>,\n): React.FC<P> => {\n const CheckForCondition: React.FC<P> = (props) => {\n const { indexPath, path } = props\n\n return (\n <WatchCondition indexPath={indexPath} path={path}>\n <Field {...props} />\n </WatchCondition>\n )\n }\n\n return CheckForCondition\n}\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,aAAA,GACXC,KAAA;EAEA,MAAMC,iBAAA,GAAkCC,KAAA;IACtC,MAAM;MAAEC,SAAS;MAAEC;IAAI,CAAE,GAAGF,KAAA;IAE5B,oBACEG,IAAA,CAACP,cAAA;MAAeK,SAAA,EAAWA,SAAA;MAAWC,IAAA,EAAMA,IAAA;gBAC1C,aAAAC,IAAA,CAACL,KAAA;QAAO,GAAGE;;;EAGjB;EAEA,OAAOD,iBAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","WatchCondition","withCondition","Field","CheckForCondition","props","path","_jsx"],"sources":["../../../src/forms/withCondition/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldPaths } from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport React from 'react'\n\nimport { WatchCondition } from './WatchCondition.js'\n\nexport const withCondition = <P extends MarkOptional<FieldPaths, 'indexPath' | 'path'>>(\n Field: React.ComponentType<P>,\n): React.FC<P> => {\n const CheckForCondition: React.FC<P> = (props) => {\n const { path } = props\n\n return (\n <WatchCondition path={path}>\n <Field {...props} />\n </WatchCondition>\n )\n }\n\n return CheckForCondition\n}\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,aAAA,GACXC,KAAA;EAEA,MAAMC,iBAAA,GAAkCC,KAAA;IACtC,MAAM;MAAEC;IAAI,CAAE,GAAGD,KAAA;IAEjB,oBACEE,IAAA,CAACN,cAAA;MAAeK,IAAA,EAAMA,IAAA;gBACpB,aAAAC,IAAA,CAACJ,KAAA;QAAO,GAAGE;;;EAGjB;EAEA,OAAOD,iBAAA;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"buildTableState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildTableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EAEnB,YAAY,EACZ,WAAW,EACX,aAAa,EAEd,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAKxE,KAAK,4BAA4B,GAAG;IAClC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,WAAW,EAAE,eAAe,CAAA;IAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,GAAG,4BAA4B,CAAA;AAE7F,eAAO,MAAM,sBAAsB,SAC3B,mBAAmB,KACxB,OAAO,CAAC,qBAAqB,CAqB/B,CAAA;AAED,eAAO,MAAM,eAAe,SACpB,mBAAmB,KACxB,OAAO,CAAC,4BAA4B,CA6KtC,CAAA"}
1
+ {"version":3,"file":"buildTableState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildTableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EAEnB,YAAY,EACZ,WAAW,EACX,aAAa,EAEd,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAKxE,KAAK,4BAA4B,GAAG;IAClC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,WAAW,EAAE,eAAe,CAAA;IAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,GAAG,4BAA4B,CAAA;AAE7F,eAAO,MAAM,sBAAsB,SAC3B,mBAAmB,KACxB,OAAO,CAAC,qBAAqB,CAqB/B,CAAA;AAED,eAAO,MAAM,eAAe,SACpB,mBAAmB,KACxB,OAAO,CAAC,4BAA4B,CA8KtC,CAAA"}
@@ -148,6 +148,7 @@ export const buildTableState = async args => {
148
148
  overrideAccess: false,
149
149
  page: query?.page ? parseInt(query.page, 10) : undefined,
150
150
  sort: query?.sort,
151
+ user: req.user,
151
152
  where: query?.where
152
153
  });
153
154
  docs = data.docs;
@@ -1 +1 @@
1
- {"version":3,"file":"buildTableState.js","names":["dequal","formatErrors","getClientConfig","renderFilters","renderTable","buildTableStateHandler","args","req","res","buildTableState","err","payload","logger","error","msg","message","collectionSlug","columns","docs","docsFromArgs","enableRowSelections","query","renderRowTypes","i18n","config","user","tableAppearance","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","length","clientConfig","importMap","collectionConfig","clientCollectionConfig","slug","preferencesKey","preferencesResult","where","and","key","equals","id","then","value","newPrefs","preferencesArgs","data","update","create","parseInt","undefined","overrideAccess","page","sort","columnState","Table","columnPreferences","useAsTitle","renderedFilters","fields","preferences","state"],"sources":["../../src/utilities/buildTableState.ts"],"sourcesContent":["import type {\n BuildTableStateArgs,\n ClientCollectionConfig,\n ClientConfig,\n ErrorResult,\n PaginatedDocs,\n SanitizedCollectionConfig,\n} from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { formatErrors } from 'payload'\n\nimport type { Column } from '../elements/Table/index.js'\nimport type { ListPreferences } from '../elements/TableColumns/index.js'\n\nimport { getClientConfig } from './getClientConfig.js'\nimport { renderFilters, renderTable } from './renderTable.js'\n\ntype BuildTableStateSuccessResult = {\n clientConfig?: ClientConfig\n data: PaginatedDocs\n errors?: never\n preferences: ListPreferences\n renderedFilters: Map<string, React.ReactNode>\n state: Column[]\n Table: React.ReactNode\n}\n\ntype BuildTableStateErrorResult = {\n data?: any\n renderedFilters?: never\n state?: never\n Table?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildTableStateResult = BuildTableStateErrorResult | BuildTableStateSuccessResult\n\nexport const buildTableStateHandler = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateResult> => {\n const { req } = args\n\n try {\n const res = await buildTableState(args)\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildTableState = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateSuccessResult> => {\n const {\n collectionSlug,\n columns,\n docs: docsFromArgs,\n enableRowSelections,\n query,\n renderRowTypes,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n tableAppearance,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: payload.importMap,\n })\n\n let collectionConfig: SanitizedCollectionConfig\n let clientCollectionConfig: ClientCollectionConfig\n\n if (req.payload.collections[collectionSlug]) {\n collectionConfig = req.payload.collections[collectionSlug].config\n clientCollectionConfig = clientConfig.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n }\n\n // get prefs, then set update them using the columns that we just received\n const preferencesKey = `${collectionSlug}-list`\n\n const preferencesResult = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0] ?? { id: null, value: {} })\n\n let newPrefs = preferencesResult.value\n\n if (!preferencesResult.id || !dequal(columns, preferencesResult?.columns)) {\n const preferencesArgs = {\n collection: 'payload-preferences',\n data: {\n key: preferencesKey,\n user: {\n collection: user.collection,\n value: user.id,\n },\n value: {\n ...(preferencesResult?.value || {}),\n columns,\n },\n },\n depth: 0,\n req,\n }\n\n if (preferencesResult.id) {\n newPrefs = await payload\n .update({\n ...preferencesArgs,\n id: preferencesResult.id,\n })\n ?.then((res) => res.value as ListPreferences)\n } else {\n newPrefs = await payload.create(preferencesArgs)?.then((res) => res.value as ListPreferences)\n }\n }\n\n let docs = docsFromArgs\n let data: PaginatedDocs\n\n // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`\n\n if (!docs || query) {\n data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n limit: query?.limit ? parseInt(query.limit, 10) : undefined,\n overrideAccess: false,\n page: query?.page ? parseInt(query.page, 10) : undefined,\n sort: query?.sort,\n where: query?.where,\n })\n\n docs = data.docs\n }\n\n const { columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columnPreferences: undefined, // TODO, might not be needed\n columns,\n docs,\n enableRowSelections,\n i18n: req.i18n,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n return {\n data,\n preferences: newPrefs,\n renderedFilters,\n state: columnState,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"buildTableState.js","names":["dequal","formatErrors","getClientConfig","renderFilters","renderTable","buildTableStateHandler","args","req","res","buildTableState","err","payload","logger","error","msg","message","collectionSlug","columns","docs","docsFromArgs","enableRowSelections","query","renderRowTypes","i18n","config","user","tableAppearance","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","length","clientConfig","importMap","collectionConfig","clientCollectionConfig","slug","preferencesKey","preferencesResult","where","and","key","equals","id","then","value","newPrefs","preferencesArgs","data","update","create","parseInt","undefined","overrideAccess","page","sort","columnState","Table","columnPreferences","useAsTitle","renderedFilters","fields","preferences","state"],"sources":["../../src/utilities/buildTableState.ts"],"sourcesContent":["import type {\n BuildTableStateArgs,\n ClientCollectionConfig,\n ClientConfig,\n ErrorResult,\n PaginatedDocs,\n SanitizedCollectionConfig,\n} from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { formatErrors } from 'payload'\n\nimport type { Column } from '../elements/Table/index.js'\nimport type { ListPreferences } from '../elements/TableColumns/index.js'\n\nimport { getClientConfig } from './getClientConfig.js'\nimport { renderFilters, renderTable } from './renderTable.js'\n\ntype BuildTableStateSuccessResult = {\n clientConfig?: ClientConfig\n data: PaginatedDocs\n errors?: never\n preferences: ListPreferences\n renderedFilters: Map<string, React.ReactNode>\n state: Column[]\n Table: React.ReactNode\n}\n\ntype BuildTableStateErrorResult = {\n data?: any\n renderedFilters?: never\n state?: never\n Table?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildTableStateResult = BuildTableStateErrorResult | BuildTableStateSuccessResult\n\nexport const buildTableStateHandler = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateResult> => {\n const { req } = args\n\n try {\n const res = await buildTableState(args)\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildTableState = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateSuccessResult> => {\n const {\n collectionSlug,\n columns,\n docs: docsFromArgs,\n enableRowSelections,\n query,\n renderRowTypes,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n tableAppearance,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: payload.importMap,\n })\n\n let collectionConfig: SanitizedCollectionConfig\n let clientCollectionConfig: ClientCollectionConfig\n\n if (req.payload.collections[collectionSlug]) {\n collectionConfig = req.payload.collections[collectionSlug].config\n clientCollectionConfig = clientConfig.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n }\n\n // get prefs, then set update them using the columns that we just received\n const preferencesKey = `${collectionSlug}-list`\n\n const preferencesResult = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0] ?? { id: null, value: {} })\n\n let newPrefs = preferencesResult.value\n\n if (!preferencesResult.id || !dequal(columns, preferencesResult?.columns)) {\n const preferencesArgs = {\n collection: 'payload-preferences',\n data: {\n key: preferencesKey,\n user: {\n collection: user.collection,\n value: user.id,\n },\n value: {\n ...(preferencesResult?.value || {}),\n columns,\n },\n },\n depth: 0,\n req,\n }\n\n if (preferencesResult.id) {\n newPrefs = await payload\n .update({\n ...preferencesArgs,\n id: preferencesResult.id,\n })\n ?.then((res) => res.value as ListPreferences)\n } else {\n newPrefs = await payload.create(preferencesArgs)?.then((res) => res.value as ListPreferences)\n }\n }\n\n let docs = docsFromArgs\n let data: PaginatedDocs\n\n // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`\n\n if (!docs || query) {\n data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n limit: query?.limit ? parseInt(query.limit, 10) : undefined,\n overrideAccess: false,\n page: query?.page ? parseInt(query.page, 10) : undefined,\n sort: query?.sort,\n user: req.user,\n where: query?.where,\n })\n\n docs = data.docs\n }\n\n const { columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columnPreferences: undefined, // TODO, might not be needed\n columns,\n docs,\n enableRowSelections,\n i18n: req.i18n,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n return {\n data,\n preferences: newPrefs,\n renderedFilters,\n state: columnState,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "3.7.0",
3
+ "version": "3.7.1-canary.6b01088",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -126,13 +126,13 @@
126
126
  "qs-esm": "7.0.2",
127
127
  "react-datepicker": "7.5.0",
128
128
  "react-image-crop": "10.1.8",
129
- "react-select": "5.8.3",
129
+ "react-select": "5.9.0",
130
130
  "scheduler": "0.25.0",
131
131
  "sonner": "^1.7.0",
132
132
  "ts-essentials": "10.0.3",
133
133
  "use-context-selector": "2.0.0",
134
134
  "uuid": "10.0.0",
135
- "@payloadcms/translations": "3.7.0"
135
+ "@payloadcms/translations": "3.7.1-canary.6b01088"
136
136
  },
137
137
  "devDependencies": {
138
138
  "@babel/cli": "7.25.9",
@@ -150,13 +150,13 @@
150
150
  "esbuild-sass-plugin": "3.3.1",
151
151
  "eslint-plugin-react-compiler": "19.0.0-beta-df7b47d-20241124",
152
152
  "@payloadcms/eslint-config": "3.0.0",
153
- "payload": "3.7.0"
153
+ "payload": "3.7.1-canary.6b01088"
154
154
  },
155
155
  "peerDependencies": {
156
156
  "next": "^15.0.0",
157
157
  "react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
158
158
  "react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
159
- "payload": "3.7.0"
159
+ "payload": "3.7.1-canary.6b01088"
160
160
  },
161
161
  "engines": {
162
162
  "node": "^18.20.2 || >=20.9.0"