@payloadcms/next 3.0.0-canary.95fcd13 → 3.0.0-canary.98cbdb9

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 (293) hide show
  1. package/dist/cjs/withPayload.cjs +15 -13
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +3 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +16 -3
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +2 -2
  8. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +2 -2
  10. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -2
  12. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/index.js +27 -17
  14. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/index.scss +0 -1
  16. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +2 -0
  17. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  18. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +15 -15
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  20. package/dist/elements/DocumentHeader/index.d.ts +2 -2
  21. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  22. package/dist/elements/DocumentHeader/index.js +2 -2
  23. package/dist/elements/DocumentHeader/index.js.map +1 -1
  24. package/dist/elements/DocumentHeader/index.scss +5 -4
  25. package/dist/elements/EmailAndUsername/index.d.ts +9 -3
  26. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  27. package/dist/elements/EmailAndUsername/index.js +78 -22
  28. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  29. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  30. package/dist/elements/LeaveWithoutSaving/index.js +7 -0
  31. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  32. package/dist/elements/LeaveWithoutSaving/index.scss +1 -0
  33. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +2 -1
  34. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  35. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +3 -1
  36. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  37. package/dist/elements/Logo/index.d.ts.map +1 -1
  38. package/dist/elements/Logo/index.js +8 -5
  39. package/dist/elements/Logo/index.js.map +1 -1
  40. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  41. package/dist/elements/Nav/NavWrapper/index.js +4 -2
  42. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  43. package/dist/elements/Nav/NavWrapper/index.scss +4 -1
  44. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  45. package/dist/elements/Nav/index.client.js +8 -9
  46. package/dist/elements/Nav/index.client.js.map +1 -1
  47. package/dist/elements/Nav/index.d.ts.map +1 -1
  48. package/dist/elements/Nav/index.js +21 -27
  49. package/dist/elements/Nav/index.js.map +1 -1
  50. package/dist/elements/Nav/index.scss +21 -15
  51. package/dist/layouts/Root/index.d.ts +5 -4
  52. package/dist/layouts/Root/index.d.ts.map +1 -1
  53. package/dist/layouts/Root/index.js +54 -14
  54. package/dist/layouts/Root/index.js.map +1 -1
  55. package/dist/prod/styles.css +1 -1
  56. package/dist/routes/rest/buildFormState.js +4 -4
  57. package/dist/routes/rest/buildFormState.js.map +1 -1
  58. package/dist/routes/rest/og/image.d.ts +2 -1
  59. package/dist/routes/rest/og/image.d.ts.map +1 -1
  60. package/dist/routes/rest/og/image.js +6 -2
  61. package/dist/routes/rest/og/image.js.map +1 -1
  62. package/dist/routes/rest/og/index.d.ts.map +1 -1
  63. package/dist/routes/rest/og/index.js +7 -3
  64. package/dist/routes/rest/og/index.js.map +1 -1
  65. package/dist/scss/app.scss +5 -5
  66. package/dist/scss/toasts.scss +15 -14
  67. package/dist/scss/type.scss +1 -0
  68. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  69. package/dist/templates/Default/Wrapper/index.js +4 -2
  70. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  71. package/dist/templates/Default/Wrapper/index.scss +36 -4
  72. package/dist/templates/Default/index.d.ts.map +1 -1
  73. package/dist/templates/Default/index.js +16 -23
  74. package/dist/templates/Default/index.js.map +1 -1
  75. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  76. package/dist/utilities/getPayloadHMR.js +13 -1
  77. package/dist/utilities/getPayloadHMR.js.map +1 -1
  78. package/dist/utilities/initPage/index.d.ts +1 -1
  79. package/dist/utilities/initPage/index.d.ts.map +1 -1
  80. package/dist/utilities/initPage/index.js +3 -2
  81. package/dist/utilities/initPage/index.js.map +1 -1
  82. package/dist/utilities/initPage/types.d.ts +2 -1
  83. package/dist/utilities/initPage/types.d.ts.map +1 -1
  84. package/dist/utilities/initPage/types.js.map +1 -1
  85. package/dist/utilities/meta.d.ts.map +1 -1
  86. package/dist/utilities/meta.js +2 -4
  87. package/dist/utilities/meta.js.map +1 -1
  88. package/dist/views/API/LocaleSelector/index.d.ts +2 -2
  89. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  90. package/dist/views/API/LocaleSelector/index.js +7 -5
  91. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  92. package/dist/views/API/index.client.d.ts.map +1 -1
  93. package/dist/views/API/index.client.js +39 -33
  94. package/dist/views/API/index.client.js.map +1 -1
  95. package/dist/views/API/index.d.ts +2 -2
  96. package/dist/views/API/index.d.ts.map +1 -1
  97. package/dist/views/API/index.js.map +1 -1
  98. package/dist/views/API/index.scss +1 -2
  99. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  100. package/dist/views/Account/ToggleTheme/index.js +18 -16
  101. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  102. package/dist/views/Account/index.client.d.ts +3 -0
  103. package/dist/views/Account/index.client.d.ts.map +1 -0
  104. package/dist/views/Account/index.client.js +21 -0
  105. package/dist/views/Account/index.client.js.map +1 -0
  106. package/dist/views/Account/index.d.ts.map +1 -1
  107. package/dist/views/Account/index.js +38 -36
  108. package/dist/views/Account/index.js.map +1 -1
  109. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  110. package/dist/views/CreateFirstUser/index.client.js +16 -12
  111. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  112. package/dist/views/CreateFirstUser/index.scss +4 -0
  113. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  114. package/dist/views/Dashboard/Default/index.js +21 -27
  115. package/dist/views/Dashboard/Default/index.js.map +1 -1
  116. package/dist/views/Dashboard/index.d.ts.map +1 -1
  117. package/dist/views/Dashboard/index.js +26 -30
  118. package/dist/views/Dashboard/index.js.map +1 -1
  119. package/dist/views/Document/getCustomViewByKey.d.ts.map +1 -1
  120. package/dist/views/Document/getCustomViewByKey.js +1 -2
  121. package/dist/views/Document/getCustomViewByKey.js.map +1 -1
  122. package/dist/views/Document/getCustomViewByRoute.js +2 -2
  123. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  124. package/dist/views/Document/getViewsFromConfig.d.ts +9 -4
  125. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  126. package/dist/views/Document/getViewsFromConfig.js +244 -196
  127. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  128. package/dist/views/Document/index.d.ts.map +1 -1
  129. package/dist/views/Document/index.js +40 -42
  130. package/dist/views/Document/index.js.map +1 -1
  131. package/dist/views/Edit/Default/Auth/APIKey.d.ts +2 -2
  132. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  133. package/dist/views/Edit/Default/Auth/APIKey.js +34 -7
  134. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  135. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  136. package/dist/views/Edit/Default/Auth/index.js +34 -18
  137. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  138. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
  139. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +1 -1
  140. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  141. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  142. package/dist/views/Edit/Default/index.js +27 -19
  143. package/dist/views/Edit/Default/index.js.map +1 -1
  144. package/dist/views/Edit/index.client.d.ts.map +1 -1
  145. package/dist/views/Edit/index.client.js +11 -6
  146. package/dist/views/Edit/index.client.js.map +1 -1
  147. package/dist/views/Edit/index.d.ts +2 -2
  148. package/dist/views/Edit/index.d.ts.map +1 -1
  149. package/dist/views/Edit/index.js.map +1 -1
  150. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  151. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +11 -7
  152. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  153. package/dist/views/List/Default/index.d.ts.map +1 -1
  154. package/dist/views/List/Default/index.js +52 -43
  155. package/dist/views/List/Default/index.js.map +1 -1
  156. package/dist/views/List/Default/index.scss +7 -14
  157. package/dist/views/List/index.d.ts.map +1 -1
  158. package/dist/views/List/index.js +67 -47
  159. package/dist/views/List/index.js.map +1 -1
  160. package/dist/views/List/meta.js +1 -1
  161. package/dist/views/List/meta.js.map +1 -1
  162. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  163. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  164. package/dist/views/LivePreview/Context/context.js.map +1 -1
  165. package/dist/views/LivePreview/Context/index.d.ts +3 -3
  166. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  167. package/dist/views/LivePreview/Context/index.js.map +1 -1
  168. package/dist/views/LivePreview/index.client.d.ts +3 -3
  169. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  170. package/dist/views/LivePreview/index.client.js +84 -93
  171. package/dist/views/LivePreview/index.client.js.map +1 -1
  172. package/dist/views/LivePreview/index.d.ts +2 -2
  173. package/dist/views/LivePreview/index.d.ts.map +1 -1
  174. package/dist/views/LivePreview/index.js.map +1 -1
  175. package/dist/views/LivePreview/usePopupWindow.d.ts +2 -1
  176. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  177. package/dist/views/LivePreview/usePopupWindow.js +1 -1
  178. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  179. package/dist/views/Login/LoginField/index.d.ts +3 -3
  180. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  181. package/dist/views/Login/LoginField/index.js +15 -12
  182. package/dist/views/Login/LoginField/index.js.map +1 -1
  183. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  184. package/dist/views/Login/LoginForm/index.js +6 -4
  185. package/dist/views/Login/LoginForm/index.js.map +1 -1
  186. package/dist/views/Login/index.d.ts.map +1 -1
  187. package/dist/views/Login/index.js +21 -27
  188. package/dist/views/Login/index.js.map +1 -1
  189. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  190. package/dist/views/NotFound/index.client.js +1 -1
  191. package/dist/views/NotFound/index.client.js.map +1 -1
  192. package/dist/views/NotFound/index.d.ts +4 -3
  193. package/dist/views/NotFound/index.d.ts.map +1 -1
  194. package/dist/views/NotFound/index.js +14 -22
  195. package/dist/views/NotFound/index.js.map +1 -1
  196. package/dist/views/ResetPassword/index.client.d.ts +1 -1
  197. package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
  198. package/dist/views/ResetPassword/index.client.js +9 -6
  199. package/dist/views/ResetPassword/index.client.js.map +1 -1
  200. package/dist/views/Root/getCustomViewByRoute.d.ts +3 -2
  201. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  202. package/dist/views/Root/getCustomViewByRoute.js +13 -10
  203. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  204. package/dist/views/Root/getViewFromConfig.d.ts +10 -4
  205. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  206. package/dist/views/Root/getViewFromConfig.js +26 -9
  207. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  208. package/dist/views/Root/index.d.ts +6 -5
  209. package/dist/views/Root/index.d.ts.map +1 -1
  210. package/dist/views/Root/index.js +14 -6
  211. package/dist/views/Root/index.js.map +1 -1
  212. package/dist/views/Unauthorized/index.d.ts +2 -2
  213. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  214. package/dist/views/Unauthorized/index.js.map +1 -1
  215. package/dist/views/Version/Default/SetStepNav.d.ts +8 -8
  216. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  217. package/dist/views/Version/Default/SetStepNav.js +7 -7
  218. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  219. package/dist/views/Version/Default/index.d.ts.map +1 -1
  220. package/dist/views/Version/Default/index.js +10 -15
  221. package/dist/views/Version/Default/index.js.map +1 -1
  222. package/dist/views/Version/Default/types.d.ts +7 -7
  223. package/dist/views/Version/Default/types.d.ts.map +1 -1
  224. package/dist/views/Version/Default/types.js.map +1 -1
  225. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +2 -2
  226. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  227. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +20 -20
  228. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  229. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +2 -2
  230. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
  231. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +4 -4
  232. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  233. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +3 -2
  234. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  235. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +44 -24
  236. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  237. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -5
  238. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  239. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +1 -1
  240. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  241. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -5
  242. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  243. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +2 -2
  244. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  245. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +3 -2
  246. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  247. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +1 -1
  248. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  249. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +21 -28
  250. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  251. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +4 -3
  252. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  253. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +15 -15
  254. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  255. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  256. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  257. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -8
  258. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  259. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +9 -9
  260. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  261. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  262. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  263. package/dist/views/Version/Restore/index.js +1 -1
  264. package/dist/views/Version/Restore/index.js.map +1 -1
  265. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  266. package/dist/views/Version/SelectComparison/index.js +1 -1
  267. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  268. package/dist/views/Version/index.d.ts +2 -2
  269. package/dist/views/Version/index.d.ts.map +1 -1
  270. package/dist/views/Version/index.js +32 -5
  271. package/dist/views/Version/index.js.map +1 -1
  272. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  273. package/dist/views/Versions/buildColumns.js +40 -16
  274. package/dist/views/Versions/buildColumns.js.map +1 -1
  275. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  276. package/dist/views/Versions/cells/CreatedAt/index.js +1 -1
  277. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  278. package/dist/views/Versions/getLatestVersion.d.ts +13 -4
  279. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  280. package/dist/views/Versions/getLatestVersion.js +6 -1
  281. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  282. package/dist/views/Versions/index.client.d.ts +4 -4
  283. package/dist/views/Versions/index.client.d.ts.map +1 -1
  284. package/dist/views/Versions/index.client.js +8 -6
  285. package/dist/views/Versions/index.client.js.map +1 -1
  286. package/dist/views/Versions/index.d.ts +2 -2
  287. package/dist/views/Versions/index.d.ts.map +1 -1
  288. package/dist/views/Versions/index.js +24 -4
  289. package/dist/views/Versions/index.js.map +1 -1
  290. package/dist/withPayload.d.ts.map +1 -1
  291. package/dist/withPayload.js +15 -13
  292. package/dist/withPayload.js.map +1 -1
  293. package/package.json +8 -8
@@ -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"}
@@ -38,19 +38,19 @@
38
38
 
39
39
  --gutter-h: #{base(3)};
40
40
  --spacing-view-bottom: var(--gutter-h);
41
- --app-header-height: calc(var(--base) * 3);
42
- --doc-controls-height: calc(var(--base) * 3);
41
+ --doc-controls-height: calc(var(--base) * 2.8);
42
+ --app-header-height: calc(var(--base) * 2.8);
43
43
  --nav-width: 275px;
44
44
  --nav-trans-time: 150ms;
45
45
 
46
46
  @include mid-break {
47
47
  --gutter-h: #{base(2)};
48
- --app-header-height: calc(var(--base) * 2);
49
- --doc-controls-height: calc(var(--base) * 2.5);
48
+ --app-header-height: calc(var(--base) * 2.4);
49
+ --doc-controls-height: calc(var(--base) * 2.4);
50
50
  }
51
51
 
52
52
  @include small-break {
53
- --gutter-h: #{base(0.5)};
53
+ --gutter-h: #{base(0.8)};
54
54
  --spacing-view-bottom: calc(var(--base) * 2);
55
55
  --nav-width: 100vw;
56
56
  }
@@ -8,7 +8,7 @@
8
8
  position: absolute;
9
9
  order: 3;
10
10
  left: unset;
11
- inset-inline-end: base(0.5);
11
+ inset-inline-end: base(0.8);
12
12
  top: 50%;
13
13
  transform: translateY(-50%);
14
14
  color: var(--theme-elevation-600);
@@ -16,8 +16,8 @@
16
16
  border: none;
17
17
 
18
18
  svg {
19
- width: base(0.75);
20
- height: base(0.75);
19
+ width: base(0.8);
20
+ height: base(0.8);
21
21
  }
22
22
 
23
23
  &:hover {
@@ -33,10 +33,11 @@
33
33
 
34
34
  .toast-title {
35
35
  line-height: base(1);
36
+ margin-right: base(1);
36
37
  }
37
38
 
38
39
  .payload-toast-item {
39
- padding: base(0.5);
40
+ padding: base(0.8);
40
41
  color: var(--theme-elevation-800);
41
42
  font-style: normal;
42
43
  font-weight: 600;
@@ -69,8 +70,8 @@
69
70
  }
70
71
 
71
72
  .toast-icon {
72
- width: base(1);
73
- height: base(1);
73
+ width: base(0.8);
74
+ height: base(0.8);
74
75
  margin: 0;
75
76
  display: flex;
76
77
  align-items: center;
@@ -84,8 +85,8 @@
84
85
 
85
86
  &.toast-warning {
86
87
  color: var(--theme-warning-800);
87
- border-color: var(--theme-warning-150);
88
- background-color: var(--theme-warning-50);
88
+ border-color: var(--theme-warning-250);
89
+ background-color: var(--theme-warning-100);
89
90
 
90
91
  .payload-toast-close-button {
91
92
  color: var(--theme-warning-600);
@@ -98,8 +99,8 @@
98
99
 
99
100
  &.toast-error {
100
101
  color: var(--theme-error-800);
101
- border-color: var(--theme-error-150);
102
- background-color: var(--theme-error-50);
102
+ border-color: var(--theme-error-250);
103
+ background-color: var(--theme-error-100);
103
104
 
104
105
  .payload-toast-close-button {
105
106
  color: var(--theme-error-600);
@@ -112,8 +113,8 @@
112
113
 
113
114
  &.toast-success {
114
115
  color: var(--theme-success-800);
115
- border-color: var(--theme-success-150);
116
- background-color: var(--theme-success-50);
116
+ border-color: var(--theme-success-250);
117
+ background-color: var(--theme-success-100);
117
118
 
118
119
  .payload-toast-close-button {
119
120
  color: var(--theme-success-600);
@@ -126,8 +127,8 @@
126
127
 
127
128
  &.toast-info {
128
129
  color: var(--theme-elevation-800);
129
- border-color: var(--theme-elevation-150);
130
- background-color: var(--theme-elevation-50);
130
+ border-color: var(--theme-elevation-250);
131
+ background-color: var(--theme-elevation-100);
131
132
 
132
133
  .payload-toast-close-button {
133
134
  color: var(--theme-elevation-600);
@@ -96,6 +96,7 @@
96
96
  font-size: $baseline-body-size;
97
97
  line-height: $baseline-px;
98
98
  font-weight: normal;
99
+ font-family: var(--font-body);
99
100
  }
100
101
 
101
102
  %code {
@@ -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 ?? {}, {