@payloadcms/next 3.0.0-beta.1 → 3.0.0-beta.11

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 (94) hide show
  1. package/dist/cjs/withPayload.cjs +11 -3
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/exports/utilities.d.ts +1 -0
  4. package/dist/exports/utilities.d.ts.map +1 -1
  5. package/dist/exports/utilities.js +1 -0
  6. package/dist/exports/utilities.js.map +1 -1
  7. package/dist/layouts/Root/index.d.ts.map +1 -1
  8. package/dist/layouts/Root/index.js +23 -1
  9. package/dist/layouts/Root/index.js.map +1 -1
  10. package/dist/prod/styles.css +1 -1
  11. package/dist/routes/rest/auth/logout.js +1 -1
  12. package/dist/routes/rest/auth/logout.js.map +1 -1
  13. package/dist/routes/rest/buildFormState.d.ts.map +1 -1
  14. package/dist/routes/rest/buildFormState.js +5 -1
  15. package/dist/routes/rest/buildFormState.js.map +1 -1
  16. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  17. package/dist/routes/rest/collections/deleteByID.js +7 -1
  18. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  19. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  20. package/dist/routes/rest/collections/duplicate.js +7 -1
  21. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  22. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  23. package/dist/routes/rest/collections/findByID.js +7 -1
  24. package/dist/routes/rest/collections/findByID.js.map +1 -1
  25. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  26. package/dist/routes/rest/collections/findVersionByID.js +7 -1
  27. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  28. package/dist/routes/rest/collections/preview.d.ts.map +1 -1
  29. package/dist/routes/rest/collections/preview.js +4 -1
  30. package/dist/routes/rest/collections/preview.js.map +1 -1
  31. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  32. package/dist/routes/rest/collections/restoreVersion.js +7 -1
  33. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  34. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  35. package/dist/routes/rest/collections/updateByID.js +7 -1
  36. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  37. package/dist/routes/rest/globals/preview.d.ts.map +1 -1
  38. package/dist/routes/rest/globals/preview.js +4 -1
  39. package/dist/routes/rest/globals/preview.js.map +1 -1
  40. package/dist/routes/rest/routeError.d.ts.map +1 -1
  41. package/dist/routes/rest/routeError.js.map +1 -1
  42. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts +9 -0
  43. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -0
  44. package/dist/routes/rest/utilities/sanitizeCollectionID.js +13 -0
  45. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -0
  46. package/dist/scss/app.scss +2 -3
  47. package/dist/scss/vars.scss +0 -7
  48. package/dist/utilities/getDataAndFile.d.ts.map +1 -1
  49. package/dist/utilities/getDataAndFile.js +5 -1
  50. package/dist/utilities/getDataAndFile.js.map +1 -1
  51. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  52. package/dist/utilities/getPayloadHMR.js +2 -1
  53. package/dist/utilities/getPayloadHMR.js.map +1 -1
  54. package/dist/views/API/index.client.js +2 -2
  55. package/dist/views/API/index.client.js.map +1 -1
  56. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  57. package/dist/views/CreateFirstUser/index.js +10 -1
  58. package/dist/views/CreateFirstUser/index.js.map +1 -1
  59. package/dist/views/Edit/Default/{SetStepNav → SetDocumentStepNav}/index.d.ts +1 -1
  60. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -0
  61. package/dist/views/Edit/Default/{SetStepNav → SetDocumentStepNav}/index.js +12 -5
  62. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -0
  63. package/dist/views/Edit/Default/index.js +2 -2
  64. package/dist/views/Edit/Default/index.js.map +1 -1
  65. package/dist/views/List/index.js +2 -2
  66. package/dist/views/List/index.js.map +1 -1
  67. package/dist/views/LivePreview/index.client.js +2 -2
  68. package/dist/views/LivePreview/index.client.js.map +1 -1
  69. package/dist/views/Versions/index.js +2 -2
  70. package/dist/views/Versions/index.js.map +1 -1
  71. package/dist/withPayload.d.ts +1 -6
  72. package/dist/withPayload.d.ts.map +1 -1
  73. package/dist/withPayload.js +1 -1
  74. package/dist/withPayload.js.map +1 -1
  75. package/package.json +8 -8
  76. package/dist/prod/payload/SuisseIntl-Bold.woff +0 -0
  77. package/dist/prod/payload/SuisseIntl-Bold.woff2 +0 -0
  78. package/dist/prod/payload/SuisseIntl-Medium.woff +0 -0
  79. package/dist/prod/payload/SuisseIntl-Medium.woff2 +0 -0
  80. package/dist/prod/payload/SuisseIntl-SemiBold.woff +0 -0
  81. package/dist/prod/payload/SuisseIntl-SemiBold.woff2 +0 -0
  82. package/dist/prod/payload/SuisseIntl.woff +0 -0
  83. package/dist/prod/payload/SuisseIntl.woff2 +0 -0
  84. package/dist/prod/payload/merriweather-v30-latin-900.woff +0 -0
  85. package/dist/prod/payload/merriweather-v30-latin-900.woff2 +0 -0
  86. package/dist/prod/payload/merriweather-v30-latin-900italic.woff +0 -0
  87. package/dist/prod/payload/merriweather-v30-latin-900italic.woff2 +0 -0
  88. package/dist/prod/payload/merriweather-v30-latin-italic.woff +0 -0
  89. package/dist/prod/payload/merriweather-v30-latin-italic.woff2 +0 -0
  90. package/dist/prod/payload/merriweather-v30-latin-regular.woff +0 -0
  91. package/dist/prod/payload/merriweather-v30-latin-regular.woff2 +0 -0
  92. package/dist/scss/fonts.scss +0 -75
  93. package/dist/views/Edit/Default/SetStepNav/index.d.ts.map +0 -1
  94. package/dist/views/Edit/Default/SetStepNav/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getDataAndFile.ts"],"sourcesContent":["import type { Collection, CustomPayloadRequest, SanitizedConfig } from 'payload/types'\n\nimport { nextFileUpload } from '../next-fileupload/index.js'\n\ntype GetDataAndFile = (args: {\n collection: Collection\n config: SanitizedConfig\n request: Request\n}) => Promise<{\n data: Record<string, any>\n file: CustomPayloadRequest['file']\n}>\nexport const getDataAndFile: GetDataAndFile = async ({ collection, config, request }) => {\n let data: Record<string, any> = undefined\n let file: CustomPayloadRequest['file'] = undefined\n\n if (['PATCH', 'POST', 'PUT'].includes(request.method.toUpperCase()) && request.body) {\n const [contentType] = (request.headers.get('Content-Type') || '').split(';')\n\n if (contentType === 'application/json') {\n data = await request.json()\n } else if (contentType === 'multipart/form-data') {\n // possible upload request\n if (collection?.config?.upload) {\n // load file in memory\n if (!config.upload?.useTempFiles) {\n const formData = await request.formData()\n const formFile = formData.get('file')\n\n if (formFile instanceof Blob) {\n const bytes = await formFile.arrayBuffer()\n const buffer = Buffer.from(bytes)\n\n file = {\n name: formFile.name,\n data: buffer,\n mimetype: formFile.type,\n size: formFile.size,\n }\n }\n\n const payloadData = formData.get('_payload')\n\n if (typeof payloadData === 'string') {\n data = JSON.parse(payloadData)\n }\n } else {\n // store temp file on disk\n const { error, fields, files } = await nextFileUpload({\n options: config.upload as any,\n request,\n })\n\n if (error) {\n throw new Error(error.message)\n }\n\n if (files?.file) file = files.file\n\n if (fields?._payload && typeof fields._payload === 'string') {\n data = JSON.parse(fields._payload)\n }\n }\n } else {\n // non upload request\n const formData = await request.formData()\n const payloadData = formData.get('_payload')\n\n if (typeof payloadData === 'string') {\n data = JSON.parse(payloadData)\n }\n }\n }\n }\n\n return {\n data,\n file,\n }\n}\n"],"names":["nextFileUpload","getDataAndFile","collection","config","request","data","undefined","file","includes","method","toUpperCase","body","contentType","headers","get","split","json","upload","useTempFiles","formData","formFile","Blob","bytes","arrayBuffer","buffer","Buffer","from","name","mimetype","type","size","payloadData","JSON","parse","error","fields","files","options","Error","message","_payload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,cAAc,QAAQ,8BAA6B;AAU5D,OAAO,MAAMC,iBAAiC,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,EAAE;IAClF,IAAIC,OAA4BC;IAChC,IAAIC,OAAqCD;IAEzC,IAAI;QAAC;QAAS;QAAQ;KAAM,CAACE,QAAQ,CAACJ,QAAQK,MAAM,CAACC,WAAW,OAAON,QAAQO,IAAI,EAAE;QACnF,MAAM,CAACC,YAAY,GAAG,AAACR,CAAAA,QAAQS,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAC,EAAGC,KAAK,CAAC;QAExE,IAAIH,gBAAgB,oBAAoB;YACtCP,OAAO,MAAMD,QAAQY,IAAI;QAC3B,OAAO,IAAIJ,gBAAgB,uBAAuB;YAChD,0BAA0B;YAC1B,IAAIV,YAAYC,QAAQc,QAAQ;gBAC9B,sBAAsB;gBACtB,IAAI,CAACd,OAAOc,MAAM,EAAEC,cAAc;oBAChC,MAAMC,WAAW,MAAMf,QAAQe,QAAQ;oBACvC,MAAMC,WAAWD,SAASL,GAAG,CAAC;oBAE9B,IAAIM,oBAAoBC,MAAM;wBAC5B,MAAMC,QAAQ,MAAMF,SAASG,WAAW;wBACxC,MAAMC,SAASC,OAAOC,IAAI,CAACJ;wBAE3Bf,OAAO;4BACLoB,MAAMP,SAASO,IAAI;4BACnBtB,MAAMmB;4BACNI,UAAUR,SAASS,IAAI;4BACvBC,MAAMV,SAASU,IAAI;wBACrB;oBACF;oBAEA,MAAMC,cAAcZ,SAASL,GAAG,CAAC;oBAEjC,IAAI,OAAOiB,gBAAgB,UAAU;wBACnC1B,OAAO2B,KAAKC,KAAK,CAACF;oBACpB;gBACF,OAAO;oBACL,0BAA0B;oBAC1B,MAAM,EAAEG,KAAK,EAAEC,MAAM,EAAEC,KAAK,EAAE,GAAG,MAAMpC,eAAe;wBACpDqC,SAASlC,OAAOc,MAAM;wBACtBb;oBACF;oBAEA,IAAI8B,OAAO;wBACT,MAAM,IAAII,MAAMJ,MAAMK,OAAO;oBAC/B;oBAEA,IAAIH,OAAO7B,MAAMA,OAAO6B,MAAM7B,IAAI;oBAElC,IAAI4B,QAAQK,YAAY,OAAOL,OAAOK,QAAQ,KAAK,UAAU;wBAC3DnC,OAAO2B,KAAKC,KAAK,CAACE,OAAOK,QAAQ;oBACnC;gBACF;YACF,OAAO;gBACL,qBAAqB;gBACrB,MAAMrB,WAAW,MAAMf,QAAQe,QAAQ;gBACvC,MAAMY,cAAcZ,SAASL,GAAG,CAAC;gBAEjC,IAAI,OAAOiB,gBAAgB,UAAU;oBACnC1B,OAAO2B,KAAKC,KAAK,CAACF;gBACpB;YACF;QACF;IACF;IAEA,OAAO;QACL1B;QACAE;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/getDataAndFile.ts"],"sourcesContent":["import type { Collection, CustomPayloadRequest, SanitizedConfig } from 'payload/types'\n\nimport { nextFileUpload } from '../next-fileupload/index.js'\n\ntype GetDataAndFile = (args: {\n collection: Collection\n config: SanitizedConfig\n request: Request\n}) => Promise<{\n data: Record<string, any>\n file: CustomPayloadRequest['file']\n}>\nexport const getDataAndFile: GetDataAndFile = async ({ collection, config, request }) => {\n let data: Record<string, any> = undefined\n let file: CustomPayloadRequest['file'] = undefined\n\n if (['PATCH', 'POST', 'PUT'].includes(request.method.toUpperCase()) && request.body) {\n const [contentType] = (request.headers.get('Content-Type') || '').split(';')\n\n if (contentType === 'application/json') {\n try {\n data = await request.json()\n } catch (error) {\n data = {}\n }\n } else if (contentType === 'multipart/form-data') {\n // possible upload request\n if (collection?.config?.upload) {\n // load file in memory\n if (!config.upload?.useTempFiles) {\n const formData = await request.formData()\n const formFile = formData.get('file')\n\n if (formFile instanceof Blob) {\n const bytes = await formFile.arrayBuffer()\n const buffer = Buffer.from(bytes)\n\n file = {\n name: formFile.name,\n data: buffer,\n mimetype: formFile.type,\n size: formFile.size,\n }\n }\n\n const payloadData = formData.get('_payload')\n\n if (typeof payloadData === 'string') {\n data = JSON.parse(payloadData)\n }\n } else {\n // store temp file on disk\n const { error, fields, files } = await nextFileUpload({\n options: config.upload as any,\n request,\n })\n\n if (error) {\n throw new Error(error.message)\n }\n\n if (files?.file) file = files.file\n\n if (fields?._payload && typeof fields._payload === 'string') {\n data = JSON.parse(fields._payload)\n }\n }\n } else {\n // non upload request\n const formData = await request.formData()\n const payloadData = formData.get('_payload')\n\n if (typeof payloadData === 'string') {\n data = JSON.parse(payloadData)\n }\n }\n }\n }\n\n return {\n data,\n file,\n }\n}\n"],"names":["nextFileUpload","getDataAndFile","collection","config","request","data","undefined","file","includes","method","toUpperCase","body","contentType","headers","get","split","json","error","upload","useTempFiles","formData","formFile","Blob","bytes","arrayBuffer","buffer","Buffer","from","name","mimetype","type","size","payloadData","JSON","parse","fields","files","options","Error","message","_payload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,cAAc,QAAQ,8BAA6B;AAU5D,OAAO,MAAMC,iBAAiC,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,EAAE;IAClF,IAAIC,OAA4BC;IAChC,IAAIC,OAAqCD;IAEzC,IAAI;QAAC;QAAS;QAAQ;KAAM,CAACE,QAAQ,CAACJ,QAAQK,MAAM,CAACC,WAAW,OAAON,QAAQO,IAAI,EAAE;QACnF,MAAM,CAACC,YAAY,GAAG,AAACR,CAAAA,QAAQS,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAC,EAAGC,KAAK,CAAC;QAExE,IAAIH,gBAAgB,oBAAoB;YACtC,IAAI;gBACFP,OAAO,MAAMD,QAAQY,IAAI;YAC3B,EAAE,OAAOC,OAAO;gBACdZ,OAAO,CAAC;YACV;QACF,OAAO,IAAIO,gBAAgB,uBAAuB;YAChD,0BAA0B;YAC1B,IAAIV,YAAYC,QAAQe,QAAQ;gBAC9B,sBAAsB;gBACtB,IAAI,CAACf,OAAOe,MAAM,EAAEC,cAAc;oBAChC,MAAMC,WAAW,MAAMhB,QAAQgB,QAAQ;oBACvC,MAAMC,WAAWD,SAASN,GAAG,CAAC;oBAE9B,IAAIO,oBAAoBC,MAAM;wBAC5B,MAAMC,QAAQ,MAAMF,SAASG,WAAW;wBACxC,MAAMC,SAASC,OAAOC,IAAI,CAACJ;wBAE3BhB,OAAO;4BACLqB,MAAMP,SAASO,IAAI;4BACnBvB,MAAMoB;4BACNI,UAAUR,SAASS,IAAI;4BACvBC,MAAMV,SAASU,IAAI;wBACrB;oBACF;oBAEA,MAAMC,cAAcZ,SAASN,GAAG,CAAC;oBAEjC,IAAI,OAAOkB,gBAAgB,UAAU;wBACnC3B,OAAO4B,KAAKC,KAAK,CAACF;oBACpB;gBACF,OAAO;oBACL,0BAA0B;oBAC1B,MAAM,EAAEf,KAAK,EAAEkB,MAAM,EAAEC,KAAK,EAAE,GAAG,MAAMpC,eAAe;wBACpDqC,SAASlC,OAAOe,MAAM;wBACtBd;oBACF;oBAEA,IAAIa,OAAO;wBACT,MAAM,IAAIqB,MAAMrB,MAAMsB,OAAO;oBAC/B;oBAEA,IAAIH,OAAO7B,MAAMA,OAAO6B,MAAM7B,IAAI;oBAElC,IAAI4B,QAAQK,YAAY,OAAOL,OAAOK,QAAQ,KAAK,UAAU;wBAC3DnC,OAAO4B,KAAKC,KAAK,CAACC,OAAOK,QAAQ;oBACnC;gBACF;YACF,OAAO;gBACL,qBAAqB;gBACrB,MAAMpB,WAAW,MAAMhB,QAAQgB,QAAQ;gBACvC,MAAMY,cAAcZ,SAASN,GAAG,CAAC;gBAEjC,IAAI,OAAOkB,gBAAgB,UAAU;oBACnC3B,OAAO4B,KAAKC,KAAK,CAACF;gBACpB;YACF;QACF;IACF;IAEA,OAAO;QACL3B;QACAE;IACF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPayloadHMR.d.ts","sourceRoot":"","sources":["../../src/utilities/getPayloadHMR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,OAAO,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAgBjD,eAAO,MAAM,aAAa,YAAmB,WAAW,KAAG,QAAQ,OAAO,CA6EzE,CAAA"}
1
+ {"version":3,"file":"getPayloadHMR.d.ts","sourceRoot":"","sources":["../../src/utilities/getPayloadHMR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,OAAO,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAgBjD,eAAO,MAAM,aAAa,YAAmB,WAAW,KAAG,QAAQ,OAAO,CAgFzE,CAAA"}
@@ -25,7 +25,8 @@ export const getPayloadHMR = async (options)=>{
25
25
  cached.payload.config = config;
26
26
  cached.payload.collections = config.collections.reduce((collections, collection)=>{
27
27
  collections[collection.slug] = {
28
- config: collection
28
+ config: collection,
29
+ customIDType: cached.payload.collections[collection.slug]?.customIDType
29
30
  };
30
31
  return collections;
31
32
  }, {});
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getPayloadHMR.ts"],"sourcesContent":["import type { GeneratedTypes, Payload } from 'payload'\nimport type { InitOptions } from 'payload/config'\n\nimport { BasePayload } from 'payload'\nimport WebSocket from 'ws'\n\nlet cached: {\n payload: Payload | null\n promise: Promise<Payload> | null\n reload: Promise<boolean> | boolean\n} = global._payload\n\nif (!cached) {\n // eslint-disable-next-line no-multi-assign\n cached = global._payload = { payload: null, promise: null, reload: false }\n}\n\nexport const getPayloadHMR = async (options: InitOptions): Promise<Payload> => {\n if (!options?.config) {\n throw new Error('Error: the payload config is required for getPayload to work.')\n }\n\n if (cached.payload) {\n const config = await options.config // TODO: check if we can move this inside the cached.reload === true condition\n\n if (cached.reload === true) {\n let resolve\n\n cached.reload = new Promise((res) => (resolve = res))\n\n if (typeof cached.payload.db.destroy === 'function') {\n await cached.payload.db.destroy()\n }\n\n cached.payload.config = config\n\n cached.payload.collections = config.collections.reduce((collections, collection) => {\n collections[collection.slug] = { config: collection }\n return collections\n }, {})\n\n cached.payload.globals = {\n config: config.globals,\n }\n\n // TODO: support HMR for other props in the future (see payload/src/index init()) hat may change on Payload singleton\n\n await cached.payload.db.init()\n await cached.payload.db.connect({ hotReload: true })\n resolve()\n }\n\n if (cached.reload instanceof Promise) {\n await cached.reload\n }\n\n return cached.payload\n }\n\n if (!cached.promise) {\n cached.promise = new BasePayload<GeneratedTypes>().init(options)\n }\n\n try {\n cached.payload = await cached.promise\n\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n process.env.DISABLE_PAYLOAD_HMR !== 'true'\n ) {\n try {\n const port = process.env.PORT || '3000'\n const ws = new WebSocket(`ws://localhost:${port}/_next/webpack-hmr`)\n\n ws.onmessage = (event) => {\n if (typeof event.data === 'string') {\n const data = JSON.parse(event.data)\n\n if ('action' in data && data.action === 'serverComponentChanges') {\n cached.reload = true\n }\n }\n }\n } catch (_) {\n // swallow e\n }\n }\n } catch (e) {\n cached.promise = null\n throw e\n }\n\n return cached.payload\n}\n"],"names":["BasePayload","WebSocket","cached","global","_payload","payload","promise","reload","getPayloadHMR","options","config","Error","resolve","Promise","res","db","destroy","collections","reduce","collection","slug","globals","init","connect","hotReload","process","env","NODE_ENV","DISABLE_PAYLOAD_HMR","port","PORT","ws","onmessage","event","data","JSON","parse","action","_","e"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,WAAW,QAAQ,UAAS;AACrC,OAAOC,eAAe,KAAI;AAE1B,IAAIC,SAIAC,OAAOC,QAAQ;AAEnB,IAAI,CAACF,QAAQ;IACX,2CAA2C;IAC3CA,SAASC,OAAOC,QAAQ,GAAG;QAAEC,SAAS;QAAMC,SAAS;QAAMC,QAAQ;IAAM;AAC3E;AAEA,OAAO,MAAMC,gBAAgB,OAAOC;IAClC,IAAI,CAACA,SAASC,QAAQ;QACpB,MAAM,IAAIC,MAAM;IAClB;IAEA,IAAIT,OAAOG,OAAO,EAAE;QAClB,MAAMK,SAAS,MAAMD,QAAQC,MAAM,CAAC,8EAA8E;;QAElH,IAAIR,OAAOK,MAAM,KAAK,MAAM;YAC1B,IAAIK;YAEJV,OAAOK,MAAM,GAAG,IAAIM,QAAQ,CAACC,MAASF,UAAUE;YAEhD,IAAI,OAAOZ,OAAOG,OAAO,CAACU,EAAE,CAACC,OAAO,KAAK,YAAY;gBACnD,MAAMd,OAAOG,OAAO,CAACU,EAAE,CAACC,OAAO;YACjC;YAEAd,OAAOG,OAAO,CAACK,MAAM,GAAGA;YAExBR,OAAOG,OAAO,CAACY,WAAW,GAAGP,OAAOO,WAAW,CAACC,MAAM,CAAC,CAACD,aAAaE;gBACnEF,WAAW,CAACE,WAAWC,IAAI,CAAC,GAAG;oBAAEV,QAAQS;gBAAW;gBACpD,OAAOF;YACT,GAAG,CAAC;YAEJf,OAAOG,OAAO,CAACgB,OAAO,GAAG;gBACvBX,QAAQA,OAAOW,OAAO;YACxB;YAEA,qHAAqH;YAErH,MAAMnB,OAAOG,OAAO,CAACU,EAAE,CAACO,IAAI;YAC5B,MAAMpB,OAAOG,OAAO,CAACU,EAAE,CAACQ,OAAO,CAAC;gBAAEC,WAAW;YAAK;YAClDZ;QACF;QAEA,IAAIV,OAAOK,MAAM,YAAYM,SAAS;YACpC,MAAMX,OAAOK,MAAM;QACrB;QAEA,OAAOL,OAAOG,OAAO;IACvB;IAEA,IAAI,CAACH,OAAOI,OAAO,EAAE;QACnBJ,OAAOI,OAAO,GAAG,IAAIN,cAA8BsB,IAAI,CAACb;IAC1D;IAEA,IAAI;QACFP,OAAOG,OAAO,GAAG,MAAMH,OAAOI,OAAO;QAErC,IACEmB,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBACzBF,QAAQC,GAAG,CAACC,QAAQ,KAAK,UACzBF,QAAQC,GAAG,CAACE,mBAAmB,KAAK,QACpC;YACA,IAAI;gBACF,MAAMC,OAAOJ,QAAQC,GAAG,CAACI,IAAI,IAAI;gBACjC,MAAMC,KAAK,IAAI9B,UAAU,CAAC,eAAe,EAAE4B,KAAK,kBAAkB,CAAC;gBAEnEE,GAAGC,SAAS,GAAG,CAACC;oBACd,IAAI,OAAOA,MAAMC,IAAI,KAAK,UAAU;wBAClC,MAAMA,OAAOC,KAAKC,KAAK,CAACH,MAAMC,IAAI;wBAElC,IAAI,YAAYA,QAAQA,KAAKG,MAAM,KAAK,0BAA0B;4BAChEnC,OAAOK,MAAM,GAAG;wBAClB;oBACF;gBACF;YACF,EAAE,OAAO+B,GAAG;YACV,YAAY;YACd;QACF;IACF,EAAE,OAAOC,GAAG;QACVrC,OAAOI,OAAO,GAAG;QACjB,MAAMiC;IACR;IAEA,OAAOrC,OAAOG,OAAO;AACvB,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/getPayloadHMR.ts"],"sourcesContent":["import type { GeneratedTypes, Payload } from 'payload'\nimport type { InitOptions } from 'payload/config'\n\nimport { BasePayload } from 'payload'\nimport WebSocket from 'ws'\n\nlet cached: {\n payload: Payload | null\n promise: Promise<Payload> | null\n reload: Promise<boolean> | boolean\n} = global._payload\n\nif (!cached) {\n // eslint-disable-next-line no-multi-assign\n cached = global._payload = { payload: null, promise: null, reload: false }\n}\n\nexport const getPayloadHMR = async (options: InitOptions): Promise<Payload> => {\n if (!options?.config) {\n throw new Error('Error: the payload config is required for getPayload to work.')\n }\n\n if (cached.payload) {\n const config = await options.config // TODO: check if we can move this inside the cached.reload === true condition\n\n if (cached.reload === true) {\n let resolve\n\n cached.reload = new Promise((res) => (resolve = res))\n\n if (typeof cached.payload.db.destroy === 'function') {\n await cached.payload.db.destroy()\n }\n\n cached.payload.config = config\n\n cached.payload.collections = config.collections.reduce((collections, collection) => {\n collections[collection.slug] = {\n config: collection,\n customIDType: cached.payload.collections[collection.slug]?.customIDType,\n }\n return collections\n }, {})\n\n cached.payload.globals = {\n config: config.globals,\n }\n\n // TODO: support HMR for other props in the future (see payload/src/index init()) hat may change on Payload singleton\n\n await cached.payload.db.init()\n await cached.payload.db.connect({ hotReload: true })\n resolve()\n }\n\n if (cached.reload instanceof Promise) {\n await cached.reload\n }\n\n return cached.payload\n }\n\n if (!cached.promise) {\n cached.promise = new BasePayload<GeneratedTypes>().init(options)\n }\n\n try {\n cached.payload = await cached.promise\n\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n process.env.DISABLE_PAYLOAD_HMR !== 'true'\n ) {\n try {\n const port = process.env.PORT || '3000'\n const ws = new WebSocket(`ws://localhost:${port}/_next/webpack-hmr`)\n\n ws.onmessage = (event) => {\n if (typeof event.data === 'string') {\n const data = JSON.parse(event.data)\n\n if ('action' in data && data.action === 'serverComponentChanges') {\n cached.reload = true\n }\n }\n }\n } catch (_) {\n // swallow e\n }\n }\n } catch (e) {\n cached.promise = null\n throw e\n }\n\n return cached.payload\n}\n"],"names":["BasePayload","WebSocket","cached","global","_payload","payload","promise","reload","getPayloadHMR","options","config","Error","resolve","Promise","res","db","destroy","collections","reduce","collection","slug","customIDType","globals","init","connect","hotReload","process","env","NODE_ENV","DISABLE_PAYLOAD_HMR","port","PORT","ws","onmessage","event","data","JSON","parse","action","_","e"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,WAAW,QAAQ,UAAS;AACrC,OAAOC,eAAe,KAAI;AAE1B,IAAIC,SAIAC,OAAOC,QAAQ;AAEnB,IAAI,CAACF,QAAQ;IACX,2CAA2C;IAC3CA,SAASC,OAAOC,QAAQ,GAAG;QAAEC,SAAS;QAAMC,SAAS;QAAMC,QAAQ;IAAM;AAC3E;AAEA,OAAO,MAAMC,gBAAgB,OAAOC;IAClC,IAAI,CAACA,SAASC,QAAQ;QACpB,MAAM,IAAIC,MAAM;IAClB;IAEA,IAAIT,OAAOG,OAAO,EAAE;QAClB,MAAMK,SAAS,MAAMD,QAAQC,MAAM,CAAC,8EAA8E;;QAElH,IAAIR,OAAOK,MAAM,KAAK,MAAM;YAC1B,IAAIK;YAEJV,OAAOK,MAAM,GAAG,IAAIM,QAAQ,CAACC,MAASF,UAAUE;YAEhD,IAAI,OAAOZ,OAAOG,OAAO,CAACU,EAAE,CAACC,OAAO,KAAK,YAAY;gBACnD,MAAMd,OAAOG,OAAO,CAACU,EAAE,CAACC,OAAO;YACjC;YAEAd,OAAOG,OAAO,CAACK,MAAM,GAAGA;YAExBR,OAAOG,OAAO,CAACY,WAAW,GAAGP,OAAOO,WAAW,CAACC,MAAM,CAAC,CAACD,aAAaE;gBACnEF,WAAW,CAACE,WAAWC,IAAI,CAAC,GAAG;oBAC7BV,QAAQS;oBACRE,cAAcnB,OAAOG,OAAO,CAACY,WAAW,CAACE,WAAWC,IAAI,CAAC,EAAEC;gBAC7D;gBACA,OAAOJ;YACT,GAAG,CAAC;YAEJf,OAAOG,OAAO,CAACiB,OAAO,GAAG;gBACvBZ,QAAQA,OAAOY,OAAO;YACxB;YAEA,qHAAqH;YAErH,MAAMpB,OAAOG,OAAO,CAACU,EAAE,CAACQ,IAAI;YAC5B,MAAMrB,OAAOG,OAAO,CAACU,EAAE,CAACS,OAAO,CAAC;gBAAEC,WAAW;YAAK;YAClDb;QACF;QAEA,IAAIV,OAAOK,MAAM,YAAYM,SAAS;YACpC,MAAMX,OAAOK,MAAM;QACrB;QAEA,OAAOL,OAAOG,OAAO;IACvB;IAEA,IAAI,CAACH,OAAOI,OAAO,EAAE;QACnBJ,OAAOI,OAAO,GAAG,IAAIN,cAA8BuB,IAAI,CAACd;IAC1D;IAEA,IAAI;QACFP,OAAOG,OAAO,GAAG,MAAMH,OAAOI,OAAO;QAErC,IACEoB,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBACzBF,QAAQC,GAAG,CAACC,QAAQ,KAAK,UACzBF,QAAQC,GAAG,CAACE,mBAAmB,KAAK,QACpC;YACA,IAAI;gBACF,MAAMC,OAAOJ,QAAQC,GAAG,CAACI,IAAI,IAAI;gBACjC,MAAMC,KAAK,IAAI/B,UAAU,CAAC,eAAe,EAAE6B,KAAK,kBAAkB,CAAC;gBAEnEE,GAAGC,SAAS,GAAG,CAACC;oBACd,IAAI,OAAOA,MAAMC,IAAI,KAAK,UAAU;wBAClC,MAAMA,OAAOC,KAAKC,KAAK,CAACH,MAAMC,IAAI;wBAElC,IAAI,YAAYA,QAAQA,KAAKG,MAAM,KAAK,0BAA0B;4BAChEpC,OAAOK,MAAM,GAAG;wBAClB;oBACF;gBACF;YACF,EAAE,OAAOgC,GAAG;YACV,YAAY;YACd;QACF;IACF,EAAE,OAAOC,GAAG;QACVtC,OAAOI,OAAO,GAAG;QACjB,MAAMkC;IACR;IAEA,OAAOtC,OAAOG,OAAO;AACvB,EAAC"}
@@ -16,7 +16,7 @@ import { useSearchParams } from 'next/navigation.js';
16
16
  import qs from 'qs';
17
17
  import * as React from 'react';
18
18
  import { toast } from 'react-toastify';
19
- import { SetStepNav } from '../Edit/Default/SetStepNav/index.js';
19
+ import { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js';
20
20
  import { RenderJSON } from './RenderJSON/index.js';
21
21
  const baseClass = 'query-inspector';
22
22
  export const APIViewClient = ()=>{
@@ -93,7 +93,7 @@ export const APIViewClient = ()=>{
93
93
  fullscreen && `${baseClass}--fullscreen`
94
94
  ].filter(Boolean).join(' '),
95
95
  right: false
96
- }, /*#__PURE__*/ React.createElement(SetStepNav, {
96
+ }, /*#__PURE__*/ React.createElement(SetDocumentStepNav, {
97
97
  collectionSlug: collectionSlug,
98
98
  globalLabel: globalConfig?.label,
99
99
  globalSlug: globalSlug,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/API/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { CopyToClipboard } from '@payloadcms/ui/elements/CopyToClipboard'\nimport { Gutter } from '@payloadcms/ui/elements/Gutter'\nimport { Checkbox } from '@payloadcms/ui/fields/Checkbox'\nimport { NumberField as NumberInput } from '@payloadcms/ui/fields/Number'\nimport { Select } from '@payloadcms/ui/fields/Select'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { MinimizeMaximize } from '@payloadcms/ui/icons/MinimizeMaximize'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useLocale } from '@payloadcms/ui/providers/Locale'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { useSearchParams } from 'next/navigation.js'\nimport qs from 'qs'\nimport * as React from 'react'\nimport { toast } from 'react-toastify'\n\nimport { SetStepNav } from '../Edit/Default/SetStepNav/index.js'\nimport { RenderJSON } from './RenderJSON/index.js'\nimport './index.scss'\n\nconst baseClass = 'query-inspector'\n\nexport const APIViewClient: React.FC = () => {\n const { id, collectionSlug, globalSlug, initialData } = useDocumentInfo()\n\n const searchParams = useSearchParams()\n const { i18n } = useTranslation()\n const { code } = useLocale()\n\n const { getComponentMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const {\n collections,\n globals,\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = useConfig()\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const localeOptions =\n localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))\n\n let draftsEnabled: boolean = false\n let docEndpoint: string = ''\n\n if (collectionConfig) {\n draftsEnabled = Boolean(collectionConfig.versions?.drafts)\n docEndpoint = `/${collectionSlug}/${id}`\n }\n\n if (globalConfig) {\n draftsEnabled = Boolean(globalConfig.versions?.drafts)\n docEndpoint = `/globals/${globalSlug}`\n }\n\n const [data, setData] = React.useState<any>(initialData)\n const [draft, setDraft] = React.useState<boolean>(searchParams.get('draft') === 'true')\n const [locale, setLocale] = React.useState<string>(searchParams?.get('locale') || code)\n const [depth, setDepth] = React.useState<string>(searchParams.get('depth') || '1')\n const [authenticated, setAuthenticated] = React.useState<boolean>(true)\n const [fullscreen, setFullscreen] = React.useState<boolean>(false)\n\n const fetchURL = `${serverURL}${apiRoute}${docEndpoint}${qs.stringify(\n {\n depth,\n draft,\n locale,\n },\n { addQueryPrefix: true },\n )}`\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const res = await fetch(fetchURL, {\n credentials: authenticated ? 'include' : 'omit',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'GET',\n })\n\n try {\n const json = await res.json()\n setData(json)\n } catch (error) {\n toast.error('Error parsing response')\n console.error(error)\n }\n } catch (error) {\n toast.error('Error making request')\n console.error(error)\n }\n }\n\n void fetchData()\n }, [i18n.language, fetchURL, authenticated])\n\n return (\n <Gutter\n className={[baseClass, fullscreen && `${baseClass}--fullscreen`].filter(Boolean).join(' ')}\n right={false}\n >\n <SetStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view=\"API\"\n />\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.API} />\n <div className={`${baseClass}__configuration`}>\n <div className={`${baseClass}__api-url`}>\n <span className={`${baseClass}__label`}>\n API URL <CopyToClipboard value={fetchURL} />\n </span>\n <a href={fetchURL} rel=\"noopener noreferrer\" target=\"_blank\">\n {fetchURL}\n </a>\n </div>\n <Form\n initialState={{\n authenticated: {\n initialValue: authenticated || false,\n valid: true,\n value: authenticated || false,\n },\n depth: {\n initialValue: Number(depth || 0),\n valid: true,\n value: Number(depth || 0),\n },\n draft: {\n initialValue: draft || false,\n valid: true,\n value: draft || false,\n },\n locale: {\n initialValue: locale,\n valid: true,\n value: locale,\n },\n }}\n >\n <div className={`${baseClass}__form-fields`}>\n <div className={`${baseClass}__filter-query-checkboxes`}>\n {draftsEnabled && (\n <Checkbox\n label=\"Draft\"\n name=\"draft\"\n onChange={() => setDraft(!draft)}\n path=\"draft\"\n />\n )}\n <Checkbox\n label=\"Authenticated\"\n name=\"authenticated\"\n onChange={() => setAuthenticated(!authenticated)}\n path=\"authenticated\"\n />\n </div>\n {localeOptions && (\n <Select\n label=\"Locale\"\n name=\"locale\"\n onChange={(value) => setLocale(value)}\n options={localeOptions}\n path=\"locale\"\n />\n )}\n <NumberInput\n label=\"Depth\"\n max={10}\n min={0}\n name=\"depth\"\n onChange={(value) => setDepth(value.toString())}\n path=\"depth\"\n step={1}\n />\n </div>\n </Form>\n </div>\n <div className={`${baseClass}__results-wrapper`}>\n <div className={`${baseClass}__toggle-fullscreen-button-container`}>\n <button\n aria-label=\"toggle fullscreen\"\n className={`${baseClass}__toggle-fullscreen-button`}\n onClick={() => setFullscreen(!fullscreen)}\n type=\"button\"\n >\n <MinimizeMaximize isMinimized={!fullscreen} />\n </button>\n </div>\n <div className={`${baseClass}__results`}>\n <RenderJSON object={data} />\n </div>\n </div>\n </Gutter>\n )\n}\n"],"names":["CopyToClipboard","Gutter","Checkbox","NumberField","NumberInput","Select","Form","MinimizeMaximize","SetViewActions","useComponentMap","useConfig","useDocumentInfo","useLocale","useTranslation","useSearchParams","qs","React","toast","SetStepNav","RenderJSON","baseClass","APIViewClient","id","collectionSlug","globalSlug","initialData","searchParams","i18n","code","getComponentMap","componentMap","collections","globals","localization","routes","api","apiRoute","serverURL","collectionConfig","find","collection","slug","globalConfig","global","localeOptions","locales","map","locale","label","value","draftsEnabled","docEndpoint","Boolean","versions","drafts","data","setData","useState","draft","setDraft","get","setLocale","depth","setDepth","authenticated","setAuthenticated","fullscreen","setFullscreen","fetchURL","stringify","addQueryPrefix","useEffect","fetchData","res","fetch","credentials","headers","language","method","json","error","console","className","filter","join","right","globalLabel","pluralLabel","labels","plural","undefined","useAsTitle","admin","view","actions","actionsMap","Edit","API","div","span","a","href","rel","target","initialState","initialValue","valid","Number","name","onChange","path","options","max","min","toString","step","button","aria-label","onClick","type","isMinimized","object"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,SAASA,eAAe,QAAQ,0CAAyC;AACzE,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,QAAQ,QAAQ,iCAAgC;AACzD,SAASC,eAAeC,WAAW,QAAQ,+BAA8B;AACzE,SAASC,MAAM,QAAQ,+BAA8B;AACrD,SAASC,IAAI,QAAQ,4BAA2B;AAChD,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,qBAAoB;AACpD,OAAOC,QAAQ,KAAI;AACnB,YAAYC,WAAW,QAAO;AAC9B,SAASC,KAAK,QAAQ,iBAAgB;AAEtC,SAASC,UAAU,QAAQ,sCAAqC;AAChE,SAASC,UAAU,QAAQ,wBAAuB;AAGlD,MAAMC,YAAY;AAElB,OAAO,MAAMC,gBAA0B;IACrC,MAAM,EAAEC,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAEC,WAAW,EAAE,GAAGd;IAExD,MAAMe,eAAeZ;IACrB,MAAM,EAAEa,IAAI,EAAE,GAAGd;IACjB,MAAM,EAAEe,IAAI,EAAE,GAAGhB;IAEjB,MAAM,EAAEiB,eAAe,EAAE,GAAGpB;IAE5B,MAAMqB,eAAeD,gBAAgB;QAAEN;QAAgBC;IAAW;IAElE,MAAM,EACJO,WAAW,EACXC,OAAO,EACPC,YAAY,EACZC,QAAQ,EAAEC,KAAKC,QAAQ,EAAE,EACzBC,SAAS,EACV,GAAG3B;IAEJ,MAAM4B,mBACJf,kBAAkBQ,YAAYQ,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKlB;IAEzE,MAAMmB,eAAelB,cAAcQ,QAAQO,IAAI,CAAC,CAACI,SAAWA,OAAOF,IAAI,KAAKjB;IAE5E,MAAMoB,gBACJX,gBACAA,aAAaY,OAAO,CAACC,GAAG,CAAC,CAACC,SAAY,CAAA;YAAEC,OAAOD,OAAOC,KAAK;YAAEC,OAAOF,OAAOnB,IAAI;QAAC,CAAA;IAElF,IAAIsB,gBAAyB;IAC7B,IAAIC,cAAsB;IAE1B,IAAIb,kBAAkB;QACpBY,gBAAgBE,QAAQd,iBAAiBe,QAAQ,EAAEC;QACnDH,cAAc,CAAC,CAAC,EAAE5B,eAAe,CAAC,EAAED,GAAG,CAAC;IAC1C;IAEA,IAAIoB,cAAc;QAChBQ,gBAAgBE,QAAQV,aAAaW,QAAQ,EAAEC;QAC/CH,cAAc,CAAC,SAAS,EAAE3B,WAAW,CAAC;IACxC;IAEA,MAAM,CAAC+B,MAAMC,QAAQ,GAAGxC,MAAMyC,QAAQ,CAAMhC;IAC5C,MAAM,CAACiC,OAAOC,SAAS,GAAG3C,MAAMyC,QAAQ,CAAU/B,aAAakC,GAAG,CAAC,aAAa;IAChF,MAAM,CAACb,QAAQc,UAAU,GAAG7C,MAAMyC,QAAQ,CAAS/B,cAAckC,IAAI,aAAahC;IAClF,MAAM,CAACkC,OAAOC,SAAS,GAAG/C,MAAMyC,QAAQ,CAAS/B,aAAakC,GAAG,CAAC,YAAY;IAC9E,MAAM,CAACI,eAAeC,iBAAiB,GAAGjD,MAAMyC,QAAQ,CAAU;IAClE,MAAM,CAACS,YAAYC,cAAc,GAAGnD,MAAMyC,QAAQ,CAAU;IAE5D,MAAMW,WAAW,CAAC,EAAE/B,UAAU,EAAED,SAAS,EAAEe,YAAY,EAAEpC,GAAGsD,SAAS,CACnE;QACEP;QACAJ;QACAX;IACF,GACA;QAAEuB,gBAAgB;IAAK,GACvB,CAAC;IAEHtD,MAAMuD,SAAS,CAAC;QACd,MAAMC,YAAY;YAChB,IAAI;gBACF,MAAMC,MAAM,MAAMC,MAAMN,UAAU;oBAChCO,aAAaX,gBAAgB,YAAY;oBACzCY,SAAS;wBACP,mBAAmBjD,KAAKkD,QAAQ;oBAClC;oBACAC,QAAQ;gBACV;gBAEA,IAAI;oBACF,MAAMC,OAAO,MAAMN,IAAIM,IAAI;oBAC3BvB,QAAQuB;gBACV,EAAE,OAAOC,OAAO;oBACd/D,MAAM+D,KAAK,CAAC;oBACZC,QAAQD,KAAK,CAACA;gBAChB;YACF,EAAE,OAAOA,OAAO;gBACd/D,MAAM+D,KAAK,CAAC;gBACZC,QAAQD,KAAK,CAACA;YAChB;QACF;QAEA,KAAKR;IACP,GAAG;QAAC7C,KAAKkD,QAAQ;QAAET;QAAUJ;KAAc;IAE3C,qBACE,oBAAC/D;QACCiF,WAAW;YAAC9D;YAAW8C,cAAc,CAAC,EAAE9C,UAAU,YAAY,CAAC;SAAC,CAAC+D,MAAM,CAAC/B,SAASgC,IAAI,CAAC;QACtFC,OAAO;qBAEP,oBAACnE;QACCK,gBAAgBA;QAChB+D,aAAa5C,cAAcM;QAC3BxB,YAAYA;QACZF,IAAIA;QACJiE,aAAajD,mBAAmBA,kBAAkBkD,QAAQC,SAASC;QACnEC,YAAYrD,mBAAmBA,kBAAkBsD,OAAOD,aAAaD;QACrEG,MAAK;sBAEP,oBAACrF;QAAesF,SAAShE,cAAciE,YAAYC,MAAMC;sBACzD,oBAACC;QAAIhB,WAAW,CAAC,EAAE9D,UAAU,eAAe,CAAC;qBAC3C,oBAAC8E;QAAIhB,WAAW,CAAC,EAAE9D,UAAU,SAAS,CAAC;qBACrC,oBAAC+E;QAAKjB,WAAW,CAAC,EAAE9D,UAAU,OAAO,CAAC;OAAE,0BAC9B,oBAACpB;QAAgBiD,OAAOmB;uBAElC,oBAACgC;QAAEC,MAAMjC;QAAUkC,KAAI;QAAsBC,QAAO;OACjDnC,0BAGL,oBAAC9D;QACCkG,cAAc;YACZxC,eAAe;gBACbyC,cAAczC,iBAAiB;gBAC/B0C,OAAO;gBACPzD,OAAOe,iBAAiB;YAC1B;YACAF,OAAO;gBACL2C,cAAcE,OAAO7C,SAAS;gBAC9B4C,OAAO;gBACPzD,OAAO0D,OAAO7C,SAAS;YACzB;YACAJ,OAAO;gBACL+C,cAAc/C,SAAS;gBACvBgD,OAAO;gBACPzD,OAAOS,SAAS;YAClB;YACAX,QAAQ;gBACN0D,cAAc1D;gBACd2D,OAAO;gBACPzD,OAAOF;YACT;QACF;qBAEA,oBAACmD;QAAIhB,WAAW,CAAC,EAAE9D,UAAU,aAAa,CAAC;qBACzC,oBAAC8E;QAAIhB,WAAW,CAAC,EAAE9D,UAAU,yBAAyB,CAAC;OACpD8B,+BACC,oBAAChD;QACC8C,OAAM;QACN4D,MAAK;QACLC,UAAU,IAAMlD,SAAS,CAACD;QAC1BoD,MAAK;sBAGT,oBAAC5G;QACC8C,OAAM;QACN4D,MAAK;QACLC,UAAU,IAAM5C,iBAAiB,CAACD;QAClC8C,MAAK;SAGRlE,+BACC,oBAACvC;QACC2C,OAAM;QACN4D,MAAK;QACLC,UAAU,CAAC5D,QAAUY,UAAUZ;QAC/B8D,SAASnE;QACTkE,MAAK;sBAGT,oBAAC1G;QACC4C,OAAM;QACNgE,KAAK;QACLC,KAAK;QACLL,MAAK;QACLC,UAAU,CAAC5D,QAAUc,SAASd,MAAMiE,QAAQ;QAC5CJ,MAAK;QACLK,MAAM;yBAKd,oBAACjB;QAAIhB,WAAW,CAAC,EAAE9D,UAAU,iBAAiB,CAAC;qBAC7C,oBAAC8E;QAAIhB,WAAW,CAAC,EAAE9D,UAAU,oCAAoC,CAAC;qBAChE,oBAACgG;QACCC,cAAW;QACXnC,WAAW,CAAC,EAAE9D,UAAU,0BAA0B,CAAC;QACnDkG,SAAS,IAAMnD,cAAc,CAACD;QAC9BqD,MAAK;qBAEL,oBAAChH;QAAiBiH,aAAa,CAACtD;wBAGpC,oBAACgC;QAAIhB,WAAW,CAAC,EAAE9D,UAAU,SAAS,CAAC;qBACrC,oBAACD;QAAWsG,QAAQlE;;AAK9B,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/API/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { CopyToClipboard } from '@payloadcms/ui/elements/CopyToClipboard'\nimport { Gutter } from '@payloadcms/ui/elements/Gutter'\nimport { Checkbox } from '@payloadcms/ui/fields/Checkbox'\nimport { NumberField as NumberInput } from '@payloadcms/ui/fields/Number'\nimport { Select } from '@payloadcms/ui/fields/Select'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { MinimizeMaximize } from '@payloadcms/ui/icons/MinimizeMaximize'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useLocale } from '@payloadcms/ui/providers/Locale'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { useSearchParams } from 'next/navigation.js'\nimport qs from 'qs'\nimport * as React from 'react'\nimport { toast } from 'react-toastify'\n\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { RenderJSON } from './RenderJSON/index.js'\nimport './index.scss'\n\nconst baseClass = 'query-inspector'\n\nexport const APIViewClient: React.FC = () => {\n const { id, collectionSlug, globalSlug, initialData } = useDocumentInfo()\n\n const searchParams = useSearchParams()\n const { i18n } = useTranslation()\n const { code } = useLocale()\n\n const { getComponentMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const {\n collections,\n globals,\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = useConfig()\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const localeOptions =\n localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))\n\n let draftsEnabled: boolean = false\n let docEndpoint: string = ''\n\n if (collectionConfig) {\n draftsEnabled = Boolean(collectionConfig.versions?.drafts)\n docEndpoint = `/${collectionSlug}/${id}`\n }\n\n if (globalConfig) {\n draftsEnabled = Boolean(globalConfig.versions?.drafts)\n docEndpoint = `/globals/${globalSlug}`\n }\n\n const [data, setData] = React.useState<any>(initialData)\n const [draft, setDraft] = React.useState<boolean>(searchParams.get('draft') === 'true')\n const [locale, setLocale] = React.useState<string>(searchParams?.get('locale') || code)\n const [depth, setDepth] = React.useState<string>(searchParams.get('depth') || '1')\n const [authenticated, setAuthenticated] = React.useState<boolean>(true)\n const [fullscreen, setFullscreen] = React.useState<boolean>(false)\n\n const fetchURL = `${serverURL}${apiRoute}${docEndpoint}${qs.stringify(\n {\n depth,\n draft,\n locale,\n },\n { addQueryPrefix: true },\n )}`\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const res = await fetch(fetchURL, {\n credentials: authenticated ? 'include' : 'omit',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'GET',\n })\n\n try {\n const json = await res.json()\n setData(json)\n } catch (error) {\n toast.error('Error parsing response')\n console.error(error)\n }\n } catch (error) {\n toast.error('Error making request')\n console.error(error)\n }\n }\n\n void fetchData()\n }, [i18n.language, fetchURL, authenticated])\n\n return (\n <Gutter\n className={[baseClass, fullscreen && `${baseClass}--fullscreen`].filter(Boolean).join(' ')}\n right={false}\n >\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view=\"API\"\n />\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.API} />\n <div className={`${baseClass}__configuration`}>\n <div className={`${baseClass}__api-url`}>\n <span className={`${baseClass}__label`}>\n API URL <CopyToClipboard value={fetchURL} />\n </span>\n <a href={fetchURL} rel=\"noopener noreferrer\" target=\"_blank\">\n {fetchURL}\n </a>\n </div>\n <Form\n initialState={{\n authenticated: {\n initialValue: authenticated || false,\n valid: true,\n value: authenticated || false,\n },\n depth: {\n initialValue: Number(depth || 0),\n valid: true,\n value: Number(depth || 0),\n },\n draft: {\n initialValue: draft || false,\n valid: true,\n value: draft || false,\n },\n locale: {\n initialValue: locale,\n valid: true,\n value: locale,\n },\n }}\n >\n <div className={`${baseClass}__form-fields`}>\n <div className={`${baseClass}__filter-query-checkboxes`}>\n {draftsEnabled && (\n <Checkbox\n label=\"Draft\"\n name=\"draft\"\n onChange={() => setDraft(!draft)}\n path=\"draft\"\n />\n )}\n <Checkbox\n label=\"Authenticated\"\n name=\"authenticated\"\n onChange={() => setAuthenticated(!authenticated)}\n path=\"authenticated\"\n />\n </div>\n {localeOptions && (\n <Select\n label=\"Locale\"\n name=\"locale\"\n onChange={(value) => setLocale(value)}\n options={localeOptions}\n path=\"locale\"\n />\n )}\n <NumberInput\n label=\"Depth\"\n max={10}\n min={0}\n name=\"depth\"\n onChange={(value) => setDepth(value.toString())}\n path=\"depth\"\n step={1}\n />\n </div>\n </Form>\n </div>\n <div className={`${baseClass}__results-wrapper`}>\n <div className={`${baseClass}__toggle-fullscreen-button-container`}>\n <button\n aria-label=\"toggle fullscreen\"\n className={`${baseClass}__toggle-fullscreen-button`}\n onClick={() => setFullscreen(!fullscreen)}\n type=\"button\"\n >\n <MinimizeMaximize isMinimized={!fullscreen} />\n </button>\n </div>\n <div className={`${baseClass}__results`}>\n <RenderJSON object={data} />\n </div>\n </div>\n </Gutter>\n )\n}\n"],"names":["CopyToClipboard","Gutter","Checkbox","NumberField","NumberInput","Select","Form","MinimizeMaximize","SetViewActions","useComponentMap","useConfig","useDocumentInfo","useLocale","useTranslation","useSearchParams","qs","React","toast","SetDocumentStepNav","RenderJSON","baseClass","APIViewClient","id","collectionSlug","globalSlug","initialData","searchParams","i18n","code","getComponentMap","componentMap","collections","globals","localization","routes","api","apiRoute","serverURL","collectionConfig","find","collection","slug","globalConfig","global","localeOptions","locales","map","locale","label","value","draftsEnabled","docEndpoint","Boolean","versions","drafts","data","setData","useState","draft","setDraft","get","setLocale","depth","setDepth","authenticated","setAuthenticated","fullscreen","setFullscreen","fetchURL","stringify","addQueryPrefix","useEffect","fetchData","res","fetch","credentials","headers","language","method","json","error","console","className","filter","join","right","globalLabel","pluralLabel","labels","plural","undefined","useAsTitle","admin","view","actions","actionsMap","Edit","API","div","span","a","href","rel","target","initialState","initialValue","valid","Number","name","onChange","path","options","max","min","toString","step","button","aria-label","onClick","type","isMinimized","object"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAMnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAA;AAE3D,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAsExD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAOnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAA;AAE3D,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA4ExD,CAAA"}
@@ -1,12 +1,13 @@
1
1
  import { Form } from '@payloadcms/ui/forms/Form';
2
2
  import { FormSubmit } from '@payloadcms/ui/forms/Submit';
3
3
  import { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema';
4
+ import { WithServerSideProps as WithServerSidePropsGeneric } from '@payloadcms/ui/providers/ComponentMap';
4
5
  import { mapFields } from '@payloadcms/ui/utilities/buildComponentMap';
5
6
  import React from 'react';
6
7
  import { CreateFirstUserFields } from './index.client.js';
7
8
  export { generateCreateFirstUserMetadata } from './meta.js';
8
9
  export const CreateFirstUserView = async ({ initPageResult })=>{
9
- const { req, req: { i18n, payload: { config, config: { admin: { user: userSlug }, routes: { admin: adminRoute, api: apiRoute }, serverURL } } } } = initPageResult;
10
+ const { req, req: { i18n, payload, payload: { config, config: { admin: { user: userSlug }, routes: { admin: adminRoute, api: apiRoute }, serverURL } } } } = initPageResult;
10
11
  const fields = [
11
12
  {
12
13
  name: 'email',
@@ -27,7 +28,15 @@ export const CreateFirstUserView = async ({ initPageResult })=>{
27
28
  required: true
28
29
  }
29
30
  ];
31
+ const WithServerSideProps = ({ Component, ...rest })=>{
32
+ return /*#__PURE__*/ React.createElement(WithServerSidePropsGeneric, {
33
+ Component: Component,
34
+ payload: payload,
35
+ ...rest
36
+ });
37
+ };
30
38
  const createFirstUserFieldMap = mapFields({
39
+ WithServerSideProps,
31
40
  config,
32
41
  fieldSchema: fields,
33
42
  i18n,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type { Field } from 'payload/types'\nimport type { AdminViewProps } from 'payload/types'\n\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { FormSubmit } from '@payloadcms/ui/forms/Submit'\nimport { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema'\nimport { mapFields } from '@payloadcms/ui/utilities/buildComponentMap'\nimport React from 'react'\n\nimport { CreateFirstUserFields } from './index.client.js'\nimport './index.scss'\n\nexport { generateCreateFirstUserMetadata } from './meta.js'\n\nexport const CreateFirstUserView: React.FC<AdminViewProps> = async ({ initPageResult }) => {\n const {\n req,\n req: {\n i18n,\n payload: {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n },\n } = initPageResult\n\n const fields: Field[] = [\n {\n name: 'email',\n type: 'email',\n label: req.t('general:emailAddress'),\n required: true,\n },\n {\n name: 'password',\n type: 'text',\n label: req.t('general:password'),\n required: true,\n },\n {\n name: 'confirm-password',\n type: 'text',\n label: req.t('authentication:confirmPassword'),\n required: true,\n },\n ]\n\n const createFirstUserFieldMap = mapFields({\n config,\n fieldSchema: fields,\n i18n,\n parentPath: userSlug,\n })\n\n const formState = await buildStateFromSchema({\n fieldSchema: fields,\n operation: 'create',\n preferences: {},\n req,\n })\n\n return (\n <React.Fragment>\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/first-register`}\n initialState={formState}\n method=\"POST\"\n redirect={adminRoute}\n validationOperation=\"create\"\n >\n <CreateFirstUserFields\n createFirstUserFieldMap={createFirstUserFieldMap}\n userSlug={userSlug}\n />\n <FormSubmit>{req.t('general:create')}</FormSubmit>\n </Form>\n </React.Fragment>\n )\n}\n"],"names":["Form","FormSubmit","buildStateFromSchema","mapFields","React","CreateFirstUserFields","generateCreateFirstUserMetadata","CreateFirstUserView","initPageResult","req","i18n","payload","config","admin","user","userSlug","routes","adminRoute","api","apiRoute","serverURL","fields","name","type","label","t","required","createFirstUserFieldMap","fieldSchema","parentPath","formState","operation","preferences","Fragment","h1","p","action","initialState","method","redirect","validationOperation"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,IAAI,QAAQ,4BAA2B;AAChD,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,oBAAoB,QAAQ,4CAA2C;AAChF,SAASC,SAAS,QAAQ,6CAA4C;AACtE,OAAOC,WAAW,QAAO;AAEzB,SAASC,qBAAqB,QAAQ,oBAAmB;AAGzD,SAASC,+BAA+B,QAAQ,YAAW;AAE3D,OAAO,MAAMC,sBAAgD,OAAO,EAAEC,cAAc,EAAE;IACpF,MAAM,EACJC,GAAG,EACHA,KAAK,EACHC,IAAI,EACJC,SAAS,EACPC,MAAM,EACNA,QAAQ,EACNC,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EACzBC,QAAQ,EAAEH,OAAOI,UAAU,EAAEC,KAAKC,QAAQ,EAAE,EAC5CC,SAAS,EACV,EACF,EACF,EACF,GAAGZ;IAEJ,MAAMa,SAAkB;QACtB;YACEC,MAAM;YACNC,MAAM;YACNC,OAAOf,IAAIgB,CAAC,CAAC;YACbC,UAAU;QACZ;QACA;YACEJ,MAAM;YACNC,MAAM;YACNC,OAAOf,IAAIgB,CAAC,CAAC;YACbC,UAAU;QACZ;QACA;YACEJ,MAAM;YACNC,MAAM;YACNC,OAAOf,IAAIgB,CAAC,CAAC;YACbC,UAAU;QACZ;KACD;IAED,MAAMC,0BAA0BxB,UAAU;QACxCS;QACAgB,aAAaP;QACbX;QACAmB,YAAYd;IACd;IAEA,MAAMe,YAAY,MAAM5B,qBAAqB;QAC3C0B,aAAaP;QACbU,WAAW;QACXC,aAAa,CAAC;QACdvB;IACF;IAEA,qBACE,oBAACL,MAAM6B,QAAQ,sBACb,oBAACC,YAAIzB,IAAIgB,CAAC,CAAC,mCACX,oBAACU,WAAG1B,IAAIgB,CAAC,CAAC,uDACV,oBAACzB;QACCoC,QAAQ,CAAC,EAAEhB,UAAU,EAAED,SAAS,CAAC,EAAEJ,SAAS,eAAe,CAAC;QAC5DsB,cAAcP;QACdQ,QAAO;QACPC,UAAUtB;QACVuB,qBAAoB;qBAEpB,oBAACnC;QACCsB,yBAAyBA;QACzBZ,UAAUA;sBAEZ,oBAACd,kBAAYQ,IAAIgB,CAAC,CAAC;AAI3B,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type { Field, WithServerSideProps as WithServerSidePropsType } from 'payload/types'\nimport type { AdminViewProps } from 'payload/types'\n\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { FormSubmit } from '@payloadcms/ui/forms/Submit'\nimport { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema'\nimport { WithServerSideProps as WithServerSidePropsGeneric } from '@payloadcms/ui/providers/ComponentMap'\nimport { mapFields } from '@payloadcms/ui/utilities/buildComponentMap'\nimport React from 'react'\n\nimport { CreateFirstUserFields } from './index.client.js'\nimport './index.scss'\n\nexport { generateCreateFirstUserMetadata } from './meta.js'\n\nexport const CreateFirstUserView: React.FC<AdminViewProps> = async ({ initPageResult }) => {\n const {\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n },\n } = initPageResult\n\n const fields: Field[] = [\n {\n name: 'email',\n type: 'email',\n label: req.t('general:emailAddress'),\n required: true,\n },\n {\n name: 'password',\n type: 'text',\n label: req.t('general:password'),\n required: true,\n },\n {\n name: 'confirm-password',\n type: 'text',\n label: req.t('authentication:confirmPassword'),\n required: true,\n },\n ]\n\n const WithServerSideProps: WithServerSidePropsType = ({ Component, ...rest }) => {\n return <WithServerSidePropsGeneric Component={Component} payload={payload} {...rest} />\n }\n\n const createFirstUserFieldMap = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: fields,\n i18n,\n parentPath: userSlug,\n })\n\n const formState = await buildStateFromSchema({\n fieldSchema: fields,\n operation: 'create',\n preferences: {},\n req,\n })\n\n return (\n <React.Fragment>\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/first-register`}\n initialState={formState}\n method=\"POST\"\n redirect={adminRoute}\n validationOperation=\"create\"\n >\n <CreateFirstUserFields\n createFirstUserFieldMap={createFirstUserFieldMap}\n userSlug={userSlug}\n />\n <FormSubmit>{req.t('general:create')}</FormSubmit>\n </Form>\n </React.Fragment>\n )\n}\n"],"names":["Form","FormSubmit","buildStateFromSchema","WithServerSideProps","WithServerSidePropsGeneric","mapFields","React","CreateFirstUserFields","generateCreateFirstUserMetadata","CreateFirstUserView","initPageResult","req","i18n","payload","config","admin","user","userSlug","routes","adminRoute","api","apiRoute","serverURL","fields","name","type","label","t","required","Component","rest","createFirstUserFieldMap","fieldSchema","parentPath","formState","operation","preferences","Fragment","h1","p","action","initialState","method","redirect","validationOperation"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,IAAI,QAAQ,4BAA2B;AAChD,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,oBAAoB,QAAQ,4CAA2C;AAChF,SAASC,uBAAuBC,0BAA0B,QAAQ,wCAAuC;AACzG,SAASC,SAAS,QAAQ,6CAA4C;AACtE,OAAOC,WAAW,QAAO;AAEzB,SAASC,qBAAqB,QAAQ,oBAAmB;AAGzD,SAASC,+BAA+B,QAAQ,YAAW;AAE3D,OAAO,MAAMC,sBAAgD,OAAO,EAAEC,cAAc,EAAE;IACpF,MAAM,EACJC,GAAG,EACHA,KAAK,EACHC,IAAI,EACJC,OAAO,EACPA,SAAS,EACPC,MAAM,EACNA,QAAQ,EACNC,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EACzBC,QAAQ,EAAEH,OAAOI,UAAU,EAAEC,KAAKC,QAAQ,EAAE,EAC5CC,SAAS,EACV,EACF,EACF,EACF,GAAGZ;IAEJ,MAAMa,SAAkB;QACtB;YACEC,MAAM;YACNC,MAAM;YACNC,OAAOf,IAAIgB,CAAC,CAAC;YACbC,UAAU;QACZ;QACA;YACEJ,MAAM;YACNC,MAAM;YACNC,OAAOf,IAAIgB,CAAC,CAAC;YACbC,UAAU;QACZ;QACA;YACEJ,MAAM;YACNC,MAAM;YACNC,OAAOf,IAAIgB,CAAC,CAAC;YACbC,UAAU;QACZ;KACD;IAED,MAAMzB,sBAA+C,CAAC,EAAE0B,SAAS,EAAE,GAAGC,MAAM;QAC1E,qBAAO,oBAAC1B;YAA2ByB,WAAWA;YAAWhB,SAASA;YAAU,GAAGiB,IAAI;;IACrF;IAEA,MAAMC,0BAA0B1B,UAAU;QACxCF;QACAW;QACAkB,aAAaT;QACbX;QACAqB,YAAYhB;IACd;IAEA,MAAMiB,YAAY,MAAMhC,qBAAqB;QAC3C8B,aAAaT;QACbY,WAAW;QACXC,aAAa,CAAC;QACdzB;IACF;IAEA,qBACE,oBAACL,MAAM+B,QAAQ,sBACb,oBAACC,YAAI3B,IAAIgB,CAAC,CAAC,mCACX,oBAACY,WAAG5B,IAAIgB,CAAC,CAAC,uDACV,oBAAC3B;QACCwC,QAAQ,CAAC,EAAElB,UAAU,EAAED,SAAS,CAAC,EAAEJ,SAAS,eAAe,CAAC;QAC5DwB,cAAcP;QACdQ,QAAO;QACPC,UAAUxB;QACVyB,qBAAoB;qBAEpB,oBAACrC;QACCwB,yBAAyBA;QACzBd,UAAUA;sBAEZ,oBAAChB,kBAAYU,IAAIgB,CAAC,CAAC;AAI3B,EAAC"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" resolution-mode="require"/>
2
2
  import type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload/types';
3
- export declare const SetStepNav: React.FC<{
3
+ export declare const SetDocumentStepNav: React.FC<{
4
4
  collectionSlug?: SanitizedCollectionConfig['slug'];
5
5
  globalLabel?: SanitizedGlobalConfig['label'];
6
6
  globalSlug?: SanitizedGlobalConfig['slug'];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Edit/Default/SetDocumentStepNav/index.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAWrF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC;IACxC,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC5C,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC3D,UAAU,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAsEA,CAAA"}
@@ -4,12 +4,18 @@ import { useStepNav } from '@payloadcms/ui/elements/StepNav';
4
4
  import { useConfig } from '@payloadcms/ui/providers/Config';
5
5
  import { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo';
6
6
  import { useEditDepth } from '@payloadcms/ui/providers/EditDepth';
7
+ import { useEntityVisibility } from '@payloadcms/ui/providers/EntityVisibility';
7
8
  import { useTranslation } from '@payloadcms/ui/providers/Translation';
8
9
  import { useEffect } from 'react';
9
- export const SetStepNav = (props)=>{
10
+ export const SetDocumentStepNav = (props)=>{
10
11
  const { id, collectionSlug, globalSlug, pluralLabel, useAsTitle } = props;
11
12
  const view = props?.view || undefined;
12
13
  const { isEditing, title } = useDocumentInfo();
14
+ const { isEntityVisible } = useEntityVisibility();
15
+ const isVisible = isEntityVisible({
16
+ collectionSlug,
17
+ globalSlug
18
+ });
13
19
  const { setStepNav } = useStepNav();
14
20
  const { i18n, t } = useTranslation();
15
21
  const { routes: { admin } } = useConfig();
@@ -19,12 +25,12 @@ export const SetStepNav = (props)=>{
19
25
  if (collectionSlug) {
20
26
  nav.push({
21
27
  label: getTranslation(pluralLabel, i18n),
22
- url: `${admin}/collections/${collectionSlug}`
28
+ url: isVisible ? `${admin}/collections/${collectionSlug}` : undefined
23
29
  });
24
30
  if (isEditing) {
25
31
  nav.push({
26
32
  label: useAsTitle && useAsTitle !== 'id' && title || `${id}`,
27
- url: `${admin}/collections/${collectionSlug}/${id}`
33
+ url: isVisible ? `${admin}/collections/${collectionSlug}/${id}` : undefined
28
34
  });
29
35
  } else {
30
36
  nav.push({
@@ -34,7 +40,7 @@ export const SetStepNav = (props)=>{
34
40
  } else if (globalSlug) {
35
41
  nav.push({
36
42
  label: title,
37
- url: `${admin}/globals/${globalSlug}`
43
+ url: isVisible ? `${admin}/globals/${globalSlug}` : undefined
38
44
  });
39
45
  }
40
46
  if (view) {
@@ -56,7 +62,8 @@ export const SetStepNav = (props)=>{
56
62
  collectionSlug,
57
63
  globalSlug,
58
64
  view,
59
- drawerDepth
65
+ drawerDepth,
66
+ isVisible
60
67
  ]);
61
68
  return null;
62
69
  };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/views/Edit/Default/SetDocumentStepNav/index.tsx"],"sourcesContent":["'use client'\nimport type { StepNavItem } from '@payloadcms/ui/elements/StepNav'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useStepNav } from '@payloadcms/ui/elements/StepNav'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useEditDepth } from '@payloadcms/ui/providers/EditDepth'\nimport { useEntityVisibility } from '@payloadcms/ui/providers/EntityVisibility'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { useEffect } from 'react'\n\nexport const SetDocumentStepNav: React.FC<{\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalLabel?: SanitizedGlobalConfig['label']\n globalSlug?: SanitizedGlobalConfig['slug']\n id?: number | string\n pluralLabel?: SanitizedCollectionConfig['labels']['plural']\n useAsTitle?: SanitizedCollectionConfig['admin']['useAsTitle']\n view?: string\n}> = (props) => {\n const { id, collectionSlug, globalSlug, pluralLabel, useAsTitle } = props\n\n const view: string | undefined = props?.view || undefined\n\n const { isEditing, title } = useDocumentInfo()\n const { isEntityVisible } = useEntityVisibility()\n const isVisible = isEntityVisible({ collectionSlug, globalSlug })\n\n const { setStepNav } = useStepNav()\n\n const { i18n, t } = useTranslation()\n\n const {\n routes: { admin },\n } = useConfig()\n\n const drawerDepth = useEditDepth()\n\n useEffect(() => {\n const nav: StepNavItem[] = []\n\n if (collectionSlug) {\n nav.push({\n label: getTranslation(pluralLabel, i18n),\n url: isVisible ? `${admin}/collections/${collectionSlug}` : undefined,\n })\n\n if (isEditing) {\n nav.push({\n label: (useAsTitle && useAsTitle !== 'id' && title) || `${id}`,\n url: isVisible ? `${admin}/collections/${collectionSlug}/${id}` : undefined,\n })\n } else {\n nav.push({\n label: t('general:createNew'),\n })\n }\n } else if (globalSlug) {\n nav.push({\n label: title,\n url: isVisible ? `${admin}/globals/${globalSlug}` : undefined,\n })\n }\n\n if (view) {\n nav.push({\n label: view,\n })\n }\n\n if (drawerDepth <= 1) setStepNav(nav)\n }, [\n setStepNav,\n isEditing,\n pluralLabel,\n id,\n useAsTitle,\n admin,\n t,\n i18n,\n title,\n collectionSlug,\n globalSlug,\n view,\n drawerDepth,\n isVisible,\n ])\n\n return null\n}\n"],"names":["getTranslation","useStepNav","useConfig","useDocumentInfo","useEditDepth","useEntityVisibility","useTranslation","useEffect","SetDocumentStepNav","props","id","collectionSlug","globalSlug","pluralLabel","useAsTitle","view","undefined","isEditing","title","isEntityVisible","isVisible","setStepNav","i18n","t","routes","admin","drawerDepth","nav","push","label","url"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAIA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,mBAAmB,QAAQ,4CAA2C;AAC/E,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,SAAS,QAAQ,QAAO;AAEjC,OAAO,MAAMC,qBAQR,CAACC;IACJ,MAAM,EAAEC,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAEC,WAAW,EAAEC,UAAU,EAAE,GAAGL;IAEpE,MAAMM,OAA2BN,OAAOM,QAAQC;IAEhD,MAAM,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGf;IAC7B,MAAM,EAAEgB,eAAe,EAAE,GAAGd;IAC5B,MAAMe,YAAYD,gBAAgB;QAAER;QAAgBC;IAAW;IAE/D,MAAM,EAAES,UAAU,EAAE,GAAGpB;IAEvB,MAAM,EAAEqB,IAAI,EAAEC,CAAC,EAAE,GAAGjB;IAEpB,MAAM,EACJkB,QAAQ,EAAEC,KAAK,EAAE,EAClB,GAAGvB;IAEJ,MAAMwB,cAActB;IAEpBG,UAAU;QACR,MAAMoB,MAAqB,EAAE;QAE7B,IAAIhB,gBAAgB;YAClBgB,IAAIC,IAAI,CAAC;gBACPC,OAAO7B,eAAea,aAAaS;gBACnCQ,KAAKV,YAAY,CAAC,EAAEK,MAAM,aAAa,EAAEd,eAAe,CAAC,GAAGK;YAC9D;YAEA,IAAIC,WAAW;gBACbU,IAAIC,IAAI,CAAC;oBACPC,OAAO,AAACf,cAAcA,eAAe,QAAQI,SAAU,CAAC,EAAER,GAAG,CAAC;oBAC9DoB,KAAKV,YAAY,CAAC,EAAEK,MAAM,aAAa,EAAEd,eAAe,CAAC,EAAED,GAAG,CAAC,GAAGM;gBACpE;YACF,OAAO;gBACLW,IAAIC,IAAI,CAAC;oBACPC,OAAON,EAAE;gBACX;YACF;QACF,OAAO,IAAIX,YAAY;YACrBe,IAAIC,IAAI,CAAC;gBACPC,OAAOX;gBACPY,KAAKV,YAAY,CAAC,EAAEK,MAAM,SAAS,EAAEb,WAAW,CAAC,GAAGI;YACtD;QACF;QAEA,IAAID,MAAM;YACRY,IAAIC,IAAI,CAAC;gBACPC,OAAOd;YACT;QACF;QAEA,IAAIW,eAAe,GAAGL,WAAWM;IACnC,GAAG;QACDN;QACAJ;QACAJ;QACAH;QACAI;QACAW;QACAF;QACAD;QACAJ;QACAP;QACAC;QACAG;QACAW;QACAN;KACD;IAED,OAAO;AACT,EAAC"}
@@ -19,8 +19,8 @@ import React, { Fragment, useCallback } from 'react';
19
19
  import { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js';
20
20
  // import { getTranslation } from '@payloadcms/translations'
21
21
  import { Auth } from './Auth/index.js';
22
+ import { SetDocumentStepNav } from './SetDocumentStepNav/index.js';
22
23
  import { SetDocumentTitle } from './SetDocumentTitle/index.js';
23
- import { SetStepNav } from './SetStepNav/index.js';
24
24
  const baseClass = 'collection-edit';
25
25
  // This component receives props only on _pages_
26
26
  // When rendered within a drawer, props are empty
@@ -147,7 +147,7 @@ export const DefaultEditView = ()=>{
147
147
  // loadingSuffix={getTranslation(collectionConfig.labels.singular, i18n)}
148
148
  name: `collection-edit--${typeof collectionConfig?.labels?.singular === 'string' ? collectionConfig.labels.singular : 'document'}`,
149
149
  type: "withoutNav"
150
- }), BeforeDocument, preventLeaveWithoutSaving && /*#__PURE__*/ React.createElement(LeaveWithoutSaving, null), /*#__PURE__*/ React.createElement(SetStepNav, {
150
+ }), BeforeDocument, preventLeaveWithoutSaving && /*#__PURE__*/ React.createElement(LeaveWithoutSaving, null), /*#__PURE__*/ React.createElement(SetDocumentStepNav, {
151
151
  collectionSlug: collectionConfig?.slug,
152
152
  globalSlug: globalConfig?.slug,
153
153
  id: id,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui/forms/Form'\n\nimport { DocumentControls } from '@payloadcms/ui/elements/DocumentControls'\nimport { DocumentFields } from '@payloadcms/ui/elements/DocumentFields'\nimport { FormLoadingOverlayToggle } from '@payloadcms/ui/elements/Loading'\nimport { Upload } from '@payloadcms/ui/elements/Upload'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { useAuth } from '@payloadcms/ui/providers/Auth'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentEvents } from '@payloadcms/ui/providers/DocumentEvents'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useEditDepth } from '@payloadcms/ui/providers/EditDepth'\nimport { useFormQueryParams } from '@payloadcms/ui/providers/FormQueryParams'\nimport { OperationProvider } from '@payloadcms/ui/providers/Operation'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport { useRouter } from 'next/navigation.js'\nimport { useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\n// import { getTranslation } from '@payloadcms/translations'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport { SetStepNav } from './SetStepNav/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC = () => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const config = useConfig()\n const router = useRouter()\n const { dispatchFormQueryParams } = useFormQueryParams()\n const { getFieldMap } = useComponentMap()\n const params = useSearchParams()\n const depth = useEditDepth()\n const { reportUpdate } = useDocumentEvents()\n\n const {\n admin: { user: userSlug },\n collections,\n globals,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const locale = params.get('locale')\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n const operation = id ? 'update' : 'create'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const preventLeaveWithoutSaving =\n (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n !disableLeaveWithoutSaving\n\n const classes = [baseClass, id && `${baseClass}--is-editing`].filter(Boolean).join(' ')\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n void getVersions()\n void getDocPermissions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = `${adminRoute}/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`\n router.push(redirectRoute)\n } else {\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n uploadEdits: null,\n },\n })\n }\n },\n [\n onSaveFromContext,\n userSlug,\n reportUpdate,\n id,\n entitySlug,\n user,\n depth,\n collectionSlug,\n getVersions,\n getDocPermissions,\n isEditing,\n refreshCookieAsync,\n adminRoute,\n locale,\n router,\n dispatchFormQueryParams,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath: entitySlug,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, entitySlug, collectionSlug, globalSlug, getDocPreferences],\n )\n\n return (\n <main className={classes}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit\n disabled={!hasSavePermission}\n initialState={initialState}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n <FormLoadingOverlayToggle\n action={operation}\n // formIsLoading={isLoading}\n // loadingSuffix={getTranslation(collectionConfig.labels.singular, i18n)}\n name={`collection-edit--${\n typeof collectionConfig?.labels?.singular === 'string'\n ? collectionConfig.labels.singular\n : 'document'\n }`}\n type=\"withoutNav\"\n />\n {BeforeDocument}\n {preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={data}\n disableActions={disableActions}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={Boolean(id)}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n useAPIKey={auth.useAPIKey}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n docPermissions={docPermissions}\n fieldMap={fieldMap}\n readOnly={!hasSavePermission}\n schemaPath={entitySlug}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","FormLoadingOverlayToggle","Upload","Form","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useFormQueryParams","OperationProvider","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","LeaveWithoutSaving","Auth","SetDocumentTitle","SetStepNav","baseClass","DefaultEditView","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPermissions","getDocPreferences","getVersions","globalSlug","hasSavePermission","initialData","data","initialState","isEditing","onSave","onSaveFromContext","refreshCookieAsync","user","config","router","dispatchFormQueryParams","getFieldMap","params","depth","reportUpdate","admin","userSlug","collections","globals","routes","adminRoute","api","apiRoute","serverURL","locale","get","collectionConfig","find","collection","slug","globalConfig","global","entitySlug","fieldMap","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","filter","Boolean","join","json","updatedAt","result","Date","toISOString","redirectRoute","doc","push","type","uploadEdits","onChange","formState","prevFormState","docPreferences","body","schemaPath","main","className","disableValidationOnSubmit","disabled","method","onSuccess","name","labels","singular","pluralLabel","plural","useAsTitle","fallback","toString","permissions","disableLocalStrategy","email","readOnly","requirePassword","useAPIKey","verify","uploadConfig"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui/forms/Form'\n\nimport { DocumentControls } from '@payloadcms/ui/elements/DocumentControls'\nimport { DocumentFields } from '@payloadcms/ui/elements/DocumentFields'\nimport { FormLoadingOverlayToggle } from '@payloadcms/ui/elements/Loading'\nimport { Upload } from '@payloadcms/ui/elements/Upload'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { useAuth } from '@payloadcms/ui/providers/Auth'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentEvents } from '@payloadcms/ui/providers/DocumentEvents'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useEditDepth } from '@payloadcms/ui/providers/EditDepth'\nimport { useFormQueryParams } from '@payloadcms/ui/providers/FormQueryParams'\nimport { OperationProvider } from '@payloadcms/ui/providers/Operation'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport { useRouter } from 'next/navigation.js'\nimport { useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\n// import { getTranslation } from '@payloadcms/translations'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC = () => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const config = useConfig()\n const router = useRouter()\n const { dispatchFormQueryParams } = useFormQueryParams()\n const { getFieldMap } = useComponentMap()\n const params = useSearchParams()\n const depth = useEditDepth()\n const { reportUpdate } = useDocumentEvents()\n\n const {\n admin: { user: userSlug },\n collections,\n globals,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const locale = params.get('locale')\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n const operation = id ? 'update' : 'create'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const preventLeaveWithoutSaving =\n (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n !disableLeaveWithoutSaving\n\n const classes = [baseClass, id && `${baseClass}--is-editing`].filter(Boolean).join(' ')\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n void getVersions()\n void getDocPermissions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = `${adminRoute}/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`\n router.push(redirectRoute)\n } else {\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n uploadEdits: null,\n },\n })\n }\n },\n [\n onSaveFromContext,\n userSlug,\n reportUpdate,\n id,\n entitySlug,\n user,\n depth,\n collectionSlug,\n getVersions,\n getDocPermissions,\n isEditing,\n refreshCookieAsync,\n adminRoute,\n locale,\n router,\n dispatchFormQueryParams,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath: entitySlug,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, entitySlug, collectionSlug, globalSlug, getDocPreferences],\n )\n\n return (\n <main className={classes}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit\n disabled={!hasSavePermission}\n initialState={initialState}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n <FormLoadingOverlayToggle\n action={operation}\n // formIsLoading={isLoading}\n // loadingSuffix={getTranslation(collectionConfig.labels.singular, i18n)}\n name={`collection-edit--${\n typeof collectionConfig?.labels?.singular === 'string'\n ? collectionConfig.labels.singular\n : 'document'\n }`}\n type=\"withoutNav\"\n />\n {BeforeDocument}\n {preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={data}\n disableActions={disableActions}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={Boolean(id)}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n useAPIKey={auth.useAPIKey}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n docPermissions={docPermissions}\n fieldMap={fieldMap}\n readOnly={!hasSavePermission}\n schemaPath={entitySlug}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","FormLoadingOverlayToggle","Upload","Form","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useFormQueryParams","OperationProvider","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPermissions","getDocPreferences","getVersions","globalSlug","hasSavePermission","initialData","data","initialState","isEditing","onSave","onSaveFromContext","refreshCookieAsync","user","config","router","dispatchFormQueryParams","getFieldMap","params","depth","reportUpdate","admin","userSlug","collections","globals","routes","adminRoute","api","apiRoute","serverURL","locale","get","collectionConfig","find","collection","slug","globalConfig","global","entitySlug","fieldMap","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","filter","Boolean","join","json","updatedAt","result","Date","toISOString","redirectRoute","doc","push","type","uploadEdits","onChange","formState","prevFormState","docPreferences","body","schemaPath","main","className","disableValidationOnSubmit","disabled","method","onSuccess","name","labels","singular","pluralLabel","plural","useAsTitle","fallback","toString","permissions","disableLocalStrategy","email","readOnly","requirePassword","useAPIKey","verify","uploadConfig"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -46,7 +46,7 @@ export const ListView = async ({ initPageResult, searchParams })=>{
46
46
  } else if (typeof CustomList === 'object' && typeof CustomList.Component === 'function') {
47
47
  CustomListView = CustomList.Component;
48
48
  }
49
- const page = isNumber(query?.page) ? query.page : 0;
49
+ const page = isNumber(query?.page) ? Number(query.page) : 0;
50
50
  const whereQuery = mergeListSearchAndWhere({
51
51
  collectionConfig,
52
52
  query: {
@@ -54,7 +54,7 @@ export const ListView = async ({ initPageResult, searchParams })=>{
54
54
  where: query?.where || undefined
55
55
  }
56
56
  });
57
- const limit = isNumber(query?.limit) ? query.limit : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit;
57
+ const limit = isNumber(query?.limit) ? Number(query.limit) : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit;
58
58
  const sort = query?.sort && typeof query.sort === 'string' ? query.sort : listPreferences?.sort || undefined;
59
59
  const data = await payload.find({
60
60
  collection: collectionSlug,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type { Where } from 'payload/types'\n\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent'\nimport { TableColumnsProvider } from '@payloadcms/ui/elements/TableColumns'\nimport { ListInfoProvider } from '@payloadcms/ui/providers/ListInfo'\nimport { ListQueryProvider } from '@payloadcms/ui/providers/ListQuery'\nimport { notFound } from 'next/navigation.js'\nimport { createClientCollectionConfig } from 'payload/config'\nimport { type AdminViewProps } from 'payload/types'\nimport { isNumber, mergeListSearchAndWhere } from 'payload/utilities'\nimport React, { Fragment } from 'react'\n\nimport type { DefaultListViewProps, ListPreferences } from './Default/types.js'\n\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { DefaultListView } from './Default/index.js'\n\nexport { generateListMetadata } from './meta.js'\n\nexport const ListView: React.FC<AdminViewProps> = async ({ initPageResult, searchParams }) => {\n const {\n collectionConfig,\n permissions,\n req: {\n locale,\n payload,\n payload: { config },\n query,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n\n if (!permissions?.collections?.[collectionSlug]?.read?.permission) {\n return <UnauthorizedView initPageResult={initPageResult} searchParams={searchParams} />\n }\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n key: {\n equals: preferenceKey,\n },\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (error) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin },\n } = config\n\n if (collectionConfig) {\n const {\n admin: { components: { views: { List: CustomList } = {} } = {} },\n } = collectionConfig\n\n if (!visibleEntities.collections.includes(collectionSlug)) {\n return notFound()\n }\n\n let CustomListView = null\n\n if (CustomList && typeof CustomList === 'function') {\n CustomListView = CustomList\n } else if (typeof CustomList === 'object' && typeof CustomList.Component === 'function') {\n CustomListView = CustomList.Component\n }\n\n const page = isNumber(query?.page) ? query.page : 0\n const whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n query: {\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n },\n })\n const limit = isNumber(query?.limit)\n ? query.limit\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort || undefined\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n limit,\n locale,\n overrideAccess: false,\n page,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const viewComponentProps: DefaultListViewProps = {\n collectionSlug,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n }\n\n return (\n <Fragment>\n <HydrateClientUser permissions={permissions} user={user} />\n <ListInfoProvider\n collectionConfig={createClientCollectionConfig({\n collection: collectionConfig,\n t: initPageResult.req.i18n.t,\n })}\n collectionSlug={collectionSlug}\n hasCreatePermission={permissions?.collections?.[collectionSlug]?.create?.permission}\n newDocumentURL={`${admin}/collections/${collectionSlug}/create`}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || collectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n modifySearchParams\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={collectionSlug}\n enableRowSelections\n listPreferences={listPreferences}\n preferenceKey={preferenceKey}\n >\n <RenderCustomComponent\n CustomComponent={CustomListView}\n DefaultComponent={DefaultListView}\n componentProps={viewComponentProps}\n />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </Fragment>\n )\n }\n\n return notFound()\n}\n"],"names":["HydrateClientUser","RenderCustomComponent","TableColumnsProvider","ListInfoProvider","ListQueryProvider","notFound","createClientCollectionConfig","isNumber","mergeListSearchAndWhere","React","Fragment","UnauthorizedView","DefaultListView","generateListMetadata","ListView","initPageResult","searchParams","collectionConfig","permissions","req","locale","payload","config","query","user","visibleEntities","collectionSlug","slug","collections","read","permission","listPreferences","preferenceKey","find","collection","depth","limit","where","key","equals","then","res","docs","value","error","routes","admin","components","views","List","CustomList","includes","CustomListView","Component","page","whereQuery","search","undefined","pagination","defaultLimit","sort","data","draft","fallbackLocale","overrideAccess","viewComponentProps","listSearchableFields","t","i18n","hasCreatePermission","create","newDocumentURL","defaultSort","modifySearchParams","enableRowSelections","CustomComponent","DefaultComponent","componentProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type { Where } from 'payload/types'\n\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent'\nimport { TableColumnsProvider } from '@payloadcms/ui/elements/TableColumns'\nimport { ListInfoProvider } from '@payloadcms/ui/providers/ListInfo'\nimport { ListQueryProvider } from '@payloadcms/ui/providers/ListQuery'\nimport { notFound } from 'next/navigation.js'\nimport { createClientCollectionConfig } from 'payload/config'\nimport { type AdminViewProps } from 'payload/types'\nimport { isNumber, mergeListSearchAndWhere } from 'payload/utilities'\nimport React, { Fragment } from 'react'\n\nimport type { DefaultListViewProps, ListPreferences } from './Default/types.js'\n\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { DefaultListView } from './Default/index.js'\n\nexport { generateListMetadata } from './meta.js'\n\nexport const ListView: React.FC<AdminViewProps> = async ({ initPageResult, searchParams }) => {\n const {\n collectionConfig,\n permissions,\n req: {\n locale,\n payload,\n payload: { config },\n query,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n\n if (!permissions?.collections?.[collectionSlug]?.read?.permission) {\n return <UnauthorizedView initPageResult={initPageResult} searchParams={searchParams} />\n }\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n key: {\n equals: preferenceKey,\n },\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (error) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin },\n } = config\n\n if (collectionConfig) {\n const {\n admin: { components: { views: { List: CustomList } = {} } = {} },\n } = collectionConfig\n\n if (!visibleEntities.collections.includes(collectionSlug)) {\n return notFound()\n }\n\n let CustomListView = null\n\n if (CustomList && typeof CustomList === 'function') {\n CustomListView = CustomList\n } else if (typeof CustomList === 'object' && typeof CustomList.Component === 'function') {\n CustomListView = CustomList.Component\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n const whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n query: {\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n },\n })\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort || undefined\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n limit,\n locale,\n overrideAccess: false,\n page,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const viewComponentProps: DefaultListViewProps = {\n collectionSlug,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n }\n\n return (\n <Fragment>\n <HydrateClientUser permissions={permissions} user={user} />\n <ListInfoProvider\n collectionConfig={createClientCollectionConfig({\n collection: collectionConfig,\n t: initPageResult.req.i18n.t,\n })}\n collectionSlug={collectionSlug}\n hasCreatePermission={permissions?.collections?.[collectionSlug]?.create?.permission}\n newDocumentURL={`${admin}/collections/${collectionSlug}/create`}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || collectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n modifySearchParams\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={collectionSlug}\n enableRowSelections\n listPreferences={listPreferences}\n preferenceKey={preferenceKey}\n >\n <RenderCustomComponent\n CustomComponent={CustomListView}\n DefaultComponent={DefaultListView}\n componentProps={viewComponentProps}\n />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </Fragment>\n )\n }\n\n return notFound()\n}\n"],"names":["HydrateClientUser","RenderCustomComponent","TableColumnsProvider","ListInfoProvider","ListQueryProvider","notFound","createClientCollectionConfig","isNumber","mergeListSearchAndWhere","React","Fragment","UnauthorizedView","DefaultListView","generateListMetadata","ListView","initPageResult","searchParams","collectionConfig","permissions","req","locale","payload","config","query","user","visibleEntities","collectionSlug","slug","collections","read","permission","listPreferences","preferenceKey","find","collection","depth","limit","where","key","equals","then","res","docs","value","error","routes","admin","components","views","List","CustomList","includes","CustomListView","Component","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","data","draft","fallbackLocale","overrideAccess","viewComponentProps","listSearchableFields","t","i18n","hasCreatePermission","create","newDocumentURL","defaultSort","modifySearchParams","enableRowSelections","CustomComponent","DefaultComponent","componentProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -12,8 +12,8 @@ import { useTranslation } from '@payloadcms/ui/providers/Translation';
12
12
  import { getFormState } from '@payloadcms/ui/utilities/getFormState';
13
13
  import React, { Fragment, useCallback } from 'react';
14
14
  import { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js';
15
+ import { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js';
15
16
  import { SetDocumentTitle } from '../Edit/Default/SetDocumentTitle/index.js';
16
- import { SetStepNav } from '../Edit/Default/SetStepNav/index.js';
17
17
  import { useLivePreviewContext } from './Context/context.js';
18
18
  import { LivePreviewProvider } from './Context/index.js';
19
19
  import { LivePreview } from './Preview/index.js';
@@ -80,7 +80,7 @@ const PreviewView = ({ apiRoute, collectionConfig, config, fieldMap, globalConfi
80
80
  onChange
81
81
  ],
82
82
  onSuccess: onSave
83
- }, (collectionConfig && !(collectionConfig.versions?.drafts && collectionConfig.versions?.drafts?.autosave) || globalConfig && !(globalConfig.versions?.drafts && globalConfig.versions?.drafts?.autosave)) && !disableLeaveWithoutSaving && /*#__PURE__*/ React.createElement(LeaveWithoutSaving, null), /*#__PURE__*/ React.createElement(SetStepNav, {
83
+ }, (collectionConfig && !(collectionConfig.versions?.drafts && collectionConfig.versions?.drafts?.autosave) || globalConfig && !(globalConfig.versions?.drafts && globalConfig.versions?.drafts?.autosave)) && !disableLeaveWithoutSaving && /*#__PURE__*/ React.createElement(LeaveWithoutSaving, null), /*#__PURE__*/ React.createElement(SetDocumentStepNav, {
84
84
  collectionSlug: collectionSlug,
85
85
  globalLabel: globalConfig?.label,
86
86
  globalSlug: globalSlug,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/LivePreview/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui/forms/Form'\nimport type { FieldMap } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { LivePreviewConfig } from 'payload/config'\nimport type { ClientCollectionConfig, ClientConfig, ClientGlobalConfig, Data } from 'payload/types'\n\nimport { DocumentControls } from '@payloadcms/ui/elements/DocumentControls'\nimport { DocumentFields } from '@payloadcms/ui/elements/DocumentFields'\nimport { LoadingOverlay } from '@payloadcms/ui/elements/Loading'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { OperationProvider } from '@payloadcms/ui/providers/Operation'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { SetDocumentTitle } from '../Edit/Default/SetDocumentTitle/index.js'\nimport { SetStepNav } from '../Edit/Default/SetStepNav/index.js'\nimport { useLivePreviewContext } from './Context/context.js'\nimport { LivePreviewProvider } from './Context/index.js'\nimport { LivePreview } from './Preview/index.js'\nimport './index.scss'\nimport { usePopupWindow } from './usePopupWindow.js'\n\nconst baseClass = 'live-preview'\n\ntype Props = {\n apiRoute: string\n collectionConfig?: ClientCollectionConfig\n config: ClientConfig\n fieldMap: FieldMap\n globalConfig?: ClientGlobalConfig\n schemaPath: string\n serverURL: string\n}\n\nconst PreviewView: React.FC<Props> = ({\n apiRoute,\n collectionConfig,\n config,\n fieldMap,\n globalConfig,\n schemaPath,\n serverURL,\n}) => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n globalSlug,\n hasSavePermission,\n initialData,\n initialState,\n onSave: onSaveFromProps,\n } = useDocumentInfo()\n\n const operation = id ? 'update' : 'create'\n\n const { t } = useTranslation()\n const { previewWindowType } = useLivePreviewContext()\n\n const onSave = useCallback(\n (json) => {\n // reportUpdate({\n // id,\n // entitySlug: collectionConfig.slug,\n // updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n // })\n\n // if (auth && id === user.id) {\n // await refreshCookieAsync()\n // }\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n },\n [\n id,\n onSaveFromProps,\n // refreshCookieAsync,\n // reportUpdate\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n docPreferences,\n formState: prevFormState,\n operation,\n schemaPath,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, schemaPath, getDocPreferences],\n )\n\n // Allow the `DocumentInfoProvider` to hydrate\n if (!collectionSlug && !globalSlug) {\n return <LoadingOverlay />\n }\n\n return (\n <Fragment>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={!hasSavePermission}\n initialState={initialState}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {((collectionConfig &&\n !(collectionConfig.versions?.drafts && collectionConfig.versions?.drafts?.autosave)) ||\n (globalConfig &&\n !(globalConfig.versions?.drafts && globalConfig.versions?.drafts?.autosave))) &&\n !disableLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view={t('general:livePreview')}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={id?.toString() || ''}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={initialData}\n disableActions={disableActions}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={Boolean(id)}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <div\n className={[baseClass, previewWindowType === 'popup' && `${baseClass}--detached`]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeDocument}\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={BeforeFields}\n docPermissions={docPermissions}\n fieldMap={fieldMap}\n forceSidebarWrap\n readOnly={!hasSavePermission}\n schemaPath={collectionSlug || globalSlug}\n />\n {AfterDocument}\n </div>\n <LivePreview collectionSlug={collectionSlug} globalSlug={globalSlug} />\n </div>\n </Form>\n </OperationProvider>\n </Fragment>\n )\n}\n\nexport const LivePreviewClient: React.FC<{\n breakpoints: LivePreviewConfig['breakpoints']\n initialData: Data\n url: string\n}> = (props) => {\n const { breakpoints, url } = props\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const config = useConfig()\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const {\n collections,\n globals,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const schemaPath = collectionSlug || globalSlug\n\n const { getComponentMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const { getFieldMap } = useComponentMap()\n\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n return (\n <Fragment>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.LivePreview} />\n <LivePreviewProvider\n breakpoints={breakpoints}\n fieldSchema={collectionConfig?.fields || globalConfig?.fields}\n isPopupOpen={isPopupOpen}\n openPopupWindow={openPopupWindow}\n popupRef={popupRef}\n url={url}\n >\n <PreviewView\n apiRoute={apiRoute}\n collectionConfig={collectionConfig}\n config={config}\n fieldMap={fieldMap}\n globalConfig={globalConfig}\n schemaPath={schemaPath}\n serverURL={serverURL}\n />\n </LivePreviewProvider>\n </Fragment>\n )\n}\n"],"names":["DocumentControls","DocumentFields","LoadingOverlay","Form","SetViewActions","useComponentMap","useConfig","useDocumentInfo","OperationProvider","useTranslation","getFormState","React","Fragment","useCallback","LeaveWithoutSaving","SetDocumentTitle","SetStepNav","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","apiRoute","collectionConfig","config","fieldMap","globalConfig","schemaPath","serverURL","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","globalSlug","hasSavePermission","initialData","initialState","onSave","onSaveFromProps","operation","t","previewWindowType","json","onChange","formState","prevFormState","docPreferences","body","className","disabled","method","onSuccess","versions","drafts","autosave","globalLabel","label","pluralLabel","labels","plural","undefined","useAsTitle","admin","view","fallback","toString","data","isEditing","Boolean","permissions","slug","div","filter","join","forceSidebarWrap","readOnly","LivePreviewClient","props","breakpoints","url","isPopupOpen","openPopupWindow","popupRef","eventType","collections","globals","routes","api","find","collection","global","getComponentMap","componentMap","getFieldMap","actions","actionsMap","Edit","fieldSchema","fields"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/LivePreview/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui/forms/Form'\nimport type { FieldMap } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { LivePreviewConfig } from 'payload/config'\nimport type { ClientCollectionConfig, ClientConfig, ClientGlobalConfig, Data } from 'payload/types'\n\nimport { DocumentControls } from '@payloadcms/ui/elements/DocumentControls'\nimport { DocumentFields } from '@payloadcms/ui/elements/DocumentFields'\nimport { LoadingOverlay } from '@payloadcms/ui/elements/Loading'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { OperationProvider } from '@payloadcms/ui/providers/Operation'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from '../Edit/Default/SetDocumentTitle/index.js'\nimport { useLivePreviewContext } from './Context/context.js'\nimport { LivePreviewProvider } from './Context/index.js'\nimport { LivePreview } from './Preview/index.js'\nimport './index.scss'\nimport { usePopupWindow } from './usePopupWindow.js'\n\nconst baseClass = 'live-preview'\n\ntype Props = {\n apiRoute: string\n collectionConfig?: ClientCollectionConfig\n config: ClientConfig\n fieldMap: FieldMap\n globalConfig?: ClientGlobalConfig\n schemaPath: string\n serverURL: string\n}\n\nconst PreviewView: React.FC<Props> = ({\n apiRoute,\n collectionConfig,\n config,\n fieldMap,\n globalConfig,\n schemaPath,\n serverURL,\n}) => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n globalSlug,\n hasSavePermission,\n initialData,\n initialState,\n onSave: onSaveFromProps,\n } = useDocumentInfo()\n\n const operation = id ? 'update' : 'create'\n\n const { t } = useTranslation()\n const { previewWindowType } = useLivePreviewContext()\n\n const onSave = useCallback(\n (json) => {\n // reportUpdate({\n // id,\n // entitySlug: collectionConfig.slug,\n // updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n // })\n\n // if (auth && id === user.id) {\n // await refreshCookieAsync()\n // }\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n },\n [\n id,\n onSaveFromProps,\n // refreshCookieAsync,\n // reportUpdate\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n docPreferences,\n formState: prevFormState,\n operation,\n schemaPath,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, schemaPath, getDocPreferences],\n )\n\n // Allow the `DocumentInfoProvider` to hydrate\n if (!collectionSlug && !globalSlug) {\n return <LoadingOverlay />\n }\n\n return (\n <Fragment>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={!hasSavePermission}\n initialState={initialState}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {((collectionConfig &&\n !(collectionConfig.versions?.drafts && collectionConfig.versions?.drafts?.autosave)) ||\n (globalConfig &&\n !(globalConfig.versions?.drafts && globalConfig.versions?.drafts?.autosave))) &&\n !disableLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view={t('general:livePreview')}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={id?.toString() || ''}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={initialData}\n disableActions={disableActions}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={Boolean(id)}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <div\n className={[baseClass, previewWindowType === 'popup' && `${baseClass}--detached`]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeDocument}\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={BeforeFields}\n docPermissions={docPermissions}\n fieldMap={fieldMap}\n forceSidebarWrap\n readOnly={!hasSavePermission}\n schemaPath={collectionSlug || globalSlug}\n />\n {AfterDocument}\n </div>\n <LivePreview collectionSlug={collectionSlug} globalSlug={globalSlug} />\n </div>\n </Form>\n </OperationProvider>\n </Fragment>\n )\n}\n\nexport const LivePreviewClient: React.FC<{\n breakpoints: LivePreviewConfig['breakpoints']\n initialData: Data\n url: string\n}> = (props) => {\n const { breakpoints, url } = props\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const config = useConfig()\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const {\n collections,\n globals,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const schemaPath = collectionSlug || globalSlug\n\n const { getComponentMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const { getFieldMap } = useComponentMap()\n\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n return (\n <Fragment>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.LivePreview} />\n <LivePreviewProvider\n breakpoints={breakpoints}\n fieldSchema={collectionConfig?.fields || globalConfig?.fields}\n isPopupOpen={isPopupOpen}\n openPopupWindow={openPopupWindow}\n popupRef={popupRef}\n url={url}\n >\n <PreviewView\n apiRoute={apiRoute}\n collectionConfig={collectionConfig}\n config={config}\n fieldMap={fieldMap}\n globalConfig={globalConfig}\n schemaPath={schemaPath}\n serverURL={serverURL}\n />\n </LivePreviewProvider>\n </Fragment>\n )\n}\n"],"names":["DocumentControls","DocumentFields","LoadingOverlay","Form","SetViewActions","useComponentMap","useConfig","useDocumentInfo","OperationProvider","useTranslation","getFormState","React","Fragment","useCallback","LeaveWithoutSaving","SetDocumentStepNav","SetDocumentTitle","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","apiRoute","collectionConfig","config","fieldMap","globalConfig","schemaPath","serverURL","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","globalSlug","hasSavePermission","initialData","initialState","onSave","onSaveFromProps","operation","t","previewWindowType","json","onChange","formState","prevFormState","docPreferences","body","className","disabled","method","onSuccess","versions","drafts","autosave","globalLabel","label","pluralLabel","labels","plural","undefined","useAsTitle","admin","view","fallback","toString","data","isEditing","Boolean","permissions","slug","div","filter","join","forceSidebarWrap","readOnly","LivePreviewClient","props","breakpoints","url","isPopupOpen","openPopupWindow","popupRef","eventType","collections","globals","routes","api","find","collection","global","getComponentMap","componentMap","getFieldMap","actions","actionsMap","Edit","fieldSchema","fields"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}