@payloadcms/next 3.0.0-canary.294ea5c → 3.0.0-canary.3926e86

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 (596) hide show
  1. package/dist/cjs/withPayload.cjs +166 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -0
  3. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -0
  5. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +16 -18
  9. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +70 -68
  11. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  12. package/dist/elements/DocumentHeader/Tabs/index.js +18 -17
  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 +16 -27
  17. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  18. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +2 -2
  21. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  22. package/dist/elements/DocumentHeader/index.d.ts +0 -1
  23. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  24. package/dist/elements/DocumentHeader/index.js +9 -12
  25. package/dist/elements/DocumentHeader/index.js.map +1 -1
  26. package/dist/elements/DocumentHeader/index.scss +44 -42
  27. package/dist/elements/FormHeader/index.d.ts +9 -0
  28. package/dist/elements/FormHeader/index.d.ts.map +1 -0
  29. package/dist/elements/FormHeader/index.js +20 -0
  30. package/dist/elements/FormHeader/index.js.map +1 -0
  31. package/dist/elements/FormHeader/index.scss +8 -0
  32. package/dist/elements/Logo/index.d.ts.map +1 -1
  33. package/dist/elements/Logo/index.js +5 -6
  34. package/dist/elements/Logo/index.js.map +1 -1
  35. package/dist/elements/Nav/NavWrapper/index.scss +21 -14
  36. package/dist/elements/Nav/getNavPrefs.d.ts +6 -0
  37. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -0
  38. package/dist/elements/Nav/getNavPrefs.js +26 -0
  39. package/dist/elements/Nav/getNavPrefs.js.map +1 -0
  40. package/dist/elements/Nav/index.client.d.ts +6 -1
  41. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  42. package/dist/elements/Nav/index.client.js +45 -95
  43. package/dist/elements/Nav/index.client.js.map +1 -1
  44. package/dist/elements/Nav/index.d.ts.map +1 -1
  45. package/dist/elements/Nav/index.js +66 -23
  46. package/dist/elements/Nav/index.js.map +1 -1
  47. package/dist/elements/Nav/index.scss +127 -121
  48. package/dist/exports/layouts.d.ts +2 -1
  49. package/dist/exports/layouts.d.ts.map +1 -1
  50. package/dist/exports/layouts.js +2 -1
  51. package/dist/exports/layouts.js.map +1 -1
  52. package/dist/exports/routes.d.ts +1 -1
  53. package/dist/exports/routes.d.ts.map +1 -1
  54. package/dist/exports/routes.js +1 -1
  55. package/dist/exports/routes.js.map +1 -1
  56. package/dist/exports/utilities.d.ts +1 -0
  57. package/dist/exports/utilities.d.ts.map +1 -1
  58. package/dist/exports/utilities.js +2 -0
  59. package/dist/exports/utilities.js.map +1 -1
  60. package/dist/exports/views.d.ts +1 -3
  61. package/dist/exports/views.d.ts.map +1 -1
  62. package/dist/exports/views.js +1 -3
  63. package/dist/exports/views.js.map +1 -1
  64. package/dist/fetchAPI-multipart/fileFactory.d.ts +2 -1
  65. package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -1
  66. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
  67. package/dist/fetchAPI-multipart/handlers.d.ts +1 -1
  68. package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -1
  69. package/dist/fetchAPI-multipart/handlers.js +3 -1
  70. package/dist/fetchAPI-multipart/handlers.js.map +1 -1
  71. package/dist/fetchAPI-multipart/index.d.ts +1 -101
  72. package/dist/fetchAPI-multipart/index.d.ts.map +1 -1
  73. package/dist/fetchAPI-multipart/index.js +1 -1
  74. package/dist/fetchAPI-multipart/index.js.map +1 -1
  75. package/dist/fetchAPI-multipart/isEligibleRequest.js +1 -1
  76. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  77. package/dist/fetchAPI-multipart/processMultipart.d.ts +2 -1
  78. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  79. package/dist/fetchAPI-multipart/processMultipart.js +9 -10
  80. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  81. package/dist/fetchAPI-multipart/processNested.d.ts.map +1 -1
  82. package/dist/fetchAPI-multipart/processNested.js +8 -4
  83. package/dist/fetchAPI-multipart/processNested.js.map +1 -1
  84. package/dist/fetchAPI-multipart/uploadTimer.d.ts.map +1 -1
  85. package/dist/fetchAPI-multipart/uploadTimer.js +3 -1
  86. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
  87. package/dist/fetchAPI-multipart/utilities.d.ts +1 -1
  88. package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -1
  89. package/dist/fetchAPI-multipart/utilities.js +32 -12
  90. package/dist/fetchAPI-multipart/utilities.js.map +1 -1
  91. package/dist/layouts/Root/NestProviders.d.ts +11 -0
  92. package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
  93. package/dist/layouts/Root/NestProviders.js +21 -0
  94. package/dist/layouts/Root/NestProviders.js.map +1 -0
  95. package/dist/layouts/Root/index.d.ts +3 -2
  96. package/dist/layouts/Root/index.d.ts.map +1 -1
  97. package/dist/layouts/Root/index.js +82 -68
  98. package/dist/layouts/Root/index.js.map +1 -1
  99. package/dist/prod/styles.css +1 -1
  100. package/dist/routes/graphql/handler.d.ts.map +1 -1
  101. package/dist/routes/graphql/handler.js +23 -11
  102. package/dist/routes/graphql/handler.js.map +1 -1
  103. package/dist/routes/rest/auth/login.js +2 -2
  104. package/dist/routes/rest/auth/login.js.map +1 -1
  105. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  106. package/dist/routes/rest/auth/logout.js +3 -2
  107. package/dist/routes/rest/auth/logout.js.map +1 -1
  108. package/dist/routes/rest/auth/refresh.js +2 -2
  109. package/dist/routes/rest/auth/refresh.js.map +1 -1
  110. package/dist/routes/rest/auth/registerFirstUser.js +2 -2
  111. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  112. package/dist/routes/rest/auth/resetPassword.js +2 -2
  113. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  114. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  115. package/dist/routes/rest/collections/create.js +5 -1
  116. package/dist/routes/rest/collections/create.js.map +1 -1
  117. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  118. package/dist/routes/rest/collections/delete.js +8 -0
  119. package/dist/routes/rest/collections/delete.js.map +1 -1
  120. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  121. package/dist/routes/rest/collections/deleteByID.js +7 -1
  122. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  123. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  124. package/dist/routes/rest/collections/duplicate.js +5 -1
  125. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  126. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  127. package/dist/routes/rest/collections/find.js +10 -1
  128. package/dist/routes/rest/collections/find.js.map +1 -1
  129. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  130. package/dist/routes/rest/collections/findByID.js +7 -1
  131. package/dist/routes/rest/collections/findByID.js.map +1 -1
  132. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  133. package/dist/routes/rest/collections/findVersionByID.js +5 -1
  134. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  135. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  136. package/dist/routes/rest/collections/findVersions.js +7 -1
  137. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  138. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  139. package/dist/routes/rest/collections/restoreVersion.js +2 -0
  140. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  141. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  142. package/dist/routes/rest/collections/update.js +10 -0
  143. package/dist/routes/rest/collections/update.js.map +1 -1
  144. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  145. package/dist/routes/rest/collections/updateByID.js +15 -3
  146. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  147. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  148. package/dist/routes/rest/files/checkFileAccess.js +7 -2
  149. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  150. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  151. package/dist/routes/rest/files/getFile.js +6 -2
  152. package/dist/routes/rest/files/getFile.js.map +1 -1
  153. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  154. package/dist/routes/rest/globals/findOne.js +5 -1
  155. package/dist/routes/rest/globals/findOne.js.map +1 -1
  156. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  157. package/dist/routes/rest/globals/findVersionByID.js +5 -1
  158. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  159. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  160. package/dist/routes/rest/globals/findVersions.js +7 -1
  161. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  162. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  163. package/dist/routes/rest/globals/restoreVersion.js +2 -0
  164. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  165. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  166. package/dist/routes/rest/globals/update.js +13 -3
  167. package/dist/routes/rest/globals/update.js.map +1 -1
  168. package/dist/routes/rest/index.d.ts +17 -12
  169. package/dist/routes/rest/index.d.ts.map +1 -1
  170. package/dist/routes/rest/index.js +132 -39
  171. package/dist/routes/rest/index.js.map +1 -1
  172. package/dist/routes/rest/og/image.d.ts +4 -2
  173. package/dist/routes/rest/og/image.d.ts.map +1 -1
  174. package/dist/routes/rest/og/image.js +14 -10
  175. package/dist/routes/rest/og/image.js.map +1 -1
  176. package/dist/routes/rest/og/index.d.ts.map +1 -1
  177. package/dist/routes/rest/og/index.js +7 -12
  178. package/dist/routes/rest/og/index.js.map +1 -1
  179. package/dist/routes/rest/routeError.d.ts +2 -7
  180. package/dist/routes/rest/routeError.d.ts.map +1 -1
  181. package/dist/routes/rest/routeError.js +42 -67
  182. package/dist/routes/rest/routeError.js.map +1 -1
  183. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -1
  184. package/dist/routes/rest/utilities/sanitizeCollectionID.js +6 -2
  185. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
  186. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +13 -0
  187. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -0
  188. package/dist/routes/rest/utilities/sanitizeJoinParams.js +21 -0
  189. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -0
  190. package/dist/routes/rest/utilities/sanitizePopulate.d.ts +3 -0
  191. package/dist/routes/rest/utilities/sanitizePopulate.d.ts.map +1 -0
  192. package/dist/routes/rest/utilities/sanitizePopulate.js +11 -0
  193. package/dist/routes/rest/utilities/sanitizePopulate.js.map +1 -0
  194. package/dist/routes/rest/utilities/sanitizeSelect.d.ts +6 -0
  195. package/dist/routes/rest/utilities/sanitizeSelect.d.ts.map +1 -0
  196. package/dist/routes/rest/utilities/sanitizeSelect.js +17 -0
  197. package/dist/routes/rest/utilities/sanitizeSelect.js.map +1 -0
  198. package/dist/scss/app.scss +166 -162
  199. package/dist/scss/colors.scss +256 -254
  200. package/dist/scss/resets.scss +9 -7
  201. package/dist/scss/toastify.scss +42 -40
  202. package/dist/scss/toasts.scss +105 -103
  203. package/dist/scss/type.scss +80 -79
  204. package/dist/templates/Default/Wrapper/index.scss +37 -36
  205. package/dist/templates/Default/index.d.ts +2 -1
  206. package/dist/templates/Default/index.d.ts.map +1 -1
  207. package/dist/templates/Default/index.js +101 -31
  208. package/dist/templates/Default/index.js.map +1 -1
  209. package/dist/templates/Default/index.scss +62 -50
  210. package/dist/templates/Minimal/index.scss +22 -20
  211. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  212. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  213. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  214. package/dist/utilities/addLocalesToRequest.js +24 -10
  215. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  216. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  217. package/dist/utilities/createPayloadRequest.js +20 -11
  218. package/dist/utilities/createPayloadRequest.js.map +1 -1
  219. package/dist/utilities/getClientConfig.d.ts +7 -0
  220. package/dist/utilities/getClientConfig.d.ts.map +1 -0
  221. package/dist/utilities/getClientConfig.js +14 -0
  222. package/dist/utilities/getClientConfig.js.map +1 -0
  223. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  224. package/dist/utilities/getNextRequestI18n.js +2 -2
  225. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  226. package/dist/utilities/getPayloadHMR.js.map +1 -1
  227. package/dist/utilities/getRequestLocales.d.ts.map +1 -1
  228. package/dist/utilities/getRequestLocales.js +10 -6
  229. package/dist/utilities/getRequestLocales.js.map +1 -1
  230. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  231. package/dist/utilities/getRequestTheme.js +3 -0
  232. package/dist/utilities/getRequestTheme.js.map +1 -1
  233. package/dist/utilities/handleServerFunctions.d.ts +3 -0
  234. package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
  235. package/dist/utilities/handleServerFunctions.js +35 -0
  236. package/dist/utilities/handleServerFunctions.js.map +1 -0
  237. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  238. package/dist/utilities/headersWithCors.js.map +1 -1
  239. package/dist/utilities/initPage/handleAdminPage.d.ts +13 -11
  240. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  241. package/dist/utilities/initPage/handleAdminPage.js +16 -20
  242. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  243. package/dist/utilities/initPage/handleAuthRedirect.d.ts +6 -3
  244. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  245. package/dist/utilities/initPage/handleAuthRedirect.js +23 -34
  246. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  247. package/dist/utilities/initPage/index.d.ts +1 -1
  248. package/dist/utilities/initPage/index.d.ts.map +1 -1
  249. package/dist/utilities/initPage/index.js +55 -45
  250. package/dist/utilities/initPage/index.js.map +1 -1
  251. package/dist/utilities/initPage/isCustomAdminView.d.ts +10 -0
  252. package/dist/utilities/initPage/isCustomAdminView.d.ts.map +1 -0
  253. package/dist/utilities/initPage/isCustomAdminView.js +31 -0
  254. package/dist/utilities/initPage/isCustomAdminView.js.map +1 -0
  255. package/dist/utilities/initPage/shared.d.ts +2 -2
  256. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  257. package/dist/utilities/initPage/shared.js +19 -13
  258. package/dist/utilities/initPage/shared.js.map +1 -1
  259. package/dist/utilities/initReq.d.ts +11 -0
  260. package/dist/utilities/initReq.d.ts.map +1 -0
  261. package/dist/utilities/initReq.js +46 -0
  262. package/dist/utilities/initReq.js.map +1 -0
  263. package/dist/utilities/timestamp.d.ts.map +1 -1
  264. package/dist/utilities/timestamp.js +3 -1
  265. package/dist/utilities/timestamp.js.map +1 -1
  266. package/dist/views/API/LocaleSelector/index.js +2 -2
  267. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  268. package/dist/views/API/RenderJSON/index.d.ts +1 -1
  269. package/dist/views/API/RenderJSON/index.d.ts.map +1 -1
  270. package/dist/views/API/RenderJSON/index.js.map +1 -1
  271. package/dist/views/API/RenderJSON/index.scss +68 -66
  272. package/dist/views/API/index.client.d.ts.map +1 -1
  273. package/dist/views/API/index.client.js +16 -16
  274. package/dist/views/API/index.client.js.map +1 -1
  275. package/dist/views/API/index.scss +98 -96
  276. package/dist/views/Account/Settings/index.d.ts +2 -1
  277. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  278. package/dist/views/Account/Settings/index.js +3 -3
  279. package/dist/views/Account/Settings/index.js.map +1 -1
  280. package/dist/views/Account/Settings/index.scss +37 -35
  281. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  282. package/dist/views/Account/ToggleTheme/index.js +2 -0
  283. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  284. package/dist/views/Account/index.d.ts.map +1 -1
  285. package/dist/views/Account/index.js +86 -27
  286. package/dist/views/Account/index.js.map +1 -1
  287. package/dist/views/CreateFirstUser/index.client.d.ts +4 -2
  288. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  289. package/dist/views/CreateFirstUser/index.client.js +86 -92
  290. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  291. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  292. package/dist/views/CreateFirstUser/index.js +36 -4
  293. package/dist/views/CreateFirstUser/index.js.map +1 -1
  294. package/dist/views/CreateFirstUser/index.scss +18 -6
  295. package/dist/views/Dashboard/Default/index.d.ts +10 -1
  296. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  297. package/dist/views/Dashboard/Default/index.js +70 -47
  298. package/dist/views/Dashboard/Default/index.js.map +1 -1
  299. package/dist/views/Dashboard/Default/index.scss +53 -46
  300. package/dist/views/Dashboard/index.d.ts.map +1 -1
  301. package/dist/views/Dashboard/index.js +55 -21
  302. package/dist/views/Dashboard/index.js.map +1 -1
  303. package/dist/views/Document/getDocPreferences.d.ts +11 -0
  304. package/dist/views/Document/getDocPreferences.d.ts.map +1 -0
  305. package/dist/views/Document/getDocPreferences.js +44 -0
  306. package/dist/views/Document/getDocPreferences.js.map +1 -0
  307. package/dist/views/Document/getDocumentData.d.ts +10 -8
  308. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  309. package/dist/views/Document/getDocumentData.js +35 -34
  310. package/dist/views/Document/getDocumentData.js.map +1 -1
  311. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  312. package/dist/views/Document/getDocumentPermissions.js +6 -5
  313. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  314. package/dist/views/Document/getIsLocked.d.ts +16 -0
  315. package/dist/views/Document/getIsLocked.d.ts.map +1 -0
  316. package/dist/views/Document/getIsLocked.js +55 -0
  317. package/dist/views/Document/getIsLocked.js.map +1 -0
  318. package/dist/views/Document/getMetaBySegment.d.ts +2 -2
  319. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  320. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  321. package/dist/views/Document/getVersions.d.ts +19 -0
  322. package/dist/views/Document/getVersions.d.ts.map +1 -0
  323. package/dist/views/Document/getVersions.js +181 -0
  324. package/dist/views/Document/getVersions.js.map +1 -0
  325. package/dist/views/Document/getViewsFromConfig.d.ts +1 -1
  326. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  327. package/dist/views/Document/getViewsFromConfig.js +22 -17
  328. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  329. package/dist/views/Document/handleServerFunction.d.ts +24 -0
  330. package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
  331. package/dist/views/Document/handleServerFunction.js +156 -0
  332. package/dist/views/Document/handleServerFunction.js.map +1 -0
  333. package/dist/views/Document/index.d.ts +5 -1
  334. package/dist/views/Document/index.d.ts.map +1 -1
  335. package/dist/views/Document/index.js +183 -73
  336. package/dist/views/Document/index.js.map +1 -1
  337. package/dist/views/Document/renderDocumentSlots.d.ts +12 -0
  338. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
  339. package/dist/views/Document/renderDocumentSlots.js +92 -0
  340. package/dist/views/Document/renderDocumentSlots.js.map +1 -0
  341. package/dist/views/Edit/index.d.ts +3 -2
  342. package/dist/views/Edit/index.d.ts.map +1 -1
  343. package/dist/views/Edit/index.js +7 -3
  344. package/dist/views/Edit/index.js.map +1 -1
  345. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  346. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +17 -12
  347. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  348. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  349. package/dist/views/ForgotPassword/index.js +11 -9
  350. package/dist/views/ForgotPassword/index.js.map +1 -1
  351. package/dist/views/List/handleServerFunction.d.ts +26 -0
  352. package/dist/views/List/handleServerFunction.d.ts.map +1 -0
  353. package/dist/views/List/handleServerFunction.js +155 -0
  354. package/dist/views/List/handleServerFunction.js.map +1 -0
  355. package/dist/views/List/index.d.ts +12 -2
  356. package/dist/views/List/index.d.ts.map +1 -1
  357. package/dist/views/List/index.js +145 -84
  358. package/dist/views/List/index.js.map +1 -1
  359. package/dist/views/List/renderListViewSlots.d.ts +12 -0
  360. package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
  361. package/dist/views/List/renderListViewSlots.js +56 -0
  362. package/dist/views/List/renderListViewSlots.js.map +1 -0
  363. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  364. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  365. package/dist/views/LivePreview/Context/context.js.map +1 -1
  366. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  367. package/dist/views/LivePreview/Context/index.js +3 -1
  368. package/dist/views/LivePreview/Context/index.js.map +1 -1
  369. package/dist/views/LivePreview/Context/sizeReducer.d.ts +1 -1
  370. package/dist/views/LivePreview/Context/sizeReducer.d.ts.map +1 -1
  371. package/dist/views/LivePreview/Context/sizeReducer.js +4 -4
  372. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  373. package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
  374. package/dist/views/LivePreview/Device/index.js +5 -1
  375. package/dist/views/LivePreview/Device/index.js.map +1 -1
  376. package/dist/views/LivePreview/IFrame/index.scss +8 -6
  377. package/dist/views/LivePreview/Preview/index.scss +32 -30
  378. package/dist/views/LivePreview/Toolbar/Controls/index.js +1 -1
  379. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  380. package/dist/views/LivePreview/Toolbar/Controls/index.scss +49 -47
  381. package/dist/views/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  382. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  383. package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +11 -9
  384. package/dist/views/LivePreview/Toolbar/index.scss +33 -31
  385. package/dist/views/LivePreview/ToolbarArea/index.scss +5 -3
  386. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  387. package/dist/views/LivePreview/index.client.js +234 -210
  388. package/dist/views/LivePreview/index.client.js.map +1 -1
  389. package/dist/views/LivePreview/index.js +2 -2
  390. package/dist/views/LivePreview/index.js.map +1 -1
  391. package/dist/views/LivePreview/index.scss +48 -46
  392. package/dist/views/LivePreview/usePopupWindow.d.ts +1 -1
  393. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  394. package/dist/views/LivePreview/usePopupWindow.js +119 -74
  395. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  396. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  397. package/dist/views/Login/LoginField/index.js +6 -1
  398. package/dist/views/Login/LoginField/index.js.map +1 -1
  399. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  400. package/dist/views/Login/LoginForm/index.js +31 -13
  401. package/dist/views/Login/LoginForm/index.js.map +1 -1
  402. package/dist/views/Login/LoginForm/index.scss +8 -6
  403. package/dist/views/Login/index.d.ts.map +1 -1
  404. package/dist/views/Login/index.js +26 -20
  405. package/dist/views/Login/index.js.map +1 -1
  406. package/dist/views/Login/index.scss +8 -6
  407. package/dist/views/Logout/LogoutClient.d.ts +1 -0
  408. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  409. package/dist/views/Logout/LogoutClient.js +82 -57
  410. package/dist/views/Logout/LogoutClient.js.map +1 -1
  411. package/dist/views/Logout/index.d.ts.map +1 -1
  412. package/dist/views/Logout/index.js +1 -1
  413. package/dist/views/Logout/index.js.map +1 -1
  414. package/dist/views/Logout/index.scss +19 -14
  415. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  416. package/dist/views/NotFound/index.client.js +8 -5
  417. package/dist/views/NotFound/index.client.js.map +1 -1
  418. package/dist/views/NotFound/index.d.ts +5 -5
  419. package/dist/views/NotFound/index.d.ts.map +1 -1
  420. package/dist/views/NotFound/index.js +7 -2
  421. package/dist/views/NotFound/index.js.map +1 -1
  422. package/dist/views/NotFound/index.scss +41 -21
  423. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts +7 -0
  424. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -0
  425. package/dist/views/ResetPassword/{index.client.js → ResetPasswordForm/index.js} +33 -25
  426. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
  427. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  428. package/dist/views/ResetPassword/index.js +48 -45
  429. package/dist/views/ResetPassword/index.js.map +1 -1
  430. package/dist/views/ResetPassword/index.scss +9 -3
  431. package/dist/views/Root/getViewFromConfig.d.ts +3 -1
  432. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  433. package/dist/views/Root/getViewFromConfig.js +131 -16
  434. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  435. package/dist/views/Root/index.d.ts +5 -5
  436. package/dist/views/Root/index.d.ts.map +1 -1
  437. package/dist/views/Root/index.js +43 -19
  438. package/dist/views/Root/index.js.map +1 -1
  439. package/dist/views/Root/isPathMatchingRoute.d.ts.map +1 -1
  440. package/dist/views/Root/isPathMatchingRoute.js +6 -2
  441. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  442. package/dist/views/Root/meta.d.ts +5 -5
  443. package/dist/views/Root/meta.d.ts.map +1 -1
  444. package/dist/views/Root/meta.js +3 -2
  445. package/dist/views/Root/meta.js.map +1 -1
  446. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  447. package/dist/views/Unauthorized/index.js +15 -8
  448. package/dist/views/Unauthorized/index.js.map +1 -1
  449. package/dist/views/Unauthorized/index.scss +4 -31
  450. package/dist/views/Verify/index.client.d.ts +7 -0
  451. package/dist/views/Verify/index.client.d.ts.map +1 -0
  452. package/dist/views/Verify/index.client.js +46 -0
  453. package/dist/views/Verify/index.client.js.map +1 -0
  454. package/dist/views/Verify/index.d.ts.map +1 -1
  455. package/dist/views/Verify/index.js +13 -11
  456. package/dist/views/Verify/index.js.map +1 -1
  457. package/dist/views/Verify/index.scss +13 -11
  458. package/dist/views/Version/Default/index.d.ts.map +1 -1
  459. package/dist/views/Version/Default/index.js +4 -4
  460. package/dist/views/Version/Default/index.js.map +1 -1
  461. package/dist/views/Version/Default/index.scss +52 -50
  462. package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +5 -3
  463. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  464. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +4 -2
  465. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  466. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +29 -27
  467. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +1 -1
  468. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  469. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +11 -9
  470. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +12 -10
  471. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  472. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +3 -1
  473. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  474. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +12 -10
  475. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  476. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +9 -3
  477. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  478. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +12 -10
  479. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  480. package/dist/views/Version/RenderFieldsToDiff/index.js +8 -4
  481. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  482. package/dist/views/Version/RenderFieldsToDiff/index.scss +12 -10
  483. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  484. package/dist/views/Version/Restore/index.js +32 -30
  485. package/dist/views/Version/Restore/index.js.map +1 -1
  486. package/dist/views/Version/Restore/index.scss +60 -42
  487. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  488. package/dist/views/Version/SelectComparison/index.js +27 -4
  489. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  490. package/dist/views/Version/SelectComparison/index.scss +12 -10
  491. package/dist/views/Version/SelectComparison/types.d.ts +1 -0
  492. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  493. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  494. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  495. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  496. package/dist/views/Version/SelectLocales/index.scss +6 -4
  497. package/dist/views/Version/index.d.ts.map +1 -1
  498. package/dist/views/Version/index.js +2 -0
  499. package/dist/views/Version/index.js.map +1 -1
  500. package/dist/views/Versions/buildColumns.d.ts +3 -2
  501. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  502. package/dist/views/Versions/buildColumns.js +47 -60
  503. package/dist/views/Versions/buildColumns.js.map +1 -1
  504. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -0
  505. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  506. package/dist/views/Versions/cells/AutosaveCell/index.js +66 -27
  507. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  508. package/dist/views/Versions/cells/CreatedAt/index.d.ts +4 -0
  509. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  510. package/dist/views/Versions/cells/CreatedAt/index.js +43 -44
  511. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  512. package/dist/views/Versions/cells/ID/index.d.ts +3 -1
  513. package/dist/views/Versions/cells/ID/index.d.ts.map +1 -1
  514. package/dist/views/Versions/cells/ID/index.js +7 -19
  515. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  516. package/dist/views/Versions/getLatestVersion.d.ts +1 -0
  517. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  518. package/dist/views/Versions/getLatestVersion.js +15 -4
  519. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  520. package/dist/views/Versions/index.client.d.ts.map +1 -1
  521. package/dist/views/Versions/index.client.js +53 -51
  522. package/dist/views/Versions/index.client.js.map +1 -1
  523. package/dist/views/Versions/index.d.ts.map +1 -1
  524. package/dist/views/Versions/index.js +35 -13
  525. package/dist/views/Versions/index.js.map +1 -1
  526. package/dist/views/Versions/index.scss +78 -76
  527. package/dist/withPayload.d.ts.map +1 -1
  528. package/dist/withPayload.js +23 -5
  529. package/dist/withPayload.js.map +1 -1
  530. package/license.md +22 -0
  531. package/package.json +37 -20
  532. package/dist/cjs/withPayload.js +0 -111
  533. package/dist/cjs/withPayload.js.map +0 -1
  534. package/dist/elements/EmailAndUsername/index.d.ts +0 -14
  535. package/dist/elements/EmailAndUsername/index.d.ts.map +0 -1
  536. package/dist/elements/EmailAndUsername/index.js +0 -121
  537. package/dist/elements/EmailAndUsername/index.js.map +0 -1
  538. package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -4
  539. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +0 -1
  540. package/dist/elements/LeaveWithoutSaving/index.js +0 -162
  541. package/dist/elements/LeaveWithoutSaving/index.js.map +0 -1
  542. package/dist/elements/LeaveWithoutSaving/index.scss +0 -37
  543. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +0 -9
  544. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +0 -1
  545. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +0 -134
  546. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +0 -1
  547. package/dist/routes/rest/buildFormState.d.ts +0 -5
  548. package/dist/routes/rest/buildFormState.d.ts.map +0 -1
  549. package/dist/routes/rest/buildFormState.js +0 -46
  550. package/dist/routes/rest/buildFormState.js.map +0 -1
  551. package/dist/views/Edit/Default/Auth/APIKey.d.ts +0 -6
  552. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +0 -1
  553. package/dist/views/Edit/Default/Auth/APIKey.js +0 -131
  554. package/dist/views/Edit/Default/Auth/APIKey.js.map +0 -1
  555. package/dist/views/Edit/Default/Auth/index.d.ts +0 -5
  556. package/dist/views/Edit/Default/Auth/index.d.ts.map +0 -1
  557. package/dist/views/Edit/Default/Auth/index.js +0 -307
  558. package/dist/views/Edit/Default/Auth/index.js.map +0 -1
  559. package/dist/views/Edit/Default/Auth/index.scss +0 -76
  560. package/dist/views/Edit/Default/Auth/types.d.ts +0 -17
  561. package/dist/views/Edit/Default/Auth/types.d.ts.map +0 -1
  562. package/dist/views/Edit/Default/Auth/types.js +0 -2
  563. package/dist/views/Edit/Default/Auth/types.js.map +0 -1
  564. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -11
  565. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +0 -1
  566. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +0 -130
  567. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +0 -1
  568. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -8
  569. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +0 -1
  570. package/dist/views/Edit/Default/SetDocumentTitle/index.js +0 -81
  571. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +0 -1
  572. package/dist/views/Edit/Default/index.d.ts +0 -4
  573. package/dist/views/Edit/Default/index.d.ts.map +0 -1
  574. package/dist/views/Edit/Default/index.js +0 -212
  575. package/dist/views/Edit/Default/index.js.map +0 -1
  576. package/dist/views/Edit/Default/index.scss +0 -21
  577. package/dist/views/Edit/Default/types.d.ts +0 -6
  578. package/dist/views/Edit/Default/types.d.ts.map +0 -1
  579. package/dist/views/Edit/Default/types.js +0 -2
  580. package/dist/views/Edit/Default/types.js.map +0 -1
  581. package/dist/views/Edit/index.client.d.ts +0 -3
  582. package/dist/views/Edit/index.client.d.ts.map +0 -1
  583. package/dist/views/Edit/index.client.js +0 -54
  584. package/dist/views/Edit/index.client.js.map +0 -1
  585. package/dist/views/List/Default/index.d.ts +0 -4
  586. package/dist/views/List/Default/index.d.ts.map +0 -1
  587. package/dist/views/List/Default/index.js +0 -363
  588. package/dist/views/List/Default/index.js.map +0 -1
  589. package/dist/views/List/Default/index.scss +0 -177
  590. package/dist/views/List/Default/types.d.ts +0 -15
  591. package/dist/views/List/Default/types.d.ts.map +0 -1
  592. package/dist/views/List/Default/types.js +0 -2
  593. package/dist/views/List/Default/types.js.map +0 -1
  594. package/dist/views/ResetPassword/index.client.d.ts +0 -7
  595. package/dist/views/ResetPassword/index.client.d.ts.map +0 -1
  596. package/dist/views/ResetPassword/index.client.js.map +0 -1
@@ -0,0 +1,181 @@
1
+ // TODO: in the future, we can parallelize some of these queries
2
+ // this will speed up the API by ~30-100ms or so
3
+ export const getVersions = async ({
4
+ id,
5
+ collectionConfig,
6
+ docPermissions,
7
+ globalConfig,
8
+ locale,
9
+ payload,
10
+ user
11
+ }) => {
12
+ let publishedQuery;
13
+ let hasPublishedDoc = false;
14
+ let mostRecentVersionIsAutosaved = false;
15
+ let unpublishedVersionCount = 0;
16
+ let versionCount = 0;
17
+ const entityConfig = collectionConfig || globalConfig;
18
+ const versionsConfig = entityConfig?.versions;
19
+ const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission);
20
+ if (!shouldFetchVersions) {
21
+ const hasPublishedDoc = Boolean(collectionConfig && id || globalConfig);
22
+ return {
23
+ hasPublishedDoc,
24
+ mostRecentVersionIsAutosaved,
25
+ unpublishedVersionCount,
26
+ versionCount
27
+ };
28
+ }
29
+ if (collectionConfig) {
30
+ if (!id) {
31
+ return {
32
+ hasPublishedDoc,
33
+ mostRecentVersionIsAutosaved,
34
+ unpublishedVersionCount,
35
+ versionCount
36
+ };
37
+ }
38
+ if (versionsConfig?.drafts) {
39
+ publishedQuery = await payload.find({
40
+ collection: collectionConfig.slug,
41
+ depth: 0,
42
+ locale: locale || undefined,
43
+ user,
44
+ where: {
45
+ and: [{
46
+ or: [{
47
+ _status: {
48
+ equals: 'published'
49
+ }
50
+ }, {
51
+ _status: {
52
+ exists: false
53
+ }
54
+ }]
55
+ }, {
56
+ id: {
57
+ equals: id
58
+ }
59
+ }]
60
+ }
61
+ });
62
+ if (publishedQuery.docs?.[0]) {
63
+ hasPublishedDoc = true;
64
+ }
65
+ if (versionsConfig.drafts?.autosave) {
66
+ const mostRecentVersion = await payload.findVersions({
67
+ collection: collectionConfig.slug,
68
+ depth: 0,
69
+ limit: 1,
70
+ user,
71
+ where: {
72
+ and: [{
73
+ parent: {
74
+ equals: id
75
+ }
76
+ }]
77
+ }
78
+ });
79
+ if (mostRecentVersion.docs[0] && 'autosave' in mostRecentVersion.docs[0] && mostRecentVersion.docs[0].autosave) {
80
+ mostRecentVersionIsAutosaved = true;
81
+ }
82
+ }
83
+ if (publishedQuery.docs?.[0]?.updatedAt) {
84
+ ({
85
+ totalDocs: unpublishedVersionCount
86
+ } = await payload.countVersions({
87
+ collection: collectionConfig.slug,
88
+ user,
89
+ where: {
90
+ and: [{
91
+ parent: {
92
+ equals: id
93
+ }
94
+ }, {
95
+ 'version._status': {
96
+ equals: 'draft'
97
+ }
98
+ }, {
99
+ updatedAt: {
100
+ greater_than: publishedQuery.docs[0].updatedAt
101
+ }
102
+ }]
103
+ }
104
+ }));
105
+ }
106
+ }
107
+ ({
108
+ totalDocs: versionCount
109
+ } = await payload.countVersions({
110
+ collection: collectionConfig.slug,
111
+ user,
112
+ where: {
113
+ and: [{
114
+ parent: {
115
+ equals: id
116
+ }
117
+ }]
118
+ }
119
+ }));
120
+ }
121
+ if (globalConfig) {
122
+ if (versionsConfig?.drafts) {
123
+ publishedQuery = await payload.findGlobal({
124
+ slug: globalConfig.slug,
125
+ depth: 0,
126
+ locale,
127
+ user
128
+ });
129
+ if (publishedQuery?._status === 'published') {
130
+ hasPublishedDoc = true;
131
+ }
132
+ if (versionsConfig.drafts?.autosave) {
133
+ const mostRecentVersion = await payload.findGlobalVersions({
134
+ slug: globalConfig.slug,
135
+ limit: 1,
136
+ select: {
137
+ autosave: true
138
+ },
139
+ user
140
+ });
141
+ if (mostRecentVersion.docs[0] && 'autosave' in mostRecentVersion.docs[0] && mostRecentVersion.docs[0].autosave) {
142
+ mostRecentVersionIsAutosaved = true;
143
+ }
144
+ }
145
+ if (publishedQuery?.updatedAt) {
146
+ ({
147
+ totalDocs: unpublishedVersionCount
148
+ } = await payload.countGlobalVersions({
149
+ depth: 0,
150
+ global: globalConfig.slug,
151
+ user,
152
+ where: {
153
+ and: [{
154
+ 'version._status': {
155
+ equals: 'draft'
156
+ }
157
+ }, {
158
+ updatedAt: {
159
+ greater_than: publishedQuery.updatedAt
160
+ }
161
+ }]
162
+ }
163
+ }));
164
+ }
165
+ }
166
+ ({
167
+ totalDocs: versionCount
168
+ } = await payload.countGlobalVersions({
169
+ depth: 0,
170
+ global: globalConfig.slug,
171
+ user
172
+ }));
173
+ }
174
+ return {
175
+ hasPublishedDoc,
176
+ mostRecentVersionIsAutosaved,
177
+ unpublishedVersionCount,
178
+ versionCount
179
+ };
180
+ };
181
+ //# sourceMappingURL=getVersions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVersions.js","names":["getVersions","id","collectionConfig","docPermissions","globalConfig","locale","payload","user","publishedQuery","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","entityConfig","versionsConfig","versions","shouldFetchVersions","Boolean","readVersions","permission","drafts","find","collection","slug","depth","undefined","where","and","or","_status","equals","exists","docs","autosave","mostRecentVersion","findVersions","limit","parent","updatedAt","totalDocs","countVersions","greater_than","findGlobal","findGlobalVersions","select","countGlobalVersions","global"],"sources":["../../../src/views/Document/getVersions.ts"],"sourcesContent":["import type {\n DocumentPermissions,\n Payload,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypedUser,\n} from 'payload'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n docPermissions: DocumentPermissions\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale?: string\n payload: Payload\n user: TypedUser\n}\n\ntype Result = Promise<{\n hasPublishedDoc: boolean\n mostRecentVersionIsAutosaved: boolean\n unpublishedVersionCount: number\n versionCount: number\n}>\n\n// TODO: in the future, we can parallelize some of these queries\n// this will speed up the API by ~30-100ms or so\nexport const getVersions = async ({\n id,\n collectionConfig,\n docPermissions,\n globalConfig,\n locale,\n payload,\n user,\n}: Args): Result => {\n let publishedQuery\n let hasPublishedDoc = false\n let mostRecentVersionIsAutosaved = false\n let unpublishedVersionCount = 0\n let versionCount = 0\n\n const entityConfig = collectionConfig || globalConfig\n const versionsConfig = entityConfig?.versions\n\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n if (!shouldFetchVersions) {\n const hasPublishedDoc = Boolean((collectionConfig && id) || globalConfig)\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (collectionConfig) {\n if (!id) {\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (versionsConfig?.drafts) {\n publishedQuery = await payload.find({\n collection: collectionConfig.slug,\n depth: 0,\n locale: locale || undefined,\n user,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n {\n id: {\n equals: id,\n },\n },\n ],\n },\n })\n\n if (publishedQuery.docs?.[0]) {\n hasPublishedDoc = true\n }\n\n if (versionsConfig.drafts?.autosave) {\n const mostRecentVersion = await payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedQuery.docs?.[0]?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedQuery.docs[0].updatedAt,\n },\n },\n ],\n },\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n user,\n where: {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n },\n }))\n }\n\n if (globalConfig) {\n if (versionsConfig?.drafts) {\n publishedQuery = await payload.findGlobal({\n slug: globalConfig.slug,\n depth: 0,\n locale,\n user,\n })\n\n if (publishedQuery?._status === 'published') {\n hasPublishedDoc = true\n }\n\n if (versionsConfig.drafts?.autosave) {\n const mostRecentVersion = await payload.findGlobalVersions({\n slug: globalConfig.slug,\n limit: 1,\n select: {\n autosave: true,\n },\n user,\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedQuery?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n where: {\n and: [\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedQuery.updatedAt,\n },\n },\n ],\n },\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n user,\n }))\n }\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import type { AdminViewProps, CollectionPermission, GlobalPermission, PayloadCom
2
2
  import type React from 'react';
3
3
  export type ViewFromConfig<TProps extends object> = {
4
4
  Component?: React.FC<TProps>;
5
- payloadComponent?: PayloadComponent<TProps>;
5
+ ComponentConfig?: PayloadComponent<TProps>;
6
6
  };
7
7
  export declare const getViewsFromConfig: ({ collectionConfig, config, docPermissions, globalConfig, overrideDocPermissions, routeSegments, }: {
8
8
  collectionConfig?: SanitizedCollectionConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"getViewsFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getViewsFromConfig.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAa9B,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,MAAM,IAAI;IAClD,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,kBAAkB,uGAO5B;IACD,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB,GAAG,CACA;IACE,cAAc,EAAE,oBAAoB,GAAG,gBAAgB,CAAA;IACvD,sBAAsB,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;CAC3C,GACD;IACE,cAAc,CAAC,EAAE,KAAK,CAAA;IACtB,sBAAsB,EAAE,IAAI,CAAA;CAC7B,CACJ,KAAG;IACF,UAAU,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAA;IACnD,WAAW,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAA;IACpD;;OAEG;IACH,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IACzC,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,IAoXH,CAAA"}
1
+ {"version":3,"file":"getViewsFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getViewsFromConfig.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAW9B,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,MAAM,IAAI;IAClD,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IAC5B,eAAe,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,kBAAkB,uGAO5B;IACD,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB,GAAG,CACA;IACE,cAAc,EAAE,oBAAoB,GAAG,gBAAgB,CAAA;IACvD,sBAAsB,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;CAC3C,GACD;IACE,cAAc,CAAC,EAAE,KAAK,CAAA;IACtB,sBAAsB,EAAE,IAAI,CAAA;CAC7B,CACJ,KAAG;IACF,UAAU,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAA;IACnD,WAAW,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAA;IACpD;;OAEG;IACH,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IACzC,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,IA0XH,CAAA"}
@@ -1,4 +1,3 @@
1
- import { notFound } from 'next/navigation.js';
2
1
  import { APIView as DefaultAPIView } from '../API/index.js';
3
2
  import { EditView as DefaultEditView } from '../Edit/index.js';
4
3
  import { LivePreviewView as DefaultLivePreviewView } from '../LivePreview/index.js';
@@ -30,7 +29,7 @@ export const getViewsFromConfig = ({
30
29
  if (collectionConfig) {
31
30
  const [collectionEntity, collectionSlug, segment3, segment4, segment5, ...remainingSegments] = routeSegments;
32
31
  if (!overrideDocPermissions && !docPermissions?.read?.permission) {
33
- notFound();
32
+ throw new Error('not-found');
34
33
  } else {
35
34
  // `../:id`, or `../create`
36
35
  switch (routeSegments.length) {
@@ -41,7 +40,7 @@ export const getViewsFromConfig = ({
41
40
  {
42
41
  if (!overrideDocPermissions && 'create' in docPermissions && docPermissions?.create?.permission) {
43
42
  CustomView = {
44
- payloadComponent: getCustomViewByKey(views, 'default')
43
+ ComponentConfig: getCustomViewByKey(views, 'default')
45
44
  };
46
45
  DefaultView = {
47
46
  Component: DefaultEditView
@@ -68,11 +67,11 @@ export const getViewsFromConfig = ({
68
67
  if (customViewKey) {
69
68
  viewKey = customViewKey;
70
69
  CustomView = {
71
- payloadComponent: CustomViewComponent
70
+ ComponentConfig: CustomViewComponent
72
71
  };
73
72
  } else {
74
73
  CustomView = {
75
- payloadComponent: getCustomViewByKey(views, 'default')
74
+ ComponentConfig: getCustomViewByKey(views, 'default')
76
75
  };
77
76
  DefaultView = {
78
77
  Component: DefaultEditView
@@ -91,7 +90,7 @@ export const getViewsFromConfig = ({
91
90
  {
92
91
  if (collectionConfig?.admin?.hideAPIURL !== true) {
93
92
  CustomView = {
94
- payloadComponent: getCustomViewByKey(views, 'api')
93
+ ComponentConfig: getCustomViewByKey(views, 'api')
95
94
  };
96
95
  DefaultView = {
97
96
  Component: DefaultAPIView
@@ -105,6 +104,9 @@ export const getViewsFromConfig = ({
105
104
  DefaultView = {
106
105
  Component: DefaultLivePreviewView
107
106
  };
107
+ CustomView = {
108
+ ComponentConfig: getCustomViewByKey(views, 'livePreview')
109
+ };
108
110
  }
109
111
  break;
110
112
  }
@@ -112,7 +114,7 @@ export const getViewsFromConfig = ({
112
114
  {
113
115
  if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {
114
116
  CustomView = {
115
- payloadComponent: getCustomViewByKey(views, 'versions')
117
+ ComponentConfig: getCustomViewByKey(views, 'versions')
116
118
  };
117
119
  DefaultView = {
118
120
  Component: DefaultVersionsView
@@ -139,7 +141,7 @@ export const getViewsFromConfig = ({
139
141
  if (customViewKey) {
140
142
  viewKey = customViewKey;
141
143
  CustomView = {
142
- payloadComponent: CustomViewComponent
144
+ ComponentConfig: CustomViewComponent
143
145
  };
144
146
  }
145
147
  break;
@@ -153,7 +155,7 @@ export const getViewsFromConfig = ({
153
155
  if (segment4 === 'versions') {
154
156
  if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {
155
157
  CustomView = {
156
- payloadComponent: getCustomViewByKey(views, 'version')
158
+ ComponentConfig: getCustomViewByKey(views, 'version')
157
159
  };
158
160
  DefaultView = {
159
161
  Component: DefaultVersionView
@@ -177,7 +179,7 @@ export const getViewsFromConfig = ({
177
179
  if (customViewKey) {
178
180
  viewKey = customViewKey;
179
181
  CustomView = {
180
- payloadComponent: CustomViewComponent
182
+ ComponentConfig: CustomViewComponent
181
183
  };
182
184
  }
183
185
  }
@@ -189,13 +191,13 @@ export const getViewsFromConfig = ({
189
191
  if (globalConfig) {
190
192
  const [globalEntity, globalSlug, segment3, ...remainingSegments] = routeSegments;
191
193
  if (!overrideDocPermissions && !docPermissions?.read?.permission) {
192
- notFound();
194
+ throw new Error('not-found');
193
195
  } else {
194
196
  switch (routeSegments.length) {
195
197
  case 2:
196
198
  {
197
199
  CustomView = {
198
- payloadComponent: getCustomViewByKey(views, 'default')
200
+ ComponentConfig: getCustomViewByKey(views, 'default')
199
201
  };
200
202
  DefaultView = {
201
203
  Component: DefaultEditView
@@ -210,7 +212,7 @@ export const getViewsFromConfig = ({
210
212
  {
211
213
  if (globalConfig?.admin?.hideAPIURL !== true) {
212
214
  CustomView = {
213
- payloadComponent: getCustomViewByKey(views, 'api')
215
+ ComponentConfig: getCustomViewByKey(views, 'api')
214
216
  };
215
217
  DefaultView = {
216
218
  Component: DefaultAPIView
@@ -224,6 +226,9 @@ export const getViewsFromConfig = ({
224
226
  DefaultView = {
225
227
  Component: DefaultLivePreviewView
226
228
  };
229
+ CustomView = {
230
+ ComponentConfig: getCustomViewByKey(views, 'livePreview')
231
+ };
227
232
  }
228
233
  break;
229
234
  }
@@ -231,7 +236,7 @@ export const getViewsFromConfig = ({
231
236
  {
232
237
  if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {
233
238
  CustomView = {
234
- payloadComponent: getCustomViewByKey(views, 'versions')
239
+ ComponentConfig: getCustomViewByKey(views, 'versions')
235
240
  };
236
241
  DefaultView = {
237
242
  Component: DefaultVersionsView
@@ -259,7 +264,7 @@ export const getViewsFromConfig = ({
259
264
  if (customViewKey) {
260
265
  viewKey = customViewKey;
261
266
  CustomView = {
262
- payloadComponent: CustomViewComponent
267
+ ComponentConfig: CustomViewComponent
263
268
  };
264
269
  } else {
265
270
  DefaultView = {
@@ -282,7 +287,7 @@ export const getViewsFromConfig = ({
282
287
  if (segment3 === 'versions') {
283
288
  if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {
284
289
  CustomView = {
285
- payloadComponent: getCustomViewByKey(views, 'version')
290
+ ComponentConfig: getCustomViewByKey(views, 'version')
286
291
  };
287
292
  DefaultView = {
288
293
  Component: DefaultVersionView
@@ -306,7 +311,7 @@ export const getViewsFromConfig = ({
306
311
  if (customViewKey) {
307
312
  viewKey = customViewKey;
308
313
  CustomView = {
309
- payloadComponent: CustomViewComponent
314
+ ComponentConfig: CustomViewComponent
310
315
  };
311
316
  }
312
317
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getViewsFromConfig.js","names":["notFound","APIView","DefaultAPIView","EditView","DefaultEditView","LivePreviewView","DefaultLivePreviewView","UnauthorizedView","VersionView","DefaultVersionView","VersionsView","DefaultVersionsView","getCustomViewByKey","getCustomViewByRoute","getViewsFromConfig","collectionConfig","config","docPermissions","globalConfig","overrideDocPermissions","routeSegments","DefaultView","CustomView","ErrorView","viewKey","routes","admin","adminRoute","views","components","livePreviewEnabled","livePreview","collections","includes","slug","globals","collectionEntity","collectionSlug","segment3","segment4","segment5","remainingSegments","read","permission","length","create","payloadComponent","Component","baseRoute","filter","Boolean","join","currentRoute","CustomViewComponent","customViewKey","hideAPIURL","readVersions","globalEntity","globalSlug"],"sources":["../../../src/views/Document/getViewsFromConfig.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n CollectionPermission,\n GlobalPermission,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ServerSideEditViewProps,\n} from 'payload'\nimport type React from 'react'\n\nimport { notFound } from 'next/navigation.js'\n\nimport { APIView as DefaultAPIView } from '../API/index.js'\nimport { EditView as DefaultEditView } from '../Edit/index.js'\nimport { LivePreviewView as DefaultLivePreviewView } from '../LivePreview/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { VersionView as DefaultVersionView } from '../Version/index.js'\nimport { VersionsView as DefaultVersionsView } from '../Versions/index.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nexport type ViewFromConfig<TProps extends object> = {\n Component?: React.FC<TProps>\n payloadComponent?: PayloadComponent<TProps>\n}\n\nexport const getViewsFromConfig = ({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n overrideDocPermissions,\n routeSegments,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n globalConfig?: SanitizedGlobalConfig\n routeSegments: string[]\n} & (\n | {\n docPermissions: CollectionPermission | GlobalPermission\n overrideDocPermissions?: false | undefined\n }\n | {\n docPermissions?: never\n overrideDocPermissions: true\n }\n)): {\n CustomView: ViewFromConfig<ServerSideEditViewProps>\n DefaultView: ViewFromConfig<ServerSideEditViewProps>\n /**\n * The error view to display if CustomView or DefaultView do not exist (could be either due to not found, or unauthorized). Can be null\n */\n ErrorView: ViewFromConfig<AdminViewProps>\n viewKey: string\n} | null => {\n // Conditionally import and lazy load the default view\n let DefaultView: ViewFromConfig<ServerSideEditViewProps> = null\n let CustomView: ViewFromConfig<ServerSideEditViewProps> = null\n let ErrorView: ViewFromConfig<AdminViewProps> = null\n let viewKey: string\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const views =\n (collectionConfig && collectionConfig?.admin?.components?.views) ||\n (globalConfig && globalConfig?.admin?.components?.views)\n\n const livePreviewEnabled =\n (collectionConfig && collectionConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.collections?.includes(collectionConfig?.slug) ||\n (globalConfig && globalConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.globals?.includes(globalConfig?.slug)\n\n if (collectionConfig) {\n const [collectionEntity, collectionSlug, segment3, segment4, segment5, ...remainingSegments] =\n routeSegments\n\n if (!overrideDocPermissions && !docPermissions?.read?.permission) {\n notFound()\n } else {\n // `../:id`, or `../create`\n switch (routeSegments.length) {\n case 3: {\n switch (segment3) {\n case 'create': {\n if (\n !overrideDocPermissions &&\n 'create' in docPermissions &&\n docPermissions?.create?.permission\n ) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n payloadComponent: CustomViewComponent,\n }\n } else {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'default'),\n }\n\n DefaultView = {\n Component: DefaultEditView,\n }\n }\n\n break\n }\n }\n break\n }\n\n // `../:id/api`, `../:id/preview`, `../:id/versions`, etc\n case 4: {\n switch (segment4) {\n case 'api': {\n if (collectionConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n }\n break\n }\n\n case 'versions': {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'versions'),\n }\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n payloadComponent: CustomViewComponent,\n }\n }\n\n break\n }\n }\n break\n }\n\n // `../:id/versions/:version`, etc\n default: {\n if (segment4 === 'versions') {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n collectionEntity,\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n payloadComponent: CustomViewComponent,\n }\n }\n }\n\n break\n }\n }\n }\n }\n\n if (globalConfig) {\n const [globalEntity, globalSlug, segment3, ...remainingSegments] = routeSegments\n\n if (!overrideDocPermissions && !docPermissions?.read?.permission) {\n notFound()\n } else {\n switch (routeSegments.length) {\n case 2: {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n break\n }\n\n case 3: {\n // `../:slug/api`, `../:slug/preview`, `../:slug/versions`, etc\n switch (segment3) {\n case 'api': {\n if (globalConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n }\n break\n }\n\n case 'versions': {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'versions'),\n }\n\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n if (!overrideDocPermissions && docPermissions?.read?.permission) {\n const baseRoute = [adminRoute, globalEntity, globalSlug, segment3]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n payloadComponent: CustomViewComponent,\n }\n } else {\n DefaultView = {\n Component: DefaultEditView,\n }\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n }\n break\n }\n\n default: {\n // `../:slug/versions/:version`, etc\n if (segment3 === 'versions') {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n payloadComponent: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [adminRoute !== '/' && adminRoute, 'globals', globalSlug]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n payloadComponent: CustomViewComponent,\n }\n }\n }\n\n break\n }\n }\n }\n }\n\n return {\n CustomView,\n DefaultView,\n ErrorView,\n viewKey,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getViewsFromConfig.js","names":["APIView","DefaultAPIView","EditView","DefaultEditView","LivePreviewView","DefaultLivePreviewView","UnauthorizedView","VersionView","DefaultVersionView","VersionsView","DefaultVersionsView","getCustomViewByKey","getCustomViewByRoute","getViewsFromConfig","collectionConfig","config","docPermissions","globalConfig","overrideDocPermissions","routeSegments","DefaultView","CustomView","ErrorView","viewKey","routes","admin","adminRoute","views","components","livePreviewEnabled","livePreview","collections","includes","slug","globals","collectionEntity","collectionSlug","segment3","segment4","segment5","remainingSegments","read","permission","Error","length","create","ComponentConfig","Component","baseRoute","filter","Boolean","join","currentRoute","CustomViewComponent","customViewKey","hideAPIURL","readVersions","globalEntity","globalSlug"],"sources":["../../../src/views/Document/getViewsFromConfig.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n CollectionPermission,\n GlobalPermission,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ServerSideEditViewProps,\n} from 'payload'\nimport type React from 'react'\n\nimport { APIView as DefaultAPIView } from '../API/index.js'\nimport { EditView as DefaultEditView } from '../Edit/index.js'\nimport { LivePreviewView as DefaultLivePreviewView } from '../LivePreview/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { VersionView as DefaultVersionView } from '../Version/index.js'\nimport { VersionsView as DefaultVersionsView } from '../Versions/index.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nexport type ViewFromConfig<TProps extends object> = {\n Component?: React.FC<TProps>\n ComponentConfig?: PayloadComponent<TProps>\n}\n\nexport const getViewsFromConfig = ({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n overrideDocPermissions,\n routeSegments,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n globalConfig?: SanitizedGlobalConfig\n routeSegments: string[]\n} & (\n | {\n docPermissions: CollectionPermission | GlobalPermission\n overrideDocPermissions?: false | undefined\n }\n | {\n docPermissions?: never\n overrideDocPermissions: true\n }\n)): {\n CustomView: ViewFromConfig<ServerSideEditViewProps>\n DefaultView: ViewFromConfig<ServerSideEditViewProps>\n /**\n * The error view to display if CustomView or DefaultView do not exist (could be either due to not found, or unauthorized). Can be null\n */\n ErrorView: ViewFromConfig<AdminViewProps>\n viewKey: string\n} | null => {\n // Conditionally import and lazy load the default view\n let DefaultView: ViewFromConfig<ServerSideEditViewProps> = null\n let CustomView: ViewFromConfig<ServerSideEditViewProps> = null\n let ErrorView: ViewFromConfig<AdminViewProps> = null\n let viewKey: string\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const views =\n (collectionConfig && collectionConfig?.admin?.components?.views) ||\n (globalConfig && globalConfig?.admin?.components?.views)\n\n const livePreviewEnabled =\n (collectionConfig && collectionConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.collections?.includes(collectionConfig?.slug) ||\n (globalConfig && globalConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.globals?.includes(globalConfig?.slug)\n\n if (collectionConfig) {\n const [collectionEntity, collectionSlug, segment3, segment4, segment5, ...remainingSegments] =\n routeSegments\n\n if (!overrideDocPermissions && !docPermissions?.read?.permission) {\n throw new Error('not-found')\n } else {\n // `../:id`, or `../create`\n switch (routeSegments.length) {\n case 3: {\n switch (segment3) {\n case 'create': {\n if (\n !overrideDocPermissions &&\n 'create' in docPermissions &&\n docPermissions?.create?.permission\n ) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n } else {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'default'),\n }\n\n DefaultView = {\n Component: DefaultEditView,\n }\n }\n\n break\n }\n }\n break\n }\n\n // `../:id/api`, `../:id/preview`, `../:id/versions`, etc\n case 4: {\n switch (segment4) {\n case 'api': {\n if (collectionConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'livePreview'),\n }\n }\n break\n }\n\n case 'versions': {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'versions'),\n }\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n }\n\n break\n }\n }\n break\n }\n\n // `../:id/versions/:version`, etc\n default: {\n if (segment4 === 'versions') {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n collectionEntity,\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n }\n }\n\n break\n }\n }\n }\n }\n\n if (globalConfig) {\n const [globalEntity, globalSlug, segment3, ...remainingSegments] = routeSegments\n\n if (!overrideDocPermissions && !docPermissions?.read?.permission) {\n throw new Error('not-found')\n } else {\n switch (routeSegments.length) {\n case 2: {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n break\n }\n\n case 3: {\n // `../:slug/api`, `../:slug/preview`, `../:slug/versions`, etc\n switch (segment3) {\n case 'api': {\n if (globalConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'livePreview'),\n }\n }\n break\n }\n\n case 'versions': {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'versions'),\n }\n\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n if (!overrideDocPermissions && docPermissions?.read?.permission) {\n const baseRoute = [adminRoute, globalEntity, globalSlug, segment3]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n } else {\n DefaultView = {\n Component: DefaultEditView,\n }\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n }\n break\n }\n\n default: {\n // `../:slug/versions/:version`, etc\n if (segment3 === 'versions') {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [adminRoute !== '/' && adminRoute, 'globals', globalSlug]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n }\n }\n\n break\n }\n }\n }\n }\n\n return {\n CustomView,\n DefaultView,\n ErrorView,\n viewKey,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ import type { I18nClient } from '@payloadcms/translations';
2
+ import type { ClientConfig, Data, DocumentPreferences, FormState, PayloadRequest, SanitizedConfig } from 'payload';
3
+ export declare const getClientConfig: (args: {
4
+ config: SanitizedConfig;
5
+ i18n: I18nClient;
6
+ }) => ClientConfig;
7
+ type RenderDocumentResult = {
8
+ data: any;
9
+ Document: React.ReactNode;
10
+ preferences: DocumentPreferences;
11
+ };
12
+ export declare const renderDocumentHandler: (args: {
13
+ collectionSlug: string;
14
+ disableActions?: boolean;
15
+ docID: string;
16
+ drawerSlug?: string;
17
+ initialData?: Data;
18
+ initialState?: FormState;
19
+ redirectAfterDelete: boolean;
20
+ redirectAfterDuplicate: boolean;
21
+ req: PayloadRequest;
22
+ }) => Promise<RenderDocumentResult>;
23
+ export {};
24
+ //# sourceMappingURL=handleServerFunction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleServerFunction.d.ts","sourceRoot":"","sources":["../../../src/views/Document/handleServerFunction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,YAAY,EACZ,IAAI,EACJ,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,eAAe,EAEhB,MAAM,SAAS,CAAA;AAahB,eAAO,MAAM,eAAe,SAAU;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,YAaH,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,EAAE,mBAAmB,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,qBAAqB,SAAgB;IAChD,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,sBAAsB,EAAE,OAAO,CAAA;IAC/B,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC,oBAAoB,CA0I/B,CAAA"}
@@ -0,0 +1,156 @@
1
+ import { headers as getHeaders } from 'next/headers.js';
2
+ import { createClientConfig, getAccessResults, isEntityHidden, parseCookies } from 'payload';
3
+ import { renderDocument } from './index.js';
4
+ let cachedClientConfig = global._payload_clientConfig;
5
+ if (!cachedClientConfig) {
6
+ cachedClientConfig = global._payload_clientConfig = null;
7
+ }
8
+ export const getClientConfig = args => {
9
+ const {
10
+ config,
11
+ i18n
12
+ } = args;
13
+ if (cachedClientConfig && process.env.NODE_ENV !== 'development') {
14
+ return cachedClientConfig;
15
+ }
16
+ cachedClientConfig = createClientConfig({
17
+ config,
18
+ i18n
19
+ });
20
+ return cachedClientConfig;
21
+ };
22
+ export const renderDocumentHandler = async args => {
23
+ const {
24
+ collectionSlug,
25
+ disableActions,
26
+ docID,
27
+ drawerSlug,
28
+ initialData,
29
+ redirectAfterDelete,
30
+ redirectAfterDuplicate,
31
+ req,
32
+ req: {
33
+ i18n,
34
+ payload,
35
+ payload: {
36
+ config
37
+ },
38
+ user
39
+ }
40
+ } = args;
41
+ const headers = await getHeaders();
42
+ const cookies = parseCookies(headers);
43
+ const incomingUserSlug = user?.collection;
44
+ const adminUserSlug = config.admin.user;
45
+ // If we have a user slug, test it against the functions
46
+ if (incomingUserSlug) {
47
+ const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin;
48
+ // Run the admin access function from the config if it exists
49
+ if (adminAccessFunction) {
50
+ const canAccessAdmin = await adminAccessFunction({
51
+ req
52
+ });
53
+ if (!canAccessAdmin) {
54
+ throw new Error('Unauthorized');
55
+ }
56
+ // Match the user collection to the global admin config
57
+ } else if (adminUserSlug !== incomingUserSlug) {
58
+ throw new Error('Unauthorized');
59
+ }
60
+ } else {
61
+ const hasUsers = await payload.find({
62
+ collection: adminUserSlug,
63
+ depth: 0,
64
+ limit: 1,
65
+ pagination: false
66
+ });
67
+ // If there are users, we should not allow access because of /create-first-user
68
+ if (hasUsers.docs.length) {
69
+ throw new Error('Unauthorized');
70
+ }
71
+ }
72
+ const clientConfig = getClientConfig({
73
+ config,
74
+ i18n
75
+ });
76
+ let preferences;
77
+ if (docID) {
78
+ const preferencesKey = `${collectionSlug}-edit-${docID}`;
79
+ preferences = await payload.find({
80
+ collection: 'payload-preferences',
81
+ depth: 0,
82
+ limit: 1,
83
+ where: {
84
+ and: [{
85
+ key: {
86
+ equals: preferencesKey
87
+ }
88
+ }, {
89
+ 'user.relationTo': {
90
+ equals: user.collection
91
+ }
92
+ }, {
93
+ 'user.value': {
94
+ equals: user.id
95
+ }
96
+ }]
97
+ }
98
+ }).then(res => res.docs[0]?.value);
99
+ }
100
+ const visibleEntities = {
101
+ collections: payload.config.collections.map(({
102
+ slug,
103
+ admin: {
104
+ hidden
105
+ }
106
+ }) => !isEntityHidden({
107
+ hidden,
108
+ user
109
+ }) ? slug : null).filter(Boolean),
110
+ globals: payload.config.globals.map(({
111
+ slug,
112
+ admin: {
113
+ hidden
114
+ }
115
+ }) => !isEntityHidden({
116
+ hidden,
117
+ user
118
+ }) ? slug : null).filter(Boolean)
119
+ };
120
+ const permissions = await getAccessResults({
121
+ req
122
+ });
123
+ const {
124
+ data,
125
+ Document
126
+ } = await renderDocument({
127
+ clientConfig,
128
+ disableActions,
129
+ drawerSlug,
130
+ importMap: payload.importMap,
131
+ initialData,
132
+ initPageResult: {
133
+ collectionConfig: payload.config.collections.find(collection => collection.slug === collectionSlug),
134
+ cookies,
135
+ docID,
136
+ globalConfig: payload.config.globals.find(global1 => global1.slug === collectionSlug),
137
+ languageOptions: undefined,
138
+ permissions,
139
+ req,
140
+ translations: undefined,
141
+ visibleEntities
142
+ },
143
+ params: {
144
+ segments: ['collections', collectionSlug, docID]
145
+ },
146
+ redirectAfterDelete,
147
+ redirectAfterDuplicate,
148
+ searchParams: {}
149
+ });
150
+ return {
151
+ data,
152
+ Document,
153
+ preferences
154
+ };
155
+ };
156
+ //# sourceMappingURL=handleServerFunction.js.map