@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","ConfirmPasswordField","Form","FormSubmit","HiddenField","PasswordField","useAuth","useConfig","useTranslation","formatAdminURL","useRouter","React","initialState","initialValue","valid","value","password","ResetPasswordForm","t0","$","token","i18n","config","t1","admin","t2","routes","t3","serverURL","t4","user","userSlug","login","loginRoute","adminRoute","api","apiRoute","history","fetchFullUser","t5","push","path","onSuccess","t6","t7","_jsxs","action","method","children","className","_jsx","field","name","label","t","required","forceUsePathFromProps","size"],"sources":["../../../../src/views/ResetPassword/ResetPasswordForm/index.tsx"],"sourcesContent":["'use client'\nimport {\n ConfirmPasswordField,\n Form,\n FormSubmit,\n HiddenField,\n PasswordField,\n useAuth,\n useConfig,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport { type FormState } from 'payload'\nimport React from 'react'\n\ntype Args = {\n readonly token: string\n}\n\nconst initialState: FormState = {\n 'confirm-password': {\n initialValue: '',\n valid: false,\n value: '',\n },\n password: {\n initialValue: '',\n valid: false,\n value: '',\n },\n}\n\nexport const ResetPasswordForm: React.FC<Args> = ({ token }) => {\n const i18n = useTranslation()\n const {\n config: {\n admin: {\n routes: { login: loginRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const history = useRouter()\n const { fetchFullUser } = useAuth()\n\n const onSuccess = React.useCallback(async () => {\n const user = await fetchFullUser()\n if (user) {\n history.push(adminRoute)\n } else {\n history.push(\n formatAdminURL({\n adminRoute,\n path: loginRoute,\n }),\n )\n }\n }, [adminRoute, fetchFullUser, history, loginRoute])\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/reset-password`}\n initialState={initialState}\n method=\"POST\"\n onSuccess={onSuccess}\n >\n <div className=\"inputWrap\">\n <PasswordField\n field={{\n name: 'password',\n label: i18n.t('authentication:newPassword'),\n required: true,\n }}\n />\n <ConfirmPasswordField />\n <HiddenField\n field={{\n name: 'token',\n }}\n forceUsePathFromProps\n value={token}\n />\n </div>\n <FormSubmit size=\"large\">{i18n.t('authentication:resetPassword')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SACEC,oBAAoB,EACpBC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,aAAa,EACbC,OAAO,EACPC,SAAS,EACTC,cAAc,QACT;AACP,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAE1B,OAAOC,KAAA,MAAW;AAMlB,MAAMC,YAAA,GAA0B;EAC9B,oBAAoB;IAClBC,YAAA,EAAc;IACdC,KAAA,EAAO;IACPC,KAAA,EAAO;EACT;EACAC,QAAA,EAAU;IACRH,YAAA,EAAc;IACdC,KAAA,EAAO;IACPC,KAAA,EAAO;EACT;AACF;AAEA,OAAO,MAAME,iBAAA,GAAoCC,EAAA;EAAA,MAAAC,CAAA,GAAAnB,EAAA;EAAC;IAAAoB;EAAA,IAAAF,EAAS;EACzD,MAAAG,IAAA,GAAab,cAAA;EACb;IAAAc,MAAA,EAAAC;EAAA,IASIhB,SAAA;EARM;IAAAiB,KAAA,EAAAC,EAAA;IAAAC,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAL,EAOP;EANQ;IAAAG,MAAA,EAAAG,EAAA;IAAAC,IAAA,EAAAC;EAAA,IAAAN,EAGN;EAFS;IAAAO,KAAA,EAAAC;EAAA,IAAAJ,EAAqB;EAGvB;IAAAL,KAAA,EAAAU,UAAA;IAAAC,GAAA,EAAAC;EAAA,IAAAT,EAAoC;EAKhD,MAAAU,OAAA,GAAgB3B,SAAA;EAChB;IAAA4B;EAAA,IAA0BhC,OAAA;EAAA,IAAAiC,EAAA;EAAA,IAAApB,CAAA,QAAAmB,aAAA,IAAAnB,CAAA,QAAAkB,OAAA,IAAAlB,CAAA,QAAAe,UAAA,IAAAf,CAAA,QAAAc,UAAA;IAEUM,EAAA,SAAAA,CAAA;MAClC,MAAAT,IAAA,SAAmBQ,aAAA;MAAA,IACfR,IAAA;QACFO,OAAA,CAAAG,IAAA,CAAaN,UAAA;MAAA;QAEbG,OAAA,CAAAG,IAAA,CACE/B,cAAA;UAAAyB,UAAA;UAAAO,IAAA,EAEQR;QAAA,CACR;MAAA;IAAA;IAGNd,CAAA,MAAAmB,aAAA;IAAAnB,CAAA,MAAAkB,OAAA;IAAAlB,CAAA,MAAAe,UAAA;IAAAf,CAAA,MAAAc,UAAA;IAAAd,CAAA,MAAAoB,EAAA;EAAA;IAAAA,EAAA,GAAApB,CAAA;EAAA;EAZA,MAAAuB,SAAA,GAAkBH,EAYiC;EAIvC,MAAAI,EAAA,MAAGf,SAAA,GAAYQ,QAAA,IAAYL,QAAA,iBAAyB;EAAA,IAAAa,EAAA;EAAA,IAAAzB,CAAA,QAAAE,IAAA,IAAAF,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAwB,EAAA,IAAAxB,CAAA,QAAAuB,SAAA;IAD9DE,EAAA,GAAAC,KAAA,CAAA3C,IAAA;MAAA4C,MAAA,EACUH,EAAoD;MAAA/B,YAAA;MAAAmC,MAAA,EAErD;MAAAL,SAAA;MAAAM,QAAA,GAGPH,KAAA,CAAC;QAAAI,SAAA,EAAc;QAAAD,QAAA,GACbE,IAAA,CAAA7C,aAAA;UAAA8C,KAAA;YAAAC,IAAA,EAEU;YAAAC,KAAA,EACChC,IAAA,CAAAiC,CAAA,CAAO;YAAAC,QAAA;UAAA;QAAA,C,GAIlBL,IAAA,CAAAjD,oBAAA,IAAC,GACDiD,IAAA,CAAA9C,WAAA;UAAA+C,KAAA;YAAAC,IAAA,EAEU;UAAA;UAAAI,qBAAA;UAAAzC,KAAA,EAGDK;QAAA,C;UAGX8B,IAAA,CAAA/C,UAAA;QAAAsD,IAAA,EAAiB;QAAAT,QAAA,EAAS3B,IAAA,CAAAiC,CAAA,CAAO;MAAA,C;;;;;;;;;;SAvBnCV,E;CA0BJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ResetPassword/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7C,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,sBAAsB,mBAAmB,CAAA;AAItD,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAA;AAEzD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAuDlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ResetPassword/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7C,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,sBAAsB,mBAAmB,CAAA;AAItD,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAA;AAEzD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAiElD,CAAA"}
@@ -3,7 +3,8 @@ import { Button } from '@payloadcms/ui';
3
3
  import { formatAdminURL, Translation } from '@payloadcms/ui/shared';
4
4
  import LinkImport from 'next/link.js';
5
5
  import React from 'react';
6
- import { ResetPasswordClient } from './index.client.js';
6
+ import { FormHeader } from '../../elements/FormHeader/index.js';
7
+ import { ResetPasswordForm } from './ResetPasswordForm/index.js';
7
8
  export const resetPasswordBaseClass = 'reset-password';
8
9
  const Link = LinkImport.default || LinkImport;
9
10
  export { generateResetPasswordMetadata } from './meta.js';
@@ -27,7 +28,8 @@ export const ResetPassword = ({
27
28
  const {
28
29
  admin: {
29
30
  routes: {
30
- account: accountRoute
31
+ account: accountRoute,
32
+ login: loginRoute
31
33
  }
32
34
  },
33
35
  routes: {
@@ -37,10 +39,8 @@ export const ResetPassword = ({
37
39
  if (user) {
38
40
  return /*#__PURE__*/_jsxs("div", {
39
41
  className: `${resetPasswordBaseClass}__wrap`,
40
- children: [/*#__PURE__*/_jsx("h1", {
41
- children: i18n.t('authentication:alreadyLoggedIn')
42
- }), /*#__PURE__*/_jsx("p", {
43
- children: /*#__PURE__*/_jsx(Translation, {
42
+ children: [/*#__PURE__*/_jsx(FormHeader, {
43
+ description: /*#__PURE__*/_jsx(Translation, {
44
44
  elements: {
45
45
  '0': ({
46
46
  children
@@ -54,7 +54,8 @@ export const ResetPassword = ({
54
54
  },
55
55
  i18nKey: "authentication:loggedInChangePassword",
56
56
  t: i18n.t
57
- })
57
+ }),
58
+ heading: i18n.t('authentication:alreadyLoggedIn')
58
59
  }), /*#__PURE__*/_jsx(Button, {
59
60
  buttonStyle: "secondary",
60
61
  el: "link",
@@ -67,10 +68,16 @@ export const ResetPassword = ({
67
68
  }
68
69
  return /*#__PURE__*/_jsxs("div", {
69
70
  className: `${resetPasswordBaseClass}__wrap`,
70
- children: [/*#__PURE__*/_jsx("h1", {
71
- children: i18n.t('authentication:resetPassword')
72
- }), /*#__PURE__*/_jsx(ResetPasswordClient, {
71
+ children: [/*#__PURE__*/_jsx(FormHeader, {
72
+ heading: i18n.t('authentication:resetPassword')
73
+ }), /*#__PURE__*/_jsx(ResetPasswordForm, {
73
74
  token: token
75
+ }), /*#__PURE__*/_jsx(Link, {
76
+ href: formatAdminURL({
77
+ adminRoute,
78
+ path: loginRoute
79
+ }),
80
+ children: i18n.t('authentication:backToLogin')
74
81
  })]
75
82
  });
76
83
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Button","formatAdminURL","Translation","LinkImport","React","ResetPasswordClient","resetPasswordBaseClass","Link","default","generateResetPasswordMetadata","ResetPassword","initPageResult","params","req","segments","_","token","i18n","payload","config","user","admin","routes","account","accountRoute","adminRoute","_jsxs","className","_jsx","t","elements","0","children","href","path","i18nKey","buttonStyle","el","size","to"],"sources":["../../../src/views/ResetPassword/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { Button } from '@payloadcms/ui'\nimport { formatAdminURL, Translation } from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport { ResetPasswordClient } from './index.client.js'\nimport './index.scss'\n\nexport const resetPasswordBaseClass = 'reset-password'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateResetPasswordMetadata } from './meta.js'\n\nexport const ResetPassword: React.FC<AdminViewProps> = ({ initPageResult, params }) => {\n const { req } = initPageResult\n\n const {\n segments: [_, token],\n } = params\n\n const {\n i18n,\n payload: { config },\n user,\n } = req\n\n const {\n admin: {\n routes: { account: accountRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (user) {\n return (\n <div className={`${resetPasswordBaseClass}__wrap`}>\n <h1>{i18n.t('authentication:alreadyLoggedIn')}</h1>\n <p>\n <Translation\n elements={{\n '0': ({ children }) => (\n <Link\n href={formatAdminURL({\n adminRoute,\n path: accountRoute,\n })}\n >\n {children}\n </Link>\n ),\n }}\n i18nKey=\"authentication:loggedInChangePassword\"\n t={i18n.t}\n />\n </p>\n <Button buttonStyle=\"secondary\" el=\"link\" Link={Link} size=\"large\" to={adminRoute}>\n {i18n.t('general:backToDashboard')}\n </Button>\n </div>\n )\n }\n\n return (\n <div className={`${resetPasswordBaseClass}__wrap`}>\n <h1>{i18n.t('authentication:resetPassword')}</h1>\n <ResetPasswordClient token={token} />\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,QAAQ;AACvB,SAASC,cAAc,EAAEC,WAAW,QAAQ;AAC5C,OAAOC,UAAA,MAAgB;AACvB,OAAOC,KAAA,MAAW;AAElB,SAASC,mBAAmB,QAAQ;AAGpC,OAAO,MAAMC,sBAAA,GAAyB;AAEtC,MAAMC,IAAA,GAAQJ,UAAA,CAAWK,OAAO,IAAIL,UAAA;AAEpC,SAASM,6BAA6B,QAAQ;AAE9C,OAAO,MAAMC,aAAA,GAA0CA,CAAC;EAAEC,cAAc;EAAEC;AAAM,CAAE;EAChF,MAAM;IAAEC;EAAG,CAAE,GAAGF,cAAA;EAEhB,MAAM;IACJG,QAAA,EAAU,CAACC,CAAA,EAAGC,KAAA;EAAM,CACrB,GAAGJ,MAAA;EAEJ,MAAM;IACJK,IAAI;IACJC,OAAA,EAAS;MAAEC;IAAM,CAAE;IACnBC;EAAI,CACL,GAAGP,GAAA;EAEJ,MAAM;IACJQ,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,OAAA,EAASC;MAAY;IAAE,CAClC;IACDF,MAAA,EAAQ;MAAED,KAAA,EAAOI;IAAU;EAAE,CAC9B,GAAGN,MAAA;EAEJ,IAAIC,IAAA,EAAM;IACR,oBACEM,KAAA,CAAC;MAAIC,SAAA,EAAW,GAAGrB,sBAAA,QAA8B;8BAC/CsB,IAAA,CAAC;kBAAIX,IAAA,CAAKY,CAAC,CAAC;uBACZD,IAAA,CAAC;kBACC,aAAAA,IAAA,CAAC1B,WAAA;UACC4B,QAAA,EAAU;YACR,KAAKC,CAAC;cAAEC;YAAQ,CAAE,kBAChBJ,IAAA,CAACrB,IAAA;cACC0B,IAAA,EAAMhC,cAAA,CAAe;gBACnBwB,UAAA;gBACAS,IAAA,EAAMV;cACR;wBAECQ;;UAGP;UACAG,OAAA,EAAQ;UACRN,CAAA,EAAGZ,IAAA,CAAKY;;uBAGZD,IAAA,CAAC5B,MAAA;QAAOoC,WAAA,EAAY;QAAYC,EAAA,EAAG;QAAO9B,IAAA,EAAMA,IAAA;QAAM+B,IAAA,EAAK;QAAQC,EAAA,EAAId,UAAA;kBACpER,IAAA,CAAKY,CAAC,CAAC;;;EAIhB;EAEA,oBACEH,KAAA,CAAC;IAAIC,SAAA,EAAW,GAAGrB,sBAAA,QAA8B;4BAC/CsB,IAAA,CAAC;gBAAIX,IAAA,CAAKY,CAAC,CAAC;qBACZD,IAAA,CAACvB,mBAAA;MAAoBW,KAAA,EAAOA;;;AAGlC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Button","formatAdminURL","Translation","LinkImport","React","FormHeader","ResetPasswordForm","resetPasswordBaseClass","Link","default","generateResetPasswordMetadata","ResetPassword","initPageResult","params","req","segments","_","token","i18n","payload","config","user","admin","routes","account","accountRoute","login","loginRoute","adminRoute","_jsxs","className","_jsx","description","elements","0","children","href","path","i18nKey","t","heading","buttonStyle","el","size","to"],"sources":["../../../src/views/ResetPassword/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { Button } from '@payloadcms/ui'\nimport { formatAdminURL, Translation } from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport './index.scss'\nimport { ResetPasswordForm } from './ResetPasswordForm/index.js'\n\nexport const resetPasswordBaseClass = 'reset-password'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateResetPasswordMetadata } from './meta.js'\n\nexport const ResetPassword: React.FC<AdminViewProps> = ({ initPageResult, params }) => {\n const { req } = initPageResult\n\n const {\n segments: [_, token],\n } = params\n\n const {\n i18n,\n payload: { config },\n user,\n } = req\n\n const {\n admin: {\n routes: { account: accountRoute, login: loginRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (user) {\n return (\n <div className={`${resetPasswordBaseClass}__wrap`}>\n <FormHeader\n description={\n <Translation\n elements={{\n '0': ({ children }) => (\n <Link\n href={formatAdminURL({\n adminRoute,\n path: accountRoute,\n })}\n >\n {children}\n </Link>\n ),\n }}\n i18nKey=\"authentication:loggedInChangePassword\"\n t={i18n.t}\n />\n }\n heading={i18n.t('authentication:alreadyLoggedIn')}\n />\n <Button buttonStyle=\"secondary\" el=\"link\" Link={Link} size=\"large\" to={adminRoute}>\n {i18n.t('general:backToDashboard')}\n </Button>\n </div>\n )\n }\n\n return (\n <div className={`${resetPasswordBaseClass}__wrap`}>\n <FormHeader heading={i18n.t('authentication:resetPassword')} />\n <ResetPasswordForm token={token} />\n <Link\n href={formatAdminURL({\n adminRoute,\n path: loginRoute,\n })}\n >\n {i18n.t('authentication:backToLogin')}\n </Link>\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,QAAQ;AACvB,SAASC,cAAc,EAAEC,WAAW,QAAQ;AAC5C,OAAOC,UAAA,MAAgB;AACvB,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAE3B,SAASC,iBAAiB,QAAQ;AAElC,OAAO,MAAMC,sBAAA,GAAyB;AAEtC,MAAMC,IAAA,GAAQL,UAAA,CAAWM,OAAO,IAAIN,UAAA;AAEpC,SAASO,6BAA6B,QAAQ;AAE9C,OAAO,MAAMC,aAAA,GAA0CA,CAAC;EAAEC,cAAc;EAAEC;AAAM,CAAE;EAChF,MAAM;IAAEC;EAAG,CAAE,GAAGF,cAAA;EAEhB,MAAM;IACJG,QAAA,EAAU,CAACC,CAAA,EAAGC,KAAA;EAAM,CACrB,GAAGJ,MAAA;EAEJ,MAAM;IACJK,IAAI;IACJC,OAAA,EAAS;MAAEC;IAAM,CAAE;IACnBC;EAAI,CACL,GAAGP,GAAA;EAEJ,MAAM;IACJQ,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,OAAA,EAASC,YAAY;QAAEC,KAAA,EAAOC;MAAU;IAAE,CACrD;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGR,MAAA;EAEJ,IAAIC,IAAA,EAAM;IACR,oBACEQ,KAAA,CAAC;MAAIC,SAAA,EAAW,GAAGvB,sBAAA,QAA8B;8BAC/CwB,IAAA,CAAC1B,UAAA;QACC2B,WAAA,eACED,IAAA,CAAC7B,WAAA;UACC+B,QAAA,EAAU;YACR,KAAKC,CAAC;cAAEC;YAAQ,CAAE,kBAChBJ,IAAA,CAACvB,IAAA;cACC4B,IAAA,EAAMnC,cAAA,CAAe;gBACnB2B,UAAA;gBACAS,IAAA,EAAMZ;cACR;wBAECU;;UAGP;UACAG,OAAA,EAAQ;UACRC,CAAA,EAAGrB,IAAA,CAAKqB;;QAGZC,OAAA,EAAStB,IAAA,CAAKqB,CAAC,CAAC;uBAElBR,IAAA,CAAC/B,MAAA;QAAOyC,WAAA,EAAY;QAAYC,EAAA,EAAG;QAAOlC,IAAA,EAAMA,IAAA;QAAMmC,IAAA,EAAK;QAAQC,EAAA,EAAIhB,UAAA;kBACpEV,IAAA,CAAKqB,CAAC,CAAC;;;EAIhB;EAEA,oBACEV,KAAA,CAAC;IAAIC,SAAA,EAAW,GAAGvB,sBAAA,QAA8B;4BAC/CwB,IAAA,CAAC1B,UAAA;MAAWmC,OAAA,EAAStB,IAAA,CAAKqB,CAAC,CAAC;qBAC5BR,IAAA,CAACzB,iBAAA;MAAkBW,KAAA,EAAOA;qBAC1Bc,IAAA,CAACvB,IAAA;MACC4B,IAAA,EAAMnC,cAAA,CAAe;QACnB2B,UAAA;QACAS,IAAA,EAAMV;MACR;gBAECT,IAAA,CAAKqB,CAAC,CAAC;;;AAIhB","ignoreList":[]}
@@ -1,31 +1,11 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
- .reset-password {
4
- &__wrap {
5
- z-index: 1;
6
- position: relative;
7
- display: flex;
8
- flex-direction: column;
9
- align-items: flex-start;
10
- gap: base(0.8);
11
- max-width: base(36);
12
-
13
- & > form {
14
- width: 100%;
15
-
16
- & > .inputWrap {
17
- display: flex;
18
- flex-direction: column;
19
- gap: base(0.8);
20
-
21
- > * {
22
- margin: 0;
23
- }
24
- }
25
- }
26
-
27
- & > .btn {
28
- margin: 0;
3
+ @layer payload-default {
4
+ .reset-password__wrap {
5
+ .inputWrap {
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: base(0.8);
29
9
  }
30
10
  }
31
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC7F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AA4BjE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACpC,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACtC,CAAA;AAYD,eAAO,MAAM,iBAAiB,6EAO3B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,KAAG;IACF,WAAW,EAAE,cAAc,CAAA;IAC3B,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;CA6JpC,CAAA"}
1
+ {"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC7F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AA4BjE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACpC,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACtC,CAAA;AAYD,eAAO,MAAM,iBAAiB,6EAO3B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,KAAG;IACF,WAAW,EAAE,cAAc,CAAA;IAC3B,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;CAuJpC,CAAA"}
@@ -57,7 +57,6 @@ export const getViewFromConfig = ({
57
57
  };
58
58
  templateClassName = 'dashboard';
59
59
  templateType = 'default';
60
- initPageOptions.redirectUnauthenticatedUser = true;
61
60
  }
62
61
  break;
63
62
  }
@@ -95,7 +94,6 @@ export const getViewFromConfig = ({
95
94
  templateClassName = baseClasses[viewKey];
96
95
  templateType = 'minimal';
97
96
  if (viewKey === 'account') {
98
- initPageOptions.redirectUnauthenticatedUser = true;
99
97
  templateType = 'default';
100
98
  }
101
99
  }
@@ -113,7 +111,6 @@ export const getViewFromConfig = ({
113
111
  }
114
112
  if (isCollection) {
115
113
  // --> /collections/:collectionSlug
116
- initPageOptions.redirectUnauthenticatedUser = true;
117
114
  ViewToRender = {
118
115
  Component: ListView
119
116
  };
@@ -121,7 +118,6 @@ export const getViewFromConfig = ({
121
118
  templateType = 'default';
122
119
  } else if (isGlobal) {
123
120
  // --> /globals/:globalSlug
124
- initPageOptions.redirectUnauthenticatedUser = true;
125
121
  ViewToRender = {
126
122
  Component: DocumentView
127
123
  };
@@ -145,7 +141,6 @@ export const getViewFromConfig = ({
145
141
  // --> /collections/:collectionSlug/:id/versions
146
142
  // --> /collections/:collectionSlug/:id/versions/:versionId
147
143
  // --> /collections/:collectionSlug/:id/api
148
- initPageOptions.redirectUnauthenticatedUser = true;
149
144
  ViewToRender = {
150
145
  Component: DocumentView
151
146
  };
@@ -157,7 +152,6 @@ export const getViewFromConfig = ({
157
152
  // --> /globals/:globalSlug/preview
158
153
  // --> /globals/:globalSlug/versions/:versionId
159
154
  // --> /globals/:globalSlug/api
160
- initPageOptions.redirectUnauthenticatedUser = true;
161
155
  ViewToRender = {
162
156
  Component: DocumentView
163
157
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getViewFromConfig.js","names":["formatAdminURL","Account","CreateFirstUserView","Dashboard","Document","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getCustomViewByRoute","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewFromConfig","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","initPageOptions","route","segmentOne","segmentTwo","isGlobal","isCollection","length","Component","redirectUnauthenticatedUser","viewKey","admin","routes","matchedRoute","Object","entries","find","exact","path","view","DefaultView"],"sources":["../../../src/views/Root/getViewFromConfig.ts"],"sourcesContent":["import type { AdminViewComponent, AdminViewProps, ImportMap, SanitizedConfig } from 'payload'\nimport type React from 'react'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewProps>\n payloadComponent?: AdminViewComponent\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: {\n adminRoute: string\n config: SanitizedConfig\n currentRoute: string\n importMap: ImportMap\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}): {\n DefaultView: ViewFromConfig\n initPageOptions: Parameters<typeof initPage>[0]\n templateClassName: string\n templateType: 'default' | 'minimal'\n} => {\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n importMap,\n route: currentRoute,\n searchParams,\n }\n\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: Dashboard,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n initPageOptions.redirectUnauthenticatedUser = true\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n initPageOptions.redirectUnauthenticatedUser = true\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n }\n\n if (isCollection) {\n // --> /collections/:collectionSlug\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionId\n // --> /collections/:collectionSlug/:id/api\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionId\n // --> /globals/:globalSlug/api\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n return {\n DefaultView: ViewToRender,\n initPageOptions,\n templateClassName,\n templateType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getViewFromConfig.js","names":["formatAdminURL","Account","CreateFirstUserView","Dashboard","Document","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getCustomViewByRoute","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewFromConfig","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","initPageOptions","route","segmentOne","segmentTwo","isGlobal","isCollection","length","Component","viewKey","admin","routes","matchedRoute","Object","entries","find","exact","path","view","DefaultView"],"sources":["../../../src/views/Root/getViewFromConfig.ts"],"sourcesContent":["import type { AdminViewComponent, AdminViewProps, ImportMap, SanitizedConfig } from 'payload'\nimport type React from 'react'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewProps>\n payloadComponent?: AdminViewComponent\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: {\n adminRoute: string\n config: SanitizedConfig\n currentRoute: string\n importMap: ImportMap\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}): {\n DefaultView: ViewFromConfig\n initPageOptions: Parameters<typeof initPage>[0]\n templateClassName: string\n templateType: 'default' | 'minimal'\n} => {\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n importMap,\n route: currentRoute,\n searchParams,\n }\n\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: Dashboard,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n }\n\n if (isCollection) {\n // --> /collections/:collectionSlug\n\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionId\n // --> /collections/:collectionSlug/:id/api\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionId\n // --> /globals/:globalSlug/api\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n return {\n DefaultView: ViewToRender,\n initPageOptions,\n templateClassName,\n templateType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAmB,eAAe,EAAE,MAAM,SAAS,CAAA;AAI1E,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAgHA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAmB,eAAe,EAAE,MAAM,SAAS,CAAA;AAI1E,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAoHA,CAAA"}
@@ -50,6 +50,9 @@ export const RootPage = async ({
50
50
  notFound();
51
51
  }
52
52
  const initPageResult = await initPage(initPageOptions);
53
+ if (typeof initPageResult?.redirectTo === 'string') {
54
+ redirect(initPageResult.redirectTo);
55
+ }
53
56
  if (initPageResult) {
54
57
  dbHasUser = await initPageResult?.req.payload.db.findOne({
55
58
  collection: userSlug,
@@ -105,8 +108,8 @@ export const RootPage = async ({
105
108
  visibleEntities: {
106
109
  // The reason we are not passing in initPageResult.visibleEntities directly is due to a "Cannot assign to read only property of object '#<Object>" error introduced in React 19
107
110
  // which this caused as soon as initPageResult.visibleEntities is passed in
108
- collections: initPageResult.visibleEntities?.collections,
109
- globals: initPageResult.visibleEntities?.globals
111
+ collections: initPageResult?.visibleEntities?.collections,
112
+ globals: initPageResult?.visibleEntities?.globals
110
113
  },
111
114
  children: RenderedView
112
115
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["formatAdminURL","getCreateMappedComponent","RenderComponent","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","initPageOptions","templateClassName","templateType","dbHasUser","Component","payloadComponent","initPageResult","req","payload","db","findOne","collection","then","doc","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","createMappedView","serverProps","i18n","MappedView","undefined","RenderedView","_jsx","mappedComponent","_jsxs","className","locale","permissions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, MappedComponent, SanitizedConfig } from 'payload'\n\nimport { formatAdminURL, getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const { DefaultView, initPageOptions, templateClassName, templateType } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n let dbHasUser = false\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n notFound()\n }\n\n const initPageResult = await initPage(initPageOptions)\n\n if (initPageResult) {\n dbHasUser = await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc)\n\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n const createMappedView = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n },\n })\n\n const MappedView: MappedComponent = createMappedView(\n DefaultView.payloadComponent,\n undefined,\n DefaultView.Component,\n 'createMappedView',\n )\n\n const RenderedView = <RenderComponent mappedComponent={MappedView} />\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult.visibleEntities?.collections,\n globals: initPageResult.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["formatAdminURL","getCreateMappedComponent","RenderComponent","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","initPageOptions","templateClassName","templateType","dbHasUser","Component","payloadComponent","initPageResult","redirectTo","req","payload","db","findOne","collection","then","doc","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","createMappedView","serverProps","i18n","MappedView","undefined","RenderedView","_jsx","mappedComponent","_jsxs","className","locale","permissions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, MappedComponent, SanitizedConfig } from 'payload'\n\nimport { formatAdminURL, getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const { DefaultView, initPageOptions, templateClassName, templateType } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n let dbHasUser = false\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n notFound()\n }\n\n const initPageResult = await initPage(initPageOptions)\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n dbHasUser = await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc)\n\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n const createMappedView = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n },\n })\n\n const MappedView: MappedComponent = createMappedView(\n DefaultView.payloadComponent,\n undefined,\n DefaultView.Component,\n 'createMappedView',\n )\n\n const RenderedView = <RenderComponent mappedComponent={MappedView} />\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAM9E,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAIxD,eAAO,MAAM,gBAAgB,EAAE,2BAA2B,CAAC,kBAAkB,CA+B5E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAQ9E,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAIxD,eAAO,MAAM,gBAAgB,EAAE,2BAA2B,CAAC,kBAAkB,CAsC5E,CAAA"}
@@ -1,7 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, Gutter } from '@payloadcms/ui';
2
+ import { Button } from '@payloadcms/ui';
3
+ import { formatAdminURL } from '@payloadcms/ui/shared';
3
4
  import LinkImport from 'next/link.js';
4
5
  import React from 'react';
6
+ import { FormHeader } from '../../elements/FormHeader/index.js';
5
7
  const Link = LinkImport.default || LinkImport;
6
8
  export { generateUnauthorizedMetadata } from './meta.js';
7
9
  const baseClass = 'unauthorized';
@@ -17,23 +19,28 @@ export const UnauthorizedView = ({
17
19
  routes: {
18
20
  logout: logoutRoute
19
21
  }
22
+ },
23
+ routes: {
24
+ admin: adminRoute
20
25
  }
21
26
  }
22
27
  }
23
28
  }
24
29
  } = initPageResult;
25
- return /*#__PURE__*/_jsxs(Gutter, {
30
+ return /*#__PURE__*/_jsxs("div", {
26
31
  className: baseClass,
27
- children: [/*#__PURE__*/_jsx("h2", {
28
- children: i18n.t('error:unauthorized')
29
- }), /*#__PURE__*/_jsx("p", {
30
- children: i18n.t('error:notAllowedToAccessPage')
32
+ children: [/*#__PURE__*/_jsx(FormHeader, {
33
+ description: i18n.t('error:notAllowedToAccessPage'),
34
+ heading: i18n.t('error:unauthorized')
31
35
  }), /*#__PURE__*/_jsx(Button, {
32
36
  className: `${baseClass}__button`,
33
37
  el: "link",
34
38
  Link: Link,
35
39
  size: "large",
36
- to: logoutRoute,
40
+ to: formatAdminURL({
41
+ adminRoute,
42
+ path: logoutRoute
43
+ }),
37
44
  children: i18n.t('authentication:logOut')
38
45
  })]
39
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Button","Gutter","LinkImport","React","Link","default","generateUnauthorizedMetadata","baseClass","UnauthorizedView","initPageResult","req","i18n","payload","config","admin","routes","logout","logoutRoute","_jsxs","className","_jsx","t","el","size","to"],"sources":["../../../src/views/Unauthorized/index.tsx"],"sourcesContent":["import type { AdminViewComponent, PayloadServerReactComponent } from 'payload'\n\nimport { Button, Gutter } from '@payloadcms/ui'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport './index.scss'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateUnauthorizedMetadata } from './meta.js'\n\nconst baseClass = 'unauthorized'\n\nexport const UnauthorizedView: PayloadServerReactComponent<AdminViewComponent> = ({\n initPageResult,\n}) => {\n const {\n req: {\n i18n,\n payload: {\n config: {\n admin: {\n routes: { logout: logoutRoute },\n },\n },\n },\n },\n } = initPageResult\n\n return (\n <Gutter className={baseClass}>\n <h2>{i18n.t('error:unauthorized')}</h2>\n <p>{i18n.t('error:notAllowedToAccessPage')}</p>\n <Button\n className={`${baseClass}__button`}\n el=\"link\"\n Link={Link}\n size=\"large\"\n to={logoutRoute}\n >\n {i18n.t('authentication:logOut')}\n </Button>\n </Gutter>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,EAAEC,MAAM,QAAQ;AAC/B,OAAOC,UAAA,MAAgB;AACvB,OAAOC,KAAA,MAAW;AAIlB,MAAMC,IAAA,GAAQF,UAAA,CAAWG,OAAO,IAAIH,UAAA;AAEpC,SAASI,4BAA4B,QAAQ;AAE7C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,gBAAA,GAAoEA,CAAC;EAChFC;AAAc,CACf;EACC,MAAM;IACJC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,KAAA,EAAO;YACLC,MAAA,EAAQ;cAAEC,MAAA,EAAQC;YAAW;UAAE;QAChC;MACF;IACF;EACF,CACF,GAAGR,cAAA;EAEJ,oBACES,KAAA,CAACjB,MAAA;IAAOkB,SAAA,EAAWZ,SAAA;4BACjBa,IAAA,CAAC;gBAAIT,IAAA,CAAKU,CAAC,CAAC;qBACZD,IAAA,CAAC;gBAAGT,IAAA,CAAKU,CAAC,CAAC;qBACXD,IAAA,CAACpB,MAAA;MACCmB,SAAA,EAAW,GAAGZ,SAAA,UAAmB;MACjCe,EAAA,EAAG;MACHlB,IAAA,EAAMA,IAAA;MACNmB,IAAA,EAAK;MACLC,EAAA,EAAIP,WAAA;gBAEHN,IAAA,CAAKU,CAAC,CAAC;;;AAIhB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Button","formatAdminURL","LinkImport","React","FormHeader","Link","default","generateUnauthorizedMetadata","baseClass","UnauthorizedView","initPageResult","req","i18n","payload","config","admin","routes","logout","logoutRoute","adminRoute","_jsxs","className","_jsx","description","t","heading","el","size","to","path"],"sources":["../../../src/views/Unauthorized/index.tsx"],"sourcesContent":["import type { AdminViewComponent, PayloadServerReactComponent } from 'payload'\n\nimport { Button } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport './index.scss'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateUnauthorizedMetadata } from './meta.js'\n\nconst baseClass = 'unauthorized'\n\nexport const UnauthorizedView: PayloadServerReactComponent<AdminViewComponent> = ({\n initPageResult,\n}) => {\n const {\n req: {\n i18n,\n payload: {\n config: {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin: adminRoute },\n },\n },\n },\n } = initPageResult\n\n return (\n <div className={baseClass}>\n <FormHeader\n description={i18n.t('error:notAllowedToAccessPage')}\n heading={i18n.t('error:unauthorized')}\n />\n\n <Button\n className={`${baseClass}__button`}\n el=\"link\"\n Link={Link}\n size=\"large\"\n to={formatAdminURL({\n adminRoute,\n path: logoutRoute,\n })}\n >\n {i18n.t('authentication:logOut')}\n </Button>\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,QAAQ;AACvB,SAASC,cAAc,QAAQ;AAC/B,OAAOC,UAAA,MAAgB;AACvB,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAG3B,MAAMC,IAAA,GAAQH,UAAA,CAAWI,OAAO,IAAIJ,UAAA;AAEpC,SAASK,4BAA4B,QAAQ;AAE7C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,gBAAA,GAAoEA,CAAC;EAChFC;AAAc,CACf;EACC,MAAM;IACJC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,KAAA,EAAO;YACLC,MAAA,EAAQ;cAAEC,MAAA,EAAQC;YAAW;UAAE,CAChC;UACDF,MAAA,EAAQ;YAAED,KAAA,EAAOI;UAAU;QAAE;MAC9B;IACF;EACF,CACF,GAAGT,cAAA;EAEJ,oBACEU,KAAA,CAAC;IAAIC,SAAA,EAAWb,SAAA;4BACdc,IAAA,CAAClB,UAAA;MACCmB,WAAA,EAAaX,IAAA,CAAKY,CAAC,CAAC;MACpBC,OAAA,EAASb,IAAA,CAAKY,CAAC,CAAC;qBAGlBF,IAAA,CAACtB,MAAA;MACCqB,SAAA,EAAW,GAAGb,SAAA,UAAmB;MACjCkB,EAAA,EAAG;MACHrB,IAAA,EAAMA,IAAA;MACNsB,IAAA,EAAK;MACLC,EAAA,EAAI3B,cAAA,CAAe;QACjBkB,UAAA;QACAU,IAAA,EAAMX;MACR;gBAECN,IAAA,CAAKY,CAAC,CAAC;;;AAIhB","ignoreList":[]}
@@ -1,36 +1,9 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
- .unauthorized {
4
- margin-top: var(--base);
5
-
6
- & > * {
7
- &:first-child {
8
- margin-top: 0;
9
- }
10
- &:last-child {
11
- margin-bottom: 0;
12
- }
13
- }
14
-
15
- &__button {
16
- margin: 0;
17
- }
18
-
19
- &--margin-top-large {
20
- margin-top: calc(var(--base) * 2);
21
- }
22
-
23
- @include large-break {
24
- &--margin-top-large {
25
- margin-top: var(--base);
26
- }
27
- }
28
-
29
- @include small-break {
30
- margin-top: calc(var(--base) / 2);
31
-
32
- &--margin-top-large {
33
- margin-top: calc(var(--base) / 2);
3
+ @layer payload-default {
4
+ .unauthorized {
5
+ &__button {
6
+ margin: 0;
34
7
  }
35
8
  }
36
9
  }
@@ -0,0 +1,7 @@
1
+ type Props = {
2
+ message: string;
3
+ redirectTo: string;
4
+ };
5
+ export declare function ToastAndRedirect({ message, redirectTo }: Props): any;
6
+ export {};
7
+ //# sourceMappingURL=index.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.client.tsx"],"names":[],"mappings":"AAKA,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AACD,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,OAsB9D"}
@@ -0,0 +1,46 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { toast } from '@payloadcms/ui';
5
+ import { useRouter } from 'next/navigation.js';
6
+ import React, { useEffect } from 'react';
7
+ export function ToastAndRedirect(t0) {
8
+ const $ = _c(5);
9
+ const {
10
+ message,
11
+ redirectTo
12
+ } = t0;
13
+ const router = useRouter();
14
+ const hasToastedRef = React.useRef(false);
15
+ let t1;
16
+ let t2;
17
+ if ($[0] !== message || $[1] !== router || $[2] !== redirectTo) {
18
+ t1 = () => {
19
+ let timeoutID;
20
+ if (toast) {
21
+ timeoutID = setTimeout(() => {
22
+ toast.success(message);
23
+ hasToastedRef.current = true;
24
+ router.push(redirectTo);
25
+ }, 100);
26
+ }
27
+ return () => {
28
+ if (timeoutID) {
29
+ clearTimeout(timeoutID);
30
+ }
31
+ };
32
+ };
33
+ t2 = [router, redirectTo, message];
34
+ $[0] = message;
35
+ $[1] = router;
36
+ $[2] = redirectTo;
37
+ $[3] = t1;
38
+ $[4] = t2;
39
+ } else {
40
+ t1 = $[3];
41
+ t2 = $[4];
42
+ }
43
+ useEffect(t1, t2);
44
+ return null;
45
+ }
46
+ //# sourceMappingURL=index.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.client.js","names":["c","_c","toast","useRouter","React","useEffect","ToastAndRedirect","t0","$","message","redirectTo","router","hasToastedRef","useRef","t1","t2","timeoutID","current","push","clearTimeout"],"sources":["../../../src/views/Verify/index.client.tsx"],"sourcesContent":["'use client'\nimport { toast } from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useEffect } from 'react'\n\ntype Props = {\n message: string\n redirectTo: string\n}\nexport function ToastAndRedirect({ message, redirectTo }: Props) {\n const router = useRouter()\n const hasToastedRef = React.useRef(false)\n\n useEffect(() => {\n let timeoutID\n if (toast) {\n timeoutID = setTimeout(() => {\n toast.success(message)\n hasToastedRef.current = true\n router.push(redirectTo)\n }, 100)\n }\n\n return () => {\n if (timeoutID) {\n clearTimeout(timeoutID)\n }\n }\n }, [router, redirectTo, message])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AACA,SAASC,KAAK,QAAQ;AACtB,SAASC,SAAS,QAAQ;AAC1B,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAMjC,OAAO,SAAAC,iBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAA0B;IAAAQ,OAAA;IAAAC;EAAA,IAAAH,EAA8B;EAC7D,MAAAI,MAAA,GAAeR,SAAA;EACf,MAAAS,aAAA,GAAsBR,KAAA,CAAAS,MAAA,MAAa;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAP,CAAA,QAAAC,OAAA,IAAAD,CAAA,QAAAG,MAAA,IAAAH,CAAA,QAAAE,UAAA;IAEzBI,EAAA,GAAAA,CAAA;MACJE,GAAA,CAAAA,SAAA;MAAA,IAAAd,KAAA;QAEFc,SAAA,CAAAA,CAAA,CAAYA,aAAA,CAAAA,EAAA,CAAAA;UACVA,cAAcP,OAAA;UACdG,aAAA,CAAAK,OAAA;UACAN,MAAA,CAAAO,IAAA,CAAYR,UAAA;QAAA,MACX;MAJH;MAAA;QAAA,IAQIM,SAAA;UACFG,YAAA,CAAaH,SAAA;QAAA;MAAA;IAAA;IAGhBD,EAAA,IAACJ,MAAA,EAAQD,UAAA,EAAYD,OAAA;IAAQD,CAAA,MAAAC,OAAA;IAAAD,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAO,EAAA;EAAA;IAAAD,EAAA,GAAAN,CAAA;IAAAO,EAAA,GAAAP,CAAA;EAAA;EAfhCH,SAAA,CAAUS,EAeV,EAAGC,EAA6B;EAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,eAAe,WAAW,CAAA;AAEvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAsD3C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,eAAe,WAAW,CAAA;AAEvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA6D3C,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { formatAdminURL } from '@payloadcms/ui/shared';
3
- import { redirect } from 'next/navigation.js';
4
3
  import React from 'react';
5
4
  import { Logo } from '../../elements/Logo/index.js';
5
+ import { ToastAndRedirect } from './index.client.js';
6
6
  export const verifyBaseClass = 'verify';
7
7
  export { generateVerifyMetadata } from './meta.js';
8
8
  export const Verify = async ({
@@ -31,24 +31,25 @@ export const Verify = async ({
31
31
  }
32
32
  } = config;
33
33
  let textToRender;
34
+ let isVerified = false;
34
35
  try {
35
36
  await req.payload.verifyEmail({
36
37
  collection: collectionSlug,
37
38
  token
38
39
  });
39
- return redirect(formatAdminURL({
40
- adminRoute,
41
- path: '/login'
42
- }));
40
+ isVerified = true;
41
+ textToRender = req.t('authentication:emailVerified');
43
42
  } catch (e) {
44
- // already verified
45
- if (e?.status === 202) {
46
- redirect(formatAdminURL({
43
+ textToRender = req.t('authentication:unableToVerify');
44
+ }
45
+ if (isVerified) {
46
+ return /*#__PURE__*/_jsx(ToastAndRedirect, {
47
+ message: req.t('authentication:emailVerified'),
48
+ redirectTo: formatAdminURL({
47
49
  adminRoute,
48
50
  path: '/login'
49
- }));
50
- }
51
- textToRender = req.t('authentication:unableToVerify');
51
+ })
52
+ });
52
53
  }
53
54
  return /*#__PURE__*/_jsxs(React.Fragment, {
54
55
  children: [/*#__PURE__*/_jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["formatAdminURL","redirect","React","Logo","verifyBaseClass","generateVerifyMetadata","Verify","initPageResult","params","searchParams","collectionSlug","verify","token","segments","locale","permissions","req","i18n","payload","config","user","routes","admin","adminRoute","textToRender","verifyEmail","collection","path","e","status","t","_jsxs","Fragment","_jsx","className"],"sources":["../../../src/views/Verify/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport { Logo } from '../../elements/Logo/index.js'\nimport './index.scss'\n\nexport const verifyBaseClass = 'verify'\n\nexport { generateVerifyMetadata } from './meta.js'\n\nexport const Verify: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n // /:collectionSlug/verify/:token\n\n const [collectionSlug, verify, token] = params.segments\n const { locale, permissions, req } = initPageResult\n\n const {\n i18n,\n payload: { config },\n payload,\n user,\n } = req\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n let textToRender\n\n try {\n await req.payload.verifyEmail({\n collection: collectionSlug,\n token,\n })\n\n return redirect(formatAdminURL({ adminRoute, path: '/login' }))\n } catch (e) {\n // already verified\n if (e?.status === 202) {\n redirect(formatAdminURL({ adminRoute, path: '/login' }))\n }\n textToRender = req.t('authentication:unableToVerify')\n }\n\n return (\n <React.Fragment>\n <div className={`${verifyBaseClass}__brand`}>\n <Logo\n i18n={i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n user={user}\n />\n </div>\n <h2>{textToRender}</h2>\n </React.Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAElB,SAASC,IAAI,QAAQ;AAGrB,OAAO,MAAMC,eAAA,GAAkB;AAE/B,SAASC,sBAAsB,QAAQ;AAEvC,OAAO,MAAMC,MAAA,GAAmC,MAAAA,CAAO;EACrDC,cAAc;EACdC,MAAM;EACNC;AAAY,CACb;EACC;EAEA,MAAM,CAACC,cAAA,EAAgBC,MAAA,EAAQC,KAAA,CAAM,GAAGJ,MAAA,CAAOK,QAAQ;EACvD,MAAM;IAAEC,MAAM;IAAEC,WAAW;IAAEC;EAAG,CAAE,GAAGT,cAAA;EAErC,MAAM;IACJU,IAAI;IACJC,OAAA,EAAS;MAAEC;IAAM,CAAE;IACnBD,OAAO;IACPE;EAAI,CACL,GAAGJ,GAAA;EAEJ,MAAM;IACJK,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU;EAAE,CAC9B,GAAGJ,MAAA;EAEJ,IAAIK,YAAA;EAEJ,IAAI;IACF,MAAMR,GAAA,CAAIE,OAAO,CAACO,WAAW,CAAC;MAC5BC,UAAA,EAAYhB,cAAA;MACZE;IACF;IAEA,OAAOX,QAAA,CAASD,cAAA,CAAe;MAAEuB,UAAA;MAAYI,IAAA,EAAM;IAAS;EAC9D,EAAE,OAAOC,CAAA,EAAG;IACV;IACA,IAAIA,CAAA,EAAGC,MAAA,KAAW,KAAK;MACrB5B,QAAA,CAASD,cAAA,CAAe;QAAEuB,UAAA;QAAYI,IAAA,EAAM;MAAS;IACvD;IACAH,YAAA,GAAeR,GAAA,CAAIc,CAAC,CAAC;EACvB;EAEA,oBACEC,KAAA,CAAC7B,KAAA,CAAM8B,QAAQ;4BACbC,IAAA,CAAC;MAAIC,SAAA,EAAW,GAAG9B,eAAA,SAAwB;gBACzC,aAAA6B,IAAA,CAAC9B,IAAA;QACCc,IAAA,EAAMA,IAAA;QACNH,MAAA,EAAQA,MAAA;QACRN,MAAA,EAAQA,MAAA;QACRU,OAAA,EAASA,OAAA;QACTH,WAAA,EAAaA,WAAA;QACbN,YAAA,EAAcA,YAAA;QACdW,IAAA,EAAMA;;qBAGVa,IAAA,CAAC;gBAAIT;;;AAGX","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["formatAdminURL","React","Logo","ToastAndRedirect","verifyBaseClass","generateVerifyMetadata","Verify","initPageResult","params","searchParams","collectionSlug","verify","token","segments","locale","permissions","req","i18n","payload","config","user","routes","admin","adminRoute","textToRender","isVerified","verifyEmail","collection","t","e","_jsx","message","redirectTo","path","_jsxs","Fragment","className"],"sources":["../../../src/views/Verify/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { Logo } from '../../elements/Logo/index.js'\nimport { ToastAndRedirect } from './index.client.js'\nimport './index.scss'\n\nexport const verifyBaseClass = 'verify'\n\nexport { generateVerifyMetadata } from './meta.js'\n\nexport const Verify: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n // /:collectionSlug/verify/:token\n\n const [collectionSlug, verify, token] = params.segments\n const { locale, permissions, req } = initPageResult\n\n const {\n i18n,\n payload: { config },\n payload,\n user,\n } = req\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n let textToRender\n let isVerified = false\n\n try {\n await req.payload.verifyEmail({\n collection: collectionSlug,\n token,\n })\n\n isVerified = true\n textToRender = req.t('authentication:emailVerified')\n } catch (e) {\n textToRender = req.t('authentication:unableToVerify')\n }\n\n if (isVerified) {\n return (\n <ToastAndRedirect\n message={req.t('authentication:emailVerified')}\n redirectTo={formatAdminURL({ adminRoute, path: '/login' })}\n />\n )\n }\n\n return (\n <React.Fragment>\n <div className={`${verifyBaseClass}__brand`}>\n <Logo\n i18n={i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n user={user}\n />\n </div>\n <h2>{textToRender}</h2>\n </React.Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,IAAI,QAAQ;AACrB,SAASC,gBAAgB,QAAQ;AAGjC,OAAO,MAAMC,eAAA,GAAkB;AAE/B,SAASC,sBAAsB,QAAQ;AAEvC,OAAO,MAAMC,MAAA,GAAmC,MAAAA,CAAO;EACrDC,cAAc;EACdC,MAAM;EACNC;AAAY,CACb;EACC;EAEA,MAAM,CAACC,cAAA,EAAgBC,MAAA,EAAQC,KAAA,CAAM,GAAGJ,MAAA,CAAOK,QAAQ;EACvD,MAAM;IAAEC,MAAM;IAAEC,WAAW;IAAEC;EAAG,CAAE,GAAGT,cAAA;EAErC,MAAM;IACJU,IAAI;IACJC,OAAA,EAAS;MAAEC;IAAM,CAAE;IACnBD,OAAO;IACPE;EAAI,CACL,GAAGJ,GAAA;EAEJ,MAAM;IACJK,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU;EAAE,CAC9B,GAAGJ,MAAA;EAEJ,IAAIK,YAAA;EACJ,IAAIC,UAAA,GAAa;EAEjB,IAAI;IACF,MAAMT,GAAA,CAAIE,OAAO,CAACQ,WAAW,CAAC;MAC5BC,UAAA,EAAYjB,cAAA;MACZE;IACF;IAEAa,UAAA,GAAa;IACbD,YAAA,GAAeR,GAAA,CAAIY,CAAC,CAAC;EACvB,EAAE,OAAOC,CAAA,EAAG;IACVL,YAAA,GAAeR,GAAA,CAAIY,CAAC,CAAC;EACvB;EAEA,IAAIH,UAAA,EAAY;IACd,oBACEK,IAAA,CAAC3B,gBAAA;MACC4B,OAAA,EAASf,GAAA,CAAIY,CAAC,CAAC;MACfI,UAAA,EAAYhC,cAAA,CAAe;QAAEuB,UAAA;QAAYU,IAAA,EAAM;MAAS;;EAG9D;EAEA,oBACEC,KAAA,CAACjC,KAAA,CAAMkC,QAAQ;4BACbL,IAAA,CAAC;MAAIM,SAAA,EAAW,GAAGhC,eAAA,SAAwB;gBACzC,aAAA0B,IAAA,CAAC5B,IAAA;QACCe,IAAA,EAAMA,IAAA;QACNH,MAAA,EAAQA,MAAA;QACRN,MAAA,EAAQA,MAAA;QACRU,OAAA,EAASA,OAAA;QACTH,WAAA,EAAaA,WAAA;QACbN,YAAA,EAAcA,YAAA;QACdW,IAAA,EAAMA;;qBAGVU,IAAA,CAAC;gBAAIN;;;AAGX","ignoreList":[]}