@payloadcms/next 3.0.0-canary.294ea5c → 3.0.0-canary.2d0dd26

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 (615) hide show
  1. package/dist/cjs/withPayload.cjs +166 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -0
  3. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -0
  5. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +16 -18
  9. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +70 -68
  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 +18 -17
  14. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/index.scss +41 -39
  16. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -27
  18. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  21. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +3 -3
  22. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/index.d.ts +2 -3
  24. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  25. package/dist/elements/DocumentHeader/index.js +9 -12
  26. package/dist/elements/DocumentHeader/index.js.map +1 -1
  27. package/dist/elements/DocumentHeader/index.scss +44 -42
  28. package/dist/elements/FormHeader/index.d.ts +9 -0
  29. package/dist/elements/FormHeader/index.d.ts.map +1 -0
  30. package/dist/elements/FormHeader/index.js +20 -0
  31. package/dist/elements/FormHeader/index.js.map +1 -0
  32. package/dist/elements/FormHeader/index.scss +8 -0
  33. package/dist/elements/Logo/index.d.ts.map +1 -1
  34. package/dist/elements/Logo/index.js +5 -6
  35. package/dist/elements/Logo/index.js.map +1 -1
  36. package/dist/elements/Nav/NavWrapper/index.scss +21 -14
  37. package/dist/elements/Nav/getNavPrefs.d.ts +6 -0
  38. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -0
  39. package/dist/elements/Nav/getNavPrefs.js +26 -0
  40. package/dist/elements/Nav/getNavPrefs.js.map +1 -0
  41. package/dist/elements/Nav/index.client.d.ts +6 -1
  42. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  43. package/dist/elements/Nav/index.client.js +45 -95
  44. package/dist/elements/Nav/index.client.js.map +1 -1
  45. package/dist/elements/Nav/index.d.ts.map +1 -1
  46. package/dist/elements/Nav/index.js +66 -23
  47. package/dist/elements/Nav/index.js.map +1 -1
  48. package/dist/elements/Nav/index.scss +127 -121
  49. package/dist/exports/layouts.d.ts +2 -1
  50. package/dist/exports/layouts.d.ts.map +1 -1
  51. package/dist/exports/layouts.js +2 -1
  52. package/dist/exports/layouts.js.map +1 -1
  53. package/dist/exports/routes.d.ts +1 -1
  54. package/dist/exports/routes.d.ts.map +1 -1
  55. package/dist/exports/routes.js +1 -1
  56. package/dist/exports/routes.js.map +1 -1
  57. package/dist/exports/utilities.d.ts +2 -1
  58. package/dist/exports/utilities.d.ts.map +1 -1
  59. package/dist/exports/utilities.js +3 -1
  60. package/dist/exports/utilities.js.map +1 -1
  61. package/dist/exports/views.d.ts +1 -3
  62. package/dist/exports/views.d.ts.map +1 -1
  63. package/dist/exports/views.js +1 -3
  64. package/dist/exports/views.js.map +1 -1
  65. package/dist/fetchAPI-multipart/fileFactory.d.ts +2 -1
  66. package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -1
  67. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
  68. package/dist/fetchAPI-multipart/handlers.d.ts +1 -1
  69. package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -1
  70. package/dist/fetchAPI-multipart/handlers.js +3 -1
  71. package/dist/fetchAPI-multipart/handlers.js.map +1 -1
  72. package/dist/fetchAPI-multipart/index.d.ts +1 -101
  73. package/dist/fetchAPI-multipart/index.d.ts.map +1 -1
  74. package/dist/fetchAPI-multipart/index.js +1 -1
  75. package/dist/fetchAPI-multipart/index.js.map +1 -1
  76. package/dist/fetchAPI-multipart/isEligibleRequest.js +1 -1
  77. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  78. package/dist/fetchAPI-multipart/processMultipart.d.ts +2 -1
  79. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  80. package/dist/fetchAPI-multipart/processMultipart.js +9 -10
  81. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  82. package/dist/fetchAPI-multipart/processNested.d.ts.map +1 -1
  83. package/dist/fetchAPI-multipart/processNested.js +8 -4
  84. package/dist/fetchAPI-multipart/processNested.js.map +1 -1
  85. package/dist/fetchAPI-multipart/uploadTimer.d.ts.map +1 -1
  86. package/dist/fetchAPI-multipart/uploadTimer.js +3 -1
  87. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
  88. package/dist/fetchAPI-multipart/utilities.d.ts +1 -1
  89. package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -1
  90. package/dist/fetchAPI-multipart/utilities.js +32 -12
  91. package/dist/fetchAPI-multipart/utilities.js.map +1 -1
  92. package/dist/layouts/Root/NestProviders.d.ts +11 -0
  93. package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
  94. package/dist/layouts/Root/NestProviders.js +21 -0
  95. package/dist/layouts/Root/NestProviders.js.map +1 -0
  96. package/dist/layouts/Root/checkDependencies.d.ts +2 -0
  97. package/dist/layouts/Root/checkDependencies.d.ts.map +1 -0
  98. package/dist/layouts/Root/checkDependencies.js +49 -0
  99. package/dist/layouts/Root/checkDependencies.js.map +1 -0
  100. package/dist/layouts/Root/index.d.ts +4 -3
  101. package/dist/layouts/Root/index.d.ts.map +1 -1
  102. package/dist/layouts/Root/index.js +42 -71
  103. package/dist/layouts/Root/index.js.map +1 -1
  104. package/dist/prod/styles.css +1 -1
  105. package/dist/routes/graphql/handler.d.ts.map +1 -1
  106. package/dist/routes/graphql/handler.js +23 -11
  107. package/dist/routes/graphql/handler.js.map +1 -1
  108. package/dist/routes/rest/auth/login.js +2 -2
  109. package/dist/routes/rest/auth/login.js.map +1 -1
  110. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  111. package/dist/routes/rest/auth/logout.js +3 -2
  112. package/dist/routes/rest/auth/logout.js.map +1 -1
  113. package/dist/routes/rest/auth/refresh.js +2 -2
  114. package/dist/routes/rest/auth/refresh.js.map +1 -1
  115. package/dist/routes/rest/auth/registerFirstUser.js +2 -2
  116. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  117. package/dist/routes/rest/auth/resetPassword.js +2 -2
  118. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  119. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  120. package/dist/routes/rest/collections/create.js +5 -1
  121. package/dist/routes/rest/collections/create.js.map +1 -1
  122. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  123. package/dist/routes/rest/collections/delete.js +8 -0
  124. package/dist/routes/rest/collections/delete.js.map +1 -1
  125. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  126. package/dist/routes/rest/collections/deleteByID.js +7 -1
  127. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  128. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  129. package/dist/routes/rest/collections/duplicate.js +5 -1
  130. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  131. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  132. package/dist/routes/rest/collections/find.js +10 -1
  133. package/dist/routes/rest/collections/find.js.map +1 -1
  134. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  135. package/dist/routes/rest/collections/findByID.js +7 -1
  136. package/dist/routes/rest/collections/findByID.js.map +1 -1
  137. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  138. package/dist/routes/rest/collections/findVersionByID.js +5 -1
  139. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  140. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  141. package/dist/routes/rest/collections/findVersions.js +7 -1
  142. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  143. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  144. package/dist/routes/rest/collections/restoreVersion.js +2 -0
  145. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  146. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  147. package/dist/routes/rest/collections/update.js +10 -0
  148. package/dist/routes/rest/collections/update.js.map +1 -1
  149. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  150. package/dist/routes/rest/collections/updateByID.js +15 -3
  151. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  152. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  153. package/dist/routes/rest/files/checkFileAccess.js +7 -2
  154. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  155. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  156. package/dist/routes/rest/files/getFile.js +6 -2
  157. package/dist/routes/rest/files/getFile.js.map +1 -1
  158. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  159. package/dist/routes/rest/globals/findOne.js +5 -1
  160. package/dist/routes/rest/globals/findOne.js.map +1 -1
  161. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  162. package/dist/routes/rest/globals/findVersionByID.js +5 -1
  163. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  164. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  165. package/dist/routes/rest/globals/findVersions.js +7 -1
  166. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  167. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  168. package/dist/routes/rest/globals/restoreVersion.js +2 -0
  169. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  170. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  171. package/dist/routes/rest/globals/update.js +13 -3
  172. package/dist/routes/rest/globals/update.js.map +1 -1
  173. package/dist/routes/rest/index.d.ts +17 -12
  174. package/dist/routes/rest/index.d.ts.map +1 -1
  175. package/dist/routes/rest/index.js +132 -39
  176. package/dist/routes/rest/index.js.map +1 -1
  177. package/dist/routes/rest/og/image.d.ts +4 -2
  178. package/dist/routes/rest/og/image.d.ts.map +1 -1
  179. package/dist/routes/rest/og/image.js +14 -10
  180. package/dist/routes/rest/og/image.js.map +1 -1
  181. package/dist/routes/rest/og/index.d.ts.map +1 -1
  182. package/dist/routes/rest/og/index.js +7 -12
  183. package/dist/routes/rest/og/index.js.map +1 -1
  184. package/dist/routes/rest/routeError.d.ts +2 -7
  185. package/dist/routes/rest/routeError.d.ts.map +1 -1
  186. package/dist/routes/rest/routeError.js +43 -69
  187. package/dist/routes/rest/routeError.js.map +1 -1
  188. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -1
  189. package/dist/routes/rest/utilities/sanitizeCollectionID.js +6 -2
  190. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
  191. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +13 -0
  192. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -0
  193. package/dist/routes/rest/utilities/sanitizeJoinParams.js +21 -0
  194. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -0
  195. package/dist/routes/rest/utilities/sanitizePopulate.d.ts +3 -0
  196. package/dist/routes/rest/utilities/sanitizePopulate.d.ts.map +1 -0
  197. package/dist/routes/rest/utilities/sanitizePopulate.js +11 -0
  198. package/dist/routes/rest/utilities/sanitizePopulate.js.map +1 -0
  199. package/dist/routes/rest/utilities/sanitizeSelect.d.ts +6 -0
  200. package/dist/routes/rest/utilities/sanitizeSelect.d.ts.map +1 -0
  201. package/dist/routes/rest/utilities/sanitizeSelect.js +17 -0
  202. package/dist/routes/rest/utilities/sanitizeSelect.js.map +1 -0
  203. package/dist/scss/app.scss +166 -162
  204. package/dist/scss/colors.scss +256 -254
  205. package/dist/scss/resets.scss +9 -7
  206. package/dist/scss/toastify.scss +42 -40
  207. package/dist/scss/toasts.scss +105 -103
  208. package/dist/scss/type.scss +80 -79
  209. package/dist/templates/Default/Wrapper/index.scss +37 -36
  210. package/dist/templates/Default/index.d.ts +2 -1
  211. package/dist/templates/Default/index.d.ts.map +1 -1
  212. package/dist/templates/Default/index.js +101 -31
  213. package/dist/templates/Default/index.js.map +1 -1
  214. package/dist/templates/Default/index.scss +62 -50
  215. package/dist/templates/Minimal/index.scss +22 -20
  216. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  217. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  218. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  219. package/dist/utilities/addLocalesToRequest.js +24 -10
  220. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  221. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  222. package/dist/utilities/createPayloadRequest.js +21 -13
  223. package/dist/utilities/createPayloadRequest.js.map +1 -1
  224. package/dist/utilities/getClientConfig.d.ts +8 -0
  225. package/dist/utilities/getClientConfig.d.ts.map +1 -0
  226. package/dist/utilities/getClientConfig.js +16 -0
  227. package/dist/utilities/getClientConfig.js.map +1 -0
  228. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  229. package/dist/utilities/getNextRequestI18n.js +2 -2
  230. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  231. package/dist/utilities/getPayloadHMR.d.ts +1 -2
  232. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  233. package/dist/utilities/getPayloadHMR.js +4 -102
  234. package/dist/utilities/getPayloadHMR.js.map +1 -1
  235. package/dist/utilities/getRequestLocales.d.ts.map +1 -1
  236. package/dist/utilities/getRequestLocales.js +10 -6
  237. package/dist/utilities/getRequestLocales.js.map +1 -1
  238. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  239. package/dist/utilities/getRequestTheme.js +3 -0
  240. package/dist/utilities/getRequestTheme.js.map +1 -1
  241. package/dist/utilities/handleServerFunctions.d.ts +3 -0
  242. package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
  243. package/dist/utilities/handleServerFunctions.js +35 -0
  244. package/dist/utilities/handleServerFunctions.js.map +1 -0
  245. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  246. package/dist/utilities/headersWithCors.js.map +1 -1
  247. package/dist/utilities/initPage/handleAdminPage.d.ts +13 -11
  248. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  249. package/dist/utilities/initPage/handleAdminPage.js +16 -20
  250. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  251. package/dist/utilities/initPage/handleAuthRedirect.d.ts +6 -3
  252. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  253. package/dist/utilities/initPage/handleAuthRedirect.js +23 -34
  254. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  255. package/dist/utilities/initPage/index.d.ts +1 -1
  256. package/dist/utilities/initPage/index.d.ts.map +1 -1
  257. package/dist/utilities/initPage/index.js +57 -48
  258. package/dist/utilities/initPage/index.js.map +1 -1
  259. package/dist/utilities/initPage/isCustomAdminView.d.ts +10 -0
  260. package/dist/utilities/initPage/isCustomAdminView.d.ts.map +1 -0
  261. package/dist/utilities/initPage/isCustomAdminView.js +31 -0
  262. package/dist/utilities/initPage/isCustomAdminView.js.map +1 -0
  263. package/dist/utilities/initPage/shared.d.ts +2 -2
  264. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  265. package/dist/utilities/initPage/shared.js +19 -13
  266. package/dist/utilities/initPage/shared.js.map +1 -1
  267. package/dist/utilities/initReq.d.ts +11 -0
  268. package/dist/utilities/initReq.d.ts.map +1 -0
  269. package/dist/utilities/initReq.js +45 -0
  270. package/dist/utilities/initReq.js.map +1 -0
  271. package/dist/utilities/timestamp.d.ts.map +1 -1
  272. package/dist/utilities/timestamp.js +3 -1
  273. package/dist/utilities/timestamp.js.map +1 -1
  274. package/dist/views/API/LocaleSelector/index.js +2 -2
  275. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  276. package/dist/views/API/RenderJSON/index.d.ts +1 -1
  277. package/dist/views/API/RenderJSON/index.d.ts.map +1 -1
  278. package/dist/views/API/RenderJSON/index.js.map +1 -1
  279. package/dist/views/API/RenderJSON/index.scss +68 -66
  280. package/dist/views/API/index.client.d.ts.map +1 -1
  281. package/dist/views/API/index.client.js +16 -16
  282. package/dist/views/API/index.client.js.map +1 -1
  283. package/dist/views/API/index.scss +98 -96
  284. package/dist/views/Account/Settings/index.d.ts +2 -1
  285. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  286. package/dist/views/Account/Settings/index.js +3 -3
  287. package/dist/views/Account/Settings/index.js.map +1 -1
  288. package/dist/views/Account/Settings/index.scss +37 -35
  289. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  290. package/dist/views/Account/ToggleTheme/index.js +2 -0
  291. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  292. package/dist/views/Account/index.d.ts.map +1 -1
  293. package/dist/views/Account/index.js +86 -31
  294. package/dist/views/Account/index.js.map +1 -1
  295. package/dist/views/CreateFirstUser/index.client.d.ts +4 -2
  296. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  297. package/dist/views/CreateFirstUser/index.client.js +86 -92
  298. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  299. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  300. package/dist/views/CreateFirstUser/index.js +36 -4
  301. package/dist/views/CreateFirstUser/index.js.map +1 -1
  302. package/dist/views/CreateFirstUser/index.scss +18 -6
  303. package/dist/views/Dashboard/Default/index.d.ts +11 -2
  304. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  305. package/dist/views/Dashboard/Default/index.js +70 -47
  306. package/dist/views/Dashboard/Default/index.js.map +1 -1
  307. package/dist/views/Dashboard/Default/index.scss +53 -46
  308. package/dist/views/Dashboard/index.d.ts.map +1 -1
  309. package/dist/views/Dashboard/index.js +57 -24
  310. package/dist/views/Dashboard/index.js.map +1 -1
  311. package/dist/views/Document/getDocPreferences.d.ts +11 -0
  312. package/dist/views/Document/getDocPreferences.d.ts.map +1 -0
  313. package/dist/views/Document/getDocPreferences.js +44 -0
  314. package/dist/views/Document/getDocPreferences.js.map +1 -0
  315. package/dist/views/Document/getDocumentData.d.ts +10 -8
  316. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  317. package/dist/views/Document/getDocumentData.js +35 -34
  318. package/dist/views/Document/getDocumentData.js.map +1 -1
  319. package/dist/views/Document/getDocumentPermissions.d.ts +2 -2
  320. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  321. package/dist/views/Document/getDocumentPermissions.js +14 -8
  322. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  323. package/dist/views/Document/getIsLocked.d.ts +16 -0
  324. package/dist/views/Document/getIsLocked.d.ts.map +1 -0
  325. package/dist/views/Document/getIsLocked.js +55 -0
  326. package/dist/views/Document/getIsLocked.js.map +1 -0
  327. package/dist/views/Document/getMetaBySegment.d.ts +2 -2
  328. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  329. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  330. package/dist/views/Document/getVersions.d.ts +19 -0
  331. package/dist/views/Document/getVersions.d.ts.map +1 -0
  332. package/dist/views/Document/getVersions.js +181 -0
  333. package/dist/views/Document/getVersions.js.map +1 -0
  334. package/dist/views/Document/getViewsFromConfig.d.ts +3 -3
  335. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  336. package/dist/views/Document/getViewsFromConfig.js +30 -25
  337. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  338. package/dist/views/Document/handleServerFunction.d.ts +25 -0
  339. package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
  340. package/dist/views/Document/handleServerFunction.js +159 -0
  341. package/dist/views/Document/handleServerFunction.js.map +1 -0
  342. package/dist/views/Document/index.d.ts +5 -1
  343. package/dist/views/Document/index.d.ts.map +1 -1
  344. package/dist/views/Document/index.js +184 -73
  345. package/dist/views/Document/index.js.map +1 -1
  346. package/dist/views/Document/renderDocumentSlots.d.ts +12 -0
  347. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
  348. package/dist/views/Document/renderDocumentSlots.js +92 -0
  349. package/dist/views/Document/renderDocumentSlots.js.map +1 -0
  350. package/dist/views/Edit/index.d.ts +3 -2
  351. package/dist/views/Edit/index.d.ts.map +1 -1
  352. package/dist/views/Edit/index.js +7 -3
  353. package/dist/views/Edit/index.js.map +1 -1
  354. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  355. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +17 -12
  356. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  357. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  358. package/dist/views/ForgotPassword/index.js +11 -9
  359. package/dist/views/ForgotPassword/index.js.map +1 -1
  360. package/dist/views/List/handleServerFunction.d.ts +27 -0
  361. package/dist/views/List/handleServerFunction.d.ts.map +1 -0
  362. package/dist/views/List/handleServerFunction.js +158 -0
  363. package/dist/views/List/handleServerFunction.js.map +1 -0
  364. package/dist/views/List/index.d.ts +12 -2
  365. package/dist/views/List/index.d.ts.map +1 -1
  366. package/dist/views/List/index.js +146 -85
  367. package/dist/views/List/index.js.map +1 -1
  368. package/dist/views/List/renderListViewSlots.d.ts +12 -0
  369. package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
  370. package/dist/views/List/renderListViewSlots.js +56 -0
  371. package/dist/views/List/renderListViewSlots.js.map +1 -0
  372. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  373. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  374. package/dist/views/LivePreview/Context/context.js.map +1 -1
  375. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  376. package/dist/views/LivePreview/Context/index.js +3 -1
  377. package/dist/views/LivePreview/Context/index.js.map +1 -1
  378. package/dist/views/LivePreview/Context/sizeReducer.d.ts +1 -1
  379. package/dist/views/LivePreview/Context/sizeReducer.d.ts.map +1 -1
  380. package/dist/views/LivePreview/Context/sizeReducer.js +4 -4
  381. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  382. package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
  383. package/dist/views/LivePreview/Device/index.js +5 -1
  384. package/dist/views/LivePreview/Device/index.js.map +1 -1
  385. package/dist/views/LivePreview/IFrame/index.scss +8 -6
  386. package/dist/views/LivePreview/Preview/index.scss +32 -30
  387. package/dist/views/LivePreview/Toolbar/Controls/index.js +1 -1
  388. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  389. package/dist/views/LivePreview/Toolbar/Controls/index.scss +49 -47
  390. package/dist/views/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  391. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  392. package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +11 -9
  393. package/dist/views/LivePreview/Toolbar/index.scss +33 -31
  394. package/dist/views/LivePreview/ToolbarArea/index.scss +5 -3
  395. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  396. package/dist/views/LivePreview/index.client.js +234 -210
  397. package/dist/views/LivePreview/index.client.js.map +1 -1
  398. package/dist/views/LivePreview/index.d.ts.map +1 -1
  399. package/dist/views/LivePreview/index.js +5 -36
  400. package/dist/views/LivePreview/index.js.map +1 -1
  401. package/dist/views/LivePreview/index.scss +48 -46
  402. package/dist/views/LivePreview/usePopupWindow.d.ts +1 -1
  403. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  404. package/dist/views/LivePreview/usePopupWindow.js +119 -74
  405. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  406. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  407. package/dist/views/Login/LoginField/index.js +6 -1
  408. package/dist/views/Login/LoginField/index.js.map +1 -1
  409. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  410. package/dist/views/Login/LoginForm/index.js +31 -13
  411. package/dist/views/Login/LoginForm/index.js.map +1 -1
  412. package/dist/views/Login/LoginForm/index.scss +8 -6
  413. package/dist/views/Login/index.d.ts.map +1 -1
  414. package/dist/views/Login/index.js +26 -20
  415. package/dist/views/Login/index.js.map +1 -1
  416. package/dist/views/Login/index.scss +8 -6
  417. package/dist/views/Logout/LogoutClient.d.ts +1 -0
  418. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  419. package/dist/views/Logout/LogoutClient.js +82 -57
  420. package/dist/views/Logout/LogoutClient.js.map +1 -1
  421. package/dist/views/Logout/index.d.ts.map +1 -1
  422. package/dist/views/Logout/index.js +1 -1
  423. package/dist/views/Logout/index.js.map +1 -1
  424. package/dist/views/Logout/index.scss +19 -14
  425. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  426. package/dist/views/NotFound/index.client.js +8 -5
  427. package/dist/views/NotFound/index.client.js.map +1 -1
  428. package/dist/views/NotFound/index.d.ts +5 -5
  429. package/dist/views/NotFound/index.d.ts.map +1 -1
  430. package/dist/views/NotFound/index.js +7 -2
  431. package/dist/views/NotFound/index.js.map +1 -1
  432. package/dist/views/NotFound/index.scss +41 -21
  433. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts +7 -0
  434. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -0
  435. package/dist/views/ResetPassword/{index.client.js → ResetPasswordForm/index.js} +26 -25
  436. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
  437. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  438. package/dist/views/ResetPassword/index.js +48 -45
  439. package/dist/views/ResetPassword/index.js.map +1 -1
  440. package/dist/views/ResetPassword/index.scss +9 -3
  441. package/dist/views/Root/getViewFromConfig.d.ts +3 -1
  442. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  443. package/dist/views/Root/getViewFromConfig.js +131 -16
  444. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  445. package/dist/views/Root/index.d.ts +5 -5
  446. package/dist/views/Root/index.d.ts.map +1 -1
  447. package/dist/views/Root/index.js +44 -19
  448. package/dist/views/Root/index.js.map +1 -1
  449. package/dist/views/Root/isPathMatchingRoute.d.ts.map +1 -1
  450. package/dist/views/Root/isPathMatchingRoute.js +6 -2
  451. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  452. package/dist/views/Root/meta.d.ts +5 -5
  453. package/dist/views/Root/meta.d.ts.map +1 -1
  454. package/dist/views/Root/meta.js +3 -2
  455. package/dist/views/Root/meta.js.map +1 -1
  456. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  457. package/dist/views/Unauthorized/index.js +15 -8
  458. package/dist/views/Unauthorized/index.js.map +1 -1
  459. package/dist/views/Unauthorized/index.scss +4 -31
  460. package/dist/views/Verify/index.client.d.ts +7 -0
  461. package/dist/views/Verify/index.client.d.ts.map +1 -0
  462. package/dist/views/Verify/index.client.js +46 -0
  463. package/dist/views/Verify/index.client.js.map +1 -0
  464. package/dist/views/Verify/index.d.ts.map +1 -1
  465. package/dist/views/Verify/index.js +13 -11
  466. package/dist/views/Verify/index.js.map +1 -1
  467. package/dist/views/Verify/index.scss +13 -11
  468. package/dist/views/Version/Default/index.d.ts.map +1 -1
  469. package/dist/views/Version/Default/index.js +5 -5
  470. package/dist/views/Version/Default/index.js.map +1 -1
  471. package/dist/views/Version/Default/index.scss +52 -50
  472. package/dist/views/Version/Default/types.d.ts +2 -2
  473. package/dist/views/Version/Default/types.d.ts.map +1 -1
  474. package/dist/views/Version/Default/types.js.map +1 -1
  475. package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +5 -3
  476. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  477. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +4 -2
  478. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  479. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +29 -27
  480. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +1 -1
  481. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  482. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +11 -9
  483. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +12 -10
  484. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  485. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +3 -1
  486. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  487. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +12 -10
  488. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  489. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +9 -3
  490. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  491. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +12 -10
  492. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +4 -2
  493. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  494. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  495. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  496. package/dist/views/Version/RenderFieldsToDiff/index.js +10 -6
  497. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  498. package/dist/views/Version/RenderFieldsToDiff/index.scss +12 -10
  499. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +4 -2
  500. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  501. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  502. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  503. package/dist/views/Version/Restore/index.js +32 -30
  504. package/dist/views/Version/Restore/index.js.map +1 -1
  505. package/dist/views/Version/Restore/index.scss +60 -42
  506. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  507. package/dist/views/Version/SelectComparison/index.js +27 -4
  508. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  509. package/dist/views/Version/SelectComparison/index.scss +12 -10
  510. package/dist/views/Version/SelectComparison/types.d.ts +1 -0
  511. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  512. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  513. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  514. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  515. package/dist/views/Version/SelectLocales/index.scss +6 -4
  516. package/dist/views/Version/index.d.ts.map +1 -1
  517. package/dist/views/Version/index.js +2 -0
  518. package/dist/views/Version/index.js.map +1 -1
  519. package/dist/views/Versions/buildColumns.d.ts +3 -2
  520. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  521. package/dist/views/Versions/buildColumns.js +47 -60
  522. package/dist/views/Versions/buildColumns.js.map +1 -1
  523. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -0
  524. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  525. package/dist/views/Versions/cells/AutosaveCell/index.js +66 -27
  526. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  527. package/dist/views/Versions/cells/CreatedAt/index.d.ts +4 -0
  528. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  529. package/dist/views/Versions/cells/CreatedAt/index.js +43 -44
  530. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  531. package/dist/views/Versions/cells/ID/index.d.ts +3 -1
  532. package/dist/views/Versions/cells/ID/index.d.ts.map +1 -1
  533. package/dist/views/Versions/cells/ID/index.js +7 -19
  534. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  535. package/dist/views/Versions/getLatestVersion.d.ts +1 -0
  536. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  537. package/dist/views/Versions/getLatestVersion.js +15 -4
  538. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  539. package/dist/views/Versions/index.client.d.ts.map +1 -1
  540. package/dist/views/Versions/index.client.js +53 -51
  541. package/dist/views/Versions/index.client.js.map +1 -1
  542. package/dist/views/Versions/index.d.ts.map +1 -1
  543. package/dist/views/Versions/index.js +35 -13
  544. package/dist/views/Versions/index.js.map +1 -1
  545. package/dist/views/Versions/index.scss +78 -76
  546. package/dist/withPayload.d.ts.map +1 -1
  547. package/dist/withPayload.js +23 -5
  548. package/dist/withPayload.js.map +1 -1
  549. package/license.md +22 -0
  550. package/package.json +37 -22
  551. package/dist/cjs/withPayload.js +0 -111
  552. package/dist/cjs/withPayload.js.map +0 -1
  553. package/dist/elements/EmailAndUsername/index.d.ts +0 -14
  554. package/dist/elements/EmailAndUsername/index.d.ts.map +0 -1
  555. package/dist/elements/EmailAndUsername/index.js +0 -121
  556. package/dist/elements/EmailAndUsername/index.js.map +0 -1
  557. package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -4
  558. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +0 -1
  559. package/dist/elements/LeaveWithoutSaving/index.js +0 -162
  560. package/dist/elements/LeaveWithoutSaving/index.js.map +0 -1
  561. package/dist/elements/LeaveWithoutSaving/index.scss +0 -37
  562. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +0 -9
  563. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +0 -1
  564. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +0 -134
  565. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +0 -1
  566. package/dist/routes/rest/buildFormState.d.ts +0 -5
  567. package/dist/routes/rest/buildFormState.d.ts.map +0 -1
  568. package/dist/routes/rest/buildFormState.js +0 -46
  569. package/dist/routes/rest/buildFormState.js.map +0 -1
  570. package/dist/views/Edit/Default/Auth/APIKey.d.ts +0 -6
  571. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +0 -1
  572. package/dist/views/Edit/Default/Auth/APIKey.js +0 -131
  573. package/dist/views/Edit/Default/Auth/APIKey.js.map +0 -1
  574. package/dist/views/Edit/Default/Auth/index.d.ts +0 -5
  575. package/dist/views/Edit/Default/Auth/index.d.ts.map +0 -1
  576. package/dist/views/Edit/Default/Auth/index.js +0 -307
  577. package/dist/views/Edit/Default/Auth/index.js.map +0 -1
  578. package/dist/views/Edit/Default/Auth/index.scss +0 -76
  579. package/dist/views/Edit/Default/Auth/types.d.ts +0 -17
  580. package/dist/views/Edit/Default/Auth/types.d.ts.map +0 -1
  581. package/dist/views/Edit/Default/Auth/types.js +0 -2
  582. package/dist/views/Edit/Default/Auth/types.js.map +0 -1
  583. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -11
  584. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +0 -1
  585. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +0 -130
  586. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +0 -1
  587. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -8
  588. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +0 -1
  589. package/dist/views/Edit/Default/SetDocumentTitle/index.js +0 -81
  590. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +0 -1
  591. package/dist/views/Edit/Default/index.d.ts +0 -4
  592. package/dist/views/Edit/Default/index.d.ts.map +0 -1
  593. package/dist/views/Edit/Default/index.js +0 -212
  594. package/dist/views/Edit/Default/index.js.map +0 -1
  595. package/dist/views/Edit/Default/index.scss +0 -21
  596. package/dist/views/Edit/Default/types.d.ts +0 -6
  597. package/dist/views/Edit/Default/types.d.ts.map +0 -1
  598. package/dist/views/Edit/Default/types.js +0 -2
  599. package/dist/views/Edit/Default/types.js.map +0 -1
  600. package/dist/views/Edit/index.client.d.ts +0 -3
  601. package/dist/views/Edit/index.client.d.ts.map +0 -1
  602. package/dist/views/Edit/index.client.js +0 -54
  603. package/dist/views/Edit/index.client.js.map +0 -1
  604. package/dist/views/List/Default/index.d.ts +0 -4
  605. package/dist/views/List/Default/index.d.ts.map +0 -1
  606. package/dist/views/List/Default/index.js +0 -363
  607. package/dist/views/List/Default/index.js.map +0 -1
  608. package/dist/views/List/Default/index.scss +0 -177
  609. package/dist/views/List/Default/types.d.ts +0 -15
  610. package/dist/views/List/Default/types.d.ts.map +0 -1
  611. package/dist/views/List/Default/types.js +0 -2
  612. package/dist/views/List/Default/types.js.map +0 -1
  613. package/dist/views/ResetPassword/index.client.d.ts +0 -7
  614. package/dist/views/ResetPassword/index.client.d.ts.map +0 -1
  615. package/dist/views/ResetPassword/index.client.js.map +0 -1
@@ -1,6 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { buildFormState } from '@payloadcms/ui/utilities/buildFormState';
2
3
  import React from 'react';
4
+ import { getDocPreferences } from '../Document/getDocPreferences.js';
3
5
  import { getDocumentData } from '../Document/getDocumentData.js';
6
+ import { getDocumentPermissions } from '../Document/getDocumentPermissions.js';
4
7
  import { CreateFirstUserClient } from './index.client.js';
5
8
  export { generateCreateFirstUserMetadata } from './meta.js';
6
9
  export const CreateFirstUserView = async ({
@@ -25,13 +28,40 @@ export const CreateFirstUserView = async ({
25
28
  auth: authOptions
26
29
  } = collectionConfig;
27
30
  const loginWithUsername = authOptions.loginWithUsername;
31
+ // Fetch the data required for the view
32
+ const data = await getDocumentData({
33
+ collectionSlug: collectionConfig.slug,
34
+ locale,
35
+ payload: req.payload,
36
+ user: req.user
37
+ });
38
+ // Get document preferences
39
+ const docPreferences = await getDocPreferences({
40
+ collectionSlug: collectionConfig.slug,
41
+ payload: req.payload,
42
+ user: req.user
43
+ });
44
+ // Get permissions
28
45
  const {
29
- formState
30
- } = await getDocumentData({
46
+ docPermissions
47
+ } = await getDocumentPermissions({
31
48
  collectionConfig,
32
- locale,
49
+ data,
50
+ req
51
+ });
52
+ // Build initial form state from data
53
+ const {
54
+ state: formState
55
+ } = await buildFormState({
56
+ collectionSlug: collectionConfig.slug,
57
+ data,
58
+ docPermissions,
59
+ docPreferences,
60
+ locale: locale?.code,
61
+ operation: 'create',
62
+ renderAllFields: true,
33
63
  req,
34
- schemaPath: `_${collectionConfig.slug}.auth`
64
+ schemaPath: collectionConfig.slug
35
65
  });
36
66
  return /*#__PURE__*/_jsxs("div", {
37
67
  className: "create-first-user",
@@ -40,6 +70,8 @@ export const CreateFirstUserView = async ({
40
70
  }), /*#__PURE__*/_jsx("p", {
41
71
  children: req.t('authentication:beginCreateFirstUser')
42
72
  }), /*#__PURE__*/_jsx(CreateFirstUserClient, {
73
+ docPermissions: docPermissions,
74
+ docPreferences: docPreferences,
43
75
  initialState: formState,
44
76
  loginWithUsername: loginWithUsername,
45
77
  userSlug: userSlug
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","getDocumentData","CreateFirstUserClient","generateCreateFirstUserMetadata","CreateFirstUserView","initPageResult","locale","req","payload","config","admin","user","userSlug","collectionConfig","collections","find","collection","slug","auth","authOptions","loginWithUsername","formState","schemaPath","_jsxs","className","_jsx","t","initialState"],"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport React from 'react'\n\nimport type { LoginFieldProps } from '../Login/LoginField/index.js'\n\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { CreateFirstUserClient } from './index.client.js'\nimport './index.scss'\n\nexport { generateCreateFirstUserMetadata } from './meta.js'\n\nexport const CreateFirstUserView: React.FC<AdminViewProps> = async ({ initPageResult }) => {\n const {\n locale,\n req,\n req: {\n payload: {\n config: {\n admin: { user: userSlug },\n },\n config,\n },\n },\n } = initPageResult\n\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n\n const { formState } = await getDocumentData({\n collectionConfig,\n locale,\n req,\n schemaPath: `_${collectionConfig.slug}.auth`,\n })\n\n return (\n <div className=\"create-first-user\">\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <CreateFirstUserClient\n initialState={formState}\n loginWithUsername={loginWithUsername}\n userSlug={userSlug}\n />\n </div>\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAIlB,SAASC,eAAe,QAAQ;AAChC,SAASC,qBAAqB,QAAQ;AAGtC,SAASC,+BAA+B,QAAQ;AAEhD,OAAO,MAAMC,mBAAA,GAAgD,MAAAA,CAAO;EAAEC;AAAc,CAAE;EACpF,MAAM;IACJC,MAAM;IACNC,GAAG;IACHA,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,KAAA,EAAO;YAAEC,IAAA,EAAMC;UAAQ;QAAE,CAC1B;QACDH;MAAM;IACP;EACF,CACF,GAAGJ,cAAA;EAEJ,MAAMQ,gBAAA,GAAmBJ,MAAA,CAAOK,WAAW,EAAEC,IAAA,CAAMC,UAAA,IAAeA,UAAA,EAAYC,IAAA,KAASL,QAAA;EACvF,MAAM;IAAEM,IAAA,EAAMC;EAAW,CAAE,GAAGN,gBAAA;EAC9B,MAAMO,iBAAA,GAAoBD,WAAA,CAAYC,iBAAiB;EAEvD,MAAM;IAAEC;EAAS,CAAE,GAAG,MAAMpB,eAAA,CAAgB;IAC1CY,gBAAA;IACAP,MAAA;IACAC,GAAA;IACAe,UAAA,EAAY,IAAIT,gBAAA,CAAiBI,IAAI;EACvC;EAEA,oBACEM,KAAA,CAAC;IAAIC,SAAA,EAAU;4BACbC,IAAA,CAAC;gBAAIlB,GAAA,CAAImB,CAAC,CAAC;qBACXD,IAAA,CAAC;gBAAGlB,GAAA,CAAImB,CAAC,CAAC;qBACVD,IAAA,CAACvB,qBAAA;MACCyB,YAAA,EAAcN,SAAA;MACdD,iBAAA,EAAmBA,iBAAA;MACnBR,QAAA,EAAUA;;;AAIlB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["buildFormState","React","getDocPreferences","getDocumentData","getDocumentPermissions","CreateFirstUserClient","generateCreateFirstUserMetadata","CreateFirstUserView","initPageResult","locale","req","payload","config","admin","user","userSlug","collectionConfig","collections","find","collection","slug","auth","authOptions","loginWithUsername","data","collectionSlug","docPreferences","docPermissions","state","formState","code","operation","renderAllFields","schemaPath","_jsxs","className","_jsx","t","initialState"],"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport React from 'react'\n\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { CreateFirstUserClient } from './index.client.js'\nimport './index.scss'\n\nexport { generateCreateFirstUserMetadata } from './meta.js'\n\nexport const CreateFirstUserView: React.FC<AdminViewProps> = async ({ initPageResult }) => {\n const {\n locale,\n req,\n req: {\n payload: {\n config: {\n admin: { user: userSlug },\n },\n config,\n },\n },\n } = initPageResult\n\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n\n // Fetch the data required for the view\n const data = await getDocumentData({\n collectionSlug: collectionConfig.slug,\n locale,\n payload: req.payload,\n user: req.user,\n })\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n collectionSlug: collectionConfig.slug,\n payload: req.payload,\n user: req.user,\n })\n\n // Get permissions\n const { docPermissions } = await getDocumentPermissions({\n collectionConfig,\n data,\n req,\n })\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions,\n docPreferences,\n locale: locale?.code,\n operation: 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n })\n\n return (\n <div className=\"create-first-user\">\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <CreateFirstUserClient\n docPermissions={docPermissions}\n docPreferences={docPreferences}\n initialState={formState}\n loginWithUsername={loginWithUsername}\n userSlug={userSlug}\n />\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,qBAAqB,QAAQ;AAGtC,SAASC,+BAA+B,QAAQ;AAEhD,OAAO,MAAMC,mBAAA,GAAgD,MAAAA,CAAO;EAAEC;AAAc,CAAE;EACpF,MAAM;IACJC,MAAM;IACNC,GAAG;IACHA,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,KAAA,EAAO;YAAEC,IAAA,EAAMC;UAAQ;QAAE,CAC1B;QACDH;MAAM;IACP;EACF,CACF,GAAGJ,cAAA;EAEJ,MAAMQ,gBAAA,GAAmBJ,MAAA,CAAOK,WAAW,EAAEC,IAAA,CAAMC,UAAA,IAAeA,UAAA,EAAYC,IAAA,KAASL,QAAA;EACvF,MAAM;IAAEM,IAAA,EAAMC;EAAW,CAAE,GAAGN,gBAAA;EAC9B,MAAMO,iBAAA,GAAoBD,WAAA,CAAYC,iBAAiB;EAEvD;EACA,MAAMC,IAAA,GAAO,MAAMrB,eAAA,CAAgB;IACjCsB,cAAA,EAAgBT,gBAAA,CAAiBI,IAAI;IACrCX,MAAA;IACAE,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBG,IAAA,EAAMJ,GAAA,CAAII;EACZ;EAEA;EACA,MAAMY,cAAA,GAAiB,MAAMxB,iBAAA,CAAkB;IAC7CuB,cAAA,EAAgBT,gBAAA,CAAiBI,IAAI;IACrCT,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBG,IAAA,EAAMJ,GAAA,CAAII;EACZ;EAEA;EACA,MAAM;IAAEa;EAAc,CAAE,GAAG,MAAMvB,sBAAA,CAAuB;IACtDY,gBAAA;IACAQ,IAAA;IACAd;EACF;EAEA;EACA,MAAM;IAAEkB,KAAA,EAAOC;EAAS,CAAE,GAAG,MAAM7B,cAAA,CAAe;IAChDyB,cAAA,EAAgBT,gBAAA,CAAiBI,IAAI;IACrCI,IAAA;IACAG,cAAA;IACAD,cAAA;IACAjB,MAAA,EAAQA,MAAA,EAAQqB,IAAA;IAChBC,SAAA,EAAW;IACXC,eAAA,EAAiB;IACjBtB,GAAA;IACAuB,UAAA,EAAYjB,gBAAA,CAAiBI;EAC/B;EAEA,oBACEc,KAAA,CAAC;IAAIC,SAAA,EAAU;4BACbC,IAAA,CAAC;gBAAI1B,GAAA,CAAI2B,CAAC,CAAC;qBACXD,IAAA,CAAC;gBAAG1B,GAAA,CAAI2B,CAAC,CAAC;qBACVD,IAAA,CAAC/B,qBAAA;MACCsB,cAAA,EAAgBA,cAAA;MAChBD,cAAA,EAAgBA,cAAA;MAChBY,YAAA,EAAcT,SAAA;MACdN,iBAAA,EAAmBA,iBAAA;MACnBR,QAAA,EAAUA;;;AAIlB","ignoreList":[]}
@@ -1,9 +1,21 @@
1
- .create-first-user {
2
- > form > .field-type {
3
- margin-bottom: var(--base);
1
+ @import '../../scss/styles.scss';
2
+
3
+ @layer payload-default {
4
+ .create-first-user {
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: base(0.4);
8
+
9
+ > form > .field-type {
10
+ margin-bottom: var(--base);
11
+
12
+ & .form-submit {
13
+ margin: 0;
14
+ }
15
+ }
4
16
  }
5
- }
6
17
 
7
- .emailAndUsername {
8
- margin-bottom: var(--base);
18
+ .emailAndUsername {
19
+ margin-bottom: var(--base);
20
+ }
9
21
  }
@@ -1,11 +1,20 @@
1
1
  import type { groupNavItems } from '@payloadcms/ui/shared';
2
- import type { Permissions, ServerProps, VisibleEntities } from 'payload';
2
+ import type { ClientUser, SanitizedPermissions, ServerProps, VisibleEntities } from 'payload';
3
3
  import React from 'react';
4
4
  import './index.scss';
5
5
  export type DashboardProps = {
6
+ globalData: Array<{
7
+ data: {
8
+ _isLocked: boolean;
9
+ _lastEditedAt: string;
10
+ _userEditing: ClientUser | number | string;
11
+ };
12
+ lockDuration?: number;
13
+ slug: string;
14
+ }>;
6
15
  Link: React.ComponentType<any>;
7
16
  navGroups?: ReturnType<typeof groupNavItems>;
8
- permissions: Permissions;
17
+ permissions: SanitizedPermissions;
9
18
  visibleEntities: VisibleEntities;
10
19
  } & ServerProps;
11
20
  export declare const DefaultDashboard: React.FC<DashboardProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Dashboard/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAUxE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC9B,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IAC5C,WAAW,EAAE,WAAW,CAAA;IACxB,eAAe,EAAE,eAAe,CAAA;CACjC,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA4IrD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Dashboard/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM7F,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE;YAAE,SAAS,EAAE,OAAO,CAAC;YAAC,aAAa,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;QAC/F,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,IAAI,EAAE,MAAM,CAAA;KACb,CAAC,CAAA;IACF,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC9B,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IAC5C,WAAW,EAAE,oBAAoB,CAAA;IACjC,eAAe,EAAE,eAAe,CAAA;CACjC,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmKrD,CAAA"}
@@ -1,16 +1,18 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { getTranslation } from '@payloadcms/translations';
3
- import { Button, Card, Gutter, SetStepNav, SetViewActions } from '@payloadcms/ui';
4
- import { EntityType, RenderComponent, formatAdminURL, getCreateMappedComponent } from '@payloadcms/ui/shared';
3
+ import { Button, Card, Gutter, Locked } from '@payloadcms/ui';
4
+ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
5
+ import { EntityType, formatAdminURL } from '@payloadcms/ui/shared';
5
6
  import React, { Fragment } from 'react';
6
7
  const baseClass = 'dashboard';
7
8
  export const DefaultDashboard = props => {
8
9
  const {
9
- Link,
10
+ globalData,
10
11
  i18n,
11
12
  i18n: {
12
13
  t
13
14
  },
15
+ Link,
14
16
  locale,
15
17
  navGroups,
16
18
  params,
@@ -32,34 +34,24 @@ export const DefaultDashboard = props => {
32
34
  searchParams,
33
35
  user
34
36
  } = props;
35
- const createMappedComponent = getCreateMappedComponent({
36
- importMap: payload.importMap,
37
- serverProps: {
38
- i18n,
39
- locale,
40
- params,
41
- payload,
42
- permissions,
43
- searchParams,
44
- user
45
- }
46
- });
47
- const mappedBeforeDashboards = createMappedComponent(beforeDashboard, undefined, undefined, 'beforeDashboard');
48
- const mappedAfterDashboards = createMappedComponent(afterDashboard, undefined, undefined, 'afterDashboard');
49
- return /*#__PURE__*/_jsxs("div", {
37
+ return /*#__PURE__*/_jsx("div", {
50
38
  className: baseClass,
51
- children: [/*#__PURE__*/_jsx(SetStepNav, {
52
- nav: []
53
- }), /*#__PURE__*/_jsx(SetViewActions, {
54
- actions: []
55
- }), /*#__PURE__*/_jsxs(Gutter, {
39
+ children: /*#__PURE__*/_jsxs(Gutter, {
56
40
  className: `${baseClass}__wrap`,
57
- children: [/*#__PURE__*/_jsx(RenderComponent, {
58
- mappedComponent: mappedBeforeDashboards
59
- }), /*#__PURE__*/_jsxs(Fragment, {
60
- children: [/*#__PURE__*/_jsx(SetViewActions, {
61
- actions: []
62
- }), !navGroups || navGroups?.length === 0 ? /*#__PURE__*/_jsx("p", {
41
+ children: [beforeDashboard && /*#__PURE__*/_jsx(RenderServerComponent, {
42
+ Component: beforeDashboard,
43
+ importMap: payload.importMap,
44
+ serverProps: {
45
+ i18n,
46
+ locale,
47
+ params,
48
+ payload,
49
+ permissions,
50
+ searchParams,
51
+ user
52
+ }
53
+ }), /*#__PURE__*/_jsx(Fragment, {
54
+ children: !navGroups || navGroups?.length === 0 ? /*#__PURE__*/_jsx("p", {
63
55
  children: "no nav groups...."
64
56
  }) : navGroups.map(({
65
57
  entities,
@@ -73,69 +65,100 @@ export const DefaultDashboard = props => {
73
65
  }), /*#__PURE__*/_jsx("ul", {
74
66
  className: `${baseClass}__card-list`,
75
67
  children: entities.map(({
68
+ slug,
76
69
  type,
77
- entity
70
+ label
78
71
  }, entityIndex) => {
79
72
  let title;
80
73
  let buttonAriaLabel;
81
74
  let createHREF;
82
75
  let href;
83
76
  let hasCreatePermission;
77
+ let isLocked = null;
78
+ let userEditing = null;
84
79
  if (type === EntityType.collection) {
85
- title = getTranslation(entity.labels.plural, i18n);
80
+ title = getTranslation(label, i18n);
86
81
  buttonAriaLabel = t('general:showAllLabel', {
87
82
  label: title
88
83
  });
89
84
  href = formatAdminURL({
90
85
  adminRoute,
91
- path: `/collections/${entity.slug}`
86
+ path: `/collections/${slug}`
92
87
  });
93
88
  createHREF = formatAdminURL({
94
89
  adminRoute,
95
- path: `/collections/${entity.slug}/create`
90
+ path: `/collections/${slug}/create`
96
91
  });
97
- hasCreatePermission = permissions?.collections?.[entity.slug]?.create?.permission;
92
+ hasCreatePermission = permissions?.collections?.[slug]?.create;
98
93
  }
99
94
  if (type === EntityType.global) {
100
- title = getTranslation(entity.label, i18n);
95
+ title = getTranslation(label, i18n);
101
96
  buttonAriaLabel = t('general:editLabel', {
102
- label: getTranslation(entity.label, i18n)
97
+ label: getTranslation(label, i18n)
103
98
  });
104
99
  href = formatAdminURL({
105
100
  adminRoute,
106
- path: `/globals/${entity.slug}`
101
+ path: `/globals/${slug}`
107
102
  });
103
+ // Find the lock status for the global
104
+ const globalLockData = globalData.find(global => global.slug === slug);
105
+ if (globalLockData) {
106
+ isLocked = globalLockData.data._isLocked;
107
+ userEditing = globalLockData.data._userEditing;
108
+ // Check if the lock is expired
109
+ const lockDuration = globalLockData?.lockDuration;
110
+ const lastEditedAt = new Date(globalLockData.data?._lastEditedAt).getTime();
111
+ const lockDurationInMilliseconds = lockDuration * 1000;
112
+ const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds;
113
+ if (new Date().getTime() > lockExpirationTime) {
114
+ isLocked = false;
115
+ userEditing = null;
116
+ }
117
+ }
108
118
  }
109
119
  return /*#__PURE__*/_jsx("li", {
110
120
  children: /*#__PURE__*/_jsx(Card, {
111
- Link: Link,
112
- actions: hasCreatePermission && type === EntityType.collection ? /*#__PURE__*/_jsx(Button, {
113
- Link: Link,
121
+ actions: isLocked && user?.id !== userEditing?.id ? /*#__PURE__*/_jsx(Locked, {
122
+ className: `${baseClass}__locked`,
123
+ user: userEditing
124
+ }) : hasCreatePermission && type === EntityType.collection ? /*#__PURE__*/_jsx(Button, {
114
125
  "aria-label": t('general:createNewLabel', {
115
- label: getTranslation(entity.labels.singular, i18n)
126
+ label
116
127
  }),
117
128
  buttonStyle: "icon-label",
118
129
  el: "link",
119
130
  icon: "plus",
120
131
  iconStyle: "with-border",
132
+ Link: Link,
121
133
  round: true,
122
134
  to: createHREF
123
135
  }) : undefined,
124
136
  buttonAriaLabel: buttonAriaLabel,
125
137
  href: href,
126
- id: `card-${entity.slug}`,
127
- title: title,
138
+ id: `card-${slug}`,
139
+ Link: Link,
140
+ title: getTranslation(label, i18n),
128
141
  titleAs: "h3"
129
142
  })
130
143
  }, entityIndex);
131
144
  })
132
145
  })]
133
146
  }, groupIndex);
134
- })]
135
- }), /*#__PURE__*/_jsx(RenderComponent, {
136
- mappedComponent: mappedAfterDashboards
147
+ })
148
+ }), afterDashboard && /*#__PURE__*/_jsx(RenderServerComponent, {
149
+ Component: afterDashboard,
150
+ importMap: payload.importMap,
151
+ serverProps: {
152
+ i18n,
153
+ locale,
154
+ params,
155
+ payload,
156
+ permissions,
157
+ searchParams,
158
+ user
159
+ }
137
160
  })]
138
- })]
161
+ })
139
162
  });
140
163
  };
141
164
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","Button","Card","Gutter","SetStepNav","SetViewActions","EntityType","RenderComponent","formatAdminURL","getCreateMappedComponent","React","Fragment","baseClass","DefaultDashboard","props","Link","i18n","t","locale","navGroups","params","payload","config","admin","components","afterDashboard","beforeDashboard","routes","adminRoute","permissions","searchParams","user","createMappedComponent","importMap","serverProps","mappedBeforeDashboards","undefined","mappedAfterDashboards","_jsxs","className","_jsx","nav","actions","mappedComponent","length","map","entities","label","groupIndex","type","entity","entityIndex","title","buttonAriaLabel","createHREF","href","hasCreatePermission","collection","labels","plural","path","slug","collections","create","permission","global","singular","buttonStyle","el","icon","iconStyle","round","to","id","titleAs"],"sources":["../../../../src/views/Dashboard/Default/index.tsx"],"sourcesContent":["import type { groupNavItems } from '@payloadcms/ui/shared'\nimport type { Permissions, ServerProps, VisibleEntities } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, Card, Gutter, SetStepNav, SetViewActions } from '@payloadcms/ui'\nimport {\n EntityType,\n RenderComponent,\n formatAdminURL,\n getCreateMappedComponent,\n} from '@payloadcms/ui/shared'\nimport React, { Fragment } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'dashboard'\n\nexport type DashboardProps = {\n Link: React.ComponentType<any>\n navGroups?: ReturnType<typeof groupNavItems>\n permissions: Permissions\n visibleEntities: VisibleEntities\n} & ServerProps\n\nexport const DefaultDashboard: React.FC<DashboardProps> = (props) => {\n const {\n Link,\n i18n,\n i18n: { t },\n locale,\n navGroups,\n params,\n payload: {\n config: {\n admin: {\n components: { afterDashboard, beforeDashboard },\n },\n routes: { admin: adminRoute },\n },\n },\n payload,\n permissions,\n searchParams,\n user,\n } = props\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const mappedBeforeDashboards = createMappedComponent(\n beforeDashboard,\n undefined,\n undefined,\n 'beforeDashboard',\n )\n\n const mappedAfterDashboards = createMappedComponent(\n afterDashboard,\n undefined,\n undefined,\n 'afterDashboard',\n )\n\n return (\n <div className={baseClass}>\n <SetStepNav nav={[]} />\n <SetViewActions actions={[]} />\n <Gutter className={`${baseClass}__wrap`}>\n <RenderComponent mappedComponent={mappedBeforeDashboards} />\n <Fragment>\n <SetViewActions actions={[]} />\n {!navGroups || navGroups?.length === 0 ? (\n <p>no nav groups....</p>\n ) : (\n navGroups.map(({ entities, label }, groupIndex) => {\n return (\n <div className={`${baseClass}__group`} key={groupIndex}>\n <h2 className={`${baseClass}__label`}>{label}</h2>\n <ul className={`${baseClass}__card-list`}>\n {entities.map(({ type, entity }, entityIndex) => {\n let title: string\n let buttonAriaLabel: string\n let createHREF: string\n let href: string\n let hasCreatePermission: boolean\n\n if (type === EntityType.collection) {\n title = getTranslation(entity.labels.plural, i18n)\n\n buttonAriaLabel = t('general:showAllLabel', { label: title })\n\n href = formatAdminURL({ adminRoute, path: `/collections/${entity.slug}` })\n\n createHREF = formatAdminURL({\n adminRoute,\n path: `/collections/${entity.slug}/create`,\n })\n\n hasCreatePermission =\n permissions?.collections?.[entity.slug]?.create?.permission\n }\n\n if (type === EntityType.global) {\n title = getTranslation(entity.label, i18n)\n\n buttonAriaLabel = t('general:editLabel', {\n label: getTranslation(entity.label, i18n),\n })\n\n href = formatAdminURL({\n adminRoute,\n path: `/globals/${entity.slug}`,\n })\n }\n\n return (\n <li key={entityIndex}>\n <Card\n Link={Link}\n actions={\n hasCreatePermission && type === EntityType.collection ? (\n <Button\n Link={Link}\n aria-label={t('general:createNewLabel', {\n label: getTranslation(entity.labels.singular, i18n),\n })}\n buttonStyle=\"icon-label\"\n el=\"link\"\n icon=\"plus\"\n iconStyle=\"with-border\"\n round\n to={createHREF}\n />\n ) : undefined\n }\n buttonAriaLabel={buttonAriaLabel}\n href={href}\n id={`card-${entity.slug}`}\n title={title}\n titleAs=\"h3\"\n />\n </li>\n )\n })}\n </ul>\n </div>\n )\n })\n )}\n </Fragment>\n <RenderComponent mappedComponent={mappedAfterDashboards} />\n </Gutter>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","Button","Card","Gutter","Locked","RenderServerComponent","EntityType","formatAdminURL","React","Fragment","baseClass","DefaultDashboard","props","globalData","i18n","t","Link","locale","navGroups","params","payload","config","admin","components","afterDashboard","beforeDashboard","routes","adminRoute","permissions","searchParams","user","_jsx","className","_jsxs","Component","importMap","serverProps","length","map","entities","label","groupIndex","slug","type","entityIndex","title","buttonAriaLabel","createHREF","href","hasCreatePermission","isLocked","userEditing","collection","path","collections","create","global","globalLockData","find","data","_isLocked","_userEditing","lockDuration","lastEditedAt","Date","_lastEditedAt","getTime","lockDurationInMilliseconds","lockExpirationTime","actions","id","buttonStyle","el","icon","iconStyle","round","to","undefined","titleAs"],"sources":["../../../../src/views/Dashboard/Default/index.tsx"],"sourcesContent":["import type { groupNavItems } from '@payloadcms/ui/shared'\nimport type { ClientUser, SanitizedPermissions, ServerProps, VisibleEntities } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, Card, Gutter, Locked } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { EntityType, formatAdminURL } from '@payloadcms/ui/shared'\nimport React, { Fragment } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'dashboard'\n\nexport type DashboardProps = {\n globalData: Array<{\n data: { _isLocked: boolean; _lastEditedAt: string; _userEditing: ClientUser | number | string }\n lockDuration?: number\n slug: string\n }>\n Link: React.ComponentType<any>\n navGroups?: ReturnType<typeof groupNavItems>\n permissions: SanitizedPermissions\n visibleEntities: VisibleEntities\n} & ServerProps\n\nexport const DefaultDashboard: React.FC<DashboardProps> = (props) => {\n const {\n globalData,\n i18n,\n i18n: { t },\n Link,\n locale,\n navGroups,\n params,\n payload: {\n config: {\n admin: {\n components: { afterDashboard, beforeDashboard },\n },\n routes: { admin: adminRoute },\n },\n },\n payload,\n permissions,\n searchParams,\n user,\n } = props\n\n return (\n <div className={baseClass}>\n <Gutter className={`${baseClass}__wrap`}>\n {beforeDashboard && (\n <RenderServerComponent\n Component={beforeDashboard}\n importMap={payload.importMap}\n serverProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n )}\n <Fragment>\n {!navGroups || navGroups?.length === 0 ? (\n <p>no nav groups....</p>\n ) : (\n navGroups.map(({ entities, label }, groupIndex) => {\n return (\n <div className={`${baseClass}__group`} key={groupIndex}>\n <h2 className={`${baseClass}__label`}>{label}</h2>\n <ul className={`${baseClass}__card-list`}>\n {entities.map(({ slug, type, label }, entityIndex) => {\n let title: string\n let buttonAriaLabel: string\n let createHREF: string\n let href: string\n let hasCreatePermission: boolean\n let isLocked = null\n let userEditing = null\n\n if (type === EntityType.collection) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:showAllLabel', { label: title })\n\n href = formatAdminURL({ adminRoute, path: `/collections/${slug}` })\n\n createHREF = formatAdminURL({\n adminRoute,\n path: `/collections/${slug}/create`,\n })\n\n hasCreatePermission = permissions?.collections?.[slug]?.create\n }\n\n if (type === EntityType.global) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:editLabel', {\n label: getTranslation(label, i18n),\n })\n\n href = formatAdminURL({\n adminRoute,\n path: `/globals/${slug}`,\n })\n\n // Find the lock status for the global\n const globalLockData = globalData.find((global) => global.slug === slug)\n if (globalLockData) {\n isLocked = globalLockData.data._isLocked\n userEditing = globalLockData.data._userEditing\n\n // Check if the lock is expired\n const lockDuration = globalLockData?.lockDuration\n const lastEditedAt = new Date(\n globalLockData.data?._lastEditedAt,\n ).getTime()\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds\n\n if (new Date().getTime() > lockExpirationTime) {\n isLocked = false\n userEditing = null\n }\n }\n }\n\n return (\n <li key={entityIndex}>\n <Card\n actions={\n isLocked && user?.id !== userEditing?.id ? (\n <Locked className={`${baseClass}__locked`} user={userEditing} />\n ) : hasCreatePermission && type === EntityType.collection ? (\n <Button\n aria-label={t('general:createNewLabel', {\n label,\n })}\n buttonStyle=\"icon-label\"\n el=\"link\"\n icon=\"plus\"\n iconStyle=\"with-border\"\n Link={Link}\n round\n to={createHREF}\n />\n ) : undefined\n }\n buttonAriaLabel={buttonAriaLabel}\n href={href}\n id={`card-${slug}`}\n Link={Link}\n title={getTranslation(label, i18n)}\n titleAs=\"h3\"\n />\n </li>\n )\n })}\n </ul>\n </div>\n )\n })\n )}\n </Fragment>\n {afterDashboard && (\n <RenderServerComponent\n Component={afterDashboard}\n importMap={payload.importMap}\n serverProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n )}\n </Gutter>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,62 +1,69 @@
1
1
  @import '../../../scss/styles.scss';
2
2
 
3
- .dashboard {
4
- width: 100%;
5
- --gap: var(--base);
6
- --cols: 5;
7
-
8
- &__wrap {
9
- padding-bottom: var(--spacing-view-bottom);
10
- display: flex;
11
- flex-direction: column;
12
- gap: var(--base);
13
- }
14
-
15
- &__group {
16
- display: flex;
17
- flex-direction: column;
18
- gap: var(--gap);
19
- }
3
+ @layer payload-default {
4
+ .dashboard {
5
+ width: 100%;
6
+ --gap: var(--base);
7
+ --cols: 5;
20
8
 
21
- &__label {
22
- margin: 0;
23
- }
9
+ &__wrap {
10
+ padding-bottom: var(--spacing-view-bottom);
11
+ display: flex;
12
+ flex-direction: column;
13
+ gap: var(--base);
14
+ }
24
15
 
25
- &__card-list {
26
- padding: 0;
27
- margin: 0;
28
- list-style: none;
29
- gap: var(--gap);
30
- display: grid;
31
- grid-template-columns: repeat(var(--cols), 1fr);
16
+ &__group {
17
+ display: flex;
18
+ flex-direction: column;
19
+ gap: var(--gap);
20
+ }
32
21
 
33
- .card {
34
- height: 100%;
22
+ &__label {
23
+ margin: 0;
35
24
  }
36
- }
37
25
 
38
- @include large-break {
39
- --cols: 4;
40
- }
26
+ &__card-list {
27
+ padding: 0;
28
+ margin: 0;
29
+ list-style: none;
30
+ gap: var(--gap);
31
+ display: grid;
32
+ grid-template-columns: repeat(var(--cols), 1fr);
41
33
 
42
- @include mid-break {
43
- --gap: var(--base);
44
- --cols: 2;
45
- }
34
+ .card {
35
+ height: 100%;
36
+ }
37
+ }
46
38
 
47
- @include small-break {
48
- --cols: 2;
39
+ &__locked.locked {
40
+ align-items: unset;
41
+ justify-content: unset;
42
+ }
49
43
 
50
- &__wrap {
51
- gap: var(--base);
44
+ @include large-break {
45
+ --cols: 4;
52
46
  }
53
47
 
54
- &__card-list {
55
- gap: base(0.4);
48
+ @include mid-break {
49
+ --gap: var(--base);
50
+ --cols: 2;
56
51
  }
57
- }
58
52
 
59
- @include extra-small-break {
60
- --cols: 1;
53
+ @include small-break {
54
+ --cols: 2;
55
+
56
+ &__wrap {
57
+ gap: var(--base);
58
+ }
59
+
60
+ &__card-list {
61
+ gap: base(0.4);
62
+ }
63
+ }
64
+
65
+ @include extra-small-break {
66
+ --cols: 1;
67
+ }
61
68
  }
62
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Dashboard/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAU7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAA;AAIrD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAqF9C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Dashboard/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAM7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAA;AAIrD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAuH9C,CAAA"}
@@ -1,12 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { HydrateAuthProvider } from '@payloadcms/ui';
3
- import { EntityType, RenderComponent, getCreateMappedComponent, groupNavItems } from '@payloadcms/ui/shared';
2
+ import { HydrateAuthProvider, SetStepNav } from '@payloadcms/ui';
3
+ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
4
+ import { EntityType, groupNavItems } from '@payloadcms/ui/shared';
4
5
  import LinkImport from 'next/link.js';
5
6
  import React, { Fragment } from 'react';
6
7
  import { DefaultDashboard } from './Default/index.js';
7
8
  export { generateDashboardMetadata } from './meta.js';
8
9
  const Link = LinkImport.default || LinkImport;
9
- export const Dashboard = ({
10
+ export const Dashboard = async ({
10
11
  initPageResult,
11
12
  params,
12
13
  searchParams
@@ -22,11 +23,42 @@ export const Dashboard = ({
22
23
  payload,
23
24
  user
24
25
  },
26
+ req,
25
27
  visibleEntities
26
28
  } = initPageResult;
27
- const CustomDashboardComponent = config.admin.components?.views?.Dashboard;
28
- const collections = config.collections.filter(collection => permissions?.collections?.[collection.slug]?.read?.permission && visibleEntities.collections.includes(collection.slug));
29
- const globals = config.globals.filter(global => permissions?.globals?.[global.slug]?.read?.permission && visibleEntities.globals.includes(global.slug));
29
+ const collections = config.collections.filter(collection => permissions?.collections?.[collection.slug]?.read && visibleEntities.collections.includes(collection.slug));
30
+ const globals = config.globals.filter(global => permissions?.globals?.[global.slug]?.read && visibleEntities.globals.includes(global.slug));
31
+ // Query locked global documents only if there are globals in the config
32
+ let globalData = [];
33
+ if (config.globals.length > 0) {
34
+ const lockedDocuments = await payload.find({
35
+ collection: 'payload-locked-documents',
36
+ depth: 1,
37
+ overrideAccess: false,
38
+ pagination: false,
39
+ req,
40
+ where: {
41
+ globalSlug: {
42
+ exists: true
43
+ }
44
+ }
45
+ });
46
+ // Map over globals to include `lockDuration` and lock data for each global slug
47
+ globalData = config.globals.map(global => {
48
+ const lockDurationDefault = 300;
49
+ const lockDuration = typeof global.lockDocuments === 'object' ? global.lockDocuments.duration : lockDurationDefault;
50
+ const lockedDoc = lockedDocuments.docs.find(doc => doc.globalSlug === global.slug);
51
+ return {
52
+ slug: global.slug,
53
+ data: {
54
+ _isLocked: !!lockedDoc,
55
+ _lastEditedAt: lockedDoc?.updatedAt ?? null,
56
+ _userEditing: lockedDoc?.user?.value ?? null
57
+ },
58
+ lockDuration
59
+ };
60
+ });
61
+ }
30
62
  const navGroups = groupNavItems([...(collections.map(collection => {
31
63
  const entityToGroup = {
32
64
  type: EntityType.collection,
@@ -40,31 +72,32 @@ export const Dashboard = ({
40
72
  };
41
73
  return entityToGroup;
42
74
  }) ?? [])], permissions, i18n);
43
- const createMappedComponent = getCreateMappedComponent({
44
- importMap: payload.importMap,
45
- serverProps: {
46
- Link,
47
- i18n,
48
- locale,
49
- navGroups,
50
- params,
51
- payload,
52
- permissions,
53
- searchParams,
54
- user,
55
- visibleEntities
56
- }
57
- });
58
- const mappedDashboardComponent = createMappedComponent(CustomDashboardComponent?.Component, undefined, DefaultDashboard, 'CustomDashboardComponent.Component');
59
75
  return /*#__PURE__*/_jsxs(Fragment, {
60
76
  children: [/*#__PURE__*/_jsx(HydrateAuthProvider, {
61
77
  permissions: permissions
62
- }), /*#__PURE__*/_jsx(RenderComponent, {
78
+ }), /*#__PURE__*/_jsx(SetStepNav, {
79
+ nav: []
80
+ }), /*#__PURE__*/_jsx(RenderServerComponent, {
63
81
  clientProps: {
64
82
  Link,
65
83
  locale
66
84
  },
67
- mappedComponent: mappedDashboardComponent
85
+ Component: config.admin?.components?.views?.dashboard?.Component,
86
+ Fallback: DefaultDashboard,
87
+ importMap: payload.importMap,
88
+ serverProps: {
89
+ globalData,
90
+ i18n,
91
+ Link,
92
+ locale,
93
+ navGroups,
94
+ params,
95
+ payload,
96
+ permissions,
97
+ searchParams,
98
+ user,
99
+ visibleEntities
100
+ }
68
101
  })]
69
102
  });
70
103
  };