@payloadcms/next 3.0.0-canary.b6520aa → 3.0.0-canary.b8dd0db

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 (318) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +3 -1
  2. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +16 -3
  4. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +2 -2
  6. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +2 -2
  8. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -2
  10. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/index.js +27 -17
  12. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/index.scss +0 -1
  14. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +2 -0
  15. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  16. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +15 -15
  17. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  18. package/dist/elements/DocumentHeader/index.d.ts +2 -2
  19. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  20. package/dist/elements/DocumentHeader/index.js +2 -2
  21. package/dist/elements/DocumentHeader/index.js.map +1 -1
  22. package/dist/elements/DocumentHeader/index.scss +5 -4
  23. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  24. package/dist/elements/EmailAndUsername/index.js +31 -27
  25. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  26. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  27. package/dist/elements/LeaveWithoutSaving/index.js +7 -0
  28. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  29. package/dist/elements/LeaveWithoutSaving/index.scss +1 -0
  30. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +2 -1
  31. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  32. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +3 -1
  33. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  34. package/dist/elements/Logo/index.d.ts.map +1 -1
  35. package/dist/elements/Logo/index.js +8 -5
  36. package/dist/elements/Logo/index.js.map +1 -1
  37. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  38. package/dist/elements/Nav/NavWrapper/index.js +4 -2
  39. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  40. package/dist/elements/Nav/NavWrapper/index.scss +4 -1
  41. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  42. package/dist/elements/Nav/index.client.js +8 -9
  43. package/dist/elements/Nav/index.client.js.map +1 -1
  44. package/dist/elements/Nav/index.d.ts.map +1 -1
  45. package/dist/elements/Nav/index.js +21 -27
  46. package/dist/elements/Nav/index.js.map +1 -1
  47. package/dist/elements/Nav/index.scss +21 -15
  48. package/dist/layouts/Root/index.d.ts +5 -4
  49. package/dist/layouts/Root/index.d.ts.map +1 -1
  50. package/dist/layouts/Root/index.js +54 -14
  51. package/dist/layouts/Root/index.js.map +1 -1
  52. package/dist/prod/styles.css +1 -1
  53. package/dist/routes/rest/buildFormState.js +4 -4
  54. package/dist/routes/rest/buildFormState.js.map +1 -1
  55. package/dist/routes/rest/og/image.d.ts +2 -1
  56. package/dist/routes/rest/og/image.d.ts.map +1 -1
  57. package/dist/routes/rest/og/image.js +6 -2
  58. package/dist/routes/rest/og/image.js.map +1 -1
  59. package/dist/routes/rest/og/index.d.ts.map +1 -1
  60. package/dist/routes/rest/og/index.js +7 -3
  61. package/dist/routes/rest/og/index.js.map +1 -1
  62. package/dist/scss/app.scss +5 -5
  63. package/dist/scss/toasts.scss +15 -14
  64. package/dist/scss/type.scss +1 -0
  65. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  66. package/dist/templates/Default/Wrapper/index.js +4 -2
  67. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  68. package/dist/templates/Default/Wrapper/index.scss +36 -4
  69. package/dist/templates/Default/index.d.ts.map +1 -1
  70. package/dist/templates/Default/index.js +16 -23
  71. package/dist/templates/Default/index.js.map +1 -1
  72. package/dist/utilities/getPayloadHMR.d.ts +1 -1
  73. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  74. package/dist/utilities/getPayloadHMR.js +15 -2
  75. package/dist/utilities/getPayloadHMR.js.map +1 -1
  76. package/dist/utilities/initPage/index.d.ts +1 -1
  77. package/dist/utilities/initPage/index.d.ts.map +1 -1
  78. package/dist/utilities/initPage/index.js +3 -2
  79. package/dist/utilities/initPage/index.js.map +1 -1
  80. package/dist/utilities/initPage/types.d.ts +2 -1
  81. package/dist/utilities/initPage/types.d.ts.map +1 -1
  82. package/dist/utilities/initPage/types.js.map +1 -1
  83. package/dist/utilities/meta.js +4 -1
  84. package/dist/utilities/meta.js.map +1 -1
  85. package/dist/views/API/LocaleSelector/index.d.ts +2 -2
  86. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  87. package/dist/views/API/LocaleSelector/index.js +7 -5
  88. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  89. package/dist/views/API/index.client.d.ts.map +1 -1
  90. package/dist/views/API/index.client.js +39 -33
  91. package/dist/views/API/index.client.js.map +1 -1
  92. package/dist/views/API/index.d.ts +2 -2
  93. package/dist/views/API/index.d.ts.map +1 -1
  94. package/dist/views/API/index.js.map +1 -1
  95. package/dist/views/API/index.scss +1 -2
  96. package/dist/views/API/meta.d.ts.map +1 -1
  97. package/dist/views/API/meta.js +10 -6
  98. package/dist/views/API/meta.js.map +1 -1
  99. package/dist/views/Account/Settings/index.d.ts +3 -3
  100. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  101. package/dist/views/Account/Settings/index.js +1 -0
  102. package/dist/views/Account/Settings/index.js.map +1 -1
  103. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  104. package/dist/views/Account/ToggleTheme/index.js +18 -16
  105. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  106. package/dist/views/Account/index.client.d.ts +3 -0
  107. package/dist/views/Account/index.client.d.ts.map +1 -0
  108. package/dist/views/Account/index.client.js +21 -0
  109. package/dist/views/Account/index.client.js.map +1 -0
  110. package/dist/views/Account/index.d.ts.map +1 -1
  111. package/dist/views/Account/index.js +38 -36
  112. package/dist/views/Account/index.js.map +1 -1
  113. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  114. package/dist/views/CreateFirstUser/index.client.js +10 -10
  115. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  116. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  117. package/dist/views/Dashboard/Default/index.js +21 -27
  118. package/dist/views/Dashboard/Default/index.js.map +1 -1
  119. package/dist/views/Dashboard/index.d.ts.map +1 -1
  120. package/dist/views/Dashboard/index.js +26 -30
  121. package/dist/views/Dashboard/index.js.map +1 -1
  122. package/dist/views/Document/getCustomViewByKey.d.ts.map +1 -1
  123. package/dist/views/Document/getCustomViewByKey.js +1 -2
  124. package/dist/views/Document/getCustomViewByKey.js.map +1 -1
  125. package/dist/views/Document/getCustomViewByRoute.d.ts +4 -1
  126. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  127. package/dist/views/Document/getCustomViewByRoute.js +16 -6
  128. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  129. package/dist/views/Document/getMetaBySegment.d.ts +2 -1
  130. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  131. package/dist/views/Document/getMetaBySegment.js +73 -28
  132. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  133. package/dist/views/Document/getViewsFromConfig.d.ts +18 -7
  134. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  135. package/dist/views/Document/getViewsFromConfig.js +295 -204
  136. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  137. package/dist/views/Document/index.d.ts.map +1 -1
  138. package/dist/views/Document/index.js +40 -43
  139. package/dist/views/Document/index.js.map +1 -1
  140. package/dist/views/Edit/Default/Auth/APIKey.d.ts +2 -2
  141. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  142. package/dist/views/Edit/Default/Auth/APIKey.js +35 -7
  143. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  144. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  145. package/dist/views/Edit/Default/Auth/index.js +27 -14
  146. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  147. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
  148. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +1 -1
  149. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  150. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  151. package/dist/views/Edit/Default/index.js +24 -19
  152. package/dist/views/Edit/Default/index.js.map +1 -1
  153. package/dist/views/Edit/index.client.d.ts.map +1 -1
  154. package/dist/views/Edit/index.client.js +11 -6
  155. package/dist/views/Edit/index.client.js.map +1 -1
  156. package/dist/views/Edit/index.d.ts +2 -2
  157. package/dist/views/Edit/index.d.ts.map +1 -1
  158. package/dist/views/Edit/index.js.map +1 -1
  159. package/dist/views/Edit/meta.d.ts.map +1 -1
  160. package/dist/views/Edit/meta.js +30 -19
  161. package/dist/views/Edit/meta.js.map +1 -1
  162. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  163. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +11 -7
  164. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  165. package/dist/views/List/Default/index.d.ts.map +1 -1
  166. package/dist/views/List/Default/index.js +90 -67
  167. package/dist/views/List/Default/index.js.map +1 -1
  168. package/dist/views/List/Default/index.scss +8 -23
  169. package/dist/views/List/index.d.ts.map +1 -1
  170. package/dist/views/List/index.js +50 -44
  171. package/dist/views/List/index.js.map +1 -1
  172. package/dist/views/List/meta.js +1 -1
  173. package/dist/views/List/meta.js.map +1 -1
  174. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  175. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  176. package/dist/views/LivePreview/Context/context.js.map +1 -1
  177. package/dist/views/LivePreview/Context/index.d.ts +3 -3
  178. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  179. package/dist/views/LivePreview/Context/index.js.map +1 -1
  180. package/dist/views/LivePreview/index.client.d.ts +3 -3
  181. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  182. package/dist/views/LivePreview/index.client.js +84 -93
  183. package/dist/views/LivePreview/index.client.js.map +1 -1
  184. package/dist/views/LivePreview/index.d.ts +2 -2
  185. package/dist/views/LivePreview/index.d.ts.map +1 -1
  186. package/dist/views/LivePreview/index.js.map +1 -1
  187. package/dist/views/LivePreview/meta.d.ts.map +1 -1
  188. package/dist/views/LivePreview/meta.js +2 -1
  189. package/dist/views/LivePreview/meta.js.map +1 -1
  190. package/dist/views/LivePreview/usePopupWindow.d.ts +2 -1
  191. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  192. package/dist/views/LivePreview/usePopupWindow.js +1 -1
  193. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  194. package/dist/views/Login/LoginField/index.d.ts +3 -3
  195. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  196. package/dist/views/Login/LoginField/index.js +15 -12
  197. package/dist/views/Login/LoginField/index.js.map +1 -1
  198. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  199. package/dist/views/Login/LoginForm/index.js +6 -4
  200. package/dist/views/Login/LoginForm/index.js.map +1 -1
  201. package/dist/views/Login/index.d.ts.map +1 -1
  202. package/dist/views/Login/index.js +21 -27
  203. package/dist/views/Login/index.js.map +1 -1
  204. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  205. package/dist/views/NotFound/index.client.js +1 -1
  206. package/dist/views/NotFound/index.client.js.map +1 -1
  207. package/dist/views/NotFound/index.d.ts +4 -3
  208. package/dist/views/NotFound/index.d.ts.map +1 -1
  209. package/dist/views/NotFound/index.js +14 -22
  210. package/dist/views/NotFound/index.js.map +1 -1
  211. package/dist/views/ResetPassword/index.client.d.ts +1 -1
  212. package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
  213. package/dist/views/ResetPassword/index.client.js +9 -6
  214. package/dist/views/ResetPassword/index.client.js.map +1 -1
  215. package/dist/views/Root/generateCustomViewMetadata.d.ts +11 -0
  216. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -0
  217. package/dist/views/Root/generateCustomViewMetadata.js +23 -0
  218. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -0
  219. package/dist/views/Root/getCustomViewByRoute.d.ts +7 -2
  220. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  221. package/dist/views/Root/getCustomViewByRoute.js +29 -11
  222. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  223. package/dist/views/Root/getViewFromConfig.d.ts +10 -4
  224. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  225. package/dist/views/Root/getViewFromConfig.js +32 -15
  226. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  227. package/dist/views/Root/index.d.ts +6 -5
  228. package/dist/views/Root/index.d.ts.map +1 -1
  229. package/dist/views/Root/index.js +14 -6
  230. package/dist/views/Root/index.js.map +1 -1
  231. package/dist/views/Root/meta.d.ts.map +1 -1
  232. package/dist/views/Root/meta.js +19 -2
  233. package/dist/views/Root/meta.js.map +1 -1
  234. package/dist/views/Unauthorized/index.d.ts +2 -2
  235. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  236. package/dist/views/Unauthorized/index.js.map +1 -1
  237. package/dist/views/Version/Default/SetStepNav.d.ts +8 -8
  238. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  239. package/dist/views/Version/Default/SetStepNav.js +7 -7
  240. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  241. package/dist/views/Version/Default/index.d.ts.map +1 -1
  242. package/dist/views/Version/Default/index.js +10 -15
  243. package/dist/views/Version/Default/index.js.map +1 -1
  244. package/dist/views/Version/Default/types.d.ts +7 -7
  245. package/dist/views/Version/Default/types.d.ts.map +1 -1
  246. package/dist/views/Version/Default/types.js.map +1 -1
  247. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +2 -2
  248. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  249. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +20 -20
  250. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  251. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +2 -2
  252. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
  253. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +4 -4
  254. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  255. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +3 -2
  256. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  257. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +4 -4
  258. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  259. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -5
  260. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  261. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +1 -1
  262. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  263. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -5
  264. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  265. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +2 -2
  266. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  267. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +3 -2
  268. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  269. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +1 -1
  270. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  271. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +21 -28
  272. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  273. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -1
  274. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  275. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +15 -15
  276. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  277. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  278. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  279. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -8
  280. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  281. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +9 -9
  282. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  283. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  284. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  285. package/dist/views/Version/Restore/index.js +1 -1
  286. package/dist/views/Version/Restore/index.js.map +1 -1
  287. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  288. package/dist/views/Version/SelectComparison/index.js +1 -1
  289. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  290. package/dist/views/Version/index.d.ts +2 -2
  291. package/dist/views/Version/index.d.ts.map +1 -1
  292. package/dist/views/Version/index.js +32 -5
  293. package/dist/views/Version/index.js.map +1 -1
  294. package/dist/views/Version/meta.d.ts.map +1 -1
  295. package/dist/views/Version/meta.js +24 -19
  296. package/dist/views/Version/meta.js.map +1 -1
  297. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  298. package/dist/views/Versions/buildColumns.js +40 -16
  299. package/dist/views/Versions/buildColumns.js.map +1 -1
  300. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  301. package/dist/views/Versions/cells/CreatedAt/index.js +1 -1
  302. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  303. package/dist/views/Versions/getLatestVersion.d.ts +13 -4
  304. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  305. package/dist/views/Versions/getLatestVersion.js +6 -1
  306. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  307. package/dist/views/Versions/index.client.d.ts +4 -4
  308. package/dist/views/Versions/index.client.d.ts.map +1 -1
  309. package/dist/views/Versions/index.client.js +8 -6
  310. package/dist/views/Versions/index.client.js.map +1 -1
  311. package/dist/views/Versions/index.d.ts +2 -2
  312. package/dist/views/Versions/index.d.ts.map +1 -1
  313. package/dist/views/Versions/index.js +24 -4
  314. package/dist/views/Versions/index.js.map +1 -1
  315. package/dist/views/Versions/meta.d.ts.map +1 -1
  316. package/dist/views/Versions/meta.js +24 -19
  317. package/dist/views/Versions/meta.js.map +1 -1
  318. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Root/getCustomViewByRoute.tsx"],"sourcesContent":["import type { AdminViewComponent, SanitizedConfig } from 'payload'\n\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nexport const getCustomViewByRoute = ({\n config,\n currentRoute: currentRouteWithAdmin,\n}: {\n config: SanitizedConfig\n currentRoute: string\n}): AdminViewComponent => {\n const {\n admin: {\n components: { views },\n },\n routes: { admin: adminRoute },\n } = config\n\n const currentRoute = currentRouteWithAdmin.replace(adminRoute, '')\n\n const foundViewConfig =\n views &&\n typeof views === 'object' &&\n Object.entries(views).find(([, view]) => {\n if (typeof view === 'object') {\n return isPathMatchingRoute({\n currentRoute,\n exact: view.exact,\n path: view.path,\n sensitive: view.sensitive,\n strict: view.strict,\n })\n }\n })?.[1]\n\n return typeof foundViewConfig === 'object' ? foundViewConfig.Component : null\n}\n"],"names":["isPathMatchingRoute","getCustomViewByRoute","config","currentRoute","currentRouteWithAdmin","admin","components","views","routes","adminRoute","replace","foundViewConfig","Object","entries","find","view","exact","path","sensitive","strict","Component"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,2BAA0B;AAE9D,OAAO,MAAMC,uBAAuB,CAAC,EACnCC,MAAM,EACNC,cAAcC,qBAAqB,EAIpC;IACC,MAAM,EACJC,OAAO,EACLC,YAAY,EAAEC,KAAK,EAAE,EACtB,EACDC,QAAQ,EAAEH,OAAOI,UAAU,EAAE,EAC9B,GAAGP;IAEJ,MAAMC,eAAeC,sBAAsBM,OAAO,CAACD,YAAY;IAE/D,MAAME,kBACJJ,SACA,OAAOA,UAAU,YACjBK,OAAOC,OAAO,CAACN,OAAOO,IAAI,CAAC,CAAC,GAAGC,KAAK;QAClC,IAAI,OAAOA,SAAS,UAAU;YAC5B,OAAOf,oBAAoB;gBACzBG;gBACAa,OAAOD,KAAKC,KAAK;gBACjBC,MAAMF,KAAKE,IAAI;gBACfC,WAAWH,KAAKG,SAAS;gBACzBC,QAAQJ,KAAKI,MAAM;YACrB;QACF;IACF,IAAI,CAAC,EAAE;IAET,OAAO,OAAOR,oBAAoB,WAAWA,gBAAgBS,SAAS,GAAG;AAC3E,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/Root/getCustomViewByRoute.ts"],"sourcesContent":["import type { AdminViewConfig, SanitizedConfig } from 'payload'\n\nimport type { ViewFromConfig } from './getViewFromConfig.js'\n\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nexport const getCustomViewByRoute = ({\n config,\n currentRoute: currentRouteWithAdmin,\n}: {\n config: SanitizedConfig\n currentRoute: string\n}): {\n view: ViewFromConfig\n viewConfig: AdminViewConfig\n viewKey: string\n} => {\n const {\n admin: {\n components: { views },\n },\n routes: { admin: adminRoute },\n } = config\n\n const currentRoute = currentRouteWithAdmin.replace(adminRoute, '')\n let viewKey: string\n\n const foundViewConfig =\n (views &&\n typeof views === 'object' &&\n Object.entries(views).find(([key, view]) => {\n const isMatching = isPathMatchingRoute({\n currentRoute,\n exact: view.exact,\n path: view.path,\n sensitive: view.sensitive,\n strict: view.strict,\n })\n\n if (isMatching) {\n viewKey = key\n }\n\n return isMatching\n })?.[1]) ||\n undefined\n\n if (!foundViewConfig) {\n return {\n view: {\n Component: null,\n },\n viewConfig: null,\n viewKey: null,\n }\n }\n\n return {\n view: {\n payloadComponent: foundViewConfig.Component,\n },\n viewConfig: foundViewConfig,\n viewKey,\n }\n}\n"],"names":["isPathMatchingRoute","getCustomViewByRoute","config","currentRoute","currentRouteWithAdmin","admin","components","views","routes","adminRoute","replace","viewKey","foundViewConfig","Object","entries","find","key","view","isMatching","exact","path","sensitive","strict","undefined","Component","viewConfig","payloadComponent"],"mappings":"AAIA,SAASA,mBAAmB,QAAQ,2BAA0B;AAE9D,OAAO,MAAMC,uBAAuB,CAAC,EACnCC,MAAM,EACNC,cAAcC,qBAAqB,EAIpC;IAKC,MAAM,EACJC,OAAO,EACLC,YAAY,EAAEC,KAAK,EAAE,EACtB,EACDC,QAAQ,EAAEH,OAAOI,UAAU,EAAE,EAC9B,GAAGP;IAEJ,MAAMC,eAAeC,sBAAsBM,OAAO,CAACD,YAAY;IAC/D,IAAIE;IAEJ,MAAMC,kBACJ,AAACL,SACC,OAAOA,UAAU,YACjBM,OAAOC,OAAO,CAACP,OAAOQ,IAAI,CAAC,CAAC,CAACC,KAAKC,KAAK;QACrC,MAAMC,aAAalB,oBAAoB;YACrCG;YACAgB,OAAOF,KAAKE,KAAK;YACjBC,MAAMH,KAAKG,IAAI;YACfC,WAAWJ,KAAKI,SAAS;YACzBC,QAAQL,KAAKK,MAAM;QACrB;QAEA,IAAIJ,YAAY;YACdP,UAAUK;QACZ;QAEA,OAAOE;IACT,IAAI,CAAC,EAAE,IACTK;IAEF,IAAI,CAACX,iBAAiB;QACpB,OAAO;YACLK,MAAM;gBACJO,WAAW;YACb;YACAC,YAAY;YACZd,SAAS;QACX;IACF;IAEA,OAAO;QACLM,MAAM;YACJS,kBAAkBd,gBAAgBY,SAAS;QAC7C;QACAC,YAAYb;QACZD;IACF;AACF,EAAC"}
@@ -1,15 +1,21 @@
1
- import type { AdminViewComponent, SanitizedConfig } from 'payload';
1
+ import type { AdminViewComponent, AdminViewProps, ImportMap, SanitizedConfig } from 'payload';
2
+ import type React from 'react';
2
3
  import type { initPage } from '../../utilities/initPage/index.js';
3
- export declare const getViewFromConfig: ({ adminRoute, config, currentRoute, searchParams, segments, }: {
4
- adminRoute: any;
4
+ export type ViewFromConfig = {
5
+ Component?: React.FC<AdminViewProps>;
6
+ payloadComponent?: AdminViewComponent;
7
+ };
8
+ export declare const getViewFromConfig: ({ adminRoute, config, currentRoute, importMap, searchParams, segments, }: {
9
+ adminRoute: string;
5
10
  config: SanitizedConfig;
6
11
  currentRoute: string;
12
+ importMap: ImportMap;
7
13
  searchParams: {
8
14
  [key: string]: string | string[];
9
15
  };
10
16
  segments: string[];
11
17
  }) => {
12
- DefaultView: AdminViewComponent;
18
+ DefaultView: ViewFromConfig;
13
19
  initPageOptions: Parameters<typeof initPage>[0];
14
20
  templateClassName: string;
15
21
  templateType: "default" | "minimal";
@@ -1 +1 @@
1
- {"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAIlE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAsCjE,eAAO,MAAM,iBAAiB,kEAM3B;IACD,UAAU,MAAA;IACV,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,KAAG;IACF,WAAW,EAAE,kBAAkB,CAAA;IAC/B,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;CAkIpC,CAAA"}
1
+ {"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC7F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AA4BjE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACpC,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACtC,CAAA;AAYD,eAAO,MAAM,iBAAiB,6EAO3B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,KAAG;IACF,WAAW,EAAE,cAAc,CAAA;IAC3B,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;CA6JpC,CAAA"}
@@ -28,12 +28,13 @@ const oneSegmentViews = {
28
28
  logout: LogoutView,
29
29
  unauthorized: UnauthorizedView
30
30
  };
31
- export const getViewFromConfig = ({ adminRoute, config, currentRoute, searchParams, segments })=>{
31
+ export const getViewFromConfig = ({ adminRoute, config, currentRoute, importMap, searchParams, segments })=>{
32
32
  let ViewToRender = null;
33
33
  let templateClassName;
34
34
  let templateType;
35
35
  const initPageOptions = {
36
36
  config,
37
+ importMap,
37
38
  route: currentRoute,
38
39
  searchParams
39
40
  };
@@ -44,7 +45,9 @@ export const getViewFromConfig = ({ adminRoute, config, currentRoute, searchPara
44
45
  case 0:
45
46
  {
46
47
  if (currentRoute === adminRoute) {
47
- ViewToRender = Dashboard;
48
+ ViewToRender = {
49
+ Component: Dashboard
50
+ };
48
51
  templateClassName = 'dashboard';
49
52
  templateType = 'default';
50
53
  initPageOptions.redirectUnauthenticatedUser = true;
@@ -55,7 +58,7 @@ export const getViewFromConfig = ({ adminRoute, config, currentRoute, searchPara
55
58
  {
56
59
  // users can override the default routes via `admin.routes` config
57
60
  // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}
58
- let viewToRender;
61
+ let viewKey;
59
62
  if (config.admin.routes) {
60
63
  const matchedRoute = Object.entries(config.admin.routes).find(([, route])=>{
61
64
  return isPathMatchingRoute({
@@ -68,10 +71,10 @@ export const getViewFromConfig = ({ adminRoute, config, currentRoute, searchPara
68
71
  });
69
72
  });
70
73
  if (matchedRoute) {
71
- viewToRender = matchedRoute[0];
74
+ viewKey = matchedRoute[0];
72
75
  }
73
76
  }
74
- if (oneSegmentViews[viewToRender]) {
77
+ if (oneSegmentViews[viewKey]) {
75
78
  // --> /account
76
79
  // --> /create-first-user
77
80
  // --> /forgot
@@ -79,10 +82,12 @@ export const getViewFromConfig = ({ adminRoute, config, currentRoute, searchPara
79
82
  // --> /logout
80
83
  // --> /logout-inactivity
81
84
  // --> /unauthorized
82
- ViewToRender = oneSegmentViews[viewToRender];
83
- templateClassName = baseClasses[viewToRender];
85
+ ViewToRender = {
86
+ Component: oneSegmentViews[viewKey]
87
+ };
88
+ templateClassName = baseClasses[viewKey];
84
89
  templateType = 'minimal';
85
- if (viewToRender === 'account') {
90
+ if (viewKey === 'account') {
86
91
  initPageOptions.redirectUnauthenticatedUser = true;
87
92
  templateType = 'default';
88
93
  }
@@ -93,20 +98,26 @@ export const getViewFromConfig = ({ adminRoute, config, currentRoute, searchPara
93
98
  {
94
99
  if (segmentOne === 'reset') {
95
100
  // --> /reset/:token
96
- ViewToRender = ResetPassword;
101
+ ViewToRender = {
102
+ Component: ResetPassword
103
+ };
97
104
  templateClassName = baseClasses[segmentTwo];
98
105
  templateType = 'minimal';
99
106
  }
100
107
  if (isCollection) {
101
108
  // --> /collections/:collectionSlug
102
109
  initPageOptions.redirectUnauthenticatedUser = true;
103
- ViewToRender = ListView;
110
+ ViewToRender = {
111
+ Component: ListView
112
+ };
104
113
  templateClassName = `${segmentTwo}-list`;
105
114
  templateType = 'default';
106
115
  } else if (isGlobal) {
107
116
  // --> /globals/:globalSlug
108
117
  initPageOptions.redirectUnauthenticatedUser = true;
109
- ViewToRender = DocumentView;
118
+ ViewToRender = {
119
+ Component: DocumentView
120
+ };
110
121
  templateClassName = 'global-edit';
111
122
  templateType = 'default';
112
123
  }
@@ -115,7 +126,9 @@ export const getViewFromConfig = ({ adminRoute, config, currentRoute, searchPara
115
126
  default:
116
127
  if (segmentTwo === 'verify') {
117
128
  // --> /:collectionSlug/verify/:token
118
- ViewToRender = Verify;
129
+ ViewToRender = {
130
+ Component: Verify
131
+ };
119
132
  templateClassName = 'verify';
120
133
  templateType = 'minimal';
121
134
  } else if (isCollection) {
@@ -126,7 +139,9 @@ export const getViewFromConfig = ({ adminRoute, config, currentRoute, searchPara
126
139
  // --> /collections/:collectionSlug/:id/versions/:versionId
127
140
  // --> /collections/:collectionSlug/:id/api
128
141
  initPageOptions.redirectUnauthenticatedUser = true;
129
- ViewToRender = DocumentView;
142
+ ViewToRender = {
143
+ Component: DocumentView
144
+ };
130
145
  templateClassName = `collection-default-edit`;
131
146
  templateType = 'default';
132
147
  } else if (isGlobal) {
@@ -136,7 +151,9 @@ export const getViewFromConfig = ({ adminRoute, config, currentRoute, searchPara
136
151
  // --> /globals/:globalSlug/versions/:versionId
137
152
  // --> /globals/:globalSlug/api
138
153
  initPageOptions.redirectUnauthenticatedUser = true;
139
- ViewToRender = DocumentView;
154
+ ViewToRender = {
155
+ Component: DocumentView
156
+ };
140
157
  templateClassName = `global-edit`;
141
158
  templateType = 'default';
142
159
  }
@@ -146,7 +163,7 @@ export const getViewFromConfig = ({ adminRoute, config, currentRoute, searchPara
146
163
  ViewToRender = getCustomViewByRoute({
147
164
  config,
148
165
  currentRoute
149
- });
166
+ })?.view;
150
167
  }
151
168
  return {
152
169
  DefaultView: ViewToRender,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Root/getViewFromConfig.tsx"],"sourcesContent":["import type { AdminViewComponent, SanitizedConfig } from 'payload'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { ForgotPasswordView, forgotPasswordBaseClass } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { LoginView, loginBaseClass } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: AdminViewComponent\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n searchParams,\n segments,\n}: {\n adminRoute\n config: SanitizedConfig\n currentRoute: string\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}): {\n DefaultView: AdminViewComponent\n initPageOptions: Parameters<typeof initPage>[0]\n templateClassName: string\n templateType: 'default' | 'minimal'\n} => {\n let ViewToRender: AdminViewComponent = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n route: currentRoute,\n searchParams,\n }\n\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = Dashboard\n templateClassName = 'dashboard'\n templateType = 'default'\n initPageOptions.redirectUnauthenticatedUser = true\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewToRender: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewToRender = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewToRender]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = oneSegmentViews[viewToRender]\n templateClassName = baseClasses[viewToRender]\n templateType = 'minimal'\n\n if (viewToRender === 'account') {\n initPageOptions.redirectUnauthenticatedUser = true\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n ViewToRender = ResetPassword\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n }\n\n if (isCollection) {\n // --> /collections/:collectionSlug\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = ListView\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = DocumentView\n templateClassName = 'global-edit'\n templateType = 'default'\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n ViewToRender = Verify\n templateClassName = 'verify'\n templateType = 'minimal'\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionId\n // --> /collections/:collectionSlug/:id/api\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = DocumentView\n templateClassName = `collection-default-edit`\n templateType = 'default'\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionId\n // --> /globals/:globalSlug/api\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = DocumentView\n templateClassName = `global-edit`\n templateType = 'default'\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })\n }\n\n return {\n DefaultView: ViewToRender,\n initPageOptions,\n templateClassName,\n templateType,\n }\n}\n"],"names":["formatAdminURL","Account","CreateFirstUserView","Dashboard","Document","DocumentView","ForgotPasswordView","forgotPasswordBaseClass","ListView","LoginView","loginBaseClass","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getCustomViewByRoute","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewFromConfig","adminRoute","config","currentRoute","searchParams","segments","ViewToRender","templateClassName","templateType","initPageOptions","route","segmentOne","segmentTwo","isGlobal","isCollection","length","redirectUnauthenticatedUser","viewToRender","admin","routes","matchedRoute","Object","entries","find","exact","path","DefaultView"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/Root/getViewFromConfig.ts"],"sourcesContent":["import type { AdminViewComponent, AdminViewProps, ImportMap, SanitizedConfig } from 'payload'\nimport type React from 'react'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { ForgotPasswordView, forgotPasswordBaseClass } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { LoginView, loginBaseClass } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewProps>\n payloadComponent?: AdminViewComponent\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: {\n adminRoute: string\n config: SanitizedConfig\n currentRoute: string\n importMap: ImportMap\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}): {\n DefaultView: ViewFromConfig\n initPageOptions: Parameters<typeof initPage>[0]\n templateClassName: string\n templateType: 'default' | 'minimal'\n} => {\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n importMap,\n route: currentRoute,\n searchParams,\n }\n\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: Dashboard,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n initPageOptions.redirectUnauthenticatedUser = true\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n initPageOptions.redirectUnauthenticatedUser = true\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n }\n\n if (isCollection) {\n // --> /collections/:collectionSlug\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionId\n // --> /collections/:collectionSlug/:id/api\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionId\n // --> /globals/:globalSlug/api\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n return {\n DefaultView: ViewToRender,\n initPageOptions,\n templateClassName,\n templateType,\n }\n}\n"],"names":["formatAdminURL","Account","CreateFirstUserView","Dashboard","Document","DocumentView","ForgotPasswordView","forgotPasswordBaseClass","ListView","LoginView","loginBaseClass","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getCustomViewByRoute","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewFromConfig","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","initPageOptions","route","segmentOne","segmentTwo","isGlobal","isCollection","length","Component","redirectUnauthenticatedUser","viewKey","admin","routes","matchedRoute","Object","entries","find","exact","path","view","DefaultView"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { I18nClient } from '@payloadcms/translations';
2
2
  import type { Metadata } from 'next';
3
- import type { SanitizedConfig } from 'payload';
3
+ import type { ImportMap, SanitizedConfig } from 'payload';
4
4
  import React from 'react';
5
5
  export { generatePageMetadata } from './meta.js';
6
6
  export type GenerateViewMetadata = (args: {
@@ -11,12 +11,13 @@ export type GenerateViewMetadata = (args: {
11
11
  [key: string]: string | string[];
12
12
  };
13
13
  }) => Promise<Metadata>;
14
- export declare const RootPage: ({ config: configPromise, params, searchParams, }: {
15
- config: Promise<SanitizedConfig>;
16
- params: {
14
+ export declare const RootPage: ({ config: configPromise, importMap, params, searchParams, }: {
15
+ readonly config: Promise<SanitizedConfig>;
16
+ readonly importMap: ImportMap;
17
+ readonly params: {
17
18
  segments: string[];
18
19
  };
19
- searchParams: {
20
+ readonly searchParams: {
20
21
  [key: string]: string | string[];
21
22
  };
22
23
  }) => Promise<React.JSX.Element>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,qDAIlB;IACD,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,+BAoGA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAmB,eAAe,EAAE,MAAM,SAAS,CAAA;AAI1E,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,gEAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,QAAQ,CAAC,YAAY,EAAE;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,+BA6GA,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { WithServerSideProps, formatAdminURL } from '@payloadcms/ui/shared';
2
+ import { RenderComponent, formatAdminURL, getCreateMappedComponent } from '@payloadcms/ui/shared';
3
3
  import { notFound, redirect } from 'next/navigation.js';
4
4
  import React, { Fragment } from 'react';
5
5
  import { DefaultTemplate } from '../../templates/Default/index.js';
@@ -7,7 +7,7 @@ import { MinimalTemplate } from '../../templates/Minimal/index.js';
7
7
  import { initPage } from '../../utilities/initPage/index.js';
8
8
  import { getViewFromConfig } from './getViewFromConfig.js';
9
9
  export { generatePageMetadata } from './meta.js';
10
- export const RootPage = async ({ config: configPromise, params, searchParams })=>{
10
+ export const RootPage = async ({ config: configPromise, importMap, params, searchParams })=>{
11
11
  const config = await configPromise;
12
12
  const { admin: { routes: { createFirstUser: _createFirstUserRoute }, user: userSlug }, routes: { admin: adminRoute } } = config;
13
13
  const currentRoute = formatAdminURL({
@@ -19,11 +19,12 @@ export const RootPage = async ({ config: configPromise, params, searchParams })=
19
19
  adminRoute,
20
20
  config,
21
21
  currentRoute,
22
+ importMap,
22
23
  searchParams,
23
24
  segments
24
25
  });
25
26
  let dbHasUser = false;
26
- if (!DefaultView) {
27
+ if (!DefaultView?.Component && !DefaultView?.payloadComponent) {
27
28
  notFound();
28
29
  }
29
30
  const initPageResult = await initPage(initPageOptions);
@@ -48,14 +49,21 @@ export const RootPage = async ({ config: configPromise, params, searchParams })=
48
49
  redirect(adminRoute);
49
50
  }
50
51
  }
51
- const RenderedView = /*#__PURE__*/ _jsx(WithServerSideProps, {
52
- Component: DefaultView,
53
- serverOnlyProps: {
52
+ const createMappedView = getCreateMappedComponent({
53
+ importMap,
54
+ serverProps: {
55
+ i18n: initPageResult?.req.i18n,
56
+ importMap,
54
57
  initPageResult,
55
58
  params,
59
+ payload: initPageResult?.req.payload,
56
60
  searchParams
57
61
  }
58
62
  });
63
+ const MappedView = createMappedView(DefaultView.payloadComponent, undefined, DefaultView.Component, 'createMappedView');
64
+ const RenderedView = /*#__PURE__*/ _jsx(RenderComponent, {
65
+ mappedComponent: MappedView
66
+ });
59
67
  return /*#__PURE__*/ _jsxs(Fragment, {
60
68
  children: [
61
69
  !templateType && /*#__PURE__*/ _jsx(Fragment, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { WithServerSideProps, formatAdminURL } from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.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 params,\n searchParams,\n}: {\n config: Promise<SanitizedConfig>\n params: {\n segments: string[]\n }\n searchParams: {\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 currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const { DefaultView, initPageOptions, templateClassName, templateType } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n searchParams,\n segments,\n })\n\n let dbHasUser = false\n\n if (!DefaultView) {\n notFound()\n }\n\n const initPageResult = await initPage(initPageOptions)\n\n if (initPageResult) {\n dbHasUser = await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc)\n\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.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\n const RenderedView = (\n <WithServerSideProps\n Component={DefaultView}\n serverOnlyProps={\n {\n initPageResult,\n params,\n searchParams,\n } as any\n }\n />\n )\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\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: initPageResult.visibleEntities?.collections,\n globals: initPageResult.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"names":["WithServerSideProps","formatAdminURL","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","params","searchParams","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","initPageOptions","templateClassName","templateType","dbHasUser","initPageResult","req","payload","db","findOne","collection","then","doc","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","RenderedView","Component","serverOnlyProps","className","i18n","locale","permissions","visibleEntities","globals"],"mappings":";AAIA,SAASA,mBAAmB,EAAEC,cAAc,QAAQ,wBAAuB;AAC3E,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,qBAAoB;AACvD,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,QAAQ,QAAQ,oCAAmC;AAC5D,SAASC,iBAAiB,QAAQ,yBAAwB;AAE1D,SAASC,oBAAoB,QAAQ,YAAW;AAShD,OAAO,MAAMC,WAAW,OAAO,EAC7BC,QAAQC,aAAa,EACrBC,MAAM,EACNC,YAAY,EASb;IACC,MAAMH,SAAS,MAAMC;IAErB,MAAM,EACJG,OAAO,EACLC,QAAQ,EAAEC,iBAAiBC,qBAAqB,EAAE,EAClDC,MAAMC,QAAQ,EACf,EACDJ,QAAQ,EAAED,OAAOM,UAAU,EAAE,EAC9B,GAAGV;IAEJ,MAAMW,eAAetB,eAAe;QAClCqB;QACAE,MAAM,CAAC,EAAEC,MAAMC,OAAO,CAACZ,OAAOa,QAAQ,IAAI,CAAC,CAAC,EAAEb,OAAOa,QAAQ,CAACC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;IAClF;IAEA,MAAMD,WAAWF,MAAMC,OAAO,CAACZ,OAAOa,QAAQ,IAAIb,OAAOa,QAAQ,GAAG,EAAE;IAEtE,MAAM,EAAEE,WAAW,EAAEC,eAAe,EAAEC,iBAAiB,EAAEC,YAAY,EAAE,GAAGvB,kBAAkB;QAC1Fa;QACAV;QACAW;QACAR;QACAY;IACF;IAEA,IAAIM,YAAY;IAEhB,IAAI,CAACJ,aAAa;QAChB3B;IACF;IAEA,MAAMgC,iBAAiB,MAAM1B,SAASsB;IAEtC,IAAII,gBAAgB;QAClBD,YAAY,MAAMC,gBAAgBC,IAAIC,QAAQC,GAC3CC,QAAQ;YACPC,YAAYlB;YACZc,KAAKD,gBAAgBC;QACvB,IACEK,KAAK,CAACC,MAAQ,CAAC,CAACA;QAEpB,MAAMC,uBAAuBzC,eAAe;YAAEqB;YAAYE,MAAML;QAAsB;QAEtF,MAAMwB,mBAAmB/B,OAAOgC,WAAW,CAACC,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASzB;QACxE,MAAM0B,uBAAuBJ,kBAAkBK,MAAMD;QAErD,IAAIA,wBAAwBxB,iBAAiBmB,sBAAsB;YACjEvC,SAASmB;QACX;QAEA,IAAI,CAACW,aAAaV,iBAAiBmB,wBAAwB,CAACK,sBAAsB;YAChF5C,SAASuC;QACX;QAEA,IAAIT,aAAaV,iBAAiBmB,sBAAsB;YACtDvC,SAASmB;QACX;IACF;IAEA,MAAM2B,6BACJ,KAACjD;QACCkD,WAAWrB;QACXsB,iBACE;YACEjB;YACApB;YACAC;QACF;;IAKN,qBACE,MAACV;;YACE,CAAC2B,8BAAgB,KAAC3B;0BAAU4C;;YAC5BjB,iBAAiB,2BAChB,KAACzB;gBAAgB6C,WAAWrB;0BAAoBkB;;YAEjDjB,iBAAiB,2BAChB,KAAC1B;gBACC+C,MAAMnB,gBAAgBC,IAAIkB;gBAC1BC,QAAQpB,gBAAgBoB;gBACxBxC,QAAQA;gBACRsB,SAASF,gBAAgBC,IAAIC;gBAC7BmB,aAAarB,gBAAgBqB;gBAC7BxC,cAAcA;gBACdK,MAAMc,gBAAgBC,IAAIf;gBAC1BoC,iBAAiB;oBACf,+KAA+K;oBAC/K,2EAA2E;oBAC3EZ,aAAaV,eAAesB,eAAe,EAAEZ;oBAC7Ca,SAASvB,eAAesB,eAAe,EAAEC;gBAC3C;0BAECR;;;;AAKX,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, MappedComponent, SanitizedConfig } from 'payload'\n\nimport { RenderComponent, formatAdminURL, getCreateMappedComponent } from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.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,\n searchParams,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: {\n segments: string[]\n }\n readonly searchParams: {\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 currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const { DefaultView, initPageOptions, templateClassName, templateType } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n let dbHasUser = false\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n notFound()\n }\n\n const initPageResult = await initPage(initPageOptions)\n\n if (initPageResult) {\n dbHasUser = await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc)\n\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.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\n const createMappedView = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n },\n })\n\n const MappedView: MappedComponent = createMappedView(\n DefaultView.payloadComponent,\n undefined,\n DefaultView.Component,\n 'createMappedView',\n )\n\n const RenderedView = <RenderComponent mappedComponent={MappedView} />\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\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: initPageResult.visibleEntities?.collections,\n globals: initPageResult.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"names":["RenderComponent","formatAdminURL","getCreateMappedComponent","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","searchParams","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","initPageOptions","templateClassName","templateType","dbHasUser","Component","payloadComponent","initPageResult","req","payload","db","findOne","collection","then","doc","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","createMappedView","serverProps","i18n","MappedView","undefined","RenderedView","mappedComponent","className","locale","permissions","visibleEntities","globals"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/Root/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAwB9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,CAAA;AAED,eAAO,MAAM,oBAAoB,sCAA6C,IAAI,sBAqGjF,CAAA"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/Root/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA0B9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,CAAA;AAED,eAAO,MAAM,oBAAoB,sCAA6C,IAAI,sBAqHjF,CAAA"}
@@ -10,6 +10,8 @@ import { generateNotFoundMeta } from '../NotFound/meta.js';
10
10
  import { generateResetPasswordMetadata } from '../ResetPassword/index.js';
11
11
  import { generateUnauthorizedMetadata } from '../Unauthorized/index.js';
12
12
  import { generateVerifyMetadata } from '../Verify/index.js';
13
+ import { generateCustomViewMetadata } from './generateCustomViewMetadata.js';
14
+ import { getCustomViewByRoute } from './getCustomViewByRoute.js';
13
15
  const oneSegmentMeta = {
14
16
  'create-first-user': generateCreateFirstUserMetadata,
15
17
  forgot: generateForgotPasswordMetadata,
@@ -21,6 +23,7 @@ const oneSegmentMeta = {
21
23
  export const generatePageMetadata = async ({ config: configPromise, params })=>{
22
24
  const config = await configPromise;
23
25
  const segments = Array.isArray(params.segments) ? params.segments : [];
26
+ const currentRoute = `/${segments.join('/')}`;
24
27
  const [segmentOne, segmentTwo] = segments;
25
28
  const isGlobal = segmentOne === 'globals';
26
29
  const isCollection = segmentOne === 'collections';
@@ -129,10 +132,24 @@ export const generatePageMetadata = async ({ config: configPromise, params })=>{
129
132
  }
130
133
  }
131
134
  if (!meta) {
132
- meta = await generateNotFoundMeta({
135
+ const { viewConfig, viewKey } = getCustomViewByRoute({
133
136
  config,
134
- i18n
137
+ currentRoute
135
138
  });
139
+ if (viewKey) {
140
+ // Custom Views
141
+ // --> /:path
142
+ meta = await generateCustomViewMetadata({
143
+ config,
144
+ i18n,
145
+ viewConfig
146
+ });
147
+ } else {
148
+ meta = await generateNotFoundMeta({
149
+ config,
150
+ i18n
151
+ });
152
+ }
136
153
  }
137
154
  return meta;
138
155
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Root/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAccountMetadata } from '../Account/index.js'\nimport { generateCreateFirstUserMetadata } from '../CreateFirstUser/index.js'\nimport { generateDashboardMetadata } from '../Dashboard/index.js'\nimport { generateDocumentMetadata } from '../Document/meta.js'\nimport { generateForgotPasswordMetadata } from '../ForgotPassword/index.js'\nimport { generateListMetadata } from '../List/index.js'\nimport { generateLoginMetadata } from '../Login/index.js'\nimport { generateNotFoundMeta } from '../NotFound/meta.js'\nimport { generateResetPasswordMetadata } from '../ResetPassword/index.js'\nimport { generateUnauthorizedMetadata } from '../Unauthorized/index.js'\nimport { generateVerifyMetadata } from '../Verify/index.js'\n\nconst oneSegmentMeta = {\n 'create-first-user': generateCreateFirstUserMetadata,\n forgot: generateForgotPasswordMetadata,\n login: generateLoginMetadata,\n logout: generateUnauthorizedMetadata,\n 'logout-inactivity': generateUnauthorizedMetadata,\n unauthorized: generateUnauthorizedMetadata,\n}\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: {\n [key: string]: string | string[]\n }\n searchParams: {\n [key: string]: string | string[]\n }\n}\n\nexport const generatePageMetadata = async ({ config: configPromise, params }: Args) => {\n const config = await configPromise\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n let meta: Metadata\n\n // TODO: handle custom routes\n\n const collectionConfig =\n isCollection &&\n segments.length > 1 &&\n config?.collections?.find((collection) => collection.slug === segmentTwo)\n\n const globalConfig =\n isGlobal && segments.length > 1 && config?.globals?.find((global) => global.slug === segmentTwo)\n\n switch (segments.length) {\n case 0: {\n meta = await generateDashboardMetadata({ config, i18n })\n break\n }\n case 1: {\n if (oneSegmentMeta[segmentOne] && segmentOne !== 'account') {\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n meta = await oneSegmentMeta[segmentOne]({ config, i18n })\n break\n } else if (segmentOne === 'account') {\n // --> /account\n meta = await generateAccountMetadata({ config, i18n })\n break\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n meta = await generateResetPasswordMetadata({ config, i18n })\n }\n if (isCollection) {\n // --> /collections/:collectionSlug\n meta = await generateListMetadata({ collectionConfig, config, i18n })\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n default: {\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n meta = await generateVerifyMetadata({ config, i18n })\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/api\n meta = await generateDocumentMetadata({ collectionConfig, config, i18n, params })\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/api\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n }\n\n if (!meta) {\n meta = await generateNotFoundMeta({ config, i18n })\n }\n\n return meta\n}\n"],"names":["getNextRequestI18n","generateAccountMetadata","generateCreateFirstUserMetadata","generateDashboardMetadata","generateDocumentMetadata","generateForgotPasswordMetadata","generateListMetadata","generateLoginMetadata","generateNotFoundMeta","generateResetPasswordMetadata","generateUnauthorizedMetadata","generateVerifyMetadata","oneSegmentMeta","forgot","login","logout","unauthorized","generatePageMetadata","config","configPromise","params","segments","Array","isArray","segmentOne","segmentTwo","isGlobal","isCollection","i18n","meta","collectionConfig","length","collections","find","collection","slug","globalConfig","globals","global"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/Root/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAccountMetadata } from '../Account/index.js'\nimport { generateCreateFirstUserMetadata } from '../CreateFirstUser/index.js'\nimport { generateDashboardMetadata } from '../Dashboard/index.js'\nimport { generateDocumentMetadata } from '../Document/meta.js'\nimport { generateForgotPasswordMetadata } from '../ForgotPassword/index.js'\nimport { generateListMetadata } from '../List/index.js'\nimport { generateLoginMetadata } from '../Login/index.js'\nimport { generateNotFoundMeta } from '../NotFound/meta.js'\nimport { generateResetPasswordMetadata } from '../ResetPassword/index.js'\nimport { generateUnauthorizedMetadata } from '../Unauthorized/index.js'\nimport { generateVerifyMetadata } from '../Verify/index.js'\nimport { generateCustomViewMetadata } from './generateCustomViewMetadata.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nconst oneSegmentMeta = {\n 'create-first-user': generateCreateFirstUserMetadata,\n forgot: generateForgotPasswordMetadata,\n login: generateLoginMetadata,\n logout: generateUnauthorizedMetadata,\n 'logout-inactivity': generateUnauthorizedMetadata,\n unauthorized: generateUnauthorizedMetadata,\n}\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: {\n [key: string]: string | string[]\n }\n searchParams: {\n [key: string]: string | string[]\n }\n}\n\nexport const generatePageMetadata = async ({ config: configPromise, params }: Args) => {\n const config = await configPromise\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const currentRoute = `/${segments.join('/')}`\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n let meta: Metadata\n\n // TODO: handle custom routes\n\n const collectionConfig =\n isCollection &&\n segments.length > 1 &&\n config?.collections?.find((collection) => collection.slug === segmentTwo)\n\n const globalConfig =\n isGlobal && segments.length > 1 && config?.globals?.find((global) => global.slug === segmentTwo)\n\n switch (segments.length) {\n case 0: {\n meta = await generateDashboardMetadata({ config, i18n })\n break\n }\n case 1: {\n if (oneSegmentMeta[segmentOne] && segmentOne !== 'account') {\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n meta = await oneSegmentMeta[segmentOne]({ config, i18n })\n break\n } else if (segmentOne === 'account') {\n // --> /account\n meta = await generateAccountMetadata({ config, i18n })\n break\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n meta = await generateResetPasswordMetadata({ config, i18n })\n }\n if (isCollection) {\n // --> /collections/:collectionSlug\n meta = await generateListMetadata({ collectionConfig, config, i18n })\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n default: {\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n meta = await generateVerifyMetadata({ config, i18n })\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/api\n meta = await generateDocumentMetadata({ collectionConfig, config, i18n, params })\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/api\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n }\n\n if (!meta) {\n const { viewConfig, viewKey } = getCustomViewByRoute({\n config,\n currentRoute,\n })\n\n if (viewKey) {\n // Custom Views\n // --> /:path\n meta = await generateCustomViewMetadata({\n config,\n i18n,\n viewConfig,\n })\n } else {\n meta = await generateNotFoundMeta({ config, i18n })\n }\n }\n\n return meta\n}\n"],"names":["getNextRequestI18n","generateAccountMetadata","generateCreateFirstUserMetadata","generateDashboardMetadata","generateDocumentMetadata","generateForgotPasswordMetadata","generateListMetadata","generateLoginMetadata","generateNotFoundMeta","generateResetPasswordMetadata","generateUnauthorizedMetadata","generateVerifyMetadata","generateCustomViewMetadata","getCustomViewByRoute","oneSegmentMeta","forgot","login","logout","unauthorized","generatePageMetadata","config","configPromise","params","segments","Array","isArray","currentRoute","join","segmentOne","segmentTwo","isGlobal","isCollection","i18n","meta","collectionConfig","length","collections","find","collection","slug","globalConfig","globals","global","viewConfig","viewKey"],"mappings":"AAGA,SAASA,kBAAkB,QAAQ,wCAAuC;AAC1E,SAASC,uBAAuB,QAAQ,sBAAqB;AAC7D,SAASC,+BAA+B,QAAQ,8BAA6B;AAC7E,SAASC,yBAAyB,QAAQ,wBAAuB;AACjE,SAASC,wBAAwB,QAAQ,sBAAqB;AAC9D,SAASC,8BAA8B,QAAQ,6BAA4B;AAC3E,SAASC,oBAAoB,QAAQ,mBAAkB;AACvD,SAASC,qBAAqB,QAAQ,oBAAmB;AACzD,SAASC,oBAAoB,QAAQ,sBAAqB;AAC1D,SAASC,6BAA6B,QAAQ,4BAA2B;AACzE,SAASC,4BAA4B,QAAQ,2BAA0B;AACvE,SAASC,sBAAsB,QAAQ,qBAAoB;AAC3D,SAASC,0BAA0B,QAAQ,kCAAiC;AAC5E,SAASC,oBAAoB,QAAQ,4BAA2B;AAEhE,MAAMC,iBAAiB;IACrB,qBAAqBZ;IACrBa,QAAQV;IACRW,OAAOT;IACPU,QAAQP;IACR,qBAAqBA;IACrBQ,cAAcR;AAChB;AAYA,OAAO,MAAMS,uBAAuB,OAAO,EAAEC,QAAQC,aAAa,EAAEC,MAAM,EAAQ;IAChF,MAAMF,SAAS,MAAMC;IAErB,MAAME,WAAWC,MAAMC,OAAO,CAACH,OAAOC,QAAQ,IAAID,OAAOC,QAAQ,GAAG,EAAE;IAEtE,MAAMG,eAAe,CAAC,CAAC,EAAEH,SAASI,IAAI,CAAC,KAAK,CAAC;IAC7C,MAAM,CAACC,YAAYC,WAAW,GAAGN;IAEjC,MAAMO,WAAWF,eAAe;IAChC,MAAMG,eAAeH,eAAe;IAEpC,MAAMI,OAAO,MAAMhC,mBAAmB;QACpCoB;IACF;IAEA,IAAIa;IAEJ,6BAA6B;IAE7B,MAAMC,mBACJH,gBACAR,SAASY,MAAM,GAAG,KAClBf,QAAQgB,aAAaC,KAAK,CAACC,aAAeA,WAAWC,IAAI,KAAKV;IAEhE,MAAMW,eACJV,YAAYP,SAASY,MAAM,GAAG,KAAKf,QAAQqB,SAASJ,KAAK,CAACK,SAAWA,OAAOH,IAAI,KAAKV;IAEvF,OAAQN,SAASY,MAAM;QACrB,KAAK;YAAG;gBACNF,OAAO,MAAM9B,0BAA0B;oBAAEiB;oBAAQY;gBAAK;gBACtD;YACF;QACA,KAAK;YAAG;gBACN,IAAIlB,cAAc,CAACc,WAAW,IAAIA,eAAe,WAAW;oBAC1D,yBAAyB;oBACzB,cAAc;oBACd,aAAa;oBACb,cAAc;oBACd,yBAAyB;oBACzB,oBAAoB;oBACpBK,OAAO,MAAMnB,cAAc,CAACc,WAAW,CAAC;wBAAER;wBAAQY;oBAAK;oBACvD;gBACF,OAAO,IAAIJ,eAAe,WAAW;oBACnC,eAAe;oBACfK,OAAO,MAAMhC,wBAAwB;wBAAEmB;wBAAQY;oBAAK;oBACpD;gBACF;gBACA;YACF;QACA,KAAK;YAAG;gBACN,IAAIJ,eAAe,SAAS;oBAC1B,oBAAoB;oBACpBK,OAAO,MAAMxB,8BAA8B;wBAAEW;wBAAQY;oBAAK;gBAC5D;gBACA,IAAID,cAAc;oBAChB,mCAAmC;oBACnCE,OAAO,MAAM3B,qBAAqB;wBAAE4B;wBAAkBd;wBAAQY;oBAAK;gBACrE,OAAO,IAAIF,UAAU;oBACnB,2BAA2B;oBAC3BG,OAAO,MAAM7B,yBAAyB;wBACpCgB;wBACAoB;wBACAR;wBACAV;oBACF;gBACF;gBACA;YACF;QACA;YAAS;gBACP,IAAIO,eAAe,UAAU;oBAC3B,qCAAqC;oBACrCI,OAAO,MAAMtB,uBAAuB;wBAAES;wBAAQY;oBAAK;gBACrD,OAAO,IAAID,cAAc;oBACvB,eAAe;oBACf,uCAAuC;oBACvC,+CAA+C;oBAC/C,gDAAgD;oBAChD,yDAAyD;oBACzD,2CAA2C;oBAC3CE,OAAO,MAAM7B,yBAAyB;wBAAE8B;wBAAkBd;wBAAQY;wBAAMV;oBAAO;gBACjF,OAAO,IAAIQ,UAAU;oBACnB,eAAe;oBACf,oCAAoC;oBACpC,6CAA6C;oBAC7C,mCAAmC;oBACnC,+BAA+B;oBAC/BG,OAAO,MAAM7B,yBAAyB;wBACpCgB;wBACAoB;wBACAR;wBACAV;oBACF;gBACF;gBACA;YACF;IACF;IAEA,IAAI,CAACW,MAAM;QACT,MAAM,EAAEU,UAAU,EAAEC,OAAO,EAAE,GAAG/B,qBAAqB;YACnDO;YACAM;QACF;QAEA,IAAIkB,SAAS;YACX,eAAe;YACf,aAAa;YACbX,OAAO,MAAMrB,2BAA2B;gBACtCQ;gBACAY;gBACAW;YACF;QACF,OAAO;YACLV,OAAO,MAAMzB,qBAAqB;gBAAEY;gBAAQY;YAAK;QACnD;IACF;IAEA,OAAOC;AACT,EAAC"}
@@ -1,5 +1,5 @@
1
- import type { AdminViewComponent } from 'payload';
1
+ import type { AdminViewComponent, PayloadServerReactComponent } from 'payload';
2
2
  import './index.scss';
3
3
  export { generateUnauthorizedMetadata } from './meta.js';
4
- export declare const UnauthorizedView: AdminViewComponent;
4
+ export declare const UnauthorizedView: PayloadServerReactComponent<AdminViewComponent>;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAMjD,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAIxD,eAAO,MAAM,gBAAgB,EAAE,kBA6B9B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAM9E,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAIxD,eAAO,MAAM,gBAAgB,EAAE,2BAA2B,CAAC,kBAAkB,CA+B5E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Unauthorized/index.tsx"],"sourcesContent":["import type { AdminViewComponent } from 'payload'\n\nimport { Button, Gutter } from '@payloadcms/ui'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport './index.scss'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateUnauthorizedMetadata } from './meta.js'\n\nconst baseClass = 'unauthorized'\n\nexport const UnauthorizedView: AdminViewComponent = ({ initPageResult }) => {\n const {\n req: {\n i18n,\n payload: {\n config: {\n admin: {\n routes: { logout: logoutRoute },\n },\n },\n },\n },\n } = initPageResult\n\n return (\n <Gutter className={baseClass}>\n <h2>{i18n.t('error:unauthorized')}</h2>\n <p>{i18n.t('error:notAllowedToAccessPage')}</p>\n <Button\n Link={Link}\n className={`${baseClass}__button`}\n el=\"link\"\n size=\"large\"\n to={logoutRoute}\n >\n {i18n.t('authentication:logOut')}\n </Button>\n </Gutter>\n )\n}\n"],"names":["Button","Gutter","LinkImport","React","Link","default","generateUnauthorizedMetadata","baseClass","UnauthorizedView","initPageResult","req","i18n","payload","config","admin","routes","logout","logoutRoute","className","h2","t","p","el","size","to"],"mappings":";AAEA,SAASA,MAAM,EAAEC,MAAM,QAAQ,iBAAgB;AAC/C,OAAOC,gBAAgB,eAAc;AACrC,OAAOC,WAAW,QAAO;AAIzB,MAAMC,OAAQF,WAAWG,OAAO,IAAIH;AAEpC,SAASI,4BAA4B,QAAQ,YAAW;AAExD,MAAMC,YAAY;AAElB,OAAO,MAAMC,mBAAuC,CAAC,EAAEC,cAAc,EAAE;IACrE,MAAM,EACJC,KAAK,EACHC,IAAI,EACJC,SAAS,EACPC,QAAQ,EACNC,OAAO,EACLC,QAAQ,EAAEC,QAAQC,WAAW,EAAE,EAChC,EACF,EACF,EACF,EACF,GAAGR;IAEJ,qBACE,MAACR;QAAOiB,WAAWX;;0BACjB,KAACY;0BAAIR,KAAKS,CAAC,CAAC;;0BACZ,KAACC;0BAAGV,KAAKS,CAAC,CAAC;;0BACX,KAACpB;gBACCI,MAAMA;gBACNc,WAAW,CAAC,EAAEX,UAAU,QAAQ,CAAC;gBACjCe,IAAG;gBACHC,MAAK;gBACLC,IAAIP;0BAEHN,KAAKS,CAAC,CAAC;;;;AAIhB,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/Unauthorized/index.tsx"],"sourcesContent":["import type { AdminViewComponent, PayloadServerReactComponent } from 'payload'\n\nimport { Button, Gutter } from '@payloadcms/ui'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport './index.scss'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateUnauthorizedMetadata } from './meta.js'\n\nconst baseClass = 'unauthorized'\n\nexport const UnauthorizedView: PayloadServerReactComponent<AdminViewComponent> = ({\n initPageResult,\n}) => {\n const {\n req: {\n i18n,\n payload: {\n config: {\n admin: {\n routes: { logout: logoutRoute },\n },\n },\n },\n },\n } = initPageResult\n\n return (\n <Gutter className={baseClass}>\n <h2>{i18n.t('error:unauthorized')}</h2>\n <p>{i18n.t('error:notAllowedToAccessPage')}</p>\n <Button\n Link={Link}\n className={`${baseClass}__button`}\n el=\"link\"\n size=\"large\"\n to={logoutRoute}\n >\n {i18n.t('authentication:logOut')}\n </Button>\n </Gutter>\n )\n}\n"],"names":["Button","Gutter","LinkImport","React","Link","default","generateUnauthorizedMetadata","baseClass","UnauthorizedView","initPageResult","req","i18n","payload","config","admin","routes","logout","logoutRoute","className","h2","t","p","el","size","to"],"mappings":";AAEA,SAASA,MAAM,EAAEC,MAAM,QAAQ,iBAAgB;AAC/C,OAAOC,gBAAgB,eAAc;AACrC,OAAOC,WAAW,QAAO;AAIzB,MAAMC,OAAQF,WAAWG,OAAO,IAAIH;AAEpC,SAASI,4BAA4B,QAAQ,YAAW;AAExD,MAAMC,YAAY;AAElB,OAAO,MAAMC,mBAAoE,CAAC,EAChFC,cAAc,EACf;IACC,MAAM,EACJC,KAAK,EACHC,IAAI,EACJC,SAAS,EACPC,QAAQ,EACNC,OAAO,EACLC,QAAQ,EAAEC,QAAQC,WAAW,EAAE,EAChC,EACF,EACF,EACF,EACF,GAAGR;IAEJ,qBACE,MAACR;QAAOiB,WAAWX;;0BACjB,KAACY;0BAAIR,KAAKS,CAAC,CAAC;;0BACZ,KAACC;0BAAGV,KAAKS,CAAC,CAAC;;0BACX,KAACpB;gBACCI,MAAMA;gBACNc,WAAW,CAAC,EAAEX,UAAU,QAAQ,CAAC;gBACjCe,IAAG;gBACHC,MAAK;gBACLC,IAAIP;0BAEHN,KAAKS,CAAC,CAAC;;;;AAIhB,EAAC"}
@@ -1,12 +1,12 @@
1
- import type { ClientCollectionConfig, ClientGlobalConfig, FieldMap } from 'payload';
1
+ import type { ClientCollectionConfig, ClientField, ClientGlobalConfig } from 'payload';
2
2
  import type React from 'react';
3
3
  export declare const SetStepNav: React.FC<{
4
- collectionConfig?: ClientCollectionConfig;
5
- collectionSlug?: string;
6
- doc: any;
7
- fieldMap: FieldMap;
8
- globalConfig?: ClientGlobalConfig;
9
- globalSlug?: string;
10
- id?: number | string;
4
+ readonly collectionConfig?: ClientCollectionConfig;
5
+ readonly collectionSlug?: string;
6
+ readonly doc: any;
7
+ readonly fields: ClientField[];
8
+ readonly globalConfig?: ClientGlobalConfig;
9
+ readonly globalSlug?: string;
10
+ readonly id?: number | string;
11
11
  }>;
12
12
  //# sourceMappingURL=SetStepNav.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SetStepNav.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACnF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB,CA4GA,CAAA"}
1
+ {"version":3,"file":"SetStepNav.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACtF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAQ9B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IAClD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAA;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC9B,CA2GA,CAAA"}
@@ -1,9 +1,10 @@
1
1
  import { getTranslation } from '@payloadcms/translations';
2
2
  import { useConfig, useLocale, useStepNav, useTranslation } from '@payloadcms/ui';
3
3
  import { formatAdminURL, formatDate } from '@payloadcms/ui/shared';
4
+ import { fieldAffectsData } from 'payload/shared';
4
5
  import { useEffect } from 'react';
5
- export const SetStepNav = ({ id, collectionConfig, collectionSlug, doc, fieldMap, globalConfig, globalSlug })=>{
6
- const config = useConfig();
6
+ export const SetStepNav = ({ id, collectionConfig, collectionSlug, doc, fields, globalConfig, globalSlug })=>{
7
+ const { config } = useConfig();
7
8
  const { setStepNav } = useStepNav();
8
9
  const { i18n, t } = useTranslation();
9
10
  const locale = useLocale();
@@ -17,13 +18,12 @@ export const SetStepNav = ({ id, collectionConfig, collectionSlug, doc, fieldMap
17
18
  const formattedDoc = doc.version ? doc.version : doc;
18
19
  if (formattedDoc) {
19
20
  if (useAsTitle !== 'id') {
20
- const titleField = fieldMap.find((f)=>{
21
- const { isFieldAffectingData } = f;
21
+ const titleField = fields.find((f)=>{
22
22
  const fieldName = 'name' in f ? f.name : undefined;
23
- return Boolean(isFieldAffectingData && fieldName === useAsTitle);
23
+ return Boolean(fieldAffectsData(f) && fieldName === useAsTitle);
24
24
  });
25
25
  if (titleField && formattedDoc[useAsTitle]) {
26
- if (titleField.localized) {
26
+ if ('localized' in titleField && titleField.localized) {
27
27
  docLabel = formattedDoc[useAsTitle]?.[locale.code];
28
28
  } else {
29
29
  docLabel = formattedDoc[useAsTitle];
@@ -103,7 +103,7 @@ export const SetStepNav = ({ id, collectionConfig, collectionSlug, doc, fieldMap
103
103
  t,
104
104
  i18n,
105
105
  collectionConfig,
106
- fieldMap,
106
+ fields,
107
107
  globalConfig
108
108
  ]);
109
109
  return null;