@payloadcms/next 3.74.0-canary.5 → 3.74.0-internal-debug.1b84a48

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 (474) hide show
  1. package/dist/auth/login.d.ts +9 -12
  2. package/dist/auth/login.d.ts.map +1 -1
  3. package/dist/auth/login.js +52 -58
  4. package/dist/auth/login.js.map +1 -1
  5. package/dist/auth/logout.d.ts +2 -2
  6. package/dist/auth/logout.d.ts.map +1 -1
  7. package/dist/auth/logout.js +39 -44
  8. package/dist/auth/logout.js.map +1 -1
  9. package/dist/auth/refresh.d.ts +2 -1
  10. package/dist/auth/refresh.d.ts.map +1 -1
  11. package/dist/auth/refresh.js +45 -47
  12. package/dist/auth/refresh.js.map +1 -1
  13. package/dist/cjs/withPayload.cjs +65 -24
  14. package/dist/cjs/withPayload.cjs.map +2 -2
  15. package/dist/config.js +1 -0
  16. package/dist/config.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +9 -15
  18. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +40 -71
  20. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  21. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +65 -59
  22. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +38 -0
  24. package/dist/elements/DocumentHeader/Tabs/index.js +80 -70
  25. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  26. package/dist/elements/DocumentHeader/Tabs/index.scss +54 -0
  27. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -23
  28. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  29. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +10 -0
  30. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +61 -69
  31. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  32. package/dist/elements/DocumentHeader/index.js +48 -28
  33. package/dist/elements/DocumentHeader/index.js.map +1 -1
  34. package/dist/elements/DocumentHeader/index.scss +64 -0
  35. package/dist/elements/FormHeader/index.js +30 -16
  36. package/dist/elements/FormHeader/index.js.map +1 -1
  37. package/dist/elements/FormHeader/index.scss +8 -0
  38. package/dist/elements/Logo/index.js +19 -34
  39. package/dist/elements/Logo/index.js.map +1 -1
  40. package/dist/elements/Nav/NavHamburger/index.js +23 -44
  41. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  42. package/dist/elements/Nav/NavWrapper/index.js +28 -54
  43. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  44. package/dist/elements/Nav/NavWrapper/index.scss +27 -0
  45. package/dist/elements/Nav/SettingsMenuButton/index.js +33 -39
  46. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  47. package/dist/elements/Nav/SettingsMenuButton/index.scss +11 -0
  48. package/dist/elements/Nav/getNavPrefs.js +27 -22
  49. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  50. package/dist/elements/Nav/index.client.js +97 -118
  51. package/dist/elements/Nav/index.client.js.map +1 -1
  52. package/dist/elements/Nav/index.js +148 -127
  53. package/dist/elements/Nav/index.js.map +1 -1
  54. package/dist/elements/Nav/index.scss +173 -0
  55. package/dist/esbuildEntry.d.ts +5 -0
  56. package/dist/esbuildEntry.d.ts.map +1 -0
  57. package/dist/esbuildEntry.js +6 -0
  58. package/dist/esbuildEntry.js.map +1 -0
  59. package/dist/exports/auth.js +1 -0
  60. package/dist/exports/auth.js.map +1 -1
  61. package/dist/exports/client.d.ts +1 -0
  62. package/dist/exports/client.d.ts.map +1 -1
  63. package/dist/exports/client.js +2 -1
  64. package/dist/exports/client.js.map +1 -1
  65. package/dist/exports/layouts.js +1 -0
  66. package/dist/exports/layouts.js.map +1 -1
  67. package/dist/exports/routes.js +1 -0
  68. package/dist/exports/routes.js.map +1 -1
  69. package/dist/exports/rsc.d.ts +1 -0
  70. package/dist/exports/rsc.d.ts.map +1 -1
  71. package/dist/exports/rsc.js +2 -0
  72. package/dist/exports/rsc.js.map +1 -1
  73. package/dist/exports/templates.js +1 -0
  74. package/dist/exports/templates.js.map +1 -1
  75. package/dist/exports/utilities.js +7 -12
  76. package/dist/exports/utilities.js.map +1 -1
  77. package/dist/exports/views.js +1 -0
  78. package/dist/exports/views.js.map +1 -1
  79. package/dist/index.js +1 -0
  80. package/dist/index.js.map +1 -1
  81. package/dist/layouts/Root/NestProviders.js +21 -20
  82. package/dist/layouts/Root/NestProviders.js.map +1 -1
  83. package/dist/layouts/Root/checkDependencies.js +49 -41
  84. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  85. package/dist/layouts/Root/index.js +128 -103
  86. package/dist/layouts/Root/index.js.map +1 -1
  87. package/dist/prod/styles.css +5 -1
  88. package/dist/routes/graphql/handler.js +114 -122
  89. package/dist/routes/graphql/handler.js.map +1 -1
  90. package/dist/routes/graphql/index.js +1 -0
  91. package/dist/routes/graphql/index.js.map +1 -1
  92. package/dist/routes/graphql/playground.js +28 -27
  93. package/dist/routes/graphql/playground.js.map +1 -1
  94. package/dist/routes/index.js +1 -0
  95. package/dist/routes/index.js.map +1 -1
  96. package/dist/routes/rest/index.js +23 -22
  97. package/dist/routes/rest/index.js.map +1 -1
  98. package/dist/routes/rest/og/image.js +103 -79
  99. package/dist/routes/rest/og/image.js.map +1 -1
  100. package/dist/routes/rest/og/index.js +59 -54
  101. package/dist/routes/rest/og/index.js.map +1 -1
  102. package/dist/templates/Default/NavHamburger/index.js +12 -20
  103. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  104. package/dist/templates/Default/Wrapper/index.js +20 -44
  105. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  106. package/dist/templates/Default/Wrapper/index.scss +58 -0
  107. package/dist/templates/Default/index.js +147 -116
  108. package/dist/templates/Default/index.js.map +1 -1
  109. package/dist/templates/Default/index.scss +79 -0
  110. package/dist/templates/Minimal/index.js +26 -17
  111. package/dist/templates/Minimal/index.js.map +1 -1
  112. package/dist/templates/Minimal/index.scss +30 -0
  113. package/dist/utilities/getExistingAuthToken.js +3 -2
  114. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  115. package/dist/utilities/getNextRequestI18n.js +12 -13
  116. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  117. package/dist/utilities/getPayloadHMR.js +5 -5
  118. package/dist/utilities/getPayloadHMR.js.map +1 -1
  119. package/dist/utilities/getPreferences.js +27 -22
  120. package/dist/utilities/getPreferences.js.map +1 -1
  121. package/dist/utilities/getRequestLocale.js +13 -14
  122. package/dist/utilities/getRequestLocale.js.map +1 -1
  123. package/dist/utilities/getRequestTheme.js +19 -19
  124. package/dist/utilities/getRequestTheme.js.map +1 -1
  125. package/dist/utilities/getRouteWithoutAdmin.js +3 -5
  126. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  127. package/dist/utilities/handleAuthRedirect.js +22 -36
  128. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  129. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  130. package/dist/utilities/handleServerFunctions.js +33 -41
  131. package/dist/utilities/handleServerFunctions.js.map +1 -1
  132. package/dist/utilities/initReq.d.ts +2 -13
  133. package/dist/utilities/initReq.d.ts.map +1 -1
  134. package/dist/utilities/initReq.js +78 -96
  135. package/dist/utilities/initReq.js.map +1 -1
  136. package/dist/utilities/isCustomAdminView.js +22 -26
  137. package/dist/utilities/isCustomAdminView.js.map +1 -1
  138. package/dist/utilities/isPublicAdminRoute.js +26 -20
  139. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  140. package/dist/utilities/meta.js +68 -63
  141. package/dist/utilities/meta.js.map +1 -1
  142. package/dist/utilities/selectiveCache.js +25 -26
  143. package/dist/utilities/selectiveCache.js.map +1 -1
  144. package/dist/utilities/setPayloadAuthCookie.js +19 -22
  145. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  146. package/dist/utilities/slugify.js +24 -33
  147. package/dist/utilities/slugify.js.map +1 -1
  148. package/dist/utilities/timestamp.js +7 -6
  149. package/dist/utilities/timestamp.js.map +1 -1
  150. package/dist/views/API/LocaleSelector/index.js +17 -39
  151. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  152. package/dist/views/API/RenderJSON/index.js +171 -126
  153. package/dist/views/API/RenderJSON/index.js.map +1 -1
  154. package/dist/views/API/RenderJSON/index.scss +129 -0
  155. package/dist/views/API/index.client.js +291 -199
  156. package/dist/views/API/index.client.js.map +1 -1
  157. package/dist/views/API/index.js +7 -2
  158. package/dist/views/API/index.js.map +1 -1
  159. package/dist/views/API/index.scss +119 -0
  160. package/dist/views/API/metadata.js +18 -23
  161. package/dist/views/API/metadata.js.map +1 -1
  162. package/dist/views/Account/ResetPreferences/index.js +78 -102
  163. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  164. package/dist/views/Account/Settings/LanguageSelector.js +18 -47
  165. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  166. package/dist/views/Account/Settings/index.js +60 -25
  167. package/dist/views/Account/Settings/index.js.map +1 -1
  168. package/dist/views/Account/Settings/index.scss +48 -0
  169. package/dist/views/Account/ToggleTheme/index.js +38 -55
  170. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  171. package/dist/views/Account/index.client.js +16 -32
  172. package/dist/views/Account/index.client.js.map +1 -1
  173. package/dist/views/Account/index.js +147 -158
  174. package/dist/views/Account/index.js.map +1 -1
  175. package/dist/views/Account/metadata.js +8 -12
  176. package/dist/views/Account/metadata.js.map +1 -1
  177. package/dist/views/BrowseByFolder/buildView.js +138 -157
  178. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  179. package/dist/views/BrowseByFolder/index.js +16 -16
  180. package/dist/views/BrowseByFolder/index.js.map +1 -1
  181. package/dist/views/BrowseByFolder/metadata.js +13 -15
  182. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  183. package/dist/views/CollectionFolders/buildView.js +122 -142
  184. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  185. package/dist/views/CollectionFolders/index.js +16 -16
  186. package/dist/views/CollectionFolders/index.js.map +1 -1
  187. package/dist/views/CollectionFolders/metadata.js +18 -21
  188. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  189. package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
  190. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  191. package/dist/views/CollectionTrash/index.js +17 -17
  192. package/dist/views/CollectionTrash/index.js.map +1 -1
  193. package/dist/views/CollectionTrash/metadata.js +18 -21
  194. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  195. package/dist/views/CreateFirstUser/index.client.js +117 -103
  196. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  197. package/dist/views/CreateFirstUser/index.js +87 -81
  198. package/dist/views/CreateFirstUser/index.js.map +1 -1
  199. package/dist/views/CreateFirstUser/index.scss +21 -0
  200. package/dist/views/CreateFirstUser/metadata.js +8 -12
  201. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  202. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +147 -138
  203. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  204. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +423 -405
  205. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  206. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  207. package/dist/views/Dashboard/Default/ModularDashboard/index.js +75 -75
  208. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  209. package/dist/views/Dashboard/Default/ModularDashboard/index.scss +316 -0
  210. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +62 -89
  211. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  212. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
  213. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +43 -47
  214. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  215. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
  216. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +67 -65
  217. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  218. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +164 -147
  219. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  220. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +31 -30
  221. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
  222. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +223 -229
  223. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  224. package/dist/views/Dashboard/Default/index.js +59 -45
  225. package/dist/views/Dashboard/Default/index.js.map +1 -1
  226. package/dist/views/Dashboard/index.js +46 -42
  227. package/dist/views/Dashboard/index.js.map +1 -1
  228. package/dist/views/Dashboard/metadata.js +10 -14
  229. package/dist/views/Dashboard/metadata.js.map +1 -1
  230. package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
  231. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  232. package/dist/views/Document/getCustomViewByRoute.js +27 -30
  233. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  234. package/dist/views/Document/getDocPreferences.js +40 -41
  235. package/dist/views/Document/getDocPreferences.js.map +1 -1
  236. package/dist/views/Document/getDocumentData.js +44 -55
  237. package/dist/views/Document/getDocumentData.js.map +1 -1
  238. package/dist/views/Document/getDocumentPermissions.js +77 -80
  239. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  240. package/dist/views/Document/getDocumentView.js +313 -283
  241. package/dist/views/Document/getDocumentView.js.map +1 -1
  242. package/dist/views/Document/getIsLocked.js +73 -73
  243. package/dist/views/Document/getIsLocked.js.map +1 -1
  244. package/dist/views/Document/getMetaBySegment.js +130 -136
  245. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  246. package/dist/views/Document/getVersions.js +220 -213
  247. package/dist/views/Document/getVersions.js.map +1 -1
  248. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  249. package/dist/views/Document/handleServerFunction.js +101 -130
  250. package/dist/views/Document/handleServerFunction.js.map +1 -1
  251. package/dist/views/Document/index.js +317 -355
  252. package/dist/views/Document/index.js.map +1 -1
  253. package/dist/views/Document/metadata.js +2 -1
  254. package/dist/views/Document/metadata.js.map +1 -1
  255. package/dist/views/Document/renderDocumentSlots.d.ts +3 -2
  256. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  257. package/dist/views/Document/renderDocumentSlots.js +142 -141
  258. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  259. package/dist/views/Edit/index.js +10 -6
  260. package/dist/views/Edit/index.js.map +1 -1
  261. package/dist/views/Edit/metadata.js +36 -46
  262. package/dist/views/Edit/metadata.js.map +1 -1
  263. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
  264. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  265. package/dist/views/ForgotPassword/index.js +79 -62
  266. package/dist/views/ForgotPassword/index.js.map +1 -1
  267. package/dist/views/ForgotPassword/metadata.js +8 -12
  268. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  269. package/dist/views/List/createSerializableValue.js +12 -11
  270. package/dist/views/List/createSerializableValue.js.map +1 -1
  271. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  272. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  273. package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
  274. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  275. package/dist/views/List/extractValueOrRelationshipID.js +16 -15
  276. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  277. package/dist/views/List/handleGroupBy.js +133 -150
  278. package/dist/views/List/handleGroupBy.js.map +1 -1
  279. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  280. package/dist/views/List/handleServerFunction.js +97 -123
  281. package/dist/views/List/handleServerFunction.js.map +1 -1
  282. package/dist/views/List/index.d.ts +1 -0
  283. package/dist/views/List/index.d.ts.map +1 -1
  284. package/dist/views/List/index.js +303 -318
  285. package/dist/views/List/index.js.map +1 -1
  286. package/dist/views/List/metadata.js +17 -20
  287. package/dist/views/List/metadata.js.map +1 -1
  288. package/dist/views/List/renderListViewSlots.js +82 -75
  289. package/dist/views/List/renderListViewSlots.js.map +1 -1
  290. package/dist/views/List/resolveAllFilterOptions.js +43 -45
  291. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  292. package/dist/views/List/transformColumnsToSelect.js +9 -8
  293. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  294. package/dist/views/Login/LoginField/index.js +57 -89
  295. package/dist/views/Login/LoginField/index.js.map +1 -1
  296. package/dist/views/Login/LoginForm/index.js +107 -160
  297. package/dist/views/Login/LoginForm/index.js.map +1 -1
  298. package/dist/views/Login/LoginForm/index.scss +10 -0
  299. package/dist/views/Login/index.js +82 -85
  300. package/dist/views/Login/index.js.map +1 -1
  301. package/dist/views/Login/index.scss +10 -0
  302. package/dist/views/Login/metadata.js +8 -12
  303. package/dist/views/Login/metadata.js.map +1 -1
  304. package/dist/views/Logout/LogoutClient.js +84 -120
  305. package/dist/views/Logout/LogoutClient.js.map +1 -1
  306. package/dist/views/Logout/index.js +29 -29
  307. package/dist/views/Logout/index.js.map +1 -1
  308. package/dist/views/Logout/index.scss +25 -0
  309. package/dist/views/Logout/metadata.js +7 -11
  310. package/dist/views/Logout/metadata.js.map +1 -1
  311. package/dist/views/NotFound/index.client.js +71 -82
  312. package/dist/views/NotFound/index.client.js.map +1 -1
  313. package/dist/views/NotFound/index.js +72 -73
  314. package/dist/views/NotFound/index.js.map +1 -1
  315. package/dist/views/NotFound/index.scss +57 -0
  316. package/dist/views/NotFound/metadata.js +7 -9
  317. package/dist/views/NotFound/metadata.js.map +1 -1
  318. package/dist/views/ResetPassword/ResetPasswordForm/index.js +97 -108
  319. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  320. package/dist/views/ResetPassword/index.js +93 -73
  321. package/dist/views/ResetPassword/index.js.map +1 -1
  322. package/dist/views/ResetPassword/index.scss +11 -0
  323. package/dist/views/ResetPassword/metadata.js +8 -12
  324. package/dist/views/ResetPassword/metadata.js.map +1 -1
  325. package/dist/views/Root/attachViewActions.js +18 -23
  326. package/dist/views/Root/attachViewActions.js.map +1 -1
  327. package/dist/views/Root/generateCustomViewMetadata.js +19 -21
  328. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  329. package/dist/views/Root/getCustomViewByKey.js +12 -14
  330. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  331. package/dist/views/Root/getCustomViewByRoute.js +31 -42
  332. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  333. package/dist/views/Root/getDocumentViewInfo.js +24 -23
  334. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  335. package/dist/views/Root/getRouteData.js +333 -325
  336. package/dist/views/Root/getRouteData.js.map +1 -1
  337. package/dist/views/Root/index.js +248 -270
  338. package/dist/views/Root/index.js.map +1 -1
  339. package/dist/views/Root/isPathMatchingRoute.js +21 -26
  340. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  341. package/dist/views/Root/metadata.js +176 -181
  342. package/dist/views/Root/metadata.js.map +1 -1
  343. package/dist/views/Unauthorized/index.js +54 -46
  344. package/dist/views/Unauthorized/index.js.map +1 -1
  345. package/dist/views/Unauthorized/index.scss +14 -0
  346. package/dist/views/Unauthorized/metadata.js +8 -12
  347. package/dist/views/Unauthorized/metadata.js.map +1 -1
  348. package/dist/views/Verify/index.client.js +25 -43
  349. package/dist/views/Verify/index.client.js.map +1 -1
  350. package/dist/views/Verify/index.js +69 -64
  351. package/dist/views/Verify/index.js.map +1 -1
  352. package/dist/views/Verify/index.scss +16 -0
  353. package/dist/views/Verify/metadata.js +8 -12
  354. package/dist/views/Verify/metadata.js.map +1 -1
  355. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  356. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  357. package/dist/views/Version/Default/SetStepNav.js +86 -127
  358. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  359. package/dist/views/Version/Default/index.js +380 -236
  360. package/dist/views/Version/Default/index.js.map +1 -1
  361. package/dist/views/Version/Default/index.scss +170 -0
  362. package/dist/views/Version/Default/types.js +2 -1
  363. package/dist/views/Version/Default/types.js.map +1 -1
  364. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
  365. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  366. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +81 -0
  367. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
  368. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  369. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
  370. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  371. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
  372. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  373. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
  374. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  375. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +12 -0
  376. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
  377. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  378. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +9 -0
  379. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
  380. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  381. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +59 -0
  382. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +56 -61
  383. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  384. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +223 -204
  385. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  386. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +91 -0
  387. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
  388. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  389. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
  390. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  391. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +4 -0
  392. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +132 -143
  393. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  394. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +9 -0
  395. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
  396. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  397. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +4 -0
  398. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +252 -211
  399. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  400. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +121 -0
  401. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
  402. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  403. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
  404. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  405. package/dist/views/Version/RenderFieldsToDiff/index.scss +24 -0
  406. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
  407. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  408. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
  409. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  410. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
  411. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  412. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
  413. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  414. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
  415. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  416. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
  417. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  418. package/dist/views/Version/Restore/index.js +117 -93
  419. package/dist/views/Version/Restore/index.js.map +1 -1
  420. package/dist/views/Version/Restore/index.scss +84 -0
  421. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
  422. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  423. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
  424. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  425. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
  426. package/dist/views/Version/SelectComparison/index.js +73 -50
  427. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  428. package/dist/views/Version/SelectComparison/index.scss +9 -0
  429. package/dist/views/Version/SelectComparison/types.js +2 -1
  430. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  431. package/dist/views/Version/SelectLocales/index.js +34 -32
  432. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  433. package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  434. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +107 -96
  435. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  436. package/dist/views/Version/VersionPillLabel/getVersionLabel.d.ts +3 -2
  437. package/dist/views/Version/VersionPillLabel/getVersionLabel.d.ts.map +1 -1
  438. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +30 -39
  439. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  440. package/dist/views/Version/VersionPillLabel/index.scss +26 -0
  441. package/dist/views/Version/fetchVersions.js +113 -138
  442. package/dist/views/Version/fetchVersions.js.map +1 -1
  443. package/dist/views/Version/index.d.ts.map +1 -1
  444. package/dist/views/Version/index.js +328 -323
  445. package/dist/views/Version/index.js.map +1 -1
  446. package/dist/views/Version/metadata.js +43 -50
  447. package/dist/views/Version/metadata.js.map +1 -1
  448. package/dist/views/Versions/buildColumns.js +95 -79
  449. package/dist/views/Versions/buildColumns.js.map +1 -1
  450. package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
  451. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  452. package/dist/views/Versions/cells/AutosaveCell/index.scss +9 -0
  453. package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
  454. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  455. package/dist/views/Versions/cells/ID/index.js +10 -8
  456. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  457. package/dist/views/Versions/index.client.js +106 -83
  458. package/dist/views/Versions/index.client.js.map +1 -1
  459. package/dist/views/Versions/index.js +164 -164
  460. package/dist/views/Versions/index.js.map +1 -1
  461. package/dist/views/Versions/index.scss +110 -0
  462. package/dist/views/Versions/metadata.js +37 -44
  463. package/dist/views/Versions/metadata.js.map +1 -1
  464. package/dist/views/Versions/types.js +2 -1
  465. package/dist/views/Versions/types.js.map +1 -1
  466. package/dist/withPayload/withPayload.js +232 -174
  467. package/dist/withPayload/withPayload.js.map +1 -1
  468. package/dist/withPayload/withPayload.spec.js +36 -35
  469. package/dist/withPayload/withPayload.spec.js.map +1 -1
  470. package/dist/withPayload/withPayload.utils.js +65 -73
  471. package/dist/withPayload/withPayload.utils.js.map +1 -1
  472. package/dist/withPayload/withPayloadLegacy.js +41 -40
  473. package/dist/withPayload/withPayloadLegacy.js.map +1 -1
  474. package/package.json +6 -6
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
2
  import { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider, LivePreviewProvider } from '@payloadcms/ui';
3
3
  import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
4
4
  import { handleLivePreview, handlePreview } from '@payloadcms/ui/rsc';
@@ -19,372 +19,334 @@ import { getIsLocked } from './getIsLocked.js';
19
19
  import { getMetaBySegment } from './getMetaBySegment.js';
20
20
  import { getVersions } from './getVersions.js';
21
21
  import { renderDocumentSlots } from './renderDocumentSlots.js';
22
- export const generateMetadata = async args => getMetaBySegment(args);
22
+ export const generateMetadata = async (args)=>getMetaBySegment(args);
23
23
  /**
24
24
  * This function is responsible for rendering
25
25
  * an Edit Document view on the server for both:
26
26
  * - default document edit views
27
27
  * - on-demand edit views within drawers
28
- */
29
- export const renderDocument = async ({
30
- disableActions,
31
- documentSubViewType,
32
- drawerSlug,
33
- importMap,
34
- initialData,
35
- initPageResult,
36
- overrideEntityVisibility,
37
- params,
38
- redirectAfterCreate,
39
- redirectAfterDelete,
40
- redirectAfterDuplicate,
41
- redirectAfterRestore,
42
- searchParams,
43
- versions,
44
- viewType
45
- }) => {
46
- const {
47
- collectionConfig,
48
- docID: idFromArgs,
49
- globalConfig,
50
- locale,
51
- permissions,
52
- req,
53
- req: {
54
- i18n,
55
- payload,
56
- payload: {
57
- config,
58
- config: {
59
- routes: {
60
- admin: adminRoute,
61
- api: apiRoute
62
- },
63
- serverURL
28
+ */ export const renderDocument = async ({ disableActions, documentSubViewType, drawerSlug, importMap, initialData, initPageResult, overrideEntityVisibility, params, redirectAfterCreate, redirectAfterDelete, redirectAfterDuplicate, redirectAfterRestore, searchParams, versions, viewType })=>{
29
+ const { collectionConfig, docID: idFromArgs, globalConfig, locale, permissions, req, req: { i18n, payload, payload: { config, config: { routes: { admin: adminRoute, api: apiRoute } } }, user }, visibleEntities } = initPageResult;
30
+ const segments = Array.isArray(params?.segments) ? params.segments : [];
31
+ const collectionSlug = collectionConfig?.slug || undefined;
32
+ const globalSlug = globalConfig?.slug || undefined;
33
+ let isEditing = getIsEditing({
34
+ id: idFromArgs,
35
+ collectionSlug,
36
+ globalSlug
37
+ });
38
+ // Fetch the doc required for the view
39
+ let doc = !idFromArgs && !globalSlug ? initialData || null : await getDocumentData({
40
+ id: idFromArgs,
41
+ collectionSlug,
42
+ globalSlug,
43
+ locale,
44
+ payload,
45
+ req,
46
+ segments,
47
+ user
48
+ });
49
+ if (isEditing && !doc) {
50
+ // If it's a collection document that doesn't exist, redirect to collection list
51
+ if (collectionSlug) {
52
+ const redirectURL = formatAdminURL({
53
+ adminRoute,
54
+ path: `/collections/${collectionSlug}?notFound=${encodeURIComponent(idFromArgs)}`
55
+ });
56
+ redirect(redirectURL);
57
+ } else {
58
+ // For globals or other cases, keep the 404 behavior
59
+ throw new Error('not-found');
64
60
  }
65
- },
66
- user
67
- },
68
- visibleEntities
69
- } = initPageResult;
70
- const segments = Array.isArray(params?.segments) ? params.segments : [];
71
- const collectionSlug = collectionConfig?.slug || undefined;
72
- const globalSlug = globalConfig?.slug || undefined;
73
- let isEditing = getIsEditing({
74
- id: idFromArgs,
75
- collectionSlug,
76
- globalSlug
77
- });
78
- // Fetch the doc required for the view
79
- let doc = !idFromArgs && !globalSlug ? initialData || null : await getDocumentData({
80
- id: idFromArgs,
81
- collectionSlug,
82
- globalSlug,
83
- locale,
84
- payload,
85
- req,
86
- segments,
87
- user
88
- });
89
- if (isEditing && !doc) {
90
- // If it's a collection document that doesn't exist, redirect to collection list
91
- if (collectionSlug) {
92
- const redirectURL = formatAdminURL({
93
- adminRoute,
94
- path: `/collections/${collectionSlug}?notFound=${encodeURIComponent(idFromArgs)}`
95
- });
96
- redirect(redirectURL);
97
- } else {
98
- // For globals or other cases, keep the 404 behavior
99
- throw new Error('not-found');
100
61
  }
101
- }
102
- const isTrashedDoc = Boolean(doc && 'deletedAt' in doc && typeof doc?.deletedAt === 'string');
103
- // CRITICAL FIX FOR TRANSACTION RACE CONDITION:
104
- // When running parallel operations with Promise.all, if they share the same req object
105
- // and one operation calls initTransaction() which MUTATES req.transactionID, that mutation
106
- // is visible to all parallel operations. This causes:
107
- // 1. Operation A (e.g., getDocumentPermissions docAccessOperation) calls initTransaction()
108
- // which sets req.transactionID = Promise, then resolves it to a UUID
109
- // 2. Operation B (e.g., getIsLocked) running in parallel receives the SAME req with the mutated transactionID
110
- // 3. Operation A (does not even know that Operation B even exists and is stil using the transactionID) commits/ends its transaction
111
- // 4. Operation B tries to use the now-expired session → MongoExpiredSessionError!
112
- //
113
- // Solution: Use isolateObjectProperty to create a Proxy that isolates the 'transactionID' property.
114
- // This allows each operation to have its own transactionID without affecting the parent req.
115
- // If parent req already has a transaction, preserve it (don't isolate), since this
116
- // issue only arises when one of the operations calls initTransaction() themselves -
117
- // because then, that operation will also try to commit/end the transaction itself.
118
- // If the transactionID is already set, the parallel operations will not try to
119
- // commit/end the transaction themselves, so we don't need to isolate the
120
- // transactionID property.
121
- const reqForPermissions = req.transactionID ? req : isolateObjectProperty(req, 'transactionID');
122
- const reqForLockCheck = req.transactionID ? req : isolateObjectProperty(req, 'transactionID');
123
- const [docPreferences, {
124
- docPermissions,
125
- hasPublishPermission,
126
- hasSavePermission
127
- }, {
128
- currentEditor,
129
- isLocked,
130
- lastUpdateTime
131
- }, entityPreferences] = await Promise.all([
132
- // Get document preferences
133
- getDocPreferences({
134
- id: idFromArgs,
135
- collectionSlug,
136
- globalSlug,
137
- payload,
138
- user
139
- }),
140
- // Get permissions - isolated transactionID prevents cross-contamination
141
- getDocumentPermissions({
142
- id: idFromArgs,
143
- collectionConfig,
144
- data: doc,
145
- globalConfig,
146
- req: reqForPermissions
147
- }),
148
- // Fetch document lock state - isolated transactionID prevents cross-contamination
149
- getIsLocked({
150
- id: idFromArgs,
151
- collectionConfig,
152
- globalConfig,
153
- isEditing,
154
- req: reqForLockCheck
155
- }),
156
- // get entity preferences
157
- getPreferences(collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`, payload, req.user.id, req.user.collection)]);
158
- const operation = collectionSlug && idFromArgs || globalSlug ? 'update' : 'create';
159
- const [{
160
- hasPublishedDoc,
161
- mostRecentVersionIsAutosaved,
162
- unpublishedVersionCount,
163
- versionCount
164
- }, {
165
- state: formState
166
- }] = await Promise.all([getVersions({
167
- id: idFromArgs,
168
- collectionConfig,
169
- doc,
170
- docPermissions,
171
- globalConfig,
172
- locale: locale?.code,
173
- payload,
174
- user
175
- }), buildFormState({
176
- id: idFromArgs,
177
- collectionSlug,
178
- data: doc,
179
- docPermissions,
180
- docPreferences,
181
- fallbackLocale: false,
182
- globalSlug,
183
- locale: locale?.code,
184
- operation,
185
- readOnly: isTrashedDoc || isLocked,
186
- renderAllFields: true,
187
- req,
188
- schemaPath: collectionSlug || globalSlug,
189
- skipValidation: true
190
- })]);
191
- const documentViewServerProps = {
192
- doc,
193
- hasPublishedDoc,
194
- i18n,
195
- initPageResult,
196
- locale,
197
- params,
198
- payload,
199
- permissions,
200
- routeSegments: segments,
201
- searchParams,
202
- user,
203
- versions
204
- };
205
- if (!overrideEntityVisibility && (collectionSlug && !visibleEntities?.collections?.find(visibleSlug => visibleSlug === collectionSlug) || globalSlug && !visibleEntities?.globals?.find(visibleSlug => visibleSlug === globalSlug))) {
206
- throw new Error('not-found');
207
- }
208
- const formattedParams = new URLSearchParams();
209
- if (hasDraftsEnabled(collectionConfig || globalConfig)) {
210
- formattedParams.append('draft', 'true');
211
- }
212
- if (locale?.code) {
213
- formattedParams.append('locale', locale.code);
214
- }
215
- const apiQueryParams = `?${formattedParams.toString()}`;
216
- const apiURL = formatAdminURL({
217
- apiRoute,
218
- path: collectionSlug ? `/${collectionSlug}/${idFromArgs}${apiQueryParams}` : globalSlug ? `/${globalSlug}${apiQueryParams}` : ''
219
- });
220
- let View = null;
221
- let showHeader = true;
222
- const RootViewOverride = collectionConfig?.admin?.components?.views?.edit?.root && 'Component' in collectionConfig.admin.components.views.edit.root ? collectionConfig?.admin?.components?.views?.edit?.root?.Component : globalConfig?.admin?.components?.views?.edit?.root && 'Component' in globalConfig.admin.components.views.edit.root ? globalConfig?.admin?.components?.views?.edit?.root?.Component : null;
223
- if (RootViewOverride) {
224
- View = RootViewOverride;
225
- showHeader = false;
226
- } else {
227
- ({
228
- View
229
- } = getDocumentView({
230
- collectionConfig,
231
- config,
232
- docPermissions,
233
- globalConfig,
234
- routeSegments: segments
235
- }));
236
- }
237
- if (!View) {
238
- View = NotFoundView;
239
- }
240
- /**
241
- * Handle case where autoSave is enabled and the document is being created
242
- * => create document and redirect
243
- */
244
- const shouldAutosave = hasSavePermission && hasAutosaveEnabled(collectionConfig || globalConfig);
245
- const validateDraftData = collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate;
246
- let id = idFromArgs;
247
- if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {
248
- doc = await payload.create({
249
- collection: collectionSlug,
250
- data: initialData || {},
251
- depth: 0,
252
- draft: true,
253
- fallbackLocale: false,
254
- locale: locale?.code,
255
- req,
256
- user
62
+ const isTrashedDoc = Boolean(doc && 'deletedAt' in doc && typeof doc?.deletedAt === 'string');
63
+ // CRITICAL FIX FOR TRANSACTION RACE CONDITION:
64
+ // When running parallel operations with Promise.all, if they share the same req object
65
+ // and one operation calls initTransaction() which MUTATES req.transactionID, that mutation
66
+ // is visible to all parallel operations. This causes:
67
+ // 1. Operation A (e.g., getDocumentPermissions docAccessOperation) calls initTransaction()
68
+ // which sets req.transactionID = Promise, then resolves it to a UUID
69
+ // 2. Operation B (e.g., getIsLocked) running in parallel receives the SAME req with the mutated transactionID
70
+ // 3. Operation A (does not even know that Operation B even exists and is stil using the transactionID) commits/ends its transaction
71
+ // 4. Operation B tries to use the now-expired session MongoExpiredSessionError!
72
+ //
73
+ // Solution: Use isolateObjectProperty to create a Proxy that isolates the 'transactionID' property.
74
+ // This allows each operation to have its own transactionID without affecting the parent req.
75
+ // If parent req already has a transaction, preserve it (don't isolate), since this
76
+ // issue only arises when one of the operations calls initTransaction() themselves -
77
+ // because then, that operation will also try to commit/end the transaction itself.
78
+ // If the transactionID is already set, the parallel operations will not try to
79
+ // commit/end the transaction themselves, so we don't need to isolate the
80
+ // transactionID property.
81
+ const reqForPermissions = req.transactionID ? req : isolateObjectProperty(req, 'transactionID');
82
+ const reqForLockCheck = req.transactionID ? req : isolateObjectProperty(req, 'transactionID');
83
+ const [docPreferences, { docPermissions, hasPublishPermission, hasSavePermission }, { currentEditor, isLocked, lastUpdateTime }, entityPreferences] = await Promise.all([
84
+ // Get document preferences
85
+ getDocPreferences({
86
+ id: idFromArgs,
87
+ collectionSlug,
88
+ globalSlug,
89
+ payload,
90
+ user
91
+ }),
92
+ // Get permissions - isolated transactionID prevents cross-contamination
93
+ getDocumentPermissions({
94
+ id: idFromArgs,
95
+ collectionConfig,
96
+ data: doc,
97
+ globalConfig,
98
+ req: reqForPermissions
99
+ }),
100
+ // Fetch document lock state - isolated transactionID prevents cross-contamination
101
+ getIsLocked({
102
+ id: idFromArgs,
103
+ collectionConfig,
104
+ globalConfig,
105
+ isEditing,
106
+ req: reqForLockCheck
107
+ }),
108
+ // get entity preferences
109
+ getPreferences(collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`, payload, req.user.id, req.user.collection)
110
+ ]);
111
+ const operation = collectionSlug && idFromArgs || globalSlug ? 'update' : 'create';
112
+ const [{ hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount }, { state: formState }] = await Promise.all([
113
+ getVersions({
114
+ id: idFromArgs,
115
+ collectionConfig,
116
+ doc,
117
+ docPermissions,
118
+ globalConfig,
119
+ locale: locale?.code,
120
+ payload,
121
+ user
122
+ }),
123
+ buildFormState({
124
+ id: idFromArgs,
125
+ collectionSlug,
126
+ data: doc,
127
+ docPermissions,
128
+ docPreferences,
129
+ fallbackLocale: false,
130
+ globalSlug,
131
+ locale: locale?.code,
132
+ operation,
133
+ readOnly: isTrashedDoc || isLocked,
134
+ renderAllFields: true,
135
+ req,
136
+ schemaPath: collectionSlug || globalSlug,
137
+ skipValidation: true
138
+ })
139
+ ]);
140
+ const documentViewServerProps = {
141
+ doc,
142
+ hasPublishedDoc,
143
+ i18n,
144
+ initPageResult,
145
+ locale,
146
+ params,
147
+ payload,
148
+ permissions,
149
+ routeSegments: segments,
150
+ searchParams,
151
+ user,
152
+ versions
153
+ };
154
+ if (!overrideEntityVisibility && (collectionSlug && !visibleEntities?.collections?.find((visibleSlug)=>visibleSlug === collectionSlug) || globalSlug && !visibleEntities?.globals?.find((visibleSlug)=>visibleSlug === globalSlug))) {
155
+ throw new Error('not-found');
156
+ }
157
+ const formattedParams = new URLSearchParams();
158
+ if (hasDraftsEnabled(collectionConfig || globalConfig)) {
159
+ formattedParams.append('draft', 'true');
160
+ }
161
+ if (locale?.code) {
162
+ formattedParams.append('locale', locale.code);
163
+ }
164
+ const apiQueryParams = `?${formattedParams.toString()}`;
165
+ const apiURL = formatAdminURL({
166
+ apiRoute,
167
+ path: collectionSlug ? `/${collectionSlug}/${idFromArgs}${apiQueryParams}` : globalSlug ? `/${globalSlug}${apiQueryParams}` : ''
257
168
  });
258
- if (doc?.id) {
259
- id = doc.id;
260
- isEditing = getIsEditing({
261
- id: doc.id,
262
- collectionSlug,
263
- globalSlug
264
- });
265
- if (!drawerSlug && redirectAfterCreate !== false) {
266
- const redirectURL = formatAdminURL({
267
- adminRoute,
268
- path: `/collections/${collectionSlug}/${doc.id}`
269
- });
270
- redirect(redirectURL);
271
- }
169
+ let View = null;
170
+ let showHeader = true;
171
+ const RootViewOverride = collectionConfig?.admin?.components?.views?.edit?.root && 'Component' in collectionConfig.admin.components.views.edit.root ? collectionConfig?.admin?.components?.views?.edit?.root?.Component : globalConfig?.admin?.components?.views?.edit?.root && 'Component' in globalConfig.admin.components.views.edit.root ? globalConfig?.admin?.components?.views?.edit?.root?.Component : null;
172
+ if (RootViewOverride) {
173
+ View = RootViewOverride;
174
+ showHeader = false;
272
175
  } else {
273
- throw new Error('not-found');
176
+ ;
177
+ ({ View } = getDocumentView({
178
+ collectionConfig,
179
+ config,
180
+ docPermissions,
181
+ globalConfig,
182
+ routeSegments: segments
183
+ }));
274
184
  }
275
- }
276
- const documentSlots = renderDocumentSlots({
277
- id,
278
- collectionConfig,
279
- globalConfig,
280
- hasSavePermission,
281
- permissions: docPermissions,
282
- req
283
- });
284
- // Extract Description from documentSlots to pass to DocumentHeader
285
- const {
286
- Description
287
- } = documentSlots;
288
- const clientProps = {
289
- formState,
290
- ...documentSlots,
291
- documentSubViewType,
292
- viewType
293
- };
294
- const {
295
- isLivePreviewEnabled,
296
- livePreviewConfig,
297
- livePreviewURL
298
- } = await handleLivePreview({
299
- collectionSlug,
300
- config,
301
- data: doc,
302
- globalSlug,
303
- operation,
304
- req
305
- });
306
- const {
307
- isPreviewEnabled,
308
- previewURL
309
- } = await handlePreview({
310
- collectionSlug,
311
- config,
312
- data: doc,
313
- globalSlug,
314
- operation,
315
- req
316
- });
317
- return {
318
- data: doc,
319
- Document: /*#__PURE__*/_jsx(DocumentInfoProvider, {
320
- apiURL: apiURL,
321
- collectionSlug: collectionConfig?.slug,
322
- currentEditor: currentEditor,
323
- disableActions: disableActions ?? false,
324
- docPermissions: docPermissions,
325
- globalSlug: globalConfig?.slug,
326
- hasPublishedDoc: hasPublishedDoc,
327
- hasPublishPermission: hasPublishPermission,
328
- hasSavePermission: hasSavePermission,
329
- id: id,
330
- initialData: doc,
331
- initialState: formState,
332
- isEditing: isEditing,
333
- isLocked: isLocked,
334
- isTrashed: isTrashedDoc,
335
- lastUpdateTime: lastUpdateTime,
336
- mostRecentVersionIsAutosaved: mostRecentVersionIsAutosaved,
337
- redirectAfterCreate: redirectAfterCreate,
338
- redirectAfterDelete: redirectAfterDelete,
339
- redirectAfterDuplicate: redirectAfterDuplicate,
340
- redirectAfterRestore: redirectAfterRestore,
341
- unpublishedVersionCount: unpublishedVersionCount,
342
- versionCount: versionCount,
343
- children: /*#__PURE__*/_jsxs(LivePreviewProvider, {
344
- breakpoints: livePreviewConfig?.breakpoints,
345
- isLivePreviewEnabled: isLivePreviewEnabled && operation !== 'create',
346
- isLivePreviewing: Boolean(entityPreferences?.value?.editViewType === 'live-preview' && livePreviewURL),
347
- isPreviewEnabled: Boolean(isPreviewEnabled),
348
- previewURL: previewURL,
349
- typeofLivePreviewURL: typeof livePreviewConfig?.url,
350
- url: livePreviewURL,
351
- children: [showHeader && !drawerSlug && /*#__PURE__*/_jsx(DocumentHeader, {
352
- AfterHeader: Description,
353
- collectionConfig: collectionConfig,
354
- globalConfig: globalConfig,
355
- permissions: permissions,
356
- req: req
357
- }), /*#__PURE__*/_jsx(HydrateAuthProvider, {
358
- permissions: permissions
359
- }), /*#__PURE__*/_jsx(EditDepthProvider, {
360
- children: RenderServerComponent({
361
- clientProps,
362
- Component: View,
363
- importMap,
364
- serverProps: documentViewServerProps
365
- })
366
- })]
367
- })
368
- }, locale?.code)
369
- };
370
- };
371
- export async function DocumentView(props) {
372
- try {
373
- const {
374
- Document: RenderedDocument
375
- } = await renderDocument(props);
376
- return RenderedDocument;
377
- } catch (error) {
378
- if (error?.message === 'NEXT_REDIRECT') {
379
- throw error;
185
+ if (!View) {
186
+ View = NotFoundView;
380
187
  }
381
- logError({
382
- err: error,
383
- payload: props.initPageResult.req.payload
188
+ /**
189
+ * Handle case where autoSave is enabled and the document is being created
190
+ * => create document and redirect
191
+ */ const shouldAutosave = hasSavePermission && hasAutosaveEnabled(collectionConfig || globalConfig);
192
+ const validateDraftData = collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate;
193
+ let id = idFromArgs;
194
+ if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {
195
+ doc = await payload.create({
196
+ collection: collectionSlug,
197
+ data: initialData || {},
198
+ depth: 0,
199
+ draft: true,
200
+ fallbackLocale: false,
201
+ locale: locale?.code,
202
+ req,
203
+ user
204
+ });
205
+ if (doc?.id) {
206
+ id = doc.id;
207
+ isEditing = getIsEditing({
208
+ id: doc.id,
209
+ collectionSlug,
210
+ globalSlug
211
+ });
212
+ if (!drawerSlug && redirectAfterCreate !== false) {
213
+ const redirectURL = formatAdminURL({
214
+ adminRoute,
215
+ path: `/collections/${collectionSlug}/${doc.id}`
216
+ });
217
+ redirect(redirectURL);
218
+ }
219
+ } else {
220
+ throw new Error('not-found');
221
+ }
222
+ }
223
+ const documentSlots = renderDocumentSlots({
224
+ id,
225
+ collectionConfig,
226
+ globalConfig,
227
+ hasSavePermission,
228
+ locale,
229
+ permissions,
230
+ req
231
+ });
232
+ // Extract Description from documentSlots to pass to DocumentHeader
233
+ const { Description } = documentSlots;
234
+ const clientProps = {
235
+ formState,
236
+ ...documentSlots,
237
+ documentSubViewType,
238
+ viewType
239
+ };
240
+ const { isLivePreviewEnabled, livePreviewConfig, livePreviewURL } = await handleLivePreview({
241
+ collectionSlug,
242
+ config,
243
+ data: doc,
244
+ globalSlug,
245
+ operation,
246
+ req
247
+ });
248
+ const { isPreviewEnabled, previewURL } = await handlePreview({
249
+ collectionSlug,
250
+ config,
251
+ data: doc,
252
+ globalSlug,
253
+ operation,
254
+ req
384
255
  });
385
- if (error.message === 'not-found') {
386
- notFound();
256
+ return {
257
+ data: doc,
258
+ Document: /*#__PURE__*/ _jsxDEV(DocumentInfoProvider, {
259
+ apiURL: apiURL,
260
+ collectionSlug: collectionConfig?.slug,
261
+ currentEditor: currentEditor,
262
+ disableActions: disableActions ?? false,
263
+ docPermissions: docPermissions,
264
+ globalSlug: globalConfig?.slug,
265
+ hasPublishedDoc: hasPublishedDoc,
266
+ hasPublishPermission: hasPublishPermission,
267
+ hasSavePermission: hasSavePermission,
268
+ id: id,
269
+ initialData: doc,
270
+ initialState: formState,
271
+ isEditing: isEditing,
272
+ isLocked: isLocked,
273
+ isTrashed: isTrashedDoc,
274
+ lastUpdateTime: lastUpdateTime,
275
+ mostRecentVersionIsAutosaved: mostRecentVersionIsAutosaved,
276
+ redirectAfterCreate: redirectAfterCreate,
277
+ redirectAfterDelete: redirectAfterDelete,
278
+ redirectAfterDuplicate: redirectAfterDuplicate,
279
+ redirectAfterRestore: redirectAfterRestore,
280
+ unpublishedVersionCount: unpublishedVersionCount,
281
+ versionCount: versionCount,
282
+ children: /*#__PURE__*/ _jsxDEV(LivePreviewProvider, {
283
+ breakpoints: livePreviewConfig?.breakpoints,
284
+ isLivePreviewEnabled: isLivePreviewEnabled && operation !== 'create',
285
+ isLivePreviewing: Boolean(entityPreferences?.value?.editViewType === 'live-preview' && livePreviewURL),
286
+ isPreviewEnabled: Boolean(isPreviewEnabled),
287
+ previewURL: previewURL,
288
+ typeofLivePreviewURL: typeof livePreviewConfig?.url,
289
+ url: livePreviewURL,
290
+ children: [
291
+ showHeader && !drawerSlug && /*#__PURE__*/ _jsxDEV(DocumentHeader, {
292
+ AfterHeader: Description,
293
+ collectionConfig: collectionConfig,
294
+ globalConfig: globalConfig,
295
+ permissions: permissions,
296
+ req: req
297
+ }, void 0, false, {
298
+ fileName: "src/views/Document/index.tsx",
299
+ lineNumber: 433,
300
+ columnNumber: 13
301
+ }, this),
302
+ /*#__PURE__*/ _jsxDEV(HydrateAuthProvider, {
303
+ permissions: permissions
304
+ }, void 0, false, {
305
+ fileName: "src/views/Document/index.tsx",
306
+ lineNumber: 441,
307
+ columnNumber: 11
308
+ }, this),
309
+ /*#__PURE__*/ _jsxDEV(EditDepthProvider, {
310
+ children: RenderServerComponent({
311
+ clientProps,
312
+ Component: View,
313
+ importMap,
314
+ serverProps: documentViewServerProps
315
+ })
316
+ }, void 0, false, {
317
+ fileName: "src/views/Document/index.tsx",
318
+ lineNumber: 442,
319
+ columnNumber: 11
320
+ }, this)
321
+ ]
322
+ }, void 0, true, {
323
+ fileName: "src/views/Document/index.tsx",
324
+ lineNumber: 421,
325
+ columnNumber: 9
326
+ }, this)
327
+ }, locale?.code, false, {
328
+ fileName: "src/views/Document/index.tsx",
329
+ lineNumber: 395,
330
+ columnNumber: 7
331
+ }, this)
332
+ };
333
+ };
334
+ export async function DocumentView(props) {
335
+ try {
336
+ const { Document: RenderedDocument } = await renderDocument(props);
337
+ return RenderedDocument;
338
+ } catch (error) {
339
+ if (error?.message === 'NEXT_REDIRECT') {
340
+ throw error;
341
+ }
342
+ logError({
343
+ err: error,
344
+ payload: props.initPageResult.req.payload
345
+ });
346
+ if (error.message === 'not-found') {
347
+ notFound();
348
+ }
387
349
  }
388
- }
389
350
  }
351
+
390
352
  //# sourceMappingURL=index.js.map