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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/dist/cjs/withPayload.cjs +22 -1
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -0
  5. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +13 -15
  9. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -2
  11. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  12. package/dist/elements/DocumentHeader/Tabs/index.js +9 -14
  13. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  14. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +13 -28
  16. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  18. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  20. package/dist/elements/DocumentHeader/index.d.ts +2 -3
  21. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  22. package/dist/elements/DocumentHeader/index.js +9 -12
  23. package/dist/elements/DocumentHeader/index.js.map +1 -1
  24. package/dist/elements/Logo/index.d.ts.map +1 -1
  25. package/dist/elements/Logo/index.js +5 -6
  26. package/dist/elements/Logo/index.js.map +1 -1
  27. package/dist/elements/Nav/getNavPrefs.d.ts +6 -0
  28. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -0
  29. package/dist/elements/Nav/getNavPrefs.js +26 -0
  30. package/dist/elements/Nav/getNavPrefs.js.map +1 -0
  31. package/dist/elements/Nav/index.client.d.ts +6 -1
  32. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  33. package/dist/elements/Nav/index.client.js +44 -94
  34. package/dist/elements/Nav/index.client.js.map +1 -1
  35. package/dist/elements/Nav/index.d.ts.map +1 -1
  36. package/dist/elements/Nav/index.js +66 -23
  37. package/dist/elements/Nav/index.js.map +1 -1
  38. package/dist/exports/layouts.d.ts +1 -0
  39. package/dist/exports/layouts.d.ts.map +1 -1
  40. package/dist/exports/layouts.js +1 -0
  41. package/dist/exports/layouts.js.map +1 -1
  42. package/dist/exports/routes.d.ts +1 -1
  43. package/dist/exports/routes.d.ts.map +1 -1
  44. package/dist/exports/routes.js +1 -1
  45. package/dist/exports/routes.js.map +1 -1
  46. package/dist/exports/utilities.d.ts +1 -1
  47. package/dist/exports/utilities.d.ts.map +1 -1
  48. package/dist/exports/utilities.js +2 -1
  49. package/dist/exports/utilities.js.map +1 -1
  50. package/dist/exports/views.d.ts +0 -2
  51. package/dist/exports/views.d.ts.map +1 -1
  52. package/dist/exports/views.js +0 -2
  53. package/dist/exports/views.js.map +1 -1
  54. package/dist/fetchAPI-multipart/isEligibleRequest.js +1 -1
  55. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  56. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  57. package/dist/fetchAPI-multipart/processMultipart.js +9 -11
  58. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  59. package/dist/layouts/Root/NestProviders.d.ts +11 -0
  60. package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
  61. package/dist/layouts/Root/NestProviders.js +21 -0
  62. package/dist/layouts/Root/NestProviders.js.map +1 -0
  63. package/dist/layouts/Root/checkDependencies.d.ts +2 -0
  64. package/dist/layouts/Root/checkDependencies.d.ts.map +1 -0
  65. package/dist/layouts/Root/checkDependencies.js +49 -0
  66. package/dist/layouts/Root/checkDependencies.js.map +1 -0
  67. package/dist/layouts/Root/index.d.ts +4 -3
  68. package/dist/layouts/Root/index.d.ts.map +1 -1
  69. package/dist/layouts/Root/index.js +35 -96
  70. package/dist/layouts/Root/index.js.map +1 -1
  71. package/dist/prod/styles.css +1 -1
  72. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  73. package/dist/routes/rest/collections/create.js +5 -1
  74. package/dist/routes/rest/collections/create.js.map +1 -1
  75. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  76. package/dist/routes/rest/collections/delete.js +6 -0
  77. package/dist/routes/rest/collections/delete.js.map +1 -1
  78. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  79. package/dist/routes/rest/collections/deleteByID.js +5 -1
  80. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  81. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  82. package/dist/routes/rest/collections/duplicate.js +5 -1
  83. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  84. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  85. package/dist/routes/rest/collections/find.js +7 -1
  86. package/dist/routes/rest/collections/find.js.map +1 -1
  87. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  88. package/dist/routes/rest/collections/findByID.js +5 -1
  89. package/dist/routes/rest/collections/findByID.js.map +1 -1
  90. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  91. package/dist/routes/rest/collections/findVersionByID.js +5 -1
  92. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  93. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  94. package/dist/routes/rest/collections/findVersions.js +7 -1
  95. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  96. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  97. package/dist/routes/rest/collections/restoreVersion.js +2 -0
  98. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  99. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  100. package/dist/routes/rest/collections/update.js +6 -0
  101. package/dist/routes/rest/collections/update.js.map +1 -1
  102. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  103. package/dist/routes/rest/collections/updateByID.js +5 -1
  104. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  105. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  106. package/dist/routes/rest/globals/findOne.js +5 -1
  107. package/dist/routes/rest/globals/findOne.js.map +1 -1
  108. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  109. package/dist/routes/rest/globals/findVersionByID.js +5 -1
  110. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  111. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  112. package/dist/routes/rest/globals/findVersions.js +7 -1
  113. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  114. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  115. package/dist/routes/rest/globals/restoreVersion.js +2 -0
  116. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  117. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  118. package/dist/routes/rest/globals/update.js +5 -1
  119. package/dist/routes/rest/globals/update.js.map +1 -1
  120. package/dist/routes/rest/index.d.ts +5 -0
  121. package/dist/routes/rest/index.d.ts.map +1 -1
  122. package/dist/routes/rest/index.js +73 -10
  123. package/dist/routes/rest/index.js.map +1 -1
  124. package/dist/routes/rest/og/image.d.ts +4 -2
  125. package/dist/routes/rest/og/image.d.ts.map +1 -1
  126. package/dist/routes/rest/og/image.js +7 -3
  127. package/dist/routes/rest/og/image.js.map +1 -1
  128. package/dist/routes/rest/og/index.d.ts.map +1 -1
  129. package/dist/routes/rest/og/index.js +7 -12
  130. package/dist/routes/rest/og/index.js.map +1 -1
  131. package/dist/routes/rest/routeError.d.ts.map +1 -1
  132. package/dist/routes/rest/routeError.js +10 -50
  133. package/dist/routes/rest/routeError.js.map +1 -1
  134. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +1 -1
  135. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -1
  136. package/dist/routes/rest/utilities/sanitizeJoinParams.js +9 -5
  137. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -1
  138. package/dist/routes/rest/utilities/sanitizePopulate.d.ts +3 -0
  139. package/dist/routes/rest/utilities/sanitizePopulate.d.ts.map +1 -0
  140. package/dist/routes/rest/utilities/sanitizePopulate.js +11 -0
  141. package/dist/routes/rest/utilities/sanitizePopulate.js.map +1 -0
  142. package/dist/routes/rest/utilities/sanitizeSelect.d.ts +6 -0
  143. package/dist/routes/rest/utilities/sanitizeSelect.d.ts.map +1 -0
  144. package/dist/routes/rest/utilities/sanitizeSelect.js +17 -0
  145. package/dist/routes/rest/utilities/sanitizeSelect.js.map +1 -0
  146. package/dist/templates/Default/index.d.ts +2 -1
  147. package/dist/templates/Default/index.d.ts.map +1 -1
  148. package/dist/templates/Default/index.js +97 -41
  149. package/dist/templates/Default/index.js.map +1 -1
  150. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  151. package/dist/utilities/addLocalesToRequest.js +18 -8
  152. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  153. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  154. package/dist/utilities/createPayloadRequest.js +15 -13
  155. package/dist/utilities/createPayloadRequest.js.map +1 -1
  156. package/dist/utilities/getClientConfig.d.ts +8 -0
  157. package/dist/utilities/getClientConfig.d.ts.map +1 -0
  158. package/dist/utilities/getClientConfig.js +16 -0
  159. package/dist/utilities/getClientConfig.js.map +1 -0
  160. package/dist/utilities/getPayloadHMR.d.ts +1 -2
  161. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  162. package/dist/utilities/getPayloadHMR.js +4 -102
  163. package/dist/utilities/getPayloadHMR.js.map +1 -1
  164. package/dist/utilities/getRequestLocales.d.ts.map +1 -1
  165. package/dist/utilities/getRequestLocales.js +10 -6
  166. package/dist/utilities/getRequestLocales.js.map +1 -1
  167. package/dist/utilities/handleServerFunctions.d.ts +3 -0
  168. package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
  169. package/dist/utilities/handleServerFunctions.js +35 -0
  170. package/dist/utilities/handleServerFunctions.js.map +1 -0
  171. package/dist/utilities/initPage/handleAdminPage.d.ts +2 -1
  172. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  173. package/dist/utilities/initPage/handleAdminPage.js +9 -1
  174. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  175. package/dist/utilities/initPage/handleAuthRedirect.js +2 -2
  176. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  177. package/dist/utilities/initPage/index.d.ts.map +1 -1
  178. package/dist/utilities/initPage/index.js +10 -5
  179. package/dist/utilities/initPage/index.js.map +1 -1
  180. package/dist/utilities/initPage/isCustomAdminView.d.ts +10 -0
  181. package/dist/utilities/initPage/isCustomAdminView.d.ts.map +1 -0
  182. package/dist/utilities/initPage/isCustomAdminView.js +31 -0
  183. package/dist/utilities/initPage/isCustomAdminView.js.map +1 -0
  184. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  185. package/dist/utilities/initPage/shared.js +2 -1
  186. package/dist/utilities/initPage/shared.js.map +1 -1
  187. package/dist/utilities/initReq.d.ts +3 -3
  188. package/dist/utilities/initReq.d.ts.map +1 -1
  189. package/dist/utilities/initReq.js +5 -6
  190. package/dist/utilities/initReq.js.map +1 -1
  191. package/dist/views/API/LocaleSelector/index.js +2 -2
  192. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  193. package/dist/views/API/index.client.d.ts.map +1 -1
  194. package/dist/views/API/index.client.js +16 -16
  195. package/dist/views/API/index.client.js.map +1 -1
  196. package/dist/views/Account/Settings/index.js +0 -1
  197. package/dist/views/Account/Settings/index.js.map +1 -1
  198. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  199. package/dist/views/Account/ToggleTheme/index.js +2 -0
  200. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  201. package/dist/views/Account/index.d.ts.map +1 -1
  202. package/dist/views/Account/index.js +81 -28
  203. package/dist/views/Account/index.js.map +1 -1
  204. package/dist/views/CreateFirstUser/index.client.d.ts +3 -1
  205. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  206. package/dist/views/CreateFirstUser/index.client.js +83 -108
  207. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  208. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  209. package/dist/views/CreateFirstUser/index.js +36 -4
  210. package/dist/views/CreateFirstUser/index.js.map +1 -1
  211. package/dist/views/Dashboard/Default/index.d.ts +5 -3
  212. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  213. package/dist/views/Dashboard/Default/index.js +58 -47
  214. package/dist/views/Dashboard/Default/index.js.map +1 -1
  215. package/dist/views/Dashboard/index.d.ts.map +1 -1
  216. package/dist/views/Dashboard/index.js +55 -37
  217. package/dist/views/Dashboard/index.js.map +1 -1
  218. package/dist/views/Document/getDocPreferences.d.ts +11 -0
  219. package/dist/views/Document/getDocPreferences.d.ts.map +1 -0
  220. package/dist/views/Document/getDocPreferences.js +44 -0
  221. package/dist/views/Document/getDocPreferences.js.map +1 -0
  222. package/dist/views/Document/getDocumentData.d.ts +10 -11
  223. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  224. package/dist/views/Document/getDocumentData.js +35 -45
  225. package/dist/views/Document/getDocumentData.js.map +1 -1
  226. package/dist/views/Document/getDocumentPermissions.d.ts +2 -2
  227. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  228. package/dist/views/Document/getDocumentPermissions.js +10 -7
  229. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  230. package/dist/views/Document/getIsLocked.d.ts +16 -0
  231. package/dist/views/Document/getIsLocked.d.ts.map +1 -0
  232. package/dist/views/Document/getIsLocked.js +55 -0
  233. package/dist/views/Document/getIsLocked.js.map +1 -0
  234. package/dist/views/Document/getVersions.d.ts +19 -0
  235. package/dist/views/Document/getVersions.d.ts.map +1 -0
  236. package/dist/views/Document/getVersions.js +181 -0
  237. package/dist/views/Document/getVersions.js.map +1 -0
  238. package/dist/views/Document/getViewsFromConfig.d.ts +3 -3
  239. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  240. package/dist/views/Document/getViewsFromConfig.js +30 -25
  241. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  242. package/dist/views/Document/handleServerFunction.d.ts +25 -0
  243. package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
  244. package/dist/views/Document/handleServerFunction.js +159 -0
  245. package/dist/views/Document/handleServerFunction.js.map +1 -0
  246. package/dist/views/Document/index.d.ts +5 -1
  247. package/dist/views/Document/index.d.ts.map +1 -1
  248. package/dist/views/Document/index.js +184 -73
  249. package/dist/views/Document/index.js.map +1 -1
  250. package/dist/views/Document/renderDocumentSlots.d.ts +12 -0
  251. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
  252. package/dist/views/Document/renderDocumentSlots.js +92 -0
  253. package/dist/views/Document/renderDocumentSlots.js.map +1 -0
  254. package/dist/views/Edit/index.d.ts +3 -2
  255. package/dist/views/Edit/index.d.ts.map +1 -1
  256. package/dist/views/Edit/index.js +7 -3
  257. package/dist/views/Edit/index.js.map +1 -1
  258. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  259. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +5 -1
  260. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  261. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  262. package/dist/views/ForgotPassword/index.js +2 -0
  263. package/dist/views/ForgotPassword/index.js.map +1 -1
  264. package/dist/views/List/handleServerFunction.d.ts +27 -0
  265. package/dist/views/List/handleServerFunction.d.ts.map +1 -0
  266. package/dist/views/List/handleServerFunction.js +158 -0
  267. package/dist/views/List/handleServerFunction.js.map +1 -0
  268. package/dist/views/List/index.d.ts +12 -2
  269. package/dist/views/List/index.d.ts.map +1 -1
  270. package/dist/views/List/index.js +145 -85
  271. package/dist/views/List/index.js.map +1 -1
  272. package/dist/views/List/renderListViewSlots.d.ts +12 -0
  273. package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
  274. package/dist/views/List/renderListViewSlots.js +56 -0
  275. package/dist/views/List/renderListViewSlots.js.map +1 -0
  276. package/dist/views/LivePreview/Context/sizeReducer.d.ts +1 -1
  277. package/dist/views/LivePreview/Context/sizeReducer.d.ts.map +1 -1
  278. package/dist/views/LivePreview/Context/sizeReducer.js +4 -4
  279. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  280. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  281. package/dist/views/LivePreview/index.client.js +52 -42
  282. package/dist/views/LivePreview/index.client.js.map +1 -1
  283. package/dist/views/LivePreview/index.d.ts.map +1 -1
  284. package/dist/views/LivePreview/index.js +5 -36
  285. package/dist/views/LivePreview/index.js.map +1 -1
  286. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  287. package/dist/views/Login/LoginField/index.js +6 -1
  288. package/dist/views/Login/LoginField/index.js.map +1 -1
  289. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  290. package/dist/views/Login/LoginForm/index.js +3 -1
  291. package/dist/views/Login/LoginForm/index.js.map +1 -1
  292. package/dist/views/Login/index.d.ts.map +1 -1
  293. package/dist/views/Login/index.js +26 -20
  294. package/dist/views/Login/index.js.map +1 -1
  295. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  296. package/dist/views/Logout/LogoutClient.js +5 -4
  297. package/dist/views/Logout/LogoutClient.js.map +1 -1
  298. package/dist/views/NotFound/index.d.ts.map +1 -1
  299. package/dist/views/NotFound/index.js +3 -0
  300. package/dist/views/NotFound/index.js.map +1 -1
  301. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -1
  302. package/dist/views/ResetPassword/ResetPasswordForm/index.js +13 -12
  303. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  304. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  305. package/dist/views/ResetPassword/index.js +2 -0
  306. package/dist/views/ResetPassword/index.js.map +1 -1
  307. package/dist/views/Root/getViewFromConfig.d.ts +3 -1
  308. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  309. package/dist/views/Root/getViewFromConfig.js +128 -7
  310. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  311. package/dist/views/Root/index.d.ts.map +1 -1
  312. package/dist/views/Root/index.js +35 -15
  313. package/dist/views/Root/index.js.map +1 -1
  314. package/dist/views/Version/Default/index.d.ts.map +1 -1
  315. package/dist/views/Version/Default/index.js +3 -5
  316. package/dist/views/Version/Default/index.js.map +1 -1
  317. package/dist/views/Version/Default/types.d.ts +2 -2
  318. package/dist/views/Version/Default/types.d.ts.map +1 -1
  319. package/dist/views/Version/Default/types.js.map +1 -1
  320. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +4 -2
  321. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  322. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  323. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  324. package/dist/views/Version/RenderFieldsToDiff/index.js +3 -3
  325. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  326. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +4 -2
  327. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  328. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  329. package/dist/views/Version/Restore/index.js +1 -1
  330. package/dist/views/Version/Restore/index.js.map +1 -1
  331. package/dist/views/Version/index.d.ts.map +1 -1
  332. package/dist/views/Version/index.js.map +1 -1
  333. package/dist/views/Versions/buildColumns.d.ts +3 -2
  334. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  335. package/dist/views/Versions/buildColumns.js +33 -61
  336. package/dist/views/Versions/buildColumns.js.map +1 -1
  337. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -0
  338. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  339. package/dist/views/Versions/cells/AutosaveCell/index.js +48 -37
  340. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  341. package/dist/views/Versions/cells/CreatedAt/index.d.ts +4 -0
  342. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  343. package/dist/views/Versions/cells/CreatedAt/index.js +43 -44
  344. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  345. package/dist/views/Versions/cells/ID/index.d.ts +3 -1
  346. package/dist/views/Versions/cells/ID/index.d.ts.map +1 -1
  347. package/dist/views/Versions/cells/ID/index.js +7 -19
  348. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  349. package/dist/views/Versions/getLatestVersion.js +1 -1
  350. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  351. package/dist/views/Versions/index.client.d.ts.map +1 -1
  352. package/dist/views/Versions/index.client.js +53 -51
  353. package/dist/views/Versions/index.client.js.map +1 -1
  354. package/dist/views/Versions/index.d.ts.map +1 -1
  355. package/dist/views/Versions/index.js +5 -6
  356. package/dist/views/Versions/index.js.map +1 -1
  357. package/dist/withPayload.d.ts.map +1 -1
  358. package/dist/withPayload.js +19 -1
  359. package/dist/withPayload.js.map +1 -1
  360. package/license.md +22 -0
  361. package/package.json +18 -11
  362. package/dist/elements/DocumentLocked/index.d.ts +0 -12
  363. package/dist/elements/DocumentLocked/index.d.ts.map +0 -1
  364. package/dist/elements/DocumentLocked/index.js +0 -142
  365. package/dist/elements/DocumentLocked/index.js.map +0 -1
  366. package/dist/elements/DocumentLocked/index.scss +0 -39
  367. package/dist/elements/DocumentTakeOver/index.d.ts +0 -8
  368. package/dist/elements/DocumentTakeOver/index.d.ts.map +0 -1
  369. package/dist/elements/DocumentTakeOver/index.js +0 -98
  370. package/dist/elements/DocumentTakeOver/index.js.map +0 -1
  371. package/dist/elements/DocumentTakeOver/index.scss +0 -39
  372. package/dist/elements/EmailAndUsername/index.d.ts +0 -14
  373. package/dist/elements/EmailAndUsername/index.d.ts.map +0 -1
  374. package/dist/elements/EmailAndUsername/index.js +0 -121
  375. package/dist/elements/EmailAndUsername/index.js.map +0 -1
  376. package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -4
  377. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +0 -1
  378. package/dist/elements/LeaveWithoutSaving/index.js +0 -162
  379. package/dist/elements/LeaveWithoutSaving/index.js.map +0 -1
  380. package/dist/elements/LeaveWithoutSaving/index.scss +0 -39
  381. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +0 -9
  382. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +0 -1
  383. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +0 -136
  384. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +0 -1
  385. package/dist/routes/rest/buildFormState.d.ts +0 -5
  386. package/dist/routes/rest/buildFormState.d.ts.map +0 -1
  387. package/dist/routes/rest/buildFormState.js +0 -46
  388. package/dist/routes/rest/buildFormState.js.map +0 -1
  389. package/dist/views/Edit/Default/Auth/APIKey.d.ts +0 -6
  390. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +0 -1
  391. package/dist/views/Edit/Default/Auth/APIKey.js +0 -131
  392. package/dist/views/Edit/Default/Auth/APIKey.js.map +0 -1
  393. package/dist/views/Edit/Default/Auth/index.d.ts +0 -5
  394. package/dist/views/Edit/Default/Auth/index.d.ts.map +0 -1
  395. package/dist/views/Edit/Default/Auth/index.js +0 -307
  396. package/dist/views/Edit/Default/Auth/index.js.map +0 -1
  397. package/dist/views/Edit/Default/Auth/index.scss +0 -78
  398. package/dist/views/Edit/Default/Auth/types.d.ts +0 -17
  399. package/dist/views/Edit/Default/Auth/types.d.ts.map +0 -1
  400. package/dist/views/Edit/Default/Auth/types.js +0 -2
  401. package/dist/views/Edit/Default/Auth/types.js.map +0 -1
  402. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -11
  403. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +0 -1
  404. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +0 -130
  405. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +0 -1
  406. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -8
  407. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +0 -1
  408. package/dist/views/Edit/Default/SetDocumentTitle/index.js +0 -81
  409. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +0 -1
  410. package/dist/views/Edit/Default/index.d.ts +0 -4
  411. package/dist/views/Edit/Default/index.d.ts.map +0 -1
  412. package/dist/views/Edit/Default/index.js +0 -342
  413. package/dist/views/Edit/Default/index.js.map +0 -1
  414. package/dist/views/Edit/Default/index.scss +0 -23
  415. package/dist/views/Edit/Default/types.d.ts +0 -6
  416. package/dist/views/Edit/Default/types.d.ts.map +0 -1
  417. package/dist/views/Edit/Default/types.js +0 -2
  418. package/dist/views/Edit/Default/types.js.map +0 -1
  419. package/dist/views/Edit/index.client.d.ts +0 -3
  420. package/dist/views/Edit/index.client.d.ts.map +0 -1
  421. package/dist/views/Edit/index.client.js +0 -54
  422. package/dist/views/Edit/index.client.js.map +0 -1
  423. package/dist/views/List/Default/index.d.ts +0 -4
  424. package/dist/views/List/Default/index.d.ts.map +0 -1
  425. package/dist/views/List/Default/index.js +0 -387
  426. package/dist/views/List/Default/index.js.map +0 -1
  427. package/dist/views/List/Default/index.scss +0 -179
  428. package/dist/views/List/Default/types.d.ts +0 -15
  429. package/dist/views/List/Default/types.d.ts.map +0 -1
  430. package/dist/views/List/Default/types.js +0 -2
  431. package/dist/views/List/Default/types.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { getCreateMappedComponent, PayloadIcon } from '@payloadcms/ui/shared';
2
+ import { PayloadIcon } from '@payloadcms/ui/shared';
3
3
  import fs from 'fs/promises';
4
4
  import { ImageResponse } from 'next/og.js';
5
5
  import { NextResponse } from 'next/server.js';
@@ -31,11 +31,6 @@ export const generateOGImage = async ({
31
31
  const hasLeader = searchParams.has('leader');
32
32
  const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : '';
33
33
  const description = searchParams.has('description') ? searchParams.get('description') : '';
34
- const createMappedComponent = getCreateMappedComponent({
35
- importMap: req.payload.importMap,
36
- serverProps: {}
37
- });
38
- const mappedIcon = createMappedComponent(config.admin?.components?.graphics?.Icon, undefined, PayloadIcon, 'config.admin.components.graphics.Icon');
39
34
  let fontData;
40
35
  try {
41
36
  // TODO: replace with `.woff2` file when supported
@@ -43,14 +38,15 @@ export const generateOGImage = async ({
43
38
  // Or better yet, use a CDN like Google Fonts if ever supported
44
39
  fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'));
45
40
  } catch (e) {
46
- console.error(`Error reading font file or not readable: ${e.message}`) // eslint-disable-line no-console
47
- ;
41
+ req.payload.logger.error(`Error reading font file or not readable: ${e.message}`);
48
42
  }
49
43
  const fontFamily = 'Roboto, sans-serif';
50
- return new ImageResponse( /*#__PURE__*/_jsx(OGImage, {
44
+ return new ImageResponse(/*#__PURE__*/_jsx(OGImage, {
51
45
  description: description,
46
+ Fallback: PayloadIcon,
52
47
  fontFamily: fontFamily,
53
- Icon: mappedIcon,
48
+ Icon: config.admin?.components?.graphics?.Icon,
49
+ importMap: req.payload.importMap,
54
50
  leader: leader,
55
51
  title: title
56
52
  }), {
@@ -66,8 +62,7 @@ export const generateOGImage = async ({
66
62
  width: 1200
67
63
  });
68
64
  } catch (e) {
69
- console.error(`${e.message}`) // eslint-disable-line no-console
70
- ;
65
+ req.payload.logger.error(`Error generating Open Graph image: ${e.message}`);
71
66
  return NextResponse.json({
72
67
  error: `Internal Server Error: ${e.message}`
73
68
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getCreateMappedComponent","PayloadIcon","fs","ImageResponse","NextResponse","path","React","fileURLToPath","OGImage","filename","import","meta","url","dirname","runtime","contentType","generateOGImage","req","config","payload","admin","defaultOGImageType","json","error","status","searchParams","URL","hasTitle","has","title","get","slice","hasLeader","leader","replace","description","createMappedComponent","importMap","serverProps","mappedIcon","components","graphics","Icon","undefined","fontData","readFile","join","e","console","message","fontFamily","_jsx","fonts","name","data","style","weight","height","width"],"sources":["../../../../src/routes/rest/og/index.tsx"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { getCreateMappedComponent, PayloadIcon } from '@payloadcms/ui/shared'\nimport fs from 'fs/promises'\nimport { ImageResponse } from 'next/og.js'\nimport { NextResponse } from 'next/server.js'\nimport path from 'path'\nimport React from 'react'\nimport { fileURLToPath } from 'url'\n\nimport { OGImage } from './image.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const runtime = 'nodejs'\n\nexport const contentType = 'image/png'\n\nexport const generateOGImage = async ({ req }: { req: PayloadRequest }) => {\n const config = req.payload.config\n\n if (config.admin.meta.defaultOGImageType === 'off') {\n return NextResponse.json({ error: `Open Graph images are disabled` }, { status: 400 })\n }\n\n try {\n const { searchParams } = new URL(req.url)\n\n const hasTitle = searchParams.has('title')\n const title = hasTitle ? searchParams.get('title')?.slice(0, 100) : ''\n const hasLeader = searchParams.has('leader')\n const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : ''\n const description = searchParams.has('description') ? searchParams.get('description') : ''\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: req.payload.importMap,\n serverProps: {},\n })\n\n const mappedIcon = createMappedComponent(\n config.admin?.components?.graphics?.Icon,\n undefined,\n PayloadIcon,\n 'config.admin.components.graphics.Icon',\n )\n\n let fontData\n\n try {\n // TODO: replace with `.woff2` file when supported\n // See https://github.com/vercel/next.js/issues/63935\n // Or better yet, use a CDN like Google Fonts if ever supported\n fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'))\n } catch (e) {\n console.error(`Error reading font file or not readable: ${e.message}`) // eslint-disable-line no-console\n }\n\n const fontFamily = 'Roboto, sans-serif'\n\n return new ImageResponse(\n (\n <OGImage\n description={description}\n fontFamily={fontFamily}\n Icon={mappedIcon}\n leader={leader}\n title={title}\n />\n ),\n {\n ...(fontData\n ? {\n fonts: [\n {\n name: 'Roboto',\n data: await fontData,\n style: 'normal',\n weight: 400,\n },\n ],\n }\n : {}),\n height: 630,\n width: 1200,\n },\n )\n } catch (e: any) {\n console.error(`${e.message}`) // eslint-disable-line no-console\n return NextResponse.json({ error: `Internal Server Error: ${e.message}` }, { status: 500 })\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["PayloadIcon","fs","ImageResponse","NextResponse","path","React","fileURLToPath","OGImage","filename","import","meta","url","dirname","runtime","contentType","generateOGImage","req","config","payload","admin","defaultOGImageType","json","error","status","searchParams","URL","hasTitle","has","title","get","slice","hasLeader","leader","replace","description","fontData","readFile","join","e","logger","message","fontFamily","_jsx","Fallback","Icon","components","graphics","importMap","fonts","name","data","style","weight","height","width"],"sources":["../../../../src/routes/rest/og/index.tsx"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { PayloadIcon } from '@payloadcms/ui/shared'\nimport fs from 'fs/promises'\nimport { ImageResponse } from 'next/og.js'\nimport { NextResponse } from 'next/server.js'\nimport path from 'path'\nimport React from 'react'\nimport { fileURLToPath } from 'url'\n\nimport { OGImage } from './image.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const runtime = 'nodejs'\n\nexport const contentType = 'image/png'\n\nexport const generateOGImage = async ({ req }: { req: PayloadRequest }) => {\n const config = req.payload.config\n\n if (config.admin.meta.defaultOGImageType === 'off') {\n return NextResponse.json({ error: `Open Graph images are disabled` }, { status: 400 })\n }\n\n try {\n const { searchParams } = new URL(req.url)\n\n const hasTitle = searchParams.has('title')\n const title = hasTitle ? searchParams.get('title')?.slice(0, 100) : ''\n const hasLeader = searchParams.has('leader')\n const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : ''\n const description = searchParams.has('description') ? searchParams.get('description') : ''\n\n let fontData\n\n try {\n // TODO: replace with `.woff2` file when supported\n // See https://github.com/vercel/next.js/issues/63935\n // Or better yet, use a CDN like Google Fonts if ever supported\n fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'))\n } catch (e) {\n req.payload.logger.error(`Error reading font file or not readable: ${e.message}`)\n }\n\n const fontFamily = 'Roboto, sans-serif'\n\n return new ImageResponse(\n (\n <OGImage\n description={description}\n Fallback={PayloadIcon}\n fontFamily={fontFamily}\n Icon={config.admin?.components?.graphics?.Icon}\n importMap={req.payload.importMap}\n leader={leader}\n title={title}\n />\n ),\n {\n ...(fontData\n ? {\n fonts: [\n {\n name: 'Roboto',\n data: await fontData,\n style: 'normal',\n weight: 400,\n },\n ],\n }\n : {}),\n height: 630,\n width: 1200,\n },\n )\n } catch (e: any) {\n req.payload.logger.error(`Error generating Open Graph image: ${e.message}`)\n return NextResponse.json({ error: `Internal Server Error: ${e.message}` }, { status: 500 })\n }\n}\n"],"mappings":";AAEA,SAASA,WAAW,QAAQ;AAC5B,OAAOC,EAAA,MAAQ;AACf,SAASC,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAC7B,OAAOC,IAAA,MAAU;AACjB,OAAOC,KAAA,MAAW;AAClB,SAASC,aAAa,QAAQ;AAE9B,SAASC,OAAO,QAAQ;AAExB,MAAMC,QAAA,GAAWF,aAAA,CAAcG,MAAA,CAAAC,IAAA,CAAYC,GAAG;AAC9C,MAAMC,OAAA,GAAUR,IAAA,CAAKQ,OAAO,CAACJ,QAAA;AAE7B,OAAO,MAAMK,OAAA,GAAU;AAEvB,OAAO,MAAMC,WAAA,GAAc;AAE3B,OAAO,MAAMC,eAAA,GAAkB,MAAAA,CAAO;EAAEC;AAAG,CAA2B;EACpE,MAAMC,MAAA,GAASD,GAAA,CAAIE,OAAO,CAACD,MAAM;EAEjC,IAAIA,MAAA,CAAOE,KAAK,CAACT,IAAI,CAACU,kBAAkB,KAAK,OAAO;IAClD,OAAOjB,YAAA,CAAakB,IAAI,CAAC;MAAEC,KAAA,EAAO;IAAiC,GAAG;MAAEC,MAAA,EAAQ;IAAI;EACtF;EAEA,IAAI;IACF,MAAM;MAAEC;IAAY,CAAE,GAAG,IAAIC,GAAA,CAAIT,GAAA,CAAIL,GAAG;IAExC,MAAMe,QAAA,GAAWF,YAAA,CAAaG,GAAG,CAAC;IAClC,MAAMC,KAAA,GAAQF,QAAA,GAAWF,YAAA,CAAaK,GAAG,CAAC,UAAUC,KAAA,CAAM,GAAG,OAAO;IACpE,MAAMC,SAAA,GAAYP,YAAA,CAAaG,GAAG,CAAC;IACnC,MAAMK,MAAA,GAASD,SAAA,GAAYP,YAAA,CAAaK,GAAG,CAAC,WAAWC,KAAA,CAAM,GAAG,KAAKG,OAAA,CAAQ,KAAK,OAAO;IACzF,MAAMC,WAAA,GAAcV,YAAA,CAAaG,GAAG,CAAC,iBAAiBH,YAAA,CAAaK,GAAG,CAAC,iBAAiB;IAExF,IAAIM,QAAA;IAEJ,IAAI;MACF;MACA;MACA;MACAA,QAAA,GAAWlC,EAAA,CAAGmC,QAAQ,CAAChC,IAAA,CAAKiC,IAAI,CAACzB,OAAA,EAAS;IAC5C,EAAE,OAAO0B,CAAA,EAAG;MACVtB,GAAA,CAAIE,OAAO,CAACqB,MAAM,CAACjB,KAAK,CAAC,4CAA4CgB,CAAA,CAAEE,OAAO,EAAE;IAClF;IAEA,MAAMC,UAAA,GAAa;IAEnB,OAAO,IAAIvC,aAAA,cAEPwC,IAAA,CAACnC,OAAA;MACC2B,WAAA,EAAaA,WAAA;MACbS,QAAA,EAAU3C,WAAA;MACVyC,UAAA,EAAYA,UAAA;MACZG,IAAA,EAAM3B,MAAA,CAAOE,KAAK,EAAE0B,UAAA,EAAYC,QAAA,EAAUF,IAAA;MAC1CG,SAAA,EAAW/B,GAAA,CAAIE,OAAO,CAAC6B,SAAS;MAChCf,MAAA,EAAQA,MAAA;MACRJ,KAAA,EAAOA;QAGX;MACE,IAAIO,QAAA,GACA;QACEa,KAAA,EAAO,CACL;UACEC,IAAA,EAAM;UACNC,IAAA,EAAM,MAAMf,QAAA;UACZgB,KAAA,EAAO;UACPC,MAAA,EAAQ;QACV;MAEJ,IACA,CAAC,CAAC;MACNC,MAAA,EAAQ;MACRC,KAAA,EAAO;IACT;EAEJ,EAAE,OAAOhB,CAAA,EAAQ;IACftB,GAAA,CAAIE,OAAO,CAACqB,MAAM,CAACjB,KAAK,CAAC,sCAAsCgB,CAAA,CAAEE,OAAO,EAAE;IAC1E,OAAOrC,YAAA,CAAakB,IAAI,CAAC;MAAEC,KAAA,EAAO,0BAA0BgB,CAAA,CAAEE,OAAO;IAAG,GAAG;MAAEjB,MAAA,EAAQ;IAAI;EAC3F;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"routeError.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/routeError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAe,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAGvF,OAAO,EAAE,QAAQ,EAAqC,MAAM,SAAS,CAAA;AAmErE,eAAO,MAAM,UAAU,8DAKpB;IACD,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,GAAG,EAAE,QAAQ,CAAA;IACb,GAAG,EAAE,cAAc,GAAG,OAAO,CAAA;CAC9B,sBAkFA,CAAA"}
1
+ {"version":3,"file":"routeError.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/routeError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAe,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAGvF,OAAO,EAAE,QAAQ,EAA4B,MAAM,SAAS,CAAA;AAK5D,eAAO,MAAM,UAAU,8DAKpB;IACD,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,GAAG,EAAE,QAAQ,CAAA;IACb,GAAG,EAAE,cAAc,GAAG,OAAO,CAAA;CAC9B,sBAqFA,CAAA"}
@@ -1,54 +1,7 @@
1
1
  import httpStatus from 'http-status';
2
- import { APIError, APIErrorName, ValidationErrorName } from 'payload';
3
- import { getPayloadHMR } from '../../utilities/getPayloadHMR.js';
2
+ import { APIError, formatErrors, getPayload } from 'payload';
4
3
  import { headersWithCors } from '../../utilities/headersWithCors.js';
5
4
  import { mergeHeaders } from '../../utilities/mergeHeaders.js';
6
- const formatErrors = incoming => {
7
- if (incoming) {
8
- // Cannot use `instanceof` to check error type: https://github.com/microsoft/TypeScript/issues/13965
9
- // Instead, get the prototype of the incoming error and check its constructor name
10
- const proto = Object.getPrototypeOf(incoming);
11
- // Payload 'ValidationError' and 'APIError'
12
- if ((proto.constructor.name === ValidationErrorName || proto.constructor.name === APIErrorName) && incoming.data) {
13
- return {
14
- errors: [{
15
- name: incoming.name,
16
- data: incoming.data,
17
- message: incoming.message
18
- }]
19
- };
20
- }
21
- // Mongoose 'ValidationError': https://mongoosejs.com/docs/api/error.html#Error.ValidationError
22
- if (proto.constructor.name === ValidationErrorName && 'errors' in incoming && incoming.errors) {
23
- return {
24
- errors: Object.keys(incoming.errors).reduce((acc, key) => {
25
- acc.push({
26
- field: incoming.errors[key].path,
27
- message: incoming.errors[key].message
28
- });
29
- return acc;
30
- }, [])
31
- };
32
- }
33
- if (Array.isArray(incoming.message)) {
34
- return {
35
- errors: incoming.message
36
- };
37
- }
38
- if (incoming.name) {
39
- return {
40
- errors: [{
41
- message: incoming.message
42
- }]
43
- };
44
- }
45
- }
46
- return {
47
- errors: [{
48
- message: 'An unknown error occurred.'
49
- }]
50
- };
51
- };
52
5
  export const routeError = async ({
53
6
  collection,
54
7
  config: configArg,
@@ -58,7 +11,7 @@ export const routeError = async ({
58
11
  let payload = 'payload' in incomingReq && incomingReq?.payload;
59
12
  if (!payload) {
60
13
  try {
61
- payload = await getPayloadHMR({
14
+ payload = await getPayload({
62
15
  config: configArg
63
16
  });
64
17
  } catch (e) {
@@ -81,7 +34,14 @@ export const routeError = async ({
81
34
  } = payload;
82
35
  let response = formatErrors(err);
83
36
  let status = err.status || httpStatus.INTERNAL_SERVER_ERROR;
84
- logger.error(err.stack);
37
+ const level = payload.config.loggingLevels[err.name] ?? 'error';
38
+ if (level) {
39
+ logger[level](level === 'info' ? {
40
+ msg: err.message
41
+ } : {
42
+ err
43
+ });
44
+ }
85
45
  // Internal server errors can contain anything, including potentially sensitive data.
86
46
  // Therefore, error details will be hidden from the response unless `config.debug` is `true`
87
47
  if (!config.debug && status === httpStatus.INTERNAL_SERVER_ERROR) {
@@ -1 +1 @@
1
- {"version":3,"file":"routeError.js","names":["httpStatus","APIError","APIErrorName","ValidationErrorName","getPayloadHMR","headersWithCors","mergeHeaders","formatErrors","incoming","proto","Object","getPrototypeOf","constructor","name","data","errors","message","keys","reduce","acc","key","push","field","path","Array","isArray","routeError","collection","config","configArg","err","req","incomingReq","payload","e","Response","json","status","INTERNAL_SERVER_ERROR","headers","Headers","logger","response","error","stack","debug","hooks","afterError","promise","hook","result","context","Promise","resolve","responseHeaders"],"sources":["../../../src/routes/rest/routeError.ts"],"sourcesContent":["import type { Collection, ErrorResult, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { APIError, APIErrorName, ValidationErrorName } from 'payload'\n\nimport { getPayloadHMR } from '../../utilities/getPayloadHMR.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\n\nconst formatErrors = (incoming: { [key: string]: unknown } | APIError): ErrorResult => {\n if (incoming) {\n // Cannot use `instanceof` to check error type: https://github.com/microsoft/TypeScript/issues/13965\n // Instead, get the prototype of the incoming error and check its constructor name\n const proto = Object.getPrototypeOf(incoming)\n\n // Payload 'ValidationError' and 'APIError'\n if (\n (proto.constructor.name === ValidationErrorName || proto.constructor.name === APIErrorName) &&\n incoming.data\n ) {\n return {\n errors: [\n {\n name: incoming.name,\n data: incoming.data,\n message: incoming.message,\n },\n ],\n }\n }\n\n // Mongoose 'ValidationError': https://mongoosejs.com/docs/api/error.html#Error.ValidationError\n if (proto.constructor.name === ValidationErrorName && 'errors' in incoming && incoming.errors) {\n return {\n errors: Object.keys(incoming.errors).reduce((acc, key) => {\n acc.push({\n field: incoming.errors[key].path,\n message: incoming.errors[key].message,\n })\n return acc\n }, []),\n }\n }\n\n if (Array.isArray(incoming.message)) {\n return {\n errors: incoming.message,\n }\n }\n\n if (incoming.name) {\n return {\n errors: [\n {\n message: incoming.message,\n },\n ],\n }\n }\n }\n\n return {\n errors: [\n {\n message: 'An unknown error occurred.',\n },\n ],\n }\n}\n\nexport const routeError = async ({\n collection,\n config: configArg,\n err,\n req: incomingReq,\n}: {\n collection?: Collection\n config: Promise<SanitizedConfig> | SanitizedConfig\n err: APIError\n req: PayloadRequest | Request\n}) => {\n let payload = 'payload' in incomingReq && incomingReq?.payload\n\n if (!payload) {\n try {\n payload = await getPayloadHMR({ config: configArg })\n } catch (e) {\n return Response.json(\n {\n message: 'There was an error initializing Payload',\n },\n { status: httpStatus.INTERNAL_SERVER_ERROR },\n )\n }\n }\n\n const req = incomingReq as PayloadRequest\n\n req.payload = payload\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n const { config, logger } = payload\n\n let response = formatErrors(err)\n\n let status = err.status || httpStatus.INTERNAL_SERVER_ERROR\n\n logger.error(err.stack)\n\n // Internal server errors can contain anything, including potentially sensitive data.\n // Therefore, error details will be hidden from the response unless `config.debug` is `true`\n if (!config.debug && status === httpStatus.INTERNAL_SERVER_ERROR) {\n response = formatErrors(new APIError('Something went wrong.'))\n }\n\n if (config.debug && config.debug === true) {\n response.stack = err.stack\n }\n\n if (collection) {\n await collection.config.hooks.afterError?.reduce(async (promise, hook) => {\n await promise\n\n const result = await hook({\n collection: collection.config,\n context: req.context,\n error: err,\n req,\n result: response,\n })\n\n if (result) {\n response = (result.response as ErrorResult) || response\n status = result.status || status\n }\n }, Promise.resolve())\n }\n\n await config.hooks.afterError?.reduce(async (promise, hook) => {\n await promise\n\n const result = await hook({\n collection: collection?.config,\n context: req.context,\n error: err,\n req,\n result: response,\n })\n\n if (result) {\n response = (result.response as ErrorResult) || response\n status = result.status || status\n }\n }, Promise.resolve())\n\n return Response.json(response, {\n headers: req.responseHeaders ? mergeHeaders(req.responseHeaders, headers) : headers,\n status,\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"routeError.js","names":["httpStatus","APIError","formatErrors","getPayload","headersWithCors","mergeHeaders","routeError","collection","config","configArg","err","req","incomingReq","payload","e","Response","json","message","status","INTERNAL_SERVER_ERROR","headers","Headers","logger","response","level","loggingLevels","name","msg","debug","stack","hooks","afterError","reduce","promise","hook","result","context","error","Promise","resolve","responseHeaders"],"sources":["../../../src/routes/rest/routeError.ts"],"sourcesContent":["import type { Collection, ErrorResult, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { APIError, formatErrors, getPayload } from 'payload'\n\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\n\nexport const routeError = async ({\n collection,\n config: configArg,\n err,\n req: incomingReq,\n}: {\n collection?: Collection\n config: Promise<SanitizedConfig> | SanitizedConfig\n err: APIError\n req: PayloadRequest | Request\n}) => {\n let payload = 'payload' in incomingReq && incomingReq?.payload\n\n if (!payload) {\n try {\n payload = await getPayload({ config: configArg })\n } catch (e) {\n return Response.json(\n {\n message: 'There was an error initializing Payload',\n },\n { status: httpStatus.INTERNAL_SERVER_ERROR },\n )\n }\n }\n\n const req = incomingReq as PayloadRequest\n\n req.payload = payload\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n const { config, logger } = payload\n\n let response = formatErrors(err)\n\n let status = err.status || httpStatus.INTERNAL_SERVER_ERROR\n\n const level = payload.config.loggingLevels[err.name] ?? 'error'\n if (level) {\n logger[level](level === 'info' ? { msg: err.message } : { err })\n }\n\n // Internal server errors can contain anything, including potentially sensitive data.\n // Therefore, error details will be hidden from the response unless `config.debug` is `true`\n if (!config.debug && status === httpStatus.INTERNAL_SERVER_ERROR) {\n response = formatErrors(new APIError('Something went wrong.'))\n }\n\n if (config.debug && config.debug === true) {\n response.stack = err.stack\n }\n\n if (collection) {\n await collection.config.hooks.afterError?.reduce(async (promise, hook) => {\n await promise\n\n const result = await hook({\n collection: collection.config,\n context: req.context,\n error: err,\n req,\n result: response,\n })\n\n if (result) {\n response = (result.response as ErrorResult) || response\n status = result.status || status\n }\n }, Promise.resolve())\n }\n\n await config.hooks.afterError?.reduce(async (promise, hook) => {\n await promise\n\n const result = await hook({\n collection: collection?.config,\n context: req.context,\n error: err,\n req,\n result: response,\n })\n\n if (result) {\n response = (result.response as ErrorResult) || response\n status = result.status || status\n }\n }, Promise.resolve())\n\n return Response.json(response, {\n headers: req.responseHeaders ? mergeHeaders(req.responseHeaders, headers) : headers,\n status,\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,6 @@ export declare const sanitizeJoinParams: (joins?: {
8
8
  limit?: unknown;
9
9
  sort?: string;
10
10
  where?: unknown;
11
- };
11
+ } | false;
12
12
  } | false) => JoinQuery;
13
13
  //# sourceMappingURL=sanitizeJoinParams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizeJoinParams.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/utilities/sanitizeJoinParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,WAEzB;IACE,CAAC,UAAU,EAAE,MAAM,GAAG;QACpB,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;CACF,GACD,KAAK,KACR,SAYF,CAAA"}
1
+ {"version":3,"file":"sanitizeJoinParams.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/utilities/sanitizeJoinParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,WAEzB;IACE,CAAC,UAAU,EAAE,MAAM,GACf;QACE,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,GACD,KAAK,CAAA;CACV,GACD,KAAK,KACR,SAgBF,CAAA"}
@@ -6,11 +6,15 @@ import { isNumber } from 'payload/shared';
6
6
  export const sanitizeJoinParams = (joins = {}) => {
7
7
  const joinQuery = {};
8
8
  Object.keys(joins).forEach(schemaPath => {
9
- joinQuery[schemaPath] = {
10
- limit: isNumber(joins[schemaPath]?.limit) ? Number(joins[schemaPath].limit) : undefined,
11
- sort: joins[schemaPath]?.sort ? joins[schemaPath].sort : undefined,
12
- where: joins[schemaPath]?.where ? joins[schemaPath].where : undefined
13
- };
9
+ if (joins[schemaPath] === 'false' || joins[schemaPath] === false) {
10
+ joinQuery[schemaPath] = false;
11
+ } else {
12
+ joinQuery[schemaPath] = {
13
+ limit: isNumber(joins[schemaPath]?.limit) ? Number(joins[schemaPath].limit) : undefined,
14
+ sort: joins[schemaPath]?.sort ? joins[schemaPath].sort : undefined,
15
+ where: joins[schemaPath]?.where ? joins[schemaPath].where : undefined
16
+ };
17
+ }
14
18
  });
15
19
  return joinQuery;
16
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizeJoinParams.js","names":["isNumber","sanitizeJoinParams","joins","joinQuery","Object","keys","forEach","schemaPath","limit","Number","undefined","sort","where"],"sources":["../../../../src/routes/rest/utilities/sanitizeJoinParams.ts"],"sourcesContent":["import type { JoinQuery } from 'payload'\n\nimport { isNumber } from 'payload/shared'\n\n/**\n * Convert request JoinQuery object from strings to numbers\n * @param joins\n */\nexport const sanitizeJoinParams = (\n joins:\n | {\n [schemaPath: string]: {\n limit?: unknown\n sort?: string\n where?: unknown\n }\n }\n | false = {},\n): JoinQuery => {\n const joinQuery = {}\n\n Object.keys(joins).forEach((schemaPath) => {\n joinQuery[schemaPath] = {\n limit: isNumber(joins[schemaPath]?.limit) ? Number(joins[schemaPath].limit) : undefined,\n sort: joins[schemaPath]?.sort ? joins[schemaPath].sort : undefined,\n where: joins[schemaPath]?.where ? joins[schemaPath].where : undefined,\n }\n })\n\n return joinQuery\n}\n"],"mappings":"AAEA,SAASA,QAAQ,QAAQ;AAEzB;;;;AAIA,OAAO,MAAMC,kBAAA,GAAqBA,CAChCC,KAAA,GAQY,CAAC,CAAC;EAEd,MAAMC,SAAA,GAAY,CAAC;EAEnBC,MAAA,CAAOC,IAAI,CAACH,KAAA,EAAOI,OAAO,CAAEC,UAAA;IAC1BJ,SAAS,CAACI,UAAA,CAAW,GAAG;MACtBC,KAAA,EAAOR,QAAA,CAASE,KAAK,CAACK,UAAA,CAAW,EAAEC,KAAA,IAASC,MAAA,CAAOP,KAAK,CAACK,UAAA,CAAW,CAACC,KAAK,IAAIE,SAAA;MAC9EC,IAAA,EAAMT,KAAK,CAACK,UAAA,CAAW,EAAEI,IAAA,GAAOT,KAAK,CAACK,UAAA,CAAW,CAACI,IAAI,GAAGD,SAAA;MACzDE,KAAA,EAAOV,KAAK,CAACK,UAAA,CAAW,EAAEK,KAAA,GAAQV,KAAK,CAACK,UAAA,CAAW,CAACK,KAAK,GAAGF;IAC9D;EACF;EAEA,OAAOP,SAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"sanitizeJoinParams.js","names":["isNumber","sanitizeJoinParams","joins","joinQuery","Object","keys","forEach","schemaPath","limit","Number","undefined","sort","where"],"sources":["../../../../src/routes/rest/utilities/sanitizeJoinParams.ts"],"sourcesContent":["import type { JoinQuery } from 'payload'\n\nimport { isNumber } from 'payload/shared'\n\n/**\n * Convert request JoinQuery object from strings to numbers\n * @param joins\n */\nexport const sanitizeJoinParams = (\n joins:\n | {\n [schemaPath: string]:\n | {\n limit?: unknown\n sort?: string\n where?: unknown\n }\n | false\n }\n | false = {},\n): JoinQuery => {\n const joinQuery = {}\n\n Object.keys(joins).forEach((schemaPath) => {\n if (joins[schemaPath] === 'false' || joins[schemaPath] === false) {\n joinQuery[schemaPath] = false\n } else {\n joinQuery[schemaPath] = {\n limit: isNumber(joins[schemaPath]?.limit) ? Number(joins[schemaPath].limit) : undefined,\n sort: joins[schemaPath]?.sort ? joins[schemaPath].sort : undefined,\n where: joins[schemaPath]?.where ? joins[schemaPath].where : undefined,\n }\n }\n })\n\n return joinQuery\n}\n"],"mappings":"AAEA,SAASA,QAAQ,QAAQ;AAEzB;;;;AAIA,OAAO,MAAMC,kBAAA,GAAqBA,CAChCC,KAAA,GAUY,CAAC,CAAC;EAEd,MAAMC,SAAA,GAAY,CAAC;EAEnBC,MAAA,CAAOC,IAAI,CAACH,KAAA,EAAOI,OAAO,CAAEC,UAAA;IAC1B,IAAIL,KAAK,CAACK,UAAA,CAAW,KAAK,WAAWL,KAAK,CAACK,UAAA,CAAW,KAAK,OAAO;MAChEJ,SAAS,CAACI,UAAA,CAAW,GAAG;IAC1B,OAAO;MACLJ,SAAS,CAACI,UAAA,CAAW,GAAG;QACtBC,KAAA,EAAOR,QAAA,CAASE,KAAK,CAACK,UAAA,CAAW,EAAEC,KAAA,IAASC,MAAA,CAAOP,KAAK,CAACK,UAAA,CAAW,CAACC,KAAK,IAAIE,SAAA;QAC9EC,IAAA,EAAMT,KAAK,CAACK,UAAA,CAAW,EAAEI,IAAA,GAAOT,KAAK,CAACK,UAAA,CAAW,CAACI,IAAI,GAAGD,SAAA;QACzDE,KAAA,EAAOV,KAAK,CAACK,UAAA,CAAW,EAAEK,KAAA,GAAQV,KAAK,CAACK,UAAA,CAAW,CAACK,KAAK,GAAGF;MAC9D;IACF;EACF;EAEA,OAAOP,SAAA;AACT","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { PopulateType } from 'payload';
2
+ export declare const sanitizePopulate: (unsanitizedPopulate: unknown) => PopulateType | undefined;
3
+ //# sourceMappingURL=sanitizePopulate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizePopulate.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/utilities/sanitizePopulate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAI3C,eAAO,MAAM,gBAAgB,wBAAyB,OAAO,KAAG,YAAY,GAAG,SAU9E,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { sanitizeSelect } from './sanitizeSelect.js';
2
+ export const sanitizePopulate = unsanitizedPopulate => {
3
+ if (!unsanitizedPopulate || typeof unsanitizedPopulate !== 'object') {
4
+ return;
5
+ }
6
+ for (const k in unsanitizedPopulate) {
7
+ unsanitizedPopulate[k] = sanitizeSelect(unsanitizedPopulate[k]);
8
+ }
9
+ return unsanitizedPopulate;
10
+ };
11
+ //# sourceMappingURL=sanitizePopulate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizePopulate.js","names":["sanitizeSelect","sanitizePopulate","unsanitizedPopulate","k"],"sources":["../../../../src/routes/rest/utilities/sanitizePopulate.ts"],"sourcesContent":["import type { PopulateType } from 'payload'\n\nimport { sanitizeSelect } from './sanitizeSelect.js'\n\nexport const sanitizePopulate = (unsanitizedPopulate: unknown): PopulateType | undefined => {\n if (!unsanitizedPopulate || typeof unsanitizedPopulate !== 'object') {\n return\n }\n\n for (const k in unsanitizedPopulate) {\n unsanitizedPopulate[k] = sanitizeSelect(unsanitizedPopulate[k])\n }\n\n return unsanitizedPopulate as PopulateType\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAE/B,OAAO,MAAMC,gBAAA,GAAoBC,mBAAA;EAC/B,IAAI,CAACA,mBAAA,IAAuB,OAAOA,mBAAA,KAAwB,UAAU;IACnE;EACF;EAEA,KAAK,MAAMC,CAAA,IAAKD,mBAAA,EAAqB;IACnCA,mBAAmB,CAACC,CAAA,CAAE,GAAGH,cAAA,CAAeE,mBAAmB,CAACC,CAAA,CAAE;EAChE;EAEA,OAAOD,mBAAA;AACT","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import type { SelectType } from 'payload';
2
+ /**
3
+ * Sanitizes REST select query to SelectType
4
+ */
5
+ export declare const sanitizeSelect: (unsanitizedSelect: unknown) => SelectType | undefined;
6
+ //# sourceMappingURL=sanitizeSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizeSelect.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/utilities/sanitizeSelect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC;;GAEG;AACH,eAAO,MAAM,cAAc,sBAAuB,OAAO,KAAG,UAAU,GAAG,SAcxE,CAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Sanitizes REST select query to SelectType
3
+ */export const sanitizeSelect = unsanitizedSelect => {
4
+ if (unsanitizedSelect && typeof unsanitizedSelect === 'object') {
5
+ for (const k in unsanitizedSelect) {
6
+ if (unsanitizedSelect[k] === 'true') {
7
+ unsanitizedSelect[k] = true;
8
+ } else if (unsanitizedSelect[k] === 'false') {
9
+ unsanitizedSelect[k] = false;
10
+ } else if (typeof unsanitizedSelect[k] === 'object') {
11
+ sanitizeSelect(unsanitizedSelect[k]);
12
+ }
13
+ }
14
+ }
15
+ return unsanitizedSelect;
16
+ };
17
+ //# sourceMappingURL=sanitizeSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizeSelect.js","names":["sanitizeSelect","unsanitizedSelect","k"],"sources":["../../../../src/routes/rest/utilities/sanitizeSelect.ts"],"sourcesContent":["import type { SelectType } from 'payload'\n\n/**\n * Sanitizes REST select query to SelectType\n */\nexport const sanitizeSelect = (unsanitizedSelect: unknown): SelectType | undefined => {\n if (unsanitizedSelect && typeof unsanitizedSelect === 'object') {\n for (const k in unsanitizedSelect) {\n if (unsanitizedSelect[k] === 'true') {\n unsanitizedSelect[k] = true\n } else if (unsanitizedSelect[k] === 'false') {\n unsanitizedSelect[k] = false\n } else if (typeof unsanitizedSelect[k] === 'object') {\n sanitizeSelect(unsanitizedSelect[k])\n }\n }\n }\n\n return unsanitizedSelect as SelectType\n}\n"],"mappings":"AAEA;;GAGA,OAAO,MAAMA,cAAA,GAAkBC,iBAAA;EAC7B,IAAIA,iBAAA,IAAqB,OAAOA,iBAAA,KAAsB,UAAU;IAC9D,KAAK,MAAMC,CAAA,IAAKD,iBAAA,EAAmB;MACjC,IAAIA,iBAAiB,CAACC,CAAA,CAAE,KAAK,QAAQ;QACnCD,iBAAiB,CAACC,CAAA,CAAE,GAAG;MACzB,OAAO,IAAID,iBAAiB,CAACC,CAAA,CAAE,KAAK,SAAS;QAC3CD,iBAAiB,CAACC,CAAA,CAAE,GAAG;MACzB,OAAO,IAAI,OAAOD,iBAAiB,CAACC,CAAA,CAAE,KAAK,UAAU;QACnDF,cAAA,CAAeC,iBAAiB,CAACC,CAAA,CAAE;MACrC;IACF;EACF;EAEA,OAAOD,iBAAA;AACT","ignoreList":[]}
@@ -1,9 +1,10 @@
1
- import type { ServerProps, VisibleEntities } from 'payload';
1
+ import type { CustomComponent, ServerProps, VisibleEntities } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  export type DefaultTemplateProps = {
5
5
  children?: React.ReactNode;
6
6
  className?: string;
7
+ viewActions?: CustomComponent[];
7
8
  visibleEntities: VisibleEntities;
8
9
  } & ServerProps;
9
10
  export declare const DefaultTemplate: React.FC<DefaultTemplateProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI5E,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAMrB,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,CAwE1D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAU5E,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;IAC/B,eAAe,EAAE,eAAe,CAAA;CACjC,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAuH1D,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { AppHeader, BulkUploadProvider, EntityVisibilityProvider, NavToggler } from '@payloadcms/ui';
3
- import { getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared';
2
+ import { ActionsProvider, AppHeader, BulkUploadProvider, EntityVisibilityProvider, NavToggler } from '@payloadcms/ui';
3
+ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
4
4
  import React from 'react';
5
5
  import { DefaultNav } from '../../elements/Nav/index.js';
6
6
  import { NavHamburger } from './NavHamburger/index.js';
@@ -16,10 +16,13 @@ export const DefaultTemplate = ({
16
16
  permissions,
17
17
  searchParams,
18
18
  user,
19
+ viewActions,
19
20
  visibleEntities
20
21
  }) => {
21
22
  const {
22
23
  admin: {
24
+ avatar,
25
+ components,
23
26
  components: {
24
27
  header: CustomHeader,
25
28
  Nav: CustomNav
@@ -29,51 +32,104 @@ export const DefaultTemplate = ({
29
32
  }
30
33
  } = {}
31
34
  } = payload.config || {};
32
- const createMappedComponent = getCreateMappedComponent({
33
- importMap: payload.importMap,
34
- serverProps: {
35
- i18n,
36
- locale,
37
- params,
38
- payload,
39
- permissions,
40
- searchParams,
41
- user
42
- }
43
- });
44
- const MappedDefaultNav = createMappedComponent(CustomNav, undefined, DefaultNav, 'CustomNav');
45
- const MappedCustomHeader = createMappedComponent(CustomHeader, undefined, undefined, 'CustomHeader');
35
+ const {
36
+ Actions
37
+ } = React.useMemo(() => {
38
+ return {
39
+ Actions: viewActions ? viewActions.reduce((acc, action) => {
40
+ if (action) {
41
+ if (typeof action === 'object') {
42
+ acc[action.path] = /*#__PURE__*/_jsx(RenderServerComponent, {
43
+ Component: action,
44
+ importMap: payload.importMap
45
+ });
46
+ } else {
47
+ acc[action] = /*#__PURE__*/_jsx(RenderServerComponent, {
48
+ Component: action,
49
+ importMap: payload.importMap
50
+ });
51
+ }
52
+ }
53
+ return acc;
54
+ }, {}) : undefined
55
+ };
56
+ }, [viewActions, payload]);
46
57
  return /*#__PURE__*/_jsx(EntityVisibilityProvider, {
47
58
  visibleEntities: visibleEntities,
48
- children: /*#__PURE__*/_jsxs(BulkUploadProvider, {
49
- children: [/*#__PURE__*/_jsx(RenderComponent, {
50
- mappedComponent: MappedCustomHeader
51
- }), /*#__PURE__*/_jsxs("div", {
52
- style: {
53
- position: 'relative'
54
- },
55
- children: [/*#__PURE__*/_jsx("div", {
56
- className: `${baseClass}__nav-toggler-wrapper`,
57
- id: "nav-toggler",
58
- children: /*#__PURE__*/_jsx("div", {
59
- className: `${baseClass}__nav-toggler-container`,
59
+ children: /*#__PURE__*/_jsx(BulkUploadProvider, {
60
+ children: /*#__PURE__*/_jsxs(ActionsProvider, {
61
+ Actions: Actions,
62
+ children: [/*#__PURE__*/_jsx(RenderServerComponent, {
63
+ clientProps: {
64
+ clientProps: {
65
+ visibleEntities
66
+ }
67
+ },
68
+ Component: CustomHeader,
69
+ importMap: payload.importMap,
70
+ serverProps: {
71
+ i18n,
72
+ locale,
73
+ params,
74
+ payload,
75
+ permissions,
76
+ searchParams,
77
+ user,
78
+ visibleEntities
79
+ }
80
+ }), /*#__PURE__*/_jsxs("div", {
81
+ style: {
82
+ position: 'relative'
83
+ },
84
+ children: [/*#__PURE__*/_jsx("div", {
85
+ className: `${baseClass}__nav-toggler-wrapper`,
60
86
  id: "nav-toggler",
61
- children: /*#__PURE__*/_jsx(NavToggler, {
62
- className: `${baseClass}__nav-toggler`,
63
- children: /*#__PURE__*/_jsx(NavHamburger, {})
87
+ children: /*#__PURE__*/_jsx("div", {
88
+ className: `${baseClass}__nav-toggler-container`,
89
+ id: "nav-toggler",
90
+ children: /*#__PURE__*/_jsx(NavToggler, {
91
+ className: `${baseClass}__nav-toggler`,
92
+ children: /*#__PURE__*/_jsx(NavHamburger, {})
93
+ })
64
94
  })
65
- })
66
- }), /*#__PURE__*/_jsxs(Wrapper, {
67
- baseClass: baseClass,
68
- className: className,
69
- children: [/*#__PURE__*/_jsx(RenderComponent, {
70
- mappedComponent: MappedDefaultNav
71
- }), /*#__PURE__*/_jsxs("div", {
72
- className: `${baseClass}__wrap`,
73
- children: [/*#__PURE__*/_jsx(AppHeader, {}), children]
95
+ }), /*#__PURE__*/_jsxs(Wrapper, {
96
+ baseClass: baseClass,
97
+ className: className,
98
+ children: [/*#__PURE__*/_jsx(RenderServerComponent, {
99
+ clientProps: {
100
+ clientProps: {
101
+ visibleEntities
102
+ }
103
+ },
104
+ Component: CustomNav,
105
+ Fallback: DefaultNav,
106
+ importMap: payload.importMap,
107
+ serverProps: {
108
+ i18n,
109
+ locale,
110
+ params,
111
+ payload,
112
+ permissions,
113
+ searchParams,
114
+ user,
115
+ visibleEntities
116
+ }
117
+ }), /*#__PURE__*/_jsxs("div", {
118
+ className: `${baseClass}__wrap`,
119
+ children: [/*#__PURE__*/_jsx(AppHeader, {
120
+ CustomAvatar: avatar !== 'gravatar' && avatar !== 'default' ? /*#__PURE__*/_jsx(RenderServerComponent, {
121
+ Component: avatar.Component,
122
+ importMap: payload.importMap
123
+ }) : undefined,
124
+ CustomIcon: components?.graphics?.Icon ? /*#__PURE__*/_jsx(RenderServerComponent, {
125
+ Component: components.graphics.Icon,
126
+ importMap: payload.importMap
127
+ }) : undefined
128
+ }), children]
129
+ })]
74
130
  })]
75
131
  })]
76
- })]
132
+ })
77
133
  })
78
134
  });
79
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AppHeader","BulkUploadProvider","EntityVisibilityProvider","NavToggler","getCreateMappedComponent","RenderComponent","React","DefaultNav","NavHamburger","Wrapper","baseClass","DefaultTemplate","children","className","i18n","locale","params","payload","permissions","searchParams","user","visibleEntities","admin","components","header","CustomHeader","Nav","CustomNav","undefined","config","createMappedComponent","importMap","serverProps","MappedDefaultNav","MappedCustomHeader","_jsx","_jsxs","mappedComponent","style","position","id"],"sources":["../../../src/templates/Default/index.tsx"],"sourcesContent":["import type { MappedComponent, ServerProps, VisibleEntities } from 'payload'\n\nimport { AppHeader, BulkUploadProvider, EntityVisibilityProvider, NavToggler } from '@payloadcms/ui'\nimport { getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { DefaultNav } from '../../elements/Nav/index.js'\nimport './index.scss'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { Wrapper } from './Wrapper/index.js'\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: { header: CustomHeader, Nav: CustomNav } = {\n header: undefined,\n Nav: undefined,\n },\n } = {},\n } = payload.config || {}\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const MappedDefaultNav: MappedComponent = createMappedComponent(\n CustomNav,\n undefined,\n DefaultNav,\n 'CustomNav',\n )\n\n const MappedCustomHeader = createMappedComponent(\n CustomHeader,\n undefined,\n undefined,\n 'CustomHeader',\n )\n\n return (\n <EntityVisibilityProvider visibleEntities={visibleEntities}>\n <BulkUploadProvider>\n <RenderComponent mappedComponent={MappedCustomHeader} />\n <div style={{ position: 'relative' }}>\n <div className={`${baseClass}__nav-toggler-wrapper`} id=\"nav-toggler\">\n <div className={`${baseClass}__nav-toggler-container`} id=\"nav-toggler\">\n <NavToggler className={`${baseClass}__nav-toggler`}>\n <NavHamburger />\n </NavToggler>\n </div>\n </div>\n <Wrapper baseClass={baseClass} className={className}>\n <RenderComponent mappedComponent={MappedDefaultNav} />\n\n <div className={`${baseClass}__wrap`}>\n <AppHeader />\n {children}\n </div>\n </Wrapper>\n </div>\n </BulkUploadProvider>\n </EntityVisibilityProvider>\n )\n}\n"],"mappings":";AAEA,SAASA,SAAS,EAAEC,kBAAkB,EAAEC,wBAAwB,EAAEC,UAAU,QAAQ;AACpF,SAASC,wBAAwB,EAAEC,eAAe,QAAQ;AAC1D,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAE3B,SAASC,YAAY,QAAQ;AAC7B,SAASC,OAAO,QAAQ;AAExB,MAAMC,SAAA,GAAY;AAQlB,OAAO,MAAMC,eAAA,GAAkDA,CAAC;EAC9DC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,WAAW;EACXC,YAAY;EACZC,IAAI;EACJC;AAAe,CAChB;EACC,MAAM;IACJC,KAAA,EAAO;MACLC,UAAA,EAAY;QAAEC,MAAA,EAAQC,YAAY;QAAEC,GAAA,EAAKC;MAAS,CAAE,GAAG;QACrDH,MAAA,EAAQI,SAAA;QACRF,GAAA,EAAKE;MACP;IAAC,CACF,GAAG,CAAC;EAAC,CACP,GAAGX,OAAA,CAAQY,MAAM,IAAI,CAAC;EAEvB,MAAMC,qBAAA,GAAwB1B,wBAAA,CAAyB;IACrD2B,SAAA,EAAWd,OAAA,CAAQc,SAAS;IAC5BC,WAAA,EAAa;MACXlB,IAAA;MACAC,MAAA;MACAC,MAAA;MACAC,OAAA;MACAC,WAAA;MACAC,YAAA;MACAC;IACF;EACF;EAEA,MAAMa,gBAAA,GAAoCH,qBAAA,CACxCH,SAAA,EACAC,SAAA,EACArB,UAAA,EACA;EAGF,MAAM2B,kBAAA,GAAqBJ,qBAAA,CACzBL,YAAA,EACAG,SAAA,EACAA,SAAA,EACA;EAGF,oBACEO,IAAA,CAACjC,wBAAA;IAAyBmB,eAAA,EAAiBA,eAAA;cACzC,aAAAe,KAAA,CAACnC,kBAAA;8BACCkC,IAAA,CAAC9B,eAAA;QAAgBgC,eAAA,EAAiBH;uBAClCE,KAAA,CAAC;QAAIE,KAAA,EAAO;UAAEC,QAAA,EAAU;QAAW;gCACjCJ,IAAA,CAAC;UAAItB,SAAA,EAAW,GAAGH,SAAA,uBAAgC;UAAE8B,EAAA,EAAG;oBACtD,aAAAL,IAAA,CAAC;YAAItB,SAAA,EAAW,GAAGH,SAAA,yBAAkC;YAAE8B,EAAA,EAAG;sBACxD,aAAAL,IAAA,CAAChC,UAAA;cAAWU,SAAA,EAAW,GAAGH,SAAA,eAAwB;wBAChD,aAAAyB,IAAA,CAAC3B,YAAA;;;yBAIP4B,KAAA,CAAC3B,OAAA;UAAQC,SAAA,EAAWA,SAAA;UAAWG,SAAA,EAAWA,SAAA;kCACxCsB,IAAA,CAAC9B,eAAA;YAAgBgC,eAAA,EAAiBJ;2BAElCG,KAAA,CAAC;YAAIvB,SAAA,EAAW,GAAGH,SAAA,QAAiB;oCAClCyB,IAAA,CAACnC,SAAA,OACAY,QAAA;;;;;;AAOf","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["ActionsProvider","AppHeader","BulkUploadProvider","EntityVisibilityProvider","NavToggler","RenderServerComponent","React","DefaultNav","NavHamburger","Wrapper","baseClass","DefaultTemplate","children","className","i18n","locale","params","payload","permissions","searchParams","user","viewActions","visibleEntities","admin","avatar","components","header","CustomHeader","Nav","CustomNav","undefined","config","Actions","useMemo","reduce","acc","action","path","_jsx","Component","importMap","_jsxs","clientProps","serverProps","style","position","id","Fallback","CustomAvatar","CustomIcon","graphics","Icon"],"sources":["../../../src/templates/Default/index.tsx"],"sourcesContent":["import type { CustomComponent, ServerProps, VisibleEntities } from 'payload'\n\nimport {\n ActionsProvider,\n AppHeader,\n BulkUploadProvider,\n EntityVisibilityProvider,\n NavToggler,\n} from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport React from 'react'\n\nimport { DefaultNav } from '../../elements/Nav/index.js'\nimport './index.scss'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { Wrapper } from './Wrapper/index.js'\n\nconst baseClass = 'template-default'\n\nexport type DefaultTemplateProps = {\n children?: React.ReactNode\n className?: string\n viewActions?: CustomComponent[]\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 viewActions,\n visibleEntities,\n}) => {\n const {\n admin: {\n avatar,\n components,\n components: { header: CustomHeader, Nav: CustomNav } = {\n header: undefined,\n Nav: undefined,\n },\n } = {},\n } = payload.config || {}\n\n const { Actions } = React.useMemo<{\n Actions: Record<string, React.ReactNode>\n }>(() => {\n return {\n Actions: viewActions\n ? viewActions.reduce((acc, action) => {\n if (action) {\n if (typeof action === 'object') {\n acc[action.path] = (\n <RenderServerComponent Component={action} importMap={payload.importMap} />\n )\n } else {\n acc[action] = (\n <RenderServerComponent Component={action} importMap={payload.importMap} />\n )\n }\n }\n\n return acc\n }, {})\n : undefined,\n }\n }, [viewActions, payload])\n\n return (\n <EntityVisibilityProvider visibleEntities={visibleEntities}>\n <BulkUploadProvider>\n <ActionsProvider Actions={Actions}>\n <RenderServerComponent\n clientProps={{ clientProps: { visibleEntities } }}\n Component={CustomHeader}\n importMap={payload.importMap}\n serverProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n visibleEntities,\n }}\n />\n <div style={{ position: 'relative' }}>\n <div className={`${baseClass}__nav-toggler-wrapper`} id=\"nav-toggler\">\n <div className={`${baseClass}__nav-toggler-container`} id=\"nav-toggler\">\n <NavToggler className={`${baseClass}__nav-toggler`}>\n <NavHamburger />\n </NavToggler>\n </div>\n </div>\n <Wrapper baseClass={baseClass} className={className}>\n <RenderServerComponent\n clientProps={{ clientProps: { visibleEntities } }}\n Component={CustomNav}\n Fallback={DefaultNav}\n importMap={payload.importMap}\n serverProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n visibleEntities,\n }}\n />\n <div className={`${baseClass}__wrap`}>\n <AppHeader\n CustomAvatar={\n avatar !== 'gravatar' && avatar !== 'default' ? (\n <RenderServerComponent\n Component={avatar.Component}\n importMap={payload.importMap}\n />\n ) : undefined\n }\n CustomIcon={\n components?.graphics?.Icon ? (\n <RenderServerComponent\n Component={components.graphics.Icon}\n importMap={payload.importMap}\n />\n ) : undefined\n }\n />\n {children}\n </div>\n </Wrapper>\n </div>\n </ActionsProvider>\n </BulkUploadProvider>\n </EntityVisibilityProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
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,CAmCrE;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;AAG9D;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAqCrE;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,qBAqBxB,CAAA"}
@@ -1,6 +1,8 @@
1
+ import { sanitizeFallbackLocale } from 'payload';
1
2
  /**
2
3
  * Mutates the Request to contain 'locale' and 'fallbackLocale' based on data or searchParams
3
- */export function addLocalesToRequestFromData(req) {
4
+ */
5
+ export function addLocalesToRequestFromData(req) {
4
6
  const {
5
7
  data,
6
8
  payload: {
@@ -13,8 +15,13 @@
13
15
  if (!localeOnReq && data?.locale && typeof data.locale === 'string') {
14
16
  localeOnReq = data.locale;
15
17
  }
16
- if (!fallbackLocaleOnReq && data?.['fallback-locale'] && typeof data?.['fallback-locale'] === 'string') {
17
- fallbackLocaleOnReq = data['fallback-locale'];
18
+ if (!fallbackLocaleOnReq) {
19
+ if (data?.['fallback-locale'] && typeof data?.['fallback-locale'] === 'string') {
20
+ fallbackLocaleOnReq = data['fallback-locale'];
21
+ }
22
+ if (data?.['fallbackLocale'] && typeof data?.['fallbackLocale'] === 'string') {
23
+ fallbackLocaleOnReq = data['fallbackLocale'];
24
+ }
18
25
  }
19
26
  const {
20
27
  fallbackLocale,
@@ -37,14 +44,17 @@ export const sanitizeLocales = ({
37
44
  locale,
38
45
  localization
39
46
  }) => {
40
- if (['none', 'null'].includes(fallbackLocale)) {
41
- fallbackLocale = 'null';
42
- } else if (localization && !localization.localeCodes.includes(fallbackLocale)) {
43
- fallbackLocale = localization.defaultLocale;
47
+ // Check if localization has fallback enabled or if a fallback locale is provided
48
+ if (localization) {
49
+ fallbackLocale = sanitizeFallbackLocale({
50
+ fallbackLocale,
51
+ locale,
52
+ localization
53
+ });
44
54
  }
45
55
  if (locale === '*') {
46
56
  locale = 'all';
47
- } else if (localization && !localization.localeCodes.includes(locale)) {
57
+ } else if (localization && !localization.localeCodes.includes(locale) && localization.fallback) {
48
58
  locale = localization.defaultLocale;
49
59
  }
50
60
  return {