@payloadcms/next 3.0.0-beta.130 → 3.0.0-beta.131

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 (61) hide show
  1. package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -2
  2. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  7. package/dist/elements/DocumentHeader/index.d.ts +2 -2
  8. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  9. package/dist/elements/DocumentHeader/index.js.map +1 -1
  10. package/dist/prod/styles.css +1 -1
  11. package/dist/utilities/initReq.d.ts +2 -2
  12. package/dist/utilities/initReq.d.ts.map +1 -1
  13. package/dist/utilities/initReq.js.map +1 -1
  14. package/dist/views/CreateFirstUser/index.client.d.ts +2 -2
  15. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  16. package/dist/views/CreateFirstUser/index.client.js +1 -1
  17. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  18. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  19. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  20. package/dist/views/Dashboard/Default/index.js +1 -1
  21. package/dist/views/Dashboard/Default/index.js.map +1 -1
  22. package/dist/views/Dashboard/index.d.ts.map +1 -1
  23. package/dist/views/Dashboard/index.js +2 -2
  24. package/dist/views/Dashboard/index.js.map +1 -1
  25. package/dist/views/Document/getDocumentPermissions.d.ts +2 -2
  26. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  27. package/dist/views/Document/getDocumentPermissions.js +8 -3
  28. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  29. package/dist/views/Document/getVersions.d.ts +2 -2
  30. package/dist/views/Document/getVersions.d.ts.map +1 -1
  31. package/dist/views/Document/getVersions.js +1 -1
  32. package/dist/views/Document/getVersions.js.map +1 -1
  33. package/dist/views/Document/getViewsFromConfig.d.ts +2 -2
  34. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  35. package/dist/views/Document/getViewsFromConfig.js +8 -8
  36. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  37. package/dist/views/Document/renderDocumentSlots.d.ts +2 -2
  38. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  39. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  40. package/dist/views/List/index.js +2 -2
  41. package/dist/views/List/index.js.map +1 -1
  42. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -1
  43. package/dist/views/ResetPassword/ResetPasswordForm/index.js +0 -7
  44. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  45. package/dist/views/Version/Default/index.js +1 -1
  46. package/dist/views/Version/Default/index.js.map +1 -1
  47. package/dist/views/Version/Default/types.d.ts +2 -2
  48. package/dist/views/Version/Default/types.d.ts.map +1 -1
  49. package/dist/views/Version/Default/types.js.map +1 -1
  50. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +4 -2
  51. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  52. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  53. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  54. package/dist/views/Version/RenderFieldsToDiff/index.js +3 -3
  55. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  56. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +4 -2
  57. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  58. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  59. package/dist/views/Version/index.d.ts.map +1 -1
  60. package/dist/views/Version/index.js.map +1 -1
  61. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"getViewsFromConfig.js","names":["APIView","DefaultAPIView","EditView","DefaultEditView","LivePreviewView","DefaultLivePreviewView","UnauthorizedView","VersionView","DefaultVersionView","VersionsView","DefaultVersionsView","getCustomViewByKey","getCustomViewByRoute","getViewsFromConfig","collectionConfig","config","docPermissions","globalConfig","overrideDocPermissions","routeSegments","DefaultView","CustomView","ErrorView","viewKey","routes","admin","adminRoute","views","components","livePreviewEnabled","livePreview","collections","includes","slug","globals","collectionEntity","collectionSlug","segment3","segment4","segment5","remainingSegments","read","permission","Error","length","create","ComponentConfig","Component","baseRoute","filter","Boolean","join","currentRoute","CustomViewComponent","customViewKey","hideAPIURL","readVersions","globalEntity","globalSlug"],"sources":["../../../src/views/Document/getViewsFromConfig.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n CollectionPermission,\n GlobalPermission,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ServerSideEditViewProps,\n} from 'payload'\nimport type React from 'react'\n\nimport { APIView as DefaultAPIView } from '../API/index.js'\nimport { EditView as DefaultEditView } from '../Edit/index.js'\nimport { LivePreviewView as DefaultLivePreviewView } from '../LivePreview/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { VersionView as DefaultVersionView } from '../Version/index.js'\nimport { VersionsView as DefaultVersionsView } from '../Versions/index.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nexport type ViewFromConfig<TProps extends object> = {\n Component?: React.FC<TProps>\n ComponentConfig?: PayloadComponent<TProps>\n}\n\nexport const getViewsFromConfig = ({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n overrideDocPermissions,\n routeSegments,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n globalConfig?: SanitizedGlobalConfig\n routeSegments: string[]\n} & (\n | {\n docPermissions: CollectionPermission | GlobalPermission\n overrideDocPermissions?: false | undefined\n }\n | {\n docPermissions?: never\n overrideDocPermissions: true\n }\n)): {\n CustomView: ViewFromConfig<ServerSideEditViewProps>\n DefaultView: ViewFromConfig<ServerSideEditViewProps>\n /**\n * The error view to display if CustomView or DefaultView do not exist (could be either due to not found, or unauthorized). Can be null\n */\n ErrorView: ViewFromConfig<AdminViewProps>\n viewKey: string\n} | null => {\n // Conditionally import and lazy load the default view\n let DefaultView: ViewFromConfig<ServerSideEditViewProps> = null\n let CustomView: ViewFromConfig<ServerSideEditViewProps> = null\n let ErrorView: ViewFromConfig<AdminViewProps> = null\n let viewKey: string\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const views =\n (collectionConfig && collectionConfig?.admin?.components?.views) ||\n (globalConfig && globalConfig?.admin?.components?.views)\n\n const livePreviewEnabled =\n (collectionConfig && collectionConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.collections?.includes(collectionConfig?.slug) ||\n (globalConfig && globalConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.globals?.includes(globalConfig?.slug)\n\n if (collectionConfig) {\n const [collectionEntity, collectionSlug, segment3, segment4, segment5, ...remainingSegments] =\n routeSegments\n\n if (!overrideDocPermissions && !docPermissions?.read?.permission) {\n throw new Error('not-found')\n } else {\n // `../:id`, or `../create`\n switch (routeSegments.length) {\n case 3: {\n switch (segment3) {\n case 'create': {\n if (\n !overrideDocPermissions &&\n 'create' in docPermissions &&\n docPermissions?.create?.permission\n ) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n } else {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'default'),\n }\n\n DefaultView = {\n Component: DefaultEditView,\n }\n }\n\n break\n }\n }\n break\n }\n\n // `../:id/api`, `../:id/preview`, `../:id/versions`, etc\n case 4: {\n switch (segment4) {\n case 'api': {\n if (collectionConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'livePreview'),\n }\n }\n break\n }\n\n case 'versions': {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'versions'),\n }\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n }\n\n break\n }\n }\n break\n }\n\n // `../:id/versions/:version`, etc\n default: {\n if (segment4 === 'versions') {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n collectionEntity,\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n }\n }\n\n break\n }\n }\n }\n }\n\n if (globalConfig) {\n const [globalEntity, globalSlug, segment3, ...remainingSegments] = routeSegments\n\n if (!overrideDocPermissions && !docPermissions?.read?.permission) {\n throw new Error('not-found')\n } else {\n switch (routeSegments.length) {\n case 2: {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n break\n }\n\n case 3: {\n // `../:slug/api`, `../:slug/preview`, `../:slug/versions`, etc\n switch (segment3) {\n case 'api': {\n if (globalConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'livePreview'),\n }\n }\n break\n }\n\n case 'versions': {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'versions'),\n }\n\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n if (!overrideDocPermissions && docPermissions?.read?.permission) {\n const baseRoute = [adminRoute, globalEntity, globalSlug, segment3]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n } else {\n DefaultView = {\n Component: DefaultEditView,\n }\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n }\n break\n }\n\n default: {\n // `../:slug/versions/:version`, etc\n if (segment3 === 'versions') {\n if (!overrideDocPermissions && docPermissions?.readVersions?.permission) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [adminRoute !== '/' && adminRoute, 'globals', globalSlug]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n }\n }\n\n break\n }\n }\n }\n }\n\n return {\n CustomView,\n DefaultView,\n ErrorView,\n viewKey,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getViewsFromConfig.js","names":["APIView","DefaultAPIView","EditView","DefaultEditView","LivePreviewView","DefaultLivePreviewView","UnauthorizedView","VersionView","DefaultVersionView","VersionsView","DefaultVersionsView","getCustomViewByKey","getCustomViewByRoute","getViewsFromConfig","collectionConfig","config","docPermissions","globalConfig","overrideDocPermissions","routeSegments","DefaultView","CustomView","ErrorView","viewKey","routes","admin","adminRoute","views","components","livePreviewEnabled","livePreview","collections","includes","slug","globals","collectionEntity","collectionSlug","segment3","segment4","segment5","remainingSegments","read","Error","length","create","ComponentConfig","Component","baseRoute","filter","Boolean","join","currentRoute","CustomViewComponent","customViewKey","hideAPIURL","readVersions","globalEntity","globalSlug"],"sources":["../../../src/views/Document/getViewsFromConfig.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedCollectionPermission,\n SanitizedConfig,\n SanitizedGlobalConfig,\n SanitizedGlobalPermission,\n ServerSideEditViewProps,\n} from 'payload'\nimport type React from 'react'\n\nimport { APIView as DefaultAPIView } from '../API/index.js'\nimport { EditView as DefaultEditView } from '../Edit/index.js'\nimport { LivePreviewView as DefaultLivePreviewView } from '../LivePreview/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { VersionView as DefaultVersionView } from '../Version/index.js'\nimport { VersionsView as DefaultVersionsView } from '../Versions/index.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nexport type ViewFromConfig<TProps extends object> = {\n Component?: React.FC<TProps>\n ComponentConfig?: PayloadComponent<TProps>\n}\n\nexport const getViewsFromConfig = ({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n overrideDocPermissions,\n routeSegments,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n globalConfig?: SanitizedGlobalConfig\n routeSegments: string[]\n} & (\n | {\n docPermissions: SanitizedCollectionPermission | SanitizedGlobalPermission\n overrideDocPermissions?: false | undefined\n }\n | {\n docPermissions?: never\n overrideDocPermissions: true\n }\n)): {\n CustomView: ViewFromConfig<ServerSideEditViewProps>\n DefaultView: ViewFromConfig<ServerSideEditViewProps>\n /**\n * The error view to display if CustomView or DefaultView do not exist (could be either due to not found, or unauthorized). Can be null\n */\n ErrorView: ViewFromConfig<AdminViewProps>\n viewKey: string\n} | null => {\n // Conditionally import and lazy load the default view\n let DefaultView: ViewFromConfig<ServerSideEditViewProps> = null\n let CustomView: ViewFromConfig<ServerSideEditViewProps> = null\n let ErrorView: ViewFromConfig<AdminViewProps> = null\n let viewKey: string\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const views =\n (collectionConfig && collectionConfig?.admin?.components?.views) ||\n (globalConfig && globalConfig?.admin?.components?.views)\n\n const livePreviewEnabled =\n (collectionConfig && collectionConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.collections?.includes(collectionConfig?.slug) ||\n (globalConfig && globalConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.globals?.includes(globalConfig?.slug)\n\n if (collectionConfig) {\n const [collectionEntity, collectionSlug, segment3, segment4, segment5, ...remainingSegments] =\n routeSegments\n\n if (!overrideDocPermissions && !docPermissions?.read) {\n throw new Error('not-found')\n } else {\n // `../:id`, or `../create`\n switch (routeSegments.length) {\n case 3: {\n switch (segment3) {\n case 'create': {\n if (!overrideDocPermissions && 'create' in docPermissions && docPermissions.create) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n } else {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'default'),\n }\n\n DefaultView = {\n Component: DefaultEditView,\n }\n }\n\n break\n }\n }\n break\n }\n\n // `../:id/api`, `../:id/preview`, `../:id/versions`, etc\n case 4: {\n switch (segment4) {\n case 'api': {\n if (collectionConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'livePreview'),\n }\n }\n break\n }\n\n case 'versions': {\n if (!overrideDocPermissions && docPermissions?.readVersions) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'versions'),\n }\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n }\n\n break\n }\n }\n break\n }\n\n // `../:id/versions/:version`, etc\n default: {\n if (segment4 === 'versions') {\n if (!overrideDocPermissions && docPermissions?.readVersions) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n collectionEntity,\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n }\n }\n\n break\n }\n }\n }\n }\n\n if (globalConfig) {\n const [globalEntity, globalSlug, segment3, ...remainingSegments] = routeSegments\n\n if (!overrideDocPermissions && !docPermissions?.read) {\n throw new Error('not-found')\n } else {\n switch (routeSegments.length) {\n case 2: {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'default'),\n }\n DefaultView = {\n Component: DefaultEditView,\n }\n break\n }\n\n case 3: {\n // `../:slug/api`, `../:slug/preview`, `../:slug/versions`, etc\n switch (segment3) {\n case 'api': {\n if (globalConfig?.admin?.hideAPIURL !== true) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'api'),\n }\n DefaultView = {\n Component: DefaultAPIView,\n }\n }\n break\n }\n\n case 'preview': {\n if (livePreviewEnabled) {\n DefaultView = {\n Component: DefaultLivePreviewView,\n }\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'livePreview'),\n }\n }\n break\n }\n\n case 'versions': {\n if (!overrideDocPermissions && docPermissions?.readVersions) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'versions'),\n }\n\n DefaultView = {\n Component: DefaultVersionsView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n\n default: {\n if (!overrideDocPermissions && docPermissions?.read) {\n const baseRoute = [adminRoute, globalEntity, globalSlug, segment3]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n } else {\n DefaultView = {\n Component: DefaultEditView,\n }\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n break\n }\n }\n break\n }\n\n default: {\n // `../:slug/versions/:version`, etc\n if (segment3 === 'versions') {\n if (!overrideDocPermissions && docPermissions?.readVersions) {\n CustomView = {\n ComponentConfig: getCustomViewByKey(views, 'version'),\n }\n DefaultView = {\n Component: DefaultVersionView,\n }\n } else {\n ErrorView = {\n Component: UnauthorizedView,\n }\n }\n } else {\n const baseRoute = [adminRoute !== '/' && adminRoute, 'globals', globalSlug]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n\n CustomView = {\n ComponentConfig: CustomViewComponent,\n }\n }\n }\n\n break\n }\n }\n }\n }\n\n return {\n CustomView,\n DefaultView,\n ErrorView,\n viewKey,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,9 @@
1
- import type { DefaultServerFunctionArgs, DocumentPermissions, DocumentSlots, PayloadRequest, SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload';
1
+ import type { DefaultServerFunctionArgs, DocumentSlots, PayloadRequest, SanitizedCollectionConfig, SanitizedDocumentPermissions, SanitizedGlobalConfig } from 'payload';
2
2
  export declare const renderDocumentSlots: (args: {
3
3
  collectionConfig?: SanitizedCollectionConfig;
4
4
  globalConfig?: SanitizedGlobalConfig;
5
5
  hasSavePermission: boolean;
6
- permissions: DocumentPermissions;
6
+ permissions: SanitizedDocumentPermissions;
7
7
  req: PayloadRequest;
8
8
  }) => DocumentSlots;
9
9
  export declare const renderDocumentSlotsHandler: (args: {
@@ -1 +1 @@
1
- {"version":3,"file":"renderDocumentSlots.d.ts","sourceRoot":"","sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EAEtB,MAAM,SAAS,CAAA;AAQhB,eAAO,MAAM,mBAAmB,EAAE,CAAC,IAAI,EAAE;IACvC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,WAAW,EAAE,mBAAmB,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,aAwFL,CAAA;AAED,eAAO,MAAM,0BAA0B,SAC/B;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,yBAAyB,2BAsB7D,CAAA"}
1
+ {"version":3,"file":"renderDocumentSlots.d.ts","sourceRoot":"","sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EAEtB,MAAM,SAAS,CAAA;AAQhB,eAAO,MAAM,mBAAmB,EAAE,CAAC,IAAI,EAAE;IACvC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,WAAW,EAAE,4BAA4B,CAAA;IACzC,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,aAwFL,CAAA;AAED,eAAO,MAAM,0BAA0B,SAC/B;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,yBAAyB,2BAsB7D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderDocumentSlots.js","names":["ViewDescription","RenderServerComponent","React","getDocumentPermissions","renderDocumentSlots","args","collectionConfig","globalConfig","hasSavePermission","req","components","unsavedDraftWithValidations","undefined","isPreviewEnabled","admin","preview","CustomPreviewButton","edit","PreviewButton","elements","_jsx","Component","importMap","payload","descriptionFromConfig","description","staticDescription","t","i18n","CustomDescription","Description","hasDescription","clientProps","Fallback","versions","drafts","CustomPublishButton","PublishButton","CustomSaveDraftButton","SaveDraftButton","draftsEnabled","autosave","CustomSaveButton","SaveButton","renderDocumentSlotsHandler","collectionSlug","collections","config","Error","docPermissions","data","permissions"],"sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"sourcesContent":["import type {\n DefaultServerFunctionArgs,\n DocumentPermissions,\n DocumentSlots,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n StaticDescription,\n} from 'payload'\n\nimport { ViewDescription } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport React from 'react'\n\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\n\nexport const renderDocumentSlots: (args: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n hasSavePermission: boolean\n permissions: DocumentPermissions\n req: PayloadRequest\n}) => DocumentSlots = (args) => {\n const { collectionConfig, globalConfig, hasSavePermission, req } = args\n\n const components: DocumentSlots = {} as DocumentSlots\n\n const unsavedDraftWithValidations = undefined\n\n const isPreviewEnabled = collectionConfig?.admin?.preview || globalConfig?.admin?.preview\n\n const CustomPreviewButton =\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.elements?.PreviewButton\n\n if (isPreviewEnabled && CustomPreviewButton) {\n components.PreviewButton = (\n <RenderServerComponent Component={CustomPreviewButton} importMap={req.payload.importMap} />\n )\n }\n\n const descriptionFromConfig =\n collectionConfig?.admin?.description || globalConfig?.admin?.description\n\n const staticDescription: StaticDescription =\n typeof descriptionFromConfig === 'function'\n ? descriptionFromConfig({ t: req.i18n.t })\n : descriptionFromConfig\n\n const CustomDescription =\n collectionConfig?.admin?.components?.Description ||\n globalConfig?.admin?.components?.elements?.Description\n\n const hasDescription = CustomDescription || staticDescription\n\n if (hasDescription) {\n components.Description = (\n <RenderServerComponent\n clientProps={{ description: staticDescription }}\n Component={CustomDescription}\n Fallback={ViewDescription}\n importMap={req.payload.importMap}\n />\n )\n }\n\n if (hasSavePermission) {\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n const CustomPublishButton =\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.elements?.PublishButton\n\n if (CustomPublishButton) {\n components.PublishButton = (\n <RenderServerComponent\n Component={CustomPublishButton}\n importMap={req.payload.importMap}\n />\n )\n }\n const CustomSaveDraftButton =\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.elements?.SaveDraftButton\n\n const draftsEnabled =\n (collectionConfig?.versions?.drafts && !collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && !globalConfig?.versions?.drafts?.autosave)\n\n if ((draftsEnabled || unsavedDraftWithValidations) && CustomSaveDraftButton) {\n components.SaveDraftButton = (\n <RenderServerComponent\n Component={CustomSaveDraftButton}\n importMap={req.payload.importMap}\n />\n )\n }\n } else {\n const CustomSaveButton =\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.elements?.SaveButton\n\n if (CustomSaveButton) {\n components.SaveButton = (\n <RenderServerComponent Component={CustomSaveButton} importMap={req.payload.importMap} />\n )\n }\n }\n }\n\n return components\n}\n\nexport const renderDocumentSlotsHandler = async (\n args: { collectionSlug: string } & DefaultServerFunctionArgs,\n) => {\n const { collectionSlug, req } = args\n\n const collectionConfig = req.payload.collections[collectionSlug]?.config\n\n if (!collectionConfig) {\n throw new Error(req.t('error:incorrectCollection'))\n }\n\n const { docPermissions, hasSavePermission } = await getDocumentPermissions({\n collectionConfig,\n data: {},\n req,\n })\n\n return renderDocumentSlots({\n collectionConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"renderDocumentSlots.js","names":["ViewDescription","RenderServerComponent","React","getDocumentPermissions","renderDocumentSlots","args","collectionConfig","globalConfig","hasSavePermission","req","components","unsavedDraftWithValidations","undefined","isPreviewEnabled","admin","preview","CustomPreviewButton","edit","PreviewButton","elements","_jsx","Component","importMap","payload","descriptionFromConfig","description","staticDescription","t","i18n","CustomDescription","Description","hasDescription","clientProps","Fallback","versions","drafts","CustomPublishButton","PublishButton","CustomSaveDraftButton","SaveDraftButton","draftsEnabled","autosave","CustomSaveButton","SaveButton","renderDocumentSlotsHandler","collectionSlug","collections","config","Error","docPermissions","data","permissions"],"sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"sourcesContent":["import type {\n DefaultServerFunctionArgs,\n DocumentSlots,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n StaticDescription,\n} from 'payload'\n\nimport { ViewDescription } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport React from 'react'\n\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\n\nexport const renderDocumentSlots: (args: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n hasSavePermission: boolean\n permissions: SanitizedDocumentPermissions\n req: PayloadRequest\n}) => DocumentSlots = (args) => {\n const { collectionConfig, globalConfig, hasSavePermission, req } = args\n\n const components: DocumentSlots = {} as DocumentSlots\n\n const unsavedDraftWithValidations = undefined\n\n const isPreviewEnabled = collectionConfig?.admin?.preview || globalConfig?.admin?.preview\n\n const CustomPreviewButton =\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.elements?.PreviewButton\n\n if (isPreviewEnabled && CustomPreviewButton) {\n components.PreviewButton = (\n <RenderServerComponent Component={CustomPreviewButton} importMap={req.payload.importMap} />\n )\n }\n\n const descriptionFromConfig =\n collectionConfig?.admin?.description || globalConfig?.admin?.description\n\n const staticDescription: StaticDescription =\n typeof descriptionFromConfig === 'function'\n ? descriptionFromConfig({ t: req.i18n.t })\n : descriptionFromConfig\n\n const CustomDescription =\n collectionConfig?.admin?.components?.Description ||\n globalConfig?.admin?.components?.elements?.Description\n\n const hasDescription = CustomDescription || staticDescription\n\n if (hasDescription) {\n components.Description = (\n <RenderServerComponent\n clientProps={{ description: staticDescription }}\n Component={CustomDescription}\n Fallback={ViewDescription}\n importMap={req.payload.importMap}\n />\n )\n }\n\n if (hasSavePermission) {\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n const CustomPublishButton =\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.elements?.PublishButton\n\n if (CustomPublishButton) {\n components.PublishButton = (\n <RenderServerComponent\n Component={CustomPublishButton}\n importMap={req.payload.importMap}\n />\n )\n }\n const CustomSaveDraftButton =\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.elements?.SaveDraftButton\n\n const draftsEnabled =\n (collectionConfig?.versions?.drafts && !collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && !globalConfig?.versions?.drafts?.autosave)\n\n if ((draftsEnabled || unsavedDraftWithValidations) && CustomSaveDraftButton) {\n components.SaveDraftButton = (\n <RenderServerComponent\n Component={CustomSaveDraftButton}\n importMap={req.payload.importMap}\n />\n )\n }\n } else {\n const CustomSaveButton =\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.elements?.SaveButton\n\n if (CustomSaveButton) {\n components.SaveButton = (\n <RenderServerComponent Component={CustomSaveButton} importMap={req.payload.importMap} />\n )\n }\n }\n }\n\n return components\n}\n\nexport const renderDocumentSlotsHandler = async (\n args: { collectionSlug: string } & DefaultServerFunctionArgs,\n) => {\n const { collectionSlug, req } = args\n\n const collectionConfig = req.payload.collections[collectionSlug]?.config\n\n if (!collectionConfig) {\n throw new Error(req.t('error:incorrectCollection'))\n }\n\n const { docPermissions, hasSavePermission } = await getDocumentPermissions({\n collectionConfig,\n data: {},\n req,\n })\n\n return renderDocumentSlots({\n collectionConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -46,7 +46,7 @@ export const renderListView = async args => {
46
46
  },
47
47
  visibleEntities
48
48
  } = initPageResult;
49
- if (!permissions?.collections?.[collectionSlug]?.read?.permission) {
49
+ if (!permissions?.collections?.[collectionSlug]?.read) {
50
50
  throw new Error('not-found');
51
51
  }
52
52
  const query = queryFromArgs || queryFromReq;
@@ -143,7 +143,7 @@ export const renderListView = async args => {
143
143
  }) : collectionConfig.admin.description;
144
144
  const sharedClientProps = {
145
145
  collectionSlug,
146
- hasCreatePermission: permissions?.collections?.[collectionSlug]?.create?.permission,
146
+ hasCreatePermission: permissions?.collections?.[collectionSlug]?.create,
147
147
  newDocumentURL: formatAdminURL({
148
148
  adminRoute,
149
149
  path: `/collections/${collectionSlug}/create`
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","renderFilters","renderTable","formatAdminURL","mergeListSearchAndWhere","notFound","isNumber","React","Fragment","renderListViewSlots","generateListMetadata","renderListView","args","clientConfig","customCellProps","disableBulkDelete","disableBulkEdit","drawerSlug","enableRowSelections","initPageResult","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","admin","useAsTitle","defaultSort","fields","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","permission","Error","listPreferences","preferenceKey","find","collection","depth","limit","where","and","key","equals","id","then","res","docs","value","_err","routes","adminRoute","includes","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","baseListFilter","filter","Boolean","data","draft","fallbackLocale","includeLockStatus","overrideAccess","clientCollectionConfig","c","columnState","Table","columnPreferences","columns","renderedFilters","importMap","staticDescription","description","t","sharedClientProps","hasCreatePermission","create","newDocumentURL","path","sharedServerProps","listViewSlots","clientProps","serverProps","isInDrawer","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","listSearchableFields","ListView","RenderedList","error","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n ListComponentClientProps,\n ListComponentServerProps,\n ListPreferences,\n ListViewClientProps,\n} from '@payloadcms/ui'\nimport type { AdminViewProps, ListQuery, Where } from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { renderFilters, renderTable } from '@payloadcms/ui/rsc'\nimport { formatAdminURL, mergeListSearchAndWhere } from '@payloadcms/ui/shared'\nimport { notFound } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { renderListViewSlots } from './renderListViewSlots.js'\n\nexport { generateListMetadata } from './meta.js'\n\ntype ListViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n query: ListQuery\n} & AdminViewProps\n\nexport const renderListView = async (\n args: ListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: {\n slug: collectionSlug,\n admin: { useAsTitle },\n defaultSort,\n fields,\n },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!permissions?.collections?.[collectionSlug]?.read?.permission) {\n throw new Error('not-found')\n }\n\n const query = queryFromArgs || queryFromReq\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n req,\n user,\n where: {\n and: [\n {\n key: {\n equals: preferenceKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user?.id,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (_err) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug)) {\n throw new Error('not-found')\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n\n let whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n })\n\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string'\n ? collectionConfig.defaultSort\n : undefined)\n\n if (typeof collectionConfig.admin?.baseListFilter === 'function') {\n const baseListFilter = await collectionConfig.admin.baseListFilter({\n limit,\n page,\n req,\n sort,\n })\n\n if (baseListFilter) {\n whereQuery = {\n and: [whereQuery, baseListFilter].filter(Boolean),\n }\n }\n }\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit,\n locale,\n overrideAccess: false,\n page,\n req,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: listPreferences?.columns,\n customCellProps,\n docs: data.docs,\n drawerSlug,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const sharedClientProps: ListComponentClientProps = {\n collectionSlug,\n hasCreatePermission: permissions?.collections?.[collectionSlug]?.create?.permission,\n newDocumentURL: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n }),\n }\n\n const sharedServerProps: ListComponentServerProps = {\n collectionConfig,\n i18n,\n limit,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: sharedClientProps,\n collectionConfig,\n description: staticDescription,\n payload,\n serverProps: sharedServerProps,\n })\n\n const clientProps: ListViewClientProps = {\n ...listViewSlots,\n ...sharedClientProps,\n columnState,\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n listPreferences,\n renderedFilters,\n Table,\n }\n\n const isInDrawer = Boolean(drawerSlug)\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n defaultLimit={limit}\n defaultSort={sort}\n modifySearchParams={!isInDrawer}\n preferenceKey={preferenceKey}\n >\n <RenderServerComponent\n clientProps={clientProps}\n Component={collectionConfig?.admin?.components?.views?.list?.Component}\n Fallback={DefaultListView}\n importMap={payload.importMap}\n serverProps={{\n ...sharedServerProps,\n data,\n listPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n }}\n />\n </ListQueryProvider>\n </Fragment>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n\nexport const ListView: React.FC<ListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","renderFilters","renderTable","formatAdminURL","mergeListSearchAndWhere","notFound","isNumber","React","Fragment","renderListViewSlots","generateListMetadata","renderListView","args","clientConfig","customCellProps","disableBulkDelete","disableBulkEdit","drawerSlug","enableRowSelections","initPageResult","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","admin","useAsTitle","defaultSort","fields","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","Error","listPreferences","preferenceKey","find","collection","depth","limit","where","and","key","equals","id","then","res","docs","value","_err","routes","adminRoute","includes","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","baseListFilter","filter","Boolean","data","draft","fallbackLocale","includeLockStatus","overrideAccess","clientCollectionConfig","c","columnState","Table","columnPreferences","columns","renderedFilters","importMap","staticDescription","description","t","sharedClientProps","hasCreatePermission","create","newDocumentURL","path","sharedServerProps","listViewSlots","clientProps","serverProps","isInDrawer","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","listSearchableFields","ListView","RenderedList","error","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n ListComponentClientProps,\n ListComponentServerProps,\n ListPreferences,\n ListViewClientProps,\n} from '@payloadcms/ui'\nimport type { AdminViewProps, ListQuery, Where } from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { renderFilters, renderTable } from '@payloadcms/ui/rsc'\nimport { formatAdminURL, mergeListSearchAndWhere } from '@payloadcms/ui/shared'\nimport { notFound } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { renderListViewSlots } from './renderListViewSlots.js'\n\nexport { generateListMetadata } from './meta.js'\n\ntype ListViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n query: ListQuery\n} & AdminViewProps\n\nexport const renderListView = async (\n args: ListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: {\n slug: collectionSlug,\n admin: { useAsTitle },\n defaultSort,\n fields,\n },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!permissions?.collections?.[collectionSlug]?.read) {\n throw new Error('not-found')\n }\n\n const query = queryFromArgs || queryFromReq\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n req,\n user,\n where: {\n and: [\n {\n key: {\n equals: preferenceKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user?.id,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (_err) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug)) {\n throw new Error('not-found')\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n\n let whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n })\n\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string'\n ? collectionConfig.defaultSort\n : undefined)\n\n if (typeof collectionConfig.admin?.baseListFilter === 'function') {\n const baseListFilter = await collectionConfig.admin.baseListFilter({\n limit,\n page,\n req,\n sort,\n })\n\n if (baseListFilter) {\n whereQuery = {\n and: [whereQuery, baseListFilter].filter(Boolean),\n }\n }\n }\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit,\n locale,\n overrideAccess: false,\n page,\n req,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: listPreferences?.columns,\n customCellProps,\n docs: data.docs,\n drawerSlug,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const sharedClientProps: ListComponentClientProps = {\n collectionSlug,\n hasCreatePermission: permissions?.collections?.[collectionSlug]?.create,\n newDocumentURL: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n }),\n }\n\n const sharedServerProps: ListComponentServerProps = {\n collectionConfig,\n i18n,\n limit,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: sharedClientProps,\n collectionConfig,\n description: staticDescription,\n payload,\n serverProps: sharedServerProps,\n })\n\n const clientProps: ListViewClientProps = {\n ...listViewSlots,\n ...sharedClientProps,\n columnState,\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n listPreferences,\n renderedFilters,\n Table,\n }\n\n const isInDrawer = Boolean(drawerSlug)\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n defaultLimit={limit}\n defaultSort={sort}\n modifySearchParams={!isInDrawer}\n preferenceKey={preferenceKey}\n >\n <RenderServerComponent\n clientProps={clientProps}\n Component={collectionConfig?.admin?.components?.views?.list?.Component}\n Fallback={DefaultListView}\n importMap={payload.importMap}\n serverProps={{\n ...sharedServerProps,\n data,\n listPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n }}\n />\n </ListQueryProvider>\n </Fragment>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n\nexport const ListView: React.FC<ListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/ResetPassword/ResetPasswordForm/index.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAeD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAgE5C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/ResetPassword/ResetPasswordForm/index.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAeD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAqD5C,CAAA"}
@@ -88,13 +88,6 @@ export const ResetPasswordForm = t0 => {
88
88
  path: "password",
89
89
  schemaPath: `${userSlug}.password`
90
90
  }), _jsx(ConfirmPasswordField, {}), _jsx(HiddenField, {
91
- field: {
92
- name: "token",
93
- type: "text",
94
- admin: {
95
- hidden: true
96
- }
97
- },
98
91
  path: "token",
99
92
  schemaPath: `${userSlug}.token`,
100
93
  value: token
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","ConfirmPasswordField","Form","FormSubmit","HiddenField","PasswordField","useAuth","useConfig","useTranslation","formatAdminURL","useRouter","React","initialState","initialValue","valid","value","password","ResetPasswordForm","t0","$","token","i18n","config","t1","admin","t2","routes","t3","serverURL","t4","user","userSlug","login","loginRoute","adminRoute","api","apiRoute","history","fetchFullUser","t5","push","path","onSuccess","t6","t7","_jsxs","action","method","children","className","_jsx","field","name","label","t","required","schemaPath","type","hidden","size"],"sources":["../../../../src/views/ResetPassword/ResetPasswordForm/index.tsx"],"sourcesContent":["'use client'\nimport {\n ConfirmPasswordField,\n Form,\n FormSubmit,\n HiddenField,\n PasswordField,\n useAuth,\n useConfig,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport { type FormState } from 'payload'\nimport React from 'react'\n\ntype Args = {\n readonly token: string\n}\n\nconst initialState: FormState = {\n 'confirm-password': {\n initialValue: '',\n valid: false,\n value: '',\n },\n password: {\n initialValue: '',\n valid: false,\n value: '',\n },\n}\n\nexport const ResetPasswordForm: React.FC<Args> = ({ token }) => {\n const i18n = useTranslation()\n const {\n config: {\n admin: {\n routes: { login: loginRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const history = useRouter()\n const { fetchFullUser } = useAuth()\n\n const onSuccess = React.useCallback(async () => {\n const user = await fetchFullUser()\n if (user) {\n history.push(adminRoute)\n } else {\n history.push(\n formatAdminURL({\n adminRoute,\n path: loginRoute,\n }),\n )\n }\n }, [adminRoute, fetchFullUser, history, loginRoute])\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/reset-password`}\n initialState={initialState}\n method=\"POST\"\n onSuccess={onSuccess}\n >\n <div className=\"inputWrap\">\n <PasswordField\n field={{\n name: 'password',\n label: i18n.t('authentication:newPassword'),\n required: true,\n }}\n path=\"password\"\n schemaPath={`${userSlug}.password`}\n />\n <ConfirmPasswordField />\n <HiddenField\n field={{\n name: 'token',\n type: 'text',\n admin: {\n hidden: true,\n },\n }}\n path=\"token\"\n schemaPath={`${userSlug}.token`}\n value={token}\n />\n </div>\n <FormSubmit size=\"large\">{i18n.t('authentication:resetPassword')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","ConfirmPasswordField","Form","FormSubmit","HiddenField","PasswordField","useAuth","useConfig","useTranslation","formatAdminURL","useRouter","React","initialState","initialValue","valid","value","password","ResetPasswordForm","t0","$","token","i18n","config","t1","admin","t2","routes","t3","serverURL","t4","user","userSlug","login","loginRoute","adminRoute","api","apiRoute","history","fetchFullUser","t5","push","path","onSuccess","t6","t7","_jsxs","action","method","children","className","_jsx","field","name","label","t","required","schemaPath","size"],"sources":["../../../../src/views/ResetPassword/ResetPasswordForm/index.tsx"],"sourcesContent":["'use client'\nimport {\n ConfirmPasswordField,\n Form,\n FormSubmit,\n HiddenField,\n PasswordField,\n useAuth,\n useConfig,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport { type FormState } from 'payload'\nimport React from 'react'\n\ntype Args = {\n readonly token: string\n}\n\nconst initialState: FormState = {\n 'confirm-password': {\n initialValue: '',\n valid: false,\n value: '',\n },\n password: {\n initialValue: '',\n valid: false,\n value: '',\n },\n}\n\nexport const ResetPasswordForm: React.FC<Args> = ({ token }) => {\n const i18n = useTranslation()\n const {\n config: {\n admin: {\n routes: { login: loginRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const history = useRouter()\n const { fetchFullUser } = useAuth()\n\n const onSuccess = React.useCallback(async () => {\n const user = await fetchFullUser()\n if (user) {\n history.push(adminRoute)\n } else {\n history.push(\n formatAdminURL({\n adminRoute,\n path: loginRoute,\n }),\n )\n }\n }, [adminRoute, fetchFullUser, history, loginRoute])\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/reset-password`}\n initialState={initialState}\n method=\"POST\"\n onSuccess={onSuccess}\n >\n <div className=\"inputWrap\">\n <PasswordField\n field={{\n name: 'password',\n label: i18n.t('authentication:newPassword'),\n required: true,\n }}\n path=\"password\"\n schemaPath={`${userSlug}.password`}\n />\n <ConfirmPasswordField />\n <HiddenField path=\"token\" schemaPath={`${userSlug}.token`} value={token} />\n </div>\n <FormSubmit size=\"large\">{i18n.t('authentication:resetPassword')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -107,7 +107,7 @@ export const DefaultVersionView = t0 => {
107
107
  data: currentComparisonDoc
108
108
  } = t7;
109
109
  const comparison = compareValue?.value && currentComparisonDoc?.version;
110
- const canUpdate = docPermissions?.update?.permission;
110
+ const canUpdate = docPermissions?.update;
111
111
  let t8;
112
112
  if ($[9] !== locales) {
113
113
  t8 = locales && locales.map(_temp);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Gutter","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","SetStepNav","baseClass","DefaultVersionView","t0","$","doc","docPermissions","initialComparisonDoc","latestDraftVersion","latestPublishedVersion","localeOptions","versionID","config","getEntityConfig","i18n","id","collectionSlug","globalSlug","t1","collectionConfig","t2","globalConfig","locales","setLocales","compareValue","setCompareValue","admin","t3","localization","routes","t4","serverURL","dateFormat","api","apiRoute","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","compareFetchURL","value","t5","Symbol","for","depth","draft","locale","t6","initialData","initialParams","t7","data","currentComparisonDoc","comparison","version","canUpdate","update","permission","t8","map","_temp","localeValues","draftsEnabled","Boolean","versions","drafts","t9","_jsx","onChange","options","t10","fieldPermissions","fields","createdAt","_jsxs","className","children","t","autosave","label","labels","singular","originalDocID","status","_status","versionDate","baseURL","parentID"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientGlobalConfig, OptionObject } from 'payload'\n\nimport { Gutter, useConfig, useDocumentInfo, usePayloadAPI, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { diffComponents } from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport './index.scss'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n latestDraftVersion,\n latestPublishedVersion,\n localeOptions,\n versionID,\n}) => {\n const { config, getEntityConfig } = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const [collectionConfig] = useState(\n () => getEntityConfig({ collectionSlug }) as ClientCollectionConfig,\n )\n\n const [globalConfig] = useState(() => getEntityConfig({ globalSlug }) as ClientGlobalConfig)\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const versionCreatedAt = doc?.updatedAt\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : ''\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const compareFetchURL = compareValue?.value && `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: 'all' },\n })\n\n const comparison = compareValue?.value && currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update?.permission\n\n const localeValues = locales && locales.map((locale) => locale.value)\n\n const draftsEnabled = Boolean((collectionConfig || globalConfig)?.versions.drafts)\n\n return (\n <main className={baseClass}>\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{versionCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n status={doc?.version?._status}\n versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n draftsEnabled={draftsEnabled}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldPermissions={docPermissions?.fields}\n fields={(collectionConfig || globalConfig)?.fields}\n i18n={i18n}\n locales={localeValues}\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","Gutter","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","SetStepNav","baseClass","DefaultVersionView","t0","$","doc","docPermissions","initialComparisonDoc","latestDraftVersion","latestPublishedVersion","localeOptions","versionID","config","getEntityConfig","i18n","id","collectionSlug","globalSlug","t1","collectionConfig","t2","globalConfig","locales","setLocales","compareValue","setCompareValue","admin","t3","localization","routes","t4","serverURL","dateFormat","api","apiRoute","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","compareFetchURL","value","t5","Symbol","for","depth","draft","locale","t6","initialData","initialParams","t7","data","currentComparisonDoc","comparison","version","canUpdate","update","t8","map","_temp","localeValues","draftsEnabled","Boolean","versions","drafts","t9","_jsx","onChange","options","t10","fieldPermissions","fields","createdAt","_jsxs","className","children","t","autosave","label","labels","singular","originalDocID","status","_status","versionDate","baseURL","parentID"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientGlobalConfig, OptionObject } from 'payload'\n\nimport { Gutter, useConfig, useDocumentInfo, usePayloadAPI, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { diffComponents } from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport './index.scss'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n latestDraftVersion,\n latestPublishedVersion,\n localeOptions,\n versionID,\n}) => {\n const { config, getEntityConfig } = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const [collectionConfig] = useState(\n () => getEntityConfig({ collectionSlug }) as ClientCollectionConfig,\n )\n\n const [globalConfig] = useState(() => getEntityConfig({ globalSlug }) as ClientGlobalConfig)\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const versionCreatedAt = doc?.updatedAt\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : ''\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const compareFetchURL = compareValue?.value && `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: 'all' },\n })\n\n const comparison = compareValue?.value && currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update\n\n const localeValues = locales && locales.map((locale) => locale.value)\n\n const draftsEnabled = Boolean((collectionConfig || globalConfig)?.versions.drafts)\n\n return (\n <main className={baseClass}>\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{versionCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n status={doc?.version?._status}\n versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n draftsEnabled={draftsEnabled}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldPermissions={docPermissions?.fields}\n fields={(collectionConfig || globalConfig)?.fields}\n i18n={i18n}\n locales={localeValues}\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { CollectionPermission, Document, GlobalPermission, OptionObject } from 'payload';
1
+ import type { Document, OptionObject, SanitizedCollectionPermission, SanitizedGlobalPermission } from 'payload';
2
2
  export type CompareOption = {
3
3
  label: React.ReactNode | string;
4
4
  options?: CompareOption[];
@@ -7,7 +7,7 @@ export type CompareOption = {
7
7
  };
8
8
  export type DefaultVersionsViewProps = {
9
9
  readonly doc: Document;
10
- readonly docPermissions: CollectionPermission | GlobalPermission;
10
+ readonly docPermissions: SanitizedCollectionPermission | SanitizedGlobalPermission;
11
11
  readonly initialComparisonDoc: Document;
12
12
  readonly latestDraftVersion?: string;
13
13
  readonly latestPublishedVersion?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE7F,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;IAC/B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,cAAc,EAAE,oBAAoB,GAAG,gBAAgB,CAAA;IAChE,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAA;IACvC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;IAC/B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,cAAc,EAAE,6BAA6B,GAAG,yBAAyB,CAAA;IAClF,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAA;IACvC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Version/Default/types.ts"],"sourcesContent":["import type { CollectionPermission, Document, GlobalPermission, OptionObject } from 'payload'\n\nexport type CompareOption = {\n label: React.ReactNode | string\n options?: CompareOption[]\n relationTo?: string\n value: string\n}\n\nexport type DefaultVersionsViewProps = {\n readonly doc: Document\n readonly docPermissions: CollectionPermission | GlobalPermission\n readonly initialComparisonDoc: Document\n readonly latestDraftVersion?: string\n readonly latestPublishedVersion?: string\n readonly localeOptions: OptionObject[]\n readonly versionID?: string\n}\n"],"mappings":"AASA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Version/Default/types.ts"],"sourcesContent":["import type {\n Document,\n OptionObject,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n} from 'payload'\n\nexport type CompareOption = {\n label: React.ReactNode | string\n options?: CompareOption[]\n relationTo?: string\n value: string\n}\n\nexport type DefaultVersionsViewProps = {\n readonly doc: Document\n readonly docPermissions: SanitizedCollectionPermission | SanitizedGlobalPermission\n readonly initialComparisonDoc: Document\n readonly latestDraftVersion?: string\n readonly latestPublishedVersion?: string\n readonly localeOptions: OptionObject[]\n readonly versionID?: string\n}\n"],"mappings":"AAcA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { I18nClient } from '@payloadcms/translations';
2
- import type { ClientField, FieldPermissions } from 'payload';
2
+ import type { ClientField, SanitizedFieldPermissions } from 'payload';
3
3
  import type React from 'react';
4
4
  import type { DiffMethod } from 'react-diff-viewer-continued';
5
5
  export type DiffComponents = Record<string, React.FC<DiffComponentProps>>;
@@ -14,7 +14,9 @@ export type DiffComponentProps<TField extends ClientField = ClientField> = {
14
14
  readonly isRichText?: boolean;
15
15
  readonly locale?: string;
16
16
  readonly locales?: string[];
17
- readonly permissions?: Record<string, FieldPermissions>;
17
+ readonly permissions?: {
18
+ [key: string]: SanitizedFieldPermissions;
19
+ } | true;
18
20
  readonly version: any;
19
21
  };
20
22
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEzE,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,IAAI;IACzE,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAA;IACxB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACvD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAA;CACtB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AACrE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEzE,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,IAAI;IACzE,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAA;IACxB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EACjB;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAAA;KACzC,GACD,IAAI,CAAA;IACR,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAA;CACtB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientField, FieldPermissions } from 'payload'\nimport type React from 'react'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nexport type DiffComponents = Record<string, React.FC<DiffComponentProps>>\n\nexport type DiffComponentProps<TField extends ClientField = ClientField> = {\n readonly comparison: any\n readonly diffComponents: DiffComponents\n readonly diffMethod?: DiffMethod\n readonly disableGutter?: boolean\n readonly field: TField\n readonly fields: ClientField[]\n readonly i18n: I18nClient\n readonly isRichText?: boolean\n readonly locale?: string\n readonly locales?: string[]\n readonly permissions?: Record<string, FieldPermissions>\n readonly version: any\n}\n"],"mappings":"AAOA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientField, SanitizedFieldPermissions } from 'payload'\nimport type React from 'react'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nexport type DiffComponents = Record<string, React.FC<DiffComponentProps>>\n\nexport type DiffComponentProps<TField extends ClientField = ClientField> = {\n readonly comparison: any\n readonly diffComponents: DiffComponents\n readonly diffMethod?: DiffMethod\n readonly disableGutter?: boolean\n readonly field: TField\n readonly fields: ClientField[]\n readonly i18n: I18nClient\n readonly isRichText?: boolean\n readonly locale?: string\n readonly locales?: string[]\n readonly permissions?:\n | {\n [key: string]: SanitizedFieldPermissions\n }\n | true\n readonly version: any\n}\n"],"mappings":"AAOA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAkB,KAAK,EAAE,MAAM,YAAY,CAAA;AAIvD,OAAO,cAAc,CAAA;AAIrB,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkIvC,CAAA;AAED,eAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAkB,KAAK,EAAE,MAAM,YAAY,CAAA;AAIvD,OAAO,cAAc,CAAA;AAIrB,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoIvC,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -33,9 +33,9 @@ const RenderFieldsToDiff = ({
33
33
  const valueIsObject = field.type === 'code' || field.type === 'json';
34
34
  const versionValue = valueIsObject ? JSON.stringify(version?.[fieldName]) : version?.[fieldName];
35
35
  const comparisonValue = valueIsObject ? JSON.stringify(comparison?.[fieldName]) : comparison?.[fieldName];
36
- const hasPermission = fieldPermissions?.[fieldName]?.read?.permission;
37
- const subFieldPermissions = fieldPermissions?.[fieldName]?.fields;
38
- if (hasPermission === false) {
36
+ const hasPermission = fieldPermissions?.[fieldName] === true || fieldPermissions?.[fieldName]?.read;
37
+ const subFieldPermissions = fieldPermissions?.[fieldName] === true || fieldPermissions?.[fieldName]?.fields;
38
+ if (!hasPermission) {
39
39
  return null;
40
40
  }
41
41
  const baseCellProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fieldAffectsData","React","diffMethods","Nested","baseClass","RenderFieldsToDiff","comparison","diffComponents","__diffComponents","fieldPermissions","fields","i18n","locales","version","_jsx","className","map","field","i","name","Component","type","isRichText","diffMethod","fieldName","valueIsObject","versionValue","JSON","stringify","comparisonValue","hasPermission","read","permission","subFieldPermissions","baseCellProps","localized","locale","index","versionLocaleValue","comparisonLocaleValue","cellProps","join","Tabs","tabs","disableGutter","permissions"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/index.tsx"],"sourcesContent":["'use client'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport { fieldAffectsData } from 'payload/shared'\nimport React from 'react'\n\nimport type { diffComponents as _diffComponents } from './fields/index.js'\nimport type { FieldDiffProps, Props } from './types.js'\n\nimport { diffMethods } from './fields/diffMethods.js'\nimport Nested from './fields/Nested/index.js'\nimport './index.scss'\n\nconst baseClass = 'render-field-diffs'\n\nconst RenderFieldsToDiff: React.FC<Props> = ({\n comparison,\n diffComponents: __diffComponents,\n fieldPermissions,\n fields,\n i18n,\n locales,\n version,\n}) => {\n // typing it as `as typeof _diffComponents` here ensures the TField generics of DiffComponentProps are respected.\n // Without it, you could pass a UI field to the Tabs component, without it erroring\n const diffComponents: typeof _diffComponents = __diffComponents as typeof _diffComponents\n return (\n <div className={baseClass}>\n {fields?.map((field, i) => {\n if ('name' in field && field.name === 'id') {\n return null\n }\n\n const Component = diffComponents[field.type]\n\n const isRichText = field.type === 'richText'\n const diffMethod: DiffMethod = diffMethods[field.type] || 'CHARS'\n\n if (Component) {\n if (fieldAffectsData(field)) {\n const fieldName = field.name\n const valueIsObject = field.type === 'code' || field.type === 'json'\n\n const versionValue = valueIsObject\n ? JSON.stringify(version?.[fieldName])\n : version?.[fieldName]\n\n const comparisonValue = valueIsObject\n ? JSON.stringify(comparison?.[fieldName])\n : comparison?.[fieldName]\n\n const hasPermission = fieldPermissions?.[fieldName]?.read?.permission\n\n const subFieldPermissions = fieldPermissions?.[fieldName]?.fields\n\n if (hasPermission === false) {\n return null\n }\n\n const baseCellProps: FieldDiffProps = {\n comparison: comparisonValue,\n diffComponents,\n diffMethod,\n field,\n fieldPermissions: subFieldPermissions,\n fields: 'fields' in field ? field?.fields : fields,\n i18n,\n isRichText,\n locales,\n version: versionValue,\n }\n\n if (field.localized) {\n return (\n <div className={`${baseClass}__field`} key={i}>\n {locales.map((locale, index) => {\n const versionLocaleValue = versionValue?.[locale]\n const comparisonLocaleValue = comparisonValue?.[locale]\n\n const cellProps = {\n ...baseCellProps,\n comparison: comparisonLocaleValue,\n version: versionLocaleValue,\n }\n\n return (\n <div className={`${baseClass}__locale`} key={[locale, index].join('-')}>\n <div className={`${baseClass}__locale-value`}>\n <Component {...cellProps} locale={locale} />\n </div>\n </div>\n )\n })}\n </div>\n )\n }\n\n return (\n <div className={`${baseClass}__field`} key={i}>\n <Component {...baseCellProps} />\n </div>\n )\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const Tabs = diffComponents.tabs\n\n return (\n <Tabs\n comparison={comparison}\n diffComponents={diffComponents}\n field={field}\n fields={[]}\n i18n={i18n}\n key={i}\n locales={locales}\n version={version}\n />\n )\n }\n\n // At this point, we are dealing with a `row`, etc\n if ('fields' in field) {\n return (\n <Nested\n comparison={comparison}\n diffComponents={diffComponents}\n disableGutter\n field={field}\n fields={field.fields}\n i18n={i18n}\n key={i}\n locales={locales}\n permissions={fieldPermissions}\n version={version}\n />\n )\n }\n }\n\n return null\n })}\n </div>\n )\n}\n\nexport default RenderFieldsToDiff\n"],"mappings":"AAAA;;;AAGA,SAASA,gBAAgB,QAAQ;AACjC,OAAOC,KAAA,MAAW;AAKlB,SAASC,WAAW,QAAQ;AAC5B,OAAOC,MAAA,MAAY;AAGnB,MAAMC,SAAA,GAAY;AAElB,MAAMC,kBAAA,GAAsCA,CAAC;EAC3CC,UAAU;EACVC,cAAA,EAAgBC,gBAAgB;EAChCC,gBAAgB;EAChBC,MAAM;EACNC,IAAI;EACJC,OAAO;EACPC;AAAO,CACR;EACC;EACA;EACA,MAAMN,cAAA,GAAyCC,gBAAA;EAC/C,oBACEM,IAAA,CAAC;IAAIC,SAAA,EAAWX,SAAA;cACbM,MAAA,EAAQM,GAAA,CAAI,CAACC,KAAA,EAAOC,CAAA;MACnB,IAAI,UAAUD,KAAA,IAASA,KAAA,CAAME,IAAI,KAAK,MAAM;QAC1C,OAAO;MACT;MAEA,MAAMC,SAAA,GAAYb,cAAc,CAACU,KAAA,CAAMI,IAAI,CAAC;MAE5C,MAAMC,UAAA,GAAaL,KAAA,CAAMI,IAAI,KAAK;MAClC,MAAME,UAAA,GAAyBrB,WAAW,CAACe,KAAA,CAAMI,IAAI,CAAC,IAAI;MAE1D,IAAID,SAAA,EAAW;QACb,IAAIpB,gBAAA,CAAiBiB,KAAA,GAAQ;UAC3B,MAAMO,SAAA,GAAYP,KAAA,CAAME,IAAI;UAC5B,MAAMM,aAAA,GAAgBR,KAAA,CAAMI,IAAI,KAAK,UAAUJ,KAAA,CAAMI,IAAI,KAAK;UAE9D,MAAMK,YAAA,GAAeD,aAAA,GACjBE,IAAA,CAAKC,SAAS,CAACf,OAAA,GAAUW,SAAA,CAAU,IACnCX,OAAA,GAAUW,SAAA,CAAU;UAExB,MAAMK,eAAA,GAAkBJ,aAAA,GACpBE,IAAA,CAAKC,SAAS,CAACtB,UAAA,GAAakB,SAAA,CAAU,IACtClB,UAAA,GAAakB,SAAA,CAAU;UAE3B,MAAMM,aAAA,GAAgBrB,gBAAA,GAAmBe,SAAA,CAAU,EAAEO,IAAA,EAAMC,UAAA;UAE3D,MAAMC,mBAAA,GAAsBxB,gBAAA,GAAmBe,SAAA,CAAU,EAAEd,MAAA;UAE3D,IAAIoB,aAAA,KAAkB,OAAO;YAC3B,OAAO;UACT;UAEA,MAAMI,aAAA,GAAgC;YACpC5B,UAAA,EAAYuB,eAAA;YACZtB,cAAA;YACAgB,UAAA;YACAN,KAAA;YACAR,gBAAA,EAAkBwB,mBAAA;YAClBvB,MAAA,EAAQ,YAAYO,KAAA,GAAQA,KAAA,EAAOP,MAAA,GAASA,MAAA;YAC5CC,IAAA;YACAW,UAAA;YACAV,OAAA;YACAC,OAAA,EAASa;UACX;UAEA,IAAIT,KAAA,CAAMkB,SAAS,EAAE;YACnB,oBACErB,IAAA,CAAC;cAAIC,SAAA,EAAW,GAAGX,SAAA,SAAkB;wBAClCQ,OAAA,CAAQI,GAAG,CAAC,CAACoB,MAAA,EAAQC,KAAA;gBACpB,MAAMC,kBAAA,GAAqBZ,YAAA,GAAeU,MAAA,CAAO;gBACjD,MAAMG,qBAAA,GAAwBV,eAAA,GAAkBO,MAAA,CAAO;gBAEvD,MAAMI,SAAA,GAAY;kBAChB,GAAGN,aAAa;kBAChB5B,UAAA,EAAYiC,qBAAA;kBACZ1B,OAAA,EAASyB;gBACX;gBAEA,oBACExB,IAAA,CAAC;kBAAIC,SAAA,EAAW,GAAGX,SAAA,UAAmB;4BACpC,aAAAU,IAAA,CAAC;oBAAIC,SAAA,EAAW,GAAGX,SAAA,gBAAyB;8BAC1C,aAAAU,IAAA,CAACM,SAAA;sBAAW,GAAGoB,SAAS;sBAAEJ,MAAA,EAAQA;;;mBAFO,CAACA,MAAA,EAAQC,KAAA,CAAM,CAACI,IAAI,CAAC;cAMtE;eAlB0CvB,CAAA;UAqBhD;UAEA,oBACEJ,IAAA,CAAC;YAAIC,SAAA,EAAW,GAAGX,SAAA,SAAkB;sBACnC,aAAAU,IAAA,CAACM,SAAA;cAAW,GAAGc;;aAD2BhB,CAAA;QAIhD;QAEA,IAAID,KAAA,CAAMI,IAAI,KAAK,UAAU,UAAUJ,KAAA,EAAO;UAC5C,MAAMyB,IAAA,GAAOnC,cAAA,CAAeoC,IAAI;UAEhC,oBACE7B,IAAA,CAAC4B,IAAA;YACCpC,UAAA,EAAYA,UAAA;YACZC,cAAA,EAAgBA,cAAA;YAChBU,KAAA,EAAOA,KAAA;YACPP,MAAA,EAAQ,EAAE;YACVC,IAAA,EAAMA,IAAA;YAENC,OAAA,EAASA,OAAA;YACTC,OAAA,EAASA;aAFJK,CAAA;QAKX;QAEA;QACA,IAAI,YAAYD,KAAA,EAAO;UACrB,oBACEH,IAAA,CAACX,MAAA;YACCG,UAAA,EAAYA,UAAA;YACZC,cAAA,EAAgBA,cAAA;YAChBqC,aAAa;YACb3B,KAAA,EAAOA,KAAA;YACPP,MAAA,EAAQO,KAAA,CAAMP,MAAM;YACpBC,IAAA,EAAMA,IAAA;YAENC,OAAA,EAASA,OAAA;YACTiC,WAAA,EAAapC,gBAAA;YACbI,OAAA,EAASA;aAHJK,CAAA;QAMX;MACF;MAEA,OAAO;IACT;;AAGN;AAEA,eAAeb,kBAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["fieldAffectsData","React","diffMethods","Nested","baseClass","RenderFieldsToDiff","comparison","diffComponents","__diffComponents","fieldPermissions","fields","i18n","locales","version","_jsx","className","map","field","i","name","Component","type","isRichText","diffMethod","fieldName","valueIsObject","versionValue","JSON","stringify","comparisonValue","hasPermission","read","subFieldPermissions","baseCellProps","localized","locale","index","versionLocaleValue","comparisonLocaleValue","cellProps","join","Tabs","tabs","disableGutter","permissions"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/index.tsx"],"sourcesContent":["'use client'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport { fieldAffectsData } from 'payload/shared'\nimport React from 'react'\n\nimport type { diffComponents as _diffComponents } from './fields/index.js'\nimport type { FieldDiffProps, Props } from './types.js'\n\nimport { diffMethods } from './fields/diffMethods.js'\nimport Nested from './fields/Nested/index.js'\nimport './index.scss'\n\nconst baseClass = 'render-field-diffs'\n\nconst RenderFieldsToDiff: React.FC<Props> = ({\n comparison,\n diffComponents: __diffComponents,\n fieldPermissions,\n fields,\n i18n,\n locales,\n version,\n}) => {\n // typing it as `as typeof _diffComponents` here ensures the TField generics of DiffComponentProps are respected.\n // Without it, you could pass a UI field to the Tabs component, without it erroring\n const diffComponents: typeof _diffComponents = __diffComponents as typeof _diffComponents\n return (\n <div className={baseClass}>\n {fields?.map((field, i) => {\n if ('name' in field && field.name === 'id') {\n return null\n }\n\n const Component = diffComponents[field.type]\n\n const isRichText = field.type === 'richText'\n const diffMethod: DiffMethod = diffMethods[field.type] || 'CHARS'\n\n if (Component) {\n if (fieldAffectsData(field)) {\n const fieldName = field.name\n const valueIsObject = field.type === 'code' || field.type === 'json'\n\n const versionValue = valueIsObject\n ? JSON.stringify(version?.[fieldName])\n : version?.[fieldName]\n\n const comparisonValue = valueIsObject\n ? JSON.stringify(comparison?.[fieldName])\n : comparison?.[fieldName]\n\n const hasPermission =\n fieldPermissions?.[fieldName] === true || fieldPermissions?.[fieldName]?.read\n\n const subFieldPermissions =\n fieldPermissions?.[fieldName] === true || fieldPermissions?.[fieldName]?.fields\n\n if (!hasPermission) {\n return null\n }\n\n const baseCellProps: FieldDiffProps = {\n comparison: comparisonValue,\n diffComponents,\n diffMethod,\n field,\n fieldPermissions: subFieldPermissions,\n fields: 'fields' in field ? field?.fields : fields,\n i18n,\n isRichText,\n locales,\n version: versionValue,\n }\n\n if (field.localized) {\n return (\n <div className={`${baseClass}__field`} key={i}>\n {locales.map((locale, index) => {\n const versionLocaleValue = versionValue?.[locale]\n const comparisonLocaleValue = comparisonValue?.[locale]\n\n const cellProps = {\n ...baseCellProps,\n comparison: comparisonLocaleValue,\n version: versionLocaleValue,\n }\n\n return (\n <div className={`${baseClass}__locale`} key={[locale, index].join('-')}>\n <div className={`${baseClass}__locale-value`}>\n <Component {...cellProps} locale={locale} />\n </div>\n </div>\n )\n })}\n </div>\n )\n }\n\n return (\n <div className={`${baseClass}__field`} key={i}>\n <Component {...baseCellProps} />\n </div>\n )\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const Tabs = diffComponents.tabs\n\n return (\n <Tabs\n comparison={comparison}\n diffComponents={diffComponents}\n field={field}\n fields={[]}\n i18n={i18n}\n key={i}\n locales={locales}\n version={version}\n />\n )\n }\n\n // At this point, we are dealing with a `row`, etc\n if ('fields' in field) {\n return (\n <Nested\n comparison={comparison}\n diffComponents={diffComponents}\n disableGutter\n field={field}\n fields={field.fields}\n i18n={i18n}\n key={i}\n locales={locales}\n permissions={fieldPermissions}\n version={version}\n />\n )\n }\n }\n\n return null\n })}\n </div>\n )\n}\n\nexport default RenderFieldsToDiff\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,13 @@
1
1
  import type { I18nClient } from '@payloadcms/translations';
2
- import type { ClientField, FieldPermissions } from 'payload';
2
+ import type { ClientField, SanitizedFieldPermissions } from 'payload';
3
3
  import type { DiffMethod } from 'react-diff-viewer-continued';
4
4
  import type { DiffComponents } from './fields/types.js';
5
5
  export type Props = {
6
6
  readonly comparison: Record<string, any>;
7
7
  readonly diffComponents: DiffComponents;
8
- readonly fieldPermissions: Record<string, FieldPermissions>;
8
+ readonly fieldPermissions: {
9
+ [key: string]: SanitizedFieldPermissions;
10
+ } | true;
9
11
  readonly fields: ClientField[];
10
12
  readonly i18n: I18nClient;
11
13
  readonly locales: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACxC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC3D,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,WAAW,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;CACpB,GAAG,KAAK,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACxC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,gBAAgB,EACrB;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAAA;KACzC,GACD,IAAI,CAAA;IACR,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,WAAW,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;CACpB,GAAG,KAAK,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Version/RenderFieldsToDiff/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientField, FieldPermissions } from 'payload'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport type { DiffComponents } from './fields/types.js'\n\nexport type Props = {\n readonly comparison: Record<string, any>\n readonly diffComponents: DiffComponents\n readonly fieldPermissions: Record<string, FieldPermissions>\n readonly fields: ClientField[]\n readonly i18n: I18nClient\n readonly locales: string[]\n readonly version: Record<string, any>\n}\n\nexport type FieldDiffProps = {\n diffMethod: DiffMethod\n field: ClientField\n isRichText: boolean\n} & Props\n"],"mappings":"AAgBA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Version/RenderFieldsToDiff/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientField, SanitizedFieldPermissions } from 'payload'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport type { DiffComponents } from './fields/types.js'\n\nexport type Props = {\n readonly comparison: Record<string, any>\n readonly diffComponents: DiffComponents\n readonly fieldPermissions:\n | {\n [key: string]: SanitizedFieldPermissions\n }\n | true\n readonly fields: ClientField[]\n readonly i18n: I18nClient\n readonly locales: string[]\n readonly version: Record<string, any>\n}\n\nexport type FieldDiffProps = {\n diffMethod: DiffMethod\n field: ClientField\n isRichText: boolean\n} & Props\n"],"mappings":"AAoBA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EAGjB,2BAA2B,EAC5B,MAAM,SAAS,CAAA;AAShB,eAAO,MAAM,WAAW,EAAE,2BAA2B,CAAC,iBAAiB,CA6ItE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EAEjB,2BAA2B,EAG5B,MAAM,SAAS,CAAA;AAShB,eAAO,MAAM,WAAW,EAAE,2BAA2B,CAAC,iBAAiB,CA6ItE,CAAA"}