@payloadcms/next 3.0.0-canary.3bd3027 → 3.0.0-canary.4de9e42

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 (402) hide show
  1. package/dist/config.js.map +1 -1
  2. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.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 +5 -1
  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.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  12. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +2 -2
  14. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  16. package/dist/elements/DocumentHeader/index.js.map +1 -1
  17. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  18. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  19. package/dist/elements/Logo/index.js.map +1 -1
  20. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  21. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  22. package/dist/elements/Nav/index.client.js +10 -4
  23. package/dist/elements/Nav/index.client.js.map +1 -1
  24. package/dist/elements/Nav/index.js.map +1 -1
  25. package/dist/exports/layouts.js.map +1 -1
  26. package/dist/exports/routes.js.map +1 -1
  27. package/dist/exports/templates.js.map +1 -1
  28. package/dist/exports/utilities.js.map +1 -1
  29. package/dist/exports/views.js.map +1 -1
  30. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
  31. package/dist/fetchAPI-multipart/handlers.js.map +1 -1
  32. package/dist/fetchAPI-multipart/index.js.map +1 -1
  33. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  34. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  35. package/dist/fetchAPI-multipart/processNested.js.map +1 -1
  36. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
  37. package/dist/fetchAPI-multipart/utilities.js.map +1 -1
  38. package/dist/fetchAPI-stream-file/index.js.map +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/layouts/Root/index.d.ts.map +1 -1
  41. package/dist/layouts/Root/index.js +0 -1
  42. package/dist/layouts/Root/index.js.map +1 -1
  43. package/dist/prod/styles.css +1 -1
  44. package/dist/routes/graphql/handler.d.ts.map +1 -1
  45. package/dist/routes/graphql/handler.js +11 -12
  46. package/dist/routes/graphql/handler.js.map +1 -1
  47. package/dist/routes/graphql/index.js.map +1 -1
  48. package/dist/routes/graphql/playground.js.map +1 -1
  49. package/dist/routes/index.js.map +1 -1
  50. package/dist/routes/rest/auth/access.js.map +1 -1
  51. package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -1
  52. package/dist/routes/rest/auth/forgotPassword.js +7 -3
  53. package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
  54. package/dist/routes/rest/auth/init.js.map +1 -1
  55. package/dist/routes/rest/auth/login.d.ts.map +1 -1
  56. package/dist/routes/rest/auth/login.js +9 -4
  57. package/dist/routes/rest/auth/login.js.map +1 -1
  58. package/dist/routes/rest/auth/logout.js.map +1 -1
  59. package/dist/routes/rest/auth/me.js.map +1 -1
  60. package/dist/routes/rest/auth/refresh.d.ts.map +1 -1
  61. package/dist/routes/rest/auth/refresh.js +12 -20
  62. package/dist/routes/rest/auth/refresh.js.map +1 -1
  63. package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
  64. package/dist/routes/rest/auth/registerFirstUser.js +9 -2
  65. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  66. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  67. package/dist/routes/rest/auth/unlock.d.ts.map +1 -1
  68. package/dist/routes/rest/auth/unlock.js +7 -3
  69. package/dist/routes/rest/auth/unlock.js.map +1 -1
  70. package/dist/routes/rest/auth/verifyEmail.js +1 -1
  71. package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
  72. package/dist/routes/rest/buildFormState.d.ts +2 -2
  73. package/dist/routes/rest/buildFormState.d.ts.map +1 -1
  74. package/dist/routes/rest/buildFormState.js.map +1 -1
  75. package/dist/routes/rest/checkEndpoints.js.map +1 -1
  76. package/dist/routes/rest/collections/count.js.map +1 -1
  77. package/dist/routes/rest/collections/create.js.map +1 -1
  78. package/dist/routes/rest/collections/delete.js.map +1 -1
  79. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  80. package/dist/routes/rest/collections/docAccess.js.map +1 -1
  81. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  82. package/dist/routes/rest/collections/find.js.map +1 -1
  83. package/dist/routes/rest/collections/findByID.js.map +1 -1
  84. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  85. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  86. package/dist/routes/rest/collections/preview.js.map +1 -1
  87. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  88. package/dist/routes/rest/collections/update.js.map +1 -1
  89. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  90. package/dist/routes/rest/files/checkFileAccess.d.ts +2 -2
  91. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  92. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  93. package/dist/routes/rest/files/getFile.d.ts +2 -2
  94. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  95. package/dist/routes/rest/files/getFile.js +8 -5
  96. package/dist/routes/rest/files/getFile.js.map +1 -1
  97. package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -1
  98. package/dist/routes/rest/globals/docAccess.js.map +1 -1
  99. package/dist/routes/rest/globals/findOne.js.map +1 -1
  100. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  101. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  102. package/dist/routes/rest/globals/preview.js.map +1 -1
  103. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  104. package/dist/routes/rest/globals/update.js.map +1 -1
  105. package/dist/routes/rest/index.d.ts.map +1 -1
  106. package/dist/routes/rest/index.js +88 -93
  107. package/dist/routes/rest/index.js.map +1 -1
  108. package/dist/routes/rest/og/image.js.map +1 -1
  109. package/dist/routes/rest/og/index.d.ts +2 -2
  110. package/dist/routes/rest/og/index.d.ts.map +1 -1
  111. package/dist/routes/rest/og/index.js.map +1 -1
  112. package/dist/routes/rest/routeError.d.ts +2 -2
  113. package/dist/routes/rest/routeError.d.ts.map +1 -1
  114. package/dist/routes/rest/routeError.js +3 -3
  115. package/dist/routes/rest/routeError.js.map +1 -1
  116. package/dist/routes/rest/types.d.ts +7 -7
  117. package/dist/routes/rest/types.d.ts.map +1 -1
  118. package/dist/routes/rest/types.js.map +1 -1
  119. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
  120. package/dist/scss/colors.scss +76 -76
  121. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  122. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  123. package/dist/templates/Default/index.d.ts +2 -2
  124. package/dist/templates/Default/index.d.ts.map +1 -1
  125. package/dist/templates/Default/index.js.map +1 -1
  126. package/dist/templates/Minimal/index.js.map +1 -1
  127. package/dist/utilities/addDataAndFileToRequest.d.ts +3 -6
  128. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  129. package/dist/utilities/addDataAndFileToRequest.js +15 -18
  130. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  131. package/dist/utilities/addLocalesToRequest.d.ts +2 -5
  132. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  133. package/dist/utilities/addLocalesToRequest.js +8 -9
  134. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  135. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  136. package/dist/utilities/createPayloadRequest.js +14 -10
  137. package/dist/utilities/createPayloadRequest.js.map +1 -1
  138. package/dist/utilities/getNextRequestI18n.d.ts +3 -3
  139. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  140. package/dist/utilities/getNextRequestI18n.js +3 -1
  141. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  142. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  143. package/dist/utilities/getPayloadHMR.js +11 -8
  144. package/dist/utilities/getPayloadHMR.js.map +1 -1
  145. package/dist/utilities/getRequestLanguage.js.map +1 -1
  146. package/dist/utilities/getRequestLocales.js.map +1 -1
  147. package/dist/utilities/getRequestTheme.js.map +1 -1
  148. package/dist/utilities/headersWithCors.d.ts +2 -2
  149. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  150. package/dist/utilities/headersWithCors.js +19 -3
  151. package/dist/utilities/headersWithCors.js.map +1 -1
  152. package/dist/utilities/initPage/handleAdminPage.d.ts +4 -0
  153. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  154. package/dist/utilities/initPage/handleAdminPage.js +3 -1
  155. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  156. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  157. package/dist/utilities/initPage/handleAuthRedirect.js +9 -5
  158. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  159. package/dist/utilities/initPage/index.d.ts.map +1 -1
  160. package/dist/utilities/initPage/index.js +2 -1
  161. package/dist/utilities/initPage/index.js.map +1 -1
  162. package/dist/utilities/initPage/shared.js.map +1 -1
  163. package/dist/utilities/initPage/types.js.map +1 -1
  164. package/dist/utilities/mergeHeaders.d.ts +2 -0
  165. package/dist/utilities/mergeHeaders.d.ts.map +1 -0
  166. package/dist/utilities/mergeHeaders.js +37 -0
  167. package/dist/utilities/mergeHeaders.js.map +1 -0
  168. package/dist/utilities/meta.d.ts +2 -2
  169. package/dist/utilities/meta.d.ts.map +1 -1
  170. package/dist/utilities/meta.js +2 -2
  171. package/dist/utilities/meta.js.map +1 -1
  172. package/dist/utilities/timestamp.js.map +1 -1
  173. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  174. package/dist/views/API/RenderJSON/index.js.map +1 -1
  175. package/dist/views/API/index.client.d.ts.map +1 -1
  176. package/dist/views/API/index.client.js +4 -6
  177. package/dist/views/API/index.client.js.map +1 -1
  178. package/dist/views/API/index.js.map +1 -1
  179. package/dist/views/API/meta.js.map +1 -1
  180. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  181. package/dist/views/Account/Settings/index.js.map +1 -1
  182. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  183. package/dist/views/Account/index.d.ts.map +1 -1
  184. package/dist/views/Account/index.js +14 -23
  185. package/dist/views/Account/index.js.map +1 -1
  186. package/dist/views/Account/meta.js.map +1 -1
  187. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  188. package/dist/views/CreateFirstUser/index.js.map +1 -1
  189. package/dist/views/CreateFirstUser/meta.js.map +1 -1
  190. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  191. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  192. package/dist/views/Dashboard/Default/index.js +13 -4
  193. package/dist/views/Dashboard/Default/index.js.map +1 -1
  194. package/dist/views/Dashboard/index.js.map +1 -1
  195. package/dist/views/Dashboard/meta.js.map +1 -1
  196. package/dist/views/Document/getCustomViewByKey.js.map +1 -1
  197. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  198. package/dist/views/Document/getDocumentData.d.ts +2 -2
  199. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  200. package/dist/views/Document/getDocumentData.js +1 -1
  201. package/dist/views/Document/getDocumentData.js.map +1 -1
  202. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  203. package/dist/views/Document/getMetaBySegment.d.ts +2 -2
  204. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  205. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  206. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  207. package/dist/views/Document/getViewsFromConfig.js +19 -5
  208. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  209. package/dist/views/Document/index.d.ts.map +1 -1
  210. package/dist/views/Document/index.js +40 -48
  211. package/dist/views/Document/index.js.map +1 -1
  212. package/dist/views/Document/meta.js.map +1 -1
  213. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  214. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  215. package/dist/views/Edit/Default/Auth/index.js +10 -3
  216. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  217. package/dist/views/Edit/Default/Auth/index.scss +17 -2
  218. package/dist/views/Edit/Default/Auth/types.d.ts +1 -0
  219. package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
  220. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  221. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
  222. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +15 -5
  223. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  224. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +1 -1
  225. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  226. package/dist/views/Edit/Default/index.js +19 -16
  227. package/dist/views/Edit/Default/index.js.map +1 -1
  228. package/dist/views/Edit/Default/types.js.map +1 -1
  229. package/dist/views/Edit/index.client.js.map +1 -1
  230. package/dist/views/Edit/index.js.map +1 -1
  231. package/dist/views/Edit/meta.js.map +1 -1
  232. package/dist/views/Edit/sanitizeEditViewProps.js.map +1 -1
  233. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  234. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +34 -6
  235. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  236. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  237. package/dist/views/ForgotPassword/index.js +11 -4
  238. package/dist/views/ForgotPassword/index.js.map +1 -1
  239. package/dist/views/ForgotPassword/meta.js.map +1 -1
  240. package/dist/views/List/Default/index.js.map +1 -1
  241. package/dist/views/List/Default/types.js.map +1 -1
  242. package/dist/views/List/index.d.ts.map +1 -1
  243. package/dist/views/List/index.js +13 -5
  244. package/dist/views/List/index.js.map +1 -1
  245. package/dist/views/List/meta.d.ts +2 -2
  246. package/dist/views/List/meta.d.ts.map +1 -1
  247. package/dist/views/List/meta.js.map +1 -1
  248. package/dist/views/LivePreview/Context/collisionDetection.js.map +1 -1
  249. package/dist/views/LivePreview/Context/context.js.map +1 -1
  250. package/dist/views/LivePreview/Context/index.js.map +1 -1
  251. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  252. package/dist/views/LivePreview/Device/index.js.map +1 -1
  253. package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
  254. package/dist/views/LivePreview/IFrame/index.js.map +1 -1
  255. package/dist/views/LivePreview/Preview/index.js +1 -1
  256. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  257. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  258. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  259. package/dist/views/LivePreview/Toolbar/index.d.ts +2 -2
  260. package/dist/views/LivePreview/Toolbar/index.d.ts.map +1 -1
  261. package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
  262. package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
  263. package/dist/views/LivePreview/index.client.js.map +1 -1
  264. package/dist/views/LivePreview/index.js.map +1 -1
  265. package/dist/views/LivePreview/meta.js.map +1 -1
  266. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  267. package/dist/views/Login/LoginField/index.d.ts +6 -0
  268. package/dist/views/Login/LoginField/index.d.ts.map +1 -0
  269. package/dist/views/Login/LoginField/index.js +101 -0
  270. package/dist/views/Login/LoginField/index.js.map +1 -0
  271. package/dist/views/Login/LoginForm/index.d.ts +3 -0
  272. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  273. package/dist/views/Login/LoginForm/index.js +39 -33
  274. package/dist/views/Login/LoginForm/index.js.map +1 -1
  275. package/dist/views/Login/index.d.ts.map +1 -1
  276. package/dist/views/Login/index.js +7 -0
  277. package/dist/views/Login/index.js.map +1 -1
  278. package/dist/views/Login/meta.js.map +1 -1
  279. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  280. package/dist/views/Logout/LogoutClient.js +5 -1
  281. package/dist/views/Logout/LogoutClient.js.map +1 -1
  282. package/dist/views/Logout/index.d.ts +2 -2
  283. package/dist/views/Logout/index.d.ts.map +1 -1
  284. package/dist/views/Logout/index.js +2 -2
  285. package/dist/views/Logout/index.js.map +1 -1
  286. package/dist/views/Logout/meta.js.map +1 -1
  287. package/dist/views/NotFound/index.client.js +2 -2
  288. package/dist/views/NotFound/index.client.js.map +1 -1
  289. package/dist/views/NotFound/index.d.ts.map +1 -1
  290. package/dist/views/NotFound/index.js +5 -1
  291. package/dist/views/NotFound/index.js.map +1 -1
  292. package/dist/views/NotFound/meta.d.ts +2 -2
  293. package/dist/views/NotFound/meta.d.ts.map +1 -1
  294. package/dist/views/NotFound/meta.js.map +1 -1
  295. package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
  296. package/dist/views/ResetPassword/index.client.js +9 -5
  297. package/dist/views/ResetPassword/index.client.js.map +1 -1
  298. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  299. package/dist/views/ResetPassword/index.js +7 -3
  300. package/dist/views/ResetPassword/index.js.map +1 -1
  301. package/dist/views/ResetPassword/meta.js.map +1 -1
  302. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  303. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  304. package/dist/views/Root/getViewFromConfig.js +5 -1
  305. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  306. package/dist/views/Root/index.d.ts +2 -2
  307. package/dist/views/Root/index.d.ts.map +1 -1
  308. package/dist/views/Root/index.js +18 -7
  309. package/dist/views/Root/index.js.map +1 -1
  310. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  311. package/dist/views/Root/meta.js.map +1 -1
  312. package/dist/views/Unauthorized/index.js.map +1 -1
  313. package/dist/views/Unauthorized/meta.js.map +1 -1
  314. package/dist/views/Verify/index.d.ts.map +1 -1
  315. package/dist/views/Verify/index.js +9 -2
  316. package/dist/views/Verify/index.js.map +1 -1
  317. package/dist/views/Verify/meta.js.map +1 -1
  318. package/dist/views/Version/Default/SetStepNav.d.ts +0 -1
  319. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  320. package/dist/views/Version/Default/SetStepNav.js +28 -13
  321. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  322. package/dist/views/Version/Default/index.d.ts.map +1 -1
  323. package/dist/views/Version/Default/index.js +12 -14
  324. package/dist/views/Version/Default/index.js.map +1 -1
  325. package/dist/views/Version/Default/types.d.ts +3 -3
  326. package/dist/views/Version/Default/types.d.ts.map +1 -1
  327. package/dist/views/Version/Default/types.js.map +1 -1
  328. package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
  329. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  330. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  331. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  332. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
  333. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +2 -2
  334. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  335. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  336. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +2 -2
  337. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  338. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  339. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
  340. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  341. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -1
  342. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +6 -6
  343. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  344. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -1
  345. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  346. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  347. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +2 -2
  348. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  349. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  350. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  351. package/dist/views/Version/Restore/index.js +11 -5
  352. package/dist/views/Version/Restore/index.js.map +1 -1
  353. package/dist/views/Version/Restore/types.js.map +1 -1
  354. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  355. package/dist/views/Version/SelectComparison/index.js +49 -28
  356. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  357. package/dist/views/Version/SelectComparison/index.scss +1 -1
  358. package/dist/views/Version/SelectComparison/types.d.ts +2 -1
  359. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  360. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  361. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  362. package/dist/views/Version/SelectLocales/types.js.map +1 -1
  363. package/dist/views/Version/index.d.ts.map +1 -1
  364. package/dist/views/Version/index.js +25 -40
  365. package/dist/views/Version/index.js.map +1 -1
  366. package/dist/views/Version/meta.js.map +1 -1
  367. package/dist/views/Versions/buildColumns.d.ts +3 -1
  368. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  369. package/dist/views/Versions/buildColumns.js +7 -4
  370. package/dist/views/Versions/buildColumns.js.map +1 -1
  371. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -1
  372. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  373. package/dist/views/Versions/cells/AutosaveCell/index.js +31 -13
  374. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  375. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  376. package/dist/views/Versions/cells/CreatedAt/index.js +10 -4
  377. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  378. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  379. package/dist/views/Versions/getLatestVersion.d.ts +5 -0
  380. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -0
  381. package/dist/views/Versions/getLatestVersion.js +29 -0
  382. package/dist/views/Versions/getLatestVersion.js.map +1 -0
  383. package/dist/views/Versions/index.client.js.map +1 -1
  384. package/dist/views/Versions/index.d.ts.map +1 -1
  385. package/dist/views/Versions/index.js +25 -3
  386. package/dist/views/Versions/index.js.map +1 -1
  387. package/dist/views/Versions/meta.js.map +1 -1
  388. package/dist/views/Versions/types.js.map +1 -1
  389. package/dist/withPayload.js.map +1 -1
  390. package/package.json +20 -26
  391. package/dist/prod/index.js +0 -62
  392. package/dist/prod/payload/payload-favicon-dark.png +0 -0
  393. package/dist/prod/payload/payload-favicon-light.png +0 -0
  394. package/dist/prod/payload/static-og-image.png +0 -0
  395. package/dist/views/Version/shared.d.ts +0 -9
  396. package/dist/views/Version/shared.d.ts.map +0 -1
  397. package/dist/views/Version/shared.js +0 -10
  398. package/dist/views/Version/shared.js.map +0 -1
  399. package/dist/webpackEntry.d.ts +0 -5
  400. package/dist/webpackEntry.d.ts.map +0 -1
  401. package/dist/webpackEntry.js +0 -6
  402. package/dist/webpackEntry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/templates/Default/Wrapper/index.tsx"],"sourcesContent":["'use client'\nimport { useNav } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\n\nexport const Wrapper: React.FC<{\n baseClass?: string\n children?: React.ReactNode\n className?: string\n}> = (props) => {\n const { baseClass, children, className } = props\n const { navOpen } = useNav()\n\n return (\n <div\n className={[baseClass, className, navOpen && `${baseClass}--nav-open`]\n .filter(Boolean)\n .join(' ')}\n >\n {children}\n </div>\n )\n}\n"],"names":["useNav","React","Wrapper","props","baseClass","children","className","navOpen","div","filter","Boolean","join"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,MAAM,QAAQ,iBAAgB;AACvC,OAAOC,WAAW,QAAO;AAIzB,OAAO,MAAMC,UAIR,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGH;IAC3C,MAAM,EAAEI,OAAO,EAAE,GAAGP;IAEpB,qBACE,KAACQ;QACCF,WAAW;YAACF;YAAWE;YAAWC,WAAW,CAAC,EAAEH,UAAU,UAAU,CAAC;SAAC,CACnEK,MAAM,CAACC,SACPC,IAAI,CAAC;kBAEPN;;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/templates/Default/Wrapper/index.tsx"],"sourcesContent":["'use client'\nimport { useNav } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\n\nexport const Wrapper: React.FC<{\n baseClass?: string\n children?: React.ReactNode\n className?: string\n}> = (props) => {\n const { baseClass, children, className } = props\n const { navOpen } = useNav()\n\n return (\n <div\n className={[baseClass, className, navOpen && `${baseClass}--nav-open`]\n .filter(Boolean)\n .join(' ')}\n >\n {children}\n </div>\n )\n}\n"],"names":["useNav","React","Wrapper","props","baseClass","children","className","navOpen","div","filter","Boolean","join"],"mappings":"AAAA;;AACA,SAASA,MAAM,QAAQ,iBAAgB;AACvC,OAAOC,WAAW,QAAO;AAIzB,OAAO,MAAMC,UAIR,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGH;IAC3C,MAAM,EAAEI,OAAO,EAAE,GAAGP;IAEpB,qBACE,KAACQ;QACCF,WAAW;YAACF;YAAWE;YAAWC,WAAW,CAAC,EAAEH,UAAU,UAAU,CAAC;SAAC,CACnEK,MAAM,CAACC,SACPC,IAAI,CAAC;kBAEPN;;AAGP,EAAC"}
@@ -1,10 +1,10 @@
1
1
  import type { ServerProps, VisibleEntities } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
- export type DefaultTemplateProps = ServerProps & {
4
+ export type DefaultTemplateProps = {
5
5
  children?: React.ReactNode;
6
6
  className?: string;
7
7
  visibleEntities: VisibleEntities;
8
- };
8
+ } & ServerProps;
9
9
  export declare const DefaultTemplate: React.FC<DefaultTemplateProps>;
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI3D,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG;IAC/C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA6D1D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI3D,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,eAAe,CAAA;CACjC,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA6D1D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/templates/Default/index.tsx"],"sourcesContent":["import type { ServerProps, VisibleEntities } from 'payload'\n\nimport { AppHeader, EntityVisibilityProvider, NavToggler } from '@payloadcms/ui'\nimport { RenderCustomComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { DefaultNav, type NavProps } from '../../elements/Nav/index.js'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { Wrapper } from './Wrapper/index.js'\nimport './index.scss'\n\nconst baseClass = 'template-default'\n\nexport type DefaultTemplateProps = ServerProps & {\n children?: React.ReactNode\n className?: string\n visibleEntities: VisibleEntities\n}\n\nexport const DefaultTemplate: React.FC<DefaultTemplateProps> = ({\n children,\n className,\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n visibleEntities,\n}) => {\n const {\n admin: {\n components: { Nav: CustomNav } = {\n Nav: undefined,\n },\n } = {},\n } = payload.config || {}\n\n const navProps: NavProps = {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n return (\n <EntityVisibilityProvider visibleEntities={visibleEntities}>\n <div>\n <div className={`${baseClass}__nav-toggler-wrapper`} id=\"nav-toggler\">\n <NavToggler className={`${baseClass}__nav-toggler`}>\n <NavHamburger />\n </NavToggler>\n </div>\n <Wrapper baseClass={baseClass} className={className}>\n <RenderCustomComponent\n CustomComponent={CustomNav}\n DefaultComponent={DefaultNav}\n componentProps={navProps}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n <div className={`${baseClass}__wrap`}>\n <AppHeader />\n {children}\n </div>\n </Wrapper>\n </div>\n </EntityVisibilityProvider>\n )\n}\n"],"names":["AppHeader","EntityVisibilityProvider","NavToggler","RenderCustomComponent","React","DefaultNav","NavHamburger","Wrapper","baseClass","DefaultTemplate","children","className","i18n","locale","params","payload","permissions","searchParams","user","visibleEntities","admin","components","Nav","CustomNav","undefined","config","navProps","div","id","CustomComponent","DefaultComponent","componentProps","serverOnlyProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAEA,SAASA,SAAS,EAAEC,wBAAwB,EAAEC,UAAU,QAAQ,iBAAgB;AAChF,SAASC,qBAAqB,QAAQ,wBAAuB;AAC7D,OAAOC,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAuB,8BAA6B;AACvE,SAASC,YAAY,QAAQ,0BAAyB;AACtD,SAASC,OAAO,QAAQ,qBAAoB;AAG5C,MAAMC,YAAY;AAQlB,OAAO,MAAMC,kBAAkD,CAAC,EAC9DC,QAAQ,EACRC,SAAS,EACTC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,WAAW,EACXC,YAAY,EACZC,IAAI,EACJC,eAAe,EAChB;IACC,MAAM,EACJC,OAAO,EACLC,YAAY,EAAEC,KAAKC,SAAS,EAAE,GAAG;QAC/BD,KAAKE;IACP,CAAC,EACF,GAAG,CAAC,CAAC,EACP,GAAGT,QAAQU,MAAM,IAAI,CAAC;IAEvB,MAAMC,WAAqB;QACzBd;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACF;IAEA,qBACE,KAACjB;QAAyBkB,iBAAiBA;kBACzC,cAAA,MAACQ;;8BACC,KAACA;oBAAIhB,WAAW,CAAC,EAAEH,UAAU,qBAAqB,CAAC;oBAAEoB,IAAG;8BACtD,cAAA,KAAC1B;wBAAWS,WAAW,CAAC,EAAEH,UAAU,aAAa,CAAC;kCAChD,cAAA,KAACF;;;8BAGL,MAACC;oBAAQC,WAAWA;oBAAWG,WAAWA;;sCACxC,KAACR;4BACC0B,iBAAiBN;4BACjBO,kBAAkBzB;4BAClB0B,gBAAgBL;4BAChBM,iBAAiB;gCACfpB;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;4BACF;;sCAEF,MAACS;4BAAIhB,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;;8CAClC,KAACR;gCACAU;;;;;;;;AAMb,EAAC"}
1
+ {"version":3,"sources":["../../../src/templates/Default/index.tsx"],"sourcesContent":["import type { ServerProps, VisibleEntities } from 'payload'\n\nimport { AppHeader, EntityVisibilityProvider, NavToggler } from '@payloadcms/ui'\nimport { RenderCustomComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { DefaultNav, type NavProps } from '../../elements/Nav/index.js'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { Wrapper } from './Wrapper/index.js'\nimport './index.scss'\n\nconst baseClass = 'template-default'\n\nexport type DefaultTemplateProps = {\n children?: React.ReactNode\n className?: string\n visibleEntities: VisibleEntities\n} & ServerProps\n\nexport const DefaultTemplate: React.FC<DefaultTemplateProps> = ({\n children,\n className,\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n visibleEntities,\n}) => {\n const {\n admin: {\n components: { Nav: CustomNav } = {\n Nav: undefined,\n },\n } = {},\n } = payload.config || {}\n\n const navProps: NavProps = {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n return (\n <EntityVisibilityProvider visibleEntities={visibleEntities}>\n <div>\n <div className={`${baseClass}__nav-toggler-wrapper`} id=\"nav-toggler\">\n <NavToggler className={`${baseClass}__nav-toggler`}>\n <NavHamburger />\n </NavToggler>\n </div>\n <Wrapper baseClass={baseClass} className={className}>\n <RenderCustomComponent\n CustomComponent={CustomNav}\n DefaultComponent={DefaultNav}\n componentProps={navProps}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n <div className={`${baseClass}__wrap`}>\n <AppHeader />\n {children}\n </div>\n </Wrapper>\n </div>\n </EntityVisibilityProvider>\n )\n}\n"],"names":["AppHeader","EntityVisibilityProvider","NavToggler","RenderCustomComponent","React","DefaultNav","NavHamburger","Wrapper","baseClass","DefaultTemplate","children","className","i18n","locale","params","payload","permissions","searchParams","user","visibleEntities","admin","components","Nav","CustomNav","undefined","config","navProps","div","id","CustomComponent","DefaultComponent","componentProps","serverOnlyProps"],"mappings":";AAEA,SAASA,SAAS,EAAEC,wBAAwB,EAAEC,UAAU,QAAQ,iBAAgB;AAChF,SAASC,qBAAqB,QAAQ,wBAAuB;AAC7D,OAAOC,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAuB,8BAA6B;AACvE,SAASC,YAAY,QAAQ,0BAAyB;AACtD,SAASC,OAAO,QAAQ,qBAAoB;AAG5C,MAAMC,YAAY;AAQlB,OAAO,MAAMC,kBAAkD,CAAC,EAC9DC,QAAQ,EACRC,SAAS,EACTC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,WAAW,EACXC,YAAY,EACZC,IAAI,EACJC,eAAe,EAChB;IACC,MAAM,EACJC,OAAO,EACLC,YAAY,EAAEC,KAAKC,SAAS,EAAE,GAAG;QAC/BD,KAAKE;IACP,CAAC,EACF,GAAG,CAAC,CAAC,EACP,GAAGT,QAAQU,MAAM,IAAI,CAAC;IAEvB,MAAMC,WAAqB;QACzBd;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACF;IAEA,qBACE,KAACjB;QAAyBkB,iBAAiBA;kBACzC,cAAA,MAACQ;;8BACC,KAACA;oBAAIhB,WAAW,CAAC,EAAEH,UAAU,qBAAqB,CAAC;oBAAEoB,IAAG;8BACtD,cAAA,KAAC1B;wBAAWS,WAAW,CAAC,EAAEH,UAAU,aAAa,CAAC;kCAChD,cAAA,KAACF;;;8BAGL,MAACC;oBAAQC,WAAWA;oBAAWG,WAAWA;;sCACxC,KAACR;4BACC0B,iBAAiBN;4BACjBO,kBAAkBzB;4BAClB0B,gBAAgBL;4BAChBM,iBAAiB;gCACfpB;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;4BACF;;sCAEF,MAACS;4BAAIhB,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;;8CAClC,KAACR;gCACAU;;;;;;;;AAMb,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/templates/Minimal/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'template-minimal'\n\nexport type MinimalTemplateProps = {\n children?: React.ReactNode\n className?: string\n style?: React.CSSProperties\n width?: 'normal' | 'wide'\n}\n\nexport const MinimalTemplate: React.FC<MinimalTemplateProps> = (props) => {\n const { children, className, style = {}, width = 'normal' } = props\n\n const classes = [className, baseClass, `${baseClass}--width-${width}`].filter(Boolean).join(' ')\n\n return (\n <section className={classes} style={style}>\n <div className={`${baseClass}__wrap`}>{children}</div>\n </section>\n )\n}\n"],"names":["React","baseClass","MinimalTemplate","props","children","className","style","width","classes","filter","Boolean","join","section","div"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":";AAAA,OAAOA,WAAW,QAAO;AAIzB,MAAMC,YAAY;AASlB,OAAO,MAAMC,kBAAkD,CAACC;IAC9D,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,CAAC,CAAC,EAAEC,QAAQ,QAAQ,EAAE,GAAGJ;IAE9D,MAAMK,UAAU;QAACH;QAAWJ;QAAW,CAAC,EAAEA,UAAU,QAAQ,EAAEM,MAAM,CAAC;KAAC,CAACE,MAAM,CAACC,SAASC,IAAI,CAAC;IAE5F,qBACE,KAACC;QAAQP,WAAWG;QAASF,OAAOA;kBAClC,cAAA,KAACO;YAAIR,WAAW,CAAC,EAAEJ,UAAU,MAAM,CAAC;sBAAGG;;;AAG7C,EAAC"}
1
+ {"version":3,"sources":["../../../src/templates/Minimal/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'template-minimal'\n\nexport type MinimalTemplateProps = {\n children?: React.ReactNode\n className?: string\n style?: React.CSSProperties\n width?: 'normal' | 'wide'\n}\n\nexport const MinimalTemplate: React.FC<MinimalTemplateProps> = (props) => {\n const { children, className, style = {}, width = 'normal' } = props\n\n const classes = [className, baseClass, `${baseClass}--width-${width}`].filter(Boolean).join(' ')\n\n return (\n <section className={classes} style={style}>\n <div className={`${baseClass}__wrap`}>{children}</div>\n </section>\n )\n}\n"],"names":["React","baseClass","MinimalTemplate","props","children","className","style","width","classes","filter","Boolean","join","section","div"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAIzB,MAAMC,YAAY;AASlB,OAAO,MAAMC,kBAAkD,CAACC;IAC9D,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,CAAC,CAAC,EAAEC,QAAQ,QAAQ,EAAE,GAAGJ;IAE9D,MAAMK,UAAU;QAACH;QAAWJ;QAAW,CAAC,EAAEA,UAAU,QAAQ,EAAEM,MAAM,CAAC;KAAC,CAACE,MAAM,CAACC,SAASC,IAAI,CAAC;IAE5F,qBACE,KAACC;QAAQP,WAAWG;QAASF,OAAOA;kBAClC,cAAA,KAACO;YAAIR,WAAW,CAAC,EAAEJ,UAAU,MAAM,CAAC;sBAAGG;;;AAG7C,EAAC"}
@@ -1,10 +1,7 @@
1
- import type { PayloadRequest, PayloadRequestData } from 'payload';
2
- type ReturnType = PayloadRequest & PayloadRequestData;
3
- type AddDataAndFileToRequest = (args: {
4
- request: PayloadRequest;
5
- }) => Promise<ReturnType>;
1
+ import type { PayloadRequest } from 'payload';
2
+ type AddDataAndFileToRequest = (req: PayloadRequest) => Promise<void>;
6
3
  /**
7
- * Mutates the Request to contain 'data' and 'file' if present
4
+ * Mutates the Request, appending 'data' and 'file' if found
8
5
  */
9
6
  export declare const addDataAndFileToRequest: AddDataAndFileToRequest;
10
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"addDataAndFileToRequest.d.ts","sourceRoot":"","sources":["../../src/utilities/addDataAndFileToRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAQjE,KAAK,UAAU,GAAG,cAAc,GAAG,kBAAkB,CAAA;AACrD,KAAK,uBAAuB,GAAG,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;AAEzF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,uBA+CrC,CAAA"}
1
+ {"version":3,"file":"addDataAndFileToRequest.d.ts","sourceRoot":"","sources":["../../src/utilities/addDataAndFileToRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAQ7C,KAAK,uBAAuB,GAAG,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAErE;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,uBAoCrC,CAAA"}
@@ -1,45 +1,42 @@
1
1
  import { APIError } from 'payload';
2
2
  import { fetchAPIFileUpload } from '../fetchAPI-multipart/index.js';
3
3
  /**
4
- * Mutates the Request to contain 'data' and 'file' if present
5
- */ export const addDataAndFileToRequest = async ({ request: incomingRequest })=>{
6
- const config = incomingRequest.payload.config;
7
- if (incomingRequest.method && [
4
+ * Mutates the Request, appending 'data' and 'file' if found
5
+ */ export const addDataAndFileToRequest = async (req)=>{
6
+ const { body, headers, method, payload } = req;
7
+ if (method && [
8
8
  'PATCH',
9
9
  'POST',
10
10
  'PUT'
11
- ].includes(incomingRequest.method.toUpperCase()) && incomingRequest.body) {
12
- const [contentType] = (incomingRequest.headers.get('Content-Type') || '').split(';');
13
- const mutableRequest = incomingRequest;
14
- const bodyByteSize = parseInt(incomingRequest.headers.get('Content-Length') || '0', 10);
11
+ ].includes(method.toUpperCase()) && body) {
12
+ const [contentType] = (headers.get('Content-Type') || '').split(';');
13
+ const bodyByteSize = parseInt(req.headers.get('Content-Length') || '0', 10);
15
14
  if (contentType === 'application/json') {
16
15
  let data = {};
17
16
  try {
18
- data = await mutableRequest.json();
17
+ data = await req.json();
19
18
  } catch (error) {
20
- mutableRequest.payload.logger.error(error);
19
+ req.payload.logger.error(error);
21
20
  } finally{
22
- mutableRequest.data = data;
23
- mutableRequest.json = ()=>Promise.resolve(data);
21
+ req.data = data;
22
+ req.json = ()=>Promise.resolve(data);
24
23
  }
25
24
  } else if (bodyByteSize && contentType.includes('multipart/')) {
26
25
  const { error, fields, files } = await fetchAPIFileUpload({
27
- options: config.upload,
28
- request: mutableRequest
26
+ options: payload.config.upload,
27
+ request: req
29
28
  });
30
29
  if (error) {
31
30
  throw new APIError(error.message);
32
31
  }
33
32
  if (files?.file) {
34
- mutableRequest.file = files.file;
33
+ req.file = files.file;
35
34
  }
36
35
  if (fields?._payload && typeof fields._payload === 'string') {
37
- mutableRequest.data = JSON.parse(fields._payload);
36
+ req.data = JSON.parse(fields._payload);
38
37
  }
39
38
  }
40
- return mutableRequest;
41
39
  }
42
- return incomingRequest;
43
40
  };
44
41
 
45
42
  //# sourceMappingURL=addDataAndFileToRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/addDataAndFileToRequest.ts"],"sourcesContent":["import type { PayloadRequest, PayloadRequestData } from 'payload'\n\nimport { APIError } from 'payload'\n\nimport type { FetchAPIFileUploadOptions } from '../fetchAPI-multipart/index.js'\n\nimport { fetchAPIFileUpload } from '../fetchAPI-multipart/index.js'\n\ntype ReturnType = PayloadRequest & PayloadRequestData\ntype AddDataAndFileToRequest = (args: { request: PayloadRequest }) => Promise<ReturnType>\n\n/**\n * Mutates the Request to contain 'data' and 'file' if present\n */\nexport const addDataAndFileToRequest: AddDataAndFileToRequest = async ({\n request: incomingRequest,\n}) => {\n const config = incomingRequest.payload.config\n\n if (\n incomingRequest.method &&\n ['PATCH', 'POST', 'PUT'].includes(incomingRequest.method.toUpperCase()) &&\n incomingRequest.body\n ) {\n const [contentType] = (incomingRequest.headers.get('Content-Type') || '').split(';')\n const mutableRequest = incomingRequest as ReturnType\n const bodyByteSize = parseInt(incomingRequest.headers.get('Content-Length') || '0', 10)\n\n if (contentType === 'application/json') {\n let data = {}\n try {\n data = await mutableRequest.json()\n } catch (error) {\n mutableRequest.payload.logger.error(error)\n } finally {\n mutableRequest.data = data\n mutableRequest.json = () => Promise.resolve(data)\n }\n } else if (bodyByteSize && contentType.includes('multipart/')) {\n const { error, fields, files } = await fetchAPIFileUpload({\n options: config.upload as FetchAPIFileUploadOptions,\n request: mutableRequest as Request,\n })\n\n if (error) {\n throw new APIError(error.message)\n }\n\n if (files?.file) {\n mutableRequest.file = files.file\n }\n\n if (fields?._payload && typeof fields._payload === 'string') {\n mutableRequest.data = JSON.parse(fields._payload)\n }\n }\n\n return mutableRequest\n }\n\n return incomingRequest\n}\n"],"names":["APIError","fetchAPIFileUpload","addDataAndFileToRequest","request","incomingRequest","config","payload","method","includes","toUpperCase","body","contentType","headers","get","split","mutableRequest","bodyByteSize","parseInt","data","json","error","logger","Promise","resolve","fields","files","options","upload","message","file","_payload","JSON","parse"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,QAAQ,QAAQ,UAAS;AAIlC,SAASC,kBAAkB,QAAQ,iCAAgC;AAKnE;;CAEC,GACD,OAAO,MAAMC,0BAAmD,OAAO,EACrEC,SAASC,eAAe,EACzB;IACC,MAAMC,SAASD,gBAAgBE,OAAO,CAACD,MAAM;IAE7C,IACED,gBAAgBG,MAAM,IACtB;QAAC;QAAS;QAAQ;KAAM,CAACC,QAAQ,CAACJ,gBAAgBG,MAAM,CAACE,WAAW,OACpEL,gBAAgBM,IAAI,EACpB;QACA,MAAM,CAACC,YAAY,GAAG,AAACP,CAAAA,gBAAgBQ,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAC,EAAGC,KAAK,CAAC;QAChF,MAAMC,iBAAiBX;QACvB,MAAMY,eAAeC,SAASb,gBAAgBQ,OAAO,CAACC,GAAG,CAAC,qBAAqB,KAAK;QAEpF,IAAIF,gBAAgB,oBAAoB;YACtC,IAAIO,OAAO,CAAC;YACZ,IAAI;gBACFA,OAAO,MAAMH,eAAeI,IAAI;YAClC,EAAE,OAAOC,OAAO;gBACdL,eAAeT,OAAO,CAACe,MAAM,CAACD,KAAK,CAACA;YACtC,SAAU;gBACRL,eAAeG,IAAI,GAAGA;gBACtBH,eAAeI,IAAI,GAAG,IAAMG,QAAQC,OAAO,CAACL;YAC9C;QACF,OAAO,IAAIF,gBAAgBL,YAAYH,QAAQ,CAAC,eAAe;YAC7D,MAAM,EAAEY,KAAK,EAAEI,MAAM,EAAEC,KAAK,EAAE,GAAG,MAAMxB,mBAAmB;gBACxDyB,SAASrB,OAAOsB,MAAM;gBACtBxB,SAASY;YACX;YAEA,IAAIK,OAAO;gBACT,MAAM,IAAIpB,SAASoB,MAAMQ,OAAO;YAClC;YAEA,IAAIH,OAAOI,MAAM;gBACfd,eAAec,IAAI,GAAGJ,MAAMI,IAAI;YAClC;YAEA,IAAIL,QAAQM,YAAY,OAAON,OAAOM,QAAQ,KAAK,UAAU;gBAC3Df,eAAeG,IAAI,GAAGa,KAAKC,KAAK,CAACR,OAAOM,QAAQ;YAClD;QACF;QAEA,OAAOf;IACT;IAEA,OAAOX;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/addDataAndFileToRequest.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { APIError } from 'payload'\n\nimport type { FetchAPIFileUploadOptions } from '../fetchAPI-multipart/index.js'\n\nimport { fetchAPIFileUpload } from '../fetchAPI-multipart/index.js'\n\ntype AddDataAndFileToRequest = (req: PayloadRequest) => Promise<void>\n\n/**\n * Mutates the Request, appending 'data' and 'file' if found\n */\nexport const addDataAndFileToRequest: AddDataAndFileToRequest = async (req) => {\n const { body, headers, method, payload } = req\n\n if (method && ['PATCH', 'POST', 'PUT'].includes(method.toUpperCase()) && body) {\n const [contentType] = (headers.get('Content-Type') || '').split(';')\n const bodyByteSize = parseInt(req.headers.get('Content-Length') || '0', 10)\n\n if (contentType === 'application/json') {\n let data = {}\n try {\n data = await req.json()\n } catch (error) {\n req.payload.logger.error(error)\n } finally {\n req.data = data\n req.json = () => Promise.resolve(data)\n }\n } else if (bodyByteSize && contentType.includes('multipart/')) {\n const { error, fields, files } = await fetchAPIFileUpload({\n options: payload.config.upload as FetchAPIFileUploadOptions,\n request: req as Request,\n })\n\n if (error) {\n throw new APIError(error.message)\n }\n\n if (files?.file) {\n req.file = files.file\n }\n\n if (fields?._payload && typeof fields._payload === 'string') {\n req.data = JSON.parse(fields._payload)\n }\n }\n }\n}\n"],"names":["APIError","fetchAPIFileUpload","addDataAndFileToRequest","req","body","headers","method","payload","includes","toUpperCase","contentType","get","split","bodyByteSize","parseInt","data","json","error","logger","Promise","resolve","fields","files","options","config","upload","request","message","file","_payload","JSON","parse"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,UAAS;AAIlC,SAASC,kBAAkB,QAAQ,iCAAgC;AAInE;;CAEC,GACD,OAAO,MAAMC,0BAAmD,OAAOC;IACrE,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,MAAM,EAAEC,OAAO,EAAE,GAAGJ;IAE3C,IAAIG,UAAU;QAAC;QAAS;QAAQ;KAAM,CAACE,QAAQ,CAACF,OAAOG,WAAW,OAAOL,MAAM;QAC7E,MAAM,CAACM,YAAY,GAAG,AAACL,CAAAA,QAAQM,GAAG,CAAC,mBAAmB,EAAC,EAAGC,KAAK,CAAC;QAChE,MAAMC,eAAeC,SAASX,IAAIE,OAAO,CAACM,GAAG,CAAC,qBAAqB,KAAK;QAExE,IAAID,gBAAgB,oBAAoB;YACtC,IAAIK,OAAO,CAAC;YACZ,IAAI;gBACFA,OAAO,MAAMZ,IAAIa,IAAI;YACvB,EAAE,OAAOC,OAAO;gBACdd,IAAII,OAAO,CAACW,MAAM,CAACD,KAAK,CAACA;YAC3B,SAAU;gBACRd,IAAIY,IAAI,GAAGA;gBACXZ,IAAIa,IAAI,GAAG,IAAMG,QAAQC,OAAO,CAACL;YACnC;QACF,OAAO,IAAIF,gBAAgBH,YAAYF,QAAQ,CAAC,eAAe;YAC7D,MAAM,EAAES,KAAK,EAAEI,MAAM,EAAEC,KAAK,EAAE,GAAG,MAAMrB,mBAAmB;gBACxDsB,SAAShB,QAAQiB,MAAM,CAACC,MAAM;gBAC9BC,SAASvB;YACX;YAEA,IAAIc,OAAO;gBACT,MAAM,IAAIjB,SAASiB,MAAMU,OAAO;YAClC;YAEA,IAAIL,OAAOM,MAAM;gBACfzB,IAAIyB,IAAI,GAAGN,MAAMM,IAAI;YACvB;YAEA,IAAIP,QAAQQ,YAAY,OAAOR,OAAOQ,QAAQ,KAAK,UAAU;gBAC3D1B,IAAIY,IAAI,GAAGe,KAAKC,KAAK,CAACV,OAAOQ,QAAQ;YACvC;QACF;IACF;AACF,EAAC"}
@@ -1,11 +1,8 @@
1
- import type { PayloadRequest, PayloadRequestData, PayloadRequestWithData, SanitizedConfig } from 'payload';
1
+ import type { PayloadRequest, SanitizedConfig } from 'payload';
2
2
  /**
3
3
  * Mutates the Request to contain 'locale' and 'fallbackLocale' based on data or searchParams
4
4
  */
5
- type Args = {
6
- request: PayloadRequest & PayloadRequestData;
7
- };
8
- export declare function addLocalesToRequestFromData({ request }: Args): PayloadRequestWithData;
5
+ export declare function addLocalesToRequestFromData(req: PayloadRequest): void;
9
6
  type SanitizeLocalesArgs = {
10
7
  fallbackLocale: string;
11
8
  locale: string;
@@ -1 +1 @@
1
- {"version":3,"file":"addLocalesToRequest.d.ts","sourceRoot":"","sources":["../../src/utilities/addLocalesToRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EAChB,MAAM,SAAS,CAAA;AAEhB;;GAEG;AACH,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,GAAG,kBAAkB,CAAA;CAC7C,CAAA;AACD,wBAAgB,2BAA2B,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,GAAG,sBAAsB,CAmCrF;AAED,KAAK,mBAAmB,GAAG;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;CAC9C,CAAA;AACD,KAAK,qBAAqB,GAAG;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AACD,eAAO,MAAM,eAAe,8CAIzB,mBAAmB,KAAG,qBAiBxB,CAAA"}
1
+ {"version":3,"file":"addLocalesToRequest.d.ts","sourceRoot":"","sources":["../../src/utilities/addLocalesToRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9D;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CA+BrE;AAED,KAAK,mBAAmB,GAAG;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;CAC9C,CAAA;AACD,KAAK,qBAAqB,GAAG;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AACD,eAAO,MAAM,eAAe,8CAIzB,mBAAmB,KAAG,qBAiBxB,CAAA"}
@@ -1,8 +1,10 @@
1
- export function addLocalesToRequestFromData({ request }) {
2
- const { data, payload: { config } } = request;
1
+ /**
2
+ * Mutates the Request to contain 'locale' and 'fallbackLocale' based on data or searchParams
3
+ */ export function addLocalesToRequestFromData(req) {
4
+ const { data, payload: { config } } = req;
3
5
  if (data) {
4
- let localeOnReq = request.locale;
5
- let fallbackLocaleOnReq = request.fallbackLocale;
6
+ let localeOnReq = req.locale;
7
+ let fallbackLocaleOnReq = req.fallbackLocale;
6
8
  if (!localeOnReq && data?.locale && typeof data.locale === 'string') {
7
9
  localeOnReq = data.locale;
8
10
  }
@@ -14,12 +16,9 @@ export function addLocalesToRequestFromData({ request }) {
14
16
  locale: localeOnReq,
15
17
  localization: config.localization
16
18
  });
17
- const mutableRequest = request;
18
- if (locale) mutableRequest.locale = locale;
19
- if (fallbackLocale) mutableRequest.fallbackLocale = fallbackLocale;
20
- return mutableRequest;
19
+ if (locale) req.locale = locale;
20
+ if (fallbackLocale) req.fallbackLocale = fallbackLocale;
21
21
  }
22
- return request;
23
22
  }
24
23
  export const sanitizeLocales = ({ fallbackLocale, locale, localization })=>{
25
24
  if ([
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/addLocalesToRequest.ts"],"sourcesContent":["import type {\n PayloadRequest,\n PayloadRequestData,\n PayloadRequestWithData,\n SanitizedConfig,\n} from 'payload'\n\n/**\n * Mutates the Request to contain 'locale' and 'fallbackLocale' based on data or searchParams\n */\ntype Args = {\n request: PayloadRequest & PayloadRequestData\n}\nexport function addLocalesToRequestFromData({ request }: Args): PayloadRequestWithData {\n const {\n data,\n payload: { config },\n } = request\n\n if (data) {\n let localeOnReq = request.locale\n let fallbackLocaleOnReq = request.fallbackLocale\n\n if (!localeOnReq && data?.locale && typeof data.locale === 'string') {\n localeOnReq = data.locale\n }\n\n if (\n !fallbackLocaleOnReq &&\n data?.['fallback-locale'] &&\n typeof data?.['fallback-locale'] === 'string'\n ) {\n fallbackLocaleOnReq = data['fallback-locale']\n }\n\n const { fallbackLocale, locale } = sanitizeLocales({\n fallbackLocale: fallbackLocaleOnReq,\n locale: localeOnReq,\n localization: config.localization,\n })\n\n const mutableRequest = request\n if (locale) mutableRequest.locale = locale\n if (fallbackLocale) mutableRequest.fallbackLocale = fallbackLocale\n return mutableRequest\n }\n\n return request\n}\n\ntype SanitizeLocalesArgs = {\n fallbackLocale: string\n locale: string\n localization: SanitizedConfig['localization']\n}\ntype SanitizeLocalesReturn = {\n fallbackLocale?: string\n locale?: string\n}\nexport const sanitizeLocales = ({\n fallbackLocale,\n locale,\n localization,\n}: SanitizeLocalesArgs): SanitizeLocalesReturn => {\n if (['none', 'null'].includes(fallbackLocale)) {\n fallbackLocale = 'null'\n } else if (localization && !localization.localeCodes.includes(fallbackLocale)) {\n fallbackLocale = localization.defaultLocale\n }\n\n if (locale === '*') {\n locale = 'all'\n } else if (localization && !localization.localeCodes.includes(locale)) {\n locale = localization.defaultLocale\n }\n\n return {\n fallbackLocale,\n locale,\n }\n}\n"],"names":["addLocalesToRequestFromData","request","data","payload","config","localeOnReq","locale","fallbackLocaleOnReq","fallbackLocale","sanitizeLocales","localization","mutableRequest","includes","localeCodes","defaultLocale"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAaA,OAAO,SAASA,4BAA4B,EAAEC,OAAO,EAAQ;IAC3D,MAAM,EACJC,IAAI,EACJC,SAAS,EAAEC,MAAM,EAAE,EACpB,GAAGH;IAEJ,IAAIC,MAAM;QACR,IAAIG,cAAcJ,QAAQK,MAAM;QAChC,IAAIC,sBAAsBN,QAAQO,cAAc;QAEhD,IAAI,CAACH,eAAeH,MAAMI,UAAU,OAAOJ,KAAKI,MAAM,KAAK,UAAU;YACnED,cAAcH,KAAKI,MAAM;QAC3B;QAEA,IACE,CAACC,uBACDL,MAAM,CAAC,kBAAkB,IACzB,OAAOA,MAAM,CAAC,kBAAkB,KAAK,UACrC;YACAK,sBAAsBL,IAAI,CAAC,kBAAkB;QAC/C;QAEA,MAAM,EAAEM,cAAc,EAAEF,MAAM,EAAE,GAAGG,gBAAgB;YACjDD,gBAAgBD;YAChBD,QAAQD;YACRK,cAAcN,OAAOM,YAAY;QACnC;QAEA,MAAMC,iBAAiBV;QACvB,IAAIK,QAAQK,eAAeL,MAAM,GAAGA;QACpC,IAAIE,gBAAgBG,eAAeH,cAAc,GAAGA;QACpD,OAAOG;IACT;IAEA,OAAOV;AACT;AAWA,OAAO,MAAMQ,kBAAkB,CAAC,EAC9BD,cAAc,EACdF,MAAM,EACNI,YAAY,EACQ;IACpB,IAAI;QAAC;QAAQ;KAAO,CAACE,QAAQ,CAACJ,iBAAiB;QAC7CA,iBAAiB;IACnB,OAAO,IAAIE,gBAAgB,CAACA,aAAaG,WAAW,CAACD,QAAQ,CAACJ,iBAAiB;QAC7EA,iBAAiBE,aAAaI,aAAa;IAC7C;IAEA,IAAIR,WAAW,KAAK;QAClBA,SAAS;IACX,OAAO,IAAII,gBAAgB,CAACA,aAAaG,WAAW,CAACD,QAAQ,CAACN,SAAS;QACrEA,SAASI,aAAaI,aAAa;IACrC;IAEA,OAAO;QACLN;QACAF;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/addLocalesToRequest.ts"],"sourcesContent":["import type { PayloadRequest, SanitizedConfig } from 'payload'\n\n/**\n * Mutates the Request to contain 'locale' and 'fallbackLocale' based on data or searchParams\n */\nexport function addLocalesToRequestFromData(req: PayloadRequest): void {\n const {\n data,\n payload: { config },\n } = req\n\n if (data) {\n let localeOnReq = req.locale\n let fallbackLocaleOnReq = req.fallbackLocale\n\n if (!localeOnReq && data?.locale && typeof data.locale === 'string') {\n localeOnReq = data.locale\n }\n\n if (\n !fallbackLocaleOnReq &&\n data?.['fallback-locale'] &&\n typeof data?.['fallback-locale'] === 'string'\n ) {\n fallbackLocaleOnReq = data['fallback-locale']\n }\n\n const { fallbackLocale, locale } = sanitizeLocales({\n fallbackLocale: fallbackLocaleOnReq,\n locale: localeOnReq,\n localization: config.localization,\n })\n\n if (locale) req.locale = locale\n if (fallbackLocale) req.fallbackLocale = fallbackLocale\n }\n}\n\ntype SanitizeLocalesArgs = {\n fallbackLocale: string\n locale: string\n localization: SanitizedConfig['localization']\n}\ntype SanitizeLocalesReturn = {\n fallbackLocale?: string\n locale?: string\n}\nexport const sanitizeLocales = ({\n fallbackLocale,\n locale,\n localization,\n}: SanitizeLocalesArgs): SanitizeLocalesReturn => {\n if (['none', 'null'].includes(fallbackLocale)) {\n fallbackLocale = 'null'\n } else if (localization && !localization.localeCodes.includes(fallbackLocale)) {\n fallbackLocale = localization.defaultLocale\n }\n\n if (locale === '*') {\n locale = 'all'\n } else if (localization && !localization.localeCodes.includes(locale)) {\n locale = localization.defaultLocale\n }\n\n return {\n fallbackLocale,\n locale,\n }\n}\n"],"names":["addLocalesToRequestFromData","req","data","payload","config","localeOnReq","locale","fallbackLocaleOnReq","fallbackLocale","sanitizeLocales","localization","includes","localeCodes","defaultLocale"],"mappings":"AAEA;;CAEC,GACD,OAAO,SAASA,4BAA4BC,GAAmB;IAC7D,MAAM,EACJC,IAAI,EACJC,SAAS,EAAEC,MAAM,EAAE,EACpB,GAAGH;IAEJ,IAAIC,MAAM;QACR,IAAIG,cAAcJ,IAAIK,MAAM;QAC5B,IAAIC,sBAAsBN,IAAIO,cAAc;QAE5C,IAAI,CAACH,eAAeH,MAAMI,UAAU,OAAOJ,KAAKI,MAAM,KAAK,UAAU;YACnED,cAAcH,KAAKI,MAAM;QAC3B;QAEA,IACE,CAACC,uBACDL,MAAM,CAAC,kBAAkB,IACzB,OAAOA,MAAM,CAAC,kBAAkB,KAAK,UACrC;YACAK,sBAAsBL,IAAI,CAAC,kBAAkB;QAC/C;QAEA,MAAM,EAAEM,cAAc,EAAEF,MAAM,EAAE,GAAGG,gBAAgB;YACjDD,gBAAgBD;YAChBD,QAAQD;YACRK,cAAcN,OAAOM,YAAY;QACnC;QAEA,IAAIJ,QAAQL,IAAIK,MAAM,GAAGA;QACzB,IAAIE,gBAAgBP,IAAIO,cAAc,GAAGA;IAC3C;AACF;AAWA,OAAO,MAAMC,kBAAkB,CAAC,EAC9BD,cAAc,EACdF,MAAM,EACNI,YAAY,EACQ;IACpB,IAAI;QAAC;QAAQ;KAAO,CAACC,QAAQ,CAACH,iBAAiB;QAC7CA,iBAAiB;IACnB,OAAO,IAAIE,gBAAgB,CAACA,aAAaE,WAAW,CAACD,QAAQ,CAACH,iBAAiB;QAC7EA,iBAAiBE,aAAaG,aAAa;IAC7C;IAEA,IAAIP,WAAW,KAAK;QAClBA,SAAS;IACX,OAAO,IAAII,gBAAgB,CAACA,aAAaE,WAAW,CAACD,QAAQ,CAACL,SAAS;QACrEA,SAASI,aAAaG,aAAa;IACrC;IAEA,OAAO;QACLL;QACAF;IACF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createPayloadRequest.d.ts","sourceRoot":"","sources":["../../src/utilities/createPayloadRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkC,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAW9F,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,oBAAoB,gDAI9B,IAAI,KAAG,OAAO,CAAC,cAAc,CAoF/B,CAAA"}
1
+ {"version":3,"file":"createPayloadRequest.d.ts","sourceRoot":"","sources":["../../src/utilities/createPayloadRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkC,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAW9F,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,oBAAoB,gDAI9B,IAAI,KAAG,OAAO,CAAC,cAAc,CA4F/B,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { initI18n } from '@payloadcms/translations';
2
2
  import { executeAuthStrategies, getDataLoader, parseCookies } from 'payload';
3
- import qs from 'qs';
3
+ import * as qs from 'qs-esm';
4
4
  import { URL } from 'url';
5
5
  import { sanitizeLocales } from './addLocalesToRequest.js';
6
6
  import { getPayloadHMR } from './getPayloadHMR.js';
@@ -26,6 +26,13 @@ export const createPayloadRequest = async ({ config: configPromise, params, requ
26
26
  });
27
27
  let locale;
28
28
  let fallbackLocale;
29
+ const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override');
30
+ const queryToParse = overrideHttpMethod === 'GET' ? await request.text() : urlProperties.search;
31
+ const query = queryToParse ? qs.parse(queryToParse, {
32
+ arrayLimit: 1000,
33
+ depth: 10,
34
+ ignoreQueryPrefix: true
35
+ }) : {};
29
36
  if (config.localization) {
30
37
  const locales = sanitizeLocales({
31
38
  fallbackLocale: searchParams.get('fallback-locale'),
@@ -34,14 +41,10 @@ export const createPayloadRequest = async ({ config: configPromise, params, requ
34
41
  });
35
42
  locale = locales.locale;
36
43
  fallbackLocale = locales.fallbackLocale;
44
+ // Override if query params are present, in order to respect HTTP method override
45
+ if (query.locale) locale = query.locale;
46
+ if (query?.['fallback-locale']) fallbackLocale = query['fallback-locale'];
37
47
  }
38
- const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override');
39
- const queryToParse = overrideHttpMethod === 'GET' ? await request.text() : urlProperties.search;
40
- const query = queryToParse ? qs.parse(queryToParse, {
41
- arrayLimit: 1000,
42
- depth: 10,
43
- ignoreQueryPrefix: true
44
- }) : {};
45
48
  const customRequest = {
46
49
  context: {},
47
50
  fallbackLocale,
@@ -68,12 +71,13 @@ export const createPayloadRequest = async ({ config: configPromise, params, requ
68
71
  };
69
72
  const req = Object.assign(request, customRequest);
70
73
  req.payloadDataLoader = getDataLoader(req);
71
- req.user = await executeAuthStrategies({
72
- cookies,
74
+ const { responseHeaders, user } = await executeAuthStrategies({
73
75
  headers: req.headers,
74
76
  isGraphQL,
75
77
  payload
76
78
  });
79
+ req.user = user;
80
+ if (responseHeaders) req.responseHeaders = responseHeaders;
77
81
  return req;
78
82
  };
79
83
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/createPayloadRequest.ts"],"sourcesContent":["import type { CustomPayloadRequestProperties, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { executeAuthStrategies, getDataLoader, parseCookies } from 'payload'\nimport qs from 'qs'\nimport { URL } from 'url'\n\nimport { sanitizeLocales } from './addLocalesToRequest.js'\nimport { getPayloadHMR } from './getPayloadHMR.js'\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\ntype Args = {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: {\n collection: string\n }\n request: Request\n}\n\nexport const createPayloadRequest = async ({\n config: configPromise,\n params,\n request,\n}: Args): Promise<PayloadRequest> => {\n const cookies = parseCookies(request.headers)\n const payload = await getPayloadHMR({ config: configPromise })\n\n const { config } = payload\n\n const urlProperties = new URL(request.url)\n const { pathname, searchParams } = urlProperties\n\n const isGraphQL =\n !config.graphQL.disable && pathname === `${config.routes.api}${config.routes.graphQL}`\n\n const language = getRequestLanguage({\n config,\n cookies,\n headers: request.headers,\n })\n\n const i18n = await initI18n({\n config: config.i18n,\n context: 'api',\n language,\n })\n\n let locale\n let fallbackLocale\n if (config.localization) {\n const locales = sanitizeLocales({\n fallbackLocale: searchParams.get('fallback-locale'),\n locale: searchParams.get('locale'),\n localization: payload.config.localization,\n })\n locale = locales.locale\n fallbackLocale = locales.fallbackLocale\n }\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n const queryToParse = overrideHttpMethod === 'GET' ? await request.text() : urlProperties.search\n\n const query = queryToParse\n ? qs.parse(queryToParse, {\n arrayLimit: 1000,\n depth: 10,\n ignoreQueryPrefix: true,\n })\n : {}\n\n const customRequest: CustomPayloadRequestProperties = {\n context: {},\n fallbackLocale,\n hash: urlProperties.hash,\n host: urlProperties.host,\n href: urlProperties.href,\n i18n,\n locale,\n origin: urlProperties.origin,\n pathname: urlProperties.pathname,\n payload,\n payloadAPI: isGraphQL ? 'GraphQL' : 'REST',\n payloadDataLoader: undefined,\n payloadUploadSizes: {},\n port: urlProperties.port,\n protocol: urlProperties.protocol,\n query,\n routeParams: params || {},\n search: urlProperties.search,\n searchParams: urlProperties.searchParams,\n t: i18n.t,\n transactionID: undefined,\n user: null,\n }\n\n const req: PayloadRequest = Object.assign(request, customRequest)\n\n req.payloadDataLoader = getDataLoader(req)\n\n req.user = await executeAuthStrategies({\n cookies,\n headers: req.headers,\n isGraphQL,\n payload,\n })\n\n return req\n}\n"],"names":["initI18n","executeAuthStrategies","getDataLoader","parseCookies","qs","URL","sanitizeLocales","getPayloadHMR","getRequestLanguage","createPayloadRequest","config","configPromise","params","request","cookies","headers","payload","urlProperties","url","pathname","searchParams","isGraphQL","graphQL","disable","routes","api","language","i18n","context","locale","fallbackLocale","localization","locales","get","overrideHttpMethod","queryToParse","text","search","query","parse","arrayLimit","depth","ignoreQueryPrefix","customRequest","hash","host","href","origin","payloadAPI","payloadDataLoader","undefined","payloadUploadSizes","port","protocol","routeParams","t","transactionID","user","req","Object","assign"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,qBAAqB,EAAEC,aAAa,EAAEC,YAAY,QAAQ,UAAS;AAC5E,OAAOC,QAAQ,KAAI;AACnB,SAASC,GAAG,QAAQ,MAAK;AAEzB,SAASC,eAAe,QAAQ,2BAA0B;AAC1D,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,kBAAkB,QAAQ,0BAAyB;AAU5D,OAAO,MAAMC,uBAAuB,OAAO,EACzCC,QAAQC,aAAa,EACrBC,MAAM,EACNC,OAAO,EACF;IACL,MAAMC,UAAUX,aAAaU,QAAQE,OAAO;IAC5C,MAAMC,UAAU,MAAMT,cAAc;QAAEG,QAAQC;IAAc;IAE5D,MAAM,EAAED,MAAM,EAAE,GAAGM;IAEnB,MAAMC,gBAAgB,IAAIZ,IAAIQ,QAAQK,GAAG;IACzC,MAAM,EAAEC,QAAQ,EAAEC,YAAY,EAAE,GAAGH;IAEnC,MAAMI,YACJ,CAACX,OAAOY,OAAO,CAACC,OAAO,IAAIJ,aAAa,CAAC,EAAET,OAAOc,MAAM,CAACC,GAAG,CAAC,EAAEf,OAAOc,MAAM,CAACF,OAAO,CAAC,CAAC;IAExF,MAAMI,WAAWlB,mBAAmB;QAClCE;QACAI;QACAC,SAASF,QAAQE,OAAO;IAC1B;IAEA,MAAMY,OAAO,MAAM3B,SAAS;QAC1BU,QAAQA,OAAOiB,IAAI;QACnBC,SAAS;QACTF;IACF;IAEA,IAAIG;IACJ,IAAIC;IACJ,IAAIpB,OAAOqB,YAAY,EAAE;QACvB,MAAMC,UAAU1B,gBAAgB;YAC9BwB,gBAAgBV,aAAaa,GAAG,CAAC;YACjCJ,QAAQT,aAAaa,GAAG,CAAC;YACzBF,cAAcf,QAAQN,MAAM,CAACqB,YAAY;QAC3C;QACAF,SAASG,QAAQH,MAAM;QACvBC,iBAAiBE,QAAQF,cAAc;IACzC;IAEA,MAAMI,qBAAqBrB,QAAQE,OAAO,CAACkB,GAAG,CAAC;IAC/C,MAAME,eAAeD,uBAAuB,QAAQ,MAAMrB,QAAQuB,IAAI,KAAKnB,cAAcoB,MAAM;IAE/F,MAAMC,QAAQH,eACV/B,GAAGmC,KAAK,CAACJ,cAAc;QACrBK,YAAY;QACZC,OAAO;QACPC,mBAAmB;IACrB,KACA,CAAC;IAEL,MAAMC,gBAAgD;QACpDf,SAAS,CAAC;QACVE;QACAc,MAAM3B,cAAc2B,IAAI;QACxBC,MAAM5B,cAAc4B,IAAI;QACxBC,MAAM7B,cAAc6B,IAAI;QACxBnB;QACAE;QACAkB,QAAQ9B,cAAc8B,MAAM;QAC5B5B,UAAUF,cAAcE,QAAQ;QAChCH;QACAgC,YAAY3B,YAAY,YAAY;QACpC4B,mBAAmBC;QACnBC,oBAAoB,CAAC;QACrBC,MAAMnC,cAAcmC,IAAI;QACxBC,UAAUpC,cAAcoC,QAAQ;QAChCf;QACAgB,aAAa1C,UAAU,CAAC;QACxByB,QAAQpB,cAAcoB,MAAM;QAC5BjB,cAAcH,cAAcG,YAAY;QACxCmC,GAAG5B,KAAK4B,CAAC;QACTC,eAAeN;QACfO,MAAM;IACR;IAEA,MAAMC,MAAsBC,OAAOC,MAAM,CAAC/C,SAAS8B;IAEnDe,IAAIT,iBAAiB,GAAG/C,cAAcwD;IAEtCA,IAAID,IAAI,GAAG,MAAMxD,sBAAsB;QACrCa;QACAC,SAAS2C,IAAI3C,OAAO;QACpBM;QACAL;IACF;IAEA,OAAO0C;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/createPayloadRequest.ts"],"sourcesContent":["import type { CustomPayloadRequestProperties, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { executeAuthStrategies, getDataLoader, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\nimport { URL } from 'url'\n\nimport { sanitizeLocales } from './addLocalesToRequest.js'\nimport { getPayloadHMR } from './getPayloadHMR.js'\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\ntype Args = {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: {\n collection: string\n }\n request: Request\n}\n\nexport const createPayloadRequest = async ({\n config: configPromise,\n params,\n request,\n}: Args): Promise<PayloadRequest> => {\n const cookies = parseCookies(request.headers)\n const payload = await getPayloadHMR({ config: configPromise })\n\n const { config } = payload\n\n const urlProperties = new URL(request.url)\n const { pathname, searchParams } = urlProperties\n\n const isGraphQL =\n !config.graphQL.disable && pathname === `${config.routes.api}${config.routes.graphQL}`\n\n const language = getRequestLanguage({\n config,\n cookies,\n headers: request.headers,\n })\n\n const i18n = await initI18n({\n config: config.i18n,\n context: 'api',\n language,\n })\n\n let locale\n let fallbackLocale\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n const queryToParse = overrideHttpMethod === 'GET' ? await request.text() : urlProperties.search\n\n const query = queryToParse\n ? qs.parse(queryToParse, {\n arrayLimit: 1000,\n depth: 10,\n ignoreQueryPrefix: true,\n })\n : {}\n\n if (config.localization) {\n const locales = sanitizeLocales({\n fallbackLocale: searchParams.get('fallback-locale'),\n locale: searchParams.get('locale'),\n localization: payload.config.localization,\n })\n locale = locales.locale\n fallbackLocale = locales.fallbackLocale\n\n // Override if query params are present, in order to respect HTTP method override\n if (query.locale) locale = query.locale\n if (query?.['fallback-locale']) fallbackLocale = query['fallback-locale']\n }\n\n const customRequest: CustomPayloadRequestProperties = {\n context: {},\n fallbackLocale,\n hash: urlProperties.hash,\n host: urlProperties.host,\n href: urlProperties.href,\n i18n,\n locale,\n origin: urlProperties.origin,\n pathname: urlProperties.pathname,\n payload,\n payloadAPI: isGraphQL ? 'GraphQL' : 'REST',\n payloadDataLoader: undefined,\n payloadUploadSizes: {},\n port: urlProperties.port,\n protocol: urlProperties.protocol,\n query,\n routeParams: params || {},\n search: urlProperties.search,\n searchParams: urlProperties.searchParams,\n t: i18n.t,\n transactionID: undefined,\n user: null,\n }\n\n const req: PayloadRequest = Object.assign(request, customRequest)\n\n req.payloadDataLoader = getDataLoader(req)\n\n const { responseHeaders, user } = await executeAuthStrategies({\n headers: req.headers,\n isGraphQL,\n payload,\n })\n\n req.user = user\n\n if (responseHeaders) req.responseHeaders = responseHeaders\n\n return req\n}\n"],"names":["initI18n","executeAuthStrategies","getDataLoader","parseCookies","qs","URL","sanitizeLocales","getPayloadHMR","getRequestLanguage","createPayloadRequest","config","configPromise","params","request","cookies","headers","payload","urlProperties","url","pathname","searchParams","isGraphQL","graphQL","disable","routes","api","language","i18n","context","locale","fallbackLocale","overrideHttpMethod","get","queryToParse","text","search","query","parse","arrayLimit","depth","ignoreQueryPrefix","localization","locales","customRequest","hash","host","href","origin","payloadAPI","payloadDataLoader","undefined","payloadUploadSizes","port","protocol","routeParams","t","transactionID","user","req","Object","assign","responseHeaders"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import type { I18n } from '@payloadcms/translations';
1
+ import type { ClientTranslationsObject, I18nClient } from '@payloadcms/translations';
2
2
  import type { SanitizedConfig } from 'payload';
3
3
  /**
4
4
  * In the context of Next.js, this function initializes the i18n object for the current request.
5
5
  *
6
6
  * It must be called on the server side, and within the lifecycle of a request since it relies on the request headers and cookies.
7
7
  */
8
- export declare const getNextRequestI18n: ({ config }: {
8
+ export declare const getNextRequestI18n: <TAdditionalTranslations = {}, TAdditionalClientTranslationKeys extends string = never>({ config, }: {
9
9
  config: SanitizedConfig;
10
- }) => Promise<I18n>;
10
+ }) => Promise<[TAdditionalClientTranslationKeys] extends [never] ? I18nClient : TAdditionalTranslations extends object ? I18nClient<TAdditionalTranslations, TAdditionalClientTranslationKeys> : I18nClient<ClientTranslationsObject, TAdditionalClientTranslationKeys>>;
11
11
  //# sourceMappingURL=getNextRequestI18n.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getNextRequestI18n.d.ts","sourceRoot":"","sources":["../../src/utilities/getNextRequestI18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAO9C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,eAAsB;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,KAAG,OAAO,CAAC,IAAI,CAK3F,CAAA"}
1
+ {"version":3,"file":"getNextRequestI18n.d.ts","sourceRoot":"","sources":["../../src/utilities/getNextRequestI18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAIxB,UAAU,EACX,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAO9C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,uBAAuB,OACvB,gCAAgC,SAAS,MAAM,uBAG9C;IACD,MAAM,EAAE,eAAe,CAAA;CACxB,KAAG,OAAO,CACT,CAAC,gCAAgC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC9C,UAAU,GACV,uBAAuB,SAAS,MAAM,GACpC,UAAU,CAAC,uBAAuB,EAAE,gCAAgC,CAAC,GACrE,UAAU,CAAC,wBAAwB,EAAE,gCAAgC,CAAC,CAO7E,CAAA"}
@@ -5,7 +5,8 @@ import { getRequestLanguage } from './getRequestLanguage.js';
5
5
  * In the context of Next.js, this function initializes the i18n object for the current request.
6
6
  *
7
7
  * It must be called on the server side, and within the lifecycle of a request since it relies on the request headers and cookies.
8
- */ export const getNextRequestI18n = async ({ config })=>initI18n({
8
+ */ export const getNextRequestI18n = async ({ config })=>{
9
+ return await initI18n({
9
10
  config: config.i18n,
10
11
  context: 'client',
11
12
  language: getRequestLanguage({
@@ -14,5 +15,6 @@ import { getRequestLanguage } from './getRequestLanguage.js';
14
15
  headers: headers()
15
16
  })
16
17
  });
18
+ };
17
19
 
18
20
  //# sourceMappingURL=getNextRequestI18n.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getNextRequestI18n.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { SanitizedConfig } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { cookies, headers } from 'next/headers.js'\n\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\n/**\n * In the context of Next.js, this function initializes the i18n object for the current request.\n *\n * It must be called on the server side, and within the lifecycle of a request since it relies on the request headers and cookies.\n */\nexport const getNextRequestI18n = async ({ config }: { config: SanitizedConfig }): Promise<I18n> =>\n initI18n({\n config: config.i18n,\n context: 'client',\n language: getRequestLanguage({ config, cookies: cookies(), headers: headers() }),\n })\n"],"names":["initI18n","cookies","headers","getRequestLanguage","getNextRequestI18n","config","i18n","context","language"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,OAAO,EAAEC,OAAO,QAAQ,kBAAiB;AAElD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D;;;;CAIC,GACD,OAAO,MAAMC,qBAAqB,OAAO,EAAEC,MAAM,EAA+B,GAC9EL,SAAS;QACPK,QAAQA,OAAOC,IAAI;QACnBC,SAAS;QACTC,UAAUL,mBAAmB;YAAEE;YAAQJ,SAASA;YAAWC,SAASA;QAAU;IAChF,GAAE"}
1
+ {"version":3,"sources":["../../src/utilities/getNextRequestI18n.ts"],"sourcesContent":["import type {\n ClientTranslationsObject,\n DefaultTranslationKeys,\n DefaultTranslationsObject,\n I18n,\n I18nClient,\n} from '@payloadcms/translations'\nimport type { SanitizedConfig } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { cookies, headers } from 'next/headers.js'\n\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\n/**\n * In the context of Next.js, this function initializes the i18n object for the current request.\n *\n * It must be called on the server side, and within the lifecycle of a request since it relies on the request headers and cookies.\n */\nexport const getNextRequestI18n = async <\n TAdditionalTranslations = {},\n TAdditionalClientTranslationKeys extends string = never,\n>({\n config,\n}: {\n config: SanitizedConfig\n}): Promise<\n [TAdditionalClientTranslationKeys] extends [never]\n ? I18nClient\n : TAdditionalTranslations extends object\n ? I18nClient<TAdditionalTranslations, TAdditionalClientTranslationKeys>\n : I18nClient<ClientTranslationsObject, TAdditionalClientTranslationKeys>\n> => {\n return (await initI18n({\n config: config.i18n,\n context: 'client',\n language: getRequestLanguage({ config, cookies: cookies(), headers: headers() }),\n })) as any\n}\n"],"names":["initI18n","cookies","headers","getRequestLanguage","getNextRequestI18n","config","i18n","context","language"],"mappings":"AASA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,OAAO,EAAEC,OAAO,QAAQ,kBAAiB;AAElD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D;;;;CAIC,GACD,OAAO,MAAMC,qBAAqB,OAGhC,EACAC,MAAM,EAGP;IAOC,OAAQ,MAAML,SAAS;QACrBK,QAAQA,OAAOC,IAAI;QACnBC,SAAS;QACTC,UAAUL,mBAAmB;YAAEE;YAAQJ,SAASA;YAAWC,SAASA;QAAU;IAChF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPayloadHMR.d.ts","sourceRoot":"","sources":["../../src/utilities/getPayloadHMR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAgBpF,eAAO,MAAM,MAAM,WAAkB,eAAe,WAAW,OAAO,KAAG,OAAO,CAAC,IAAI,CAmCpF,CAAA;AAED,eAAO,MAAM,aAAa,YAAmB,WAAW,KAAG,OAAO,CAAC,OAAO,CA8DzE,CAAA"}
1
+ {"version":3,"file":"getPayloadHMR.d.ts","sourceRoot":"","sources":["../../src/utilities/getPayloadHMR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAgBpE,eAAO,MAAM,MAAM,WAAkB,eAAe,WAAW,OAAO,KAAG,OAAO,CAAC,IAAI,CAmCpF,CAAA;AAED,eAAO,MAAM,aAAa,YAAmB,WAAW,KAAG,OAAO,CAAC,OAAO,CAiEzE,CAAA"}
@@ -2,11 +2,11 @@ import { BasePayload } from 'payload';
2
2
  import WebSocket from 'ws';
3
3
  let cached = global._payload;
4
4
  if (!cached) {
5
- // eslint-disable-next-line no-multi-assign
6
5
  cached = global._payload = {
7
6
  payload: null,
8
7
  promise: null,
9
- reload: false
8
+ reload: false,
9
+ ws: null
10
10
  };
11
11
  }
12
12
  export const reload = async (config, payload)=>{
@@ -45,14 +45,16 @@ export const reload = async (config, payload)=>{
45
45
  };
46
46
  export const getPayloadHMR = async (options)=>{
47
47
  if (!options?.config) {
48
- throw new Error('Error: the payload config is required for getPayload to work.');
48
+ throw new Error('Error: the payload config is required for getPayloadHMR to work.');
49
49
  }
50
50
  if (cached.payload) {
51
- const config = await options.config // TODO: check if we can move this inside the cached.reload === true condition
52
- ;
53
51
  if (cached.reload === true) {
54
52
  let resolve;
53
+ // getPayloadHMR is called multiple times, in parallel. However, we only want to run `await reload` once. By immediately setting cached.reload to a promise,
54
+ // we can ensure that all subsequent calls will wait for the first reload to finish. So if we set it here, the 2nd call of getPayloadHMR
55
+ // will reach `if (cached.reload instanceof Promise) {` which then waits for the first reload to finish.
55
56
  cached.reload = new Promise((res)=>resolve = res);
57
+ const config = await options.config;
56
58
  await reload(config, cached.payload);
57
59
  resolve();
58
60
  }
@@ -62,15 +64,16 @@ export const getPayloadHMR = async (options)=>{
62
64
  return cached.payload;
63
65
  }
64
66
  if (!cached.promise) {
67
+ // no need to await options.config here, as it's already awaited in the BasePayload.init
65
68
  cached.promise = new BasePayload().init(options);
66
69
  }
67
70
  try {
68
71
  cached.payload = await cached.promise;
69
- if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test' && process.env.DISABLE_PAYLOAD_HMR !== 'true') {
72
+ if (!cached.ws && process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test' && process.env.DISABLE_PAYLOAD_HMR !== 'true') {
70
73
  try {
71
74
  const port = process.env.PORT || '3000';
72
- const ws = new WebSocket(`ws://localhost:${port}${process.env.NEXT_BASE_PATH ?? ''}/_next/webpack-hmr`);
73
- ws.onmessage = (event)=>{
75
+ cached.ws = new WebSocket(`ws://localhost:${port}${process.env.NEXT_BASE_PATH ?? ''}/_next/webpack-hmr`);
76
+ cached.ws.onmessage = (event)=>{
74
77
  if (typeof event.data === 'string') {
75
78
  const data = JSON.parse(event.data);
76
79
  if ('action' in data && data.action === 'serverComponentChanges') {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getPayloadHMR.ts"],"sourcesContent":["import type { GeneratedTypes, InitOptions, Payload, SanitizedConfig } from 'payload'\n\nimport { BasePayload } from 'payload'\nimport WebSocket from 'ws'\n\nlet cached: {\n payload: Payload | null\n promise: Promise<Payload> | null\n reload: Promise<boolean> | boolean\n} = global._payload\n\nif (!cached) {\n // eslint-disable-next-line no-multi-assign\n cached = global._payload = { payload: null, promise: null, reload: false }\n}\n\nexport const reload = async (config: SanitizedConfig, payload: Payload): Promise<void> => {\n if (typeof payload.db.destroy === 'function') {\n await payload.db.destroy()\n }\n\n payload.config = config\n\n payload.collections = config.collections.reduce((collections, collection) => {\n collections[collection.slug] = {\n config: collection,\n customIDType: payload.collections[collection.slug]?.customIDType,\n }\n return collections\n }, {})\n\n payload.globals = {\n config: config.globals,\n }\n\n // TODO: support HMR for other props in the future (see payload/src/index init()) hat may change on Payload singleton\n\n // Generate types\n if (config.typescript.autoGenerate !== false) {\n // We cannot run it directly here, as generate-types imports json-schema-to-typescript, which breaks on turbopack.\n // see: https://github.com/vercel/next.js/issues/66723\n void payload.bin({\n args: ['generate:types'],\n log: false,\n })\n }\n\n await payload.db.init()\n if (payload.db.connect) {\n await payload.db.connect({ hotReload: true })\n }\n}\n\nexport const getPayloadHMR = async (options: InitOptions): Promise<Payload> => {\n if (!options?.config) {\n throw new Error('Error: the payload config is required for getPayload to work.')\n }\n\n if (cached.payload) {\n const config = await options.config // TODO: check if we can move this inside the cached.reload === true condition\n\n if (cached.reload === true) {\n let resolve\n\n cached.reload = new Promise((res) => (resolve = res))\n\n await reload(config, cached.payload)\n\n resolve()\n }\n\n if (cached.reload instanceof Promise) {\n await cached.reload\n }\n\n return cached.payload\n }\n\n if (!cached.promise) {\n cached.promise = new BasePayload<GeneratedTypes>().init(options)\n }\n\n try {\n cached.payload = await cached.promise\n\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n process.env.DISABLE_PAYLOAD_HMR !== 'true'\n ) {\n try {\n const port = process.env.PORT || '3000'\n const ws = new WebSocket(\n `ws://localhost:${port}${process.env.NEXT_BASE_PATH ?? ''}/_next/webpack-hmr`,\n )\n\n ws.onmessage = (event) => {\n if (typeof event.data === 'string') {\n const data = JSON.parse(event.data)\n\n if ('action' in data && data.action === 'serverComponentChanges') {\n cached.reload = true\n }\n }\n }\n } catch (_) {\n // swallow e\n }\n }\n } catch (e) {\n cached.promise = null\n throw e\n }\n\n return cached.payload\n}\n"],"names":["BasePayload","WebSocket","cached","global","_payload","payload","promise","reload","config","db","destroy","collections","reduce","collection","slug","customIDType","globals","typescript","autoGenerate","bin","args","log","init","connect","hotReload","getPayloadHMR","options","Error","resolve","Promise","res","process","env","NODE_ENV","DISABLE_PAYLOAD_HMR","port","PORT","ws","NEXT_BASE_PATH","onmessage","event","data","JSON","parse","action","_","e"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../src/utilities/getPayloadHMR.ts"],"sourcesContent":["import type { InitOptions, Payload, SanitizedConfig } from 'payload'\n\nimport { BasePayload } from 'payload'\nimport WebSocket from 'ws'\n\nlet cached: {\n payload: Payload | null\n promise: Promise<Payload> | null\n reload: Promise<void> | boolean\n ws: WebSocket | null\n} = global._payload\n\nif (!cached) {\n cached = global._payload = { payload: null, promise: null, reload: false, ws: null }\n}\n\nexport const reload = async (config: SanitizedConfig, payload: Payload): Promise<void> => {\n if (typeof payload.db.destroy === 'function') {\n await payload.db.destroy()\n }\n\n payload.config = config\n\n payload.collections = config.collections.reduce((collections, collection) => {\n collections[collection.slug] = {\n config: collection,\n customIDType: payload.collections[collection.slug]?.customIDType,\n }\n return collections\n }, {})\n\n payload.globals = {\n config: config.globals,\n }\n\n // TODO: support HMR for other props in the future (see payload/src/index init()) hat may change on Payload singleton\n\n // Generate types\n if (config.typescript.autoGenerate !== false) {\n // We cannot run it directly here, as generate-types imports json-schema-to-typescript, which breaks on turbopack.\n // see: https://github.com/vercel/next.js/issues/66723\n void payload.bin({\n args: ['generate:types'],\n log: false,\n })\n }\n\n await payload.db.init()\n if (payload.db.connect) {\n await payload.db.connect({ hotReload: true })\n }\n}\n\nexport const getPayloadHMR = async (options: InitOptions): Promise<Payload> => {\n if (!options?.config) {\n throw new Error('Error: the payload config is required for getPayloadHMR to work.')\n }\n\n if (cached.payload) {\n if (cached.reload === true) {\n let resolve: () => void\n\n // getPayloadHMR is called multiple times, in parallel. However, we only want to run `await reload` once. By immediately setting cached.reload to a promise,\n // we can ensure that all subsequent calls will wait for the first reload to finish. So if we set it here, the 2nd call of getPayloadHMR\n // will reach `if (cached.reload instanceof Promise) {` which then waits for the first reload to finish.\n cached.reload = new Promise((res) => (resolve = res))\n const config = await options.config\n await reload(config, cached.payload)\n\n resolve()\n }\n\n if (cached.reload instanceof Promise) {\n await cached.reload\n }\n\n return cached.payload\n }\n\n if (!cached.promise) {\n // no need to await options.config here, as it's already awaited in the BasePayload.init\n cached.promise = new BasePayload().init(options)\n }\n\n try {\n cached.payload = await cached.promise\n\n if (\n !cached.ws &&\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n process.env.DISABLE_PAYLOAD_HMR !== 'true'\n ) {\n try {\n const port = process.env.PORT || '3000'\n cached.ws = new WebSocket(\n `ws://localhost:${port}${process.env.NEXT_BASE_PATH ?? ''}/_next/webpack-hmr`,\n )\n\n cached.ws.onmessage = (event) => {\n if (typeof event.data === 'string') {\n const data = JSON.parse(event.data)\n\n if ('action' in data && data.action === 'serverComponentChanges') {\n cached.reload = true\n }\n }\n }\n } catch (_) {\n // swallow e\n }\n }\n } catch (e) {\n cached.promise = null\n throw e\n }\n\n return cached.payload\n}\n"],"names":["BasePayload","WebSocket","cached","global","_payload","payload","promise","reload","ws","config","db","destroy","collections","reduce","collection","slug","customIDType","globals","typescript","autoGenerate","bin","args","log","init","connect","hotReload","getPayloadHMR","options","Error","resolve","Promise","res","process","env","NODE_ENV","DISABLE_PAYLOAD_HMR","port","PORT","NEXT_BASE_PATH","onmessage","event","data","JSON","parse","action","_","e"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getRequestLanguage.ts"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies.js'\nimport type { SanitizedConfig } from 'payload'\n\nimport { extractHeaderLanguage } from '@payloadcms/translations'\n\ntype GetRequestLanguageArgs = {\n config: SanitizedConfig\n cookies: Map<string, string> | ReadonlyRequestCookies\n defaultLanguage?: AcceptedLanguages\n headers: Request['headers']\n}\n\nexport const getRequestLanguage = ({\n config,\n cookies,\n headers,\n}: GetRequestLanguageArgs): AcceptedLanguages => {\n const supportedLanguageKeys = <AcceptedLanguages[]>Object.keys(config.i18n.supportedLanguages)\n const langCookie = cookies.get(`${config.cookiePrefix || 'payload'}-lng`)\n\n const languageFromCookie: AcceptedLanguages = (\n typeof langCookie === 'string' ? langCookie : langCookie?.value\n ) as AcceptedLanguages\n\n if (languageFromCookie && supportedLanguageKeys.includes(languageFromCookie)) {\n return languageFromCookie\n }\n\n const languageFromHeader = headers.get('Accept-Language')\n ? extractHeaderLanguage(headers.get('Accept-Language'))\n : undefined\n\n if (languageFromHeader && supportedLanguageKeys.includes(languageFromHeader)) {\n return languageFromHeader\n }\n\n return config.i18n.fallbackLanguage\n}\n"],"names":["extractHeaderLanguage","getRequestLanguage","config","cookies","headers","supportedLanguageKeys","Object","keys","i18n","supportedLanguages","langCookie","get","cookiePrefix","languageFromCookie","value","includes","languageFromHeader","undefined","fallbackLanguage"],"rangeMappings":";;;;;;;;;;;;;","mappings":"AAIA,SAASA,qBAAqB,QAAQ,2BAA0B;AAShE,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,MAAM,EACNC,OAAO,EACPC,OAAO,EACgB;IACvB,MAAMC,wBAA6CC,OAAOC,IAAI,CAACL,OAAOM,IAAI,CAACC,kBAAkB;IAC7F,MAAMC,aAAaP,QAAQQ,GAAG,CAAC,CAAC,EAAET,OAAOU,YAAY,IAAI,UAAU,IAAI,CAAC;IAExE,MAAMC,qBACJ,OAAOH,eAAe,WAAWA,aAAaA,YAAYI;IAG5D,IAAID,sBAAsBR,sBAAsBU,QAAQ,CAACF,qBAAqB;QAC5E,OAAOA;IACT;IAEA,MAAMG,qBAAqBZ,QAAQO,GAAG,CAAC,qBACnCX,sBAAsBI,QAAQO,GAAG,CAAC,sBAClCM;IAEJ,IAAID,sBAAsBX,sBAAsBU,QAAQ,CAACC,qBAAqB;QAC5E,OAAOA;IACT;IAEA,OAAOd,OAAOM,IAAI,CAACU,gBAAgB;AACrC,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/getRequestLanguage.ts"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies.js'\nimport type { SanitizedConfig } from 'payload'\n\nimport { extractHeaderLanguage } from '@payloadcms/translations'\n\ntype GetRequestLanguageArgs = {\n config: SanitizedConfig\n cookies: Map<string, string> | ReadonlyRequestCookies\n defaultLanguage?: AcceptedLanguages\n headers: Request['headers']\n}\n\nexport const getRequestLanguage = ({\n config,\n cookies,\n headers,\n}: GetRequestLanguageArgs): AcceptedLanguages => {\n const supportedLanguageKeys = <AcceptedLanguages[]>Object.keys(config.i18n.supportedLanguages)\n const langCookie = cookies.get(`${config.cookiePrefix || 'payload'}-lng`)\n\n const languageFromCookie: AcceptedLanguages = (\n typeof langCookie === 'string' ? langCookie : langCookie?.value\n ) as AcceptedLanguages\n\n if (languageFromCookie && supportedLanguageKeys.includes(languageFromCookie)) {\n return languageFromCookie\n }\n\n const languageFromHeader = headers.get('Accept-Language')\n ? extractHeaderLanguage(headers.get('Accept-Language'))\n : undefined\n\n if (languageFromHeader && supportedLanguageKeys.includes(languageFromHeader)) {\n return languageFromHeader\n }\n\n return config.i18n.fallbackLanguage\n}\n"],"names":["extractHeaderLanguage","getRequestLanguage","config","cookies","headers","supportedLanguageKeys","Object","keys","i18n","supportedLanguages","langCookie","get","cookiePrefix","languageFromCookie","value","includes","languageFromHeader","undefined","fallbackLanguage"],"mappings":"AAIA,SAASA,qBAAqB,QAAQ,2BAA0B;AAShE,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,MAAM,EACNC,OAAO,EACPC,OAAO,EACgB;IACvB,MAAMC,wBAA6CC,OAAOC,IAAI,CAACL,OAAOM,IAAI,CAACC,kBAAkB;IAC7F,MAAMC,aAAaP,QAAQQ,GAAG,CAAC,CAAC,EAAET,OAAOU,YAAY,IAAI,UAAU,IAAI,CAAC;IAExE,MAAMC,qBACJ,OAAOH,eAAe,WAAWA,aAAaA,YAAYI;IAG5D,IAAID,sBAAsBR,sBAAsBU,QAAQ,CAACF,qBAAqB;QAC5E,OAAOA;IACT;IAEA,MAAMG,qBAAqBZ,QAAQO,GAAG,CAAC,qBACnCX,sBAAsBI,QAAQO,GAAG,CAAC,sBAClCM;IAEJ,IAAID,sBAAsBX,sBAAsBU,QAAQ,CAACC,qBAAqB;QAC5E,OAAOA;IACT;IAEA,OAAOd,OAAOM,IAAI,CAACU,gBAAgB;AACrC,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getRequestLocales.ts"],"sourcesContent":["import type { Payload } from 'payload'\n\ntype GetRequestLocalesArgs = {\n data?: Record<string, any>\n localization: Exclude<Payload['config']['localization'], false>\n searchParams?: URLSearchParams\n}\nexport function getRequestLocales({ data, localization, searchParams }: GetRequestLocalesArgs): {\n fallbackLocale: string\n locale: string\n} {\n let locale = searchParams.get('locale')\n let fallbackLocale = searchParams.get('fallback-locale')\n\n if (data) {\n if (data?.locale) {\n locale = data.locale\n }\n if (data?.['fallback-locale']) {\n fallbackLocale = data['fallback-locale']\n }\n }\n\n if (fallbackLocale === 'none') {\n fallbackLocale = 'null'\n } else if (!localization.localeCodes.includes(fallbackLocale)) {\n fallbackLocale = localization.defaultLocale\n }\n\n if (locale === '*') {\n locale = 'all'\n } else if (!localization.localeCodes.includes(locale)) {\n locale = localization.defaultLocale\n }\n\n return {\n fallbackLocale,\n locale,\n }\n}\n"],"names":["getRequestLocales","data","localization","searchParams","locale","get","fallbackLocale","localeCodes","includes","defaultLocale"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAOA,OAAO,SAASA,kBAAkB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,YAAY,EAAyB;IAI3F,IAAIC,SAASD,aAAaE,GAAG,CAAC;IAC9B,IAAIC,iBAAiBH,aAAaE,GAAG,CAAC;IAEtC,IAAIJ,MAAM;QACR,IAAIA,MAAMG,QAAQ;YAChBA,SAASH,KAAKG,MAAM;QACtB;QACA,IAAIH,MAAM,CAAC,kBAAkB,EAAE;YAC7BK,iBAAiBL,IAAI,CAAC,kBAAkB;QAC1C;IACF;IAEA,IAAIK,mBAAmB,QAAQ;QAC7BA,iBAAiB;IACnB,OAAO,IAAI,CAACJ,aAAaK,WAAW,CAACC,QAAQ,CAACF,iBAAiB;QAC7DA,iBAAiBJ,aAAaO,aAAa;IAC7C;IAEA,IAAIL,WAAW,KAAK;QAClBA,SAAS;IACX,OAAO,IAAI,CAACF,aAAaK,WAAW,CAACC,QAAQ,CAACJ,SAAS;QACrDA,SAASF,aAAaO,aAAa;IACrC;IAEA,OAAO;QACLH;QACAF;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/utilities/getRequestLocales.ts"],"sourcesContent":["import type { Payload } from 'payload'\n\ntype GetRequestLocalesArgs = {\n data?: Record<string, any>\n localization: Exclude<Payload['config']['localization'], false>\n searchParams?: URLSearchParams\n}\nexport function getRequestLocales({ data, localization, searchParams }: GetRequestLocalesArgs): {\n fallbackLocale: string\n locale: string\n} {\n let locale = searchParams.get('locale')\n let fallbackLocale = searchParams.get('fallback-locale')\n\n if (data) {\n if (data?.locale) {\n locale = data.locale\n }\n if (data?.['fallback-locale']) {\n fallbackLocale = data['fallback-locale']\n }\n }\n\n if (fallbackLocale === 'none') {\n fallbackLocale = 'null'\n } else if (!localization.localeCodes.includes(fallbackLocale)) {\n fallbackLocale = localization.defaultLocale\n }\n\n if (locale === '*') {\n locale = 'all'\n } else if (!localization.localeCodes.includes(locale)) {\n locale = localization.defaultLocale\n }\n\n return {\n fallbackLocale,\n locale,\n }\n}\n"],"names":["getRequestLocales","data","localization","searchParams","locale","get","fallbackLocale","localeCodes","includes","defaultLocale"],"mappings":"AAOA,OAAO,SAASA,kBAAkB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,YAAY,EAAyB;IAI3F,IAAIC,SAASD,aAAaE,GAAG,CAAC;IAC9B,IAAIC,iBAAiBH,aAAaE,GAAG,CAAC;IAEtC,IAAIJ,MAAM;QACR,IAAIA,MAAMG,QAAQ;YAChBA,SAASH,KAAKG,MAAM;QACtB;QACA,IAAIH,MAAM,CAAC,kBAAkB,EAAE;YAC7BK,iBAAiBL,IAAI,CAAC,kBAAkB;QAC1C;IACF;IAEA,IAAIK,mBAAmB,QAAQ;QAC7BA,iBAAiB;IACnB,OAAO,IAAI,CAACJ,aAAaK,WAAW,CAACC,QAAQ,CAACF,iBAAiB;QAC7DA,iBAAiBJ,aAAaO,aAAa;IAC7C;IAEA,IAAIL,WAAW,KAAK;QAClBA,SAAS;IACX,OAAO,IAAI,CAACF,aAAaK,WAAW,CAACC,QAAQ,CAACJ,SAAS;QACrDA,SAASF,aAAaO,aAAa;IACrC;IAEA,OAAO;QACLH;QACAF;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getRequestTheme.ts"],"sourcesContent":["import type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies.js'\nimport type { SanitizedConfig } from 'payload'\n\nimport { type Theme, defaultTheme } from '@payloadcms/ui'\n\ntype GetRequestLanguageArgs = {\n config: SanitizedConfig\n cookies: Map<string, string> | ReadonlyRequestCookies\n headers: Request['headers']\n}\n\nconst acceptedThemes: Theme[] = ['dark', 'light']\n\nexport const getRequestTheme = ({ config, cookies, headers }: GetRequestLanguageArgs): Theme => {\n const themeCookie = cookies.get(`${config.cookiePrefix || 'payload'}-theme`)\n\n const themeFromCookie: Theme = (\n typeof themeCookie === 'string' ? themeCookie : themeCookie?.value\n ) as Theme\n\n if (themeFromCookie && acceptedThemes.includes(themeFromCookie)) {\n return themeFromCookie\n }\n\n const themeFromHeader = headers.get('Sec-CH-Prefers-Color-Scheme') as Theme\n\n if (themeFromHeader && acceptedThemes.includes(themeFromHeader)) {\n return themeFromHeader\n }\n\n return defaultTheme\n}\n"],"names":["defaultTheme","acceptedThemes","getRequestTheme","config","cookies","headers","themeCookie","get","cookiePrefix","themeFromCookie","value","includes","themeFromHeader"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAGA,SAAqBA,YAAY,QAAQ,iBAAgB;AAQzD,MAAMC,iBAA0B;IAAC;IAAQ;CAAQ;AAEjD,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,MAAM,EAAEC,OAAO,EAAEC,OAAO,EAA0B;IAClF,MAAMC,cAAcF,QAAQG,GAAG,CAAC,CAAC,EAAEJ,OAAOK,YAAY,IAAI,UAAU,MAAM,CAAC;IAE3E,MAAMC,kBACJ,OAAOH,gBAAgB,WAAWA,cAAcA,aAAaI;IAG/D,IAAID,mBAAmBR,eAAeU,QAAQ,CAACF,kBAAkB;QAC/D,OAAOA;IACT;IAEA,MAAMG,kBAAkBP,QAAQE,GAAG,CAAC;IAEpC,IAAIK,mBAAmBX,eAAeU,QAAQ,CAACC,kBAAkB;QAC/D,OAAOA;IACT;IAEA,OAAOZ;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/getRequestTheme.ts"],"sourcesContent":["import type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies.js'\nimport type { SanitizedConfig } from 'payload'\n\nimport { type Theme, defaultTheme } from '@payloadcms/ui'\n\ntype GetRequestLanguageArgs = {\n config: SanitizedConfig\n cookies: Map<string, string> | ReadonlyRequestCookies\n headers: Request['headers']\n}\n\nconst acceptedThemes: Theme[] = ['dark', 'light']\n\nexport const getRequestTheme = ({ config, cookies, headers }: GetRequestLanguageArgs): Theme => {\n const themeCookie = cookies.get(`${config.cookiePrefix || 'payload'}-theme`)\n\n const themeFromCookie: Theme = (\n typeof themeCookie === 'string' ? themeCookie : themeCookie?.value\n ) as Theme\n\n if (themeFromCookie && acceptedThemes.includes(themeFromCookie)) {\n return themeFromCookie\n }\n\n const themeFromHeader = headers.get('Sec-CH-Prefers-Color-Scheme') as Theme\n\n if (themeFromHeader && acceptedThemes.includes(themeFromHeader)) {\n return themeFromHeader\n }\n\n return defaultTheme\n}\n"],"names":["defaultTheme","acceptedThemes","getRequestTheme","config","cookies","headers","themeCookie","get","cookiePrefix","themeFromCookie","value","includes","themeFromHeader"],"mappings":"AAGA,SAAqBA,YAAY,QAAQ,iBAAgB;AAQzD,MAAMC,iBAA0B;IAAC;IAAQ;CAAQ;AAEjD,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,MAAM,EAAEC,OAAO,EAAEC,OAAO,EAA0B;IAClF,MAAMC,cAAcF,QAAQG,GAAG,CAAC,CAAC,EAAEJ,OAAOK,YAAY,IAAI,UAAU,MAAM,CAAC;IAE3E,MAAMC,kBACJ,OAAOH,gBAAgB,WAAWA,cAAcA,aAAaI;IAG/D,IAAID,mBAAmBR,eAAeU,QAAQ,CAACF,kBAAkB;QAC/D,OAAOA;IACT;IAEA,MAAMG,kBAAkBP,QAAQE,GAAG,CAAC;IAEpC,IAAIK,mBAAmBX,eAAeU,QAAQ,CAACC,kBAAkB;QAC/D,OAAOA;IACT;IAEA,OAAOZ;AACT,EAAC"}
@@ -1,7 +1,7 @@
1
- import type { PayloadRequestWithData } from 'payload';
1
+ import type { PayloadRequest } from 'payload';
2
2
  type CorsArgs = {
3
3
  headers: Headers;
4
- req: Partial<PayloadRequestWithData>;
4
+ req: Partial<PayloadRequest>;
5
5
  };
6
6
  export declare const headersWithCors: ({ headers, req }: CorsArgs) => Headers;
7
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"headersWithCors.d.ts","sourceRoot":"","sources":["../../src/utilities/headersWithCors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;CACrC,CAAA;AACD,eAAO,MAAM,eAAe,qBAAsB,QAAQ,KAAG,OAoB5D,CAAA"}
1
+ {"version":3,"file":"headersWithCors.d.ts","sourceRoot":"","sources":["../../src/utilities/headersWithCors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,SAAS,CAAA;AAEzD,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;CAC7B,CAAA;AACD,eAAO,MAAM,eAAe,qBAAsB,QAAQ,KAAG,OAyC5D,CAAA"}
@@ -2,11 +2,27 @@ export const headersWithCors = ({ headers, req })=>{
2
2
  const cors = req?.payload.config.cors;
3
3
  const requestOrigin = req?.headers.get('Origin');
4
4
  if (cors) {
5
+ const defaultAllowedHeaders = [
6
+ 'Origin',
7
+ 'X-Requested-With',
8
+ 'Content-Type',
9
+ 'Accept',
10
+ 'Authorization',
11
+ 'Content-Encoding',
12
+ 'x-apollo-tracing'
13
+ ];
5
14
  headers.set('Access-Control-Allow-Methods', 'PUT, PATCH, POST, GET, DELETE, OPTIONS');
6
- headers.set('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization, Content-Encoding, x-apollo-tracing');
7
- if (cors === '*') {
15
+ if (typeof cors === 'object' && 'headers' in cors) {
16
+ headers.set('Access-Control-Allow-Headers', [
17
+ ...defaultAllowedHeaders,
18
+ ...cors.headers
19
+ ].filter(Boolean).join(', '));
20
+ } else {
21
+ headers.set('Access-Control-Allow-Headers', defaultAllowedHeaders.join(', '));
22
+ }
23
+ if (cors === '*' || typeof cors === 'object' && 'origins' in cors && cors.origins === '*') {
8
24
  headers.set('Access-Control-Allow-Origin', '*');
9
- } else if (Array.isArray(cors) && cors.indexOf(requestOrigin) > -1) {
25
+ } else if (Array.isArray(cors) && cors.indexOf(requestOrigin) > -1 || !Array.isArray(cors) && typeof cors === 'object' && 'origins' in cors && cors.origins.indexOf(requestOrigin) > -1) {
10
26
  headers.set('Access-Control-Allow-Credentials', 'true');
11
27
  headers.set('Access-Control-Allow-Origin', requestOrigin);
12
28
  }