@payloadcms/next 3.70.0 → 3.71.0-internal-debug.80dab4c

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 +61 -23
  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 +9 -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 +148 -127
  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 +34 -41
  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 +290 -197
  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 +147 -138
  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 +72 -75
  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 +40 -47
  199. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  200. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +64 -65
  201. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  202. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +164 -147
  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 +66 -66
  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 +205 -195
  231. package/dist/views/Document/getVersions.js.map +1 -1
  232. package/dist/views/Document/handleServerFunction.js +103 -128
  233. package/dist/views/Document/handleServerFunction.js.map +1 -1
  234. package/dist/views/Document/index.js +316 -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 +121 -132
  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 +98 -121
  261. package/dist/views/List/handleServerFunction.js.map +1 -1
  262. package/dist/views/List/index.js +305 -323
  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 +36 -41
  361. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  362. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +192 -178
  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 +132 -143
  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 -210
  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/getFieldPathsModified.js +25 -22
  393. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -1
  394. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
  395. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  396. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
  397. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  398. package/dist/views/Version/Restore/index.js +117 -93
  399. package/dist/views/Version/Restore/index.js.map +1 -1
  400. package/dist/views/Version/Restore/index.scss +84 -0
  401. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
  402. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  403. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
  404. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  405. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
  406. package/dist/views/Version/SelectComparison/index.js +73 -50
  407. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  408. package/dist/views/Version/SelectComparison/index.scss +9 -0
  409. package/dist/views/Version/SelectComparison/types.js +2 -1
  410. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  411. package/dist/views/Version/SelectLocales/index.js +34 -32
  412. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  413. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +104 -95
  414. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  415. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +23 -27
  416. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  417. package/dist/views/Version/VersionPillLabel/index.scss +26 -0
  418. package/dist/views/Version/fetchVersions.js +113 -138
  419. package/dist/views/Version/fetchVersions.js.map +1 -1
  420. package/dist/views/Version/index.js +325 -323
  421. package/dist/views/Version/index.js.map +1 -1
  422. package/dist/views/Version/metadata.js +43 -50
  423. package/dist/views/Version/metadata.js.map +1 -1
  424. package/dist/views/Versions/buildColumns.js +95 -79
  425. package/dist/views/Versions/buildColumns.js.map +1 -1
  426. package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
  427. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  428. package/dist/views/Versions/cells/AutosaveCell/index.scss +9 -0
  429. package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
  430. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  431. package/dist/views/Versions/cells/ID/index.js +10 -8
  432. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  433. package/dist/views/Versions/index.client.js +106 -83
  434. package/dist/views/Versions/index.client.js.map +1 -1
  435. package/dist/views/Versions/index.js +143 -143
  436. package/dist/views/Versions/index.js.map +1 -1
  437. package/dist/views/Versions/index.scss +110 -0
  438. package/dist/views/Versions/metadata.js +37 -44
  439. package/dist/views/Versions/metadata.js.map +1 -1
  440. package/dist/views/Versions/types.js +2 -1
  441. package/dist/views/Versions/types.js.map +1 -1
  442. package/dist/withPayload/withPayload.js +198 -143
  443. package/dist/withPayload/withPayload.js.map +1 -1
  444. package/dist/withPayload/withPayload.utils.js +92 -95
  445. package/dist/withPayload/withPayload.utils.js.map +1 -1
  446. package/dist/withPayload/withPayloadLegacy.js +42 -40
  447. package/dist/withPayload/withPayloadLegacy.js.map +1 -1
  448. package/package.json +7 -7
@@ -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 { getVisibleEntities } from '@payloadcms/ui/shared';
@@ -16,285 +16,263 @@ 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
+ // intentionally omit `serverURL` to keep URL relative
84
+ urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`
85
+ }
86
+ });
87
+ if (!permissions.canAccessAdmin && !isPublicAdminRoute({
88
+ adminRoute,
89
+ config: payload.config,
90
+ route: currentRoute
91
+ }) && !isCustomAdminView({
92
+ adminRoute,
93
+ config: payload.config,
94
+ route: currentRoute
95
+ })) {
96
+ redirect(handleAuthRedirect({
97
+ config: payload.config,
98
+ route: currentRoute,
99
+ searchParams,
100
+ user: req.user
101
+ }));
81
102
  }
82
- if (segments[1]) {
83
- globalConfig = config.globals.find(({
84
- slug
85
- }) => slug === segments[1]);
103
+ let collectionPreferences = undefined;
104
+ if (collectionConfig && segments.length === 2) {
105
+ if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {
106
+ await getPreferences(`collection-${collectionConfig.slug}`, req.payload, req.user.id, config.admin.user).then((res)=>{
107
+ if (res && res.value) {
108
+ collectionPreferences = res.value;
109
+ }
110
+ });
111
+ }
86
112
  }
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
113
+ const { browseByFolderSlugs, DefaultView, documentSubViewType, routeParams, templateClassName, templateType, viewActions, viewType } = getRouteData({
114
+ adminRoute,
115
+ collectionConfig,
116
+ collectionPreferences,
117
+ currentRoute,
118
+ globalConfig,
119
+ payload,
120
+ searchParams,
121
+ segments
122
+ });
123
+ req.routeParams = routeParams;
124
+ const dbHasUser = req.user || await req.payload.db.findOne({
125
+ collection: userSlug,
126
+ req
127
+ })?.then((doc)=>!!doc);
128
+ /**
129
+ * This function is responsible for handling the case where the view is not found.
130
+ * The current route did not match any default views or custom route views.
131
+ */ if (!DefaultView?.Component && !DefaultView?.payloadComponent) {
132
+ if (req?.user) {
133
+ notFound();
134
+ }
135
+ if (dbHasUser) {
136
+ redirect(adminRoute);
137
+ }
101
138
  }
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
- // intentionally omit `serverURL` to keep URL relative
115
- urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`
139
+ const usersCollection = config.collections.find(({ slug })=>slug === userSlug);
140
+ const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy;
141
+ const createFirstUserRoute = formatAdminURL({
142
+ adminRoute,
143
+ path: _createFirstUserRoute
144
+ });
145
+ if (disableLocalStrategy && currentRoute === createFirstUserRoute) {
146
+ redirect(adminRoute);
116
147
  }
117
- });
118
- if (!permissions.canAccessAdmin && !isPublicAdminRoute({
119
- adminRoute,
120
- config: payload.config,
121
- route: currentRoute
122
- }) && !isCustomAdminView({
123
- adminRoute,
124
- config: payload.config,
125
- route: currentRoute
126
- })) {
127
- redirect(handleAuthRedirect({
128
- config: payload.config,
129
- route: currentRoute,
130
- searchParams,
131
- user: req.user
132
- }));
133
- }
134
- let collectionPreferences = undefined;
135
- if (collectionConfig && segments.length === 2) {
136
- if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {
137
- await getPreferences(`collection-${collectionConfig.slug}`, req.payload, req.user.id, config.admin.user).then(res => {
138
- if (res && res.value) {
139
- collectionPreferences = res.value;
140
- }
141
- });
148
+ if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {
149
+ redirect(createFirstUserRoute);
142
150
  }
143
- }
144
- const {
145
- browseByFolderSlugs,
146
- DefaultView,
147
- documentSubViewType,
148
- routeParams,
149
- templateClassName,
150
- templateType,
151
- viewActions,
152
- viewType
153
- } = getRouteData({
154
- adminRoute,
155
- collectionConfig,
156
- collectionPreferences,
157
- currentRoute,
158
- globalConfig,
159
- payload,
160
- searchParams,
161
- segments
162
- });
163
- req.routeParams = routeParams;
164
- const dbHasUser = req.user || (await req.payload.db.findOne({
165
- collection: userSlug,
166
- req
167
- })?.then(doc => !!doc));
168
- /**
169
- * This function is responsible for handling the case where the view is not found.
170
- * The current route did not match any default views or custom route views.
171
- */
172
- if (!DefaultView?.Component && !DefaultView?.payloadComponent) {
173
- if (req?.user) {
174
- notFound();
151
+ if (dbHasUser && currentRoute === createFirstUserRoute) {
152
+ redirect(adminRoute);
175
153
  }
176
- if (dbHasUser) {
177
- redirect(adminRoute);
154
+ if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {
155
+ redirect(adminRoute);
178
156
  }
179
- }
180
- const usersCollection = config.collections.find(({
181
- slug
182
- }) => slug === userSlug);
183
- const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy;
184
- const createFirstUserRoute = formatAdminURL({
185
- adminRoute,
186
- path: _createFirstUserRoute
187
- });
188
- if (disableLocalStrategy && currentRoute === createFirstUserRoute) {
189
- redirect(adminRoute);
190
- }
191
- if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {
192
- redirect(createFirstUserRoute);
193
- }
194
- if (dbHasUser && currentRoute === createFirstUserRoute) {
195
- redirect(adminRoute);
196
- }
197
- if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {
198
- redirect(adminRoute);
199
- }
200
- const clientConfig = getClientConfig({
201
- config,
202
- i18n: req.i18n,
203
- importMap,
204
- user: viewType === 'createFirstUser' ? true : req.user
205
- });
206
- await applyLocaleFiltering({
207
- clientConfig,
208
- config,
209
- req
210
- });
211
- // Ensure locale on req is still valid after filtering locales
212
- if (clientConfig.localization && req.locale && !clientConfig.localization.localeCodes.includes(req.locale)) {
213
- redirect(`${currentRoute}${qs.stringify({
214
- ...searchParams,
215
- locale: clientConfig.localization.localeCodes.includes(clientConfig.localization.defaultLocale) ? clientConfig.localization.defaultLocale : clientConfig.localization.localeCodes[0]
216
- }, {
217
- addQueryPrefix: true
218
- })}`);
219
- }
220
- const visibleEntities = getVisibleEntities({
221
- req
222
- });
223
- const folderID = routeParams.folderID;
224
- const RenderedView = RenderServerComponent({
225
- clientProps: {
226
- browseByFolderSlugs,
227
- clientConfig,
228
- documentSubViewType,
229
- viewType
230
- },
231
- Component: DefaultView.payloadComponent,
232
- Fallback: DefaultView.Component,
233
- importMap,
234
- serverProps: {
235
- clientConfig,
236
- collectionConfig,
237
- docID: routeParams.id,
238
- folderID,
239
- globalConfig,
240
- i18n: req.i18n,
241
- importMap,
242
- initPageResult: {
243
- collectionConfig,
244
- cookies,
245
- docID: routeParams.id,
246
- globalConfig,
247
- languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig]) => {
248
- if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {
249
- acc.push({
250
- label: languageConfig.translations.general.thisLanguage,
251
- value: language
252
- });
253
- }
254
- return acc;
255
- }, []),
256
- locale,
257
- permissions,
258
- req,
259
- translations: req.i18n.translations,
260
- visibleEntities
261
- },
262
- params,
263
- payload: req.payload,
264
- searchParams,
265
- viewActions
157
+ const clientConfig = getClientConfig({
158
+ config,
159
+ i18n: req.i18n,
160
+ importMap,
161
+ user: viewType === 'createFirstUser' ? true : req.user
162
+ });
163
+ await applyLocaleFiltering({
164
+ clientConfig,
165
+ config,
166
+ req
167
+ });
168
+ // Ensure locale on req is still valid after filtering locales
169
+ if (clientConfig.localization && req.locale && !clientConfig.localization.localeCodes.includes(req.locale)) {
170
+ redirect(`${currentRoute}${qs.stringify({
171
+ ...searchParams,
172
+ locale: clientConfig.localization.localeCodes.includes(clientConfig.localization.defaultLocale) ? clientConfig.localization.defaultLocale : clientConfig.localization.localeCodes[0]
173
+ }, {
174
+ addQueryPrefix: true
175
+ })}`);
266
176
  }
267
- });
268
- return /*#__PURE__*/_jsxs(PageConfigProvider, {
269
- config: clientConfig,
270
- children: [!templateType && /*#__PURE__*/_jsx(React.Fragment, {
271
- children: RenderedView
272
- }), templateType === 'minimal' && /*#__PURE__*/_jsx(MinimalTemplate, {
273
- className: templateClassName,
274
- children: RenderedView
275
- }), templateType === 'default' && /*#__PURE__*/_jsx(DefaultTemplate, {
276
- collectionSlug: collectionConfig?.slug,
277
- docID: routeParams.id,
278
- documentSubViewType: documentSubViewType,
279
- globalSlug: globalConfig?.slug,
280
- i18n: req.i18n,
281
- locale: locale,
282
- params: params,
283
- payload: req.payload,
284
- permissions: permissions,
285
- req: req,
286
- searchParams: searchParams,
287
- user: req.user,
288
- viewActions: viewActions,
289
- viewType: viewType,
290
- visibleEntities: {
291
- // 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
292
- // which this caused as soon as initPageResult.visibleEntities is passed in
293
- collections: visibleEntities?.collections,
294
- globals: visibleEntities?.globals
295
- },
296
- children: RenderedView
297
- })]
298
- });
177
+ const visibleEntities = getVisibleEntities({
178
+ req
179
+ });
180
+ const folderID = routeParams.folderID;
181
+ const RenderedView = RenderServerComponent({
182
+ clientProps: {
183
+ browseByFolderSlugs,
184
+ clientConfig,
185
+ documentSubViewType,
186
+ viewType
187
+ },
188
+ Component: DefaultView.payloadComponent,
189
+ Fallback: DefaultView.Component,
190
+ importMap,
191
+ serverProps: {
192
+ clientConfig,
193
+ collectionConfig,
194
+ docID: routeParams.id,
195
+ folderID,
196
+ globalConfig,
197
+ i18n: req.i18n,
198
+ importMap,
199
+ initPageResult: {
200
+ collectionConfig,
201
+ cookies,
202
+ docID: routeParams.id,
203
+ globalConfig,
204
+ languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig])=>{
205
+ if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {
206
+ acc.push({
207
+ label: languageConfig.translations.general.thisLanguage,
208
+ value: language
209
+ });
210
+ }
211
+ return acc;
212
+ }, []),
213
+ locale,
214
+ permissions,
215
+ req,
216
+ translations: req.i18n.translations,
217
+ visibleEntities
218
+ },
219
+ params,
220
+ payload: req.payload,
221
+ searchParams,
222
+ viewActions
223
+ }
224
+ });
225
+ return /*#__PURE__*/ _jsxDEV(PageConfigProvider, {
226
+ config: clientConfig,
227
+ children: [
228
+ !templateType && /*#__PURE__*/ _jsxDEV(React.Fragment, {
229
+ children: RenderedView
230
+ }, void 0, false, {
231
+ fileName: "src/views/Root/index.tsx",
232
+ lineNumber: 332,
233
+ columnNumber: 25
234
+ }, this),
235
+ templateType === 'minimal' && /*#__PURE__*/ _jsxDEV(MinimalTemplate, {
236
+ className: templateClassName,
237
+ children: RenderedView
238
+ }, void 0, false, {
239
+ fileName: "src/views/Root/index.tsx",
240
+ lineNumber: 334,
241
+ columnNumber: 9
242
+ }, this),
243
+ templateType === 'default' && /*#__PURE__*/ _jsxDEV(DefaultTemplate, {
244
+ collectionSlug: collectionConfig?.slug,
245
+ docID: routeParams.id,
246
+ documentSubViewType: documentSubViewType,
247
+ globalSlug: globalConfig?.slug,
248
+ i18n: req.i18n,
249
+ locale: locale,
250
+ params: params,
251
+ payload: req.payload,
252
+ permissions: permissions,
253
+ req: req,
254
+ searchParams: searchParams,
255
+ user: req.user,
256
+ viewActions: viewActions,
257
+ viewType: viewType,
258
+ visibleEntities: {
259
+ // 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
260
+ // which this caused as soon as initPageResult.visibleEntities is passed in
261
+ collections: visibleEntities?.collections,
262
+ globals: visibleEntities?.globals
263
+ },
264
+ children: RenderedView
265
+ }, void 0, false, {
266
+ fileName: "src/views/Root/index.tsx",
267
+ lineNumber: 337,
268
+ columnNumber: 9
269
+ }, this)
270
+ ]
271
+ }, void 0, true, {
272
+ fileName: "src/views/Root/index.tsx",
273
+ lineNumber: 331,
274
+ columnNumber: 5
275
+ }, this);
299
276
  };
277
+
300
278
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PageConfigProvider","RenderServerComponent","getVisibleEntities","getClientConfig","notFound","redirect","applyLocaleFiltering","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","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","usersCollection","disableLocalStrategy","auth","createFirstUserRoute","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 { getVisibleEntities } from '@payloadcms/ui/shared'\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 { 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\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 // intentionally omit `serverURL` to keep URL relative\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 usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n const createFirstUserRoute = formatAdminURL({\n adminRoute,\n path: _createFirstUserRoute,\n })\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\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 { getVisibleEntities } from '@payloadcms/ui/shared'\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 { 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\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 // intentionally omit `serverURL` to keep URL relative\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 usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n const createFirstUserRoute = formatAdminURL({\n adminRoute,\n path: _createFirstUserRoute,\n })\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\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","getVisibleEntities","getClientConfig","notFound","redirect","applyLocaleFiltering","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","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","usersCollection","disableLocalStrategy","auth","createFirstUserRoute","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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"}