@payloadcms/next 3.0.0-canary.51be7be → 3.0.0-canary.5624723

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 (431) hide show
  1. package/dist/cjs/withPayload.cjs +22 -1
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -0
  5. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +13 -15
  9. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -2
  11. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  12. package/dist/elements/DocumentHeader/Tabs/index.js +9 -14
  13. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  14. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +13 -28
  16. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  18. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  20. package/dist/elements/DocumentHeader/index.d.ts +2 -3
  21. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  22. package/dist/elements/DocumentHeader/index.js +9 -12
  23. package/dist/elements/DocumentHeader/index.js.map +1 -1
  24. package/dist/elements/Logo/index.d.ts.map +1 -1
  25. package/dist/elements/Logo/index.js +5 -6
  26. package/dist/elements/Logo/index.js.map +1 -1
  27. package/dist/elements/Nav/getNavPrefs.d.ts +6 -0
  28. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -0
  29. package/dist/elements/Nav/getNavPrefs.js +26 -0
  30. package/dist/elements/Nav/getNavPrefs.js.map +1 -0
  31. package/dist/elements/Nav/index.client.d.ts +6 -1
  32. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  33. package/dist/elements/Nav/index.client.js +44 -94
  34. package/dist/elements/Nav/index.client.js.map +1 -1
  35. package/dist/elements/Nav/index.d.ts.map +1 -1
  36. package/dist/elements/Nav/index.js +66 -23
  37. package/dist/elements/Nav/index.js.map +1 -1
  38. package/dist/exports/layouts.d.ts +1 -0
  39. package/dist/exports/layouts.d.ts.map +1 -1
  40. package/dist/exports/layouts.js +1 -0
  41. package/dist/exports/layouts.js.map +1 -1
  42. package/dist/exports/routes.d.ts +1 -1
  43. package/dist/exports/routes.d.ts.map +1 -1
  44. package/dist/exports/routes.js +1 -1
  45. package/dist/exports/routes.js.map +1 -1
  46. package/dist/exports/utilities.d.ts +1 -1
  47. package/dist/exports/utilities.d.ts.map +1 -1
  48. package/dist/exports/utilities.js +2 -1
  49. package/dist/exports/utilities.js.map +1 -1
  50. package/dist/exports/views.d.ts +0 -2
  51. package/dist/exports/views.d.ts.map +1 -1
  52. package/dist/exports/views.js +0 -2
  53. package/dist/exports/views.js.map +1 -1
  54. package/dist/fetchAPI-multipart/isEligibleRequest.js +1 -1
  55. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  56. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  57. package/dist/fetchAPI-multipart/processMultipart.js +9 -11
  58. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  59. package/dist/layouts/Root/NestProviders.d.ts +11 -0
  60. package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
  61. package/dist/layouts/Root/NestProviders.js +21 -0
  62. package/dist/layouts/Root/NestProviders.js.map +1 -0
  63. package/dist/layouts/Root/checkDependencies.d.ts +2 -0
  64. package/dist/layouts/Root/checkDependencies.d.ts.map +1 -0
  65. package/dist/layouts/Root/checkDependencies.js +49 -0
  66. package/dist/layouts/Root/checkDependencies.js.map +1 -0
  67. package/dist/layouts/Root/index.d.ts +4 -3
  68. package/dist/layouts/Root/index.d.ts.map +1 -1
  69. package/dist/layouts/Root/index.js +35 -96
  70. package/dist/layouts/Root/index.js.map +1 -1
  71. package/dist/prod/styles.css +1 -1
  72. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  73. package/dist/routes/rest/collections/create.js +5 -1
  74. package/dist/routes/rest/collections/create.js.map +1 -1
  75. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  76. package/dist/routes/rest/collections/delete.js +6 -0
  77. package/dist/routes/rest/collections/delete.js.map +1 -1
  78. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  79. package/dist/routes/rest/collections/deleteByID.js +5 -1
  80. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  81. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  82. package/dist/routes/rest/collections/duplicate.js +5 -1
  83. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  84. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  85. package/dist/routes/rest/collections/find.js +7 -1
  86. package/dist/routes/rest/collections/find.js.map +1 -1
  87. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  88. package/dist/routes/rest/collections/findByID.js +5 -1
  89. package/dist/routes/rest/collections/findByID.js.map +1 -1
  90. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  91. package/dist/routes/rest/collections/findVersionByID.js +5 -1
  92. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  93. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  94. package/dist/routes/rest/collections/findVersions.js +7 -1
  95. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  96. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  97. package/dist/routes/rest/collections/restoreVersion.js +2 -0
  98. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  99. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  100. package/dist/routes/rest/collections/update.js +6 -0
  101. package/dist/routes/rest/collections/update.js.map +1 -1
  102. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  103. package/dist/routes/rest/collections/updateByID.js +5 -1
  104. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  105. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  106. package/dist/routes/rest/globals/findOne.js +5 -1
  107. package/dist/routes/rest/globals/findOne.js.map +1 -1
  108. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  109. package/dist/routes/rest/globals/findVersionByID.js +5 -1
  110. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  111. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  112. package/dist/routes/rest/globals/findVersions.js +7 -1
  113. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  114. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  115. package/dist/routes/rest/globals/restoreVersion.js +2 -0
  116. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  117. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  118. package/dist/routes/rest/globals/update.js +5 -1
  119. package/dist/routes/rest/globals/update.js.map +1 -1
  120. package/dist/routes/rest/index.d.ts +5 -0
  121. package/dist/routes/rest/index.d.ts.map +1 -1
  122. package/dist/routes/rest/index.js +73 -10
  123. package/dist/routes/rest/index.js.map +1 -1
  124. package/dist/routes/rest/og/image.d.ts +4 -2
  125. package/dist/routes/rest/og/image.d.ts.map +1 -1
  126. package/dist/routes/rest/og/image.js +7 -3
  127. package/dist/routes/rest/og/image.js.map +1 -1
  128. package/dist/routes/rest/og/index.d.ts.map +1 -1
  129. package/dist/routes/rest/og/index.js +7 -12
  130. package/dist/routes/rest/og/index.js.map +1 -1
  131. package/dist/routes/rest/routeError.d.ts.map +1 -1
  132. package/dist/routes/rest/routeError.js +10 -50
  133. package/dist/routes/rest/routeError.js.map +1 -1
  134. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +1 -1
  135. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -1
  136. package/dist/routes/rest/utilities/sanitizeJoinParams.js +9 -5
  137. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -1
  138. package/dist/routes/rest/utilities/sanitizePopulate.d.ts +3 -0
  139. package/dist/routes/rest/utilities/sanitizePopulate.d.ts.map +1 -0
  140. package/dist/routes/rest/utilities/sanitizePopulate.js +11 -0
  141. package/dist/routes/rest/utilities/sanitizePopulate.js.map +1 -0
  142. package/dist/routes/rest/utilities/sanitizeSelect.d.ts +6 -0
  143. package/dist/routes/rest/utilities/sanitizeSelect.d.ts.map +1 -0
  144. package/dist/routes/rest/utilities/sanitizeSelect.js +17 -0
  145. package/dist/routes/rest/utilities/sanitizeSelect.js.map +1 -0
  146. package/dist/templates/Default/index.d.ts +2 -1
  147. package/dist/templates/Default/index.d.ts.map +1 -1
  148. package/dist/templates/Default/index.js +97 -41
  149. package/dist/templates/Default/index.js.map +1 -1
  150. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  151. package/dist/utilities/addLocalesToRequest.js +18 -8
  152. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  153. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  154. package/dist/utilities/createPayloadRequest.js +15 -13
  155. package/dist/utilities/createPayloadRequest.js.map +1 -1
  156. package/dist/utilities/getClientConfig.d.ts +8 -0
  157. package/dist/utilities/getClientConfig.d.ts.map +1 -0
  158. package/dist/utilities/getClientConfig.js +16 -0
  159. package/dist/utilities/getClientConfig.js.map +1 -0
  160. package/dist/utilities/getPayloadHMR.d.ts +1 -2
  161. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  162. package/dist/utilities/getPayloadHMR.js +4 -102
  163. package/dist/utilities/getPayloadHMR.js.map +1 -1
  164. package/dist/utilities/getRequestLocales.d.ts.map +1 -1
  165. package/dist/utilities/getRequestLocales.js +10 -6
  166. package/dist/utilities/getRequestLocales.js.map +1 -1
  167. package/dist/utilities/handleServerFunctions.d.ts +3 -0
  168. package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
  169. package/dist/utilities/handleServerFunctions.js +35 -0
  170. package/dist/utilities/handleServerFunctions.js.map +1 -0
  171. package/dist/utilities/initPage/handleAdminPage.d.ts +2 -1
  172. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  173. package/dist/utilities/initPage/handleAdminPage.js +9 -1
  174. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  175. package/dist/utilities/initPage/handleAuthRedirect.js +2 -2
  176. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  177. package/dist/utilities/initPage/index.d.ts.map +1 -1
  178. package/dist/utilities/initPage/index.js +10 -5
  179. package/dist/utilities/initPage/index.js.map +1 -1
  180. package/dist/utilities/initPage/isCustomAdminView.d.ts +10 -0
  181. package/dist/utilities/initPage/isCustomAdminView.d.ts.map +1 -0
  182. package/dist/utilities/initPage/isCustomAdminView.js +31 -0
  183. package/dist/utilities/initPage/isCustomAdminView.js.map +1 -0
  184. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  185. package/dist/utilities/initPage/shared.js +2 -1
  186. package/dist/utilities/initPage/shared.js.map +1 -1
  187. package/dist/utilities/initReq.d.ts +3 -3
  188. package/dist/utilities/initReq.d.ts.map +1 -1
  189. package/dist/utilities/initReq.js +5 -6
  190. package/dist/utilities/initReq.js.map +1 -1
  191. package/dist/views/API/LocaleSelector/index.js +2 -2
  192. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  193. package/dist/views/API/index.client.d.ts.map +1 -1
  194. package/dist/views/API/index.client.js +16 -16
  195. package/dist/views/API/index.client.js.map +1 -1
  196. package/dist/views/Account/Settings/index.js +0 -1
  197. package/dist/views/Account/Settings/index.js.map +1 -1
  198. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  199. package/dist/views/Account/ToggleTheme/index.js +2 -0
  200. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  201. package/dist/views/Account/index.d.ts.map +1 -1
  202. package/dist/views/Account/index.js +81 -28
  203. package/dist/views/Account/index.js.map +1 -1
  204. package/dist/views/CreateFirstUser/index.client.d.ts +3 -1
  205. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  206. package/dist/views/CreateFirstUser/index.client.js +83 -108
  207. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  208. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  209. package/dist/views/CreateFirstUser/index.js +36 -4
  210. package/dist/views/CreateFirstUser/index.js.map +1 -1
  211. package/dist/views/Dashboard/Default/index.d.ts +5 -3
  212. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  213. package/dist/views/Dashboard/Default/index.js +58 -47
  214. package/dist/views/Dashboard/Default/index.js.map +1 -1
  215. package/dist/views/Dashboard/index.d.ts.map +1 -1
  216. package/dist/views/Dashboard/index.js +55 -37
  217. package/dist/views/Dashboard/index.js.map +1 -1
  218. package/dist/views/Document/getDocPreferences.d.ts +11 -0
  219. package/dist/views/Document/getDocPreferences.d.ts.map +1 -0
  220. package/dist/views/Document/getDocPreferences.js +44 -0
  221. package/dist/views/Document/getDocPreferences.js.map +1 -0
  222. package/dist/views/Document/getDocumentData.d.ts +10 -11
  223. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  224. package/dist/views/Document/getDocumentData.js +35 -45
  225. package/dist/views/Document/getDocumentData.js.map +1 -1
  226. package/dist/views/Document/getDocumentPermissions.d.ts +2 -2
  227. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  228. package/dist/views/Document/getDocumentPermissions.js +10 -7
  229. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  230. package/dist/views/Document/getIsLocked.d.ts +16 -0
  231. package/dist/views/Document/getIsLocked.d.ts.map +1 -0
  232. package/dist/views/Document/getIsLocked.js +55 -0
  233. package/dist/views/Document/getIsLocked.js.map +1 -0
  234. package/dist/views/Document/getVersions.d.ts +19 -0
  235. package/dist/views/Document/getVersions.d.ts.map +1 -0
  236. package/dist/views/Document/getVersions.js +181 -0
  237. package/dist/views/Document/getVersions.js.map +1 -0
  238. package/dist/views/Document/getViewsFromConfig.d.ts +3 -3
  239. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  240. package/dist/views/Document/getViewsFromConfig.js +30 -25
  241. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  242. package/dist/views/Document/handleServerFunction.d.ts +25 -0
  243. package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
  244. package/dist/views/Document/handleServerFunction.js +159 -0
  245. package/dist/views/Document/handleServerFunction.js.map +1 -0
  246. package/dist/views/Document/index.d.ts +5 -1
  247. package/dist/views/Document/index.d.ts.map +1 -1
  248. package/dist/views/Document/index.js +184 -73
  249. package/dist/views/Document/index.js.map +1 -1
  250. package/dist/views/Document/renderDocumentSlots.d.ts +12 -0
  251. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
  252. package/dist/views/Document/renderDocumentSlots.js +92 -0
  253. package/dist/views/Document/renderDocumentSlots.js.map +1 -0
  254. package/dist/views/Edit/index.d.ts +3 -2
  255. package/dist/views/Edit/index.d.ts.map +1 -1
  256. package/dist/views/Edit/index.js +7 -3
  257. package/dist/views/Edit/index.js.map +1 -1
  258. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  259. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +5 -1
  260. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  261. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  262. package/dist/views/ForgotPassword/index.js +2 -0
  263. package/dist/views/ForgotPassword/index.js.map +1 -1
  264. package/dist/views/List/handleServerFunction.d.ts +27 -0
  265. package/dist/views/List/handleServerFunction.d.ts.map +1 -0
  266. package/dist/views/List/handleServerFunction.js +158 -0
  267. package/dist/views/List/handleServerFunction.js.map +1 -0
  268. package/dist/views/List/index.d.ts +12 -2
  269. package/dist/views/List/index.d.ts.map +1 -1
  270. package/dist/views/List/index.js +145 -85
  271. package/dist/views/List/index.js.map +1 -1
  272. package/dist/views/List/renderListViewSlots.d.ts +12 -0
  273. package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
  274. package/dist/views/List/renderListViewSlots.js +56 -0
  275. package/dist/views/List/renderListViewSlots.js.map +1 -0
  276. package/dist/views/LivePreview/Context/sizeReducer.d.ts +1 -1
  277. package/dist/views/LivePreview/Context/sizeReducer.d.ts.map +1 -1
  278. package/dist/views/LivePreview/Context/sizeReducer.js +4 -4
  279. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  280. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  281. package/dist/views/LivePreview/index.client.js +52 -42
  282. package/dist/views/LivePreview/index.client.js.map +1 -1
  283. package/dist/views/LivePreview/index.d.ts.map +1 -1
  284. package/dist/views/LivePreview/index.js +5 -36
  285. package/dist/views/LivePreview/index.js.map +1 -1
  286. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  287. package/dist/views/Login/LoginField/index.js +6 -1
  288. package/dist/views/Login/LoginField/index.js.map +1 -1
  289. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  290. package/dist/views/Login/LoginForm/index.js +3 -1
  291. package/dist/views/Login/LoginForm/index.js.map +1 -1
  292. package/dist/views/Login/index.d.ts.map +1 -1
  293. package/dist/views/Login/index.js +26 -20
  294. package/dist/views/Login/index.js.map +1 -1
  295. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  296. package/dist/views/Logout/LogoutClient.js +5 -4
  297. package/dist/views/Logout/LogoutClient.js.map +1 -1
  298. package/dist/views/NotFound/index.d.ts.map +1 -1
  299. package/dist/views/NotFound/index.js +3 -0
  300. package/dist/views/NotFound/index.js.map +1 -1
  301. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -1
  302. package/dist/views/ResetPassword/ResetPasswordForm/index.js +13 -12
  303. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  304. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  305. package/dist/views/ResetPassword/index.js +2 -0
  306. package/dist/views/ResetPassword/index.js.map +1 -1
  307. package/dist/views/Root/getViewFromConfig.d.ts +3 -1
  308. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  309. package/dist/views/Root/getViewFromConfig.js +128 -7
  310. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  311. package/dist/views/Root/index.d.ts.map +1 -1
  312. package/dist/views/Root/index.js +35 -15
  313. package/dist/views/Root/index.js.map +1 -1
  314. package/dist/views/Version/Default/index.d.ts.map +1 -1
  315. package/dist/views/Version/Default/index.js +3 -5
  316. package/dist/views/Version/Default/index.js.map +1 -1
  317. package/dist/views/Version/Default/types.d.ts +2 -2
  318. package/dist/views/Version/Default/types.d.ts.map +1 -1
  319. package/dist/views/Version/Default/types.js.map +1 -1
  320. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +4 -2
  321. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  322. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  323. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  324. package/dist/views/Version/RenderFieldsToDiff/index.js +3 -3
  325. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  326. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +4 -2
  327. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  328. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  329. package/dist/views/Version/Restore/index.js +1 -1
  330. package/dist/views/Version/Restore/index.js.map +1 -1
  331. package/dist/views/Version/index.d.ts.map +1 -1
  332. package/dist/views/Version/index.js.map +1 -1
  333. package/dist/views/Versions/buildColumns.d.ts +3 -2
  334. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  335. package/dist/views/Versions/buildColumns.js +33 -61
  336. package/dist/views/Versions/buildColumns.js.map +1 -1
  337. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -0
  338. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  339. package/dist/views/Versions/cells/AutosaveCell/index.js +48 -37
  340. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  341. package/dist/views/Versions/cells/CreatedAt/index.d.ts +4 -0
  342. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  343. package/dist/views/Versions/cells/CreatedAt/index.js +43 -44
  344. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  345. package/dist/views/Versions/cells/ID/index.d.ts +3 -1
  346. package/dist/views/Versions/cells/ID/index.d.ts.map +1 -1
  347. package/dist/views/Versions/cells/ID/index.js +7 -19
  348. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  349. package/dist/views/Versions/getLatestVersion.js +1 -1
  350. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  351. package/dist/views/Versions/index.client.d.ts.map +1 -1
  352. package/dist/views/Versions/index.client.js +53 -51
  353. package/dist/views/Versions/index.client.js.map +1 -1
  354. package/dist/views/Versions/index.d.ts.map +1 -1
  355. package/dist/views/Versions/index.js +5 -6
  356. package/dist/views/Versions/index.js.map +1 -1
  357. package/dist/withPayload.d.ts.map +1 -1
  358. package/dist/withPayload.js +19 -1
  359. package/dist/withPayload.js.map +1 -1
  360. package/license.md +22 -0
  361. package/package.json +18 -11
  362. package/dist/elements/DocumentLocked/index.d.ts +0 -12
  363. package/dist/elements/DocumentLocked/index.d.ts.map +0 -1
  364. package/dist/elements/DocumentLocked/index.js +0 -142
  365. package/dist/elements/DocumentLocked/index.js.map +0 -1
  366. package/dist/elements/DocumentLocked/index.scss +0 -39
  367. package/dist/elements/DocumentTakeOver/index.d.ts +0 -8
  368. package/dist/elements/DocumentTakeOver/index.d.ts.map +0 -1
  369. package/dist/elements/DocumentTakeOver/index.js +0 -98
  370. package/dist/elements/DocumentTakeOver/index.js.map +0 -1
  371. package/dist/elements/DocumentTakeOver/index.scss +0 -39
  372. package/dist/elements/EmailAndUsername/index.d.ts +0 -14
  373. package/dist/elements/EmailAndUsername/index.d.ts.map +0 -1
  374. package/dist/elements/EmailAndUsername/index.js +0 -121
  375. package/dist/elements/EmailAndUsername/index.js.map +0 -1
  376. package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -4
  377. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +0 -1
  378. package/dist/elements/LeaveWithoutSaving/index.js +0 -162
  379. package/dist/elements/LeaveWithoutSaving/index.js.map +0 -1
  380. package/dist/elements/LeaveWithoutSaving/index.scss +0 -39
  381. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +0 -9
  382. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +0 -1
  383. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +0 -136
  384. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +0 -1
  385. package/dist/routes/rest/buildFormState.d.ts +0 -5
  386. package/dist/routes/rest/buildFormState.d.ts.map +0 -1
  387. package/dist/routes/rest/buildFormState.js +0 -46
  388. package/dist/routes/rest/buildFormState.js.map +0 -1
  389. package/dist/views/Edit/Default/Auth/APIKey.d.ts +0 -6
  390. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +0 -1
  391. package/dist/views/Edit/Default/Auth/APIKey.js +0 -131
  392. package/dist/views/Edit/Default/Auth/APIKey.js.map +0 -1
  393. package/dist/views/Edit/Default/Auth/index.d.ts +0 -5
  394. package/dist/views/Edit/Default/Auth/index.d.ts.map +0 -1
  395. package/dist/views/Edit/Default/Auth/index.js +0 -307
  396. package/dist/views/Edit/Default/Auth/index.js.map +0 -1
  397. package/dist/views/Edit/Default/Auth/index.scss +0 -78
  398. package/dist/views/Edit/Default/Auth/types.d.ts +0 -17
  399. package/dist/views/Edit/Default/Auth/types.d.ts.map +0 -1
  400. package/dist/views/Edit/Default/Auth/types.js +0 -2
  401. package/dist/views/Edit/Default/Auth/types.js.map +0 -1
  402. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -11
  403. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +0 -1
  404. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +0 -130
  405. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +0 -1
  406. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -8
  407. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +0 -1
  408. package/dist/views/Edit/Default/SetDocumentTitle/index.js +0 -81
  409. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +0 -1
  410. package/dist/views/Edit/Default/index.d.ts +0 -4
  411. package/dist/views/Edit/Default/index.d.ts.map +0 -1
  412. package/dist/views/Edit/Default/index.js +0 -342
  413. package/dist/views/Edit/Default/index.js.map +0 -1
  414. package/dist/views/Edit/Default/index.scss +0 -23
  415. package/dist/views/Edit/Default/types.d.ts +0 -6
  416. package/dist/views/Edit/Default/types.d.ts.map +0 -1
  417. package/dist/views/Edit/Default/types.js +0 -2
  418. package/dist/views/Edit/Default/types.js.map +0 -1
  419. package/dist/views/Edit/index.client.d.ts +0 -3
  420. package/dist/views/Edit/index.client.d.ts.map +0 -1
  421. package/dist/views/Edit/index.client.js +0 -54
  422. package/dist/views/Edit/index.client.js.map +0 -1
  423. package/dist/views/List/Default/index.d.ts +0 -4
  424. package/dist/views/List/Default/index.d.ts.map +0 -1
  425. package/dist/views/List/Default/index.js +0 -387
  426. package/dist/views/List/Default/index.js.map +0 -1
  427. package/dist/views/List/Default/index.scss +0 -179
  428. package/dist/views/List/Default/types.d.ts +0 -15
  429. package/dist/views/List/Default/types.d.ts.map +0 -1
  430. package/dist/views/List/Default/types.js +0 -2
  431. package/dist/views/List/Default/types.js.map +0 -1
@@ -12,6 +12,7 @@ export const processMultipart = async ({
12
12
  request
13
13
  }) => {
14
14
  let parsingRequest = true;
15
+ let shouldAbortProccessing = false;
15
16
  let fileCount = 0;
16
17
  let filesCompleted = 0;
17
18
  let allFilesHaveResolved;
@@ -28,15 +29,16 @@ export const processMultipart = async ({
28
29
  request.headers.forEach((value, name) => {
29
30
  headersObject[name] = value;
30
31
  });
31
- function abortAndDestroyFile(file, err) {
32
- file.destroy();
33
- parsingRequest = false;
34
- failedResolvingFiles(err);
35
- }
32
+ const reader = request.body.getReader();
36
33
  const busboy = Busboy({
37
34
  ...options,
38
35
  headers: headersObject
39
36
  });
37
+ function abortAndDestroyFile(file, err) {
38
+ file.destroy();
39
+ shouldAbortProccessing = true;
40
+ failedResolvingFiles(err);
41
+ }
40
42
  // Build multipart req.body fields
41
43
  busboy.on('field', (field, val) => {
42
44
  result.fields = buildFields(result.fields, field, val);
@@ -113,7 +115,7 @@ export const processMultipart = async ({
113
115
  mimetype: mime,
114
116
  size,
115
117
  tempFilePath: getFilePath(),
116
- truncated: Boolean('truncated' in file && file.truncated)
118
+ truncated: Boolean('truncated' in file && file.truncated) || false
117
119
  }, options));
118
120
  if (!request[waitFlushProperty]) {
119
121
  request[waitFlushProperty] = [];
@@ -133,7 +135,6 @@ export const processMultipart = async ({
133
135
  debugLog(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`);
134
136
  uploadTimer.set();
135
137
  });
136
- // TODO: Valid eslint error - this will likely be a floating promise. Evaluate if we need to handle this differently.
137
138
  busboy.on('finish', async () => {
138
139
  debugLog(options, `Busboy finished parsing request.`);
139
140
  if (options.parseNested) {
@@ -153,11 +154,8 @@ export const processMultipart = async ({
153
154
  });
154
155
  busboy.on('error', (err = new APIError('Busboy error parsing multipart request', httpStatus.BAD_REQUEST)) => {
155
156
  debugLog(options, `Busboy error`);
156
- parsingRequest = false;
157
157
  throw err;
158
158
  });
159
- const reader = request.body.getReader();
160
- // Start parsing request
161
159
  while (parsingRequest) {
162
160
  const {
163
161
  done,
@@ -166,7 +164,7 @@ export const processMultipart = async ({
166
164
  if (done) {
167
165
  parsingRequest = false;
168
166
  }
169
- if (value) {
167
+ if (value && !shouldAbortProccessing) {
170
168
  busboy.write(value);
171
169
  }
172
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"processMultipart.js","names":["Busboy","httpStatus","APIError","fileFactory","memHandler","tempFileHandler","processNested","createUploadTimer","buildFields","debugLog","isFunc","parseFileName","waitFlushProperty","Symbol","processMultipart","options","request","parsingRequest","fileCount","filesCompleted","allFilesHaveResolved","failedResolvingFiles","allFilesComplete","Promise","res","rej","result","fields","undefined","files","headersObject","headers","forEach","value","name","abortAndDestroyFile","file","err","destroy","busboy","on","field","val","info","encoding","filename","mimeType","mime","cleanup","complete","dataHandler","getFilePath","getFileSize","getHash","getWritePromise","useTempFiles","writePromise","catch","end","uploadTimer","uploadTimeout","clear","limitHandler","size","abortOnLimit","responseOnLimit","REQUEST_ENTITY_TOO_LARGE","data","set","buffer","hash","mimetype","tempFilePath","truncated","Boolean","push","message","parseNested","all","then","BAD_REQUEST","reader","body","getReader","done","read","write","e"],"sources":["../../src/fetchAPI-multipart/processMultipart.ts"],"sourcesContent":["import type { FetchAPIFileUploadOptions } from 'payload'\nimport type { Readable } from 'stream'\n\nimport Busboy from 'busboy'\nimport httpStatus from 'http-status'\nimport { APIError } from 'payload'\n\nimport type { FetchAPIFileUploadResponse } from './index.js'\n\nimport { fileFactory } from './fileFactory.js'\nimport { memHandler, tempFileHandler } from './handlers.js'\nimport { processNested } from './processNested.js'\nimport { createUploadTimer } from './uploadTimer.js'\nimport { buildFields, debugLog, isFunc, parseFileName } from './utilities.js'\n\nconst waitFlushProperty = Symbol('wait flush property symbol')\n\ntype ProcessMultipart = (args: {\n options: FetchAPIFileUploadOptions\n request: Request\n}) => Promise<FetchAPIFileUploadResponse>\nexport const processMultipart: ProcessMultipart = async ({ options, request }) => {\n let parsingRequest = true\n\n let fileCount = 0\n let filesCompleted = 0\n let allFilesHaveResolved: (value?: unknown) => void\n let failedResolvingFiles: (err: Error) => void\n\n const allFilesComplete = new Promise((res, rej) => {\n allFilesHaveResolved = res\n failedResolvingFiles = rej\n })\n\n const result: FetchAPIFileUploadResponse = {\n fields: undefined,\n files: undefined,\n }\n\n const headersObject = {}\n request.headers.forEach((value, name) => {\n headersObject[name] = value\n })\n\n function abortAndDestroyFile(file: Readable, err: APIError) {\n file.destroy()\n parsingRequest = false\n failedResolvingFiles(err)\n }\n\n const busboy = Busboy({ ...options, headers: headersObject })\n\n // Build multipart req.body fields\n busboy.on('field', (field, val) => {\n result.fields = buildFields(result.fields, field, val)\n })\n\n // Build req.files fields\n busboy.on('file', (field, file, info) => {\n fileCount += 1\n // Parse file name(cutting huge names, decoding, etc..).\n const { encoding, filename: name, mimeType: mime } = info\n const filename = parseFileName(options, name)\n\n // Define methods and handlers for upload process.\n const { cleanup, complete, dataHandler, getFilePath, getFileSize, getHash, getWritePromise } =\n options.useTempFiles\n ? tempFileHandler(options, field, filename) // Upload into temporary file.\n : memHandler(options, field, filename) // Upload into RAM.\n\n const writePromise = options.useTempFiles\n ? getWritePromise().catch((err) => {\n busboy.end()\n cleanup()\n })\n : getWritePromise()\n\n const uploadTimer = createUploadTimer(options.uploadTimeout, () => {\n return abortAndDestroyFile(\n file,\n new APIError(`Upload timeout for ${field}->${filename}, bytes:${getFileSize()}`),\n )\n })\n\n file.on('limit', () => {\n debugLog(options, `Size limit reached for ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.clear()\n\n if (isFunc(options.limitHandler)) {\n options.limitHandler({ request, size: getFileSize() })\n }\n\n // Return error and cleanup files if abortOnLimit set.\n if (options.abortOnLimit) {\n debugLog(options, `Upload file size limit reached ${field}->${filename}.`)\n cleanup()\n abortAndDestroyFile(\n file,\n new APIError(options.responseOnLimit, httpStatus.REQUEST_ENTITY_TOO_LARGE, {\n size: getFileSize(),\n }),\n )\n }\n })\n\n file.on('data', (data) => {\n uploadTimer.set()\n dataHandler(data)\n })\n\n file.on('end', () => {\n const size = getFileSize()\n debugLog(options, `Upload finished ${field}->${filename}, bytes:${size}`)\n uploadTimer.clear()\n\n if (!name && size === 0) {\n fileCount -= 1\n if (options.useTempFiles) {\n cleanup()\n debugLog(options, `Removing the empty file ${field}->${filename}`)\n }\n return debugLog(options, `Don't add file instance if original name and size are empty`)\n }\n\n filesCompleted += 1\n\n result.files = buildFields(\n result.files,\n field,\n fileFactory(\n {\n name: filename,\n buffer: complete(),\n encoding,\n hash: getHash(),\n mimetype: mime,\n size,\n tempFilePath: getFilePath(),\n truncated: Boolean('truncated' in file && file.truncated),\n },\n options,\n ),\n )\n\n if (!request[waitFlushProperty]) {\n request[waitFlushProperty] = []\n }\n request[waitFlushProperty].push(writePromise)\n\n if (filesCompleted === fileCount) {\n allFilesHaveResolved()\n }\n })\n\n file.on('error', (err) => {\n uploadTimer.clear()\n debugLog(options, `File Error: ${err.message}`)\n cleanup()\n failedResolvingFiles(err)\n })\n\n // Start upload process.\n debugLog(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.set()\n })\n\n // TODO: Valid eslint error - this will likely be a floating promise. Evaluate if we need to handle this differently.\n\n busboy.on('finish', async () => {\n debugLog(options, `Busboy finished parsing request.`)\n if (options.parseNested) {\n result.fields = processNested(result.fields)\n result.files = processNested(result.files)\n }\n\n if (request[waitFlushProperty]) {\n try {\n await Promise.all(request[waitFlushProperty]).then(() => {\n delete request[waitFlushProperty]\n })\n } catch (err) {\n debugLog(options, `Error waiting for file write promises: ${err}`)\n }\n }\n\n return result\n })\n\n busboy.on(\n 'error',\n (err = new APIError('Busboy error parsing multipart request', httpStatus.BAD_REQUEST)) => {\n debugLog(options, `Busboy error`)\n parsingRequest = false\n throw err\n },\n )\n\n const reader = request.body.getReader()\n\n // Start parsing request\n while (parsingRequest) {\n const { done, value } = await reader.read()\n\n if (done) {\n parsingRequest = false\n }\n\n if (value) {\n busboy.write(value)\n }\n }\n\n if (fileCount !== 0) {\n await allFilesComplete.catch((e) => {\n throw e\n })\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"processMultipart.js","names":["Busboy","httpStatus","APIError","fileFactory","memHandler","tempFileHandler","processNested","createUploadTimer","buildFields","debugLog","isFunc","parseFileName","waitFlushProperty","Symbol","processMultipart","options","request","parsingRequest","shouldAbortProccessing","fileCount","filesCompleted","allFilesHaveResolved","failedResolvingFiles","allFilesComplete","Promise","res","rej","result","fields","undefined","files","headersObject","headers","forEach","value","name","reader","body","getReader","busboy","abortAndDestroyFile","file","err","destroy","on","field","val","info","encoding","filename","mimeType","mime","cleanup","complete","dataHandler","getFilePath","getFileSize","getHash","getWritePromise","useTempFiles","writePromise","catch","end","uploadTimer","uploadTimeout","clear","limitHandler","size","abortOnLimit","responseOnLimit","REQUEST_ENTITY_TOO_LARGE","data","set","buffer","hash","mimetype","tempFilePath","truncated","Boolean","push","message","parseNested","all","then","BAD_REQUEST","done","read","write","e"],"sources":["../../src/fetchAPI-multipart/processMultipart.ts"],"sourcesContent":["import type { FetchAPIFileUploadOptions } from 'payload'\nimport type { Readable } from 'stream'\n\nimport Busboy from 'busboy'\nimport httpStatus from 'http-status'\nimport { APIError } from 'payload'\n\nimport type { FetchAPIFileUploadResponse } from './index.js'\n\nimport { fileFactory } from './fileFactory.js'\nimport { memHandler, tempFileHandler } from './handlers.js'\nimport { processNested } from './processNested.js'\nimport { createUploadTimer } from './uploadTimer.js'\nimport { buildFields, debugLog, isFunc, parseFileName } from './utilities.js'\n\nconst waitFlushProperty = Symbol('wait flush property symbol')\n\ntype ProcessMultipart = (args: {\n options: FetchAPIFileUploadOptions\n request: Request\n}) => Promise<FetchAPIFileUploadResponse>\nexport const processMultipart: ProcessMultipart = async ({ options, request }) => {\n let parsingRequest = true\n\n let shouldAbortProccessing = false\n let fileCount = 0\n let filesCompleted = 0\n let allFilesHaveResolved: (value?: unknown) => void\n let failedResolvingFiles: (err: Error) => void\n\n const allFilesComplete = new Promise((res, rej) => {\n allFilesHaveResolved = res\n failedResolvingFiles = rej\n })\n\n const result: FetchAPIFileUploadResponse = {\n fields: undefined,\n files: undefined,\n }\n\n const headersObject = {}\n request.headers.forEach((value, name) => {\n headersObject[name] = value\n })\n\n const reader = request.body.getReader()\n\n const busboy = Busboy({ ...options, headers: headersObject })\n\n function abortAndDestroyFile(file: Readable, err: APIError) {\n file.destroy()\n shouldAbortProccessing = true\n failedResolvingFiles(err)\n }\n\n // Build multipart req.body fields\n busboy.on('field', (field, val) => {\n result.fields = buildFields(result.fields, field, val)\n })\n\n // Build req.files fields\n busboy.on('file', (field, file, info) => {\n fileCount += 1\n // Parse file name(cutting huge names, decoding, etc..).\n const { encoding, filename: name, mimeType: mime } = info\n const filename = parseFileName(options, name)\n\n // Define methods and handlers for upload process.\n const { cleanup, complete, dataHandler, getFilePath, getFileSize, getHash, getWritePromise } =\n options.useTempFiles\n ? tempFileHandler(options, field, filename) // Upload into temporary file.\n : memHandler(options, field, filename) // Upload into RAM.\n\n const writePromise = options.useTempFiles\n ? getWritePromise().catch((err) => {\n busboy.end()\n cleanup()\n })\n : getWritePromise()\n\n const uploadTimer = createUploadTimer(options.uploadTimeout, () => {\n return abortAndDestroyFile(\n file,\n new APIError(`Upload timeout for ${field}->${filename}, bytes:${getFileSize()}`),\n )\n })\n\n file.on('limit', () => {\n debugLog(options, `Size limit reached for ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.clear()\n\n if (isFunc(options.limitHandler)) {\n options.limitHandler({ request, size: getFileSize() })\n }\n\n // Return error and cleanup files if abortOnLimit set.\n if (options.abortOnLimit) {\n debugLog(options, `Upload file size limit reached ${field}->${filename}.`)\n cleanup()\n abortAndDestroyFile(\n file,\n new APIError(options.responseOnLimit, httpStatus.REQUEST_ENTITY_TOO_LARGE, {\n size: getFileSize(),\n }),\n )\n }\n })\n\n file.on('data', (data) => {\n uploadTimer.set()\n dataHandler(data)\n })\n\n file.on('end', () => {\n const size = getFileSize()\n debugLog(options, `Upload finished ${field}->${filename}, bytes:${size}`)\n uploadTimer.clear()\n\n if (!name && size === 0) {\n fileCount -= 1\n if (options.useTempFiles) {\n cleanup()\n debugLog(options, `Removing the empty file ${field}->${filename}`)\n }\n return debugLog(options, `Don't add file instance if original name and size are empty`)\n }\n\n filesCompleted += 1\n\n result.files = buildFields(\n result.files,\n field,\n fileFactory(\n {\n name: filename,\n buffer: complete(),\n encoding,\n hash: getHash(),\n mimetype: mime,\n size,\n tempFilePath: getFilePath(),\n truncated: Boolean('truncated' in file && file.truncated) || false,\n },\n options,\n ),\n )\n\n if (!request[waitFlushProperty]) {\n request[waitFlushProperty] = []\n }\n request[waitFlushProperty].push(writePromise)\n\n if (filesCompleted === fileCount) {\n allFilesHaveResolved()\n }\n })\n\n file.on('error', (err) => {\n uploadTimer.clear()\n debugLog(options, `File Error: ${err.message}`)\n cleanup()\n failedResolvingFiles(err)\n })\n\n // Start upload process.\n debugLog(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.set()\n })\n\n busboy.on('finish', async () => {\n debugLog(options, `Busboy finished parsing request.`)\n if (options.parseNested) {\n result.fields = processNested(result.fields)\n result.files = processNested(result.files)\n }\n\n if (request[waitFlushProperty]) {\n try {\n await Promise.all(request[waitFlushProperty]).then(() => {\n delete request[waitFlushProperty]\n })\n } catch (err) {\n debugLog(options, `Error waiting for file write promises: ${err}`)\n }\n }\n\n return result\n })\n\n busboy.on(\n 'error',\n (err = new APIError('Busboy error parsing multipart request', httpStatus.BAD_REQUEST)) => {\n debugLog(options, `Busboy error`)\n throw err\n },\n )\n\n while (parsingRequest) {\n const { done, value } = await reader.read()\n\n if (done) {\n parsingRequest = false\n }\n\n if (value && !shouldAbortProccessing) {\n busboy.write(value)\n }\n }\n\n if (fileCount !== 0) {\n await allFilesComplete.catch((e) => {\n throw e\n })\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { Config, ImportMap } from 'payload';
2
+ import '@payloadcms/ui/scss/app.scss';
3
+ import React from 'react';
4
+ type Args = {
5
+ readonly children: React.ReactNode;
6
+ readonly importMap: ImportMap;
7
+ readonly providers: Config['admin']['components']['providers'];
8
+ };
9
+ export declare function NestProviders({ children, importMap, providers }: Args): React.ReactNode;
10
+ export {};
11
+ //# sourceMappingURL=NestProviders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestProviders.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/NestProviders.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGhD,OAAO,8BAA8B,CAAA;AACrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,CAAA;CAC/D,CAAA;AAED,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,CAiBvF"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
3
+ import React from 'react';
4
+ export function NestProviders({
5
+ children,
6
+ importMap,
7
+ providers
8
+ }) {
9
+ return /*#__PURE__*/_jsx(RenderServerComponent, {
10
+ clientProps: {
11
+ children: providers.length > 1 ? /*#__PURE__*/_jsx(NestProviders, {
12
+ importMap: importMap,
13
+ providers: providers.slice(1),
14
+ children: children
15
+ }) : children
16
+ },
17
+ Component: providers[0],
18
+ importMap: importMap
19
+ });
20
+ }
21
+ //# sourceMappingURL=NestProviders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestProviders.js","names":["RenderServerComponent","React","NestProviders","children","importMap","providers","_jsx","clientProps","length","slice","Component"],"sources":["../../../src/layouts/Root/NestProviders.tsx"],"sourcesContent":["import type { Config, ImportMap } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport '@payloadcms/ui/scss/app.scss'\nimport React from 'react'\n\ntype Args = {\n readonly children: React.ReactNode\n readonly importMap: ImportMap\n readonly providers: Config['admin']['components']['providers']\n}\n\nexport function NestProviders({ children, importMap, providers }: Args): React.ReactNode {\n return (\n <RenderServerComponent\n clientProps={{\n children:\n providers.length > 1 ? (\n <NestProviders importMap={importMap} providers={providers.slice(1)}>\n {children}\n </NestProviders>\n ) : (\n children\n ),\n }}\n Component={providers[0]}\n importMap={importMap}\n />\n )\n}\n"],"mappings":";AAEA,SAASA,qBAAqB,QAAQ;AAEtC,OAAOC,KAAA,MAAW;AAQlB,OAAO,SAASC,cAAc;EAAEC,QAAQ;EAAEC,SAAS;EAAEC;AAAS,CAAQ;EACpE,oBACEC,IAAA,CAACN,qBAAA;IACCO,WAAA,EAAa;MACXJ,QAAA,EACEE,SAAA,CAAUG,MAAM,GAAG,iBACjBF,IAAA,CAACJ,aAAA;QAAcE,SAAA,EAAWA,SAAA;QAAWC,SAAA,EAAWA,SAAA,CAAUI,KAAK,CAAC;kBAC7DN;WAGHA;IAEN;IACAO,SAAA,EAAWL,SAAS,CAAC,EAAE;IACvBD,SAAA,EAAWA;;AAGjB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export declare const checkDependencies: () => Promise<void>;
2
+ //# sourceMappingURL=checkDependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkDependencies.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/checkDependencies.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,iBAAiB,qBAmC7B,CAAA"}
@@ -0,0 +1,49 @@
1
+ import { checkDependencies as payloadCheckDependencies } from 'payload';
2
+ const customReactVersionParser = version => {
3
+ const [mainVersion, ...preReleases] = version.split('-');
4
+ if (preReleases?.length === 3) {
5
+ // Needs different handling, as it's in a format like 19.0.0-rc-06d0b89e-20240801 format
6
+ const date = preReleases[2];
7
+ const parts = mainVersion.split('.').map(Number);
8
+ return {
9
+ parts,
10
+ preReleases: [date]
11
+ };
12
+ }
13
+ const parts = mainVersion.split('.').map(Number);
14
+ return {
15
+ parts,
16
+ preReleases
17
+ };
18
+ };
19
+ let checkedDependencies = false;
20
+ export const checkDependencies = async () => {
21
+ if (process.env.NODE_ENV !== 'production' && process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' && !checkedDependencies) {
22
+ checkedDependencies = true;
23
+ // First check if there are mismatching dependency versions of next / react packages
24
+ await payloadCheckDependencies({
25
+ dependencyGroups: [{
26
+ name: 'react',
27
+ dependencies: ['react', 'react-dom'],
28
+ targetVersionDependency: 'react'
29
+ }],
30
+ dependencyVersions: {
31
+ next: {
32
+ required: false,
33
+ version: '>=15.0.0'
34
+ },
35
+ react: {
36
+ customVersionParser: customReactVersionParser,
37
+ required: false,
38
+ version: '>=19.0.0-rc-65a56d0e-20241020'
39
+ },
40
+ 'react-dom': {
41
+ customVersionParser: customReactVersionParser,
42
+ required: false,
43
+ version: '>=19.0.0-rc-65a56d0e-20241020'
44
+ }
45
+ }
46
+ });
47
+ }
48
+ };
49
+ //# sourceMappingURL=checkDependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkDependencies.js","names":["checkDependencies","payloadCheckDependencies","customReactVersionParser","version","mainVersion","preReleases","split","length","date","parts","map","Number","checkedDependencies","process","env","NODE_ENV","PAYLOAD_DISABLE_DEPENDENCY_CHECKER","dependencyGroups","name","dependencies","targetVersionDependency","dependencyVersions","next","required","react","customVersionParser"],"sources":["../../../src/layouts/Root/checkDependencies.ts"],"sourcesContent":["import { type CustomVersionParser, checkDependencies as payloadCheckDependencies } from 'payload'\n\nconst customReactVersionParser: CustomVersionParser = (version) => {\n const [mainVersion, ...preReleases] = version.split('-')\n\n if (preReleases?.length === 3) {\n // Needs different handling, as it's in a format like 19.0.0-rc-06d0b89e-20240801 format\n const date = preReleases[2]\n\n const parts = mainVersion.split('.').map(Number)\n return { parts, preReleases: [date] }\n }\n\n const parts = mainVersion.split('.').map(Number)\n return { parts, preReleases }\n}\n\nlet checkedDependencies = false\n\nexport const checkDependencies = async () => {\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' &&\n !checkedDependencies\n ) {\n checkedDependencies = true\n\n // First check if there are mismatching dependency versions of next / react packages\n await payloadCheckDependencies({\n dependencyGroups: [\n {\n name: 'react',\n dependencies: ['react', 'react-dom'],\n targetVersionDependency: 'react',\n },\n ],\n dependencyVersions: {\n next: {\n required: false,\n version: '>=15.0.0',\n },\n react: {\n customVersionParser: customReactVersionParser,\n required: false,\n version: '>=19.0.0-rc-65a56d0e-20241020',\n },\n 'react-dom': {\n customVersionParser: customReactVersionParser,\n required: false,\n version: '>=19.0.0-rc-65a56d0e-20241020',\n },\n },\n })\n }\n}\n"],"mappings":"AAAA,SAAmCA,iBAAA,IAAqBC,wBAAwB,QAAQ;AAExF,MAAMC,wBAAA,GAAiDC,OAAA;EACrD,MAAM,CAACC,WAAA,EAAa,GAAGC,WAAA,CAAY,GAAGF,OAAA,CAAQG,KAAK,CAAC;EAEpD,IAAID,WAAA,EAAaE,MAAA,KAAW,GAAG;IAC7B;IACA,MAAMC,IAAA,GAAOH,WAAW,CAAC,EAAE;IAE3B,MAAMI,KAAA,GAAQL,WAAA,CAAYE,KAAK,CAAC,KAAKI,GAAG,CAACC,MAAA;IACzC,OAAO;MAAEF,KAAA;MAAOJ,WAAA,EAAa,CAACG,IAAA;IAAM;EACtC;EAEA,MAAMC,KAAA,GAAQL,WAAA,CAAYE,KAAK,CAAC,KAAKI,GAAG,CAACC,MAAA;EACzC,OAAO;IAAEF,KAAA;IAAOJ;EAAY;AAC9B;AAEA,IAAIO,mBAAA,GAAsB;AAE1B,OAAO,MAAMZ,iBAAA,GAAoB,MAAAA,CAAA;EAC/B,IACEa,OAAA,CAAQC,GAAG,CAACC,QAAQ,KAAK,gBACzBF,OAAA,CAAQC,GAAG,CAACE,kCAAkC,KAAK,UACnD,CAACJ,mBAAA,EACD;IACAA,mBAAA,GAAsB;IAEtB;IACA,MAAMX,wBAAA,CAAyB;MAC7BgB,gBAAA,EAAkB,CAChB;QACEC,IAAA,EAAM;QACNC,YAAA,EAAc,CAAC,SAAS,YAAY;QACpCC,uBAAA,EAAyB;MAC3B,EACD;MACDC,kBAAA,EAAoB;QAClBC,IAAA,EAAM;UACJC,QAAA,EAAU;UACVpB,OAAA,EAAS;QACX;QACAqB,KAAA,EAAO;UACLC,mBAAA,EAAqBvB,wBAAA;UACrBqB,QAAA,EAAU;UACVpB,OAAA,EAAS;QACX;QACA,aAAa;UACXsB,mBAAA,EAAqBvB,wBAAA;UACrBqB,QAAA,EAAU;UACVpB,OAAA,EAAS;QACX;MACF;IACF;EACF;AACF","ignoreList":[]}
@@ -1,13 +1,14 @@
1
- import type { ImportMap, SanitizedConfig } from 'payload';
2
- import '@payloadcms/ui/scss/app.scss';
1
+ import type { ImportMap, SanitizedConfig, ServerFunctionClient } from 'payload';
3
2
  import React from 'react';
3
+ import '@payloadcms/ui/scss/app.scss';
4
4
  export declare const metadata: {
5
5
  description: string;
6
6
  title: string;
7
7
  };
8
- export declare const RootLayout: ({ children, config: configPromise, importMap, }: {
8
+ export declare const RootLayout: ({ children, config: configPromise, importMap, serverFunction, }: {
9
9
  readonly children: React.ReactNode;
10
10
  readonly config: Promise<SanitizedConfig>;
11
11
  readonly importMap: ImportMap;
12
+ readonly serverFunction: ServerFunctionClient;
12
13
  }) => Promise<React.JSX.Element>;
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9E,OAAO,8BAA8B,CAAA;AAIrC,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAmBD,eAAO,MAAM,UAAU,oDAIpB;IACD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B,+BAsJA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAM/E,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,8BAA8B,CAAA;AAErC,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,oEAKpB;IACD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C,+BAgGA,CAAA"}
@@ -1,71 +1,27 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { rtlLanguages } from '@payloadcms/translations';
3
3
  import { RootProvider } from '@payloadcms/ui';
4
- import { createClientConfig } from '@payloadcms/ui/utilities/createClientConfig';
5
4
  import { headers as getHeaders, cookies as nextCookies } from 'next/headers.js';
6
- import { checkDependencies, parseCookies } from 'payload';
5
+ import { getPayload, parseCookies } from 'payload';
7
6
  import React from 'react';
8
- import { getPayloadHMR } from '../../utilities/getPayloadHMR.js';
7
+ import { getNavPrefs } from '../../elements/Nav/getNavPrefs.js';
8
+ import { getClientConfig } from '../../utilities/getClientConfig.js';
9
9
  import { getRequestLanguage } from '../../utilities/getRequestLanguage.js';
10
10
  import { getRequestTheme } from '../../utilities/getRequestTheme.js';
11
11
  import { initReq } from '../../utilities/initReq.js';
12
- import { DefaultEditView } from '../../views/Edit/Default/index.js';
13
- import { DefaultListView } from '../../views/List/Default/index.js';
12
+ import { checkDependencies } from './checkDependencies.js';
13
+ import { NestProviders } from './NestProviders.js';
14
14
  export const metadata = {
15
15
  description: 'Generated by Next.js',
16
16
  title: 'Next.js'
17
17
  };
18
- const customReactVersionParser = version => {
19
- const [mainVersion, ...preReleases] = version.split('-');
20
- if (preReleases?.length === 3) {
21
- // Needs different handling, as it's in a format like 19.0.0-rc-06d0b89e-20240801 format
22
- const date = preReleases[2];
23
- const parts = mainVersion.split('.').map(Number);
24
- return {
25
- parts,
26
- preReleases: [date]
27
- };
28
- }
29
- const parts = mainVersion.split('.').map(Number);
30
- return {
31
- parts,
32
- preReleases
33
- };
34
- };
35
- let checkedDependencies = false;
36
18
  export const RootLayout = async ({
37
19
  children,
38
20
  config: configPromise,
39
- importMap
21
+ importMap,
22
+ serverFunction
40
23
  }) => {
41
- if (process.env.NODE_ENV !== 'production' && process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' && !checkedDependencies) {
42
- // eslint-disable-next-line react-compiler/react-compiler
43
- checkedDependencies = true;
44
- // First check if there are mismatching dependency versions of next / react packages
45
- await checkDependencies({
46
- dependencyGroups: [{
47
- name: 'react',
48
- dependencies: ['react', 'react-dom'],
49
- targetVersionDependency: 'react'
50
- }],
51
- dependencyVersions: {
52
- next: {
53
- required: false,
54
- version: '>=15.0.0-canary.173'
55
- },
56
- react: {
57
- customVersionParser: customReactVersionParser,
58
- required: false,
59
- version: '>=19.0.0-rc-3edc000d-20240926'
60
- },
61
- 'react-dom': {
62
- customVersionParser: customReactVersionParser,
63
- required: false,
64
- version: '>=19.0.0-rc-3edc000d-20240926'
65
- }
66
- }
67
- });
68
- }
24
+ await checkDependencies();
69
25
  const config = await configPromise;
70
26
  const headers = await getHeaders();
71
27
  const cookies = parseCookies(headers);
@@ -79,27 +35,15 @@ export const RootLayout = async ({
79
35
  cookies,
80
36
  headers
81
37
  });
82
- const payload = await getPayloadHMR({
83
- config
38
+ const payload = await getPayload({
39
+ config,
40
+ importMap
84
41
  });
85
42
  const {
86
43
  i18n,
87
44
  permissions,
88
- req,
89
45
  user
90
46
  } = await initReq(config);
91
- const {
92
- clientConfig,
93
- render
94
- } = await createClientConfig({
95
- children,
96
- config,
97
- DefaultEditView,
98
- DefaultListView,
99
- i18n,
100
- importMap,
101
- payload
102
- });
103
47
  const dir = rtlLanguages.includes(languageCode) ? 'RTL' : 'LTR';
104
48
  const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig]) => {
105
49
  if (Object.keys(config.i18n.supportedLanguages).includes(language)) {
@@ -120,51 +64,46 @@ export const RootLayout = async ({
120
64
  value: lang
121
65
  });
122
66
  }
123
- const navPreferences = user ? (await payload.find({
124
- collection: 'payload-preferences',
125
- depth: 0,
126
- limit: 1,
127
- req,
128
- user,
129
- where: {
130
- and: [{
131
- key: {
132
- equals: 'nav'
133
- }
134
- }, {
135
- 'user.relationTo': {
136
- equals: user.collection
137
- }
138
- }, {
139
- 'user.value': {
140
- equals: user.id
141
- }
142
- }]
143
- }
144
- }))?.docs?.[0] : null;
145
- const isNavOpen = navPreferences?.value?.open ?? true;
146
- return /*#__PURE__*/_jsx("html", {
67
+ const navPrefs = await getNavPrefs({
68
+ payload,
69
+ user
70
+ });
71
+ const clientConfig = await getClientConfig({
72
+ config,
73
+ i18n,
74
+ importMap
75
+ });
76
+ return /*#__PURE__*/_jsxs("html", {
147
77
  "data-theme": theme,
148
78
  dir: dir,
149
79
  lang: languageCode,
150
- children: /*#__PURE__*/_jsxs("body", {
80
+ children: [/*#__PURE__*/_jsx("head", {
81
+ children: /*#__PURE__*/_jsx("style", {
82
+ children: `@layer payload-default, payload;`
83
+ })
84
+ }), /*#__PURE__*/_jsxs("body", {
151
85
  children: [/*#__PURE__*/_jsx(RootProvider, {
152
86
  config: clientConfig,
153
87
  dateFNSKey: i18n.dateFNSKey,
154
- fallbackLang: clientConfig.i18n.fallbackLanguage,
155
- isNavOpen: isNavOpen,
88
+ fallbackLang: config.i18n.fallbackLanguage,
89
+ isNavOpen: navPrefs?.open ?? true,
156
90
  languageCode: languageCode,
157
91
  languageOptions: languageOptions,
158
92
  permissions: permissions,
93
+ serverFunction: serverFunction,
159
94
  switchLanguageServerAction: switchLanguageServerAction,
160
95
  theme: theme,
161
96
  translations: i18n.translations,
162
97
  user: user,
163
- children: render
98
+ children: Array.isArray(config.admin?.components?.providers) && config.admin?.components?.providers.length > 0 ? /*#__PURE__*/_jsx(NestProviders, {
99
+ importMap: payload.importMap,
100
+ providers: config.admin?.components?.providers,
101
+ children: children
102
+ }) : children
164
103
  }), /*#__PURE__*/_jsx("div", {
165
104
  id: "portal"
166
105
  })]
167
- })
106
+ })]
168
107
  });
169
108
  };
170
109
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["rtlLanguages","RootProvider","createClientConfig","headers","getHeaders","cookies","nextCookies","checkDependencies","parseCookies","React","getPayloadHMR","getRequestLanguage","getRequestTheme","initReq","DefaultEditView","DefaultListView","metadata","description","title","customReactVersionParser","version","mainVersion","preReleases","split","length","date","parts","map","Number","checkedDependencies","RootLayout","children","config","configPromise","importMap","process","env","NODE_ENV","PAYLOAD_DISABLE_DEPENDENCY_CHECKER","dependencyGroups","name","dependencies","targetVersionDependency","dependencyVersions","next","required","react","customVersionParser","languageCode","theme","payload","i18n","permissions","req","user","clientConfig","render","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","cookiePrefix","path","navPreferences","find","collection","depth","limit","where","and","key","equals","id","docs","isNavOpen","open","_jsx","_jsxs","dateFNSKey","fallbackLang","fallbackLanguage"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { CustomVersionParser, ImportMap, SanitizedConfig } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport '@payloadcms/ui/scss/app.scss'\nimport { createClientConfig } from '@payloadcms/ui/utilities/createClientConfig'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { checkDependencies, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getPayloadHMR } from '../../utilities/getPayloadHMR.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { DefaultEditView } from '../../views/Edit/Default/index.js'\nimport { DefaultListView } from '../../views/List/Default/index.js'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nconst customReactVersionParser: CustomVersionParser = (version) => {\n const [mainVersion, ...preReleases] = version.split('-')\n\n if (preReleases?.length === 3) {\n // Needs different handling, as it's in a format like 19.0.0-rc-06d0b89e-20240801 format\n const date = preReleases[2]\n\n const parts = mainVersion.split('.').map(Number)\n return { parts, preReleases: [date] }\n }\n\n const parts = mainVersion.split('.').map(Number)\n return { parts, preReleases }\n}\n\nlet checkedDependencies = false\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n importMap,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n}) => {\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' &&\n !checkedDependencies\n ) {\n // eslint-disable-next-line react-compiler/react-compiler\n checkedDependencies = true\n // First check if there are mismatching dependency versions of next / react packages\n await checkDependencies({\n dependencyGroups: [\n {\n name: 'react',\n dependencies: ['react', 'react-dom'],\n targetVersionDependency: 'react',\n },\n ],\n dependencyVersions: {\n next: {\n required: false,\n version: '>=15.0.0-canary.173',\n },\n react: {\n customVersionParser: customReactVersionParser,\n required: false,\n version: '>=19.0.0-rc-3edc000d-20240926',\n },\n 'react-dom': {\n customVersionParser: customReactVersionParser,\n required: false,\n version: '>=19.0.0-rc-3edc000d-20240926',\n },\n },\n })\n }\n\n const config = await configPromise\n\n const headers = await getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const payload = await getPayloadHMR({ config })\n\n const { i18n, permissions, req, user } = await initReq(config)\n\n const { clientConfig, render } = await createClientConfig({\n children,\n config,\n DefaultEditView,\n DefaultListView,\n i18n,\n importMap,\n payload,\n })\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n const cookies = await nextCookies()\n cookies.set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const navPreferences = user\n ? (\n await payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n req,\n user,\n where: {\n and: [\n {\n key: {\n equals: 'nav',\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n )?.docs?.[0]\n : null\n\n const isNavOpen = navPreferences?.value?.open ?? true\n\n return (\n <html data-theme={theme} dir={dir} lang={languageCode}>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={clientConfig.i18n.fallbackLanguage}\n isNavOpen={isNavOpen}\n languageCode={languageCode}\n languageOptions={languageOptions}\n permissions={permissions}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n user={user}\n >\n {render}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["rtlLanguages","RootProvider","headers","getHeaders","cookies","nextCookies","getPayload","parseCookies","React","getNavPrefs","getClientConfig","getRequestLanguage","getRequestTheme","initReq","checkDependencies","NestProviders","metadata","description","title","RootLayout","children","config","configPromise","importMap","serverFunction","languageCode","theme","payload","i18n","permissions","user","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","navPrefs","clientConfig","_jsxs","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","Array","isArray","admin","components","providers","length","id"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { getPayload, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.js'\nimport { getClientConfig } from '../../utilities/getClientConfig.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { checkDependencies } from './checkDependencies.js'\nimport { NestProviders } from './NestProviders.js'\n\nimport '@payloadcms/ui/scss/app.scss'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n importMap,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n await checkDependencies()\n\n const config = await configPromise\n\n const headers = await getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const payload = await getPayload({ config, importMap })\n\n const { i18n, permissions, user } = await initReq(config)\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n const cookies = await nextCookies()\n cookies.set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const navPrefs = await getNavPrefs({ payload, user })\n\n const clientConfig = await getClientConfig({\n config,\n i18n,\n importMap,\n })\n\n return (\n <html data-theme={theme} dir={dir} lang={languageCode}>\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open ?? true}\n languageCode={languageCode}\n languageOptions={languageOptions}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n user={user}\n >\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n importMap={payload.importMap}\n providers={config.admin?.components?.providers}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"mappings":"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","ignoreList":[]}