@payloadcms/next 4.0.0-internal.e7d4ebc → 4.0.0-internal.ee5d8bd

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 (67) hide show
  1. package/dist/adapters/UnmountWhenHidden/index.d.ts +18 -0
  2. package/dist/adapters/UnmountWhenHidden/index.d.ts.map +1 -0
  3. package/dist/adapters/UnmountWhenHidden/index.js +64 -0
  4. package/dist/adapters/UnmountWhenHidden/index.js.map +1 -0
  5. package/dist/adapters/handleServerFunctions.d.ts.map +1 -1
  6. package/dist/adapters/handleServerFunctions.js +4 -6
  7. package/dist/adapters/handleServerFunctions.js.map +1 -1
  8. package/dist/adapters/layout.d.ts +2 -2
  9. package/dist/adapters/layout.d.ts.map +1 -1
  10. package/dist/adapters/layout.js +3 -3
  11. package/dist/adapters/layout.js.map +1 -1
  12. package/dist/adapters/metadata.js.map +1 -1
  13. package/dist/adapters/router.d.ts.map +1 -1
  14. package/dist/adapters/router.js +58 -21
  15. package/dist/adapters/router.js.map +1 -1
  16. package/dist/adapters/views.d.ts +3 -2
  17. package/dist/adapters/views.d.ts.map +1 -1
  18. package/dist/adapters/views.js +27 -17
  19. package/dist/adapters/views.js.map +1 -1
  20. package/dist/auth/login.d.ts +3 -18
  21. package/dist/auth/login.d.ts.map +1 -1
  22. package/dist/auth/login.js +6 -62
  23. package/dist/auth/login.js.map +1 -1
  24. package/dist/auth/logout.d.ts +2 -5
  25. package/dist/auth/logout.d.ts.map +1 -1
  26. package/dist/auth/logout.js +6 -47
  27. package/dist/auth/logout.js.map +1 -1
  28. package/dist/auth/refresh.d.ts +2 -4
  29. package/dist/auth/refresh.d.ts.map +1 -1
  30. package/dist/auth/refresh.js +6 -51
  31. package/dist/auth/refresh.js.map +1 -1
  32. package/dist/cjs/withPayload.cjs +96 -69
  33. package/dist/cjs/withPayload.cjs.map +4 -4
  34. package/dist/prod/styles.css +1 -1
  35. package/dist/routes/graphql/handler.js +3 -3
  36. package/dist/routes/graphql/handler.js.map +1 -1
  37. package/dist/routes/graphql/playground.d.ts.map +1 -1
  38. package/dist/routes/graphql/playground.js +2 -2
  39. package/dist/routes/graphql/playground.js.map +1 -1
  40. package/dist/routes/rest/og/index.d.ts.map +1 -1
  41. package/dist/routes/rest/og/index.js.map +1 -1
  42. package/dist/utilities/initAdminContext.d.ts +8 -0
  43. package/dist/utilities/initAdminContext.d.ts.map +1 -0
  44. package/dist/utilities/initAdminContext.js +35 -0
  45. package/dist/utilities/initAdminContext.js.map +1 -0
  46. package/dist/utilities/selectiveCache.d.ts +18 -0
  47. package/dist/utilities/selectiveCache.d.ts.map +1 -0
  48. package/dist/utilities/selectiveCache.js +36 -0
  49. package/dist/utilities/selectiveCache.js.map +1 -0
  50. package/dist/withPayload/instantLoader.d.ts +16 -0
  51. package/dist/withPayload/instantLoader.d.ts.map +1 -0
  52. package/dist/withPayload/instantLoader.js +27 -0
  53. package/dist/withPayload/instantLoader.js.map +1 -0
  54. package/dist/withPayload/withPayload.d.ts.map +1 -1
  55. package/dist/withPayload/withPayload.js +51 -62
  56. package/dist/withPayload/withPayload.js.map +1 -1
  57. package/package.json +41 -42
  58. package/dist/utilities/getExistingAuthToken.d.ts +0 -7
  59. package/dist/utilities/getExistingAuthToken.d.ts.map +0 -1
  60. package/dist/utilities/getExistingAuthToken.js +0 -6
  61. package/dist/utilities/getExistingAuthToken.js.map +0 -1
  62. package/dist/utilities/setPayloadAuthCookie.d.ts +0 -9
  63. package/dist/utilities/setPayloadAuthCookie.d.ts.map +0 -1
  64. package/dist/utilities/setPayloadAuthCookie.js +0 -27
  65. package/dist/utilities/setPayloadAuthCookie.js.map +0 -1
  66. package/dist/withPayload/withPayload.spec.js +0 -56
  67. package/dist/withPayload/withPayload.spec.js.map +0 -1
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ /**
3
+ * With `cacheComponents`, Next.js does not unmount pages you navigate away from. It keeps the last
4
+ * few inside a hidden React `<Activity>` boundary so going back can restore them. In the admin
5
+ * panel, that leaves hidden copies of previous views in the DOM (duplicate element IDs, old client
6
+ * state) and breaks selectors that expect a single match.
7
+ *
8
+ * React runs effect cleanups when an `<Activity>` boundary is hidden. This component uses that to
9
+ * render nothing while hidden, so the view is mounted fresh when it becomes visible again, like it
10
+ * is without `cacheComponents`. Only rendered when `cacheComponents` is enabled.
11
+ *
12
+ * @see https://github.com/vercel/next.js/issues/86577
13
+ * @see https://react.dev/reference/react/Activity
14
+ */
15
+ export declare const UnmountWhenHidden: React.FC<{
16
+ readonly children: React.ReactNode;
17
+ }>;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/UnmountWhenHidden/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAU9E,CAAA"}
@@ -0,0 +1,64 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { useRouter } from 'next/navigation.js';
6
+ import React, { useLayoutEffect, useState } from 'react';
7
+ /**
8
+ * With `cacheComponents`, Next.js does not unmount pages you navigate away from. It keeps the last
9
+ * few inside a hidden React `<Activity>` boundary so going back can restore them. In the admin
10
+ * panel, that leaves hidden copies of previous views in the DOM (duplicate element IDs, old client
11
+ * state) and breaks selectors that expect a single match.
12
+ *
13
+ * React runs effect cleanups when an `<Activity>` boundary is hidden. This component uses that to
14
+ * render nothing while hidden, so the view is mounted fresh when it becomes visible again, like it
15
+ * is without `cacheComponents`. Only rendered when `cacheComponents` is enabled.
16
+ *
17
+ * @see https://github.com/vercel/next.js/issues/86577
18
+ * @see https://react.dev/reference/react/Activity
19
+ */
20
+ export const UnmountWhenHidden = t0 => {
21
+ const $ = _c(3);
22
+ const {
23
+ children
24
+ } = t0;
25
+ const {
26
+ bfcacheId
27
+ } = useRouter();
28
+ let t1;
29
+ if ($[0] !== bfcacheId || $[1] !== children) {
30
+ t1 = _jsx(RenderNothingWhileHidden, {
31
+ children
32
+ }, bfcacheId);
33
+ $[0] = bfcacheId;
34
+ $[1] = children;
35
+ $[2] = t1;
36
+ } else {
37
+ t1 = $[2];
38
+ }
39
+ return t1;
40
+ };
41
+ const RenderNothingWhileHidden = t0 => {
42
+ const $ = _c(2);
43
+ const {
44
+ children
45
+ } = t0;
46
+ const [isVisible, setIsVisible] = useState(true);
47
+ let t1;
48
+ let t2;
49
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
50
+ t1 = () => {
51
+ setIsVisible(true);
52
+ return () => setIsVisible(false);
53
+ };
54
+ t2 = [];
55
+ $[0] = t1;
56
+ $[1] = t2;
57
+ } else {
58
+ t1 = $[0];
59
+ t2 = $[1];
60
+ }
61
+ useLayoutEffect(t1, t2);
62
+ return isVisible ? children : null;
63
+ };
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","useRouter","React","useLayoutEffect","useState","UnmountWhenHidden","t0","$","children","bfcacheId","t1","_jsx","RenderNothingWhileHidden","isVisible","setIsVisible","t2","Symbol","for"],"sources":["../../../src/adapters/UnmountWhenHidden/index.tsx"],"sourcesContent":["'use client'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useLayoutEffect, useState } from 'react'\n\n/**\n * With `cacheComponents`, Next.js does not unmount pages you navigate away from. It keeps the last\n * few inside a hidden React `<Activity>` boundary so going back can restore them. In the admin\n * panel, that leaves hidden copies of previous views in the DOM (duplicate element IDs, old client\n * state) and breaks selectors that expect a single match.\n *\n * React runs effect cleanups when an `<Activity>` boundary is hidden. This component uses that to\n * render nothing while hidden, so the view is mounted fresh when it becomes visible again, like it\n * is without `cacheComponents`. Only rendered when `cacheComponents` is enabled.\n *\n * @see https://github.com/vercel/next.js/issues/86577\n * @see https://react.dev/reference/react/Activity\n */\nexport const UnmountWhenHidden: React.FC<{ readonly children: React.ReactNode }> = ({\n children,\n}) => {\n // Next.js shows the hidden copy again when you navigate to a view you visited recently. That copy\n // is empty, so it would show a blank page until the view rendered again. `bfcacheId` changes on\n // those navigations, so the new key mounts the view as part of the navigation instead.\n // https://nextjs.org/docs/app/api-reference/functions/use-router#bfcacheid\n const { bfcacheId } = useRouter()\n\n return <RenderNothingWhileHidden key={bfcacheId}>{children}</RenderNothingWhileHidden>\n}\n\nconst RenderNothingWhileHidden: React.FC<{ readonly children: React.ReactNode }> = ({\n children,\n}) => {\n const [isVisible, setIsVisible] = useState(true)\n\n useLayoutEffect(() => {\n setIsVisible(true)\n\n return () => setIsVisible(false)\n }, [])\n\n return isVisible ? children : null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,SAAS,QAAQ;AAC1B,OAAOC,KAAA,IAASC,eAAe,EAAEC,QAAQ,QAAQ;AAEjD;;;;;;;;;;;;;AAaA,OAAO,MAAMC,iBAAA,GAAsEC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ;EAAA,IAAAF,EAEnF;EAKC;IAAAG;EAAA,IAAsBR,SAAA;EAAA,IAAAS,EAAA;EAAA,IAAAH,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAC,QAAA;IAEfE,EAAA,GAAAC,IAAA,CAACC,wBAAA;MAAAJ;OAA8BC,SAAA;IAAAF,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAC,QAAA;IAAAD,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,OAA/BG,EAA+B;AAAA,CACxC;AAEA,MAAME,wBAAA,GAA6EN,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ;EAAA,IAAAF,EAEnF;EACC,OAAAO,SAAA,EAAAC,YAAA,IAAkCV,QAAA,CAAS;EAAA,IAAAM,EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAR,CAAA,QAAAS,MAAA,CAAAC,GAAA;IAE3BP,EAAA,GAAAA,CAAA;MACdI,YAAA,CAAa;MAAA,OAEN,MAAMA,YAAA,CAAa;IAAA,CAC5B;IAAGC,EAAA,KAAE;IAAAR,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAQ,EAAA;EAAA;IAAAL,EAAA,GAAAH,CAAA;IAAAQ,EAAA,GAAAR,CAAA;EAAA;EAJLJ,eAAA,CAAgBO,EAIhB,EAAGK,EAAE;EAAA,OAEEF,SAAA,GAAAL,QAAuB,GAAvB,IAAuB;AAAA,CAChC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"handleServerFunctions.d.ts","sourceRoot":"","sources":["../../src/adapters/handleServerFunctions.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB,yCAGhC,CAAA"}
1
+ {"version":3,"file":"handleServerFunctions.d.ts","sourceRoot":"","sources":["../../src/adapters/handleServerFunctions.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,yCAGhC,CAAA"}
@@ -1,15 +1,13 @@
1
1
  import { createServerFunctionHandler } from '@payloadcms/ui/utilities/handleServerFunctions';
2
- import { initReq } from '@payloadcms/ui/utilities/initReq';
3
- import { nextServerAdapter } from './server.js';
2
+ import { initAdminContext } from '../utilities/initAdminContext.js';
4
3
  export const handleServerFunctions = createServerFunctionHandler({
5
- initReq: ({
4
+ initAdminContext: ({
6
5
  configPromise,
7
6
  importMap
8
- }) => initReq({
7
+ }) => initAdminContext({
9
8
  configPromise,
10
9
  importMap,
11
- key: 'RootLayout',
12
- serverAdapter: nextServerAdapter
10
+ key: 'RootLayout'
13
11
  })
14
12
  });
15
13
  //# sourceMappingURL=handleServerFunctions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleServerFunctions.js","names":["createServerFunctionHandler","initReq","nextServerAdapter","handleServerFunctions","configPromise","importMap","key","serverAdapter"],"sources":["../../src/adapters/handleServerFunctions.ts"],"sourcesContent":["import { createServerFunctionHandler } from '@payloadcms/ui/utilities/handleServerFunctions'\nimport { initReq } from '@payloadcms/ui/utilities/initReq'\n\nimport { nextServerAdapter } from './server.js'\n\nexport const handleServerFunctions = createServerFunctionHandler({\n initReq: ({ configPromise, importMap }) =>\n initReq({ configPromise, importMap, key: 'RootLayout', serverAdapter: nextServerAdapter }),\n})\n"],"mappings":"AAAA,SAASA,2BAA2B,QAAQ;AAC5C,SAASC,OAAO,QAAQ;AAExB,SAASC,iBAAiB,QAAQ;AAElC,OAAO,MAAMC,qBAAA,GAAwBH,2BAAA,CAA4B;EAC/DC,OAAA,EAASA,CAAC;IAAEG,aAAa;IAAEC;EAAS,CAAE,KACpCJ,OAAA,CAAQ;IAAEG,aAAA;IAAeC,SAAA;IAAWC,GAAA,EAAK;IAAcC,aAAA,EAAeL;EAAkB;AAC5F","ignoreList":[]}
1
+ {"version":3,"file":"handleServerFunctions.js","names":["createServerFunctionHandler","initAdminContext","handleServerFunctions","configPromise","importMap","key"],"sources":["../../src/adapters/handleServerFunctions.ts"],"sourcesContent":["import { createServerFunctionHandler } from '@payloadcms/ui/utilities/handleServerFunctions'\n\nimport { initAdminContext } from '../utilities/initAdminContext.js'\n\nexport const handleServerFunctions = createServerFunctionHandler({\n initAdminContext: ({ configPromise, importMap }) =>\n initAdminContext({ configPromise, importMap, key: 'RootLayout' }),\n})\n"],"mappings":"AAAA,SAASA,2BAA2B,QAAQ;AAE5C,SAASC,gBAAgB,QAAQ;AAEjC,OAAO,MAAMC,qBAAA,GAAwBF,2BAAA,CAA4B;EAC/DC,gBAAA,EAAkBA,CAAC;IAAEE,aAAa;IAAEC;EAAS,CAAE,KAC7CH,gBAAA,CAAiB;IAAEE,aAAA;IAAeC,SAAA;IAAWC,GAAA,EAAK;EAAa;AACnE","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { RootLayout as UIRootLayout } from '@payloadcms/ui/layouts';
2
2
  import React from 'react';
3
- import '@payloadcms/ui/scss/app.scss';
3
+ import '@payloadcms/ui/css/app.css';
4
4
  export { metadata } from '@payloadcms/ui/layouts';
5
- type Props = Omit<React.ComponentProps<typeof UIRootLayout>, 'additionalDependencyChecks' | 'fonts' | 'RouterAdapter' | 'serverAdapter'>;
5
+ type Props = Omit<React.ComponentProps<typeof UIRootLayout>, 'additionalDependencyChecks' | 'fonts' | 'initAdminContext' | 'RouterAdapter'>;
6
6
  export declare const RootLayout: (props: Props) => React.JSX.Element;
7
7
  //# sourceMappingURL=layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/adapters/layout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGnE,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,8BAA8B,CAAA;AAqBrC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,KAAK,KAAK,GAAG,IAAI,CACf,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,EACzC,4BAA4B,GAAG,OAAO,GAAG,eAAe,GAAG,eAAe,CAC3E,CAAA;AAED,eAAO,MAAM,UAAU,UAAW,KAAK,sBAWtC,CAAA"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/adapters/layout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGnE,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,4BAA4B,CAAA;AAqBnC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,KAAK,KAAK,GAAG,IAAI,CACf,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,EACzC,4BAA4B,GAAG,OAAO,GAAG,kBAAkB,GAAG,eAAe,CAC9E,CAAA;AAED,eAAO,MAAM,UAAU,UAAW,KAAK,sBAWtC,CAAA"}
@@ -3,8 +3,8 @@ import { RootLayout as UIRootLayout } from '@payloadcms/ui/layouts';
3
3
  // @ts-expect-error - TS6 NodeNext rejects deep imports into `next` (no `exports` field), but Next.js compiler requires this exact specifier
4
4
  import { Inter, Roboto_Mono } from 'next/font/google';
5
5
  import React from 'react';
6
+ import { initAdminContext } from '../utilities/initAdminContext.js';
6
7
  import { NextRouterAdapter } from './router.js';
7
- import { nextServerAdapter } from './server.js';
8
8
  const inter = Inter({
9
9
  subsets: ['latin'],
10
10
  variable: '--font-family-sans'
@@ -32,7 +32,7 @@ export const RootLayout = props => /*#__PURE__*/_jsx(UIRootLayout, {
32
32
  className: robotoMono.className,
33
33
  variable: robotoMono.variable
34
34
  }],
35
- RouterAdapter: NextRouterAdapter,
36
- serverAdapter: nextServerAdapter
35
+ initAdminContext: initAdminContext,
36
+ RouterAdapter: NextRouterAdapter
37
37
  });
38
38
  //# sourceMappingURL=layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","names":["RootLayout","UIRootLayout","Inter","Roboto_Mono","React","NextRouterAdapter","nextServerAdapter","inter","subsets","variable","robotoMono","nextDependencyChecks","dependencyVersions","next","required","version","metadata","props","_jsx","additionalDependencyChecks","fonts","className","RouterAdapter","serverAdapter"],"sources":["../../src/adapters/layout.tsx"],"sourcesContent":["import { RootLayout as UIRootLayout } from '@payloadcms/ui/layouts'\n// @ts-expect-error - TS6 NodeNext rejects deep imports into `next` (no `exports` field), but Next.js compiler requires this exact specifier\nimport { Inter, Roboto_Mono } from 'next/font/google'\nimport React from 'react'\n\nimport { NextRouterAdapter } from './router.js'\nimport { nextServerAdapter } from './server.js'\n// SCSS import lives here (not in `@payloadcms/ui`) so the esbuild bundle that produces\n// `@payloadcms/next/css` (`dist/prod/styles.css`) can follow the SCSS chain. esbuild\n// treats `@payloadcms/ui` as external; any SCSS import inside that package is invisible\n// to it, so the import must be reachable from within `packages/next/src/`.\nimport '@payloadcms/ui/scss/app.scss'\n\nconst inter = Inter({\n subsets: ['latin'],\n variable: '--font-family-sans',\n})\n\nconst robotoMono = Roboto_Mono({\n subsets: ['latin'],\n variable: '--font-family-mono',\n})\n\nconst nextDependencyChecks = {\n dependencyVersions: {\n next: {\n required: false,\n version: '>=15.0.0',\n },\n },\n}\n\nexport { metadata } from '@payloadcms/ui/layouts'\n\ntype Props = Omit<\n React.ComponentProps<typeof UIRootLayout>,\n 'additionalDependencyChecks' | 'fonts' | 'RouterAdapter' | 'serverAdapter'\n>\n\nexport const RootLayout = (props: Props) => (\n <UIRootLayout\n {...props}\n additionalDependencyChecks={nextDependencyChecks}\n fonts={[\n { className: inter.className, variable: inter.variable },\n { className: robotoMono.className, variable: robotoMono.variable },\n ]}\n RouterAdapter={NextRouterAdapter}\n serverAdapter={nextServerAdapter}\n />\n)\n"],"mappings":";AAAA,SAASA,UAAA,IAAcC,YAAY,QAAQ;AAC3C;AACA,SAASC,KAAK,EAAEC,WAAW,QAAQ;AACnC,OAAOC,KAAA,MAAW;AAElB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,QAAQ;AAOlC,MAAMC,KAAA,GAAQL,KAAA,CAAM;EAClBM,OAAA,EAAS,CAAC,QAAQ;EAClBC,QAAA,EAAU;AACZ;AAEA,MAAMC,UAAA,GAAaP,WAAA,CAAY;EAC7BK,OAAA,EAAS,CAAC,QAAQ;EAClBC,QAAA,EAAU;AACZ;AAEA,MAAME,oBAAA,GAAuB;EAC3BC,kBAAA,EAAoB;IAClBC,IAAA,EAAM;MACJC,QAAA,EAAU;MACVC,OAAA,EAAS;IACX;EACF;AACF;AAEA,SAASC,QAAQ,QAAQ;AAOzB,OAAO,MAAMhB,UAAA,GAAciB,KAAA,iBACzBC,IAAA,CAACjB,YAAA;EACE,GAAGgB,KAAK;EACTE,0BAAA,EAA4BR,oBAAA;EAC5BS,KAAA,EAAO,CACL;IAAEC,SAAA,EAAWd,KAAA,CAAMc,SAAS;IAAEZ,QAAA,EAAUF,KAAA,CAAME;EAAS,GACvD;IAAEY,SAAA,EAAWX,UAAA,CAAWW,SAAS;IAAEZ,QAAA,EAAUC,UAAA,CAAWD;EAAS,EAClE;EACDa,aAAA,EAAejB,iBAAA;EACfkB,aAAA,EAAejB","ignoreList":[]}
1
+ {"version":3,"file":"layout.js","names":["RootLayout","UIRootLayout","Inter","Roboto_Mono","React","initAdminContext","NextRouterAdapter","inter","subsets","variable","robotoMono","nextDependencyChecks","dependencyVersions","next","required","version","metadata","props","_jsx","additionalDependencyChecks","fonts","className","RouterAdapter"],"sources":["../../src/adapters/layout.tsx"],"sourcesContent":["import { RootLayout as UIRootLayout } from '@payloadcms/ui/layouts'\n// @ts-expect-error - TS6 NodeNext rejects deep imports into `next` (no `exports` field), but Next.js compiler requires this exact specifier\nimport { Inter, Roboto_Mono } from 'next/font/google'\nimport React from 'react'\n\nimport { initAdminContext } from '../utilities/initAdminContext.js'\nimport { NextRouterAdapter } from './router.js'\n// CSS import lives here (not in `@payloadcms/ui`) so the esbuild bundle that produces\n// `@payloadcms/next/css` (`dist/prod/styles.css`) can follow the CSS chain. esbuild\n// treats `@payloadcms/ui` as external; any CSS import inside that package is invisible\n// to it, so the import must be reachable from within `packages/next/src/`.\nimport '@payloadcms/ui/css/app.css'\n\nconst inter = Inter({\n subsets: ['latin'],\n variable: '--font-family-sans',\n})\n\nconst robotoMono = Roboto_Mono({\n subsets: ['latin'],\n variable: '--font-family-mono',\n})\n\nconst nextDependencyChecks = {\n dependencyVersions: {\n next: {\n required: false,\n version: '>=15.0.0',\n },\n },\n}\n\nexport { metadata } from '@payloadcms/ui/layouts'\n\ntype Props = Omit<\n React.ComponentProps<typeof UIRootLayout>,\n 'additionalDependencyChecks' | 'fonts' | 'initAdminContext' | 'RouterAdapter'\n>\n\nexport const RootLayout = (props: Props) => (\n <UIRootLayout\n {...props}\n additionalDependencyChecks={nextDependencyChecks}\n fonts={[\n { className: inter.className, variable: inter.variable },\n { className: robotoMono.className, variable: robotoMono.variable },\n ]}\n initAdminContext={initAdminContext}\n RouterAdapter={NextRouterAdapter}\n />\n)\n"],"mappings":";AAAA,SAASA,UAAA,IAAcC,YAAY,QAAQ;AAC3C;AACA,SAASC,KAAK,EAAEC,WAAW,QAAQ;AACnC,OAAOC,KAAA,MAAW;AAElB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,iBAAiB,QAAQ;AAOlC,MAAMC,KAAA,GAAQL,KAAA,CAAM;EAClBM,OAAA,EAAS,CAAC,QAAQ;EAClBC,QAAA,EAAU;AACZ;AAEA,MAAMC,UAAA,GAAaP,WAAA,CAAY;EAC7BK,OAAA,EAAS,CAAC,QAAQ;EAClBC,QAAA,EAAU;AACZ;AAEA,MAAME,oBAAA,GAAuB;EAC3BC,kBAAA,EAAoB;IAClBC,IAAA,EAAM;MACJC,QAAA,EAAU;MACVC,OAAA,EAAS;IACX;EACF;AACF;AAEA,SAASC,QAAQ,QAAQ;AAOzB,OAAO,MAAMhB,UAAA,GAAciB,KAAA,iBACzBC,IAAA,CAACjB,YAAA;EACE,GAAGgB,KAAK;EACTE,0BAAA,EAA4BR,oBAAA;EAC5BS,KAAA,EAAO,CACL;IAAEC,SAAA,EAAWd,KAAA,CAAMc,SAAS;IAAEZ,QAAA,EAAUF,KAAA,CAAME;EAAS,GACvD;IAAEY,SAAA,EAAWX,UAAA,CAAWW,SAAS;IAAEZ,QAAA,EAAUC,UAAA,CAAWD;EAAS,EAClE;EACDJ,gBAAA,EAAkBA,gBAAA;EAClBiB,aAAA,EAAehB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","names":["generatePageMetadata","generateMetadata","getNextRequestI18n","adminViews","config","configPromise","params","paramsPromise","i18n","metadata"],"sources":["../../src/adapters/metadata.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { generatePageMetadata as generateMetadata } from '@payloadcms/ui/views/Root/generatePageMetadata'\n\nimport { getNextRequestI18n } from '../utilities/getNextRequestI18n.js'\nimport { adminViews } from './views.js'\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: Promise<{\n [key: string]: string | string[]\n }>\n searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}\n\nexport const generatePageMetadata = async ({\n config: configPromise,\n params: paramsPromise,\n}: Args): Promise<Metadata> => {\n const config = await configPromise\n const params = await paramsPromise\n const i18n = await getNextRequestI18n({ config })\n\n const metadata = await generateMetadata({ adminViews, config, i18n, params })\n\n return metadata as unknown as Metadata\n}\n"],"mappings":"AAGA,SAASA,oBAAA,IAAwBC,gBAAgB,QAAQ;AAEzD,SAASC,kBAAkB,QAAQ;AACnC,SAASC,UAAU,QAAQ;AAY3B,OAAO,MAAMH,oBAAA,GAAuB,MAAAA,CAAO;EACzCI,MAAA,EAAQC,aAAa;EACrBC,MAAA,EAAQC;AAAa,CAChB;EACL,MAAMH,MAAA,GAAS,MAAMC,aAAA;EACrB,MAAMC,MAAA,GAAS,MAAMC,aAAA;EACrB,MAAMC,IAAA,GAAO,MAAMN,kBAAA,CAAmB;IAAEE;EAAO;EAE/C,MAAMK,QAAA,GAAW,MAAMR,gBAAA,CAAiB;IAAEE,UAAA;IAAYC,MAAA;IAAQI,IAAA;IAAMF;EAAO;EAE3E,OAAOG,QAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"metadata.js","names":["generatePageMetadata","generateMetadata","getNextRequestI18n","adminViews","config","configPromise","params","paramsPromise","i18n","metadata"],"sources":["../../src/adapters/metadata.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { generatePageMetadata as generateMetadata } from '@payloadcms/ui/views/Root/generatePageMetadata'\n\nimport { getNextRequestI18n } from '../utilities/getNextRequestI18n.js'\nimport { adminViews } from './views.js'\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: Promise<{\n [key: string]: string | string[]\n }>\n searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}\n\nexport const generatePageMetadata = async ({\n config: configPromise,\n params: paramsPromise,\n}: Args): Promise<Metadata> => {\n const config = await configPromise\n const params = await paramsPromise\n const i18n = await getNextRequestI18n({ config })\n\n const metadata = await generateMetadata({ adminViews, config, i18n, params })\n\n return metadata\n}\n"],"mappings":"AAGA,SAASA,oBAAA,IAAwBC,gBAAgB,QAAQ;AAEzD,SAASC,kBAAkB,QAAQ;AACnC,SAASC,UAAU,QAAQ;AAY3B,OAAO,MAAMH,oBAAA,GAAuB,MAAAA,CAAO;EACzCI,MAAA,EAAQC,aAAa;EACrBC,MAAA,EAAQC;AAAa,CAChB;EACL,MAAMH,MAAA,GAAS,MAAMC,aAAA;EACrB,MAAMC,MAAA,GAAS,MAAMC,aAAA;EACrB,MAAMC,IAAA,GAAO,MAAMN,kBAAA,CAAmB;IAAEE;EAAO;EAE/C,MAAMK,QAAA,GAAW,MAAMR,gBAAA,CAAiB;IAAEE,UAAA;IAAYC,MAAA;IAAQI,IAAA;IAAMF;EAAO;EAE3E,OAAOG,QAAA;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/adapters/router.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,MAAM,OAAO,CAAA;AAiCzB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA6BrE,CAAA"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/adapters/router.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,MAAM,OAAO,CAAA;AAgCzB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA6BrE,CAAA"}
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx } from "react/jsx-runtime";
4
5
  import { RouterAdapterContext } from '@payloadcms/ui';
5
6
  import NextLinkImport from 'next/link.js';
@@ -25,30 +26,66 @@ const NextLinkAdapter = ({
25
26
  children: children
26
27
  });
27
28
  };
28
- export const NextRouterAdapter = ({
29
- children
30
- }) => {
29
+ export const NextRouterAdapter = t0 => {
30
+ const $ = _c(13);
31
+ const {
32
+ children
33
+ } = t0;
31
34
  const nextRouter = useNextRouter();
32
35
  const pathname = useNextPathname();
33
36
  const searchParams = useNextSearchParams();
34
37
  const params = useNextParams();
35
- const router = React.useMemo(() => ({
36
- back: nextRouter.back,
37
- push: nextRouter.push,
38
- refresh: nextRouter.refresh,
39
- replace: nextRouter.replace,
40
- replaceState: url => window.history.replaceState(null, '', url)
41
- }), [nextRouter]);
42
- const value = React.useMemo(() => ({
43
- Link: NextLinkAdapter,
44
- params: params,
45
- pathname,
46
- router,
47
- searchParams
48
- }), [params, pathname, router, searchParams]);
49
- return /*#__PURE__*/_jsx(RouterAdapterContext, {
50
- value: value,
51
- children: children
52
- });
38
+ let t1;
39
+ if ($[0] !== nextRouter.back || $[1] !== nextRouter.push || $[2] !== nextRouter.refresh || $[3] !== nextRouter.replace) {
40
+ t1 = {
41
+ back: nextRouter.back,
42
+ push: nextRouter.push,
43
+ refresh: nextRouter.refresh,
44
+ replace: nextRouter.replace,
45
+ replaceState: _temp
46
+ };
47
+ $[0] = nextRouter.back;
48
+ $[1] = nextRouter.push;
49
+ $[2] = nextRouter.refresh;
50
+ $[3] = nextRouter.replace;
51
+ $[4] = t1;
52
+ } else {
53
+ t1 = $[4];
54
+ }
55
+ const router = t1;
56
+ let t2;
57
+ if ($[5] !== params || $[6] !== pathname || $[7] !== router || $[8] !== searchParams) {
58
+ t2 = {
59
+ Link: NextLinkAdapter,
60
+ params,
61
+ pathname,
62
+ router,
63
+ searchParams
64
+ };
65
+ $[5] = params;
66
+ $[6] = pathname;
67
+ $[7] = router;
68
+ $[8] = searchParams;
69
+ $[9] = t2;
70
+ } else {
71
+ t2 = $[9];
72
+ }
73
+ const value = t2;
74
+ let t3;
75
+ if ($[10] !== children || $[11] !== value) {
76
+ t3 = _jsx(RouterAdapterContext, {
77
+ value,
78
+ children
79
+ });
80
+ $[10] = children;
81
+ $[11] = value;
82
+ $[12] = t3;
83
+ } else {
84
+ t3 = $[12];
85
+ }
86
+ return t3;
53
87
  };
88
+ function _temp(url) {
89
+ return window.history.replaceState(null, "", url);
90
+ }
54
91
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","names":["RouterAdapterContext","NextLinkImport","useParams","useNextParams","usePathname","useNextPathname","useRouter","useNextRouter","useSearchParams","useNextSearchParams","React","NextLink","default","NextLinkAdapter","children","href","prefetch","ref","replace","scroll","rest","_jsx","NextRouterAdapter","nextRouter","pathname","searchParams","params","router","useMemo","back","push","refresh","replaceState","url","window","history","value","Link"],"sources":["../../src/adapters/router.tsx"],"sourcesContent":["'use client'\nimport type { RouterAdapterContextValue } from '@payloadcms/ui'\nimport type { LinkAdapterProps } from 'payload'\n\nimport { RouterAdapterContext } from '@payloadcms/ui'\nimport NextLinkImport from 'next/link.js'\nimport {\n useParams as useNextParams,\n usePathname as useNextPathname,\n useRouter as useNextRouter,\n useSearchParams as useNextSearchParams,\n} from 'next/navigation.js'\nimport React from 'react'\n\ntype LinkComponent = React.FC<\n {\n children?: React.ReactNode\n href: string\n prefetch?: boolean\n ref?: React.Ref<HTMLAnchorElement>\n replace?: boolean\n scroll?: boolean\n } & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'>\n>\n\nconst NextLink: LinkComponent = ('default' in NextLinkImport\n ? NextLinkImport.default\n : NextLinkImport) as unknown as LinkComponent\n\nconst NextLinkAdapter: React.FC<LinkAdapterProps> = ({\n children,\n href,\n prefetch,\n ref,\n replace,\n scroll,\n ...rest\n}) => {\n return (\n <NextLink href={href} prefetch={prefetch} ref={ref} replace={replace} scroll={scroll} {...rest}>\n {children}\n </NextLink>\n )\n}\n\nexport const NextRouterAdapter: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const nextRouter = useNextRouter()\n const pathname = useNextPathname()\n const searchParams = useNextSearchParams()\n const params = useNextParams()\n\n const router = React.useMemo<RouterAdapterContextValue['router']>(\n () => ({\n back: nextRouter.back,\n push: nextRouter.push,\n refresh: nextRouter.refresh,\n replace: nextRouter.replace,\n replaceState: (url) => window.history.replaceState(null, '', url),\n }),\n [nextRouter],\n )\n\n const value = React.useMemo<RouterAdapterContextValue>(\n () => ({\n Link: NextLinkAdapter,\n params: params as Record<string, string | string[]>,\n pathname,\n router,\n searchParams,\n }),\n [params, pathname, router, searchParams],\n )\n\n return <RouterAdapterContext value={value}>{children}</RouterAdapterContext>\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,oBAAoB,QAAQ;AACrC,OAAOC,cAAA,MAAoB;AAC3B,SACEC,SAAA,IAAaC,aAAa,EAC1BC,WAAA,IAAeC,eAAe,EAC9BC,SAAA,IAAaC,aAAa,EAC1BC,eAAA,IAAmBC,mBAAmB,QACjC;AACP,OAAOC,KAAA,MAAW;AAalB,MAAMC,QAAA,GAA2B,aAAaV,cAAA,GAC1CA,cAAA,CAAeW,OAAO,GACtBX,cAAA;AAEJ,MAAMY,eAAA,GAA8CA,CAAC;EACnDC,QAAQ;EACRC,IAAI;EACJC,QAAQ;EACRC,GAAG;EACHC,OAAO;EACPC,MAAM;EACN,GAAGC;AAAA,CACJ;EACC,oBACEC,IAAA,CAACV,QAAA;IAASI,IAAA,EAAMA,IAAA;IAAMC,QAAA,EAAUA,QAAA;IAAUC,GAAA,EAAKA,GAAA;IAAKC,OAAA,EAASA,OAAA;IAASC,MAAA,EAAQA,MAAA;IAAS,GAAGC,IAAI;cAC3FN;;AAGP;AAEA,OAAO,MAAMQ,iBAAA,GAA6DA,CAAC;EAAER;AAAQ,CAAE;EACrF,MAAMS,UAAA,GAAahB,aAAA;EACnB,MAAMiB,QAAA,GAAWnB,eAAA;EACjB,MAAMoB,YAAA,GAAehB,mBAAA;EACrB,MAAMiB,MAAA,GAASvB,aAAA;EAEf,MAAMwB,MAAA,GAASjB,KAAA,CAAMkB,OAAO,CAC1B,OAAO;IACLC,IAAA,EAAMN,UAAA,CAAWM,IAAI;IACrBC,IAAA,EAAMP,UAAA,CAAWO,IAAI;IACrBC,OAAA,EAASR,UAAA,CAAWQ,OAAO;IAC3Bb,OAAA,EAASK,UAAA,CAAWL,OAAO;IAC3Bc,YAAA,EAAeC,GAAA,IAAQC,MAAA,CAAOC,OAAO,CAACH,YAAY,CAAC,MAAM,IAAIC,GAAA;EAC/D,IACA,CAACV,UAAA,CAAW;EAGd,MAAMa,KAAA,GAAQ1B,KAAA,CAAMkB,OAAO,CACzB,OAAO;IACLS,IAAA,EAAMxB,eAAA;IACNa,MAAA,EAAQA,MAAA;IACRF,QAAA;IACAG,MAAA;IACAF;EACF,IACA,CAACC,MAAA,EAAQF,QAAA,EAAUG,MAAA,EAAQF,YAAA,CAAa;EAG1C,oBAAOJ,IAAA,CAACrB,oBAAA;IAAqBoC,KAAA,EAAOA,KAAA;cAAQtB;;AAC9C","ignoreList":[]}
1
+ {"version":3,"file":"router.js","names":["c","_c","RouterAdapterContext","NextLinkImport","useParams","useNextParams","usePathname","useNextPathname","useRouter","useNextRouter","useSearchParams","useNextSearchParams","React","NextLink","default","NextLinkAdapter","children","href","prefetch","ref","replace","scroll","rest","_jsx","NextRouterAdapter","t0","$","nextRouter","pathname","searchParams","params","t1","back","push","refresh","replaceState","_temp","router","t2","Link","value","t3","url","window","history"],"sources":["../../src/adapters/router.tsx"],"sourcesContent":["'use client'\nimport type { RouterAdapterContextValue } from '@payloadcms/ui'\nimport type { LinkAdapterProps } from 'payload'\n\nimport { RouterAdapterContext } from '@payloadcms/ui'\nimport NextLinkImport from 'next/link.js'\nimport {\n useParams as useNextParams,\n usePathname as useNextPathname,\n useRouter as useNextRouter,\n useSearchParams as useNextSearchParams,\n} from 'next/navigation.js'\nimport React from 'react'\n\ntype LinkComponent = React.FC<\n {\n children?: React.ReactNode\n href: string\n prefetch?: boolean\n ref?: React.Ref<HTMLAnchorElement>\n replace?: boolean\n scroll?: boolean\n } & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'>\n>\n\nconst NextLink: LinkComponent =\n 'default' in NextLinkImport ? NextLinkImport.default : NextLinkImport\n\nconst NextLinkAdapter: React.FC<LinkAdapterProps> = ({\n children,\n href,\n prefetch,\n ref,\n replace,\n scroll,\n ...rest\n}) => {\n return (\n <NextLink href={href} prefetch={prefetch} ref={ref} replace={replace} scroll={scroll} {...rest}>\n {children}\n </NextLink>\n )\n}\n\nexport const NextRouterAdapter: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const nextRouter = useNextRouter()\n const pathname = useNextPathname()\n const searchParams = useNextSearchParams()\n const params = useNextParams()\n\n const router = React.useMemo<RouterAdapterContextValue['router']>(\n () => ({\n back: nextRouter.back,\n push: nextRouter.push,\n refresh: nextRouter.refresh,\n replace: nextRouter.replace,\n replaceState: (url) => window.history.replaceState(null, '', url),\n }),\n [nextRouter],\n )\n\n const value = React.useMemo<RouterAdapterContextValue>(\n () => ({\n Link: NextLinkAdapter,\n params,\n pathname,\n router,\n searchParams,\n }),\n [params, pathname, router, searchParams],\n )\n\n return <RouterAdapterContext value={value}>{children}</RouterAdapterContext>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,oBAAoB,QAAQ;AACrC,OAAOC,cAAA,MAAoB;AAC3B,SACEC,SAAA,IAAaC,aAAa,EAC1BC,WAAA,IAAeC,eAAe,EAC9BC,SAAA,IAAaC,aAAa,EAC1BC,eAAA,IAAmBC,mBAAmB,QACjC;AACP,OAAOC,KAAA,MAAW;AAalB,MAAMC,QAAA,GACJ,aAAaV,cAAA,GAAiBA,cAAA,CAAeW,OAAO,GAAGX,cAAA;AAEzD,MAAMY,eAAA,GAA8CA,CAAC;EACnDC,QAAQ;EACRC,IAAI;EACJC,QAAQ;EACRC,GAAG;EACHC,OAAO;EACPC,MAAM;EACN,GAAGC;AAAA,CACJ;EACC,oBACEC,IAAA,CAACV,QAAA;IAASI,IAAA,EAAMA,IAAA;IAAMC,QAAA,EAAUA,QAAA;IAAUC,GAAA,EAAKA,GAAA;IAAKC,OAAA,EAASA,OAAA;IAASC,MAAA,EAAQA,MAAA;IAAS,GAAGC,IAAI;cAC3FN;;AAGP;AAEA,OAAO,MAAMQ,iBAAA,GAA6DC,EAAA;EAAA,MAAAC,CAAA,GAAAzB,EAAA;EAAC;IAAAe;EAAA,IAAAS,EAAY;EACrF,MAAAE,UAAA,GAAmBlB,aAAA;EACnB,MAAAmB,QAAA,GAAiBrB,eAAA;EACjB,MAAAsB,YAAA,GAAqBlB,mBAAA;EACrB,MAAAmB,MAAA,GAAezB,aAAA;EAAA,IAAA0B,EAAA;EAAA,IAAAL,CAAA,QAAAC,UAAA,CAAAK,IAAA,IAAAN,CAAA,QAAAC,UAAA,CAAAM,IAAA,IAAAP,CAAA,QAAAC,UAAA,CAAAO,OAAA,IAAAR,CAAA,QAAAC,UAAA,CAAAP,OAAA;IAGNW,EAAA;MAAAC,IAAA,EACCL,UAAA,CAAAK,IAAe;MAAAC,IAAA,EACfN,UAAA,CAAAM,IAAe;MAAAC,OAAA,EACZP,UAAA,CAAAO,OAAkB;MAAAd,OAAA,EAClBO,UAAA,CAAAP,OAAkB;MAAAe,YAAA,EACbC;IAChB;IAAAV,CAAA,MAAAC,UAAA,CAAAK,IAAA;IAAAN,CAAA,MAAAC,UAAA,CAAAM,IAAA;IAAAP,CAAA,MAAAC,UAAA,CAAAO,OAAA;IAAAR,CAAA,MAAAC,UAAA,CAAAP,OAAA;IAAAM,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAPF,MAAAW,MAAA,GACSN,EAMP;EACY,IAAAO,EAAA;EAAA,IAAAZ,CAAA,QAAAI,MAAA,IAAAJ,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAW,MAAA,IAAAX,CAAA,QAAAG,YAAA;IAILS,EAAA;MAAAC,IAAA,EACCxB,eAAA;MAAAe,MAAA;MAAAF,QAAA;MAAAS,MAAA;MAAAR;IAKR;IAAAH,CAAA,MAAAI,MAAA;IAAAJ,CAAA,MAAAE,QAAA;IAAAF,CAAA,MAAAW,MAAA;IAAAX,CAAA,MAAAG,YAAA;IAAAH,CAAA,MAAAY,EAAA;EAAA;IAAAA,EAAA,GAAAZ,CAAA;EAAA;EAPF,MAAAc,KAAA,GACSF,EAMP;EACwC,IAAAG,EAAA;EAAA,IAAAf,CAAA,SAAAV,QAAA,IAAAU,CAAA,SAAAc,KAAA;IAGnCC,EAAA,GAAAlB,IAAA,CAACrB,oBAAA;MAAAsC,KAAA;MAAAxB;;;;;;;;SAADyB,E;CACT;AA7B0E,SAAAL,MAAAM,GAAA;EAAA,OAY7CC,MAAA,CAAAC,OAAc,CAAAT,YAAa,CAAC,MAAM,IAAIO,GAAA;AAAA","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import type { AdminViewAdapter, AdminViewServerProps, ImportMap, MetaConfig, SanitizedConfig } from 'payload';
2
+ import React from 'react';
2
3
  export declare const adminViews: AdminViewAdapter<AdminViewServerProps, MetaConfig>;
3
4
  type PageProps = {
4
5
  readonly config: Promise<SanitizedConfig>;
@@ -10,7 +11,7 @@ type PageProps = {
10
11
  [key: string]: string | string[];
11
12
  }>;
12
13
  };
13
- export declare const RootPage: (props: PageProps) => Promise<import("react").JSX.Element>;
14
- export declare const NotFoundPage: (props: PageProps) => Promise<import("react").JSX.Element>;
14
+ export declare const RootPage: (props: PageProps) => Promise<React.JSX.Element>;
15
+ export declare const NotFoundPage: (props: PageProps) => Promise<React.JSX.Element>;
15
16
  export {};
16
17
  //# sourceMappingURL=views.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/adapters/views.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,eAAe,EAChB,MAAM,SAAS,CAAA;AAahB,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,UAAU,CAAqB,CAAA;AAE/F,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,CAAA;AAED,eAAO,MAAM,QAAQ,UAAW,SAAS,yCACwC,CAAA;AAEjF,eAAO,MAAM,YAAY,UAAW,SAAS,yCACY,CAAA"}
1
+ {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/adapters/views.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,eAAe,EAChB,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,UAAU,CAAqB,CAAA;AAE/F,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,CAAA;AAKD,eAAO,MAAM,QAAQ,UAAiB,SAAS,+BAI9C,CAAA;AAED,eAAO,MAAM,YAAY,UAAiB,SAAS,+BAIlD,CAAA"}
@@ -1,23 +1,33 @@
1
- import { initReq } from '@payloadcms/ui/utilities/initReq';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { renderNotFoundPage } from '@payloadcms/ui/views/NotFound/page';
3
3
  import { renderRoot } from '@payloadcms/ui/views/Root';
4
4
  import { defaultAdminViews } from '@payloadcms/ui/views/Root/adminViews';
5
5
  import { notFound, redirect } from 'next/navigation.js';
6
- import { nextServerAdapter } from './server.js';
7
- const boundInitReq = args => initReq({
8
- ...args,
9
- serverAdapter: nextServerAdapter
10
- });
6
+ import React from 'react';
7
+ import { initAdminContext } from '../utilities/initAdminContext.js';
8
+ import { UnmountWhenHidden } from './UnmountWhenHidden/index.js';
11
9
  export const adminViews = defaultAdminViews;
12
- export const RootPage = props => renderRoot({
13
- ...props,
14
- adminViews,
15
- initReq: boundInitReq,
16
- notFound,
17
- redirect
18
- });
19
- export const NotFoundPage = props => renderNotFoundPage({
20
- ...props,
21
- initReq: boundInitReq
22
- });
10
+ // Set by `withPayload`. Only with `cacheComponents` does Next.js keep hidden pages mounted.
11
+ const isCacheComponentsEnabled = process.env.PAYLOAD_CACHE_COMPONENTS_ENABLED === 'true';
12
+ export const RootPage = async props => {
13
+ const page = await renderRoot({
14
+ ...props,
15
+ adminViews,
16
+ initAdminContext,
17
+ notFound,
18
+ redirect
19
+ });
20
+ return isCacheComponentsEnabled ? /*#__PURE__*/_jsx(UnmountWhenHidden, {
21
+ children: page
22
+ }) : page;
23
+ };
24
+ export const NotFoundPage = async props => {
25
+ const page = await renderNotFoundPage({
26
+ ...props,
27
+ initAdminContext
28
+ });
29
+ return isCacheComponentsEnabled ? /*#__PURE__*/_jsx(UnmountWhenHidden, {
30
+ children: page
31
+ }) : page;
32
+ };
23
33
  //# sourceMappingURL=views.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"views.js","names":["initReq","renderNotFoundPage","renderRoot","defaultAdminViews","notFound","redirect","nextServerAdapter","boundInitReq","args","serverAdapter","adminViews","RootPage","props","NotFoundPage"],"sources":["../../src/adapters/views.tsx"],"sourcesContent":["import type {\n AdminViewAdapter,\n AdminViewServerProps,\n ImportMap,\n MetaConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport { initReq } from '@payloadcms/ui/utilities/initReq'\nimport { renderNotFoundPage } from '@payloadcms/ui/views/NotFound/page'\nimport { renderRoot } from '@payloadcms/ui/views/Root'\nimport { defaultAdminViews } from '@payloadcms/ui/views/Root/adminViews'\nimport { notFound, redirect } from 'next/navigation.js'\n\nimport { nextServerAdapter } from './server.js'\n\nconst boundInitReq: Parameters<typeof renderRoot>[0]['initReq'] = (args) =>\n initReq({ ...args, serverAdapter: nextServerAdapter })\n\nexport const adminViews: AdminViewAdapter<AdminViewServerProps, MetaConfig> = defaultAdminViews\n\ntype PageProps = {\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\nexport const RootPage = (props: PageProps) =>\n renderRoot({ ...props, adminViews, initReq: boundInitReq, notFound, redirect })\n\nexport const NotFoundPage = (props: PageProps) =>\n renderNotFoundPage({ ...props, initReq: boundInitReq })\n"],"mappings":"AAQA,SAASA,OAAO,QAAQ;AACxB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,UAAU,QAAQ;AAC3B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ;AAEnC,SAASC,iBAAiB,QAAQ;AAElC,MAAMC,YAAA,GAA6DC,IAAA,IACjER,OAAA,CAAQ;EAAE,GAAGQ,IAAI;EAAEC,aAAA,EAAeH;AAAkB;AAEtD,OAAO,MAAMI,UAAA,GAAiEP,iBAAA;AAa9E,OAAO,MAAMQ,QAAA,GAAYC,KAAA,IACvBV,UAAA,CAAW;EAAE,GAAGU,KAAK;EAAEF,UAAA;EAAYV,OAAA,EAASO,YAAA;EAAcH,QAAA;EAAUC;AAAS;AAE/E,OAAO,MAAMQ,YAAA,GAAgBD,KAAA,IAC3BX,kBAAA,CAAmB;EAAE,GAAGW,KAAK;EAAEZ,OAAA,EAASO;AAAa","ignoreList":[]}
1
+ {"version":3,"file":"views.js","names":["renderNotFoundPage","renderRoot","defaultAdminViews","notFound","redirect","React","initAdminContext","UnmountWhenHidden","adminViews","isCacheComponentsEnabled","process","env","PAYLOAD_CACHE_COMPONENTS_ENABLED","RootPage","props","page","_jsx","NotFoundPage"],"sources":["../../src/adapters/views.tsx"],"sourcesContent":["import type {\n AdminViewAdapter,\n AdminViewServerProps,\n ImportMap,\n MetaConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport { renderNotFoundPage } from '@payloadcms/ui/views/NotFound/page'\nimport { renderRoot } from '@payloadcms/ui/views/Root'\nimport { defaultAdminViews } from '@payloadcms/ui/views/Root/adminViews'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport { initAdminContext } from '../utilities/initAdminContext.js'\nimport { UnmountWhenHidden } from './UnmountWhenHidden/index.js'\n\nexport const adminViews: AdminViewAdapter<AdminViewServerProps, MetaConfig> = defaultAdminViews\n\ntype PageProps = {\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\n// Set by `withPayload`. Only with `cacheComponents` does Next.js keep hidden pages mounted.\nconst isCacheComponentsEnabled = process.env.PAYLOAD_CACHE_COMPONENTS_ENABLED === 'true'\n\nexport const RootPage = async (props: PageProps) => {\n const page = await renderRoot({ ...props, adminViews, initAdminContext, notFound, redirect })\n\n return isCacheComponentsEnabled ? <UnmountWhenHidden>{page}</UnmountWhenHidden> : page\n}\n\nexport const NotFoundPage = async (props: PageProps) => {\n const page = await renderNotFoundPage({ ...props, initAdminContext })\n\n return isCacheComponentsEnabled ? <UnmountWhenHidden>{page}</UnmountWhenHidden> : page\n}\n"],"mappings":";AAQA,SAASA,kBAAkB,QAAQ;AACnC,SAASC,UAAU,QAAQ;AAC3B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ;AACnC,OAAOC,KAAA,MAAW;AAElB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,iBAAiB,QAAQ;AAElC,OAAO,MAAMC,UAAA,GAAiEN,iBAAA;AAa9E;AACA,MAAMO,wBAAA,GAA2BC,OAAA,CAAQC,GAAG,CAACC,gCAAgC,KAAK;AAElF,OAAO,MAAMC,QAAA,GAAW,MAAOC,KAAA;EAC7B,MAAMC,IAAA,GAAO,MAAMd,UAAA,CAAW;IAAE,GAAGa,KAAK;IAAEN,UAAA;IAAYF,gBAAA;IAAkBH,QAAA;IAAUC;EAAS;EAE3F,OAAOK,wBAAA,gBAA2BO,IAAA,CAACT,iBAAA;cAAmBQ;OAA4BA,IAAA;AACpF;AAEA,OAAO,MAAME,YAAA,GAAe,MAAOH,KAAA;EACjC,MAAMC,IAAA,GAAO,MAAMf,kBAAA,CAAmB;IAAE,GAAGc,KAAK;IAAER;EAAiB;EAEnE,OAAOG,wBAAA,gBAA2BO,IAAA,CAACT,iBAAA;cAAmBQ;OAA4BA,IAAA;AACpF","ignoreList":[]}
@@ -1,19 +1,4 @@
1
- import type { AuthCollectionSlug, LoginResult, MaybePromise, SanitizedConfig } from 'payload';
2
- type LoginWithEmail<TSlug extends AuthCollectionSlug> = {
3
- collection: TSlug;
4
- config: MaybePromise<SanitizedConfig>;
5
- email: string;
6
- password: string;
7
- username?: never;
8
- };
9
- type LoginWithUsername<TSlug extends AuthCollectionSlug> = {
10
- collection: TSlug;
11
- config: MaybePromise<SanitizedConfig>;
12
- email?: never;
13
- password: string;
14
- username: string;
15
- };
16
- type LoginArgs<TSlug extends AuthCollectionSlug> = LoginWithEmail<TSlug> | LoginWithUsername<TSlug>;
17
- export declare function login<TSlug extends AuthCollectionSlug>({ collection, config, email, password, username, }: LoginArgs<TSlug>): Promise<LoginResult<TSlug>>;
18
- export {};
1
+ import type { AuthCollectionSlug, LoginResult } from 'payload';
2
+ import { type LoginArgsWithoutServerAdapter } from 'payload/auth';
3
+ export declare function login<TSlug extends AuthCollectionSlug>(args: LoginArgsWithoutServerAdapter<TSlug>): Promise<LoginResult<TSlug>>;
19
4
  //# sourceMappingURL=login.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM7F,KAAK,cAAc,CAAC,KAAK,SAAS,kBAAkB,IAAI;IACtD,UAAU,EAAE,KAAK,CAAA;IACjB,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAA;CACjB,CAAA;AAED,KAAK,iBAAiB,CAAC,KAAK,SAAS,kBAAkB,IAAI;IACzD,UAAU,EAAE,KAAK,CAAA;IACjB,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;IACrC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AACD,KAAK,SAAS,CAAC,KAAK,SAAS,kBAAkB,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;AAEnG,wBAAsB,KAAK,CAAC,KAAK,SAAS,kBAAkB,EAAE,EAC5D,UAAU,EACV,MAAM,EACN,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAqDhD"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,EAAkB,KAAK,6BAA6B,EAAoB,MAAM,cAAc,CAAA;AAInG,wBAAsB,KAAK,CAAC,KAAK,SAAS,kBAAkB,EAC1D,IAAI,EAAE,6BAA6B,CAAC,KAAK,CAAC,GACzC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAE7B"}
@@ -1,67 +1,11 @@
1
1
  'use server';
2
2
 
3
- import { getPayload } from 'payload';
4
- import { setPayloadAuthCookie } from '../utilities/setPayloadAuthCookie.js';
5
- export async function login({
6
- collection,
7
- config,
8
- email,
9
- password,
10
- username
11
- }) {
12
- const payload = await getPayload({
13
- config,
14
- cron: true
3
+ import { login as loginFn } from 'payload/auth';
4
+ import { nextServerAdapter } from '../adapters/server.js';
5
+ export async function login(args) {
6
+ return loginFn({
7
+ ...args,
8
+ serverAdapter: nextServerAdapter
15
9
  });
16
- const authConfig = payload.collections[collection]?.config.auth;
17
- if (!authConfig) {
18
- throw new Error(`No auth config found for collection: ${collection}`);
19
- }
20
- const loginWithUsername = authConfig?.loginWithUsername ?? false;
21
- if (loginWithUsername) {
22
- if (loginWithUsername.allowEmailLogin) {
23
- if (!email && !username) {
24
- throw new Error('Email or username is required.');
25
- }
26
- } else {
27
- if (!username) {
28
- throw new Error('Username is required.');
29
- }
30
- }
31
- } else {
32
- if (!email) {
33
- throw new Error('Email is required.');
34
- }
35
- }
36
- let loginData;
37
- if (loginWithUsername) {
38
- loginData = username ? {
39
- password,
40
- username
41
- } : {
42
- email,
43
- password
44
- };
45
- } else {
46
- loginData = {
47
- email,
48
- password
49
- };
50
- }
51
- const result = await payload.login({
52
- collection,
53
- data: loginData
54
- });
55
- if (result.token) {
56
- await setPayloadAuthCookie({
57
- authConfig,
58
- cookiePrefix: payload.config.cookiePrefix,
59
- token: result.token
60
- });
61
- }
62
- if ('removeTokenFromResponses' in config && config.removeTokenFromResponses) {
63
- delete result.token;
64
- }
65
- return result;
66
10
  }
67
11
  //# sourceMappingURL=login.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","names":["getPayload","setPayloadAuthCookie","login","collection","config","email","password","username","payload","cron","authConfig","collections","auth","Error","loginWithUsername","allowEmailLogin","loginData","result","data","token","cookiePrefix","removeTokenFromResponses"],"sources":["../../src/auth/login.ts"],"sourcesContent":["'use server'\n\nimport type { AuthCollectionSlug, LoginResult, MaybePromise, SanitizedConfig } from 'payload'\n\nimport { getPayload } from 'payload'\n\nimport { setPayloadAuthCookie } from '../utilities/setPayloadAuthCookie.js'\n\ntype LoginWithEmail<TSlug extends AuthCollectionSlug> = {\n collection: TSlug\n config: MaybePromise<SanitizedConfig>\n email: string\n password: string\n username?: never\n}\n\ntype LoginWithUsername<TSlug extends AuthCollectionSlug> = {\n collection: TSlug\n config: MaybePromise<SanitizedConfig>\n email?: never\n password: string\n username: string\n}\ntype LoginArgs<TSlug extends AuthCollectionSlug> = LoginWithEmail<TSlug> | LoginWithUsername<TSlug>\n\nexport async function login<TSlug extends AuthCollectionSlug>({\n collection,\n config,\n email,\n password,\n username,\n}: LoginArgs<TSlug>): Promise<LoginResult<TSlug>> {\n const payload = await getPayload({ config, cron: true })\n\n const authConfig = payload.collections[collection]?.config.auth\n\n if (!authConfig) {\n throw new Error(`No auth config found for collection: ${collection}`)\n }\n\n const loginWithUsername = authConfig?.loginWithUsername ?? false\n\n if (loginWithUsername) {\n if (loginWithUsername.allowEmailLogin) {\n if (!email && !username) {\n throw new Error('Email or username is required.')\n }\n } else {\n if (!username) {\n throw new Error('Username is required.')\n }\n }\n } else {\n if (!email) {\n throw new Error('Email is required.')\n }\n }\n\n let loginData\n\n if (loginWithUsername) {\n loginData = username ? { password, username } : { email, password }\n } else {\n loginData = { email, password }\n }\n\n const result = await payload.login({\n collection,\n data: loginData,\n })\n\n if (result.token) {\n await setPayloadAuthCookie({\n authConfig,\n cookiePrefix: payload.config.cookiePrefix,\n token: result.token,\n })\n }\n\n if ('removeTokenFromResponses' in config && config.removeTokenFromResponses) {\n delete result.token\n }\n\n return result\n}\n"],"mappings":"AAAA;;AAIA,SAASA,UAAU,QAAQ;AAE3B,SAASC,oBAAoB,QAAQ;AAmBrC,OAAO,eAAeC,MAAwC;EAC5DC,UAAU;EACVC,MAAM;EACNC,KAAK;EACLC,QAAQ;EACRC;AAAQ,CACS;EACjB,MAAMC,OAAA,GAAU,MAAMR,UAAA,CAAW;IAAEI,MAAA;IAAQK,IAAA,EAAM;EAAK;EAEtD,MAAMC,UAAA,GAAaF,OAAA,CAAQG,WAAW,CAACR,UAAA,CAAW,EAAEC,MAAA,CAAOQ,IAAA;EAE3D,IAAI,CAACF,UAAA,EAAY;IACf,MAAM,IAAIG,KAAA,CAAM,wCAAwCV,UAAA,EAAY;EACtE;EAEA,MAAMW,iBAAA,GAAoBJ,UAAA,EAAYI,iBAAA,IAAqB;EAE3D,IAAIA,iBAAA,EAAmB;IACrB,IAAIA,iBAAA,CAAkBC,eAAe,EAAE;MACrC,IAAI,CAACV,KAAA,IAAS,CAACE,QAAA,EAAU;QACvB,MAAM,IAAIM,KAAA,CAAM;MAClB;IACF,OAAO;MACL,IAAI,CAACN,QAAA,EAAU;QACb,MAAM,IAAIM,KAAA,CAAM;MAClB;IACF;EACF,OAAO;IACL,IAAI,CAACR,KAAA,EAAO;MACV,MAAM,IAAIQ,KAAA,CAAM;IAClB;EACF;EAEA,IAAIG,SAAA;EAEJ,IAAIF,iBAAA,EAAmB;IACrBE,SAAA,GAAYT,QAAA,GAAW;MAAED,QAAA;MAAUC;IAAS,IAAI;MAAEF,KAAA;MAAOC;IAAS;EACpE,OAAO;IACLU,SAAA,GAAY;MAAEX,KAAA;MAAOC;IAAS;EAChC;EAEA,MAAMW,MAAA,GAAS,MAAMT,OAAA,CAAQN,KAAK,CAAC;IACjCC,UAAA;IACAe,IAAA,EAAMF;EACR;EAEA,IAAIC,MAAA,CAAOE,KAAK,EAAE;IAChB,MAAMlB,oBAAA,CAAqB;MACzBS,UAAA;MACAU,YAAA,EAAcZ,OAAA,CAAQJ,MAAM,CAACgB,YAAY;MACzCD,KAAA,EAAOF,MAAA,CAAOE;IAChB;EACF;EAEA,IAAI,8BAA8Bf,MAAA,IAAUA,MAAA,CAAOiB,wBAAwB,EAAE;IAC3E,OAAOJ,MAAA,CAAOE,KAAK;EACrB;EAEA,OAAOF,MAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"login.js","names":["login","loginFn","nextServerAdapter","args","serverAdapter"],"sources":["../../src/auth/login.ts"],"sourcesContent":["'use server'\n\nimport type { AuthCollectionSlug, LoginResult } from 'payload'\n\nimport { type LoginArgs, type LoginArgsWithoutServerAdapter, login as loginFn } from 'payload/auth'\n\nimport { nextServerAdapter } from '../adapters/server.js'\n\nexport async function login<TSlug extends AuthCollectionSlug>(\n args: LoginArgsWithoutServerAdapter<TSlug>,\n): Promise<LoginResult<TSlug>> {\n return loginFn({ ...args, serverAdapter: nextServerAdapter })\n}\n"],"mappings":"AAAA;;AAIA,SAA6DA,KAAA,IAASC,OAAO,QAAQ;AAErF,SAASC,iBAAiB,QAAQ;AAElC,OAAO,eAAeF,MACpBG,IAA0C;EAE1C,OAAOF,OAAA,CAAQ;IAAE,GAAGE,IAAI;IAAEC,aAAA,EAAeF;EAAkB;AAC7D","ignoreList":[]}
@@ -1,8 +1,5 @@
1
- import type { MaybePromise, SanitizedConfig } from 'payload';
2
- export declare function logout({ allSessions, config, }: {
3
- allSessions?: boolean;
4
- config: MaybePromise<SanitizedConfig>;
5
- }): Promise<{
1
+ import type { LogoutArgs } from 'payload/auth';
2
+ export declare function logout(args: Omit<LogoutArgs, 'serverAdapter'>): Promise<{
6
3
  message: string;
7
4
  success: boolean;
8
5
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/auth/logout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAO5D,wBAAsB,MAAM,CAAC,EAC3B,WAAmB,EACnB,MAAM,GACP,EAAE;IACD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;CACtC;;;GA8BA"}
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/auth/logout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAM9C,wBAAsB,MAAM,CAC1B,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,GACtC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAEhD"}
@@ -1,52 +1,11 @@
1
1
  'use server';
2
2
 
3
- import { cookies as getCookies, headers as nextHeaders } from 'next/headers.js';
4
- import { createLocalReq, getPayload, logoutOperation } from 'payload';
5
- import { getExistingAuthToken } from '../utilities/getExistingAuthToken.js';
6
- export async function logout({
7
- allSessions = false,
8
- config
9
- }) {
10
- const payload = await getPayload({
11
- config,
12
- cron: true
3
+ import { logout as logoutFn } from 'payload/auth';
4
+ import { nextServerAdapter } from '../adapters/server.js';
5
+ export async function logout(args) {
6
+ return logoutFn({
7
+ ...args,
8
+ serverAdapter: nextServerAdapter
13
9
  });
14
- const headers = await nextHeaders();
15
- const authResult = await payload.auth({
16
- headers
17
- });
18
- if (!authResult.user) {
19
- return {
20
- message: 'User already logged out',
21
- success: true
22
- };
23
- }
24
- const {
25
- user
26
- } = authResult;
27
- const req = await createLocalReq({
28
- user
29
- }, payload);
30
- const collection = payload.collections[user.collection];
31
- const logoutResult = await logoutOperation({
32
- allSessions,
33
- collection,
34
- req
35
- });
36
- if (!logoutResult) {
37
- return {
38
- message: 'Logout failed',
39
- success: false
40
- };
41
- }
42
- const existingCookie = await getExistingAuthToken(payload.config.cookiePrefix);
43
- if (existingCookie) {
44
- const cookies = await getCookies();
45
- cookies.delete(existingCookie.name);
46
- }
47
- return {
48
- message: 'User logged out successfully',
49
- success: true
50
- };
51
10
  }
52
11
  //# sourceMappingURL=logout.js.map