@payloadcms/next 3.0.0-canary.96477cf → 3.0.0-canary.98e0119

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 (483) 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 +13 -15
  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.map +1 -1
  12. package/dist/elements/DocumentHeader/Tabs/index.js +9 -14
  13. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  14. package/dist/elements/DocumentHeader/Tabs/index.scss +41 -39
  15. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  16. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +13 -28
  17. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  18. package/dist/elements/DocumentHeader/index.d.ts +0 -1
  19. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  20. package/dist/elements/DocumentHeader/index.js +9 -12
  21. package/dist/elements/DocumentHeader/index.js.map +1 -1
  22. package/dist/elements/DocumentHeader/index.scss +44 -42
  23. package/dist/elements/FormHeader/index.d.ts +9 -0
  24. package/dist/elements/FormHeader/index.d.ts.map +1 -0
  25. package/dist/elements/FormHeader/index.js +20 -0
  26. package/dist/elements/FormHeader/index.js.map +1 -0
  27. package/dist/elements/FormHeader/index.scss +8 -0
  28. package/dist/elements/Logo/index.d.ts.map +1 -1
  29. package/dist/elements/Logo/index.js +5 -6
  30. package/dist/elements/Logo/index.js.map +1 -1
  31. package/dist/elements/Nav/NavWrapper/index.scss +20 -18
  32. package/dist/elements/Nav/getNavPrefs.d.ts +6 -0
  33. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -0
  34. package/dist/elements/Nav/getNavPrefs.js +26 -0
  35. package/dist/elements/Nav/getNavPrefs.js.map +1 -0
  36. package/dist/elements/Nav/index.client.d.ts +6 -1
  37. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  38. package/dist/elements/Nav/index.client.js +44 -94
  39. package/dist/elements/Nav/index.client.js.map +1 -1
  40. package/dist/elements/Nav/index.d.ts.map +1 -1
  41. package/dist/elements/Nav/index.js +66 -23
  42. package/dist/elements/Nav/index.js.map +1 -1
  43. package/dist/elements/Nav/index.scss +127 -125
  44. package/dist/exports/layouts.d.ts +1 -0
  45. package/dist/exports/layouts.d.ts.map +1 -1
  46. package/dist/exports/layouts.js +1 -0
  47. package/dist/exports/layouts.js.map +1 -1
  48. package/dist/exports/routes.d.ts +1 -1
  49. package/dist/exports/routes.d.ts.map +1 -1
  50. package/dist/exports/routes.js +1 -1
  51. package/dist/exports/routes.js.map +1 -1
  52. package/dist/exports/utilities.d.ts +1 -0
  53. package/dist/exports/utilities.d.ts.map +1 -1
  54. package/dist/exports/utilities.js +2 -0
  55. package/dist/exports/utilities.js.map +1 -1
  56. package/dist/exports/views.d.ts +0 -2
  57. package/dist/exports/views.d.ts.map +1 -1
  58. package/dist/exports/views.js +0 -2
  59. package/dist/exports/views.js.map +1 -1
  60. package/dist/fetchAPI-multipart/isEligibleRequest.js +1 -1
  61. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  62. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  63. package/dist/fetchAPI-multipart/processMultipart.js +9 -11
  64. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  65. package/dist/layouts/Root/NestProviders.d.ts +11 -0
  66. package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
  67. package/dist/layouts/Root/NestProviders.js +21 -0
  68. package/dist/layouts/Root/NestProviders.js.map +1 -0
  69. package/dist/layouts/Root/index.d.ts +3 -2
  70. package/dist/layouts/Root/index.d.ts.map +1 -1
  71. package/dist/layouts/Root/index.js +30 -48
  72. package/dist/layouts/Root/index.js.map +1 -1
  73. package/dist/prod/styles.css +1 -1
  74. package/dist/routes/rest/auth/login.js +2 -2
  75. package/dist/routes/rest/auth/login.js.map +1 -1
  76. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  77. package/dist/routes/rest/auth/logout.js +3 -2
  78. package/dist/routes/rest/auth/logout.js.map +1 -1
  79. package/dist/routes/rest/auth/refresh.js +2 -2
  80. package/dist/routes/rest/auth/refresh.js.map +1 -1
  81. package/dist/routes/rest/auth/registerFirstUser.js +2 -2
  82. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  83. package/dist/routes/rest/auth/resetPassword.js +2 -2
  84. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  85. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  86. package/dist/routes/rest/collections/create.js +5 -1
  87. package/dist/routes/rest/collections/create.js.map +1 -1
  88. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  89. package/dist/routes/rest/collections/delete.js +8 -0
  90. package/dist/routes/rest/collections/delete.js.map +1 -1
  91. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  92. package/dist/routes/rest/collections/deleteByID.js +7 -1
  93. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  94. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  95. package/dist/routes/rest/collections/duplicate.js +5 -1
  96. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  97. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  98. package/dist/routes/rest/collections/find.js +7 -1
  99. package/dist/routes/rest/collections/find.js.map +1 -1
  100. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  101. package/dist/routes/rest/collections/findByID.js +5 -1
  102. package/dist/routes/rest/collections/findByID.js.map +1 -1
  103. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  104. package/dist/routes/rest/collections/findVersionByID.js +5 -1
  105. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  106. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  107. package/dist/routes/rest/collections/findVersions.js +7 -1
  108. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  109. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  110. package/dist/routes/rest/collections/restoreVersion.js +2 -0
  111. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  112. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  113. package/dist/routes/rest/collections/update.js +10 -0
  114. package/dist/routes/rest/collections/update.js.map +1 -1
  115. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  116. package/dist/routes/rest/collections/updateByID.js +7 -1
  117. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  118. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  119. package/dist/routes/rest/globals/findOne.js +5 -1
  120. package/dist/routes/rest/globals/findOne.js.map +1 -1
  121. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  122. package/dist/routes/rest/globals/findVersionByID.js +5 -1
  123. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  124. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  125. package/dist/routes/rest/globals/findVersions.js +7 -1
  126. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  127. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  128. package/dist/routes/rest/globals/restoreVersion.js +2 -0
  129. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  130. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  131. package/dist/routes/rest/globals/update.js +5 -1
  132. package/dist/routes/rest/globals/update.js.map +1 -1
  133. package/dist/routes/rest/index.d.ts +5 -0
  134. package/dist/routes/rest/index.d.ts.map +1 -1
  135. package/dist/routes/rest/index.js +73 -10
  136. package/dist/routes/rest/index.js.map +1 -1
  137. package/dist/routes/rest/og/image.d.ts +4 -2
  138. package/dist/routes/rest/og/image.d.ts.map +1 -1
  139. package/dist/routes/rest/og/image.js +7 -3
  140. package/dist/routes/rest/og/image.js.map +1 -1
  141. package/dist/routes/rest/og/index.d.ts.map +1 -1
  142. package/dist/routes/rest/og/index.js +7 -12
  143. package/dist/routes/rest/og/index.js.map +1 -1
  144. package/dist/routes/rest/routeError.d.ts.map +1 -1
  145. package/dist/routes/rest/routeError.js +9 -48
  146. package/dist/routes/rest/routeError.js.map +1 -1
  147. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +1 -1
  148. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -1
  149. package/dist/routes/rest/utilities/sanitizeJoinParams.js +9 -5
  150. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -1
  151. package/dist/routes/rest/utilities/sanitizePopulate.d.ts +3 -0
  152. package/dist/routes/rest/utilities/sanitizePopulate.d.ts.map +1 -0
  153. package/dist/routes/rest/utilities/sanitizePopulate.js +11 -0
  154. package/dist/routes/rest/utilities/sanitizePopulate.js.map +1 -0
  155. package/dist/routes/rest/utilities/sanitizeSelect.d.ts +6 -0
  156. package/dist/routes/rest/utilities/sanitizeSelect.d.ts.map +1 -0
  157. package/dist/routes/rest/utilities/sanitizeSelect.js +17 -0
  158. package/dist/routes/rest/utilities/sanitizeSelect.js.map +1 -0
  159. package/dist/scss/app.scss +166 -162
  160. package/dist/scss/colors.scss +256 -254
  161. package/dist/scss/resets.scss +9 -7
  162. package/dist/scss/toastify.scss +42 -40
  163. package/dist/scss/toasts.scss +105 -103
  164. package/dist/scss/type.scss +80 -79
  165. package/dist/templates/Default/Wrapper/index.scss +38 -36
  166. package/dist/templates/Default/index.d.ts +2 -1
  167. package/dist/templates/Default/index.d.ts.map +1 -1
  168. package/dist/templates/Default/index.js +97 -41
  169. package/dist/templates/Default/index.js.map +1 -1
  170. package/dist/templates/Default/index.scss +60 -58
  171. package/dist/templates/Minimal/index.scss +22 -20
  172. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  173. package/dist/utilities/addLocalesToRequest.js +18 -8
  174. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  175. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  176. package/dist/utilities/createPayloadRequest.js +14 -11
  177. package/dist/utilities/createPayloadRequest.js.map +1 -1
  178. package/dist/utilities/getClientConfig.d.ts +7 -0
  179. package/dist/utilities/getClientConfig.d.ts.map +1 -0
  180. package/dist/utilities/getClientConfig.js +14 -0
  181. package/dist/utilities/getClientConfig.js.map +1 -0
  182. package/dist/utilities/getRequestLocales.d.ts.map +1 -1
  183. package/dist/utilities/getRequestLocales.js +10 -6
  184. package/dist/utilities/getRequestLocales.js.map +1 -1
  185. package/dist/utilities/handleServerFunctions.d.ts +3 -0
  186. package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
  187. package/dist/utilities/handleServerFunctions.js +35 -0
  188. package/dist/utilities/handleServerFunctions.js.map +1 -0
  189. package/dist/utilities/initPage/handleAdminPage.d.ts +13 -11
  190. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  191. package/dist/utilities/initPage/handleAdminPage.js +16 -20
  192. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  193. package/dist/utilities/initPage/handleAuthRedirect.d.ts +6 -3
  194. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  195. package/dist/utilities/initPage/handleAuthRedirect.js +23 -36
  196. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  197. package/dist/utilities/initPage/index.d.ts +1 -1
  198. package/dist/utilities/initPage/index.d.ts.map +1 -1
  199. package/dist/utilities/initPage/index.js +29 -11
  200. package/dist/utilities/initPage/index.js.map +1 -1
  201. package/dist/utilities/initPage/isCustomAdminView.d.ts +10 -0
  202. package/dist/utilities/initPage/isCustomAdminView.d.ts.map +1 -0
  203. package/dist/utilities/initPage/isCustomAdminView.js +31 -0
  204. package/dist/utilities/initPage/isCustomAdminView.js.map +1 -0
  205. package/dist/utilities/initPage/shared.d.ts +2 -2
  206. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  207. package/dist/utilities/initPage/shared.js +19 -13
  208. package/dist/utilities/initPage/shared.js.map +1 -1
  209. package/dist/utilities/initReq.d.ts +1 -1
  210. package/dist/utilities/initReq.d.ts.map +1 -1
  211. package/dist/utilities/initReq.js +3 -3
  212. package/dist/utilities/initReq.js.map +1 -1
  213. package/dist/views/API/LocaleSelector/index.js +2 -2
  214. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  215. package/dist/views/API/RenderJSON/index.scss +68 -66
  216. package/dist/views/API/index.client.d.ts.map +1 -1
  217. package/dist/views/API/index.client.js +16 -16
  218. package/dist/views/API/index.client.js.map +1 -1
  219. package/dist/views/API/index.scss +98 -96
  220. package/dist/views/Account/Settings/index.js +0 -1
  221. package/dist/views/Account/Settings/index.js.map +1 -1
  222. package/dist/views/Account/Settings/index.scss +37 -35
  223. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  224. package/dist/views/Account/ToggleTheme/index.js +2 -0
  225. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  226. package/dist/views/Account/index.d.ts.map +1 -1
  227. package/dist/views/Account/index.js +82 -25
  228. package/dist/views/Account/index.js.map +1 -1
  229. package/dist/views/CreateFirstUser/index.client.d.ts +3 -1
  230. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  231. package/dist/views/CreateFirstUser/index.client.js +83 -108
  232. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  233. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  234. package/dist/views/CreateFirstUser/index.js +36 -4
  235. package/dist/views/CreateFirstUser/index.js.map +1 -1
  236. package/dist/views/CreateFirstUser/index.scss +13 -11
  237. package/dist/views/Dashboard/Default/index.d.ts +3 -1
  238. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  239. package/dist/views/Dashboard/Default/index.js +58 -47
  240. package/dist/views/Dashboard/Default/index.js.map +1 -1
  241. package/dist/views/Dashboard/Default/index.scss +51 -49
  242. package/dist/views/Dashboard/index.d.ts.map +1 -1
  243. package/dist/views/Dashboard/index.js +53 -34
  244. package/dist/views/Dashboard/index.js.map +1 -1
  245. package/dist/views/Document/getDocPreferences.d.ts +11 -0
  246. package/dist/views/Document/getDocPreferences.d.ts.map +1 -0
  247. package/dist/views/Document/getDocPreferences.js +44 -0
  248. package/dist/views/Document/getDocPreferences.js.map +1 -0
  249. package/dist/views/Document/getDocumentData.d.ts +10 -11
  250. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  251. package/dist/views/Document/getDocumentData.js +35 -45
  252. package/dist/views/Document/getDocumentData.js.map +1 -1
  253. package/dist/views/Document/getDocumentPermissions.js +2 -4
  254. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  255. package/dist/views/Document/getIsLocked.d.ts +16 -0
  256. package/dist/views/Document/getIsLocked.d.ts.map +1 -0
  257. package/dist/views/Document/getIsLocked.js +55 -0
  258. package/dist/views/Document/getIsLocked.js.map +1 -0
  259. package/dist/views/Document/getVersions.d.ts +19 -0
  260. package/dist/views/Document/getVersions.d.ts.map +1 -0
  261. package/dist/views/Document/getVersions.js +181 -0
  262. package/dist/views/Document/getVersions.js.map +1 -0
  263. package/dist/views/Document/getViewsFromConfig.d.ts +1 -1
  264. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  265. package/dist/views/Document/getViewsFromConfig.js +22 -17
  266. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  267. package/dist/views/Document/handleServerFunction.d.ts +24 -0
  268. package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
  269. package/dist/views/Document/handleServerFunction.js +156 -0
  270. package/dist/views/Document/handleServerFunction.js.map +1 -0
  271. package/dist/views/Document/index.d.ts +5 -1
  272. package/dist/views/Document/index.d.ts.map +1 -1
  273. package/dist/views/Document/index.js +183 -73
  274. package/dist/views/Document/index.js.map +1 -1
  275. package/dist/views/Document/renderDocumentSlots.d.ts +12 -0
  276. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
  277. package/dist/views/Document/renderDocumentSlots.js +92 -0
  278. package/dist/views/Document/renderDocumentSlots.js.map +1 -0
  279. package/dist/views/Edit/index.d.ts +3 -2
  280. package/dist/views/Edit/index.d.ts.map +1 -1
  281. package/dist/views/Edit/index.js +7 -3
  282. package/dist/views/Edit/index.js.map +1 -1
  283. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  284. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +14 -12
  285. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  286. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  287. package/dist/views/ForgotPassword/index.js +8 -6
  288. package/dist/views/ForgotPassword/index.js.map +1 -1
  289. package/dist/views/List/handleServerFunction.d.ts +26 -0
  290. package/dist/views/List/handleServerFunction.d.ts.map +1 -0
  291. package/dist/views/List/handleServerFunction.js +155 -0
  292. package/dist/views/List/handleServerFunction.js.map +1 -0
  293. package/dist/views/List/index.d.ts +12 -2
  294. package/dist/views/List/index.d.ts.map +1 -1
  295. package/dist/views/List/index.js +144 -84
  296. package/dist/views/List/index.js.map +1 -1
  297. package/dist/views/List/renderListViewSlots.d.ts +12 -0
  298. package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
  299. package/dist/views/List/renderListViewSlots.js +56 -0
  300. package/dist/views/List/renderListViewSlots.js.map +1 -0
  301. package/dist/views/LivePreview/Context/sizeReducer.d.ts +1 -1
  302. package/dist/views/LivePreview/Context/sizeReducer.d.ts.map +1 -1
  303. package/dist/views/LivePreview/Context/sizeReducer.js +4 -4
  304. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  305. package/dist/views/LivePreview/IFrame/index.scss +8 -6
  306. package/dist/views/LivePreview/Preview/index.scss +32 -30
  307. package/dist/views/LivePreview/Toolbar/Controls/index.scss +49 -47
  308. package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +11 -9
  309. package/dist/views/LivePreview/Toolbar/index.scss +33 -31
  310. package/dist/views/LivePreview/ToolbarArea/index.scss +5 -3
  311. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  312. package/dist/views/LivePreview/index.client.js +52 -42
  313. package/dist/views/LivePreview/index.client.js.map +1 -1
  314. package/dist/views/LivePreview/index.js +2 -2
  315. package/dist/views/LivePreview/index.js.map +1 -1
  316. package/dist/views/LivePreview/index.scss +48 -46
  317. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  318. package/dist/views/Login/LoginField/index.js +6 -1
  319. package/dist/views/Login/LoginField/index.js.map +1 -1
  320. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  321. package/dist/views/Login/LoginForm/index.js +4 -2
  322. package/dist/views/Login/LoginForm/index.js.map +1 -1
  323. package/dist/views/Login/LoginForm/index.scss +8 -6
  324. package/dist/views/Login/index.d.ts.map +1 -1
  325. package/dist/views/Login/index.js +26 -20
  326. package/dist/views/Login/index.js.map +1 -1
  327. package/dist/views/Login/index.scss +8 -6
  328. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  329. package/dist/views/Logout/LogoutClient.js +79 -56
  330. package/dist/views/Logout/LogoutClient.js.map +1 -1
  331. package/dist/views/Logout/index.scss +17 -15
  332. package/dist/views/NotFound/index.d.ts.map +1 -1
  333. package/dist/views/NotFound/index.js +3 -0
  334. package/dist/views/NotFound/index.js.map +1 -1
  335. package/dist/views/NotFound/index.scss +38 -36
  336. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts +7 -0
  337. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -0
  338. package/dist/views/ResetPassword/{index.client.js → ResetPasswordForm/index.js} +21 -16
  339. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
  340. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  341. package/dist/views/ResetPassword/index.js +19 -10
  342. package/dist/views/ResetPassword/index.js.map +1 -1
  343. package/dist/views/ResetPassword/index.scss +6 -26
  344. package/dist/views/Root/getViewFromConfig.d.ts +3 -1
  345. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  346. package/dist/views/Root/getViewFromConfig.js +128 -13
  347. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  348. package/dist/views/Root/index.d.ts.map +1 -1
  349. package/dist/views/Root/index.js +39 -17
  350. package/dist/views/Root/index.js.map +1 -1
  351. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  352. package/dist/views/Unauthorized/index.js +14 -7
  353. package/dist/views/Unauthorized/index.js.map +1 -1
  354. package/dist/views/Unauthorized/index.scss +4 -31
  355. package/dist/views/Verify/index.client.d.ts +7 -0
  356. package/dist/views/Verify/index.client.d.ts.map +1 -0
  357. package/dist/views/Verify/index.client.js +46 -0
  358. package/dist/views/Verify/index.client.js.map +1 -0
  359. package/dist/views/Verify/index.d.ts.map +1 -1
  360. package/dist/views/Verify/index.js +12 -11
  361. package/dist/views/Verify/index.js.map +1 -1
  362. package/dist/views/Verify/index.scss +13 -11
  363. package/dist/views/Version/Default/index.d.ts.map +1 -1
  364. package/dist/views/Version/Default/index.js +2 -4
  365. package/dist/views/Version/Default/index.js.map +1 -1
  366. package/dist/views/Version/Default/index.scss +52 -50
  367. package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +5 -3
  368. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +29 -27
  369. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +11 -9
  370. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +12 -10
  371. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +12 -10
  372. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +12 -10
  373. package/dist/views/Version/RenderFieldsToDiff/index.scss +12 -10
  374. package/dist/views/Version/Restore/index.js +1 -1
  375. package/dist/views/Version/Restore/index.js.map +1 -1
  376. package/dist/views/Version/Restore/index.scss +57 -55
  377. package/dist/views/Version/SelectComparison/index.scss +12 -10
  378. package/dist/views/Version/SelectLocales/index.scss +6 -4
  379. package/dist/views/Versions/buildColumns.d.ts +3 -2
  380. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  381. package/dist/views/Versions/buildColumns.js +33 -61
  382. package/dist/views/Versions/buildColumns.js.map +1 -1
  383. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -0
  384. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  385. package/dist/views/Versions/cells/AutosaveCell/index.js +48 -37
  386. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  387. package/dist/views/Versions/cells/CreatedAt/index.d.ts +4 -0
  388. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  389. package/dist/views/Versions/cells/CreatedAt/index.js +43 -44
  390. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  391. package/dist/views/Versions/cells/ID/index.d.ts +3 -1
  392. package/dist/views/Versions/cells/ID/index.d.ts.map +1 -1
  393. package/dist/views/Versions/cells/ID/index.js +7 -19
  394. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  395. package/dist/views/Versions/getLatestVersion.js +1 -1
  396. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  397. package/dist/views/Versions/index.client.d.ts.map +1 -1
  398. package/dist/views/Versions/index.client.js +53 -51
  399. package/dist/views/Versions/index.client.js.map +1 -1
  400. package/dist/views/Versions/index.d.ts.map +1 -1
  401. package/dist/views/Versions/index.js +5 -6
  402. package/dist/views/Versions/index.js.map +1 -1
  403. package/dist/views/Versions/index.scss +78 -76
  404. package/dist/withPayload.d.ts.map +1 -1
  405. package/dist/withPayload.js +19 -1
  406. package/dist/withPayload.js.map +1 -1
  407. package/license.md +22 -0
  408. package/package.json +21 -12
  409. package/dist/cjs/withPayload.js +0 -111
  410. package/dist/cjs/withPayload.js.map +0 -1
  411. package/dist/elements/DocumentLocked/index.d.ts +0 -12
  412. package/dist/elements/DocumentLocked/index.d.ts.map +0 -1
  413. package/dist/elements/DocumentLocked/index.js +0 -142
  414. package/dist/elements/DocumentLocked/index.js.map +0 -1
  415. package/dist/elements/DocumentLocked/index.scss +0 -37
  416. package/dist/elements/DocumentTakeOver/index.d.ts +0 -8
  417. package/dist/elements/DocumentTakeOver/index.d.ts.map +0 -1
  418. package/dist/elements/DocumentTakeOver/index.js +0 -98
  419. package/dist/elements/DocumentTakeOver/index.js.map +0 -1
  420. package/dist/elements/DocumentTakeOver/index.scss +0 -37
  421. package/dist/elements/EmailAndUsername/index.d.ts +0 -14
  422. package/dist/elements/EmailAndUsername/index.d.ts.map +0 -1
  423. package/dist/elements/EmailAndUsername/index.js +0 -121
  424. package/dist/elements/EmailAndUsername/index.js.map +0 -1
  425. package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -4
  426. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +0 -1
  427. package/dist/elements/LeaveWithoutSaving/index.js +0 -162
  428. package/dist/elements/LeaveWithoutSaving/index.js.map +0 -1
  429. package/dist/elements/LeaveWithoutSaving/index.scss +0 -37
  430. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +0 -9
  431. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +0 -1
  432. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +0 -136
  433. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +0 -1
  434. package/dist/routes/rest/buildFormState.d.ts +0 -5
  435. package/dist/routes/rest/buildFormState.d.ts.map +0 -1
  436. package/dist/routes/rest/buildFormState.js +0 -46
  437. package/dist/routes/rest/buildFormState.js.map +0 -1
  438. package/dist/views/Edit/Default/Auth/APIKey.d.ts +0 -6
  439. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +0 -1
  440. package/dist/views/Edit/Default/Auth/APIKey.js +0 -131
  441. package/dist/views/Edit/Default/Auth/APIKey.js.map +0 -1
  442. package/dist/views/Edit/Default/Auth/index.d.ts +0 -5
  443. package/dist/views/Edit/Default/Auth/index.d.ts.map +0 -1
  444. package/dist/views/Edit/Default/Auth/index.js +0 -307
  445. package/dist/views/Edit/Default/Auth/index.js.map +0 -1
  446. package/dist/views/Edit/Default/Auth/index.scss +0 -76
  447. package/dist/views/Edit/Default/Auth/types.d.ts +0 -17
  448. package/dist/views/Edit/Default/Auth/types.d.ts.map +0 -1
  449. package/dist/views/Edit/Default/Auth/types.js +0 -2
  450. package/dist/views/Edit/Default/Auth/types.js.map +0 -1
  451. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -11
  452. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +0 -1
  453. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +0 -130
  454. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +0 -1
  455. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -8
  456. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +0 -1
  457. package/dist/views/Edit/Default/SetDocumentTitle/index.js +0 -81
  458. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +0 -1
  459. package/dist/views/Edit/Default/index.d.ts +0 -4
  460. package/dist/views/Edit/Default/index.d.ts.map +0 -1
  461. package/dist/views/Edit/Default/index.js +0 -342
  462. package/dist/views/Edit/Default/index.js.map +0 -1
  463. package/dist/views/Edit/Default/index.scss +0 -21
  464. package/dist/views/Edit/Default/types.d.ts +0 -6
  465. package/dist/views/Edit/Default/types.d.ts.map +0 -1
  466. package/dist/views/Edit/Default/types.js +0 -2
  467. package/dist/views/Edit/Default/types.js.map +0 -1
  468. package/dist/views/Edit/index.client.d.ts +0 -3
  469. package/dist/views/Edit/index.client.d.ts.map +0 -1
  470. package/dist/views/Edit/index.client.js +0 -54
  471. package/dist/views/Edit/index.client.js.map +0 -1
  472. package/dist/views/List/Default/index.d.ts +0 -4
  473. package/dist/views/List/Default/index.d.ts.map +0 -1
  474. package/dist/views/List/Default/index.js +0 -387
  475. package/dist/views/List/Default/index.js.map +0 -1
  476. package/dist/views/List/Default/index.scss +0 -177
  477. package/dist/views/List/Default/types.d.ts +0 -15
  478. package/dist/views/List/Default/types.d.ts.map +0 -1
  479. package/dist/views/List/Default/types.js +0 -2
  480. package/dist/views/List/Default/types.js.map +0 -1
  481. package/dist/views/ResetPassword/index.client.d.ts +0 -7
  482. package/dist/views/ResetPassword/index.client.d.ts.map +0 -1
  483. package/dist/views/ResetPassword/index.client.js.map +0 -1
@@ -1,125 +1,100 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { ConfirmPasswordField, Form, FormSubmit, PasswordField, RenderFields, useAuth, useConfig, useTranslation } from '@payloadcms/ui';
6
- import { getFormState } from '@payloadcms/ui/shared';
7
- import React from 'react';
8
- import { RenderEmailAndUsernameFields } from '../../elements/EmailAndUsername/index.js';
9
- export const CreateFirstUserClient = t0 => {
10
- const $ = _c(16);
4
+ import { ConfirmPasswordField, EmailAndUsernameFields, Form, FormSubmit, PasswordField, RenderFields, useAuth, useConfig, useServerFunctions, useTranslation } from '@payloadcms/ui';
5
+ import { abortAndIgnore } from '@payloadcms/ui/shared';
6
+ import React, { useEffect } from 'react';
7
+ export const CreateFirstUserClient = ({
8
+ docPermissions,
9
+ docPreferences,
10
+ initialState,
11
+ loginWithUsername,
12
+ userSlug
13
+ }) => {
11
14
  const {
12
- initialState,
13
- loginWithUsername,
14
- userSlug
15
- } = t0;
16
- const {
17
- config: t1,
15
+ config: {
16
+ routes: {
17
+ admin,
18
+ api: apiRoute
19
+ },
20
+ serverURL
21
+ },
18
22
  getEntityConfig
19
23
  } = useConfig();
20
24
  const {
21
- routes: t2,
22
- serverURL
23
- } = t1;
24
- const {
25
- admin,
26
- api: apiRoute
27
- } = t2;
25
+ getFormState
26
+ } = useServerFunctions();
28
27
  const {
29
28
  t
30
29
  } = useTranslation();
31
30
  const {
32
31
  setUser
33
32
  } = useAuth();
34
- let t3;
35
- if ($[0] !== userSlug || $[1] !== getEntityConfig || $[2] !== apiRoute || $[3] !== serverURL || $[4] !== setUser || $[5] !== loginWithUsername || $[6] !== t || $[7] !== initialState || $[8] !== admin) {
36
- const collectionConfig = getEntityConfig({
37
- collectionSlug: userSlug
33
+ const formStateAbortControllerRef = React.useRef(null);
34
+ const collectionConfig = getEntityConfig({
35
+ collectionSlug: userSlug
36
+ });
37
+ const onChange = React.useCallback(async ({
38
+ formState: prevFormState
39
+ }) => {
40
+ abortAndIgnore(formStateAbortControllerRef.current);
41
+ const controller = new AbortController();
42
+ formStateAbortControllerRef.current = controller;
43
+ const response = await getFormState({
44
+ collectionSlug: userSlug,
45
+ docPermissions,
46
+ docPreferences,
47
+ formState: prevFormState,
48
+ operation: 'create',
49
+ schemaPath: `_${userSlug}.auth`,
50
+ signal: controller.signal
38
51
  });
39
- let t4;
40
- if ($[10] !== apiRoute || $[11] !== userSlug || $[12] !== serverURL) {
41
- t4 = async t5 => {
42
- const {
43
- formState: prevFormState
44
- } = t5;
45
- const {
46
- state
47
- } = await getFormState({
48
- apiRoute,
49
- body: {
50
- collectionSlug: userSlug,
51
- formState: prevFormState,
52
- operation: "create",
53
- schemaPath: `_${userSlug}.auth`
54
- },
55
- serverURL
56
- });
57
- return state;
58
- };
59
- $[10] = apiRoute;
60
- $[11] = userSlug;
61
- $[12] = serverURL;
62
- $[13] = t4;
63
- } else {
64
- t4 = $[13];
52
+ if (response && response.state) {
53
+ return response.state;
65
54
  }
66
- const onChange = t4;
67
- let t5;
68
- if ($[14] !== setUser) {
69
- t5 = data => {
70
- setUser(data.user);
71
- };
72
- $[14] = setUser;
73
- $[15] = t5;
74
- } else {
75
- t5 = $[15];
76
- }
77
- const handleFirstRegister = t5;
78
- t3 = _jsxs(Form, {
79
- action: `${serverURL}${apiRoute}/${userSlug}/first-register`,
80
- initialState,
81
- method: "POST",
82
- onChange: [onChange],
83
- onSuccess: handleFirstRegister,
84
- redirect: admin,
85
- validationOperation: "create",
86
- children: [_jsx(RenderEmailAndUsernameFields, {
87
- className: "emailAndUsername",
88
- loginWithUsername,
89
- operation: "create",
90
- readOnly: false
91
- }), _jsx(PasswordField, {
92
- autoComplete: "off",
93
- field: {
94
- name: "password",
95
- label: t("authentication:newPassword"),
96
- required: true
97
- }
98
- }), _jsx(ConfirmPasswordField, {}), _jsx(RenderFields, {
99
- fields: collectionConfig.fields,
100
- forceRender: true,
101
- operation: "create",
102
- path: "",
103
- readOnly: false,
104
- schemaPath: userSlug
105
- }), _jsx(FormSubmit, {
106
- size: "large",
107
- children: t("general:create")
108
- })]
109
- });
110
- $[0] = userSlug;
111
- $[1] = getEntityConfig;
112
- $[2] = apiRoute;
113
- $[3] = serverURL;
114
- $[4] = setUser;
115
- $[5] = loginWithUsername;
116
- $[6] = t;
117
- $[7] = initialState;
118
- $[8] = admin;
119
- $[9] = t3;
120
- } else {
121
- t3 = $[9];
122
- }
123
- return t3;
55
+ }, [userSlug, getFormState, docPermissions, docPreferences]);
56
+ const handleFirstRegister = data => {
57
+ setUser(data);
58
+ };
59
+ useEffect(() => {
60
+ return () => {
61
+ abortAndIgnore(formStateAbortControllerRef.current);
62
+ };
63
+ }, []);
64
+ return /*#__PURE__*/_jsxs(Form, {
65
+ action: `${serverURL}${apiRoute}/${userSlug}/first-register`,
66
+ initialState: initialState,
67
+ method: "POST",
68
+ onChange: [onChange],
69
+ onSuccess: handleFirstRegister,
70
+ redirect: admin,
71
+ validationOperation: "create",
72
+ children: [/*#__PURE__*/_jsx(EmailAndUsernameFields, {
73
+ className: "emailAndUsername",
74
+ loginWithUsername: loginWithUsername,
75
+ operation: "create",
76
+ readOnly: false,
77
+ t: t
78
+ }), /*#__PURE__*/_jsx(PasswordField, {
79
+ autoComplete: "off",
80
+ field: {
81
+ name: 'password',
82
+ label: t('authentication:newPassword'),
83
+ required: true
84
+ },
85
+ path: "password"
86
+ }), /*#__PURE__*/_jsx(ConfirmPasswordField, {}), /*#__PURE__*/_jsx(RenderFields, {
87
+ fields: collectionConfig.fields,
88
+ forceRender: true,
89
+ parentIndexPath: "",
90
+ parentPath: "",
91
+ parentSchemaPath: userSlug,
92
+ permissions: null,
93
+ readOnly: false
94
+ }), /*#__PURE__*/_jsx(FormSubmit, {
95
+ size: "large",
96
+ children: t('general:create')
97
+ })]
98
+ });
124
99
  };
125
100
  //# sourceMappingURL=index.client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["c","_c","ConfirmPasswordField","Form","FormSubmit","PasswordField","RenderFields","useAuth","useConfig","useTranslation","getFormState","React","RenderEmailAndUsernameFields","CreateFirstUserClient","t0","$","initialState","loginWithUsername","userSlug","config","t1","getEntityConfig","routes","t2","serverURL","admin","api","apiRoute","t","setUser","t3","collectionConfig","collectionSlug","t4","t5","formState","prevFormState","state","body","operation","schemaPath","onChange","data","user","handleFirstRegister","_jsxs","action","method","onSuccess","redirect","validationOperation","children","_jsx","className","readOnly","autoComplete","field","name","label","required","fields","forceRender","path","size"],"sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientUser,\n FormState,\n LoginWithUsernameOptions,\n} from 'payload'\n\nimport {\n ConfirmPasswordField,\n Form,\n type FormProps,\n FormSubmit,\n PasswordField,\n RenderFields,\n useAuth,\n useConfig,\n useTranslation,\n} from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { RenderEmailAndUsernameFields } from '../../elements/EmailAndUsername/index.js'\n\nexport const CreateFirstUserClient: React.FC<{\n initialState: FormState\n loginWithUsername?: false | LoginWithUsernameOptions\n userSlug: string\n}> = ({ initialState, loginWithUsername, userSlug }) => {\n const {\n config: {\n routes: { admin, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug }) as ClientCollectionConfig\n\n const onChange: FormProps['onChange'][0] = React.useCallback(\n async ({ formState: prevFormState }) => {\n const { state } = await getFormState({\n apiRoute,\n body: {\n collectionSlug: userSlug,\n formState: prevFormState,\n operation: 'create',\n schemaPath: `_${userSlug}.auth`,\n },\n serverURL,\n })\n return state\n },\n [apiRoute, userSlug, serverURL],\n )\n\n const handleFirstRegister = (data: { user: ClientUser }) => {\n setUser(data.user)\n }\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/first-register`}\n initialState={initialState}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={handleFirstRegister}\n redirect={admin}\n validationOperation=\"create\"\n >\n <RenderEmailAndUsernameFields\n className=\"emailAndUsername\"\n loginWithUsername={loginWithUsername}\n operation=\"create\"\n readOnly={false}\n />\n <PasswordField\n autoComplete={'off'}\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n />\n <ConfirmPasswordField />\n <RenderFields\n fields={collectionConfig.fields}\n forceRender\n operation=\"create\"\n path=\"\"\n readOnly={false}\n schemaPath={userSlug}\n />\n <FormSubmit size=\"large\">{t('general:create')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["ConfirmPasswordField","EmailAndUsernameFields","Form","FormSubmit","PasswordField","RenderFields","useAuth","useConfig","useServerFunctions","useTranslation","abortAndIgnore","React","useEffect","CreateFirstUserClient","docPermissions","docPreferences","initialState","loginWithUsername","userSlug","config","routes","admin","api","apiRoute","serverURL","getEntityConfig","getFormState","t","setUser","formStateAbortControllerRef","useRef","collectionConfig","collectionSlug","onChange","useCallback","formState","prevFormState","current","controller","AbortController","response","operation","schemaPath","signal","state","handleFirstRegister","data","_jsxs","action","method","onSuccess","redirect","validationOperation","_jsx","className","readOnly","autoComplete","field","name","label","required","path","fields","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","size"],"sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps, UserWithToken } from '@payloadcms/ui'\nimport type {\n ClientCollectionConfig,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n LoginWithUsernameOptions,\n} from 'payload'\n\nimport {\n ConfirmPasswordField,\n EmailAndUsernameFields,\n Form,\n FormSubmit,\n PasswordField,\n RenderFields,\n useAuth,\n useConfig,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore } from '@payloadcms/ui/shared'\nimport React, { useEffect } from 'react'\n\nexport const CreateFirstUserClient: React.FC<{\n docPermissions: DocumentPermissions\n docPreferences: DocumentPreferences\n initialState: FormState\n loginWithUsername?: false | LoginWithUsernameOptions\n userSlug: string\n}> = ({ docPermissions, docPreferences, initialState, loginWithUsername, userSlug }) => {\n const {\n config: {\n routes: { admin, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const formStateAbortControllerRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug }) as ClientCollectionConfig\n\n const onChange: FormProps['onChange'][0] = React.useCallback(\n async ({ formState: prevFormState }) => {\n abortAndIgnore(formStateAbortControllerRef.current)\n\n const controller = new AbortController()\n formStateAbortControllerRef.current = controller\n\n const response = await getFormState({\n collectionSlug: userSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath: `_${userSlug}.auth`,\n signal: controller.signal,\n })\n\n if (response && response.state) {\n return response.state\n }\n },\n [userSlug, getFormState, docPermissions, docPreferences],\n )\n\n const handleFirstRegister = (data: UserWithToken) => {\n setUser(data)\n }\n\n useEffect(() => {\n return () => {\n abortAndIgnore(formStateAbortControllerRef.current)\n }\n }, [])\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/first-register`}\n initialState={initialState}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={handleFirstRegister}\n redirect={admin}\n validationOperation=\"create\"\n >\n <EmailAndUsernameFields\n className=\"emailAndUsername\"\n loginWithUsername={loginWithUsername}\n operation=\"create\"\n readOnly={false}\n t={t}\n />\n <PasswordField\n autoComplete=\"off\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n path=\"password\"\n />\n <ConfirmPasswordField />\n <RenderFields\n fields={collectionConfig.fields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={userSlug}\n permissions={null}\n readOnly={false}\n />\n <FormSubmit size=\"large\">{t('general:create')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAA;AAE3D,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAoCxD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAA;AAE3D,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAkExD,CAAA"}
@@ -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 { 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;AAElB,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,19 +1,21 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
- .create-first-user {
4
- display: flex;
5
- flex-direction: column;
6
- gap: base(0.4);
3
+ @layer payload-default {
4
+ .create-first-user {
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: base(0.4);
7
8
 
8
- > form > .field-type {
9
- margin-bottom: var(--base);
9
+ > form > .field-type {
10
+ margin-bottom: var(--base);
10
11
 
11
- & .form-submit {
12
- margin: 0;
12
+ & .form-submit {
13
+ margin: 0;
14
+ }
13
15
  }
14
16
  }
15
- }
16
17
 
17
- .emailAndUsername {
18
- margin-bottom: var(--base);
18
+ .emailAndUsername {
19
+ margin-bottom: var(--base);
20
+ }
19
21
  }
@@ -6,8 +6,10 @@ export type DashboardProps = {
6
6
  globalData: Array<{
7
7
  data: {
8
8
  _isLocked: boolean;
9
- _userEditing: ClientUser | null;
9
+ _lastEditedAt: string;
10
+ _userEditing: ClientUser | number | string;
10
11
  };
12
+ lockDuration?: number;
11
13
  slug: string;
12
14
  }>;
13
15
  Link: React.ComponentType<any>;
@@ -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,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAUpF,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE;YAAE,SAAS,EAAE,OAAO,CAAC;YAAC,YAAY,EAAE,UAAU,GAAG,IAAI,CAAA;SAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAClG,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,CA0JrD,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,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAMpF,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,WAAW,CAAA;IACxB,eAAe,EAAE,eAAe,CAAA;CACjC,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmKrD,CAAA"}
@@ -1,7 +1,8 @@
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, Locked, SetStepNav, SetViewActions } from '@payloadcms/ui';
4
- import { EntityType, formatAdminURL, getCreateMappedComponent, RenderComponent } 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 => {
@@ -33,34 +34,24 @@ export const DefaultDashboard = props => {
33
34
  searchParams,
34
35
  user
35
36
  } = props;
36
- const createMappedComponent = getCreateMappedComponent({
37
- importMap: payload.importMap,
38
- serverProps: {
39
- i18n,
40
- locale,
41
- params,
42
- payload,
43
- permissions,
44
- searchParams,
45
- user
46
- }
47
- });
48
- const mappedBeforeDashboards = createMappedComponent(beforeDashboard, undefined, undefined, 'beforeDashboard');
49
- const mappedAfterDashboards = createMappedComponent(afterDashboard, undefined, undefined, 'afterDashboard');
50
- return /*#__PURE__*/_jsxs("div", {
37
+ return /*#__PURE__*/_jsx("div", {
51
38
  className: baseClass,
52
- children: [/*#__PURE__*/_jsx(SetStepNav, {
53
- nav: []
54
- }), /*#__PURE__*/_jsx(SetViewActions, {
55
- actions: []
56
- }), /*#__PURE__*/_jsxs(Gutter, {
39
+ children: /*#__PURE__*/_jsxs(Gutter, {
57
40
  className: `${baseClass}__wrap`,
58
- children: [/*#__PURE__*/_jsx(RenderComponent, {
59
- mappedComponent: mappedBeforeDashboards
60
- }), /*#__PURE__*/_jsxs(Fragment, {
61
- children: [/*#__PURE__*/_jsx(SetViewActions, {
62
- actions: []
63
- }), !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", {
64
55
  children: "no nav groups...."
65
56
  }) : navGroups.map(({
66
57
  entities,
@@ -74,55 +65,65 @@ export const DefaultDashboard = props => {
74
65
  }), /*#__PURE__*/_jsx("ul", {
75
66
  className: `${baseClass}__card-list`,
76
67
  children: entities.map(({
68
+ slug,
77
69
  type,
78
- entity
70
+ label
79
71
  }, entityIndex) => {
80
72
  let title;
81
73
  let buttonAriaLabel;
82
74
  let createHREF;
83
75
  let href;
84
76
  let hasCreatePermission;
85
- let lockStatus = null;
77
+ let isLocked = null;
86
78
  let userEditing = null;
87
79
  if (type === EntityType.collection) {
88
- title = getTranslation(entity.labels.plural, i18n);
80
+ title = getTranslation(label, i18n);
89
81
  buttonAriaLabel = t('general:showAllLabel', {
90
82
  label: title
91
83
  });
92
84
  href = formatAdminURL({
93
85
  adminRoute,
94
- path: `/collections/${entity.slug}`
86
+ path: `/collections/${slug}`
95
87
  });
96
88
  createHREF = formatAdminURL({
97
89
  adminRoute,
98
- path: `/collections/${entity.slug}/create`
90
+ path: `/collections/${slug}/create`
99
91
  });
100
- hasCreatePermission = permissions?.collections?.[entity.slug]?.create?.permission;
92
+ hasCreatePermission = permissions?.collections?.[slug]?.create?.permission;
101
93
  }
102
94
  if (type === EntityType.global) {
103
- title = getTranslation(entity.label, i18n);
95
+ title = getTranslation(label, i18n);
104
96
  buttonAriaLabel = t('general:editLabel', {
105
- label: getTranslation(entity.label, i18n)
97
+ label: getTranslation(label, i18n)
106
98
  });
107
99
  href = formatAdminURL({
108
100
  adminRoute,
109
- path: `/globals/${entity.slug}`
101
+ path: `/globals/${slug}`
110
102
  });
111
103
  // Find the lock status for the global
112
- const globalLockData = globalData.find(global => global.slug === entity.slug);
104
+ const globalLockData = globalData.find(global => global.slug === slug);
113
105
  if (globalLockData) {
114
- lockStatus = globalLockData.data._isLocked;
106
+ isLocked = globalLockData.data._isLocked;
115
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
+ }
116
117
  }
117
118
  }
118
119
  return /*#__PURE__*/_jsx("li", {
119
120
  children: /*#__PURE__*/_jsx(Card, {
120
- actions: lockStatus && user?.id !== userEditing?.id ? /*#__PURE__*/_jsx(Locked, {
121
+ actions: isLocked && user?.id !== userEditing?.id ? /*#__PURE__*/_jsx(Locked, {
121
122
  className: `${baseClass}__locked`,
122
123
  user: userEditing
123
124
  }) : hasCreatePermission && type === EntityType.collection ? /*#__PURE__*/_jsx(Button, {
124
125
  "aria-label": t('general:createNewLabel', {
125
- label: getTranslation(entity.labels.singular, i18n)
126
+ label
126
127
  }),
127
128
  buttonStyle: "icon-label",
128
129
  el: "link",
@@ -134,20 +135,30 @@ export const DefaultDashboard = props => {
134
135
  }) : undefined,
135
136
  buttonAriaLabel: buttonAriaLabel,
136
137
  href: href,
137
- id: `card-${entity.slug}`,
138
+ id: `card-${slug}`,
138
139
  Link: Link,
139
- title: title,
140
+ title: getTranslation(label, i18n),
140
141
  titleAs: "h3"
141
142
  })
142
143
  }, entityIndex);
143
144
  })
144
145
  })]
145
146
  }, groupIndex);
146
- })]
147
- }), /*#__PURE__*/_jsx(RenderComponent, {
148
- 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
+ }
149
160
  })]
150
- })]
161
+ })
151
162
  });
152
163
  };
153
164
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","Button","Card","Gutter","Locked","SetStepNav","SetViewActions","EntityType","formatAdminURL","getCreateMappedComponent","RenderComponent","React","Fragment","baseClass","DefaultDashboard","props","globalData","i18n","t","Link","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","lockStatus","userEditing","collection","labels","plural","path","slug","collections","create","permission","global","globalLockData","find","data","_isLocked","_userEditing","id","singular","buttonStyle","el","icon","iconStyle","round","to","titleAs"],"sources":["../../../../src/views/Dashboard/Default/index.tsx"],"sourcesContent":["import type { groupNavItems } from '@payloadcms/ui/shared'\nimport type { ClientUser, Permissions, ServerProps, VisibleEntities } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, Card, Gutter, Locked, SetStepNav, SetViewActions } from '@payloadcms/ui'\nimport {\n EntityType,\n formatAdminURL,\n getCreateMappedComponent,\n RenderComponent,\n} from '@payloadcms/ui/shared'\nimport React, { Fragment } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'dashboard'\n\nexport type DashboardProps = {\n globalData: Array<{ data: { _isLocked: boolean; _userEditing: ClientUser | null }; slug: string }>\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 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 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 let lockStatus = null\n let userEditing = null\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 // Find the lock status for the global\n const globalLockData = globalData.find(\n (global) => global.slug === entity.slug,\n )\n if (globalLockData) {\n lockStatus = globalLockData.data._isLocked\n userEditing = globalLockData.data._userEditing\n }\n }\n\n return (\n <li key={entityIndex}>\n <Card\n actions={\n lockStatus && 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: getTranslation(entity.labels.singular, i18n),\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-${entity.slug}`}\n Link={Link}\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","permission","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, Permissions, 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: Permissions\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?.permission\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":[]}