@payloadcms/next 3.0.0-canary.c696728 → 3.0.0-canary.c96fa61

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 (485) hide show
  1. package/dist/cjs/withPayload.cjs +156 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -0
  3. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -0
  5. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +13 -15
  9. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +70 -68
  11. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  12. package/dist/elements/DocumentHeader/Tabs/index.js +9 -14
  13. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  14. package/dist/elements/DocumentHeader/Tabs/index.scss +41 -39
  15. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  16. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +13 -28
  17. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  18. package/dist/elements/DocumentHeader/index.d.ts +0 -1
  19. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  20. package/dist/elements/DocumentHeader/index.js +9 -12
  21. package/dist/elements/DocumentHeader/index.js.map +1 -1
  22. package/dist/elements/DocumentHeader/index.scss +44 -42
  23. package/dist/elements/FormHeader/index.d.ts +9 -0
  24. package/dist/elements/FormHeader/index.d.ts.map +1 -0
  25. package/dist/elements/FormHeader/index.js +20 -0
  26. package/dist/elements/FormHeader/index.js.map +1 -0
  27. package/dist/elements/FormHeader/index.scss +8 -0
  28. package/dist/elements/Logo/index.d.ts.map +1 -1
  29. package/dist/elements/Logo/index.js +5 -6
  30. package/dist/elements/Logo/index.js.map +1 -1
  31. package/dist/elements/Nav/NavWrapper/index.scss +20 -18
  32. package/dist/elements/Nav/index.client.d.ts +4 -1
  33. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  34. package/dist/elements/Nav/index.client.js +41 -95
  35. package/dist/elements/Nav/index.client.js.map +1 -1
  36. package/dist/elements/Nav/index.d.ts.map +1 -1
  37. package/dist/elements/Nav/index.js +60 -23
  38. package/dist/elements/Nav/index.js.map +1 -1
  39. package/dist/elements/Nav/index.scss +127 -125
  40. package/dist/exports/layouts.d.ts +1 -0
  41. package/dist/exports/layouts.d.ts.map +1 -1
  42. package/dist/exports/layouts.js +1 -0
  43. package/dist/exports/layouts.js.map +1 -1
  44. package/dist/exports/routes.d.ts +1 -1
  45. package/dist/exports/routes.d.ts.map +1 -1
  46. package/dist/exports/routes.js +1 -1
  47. package/dist/exports/routes.js.map +1 -1
  48. package/dist/exports/utilities.d.ts +1 -0
  49. package/dist/exports/utilities.d.ts.map +1 -1
  50. package/dist/exports/utilities.js +2 -0
  51. package/dist/exports/utilities.js.map +1 -1
  52. package/dist/exports/views.d.ts +0 -2
  53. package/dist/exports/views.d.ts.map +1 -1
  54. package/dist/exports/views.js +0 -2
  55. package/dist/exports/views.js.map +1 -1
  56. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  57. package/dist/fetchAPI-multipart/processMultipart.js +9 -11
  58. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  59. package/dist/layouts/Root/NestProviders.d.ts +11 -0
  60. package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
  61. package/dist/layouts/Root/NestProviders.js +21 -0
  62. package/dist/layouts/Root/NestProviders.js.map +1 -0
  63. package/dist/layouts/Root/index.d.ts +3 -2
  64. package/dist/layouts/Root/index.d.ts.map +1 -1
  65. package/dist/layouts/Root/index.js +20 -24
  66. package/dist/layouts/Root/index.js.map +1 -1
  67. package/dist/prod/styles.css +1 -1
  68. package/dist/routes/graphql/handler.d.ts.map +1 -1
  69. package/dist/routes/graphql/handler.js +23 -11
  70. package/dist/routes/graphql/handler.js.map +1 -1
  71. package/dist/routes/rest/auth/login.js +2 -2
  72. package/dist/routes/rest/auth/login.js.map +1 -1
  73. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  74. package/dist/routes/rest/auth/logout.js +3 -2
  75. package/dist/routes/rest/auth/logout.js.map +1 -1
  76. package/dist/routes/rest/auth/refresh.js +2 -2
  77. package/dist/routes/rest/auth/refresh.js.map +1 -1
  78. package/dist/routes/rest/auth/registerFirstUser.js +2 -2
  79. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  80. package/dist/routes/rest/auth/resetPassword.js +2 -2
  81. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  82. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  83. package/dist/routes/rest/collections/create.js +5 -1
  84. package/dist/routes/rest/collections/create.js.map +1 -1
  85. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  86. package/dist/routes/rest/collections/delete.js +8 -0
  87. package/dist/routes/rest/collections/delete.js.map +1 -1
  88. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  89. package/dist/routes/rest/collections/deleteByID.js +7 -1
  90. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  91. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  92. package/dist/routes/rest/collections/duplicate.js +5 -1
  93. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  94. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  95. package/dist/routes/rest/collections/find.js +7 -1
  96. package/dist/routes/rest/collections/find.js.map +1 -1
  97. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  98. package/dist/routes/rest/collections/findByID.js +5 -1
  99. package/dist/routes/rest/collections/findByID.js.map +1 -1
  100. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  101. package/dist/routes/rest/collections/findVersionByID.js +5 -1
  102. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  103. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  104. package/dist/routes/rest/collections/findVersions.js +7 -1
  105. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  106. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  107. package/dist/routes/rest/collections/restoreVersion.js +2 -0
  108. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  109. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  110. package/dist/routes/rest/collections/update.js +10 -0
  111. package/dist/routes/rest/collections/update.js.map +1 -1
  112. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  113. package/dist/routes/rest/collections/updateByID.js +7 -1
  114. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  115. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  116. package/dist/routes/rest/globals/findOne.js +5 -1
  117. package/dist/routes/rest/globals/findOne.js.map +1 -1
  118. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  119. package/dist/routes/rest/globals/findVersionByID.js +5 -1
  120. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  121. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  122. package/dist/routes/rest/globals/findVersions.js +7 -1
  123. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  124. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  125. package/dist/routes/rest/globals/restoreVersion.js +2 -0
  126. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  127. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  128. package/dist/routes/rest/globals/update.js +5 -1
  129. package/dist/routes/rest/globals/update.js.map +1 -1
  130. package/dist/routes/rest/index.d.ts +17 -12
  131. package/dist/routes/rest/index.d.ts.map +1 -1
  132. package/dist/routes/rest/index.js +90 -25
  133. package/dist/routes/rest/index.js.map +1 -1
  134. package/dist/routes/rest/og/image.d.ts +4 -2
  135. package/dist/routes/rest/og/image.d.ts.map +1 -1
  136. package/dist/routes/rest/og/image.js +7 -3
  137. package/dist/routes/rest/og/image.js.map +1 -1
  138. package/dist/routes/rest/og/index.d.ts.map +1 -1
  139. package/dist/routes/rest/og/index.js +7 -12
  140. package/dist/routes/rest/og/index.js.map +1 -1
  141. package/dist/routes/rest/routeError.d.ts +2 -7
  142. package/dist/routes/rest/routeError.d.ts.map +1 -1
  143. package/dist/routes/rest/routeError.js +34 -66
  144. package/dist/routes/rest/routeError.js.map +1 -1
  145. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +1 -1
  146. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -1
  147. package/dist/routes/rest/utilities/sanitizeJoinParams.js +9 -5
  148. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -1
  149. package/dist/routes/rest/utilities/sanitizePopulate.d.ts +3 -0
  150. package/dist/routes/rest/utilities/sanitizePopulate.d.ts.map +1 -0
  151. package/dist/routes/rest/utilities/sanitizePopulate.js +11 -0
  152. package/dist/routes/rest/utilities/sanitizePopulate.js.map +1 -0
  153. package/dist/routes/rest/utilities/sanitizeSelect.d.ts +6 -0
  154. package/dist/routes/rest/utilities/sanitizeSelect.d.ts.map +1 -0
  155. package/dist/routes/rest/utilities/sanitizeSelect.js +17 -0
  156. package/dist/routes/rest/utilities/sanitizeSelect.js.map +1 -0
  157. package/dist/scss/app.scss +166 -162
  158. package/dist/scss/colors.scss +256 -254
  159. package/dist/scss/resets.scss +9 -7
  160. package/dist/scss/toastify.scss +42 -40
  161. package/dist/scss/toasts.scss +105 -103
  162. package/dist/scss/type.scss +80 -79
  163. package/dist/templates/Default/Wrapper/index.scss +38 -36
  164. package/dist/templates/Default/index.d.ts +2 -1
  165. package/dist/templates/Default/index.d.ts.map +1 -1
  166. package/dist/templates/Default/index.js +97 -41
  167. package/dist/templates/Default/index.js.map +1 -1
  168. package/dist/templates/Default/index.scss +60 -58
  169. package/dist/templates/Minimal/index.scss +22 -20
  170. package/dist/utilities/getClientConfig.d.ts +7 -0
  171. package/dist/utilities/getClientConfig.d.ts.map +1 -0
  172. package/dist/utilities/getClientConfig.js +14 -0
  173. package/dist/utilities/getClientConfig.js.map +1 -0
  174. package/dist/utilities/getNextRequestI18n.js +2 -2
  175. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  176. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  177. package/dist/utilities/getRequestTheme.js +3 -0
  178. package/dist/utilities/getRequestTheme.js.map +1 -1
  179. package/dist/utilities/handleServerFunctions.d.ts +3 -0
  180. package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
  181. package/dist/utilities/handleServerFunctions.js +35 -0
  182. package/dist/utilities/handleServerFunctions.js.map +1 -0
  183. package/dist/utilities/initPage/handleAdminPage.d.ts +13 -11
  184. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  185. package/dist/utilities/initPage/handleAdminPage.js +16 -20
  186. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  187. package/dist/utilities/initPage/handleAuthRedirect.d.ts +6 -3
  188. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  189. package/dist/utilities/initPage/handleAuthRedirect.js +23 -36
  190. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  191. package/dist/utilities/initPage/index.d.ts +1 -1
  192. package/dist/utilities/initPage/index.d.ts.map +1 -1
  193. package/dist/utilities/initPage/index.js +29 -11
  194. package/dist/utilities/initPage/index.js.map +1 -1
  195. package/dist/utilities/initPage/isCustomAdminView.d.ts +10 -0
  196. package/dist/utilities/initPage/isCustomAdminView.d.ts.map +1 -0
  197. package/dist/utilities/initPage/isCustomAdminView.js +31 -0
  198. package/dist/utilities/initPage/isCustomAdminView.js.map +1 -0
  199. package/dist/utilities/initPage/shared.d.ts +2 -2
  200. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  201. package/dist/utilities/initPage/shared.js +19 -13
  202. package/dist/utilities/initPage/shared.js.map +1 -1
  203. package/dist/utilities/initReq.d.ts +1 -1
  204. package/dist/utilities/initReq.d.ts.map +1 -1
  205. package/dist/utilities/initReq.js +4 -3
  206. package/dist/utilities/initReq.js.map +1 -1
  207. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  208. package/dist/views/API/LocaleSelector/index.js +0 -1
  209. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  210. package/dist/views/API/RenderJSON/index.scss +68 -66
  211. package/dist/views/API/index.client.d.ts.map +1 -1
  212. package/dist/views/API/index.client.js +10 -13
  213. package/dist/views/API/index.client.js.map +1 -1
  214. package/dist/views/API/index.scss +98 -96
  215. package/dist/views/Account/Settings/index.d.ts +2 -1
  216. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  217. package/dist/views/Account/Settings/index.js +3 -3
  218. package/dist/views/Account/Settings/index.js.map +1 -1
  219. package/dist/views/Account/Settings/index.scss +37 -35
  220. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  221. package/dist/views/Account/ToggleTheme/index.js +1 -0
  222. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  223. package/dist/views/Account/index.d.ts.map +1 -1
  224. package/dist/views/Account/index.js +87 -27
  225. package/dist/views/Account/index.js.map +1 -1
  226. package/dist/views/CreateFirstUser/index.client.d.ts +3 -1
  227. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  228. package/dist/views/CreateFirstUser/index.client.js +56 -33
  229. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  230. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  231. package/dist/views/CreateFirstUser/index.js +36 -4
  232. package/dist/views/CreateFirstUser/index.js.map +1 -1
  233. package/dist/views/CreateFirstUser/index.scss +13 -11
  234. package/dist/views/Dashboard/Default/index.d.ts +3 -1
  235. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  236. package/dist/views/Dashboard/Default/index.js +58 -47
  237. package/dist/views/Dashboard/Default/index.js.map +1 -1
  238. package/dist/views/Dashboard/Default/index.scss +51 -49
  239. package/dist/views/Dashboard/index.d.ts.map +1 -1
  240. package/dist/views/Dashboard/index.js +53 -34
  241. package/dist/views/Dashboard/index.js.map +1 -1
  242. package/dist/views/Document/getDocPreferences.d.ts +11 -0
  243. package/dist/views/Document/getDocPreferences.d.ts.map +1 -0
  244. package/dist/views/Document/getDocPreferences.js +44 -0
  245. package/dist/views/Document/getDocPreferences.js.map +1 -0
  246. package/dist/views/Document/getDocumentData.d.ts +10 -11
  247. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  248. package/dist/views/Document/getDocumentData.js +35 -45
  249. package/dist/views/Document/getDocumentData.js.map +1 -1
  250. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  251. package/dist/views/Document/getDocumentPermissions.js +6 -5
  252. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  253. package/dist/views/Document/getIsLocked.d.ts +17 -0
  254. package/dist/views/Document/getIsLocked.d.ts.map +1 -0
  255. package/dist/views/Document/getIsLocked.js +54 -0
  256. package/dist/views/Document/getIsLocked.js.map +1 -0
  257. package/dist/views/Document/getVersions.d.ts +19 -0
  258. package/dist/views/Document/getVersions.d.ts.map +1 -0
  259. package/dist/views/Document/getVersions.js +181 -0
  260. package/dist/views/Document/getVersions.js.map +1 -0
  261. package/dist/views/Document/getViewsFromConfig.d.ts +1 -1
  262. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  263. package/dist/views/Document/getViewsFromConfig.js +22 -17
  264. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  265. package/dist/views/Document/handleServerFunction.d.ts +24 -0
  266. package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
  267. package/dist/views/Document/handleServerFunction.js +156 -0
  268. package/dist/views/Document/handleServerFunction.js.map +1 -0
  269. package/dist/views/Document/index.d.ts +5 -1
  270. package/dist/views/Document/index.d.ts.map +1 -1
  271. package/dist/views/Document/index.js +182 -72
  272. package/dist/views/Document/index.js.map +1 -1
  273. package/dist/views/Document/renderDocumentSlots.d.ts +12 -0
  274. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
  275. package/dist/views/Document/renderDocumentSlots.js +92 -0
  276. package/dist/views/Document/renderDocumentSlots.js.map +1 -0
  277. package/dist/views/Edit/index.d.ts +3 -2
  278. package/dist/views/Edit/index.d.ts.map +1 -1
  279. package/dist/views/Edit/index.js +7 -3
  280. package/dist/views/Edit/index.js.map +1 -1
  281. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  282. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +12 -12
  283. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  284. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  285. package/dist/views/ForgotPassword/index.js +10 -8
  286. package/dist/views/ForgotPassword/index.js.map +1 -1
  287. package/dist/views/List/handleServerFunction.d.ts +26 -0
  288. package/dist/views/List/handleServerFunction.d.ts.map +1 -0
  289. package/dist/views/List/handleServerFunction.js +155 -0
  290. package/dist/views/List/handleServerFunction.js.map +1 -0
  291. package/dist/views/List/index.d.ts +12 -2
  292. package/dist/views/List/index.d.ts.map +1 -1
  293. package/dist/views/List/index.js +122 -82
  294. package/dist/views/List/index.js.map +1 -1
  295. package/dist/views/List/renderListViewSlots.d.ts +8 -0
  296. package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
  297. package/dist/views/List/renderListViewSlots.js +44 -0
  298. package/dist/views/List/renderListViewSlots.js.map +1 -0
  299. package/dist/views/LivePreview/IFrame/index.scss +8 -6
  300. package/dist/views/LivePreview/Preview/index.scss +32 -30
  301. package/dist/views/LivePreview/Toolbar/Controls/index.scss +49 -47
  302. package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +11 -9
  303. package/dist/views/LivePreview/Toolbar/index.scss +33 -31
  304. package/dist/views/LivePreview/ToolbarArea/index.scss +5 -3
  305. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  306. package/dist/views/LivePreview/index.client.js +239 -210
  307. package/dist/views/LivePreview/index.client.js.map +1 -1
  308. package/dist/views/LivePreview/index.scss +48 -46
  309. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  310. package/dist/views/Login/LoginField/index.js +3 -1
  311. package/dist/views/Login/LoginField/index.js.map +1 -1
  312. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  313. package/dist/views/Login/LoginForm/index.js +2 -1
  314. package/dist/views/Login/LoginForm/index.js.map +1 -1
  315. package/dist/views/Login/LoginForm/index.scss +8 -6
  316. package/dist/views/Login/index.d.ts.map +1 -1
  317. package/dist/views/Login/index.js +26 -20
  318. package/dist/views/Login/index.js.map +1 -1
  319. package/dist/views/Login/index.scss +8 -6
  320. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  321. package/dist/views/Logout/LogoutClient.js +79 -56
  322. package/dist/views/Logout/LogoutClient.js.map +1 -1
  323. package/dist/views/Logout/index.scss +17 -15
  324. package/dist/views/NotFound/index.d.ts +5 -5
  325. package/dist/views/NotFound/index.d.ts.map +1 -1
  326. package/dist/views/NotFound/index.js +7 -2
  327. package/dist/views/NotFound/index.js.map +1 -1
  328. package/dist/views/NotFound/index.scss +38 -36
  329. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts +7 -0
  330. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -0
  331. package/dist/views/ResetPassword/{index.client.js → ResetPasswordForm/index.js} +27 -16
  332. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
  333. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  334. package/dist/views/ResetPassword/index.js +19 -10
  335. package/dist/views/ResetPassword/index.js.map +1 -1
  336. package/dist/views/ResetPassword/index.scss +6 -26
  337. package/dist/views/Root/getViewFromConfig.d.ts +3 -1
  338. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  339. package/dist/views/Root/getViewFromConfig.js +129 -14
  340. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  341. package/dist/views/Root/index.d.ts +5 -5
  342. package/dist/views/Root/index.d.ts.map +1 -1
  343. package/dist/views/Root/index.js +43 -19
  344. package/dist/views/Root/index.js.map +1 -1
  345. package/dist/views/Root/meta.d.ts +5 -5
  346. package/dist/views/Root/meta.d.ts.map +1 -1
  347. package/dist/views/Root/meta.js +3 -2
  348. package/dist/views/Root/meta.js.map +1 -1
  349. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  350. package/dist/views/Unauthorized/index.js +14 -7
  351. package/dist/views/Unauthorized/index.js.map +1 -1
  352. package/dist/views/Unauthorized/index.scss +4 -31
  353. package/dist/views/Verify/index.client.d.ts +7 -0
  354. package/dist/views/Verify/index.client.d.ts.map +1 -0
  355. package/dist/views/Verify/index.client.js +46 -0
  356. package/dist/views/Verify/index.client.js.map +1 -0
  357. package/dist/views/Verify/index.d.ts.map +1 -1
  358. package/dist/views/Verify/index.js +12 -11
  359. package/dist/views/Verify/index.js.map +1 -1
  360. package/dist/views/Verify/index.scss +13 -11
  361. package/dist/views/Version/Default/index.d.ts.map +1 -1
  362. package/dist/views/Version/Default/index.js +2 -4
  363. package/dist/views/Version/Default/index.js.map +1 -1
  364. package/dist/views/Version/Default/index.scss +52 -50
  365. package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +5 -3
  366. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +29 -27
  367. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +11 -9
  368. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +12 -10
  369. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +12 -10
  370. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +12 -10
  371. package/dist/views/Version/RenderFieldsToDiff/index.scss +12 -10
  372. package/dist/views/Version/Restore/index.js +1 -1
  373. package/dist/views/Version/Restore/index.js.map +1 -1
  374. package/dist/views/Version/Restore/index.scss +57 -55
  375. package/dist/views/Version/SelectComparison/index.scss +12 -10
  376. package/dist/views/Version/SelectLocales/index.scss +6 -4
  377. package/dist/views/Version/index.d.ts.map +1 -1
  378. package/dist/views/Version/index.js +2 -0
  379. package/dist/views/Version/index.js.map +1 -1
  380. package/dist/views/Versions/buildColumns.d.ts +3 -2
  381. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  382. package/dist/views/Versions/buildColumns.js +33 -61
  383. package/dist/views/Versions/buildColumns.js.map +1 -1
  384. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -0
  385. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  386. package/dist/views/Versions/cells/AutosaveCell/index.js +48 -37
  387. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  388. package/dist/views/Versions/cells/CreatedAt/index.d.ts +4 -0
  389. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  390. package/dist/views/Versions/cells/CreatedAt/index.js +43 -44
  391. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  392. package/dist/views/Versions/cells/ID/index.d.ts +3 -1
  393. package/dist/views/Versions/cells/ID/index.d.ts.map +1 -1
  394. package/dist/views/Versions/cells/ID/index.js +7 -19
  395. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  396. package/dist/views/Versions/getLatestVersion.d.ts +1 -0
  397. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  398. package/dist/views/Versions/getLatestVersion.js +15 -4
  399. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  400. package/dist/views/Versions/index.client.d.ts.map +1 -1
  401. package/dist/views/Versions/index.client.js +53 -51
  402. package/dist/views/Versions/index.client.js.map +1 -1
  403. package/dist/views/Versions/index.d.ts.map +1 -1
  404. package/dist/views/Versions/index.js +7 -6
  405. package/dist/views/Versions/index.js.map +1 -1
  406. package/dist/views/Versions/index.scss +78 -76
  407. package/dist/withPayload.d.ts.map +1 -1
  408. package/dist/withPayload.js +9 -1
  409. package/dist/withPayload.js.map +1 -1
  410. package/package.json +10 -10
  411. package/dist/cjs/withPayload.js +0 -111
  412. package/dist/cjs/withPayload.js.map +0 -1
  413. package/dist/elements/DocumentLocked/index.d.ts +0 -12
  414. package/dist/elements/DocumentLocked/index.d.ts.map +0 -1
  415. package/dist/elements/DocumentLocked/index.js +0 -142
  416. package/dist/elements/DocumentLocked/index.js.map +0 -1
  417. package/dist/elements/DocumentLocked/index.scss +0 -37
  418. package/dist/elements/DocumentTakeOver/index.d.ts +0 -8
  419. package/dist/elements/DocumentTakeOver/index.d.ts.map +0 -1
  420. package/dist/elements/DocumentTakeOver/index.js +0 -98
  421. package/dist/elements/DocumentTakeOver/index.js.map +0 -1
  422. package/dist/elements/DocumentTakeOver/index.scss +0 -37
  423. package/dist/elements/EmailAndUsername/index.d.ts +0 -14
  424. package/dist/elements/EmailAndUsername/index.d.ts.map +0 -1
  425. package/dist/elements/EmailAndUsername/index.js +0 -121
  426. package/dist/elements/EmailAndUsername/index.js.map +0 -1
  427. package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -4
  428. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +0 -1
  429. package/dist/elements/LeaveWithoutSaving/index.js +0 -162
  430. package/dist/elements/LeaveWithoutSaving/index.js.map +0 -1
  431. package/dist/elements/LeaveWithoutSaving/index.scss +0 -37
  432. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +0 -9
  433. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +0 -1
  434. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +0 -136
  435. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +0 -1
  436. package/dist/routes/rest/buildFormState.d.ts +0 -5
  437. package/dist/routes/rest/buildFormState.d.ts.map +0 -1
  438. package/dist/routes/rest/buildFormState.js +0 -46
  439. package/dist/routes/rest/buildFormState.js.map +0 -1
  440. package/dist/views/Edit/Default/Auth/APIKey.d.ts +0 -6
  441. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +0 -1
  442. package/dist/views/Edit/Default/Auth/APIKey.js +0 -131
  443. package/dist/views/Edit/Default/Auth/APIKey.js.map +0 -1
  444. package/dist/views/Edit/Default/Auth/index.d.ts +0 -5
  445. package/dist/views/Edit/Default/Auth/index.d.ts.map +0 -1
  446. package/dist/views/Edit/Default/Auth/index.js +0 -307
  447. package/dist/views/Edit/Default/Auth/index.js.map +0 -1
  448. package/dist/views/Edit/Default/Auth/index.scss +0 -76
  449. package/dist/views/Edit/Default/Auth/types.d.ts +0 -17
  450. package/dist/views/Edit/Default/Auth/types.d.ts.map +0 -1
  451. package/dist/views/Edit/Default/Auth/types.js +0 -2
  452. package/dist/views/Edit/Default/Auth/types.js.map +0 -1
  453. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -11
  454. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +0 -1
  455. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +0 -130
  456. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +0 -1
  457. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -8
  458. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +0 -1
  459. package/dist/views/Edit/Default/SetDocumentTitle/index.js +0 -81
  460. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +0 -1
  461. package/dist/views/Edit/Default/index.d.ts +0 -4
  462. package/dist/views/Edit/Default/index.d.ts.map +0 -1
  463. package/dist/views/Edit/Default/index.js +0 -377
  464. package/dist/views/Edit/Default/index.js.map +0 -1
  465. package/dist/views/Edit/Default/index.scss +0 -21
  466. package/dist/views/Edit/Default/types.d.ts +0 -6
  467. package/dist/views/Edit/Default/types.d.ts.map +0 -1
  468. package/dist/views/Edit/Default/types.js +0 -2
  469. package/dist/views/Edit/Default/types.js.map +0 -1
  470. package/dist/views/Edit/index.client.d.ts +0 -3
  471. package/dist/views/Edit/index.client.d.ts.map +0 -1
  472. package/dist/views/Edit/index.client.js +0 -54
  473. package/dist/views/Edit/index.client.js.map +0 -1
  474. package/dist/views/List/Default/index.d.ts +0 -4
  475. package/dist/views/List/Default/index.d.ts.map +0 -1
  476. package/dist/views/List/Default/index.js +0 -387
  477. package/dist/views/List/Default/index.js.map +0 -1
  478. package/dist/views/List/Default/index.scss +0 -177
  479. package/dist/views/List/Default/types.d.ts +0 -15
  480. package/dist/views/List/Default/types.d.ts.map +0 -1
  481. package/dist/views/List/Default/types.js +0 -2
  482. package/dist/views/List/Default/types.js.map +0 -1
  483. package/dist/views/ResetPassword/index.client.d.ts +0 -7
  484. package/dist/views/ResetPassword/index.client.d.ts.map +0 -1
  485. package/dist/views/ResetPassword/index.client.js.map +0 -1
@@ -1,4 +1,3 @@
1
- import { notFound } from 'next/navigation.js';
2
1
  import { APIView as DefaultAPIView } from '../API/index.js';
3
2
  import { EditView as DefaultEditView } from '../Edit/index.js';
4
3
  import { LivePreviewView as DefaultLivePreviewView } from '../LivePreview/index.js';
@@ -30,7 +29,7 @@ export const getViewsFromConfig = ({
30
29
  if (collectionConfig) {
31
30
  const [collectionEntity, collectionSlug, segment3, segment4, segment5, ...remainingSegments] = routeSegments;
32
31
  if (!overrideDocPermissions && !docPermissions?.read?.permission) {
33
- notFound();
32
+ throw new Error('not-found');
34
33
  } else {
35
34
  // `../:id`, or `../create`
36
35
  switch (routeSegments.length) {
@@ -41,7 +40,7 @@ export const getViewsFromConfig = ({
41
40
  {
42
41
  if (!overrideDocPermissions && 'create' in docPermissions && docPermissions?.create?.permission) {
43
42
  CustomView = {
44
- payloadComponent: getCustomViewByKey(views, 'default')
43
+ ComponentConfig: getCustomViewByKey(views, 'default')
45
44
  };
46
45
  DefaultView = {
47
46
  Component: DefaultEditView
@@ -68,11 +67,11 @@ export const getViewsFromConfig = ({
68
67
  if (customViewKey) {
69
68
  viewKey = customViewKey;
70
69
  CustomView = {
71
- payloadComponent: CustomViewComponent
70
+ ComponentConfig: CustomViewComponent
72
71
  };
73
72
  } else {
74
73
  CustomView = {
75
- payloadComponent: getCustomViewByKey(views, 'default')
74
+ ComponentConfig: getCustomViewByKey(views, 'default')
76
75
  };
77
76
  DefaultView = {
78
77
  Component: DefaultEditView
@@ -91,7 +90,7 @@ export const getViewsFromConfig = ({
91
90
  {
92
91
  if (collectionConfig?.admin?.hideAPIURL !== true) {
93
92
  CustomView = {
94
- payloadComponent: getCustomViewByKey(views, 'api')
93
+ ComponentConfig: getCustomViewByKey(views, 'api')
95
94
  };
96
95
  DefaultView = {
97
96
  Component: DefaultAPIView
@@ -105,6 +104,9 @@ export const getViewsFromConfig = ({
105
104
  DefaultView = {
106
105
  Component: DefaultLivePreviewView
107
106
  };
107
+ CustomView = {
108
+ ComponentConfig: getCustomViewByKey(views, 'livePreview')
109
+ };
108
110
  }
109
111
  break;
110
112
  }
@@ -112,7 +114,7 @@ export const getViewsFromConfig = ({
112
114
  {
113
115
  if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {
114
116
  CustomView = {
115
- payloadComponent: getCustomViewByKey(views, 'versions')
117
+ ComponentConfig: getCustomViewByKey(views, 'versions')
116
118
  };
117
119
  DefaultView = {
118
120
  Component: DefaultVersionsView
@@ -139,7 +141,7 @@ export const getViewsFromConfig = ({
139
141
  if (customViewKey) {
140
142
  viewKey = customViewKey;
141
143
  CustomView = {
142
- payloadComponent: CustomViewComponent
144
+ ComponentConfig: CustomViewComponent
143
145
  };
144
146
  }
145
147
  break;
@@ -153,7 +155,7 @@ export const getViewsFromConfig = ({
153
155
  if (segment4 === 'versions') {
154
156
  if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {
155
157
  CustomView = {
156
- payloadComponent: getCustomViewByKey(views, 'version')
158
+ ComponentConfig: getCustomViewByKey(views, 'version')
157
159
  };
158
160
  DefaultView = {
159
161
  Component: DefaultVersionView
@@ -177,7 +179,7 @@ export const getViewsFromConfig = ({
177
179
  if (customViewKey) {
178
180
  viewKey = customViewKey;
179
181
  CustomView = {
180
- payloadComponent: CustomViewComponent
182
+ ComponentConfig: CustomViewComponent
181
183
  };
182
184
  }
183
185
  }
@@ -189,13 +191,13 @@ export const getViewsFromConfig = ({
189
191
  if (globalConfig) {
190
192
  const [globalEntity, globalSlug, segment3, ...remainingSegments] = routeSegments;
191
193
  if (!overrideDocPermissions && !docPermissions?.read?.permission) {
192
- notFound();
194
+ throw new Error('not-found');
193
195
  } else {
194
196
  switch (routeSegments.length) {
195
197
  case 2:
196
198
  {
197
199
  CustomView = {
198
- payloadComponent: getCustomViewByKey(views, 'default')
200
+ ComponentConfig: getCustomViewByKey(views, 'default')
199
201
  };
200
202
  DefaultView = {
201
203
  Component: DefaultEditView
@@ -210,7 +212,7 @@ export const getViewsFromConfig = ({
210
212
  {
211
213
  if (globalConfig?.admin?.hideAPIURL !== true) {
212
214
  CustomView = {
213
- payloadComponent: getCustomViewByKey(views, 'api')
215
+ ComponentConfig: getCustomViewByKey(views, 'api')
214
216
  };
215
217
  DefaultView = {
216
218
  Component: DefaultAPIView
@@ -224,6 +226,9 @@ export const getViewsFromConfig = ({
224
226
  DefaultView = {
225
227
  Component: DefaultLivePreviewView
226
228
  };
229
+ CustomView = {
230
+ ComponentConfig: getCustomViewByKey(views, 'livePreview')
231
+ };
227
232
  }
228
233
  break;
229
234
  }
@@ -231,7 +236,7 @@ export const getViewsFromConfig = ({
231
236
  {
232
237
  if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {
233
238
  CustomView = {
234
- payloadComponent: getCustomViewByKey(views, 'versions')
239
+ ComponentConfig: getCustomViewByKey(views, 'versions')
235
240
  };
236
241
  DefaultView = {
237
242
  Component: DefaultVersionsView
@@ -259,7 +264,7 @@ export const getViewsFromConfig = ({
259
264
  if (customViewKey) {
260
265
  viewKey = customViewKey;
261
266
  CustomView = {
262
- payloadComponent: CustomViewComponent
267
+ ComponentConfig: CustomViewComponent
263
268
  };
264
269
  } else {
265
270
  DefaultView = {
@@ -282,7 +287,7 @@ export const getViewsFromConfig = ({
282
287
  if (segment3 === 'versions') {
283
288
  if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {
284
289
  CustomView = {
285
- payloadComponent: getCustomViewByKey(views, 'version')
290
+ ComponentConfig: getCustomViewByKey(views, 'version')
286
291
  };
287
292
  DefaultView = {
288
293
  Component: DefaultVersionView
@@ -306,7 +311,7 @@ export const getViewsFromConfig = ({
306
311
  if (customViewKey) {
307
312
  viewKey = customViewKey;
308
313
  CustomView = {
309
- payloadComponent: CustomViewComponent
314
+ ComponentConfig: CustomViewComponent
310
315
  };
311
316
  }
312
317
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getViewsFromConfig.js","names":["notFound","APIView","DefaultAPIView","EditView","DefaultEditView","LivePreviewView","DefaultLivePreviewView","UnauthorizedView","VersionView","DefaultVersionView","VersionsView","DefaultVersionsView","getCustomViewByKey","getCustomViewByRoute","getViewsFromConfig","collectionConfig","config","docPermissions","globalConfig","overrideDocPermissions","routeSegments","DefaultView","CustomView","ErrorView","viewKey","routes","admin","adminRoute","views","components","livePreviewEnabled","livePreview","collections","includes","slug","globals","collectionEntity","collectionSlug","segment3","segment4","segment5","remainingSegments","read","permission","length","create","payloadComponent","Component","baseRoute","filter","Boolean","join","currentRoute","CustomViewComponent","customViewKey","hideAPIURL","readVersions","globalEntity","globalSlug"],"sources":["../../../src/views/Document/getViewsFromConfig.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n CollectionPermission,\n GlobalPermission,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ServerSideEditViewProps,\n} from 'payload'\nimport type React from 'react'\n\nimport { notFound } from 'next/navigation.js'\n\nimport { APIView as DefaultAPIView } from '../API/index.js'\nimport { EditView as DefaultEditView } from '../Edit/index.js'\nimport { LivePreviewView as DefaultLivePreviewView } from '../LivePreview/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { VersionView as DefaultVersionView } from '../Version/index.js'\nimport { VersionsView as DefaultVersionsView } from '../Versions/index.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nexport type ViewFromConfig<TProps extends object> = {\n Component?: React.FC<TProps>\n payloadComponent?: PayloadComponent<TProps>\n}\n\nexport const getViewsFromConfig = ({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n overrideDocPermissions,\n routeSegments,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n globalConfig?: SanitizedGlobalConfig\n routeSegments: string[]\n} & (\n | {\n docPermissions: CollectionPermission | GlobalPermission\n overrideDocPermissions?: false | undefined\n }\n | {\n docPermissions?: never\n overrideDocPermissions: true\n }\n)): {\n CustomView: ViewFromConfig<ServerSideEditViewProps>\n DefaultView: ViewFromConfig<ServerSideEditViewProps>\n /**\n * The error view to display if CustomView or DefaultView do not exist (could be either due to not found, or unauthorized). Can be null\n */\n ErrorView: ViewFromConfig<AdminViewProps>\n viewKey: string\n} | null => {\n // Conditionally import and lazy load the default view\n let DefaultView: ViewFromConfig<ServerSideEditViewProps> = null\n let CustomView: ViewFromConfig<ServerSideEditViewProps> = null\n let ErrorView: ViewFromConfig<AdminViewProps> = null\n let viewKey: string\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const views =\n (collectionConfig && collectionConfig?.admin?.components?.views) ||\n (globalConfig && globalConfig?.admin?.components?.views)\n\n const livePreviewEnabled =\n (collectionConfig && collectionConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.collections?.includes(collectionConfig?.slug) ||\n (globalConfig && globalConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.globals?.includes(globalConfig?.slug)\n\n if (collectionConfig) {\n const [collectionEntity, collectionSlug, segment3, segment4, segment5, ...remainingSegments] =\n routeSegments\n\n if (!overrideDocPermissions && !docPermissions?.read?.permission) {\n notFound()\n } else {\n // `../:id`, or `../create`\n switch (routeSegments.length) {\n case 3: {\n switch (segment3) {\n case 'create': {\n if (\n !overrideDocPermissions &&\n 'create' in docPermissions &&\n docPermissions?.create?.permission\n ) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n payloadComponent: CustomViewComponent,\n }\n } else {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'default'),\n }\n\n DefaultView = {\n Component: DefaultEditView,\n }\n }\n\n break\n }\n }\n break\n }\n\n // `../:id/api`, `../:id/preview`, `../:id/versions`, etc\n case 4: {\n switch (segment4) {\n case 'api': {\n if (collectionConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n }\n break\n }\n\n case 'versions': {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'versions'),\n }\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n payloadComponent: CustomViewComponent,\n }\n }\n\n break\n }\n }\n break\n }\n\n // `../:id/versions/:version`, etc\n default: {\n if (segment4 === 'versions') {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n collectionEntity,\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n payloadComponent: CustomViewComponent,\n }\n }\n }\n\n break\n }\n }\n }\n }\n\n if (globalConfig) {\n const [globalEntity, globalSlug, segment3, ...remainingSegments] = routeSegments\n\n if (!overrideDocPermissions && !docPermissions?.read?.permission) {\n notFound()\n } else {\n switch (routeSegments.length) {\n case 2: {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n break\n }\n\n case 3: {\n // `../:slug/api`, `../:slug/preview`, `../:slug/versions`, etc\n switch (segment3) {\n case 'api': {\n if (globalConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n }\n break\n }\n\n case 'versions': {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'versions'),\n }\n\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n if (!overrideDocPermissions && docPermissions?.read?.permission) {\n const baseRoute = [adminRoute, globalEntity, globalSlug, segment3]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n payloadComponent: CustomViewComponent,\n }\n } else {\n DefaultView = {\n Component: DefaultEditView,\n }\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n }\n break\n }\n\n default: {\n // `../:slug/versions/:version`, etc\n if (segment3 === 'versions') {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [adminRoute !== '/' && adminRoute, 'globals', globalSlug]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n payloadComponent: CustomViewComponent,\n }\n }\n }\n\n break\n }\n }\n }\n }\n\n return {\n CustomView,\n DefaultView,\n ErrorView,\n viewKey,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getViewsFromConfig.js","names":["APIView","DefaultAPIView","EditView","DefaultEditView","LivePreviewView","DefaultLivePreviewView","UnauthorizedView","VersionView","DefaultVersionView","VersionsView","DefaultVersionsView","getCustomViewByKey","getCustomViewByRoute","getViewsFromConfig","collectionConfig","config","docPermissions","globalConfig","overrideDocPermissions","routeSegments","DefaultView","CustomView","ErrorView","viewKey","routes","admin","adminRoute","views","components","livePreviewEnabled","livePreview","collections","includes","slug","globals","collectionEntity","collectionSlug","segment3","segment4","segment5","remainingSegments","read","permission","Error","length","create","ComponentConfig","Component","baseRoute","filter","Boolean","join","currentRoute","CustomViewComponent","customViewKey","hideAPIURL","readVersions","globalEntity","globalSlug"],"sources":["../../../src/views/Document/getViewsFromConfig.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n CollectionPermission,\n GlobalPermission,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ServerSideEditViewProps,\n} from 'payload'\nimport type React from 'react'\n\nimport { APIView as DefaultAPIView } from '../API/index.js'\nimport { EditView as DefaultEditView } from '../Edit/index.js'\nimport { LivePreviewView as DefaultLivePreviewView } from '../LivePreview/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { VersionView as DefaultVersionView } from '../Version/index.js'\nimport { VersionsView as DefaultVersionsView } from '../Versions/index.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nexport type ViewFromConfig<TProps extends object> = {\n Component?: React.FC<TProps>\n ComponentConfig?: PayloadComponent<TProps>\n}\n\nexport const getViewsFromConfig = ({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n overrideDocPermissions,\n routeSegments,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n globalConfig?: SanitizedGlobalConfig\n routeSegments: string[]\n} & (\n | {\n docPermissions: CollectionPermission | GlobalPermission\n overrideDocPermissions?: false | undefined\n }\n | {\n docPermissions?: never\n overrideDocPermissions: true\n }\n)): {\n CustomView: ViewFromConfig<ServerSideEditViewProps>\n DefaultView: ViewFromConfig<ServerSideEditViewProps>\n /**\n * The error view to display if CustomView or DefaultView do not exist (could be either due to not found, or unauthorized). Can be null\n */\n ErrorView: ViewFromConfig<AdminViewProps>\n viewKey: string\n} | null => {\n // Conditionally import and lazy load the default view\n let DefaultView: ViewFromConfig<ServerSideEditViewProps> = null\n let CustomView: ViewFromConfig<ServerSideEditViewProps> = null\n let ErrorView: ViewFromConfig<AdminViewProps> = null\n let viewKey: string\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const views =\n (collectionConfig && collectionConfig?.admin?.components?.views) ||\n (globalConfig && globalConfig?.admin?.components?.views)\n\n const livePreviewEnabled =\n (collectionConfig && collectionConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.collections?.includes(collectionConfig?.slug) ||\n (globalConfig && globalConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.globals?.includes(globalConfig?.slug)\n\n if (collectionConfig) {\n const [collectionEntity, collectionSlug, segment3, segment4, segment5, ...remainingSegments] =\n routeSegments\n\n if (!overrideDocPermissions && !docPermissions?.read?.permission) {\n throw new Error('not-found')\n } else {\n // `../:id`, or `../create`\n switch (routeSegments.length) {\n case 3: {\n switch (segment3) {\n case 'create': {\n if (\n !overrideDocPermissions &&\n 'create' in docPermissions &&\n docPermissions?.create?.permission\n ) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n } else {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'default'),\n }\n\n DefaultView = {\n Component: DefaultEditView,\n }\n }\n\n break\n }\n }\n break\n }\n\n // `../:id/api`, `../:id/preview`, `../:id/versions`, etc\n case 4: {\n switch (segment4) {\n case 'api': {\n if (collectionConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'livePreview'),\n }\n }\n break\n }\n\n case 'versions': {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'versions'),\n }\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n }\n\n break\n }\n }\n break\n }\n\n // `../:id/versions/:version`, etc\n default: {\n if (segment4 === 'versions') {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n collectionEntity,\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n }\n }\n\n break\n }\n }\n }\n }\n\n if (globalConfig) {\n const [globalEntity, globalSlug, segment3, ...remainingSegments] = routeSegments\n\n if (!overrideDocPermissions && !docPermissions?.read?.permission) {\n throw new Error('not-found')\n } else {\n switch (routeSegments.length) {\n case 2: {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n break\n }\n\n case 3: {\n // `../:slug/api`, `../:slug/preview`, `../:slug/versions`, etc\n switch (segment3) {\n case 'api': {\n if (globalConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'livePreview'),\n }\n }\n break\n }\n\n case 'versions': {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'versions'),\n }\n\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n if (!overrideDocPermissions && docPermissions?.read?.permission) {\n const baseRoute = [adminRoute, globalEntity, globalSlug, segment3]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n } else {\n DefaultView = {\n Component: DefaultEditView,\n }\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n }\n break\n }\n\n default: {\n // `../:slug/versions/:version`, etc\n if (segment3 === 'versions') {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [adminRoute !== '/' && adminRoute, 'globals', globalSlug]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n }\n }\n\n break\n }\n }\n }\n }\n\n return {\n CustomView,\n DefaultView,\n ErrorView,\n viewKey,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ import type { I18nClient } from '@payloadcms/translations';
2
+ import type { ClientConfig, Data, DocumentPreferences, FormState, PayloadRequest, SanitizedConfig } from 'payload';
3
+ export declare const getClientConfig: (args: {
4
+ config: SanitizedConfig;
5
+ i18n: I18nClient;
6
+ }) => ClientConfig;
7
+ type RenderDocumentResult = {
8
+ data: any;
9
+ Document: React.ReactNode;
10
+ preferences: DocumentPreferences;
11
+ };
12
+ export declare const renderDocumentHandler: (args: {
13
+ collectionSlug: string;
14
+ disableActions?: boolean;
15
+ docID: string;
16
+ drawerSlug?: string;
17
+ initialData?: Data;
18
+ initialState?: FormState;
19
+ redirectAfterDelete: boolean;
20
+ redirectAfterDuplicate: boolean;
21
+ req: PayloadRequest;
22
+ }) => Promise<RenderDocumentResult>;
23
+ export {};
24
+ //# sourceMappingURL=handleServerFunction.d.ts.map
@@ -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,CAmUA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAc7C,CAAA"}