@payloadcms/next 3.77.0 → 3.78.0-internal-debug.f663370

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 (448) hide show
  1. package/dist/auth/login.js +52 -58
  2. package/dist/auth/login.js.map +1 -1
  3. package/dist/auth/logout.js +39 -44
  4. package/dist/auth/logout.js.map +1 -1
  5. package/dist/auth/refresh.js +45 -47
  6. package/dist/auth/refresh.js.map +1 -1
  7. package/dist/cjs/withPayload.cjs +65 -24
  8. package/dist/cjs/withPayload.cjs.map +2 -2
  9. package/dist/config.js +1 -0
  10. package/dist/config.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +9 -15
  12. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +40 -71
  14. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +65 -59
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +38 -0
  18. package/dist/elements/DocumentHeader/Tabs/index.js +80 -70
  19. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/index.scss +54 -0
  21. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -23
  22. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +10 -0
  24. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +61 -69
  25. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  26. package/dist/elements/DocumentHeader/index.js +48 -28
  27. package/dist/elements/DocumentHeader/index.js.map +1 -1
  28. package/dist/elements/DocumentHeader/index.scss +64 -0
  29. package/dist/elements/FormHeader/index.js +30 -16
  30. package/dist/elements/FormHeader/index.js.map +1 -1
  31. package/dist/elements/FormHeader/index.scss +8 -0
  32. package/dist/elements/Logo/index.js +19 -34
  33. package/dist/elements/Logo/index.js.map +1 -1
  34. package/dist/elements/Nav/NavHamburger/index.js +23 -44
  35. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  36. package/dist/elements/Nav/NavWrapper/index.js +28 -54
  37. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  38. package/dist/elements/Nav/NavWrapper/index.scss +27 -0
  39. package/dist/elements/Nav/SettingsMenuButton/index.js +33 -39
  40. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  41. package/dist/elements/Nav/SettingsMenuButton/index.scss +11 -0
  42. package/dist/elements/Nav/getNavPrefs.js +27 -22
  43. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  44. package/dist/elements/Nav/index.client.js +97 -118
  45. package/dist/elements/Nav/index.client.js.map +1 -1
  46. package/dist/elements/Nav/index.js +191 -170
  47. package/dist/elements/Nav/index.js.map +1 -1
  48. package/dist/elements/Nav/index.scss +173 -0
  49. package/dist/esbuildEntry.d.ts +5 -0
  50. package/dist/esbuildEntry.d.ts.map +1 -0
  51. package/dist/esbuildEntry.js +6 -0
  52. package/dist/esbuildEntry.js.map +1 -0
  53. package/dist/exports/auth.js +1 -0
  54. package/dist/exports/auth.js.map +1 -1
  55. package/dist/exports/client.js +1 -1
  56. package/dist/exports/client.js.map +1 -1
  57. package/dist/exports/layouts.js +1 -0
  58. package/dist/exports/layouts.js.map +1 -1
  59. package/dist/exports/routes.js +1 -0
  60. package/dist/exports/routes.js.map +1 -1
  61. package/dist/exports/rsc.js +1 -0
  62. package/dist/exports/rsc.js.map +1 -1
  63. package/dist/exports/templates.js +1 -0
  64. package/dist/exports/templates.js.map +1 -1
  65. package/dist/exports/utilities.js +7 -12
  66. package/dist/exports/utilities.js.map +1 -1
  67. package/dist/exports/views.js +1 -0
  68. package/dist/exports/views.js.map +1 -1
  69. package/dist/index.js +1 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/layouts/Root/NestProviders.js +21 -20
  72. package/dist/layouts/Root/NestProviders.js.map +1 -1
  73. package/dist/layouts/Root/checkDependencies.js +49 -41
  74. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  75. package/dist/layouts/Root/index.js +128 -103
  76. package/dist/layouts/Root/index.js.map +1 -1
  77. package/dist/prod/styles.css +5 -1
  78. package/dist/routes/graphql/handler.js +114 -122
  79. package/dist/routes/graphql/handler.js.map +1 -1
  80. package/dist/routes/graphql/index.js +1 -0
  81. package/dist/routes/graphql/index.js.map +1 -1
  82. package/dist/routes/graphql/playground.js +28 -27
  83. package/dist/routes/graphql/playground.js.map +1 -1
  84. package/dist/routes/index.js +1 -0
  85. package/dist/routes/index.js.map +1 -1
  86. package/dist/routes/rest/index.js +23 -22
  87. package/dist/routes/rest/index.js.map +1 -1
  88. package/dist/routes/rest/og/image.js +103 -79
  89. package/dist/routes/rest/og/image.js.map +1 -1
  90. package/dist/routes/rest/og/index.js +59 -54
  91. package/dist/routes/rest/og/index.js.map +1 -1
  92. package/dist/templates/Default/NavHamburger/index.js +12 -20
  93. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  94. package/dist/templates/Default/Wrapper/index.js +20 -44
  95. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  96. package/dist/templates/Default/Wrapper/index.scss +58 -0
  97. package/dist/templates/Default/index.js +147 -116
  98. package/dist/templates/Default/index.js.map +1 -1
  99. package/dist/templates/Default/index.scss +79 -0
  100. package/dist/templates/Minimal/index.js +26 -17
  101. package/dist/templates/Minimal/index.js.map +1 -1
  102. package/dist/templates/Minimal/index.scss +30 -0
  103. package/dist/utilities/getExistingAuthToken.js +3 -2
  104. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  105. package/dist/utilities/getNextRequestI18n.js +12 -13
  106. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  107. package/dist/utilities/getPayloadHMR.js +5 -5
  108. package/dist/utilities/getPayloadHMR.js.map +1 -1
  109. package/dist/utilities/getPreferences.js +27 -22
  110. package/dist/utilities/getPreferences.js.map +1 -1
  111. package/dist/utilities/getRequestLocale.js +13 -14
  112. package/dist/utilities/getRequestLocale.js.map +1 -1
  113. package/dist/utilities/getRequestTheme.js +19 -19
  114. package/dist/utilities/getRequestTheme.js.map +1 -1
  115. package/dist/utilities/getRouteWithoutAdmin.js +3 -5
  116. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  117. package/dist/utilities/handleAuthRedirect.js +22 -36
  118. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  119. package/dist/utilities/handleServerFunctions.js +33 -43
  120. package/dist/utilities/handleServerFunctions.js.map +1 -1
  121. package/dist/utilities/initReq.js +78 -96
  122. package/dist/utilities/initReq.js.map +1 -1
  123. package/dist/utilities/isCustomAdminView.js +22 -26
  124. package/dist/utilities/isCustomAdminView.js.map +1 -1
  125. package/dist/utilities/isPublicAdminRoute.js +26 -20
  126. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  127. package/dist/utilities/meta.js +68 -63
  128. package/dist/utilities/meta.js.map +1 -1
  129. package/dist/utilities/selectiveCache.js +25 -26
  130. package/dist/utilities/selectiveCache.js.map +1 -1
  131. package/dist/utilities/setPayloadAuthCookie.js +19 -22
  132. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  133. package/dist/utilities/slugify.js +24 -33
  134. package/dist/utilities/slugify.js.map +1 -1
  135. package/dist/utilities/timestamp.js +7 -6
  136. package/dist/utilities/timestamp.js.map +1 -1
  137. package/dist/views/API/LocaleSelector/index.js +17 -39
  138. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  139. package/dist/views/API/RenderJSON/index.js +171 -126
  140. package/dist/views/API/RenderJSON/index.js.map +1 -1
  141. package/dist/views/API/RenderJSON/index.scss +129 -0
  142. package/dist/views/API/index.client.js +291 -199
  143. package/dist/views/API/index.client.js.map +1 -1
  144. package/dist/views/API/index.js +7 -2
  145. package/dist/views/API/index.js.map +1 -1
  146. package/dist/views/API/index.scss +119 -0
  147. package/dist/views/API/metadata.js +18 -23
  148. package/dist/views/API/metadata.js.map +1 -1
  149. package/dist/views/Account/ResetPreferences/index.js +78 -102
  150. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  151. package/dist/views/Account/Settings/LanguageSelector.js +18 -47
  152. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  153. package/dist/views/Account/Settings/index.js +60 -25
  154. package/dist/views/Account/Settings/index.js.map +1 -1
  155. package/dist/views/Account/Settings/index.scss +48 -0
  156. package/dist/views/Account/ToggleTheme/index.js +38 -55
  157. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  158. package/dist/views/Account/index.client.js +16 -32
  159. package/dist/views/Account/index.client.js.map +1 -1
  160. package/dist/views/Account/index.js +147 -158
  161. package/dist/views/Account/index.js.map +1 -1
  162. package/dist/views/Account/metadata.js +8 -12
  163. package/dist/views/Account/metadata.js.map +1 -1
  164. package/dist/views/BrowseByFolder/buildView.js +138 -157
  165. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  166. package/dist/views/BrowseByFolder/index.js +16 -16
  167. package/dist/views/BrowseByFolder/index.js.map +1 -1
  168. package/dist/views/BrowseByFolder/metadata.js +13 -15
  169. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  170. package/dist/views/CollectionFolders/buildView.js +122 -142
  171. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  172. package/dist/views/CollectionFolders/index.js +16 -16
  173. package/dist/views/CollectionFolders/index.js.map +1 -1
  174. package/dist/views/CollectionFolders/metadata.js +18 -21
  175. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  176. package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
  177. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  178. package/dist/views/CollectionTrash/index.js +17 -17
  179. package/dist/views/CollectionTrash/index.js.map +1 -1
  180. package/dist/views/CollectionTrash/metadata.js +18 -21
  181. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  182. package/dist/views/CreateFirstUser/index.client.js +117 -103
  183. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  184. package/dist/views/CreateFirstUser/index.js +87 -81
  185. package/dist/views/CreateFirstUser/index.js.map +1 -1
  186. package/dist/views/CreateFirstUser/index.scss +21 -0
  187. package/dist/views/CreateFirstUser/metadata.js +8 -12
  188. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  189. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +151 -174
  190. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  191. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +423 -405
  192. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  193. package/dist/views/Dashboard/Default/ModularDashboard/index.js +75 -81
  194. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  195. package/dist/views/Dashboard/Default/ModularDashboard/index.scss +316 -0
  196. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +62 -89
  197. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  198. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +43 -53
  199. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  200. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +67 -71
  201. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  202. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +173 -153
  203. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  204. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +31 -30
  205. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
  206. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +223 -229
  207. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  208. package/dist/views/Dashboard/Default/index.js +59 -45
  209. package/dist/views/Dashboard/Default/index.js.map +1 -1
  210. package/dist/views/Dashboard/index.js +46 -42
  211. package/dist/views/Dashboard/index.js.map +1 -1
  212. package/dist/views/Dashboard/metadata.js +10 -14
  213. package/dist/views/Dashboard/metadata.js.map +1 -1
  214. package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
  215. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  216. package/dist/views/Document/getCustomViewByRoute.js +27 -30
  217. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  218. package/dist/views/Document/getDocPreferences.js +40 -41
  219. package/dist/views/Document/getDocPreferences.js.map +1 -1
  220. package/dist/views/Document/getDocumentData.js +44 -55
  221. package/dist/views/Document/getDocumentData.js.map +1 -1
  222. package/dist/views/Document/getDocumentPermissions.js +77 -80
  223. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  224. package/dist/views/Document/getDocumentView.js +313 -283
  225. package/dist/views/Document/getDocumentView.js.map +1 -1
  226. package/dist/views/Document/getIsLocked.js +73 -73
  227. package/dist/views/Document/getIsLocked.js.map +1 -1
  228. package/dist/views/Document/getMetaBySegment.js +130 -136
  229. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  230. package/dist/views/Document/getVersions.js +220 -213
  231. package/dist/views/Document/getVersions.js.map +1 -1
  232. package/dist/views/Document/handleServerFunction.js +100 -127
  233. package/dist/views/Document/handleServerFunction.js.map +1 -1
  234. package/dist/views/Document/index.js +317 -355
  235. package/dist/views/Document/index.js.map +1 -1
  236. package/dist/views/Document/metadata.js +2 -1
  237. package/dist/views/Document/metadata.js.map +1 -1
  238. package/dist/views/Document/renderDocumentSlots.js +141 -155
  239. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  240. package/dist/views/Edit/index.js +10 -6
  241. package/dist/views/Edit/index.js.map +1 -1
  242. package/dist/views/Edit/metadata.js +36 -46
  243. package/dist/views/Edit/metadata.js.map +1 -1
  244. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
  245. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  246. package/dist/views/ForgotPassword/index.js +79 -62
  247. package/dist/views/ForgotPassword/index.js.map +1 -1
  248. package/dist/views/ForgotPassword/metadata.js +8 -12
  249. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  250. package/dist/views/List/createSerializableValue.js +12 -11
  251. package/dist/views/List/createSerializableValue.js.map +1 -1
  252. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  253. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  254. package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
  255. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  256. package/dist/views/List/extractValueOrRelationshipID.js +16 -15
  257. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  258. package/dist/views/List/handleGroupBy.js +133 -150
  259. package/dist/views/List/handleGroupBy.js.map +1 -1
  260. package/dist/views/List/handleServerFunction.js +96 -122
  261. package/dist/views/List/handleServerFunction.js.map +1 -1
  262. package/dist/views/List/index.js +302 -318
  263. package/dist/views/List/index.js.map +1 -1
  264. package/dist/views/List/metadata.js +17 -20
  265. package/dist/views/List/metadata.js.map +1 -1
  266. package/dist/views/List/renderListViewSlots.js +82 -75
  267. package/dist/views/List/renderListViewSlots.js.map +1 -1
  268. package/dist/views/List/resolveAllFilterOptions.js +43 -45
  269. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  270. package/dist/views/List/transformColumnsToSelect.js +9 -8
  271. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  272. package/dist/views/Login/LoginField/index.js +57 -89
  273. package/dist/views/Login/LoginField/index.js.map +1 -1
  274. package/dist/views/Login/LoginForm/index.js +107 -160
  275. package/dist/views/Login/LoginForm/index.js.map +1 -1
  276. package/dist/views/Login/LoginForm/index.scss +10 -0
  277. package/dist/views/Login/index.js +82 -85
  278. package/dist/views/Login/index.js.map +1 -1
  279. package/dist/views/Login/index.scss +10 -0
  280. package/dist/views/Login/metadata.js +8 -12
  281. package/dist/views/Login/metadata.js.map +1 -1
  282. package/dist/views/Logout/LogoutClient.js +84 -120
  283. package/dist/views/Logout/LogoutClient.js.map +1 -1
  284. package/dist/views/Logout/index.js +29 -29
  285. package/dist/views/Logout/index.js.map +1 -1
  286. package/dist/views/Logout/index.scss +25 -0
  287. package/dist/views/Logout/metadata.js +7 -11
  288. package/dist/views/Logout/metadata.js.map +1 -1
  289. package/dist/views/NotFound/index.client.js +71 -82
  290. package/dist/views/NotFound/index.client.js.map +1 -1
  291. package/dist/views/NotFound/index.js +72 -73
  292. package/dist/views/NotFound/index.js.map +1 -1
  293. package/dist/views/NotFound/index.scss +57 -0
  294. package/dist/views/NotFound/metadata.js +7 -9
  295. package/dist/views/NotFound/metadata.js.map +1 -1
  296. package/dist/views/ResetPassword/ResetPasswordForm/index.js +97 -108
  297. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  298. package/dist/views/ResetPassword/index.js +93 -73
  299. package/dist/views/ResetPassword/index.js.map +1 -1
  300. package/dist/views/ResetPassword/index.scss +11 -0
  301. package/dist/views/ResetPassword/metadata.js +8 -12
  302. package/dist/views/ResetPassword/metadata.js.map +1 -1
  303. package/dist/views/Root/attachViewActions.js +18 -23
  304. package/dist/views/Root/attachViewActions.js.map +1 -1
  305. package/dist/views/Root/generateCustomViewMetadata.js +19 -21
  306. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  307. package/dist/views/Root/getCustomViewByKey.js +12 -14
  308. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  309. package/dist/views/Root/getCustomViewByRoute.js +31 -42
  310. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  311. package/dist/views/Root/getDocumentViewInfo.js +24 -23
  312. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  313. package/dist/views/Root/getRouteData.js +333 -325
  314. package/dist/views/Root/getRouteData.js.map +1 -1
  315. package/dist/views/Root/index.js +248 -270
  316. package/dist/views/Root/index.js.map +1 -1
  317. package/dist/views/Root/isPathMatchingRoute.js +21 -26
  318. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  319. package/dist/views/Root/metadata.js +176 -181
  320. package/dist/views/Root/metadata.js.map +1 -1
  321. package/dist/views/Unauthorized/index.js +54 -46
  322. package/dist/views/Unauthorized/index.js.map +1 -1
  323. package/dist/views/Unauthorized/index.scss +14 -0
  324. package/dist/views/Unauthorized/metadata.js +8 -12
  325. package/dist/views/Unauthorized/metadata.js.map +1 -1
  326. package/dist/views/Verify/index.client.js +25 -43
  327. package/dist/views/Verify/index.client.js.map +1 -1
  328. package/dist/views/Verify/index.js +69 -64
  329. package/dist/views/Verify/index.js.map +1 -1
  330. package/dist/views/Verify/index.scss +16 -0
  331. package/dist/views/Verify/metadata.js +8 -12
  332. package/dist/views/Verify/metadata.js.map +1 -1
  333. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  334. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  335. package/dist/views/Version/Default/SetStepNav.js +86 -127
  336. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  337. package/dist/views/Version/Default/index.js +380 -236
  338. package/dist/views/Version/Default/index.js.map +1 -1
  339. package/dist/views/Version/Default/index.scss +170 -0
  340. package/dist/views/Version/Default/types.js +2 -1
  341. package/dist/views/Version/Default/types.js.map +1 -1
  342. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
  343. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  344. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +81 -0
  345. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
  346. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  347. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
  348. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  349. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
  350. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  351. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
  352. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  353. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +12 -0
  354. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
  355. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  356. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +9 -0
  357. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
  358. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  359. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +59 -0
  360. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +56 -61
  361. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  362. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +224 -206
  363. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  364. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +91 -0
  365. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
  366. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  367. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
  368. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  369. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +4 -0
  370. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +135 -146
  371. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  372. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +9 -0
  373. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
  374. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  375. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +4 -0
  376. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +252 -211
  377. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  378. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +121 -0
  379. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
  380. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  381. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
  382. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  383. package/dist/views/Version/RenderFieldsToDiff/index.scss +24 -0
  384. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
  385. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  386. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
  387. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  388. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
  389. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  390. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
  391. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  392. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
  393. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  394. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
  395. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  396. package/dist/views/Version/Restore/index.js +117 -93
  397. package/dist/views/Version/Restore/index.js.map +1 -1
  398. package/dist/views/Version/Restore/index.scss +84 -0
  399. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
  400. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  401. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
  402. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  403. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
  404. package/dist/views/Version/SelectComparison/index.js +73 -50
  405. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  406. package/dist/views/Version/SelectComparison/index.scss +9 -0
  407. package/dist/views/Version/SelectComparison/types.js +2 -1
  408. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  409. package/dist/views/Version/SelectLocales/index.js +34 -32
  410. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  411. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +106 -100
  412. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  413. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +30 -35
  414. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  415. package/dist/views/Version/VersionPillLabel/index.scss +26 -0
  416. package/dist/views/Version/fetchVersions.js +113 -138
  417. package/dist/views/Version/fetchVersions.js.map +1 -1
  418. package/dist/views/Version/index.js +328 -326
  419. package/dist/views/Version/index.js.map +1 -1
  420. package/dist/views/Version/metadata.js +43 -50
  421. package/dist/views/Version/metadata.js.map +1 -1
  422. package/dist/views/Versions/buildColumns.js +95 -79
  423. package/dist/views/Versions/buildColumns.js.map +1 -1
  424. package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
  425. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  426. package/dist/views/Versions/cells/AutosaveCell/index.scss +9 -0
  427. package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
  428. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  429. package/dist/views/Versions/cells/ID/index.js +10 -8
  430. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  431. package/dist/views/Versions/index.client.js +106 -83
  432. package/dist/views/Versions/index.client.js.map +1 -1
  433. package/dist/views/Versions/index.js +164 -164
  434. package/dist/views/Versions/index.js.map +1 -1
  435. package/dist/views/Versions/index.scss +110 -0
  436. package/dist/views/Versions/metadata.js +37 -44
  437. package/dist/views/Versions/metadata.js.map +1 -1
  438. package/dist/views/Versions/types.js +2 -1
  439. package/dist/views/Versions/types.js.map +1 -1
  440. package/dist/withPayload/withPayload.js +236 -177
  441. package/dist/withPayload/withPayload.js.map +1 -1
  442. package/dist/withPayload/withPayload.spec.js +36 -35
  443. package/dist/withPayload/withPayload.spec.js.map +1 -1
  444. package/dist/withPayload/withPayload.utils.js +65 -73
  445. package/dist/withPayload/withPayload.utils.js.map +1 -1
  446. package/dist/withPayload/withPayloadLegacy.js +41 -40
  447. package/dist/withPayload/withPayloadLegacy.js.map +1 -1
  448. 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
- }
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');
63
60
  }
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);
96
- } else {
97
- // For globals or other cases, keep the 404 behavior
98
- throw new Error('not-found');
99
61
  }
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
- hasPublishPermission,
125
- hasSavePermission
126
- }, {
127
- currentEditor,
128
- isLocked,
129
- lastUpdateTime
130
- }, entityPreferences] = await Promise.all([
131
- // Get document preferences
132
- getDocPreferences({
133
- id: idFromArgs,
134
- collectionSlug,
135
- globalSlug,
136
- payload,
137
- user
138
- }),
139
- // Get permissions - isolated transactionID prevents cross-contamination
140
- getDocumentPermissions({
141
- id: idFromArgs,
142
- collectionConfig,
143
- data: doc,
144
- globalConfig,
145
- req: reqForPermissions
146
- }),
147
- // Fetch document lock state - isolated transactionID prevents cross-contamination
148
- getIsLocked({
149
- id: idFromArgs,
150
- collectionConfig,
151
- globalConfig,
152
- isEditing,
153
- req: reqForLockCheck
154
- }),
155
- // get entity preferences
156
- getPreferences(collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`, payload, req.user.id, req.user.collection)]);
157
- const operation = collectionSlug && idFromArgs || globalSlug ? 'update' : 'create';
158
- const [{
159
- hasPublishedDoc,
160
- mostRecentVersionIsAutosaved,
161
- unpublishedVersionCount,
162
- versionCount
163
- }, {
164
- state: formState
165
- }] = await Promise.all([getVersions({
166
- id: idFromArgs,
167
- collectionConfig,
168
- doc,
169
- docPermissions,
170
- globalConfig,
171
- locale: locale?.code,
172
- payload,
173
- user
174
- }), buildFormState({
175
- id: idFromArgs,
176
- collectionSlug,
177
- data: doc,
178
- docPermissions,
179
- docPreferences,
180
- fallbackLocale: false,
181
- globalSlug,
182
- locale: locale?.code,
183
- operation,
184
- readOnly: isTrashedDoc || isLocked,
185
- renderAllFields: true,
186
- req,
187
- schemaPath: collectionSlug || globalSlug,
188
- skipValidation: true
189
- })]);
190
- const documentViewServerProps = {
191
- doc,
192
- hasPublishedDoc,
193
- i18n,
194
- initPageResult,
195
- locale,
196
- params,
197
- payload,
198
- permissions,
199
- routeSegments: segments,
200
- searchParams,
201
- user,
202
- versions
203
- };
204
- if (!overrideEntityVisibility && (collectionSlug && !visibleEntities?.collections?.find(visibleSlug => visibleSlug === collectionSlug) || globalSlug && !visibleEntities?.globals?.find(visibleSlug => visibleSlug === globalSlug))) {
205
- throw new Error('not-found');
206
- }
207
- const formattedParams = new URLSearchParams();
208
- if (hasDraftsEnabled(collectionConfig || globalConfig)) {
209
- formattedParams.append('draft', 'true');
210
- }
211
- if (locale?.code) {
212
- formattedParams.append('locale', locale.code);
213
- }
214
- const apiQueryParams = `?${formattedParams.toString()}`;
215
- const apiURL = formatAdminURL({
216
- apiRoute,
217
- path: collectionSlug ? `/${collectionSlug}/${idFromArgs}${apiQueryParams}` : globalSlug ? `/${globalSlug}${apiQueryParams}` : ''
218
- });
219
- let View = null;
220
- let showHeader = true;
221
- 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;
222
- if (RootViewOverride) {
223
- View = RootViewOverride;
224
- showHeader = false;
225
- } else {
226
- ({
227
- View
228
- } = getDocumentView({
229
- collectionConfig,
230
- config,
231
- docPermissions,
232
- globalConfig,
233
- routeSegments: segments
234
- }));
235
- }
236
- if (!View) {
237
- View = NotFoundView;
238
- }
239
- /**
240
- * Handle case where autoSave is enabled and the document is being created
241
- * => create document and redirect
242
- */
243
- const shouldAutosave = hasSavePermission && hasAutosaveEnabled(collectionConfig || globalConfig);
244
- const validateDraftData = collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate;
245
- let id = idFromArgs;
246
- if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {
247
- doc = await payload.create({
248
- collection: collectionSlug,
249
- data: initialData || {},
250
- depth: 0,
251
- draft: true,
252
- fallbackLocale: false,
253
- locale: locale?.code,
254
- req,
255
- 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}` : ''
256
168
  });
257
- if (doc?.id) {
258
- id = doc.id;
259
- isEditing = getIsEditing({
260
- id: doc.id,
261
- collectionSlug,
262
- globalSlug
263
- });
264
- if (!drawerSlug && redirectAfterCreate !== false) {
265
- const redirectURL = formatAdminURL({
266
- adminRoute,
267
- path: `/collections/${collectionSlug}/${doc.id}`
268
- });
269
- redirect(redirectURL);
270
- }
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;
271
175
  } else {
272
- throw new Error('not-found');
176
+ ;
177
+ ({ View } = getDocumentView({
178
+ collectionConfig,
179
+ config,
180
+ docPermissions,
181
+ globalConfig,
182
+ routeSegments: segments
183
+ }));
273
184
  }
274
- }
275
- const documentSlots = renderDocumentSlots({
276
- id,
277
- collectionConfig,
278
- globalConfig,
279
- hasSavePermission,
280
- locale,
281
- permissions,
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