@payloadcms/next 3.0.0-beta.65 → 3.0.0-beta.67

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 (47) hide show
  1. package/dist/prod/styles.css +1 -1
  2. package/dist/routes/rest/auth/unlock.d.ts.map +1 -1
  3. package/dist/routes/rest/auth/unlock.js +7 -3
  4. package/dist/routes/rest/auth/unlock.js.map +1 -1
  5. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  6. package/dist/utilities/createPayloadRequest.js +10 -7
  7. package/dist/utilities/createPayloadRequest.js.map +1 -1
  8. package/dist/utilities/getNextRequestI18n.d.ts +3 -3
  9. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  10. package/dist/utilities/getNextRequestI18n.js +3 -1
  11. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  12. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  13. package/dist/utilities/getPayloadHMR.js +5 -4
  14. package/dist/utilities/getPayloadHMR.js.map +1 -0
  15. package/dist/utilities/getRequestLocales.js.map +1 -0
  16. package/dist/utilities/meta.js.map +1 -0
  17. package/dist/views/Account/index.d.ts.map +1 -1
  18. package/dist/views/Account/index.js +14 -23
  19. package/dist/views/Account/index.js.map +1 -1
  20. package/dist/views/Document/index.d.ts.map +1 -1
  21. package/dist/views/Document/index.js +18 -30
  22. package/dist/views/Document/index.js.map +1 -1
  23. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  24. package/dist/views/Edit/Default/Auth/index.js +2 -2
  25. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  26. package/dist/views/Edit/Default/Auth/types.d.ts +1 -1
  27. package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
  28. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  29. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  30. package/dist/views/Edit/Default/index.js +7 -12
  31. package/dist/views/Edit/Default/index.js.map +1 -1
  32. package/dist/views/Login/LoginField/index.d.ts +6 -0
  33. package/dist/views/Login/LoginField/index.d.ts.map +1 -0
  34. package/dist/views/Login/LoginField/index.js +101 -0
  35. package/dist/views/Login/LoginField/index.js.map +1 -0
  36. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  37. package/dist/views/Login/LoginForm/index.js +14 -41
  38. package/dist/views/Login/LoginForm/index.js.map +1 -1
  39. package/dist/views/NotFound/meta.d.ts +2 -2
  40. package/dist/views/NotFound/meta.d.ts.map +1 -1
  41. package/dist/views/NotFound/meta.js.map +1 -1
  42. package/dist/views/Root/index.d.ts +2 -2
  43. package/dist/views/Root/index.d.ts.map +1 -1
  44. package/dist/views/Root/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/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, VerifyConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug: SanitizedCollectionConfig['slug']\n disableLocalStrategy?: boolean\n email: string\n loginWithUsername: boolean\n operation: 'create' | 'update'\n readOnly: boolean\n requirePassword?: boolean\n useAPIKey?: boolean\n verify?: VerifyConfig | boolean\n}\n"],"names":[],"mappings":"AAEA,WAWC"}
1
+ {"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, VerifyConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug: SanitizedCollectionConfig['slug']\n disableLocalStrategy?: boolean\n email: string\n loginWithUsername: SanitizedCollectionConfig['auth']['loginWithUsername']\n operation: 'create' | 'update'\n readOnly: boolean\n requirePassword?: boolean\n useAPIKey?: boolean\n verify?: VerifyConfig | boolean\n}\n"],"names":[],"mappings":"AAEA,WAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Default/index.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAMpD,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAyOnC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Default/index.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAMpD,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAoOnC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { DocumentControls, DocumentFields, Form, OperationProvider, Upload, useAuth, useComponentMap, useConfig, useDocumentEvents, useDocumentInfo, useEditDepth, useFormQueryParams } from '@payloadcms/ui';
3
+ import { DocumentControls, DocumentFields, Form, OperationProvider, Upload, useAuth, useComponentMap, useConfig, useDocumentEvents, useDocumentInfo, useEditDepth, useUploadEdits } from '@payloadcms/ui';
4
4
  import { getFormState } from '@payloadcms/ui/shared';
5
5
  import { useRouter, useSearchParams } from 'next/navigation.js';
6
6
  import React, { Fragment, useCallback } from 'react';
@@ -17,13 +17,13 @@ export const DefaultEditView = ()=>{
17
17
  const { refreshCookieAsync, user } = useAuth();
18
18
  const config = useConfig();
19
19
  const router = useRouter();
20
- const { dispatchFormQueryParams } = useFormQueryParams();
21
20
  const { getComponentMap, getFieldMap } = useComponentMap();
22
- const params = useSearchParams();
23
21
  const depth = useEditDepth();
22
+ const params = useSearchParams();
24
23
  const { reportUpdate } = useDocumentEvents();
25
- const { admin: { user: userSlug }, collections, globals, routes: { admin: adminRoute, api: apiRoute }, serverURL } = config;
24
+ const { resetUploadEdits } = useUploadEdits();
26
25
  const locale = params.get('locale');
26
+ const { admin: { user: userSlug }, collections, globals, routes: { admin: adminRoute, api: apiRoute }, serverURL } = config;
27
27
  const collectionConfig = collectionSlug && collections.find((collection)=>collection.slug === collectionSlug);
28
28
  const globalConfig = globalSlug && globals.find((global)=>global.slug === globalSlug);
29
29
  const entitySlug = collectionConfig?.slug || globalConfig?.slug;
@@ -66,12 +66,7 @@ export const DefaultEditView = ()=>{
66
66
  const redirectRoute = `${adminRoute}/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`;
67
67
  router.push(redirectRoute);
68
68
  } else {
69
- dispatchFormQueryParams({
70
- type: 'SET',
71
- params: {
72
- uploadEdits: null
73
- }
74
- });
69
+ resetUploadEdits();
75
70
  }
76
71
  }, [
77
72
  onSaveFromContext,
@@ -86,9 +81,9 @@ export const DefaultEditView = ()=>{
86
81
  isEditing,
87
82
  refreshCookieAsync,
88
83
  adminRoute,
89
- locale,
90
84
  router,
91
- dispatchFormQueryParams
85
+ locale,
86
+ resetUploadEdits
92
87
  ]);
93
88
  const onChange = useCallback(async ({ formState: prevFormState })=>{
94
89
  const docPreferences = await getDocPreferences();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n type FormProps,\n OperationProvider,\n Upload,\n useAuth,\n useComponentMap,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useEditDepth,\n useFormQueryParams,\n} from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC = () => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n isInitializing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const config = useConfig()\n const router = useRouter()\n const { dispatchFormQueryParams } = useFormQueryParams()\n const { getComponentMap, getFieldMap } = useComponentMap()\n const params = useSearchParams()\n const depth = useEditDepth()\n const { reportUpdate } = useDocumentEvents()\n\n const {\n admin: { user: userSlug },\n collections,\n globals,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const locale = params.get('locale')\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const componentMap = getComponentMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const preventLeaveWithoutSaving =\n (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n !disableLeaveWithoutSaving\n\n const classes = [baseClass, id && `${baseClass}--is-editing`].filter(Boolean).join(' ')\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n void getVersions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = `${adminRoute}/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`\n router.push(redirectRoute)\n } else {\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n uploadEdits: null,\n },\n })\n }\n },\n [\n onSaveFromContext,\n userSlug,\n reportUpdate,\n id,\n entitySlug,\n user,\n depth,\n collectionSlug,\n getVersions,\n isEditing,\n refreshCookieAsync,\n adminRoute,\n locale,\n router,\n dispatchFormQueryParams,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath: entitySlug,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, entitySlug, collectionSlug, globalSlug, getDocPreferences],\n )\n\n return (\n <main className={classes}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit\n disabled={isInitializing || !hasSavePermission}\n initialState={!isInitializing && initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {BeforeDocument}\n {preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={data}\n disableActions={disableActions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n useAPIKey={auth.useAPIKey}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {componentMap.Upload !== undefined ? (\n componentMap.Upload\n ) : (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n docPermissions={docPermissions}\n fieldMap={fieldMap}\n readOnly={!hasSavePermission}\n schemaPath={entitySlug}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","Form","OperationProvider","Upload","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useFormQueryParams","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","getVersions","globalSlug","hasPublishPermission","hasSavePermission","initialData","data","initialState","isEditing","isInitializing","onSave","onSaveFromContext","refreshCookieAsync","user","config","router","dispatchFormQueryParams","getComponentMap","getFieldMap","params","depth","reportUpdate","admin","userSlug","collections","globals","routes","adminRoute","api","apiRoute","serverURL","locale","get","collectionConfig","find","collection","slug","globalConfig","global","entitySlug","componentMap","fieldMap","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","filter","Boolean","join","json","updatedAt","result","Date","toISOString","redirectRoute","doc","push","type","uploadEdits","onChange","formState","prevFormState","docPreferences","body","schemaPath","main","className","disableValidationOnSubmit","disabled","method","onSuccess","pluralLabel","labels","plural","useAsTitle","fallback","toString","permissions","disableLocalStrategy","email","loginWithUsername","readOnly","requirePassword","useAPIKey","verify","uploadConfig"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n type FormProps,\n OperationProvider,\n Upload,\n useAuth,\n useComponentMap,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useEditDepth,\n useUploadEdits,\n} from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC = () => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n isInitializing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const config = useConfig()\n const router = useRouter()\n const { getComponentMap, getFieldMap } = useComponentMap()\n const depth = useEditDepth()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n\n const locale = params.get('locale')\n\n const {\n admin: { user: userSlug },\n collections,\n globals,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const componentMap = getComponentMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const preventLeaveWithoutSaving =\n (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n !disableLeaveWithoutSaving\n\n const classes = [baseClass, id && `${baseClass}--is-editing`].filter(Boolean).join(' ')\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n void getVersions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = `${adminRoute}/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`\n router.push(redirectRoute)\n } else {\n resetUploadEdits()\n }\n },\n [\n onSaveFromContext,\n userSlug,\n reportUpdate,\n id,\n entitySlug,\n user,\n depth,\n collectionSlug,\n getVersions,\n isEditing,\n refreshCookieAsync,\n adminRoute,\n router,\n locale,\n resetUploadEdits,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath: entitySlug,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, entitySlug, collectionSlug, globalSlug, getDocPreferences],\n )\n\n return (\n <main className={classes}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit\n disabled={isInitializing || !hasSavePermission}\n initialState={!isInitializing && initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {BeforeDocument}\n {preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={data}\n disableActions={disableActions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n useAPIKey={auth.useAPIKey}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {componentMap.Upload !== undefined ? (\n componentMap.Upload\n ) : (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n docPermissions={docPermissions}\n fieldMap={fieldMap}\n readOnly={!hasSavePermission}\n schemaPath={entitySlug}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","Form","OperationProvider","Upload","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useUploadEdits","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPreferences","getVersions","globalSlug","hasPublishPermission","hasSavePermission","initialData","data","initialState","isEditing","isInitializing","onSave","onSaveFromContext","refreshCookieAsync","user","config","router","getComponentMap","getFieldMap","depth","params","reportUpdate","resetUploadEdits","locale","get","admin","userSlug","collections","globals","routes","adminRoute","api","apiRoute","serverURL","collectionConfig","find","collection","slug","globalConfig","global","entitySlug","componentMap","fieldMap","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","filter","Boolean","join","json","updatedAt","result","Date","toISOString","redirectRoute","doc","push","onChange","formState","prevFormState","docPreferences","body","schemaPath","main","className","disableValidationOnSubmit","disabled","method","onSuccess","pluralLabel","labels","plural","useAsTitle","fallback","toString","permissions","disableLocalStrategy","email","loginWithUsername","readOnly","requirePassword","useAPIKey","verify","uploadConfig"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export type LoginFieldProps = {
3
+ type: 'email' | 'emailOrUsername' | 'username';
4
+ };
5
+ export declare const LoginField: React.FC<LoginFieldProps>;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Login/LoginField/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,OAAO,GAAG,iBAAiB,GAAG,UAAU,CAAA;CAC/C,CAAA;AACD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmGhD,CAAA"}
@@ -0,0 +1,101 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { EmailField, TextField, useConfig, useTranslation } from '@payloadcms/ui';
4
+ import { email, username } from 'payload/shared';
5
+ import React from 'react';
6
+ export const LoginField = ({ type })=>{
7
+ const { t } = useTranslation();
8
+ const config = useConfig();
9
+ if (type === 'email') {
10
+ return /*#__PURE__*/ _jsx(EmailField, {
11
+ autoComplete: "email",
12
+ label: t('general:email'),
13
+ name: "email",
14
+ required: true,
15
+ validate: (value)=>email(value, {
16
+ name: 'email',
17
+ type: 'email',
18
+ data: {},
19
+ preferences: {
20
+ fields: {}
21
+ },
22
+ req: {
23
+ t
24
+ },
25
+ required: true,
26
+ siblingData: {}
27
+ })
28
+ });
29
+ }
30
+ if (type === 'username') {
31
+ return /*#__PURE__*/ _jsx(TextField, {
32
+ label: t('authentication:username'),
33
+ name: "username",
34
+ required: true,
35
+ validate: (value)=>username(value, {
36
+ name: 'username',
37
+ type: 'text',
38
+ data: {},
39
+ preferences: {
40
+ fields: {}
41
+ },
42
+ req: {
43
+ payload: {
44
+ config
45
+ },
46
+ t
47
+ },
48
+ required: true,
49
+ siblingData: {}
50
+ })
51
+ });
52
+ }
53
+ if (type === 'emailOrUsername') {
54
+ return /*#__PURE__*/ _jsx(TextField, {
55
+ label: t('authentication:emailOrUsername'),
56
+ name: "username",
57
+ required: true,
58
+ validate: (value)=>{
59
+ const passesUsername = username(value, {
60
+ name: 'username',
61
+ type: 'text',
62
+ data: {},
63
+ preferences: {
64
+ fields: {}
65
+ },
66
+ req: {
67
+ payload: {
68
+ config
69
+ },
70
+ t
71
+ },
72
+ required: true,
73
+ siblingData: {}
74
+ });
75
+ const passesEmail = email(value, {
76
+ name: 'username',
77
+ type: 'email',
78
+ data: {},
79
+ preferences: {
80
+ fields: {}
81
+ },
82
+ req: {
83
+ payload: {
84
+ config
85
+ },
86
+ t
87
+ },
88
+ required: true,
89
+ siblingData: {}
90
+ });
91
+ if (!passesEmail && !passesUsername) {
92
+ return `${t('general:email')}: ${passesEmail} ${t('general:username')}: ${passesUsername}`;
93
+ }
94
+ return true;
95
+ }
96
+ });
97
+ }
98
+ return null;
99
+ };
100
+
101
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/views/Login/LoginField/index.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest } from 'payload'\n\nimport { EmailField, TextField, useConfig, useTranslation } from '@payloadcms/ui'\nimport { email, username } from 'payload/shared'\nimport React from 'react'\nexport type LoginFieldProps = {\n type: 'email' | 'emailOrUsername' | 'username'\n}\nexport const LoginField: React.FC<LoginFieldProps> = ({ type }) => {\n const { t } = useTranslation()\n const config = useConfig()\n\n if (type === 'email') {\n return (\n <EmailField\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n required\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n data: {},\n preferences: { fields: {} },\n req: { t } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )\n }\n\n if (type === 'username') {\n return (\n <TextField\n label={t('authentication:username')}\n name=\"username\"\n required\n validate={(value) =>\n username(value, {\n name: 'username',\n type: 'text',\n data: {},\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )\n }\n\n if (type === 'emailOrUsername') {\n return (\n <TextField\n label={t('authentication:emailOrUsername')}\n name=\"username\"\n required\n validate={(value) => {\n const passesUsername = username(value, {\n name: 'username',\n type: 'text',\n data: {},\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n const passesEmail = email(value, {\n name: 'username',\n type: 'email',\n data: {},\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n\n if (!passesEmail && !passesUsername) {\n return `${t('general:email')}: ${passesEmail} ${t('general:username')}: ${passesUsername}`\n }\n\n return true\n }}\n />\n )\n }\n\n return null\n}\n"],"names":["EmailField","TextField","useConfig","useTranslation","email","username","React","LoginField","type","t","config","autoComplete","label","name","required","validate","value","data","preferences","fields","req","siblingData","payload","passesUsername","passesEmail"],"mappings":"AAAA;;AAGA,SAASA,UAAU,EAAEC,SAAS,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AACjF,SAASC,KAAK,EAAEC,QAAQ,QAAQ,iBAAgB;AAChD,OAAOC,WAAW,QAAO;AAIzB,OAAO,MAAMC,aAAwC,CAAC,EAAEC,IAAI,EAAE;IAC5D,MAAM,EAAEC,CAAC,EAAE,GAAGN;IACd,MAAMO,SAASR;IAEf,IAAIM,SAAS,SAAS;QACpB,qBACE,KAACR;YACCW,cAAa;YACbC,OAAOH,EAAE;YACTI,MAAK;YACLC,QAAQ;YACRC,UAAU,CAACC,QACTZ,MAAMY,OAAO;oBACXH,MAAM;oBACNL,MAAM;oBACNS,MAAM,CAAC;oBACPC,aAAa;wBAAEC,QAAQ,CAAC;oBAAE;oBAC1BC,KAAK;wBAAEX;oBAAE;oBACTK,UAAU;oBACVO,aAAa,CAAC;gBAChB;;IAIR;IAEA,IAAIb,SAAS,YAAY;QACvB,qBACE,KAACP;YACCW,OAAOH,EAAE;YACTI,MAAK;YACLC,QAAQ;YACRC,UAAU,CAACC,QACTX,SAASW,OAAO;oBACdH,MAAM;oBACNL,MAAM;oBACNS,MAAM,CAAC;oBACPC,aAAa;wBAAEC,QAAQ,CAAC;oBAAE;oBAC1BC,KAAK;wBACHE,SAAS;4BACPZ;wBACF;wBACAD;oBACF;oBACAK,UAAU;oBACVO,aAAa,CAAC;gBAChB;;IAIR;IAEA,IAAIb,SAAS,mBAAmB;QAC9B,qBACE,KAACP;YACCW,OAAOH,EAAE;YACTI,MAAK;YACLC,QAAQ;YACRC,UAAU,CAACC;gBACT,MAAMO,iBAAiBlB,SAASW,OAAO;oBACrCH,MAAM;oBACNL,MAAM;oBACNS,MAAM,CAAC;oBACPC,aAAa;wBAAEC,QAAQ,CAAC;oBAAE;oBAC1BC,KAAK;wBACHE,SAAS;4BACPZ;wBACF;wBACAD;oBACF;oBACAK,UAAU;oBACVO,aAAa,CAAC;gBAChB;gBACA,MAAMG,cAAcpB,MAAMY,OAAO;oBAC/BH,MAAM;oBACNL,MAAM;oBACNS,MAAM,CAAC;oBACPC,aAAa;wBAAEC,QAAQ,CAAC;oBAAE;oBAC1BC,KAAK;wBACHE,SAAS;4BACPZ;wBACF;wBACAD;oBACF;oBACAK,UAAU;oBACVO,aAAa,CAAC;gBAChB;gBAEA,IAAI,CAACG,eAAe,CAACD,gBAAgB;oBACnC,OAAO,CAAC,EAAEd,EAAE,iBAAiB,EAAE,EAAEe,YAAY,CAAC,EAAEf,EAAE,oBAAoB,EAAE,EAAEc,eAAe,CAAC;gBAC5F;gBAEA,OAAO;YACT;;IAGN;IAEA,OAAO;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Login/LoginForm/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAkBzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAwHA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Login/LoginForm/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CA0FA,CAAA"}
@@ -4,13 +4,22 @@ import LinkImport from 'next/link.js';
4
4
  import React from 'react';
5
5
  const baseClass = 'login__form';
6
6
  const Link = LinkImport.default || LinkImport;
7
- import { EmailField, Form, FormSubmit, PasswordField, TextField, useConfig, useTranslation } from '@payloadcms/ui';
8
- import { email, password, text } from 'payload/shared';
7
+ import { Form, FormSubmit, PasswordField, useConfig, useTranslation } from '@payloadcms/ui';
8
+ import { password } from 'payload/shared';
9
+ import { LoginField } from '../LoginField/index.js';
9
10
  export const LoginForm = ({ searchParams })=>{
10
11
  const config = useConfig();
11
12
  const { admin: { autoLogin, routes: { forgot: forgotRoute }, user: userSlug }, routes: { admin, api } } = config;
12
13
  const collectionConfig = config.collections?.find((collection)=>collection?.slug === userSlug);
13
- const loginWithUsername = collectionConfig?.auth?.loginWithUsername;
14
+ const { auth: authOptions } = collectionConfig;
15
+ const loginWithUsername = authOptions.loginWithUsername;
16
+ const canLoginWithEmail = !authOptions.loginWithUsername || authOptions.loginWithUsername.allowEmailLogin;
17
+ const canLoginWithUsername = authOptions.loginWithUsername;
18
+ const [loginType] = React.useState(()=>{
19
+ if (canLoginWithEmail && canLoginWithUsername) return 'emailOrUsername';
20
+ if (canLoginWithUsername) return 'username';
21
+ return 'email';
22
+ });
14
23
  const { t } = useTranslation();
15
24
  const prefillForm = autoLogin && autoLogin.prefillOnly;
16
25
  const initialState = {
@@ -45,44 +54,8 @@ export const LoginForm = ({ searchParams })=>{
45
54
  /*#__PURE__*/ _jsxs("div", {
46
55
  className: `${baseClass}__inputWrap`,
47
56
  children: [
48
- loginWithUsername ? /*#__PURE__*/ _jsx(TextField, {
49
- label: t('authentication:username'),
50
- name: "username",
51
- required: true,
52
- validate: (value)=>text(value, {
53
- name: 'username',
54
- type: 'text',
55
- data: {},
56
- preferences: {
57
- fields: {}
58
- },
59
- req: {
60
- payload: {
61
- config
62
- },
63
- t
64
- },
65
- required: true,
66
- siblingData: {}
67
- })
68
- }) : /*#__PURE__*/ _jsx(EmailField, {
69
- autoComplete: "email",
70
- label: t('general:email'),
71
- name: "email",
72
- required: true,
73
- validate: (value)=>email(value, {
74
- name: 'email',
75
- type: 'email',
76
- data: {},
77
- preferences: {
78
- fields: {}
79
- },
80
- req: {
81
- t
82
- },
83
- required: true,
84
- siblingData: {}
85
- })
57
+ /*#__PURE__*/ _jsx(LoginField, {
58
+ type: loginType
86
59
  }),
87
60
  /*#__PURE__*/ _jsx(PasswordField, {
88
61
  autoComplete: "off",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Login/LoginForm/index.tsx"],"sourcesContent":["'use client'\n\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nconst baseClass = 'login__form'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nimport type { FormState, PayloadRequest } from 'payload'\n\nimport {\n EmailField,\n Form,\n FormSubmit,\n PasswordField,\n TextField,\n useConfig,\n useTranslation,\n} from '@payloadcms/ui'\nimport { email, password, text } from 'payload/shared'\n\nimport './index.scss'\n\nexport const LoginForm: React.FC<{\n searchParams: { [key: string]: string | string[] | undefined }\n}> = ({ searchParams }) => {\n const config = useConfig()\n\n const {\n admin: {\n autoLogin,\n routes: { forgot: forgotRoute },\n user: userSlug,\n },\n routes: { admin, api },\n } = config\n\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const loginWithUsername = collectionConfig?.auth?.loginWithUsername\n\n const { t } = useTranslation()\n\n const prefillForm = autoLogin && autoLogin.prefillOnly\n\n const initialState: FormState = {\n password: {\n initialValue: prefillForm ? autoLogin.password : undefined,\n valid: true,\n value: prefillForm ? autoLogin.password : undefined,\n },\n }\n\n if (loginWithUsername) {\n initialState.username = {\n initialValue: prefillForm ? autoLogin.username : undefined,\n valid: true,\n value: prefillForm ? autoLogin.username : undefined,\n }\n } else {\n initialState.email = {\n initialValue: prefillForm ? autoLogin.email : undefined,\n valid: true,\n value: prefillForm ? autoLogin.email : undefined,\n }\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/login`}\n className={baseClass}\n disableSuccessStatus\n initialState={initialState}\n method=\"POST\"\n redirect={typeof searchParams?.redirect === 'string' ? searchParams.redirect : admin}\n waitForAutocomplete\n >\n <div className={`${baseClass}__inputWrap`}>\n {loginWithUsername ? (\n <TextField\n label={t('authentication:username')}\n name=\"username\"\n required\n validate={(value) =>\n text(value, {\n name: 'username',\n type: 'text',\n data: {},\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n ) : (\n <EmailField\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n required\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n data: {},\n preferences: { fields: {} },\n req: { t } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )}\n <PasswordField\n autoComplete=\"off\"\n label={t('general:password')}\n name=\"password\"\n required\n validate={(value) =>\n password(value, {\n name: 'password',\n type: 'text',\n data: {},\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n </div>\n <Link href={`${admin}${forgotRoute}`}>{t('authentication:forgotPasswordQuestion')}</Link>\n <FormSubmit>{t('authentication:login')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["LinkImport","React","baseClass","Link","default","EmailField","Form","FormSubmit","PasswordField","TextField","useConfig","useTranslation","email","password","text","LoginForm","searchParams","config","admin","autoLogin","routes","forgot","forgotRoute","user","userSlug","api","collectionConfig","collections","find","collection","slug","loginWithUsername","auth","t","prefillForm","prefillOnly","initialState","initialValue","undefined","valid","value","username","action","className","disableSuccessStatus","method","redirect","waitForAutocomplete","div","label","name","required","validate","type","data","preferences","fields","req","payload","siblingData","autoComplete","href"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/Login/LoginForm/index.tsx"],"sourcesContent":["'use client'\n\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nconst baseClass = 'login__form'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nimport type { FormState, PayloadRequest } from 'payload'\n\nimport { Form, FormSubmit, PasswordField, useConfig, useTranslation } from '@payloadcms/ui'\nimport { password } from 'payload/shared'\n\nimport type { LoginFieldProps } from '../LoginField/index.js'\n\nimport { LoginField } from '../LoginField/index.js'\nimport './index.scss'\n\nexport const LoginForm: React.FC<{\n searchParams: { [key: string]: string | string[] | undefined }\n}> = ({ searchParams }) => {\n const config = useConfig()\n\n const {\n admin: {\n autoLogin,\n routes: { forgot: forgotRoute },\n user: userSlug,\n },\n routes: { admin, api },\n } = config\n\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n const canLoginWithEmail =\n !authOptions.loginWithUsername || authOptions.loginWithUsername.allowEmailLogin\n const canLoginWithUsername = authOptions.loginWithUsername\n\n const [loginType] = React.useState<LoginFieldProps['type']>(() => {\n if (canLoginWithEmail && canLoginWithUsername) return 'emailOrUsername'\n if (canLoginWithUsername) return 'username'\n return 'email'\n })\n\n const { t } = useTranslation()\n\n const prefillForm = autoLogin && autoLogin.prefillOnly\n\n const initialState: FormState = {\n password: {\n initialValue: prefillForm ? autoLogin.password : undefined,\n valid: true,\n value: prefillForm ? autoLogin.password : undefined,\n },\n }\n\n if (loginWithUsername) {\n initialState.username = {\n initialValue: prefillForm ? autoLogin.username : undefined,\n valid: true,\n value: prefillForm ? autoLogin.username : undefined,\n }\n } else {\n initialState.email = {\n initialValue: prefillForm ? autoLogin.email : undefined,\n valid: true,\n value: prefillForm ? autoLogin.email : undefined,\n }\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/login`}\n className={baseClass}\n disableSuccessStatus\n initialState={initialState}\n method=\"POST\"\n redirect={typeof searchParams?.redirect === 'string' ? searchParams.redirect : admin}\n waitForAutocomplete\n >\n <div className={`${baseClass}__inputWrap`}>\n <LoginField type={loginType} />\n <PasswordField\n autoComplete=\"off\"\n label={t('general:password')}\n name=\"password\"\n required\n validate={(value) =>\n password(value, {\n name: 'password',\n type: 'text',\n data: {},\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n </div>\n <Link href={`${admin}${forgotRoute}`}>{t('authentication:forgotPasswordQuestion')}</Link>\n <FormSubmit>{t('authentication:login')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["LinkImport","React","baseClass","Link","default","Form","FormSubmit","PasswordField","useConfig","useTranslation","password","LoginField","LoginForm","searchParams","config","admin","autoLogin","routes","forgot","forgotRoute","user","userSlug","api","collectionConfig","collections","find","collection","slug","auth","authOptions","loginWithUsername","canLoginWithEmail","allowEmailLogin","canLoginWithUsername","loginType","useState","t","prefillForm","prefillOnly","initialState","initialValue","undefined","valid","value","username","email","action","className","disableSuccessStatus","method","redirect","waitForAutocomplete","div","type","autoComplete","label","name","required","validate","data","preferences","fields","req","payload","siblingData","href"],"mappings":"AAAA;;AAEA,OAAOA,gBAAgB,eAAc;AACrC,OAAOC,WAAW,QAAO;AAEzB,MAAMC,YAAY;AAClB,MAAMC,OAAQH,WAAWI,OAAO,IAAIJ;AAIpC,SAASK,IAAI,EAAEC,UAAU,EAAEC,aAAa,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AAC3F,SAASC,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,UAAU,QAAQ,yBAAwB;AAGnD,OAAO,MAAMC,YAER,CAAC,EAAEC,YAAY,EAAE;IACpB,MAAMC,SAASN;IAEf,MAAM,EACJO,OAAO,EACLC,SAAS,EACTC,QAAQ,EAAEC,QAAQC,WAAW,EAAE,EAC/BC,MAAMC,QAAQ,EACf,EACDJ,QAAQ,EAAEF,KAAK,EAAEO,GAAG,EAAE,EACvB,GAAGR;IAEJ,MAAMS,mBAAmBT,OAAOU,WAAW,EAAEC,KAAK,CAACC,aAAeA,YAAYC,SAASN;IACvF,MAAM,EAAEO,MAAMC,WAAW,EAAE,GAAGN;IAC9B,MAAMO,oBAAoBD,YAAYC,iBAAiB;IACvD,MAAMC,oBACJ,CAACF,YAAYC,iBAAiB,IAAID,YAAYC,iBAAiB,CAACE,eAAe;IACjF,MAAMC,uBAAuBJ,YAAYC,iBAAiB;IAE1D,MAAM,CAACI,UAAU,GAAGjC,MAAMkC,QAAQ,CAA0B;QAC1D,IAAIJ,qBAAqBE,sBAAsB,OAAO;QACtD,IAAIA,sBAAsB,OAAO;QACjC,OAAO;IACT;IAEA,MAAM,EAAEG,CAAC,EAAE,GAAG3B;IAEd,MAAM4B,cAAcrB,aAAaA,UAAUsB,WAAW;IAEtD,MAAMC,eAA0B;QAC9B7B,UAAU;YACR8B,cAAcH,cAAcrB,UAAUN,QAAQ,GAAG+B;YACjDC,OAAO;YACPC,OAAON,cAAcrB,UAAUN,QAAQ,GAAG+B;QAC5C;IACF;IAEA,IAAIX,mBAAmB;QACrBS,aAAaK,QAAQ,GAAG;YACtBJ,cAAcH,cAAcrB,UAAU4B,QAAQ,GAAGH;YACjDC,OAAO;YACPC,OAAON,cAAcrB,UAAU4B,QAAQ,GAAGH;QAC5C;IACF,OAAO;QACLF,aAAaM,KAAK,GAAG;YACnBL,cAAcH,cAAcrB,UAAU6B,KAAK,GAAGJ;YAC9CC,OAAO;YACPC,OAAON,cAAcrB,UAAU6B,KAAK,GAAGJ;QACzC;IACF;IAEA,qBACE,MAACpC;QACCyC,QAAQ,CAAC,EAAExB,IAAI,CAAC,EAAED,SAAS,MAAM,CAAC;QAClC0B,WAAW7C;QACX8C,oBAAoB;QACpBT,cAAcA;QACdU,QAAO;QACPC,UAAU,OAAOrC,cAAcqC,aAAa,WAAWrC,aAAaqC,QAAQ,GAAGnC;QAC/EoC,mBAAmB;;0BAEnB,MAACC;gBAAIL,WAAW,CAAC,EAAE7C,UAAU,WAAW,CAAC;;kCACvC,KAACS;wBAAW0C,MAAMnB;;kCAClB,KAAC3B;wBACC+C,cAAa;wBACbC,OAAOnB,EAAE;wBACToB,MAAK;wBACLC,QAAQ;wBACRC,UAAU,CAACf,QACTjC,SAASiC,OAAO;gCACda,MAAM;gCACNH,MAAM;gCACNM,MAAM,CAAC;gCACPC,aAAa;oCAAEC,QAAQ,CAAC;gCAAE;gCAC1BC,KAAK;oCACHC,SAAS;wCACPjD;oCACF;oCACAsB;gCACF;gCACAqB,UAAU;gCACVO,aAAa,CAAC;4BAChB;;;;0BAIN,KAAC7D;gBAAK8D,MAAM,CAAC,EAAElD,MAAM,EAAEI,YAAY,CAAC;0BAAGiB,EAAE;;0BACzC,KAAC9B;0BAAY8B,EAAE;;;;AAGrB,EAAC"}
@@ -1,8 +1,8 @@
1
- import type { I18n } from '@payloadcms/translations';
1
+ import type { I18nClient } from '@payloadcms/translations';
2
2
  import type { Metadata } from 'next';
3
3
  import type { SanitizedConfig } from 'payload';
4
4
  export declare const generateNotFoundMeta: ({ config, i18n, }: {
5
5
  config: SanitizedConfig;
6
- i18n: I18n;
6
+ i18n: I18nClient;
7
7
  }) => Promise<Metadata>;
8
8
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/NotFound/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,eAAO,MAAM,oBAAoB,sBAG9B;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;CACX,KAAG,OAAO,CAAC,QAAQ,CAMhB,CAAA"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/NotFound/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,eAAO,MAAM,oBAAoB,sBAG9B;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,OAAO,CAAC,QAAQ,CAMhB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/NotFound/meta.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateNotFoundMeta = async ({\n config,\n i18n,\n}: {\n config: SanitizedConfig\n i18n: I18n\n}): Promise<Metadata> =>\n meta({\n description: i18n.t('general:pageNotFound'),\n keywords: `404 ${i18n.t('general:notFound')}`,\n serverURL: config.serverURL,\n title: i18n.t('general:notFound'),\n })\n"],"names":["meta","generateNotFoundMeta","config","i18n","description","t","keywords","serverURL","title"],"mappings":"AAIA,SAASA,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,uBAAuB,OAAO,EACzCC,MAAM,EACNC,IAAI,EAIL,GACCH,KAAK;QACHI,aAAaD,KAAKE,CAAC,CAAC;QACpBC,UAAU,CAAC,IAAI,EAAEH,KAAKE,CAAC,CAAC,oBAAoB,CAAC;QAC7CE,WAAWL,OAAOK,SAAS;QAC3BC,OAAOL,KAAKE,CAAC,CAAC;IAChB,GAAE"}
1
+ {"version":3,"sources":["../../../src/views/NotFound/meta.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateNotFoundMeta = async ({\n config,\n i18n,\n}: {\n config: SanitizedConfig\n i18n: I18nClient\n}): Promise<Metadata> =>\n meta({\n description: i18n.t('general:pageNotFound'),\n keywords: `404 ${i18n.t('general:notFound')}`,\n serverURL: config.serverURL,\n title: i18n.t('general:notFound'),\n })\n"],"names":["meta","generateNotFoundMeta","config","i18n","description","t","keywords","serverURL","title"],"mappings":"AAIA,SAASA,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,uBAAuB,OAAO,EACzCC,MAAM,EACNC,IAAI,EAIL,GACCH,KAAK;QACHI,aAAaD,KAAKE,CAAC,CAAC;QACpBC,UAAU,CAAC,IAAI,EAAEH,KAAKE,CAAC,CAAC,oBAAoB,CAAC;QAC7CE,WAAWL,OAAOK,SAAS;QAC3BC,OAAOL,KAAKE,CAAC,CAAC;IAChB,GAAE"}
@@ -1,11 +1,11 @@
1
- import type { I18n } from '@payloadcms/translations';
1
+ import type { I18nClient } from '@payloadcms/translations';
2
2
  import type { Metadata } from 'next';
3
3
  import type { SanitizedConfig } from 'payload';
4
4
  import React from 'react';
5
5
  export { generatePageMetadata } from './meta.js';
6
6
  export type GenerateViewMetadata = (args: {
7
7
  config: SanitizedConfig;
8
- i18n: I18n;
8
+ i18n: I18nClient;
9
9
  isEditing?: boolean;
10
10
  params?: {
11
11
  [key: string]: string | string[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,qDAIlB;IACD,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,+BAiGA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,qDAIlB;IACD,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,+BAiGA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { WithServerSideProps } from '@payloadcms/ui/shared'\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: I18n\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n params,\n searchParams,\n}: {\n config: Promise<SanitizedConfig>\n params: {\n segments: string[]\n }\n searchParams: {\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 currentRoute = `${adminRoute}${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const { DefaultView, initPageOptions, templateClassName, templateType } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n searchParams,\n segments,\n })\n\n let dbHasUser = false\n\n if (!DefaultView) {\n notFound()\n }\n\n const initPageResult = await initPage(initPageOptions)\n\n if (initPageResult) {\n dbHasUser = await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc)\n\n const routeWithAdmin = `${adminRoute}${createFirstUserRoute}`\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === routeWithAdmin) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== routeWithAdmin && !disableLocalStrategy) {\n redirect(routeWithAdmin)\n }\n\n if (dbHasUser && currentRoute === routeWithAdmin) {\n redirect(adminRoute)\n }\n }\n\n const RenderedView = (\n <WithServerSideProps\n Component={DefaultView}\n serverOnlyProps={\n {\n initPageResult,\n params,\n searchParams,\n } as any\n }\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 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 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"],"names":["WithServerSideProps","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","params","searchParams","admin","routes","createFirstUser","createFirstUserRoute","user","userSlug","adminRoute","currentRoute","Array","isArray","segments","join","DefaultView","initPageOptions","templateClassName","templateType","dbHasUser","initPageResult","req","payload","db","findOne","collection","then","doc","routeWithAdmin","collectionConfig","collections","find","slug","disableLocalStrategy","auth","RenderedView","Component","serverOnlyProps","className","i18n","locale","permissions","visibleEntities","globals"],"mappings":";AAIA,SAASA,mBAAmB,QAAQ,wBAAuB;AAC3D,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,qBAAoB;AACvD,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,QAAQ,QAAQ,oCAAmC;AAC5D,SAASC,iBAAiB,QAAQ,yBAAwB;AAE1D,SAASC,oBAAoB,QAAQ,YAAW;AAShD,OAAO,MAAMC,WAAW,OAAO,EAC7BC,QAAQC,aAAa,EACrBC,MAAM,EACNC,YAAY,EASb;IACC,MAAMH,SAAS,MAAMC;IAErB,MAAM,EACJG,OAAO,EACLC,QAAQ,EAAEC,iBAAiBC,oBAAoB,EAAE,EACjDC,MAAMC,QAAQ,EACf,EACDJ,QAAQ,EAAED,OAAOM,UAAU,EAAE,EAC9B,GAAGV;IAEJ,MAAMW,eAAe,CAAC,EAAED,WAAW,EAAEE,MAAMC,OAAO,CAACX,OAAOY,QAAQ,IAAI,CAAC,CAAC,EAAEZ,OAAOY,QAAQ,CAACC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;IAE5G,MAAMD,WAAWF,MAAMC,OAAO,CAACX,OAAOY,QAAQ,IAAIZ,OAAOY,QAAQ,GAAG,EAAE;IAEtE,MAAM,EAAEE,WAAW,EAAEC,eAAe,EAAEC,iBAAiB,EAAEC,YAAY,EAAE,GAAGtB,kBAAkB;QAC1Fa;QACAV;QACAW;QACAR;QACAW;IACF;IAEA,IAAIM,YAAY;IAEhB,IAAI,CAACJ,aAAa;QAChB1B;IACF;IAEA,MAAM+B,iBAAiB,MAAMzB,SAASqB;IAEtC,IAAII,gBAAgB;QAClBD,YAAY,MAAMC,gBAAgBC,IAAIC,QAAQC,GAC3CC,QAAQ;YACPC,YAAYjB;YACZa,KAAKD,gBAAgBC;QACvB,IACEK,KAAK,CAACC,MAAQ,CAAC,CAACA;QAEpB,MAAMC,iBAAiB,CAAC,EAAEnB,WAAW,EAAEH,qBAAqB,CAAC;QAE7D,MAAMuB,mBAAmB9B,OAAO+B,WAAW,CAACC,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASxB;QACxE,MAAMyB,uBAAuBJ,kBAAkBK,MAAMD;QAErD,IAAIA,wBAAwBvB,iBAAiBkB,gBAAgB;YAC3DtC,SAASmB;QACX;QAEA,IAAI,CAACU,aAAaT,iBAAiBkB,kBAAkB,CAACK,sBAAsB;YAC1E3C,SAASsC;QACX;QAEA,IAAIT,aAAaT,iBAAiBkB,gBAAgB;YAChDtC,SAASmB;QACX;IACF;IAEA,MAAM0B,6BACJ,KAAC/C;QACCgD,WAAWrB;QACXsB,iBACE;YACEjB;YACAnB;YACAC;QACF;;IAKN,qBACE,MAACV;;YACE,CAAC0B,8BAAgB,KAAC1B;0BAAU2C;;YAC5BjB,iBAAiB,2BAChB,KAACxB;gBAAgB4C,WAAWrB;0BAAoBkB;;YAEjDjB,iBAAiB,2BAChB,KAACzB;gBACC8C,MAAMnB,gBAAgBC,IAAIkB;gBAC1BC,QAAQpB,gBAAgBoB;gBACxBvC,QAAQA;gBACRqB,SAASF,gBAAgBC,IAAIC;gBAC7BmB,aAAarB,gBAAgBqB;gBAC7BvC,cAAcA;gBACdK,MAAMa,gBAAgBC,IAAId;gBAC1BmC,iBAAiB;oBACf,+KAA+K;oBAC/K,2EAA2E;oBAC3EZ,aAAaV,eAAesB,eAAe,EAAEZ;oBAC7Ca,SAASvB,eAAesB,eAAe,EAAEC;gBAC3C;0BAECR;;;;AAKX,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { WithServerSideProps } from '@payloadcms/ui/shared'\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 params,\n searchParams,\n}: {\n config: Promise<SanitizedConfig>\n params: {\n segments: string[]\n }\n searchParams: {\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 currentRoute = `${adminRoute}${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const { DefaultView, initPageOptions, templateClassName, templateType } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n searchParams,\n segments,\n })\n\n let dbHasUser = false\n\n if (!DefaultView) {\n notFound()\n }\n\n const initPageResult = await initPage(initPageOptions)\n\n if (initPageResult) {\n dbHasUser = await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc)\n\n const routeWithAdmin = `${adminRoute}${createFirstUserRoute}`\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === routeWithAdmin) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== routeWithAdmin && !disableLocalStrategy) {\n redirect(routeWithAdmin)\n }\n\n if (dbHasUser && currentRoute === routeWithAdmin) {\n redirect(adminRoute)\n }\n }\n\n const RenderedView = (\n <WithServerSideProps\n Component={DefaultView}\n serverOnlyProps={\n {\n initPageResult,\n params,\n searchParams,\n } as any\n }\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 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 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"],"names":["WithServerSideProps","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","params","searchParams","admin","routes","createFirstUser","createFirstUserRoute","user","userSlug","adminRoute","currentRoute","Array","isArray","segments","join","DefaultView","initPageOptions","templateClassName","templateType","dbHasUser","initPageResult","req","payload","db","findOne","collection","then","doc","routeWithAdmin","collectionConfig","collections","find","slug","disableLocalStrategy","auth","RenderedView","Component","serverOnlyProps","className","i18n","locale","permissions","visibleEntities","globals"],"mappings":";AAIA,SAASA,mBAAmB,QAAQ,wBAAuB;AAC3D,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,qBAAoB;AACvD,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,QAAQ,QAAQ,oCAAmC;AAC5D,SAASC,iBAAiB,QAAQ,yBAAwB;AAE1D,SAASC,oBAAoB,QAAQ,YAAW;AAShD,OAAO,MAAMC,WAAW,OAAO,EAC7BC,QAAQC,aAAa,EACrBC,MAAM,EACNC,YAAY,EASb;IACC,MAAMH,SAAS,MAAMC;IAErB,MAAM,EACJG,OAAO,EACLC,QAAQ,EAAEC,iBAAiBC,oBAAoB,EAAE,EACjDC,MAAMC,QAAQ,EACf,EACDJ,QAAQ,EAAED,OAAOM,UAAU,EAAE,EAC9B,GAAGV;IAEJ,MAAMW,eAAe,CAAC,EAAED,WAAW,EAAEE,MAAMC,OAAO,CAACX,OAAOY,QAAQ,IAAI,CAAC,CAAC,EAAEZ,OAAOY,QAAQ,CAACC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;IAE5G,MAAMD,WAAWF,MAAMC,OAAO,CAACX,OAAOY,QAAQ,IAAIZ,OAAOY,QAAQ,GAAG,EAAE;IAEtE,MAAM,EAAEE,WAAW,EAAEC,eAAe,EAAEC,iBAAiB,EAAEC,YAAY,EAAE,GAAGtB,kBAAkB;QAC1Fa;QACAV;QACAW;QACAR;QACAW;IACF;IAEA,IAAIM,YAAY;IAEhB,IAAI,CAACJ,aAAa;QAChB1B;IACF;IAEA,MAAM+B,iBAAiB,MAAMzB,SAASqB;IAEtC,IAAII,gBAAgB;QAClBD,YAAY,MAAMC,gBAAgBC,IAAIC,QAAQC,GAC3CC,QAAQ;YACPC,YAAYjB;YACZa,KAAKD,gBAAgBC;QACvB,IACEK,KAAK,CAACC,MAAQ,CAAC,CAACA;QAEpB,MAAMC,iBAAiB,CAAC,EAAEnB,WAAW,EAAEH,qBAAqB,CAAC;QAE7D,MAAMuB,mBAAmB9B,OAAO+B,WAAW,CAACC,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASxB;QACxE,MAAMyB,uBAAuBJ,kBAAkBK,MAAMD;QAErD,IAAIA,wBAAwBvB,iBAAiBkB,gBAAgB;YAC3DtC,SAASmB;QACX;QAEA,IAAI,CAACU,aAAaT,iBAAiBkB,kBAAkB,CAACK,sBAAsB;YAC1E3C,SAASsC;QACX;QAEA,IAAIT,aAAaT,iBAAiBkB,gBAAgB;YAChDtC,SAASmB;QACX;IACF;IAEA,MAAM0B,6BACJ,KAAC/C;QACCgD,WAAWrB;QACXsB,iBACE;YACEjB;YACAnB;YACAC;QACF;;IAKN,qBACE,MAACV;;YACE,CAAC0B,8BAAgB,KAAC1B;0BAAU2C;;YAC5BjB,iBAAiB,2BAChB,KAACxB;gBAAgB4C,WAAWrB;0BAAoBkB;;YAEjDjB,iBAAiB,2BAChB,KAACzB;gBACC8C,MAAMnB,gBAAgBC,IAAIkB;gBAC1BC,QAAQpB,gBAAgBoB;gBACxBvC,QAAQA;gBACRqB,SAASF,gBAAgBC,IAAIC;gBAC7BmB,aAAarB,gBAAgBqB;gBAC7BvC,cAAcA;gBACdK,MAAMa,gBAAgBC,IAAId;gBAC1BmC,iBAAiB;oBACf,+KAA+K;oBAC/K,2EAA2E;oBAC3EZ,aAAaV,eAAesB,eAAe,EAAEZ;oBAC7Ca,SAASvB,eAAesB,eAAe,EAAEC;gBAC3C;0BAECR;;;;AAKX,EAAC"}
@@ -40,7 +40,7 @@ export const DefaultVersionView = ({ doc, docPermissions, initialComparisonDoc,
40
40
  initialParams: {
41
41
  depth: 1,
42
42
  draft: 'true',
43
- locale: '*'
43
+ locale: 'all'
44
44
  }
45
45
  });
46
46
  const comparison = compareValue?.value && currentComparisonDoc?.version // the `version` key is only present on `versions` documents
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport {\n Gutter,\n SetViewActions,\n useComponentMap,\n useConfig,\n useDocumentInfo,\n usePayloadAPI,\n useTranslation,\n} 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 { SetStepNav } from './SetStepNav.js'\nimport './index.scss'\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 = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const { getComponentMap, getFieldMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const [fieldMap] = useState(() => getFieldMap({ collectionSlug, globalSlug }))\n\n const [collectionConfig] = useState(() =>\n config.collections.find((collection) => collection.slug === collectionSlug),\n )\n\n const [globalConfig] = useState(() => config.globals.find((global) => global.slug === 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: '*' },\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 return (\n <main className={baseClass}>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.Version} />\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fieldMap={fieldMap}\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 versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\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 fieldMap={fieldMap}\n fieldPermissions={docPermissions?.fields}\n i18n={i18n}\n locales={\n locales\n ? locales.map(({ label }) => (typeof label === 'string' ? label : undefined))\n : []\n }\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"],"names":["Gutter","SetViewActions","useComponentMap","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","SetStepNav","baseClass","DefaultVersionView","doc","docPermissions","initialComparisonDoc","latestDraftVersion","latestPublishedVersion","localeOptions","versionID","config","i18n","id","collectionSlug","globalSlug","getComponentMap","getFieldMap","componentMap","fieldMap","collectionConfig","collections","find","collection","slug","globalConfig","globals","global","locales","setLocales","compareValue","setCompareValue","admin","dateFormat","localization","routes","api","apiRoute","serverURL","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","compareFetchURL","value","data","currentComparisonDoc","initialData","initialParams","depth","draft","locale","comparison","version","canUpdate","update","permission","main","className","actions","actionsMap","Edit","Version","div","p","t","autosave","header","h2","label","labels","singular","originalDocID","versionDate","baseURL","onChange","parentID","options","fieldPermissions","fields","map","undefined","createdAt"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport {\n Gutter,\n SetViewActions,\n useComponentMap,\n useConfig,\n useDocumentInfo,\n usePayloadAPI,\n useTranslation,\n} 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 { SetStepNav } from './SetStepNav.js'\nimport './index.scss'\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 = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const { getComponentMap, getFieldMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const [fieldMap] = useState(() => getFieldMap({ collectionSlug, globalSlug }))\n\n const [collectionConfig] = useState(() =>\n config.collections.find((collection) => collection.slug === collectionSlug),\n )\n\n const [globalConfig] = useState(() => config.globals.find((global) => global.slug === 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?.permission\n\n return (\n <main className={baseClass}>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.Version} />\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fieldMap={fieldMap}\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 versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\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 fieldMap={fieldMap}\n fieldPermissions={docPermissions?.fields}\n i18n={i18n}\n locales={\n locales\n ? locales.map(({ label }) => (typeof label === 'string' ? label : undefined))\n : []\n }\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"],"names":["Gutter","SetViewActions","useComponentMap","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","SetStepNav","baseClass","DefaultVersionView","doc","docPermissions","initialComparisonDoc","latestDraftVersion","latestPublishedVersion","localeOptions","versionID","config","i18n","id","collectionSlug","globalSlug","getComponentMap","getFieldMap","componentMap","fieldMap","collectionConfig","collections","find","collection","slug","globalConfig","globals","global","locales","setLocales","compareValue","setCompareValue","admin","dateFormat","localization","routes","api","apiRoute","serverURL","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","compareFetchURL","value","data","currentComparisonDoc","initialData","initialParams","depth","draft","locale","comparison","version","canUpdate","update","permission","main","className","actions","actionsMap","Edit","Version","div","p","t","autosave","header","h2","label","labels","singular","originalDocID","versionDate","baseURL","onChange","parentID","options","fieldPermissions","fields","map","undefined","createdAt"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.0.0-beta.65",
3
+ "version": "3.0.0-beta.67",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -63,9 +63,9 @@
63
63
  "sonner": "^1.5.0",
64
64
  "uuid": "10.0.0",
65
65
  "ws": "^8.16.0",
66
- "@payloadcms/translations": "3.0.0-beta.65",
67
- "@payloadcms/graphql": "3.0.0-beta.65",
68
- "@payloadcms/ui": "3.0.0-beta.65"
66
+ "@payloadcms/translations": "3.0.0-beta.67",
67
+ "@payloadcms/ui": "3.0.0-beta.67",
68
+ "@payloadcms/graphql": "3.0.0-beta.67"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@next/eslint-plugin-next": "^14.1.0",
@@ -78,12 +78,12 @@
78
78
  "esbuild-sass-plugin": "3.3.1",
79
79
  "swc-plugin-transform-remove-imports": "1.14.0",
80
80
  "@payloadcms/eslint-config": "3.0.0-beta.59",
81
- "payload": "3.0.0-beta.65"
81
+ "payload": "3.0.0-beta.67"
82
82
  },
83
83
  "peerDependencies": {
84
84
  "graphql": "^16.8.1",
85
85
  "next": "^15.0.0-canary.53",
86
- "payload": "3.0.0-beta.65"
86
+ "payload": "3.0.0-beta.67"
87
87
  },
88
88
  "engines": {
89
89
  "node": "^18.20.2 || >=20.9.0"