@payloadcms/next 3.68.0-internal-debug.3a174b1 → 3.68.0-internal-debug.591ab42

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 (386) 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/config.js +1 -0
  8. package/dist/config.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +9 -15
  10. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +40 -71
  12. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +65 -59
  14. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/index.js +80 -70
  16. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -23
  18. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +61 -69
  20. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  21. package/dist/elements/DocumentHeader/index.js +48 -28
  22. package/dist/elements/DocumentHeader/index.js.map +1 -1
  23. package/dist/elements/FormHeader/index.js +30 -16
  24. package/dist/elements/FormHeader/index.js.map +1 -1
  25. package/dist/elements/Logo/index.js +19 -34
  26. package/dist/elements/Logo/index.js.map +1 -1
  27. package/dist/elements/Nav/NavHamburger/index.js +23 -44
  28. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  29. package/dist/elements/Nav/NavWrapper/index.js +28 -54
  30. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  31. package/dist/elements/Nav/SettingsMenuButton/index.js +33 -39
  32. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  33. package/dist/elements/Nav/getNavPrefs.js +27 -22
  34. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  35. package/dist/elements/Nav/index.client.js +97 -118
  36. package/dist/elements/Nav/index.client.js.map +1 -1
  37. package/dist/elements/Nav/index.js +148 -127
  38. package/dist/elements/Nav/index.js.map +1 -1
  39. package/dist/esbuildEntry.d.ts +5 -0
  40. package/dist/esbuildEntry.d.ts.map +1 -0
  41. package/dist/esbuildEntry.js +6 -0
  42. package/dist/esbuildEntry.js.map +1 -0
  43. package/dist/exports/auth.js +1 -0
  44. package/dist/exports/auth.js.map +1 -1
  45. package/dist/exports/client.js +1 -1
  46. package/dist/exports/client.js.map +1 -1
  47. package/dist/exports/layouts.js +1 -0
  48. package/dist/exports/layouts.js.map +1 -1
  49. package/dist/exports/routes.js +1 -0
  50. package/dist/exports/routes.js.map +1 -1
  51. package/dist/exports/rsc.js +1 -0
  52. package/dist/exports/rsc.js.map +1 -1
  53. package/dist/exports/templates.js +1 -0
  54. package/dist/exports/templates.js.map +1 -1
  55. package/dist/exports/utilities.js +7 -12
  56. package/dist/exports/utilities.js.map +1 -1
  57. package/dist/exports/views.js +1 -0
  58. package/dist/exports/views.js.map +1 -1
  59. package/dist/index.js +1 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/layouts/Root/NestProviders.js +21 -20
  62. package/dist/layouts/Root/NestProviders.js.map +1 -1
  63. package/dist/layouts/Root/checkDependencies.js +49 -41
  64. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  65. package/dist/layouts/Root/index.js +128 -103
  66. package/dist/layouts/Root/index.js.map +1 -1
  67. package/dist/routes/graphql/handler.js +114 -122
  68. package/dist/routes/graphql/handler.js.map +1 -1
  69. package/dist/routes/graphql/index.js +1 -0
  70. package/dist/routes/graphql/index.js.map +1 -1
  71. package/dist/routes/graphql/playground.js +24 -23
  72. package/dist/routes/graphql/playground.js.map +1 -1
  73. package/dist/routes/index.js +1 -0
  74. package/dist/routes/index.js.map +1 -1
  75. package/dist/routes/rest/index.js +20 -19
  76. package/dist/routes/rest/index.js.map +1 -1
  77. package/dist/routes/rest/og/image.js +103 -79
  78. package/dist/routes/rest/og/image.js.map +1 -1
  79. package/dist/routes/rest/og/index.js +59 -54
  80. package/dist/routes/rest/og/index.js.map +1 -1
  81. package/dist/templates/Default/NavHamburger/index.js +12 -20
  82. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  83. package/dist/templates/Default/Wrapper/index.js +20 -44
  84. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  85. package/dist/templates/Default/index.js +183 -133
  86. package/dist/templates/Default/index.js.map +1 -1
  87. package/dist/templates/Minimal/index.js +26 -17
  88. package/dist/templates/Minimal/index.js.map +1 -1
  89. package/dist/utilities/getExistingAuthToken.js +3 -2
  90. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  91. package/dist/utilities/getNextRequestI18n.js +12 -13
  92. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  93. package/dist/utilities/getPayloadHMR.js +5 -5
  94. package/dist/utilities/getPayloadHMR.js.map +1 -1
  95. package/dist/utilities/getPreferences.js +27 -22
  96. package/dist/utilities/getPreferences.js.map +1 -1
  97. package/dist/utilities/getRequestLocale.js +13 -14
  98. package/dist/utilities/getRequestLocale.js.map +1 -1
  99. package/dist/utilities/getRequestTheme.js +19 -19
  100. package/dist/utilities/getRequestTheme.js.map +1 -1
  101. package/dist/utilities/getRouteWithoutAdmin.js +3 -5
  102. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  103. package/dist/utilities/getVisibleEntities.js +12 -23
  104. package/dist/utilities/getVisibleEntities.js.map +1 -1
  105. package/dist/utilities/handleAuthRedirect.js +22 -36
  106. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  107. package/dist/utilities/handleServerFunctions.js +32 -39
  108. package/dist/utilities/handleServerFunctions.js.map +1 -1
  109. package/dist/utilities/initReq.js +78 -96
  110. package/dist/utilities/initReq.js.map +1 -1
  111. package/dist/utilities/isCustomAdminView.js +22 -26
  112. package/dist/utilities/isCustomAdminView.js.map +1 -1
  113. package/dist/utilities/isPublicAdminRoute.js +26 -20
  114. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  115. package/dist/utilities/meta.js +68 -63
  116. package/dist/utilities/meta.js.map +1 -1
  117. package/dist/utilities/selectiveCache.js +25 -26
  118. package/dist/utilities/selectiveCache.js.map +1 -1
  119. package/dist/utilities/setPayloadAuthCookie.js +19 -22
  120. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  121. package/dist/utilities/slugify.js +24 -33
  122. package/dist/utilities/slugify.js.map +1 -1
  123. package/dist/utilities/timestamp.js +7 -6
  124. package/dist/utilities/timestamp.js.map +1 -1
  125. package/dist/views/API/LocaleSelector/index.js +17 -39
  126. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  127. package/dist/views/API/RenderJSON/index.js +171 -126
  128. package/dist/views/API/RenderJSON/index.js.map +1 -1
  129. package/dist/views/API/index.client.js +287 -197
  130. package/dist/views/API/index.client.js.map +1 -1
  131. package/dist/views/API/index.js +7 -2
  132. package/dist/views/API/index.js.map +1 -1
  133. package/dist/views/API/metadata.js +18 -23
  134. package/dist/views/API/metadata.js.map +1 -1
  135. package/dist/views/Account/ResetPreferences/index.js +74 -91
  136. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  137. package/dist/views/Account/Settings/LanguageSelector.js +18 -47
  138. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  139. package/dist/views/Account/Settings/index.js +62 -28
  140. package/dist/views/Account/Settings/index.js.map +1 -1
  141. package/dist/views/Account/ToggleTheme/index.js +38 -55
  142. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  143. package/dist/views/Account/index.client.js +16 -32
  144. package/dist/views/Account/index.client.js.map +1 -1
  145. package/dist/views/Account/index.js +144 -155
  146. package/dist/views/Account/index.js.map +1 -1
  147. package/dist/views/Account/metadata.js +8 -12
  148. package/dist/views/Account/metadata.js.map +1 -1
  149. package/dist/views/BrowseByFolder/buildView.js +139 -158
  150. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  151. package/dist/views/BrowseByFolder/index.js +16 -17
  152. package/dist/views/BrowseByFolder/index.js.map +1 -1
  153. package/dist/views/BrowseByFolder/metadata.js +13 -15
  154. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  155. package/dist/views/CollectionFolders/buildView.js +123 -143
  156. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  157. package/dist/views/CollectionFolders/index.js +16 -17
  158. package/dist/views/CollectionFolders/index.js.map +1 -1
  159. package/dist/views/CollectionFolders/metadata.js +18 -21
  160. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  161. package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
  162. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  163. package/dist/views/CollectionTrash/index.js +17 -18
  164. package/dist/views/CollectionTrash/index.js.map +1 -1
  165. package/dist/views/CollectionTrash/metadata.js +18 -21
  166. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  167. package/dist/views/CreateFirstUser/index.client.js +114 -101
  168. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  169. package/dist/views/CreateFirstUser/index.js +87 -81
  170. package/dist/views/CreateFirstUser/index.js.map +1 -1
  171. package/dist/views/CreateFirstUser/metadata.js +8 -12
  172. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  173. package/dist/views/Dashboard/Default/index.js +176 -152
  174. package/dist/views/Dashboard/Default/index.js.map +1 -1
  175. package/dist/views/Dashboard/index.js +97 -90
  176. package/dist/views/Dashboard/index.js.map +1 -1
  177. package/dist/views/Dashboard/metadata.js +10 -14
  178. package/dist/views/Dashboard/metadata.js.map +1 -1
  179. package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
  180. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  181. package/dist/views/Document/getCustomViewByRoute.js +27 -30
  182. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  183. package/dist/views/Document/getDocPreferences.js +40 -41
  184. package/dist/views/Document/getDocPreferences.js.map +1 -1
  185. package/dist/views/Document/getDocumentData.js +44 -55
  186. package/dist/views/Document/getDocumentData.js.map +1 -1
  187. package/dist/views/Document/getDocumentPermissions.js +77 -80
  188. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  189. package/dist/views/Document/getDocumentView.js +313 -283
  190. package/dist/views/Document/getDocumentView.js.map +1 -1
  191. package/dist/views/Document/getIsLocked.js +66 -66
  192. package/dist/views/Document/getIsLocked.js.map +1 -1
  193. package/dist/views/Document/getMetaBySegment.js +130 -136
  194. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  195. package/dist/views/Document/getVersions.js +204 -194
  196. package/dist/views/Document/getVersions.js.map +1 -1
  197. package/dist/views/Document/handleServerFunction.js +103 -128
  198. package/dist/views/Document/handleServerFunction.js.map +1 -1
  199. package/dist/views/Document/index.js +315 -354
  200. package/dist/views/Document/index.js.map +1 -1
  201. package/dist/views/Document/metadata.js +2 -1
  202. package/dist/views/Document/metadata.js.map +1 -1
  203. package/dist/views/Document/renderDocumentSlots.js +121 -132
  204. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  205. package/dist/views/Edit/index.js +10 -6
  206. package/dist/views/Edit/index.js.map +1 -1
  207. package/dist/views/Edit/metadata.js +36 -46
  208. package/dist/views/Edit/metadata.js.map +1 -1
  209. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
  210. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  211. package/dist/views/ForgotPassword/index.js +79 -62
  212. package/dist/views/ForgotPassword/index.js.map +1 -1
  213. package/dist/views/ForgotPassword/metadata.js +8 -12
  214. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  215. package/dist/views/List/createSerializableValue.js +12 -11
  216. package/dist/views/List/createSerializableValue.js.map +1 -1
  217. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  218. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  219. package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
  220. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  221. package/dist/views/List/extractValueOrRelationshipID.js +16 -15
  222. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  223. package/dist/views/List/handleGroupBy.js +133 -150
  224. package/dist/views/List/handleGroupBy.js.map +1 -1
  225. package/dist/views/List/handleServerFunction.js +96 -119
  226. package/dist/views/List/handleServerFunction.js.map +1 -1
  227. package/dist/views/List/index.js +305 -324
  228. package/dist/views/List/index.js.map +1 -1
  229. package/dist/views/List/metadata.js +17 -20
  230. package/dist/views/List/metadata.js.map +1 -1
  231. package/dist/views/List/renderListViewSlots.js +82 -75
  232. package/dist/views/List/renderListViewSlots.js.map +1 -1
  233. package/dist/views/List/resolveAllFilterOptions.js +43 -45
  234. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  235. package/dist/views/List/transformColumnsToSelect.js +9 -8
  236. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  237. package/dist/views/Login/LoginField/index.js +57 -89
  238. package/dist/views/Login/LoginField/index.js.map +1 -1
  239. package/dist/views/Login/LoginForm/index.js +104 -157
  240. package/dist/views/Login/LoginForm/index.js.map +1 -1
  241. package/dist/views/Login/index.js +82 -85
  242. package/dist/views/Login/index.js.map +1 -1
  243. package/dist/views/Login/metadata.js +8 -12
  244. package/dist/views/Login/metadata.js.map +1 -1
  245. package/dist/views/Logout/LogoutClient.js +83 -119
  246. package/dist/views/Logout/LogoutClient.js.map +1 -1
  247. package/dist/views/Logout/index.js +29 -29
  248. package/dist/views/Logout/index.js.map +1 -1
  249. package/dist/views/Logout/metadata.js +7 -11
  250. package/dist/views/Logout/metadata.js.map +1 -1
  251. package/dist/views/NotFound/index.client.js +71 -82
  252. package/dist/views/NotFound/index.client.js.map +1 -1
  253. package/dist/views/NotFound/index.js +71 -72
  254. package/dist/views/NotFound/index.js.map +1 -1
  255. package/dist/views/NotFound/metadata.js +7 -9
  256. package/dist/views/NotFound/metadata.js.map +1 -1
  257. package/dist/views/ResetPassword/ResetPasswordForm/index.js +94 -107
  258. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  259. package/dist/views/ResetPassword/index.js +93 -73
  260. package/dist/views/ResetPassword/index.js.map +1 -1
  261. package/dist/views/ResetPassword/metadata.js +8 -12
  262. package/dist/views/ResetPassword/metadata.js.map +1 -1
  263. package/dist/views/Root/attachViewActions.js +18 -23
  264. package/dist/views/Root/attachViewActions.js.map +1 -1
  265. package/dist/views/Root/generateCustomViewMetadata.js +19 -21
  266. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  267. package/dist/views/Root/getCustomViewByKey.js +12 -14
  268. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  269. package/dist/views/Root/getCustomViewByRoute.js +31 -42
  270. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  271. package/dist/views/Root/getDocumentViewInfo.js +24 -23
  272. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  273. package/dist/views/Root/getRouteData.js +333 -325
  274. package/dist/views/Root/getRouteData.js.map +1 -1
  275. package/dist/views/Root/index.js +247 -269
  276. package/dist/views/Root/index.js.map +1 -1
  277. package/dist/views/Root/isPathMatchingRoute.js +21 -26
  278. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  279. package/dist/views/Root/metadata.js +176 -181
  280. package/dist/views/Root/metadata.js.map +1 -1
  281. package/dist/views/Unauthorized/index.js +54 -46
  282. package/dist/views/Unauthorized/index.js.map +1 -1
  283. package/dist/views/Unauthorized/metadata.js +8 -12
  284. package/dist/views/Unauthorized/metadata.js.map +1 -1
  285. package/dist/views/Verify/index.client.js +25 -43
  286. package/dist/views/Verify/index.client.js.map +1 -1
  287. package/dist/views/Verify/index.js +68 -62
  288. package/dist/views/Verify/index.js.map +1 -1
  289. package/dist/views/Verify/metadata.js +8 -12
  290. package/dist/views/Verify/metadata.js.map +1 -1
  291. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  292. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  293. package/dist/views/Version/Default/SetStepNav.js +86 -127
  294. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  295. package/dist/views/Version/Default/index.js +380 -236
  296. package/dist/views/Version/Default/index.js.map +1 -1
  297. package/dist/views/Version/Default/types.js +2 -1
  298. package/dist/views/Version/Default/types.js.map +1 -1
  299. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
  300. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  301. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
  302. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  303. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
  304. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  305. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
  306. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  307. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
  308. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  309. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
  310. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  311. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
  312. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  313. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +36 -41
  314. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  315. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +192 -178
  316. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  317. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
  318. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  319. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
  320. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  321. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +132 -143
  322. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  323. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
  324. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  325. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +251 -210
  326. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  327. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
  328. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  329. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
  330. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  331. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
  332. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  333. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
  334. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  335. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
  336. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  337. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
  338. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  339. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +25 -22
  340. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -1
  341. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
  342. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  343. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
  344. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  345. package/dist/views/Version/Restore/index.js +116 -91
  346. package/dist/views/Version/Restore/index.js.map +1 -1
  347. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
  348. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  349. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
  350. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  351. package/dist/views/Version/SelectComparison/index.js +73 -50
  352. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  353. package/dist/views/Version/SelectComparison/types.js +2 -1
  354. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  355. package/dist/views/Version/SelectLocales/index.js +34 -32
  356. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  357. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +104 -95
  358. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  359. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +23 -27
  360. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  361. package/dist/views/Version/fetchVersions.js +113 -138
  362. package/dist/views/Version/fetchVersions.js.map +1 -1
  363. package/dist/views/Version/index.js +325 -323
  364. package/dist/views/Version/index.js.map +1 -1
  365. package/dist/views/Version/metadata.js +43 -50
  366. package/dist/views/Version/metadata.js.map +1 -1
  367. package/dist/views/Versions/buildColumns.js +95 -79
  368. package/dist/views/Versions/buildColumns.js.map +1 -1
  369. package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
  370. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  371. package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
  372. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  373. package/dist/views/Versions/cells/ID/index.js +10 -8
  374. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  375. package/dist/views/Versions/index.client.js +106 -83
  376. package/dist/views/Versions/index.client.js.map +1 -1
  377. package/dist/views/Versions/index.js +140 -140
  378. package/dist/views/Versions/index.js.map +1 -1
  379. package/dist/views/Versions/metadata.js +37 -44
  380. package/dist/views/Versions/metadata.js.map +1 -1
  381. package/dist/views/Versions/types.js +2 -1
  382. package/dist/views/Versions/types.js.map +1 -1
  383. package/dist/withPayload.js +216 -169
  384. package/dist/withPayload.js.map +1 -1
  385. package/package.json +9 -8
  386. package/dist/prod/styles.css +0 -1
@@ -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 { PageConfigProvider } from '@payloadcms/ui';
3
3
  import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
4
4
  import { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig';
@@ -16,284 +16,262 @@ import { isCustomAdminView } from '../../utilities/isCustomAdminView.js';
16
16
  import { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js';
17
17
  import { getCustomViewByRoute } from './getCustomViewByRoute.js';
18
18
  import { getRouteData } from './getRouteData.js';
19
- export const RootPage = async ({
20
- config: configPromise,
21
- importMap,
22
- params: paramsPromise,
23
- searchParams: searchParamsPromise
24
- }) => {
25
- const config = await configPromise;
26
- const {
27
- admin: {
28
- routes: {
29
- createFirstUser: _createFirstUserRoute
30
- },
31
- user: userSlug
32
- },
33
- routes: {
34
- admin: adminRoute
19
+ export const RootPage = async ({ config: configPromise, importMap, params: paramsPromise, searchParams: searchParamsPromise })=>{
20
+ const config = await configPromise;
21
+ const { admin: { routes: { createFirstUser: _createFirstUserRoute }, user: userSlug }, routes: { admin: adminRoute } } = config;
22
+ const params = await paramsPromise;
23
+ const currentRoute = formatAdminURL({
24
+ adminRoute,
25
+ path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null
26
+ });
27
+ const segments = Array.isArray(params.segments) ? params.segments : [];
28
+ const isCollectionRoute = segments[0] === 'collections';
29
+ const isGlobalRoute = segments[0] === 'globals';
30
+ let collectionConfig = undefined;
31
+ let globalConfig = undefined;
32
+ const searchParams = await searchParamsPromise;
33
+ // Redirect `${adminRoute}/collections` to `${adminRoute}`
34
+ if (isCollectionRoute) {
35
+ if (segments.length === 1) {
36
+ const { viewKey } = getCustomViewByRoute({
37
+ config,
38
+ currentRoute: '/collections'
39
+ });
40
+ // Only redirect if there's NO custom view configured for /collections
41
+ if (!viewKey) {
42
+ redirect(adminRoute);
43
+ }
44
+ }
45
+ if (segments[1]) {
46
+ collectionConfig = config.collections.find(({ slug })=>slug === segments[1]);
47
+ }
35
48
  }
36
- } = config;
37
- const params = await paramsPromise;
38
- const currentRoute = formatAdminURL({
39
- adminRoute,
40
- path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null
41
- });
42
- const segments = Array.isArray(params.segments) ? params.segments : [];
43
- const isCollectionRoute = segments[0] === 'collections';
44
- const isGlobalRoute = segments[0] === 'globals';
45
- let collectionConfig = undefined;
46
- let globalConfig = undefined;
47
- const searchParams = await searchParamsPromise;
48
- // Redirect `${adminRoute}/collections` to `${adminRoute}`
49
- if (isCollectionRoute) {
50
- if (segments.length === 1) {
51
- const {
52
- viewKey
53
- } = getCustomViewByRoute({
54
- config,
55
- currentRoute: '/collections'
56
- });
57
- // Only redirect if there's NO custom view configured for /collections
58
- if (!viewKey) {
59
- redirect(adminRoute);
60
- }
49
+ // Redirect `${adminRoute}/globals` to `${adminRoute}`
50
+ if (isGlobalRoute) {
51
+ if (segments.length === 1) {
52
+ const { viewKey } = getCustomViewByRoute({
53
+ config,
54
+ currentRoute: '/globals'
55
+ });
56
+ // Only redirect if there's NO custom view configured for /globals
57
+ if (!viewKey) {
58
+ redirect(adminRoute);
59
+ }
60
+ }
61
+ if (segments[1]) {
62
+ globalConfig = config.globals.find(({ slug })=>slug === segments[1]);
63
+ }
61
64
  }
62
- if (segments[1]) {
63
- collectionConfig = config.collections.find(({
64
- slug
65
- }) => slug === segments[1]);
65
+ if (isCollectionRoute && !collectionConfig || isGlobalRoute && !globalConfig) {
66
+ return notFound();
66
67
  }
67
- }
68
- // Redirect `${adminRoute}/globals` to `${adminRoute}`
69
- if (isGlobalRoute) {
70
- if (segments.length === 1) {
71
- const {
72
- viewKey
73
- } = getCustomViewByRoute({
74
- config,
75
- currentRoute: '/globals'
76
- });
77
- // Only redirect if there's NO custom view configured for /globals
78
- if (!viewKey) {
79
- redirect(adminRoute);
80
- }
68
+ const queryString = `${qs.stringify(searchParams ?? {}, {
69
+ addQueryPrefix: true
70
+ })}`;
71
+ const { cookies, locale, permissions, req, req: { payload } } = await initReq({
72
+ configPromise: config,
73
+ importMap,
74
+ key: 'initPage',
75
+ overrides: {
76
+ fallbackLocale: false,
77
+ req: {
78
+ query: qs.parse(queryString, {
79
+ depth: 10,
80
+ ignoreQueryPrefix: true
81
+ })
82
+ },
83
+ urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`
84
+ }
85
+ });
86
+ if (!permissions.canAccessAdmin && !isPublicAdminRoute({
87
+ adminRoute,
88
+ config: payload.config,
89
+ route: currentRoute
90
+ }) && !isCustomAdminView({
91
+ adminRoute,
92
+ config: payload.config,
93
+ route: currentRoute
94
+ })) {
95
+ redirect(handleAuthRedirect({
96
+ config: payload.config,
97
+ route: currentRoute,
98
+ searchParams,
99
+ user: req.user
100
+ }));
81
101
  }
82
- if (segments[1]) {
83
- globalConfig = config.globals.find(({
84
- slug
85
- }) => slug === segments[1]);
102
+ let collectionPreferences = undefined;
103
+ if (collectionConfig && segments.length === 2) {
104
+ if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {
105
+ await getPreferences(`collection-${collectionConfig.slug}`, req.payload, req.user.id, config.admin.user).then((res)=>{
106
+ if (res && res.value) {
107
+ collectionPreferences = res.value;
108
+ }
109
+ });
110
+ }
86
111
  }
87
- }
88
- if (isCollectionRoute && !collectionConfig || isGlobalRoute && !globalConfig) {
89
- return notFound();
90
- }
91
- const queryString = `${qs.stringify(searchParams ?? {}, {
92
- addQueryPrefix: true
93
- })}`;
94
- const {
95
- cookies,
96
- locale,
97
- permissions,
98
- req,
99
- req: {
100
- payload
112
+ const { browseByFolderSlugs, DefaultView, documentSubViewType, routeParams, templateClassName, templateType, viewActions, viewType } = getRouteData({
113
+ adminRoute,
114
+ collectionConfig,
115
+ collectionPreferences,
116
+ currentRoute,
117
+ globalConfig,
118
+ payload,
119
+ searchParams,
120
+ segments
121
+ });
122
+ req.routeParams = routeParams;
123
+ const dbHasUser = req.user || await req.payload.db.findOne({
124
+ collection: userSlug,
125
+ req
126
+ })?.then((doc)=>!!doc);
127
+ /**
128
+ * This function is responsible for handling the case where the view is not found.
129
+ * The current route did not match any default views or custom route views.
130
+ */ if (!DefaultView?.Component && !DefaultView?.payloadComponent) {
131
+ if (req?.user) {
132
+ notFound();
133
+ }
134
+ if (dbHasUser) {
135
+ redirect(adminRoute);
136
+ }
101
137
  }
102
- } = await initReq({
103
- configPromise: config,
104
- importMap,
105
- key: 'initPage',
106
- overrides: {
107
- fallbackLocale: false,
108
- req: {
109
- query: qs.parse(queryString, {
110
- depth: 10,
111
- ignoreQueryPrefix: true
112
- })
113
- },
114
- urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`
138
+ const createFirstUserRoute = formatAdminURL({
139
+ adminRoute,
140
+ path: _createFirstUserRoute
141
+ });
142
+ const usersCollection = config.collections.find(({ slug })=>slug === userSlug);
143
+ const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy;
144
+ if (disableLocalStrategy && currentRoute === createFirstUserRoute) {
145
+ redirect(adminRoute);
115
146
  }
116
- });
117
- if (!permissions.canAccessAdmin && !isPublicAdminRoute({
118
- adminRoute,
119
- config: payload.config,
120
- route: currentRoute
121
- }) && !isCustomAdminView({
122
- adminRoute,
123
- config: payload.config,
124
- route: currentRoute
125
- })) {
126
- redirect(handleAuthRedirect({
127
- config: payload.config,
128
- route: currentRoute,
129
- searchParams,
130
- user: req.user
131
- }));
132
- }
133
- let collectionPreferences = undefined;
134
- if (collectionConfig && segments.length === 2) {
135
- if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {
136
- await getPreferences(`collection-${collectionConfig.slug}`, req.payload, req.user.id, config.admin.user).then(res => {
137
- if (res && res.value) {
138
- collectionPreferences = res.value;
139
- }
140
- });
147
+ if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {
148
+ redirect(createFirstUserRoute);
141
149
  }
142
- }
143
- const {
144
- browseByFolderSlugs,
145
- DefaultView,
146
- documentSubViewType,
147
- routeParams,
148
- templateClassName,
149
- templateType,
150
- viewActions,
151
- viewType
152
- } = getRouteData({
153
- adminRoute,
154
- collectionConfig,
155
- collectionPreferences,
156
- currentRoute,
157
- globalConfig,
158
- payload,
159
- searchParams,
160
- segments
161
- });
162
- req.routeParams = routeParams;
163
- const dbHasUser = req.user || (await req.payload.db.findOne({
164
- collection: userSlug,
165
- req
166
- })?.then(doc => !!doc));
167
- /**
168
- * This function is responsible for handling the case where the view is not found.
169
- * The current route did not match any default views or custom route views.
170
- */
171
- if (!DefaultView?.Component && !DefaultView?.payloadComponent) {
172
- if (req?.user) {
173
- notFound();
150
+ if (dbHasUser && currentRoute === createFirstUserRoute) {
151
+ redirect(adminRoute);
174
152
  }
175
- if (dbHasUser) {
176
- redirect(adminRoute);
153
+ if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {
154
+ redirect(adminRoute);
177
155
  }
178
- }
179
- const createFirstUserRoute = formatAdminURL({
180
- adminRoute,
181
- path: _createFirstUserRoute
182
- });
183
- const usersCollection = config.collections.find(({
184
- slug
185
- }) => slug === userSlug);
186
- const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy;
187
- if (disableLocalStrategy && currentRoute === createFirstUserRoute) {
188
- redirect(adminRoute);
189
- }
190
- if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {
191
- redirect(createFirstUserRoute);
192
- }
193
- if (dbHasUser && currentRoute === createFirstUserRoute) {
194
- redirect(adminRoute);
195
- }
196
- if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {
197
- redirect(adminRoute);
198
- }
199
- const clientConfig = getClientConfig({
200
- config,
201
- i18n: req.i18n,
202
- importMap,
203
- user: viewType === 'createFirstUser' ? true : req.user
204
- });
205
- await applyLocaleFiltering({
206
- clientConfig,
207
- config,
208
- req
209
- });
210
- // Ensure locale on req is still valid after filtering locales
211
- if (clientConfig.localization && req.locale && !clientConfig.localization.localeCodes.includes(req.locale)) {
212
- redirect(`${currentRoute}${qs.stringify({
213
- ...searchParams,
214
- locale: clientConfig.localization.localeCodes.includes(clientConfig.localization.defaultLocale) ? clientConfig.localization.defaultLocale : clientConfig.localization.localeCodes[0]
215
- }, {
216
- addQueryPrefix: true
217
- })}`);
218
- }
219
- const visibleEntities = getVisibleEntities({
220
- req
221
- });
222
- const folderID = routeParams.folderID;
223
- const RenderedView = RenderServerComponent({
224
- clientProps: {
225
- browseByFolderSlugs,
226
- clientConfig,
227
- documentSubViewType,
228
- viewType
229
- },
230
- Component: DefaultView.payloadComponent,
231
- Fallback: DefaultView.Component,
232
- importMap,
233
- serverProps: {
234
- clientConfig,
235
- collectionConfig,
236
- docID: routeParams.id,
237
- folderID,
238
- globalConfig,
239
- i18n: req.i18n,
240
- importMap,
241
- initPageResult: {
242
- collectionConfig,
243
- cookies,
244
- docID: routeParams.id,
245
- globalConfig,
246
- languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig]) => {
247
- if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {
248
- acc.push({
249
- label: languageConfig.translations.general.thisLanguage,
250
- value: language
251
- });
252
- }
253
- return acc;
254
- }, []),
255
- locale,
256
- permissions,
257
- req,
258
- translations: req.i18n.translations,
259
- visibleEntities
260
- },
261
- params,
262
- payload: req.payload,
263
- searchParams,
264
- viewActions
156
+ const clientConfig = getClientConfig({
157
+ config,
158
+ i18n: req.i18n,
159
+ importMap,
160
+ user: viewType === 'createFirstUser' ? true : req.user
161
+ });
162
+ await applyLocaleFiltering({
163
+ clientConfig,
164
+ config,
165
+ req
166
+ });
167
+ // Ensure locale on req is still valid after filtering locales
168
+ if (clientConfig.localization && req.locale && !clientConfig.localization.localeCodes.includes(req.locale)) {
169
+ redirect(`${currentRoute}${qs.stringify({
170
+ ...searchParams,
171
+ locale: clientConfig.localization.localeCodes.includes(clientConfig.localization.defaultLocale) ? clientConfig.localization.defaultLocale : clientConfig.localization.localeCodes[0]
172
+ }, {
173
+ addQueryPrefix: true
174
+ })}`);
265
175
  }
266
- });
267
- return /*#__PURE__*/_jsxs(PageConfigProvider, {
268
- config: clientConfig,
269
- children: [!templateType && /*#__PURE__*/_jsx(React.Fragment, {
270
- children: RenderedView
271
- }), templateType === 'minimal' && /*#__PURE__*/_jsx(MinimalTemplate, {
272
- className: templateClassName,
273
- children: RenderedView
274
- }), templateType === 'default' && /*#__PURE__*/_jsx(DefaultTemplate, {
275
- collectionSlug: collectionConfig?.slug,
276
- docID: routeParams.id,
277
- documentSubViewType: documentSubViewType,
278
- globalSlug: globalConfig?.slug,
279
- i18n: req.i18n,
280
- locale: locale,
281
- params: params,
282
- payload: req.payload,
283
- permissions: permissions,
284
- req: req,
285
- searchParams: searchParams,
286
- user: req.user,
287
- viewActions: viewActions,
288
- viewType: viewType,
289
- visibleEntities: {
290
- // The reason we are not passing in initPageResult.visibleEntities directly is due to a "Cannot assign to read only property of object '#<Object>" error introduced in React 19
291
- // which this caused as soon as initPageResult.visibleEntities is passed in
292
- collections: visibleEntities?.collections,
293
- globals: visibleEntities?.globals
294
- },
295
- children: RenderedView
296
- })]
297
- });
176
+ const visibleEntities = getVisibleEntities({
177
+ req
178
+ });
179
+ const folderID = routeParams.folderID;
180
+ const RenderedView = RenderServerComponent({
181
+ clientProps: {
182
+ browseByFolderSlugs,
183
+ clientConfig,
184
+ documentSubViewType,
185
+ viewType
186
+ },
187
+ Component: DefaultView.payloadComponent,
188
+ Fallback: DefaultView.Component,
189
+ importMap,
190
+ serverProps: {
191
+ clientConfig,
192
+ collectionConfig,
193
+ docID: routeParams.id,
194
+ folderID,
195
+ globalConfig,
196
+ i18n: req.i18n,
197
+ importMap,
198
+ initPageResult: {
199
+ collectionConfig,
200
+ cookies,
201
+ docID: routeParams.id,
202
+ globalConfig,
203
+ languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig])=>{
204
+ if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {
205
+ acc.push({
206
+ label: languageConfig.translations.general.thisLanguage,
207
+ value: language
208
+ });
209
+ }
210
+ return acc;
211
+ }, []),
212
+ locale,
213
+ permissions,
214
+ req,
215
+ translations: req.i18n.translations,
216
+ visibleEntities
217
+ },
218
+ params,
219
+ payload: req.payload,
220
+ searchParams,
221
+ viewActions
222
+ }
223
+ });
224
+ return /*#__PURE__*/ _jsxDEV(PageConfigProvider, {
225
+ config: clientConfig,
226
+ children: [
227
+ !templateType && /*#__PURE__*/ _jsxDEV(React.Fragment, {
228
+ children: RenderedView
229
+ }, void 0, false, {
230
+ fileName: "src/views/Root/index.tsx",
231
+ lineNumber: 326,
232
+ columnNumber: 25
233
+ }, this),
234
+ templateType === 'minimal' && /*#__PURE__*/ _jsxDEV(MinimalTemplate, {
235
+ className: templateClassName,
236
+ children: RenderedView
237
+ }, void 0, false, {
238
+ fileName: "src/views/Root/index.tsx",
239
+ lineNumber: 328,
240
+ columnNumber: 9
241
+ }, this),
242
+ templateType === 'default' && /*#__PURE__*/ _jsxDEV(DefaultTemplate, {
243
+ collectionSlug: collectionConfig?.slug,
244
+ docID: routeParams.id,
245
+ documentSubViewType: documentSubViewType,
246
+ globalSlug: globalConfig?.slug,
247
+ i18n: req.i18n,
248
+ locale: locale,
249
+ params: params,
250
+ payload: req.payload,
251
+ permissions: permissions,
252
+ req: req,
253
+ searchParams: searchParams,
254
+ user: req.user,
255
+ viewActions: viewActions,
256
+ viewType: viewType,
257
+ visibleEntities: {
258
+ // The reason we are not passing in initPageResult.visibleEntities directly is due to a "Cannot assign to read only property of object '#<Object>" error introduced in React 19
259
+ // which this caused as soon as initPageResult.visibleEntities is passed in
260
+ collections: visibleEntities?.collections,
261
+ globals: visibleEntities?.globals
262
+ },
263
+ children: RenderedView
264
+ }, void 0, false, {
265
+ fileName: "src/views/Root/index.tsx",
266
+ lineNumber: 331,
267
+ columnNumber: 9
268
+ }, this)
269
+ ]
270
+ }, void 0, true, {
271
+ fileName: "src/views/Root/index.tsx",
272
+ lineNumber: 325,
273
+ columnNumber: 5
274
+ }, this);
298
275
  };
276
+
299
277
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PageConfigProvider","RenderServerComponent","getClientConfig","notFound","redirect","applyLocaleFiltering","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","getVisibleEntities","handleAuthRedirect","initReq","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","collectionPreferences","folders","id","then","res","value","browseByFolderSlugs","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","createFirstUserRoute","usersCollection","disableLocalStrategy","auth","clientConfig","i18n","localization","localeCodes","includes","defaultLocale","visibleEntities","folderID","RenderedView","clientProps","Fallback","serverProps","docID","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","_jsxs","_jsx","Fragment","className","collectionSlug","globalSlug"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type {\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n ImportMap,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { PageConfigProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { applyLocaleFiltering, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n return notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n await applyLocaleFiltering({ clientConfig, config, req })\n\n // Ensure locale on req is still valid after filtering locales\n if (\n clientConfig.localization &&\n req.locale &&\n !clientConfig.localization.localeCodes.includes(req.locale)\n ) {\n redirect(\n `${currentRoute}${qs.stringify(\n {\n ...searchParams,\n locale: clientConfig.localization.localeCodes.includes(\n clientConfig.localization.defaultLocale,\n )\n ? clientConfig.localization.defaultLocale\n : clientConfig.localization.localeCodes[0],\n },\n { addQueryPrefix: true },\n )}`,\n )\n }\n\n const visibleEntities = getVisibleEntities({ req })\n\n const folderID = routeParams.folderID\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n folderID,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <PageConfigProvider config={clientConfig}>\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </PageConfigProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type {\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n ImportMap,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { PageConfigProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { applyLocaleFiltering, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n return notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n await applyLocaleFiltering({ clientConfig, config, req })\n\n // Ensure locale on req is still valid after filtering locales\n if (\n clientConfig.localization &&\n req.locale &&\n !clientConfig.localization.localeCodes.includes(req.locale)\n ) {\n redirect(\n `${currentRoute}${qs.stringify(\n {\n ...searchParams,\n locale: clientConfig.localization.localeCodes.includes(\n clientConfig.localization.defaultLocale,\n )\n ? clientConfig.localization.defaultLocale\n : clientConfig.localization.localeCodes[0],\n },\n { addQueryPrefix: true },\n )}`,\n )\n }\n\n const visibleEntities = getVisibleEntities({ req })\n\n const folderID = routeParams.folderID\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n folderID,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <PageConfigProvider config={clientConfig}>\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </PageConfigProvider>\n )\n}\n"],"names":["PageConfigProvider","RenderServerComponent","getClientConfig","notFound","redirect","applyLocaleFiltering","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","getVisibleEntities","handleAuthRedirect","initReq","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","collectionPreferences","folders","id","then","res","value","browseByFolderSlugs","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","createFirstUserRoute","usersCollection","disableLocalStrategy","auth","clientConfig","i18n","localization","localeCodes","includes","defaultLocale","visibleEntities","folderID","RenderedView","clientProps","Fallback","serverProps","docID","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","Fragment","className","collectionSlug","globalSlug"],"mappings":"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"}