@payloadcms/next 3.0.0-beta.78 → 3.0.0-beta.80

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 (264) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +3 -1
  2. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +16 -3
  4. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +2 -2
  6. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +2 -2
  8. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -2
  10. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/index.js +27 -17
  12. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +2 -0
  14. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +15 -15
  16. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/index.d.ts +2 -2
  18. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  19. package/dist/elements/DocumentHeader/index.js +2 -2
  20. package/dist/elements/DocumentHeader/index.js.map +1 -1
  21. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  22. package/dist/elements/EmailAndUsername/index.js +31 -27
  23. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  24. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  25. package/dist/elements/LeaveWithoutSaving/index.js +7 -0
  26. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  27. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +2 -1
  28. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  29. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +3 -1
  30. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  31. package/dist/elements/Logo/index.d.ts.map +1 -1
  32. package/dist/elements/Logo/index.js +8 -5
  33. package/dist/elements/Logo/index.js.map +1 -1
  34. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  35. package/dist/elements/Nav/NavWrapper/index.js +4 -2
  36. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  37. package/dist/elements/Nav/NavWrapper/index.scss +4 -1
  38. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  39. package/dist/elements/Nav/index.client.js +1 -1
  40. package/dist/elements/Nav/index.client.js.map +1 -1
  41. package/dist/elements/Nav/index.d.ts.map +1 -1
  42. package/dist/elements/Nav/index.js +21 -27
  43. package/dist/elements/Nav/index.js.map +1 -1
  44. package/dist/elements/Nav/index.scss +4 -1
  45. package/dist/layouts/Root/index.d.ts +5 -4
  46. package/dist/layouts/Root/index.d.ts.map +1 -1
  47. package/dist/layouts/Root/index.js +39 -14
  48. package/dist/layouts/Root/index.js.map +1 -1
  49. package/dist/prod/styles.css +1 -1
  50. package/dist/routes/rest/buildFormState.js +4 -4
  51. package/dist/routes/rest/buildFormState.js.map +1 -1
  52. package/dist/routes/rest/og/image.d.ts +2 -1
  53. package/dist/routes/rest/og/image.d.ts.map +1 -1
  54. package/dist/routes/rest/og/image.js +6 -2
  55. package/dist/routes/rest/og/image.js.map +1 -1
  56. package/dist/routes/rest/og/index.d.ts.map +1 -1
  57. package/dist/routes/rest/og/index.js +7 -3
  58. package/dist/routes/rest/og/index.js.map +1 -1
  59. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  60. package/dist/templates/Default/Wrapper/index.js +4 -2
  61. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  62. package/dist/templates/Default/Wrapper/index.scss +36 -4
  63. package/dist/templates/Default/index.d.ts.map +1 -1
  64. package/dist/templates/Default/index.js +16 -23
  65. package/dist/templates/Default/index.js.map +1 -1
  66. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  67. package/dist/utilities/getPayloadHMR.js +13 -1
  68. package/dist/utilities/getPayloadHMR.js.map +1 -1
  69. package/dist/utilities/initPage/index.d.ts +1 -1
  70. package/dist/utilities/initPage/index.d.ts.map +1 -1
  71. package/dist/utilities/initPage/index.js +3 -2
  72. package/dist/utilities/initPage/index.js.map +1 -1
  73. package/dist/utilities/initPage/types.d.ts +2 -1
  74. package/dist/utilities/initPage/types.d.ts.map +1 -1
  75. package/dist/utilities/initPage/types.js.map +1 -1
  76. package/dist/views/API/LocaleSelector/index.d.ts +2 -2
  77. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  78. package/dist/views/API/LocaleSelector/index.js +7 -5
  79. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  80. package/dist/views/API/index.client.d.ts.map +1 -1
  81. package/dist/views/API/index.client.js +39 -33
  82. package/dist/views/API/index.client.js.map +1 -1
  83. package/dist/views/API/index.d.ts +2 -2
  84. package/dist/views/API/index.d.ts.map +1 -1
  85. package/dist/views/API/index.js.map +1 -1
  86. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  87. package/dist/views/Account/ToggleTheme/index.js +18 -16
  88. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  89. package/dist/views/Account/index.d.ts.map +1 -1
  90. package/dist/views/Account/index.js +20 -22
  91. package/dist/views/Account/index.js.map +1 -1
  92. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  93. package/dist/views/CreateFirstUser/index.client.js +10 -10
  94. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  95. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  96. package/dist/views/Dashboard/Default/index.js +21 -27
  97. package/dist/views/Dashboard/Default/index.js.map +1 -1
  98. package/dist/views/Dashboard/index.d.ts.map +1 -1
  99. package/dist/views/Dashboard/index.js +23 -26
  100. package/dist/views/Dashboard/index.js.map +1 -1
  101. package/dist/views/Document/getCustomViewByKey.d.ts.map +1 -1
  102. package/dist/views/Document/getCustomViewByKey.js +1 -2
  103. package/dist/views/Document/getCustomViewByKey.js.map +1 -1
  104. package/dist/views/Document/getCustomViewByRoute.js +2 -2
  105. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  106. package/dist/views/Document/getViewsFromConfig.d.ts +9 -4
  107. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  108. package/dist/views/Document/getViewsFromConfig.js +111 -49
  109. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  110. package/dist/views/Document/index.d.ts.map +1 -1
  111. package/dist/views/Document/index.js +31 -31
  112. package/dist/views/Document/index.js.map +1 -1
  113. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  114. package/dist/views/Edit/Default/Auth/APIKey.js +15 -15
  115. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  116. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  117. package/dist/views/Edit/Default/Auth/index.js +25 -14
  118. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  119. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
  120. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +1 -1
  121. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  122. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  123. package/dist/views/Edit/Default/index.js +11 -15
  124. package/dist/views/Edit/Default/index.js.map +1 -1
  125. package/dist/views/Edit/index.client.d.ts.map +1 -1
  126. package/dist/views/Edit/index.client.js +11 -6
  127. package/dist/views/Edit/index.client.js.map +1 -1
  128. package/dist/views/Edit/index.d.ts +2 -2
  129. package/dist/views/Edit/index.d.ts.map +1 -1
  130. package/dist/views/Edit/index.js.map +1 -1
  131. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  132. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +11 -7
  133. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  134. package/dist/views/List/Default/index.d.ts.map +1 -1
  135. package/dist/views/List/Default/index.js +30 -19
  136. package/dist/views/List/Default/index.js.map +1 -1
  137. package/dist/views/List/index.d.ts.map +1 -1
  138. package/dist/views/List/index.js +47 -40
  139. package/dist/views/List/index.js.map +1 -1
  140. package/dist/views/List/meta.js +1 -1
  141. package/dist/views/List/meta.js.map +1 -1
  142. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  143. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  144. package/dist/views/LivePreview/Context/context.js.map +1 -1
  145. package/dist/views/LivePreview/Context/index.d.ts +3 -3
  146. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  147. package/dist/views/LivePreview/Context/index.js.map +1 -1
  148. package/dist/views/LivePreview/index.client.d.ts +3 -3
  149. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  150. package/dist/views/LivePreview/index.client.js +84 -93
  151. package/dist/views/LivePreview/index.client.js.map +1 -1
  152. package/dist/views/LivePreview/index.d.ts +2 -2
  153. package/dist/views/LivePreview/index.d.ts.map +1 -1
  154. package/dist/views/LivePreview/index.js.map +1 -1
  155. package/dist/views/LivePreview/usePopupWindow.d.ts +2 -1
  156. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  157. package/dist/views/LivePreview/usePopupWindow.js +1 -1
  158. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  159. package/dist/views/Login/LoginField/index.d.ts +3 -3
  160. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  161. package/dist/views/Login/LoginField/index.js +15 -12
  162. package/dist/views/Login/LoginField/index.js.map +1 -1
  163. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  164. package/dist/views/Login/LoginForm/index.js +6 -4
  165. package/dist/views/Login/LoginForm/index.js.map +1 -1
  166. package/dist/views/Login/index.d.ts.map +1 -1
  167. package/dist/views/Login/index.js +21 -27
  168. package/dist/views/Login/index.js.map +1 -1
  169. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  170. package/dist/views/NotFound/index.client.js +1 -1
  171. package/dist/views/NotFound/index.client.js.map +1 -1
  172. package/dist/views/NotFound/index.d.ts +4 -3
  173. package/dist/views/NotFound/index.d.ts.map +1 -1
  174. package/dist/views/NotFound/index.js +2 -1
  175. package/dist/views/NotFound/index.js.map +1 -1
  176. package/dist/views/ResetPassword/index.client.d.ts +1 -1
  177. package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
  178. package/dist/views/ResetPassword/index.client.js +9 -6
  179. package/dist/views/ResetPassword/index.client.js.map +1 -1
  180. package/dist/views/Root/getCustomViewByRoute.d.ts +3 -2
  181. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  182. package/dist/views/Root/getCustomViewByRoute.js +13 -10
  183. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  184. package/dist/views/Root/getViewFromConfig.d.ts +10 -4
  185. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  186. package/dist/views/Root/getViewFromConfig.js +26 -9
  187. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  188. package/dist/views/Root/index.d.ts +6 -5
  189. package/dist/views/Root/index.d.ts.map +1 -1
  190. package/dist/views/Root/index.js +14 -6
  191. package/dist/views/Root/index.js.map +1 -1
  192. package/dist/views/Unauthorized/index.d.ts +2 -2
  193. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  194. package/dist/views/Unauthorized/index.js.map +1 -1
  195. package/dist/views/Version/Default/SetStepNav.d.ts +8 -8
  196. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  197. package/dist/views/Version/Default/SetStepNav.js +7 -7
  198. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  199. package/dist/views/Version/Default/index.d.ts.map +1 -1
  200. package/dist/views/Version/Default/index.js +10 -15
  201. package/dist/views/Version/Default/index.js.map +1 -1
  202. package/dist/views/Version/Default/types.d.ts +7 -7
  203. package/dist/views/Version/Default/types.d.ts.map +1 -1
  204. package/dist/views/Version/Default/types.js.map +1 -1
  205. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +2 -2
  206. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  207. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +20 -20
  208. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  209. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +2 -2
  210. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
  211. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +4 -4
  212. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  213. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +3 -2
  214. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  215. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +3 -3
  216. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  217. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -5
  218. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  219. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +1 -1
  220. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  221. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -5
  222. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  223. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +2 -2
  224. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  225. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +3 -2
  226. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  227. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +1 -1
  228. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  229. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +21 -28
  230. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  231. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -1
  232. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  233. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +15 -15
  234. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  235. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  236. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  237. package/dist/views/Version/RenderFieldsToDiff/index.js +12 -8
  238. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  239. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +9 -9
  240. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  241. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  242. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  243. package/dist/views/Version/Restore/index.js +1 -1
  244. package/dist/views/Version/Restore/index.js.map +1 -1
  245. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  246. package/dist/views/Version/SelectComparison/index.js +1 -1
  247. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  248. package/dist/views/Version/index.d.ts +2 -2
  249. package/dist/views/Version/index.d.ts.map +1 -1
  250. package/dist/views/Version/index.js.map +1 -1
  251. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  252. package/dist/views/Versions/buildColumns.js +40 -16
  253. package/dist/views/Versions/buildColumns.js.map +1 -1
  254. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  255. package/dist/views/Versions/cells/CreatedAt/index.js +1 -1
  256. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  257. package/dist/views/Versions/index.client.d.ts +4 -4
  258. package/dist/views/Versions/index.client.d.ts.map +1 -1
  259. package/dist/views/Versions/index.client.js +8 -6
  260. package/dist/views/Versions/index.client.js.map +1 -1
  261. package/dist/views/Versions/index.d.ts +2 -2
  262. package/dist/views/Versions/index.d.ts.map +1 -1
  263. package/dist/views/Versions/index.js.map +1 -1
  264. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n type FormProps,\n OperationProvider,\n Upload,\n useAuth,\n useComponentMap,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useEditDepth,\n useUploadEdits,\n} from '@payloadcms/ui'\nimport { formatAdminURL, getFormState } from '@payloadcms/ui/shared'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC = () => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n isInitializing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const config = useConfig()\n const router = useRouter()\n const { getComponentMap, getFieldMap } = useComponentMap()\n const depth = useEditDepth()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n\n const locale = params.get('locale')\n\n const {\n admin: { user: userSlug },\n collections,\n globals,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const componentMap = getComponentMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const preventLeaveWithoutSaving =\n (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n !disableLeaveWithoutSaving\n\n const classes = [baseClass, id && `${baseClass}--is-editing`]\n\n if (globalSlug) classes.push(`global-edit--${globalSlug}`)\n if (collectionSlug) classes.push(`collection-edit--${collectionSlug}`)\n\n const [schemaPath, setSchemaPath] = React.useState(entitySlug)\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (\n operation === 'create' &&\n collectionConfig.auth &&\n !collectionConfig.auth.disableLocalStrategy\n )\n return true\n return false\n })\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n void getVersions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n router.push(redirectRoute)\n } else {\n resetUploadEdits()\n }\n },\n [\n onSaveFromContext,\n userSlug,\n reportUpdate,\n id,\n entitySlug,\n user,\n depth,\n collectionSlug,\n getVersions,\n isEditing,\n refreshCookieAsync,\n adminRoute,\n router,\n locale,\n resetUploadEdits,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath,\n },\n serverURL,\n })\n },\n [apiRoute, collectionSlug, schemaPath, getDocPreferences, globalSlug, id, operation, serverURL],\n )\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit={!validateBeforeSubmit}\n disabled={isInitializing || !hasSavePermission}\n initialState={!isInitializing && initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {BeforeDocument}\n {preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={data}\n disableActions={disableActions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setSchemaPath={setSchemaPath}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {componentMap.Upload !== undefined ? (\n componentMap.Upload\n ) : (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n docPermissions={docPermissions}\n fieldMap={fieldMap}\n readOnly={!hasSavePermission}\n schemaPath={schemaPath}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","Form","OperationProvider","Upload","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useUploadEdits","formatAdminURL","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","useState","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","getVersions","globalSlug","hasPublishPermission","hasSavePermission","initialData","data","initialState","isEditing","isInitializing","onSave","onSaveFromContext","refreshCookieAsync","user","config","router","getComponentMap","getFieldMap","depth","params","reportUpdate","resetUploadEdits","locale","get","admin","userSlug","collections","globals","routes","adminRoute","api","apiRoute","serverURL","collectionConfig","find","collection","slug","globalConfig","global","entitySlug","componentMap","fieldMap","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","push","schemaPath","setSchemaPath","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","json","updatedAt","result","Date","toISOString","redirectRoute","path","doc","onChange","formState","prevFormState","docPreferences","body","main","className","filter","Boolean","join","disableValidationOnSubmit","disabled","method","onSuccess","pluralLabel","labels","plural","useAsTitle","fallback","toString","permissions","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n type FormProps,\n OperationProvider,\n RenderComponent,\n Upload,\n useAuth,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useEditDepth,\n useUploadEdits,\n} from '@payloadcms/ui'\nimport { formatAdminURL, getFormState } from '@payloadcms/ui/shared'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC = () => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n isInitializing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const router = useRouter()\n const depth = useEditDepth()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n\n const locale = params.get('locale')\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const preventLeaveWithoutSaving =\n (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n !disableLeaveWithoutSaving\n\n const classes = [baseClass, id && `${baseClass}--is-editing`]\n\n if (globalSlug) classes.push(`global-edit--${globalSlug}`)\n if (collectionSlug) classes.push(`collection-edit--${collectionSlug}`)\n\n const [schemaPath, setSchemaPath] = React.useState(entitySlug)\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (\n operation === 'create' &&\n collectionConfig.auth &&\n !collectionConfig.auth.disableLocalStrategy\n )\n return true\n return false\n })\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n void getVersions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n router.push(redirectRoute)\n } else {\n resetUploadEdits()\n }\n },\n [\n onSaveFromContext,\n userSlug,\n reportUpdate,\n id,\n entitySlug,\n user,\n depth,\n collectionSlug,\n getVersions,\n isEditing,\n refreshCookieAsync,\n adminRoute,\n router,\n locale,\n resetUploadEdits,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath,\n },\n serverURL,\n })\n },\n [apiRoute, collectionSlug, schemaPath, getDocPreferences, globalSlug, id, operation, serverURL],\n )\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit={!validateBeforeSubmit}\n disabled={isInitializing || !hasSavePermission}\n initialState={!isInitializing && initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {BeforeDocument}\n {preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={data}\n disableActions={disableActions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setSchemaPath={setSchemaPath}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {collectionConfig?.admin?.components?.edit?.Upload ? (\n <RenderComponent\n mappedComponent={collectionConfig.admin.components.edit.Upload}\n />\n ) : (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n docPermissions={docPermissions}\n fields={(collectionConfig || globalConfig)?.fields}\n readOnly={!hasSavePermission}\n schemaPath={schemaPath}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","Form","OperationProvider","RenderComponent","Upload","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useUploadEdits","formatAdminURL","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","useState","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","getVersions","globalSlug","hasPublishPermission","hasSavePermission","initialData","data","initialState","isEditing","isInitializing","onSave","onSaveFromContext","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","api","apiRoute","serverURL","getEntityConfig","router","depth","params","reportUpdate","resetUploadEdits","locale","get","collectionConfig","globalConfig","entitySlug","slug","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","push","schemaPath","setSchemaPath","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","json","updatedAt","result","Date","toISOString","redirectRoute","path","doc","onChange","formState","prevFormState","docPreferences","body","main","className","filter","Boolean","join","disableValidationOnSubmit","disabled","method","onSuccess","pluralLabel","labels","plural","useAsTitle","fallback","toString","permissions","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","components","edit","mappedComponent","uploadConfig","fields"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.client.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAoBlC,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.client.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAyBlC,CAAA"}
@@ -1,23 +1,28 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { SetViewActions, useComponentMap, useDocumentInfo } from '@payloadcms/ui';
3
+ import { RenderComponent, SetViewActions, useConfig, useDocumentInfo } from '@payloadcms/ui';
4
4
  import React, { Fragment } from 'react';
5
5
  export const EditViewClient = ()=>{
6
6
  const { collectionSlug, globalSlug } = useDocumentInfo();
7
- const { getComponentMap } = useComponentMap();
8
- const { Edit, actionsMap } = getComponentMap({
9
- collectionSlug,
7
+ const { getEntityConfig } = useConfig();
8
+ const collectionConfig = getEntityConfig({
9
+ collectionSlug
10
+ });
11
+ const globalConfig = getEntityConfig({
10
12
  globalSlug
11
13
  });
14
+ const Edit = (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.default?.Component;
12
15
  if (!Edit) {
13
16
  return null;
14
17
  }
15
18
  return /*#__PURE__*/ _jsxs(Fragment, {
16
19
  children: [
17
20
  /*#__PURE__*/ _jsx(SetViewActions, {
18
- actions: actionsMap?.Edit?.Default
21
+ actions: (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.default?.actions
19
22
  }),
20
- Edit
23
+ /*#__PURE__*/ _jsx(RenderComponent, {
24
+ mappedComponent: Edit
25
+ })
21
26
  ]
22
27
  });
23
28
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Edit/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { SetViewActions, useComponentMap, useDocumentInfo } from '@payloadcms/ui'\nimport React, { Fragment } from 'react'\n\nexport const EditViewClient: React.FC = () => {\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const { getComponentMap } = useComponentMap()\n\n const { Edit, actionsMap } = getComponentMap({\n collectionSlug,\n globalSlug,\n })\n\n if (!Edit) {\n return null\n }\n\n return (\n <Fragment>\n <SetViewActions actions={actionsMap?.Edit?.Default} />\n {Edit}\n </Fragment>\n )\n}\n"],"names":["SetViewActions","useComponentMap","useDocumentInfo","React","Fragment","EditViewClient","collectionSlug","globalSlug","getComponentMap","Edit","actionsMap","actions","Default"],"mappings":"AAAA;;AAEA,SAASA,cAAc,EAAEC,eAAe,EAAEC,eAAe,QAAQ,iBAAgB;AACjF,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,OAAO,MAAMC,iBAA2B;IACtC,MAAM,EAAEC,cAAc,EAAEC,UAAU,EAAE,GAAGL;IAEvC,MAAM,EAAEM,eAAe,EAAE,GAAGP;IAE5B,MAAM,EAAEQ,IAAI,EAAEC,UAAU,EAAE,GAAGF,gBAAgB;QAC3CF;QACAC;IACF;IAEA,IAAI,CAACE,MAAM;QACT,OAAO;IACT;IAEA,qBACE,MAACL;;0BACC,KAACJ;gBAAeW,SAASD,YAAYD,MAAMG;;YAC1CH;;;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/Edit/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { RenderComponent, SetViewActions, useConfig, useDocumentInfo } from '@payloadcms/ui'\nimport React, { Fragment } from 'react'\n\nexport const EditViewClient: React.FC = () => {\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const Edit = (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.default\n ?.Component\n\n if (!Edit) {\n return null\n }\n\n return (\n <Fragment>\n <SetViewActions\n actions={\n (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.default?.actions\n }\n />\n <RenderComponent mappedComponent={Edit} />\n </Fragment>\n )\n}\n"],"names":["RenderComponent","SetViewActions","useConfig","useDocumentInfo","React","Fragment","EditViewClient","collectionSlug","globalSlug","getEntityConfig","collectionConfig","globalConfig","Edit","admin","components","views","edit","default","Component","actions","mappedComponent"],"mappings":"AAAA;;AAIA,SAASA,eAAe,EAAEC,cAAc,EAAEC,SAAS,EAAEC,eAAe,QAAQ,iBAAgB;AAC5F,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,OAAO,MAAMC,iBAA2B;IACtC,MAAM,EAAEC,cAAc,EAAEC,UAAU,EAAE,GAAGL;IAEvC,MAAM,EAAEM,eAAe,EAAE,GAAGP;IAE5B,MAAMQ,mBAAmBD,gBAAgB;QAAEF;IAAe;IAC1D,MAAMI,eAAeF,gBAAgB;QAAED;IAAW;IAElD,MAAMI,OAAQF,CAAAA,oBAAoBC,YAAW,GAAIE,OAAOC,YAAYC,OAAOC,MAAMC,SAC7EC;IAEJ,IAAI,CAACN,MAAM;QACT,OAAO;IACT;IAEA,qBACE,MAACP;;0BACC,KAACJ;gBACCkB,SACGT,CAAAA,oBAAoBC,YAAW,GAAIE,OAAOC,YAAYC,OAAOC,MAAMC,SAASE;;0BAGjF,KAACnB;gBAAgBoB,iBAAiBR;;;;AAGxC,EAAC"}
@@ -1,3 +1,3 @@
1
- import type { EditViewComponent } from 'payload';
2
- export declare const EditView: EditViewComponent;
1
+ import type { EditViewComponent, PayloadServerReactComponent } from 'payload';
2
+ export declare const EditView: PayloadServerReactComponent<EditViewComponent>;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAMhD,eAAO,MAAM,QAAQ,EAAE,iBAEtB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAM7E,eAAO,MAAM,QAAQ,EAAE,2BAA2B,CAAC,iBAAiB,CAEnE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["import type { EditViewComponent } from 'payload'\n\nimport React from 'react'\n\nimport { EditViewClient } from './index.client.js'\n\nexport const EditView: EditViewComponent = () => {\n return <EditViewClient />\n}\n"],"names":["React","EditViewClient","EditView"],"mappings":";AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,oBAAmB;AAElD,OAAO,MAAMC,WAA8B;IACzC,qBAAO,KAACD;AACV,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["import type { EditViewComponent, PayloadServerReactComponent } from 'payload'\n\nimport React from 'react'\n\nimport { EditViewClient } from './index.client.js'\n\nexport const EditView: PayloadServerReactComponent<EditViewComponent> = () => {\n return <EditViewClient />\n}\n"],"names":["React","EditViewClient","EditView"],"mappings":";AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,oBAAmB;AAElD,OAAO,MAAMC,WAA2D;IACtE,qBAAO,KAACD;AACV,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAEjD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAgHtC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAEjD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAoHtC,CAAA"}
@@ -4,7 +4,7 @@ import { EmailField, Form, FormSubmit, TextField, useConfig, useTranslation } fr
4
4
  import { email, text } from 'payload/shared';
5
5
  import React, { Fragment, useState } from 'react';
6
6
  export const ForgotPasswordForm = ()=>{
7
- const config = useConfig();
7
+ const { config } = useConfig();
8
8
  const { admin: { user: userSlug }, routes: { api } } = config;
9
9
  const { t } = useTranslation();
10
10
  const [hasSubmitted, setHasSubmitted] = useState(false);
@@ -56,9 +56,11 @@ export const ForgotPasswordForm = ()=>{
56
56
  children: loginWithUsername ? t('authentication:forgotPasswordUsernameInstructions') : t('authentication:forgotPasswordEmailInstructions')
57
57
  }),
58
58
  loginWithUsername ? /*#__PURE__*/ _jsx(TextField, {
59
- label: t('authentication:username'),
60
- name: "username",
61
- required: true,
59
+ field: {
60
+ name: 'username',
61
+ label: t('authentication:username'),
62
+ required: true
63
+ },
62
64
  validate: (value)=>text(value, {
63
65
  name: 'username',
64
66
  type: 'text',
@@ -77,9 +79,11 @@ export const ForgotPasswordForm = ()=>{
77
79
  })
78
80
  }) : /*#__PURE__*/ _jsx(EmailField, {
79
81
  autoComplete: "email",
80
- label: t('general:email'),
81
- name: "email",
82
- required: true,
82
+ field: {
83
+ name: 'email',
84
+ label: t('general:email'),
85
+ required: true
86
+ },
83
87
  validate: (value)=>email(value, {
84
88
  name: 'email',
85
89
  type: 'email',
@@ -1 +1 @@
1
- {"version":3,"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, { Fragment, useState } from 'react'\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 <Fragment>\n <h1>{t('authentication:emailSent')}</h1>\n <p>{t('authentication:checkYourEmailForPasswordReset')}</p>\n </Fragment>\n )\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/forgot-password`}\n handleResponse={handleResponse}\n initialState={initialState}\n method=\"POST\"\n >\n <h1>{t('authentication:forgotPassword')}</h1>\n <p>\n {loginWithUsername\n ? t('authentication:forgotPasswordUsernameInstructions')\n : t('authentication:forgotPasswordEmailInstructions')}\n </p>\n\n {loginWithUsername ? (\n <TextField\n label={t('authentication:username')}\n name=\"username\"\n required\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 PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n ) : (\n <EmailField\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n required\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n data: {},\n preferences: { fields: {} },\n req: { t } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )}\n <FormSubmit>{t('general:submit')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["EmailField","Form","FormSubmit","TextField","useConfig","useTranslation","email","text","React","Fragment","useState","ForgotPasswordForm","config","admin","user","userSlug","routes","api","t","hasSubmitted","setHasSubmitted","collectionConfig","collections","find","collection","slug","loginWithUsername","auth","handleResponse","res","successToast","errorToast","json","then","catch","initialState","username","initialValue","valid","value","undefined","h1","p","action","method","label","name","required","validate","type","data","preferences","fields","req","payload","siblingData","autoComplete"],"mappings":"AAAA;;AAKA,SAASA,UAAU,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AACnG,SAASC,KAAK,EAAEC,IAAI,QAAQ,iBAAgB;AAC5C,OAAOC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,QAAO;AAEjD,OAAO,MAAMC,qBAA+B;IAC1C,MAAMC,SAASR;IAEf,MAAM,EACJS,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EACzBC,QAAQ,EAAEC,GAAG,EAAE,EAChB,GAAGL;IAEJ,MAAM,EAAEM,CAAC,EAAE,GAAGb;IACd,MAAM,CAACc,cAAcC,gBAAgB,GAAGV,SAAS;IACjD,MAAMW,mBAAmBT,OAAOU,WAAW,EAAEC,KAAK,CAACC,aAAeA,YAAYC,SAASV;IACvF,MAAMW,oBAAoBL,kBAAkBM,MAAMD;IAElD,MAAME,iBAA8C,CAACC,KAAKC,cAAcC;QACtEF,IACGG,IAAI,GACJC,IAAI,CAAC;YACJb,gBAAgB;YAChBU,aAAaZ,EAAE;QACjB,GACCgB,KAAK,CAAC;YACLH,WACEL,oBACIR,EAAE,qCACFA,EAAE;QAEV;IACJ;IAEA,MAAMiB,eAA0BT,oBAC5B;QACEU,UAAU;YACRC,cAAc;YACdC,OAAO;YACPC,OAAOC;QACT;IACF,IACA;QACElC,OAAO;YACL+B,cAAc;YACdC,OAAO;YACPC,OAAOC;QACT;IACF;IAEJ,IAAIrB,cAAc;QAChB,qBACE,MAACV;;8BACC,KAACgC;8BAAIvB,EAAE;;8BACP,KAACwB;8BAAGxB,EAAE;;;;IAGZ;IAEA,qBACE,MAACjB;QACC0C,QAAQ,CAAC,EAAE1B,IAAI,CAAC,EAAEF,SAAS,gBAAgB,CAAC;QAC5Ca,gBAAgBA;QAChBO,cAAcA;QACdS,QAAO;;0BAEP,KAACH;0BAAIvB,EAAE;;0BACP,KAACwB;0BACEhB,oBACGR,EAAE,uDACFA,EAAE;;YAGPQ,kCACC,KAACvB;gBACC0C,OAAO3B,EAAE;gBACT4B,MAAK;gBACLC,QAAQ;gBACRC,UAAU,CAACT,QACThC,KAAKgC,OAAO;wBACVO,MAAM;wBACNG,MAAM;wBACNC,MAAM,CAAC;wBACPC,aAAa;4BAAEC,QAAQ,CAAC;wBAAE;wBAC1BC,KAAK;4BACHC,SAAS;gCACP1C;4BACF;4BACAM;wBACF;wBACA6B,UAAU;wBACVQ,aAAa,CAAC;oBAChB;+BAIJ,KAACvD;gBACCwD,cAAa;gBACbX,OAAO3B,EAAE;gBACT4B,MAAK;gBACLC,QAAQ;gBACRC,UAAU,CAACT,QACTjC,MAAMiC,OAAO;wBACXO,MAAM;wBACNG,MAAM;wBACNC,MAAM,CAAC;wBACPC,aAAa;4BAAEC,QAAQ,CAAC;wBAAE;wBAC1BC,KAAK;4BAAEnC;wBAAE;wBACT6B,UAAU;wBACVQ,aAAa,CAAC;oBAChB;;0BAIN,KAACrD;0BAAYgB,EAAE;;;;AAGrB,EAAC"}
1
+ {"version":3,"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, { Fragment, useState } from 'react'\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 <Fragment>\n <h1>{t('authentication:emailSent')}</h1>\n <p>{t('authentication:checkYourEmailForPasswordReset')}</p>\n </Fragment>\n )\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/forgot-password`}\n handleResponse={handleResponse}\n initialState={initialState}\n method=\"POST\"\n >\n <h1>{t('authentication:forgotPassword')}</h1>\n <p>\n {loginWithUsername\n ? t('authentication:forgotPasswordUsernameInstructions')\n : t('authentication:forgotPasswordEmailInstructions')}\n </p>\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: { t } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )}\n <FormSubmit>{t('general:submit')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["EmailField","Form","FormSubmit","TextField","useConfig","useTranslation","email","text","React","Fragment","useState","ForgotPasswordForm","config","admin","user","userSlug","routes","api","t","hasSubmitted","setHasSubmitted","collectionConfig","collections","find","collection","slug","loginWithUsername","auth","handleResponse","res","successToast","errorToast","json","then","catch","initialState","username","initialValue","valid","value","undefined","h1","p","action","method","field","name","label","required","validate","type","data","preferences","fields","req","payload","siblingData","autoComplete"],"mappings":"AAAA;;AAKA,SAASA,UAAU,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AACnG,SAASC,KAAK,EAAEC,IAAI,QAAQ,iBAAgB;AAC5C,OAAOC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,QAAO;AAEjD,OAAO,MAAMC,qBAA+B;IAC1C,MAAM,EAAEC,MAAM,EAAE,GAAGR;IAEnB,MAAM,EACJS,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EACzBC,QAAQ,EAAEC,GAAG,EAAE,EAChB,GAAGL;IAEJ,MAAM,EAAEM,CAAC,EAAE,GAAGb;IACd,MAAM,CAACc,cAAcC,gBAAgB,GAAGV,SAAS;IACjD,MAAMW,mBAAmBT,OAAOU,WAAW,EAAEC,KAAK,CAACC,aAAeA,YAAYC,SAASV;IACvF,MAAMW,oBAAoBL,kBAAkBM,MAAMD;IAElD,MAAME,iBAA8C,CAACC,KAAKC,cAAcC;QACtEF,IACGG,IAAI,GACJC,IAAI,CAAC;YACJb,gBAAgB;YAChBU,aAAaZ,EAAE;QACjB,GACCgB,KAAK,CAAC;YACLH,WACEL,oBACIR,EAAE,qCACFA,EAAE;QAEV;IACJ;IAEA,MAAMiB,eAA0BT,oBAC5B;QACEU,UAAU;YACRC,cAAc;YACdC,OAAO;YACPC,OAAOC;QACT;IACF,IACA;QACElC,OAAO;YACL+B,cAAc;YACdC,OAAO;YACPC,OAAOC;QACT;IACF;IAEJ,IAAIrB,cAAc;QAChB,qBACE,MAACV;;8BACC,KAACgC;8BAAIvB,EAAE;;8BACP,KAACwB;8BAAGxB,EAAE;;;;IAGZ;IAEA,qBACE,MAACjB;QACC0C,QAAQ,CAAC,EAAE1B,IAAI,CAAC,EAAEF,SAAS,gBAAgB,CAAC;QAC5Ca,gBAAgBA;QAChBO,cAAcA;QACdS,QAAO;;0BAEP,KAACH;0BAAIvB,EAAE;;0BACP,KAACwB;0BACEhB,oBACGR,EAAE,uDACFA,EAAE;;YAGPQ,kCACC,KAACvB;gBACC0C,OAAO;oBACLC,MAAM;oBACNC,OAAO7B,EAAE;oBACT8B,UAAU;gBACZ;gBACAC,UAAU,CAACV,QACThC,KAAKgC,OAAO;wBACVO,MAAM;wBACNI,MAAM;wBACNC,MAAM,CAAC;wBACPC,aAAa;4BAAEC,QAAQ,CAAC;wBAAE;wBAC1BC,KAAK;4BACHC,SAAS;gCACP3C;4BACF;4BACAM;wBACF;wBACA8B,UAAU;wBACVQ,aAAa,CAAC;oBAChB;+BAIJ,KAACxD;gBACCyD,cAAa;gBACbZ,OAAO;oBACLC,MAAM;oBACNC,OAAO7B,EAAE;oBACT8B,UAAU;gBACZ;gBACAC,UAAU,CAACV,QACTjC,MAAMiC,OAAO;wBACXO,MAAM;wBACNI,MAAM;wBACNC,MAAM,CAAC;wBACPC,aAAa;4BAAEC,QAAQ,CAAC;wBAAE;wBAC1BC,KAAK;4BAAEpC;wBAAE;wBACT8B,UAAU;wBACVQ,aAAa,CAAC;oBAChB;;0BAIN,KAACtD;0BAAYgB,EAAE;;;;AAGrB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/Default/index.tsx"],"names":[],"mappings":"AAmCA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EA0KnC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/Default/index.tsx"],"names":[],"mappings":"AAmCA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAgLnC,CAAA"}
@@ -1,7 +1,7 @@
1
- /* eslint-disable @typescript-eslint/no-misused-promises */ 'use client';
1
+ 'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { getTranslation } from '@payloadcms/translations';
4
- import { Button, DeleteMany, EditMany, Gutter, ListControls, ListSelection, Pagination, PerPage, Pill, PublishMany, RelationshipProvider, SelectionProvider, SetViewActions, StaggeredShimmers, Table, UnpublishMany, useComponentMap, useConfig, useEditDepth, useListInfo, useListQuery, useSearchParams, useStepNav, useTranslation, useWindowInfo } from '@payloadcms/ui';
4
+ import { Button, DeleteMany, EditMany, Gutter, ListControls, ListSelection, Pagination, PerPage, Pill, PublishMany, RelationshipProvider, RenderComponent, SelectionProvider, SetViewActions, StaggeredShimmers, Table, UnpublishMany, ViewDescription, useConfig, useEditDepth, useListInfo, useListQuery, useSearchParams, useStepNav, useTranslation, useWindowInfo } from '@payloadcms/ui';
5
5
  import LinkImport from 'next/link.js';
6
6
  import { formatFilesize, isNumber } from 'payload/shared';
7
7
  import React, { Fragment, useEffect } from 'react';
@@ -11,14 +11,11 @@ export const DefaultListView = ()=>{
11
11
  const { Header, collectionSlug, hasCreatePermission, newDocumentURL } = useListInfo();
12
12
  const { data, defaultLimit, handlePageChange, handlePerPageChange } = useListQuery();
13
13
  const { searchParams } = useSearchParams();
14
- const config = useConfig();
15
- const { getComponentMap } = useComponentMap();
16
- const componentMap = getComponentMap({
14
+ const { getEntityConfig } = useConfig();
15
+ const collectionConfig = getEntityConfig({
17
16
  collectionSlug
18
17
  });
19
- const { AfterList, AfterListTable, BeforeList, BeforeListTable, Description, actionsMap, fieldMap } = componentMap || {};
20
- const collectionConfig = config.collections.find((collection)=>collection.slug === collectionSlug);
21
- const { labels } = collectionConfig;
18
+ const { admin: { components: { Description, afterList, afterListTable, beforeList, beforeListTable, views: { list: { actions } } }, description }, fields, labels } = collectionConfig;
22
19
  const { i18n } = useTranslation();
23
20
  const drawerDepth = useEditDepth();
24
21
  const { setStepNav } = useStepNav();
@@ -49,9 +46,11 @@ export const DefaultListView = ()=>{
49
46
  className: `${baseClass} ${baseClass}--${collectionSlug}`,
50
47
  children: [
51
48
  /*#__PURE__*/ _jsx(SetViewActions, {
52
- actions: actionsMap?.List
49
+ actions: actions
50
+ }),
51
+ /*#__PURE__*/ _jsx(RenderComponent, {
52
+ mappedComponent: beforeList
53
53
  }),
54
- BeforeList,
55
54
  /*#__PURE__*/ _jsx(SelectionProvider, {
56
55
  docs: data.docs,
57
56
  totalDocs: data.totalDocs,
@@ -75,18 +74,26 @@ export const DefaultListView = ()=>{
75
74
  !smallBreak && /*#__PURE__*/ _jsx(ListSelection, {
76
75
  label: getTranslation(collectionConfig.labels.plural, i18n)
77
76
  }),
78
- Description ? /*#__PURE__*/ _jsx("div", {
77
+ description && /*#__PURE__*/ _jsx("div", {
79
78
  className: `${baseClass}__sub-header`,
80
- children: Description
81
- }) : null
79
+ children: /*#__PURE__*/ _jsx(RenderComponent, {
80
+ Component: ViewDescription,
81
+ clientProps: {
82
+ description
83
+ },
84
+ mappedComponent: Description
85
+ })
86
+ })
82
87
  ]
83
88
  })
84
89
  }),
85
90
  /*#__PURE__*/ _jsx(ListControls, {
86
91
  collectionConfig: collectionConfig,
87
- fieldMap: fieldMap
92
+ fields: fields
93
+ }),
94
+ /*#__PURE__*/ _jsx(RenderComponent, {
95
+ mappedComponent: beforeListTable
88
96
  }),
89
- BeforeListTable,
90
97
  !data.docs && /*#__PURE__*/ _jsx(StaggeredShimmers, {
91
98
  className: [
92
99
  `${baseClass}__shimmer`,
@@ -101,7 +108,7 @@ export const DefaultListView = ()=>{
101
108
  uploadConfig: collectionConfig.upload
102
109
  },
103
110
  data: docs,
104
- fieldMap: fieldMap
111
+ fields: fields
105
112
  })
106
113
  }),
107
114
  data.docs && data.docs.length === 0 && /*#__PURE__*/ _jsxs("div", {
@@ -122,7 +129,9 @@ export const DefaultListView = ()=>{
122
129
  })
123
130
  ]
124
131
  }),
125
- AfterListTable,
132
+ /*#__PURE__*/ _jsx(RenderComponent, {
133
+ mappedComponent: afterListTable
134
+ }),
126
135
  data.docs && data.docs.length > 0 && /*#__PURE__*/ _jsxs("div", {
127
136
  className: `${baseClass}__page-controls`,
128
137
  children: [
@@ -168,7 +177,7 @@ export const DefaultListView = ()=>{
168
177
  children: [
169
178
  /*#__PURE__*/ _jsx(EditMany, {
170
179
  collection: collectionConfig,
171
- fieldMap: fieldMap
180
+ fields: fields
172
181
  }),
173
182
  /*#__PURE__*/ _jsx(PublishMany, {
174
183
  collection: collectionConfig
@@ -190,7 +199,9 @@ export const DefaultListView = ()=>{
190
199
  ]
191
200
  })
192
201
  }),
193
- AfterList
202
+ /*#__PURE__*/ _jsx(RenderComponent, {
203
+ mappedComponent: afterList
204
+ })
194
205
  ]
195
206
  });
196
207
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/List/Default/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-misused-promises */\n'use client'\n\nimport type { CollectionComponentMap } from '@payloadcms/ui/utilities/buildComponentMap'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n DeleteMany,\n EditMany,\n Gutter,\n ListControls,\n ListSelection,\n Pagination,\n PerPage,\n Pill,\n PublishMany,\n RelationshipProvider,\n SelectionProvider,\n SetViewActions,\n StaggeredShimmers,\n Table,\n UnpublishMany,\n useComponentMap,\n useConfig,\n useEditDepth,\n useListInfo,\n useListQuery,\n useSearchParams,\n useStepNav,\n useTranslation,\n useWindowInfo,\n} from '@payloadcms/ui'\nimport LinkImport from 'next/link.js'\nimport { formatFilesize, isNumber } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'collection-list'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DefaultListView: React.FC = () => {\n const { Header, collectionSlug, hasCreatePermission, newDocumentURL } = useListInfo()\n const { data, defaultLimit, handlePageChange, handlePerPageChange } = useListQuery()\n const { searchParams } = useSearchParams()\n\n const config = useConfig()\n\n const { getComponentMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug }) as CollectionComponentMap\n\n const {\n AfterList,\n AfterListTable,\n BeforeList,\n BeforeListTable,\n Description,\n actionsMap,\n fieldMap,\n } = componentMap || {}\n\n const collectionConfig = config.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n\n const { labels } = collectionConfig\n\n const { i18n } = useTranslation()\n\n const drawerDepth = useEditDepth()\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n let docs = data.docs || []\n\n if (collectionConfig.upload) {\n docs = docs?.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n }\n\n useEffect(() => {\n if (drawerDepth <= 1) {\n setStepNav([\n {\n label: labels?.plural,\n },\n ])\n }\n }, [setStepNav, labels, drawerDepth])\n\n return (\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SetViewActions actions={actionsMap?.List} />\n {BeforeList}\n <SelectionProvider docs={data.docs} totalDocs={data.totalDocs}>\n <Gutter className={`${baseClass}__wrap`}>\n <header className={`${baseClass}__header`}>\n {Header || (\n <Fragment>\n <h1>{getTranslation(labels?.plural, i18n)}</h1>\n {hasCreatePermission && (\n <Pill\n aria-label={i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n to={newDocumentURL}\n >\n {i18n.t('general:createNew')}\n </Pill>\n )}\n {!smallBreak && (\n <ListSelection label={getTranslation(collectionConfig.labels.plural, i18n)} />\n )}\n {Description ? (\n <div className={`${baseClass}__sub-header`}>{Description}</div>\n ) : null}\n </Fragment>\n )}\n </header>\n <ListControls collectionConfig={collectionConfig} fieldMap={fieldMap} />\n {BeforeListTable}\n {!data.docs && (\n <StaggeredShimmers\n className={[`${baseClass}__shimmer`, `${baseClass}__shimmer--rows`].join(' ')}\n count={6}\n />\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <Table\n customCellContext={{\n collectionSlug,\n uploadConfig: collectionConfig.upload,\n }}\n data={docs}\n fieldMap={fieldMap}\n />\n </RelationshipProvider>\n )}\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>{i18n.t('general:noResults', { label: getTranslation(labels?.plural, i18n) })}</p>\n {hasCreatePermission && newDocumentURL && (\n <Button Link={Link} el=\"link\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {AfterListTable}\n {data.docs && data.docs.length > 0 && (\n <div className={`${baseClass}__page-controls`}>\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={handlePageChange}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n {data?.totalDocs > 0 && (\n <Fragment>\n <div className={`${baseClass}__page-info`}>\n {data.page * data.limit - (data.limit - 1)}-\n {data.totalPages > 1 && data.totalPages !== data.page\n ? data.limit * data.page\n : data.totalDocs}{' '}\n {i18n.t('general:of')} {data.totalDocs}\n </div>\n <PerPage\n handleChange={handlePerPageChange}\n limit={\n isNumber(searchParams?.limit) ? Number(searchParams.limit) : defaultLimit\n }\n limits={collectionConfig?.admin?.pagination?.limits}\n resetPage={data.totalDocs <= data.pagingCounter}\n />\n {smallBreak && (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection label={getTranslation(collectionConfig.labels.plural, i18n)} />\n <div className={`${baseClass}__list-selection-actions`}>\n <EditMany collection={collectionConfig} fieldMap={fieldMap} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n <DeleteMany collection={collectionConfig} />\n </div>\n </div>\n )}\n </Fragment>\n )}\n </div>\n )}\n </Gutter>\n </SelectionProvider>\n {AfterList}\n </div>\n )\n}\n"],"names":["getTranslation","Button","DeleteMany","EditMany","Gutter","ListControls","ListSelection","Pagination","PerPage","Pill","PublishMany","RelationshipProvider","SelectionProvider","SetViewActions","StaggeredShimmers","Table","UnpublishMany","useComponentMap","useConfig","useEditDepth","useListInfo","useListQuery","useSearchParams","useStepNav","useTranslation","useWindowInfo","LinkImport","formatFilesize","isNumber","React","Fragment","useEffect","baseClass","Link","default","DefaultListView","Header","collectionSlug","hasCreatePermission","newDocumentURL","data","defaultLimit","handlePageChange","handlePerPageChange","searchParams","config","getComponentMap","componentMap","AfterList","AfterListTable","BeforeList","BeforeListTable","Description","actionsMap","fieldMap","collectionConfig","collections","find","collection","slug","labels","i18n","drawerDepth","setStepNav","breakpoints","s","smallBreak","docs","upload","map","doc","filesize","label","plural","div","className","actions","List","totalDocs","header","h1","aria-label","t","singular","to","join","count","length","customCellContext","uploadConfig","p","el","hasNextPage","hasPrevPage","limit","nextPage","numberOfNeighbors","onChange","page","prevPage","totalPages","handleChange","Number","limits","admin","pagination","resetPage","pagingCounter"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/List/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n DeleteMany,\n EditMany,\n Gutter,\n ListControls,\n ListSelection,\n Pagination,\n PerPage,\n Pill,\n PublishMany,\n RelationshipProvider,\n RenderComponent,\n SelectionProvider,\n SetViewActions,\n StaggeredShimmers,\n Table,\n UnpublishMany,\n ViewDescription,\n useConfig,\n useEditDepth,\n useListInfo,\n useListQuery,\n useSearchParams,\n useStepNav,\n useTranslation,\n useWindowInfo,\n} from '@payloadcms/ui'\nimport LinkImport from 'next/link.js'\nimport { formatFilesize, isNumber } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'collection-list'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DefaultListView: React.FC = () => {\n const { Header, collectionSlug, hasCreatePermission, newDocumentURL } = useListInfo()\n const { data, defaultLimit, handlePageChange, handlePerPageChange } = useListQuery()\n const { searchParams } = useSearchParams()\n\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const {\n admin: {\n components: {\n Description,\n afterList,\n afterListTable,\n beforeList,\n beforeListTable,\n views: {\n list: { actions },\n },\n },\n description,\n },\n fields,\n labels,\n } = collectionConfig\n\n const { i18n } = useTranslation()\n\n const drawerDepth = useEditDepth()\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n let docs = data.docs || []\n\n if (collectionConfig.upload) {\n docs = docs?.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n }\n\n useEffect(() => {\n if (drawerDepth <= 1) {\n setStepNav([\n {\n label: labels?.plural,\n },\n ])\n }\n }, [setStepNav, labels, drawerDepth])\n\n return (\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SetViewActions actions={actions} />\n <RenderComponent mappedComponent={beforeList} />\n <SelectionProvider docs={data.docs} totalDocs={data.totalDocs}>\n <Gutter className={`${baseClass}__wrap`}>\n <header className={`${baseClass}__header`}>\n {Header || (\n <Fragment>\n <h1>{getTranslation(labels?.plural, i18n)}</h1>\n {hasCreatePermission && (\n <Pill\n aria-label={i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n to={newDocumentURL}\n >\n {i18n.t('general:createNew')}\n </Pill>\n )}\n {!smallBreak && (\n <ListSelection label={getTranslation(collectionConfig.labels.plural, i18n)} />\n )}\n {description && (\n <div className={`${baseClass}__sub-header`}>\n <RenderComponent\n Component={ViewDescription}\n clientProps={{ description }}\n mappedComponent={Description}\n />\n </div>\n )}\n </Fragment>\n )}\n </header>\n <ListControls collectionConfig={collectionConfig} fields={fields} />\n <RenderComponent mappedComponent={beforeListTable} />\n {!data.docs && (\n <StaggeredShimmers\n className={[`${baseClass}__shimmer`, `${baseClass}__shimmer--rows`].join(' ')}\n count={6}\n />\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <Table\n customCellContext={{\n collectionSlug,\n uploadConfig: collectionConfig.upload,\n }}\n data={docs}\n fields={fields}\n />\n </RelationshipProvider>\n )}\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>{i18n.t('general:noResults', { label: getTranslation(labels?.plural, i18n) })}</p>\n {hasCreatePermission && newDocumentURL && (\n <Button Link={Link} el=\"link\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n <RenderComponent mappedComponent={afterListTable} />\n {data.docs && data.docs.length > 0 && (\n <div className={`${baseClass}__page-controls`}>\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={handlePageChange}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n {data?.totalDocs > 0 && (\n <Fragment>\n <div className={`${baseClass}__page-info`}>\n {data.page * data.limit - (data.limit - 1)}-\n {data.totalPages > 1 && data.totalPages !== data.page\n ? data.limit * data.page\n : data.totalDocs}{' '}\n {i18n.t('general:of')} {data.totalDocs}\n </div>\n <PerPage\n handleChange={handlePerPageChange}\n limit={\n isNumber(searchParams?.limit) ? Number(searchParams.limit) : defaultLimit\n }\n limits={collectionConfig?.admin?.pagination?.limits}\n resetPage={data.totalDocs <= data.pagingCounter}\n />\n {smallBreak && (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection label={getTranslation(collectionConfig.labels.plural, i18n)} />\n <div className={`${baseClass}__list-selection-actions`}>\n <EditMany collection={collectionConfig} fields={fields} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n <DeleteMany collection={collectionConfig} />\n </div>\n </div>\n )}\n </Fragment>\n )}\n </div>\n )}\n </Gutter>\n </SelectionProvider>\n <RenderComponent mappedComponent={afterList} />\n </div>\n )\n}\n"],"names":["getTranslation","Button","DeleteMany","EditMany","Gutter","ListControls","ListSelection","Pagination","PerPage","Pill","PublishMany","RelationshipProvider","RenderComponent","SelectionProvider","SetViewActions","StaggeredShimmers","Table","UnpublishMany","ViewDescription","useConfig","useEditDepth","useListInfo","useListQuery","useSearchParams","useStepNav","useTranslation","useWindowInfo","LinkImport","formatFilesize","isNumber","React","Fragment","useEffect","baseClass","Link","default","DefaultListView","Header","collectionSlug","hasCreatePermission","newDocumentURL","data","defaultLimit","handlePageChange","handlePerPageChange","searchParams","getEntityConfig","collectionConfig","admin","components","Description","afterList","afterListTable","beforeList","beforeListTable","views","list","actions","description","fields","labels","i18n","drawerDepth","setStepNav","breakpoints","s","smallBreak","docs","upload","map","doc","filesize","label","plural","div","className","mappedComponent","totalDocs","header","h1","aria-label","t","singular","to","Component","clientProps","join","count","length","customCellContext","uploadConfig","p","el","hasNextPage","hasPrevPage","limit","nextPage","numberOfNeighbors","onChange","page","prevPage","totalPages","handleChange","Number","limits","pagination","resetPage","pagingCounter","collection"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,SAAS,CAAA;AAYpD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAkL7C,CAAA"}
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,CA0L7C,CAAA"}
@@ -1,10 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { HydrateAuthProvider, ListInfoProvider, ListQueryProvider, TableColumnsProvider } from '@payloadcms/ui';
3
- import { RenderCustomComponent, formatAdminURL } from '@payloadcms/ui/shared';
3
+ import { RenderComponent, formatAdminURL, getCreateMappedComponent } from '@payloadcms/ui/shared';
4
+ import { createClientCollectionConfig } from '@payloadcms/ui/utilities/createClientConfig';
4
5
  import { notFound } from 'next/navigation.js';
5
- import { createClientCollectionConfig, mergeListSearchAndWhere } from 'payload';
6
- import { isNumber, isReactComponentOrFunction } from 'payload/shared';
6
+ import { deepCopyObjectSimple, mergeListSearchAndWhere } from 'payload';
7
+ import { isNumber } from 'payload/shared';
7
8
  import React, { Fragment } from 'react';
9
+ import { DefaultEditView } from '../Edit/Default/index.js';
8
10
  import { DefaultListView } from './Default/index.js';
9
11
  export { generateListMetadata } from './meta.js';
10
12
  export const ListView = async ({ initPageResult, params, searchParams })=>{
@@ -45,16 +47,9 @@ export const ListView = async ({ initPageResult, params, searchParams })=>{
45
47
  } catch (error) {} // eslint-disable-line no-empty
46
48
  const { routes: { admin: adminRoute } } = config;
47
49
  if (collectionConfig) {
48
- const { admin: { components: { views: { List: CustomList } = {} } = {} } } = collectionConfig;
49
50
  if (!visibleEntities.collections.includes(collectionSlug)) {
50
51
  return notFound();
51
52
  }
52
- let CustomListView = null;
53
- if (CustomList && typeof CustomList === 'function') {
54
- CustomListView = CustomList;
55
- } else if (typeof CustomList === 'object' && isReactComponentOrFunction(CustomList.Component)) {
56
- CustomListView = CustomList.Component;
57
- }
58
53
  const page = isNumber(query?.page) ? Number(query.page) : 0;
59
54
  const whereQuery = mergeListSearchAndWhere({
60
55
  collectionConfig,
@@ -79,20 +74,48 @@ export const ListView = async ({ initPageResult, params, searchParams })=>{
79
74
  user,
80
75
  where: whereQuery || {}
81
76
  });
82
- const viewComponentProps = {
83
- collectionSlug,
84
- listSearchableFields: collectionConfig.admin.listSearchableFields
85
- };
77
+ const createMappedComponent = getCreateMappedComponent({
78
+ importMap: payload.importMap,
79
+ serverProps: {
80
+ collectionConfig,
81
+ collectionSlug,
82
+ data,
83
+ hasCreatePermission: permissions?.collections?.[collectionSlug]?.create?.permission,
84
+ i18n,
85
+ limit,
86
+ listPreferences,
87
+ listSearchableFields: collectionConfig.admin.listSearchableFields,
88
+ locale: fullLocale,
89
+ newDocumentURL: formatAdminURL({
90
+ adminRoute,
91
+ path: `/collections/${collectionSlug}/create`
92
+ }),
93
+ params,
94
+ payload,
95
+ permissions,
96
+ searchParams,
97
+ user
98
+ }
99
+ });
100
+ const ListComponent = createMappedComponent(collectionConfig?.admin?.components?.views?.list?.Component, undefined, DefaultListView, 'collectionConfig?.admin?.components?.views?.list?.Component');
101
+ let clientCollectionConfig = deepCopyObjectSimple(collectionConfig);
102
+ clientCollectionConfig = createClientCollectionConfig({
103
+ DefaultEditView,
104
+ DefaultListView,
105
+ clientCollection: clientCollectionConfig,
106
+ collection: collectionConfig,
107
+ createMappedComponent,
108
+ i18n,
109
+ importMap: payload.importMap,
110
+ payload
111
+ });
86
112
  return /*#__PURE__*/ _jsxs(Fragment, {
87
113
  children: [
88
114
  /*#__PURE__*/ _jsx(HydrateAuthProvider, {
89
115
  permissions: permissions
90
116
  }),
91
117
  /*#__PURE__*/ _jsx(ListInfoProvider, {
92
- collectionConfig: createClientCollectionConfig({
93
- collection: collectionConfig,
94
- t: initPageResult.req.i18n.t
95
- }),
118
+ collectionConfig: clientCollectionConfig,
96
119
  collectionSlug: collectionSlug,
97
120
  hasCreatePermission: permissions?.collections?.[collectionSlug]?.create?.permission,
98
121
  newDocumentURL: formatAdminURL({
@@ -110,28 +133,12 @@ export const ListView = async ({ initPageResult, params, searchParams })=>{
110
133
  enableRowSelections: true,
111
134
  listPreferences: listPreferences,
112
135
  preferenceKey: preferenceKey,
113
- children: /*#__PURE__*/ _jsx(RenderCustomComponent, {
114
- CustomComponent: CustomListView,
115
- DefaultComponent: DefaultListView,
116
- componentProps: viewComponentProps,
117
- serverOnlyProps: {
118
- collectionConfig,
119
- data,
120
- hasCreatePermission: permissions?.collections?.[collectionSlug]?.create?.permission,
121
- i18n,
122
- limit,
123
- listPreferences,
124
- locale: fullLocale,
125
- newDocumentURL: formatAdminURL({
126
- adminRoute,
127
- path: `/collections/${collectionSlug}/create`
128
- }),
129
- params,
130
- payload,
131
- permissions,
132
- searchParams,
133
- user
134
- }
136
+ children: /*#__PURE__*/ _jsx(RenderComponent, {
137
+ clientProps: {
138
+ collectionSlug,
139
+ listSearchableFields: collectionConfig?.admin?.listSearchableFields
140
+ },
141
+ mappedComponent: ListComponent
135
142
  })
136
143
  })
137
144
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type { AdminViewProps, Where } from 'payload'\n\nimport {\n HydrateAuthProvider,\n ListInfoProvider,\n ListQueryProvider,\n TableColumnsProvider,\n} from '@payloadcms/ui'\nimport { RenderCustomComponent, formatAdminURL } from '@payloadcms/ui/shared'\nimport { notFound } from 'next/navigation.js'\nimport { createClientCollectionConfig, mergeListSearchAndWhere } from 'payload'\nimport { isNumber, isReactComponentOrFunction } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { DefaultListViewProps, ListPreferences } from './Default/types.js'\n\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 const {\n admin: { components: { views: { List: CustomList } = {} } = {} },\n } = collectionConfig\n\n if (!visibleEntities.collections.includes(collectionSlug)) {\n return notFound()\n }\n\n let CustomListView = null\n\n if (CustomList && typeof CustomList === 'function') {\n CustomListView = CustomList\n } else if (typeof CustomList === 'object' && isReactComponentOrFunction(CustomList.Component)) {\n CustomListView = CustomList.Component\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 || collectionConfig.defaultSort || undefined\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n limit,\n locale,\n overrideAccess: false,\n page,\n req,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const viewComponentProps: DefaultListViewProps = {\n collectionSlug,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n }\n\n return (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListInfoProvider\n collectionConfig={createClientCollectionConfig({\n collection: collectionConfig,\n t: initPageResult.req.i18n.t,\n })}\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 <RenderCustomComponent\n CustomComponent={CustomListView}\n DefaultComponent={DefaultListView}\n componentProps={viewComponentProps}\n serverOnlyProps={{\n collectionConfig,\n data,\n hasCreatePermission:\n permissions?.collections?.[collectionSlug]?.create?.permission,\n i18n,\n limit,\n listPreferences,\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 </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </Fragment>\n )\n }\n\n return notFound()\n}\n"],"names":["HydrateAuthProvider","ListInfoProvider","ListQueryProvider","TableColumnsProvider","RenderCustomComponent","formatAdminURL","notFound","createClientCollectionConfig","mergeListSearchAndWhere","isNumber","isReactComponentOrFunction","React","Fragment","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","components","views","List","CustomList","includes","CustomListView","Component","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","defaultSort","data","draft","fallbackLocale","overrideAccess","viewComponentProps","listSearchableFields","t","hasCreatePermission","create","newDocumentURL","path","modifySearchParams","enableRowSelections","CustomComponent","DefaultComponent","componentProps","serverOnlyProps"],"mappings":";AAEA,SACEA,mBAAmB,EACnBC,gBAAgB,EAChBC,iBAAiB,EACjBC,oBAAoB,QACf,iBAAgB;AACvB,SAASC,qBAAqB,EAAEC,cAAc,QAAQ,wBAAuB;AAC7E,SAASC,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,4BAA4B,EAAEC,uBAAuB,QAAQ,UAAS;AAC/E,SAASC,QAAQ,EAAEC,0BAA0B,QAAQ,iBAAgB;AACrE,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAIvC,SAASC,eAAe,QAAQ,qBAAoB;AAEpD,SAASC,oBAAoB,QAAQ,YAAW;AAEhD,OAAO,MAAMC,WAAqC,OAAO,EACvDC,cAAc,EACdC,MAAM,EACNC,YAAY,EACb;IACC,MAAM,EACJC,gBAAgB,EAChBC,QAAQC,UAAU,EAClBC,WAAW,EACXC,GAAG,EACHA,KAAK,EACHC,IAAI,EACJJ,MAAM,EACNK,OAAO,EACPA,SAAS,EAAEC,MAAM,EAAE,EACnBC,KAAK,EACLC,IAAI,EACL,EACDC,eAAe,EAChB,GAAGb;IAEJ,MAAMc,iBAAiBX,kBAAkBY;IAEzC,IAAI,CAACT,aAAaU,aAAa,CAACF,eAAe,EAAEG,MAAMC,YAAY;QACjE5B;IACF;IAEA,IAAI6B;IACJ,MAAMC,gBAAgB,CAAC,EAAEN,eAAe,KAAK,CAAC;IAE9C,IAAI;QACFK,kBAAmB,MAAMV,QACtBY,IAAI,CAAC;YACJC,YAAY;YACZC,OAAO;YACPC,OAAO;YACPjB;YACAK;YACAa,OAAO;gBACLC,KAAK;oBACH;wBACEC,KAAK;4BACHC,QAAQR;wBACV;oBACF;oBACA;wBACE,mBAAmB;4BACjBQ,QAAQhB,KAAKU,UAAU;wBACzB;oBACF;oBACA;wBACE,cAAc;4BACZM,QAAQhB,MAAMiB;wBAChB;oBACF;iBACD;YACH;QACF,IACEC,KAAK,CAACC,MAAQA,KAAKC,MAAM,CAAC,EAAE,EAAEC;IACpC,EAAE,OAAOC,OAAO,CAAC,EAAE,+BAA+B;IAElD,MAAM,EACJC,QAAQ,EAAEC,OAAOC,UAAU,EAAE,EAC9B,GAAG3B;IAEJ,IAAIP,kBAAkB;QACpB,MAAM,EACJiC,OAAO,EAAEE,YAAY,EAAEC,OAAO,EAAEC,MAAMC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EACjE,GAAGtC;QAEJ,IAAI,CAACU,gBAAgBG,WAAW,CAAC0B,QAAQ,CAAC5B,iBAAiB;YACzD,OAAOxB;QACT;QAEA,IAAIqD,iBAAiB;QAErB,IAAIF,cAAc,OAAOA,eAAe,YAAY;YAClDE,iBAAiBF;QACnB,OAAO,IAAI,OAAOA,eAAe,YAAY/C,2BAA2B+C,WAAWG,SAAS,GAAG;YAC7FD,iBAAiBF,WAAWG,SAAS;QACvC;QAEA,MAAMC,OAAOpD,SAASkB,OAAOkC,QAAQC,OAAOnC,MAAMkC,IAAI,IAAI;QAC1D,MAAME,aAAavD,wBAAwB;YACzCW;YACAQ,OAAO;gBACLqC,QAAQ,OAAOrC,OAAOqC,WAAW,WAAWrC,MAAMqC,MAAM,GAAGC;gBAC3DxB,OAAO,AAACd,OAAOc,SAAmBwB;YACpC;QACF;QACA,MAAMzB,QAAQ/B,SAASkB,OAAOa,SAC1BsB,OAAOnC,MAAMa,KAAK,IAClBL,iBAAiBK,SAASrB,iBAAiBiC,KAAK,CAACc,UAAU,CAACC,YAAY;QAC5E,MAAMC,OACJzC,OAAOyC,QAAQ,OAAOzC,MAAMyC,IAAI,KAAK,WACjCzC,MAAMyC,IAAI,GACVjC,iBAAiBiC,QAAQjD,iBAAiBkD,WAAW,IAAIJ;QAE/D,MAAMK,OAAO,MAAM7C,QAAQY,IAAI,CAAC;YAC9BC,YAAYR;YACZS,OAAO;YACPgC,OAAO;YACPC,gBAAgB;YAChBhC;YACApB;YACAqD,gBAAgB;YAChBZ;YACAtC;YACA6C;YACAxC;YACAa,OAAOsB,cAAc,CAAC;QACxB;QAEA,MAAMW,qBAA2C;YAC/C5C;YACA6C,sBAAsBxD,iBAAiBiC,KAAK,CAACuB,oBAAoB;QACnE;QAEA,qBACE,MAAC/D;;8BACC,KAACZ;oBAAoBsB,aAAaA;;8BAClC,KAACrB;oBACCkB,kBAAkBZ,6BAA6B;wBAC7C+B,YAAYnB;wBACZyD,GAAG5D,eAAeO,GAAG,CAACC,IAAI,CAACoD,CAAC;oBAC9B;oBACA9C,gBAAgBA;oBAChB+C,qBAAqBvD,aAAaU,aAAa,CAACF,eAAe,EAAEgD,QAAQ5C;oBACzE6C,gBAAgB1E,eAAe;wBAC7BgD;wBACA2B,MAAM,CAAC,aAAa,EAAElD,eAAe,OAAO,CAAC;oBAC/C;8BAEA,cAAA,KAAC5B;wBACCoE,MAAMA;wBACNH,cAAc3B,SAASrB,kBAAkBiC,OAAOc,YAAYC;wBAC5DE,aAAaD;wBACba,kBAAkB;wBAClB7C,eAAeA;kCAEf,cAAA,KAACjC;4BACC2B,gBAAgBA;4BAChBoD,mBAAmB;4BACnB/C,iBAAiBA;4BACjBC,eAAeA;sCAEf,cAAA,KAAChC;gCACC+E,iBAAiBxB;gCACjByB,kBAAkBvE;gCAClBwE,gBAAgBX;gCAChBY,iBAAiB;oCACfnE;oCACAmD;oCACAO,qBACEvD,aAAaU,aAAa,CAACF,eAAe,EAAEgD,QAAQ5C;oCACtDV;oCACAgB;oCACAL;oCACAf,QAAQC;oCACR0D,gBAAgB1E,eAAe;wCAC7BgD;wCACA2B,MAAM,CAAC,aAAa,EAAElD,eAAe,OAAO,CAAC;oCAC/C;oCACAb;oCACAQ;oCACAH;oCACAJ;oCACAU;gCACF;;;;;;;IAOd;IAEA,OAAOtB;AACT,EAAC"}
1
+ {"version":3,"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 { RenderComponent, formatAdminURL, getCreateMappedComponent } 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 || collectionConfig.defaultSort || undefined\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\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 DefaultEditView,\n DefaultListView,\n clientCollection: clientCollectionConfig,\n collection: collectionConfig,\n createMappedComponent,\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"],"names":["HydrateAuthProvider","ListInfoProvider","ListQueryProvider","TableColumnsProvider","RenderComponent","formatAdminURL","getCreateMappedComponent","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","overrideAccess","createMappedComponent","importMap","serverProps","hasCreatePermission","create","listSearchableFields","newDocumentURL","path","ListComponent","components","views","list","Component","clientCollectionConfig","clientCollection","modifySearchParams","enableRowSelections","clientProps","mappedComponent"],"mappings":"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"}