@payloadcms/next 3.0.0-canary.a192632 → 3.0.0-canary.a5aaf21

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 (614) hide show
  1. package/dist/cjs/withPayload.js +111 -0
  2. package/dist/cjs/withPayload.js.map +1 -0
  3. package/dist/config.js +0 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +15 -9
  6. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +100 -35
  8. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +75 -64
  11. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  12. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +31 -35
  13. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
  14. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +15 -12
  15. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
  16. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/index.js +95 -82
  18. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +37 -14
  21. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  22. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  24. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +60 -52
  25. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  26. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentHeader/index.js +24 -23
  28. package/dist/elements/DocumentHeader/index.js.map +1 -1
  29. package/dist/elements/DocumentHeader/index.scss +5 -2
  30. package/dist/elements/DocumentLocked/index.d.ts +12 -0
  31. package/dist/elements/DocumentLocked/index.d.ts.map +1 -0
  32. package/dist/elements/DocumentLocked/index.js +142 -0
  33. package/dist/elements/DocumentLocked/index.js.map +1 -0
  34. package/dist/elements/DocumentLocked/index.scss +37 -0
  35. package/dist/elements/DocumentTakeOver/index.d.ts +8 -0
  36. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -0
  37. package/dist/elements/DocumentTakeOver/index.js +98 -0
  38. package/dist/elements/DocumentTakeOver/index.js.map +1 -0
  39. package/dist/elements/DocumentTakeOver/index.scss +37 -0
  40. package/dist/elements/EmailAndUsername/index.d.ts +1 -1
  41. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  42. package/dist/elements/EmailAndUsername/index.js +107 -75
  43. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  44. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  45. package/dist/elements/LeaveWithoutSaving/index.js +150 -76
  46. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  47. package/dist/elements/LeaveWithoutSaving/index.scss +3 -3
  48. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +2 -1
  49. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  50. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +121 -99
  51. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  52. package/dist/elements/Logo/index.js +37 -22
  53. package/dist/elements/Logo/index.js.map +1 -1
  54. package/dist/elements/Nav/NavHamburger/index.js +41 -13
  55. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  56. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  57. package/dist/elements/Nav/NavWrapper/index.js +48 -14
  58. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  59. package/dist/elements/Nav/NavWrapper/index.scss +9 -1
  60. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  61. package/dist/elements/Nav/index.client.js +149 -76
  62. package/dist/elements/Nav/index.client.js.map +1 -1
  63. package/dist/elements/Nav/index.d.ts.map +1 -1
  64. package/dist/elements/Nav/index.js +57 -51
  65. package/dist/elements/Nav/index.js.map +1 -1
  66. package/dist/elements/Nav/index.scss +9 -2
  67. package/dist/exports/layouts.d.ts +1 -1
  68. package/dist/exports/layouts.d.ts.map +1 -1
  69. package/dist/exports/layouts.js +1 -2
  70. package/dist/exports/layouts.js.map +1 -1
  71. package/dist/exports/routes.js +0 -1
  72. package/dist/exports/routes.js.map +1 -1
  73. package/dist/exports/templates.js +0 -1
  74. package/dist/exports/templates.js.map +1 -1
  75. package/dist/exports/utilities.js +0 -1
  76. package/dist/exports/utilities.js.map +1 -1
  77. package/dist/exports/views.d.ts +1 -1
  78. package/dist/exports/views.d.ts.map +1 -1
  79. package/dist/exports/views.js +1 -2
  80. package/dist/exports/views.js.map +1 -1
  81. package/dist/fetchAPI-multipart/fileFactory.d.ts +2 -1
  82. package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -1
  83. package/dist/fetchAPI-multipart/fileFactory.js +35 -34
  84. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
  85. package/dist/fetchAPI-multipart/handlers.d.ts +1 -1
  86. package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -1
  87. package/dist/fetchAPI-multipart/handlers.js +79 -78
  88. package/dist/fetchAPI-multipart/handlers.js.map +1 -1
  89. package/dist/fetchAPI-multipart/index.d.ts +1 -101
  90. package/dist/fetchAPI-multipart/index.d.ts.map +1 -1
  91. package/dist/fetchAPI-multipart/index.js +33 -31
  92. package/dist/fetchAPI-multipart/index.js.map +1 -1
  93. package/dist/fetchAPI-multipart/isEligibleRequest.js +13 -21
  94. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  95. package/dist/fetchAPI-multipart/processMultipart.d.ts +2 -1
  96. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  97. package/dist/fetchAPI-multipart/processMultipart.js +159 -141
  98. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  99. package/dist/fetchAPI-multipart/processNested.d.ts.map +1 -1
  100. package/dist/fetchAPI-multipart/processNested.js +26 -20
  101. package/dist/fetchAPI-multipart/processNested.js.map +1 -1
  102. package/dist/fetchAPI-multipart/uploadTimer.d.ts.map +1 -1
  103. package/dist/fetchAPI-multipart/uploadTimer.js +18 -17
  104. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
  105. package/dist/fetchAPI-multipart/utilities.d.ts +1 -1
  106. package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -1
  107. package/dist/fetchAPI-multipart/utilities.js +185 -165
  108. package/dist/fetchAPI-multipart/utilities.js.map +1 -1
  109. package/dist/fetchAPI-stream-file/index.js +19 -17
  110. package/dist/fetchAPI-stream-file/index.js.map +1 -1
  111. package/dist/index.js +0 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/layouts/Root/index.d.ts.map +1 -1
  114. package/dist/layouts/Root/index.js +151 -88
  115. package/dist/layouts/Root/index.js.map +1 -1
  116. package/dist/prod/styles.css +1 -1
  117. package/dist/routes/graphql/handler.js +109 -103
  118. package/dist/routes/graphql/handler.js.map +1 -1
  119. package/dist/routes/graphql/index.js +0 -1
  120. package/dist/routes/graphql/index.js.map +1 -1
  121. package/dist/routes/graphql/playground.js +23 -24
  122. package/dist/routes/graphql/playground.js.map +1 -1
  123. package/dist/routes/index.js +0 -1
  124. package/dist/routes/index.js.map +1 -1
  125. package/dist/routes/rest/auth/access.js +22 -21
  126. package/dist/routes/rest/auth/access.js.map +1 -1
  127. package/dist/routes/rest/auth/forgotPassword.js +29 -25
  128. package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
  129. package/dist/routes/rest/auth/init.js +16 -14
  130. package/dist/routes/rest/auth/init.js.map +1 -1
  131. package/dist/routes/rest/auth/login.js +43 -38
  132. package/dist/routes/rest/auth/login.js.map +1 -1
  133. package/dist/routes/rest/auth/logout.js +31 -27
  134. package/dist/routes/rest/auth/logout.js.map +1 -1
  135. package/dist/routes/rest/auth/me.js +23 -21
  136. package/dist/routes/rest/auth/me.js.map +1 -1
  137. package/dist/routes/rest/auth/refresh.js +31 -27
  138. package/dist/routes/rest/auth/refresh.js.map +1 -1
  139. package/dist/routes/rest/auth/registerFirstUser.js +43 -38
  140. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  141. package/dist/routes/rest/auth/resetPassword.js +38 -33
  142. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  143. package/dist/routes/rest/auth/unlock.js +27 -23
  144. package/dist/routes/rest/auth/unlock.js.map +1 -1
  145. package/dist/routes/rest/auth/verifyEmail.js +22 -17
  146. package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
  147. package/dist/routes/rest/buildFormState.js +38 -37
  148. package/dist/routes/rest/buildFormState.js.map +1 -1
  149. package/dist/routes/rest/checkEndpoints.js +11 -9
  150. package/dist/routes/rest/checkEndpoints.js.map +1 -1
  151. package/dist/routes/rest/collections/count.js +15 -11
  152. package/dist/routes/rest/collections/count.js.map +1 -1
  153. package/dist/routes/rest/collections/create.js +30 -26
  154. package/dist/routes/rest/collections/create.js.map +1 -1
  155. package/dist/routes/rest/collections/delete.js +40 -35
  156. package/dist/routes/rest/collections/delete.js.map +1 -1
  157. package/dist/routes/rest/collections/deleteByID.js +36 -31
  158. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  159. package/dist/routes/rest/collections/docAccess.js +17 -14
  160. package/dist/routes/rest/collections/docAccess.js.map +1 -1
  161. package/dist/routes/rest/collections/duplicate.js +36 -31
  162. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  163. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  164. package/dist/routes/rest/collections/find.js +32 -20
  165. package/dist/routes/rest/collections/find.js.map +1 -1
  166. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  167. package/dist/routes/rest/collections/findByID.js +30 -23
  168. package/dist/routes/rest/collections/findByID.js.map +1 -1
  169. package/dist/routes/rest/collections/findVersionByID.js +27 -22
  170. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  171. package/dist/routes/rest/collections/findVersions.js +27 -19
  172. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  173. package/dist/routes/rest/collections/preview.js +39 -34
  174. package/dist/routes/rest/collections/preview.js.map +1 -1
  175. package/dist/routes/rest/collections/restoreVersion.js +32 -27
  176. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  177. package/dist/routes/rest/collections/update.js +43 -37
  178. package/dist/routes/rest/collections/update.js.map +1 -1
  179. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  180. package/dist/routes/rest/collections/updateByID.js +44 -33
  181. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  182. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  183. package/dist/routes/rest/files/checkFileAccess.js +52 -45
  184. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  185. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  186. package/dist/routes/rest/files/getFile.js +56 -49
  187. package/dist/routes/rest/files/getFile.js.map +1 -1
  188. package/dist/routes/rest/files/getFileTypeFallback.js +16 -17
  189. package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -1
  190. package/dist/routes/rest/globals/docAccess.js +15 -13
  191. package/dist/routes/rest/globals/docAccess.js.map +1 -1
  192. package/dist/routes/rest/globals/findOne.js +22 -18
  193. package/dist/routes/rest/globals/findOne.js.map +1 -1
  194. package/dist/routes/rest/globals/findVersionByID.js +22 -17
  195. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  196. package/dist/routes/rest/globals/findVersions.js +27 -19
  197. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  198. package/dist/routes/rest/globals/preview.js +38 -34
  199. package/dist/routes/rest/globals/preview.js.map +1 -1
  200. package/dist/routes/rest/globals/restoreVersion.js +27 -22
  201. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  202. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  203. package/dist/routes/rest/globals/update.js +38 -28
  204. package/dist/routes/rest/globals/update.js.map +1 -1
  205. package/dist/routes/rest/index.d.ts.map +1 -1
  206. package/dist/routes/rest/index.js +679 -626
  207. package/dist/routes/rest/index.js.map +1 -1
  208. package/dist/routes/rest/og/image.d.ts +1 -1
  209. package/dist/routes/rest/og/image.d.ts.map +1 -1
  210. package/dist/routes/rest/og/image.js +74 -76
  211. package/dist/routes/rest/og/image.js.map +1 -1
  212. package/dist/routes/rest/og/index.js +61 -60
  213. package/dist/routes/rest/og/index.js.map +1 -1
  214. package/dist/routes/rest/routeError.js +102 -95
  215. package/dist/routes/rest/routeError.js.map +1 -1
  216. package/dist/routes/rest/types.js +1 -2
  217. package/dist/routes/rest/types.js.map +1 -1
  218. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -1
  219. package/dist/routes/rest/utilities/sanitizeCollectionID.js +18 -11
  220. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
  221. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +13 -0
  222. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -0
  223. package/dist/routes/rest/utilities/sanitizeJoinParams.js +17 -0
  224. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -0
  225. package/dist/scss/app.scss +4 -4
  226. package/dist/scss/toasts.scss +15 -14
  227. package/dist/scss/type.scss +4 -4
  228. package/dist/templates/Default/NavHamburger/index.js +18 -6
  229. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  230. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  231. package/dist/templates/Default/Wrapper/index.js +42 -11
  232. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  233. package/dist/templates/Default/Wrapper/index.scss +36 -5
  234. package/dist/templates/Default/index.d.ts.map +1 -1
  235. package/dist/templates/Default/index.js +71 -50
  236. package/dist/templates/Default/index.js.map +1 -1
  237. package/dist/templates/Default/index.scss +14 -4
  238. package/dist/templates/Minimal/index.js +16 -16
  239. package/dist/templates/Minimal/index.js.map +1 -1
  240. package/dist/templates/Minimal/index.scss +2 -2
  241. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  242. package/dist/utilities/addDataAndFileToRequest.js +40 -35
  243. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  244. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  245. package/dist/utilities/addLocalesToRequest.js +48 -36
  246. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  247. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  248. package/dist/utilities/createPayloadRequest.js +90 -73
  249. package/dist/utilities/createPayloadRequest.js.map +1 -1
  250. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  251. package/dist/utilities/getNextRequestI18n.js +13 -11
  252. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  253. package/dist/utilities/getPayloadHMR.d.ts +2 -2
  254. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  255. package/dist/utilities/getPayloadHMR.js +91 -93
  256. package/dist/utilities/getPayloadHMR.js.map +1 -1
  257. package/dist/utilities/getRequestLanguage.js +16 -13
  258. package/dist/utilities/getRequestLanguage.js.map +1 -1
  259. package/dist/utilities/getRequestLocales.js +27 -24
  260. package/dist/utilities/getRequestLocales.js.map +1 -1
  261. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  262. package/dist/utilities/getRequestTheme.js +16 -16
  263. package/dist/utilities/getRequestTheme.js.map +1 -1
  264. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  265. package/dist/utilities/headersWithCors.js +21 -30
  266. package/dist/utilities/headersWithCors.js.map +1 -1
  267. package/dist/utilities/initPage/handleAdminPage.js +46 -42
  268. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  269. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  270. package/dist/utilities/initPage/handleAuthRedirect.js +47 -32
  271. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  272. package/dist/utilities/initPage/index.d.ts.map +1 -1
  273. package/dist/utilities/initPage/index.js +140 -122
  274. package/dist/utilities/initPage/index.js.map +1 -1
  275. package/dist/utilities/initPage/shared.js +26 -25
  276. package/dist/utilities/initPage/shared.js.map +1 -1
  277. package/dist/utilities/initPage/types.js +1 -2
  278. package/dist/utilities/initPage/types.js.map +1 -1
  279. package/dist/utilities/initReq.d.ts +11 -0
  280. package/dist/utilities/initReq.d.ts.map +1 -0
  281. package/dist/utilities/initReq.js +46 -0
  282. package/dist/utilities/initReq.js.map +1 -0
  283. package/dist/utilities/mergeHeaders.js +8 -9
  284. package/dist/utilities/mergeHeaders.js.map +1 -1
  285. package/dist/utilities/meta.js +66 -65
  286. package/dist/utilities/meta.js.map +1 -1
  287. package/dist/utilities/timestamp.d.ts.map +1 -1
  288. package/dist/utilities/timestamp.js +6 -5
  289. package/dist/utilities/timestamp.js.map +1 -1
  290. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  291. package/dist/views/API/LocaleSelector/index.js +38 -11
  292. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  293. package/dist/views/API/RenderJSON/index.d.ts +1 -1
  294. package/dist/views/API/RenderJSON/index.d.ts.map +1 -1
  295. package/dist/views/API/RenderJSON/index.js +124 -112
  296. package/dist/views/API/RenderJSON/index.js.map +1 -1
  297. package/dist/views/API/index.client.d.ts.map +1 -1
  298. package/dist/views/API/index.client.js +190 -202
  299. package/dist/views/API/index.client.js.map +1 -1
  300. package/dist/views/API/index.js +2 -3
  301. package/dist/views/API/index.js.map +1 -1
  302. package/dist/views/API/meta.d.ts.map +1 -1
  303. package/dist/views/API/meta.js +22 -14
  304. package/dist/views/API/meta.js.map +1 -1
  305. package/dist/views/Account/Settings/LanguageSelector.js +45 -12
  306. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  307. package/dist/views/Account/Settings/index.d.ts +3 -3
  308. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  309. package/dist/views/Account/Settings/index.js +21 -27
  310. package/dist/views/Account/Settings/index.js.map +1 -1
  311. package/dist/views/Account/ToggleTheme/index.js +51 -30
  312. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  313. package/dist/views/Account/index.client.js +32 -16
  314. package/dist/views/Account/index.client.js.map +1 -1
  315. package/dist/views/Account/index.d.ts.map +1 -1
  316. package/dist/views/Account/index.js +100 -69
  317. package/dist/views/Account/index.js.map +1 -1
  318. package/dist/views/Account/meta.js +12 -8
  319. package/dist/views/Account/meta.js.map +1 -1
  320. package/dist/views/CreateFirstUser/index.client.d.ts +1 -1
  321. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  322. package/dist/views/CreateFirstUser/index.client.js +98 -57
  323. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  324. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  325. package/dist/views/CreateFirstUser/index.js +42 -28
  326. package/dist/views/CreateFirstUser/index.js.map +1 -1
  327. package/dist/views/CreateFirstUser/index.scss +10 -0
  328. package/dist/views/CreateFirstUser/meta.js +12 -8
  329. package/dist/views/CreateFirstUser/meta.js.map +1 -1
  330. package/dist/views/Dashboard/Default/index.d.ts +8 -1
  331. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  332. package/dist/views/Dashboard/Default/index.js +146 -117
  333. package/dist/views/Dashboard/Default/index.js.map +1 -1
  334. package/dist/views/Dashboard/Default/index.scss +5 -0
  335. package/dist/views/Dashboard/index.d.ts.map +1 -1
  336. package/dist/views/Dashboard/index.js +76 -52
  337. package/dist/views/Dashboard/index.js.map +1 -1
  338. package/dist/views/Dashboard/meta.js +16 -12
  339. package/dist/views/Dashboard/meta.js.map +1 -1
  340. package/dist/views/Document/getCustomViewByKey.js +2 -3
  341. package/dist/views/Document/getCustomViewByKey.js.map +1 -1
  342. package/dist/views/Document/getCustomViewByRoute.d.ts +4 -1
  343. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  344. package/dist/views/Document/getCustomViewByRoute.js +30 -17
  345. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  346. package/dist/views/Document/getDocumentData.d.ts +5 -2
  347. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  348. package/dist/views/Document/getDocumentData.js +45 -28
  349. package/dist/views/Document/getDocumentData.js.map +1 -1
  350. package/dist/views/Document/getDocumentPermissions.js +83 -74
  351. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  352. package/dist/views/Document/getMetaBySegment.d.ts +4 -3
  353. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  354. package/dist/views/Document/getMetaBySegment.js +114 -63
  355. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  356. package/dist/views/Document/getViewsFromConfig.d.ts +9 -3
  357. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  358. package/dist/views/Document/getViewsFromConfig.js +308 -301
  359. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  360. package/dist/views/Document/index.d.ts.map +1 -1
  361. package/dist/views/Document/index.js +194 -161
  362. package/dist/views/Document/index.js.map +1 -1
  363. package/dist/views/Document/meta.js +1 -2
  364. package/dist/views/Document/meta.js.map +1 -1
  365. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  366. package/dist/views/Edit/Default/Auth/APIKey.js +118 -131
  367. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  368. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  369. package/dist/views/Edit/Default/Auth/index.js +293 -194
  370. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  371. package/dist/views/Edit/Default/Auth/types.d.ts +1 -1
  372. package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
  373. package/dist/views/Edit/Default/Auth/types.js +1 -2
  374. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  375. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
  376. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +121 -70
  377. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  378. package/dist/views/Edit/Default/SetDocumentTitle/index.js +74 -29
  379. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +1 -1
  380. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  381. package/dist/views/Edit/Default/index.js +354 -179
  382. package/dist/views/Edit/Default/index.js.map +1 -1
  383. package/dist/views/Edit/Default/types.js +1 -2
  384. package/dist/views/Edit/Default/types.js.map +1 -1
  385. package/dist/views/Edit/index.client.js +45 -21
  386. package/dist/views/Edit/index.client.js.map +1 -1
  387. package/dist/views/Edit/index.js +2 -3
  388. package/dist/views/Edit/index.js.map +1 -1
  389. package/dist/views/Edit/meta.d.ts.map +1 -1
  390. package/dist/views/Edit/meta.js +43 -24
  391. package/dist/views/Edit/meta.js.map +1 -1
  392. package/dist/views/Edit/sanitizeEditViewProps.js +8 -9
  393. package/dist/views/Edit/sanitizeEditViewProps.js.map +1 -1
  394. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +154 -94
  395. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  396. package/dist/views/ForgotPassword/index.js +59 -46
  397. package/dist/views/ForgotPassword/index.js.map +1 -1
  398. package/dist/views/ForgotPassword/meta.js +12 -8
  399. package/dist/views/ForgotPassword/meta.js.map +1 -1
  400. package/dist/views/List/Default/index.d.ts.map +1 -1
  401. package/dist/views/List/Default/index.js +374 -196
  402. package/dist/views/List/Default/index.js.map +1 -1
  403. package/dist/views/List/Default/index.scss +5 -13
  404. package/dist/views/List/Default/types.js +1 -2
  405. package/dist/views/List/Default/types.js.map +1 -1
  406. package/dist/views/List/index.d.ts.map +1 -1
  407. package/dist/views/List/index.js +155 -138
  408. package/dist/views/List/index.js.map +1 -1
  409. package/dist/views/List/meta.js +20 -17
  410. package/dist/views/List/meta.js.map +1 -1
  411. package/dist/views/LivePreview/Context/collisionDetection.js +24 -21
  412. package/dist/views/LivePreview/Context/collisionDetection.js.map +1 -1
  413. package/dist/views/LivePreview/Context/context.d.ts +3 -2
  414. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  415. package/dist/views/LivePreview/Context/context.js +39 -36
  416. package/dist/views/LivePreview/Context/context.js.map +1 -1
  417. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  418. package/dist/views/LivePreview/Context/index.js +136 -142
  419. package/dist/views/LivePreview/Context/index.js.map +1 -1
  420. package/dist/views/LivePreview/Context/sizeReducer.js +18 -19
  421. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  422. package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
  423. package/dist/views/LivePreview/Device/index.js +82 -71
  424. package/dist/views/LivePreview/Device/index.js.map +1 -1
  425. package/dist/views/LivePreview/DeviceContainer/index.js +47 -23
  426. package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
  427. package/dist/views/LivePreview/IFrame/index.js +21 -16
  428. package/dist/views/LivePreview/IFrame/index.js.map +1 -1
  429. package/dist/views/LivePreview/Preview/index.js +145 -92
  430. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  431. package/dist/views/LivePreview/Toolbar/Controls/index.js +137 -116
  432. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  433. package/dist/views/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  434. package/dist/views/LivePreview/Toolbar/SizeInput/index.js +89 -51
  435. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  436. package/dist/views/LivePreview/Toolbar/index.js +82 -50
  437. package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
  438. package/dist/views/LivePreview/ToolbarArea/index.js +32 -10
  439. package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
  440. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  441. package/dist/views/LivePreview/index.client.js +319 -160
  442. package/dist/views/LivePreview/index.client.js.map +1 -1
  443. package/dist/views/LivePreview/index.js +67 -55
  444. package/dist/views/LivePreview/index.js.map +1 -1
  445. package/dist/views/LivePreview/meta.d.ts.map +1 -1
  446. package/dist/views/LivePreview/meta.js +14 -8
  447. package/dist/views/LivePreview/meta.js.map +1 -1
  448. package/dist/views/LivePreview/usePopupWindow.d.ts +1 -1
  449. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  450. package/dist/views/LivePreview/usePopupWindow.js +133 -91
  451. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  452. package/dist/views/Login/LoginField/index.js +83 -39
  453. package/dist/views/Login/LoginField/index.js.map +1 -1
  454. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  455. package/dist/views/Login/LoginForm/index.js +147 -67
  456. package/dist/views/Login/LoginForm/index.js.map +1 -1
  457. package/dist/views/Login/index.d.ts.map +1 -1
  458. package/dist/views/Login/index.js +78 -55
  459. package/dist/views/Login/index.js.map +1 -1
  460. package/dist/views/Login/meta.js +12 -8
  461. package/dist/views/Login/meta.js.map +1 -1
  462. package/dist/views/Logout/LogoutClient.d.ts +1 -0
  463. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  464. package/dist/views/Logout/LogoutClient.js +86 -39
  465. package/dist/views/Logout/LogoutClient.js.map +1 -1
  466. package/dist/views/Logout/index.d.ts.map +1 -1
  467. package/dist/views/Logout/index.js +29 -16
  468. package/dist/views/Logout/index.js.map +1 -1
  469. package/dist/views/Logout/index.scss +12 -9
  470. package/dist/views/Logout/meta.js +11 -7
  471. package/dist/views/Logout/meta.js.map +1 -1
  472. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  473. package/dist/views/NotFound/index.client.js +81 -40
  474. package/dist/views/NotFound/index.client.js.map +1 -1
  475. package/dist/views/NotFound/index.d.ts.map +1 -1
  476. package/dist/views/NotFound/index.js +47 -37
  477. package/dist/views/NotFound/index.js.map +1 -1
  478. package/dist/views/NotFound/index.scss +18 -0
  479. package/dist/views/NotFound/meta.js +9 -7
  480. package/dist/views/NotFound/meta.js.map +1 -1
  481. package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
  482. package/dist/views/ResetPassword/index.client.js +101 -60
  483. package/dist/views/ResetPassword/index.client.js.map +1 -1
  484. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  485. package/dist/views/ResetPassword/index.js +65 -56
  486. package/dist/views/ResetPassword/index.js.map +1 -1
  487. package/dist/views/ResetPassword/index.scss +28 -2
  488. package/dist/views/ResetPassword/meta.js +12 -8
  489. package/dist/views/ResetPassword/meta.js.map +1 -1
  490. package/dist/views/Root/generateCustomViewMetadata.d.ts +11 -0
  491. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -0
  492. package/dist/views/Root/generateCustomViewMetadata.js +25 -0
  493. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -0
  494. package/dist/views/Root/getCustomViewByRoute.d.ts +6 -2
  495. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  496. package/dist/views/Root/getCustomViewByRoute.js +42 -16
  497. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  498. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  499. package/dist/views/Root/getViewFromConfig.js +164 -158
  500. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  501. package/dist/views/Root/index.js +100 -83
  502. package/dist/views/Root/index.js.map +1 -1
  503. package/dist/views/Root/isPathMatchingRoute.d.ts.map +1 -1
  504. package/dist/views/Root/isPathMatchingRoute.js +22 -13
  505. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  506. package/dist/views/Root/meta.d.ts.map +1 -1
  507. package/dist/views/Root/meta.js +143 -121
  508. package/dist/views/Root/meta.js.map +1 -1
  509. package/dist/views/Unauthorized/index.js +32 -22
  510. package/dist/views/Unauthorized/index.js.map +1 -1
  511. package/dist/views/Unauthorized/meta.js +12 -8
  512. package/dist/views/Unauthorized/meta.js.map +1 -1
  513. package/dist/views/Verify/index.d.ts.map +1 -1
  514. package/dist/views/Verify/index.js +59 -43
  515. package/dist/views/Verify/index.js.map +1 -1
  516. package/dist/views/Verify/meta.js +12 -8
  517. package/dist/views/Verify/meta.js.map +1 -1
  518. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  519. package/dist/views/Version/Default/SetStepNav.js +147 -103
  520. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  521. package/dist/views/Version/Default/index.d.ts.map +1 -1
  522. package/dist/views/Version/Default/index.js +200 -114
  523. package/dist/views/Version/Default/index.js.map +1 -1
  524. package/dist/views/Version/Default/types.js +1 -2
  525. package/dist/views/Version/Default/types.js.map +1 -1
  526. package/dist/views/Version/RenderFieldsToDiff/Label/index.js +6 -5
  527. package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
  528. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  529. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +68 -70
  530. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  531. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
  532. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +35 -32
  533. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  534. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +108 -78
  535. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  536. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +17 -11
  537. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
  538. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  539. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +42 -38
  540. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  541. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  542. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +42 -32
  543. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  544. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +17 -11
  545. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
  546. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  547. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +39 -30
  548. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  549. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js +4 -5
  550. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -1
  551. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +2 -2
  552. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +20 -21
  553. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  554. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +23 -24
  555. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -1
  556. package/dist/views/Version/RenderFieldsToDiff/fields/types.js +1 -2
  557. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  558. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  559. package/dist/views/Version/RenderFieldsToDiff/index.js +106 -97
  560. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  561. package/dist/views/Version/RenderFieldsToDiff/types.js +1 -2
  562. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  563. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  564. package/dist/views/Version/Restore/index.js +116 -111
  565. package/dist/views/Version/Restore/index.js.map +1 -1
  566. package/dist/views/Version/Restore/index.scss +26 -10
  567. package/dist/views/Version/Restore/types.js +1 -2
  568. package/dist/views/Version/Restore/types.js.map +1 -1
  569. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  570. package/dist/views/Version/SelectComparison/index.js +153 -138
  571. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  572. package/dist/views/Version/SelectComparison/types.d.ts +1 -0
  573. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  574. package/dist/views/Version/SelectComparison/types.js +1 -2
  575. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  576. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  577. package/dist/views/Version/SelectLocales/index.js +58 -30
  578. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  579. package/dist/views/Version/SelectLocales/types.js +1 -2
  580. package/dist/views/Version/SelectLocales/types.js.map +1 -1
  581. package/dist/views/Version/index.js +126 -105
  582. package/dist/views/Version/index.js.map +1 -1
  583. package/dist/views/Version/meta.d.ts.map +1 -1
  584. package/dist/views/Version/meta.js +50 -39
  585. package/dist/views/Version/meta.js.map +1 -1
  586. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  587. package/dist/views/Versions/buildColumns.js +95 -75
  588. package/dist/views/Versions/buildColumns.js.map +1 -1
  589. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  590. package/dist/views/Versions/cells/AutosaveCell/index.js +98 -43
  591. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  592. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  593. package/dist/views/Versions/cells/CreatedAt/index.js +70 -17
  594. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  595. package/dist/views/Versions/cells/ID/index.js +17 -5
  596. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  597. package/dist/views/Versions/getLatestVersion.js +33 -29
  598. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  599. package/dist/views/Versions/index.client.js +80 -77
  600. package/dist/views/Versions/index.client.js.map +1 -1
  601. package/dist/views/Versions/index.d.ts.map +1 -1
  602. package/dist/views/Versions/index.js +168 -126
  603. package/dist/views/Versions/index.js.map +1 -1
  604. package/dist/views/Versions/meta.d.ts.map +1 -1
  605. package/dist/views/Versions/meta.js +44 -33
  606. package/dist/views/Versions/meta.js.map +1 -1
  607. package/dist/views/Versions/types.js +1 -2
  608. package/dist/views/Versions/types.js.map +1 -1
  609. package/dist/withPayload.d.ts.map +1 -1
  610. package/dist/withPayload.js +83 -117
  611. package/dist/withPayload.js.map +1 -1
  612. package/package.json +38 -20
  613. package/dist/cjs/withPayload.cjs +0 -145
  614. package/dist/cjs/withPayload.cjs.map +0 -1
@@ -1,9 +1,12 @@
1
1
  'use client';
2
+
2
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
4
  import { DocumentControls, DocumentFields, Form, OperationProvider, RenderComponent, Upload, useAuth, useConfig, useDocumentEvents, useDocumentInfo, useEditDepth, useUploadEdits } from '@payloadcms/ui';
4
5
  import { formatAdminURL, getFormState } from '@payloadcms/ui/shared';
5
6
  import { useRouter, useSearchParams } from 'next/navigation.js';
6
- import React, { Fragment, useCallback, useState } from 'react';
7
+ import React, { Fragment, useCallback, useEffect, useRef, useState } from 'react';
8
+ import { DocumentLocked } from '../../../elements/DocumentLocked/index.js';
9
+ import { DocumentTakeOver } from '../../../elements/DocumentTakeOver/index.js';
7
10
  import { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js';
8
11
  import { Auth } from './Auth/index.js';
9
12
  import { SetDocumentStepNav } from './SetDocumentStepNav/index.js';
@@ -12,191 +15,363 @@ const baseClass = 'collection-edit';
12
15
  // This component receives props only on _pages_
13
16
  // When rendered within a drawer, props are empty
14
17
  // This is solely to support custom edit views which get server-rendered
15
- export const DefaultEditView = ()=>{
16
- const { id, AfterDocument, AfterFields, BeforeDocument, BeforeFields, action, apiURL, collectionSlug, disableActions, disableLeaveWithoutSaving, docPermissions, getDocPreferences, getVersions, globalSlug, hasPublishPermission, hasSavePermission, initialData: data, initialState, isEditing, isInitializing, onSave: onSaveFromContext } = useDocumentInfo();
17
- const { refreshCookieAsync, user } = useAuth();
18
- const { config, config: { admin: { user: userSlug }, routes: { admin: adminRoute, api: apiRoute }, serverURL }, getEntityConfig } = useConfig();
19
- const router = useRouter();
20
- const depth = useEditDepth();
21
- const params = useSearchParams();
22
- const { reportUpdate } = useDocumentEvents();
23
- const { resetUploadEdits } = useUploadEdits();
24
- const locale = params.get('locale');
25
- const collectionConfig = getEntityConfig({
26
- collectionSlug
18
+ export const DefaultEditView = () => {
19
+ const {
20
+ id,
21
+ action,
22
+ AfterDocument,
23
+ AfterFields,
24
+ apiURL,
25
+ BeforeDocument,
26
+ BeforeFields,
27
+ collectionSlug,
28
+ currentEditor,
29
+ disableActions,
30
+ disableCreate,
31
+ disableLeaveWithoutSaving,
32
+ docPermissions,
33
+ documentIsLocked,
34
+ getDocPreferences,
35
+ getVersions,
36
+ globalSlug,
37
+ hasPublishPermission,
38
+ hasSavePermission,
39
+ initialData: data,
40
+ initialState,
41
+ isEditing,
42
+ isInitializing,
43
+ onDelete,
44
+ onDrawerCreate,
45
+ onDuplicate,
46
+ onSave: onSaveFromContext,
47
+ redirectAfterDelete,
48
+ redirectAfterDuplicate,
49
+ setCurrentEditor,
50
+ setDocumentIsLocked,
51
+ unlockDocument,
52
+ updateDocumentEditor
53
+ } = useDocumentInfo();
54
+ const {
55
+ refreshCookieAsync,
56
+ user
57
+ } = useAuth();
58
+ const {
59
+ config,
60
+ config: {
61
+ admin: {
62
+ user: userSlug
63
+ },
64
+ routes: {
65
+ admin: adminRoute,
66
+ api: apiRoute
67
+ },
68
+ serverURL
69
+ },
70
+ getEntityConfig
71
+ } = useConfig();
72
+ const router = useRouter();
73
+ const depth = useEditDepth();
74
+ const params = useSearchParams();
75
+ const {
76
+ reportUpdate
77
+ } = useDocumentEvents();
78
+ const {
79
+ resetUploadEdits
80
+ } = useUploadEdits();
81
+ const locale = params.get('locale');
82
+ const collectionConfig = getEntityConfig({
83
+ collectionSlug
84
+ });
85
+ const globalConfig = getEntityConfig({
86
+ globalSlug
87
+ });
88
+ const entitySlug = collectionConfig?.slug || globalConfig?.slug;
89
+ const operation = collectionSlug && !id ? 'create' : 'update';
90
+ const auth = collectionConfig ? collectionConfig.auth : undefined;
91
+ const upload = collectionConfig ? collectionConfig.upload : undefined;
92
+ const docConfig = collectionConfig || globalConfig;
93
+ const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true;
94
+ const isLockingEnabled = lockDocumentsProp !== false;
95
+ const preventLeaveWithoutSaving = (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) || !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) && !disableLeaveWithoutSaving;
96
+ const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false);
97
+ const [showTakeOverModal, setShowTakeOverModal] = useState(false);
98
+ const documentLockStateRef = useRef({
99
+ hasShownLockedModal: false,
100
+ isLocked: false,
101
+ user: null
102
+ });
103
+ const [lastUpdateTime, setLastUpdateTime] = useState(Date.now());
104
+ const classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`];
105
+ if (globalSlug) {
106
+ classes.push(`global-edit--${globalSlug}`);
107
+ }
108
+ if (collectionSlug) {
109
+ classes.push(`collection-edit--${collectionSlug}`);
110
+ }
111
+ const [schemaPath, setSchemaPath] = useState(() => {
112
+ if (operation === 'create' && auth && !auth.disableLocalStrategy) {
113
+ return `_${entitySlug}.auth`;
114
+ }
115
+ return entitySlug;
116
+ });
117
+ const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {
118
+ if (operation === 'create' && auth && !auth.disableLocalStrategy) {
119
+ return true;
120
+ }
121
+ return false;
122
+ });
123
+ const handleTakeOver = useCallback(() => {
124
+ if (!isLockingEnabled) {
125
+ return;
126
+ }
127
+ try {
128
+ // Call updateDocumentEditor to update the document's owner to the current user
129
+ void updateDocumentEditor(id, collectionSlug ?? globalSlug, user);
130
+ documentLockStateRef.current.hasShownLockedModal = true;
131
+ // Update the locked state to reflect the current user as the owner
132
+ documentLockStateRef.current = {
133
+ hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal,
134
+ isLocked: true,
135
+ user
136
+ };
137
+ setCurrentEditor(user);
138
+ } catch (error) {
139
+ // eslint-disable-next-line no-console
140
+ console.error('Error during document takeover:', error);
141
+ }
142
+ }, [updateDocumentEditor, id, collectionSlug, globalSlug, user, setCurrentEditor, isLockingEnabled]);
143
+ const handleTakeOverWithinDoc = useCallback(() => {
144
+ if (!isLockingEnabled) {
145
+ return;
146
+ }
147
+ try {
148
+ // Call updateDocumentEditor to update the document's owner to the current user
149
+ void updateDocumentEditor(id, collectionSlug ?? globalSlug, user);
150
+ // Update the locked state to reflect the current user as the owner
151
+ documentLockStateRef.current = {
152
+ hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal,
153
+ isLocked: true,
154
+ user
155
+ };
156
+ setCurrentEditor(user);
157
+ // Ensure the document is editable for the incoming user
158
+ setIsReadOnlyForIncomingUser(false);
159
+ } catch (error_0) {
160
+ // eslint-disable-next-line no-console
161
+ console.error('Error during document takeover:', error_0);
162
+ }
163
+ }, [updateDocumentEditor, id, collectionSlug, globalSlug, user, setCurrentEditor, isLockingEnabled]);
164
+ const handleGoBack = useCallback(() => {
165
+ const redirectRoute = formatAdminURL({
166
+ adminRoute,
167
+ path: collectionSlug ? `/collections/${collectionSlug}` : '/'
27
168
  });
28
- const globalConfig = getEntityConfig({
29
- globalSlug
169
+ router.push(redirectRoute);
170
+ }, [adminRoute, collectionSlug, router]);
171
+ const handleBackToDashboard = useCallback(() => {
172
+ setShowTakeOverModal(false);
173
+ const redirectRoute_0 = formatAdminURL({
174
+ adminRoute,
175
+ path: '/'
30
176
  });
31
- const entitySlug = collectionConfig?.slug || globalConfig?.slug;
32
- const operation = collectionSlug && !id ? 'create' : 'update';
33
- const auth = collectionConfig ? collectionConfig.auth : undefined;
34
- const upload = collectionConfig ? collectionConfig.upload : undefined;
35
- const preventLeaveWithoutSaving = (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) || !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) && !disableLeaveWithoutSaving;
36
- const classes = [
37
- baseClass,
38
- id && `${baseClass}--is-editing`
39
- ];
40
- if (globalSlug) classes.push(`global-edit--${globalSlug}`);
41
- if (collectionSlug) classes.push(`collection-edit--${collectionSlug}`);
42
- const [schemaPath, setSchemaPath] = React.useState(entitySlug);
43
- const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(()=>{
44
- if (operation === 'create' && collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) return true;
45
- return false;
177
+ router.push(redirectRoute_0);
178
+ }, [adminRoute, router]);
179
+ const onSave = useCallback(json => {
180
+ reportUpdate({
181
+ id,
182
+ entitySlug,
183
+ updatedAt: json?.result?.updatedAt || new Date().toISOString()
46
184
  });
47
- const onSave = useCallback((json)=>{
48
- reportUpdate({
49
- id,
50
- entitySlug,
51
- updatedAt: json?.result?.updatedAt || new Date().toISOString()
52
- });
53
- // If we're editing the doc of the logged-in user,
54
- // Refresh the cookie to get new permissions
55
- if (user && collectionSlug === userSlug && id === user.id) {
56
- void refreshCookieAsync();
57
- }
58
- void getVersions();
59
- if (typeof onSaveFromContext === 'function') {
60
- void onSaveFromContext({
61
- ...json,
62
- operation: id ? 'update' : 'create'
63
- });
64
- }
65
- if (!isEditing && depth < 2) {
66
- // Redirect to the same locale if it's been set
67
- const redirectRoute = formatAdminURL({
68
- adminRoute,
69
- path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`
70
- });
71
- router.push(redirectRoute);
72
- } else {
73
- resetUploadEdits();
74
- }
75
- }, [
76
- onSaveFromContext,
77
- userSlug,
78
- reportUpdate,
79
- id,
80
- entitySlug,
81
- user,
82
- depth,
83
- collectionSlug,
84
- getVersions,
85
- isEditing,
86
- refreshCookieAsync,
185
+ // If we're editing the doc of the logged-in user,
186
+ // Refresh the cookie to get new permissions
187
+ if (user && collectionSlug === userSlug && id === user.id) {
188
+ void refreshCookieAsync();
189
+ }
190
+ void getVersions();
191
+ if (typeof onSaveFromContext === 'function') {
192
+ void onSaveFromContext({
193
+ ...json,
194
+ operation: id ? 'update' : 'create'
195
+ });
196
+ }
197
+ // Unlock the document after save
198
+ if ((id || globalSlug) && isLockingEnabled) {
199
+ setDocumentIsLocked(false);
200
+ }
201
+ if (!isEditing && depth < 2) {
202
+ // Redirect to the same locale if it's been set
203
+ const redirectRoute_1 = formatAdminURL({
87
204
  adminRoute,
88
- router,
89
- locale,
90
- resetUploadEdits
91
- ]);
92
- const onChange = useCallback(async ({ formState: prevFormState })=>{
93
- const docPreferences = await getDocPreferences();
94
- return getFormState({
95
- apiRoute,
96
- body: {
97
- id,
98
- collectionSlug,
99
- docPreferences,
100
- formState: prevFormState,
101
- globalSlug,
102
- operation,
103
- schemaPath
104
- },
105
- serverURL
106
- });
107
- }, [
108
- apiRoute,
205
+ path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`
206
+ });
207
+ router.push(redirectRoute_1);
208
+ } else {
209
+ resetUploadEdits();
210
+ }
211
+ }, [onSaveFromContext, userSlug, reportUpdate, id, entitySlug, user, depth, collectionSlug, getVersions, isEditing, refreshCookieAsync, adminRoute, router, locale, resetUploadEdits, globalSlug, isLockingEnabled, setDocumentIsLocked]);
212
+ const onChange = useCallback(async ({
213
+ formState: prevFormState
214
+ }) => {
215
+ const currentTime = Date.now();
216
+ const timeSinceLastUpdate = currentTime - lastUpdateTime;
217
+ const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds
218
+ ;
219
+ if (updateLastEdited) {
220
+ setLastUpdateTime(currentTime);
221
+ }
222
+ const docPreferences = await getDocPreferences();
223
+ const {
224
+ lockedState,
225
+ state
226
+ } = await getFormState({
227
+ apiRoute,
228
+ body: {
229
+ id,
109
230
  collectionSlug,
110
- schemaPath,
111
- getDocPreferences,
231
+ docPreferences,
232
+ formState: prevFormState,
112
233
  globalSlug,
113
- id,
114
234
  operation,
115
- serverURL
116
- ]);
117
- return /*#__PURE__*/ _jsx("main", {
118
- className: classes.filter(Boolean).join(' '),
119
- children: /*#__PURE__*/ _jsx(OperationProvider, {
120
- operation: operation,
121
- children: /*#__PURE__*/ _jsxs(Form, {
122
- action: action,
123
- className: `${baseClass}__form`,
124
- disableValidationOnSubmit: !validateBeforeSubmit,
125
- disabled: isInitializing || !hasSavePermission,
126
- initialState: !isInitializing && initialState,
127
- isInitializing: isInitializing,
128
- method: id ? 'PATCH' : 'POST',
129
- onChange: [
130
- onChange
131
- ],
132
- onSuccess: onSave,
133
- children: [
134
- BeforeDocument,
135
- preventLeaveWithoutSaving && /*#__PURE__*/ _jsx(LeaveWithoutSaving, {}),
136
- /*#__PURE__*/ _jsx(SetDocumentStepNav, {
137
- collectionSlug: collectionConfig?.slug,
138
- globalSlug: globalConfig?.slug,
139
- id: id,
140
- pluralLabel: collectionConfig?.labels?.plural,
141
- useAsTitle: collectionConfig?.admin?.useAsTitle
142
- }),
143
- /*#__PURE__*/ _jsx(SetDocumentTitle, {
144
- collectionConfig: collectionConfig,
145
- config: config,
146
- fallback: depth <= 1 ? id?.toString() : undefined,
147
- globalConfig: globalConfig
148
- }),
149
- /*#__PURE__*/ _jsx(DocumentControls, {
150
- apiURL: apiURL,
151
- data: data,
152
- disableActions: disableActions,
153
- hasPublishPermission: hasPublishPermission,
154
- hasSavePermission: hasSavePermission,
155
- id: id,
156
- isEditing: isEditing,
157
- permissions: docPermissions,
158
- slug: collectionConfig?.slug || globalConfig?.slug
159
- }),
160
- /*#__PURE__*/ _jsx(DocumentFields, {
161
- AfterFields: AfterFields,
162
- BeforeFields: BeforeFields || /*#__PURE__*/ _jsxs(Fragment, {
163
- children: [
164
- auth && /*#__PURE__*/ _jsx(Auth, {
165
- className: `${baseClass}__auth`,
166
- collectionSlug: collectionConfig.slug,
167
- disableLocalStrategy: collectionConfig.auth?.disableLocalStrategy,
168
- email: data?.email,
169
- loginWithUsername: auth?.loginWithUsername,
170
- operation: operation,
171
- readOnly: !hasSavePermission,
172
- requirePassword: !id,
173
- setSchemaPath: setSchemaPath,
174
- setValidateBeforeSubmit: setValidateBeforeSubmit,
175
- useAPIKey: auth.useAPIKey,
176
- username: data?.username,
177
- verify: auth.verify
178
- }),
179
- upload && /*#__PURE__*/ _jsx(React.Fragment, {
180
- children: collectionConfig?.admin?.components?.edit?.Upload ? /*#__PURE__*/ _jsx(RenderComponent, {
181
- mappedComponent: collectionConfig.admin.components.edit.Upload
182
- }) : /*#__PURE__*/ _jsx(Upload, {
183
- collectionSlug: collectionConfig.slug,
184
- initialState: initialState,
185
- uploadConfig: upload
186
- })
187
- })
188
- ]
189
- }),
190
- docPermissions: docPermissions,
191
- fields: (collectionConfig || globalConfig)?.fields,
192
- readOnly: !hasSavePermission,
193
- schemaPath: schemaPath
194
- }),
195
- AfterDocument
196
- ]
197
- })
198
- })
235
+ returnLockStatus: isLockingEnabled ? true : false,
236
+ schemaPath,
237
+ updateLastEdited
238
+ },
239
+ serverURL
199
240
  });
241
+ setDocumentIsLocked(true);
242
+ if (isLockingEnabled) {
243
+ const previousOwnerId = documentLockStateRef.current?.user?.id;
244
+ if (lockedState) {
245
+ if (!documentLockStateRef.current || lockedState.user.id !== previousOwnerId) {
246
+ if (previousOwnerId === user.id && lockedState.user.id !== user.id) {
247
+ setShowTakeOverModal(true);
248
+ documentLockStateRef.current.hasShownLockedModal = true;
249
+ }
250
+ documentLockStateRef.current = documentLockStateRef.current = {
251
+ hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,
252
+ isLocked: true,
253
+ user: lockedState.user
254
+ };
255
+ setCurrentEditor(lockedState.user);
256
+ }
257
+ }
258
+ }
259
+ return state;
260
+ }, [apiRoute, collectionSlug, schemaPath, getDocPreferences, globalSlug, id, operation, serverURL, user, documentLockStateRef, setCurrentEditor, isLockingEnabled, setDocumentIsLocked, lastUpdateTime]);
261
+ // Clean up when the component unmounts or when the document is unlocked
262
+ useEffect(() => {
263
+ return () => {
264
+ if (!isLockingEnabled) {
265
+ return;
266
+ }
267
+ if ((id || globalSlug) && documentIsLocked) {
268
+ // Check if this user is still the current editor
269
+ if (documentLockStateRef.current?.user?.id === user.id) {
270
+ void unlockDocument(id, collectionSlug ?? globalSlug);
271
+ setDocumentIsLocked(false);
272
+ setCurrentEditor(null);
273
+ }
274
+ }
275
+ setShowTakeOverModal(false);
276
+ };
277
+ }, [collectionSlug, globalSlug, id, unlockDocument, user.id, setCurrentEditor, isLockingEnabled, documentIsLocked, setDocumentIsLocked]);
278
+ const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && currentEditor.id !== user.id && !isReadOnlyForIncomingUser && !showTakeOverModal && !documentLockStateRef.current?.hasShownLockedModal;
279
+ return /*#__PURE__*/_jsx("main", {
280
+ className: classes.filter(Boolean).join(' '),
281
+ children: /*#__PURE__*/_jsx(OperationProvider, {
282
+ operation: operation,
283
+ children: /*#__PURE__*/_jsxs(Form, {
284
+ action: action,
285
+ className: `${baseClass}__form`,
286
+ disabled: isReadOnlyForIncomingUser || isInitializing || !hasSavePermission,
287
+ disableValidationOnSubmit: !validateBeforeSubmit,
288
+ initialState: !isInitializing && initialState,
289
+ isInitializing: isInitializing,
290
+ method: id ? 'PATCH' : 'POST',
291
+ onChange: [onChange],
292
+ onSuccess: onSave,
293
+ children: [BeforeDocument, isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && /*#__PURE__*/_jsx(DocumentLocked, {
294
+ handleGoBack: handleGoBack,
295
+ isActive: shouldShowDocumentLockedModal,
296
+ onReadOnly: () => {
297
+ setIsReadOnlyForIncomingUser(true);
298
+ setShowTakeOverModal(false);
299
+ },
300
+ onTakeOver: handleTakeOver,
301
+ updatedAt: lastUpdateTime,
302
+ user: currentEditor
303
+ }), isLockingEnabled && showTakeOverModal && /*#__PURE__*/_jsx(DocumentTakeOver, {
304
+ handleBackToDashboard: handleBackToDashboard,
305
+ isActive: showTakeOverModal,
306
+ onReadOnly: () => {
307
+ setIsReadOnlyForIncomingUser(true);
308
+ setShowTakeOverModal(false);
309
+ }
310
+ }), !isReadOnlyForIncomingUser && preventLeaveWithoutSaving && /*#__PURE__*/_jsx(LeaveWithoutSaving, {}), /*#__PURE__*/_jsx(SetDocumentStepNav, {
311
+ collectionSlug: collectionConfig?.slug,
312
+ globalSlug: globalConfig?.slug,
313
+ id: id,
314
+ pluralLabel: collectionConfig?.labels?.plural,
315
+ useAsTitle: collectionConfig?.admin?.useAsTitle
316
+ }), /*#__PURE__*/_jsx(SetDocumentTitle, {
317
+ collectionConfig: collectionConfig,
318
+ config: config,
319
+ fallback: depth <= 1 ? id?.toString() : undefined,
320
+ globalConfig: globalConfig
321
+ }), /*#__PURE__*/_jsx(DocumentControls, {
322
+ apiURL: apiURL,
323
+ data: data,
324
+ disableActions: disableActions,
325
+ disableCreate: disableCreate,
326
+ hasPublishPermission: hasPublishPermission,
327
+ hasSavePermission: hasSavePermission,
328
+ id: id,
329
+ isEditing: isEditing,
330
+ onDelete: onDelete,
331
+ onDrawerCreate: onDrawerCreate,
332
+ onDuplicate: onDuplicate,
333
+ onSave: onSave,
334
+ onTakeOver: handleTakeOverWithinDoc,
335
+ permissions: docPermissions,
336
+ readOnlyForIncomingUser: isReadOnlyForIncomingUser,
337
+ redirectAfterDelete: redirectAfterDelete,
338
+ redirectAfterDuplicate: redirectAfterDuplicate,
339
+ slug: collectionConfig?.slug || globalConfig?.slug,
340
+ user: currentEditor
341
+ }), /*#__PURE__*/_jsx(DocumentFields, {
342
+ AfterFields: AfterFields,
343
+ BeforeFields: BeforeFields || /*#__PURE__*/_jsxs(Fragment, {
344
+ children: [auth && /*#__PURE__*/_jsx(Auth, {
345
+ className: `${baseClass}__auth`,
346
+ collectionSlug: collectionConfig.slug,
347
+ disableLocalStrategy: collectionConfig.auth?.disableLocalStrategy,
348
+ email: data?.email,
349
+ loginWithUsername: auth?.loginWithUsername,
350
+ operation: operation,
351
+ readOnly: !hasSavePermission,
352
+ requirePassword: !id,
353
+ setSchemaPath: setSchemaPath,
354
+ setValidateBeforeSubmit: setValidateBeforeSubmit,
355
+ useAPIKey: auth.useAPIKey,
356
+ username: data?.username,
357
+ verify: auth.verify
358
+ }), upload && /*#__PURE__*/_jsx(React.Fragment, {
359
+ children: collectionConfig?.admin?.components?.edit?.Upload ? /*#__PURE__*/_jsx(RenderComponent, {
360
+ mappedComponent: collectionConfig.admin.components.edit.Upload
361
+ }) : /*#__PURE__*/_jsx(Upload, {
362
+ collectionSlug: collectionConfig.slug,
363
+ initialState: initialState,
364
+ uploadConfig: upload
365
+ })
366
+ })]
367
+ }),
368
+ docPermissions: docPermissions,
369
+ fields: (collectionConfig || globalConfig)?.fields,
370
+ readOnly: isReadOnlyForIncomingUser || !hasSavePermission,
371
+ schemaPath: schemaPath
372
+ }), AfterDocument]
373
+ })
374
+ })
375
+ });
200
376
  };
201
-
202
377
  //# sourceMappingURL=index.js.map