@payloadcms/next 3.0.0-canary.b6520aa → 3.0.0-canary.b922438

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 (56) hide show
  1. package/dist/elements/DocumentHeader/Tabs/index.scss +0 -1
  2. package/dist/elements/DocumentHeader/index.scss +0 -2
  3. package/dist/elements/LeaveWithoutSaving/index.scss +1 -0
  4. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  5. package/dist/elements/Nav/index.client.js +7 -8
  6. package/dist/elements/Nav/index.client.js.map +1 -1
  7. package/dist/elements/Nav/index.scss +17 -14
  8. package/dist/layouts/Root/index.d.ts.map +1 -1
  9. package/dist/layouts/Root/index.js +16 -1
  10. package/dist/layouts/Root/index.js.map +1 -1
  11. package/dist/prod/styles.css +1 -1
  12. package/dist/scss/app.scss +5 -5
  13. package/dist/scss/type.scss +1 -0
  14. package/dist/views/API/index.scss +1 -2
  15. package/dist/views/Account/index.client.d.ts +3 -0
  16. package/dist/views/Account/index.client.d.ts.map +1 -0
  17. package/dist/views/Account/index.client.js +21 -0
  18. package/dist/views/Account/index.client.js.map +1 -0
  19. package/dist/views/Account/index.d.ts.map +1 -1
  20. package/dist/views/Account/index.js +33 -29
  21. package/dist/views/Account/index.js.map +1 -1
  22. package/dist/views/Dashboard/index.js +3 -4
  23. package/dist/views/Dashboard/index.js.map +1 -1
  24. package/dist/views/Document/index.d.ts.map +1 -1
  25. package/dist/views/Document/index.js +3 -5
  26. package/dist/views/Document/index.js.map +1 -1
  27. package/dist/views/Edit/Default/Auth/APIKey.d.ts +2 -2
  28. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  29. package/dist/views/Edit/Default/Auth/APIKey.js +35 -8
  30. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  31. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  32. package/dist/views/Edit/Default/index.js +4 -2
  33. package/dist/views/Edit/Default/index.js.map +1 -1
  34. package/dist/views/List/Default/index.d.ts.map +1 -1
  35. package/dist/views/List/Default/index.js +28 -30
  36. package/dist/views/List/Default/index.js.map +1 -1
  37. package/dist/views/List/Default/index.scss +5 -12
  38. package/dist/views/List/index.js +3 -4
  39. package/dist/views/List/index.js.map +1 -1
  40. package/dist/views/NotFound/index.d.ts.map +1 -1
  41. package/dist/views/NotFound/index.js +12 -21
  42. package/dist/views/NotFound/index.js.map +1 -1
  43. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +1 -1
  44. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  45. package/dist/views/Version/index.d.ts +1 -1
  46. package/dist/views/Version/index.d.ts.map +1 -1
  47. package/dist/views/Version/index.js +32 -5
  48. package/dist/views/Version/index.js.map +1 -1
  49. package/dist/views/Versions/getLatestVersion.d.ts +13 -4
  50. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  51. package/dist/views/Versions/getLatestVersion.js +6 -1
  52. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  53. package/dist/views/Versions/index.d.ts.map +1 -1
  54. package/dist/views/Versions/index.js +24 -4
  55. package/dist/views/Versions/index.js.map +1 -1
  56. package/package.json +6 -6
@@ -37,7 +37,6 @@
37
37
 
38
38
  &__tabs {
39
39
  padding: 0;
40
- margin-left: var(--gutter-h);
41
40
  }
42
41
  }
43
42
 
@@ -40,8 +40,6 @@
40
40
 
41
41
  &__title {
42
42
  width: 100%;
43
- padding-left: var(--gutter-h);
44
- padding-right: var(--gutter-h);
45
43
  }
46
44
  }
47
45
 
@@ -13,6 +13,7 @@
13
13
  display: flex;
14
14
  flex-direction: column;
15
15
  gap: var(--base);
16
+ padding: base(2);
16
17
  }
17
18
 
18
19
  &__content {
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAgGpC,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAyFpC,CAAA"}
@@ -1,14 +1,16 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { getTranslation } from '@payloadcms/translations';
4
- import { ChevronIcon, NavGroup, useAuth, useConfig, useEntityVisibility, useNav, useTranslation } from '@payloadcms/ui';
4
+ import { NavGroup, useAuth, useConfig, useEntityVisibility, useNav, useTranslation } from '@payloadcms/ui';
5
5
  import { EntityType, formatAdminURL, groupNavItems } from '@payloadcms/ui/shared';
6
6
  import LinkWithDefault from 'next/link.js';
7
+ import { usePathname } from 'next/navigation.js';
7
8
  import React, { Fragment } from 'react';
8
9
  const baseClass = 'nav';
9
10
  export const DefaultNavClient = ()=>{
10
11
  const { permissions } = useAuth();
11
12
  const { isEntityVisible } = useEntityVisibility();
13
+ const pathname = usePathname();
12
14
  const { collections, globals, routes: { admin: adminRoute } } = useConfig();
13
15
  const { i18n } = useTranslation();
14
16
  const { navOpen } = useNav();
@@ -58,21 +60,18 @@ export const DefaultNavClient = ()=>{
58
60
  }
59
61
  const Link = LinkWithDefault.default || LinkWithDefault;
60
62
  const LinkElement = Link || 'a';
61
- const activeCollection = window?.location?.pathname?.split('/').find((_, index, arr)=>arr[index - 1] === 'collections' || arr[index - 1] === 'globals');
63
+ const activeCollection = pathname.endsWith(href);
62
64
  return /*#__PURE__*/ _jsxs(LinkElement, {
63
65
  className: [
64
66
  `${baseClass}__link`,
65
- activeCollection === entity?.slug && `active`
67
+ activeCollection && `active`
66
68
  ].filter(Boolean).join(' '),
67
69
  href: href,
68
70
  id: id,
69
71
  tabIndex: !navOpen ? -1 : undefined,
70
72
  children: [
71
- /*#__PURE__*/ _jsx("span", {
72
- className: `${baseClass}__link-icon`,
73
- children: /*#__PURE__*/ _jsx(ChevronIcon, {
74
- direction: "right"
75
- })
73
+ activeCollection && /*#__PURE__*/ _jsx("div", {
74
+ className: `${baseClass}__link-indicator`
76
75
  }),
77
76
  /*#__PURE__*/ _jsx("span", {
78
77
  className: `${baseClass}__link-label`,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { EntityToGroup } from '@payloadcms/ui/shared'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n ChevronIcon,\n NavGroup,\n useAuth,\n useConfig,\n useEntityVisibility,\n useNav,\n useTranslation,\n} from '@payloadcms/ui'\nimport { EntityType, formatAdminURL, groupNavItems } from '@payloadcms/ui/shared'\nimport LinkWithDefault from 'next/link.js'\nimport React, { Fragment } from 'react'\n\nconst baseClass = 'nav'\n\nexport const DefaultNavClient: React.FC = () => {\n const { permissions } = useAuth()\n const { isEntityVisible } = useEntityVisibility()\n\n const {\n collections,\n globals,\n routes: { admin: adminRoute },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { navOpen } = useNav()\n\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => isEntityVisible({ collectionSlug: slug }))\n .map((collection) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.collection,\n entity: collection,\n }\n\n return entityToGroup\n }),\n ...globals\n .filter(({ slug }) => isEntityVisible({ globalSlug: slug }))\n .map((global) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.global,\n entity: global,\n }\n\n return entityToGroup\n }),\n ],\n permissions,\n i18n,\n )\n\n return (\n <Fragment>\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup key={key} label={label}>\n {entities.map(({ type, entity }, i) => {\n let entityLabel: string\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = formatAdminURL({ adminRoute, path: `/collections/${entity.slug}` })\n entityLabel = getTranslation(entity.labels.plural, i18n)\n id = `nav-${entity.slug}`\n }\n\n if (type === EntityType.global) {\n href = formatAdminURL({ adminRoute, path: `/globals/${entity.slug}` })\n entityLabel = getTranslation(entity.label, i18n)\n id = `nav-global-${entity.slug}`\n }\n\n const Link = (LinkWithDefault.default ||\n LinkWithDefault) as typeof LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n\n const activeCollection = window?.location?.pathname\n ?.split('/')\n .find(\n (_, index, arr) =>\n arr[index - 1] === 'collections' || arr[index - 1] === 'globals',\n )\n\n return (\n <LinkElement\n className={[`${baseClass}__link`, activeCollection === entity?.slug && `active`]\n .filter(Boolean)\n .join(' ')}\n href={href}\n id={id}\n key={i}\n tabIndex={!navOpen ? -1 : undefined}\n >\n <span className={`${baseClass}__link-icon`}>\n <ChevronIcon direction=\"right\" />\n </span>\n <span className={`${baseClass}__link-label`}>{entityLabel}</span>\n </LinkElement>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"names":["getTranslation","ChevronIcon","NavGroup","useAuth","useConfig","useEntityVisibility","useNav","useTranslation","EntityType","formatAdminURL","groupNavItems","LinkWithDefault","React","Fragment","baseClass","DefaultNavClient","permissions","isEntityVisible","collections","globals","routes","admin","adminRoute","i18n","navOpen","groups","filter","slug","collectionSlug","map","collection","entityToGroup","type","entity","globalSlug","global","entities","label","key","i","entityLabel","href","id","path","labels","plural","Link","default","LinkElement","activeCollection","window","location","pathname","split","find","_","index","arr","className","Boolean","join","tabIndex","undefined","span","direction"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { EntityToGroup } from '@payloadcms/ui/shared'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n ChevronIcon,\n NavGroup,\n useAuth,\n useConfig,\n useEntityVisibility,\n useNav,\n useTranslation,\n} from '@payloadcms/ui'\nimport { EntityType, formatAdminURL, groupNavItems } 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 const { permissions } = useAuth()\n const { isEntityVisible } = useEntityVisibility()\n const pathname = usePathname()\n\n const {\n collections,\n globals,\n routes: { admin: adminRoute },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { navOpen } = useNav()\n\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => isEntityVisible({ collectionSlug: slug }))\n .map((collection) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.collection,\n entity: collection,\n }\n\n return entityToGroup\n }),\n ...globals\n .filter(({ slug }) => isEntityVisible({ globalSlug: slug }))\n .map((global) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.global,\n entity: global,\n }\n\n return entityToGroup\n }),\n ],\n permissions,\n i18n,\n )\n\n return (\n <Fragment>\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup key={key} label={label}>\n {entities.map(({ type, entity }, i) => {\n let entityLabel: string\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = formatAdminURL({ adminRoute, path: `/collections/${entity.slug}` })\n entityLabel = getTranslation(entity.labels.plural, i18n)\n id = `nav-${entity.slug}`\n }\n\n if (type === EntityType.global) {\n href = formatAdminURL({ adminRoute, path: `/globals/${entity.slug}` })\n entityLabel = getTranslation(entity.label, i18n)\n id = `nav-global-${entity.slug}`\n }\n\n const Link = (LinkWithDefault.default ||\n LinkWithDefault) as typeof LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n const activeCollection = pathname.endsWith(href)\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 tabIndex={!navOpen ? -1 : undefined}\n >\n {activeCollection && <div className={`${baseClass}__link-indicator`} />}\n <span className={`${baseClass}__link-label`}>{entityLabel}</span>\n </LinkElement>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"names":["getTranslation","NavGroup","useAuth","useConfig","useEntityVisibility","useNav","useTranslation","EntityType","formatAdminURL","groupNavItems","LinkWithDefault","usePathname","React","Fragment","baseClass","DefaultNavClient","permissions","isEntityVisible","pathname","collections","globals","routes","admin","adminRoute","i18n","navOpen","groups","filter","slug","collectionSlug","map","collection","entityToGroup","type","entity","globalSlug","global","entities","label","key","i","entityLabel","href","id","path","labels","plural","Link","default","LinkElement","activeCollection","endsWith","className","Boolean","join","tabIndex","undefined","div","span"],"mappings":"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"}
@@ -10,6 +10,7 @@
10
10
  border-right: 1px solid var(--theme-elevation-100);
11
11
  opacity: 0;
12
12
  transition: opacity var(--nav-trans-time) ease-in-out;
13
+ overflow: hidden;
13
14
 
14
15
  &--nav-open {
15
16
  opacity: 1;
@@ -18,7 +19,7 @@
18
19
  &__header {
19
20
  position: absolute;
20
21
  top: 0;
21
- width: 100%;
22
+ width: 100vw;
22
23
  height: var(--app-header-height);
23
24
  }
24
25
 
@@ -26,6 +27,7 @@
26
27
  z-index: 1;
27
28
  position: relative;
28
29
  height: 100%;
30
+ width: 100%;
29
31
  }
30
32
 
31
33
  &__mobile-close {
@@ -33,7 +35,7 @@
33
35
  background: none;
34
36
  border: 0;
35
37
  outline: 0;
36
- padding: calc(var(--base) * 0.75) var(--gutter-h);
38
+ padding: base(0.8) 0;
37
39
  }
38
40
 
39
41
  &__scroll {
@@ -85,7 +87,9 @@
85
87
  nav {
86
88
  a {
87
89
  position: relative;
88
- padding: base(0.125) base(1.5) base(0.125) 0;
90
+ padding-block: base(0.125);
91
+ padding-inline-start: 0;
92
+ padding-inline-end: base(1.5);
89
93
  display: flex;
90
94
  text-decoration: none;
91
95
 
@@ -110,19 +114,18 @@
110
114
  &__link {
111
115
  display: flex;
112
116
  align-items: center;
113
-
114
- &.active {
115
- .nav__link-icon {
116
- display: block;
117
- }
118
- }
119
117
  }
120
118
 
121
- &__link-icon {
122
- display: none;
123
- margin-right: calc(var(--base) * 0.25);
124
- top: -1px;
125
- position: relative;
119
+ &__link-indicator {
120
+ position: absolute;
121
+ display: block;
122
+ // top: 0;
123
+ inset-inline-start: base(-1);
124
+ width: 2px;
125
+ height: 16px;
126
+ border-start-end-radius: 2px;
127
+ border-end-end-radius: 2px;
128
+ background: var(--theme-text);
126
129
  }
127
130
 
128
131
  @include mid-break {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,OAAO,8BAA8B,CAAA;AAIrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,yCAGpB;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CACjC,+BAoFA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9D,OAAO,8BAA8B,CAAA;AAKrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,yCAGpB;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CACjC,+BAoGA,CAAA"}
@@ -3,7 +3,7 @@ import { initI18n, rtlLanguages } from '@payloadcms/translations';
3
3
  import { RootProvider } from '@payloadcms/ui';
4
4
  import { buildComponentMap } from '@payloadcms/ui/utilities/buildComponentMap';
5
5
  import { headers as getHeaders, cookies as nextCookies } from 'next/headers.js';
6
- import { createClientConfig, parseCookies } from 'payload';
6
+ import { createClientConfig, createLocalReq, parseCookies } from 'payload';
7
7
  import React from 'react';
8
8
  import { getPayloadHMR } from '../../utilities/getPayloadHMR.js';
9
9
  import { getRequestLanguage } from '../../utilities/getRequestLanguage.js';
@@ -36,6 +36,19 @@ export const RootLayout = async ({ children, config: configPromise })=>{
36
36
  context: 'client',
37
37
  language: languageCode
38
38
  });
39
+ const req = await createLocalReq({
40
+ fallbackLocale: null,
41
+ req: {
42
+ headers,
43
+ host: headers.get('host'),
44
+ i18n,
45
+ url: `${payload.config.serverURL}`
46
+ }
47
+ }, payload);
48
+ const { permissions, user } = await payload.auth({
49
+ headers,
50
+ req
51
+ });
39
52
  const clientConfig = await createClientConfig({
40
53
  config,
41
54
  t: i18n.t
@@ -79,9 +92,11 @@ export const RootLayout = async ({ children, config: configPromise })=>{
79
92
  fallbackLang: clientConfig.i18n.fallbackLanguage,
80
93
  languageCode: languageCode,
81
94
  languageOptions: languageOptions,
95
+ permissions: permissions,
82
96
  switchLanguageServerAction: switchLanguageServerAction,
83
97
  theme: theme,
84
98
  translations: i18n.translations,
99
+ user: user,
85
100
  children: wrappedChildren
86
101
  }),
87
102
  /*#__PURE__*/ _jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages, I18nClient } from '@payloadcms/translations'\nimport type { SanitizedConfig } from 'payload'\n\nimport { initI18n, rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport '@payloadcms/ui/scss/app.scss'\nimport { buildComponentMap } from '@payloadcms/ui/utilities/buildComponentMap'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { createClientConfig, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getPayloadHMR } from '../../utilities/getPayloadHMR.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { DefaultEditView } from '../../views/Edit/Default/index.js'\nimport { DefaultListView } from '../../views/List/Default/index.js'\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}: {\n children: React.ReactNode\n config: Promise<SanitizedConfig>\n}) => {\n const config = await configPromise\n\n const headers = 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: I18nClient = await initI18n({\n config: config.i18n,\n context: 'client',\n language: languageCode,\n })\n\n const clientConfig = await createClientConfig({ config, t: i18n.t })\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 // eslint-disable-next-line @typescript-eslint/require-await\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n nextCookies().set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const { componentMap, wrappedChildren } = buildComponentMap({\n DefaultEditView,\n DefaultListView,\n children,\n i18n,\n payload,\n })\n\n return (\n <html data-theme={theme} dir={dir} lang={languageCode}>\n <body>\n <RootProvider\n componentMap={componentMap}\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={clientConfig.i18n.fallbackLanguage}\n languageCode={languageCode}\n languageOptions={languageOptions}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n >\n {wrappedChildren}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"names":["initI18n","rtlLanguages","RootProvider","buildComponentMap","headers","getHeaders","cookies","nextCookies","createClientConfig","parseCookies","React","getPayloadHMR","getRequestLanguage","getRequestTheme","DefaultEditView","DefaultListView","metadata","description","title","RootLayout","children","config","configPromise","languageCode","theme","payload","i18n","context","language","clientConfig","t","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","componentMap","wrappedChildren","html","data-theme","body","dateFNSKey","fallbackLang","fallbackLanguage","div","id"],"mappings":";AAGA,SAASA,QAAQ,EAAEC,YAAY,QAAQ,2BAA0B;AACjE,SAASC,YAAY,QAAQ,iBAAgB;AAE7C,SAASC,iBAAiB,QAAQ,6CAA4C;AAC9E,SAASC,WAAWC,UAAU,EAAEC,WAAWC,WAAW,QAAQ,kBAAiB;AAC/E,SAASC,kBAAkB,EAAEC,YAAY,QAAQ,UAAS;AAC1D,OAAOC,WAAW,QAAO;AAEzB,SAASC,aAAa,QAAQ,mCAAkC;AAChE,SAASC,kBAAkB,QAAQ,wCAAuC;AAC1E,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,oCAAmC;AACnE,SAASC,eAAe,QAAQ,oCAAmC;AAEnE,OAAO,MAAMC,WAAW;IACtBC,aAAa;IACbC,OAAO;AACT,EAAC;AAED,OAAO,MAAMC,aAAa,OAAO,EAC/BC,QAAQ,EACRC,QAAQC,aAAa,EAItB;IACC,MAAMD,SAAS,MAAMC;IAErB,MAAMlB,UAAUC;IAChB,MAAMC,UAAUG,aAAaL;IAE7B,MAAMmB,eAAeX,mBAAmB;QACtCS;QACAf;QACAF;IACF;IAEA,MAAMoB,QAAQX,gBAAgB;QAC5BQ;QACAf;QACAF;IACF;IAEA,MAAMqB,UAAU,MAAMd,cAAc;QAAEU;IAAO;IAE7C,MAAMK,OAAmB,MAAM1B,SAAS;QACtCqB,QAAQA,OAAOK,IAAI;QACnBC,SAAS;QACTC,UAAUL;IACZ;IAEA,MAAMM,eAAe,MAAMrB,mBAAmB;QAAEa;QAAQS,GAAGJ,KAAKI,CAAC;IAAC;IAElE,MAAMC,MAAM,AAAC9B,aAAgD+B,QAAQ,CAACT,gBAClE,QACA;IAEJ,MAAMU,kBAAkBC,OAAOC,OAAO,CAACd,OAAOK,IAAI,CAACU,kBAAkB,IAAI,CAAC,GAAGC,MAAM,CACjF,CAACC,KAAK,CAACV,UAAUW,eAAe;QAC9B,IAAIL,OAAOM,IAAI,CAACnB,OAAOK,IAAI,CAACU,kBAAkB,EAAEJ,QAAQ,CAACJ,WAAW;YAClEU,IAAIG,IAAI,CAAC;gBACPC,OAAOH,eAAeI,YAAY,CAACC,OAAO,CAACC,YAAY;gBACvDC,OAAOlB;YACT;QACF;QAEA,OAAOU;IACT,GACA,EAAE;IAGJ,4DAA4D;IAC5D,eAAeS,2BAA2BC,IAAY;QACpD;QACAzC,cAAc0C,GAAG,CAAC;YAChBC,MAAM,CAAC,EAAE7B,OAAO8B,YAAY,IAAI,UAAU,IAAI,CAAC;YAC/CC,MAAM;YACNN,OAAOE;QACT;IACF;IAEA,MAAM,EAAEK,YAAY,EAAEC,eAAe,EAAE,GAAGnD,kBAAkB;QAC1DW;QACAC;QACAK;QACAM;QACAD;IACF;IAEA,qBACE,KAAC8B;QAAKC,cAAYhC;QAAOO,KAAKA;QAAKiB,MAAMzB;kBACvC,cAAA,MAACkC;;8BACC,KAACvD;oBACCmD,cAAcA;oBACdhC,QAAQQ;oBACR6B,YAAYhC,KAAKgC,UAAU;oBAC3BC,cAAc9B,aAAaH,IAAI,CAACkC,gBAAgB;oBAChDrC,cAAcA;oBACdU,iBAAiBA;oBACjBc,4BAA4BA;oBAC5BvB,OAAOA;oBACPmB,cAAcjB,KAAKiB,YAAY;8BAE9BW;;8BAEH,KAACO;oBAAIC,IAAG;;;;;AAIhB,EAAC"}
1
+ {"version":3,"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages, I18nClient } from '@payloadcms/translations'\nimport type { PayloadRequest, SanitizedConfig } from 'payload'\n\nimport { initI18n, rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport '@payloadcms/ui/scss/app.scss'\nimport { buildComponentMap } from '@payloadcms/ui/utilities/buildComponentMap'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { createClientConfig, createLocalReq, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { getPayloadHMR } from '../../utilities/getPayloadHMR.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { DefaultEditView } from '../../views/Edit/Default/index.js'\nimport { DefaultListView } from '../../views/List/Default/index.js'\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}: {\n children: React.ReactNode\n config: Promise<SanitizedConfig>\n}) => {\n const config = await configPromise\n\n const headers = 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: I18nClient = await initI18n({\n config: config.i18n,\n context: 'client',\n language: languageCode,\n })\n\n const req = await createLocalReq(\n {\n fallbackLocale: null,\n req: {\n headers,\n host: headers.get('host'),\n i18n,\n url: `${payload.config.serverURL}`,\n } as PayloadRequest,\n },\n payload,\n )\n const { permissions, user } = await payload.auth({ headers, req })\n\n const clientConfig = await createClientConfig({ config, t: i18n.t })\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 // eslint-disable-next-line @typescript-eslint/require-await\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n nextCookies().set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const { componentMap, wrappedChildren } = buildComponentMap({\n DefaultEditView,\n DefaultListView,\n children,\n i18n,\n payload,\n })\n\n return (\n <html data-theme={theme} dir={dir} lang={languageCode}>\n <body>\n <RootProvider\n componentMap={componentMap}\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={clientConfig.i18n.fallbackLanguage}\n languageCode={languageCode}\n languageOptions={languageOptions}\n permissions={permissions}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n user={user}\n >\n {wrappedChildren}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"names":["initI18n","rtlLanguages","RootProvider","buildComponentMap","headers","getHeaders","cookies","nextCookies","createClientConfig","createLocalReq","parseCookies","React","getPayloadHMR","getRequestLanguage","getRequestTheme","DefaultEditView","DefaultListView","metadata","description","title","RootLayout","children","config","configPromise","languageCode","theme","payload","i18n","context","language","req","fallbackLocale","host","get","url","serverURL","permissions","user","auth","clientConfig","t","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","componentMap","wrappedChildren","html","data-theme","body","dateFNSKey","fallbackLang","fallbackLanguage","div","id"],"mappings":"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"}