@payloadcms/next 3.0.0-beta.111 → 3.0.0-beta.113

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 (122) hide show
  1. package/dist/cjs/withPayload.cjs +145 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -0
  3. package/dist/elements/FormHeader/index.d.ts +9 -0
  4. package/dist/elements/FormHeader/index.d.ts.map +1 -0
  5. package/dist/elements/FormHeader/index.js +20 -0
  6. package/dist/elements/FormHeader/index.js.map +1 -0
  7. package/dist/elements/FormHeader/index.scss +6 -0
  8. package/dist/exports/utilities.d.ts +1 -0
  9. package/dist/exports/utilities.d.ts.map +1 -1
  10. package/dist/exports/utilities.js +1 -0
  11. package/dist/exports/utilities.js.map +1 -1
  12. package/dist/prod/styles.css +1 -1
  13. package/dist/routes/rest/auth/login.js +2 -2
  14. package/dist/routes/rest/auth/login.js.map +1 -1
  15. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  16. package/dist/routes/rest/auth/logout.js +3 -2
  17. package/dist/routes/rest/auth/logout.js.map +1 -1
  18. package/dist/routes/rest/auth/refresh.js +2 -2
  19. package/dist/routes/rest/auth/refresh.js.map +1 -1
  20. package/dist/routes/rest/auth/registerFirstUser.js +2 -2
  21. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  22. package/dist/routes/rest/auth/resetPassword.js +2 -2
  23. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  24. package/dist/scss/app.scss +166 -162
  25. package/dist/scss/colors.scss +256 -254
  26. package/dist/scss/resets.scss +9 -7
  27. package/dist/scss/toastify.scss +42 -40
  28. package/dist/scss/toasts.scss +105 -103
  29. package/dist/scss/type.scss +80 -79
  30. package/dist/utilities/initPage/handleAdminPage.d.ts +11 -11
  31. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  32. package/dist/utilities/initPage/handleAdminPage.js +7 -20
  33. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  34. package/dist/utilities/initPage/handleAuthRedirect.d.ts +6 -3
  35. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  36. package/dist/utilities/initPage/handleAuthRedirect.js +23 -36
  37. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  38. package/dist/utilities/initPage/index.d.ts +1 -1
  39. package/dist/utilities/initPage/index.d.ts.map +1 -1
  40. package/dist/utilities/initPage/index.js +20 -9
  41. package/dist/utilities/initPage/index.js.map +1 -1
  42. package/dist/utilities/initPage/shared.d.ts +2 -2
  43. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  44. package/dist/utilities/initPage/shared.js +18 -13
  45. package/dist/utilities/initPage/shared.js.map +1 -1
  46. package/dist/views/API/index.scss +98 -96
  47. package/dist/views/Account/Settings/index.scss +37 -35
  48. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  49. package/dist/views/CreateFirstUser/index.client.js +1 -1
  50. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  51. package/dist/views/CreateFirstUser/index.scss +13 -11
  52. package/dist/views/Dashboard/Default/index.scss +51 -49
  53. package/dist/views/Edit/Default/Auth/index.scss +56 -54
  54. package/dist/views/Edit/Default/index.scss +15 -13
  55. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  56. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +9 -11
  57. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  58. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  59. package/dist/views/ForgotPassword/index.js +6 -6
  60. package/dist/views/ForgotPassword/index.js.map +1 -1
  61. package/dist/views/List/Default/index.scss +136 -134
  62. package/dist/views/LivePreview/IFrame/index.scss +8 -6
  63. package/dist/views/LivePreview/Preview/index.scss +32 -30
  64. package/dist/views/LivePreview/Toolbar/Controls/index.scss +49 -47
  65. package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +11 -9
  66. package/dist/views/LivePreview/Toolbar/index.scss +33 -31
  67. package/dist/views/LivePreview/ToolbarArea/index.scss +5 -3
  68. package/dist/views/LivePreview/index.scss +48 -46
  69. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  70. package/dist/views/Login/LoginForm/index.js +1 -1
  71. package/dist/views/Login/LoginForm/index.js.map +1 -1
  72. package/dist/views/Login/LoginForm/index.scss +8 -6
  73. package/dist/views/Login/index.scss +8 -6
  74. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  75. package/dist/views/Logout/LogoutClient.js +77 -55
  76. package/dist/views/Logout/LogoutClient.js.map +1 -1
  77. package/dist/views/Logout/index.scss +17 -15
  78. package/dist/views/NotFound/index.scss +38 -36
  79. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts +7 -0
  80. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -0
  81. package/dist/views/ResetPassword/{index.client.js → ResetPasswordForm/index.js} +16 -19
  82. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
  83. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  84. package/dist/views/ResetPassword/index.js +17 -10
  85. package/dist/views/ResetPassword/index.js.map +1 -1
  86. package/dist/views/ResetPassword/index.scss +6 -26
  87. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  88. package/dist/views/Root/getViewFromConfig.js +0 -6
  89. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  90. package/dist/views/Root/index.d.ts.map +1 -1
  91. package/dist/views/Root/index.js +5 -2
  92. package/dist/views/Root/index.js.map +1 -1
  93. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  94. package/dist/views/Unauthorized/index.js +14 -7
  95. package/dist/views/Unauthorized/index.js.map +1 -1
  96. package/dist/views/Unauthorized/index.scss +4 -31
  97. package/dist/views/Verify/index.client.d.ts +7 -0
  98. package/dist/views/Verify/index.client.d.ts.map +1 -0
  99. package/dist/views/Verify/index.client.js +46 -0
  100. package/dist/views/Verify/index.client.js.map +1 -0
  101. package/dist/views/Verify/index.d.ts.map +1 -1
  102. package/dist/views/Verify/index.js +12 -11
  103. package/dist/views/Verify/index.js.map +1 -1
  104. package/dist/views/Verify/index.scss +13 -11
  105. package/dist/views/Version/Default/index.scss +52 -50
  106. package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +5 -3
  107. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +29 -27
  108. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +11 -9
  109. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +12 -10
  110. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +12 -10
  111. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +12 -10
  112. package/dist/views/Version/RenderFieldsToDiff/index.scss +12 -10
  113. package/dist/views/Version/Restore/index.scss +57 -55
  114. package/dist/views/Version/SelectComparison/index.scss +12 -10
  115. package/dist/views/Version/SelectLocales/index.scss +6 -4
  116. package/dist/views/Versions/index.scss +78 -76
  117. package/package.json +9 -9
  118. package/dist/cjs/withPayload.js +0 -111
  119. package/dist/cjs/withPayload.js.map +0 -1
  120. package/dist/views/ResetPassword/index.client.d.ts +0 -7
  121. package/dist/views/ResetPassword/index.client.d.ts.map +0 -1
  122. package/dist/views/ResetPassword/index.client.js.map +0 -1
@@ -1,4 +1,4 @@
1
1
  import type { InitPageResult } from 'payload';
2
2
  import type { Args } from './types.js';
3
- export declare const initPage: ({ config: configPromise, importMap, redirectUnauthenticatedUser, route, searchParams, }: Args) => Promise<InitPageResult>;
3
+ export declare const initPage: ({ config: configPromise, importMap, route, searchParams, }: Args) => Promise<InitPageResult>;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,SAAS,CAAA;AAOtF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOtC,eAAO,MAAM,QAAQ,4FAMlB,IAAI,KAAG,OAAO,CAAC,cAAc,CA0I/B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,SAAS,CAAA;AAQtF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAQtC,eAAO,MAAM,QAAQ,+DAKlB,IAAI,KAAG,OAAO,CAAC,cAAc,CAmJ/B,CAAA"}
@@ -1,15 +1,16 @@
1
1
  import { findLocaleFromCode } from '@payloadcms/ui/shared';
2
2
  import { headers as getHeaders } from 'next/headers.js';
3
+ import { notFound } from 'next/navigation.js';
3
4
  import { createLocalReq, isEntityHidden, parseCookies } from 'payload';
4
5
  import * as qs from 'qs-esm';
5
6
  import { getPayloadHMR } from '../getPayloadHMR.js';
6
7
  import { initReq } from '../initReq.js';
7
- import { handleAdminPage } from './handleAdminPage.js';
8
+ import { getRouteInfo } from './handleAdminPage.js';
8
9
  import { handleAuthRedirect } from './handleAuthRedirect.js';
10
+ import { isPublicAdminRoute } from './shared.js';
9
11
  export const initPage = async ({
10
12
  config: configPromise,
11
13
  importMap,
12
- redirectUnauthenticatedUser = false,
13
14
  route,
14
15
  searchParams
15
16
  }) => {
@@ -118,24 +119,33 @@ export const initPage = async ({
118
119
  user
119
120
  }) ? slug : null).filter(Boolean)
120
121
  };
121
- if (redirectUnauthenticatedUser && !user) {
122
- handleAuthRedirect({
122
+ let redirectTo = null;
123
+ if (!permissions.canAccessAdmin && !isPublicAdminRoute({
124
+ adminRoute,
125
+ config: payload.config,
126
+ route
127
+ })) {
128
+ redirectTo = handleAuthRedirect({
123
129
  config: payload.config,
124
- redirectUnauthenticatedUser,
125
130
  route,
126
- searchParams
131
+ searchParams,
132
+ user
127
133
  });
128
134
  }
129
135
  const {
130
136
  collectionConfig,
137
+ collectionSlug,
131
138
  docID,
132
- globalConfig
133
- } = handleAdminPage({
139
+ globalConfig,
140
+ globalSlug
141
+ } = getRouteInfo({
134
142
  adminRoute,
135
143
  config: payload.config,
136
- permissions,
137
144
  route
138
145
  });
146
+ if (collectionSlug && !collectionConfig || globalSlug && !globalConfig) {
147
+ return notFound();
148
+ }
139
149
  return {
140
150
  collectionConfig,
141
151
  cookies,
@@ -144,6 +154,7 @@ export const initPage = async ({
144
154
  languageOptions,
145
155
  locale,
146
156
  permissions,
157
+ redirectTo,
147
158
  req,
148
159
  translations: i18n.translations,
149
160
  visibleEntities
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["findLocaleFromCode","headers","getHeaders","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","initReq","handleAdminPage","handleAuthRedirect","initPage","config","configPromise","importMap","redirectUnauthenticatedUser","route","searchParams","payload","queryString","stringify","addQueryPrefix","collections","globals","localization","routes","admin","adminRoute","cookies","i18n","permissions","user","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","localeParam","locale","defaultLocaleCode","defaultLocale","localeCode","find","collection","limit","where","and","equals","id","key","then","res","docs","error","code","visibleEntities","map","slug","hidden","filter","Boolean","collectionConfig","docID","globalConfig"],"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { InitPageResult, Locale, PayloadRequest, VisibleEntities } from 'payload'\n\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createLocalReq, isEntityHidden, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\n\nimport type { Args } from './types.js'\n\nimport { getPayloadHMR } from '../getPayloadHMR.js'\nimport { initReq } from '../initReq.js'\nimport { handleAdminPage } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\n\nexport const initPage = async ({\n config: configPromise,\n importMap,\n redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = await getHeaders()\n const payload = await getPayloadHMR({ config: configPromise, importMap })\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\n const {\n collections,\n globals,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const cookies = parseCookies(headers)\n\n const { i18n, permissions, user } = await initReq(payload.config)\n\n // Ideally, we should not need to recreate the req, because\n // we can get it from the above initReq.\n\n // We just need to -overwrite- the url and query of the req\n // we get above. Clone the req? We'll look into that eventually.\n const req = await createLocalReq(\n {\n fallbackLocale: null,\n req: {\n headers,\n host: headers.get('host'),\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequest,\n },\n payload,\n )\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.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 req.user = user\n\n const localeParam = searchParams?.locale as string\n let locale: Locale\n\n if (localization) {\n const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en'\n let localeCode: string = localeParam\n\n if (!localeCode) {\n try {\n localeCode = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: 'locale',\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as string)\n } catch (error) {} // eslint-disable-line no-empty\n }\n\n locale = findLocaleFromCode(localization, localeCode)\n\n if (!locale) {\n locale = findLocaleFromCode(localization, defaultLocaleCode)\n }\n req.locale = locale.code\n }\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n if (redirectUnauthenticatedUser && !user) {\n handleAuthRedirect({\n config: payload.config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n })\n }\n\n const { collectionConfig, docID, globalConfig } = handleAdminPage({\n adminRoute,\n config: payload.config,\n permissions,\n route,\n })\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["findLocaleFromCode","headers","getHeaders","notFound","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","initReq","getRouteInfo","handleAuthRedirect","isPublicAdminRoute","initPage","config","configPromise","importMap","route","searchParams","payload","queryString","stringify","addQueryPrefix","collections","globals","localization","routes","admin","adminRoute","cookies","i18n","permissions","user","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","localeParam","locale","defaultLocaleCode","defaultLocale","localeCode","find","collection","limit","where","and","equals","id","key","then","res","docs","error","code","visibleEntities","map","slug","hidden","filter","Boolean","redirectTo","canAccessAdmin","collectionConfig","collectionSlug","docID","globalConfig","globalSlug"],"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { InitPageResult, Locale, PayloadRequest, VisibleEntities } from 'payload'\n\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { notFound } from 'next/navigation.js'\nimport { createLocalReq, isEntityHidden, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\n\nimport type { Args } from './types.js'\n\nimport { getPayloadHMR } from '../getPayloadHMR.js'\nimport { initReq } from '../initReq.js'\nimport { getRouteInfo } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\nimport { isPublicAdminRoute } from './shared.js'\n\nexport const initPage = async ({\n config: configPromise,\n importMap,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = await getHeaders()\n const payload = await getPayloadHMR({ config: configPromise, importMap })\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\n const {\n collections,\n globals,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const cookies = parseCookies(headers)\n\n const { i18n, permissions, user } = await initReq(payload.config)\n\n // Ideally, we should not need to recreate the req, because\n // we can get it from the above initReq.\n\n // We just need to -overwrite- the url and query of the req\n // we get above. Clone the req? We'll look into that eventually.\n const req = await createLocalReq(\n {\n fallbackLocale: null,\n req: {\n headers,\n host: headers.get('host'),\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequest,\n },\n payload,\n )\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.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 req.user = user\n\n const localeParam = searchParams?.locale as string\n let locale: Locale\n\n if (localization) {\n const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en'\n let localeCode: string = localeParam\n\n if (!localeCode) {\n try {\n localeCode = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: 'locale',\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as string)\n } catch (error) {} // eslint-disable-line no-empty\n }\n\n locale = findLocaleFromCode(localization, localeCode)\n\n if (!locale) {\n locale = findLocaleFromCode(localization, defaultLocaleCode)\n }\n req.locale = locale.code\n }\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n let redirectTo = null\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route })\n ) {\n redirectTo = handleAuthRedirect({\n config: payload.config,\n route,\n searchParams,\n user,\n })\n }\n\n const { collectionConfig, collectionSlug, docID, globalConfig, globalSlug } = getRouteInfo({\n adminRoute,\n config: payload.config,\n route,\n })\n\n if ((collectionSlug && !collectionConfig) || (globalSlug && !globalConfig)) {\n return notFound()\n }\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n redirectTo,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,10 @@
1
1
  import type { SanitizedConfig } from 'payload';
2
- export declare const isAdminRoute: ({ adminRoute, config, route, }: {
2
+ export declare const isAdminRoute: ({ adminRoute, route, }: {
3
3
  adminRoute: string;
4
4
  config: SanitizedConfig;
5
5
  route: string;
6
6
  }) => boolean;
7
- export declare const isAdminAuthRoute: ({ adminRoute, config, route, }: {
7
+ export declare const isPublicAdminRoute: ({ adminRoute, config, route, }: {
8
8
  adminRoute: string;
9
9
  config: SanitizedConfig;
10
10
  route: string;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAa9C,eAAO,MAAM,YAAY,mCAItB;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,OAEH,CAAA;AAED,eAAO,MAAM,gBAAgB,mCAI1B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,OAQH,CAAA;AAED,eAAO,MAAM,oBAAoB,2BAG9B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,MAEH,CAAA"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAiB9C,eAAO,MAAM,YAAY,2BAGtB;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,OAEH,CAAA;AAED,eAAO,MAAM,kBAAkB,mCAI5B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,OAYH,CAAA;AAED,eAAO,MAAM,oBAAoB,2BAG9B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,MAEH,CAAA"}
@@ -1,25 +1,30 @@
1
- const authRouteKeys = ['createFirstUser', 'forgot', 'login', 'logout', 'forgot', 'inactivity', 'unauthorized', 'reset'];
1
+ // Routes that require admin authentication
2
+ const publicAdminRoutes = ['createFirstUser', 'forgot', 'login', 'logout', 'forgot', 'inactivity', 'unauthorized', 'reset'];
2
3
  export const isAdminRoute = ({
3
4
  adminRoute,
4
- config,
5
5
  route
6
6
  }) => {
7
- return route.startsWith(adminRoute) && !isAdminAuthRoute({
8
- adminRoute,
9
- config,
10
- route
11
- });
7
+ return route.startsWith(adminRoute);
12
8
  };
13
- export const isAdminAuthRoute = ({
9
+ export const isPublicAdminRoute = ({
14
10
  adminRoute,
15
11
  config,
16
12
  route
17
13
  }) => {
18
- const authRoutes = config.admin?.routes ? Object.entries(config.admin.routes).filter(([key]) => authRouteKeys.includes(key)).map(([_, value]) => value) : [];
19
- return authRoutes.some(r => getRouteWithoutAdmin({
20
- adminRoute,
21
- route
22
- }).startsWith(r));
14
+ return publicAdminRoutes.some(routeSegment => {
15
+ const segment = config.admin?.routes?.[routeSegment] || routeSegment;
16
+ const routeWithoutAdmin = getRouteWithoutAdmin({
17
+ adminRoute,
18
+ route
19
+ });
20
+ if (routeWithoutAdmin.startsWith(segment)) {
21
+ return true;
22
+ } else if (routeWithoutAdmin.includes('/verify/')) {
23
+ return true;
24
+ } else {
25
+ return false;
26
+ }
27
+ });
23
28
  };
24
29
  export const getRouteWithoutAdmin = ({
25
30
  adminRoute,
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","names":["authRouteKeys","isAdminRoute","adminRoute","config","route","startsWith","isAdminAuthRoute","authRoutes","admin","routes","Object","entries","filter","key","includes","map","_","value","some","r","getRouteWithoutAdmin","replace"],"sources":["../../../src/utilities/initPage/shared.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nconst authRouteKeys: (keyof SanitizedConfig['admin']['routes'])[] = [\n 'createFirstUser',\n 'forgot',\n 'login',\n 'logout',\n 'forgot',\n 'inactivity',\n 'unauthorized',\n 'reset',\n]\n\nexport const isAdminRoute = ({\n adminRoute,\n config,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n route: string\n}): boolean => {\n return route.startsWith(adminRoute) && !isAdminAuthRoute({ adminRoute, config, route })\n}\n\nexport const isAdminAuthRoute = ({\n adminRoute,\n config,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n route: string\n}): boolean => {\n const authRoutes = config.admin?.routes\n ? Object.entries(config.admin.routes)\n .filter(([key]) => authRouteKeys.includes(key as keyof SanitizedConfig['admin']['routes']))\n .map(([_, value]) => value)\n : []\n\n return authRoutes.some((r) => getRouteWithoutAdmin({ adminRoute, route }).startsWith(r))\n}\n\nexport const getRouteWithoutAdmin = ({\n adminRoute,\n route,\n}: {\n adminRoute: string\n route: string\n}): string => {\n return adminRoute && adminRoute !== '/' ? route.replace(adminRoute, '') : route\n}\n"],"mappings":"AAEA,MAAMA,aAAA,GAA8D,CAClE,mBACA,UACA,SACA,UACA,UACA,cACA,gBACA,QACD;AAED,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAC3BC,UAAU;EACVC,MAAM;EACNC;AAAK,CAKN;EACC,OAAOA,KAAA,CAAMC,UAAU,CAACH,UAAA,KAAe,CAACI,gBAAA,CAAiB;IAAEJ,UAAA;IAAYC,MAAA;IAAQC;EAAM;AACvF;AAEA,OAAO,MAAME,gBAAA,GAAmBA,CAAC;EAC/BJ,UAAU;EACVC,MAAM;EACNC;AAAK,CAKN;EACC,MAAMG,UAAA,GAAaJ,MAAA,CAAOK,KAAK,EAAEC,MAAA,GAC7BC,MAAA,CAAOC,OAAO,CAACR,MAAA,CAAOK,KAAK,CAACC,MAAM,EAC/BG,MAAM,CAAC,CAAC,CAACC,GAAA,CAAI,KAAKb,aAAA,CAAcc,QAAQ,CAACD,GAAA,GACzCE,GAAG,CAAC,CAAC,CAACC,CAAA,EAAGC,KAAA,CAAM,KAAKA,KAAA,IACvB,EAAE;EAEN,OAAOV,UAAA,CAAWW,IAAI,CAAEC,CAAA,IAAMC,oBAAA,CAAqB;IAAElB,UAAA;IAAYE;EAAM,GAAGC,UAAU,CAACc,CAAA;AACvF;AAEA,OAAO,MAAMC,oBAAA,GAAuBA,CAAC;EACnClB,UAAU;EACVE;AAAK,CAIN;EACC,OAAOF,UAAA,IAAcA,UAAA,KAAe,MAAME,KAAA,CAAMiB,OAAO,CAACnB,UAAA,EAAY,MAAME,KAAA;AAC5E","ignoreList":[]}
1
+ {"version":3,"file":"shared.js","names":["publicAdminRoutes","isAdminRoute","adminRoute","route","startsWith","isPublicAdminRoute","config","some","routeSegment","segment","admin","routes","routeWithoutAdmin","getRouteWithoutAdmin","includes","replace"],"sources":["../../../src/utilities/initPage/shared.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\n// Routes that require admin authentication\nconst publicAdminRoutes: (keyof Pick<\n SanitizedConfig['admin']['routes'],\n 'createFirstUser' | 'forgot' | 'inactivity' | 'login' | 'logout' | 'reset' | 'unauthorized'\n>)[] = [\n 'createFirstUser',\n 'forgot',\n 'login',\n 'logout',\n 'forgot',\n 'inactivity',\n 'unauthorized',\n 'reset',\n]\n\nexport const isAdminRoute = ({\n adminRoute,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n route: string\n}): boolean => {\n return route.startsWith(adminRoute)\n}\n\nexport const isPublicAdminRoute = ({\n adminRoute,\n config,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n route: string\n}): boolean => {\n return publicAdminRoutes.some((routeSegment) => {\n const segment = config.admin?.routes?.[routeSegment] || routeSegment\n const routeWithoutAdmin = getRouteWithoutAdmin({ adminRoute, route })\n if (routeWithoutAdmin.startsWith(segment)) {\n return true\n } else if (routeWithoutAdmin.includes('/verify/')) {\n return true\n } else {\n return false\n }\n })\n}\n\nexport const getRouteWithoutAdmin = ({\n adminRoute,\n route,\n}: {\n adminRoute: string\n route: string\n}): string => {\n return adminRoute && adminRoute !== '/' ? route.replace(adminRoute, '') : route\n}\n"],"mappings":"AAEA;AACA,MAAMA,iBAAA,GAGC,CACL,mBACA,UACA,SACA,UACA,UACA,cACA,gBACA,QACD;AAED,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAC3BC,UAAU;EACVC;AAAK,CAKN;EACC,OAAOA,KAAA,CAAMC,UAAU,CAACF,UAAA;AAC1B;AAEA,OAAO,MAAMG,kBAAA,GAAqBA,CAAC;EACjCH,UAAU;EACVI,MAAM;EACNH;AAAK,CAKN;EACC,OAAOH,iBAAA,CAAkBO,IAAI,CAAEC,YAAA;IAC7B,MAAMC,OAAA,GAAUH,MAAA,CAAOI,KAAK,EAAEC,MAAA,GAASH,YAAA,CAAa,IAAIA,YAAA;IACxD,MAAMI,iBAAA,GAAoBC,oBAAA,CAAqB;MAAEX,UAAA;MAAYC;IAAM;IACnE,IAAIS,iBAAA,CAAkBR,UAAU,CAACK,OAAA,GAAU;MACzC,OAAO;IACT,OAAO,IAAIG,iBAAA,CAAkBE,QAAQ,CAAC,aAAa;MACjD,OAAO;IACT,OAAO;MACL,OAAO;IACT;EACF;AACF;AAEA,OAAO,MAAMD,oBAAA,GAAuBA,CAAC;EACnCX,UAAU;EACVC;AAAK,CAIN;EACC,OAAOD,UAAA,IAAcA,UAAA,KAAe,MAAMC,KAAA,CAAMY,OAAO,CAACb,UAAA,EAAY,MAAMC,KAAA;AAC5E","ignoreList":[]}
@@ -1,123 +1,125 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
- .query-inspector {
4
- --string-color: #11b102;
5
- --number-color: #62c3f3;
6
- display: flex;
7
- gap: calc(var(--base) * 2);
8
- align-items: flex-start;
9
-
10
- ul {
11
- padding-left: calc(var(--base) * 1);
12
- }
3
+ @layer payload-default {
4
+ .query-inspector {
5
+ --string-color: #11b102;
6
+ --number-color: #62c3f3;
7
+ display: flex;
8
+ gap: calc(var(--base) * 2);
9
+ align-items: flex-start;
13
10
 
14
- &--fullscreen {
15
- padding-left: 0;
16
- .query-inspector__configuration {
17
- display: none;
11
+ ul {
12
+ padding-left: calc(var(--base) * 1);
18
13
  }
19
- }
20
14
 
21
- &__configuration {
22
- margin-top: calc(var(--base) * 2);
23
- width: 60%;
24
- position: sticky;
25
- top: var(--base);
26
- }
15
+ &--fullscreen {
16
+ padding-left: 0;
17
+ .query-inspector__configuration {
18
+ display: none;
19
+ }
20
+ }
27
21
 
28
- &__api-url {
29
- margin-bottom: calc(var(--base) * 1.5);
22
+ &__configuration {
23
+ margin-top: calc(var(--base) * 2);
24
+ width: 60%;
25
+ position: sticky;
26
+ top: var(--base);
27
+ }
30
28
 
31
- a {
32
- display: block;
33
- overflow: hidden;
34
- text-overflow: ellipsis;
35
- text-decoration: none;
29
+ &__api-url {
30
+ margin-bottom: calc(var(--base) * 1.5);
36
31
 
37
- &:hover,
38
- &:focus-visible {
39
- text-decoration: underline;
32
+ a {
33
+ display: block;
34
+ overflow: hidden;
35
+ text-overflow: ellipsis;
36
+ text-decoration: none;
37
+
38
+ &:hover,
39
+ &:focus-visible {
40
+ text-decoration: underline;
41
+ }
40
42
  }
41
43
  }
42
- }
43
44
 
44
- &__form-fields {
45
- display: flex;
46
- flex-direction: column;
47
- gap: var(--base);
48
- }
49
-
50
- &__label {
51
- color: var(--theme-elevation-400);
52
- }
45
+ &__form-fields {
46
+ display: flex;
47
+ flex-direction: column;
48
+ gap: var(--base);
49
+ }
53
50
 
54
- &__filter-query-checkboxes {
55
- display: flex;
56
- gap: var(--base);
57
- }
51
+ &__label {
52
+ color: var(--theme-elevation-400);
53
+ }
58
54
 
59
- &__results-wrapper {
60
- font-family: var(--font-mono);
61
- width: 100%;
62
- ul {
63
- margin: 0;
55
+ &__filter-query-checkboxes {
56
+ display: flex;
57
+ gap: var(--base);
64
58
  }
65
- li {
66
- list-style: none;
59
+
60
+ &__results-wrapper {
61
+ font-family: var(--font-mono);
62
+ width: 100%;
63
+ ul {
64
+ margin: 0;
65
+ }
66
+ li {
67
+ list-style: none;
68
+ }
67
69
  }
68
- }
69
70
 
70
- &__toggle-fullscreen-button-container {
71
- position: sticky;
72
- top: 0;
73
- z-index: 1;
71
+ &__toggle-fullscreen-button-container {
72
+ position: sticky;
73
+ top: 0;
74
+ z-index: 1;
74
75
 
75
- @include mid-break {
76
- display: none;
76
+ @include mid-break {
77
+ display: none;
78
+ }
77
79
  }
78
- }
79
80
 
80
- &__toggle-fullscreen-button {
81
- position: absolute;
82
- right: calc(var(--base) * 0.5);
83
- top: calc(var(--base) * 0.5);
84
- padding: calc(var(--base) * 0.25);
85
- background-color: var(--theme-elevation-0);
86
- cursor: pointer;
87
- z-index: 1;
88
- margin: 0;
89
- border: 0;
90
- border-radius: 3px;
91
- color: var(--theme-elevation-300);
92
- &:hover {
93
- color: var(--theme-elevation-700);
81
+ &__toggle-fullscreen-button {
82
+ position: absolute;
83
+ right: calc(var(--base) * 0.5);
84
+ top: calc(var(--base) * 0.5);
85
+ padding: calc(var(--base) * 0.25);
86
+ background-color: var(--theme-elevation-0);
87
+ cursor: pointer;
88
+ z-index: 1;
89
+ margin: 0;
90
+ border: 0;
91
+ border-radius: 3px;
92
+ color: var(--theme-elevation-300);
93
+ &:hover {
94
+ color: var(--theme-elevation-700);
95
+ }
94
96
  }
95
- }
96
97
 
97
- &__results {
98
- padding-top: calc(var(--base) * 0.5);
99
- padding-left: calc(var(--base) * 0.5);
100
- padding-bottom: calc(var(--base) * 0.5);
101
- background-color: var(--theme-elevation-50);
102
- overflow: auto;
103
- min-height: 100vh;
104
- }
105
-
106
- @include mid-break {
107
- flex-direction: column;
108
- padding-left: 0;
98
+ &__results {
99
+ padding-top: calc(var(--base) * 0.5);
100
+ padding-left: calc(var(--base) * 0.5);
101
+ padding-bottom: calc(var(--base) * 0.5);
102
+ background-color: var(--theme-elevation-50);
103
+ overflow: auto;
104
+ min-height: 100vh;
105
+ }
109
106
 
110
- .query-inspector__configuration {
111
- position: relative;
112
- width: 100%;
113
- top: 0;
114
- padding-inline-end: var(--gutter-h);
107
+ @include mid-break {
108
+ flex-direction: column;
109
+ padding-left: 0;
110
+
111
+ .query-inspector__configuration {
112
+ position: relative;
113
+ width: 100%;
114
+ top: 0;
115
+ padding-inline-end: var(--gutter-h);
116
+ }
115
117
  }
116
118
  }
117
- }
118
119
 
119
- html[data-theme='light'] {
120
- .query-inspector {
121
- --number-color: #2e9cd3;
120
+ html[data-theme='light'] {
121
+ .query-inspector {
122
+ --number-color: #2e9cd3;
123
+ }
122
124
  }
123
125
  }
@@ -1,46 +1,48 @@
1
1
  @import '../../../scss/styles.scss';
2
2
 
3
- .payload-settings {
4
- position: relative;
5
- margin-bottom: calc(var(--base) * 2);
3
+ @layer payload-default {
4
+ .payload-settings {
5
+ position: relative;
6
+ margin-bottom: calc(var(--base) * 2);
6
7
 
7
- h3 {
8
- margin: 0;
9
- }
8
+ h3 {
9
+ margin: 0;
10
+ }
10
11
 
11
- &::before,
12
- &::after {
13
- content: '';
14
- display: block;
15
- height: 1px;
16
- background: var(--theme-elevation-100);
17
- width: calc(100% + calc(var(--base) * 5));
18
- left: calc(var(--gutter-h) * -1);
19
- top: 0;
20
- position: absolute;
21
- }
12
+ &::before,
13
+ &::after {
14
+ content: '';
15
+ display: block;
16
+ height: 1px;
17
+ background: var(--theme-elevation-100);
18
+ width: calc(100% + calc(var(--base) * 5));
19
+ left: calc(var(--gutter-h) * -1);
20
+ top: 0;
21
+ position: absolute;
22
+ }
22
23
 
23
- &::after {
24
- display: none;
25
- bottom: 0;
26
- top: unset;
27
- }
24
+ &::after {
25
+ display: none;
26
+ bottom: 0;
27
+ top: unset;
28
+ }
28
29
 
29
- margin-top: calc(var(--base) * 3);
30
- padding-top: calc(var(--base) * 3);
31
- padding-bottom: calc(var(--base) * 3);
32
- display: flex;
33
- flex-direction: column;
34
- gap: var(--base);
30
+ margin-top: calc(var(--base) * 3);
31
+ padding-top: calc(var(--base) * 3);
32
+ padding-bottom: calc(var(--base) * 3);
33
+ display: flex;
34
+ flex-direction: column;
35
+ gap: var(--base);
35
36
 
36
- @include mid-break {
37
- margin-bottom: var(--base);
38
- padding-top: calc(var(--base) * 2);
39
- margin-top: calc(var(--base) * 2);
40
- padding-bottom: calc(var(--base) * 2);
37
+ @include mid-break {
38
+ margin-bottom: var(--base);
39
+ padding-top: calc(var(--base) * 2);
40
+ margin-top: calc(var(--base) * 2);
41
+ padding-bottom: calc(var(--base) * 2);
41
42
 
42
- &::after {
43
- display: block;
43
+ &::after {
44
+ display: block;
45
+ }
44
46
  }
45
47
  }
46
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,SAAS,EACT,wBAAwB,EACzB,MAAM,SAAS,CAAA;AAchB,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,YAAY,EAAE,SAAS,CAAA;IACvB,iBAAiB,CAAC,EAAE,KAAK,GAAG,wBAAwB,CAAA;IACpD,QAAQ,EAAE,MAAM,CAAA;CACjB,CAuEA,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA0B,SAAS,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAa1F,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,YAAY,EAAE,SAAS,CAAA;IACvB,iBAAiB,CAAC,EAAE,KAAK,GAAG,wBAAwB,CAAA;IACpD,QAAQ,EAAE,MAAM,CAAA;CACjB,CAuEA,CAAA"}
@@ -67,7 +67,7 @@ export const CreateFirstUserClient = t0 => {
67
67
  let t5;
68
68
  if ($[14] !== setUser) {
69
69
  t5 = data => {
70
- setUser(data.user);
70
+ setUser(data);
71
71
  };
72
72
  $[14] = setUser;
73
73
  $[15] = t5;
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["c","_c","ConfirmPasswordField","Form","FormSubmit","PasswordField","RenderFields","useAuth","useConfig","useTranslation","getFormState","React","RenderEmailAndUsernameFields","CreateFirstUserClient","t0","$","initialState","loginWithUsername","userSlug","config","t1","getEntityConfig","routes","t2","serverURL","admin","api","apiRoute","t","setUser","t3","collectionConfig","collectionSlug","t4","t5","formState","prevFormState","state","body","operation","schemaPath","onChange","data","user","handleFirstRegister","_jsxs","action","method","onSuccess","redirect","validationOperation","children","_jsx","className","readOnly","autoComplete","field","name","label","required","fields","forceRender","path","size"],"sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientUser,\n FormState,\n LoginWithUsernameOptions,\n} from 'payload'\n\nimport {\n ConfirmPasswordField,\n Form,\n type FormProps,\n FormSubmit,\n PasswordField,\n RenderFields,\n useAuth,\n useConfig,\n useTranslation,\n} from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { RenderEmailAndUsernameFields } from '../../elements/EmailAndUsername/index.js'\n\nexport const CreateFirstUserClient: React.FC<{\n initialState: FormState\n loginWithUsername?: false | LoginWithUsernameOptions\n userSlug: string\n}> = ({ initialState, loginWithUsername, userSlug }) => {\n const {\n config: {\n routes: { admin, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug }) as ClientCollectionConfig\n\n const onChange: FormProps['onChange'][0] = React.useCallback(\n async ({ formState: prevFormState }) => {\n const { state } = await getFormState({\n apiRoute,\n body: {\n collectionSlug: userSlug,\n formState: prevFormState,\n operation: 'create',\n schemaPath: `_${userSlug}.auth`,\n },\n serverURL,\n })\n return state\n },\n [apiRoute, userSlug, serverURL],\n )\n\n const handleFirstRegister = (data: { user: ClientUser }) => {\n setUser(data.user)\n }\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/first-register`}\n initialState={initialState}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={handleFirstRegister}\n redirect={admin}\n validationOperation=\"create\"\n >\n <RenderEmailAndUsernameFields\n className=\"emailAndUsername\"\n loginWithUsername={loginWithUsername}\n operation=\"create\"\n readOnly={false}\n />\n <PasswordField\n autoComplete={'off'}\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n />\n <ConfirmPasswordField />\n <RenderFields\n fields={collectionConfig.fields}\n forceRender\n operation=\"create\"\n path=\"\"\n readOnly={false}\n schemaPath={userSlug}\n />\n <FormSubmit size=\"large\">{t('general:create')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["c","_c","ConfirmPasswordField","Form","FormSubmit","PasswordField","RenderFields","useAuth","useConfig","useTranslation","getFormState","React","RenderEmailAndUsernameFields","CreateFirstUserClient","t0","$","initialState","loginWithUsername","userSlug","config","t1","getEntityConfig","routes","t2","serverURL","admin","api","apiRoute","t","setUser","t3","collectionConfig","collectionSlug","t4","t5","formState","prevFormState","state","body","operation","schemaPath","onChange","data","handleFirstRegister","_jsxs","action","method","onSuccess","redirect","validationOperation","children","_jsx","className","readOnly","autoComplete","field","name","label","required","fields","forceRender","path","size"],"sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps, UserWithToken } from '@payloadcms/ui'\nimport type { ClientCollectionConfig, FormState, LoginWithUsernameOptions } from 'payload'\n\nimport {\n ConfirmPasswordField,\n Form,\n FormSubmit,\n PasswordField,\n RenderFields,\n useAuth,\n useConfig,\n useTranslation,\n} from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { RenderEmailAndUsernameFields } from '../../elements/EmailAndUsername/index.js'\n\nexport const CreateFirstUserClient: React.FC<{\n initialState: FormState\n loginWithUsername?: false | LoginWithUsernameOptions\n userSlug: string\n}> = ({ initialState, loginWithUsername, userSlug }) => {\n const {\n config: {\n routes: { admin, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug }) as ClientCollectionConfig\n\n const onChange: FormProps['onChange'][0] = React.useCallback(\n async ({ formState: prevFormState }) => {\n const { state } = await getFormState({\n apiRoute,\n body: {\n collectionSlug: userSlug,\n formState: prevFormState,\n operation: 'create',\n schemaPath: `_${userSlug}.auth`,\n },\n serverURL,\n })\n return state\n },\n [apiRoute, userSlug, serverURL],\n )\n\n const handleFirstRegister = (data: UserWithToken) => {\n setUser(data)\n }\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/first-register`}\n initialState={initialState}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={handleFirstRegister}\n redirect={admin}\n validationOperation=\"create\"\n >\n <RenderEmailAndUsernameFields\n className=\"emailAndUsername\"\n loginWithUsername={loginWithUsername}\n operation=\"create\"\n readOnly={false}\n />\n <PasswordField\n autoComplete={'off'}\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n />\n <ConfirmPasswordField />\n <RenderFields\n fields={collectionConfig.fields}\n forceRender\n operation=\"create\"\n path=\"\"\n readOnly={false}\n schemaPath={userSlug}\n />\n <FormSubmit size=\"large\">{t('general:create')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,19 +1,21 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
- .create-first-user {
4
- display: flex;
5
- flex-direction: column;
6
- gap: base(0.4);
3
+ @layer payload-default {
4
+ .create-first-user {
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: base(0.4);
7
8
 
8
- > form > .field-type {
9
- margin-bottom: var(--base);
9
+ > form > .field-type {
10
+ margin-bottom: var(--base);
10
11
 
11
- & .form-submit {
12
- margin: 0;
12
+ & .form-submit {
13
+ margin: 0;
14
+ }
13
15
  }
14
16
  }
15
- }
16
17
 
17
- .emailAndUsername {
18
- margin-bottom: var(--base);
18
+ .emailAndUsername {
19
+ margin-bottom: var(--base);
20
+ }
19
21
  }