@payloadcms/ui 3.0.1-canary.34c6cc0 → 3.0.1-canary.c98d392

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 (54) hide show
  1. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  2. package/dist/elements/TableColumns/buildColumnState.js +1 -15
  3. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  4. package/dist/elements/WithServerSideProps/index.js +1 -3
  5. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  6. package/dist/exports/client/index.js +10 -10
  7. package/dist/exports/client/index.js.map +4 -4
  8. package/dist/exports/shared/index.js +1 -1
  9. package/dist/exports/shared/index.js.map +2 -2
  10. package/dist/fields/Array/index.d.ts.map +1 -1
  11. package/dist/fields/Array/index.js +53 -55
  12. package/dist/fields/Array/index.js.map +1 -1
  13. package/dist/fields/Blocks/index.d.ts.map +1 -1
  14. package/dist/fields/Blocks/index.js +53 -55
  15. package/dist/fields/Blocks/index.js.map +1 -1
  16. package/dist/fields/Select/Input.d.ts +1 -0
  17. package/dist/fields/Select/Input.d.ts.map +1 -1
  18. package/dist/fields/Select/Input.js +44 -42
  19. package/dist/fields/Select/Input.js.map +1 -1
  20. package/dist/fields/Select/index.d.ts.map +1 -1
  21. package/dist/fields/Select/index.js +1 -0
  22. package/dist/fields/Select/index.js.map +1 -1
  23. package/dist/forms/Form/index.d.ts.map +1 -1
  24. package/dist/forms/Form/index.js +2 -0
  25. package/dist/forms/Form/index.js.map +1 -1
  26. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +56 -0
  27. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  28. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +71 -1
  29. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  30. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +1 -1
  31. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  32. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +9 -0
  33. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  34. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +21 -1
  35. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  36. package/dist/forms/fieldSchemasToFormState/index.d.ts +1 -1
  37. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  38. package/dist/forms/fieldSchemasToFormState/index.js +1 -1
  39. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  40. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  41. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -15
  42. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  43. package/dist/views/List/index.d.ts.map +1 -1
  44. package/dist/views/List/index.js +25 -5
  45. package/dist/views/List/index.js.map +1 -1
  46. package/package.json +5 -5
  47. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +0 -12
  48. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +0 -1
  49. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +0 -23
  50. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +0 -1
  51. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +0 -60
  52. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +0 -1
  53. package/dist/forms/fieldSchemasToFormState/iterateFields.js +0 -73
  54. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +0 -1
@@ -8,5 +8,14 @@ type Args<T> = {
8
8
  user: User;
9
9
  };
10
10
  export declare const defaultValuePromise: <T>({ id, data, field, locale, siblingData, user, }: Args<T>) => Promise<void>;
11
+ type IterateFieldsArgs<T> = {
12
+ data: T;
13
+ fields: (Field | TabAsField)[];
14
+ id?: number | string;
15
+ locale: string | undefined;
16
+ siblingData: Data;
17
+ user: User;
18
+ };
19
+ export declare const iterateFields: <T>({ id, data, fields, locale, siblingData, user, }: IterateFieldsArgs<T>) => Promise<void>;
11
20
  export {};
12
21
  //# 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,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAK5D,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;AAED,KAAK,iBAAiB,CAAC,CAAC,IAAI;IAC1B,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,iBAAiB,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAiBrC,CAAA"}
@@ -1,6 +1,5 @@
1
1
  import { getDefaultValue } from 'payload';
2
2
  import { fieldAffectsData, tabHasName } from 'payload/shared';
3
- import { iterateFields } from './iterateFields.js';
4
3
  // TODO: Make this works for rich text subfields
5
4
  export const defaultValuePromise = async ({
6
5
  id,
@@ -136,4 +135,25 @@ export const defaultValuePromise = async ({
136
135
  }
137
136
  }
138
137
  };
138
+ export const iterateFields = async ({
139
+ id,
140
+ data,
141
+ fields,
142
+ locale,
143
+ siblingData,
144
+ user
145
+ }) => {
146
+ const promises = [];
147
+ fields.forEach(field => {
148
+ promises.push(defaultValuePromise({
149
+ id,
150
+ data,
151
+ field,
152
+ locale,
153
+ siblingData,
154
+ user
155
+ }));
156
+ });
157
+ await Promise.all(promises);
158
+ };
139
159
  //# sourceMappingURL=promise.js.map
@@ -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","defaultValuePromise","id","data","field","locale","siblingData","user","name","defaultValue","value","type","rows","Array","isArray","promises","forEach","row","push","iterateFields","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\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\ntype IterateFieldsArgs<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}: IterateFieldsArgs<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":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import type { Data, DocumentPreferences, Field, FieldSchemaMap, FormState, PayloadRequest, SanitizedDocumentPermissions } from 'payload';
2
2
  import type { RenderFieldMethod } from './types.js';
3
- import { iterateFields } from './iterateFields.js';
3
+ import { iterateFields } from './addFieldStatePromise.js';
4
4
  type Args = {
5
5
  collectionSlug?: string;
6
6
  data?: Data;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,SAAS,EAET,cAAc,EACd,4BAA4B,EAC7B,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,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,4BAA4B,CAAC,QAAQ,CAAC,CAAA;IACnD,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;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,uBAAuB,SAAgB,IAAI,KAAG,OAAO,CAAC,SAAS,CAyD3E,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,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,SAAS,EAET,cAAc,EACd,4BAA4B,EAC7B,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAGzD,KAAK,IAAI,GAAG;IACV,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,4BAA4B,CAAC,QAAQ,CAAC,CAAA;IACnD,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;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,uBAAuB,SAAgB,IAAI,KAAG,OAAO,CAAC,SAAS,CAyD3E,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -1,5 +1,5 @@
1
+ import { iterateFields } from './addFieldStatePromise.js';
1
2
  import { calculateDefaultValues } from './calculateDefaultValues/index.js';
2
- import { iterateFields } from './iterateFields.js';
3
3
  export const fieldSchemasToFormState = async args => {
4
4
  const {
5
5
  id,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["calculateDefaultValues","iterateFields","fieldSchemasToFormState","args","id","collectionSlug","data","fields","fieldSchemaMap","operation","permissions","preferences","previousFormState","renderAllFields","renderFieldFn","req","schemaPath","length","state","dataWithDefaultValues","locale","siblingData","user","addErrorPathToParent","fullData","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath"],"sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"sourcesContent":["import type {\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedDocumentPermissions,\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 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: SanitizedDocumentPermissions['fields']\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 schemaPath: string\n}\n\nexport const fieldSchemasToFormState = async (args: Args): Promise<FormState> => {\n const {\n id,\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 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":"AAaA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,aAAa,QAAQ;AA+B9B,OAAO,MAAMC,uBAAA,GAA0B,MAAOC,IAAA;EAC5C,MAAM;IACJC,EAAE;IACFC,cAAc;IACdC,IAAA,GAAO,CAAC,CAAC;IACTC,MAAM;IACNC,cAAc;IACdC,SAAS;IACTC,WAAW;IACXC,WAAW;IACXC,iBAAiB;IACjBC,eAAe;IACfC,aAAa;IACbC,GAAG;IACHC;EAAU,CACX,GAAGb,IAAA;EAEJ,IAAII,MAAA,IAAUA,MAAA,CAAOU,MAAM,EAAE;IAC3B,MAAMC,KAAA,GAAoC,CAAC;IAE3C,MAAMC,qBAAA,GAAwB;MAAE,GAAGb;IAAK;IAExC,MAAMN,sBAAA,CAAuB;MAC3BI,EAAA;MACAE,IAAA,EAAMa,qBAAA;MACNZ,MAAA;MACAa,MAAA,EAAQL,GAAA,CAAIK,MAAM;MAClBC,WAAA,EAAaF,qBAAA;MACbG,IAAA,EAAMP,GAAA,CAAIO;IACZ;IAEA,MAAMrB,aAAA,CAAc;MAClBG,EAAA;MACAmB,oBAAA,EAAsB;MACtBlB,cAAA;MACAC,IAAA,EAAMa,qBAAA;MACNZ,MAAA;MACAC,cAAA;MACAgB,QAAA,EAAUL,qBAAA;MACVV,SAAA;MACAgB,eAAA,EAAiB;MACjBC,qBAAA,EAAuB;MACvBC,UAAA,EAAY;MACZC,gBAAA,EAAkBZ,UAAA;MAClBN,WAAA;MACAC,WAAA;MACAC,iBAAA;MACAC,eAAA;MACAC,aAAA;MACAC,GAAA;MACAG;IACF;IAEA,OAAOA,KAAA;EACT;EAEA,OAAO,CAAC;AACV;AAEA,SAASjB,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["iterateFields","calculateDefaultValues","fieldSchemasToFormState","args","id","collectionSlug","data","fields","fieldSchemaMap","operation","permissions","preferences","previousFormState","renderAllFields","renderFieldFn","req","schemaPath","length","state","dataWithDefaultValues","locale","siblingData","user","addErrorPathToParent","fullData","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath"],"sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"sourcesContent":["import type {\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedDocumentPermissions,\n} from 'payload'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { iterateFields } from './addFieldStatePromise.js'\nimport { calculateDefaultValues } from './calculateDefaultValues/index.js'\n\ntype Args = {\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: SanitizedDocumentPermissions['fields']\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 schemaPath: string\n}\n\nexport const fieldSchemasToFormState = async (args: Args): Promise<FormState> => {\n const {\n id,\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 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":"AAaA,SAASA,aAAa,QAAQ;AAC9B,SAASC,sBAAsB,QAAQ;AA+BvC,OAAO,MAAMC,uBAAA,GAA0B,MAAOC,IAAA;EAC5C,MAAM;IACJC,EAAE;IACFC,cAAc;IACdC,IAAA,GAAO,CAAC,CAAC;IACTC,MAAM;IACNC,cAAc;IACdC,SAAS;IACTC,WAAW;IACXC,WAAW;IACXC,iBAAiB;IACjBC,eAAe;IACfC,aAAa;IACbC,GAAG;IACHC;EAAU,CACX,GAAGb,IAAA;EAEJ,IAAII,MAAA,IAAUA,MAAA,CAAOU,MAAM,EAAE;IAC3B,MAAMC,KAAA,GAAoC,CAAC;IAE3C,MAAMC,qBAAA,GAAwB;MAAE,GAAGb;IAAK;IAExC,MAAML,sBAAA,CAAuB;MAC3BG,EAAA;MACAE,IAAA,EAAMa,qBAAA;MACNZ,MAAA;MACAa,MAAA,EAAQL,GAAA,CAAIK,MAAM;MAClBC,WAAA,EAAaF,qBAAA;MACbG,IAAA,EAAMP,GAAA,CAAIO;IACZ;IAEA,MAAMtB,aAAA,CAAc;MAClBI,EAAA;MACAmB,oBAAA,EAAsB;MACtBlB,cAAA;MACAC,IAAA,EAAMa,qBAAA;MACNZ,MAAA;MACAC,cAAA;MACAgB,QAAA,EAAUL,qBAAA;MACVV,SAAA;MACAgB,eAAA,EAAiB;MACjBC,qBAAA,EAAuB;MACvBC,UAAA,EAAY;MACZC,gBAAA,EAAkBZ,UAAA;MAClBN,WAAA;MACAC,WAAA;MACAC,iBAAA;MACAC,eAAA;MACAC,aAAA;MACAC,GAAA;MACAG;IACF;IAEA,OAAOA,KAAA;EACT;EAEA,OAAO,CAAC;AACV;AAEA,SAASlB,aAAa","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"renderField.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAanD,eAAO,MAAM,WAAW,EAAE,iBAsPzB,CAAA"}
1
+ {"version":3,"file":"renderField.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAanD,eAAO,MAAM,WAAW,EAAE,iBAuOzB,CAAA"}
@@ -109,23 +109,9 @@ export const renderField = ({
109
109
  if (!fieldConfig.admin.components) {
110
110
  fieldConfig.admin.components = {};
111
111
  }
112
- /**
113
- * We have to deep copy all the props we send to the client (= FieldComponent.clientProps).
114
- * That way, every editor's field / cell props we send to the client have their own object references.
115
- *
116
- * If we send the same object reference to the client twice (e.g. through some configurations where 2 or more fields
117
- * reference the same editor object, like the root editor), the admin panel may hang indefinitely. This has been happening since
118
- * a newer Next.js update that made it break when sending the same object reference to the client twice.
119
- *
120
- * We can use deepCopyObjectSimple as client props should be JSON-serializable.
121
- */
122
- const FieldComponent = fieldConfig.editor.FieldComponent;
123
- if (typeof FieldComponent === 'object' && FieldComponent.clientProps) {
124
- // FieldComponent.clientProps = deepCopyObjectSimple(FieldComponent.clientProps)
125
- }
126
112
  fieldState.customComponents.Field = RenderServerComponent({
127
113
  clientProps,
128
- Component: FieldComponent,
114
+ Component: fieldConfig.editor.FieldComponent,
129
115
  importMap: req.payload.importMap,
130
116
  serverProps
131
117
  });
@@ -1 +1 @@
1
- {"version":3,"file":"renderField.js","names":["getTranslation","createClientField","deepCopyObjectSimple","MissingEditorProp","fieldAffectsData","RenderServerComponent","FieldDescription","defaultUIFieldComponentKeys","renderField","id","collectionSlug","data","fieldConfig","fieldSchemaMap","fieldState","formState","indexPath","operation","parentPath","parentSchemaPath","path","permissions","incomingPermissions","preferences","req","schemaPath","siblingData","clientField","defaultIDType","payload","config","db","field","i18n","importMap","name","clientProps","customComponents","readOnly","includes","type","serverProps","user","rows","forEach","row","rowIndex","admin","components","RowLabels","Component","RowLabel","rowLabel","labels","singular","String","padStart","rowNumber","editor","Error","FieldComponent","Field","key","description","Description","_jsx","t","AfterInput","afterInput","BeforeInput","beforeInput","Label"],"sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"sourcesContent":["import type {\n ClientComponentProps,\n ClientField,\n FieldPaths,\n PayloadComponent,\n SanitizedFieldPermissions,\n ServerComponentProps,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createClientField, deepCopyObjectSimple, MissingEditorProp } from 'payload'\nimport { fieldAffectsData } from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\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 collectionSlug,\n data,\n fieldConfig,\n fieldSchemaMap,\n fieldState,\n formState,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions: incomingPermissions,\n preferences,\n req,\n schemaPath,\n siblingData,\n}) => {\n // TODO (ALESSIO): why are we passing the fieldConfig twice?\n // and especially, why are we deepCopyObject -here- instead of inside the createClientField func,\n // so no one screws this up in the future?\n const clientField = createClientField({\n clientField: deepCopyObjectSimple(fieldConfig) as ClientField,\n defaultIDType: req.payload.config.db.defaultIDType,\n field: fieldConfig,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n })\n\n const permissions =\n incomingPermissions === true\n ? true\n : fieldAffectsData(fieldConfig)\n ? incomingPermissions?.[fieldConfig.name]\n : ({} as SanitizedFieldPermissions)\n\n const clientProps: ClientComponentProps & Partial<FieldPaths> = {\n customComponents: fieldState?.customComponents || {},\n field: clientField,\n path,\n readOnly: permissions !== true && !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 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 /**\n * We have to deep copy all the props we send to the client (= FieldComponent.clientProps).\n * That way, every editor's field / cell props we send to the client have their own object references.\n *\n * If we send the same object reference to the client twice (e.g. through some configurations where 2 or more fields\n * reference the same editor object, like the root editor), the admin panel may hang indefinitely. This has been happening since\n * a newer Next.js update that made it break when sending the same object reference to the client twice.\n *\n * We can use deepCopyObjectSimple as client props should be JSON-serializable.\n */\n const FieldComponent: PayloadComponent = fieldConfig.editor.FieldComponent\n if (typeof FieldComponent === 'object' && FieldComponent.clientProps) {\n // FieldComponent.clientProps = deepCopyObjectSimple(FieldComponent.clientProps)\n }\n\n fieldState.customComponents.Field = RenderServerComponent({\n clientProps,\n Component: 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","deepCopyObjectSimple","MissingEditorProp","fieldAffectsData","RenderServerComponent","FieldDescription","defaultUIFieldComponentKeys","renderField","id","collectionSlug","data","fieldConfig","fieldSchemaMap","fieldState","formState","indexPath","operation","parentPath","parentSchemaPath","path","permissions","incomingPermissions","preferences","req","schemaPath","siblingData","clientField","defaultIDType","payload","config","db","field","i18n","importMap","name","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 {\n ClientComponentProps,\n ClientField,\n FieldPaths,\n SanitizedFieldPermissions,\n ServerComponentProps,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createClientField, deepCopyObjectSimple, MissingEditorProp } from 'payload'\nimport { fieldAffectsData } from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\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 collectionSlug,\n data,\n fieldConfig,\n fieldSchemaMap,\n fieldState,\n formState,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions: incomingPermissions,\n preferences,\n req,\n schemaPath,\n siblingData,\n}) => {\n // TODO (ALESSIO): why are we passing the fieldConfig twice?\n // and especially, why are we deepCopyObject -here- instead of inside the createClientField func,\n // so no one screws this up in the future?\n const clientField = createClientField({\n clientField: deepCopyObjectSimple(fieldConfig) as ClientField,\n defaultIDType: req.payload.config.db.defaultIDType,\n field: fieldConfig,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n })\n\n const permissions =\n incomingPermissions === true\n ? true\n : fieldAffectsData(fieldConfig)\n ? incomingPermissions?.[fieldConfig.name]\n : ({} as SanitizedFieldPermissions)\n\n const clientProps: ClientComponentProps & Partial<FieldPaths> = {\n customComponents: fieldState?.customComponents || {},\n field: clientField,\n path,\n readOnly: permissions !== true && !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 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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAwC,MAAM,OAAO,CAAA;AAE5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AA2BjD,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACjC,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;CAC/C,GAAG,aAAa,CAAA;AAEjB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA+NzD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAwC,MAAM,OAAO,CAAA;AAE5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AA6BjD,OAAO,cAAc,CAAA;AAKrB,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACjC,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;CAC/C,GAAG,aAAa,CAAA;AAEjB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4OzD,CAAA"}
@@ -20,6 +20,7 @@ import { Pagination } from '../../elements/Pagination/index.js';
20
20
  import { PerPage } from '../../elements/PerPage/index.js';
21
21
  import { PublishMany } from '../../elements/PublishMany/index.js';
22
22
  import { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js';
23
+ import { SelectMany } from '../../elements/SelectMany/index.js';
23
24
  import { useStepNav } from '../../elements/StepNav/index.js';
24
25
  import { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js';
25
26
  import { TableColumnsProvider } from '../../elements/TableColumns/index.js';
@@ -32,12 +33,12 @@ import { useListQuery } from '../../providers/ListQuery/index.js';
32
33
  import { SelectionProvider } from '../../providers/Selection/index.js';
33
34
  import { useTranslation } from '../../providers/Translation/index.js';
34
35
  import { useWindowInfo } from '../../providers/WindowInfo/index.js';
35
- import './index.scss';
36
36
  import { ListHeader } from './ListHeader/index.js';
37
+ import './index.scss';
37
38
  const baseClass = 'collection-list';
38
39
  const Link = LinkImport.default || LinkImport;
39
40
  export const DefaultListView = props => {
40
- const $ = _c(13);
41
+ const $ = _c(17);
41
42
  const {
42
43
  AfterList,
43
44
  AfterListTable,
@@ -60,7 +61,8 @@ export const DefaultListView = props => {
60
61
  const [Table, setTable] = useState(InitialTable);
61
62
  const {
62
63
  createNewDrawerSlug,
63
- drawerSlug: listDrawerSlug
64
+ drawerSlug: listDrawerSlug,
65
+ onBulkSelect
64
66
  } = useListDrawerContext();
65
67
  let t0;
66
68
  let t1;
@@ -177,6 +179,20 @@ export const DefaultListView = props => {
177
179
  }]);
178
180
  }
179
181
  }, [setStepNav, labels, drawerDepth]);
182
+ let t5;
183
+ if ($[13] !== enableRowSelections || $[14] !== onBulkSelect || $[15] !== beforeActions) {
184
+ t5 = enableRowSelections && typeof onBulkSelect === "function" ? beforeActions ? [...beforeActions, _jsx(SelectMany, {
185
+ onClick: onBulkSelect
186
+ }, "select-many")] : [_jsx(SelectMany, {
187
+ onClick: onBulkSelect
188
+ }, "select-many")] : beforeActions;
189
+ $[13] = enableRowSelections;
190
+ $[14] = onBulkSelect;
191
+ $[15] = beforeActions;
192
+ $[16] = t5;
193
+ } else {
194
+ t5 = $[16];
195
+ }
180
196
  return _jsx(Fragment, {
181
197
  children: _jsx(TableColumnsProvider, {
182
198
  collectionSlug,
@@ -213,7 +229,7 @@ export const DefaultListView = props => {
213
229
  smallBreak,
214
230
  t
215
231
  }), _jsx(ListControls, {
216
- beforeActions,
232
+ beforeActions: t5,
217
233
  collectionConfig,
218
234
  collectionSlug,
219
235
  disableBulkDelete,
@@ -270,7 +286,11 @@ export const DefaultListView = props => {
270
286
  label: getTranslation(collectionConfig.labels.plural, i18n)
271
287
  }), _jsxs("div", {
272
288
  className: `${baseClass}__list-selection-actions`,
273
- children: [beforeActions && beforeActions, !disableBulkEdit && _jsxs(Fragment, {
289
+ children: [enableRowSelections && typeof onBulkSelect === "function" ? beforeActions ? [...beforeActions, _jsx(SelectMany, {
290
+ onClick: onBulkSelect
291
+ }, "select-many")] : [_jsx(SelectMany, {
292
+ onClick: onBulkSelect
293
+ }, "select-many")] : beforeActions, !disableBulkEdit && _jsxs(Fragment, {
274
294
  children: [_jsx(EditMany, {
275
295
  collection: collectionConfig
276
296
  }), _jsx(PublishMany, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","LinkImport","useRouter","formatFilesize","isNumber","React","Fragment","useEffect","useState","useBulkUpload","Button","DeleteMany","EditMany","Gutter","ListControls","useListDrawerContext","ListSelection","useModal","Pagination","PerPage","PublishMany","RenderCustomComponent","useStepNav","RelationshipProvider","TableColumnsProvider","UnpublishMany","ViewDescription","useAuth","useConfig","useEditDepth","useListQuery","SelectionProvider","useTranslation","useWindowInfo","ListHeader","baseClass","Link","default","DefaultListView","props","$","AfterList","AfterListTable","beforeActions","BeforeList","BeforeListTable","collectionSlug","columnState","Description","disableBulkDelete","disableBulkEdit","enableRowSelections","hasCreatePermission","listPreferences","newDocumentURL","preferenceKey","renderedFilters","Table","InitialTable","setTable","createNewDrawerSlug","drawerSlug","listDrawerSlug","t0","t1","user","getEntityConfig","router","data","defaultLimit","initialLimit","handlePageChange","handlePerPageChange","query","openModal","setCollectionSlug","setOnSuccess","bulkUploadDrawerSlug","collectionConfig","labels","upload","isUploadCollection","Boolean","isBulkUploadEnabled","bulkUpload","isInDrawer","i18n","t","drawerDepth","setStepNav","breakpoints","t2","s","smallBreak","t3","t4","docs","t5","Symbol","for","doc","filesize","map","refresh","openBulkUpload","label","plural","_jsx","children","className","_jsxs","totalDocs","CustomComponent","Fallback","description","admin","length","el","onClick","singular","to","hasNextPage","hasPrevPage","limit","nextPage","numberOfNeighbors","onChange","page","prevPage","totalPages","handleChange","Number","limits","pagination","resetPage","pagingCounter","collection"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport LinkImport from 'next/link.js'\nimport { useRouter } from 'next/navigation.js'\nimport { formatFilesize, isNumber } from 'payload/shared'\nimport React, { Fragment, useEffect, useState } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\nimport type { ListPreferences } from './types.js'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DeleteMany } from '../../elements/DeleteMany/index.js'\nimport { EditMany } from '../../elements/EditMany/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListControls } from '../../elements/ListControls/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { ListSelection } from '../../elements/ListSelection/index.js'\nimport { useModal } from '../../elements/Modal/index.js'\nimport { Pagination } from '../../elements/Pagination/index.js'\nimport { PerPage } from '../../elements/PerPage/index.js'\nimport { PublishMany } from '../../elements/PublishMany/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js'\nimport { TableColumnsProvider } from '../../elements/TableColumns/index.js'\nimport { UnpublishMany } from '../../elements/UnpublishMany/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { SelectionProvider } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport './index.scss'\nimport { ListHeader } from './ListHeader/index.js'\n\nconst baseClass = 'collection-list'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport type ListViewSlots = {\n AfterList?: React.ReactNode\n AfterListTable?: React.ReactNode\n BeforeList?: React.ReactNode\n BeforeListTable?: React.ReactNode\n Description?: React.ReactNode\n Table: React.ReactNode\n}\n\nexport type ListViewClientProps = {\n beforeActions?: React.ReactNode[]\n collectionSlug: string\n columnState: Column[]\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections?: boolean\n hasCreatePermission: boolean\n listPreferences?: ListPreferences\n newDocumentURL: string\n preferenceKey?: string\n renderedFilters?: Map<string, React.ReactNode>\n} & ListViewSlots\n\nexport const DefaultListView: React.FC<ListViewClientProps> = (props) => {\n const {\n AfterList,\n AfterListTable,\n beforeActions,\n BeforeList,\n BeforeListTable,\n collectionSlug,\n columnState,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n hasCreatePermission,\n listPreferences,\n newDocumentURL,\n preferenceKey,\n renderedFilters,\n Table: InitialTable,\n } = props\n\n const [Table, setTable] = useState(InitialTable)\n\n const { createNewDrawerSlug, drawerSlug: listDrawerSlug } = useListDrawerContext()\n\n useEffect(() => {\n if (InitialTable) {\n setTable(InitialTable)\n }\n }, [InitialTable])\n\n const { user } = useAuth()\n\n const { getEntityConfig } = useConfig()\n const router = useRouter()\n\n const {\n data,\n defaultLimit: initialLimit,\n handlePageChange,\n handlePerPageChange,\n query,\n } = useListQuery()\n const { openModal } = useModal()\n const { setCollectionSlug, setOnSuccess } = useBulkUpload()\n const { drawerSlug: bulkUploadDrawerSlug } = useBulkUpload()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const { labels, upload } = collectionConfig\n\n const isUploadCollection = Boolean(upload)\n\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const isInDrawer = Boolean(listDrawerSlug)\n\n const { i18n, t } = useTranslation()\n\n const drawerDepth = useEditDepth()\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const docs = React.useMemo(() => {\n if (isUploadCollection) {\n return data.docs.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n } else {\n return data.docs\n }\n }, [data.docs, isUploadCollection])\n\n const openBulkUpload = React.useCallback(() => {\n setCollectionSlug(collectionSlug)\n openModal(bulkUploadDrawerSlug)\n setOnSuccess(() => router.refresh())\n }, [router, collectionSlug, bulkUploadDrawerSlug, openModal, setCollectionSlug, setOnSuccess])\n\n useEffect(() => {\n if (drawerDepth <= 1) {\n setStepNav([\n {\n label: labels?.plural,\n },\n ])\n }\n }, [setStepNav, labels, drawerDepth])\n\n return (\n <Fragment>\n <TableColumnsProvider\n collectionSlug={collectionSlug}\n columnState={columnState}\n docs={docs}\n enableRowSelections={enableRowSelections}\n listPreferences={listPreferences}\n preferenceKey={preferenceKey}\n setTable={setTable}\n >\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SelectionProvider docs={docs} totalDocs={data.totalDocs} user={user}>\n {BeforeList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n collectionConfig={collectionConfig}\n Description={\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription description={collectionConfig?.admin?.description} />\n }\n />\n </div>\n }\n hasCreatePermission={hasCreatePermission}\n i18n={i18n}\n isBulkUploadEnabled={isBulkUploadEnabled}\n newDocumentURL={newDocumentURL}\n openBulkUpload={openBulkUpload}\n smallBreak={smallBreak}\n t={t}\n />\n <ListControls\n beforeActions={beforeActions}\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n renderedFilters={renderedFilters}\n />\n {BeforeListTable}\n {docs.length > 0 && <RelationshipProvider>{Table}</RelationshipProvider>}\n {docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', { label: getTranslation(labels?.plural, i18n) })}\n </p>\n {hasCreatePermission && newDocumentURL && (\n <Fragment>\n {isInDrawer ? (\n <Button el=\"button\" onClick={() => openModal(createNewDrawerSlug)}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" Link={Link} to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n )}\n </Fragment>\n )}\n </div>\n )}\n {AfterListTable}\n {docs.length > 0 && (\n <div className={`${baseClass}__page-controls`}>\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={(page) => void handlePageChange(page)}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n {data.totalDocs > 0 && (\n <Fragment>\n <div className={`${baseClass}__page-info`}>\n {data.page * data.limit - (data.limit - 1)}-\n {data.totalPages > 1 && data.totalPages !== data.page\n ? data.limit * data.page\n : data.totalDocs}{' '}\n {i18n.t('general:of')} {data.totalDocs}\n </div>\n <PerPage\n handleChange={(limit) => void handlePerPageChange(limit)}\n limit={isNumber(query?.limit) ? Number(query.limit) : initialLimit}\n limits={collectionConfig?.admin?.pagination?.limits}\n resetPage={data.totalDocs <= data.pagingCounter}\n />\n {smallBreak && (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection\n label={getTranslation(collectionConfig.labels.plural, i18n)}\n />\n <div className={`${baseClass}__list-selection-actions`}>\n {beforeActions && beforeActions}\n {!disableBulkEdit && (\n <Fragment>\n <EditMany collection={collectionConfig} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n </Fragment>\n )}\n {!disableBulkDelete && <DeleteMany collection={collectionConfig} />}\n </div>\n </div>\n )}\n </Fragment>\n )}\n </div>\n )}\n </Gutter>\n {AfterList}\n </SelectionProvider>\n </div>\n </TableColumnsProvider>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","LinkImport","useRouter","formatFilesize","isNumber","React","Fragment","useEffect","useState","useBulkUpload","Button","DeleteMany","EditMany","Gutter","ListControls","useListDrawerContext","ListSelection","useModal","Pagination","PerPage","PublishMany","RenderCustomComponent","SelectMany","useStepNav","RelationshipProvider","TableColumnsProvider","UnpublishMany","ViewDescription","useAuth","useConfig","useEditDepth","useListQuery","SelectionProvider","useTranslation","useWindowInfo","ListHeader","baseClass","Link","default","DefaultListView","props","$","AfterList","AfterListTable","beforeActions","BeforeList","BeforeListTable","collectionSlug","columnState","Description","disableBulkDelete","disableBulkEdit","enableRowSelections","hasCreatePermission","listPreferences","newDocumentURL","preferenceKey","renderedFilters","Table","InitialTable","setTable","createNewDrawerSlug","drawerSlug","listDrawerSlug","onBulkSelect","t0","t1","user","getEntityConfig","router","data","defaultLimit","initialLimit","handlePageChange","handlePerPageChange","query","openModal","setCollectionSlug","setOnSuccess","bulkUploadDrawerSlug","collectionConfig","labels","upload","isUploadCollection","Boolean","isBulkUploadEnabled","bulkUpload","isInDrawer","i18n","t","drawerDepth","setStepNav","breakpoints","t2","s","smallBreak","t3","t4","docs","t5","Symbol","for","doc","filesize","map","refresh","openBulkUpload","label","plural","_jsx","onClick","children","className","_jsxs","totalDocs","CustomComponent","Fallback","description","admin","length","el","singular","to","hasNextPage","hasPrevPage","limit","nextPage","numberOfNeighbors","onChange","page","prevPage","totalPages","handleChange","Number","limits","pagination","resetPage","pagingCounter","collection"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport LinkImport from 'next/link.js'\nimport { useRouter } from 'next/navigation.js'\nimport { formatFilesize, isNumber } from 'payload/shared'\nimport React, { Fragment, useEffect, useState } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\nimport type { ListPreferences } from './types.js'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DeleteMany } from '../../elements/DeleteMany/index.js'\nimport { EditMany } from '../../elements/EditMany/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListControls } from '../../elements/ListControls/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { ListSelection } from '../../elements/ListSelection/index.js'\nimport { useModal } from '../../elements/Modal/index.js'\nimport { Pagination } from '../../elements/Pagination/index.js'\nimport { PerPage } from '../../elements/PerPage/index.js'\nimport { PublishMany } from '../../elements/PublishMany/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js'\nimport { TableColumnsProvider } from '../../elements/TableColumns/index.js'\nimport { UnpublishMany } from '../../elements/UnpublishMany/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { SelectionProvider } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListHeader } from './ListHeader/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-list'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport type ListViewSlots = {\n AfterList?: React.ReactNode\n AfterListTable?: React.ReactNode\n BeforeList?: React.ReactNode\n BeforeListTable?: React.ReactNode\n Description?: React.ReactNode\n Table: React.ReactNode\n}\n\nexport type ListViewClientProps = {\n beforeActions?: React.ReactNode[]\n collectionSlug: string\n columnState: Column[]\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections?: boolean\n hasCreatePermission: boolean\n listPreferences?: ListPreferences\n newDocumentURL: string\n preferenceKey?: string\n renderedFilters?: Map<string, React.ReactNode>\n} & ListViewSlots\n\nexport const DefaultListView: React.FC<ListViewClientProps> = (props) => {\n const {\n AfterList,\n AfterListTable,\n beforeActions,\n BeforeList,\n BeforeListTable,\n collectionSlug,\n columnState,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n hasCreatePermission,\n listPreferences,\n newDocumentURL,\n preferenceKey,\n renderedFilters,\n Table: InitialTable,\n } = props\n\n const [Table, setTable] = useState(InitialTable)\n\n const { createNewDrawerSlug, drawerSlug: listDrawerSlug, onBulkSelect } = useListDrawerContext()\n\n useEffect(() => {\n if (InitialTable) {\n setTable(InitialTable)\n }\n }, [InitialTable])\n\n const { user } = useAuth()\n\n const { getEntityConfig } = useConfig()\n const router = useRouter()\n\n const {\n data,\n defaultLimit: initialLimit,\n handlePageChange,\n handlePerPageChange,\n query,\n } = useListQuery()\n const { openModal } = useModal()\n const { setCollectionSlug, setOnSuccess } = useBulkUpload()\n const { drawerSlug: bulkUploadDrawerSlug } = useBulkUpload()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const { labels, upload } = collectionConfig\n\n const isUploadCollection = Boolean(upload)\n\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const isInDrawer = Boolean(listDrawerSlug)\n\n const { i18n, t } = useTranslation()\n\n const drawerDepth = useEditDepth()\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const docs = React.useMemo(() => {\n if (isUploadCollection) {\n return data.docs.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n } else {\n return data.docs\n }\n }, [data.docs, isUploadCollection])\n\n const openBulkUpload = React.useCallback(() => {\n setCollectionSlug(collectionSlug)\n openModal(bulkUploadDrawerSlug)\n setOnSuccess(() => router.refresh())\n }, [router, collectionSlug, bulkUploadDrawerSlug, openModal, setCollectionSlug, setOnSuccess])\n\n useEffect(() => {\n if (drawerDepth <= 1) {\n setStepNav([\n {\n label: labels?.plural,\n },\n ])\n }\n }, [setStepNav, labels, drawerDepth])\n\n return (\n <Fragment>\n <TableColumnsProvider\n collectionSlug={collectionSlug}\n columnState={columnState}\n docs={docs}\n enableRowSelections={enableRowSelections}\n listPreferences={listPreferences}\n preferenceKey={preferenceKey}\n setTable={setTable}\n >\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SelectionProvider docs={docs} totalDocs={data.totalDocs} user={user}>\n {BeforeList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n collectionConfig={collectionConfig}\n Description={\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription description={collectionConfig?.admin?.description} />\n }\n />\n </div>\n }\n hasCreatePermission={hasCreatePermission}\n i18n={i18n}\n isBulkUploadEnabled={isBulkUploadEnabled}\n newDocumentURL={newDocumentURL}\n openBulkUpload={openBulkUpload}\n smallBreak={smallBreak}\n t={t}\n />\n <ListControls\n beforeActions={\n enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [...beforeActions, <SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions\n }\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n renderedFilters={renderedFilters}\n />\n {BeforeListTable}\n {docs.length > 0 && <RelationshipProvider>{Table}</RelationshipProvider>}\n {docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', { label: getTranslation(labels?.plural, i18n) })}\n </p>\n {hasCreatePermission && newDocumentURL && (\n <Fragment>\n {isInDrawer ? (\n <Button el=\"button\" onClick={() => openModal(createNewDrawerSlug)}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" Link={Link} to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n )}\n </Fragment>\n )}\n </div>\n )}\n {AfterListTable}\n {docs.length > 0 && (\n <div className={`${baseClass}__page-controls`}>\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={(page) => void handlePageChange(page)}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n {data.totalDocs > 0 && (\n <Fragment>\n <div className={`${baseClass}__page-info`}>\n {data.page * data.limit - (data.limit - 1)}-\n {data.totalPages > 1 && data.totalPages !== data.page\n ? data.limit * data.page\n : data.totalDocs}{' '}\n {i18n.t('general:of')} {data.totalDocs}\n </div>\n <PerPage\n handleChange={(limit) => void handlePerPageChange(limit)}\n limit={isNumber(query?.limit) ? Number(query.limit) : initialLimit}\n limits={collectionConfig?.admin?.pagination?.limits}\n resetPage={data.totalDocs <= data.pagingCounter}\n />\n {smallBreak && (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection\n label={getTranslation(collectionConfig.labels.plural, i18n)}\n />\n <div className={`${baseClass}__list-selection-actions`}>\n {enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [\n ...beforeActions,\n <SelectMany key=\"select-many\" onClick={onBulkSelect} />,\n ]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions}\n {!disableBulkEdit && (\n <Fragment>\n <EditMany collection={collectionConfig} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n </Fragment>\n )}\n {!disableBulkDelete && <DeleteMany collection={collectionConfig} />}\n </div>\n </div>\n )}\n </Fragment>\n )}\n </div>\n )}\n </Gutter>\n {AfterList}\n </SelectionProvider>\n </div>\n </TableColumnsProvider>\n </Fragment>\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.0.1-canary.34c6cc0",
3
+ "version": "3.0.1-canary.c98d392",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -133,7 +133,7 @@
133
133
  "ts-essentials": "10.0.3",
134
134
  "use-context-selector": "2.0.0",
135
135
  "uuid": "10.0.0",
136
- "@payloadcms/translations": "3.0.1-canary.34c6cc0"
136
+ "@payloadcms/translations": "3.0.1-canary.c98d392"
137
137
  },
138
138
  "devDependencies": {
139
139
  "@babel/cli": "^7.24.5",
@@ -151,14 +151,14 @@
151
151
  "esbuild": "0.23.1",
152
152
  "esbuild-sass-plugin": "3.3.1",
153
153
  "eslint-plugin-react-compiler": "19.0.0-beta-a7bf2bd-20241110",
154
- "@payloadcms/eslint-config": "3.0.0-beta.112",
155
- "payload": "3.0.1-canary.34c6cc0"
154
+ "payload": "3.0.1-canary.c98d392",
155
+ "@payloadcms/eslint-config": "3.0.0"
156
156
  },
157
157
  "peerDependencies": {
158
158
  "next": "^15.0.0",
159
159
  "react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
160
160
  "react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
161
- "payload": "3.0.1-canary.34c6cc0"
161
+ "payload": "3.0.1-canary.c98d392"
162
162
  },
163
163
  "engines": {
164
164
  "node": "^18.20.2 || >=20.9.0"
@@ -1,12 +0,0 @@
1
- import type { Data, Field, TabAsField, User } from 'payload';
2
- type Args<T> = {
3
- data: T;
4
- fields: (Field | TabAsField)[];
5
- id?: number | string;
6
- locale: string | undefined;
7
- siblingData: Data;
8
- user: User;
9
- };
10
- export declare const iterateFields: <T>({ id, data, fields, locale, siblingData, user, }: Args<T>) => Promise<void>;
11
- export {};
12
- //# sourceMappingURL=iterateFields.d.ts.map
@@ -1 +0,0 @@
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,23 +0,0 @@
1
- import { defaultValuePromise } from './promise.js';
2
- export const iterateFields = async ({
3
- id,
4
- data,
5
- fields,
6
- locale,
7
- siblingData,
8
- user
9
- }) => {
10
- const promises = [];
11
- fields.forEach(field => {
12
- promises.push(defaultValuePromise({
13
- id,
14
- data,
15
- field,
16
- locale,
17
- siblingData,
18
- user
19
- }));
20
- });
21
- await Promise.all(promises);
22
- };
23
- //# sourceMappingURL=iterateFields.js.map
@@ -1 +0,0 @@
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,60 +0,0 @@
1
- import type { Data, DocumentPreferences, Field as FieldSchema, FieldSchemaMap, FormState, FormStateWithoutComponents, PayloadRequest, SanitizedFieldPermissions } from 'payload';
2
- import type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js';
3
- import type { RenderFieldMethod } from './types.js';
4
- type Args = {
5
- addErrorPathToParent: (fieldPath: string) => void;
6
- /**
7
- * if any parents is localized, then the field is localized. @default false
8
- */
9
- anyParentLocalized?: boolean;
10
- collectionSlug?: string;
11
- data: Data;
12
- fields: FieldSchema[];
13
- fieldSchemaMap: FieldSchemaMap;
14
- filter?: (args: AddFieldStatePromiseArgs) => boolean;
15
- /**
16
- * Force the value of fields like arrays or blocks to be the full value instead of the length @default false
17
- */
18
- forceFullValue?: boolean;
19
- fullData: Data;
20
- id?: number | string;
21
- /**
22
- * Whether the field schema should be included in the state. @default false
23
- */
24
- includeSchema?: boolean;
25
- /**
26
- * Whether to omit parent fields in the state. @default false
27
- */
28
- omitParents?: boolean;
29
- /**
30
- * operation is only needed for validation
31
- */
32
- operation: 'create' | 'update';
33
- parentIndexPath: string;
34
- parentPassesCondition?: boolean;
35
- parentPath: string;
36
- parentSchemaPath: string;
37
- permissions: {
38
- [fieldName: string]: SanitizedFieldPermissions;
39
- } | null | SanitizedFieldPermissions;
40
- preferences?: DocumentPreferences;
41
- previousFormState: FormState;
42
- renderAllFields: boolean;
43
- renderFieldFn: RenderFieldMethod;
44
- req: PayloadRequest;
45
- /**
46
- * Whether to skip checking the field's condition. @default false
47
- */
48
- skipConditionChecks?: boolean;
49
- /**
50
- * Whether to skip validating the field. @default false
51
- */
52
- skipValidation?: boolean;
53
- state?: FormStateWithoutComponents;
54
- };
55
- /**
56
- * Flattens the fields schema and fields data
57
- */
58
- export declare const iterateFields: ({ id, addErrorPathToParent: addErrorPathToParentArg, anyParentLocalized, collectionSlug, data, fields, fieldSchemaMap, filter, forceFullValue, fullData, includeSchema, omitParents, operation, parentIndexPath, parentPassesCondition, parentPath, parentSchemaPath, permissions, preferences, previousFormState, renderAllFields, renderFieldFn: renderFieldFn, req, skipConditionChecks, skipValidation, state, }: Args) => Promise<void>;
59
- export {};
60
- //# sourceMappingURL=iterateFields.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,mBAAmB,EACnB,KAAK,IAAI,WAAW,EACpB,cAAc,EACd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EACd,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAInD,KAAK,IAAI,GAAG;IACV,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EACP;QACE,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,CAAA;KAC/C,GACD,IAAI,GACJ,yBAAyB,CAAA;IAC7B,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,0BAA0B,CAAA;CACnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,yZA2BvB,IAAI,KAAG,OAAO,CAAC,IAAI,CA+CrB,CAAA"}