@payloadcms/next 3.80.0-internal-debug.7019cc9 → 3.80.0-internal.0311fce

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