@payloadcms/next 3.0.0-beta.127 → 3.0.0-beta.129

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 (285) hide show
  1. package/dist/cjs/withPayload.cjs +10 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +13 -15
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/index.js +9 -14
  9. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +13 -28
  12. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  13. package/dist/elements/DocumentHeader/index.d.ts +0 -1
  14. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  15. package/dist/elements/DocumentHeader/index.js +9 -12
  16. package/dist/elements/DocumentHeader/index.js.map +1 -1
  17. package/dist/elements/Logo/index.d.ts.map +1 -1
  18. package/dist/elements/Logo/index.js +5 -6
  19. package/dist/elements/Logo/index.js.map +1 -1
  20. package/dist/elements/Nav/index.client.d.ts +4 -1
  21. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  22. package/dist/elements/Nav/index.client.js +40 -95
  23. package/dist/elements/Nav/index.client.js.map +1 -1
  24. package/dist/elements/Nav/index.d.ts.map +1 -1
  25. package/dist/elements/Nav/index.js +60 -23
  26. package/dist/elements/Nav/index.js.map +1 -1
  27. package/dist/exports/layouts.d.ts +1 -0
  28. package/dist/exports/layouts.d.ts.map +1 -1
  29. package/dist/exports/layouts.js +1 -0
  30. package/dist/exports/layouts.js.map +1 -1
  31. package/dist/exports/utilities.d.ts.map +1 -1
  32. package/dist/exports/utilities.js +1 -0
  33. package/dist/exports/utilities.js.map +1 -1
  34. package/dist/exports/views.d.ts +0 -2
  35. package/dist/exports/views.d.ts.map +1 -1
  36. package/dist/exports/views.js +0 -2
  37. package/dist/exports/views.js.map +1 -1
  38. package/dist/fetchAPI-multipart/isEligibleRequest.js +1 -1
  39. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  40. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  41. package/dist/fetchAPI-multipart/processMultipart.js +9 -11
  42. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  43. package/dist/layouts/Root/NestProviders.d.ts +11 -0
  44. package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
  45. package/dist/layouts/Root/NestProviders.js +21 -0
  46. package/dist/layouts/Root/NestProviders.js.map +1 -0
  47. package/dist/layouts/Root/index.d.ts +3 -2
  48. package/dist/layouts/Root/index.d.ts.map +1 -1
  49. package/dist/layouts/Root/index.js +14 -18
  50. package/dist/layouts/Root/index.js.map +1 -1
  51. package/dist/prod/styles.css +1 -1
  52. package/dist/routes/rest/index.d.ts.map +1 -1
  53. package/dist/routes/rest/index.js +0 -10
  54. package/dist/routes/rest/index.js.map +1 -1
  55. package/dist/routes/rest/og/image.d.ts +4 -2
  56. package/dist/routes/rest/og/image.d.ts.map +1 -1
  57. package/dist/routes/rest/og/image.js +7 -3
  58. package/dist/routes/rest/og/image.js.map +1 -1
  59. package/dist/routes/rest/og/index.d.ts.map +1 -1
  60. package/dist/routes/rest/og/index.js +5 -8
  61. package/dist/routes/rest/og/index.js.map +1 -1
  62. package/dist/routes/rest/routeError.d.ts.map +1 -1
  63. package/dist/routes/rest/routeError.js +1 -47
  64. package/dist/routes/rest/routeError.js.map +1 -1
  65. package/dist/templates/Default/index.d.ts +2 -1
  66. package/dist/templates/Default/index.d.ts.map +1 -1
  67. package/dist/templates/Default/index.js +97 -41
  68. package/dist/templates/Default/index.js.map +1 -1
  69. package/dist/utilities/getClientConfig.d.ts +7 -0
  70. package/dist/utilities/getClientConfig.d.ts.map +1 -0
  71. package/dist/utilities/getClientConfig.js +14 -0
  72. package/dist/utilities/getClientConfig.js.map +1 -0
  73. package/dist/utilities/handleServerFunctions.d.ts +3 -0
  74. package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
  75. package/dist/utilities/handleServerFunctions.js +35 -0
  76. package/dist/utilities/handleServerFunctions.js.map +1 -0
  77. package/dist/utilities/initPage/handleAdminPage.d.ts +2 -1
  78. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  79. package/dist/utilities/initPage/handleAdminPage.js +9 -1
  80. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  81. package/dist/utilities/initPage/index.d.ts.map +1 -1
  82. package/dist/utilities/initPage/index.js +2 -1
  83. package/dist/utilities/initPage/index.js.map +1 -1
  84. package/dist/utilities/initReq.d.ts +1 -1
  85. package/dist/utilities/initReq.d.ts.map +1 -1
  86. package/dist/utilities/initReq.js +3 -2
  87. package/dist/utilities/initReq.js.map +1 -1
  88. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  89. package/dist/views/API/LocaleSelector/index.js +0 -1
  90. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  91. package/dist/views/API/index.client.d.ts.map +1 -1
  92. package/dist/views/API/index.client.js +10 -13
  93. package/dist/views/API/index.client.js.map +1 -1
  94. package/dist/views/Account/Settings/index.js +0 -1
  95. package/dist/views/Account/Settings/index.js.map +1 -1
  96. package/dist/views/Account/index.d.ts.map +1 -1
  97. package/dist/views/Account/index.js +81 -24
  98. package/dist/views/Account/index.js.map +1 -1
  99. package/dist/views/CreateFirstUser/index.client.d.ts +3 -1
  100. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  101. package/dist/views/CreateFirstUser/index.client.js +83 -109
  102. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  103. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  104. package/dist/views/CreateFirstUser/index.js +36 -4
  105. package/dist/views/CreateFirstUser/index.js.map +1 -1
  106. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  107. package/dist/views/Dashboard/Default/index.js +46 -44
  108. package/dist/views/Dashboard/Default/index.js.map +1 -1
  109. package/dist/views/Dashboard/index.d.ts.map +1 -1
  110. package/dist/views/Dashboard/index.js +22 -21
  111. package/dist/views/Dashboard/index.js.map +1 -1
  112. package/dist/views/Document/getDocPreferences.d.ts +11 -0
  113. package/dist/views/Document/getDocPreferences.d.ts.map +1 -0
  114. package/dist/views/Document/getDocPreferences.js +44 -0
  115. package/dist/views/Document/getDocPreferences.js.map +1 -0
  116. package/dist/views/Document/getDocumentData.d.ts +10 -11
  117. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  118. package/dist/views/Document/getDocumentData.js +35 -47
  119. package/dist/views/Document/getDocumentData.js.map +1 -1
  120. package/dist/views/Document/getIsLocked.d.ts +16 -0
  121. package/dist/views/Document/getIsLocked.d.ts.map +1 -0
  122. package/dist/views/Document/getIsLocked.js +55 -0
  123. package/dist/views/Document/getIsLocked.js.map +1 -0
  124. package/dist/views/Document/getVersions.d.ts +19 -0
  125. package/dist/views/Document/getVersions.d.ts.map +1 -0
  126. package/dist/views/Document/getVersions.js +181 -0
  127. package/dist/views/Document/getVersions.js.map +1 -0
  128. package/dist/views/Document/getViewsFromConfig.d.ts +1 -1
  129. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  130. package/dist/views/Document/getViewsFromConfig.js +18 -19
  131. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  132. package/dist/views/Document/handleServerFunction.d.ts +24 -0
  133. package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
  134. package/dist/views/Document/handleServerFunction.js +156 -0
  135. package/dist/views/Document/handleServerFunction.js.map +1 -0
  136. package/dist/views/Document/index.d.ts +5 -1
  137. package/dist/views/Document/index.d.ts.map +1 -1
  138. package/dist/views/Document/index.js +181 -72
  139. package/dist/views/Document/index.js.map +1 -1
  140. package/dist/views/Document/renderDocumentSlots.d.ts +12 -0
  141. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
  142. package/dist/views/Document/renderDocumentSlots.js +92 -0
  143. package/dist/views/Document/renderDocumentSlots.js.map +1 -0
  144. package/dist/views/Edit/index.d.ts +3 -2
  145. package/dist/views/Edit/index.d.ts.map +1 -1
  146. package/dist/views/Edit/index.js +7 -3
  147. package/dist/views/Edit/index.js.map +1 -1
  148. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  149. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +3 -1
  150. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  151. package/dist/views/List/handleServerFunction.d.ts +26 -0
  152. package/dist/views/List/handleServerFunction.d.ts.map +1 -0
  153. package/dist/views/List/handleServerFunction.js +155 -0
  154. package/dist/views/List/handleServerFunction.js.map +1 -0
  155. package/dist/views/List/index.d.ts +12 -2
  156. package/dist/views/List/index.d.ts.map +1 -1
  157. package/dist/views/List/index.js +121 -81
  158. package/dist/views/List/index.js.map +1 -1
  159. package/dist/views/List/renderListViewSlots.d.ts +8 -0
  160. package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
  161. package/dist/views/List/renderListViewSlots.js +44 -0
  162. package/dist/views/List/renderListViewSlots.js.map +1 -0
  163. package/dist/views/LivePreview/Context/sizeReducer.d.ts +1 -1
  164. package/dist/views/LivePreview/Context/sizeReducer.d.ts.map +1 -1
  165. package/dist/views/LivePreview/Context/sizeReducer.js +4 -4
  166. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  167. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  168. package/dist/views/LivePreview/index.client.js +38 -35
  169. package/dist/views/LivePreview/index.client.js.map +1 -1
  170. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  171. package/dist/views/Login/LoginField/index.js +3 -1
  172. package/dist/views/Login/LoginField/index.js.map +1 -1
  173. package/dist/views/Login/index.d.ts.map +1 -1
  174. package/dist/views/Login/index.js +25 -19
  175. package/dist/views/Login/index.js.map +1 -1
  176. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -1
  177. package/dist/views/ResetPassword/ResetPasswordForm/index.js +24 -10
  178. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  179. package/dist/views/Root/getViewFromConfig.d.ts +3 -1
  180. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  181. package/dist/views/Root/getViewFromConfig.js +128 -7
  182. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  183. package/dist/views/Root/index.d.ts.map +1 -1
  184. package/dist/views/Root/index.js +22 -11
  185. package/dist/views/Root/index.js.map +1 -1
  186. package/dist/views/Version/Default/index.d.ts.map +1 -1
  187. package/dist/views/Version/Default/index.js +2 -4
  188. package/dist/views/Version/Default/index.js.map +1 -1
  189. package/dist/views/Versions/buildColumns.d.ts +3 -2
  190. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  191. package/dist/views/Versions/buildColumns.js +33 -61
  192. package/dist/views/Versions/buildColumns.js.map +1 -1
  193. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -0
  194. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  195. package/dist/views/Versions/cells/AutosaveCell/index.js +48 -37
  196. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  197. package/dist/views/Versions/cells/CreatedAt/index.d.ts +4 -0
  198. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  199. package/dist/views/Versions/cells/CreatedAt/index.js +43 -45
  200. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  201. package/dist/views/Versions/cells/ID/index.d.ts +3 -1
  202. package/dist/views/Versions/cells/ID/index.d.ts.map +1 -1
  203. package/dist/views/Versions/cells/ID/index.js +7 -19
  204. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  205. package/dist/views/Versions/index.client.d.ts.map +1 -1
  206. package/dist/views/Versions/index.client.js +53 -51
  207. package/dist/views/Versions/index.client.js.map +1 -1
  208. package/dist/views/Versions/index.d.ts.map +1 -1
  209. package/dist/views/Versions/index.js +3 -2
  210. package/dist/views/Versions/index.js.map +1 -1
  211. package/dist/withPayload.d.ts.map +1 -1
  212. package/dist/withPayload.js +10 -0
  213. package/dist/withPayload.js.map +1 -1
  214. package/license.md +22 -0
  215. package/package.json +16 -7
  216. package/dist/elements/DocumentLocked/index.d.ts +0 -12
  217. package/dist/elements/DocumentLocked/index.d.ts.map +0 -1
  218. package/dist/elements/DocumentLocked/index.js +0 -152
  219. package/dist/elements/DocumentLocked/index.js.map +0 -1
  220. package/dist/elements/DocumentLocked/index.scss +0 -40
  221. package/dist/elements/DocumentTakeOver/index.d.ts +0 -8
  222. package/dist/elements/DocumentTakeOver/index.d.ts.map +0 -1
  223. package/dist/elements/DocumentTakeOver/index.js +0 -98
  224. package/dist/elements/DocumentTakeOver/index.js.map +0 -1
  225. package/dist/elements/DocumentTakeOver/index.scss +0 -39
  226. package/dist/elements/EmailAndUsername/index.d.ts +0 -14
  227. package/dist/elements/EmailAndUsername/index.d.ts.map +0 -1
  228. package/dist/elements/EmailAndUsername/index.js +0 -121
  229. package/dist/elements/EmailAndUsername/index.js.map +0 -1
  230. package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -4
  231. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +0 -1
  232. package/dist/elements/LeaveWithoutSaving/index.js +0 -162
  233. package/dist/elements/LeaveWithoutSaving/index.js.map +0 -1
  234. package/dist/elements/LeaveWithoutSaving/index.scss +0 -39
  235. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +0 -9
  236. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +0 -1
  237. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +0 -136
  238. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +0 -1
  239. package/dist/routes/rest/buildFormState.d.ts +0 -5
  240. package/dist/routes/rest/buildFormState.d.ts.map +0 -1
  241. package/dist/routes/rest/buildFormState.js +0 -46
  242. package/dist/routes/rest/buildFormState.js.map +0 -1
  243. package/dist/views/Edit/Default/Auth/APIKey.d.ts +0 -6
  244. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +0 -1
  245. package/dist/views/Edit/Default/Auth/APIKey.js +0 -125
  246. package/dist/views/Edit/Default/Auth/APIKey.js.map +0 -1
  247. package/dist/views/Edit/Default/Auth/index.d.ts +0 -5
  248. package/dist/views/Edit/Default/Auth/index.d.ts.map +0 -1
  249. package/dist/views/Edit/Default/Auth/index.js +0 -318
  250. package/dist/views/Edit/Default/Auth/index.js.map +0 -1
  251. package/dist/views/Edit/Default/Auth/index.scss +0 -78
  252. package/dist/views/Edit/Default/Auth/types.d.ts +0 -17
  253. package/dist/views/Edit/Default/Auth/types.d.ts.map +0 -1
  254. package/dist/views/Edit/Default/Auth/types.js +0 -2
  255. package/dist/views/Edit/Default/Auth/types.js.map +0 -1
  256. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -11
  257. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +0 -1
  258. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +0 -130
  259. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +0 -1
  260. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -8
  261. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +0 -1
  262. package/dist/views/Edit/Default/SetDocumentTitle/index.js +0 -81
  263. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +0 -1
  264. package/dist/views/Edit/Default/index.d.ts +0 -4
  265. package/dist/views/Edit/Default/index.d.ts.map +0 -1
  266. package/dist/views/Edit/Default/index.js +0 -349
  267. package/dist/views/Edit/Default/index.js.map +0 -1
  268. package/dist/views/Edit/Default/index.scss +0 -23
  269. package/dist/views/Edit/Default/types.d.ts +0 -6
  270. package/dist/views/Edit/Default/types.d.ts.map +0 -1
  271. package/dist/views/Edit/Default/types.js +0 -2
  272. package/dist/views/Edit/Default/types.js.map +0 -1
  273. package/dist/views/Edit/index.client.d.ts +0 -3
  274. package/dist/views/Edit/index.client.d.ts.map +0 -1
  275. package/dist/views/Edit/index.client.js +0 -54
  276. package/dist/views/Edit/index.client.js.map +0 -1
  277. package/dist/views/List/Default/index.d.ts +0 -4
  278. package/dist/views/List/Default/index.d.ts.map +0 -1
  279. package/dist/views/List/Default/index.js +0 -387
  280. package/dist/views/List/Default/index.js.map +0 -1
  281. package/dist/views/List/Default/index.scss +0 -179
  282. package/dist/views/List/Default/types.d.ts +0 -15
  283. package/dist/views/List/Default/types.d.ts.map +0 -1
  284. package/dist/views/List/Default/types.js +0 -2
  285. package/dist/views/List/Default/types.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleServerFunction.d.ts","sourceRoot":"","sources":["../../../src/views/Document/handleServerFunction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,YAAY,EACZ,IAAI,EACJ,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,eAAe,EAEhB,MAAM,SAAS,CAAA;AAahB,eAAO,MAAM,eAAe,SAAU;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,YAaH,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,EAAE,mBAAmB,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,qBAAqB,SAAgB;IAChD,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,sBAAsB,EAAE,OAAO,CAAA;IAC/B,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC,oBAAoB,CA0I/B,CAAA"}
@@ -0,0 +1,156 @@
1
+ import { headers as getHeaders } from 'next/headers.js';
2
+ import { createClientConfig, getAccessResults, isEntityHidden, parseCookies } from 'payload';
3
+ import { renderDocument } from './index.js';
4
+ let cachedClientConfig = global._payload_clientConfig;
5
+ if (!cachedClientConfig) {
6
+ cachedClientConfig = global._payload_clientConfig = null;
7
+ }
8
+ export const getClientConfig = args => {
9
+ const {
10
+ config,
11
+ i18n
12
+ } = args;
13
+ if (cachedClientConfig && process.env.NODE_ENV !== 'development') {
14
+ return cachedClientConfig;
15
+ }
16
+ cachedClientConfig = createClientConfig({
17
+ config,
18
+ i18n
19
+ });
20
+ return cachedClientConfig;
21
+ };
22
+ export const renderDocumentHandler = async args => {
23
+ const {
24
+ collectionSlug,
25
+ disableActions,
26
+ docID,
27
+ drawerSlug,
28
+ initialData,
29
+ redirectAfterDelete,
30
+ redirectAfterDuplicate,
31
+ req,
32
+ req: {
33
+ i18n,
34
+ payload,
35
+ payload: {
36
+ config
37
+ },
38
+ user
39
+ }
40
+ } = args;
41
+ const headers = await getHeaders();
42
+ const cookies = parseCookies(headers);
43
+ const incomingUserSlug = user?.collection;
44
+ const adminUserSlug = config.admin.user;
45
+ // If we have a user slug, test it against the functions
46
+ if (incomingUserSlug) {
47
+ const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin;
48
+ // Run the admin access function from the config if it exists
49
+ if (adminAccessFunction) {
50
+ const canAccessAdmin = await adminAccessFunction({
51
+ req
52
+ });
53
+ if (!canAccessAdmin) {
54
+ throw new Error('Unauthorized');
55
+ }
56
+ // Match the user collection to the global admin config
57
+ } else if (adminUserSlug !== incomingUserSlug) {
58
+ throw new Error('Unauthorized');
59
+ }
60
+ } else {
61
+ const hasUsers = await payload.find({
62
+ collection: adminUserSlug,
63
+ depth: 0,
64
+ limit: 1,
65
+ pagination: false
66
+ });
67
+ // If there are users, we should not allow access because of /create-first-user
68
+ if (hasUsers.docs.length) {
69
+ throw new Error('Unauthorized');
70
+ }
71
+ }
72
+ const clientConfig = getClientConfig({
73
+ config,
74
+ i18n
75
+ });
76
+ let preferences;
77
+ if (docID) {
78
+ const preferencesKey = `${collectionSlug}-edit-${docID}`;
79
+ preferences = await payload.find({
80
+ collection: 'payload-preferences',
81
+ depth: 0,
82
+ limit: 1,
83
+ where: {
84
+ and: [{
85
+ key: {
86
+ equals: preferencesKey
87
+ }
88
+ }, {
89
+ 'user.relationTo': {
90
+ equals: user.collection
91
+ }
92
+ }, {
93
+ 'user.value': {
94
+ equals: user.id
95
+ }
96
+ }]
97
+ }
98
+ }).then(res => res.docs[0]?.value);
99
+ }
100
+ const visibleEntities = {
101
+ collections: payload.config.collections.map(({
102
+ slug,
103
+ admin: {
104
+ hidden
105
+ }
106
+ }) => !isEntityHidden({
107
+ hidden,
108
+ user
109
+ }) ? slug : null).filter(Boolean),
110
+ globals: payload.config.globals.map(({
111
+ slug,
112
+ admin: {
113
+ hidden
114
+ }
115
+ }) => !isEntityHidden({
116
+ hidden,
117
+ user
118
+ }) ? slug : null).filter(Boolean)
119
+ };
120
+ const permissions = await getAccessResults({
121
+ req
122
+ });
123
+ const {
124
+ data,
125
+ Document
126
+ } = await renderDocument({
127
+ clientConfig,
128
+ disableActions,
129
+ drawerSlug,
130
+ importMap: payload.importMap,
131
+ initialData,
132
+ initPageResult: {
133
+ collectionConfig: payload.config.collections.find(collection => collection.slug === collectionSlug),
134
+ cookies,
135
+ docID,
136
+ globalConfig: payload.config.globals.find(global1 => global1.slug === collectionSlug),
137
+ languageOptions: undefined,
138
+ permissions,
139
+ req,
140
+ translations: undefined,
141
+ visibleEntities
142
+ },
143
+ params: {
144
+ segments: ['collections', collectionSlug, docID]
145
+ },
146
+ redirectAfterDelete,
147
+ redirectAfterDuplicate,
148
+ searchParams: {}
149
+ });
150
+ return {
151
+ data,
152
+ Document,
153
+ preferences
154
+ };
155
+ };
156
+ //# sourceMappingURL=handleServerFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleServerFunction.js","names":["headers","getHeaders","createClientConfig","getAccessResults","isEntityHidden","parseCookies","renderDocument","cachedClientConfig","global","_payload_clientConfig","getClientConfig","args","config","i18n","process","env","NODE_ENV","renderDocumentHandler","collectionSlug","disableActions","docID","drawerSlug","initialData","redirectAfterDelete","redirectAfterDuplicate","req","payload","user","cookies","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","clientConfig","preferences","preferencesKey","where","and","key","equals","id","then","res","value","visibleEntities","map","slug","hidden","filter","Boolean","globals","permissions","data","Document","importMap","initPageResult","collectionConfig","globalConfig","global1","languageOptions","undefined","translations","params","segments","searchParams"],"sources":["../../../src/views/Document/handleServerFunction.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientConfig,\n Data,\n DocumentPreferences,\n FormState,\n PayloadRequest,\n SanitizedConfig,\n VisibleEntities,\n} from 'payload'\n\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createClientConfig, getAccessResults, isEntityHidden, parseCookies } from 'payload'\n\nimport { renderDocument } from './index.js'\n\nlet cachedClientConfig = global._payload_clientConfig\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getClientConfig = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n}): ClientConfig => {\n const { config, i18n } = args\n\n if (cachedClientConfig && process.env.NODE_ENV !== 'development') {\n return cachedClientConfig\n }\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n })\n\n return cachedClientConfig\n}\n\ntype RenderDocumentResult = {\n data: any\n Document: React.ReactNode\n preferences: DocumentPreferences\n}\n\nexport const renderDocumentHandler = async (args: {\n collectionSlug: string\n disableActions?: boolean\n docID: string\n drawerSlug?: string\n initialData?: Data\n initialState?: FormState\n redirectAfterDelete: boolean\n redirectAfterDuplicate: boolean\n req: PayloadRequest\n}): Promise<RenderDocumentResult> => {\n const {\n collectionSlug,\n disableActions,\n docID,\n drawerSlug,\n initialData,\n redirectAfterDelete,\n redirectAfterDuplicate,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = args\n\n const headers = await getHeaders()\n\n const cookies = parseCookies(headers)\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n })\n\n let preferences: DocumentPreferences\n\n if (docID) {\n const preferencesKey = `${collectionSlug}-edit-${docID}`\n\n preferences = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0]?.value as DocumentPreferences)\n }\n\n const visibleEntities: VisibleEntities = {\n collections: payload.config.collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: payload.config.globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n const permissions = await getAccessResults({\n req,\n })\n\n const { data, Document } = await renderDocument({\n clientConfig,\n disableActions,\n drawerSlug,\n importMap: payload.importMap,\n initialData,\n initPageResult: {\n collectionConfig: payload.config.collections.find(\n (collection) => collection.slug === collectionSlug,\n ),\n cookies,\n docID,\n globalConfig: payload.config.globals.find((global) => global.slug === collectionSlug),\n languageOptions: undefined, // TODO\n permissions,\n req,\n translations: undefined, // TODO\n visibleEntities,\n },\n params: {\n segments: ['collections', collectionSlug, docID],\n },\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams: {},\n })\n\n return {\n data,\n Document,\n preferences,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,10 @@
1
- import type { AdminViewProps } from 'payload';
1
+ import type { AdminViewProps, Data } from 'payload';
2
2
  import React from 'react';
3
3
  import type { GenerateEditViewMetadata } from './getMetaBySegment.js';
4
4
  export declare const generateMetadata: GenerateEditViewMetadata;
5
+ export declare const renderDocument: ({ disableActions, drawerSlug, importMap, initialData, initPageResult, params, redirectAfterDelete, redirectAfterDuplicate, searchParams, }: AdminViewProps) => Promise<{
6
+ data: Data;
7
+ Document: React.ReactNode;
8
+ }>;
5
9
  export declare const Document: React.FC<AdminViewProps>;
6
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,SAAS,CAAA;AAUhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AASrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAkS7C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,IAAI,EAIL,MAAM,SAAS,CAAA;AAQhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAcrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAKhG,eAAO,MAAM,cAAc,+IAUxB,cAAc,KAAG,OAAO,CAAC;IAC1B,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAkUA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAc7C,CAAA"}
@@ -1,19 +1,34 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui';
3
- import { formatAdminURL, getCreateMappedComponent, isEditing as getIsEditing, RenderComponent } from '@payloadcms/ui/shared';
3
+ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
4
+ import { formatAdminURL, isEditing as getIsEditing } from '@payloadcms/ui/shared';
5
+ import { buildFormState } from '@payloadcms/ui/utilities/buildFormState';
6
+ import { isRedirectError } from 'next/dist/client/components/redirect.js';
4
7
  import { notFound, redirect } from 'next/navigation.js';
5
8
  import React from 'react';
6
9
  import { DocumentHeader } from '../../elements/DocumentHeader/index.js';
7
10
  import { NotFoundView } from '../NotFound/index.js';
11
+ import { getDocPreferences } from './getDocPreferences.js';
8
12
  import { getDocumentData } from './getDocumentData.js';
9
13
  import { getDocumentPermissions } from './getDocumentPermissions.js';
14
+ import { getIsLocked } from './getIsLocked.js';
10
15
  import { getMetaBySegment } from './getMetaBySegment.js';
16
+ import { getVersions } from './getVersions.js';
11
17
  import { getViewsFromConfig } from './getViewsFromConfig.js';
18
+ import { renderDocumentSlots } from './renderDocumentSlots.js';
12
19
  export const generateMetadata = async args => getMetaBySegment(args);
13
- export const Document = async ({
20
+ // This function will be responsible for rendering an Edit Document view
21
+ // it will be called on the server for Edit page views as well as
22
+ // called on-demand from document drawers
23
+ export const renderDocument = async ({
24
+ disableActions,
25
+ drawerSlug,
14
26
  importMap,
27
+ initialData,
15
28
  initPageResult,
16
29
  params,
30
+ redirectAfterDelete,
31
+ redirectAfterDuplicate,
17
32
  searchParams
18
33
  }) => {
19
34
  const {
@@ -53,47 +68,93 @@ export const Document = async ({
53
68
  let DefaultView;
54
69
  let ErrorView;
55
70
  let apiURL;
56
- const {
57
- data,
58
- formState
59
- } = await getDocumentData({
71
+ // Fetch the doc required for the view
72
+ const doc = initialData || (await getDocumentData({
60
73
  id,
61
- collectionConfig,
62
- globalConfig,
74
+ collectionSlug,
75
+ globalSlug,
63
76
  locale,
64
- req
65
- });
66
- if (!data) {
67
- notFound();
77
+ payload,
78
+ user
79
+ }));
80
+ if (isEditing && !doc) {
81
+ throw new Error('not-found');
68
82
  }
69
- const {
83
+ const [docPreferences, {
70
84
  docPermissions,
71
85
  hasPublishPermission,
72
86
  hasSavePermission
73
- } = await getDocumentPermissions({
87
+ }, {
88
+ currentEditor,
89
+ isLocked,
90
+ lastUpdateTime
91
+ }] = await Promise.all([
92
+ // Get document preferences
93
+ getDocPreferences({
94
+ id,
95
+ collectionSlug,
96
+ globalSlug,
97
+ payload,
98
+ user
99
+ }),
100
+ // Get permissions
101
+ getDocumentPermissions({
74
102
  id,
75
103
  collectionConfig,
76
- data,
104
+ data: doc,
77
105
  globalConfig,
78
106
  req
79
- });
80
- const createMappedComponent = getCreateMappedComponent({
81
- importMap,
82
- serverProps: {
83
- i18n,
84
- initPageResult,
85
- locale,
86
- params,
87
- payload,
88
- permissions,
89
- routeSegments: segments,
90
- searchParams,
91
- user
92
- }
93
- });
107
+ }),
108
+ // Fetch document lock state
109
+ getIsLocked({
110
+ id,
111
+ collectionConfig,
112
+ globalConfig,
113
+ isEditing,
114
+ req
115
+ })]);
116
+ const [{
117
+ hasPublishedDoc,
118
+ mostRecentVersionIsAutosaved,
119
+ unpublishedVersionCount,
120
+ versionCount
121
+ }, {
122
+ state: formState
123
+ }] = await Promise.all([getVersions({
124
+ id,
125
+ collectionConfig,
126
+ docPermissions,
127
+ globalConfig,
128
+ locale: locale?.code,
129
+ payload,
130
+ user
131
+ }), buildFormState({
132
+ id,
133
+ collectionSlug,
134
+ data: doc,
135
+ docPermissions,
136
+ docPreferences,
137
+ globalSlug,
138
+ locale: locale?.code,
139
+ operation: collectionSlug && id || globalSlug ? 'update' : 'create',
140
+ renderAllFields: true,
141
+ req,
142
+ schemaPath: collectionSlug || globalSlug
143
+ })]);
144
+ const serverProps = {
145
+ i18n,
146
+ initPageResult,
147
+ locale,
148
+ params,
149
+ payload,
150
+ permissions,
151
+ routeSegments: segments,
152
+ searchParams,
153
+ user
154
+ };
94
155
  if (collectionConfig) {
95
156
  if (!visibleEntities?.collections?.find(visibleSlug => visibleSlug === collectionSlug)) {
96
- notFound();
157
+ throw new Error('not-found');
97
158
  }
98
159
  const params = new URLSearchParams();
99
160
  if (collectionConfig.versions?.drafts) {
@@ -104,7 +165,7 @@ export const Document = async ({
104
165
  }
105
166
  const apiQueryParams = `?${params.toString()}`;
106
167
  apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}${apiQueryParams}`;
107
- RootViewOverride = collectionConfig?.admin?.components?.views?.edit?.root && 'Component' in collectionConfig.admin.components.views.edit.root ? createMappedComponent(collectionConfig?.admin?.components?.views?.edit?.root?.Component, undefined, undefined, 'collectionConfig?.admin?.components?.views?.edit?.root') : null;
168
+ RootViewOverride = collectionConfig?.admin?.components?.views?.edit?.root && 'Component' in collectionConfig.admin.components.views.edit.root ? collectionConfig?.admin?.components?.views?.edit?.root?.Component : null;
108
169
  if (!RootViewOverride) {
109
170
  const collectionViews = getViewsFromConfig({
110
171
  collectionConfig,
@@ -112,17 +173,19 @@ export const Document = async ({
112
173
  docPermissions,
113
174
  routeSegments: segments
114
175
  });
115
- CustomView = createMappedComponent(collectionViews?.CustomView?.payloadComponent, undefined, collectionViews?.CustomView?.Component, 'collectionViews?.CustomView.payloadComponent');
116
- DefaultView = createMappedComponent(collectionViews?.DefaultView?.payloadComponent, undefined, collectionViews?.DefaultView?.Component, 'collectionViews?.DefaultView.payloadComponent');
117
- ErrorView = createMappedComponent(collectionViews?.ErrorView?.payloadComponent, undefined, collectionViews?.ErrorView?.Component, 'collectionViews?.ErrorView.payloadComponent');
176
+ CustomView = collectionViews?.CustomView;
177
+ DefaultView = collectionViews?.DefaultView;
178
+ ErrorView = collectionViews?.ErrorView;
118
179
  }
119
180
  if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {
120
- ErrorView = createMappedComponent(undefined, undefined, NotFoundView, 'NotFoundView');
181
+ ErrorView = {
182
+ Component: NotFoundView
183
+ };
121
184
  }
122
185
  }
123
186
  if (globalConfig) {
124
187
  if (!visibleEntities?.globals?.find(visibleSlug => visibleSlug === globalSlug)) {
125
- notFound();
188
+ throw new Error('not-found');
126
189
  }
127
190
  const params = new URLSearchParams({
128
191
  locale: locale?.code
@@ -135,7 +198,7 @@ export const Document = async ({
135
198
  }
136
199
  const apiQueryParams = `?${params.toString()}`;
137
200
  apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`;
138
- RootViewOverride = globalConfig?.admin?.components?.views?.edit?.root && 'Component' in globalConfig.admin.components.views.edit.root ? createMappedComponent(globalConfig?.admin?.components?.views?.edit?.root?.Component, undefined, undefined, 'globalConfig?.admin?.components?.views?.edit?.root') : null;
201
+ RootViewOverride = globalConfig?.admin?.components?.views?.edit?.root && 'Component' in globalConfig.admin.components.views.edit.root ? globalConfig?.admin?.components?.views?.edit?.root?.Component : null;
139
202
  if (!RootViewOverride) {
140
203
  const globalViews = getViewsFromConfig({
141
204
  config,
@@ -143,11 +206,13 @@ export const Document = async ({
143
206
  globalConfig,
144
207
  routeSegments: segments
145
208
  });
146
- CustomView = createMappedComponent(globalViews?.CustomView?.payloadComponent, undefined, globalViews?.CustomView?.Component, 'globalViews?.CustomView.payloadComponent');
147
- DefaultView = createMappedComponent(globalViews?.DefaultView?.payloadComponent, undefined, globalViews?.DefaultView?.Component, 'globalViews?.DefaultView.payloadComponent');
148
- ErrorView = createMappedComponent(globalViews?.ErrorView?.payloadComponent, undefined, globalViews?.ErrorView?.Component, 'globalViews?.ErrorView.payloadComponent');
209
+ CustomView = globalViews?.CustomView;
210
+ DefaultView = globalViews?.DefaultView;
211
+ ErrorView = globalViews?.ErrorView;
149
212
  if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {
150
- ErrorView = createMappedComponent(undefined, undefined, NotFoundView, 'NotFoundView');
213
+ ErrorView = {
214
+ Component: NotFoundView
215
+ };
151
216
  }
152
217
  }
153
218
  }
@@ -160,7 +225,7 @@ export const Document = async ({
160
225
  if (shouldAutosave && !validateDraftData && !id && collectionSlug) {
161
226
  const doc = await payload.create({
162
227
  collection: collectionSlug,
163
- data: {},
228
+ data: initialData || {},
164
229
  depth: 0,
165
230
  draft: true,
166
231
  fallbackLocale: null,
@@ -176,37 +241,81 @@ export const Document = async ({
176
241
  });
177
242
  redirect(redirectURL);
178
243
  } else {
244
+ throw new Error('not-found');
245
+ }
246
+ }
247
+ const documentSlots = renderDocumentSlots({
248
+ collectionConfig,
249
+ globalConfig,
250
+ hasSavePermission,
251
+ permissions: docPermissions,
252
+ req
253
+ });
254
+ const clientProps = {
255
+ formState,
256
+ ...documentSlots
257
+ };
258
+ return {
259
+ data: doc,
260
+ Document: /*#__PURE__*/_jsxs(DocumentInfoProvider, {
261
+ apiURL: apiURL,
262
+ collectionSlug: collectionConfig?.slug,
263
+ currentEditor: currentEditor,
264
+ disableActions: disableActions ?? false,
265
+ docPermissions: docPermissions,
266
+ globalSlug: globalConfig?.slug,
267
+ hasPublishedDoc: hasPublishedDoc,
268
+ hasPublishPermission: hasPublishPermission,
269
+ hasSavePermission: hasSavePermission,
270
+ id: id,
271
+ initialData: doc,
272
+ initialState: formState,
273
+ isEditing: isEditing,
274
+ isLocked: isLocked,
275
+ lastUpdateTime: lastUpdateTime,
276
+ mostRecentVersionIsAutosaved: mostRecentVersionIsAutosaved,
277
+ redirectAfterDelete: redirectAfterDelete,
278
+ redirectAfterDuplicate: redirectAfterDuplicate,
279
+ unpublishedVersionCount: unpublishedVersionCount,
280
+ versionCount: versionCount,
281
+ children: [!RootViewOverride && !drawerSlug && /*#__PURE__*/_jsx(DocumentHeader, {
282
+ collectionConfig: collectionConfig,
283
+ globalConfig: globalConfig,
284
+ i18n: i18n,
285
+ payload: payload,
286
+ permissions: permissions
287
+ }), /*#__PURE__*/_jsx(HydrateAuthProvider, {
288
+ permissions: permissions
289
+ }), /*#__PURE__*/_jsx(EditDepthProvider, {
290
+ children: ErrorView ? /*#__PURE__*/_jsx(RenderServerComponent, {
291
+ clientProps: clientProps,
292
+ Component: ErrorView.ComponentConfig || ErrorView.Component,
293
+ importMap: importMap,
294
+ serverProps: serverProps
295
+ }) : /*#__PURE__*/_jsx(RenderServerComponent, {
296
+ clientProps: clientProps,
297
+ Component: RootViewOverride ? RootViewOverride : CustomView?.ComponentConfig || CustomView?.Component ? CustomView?.ComponentConfig || CustomView?.Component : DefaultView?.ComponentConfig || DefaultView?.Component,
298
+ importMap: importMap,
299
+ serverProps: serverProps
300
+ })
301
+ })]
302
+ }, locale?.code)
303
+ };
304
+ };
305
+ export const Document = async args => {
306
+ try {
307
+ const {
308
+ Document: RenderedDocument
309
+ } = await renderDocument(args);
310
+ return RenderedDocument;
311
+ } catch (error) {
312
+ if (isRedirectError(error)) {
313
+ throw error;
314
+ }
315
+ args.initPageResult.req.payload.logger.error(error);
316
+ if (error.message === 'not-found') {
179
317
  notFound();
180
318
  }
181
319
  }
182
- return /*#__PURE__*/_jsxs(DocumentInfoProvider, {
183
- apiURL: apiURL,
184
- collectionSlug: collectionConfig?.slug,
185
- disableActions: false,
186
- docPermissions: docPermissions,
187
- globalSlug: globalConfig?.slug,
188
- hasPublishPermission: hasPublishPermission,
189
- hasSavePermission: hasSavePermission,
190
- id: id,
191
- initialData: data,
192
- initialState: formState,
193
- isEditing: isEditing,
194
- children: [!RootViewOverride && /*#__PURE__*/_jsx(DocumentHeader, {
195
- collectionConfig: collectionConfig,
196
- globalConfig: globalConfig,
197
- i18n: i18n,
198
- payload: payload,
199
- permissions: permissions
200
- }), /*#__PURE__*/_jsx(HydrateAuthProvider, {
201
- permissions: permissions
202
- }), /*#__PURE__*/_jsx(EditDepthProvider, {
203
- depth: 1,
204
- children: ErrorView ? /*#__PURE__*/_jsx(RenderComponent, {
205
- mappedComponent: ErrorView
206
- }) : /*#__PURE__*/_jsx(RenderComponent, {
207
- mappedComponent: RootViewOverride ? RootViewOverride : CustomView ? CustomView : DefaultView
208
- })
209
- }, `${collectionSlug || globalSlug}${locale?.code ? `-${locale?.code}` : ''}`)]
210
- }, locale?.code);
211
320
  };
212
321
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","formatAdminURL","getCreateMappedComponent","isEditing","getIsEditing","RenderComponent","notFound","redirect","React","DocumentHeader","NotFoundView","getDocumentData","getDocumentPermissions","getMetaBySegment","getViewsFromConfig","generateMetadata","args","Document","importMap","initPageResult","params","searchParams","collectionConfig","docID","id","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","RootViewOverride","CustomView","DefaultView","ErrorView","apiURL","data","formState","docPermissions","hasPublishPermission","hasSavePermission","createMappedComponent","serverProps","routeSegments","collections","find","visibleSlug","URLSearchParams","versions","drafts","append","code","apiQueryParams","toString","components","views","edit","root","Component","collectionViews","payloadComponent","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","doc","create","collection","depth","draft","fallbackLocale","redirectURL","path","_jsxs","disableActions","initialData","initialState","_jsx","mappedComponent"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n EditViewComponent,\n MappedComponent,\n ServerSideEditViewProps,\n} from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport {\n formatAdminURL,\n getCreateMappedComponent,\n isEditing as getIsEditing,\n RenderComponent,\n} from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport const Document: React.FC<AdminViewProps> = async ({\n importMap,\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n\n let RootViewOverride: MappedComponent<ServerSideEditViewProps>\n let CustomView: MappedComponent<ServerSideEditViewProps>\n let DefaultView: MappedComponent<ServerSideEditViewProps>\n let ErrorView: MappedComponent<AdminViewProps>\n\n let apiURL: string\n\n const { data, formState } = await getDocumentData({\n id,\n collectionConfig,\n globalConfig,\n locale,\n req,\n })\n\n if (!data) {\n notFound()\n }\n\n const { docPermissions, hasPublishPermission, hasSavePermission } = await getDocumentPermissions({\n id,\n collectionConfig,\n data,\n globalConfig,\n req,\n })\n\n const createMappedComponent = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n },\n })\n\n if (collectionConfig) {\n if (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n notFound()\n }\n\n const params = new URLSearchParams()\n if (collectionConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}${apiQueryParams}`\n\n RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? createMappedComponent(\n collectionConfig?.admin?.components?.views?.edit?.root?.Component as EditViewComponent, // some type info gets lost from Config => SanitizedConfig due to our usage of Deep type operations from ts-essentials. Despite .Component being defined as EditViewComponent, this info is lost and we need cast it here.\n undefined,\n undefined,\n 'collectionConfig?.admin?.components?.views?.edit?.root',\n )\n : null\n\n if (!RootViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = createMappedComponent(\n collectionViews?.CustomView?.payloadComponent,\n undefined,\n collectionViews?.CustomView?.Component,\n 'collectionViews?.CustomView.payloadComponent',\n )\n\n DefaultView = createMappedComponent(\n collectionViews?.DefaultView?.payloadComponent,\n undefined,\n collectionViews?.DefaultView?.Component,\n 'collectionViews?.DefaultView.payloadComponent',\n )\n\n ErrorView = createMappedComponent(\n collectionViews?.ErrorView?.payloadComponent,\n undefined,\n collectionViews?.ErrorView?.Component,\n 'collectionViews?.ErrorView.payloadComponent',\n )\n }\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = createMappedComponent(undefined, undefined, NotFoundView, 'NotFoundView')\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n notFound()\n }\n\n const params = new URLSearchParams({\n locale: locale?.code,\n })\n\n if (globalConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\n\n RootViewOverride =\n globalConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in globalConfig.admin.components.views.edit.root\n ? createMappedComponent(\n globalConfig?.admin?.components?.views?.edit?.root?.Component as EditViewComponent, // some type info gets lost from Config => SanitizedConfig due to our usage of Deep type operations from ts-essentials. Despite .Component being defined as EditViewComponent, this info is lost and we need cast it here.\n undefined,\n undefined,\n 'globalConfig?.admin?.components?.views?.edit?.root',\n )\n : null\n\n if (!RootViewOverride) {\n const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = createMappedComponent(\n globalViews?.CustomView?.payloadComponent,\n undefined,\n globalViews?.CustomView?.Component,\n 'globalViews?.CustomView.payloadComponent',\n )\n\n DefaultView = createMappedComponent(\n globalViews?.DefaultView?.payloadComponent,\n undefined,\n globalViews?.DefaultView?.Component,\n 'globalViews?.DefaultView.payloadComponent',\n )\n\n ErrorView = createMappedComponent(\n globalViews?.ErrorView?.payloadComponent,\n undefined,\n globalViews?.ErrorView?.Component,\n 'globalViews?.ErrorView.payloadComponent',\n )\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = createMappedComponent(undefined, undefined, NotFoundView, 'NotFoundView')\n }\n }\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n if (shouldAutosave && !validateDraftData && !id && collectionSlug) {\n const doc = await payload.create({\n collection: collectionSlug,\n data: {},\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n serverURL,\n })\n redirect(redirectURL)\n } else {\n notFound()\n }\n }\n\n return (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n disableActions={false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n initialData={data}\n initialState={formState}\n isEditing={isEditing}\n key={locale?.code}\n >\n {!RootViewOverride && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n {/**\n * After bumping the Next.js canary to 104, and React to 19.0.0-rc-06d0b89e-20240801\" we have to deepCopy the permissions object (https://github.com/payloadcms/payload/pull/7541).\n * If both HydrateClientUser and RenderCustomComponent receive the same permissions object (same object reference), we get a\n * \"TypeError: Cannot read properties of undefined (reading '$$typeof')\" error when loading up some version views - for example a versions\n * view in the draft-posts collection of the versions test suite. RenderCustomComponent is what renders the versions view.\n *\n * // TODO: Revisit this in the future and figure out why this is happening. Might be a React/Next.js bug. We don't know why it happens, and a future React/Next version might unbreak this (keep an eye on this and remove deepCopyObjectSimple if that's the case)\n */}\n <EditDepthProvider\n depth={1}\n key={`${collectionSlug || globalSlug}${locale?.code ? `-${locale?.code}` : ''}`}\n >\n {ErrorView ? (\n <RenderComponent mappedComponent={ErrorView} />\n ) : (\n <RenderComponent\n mappedComponent={\n RootViewOverride ? RootViewOverride : CustomView ? CustomView : DefaultView\n }\n />\n )}\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","formatAdminURL","isEditing","getIsEditing","buildFormState","isRedirectError","notFound","redirect","React","DocumentHeader","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getMetaBySegment","getVersions","getViewsFromConfig","renderDocumentSlots","generateMetadata","args","renderDocument","disableActions","drawerSlug","importMap","initialData","initPageResult","params","redirectAfterDelete","redirectAfterDuplicate","searchParams","collectionConfig","docID","id","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","RootViewOverride","CustomView","DefaultView","ErrorView","apiURL","doc","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","Promise","all","data","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","operation","renderAllFields","schemaPath","serverProps","routeSegments","collections","find","visibleSlug","URLSearchParams","versions","drafts","append","apiQueryParams","toString","components","views","edit","root","Component","collectionViews","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","create","collection","depth","draft","fallbackLocale","redirectURL","path","documentSlots","clientProps","Document","_jsxs","initialState","_jsx","ComponentConfig","RenderedDocument","error","logger","message"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n Data,\n PayloadComponent,\n ServerProps,\n ServerSideEditViewProps,\n} from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL, isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { isRedirectError } from 'next/dist/client/components/redirect.js'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\nimport type { ViewFromConfig } from './getViewsFromConfig.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocPreferences } from './getDocPreferences.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\n// This function will be responsible for rendering an Edit Document view\n// it will be called on the server for Edit page views as well as\n// called on-demand from document drawers\nexport const renderDocument = async ({\n disableActions,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n params,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams,\n}: AdminViewProps): Promise<{\n data: Data\n Document: React.ReactNode\n}> => {\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n\n let RootViewOverride: PayloadComponent\n let CustomView: ViewFromConfig<ServerSideEditViewProps>\n let DefaultView: ViewFromConfig<ServerSideEditViewProps>\n let ErrorView: ViewFromConfig<AdminViewProps>\n\n let apiURL: string\n\n // Fetch the doc required for the view\n const doc =\n initialData ||\n (await getDocumentData({\n id,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n user,\n }))\n\n if (isEditing && !doc) {\n throw new Error('not-found')\n }\n\n const [\n docPreferences,\n { docPermissions, hasPublishPermission, hasSavePermission },\n { currentEditor, isLocked, lastUpdateTime },\n ] = await Promise.all([\n // Get document preferences\n getDocPreferences({\n id,\n collectionSlug,\n globalSlug,\n payload,\n user,\n }),\n\n // Get permissions\n getDocumentPermissions({\n id,\n collectionConfig,\n data: doc,\n globalConfig,\n req,\n }),\n\n // Fetch document lock state\n getIsLocked({\n id,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n }),\n ])\n\n const [\n { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount },\n { state: formState },\n ] = await Promise.all([\n getVersions({\n id,\n collectionConfig,\n docPermissions,\n globalConfig,\n locale: locale?.code,\n payload,\n user,\n }),\n buildFormState({\n id,\n collectionSlug,\n data: doc,\n docPermissions,\n docPreferences,\n globalSlug,\n locale: locale?.code,\n operation: (collectionSlug && id) || globalSlug ? 'update' : 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n }),\n ])\n\n const serverProps: ServerProps = {\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n }\n\n if (collectionConfig) {\n if (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n throw new Error('not-found')\n }\n\n const params = new URLSearchParams()\n if (collectionConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}${apiQueryParams}`\n\n RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? collectionConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (!RootViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = collectionViews?.CustomView\n DefaultView = collectionViews?.DefaultView\n ErrorView = collectionViews?.ErrorView\n }\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n throw new Error('not-found')\n }\n\n const params = new URLSearchParams({\n locale: locale?.code,\n })\n\n if (globalConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\n\n RootViewOverride =\n globalConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in globalConfig.admin.components.views.edit.root\n ? globalConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (!RootViewOverride) {\n const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = globalViews?.CustomView\n DefaultView = globalViews?.DefaultView\n ErrorView = globalViews?.ErrorView\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\n }\n }\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\n\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n if (shouldAutosave && !validateDraftData && !id && collectionSlug) {\n const doc = await payload.create({\n collection: collectionSlug,\n data: initialData || {},\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n serverURL,\n })\n redirect(redirectURL)\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n collectionConfig,\n globalConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n\n const clientProps = { formState, ...documentSlots }\n\n return {\n data: doc,\n Document: (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n currentEditor={currentEditor}\n disableActions={disableActions ?? false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n initialData={doc}\n initialState={formState}\n isEditing={isEditing}\n isLocked={isLocked}\n key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n {!RootViewOverride && !drawerSlug && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {ErrorView ? (\n <RenderServerComponent\n clientProps={clientProps}\n Component={ErrorView.ComponentConfig || ErrorView.Component}\n importMap={importMap}\n serverProps={serverProps}\n />\n ) : (\n <RenderServerComponent\n clientProps={clientProps}\n Component={\n RootViewOverride\n ? RootViewOverride\n : CustomView?.ComponentConfig || CustomView?.Component\n ? CustomView?.ComponentConfig || CustomView?.Component\n : DefaultView?.ComponentConfig || DefaultView?.Component\n }\n importMap={importMap}\n serverProps={serverProps}\n />\n )}\n </EditDepthProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport const Document: React.FC<AdminViewProps> = async (args) => {\n try {\n const { Document: RenderedDocument } = await renderDocument(args)\n return RenderedDocument\n } catch (error) {\n if (isRedirectError(error)) {\n throw error\n }\n args.initPageResult.req.payload.logger.error(error)\n\n if (error.message === 'not-found') {\n notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import type { DefaultServerFunctionArgs, DocumentPermissions, DocumentSlots, PayloadRequest, SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload';
2
+ export declare const renderDocumentSlots: (args: {
3
+ collectionConfig?: SanitizedCollectionConfig;
4
+ globalConfig?: SanitizedGlobalConfig;
5
+ hasSavePermission: boolean;
6
+ permissions: DocumentPermissions;
7
+ req: PayloadRequest;
8
+ }) => DocumentSlots;
9
+ export declare const renderDocumentSlotsHandler: (args: {
10
+ collectionSlug: string;
11
+ } & DefaultServerFunctionArgs) => Promise<DocumentSlots>;
12
+ //# sourceMappingURL=renderDocumentSlots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderDocumentSlots.d.ts","sourceRoot":"","sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EAEtB,MAAM,SAAS,CAAA;AAQhB,eAAO,MAAM,mBAAmB,EAAE,CAAC,IAAI,EAAE;IACvC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,WAAW,EAAE,mBAAmB,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,aAwFL,CAAA;AAED,eAAO,MAAM,0BAA0B,SAC/B;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,yBAAyB,2BAsB7D,CAAA"}