@payloadcms/next 3.18.0-canary.df484f6 → 3.18.0

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 (59) hide show
  1. package/dist/elements/Nav/index.d.ts.map +1 -1
  2. package/dist/elements/Nav/index.js +14 -0
  3. package/dist/elements/Nav/index.js.map +1 -1
  4. package/dist/prod/styles.css +1 -1
  5. package/dist/routes/graphql/handler.js +1 -1
  6. package/dist/routes/graphql/handler.js.map +1 -1
  7. package/dist/templates/Default/index.d.ts +4 -3
  8. package/dist/templates/Default/index.d.ts.map +1 -1
  9. package/dist/templates/Default/index.js +15 -15
  10. package/dist/templates/Default/index.js.map +1 -1
  11. package/dist/utilities/initPage/handleAdminPage.js +1 -1
  12. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  13. package/dist/views/API/index.client.d.ts.map +1 -1
  14. package/dist/views/API/index.client.js.map +1 -1
  15. package/dist/views/Account/index.js +1 -1
  16. package/dist/views/Account/index.js.map +1 -1
  17. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  18. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  19. package/dist/views/CreateFirstUser/index.js +3 -3
  20. package/dist/views/CreateFirstUser/index.js.map +1 -1
  21. package/dist/views/Document/handleServerFunction.js +4 -2
  22. package/dist/views/Document/handleServerFunction.js.map +1 -1
  23. package/dist/views/Document/index.d.ts +1 -1
  24. package/dist/views/Document/index.d.ts.map +1 -1
  25. package/dist/views/Document/index.js +6 -2
  26. package/dist/views/Document/index.js.map +1 -1
  27. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +7 -4
  28. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  29. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  30. package/dist/views/List/handleServerFunction.js +3 -2
  31. package/dist/views/List/handleServerFunction.js.map +1 -1
  32. package/dist/views/List/index.d.ts.map +1 -1
  33. package/dist/views/List/index.js +0 -1
  34. package/dist/views/List/index.js.map +1 -1
  35. package/dist/views/LivePreview/index.client.js.map +1 -1
  36. package/dist/views/Login/LoginForm/index.js +7 -4
  37. package/dist/views/Login/LoginForm/index.js.map +1 -1
  38. package/dist/views/Login/index.js +1 -3
  39. package/dist/views/Login/index.js.map +1 -1
  40. package/dist/views/Root/attachViewActions.d.ts +11 -0
  41. package/dist/views/Root/attachViewActions.d.ts.map +1 -0
  42. package/dist/views/Root/attachViewActions.js +29 -0
  43. package/dist/views/Root/attachViewActions.js.map +1 -0
  44. package/dist/views/Root/getDocumentViewInfo.d.ts +6 -0
  45. package/dist/views/Root/getDocumentViewInfo.d.ts.map +1 -0
  46. package/dist/views/Root/getDocumentViewInfo.js +33 -0
  47. package/dist/views/Root/getDocumentViewInfo.js.map +1 -0
  48. package/dist/views/Root/getViewFromConfig.d.ts +3 -7
  49. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  50. package/dist/views/Root/getViewFromConfig.js +29 -96
  51. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  52. package/dist/views/Root/index.d.ts.map +1 -1
  53. package/dist/views/Root/index.js +8 -3
  54. package/dist/views/Root/index.js.map +1 -1
  55. package/dist/views/Version/Default/index.d.ts.map +1 -1
  56. package/dist/views/Version/Default/index.js.map +1 -1
  57. package/dist/views/Version/Restore/index.js +5 -3
  58. package/dist/views/Version/Restore/index.js.map +1 -1
  59. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["RenderServerComponent","formatAdminURL","getClientConfig","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","initPageOptions","serverProps","templateClassName","templateType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","RenderedView","clientProps","Fallback","docID","_jsxs","_jsx","className","collectionSlug","globalSlug","globalConfig","locale","permissions","viewActions","viewType","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, SanitizedConfig } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const { DefaultView, initPageOptions, serverProps, templateClassName, templateType } =\n getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const RenderedView = RenderServerComponent({\n clientProps: { clientConfig },\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n docID: initPageResult?.docID,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n },\n })\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={initPageResult?.collectionConfig?.slug}\n docID={initPageResult?.docID}\n globalSlug={initPageResult?.globalConfig?.slug}\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n viewActions={serverProps.viewActions}\n viewType={serverProps.viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["RenderServerComponent","formatAdminURL","getClientConfig","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","documentSubViewType","initPageOptions","serverProps","templateClassName","templateType","viewType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","RenderedView","clientProps","Fallback","docID","_jsxs","_jsx","className","collectionSlug","globalSlug","globalConfig","locale","permissions","viewActions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, SanitizedConfig } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const {\n DefaultView,\n documentSubViewType,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const RenderedView = RenderServerComponent({\n clientProps: { clientConfig, documentSubViewType, viewType },\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n docID: initPageResult?.docID,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n },\n })\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={initPageResult?.collectionConfig?.slug}\n docID={initPageResult?.docID}\n documentSubViewType={documentSubViewType}\n globalSlug={initPageResult?.globalConfig?.slug}\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n viewActions={serverProps.viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAOzE,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA6HjE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAOzE,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA2HjE,CAAA"}
@@ -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","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
+ {"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 { 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(() => getEntityConfig({ collectionSlug }))\n\n const [globalConfig] = useState(() => getEntityConfig({ globalSlug }))\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":[]}
@@ -21,15 +21,17 @@ const Restore = ({
21
21
  }) => {
22
22
  const {
23
23
  config: {
24
- collections,
25
24
  routes: {
26
25
  admin: adminRoute,
27
26
  api: apiRoute
28
27
  },
29
28
  serverURL
30
- }
29
+ },
30
+ getEntityConfig
31
31
  } = useConfig();
32
- const collectionConfig = collections.find(collection => collection.slug === collectionSlug);
32
+ const collectionConfig = getEntityConfig({
33
+ collectionSlug
34
+ });
33
35
  const {
34
36
  toggleModal
35
37
  } = useModal();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","Button","Modal","PopupList","useConfig","useModal","useTranslation","formatAdminURL","requests","useRouter","React","Fragment","useCallback","useState","toast","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","status","versionDate","versionID","config","collections","routes","admin","adminRoute","api","apiRoute","serverURL","collectionConfig","find","collection","slug","toggleModal","processing","setProcessing","router","i18n","t","draft","setDraft","restoreMessage","fetchURL","redirectURL","canRestoreAsDraft","versions","drafts","path","handleRestore","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","undefined","type"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n ChevronIcon,\n Modal,\n Pill,\n Popup,\n PopupList,\n useConfig,\n useModal,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL, requests } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n status,\n versionDate,\n versionID,\n}) => {\n const {\n config: {\n collections,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const collectionConfig = collections.find((collection) => collection.slug === collectionSlug)\n\n const { toggleModal } = useModal()\n const [processing, setProcessing] = useState(false)\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${apiRoute}`\n let redirectURL: string\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${originalDocID}`,\n })\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n }\n\n const handleRestore = useCallback(async () => {\n setProcessing(true)\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n router.push(redirectURL)\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router])\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"pill\"\n className={[canRestoreAsDraft && `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n size=\"small\"\n SubMenuPopupContent={() =>\n canRestoreAsDraft && (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n >\n {t('version:restoreThisVersion')}\n </Button>\n </div>\n <Modal className={`${baseClass}__modal`} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmVersionRestoration')}</h1>\n <p>{restoreMessage}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button onClick={processing ? undefined : () => void handleRestore()}>\n {processing ? t('version:restoring') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </Fragment>\n )\n}\n\nexport default Restore\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","Button","Modal","PopupList","useConfig","useModal","useTranslation","formatAdminURL","requests","useRouter","React","Fragment","useCallback","useState","toast","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","status","versionDate","versionID","config","routes","admin","adminRoute","api","apiRoute","serverURL","getEntityConfig","collectionConfig","toggleModal","processing","setProcessing","router","i18n","t","draft","setDraft","restoreMessage","fetchURL","redirectURL","canRestoreAsDraft","versions","drafts","path","handleRestore","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","slug","undefined","type"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n ChevronIcon,\n Modal,\n Pill,\n Popup,\n PopupList,\n useConfig,\n useModal,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL, requests } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n status,\n versionDate,\n versionID,\n}) => {\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { toggleModal } = useModal()\n const [processing, setProcessing] = useState(false)\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${apiRoute}`\n let redirectURL: string\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${originalDocID}`,\n })\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n }\n\n const handleRestore = useCallback(async () => {\n setProcessing(true)\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n router.push(redirectURL)\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router])\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"pill\"\n className={[canRestoreAsDraft && `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n size=\"small\"\n SubMenuPopupContent={() =>\n canRestoreAsDraft && (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n >\n {t('version:restoreThisVersion')}\n </Button>\n </div>\n <Modal className={`${baseClass}__modal`} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmVersionRestoration')}</h1>\n <p>{restoreMessage}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button onClick={processing ? undefined : () => void handleRestore()}>\n {processing ? t('version:restoring') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </Fragment>\n )\n}\n\nexport default Restore\n"],"mappings":"AAAA;;;AACA,SAASA,cAAc,QAAQ;AAC/B,SACEC,MAAM,EAENC,KAAK,EAGLC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACRC,cAAc,QACT;AACP,SAASC,cAAc,EAAEC,QAAQ,QAAQ;AACzC,SAASC,SAAS,QAAQ;AAC1B,OAAOC,KAAA,IAASC,QAAQ,EAAEC,WAAW,EAAEC,QAAQ,QAAQ;AACvD,SAASC,KAAK,QAAQ;AAMtB,MAAMC,SAAA,GAAY;AAClB,MAAMC,SAAA,GAAY;AAElB,MAAMC,OAAA,GAA2BA,CAAC;EAChCC,SAAS;EACTC,cAAc;EACdC,UAAU;EACVC,KAAK;EACLC,aAAa;EACbC,MAAM;EACNC,WAAW;EACXC;AAAS,CACV;EACC,MAAM;IACJC,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,UAAU;QAAEC,GAAA,EAAKC;MAAQ,CAAE;MAC5CC;IAAS,CACV;IACDC;EAAe,CAChB,GAAG7B,SAAA;EAEJ,MAAM8B,gBAAA,GAAmBD,eAAA,CAAgB;IAAEd;EAAe;EAE1D,MAAM;IAAEgB;EAAW,CAAE,GAAG9B,QAAA;EACxB,MAAM,CAAC+B,UAAA,EAAYC,aAAA,CAAc,GAAGxB,QAAA,CAAS;EAC7C,MAAMyB,MAAA,GAAS7B,SAAA;EACf,MAAM;IAAE8B,IAAI;IAAEC;EAAC,CAAE,GAAGlC,cAAA;EACpB,MAAM,CAACmC,KAAA,EAAOC,QAAA,CAAS,GAAG7B,QAAA,CAAS;EAEnC,MAAM8B,cAAA,GAAiBH,CAAA,CAAE,gCAAgC;IACvDnB,KAAA,EAAOrB,cAAA,CAAeqB,KAAA,EAAOkB,IAAA;IAC7Bf;EACF;EAEA,IAAIoB,QAAA,GAAW,GAAGZ,SAAA,GAAYD,QAAA,EAAU;EACxC,IAAIc,WAAA;EAEJ,MAAMC,iBAAA,GAAoBvB,MAAA,KAAW,WAAWW,gBAAA,EAAkBa,QAAA,EAAUC,MAAA;EAE5E,IAAI7B,cAAA,EAAgB;IAClByB,QAAA,GAAW,GAAGA,QAAA,IAAYzB,cAAA,aAA2BM,SAAA,UAAmBgB,KAAA,EAAO;IAC/EI,WAAA,GAActC,cAAA,CAAe;MAC3BsB,UAAA;MACAoB,IAAA,EAAM,gBAAgB9B,cAAA,IAAkBG,aAAA;IAC1C;EACF;EAEA,IAAIF,UAAA,EAAY;IACdwB,QAAA,GAAW,GAAGA,QAAA,YAAoBxB,UAAA,aAAuBK,SAAA,UAAmBgB,KAAA,EAAO;IACnFI,WAAA,GAActC,cAAA,CAAe;MAC3BsB,UAAA;MACAoB,IAAA,EAAM,YAAY7B,UAAA;IACpB;EACF;EAEA,MAAM8B,aAAA,GAAgBtC,WAAA,CAAY;IAChCyB,aAAA,CAAc;IAEd,MAAMc,GAAA,GAAM,MAAM3C,QAAA,CAAS4C,IAAI,CAACR,QAAA,EAAU;MACxCS,OAAA,EAAS;QACP,mBAAmBd,IAAA,CAAKe;MAC1B;IACF;IAEA,IAAIH,GAAA,CAAI5B,MAAM,KAAK,KAAK;MACtB,MAAMgC,IAAA,GAAO,MAAMJ,GAAA,CAAII,IAAI;MAC3BzC,KAAA,CAAM0C,OAAO,CAACD,IAAA,CAAKE,OAAO;MAC1BnB,MAAA,CAAOoB,IAAI,CAACb,WAAA;IACd,OAAO;MACL/B,KAAA,CAAM6C,KAAK,CAACnB,CAAA,CAAE;IAChB;EACF,GAAG,CAACI,QAAA,EAAUC,WAAA,EAAaL,CAAA,EAAGD,IAAA,EAAMD,MAAA,CAAO;EAC3C,oBACEsB,KAAA,CAACjD,QAAA;4BACCkD,IAAA,CAAC;MAAI3C,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAAC4C,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;gBAC1D,aAAAH,IAAA,CAAC5D,MAAA;QACCgE,WAAA,EAAY;QACZ/C,SAAA,EAAW,CAAC4B,iBAAA,IAAqB,GAAG/B,SAAA,UAAmB,CAAC,CAAC+C,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;QAC9EE,OAAA,EAASA,CAAA,KAAM/B,WAAA,CAAYnB,SAAA;QAC3BmD,IAAA,EAAK;QACLC,mBAAA,EAAqBA,CAAA,KACnBtB,iBAAA,iBACEe,IAAA,CAAC1D,SAAA,CAAUkE,WAAW;oBACpB,aAAAR,IAAA,CAAC1D,SAAA,CAAUF,MAAM;YAACiE,OAAA,EAASA,CAAA,KAAM,CAACxB,QAAA,CAAS,OAAOP,WAAA,CAAYnB,SAAA,EAAW;sBACtEwB,CAAA,CAAE;;;kBAMVA,CAAA,CAAE;;qBAGPqB,IAAA,CAAC3D,KAAA;MAAMgB,SAAA,EAAW,GAAGH,SAAA,SAAkB;MAAEuD,IAAA,EAAMtD,SAAA;gBAC7C,aAAA4C,KAAA,CAAC;QAAI1C,SAAA,EAAW,GAAGH,SAAA,WAAoB;gCACrC6C,KAAA,CAAC;UAAI1C,SAAA,EAAW,GAAGH,SAAA,WAAoB;kCACrC8C,IAAA,CAAC;sBAAIrB,CAAA,CAAE;2BACPqB,IAAA,CAAC;sBAAGlB;;yBAENiB,KAAA,CAAC;UAAI1C,SAAA,EAAW,GAAGH,SAAA,YAAqB;kCACtC8C,IAAA,CAAC5D,MAAA;YACCgE,WAAA,EAAY;YACZC,OAAA,EAAS9B,UAAA,GAAamC,SAAA,GAAY,MAAMpC,WAAA,CAAYnB,SAAA;YACpDmD,IAAA,EAAK;YACLK,IAAA,EAAK;sBAEJhC,CAAA,CAAE;2BAELqB,IAAA,CAAC5D,MAAA;YAAOiE,OAAA,EAAS9B,UAAA,GAAamC,SAAA,GAAY,MAAM,KAAKrB,aAAA;sBAClDd,UAAA,GAAaI,CAAA,CAAE,uBAAuBA,CAAA,CAAE;;;;;;AAOvD;AAEA,eAAevB,OAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.18.0-canary.df484f6",
3
+ "version": "3.18.0",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -72,16 +72,16 @@
72
72
  "file-type": "19.3.0",
73
73
  "graphql-http": "^1.22.0",
74
74
  "graphql-playground-html": "1.6.30",
75
- "http-status": "1.6.2",
76
- "path-to-regexp": "^6.2.1",
75
+ "http-status": "2.1.0",
76
+ "path-to-regexp": "6.3.0",
77
77
  "qs-esm": "7.0.2",
78
78
  "react-diff-viewer-continued": "3.2.6",
79
79
  "sass": "1.77.4",
80
80
  "sonner": "^1.7.0",
81
81
  "uuid": "10.0.0",
82
- "@payloadcms/graphql": "3.18.0-canary.df484f6",
83
- "@payloadcms/ui": "3.18.0-canary.df484f6",
84
- "@payloadcms/translations": "3.18.0-canary.df484f6"
82
+ "@payloadcms/graphql": "3.18.0",
83
+ "@payloadcms/ui": "3.18.0",
84
+ "@payloadcms/translations": "3.18.0"
85
85
  },
86
86
  "devDependencies": {
87
87
  "@babel/cli": "7.25.9",
@@ -89,7 +89,7 @@
89
89
  "@babel/preset-env": "7.26.0",
90
90
  "@babel/preset-react": "7.25.9",
91
91
  "@babel/preset-typescript": "7.26.0",
92
- "@next/eslint-plugin-next": "15.0.4",
92
+ "@next/eslint-plugin-next": "15.1.5",
93
93
  "@types/busboy": "1.5.4",
94
94
  "@types/react": "19.0.1",
95
95
  "@types/react-dom": "19.0.1",
@@ -99,13 +99,13 @@
99
99
  "esbuild-sass-plugin": "3.3.1",
100
100
  "eslint-plugin-react-compiler": "19.0.0-beta-df7b47d-20241124",
101
101
  "swc-plugin-transform-remove-imports": "2.0.0",
102
- "@payloadcms/eslint-config": "3.9.0",
103
- "payload": "3.18.0-canary.df484f6"
102
+ "payload": "3.18.0",
103
+ "@payloadcms/eslint-config": "3.9.0"
104
104
  },
105
105
  "peerDependencies": {
106
106
  "graphql": "^16.8.1",
107
107
  "next": "^15.0.0",
108
- "payload": "3.18.0-canary.df484f6"
108
+ "payload": "3.18.0"
109
109
  },
110
110
  "engines": {
111
111
  "node": "^18.20.2 || >=20.9.0"