@payloadcms/next 3.0.0-beta.106 → 3.0.0-beta.108

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 (104) hide show
  1. package/dist/cjs/withPayload.js +4 -4
  2. package/dist/cjs/withPayload.js.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +28 -24
  5. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  6. package/dist/elements/DocumentLocked/index.d.ts +12 -0
  7. package/dist/elements/DocumentLocked/index.d.ts.map +1 -0
  8. package/dist/elements/DocumentLocked/index.js +142 -0
  9. package/dist/elements/DocumentLocked/index.js.map +1 -0
  10. package/dist/elements/DocumentLocked/index.scss +37 -0
  11. package/dist/elements/DocumentTakeOver/index.d.ts +8 -0
  12. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -0
  13. package/dist/elements/DocumentTakeOver/index.js +98 -0
  14. package/dist/elements/DocumentTakeOver/index.js.map +1 -0
  15. package/dist/elements/DocumentTakeOver/index.scss +37 -0
  16. package/dist/elements/Nav/NavWrapper/index.scss +5 -0
  17. package/dist/elements/Nav/index.scss +5 -1
  18. package/dist/layouts/Root/index.d.ts.map +1 -1
  19. package/dist/layouts/Root/index.js +52 -20
  20. package/dist/layouts/Root/index.js.map +1 -1
  21. package/dist/prod/styles.css +1 -1
  22. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  23. package/dist/routes/rest/collections/find.js +3 -0
  24. package/dist/routes/rest/collections/find.js.map +1 -1
  25. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  26. package/dist/routes/rest/collections/findByID.js +2 -0
  27. package/dist/routes/rest/collections/findByID.js.map +1 -1
  28. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  29. package/dist/routes/rest/collections/updateByID.js +2 -0
  30. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  31. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  32. package/dist/routes/rest/globals/update.js +2 -0
  33. package/dist/routes/rest/globals/update.js.map +1 -1
  34. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +13 -0
  35. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -0
  36. package/dist/routes/rest/utilities/sanitizeJoinParams.js +17 -0
  37. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -0
  38. package/dist/templates/Default/index.d.ts.map +1 -1
  39. package/dist/templates/Default/index.js +18 -6
  40. package/dist/templates/Default/index.js.map +1 -1
  41. package/dist/templates/Default/index.scss +13 -3
  42. package/dist/utilities/initPage/index.d.ts.map +1 -1
  43. package/dist/utilities/initPage/index.js +22 -32
  44. package/dist/utilities/initPage/index.js.map +1 -1
  45. package/dist/utilities/initReq.d.ts +11 -0
  46. package/dist/utilities/initReq.d.ts.map +1 -0
  47. package/dist/utilities/initReq.js +46 -0
  48. package/dist/utilities/initReq.js.map +1 -0
  49. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  50. package/dist/views/CreateFirstUser/index.client.js +4 -1
  51. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  52. package/dist/views/Dashboard/Default/index.d.ts +8 -1
  53. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  54. package/dist/views/Dashboard/Default/index.js +14 -2
  55. package/dist/views/Dashboard/Default/index.js.map +1 -1
  56. package/dist/views/Dashboard/Default/index.scss +5 -0
  57. package/dist/views/Dashboard/index.d.ts.map +1 -1
  58. package/dist/views/Dashboard/index.js +16 -1
  59. package/dist/views/Dashboard/index.js.map +1 -1
  60. package/dist/views/Document/getDocumentData.d.ts +5 -2
  61. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  62. package/dist/views/Document/getDocumentData.js +13 -2
  63. package/dist/views/Document/getDocumentData.js.map +1 -1
  64. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  65. package/dist/views/Edit/Default/index.js +162 -14
  66. package/dist/views/Edit/Default/index.js.map +1 -1
  67. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +3 -0
  68. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  69. package/dist/views/List/Default/index.d.ts.map +1 -1
  70. package/dist/views/List/Default/index.js +62 -58
  71. package/dist/views/List/Default/index.js.map +1 -1
  72. package/dist/views/List/Default/index.scss +1 -1
  73. package/dist/views/List/index.d.ts.map +1 -1
  74. package/dist/views/List/index.js +1 -0
  75. package/dist/views/List/index.js.map +1 -1
  76. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  77. package/dist/views/LivePreview/index.client.js +4 -1
  78. package/dist/views/LivePreview/index.client.js.map +1 -1
  79. package/dist/views/LivePreview/usePopupWindow.js +119 -74
  80. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  81. package/dist/views/Login/LoginForm/index.js +2 -2
  82. package/dist/views/Login/LoginForm/index.js.map +1 -1
  83. package/dist/views/Version/Default/index.d.ts.map +1 -1
  84. package/dist/views/Version/Default/index.js +2 -0
  85. package/dist/views/Version/Default/index.js.map +1 -1
  86. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  87. package/dist/views/Version/SelectComparison/index.js +24 -3
  88. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  89. package/dist/views/Version/SelectComparison/types.d.ts +1 -0
  90. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  91. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  92. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  93. package/dist/views/Versions/buildColumns.js +63 -48
  94. package/dist/views/Versions/buildColumns.js.map +1 -1
  95. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  96. package/dist/views/Versions/cells/AutosaveCell/index.js +48 -20
  97. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  98. package/dist/views/Versions/index.d.ts.map +1 -1
  99. package/dist/views/Versions/index.js +23 -6
  100. package/dist/views/Versions/index.js.map +1 -1
  101. package/dist/withPayload.d.ts.map +1 -1
  102. package/dist/withPayload.js +4 -4
  103. package/dist/withPayload.js.map +1 -1
  104. package/package.json +24 -16
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/find.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAIzD,eAAO,MAAM,IAAI,EAAE,sBA4BlB,CAAA"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/find.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAKzD,eAAO,MAAM,IAAI,EAAE,sBA8BlB,CAAA"}
@@ -2,6 +2,7 @@ import httpStatus from 'http-status';
2
2
  import { findOperation } from 'payload';
3
3
  import { isNumber } from 'payload/shared';
4
4
  import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
+ import { sanitizeJoinParams } from '../utilities/sanitizeJoinParams.js';
5
6
  export const find = async ({
6
7
  collection,
7
8
  req
@@ -9,6 +10,7 @@ export const find = async ({
9
10
  const {
10
11
  depth,
11
12
  draft,
13
+ joins,
12
14
  limit,
13
15
  page,
14
16
  sort,
@@ -18,6 +20,7 @@ export const find = async ({
18
20
  collection,
19
21
  depth: isNumber(depth) ? Number(depth) : undefined,
20
22
  draft: draft === 'true',
23
+ joins: sanitizeJoinParams(joins),
21
24
  limit: isNumber(limit) ? Number(limit) : undefined,
22
25
  page: isNumber(page) ? Number(page) : undefined,
23
26
  req,
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","names":["httpStatus","findOperation","isNumber","headersWithCors","find","collection","req","depth","draft","limit","page","sort","where","query","result","Number","undefined","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/collections/find.ts"],"sourcesContent":["import type { Where } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { findOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const find: CollectionRouteHandler = async ({ collection, req }) => {\n const { depth, draft, limit, page, sort, where } = req.query as {\n depth?: string\n draft?: string\n limit?: string\n page?: string\n sort?: string\n where?: Where\n }\n\n const result = await findOperation({\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: draft === 'true',\n limit: isNumber(limit) ? Number(limit) : undefined,\n page: isNumber(page) ? Number(page) : undefined,\n req,\n sort,\n where,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"mappings":"AAEA,OAAOA,UAAA,MAAgB;AACvB,SAASC,aAAa,QAAQ;AAC9B,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,IAAA,GAA+B,MAAAA,CAAO;EAAEC,UAAU;EAAEC;AAAG,CAAE;EACpE,MAAM;IAAEC,KAAK;IAAEC,KAAK;IAAEC,KAAK;IAAEC,IAAI;IAAEC,IAAI;IAAEC;EAAK,CAAE,GAAGN,GAAA,CAAIO,KAAK;EAS5D,MAAMC,MAAA,GAAS,MAAMb,aAAA,CAAc;IACjCI,UAAA;IACAE,KAAA,EAAOL,QAAA,CAASK,KAAA,IAASQ,MAAA,CAAOR,KAAA,IAASS,SAAA;IACzCR,KAAA,EAAOA,KAAA,KAAU;IACjBC,KAAA,EAAOP,QAAA,CAASO,KAAA,IAASM,MAAA,CAAON,KAAA,IAASO,SAAA;IACzCN,IAAA,EAAMR,QAAA,CAASQ,IAAA,IAAQK,MAAA,CAAOL,IAAA,IAAQM,SAAA;IACtCV,GAAA;IACAK,IAAA;IACAC;EACF;EAEA,OAAOK,QAAA,CAASC,IAAI,CAACJ,MAAA,EAAQ;IAC3BK,OAAA,EAAShB,eAAA,CAAgB;MACvBgB,OAAA,EAAS,IAAIC,OAAA;MACbd;IACF;IACAe,MAAA,EAAQrB,UAAA,CAAWsB;EACrB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"find.js","names":["httpStatus","findOperation","isNumber","headersWithCors","sanitizeJoinParams","find","collection","req","depth","draft","joins","limit","page","sort","where","query","result","Number","undefined","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/collections/find.ts"],"sourcesContent":["import type { JoinQuery, Where } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { findOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeJoinParams } from '../utilities/sanitizeJoinParams.js'\n\nexport const find: CollectionRouteHandler = async ({ collection, req }) => {\n const { depth, draft, joins, limit, page, sort, where } = req.query as {\n depth?: string\n draft?: string\n joins?: JoinQuery\n limit?: string\n page?: string\n sort?: string\n where?: Where\n }\n\n const result = await findOperation({\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: draft === 'true',\n joins: sanitizeJoinParams(joins),\n limit: isNumber(limit) ? Number(limit) : undefined,\n page: isNumber(page) ? Number(page) : undefined,\n req,\n sort,\n where,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"mappings":"AAEA,OAAOA,UAAA,MAAgB;AACvB,SAASC,aAAa,QAAQ;AAC9B,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,kBAAkB,QAAQ;AAEnC,OAAO,MAAMC,IAAA,GAA+B,MAAAA,CAAO;EAAEC,UAAU;EAAEC;AAAG,CAAE;EACpE,MAAM;IAAEC,KAAK;IAAEC,KAAK;IAAEC,KAAK;IAAEC,KAAK;IAAEC,IAAI;IAAEC,IAAI;IAAEC;EAAK,CAAE,GAAGP,GAAA,CAAIQ,KAAK;EAUnE,MAAMC,MAAA,GAAS,MAAMf,aAAA,CAAc;IACjCK,UAAA;IACAE,KAAA,EAAON,QAAA,CAASM,KAAA,IAASS,MAAA,CAAOT,KAAA,IAASU,SAAA;IACzCT,KAAA,EAAOA,KAAA,KAAU;IACjBC,KAAA,EAAON,kBAAA,CAAmBM,KAAA;IAC1BC,KAAA,EAAOT,QAAA,CAASS,KAAA,IAASM,MAAA,CAAON,KAAA,IAASO,SAAA;IACzCN,IAAA,EAAMV,QAAA,CAASU,IAAA,IAAQK,MAAA,CAAOL,IAAA,IAAQM,SAAA;IACtCX,GAAA;IACAM,IAAA;IACAC;EACF;EAEA,OAAOK,QAAA,CAASC,IAAI,CAACJ,MAAA,EAAQ;IAC3BK,OAAA,EAASlB,eAAA,CAAgB;MACvBkB,OAAA,EAAS,IAAIC,OAAA;MACbf;IACF;IACAgB,MAAA,EAAQvB,UAAA,CAAWwB;EACrB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"findByID.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/findByID.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAK/D,eAAO,MAAM,QAAQ,EAAE,4BA6BtB,CAAA"}
1
+ {"version":3,"file":"findByID.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/findByID.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAM/D,eAAO,MAAM,QAAQ,EAAE,4BA8BtB,CAAA"}
@@ -3,6 +3,7 @@ import { findByIDOperation } from 'payload';
3
3
  import { isNumber } from 'payload/shared';
4
4
  import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
5
  import { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js';
6
+ import { sanitizeJoinParams } from '../utilities/sanitizeJoinParams.js';
6
7
  export const findByID = async ({
7
8
  id: incomingID,
8
9
  collection,
@@ -22,6 +23,7 @@ export const findByID = async ({
22
23
  collection,
23
24
  depth: isNumber(depth) ? Number(depth) : undefined,
24
25
  draft: searchParams.get('draft') === 'true',
26
+ joins: sanitizeJoinParams(req.query.joins),
25
27
  req
26
28
  });
27
29
  return Response.json(result, {
@@ -1 +1 @@
1
- {"version":3,"file":"findByID.js","names":["httpStatus","findByIDOperation","isNumber","headersWithCors","sanitizeCollectionID","findByID","id","incomingID","collection","req","searchParams","depth","get","collectionSlug","config","slug","payload","result","Number","undefined","draft","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/collections/findByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { findByIDOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\n\nexport const findByID: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const result = await findByIDOperation({\n id,\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n req,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,oBAAoB,QAAQ;AAErC,OAAO,MAAMC,QAAA,GAAyC,MAAAA,CAAO;EAC3DC,EAAA,EAAIC,UAAU;EACdC,UAAU;EACVC;AAAG,CACJ;EACC,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAE/B,MAAMN,EAAA,GAAKF,oBAAA,CAAqB;IAC9BE,EAAA,EAAIC,UAAA;IACJM,cAAA,EAAgBL,UAAA,CAAWM,MAAM,CAACC,IAAI;IACtCC,OAAA,EAASP,GAAA,CAAIO;EACf;EAEA,MAAMC,MAAA,GAAS,MAAMhB,iBAAA,CAAkB;IACrCK,EAAA;IACAE,UAAA;IACAG,KAAA,EAAOT,QAAA,CAASS,KAAA,IAASO,MAAA,CAAOP,KAAA,IAASQ,SAAA;IACzCC,KAAA,EAAOV,YAAA,CAAaE,GAAG,CAAC,aAAa;IACrCH;EACF;EAEA,OAAOY,QAAA,CAASC,IAAI,CAACL,MAAA,EAAQ;IAC3BM,OAAA,EAASpB,eAAA,CAAgB;MACvBoB,OAAA,EAAS,IAAIC,OAAA;MACbf;IACF;IACAgB,MAAA,EAAQzB,UAAA,CAAW0B;EACrB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"findByID.js","names":["httpStatus","findByIDOperation","isNumber","headersWithCors","sanitizeCollectionID","sanitizeJoinParams","findByID","id","incomingID","collection","req","searchParams","depth","get","collectionSlug","config","slug","payload","result","Number","undefined","draft","joins","query","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/collections/findByID.ts"],"sourcesContent":["import type { JoinQuery } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { findByIDOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\nimport { sanitizeJoinParams } from '../utilities/sanitizeJoinParams.js'\n\nexport const findByID: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const result = await findByIDOperation({\n id,\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n joins: sanitizeJoinParams(req.query.joins as JoinQuery),\n req,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"mappings":"AAEA,OAAOA,UAAA,MAAgB;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,kBAAkB,QAAQ;AAEnC,OAAO,MAAMC,QAAA,GAAyC,MAAAA,CAAO;EAC3DC,EAAA,EAAIC,UAAU;EACdC,UAAU;EACVC;AAAG,CACJ;EACC,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAE/B,MAAMN,EAAA,GAAKH,oBAAA,CAAqB;IAC9BG,EAAA,EAAIC,UAAA;IACJM,cAAA,EAAgBL,UAAA,CAAWM,MAAM,CAACC,IAAI;IACtCC,OAAA,EAASP,GAAA,CAAIO;EACf;EAEA,MAAMC,MAAA,GAAS,MAAMjB,iBAAA,CAAkB;IACrCM,EAAA;IACAE,UAAA;IACAG,KAAA,EAAOV,QAAA,CAASU,KAAA,IAASO,MAAA,CAAOP,KAAA,IAASQ,SAAA;IACzCC,KAAA,EAAOV,YAAA,CAAaE,GAAG,CAAC,aAAa;IACrCS,KAAA,EAAOjB,kBAAA,CAAmBK,GAAA,CAAIa,KAAK,CAACD,KAAK;IACzCZ;EACF;EAEA,OAAOc,QAAA,CAASC,IAAI,CAACP,MAAA,EAAQ;IAC3BQ,OAAA,EAASvB,eAAA,CAAgB;MACvBuB,OAAA,EAAS,IAAIC,OAAA;MACbjB;IACF;IACAkB,MAAA,EAAQ5B,UAAA,CAAW6B;EACrB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"updateByID.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/updateByID.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAK/D,eAAO,MAAM,UAAU,EAAE,4BAgDxB,CAAA"}
1
+ {"version":3,"file":"updateByID.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/updateByID.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAK/D,eAAO,MAAM,UAAU,EAAE,4BAkDxB,CAAA"}
@@ -14,6 +14,7 @@ export const updateByID = async ({
14
14
  const depth = searchParams.get('depth');
15
15
  const autosave = searchParams.get('autosave') === 'true';
16
16
  const draft = searchParams.get('draft') === 'true';
17
+ const publishSpecificLocale = req.query.publishSpecificLocale;
17
18
  const id = sanitizeCollectionID({
18
19
  id: incomingID,
19
20
  collectionSlug: collection.config.slug,
@@ -26,6 +27,7 @@ export const updateByID = async ({
26
27
  data: req.data,
27
28
  depth: isNumber(depth) ? Number(depth) : undefined,
28
29
  draft,
30
+ publishSpecificLocale,
29
31
  req
30
32
  });
31
33
  let message = req.t('general:updatedSuccessfully');
@@ -1 +1 @@
1
- {"version":3,"file":"updateByID.js","names":["httpStatus","updateByIDOperation","isNumber","headersWithCors","sanitizeCollectionID","updateByID","id","incomingID","collection","req","searchParams","depth","get","autosave","draft","collectionSlug","config","slug","payload","doc","data","Number","undefined","message","t","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/collections/updateByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateByIDOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\n\nexport const updateByID: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const autosave = searchParams.get('autosave') === 'true'\n const draft = searchParams.get('draft') === 'true'\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const doc = await updateByIDOperation({\n id,\n autosave,\n collection,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n req,\n })\n\n let message = req.t('general:updatedSuccessfully')\n\n if (draft) {\n message = req.t('version:draftSavedSuccessfully')\n }\n if (autosave) {\n message = req.t('version:autosavedSuccessfully')\n }\n\n return Response.json(\n {\n doc,\n message,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,oBAAoB,QAAQ;AAErC,OAAO,MAAMC,UAAA,GAA2C,MAAAA,CAAO;EAC7DC,EAAA,EAAIC,UAAU;EACdC,UAAU;EACVC;AAAG,CACJ;EACC,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAC/B,MAAMC,QAAA,GAAWH,YAAA,CAAaE,GAAG,CAAC,gBAAgB;EAClD,MAAME,KAAA,GAAQJ,YAAA,CAAaE,GAAG,CAAC,aAAa;EAE5C,MAAMN,EAAA,GAAKF,oBAAA,CAAqB;IAC9BE,EAAA,EAAIC,UAAA;IACJQ,cAAA,EAAgBP,UAAA,CAAWQ,MAAM,CAACC,IAAI;IACtCC,OAAA,EAAST,GAAA,CAAIS;EACf;EAEA,MAAMC,GAAA,GAAM,MAAMlB,mBAAA,CAAoB;IACpCK,EAAA;IACAO,QAAA;IACAL,UAAA;IACAY,IAAA,EAAMX,GAAA,CAAIW,IAAI;IACdT,KAAA,EAAOT,QAAA,CAASS,KAAA,IAASU,MAAA,CAAOV,KAAA,IAASW,SAAA;IACzCR,KAAA;IACAL;EACF;EAEA,IAAIc,OAAA,GAAUd,GAAA,CAAIe,CAAC,CAAC;EAEpB,IAAIV,KAAA,EAAO;IACTS,OAAA,GAAUd,GAAA,CAAIe,CAAC,CAAC;EAClB;EACA,IAAIX,QAAA,EAAU;IACZU,OAAA,GAAUd,GAAA,CAAIe,CAAC,CAAC;EAClB;EAEA,OAAOC,QAAA,CAASC,IAAI,CAClB;IACEP,GAAA;IACAI;EACF,GACA;IACEI,OAAA,EAASxB,eAAA,CAAgB;MACvBwB,OAAA,EAAS,IAAIC,OAAA;MACbnB;IACF;IACAoB,MAAA,EAAQ7B,UAAA,CAAW8B;EACrB;AAEJ","ignoreList":[]}
1
+ {"version":3,"file":"updateByID.js","names":["httpStatus","updateByIDOperation","isNumber","headersWithCors","sanitizeCollectionID","updateByID","id","incomingID","collection","req","searchParams","depth","get","autosave","draft","publishSpecificLocale","query","collectionSlug","config","slug","payload","doc","data","Number","undefined","message","t","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/collections/updateByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateByIDOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\n\nexport const updateByID: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const autosave = searchParams.get('autosave') === 'true'\n const draft = searchParams.get('draft') === 'true'\n const publishSpecificLocale = req.query.publishSpecificLocale as string | undefined\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const doc = await updateByIDOperation({\n id,\n autosave,\n collection,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n publishSpecificLocale,\n req,\n })\n\n let message = req.t('general:updatedSuccessfully')\n\n if (draft) {\n message = req.t('version:draftSavedSuccessfully')\n }\n if (autosave) {\n message = req.t('version:autosavedSuccessfully')\n }\n\n return Response.json(\n {\n doc,\n message,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,oBAAoB,QAAQ;AAErC,OAAO,MAAMC,UAAA,GAA2C,MAAAA,CAAO;EAC7DC,EAAA,EAAIC,UAAU;EACdC,UAAU;EACVC;AAAG,CACJ;EACC,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAC/B,MAAMC,QAAA,GAAWH,YAAA,CAAaE,GAAG,CAAC,gBAAgB;EAClD,MAAME,KAAA,GAAQJ,YAAA,CAAaE,GAAG,CAAC,aAAa;EAC5C,MAAMG,qBAAA,GAAwBN,GAAA,CAAIO,KAAK,CAACD,qBAAqB;EAE7D,MAAMT,EAAA,GAAKF,oBAAA,CAAqB;IAC9BE,EAAA,EAAIC,UAAA;IACJU,cAAA,EAAgBT,UAAA,CAAWU,MAAM,CAACC,IAAI;IACtCC,OAAA,EAASX,GAAA,CAAIW;EACf;EAEA,MAAMC,GAAA,GAAM,MAAMpB,mBAAA,CAAoB;IACpCK,EAAA;IACAO,QAAA;IACAL,UAAA;IACAc,IAAA,EAAMb,GAAA,CAAIa,IAAI;IACdX,KAAA,EAAOT,QAAA,CAASS,KAAA,IAASY,MAAA,CAAOZ,KAAA,IAASa,SAAA;IACzCV,KAAA;IACAC,qBAAA;IACAN;EACF;EAEA,IAAIgB,OAAA,GAAUhB,GAAA,CAAIiB,CAAC,CAAC;EAEpB,IAAIZ,KAAA,EAAO;IACTW,OAAA,GAAUhB,GAAA,CAAIiB,CAAC,CAAC;EAClB;EACA,IAAIb,QAAA,EAAU;IACZY,OAAA,GAAUhB,GAAA,CAAIiB,CAAC,CAAC;EAClB;EAEA,OAAOC,QAAA,CAASC,IAAI,CAClB;IACEP,GAAA;IACAI;EACF,GACA;IACEI,OAAA,EAAS1B,eAAA,CAAgB;MACvB0B,OAAA,EAAS,IAAIC,OAAA;MACbrB;IACF;IACAsB,MAAA,EAAQ/B,UAAA,CAAWgC;EACrB;AAEJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/update.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIrD,eAAO,MAAM,MAAM,EAAE,kBAsCpB,CAAA"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/update.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIrD,eAAO,MAAM,MAAM,EAAE,kBAwCpB,CAAA"}
@@ -12,6 +12,7 @@ export const update = async ({
12
12
  const depth = searchParams.get('depth');
13
13
  const draft = searchParams.get('draft') === 'true';
14
14
  const autosave = searchParams.get('autosave') === 'true';
15
+ const publishSpecificLocale = req.query.publishSpecificLocale;
15
16
  const result = await updateOperationGlobal({
16
17
  slug: globalConfig.slug,
17
18
  autosave,
@@ -19,6 +20,7 @@ export const update = async ({
19
20
  depth: isNumber(depth) ? Number(depth) : undefined,
20
21
  draft,
21
22
  globalConfig,
23
+ publishSpecificLocale,
22
24
  req
23
25
  });
24
26
  let message = req.t('general:updatedSuccessfully');
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","names":["httpStatus","updateOperationGlobal","isNumber","headersWithCors","update","globalConfig","req","searchParams","depth","get","draft","autosave","result","slug","data","Number","undefined","message","t","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/update.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const update: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const draft = searchParams.get('draft') === 'true'\n const autosave = searchParams.get('autosave') === 'true'\n\n const result = await updateOperationGlobal({\n slug: globalConfig.slug,\n autosave,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n globalConfig,\n req,\n })\n\n let message = req.t('general:updatedSuccessfully')\n\n if (draft) {\n message = req.t('version:draftSavedSuccessfully')\n }\n if (autosave) {\n message = req.t('version:autosavedSuccessfully')\n }\n\n return Response.json(\n {\n message,\n result,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,MAAA,GAA6B,MAAAA,CAAO;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACpE,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAC/B,MAAMC,KAAA,GAAQH,YAAA,CAAaE,GAAG,CAAC,aAAa;EAC5C,MAAME,QAAA,GAAWJ,YAAA,CAAaE,GAAG,CAAC,gBAAgB;EAElD,MAAMG,MAAA,GAAS,MAAMX,qBAAA,CAAsB;IACzCY,IAAA,EAAMR,YAAA,CAAaQ,IAAI;IACvBF,QAAA;IACAG,IAAA,EAAMR,GAAA,CAAIQ,IAAI;IACdN,KAAA,EAAON,QAAA,CAASM,KAAA,IAASO,MAAA,CAAOP,KAAA,IAASQ,SAAA;IACzCN,KAAA;IACAL,YAAA;IACAC;EACF;EAEA,IAAIW,OAAA,GAAUX,GAAA,CAAIY,CAAC,CAAC;EAEpB,IAAIR,KAAA,EAAO;IACTO,OAAA,GAAUX,GAAA,CAAIY,CAAC,CAAC;EAClB;EACA,IAAIP,QAAA,EAAU;IACZM,OAAA,GAAUX,GAAA,CAAIY,CAAC,CAAC;EAClB;EAEA,OAAOC,QAAA,CAASC,IAAI,CAClB;IACEH,OAAA;IACAL;EACF,GACA;IACES,OAAA,EAASlB,eAAA,CAAgB;MACvBkB,OAAA,EAAS,IAAIC,OAAA;MACbhB;IACF;IACAiB,MAAA,EAAQvB,UAAA,CAAWwB;EACrB;AAEJ","ignoreList":[]}
1
+ {"version":3,"file":"update.js","names":["httpStatus","updateOperationGlobal","isNumber","headersWithCors","update","globalConfig","req","searchParams","depth","get","draft","autosave","publishSpecificLocale","query","result","slug","data","Number","undefined","message","t","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/update.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const update: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const draft = searchParams.get('draft') === 'true'\n const autosave = searchParams.get('autosave') === 'true'\n const publishSpecificLocale = req.query.publishSpecificLocale as string | undefined\n\n const result = await updateOperationGlobal({\n slug: globalConfig.slug,\n autosave,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n globalConfig,\n publishSpecificLocale,\n req,\n })\n\n let message = req.t('general:updatedSuccessfully')\n\n if (draft) {\n message = req.t('version:draftSavedSuccessfully')\n }\n if (autosave) {\n message = req.t('version:autosavedSuccessfully')\n }\n\n return Response.json(\n {\n message,\n result,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,MAAA,GAA6B,MAAAA,CAAO;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACpE,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAC/B,MAAMC,KAAA,GAAQH,YAAA,CAAaE,GAAG,CAAC,aAAa;EAC5C,MAAME,QAAA,GAAWJ,YAAA,CAAaE,GAAG,CAAC,gBAAgB;EAClD,MAAMG,qBAAA,GAAwBN,GAAA,CAAIO,KAAK,CAACD,qBAAqB;EAE7D,MAAME,MAAA,GAAS,MAAMb,qBAAA,CAAsB;IACzCc,IAAA,EAAMV,YAAA,CAAaU,IAAI;IACvBJ,QAAA;IACAK,IAAA,EAAMV,GAAA,CAAIU,IAAI;IACdR,KAAA,EAAON,QAAA,CAASM,KAAA,IAASS,MAAA,CAAOT,KAAA,IAASU,SAAA;IACzCR,KAAA;IACAL,YAAA;IACAO,qBAAA;IACAN;EACF;EAEA,IAAIa,OAAA,GAAUb,GAAA,CAAIc,CAAC,CAAC;EAEpB,IAAIV,KAAA,EAAO;IACTS,OAAA,GAAUb,GAAA,CAAIc,CAAC,CAAC;EAClB;EACA,IAAIT,QAAA,EAAU;IACZQ,OAAA,GAAUb,GAAA,CAAIc,CAAC,CAAC;EAClB;EAEA,OAAOC,QAAA,CAASC,IAAI,CAClB;IACEH,OAAA;IACAL;EACF,GACA;IACES,OAAA,EAASpB,eAAA,CAAgB;MACvBoB,OAAA,EAAS,IAAIC,OAAA;MACblB;IACF;IACAmB,MAAA,EAAQzB,UAAA,CAAW0B;EACrB;AAEJ","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import type { JoinQuery } from 'payload';
2
+ /**
3
+ * Convert request JoinQuery object from strings to numbers
4
+ * @param joins
5
+ */
6
+ export declare const sanitizeJoinParams: (joins?: {
7
+ [schemaPath: string]: {
8
+ limit?: unknown;
9
+ sort?: string;
10
+ where?: unknown;
11
+ };
12
+ } | false) => JoinQuery;
13
+ //# sourceMappingURL=sanitizeJoinParams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizeJoinParams.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/utilities/sanitizeJoinParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,WAEzB;IACE,CAAC,UAAU,EAAE,MAAM,GAAG;QACpB,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;CACF,GACD,KAAK,KACR,SAYF,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { isNumber } from 'payload/shared';
2
+ /**
3
+ * Convert request JoinQuery object from strings to numbers
4
+ * @param joins
5
+ */
6
+ export const sanitizeJoinParams = (joins = {}) => {
7
+ const joinQuery = {};
8
+ Object.keys(joins).forEach(schemaPath => {
9
+ joinQuery[schemaPath] = {
10
+ limit: isNumber(joins[schemaPath]?.limit) ? Number(joins[schemaPath].limit) : undefined,
11
+ sort: joins[schemaPath]?.sort ? joins[schemaPath].sort : undefined,
12
+ where: joins[schemaPath]?.where ? joins[schemaPath].where : undefined
13
+ };
14
+ });
15
+ return joinQuery;
16
+ };
17
+ //# sourceMappingURL=sanitizeJoinParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizeJoinParams.js","names":["isNumber","sanitizeJoinParams","joins","joinQuery","Object","keys","forEach","schemaPath","limit","Number","undefined","sort","where"],"sources":["../../../../src/routes/rest/utilities/sanitizeJoinParams.ts"],"sourcesContent":["import type { JoinQuery } from 'payload'\n\nimport { isNumber } from 'payload/shared'\n\n/**\n * Convert request JoinQuery object from strings to numbers\n * @param joins\n */\nexport const sanitizeJoinParams = (\n joins:\n | {\n [schemaPath: string]: {\n limit?: unknown\n sort?: string\n where?: unknown\n }\n }\n | false = {},\n): JoinQuery => {\n const joinQuery = {}\n\n Object.keys(joins).forEach((schemaPath) => {\n joinQuery[schemaPath] = {\n limit: isNumber(joins[schemaPath]?.limit) ? Number(joins[schemaPath].limit) : undefined,\n sort: joins[schemaPath]?.sort ? joins[schemaPath].sort : undefined,\n where: joins[schemaPath]?.where ? joins[schemaPath].where : undefined,\n }\n })\n\n return joinQuery\n}\n"],"mappings":"AAEA,SAASA,QAAQ,QAAQ;AAEzB;;;;AAIA,OAAO,MAAMC,kBAAA,GAAqBA,CAChCC,KAAA,GAQY,CAAC,CAAC;EAEd,MAAMC,SAAA,GAAY,CAAC;EAEnBC,MAAA,CAAOC,IAAI,CAACH,KAAA,EAAOI,OAAO,CAAEC,UAAA;IAC1BJ,SAAS,CAACI,UAAA,CAAW,GAAG;MACtBC,KAAA,EAAOR,QAAA,CAASE,KAAK,CAACK,UAAA,CAAW,EAAEC,KAAA,IAASC,MAAA,CAAOP,KAAK,CAACK,UAAA,CAAW,CAACC,KAAK,IAAIE,SAAA;MAC9EC,IAAA,EAAMT,KAAK,CAACK,UAAA,CAAW,EAAEI,IAAA,GAAOT,KAAK,CAACK,UAAA,CAAW,CAACI,IAAI,GAAGD,SAAA;MACzDE,KAAA,EAAOV,KAAK,CAACK,UAAA,CAAW,EAAEK,KAAA,GAAQV,KAAK,CAACK,UAAA,CAAW,CAACK,KAAK,GAAGF;IAC9D;EACF;EAEA,OAAOP,SAAA;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI5E,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,eAAe,CAAA;CACjC,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA6D1D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI5E,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,eAAe,CAAA;CACjC,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAwE1D,CAAA"}
@@ -21,8 +21,10 @@ export const DefaultTemplate = ({
21
21
  const {
22
22
  admin: {
23
23
  components: {
24
+ header: CustomHeader,
24
25
  Nav: CustomNav
25
26
  } = {
27
+ header: undefined,
26
28
  Nav: undefined
27
29
  }
28
30
  } = {}
@@ -40,16 +42,26 @@ export const DefaultTemplate = ({
40
42
  }
41
43
  });
42
44
  const MappedDefaultNav = createMappedComponent(CustomNav, undefined, DefaultNav, 'CustomNav');
45
+ const MappedCustomHeader = createMappedComponent(CustomHeader, undefined, undefined, 'CustomHeader');
43
46
  return /*#__PURE__*/_jsx(EntityVisibilityProvider, {
44
47
  visibleEntities: visibleEntities,
45
- children: /*#__PURE__*/_jsx(BulkUploadProvider, {
46
- children: /*#__PURE__*/_jsxs("div", {
48
+ children: /*#__PURE__*/_jsxs(BulkUploadProvider, {
49
+ children: [/*#__PURE__*/_jsx(RenderComponent, {
50
+ mappedComponent: MappedCustomHeader
51
+ }), /*#__PURE__*/_jsxs("div", {
52
+ style: {
53
+ position: 'relative'
54
+ },
47
55
  children: [/*#__PURE__*/_jsx("div", {
48
56
  className: `${baseClass}__nav-toggler-wrapper`,
49
57
  id: "nav-toggler",
50
- children: /*#__PURE__*/_jsx(NavToggler, {
51
- className: `${baseClass}__nav-toggler`,
52
- children: /*#__PURE__*/_jsx(NavHamburger, {})
58
+ children: /*#__PURE__*/_jsx("div", {
59
+ className: `${baseClass}__nav-toggler-container`,
60
+ id: "nav-toggler",
61
+ children: /*#__PURE__*/_jsx(NavToggler, {
62
+ className: `${baseClass}__nav-toggler`,
63
+ children: /*#__PURE__*/_jsx(NavHamburger, {})
64
+ })
53
65
  })
54
66
  }), /*#__PURE__*/_jsxs(Wrapper, {
55
67
  baseClass: baseClass,
@@ -61,7 +73,7 @@ export const DefaultTemplate = ({
61
73
  children: [/*#__PURE__*/_jsx(AppHeader, {}), children]
62
74
  })]
63
75
  })]
64
- })
76
+ })]
65
77
  })
66
78
  });
67
79
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AppHeader","BulkUploadProvider","EntityVisibilityProvider","NavToggler","getCreateMappedComponent","RenderComponent","React","DefaultNav","NavHamburger","Wrapper","baseClass","DefaultTemplate","children","className","i18n","locale","params","payload","permissions","searchParams","user","visibleEntities","admin","components","Nav","CustomNav","undefined","config","createMappedComponent","importMap","serverProps","MappedDefaultNav","_jsx","_jsxs","id","mappedComponent"],"sources":["../../../src/templates/Default/index.tsx"],"sourcesContent":["import type { MappedComponent, ServerProps, VisibleEntities } from 'payload'\n\nimport { AppHeader, BulkUploadProvider, EntityVisibilityProvider, NavToggler } from '@payloadcms/ui'\nimport { getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { DefaultNav } from '../../elements/Nav/index.js'\nimport './index.scss'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { Wrapper } from './Wrapper/index.js'\n\nconst baseClass = 'template-default'\n\nexport type DefaultTemplateProps = {\n children?: React.ReactNode\n className?: string\n visibleEntities: VisibleEntities\n} & ServerProps\n\nexport const DefaultTemplate: React.FC<DefaultTemplateProps> = ({\n children,\n className,\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n visibleEntities,\n}) => {\n const {\n admin: {\n components: { Nav: CustomNav } = {\n Nav: undefined,\n },\n } = {},\n } = payload.config || {}\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const MappedDefaultNav: MappedComponent = createMappedComponent(\n CustomNav,\n undefined,\n DefaultNav,\n 'CustomNav',\n )\n\n return (\n <EntityVisibilityProvider visibleEntities={visibleEntities}>\n <BulkUploadProvider>\n <div>\n <div className={`${baseClass}__nav-toggler-wrapper`} id=\"nav-toggler\">\n <NavToggler className={`${baseClass}__nav-toggler`}>\n <NavHamburger />\n </NavToggler>\n </div>\n <Wrapper baseClass={baseClass} className={className}>\n <RenderComponent mappedComponent={MappedDefaultNav} />\n\n <div className={`${baseClass}__wrap`}>\n <AppHeader />\n {children}\n </div>\n </Wrapper>\n </div>\n </BulkUploadProvider>\n </EntityVisibilityProvider>\n )\n}\n"],"mappings":";AAEA,SAASA,SAAS,EAAEC,kBAAkB,EAAEC,wBAAwB,EAAEC,UAAU,QAAQ;AACpF,SAASC,wBAAwB,EAAEC,eAAe,QAAQ;AAC1D,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAE3B,SAASC,YAAY,QAAQ;AAC7B,SAASC,OAAO,QAAQ;AAExB,MAAMC,SAAA,GAAY;AAQlB,OAAO,MAAMC,eAAA,GAAkDA,CAAC;EAC9DC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,WAAW;EACXC,YAAY;EACZC,IAAI;EACJC;AAAe,CAChB;EACC,MAAM;IACJC,KAAA,EAAO;MACLC,UAAA,EAAY;QAAEC,GAAA,EAAKC;MAAS,CAAE,GAAG;QAC/BD,GAAA,EAAKE;MACP;IAAC,CACF,GAAG,CAAC;EAAC,CACP,GAAGT,OAAA,CAAQU,MAAM,IAAI,CAAC;EAEvB,MAAMC,qBAAA,GAAwBxB,wBAAA,CAAyB;IACrDyB,SAAA,EAAWZ,OAAA,CAAQY,SAAS;IAC5BC,WAAA,EAAa;MACXhB,IAAA;MACAC,MAAA;MACAC,MAAA;MACAC,OAAA;MACAC,WAAA;MACAC,YAAA;MACAC;IACF;EACF;EAEA,MAAMW,gBAAA,GAAoCH,qBAAA,CACxCH,SAAA,EACAC,SAAA,EACAnB,UAAA,EACA;EAGF,oBACEyB,IAAA,CAAC9B,wBAAA;IAAyBmB,eAAA,EAAiBA,eAAA;cACzC,aAAAW,IAAA,CAAC/B,kBAAA;gBACC,aAAAgC,KAAA,CAAC;gCACCD,IAAA,CAAC;UAAInB,SAAA,EAAW,GAAGH,SAAA,uBAAgC;UAAEwB,EAAA,EAAG;oBACtD,aAAAF,IAAA,CAAC7B,UAAA;YAAWU,SAAA,EAAW,GAAGH,SAAA,eAAwB;sBAChD,aAAAsB,IAAA,CAACxB,YAAA;;yBAGLyB,KAAA,CAACxB,OAAA;UAAQC,SAAA,EAAWA,SAAA;UAAWG,SAAA,EAAWA,SAAA;kCACxCmB,IAAA,CAAC3B,eAAA;YAAgB8B,eAAA,EAAiBJ;2BAElCE,KAAA,CAAC;YAAIpB,SAAA,EAAW,GAAGH,SAAA,QAAiB;oCAClCsB,IAAA,CAAChC,SAAA,OACAY,QAAA;;;;;;AAOf","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["AppHeader","BulkUploadProvider","EntityVisibilityProvider","NavToggler","getCreateMappedComponent","RenderComponent","React","DefaultNav","NavHamburger","Wrapper","baseClass","DefaultTemplate","children","className","i18n","locale","params","payload","permissions","searchParams","user","visibleEntities","admin","components","header","CustomHeader","Nav","CustomNav","undefined","config","createMappedComponent","importMap","serverProps","MappedDefaultNav","MappedCustomHeader","_jsx","_jsxs","mappedComponent","style","position","id"],"sources":["../../../src/templates/Default/index.tsx"],"sourcesContent":["import type { MappedComponent, ServerProps, VisibleEntities } from 'payload'\n\nimport { AppHeader, BulkUploadProvider, EntityVisibilityProvider, NavToggler } from '@payloadcms/ui'\nimport { getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { DefaultNav } from '../../elements/Nav/index.js'\nimport './index.scss'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { Wrapper } from './Wrapper/index.js'\n\nconst baseClass = 'template-default'\n\nexport type DefaultTemplateProps = {\n children?: React.ReactNode\n className?: string\n visibleEntities: VisibleEntities\n} & ServerProps\n\nexport const DefaultTemplate: React.FC<DefaultTemplateProps> = ({\n children,\n className,\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n visibleEntities,\n}) => {\n const {\n admin: {\n components: { header: CustomHeader, Nav: CustomNav } = {\n header: undefined,\n Nav: undefined,\n },\n } = {},\n } = payload.config || {}\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const MappedDefaultNav: MappedComponent = createMappedComponent(\n CustomNav,\n undefined,\n DefaultNav,\n 'CustomNav',\n )\n\n const MappedCustomHeader = createMappedComponent(\n CustomHeader,\n undefined,\n undefined,\n 'CustomHeader',\n )\n\n return (\n <EntityVisibilityProvider visibleEntities={visibleEntities}>\n <BulkUploadProvider>\n <RenderComponent mappedComponent={MappedCustomHeader} />\n <div style={{ position: 'relative' }}>\n <div className={`${baseClass}__nav-toggler-wrapper`} id=\"nav-toggler\">\n <div className={`${baseClass}__nav-toggler-container`} id=\"nav-toggler\">\n <NavToggler className={`${baseClass}__nav-toggler`}>\n <NavHamburger />\n </NavToggler>\n </div>\n </div>\n <Wrapper baseClass={baseClass} className={className}>\n <RenderComponent mappedComponent={MappedDefaultNav} />\n\n <div className={`${baseClass}__wrap`}>\n <AppHeader />\n {children}\n </div>\n </Wrapper>\n </div>\n </BulkUploadProvider>\n </EntityVisibilityProvider>\n )\n}\n"],"mappings":";AAEA,SAASA,SAAS,EAAEC,kBAAkB,EAAEC,wBAAwB,EAAEC,UAAU,QAAQ;AACpF,SAASC,wBAAwB,EAAEC,eAAe,QAAQ;AAC1D,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAE3B,SAASC,YAAY,QAAQ;AAC7B,SAASC,OAAO,QAAQ;AAExB,MAAMC,SAAA,GAAY;AAQlB,OAAO,MAAMC,eAAA,GAAkDA,CAAC;EAC9DC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,WAAW;EACXC,YAAY;EACZC,IAAI;EACJC;AAAe,CAChB;EACC,MAAM;IACJC,KAAA,EAAO;MACLC,UAAA,EAAY;QAAEC,MAAA,EAAQC,YAAY;QAAEC,GAAA,EAAKC;MAAS,CAAE,GAAG;QACrDH,MAAA,EAAQI,SAAA;QACRF,GAAA,EAAKE;MACP;IAAC,CACF,GAAG,CAAC;EAAC,CACP,GAAGX,OAAA,CAAQY,MAAM,IAAI,CAAC;EAEvB,MAAMC,qBAAA,GAAwB1B,wBAAA,CAAyB;IACrD2B,SAAA,EAAWd,OAAA,CAAQc,SAAS;IAC5BC,WAAA,EAAa;MACXlB,IAAA;MACAC,MAAA;MACAC,MAAA;MACAC,OAAA;MACAC,WAAA;MACAC,YAAA;MACAC;IACF;EACF;EAEA,MAAMa,gBAAA,GAAoCH,qBAAA,CACxCH,SAAA,EACAC,SAAA,EACArB,UAAA,EACA;EAGF,MAAM2B,kBAAA,GAAqBJ,qBAAA,CACzBL,YAAA,EACAG,SAAA,EACAA,SAAA,EACA;EAGF,oBACEO,IAAA,CAACjC,wBAAA;IAAyBmB,eAAA,EAAiBA,eAAA;cACzC,aAAAe,KAAA,CAACnC,kBAAA;8BACCkC,IAAA,CAAC9B,eAAA;QAAgBgC,eAAA,EAAiBH;uBAClCE,KAAA,CAAC;QAAIE,KAAA,EAAO;UAAEC,QAAA,EAAU;QAAW;gCACjCJ,IAAA,CAAC;UAAItB,SAAA,EAAW,GAAGH,SAAA,uBAAgC;UAAE8B,EAAA,EAAG;oBACtD,aAAAL,IAAA,CAAC;YAAItB,SAAA,EAAW,GAAGH,SAAA,yBAAkC;YAAE8B,EAAA,EAAG;sBACxD,aAAAL,IAAA,CAAChC,UAAA;cAAWU,SAAA,EAAW,GAAGH,SAAA,eAAwB;wBAChD,aAAAyB,IAAA,CAAC3B,YAAA;;;yBAIP4B,KAAA,CAAC3B,OAAA;UAAQC,SAAA,EAAWA,SAAA;UAAWG,SAAA,EAAWA,SAAA;kCACxCsB,IAAA,CAAC9B,eAAA;YAAgBgC,eAAA,EAAiBJ;2BAElCG,KAAA,CAAC;YAAIvB,SAAA,EAAW,GAAGH,SAAA,QAAiB;oCAClCyB,IAAA,CAACnC,SAAA,OACAY,QAAA;;;;;;AAOf","ignoreList":[]}
@@ -10,17 +10,27 @@
10
10
  }
11
11
 
12
12
  &__nav-toggler-wrapper {
13
- position: fixed;
13
+ position: sticky;
14
14
  z-index: var(--z-modal);
15
15
  top: 0;
16
16
  left: 0;
17
- height: var(--app-header-height);
17
+ height: 0;
18
18
  width: var(--gutter-h);
19
19
  display: flex;
20
- align-items: center;
21
20
  justify-content: center;
22
21
  }
23
22
 
23
+ &__nav-toggler-container {
24
+ height: var(--app-header-height);
25
+ display: flex;
26
+ align-items: center;
27
+ }
28
+
29
+ &__nav-toggler {
30
+ display: flex;
31
+ align-items: center;
32
+ }
33
+
24
34
  &__wrap {
25
35
  min-width: 0;
26
36
  width: 100%;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,SAAS,CAAA;AAQtF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOtC,eAAO,MAAM,QAAQ,4FAMlB,IAAI,KAAG,OAAO,CAAC,cAAc,CA4I/B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,SAAS,CAAA;AAOtF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOtC,eAAO,MAAM,QAAQ,4FAMlB,IAAI,KAAG,OAAO,CAAC,cAAc,CA0I/B,CAAA"}
@@ -1,10 +1,9 @@
1
- import { initI18n } from '@payloadcms/translations';
2
1
  import { findLocaleFromCode } from '@payloadcms/ui/shared';
3
2
  import { headers as getHeaders } from 'next/headers.js';
4
3
  import { createLocalReq, isEntityHidden, parseCookies } from 'payload';
5
4
  import * as qs from 'qs-esm';
6
5
  import { getPayloadHMR } from '../getPayloadHMR.js';
7
- import { getRequestLanguage } from '../getRequestLanguage.js';
6
+ import { initReq } from '../initReq.js';
8
7
  import { handleAdminPage } from './handleAdminPage.js';
9
8
  import { handleAuthRedirect } from './handleAuthRedirect.js';
10
9
  export const initPage = async ({
@@ -19,38 +18,27 @@ export const initPage = async ({
19
18
  config: configPromise,
20
19
  importMap
21
20
  });
21
+ const queryString = `${qs.stringify(searchParams ?? {}, {
22
+ addQueryPrefix: true
23
+ })}`;
22
24
  const {
23
25
  collections,
24
26
  globals,
25
- i18n: i18nConfig,
26
27
  localization,
27
28
  routes: {
28
29
  admin: adminRoute
29
30
  }
30
31
  } = payload.config;
31
- const queryString = `${qs.stringify(searchParams ?? {}, {
32
- addQueryPrefix: true
33
- })}`;
34
32
  const cookies = parseCookies(headers);
35
- const language = getRequestLanguage({
36
- config: payload.config,
37
- cookies,
38
- headers
39
- });
40
- const i18n = await initI18n({
41
- config: i18nConfig,
42
- context: 'client',
43
- language
44
- });
45
- const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig]) => {
46
- if (Object.keys(payload.config.i18n.supportedLanguages).includes(language)) {
47
- acc.push({
48
- label: languageConfig.translations.general.thisLanguage,
49
- value: language
50
- });
51
- }
52
- return acc;
53
- }, []);
33
+ const {
34
+ i18n,
35
+ permissions,
36
+ user
37
+ } = await initReq(payload.config);
38
+ // Ideally, we should not need to recreate the req, because
39
+ // we can get it from the above initReq.
40
+ // We just need to -overwrite- the url and query of the req
41
+ // we get above. Clone the req? We'll look into that eventually.
54
42
  const req = await createLocalReq({
55
43
  fallbackLocale: null,
56
44
  req: {
@@ -64,13 +52,15 @@ export const initPage = async ({
64
52
  url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`
65
53
  }
66
54
  }, payload);
67
- const {
68
- permissions,
69
- user
70
- } = await payload.auth({
71
- headers,
72
- req
73
- });
55
+ const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig]) => {
56
+ if (Object.keys(payload.config.i18n.supportedLanguages).includes(language)) {
57
+ acc.push({
58
+ label: languageConfig.translations.general.thisLanguage,
59
+ value: language
60
+ });
61
+ }
62
+ return acc;
63
+ }, []);
74
64
  req.user = user;
75
65
  const localeParam = searchParams?.locale;
76
66
  let locale;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["initI18n","findLocaleFromCode","headers","getHeaders","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","getRequestLanguage","handleAdminPage","handleAuthRedirect","initPage","config","configPromise","importMap","redirectUnauthenticatedUser","route","searchParams","payload","collections","globals","i18n","i18nConfig","localization","routes","admin","adminRoute","queryString","stringify","addQueryPrefix","cookies","language","context","languageOptions","Object","entries","supportedLanguages","reduce","acc","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","permissions","user","auth","localeParam","locale","defaultLocaleCode","defaultLocale","localeCode","find","collection","limit","where","and","equals","id","key","then","res","docs","error","code","visibleEntities","map","slug","hidden","filter","Boolean","collectionConfig","docID","globalConfig"],"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { InitPageResult, Locale, PayloadRequest, VisibleEntities } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createLocalReq, isEntityHidden, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\n\nimport type { Args } from './types.js'\n\nimport { getPayloadHMR } from '../getPayloadHMR.js'\nimport { getRequestLanguage } from '../getRequestLanguage.js'\nimport { handleAdminPage } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\n\nexport const initPage = async ({\n config: configPromise,\n importMap,\n redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = getHeaders()\n const payload = await getPayloadHMR({ config: configPromise, importMap })\n\n const {\n collections,\n globals,\n i18n: i18nConfig,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const cookies = parseCookies(headers)\n const language = getRequestLanguage({ config: payload.config, cookies, headers })\n\n const i18n: I18n = await initI18n({\n config: i18nConfig,\n context: 'client',\n language,\n })\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n const req = await createLocalReq(\n {\n fallbackLocale: null,\n req: {\n headers,\n host: headers.get('host'),\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequest,\n },\n payload,\n )\n\n const { permissions, user } = await payload.auth({ headers, req })\n req.user = user\n\n const localeParam = searchParams?.locale as string\n let locale: Locale\n\n if (localization) {\n const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en'\n let localeCode: string = localeParam\n\n if (!localeCode) {\n try {\n localeCode = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: 'locale',\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as string)\n } catch (error) {} // eslint-disable-line no-empty\n }\n\n locale = findLocaleFromCode(localization, localeCode)\n\n if (!locale) {\n locale = findLocaleFromCode(localization, defaultLocaleCode)\n }\n req.locale = locale.code\n }\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n if (redirectUnauthenticatedUser && !user) {\n handleAuthRedirect({\n config: payload.config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n })\n }\n\n const { collectionConfig, docID, globalConfig } = handleAdminPage({\n adminRoute,\n config: payload.config,\n permissions,\n route,\n })\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["findLocaleFromCode","headers","getHeaders","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","initReq","handleAdminPage","handleAuthRedirect","initPage","config","configPromise","importMap","redirectUnauthenticatedUser","route","searchParams","payload","queryString","stringify","addQueryPrefix","collections","globals","localization","routes","admin","adminRoute","cookies","i18n","permissions","user","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","localeParam","locale","defaultLocaleCode","defaultLocale","localeCode","find","collection","limit","where","and","equals","id","key","then","res","docs","error","code","visibleEntities","map","slug","hidden","filter","Boolean","collectionConfig","docID","globalConfig"],"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { InitPageResult, Locale, PayloadRequest, VisibleEntities } from 'payload'\n\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createLocalReq, isEntityHidden, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\n\nimport type { Args } from './types.js'\n\nimport { getPayloadHMR } from '../getPayloadHMR.js'\nimport { initReq } from '../initReq.js'\nimport { handleAdminPage } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\n\nexport const initPage = async ({\n config: configPromise,\n importMap,\n redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = getHeaders()\n const payload = await getPayloadHMR({ config: configPromise, importMap })\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\n const {\n collections,\n globals,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const cookies = parseCookies(headers)\n\n const { i18n, permissions, user } = await initReq(payload.config)\n\n // Ideally, we should not need to recreate the req, because\n // we can get it from the above initReq.\n\n // We just need to -overwrite- the url and query of the req\n // we get above. Clone the req? We'll look into that eventually.\n const req = await createLocalReq(\n {\n fallbackLocale: null,\n req: {\n headers,\n host: headers.get('host'),\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequest,\n },\n payload,\n )\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n req.user = user\n\n const localeParam = searchParams?.locale as string\n let locale: Locale\n\n if (localization) {\n const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en'\n let localeCode: string = localeParam\n\n if (!localeCode) {\n try {\n localeCode = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: 'locale',\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as string)\n } catch (error) {} // eslint-disable-line no-empty\n }\n\n locale = findLocaleFromCode(localization, localeCode)\n\n if (!locale) {\n locale = findLocaleFromCode(localization, defaultLocaleCode)\n }\n req.locale = locale.code\n }\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n if (redirectUnauthenticatedUser && !user) {\n handleAuthRedirect({\n config: payload.config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n })\n }\n\n const { collectionConfig, docID, globalConfig } = handleAdminPage({\n adminRoute,\n config: payload.config,\n permissions,\n route,\n })\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"mappings":"AAEA,SAASA,kBAAkB,QAAQ;AACnC,SAASC,OAAA,IAAWC,UAAU,QAAQ;AACtC,SAASC,cAAc,EAAEC,cAAc,EAAEC,YAAY,QAAQ;AAC7D,YAAYC,EAAA,MAAQ;AAIpB,SAASC,aAAa,QAAQ;AAC9B,SAASC,OAAO,QAAQ;AACxB,SAASC,eAAe,QAAQ;AAChC,SAASC,kBAAkB,QAAQ;AAEnC,OAAO,MAAMC,QAAA,GAAW,MAAAA,CAAO;EAC7BC,MAAA,EAAQC,aAAa;EACrBC,SAAS;EACTC,2BAAA,GAA8B,KAAK;EACnCC,KAAK;EACLC;AAAY,CACP;EACL,MAAMhB,OAAA,GAAUC,UAAA;EAChB,MAAMgB,OAAA,GAAU,MAAMX,aAAA,CAAc;IAAEK,MAAA,EAAQC,aAAA;IAAeC;EAAU;EACvE,MAAMK,WAAA,GAAc,GAAGb,EAAA,CAAGc,SAAS,CAACH,YAAA,IAAgB,CAAC,GAAG;IAAEI,cAAA,EAAgB;EAAK,IAAI;EAEnF,MAAM;IACJC,WAAW;IACXC,OAAO;IACPC,YAAY;IACZC,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU;EAAE,CAC9B,GAAGT,OAAA,CAAQN,MAAM;EAElB,MAAMgB,OAAA,GAAUvB,YAAA,CAAaJ,OAAA;EAE7B,MAAM;IAAE4B,IAAI;IAAEC,WAAW;IAAEC;EAAI,CAAE,GAAG,MAAMvB,OAAA,CAAQU,OAAA,CAAQN,MAAM;EAEhE;EACA;EAEA;EACA;EACA,MAAMoB,GAAA,GAAM,MAAM7B,cAAA,CAChB;IACE8B,cAAA,EAAgB;IAChBD,GAAA,EAAK;MACH/B,OAAA;MACAiC,IAAA,EAAMjC,OAAA,CAAQkC,GAAG,CAAC;MAClBN,IAAA;MACAO,KAAA,EAAO9B,EAAA,CAAG+B,KAAK,CAAClB,WAAA,EAAa;QAC3BmB,KAAA,EAAO;QACPC,iBAAA,EAAmB;MACrB;MACAC,GAAA,EAAK,GAAGtB,OAAA,CAAQN,MAAM,CAAC6B,SAAS,GAAGzB,KAAA,GAAQC,YAAA,GAAeE,WAAA,GAAc;IAC1E;EACF,GACAD,OAAA;EAGF,MAAMwB,eAAA,GAAkBC,MAAA,CAAOC,OAAO,CAAC1B,OAAA,CAAQN,MAAM,CAACiB,IAAI,CAACgB,kBAAkB,IAAI,CAAC,GAAGC,MAAM,CACzF,CAACC,GAAA,EAAK,CAACC,QAAA,EAAUC,cAAA,CAAe;IAC9B,IAAIN,MAAA,CAAOO,IAAI,CAAChC,OAAA,CAAQN,MAAM,CAACiB,IAAI,CAACgB,kBAAkB,EAAEM,QAAQ,CAACH,QAAA,GAAW;MAC1ED,GAAA,CAAIK,IAAI,CAAC;QACPC,KAAA,EAAOJ,cAAA,CAAeK,YAAY,CAACC,OAAO,CAACC,YAAY;QACvDC,KAAA,EAAOT;MACT;IACF;IAEA,OAAOD,GAAA;EACT,GACA,EAAE;EAGJf,GAAA,CAAID,IAAI,GAAGA,IAAA;EAEX,MAAM2B,WAAA,GAAczC,YAAA,EAAc0C,MAAA;EAClC,IAAIA,MAAA;EAEJ,IAAInC,YAAA,EAAc;IAChB,MAAMoC,iBAAA,GAAoBpC,YAAA,CAAaqC,aAAa,GAAGrC,YAAA,CAAaqC,aAAa,GAAG;IACpF,IAAIC,UAAA,GAAqBJ,WAAA;IAEzB,IAAI,CAACI,UAAA,EAAY;MACf,IAAI;QACFA,UAAA,GAAa,MAAM5C,OAAA,CAChB6C,IAAI,CAAC;UACJC,UAAA,EAAY;UACZ1B,KAAA,EAAO;UACP2B,KAAA,EAAO;UACPlC,IAAA;UACAmC,KAAA,EAAO;YACLC,GAAA,EAAK,CACH;cACE,mBAAmB;gBACjBC,MAAA,EAAQlD,OAAA,CAAQN,MAAM,CAACc,KAAK,CAACK;cAC/B;YACF,GACA;cACE,cAAc;gBACZqC,MAAA,EAAQrC,IAAA,CAAKsC;cACf;YACF,GACA;cACEC,GAAA,EAAK;gBACHF,MAAA,EAAQ;cACV;YACF;UAEJ;QACF,IACEG,IAAA,CAAMC,GAAA,IAAQA,GAAA,CAAIC,IAAI,GAAG,EAAE,EAAEhB,KAAA;MACnC,EAAE,OAAOiB,KAAA,EAAO,CAAC,EAAE;IACrB;IAEAf,MAAA,GAAS3D,kBAAA,CAAmBwB,YAAA,EAAcsC,UAAA;IAE1C,IAAI,CAACH,MAAA,EAAQ;MACXA,MAAA,GAAS3D,kBAAA,CAAmBwB,YAAA,EAAcoC,iBAAA;IAC5C;IACA5B,GAAA,CAAI2B,MAAM,GAAGA,MAAA,CAAOgB,IAAI;EAC1B;EAEA,MAAMC,eAAA,GAAmC;IACvCtD,WAAA,EAAaA,WAAA,CACVuD,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAEpD,KAAA,EAAO;QAAEqD;MAAM;IAAE,CAAE,KAAM,CAAC3E,cAAA,CAAe;MAAE2E,MAAA;MAAQhD;IAAK,KAAK+C,IAAA,GAAO,MACjFE,MAAM,CAACC,OAAA;IACV1D,OAAA,EAASA,OAAA,CACNsD,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAEpD,KAAA,EAAO;QAAEqD;MAAM;IAAE,CAAE,KAAM,CAAC3E,cAAA,CAAe;MAAE2E,MAAA;MAAQhD;IAAK,KAAK+C,IAAA,GAAO,MACjFE,MAAM,CAACC,OAAA;EACZ;EAEA,IAAIlE,2BAAA,IAA+B,CAACgB,IAAA,EAAM;IACxCrB,kBAAA,CAAmB;MACjBE,MAAA,EAAQM,OAAA,CAAQN,MAAM;MACtBG,2BAAA;MACAC,KAAA;MACAC;IACF;EACF;EAEA,MAAM;IAAEiE,gBAAgB;IAAEC,KAAK;IAAEC;EAAY,CAAE,GAAG3E,eAAA,CAAgB;IAChEkB,UAAA;IACAf,MAAA,EAAQM,OAAA,CAAQN,MAAM;IACtBkB,WAAA;IACAd;EACF;EAEA,OAAO;IACLkE,gBAAA;IACAtD,OAAA;IACAuD,KAAA;IACAC,YAAA;IACA1C,eAAA;IACAiB,MAAA;IACA7B,WAAA;IACAE,GAAA;IACAsB,YAAA,EAAczB,IAAA,CAAKyB,YAAY;IAC/BsB;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { I18nClient } from '@payloadcms/translations';
2
+ import type { PayloadRequest, Permissions, SanitizedConfig, User } from 'payload';
3
+ type Result = {
4
+ i18n: I18nClient;
5
+ permissions: Permissions;
6
+ req: PayloadRequest;
7
+ user: User;
8
+ };
9
+ export declare const initReq: (config: SanitizedConfig) => Promise<Result>;
10
+ export {};
11
+ //# sourceMappingURL=initReq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initReq.d.ts","sourceRoot":"","sources":["../../src/utilities/initReq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAUjF,KAAK,MAAM,GAAG;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,eAAO,MAAM,OAAO,WAAiC,eAAe,KAAG,OAAO,CAAC,MAAM,CAuCnF,CAAA"}
@@ -0,0 +1,46 @@
1
+ import { initI18n } from '@payloadcms/translations';
2
+ import { headers as getHeaders } from 'next/headers.js';
3
+ import { createLocalReq, parseCookies } from 'payload';
4
+ import { cache } from 'react';
5
+ import { getPayloadHMR } from './getPayloadHMR.js';
6
+ import { getRequestLanguage } from './getRequestLanguage.js';
7
+ export const initReq = cache(async function (config) {
8
+ const payload = await getPayloadHMR({
9
+ config
10
+ });
11
+ const headers = getHeaders();
12
+ const cookies = parseCookies(headers);
13
+ const languageCode = getRequestLanguage({
14
+ config,
15
+ cookies,
16
+ headers
17
+ });
18
+ const i18n = await initI18n({
19
+ config: config.i18n,
20
+ context: 'client',
21
+ language: languageCode
22
+ });
23
+ const req = await createLocalReq({
24
+ fallbackLocale: 'null',
25
+ req: {
26
+ headers,
27
+ host: headers.get('host'),
28
+ i18n,
29
+ url: `${payload.config.serverURL}`
30
+ }
31
+ }, payload);
32
+ const {
33
+ permissions,
34
+ user
35
+ } = await payload.auth({
36
+ headers,
37
+ req
38
+ });
39
+ return {
40
+ i18n,
41
+ permissions,
42
+ req,
43
+ user
44
+ };
45
+ });
46
+ //# sourceMappingURL=initReq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initReq.js","names":["initI18n","headers","getHeaders","createLocalReq","parseCookies","cache","getPayloadHMR","getRequestLanguage","initReq","config","payload","cookies","languageCode","i18n","context","language","req","fallbackLocale","host","get","url","serverURL","permissions","user","auth"],"sources":["../../src/utilities/initReq.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { PayloadRequest, Permissions, SanitizedConfig, User } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createLocalReq, parseCookies } from 'payload'\nimport { cache } from 'react'\n\nimport { getPayloadHMR } from './getPayloadHMR.js'\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\ntype Result = {\n i18n: I18nClient\n permissions: Permissions\n req: PayloadRequest\n user: User\n}\n\nexport const initReq = cache(async function (config: SanitizedConfig): Promise<Result> {\n const payload = await getPayloadHMR({ config })\n\n const headers = getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const i18n: I18nClient = await initI18n({\n config: config.i18n,\n context: 'client',\n language: languageCode,\n })\n\n const req = await createLocalReq(\n {\n fallbackLocale: 'null',\n req: {\n headers,\n host: headers.get('host'),\n i18n,\n url: `${payload.config.serverURL}`,\n } as PayloadRequest,\n },\n payload,\n )\n\n const { permissions, user } = await payload.auth({ headers, req })\n\n return {\n i18n,\n permissions,\n req,\n user,\n }\n})\n"],"mappings":"AAGA,SAASA,QAAQ,QAAQ;AACzB,SAASC,OAAA,IAAWC,UAAU,QAAQ;AACtC,SAASC,cAAc,EAAEC,YAAY,QAAQ;AAC7C,SAASC,KAAK,QAAQ;AAEtB,SAASC,aAAa,QAAQ;AAC9B,SAASC,kBAAkB,QAAQ;AASnC,OAAO,MAAMC,OAAA,GAAUH,KAAA,CAAM,gBAAgBI,MAAuB;EAClE,MAAMC,OAAA,GAAU,MAAMJ,aAAA,CAAc;IAAEG;EAAO;EAE7C,MAAMR,OAAA,GAAUC,UAAA;EAChB,MAAMS,OAAA,GAAUP,YAAA,CAAaH,OAAA;EAE7B,MAAMW,YAAA,GAAeL,kBAAA,CAAmB;IACtCE,MAAA;IACAE,OAAA;IACAV;EACF;EAEA,MAAMY,IAAA,GAAmB,MAAMb,QAAA,CAAS;IACtCS,MAAA,EAAQA,MAAA,CAAOI,IAAI;IACnBC,OAAA,EAAS;IACTC,QAAA,EAAUH;EACZ;EAEA,MAAMI,GAAA,GAAM,MAAMb,cAAA,CAChB;IACEc,cAAA,EAAgB;IAChBD,GAAA,EAAK;MACHf,OAAA;MACAiB,IAAA,EAAMjB,OAAA,CAAQkB,GAAG,CAAC;MAClBN,IAAA;MACAO,GAAA,EAAK,GAAGV,OAAA,CAAQD,MAAM,CAACY,SAAS;IAClC;EACF,GACAX,OAAA;EAGF,MAAM;IAAEY,WAAW;IAAEC;EAAI,CAAE,GAAG,MAAMb,OAAA,CAAQc,IAAI,CAAC;IAAEvB,OAAA;IAASe;EAAI;EAEhE,OAAO;IACLH,IAAA;IACAS,WAAA;IACAN,GAAA;IACAO;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,SAAS,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAa1F,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,YAAY,EAAE,SAAS,CAAA;IACvB,iBAAiB,CAAC,EAAE,KAAK,GAAG,wBAAwB,CAAA;IACpD,QAAQ,EAAE,MAAM,CAAA;CACjB,CA+DA,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,SAAS,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAa1F,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,YAAY,EAAE,SAAS,CAAA;IACvB,iBAAiB,CAAC,EAAE,KAAK,GAAG,wBAAwB,CAAA;IACpD,QAAQ,EAAE,MAAM,CAAA;CACjB,CAiEA,CAAA"}
@@ -39,7 +39,9 @@ export const CreateFirstUserClient = t0 => {
39
39
  const {
40
40
  formState: prevFormState
41
41
  } = t5;
42
- return getFormState({
42
+ const {
43
+ state
44
+ } = await getFormState({
43
45
  apiRoute,
44
46
  body: {
45
47
  collectionSlug: userSlug,
@@ -49,6 +51,7 @@ export const CreateFirstUserClient = t0 => {
49
51
  },
50
52
  serverURL
51
53
  });
54
+ return state;
52
55
  };
53
56
  $[9] = apiRoute;
54
57
  $[10] = userSlug;
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["c","_c","ConfirmPasswordField","Form","FormSubmit","PasswordField","RenderFields","useConfig","useTranslation","getFormState","React","RenderEmailAndUsernameFields","CreateFirstUserClient","t0","$","initialState","loginWithUsername","userSlug","config","t1","getEntityConfig","routes","t2","serverURL","admin","api","apiRoute","t","t3","collectionConfig","collectionSlug","t4","t5","formState","prevFormState","body","operation","schemaPath","onChange","_jsxs","action","method","redirect","validationOperation","children","_jsx","className","readOnly","autoComplete","field","name","label","required","fields","forceRender","path","size"],"sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, FormState, LoginWithUsernameOptions } from 'payload'\n\nimport {\n ConfirmPasswordField,\n Form,\n type FormProps,\n FormSubmit,\n PasswordField,\n RenderFields,\n useConfig,\n useTranslation,\n} from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { RenderEmailAndUsernameFields } from '../../elements/EmailAndUsername/index.js'\n\nexport const CreateFirstUserClient: React.FC<{\n initialState: FormState\n loginWithUsername?: false | LoginWithUsernameOptions\n userSlug: string\n}> = ({ initialState, loginWithUsername, userSlug }) => {\n const {\n config: {\n routes: { admin, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { t } = useTranslation()\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug }) as ClientCollectionConfig\n\n const onChange: FormProps['onChange'][0] = React.useCallback(\n async ({ formState: prevFormState }) =>\n getFormState({\n apiRoute,\n body: {\n collectionSlug: userSlug,\n formState: prevFormState,\n operation: 'create',\n schemaPath: `_${userSlug}.auth`,\n },\n serverURL,\n }),\n [apiRoute, userSlug, serverURL],\n )\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/first-register`}\n initialState={initialState}\n method=\"POST\"\n onChange={[onChange]}\n redirect={admin}\n validationOperation=\"create\"\n >\n <RenderEmailAndUsernameFields\n className=\"emailAndUsername\"\n loginWithUsername={loginWithUsername}\n operation=\"create\"\n readOnly={false}\n />\n <PasswordField\n autoComplete={'off'}\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n />\n <ConfirmPasswordField />\n <RenderFields\n fields={collectionConfig.fields}\n forceRender\n operation=\"create\"\n path=\"\"\n readOnly={false}\n schemaPath={userSlug}\n />\n <FormSubmit size=\"large\">{t('general:create')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SACEC,oBAAoB,EACpBC,IAAI,EAEJC,UAAU,EACVC,aAAa,EACbC,YAAY,EACZC,SAAS,EACTC,cAAc,QACT;AACP,SAASC,YAAY,QAAQ;AAC7B,OAAOC,KAAA,MAAW;AAElB,SAASC,4BAA4B,QAAQ;AAE7C,OAAO,MAAMC,qBAAA,GAIRC,EAAA;EAAA,MAAAC,CAAA,GAAAb,EAAA;EAAC;IAAAc,YAAA;IAAAC,iBAAA;IAAAC;EAAA,IAAAJ,EAA6C;EACjD;IAAAK,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAMIb,SAAA;EALM;IAAAc,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAJ,EAGP;EAFS;IAAAK,KAAA;IAAAC,GAAA,EAAAC;EAAA,IAAAJ,EAAwB;EAMpC;IAAAK;EAAA,IAAcnB,cAAA;EAAA,IAAAoB,EAAA;EAAA,IAAAd,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAM,eAAA,IAAAN,CAAA,QAAAY,QAAA,IAAAZ,CAAA,QAAAS,SAAA,IAAAT,CAAA,QAAAE,iBAAA,IAAAF,CAAA,QAAAa,CAAA,IAAAb,CAAA,QAAAC,YAAA,IAAAD,CAAA,QAAAU,KAAA;IAEd,MAAAK,gBAAA,GAAyBT,eAAA;MAAAU,cAAA,EAAkCb;IAAA,CAAS;IAAA,IAAAc,EAAA;IAAA,IAAAjB,CAAA,QAAAY,QAAA,IAAAZ,CAAA,SAAAG,QAAA,IAAAH,CAAA,SAAAS,SAAA;MAGlEQ,EAAA,SAAAC,EAAA;QAAO;UAAAC,SAAA,EAAAC;QAAA,IAAAF,EAA4B;QAAA,OACjCvB,YAAA;UAAAiB,QAAA;UAAAS,IAAA;YAAAL,cAAA,EAGoBb,QAAA;YAAAgB,SAAA,EACLC,aAAA;YAAAE,SAAA,EACA;YAAAC,UAAA,EACC,IAAIpB,QAAA;UAAe;UAAAM;QAAA,CAGnC;MAAA;MAAAT,CAAA,MAAAY,QAAA;MAAAZ,CAAA,OAAAG,QAAA;MAAAH,CAAA,OAAAS,SAAA;MAAAT,CAAA,OAAAiB,EAAA;IAAA;MAAAA,EAAA,GAAAjB,CAAA;IAAA;IAXJ,MAAAwB,QAAA,GAA2CP,EAYV;IAI/BH,EAAA,GAAAW,KAAA,CAAApC,IAAA;MAAAqC,MAAA,EACU,GAAGjB,SAAA,GAAYG,QAAA,IAAYT,QAAA,iBAAyB;MAAAF,YAAA;MAAA0B,MAAA,EAErD;MAAAH,QAAA,GACIA,QAAA;MAAAI,QAAA,EACDlB,KAAA;MAAAmB,mBAAA,EACU;MAAAC,QAAA,GAEpBC,IAAA,CAAAlC,4BAAA;QAAAmC,SAAA,EACY;QAAA9B,iBAAA;QAAAoB,SAAA,EAEA;QAAAW,QAAA;MAAA,C,GAGZF,IAAA,CAAAxC,aAAA;QAAA2C,YAAA,EACgB;QAAAC,KAAA;UAAAC,IAAA,EAEN;UAAAC,KAAA,EACCxB,CAAA,CAAE;UAAAyB,QAAA;QAAA;MAAA,C,GAIbP,IAAA,CAAA3C,oBAAA,IAAC,GACD2C,IAAA,CAAAvC,YAAA;QAAA+C,MAAA,EACUxB,gBAAA,CAAAwB,MAAA;QAAAC,WAAA;QAAAlB,SAAA,EAEE;QAAAmB,IAAA,EACL;QAAAR,QAAA;QAAAV,UAAA,EAEOpB;MAAA,C,GAEd4B,IAAA,CAAAzC,UAAA;QAAAoD,IAAA,EAAiB;QAAAZ,QAAA,EAASjB,CAAA,CAAE;MAAA,C;;;;;;;;;;;;;;SA/B9BC,E;CAkCJ","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["c","_c","ConfirmPasswordField","Form","FormSubmit","PasswordField","RenderFields","useConfig","useTranslation","getFormState","React","RenderEmailAndUsernameFields","CreateFirstUserClient","t0","$","initialState","loginWithUsername","userSlug","config","t1","getEntityConfig","routes","t2","serverURL","admin","api","apiRoute","t","t3","collectionConfig","collectionSlug","t4","t5","formState","prevFormState","state","body","operation","schemaPath","onChange","_jsxs","action","method","redirect","validationOperation","children","_jsx","className","readOnly","autoComplete","field","name","label","required","fields","forceRender","path","size"],"sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, FormState, LoginWithUsernameOptions } from 'payload'\n\nimport {\n ConfirmPasswordField,\n Form,\n type FormProps,\n FormSubmit,\n PasswordField,\n RenderFields,\n useConfig,\n useTranslation,\n} from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { RenderEmailAndUsernameFields } from '../../elements/EmailAndUsername/index.js'\n\nexport const CreateFirstUserClient: React.FC<{\n initialState: FormState\n loginWithUsername?: false | LoginWithUsernameOptions\n userSlug: string\n}> = ({ initialState, loginWithUsername, userSlug }) => {\n const {\n config: {\n routes: { admin, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { t } = useTranslation()\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug }) as ClientCollectionConfig\n\n const onChange: FormProps['onChange'][0] = React.useCallback(\n async ({ formState: prevFormState }) => {\n const { state } = await getFormState({\n apiRoute,\n body: {\n collectionSlug: userSlug,\n formState: prevFormState,\n operation: 'create',\n schemaPath: `_${userSlug}.auth`,\n },\n serverURL,\n })\n return state\n },\n [apiRoute, userSlug, serverURL],\n )\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/first-register`}\n initialState={initialState}\n method=\"POST\"\n onChange={[onChange]}\n redirect={admin}\n validationOperation=\"create\"\n >\n <RenderEmailAndUsernameFields\n className=\"emailAndUsername\"\n loginWithUsername={loginWithUsername}\n operation=\"create\"\n readOnly={false}\n />\n <PasswordField\n autoComplete={'off'}\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n />\n <ConfirmPasswordField />\n <RenderFields\n fields={collectionConfig.fields}\n forceRender\n operation=\"create\"\n path=\"\"\n readOnly={false}\n schemaPath={userSlug}\n />\n <FormSubmit size=\"large\">{t('general:create')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SACEC,oBAAoB,EACpBC,IAAI,EAEJC,UAAU,EACVC,aAAa,EACbC,YAAY,EACZC,SAAS,EACTC,cAAc,QACT;AACP,SAASC,YAAY,QAAQ;AAC7B,OAAOC,KAAA,MAAW;AAElB,SAASC,4BAA4B,QAAQ;AAE7C,OAAO,MAAMC,qBAAA,GAIRC,EAAA;EAAA,MAAAC,CAAA,GAAAb,EAAA;EAAC;IAAAc,YAAA;IAAAC,iBAAA;IAAAC;EAAA,IAAAJ,EAA6C;EACjD;IAAAK,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAMIb,SAAA;EALM;IAAAc,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAJ,EAGP;EAFS;IAAAK,KAAA;IAAAC,GAAA,EAAAC;EAAA,IAAAJ,EAAwB;EAMpC;IAAAK;EAAA,IAAcnB,cAAA;EAAA,IAAAoB,EAAA;EAAA,IAAAd,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAM,eAAA,IAAAN,CAAA,QAAAY,QAAA,IAAAZ,CAAA,QAAAS,SAAA,IAAAT,CAAA,QAAAE,iBAAA,IAAAF,CAAA,QAAAa,CAAA,IAAAb,CAAA,QAAAC,YAAA,IAAAD,CAAA,QAAAU,KAAA;IAEd,MAAAK,gBAAA,GAAyBT,eAAA;MAAAU,cAAA,EAAkCb;IAAA,CAAS;IAAA,IAAAc,EAAA;IAAA,IAAAjB,CAAA,QAAAY,QAAA,IAAAZ,CAAA,SAAAG,QAAA,IAAAH,CAAA,SAAAS,SAAA;MAGlEQ,EAAA,SAAAC,EAAA;QAAO;UAAAC,SAAA,EAAAC;QAAA,IAAAF,EAA4B;QACjC;UAAAG;QAAA,UAAwB1B,YAAA;UAAAiB,QAAA;UAAAU,IAAA;YAAAN,cAAA,EAGJb,QAAA;YAAAgB,SAAA,EACLC,aAAA;YAAAG,SAAA,EACA;YAAAC,UAAA,EACC,IAAIrB,QAAA;UAAe;UAAAM;QAAA,CAGnC;QAAA,OACOY,KAAA;MAAA;MACTrB,CAAA,MAAAY,QAAA;MAAAZ,CAAA,OAAAG,QAAA;MAAAH,CAAA,OAAAS,SAAA;MAAAT,CAAA,OAAAiB,EAAA;IAAA;MAAAA,EAAA,GAAAjB,CAAA;IAAA;IAbF,MAAAyB,QAAA,GAA2CR,EAcV;IAI/BH,EAAA,GAAAY,KAAA,CAAArC,IAAA;MAAAsC,MAAA,EACU,GAAGlB,SAAA,GAAYG,QAAA,IAAYT,QAAA,iBAAyB;MAAAF,YAAA;MAAA2B,MAAA,EAErD;MAAAH,QAAA,GACIA,QAAA;MAAAI,QAAA,EACDnB,KAAA;MAAAoB,mBAAA,EACU;MAAAC,QAAA,GAEpBC,IAAA,CAAAnC,4BAAA;QAAAoC,SAAA,EACY;QAAA/B,iBAAA;QAAAqB,SAAA,EAEA;QAAAW,QAAA;MAAA,C,GAGZF,IAAA,CAAAzC,aAAA;QAAA4C,YAAA,EACgB;QAAAC,KAAA;UAAAC,IAAA,EAEN;UAAAC,KAAA,EACCzB,CAAA,CAAE;UAAA0B,QAAA;QAAA;MAAA,C,GAIbP,IAAA,CAAA5C,oBAAA,IAAC,GACD4C,IAAA,CAAAxC,YAAA;QAAAgD,MAAA,EACUzB,gBAAA,CAAAyB,MAAA;QAAAC,WAAA;QAAAlB,SAAA,EAEE;QAAAmB,IAAA,EACL;QAAAR,QAAA;QAAAV,UAAA,EAEOrB;MAAA,C,GAEd6B,IAAA,CAAA1C,UAAA;QAAAqD,IAAA,EAAiB;QAAAZ,QAAA,EAASlB,CAAA,CAAE;MAAA,C;;;;;;;;;;;;;;SA/B9BC,E;CAkCJ","ignoreList":[]}