@payloadcms/next 3.0.0-beta.129 → 3.0.0-beta.130

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 (71) hide show
  1. package/dist/elements/Nav/getNavPrefs.d.ts +6 -0
  2. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -0
  3. package/dist/elements/Nav/getNavPrefs.js +26 -0
  4. package/dist/elements/Nav/getNavPrefs.js.map +1 -0
  5. package/dist/elements/Nav/index.client.d.ts +2 -0
  6. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  7. package/dist/elements/Nav/index.client.js +21 -17
  8. package/dist/elements/Nav/index.client.js.map +1 -1
  9. package/dist/elements/Nav/index.d.ts.map +1 -1
  10. package/dist/elements/Nav/index.js +8 -2
  11. package/dist/elements/Nav/index.js.map +1 -1
  12. package/dist/layouts/Root/index.d.ts.map +1 -1
  13. package/dist/layouts/Root/index.js +13 -27
  14. package/dist/layouts/Root/index.js.map +1 -1
  15. package/dist/prod/styles.css +1 -1
  16. package/dist/routes/rest/routeError.d.ts.map +1 -1
  17. package/dist/routes/rest/routeError.js +8 -1
  18. package/dist/routes/rest/routeError.js.map +1 -1
  19. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  20. package/dist/utilities/addLocalesToRequest.js +18 -8
  21. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  22. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  23. package/dist/utilities/createPayloadRequest.js +14 -11
  24. package/dist/utilities/createPayloadRequest.js.map +1 -1
  25. package/dist/utilities/getRequestLocales.d.ts.map +1 -1
  26. package/dist/utilities/getRequestLocales.js +10 -6
  27. package/dist/utilities/getRequestLocales.js.map +1 -1
  28. package/dist/utilities/initPage/index.js +1 -1
  29. package/dist/utilities/initPage/index.js.map +1 -1
  30. package/dist/utilities/initReq.d.ts.map +1 -1
  31. package/dist/utilities/initReq.js +0 -1
  32. package/dist/utilities/initReq.js.map +1 -1
  33. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  34. package/dist/views/API/LocaleSelector/index.js +2 -1
  35. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  36. package/dist/views/API/index.client.d.ts.map +1 -1
  37. package/dist/views/API/index.client.js +6 -3
  38. package/dist/views/API/index.client.js.map +1 -1
  39. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  40. package/dist/views/Account/ToggleTheme/index.js +1 -0
  41. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  42. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  43. package/dist/views/CreateFirstUser/index.client.js +6 -5
  44. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  45. package/dist/views/Document/getDocumentData.js +2 -2
  46. package/dist/views/Document/getDocumentData.js.map +1 -1
  47. package/dist/views/Document/index.d.ts.map +1 -1
  48. package/dist/views/Document/index.js +2 -1
  49. package/dist/views/Document/index.js.map +1 -1
  50. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  51. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +2 -0
  52. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  53. package/dist/views/List/index.d.ts.map +1 -1
  54. package/dist/views/List/index.js +40 -20
  55. package/dist/views/List/index.js.map +1 -1
  56. package/dist/views/List/renderListViewSlots.d.ts +7 -3
  57. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  58. package/dist/views/List/renderListViewSlots.js +19 -7
  59. package/dist/views/List/renderListViewSlots.js.map +1 -1
  60. package/dist/views/LivePreview/index.js +2 -2
  61. package/dist/views/LivePreview/index.js.map +1 -1
  62. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  63. package/dist/views/Login/LoginField/index.js +3 -0
  64. package/dist/views/Login/LoginField/index.js.map +1 -1
  65. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  66. package/dist/views/Login/LoginForm/index.js +2 -1
  67. package/dist/views/Login/LoginForm/index.js.map +1 -1
  68. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -1
  69. package/dist/views/ResetPassword/ResetPasswordForm/index.js +0 -6
  70. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  71. package/package.json +6 -6
@@ -0,0 +1,6 @@
1
+ import type { NavPreferences, Payload, User } from 'payload';
2
+ export declare const getNavPrefs: ({ payload, user }: {
3
+ payload: Payload;
4
+ user: User;
5
+ }) => Promise<NavPreferences>;
6
+ //# sourceMappingURL=getNavPrefs.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,26 @@
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);
26
+ //# sourceMappingURL=getNavPrefs.js.map
@@ -0,0 +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,6 +1,8 @@
1
1
  import type { groupNavItems } from '@payloadcms/ui/shared';
2
+ import type { NavPreferences } from 'payload';
2
3
  import React from 'react';
3
4
  export declare const DefaultNavClient: React.FC<{
4
5
  groups: ReturnType<typeof groupNavItems>;
6
+ navPreferences: NavPreferences;
5
7
  }>;
6
8
  //# sourceMappingURL=index.client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAO1D,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;CACzC,CA2DA,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAO7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IACxC,cAAc,EAAE,cAAc,CAAA;CAC/B,CA2DA,CAAA"}
@@ -10,9 +10,10 @@ import { usePathname } from 'next/navigation.js';
10
10
  import React, { Fragment } from 'react';
11
11
  const baseClass = 'nav';
12
12
  export const DefaultNavClient = t0 => {
13
- const $ = _c(11);
13
+ const $ = _c(13);
14
14
  const {
15
- groups
15
+ groups,
16
+ navPreferences
16
17
  } = t0;
17
18
  const pathname = usePathname();
18
19
  const {
@@ -31,15 +32,16 @@ export const DefaultNavClient = t0 => {
31
32
  navOpen
32
33
  } = useNav();
33
34
  let t3;
34
- if ($[0] !== adminRoute || $[1] !== pathname || $[2] !== navOpen || $[3] !== i18n || $[4] !== groups) {
35
+ if ($[0] !== navPreferences || $[1] !== adminRoute || $[2] !== pathname || $[3] !== navOpen || $[4] !== i18n || $[5] !== groups) {
35
36
  let t4;
36
- if ($[6] !== adminRoute || $[7] !== pathname || $[8] !== navOpen || $[9] !== i18n) {
37
+ if ($[7] !== navPreferences || $[8] !== adminRoute || $[9] !== pathname || $[10] !== navOpen || $[11] !== i18n) {
37
38
  t4 = (t5, key) => {
38
39
  const {
39
40
  entities,
40
41
  label
41
42
  } = t5;
42
43
  return _jsx(NavGroup, {
44
+ isOpen: navPreferences?.groups?.[label]?.open,
43
45
  label,
44
46
  children: entities.map((t6, i) => {
45
47
  const {
@@ -82,25 +84,27 @@ export const DefaultNavClient = t0 => {
82
84
  })
83
85
  }, key);
84
86
  };
85
- $[6] = adminRoute;
86
- $[7] = pathname;
87
- $[8] = navOpen;
88
- $[9] = i18n;
89
- $[10] = t4;
87
+ $[7] = navPreferences;
88
+ $[8] = adminRoute;
89
+ $[9] = pathname;
90
+ $[10] = navOpen;
91
+ $[11] = i18n;
92
+ $[12] = t4;
90
93
  } else {
91
- t4 = $[10];
94
+ t4 = $[12];
92
95
  }
93
96
  t3 = _jsx(Fragment, {
94
97
  children: groups.map(t4)
95
98
  });
96
- $[0] = adminRoute;
97
- $[1] = pathname;
98
- $[2] = navOpen;
99
- $[3] = i18n;
100
- $[4] = groups;
101
- $[5] = t3;
99
+ $[0] = navPreferences;
100
+ $[1] = adminRoute;
101
+ $[2] = pathname;
102
+ $[3] = navOpen;
103
+ $[4] = i18n;
104
+ $[5] = groups;
105
+ $[6] = t3;
102
106
  } else {
103
- t3 = $[5];
107
+ t3 = $[6];
104
108
  }
105
109
  return t3;
106
110
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["c","_c","getTranslation","NavGroup","useConfig","useNav","useTranslation","EntityType","formatAdminURL","LinkWithDefault","usePathname","React","Fragment","baseClass","DefaultNavClient","t0","$","groups","pathname","config","t1","routes","t2","admin","adminRoute","i18n","navOpen","t3","t4","t5","key","entities","label","_jsx","children","map","t6","i","slug","type","label_0","href","id","collection","global","Link","default","LinkElement","activeCollection","startsWith","undefined","includes","length","_jsxs","className","filter","Boolean","join","prefetch","tabIndex"],"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { groupNavItems } from '@payloadcms/ui/shared'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { NavGroup, useConfig, useNav, useTranslation } from '@payloadcms/ui'\nimport { EntityType, formatAdminURL } from '@payloadcms/ui/shared'\nimport LinkWithDefault from 'next/link.js'\nimport { usePathname } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nconst baseClass = 'nav'\n\nexport const DefaultNavClient: React.FC<{\n groups: ReturnType<typeof groupNavItems>\n}> = ({ groups }) => {\n const pathname = usePathname()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { navOpen } = useNav()\n\n return (\n <Fragment>\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup key={key} label={label}>\n {entities.map(({ slug, type, label }, i) => {\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = formatAdminURL({ adminRoute, path: `/collections/${slug}` })\n id = `nav-${slug}`\n }\n\n if (type === EntityType.global) {\n href = formatAdminURL({ adminRoute, path: `/globals/${slug}` })\n id = `nav-global-${slug}`\n }\n\n const Link = (LinkWithDefault.default ||\n LinkWithDefault) as typeof LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n const activeCollection =\n pathname.startsWith(href) && ['/', undefined].includes(pathname[href.length])\n\n return (\n <LinkElement\n className={[`${baseClass}__link`, activeCollection && `active`]\n .filter(Boolean)\n .join(' ')}\n href={href}\n id={id}\n key={i}\n prefetch={Link ? false : undefined}\n tabIndex={!navOpen ? -1 : undefined}\n >\n {activeCollection && <div className={`${baseClass}__link-indicator`} />}\n <span className={`${baseClass}__link-label`}>{getTranslation(label, i18n)}</span>\n </LinkElement>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["c","_c","getTranslation","NavGroup","useConfig","useNav","useTranslation","EntityType","formatAdminURL","LinkWithDefault","usePathname","React","Fragment","baseClass","DefaultNavClient","t0","$","groups","navPreferences","pathname","config","t1","routes","t2","admin","adminRoute","i18n","navOpen","t3","t4","t5","key","entities","label","_jsx","isOpen","open","children","map","t6","i","slug","type","label_0","href","id","collection","global","Link","default","LinkElement","activeCollection","startsWith","undefined","includes","length","_jsxs","className","filter","Boolean","join","prefetch","tabIndex"],"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { groupNavItems } from '@payloadcms/ui/shared'\nimport type { NavPreferences } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { NavGroup, useConfig, useNav, useTranslation } from '@payloadcms/ui'\nimport { EntityType, formatAdminURL } from '@payloadcms/ui/shared'\nimport LinkWithDefault from 'next/link.js'\nimport { usePathname } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nconst baseClass = 'nav'\n\nexport const DefaultNavClient: React.FC<{\n groups: ReturnType<typeof groupNavItems>\n navPreferences: NavPreferences\n}> = ({ groups, navPreferences }) => {\n const pathname = usePathname()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { navOpen } = useNav()\n\n return (\n <Fragment>\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup isOpen={navPreferences?.groups?.[label]?.open} key={key} label={label}>\n {entities.map(({ slug, type, label }, i) => {\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = formatAdminURL({ adminRoute, path: `/collections/${slug}` })\n id = `nav-${slug}`\n }\n\n if (type === EntityType.global) {\n href = formatAdminURL({ adminRoute, path: `/globals/${slug}` })\n id = `nav-global-${slug}`\n }\n\n const Link = (LinkWithDefault.default ||\n LinkWithDefault) as typeof LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n const activeCollection =\n pathname.startsWith(href) && ['/', undefined].includes(pathname[href.length])\n\n return (\n <LinkElement\n className={[`${baseClass}__link`, activeCollection && `active`]\n .filter(Boolean)\n .join(' ')}\n href={href}\n id={id}\n key={i}\n prefetch={Link ? false : undefined}\n tabIndex={!navOpen ? -1 : undefined}\n >\n {activeCollection && <div className={`${baseClass}__link-indicator`} />}\n <span className={`${baseClass}__link-label`}>{getTranslation(label, i18n)}</span>\n </LinkElement>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAQrB,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAA;AAElC,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CA8FzC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AASrB,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAA;AAElC,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAgGzC,CAAA"}
@@ -6,8 +6,9 @@ import React from 'react';
6
6
  import { NavHamburger } from './NavHamburger/index.js';
7
7
  import { NavWrapper } from './NavWrapper/index.js';
8
8
  const baseClass = 'nav';
9
+ import { getNavPrefs } from './getNavPrefs.js';
9
10
  import { DefaultNavClient } from './index.client.js';
10
- export const DefaultNav = props => {
11
+ export const DefaultNav = async props => {
11
12
  const {
12
13
  i18n,
13
14
  locale,
@@ -43,6 +44,10 @@ export const DefaultNav = props => {
43
44
  type: EntityType.global,
44
45
  entity: global
45
46
  }))], permissions, i18n);
47
+ const navPreferences = await getNavPrefs({
48
+ payload,
49
+ user
50
+ });
46
51
  return /*#__PURE__*/_jsxs(NavWrapper, {
47
52
  baseClass: baseClass,
48
53
  children: [/*#__PURE__*/_jsxs("nav", {
@@ -60,7 +65,8 @@ export const DefaultNav = props => {
60
65
  user
61
66
  }
62
67
  }), /*#__PURE__*/_jsx(DefaultNavClient, {
63
- groups: groups
68
+ groups: groups,
69
+ navPreferences: navPreferences
64
70
  }), /*#__PURE__*/_jsx(RenderServerComponent, {
65
71
  Component: afterNavLinks,
66
72
  importMap: payload.importMap,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Logout","RenderServerComponent","EntityType","groupNavItems","React","NavHamburger","NavWrapper","baseClass","DefaultNavClient","DefaultNav","props","i18n","locale","params","payload","permissions","searchParams","user","visibleEntities","config","admin","components","afterNavLinks","beforeNavLinks","logout","collections","globals","groups","filter","slug","includes","map","collection","type","entity","global","_jsxs","className","_jsx","Component","importMap","serverProps","Button","Fallback"],"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 './index.scss'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { NavWrapper } from './NavWrapper/index.js'\n\nconst baseClass = 'nav'\n\nimport { DefaultNavClient } from './index.client.js'\n\nexport type NavProps = ServerProps\n\nexport const DefaultNav: React.FC<NavProps> = (props) => {\n const { i18n, locale, params, payload, permissions, searchParams, user, visibleEntities } = 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 return (\n <NavWrapper baseClass={baseClass}>\n <nav className={`${baseClass}__wrap`}>\n <RenderServerComponent\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} />\n <RenderServerComponent\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`}>\n <RenderServerComponent\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 </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":";AAGA,SAASA,MAAM,QAAQ;AACvB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,UAAU,EAAEC,aAAa,QAAQ;AAC1C,OAAOC,KAAA,MAAW;AAGlB,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAE3B,MAAMC,SAAA,GAAY;AAElB,SAASC,gBAAgB,QAAQ;AAIjC,OAAO,MAAMC,UAAA,GAAkCC,KAAA;EAC7C,MAAM;IAAEC,IAAI;IAAEC,MAAM;IAAEC,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC,YAAY;IAAEC,IAAI;IAAEC;EAAe,CAAE,GAAGR,KAAA;EAE5F,IAAI,CAACI,OAAA,EAASK,MAAA,EAAQ;IACpB,OAAO;EACT;EAEA,MAAM;IACJC,KAAA,EAAO;MACLC,UAAA,EAAY;QAAEC,aAAa;QAAEC,cAAc;QAAEC;MAAM;IAAE,CACtD;IACDC,WAAW;IACXC;EAAO,CACR,GAAGZ,OAAA,CAAQK,MAAM;EAElB,MAAMQ,MAAA,GAASxB,aAAA,CACb,C,GACKsB,WAAA,CACAG,MAAM,CAAC,CAAC;IAAEC;EAAI,CAAE,KAAKX,eAAA,CAAgBO,WAAW,CAACK,QAAQ,CAACD,IAAA,GAC1DE,GAAG,CACDC,UAAA,KACE;IACCC,IAAA,EAAM/B,UAAA,CAAW8B,UAAU;IAC3BE,MAAA,EAAQF;EACV,K,GAEHN,OAAA,CACAE,MAAM,CAAC,CAAC;IAAEC;EAAI,CAAE,KAAKX,eAAA,CAAgBQ,OAAO,CAACI,QAAQ,CAACD,IAAA,GACtDE,GAAG,CACDI,MAAA,KACE;IACCF,IAAA,EAAM/B,UAAA,CAAWiC,MAAM;IACvBD,MAAA,EAAQC;EACV,IAEP,EACDpB,WAAA,EACAJ,IAAA;EAGF,oBACEyB,KAAA,CAAC9B,UAAA;IAAWC,SAAA,EAAWA,SAAA;4BACrB6B,KAAA,CAAC;MAAIC,SAAA,EAAW,GAAG9B,SAAA,QAAiB;8BAClC+B,IAAA,CAACrC,qBAAA;QACCsC,SAAA,EAAWhB,cAAA;QACXiB,SAAA,EAAW1B,OAAA,CAAQ0B,SAAS;QAC5BC,WAAA,EAAa;UACX9B,IAAA;UACAC,MAAA;UACAC,MAAA;UACAC,OAAA;UACAC,WAAA;UACAC,YAAA;UACAC;QACF;uBAEFqB,IAAA,CAAC9B,gBAAA;QAAiBmB,MAAA,EAAQA;uBAC1BW,IAAA,CAACrC,qBAAA;QACCsC,SAAA,EAAWjB,aAAA;QACXkB,SAAA,EAAW1B,OAAA,CAAQ0B,SAAS;QAC5BC,WAAA,EAAa;UACX9B,IAAA;UACAC,MAAA;UACAC,MAAA;UACAC,OAAA;UACAC,WAAA;UACAC,YAAA;UACAC;QACF;uBAEFqB,IAAA,CAAC;QAAID,SAAA,EAAW,GAAG9B,SAAA,YAAqB;kBACtC,aAAA+B,IAAA,CAACrC,qBAAA;UACCsC,SAAA,EAAWf,MAAA,EAAQkB,MAAA;UACnBC,QAAA,EAAU3C,MAAA;UACVwC,SAAA,EAAW1B,OAAA,CAAQ0B,SAAS;UAC5BC,WAAA,EAAa;YACX9B,IAAA;YACAC,MAAA;YACAC,MAAA;YACAC,OAAA;YACAC,WAAA;YACAC,YAAA;YACAC;UACF;;;qBAINqB,IAAA,CAAC;MAAID,SAAA,EAAW,GAAG9B,SAAA,UAAmB;gBACpC,aAAA+B,IAAA,CAAC;QAAID,SAAA,EAAW,GAAG9B,SAAA,kBAA2B;kBAC5C,aAAA+B,IAAA,CAACjC,YAAA;UAAaE,SAAA,EAAWA;;;;;AAKnC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Logout","RenderServerComponent","EntityType","groupNavItems","React","NavHamburger","NavWrapper","baseClass","getNavPrefs","DefaultNavClient","DefaultNav","props","i18n","locale","params","payload","permissions","searchParams","user","visibleEntities","config","admin","components","afterNavLinks","beforeNavLinks","logout","collections","globals","groups","filter","slug","includes","map","collection","type","entity","global","navPreferences","_jsxs","className","_jsx","Component","importMap","serverProps","Button","Fallback"],"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 './index.scss'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { NavWrapper } from './NavWrapper/index.js'\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 { i18n, locale, params, payload, permissions, searchParams, user, visibleEntities } = 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 return (\n <NavWrapper baseClass={baseClass}>\n <nav className={`${baseClass}__wrap`}>\n <RenderServerComponent\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 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`}>\n <RenderServerComponent\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 </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":";AAGA,SAASA,MAAM,QAAQ;AACvB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,UAAU,EAAEC,aAAa,QAAQ;AAC1C,OAAOC,KAAA,MAAW;AAGlB,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAE3B,MAAMC,SAAA,GAAY;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,gBAAgB,QAAQ;AAIjC,OAAO,MAAMC,UAAA,GAAiC,MAAOC,KAAA;EACnD,MAAM;IAAEC,IAAI;IAAEC,MAAM;IAAEC,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC,YAAY;IAAEC,IAAI;IAAEC;EAAe,CAAE,GAAGR,KAAA;EAE5F,IAAI,CAACI,OAAA,EAASK,MAAA,EAAQ;IACpB,OAAO;EACT;EAEA,MAAM;IACJC,KAAA,EAAO;MACLC,UAAA,EAAY;QAAEC,aAAa;QAAEC,cAAc;QAAEC;MAAM;IAAE,CACtD;IACDC,WAAW;IACXC;EAAO,CACR,GAAGZ,OAAA,CAAQK,MAAM;EAElB,MAAMQ,MAAA,GAASzB,aAAA,CACb,C,GACKuB,WAAA,CACAG,MAAM,CAAC,CAAC;IAAEC;EAAI,CAAE,KAAKX,eAAA,CAAgBO,WAAW,CAACK,QAAQ,CAACD,IAAA,GAC1DE,GAAG,CACDC,UAAA,KACE;IACCC,IAAA,EAAMhC,UAAA,CAAW+B,UAAU;IAC3BE,MAAA,EAAQF;EACV,K,GAEHN,OAAA,CACAE,MAAM,CAAC,CAAC;IAAEC;EAAI,CAAE,KAAKX,eAAA,CAAgBQ,OAAO,CAACI,QAAQ,CAACD,IAAA,GACtDE,GAAG,CACDI,MAAA,KACE;IACCF,IAAA,EAAMhC,UAAA,CAAWkC,MAAM;IACvBD,MAAA,EAAQC;EACV,IAEP,EACDpB,WAAA,EACAJ,IAAA;EAGF,MAAMyB,cAAA,GAAiB,MAAM7B,WAAA,CAAY;IAAEO,OAAA;IAASG;EAAK;EAEzD,oBACEoB,KAAA,CAAChC,UAAA;IAAWC,SAAA,EAAWA,SAAA;4BACrB+B,KAAA,CAAC;MAAIC,SAAA,EAAW,GAAGhC,SAAA,QAAiB;8BAClCiC,IAAA,CAACvC,qBAAA;QACCwC,SAAA,EAAWjB,cAAA;QACXkB,SAAA,EAAW3B,OAAA,CAAQ2B,SAAS;QAC5BC,WAAA,EAAa;UACX/B,IAAA;UACAC,MAAA;UACAC,MAAA;UACAC,OAAA;UACAC,WAAA;UACAC,YAAA;UACAC;QACF;uBAEFsB,IAAA,CAAC/B,gBAAA;QAAiBmB,MAAA,EAAQA,MAAA;QAAQS,cAAA,EAAgBA;uBAClDG,IAAA,CAACvC,qBAAA;QACCwC,SAAA,EAAWlB,aAAA;QACXmB,SAAA,EAAW3B,OAAA,CAAQ2B,SAAS;QAC5BC,WAAA,EAAa;UACX/B,IAAA;UACAC,MAAA;UACAC,MAAA;UACAC,OAAA;UACAC,WAAA;UACAC,YAAA;UACAC;QACF;uBAEFsB,IAAA,CAAC;QAAID,SAAA,EAAW,GAAGhC,SAAA,YAAqB;kBACtC,aAAAiC,IAAA,CAACvC,qBAAA;UACCwC,SAAA,EAAWhB,MAAA,EAAQmB,MAAA;UACnBC,QAAA,EAAU7C,MAAA;UACV0C,SAAA,EAAW3B,OAAA,CAAQ2B,SAAS;UAC5BC,WAAA,EAAa;YACX/B,IAAA;YACAC,MAAA;YACAC,MAAA;YACAC,OAAA;YACAC,WAAA;YACAC,YAAA;YACAC;UACF;;;qBAINsB,IAAA,CAAC;MAAID,SAAA,EAAW,GAAGhC,SAAA,UAAmB;gBACpC,aAAAiC,IAAA,CAAC;QAAID,SAAA,EAAW,GAAGhC,SAAA,kBAA2B;kBAC5C,aAAAiC,IAAA,CAACnC,YAAA;UAAaE,SAAA,EAAWA;;;;;AAKnC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAIpG,OAAO,8BAA8B,CAAA;AAGrC,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAmBD,eAAO,MAAM,UAAU,yDAIpB;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,+BA4JA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAIpG,OAAO,8BAA8B,CAAA;AAGrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAmBD,eAAO,MAAM,UAAU,yDAIpB;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,+BAgIA,CAAA"}
@@ -4,6 +4,7 @@ import { RootProvider } from '@payloadcms/ui';
4
4
  import { headers as getHeaders, cookies as nextCookies } from 'next/headers.js';
5
5
  import { checkDependencies, parseCookies } from 'payload';
6
6
  import React from 'react';
7
+ import { getNavPrefs } from '../../elements/Nav/getNavPrefs.js';
7
8
  import { getClientConfig } from '../../utilities/getClientConfig.js';
8
9
  import { getPayloadHMR } from '../../utilities/getPayloadHMR.js';
9
10
  import { getRequestLanguage } from '../../utilities/getRequestLanguage.js';
@@ -107,43 +108,28 @@ export const RootLayout = async ({
107
108
  value: lang
108
109
  });
109
110
  }
110
- const navPreferences = user ? (await payload.find({
111
- collection: 'payload-preferences',
112
- depth: 0,
113
- limit: 1,
114
- req,
115
- user,
116
- where: {
117
- and: [{
118
- key: {
119
- equals: 'nav'
120
- }
121
- }, {
122
- 'user.relationTo': {
123
- equals: user.collection
124
- }
125
- }, {
126
- 'user.value': {
127
- equals: user.id
128
- }
129
- }]
130
- }
131
- }))?.docs?.[0] : null;
132
- const isNavOpen = navPreferences?.value?.open ?? true;
111
+ const navPrefs = await getNavPrefs({
112
+ payload,
113
+ user
114
+ });
133
115
  const clientConfig = await getClientConfig({
134
116
  config,
135
117
  i18n
136
118
  });
137
- return /*#__PURE__*/_jsx("html", {
119
+ return /*#__PURE__*/_jsxs("html", {
138
120
  "data-theme": theme,
139
121
  dir: dir,
140
122
  lang: languageCode,
141
- children: /*#__PURE__*/_jsxs("body", {
123
+ children: [/*#__PURE__*/_jsx("head", {
124
+ children: /*#__PURE__*/_jsx("style", {
125
+ children: `@layer payload-default, payload;`
126
+ })
127
+ }), /*#__PURE__*/_jsxs("body", {
142
128
  children: [/*#__PURE__*/_jsx(RootProvider, {
143
129
  config: clientConfig,
144
130
  dateFNSKey: i18n.dateFNSKey,
145
131
  fallbackLang: config.i18n.fallbackLanguage,
146
- isNavOpen: isNavOpen,
132
+ isNavOpen: navPrefs?.open,
147
133
  languageCode: languageCode,
148
134
  languageOptions: languageOptions,
149
135
  permissions: permissions,
@@ -160,7 +146,7 @@ export const RootLayout = async ({
160
146
  }), /*#__PURE__*/_jsx("div", {
161
147
  id: "portal"
162
148
  })]
163
- })
149
+ })]
164
150
  });
165
151
  };
166
152
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["rtlLanguages","RootProvider","headers","getHeaders","cookies","nextCookies","checkDependencies","parseCookies","React","getClientConfig","getPayloadHMR","getRequestLanguage","getRequestTheme","initReq","NestProviders","metadata","description","title","customReactVersionParser","version","mainVersion","preReleases","split","length","date","parts","map","Number","checkedDependencies","RootLayout","children","config","configPromise","serverFunction","process","env","NODE_ENV","PAYLOAD_DISABLE_DEPENDENCY_CHECKER","dependencyGroups","name","dependencies","targetVersionDependency","dependencyVersions","next","required","react","customVersionParser","languageCode","theme","payload","i18n","permissions","req","user","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","cookiePrefix","path","navPreferences","find","collection","depth","limit","where","and","key","equals","id","docs","isNavOpen","open","clientConfig","_jsx","_jsxs","dateFNSKey","fallbackLang","fallbackLanguage","Array","isArray","admin","components","providers","importMap"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { CustomVersionParser, ImportMap, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport '@payloadcms/ui/scss/app.scss'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { checkDependencies, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getClientConfig } from '../../utilities/getClientConfig.js'\nimport { getPayloadHMR } from '../../utilities/getPayloadHMR.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { NestProviders } from './NestProviders.js'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nconst customReactVersionParser: CustomVersionParser = (version) => {\n const [mainVersion, ...preReleases] = version.split('-')\n\n if (preReleases?.length === 3) {\n // Needs different handling, as it's in a format like 19.0.0-rc-06d0b89e-20240801 format\n const date = preReleases[2]\n\n const parts = mainVersion.split('.').map(Number)\n return { parts, preReleases: [date] }\n }\n\n const parts = mainVersion.split('.').map(Number)\n return { parts, preReleases }\n}\n\nlet checkedDependencies = false\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' &&\n !checkedDependencies\n ) {\n // eslint-disable-next-line react-compiler/react-compiler\n checkedDependencies = true\n // First check if there are mismatching dependency versions of next / react packages\n await checkDependencies({\n dependencyGroups: [\n {\n name: 'react',\n dependencies: ['react', 'react-dom'],\n targetVersionDependency: 'react',\n },\n ],\n dependencyVersions: {\n next: {\n required: false,\n version: '>=15.0.0',\n },\n react: {\n customVersionParser: customReactVersionParser,\n required: false,\n version: '>=19.0.0-rc-65a56d0e-20241020',\n },\n 'react-dom': {\n customVersionParser: customReactVersionParser,\n required: false,\n version: '>=19.0.0-rc-65a56d0e-20241020',\n },\n },\n })\n }\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 getPayloadHMR({ config })\n\n const { i18n, permissions, req, user } = await initReq(config)\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (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 )\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 navPreferences = user\n ? (\n await payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n req,\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 )?.docs?.[0]\n : null\n\n const isNavOpen = navPreferences?.value?.open ?? true\n\n const clientConfig = await getClientConfig({\n config,\n i18n,\n })\n\n return (\n <html data-theme={theme} dir={dir} lang={languageCode}>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={isNavOpen}\n languageCode={languageCode}\n languageOptions={languageOptions}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n user={user}\n >\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 >\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","RootProvider","headers","getHeaders","cookies","nextCookies","checkDependencies","parseCookies","React","getNavPrefs","getClientConfig","getPayloadHMR","getRequestLanguage","getRequestTheme","initReq","NestProviders","metadata","description","title","customReactVersionParser","version","mainVersion","preReleases","split","length","date","parts","map","Number","checkedDependencies","RootLayout","children","config","configPromise","serverFunction","process","env","NODE_ENV","PAYLOAD_DISABLE_DEPENDENCY_CHECKER","dependencyGroups","name","dependencies","targetVersionDependency","dependencyVersions","next","required","react","customVersionParser","languageCode","theme","payload","i18n","permissions","req","user","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","cookiePrefix","path","navPrefs","clientConfig","_jsxs","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","Array","isArray","admin","components","providers","importMap","id"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { CustomVersionParser, ImportMap, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport '@payloadcms/ui/scss/app.scss'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { checkDependencies, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.js'\nimport { getClientConfig } from '../../utilities/getClientConfig.js'\nimport { getPayloadHMR } from '../../utilities/getPayloadHMR.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { NestProviders } from './NestProviders.js'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nconst customReactVersionParser: CustomVersionParser = (version) => {\n const [mainVersion, ...preReleases] = version.split('-')\n\n if (preReleases?.length === 3) {\n // Needs different handling, as it's in a format like 19.0.0-rc-06d0b89e-20240801 format\n const date = preReleases[2]\n\n const parts = mainVersion.split('.').map(Number)\n return { parts, preReleases: [date] }\n }\n\n const parts = mainVersion.split('.').map(Number)\n return { parts, preReleases }\n}\n\nlet checkedDependencies = false\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' &&\n !checkedDependencies\n ) {\n // eslint-disable-next-line react-compiler/react-compiler\n checkedDependencies = true\n // First check if there are mismatching dependency versions of next / react packages\n await checkDependencies({\n dependencyGroups: [\n {\n name: 'react',\n dependencies: ['react', 'react-dom'],\n targetVersionDependency: 'react',\n },\n ],\n dependencyVersions: {\n next: {\n required: false,\n version: '>=15.0.0',\n },\n react: {\n customVersionParser: customReactVersionParser,\n required: false,\n version: '>=19.0.0-rc-65a56d0e-20241020',\n },\n 'react-dom': {\n customVersionParser: customReactVersionParser,\n required: false,\n version: '>=19.0.0-rc-65a56d0e-20241020',\n },\n },\n })\n }\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 getPayloadHMR({ config })\n\n const { i18n, permissions, req, user } = await initReq(config)\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (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 )\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 })\n\n const clientConfig = await getClientConfig({\n config,\n i18n,\n })\n\n return (\n <html data-theme={theme} dir={dir} lang={languageCode}>\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open}\n languageCode={languageCode}\n languageOptions={languageOptions}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n user={user}\n >\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 >\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":[]}