@payloadcms/next 3.0.0-beta.59 → 3.0.0-beta.60

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.
@@ -21,85 +21,85 @@
21
21
  --color-base-950: rgb(7, 7, 7);
22
22
  --color-base-1000: rgb(0, 0, 0);
23
23
 
24
- --color-success-50: rgb(247, 255, 251);
25
- --color-success-100: rgb(240, 255, 247);
26
- --color-success-150: rgb(232, 255, 243);
27
- --color-success-200: rgb(224, 255, 239);
28
- --color-success-250: rgb(217, 255, 235);
29
- --color-success-300: rgb(209, 255, 230);
30
- --color-success-350: rgb(201, 255, 226);
31
- --color-success-400: rgb(193, 255, 222);
32
- --color-success-450: rgb(186, 255, 218);
33
- --color-success-500: rgb(178, 255, 214);
34
- --color-success-550: rgb(160, 230, 193);
35
- --color-success-600: rgb(142, 204, 171);
36
- --color-success-650: rgb(125, 179, 150);
37
- --color-success-700: rgb(107, 153, 128);
38
- --color-success-750: rgb(89, 128, 107);
39
- --color-success-800: rgb(71, 102, 86);
40
- --color-success-850: rgb(53, 77, 64);
41
- --color-success-900: rgb(36, 51, 43);
42
- --color-success-950: rgb(18, 25, 21);
24
+ --color-success-50: rgb(237, 245, 249);
25
+ --color-success-100: rgb(218, 237, 248);
26
+ --color-success-150: rgb(188, 225, 248);
27
+ --color-success-200: rgb(156, 216, 253);
28
+ --color-success-250: rgb(125, 204, 248);
29
+ --color-success-300: rgb(97, 190, 241);
30
+ --color-success-350: rgb(65, 178, 236);
31
+ --color-success-400: rgb(36, 164, 223);
32
+ --color-success-450: rgb(18, 148, 204);
33
+ --color-success-500: rgb(21, 135, 186);
34
+ --color-success-550: rgb(12, 121, 168);
35
+ --color-success-600: rgb(11, 110, 153);
36
+ --color-success-650: rgb(11, 97, 135);
37
+ --color-success-700: rgb(17, 88, 121);
38
+ --color-success-750: rgb(17, 76, 105);
39
+ --color-success-800: rgb(18, 66, 90);
40
+ --color-success-850: rgb(18, 56, 76);
41
+ --color-success-900: rgb(19, 44, 58);
42
+ --color-success-950: rgb(22, 33, 39);
43
43
 
44
- --color-warning-50: rgb(255, 255, 246);
45
- --color-warning-100: rgb(255, 255, 237);
46
- --color-warning-150: rgb(254, 255, 228);
47
- --color-warning-200: rgb(254, 255, 219);
48
- --color-warning-250: rgb(254, 255, 210);
49
- --color-warning-300: rgb(254, 255, 200);
50
- --color-warning-350: rgb(254, 255, 191);
51
- --color-warning-400: rgb(253, 255, 182);
52
- --color-warning-450: rgb(253, 255, 173);
53
- --color-warning-500: rgb(253, 255, 164);
54
- --color-warning-550: rgb(228, 230, 148);
55
- --color-warning-600: rgb(202, 204, 131);
56
- --color-warning-650: rgb(177, 179, 115);
57
- --color-warning-700: rgb(152, 153, 98);
58
- --color-warning-750: rgb(127, 128, 82);
59
- --color-warning-800: rgb(101, 102, 66);
60
- --color-warning-850: rgb(76, 77, 49);
61
- --color-warning-900: rgb(51, 51, 33);
62
- --color-warning-950: rgb(25, 25, 16);
44
+ --color-error-50: rgb(250, 241, 240);
45
+ --color-error-100: rgb(252, 229, 227);
46
+ --color-error-150: rgb(247, 208, 204);
47
+ --color-error-200: rgb(254, 193, 188);
48
+ --color-error-250: rgb(253, 177, 170);
49
+ --color-error-300: rgb(253, 154, 146);
50
+ --color-error-350: rgb(253, 131, 123);
51
+ --color-error-400: rgb(246, 109, 103);
52
+ --color-error-450: rgb(234, 90, 86);
53
+ --color-error-500: rgb(218, 75, 72);
54
+ --color-error-550: rgb(200, 62, 61);
55
+ --color-error-600: rgb(182, 54, 54);
56
+ --color-error-650: rgb(161, 47, 47);
57
+ --color-error-700: rgb(144, 44, 43);
58
+ --color-error-750: rgb(123, 41, 39);
59
+ --color-error-800: rgb(105, 39, 37);
60
+ --color-error-850: rgb(86, 36, 33);
61
+ --color-error-900: rgb(64, 32, 29);
62
+ --color-error-950: rgb(44, 26, 24);
63
63
 
64
- --color-error-50: rgb(255, 241, 241);
65
- --color-error-100: rgb(255, 226, 228);
66
- --color-error-150: rgb(255, 212, 214);
67
- --color-error-200: rgb(255, 197, 200);
68
- --color-error-250: rgb(255, 183, 187);
69
- --color-error-300: rgb(255, 169, 173);
70
- --color-error-350: rgb(255, 154, 159);
71
- --color-error-400: rgb(255, 140, 145);
72
- --color-error-450: rgb(255, 125, 132);
73
- --color-error-500: rgb(255, 111, 118);
74
- --color-error-550: rgb(230, 100, 106);
75
- --color-error-600: rgb(204, 89, 94);
76
- --color-error-650: rgb(179, 78, 83);
77
- --color-error-700: rgb(153, 67, 71);
78
- --color-error-750: rgb(128, 56, 59);
79
- --color-error-800: rgb(102, 44, 47);
80
- --color-error-850: rgb(77, 33, 35);
81
- --color-error-900: rgb(51, 22, 24);
82
- --color-error-950: rgb(25, 11, 12);
64
+ --color-warning-50: rgb(249, 242, 237);
65
+ --color-warning-100: rgb(248, 232, 219);
66
+ --color-warning-150: rgb(243, 212, 186);
67
+ --color-warning-200: rgb(243, 200, 162);
68
+ --color-warning-250: rgb(240, 185, 136);
69
+ --color-warning-300: rgb(238, 166, 98);
70
+ --color-warning-350: rgb(234, 148, 58);
71
+ --color-warning-400: rgb(223, 132, 17);
72
+ --color-warning-450: rgb(204, 120, 15);
73
+ --color-warning-500: rgb(185, 108, 13);
74
+ --color-warning-550: rgb(167, 97, 10);
75
+ --color-warning-600: rgb(150, 87, 11);
76
+ --color-warning-650: rgb(134, 78, 11);
77
+ --color-warning-700: rgb(120, 70, 13);
78
+ --color-warning-750: rgb(105, 61, 13);
79
+ --color-warning-800: rgb(90, 55, 19);
80
+ --color-warning-850: rgb(73, 47, 21);
81
+ --color-warning-900: rgb(56, 38, 20);
82
+ --color-warning-950: rgb(38, 29, 21);
83
83
 
84
- --color-blue-50: rgb(230, 247, 253);
85
- --color-blue-100: rgb(204, 238, 252);
86
- --color-blue-150: rgb(179, 230, 250);
87
- --color-blue-200: rgb(153, 221, 249);
88
- --color-blue-250: rgb(128, 213, 247);
89
- --color-blue-300: rgb(102, 204, 245);
90
- --color-blue-350: rgb(77, 196, 244);
91
- --color-blue-400: rgb(51, 187, 242);
92
- --color-blue-450: rgb(25, 179, 241);
93
- --color-blue-500: rgb(0, 170, 239);
94
- --color-blue-550: rgb(0, 153, 215);
95
- --color-blue-600: rgb(0, 136, 191);
96
- --color-blue-650: rgb(0, 119, 167);
97
- --color-blue-700: rgb(0, 102, 143);
98
- --color-blue-750: rgb(0, 85, 120);
99
- --color-blue-800: rgb(0, 68, 96);
100
- --color-blue-850: rgb(0, 51, 72);
101
- --color-blue-900: rgb(0, 34, 48);
102
- --color-blue-950: rgb(0, 17, 24);
84
+ --color-blue-50: rgb(237, 245, 249);
85
+ --color-blue-100: rgb(218, 237, 248);
86
+ --color-blue-150: rgb(188, 225, 248);
87
+ --color-blue-200: rgb(156, 216, 253);
88
+ --color-blue-250: rgb(125, 204, 248);
89
+ --color-blue-300: rgb(97, 190, 241);
90
+ --color-blue-350: rgb(65, 178, 236);
91
+ --color-blue-400: rgb(36, 164, 223);
92
+ --color-blue-450: rgb(18, 148, 204);
93
+ --color-blue-500: rgb(21, 135, 186);
94
+ --color-blue-550: rgb(12, 121, 168);
95
+ --color-blue-600: rgb(11, 110, 153);
96
+ --color-blue-650: rgb(11, 97, 135);
97
+ --color-blue-700: rgb(17, 88, 121);
98
+ --color-blue-750: rgb(17, 76, 105);
99
+ --color-blue-800: rgb(18, 66, 90);
100
+ --color-blue-850: rgb(18, 56, 76);
101
+ --color-blue-900: rgb(19, 44, 58);
102
+ --color-blue-950: rgb(22, 33, 39);
103
103
 
104
104
  --theme-border-color: var(--theme-elevation-150);
105
105
 
@@ -1,6 +1,6 @@
1
1
  import { initI18n } from '@payloadcms/translations';
2
2
  import { executeAuthStrategies, getDataLoader, parseCookies } from 'payload';
3
- import qs from 'qs';
3
+ import * as qs from 'qs-esm';
4
4
  import { URL } from 'url';
5
5
  import { sanitizeLocales } from './addLocalesToRequest.js';
6
6
  import { getPayloadHMR } from './getPayloadHMR.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/createPayloadRequest.ts"],"sourcesContent":["import type { CustomPayloadRequestProperties, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { executeAuthStrategies, getDataLoader, parseCookies } from 'payload'\nimport qs from 'qs'\nimport { URL } from 'url'\n\nimport { sanitizeLocales } from './addLocalesToRequest.js'\nimport { getPayloadHMR } from './getPayloadHMR.js'\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\ntype Args = {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: {\n collection: string\n }\n request: Request\n}\n\nexport const createPayloadRequest = async ({\n config: configPromise,\n params,\n request,\n}: Args): Promise<PayloadRequest> => {\n const cookies = parseCookies(request.headers)\n const payload = await getPayloadHMR({ config: configPromise })\n\n const { config } = payload\n\n const urlProperties = new URL(request.url)\n const { pathname, searchParams } = urlProperties\n\n const isGraphQL =\n !config.graphQL.disable && pathname === `${config.routes.api}${config.routes.graphQL}`\n\n const language = getRequestLanguage({\n config,\n cookies,\n headers: request.headers,\n })\n\n const i18n = await initI18n({\n config: config.i18n,\n context: 'api',\n language,\n })\n\n let locale\n let fallbackLocale\n if (config.localization) {\n const locales = sanitizeLocales({\n fallbackLocale: searchParams.get('fallback-locale'),\n locale: searchParams.get('locale'),\n localization: payload.config.localization,\n })\n locale = locales.locale\n fallbackLocale = locales.fallbackLocale\n }\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n const queryToParse = overrideHttpMethod === 'GET' ? await request.text() : urlProperties.search\n\n const query = queryToParse\n ? qs.parse(queryToParse, {\n arrayLimit: 1000,\n depth: 10,\n ignoreQueryPrefix: true,\n })\n : {}\n\n const customRequest: CustomPayloadRequestProperties = {\n context: {},\n fallbackLocale,\n hash: urlProperties.hash,\n host: urlProperties.host,\n href: urlProperties.href,\n i18n,\n locale,\n origin: urlProperties.origin,\n pathname: urlProperties.pathname,\n payload,\n payloadAPI: isGraphQL ? 'GraphQL' : 'REST',\n payloadDataLoader: undefined,\n payloadUploadSizes: {},\n port: urlProperties.port,\n protocol: urlProperties.protocol,\n query,\n routeParams: params || {},\n search: urlProperties.search,\n searchParams: urlProperties.searchParams,\n t: i18n.t,\n transactionID: undefined,\n user: null,\n }\n\n const req: PayloadRequest = Object.assign(request, customRequest)\n\n req.payloadDataLoader = getDataLoader(req)\n\n const { responseHeaders, user } = await executeAuthStrategies({\n headers: req.headers,\n isGraphQL,\n payload,\n })\n\n req.user = user\n\n if (responseHeaders) req.responseHeaders = responseHeaders\n\n return req\n}\n"],"names":["initI18n","executeAuthStrategies","getDataLoader","parseCookies","qs","URL","sanitizeLocales","getPayloadHMR","getRequestLanguage","createPayloadRequest","config","configPromise","params","request","cookies","headers","payload","urlProperties","url","pathname","searchParams","isGraphQL","graphQL","disable","routes","api","language","i18n","context","locale","fallbackLocale","localization","locales","get","overrideHttpMethod","queryToParse","text","search","query","parse","arrayLimit","depth","ignoreQueryPrefix","customRequest","hash","host","href","origin","payloadAPI","payloadDataLoader","undefined","payloadUploadSizes","port","protocol","routeParams","t","transactionID","user","req","Object","assign","responseHeaders"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,qBAAqB,EAAEC,aAAa,EAAEC,YAAY,QAAQ,UAAS;AAC5E,OAAOC,QAAQ,KAAI;AACnB,SAASC,GAAG,QAAQ,MAAK;AAEzB,SAASC,eAAe,QAAQ,2BAA0B;AAC1D,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,kBAAkB,QAAQ,0BAAyB;AAU5D,OAAO,MAAMC,uBAAuB,OAAO,EACzCC,QAAQC,aAAa,EACrBC,MAAM,EACNC,OAAO,EACF;IACL,MAAMC,UAAUX,aAAaU,QAAQE,OAAO;IAC5C,MAAMC,UAAU,MAAMT,cAAc;QAAEG,QAAQC;IAAc;IAE5D,MAAM,EAAED,MAAM,EAAE,GAAGM;IAEnB,MAAMC,gBAAgB,IAAIZ,IAAIQ,QAAQK,GAAG;IACzC,MAAM,EAAEC,QAAQ,EAAEC,YAAY,EAAE,GAAGH;IAEnC,MAAMI,YACJ,CAACX,OAAOY,OAAO,CAACC,OAAO,IAAIJ,aAAa,CAAC,EAAET,OAAOc,MAAM,CAACC,GAAG,CAAC,EAAEf,OAAOc,MAAM,CAACF,OAAO,CAAC,CAAC;IAExF,MAAMI,WAAWlB,mBAAmB;QAClCE;QACAI;QACAC,SAASF,QAAQE,OAAO;IAC1B;IAEA,MAAMY,OAAO,MAAM3B,SAAS;QAC1BU,QAAQA,OAAOiB,IAAI;QACnBC,SAAS;QACTF;IACF;IAEA,IAAIG;IACJ,IAAIC;IACJ,IAAIpB,OAAOqB,YAAY,EAAE;QACvB,MAAMC,UAAU1B,gBAAgB;YAC9BwB,gBAAgBV,aAAaa,GAAG,CAAC;YACjCJ,QAAQT,aAAaa,GAAG,CAAC;YACzBF,cAAcf,QAAQN,MAAM,CAACqB,YAAY;QAC3C;QACAF,SAASG,QAAQH,MAAM;QACvBC,iBAAiBE,QAAQF,cAAc;IACzC;IAEA,MAAMI,qBAAqBrB,QAAQE,OAAO,CAACkB,GAAG,CAAC;IAC/C,MAAME,eAAeD,uBAAuB,QAAQ,MAAMrB,QAAQuB,IAAI,KAAKnB,cAAcoB,MAAM;IAE/F,MAAMC,QAAQH,eACV/B,GAAGmC,KAAK,CAACJ,cAAc;QACrBK,YAAY;QACZC,OAAO;QACPC,mBAAmB;IACrB,KACA,CAAC;IAEL,MAAMC,gBAAgD;QACpDf,SAAS,CAAC;QACVE;QACAc,MAAM3B,cAAc2B,IAAI;QACxBC,MAAM5B,cAAc4B,IAAI;QACxBC,MAAM7B,cAAc6B,IAAI;QACxBnB;QACAE;QACAkB,QAAQ9B,cAAc8B,MAAM;QAC5B5B,UAAUF,cAAcE,QAAQ;QAChCH;QACAgC,YAAY3B,YAAY,YAAY;QACpC4B,mBAAmBC;QACnBC,oBAAoB,CAAC;QACrBC,MAAMnC,cAAcmC,IAAI;QACxBC,UAAUpC,cAAcoC,QAAQ;QAChCf;QACAgB,aAAa1C,UAAU,CAAC;QACxByB,QAAQpB,cAAcoB,MAAM;QAC5BjB,cAAcH,cAAcG,YAAY;QACxCmC,GAAG5B,KAAK4B,CAAC;QACTC,eAAeN;QACfO,MAAM;IACR;IAEA,MAAMC,MAAsBC,OAAOC,MAAM,CAAC/C,SAAS8B;IAEnDe,IAAIT,iBAAiB,GAAG/C,cAAcwD;IAEtC,MAAM,EAAEG,eAAe,EAAEJ,IAAI,EAAE,GAAG,MAAMxD,sBAAsB;QAC5Dc,SAAS2C,IAAI3C,OAAO;QACpBM;QACAL;IACF;IAEA0C,IAAID,IAAI,GAAGA;IAEX,IAAII,iBAAiBH,IAAIG,eAAe,GAAGA;IAE3C,OAAOH;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/createPayloadRequest.ts"],"sourcesContent":["import type { CustomPayloadRequestProperties, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { executeAuthStrategies, getDataLoader, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\nimport { URL } from 'url'\n\nimport { sanitizeLocales } from './addLocalesToRequest.js'\nimport { getPayloadHMR } from './getPayloadHMR.js'\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\ntype Args = {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: {\n collection: string\n }\n request: Request\n}\n\nexport const createPayloadRequest = async ({\n config: configPromise,\n params,\n request,\n}: Args): Promise<PayloadRequest> => {\n const cookies = parseCookies(request.headers)\n const payload = await getPayloadHMR({ config: configPromise })\n\n const { config } = payload\n\n const urlProperties = new URL(request.url)\n const { pathname, searchParams } = urlProperties\n\n const isGraphQL =\n !config.graphQL.disable && pathname === `${config.routes.api}${config.routes.graphQL}`\n\n const language = getRequestLanguage({\n config,\n cookies,\n headers: request.headers,\n })\n\n const i18n = await initI18n({\n config: config.i18n,\n context: 'api',\n language,\n })\n\n let locale\n let fallbackLocale\n if (config.localization) {\n const locales = sanitizeLocales({\n fallbackLocale: searchParams.get('fallback-locale'),\n locale: searchParams.get('locale'),\n localization: payload.config.localization,\n })\n locale = locales.locale\n fallbackLocale = locales.fallbackLocale\n }\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n const queryToParse = overrideHttpMethod === 'GET' ? await request.text() : urlProperties.search\n\n const query = queryToParse\n ? qs.parse(queryToParse, {\n arrayLimit: 1000,\n depth: 10,\n ignoreQueryPrefix: true,\n })\n : {}\n\n const customRequest: CustomPayloadRequestProperties = {\n context: {},\n fallbackLocale,\n hash: urlProperties.hash,\n host: urlProperties.host,\n href: urlProperties.href,\n i18n,\n locale,\n origin: urlProperties.origin,\n pathname: urlProperties.pathname,\n payload,\n payloadAPI: isGraphQL ? 'GraphQL' : 'REST',\n payloadDataLoader: undefined,\n payloadUploadSizes: {},\n port: urlProperties.port,\n protocol: urlProperties.protocol,\n query,\n routeParams: params || {},\n search: urlProperties.search,\n searchParams: urlProperties.searchParams,\n t: i18n.t,\n transactionID: undefined,\n user: null,\n }\n\n const req: PayloadRequest = Object.assign(request, customRequest)\n\n req.payloadDataLoader = getDataLoader(req)\n\n const { responseHeaders, user } = await executeAuthStrategies({\n headers: req.headers,\n isGraphQL,\n payload,\n })\n\n req.user = user\n\n if (responseHeaders) req.responseHeaders = responseHeaders\n\n return req\n}\n"],"names":["initI18n","executeAuthStrategies","getDataLoader","parseCookies","qs","URL","sanitizeLocales","getPayloadHMR","getRequestLanguage","createPayloadRequest","config","configPromise","params","request","cookies","headers","payload","urlProperties","url","pathname","searchParams","isGraphQL","graphQL","disable","routes","api","language","i18n","context","locale","fallbackLocale","localization","locales","get","overrideHttpMethod","queryToParse","text","search","query","parse","arrayLimit","depth","ignoreQueryPrefix","customRequest","hash","host","href","origin","payloadAPI","payloadDataLoader","undefined","payloadUploadSizes","port","protocol","routeParams","t","transactionID","user","req","Object","assign","responseHeaders"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,qBAAqB,EAAEC,aAAa,EAAEC,YAAY,QAAQ,UAAS;AAC5E,YAAYC,QAAQ,SAAQ;AAC5B,SAASC,GAAG,QAAQ,MAAK;AAEzB,SAASC,eAAe,QAAQ,2BAA0B;AAC1D,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,kBAAkB,QAAQ,0BAAyB;AAU5D,OAAO,MAAMC,uBAAuB,OAAO,EACzCC,QAAQC,aAAa,EACrBC,MAAM,EACNC,OAAO,EACF;IACL,MAAMC,UAAUX,aAAaU,QAAQE,OAAO;IAC5C,MAAMC,UAAU,MAAMT,cAAc;QAAEG,QAAQC;IAAc;IAE5D,MAAM,EAAED,MAAM,EAAE,GAAGM;IAEnB,MAAMC,gBAAgB,IAAIZ,IAAIQ,QAAQK,GAAG;IACzC,MAAM,EAAEC,QAAQ,EAAEC,YAAY,EAAE,GAAGH;IAEnC,MAAMI,YACJ,CAACX,OAAOY,OAAO,CAACC,OAAO,IAAIJ,aAAa,CAAC,EAAET,OAAOc,MAAM,CAACC,GAAG,CAAC,EAAEf,OAAOc,MAAM,CAACF,OAAO,CAAC,CAAC;IAExF,MAAMI,WAAWlB,mBAAmB;QAClCE;QACAI;QACAC,SAASF,QAAQE,OAAO;IAC1B;IAEA,MAAMY,OAAO,MAAM3B,SAAS;QAC1BU,QAAQA,OAAOiB,IAAI;QACnBC,SAAS;QACTF;IACF;IAEA,IAAIG;IACJ,IAAIC;IACJ,IAAIpB,OAAOqB,YAAY,EAAE;QACvB,MAAMC,UAAU1B,gBAAgB;YAC9BwB,gBAAgBV,aAAaa,GAAG,CAAC;YACjCJ,QAAQT,aAAaa,GAAG,CAAC;YACzBF,cAAcf,QAAQN,MAAM,CAACqB,YAAY;QAC3C;QACAF,SAASG,QAAQH,MAAM;QACvBC,iBAAiBE,QAAQF,cAAc;IACzC;IAEA,MAAMI,qBAAqBrB,QAAQE,OAAO,CAACkB,GAAG,CAAC;IAC/C,MAAME,eAAeD,uBAAuB,QAAQ,MAAMrB,QAAQuB,IAAI,KAAKnB,cAAcoB,MAAM;IAE/F,MAAMC,QAAQH,eACV/B,GAAGmC,KAAK,CAACJ,cAAc;QACrBK,YAAY;QACZC,OAAO;QACPC,mBAAmB;IACrB,KACA,CAAC;IAEL,MAAMC,gBAAgD;QACpDf,SAAS,CAAC;QACVE;QACAc,MAAM3B,cAAc2B,IAAI;QACxBC,MAAM5B,cAAc4B,IAAI;QACxBC,MAAM7B,cAAc6B,IAAI;QACxBnB;QACAE;QACAkB,QAAQ9B,cAAc8B,MAAM;QAC5B5B,UAAUF,cAAcE,QAAQ;QAChCH;QACAgC,YAAY3B,YAAY,YAAY;QACpC4B,mBAAmBC;QACnBC,oBAAoB,CAAC;QACrBC,MAAMnC,cAAcmC,IAAI;QACxBC,UAAUpC,cAAcoC,QAAQ;QAChCf;QACAgB,aAAa1C,UAAU,CAAC;QACxByB,QAAQpB,cAAcoB,MAAM;QAC5BjB,cAAcH,cAAcG,YAAY;QACxCmC,GAAG5B,KAAK4B,CAAC;QACTC,eAAeN;QACfO,MAAM;IACR;IAEA,MAAMC,MAAsBC,OAAOC,MAAM,CAAC/C,SAAS8B;IAEnDe,IAAIT,iBAAiB,GAAG/C,cAAcwD;IAEtC,MAAM,EAAEG,eAAe,EAAEJ,IAAI,EAAE,GAAG,MAAMxD,sBAAsB;QAC5Dc,SAAS2C,IAAI3C,OAAO;QACpBM;QACAL;IACF;IAEA0C,IAAID,IAAI,GAAGA;IAEX,IAAII,iBAAiBH,IAAIG,eAAe,GAAGA;IAE3C,OAAOH;AACT,EAAC"}
@@ -1,5 +1,5 @@
1
1
  import { redirect } from 'next/navigation.js';
2
- import qs from 'qs';
2
+ import * as qs from 'qs-esm';
3
3
  import { isAdminAuthRoute, isAdminRoute } from './shared.js';
4
4
  export const handleAuthRedirect = ({ config, redirectUnauthenticatedUser, route, searchParams })=>{
5
5
  const { admin: { routes: { login: loginRouteFromConfig } }, routes: { admin: adminRoute } } = config;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"sourcesContent":["import { redirect } from 'next/navigation.js'\nimport qs from 'qs'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAuthRedirect = ({\n config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n}: {\n config\n redirectUnauthenticatedUser: boolean | string\n route: string\n searchParams: { [key: string]: string | string[] }\n}) => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (!isAdminAuthRoute(config, route, adminRoute)) {\n if (searchParams && 'redirect' in searchParams) delete searchParams.redirect\n\n const redirectRoute = encodeURIComponent(\n route + Object.keys(searchParams ?? {}).length\n ? `${qs.stringify(searchParams, { addQueryPrefix: true })}`\n : undefined,\n )\n\n const adminLoginRoute = `${adminRoute}${loginRouteFromConfig}`\n\n const customLoginRoute =\n typeof redirectUnauthenticatedUser === 'string' ? redirectUnauthenticatedUser : undefined\n\n const loginRoute = isAdminRoute(route, adminRoute)\n ? adminLoginRoute\n : customLoginRoute || loginRouteFromConfig\n\n const parsedLoginRouteSearchParams = qs.parse(loginRoute.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${qs.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n redirect(`${loginRoute.split('?')[0]}${searchParamsWithRedirect}`)\n }\n}\n"],"names":["redirect","qs","isAdminAuthRoute","isAdminRoute","handleAuthRedirect","config","redirectUnauthenticatedUser","route","searchParams","admin","routes","login","loginRouteFromConfig","adminRoute","redirectRoute","encodeURIComponent","Object","keys","length","stringify","addQueryPrefix","undefined","adminLoginRoute","customLoginRoute","loginRoute","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,QAAQ,KAAI;AAEnB,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,cAAa;AAE5D,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,MAAM,EACNC,2BAA2B,EAC3BC,KAAK,EACLC,YAAY,EAMb;IACC,MAAM,EACJC,OAAO,EACLC,QAAQ,EAAEC,OAAOC,oBAAoB,EAAE,EACxC,EACDF,QAAQ,EAAED,OAAOI,UAAU,EAAE,EAC9B,GAAGR;IAEJ,IAAI,CAACH,iBAAiBG,QAAQE,OAAOM,aAAa;QAChD,IAAIL,gBAAgB,cAAcA,cAAc,OAAOA,aAAaR,QAAQ;QAE5E,MAAMc,gBAAgBC,mBACpBR,QAAQS,OAAOC,IAAI,CAACT,gBAAgB,CAAC,GAAGU,MAAM,GAC1C,CAAC,EAAEjB,GAAGkB,SAAS,CAACX,cAAc;YAAEY,gBAAgB;QAAK,GAAG,CAAC,GACzDC;QAGN,MAAMC,kBAAkB,CAAC,EAAET,WAAW,EAAED,qBAAqB,CAAC;QAE9D,MAAMW,mBACJ,OAAOjB,gCAAgC,WAAWA,8BAA8Be;QAElF,MAAMG,aAAarB,aAAaI,OAAOM,cACnCS,kBACAC,oBAAoBX;QAExB,MAAMa,+BAA+BxB,GAAGyB,KAAK,CAACF,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;QAE1E,MAAMC,2BAA2B,CAAC,EAAE3B,GAAGkB,SAAS,CAC9C;YACE,GAAGM,4BAA4B;YAC/B,GAAIX,gBAAgB;gBAAEd,UAAUc;YAAc,IAAI,CAAC,CAAC;QACtD,GACA;YAAEM,gBAAgB;QAAK,GACvB,CAAC;QAEHpB,SAAS,CAAC,EAAEwB,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAEC,yBAAyB,CAAC;IACnE;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"sourcesContent":["import { redirect } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAuthRedirect = ({\n config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n}: {\n config\n redirectUnauthenticatedUser: boolean | string\n route: string\n searchParams: { [key: string]: string | string[] }\n}) => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (!isAdminAuthRoute(config, route, adminRoute)) {\n if (searchParams && 'redirect' in searchParams) delete searchParams.redirect\n\n const redirectRoute = encodeURIComponent(\n route + Object.keys(searchParams ?? {}).length\n ? `${qs.stringify(searchParams, { addQueryPrefix: true })}`\n : undefined,\n )\n\n const adminLoginRoute = `${adminRoute}${loginRouteFromConfig}`\n\n const customLoginRoute =\n typeof redirectUnauthenticatedUser === 'string' ? redirectUnauthenticatedUser : undefined\n\n const loginRoute = isAdminRoute(route, adminRoute)\n ? adminLoginRoute\n : customLoginRoute || loginRouteFromConfig\n\n const parsedLoginRouteSearchParams = qs.parse(loginRoute.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${qs.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n redirect(`${loginRoute.split('?')[0]}${searchParamsWithRedirect}`)\n }\n}\n"],"names":["redirect","qs","isAdminAuthRoute","isAdminRoute","handleAuthRedirect","config","redirectUnauthenticatedUser","route","searchParams","admin","routes","login","loginRouteFromConfig","adminRoute","redirectRoute","encodeURIComponent","Object","keys","length","stringify","addQueryPrefix","undefined","adminLoginRoute","customLoginRoute","loginRoute","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,YAAYC,QAAQ,SAAQ;AAE5B,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,cAAa;AAE5D,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,MAAM,EACNC,2BAA2B,EAC3BC,KAAK,EACLC,YAAY,EAMb;IACC,MAAM,EACJC,OAAO,EACLC,QAAQ,EAAEC,OAAOC,oBAAoB,EAAE,EACxC,EACDF,QAAQ,EAAED,OAAOI,UAAU,EAAE,EAC9B,GAAGR;IAEJ,IAAI,CAACH,iBAAiBG,QAAQE,OAAOM,aAAa;QAChD,IAAIL,gBAAgB,cAAcA,cAAc,OAAOA,aAAaR,QAAQ;QAE5E,MAAMc,gBAAgBC,mBACpBR,QAAQS,OAAOC,IAAI,CAACT,gBAAgB,CAAC,GAAGU,MAAM,GAC1C,CAAC,EAAEjB,GAAGkB,SAAS,CAACX,cAAc;YAAEY,gBAAgB;QAAK,GAAG,CAAC,GACzDC;QAGN,MAAMC,kBAAkB,CAAC,EAAET,WAAW,EAAED,qBAAqB,CAAC;QAE9D,MAAMW,mBACJ,OAAOjB,gCAAgC,WAAWA,8BAA8Be;QAElF,MAAMG,aAAarB,aAAaI,OAAOM,cACnCS,kBACAC,oBAAoBX;QAExB,MAAMa,+BAA+BxB,GAAGyB,KAAK,CAACF,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;QAE1E,MAAMC,2BAA2B,CAAC,EAAE3B,GAAGkB,SAAS,CAC9C;YACE,GAAGM,4BAA4B;YAC/B,GAAIX,gBAAgB;gBAAEd,UAAUc;YAAc,IAAI,CAAC,CAAC;QACtD,GACA;YAAEM,gBAAgB;QAAK,GACvB,CAAC;QAEHpB,SAAS,CAAC,EAAEwB,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAEC,yBAAyB,CAAC;IACnE;AACF,EAAC"}
@@ -2,7 +2,7 @@ import { initI18n } from '@payloadcms/translations';
2
2
  import { findLocaleFromCode } from '@payloadcms/ui/shared';
3
3
  import { headers as getHeaders } from 'next/headers.js';
4
4
  import { createLocalReq, isEntityHidden, parseCookies } from 'payload';
5
- import qs from 'qs';
5
+ import * as qs from 'qs-esm';
6
6
  import { getPayloadHMR } from '../getPayloadHMR.js';
7
7
  import { getRequestLanguage } from '../getRequestLanguage.js';
8
8
  import { handleAdminPage } from './handleAdminPage.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { InitPageResult, Locale, PayloadRequest, VisibleEntities } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createLocalReq, isEntityHidden, parseCookies } from 'payload'\nimport qs from 'qs'\n\nimport type { Args } from './types.js'\n\nimport { getPayloadHMR } from '../getPayloadHMR.js'\nimport { getRequestLanguage } from '../getRequestLanguage.js'\nimport { handleAdminPage } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\n\nexport const initPage = async ({\n config: configPromise,\n redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = getHeaders()\n const payload = await getPayloadHMR({ config: configPromise })\n\n const {\n collections,\n globals,\n i18n: i18nConfig,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const cookies = parseCookies(headers)\n const language = getRequestLanguage({ config: payload.config, cookies, headers })\n\n const i18n: I18nClient = await initI18n({\n config: i18nConfig,\n context: 'client',\n language,\n })\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n const req = await createLocalReq(\n {\n fallbackLocale: null,\n req: {\n headers,\n host: headers.get('host'),\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequest,\n },\n payload,\n )\n\n const { permissions, user } = await payload.auth({ headers, req })\n req.user = user\n\n const localeParam = searchParams?.locale as string\n let locale: Locale\n\n if (localization) {\n const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en'\n let localeCode: string = localeParam\n\n if (!localeCode) {\n try {\n localeCode = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: 'locale',\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as string)\n } catch (error) {} // eslint-disable-line no-empty\n }\n\n locale = findLocaleFromCode(localization, localeCode)\n\n if (!locale) locale = findLocaleFromCode(localization, defaultLocaleCode)\n req.locale = locale.code\n }\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n if (redirectUnauthenticatedUser && !user) {\n handleAuthRedirect({\n config: payload.config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n })\n }\n\n const { collectionConfig, docID, globalConfig } = handleAdminPage({\n adminRoute,\n config: payload.config,\n permissions,\n route,\n })\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"names":["initI18n","findLocaleFromCode","headers","getHeaders","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","getRequestLanguage","handleAdminPage","handleAuthRedirect","initPage","config","configPromise","redirectUnauthenticatedUser","route","searchParams","payload","collections","globals","i18n","i18nConfig","localization","routes","admin","adminRoute","queryString","stringify","addQueryPrefix","cookies","language","context","languageOptions","Object","entries","supportedLanguages","reduce","acc","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","permissions","user","auth","localeParam","locale","defaultLocaleCode","defaultLocale","localeCode","find","collection","limit","where","and","equals","id","key","then","res","docs","error","code","visibleEntities","map","slug","hidden","filter","Boolean","collectionConfig","docID","globalConfig"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { InitPageResult, Locale, PayloadRequest, VisibleEntities } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createLocalReq, isEntityHidden, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\n\nimport type { Args } from './types.js'\n\nimport { getPayloadHMR } from '../getPayloadHMR.js'\nimport { getRequestLanguage } from '../getRequestLanguage.js'\nimport { handleAdminPage } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\n\nexport const initPage = async ({\n config: configPromise,\n redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = getHeaders()\n const payload = await getPayloadHMR({ config: configPromise })\n\n const {\n collections,\n globals,\n i18n: i18nConfig,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const cookies = parseCookies(headers)\n const language = getRequestLanguage({ config: payload.config, cookies, headers })\n\n const i18n: I18nClient = await initI18n({\n config: i18nConfig,\n context: 'client',\n language,\n })\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n const req = await createLocalReq(\n {\n fallbackLocale: null,\n req: {\n headers,\n host: headers.get('host'),\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequest,\n },\n payload,\n )\n\n const { permissions, user } = await payload.auth({ headers, req })\n req.user = user\n\n const localeParam = searchParams?.locale as string\n let locale: Locale\n\n if (localization) {\n const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en'\n let localeCode: string = localeParam\n\n if (!localeCode) {\n try {\n localeCode = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: 'locale',\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as string)\n } catch (error) {} // eslint-disable-line no-empty\n }\n\n locale = findLocaleFromCode(localization, localeCode)\n\n if (!locale) locale = findLocaleFromCode(localization, defaultLocaleCode)\n req.locale = locale.code\n }\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n if (redirectUnauthenticatedUser && !user) {\n handleAuthRedirect({\n config: payload.config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n })\n }\n\n const { collectionConfig, docID, globalConfig } = handleAdminPage({\n adminRoute,\n config: payload.config,\n permissions,\n route,\n })\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"names":["initI18n","findLocaleFromCode","headers","getHeaders","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","getRequestLanguage","handleAdminPage","handleAuthRedirect","initPage","config","configPromise","redirectUnauthenticatedUser","route","searchParams","payload","collections","globals","i18n","i18nConfig","localization","routes","admin","adminRoute","queryString","stringify","addQueryPrefix","cookies","language","context","languageOptions","Object","entries","supportedLanguages","reduce","acc","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","permissions","user","auth","localeParam","locale","defaultLocaleCode","defaultLocale","localeCode","find","collection","limit","where","and","equals","id","key","then","res","docs","error","code","visibleEntities","map","slug","hidden","filter","Boolean","collectionConfig","docID","globalConfig"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { payloadFaviconDark, payloadFaviconLight, staticOGImage } from '@payloadcms/ui/assets';
2
- import qs from 'qs';
2
+ import * as qs from 'qs-esm';
3
3
  const defaultOpenGraph = {
4
4
  description: 'Payload is a headless CMS and application framework built with TypeScript, Node.js, and React.',
5
5
  siteName: 'Payload App',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { Icon } from 'next/dist/lib/metadata/types/metadata-types.js'\nimport type { MetaConfig } from 'payload'\n\nimport { payloadFaviconDark, payloadFaviconLight, staticOGImage } from '@payloadcms/ui/assets'\nimport qs from 'qs'\n\nconst defaultOpenGraph = {\n description:\n 'Payload is a headless CMS and application framework built with TypeScript, Node.js, and React.',\n siteName: 'Payload App',\n title: 'Payload App',\n}\n\nexport const meta = async (args: MetaConfig & { serverURL: string }): Promise<any> => {\n const {\n defaultOGImageType,\n description,\n icons: customIcons,\n keywords,\n openGraph: openGraphFromProps,\n serverURL,\n title,\n titleSuffix,\n } = args\n\n const payloadIcons: Icon[] = [\n {\n type: 'image/png',\n rel: 'icon',\n sizes: '32x32',\n url: typeof payloadFaviconDark === 'object' ? payloadFaviconDark?.src : payloadFaviconDark,\n },\n {\n type: 'image/png',\n media: '(prefers-color-scheme: dark)',\n rel: 'icon',\n sizes: '32x32',\n url: typeof payloadFaviconLight === 'object' ? payloadFaviconLight?.src : payloadFaviconLight,\n },\n ]\n\n let icons = customIcons ?? payloadIcons // TODO: fix this type assertion\n\n if (customIcons && typeof customIcons === 'object' && Array.isArray(customIcons)) {\n icons = payloadIcons.concat(customIcons) // TODO: fix this type assertion\n }\n\n const metaTitle = `${title} ${titleSuffix}`\n\n const ogTitle = `${typeof openGraphFromProps?.title === 'string' ? openGraphFromProps.title : title} ${titleSuffix}`\n\n const mergedOpenGraph: Metadata['openGraph'] = {\n ...(defaultOpenGraph || {}),\n ...(defaultOGImageType === 'dynamic'\n ? {\n images: [\n {\n alt: ogTitle,\n height: 630,\n url: `/api/og${qs.stringify(\n {\n description: openGraphFromProps?.description || defaultOpenGraph.description,\n title: ogTitle,\n },\n {\n addQueryPrefix: true,\n },\n )}`,\n width: 1200,\n },\n ],\n }\n : {}),\n ...(defaultOGImageType === 'static'\n ? {\n images: [\n {\n alt: ogTitle,\n height: 480,\n url: typeof staticOGImage === 'object' ? staticOGImage?.src : staticOGImage,\n width: 640,\n },\n ],\n }\n : {}),\n title: ogTitle,\n ...(openGraphFromProps || {}),\n }\n\n return Promise.resolve({\n description,\n icons,\n keywords,\n metadataBase: new URL(\n serverURL ||\n process.env.PAYLOAD_PUBLIC_SERVER_URL ||\n `http://localhost:${process.env.PORT || 3000}`,\n ),\n openGraph: mergedOpenGraph,\n title: metaTitle,\n })\n}\n"],"names":["payloadFaviconDark","payloadFaviconLight","staticOGImage","qs","defaultOpenGraph","description","siteName","title","meta","args","defaultOGImageType","icons","customIcons","keywords","openGraph","openGraphFromProps","serverURL","titleSuffix","payloadIcons","type","rel","sizes","url","src","media","Array","isArray","concat","metaTitle","ogTitle","mergedOpenGraph","images","alt","height","stringify","addQueryPrefix","width","Promise","resolve","metadataBase","URL","process","env","PAYLOAD_PUBLIC_SERVER_URL","PORT"],"mappings":"AAIA,SAASA,kBAAkB,EAAEC,mBAAmB,EAAEC,aAAa,QAAQ,wBAAuB;AAC9F,OAAOC,QAAQ,KAAI;AAEnB,MAAMC,mBAAmB;IACvBC,aACE;IACFC,UAAU;IACVC,OAAO;AACT;AAEA,OAAO,MAAMC,OAAO,OAAOC;IACzB,MAAM,EACJC,kBAAkB,EAClBL,WAAW,EACXM,OAAOC,WAAW,EAClBC,QAAQ,EACRC,WAAWC,kBAAkB,EAC7BC,SAAS,EACTT,KAAK,EACLU,WAAW,EACZ,GAAGR;IAEJ,MAAMS,eAAuB;QAC3B;YACEC,MAAM;YACNC,KAAK;YACLC,OAAO;YACPC,KAAK,OAAOtB,uBAAuB,WAAWA,oBAAoBuB,MAAMvB;QAC1E;QACA;YACEmB,MAAM;YACNK,OAAO;YACPJ,KAAK;YACLC,OAAO;YACPC,KAAK,OAAOrB,wBAAwB,WAAWA,qBAAqBsB,MAAMtB;QAC5E;KACD;IAED,IAAIU,QAAQC,eAAeM,aAAa,gCAAgC;;IAExE,IAAIN,eAAe,OAAOA,gBAAgB,YAAYa,MAAMC,OAAO,CAACd,cAAc;QAChFD,QAAQO,aAAaS,MAAM,CAACf,aAAa,gCAAgC;;IAC3E;IAEA,MAAMgB,YAAY,CAAC,EAAErB,MAAM,CAAC,EAAEU,YAAY,CAAC;IAE3C,MAAMY,UAAU,CAAC,EAAE,OAAOd,oBAAoBR,UAAU,WAAWQ,mBAAmBR,KAAK,GAAGA,MAAM,CAAC,EAAEU,YAAY,CAAC;IAEpH,MAAMa,kBAAyC;QAC7C,GAAI1B,oBAAoB,CAAC,CAAC;QAC1B,GAAIM,uBAAuB,YACvB;YACEqB,QAAQ;gBACN;oBACEC,KAAKH;oBACLI,QAAQ;oBACRX,KAAK,CAAC,OAAO,EAAEnB,GAAG+B,SAAS,CACzB;wBACE7B,aAAaU,oBAAoBV,eAAeD,iBAAiBC,WAAW;wBAC5EE,OAAOsB;oBACT,GACA;wBACEM,gBAAgB;oBAClB,GACA,CAAC;oBACHC,OAAO;gBACT;aACD;QACH,IACA,CAAC,CAAC;QACN,GAAI1B,uBAAuB,WACvB;YACEqB,QAAQ;gBACN;oBACEC,KAAKH;oBACLI,QAAQ;oBACRX,KAAK,OAAOpB,kBAAkB,WAAWA,eAAeqB,MAAMrB;oBAC9DkC,OAAO;gBACT;aACD;QACH,IACA,CAAC,CAAC;QACN7B,OAAOsB;QACP,GAAId,sBAAsB,CAAC,CAAC;IAC9B;IAEA,OAAOsB,QAAQC,OAAO,CAAC;QACrBjC;QACAM;QACAE;QACA0B,cAAc,IAAIC,IAChBxB,aACEyB,QAAQC,GAAG,CAACC,yBAAyB,IACrC,CAAC,iBAAiB,EAAEF,QAAQC,GAAG,CAACE,IAAI,IAAI,KAAK,CAAC;QAElD9B,WAAWgB;QACXvB,OAAOqB;IACT;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { Icon } from 'next/dist/lib/metadata/types/metadata-types.js'\nimport type { MetaConfig } from 'payload'\n\nimport { payloadFaviconDark, payloadFaviconLight, staticOGImage } from '@payloadcms/ui/assets'\nimport * as qs from 'qs-esm'\n\nconst defaultOpenGraph = {\n description:\n 'Payload is a headless CMS and application framework built with TypeScript, Node.js, and React.',\n siteName: 'Payload App',\n title: 'Payload App',\n}\n\nexport const meta = async (args: MetaConfig & { serverURL: string }): Promise<any> => {\n const {\n defaultOGImageType,\n description,\n icons: customIcons,\n keywords,\n openGraph: openGraphFromProps,\n serverURL,\n title,\n titleSuffix,\n } = args\n\n const payloadIcons: Icon[] = [\n {\n type: 'image/png',\n rel: 'icon',\n sizes: '32x32',\n url: typeof payloadFaviconDark === 'object' ? payloadFaviconDark?.src : payloadFaviconDark,\n },\n {\n type: 'image/png',\n media: '(prefers-color-scheme: dark)',\n rel: 'icon',\n sizes: '32x32',\n url: typeof payloadFaviconLight === 'object' ? payloadFaviconLight?.src : payloadFaviconLight,\n },\n ]\n\n let icons = customIcons ?? payloadIcons // TODO: fix this type assertion\n\n if (customIcons && typeof customIcons === 'object' && Array.isArray(customIcons)) {\n icons = payloadIcons.concat(customIcons) // TODO: fix this type assertion\n }\n\n const metaTitle = `${title} ${titleSuffix}`\n\n const ogTitle = `${typeof openGraphFromProps?.title === 'string' ? openGraphFromProps.title : title} ${titleSuffix}`\n\n const mergedOpenGraph: Metadata['openGraph'] = {\n ...(defaultOpenGraph || {}),\n ...(defaultOGImageType === 'dynamic'\n ? {\n images: [\n {\n alt: ogTitle,\n height: 630,\n url: `/api/og${qs.stringify(\n {\n description: openGraphFromProps?.description || defaultOpenGraph.description,\n title: ogTitle,\n },\n {\n addQueryPrefix: true,\n },\n )}`,\n width: 1200,\n },\n ],\n }\n : {}),\n ...(defaultOGImageType === 'static'\n ? {\n images: [\n {\n alt: ogTitle,\n height: 480,\n url: typeof staticOGImage === 'object' ? staticOGImage?.src : staticOGImage,\n width: 640,\n },\n ],\n }\n : {}),\n title: ogTitle,\n ...(openGraphFromProps || {}),\n }\n\n return Promise.resolve({\n description,\n icons,\n keywords,\n metadataBase: new URL(\n serverURL ||\n process.env.PAYLOAD_PUBLIC_SERVER_URL ||\n `http://localhost:${process.env.PORT || 3000}`,\n ),\n openGraph: mergedOpenGraph,\n title: metaTitle,\n })\n}\n"],"names":["payloadFaviconDark","payloadFaviconLight","staticOGImage","qs","defaultOpenGraph","description","siteName","title","meta","args","defaultOGImageType","icons","customIcons","keywords","openGraph","openGraphFromProps","serverURL","titleSuffix","payloadIcons","type","rel","sizes","url","src","media","Array","isArray","concat","metaTitle","ogTitle","mergedOpenGraph","images","alt","height","stringify","addQueryPrefix","width","Promise","resolve","metadataBase","URL","process","env","PAYLOAD_PUBLIC_SERVER_URL","PORT"],"mappings":"AAIA,SAASA,kBAAkB,EAAEC,mBAAmB,EAAEC,aAAa,QAAQ,wBAAuB;AAC9F,YAAYC,QAAQ,SAAQ;AAE5B,MAAMC,mBAAmB;IACvBC,aACE;IACFC,UAAU;IACVC,OAAO;AACT;AAEA,OAAO,MAAMC,OAAO,OAAOC;IACzB,MAAM,EACJC,kBAAkB,EAClBL,WAAW,EACXM,OAAOC,WAAW,EAClBC,QAAQ,EACRC,WAAWC,kBAAkB,EAC7BC,SAAS,EACTT,KAAK,EACLU,WAAW,EACZ,GAAGR;IAEJ,MAAMS,eAAuB;QAC3B;YACEC,MAAM;YACNC,KAAK;YACLC,OAAO;YACPC,KAAK,OAAOtB,uBAAuB,WAAWA,oBAAoBuB,MAAMvB;QAC1E;QACA;YACEmB,MAAM;YACNK,OAAO;YACPJ,KAAK;YACLC,OAAO;YACPC,KAAK,OAAOrB,wBAAwB,WAAWA,qBAAqBsB,MAAMtB;QAC5E;KACD;IAED,IAAIU,QAAQC,eAAeM,aAAa,gCAAgC;;IAExE,IAAIN,eAAe,OAAOA,gBAAgB,YAAYa,MAAMC,OAAO,CAACd,cAAc;QAChFD,QAAQO,aAAaS,MAAM,CAACf,aAAa,gCAAgC;;IAC3E;IAEA,MAAMgB,YAAY,CAAC,EAAErB,MAAM,CAAC,EAAEU,YAAY,CAAC;IAE3C,MAAMY,UAAU,CAAC,EAAE,OAAOd,oBAAoBR,UAAU,WAAWQ,mBAAmBR,KAAK,GAAGA,MAAM,CAAC,EAAEU,YAAY,CAAC;IAEpH,MAAMa,kBAAyC;QAC7C,GAAI1B,oBAAoB,CAAC,CAAC;QAC1B,GAAIM,uBAAuB,YACvB;YACEqB,QAAQ;gBACN;oBACEC,KAAKH;oBACLI,QAAQ;oBACRX,KAAK,CAAC,OAAO,EAAEnB,GAAG+B,SAAS,CACzB;wBACE7B,aAAaU,oBAAoBV,eAAeD,iBAAiBC,WAAW;wBAC5EE,OAAOsB;oBACT,GACA;wBACEM,gBAAgB;oBAClB,GACA,CAAC;oBACHC,OAAO;gBACT;aACD;QACH,IACA,CAAC,CAAC;QACN,GAAI1B,uBAAuB,WACvB;YACEqB,QAAQ;gBACN;oBACEC,KAAKH;oBACLI,QAAQ;oBACRX,KAAK,OAAOpB,kBAAkB,WAAWA,eAAeqB,MAAMrB;oBAC9DkC,OAAO;gBACT;aACD;QACH,IACA,CAAC,CAAC;QACN7B,OAAOsB;QACP,GAAId,sBAAsB,CAAC,CAAC;IAC9B;IAEA,OAAOsB,QAAQC,OAAO,CAAC;QACrBjC;QACAM;QACAE;QACA0B,cAAc,IAAIC,IAChBxB,aACEyB,QAAQC,GAAG,CAACC,yBAAyB,IACrC,CAAC,iBAAiB,EAAEF,QAAQC,GAAG,CAACE,IAAI,IAAI,KAAK,CAAC;QAElD9B,WAAWgB;QACXvB,OAAOqB;IACT;AACF,EAAC"}
@@ -1,5 +1,5 @@
1
- import { reduceFieldsToValues } from '@payloadcms/ui/shared';
2
1
  import { buildFormState } from '@payloadcms/ui/utilities/buildFormState';
2
+ import { reduceFieldsToValues } from 'payload/shared';
3
3
  export const getDocumentData = async (args)=>{
4
4
  const { id, collectionConfig, globalConfig, locale, req } = args;
5
5
  try {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Document/getDocumentData.tsx"],"sourcesContent":["import type {\n Data,\n Locale,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { reduceFieldsToValues } from '@payloadcms/ui/shared'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\n\nexport const getDocumentData = async (args: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale: Locale\n req: PayloadRequest\n}): Promise<Data> => {\n const { id, collectionConfig, globalConfig, locale, req } = args\n\n try {\n const formState = await buildFormState({\n req: {\n ...req,\n data: {\n id,\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n locale: locale?.code,\n operation: (collectionConfig && id) || globalConfig ? 'update' : 'create',\n schemaPath: collectionConfig?.slug || globalConfig?.slug,\n },\n },\n })\n\n const data = reduceFieldsToValues(formState, true)\n\n return {\n data,\n formState,\n }\n } catch (error) {\n console.error('Error getting document data', error) // eslint-disable-line no-console\n return {}\n }\n}\n"],"names":["reduceFieldsToValues","buildFormState","getDocumentData","args","id","collectionConfig","globalConfig","locale","req","formState","data","collectionSlug","slug","globalSlug","code","operation","schemaPath","error","console"],"mappings":"AAQA,SAASA,oBAAoB,QAAQ,wBAAuB;AAC5D,SAASC,cAAc,QAAQ,0CAAyC;AAExE,OAAO,MAAMC,kBAAkB,OAAOC;IAOpC,MAAM,EAAEC,EAAE,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,MAAM,EAAEC,GAAG,EAAE,GAAGL;IAE5D,IAAI;QACF,MAAMM,YAAY,MAAMR,eAAe;YACrCO,KAAK;gBACH,GAAGA,GAAG;gBACNE,MAAM;oBACJN;oBACAO,gBAAgBN,kBAAkBO;oBAClCC,YAAYP,cAAcM;oBAC1BL,QAAQA,QAAQO;oBAChBC,WAAW,AAACV,oBAAoBD,MAAOE,eAAe,WAAW;oBACjEU,YAAYX,kBAAkBO,QAAQN,cAAcM;gBACtD;YACF;QACF;QAEA,MAAMF,OAAOV,qBAAqBS,WAAW;QAE7C,OAAO;YACLC;YACAD;QACF;IACF,EAAE,OAAOQ,OAAO;QACdC,QAAQD,KAAK,CAAC,+BAA+BA,OAAO,iCAAiC;;QACrF,OAAO,CAAC;IACV;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/Document/getDocumentData.tsx"],"sourcesContent":["import type {\n Data,\n Locale,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { reduceFieldsToValues } from 'payload/shared'\n\nexport const getDocumentData = async (args: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale: Locale\n req: PayloadRequest\n}): Promise<Data> => {\n const { id, collectionConfig, globalConfig, locale, req } = args\n\n try {\n const formState = await buildFormState({\n req: {\n ...req,\n data: {\n id,\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n locale: locale?.code,\n operation: (collectionConfig && id) || globalConfig ? 'update' : 'create',\n schemaPath: collectionConfig?.slug || globalConfig?.slug,\n },\n },\n })\n\n const data = reduceFieldsToValues(formState, true)\n\n return {\n data,\n formState,\n }\n } catch (error) {\n console.error('Error getting document data', error) // eslint-disable-line no-console\n return {}\n }\n}\n"],"names":["buildFormState","reduceFieldsToValues","getDocumentData","args","id","collectionConfig","globalConfig","locale","req","formState","data","collectionSlug","slug","globalSlug","code","operation","schemaPath","error","console"],"mappings":"AAQA,SAASA,cAAc,QAAQ,0CAAyC;AACxE,SAASC,oBAAoB,QAAQ,iBAAgB;AAErD,OAAO,MAAMC,kBAAkB,OAAOC;IAOpC,MAAM,EAAEC,EAAE,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,MAAM,EAAEC,GAAG,EAAE,GAAGL;IAE5D,IAAI;QACF,MAAMM,YAAY,MAAMT,eAAe;YACrCQ,KAAK;gBACH,GAAGA,GAAG;gBACNE,MAAM;oBACJN;oBACAO,gBAAgBN,kBAAkBO;oBAClCC,YAAYP,cAAcM;oBAC1BL,QAAQA,QAAQO;oBAChBC,WAAW,AAACV,oBAAoBD,MAAOE,eAAe,WAAW;oBACjEU,YAAYX,kBAAkBO,QAAQN,cAAcM;gBACtD;YACF;QACF;QAEA,MAAMF,OAAOT,qBAAqBQ,WAAW;QAE7C,OAAO;YACLC;YACAD;QACF;IACF,EAAE,OAAOQ,OAAO;QACdC,QAAQD,KAAK,CAAC,+BAA+BA,OAAO,iCAAiC;;QACrF,OAAO,CAAC;IACV;AACF,EAAC"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { ShimmerEffect, useAllFormFields, useDocumentEvents } from '@payloadcms/ui';
4
- import { reduceFieldsToValues } from '@payloadcms/ui/shared';
4
+ import { reduceFieldsToValues } from 'payload/shared';
5
5
  import React, { useEffect } from 'react';
6
6
  import { useLivePreviewContext } from '../Context/context.js';
7
7
  import { DeviceContainer } from '../Device/index.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/LivePreview/Preview/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport { ShimmerEffect, useAllFormFields, useDocumentEvents } from '@payloadcms/ui'\nimport { reduceFieldsToValues } from '@payloadcms/ui/shared'\nimport React, { useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\nimport { DeviceContainer } from '../Device/index.js'\nimport { IFrame } from '../IFrame/index.js'\nimport { LivePreviewToolbar } from '../Toolbar/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-window'\n\nexport const LivePreview: React.FC<EditViewProps> = (props) => {\n const {\n appIsReady,\n iframeHasLoaded,\n iframeRef,\n popupRef,\n previewWindowType,\n setIframeHasLoaded,\n url,\n } = useLivePreviewContext()\n\n const { mostRecentUpdate } = useDocumentEvents()\n\n const { breakpoint, fieldSchemaJSON } = useLivePreviewContext()\n\n const prevWindowType =\n React.useRef<ReturnType<typeof useLivePreviewContext>['previewWindowType']>(undefined)\n\n const [fields] = useAllFormFields()\n\n // For client-side apps, send data through `window.postMessage`\n // The preview could either be an iframe embedded on the page\n // Or it could be a separate popup window\n // We need to transmit data to both accordingly\n useEffect(() => {\n // For performance, do no reduce fields to values until after the iframe or popup has loaded\n if (fields && window && 'postMessage' in window && appIsReady) {\n const values = reduceFieldsToValues(fields, true)\n\n // To reduce on large `postMessage` payloads, only send `fieldSchemaToJSON` one time\n // To do this, the underlying JS function maintains a cache of this value\n // So we need to send it through each time the window type changes\n // But only once per window type change, not on every render, because this is a potentially large obj\n const shouldSendSchema =\n !prevWindowType.current || prevWindowType.current !== previewWindowType\n\n prevWindowType.current = previewWindowType\n\n const message = {\n type: 'payload-live-preview',\n data: values,\n externallyUpdatedRelationship: mostRecentUpdate,\n fieldSchemaJSON: shouldSendSchema ? fieldSchemaJSON : undefined,\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }\n }, [\n fields,\n url,\n iframeHasLoaded,\n previewWindowType,\n popupRef,\n appIsReady,\n iframeRef,\n setIframeHasLoaded,\n fieldSchemaJSON,\n mostRecentUpdate,\n ])\n\n // To support SSR, we transmit a `window.postMessage` event without a payload\n // This is because the event will ultimately trigger a server-side roundtrip\n // i.e., save, save draft, autosave, etc. will fire `router.refresh()`\n useEffect(() => {\n const message = {\n type: 'payload-document-event',\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }, [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url])\n\n if (previewWindowType === 'iframe') {\n return (\n <div\n className={[\n baseClass,\n breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__wrapper`}>\n <LivePreviewToolbar {...props} />\n <div className={`${baseClass}__main`}>\n <DeviceContainer>\n {url ? (\n <IFrame ref={iframeRef} setIframeHasLoaded={setIframeHasLoaded} url={url} />\n ) : (\n <ShimmerEffect height=\"100%\" />\n )}\n </DeviceContainer>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"names":["ShimmerEffect","useAllFormFields","useDocumentEvents","reduceFieldsToValues","React","useEffect","useLivePreviewContext","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreview","props","appIsReady","iframeHasLoaded","iframeRef","popupRef","previewWindowType","setIframeHasLoaded","url","mostRecentUpdate","breakpoint","fieldSchemaJSON","prevWindowType","useRef","undefined","fields","window","values","shouldSendSchema","current","message","type","data","externallyUpdatedRelationship","postMessage","contentWindow","div","className","filter","Boolean","join","ref","height"],"mappings":"AAAA;;AAIA,SAASA,aAAa,EAAEC,gBAAgB,EAAEC,iBAAiB,QAAQ,iBAAgB;AACnF,SAASC,oBAAoB,QAAQ,wBAAuB;AAC5D,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAExC,SAASC,qBAAqB,QAAQ,wBAAuB;AAC7D,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,kBAAkB,QAAQ,sBAAqB;AAGxD,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAuC,CAACC;IACnD,MAAM,EACJC,UAAU,EACVC,eAAe,EACfC,SAAS,EACTC,QAAQ,EACRC,iBAAiB,EACjBC,kBAAkB,EAClBC,GAAG,EACJ,GAAGb;IAEJ,MAAM,EAAEc,gBAAgB,EAAE,GAAGlB;IAE7B,MAAM,EAAEmB,UAAU,EAAEC,eAAe,EAAE,GAAGhB;IAExC,MAAMiB,iBACJnB,MAAMoB,MAAM,CAAgEC;IAE9E,MAAM,CAACC,OAAO,GAAGzB;IAEjB,+DAA+D;IAC/D,6DAA6D;IAC7D,yCAAyC;IACzC,+CAA+C;IAC/CI,UAAU;QACR,4FAA4F;QAC5F,IAAIqB,UAAUC,UAAU,iBAAiBA,UAAUd,YAAY;YAC7D,MAAMe,SAASzB,qBAAqBuB,QAAQ;YAE5C,oFAAoF;YACpF,yEAAyE;YACzE,kEAAkE;YAClE,qGAAqG;YACrG,MAAMG,mBACJ,CAACN,eAAeO,OAAO,IAAIP,eAAeO,OAAO,KAAKb;YAExDM,eAAeO,OAAO,GAAGb;YAEzB,MAAMc,UAAU;gBACdC,MAAM;gBACNC,MAAML;gBACNM,+BAA+Bd;gBAC/BE,iBAAiBO,mBAAmBP,kBAAkBG;YACxD;YAEA,wCAAwC;YACxC,IAAIR,sBAAsB,WAAWD,SAASc,OAAO,EAAE;gBACrDd,SAASc,OAAO,CAACK,WAAW,CAACJ,SAASZ;YACxC;YAEA,kCAAkC;YAClC,IAAIF,sBAAsB,YAAYF,UAAUe,OAAO,EAAE;gBACvDf,UAAUe,OAAO,CAACM,aAAa,EAAED,YAAYJ,SAASZ;YACxD;QACF;IACF,GAAG;QACDO;QACAP;QACAL;QACAG;QACAD;QACAH;QACAE;QACAG;QACAI;QACAF;KACD;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,sEAAsE;IACtEf,UAAU;QACR,MAAM0B,UAAU;YACdC,MAAM;QACR;QAEA,wCAAwC;QACxC,IAAIf,sBAAsB,WAAWD,SAASc,OAAO,EAAE;YACrDd,SAASc,OAAO,CAACK,WAAW,CAACJ,SAASZ;QACxC;QAEA,kCAAkC;QAClC,IAAIF,sBAAsB,YAAYF,UAAUe,OAAO,EAAE;YACvDf,UAAUe,OAAO,CAACM,aAAa,EAAED,YAAYJ,SAASZ;QACxD;IACF,GAAG;QAACC;QAAkBL;QAAWC;QAAUC;QAAmBE;KAAI;IAElE,IAAIF,sBAAsB,UAAU;QAClC,qBACE,KAACoB;YACCC,WAAW;gBACT5B;gBACAW,cAAcA,eAAe,gBAAgB,CAAC,EAAEX,UAAU,gBAAgB,CAAC;aAC5E,CACE6B,MAAM,CAACC,SACPC,IAAI,CAAC;sBAER,cAAA,MAACJ;gBAAIC,WAAW,CAAC,EAAE5B,UAAU,SAAS,CAAC;;kCACrC,KAACD;wBAAoB,GAAGG,KAAK;;kCAC7B,KAACyB;wBAAIC,WAAW,CAAC,EAAE5B,UAAU,MAAM,CAAC;kCAClC,cAAA,KAACH;sCACEY,oBACC,KAACX;gCAAOkC,KAAK3B;gCAAWG,oBAAoBA;gCAAoBC,KAAKA;+CAErE,KAACnB;gCAAc2C,QAAO;;;;;;;IAOpC;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/views/LivePreview/Preview/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport { ShimmerEffect, useAllFormFields, useDocumentEvents } from '@payloadcms/ui'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\nimport { DeviceContainer } from '../Device/index.js'\nimport { IFrame } from '../IFrame/index.js'\nimport { LivePreviewToolbar } from '../Toolbar/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-window'\n\nexport const LivePreview: React.FC<EditViewProps> = (props) => {\n const {\n appIsReady,\n iframeHasLoaded,\n iframeRef,\n popupRef,\n previewWindowType,\n setIframeHasLoaded,\n url,\n } = useLivePreviewContext()\n\n const { mostRecentUpdate } = useDocumentEvents()\n\n const { breakpoint, fieldSchemaJSON } = useLivePreviewContext()\n\n const prevWindowType =\n React.useRef<ReturnType<typeof useLivePreviewContext>['previewWindowType']>(undefined)\n\n const [fields] = useAllFormFields()\n\n // For client-side apps, send data through `window.postMessage`\n // The preview could either be an iframe embedded on the page\n // Or it could be a separate popup window\n // We need to transmit data to both accordingly\n useEffect(() => {\n // For performance, do no reduce fields to values until after the iframe or popup has loaded\n if (fields && window && 'postMessage' in window && appIsReady) {\n const values = reduceFieldsToValues(fields, true)\n\n // To reduce on large `postMessage` payloads, only send `fieldSchemaToJSON` one time\n // To do this, the underlying JS function maintains a cache of this value\n // So we need to send it through each time the window type changes\n // But only once per window type change, not on every render, because this is a potentially large obj\n const shouldSendSchema =\n !prevWindowType.current || prevWindowType.current !== previewWindowType\n\n prevWindowType.current = previewWindowType\n\n const message = {\n type: 'payload-live-preview',\n data: values,\n externallyUpdatedRelationship: mostRecentUpdate,\n fieldSchemaJSON: shouldSendSchema ? fieldSchemaJSON : undefined,\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }\n }, [\n fields,\n url,\n iframeHasLoaded,\n previewWindowType,\n popupRef,\n appIsReady,\n iframeRef,\n setIframeHasLoaded,\n fieldSchemaJSON,\n mostRecentUpdate,\n ])\n\n // To support SSR, we transmit a `window.postMessage` event without a payload\n // This is because the event will ultimately trigger a server-side roundtrip\n // i.e., save, save draft, autosave, etc. will fire `router.refresh()`\n useEffect(() => {\n const message = {\n type: 'payload-document-event',\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }, [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url])\n\n if (previewWindowType === 'iframe') {\n return (\n <div\n className={[\n baseClass,\n breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__wrapper`}>\n <LivePreviewToolbar {...props} />\n <div className={`${baseClass}__main`}>\n <DeviceContainer>\n {url ? (\n <IFrame ref={iframeRef} setIframeHasLoaded={setIframeHasLoaded} url={url} />\n ) : (\n <ShimmerEffect height=\"100%\" />\n )}\n </DeviceContainer>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"names":["ShimmerEffect","useAllFormFields","useDocumentEvents","reduceFieldsToValues","React","useEffect","useLivePreviewContext","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreview","props","appIsReady","iframeHasLoaded","iframeRef","popupRef","previewWindowType","setIframeHasLoaded","url","mostRecentUpdate","breakpoint","fieldSchemaJSON","prevWindowType","useRef","undefined","fields","window","values","shouldSendSchema","current","message","type","data","externallyUpdatedRelationship","postMessage","contentWindow","div","className","filter","Boolean","join","ref","height"],"mappings":"AAAA;;AAIA,SAASA,aAAa,EAAEC,gBAAgB,EAAEC,iBAAiB,QAAQ,iBAAgB;AACnF,SAASC,oBAAoB,QAAQ,iBAAgB;AACrD,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAExC,SAASC,qBAAqB,QAAQ,wBAAuB;AAC7D,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,kBAAkB,QAAQ,sBAAqB;AAGxD,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAuC,CAACC;IACnD,MAAM,EACJC,UAAU,EACVC,eAAe,EACfC,SAAS,EACTC,QAAQ,EACRC,iBAAiB,EACjBC,kBAAkB,EAClBC,GAAG,EACJ,GAAGb;IAEJ,MAAM,EAAEc,gBAAgB,EAAE,GAAGlB;IAE7B,MAAM,EAAEmB,UAAU,EAAEC,eAAe,EAAE,GAAGhB;IAExC,MAAMiB,iBACJnB,MAAMoB,MAAM,CAAgEC;IAE9E,MAAM,CAACC,OAAO,GAAGzB;IAEjB,+DAA+D;IAC/D,6DAA6D;IAC7D,yCAAyC;IACzC,+CAA+C;IAC/CI,UAAU;QACR,4FAA4F;QAC5F,IAAIqB,UAAUC,UAAU,iBAAiBA,UAAUd,YAAY;YAC7D,MAAMe,SAASzB,qBAAqBuB,QAAQ;YAE5C,oFAAoF;YACpF,yEAAyE;YACzE,kEAAkE;YAClE,qGAAqG;YACrG,MAAMG,mBACJ,CAACN,eAAeO,OAAO,IAAIP,eAAeO,OAAO,KAAKb;YAExDM,eAAeO,OAAO,GAAGb;YAEzB,MAAMc,UAAU;gBACdC,MAAM;gBACNC,MAAML;gBACNM,+BAA+Bd;gBAC/BE,iBAAiBO,mBAAmBP,kBAAkBG;YACxD;YAEA,wCAAwC;YACxC,IAAIR,sBAAsB,WAAWD,SAASc,OAAO,EAAE;gBACrDd,SAASc,OAAO,CAACK,WAAW,CAACJ,SAASZ;YACxC;YAEA,kCAAkC;YAClC,IAAIF,sBAAsB,YAAYF,UAAUe,OAAO,EAAE;gBACvDf,UAAUe,OAAO,CAACM,aAAa,EAAED,YAAYJ,SAASZ;YACxD;QACF;IACF,GAAG;QACDO;QACAP;QACAL;QACAG;QACAD;QACAH;QACAE;QACAG;QACAI;QACAF;KACD;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,sEAAsE;IACtEf,UAAU;QACR,MAAM0B,UAAU;YACdC,MAAM;QACR;QAEA,wCAAwC;QACxC,IAAIf,sBAAsB,WAAWD,SAASc,OAAO,EAAE;YACrDd,SAASc,OAAO,CAACK,WAAW,CAACJ,SAASZ;QACxC;QAEA,kCAAkC;QAClC,IAAIF,sBAAsB,YAAYF,UAAUe,OAAO,EAAE;YACvDf,UAAUe,OAAO,CAACM,aAAa,EAAED,YAAYJ,SAASZ;QACxD;IACF,GAAG;QAACC;QAAkBL;QAAWC;QAAUC;QAAmBE;KAAI;IAElE,IAAIF,sBAAsB,UAAU;QAClC,qBACE,KAACoB;YACCC,WAAW;gBACT5B;gBACAW,cAAcA,eAAe,gBAAgB,CAAC,EAAEX,UAAU,gBAAgB,CAAC;aAC5E,CACE6B,MAAM,CAACC,SACPC,IAAI,CAAC;sBAER,cAAA,MAACJ;gBAAIC,WAAW,CAAC,EAAE5B,UAAU,SAAS,CAAC;;kCACrC,KAACD;wBAAoB,GAAGG,KAAK;;kCAC7B,KAACyB;wBAAIC,WAAW,CAAC,EAAE5B,UAAU,MAAM,CAAC;kCAClC,cAAA,KAACH;sCACEY,oBACC,KAACX;gCAAOkC,KAAK3B;gCAAWG,oBAAoBA;gCAAoBC,KAAKA;+CAErE,KAACnB;gCAAc2C,QAAO;;;;;;;IAOpC;AACF,EAAC"}
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { ReactSelect, fieldBaseClass, useConfig, useDocumentInfo, useTranslation } from '@payloadcms/ui';
4
4
  import { formatDate } from '@payloadcms/ui/shared';
5
- import qs from 'qs';
5
+ import * as qs from 'qs-esm';
6
6
  import React, { useCallback, useEffect, useState } from 'react';
7
7
  import { mostRecentVersionOption, publishedVersionOption } from '../shared.js';
8
8
  const baseClass = 'compare-version';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport {\n ReactSelect,\n fieldBaseClass,\n useConfig,\n useDocumentInfo,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport qs from 'qs'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { mostRecentVersionOption, publishedVersionOption } from '../shared.js'\nimport './index.scss'\n\nconst baseClass = 'compare-version'\n\nconst maxResultsPerRequest = 10\n\nconst baseOptions = [mostRecentVersionOption]\n\nexport const SelectComparison: React.FC<Props> = (props) => {\n const { baseURL, onChange, parentID, publishedDoc, value, versionID } = props\n\n const {\n admin: { dateFormat },\n } = useConfig()\n\n const { docConfig } = useDocumentInfo()\n const [options, setOptions] = useState(baseOptions)\n const [lastLoadedPage, setLastLoadedPage] = useState(1)\n const [errorLoading, setErrorLoading] = useState('')\n const { i18n, t } = useTranslation()\n const loadedAllOptionsRef = React.useRef(false)\n\n const getResults = useCallback(\n async ({ lastLoadedPage: lastLoadedPageArg }) => {\n if (loadedAllOptionsRef.current) return\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: lastLoadedPageArg,\n where: {\n and: [\n {\n id: {\n not_equals: versionID,\n },\n },\n ],\n },\n }\n\n if (docConfig.versions?.drafts) {\n query.where.and.push({\n latest: {\n not_equals: true,\n },\n })\n }\n\n if (parentID) {\n query.where.and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n\n const search = qs.stringify(query)\n\n const response = await fetch(`${baseURL}?${search}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n setOptions((existingOptions) => [\n ...existingOptions,\n ...data.docs.map((doc) => ({\n label: formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat }),\n value: doc.id,\n })),\n ])\n\n if (!data.hasNextPage) {\n loadedAllOptionsRef.current = true\n }\n setLastLoadedPage(data.page)\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n },\n [dateFormat, baseURL, parentID, versionID, t, i18n, docConfig.versions?.drafts],\n )\n\n useEffect(() => {\n void getResults({ lastLoadedPage: 1 })\n }, [getResults])\n\n return (\n <div\n className={[fieldBaseClass, baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__label`}>{t('version:compareVersion')}</div>\n {!errorLoading && (\n <ReactSelect\n isClearable={false}\n isSearchable={false}\n onChange={onChange}\n onMenuScrollToBottom={() => {\n void getResults({ lastLoadedPage: lastLoadedPage + 1 })\n }}\n options={[\n ...(publishedDoc?._status === 'published' ? [publishedVersionOption] : []),\n ...options,\n ]}\n placeholder={t('version:selectVersionToCompare')}\n value={value}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"names":["ReactSelect","fieldBaseClass","useConfig","useDocumentInfo","useTranslation","formatDate","qs","React","useCallback","useEffect","useState","mostRecentVersionOption","publishedVersionOption","baseClass","maxResultsPerRequest","baseOptions","SelectComparison","props","baseURL","onChange","parentID","publishedDoc","value","versionID","admin","dateFormat","docConfig","options","setOptions","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","i18n","t","loadedAllOptionsRef","useRef","getResults","lastLoadedPageArg","current","query","depth","limit","page","where","and","id","not_equals","versions","drafts","push","latest","parent","equals","search","stringify","response","fetch","credentials","headers","language","ok","data","json","docs","length","existingOptions","map","doc","label","date","updatedAt","pattern","hasNextPage","div","className","filter","Boolean","join","isClearable","isSearchable","onMenuScrollToBottom","_status","placeholder"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport {\n ReactSelect,\n fieldBaseClass,\n useConfig,\n useDocumentInfo,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { mostRecentVersionOption, publishedVersionOption } from '../shared.js'\nimport './index.scss'\n\nconst baseClass = 'compare-version'\n\nconst maxResultsPerRequest = 10\n\nconst baseOptions = [mostRecentVersionOption]\n\nexport const SelectComparison: React.FC<Props> = (props) => {\n const { baseURL, onChange, parentID, publishedDoc, value, versionID } = props\n\n const {\n admin: { dateFormat },\n } = useConfig()\n\n const { docConfig } = useDocumentInfo()\n const [options, setOptions] = useState(baseOptions)\n const [lastLoadedPage, setLastLoadedPage] = useState(1)\n const [errorLoading, setErrorLoading] = useState('')\n const { i18n, t } = useTranslation()\n const loadedAllOptionsRef = React.useRef(false)\n\n const getResults = useCallback(\n async ({ lastLoadedPage: lastLoadedPageArg }) => {\n if (loadedAllOptionsRef.current) return\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: lastLoadedPageArg,\n where: {\n and: [\n {\n id: {\n not_equals: versionID,\n },\n },\n ],\n },\n }\n\n if (docConfig.versions?.drafts) {\n query.where.and.push({\n latest: {\n not_equals: true,\n },\n })\n }\n\n if (parentID) {\n query.where.and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n\n const search = qs.stringify(query)\n\n const response = await fetch(`${baseURL}?${search}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n setOptions((existingOptions) => [\n ...existingOptions,\n ...data.docs.map((doc) => ({\n label: formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat }),\n value: doc.id,\n })),\n ])\n\n if (!data.hasNextPage) {\n loadedAllOptionsRef.current = true\n }\n setLastLoadedPage(data.page)\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n },\n [dateFormat, baseURL, parentID, versionID, t, i18n, docConfig.versions?.drafts],\n )\n\n useEffect(() => {\n void getResults({ lastLoadedPage: 1 })\n }, [getResults])\n\n return (\n <div\n className={[fieldBaseClass, baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__label`}>{t('version:compareVersion')}</div>\n {!errorLoading && (\n <ReactSelect\n isClearable={false}\n isSearchable={false}\n onChange={onChange}\n onMenuScrollToBottom={() => {\n void getResults({ lastLoadedPage: lastLoadedPage + 1 })\n }}\n options={[\n ...(publishedDoc?._status === 'published' ? [publishedVersionOption] : []),\n ...options,\n ]}\n placeholder={t('version:selectVersionToCompare')}\n value={value}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"names":["ReactSelect","fieldBaseClass","useConfig","useDocumentInfo","useTranslation","formatDate","qs","React","useCallback","useEffect","useState","mostRecentVersionOption","publishedVersionOption","baseClass","maxResultsPerRequest","baseOptions","SelectComparison","props","baseURL","onChange","parentID","publishedDoc","value","versionID","admin","dateFormat","docConfig","options","setOptions","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","i18n","t","loadedAllOptionsRef","useRef","getResults","lastLoadedPageArg","current","query","depth","limit","page","where","and","id","not_equals","versions","drafts","push","latest","parent","equals","search","stringify","response","fetch","credentials","headers","language","ok","data","json","docs","length","existingOptions","map","doc","label","date","updatedAt","pattern","hasNextPage","div","className","filter","Boolean","join","isClearable","isSearchable","onMenuScrollToBottom","_status","placeholder"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.0.0-beta.59",
3
+ "version": "3.0.0-beta.60",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -57,14 +57,14 @@
57
57
  "graphql-playground-html": "1.6.30",
58
58
  "http-status": "1.6.2",
59
59
  "path-to-regexp": "^6.2.1",
60
- "qs": "6.12.1",
60
+ "qs-esm": "7.0.2",
61
61
  "react-diff-viewer-continued": "3.2.6",
62
62
  "sass": "1.77.4",
63
63
  "sonner": "^1.5.0",
64
64
  "ws": "^8.16.0",
65
- "@payloadcms/graphql": "3.0.0-beta.59",
66
- "@payloadcms/translations": "3.0.0-beta.59",
67
- "@payloadcms/ui": "3.0.0-beta.59"
65
+ "@payloadcms/graphql": "3.0.0-beta.60",
66
+ "@payloadcms/translations": "3.0.0-beta.60",
67
+ "@payloadcms/ui": "3.0.0-beta.60"
68
68
  },
69
69
  "devDependencies": {
70
70
  "@next/eslint-plugin-next": "^14.1.0",
@@ -83,13 +83,13 @@
83
83
  "terser-webpack-plugin": "^5.3.10",
84
84
  "webpack": "^5.78.0",
85
85
  "webpack-cli": "^5.1.4",
86
- "payload": "3.0.0-beta.59",
87
- "@payloadcms/eslint-config": "1.1.1"
86
+ "@payloadcms/eslint-config": "3.0.0-beta.59",
87
+ "payload": "3.0.0-beta.60"
88
88
  },
89
89
  "peerDependencies": {
90
90
  "graphql": "^16.8.1",
91
91
  "next": "^15.0.0-canary.53",
92
- "payload": "3.0.0-beta.59"
92
+ "payload": "3.0.0-beta.60"
93
93
  },
94
94
  "engines": {
95
95
  "node": "^18.20.2 || >=20.9.0"