@payloadcms/next 3.0.0-beta.126 → 3.0.0-beta.128

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 (290) hide show
  1. package/dist/cjs/withPayload.cjs +10 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +13 -15
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/index.js +9 -14
  9. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +13 -28
  12. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  13. package/dist/elements/DocumentHeader/index.d.ts +0 -1
  14. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  15. package/dist/elements/DocumentHeader/index.js +9 -12
  16. package/dist/elements/DocumentHeader/index.js.map +1 -1
  17. package/dist/elements/Logo/index.d.ts.map +1 -1
  18. package/dist/elements/Logo/index.js +5 -6
  19. package/dist/elements/Logo/index.js.map +1 -1
  20. package/dist/elements/Nav/index.client.d.ts +4 -1
  21. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  22. package/dist/elements/Nav/index.client.js +40 -95
  23. package/dist/elements/Nav/index.client.js.map +1 -1
  24. package/dist/elements/Nav/index.d.ts.map +1 -1
  25. package/dist/elements/Nav/index.js +60 -23
  26. package/dist/elements/Nav/index.js.map +1 -1
  27. package/dist/exports/layouts.d.ts +1 -0
  28. package/dist/exports/layouts.d.ts.map +1 -1
  29. package/dist/exports/layouts.js +1 -0
  30. package/dist/exports/layouts.js.map +1 -1
  31. package/dist/exports/utilities.d.ts.map +1 -1
  32. package/dist/exports/utilities.js +1 -0
  33. package/dist/exports/utilities.js.map +1 -1
  34. package/dist/exports/views.d.ts +0 -2
  35. package/dist/exports/views.d.ts.map +1 -1
  36. package/dist/exports/views.js +0 -2
  37. package/dist/exports/views.js.map +1 -1
  38. package/dist/fetchAPI-multipart/isEligibleRequest.js +1 -1
  39. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  40. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  41. package/dist/fetchAPI-multipart/processMultipart.js +9 -11
  42. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  43. package/dist/layouts/Root/NestProviders.d.ts +11 -0
  44. package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
  45. package/dist/layouts/Root/NestProviders.js +21 -0
  46. package/dist/layouts/Root/NestProviders.js.map +1 -0
  47. package/dist/layouts/Root/index.d.ts +3 -2
  48. package/dist/layouts/Root/index.d.ts.map +1 -1
  49. package/dist/layouts/Root/index.js +14 -18
  50. package/dist/layouts/Root/index.js.map +1 -1
  51. package/dist/prod/styles.css +1 -1
  52. package/dist/routes/rest/index.d.ts.map +1 -1
  53. package/dist/routes/rest/index.js +0 -10
  54. package/dist/routes/rest/index.js.map +1 -1
  55. package/dist/routes/rest/og/image.d.ts +4 -2
  56. package/dist/routes/rest/og/image.d.ts.map +1 -1
  57. package/dist/routes/rest/og/image.js +7 -3
  58. package/dist/routes/rest/og/image.js.map +1 -1
  59. package/dist/routes/rest/og/index.d.ts.map +1 -1
  60. package/dist/routes/rest/og/index.js +5 -8
  61. package/dist/routes/rest/og/index.js.map +1 -1
  62. package/dist/routes/rest/routeError.d.ts.map +1 -1
  63. package/dist/routes/rest/routeError.js +1 -47
  64. package/dist/routes/rest/routeError.js.map +1 -1
  65. package/dist/templates/Default/index.d.ts +2 -1
  66. package/dist/templates/Default/index.d.ts.map +1 -1
  67. package/dist/templates/Default/index.js +97 -41
  68. package/dist/templates/Default/index.js.map +1 -1
  69. package/dist/utilities/getClientConfig.d.ts +7 -0
  70. package/dist/utilities/getClientConfig.d.ts.map +1 -0
  71. package/dist/utilities/getClientConfig.js +14 -0
  72. package/dist/utilities/getClientConfig.js.map +1 -0
  73. package/dist/utilities/handleServerFunctions.d.ts +3 -0
  74. package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
  75. package/dist/utilities/handleServerFunctions.js +35 -0
  76. package/dist/utilities/handleServerFunctions.js.map +1 -0
  77. package/dist/utilities/initPage/handleAdminPage.d.ts +2 -1
  78. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  79. package/dist/utilities/initPage/handleAdminPage.js +9 -1
  80. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  81. package/dist/utilities/initPage/handleAuthRedirect.js +2 -2
  82. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  83. package/dist/utilities/initPage/index.d.ts.map +1 -1
  84. package/dist/utilities/initPage/index.js +2 -1
  85. package/dist/utilities/initPage/index.js.map +1 -1
  86. package/dist/utilities/initReq.d.ts +1 -1
  87. package/dist/utilities/initReq.d.ts.map +1 -1
  88. package/dist/utilities/initReq.js +3 -2
  89. package/dist/utilities/initReq.js.map +1 -1
  90. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  91. package/dist/views/API/LocaleSelector/index.js +0 -1
  92. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  93. package/dist/views/API/index.client.d.ts.map +1 -1
  94. package/dist/views/API/index.client.js +10 -13
  95. package/dist/views/API/index.client.js.map +1 -1
  96. package/dist/views/Account/Settings/index.js +0 -1
  97. package/dist/views/Account/Settings/index.js.map +1 -1
  98. package/dist/views/Account/index.d.ts.map +1 -1
  99. package/dist/views/Account/index.js +81 -24
  100. package/dist/views/Account/index.js.map +1 -1
  101. package/dist/views/CreateFirstUser/index.client.d.ts +3 -1
  102. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  103. package/dist/views/CreateFirstUser/index.client.js +83 -109
  104. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  105. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  106. package/dist/views/CreateFirstUser/index.js +36 -4
  107. package/dist/views/CreateFirstUser/index.js.map +1 -1
  108. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  109. package/dist/views/Dashboard/Default/index.js +46 -44
  110. package/dist/views/Dashboard/Default/index.js.map +1 -1
  111. package/dist/views/Dashboard/index.d.ts.map +1 -1
  112. package/dist/views/Dashboard/index.js +22 -21
  113. package/dist/views/Dashboard/index.js.map +1 -1
  114. package/dist/views/Document/getDocPreferences.d.ts +11 -0
  115. package/dist/views/Document/getDocPreferences.d.ts.map +1 -0
  116. package/dist/views/Document/getDocPreferences.js +44 -0
  117. package/dist/views/Document/getDocPreferences.js.map +1 -0
  118. package/dist/views/Document/getDocumentData.d.ts +10 -11
  119. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  120. package/dist/views/Document/getDocumentData.js +35 -47
  121. package/dist/views/Document/getDocumentData.js.map +1 -1
  122. package/dist/views/Document/getIsLocked.d.ts +16 -0
  123. package/dist/views/Document/getIsLocked.d.ts.map +1 -0
  124. package/dist/views/Document/getIsLocked.js +55 -0
  125. package/dist/views/Document/getIsLocked.js.map +1 -0
  126. package/dist/views/Document/getVersions.d.ts +19 -0
  127. package/dist/views/Document/getVersions.d.ts.map +1 -0
  128. package/dist/views/Document/getVersions.js +181 -0
  129. package/dist/views/Document/getVersions.js.map +1 -0
  130. package/dist/views/Document/getViewsFromConfig.d.ts +1 -1
  131. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  132. package/dist/views/Document/getViewsFromConfig.js +18 -19
  133. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  134. package/dist/views/Document/handleServerFunction.d.ts +24 -0
  135. package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
  136. package/dist/views/Document/handleServerFunction.js +156 -0
  137. package/dist/views/Document/handleServerFunction.js.map +1 -0
  138. package/dist/views/Document/index.d.ts +5 -1
  139. package/dist/views/Document/index.d.ts.map +1 -1
  140. package/dist/views/Document/index.js +181 -72
  141. package/dist/views/Document/index.js.map +1 -1
  142. package/dist/views/Document/renderDocumentSlots.d.ts +12 -0
  143. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
  144. package/dist/views/Document/renderDocumentSlots.js +92 -0
  145. package/dist/views/Document/renderDocumentSlots.js.map +1 -0
  146. package/dist/views/Edit/index.d.ts +3 -2
  147. package/dist/views/Edit/index.d.ts.map +1 -1
  148. package/dist/views/Edit/index.js +7 -3
  149. package/dist/views/Edit/index.js.map +1 -1
  150. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  151. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +3 -1
  152. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  153. package/dist/views/List/handleServerFunction.d.ts +26 -0
  154. package/dist/views/List/handleServerFunction.d.ts.map +1 -0
  155. package/dist/views/List/handleServerFunction.js +155 -0
  156. package/dist/views/List/handleServerFunction.js.map +1 -0
  157. package/dist/views/List/index.d.ts +12 -2
  158. package/dist/views/List/index.d.ts.map +1 -1
  159. package/dist/views/List/index.js +121 -81
  160. package/dist/views/List/index.js.map +1 -1
  161. package/dist/views/List/renderListViewSlots.d.ts +8 -0
  162. package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
  163. package/dist/views/List/renderListViewSlots.js +44 -0
  164. package/dist/views/List/renderListViewSlots.js.map +1 -0
  165. package/dist/views/LivePreview/Context/sizeReducer.d.ts +1 -1
  166. package/dist/views/LivePreview/Context/sizeReducer.d.ts.map +1 -1
  167. package/dist/views/LivePreview/Context/sizeReducer.js +4 -4
  168. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  169. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  170. package/dist/views/LivePreview/index.client.js +38 -35
  171. package/dist/views/LivePreview/index.client.js.map +1 -1
  172. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  173. package/dist/views/Login/LoginField/index.js +3 -1
  174. package/dist/views/Login/LoginField/index.js.map +1 -1
  175. package/dist/views/Login/index.d.ts.map +1 -1
  176. package/dist/views/Login/index.js +26 -20
  177. package/dist/views/Login/index.js.map +1 -1
  178. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  179. package/dist/views/Logout/LogoutClient.js +5 -4
  180. package/dist/views/Logout/LogoutClient.js.map +1 -1
  181. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -1
  182. package/dist/views/ResetPassword/ResetPasswordForm/index.js +24 -10
  183. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  184. package/dist/views/Root/getViewFromConfig.d.ts +3 -1
  185. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  186. package/dist/views/Root/getViewFromConfig.js +128 -7
  187. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  188. package/dist/views/Root/index.d.ts.map +1 -1
  189. package/dist/views/Root/index.js +22 -11
  190. package/dist/views/Root/index.js.map +1 -1
  191. package/dist/views/Version/Default/index.d.ts.map +1 -1
  192. package/dist/views/Version/Default/index.js +2 -4
  193. package/dist/views/Version/Default/index.js.map +1 -1
  194. package/dist/views/Versions/buildColumns.d.ts +3 -2
  195. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  196. package/dist/views/Versions/buildColumns.js +33 -61
  197. package/dist/views/Versions/buildColumns.js.map +1 -1
  198. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -0
  199. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  200. package/dist/views/Versions/cells/AutosaveCell/index.js +48 -37
  201. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  202. package/dist/views/Versions/cells/CreatedAt/index.d.ts +4 -0
  203. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  204. package/dist/views/Versions/cells/CreatedAt/index.js +43 -45
  205. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  206. package/dist/views/Versions/cells/ID/index.d.ts +3 -1
  207. package/dist/views/Versions/cells/ID/index.d.ts.map +1 -1
  208. package/dist/views/Versions/cells/ID/index.js +7 -19
  209. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  210. package/dist/views/Versions/index.client.d.ts.map +1 -1
  211. package/dist/views/Versions/index.client.js +53 -51
  212. package/dist/views/Versions/index.client.js.map +1 -1
  213. package/dist/views/Versions/index.d.ts.map +1 -1
  214. package/dist/views/Versions/index.js +3 -2
  215. package/dist/views/Versions/index.js.map +1 -1
  216. package/dist/withPayload.d.ts.map +1 -1
  217. package/dist/withPayload.js +10 -0
  218. package/dist/withPayload.js.map +1 -1
  219. package/license.md +22 -0
  220. package/package.json +16 -7
  221. package/dist/elements/DocumentLocked/index.d.ts +0 -12
  222. package/dist/elements/DocumentLocked/index.d.ts.map +0 -1
  223. package/dist/elements/DocumentLocked/index.js +0 -152
  224. package/dist/elements/DocumentLocked/index.js.map +0 -1
  225. package/dist/elements/DocumentLocked/index.scss +0 -40
  226. package/dist/elements/DocumentTakeOver/index.d.ts +0 -8
  227. package/dist/elements/DocumentTakeOver/index.d.ts.map +0 -1
  228. package/dist/elements/DocumentTakeOver/index.js +0 -98
  229. package/dist/elements/DocumentTakeOver/index.js.map +0 -1
  230. package/dist/elements/DocumentTakeOver/index.scss +0 -39
  231. package/dist/elements/EmailAndUsername/index.d.ts +0 -14
  232. package/dist/elements/EmailAndUsername/index.d.ts.map +0 -1
  233. package/dist/elements/EmailAndUsername/index.js +0 -121
  234. package/dist/elements/EmailAndUsername/index.js.map +0 -1
  235. package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -4
  236. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +0 -1
  237. package/dist/elements/LeaveWithoutSaving/index.js +0 -162
  238. package/dist/elements/LeaveWithoutSaving/index.js.map +0 -1
  239. package/dist/elements/LeaveWithoutSaving/index.scss +0 -39
  240. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +0 -9
  241. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +0 -1
  242. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +0 -136
  243. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +0 -1
  244. package/dist/routes/rest/buildFormState.d.ts +0 -5
  245. package/dist/routes/rest/buildFormState.d.ts.map +0 -1
  246. package/dist/routes/rest/buildFormState.js +0 -46
  247. package/dist/routes/rest/buildFormState.js.map +0 -1
  248. package/dist/views/Edit/Default/Auth/APIKey.d.ts +0 -6
  249. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +0 -1
  250. package/dist/views/Edit/Default/Auth/APIKey.js +0 -125
  251. package/dist/views/Edit/Default/Auth/APIKey.js.map +0 -1
  252. package/dist/views/Edit/Default/Auth/index.d.ts +0 -5
  253. package/dist/views/Edit/Default/Auth/index.d.ts.map +0 -1
  254. package/dist/views/Edit/Default/Auth/index.js +0 -318
  255. package/dist/views/Edit/Default/Auth/index.js.map +0 -1
  256. package/dist/views/Edit/Default/Auth/index.scss +0 -78
  257. package/dist/views/Edit/Default/Auth/types.d.ts +0 -17
  258. package/dist/views/Edit/Default/Auth/types.d.ts.map +0 -1
  259. package/dist/views/Edit/Default/Auth/types.js +0 -2
  260. package/dist/views/Edit/Default/Auth/types.js.map +0 -1
  261. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -11
  262. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +0 -1
  263. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +0 -130
  264. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +0 -1
  265. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -8
  266. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +0 -1
  267. package/dist/views/Edit/Default/SetDocumentTitle/index.js +0 -81
  268. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +0 -1
  269. package/dist/views/Edit/Default/index.d.ts +0 -4
  270. package/dist/views/Edit/Default/index.d.ts.map +0 -1
  271. package/dist/views/Edit/Default/index.js +0 -349
  272. package/dist/views/Edit/Default/index.js.map +0 -1
  273. package/dist/views/Edit/Default/index.scss +0 -23
  274. package/dist/views/Edit/Default/types.d.ts +0 -6
  275. package/dist/views/Edit/Default/types.d.ts.map +0 -1
  276. package/dist/views/Edit/Default/types.js +0 -2
  277. package/dist/views/Edit/Default/types.js.map +0 -1
  278. package/dist/views/Edit/index.client.d.ts +0 -3
  279. package/dist/views/Edit/index.client.d.ts.map +0 -1
  280. package/dist/views/Edit/index.client.js +0 -54
  281. package/dist/views/Edit/index.client.js.map +0 -1
  282. package/dist/views/List/Default/index.d.ts +0 -4
  283. package/dist/views/List/Default/index.d.ts.map +0 -1
  284. package/dist/views/List/Default/index.js +0 -387
  285. package/dist/views/List/Default/index.js.map +0 -1
  286. package/dist/views/List/Default/index.scss +0 -179
  287. package/dist/views/List/Default/types.d.ts +0 -15
  288. package/dist/views/List/Default/types.d.ts.map +0 -1
  289. package/dist/views/List/Default/types.js +0 -2
  290. package/dist/views/List/Default/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","EmailField","Form","FormSubmit","TextField","useConfig","useTranslation","email","text","React","useState","FormHeader","ForgotPasswordForm","$","config","admin","t0","routes","t1","user","userSlug","api","t","hasSubmitted","setHasSubmitted","t2","collections","find","collection","slug","collectionConfig","loginWithUsername","auth","t3","res","successToast","errorToast","json","then","catch","handleResponse","t4","t5","Symbol","for","initialState","username","initialValue","valid","value","undefined","t6","_jsx","description","heading","_jsxs","action","method","children","field","name","label","required","validate","type","data","preferences","fields","req","payload","siblingData","autoComplete","value_0","size"],"sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormProps } from '@payloadcms/ui'\nimport type { FormState, PayloadRequest } from 'payload'\n\nimport { EmailField, Form, FormSubmit, TextField, useConfig, useTranslation } from '@payloadcms/ui'\nimport { email, text } from 'payload/shared'\nimport React, { useState } from 'react'\n\nimport { FormHeader } from '../../../elements/FormHeader/index.js'\n\nexport const ForgotPasswordForm: React.FC = () => {\n const { config } = useConfig()\n\n const {\n admin: { user: userSlug },\n routes: { api },\n } = config\n\n const { t } = useTranslation()\n const [hasSubmitted, setHasSubmitted] = useState(false)\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const loginWithUsername = collectionConfig?.auth?.loginWithUsername\n\n const handleResponse: FormProps['handleResponse'] = (res, successToast, errorToast) => {\n res\n .json()\n .then(() => {\n setHasSubmitted(true)\n successToast(t('general:submissionSuccessful'))\n })\n .catch(() => {\n errorToast(\n loginWithUsername\n ? t('authentication:usernameNotValid')\n : t('authentication:emailNotValid'),\n )\n })\n }\n\n const initialState: FormState = loginWithUsername\n ? {\n username: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n : {\n email: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n\n if (hasSubmitted) {\n return (\n <FormHeader\n description={t('authentication:checkYourEmailForPasswordReset')}\n heading={t('authentication:emailSent')}\n />\n )\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/forgot-password`}\n handleResponse={handleResponse}\n initialState={initialState}\n method=\"POST\"\n >\n <FormHeader\n description={\n loginWithUsername\n ? t('authentication:forgotPasswordUsernameInstructions')\n : t('authentication:forgotPasswordEmailInstructions')\n }\n heading={t('authentication:forgotPassword')}\n />\n\n {loginWithUsername ? (\n <TextField\n field={{\n name: 'username',\n label: t('authentication:username'),\n required: true,\n }}\n validate={(value) =>\n text(value, {\n name: 'username',\n type: 'text',\n data: {},\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n ) : (\n <EmailField\n autoComplete=\"email\"\n field={{\n name: 'email',\n label: t('general:email'),\n required: true,\n }}\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n data: {},\n preferences: { fields: {} },\n req: { payload: { config }, t } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )}\n <FormSubmit size=\"large\">{t('general:submit')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","EmailField","Form","FormSubmit","TextField","useConfig","useTranslation","email","text","React","useState","FormHeader","ForgotPasswordForm","$","config","admin","t0","routes","t1","user","userSlug","api","t","hasSubmitted","setHasSubmitted","t2","collections","find","collection","slug","collectionConfig","loginWithUsername","auth","t3","res","successToast","errorToast","json","then","catch","handleResponse","t4","t5","Symbol","for","initialState","username","initialValue","valid","value","undefined","t6","_jsx","description","heading","_jsxs","action","method","children","field","name","label","required","validate","type","data","preferences","fields","req","payload","siblingData","autoComplete","value_0","size"],"sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormProps } from '@payloadcms/ui'\nimport type { FormState, PayloadRequest } from 'payload'\n\nimport { EmailField, Form, FormSubmit, TextField, useConfig, useTranslation } from '@payloadcms/ui'\nimport { email, text } from 'payload/shared'\nimport React, { useState } from 'react'\n\nimport { FormHeader } from '../../../elements/FormHeader/index.js'\n\nexport const ForgotPasswordForm: React.FC = () => {\n const { config } = useConfig()\n\n const {\n admin: { user: userSlug },\n routes: { api },\n } = config\n\n const { t } = useTranslation()\n const [hasSubmitted, setHasSubmitted] = useState(false)\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const loginWithUsername = collectionConfig?.auth?.loginWithUsername\n\n const handleResponse: FormProps['handleResponse'] = (res, successToast, errorToast) => {\n res\n .json()\n .then(() => {\n setHasSubmitted(true)\n successToast(t('general:submissionSuccessful'))\n })\n .catch(() => {\n errorToast(\n loginWithUsername\n ? t('authentication:usernameNotValid')\n : t('authentication:emailNotValid'),\n )\n })\n }\n\n const initialState: FormState = loginWithUsername\n ? {\n username: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n : {\n email: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n\n if (hasSubmitted) {\n return (\n <FormHeader\n description={t('authentication:checkYourEmailForPasswordReset')}\n heading={t('authentication:emailSent')}\n />\n )\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/forgot-password`}\n handleResponse={handleResponse}\n initialState={initialState}\n method=\"POST\"\n >\n <FormHeader\n description={\n loginWithUsername\n ? t('authentication:forgotPasswordUsernameInstructions')\n : t('authentication:forgotPasswordEmailInstructions')\n }\n heading={t('authentication:forgotPassword')}\n />\n\n {loginWithUsername ? (\n <TextField\n field={{\n name: 'username',\n label: t('authentication:username'),\n required: true,\n }}\n validate={(value) =>\n text(value, {\n name: 'username',\n type: 'text',\n data: {},\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n ) : (\n <EmailField\n field={{\n name: 'email',\n admin: {\n autoComplete: 'email',\n },\n label: t('general:email'),\n required: true,\n }}\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n data: {},\n preferences: { fields: {} },\n req: { payload: { config }, t } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )}\n <FormSubmit size=\"large\">{t('general:submit')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ import type { I18nClient } from '@payloadcms/translations';
2
+ import type { ListPreferences } from '@payloadcms/ui';
3
+ import type { ClientConfig, ListQuery, PayloadRequest, SanitizedConfig } from 'payload';
4
+ export declare const getClientConfig: (args: {
5
+ config: SanitizedConfig;
6
+ i18n: I18nClient;
7
+ }) => ClientConfig;
8
+ type RenderListResult = {
9
+ List: React.ReactNode;
10
+ preferences: ListPreferences;
11
+ };
12
+ export declare const renderListHandler: (args: {
13
+ collectionSlug: string;
14
+ disableActions?: boolean;
15
+ disableBulkDelete?: boolean;
16
+ disableBulkEdit?: boolean;
17
+ documentDrawerSlug: string;
18
+ drawerSlug?: string;
19
+ enableRowSelections: boolean;
20
+ query: ListQuery;
21
+ redirectAfterDelete: boolean;
22
+ redirectAfterDuplicate: boolean;
23
+ req: PayloadRequest;
24
+ }) => Promise<RenderListResult>;
25
+ export {};
26
+ //# sourceMappingURL=handleServerFunction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleServerFunction.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleServerFunction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,cAAc,EACd,eAAe,EAEhB,MAAM,SAAS,CAAA;AAahB,eAAO,MAAM,eAAe,SAAU;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,YAaH,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,WAAW,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,iBAAiB,SAAgB;IAC5C,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,KAAK,EAAE,SAAS,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,sBAAsB,EAAE,OAAO,CAAA;IAC/B,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC,gBAAgB,CAyI3B,CAAA"}
@@ -0,0 +1,155 @@
1
+ import { headers as getHeaders } from 'next/headers.js';
2
+ import { createClientConfig, getAccessResults, isEntityHidden, parseCookies } from 'payload';
3
+ import { renderListView } from './index.js';
4
+ let cachedClientConfig = global._payload_clientConfig;
5
+ if (!cachedClientConfig) {
6
+ cachedClientConfig = global._payload_clientConfig = null;
7
+ }
8
+ export const getClientConfig = args => {
9
+ const {
10
+ config,
11
+ i18n
12
+ } = args;
13
+ if (cachedClientConfig && process.env.NODE_ENV !== 'development') {
14
+ return cachedClientConfig;
15
+ }
16
+ cachedClientConfig = createClientConfig({
17
+ config,
18
+ i18n
19
+ });
20
+ return cachedClientConfig;
21
+ };
22
+ export const renderListHandler = async args => {
23
+ const {
24
+ collectionSlug,
25
+ disableActions,
26
+ disableBulkDelete,
27
+ disableBulkEdit,
28
+ drawerSlug,
29
+ enableRowSelections,
30
+ query,
31
+ redirectAfterDelete,
32
+ redirectAfterDuplicate,
33
+ req,
34
+ req: {
35
+ i18n,
36
+ payload,
37
+ payload: {
38
+ config
39
+ },
40
+ user
41
+ }
42
+ } = args;
43
+ const headers = await getHeaders();
44
+ const cookies = parseCookies(headers);
45
+ const incomingUserSlug = user?.collection;
46
+ const adminUserSlug = config.admin.user;
47
+ // If we have a user slug, test it against the functions
48
+ if (incomingUserSlug) {
49
+ const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin;
50
+ // Run the admin access function from the config if it exists
51
+ if (adminAccessFunction) {
52
+ const canAccessAdmin = await adminAccessFunction({
53
+ req
54
+ });
55
+ if (!canAccessAdmin) {
56
+ throw new Error('Unauthorized');
57
+ }
58
+ // Match the user collection to the global admin config
59
+ } else if (adminUserSlug !== incomingUserSlug) {
60
+ throw new Error('Unauthorized');
61
+ }
62
+ } else {
63
+ const hasUsers = await payload.find({
64
+ collection: adminUserSlug,
65
+ depth: 0,
66
+ limit: 1,
67
+ pagination: false
68
+ });
69
+ // If there are users, we should not allow access because of /create-first-user
70
+ if (hasUsers.docs.length) {
71
+ throw new Error('Unauthorized');
72
+ }
73
+ }
74
+ const clientConfig = getClientConfig({
75
+ config,
76
+ i18n
77
+ });
78
+ const preferencesKey = `${collectionSlug}-list`;
79
+ const preferences = await payload.find({
80
+ collection: 'payload-preferences',
81
+ depth: 0,
82
+ limit: 1,
83
+ where: {
84
+ and: [{
85
+ key: {
86
+ equals: preferencesKey
87
+ }
88
+ }, {
89
+ 'user.relationTo': {
90
+ equals: user.collection
91
+ }
92
+ }, {
93
+ 'user.value': {
94
+ equals: user.id
95
+ }
96
+ }]
97
+ }
98
+ }).then(res => res.docs[0]?.value);
99
+ const visibleEntities = {
100
+ collections: payload.config.collections.map(({
101
+ slug,
102
+ admin: {
103
+ hidden
104
+ }
105
+ }) => !isEntityHidden({
106
+ hidden,
107
+ user
108
+ }) ? slug : null).filter(Boolean),
109
+ globals: payload.config.globals.map(({
110
+ slug,
111
+ admin: {
112
+ hidden
113
+ }
114
+ }) => !isEntityHidden({
115
+ hidden,
116
+ user
117
+ }) ? slug : null).filter(Boolean)
118
+ };
119
+ const permissions = await getAccessResults({
120
+ req
121
+ });
122
+ const {
123
+ List
124
+ } = await renderListView({
125
+ clientConfig,
126
+ disableActions,
127
+ disableBulkDelete,
128
+ disableBulkEdit,
129
+ drawerSlug,
130
+ enableRowSelections,
131
+ importMap: payload.importMap,
132
+ initPageResult: {
133
+ collectionConfig: payload.config.collections.find(collection => collection.slug === collectionSlug),
134
+ cookies,
135
+ globalConfig: payload.config.globals.find(global1 => global1.slug === collectionSlug),
136
+ languageOptions: undefined,
137
+ permissions,
138
+ req,
139
+ translations: undefined,
140
+ visibleEntities
141
+ },
142
+ params: {
143
+ segments: ['collections', collectionSlug]
144
+ },
145
+ query,
146
+ redirectAfterDelete,
147
+ redirectAfterDuplicate,
148
+ searchParams: {}
149
+ });
150
+ return {
151
+ List,
152
+ preferences
153
+ };
154
+ };
155
+ //# sourceMappingURL=handleServerFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleServerFunction.js","names":["headers","getHeaders","createClientConfig","getAccessResults","isEntityHidden","parseCookies","renderListView","cachedClientConfig","global","_payload_clientConfig","getClientConfig","args","config","i18n","process","env","NODE_ENV","renderListHandler","collectionSlug","disableActions","disableBulkDelete","disableBulkEdit","drawerSlug","enableRowSelections","query","redirectAfterDelete","redirectAfterDuplicate","req","payload","user","cookies","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","clientConfig","preferencesKey","preferences","where","and","key","equals","id","then","res","value","visibleEntities","map","slug","hidden","filter","Boolean","globals","permissions","List","importMap","initPageResult","collectionConfig","globalConfig","global1","languageOptions","undefined","translations","params","segments","searchParams"],"sources":["../../../src/views/List/handleServerFunction.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ListPreferences } from '@payloadcms/ui'\nimport type {\n ClientConfig,\n ListQuery,\n PayloadRequest,\n SanitizedConfig,\n VisibleEntities,\n} from 'payload'\n\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createClientConfig, getAccessResults, isEntityHidden, parseCookies } from 'payload'\n\nimport { renderListView } from './index.js'\n\nlet cachedClientConfig = global._payload_clientConfig\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getClientConfig = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n}): ClientConfig => {\n const { config, i18n } = args\n\n if (cachedClientConfig && process.env.NODE_ENV !== 'development') {\n return cachedClientConfig\n }\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n })\n\n return cachedClientConfig\n}\n\ntype RenderListResult = {\n List: React.ReactNode\n preferences: ListPreferences\n}\n\nexport const renderListHandler = async (args: {\n collectionSlug: string\n disableActions?: boolean\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n documentDrawerSlug: string\n drawerSlug?: string\n enableRowSelections: boolean\n query: ListQuery\n redirectAfterDelete: boolean\n redirectAfterDuplicate: boolean\n req: PayloadRequest\n}): Promise<RenderListResult> => {\n const {\n collectionSlug,\n disableActions,\n disableBulkDelete,\n disableBulkEdit,\n drawerSlug,\n enableRowSelections,\n query,\n redirectAfterDelete,\n redirectAfterDuplicate,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = args\n\n const headers = await getHeaders()\n\n const cookies = parseCookies(headers)\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n })\n\n const preferencesKey = `${collectionSlug}-list`\n\n const preferences = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0]?.value as ListPreferences)\n\n const visibleEntities: VisibleEntities = {\n collections: payload.config.collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: payload.config.globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n const permissions = await getAccessResults({\n req,\n })\n\n const { List } = await renderListView({\n clientConfig,\n disableActions,\n disableBulkDelete,\n disableBulkEdit,\n drawerSlug,\n enableRowSelections,\n importMap: payload.importMap,\n initPageResult: {\n collectionConfig: payload.config.collections.find(\n (collection) => collection.slug === collectionSlug,\n ),\n cookies,\n globalConfig: payload.config.globals.find((global) => global.slug === collectionSlug),\n languageOptions: undefined, // TODO\n permissions,\n req,\n translations: undefined, // TODO\n visibleEntities,\n },\n params: {\n segments: ['collections', collectionSlug],\n },\n query,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams: {},\n })\n\n return {\n List,\n preferences,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,15 @@
1
- import type { AdminViewProps } from 'payload';
1
+ import type { AdminViewProps, ListQuery } from 'payload';
2
2
  import React from 'react';
3
3
  export { generateListMetadata } from './meta.js';
4
- export declare const ListView: React.FC<AdminViewProps>;
4
+ type ListViewArgs = {
5
+ customCellProps?: Record<string, any>;
6
+ disableBulkDelete?: boolean;
7
+ disableBulkEdit?: boolean;
8
+ enableRowSelections: boolean;
9
+ query: ListQuery;
10
+ } & AdminViewProps;
11
+ export declare const renderListView: (args: ListViewArgs) => Promise<{
12
+ List: React.ReactNode;
13
+ }>;
14
+ export declare const ListView: React.FC<ListViewArgs>;
5
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAiC,MAAM,SAAS,CAAA;AAa5E,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA8L7C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAS,MAAM,SAAS,CAAA;AAQ/D,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,KAAK,YAAY,GAAG;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,KAAK,EAAE,SAAS,CAAA;CACjB,GAAG,cAAc,CAAA;AAElB,eAAO,MAAM,cAAc,SACnB,YAAY,KACjB,OAAO,CAAC;IACT,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,CAgNA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAW3C,CAAA"}
@@ -1,21 +1,36 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { HydrateAuthProvider, ListInfoProvider, ListQueryProvider, TableColumnsProvider } from '@payloadcms/ui';
3
- import { formatAdminURL, getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared';
4
- import { createClientCollectionConfig } from '@payloadcms/ui/utilities/createClientConfig';
2
+ import { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui';
3
+ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
4
+ import { renderFilters, renderTable } from '@payloadcms/ui/rsc';
5
+ import { formatAdminURL, mergeListSearchAndWhere } from '@payloadcms/ui/shared';
5
6
  import { notFound } from 'next/navigation.js';
6
- import { deepCopyObjectSimple, mergeListSearchAndWhere } from 'payload';
7
7
  import { isNumber } from 'payload/shared';
8
8
  import React, { Fragment } from 'react';
9
- import { DefaultEditView } from '../Edit/Default/index.js';
10
- import { DefaultListView } from './Default/index.js';
9
+ import { renderListViewSlots } from './renderListViewSlots.js';
11
10
  export { generateListMetadata } from './meta.js';
12
- export const ListView = async ({
13
- initPageResult,
14
- params,
15
- searchParams
16
- }) => {
11
+ export const renderListView = async args => {
12
+ const {
13
+ clientConfig,
14
+ customCellProps,
15
+ disableBulkDelete,
16
+ disableBulkEdit,
17
+ drawerSlug,
18
+ enableRowSelections,
19
+ initPageResult,
20
+ params,
21
+ query: queryFromArgs,
22
+ searchParams
23
+ } = args;
17
24
  const {
18
25
  collectionConfig,
26
+ collectionConfig: {
27
+ slug: collectionSlug,
28
+ admin: {
29
+ useAsTitle
30
+ },
31
+ defaultSort,
32
+ fields
33
+ },
19
34
  locale: fullLocale,
20
35
  permissions,
21
36
  req,
@@ -26,15 +41,15 @@ export const ListView = async ({
26
41
  payload: {
27
42
  config
28
43
  },
29
- query,
44
+ query: queryFromReq,
30
45
  user
31
46
  },
32
47
  visibleEntities
33
48
  } = initPageResult;
34
- const collectionSlug = collectionConfig?.slug;
35
49
  if (!permissions?.collections?.[collectionSlug]?.read?.permission) {
36
- notFound();
50
+ throw new Error('not-found');
37
51
  }
52
+ const query = queryFromArgs || queryFromReq;
38
53
  let listPreferences;
39
54
  const preferenceKey = `${collectionSlug}-list`;
40
55
  try {
@@ -60,7 +75,7 @@ export const ListView = async ({
60
75
  }]
61
76
  }
62
77
  })?.then(res => res?.docs?.[0]?.value);
63
- } catch (error) {} // eslint-disable-line no-empty
78
+ } catch (_err) {} // eslint-disable-line no-empty
64
79
  const {
65
80
  routes: {
66
81
  admin: adminRoute
@@ -68,15 +83,13 @@ export const ListView = async ({
68
83
  } = config;
69
84
  if (collectionConfig) {
70
85
  if (!visibleEntities.collections.includes(collectionSlug)) {
71
- return notFound();
86
+ throw new Error('not-found');
72
87
  }
73
88
  const page = isNumber(query?.page) ? Number(query.page) : 0;
74
89
  const whereQuery = mergeListSearchAndWhere({
75
90
  collectionConfig,
76
- query: {
77
- search: typeof query?.search === 'string' ? query.search : undefined,
78
- where: query?.where || undefined
79
- }
91
+ search: typeof query?.search === 'string' ? query.search : undefined,
92
+ where: query?.where || undefined
80
93
  });
81
94
  const limit = isNumber(query?.limit) ? Number(query.limit) : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit;
82
95
  const sort = query?.sort && typeof query.sort === 'string' ? query.sort : listPreferences?.sort || (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined);
@@ -95,75 +108,102 @@ export const ListView = async ({
95
108
  user,
96
109
  where: whereQuery || {}
97
110
  });
98
- const createMappedComponent = getCreateMappedComponent({
99
- importMap: payload.importMap,
100
- serverProps: {
101
- collectionConfig,
102
- collectionSlug,
103
- data,
104
- hasCreatePermission: permissions?.collections?.[collectionSlug]?.create?.permission,
105
- i18n,
106
- limit,
107
- listPreferences,
108
- listSearchableFields: collectionConfig.admin.listSearchableFields,
109
- locale: fullLocale,
110
- newDocumentURL: formatAdminURL({
111
- adminRoute,
112
- path: `/collections/${collectionSlug}/create`
113
- }),
114
- params,
115
- payload,
116
- permissions,
117
- searchParams,
118
- user
119
- }
111
+ const clientCollectionConfig = clientConfig.collections.find(c => c.slug === collectionSlug);
112
+ const {
113
+ columnState,
114
+ Table
115
+ } = renderTable({
116
+ collectionConfig: clientCollectionConfig,
117
+ columnPreferences: listPreferences?.columns,
118
+ customCellProps,
119
+ docs: data.docs,
120
+ drawerSlug,
121
+ enableRowSelections,
122
+ fields,
123
+ i18n: req.i18n,
124
+ payload,
125
+ useAsTitle
120
126
  });
121
- const ListComponent = createMappedComponent(collectionConfig?.admin?.components?.views?.list?.Component, undefined, DefaultListView, 'collectionConfig?.admin?.components?.views?.list?.Component');
122
- let clientCollectionConfig = deepCopyObjectSimple(collectionConfig);
123
- clientCollectionConfig = createClientCollectionConfig({
124
- clientCollection: clientCollectionConfig,
125
- collection: collectionConfig,
126
- createMappedComponent,
127
- DefaultEditView,
128
- DefaultListView,
129
- i18n,
130
- importMap: payload.importMap,
127
+ const renderedFilters = renderFilters(fields, req.payload.importMap);
128
+ const staticDescription = typeof collectionConfig.admin.description === 'function' ? collectionConfig.admin.description({
129
+ t: i18n.t
130
+ }) : collectionConfig.admin.description;
131
+ const listViewSlots = renderListViewSlots({
132
+ collectionConfig,
133
+ description: staticDescription,
131
134
  payload
132
135
  });
133
- return /*#__PURE__*/_jsxs(Fragment, {
134
- children: [/*#__PURE__*/_jsx(HydrateAuthProvider, {
135
- permissions: permissions
136
- }), /*#__PURE__*/_jsx(ListInfoProvider, {
137
- collectionConfig: clientCollectionConfig,
138
- collectionSlug: collectionSlug,
139
- hasCreatePermission: permissions?.collections?.[collectionSlug]?.create?.permission,
140
- newDocumentURL: formatAdminURL({
141
- adminRoute,
142
- path: `/collections/${collectionSlug}/create`
143
- }),
144
- children: /*#__PURE__*/_jsx(ListQueryProvider, {
136
+ const clientProps = {
137
+ ...listViewSlots,
138
+ collectionSlug,
139
+ columnState,
140
+ disableBulkDelete,
141
+ disableBulkEdit,
142
+ enableRowSelections,
143
+ hasCreatePermission: permissions?.collections?.[collectionSlug]?.create?.permission,
144
+ listPreferences,
145
+ newDocumentURL: formatAdminURL({
146
+ adminRoute,
147
+ path: `/collections/${collectionSlug}/create`
148
+ }),
149
+ renderedFilters,
150
+ Table
151
+ };
152
+ const isInDrawer = Boolean(drawerSlug);
153
+ return {
154
+ List: /*#__PURE__*/_jsxs(Fragment, {
155
+ children: [/*#__PURE__*/_jsx(HydrateAuthProvider, {
156
+ permissions: permissions
157
+ }), /*#__PURE__*/_jsx(ListQueryProvider, {
158
+ collectionSlug: collectionSlug,
145
159
  data: data,
146
- defaultLimit: limit || collectionConfig?.admin?.pagination?.defaultLimit,
160
+ defaultLimit: limit,
147
161
  defaultSort: sort,
148
- modifySearchParams: true,
162
+ modifySearchParams: !isInDrawer,
149
163
  preferenceKey: preferenceKey,
150
- children: /*#__PURE__*/_jsx(TableColumnsProvider, {
151
- collectionSlug: collectionSlug,
152
- enableRowSelections: true,
153
- listPreferences: listPreferences,
154
- preferenceKey: preferenceKey,
155
- children: /*#__PURE__*/_jsx(RenderComponent, {
156
- clientProps: {
157
- collectionSlug,
158
- listSearchableFields: collectionConfig?.admin?.listSearchableFields
159
- },
160
- mappedComponent: ListComponent
161
- })
164
+ children: /*#__PURE__*/_jsx(RenderServerComponent, {
165
+ clientProps: clientProps,
166
+ Component: collectionConfig?.admin?.components?.views?.list?.Component,
167
+ Fallback: DefaultListView,
168
+ importMap: payload.importMap,
169
+ serverProps: {
170
+ collectionConfig,
171
+ collectionSlug,
172
+ data,
173
+ i18n,
174
+ limit,
175
+ listPreferences,
176
+ listSearchableFields: collectionConfig.admin.listSearchableFields,
177
+ locale: fullLocale,
178
+ params,
179
+ payload,
180
+ permissions,
181
+ searchParams,
182
+ user
183
+ }
162
184
  })
163
- })
164
- })]
185
+ })]
186
+ })
187
+ };
188
+ }
189
+ throw new Error('not-found');
190
+ };
191
+ export const ListView = async args => {
192
+ try {
193
+ const {
194
+ List: RenderedList
195
+ } = await renderListView({
196
+ ...args,
197
+ enableRowSelections: true
165
198
  });
199
+ return RenderedList;
200
+ } catch (error) {
201
+ if (error.message === 'not-found') {
202
+ notFound();
203
+ } else {
204
+ console.error(error) // eslint-disable-line no-console
205
+ ;
206
+ }
166
207
  }
167
- return notFound();
168
208
  };
169
209
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["HydrateAuthProvider","ListInfoProvider","ListQueryProvider","TableColumnsProvider","formatAdminURL","getCreateMappedComponent","RenderComponent","createClientCollectionConfig","notFound","deepCopyObjectSimple","mergeListSearchAndWhere","isNumber","React","Fragment","DefaultEditView","DefaultListView","generateListMetadata","ListView","initPageResult","params","searchParams","collectionConfig","locale","fullLocale","permissions","req","i18n","payload","config","query","user","visibleEntities","collectionSlug","slug","collections","read","permission","listPreferences","preferenceKey","find","collection","depth","limit","where","and","key","equals","id","then","res","docs","value","error","routes","admin","adminRoute","includes","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","defaultSort","data","draft","fallbackLocale","includeLockStatus","overrideAccess","createMappedComponent","importMap","serverProps","hasCreatePermission","create","listSearchableFields","newDocumentURL","path","ListComponent","components","views","list","Component","clientCollectionConfig","clientCollection","_jsxs","_jsx","modifySearchParams","enableRowSelections","clientProps","mappedComponent"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type { AdminViewProps, ClientCollectionConfig, Where } from 'payload'\n\nimport {\n HydrateAuthProvider,\n ListInfoProvider,\n ListQueryProvider,\n TableColumnsProvider,\n} from '@payloadcms/ui'\nimport { formatAdminURL, getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport { createClientCollectionConfig } from '@payloadcms/ui/utilities/createClientConfig'\nimport { notFound } from 'next/navigation.js'\nimport { deepCopyObjectSimple, mergeListSearchAndWhere } from 'payload'\nimport { isNumber } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { ListPreferences } from './Default/types.js'\n\nimport { DefaultEditView } from '../Edit/Default/index.js'\nimport { DefaultListView } from './Default/index.js'\n\nexport { generateListMetadata } from './meta.js'\n\nexport const ListView: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n\n if (!permissions?.collections?.[collectionSlug]?.read?.permission) {\n notFound()\n }\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n req,\n user,\n where: {\n and: [\n {\n key: {\n equals: preferenceKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user?.id,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (error) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug)) {\n return notFound()\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n const whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n query: {\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n },\n })\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string'\n ? collectionConfig.defaultSort\n : undefined)\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n includeLockStatus: true,\n limit,\n locale,\n overrideAccess: false,\n page,\n req,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n collectionConfig,\n collectionSlug,\n data,\n hasCreatePermission: permissions?.collections?.[collectionSlug]?.create?.permission,\n i18n,\n limit,\n listPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n newDocumentURL: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n }),\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const ListComponent = createMappedComponent(\n collectionConfig?.admin?.components?.views?.list?.Component,\n undefined,\n DefaultListView,\n 'collectionConfig?.admin?.components?.views?.list?.Component',\n )\n\n let clientCollectionConfig = deepCopyObjectSimple(\n collectionConfig,\n ) as unknown as ClientCollectionConfig\n clientCollectionConfig = createClientCollectionConfig({\n clientCollection: clientCollectionConfig,\n collection: collectionConfig,\n createMappedComponent,\n DefaultEditView,\n DefaultListView,\n i18n,\n importMap: payload.importMap,\n payload,\n })\n\n return (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListInfoProvider\n collectionConfig={clientCollectionConfig}\n collectionSlug={collectionSlug}\n hasCreatePermission={permissions?.collections?.[collectionSlug]?.create?.permission}\n newDocumentURL={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || collectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n modifySearchParams\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={collectionSlug}\n enableRowSelections\n listPreferences={listPreferences}\n preferenceKey={preferenceKey}\n >\n <RenderComponent\n clientProps={{\n collectionSlug,\n listSearchableFields: collectionConfig?.admin?.listSearchableFields,\n }}\n mappedComponent={ListComponent}\n />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </Fragment>\n )\n }\n\n return notFound()\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","renderFilters","renderTable","formatAdminURL","mergeListSearchAndWhere","notFound","isNumber","React","Fragment","renderListViewSlots","generateListMetadata","renderListView","args","clientConfig","customCellProps","disableBulkDelete","disableBulkEdit","drawerSlug","enableRowSelections","initPageResult","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","admin","useAsTitle","defaultSort","fields","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","permission","Error","listPreferences","preferenceKey","find","collection","depth","limit","where","and","key","equals","id","then","res","docs","value","_err","routes","adminRoute","includes","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","data","draft","fallbackLocale","includeLockStatus","overrideAccess","clientCollectionConfig","c","columnState","Table","columnPreferences","columns","renderedFilters","importMap","staticDescription","description","t","listViewSlots","clientProps","hasCreatePermission","create","newDocumentURL","path","isInDrawer","Boolean","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","serverProps","listSearchableFields","ListView","RenderedList","error","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type { ListPreferences, ListViewClientProps } from '@payloadcms/ui'\nimport type { AdminViewProps, ListQuery, Where } from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { renderFilters, renderTable } from '@payloadcms/ui/rsc'\nimport { formatAdminURL, mergeListSearchAndWhere } from '@payloadcms/ui/shared'\nimport { notFound } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { renderListViewSlots } from './renderListViewSlots.js'\n\nexport { generateListMetadata } from './meta.js'\n\ntype ListViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n query: ListQuery\n} & AdminViewProps\n\nexport const renderListView = async (\n args: ListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: {\n slug: collectionSlug,\n admin: { useAsTitle },\n defaultSort,\n fields,\n },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!permissions?.collections?.[collectionSlug]?.read?.permission) {\n throw new Error('not-found')\n }\n\n const query = queryFromArgs || queryFromReq\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n req,\n user,\n where: {\n and: [\n {\n key: {\n equals: preferenceKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user?.id,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (_err) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug)) {\n throw new Error('not-found')\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n\n const whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n })\n\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string'\n ? collectionConfig.defaultSort\n : undefined)\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n includeLockStatus: true,\n limit,\n locale,\n overrideAccess: false,\n page,\n req,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: listPreferences?.columns,\n customCellProps,\n docs: data.docs,\n drawerSlug,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const listViewSlots = renderListViewSlots({\n collectionConfig,\n description: staticDescription,\n payload,\n })\n\n const clientProps: ListViewClientProps = {\n ...listViewSlots,\n collectionSlug,\n columnState,\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n hasCreatePermission: permissions?.collections?.[collectionSlug]?.create?.permission,\n listPreferences,\n newDocumentURL: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n }),\n renderedFilters,\n Table,\n }\n\n const isInDrawer = Boolean(drawerSlug)\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n defaultLimit={limit}\n defaultSort={sort}\n modifySearchParams={!isInDrawer}\n preferenceKey={preferenceKey}\n >\n <RenderServerComponent\n clientProps={clientProps}\n Component={collectionConfig?.admin?.components?.views?.list?.Component}\n Fallback={DefaultListView}\n importMap={payload.importMap}\n serverProps={{\n collectionConfig,\n collectionSlug,\n data,\n i18n,\n limit,\n listPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n </ListQueryProvider>\n </Fragment>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n\nexport const ListView: React.FC<ListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { ListViewSlots } from '@payloadcms/ui';
2
+ import type { Payload, SanitizedCollectionConfig, StaticDescription } from 'payload';
3
+ export declare const renderListViewSlots: ({ collectionConfig, description, payload, }: {
4
+ collectionConfig: SanitizedCollectionConfig;
5
+ description?: StaticDescription;
6
+ payload: Payload;
7
+ }) => ListViewSlots;
8
+ //# sourceMappingURL=renderListViewSlots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderListViewSlots.d.ts","sourceRoot":"","sources":["../../../src/views/List/renderListViewSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAIpF,eAAO,MAAM,mBAAmB,gDAI7B;IACD,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,aAoDH,CAAA"}