@payloadcms/next 3.24.0 → 3.25.0-canary.6d6bbd2

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 (35) hide show
  1. package/dist/elements/Nav/getNavPrefs.d.ts +2 -5
  2. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
  3. package/dist/elements/Nav/getNavPrefs.js +23 -24
  4. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  5. package/dist/elements/Nav/index.js +1 -4
  6. package/dist/elements/Nav/index.js.map +1 -1
  7. package/dist/layouts/Root/index.d.ts.map +1 -1
  8. package/dist/layouts/Root/index.js +19 -27
  9. package/dist/layouts/Root/index.js.map +1 -1
  10. package/dist/prod/styles.css +1 -1
  11. package/dist/utilities/getPreferences.d.ts +5 -2
  12. package/dist/utilities/getPreferences.d.ts.map +1 -1
  13. package/dist/utilities/getPreferences.js +22 -25
  14. package/dist/utilities/getPreferences.js.map +1 -1
  15. package/dist/utilities/getRequestLocale.d.ts.map +1 -1
  16. package/dist/utilities/getRequestLocale.js +1 -1
  17. package/dist/utilities/getRequestLocale.js.map +1 -1
  18. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  19. package/dist/utilities/handleServerFunctions.js +5 -1
  20. package/dist/utilities/handleServerFunctions.js.map +1 -1
  21. package/dist/utilities/initPage/index.d.ts +1 -1
  22. package/dist/utilities/initPage/index.d.ts.map +1 -1
  23. package/dist/utilities/initPage/index.js +26 -24
  24. package/dist/utilities/initPage/index.js.map +1 -1
  25. package/dist/utilities/initPage/types.d.ts +11 -0
  26. package/dist/utilities/initPage/types.d.ts.map +1 -1
  27. package/dist/utilities/initPage/types.js.map +1 -1
  28. package/dist/utilities/initReq.d.ts +18 -2
  29. package/dist/utilities/initReq.d.ts.map +1 -1
  30. package/dist/utilities/initReq.js +138 -52
  31. package/dist/utilities/initReq.js.map +1 -1
  32. package/dist/views/NotFound/index.d.ts.map +1 -1
  33. package/dist/views/NotFound/index.js +2 -1
  34. package/dist/views/NotFound/index.js.map +1 -1
  35. package/package.json +7 -7
@@ -1,6 +1,3 @@
1
- import type { NavPreferences, Payload, User } from 'payload';
2
- export declare const getNavPrefs: ({ payload, user }: {
3
- payload: Payload;
4
- user: User;
5
- }) => Promise<NavPreferences>;
1
+ import type { DefaultDocumentIDType, NavPreferences, Payload } from 'payload';
2
+ export declare const getNavPrefs: (payload: Payload, userID: DefaultDocumentIDType, userSlug: string) => Promise<NavPreferences>;
6
3
  //# sourceMappingURL=getNavPrefs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getNavPrefs.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/getNavPrefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAI5D,eAAO,MAAM,WAAW,sBACI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,KAAG,OAAO,CAAC,cAAc,CA8BpF,CAAA"}
1
+ {"version":3,"file":"getNavPrefs.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/getNavPrefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,OAAO,EAAQ,MAAM,SAAS,CAAA;AAInF,eAAO,MAAM,WAAW,YAEX,OAAO,UACR,qBAAqB,YACnB,MAAM,KACf,OAAO,CAAC,cAAc,CA+B1B,CAAA"}
@@ -1,26 +1,25 @@
1
1
  import { cache } from 'react';
2
- export const getNavPrefs = cache(async ({
3
- payload,
4
- user
5
- }) => user ? await payload.find({
6
- collection: 'payload-preferences',
7
- depth: 0,
8
- limit: 1,
9
- user,
10
- where: {
11
- and: [{
12
- key: {
13
- equals: 'nav'
14
- }
15
- }, {
16
- 'user.relationTo': {
17
- equals: user.collection
18
- }
19
- }, {
20
- 'user.value': {
21
- equals: user.id
22
- }
23
- }]
24
- }
25
- })?.then(res => res?.docs?.[0]?.value) : null);
2
+ export const getNavPrefs = cache(async (payload, userID, userSlug) => {
3
+ return userSlug ? await payload.find({
4
+ collection: 'payload-preferences',
5
+ depth: 0,
6
+ limit: 1,
7
+ pagination: false,
8
+ where: {
9
+ and: [{
10
+ key: {
11
+ equals: 'nav'
12
+ }
13
+ }, {
14
+ 'user.relationTo': {
15
+ equals: userSlug
16
+ }
17
+ }, {
18
+ 'user.value': {
19
+ equals: userID
20
+ }
21
+ }]
22
+ }
23
+ })?.then(res => res?.docs?.[0]?.value) : null;
24
+ });
26
25
  //# sourceMappingURL=getNavPrefs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getNavPrefs.js","names":["cache","getNavPrefs","payload","user","find","collection","depth","limit","where","and","key","equals","id","then","res","docs","value"],"sources":["../../../src/elements/Nav/getNavPrefs.ts"],"sourcesContent":["import type { NavPreferences, Payload, User } from 'payload'\n\nimport { cache } from 'react'\n\nexport const getNavPrefs = cache(\n async ({ payload, user }: { payload: Payload; user: User }): Promise<NavPreferences> =>\n user\n ? await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n key: {\n equals: 'nav',\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)\n : null,\n)\n"],"mappings":"AAEA,SAASA,KAAK,QAAQ;AAEtB,OAAO,MAAMC,WAAA,GAAcD,KAAA,CACzB,OAAO;EAAEE,OAAO;EAAEC;AAAI,CAAoC,KACxDA,IAAA,GACI,MAAMD,OAAA,CACHE,IAAI,CAAC;EACJC,UAAA,EAAY;EACZC,KAAA,EAAO;EACPC,KAAA,EAAO;EACPJ,IAAA;EACAK,KAAA,EAAO;IACLC,GAAA,EAAK,CACH;MACEC,GAAA,EAAK;QACHC,MAAA,EAAQ;MACV;IACF,GACA;MACE,mBAAmB;QACjBA,MAAA,EAAQR,IAAA,CAAKE;MACf;IACF,GACA;MACE,cAAc;QACZM,MAAA,EAAQR,IAAA,CAAKS;MACf;IACF;EAEJ;AACF,IACEC,IAAA,CAAMC,GAAA,IAAQA,GAAA,EAAKC,IAAA,GAAO,EAAE,EAAEC,KAAA,IAClC","ignoreList":[]}
1
+ {"version":3,"file":"getNavPrefs.js","names":["cache","getNavPrefs","payload","userID","userSlug","find","collection","depth","limit","pagination","where","and","key","equals","then","res","docs","value"],"sources":["../../../src/elements/Nav/getNavPrefs.ts"],"sourcesContent":["import type { DefaultDocumentIDType, NavPreferences, Payload, User } from 'payload'\n\nimport { cache } from 'react'\n\nexport const getNavPrefs = cache(\n async (\n payload: Payload,\n userID: DefaultDocumentIDType,\n userSlug: string,\n ): Promise<NavPreferences> => {\n return userSlug\n ? await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: 'nav',\n },\n },\n {\n 'user.relationTo': {\n equals: userSlug,\n },\n },\n {\n 'user.value': {\n equals: userID,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)\n : null\n },\n)\n"],"mappings":"AAEA,SAASA,KAAK,QAAQ;AAEtB,OAAO,MAAMC,WAAA,GAAcD,KAAA,CACzB,OACEE,OAAA,EACAC,MAAA,EACAC,QAAA;EAEA,OAAOA,QAAA,GACH,MAAMF,OAAA,CACHG,IAAI,CAAC;IACJC,UAAA,EAAY;IACZC,KAAA,EAAO;IACPC,KAAA,EAAO;IACPC,UAAA,EAAY;IACZC,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEC,GAAA,EAAK;UACHC,MAAA,EAAQ;QACV;MACF,GACA;QACE,mBAAmB;UACjBA,MAAA,EAAQT;QACV;MACF,GACA;QACE,cAAc;UACZS,MAAA,EAAQV;QACV;MACF;IAEJ;EACF,IACEW,IAAA,CAAMC,GAAA,IAAQA,GAAA,EAAKC,IAAA,GAAO,EAAE,EAAEC,KAAA,IAClC;AACN","ignoreList":[]}
@@ -46,10 +46,7 @@ export const DefaultNav = async props => {
46
46
  type: EntityType.global,
47
47
  entity: global
48
48
  }))], permissions, i18n);
49
- const navPreferences = await getNavPrefs({
50
- payload,
51
- user
52
- });
49
+ const navPreferences = await getNavPrefs(payload, user?.id, user?.collection);
53
50
  const LogoutComponent = RenderServerComponent({
54
51
  clientProps: {
55
52
  documentSubViewType,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Logout","RenderServerComponent","EntityType","groupNavItems","React","NavHamburger","NavWrapper","baseClass","getNavPrefs","DefaultNavClient","DefaultNav","props","documentSubViewType","i18n","locale","params","payload","permissions","searchParams","user","viewType","visibleEntities","config","admin","components","afterNavLinks","beforeNavLinks","logout","collections","globals","groups","filter","slug","includes","map","collection","type","entity","global","navPreferences","LogoutComponent","clientProps","Component","Button","Fallback","importMap","serverProps","_jsxs","className","_jsx"],"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type { EntityToGroup } from '@payloadcms/ui/shared'\nimport type { ServerProps } from 'payload'\n\nimport { Logout } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { EntityType, groupNavItems } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { NavWrapper } from './NavWrapper/index.js'\nimport './index.scss'\n\nconst baseClass = 'nav'\n\nimport { getNavPrefs } from './getNavPrefs.js'\nimport { DefaultNavClient } from './index.client.js'\n\nexport type NavProps = ServerProps\n\nexport const DefaultNav: React.FC<NavProps> = async (props) => {\n const {\n documentSubViewType,\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n viewType,\n visibleEntities,\n } = props\n\n if (!payload?.config) {\n return null\n }\n\n const {\n admin: {\n components: { afterNavLinks, beforeNavLinks, logout },\n },\n collections,\n globals,\n } = payload.config\n\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => visibleEntities.collections.includes(slug))\n .map(\n (collection) =>\n ({\n type: EntityType.collection,\n entity: collection,\n }) satisfies EntityToGroup,\n ),\n ...globals\n .filter(({ slug }) => visibleEntities.globals.includes(slug))\n .map(\n (global) =>\n ({\n type: EntityType.global,\n entity: global,\n }) satisfies EntityToGroup,\n ),\n ],\n permissions,\n i18n,\n )\n\n const navPreferences = await getNavPrefs({ payload, user })\n\n const LogoutComponent = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: logout?.Button,\n Fallback: Logout,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n return (\n <NavWrapper baseClass={baseClass}>\n <nav className={`${baseClass}__wrap`}>\n {RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: beforeNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })}\n <DefaultNavClient groups={groups} navPreferences={navPreferences} />\n {RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: afterNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })}\n <div className={`${baseClass}__controls`}>{LogoutComponent}</div>\n </nav>\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <NavHamburger baseClass={baseClass} />\n </div>\n </div>\n </NavWrapper>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Logout","RenderServerComponent","EntityType","groupNavItems","React","NavHamburger","NavWrapper","baseClass","getNavPrefs","DefaultNavClient","DefaultNav","props","documentSubViewType","i18n","locale","params","payload","permissions","searchParams","user","viewType","visibleEntities","config","admin","components","afterNavLinks","beforeNavLinks","logout","collections","globals","groups","filter","slug","includes","map","collection","type","entity","global","navPreferences","id","LogoutComponent","clientProps","Component","Button","Fallback","importMap","serverProps","_jsxs","className","_jsx"],"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type { EntityToGroup } from '@payloadcms/ui/shared'\nimport type { ServerProps } from 'payload'\n\nimport { Logout } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { EntityType, groupNavItems } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { NavWrapper } from './NavWrapper/index.js'\nimport './index.scss'\n\nconst baseClass = 'nav'\n\nimport { getNavPrefs } from './getNavPrefs.js'\nimport { DefaultNavClient } from './index.client.js'\n\nexport type NavProps = ServerProps\n\nexport const DefaultNav: React.FC<NavProps> = async (props) => {\n const {\n documentSubViewType,\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n viewType,\n visibleEntities,\n } = props\n\n if (!payload?.config) {\n return null\n }\n\n const {\n admin: {\n components: { afterNavLinks, beforeNavLinks, logout },\n },\n collections,\n globals,\n } = payload.config\n\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => visibleEntities.collections.includes(slug))\n .map(\n (collection) =>\n ({\n type: EntityType.collection,\n entity: collection,\n }) satisfies EntityToGroup,\n ),\n ...globals\n .filter(({ slug }) => visibleEntities.globals.includes(slug))\n .map(\n (global) =>\n ({\n type: EntityType.global,\n entity: global,\n }) satisfies EntityToGroup,\n ),\n ],\n permissions,\n i18n,\n )\n\n const navPreferences = await getNavPrefs(payload, user?.id, user?.collection)\n\n const LogoutComponent = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: logout?.Button,\n Fallback: Logout,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n return (\n <NavWrapper baseClass={baseClass}>\n <nav className={`${baseClass}__wrap`}>\n {RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: beforeNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })}\n <DefaultNavClient groups={groups} navPreferences={navPreferences} />\n {RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: afterNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })}\n <div className={`${baseClass}__controls`}>{LogoutComponent}</div>\n </nav>\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <NavHamburger baseClass={baseClass} />\n </div>\n </div>\n </NavWrapper>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAmB,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAOhG,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,8BAA8B,CAAA;AAErC,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,oEAKpB;IACD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C,+BA8HA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAmB,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAMhG,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,8BAA8B,CAAA;AAErC,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,oEAKpB;IACD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C,+BAsHA,CAAA"}
@@ -2,11 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { rtlLanguages } from '@payloadcms/translations';
3
3
  import { ProgressBar, RootProvider } from '@payloadcms/ui';
4
4
  import { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig';
5
- import { headers as getHeaders, cookies as nextCookies } from 'next/headers.js';
6
- import { getPayload, getRequestLanguage, parseCookies } from 'payload';
5
+ import { cookies as nextCookies } from 'next/headers.js';
7
6
  import React from 'react';
8
7
  import { getNavPrefs } from '../../elements/Nav/getNavPrefs.js';
9
- import { getRequestLocale } from '../../utilities/getRequestLocale.js';
10
8
  import { getRequestTheme } from '../../utilities/getRequestTheme.js';
11
9
  import { initReq } from '../../utilities/initReq.js';
12
10
  import { checkDependencies } from './checkDependencies.js';
@@ -22,27 +20,27 @@ export const RootLayout = async ({
22
20
  serverFunction
23
21
  }) => {
24
22
  checkDependencies();
25
- const config = await configPromise;
26
- const headers = await getHeaders();
27
- const cookies = parseCookies(headers);
28
- const languageCode = getRequestLanguage({
29
- config,
23
+ const {
30
24
  cookies,
31
- headers
25
+ headers,
26
+ languageCode,
27
+ permissions,
28
+ req,
29
+ req: {
30
+ payload: {
31
+ config
32
+ }
33
+ }
34
+ } = await initReq({
35
+ configPromise,
36
+ importMap,
37
+ key: 'RootLayout'
32
38
  });
33
39
  const theme = getRequestTheme({
34
40
  config,
35
41
  cookies,
36
42
  headers
37
43
  });
38
- const payload = await getPayload({
39
- config,
40
- importMap
41
- });
42
- const {
43
- permissions,
44
- req
45
- } = await initReq(config);
46
44
  const dir = rtlLanguages.includes(languageCode) ? 'RTL' : 'LTR';
47
45
  const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig]) => {
48
46
  if (Object.keys(config.i18n.supportedLanguages).includes(language)) {
@@ -63,10 +61,7 @@ export const RootLayout = async ({
63
61
  value: lang
64
62
  });
65
63
  }
66
- const navPrefs = await getNavPrefs({
67
- payload,
68
- user: req.user
69
- });
64
+ const navPrefs = await getNavPrefs(req.payload, req.user?.id, req.user?.collection);
70
65
  const clientConfig = getClientConfig({
71
66
  config,
72
67
  i18n: req.i18n,
@@ -84,9 +79,6 @@ export const RootLayout = async ({
84
79
  code
85
80
  }) => code);
86
81
  }
87
- const locale = await getRequestLocale({
88
- req
89
- });
90
82
  return /*#__PURE__*/_jsxs("html", {
91
83
  "data-theme": theme,
92
84
  dir: dir,
@@ -104,7 +96,7 @@ export const RootLayout = async ({
104
96
  isNavOpen: navPrefs?.open ?? true,
105
97
  languageCode: languageCode,
106
98
  languageOptions: languageOptions,
107
- locale: locale?.code,
99
+ locale: req.locale,
108
100
  permissions: permissions,
109
101
  serverFunction: serverFunction,
110
102
  switchLanguageServerAction: switchLanguageServerAction,
@@ -112,11 +104,11 @@ export const RootLayout = async ({
112
104
  translations: req.i18n.translations,
113
105
  user: req.user,
114
106
  children: [/*#__PURE__*/_jsx(ProgressBar, {}), Array.isArray(config.admin?.components?.providers) && config.admin?.components?.providers.length > 0 ? /*#__PURE__*/_jsx(NestProviders, {
115
- importMap: payload.importMap,
107
+ importMap: req.payload.importMap,
116
108
  providers: config.admin?.components?.providers,
117
109
  serverProps: {
118
110
  i18n: req.i18n,
119
- payload,
111
+ payload: req.payload,
120
112
  permissions,
121
113
  user: req.user
122
114
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["rtlLanguages","ProgressBar","RootProvider","getClientConfig","headers","getHeaders","cookies","nextCookies","getPayload","getRequestLanguage","parseCookies","React","getNavPrefs","getRequestLocale","getRequestTheme","initReq","checkDependencies","NestProviders","metadata","description","title","RootLayout","children","config","configPromise","importMap","serverFunction","languageCode","theme","payload","permissions","req","dir","includes","languageOptions","Object","entries","i18n","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","navPrefs","user","clientConfig","localization","filterAvailableLocales","locales","map","toString","rest","localeCodes","code","locale","_jsxs","suppressHydrationWarning","admin","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","Array","isArray","components","providers","length","serverProps","id"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, LanguageOptions, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { ProgressBar, RootProvider } from '@payloadcms/ui'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { getPayload, getRequestLanguage, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.js'\nimport { getRequestLocale } from '../../utilities/getRequestLocale.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { checkDependencies } from './checkDependencies.js'\nimport { NestProviders } from './NestProviders.js'\n\nimport '@payloadcms/ui/scss/app.scss'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n importMap,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n checkDependencies()\n\n const config = await configPromise\n\n const headers = await getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const payload = await getPayload({ config, importMap })\n\n const { permissions, req } = await initReq(config)\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions: LanguageOptions = Object.entries(\n config.i18n.supportedLanguages || {},\n ).reduce((acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n }, [])\n\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n const cookies = await nextCookies()\n cookies.set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const navPrefs = await getNavPrefs({ payload, user: req.user })\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n })\n\n if (\n clientConfig.localization &&\n config.localization &&\n typeof config.localization.filterAvailableLocales === 'function'\n ) {\n clientConfig.localization.locales = (\n await config.localization.filterAvailableLocales({\n locales: config.localization.locales,\n req,\n })\n ).map(({ toString, ...rest }) => rest)\n clientConfig.localization.localeCodes = config.localization.locales.map(({ code }) => code)\n }\n\n const locale = await getRequestLocale({\n req,\n })\n\n return (\n <html\n data-theme={theme}\n dir={dir}\n lang={languageCode}\n suppressHydrationWarning={config?.admin?.suppressHydrationWarning ?? false}\n >\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={req.i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open ?? true}\n languageCode={languageCode}\n languageOptions={languageOptions}\n locale={locale?.code}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={req.i18n.translations}\n user={req.user}\n >\n <ProgressBar />\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n importMap={payload.importMap}\n providers={config.admin?.components?.providers}\n serverProps={{\n i18n: req.i18n,\n payload,\n permissions,\n user: req.user,\n }}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["rtlLanguages","ProgressBar","RootProvider","getClientConfig","cookies","nextCookies","React","getNavPrefs","getRequestTheme","initReq","checkDependencies","NestProviders","metadata","description","title","RootLayout","children","config","configPromise","importMap","serverFunction","headers","languageCode","permissions","req","payload","key","theme","dir","includes","languageOptions","Object","entries","i18n","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","navPrefs","user","id","collection","clientConfig","localization","filterAvailableLocales","locales","map","toString","rest","localeCodes","code","_jsxs","suppressHydrationWarning","admin","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","locale","Array","isArray","components","providers","length","serverProps"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, LanguageOptions, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { ProgressBar, RootProvider } from '@payloadcms/ui'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { cookies as nextCookies } from 'next/headers.js'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { checkDependencies } from './checkDependencies.js'\nimport { NestProviders } from './NestProviders.js'\n\nimport '@payloadcms/ui/scss/app.scss'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n importMap,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n checkDependencies()\n\n const {\n cookies,\n headers,\n languageCode,\n permissions,\n req,\n req: {\n payload: { config },\n },\n } = await initReq({ configPromise, importMap, key: 'RootLayout' })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions: LanguageOptions = Object.entries(\n config.i18n.supportedLanguages || {},\n ).reduce((acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n }, [])\n\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n const cookies = await nextCookies()\n cookies.set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const navPrefs = await getNavPrefs(req.payload, req.user?.id, req.user?.collection)\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n })\n\n if (\n clientConfig.localization &&\n config.localization &&\n typeof config.localization.filterAvailableLocales === 'function'\n ) {\n clientConfig.localization.locales = (\n await config.localization.filterAvailableLocales({\n locales: config.localization.locales,\n req,\n })\n ).map(({ toString, ...rest }) => rest)\n clientConfig.localization.localeCodes = config.localization.locales.map(({ code }) => code)\n }\n\n return (\n <html\n data-theme={theme}\n dir={dir}\n lang={languageCode}\n suppressHydrationWarning={config?.admin?.suppressHydrationWarning ?? false}\n >\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={req.i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open ?? true}\n languageCode={languageCode}\n languageOptions={languageOptions}\n locale={req.locale}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={req.i18n.translations}\n user={req.user}\n >\n <ProgressBar />\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n importMap={req.payload.importMap}\n providers={config.admin?.components?.providers}\n serverProps={{\n i18n: req.i18n,\n payload: req.payload,\n permissions,\n user: req.user,\n }}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"mappings":"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","ignoreList":[]}