@payloadcms/next 3.0.0-beta.78 → 3.0.0-beta.80

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 (264) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +3 -1
  2. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +16 -3
  4. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +2 -2
  6. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +2 -2
  8. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -2
  10. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/index.js +27 -17
  12. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +2 -0
  14. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +15 -15
  16. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/index.d.ts +2 -2
  18. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  19. package/dist/elements/DocumentHeader/index.js +2 -2
  20. package/dist/elements/DocumentHeader/index.js.map +1 -1
  21. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  22. package/dist/elements/EmailAndUsername/index.js +31 -27
  23. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  24. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  25. package/dist/elements/LeaveWithoutSaving/index.js +7 -0
  26. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  27. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +2 -1
  28. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  29. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +3 -1
  30. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  31. package/dist/elements/Logo/index.d.ts.map +1 -1
  32. package/dist/elements/Logo/index.js +8 -5
  33. package/dist/elements/Logo/index.js.map +1 -1
  34. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  35. package/dist/elements/Nav/NavWrapper/index.js +4 -2
  36. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  37. package/dist/elements/Nav/NavWrapper/index.scss +4 -1
  38. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  39. package/dist/elements/Nav/index.client.js +1 -1
  40. package/dist/elements/Nav/index.client.js.map +1 -1
  41. package/dist/elements/Nav/index.d.ts.map +1 -1
  42. package/dist/elements/Nav/index.js +21 -27
  43. package/dist/elements/Nav/index.js.map +1 -1
  44. package/dist/elements/Nav/index.scss +4 -1
  45. package/dist/layouts/Root/index.d.ts +5 -4
  46. package/dist/layouts/Root/index.d.ts.map +1 -1
  47. package/dist/layouts/Root/index.js +39 -14
  48. package/dist/layouts/Root/index.js.map +1 -1
  49. package/dist/prod/styles.css +1 -1
  50. package/dist/routes/rest/buildFormState.js +4 -4
  51. package/dist/routes/rest/buildFormState.js.map +1 -1
  52. package/dist/routes/rest/og/image.d.ts +2 -1
  53. package/dist/routes/rest/og/image.d.ts.map +1 -1
  54. package/dist/routes/rest/og/image.js +6 -2
  55. package/dist/routes/rest/og/image.js.map +1 -1
  56. package/dist/routes/rest/og/index.d.ts.map +1 -1
  57. package/dist/routes/rest/og/index.js +7 -3
  58. package/dist/routes/rest/og/index.js.map +1 -1
  59. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  60. package/dist/templates/Default/Wrapper/index.js +4 -2
  61. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  62. package/dist/templates/Default/Wrapper/index.scss +36 -4
  63. package/dist/templates/Default/index.d.ts.map +1 -1
  64. package/dist/templates/Default/index.js +16 -23
  65. package/dist/templates/Default/index.js.map +1 -1
  66. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  67. package/dist/utilities/getPayloadHMR.js +13 -1
  68. package/dist/utilities/getPayloadHMR.js.map +1 -1
  69. package/dist/utilities/initPage/index.d.ts +1 -1
  70. package/dist/utilities/initPage/index.d.ts.map +1 -1
  71. package/dist/utilities/initPage/index.js +3 -2
  72. package/dist/utilities/initPage/index.js.map +1 -1
  73. package/dist/utilities/initPage/types.d.ts +2 -1
  74. package/dist/utilities/initPage/types.d.ts.map +1 -1
  75. package/dist/utilities/initPage/types.js.map +1 -1
  76. package/dist/views/API/LocaleSelector/index.d.ts +2 -2
  77. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  78. package/dist/views/API/LocaleSelector/index.js +7 -5
  79. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  80. package/dist/views/API/index.client.d.ts.map +1 -1
  81. package/dist/views/API/index.client.js +39 -33
  82. package/dist/views/API/index.client.js.map +1 -1
  83. package/dist/views/API/index.d.ts +2 -2
  84. package/dist/views/API/index.d.ts.map +1 -1
  85. package/dist/views/API/index.js.map +1 -1
  86. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  87. package/dist/views/Account/ToggleTheme/index.js +18 -16
  88. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  89. package/dist/views/Account/index.d.ts.map +1 -1
  90. package/dist/views/Account/index.js +20 -22
  91. package/dist/views/Account/index.js.map +1 -1
  92. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  93. package/dist/views/CreateFirstUser/index.client.js +10 -10
  94. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  95. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  96. package/dist/views/Dashboard/Default/index.js +21 -27
  97. package/dist/views/Dashboard/Default/index.js.map +1 -1
  98. package/dist/views/Dashboard/index.d.ts.map +1 -1
  99. package/dist/views/Dashboard/index.js +23 -26
  100. package/dist/views/Dashboard/index.js.map +1 -1
  101. package/dist/views/Document/getCustomViewByKey.d.ts.map +1 -1
  102. package/dist/views/Document/getCustomViewByKey.js +1 -2
  103. package/dist/views/Document/getCustomViewByKey.js.map +1 -1
  104. package/dist/views/Document/getCustomViewByRoute.js +2 -2
  105. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  106. package/dist/views/Document/getViewsFromConfig.d.ts +9 -4
  107. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  108. package/dist/views/Document/getViewsFromConfig.js +111 -49
  109. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  110. package/dist/views/Document/index.d.ts.map +1 -1
  111. package/dist/views/Document/index.js +31 -31
  112. package/dist/views/Document/index.js.map +1 -1
  113. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  114. package/dist/views/Edit/Default/Auth/APIKey.js +15 -15
  115. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  116. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  117. package/dist/views/Edit/Default/Auth/index.js +25 -14
  118. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  119. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
  120. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +1 -1
  121. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  122. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  123. package/dist/views/Edit/Default/index.js +11 -15
  124. package/dist/views/Edit/Default/index.js.map +1 -1
  125. package/dist/views/Edit/index.client.d.ts.map +1 -1
  126. package/dist/views/Edit/index.client.js +11 -6
  127. package/dist/views/Edit/index.client.js.map +1 -1
  128. package/dist/views/Edit/index.d.ts +2 -2
  129. package/dist/views/Edit/index.d.ts.map +1 -1
  130. package/dist/views/Edit/index.js.map +1 -1
  131. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  132. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +11 -7
  133. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  134. package/dist/views/List/Default/index.d.ts.map +1 -1
  135. package/dist/views/List/Default/index.js +30 -19
  136. package/dist/views/List/Default/index.js.map +1 -1
  137. package/dist/views/List/index.d.ts.map +1 -1
  138. package/dist/views/List/index.js +47 -40
  139. package/dist/views/List/index.js.map +1 -1
  140. package/dist/views/List/meta.js +1 -1
  141. package/dist/views/List/meta.js.map +1 -1
  142. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  143. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  144. package/dist/views/LivePreview/Context/context.js.map +1 -1
  145. package/dist/views/LivePreview/Context/index.d.ts +3 -3
  146. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  147. package/dist/views/LivePreview/Context/index.js.map +1 -1
  148. package/dist/views/LivePreview/index.client.d.ts +3 -3
  149. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  150. package/dist/views/LivePreview/index.client.js +84 -93
  151. package/dist/views/LivePreview/index.client.js.map +1 -1
  152. package/dist/views/LivePreview/index.d.ts +2 -2
  153. package/dist/views/LivePreview/index.d.ts.map +1 -1
  154. package/dist/views/LivePreview/index.js.map +1 -1
  155. package/dist/views/LivePreview/usePopupWindow.d.ts +2 -1
  156. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  157. package/dist/views/LivePreview/usePopupWindow.js +1 -1
  158. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  159. package/dist/views/Login/LoginField/index.d.ts +3 -3
  160. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  161. package/dist/views/Login/LoginField/index.js +15 -12
  162. package/dist/views/Login/LoginField/index.js.map +1 -1
  163. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  164. package/dist/views/Login/LoginForm/index.js +6 -4
  165. package/dist/views/Login/LoginForm/index.js.map +1 -1
  166. package/dist/views/Login/index.d.ts.map +1 -1
  167. package/dist/views/Login/index.js +21 -27
  168. package/dist/views/Login/index.js.map +1 -1
  169. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  170. package/dist/views/NotFound/index.client.js +1 -1
  171. package/dist/views/NotFound/index.client.js.map +1 -1
  172. package/dist/views/NotFound/index.d.ts +4 -3
  173. package/dist/views/NotFound/index.d.ts.map +1 -1
  174. package/dist/views/NotFound/index.js +2 -1
  175. package/dist/views/NotFound/index.js.map +1 -1
  176. package/dist/views/ResetPassword/index.client.d.ts +1 -1
  177. package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
  178. package/dist/views/ResetPassword/index.client.js +9 -6
  179. package/dist/views/ResetPassword/index.client.js.map +1 -1
  180. package/dist/views/Root/getCustomViewByRoute.d.ts +3 -2
  181. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  182. package/dist/views/Root/getCustomViewByRoute.js +13 -10
  183. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  184. package/dist/views/Root/getViewFromConfig.d.ts +10 -4
  185. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  186. package/dist/views/Root/getViewFromConfig.js +26 -9
  187. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  188. package/dist/views/Root/index.d.ts +6 -5
  189. package/dist/views/Root/index.d.ts.map +1 -1
  190. package/dist/views/Root/index.js +14 -6
  191. package/dist/views/Root/index.js.map +1 -1
  192. package/dist/views/Unauthorized/index.d.ts +2 -2
  193. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  194. package/dist/views/Unauthorized/index.js.map +1 -1
  195. package/dist/views/Version/Default/SetStepNav.d.ts +8 -8
  196. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  197. package/dist/views/Version/Default/SetStepNav.js +7 -7
  198. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  199. package/dist/views/Version/Default/index.d.ts.map +1 -1
  200. package/dist/views/Version/Default/index.js +10 -15
  201. package/dist/views/Version/Default/index.js.map +1 -1
  202. package/dist/views/Version/Default/types.d.ts +7 -7
  203. package/dist/views/Version/Default/types.d.ts.map +1 -1
  204. package/dist/views/Version/Default/types.js.map +1 -1
  205. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +2 -2
  206. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  207. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +20 -20
  208. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  209. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +2 -2
  210. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
  211. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +4 -4
  212. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  213. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +3 -2
  214. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  215. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +3 -3
  216. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  217. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -5
  218. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  219. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +1 -1
  220. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  221. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -5
  222. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  223. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +2 -2
  224. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  225. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +3 -2
  226. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  227. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +1 -1
  228. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  229. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +21 -28
  230. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  231. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -1
  232. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  233. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +15 -15
  234. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  235. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  236. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  237. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -8
  238. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  239. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +9 -9
  240. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  241. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  242. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  243. package/dist/views/Version/Restore/index.js +1 -1
  244. package/dist/views/Version/Restore/index.js.map +1 -1
  245. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  246. package/dist/views/Version/SelectComparison/index.js +1 -1
  247. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  248. package/dist/views/Version/index.d.ts +2 -2
  249. package/dist/views/Version/index.d.ts.map +1 -1
  250. package/dist/views/Version/index.js.map +1 -1
  251. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  252. package/dist/views/Versions/buildColumns.js +40 -16
  253. package/dist/views/Versions/buildColumns.js.map +1 -1
  254. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  255. package/dist/views/Versions/cells/CreatedAt/index.js +1 -1
  256. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  257. package/dist/views/Versions/index.client.d.ts +4 -4
  258. package/dist/views/Versions/index.client.d.ts.map +1 -1
  259. package/dist/views/Versions/index.client.js +8 -6
  260. package/dist/views/Versions/index.client.js.map +1 -1
  261. package/dist/views/Versions/index.d.ts +2 -2
  262. package/dist/views/Versions/index.d.ts.map +1 -1
  263. package/dist/views/Versions/index.js.map +1 -1
  264. package/package.json +7 -7
@@ -16,6 +16,10 @@ export const buildFormState = async ({ req })=>{
16
16
  status: httpStatus.OK
17
17
  });
18
18
  } catch (err) {
19
+ req.payload.logger.error({
20
+ err,
21
+ msg: `There was an error building form state`
22
+ });
19
23
  if (err.message === 'Could not find field schema for given path') {
20
24
  return Response.json({
21
25
  message: err.message
@@ -30,10 +34,6 @@ export const buildFormState = async ({ req })=>{
30
34
  status: httpStatus.UNAUTHORIZED
31
35
  });
32
36
  }
33
- req.payload.logger.error({
34
- err,
35
- msg: `There was an error building form state`
36
- });
37
37
  return routeError({
38
38
  config: req.payload.config,
39
39
  err,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/routes/rest/buildFormState.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { buildFormState as buildFormStateFn } from '@payloadcms/ui/utilities/buildFormState'\nimport httpStatus from 'http-status'\n\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { routeError } from './routeError.js'\n\nexport const buildFormState = async ({ req }: { req: PayloadRequest }) => {\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n try {\n const result = await buildFormStateFn({ req })\n\n return Response.json(result, {\n headers,\n status: httpStatus.OK,\n })\n } catch (err) {\n if (err.message === 'Could not find field schema for given path') {\n return Response.json(\n {\n message: err.message,\n },\n {\n headers,\n status: httpStatus.BAD_REQUEST,\n },\n )\n }\n\n if (err.message === 'Unauthorized') {\n return Response.json(null, {\n headers,\n status: httpStatus.UNAUTHORIZED,\n })\n }\n\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n return routeError({\n config: req.payload.config,\n err,\n req,\n })\n }\n}\n"],"names":["buildFormState","buildFormStateFn","httpStatus","headersWithCors","routeError","req","headers","Headers","result","Response","json","status","OK","err","message","BAD_REQUEST","UNAUTHORIZED","payload","logger","error","msg","config"],"mappings":"AAEA,SAASA,kBAAkBC,gBAAgB,QAAQ,0CAAyC;AAC5F,OAAOC,gBAAgB,cAAa;AAEpC,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,UAAU,QAAQ,kBAAiB;AAE5C,OAAO,MAAMJ,iBAAiB,OAAO,EAAEK,GAAG,EAA2B;IACnE,MAAMC,UAAUH,gBAAgB;QAC9BG,SAAS,IAAIC;QACbF;IACF;IAEA,IAAI;QACF,MAAMG,SAAS,MAAMP,iBAAiB;YAAEI;QAAI;QAE5C,OAAOI,SAASC,IAAI,CAACF,QAAQ;YAC3BF;YACAK,QAAQT,WAAWU,EAAE;QACvB;IACF,EAAE,OAAOC,KAAK;QACZ,IAAIA,IAAIC,OAAO,KAAK,8CAA8C;YAChE,OAAOL,SAASC,IAAI,CAClB;gBACEI,SAASD,IAAIC,OAAO;YACtB,GACA;gBACER;gBACAK,QAAQT,WAAWa,WAAW;YAChC;QAEJ;QAEA,IAAIF,IAAIC,OAAO,KAAK,gBAAgB;YAClC,OAAOL,SAASC,IAAI,CAAC,MAAM;gBACzBJ;gBACAK,QAAQT,WAAWc,YAAY;YACjC;QACF;QAEAX,IAAIY,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;YAAEN;YAAKO,KAAK,CAAC,sCAAsC,CAAC;QAAC;QAE9E,OAAOhB,WAAW;YAChBiB,QAAQhB,IAAIY,OAAO,CAACI,MAAM;YAC1BR;YACAR;QACF;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/routes/rest/buildFormState.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { buildFormState as buildFormStateFn } from '@payloadcms/ui/utilities/buildFormState'\nimport httpStatus from 'http-status'\n\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { routeError } from './routeError.js'\n\nexport const buildFormState = async ({ req }: { req: PayloadRequest }) => {\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n try {\n const result = await buildFormStateFn({ req })\n\n return Response.json(result, {\n headers,\n status: httpStatus.OK,\n })\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return Response.json(\n {\n message: err.message,\n },\n {\n headers,\n status: httpStatus.BAD_REQUEST,\n },\n )\n }\n\n if (err.message === 'Unauthorized') {\n return Response.json(null, {\n headers,\n status: httpStatus.UNAUTHORIZED,\n })\n }\n\n return routeError({\n config: req.payload.config,\n err,\n req,\n })\n }\n}\n"],"names":["buildFormState","buildFormStateFn","httpStatus","headersWithCors","routeError","req","headers","Headers","result","Response","json","status","OK","err","payload","logger","error","msg","message","BAD_REQUEST","UNAUTHORIZED","config"],"mappings":"AAEA,SAASA,kBAAkBC,gBAAgB,QAAQ,0CAAyC;AAC5F,OAAOC,gBAAgB,cAAa;AAEpC,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,UAAU,QAAQ,kBAAiB;AAE5C,OAAO,MAAMJ,iBAAiB,OAAO,EAAEK,GAAG,EAA2B;IACnE,MAAMC,UAAUH,gBAAgB;QAC9BG,SAAS,IAAIC;QACbF;IACF;IAEA,IAAI;QACF,MAAMG,SAAS,MAAMP,iBAAiB;YAAEI;QAAI;QAE5C,OAAOI,SAASC,IAAI,CAACF,QAAQ;YAC3BF;YACAK,QAAQT,WAAWU,EAAE;QACvB;IACF,EAAE,OAAOC,KAAK;QACZR,IAAIS,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;YAAEH;YAAKI,KAAK,CAAC,sCAAsC,CAAC;QAAC;QAE9E,IAAIJ,IAAIK,OAAO,KAAK,8CAA8C;YAChE,OAAOT,SAASC,IAAI,CAClB;gBACEQ,SAASL,IAAIK,OAAO;YACtB,GACA;gBACEZ;gBACAK,QAAQT,WAAWiB,WAAW;YAChC;QAEJ;QAEA,IAAIN,IAAIK,OAAO,KAAK,gBAAgB;YAClC,OAAOT,SAASC,IAAI,CAAC,MAAM;gBACzBJ;gBACAK,QAAQT,WAAWkB,YAAY;YACjC;QACF;QAEA,OAAOhB,WAAW;YAChBiB,QAAQhB,IAAIS,OAAO,CAACO,MAAM;YAC1BR;YACAR;QACF;IACF;AACF,EAAC"}
@@ -1,6 +1,7 @@
1
+ import type { MappedComponent } from 'payload';
1
2
  import React from 'react';
2
3
  export declare const OGImage: React.FC<{
3
- Icon: React.ComponentType<any>;
4
+ Icon: MappedComponent;
4
5
  description?: string;
5
6
  fontFamily?: string;
6
7
  leader?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/og/image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7B,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAgFA,CAAA"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/og/image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7B,IAAI,EAAE,eAAe,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAqFA,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { RenderComponent } from '@payloadcms/ui/shared';
2
3
  import React from 'react';
3
4
  export const OGImage = ({ Icon, description, fontFamily = 'Arial, sans-serif', leader, title })=>{
4
5
  return /*#__PURE__*/ _jsxs("div", {
@@ -68,8 +69,11 @@ export const OGImage = ({ Icon, description, fontFamily = 'Arial, sans-serif', l
68
69
  justifyContent: 'center',
69
70
  width: '38px'
70
71
  },
71
- children: /*#__PURE__*/ _jsx(Icon, {
72
- fill: "white"
72
+ children: /*#__PURE__*/ _jsx(RenderComponent, {
73
+ clientProps: {
74
+ fill: 'white'
75
+ },
76
+ mappedComponent: Icon
73
77
  })
74
78
  })
75
79
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/og/image.tsx"],"sourcesContent":["import React from 'react'\n\nexport const OGImage: React.FC<{\n Icon: React.ComponentType<any>\n description?: string\n fontFamily?: string\n leader?: string\n title?: string\n}> = ({ Icon, description, fontFamily = 'Arial, sans-serif', leader, title }) => {\n return (\n <div\n style={{\n backgroundColor: '#000',\n color: '#fff',\n display: 'flex',\n flexDirection: 'column',\n fontFamily,\n height: '100%',\n justifyContent: 'space-between',\n padding: '100px',\n width: '100%',\n }}\n >\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n fontSize: 50,\n height: '100%',\n }}\n >\n {leader && (\n <div\n style={{\n fontSize: 30,\n marginBottom: 10,\n }}\n >\n {leader}\n </div>\n )}\n <p\n style={{\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n display: '-webkit-box',\n fontSize: 90,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 0,\n textOverflow: 'ellipsis',\n }}\n >\n {title}\n </p>\n {description && (\n <p\n style={{\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n display: '-webkit-box',\n flexGrow: 1,\n fontSize: 30,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 40,\n textOverflow: 'ellipsis',\n }}\n >\n {description}\n </p>\n )}\n </div>\n <div\n style={{\n alignItems: 'flex-end',\n display: 'flex',\n flexShrink: 0,\n height: '38px',\n justifyContent: 'center',\n width: '38px',\n }}\n >\n <Icon fill=\"white\" />\n </div>\n </div>\n )\n}\n"],"names":["React","OGImage","Icon","description","fontFamily","leader","title","div","style","backgroundColor","color","display","flexDirection","height","justifyContent","padding","width","flexGrow","fontSize","marginBottom","p","WebkitBoxOrient","WebkitLineClamp","lineHeight","marginTop","textOverflow","alignItems","flexShrink","fill"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,UAMR,CAAC,EAAEC,IAAI,EAAEC,WAAW,EAAEC,aAAa,mBAAmB,EAAEC,MAAM,EAAEC,KAAK,EAAE;IAC1E,qBACE,MAACC;QACCC,OAAO;YACLC,iBAAiB;YACjBC,OAAO;YACPC,SAAS;YACTC,eAAe;YACfR;YACAS,QAAQ;YACRC,gBAAgB;YAChBC,SAAS;YACTC,OAAO;QACT;;0BAEA,MAACT;gBACCC,OAAO;oBACLG,SAAS;oBACTC,eAAe;oBACfK,UAAU;oBACVC,UAAU;oBACVL,QAAQ;gBACV;;oBAECR,wBACC,KAACE;wBACCC,OAAO;4BACLU,UAAU;4BACVC,cAAc;wBAChB;kCAECd;;kCAGL,KAACe;wBACCZ,OAAO;4BACLa,iBAAiB;4BACjBC,iBAAiB;4BACjBX,SAAS;4BACTO,UAAU;4BACVK,YAAY;4BACZJ,cAAc;4BACdK,WAAW;4BACXC,cAAc;wBAChB;kCAECnB;;oBAEFH,6BACC,KAACiB;wBACCZ,OAAO;4BACLa,iBAAiB;4BACjBC,iBAAiB;4BACjBX,SAAS;4BACTM,UAAU;4BACVC,UAAU;4BACVK,YAAY;4BACZJ,cAAc;4BACdK,WAAW;4BACXC,cAAc;wBAChB;kCAECtB;;;;0BAIP,KAACI;gBACCC,OAAO;oBACLkB,YAAY;oBACZf,SAAS;oBACTgB,YAAY;oBACZd,QAAQ;oBACRC,gBAAgB;oBAChBE,OAAO;gBACT;0BAEA,cAAA,KAACd;oBAAK0B,MAAK;;;;;AAInB,EAAC"}
1
+ {"version":3,"sources":["../../../../src/routes/rest/og/image.tsx"],"sourcesContent":["import type { MappedComponent } from 'payload'\n\nimport { RenderComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nexport const OGImage: React.FC<{\n Icon: MappedComponent\n description?: string\n fontFamily?: string\n leader?: string\n title?: string\n}> = ({ Icon, description, fontFamily = 'Arial, sans-serif', leader, title }) => {\n return (\n <div\n style={{\n backgroundColor: '#000',\n color: '#fff',\n display: 'flex',\n flexDirection: 'column',\n fontFamily,\n height: '100%',\n justifyContent: 'space-between',\n padding: '100px',\n width: '100%',\n }}\n >\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n fontSize: 50,\n height: '100%',\n }}\n >\n {leader && (\n <div\n style={{\n fontSize: 30,\n marginBottom: 10,\n }}\n >\n {leader}\n </div>\n )}\n <p\n style={{\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n display: '-webkit-box',\n fontSize: 90,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 0,\n textOverflow: 'ellipsis',\n }}\n >\n {title}\n </p>\n {description && (\n <p\n style={{\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n display: '-webkit-box',\n flexGrow: 1,\n fontSize: 30,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 40,\n textOverflow: 'ellipsis',\n }}\n >\n {description}\n </p>\n )}\n </div>\n <div\n style={{\n alignItems: 'flex-end',\n display: 'flex',\n flexShrink: 0,\n height: '38px',\n justifyContent: 'center',\n width: '38px',\n }}\n >\n <RenderComponent\n clientProps={{\n fill: 'white',\n }}\n mappedComponent={Icon}\n />\n </div>\n </div>\n )\n}\n"],"names":["RenderComponent","React","OGImage","Icon","description","fontFamily","leader","title","div","style","backgroundColor","color","display","flexDirection","height","justifyContent","padding","width","flexGrow","fontSize","marginBottom","p","WebkitBoxOrient","WebkitLineClamp","lineHeight","marginTop","textOverflow","alignItems","flexShrink","clientProps","fill","mappedComponent"],"mappings":";AAEA,SAASA,eAAe,QAAQ,wBAAuB;AACvD,OAAOC,WAAW,QAAO;AAEzB,OAAO,MAAMC,UAMR,CAAC,EAAEC,IAAI,EAAEC,WAAW,EAAEC,aAAa,mBAAmB,EAAEC,MAAM,EAAEC,KAAK,EAAE;IAC1E,qBACE,MAACC;QACCC,OAAO;YACLC,iBAAiB;YACjBC,OAAO;YACPC,SAAS;YACTC,eAAe;YACfR;YACAS,QAAQ;YACRC,gBAAgB;YAChBC,SAAS;YACTC,OAAO;QACT;;0BAEA,MAACT;gBACCC,OAAO;oBACLG,SAAS;oBACTC,eAAe;oBACfK,UAAU;oBACVC,UAAU;oBACVL,QAAQ;gBACV;;oBAECR,wBACC,KAACE;wBACCC,OAAO;4BACLU,UAAU;4BACVC,cAAc;wBAChB;kCAECd;;kCAGL,KAACe;wBACCZ,OAAO;4BACLa,iBAAiB;4BACjBC,iBAAiB;4BACjBX,SAAS;4BACTO,UAAU;4BACVK,YAAY;4BACZJ,cAAc;4BACdK,WAAW;4BACXC,cAAc;wBAChB;kCAECnB;;oBAEFH,6BACC,KAACiB;wBACCZ,OAAO;4BACLa,iBAAiB;4BACjBC,iBAAiB;4BACjBX,SAAS;4BACTM,UAAU;4BACVC,UAAU;4BACVK,YAAY;4BACZJ,cAAc;4BACdK,WAAW;4BACXC,cAAc;wBAChB;kCAECtB;;;;0BAIP,KAACI;gBACCC,OAAO;oBACLkB,YAAY;oBACZf,SAAS;oBACTgB,YAAY;oBACZd,QAAQ;oBACRC,gBAAgB;oBAChBE,OAAO;gBACT;0BAEA,cAAA,KAACjB;oBACC6B,aAAa;wBACXC,MAAM;oBACR;oBACAC,iBAAiB5B;;;;;AAK3B,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/og/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAU7C,eAAO,MAAM,OAAO,WAAW,CAAA;AAE/B,eAAO,MAAM,WAAW,cAAc,CAAA;AAEtC,eAAO,MAAM,eAAe,YAAmB;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE;;mBA6DrE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/og/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAU7C,eAAO,MAAM,OAAO,WAAW,CAAA;AAE/B,eAAO,MAAM,WAAW,cAAc,CAAA;AAEtC,eAAO,MAAM,eAAe,YAAmB;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE;;mBAwErE,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { PayloadIcon } from '@payloadcms/ui/shared';
2
+ import { PayloadIcon, getCreateMappedComponent } from '@payloadcms/ui/shared';
3
3
  import fs from 'fs/promises';
4
4
  import { ImageResponse } from 'next/og.js';
5
5
  import { NextResponse } from 'next/server.js';
@@ -27,7 +27,11 @@ export const generateOGImage = async ({ req })=>{
27
27
  const hasLeader = searchParams.has('leader');
28
28
  const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : '';
29
29
  const description = searchParams.has('description') ? searchParams.get('description') : '';
30
- const Icon = config.admin?.components?.graphics?.Icon || PayloadIcon;
30
+ const createMappedComponent = getCreateMappedComponent({
31
+ importMap: req.payload.importMap,
32
+ serverProps: {}
33
+ });
34
+ const mappedIcon = createMappedComponent(config.admin?.components?.graphics?.Icon, undefined, PayloadIcon, 'config.admin.components.graphics.Icon');
31
35
  let fontData;
32
36
  try {
33
37
  // TODO: replace with `.woff2` file when supported
@@ -40,7 +44,7 @@ export const generateOGImage = async ({ req })=>{
40
44
  }
41
45
  const fontFamily = 'Roboto, sans-serif';
42
46
  return new ImageResponse(/*#__PURE__*/ _jsx(OGImage, {
43
- Icon: Icon,
47
+ Icon: mappedIcon,
44
48
  description: description,
45
49
  fontFamily: fontFamily,
46
50
  leader: leader,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/og/index.tsx"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { PayloadIcon } from '@payloadcms/ui/shared'\nimport fs from 'fs/promises'\nimport { ImageResponse } from 'next/og.js'\nimport { NextResponse } from 'next/server.js'\nimport path from 'path'\nimport React from 'react'\nimport { fileURLToPath } from 'url'\n\nimport { OGImage } from './image.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const runtime = 'nodejs'\n\nexport const contentType = 'image/png'\n\nexport const generateOGImage = async ({ req }: { req: PayloadRequest }) => {\n const config = req.payload.config\n\n if (config.admin.meta.defaultOGImageType === 'off') {\n return NextResponse.json({ error: `Open Graph images are disabled` }, { status: 400 })\n }\n\n try {\n const { searchParams } = new URL(req.url)\n\n const hasTitle = searchParams.has('title')\n const title = hasTitle ? searchParams.get('title')?.slice(0, 100) : ''\n const hasLeader = searchParams.has('leader')\n const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : ''\n const description = searchParams.has('description') ? searchParams.get('description') : ''\n const Icon = config.admin?.components?.graphics?.Icon || PayloadIcon\n\n let fontData\n\n try {\n // TODO: replace with `.woff2` file when supported\n // See https://github.com/vercel/next.js/issues/63935\n // Or better yet, use a CDN like Google Fonts if ever supported\n fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'))\n } catch (e) {\n console.error(`Error reading font file or not readable: ${e.message}`) // eslint-disable-line no-console\n }\n\n const fontFamily = 'Roboto, sans-serif'\n\n return new ImageResponse(\n (\n <OGImage\n Icon={Icon}\n description={description}\n fontFamily={fontFamily}\n leader={leader}\n title={title}\n />\n ),\n {\n ...(fontData\n ? {\n fonts: [\n {\n name: 'Roboto',\n data: await fontData,\n style: 'normal',\n weight: 400,\n },\n ],\n }\n : {}),\n height: 630,\n width: 1200,\n },\n )\n } catch (e: any) {\n console.error(`${e.message}`) // eslint-disable-line no-console\n return NextResponse.json({ error: `Internal Server Error: ${e.message}` }, { status: 500 })\n }\n}\n"],"names":["PayloadIcon","fs","ImageResponse","NextResponse","path","React","fileURLToPath","OGImage","filename","url","dirname","runtime","contentType","generateOGImage","req","config","payload","admin","meta","defaultOGImageType","json","error","status","searchParams","URL","hasTitle","has","title","get","slice","hasLeader","leader","replace","description","Icon","components","graphics","fontData","readFile","join","e","console","message","fontFamily","fonts","name","data","style","weight","height","width"],"mappings":";AAEA,SAASA,WAAW,QAAQ,wBAAuB;AACnD,OAAOC,QAAQ,cAAa;AAC5B,SAASC,aAAa,QAAQ,aAAY;AAC1C,SAASC,YAAY,QAAQ,iBAAgB;AAC7C,OAAOC,UAAU,OAAM;AACvB,OAAOC,WAAW,QAAO;AACzB,SAASC,aAAa,QAAQ,MAAK;AAEnC,SAASC,OAAO,QAAQ,aAAY;AAEpC,MAAMC,WAAWF,cAAc,YAAYG,GAAG;AAC9C,MAAMC,UAAUN,KAAKM,OAAO,CAACF;AAE7B,OAAO,MAAMG,UAAU,SAAQ;AAE/B,OAAO,MAAMC,cAAc,YAAW;AAEtC,OAAO,MAAMC,kBAAkB,OAAO,EAAEC,GAAG,EAA2B;IACpE,MAAMC,SAASD,IAAIE,OAAO,CAACD,MAAM;IAEjC,IAAIA,OAAOE,KAAK,CAACC,IAAI,CAACC,kBAAkB,KAAK,OAAO;QAClD,OAAOhB,aAAaiB,IAAI,CAAC;YAAEC,OAAO,CAAC,8BAA8B,CAAC;QAAC,GAAG;YAAEC,QAAQ;QAAI;IACtF;IAEA,IAAI;QACF,MAAM,EAAEC,YAAY,EAAE,GAAG,IAAIC,IAAIV,IAAIL,GAAG;QAExC,MAAMgB,WAAWF,aAAaG,GAAG,CAAC;QAClC,MAAMC,QAAQF,WAAWF,aAAaK,GAAG,CAAC,UAAUC,MAAM,GAAG,OAAO;QACpE,MAAMC,YAAYP,aAAaG,GAAG,CAAC;QACnC,MAAMK,SAASD,YAAYP,aAAaK,GAAG,CAAC,WAAWC,MAAM,GAAG,KAAKG,QAAQ,KAAK,OAAO;QACzF,MAAMC,cAAcV,aAAaG,GAAG,CAAC,iBAAiBH,aAAaK,GAAG,CAAC,iBAAiB;QACxF,MAAMM,OAAOnB,OAAOE,KAAK,EAAEkB,YAAYC,UAAUF,QAAQlC;QAEzD,IAAIqC;QAEJ,IAAI;YACF,kDAAkD;YAClD,qDAAqD;YACrD,+DAA+D;YAC/DA,WAAWpC,GAAGqC,QAAQ,CAAClC,KAAKmC,IAAI,CAAC7B,SAAS;QAC5C,EAAE,OAAO8B,GAAG;YACVC,QAAQpB,KAAK,CAAC,CAAC,yCAAyC,EAAEmB,EAAEE,OAAO,CAAC,CAAC,EAAE,iCAAiC;;QAC1G;QAEA,MAAMC,aAAa;QAEnB,OAAO,IAAIzC,4BAEP,KAACK;YACC2B,MAAMA;YACND,aAAaA;YACbU,YAAYA;YACZZ,QAAQA;YACRJ,OAAOA;YAGX;YACE,GAAIU,WACA;gBACEO,OAAO;oBACL;wBACEC,MAAM;wBACNC,MAAM,MAAMT;wBACZU,OAAO;wBACPC,QAAQ;oBACV;iBACD;YACH,IACA,CAAC,CAAC;YACNC,QAAQ;YACRC,OAAO;QACT;IAEJ,EAAE,OAAOV,GAAQ;QACfC,QAAQpB,KAAK,CAAC,CAAC,EAAEmB,EAAEE,OAAO,CAAC,CAAC,EAAE,iCAAiC;;QAC/D,OAAOvC,aAAaiB,IAAI,CAAC;YAAEC,OAAO,CAAC,uBAAuB,EAAEmB,EAAEE,OAAO,CAAC,CAAC;QAAC,GAAG;YAAEpB,QAAQ;QAAI;IAC3F;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/routes/rest/og/index.tsx"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { PayloadIcon, getCreateMappedComponent } from '@payloadcms/ui/shared'\nimport fs from 'fs/promises'\nimport { ImageResponse } from 'next/og.js'\nimport { NextResponse } from 'next/server.js'\nimport path from 'path'\nimport React from 'react'\nimport { fileURLToPath } from 'url'\n\nimport { OGImage } from './image.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const runtime = 'nodejs'\n\nexport const contentType = 'image/png'\n\nexport const generateOGImage = async ({ req }: { req: PayloadRequest }) => {\n const config = req.payload.config\n\n if (config.admin.meta.defaultOGImageType === 'off') {\n return NextResponse.json({ error: `Open Graph images are disabled` }, { status: 400 })\n }\n\n try {\n const { searchParams } = new URL(req.url)\n\n const hasTitle = searchParams.has('title')\n const title = hasTitle ? searchParams.get('title')?.slice(0, 100) : ''\n const hasLeader = searchParams.has('leader')\n const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : ''\n const description = searchParams.has('description') ? searchParams.get('description') : ''\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: req.payload.importMap,\n serverProps: {},\n })\n\n const mappedIcon = createMappedComponent(\n config.admin?.components?.graphics?.Icon,\n undefined,\n PayloadIcon,\n 'config.admin.components.graphics.Icon',\n )\n\n let fontData\n\n try {\n // TODO: replace with `.woff2` file when supported\n // See https://github.com/vercel/next.js/issues/63935\n // Or better yet, use a CDN like Google Fonts if ever supported\n fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'))\n } catch (e) {\n console.error(`Error reading font file or not readable: ${e.message}`) // eslint-disable-line no-console\n }\n\n const fontFamily = 'Roboto, sans-serif'\n\n return new ImageResponse(\n (\n <OGImage\n Icon={mappedIcon}\n description={description}\n fontFamily={fontFamily}\n leader={leader}\n title={title}\n />\n ),\n {\n ...(fontData\n ? {\n fonts: [\n {\n name: 'Roboto',\n data: await fontData,\n style: 'normal',\n weight: 400,\n },\n ],\n }\n : {}),\n height: 630,\n width: 1200,\n },\n )\n } catch (e: any) {\n console.error(`${e.message}`) // eslint-disable-line no-console\n return NextResponse.json({ error: `Internal Server Error: ${e.message}` }, { status: 500 })\n }\n}\n"],"names":["PayloadIcon","getCreateMappedComponent","fs","ImageResponse","NextResponse","path","React","fileURLToPath","OGImage","filename","url","dirname","runtime","contentType","generateOGImage","req","config","payload","admin","meta","defaultOGImageType","json","error","status","searchParams","URL","hasTitle","has","title","get","slice","hasLeader","leader","replace","description","createMappedComponent","importMap","serverProps","mappedIcon","components","graphics","Icon","undefined","fontData","readFile","join","e","console","message","fontFamily","fonts","name","data","style","weight","height","width"],"mappings":";AAEA,SAASA,WAAW,EAAEC,wBAAwB,QAAQ,wBAAuB;AAC7E,OAAOC,QAAQ,cAAa;AAC5B,SAASC,aAAa,QAAQ,aAAY;AAC1C,SAASC,YAAY,QAAQ,iBAAgB;AAC7C,OAAOC,UAAU,OAAM;AACvB,OAAOC,WAAW,QAAO;AACzB,SAASC,aAAa,QAAQ,MAAK;AAEnC,SAASC,OAAO,QAAQ,aAAY;AAEpC,MAAMC,WAAWF,cAAc,YAAYG,GAAG;AAC9C,MAAMC,UAAUN,KAAKM,OAAO,CAACF;AAE7B,OAAO,MAAMG,UAAU,SAAQ;AAE/B,OAAO,MAAMC,cAAc,YAAW;AAEtC,OAAO,MAAMC,kBAAkB,OAAO,EAAEC,GAAG,EAA2B;IACpE,MAAMC,SAASD,IAAIE,OAAO,CAACD,MAAM;IAEjC,IAAIA,OAAOE,KAAK,CAACC,IAAI,CAACC,kBAAkB,KAAK,OAAO;QAClD,OAAOhB,aAAaiB,IAAI,CAAC;YAAEC,OAAO,CAAC,8BAA8B,CAAC;QAAC,GAAG;YAAEC,QAAQ;QAAI;IACtF;IAEA,IAAI;QACF,MAAM,EAAEC,YAAY,EAAE,GAAG,IAAIC,IAAIV,IAAIL,GAAG;QAExC,MAAMgB,WAAWF,aAAaG,GAAG,CAAC;QAClC,MAAMC,QAAQF,WAAWF,aAAaK,GAAG,CAAC,UAAUC,MAAM,GAAG,OAAO;QACpE,MAAMC,YAAYP,aAAaG,GAAG,CAAC;QACnC,MAAMK,SAASD,YAAYP,aAAaK,GAAG,CAAC,WAAWC,MAAM,GAAG,KAAKG,QAAQ,KAAK,OAAO;QACzF,MAAMC,cAAcV,aAAaG,GAAG,CAAC,iBAAiBH,aAAaK,GAAG,CAAC,iBAAiB;QAExF,MAAMM,wBAAwBlC,yBAAyB;YACrDmC,WAAWrB,IAAIE,OAAO,CAACmB,SAAS;YAChCC,aAAa,CAAC;QAChB;QAEA,MAAMC,aAAaH,sBACjBnB,OAAOE,KAAK,EAAEqB,YAAYC,UAAUC,MACpCC,WACA1C,aACA;QAGF,IAAI2C;QAEJ,IAAI;YACF,kDAAkD;YAClD,qDAAqD;YACrD,+DAA+D;YAC/DA,WAAWzC,GAAG0C,QAAQ,CAACvC,KAAKwC,IAAI,CAAClC,SAAS;QAC5C,EAAE,OAAOmC,GAAG;YACVC,QAAQzB,KAAK,CAAC,CAAC,yCAAyC,EAAEwB,EAAEE,OAAO,CAAC,CAAC,EAAE,iCAAiC;;QAC1G;QAEA,MAAMC,aAAa;QAEnB,OAAO,IAAI9C,4BAEP,KAACK;YACCiC,MAAMH;YACNJ,aAAaA;YACbe,YAAYA;YACZjB,QAAQA;YACRJ,OAAOA;YAGX;YACE,GAAIe,WACA;gBACEO,OAAO;oBACL;wBACEC,MAAM;wBACNC,MAAM,MAAMT;wBACZU,OAAO;wBACPC,QAAQ;oBACV;iBACD;YACH,IACA,CAAC,CAAC;YACNC,QAAQ;YACRC,OAAO;QACT;IAEJ,EAAE,OAAOV,GAAQ;QACfC,QAAQzB,KAAK,CAAC,CAAC,EAAEwB,EAAEE,OAAO,CAAC,CAAC,EAAE,iCAAiC;;QAC/D,OAAO5C,aAAaiB,IAAI,CAAC;YAAEC,OAAO,CAAC,uBAAuB,EAAEwB,EAAEE,OAAO,CAAC,CAAC;QAAC,GAAG;YAAEzB,QAAQ;QAAI;IAC3F;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/templates/Default/Wrapper/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAaA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/templates/Default/Wrapper/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAmBA,CAAA"}
@@ -4,12 +4,14 @@ import { useNav } from '@payloadcms/ui';
4
4
  import React from 'react';
5
5
  export const Wrapper = (props)=>{
6
6
  const { baseClass, children, className } = props;
7
- const { navOpen } = useNav();
7
+ const { hydrated, navOpen, shouldAnimate } = useNav();
8
8
  return /*#__PURE__*/ _jsx("div", {
9
9
  className: [
10
10
  baseClass,
11
11
  className,
12
- navOpen && `${baseClass}--nav-open`
12
+ navOpen && `${baseClass}--nav-open`,
13
+ shouldAnimate && `${baseClass}--nav-animate`,
14
+ hydrated && `${baseClass}--nav-hydrated`
13
15
  ].filter(Boolean).join(' '),
14
16
  children: children
15
17
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/templates/Default/Wrapper/index.tsx"],"sourcesContent":["'use client'\nimport { useNav } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\n\nexport const Wrapper: React.FC<{\n baseClass?: string\n children?: React.ReactNode\n className?: string\n}> = (props) => {\n const { baseClass, children, className } = props\n const { navOpen } = useNav()\n\n return (\n <div\n className={[baseClass, className, navOpen && `${baseClass}--nav-open`]\n .filter(Boolean)\n .join(' ')}\n >\n {children}\n </div>\n )\n}\n"],"names":["useNav","React","Wrapper","props","baseClass","children","className","navOpen","div","filter","Boolean","join"],"mappings":"AAAA;;AACA,SAASA,MAAM,QAAQ,iBAAgB;AACvC,OAAOC,WAAW,QAAO;AAIzB,OAAO,MAAMC,UAIR,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGH;IAC3C,MAAM,EAAEI,OAAO,EAAE,GAAGP;IAEpB,qBACE,KAACQ;QACCF,WAAW;YAACF;YAAWE;YAAWC,WAAW,CAAC,EAAEH,UAAU,UAAU,CAAC;SAAC,CACnEK,MAAM,CAACC,SACPC,IAAI,CAAC;kBAEPN;;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/templates/Default/Wrapper/index.tsx"],"sourcesContent":["'use client'\nimport { useNav } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\n\nexport const Wrapper: React.FC<{\n baseClass?: string\n children?: React.ReactNode\n className?: string\n}> = (props) => {\n const { baseClass, children, className } = props\n const { hydrated, navOpen, shouldAnimate } = useNav()\n\n return (\n <div\n className={[\n baseClass,\n className,\n navOpen && `${baseClass}--nav-open`,\n shouldAnimate && `${baseClass}--nav-animate`,\n hydrated && `${baseClass}--nav-hydrated`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {children}\n </div>\n )\n}\n"],"names":["useNav","React","Wrapper","props","baseClass","children","className","hydrated","navOpen","shouldAnimate","div","filter","Boolean","join"],"mappings":"AAAA;;AACA,SAASA,MAAM,QAAQ,iBAAgB;AACvC,OAAOC,WAAW,QAAO;AAIzB,OAAO,MAAMC,UAIR,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGH;IAC3C,MAAM,EAAEI,QAAQ,EAAEC,OAAO,EAAEC,aAAa,EAAE,GAAGT;IAE7C,qBACE,KAACU;QACCJ,WAAW;YACTF;YACAE;YACAE,WAAW,CAAC,EAAEJ,UAAU,UAAU,CAAC;YACnCK,iBAAiB,CAAC,EAAEL,UAAU,aAAa,CAAC;YAC5CG,YAAY,CAAC,EAAEH,UAAU,cAAc,CAAC;SACzC,CACEO,MAAM,CAACC,SACPC,IAAI,CAAC;kBAEPR;;AAGP,EAAC"}
@@ -4,17 +4,17 @@
4
4
  min-height: 100vh;
5
5
  display: grid;
6
6
  position: relative;
7
- grid-template-columns: 0 auto;
8
- transition: grid-template-columns var(--nav-trans-time) linear;
9
7
  isolation: isolate;
10
8
 
11
9
  @media (prefers-reduced-motion) {
12
10
  transition: none;
13
11
  }
14
12
 
13
+ &--nav-animate {
14
+ transition: grid-template-columns var(--nav-trans-time) linear;
15
+ }
16
+
15
17
  &--nav-open {
16
- width: 100%;
17
- grid-template-columns: var(--nav-width) auto;
18
18
 
19
19
  .template-default {
20
20
  &__nav-overlay {
@@ -23,3 +23,35 @@
23
23
  }
24
24
  }
25
25
  }
26
+
27
+ @media (min-width: 1441px) {
28
+ .template-default {
29
+ grid-template-columns: 0 auto;
30
+
31
+ &--nav-open {
32
+ grid-template-columns: var(--nav-width) auto;
33
+ }
34
+ }
35
+ }
36
+
37
+ @media (max-width: 1440px) {
38
+ .template-default--nav-hydrated.template-default--nav-open {
39
+ grid-template-columns: var(--nav-width) auto;
40
+ }
41
+
42
+ .template-default {
43
+ grid-template-columns: 1fr auto;
44
+
45
+ .nav {
46
+ display: none;
47
+ }
48
+
49
+ &--nav-hydrated {
50
+ grid-template-columns: 0 auto;
51
+
52
+ .nav {
53
+ display: unset;
54
+ }
55
+ }
56
+ }
57
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI3D,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAIrB,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;AAKzB,OAAO,cAAc,CAAA;AAIrB,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,CA2D1D,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { AppHeader, EntityVisibilityProvider, NavToggler } from '@payloadcms/ui';
3
- import { RenderCustomComponent } from '@payloadcms/ui/shared';
3
+ import { RenderComponent, getCreateMappedComponent } from '@payloadcms/ui/shared';
4
4
  import React from 'react';
5
5
  import { DefaultNav } from '../../elements/Nav/index.js';
6
6
  import { NavHamburger } from './NavHamburger/index.js';
@@ -10,15 +10,19 @@ export const DefaultTemplate = ({ children, className, i18n, locale, params, pay
10
10
  const { admin: { components: { Nav: CustomNav } = {
11
11
  Nav: undefined
12
12
  } } = {} } = payload.config || {};
13
- const navProps = {
14
- i18n,
15
- locale,
16
- params,
17
- payload,
18
- permissions,
19
- searchParams,
20
- user
21
- };
13
+ const createMappedComponent = getCreateMappedComponent({
14
+ importMap: payload.importMap,
15
+ serverProps: {
16
+ i18n,
17
+ locale,
18
+ params,
19
+ payload,
20
+ permissions,
21
+ searchParams,
22
+ user
23
+ }
24
+ });
25
+ const MappedDefaultNav = createMappedComponent(CustomNav, undefined, DefaultNav, 'CustomNav');
22
26
  return /*#__PURE__*/ _jsx(EntityVisibilityProvider, {
23
27
  visibleEntities: visibleEntities,
24
28
  children: /*#__PURE__*/ _jsxs("div", {
@@ -35,19 +39,8 @@ export const DefaultTemplate = ({ children, className, i18n, locale, params, pay
35
39
  baseClass: baseClass,
36
40
  className: className,
37
41
  children: [
38
- /*#__PURE__*/ _jsx(RenderCustomComponent, {
39
- CustomComponent: CustomNav,
40
- DefaultComponent: DefaultNav,
41
- componentProps: navProps,
42
- serverOnlyProps: {
43
- i18n,
44
- locale,
45
- params,
46
- payload,
47
- permissions,
48
- searchParams,
49
- user
50
- }
42
+ /*#__PURE__*/ _jsx(RenderComponent, {
43
+ mappedComponent: MappedDefaultNav
51
44
  }),
52
45
  /*#__PURE__*/ _jsxs("div", {
53
46
  className: `${baseClass}__wrap`,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/templates/Default/index.tsx"],"sourcesContent":["import type { ServerProps, VisibleEntities } from 'payload'\n\nimport { AppHeader, EntityVisibilityProvider, NavToggler } from '@payloadcms/ui'\nimport { RenderCustomComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { DefaultNav, type NavProps } from '../../elements/Nav/index.js'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { Wrapper } from './Wrapper/index.js'\nimport './index.scss'\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 navProps: NavProps = {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n return (\n <EntityVisibilityProvider visibleEntities={visibleEntities}>\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 <RenderCustomComponent\n CustomComponent={CustomNav}\n DefaultComponent={DefaultNav}\n componentProps={navProps}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n <div className={`${baseClass}__wrap`}>\n <AppHeader />\n {children}\n </div>\n </Wrapper>\n </div>\n </EntityVisibilityProvider>\n )\n}\n"],"names":["AppHeader","EntityVisibilityProvider","NavToggler","RenderCustomComponent","React","DefaultNav","NavHamburger","Wrapper","baseClass","DefaultTemplate","children","className","i18n","locale","params","payload","permissions","searchParams","user","visibleEntities","admin","components","Nav","CustomNav","undefined","config","navProps","div","id","CustomComponent","DefaultComponent","componentProps","serverOnlyProps"],"mappings":";AAEA,SAASA,SAAS,EAAEC,wBAAwB,EAAEC,UAAU,QAAQ,iBAAgB;AAChF,SAASC,qBAAqB,QAAQ,wBAAuB;AAC7D,OAAOC,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAuB,8BAA6B;AACvE,SAASC,YAAY,QAAQ,0BAAyB;AACtD,SAASC,OAAO,QAAQ,qBAAoB;AAG5C,MAAMC,YAAY;AAQlB,OAAO,MAAMC,kBAAkD,CAAC,EAC9DC,QAAQ,EACRC,SAAS,EACTC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,WAAW,EACXC,YAAY,EACZC,IAAI,EACJC,eAAe,EAChB;IACC,MAAM,EACJC,OAAO,EACLC,YAAY,EAAEC,KAAKC,SAAS,EAAE,GAAG;QAC/BD,KAAKE;IACP,CAAC,EACF,GAAG,CAAC,CAAC,EACP,GAAGT,QAAQU,MAAM,IAAI,CAAC;IAEvB,MAAMC,WAAqB;QACzBd;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACF;IAEA,qBACE,KAACjB;QAAyBkB,iBAAiBA;kBACzC,cAAA,MAACQ;;8BACC,KAACA;oBAAIhB,WAAW,CAAC,EAAEH,UAAU,qBAAqB,CAAC;oBAAEoB,IAAG;8BACtD,cAAA,KAAC1B;wBAAWS,WAAW,CAAC,EAAEH,UAAU,aAAa,CAAC;kCAChD,cAAA,KAACF;;;8BAGL,MAACC;oBAAQC,WAAWA;oBAAWG,WAAWA;;sCACxC,KAACR;4BACC0B,iBAAiBN;4BACjBO,kBAAkBzB;4BAClB0B,gBAAgBL;4BAChBM,iBAAiB;gCACfpB;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;4BACF;;sCAEF,MAACS;4BAAIhB,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;;8CAClC,KAACR;gCACAU;;;;;;;;AAMb,EAAC"}
1
+ {"version":3,"sources":["../../../src/templates/Default/index.tsx"],"sourcesContent":["import type { MappedComponent, ServerProps, VisibleEntities } from 'payload'\n\nimport { AppHeader, EntityVisibilityProvider, NavToggler } from '@payloadcms/ui'\nimport { RenderComponent, getCreateMappedComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { DefaultNav } from '../../elements/Nav/index.js'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { Wrapper } from './Wrapper/index.js'\nimport './index.scss'\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 <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 </EntityVisibilityProvider>\n )\n}\n"],"names":["AppHeader","EntityVisibilityProvider","NavToggler","RenderComponent","getCreateMappedComponent","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","div","id","mappedComponent"],"mappings":";AAEA,SAASA,SAAS,EAAEC,wBAAwB,EAAEC,UAAU,QAAQ,iBAAgB;AAChF,SAASC,eAAe,EAAEC,wBAAwB,QAAQ,wBAAuB;AACjF,OAAOC,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,YAAY,QAAQ,0BAAyB;AACtD,SAASC,OAAO,QAAQ,qBAAoB;AAG5C,MAAMC,YAAY;AAQlB,OAAO,MAAMC,kBAAkD,CAAC,EAC9DC,QAAQ,EACRC,SAAS,EACTC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,WAAW,EACXC,YAAY,EACZC,IAAI,EACJC,eAAe,EAChB;IACC,MAAM,EACJC,OAAO,EACLC,YAAY,EAAEC,KAAKC,SAAS,EAAE,GAAG;QAC/BD,KAAKE;IACP,CAAC,EACF,GAAG,CAAC,CAAC,EACP,GAAGT,QAAQU,MAAM,IAAI,CAAC;IAEvB,MAAMC,wBAAwBvB,yBAAyB;QACrDwB,WAAWZ,QAAQY,SAAS;QAC5BC,aAAa;YACXhB;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;QACF;IACF;IAEA,MAAMW,mBAAoCH,sBACxCH,WACAC,WACAnB,YACA;IAGF,qBACE,KAACL;QAAyBmB,iBAAiBA;kBACzC,cAAA,MAACW;;8BACC,KAACA;oBAAInB,WAAW,CAAC,EAAEH,UAAU,qBAAqB,CAAC;oBAAEuB,IAAG;8BACtD,cAAA,KAAC9B;wBAAWU,WAAW,CAAC,EAAEH,UAAU,aAAa,CAAC;kCAChD,cAAA,KAACF;;;8BAGL,MAACC;oBAAQC,WAAWA;oBAAWG,WAAWA;;sCACxC,KAACT;4BAAgB8B,iBAAiBH;;sCAElC,MAACC;4BAAInB,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;;8CAClC,KAACT;gCACAW;;;;;;;;AAMb,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPayloadHMR.d.ts","sourceRoot":"","sources":["../../src/utilities/getPayloadHMR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAgBpE,eAAO,MAAM,MAAM,WAAkB,eAAe,WAAW,OAAO,KAAG,OAAO,CAAC,IAAI,CAmCpF,CAAA;AAED,eAAO,MAAM,aAAa,YAAmB,WAAW,KAAG,OAAO,CAAC,OAAO,CAiEzE,CAAA"}
1
+ {"version":3,"file":"getPayloadHMR.d.ts","sourceRoot":"","sources":["../../src/utilities/getPayloadHMR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAgBpE,eAAO,MAAM,MAAM,WAAkB,eAAe,WAAW,OAAO,KAAG,OAAO,CAAC,IAAI,CA0CpF,CAAA;AAED,eAAO,MAAM,aAAa,YAAmB,WAAW,KAAG,OAAO,CAAC,OAAO,CAwEzE,CAAA"}
@@ -1,4 +1,4 @@
1
- import { BasePayload } from 'payload';
1
+ import { BasePayload, generateImportMap } from 'payload';
2
2
  import WebSocket from 'ws';
3
3
  let cached = global._payload;
4
4
  if (!cached) {
@@ -36,6 +36,12 @@ export const reload = async (config, payload)=>{
36
36
  log: false
37
37
  });
38
38
  }
39
+ // Generate component map
40
+ if (config.admin?.importMap?.autoGenerate !== false) {
41
+ await generateImportMap(config, {
42
+ log: true
43
+ });
44
+ }
39
45
  await payload.db.init();
40
46
  if (payload.db.connect) {
41
47
  await payload.db.connect({
@@ -61,6 +67,9 @@ export const getPayloadHMR = async (options)=>{
61
67
  if (cached.reload instanceof Promise) {
62
68
  await cached.reload;
63
69
  }
70
+ if (options?.importMap) {
71
+ cached.payload.importMap = options.importMap;
72
+ }
64
73
  return cached.payload;
65
74
  }
66
75
  if (!cached.promise) {
@@ -89,6 +98,9 @@ export const getPayloadHMR = async (options)=>{
89
98
  cached.promise = null;
90
99
  throw e;
91
100
  }
101
+ if (options?.importMap) {
102
+ cached.payload.importMap = options.importMap;
103
+ }
92
104
  return cached.payload;
93
105
  };
94
106
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getPayloadHMR.ts"],"sourcesContent":["import type { InitOptions, Payload, SanitizedConfig } from 'payload'\n\nimport { BasePayload } from 'payload'\nimport WebSocket from 'ws'\n\nlet cached: {\n payload: Payload | null\n promise: Promise<Payload> | null\n reload: Promise<void> | boolean\n ws: WebSocket | null\n} = global._payload\n\nif (!cached) {\n cached = global._payload = { payload: null, promise: null, reload: false, ws: null }\n}\n\nexport const reload = async (config: SanitizedConfig, payload: Payload): Promise<void> => {\n if (typeof payload.db.destroy === 'function') {\n await payload.db.destroy()\n }\n\n payload.config = config\n\n payload.collections = config.collections.reduce((collections, collection) => {\n collections[collection.slug] = {\n config: collection,\n customIDType: payload.collections[collection.slug]?.customIDType,\n }\n return collections\n }, {})\n\n 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 // Generate types\n if (config.typescript.autoGenerate !== false) {\n // We cannot run it directly here, as generate-types imports json-schema-to-typescript, which breaks on turbopack.\n // see: https://github.com/vercel/next.js/issues/66723\n void payload.bin({\n args: ['generate:types'],\n log: false,\n })\n }\n\n await payload.db.init()\n if (payload.db.connect) {\n await payload.db.connect({ hotReload: true })\n }\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 getPayloadHMR to work.')\n }\n\n if (cached.payload) {\n if (cached.reload === true) {\n let resolve: () => void\n\n // getPayloadHMR is called multiple times, in parallel. However, we only want to run `await reload` once. By immediately setting cached.reload to a promise,\n // we can ensure that all subsequent calls will wait for the first reload to finish. So if we set it here, the 2nd call of getPayloadHMR\n // will reach `if (cached.reload instanceof Promise) {` which then waits for the first reload to finish.\n cached.reload = new Promise((res) => (resolve = res))\n const config = await options.config\n await reload(config, cached.payload)\n\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 // no need to await options.config here, as it's already awaited in the BasePayload.init\n cached.promise = new BasePayload().init(options)\n }\n\n try {\n cached.payload = await cached.promise\n\n if (\n !cached.ws &&\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 cached.ws = new WebSocket(\n `ws://localhost:${port}${process.env.NEXT_BASE_PATH ?? ''}/_next/webpack-hmr`,\n )\n\n cached.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","ws","config","db","destroy","collections","reduce","collection","slug","customIDType","globals","typescript","autoGenerate","bin","args","log","init","connect","hotReload","getPayloadHMR","options","Error","resolve","Promise","res","process","env","NODE_ENV","DISABLE_PAYLOAD_HMR","port","PORT","NEXT_BASE_PATH","onmessage","event","data","JSON","parse","action","_","e"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utilities/getPayloadHMR.ts"],"sourcesContent":["import type { InitOptions, Payload, SanitizedConfig } from 'payload'\n\nimport { BasePayload, generateImportMap } from 'payload'\nimport WebSocket from 'ws'\n\nlet cached: {\n payload: Payload | null\n promise: Promise<Payload> | null\n reload: Promise<void> | boolean\n ws: WebSocket | null\n} = global._payload\n\nif (!cached) {\n cached = global._payload = { payload: null, promise: null, reload: false, ws: null }\n}\n\nexport const reload = async (config: SanitizedConfig, payload: Payload): Promise<void> => {\n if (typeof payload.db.destroy === 'function') {\n await payload.db.destroy()\n }\n\n payload.config = config\n\n payload.collections = config.collections.reduce((collections, collection) => {\n collections[collection.slug] = {\n config: collection,\n customIDType: payload.collections[collection.slug]?.customIDType,\n }\n return collections\n }, {})\n\n 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 // Generate types\n if (config.typescript.autoGenerate !== false) {\n // We cannot run it directly here, as generate-types imports json-schema-to-typescript, which breaks on turbopack.\n // see: https://github.com/vercel/next.js/issues/66723\n void payload.bin({\n args: ['generate:types'],\n log: false,\n })\n }\n\n // Generate component map\n if (config.admin?.importMap?.autoGenerate !== false) {\n await generateImportMap(config, {\n log: true,\n })\n }\n\n await payload.db.init()\n if (payload.db.connect) {\n await payload.db.connect({ hotReload: true })\n }\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 getPayloadHMR to work.')\n }\n\n if (cached.payload) {\n if (cached.reload === true) {\n let resolve: () => void\n\n // getPayloadHMR is called multiple times, in parallel. However, we only want to run `await reload` once. By immediately setting cached.reload to a promise,\n // we can ensure that all subsequent calls will wait for the first reload to finish. So if we set it here, the 2nd call of getPayloadHMR\n // will reach `if (cached.reload instanceof Promise) {` which then waits for the first reload to finish.\n cached.reload = new Promise((res) => (resolve = res))\n const config = await options.config\n await reload(config, cached.payload)\n\n resolve()\n }\n\n if (cached.reload instanceof Promise) {\n await cached.reload\n }\n\n if (options?.importMap) {\n cached.payload.importMap = options.importMap\n }\n return cached.payload\n }\n\n if (!cached.promise) {\n // no need to await options.config here, as it's already awaited in the BasePayload.init\n cached.promise = new BasePayload().init(options)\n }\n\n try {\n cached.payload = await cached.promise\n\n if (\n !cached.ws &&\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 cached.ws = new WebSocket(\n `ws://localhost:${port}${process.env.NEXT_BASE_PATH ?? ''}/_next/webpack-hmr`,\n )\n\n cached.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 if (options?.importMap) {\n cached.payload.importMap = options.importMap\n }\n\n return cached.payload\n}\n"],"names":["BasePayload","generateImportMap","WebSocket","cached","global","_payload","payload","promise","reload","ws","config","db","destroy","collections","reduce","collection","slug","customIDType","globals","typescript","autoGenerate","bin","args","log","admin","importMap","init","connect","hotReload","getPayloadHMR","options","Error","resolve","Promise","res","process","env","NODE_ENV","DISABLE_PAYLOAD_HMR","port","PORT","NEXT_BASE_PATH","onmessage","event","data","JSON","parse","action","_","e"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { InitPageResult } from 'payload';
2
2
  import type { Args } from './types.js';
3
- export declare const initPage: ({ config: configPromise, redirectUnauthenticatedUser, route, searchParams, }: Args) => Promise<InitPageResult>;
3
+ export declare const initPage: ({ config: configPromise, importMap, redirectUnauthenticatedUser, route, searchParams, }: Args) => Promise<InitPageResult>;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -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,iFAKlB,IAAI,KAAG,OAAO,CAAC,cAAc,CA0I/B,CAAA"}
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,CA0I/B,CAAA"}
@@ -7,10 +7,11 @@ import { getPayloadHMR } from '../getPayloadHMR.js';
7
7
  import { getRequestLanguage } from '../getRequestLanguage.js';
8
8
  import { handleAdminPage } from './handleAdminPage.js';
9
9
  import { handleAuthRedirect } from './handleAuthRedirect.js';
10
- export const initPage = async ({ config: configPromise, redirectUnauthenticatedUser = false, route, searchParams })=>{
10
+ export const initPage = async ({ config: configPromise, importMap, redirectUnauthenticatedUser = false, route, searchParams })=>{
11
11
  const headers = getHeaders();
12
12
  const payload = await getPayloadHMR({
13
- config: configPromise
13
+ config: configPromise,
14
+ importMap
14
15
  });
15
16
  const { collections, globals, i18n: i18nConfig, localization, routes: { admin: adminRoute } } = payload.config;
16
17
  const queryString = `${qs.stringify(searchParams ?? {}, {
@@ -1 +1 @@
1
- {"version":3,"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 redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = getHeaders()\n const payload = await getPayloadHMR({ config: configPromise })\n\n const {\n collections,\n globals,\n i18n: i18nConfig,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const cookies = parseCookies(headers)\n const language = getRequestLanguage({ config: payload.config, cookies, headers })\n\n const i18n: 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) locale = findLocaleFromCode(localization, defaultLocaleCode)\n req.locale = locale.code\n }\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n if (redirectUnauthenticatedUser && !user) {\n handleAuthRedirect({\n config: payload.config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n })\n }\n\n const { collectionConfig, docID, globalConfig } = handleAdminPage({\n adminRoute,\n config: payload.config,\n permissions,\n route,\n })\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"names":["initI18n","findLocaleFromCode","headers","getHeaders","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","getRequestLanguage","handleAdminPage","handleAuthRedirect","initPage","config","configPromise","redirectUnauthenticatedUser","route","searchParams","payload","collections","globals","i18n","i18nConfig","localization","routes","admin","adminRoute","queryString","stringify","addQueryPrefix","cookies","language","context","languageOptions","Object","entries","supportedLanguages","reduce","acc","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","permissions","user","auth","localeParam","locale","defaultLocaleCode","defaultLocale","localeCode","find","collection","limit","where","and","equals","id","key","then","res","docs","error","code","visibleEntities","map","slug","hidden","filter","Boolean","collectionConfig","docID","globalConfig"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { 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) locale = findLocaleFromCode(localization, defaultLocaleCode)\n req.locale = locale.code\n }\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n if (redirectUnauthenticatedUser && !user) {\n handleAuthRedirect({\n config: payload.config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n })\n }\n\n const { collectionConfig, docID, globalConfig } = handleAdminPage({\n adminRoute,\n config: payload.config,\n permissions,\n route,\n })\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"names":["initI18n","findLocaleFromCode","headers","getHeaders","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","getRequestLanguage","handleAdminPage","handleAuthRedirect","initPage","config","configPromise","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"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import type { SanitizedConfig } from 'payload';
1
+ import type { ImportMap, SanitizedConfig } from 'payload';
2
2
  export type Args = {
3
3
  /**
4
4
  * Your sanitized Payload config.
5
5
  * If unresolved, this function will await the promise.
6
6
  */
7
7
  config: Promise<SanitizedConfig> | SanitizedConfig;
8
+ importMap: ImportMap;
8
9
  /**
9
10
  * If true, redirects unauthenticated users to the admin login page.
10
11
  * If a string is provided, the user will be redirected to that specific URL.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,MAAM,MAAM,IAAI,GAAG;IACjB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC9C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzD,MAAM,MAAM,IAAI,GAAG;IACjB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,SAAS,EAAE,SAAS,CAAA;IACpB;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC9C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/initPage/types.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nexport type Args = {\n /**\n * Your sanitized Payload config.\n * If unresolved, this function will await the promise.\n */\n config: Promise<SanitizedConfig> | SanitizedConfig\n /**\n * If true, redirects unauthenticated users to the admin login page.\n * If a string is provided, the user will be redirected to that specific URL.\n */\n redirectUnauthenticatedUser?: boolean | string\n /**\n * The current route, i.e. `/admin/collections/posts`.\n */\n route: string\n /**\n * The search parameters of the current route provided to all pages in Next.js.\n */\n searchParams: { [key: string]: string | string[] | undefined }\n}\n"],"names":[],"mappings":"AAEA,WAmBC"}
1
+ {"version":3,"sources":["../../../src/utilities/initPage/types.ts"],"sourcesContent":["import type { ImportMap, SanitizedConfig } from 'payload'\n\nexport type Args = {\n /**\n * Your sanitized Payload config.\n * If unresolved, this function will await the promise.\n */\n config: Promise<SanitizedConfig> | SanitizedConfig\n importMap: ImportMap\n /**\n * If true, redirects unauthenticated users to the admin login page.\n * If a string is provided, the user will be redirected to that specific URL.\n */\n redirectUnauthenticatedUser?: boolean | string\n /**\n * The current route, i.e. `/admin/collections/posts`.\n */\n route: string\n /**\n * The search parameters of the current route provided to all pages in Next.js.\n */\n searchParams: { [key: string]: string | string[] | undefined }\n}\n"],"names":[],"mappings":"AAEA,WAoBC"}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  export declare const LocaleSelector: React.FC<{
3
- localeOptions: {
3
+ readonly localeOptions: {
4
4
  label: Record<string, string> | string;
5
5
  value: string;
6
6
  }[];
7
- onChange: (value: string) => void;
7
+ readonly onChange: (value: string) => void;
8
8
  }>;
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/API/LocaleSelector/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,aAAa,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;QACtC,KAAK,EAAE,MAAM,CAAA;KACd,EAAE,CAAA;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC,CAYA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/API/LocaleSelector/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE;QACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;QACtC,KAAK,EAAE,MAAM,CAAA;KACd,EAAE,CAAA;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC3C,CAcA,CAAA"}
@@ -4,11 +4,13 @@ import React from 'react';
4
4
  export const LocaleSelector = ({ localeOptions, onChange })=>{
5
5
  const { t } = useTranslation();
6
6
  return /*#__PURE__*/ _jsx(SelectField, {
7
- label: t('general:locale'),
8
- name: "locale",
9
- onChange: (value)=>onChange(value),
10
- options: localeOptions,
11
- path: "locale"
7
+ field: {
8
+ name: 'locale',
9
+ _path: 'locale',
10
+ label: t('general:locale'),
11
+ options: localeOptions
12
+ },
13
+ onChange: (value)=>onChange(value)
12
14
  });
13
15
  };
14
16
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/API/LocaleSelector/index.tsx"],"sourcesContent":["import { SelectField, useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nexport const LocaleSelector: React.FC<{\n localeOptions: {\n label: Record<string, string> | string\n value: string\n }[]\n onChange: (value: string) => void\n}> = ({ localeOptions, onChange }) => {\n const { t } = useTranslation()\n\n return (\n <SelectField\n label={t('general:locale')}\n name=\"locale\"\n onChange={(value: string) => onChange(value)}\n options={localeOptions}\n path=\"locale\"\n />\n )\n}\n"],"names":["SelectField","useTranslation","React","LocaleSelector","localeOptions","onChange","t","label","name","value","options","path"],"mappings":";AAAA,SAASA,WAAW,EAAEC,cAAc,QAAQ,iBAAgB;AAC5D,OAAOC,WAAW,QAAO;AAEzB,OAAO,MAAMC,iBAMR,CAAC,EAAEC,aAAa,EAAEC,QAAQ,EAAE;IAC/B,MAAM,EAAEC,CAAC,EAAE,GAAGL;IAEd,qBACE,KAACD;QACCO,OAAOD,EAAE;QACTE,MAAK;QACLH,UAAU,CAACI,QAAkBJ,SAASI;QACtCC,SAASN;QACTO,MAAK;;AAGX,EAAC"}
1
+ {"version":3,"sources":["../../../../src/views/API/LocaleSelector/index.tsx"],"sourcesContent":["import { SelectField, useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nexport const LocaleSelector: React.FC<{\n readonly localeOptions: {\n label: Record<string, string> | string\n value: string\n }[]\n readonly onChange: (value: string) => void\n}> = ({ localeOptions, onChange }) => {\n const { t } = useTranslation()\n\n return (\n <SelectField\n field={{\n name: 'locale',\n _path: 'locale',\n label: t('general:locale'),\n options: localeOptions,\n }}\n onChange={(value: string) => onChange(value)}\n />\n )\n}\n"],"names":["SelectField","useTranslation","React","LocaleSelector","localeOptions","onChange","t","field","name","_path","label","options","value"],"mappings":";AAAA,SAASA,WAAW,EAAEC,cAAc,QAAQ,iBAAgB;AAC5D,OAAOC,WAAW,QAAO;AAEzB,OAAO,MAAMC,iBAMR,CAAC,EAAEC,aAAa,EAAEC,QAAQ,EAAE;IAC/B,MAAM,EAAEC,CAAC,EAAE,GAAGL;IAEd,qBACE,KAACD;QACCO,OAAO;YACLC,MAAM;YACNC,OAAO;YACPC,OAAOJ,EAAE;YACTK,SAASP;QACX;QACAC,UAAU,CAACO,QAAkBP,SAASO;;AAG5C,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/API/index.client.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAkLjC,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/API/index.client.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAuLjC,CAAA"}