@payloadcms/ui 3.1.0 → 3.1.1-canary.8409de7

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 (59) hide show
  1. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  2. package/dist/elements/TableColumns/index.js +1 -1
  3. package/dist/elements/TableColumns/index.js.map +1 -1
  4. package/dist/exports/client/index.js +9 -9
  5. package/dist/exports/client/index.js.map +3 -3
  6. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -1
  7. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  8. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +10 -0
  9. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  10. package/dist/forms/fieldSchemasToFormState/index.d.ts +7 -1
  11. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  12. package/dist/forms/fieldSchemasToFormState/index.js +5 -0
  13. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  14. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +3 -2
  15. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  16. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  17. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  18. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  19. package/dist/forms/fieldSchemasToFormState/renderField.js +4 -3
  20. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  21. package/dist/forms/fieldSchemasToFormState/types.d.ts +2 -1
  22. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  23. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  24. package/dist/providers/Locale/index.js +30 -29
  25. package/dist/providers/Locale/index.js.map +1 -1
  26. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts +16 -0
  27. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -0
  28. package/dist/utilities/buildClientFieldSchemaMap/index.js +72 -0
  29. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -0
  30. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts +15 -0
  31. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -0
  32. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +129 -0
  33. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -0
  34. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  35. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  36. package/dist/utilities/buildFormState.d.ts +1 -8
  37. package/dist/utilities/buildFormState.d.ts.map +1 -1
  38. package/dist/utilities/buildFormState.js +19 -41
  39. package/dist/utilities/buildFormState.js.map +1 -1
  40. package/dist/utilities/buildTableState.d.ts +1 -7
  41. package/dist/utilities/buildTableState.d.ts.map +1 -1
  42. package/dist/utilities/buildTableState.js +2 -21
  43. package/dist/utilities/buildTableState.js.map +1 -1
  44. package/dist/utilities/getClientConfig.d.ts +8 -0
  45. package/dist/utilities/getClientConfig.d.ts.map +1 -0
  46. package/dist/utilities/getClientConfig.js +25 -0
  47. package/dist/utilities/getClientConfig.js.map +1 -0
  48. package/dist/utilities/getClientSchemaMap.d.ts +11 -0
  49. package/dist/utilities/getClientSchemaMap.d.ts.map +1 -0
  50. package/dist/utilities/getClientSchemaMap.js +39 -0
  51. package/dist/utilities/getClientSchemaMap.js.map +1 -0
  52. package/dist/utilities/getSchemaMap.d.ts +9 -0
  53. package/dist/utilities/getSchemaMap.d.ts.map +1 -0
  54. package/dist/utilities/getSchemaMap.js +35 -0
  55. package/dist/utilities/getSchemaMap.js.map +1 -0
  56. package/dist/views/Edit/Auth/types.d.ts +2 -2
  57. package/dist/views/Edit/Auth/types.d.ts.map +1 -1
  58. package/dist/views/Edit/Auth/types.js.map +1 -1
  59. package/package.json +4 -4
@@ -18,8 +18,9 @@ export const LocaleProvider = t0 => {
18
18
  config: t1
19
19
  } = useConfig();
20
20
  const {
21
- localization
21
+ localization: t2
22
22
  } = t1;
23
+ const localization = t2 === undefined ? false : t2;
23
24
  const {
24
25
  user
25
26
  } = useAuth();
@@ -29,23 +30,23 @@ export const LocaleProvider = t0 => {
29
30
  } = useSearchParams();
30
31
  const localeFromParams = searchParams?.locale;
31
32
  const [localeCode, setLocaleCode] = useState(localeFromParams || defaultLocale);
32
- let t2;
33
+ let t3;
33
34
  if ($[0] !== localization || $[1] !== localeCode) {
34
- t2 = localization && findLocaleFromCode(localization, localeCode);
35
+ t3 = localization && findLocaleFromCode(localization, localeCode);
35
36
  $[0] = localization;
36
37
  $[1] = localeCode;
37
- $[2] = t2;
38
+ $[2] = t3;
38
39
  } else {
39
- t2 = $[2];
40
+ t3 = $[2];
40
41
  }
41
- const [locale, setLocale] = useState(t2);
42
+ const [locale, setLocale] = useState(t3);
42
43
  const {
43
44
  getPreference,
44
45
  setPreference
45
46
  } = usePreferences();
46
- let t3;
47
+ let t4;
47
48
  if ($[3] !== localization || $[4] !== defaultLocale || $[5] !== localeCode || $[6] !== user || $[7] !== setPreference) {
48
- t3 = async newLocale => {
49
+ t4 = async newLocale => {
49
50
  if (!localization) {
50
51
  return;
51
52
  }
@@ -58,8 +59,8 @@ export const LocaleProvider = t0 => {
58
59
  if (user) {
59
60
  await setPreference("locale", localeToSet);
60
61
  }
61
- } catch (t4) {
62
- const error = t4;
62
+ } catch (t5) {
63
+ const error = t5;
63
64
  }
64
65
  }
65
66
  };
@@ -68,14 +69,14 @@ export const LocaleProvider = t0 => {
68
69
  $[5] = localeCode;
69
70
  $[6] = user;
70
71
  $[7] = setPreference;
71
- $[8] = t3;
72
+ $[8] = t4;
72
73
  } else {
73
- t3 = $[8];
74
+ t4 = $[8];
74
75
  }
75
- const switchLocale = t3;
76
- let t4;
76
+ const switchLocale = t4;
77
+ let t5;
77
78
  if ($[9] !== defaultLocale || $[10] !== localeFromParams || $[11] !== user || $[12] !== getPreference || $[13] !== switchLocale) {
78
- t4 = () => {
79
+ t5 = () => {
79
80
  const setInitialLocale = async function setInitialLocale() {
80
81
  let localeToSet_0 = defaultLocale;
81
82
  if (typeof localeFromParams === "string") {
@@ -85,8 +86,8 @@ export const LocaleProvider = t0 => {
85
86
  ;
86
87
  try {
87
88
  localeToSet_0 = await getPreference("locale");
88
- } catch (t5) {
89
- const error_0 = t5;
89
+ } catch (t6) {
90
+ const error_0 = t6;
90
91
  }
91
92
  }
92
93
  }
@@ -99,13 +100,13 @@ export const LocaleProvider = t0 => {
99
100
  $[11] = user;
100
101
  $[12] = getPreference;
101
102
  $[13] = switchLocale;
102
- $[14] = t4;
103
+ $[14] = t5;
103
104
  } else {
104
- t4 = $[14];
105
+ t5 = $[14];
105
106
  }
106
- let t5;
107
+ let t6;
107
108
  if ($[15] !== defaultLocale || $[16] !== getPreference || $[17] !== localization || $[18] !== localeFromParams || $[19] !== setPreference || $[20] !== user || $[21] !== switchLocale) {
108
- t5 = [defaultLocale, getPreference, localization, localeFromParams, setPreference, user, switchLocale];
109
+ t6 = [defaultLocale, getPreference, localization, localeFromParams, setPreference, user, switchLocale];
109
110
  $[15] = defaultLocale;
110
111
  $[16] = getPreference;
111
112
  $[17] = localization;
@@ -113,24 +114,24 @@ export const LocaleProvider = t0 => {
113
114
  $[19] = setPreference;
114
115
  $[20] = user;
115
116
  $[21] = switchLocale;
116
- $[22] = t5;
117
+ $[22] = t6;
117
118
  } else {
118
- t5 = $[22];
119
+ t6 = $[22];
119
120
  }
120
- useEffect(t4, t5);
121
- let t6;
121
+ useEffect(t5, t6);
122
+ let t7;
122
123
  if ($[23] !== locale || $[24] !== children) {
123
- t6 = _jsx(LocaleContext.Provider, {
124
+ t7 = _jsx(LocaleContext.Provider, {
124
125
  value: locale,
125
126
  children
126
127
  });
127
128
  $[23] = locale;
128
129
  $[24] = children;
129
- $[25] = t6;
130
+ $[25] = t7;
130
131
  } else {
131
- t6 = $[25];
132
+ t7 = $[25];
132
133
  }
133
- return t6;
134
+ return t7;
134
135
  };
135
136
  /**
136
137
  * A hook that returns the current locale object.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","createContext","useContext","useEffect","useState","findLocaleFromCode","useAuth","useConfig","usePreferences","useSearchParams","LocaleContext","LocaleProvider","t0","$","children","config","t1","localization","user","defaultLocale","searchParams","localeFromParams","locale","localeCode","setLocaleCode","t2","setLocale","getPreference","setPreference","t3","newLocale","localeToSet","localeCodes","indexOf","t4","error","switchLocale","setInitialLocale","localeToSet_0","t5","t6","_jsx","Provider","value","useLocale"],"sources":["../../../src/providers/Locale/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Locale } from 'payload'\n\nimport React, { createContext, useContext, useEffect, useState } from 'react'\n\nimport { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nconst LocaleContext = createContext({} as Locale)\n\nexport const LocaleProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const {\n config: { localization },\n } = useConfig()\n\n const { user } = useAuth()\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n\n const { searchParams } = useSearchParams()\n const localeFromParams = searchParams?.locale\n\n const [localeCode, setLocaleCode] = useState<string>(\n (localeFromParams as string) || defaultLocale,\n )\n\n const [locale, setLocale] = useState<Locale | null>(\n localization && findLocaleFromCode(localization, localeCode),\n )\n\n const { getPreference, setPreference } = usePreferences()\n\n const switchLocale = React.useCallback(\n async (newLocale: string) => {\n if (!localization) {\n return\n }\n\n const localeToSet =\n localization.localeCodes.indexOf(newLocale) > -1 ? newLocale : defaultLocale\n\n if (localeToSet !== localeCode) {\n setLocaleCode(localeToSet)\n setLocale(findLocaleFromCode(localization, localeToSet))\n try {\n if (user) {\n await setPreference('locale', localeToSet)\n }\n } catch (error) {\n // swallow error\n }\n }\n },\n [localization, setPreference, user, defaultLocale, localeCode],\n )\n\n useEffect(() => {\n async function setInitialLocale() {\n let localeToSet = defaultLocale\n\n if (typeof localeFromParams === 'string') {\n localeToSet = localeFromParams\n } else if (user) {\n try {\n localeToSet = await getPreference<string>('locale')\n } catch (error) {\n // swallow error\n }\n }\n\n await switchLocale(localeToSet)\n }\n\n void setInitialLocale()\n }, [\n defaultLocale,\n getPreference,\n localization,\n localeFromParams,\n setPreference,\n user,\n switchLocale,\n ])\n\n return <LocaleContext.Provider value={locale}>{children}</LocaleContext.Provider>\n}\n\n/**\n * A hook that returns the current locale object.\n */\nexport const useLocale = (): Locale => useContext(LocaleContext)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","createContext","useContext","useEffect","useState","findLocaleFromCode","useAuth","useConfig","usePreferences","useSearchParams","LocaleContext","LocaleProvider","t0","$","children","config","t1","localization","t2","undefined","user","defaultLocale","searchParams","localeFromParams","locale","localeCode","setLocaleCode","t3","setLocale","getPreference","setPreference","t4","newLocale","localeToSet","localeCodes","indexOf","t5","error","switchLocale","setInitialLocale","localeToSet_0","t6","t7","_jsx","Provider","value","useLocale"],"sources":["../../../src/providers/Locale/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Locale } from 'payload'\n\nimport React, { createContext, useContext, useEffect, useState } from 'react'\n\nimport { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nconst LocaleContext = createContext({} as Locale)\n\nexport const LocaleProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const {\n config: { localization = false },\n } = useConfig()\n\n const { user } = useAuth()\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n\n const { searchParams } = useSearchParams()\n const localeFromParams = searchParams?.locale\n\n const [localeCode, setLocaleCode] = useState<string>(\n (localeFromParams as string) || defaultLocale,\n )\n\n const [locale, setLocale] = useState<Locale | null>(\n localization && findLocaleFromCode(localization, localeCode),\n )\n\n const { getPreference, setPreference } = usePreferences()\n\n const switchLocale = React.useCallback(\n async (newLocale: string) => {\n if (!localization) {\n return\n }\n\n const localeToSet =\n localization.localeCodes.indexOf(newLocale) > -1 ? newLocale : defaultLocale\n\n if (localeToSet !== localeCode) {\n setLocaleCode(localeToSet)\n setLocale(findLocaleFromCode(localization, localeToSet))\n try {\n if (user) {\n await setPreference('locale', localeToSet)\n }\n } catch (error) {\n // swallow error\n }\n }\n },\n [localization, setPreference, user, defaultLocale, localeCode],\n )\n\n useEffect(() => {\n async function setInitialLocale() {\n let localeToSet = defaultLocale\n\n if (typeof localeFromParams === 'string') {\n localeToSet = localeFromParams\n } else if (user) {\n try {\n localeToSet = await getPreference<string>('locale')\n } catch (error) {\n // swallow error\n }\n }\n\n await switchLocale(localeToSet)\n }\n\n void setInitialLocale()\n }, [\n defaultLocale,\n getPreference,\n localization,\n localeFromParams,\n setPreference,\n user,\n switchLocale,\n ])\n\n return <LocaleContext.Provider value={locale}>{children}</LocaleContext.Provider>\n}\n\n/**\n * A hook that returns the current locale object.\n */\nexport const useLocale = (): Locale => useContext(LocaleContext)\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ import type { I18n } from '@payloadcms/translations';
2
+ import type { ClientConfig, ClientFieldSchemaMap, FieldSchemaMap, Payload } from 'payload';
3
+ /**
4
+ * Flattens the config fields into a map of field schemas
5
+ */
6
+ export declare const buildClientFieldSchemaMap: (args: {
7
+ collectionSlug?: string;
8
+ config: ClientConfig;
9
+ globalSlug?: string;
10
+ i18n: I18n;
11
+ payload: Payload;
12
+ schemaMap: FieldSchemaMap;
13
+ }) => {
14
+ clientFieldSchemaMap: ClientFieldSchemaMap;
15
+ };
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildClientFieldSchemaMap/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,YAAY,EAEZ,oBAAoB,EACpB,cAAc,EACd,OAAO,EACR,MAAM,SAAS,CAAA;AAGhB;;GAEG;AACH,eAAO,MAAM,yBAAyB,SAAU;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,cAAc,CAAA;CAC1B,KAAG;IAAE,oBAAoB,EAAE,oBAAoB,CAAA;CAuE/C,CAAA"}
@@ -0,0 +1,72 @@
1
+ import { traverseFields } from './traverseFields.js';
2
+ /**
3
+ * Flattens the config fields into a map of field schemas
4
+ */
5
+ export const buildClientFieldSchemaMap = args => {
6
+ console.log('Creating client schemaMap');
7
+ const {
8
+ collectionSlug,
9
+ config,
10
+ globalSlug,
11
+ i18n,
12
+ payload,
13
+ schemaMap
14
+ } = args;
15
+ const clientSchemaMap = new Map();
16
+ if (collectionSlug) {
17
+ const matchedCollection = config.collections.find(collection => collection.slug === collectionSlug);
18
+ if (matchedCollection) {
19
+ if (matchedCollection.auth && !matchedCollection.auth.disableLocalStrategy) {
20
+ // register schema with auth schemaPath
21
+ const baseAuthFields = [{
22
+ name: 'password',
23
+ type: 'text',
24
+ label: i18n.t('general:password'),
25
+ required: true
26
+ }, {
27
+ name: 'confirm-password',
28
+ type: 'text',
29
+ label: i18n.t('authentication:confirmPassword'),
30
+ required: true
31
+ }];
32
+ clientSchemaMap.set(`_${matchedCollection.slug}.auth`, {
33
+ fields: [...baseAuthFields, ...matchedCollection.fields]
34
+ });
35
+ }
36
+ clientSchemaMap.set(collectionSlug, {
37
+ fields: matchedCollection.fields
38
+ });
39
+ traverseFields({
40
+ clientSchemaMap,
41
+ config,
42
+ fields: matchedCollection.fields,
43
+ i18n,
44
+ parentIndexPath: '',
45
+ parentSchemaPath: collectionSlug,
46
+ payload,
47
+ schemaMap
48
+ });
49
+ }
50
+ } else if (globalSlug) {
51
+ const matchedGlobal = config.globals.find(global => global.slug === globalSlug);
52
+ if (matchedGlobal) {
53
+ clientSchemaMap.set(globalSlug, {
54
+ fields: matchedGlobal.fields
55
+ });
56
+ traverseFields({
57
+ clientSchemaMap,
58
+ config,
59
+ fields: matchedGlobal.fields,
60
+ i18n,
61
+ parentIndexPath: '',
62
+ parentSchemaPath: globalSlug,
63
+ payload,
64
+ schemaMap
65
+ });
66
+ }
67
+ }
68
+ return {
69
+ clientFieldSchemaMap: clientSchemaMap
70
+ };
71
+ };
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["traverseFields","buildClientFieldSchemaMap","args","console","log","collectionSlug","config","globalSlug","i18n","payload","schemaMap","clientSchemaMap","Map","matchedCollection","collections","find","collection","slug","auth","disableLocalStrategy","baseAuthFields","name","type","label","t","required","set","fields","parentIndexPath","parentSchemaPath","matchedGlobal","globals","global","clientFieldSchemaMap"],"sources":["../../../src/utilities/buildClientFieldSchemaMap/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n ClientConfig,\n ClientField,\n ClientFieldSchemaMap,\n FieldSchemaMap,\n Payload,\n} from 'payload'\n\nimport { traverseFields } from './traverseFields.js'\n/**\n * Flattens the config fields into a map of field schemas\n */\nexport const buildClientFieldSchemaMap = (args: {\n collectionSlug?: string\n config: ClientConfig\n globalSlug?: string\n i18n: I18n\n payload: Payload\n schemaMap: FieldSchemaMap\n}): { clientFieldSchemaMap: ClientFieldSchemaMap } => {\n console.log('Creating client schemaMap')\n const { collectionSlug, config, globalSlug, i18n, payload, schemaMap } = args\n\n const clientSchemaMap: ClientFieldSchemaMap = new Map()\n\n if (collectionSlug) {\n const matchedCollection = config.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n\n if (matchedCollection) {\n if (matchedCollection.auth && !matchedCollection.auth.disableLocalStrategy) {\n // register schema with auth schemaPath\n const baseAuthFields: ClientField[] = [\n {\n name: 'password',\n type: 'text',\n label: i18n.t('general:password'),\n required: true,\n },\n {\n name: 'confirm-password',\n type: 'text',\n label: i18n.t('authentication:confirmPassword'),\n required: true,\n },\n ]\n\n clientSchemaMap.set(`_${matchedCollection.slug}.auth`, {\n fields: [...baseAuthFields, ...matchedCollection.fields],\n })\n }\n\n clientSchemaMap.set(collectionSlug, {\n fields: matchedCollection.fields,\n })\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: matchedCollection.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: collectionSlug,\n payload,\n schemaMap,\n })\n }\n } else if (globalSlug) {\n const matchedGlobal = config.globals.find((global) => global.slug === globalSlug)\n\n if (matchedGlobal) {\n clientSchemaMap.set(globalSlug, {\n fields: matchedGlobal.fields,\n })\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: matchedGlobal.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: globalSlug,\n payload,\n schemaMap,\n })\n }\n }\n\n return { clientFieldSchemaMap: clientSchemaMap }\n}\n"],"mappings":"AASA,SAASA,cAAc,QAAQ;AAC/B;;;AAGA,OAAO,MAAMC,yBAAA,GAA6BC,IAAA;EAQxCC,OAAA,CAAQC,GAAG,CAAC;EACZ,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC,UAAU;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAS,CAAE,GAAGR,IAAA;EAEzE,MAAMS,eAAA,GAAwC,IAAIC,GAAA;EAElD,IAAIP,cAAA,EAAgB;IAClB,MAAMQ,iBAAA,GAAoBP,MAAA,CAAOQ,WAAW,CAACC,IAAI,CAC9CC,UAAA,IAAeA,UAAA,CAAWC,IAAI,KAAKZ,cAAA;IAGtC,IAAIQ,iBAAA,EAAmB;MACrB,IAAIA,iBAAA,CAAkBK,IAAI,IAAI,CAACL,iBAAA,CAAkBK,IAAI,CAACC,oBAAoB,EAAE;QAC1E;QACA,MAAMC,cAAA,GAAgC,CACpC;UACEC,IAAA,EAAM;UACNC,IAAA,EAAM;UACNC,KAAA,EAAOf,IAAA,CAAKgB,CAAC,CAAC;UACdC,QAAA,EAAU;QACZ,GACA;UACEJ,IAAA,EAAM;UACNC,IAAA,EAAM;UACNC,KAAA,EAAOf,IAAA,CAAKgB,CAAC,CAAC;UACdC,QAAA,EAAU;QACZ,EACD;QAEDd,eAAA,CAAgBe,GAAG,CAAC,IAAIb,iBAAA,CAAkBI,IAAI,OAAO,EAAE;UACrDU,MAAA,EAAQ,C,GAAIP,cAAA,E,GAAmBP,iBAAA,CAAkBc,MAAM;QACzD;MACF;MAEAhB,eAAA,CAAgBe,GAAG,CAACrB,cAAA,EAAgB;QAClCsB,MAAA,EAAQd,iBAAA,CAAkBc;MAC5B;MAEA3B,cAAA,CAAe;QACbW,eAAA;QACAL,MAAA;QACAqB,MAAA,EAAQd,iBAAA,CAAkBc,MAAM;QAChCnB,IAAA;QACAoB,eAAA,EAAiB;QACjBC,gBAAA,EAAkBxB,cAAA;QAClBI,OAAA;QACAC;MACF;IACF;EACF,OAAO,IAAIH,UAAA,EAAY;IACrB,MAAMuB,aAAA,GAAgBxB,MAAA,CAAOyB,OAAO,CAAChB,IAAI,CAAEiB,MAAA,IAAWA,MAAA,CAAOf,IAAI,KAAKV,UAAA;IAEtE,IAAIuB,aAAA,EAAe;MACjBnB,eAAA,CAAgBe,GAAG,CAACnB,UAAA,EAAY;QAC9BoB,MAAA,EAAQG,aAAA,CAAcH;MACxB;MAEA3B,cAAA,CAAe;QACbW,eAAA;QACAL,MAAA;QACAqB,MAAA,EAAQG,aAAA,CAAcH,MAAM;QAC5BnB,IAAA;QACAoB,eAAA,EAAiB;QACjBC,gBAAA,EAAkBtB,UAAA;QAClBE,OAAA;QACAC;MACF;IACF;EACF;EAEA,OAAO;IAAEuB,oBAAA,EAAsBtB;EAAgB;AACjD","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import type { I18n } from '@payloadcms/translations';
2
+ import { type ClientConfig, type ClientField, type ClientFieldSchemaMap, type FieldSchemaMap, type Payload } from 'payload';
3
+ type Args = {
4
+ clientSchemaMap: ClientFieldSchemaMap;
5
+ config: ClientConfig;
6
+ fields: ClientField[];
7
+ i18n: I18n<any, any>;
8
+ parentIndexPath: string;
9
+ parentSchemaPath: string;
10
+ payload: Payload;
11
+ schemaMap: FieldSchemaMap;
12
+ };
13
+ export declare const traverseFields: ({ clientSchemaMap, config, fields, i18n, parentIndexPath, parentSchemaPath, payload, schemaMap, }: Args) => void;
14
+ export {};
15
+ //# sourceMappingURL=traverseFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildClientFieldSchemaMap/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAEzB,KAAK,cAAc,EACnB,KAAK,OAAO,EACb,MAAM,SAAS,CAAA;AAGhB,KAAK,IAAI,GAAG;IACV,eAAe,EAAE,oBAAoB,CAAA;IACrC,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,sGASxB,IAAI,SAyHN,CAAA"}
@@ -0,0 +1,129 @@
1
+ import { createClientFields } from 'payload';
2
+ import { getFieldPaths, tabHasName } from 'payload/shared';
3
+ export const traverseFields = ({
4
+ clientSchemaMap,
5
+ config,
6
+ fields,
7
+ i18n,
8
+ parentIndexPath,
9
+ parentSchemaPath,
10
+ payload,
11
+ schemaMap
12
+ }) => {
13
+ for (const [index, field] of fields.entries()) {
14
+ const {
15
+ indexPath,
16
+ schemaPath
17
+ } = getFieldPaths({
18
+ field,
19
+ index,
20
+ parentIndexPath: 'name' in field ? '' : parentIndexPath,
21
+ parentPath: '',
22
+ parentSchemaPath
23
+ });
24
+ clientSchemaMap.set(schemaPath, field);
25
+ switch (field.type) {
26
+ case 'array':
27
+ case 'group':
28
+ traverseFields({
29
+ clientSchemaMap,
30
+ config,
31
+ fields: field.fields,
32
+ i18n,
33
+ parentIndexPath: '',
34
+ parentSchemaPath: schemaPath,
35
+ payload,
36
+ schemaMap
37
+ });
38
+ break;
39
+ case 'blocks':
40
+ field.blocks.map(block => {
41
+ const blockSchemaPath = `${schemaPath}.${block.slug}`;
42
+ clientSchemaMap.set(blockSchemaPath, block);
43
+ traverseFields({
44
+ clientSchemaMap,
45
+ config,
46
+ fields: block.fields,
47
+ i18n,
48
+ parentIndexPath: '',
49
+ parentSchemaPath: blockSchemaPath,
50
+ payload,
51
+ schemaMap
52
+ });
53
+ });
54
+ break;
55
+ case 'collapsible':
56
+ case 'row':
57
+ traverseFields({
58
+ clientSchemaMap,
59
+ config,
60
+ fields: field.fields,
61
+ i18n,
62
+ parentIndexPath: indexPath,
63
+ parentSchemaPath,
64
+ payload,
65
+ schemaMap
66
+ });
67
+ break;
68
+ case 'richText':
69
+ {
70
+ // richText sub-fields are not part of the ClientConfig or the Config.
71
+ // They only exist in the field schema map.
72
+ // Thus, we need to
73
+ // 1. get them from the field schema map
74
+ // 2. convert them to client fields
75
+ // 3. add them to the client schema map
76
+ // So these would basically be all fields that are not part of the client config already
77
+ const richTextFieldSchemaMap = new Map();
78
+ for (const [path, subField] of schemaMap.entries()) {
79
+ if (path.startsWith(`${schemaPath}.`)) {
80
+ richTextFieldSchemaMap.set(path, subField);
81
+ }
82
+ }
83
+ // Now loop through them, convert each entry to a client field and add it to the client schema map
84
+ for (const [path, subField] of richTextFieldSchemaMap.entries()) {
85
+ const clientFields = createClientFields({
86
+ defaultIDType: payload.config.db.defaultIDType,
87
+ disableAddingID: true,
88
+ fields: 'fields' in subField ? subField.fields : [subField],
89
+ i18n,
90
+ importMap: payload.importMap
91
+ });
92
+ clientSchemaMap.set(path, {
93
+ fields: clientFields
94
+ });
95
+ }
96
+ break;
97
+ }
98
+ case 'tabs':
99
+ field.tabs.map((tab, tabIndex) => {
100
+ const {
101
+ indexPath: tabIndexPath,
102
+ schemaPath: tabSchemaPath
103
+ } = getFieldPaths({
104
+ field: {
105
+ ...tab,
106
+ type: 'tab'
107
+ },
108
+ index: tabIndex,
109
+ parentIndexPath: indexPath,
110
+ parentPath: '',
111
+ parentSchemaPath
112
+ });
113
+ clientSchemaMap.set(tabSchemaPath, tab);
114
+ traverseFields({
115
+ clientSchemaMap,
116
+ config,
117
+ fields: tab.fields,
118
+ i18n,
119
+ parentIndexPath: tabHasName(tab) ? '' : tabIndexPath,
120
+ parentSchemaPath: tabHasName(tab) ? tabSchemaPath : parentSchemaPath,
121
+ payload,
122
+ schemaMap
123
+ });
124
+ });
125
+ break;
126
+ }
127
+ }
128
+ };
129
+ //# sourceMappingURL=traverseFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traverseFields.js","names":["createClientFields","getFieldPaths","tabHasName","traverseFields","clientSchemaMap","config","fields","i18n","parentIndexPath","parentSchemaPath","payload","schemaMap","index","field","entries","indexPath","schemaPath","parentPath","set","type","blocks","map","block","blockSchemaPath","slug","richTextFieldSchemaMap","Map","path","subField","startsWith","clientFields","defaultIDType","db","disableAddingID","importMap","tabs","tab","tabIndex","tabIndexPath","tabSchemaPath"],"sources":["../../../src/utilities/buildClientFieldSchemaMap/traverseFields.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\n\nimport {\n type ClientConfig,\n type ClientField,\n type ClientFieldSchemaMap,\n createClientFields,\n type FieldSchemaMap,\n type Payload,\n} from 'payload'\nimport { getFieldPaths, tabHasName } from 'payload/shared'\n\ntype Args = {\n clientSchemaMap: ClientFieldSchemaMap\n config: ClientConfig\n fields: ClientField[]\n i18n: I18n<any, any>\n parentIndexPath: string\n parentSchemaPath: string\n payload: Payload\n schemaMap: FieldSchemaMap\n}\n\nexport const traverseFields = ({\n clientSchemaMap,\n config,\n fields,\n i18n,\n parentIndexPath,\n parentSchemaPath,\n payload,\n schemaMap,\n}: Args) => {\n for (const [index, field] of fields.entries()) {\n const { indexPath, schemaPath } = getFieldPaths({\n field,\n index,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n clientSchemaMap.set(schemaPath, field)\n\n switch (field.type) {\n case 'array':\n case 'group':\n traverseFields({\n clientSchemaMap,\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: schemaPath,\n payload,\n schemaMap,\n })\n\n break\n\n case 'blocks':\n field.blocks.map((block) => {\n const blockSchemaPath = `${schemaPath}.${block.slug}`\n\n clientSchemaMap.set(blockSchemaPath, block)\n traverseFields({\n clientSchemaMap,\n config,\n fields: block.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: blockSchemaPath,\n payload,\n schemaMap,\n })\n })\n\n break\n case 'collapsible':\n case 'row':\n traverseFields({\n clientSchemaMap,\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: indexPath,\n parentSchemaPath,\n payload,\n schemaMap,\n })\n break\n\n case 'richText': {\n // richText sub-fields are not part of the ClientConfig or the Config.\n // They only exist in the field schema map.\n // Thus, we need to\n // 1. get them from the field schema map\n // 2. convert them to client fields\n // 3. add them to the client schema map\n\n // So these would basically be all fields that are not part of the client config already\n const richTextFieldSchemaMap: FieldSchemaMap = new Map()\n for (const [path, subField] of schemaMap.entries()) {\n if (path.startsWith(`${schemaPath}.`)) {\n richTextFieldSchemaMap.set(path, subField)\n }\n }\n\n // Now loop through them, convert each entry to a client field and add it to the client schema map\n for (const [path, subField] of richTextFieldSchemaMap.entries()) {\n const clientFields = createClientFields({\n defaultIDType: payload.config.db.defaultIDType,\n disableAddingID: true,\n fields: 'fields' in subField ? subField.fields : [subField],\n i18n,\n importMap: payload.importMap,\n })\n clientSchemaMap.set(path, {\n fields: clientFields,\n })\n }\n break\n }\n case 'tabs':\n field.tabs.map((tab, tabIndex) => {\n const { indexPath: tabIndexPath, schemaPath: tabSchemaPath } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n clientSchemaMap.set(tabSchemaPath, tab)\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: tab.fields,\n i18n,\n parentIndexPath: tabHasName(tab) ? '' : tabIndexPath,\n parentSchemaPath: tabHasName(tab) ? tabSchemaPath : parentSchemaPath,\n payload,\n schemaMap,\n })\n })\n\n break\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAKrE,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,4EAOxB,IAAI,SAyGN,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAKrE,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,cAAc,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,4EAOxB,IAAI,SAwGN,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.js","names":["MissingEditorProp","getFieldPaths","tabHasName","traverseFields","config","fields","i18n","parentIndexPath","parentSchemaPath","schemaMap","index","field","entries","indexPath","schemaPath","parentPath","set","type","blocks","map","block","blockSchemaPath","slug","editor","Error","generateSchemaMap","tabs","tab","tabIndex","tabIndexPath","tabSchemaPath"],"sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Field, FieldSchemaMap, SanitizedConfig } from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { getFieldPaths, tabHasName } from 'payload/shared'\n\ntype Args = {\n config: SanitizedConfig\n fields: Field[]\n i18n: I18n<any, any>\n parentIndexPath: string\n parentSchemaPath: string\n schemaMap: FieldSchemaMap\n}\n\nexport const traverseFields = ({\n config,\n fields,\n i18n,\n parentIndexPath,\n parentSchemaPath,\n schemaMap,\n}: Args) => {\n for (const [index, field] of fields.entries()) {\n const { indexPath, schemaPath } = getFieldPaths({\n field,\n index,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n schemaMap.set(schemaPath, field)\n\n switch (field.type) {\n case 'array':\n case 'group':\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: schemaPath,\n schemaMap,\n })\n\n break\n\n case 'blocks':\n field.blocks.map((block) => {\n const blockSchemaPath = `${schemaPath}.${block.slug}`\n\n schemaMap.set(blockSchemaPath, block)\n traverseFields({\n config,\n fields: block.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: blockSchemaPath,\n schemaMap,\n })\n })\n\n break\n case 'collapsible':\n\n case 'row':\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: indexPath,\n parentSchemaPath,\n schemaMap,\n })\n\n break\n\n case 'richText':\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (typeof field.editor.generateSchemaMap === 'function') {\n field.editor.generateSchemaMap({\n config,\n field,\n i18n,\n schemaMap,\n schemaPath,\n })\n }\n\n break\n\n case 'tabs':\n field.tabs.map((tab, tabIndex) => {\n const { indexPath: tabIndexPath, schemaPath: tabSchemaPath } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n schemaMap.set(tabSchemaPath, tab)\n\n traverseFields({\n config,\n fields: tab.fields,\n i18n,\n parentIndexPath: tabHasName(tab) ? '' : tabIndexPath,\n parentSchemaPath: tabHasName(tab) ? tabSchemaPath : parentSchemaPath,\n schemaMap,\n })\n })\n\n break\n }\n }\n}\n"],"mappings":"AAGA,SAASA,iBAAiB,QAAQ;AAClC,SAASC,aAAa,EAAEC,UAAU,QAAQ;AAW1C,OAAO,MAAMC,cAAA,GAAiBA,CAAC;EAC7BC,MAAM;EACNC,MAAM;EACNC,IAAI;EACJC,eAAe;EACfC,gBAAgB;EAChBC;AAAS,CACJ;EACL,KAAK,MAAM,CAACC,KAAA,EAAOC,KAAA,CAAM,IAAIN,MAAA,CAAOO,OAAO,IAAI;IAC7C,MAAM;MAAEC,SAAS;MAAEC;IAAU,CAAE,GAAGb,aAAA,CAAc;MAC9CU,KAAA;MACAD,KAAA;MACAH,eAAA,EAAiB,UAAUI,KAAA,GAAQ,KAAKJ,eAAA;MACxCQ,UAAA,EAAY;MACZP;IACF;IAEAC,SAAA,CAAUO,GAAG,CAACF,UAAA,EAAYH,KAAA;IAE1B,QAAQA,KAAA,CAAMM,IAAI;MAChB,KAAK;MACL,KAAK;QACHd,cAAA,CAAe;UACbC,MAAA;UACAC,MAAA,EAAQM,KAAA,CAAMN,MAAM;UACpBC,IAAA;UACAC,eAAA,EAAiB;UACjBC,gBAAA,EAAkBM,UAAA;UAClBL;QACF;QAEA;MAEF,KAAK;QACHE,KAAA,CAAMO,MAAM,CAACC,GAAG,CAAEC,KAAA;UAChB,MAAMC,eAAA,GAAkB,GAAGP,UAAA,IAAcM,KAAA,CAAME,IAAI,EAAE;UAErDb,SAAA,CAAUO,GAAG,CAACK,eAAA,EAAiBD,KAAA;UAC/BjB,cAAA,CAAe;YACbC,MAAA;YACAC,MAAA,EAAQe,KAAA,CAAMf,MAAM;YACpBC,IAAA;YACAC,eAAA,EAAiB;YACjBC,gBAAA,EAAkBa,eAAA;YAClBZ;UACF;QACF;QAEA;MACF,KAAK;MAEL,KAAK;QACHN,cAAA,CAAe;UACbC,MAAA;UACAC,MAAA,EAAQM,KAAA,CAAMN,MAAM;UACpBC,IAAA;UACAC,eAAA,EAAiBM,SAAA;UACjBL,gBAAA;UACAC;QACF;QAEA;MAEF,KAAK;QACH,IAAI,CAACE,KAAA,EAAOY,MAAA,EAAQ;UAClB,MAAM,IAAIvB,iBAAA,CAAkBW,KAAA,EAAO;UAAA;QACrC;QAEA,IAAI,OAAOA,KAAA,CAAMY,MAAM,KAAK,YAAY;UACtC,MAAM,IAAIC,KAAA,CAAM;QAClB;QAEA,IAAI,OAAOb,KAAA,CAAMY,MAAM,CAACE,iBAAiB,KAAK,YAAY;UACxDd,KAAA,CAAMY,MAAM,CAACE,iBAAiB,CAAC;YAC7BrB,MAAA;YACAO,KAAA;YACAL,IAAA;YACAG,SAAA;YACAK;UACF;QACF;QAEA;MAEF,KAAK;QACHH,KAAA,CAAMe,IAAI,CAACP,GAAG,CAAC,CAACQ,GAAA,EAAKC,QAAA;UACnB,MAAM;YAAEf,SAAA,EAAWgB,YAAY;YAAEf,UAAA,EAAYgB;UAAa,CAAE,GAAG7B,aAAA,CAAc;YAC3EU,KAAA,EAAO;cACL,GAAGgB,GAAG;cACNV,IAAA,EAAM;YACR;YACAP,KAAA,EAAOkB,QAAA;YACPrB,eAAA,EAAiBM,SAAA;YACjBE,UAAA,EAAY;YACZP;UACF;UAEAC,SAAA,CAAUO,GAAG,CAACc,aAAA,EAAeH,GAAA;UAE7BxB,cAAA,CAAe;YACbC,MAAA;YACAC,MAAA,EAAQsB,GAAA,CAAItB,MAAM;YAClBC,IAAA;YACAC,eAAA,EAAiBL,UAAA,CAAWyB,GAAA,IAAO,KAAKE,YAAA;YACxCrB,gBAAA,EAAkBN,UAAA,CAAWyB,GAAA,IAAOG,aAAA,GAAgBtB,gBAAA;YACpDC;UACF;QACF;QAEA;IACJ;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"traverseFields.js","names":["MissingEditorProp","getFieldPaths","tabHasName","traverseFields","config","fields","i18n","parentIndexPath","parentSchemaPath","schemaMap","index","field","entries","indexPath","schemaPath","parentPath","set","type","blocks","map","block","blockSchemaPath","slug","editor","Error","generateSchemaMap","tabs","tab","tabIndex","tabIndexPath","tabSchemaPath"],"sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Field, FieldSchemaMap, SanitizedConfig } from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { getFieldPaths, tabHasName } from 'payload/shared'\n\ntype Args = {\n config: SanitizedConfig\n fields: Field[]\n i18n: I18n<any, any>\n parentIndexPath: string\n parentSchemaPath: string\n schemaMap: FieldSchemaMap\n}\n\nexport const traverseFields = ({\n config,\n fields,\n i18n,\n parentIndexPath,\n parentSchemaPath,\n schemaMap,\n}: Args) => {\n for (const [index, field] of fields.entries()) {\n const { indexPath, schemaPath } = getFieldPaths({\n field,\n index,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n schemaMap.set(schemaPath, field)\n\n switch (field.type) {\n case 'array':\n case 'group':\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: schemaPath,\n schemaMap,\n })\n\n break\n\n case 'blocks':\n field.blocks.map((block) => {\n const blockSchemaPath = `${schemaPath}.${block.slug}`\n\n schemaMap.set(blockSchemaPath, block)\n traverseFields({\n config,\n fields: block.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: blockSchemaPath,\n schemaMap,\n })\n })\n\n break\n case 'collapsible':\n case 'row':\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n parentIndexPath: indexPath,\n parentSchemaPath,\n schemaMap,\n })\n\n break\n\n case 'richText':\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (typeof field.editor.generateSchemaMap === 'function') {\n field.editor.generateSchemaMap({\n config,\n field,\n i18n,\n schemaMap,\n schemaPath,\n })\n }\n\n break\n\n case 'tabs':\n field.tabs.map((tab, tabIndex) => {\n const { indexPath: tabIndexPath, schemaPath: tabSchemaPath } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath: '',\n parentSchemaPath,\n })\n\n schemaMap.set(tabSchemaPath, tab)\n\n traverseFields({\n config,\n fields: tab.fields,\n i18n,\n parentIndexPath: tabHasName(tab) ? '' : tabIndexPath,\n parentSchemaPath: tabHasName(tab) ? tabSchemaPath : parentSchemaPath,\n schemaMap,\n })\n })\n\n break\n }\n }\n}\n"],"mappings":"AAGA,SAASA,iBAAiB,QAAQ;AAClC,SAASC,aAAa,EAAEC,UAAU,QAAQ;AAW1C,OAAO,MAAMC,cAAA,GAAiBA,CAAC;EAC7BC,MAAM;EACNC,MAAM;EACNC,IAAI;EACJC,eAAe;EACfC,gBAAgB;EAChBC;AAAS,CACJ;EACL,KAAK,MAAM,CAACC,KAAA,EAAOC,KAAA,CAAM,IAAIN,MAAA,CAAOO,OAAO,IAAI;IAC7C,MAAM;MAAEC,SAAS;MAAEC;IAAU,CAAE,GAAGb,aAAA,CAAc;MAC9CU,KAAA;MACAD,KAAA;MACAH,eAAA,EAAiB,UAAUI,KAAA,GAAQ,KAAKJ,eAAA;MACxCQ,UAAA,EAAY;MACZP;IACF;IAEAC,SAAA,CAAUO,GAAG,CAACF,UAAA,EAAYH,KAAA;IAE1B,QAAQA,KAAA,CAAMM,IAAI;MAChB,KAAK;MACL,KAAK;QACHd,cAAA,CAAe;UACbC,MAAA;UACAC,MAAA,EAAQM,KAAA,CAAMN,MAAM;UACpBC,IAAA;UACAC,eAAA,EAAiB;UACjBC,gBAAA,EAAkBM,UAAA;UAClBL;QACF;QAEA;MAEF,KAAK;QACHE,KAAA,CAAMO,MAAM,CAACC,GAAG,CAAEC,KAAA;UAChB,MAAMC,eAAA,GAAkB,GAAGP,UAAA,IAAcM,KAAA,CAAME,IAAI,EAAE;UAErDb,SAAA,CAAUO,GAAG,CAACK,eAAA,EAAiBD,KAAA;UAC/BjB,cAAA,CAAe;YACbC,MAAA;YACAC,MAAA,EAAQe,KAAA,CAAMf,MAAM;YACpBC,IAAA;YACAC,eAAA,EAAiB;YACjBC,gBAAA,EAAkBa,eAAA;YAClBZ;UACF;QACF;QAEA;MACF,KAAK;MACL,KAAK;QACHN,cAAA,CAAe;UACbC,MAAA;UACAC,MAAA,EAAQM,KAAA,CAAMN,MAAM;UACpBC,IAAA;UACAC,eAAA,EAAiBM,SAAA;UACjBL,gBAAA;UACAC;QACF;QAEA;MAEF,KAAK;QACH,IAAI,CAACE,KAAA,EAAOY,MAAA,EAAQ;UAClB,MAAM,IAAIvB,iBAAA,CAAkBW,KAAA,EAAO;UAAA;QACrC;QAEA,IAAI,OAAOA,KAAA,CAAMY,MAAM,KAAK,YAAY;UACtC,MAAM,IAAIC,KAAA,CAAM;QAClB;QAEA,IAAI,OAAOb,KAAA,CAAMY,MAAM,CAACE,iBAAiB,KAAK,YAAY;UACxDd,KAAA,CAAMY,MAAM,CAACE,iBAAiB,CAAC;YAC7BrB,MAAA;YACAO,KAAA;YACAL,IAAA;YACAG,SAAA;YACAK;UACF;QACF;QAEA;MAEF,KAAK;QACHH,KAAA,CAAMe,IAAI,CAACP,GAAG,CAAC,CAACQ,GAAA,EAAKC,QAAA;UACnB,MAAM;YAAEf,SAAA,EAAWgB,YAAY;YAAEf,UAAA,EAAYgB;UAAa,CAAE,GAAG7B,aAAA,CAAc;YAC3EU,KAAA,EAAO;cACL,GAAGgB,GAAG;cACNV,IAAA,EAAM;YACR;YACAP,KAAA,EAAOkB,QAAA;YACPrB,eAAA,EAAiBM,SAAA;YACjBE,UAAA,EAAY;YACZP;UACF;UAEAC,SAAA,CAAUO,GAAG,CAACc,aAAA,EAAeH,GAAA;UAE7BxB,cAAA,CAAe;YACbC,MAAA;YACAC,MAAA,EAAQsB,GAAA,CAAItB,MAAM;YAClBC,IAAA;YACAC,eAAA,EAAiBL,UAAA,CAAWyB,GAAA,IAAO,KAAKE,YAAA;YACxCrB,gBAAA,EAAkBN,UAAA,CAAWyB,GAAA,IAAOG,aAAA,GAAgBtB,gBAAA;YACpDC;UACF;QACF;QAEA;IACJ;EACF;AACF","ignoreList":[]}
@@ -1,11 +1,4 @@
1
- import type { I18nClient } from '@payloadcms/translations';
2
- import type { BuildFormStateArgs, ClientConfig, ClientUser, ErrorResult, FieldSchemaMap, FormState, SanitizedConfig } from 'payload';
3
- export declare const getFieldSchemaMap: (args: {
4
- collectionSlug?: string;
5
- config: SanitizedConfig;
6
- globalSlug?: string;
7
- i18n: I18nClient;
8
- }) => FieldSchemaMap;
1
+ import type { BuildFormStateArgs, ClientConfig, ClientUser, ErrorResult, FormState } from 'payload';
9
2
  type BuildFormStateSuccessResult = {
10
3
  clientConfig?: ClientConfig;
11
4
  errors?: never;
@@ -1 +1 @@
1
- {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,SAAS,EACT,eAAe,EAChB,MAAM,SAAS,CAAA;AAqBhB,eAAO,MAAM,iBAAiB,SAAU;IACtC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,cAyBH,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAC7F,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,2BAA2B,CAAA;AAE1F,eAAO,MAAM,qBAAqB,SAC1B,kBAAkB,KACvB,OAAO,CAAC,oBAAoB,CAqD9B,CAAA;AAED,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC,2BAA2B,CAkHrC,CAAA"}
1
+ {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAYnG,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAC7F,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,2BAA2B,CAAA;AAE1F,eAAO,MAAM,qBAAqB,SAC1B,kBAAkB,KACvB,OAAO,CAAC,oBAAoB,CAqD9B,CAAA;AAED,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC,2BAA2B,CA4HrC,CAAA"}
@@ -2,45 +2,10 @@ import { formatErrors } from 'payload';
2
2
  import { reduceFieldsToValues } from 'payload/shared';
3
3
  import { fieldSchemasToFormState } from '../forms/fieldSchemasToFormState/index.js';
4
4
  import { renderField } from '../forms/fieldSchemasToFormState/renderField.js';
5
- import { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js';
5
+ import { getClientConfig } from './getClientConfig.js';
6
+ import { getClientSchemaMap } from './getClientSchemaMap.js';
7
+ import { getSchemaMap } from './getSchemaMap.js';
6
8
  import { handleFormStateLocking } from './handleFormStateLocking.js';
7
- let cachedFieldMap = global._payload_fieldMap;
8
- let cachedClientConfig = global._payload_clientConfig;
9
- if (!cachedFieldMap) {
10
- cachedFieldMap = global._payload_fieldMap = null;
11
- }
12
- if (!cachedClientConfig) {
13
- cachedClientConfig = global._payload_clientConfig = null;
14
- }
15
- export const getFieldSchemaMap = args => {
16
- const {
17
- collectionSlug,
18
- config,
19
- globalSlug,
20
- i18n
21
- } = args;
22
- if (process.env.NODE_ENV !== 'development') {
23
- if (!cachedFieldMap) {
24
- cachedFieldMap = new Map();
25
- }
26
- const cachedEntityFieldMap = cachedFieldMap.get(collectionSlug || globalSlug);
27
- if (cachedEntityFieldMap) {
28
- return cachedEntityFieldMap;
29
- }
30
- }
31
- const {
32
- fieldSchemaMap: entityFieldMap
33
- } = buildFieldSchemaMap({
34
- collectionSlug,
35
- config,
36
- globalSlug,
37
- i18n: i18n
38
- });
39
- if (process.env.NODE_ENV !== 'development') {
40
- cachedFieldMap.set(collectionSlug || globalSlug, entityFieldMap);
41
- }
42
- return entityFieldMap;
43
- };
44
9
  export const buildFormStateHandler = async args => {
45
10
  const {
46
11
  req
@@ -120,14 +85,26 @@ export const buildFormState = async args => {
120
85
  if (!collectionSlug && !globalSlug) {
121
86
  throw new Error('Either collectionSlug or globalSlug must be provided');
122
87
  }
123
- const fieldSchemaMap = getFieldSchemaMap({
88
+ const schemaMap = getSchemaMap({
124
89
  collectionSlug,
125
90
  config,
126
91
  globalSlug,
127
92
  i18n
128
93
  });
94
+ const clientSchemaMap = getClientSchemaMap({
95
+ collectionSlug,
96
+ config: getClientConfig({
97
+ config,
98
+ i18n,
99
+ importMap: req.payload.importMap
100
+ }),
101
+ globalSlug,
102
+ i18n,
103
+ payload,
104
+ schemaMap
105
+ });
129
106
  const id = collectionSlug ? idFromArgs : undefined;
130
- const fieldOrEntityConfig = fieldSchemaMap.get(schemaPath);
107
+ const fieldOrEntityConfig = schemaMap.get(schemaPath);
131
108
  if (!fieldOrEntityConfig) {
132
109
  throw new Error(`Could not find "${schemaPath}" in the fieldSchemaMap`);
133
110
  }
@@ -151,10 +128,11 @@ export const buildFormState = async args => {
151
128
  const fields = Array.isArray(fieldOrEntityConfig) ? fieldOrEntityConfig : 'fields' in fieldOrEntityConfig ? fieldOrEntityConfig.fields : [fieldOrEntityConfig];
152
129
  const formStateResult = await fieldSchemasToFormState({
153
130
  id,
131
+ clientFieldSchemaMap: clientSchemaMap,
154
132
  collectionSlug,
155
133
  data,
156
134
  fields,
157
- fieldSchemaMap,
135
+ fieldSchemaMap: schemaMap,
158
136
  operation,
159
137
  permissions: docPermissions?.fields || {},
160
138
  preferences: docPreferences || {