@payloadcms/next 3.0.0-canary.95fcd13 → 3.0.0-canary.9beaa28

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 (326) hide show
  1. package/dist/cjs/withPayload.cjs +15 -13
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +3 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +16 -3
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +2 -2
  8. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +2 -2
  10. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -2
  12. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/index.js +27 -17
  14. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/index.scss +0 -1
  16. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +2 -0
  17. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  18. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +15 -15
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  20. package/dist/elements/DocumentHeader/index.d.ts +2 -2
  21. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  22. package/dist/elements/DocumentHeader/index.js +2 -2
  23. package/dist/elements/DocumentHeader/index.js.map +1 -1
  24. package/dist/elements/DocumentHeader/index.scss +5 -4
  25. package/dist/elements/EmailAndUsername/index.d.ts +9 -3
  26. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  27. package/dist/elements/EmailAndUsername/index.js +78 -22
  28. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  29. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  30. package/dist/elements/LeaveWithoutSaving/index.js +7 -0
  31. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  32. package/dist/elements/LeaveWithoutSaving/index.scss +1 -0
  33. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +2 -1
  34. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  35. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +3 -1
  36. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  37. package/dist/elements/Logo/index.d.ts.map +1 -1
  38. package/dist/elements/Logo/index.js +8 -5
  39. package/dist/elements/Logo/index.js.map +1 -1
  40. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  41. package/dist/elements/Nav/NavWrapper/index.js +4 -2
  42. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  43. package/dist/elements/Nav/NavWrapper/index.scss +4 -1
  44. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  45. package/dist/elements/Nav/index.client.js +8 -9
  46. package/dist/elements/Nav/index.client.js.map +1 -1
  47. package/dist/elements/Nav/index.d.ts.map +1 -1
  48. package/dist/elements/Nav/index.js +21 -27
  49. package/dist/elements/Nav/index.js.map +1 -1
  50. package/dist/elements/Nav/index.scss +21 -15
  51. package/dist/layouts/Root/index.d.ts +5 -4
  52. package/dist/layouts/Root/index.d.ts.map +1 -1
  53. package/dist/layouts/Root/index.js +54 -14
  54. package/dist/layouts/Root/index.js.map +1 -1
  55. package/dist/prod/styles.css +1 -1
  56. package/dist/routes/rest/buildFormState.js +4 -4
  57. package/dist/routes/rest/buildFormState.js.map +1 -1
  58. package/dist/routes/rest/og/image.d.ts +2 -1
  59. package/dist/routes/rest/og/image.d.ts.map +1 -1
  60. package/dist/routes/rest/og/image.js +6 -2
  61. package/dist/routes/rest/og/image.js.map +1 -1
  62. package/dist/routes/rest/og/index.d.ts.map +1 -1
  63. package/dist/routes/rest/og/index.js +7 -3
  64. package/dist/routes/rest/og/index.js.map +1 -1
  65. package/dist/scss/app.scss +5 -5
  66. package/dist/scss/toasts.scss +15 -14
  67. package/dist/scss/type.scss +1 -0
  68. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  69. package/dist/templates/Default/Wrapper/index.js +4 -2
  70. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  71. package/dist/templates/Default/Wrapper/index.scss +36 -4
  72. package/dist/templates/Default/index.d.ts.map +1 -1
  73. package/dist/templates/Default/index.js +16 -23
  74. package/dist/templates/Default/index.js.map +1 -1
  75. package/dist/utilities/getPayloadHMR.d.ts +1 -1
  76. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  77. package/dist/utilities/getPayloadHMR.js +15 -2
  78. package/dist/utilities/getPayloadHMR.js.map +1 -1
  79. package/dist/utilities/initPage/index.d.ts +1 -1
  80. package/dist/utilities/initPage/index.d.ts.map +1 -1
  81. package/dist/utilities/initPage/index.js +3 -2
  82. package/dist/utilities/initPage/index.js.map +1 -1
  83. package/dist/utilities/initPage/types.d.ts +2 -1
  84. package/dist/utilities/initPage/types.d.ts.map +1 -1
  85. package/dist/utilities/initPage/types.js.map +1 -1
  86. package/dist/utilities/meta.d.ts.map +1 -1
  87. package/dist/utilities/meta.js +6 -5
  88. package/dist/utilities/meta.js.map +1 -1
  89. package/dist/views/API/LocaleSelector/index.d.ts +2 -2
  90. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  91. package/dist/views/API/LocaleSelector/index.js +7 -5
  92. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  93. package/dist/views/API/index.client.d.ts.map +1 -1
  94. package/dist/views/API/index.client.js +39 -33
  95. package/dist/views/API/index.client.js.map +1 -1
  96. package/dist/views/API/index.d.ts +2 -2
  97. package/dist/views/API/index.d.ts.map +1 -1
  98. package/dist/views/API/index.js.map +1 -1
  99. package/dist/views/API/index.scss +1 -2
  100. package/dist/views/API/meta.d.ts.map +1 -1
  101. package/dist/views/API/meta.js +10 -6
  102. package/dist/views/API/meta.js.map +1 -1
  103. package/dist/views/Account/Settings/index.d.ts +3 -3
  104. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  105. package/dist/views/Account/Settings/index.js +1 -0
  106. package/dist/views/Account/Settings/index.js.map +1 -1
  107. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  108. package/dist/views/Account/ToggleTheme/index.js +18 -16
  109. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  110. package/dist/views/Account/index.client.d.ts +3 -0
  111. package/dist/views/Account/index.client.d.ts.map +1 -0
  112. package/dist/views/Account/index.client.js +21 -0
  113. package/dist/views/Account/index.client.js.map +1 -0
  114. package/dist/views/Account/index.d.ts.map +1 -1
  115. package/dist/views/Account/index.js +38 -36
  116. package/dist/views/Account/index.js.map +1 -1
  117. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  118. package/dist/views/CreateFirstUser/index.client.js +16 -12
  119. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  120. package/dist/views/CreateFirstUser/index.scss +4 -0
  121. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  122. package/dist/views/Dashboard/Default/index.js +21 -27
  123. package/dist/views/Dashboard/Default/index.js.map +1 -1
  124. package/dist/views/Dashboard/index.d.ts.map +1 -1
  125. package/dist/views/Dashboard/index.js +26 -30
  126. package/dist/views/Dashboard/index.js.map +1 -1
  127. package/dist/views/Document/getCustomViewByKey.d.ts.map +1 -1
  128. package/dist/views/Document/getCustomViewByKey.js +1 -2
  129. package/dist/views/Document/getCustomViewByKey.js.map +1 -1
  130. package/dist/views/Document/getCustomViewByRoute.d.ts +4 -1
  131. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  132. package/dist/views/Document/getCustomViewByRoute.js +16 -6
  133. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  134. package/dist/views/Document/getMetaBySegment.d.ts +2 -1
  135. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  136. package/dist/views/Document/getMetaBySegment.js +73 -28
  137. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  138. package/dist/views/Document/getViewsFromConfig.d.ts +18 -7
  139. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  140. package/dist/views/Document/getViewsFromConfig.js +295 -204
  141. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  142. package/dist/views/Document/index.d.ts.map +1 -1
  143. package/dist/views/Document/index.js +40 -42
  144. package/dist/views/Document/index.js.map +1 -1
  145. package/dist/views/Edit/Default/Auth/APIKey.d.ts +2 -2
  146. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  147. package/dist/views/Edit/Default/Auth/APIKey.js +35 -7
  148. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  149. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  150. package/dist/views/Edit/Default/Auth/index.js +34 -18
  151. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  152. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
  153. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +1 -1
  154. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  155. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  156. package/dist/views/Edit/Default/index.js +27 -19
  157. package/dist/views/Edit/Default/index.js.map +1 -1
  158. package/dist/views/Edit/index.client.d.ts.map +1 -1
  159. package/dist/views/Edit/index.client.js +11 -6
  160. package/dist/views/Edit/index.client.js.map +1 -1
  161. package/dist/views/Edit/index.d.ts +2 -2
  162. package/dist/views/Edit/index.d.ts.map +1 -1
  163. package/dist/views/Edit/index.js.map +1 -1
  164. package/dist/views/Edit/meta.d.ts.map +1 -1
  165. package/dist/views/Edit/meta.js +30 -19
  166. package/dist/views/Edit/meta.js.map +1 -1
  167. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  168. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +11 -7
  169. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  170. package/dist/views/List/Default/index.d.ts.map +1 -1
  171. package/dist/views/List/Default/index.js +69 -64
  172. package/dist/views/List/Default/index.js.map +1 -1
  173. package/dist/views/List/Default/index.scss +8 -23
  174. package/dist/views/List/index.d.ts.map +1 -1
  175. package/dist/views/List/index.js +67 -47
  176. package/dist/views/List/index.js.map +1 -1
  177. package/dist/views/List/meta.js +1 -1
  178. package/dist/views/List/meta.js.map +1 -1
  179. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  180. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  181. package/dist/views/LivePreview/Context/context.js.map +1 -1
  182. package/dist/views/LivePreview/Context/index.d.ts +3 -3
  183. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  184. package/dist/views/LivePreview/Context/index.js.map +1 -1
  185. package/dist/views/LivePreview/index.client.d.ts +3 -3
  186. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  187. package/dist/views/LivePreview/index.client.js +84 -93
  188. package/dist/views/LivePreview/index.client.js.map +1 -1
  189. package/dist/views/LivePreview/index.d.ts +2 -2
  190. package/dist/views/LivePreview/index.d.ts.map +1 -1
  191. package/dist/views/LivePreview/index.js.map +1 -1
  192. package/dist/views/LivePreview/meta.d.ts.map +1 -1
  193. package/dist/views/LivePreview/meta.js +2 -1
  194. package/dist/views/LivePreview/meta.js.map +1 -1
  195. package/dist/views/LivePreview/usePopupWindow.d.ts +2 -1
  196. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  197. package/dist/views/LivePreview/usePopupWindow.js +1 -1
  198. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  199. package/dist/views/Login/LoginField/index.d.ts +3 -3
  200. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  201. package/dist/views/Login/LoginField/index.js +15 -12
  202. package/dist/views/Login/LoginField/index.js.map +1 -1
  203. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  204. package/dist/views/Login/LoginForm/index.js +6 -4
  205. package/dist/views/Login/LoginForm/index.js.map +1 -1
  206. package/dist/views/Login/index.d.ts.map +1 -1
  207. package/dist/views/Login/index.js +21 -27
  208. package/dist/views/Login/index.js.map +1 -1
  209. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  210. package/dist/views/NotFound/index.client.js +1 -1
  211. package/dist/views/NotFound/index.client.js.map +1 -1
  212. package/dist/views/NotFound/index.d.ts +4 -3
  213. package/dist/views/NotFound/index.d.ts.map +1 -1
  214. package/dist/views/NotFound/index.js +14 -22
  215. package/dist/views/NotFound/index.js.map +1 -1
  216. package/dist/views/ResetPassword/index.client.d.ts +1 -1
  217. package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
  218. package/dist/views/ResetPassword/index.client.js +9 -6
  219. package/dist/views/ResetPassword/index.client.js.map +1 -1
  220. package/dist/views/Root/generateCustomViewMetadata.d.ts +11 -0
  221. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -0
  222. package/dist/views/Root/generateCustomViewMetadata.js +23 -0
  223. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -0
  224. package/dist/views/Root/getCustomViewByRoute.d.ts +7 -2
  225. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  226. package/dist/views/Root/getCustomViewByRoute.js +29 -11
  227. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  228. package/dist/views/Root/getViewFromConfig.d.ts +10 -4
  229. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  230. package/dist/views/Root/getViewFromConfig.js +32 -15
  231. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  232. package/dist/views/Root/index.d.ts +6 -5
  233. package/dist/views/Root/index.d.ts.map +1 -1
  234. package/dist/views/Root/index.js +14 -6
  235. package/dist/views/Root/index.js.map +1 -1
  236. package/dist/views/Root/meta.d.ts.map +1 -1
  237. package/dist/views/Root/meta.js +19 -2
  238. package/dist/views/Root/meta.js.map +1 -1
  239. package/dist/views/Unauthorized/index.d.ts +2 -2
  240. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  241. package/dist/views/Unauthorized/index.js.map +1 -1
  242. package/dist/views/Version/Default/SetStepNav.d.ts +8 -8
  243. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  244. package/dist/views/Version/Default/SetStepNav.js +7 -7
  245. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  246. package/dist/views/Version/Default/index.d.ts.map +1 -1
  247. package/dist/views/Version/Default/index.js +10 -15
  248. package/dist/views/Version/Default/index.js.map +1 -1
  249. package/dist/views/Version/Default/types.d.ts +7 -7
  250. package/dist/views/Version/Default/types.d.ts.map +1 -1
  251. package/dist/views/Version/Default/types.js.map +1 -1
  252. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +2 -2
  253. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  254. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +20 -20
  255. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  256. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +2 -2
  257. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
  258. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +4 -4
  259. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  260. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +3 -2
  261. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  262. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +44 -24
  263. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  264. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -5
  265. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  266. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +1 -1
  267. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  268. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -5
  269. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  270. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +2 -2
  271. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  272. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +3 -2
  273. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  274. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +1 -1
  275. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  276. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +21 -28
  277. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  278. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +4 -3
  279. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  280. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +15 -15
  281. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  282. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  283. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  284. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -8
  285. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  286. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +9 -9
  287. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  288. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  289. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  290. package/dist/views/Version/Restore/index.js +1 -1
  291. package/dist/views/Version/Restore/index.js.map +1 -1
  292. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  293. package/dist/views/Version/SelectComparison/index.js +1 -1
  294. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  295. package/dist/views/Version/index.d.ts +2 -2
  296. package/dist/views/Version/index.d.ts.map +1 -1
  297. package/dist/views/Version/index.js +32 -5
  298. package/dist/views/Version/index.js.map +1 -1
  299. package/dist/views/Version/meta.d.ts.map +1 -1
  300. package/dist/views/Version/meta.js +24 -19
  301. package/dist/views/Version/meta.js.map +1 -1
  302. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  303. package/dist/views/Versions/buildColumns.js +40 -16
  304. package/dist/views/Versions/buildColumns.js.map +1 -1
  305. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  306. package/dist/views/Versions/cells/CreatedAt/index.js +1 -1
  307. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  308. package/dist/views/Versions/getLatestVersion.d.ts +13 -4
  309. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  310. package/dist/views/Versions/getLatestVersion.js +6 -1
  311. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  312. package/dist/views/Versions/index.client.d.ts +4 -4
  313. package/dist/views/Versions/index.client.d.ts.map +1 -1
  314. package/dist/views/Versions/index.client.js +8 -6
  315. package/dist/views/Versions/index.client.js.map +1 -1
  316. package/dist/views/Versions/index.d.ts +2 -2
  317. package/dist/views/Versions/index.d.ts.map +1 -1
  318. package/dist/views/Versions/index.js +24 -4
  319. package/dist/views/Versions/index.js.map +1 -1
  320. package/dist/views/Versions/meta.d.ts.map +1 -1
  321. package/dist/views/Versions/meta.js +24 -19
  322. package/dist/views/Versions/meta.js.map +1 -1
  323. package/dist/withPayload.d.ts.map +1 -1
  324. package/dist/withPayload.js +15 -13
  325. package/dist/withPayload.js.map +1 -1
  326. package/package.json +9 -9
@@ -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":"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"}
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"sourcesContent":["import type { StepNavItem } from '@payloadcms/ui'\nimport type { ClientCollectionConfig, ClientGlobalConfig, FieldMap } from 'payload'\nimport type React from 'react'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useLocale, useStepNav, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL, formatDate } from '@payloadcms/ui/shared'\nimport { useEffect } from 'react'\n\nexport const SetStepNav: React.FC<{\n collectionConfig?: ClientCollectionConfig\n collectionSlug?: string\n doc: any\n fieldMap: FieldMap\n globalConfig?: ClientGlobalConfig\n globalSlug?: string\n id?: number | string\n}> = ({ id, collectionConfig, collectionSlug, doc, fieldMap, globalConfig, globalSlug }) => {\n const config = useConfig()\n const { setStepNav } = useStepNav()\n const { i18n, t } = useTranslation()\n const locale = useLocale()\n\n useEffect(() => {\n let nav: StepNavItem[] = []\n\n const {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n } = config\n\n if (collectionSlug) {\n let docLabel = ''\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const pluralLabel = collectionConfig?.labels?.plural\n const formattedDoc = doc.version ? doc.version : doc\n\n if (formattedDoc) {\n if (useAsTitle !== 'id') {\n const titleField = fieldMap.find((f) => {\n const { isFieldAffectingData } = f\n const fieldName = 'name' in f ? f.name : undefined\n return Boolean(isFieldAffectingData && fieldName === useAsTitle)\n })\n\n if (titleField && formattedDoc[useAsTitle]) {\n if (titleField.localized) {\n docLabel = formattedDoc[useAsTitle]?.[locale.code]\n } else {\n docLabel = formattedDoc[useAsTitle]\n }\n } else {\n docLabel = `[${t('general:untitled')}]`\n }\n } else {\n docLabel = doc.id\n }\n }\n\n nav = [\n {\n label: getTranslation(pluralLabel, i18n),\n url: formatAdminURL({ adminRoute, path: `/collections/${collectionSlug}` }),\n },\n {\n label: docLabel,\n url: formatAdminURL({ adminRoute, path: `/collections/${collectionSlug}/${id}` }),\n },\n {\n label: 'Versions',\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${id}/versions`,\n }),\n },\n {\n label: doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : '',\n },\n ]\n }\n\n if (globalSlug) {\n nav = [\n {\n label: globalConfig.label,\n url: formatAdminURL({\n adminRoute,\n path: `/globals/${globalConfig.slug}`,\n }),\n },\n {\n label: 'Versions',\n url: formatAdminURL({\n adminRoute,\n path: `/globals/${globalConfig.slug}/versions`,\n }),\n },\n {\n label: doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : '',\n },\n ]\n }\n\n setStepNav(nav)\n }, [\n config,\n setStepNav,\n collectionSlug,\n globalSlug,\n doc,\n id,\n locale,\n t,\n i18n,\n collectionConfig,\n fieldMap,\n globalConfig,\n ])\n\n return null\n}\n"],"names":["getTranslation","useConfig","useLocale","useStepNav","useTranslation","formatAdminURL","formatDate","useEffect","SetStepNav","id","collectionConfig","collectionSlug","doc","fieldMap","globalConfig","globalSlug","config","setStepNav","i18n","t","locale","nav","admin","dateFormat","routes","adminRoute","docLabel","useAsTitle","pluralLabel","labels","plural","formattedDoc","version","titleField","find","f","isFieldAffectingData","fieldName","name","undefined","Boolean","localized","code","label","url","path","createdAt","date","pattern","slug"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"sourcesContent":["import type { StepNavItem } from '@payloadcms/ui'\nimport type { ClientCollectionConfig, ClientField, ClientGlobalConfig } from 'payload'\nimport type React from 'react'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useLocale, useStepNav, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL, formatDate } from '@payloadcms/ui/shared'\nimport { fieldAffectsData } from 'payload/shared'\nimport { useEffect } from 'react'\n\nexport const SetStepNav: React.FC<{\n readonly collectionConfig?: ClientCollectionConfig\n readonly collectionSlug?: string\n readonly doc: any\n readonly fields: ClientField[]\n readonly globalConfig?: ClientGlobalConfig\n readonly globalSlug?: string\n readonly id?: number | string\n}> = ({ id, collectionConfig, collectionSlug, doc, fields, globalConfig, globalSlug }) => {\n const { config } = useConfig()\n const { setStepNav } = useStepNav()\n const { i18n, t } = useTranslation()\n const locale = useLocale()\n\n useEffect(() => {\n let nav: StepNavItem[] = []\n\n const {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n } = config\n\n if (collectionSlug) {\n let docLabel = ''\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const pluralLabel = collectionConfig?.labels?.plural\n const formattedDoc = doc.version ? doc.version : doc\n\n if (formattedDoc) {\n if (useAsTitle !== 'id') {\n const titleField = fields.find((f) => {\n const fieldName = 'name' in f ? f.name : undefined\n return Boolean(fieldAffectsData(f) && fieldName === useAsTitle)\n })\n\n if (titleField && formattedDoc[useAsTitle]) {\n if ('localized' in titleField && titleField.localized) {\n docLabel = formattedDoc[useAsTitle]?.[locale.code]\n } else {\n docLabel = formattedDoc[useAsTitle]\n }\n } else {\n docLabel = `[${t('general:untitled')}]`\n }\n } else {\n docLabel = doc.id\n }\n }\n\n nav = [\n {\n label: getTranslation(pluralLabel, i18n),\n url: formatAdminURL({ adminRoute, path: `/collections/${collectionSlug}` }),\n },\n {\n label: docLabel,\n url: formatAdminURL({ adminRoute, path: `/collections/${collectionSlug}/${id}` }),\n },\n {\n label: 'Versions',\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${id}/versions`,\n }),\n },\n {\n label: doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : '',\n },\n ]\n }\n\n if (globalSlug) {\n nav = [\n {\n label: globalConfig.label,\n url: formatAdminURL({\n adminRoute,\n path: `/globals/${globalConfig.slug}`,\n }),\n },\n {\n label: 'Versions',\n url: formatAdminURL({\n adminRoute,\n path: `/globals/${globalConfig.slug}/versions`,\n }),\n },\n {\n label: doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: dateFormat })\n : '',\n },\n ]\n }\n\n setStepNav(nav)\n }, [\n config,\n setStepNav,\n collectionSlug,\n globalSlug,\n doc,\n id,\n locale,\n t,\n i18n,\n collectionConfig,\n fields,\n globalConfig,\n ])\n\n return null\n}\n"],"names":["getTranslation","useConfig","useLocale","useStepNav","useTranslation","formatAdminURL","formatDate","fieldAffectsData","useEffect","SetStepNav","id","collectionConfig","collectionSlug","doc","fields","globalConfig","globalSlug","config","setStepNav","i18n","t","locale","nav","admin","dateFormat","routes","adminRoute","docLabel","useAsTitle","pluralLabel","labels","plural","formattedDoc","version","titleField","find","f","fieldName","name","undefined","Boolean","localized","code","label","url","path","createdAt","date","pattern","slug"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAQzE,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAiIjE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAQzE,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA+HjE,CAAA"}