@payloadcms/next 3.24.0 → 3.25.0-canary.3d5c763

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.
@@ -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;AAOhG,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,+BA0HA,CAAA"}
@@ -6,7 +6,6 @@ import { headers as getHeaders, cookies as nextCookies } from 'next/headers.js';
6
6
  import { getPayload, getRequestLanguage, parseCookies } from 'payload';
7
7
  import React from 'react';
8
8
  import { getNavPrefs } from '../../elements/Nav/getNavPrefs.js';
9
- import { getRequestLocale } from '../../utilities/getRequestLocale.js';
10
9
  import { getRequestTheme } from '../../utilities/getRequestTheme.js';
11
10
  import { initReq } from '../../utilities/initReq.js';
12
11
  import { checkDependencies } from './checkDependencies.js';
@@ -63,10 +62,7 @@ export const RootLayout = async ({
63
62
  value: lang
64
63
  });
65
64
  }
66
- const navPrefs = await getNavPrefs({
67
- payload,
68
- user: req.user
69
- });
65
+ const navPrefs = await getNavPrefs(req.payload, req.user?.id, req.user?.collection);
70
66
  const clientConfig = getClientConfig({
71
67
  config,
72
68
  i18n: req.i18n,
@@ -84,9 +80,6 @@ export const RootLayout = async ({
84
80
  code
85
81
  }) => code);
86
82
  }
87
- const locale = await getRequestLocale({
88
- req
89
- });
90
83
  return /*#__PURE__*/_jsxs("html", {
91
84
  "data-theme": theme,
92
85
  dir: dir,
@@ -104,7 +97,7 @@ export const RootLayout = async ({
104
97
  isNavOpen: navPrefs?.open ?? true,
105
98
  languageCode: languageCode,
106
99
  languageOptions: languageOptions,
107
- locale: locale?.code,
100
+ locale: req.locale,
108
101
  permissions: permissions,
109
102
  serverFunction: serverFunction,
110
103
  switchLanguageServerAction: switchLanguageServerAction,
@@ -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","headers","getHeaders","cookies","nextCookies","getPayload","getRequestLanguage","parseCookies","React","getNavPrefs","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","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 { 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 { 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(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={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":[]}