@payloadcms/next 3.0.0-beta.72 → 3.0.0-beta.74

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 (61) hide show
  1. package/dist/cjs/withPayload.cjs +10 -5
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +7 -5
  4. package/dist/elements/EmailAndUsername/index.d.ts +14 -0
  5. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -0
  6. package/dist/elements/EmailAndUsername/index.js +84 -0
  7. package/dist/elements/EmailAndUsername/index.js.map +1 -0
  8. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  9. package/dist/elements/LeaveWithoutSaving/index.js +2 -0
  10. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  11. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  12. package/dist/elements/Nav/index.client.js +5 -1
  13. package/dist/elements/Nav/index.client.js.map +1 -1
  14. package/dist/layouts/Root/index.d.ts.map +1 -1
  15. package/dist/layouts/Root/index.js +0 -17
  16. package/dist/layouts/Root/index.js.map +1 -1
  17. package/dist/prod/styles.css +1 -1
  18. package/dist/scss/app.scss +5 -10
  19. package/dist/scss/toastify.scss +59 -0
  20. package/dist/scss/toasts.scss +75 -45
  21. package/dist/scss/type.scss +14 -23
  22. package/dist/scss/vars.scss +26 -47
  23. package/dist/views/CreateFirstUser/index.client.d.ts +2 -3
  24. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  25. package/dist/views/CreateFirstUser/index.client.js +8 -14
  26. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  27. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  28. package/dist/views/CreateFirstUser/index.js +1 -7
  29. package/dist/views/CreateFirstUser/index.js.map +1 -1
  30. package/dist/views/CreateFirstUser/index.scss +4 -0
  31. package/dist/views/Dashboard/Default/index.scss +11 -7
  32. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  33. package/dist/views/Edit/Default/Auth/index.js +11 -33
  34. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  35. package/dist/views/Edit/Default/index.scss +2 -2
  36. package/dist/views/ForgotPassword/index.js +1 -0
  37. package/dist/views/ForgotPassword/index.js.map +1 -1
  38. package/dist/views/List/Default/index.scss +2 -5
  39. package/dist/views/Login/LoginField/index.d.ts +2 -0
  40. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  41. package/dist/views/Login/LoginField/index.js +8 -66
  42. package/dist/views/Login/LoginField/index.js.map +1 -1
  43. package/dist/views/Login/LoginForm/index.js +1 -0
  44. package/dist/views/Login/LoginForm/index.js.map +1 -1
  45. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  46. package/dist/views/Logout/LogoutClient.js +2 -1
  47. package/dist/views/Logout/LogoutClient.js.map +1 -1
  48. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  49. package/dist/views/NotFound/index.client.js +1 -0
  50. package/dist/views/NotFound/index.client.js.map +1 -1
  51. package/dist/views/ResetPassword/index.client.js +1 -0
  52. package/dist/views/ResetPassword/index.client.js.map +1 -1
  53. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  54. package/dist/views/Unauthorized/index.js +1 -0
  55. package/dist/views/Unauthorized/index.js.map +1 -1
  56. package/dist/views/Version/Default/index.js +1 -1
  57. package/dist/views/Version/Default/index.js.map +1 -1
  58. package/dist/withPayload.d.ts.map +1 -1
  59. package/dist/withPayload.js +10 -5
  60. package/dist/withPayload.js.map +1 -1
  61. package/package.json +7 -7
@@ -37,8 +37,13 @@ const withPayload = (nextConfig = {})=>{
37
37
  '**/*': [
38
38
  ...nextConfig.experimental?.outputFileTracingExcludes?.['**/*'] || [],
39
39
  'drizzle-kit',
40
- 'drizzle-kit/payload',
41
- 'libsql'
40
+ 'drizzle-kit/api'
41
+ ]
42
+ },
43
+ outputFileTracingIncludes: {
44
+ '**/*': [
45
+ ...nextConfig.experimental?.outputFileTracingIncludes?.['**/*'] || [],
46
+ '@libsql/client'
42
47
  ]
43
48
  },
44
49
  turbo: {
@@ -75,9 +80,9 @@ const withPayload = (nextConfig = {})=>{
75
80
  serverExternalPackages: [
76
81
  ...nextConfig?.serverExternalPackages || [],
77
82
  'drizzle-kit',
78
- 'drizzle-kit/payload',
79
- 'libsql',
83
+ 'drizzle-kit/api',
80
84
  'pino',
85
+ 'libsql',
81
86
  'pino-pretty',
82
87
  'graphql'
83
88
  ],
@@ -88,7 +93,7 @@ const withPayload = (nextConfig = {})=>{
88
93
  externals: [
89
94
  ...incomingWebpackConfig?.externals || [],
90
95
  'drizzle-kit',
91
- 'drizzle-kit/payload',
96
+ 'drizzle-kit/api',
92
97
  'sharp',
93
98
  'libsql'
94
99
  ],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/withPayload.js"],"names":[],"mappings":"AAAA;;;;GAIG;;;;;;;;;;;IAqHH,OAA0B;eAA1B;;IApHa,WAAW;eAAX;;;AAAN,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,WAAW,YAAY,EAAE,YAAY,SAAS;QAChD,QAAQ,IAAI,CACV;IAEJ;IAEA;;GAEC,GACD,MAAM,WAAW;QACf,GAAG,UAAU;QACb,KAAK;YACH,GAAI,YAAY,OAAO,CAAC,CAAC;QAC3B;QACA,cAAc;YACZ,GAAI,YAAY,gBAAgB,CAAC,CAAC;YAClC,2BAA2B;gBACzB,QAAQ;uBACF,WAAW,YAAY,EAAE,2BAA2B,CAAC,OAAO,IAAI,EAAE;oBACtE;oBACA;oBACA;iBACD;YACH;YACA,OAAO;gBACL,GAAI,YAAY,cAAc,SAAS,CAAC,CAAC;gBACzC,cAAc;oBACZ,GAAI,YAAY,cAAc,OAAO,gBAAgB,CAAC,CAAC;oBACvD,wBAAwB;gBAC1B;YACF;QACF;QACA,SAAS;YACP,MAAM,oBAAoB,aAAa,aAAa,MAAM,WAAW,OAAO,KAAK,EAAE;YAEnF,OAAO;mBACD,qBAAqB,EAAE;gBAC3B;oBACE,QAAQ;oBACR,SAAS;wBACP;4BACE,KAAK;4BACL,OAAO;wBACT;wBACA;4BACE,KAAK;4BACL,OAAO;wBACT;wBACA;4BACE,KAAK;4BACL,OAAO;wBACT;qBACD;gBACH;aACD;QACH;QACA,wBAAwB;eAClB,YAAY,0BAA0B,EAAE;YAC5C;YACA;YACA;YACA;YACA;YACA;SACD;QACD,SAAS,CAAC,eAAe;YACvB,MAAM,wBACJ,OAAO,WAAW,OAAO,KAAK,aAC1B,WAAW,OAAO,CAAC,eAAe,kBAClC;YAEN,OAAO;gBACL,GAAG,qBAAqB;gBACxB,WAAW;uBACL,uBAAuB,aAAa,EAAE;oBAC1C;oBACA;oBACA;oBACA;iBACD;gBACD,gBAAgB;uBACV,uBAAuB,kBAAkB,EAAE;oBAC/C;wBAAE,QAAQ;oBAAwC;oBAClD;wBAAE,MAAM;oBAAwC;oBAChD;wBAAE,QAAQ;oBAAuC;oBACjD;wBAAE,MAAM;oBAAuC;iBAChD;gBACD,SAAS;oBACP,GAAI,uBAAuB,WAAW,CAAC,CAAC;oBACxC,OAAO;wBACL,GAAI,uBAAuB,SAAS,SAAS,CAAC,CAAC;oBACjD;oBACA,UAAU;wBACR,GAAI,uBAAuB,SAAS,YAAY,CAAC,CAAC;wBAClD,iCAAiC;wBACjC,oBAAoB;wBACpB,MAAM;wBACN,UAAU;wBACV,6BAA6B;wBAC7B,QAAQ;wBACR,kBAAkB;wBAClB,eAAe;oBACjB;gBACF;YACF;QACF;IACF;IAEA,IAAI,WAAW,QAAQ,EAAE;QACvB,SAAS,GAAG,CAAC,cAAc,GAAG,WAAW,QAAQ;IACnD;IAEA,OAAO;AACT;MAEA,WAAe","file":"withPayload.cjs","sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}) => {\n if (nextConfig.experimental?.staleTimes?.dynamic) {\n console.warn(\n 'Payload detected a non-zero value for the `staleTimes.dynamic` option in your Next.js config. This may cause stale data to load in the Admin Panel. To clear this warning, remove the `staleTimes.dynamic` option from your Next.js config or set it to 0. In the future, Next.js may support scoping this option to specific routes.',\n )\n }\n\n /**\n * @type {import('next').NextConfig}\n */\n const toReturn = {\n ...nextConfig,\n env: {\n ...(nextConfig?.env || {}),\n },\n experimental: {\n ...(nextConfig?.experimental || {}),\n outputFileTracingExcludes: {\n '**/*': [\n ...(nextConfig.experimental?.outputFileTracingExcludes?.['**/*'] || []),\n 'drizzle-kit',\n 'drizzle-kit/payload',\n 'libsql',\n ],\n },\n turbo: {\n ...(nextConfig?.experimental?.turbo || {}),\n resolveAlias: {\n ...(nextConfig?.experimental?.turbo?.resolveAlias || {}),\n 'payload-mock-package': 'payload-mock-package',\n },\n },\n },\n headers: async () => {\n const headersFromConfig = 'headers' in nextConfig ? await nextConfig.headers() : []\n\n return [\n ...(headersFromConfig || []),\n {\n source: '/:path*',\n headers: [\n {\n key: 'Accept-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Vary',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Critical-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n ],\n },\n ]\n },\n serverExternalPackages: [\n ...(nextConfig?.serverExternalPackages || []),\n 'drizzle-kit',\n 'drizzle-kit/payload',\n 'libsql',\n 'pino',\n 'pino-pretty',\n 'graphql',\n ],\n webpack: (webpackConfig, webpackOptions) => {\n const incomingWebpackConfig =\n typeof nextConfig.webpack === 'function'\n ? nextConfig.webpack(webpackConfig, webpackOptions)\n : webpackConfig\n\n return {\n ...incomingWebpackConfig,\n externals: [\n ...(incomingWebpackConfig?.externals || []),\n 'drizzle-kit',\n 'drizzle-kit/payload',\n 'sharp',\n 'libsql',\n ],\n ignoreWarnings: [\n ...(incomingWebpackConfig?.ignoreWarnings || []),\n { module: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { module: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n ],\n resolve: {\n ...(incomingWebpackConfig?.resolve || {}),\n alias: {\n ...(incomingWebpackConfig?.resolve?.alias || {}),\n },\n fallback: {\n ...(incomingWebpackConfig?.resolve?.fallback || {}),\n '@aws-sdk/credential-providers': false,\n '@mongodb-js/zstd': false,\n aws4: false,\n kerberos: false,\n 'mongodb-client-encryption': false,\n snappy: false,\n 'supports-color': false,\n 'yocto-queue': false,\n },\n },\n }\n },\n }\n\n if (nextConfig.basePath) {\n toReturn.env.NEXT_BASE_PATH = nextConfig.basePath\n }\n\n return toReturn\n}\n\nexport default withPayload\n"]}
1
+ {"version":3,"sources":["../../src/withPayload.js"],"names":[],"mappings":"AAAA;;;;GAIG;;;;;;;;;;;IA0HH,OAA0B;eAA1B;;IAzHa,WAAW;eAAX;;;AAAN,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,WAAW,YAAY,EAAE,YAAY,SAAS;QAChD,QAAQ,IAAI,CACV;IAEJ;IAEA;;GAEC,GACD,MAAM,WAAW;QACf,GAAG,UAAU;QACb,KAAK;YACH,GAAI,YAAY,OAAO,CAAC,CAAC;QAC3B;QACA,cAAc;YACZ,GAAI,YAAY,gBAAgB,CAAC,CAAC;YAClC,2BAA2B;gBACzB,QAAQ;uBACF,WAAW,YAAY,EAAE,2BAA2B,CAAC,OAAO,IAAI,EAAE;oBACtE;oBACA;iBACD;YACH;YACA,2BAA2B;gBACzB,QAAQ;uBACF,WAAW,YAAY,EAAE,2BAA2B,CAAC,OAAO,IAAI,EAAE;oBACtE;iBACD;YACH;YACA,OAAO;gBACL,GAAI,YAAY,cAAc,SAAS,CAAC,CAAC;gBACzC,cAAc;oBACZ,GAAI,YAAY,cAAc,OAAO,gBAAgB,CAAC,CAAC;oBACvD,wBAAwB;gBAC1B;YACF;QACF;QACA,SAAS;YACP,MAAM,oBAAoB,aAAa,aAAa,MAAM,WAAW,OAAO,KAAK,EAAE;YAEnF,OAAO;mBACD,qBAAqB,EAAE;gBAC3B;oBACE,QAAQ;oBACR,SAAS;wBACP;4BACE,KAAK;4BACL,OAAO;wBACT;wBACA;4BACE,KAAK;4BACL,OAAO;wBACT;wBACA;4BACE,KAAK;4BACL,OAAO;wBACT;qBACD;gBACH;aACD;QACH;QACA,wBAAwB;eAClB,YAAY,0BAA0B,EAAE;YAC5C;YACA;YACA;YACA;YACA;YACA;SACD;QACD,SAAS,CAAC,eAAe;YACvB,MAAM,wBACJ,OAAO,WAAW,OAAO,KAAK,aAC1B,WAAW,OAAO,CAAC,eAAe,kBAClC;YAEN,OAAO;gBACL,GAAG,qBAAqB;gBACxB,WAAW;uBACL,uBAAuB,aAAa,EAAE;oBAC1C;oBACA;oBACA;oBACA;iBACD;gBACD,gBAAgB;uBACV,uBAAuB,kBAAkB,EAAE;oBAC/C;wBAAE,QAAQ;oBAAwC;oBAClD;wBAAE,MAAM;oBAAwC;oBAChD;wBAAE,QAAQ;oBAAuC;oBACjD;wBAAE,MAAM;oBAAuC;iBAChD;gBACD,SAAS;oBACP,GAAI,uBAAuB,WAAW,CAAC,CAAC;oBACxC,OAAO;wBACL,GAAI,uBAAuB,SAAS,SAAS,CAAC,CAAC;oBACjD;oBACA,UAAU;wBACR,GAAI,uBAAuB,SAAS,YAAY,CAAC,CAAC;wBAClD,iCAAiC;wBACjC,oBAAoB;wBACpB,MAAM;wBACN,UAAU;wBACV,6BAA6B;wBAC7B,QAAQ;wBACR,kBAAkB;wBAClB,eAAe;oBACjB;gBACF;YACF;QACF;IACF;IAEA,IAAI,WAAW,QAAQ,EAAE;QACvB,SAAS,GAAG,CAAC,cAAc,GAAG,WAAW,QAAQ;IACnD;IAEA,OAAO;AACT;MAEA,WAAe","file":"withPayload.cjs","sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}) => {\n if (nextConfig.experimental?.staleTimes?.dynamic) {\n console.warn(\n 'Payload detected a non-zero value for the `staleTimes.dynamic` option in your Next.js config. This may cause stale data to load in the Admin Panel. To clear this warning, remove the `staleTimes.dynamic` option from your Next.js config or set it to 0. In the future, Next.js may support scoping this option to specific routes.',\n )\n }\n\n /**\n * @type {import('next').NextConfig}\n */\n const toReturn = {\n ...nextConfig,\n env: {\n ...(nextConfig?.env || {}),\n },\n experimental: {\n ...(nextConfig?.experimental || {}),\n outputFileTracingExcludes: {\n '**/*': [\n ...(nextConfig.experimental?.outputFileTracingExcludes?.['**/*'] || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n ],\n },\n outputFileTracingIncludes: {\n '**/*': [\n ...(nextConfig.experimental?.outputFileTracingIncludes?.['**/*'] || []),\n '@libsql/client',\n ],\n },\n turbo: {\n ...(nextConfig?.experimental?.turbo || {}),\n resolveAlias: {\n ...(nextConfig?.experimental?.turbo?.resolveAlias || {}),\n 'payload-mock-package': 'payload-mock-package',\n },\n },\n },\n headers: async () => {\n const headersFromConfig = 'headers' in nextConfig ? await nextConfig.headers() : []\n\n return [\n ...(headersFromConfig || []),\n {\n source: '/:path*',\n headers: [\n {\n key: 'Accept-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Vary',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Critical-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n ],\n },\n ]\n },\n serverExternalPackages: [\n ...(nextConfig?.serverExternalPackages || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'pino',\n 'libsql',\n 'pino-pretty',\n 'graphql',\n ],\n webpack: (webpackConfig, webpackOptions) => {\n const incomingWebpackConfig =\n typeof nextConfig.webpack === 'function'\n ? nextConfig.webpack(webpackConfig, webpackOptions)\n : webpackConfig\n\n return {\n ...incomingWebpackConfig,\n externals: [\n ...(incomingWebpackConfig?.externals || []),\n 'drizzle-kit',\n 'drizzle-kit/api',\n 'sharp',\n 'libsql',\n ],\n ignoreWarnings: [\n ...(incomingWebpackConfig?.ignoreWarnings || []),\n { module: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { module: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n ],\n resolve: {\n ...(incomingWebpackConfig?.resolve || {}),\n alias: {\n ...(incomingWebpackConfig?.resolve?.alias || {}),\n },\n fallback: {\n ...(incomingWebpackConfig?.resolve?.fallback || {}),\n '@aws-sdk/credential-providers': false,\n '@mongodb-js/zstd': false,\n aws4: false,\n kerberos: false,\n 'mongodb-client-encryption': false,\n snappy: false,\n 'supports-color': false,\n 'yocto-queue': false,\n },\n },\n }\n },\n }\n\n if (nextConfig.basePath) {\n toReturn.env.NEXT_BASE_PATH = nextConfig.basePath\n }\n\n return toReturn\n}\n\nexport default withPayload\n"]}
@@ -35,7 +35,7 @@
35
35
  position: absolute;
36
36
  width: 100%;
37
37
  height: 100%;
38
- border-radius: 2px;
38
+ border-radius: var(--style-radius-s);
39
39
  background-color: var(--theme-elevation-50);
40
40
  opacity: 0;
41
41
  }
@@ -51,6 +51,7 @@
51
51
  }
52
52
 
53
53
  &--active {
54
+ font-weight: 600;
54
55
  &::before {
55
56
  opacity: 1;
56
57
  background-color: var(--theme-elevation-100);
@@ -78,14 +79,15 @@
78
79
  gap: 4px;
79
80
  width: 100%;
80
81
  height: 100%;
81
- padding: calc(var(--base) / 2) calc(var(--base));
82
+ line-height: base(1.2);
83
+ padding: base(0.2) base(0.6);
82
84
  }
83
85
 
84
86
  &__count {
85
- min-width: 22px;
87
+ line-height: base(0.8);
88
+ min-width: base(0.8);
86
89
  text-align: center;
87
- padding: 2px 7px;
88
90
  background-color: var(--theme-elevation-100);
89
- border-radius: 1px;
91
+ border-radius: var(--style-radius-s);
90
92
  }
91
93
  }
@@ -0,0 +1,14 @@
1
+ import type { FieldPermissions, LoginWithUsernameOptions } from 'payload';
2
+ import React from 'react';
3
+ type RenderEmailAndUsernameFieldsProps = {
4
+ className?: string;
5
+ loginWithUsername?: LoginWithUsernameOptions | false;
6
+ operation?: 'create' | 'update';
7
+ permissions?: {
8
+ [fieldName: string]: FieldPermissions;
9
+ };
10
+ readOnly: boolean;
11
+ };
12
+ export declare function RenderEmailAndUsernameFields(props: RenderEmailAndUsernameFieldsProps): React.JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EmailAndUsername/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAIzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAmDzB,KAAK,iCAAiC,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,wBAAwB,GAAG,KAAK,CAAA;IACpD,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,CAAC,EAAE;QACZ,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAAA;KACtC,CAAA;IACD,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AACD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,iCAAiC,qBAoCpF"}
@@ -0,0 +1,84 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { EmailField, RenderFields, TextField, useTranslation } from '@payloadcms/ui';
4
+ import { email, username } from 'payload/shared';
5
+ import React from 'react';
6
+ function EmailFieldComponent(props) {
7
+ const { loginWithUsername } = props;
8
+ const { t } = useTranslation();
9
+ const requireEmail = !loginWithUsername || loginWithUsername && loginWithUsername.requireEmail;
10
+ const showEmailField = !loginWithUsername || loginWithUsername?.requireEmail || loginWithUsername?.allowEmailLogin;
11
+ if (showEmailField) {
12
+ return /*#__PURE__*/ _jsx(EmailField, {
13
+ autoComplete: "off",
14
+ label: t('general:email'),
15
+ name: "email",
16
+ path: "email",
17
+ required: requireEmail,
18
+ validate: email
19
+ });
20
+ }
21
+ return null;
22
+ }
23
+ function UsernameFieldComponent(props) {
24
+ const { loginWithUsername } = props;
25
+ const { t } = useTranslation();
26
+ const requireUsername = loginWithUsername && loginWithUsername.requireUsername;
27
+ const showUsernameField = Boolean(loginWithUsername);
28
+ if (showUsernameField) {
29
+ return /*#__PURE__*/ _jsx(TextField, {
30
+ label: t('authentication:username'),
31
+ name: "username",
32
+ path: "username",
33
+ required: requireUsername,
34
+ validate: username
35
+ });
36
+ }
37
+ return null;
38
+ }
39
+ export function RenderEmailAndUsernameFields(props) {
40
+ const { className, loginWithUsername, operation, permissions, readOnly } = props;
41
+ return /*#__PURE__*/ _jsx(RenderFields, {
42
+ className: className,
43
+ fieldMap: [
44
+ {
45
+ name: 'email',
46
+ type: 'text',
47
+ CustomField: /*#__PURE__*/ _jsx(EmailFieldComponent, {
48
+ loginWithUsername: loginWithUsername
49
+ }),
50
+ cellComponentProps: null,
51
+ fieldComponentProps: {
52
+ type: 'email',
53
+ readOnly
54
+ },
55
+ fieldIsPresentational: false,
56
+ isFieldAffectingData: true,
57
+ localized: false
58
+ },
59
+ {
60
+ name: 'username',
61
+ type: 'text',
62
+ CustomField: /*#__PURE__*/ _jsx(UsernameFieldComponent, {
63
+ loginWithUsername: loginWithUsername
64
+ }),
65
+ cellComponentProps: null,
66
+ fieldComponentProps: {
67
+ type: 'text',
68
+ readOnly
69
+ },
70
+ fieldIsPresentational: false,
71
+ isFieldAffectingData: true,
72
+ localized: false
73
+ }
74
+ ],
75
+ forceRender: true,
76
+ operation: operation,
77
+ path: "",
78
+ permissions: permissions,
79
+ readOnly: readOnly,
80
+ schemaPath: ""
81
+ });
82
+ }
83
+
84
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/elements/EmailAndUsername/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldPermissions, LoginWithUsernameOptions } from 'payload'\n\nimport { EmailField, RenderFields, TextField, useTranslation } from '@payloadcms/ui'\nimport { email, username } from 'payload/shared'\nimport React from 'react'\n\ntype Props = {\n loginWithUsername?: LoginWithUsernameOptions | false\n}\nfunction EmailFieldComponent(props: Props) {\n const { loginWithUsername } = props\n const { t } = useTranslation()\n\n const requireEmail = !loginWithUsername || (loginWithUsername && loginWithUsername.requireEmail)\n const showEmailField =\n !loginWithUsername || loginWithUsername?.requireEmail || loginWithUsername?.allowEmailLogin\n\n if (showEmailField) {\n return (\n <EmailField\n autoComplete=\"off\"\n label={t('general:email')}\n name=\"email\"\n path=\"email\"\n required={requireEmail}\n validate={email}\n />\n )\n }\n\n return null\n}\n\nfunction UsernameFieldComponent(props: Props) {\n const { loginWithUsername } = props\n const { t } = useTranslation()\n\n const requireUsername = loginWithUsername && loginWithUsername.requireUsername\n const showUsernameField = Boolean(loginWithUsername)\n\n if (showUsernameField) {\n return (\n <TextField\n label={t('authentication:username')}\n name=\"username\"\n path=\"username\"\n required={requireUsername}\n validate={username}\n />\n )\n }\n\n return null\n}\n\ntype RenderEmailAndUsernameFieldsProps = {\n className?: string\n loginWithUsername?: LoginWithUsernameOptions | false\n operation?: 'create' | 'update'\n permissions?: {\n [fieldName: string]: FieldPermissions\n }\n readOnly: boolean\n}\nexport function RenderEmailAndUsernameFields(props: RenderEmailAndUsernameFieldsProps) {\n const { className, loginWithUsername, operation, permissions, readOnly } = props\n\n return (\n <RenderFields\n className={className}\n fieldMap={[\n {\n name: 'email',\n type: 'text',\n CustomField: <EmailFieldComponent loginWithUsername={loginWithUsername} />,\n cellComponentProps: null,\n fieldComponentProps: { type: 'email', readOnly },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n localized: false,\n },\n {\n name: 'username',\n type: 'text',\n CustomField: <UsernameFieldComponent loginWithUsername={loginWithUsername} />,\n cellComponentProps: null,\n fieldComponentProps: { type: 'text', readOnly },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n localized: false,\n },\n ]}\n forceRender\n operation={operation}\n path=\"\"\n permissions={permissions}\n readOnly={readOnly}\n schemaPath=\"\"\n />\n )\n}\n"],"names":["EmailField","RenderFields","TextField","useTranslation","email","username","React","EmailFieldComponent","props","loginWithUsername","t","requireEmail","showEmailField","allowEmailLogin","autoComplete","label","name","path","required","validate","UsernameFieldComponent","requireUsername","showUsernameField","Boolean","RenderEmailAndUsernameFields","className","operation","permissions","readOnly","fieldMap","type","CustomField","cellComponentProps","fieldComponentProps","fieldIsPresentational","isFieldAffectingData","localized","forceRender","schemaPath"],"mappings":"AAAA;;AAIA,SAASA,UAAU,EAAEC,YAAY,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AACpF,SAASC,KAAK,EAAEC,QAAQ,QAAQ,iBAAgB;AAChD,OAAOC,WAAW,QAAO;AAKzB,SAASC,oBAAoBC,KAAY;IACvC,MAAM,EAAEC,iBAAiB,EAAE,GAAGD;IAC9B,MAAM,EAAEE,CAAC,EAAE,GAAGP;IAEd,MAAMQ,eAAe,CAACF,qBAAsBA,qBAAqBA,kBAAkBE,YAAY;IAC/F,MAAMC,iBACJ,CAACH,qBAAqBA,mBAAmBE,gBAAgBF,mBAAmBI;IAE9E,IAAID,gBAAgB;QAClB,qBACE,KAACZ;YACCc,cAAa;YACbC,OAAOL,EAAE;YACTM,MAAK;YACLC,MAAK;YACLC,UAAUP;YACVQ,UAAUf;;IAGhB;IAEA,OAAO;AACT;AAEA,SAASgB,uBAAuBZ,KAAY;IAC1C,MAAM,EAAEC,iBAAiB,EAAE,GAAGD;IAC9B,MAAM,EAAEE,CAAC,EAAE,GAAGP;IAEd,MAAMkB,kBAAkBZ,qBAAqBA,kBAAkBY,eAAe;IAC9E,MAAMC,oBAAoBC,QAAQd;IAElC,IAAIa,mBAAmB;QACrB,qBACE,KAACpB;YACCa,OAAOL,EAAE;YACTM,MAAK;YACLC,MAAK;YACLC,UAAUG;YACVF,UAAUd;;IAGhB;IAEA,OAAO;AACT;AAWA,OAAO,SAASmB,6BAA6BhB,KAAwC;IACnF,MAAM,EAAEiB,SAAS,EAAEhB,iBAAiB,EAAEiB,SAAS,EAAEC,WAAW,EAAEC,QAAQ,EAAE,GAAGpB;IAE3E,qBACE,KAACP;QACCwB,WAAWA;QACXI,UAAU;YACR;gBACEb,MAAM;gBACNc,MAAM;gBACNC,2BAAa,KAACxB;oBAAoBE,mBAAmBA;;gBACrDuB,oBAAoB;gBACpBC,qBAAqB;oBAAEH,MAAM;oBAASF;gBAAS;gBAC/CM,uBAAuB;gBACvBC,sBAAsB;gBACtBC,WAAW;YACb;YACA;gBACEpB,MAAM;gBACNc,MAAM;gBACNC,2BAAa,KAACX;oBAAuBX,mBAAmBA;;gBACxDuB,oBAAoB;gBACpBC,qBAAqB;oBAAEH,MAAM;oBAAQF;gBAAS;gBAC9CM,uBAAuB;gBACvBC,sBAAsB;gBACtBC,WAAW;YACb;SACD;QACDC,WAAW;QACXX,WAAWA;QACXT,MAAK;QACLU,aAAaA;QACbC,UAAUA;QACVU,YAAW;;AAGjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/LeaveWithoutSaving/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiC,MAAM,OAAO,CAAA;AAErD,OAAO,cAAc,CAAA;AA6CrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAyBtC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/LeaveWithoutSaving/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiC,MAAM,OAAO,CAAA;AAErD,OAAO,cAAc,CAAA;AA+CrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAyBtC,CAAA"}
@@ -46,10 +46,12 @@ const Component = ({ isActive, onCancel, onConfirm })=>{
46
46
  /*#__PURE__*/ _jsx(Button, {
47
47
  buttonStyle: "secondary",
48
48
  onClick: onCancel,
49
+ size: "large",
49
50
  children: t('general:stayOnThisPage')
50
51
  }),
51
52
  /*#__PURE__*/ _jsx(Button, {
52
53
  onClick: onConfirm,
54
+ size: "large",
53
55
  children: t('general:leaveAnyway')
54
56
  })
55
57
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/LeaveWithoutSaving/index.tsx"],"sourcesContent":["'use client'\nimport { Button, Modal, useAuth, useFormModified, useModal, useTranslation } from '@payloadcms/ui'\nimport React, { useCallback, useEffect } from 'react'\n\nimport './index.scss'\nimport { usePreventLeave } from './usePreventLeave.js'\n\nconst modalSlug = 'leave-without-saving'\n\nconst baseClass = 'leave-without-saving'\n\nconst Component: React.FC<{\n isActive: boolean\n onCancel: () => void\n onConfirm: () => void\n}> = ({ isActive, onCancel, onConfirm }) => {\n const { closeModal, modalState, openModal } = useModal()\n const { t } = useTranslation()\n\n // Manually check for modal state as 'esc' key will not trigger the nav inactivity\n // useEffect(() => {\n // if (!modalState?.[modalSlug]?.isOpen && isActive) {\n // onCancel()\n // }\n // }, [modalState, isActive, onCancel])\n\n useEffect(() => {\n if (isActive) openModal(modalSlug)\n else closeModal(modalSlug)\n }, [isActive, openModal, closeModal])\n\n return (\n <Modal className={baseClass} onClose={onCancel} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:leaveWithoutSaving')}</h1>\n <p>{t('general:changesNotSaved')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button buttonStyle=\"secondary\" onClick={onCancel}>\n {t('general:stayOnThisPage')}\n </Button>\n <Button onClick={onConfirm}>{t('general:leaveAnyway')}</Button>\n </div>\n </div>\n </Modal>\n )\n}\n\nexport const LeaveWithoutSaving: React.FC = () => {\n const modified = useFormModified()\n const { user } = useAuth()\n const [show, setShow] = React.useState(false)\n const [hasAccepted, setHasAccepted] = React.useState(false)\n\n const prevent = Boolean(modified && user)\n\n const onPrevent = useCallback(() => {\n setShow(true)\n }, [])\n\n usePreventLeave({ hasAccepted, onPrevent, prevent })\n\n return (\n <Component\n isActive={show}\n onCancel={() => {\n setShow(false)\n }}\n onConfirm={() => {\n setHasAccepted(true)\n }}\n />\n )\n}\n"],"names":["Button","Modal","useAuth","useFormModified","useModal","useTranslation","React","useCallback","useEffect","usePreventLeave","modalSlug","baseClass","Component","isActive","onCancel","onConfirm","closeModal","modalState","openModal","t","className","onClose","slug","div","h1","p","buttonStyle","onClick","LeaveWithoutSaving","modified","user","show","setShow","useState","hasAccepted","setHasAccepted","prevent","Boolean","onPrevent"],"mappings":"AAAA;;AACA,SAASA,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAEC,eAAe,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,iBAAgB;AAClG,OAAOC,SAASC,WAAW,EAAEC,SAAS,QAAQ,QAAO;AAGrD,SAASC,eAAe,QAAQ,uBAAsB;AAEtD,MAAMC,YAAY;AAElB,MAAMC,YAAY;AAElB,MAAMC,YAID,CAAC,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,SAAS,EAAE;IACrC,MAAM,EAAEC,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGd;IAC9C,MAAM,EAAEe,CAAC,EAAE,GAAGd;IAEd,kFAAkF;IAClF,oBAAoB;IACpB,wDAAwD;IACxD,iBAAiB;IACjB,MAAM;IACN,uCAAuC;IAEvCG,UAAU;QACR,IAAIK,UAAUK,UAAUR;aACnBM,WAAWN;IAClB,GAAG;QAACG;QAAUK;QAAWF;KAAW;IAEpC,qBACE,KAACf;QAAMmB,WAAWT;QAAWU,SAASP;QAAUQ,MAAMZ;kBACpD,cAAA,MAACa;YAAIH,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;;8BACrC,MAACY;oBAAIH,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;;sCACrC,KAACa;sCAAIL,EAAE;;sCACP,KAACM;sCAAGN,EAAE;;;;8BAER,MAACI;oBAAIH,WAAW,CAAC,EAAET,UAAU,UAAU,CAAC;;sCACtC,KAACX;4BAAO0B,aAAY;4BAAYC,SAASb;sCACtCK,EAAE;;sCAEL,KAACnB;4BAAO2B,SAASZ;sCAAYI,EAAE;;;;;;;AAKzC;AAEA,OAAO,MAAMS,qBAA+B;IAC1C,MAAMC,WAAW1B;IACjB,MAAM,EAAE2B,IAAI,EAAE,GAAG5B;IACjB,MAAM,CAAC6B,MAAMC,QAAQ,GAAG1B,MAAM2B,QAAQ,CAAC;IACvC,MAAM,CAACC,aAAaC,eAAe,GAAG7B,MAAM2B,QAAQ,CAAC;IAErD,MAAMG,UAAUC,QAAQR,YAAYC;IAEpC,MAAMQ,YAAY/B,YAAY;QAC5ByB,QAAQ;IACV,GAAG,EAAE;IAELvB,gBAAgB;QAAEyB;QAAaI;QAAWF;IAAQ;IAElD,qBACE,KAACxB;QACCC,UAAUkB;QACVjB,UAAU;YACRkB,QAAQ;QACV;QACAjB,WAAW;YACToB,eAAe;QACjB;;AAGN,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/LeaveWithoutSaving/index.tsx"],"sourcesContent":["'use client'\nimport { Button, Modal, useAuth, useFormModified, useModal, useTranslation } from '@payloadcms/ui'\nimport React, { useCallback, useEffect } from 'react'\n\nimport './index.scss'\nimport { usePreventLeave } from './usePreventLeave.js'\n\nconst modalSlug = 'leave-without-saving'\n\nconst baseClass = 'leave-without-saving'\n\nconst Component: React.FC<{\n isActive: boolean\n onCancel: () => void\n onConfirm: () => void\n}> = ({ isActive, onCancel, onConfirm }) => {\n const { closeModal, modalState, openModal } = useModal()\n const { t } = useTranslation()\n\n // Manually check for modal state as 'esc' key will not trigger the nav inactivity\n // useEffect(() => {\n // if (!modalState?.[modalSlug]?.isOpen && isActive) {\n // onCancel()\n // }\n // }, [modalState, isActive, onCancel])\n\n useEffect(() => {\n if (isActive) openModal(modalSlug)\n else closeModal(modalSlug)\n }, [isActive, openModal, closeModal])\n\n return (\n <Modal className={baseClass} onClose={onCancel} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:leaveWithoutSaving')}</h1>\n <p>{t('general:changesNotSaved')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button buttonStyle=\"secondary\" onClick={onCancel} size=\"large\">\n {t('general:stayOnThisPage')}\n </Button>\n <Button onClick={onConfirm} size=\"large\">\n {t('general:leaveAnyway')}\n </Button>\n </div>\n </div>\n </Modal>\n )\n}\n\nexport const LeaveWithoutSaving: React.FC = () => {\n const modified = useFormModified()\n const { user } = useAuth()\n const [show, setShow] = React.useState(false)\n const [hasAccepted, setHasAccepted] = React.useState(false)\n\n const prevent = Boolean(modified && user)\n\n const onPrevent = useCallback(() => {\n setShow(true)\n }, [])\n\n usePreventLeave({ hasAccepted, onPrevent, prevent })\n\n return (\n <Component\n isActive={show}\n onCancel={() => {\n setShow(false)\n }}\n onConfirm={() => {\n setHasAccepted(true)\n }}\n />\n )\n}\n"],"names":["Button","Modal","useAuth","useFormModified","useModal","useTranslation","React","useCallback","useEffect","usePreventLeave","modalSlug","baseClass","Component","isActive","onCancel","onConfirm","closeModal","modalState","openModal","t","className","onClose","slug","div","h1","p","buttonStyle","onClick","size","LeaveWithoutSaving","modified","user","show","setShow","useState","hasAccepted","setHasAccepted","prevent","Boolean","onPrevent"],"mappings":"AAAA;;AACA,SAASA,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAEC,eAAe,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,iBAAgB;AAClG,OAAOC,SAASC,WAAW,EAAEC,SAAS,QAAQ,QAAO;AAGrD,SAASC,eAAe,QAAQ,uBAAsB;AAEtD,MAAMC,YAAY;AAElB,MAAMC,YAAY;AAElB,MAAMC,YAID,CAAC,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,SAAS,EAAE;IACrC,MAAM,EAAEC,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGd;IAC9C,MAAM,EAAEe,CAAC,EAAE,GAAGd;IAEd,kFAAkF;IAClF,oBAAoB;IACpB,wDAAwD;IACxD,iBAAiB;IACjB,MAAM;IACN,uCAAuC;IAEvCG,UAAU;QACR,IAAIK,UAAUK,UAAUR;aACnBM,WAAWN;IAClB,GAAG;QAACG;QAAUK;QAAWF;KAAW;IAEpC,qBACE,KAACf;QAAMmB,WAAWT;QAAWU,SAASP;QAAUQ,MAAMZ;kBACpD,cAAA,MAACa;YAAIH,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;;8BACrC,MAACY;oBAAIH,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;;sCACrC,KAACa;sCAAIL,EAAE;;sCACP,KAACM;sCAAGN,EAAE;;;;8BAER,MAACI;oBAAIH,WAAW,CAAC,EAAET,UAAU,UAAU,CAAC;;sCACtC,KAACX;4BAAO0B,aAAY;4BAAYC,SAASb;4BAAUc,MAAK;sCACrDT,EAAE;;sCAEL,KAACnB;4BAAO2B,SAASZ;4BAAWa,MAAK;sCAC9BT,EAAE;;;;;;;AAMf;AAEA,OAAO,MAAMU,qBAA+B;IAC1C,MAAMC,WAAW3B;IACjB,MAAM,EAAE4B,IAAI,EAAE,GAAG7B;IACjB,MAAM,CAAC8B,MAAMC,QAAQ,GAAG3B,MAAM4B,QAAQ,CAAC;IACvC,MAAM,CAACC,aAAaC,eAAe,GAAG9B,MAAM4B,QAAQ,CAAC;IAErD,MAAMG,UAAUC,QAAQR,YAAYC;IAEpC,MAAMQ,YAAYhC,YAAY;QAC5B0B,QAAQ;IACV,GAAG,EAAE;IAELxB,gBAAgB;QAAE0B;QAAaI;QAAWF;IAAQ;IAElD,qBACE,KAACzB;QACCC,UAAUmB;QACVlB,UAAU;YACRmB,QAAQ;QACV;QACAlB,WAAW;YACTqB,eAAe;QACjB;;AAGN,EAAC"}
@@ -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,EAuFpC,CAAA"}
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"}
@@ -58,8 +58,12 @@ export const DefaultNavClient = ()=>{
58
58
  }
59
59
  const Link = LinkWithDefault.default || LinkWithDefault;
60
60
  const LinkElement = Link || 'a';
61
+ const activeCollection = window?.location?.pathname?.split('/').find((_, index, arr)=>arr[index - 1] === 'collections' || arr[index - 1] === 'globals');
61
62
  return /*#__PURE__*/ _jsxs(LinkElement, {
62
- className: `${baseClass}__link`,
63
+ className: [
64
+ `${baseClass}__link`,
65
+ activeCollection === entity?.slug && `active`
66
+ ].filter(Boolean).join(' '),
63
67
  href: href,
64
68
  id: id,
65
69
  tabIndex: !navOpen ? -1 : undefined,
@@ -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 return (\n <LinkElement\n className={`${baseClass}__link`}\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","className","tabIndex","undefined","span","direction"],"mappings":"AAAA;;AAIA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SACEC,WAAW,EACXC,QAAQ,EACRC,OAAO,EACPC,SAAS,EACTC,mBAAmB,EACnBC,MAAM,EACNC,cAAc,QACT,iBAAgB;AACvB,SAASC,UAAU,EAAEC,cAAc,EAAEC,aAAa,QAAQ,wBAAuB;AACjF,OAAOC,qBAAqB,eAAc;AAC1C,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,MAAMC,YAAY;AAElB,OAAO,MAAMC,mBAA6B;IACxC,MAAM,EAAEC,WAAW,EAAE,GAAGb;IACxB,MAAM,EAAEc,eAAe,EAAE,GAAGZ;IAE5B,MAAM,EACJa,WAAW,EACXC,OAAO,EACPC,QAAQ,EAAEC,OAAOC,UAAU,EAAE,EAC9B,GAAGlB;IAEJ,MAAM,EAAEmB,IAAI,EAAE,GAAGhB;IACjB,MAAM,EAAEiB,OAAO,EAAE,GAAGlB;IAEpB,MAAMmB,SAASf,cACb;WACKQ,YACAQ,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKV,gBAAgB;gBAAEW,gBAAgBD;YAAK,IAC5DE,GAAG,CAAC,CAACC;YACJ,MAAMC,gBAA+B;gBACnCC,MAAMxB,WAAWsB,UAAU;gBAC3BG,QAAQH;YACV;YAEA,OAAOC;QACT;WACCZ,QACAO,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKV,gBAAgB;gBAAEiB,YAAYP;YAAK,IACxDE,GAAG,CAAC,CAACM;YACJ,MAAMJ,gBAA+B;gBACnCC,MAAMxB,WAAW2B,MAAM;gBACvBF,QAAQE;YACV;YAEA,OAAOJ;QACT;KACH,EACDf,aACAO;IAGF,qBACE,KAACV;kBACEY,OAAOI,GAAG,CAAC,CAAC,EAAEO,QAAQ,EAAEC,KAAK,EAAE,EAAEC;YAChC,qBACE,KAACpC;gBAAmBmC,OAAOA;0BACxBD,SAASP,GAAG,CAAC,CAAC,EAAEG,IAAI,EAAEC,MAAM,EAAE,EAAEM;oBAC/B,IAAIC;oBACJ,IAAIC;oBACJ,IAAIC;oBAEJ,IAAIV,SAASxB,WAAWsB,UAAU,EAAE;wBAClCW,OAAOhC,eAAe;4BAAEa;4BAAYqB,MAAM,CAAC,aAAa,EAAEV,OAAON,IAAI,CAAC,CAAC;wBAAC;wBACxEa,cAAcxC,eAAeiC,OAAOW,MAAM,CAACC,MAAM,EAAEtB;wBACnDmB,KAAK,CAAC,IAAI,EAAET,OAAON,IAAI,CAAC,CAAC;oBAC3B;oBAEA,IAAIK,SAASxB,WAAW2B,MAAM,EAAE;wBAC9BM,OAAOhC,eAAe;4BAAEa;4BAAYqB,MAAM,CAAC,SAAS,EAAEV,OAAON,IAAI,CAAC,CAAC;wBAAC;wBACpEa,cAAcxC,eAAeiC,OAAOI,KAAK,EAAEd;wBAC3CmB,KAAK,CAAC,WAAW,EAAET,OAAON,IAAI,CAAC,CAAC;oBAClC;oBAEA,MAAMmB,OAAQnC,gBAAgBoC,OAAO,IACnCpC;oBAEF,MAAMqC,cAAcF,QAAQ;oBAE5B,qBACE,MAACE;wBACCC,WAAW,CAAC,EAAEnC,UAAU,MAAM,CAAC;wBAC/B2B,MAAMA;wBACNC,IAAIA;wBAEJQ,UAAU,CAAC1B,UAAU,CAAC,IAAI2B;;0CAE1B,KAACC;gCAAKH,WAAW,CAAC,EAAEnC,UAAU,WAAW,CAAC;0CACxC,cAAA,KAACb;oCAAYoD,WAAU;;;0CAEzB,KAACD;gCAAKH,WAAW,CAAC,EAAEnC,UAAU,YAAY,CAAC;0CAAG0B;;;uBANzCD;gBASX;eArCaD;QAwCnB;;AAGN,EAAC"}
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":"AAAA;;AAIA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SACEC,WAAW,EACXC,QAAQ,EACRC,OAAO,EACPC,SAAS,EACTC,mBAAmB,EACnBC,MAAM,EACNC,cAAc,QACT,iBAAgB;AACvB,SAASC,UAAU,EAAEC,cAAc,EAAEC,aAAa,QAAQ,wBAAuB;AACjF,OAAOC,qBAAqB,eAAc;AAC1C,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,MAAMC,YAAY;AAElB,OAAO,MAAMC,mBAA6B;IACxC,MAAM,EAAEC,WAAW,EAAE,GAAGb;IACxB,MAAM,EAAEc,eAAe,EAAE,GAAGZ;IAE5B,MAAM,EACJa,WAAW,EACXC,OAAO,EACPC,QAAQ,EAAEC,OAAOC,UAAU,EAAE,EAC9B,GAAGlB;IAEJ,MAAM,EAAEmB,IAAI,EAAE,GAAGhB;IACjB,MAAM,EAAEiB,OAAO,EAAE,GAAGlB;IAEpB,MAAMmB,SAASf,cACb;WACKQ,YACAQ,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKV,gBAAgB;gBAAEW,gBAAgBD;YAAK,IAC5DE,GAAG,CAAC,CAACC;YACJ,MAAMC,gBAA+B;gBACnCC,MAAMxB,WAAWsB,UAAU;gBAC3BG,QAAQH;YACV;YAEA,OAAOC;QACT;WACCZ,QACAO,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKV,gBAAgB;gBAAEiB,YAAYP;YAAK,IACxDE,GAAG,CAAC,CAACM;YACJ,MAAMJ,gBAA+B;gBACnCC,MAAMxB,WAAW2B,MAAM;gBACvBF,QAAQE;YACV;YAEA,OAAOJ;QACT;KACH,EACDf,aACAO;IAGF,qBACE,KAACV;kBACEY,OAAOI,GAAG,CAAC,CAAC,EAAEO,QAAQ,EAAEC,KAAK,EAAE,EAAEC;YAChC,qBACE,KAACpC;gBAAmBmC,OAAOA;0BACxBD,SAASP,GAAG,CAAC,CAAC,EAAEG,IAAI,EAAEC,MAAM,EAAE,EAAEM;oBAC/B,IAAIC;oBACJ,IAAIC;oBACJ,IAAIC;oBAEJ,IAAIV,SAASxB,WAAWsB,UAAU,EAAE;wBAClCW,OAAOhC,eAAe;4BAAEa;4BAAYqB,MAAM,CAAC,aAAa,EAAEV,OAAON,IAAI,CAAC,CAAC;wBAAC;wBACxEa,cAAcxC,eAAeiC,OAAOW,MAAM,CAACC,MAAM,EAAEtB;wBACnDmB,KAAK,CAAC,IAAI,EAAET,OAAON,IAAI,CAAC,CAAC;oBAC3B;oBAEA,IAAIK,SAASxB,WAAW2B,MAAM,EAAE;wBAC9BM,OAAOhC,eAAe;4BAAEa;4BAAYqB,MAAM,CAAC,SAAS,EAAEV,OAAON,IAAI,CAAC,CAAC;wBAAC;wBACpEa,cAAcxC,eAAeiC,OAAOI,KAAK,EAAEd;wBAC3CmB,KAAK,CAAC,WAAW,EAAET,OAAON,IAAI,CAAC,CAAC;oBAClC;oBAEA,MAAMmB,OAAQnC,gBAAgBoC,OAAO,IACnCpC;oBAEF,MAAMqC,cAAcF,QAAQ;oBAE5B,MAAMG,mBAAmBC,QAAQC,UAAUC,UACvCC,MAAM,KACPC,KACC,CAACC,GAAGC,OAAOC,MACTA,GAAG,CAACD,QAAQ,EAAE,KAAK,iBAAiBC,GAAG,CAACD,QAAQ,EAAE,KAAK;oBAG7D,qBACE,MAACR;wBACCU,WAAW;4BAAC,CAAC,EAAE5C,UAAU,MAAM,CAAC;4BAAEmC,qBAAqBhB,QAAQN,QAAQ,CAAC,MAAM,CAAC;yBAAC,CAC7ED,MAAM,CAACiC,SACPC,IAAI,CAAC;wBACRnB,MAAMA;wBACNC,IAAIA;wBAEJmB,UAAU,CAACrC,UAAU,CAAC,IAAIsC;;0CAE1B,KAACC;gCAAKL,WAAW,CAAC,EAAE5C,UAAU,WAAW,CAAC;0CACxC,cAAA,KAACb;oCAAY+D,WAAU;;;0CAEzB,KAACD;gCAAKL,WAAW,CAAC,EAAE5C,UAAU,YAAY,CAAC;0CAAG0B;;;uBANzCD;gBASX;eA9CaD;QAiDnB;;AAGN,EAAC"}
@@ -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;AAKrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,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,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"}
@@ -2,7 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { initI18n, rtlLanguages } from '@payloadcms/translations';
3
3
  import { RootProvider } from '@payloadcms/ui';
4
4
  import { buildComponentMap } from '@payloadcms/ui/utilities/buildComponentMap';
5
- import { Merriweather } from 'next/font/google';
6
5
  import { headers as getHeaders, cookies as nextCookies } from 'next/headers.js';
7
6
  import { createClientConfig, parseCookies } from 'payload';
8
7
  import React from 'react';
@@ -11,21 +10,6 @@ import { getRequestLanguage } from '../../utilities/getRequestLanguage.js';
11
10
  import { getRequestTheme } from '../../utilities/getRequestTheme.js';
12
11
  import { DefaultEditView } from '../../views/Edit/Default/index.js';
13
12
  import { DefaultListView } from '../../views/List/Default/index.js';
14
- const merriweather = Merriweather({
15
- display: 'swap',
16
- style: [
17
- 'normal',
18
- 'italic'
19
- ],
20
- subsets: [
21
- 'latin'
22
- ],
23
- variable: '--font-serif',
24
- weight: [
25
- '400',
26
- '900'
27
- ]
28
- });
29
13
  export const metadata = {
30
14
  description: 'Generated by Next.js',
31
15
  title: 'Next.js'
@@ -83,7 +67,6 @@ export const RootLayout = async ({ children, config: configPromise })=>{
83
67
  payload
84
68
  });
85
69
  return /*#__PURE__*/ _jsx("html", {
86
- className: merriweather.variable,
87
70
  "data-theme": theme,
88
71
  dir: dir,
89
72
  lang: languageCode,
@@ -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 { Merriweather } from 'next/font/google'\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\nconst merriweather = Merriweather({\n display: 'swap',\n style: ['normal', 'italic'],\n subsets: ['latin'],\n variable: '--font-serif',\n weight: ['400', '900'],\n})\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 className={merriweather.variable} 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","Merriweather","headers","getHeaders","cookies","nextCookies","createClientConfig","parseCookies","React","getPayloadHMR","getRequestLanguage","getRequestTheme","DefaultEditView","DefaultListView","merriweather","display","style","subsets","variable","weight","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","className","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,YAAY,QAAQ,mBAAkB;AAC/C,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,MAAMC,eAAeb,aAAa;IAChCc,SAAS;IACTC,OAAO;QAAC;QAAU;KAAS;IAC3BC,SAAS;QAAC;KAAQ;IAClBC,UAAU;IACVC,QAAQ;QAAC;QAAO;KAAM;AACxB;AAEA,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,MAAMxB,UAAUC;IAChB,MAAMC,UAAUG,aAAaL;IAE7B,MAAMyB,eAAejB,mBAAmB;QACtCe;QACArB;QACAF;IACF;IAEA,MAAM0B,QAAQjB,gBAAgB;QAC5Bc;QACArB;QACAF;IACF;IAEA,MAAM2B,UAAU,MAAMpB,cAAc;QAAEgB;IAAO;IAE7C,MAAMK,OAAmB,MAAMjC,SAAS;QACtC4B,QAAQA,OAAOK,IAAI;QACnBC,SAAS;QACTC,UAAUL;IACZ;IAEA,MAAMM,eAAe,MAAM3B,mBAAmB;QAAEmB;QAAQS,GAAGJ,KAAKI,CAAC;IAAC;IAElE,MAAMC,MAAM,AAACrC,aAAgDsC,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;QACA/C,cAAcgD,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,GAAG1D,kBAAkB;QAC1DY;QACAC;QACAW;QACAM;QACAD;IACF;IAEA,qBACE,KAAC8B;QAAKC,WAAW9C,aAAaI,QAAQ;QAAE2C,cAAYjC;QAAOO,KAAKA;QAAKiB,MAAMzB;kBACzE,cAAA,MAACmC;;8BACC,KAAC/D;oBACC0D,cAAcA;oBACdhC,QAAQQ;oBACR8B,YAAYjC,KAAKiC,UAAU;oBAC3BC,cAAc/B,aAAaH,IAAI,CAACmC,gBAAgB;oBAChDtC,cAAcA;oBACdU,iBAAiBA;oBACjBc,4BAA4BA;oBAC5BvB,OAAOA;oBACPmB,cAAcjB,KAAKiB,YAAY;8BAE9BW;;8BAEH,KAACQ;oBAAIC,IAAG;;;;;AAIhB,EAAC"}
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"}