@payloadcms/next 3.0.0-alpha.64 → 3.0.0-alpha.66

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 (157) hide show
  1. package/dist/cjs/withPayload.cjs +2 -1
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/exports/utilities.d.ts +3 -1
  4. package/dist/exports/utilities.d.ts.map +1 -1
  5. package/dist/exports/utilities.js +3 -1
  6. package/dist/exports/utilities.js.map +1 -1
  7. package/dist/{next-fileupload → fetchAPI-multipart}/fileFactory.d.ts +2 -2
  8. package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -0
  9. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -0
  10. package/dist/{next-fileupload → fetchAPI-multipart}/handlers.d.ts +2 -2
  11. package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -0
  12. package/dist/fetchAPI-multipart/handlers.js.map +1 -0
  13. package/dist/{next-fileupload → fetchAPI-multipart}/index.d.ts +8 -8
  14. package/dist/fetchAPI-multipart/index.d.ts.map +1 -0
  15. package/dist/{next-fileupload → fetchAPI-multipart}/index.js +1 -1
  16. package/dist/fetchAPI-multipart/index.js.map +1 -0
  17. package/dist/fetchAPI-multipart/isEligibleRequest.d.ts.map +1 -0
  18. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -0
  19. package/dist/fetchAPI-multipart/processMultipart.d.ts +8 -0
  20. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -0
  21. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -0
  22. package/dist/fetchAPI-multipart/processNested.d.ts.map +1 -0
  23. package/dist/{next-fileupload → fetchAPI-multipart}/processNested.js +2 -1
  24. package/dist/fetchAPI-multipart/processNested.js.map +1 -0
  25. package/dist/fetchAPI-multipart/uploadTimer.d.ts.map +1 -0
  26. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -0
  27. package/dist/{next-fileupload → fetchAPI-multipart}/utilities.d.ts +4 -4
  28. package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -0
  29. package/dist/fetchAPI-multipart/utilities.js.map +1 -0
  30. package/dist/fetchAPI-stream-file/index.d.ts.map +1 -0
  31. package/dist/fetchAPI-stream-file/index.js.map +1 -0
  32. package/dist/prod/styles.css +1 -1
  33. package/dist/routes/graphql/handler.d.ts.map +1 -1
  34. package/dist/routes/graphql/handler.js +13 -5
  35. package/dist/routes/graphql/handler.js.map +1 -1
  36. package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
  37. package/dist/routes/rest/auth/registerFirstUser.js +0 -9
  38. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  39. package/dist/routes/rest/buildFormState.d.ts +3 -3
  40. package/dist/routes/rest/buildFormState.d.ts.map +1 -1
  41. package/dist/routes/rest/buildFormState.js +30 -11
  42. package/dist/routes/rest/buildFormState.js.map +1 -1
  43. package/dist/routes/rest/files/checkFileAccess.d.ts +2 -2
  44. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  45. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  46. package/dist/routes/rest/files/getFile.d.ts +2 -2
  47. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  48. package/dist/routes/rest/files/getFile.js +3 -3
  49. package/dist/routes/rest/files/getFile.js.map +1 -1
  50. package/dist/routes/rest/index.d.ts.map +1 -1
  51. package/dist/routes/rest/index.js +275 -210
  52. package/dist/routes/rest/index.js.map +1 -1
  53. package/dist/routes/rest/routeError.d.ts +2 -2
  54. package/dist/routes/rest/routeError.d.ts.map +1 -1
  55. package/dist/routes/rest/routeError.js +7 -7
  56. package/dist/routes/rest/routeError.js.map +1 -1
  57. package/dist/routes/rest/types.d.ts +7 -7
  58. package/dist/routes/rest/types.d.ts.map +1 -1
  59. package/dist/routes/rest/types.js.map +1 -1
  60. package/dist/utilities/addDataAndFileToRequest.d.ts +11 -0
  61. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -0
  62. package/dist/utilities/addDataAndFileToRequest.js +74 -0
  63. package/dist/utilities/addDataAndFileToRequest.js.map +1 -0
  64. package/dist/utilities/addLocalesToRequest.d.ts +20 -0
  65. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -0
  66. package/dist/utilities/addLocalesToRequest.js +41 -0
  67. package/dist/utilities/addLocalesToRequest.js.map +1 -0
  68. package/dist/utilities/buildFieldSchemaMap/index.d.ts +2 -2
  69. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  70. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  71. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  72. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +3 -0
  73. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  74. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  75. package/dist/utilities/createPayloadRequest.js +15 -28
  76. package/dist/utilities/createPayloadRequest.js.map +1 -1
  77. package/dist/utilities/getDataAndFile.d.ts +2 -2
  78. package/dist/utilities/getDataAndFile.d.ts.map +1 -1
  79. package/dist/utilities/getDataAndFile.js +2 -2
  80. package/dist/utilities/getDataAndFile.js.map +1 -1
  81. package/dist/utilities/getPayloadHMR.d.ts +2 -1
  82. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  83. package/dist/utilities/getPayloadHMR.js +22 -19
  84. package/dist/utilities/getPayloadHMR.js.map +1 -1
  85. package/dist/utilities/headersWithCors.d.ts +2 -2
  86. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  87. package/dist/utilities/headersWithCors.js +2 -2
  88. package/dist/utilities/headersWithCors.js.map +1 -1
  89. package/dist/utilities/initPage.d.ts.map +1 -1
  90. package/dist/utilities/initPage.js +2 -1
  91. package/dist/utilities/initPage.js.map +1 -1
  92. package/dist/views/Account/index.d.ts.map +1 -1
  93. package/dist/views/Account/index.js +2 -1
  94. package/dist/views/Account/index.js.map +1 -1
  95. package/dist/views/CreateFirstUser/index.client.d.ts +3 -3
  96. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  97. package/dist/views/CreateFirstUser/index.client.js +48 -6
  98. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  99. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  100. package/dist/views/CreateFirstUser/index.js +9 -46
  101. package/dist/views/CreateFirstUser/index.js.map +1 -1
  102. package/dist/views/CreateFirstUser/index.scss +2 -12
  103. package/dist/views/Document/index.d.ts.map +1 -1
  104. package/dist/views/Document/index.js +2 -1
  105. package/dist/views/Document/index.js.map +1 -1
  106. package/dist/views/Edit/Default/Auth/APIKey.d.ts +1 -0
  107. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  108. package/dist/views/Edit/Default/Auth/APIKey.js +13 -6
  109. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  110. package/dist/views/Edit/Default/Auth/index.js +2 -1
  111. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  112. package/dist/views/Edit/Default/index.js +1 -1
  113. package/dist/views/Edit/Default/index.js.map +1 -1
  114. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  115. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +3 -0
  116. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  117. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  118. package/dist/views/Login/LoginForm/index.js +6 -0
  119. package/dist/views/Login/LoginForm/index.js.map +1 -1
  120. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  121. package/dist/views/Version/Restore/index.js +11 -8
  122. package/dist/views/Version/Restore/index.js.map +1 -1
  123. package/dist/views/Version/Restore/index.scss +4 -2
  124. package/dist/withPayload.d.ts.map +1 -1
  125. package/dist/withPayload.js +2 -1
  126. package/dist/withPayload.js.map +1 -1
  127. package/package.json +34 -35
  128. package/dist/next-fileupload/fileFactory.d.ts.map +0 -1
  129. package/dist/next-fileupload/fileFactory.js.map +0 -1
  130. package/dist/next-fileupload/handlers.d.ts.map +0 -1
  131. package/dist/next-fileupload/handlers.js.map +0 -1
  132. package/dist/next-fileupload/index.d.ts.map +0 -1
  133. package/dist/next-fileupload/index.js.map +0 -1
  134. package/dist/next-fileupload/isEligibleRequest.d.ts.map +0 -1
  135. package/dist/next-fileupload/isEligibleRequest.js.map +0 -1
  136. package/dist/next-fileupload/processMultipart.d.ts +0 -8
  137. package/dist/next-fileupload/processMultipart.d.ts.map +0 -1
  138. package/dist/next-fileupload/processMultipart.js.map +0 -1
  139. package/dist/next-fileupload/processNested.d.ts.map +0 -1
  140. package/dist/next-fileupload/processNested.js.map +0 -1
  141. package/dist/next-fileupload/uploadTimer.d.ts.map +0 -1
  142. package/dist/next-fileupload/uploadTimer.js.map +0 -1
  143. package/dist/next-fileupload/utilities.d.ts.map +0 -1
  144. package/dist/next-fileupload/utilities.js.map +0 -1
  145. package/dist/next-stream-file/index.d.ts.map +0 -1
  146. package/dist/next-stream-file/index.js.map +0 -1
  147. /package/dist/{next-fileupload → fetchAPI-multipart}/fileFactory.js +0 -0
  148. /package/dist/{next-fileupload → fetchAPI-multipart}/handlers.js +0 -0
  149. /package/dist/{next-fileupload → fetchAPI-multipart}/isEligibleRequest.d.ts +0 -0
  150. /package/dist/{next-fileupload → fetchAPI-multipart}/isEligibleRequest.js +0 -0
  151. /package/dist/{next-fileupload → fetchAPI-multipart}/processMultipart.js +0 -0
  152. /package/dist/{next-fileupload → fetchAPI-multipart}/processNested.d.ts +0 -0
  153. /package/dist/{next-fileupload → fetchAPI-multipart}/uploadTimer.d.ts +0 -0
  154. /package/dist/{next-fileupload → fetchAPI-multipart}/uploadTimer.js +0 -0
  155. /package/dist/{next-fileupload → fetchAPI-multipart}/utilities.js +0 -0
  156. /package/dist/{next-stream-file → fetchAPI-stream-file}/index.d.ts +0 -0
  157. /package/dist/{next-stream-file → fetchAPI-stream-file}/index.js +0 -0
@@ -1,13 +1,9 @@
1
- import { Form } from '@payloadcms/ui/forms/Form';
2
- import { FormSubmit } from '@payloadcms/ui/forms/Submit';
3
1
  import { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema';
4
- import { WithServerSideProps as WithServerSidePropsGeneric } from '@payloadcms/ui/providers/ComponentMap';
5
- import { mapFields } from '@payloadcms/ui/utilities/buildComponentMap';
6
2
  import React from 'react';
7
- import { CreateFirstUserFields } from './index.client.js';
3
+ import { CreateFirstUserClient } from './index.client.js';
8
4
  export { generateCreateFirstUserMetadata } from './meta.js';
9
5
  export const CreateFirstUserView = async ({ initPageResult })=>{
10
- const { req, req: { i18n, payload, payload: { config, config: { admin: { user: userSlug }, routes: { admin: adminRoute, api: apiRoute }, serverURL } } } } = initPageResult;
6
+ const { req, req: { payload: { config: { admin: { user: userSlug } } } } } = initPageResult;
11
7
  const fields = [
12
8
  {
13
9
  name: 'email',
@@ -28,53 +24,20 @@ export const CreateFirstUserView = async ({ initPageResult })=>{
28
24
  required: true
29
25
  }
30
26
  ];
31
- const WithServerSideProps = ({ Component, ...rest })=>{
32
- return /*#__PURE__*/ React.createElement(WithServerSidePropsGeneric, {
33
- Component: Component,
34
- payload: payload,
35
- ...rest
36
- });
37
- };
38
- const createFirstUserFieldMap = mapFields({
39
- WithServerSideProps,
40
- config,
41
- fieldSchema: fields,
42
- i18n,
43
- parentPath: userSlug
44
- }).map((field)=>{
45
- // Transform field types for the password and confirm-password fields
46
- if (field.name === 'password') {
47
- const type = 'password';
48
- return {
49
- ...field,
50
- type
51
- };
52
- }
53
- if (field.name === 'confirm-password') {
54
- const type = 'confirmPassword';
55
- return {
56
- ...field,
57
- type
58
- };
59
- }
60
- return field;
61
- });
62
27
  const formState = await buildStateFromSchema({
63
28
  fieldSchema: fields,
64
29
  operation: 'create',
65
- preferences: {},
30
+ preferences: {
31
+ fields: {}
32
+ },
66
33
  req
67
34
  });
68
- return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("h1", null, req.t('general:welcome')), /*#__PURE__*/ React.createElement("p", null, req.t('authentication:beginCreateFirstUser')), /*#__PURE__*/ React.createElement(Form, {
69
- action: `${serverURL}${apiRoute}/${userSlug}/first-register`,
35
+ return /*#__PURE__*/ React.createElement("div", {
36
+ className: "create-first-user"
37
+ }, /*#__PURE__*/ React.createElement("h1", null, req.t('general:welcome')), /*#__PURE__*/ React.createElement("p", null, req.t('authentication:beginCreateFirstUser')), /*#__PURE__*/ React.createElement(CreateFirstUserClient, {
70
38
  initialState: formState,
71
- method: "POST",
72
- redirect: adminRoute,
73
- validationOperation: "create"
74
- }, /*#__PURE__*/ React.createElement(CreateFirstUserFields, {
75
- createFirstUserFieldMap: createFirstUserFieldMap,
76
39
  userSlug: userSlug
77
- }), /*#__PURE__*/ React.createElement(FormSubmit, null, req.t('general:create'))));
40
+ }));
78
41
  };
79
42
 
80
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type { FieldTypes } from 'payload/config'\nimport type { Field, WithServerSideProps as WithServerSidePropsType } from 'payload/types'\nimport type { AdminViewProps } from 'payload/types'\n\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { FormSubmit } from '@payloadcms/ui/forms/Submit'\nimport { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema'\nimport { WithServerSideProps as WithServerSidePropsGeneric } from '@payloadcms/ui/providers/ComponentMap'\nimport { mapFields } from '@payloadcms/ui/utilities/buildComponentMap'\nimport React from 'react'\n\nimport { CreateFirstUserFields } from './index.client.js'\nimport './index.scss'\n\nexport { generateCreateFirstUserMetadata } from './meta.js'\n\nexport const CreateFirstUserView: React.FC<AdminViewProps> = async ({ initPageResult }) => {\n const {\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n },\n } = initPageResult\n\n const fields: Field[] = [\n {\n name: 'email',\n type: 'email',\n label: req.t('general:emailAddress'),\n required: true,\n },\n {\n name: 'password',\n type: 'text',\n label: req.t('general:password'),\n required: true,\n },\n {\n name: 'confirm-password',\n type: 'text',\n label: req.t('authentication:confirmPassword'),\n required: true,\n },\n ]\n\n const WithServerSideProps: WithServerSidePropsType = ({ Component, ...rest }) => {\n return <WithServerSidePropsGeneric Component={Component} payload={payload} {...rest} />\n }\n\n const createFirstUserFieldMap = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: fields,\n i18n,\n parentPath: userSlug,\n }).map((field) => {\n // Transform field types for the password and confirm-password fields\n if (field.name === 'password') {\n const type: keyof FieldTypes = 'password'\n\n return {\n ...field,\n type,\n }\n }\n if (field.name === 'confirm-password') {\n const type: keyof FieldTypes = 'confirmPassword'\n\n return {\n ...field,\n type,\n }\n }\n return field\n })\n\n const formState = await buildStateFromSchema({\n fieldSchema: fields,\n operation: 'create',\n preferences: {},\n req,\n })\n\n return (\n <React.Fragment>\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/first-register`}\n initialState={formState}\n method=\"POST\"\n redirect={adminRoute}\n validationOperation=\"create\"\n >\n <CreateFirstUserFields\n createFirstUserFieldMap={createFirstUserFieldMap}\n userSlug={userSlug}\n />\n <FormSubmit>{req.t('general:create')}</FormSubmit>\n </Form>\n </React.Fragment>\n )\n}\n"],"names":["Form","FormSubmit","buildStateFromSchema","WithServerSideProps","WithServerSidePropsGeneric","mapFields","React","CreateFirstUserFields","generateCreateFirstUserMetadata","CreateFirstUserView","initPageResult","req","i18n","payload","config","admin","user","userSlug","routes","adminRoute","api","apiRoute","serverURL","fields","name","type","label","t","required","Component","rest","createFirstUserFieldMap","fieldSchema","parentPath","map","field","formState","operation","preferences","Fragment","h1","p","action","initialState","method","redirect","validationOperation"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,IAAI,QAAQ,4BAA2B;AAChD,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,oBAAoB,QAAQ,4CAA2C;AAChF,SAASC,uBAAuBC,0BAA0B,QAAQ,wCAAuC;AACzG,SAASC,SAAS,QAAQ,6CAA4C;AACtE,OAAOC,WAAW,QAAO;AAEzB,SAASC,qBAAqB,QAAQ,oBAAmB;AAGzD,SAASC,+BAA+B,QAAQ,YAAW;AAE3D,OAAO,MAAMC,sBAAgD,OAAO,EAAEC,cAAc,EAAE;IACpF,MAAM,EACJC,GAAG,EACHA,KAAK,EACHC,IAAI,EACJC,OAAO,EACPA,SAAS,EACPC,MAAM,EACNA,QAAQ,EACNC,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EACzBC,QAAQ,EAAEH,OAAOI,UAAU,EAAEC,KAAKC,QAAQ,EAAE,EAC5CC,SAAS,EACV,EACF,EACF,EACF,GAAGZ;IAEJ,MAAMa,SAAkB;QACtB;YACEC,MAAM;YACNC,MAAM;YACNC,OAAOf,IAAIgB,CAAC,CAAC;YACbC,UAAU;QACZ;QACA;YACEJ,MAAM;YACNC,MAAM;YACNC,OAAOf,IAAIgB,CAAC,CAAC;YACbC,UAAU;QACZ;QACA;YACEJ,MAAM;YACNC,MAAM;YACNC,OAAOf,IAAIgB,CAAC,CAAC;YACbC,UAAU;QACZ;KACD;IAED,MAAMzB,sBAA+C,CAAC,EAAE0B,SAAS,EAAE,GAAGC,MAAM;QAC1E,qBAAO,oBAAC1B;YAA2ByB,WAAWA;YAAWhB,SAASA;YAAU,GAAGiB,IAAI;;IACrF;IAEA,MAAMC,0BAA0B1B,UAAU;QACxCF;QACAW;QACAkB,aAAaT;QACbX;QACAqB,YAAYhB;IACd,GAAGiB,GAAG,CAAC,CAACC;QACN,qEAAqE;QACrE,IAAIA,MAAMX,IAAI,KAAK,YAAY;YAC7B,MAAMC,OAAyB;YAE/B,OAAO;gBACL,GAAGU,KAAK;gBACRV;YACF;QACF;QACA,IAAIU,MAAMX,IAAI,KAAK,oBAAoB;YACrC,MAAMC,OAAyB;YAE/B,OAAO;gBACL,GAAGU,KAAK;gBACRV;YACF;QACF;QACA,OAAOU;IACT;IAEA,MAAMC,YAAY,MAAMlC,qBAAqB;QAC3C8B,aAAaT;QACbc,WAAW;QACXC,aAAa,CAAC;QACd3B;IACF;IAEA,qBACE,oBAACL,MAAMiC,QAAQ,sBACb,oBAACC,YAAI7B,IAAIgB,CAAC,CAAC,mCACX,oBAACc,WAAG9B,IAAIgB,CAAC,CAAC,uDACV,oBAAC3B;QACC0C,QAAQ,CAAC,EAAEpB,UAAU,EAAED,SAAS,CAAC,EAAEJ,SAAS,eAAe,CAAC;QAC5D0B,cAAcP;QACdQ,QAAO;QACPC,UAAU1B;QACV2B,qBAAoB;qBAEpB,oBAACvC;QACCwB,yBAAyBA;QACzBd,UAAUA;sBAEZ,oBAAChB,kBAAYU,IAAIgB,CAAC,CAAC;AAI3B,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type { AdminViewProps, Field } from 'payload/types'\n\nimport { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema'\nimport React from 'react'\n\nimport { CreateFirstUserClient } from './index.client.js'\nimport './index.scss'\n\nexport { generateCreateFirstUserMetadata } from './meta.js'\n\nexport const CreateFirstUserView: React.FC<AdminViewProps> = async ({ initPageResult }) => {\n const {\n req,\n req: {\n payload: {\n config: {\n admin: { user: userSlug },\n },\n },\n },\n } = initPageResult\n\n const fields: Field[] = [\n {\n name: 'email',\n type: 'email',\n label: req.t('general:emailAddress'),\n required: true,\n },\n {\n name: 'password',\n type: 'text',\n label: req.t('general:password'),\n required: true,\n },\n {\n name: 'confirm-password',\n type: 'text',\n label: req.t('authentication:confirmPassword'),\n required: true,\n },\n ]\n\n const formState = await buildStateFromSchema({\n fieldSchema: fields,\n operation: 'create',\n preferences: { fields: {} },\n req,\n })\n\n return (\n <div className=\"create-first-user\">\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <CreateFirstUserClient initialState={formState} userSlug={userSlug} />\n </div>\n )\n}\n"],"names":["buildStateFromSchema","React","CreateFirstUserClient","generateCreateFirstUserMetadata","CreateFirstUserView","initPageResult","req","payload","config","admin","user","userSlug","fields","name","type","label","t","required","formState","fieldSchema","operation","preferences","div","className","h1","p","initialState"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,oBAAoB,QAAQ,4CAA2C;AAChF,OAAOC,WAAW,QAAO;AAEzB,SAASC,qBAAqB,QAAQ,oBAAmB;AAGzD,SAASC,+BAA+B,QAAQ,YAAW;AAE3D,OAAO,MAAMC,sBAAgD,OAAO,EAAEC,cAAc,EAAE;IACpF,MAAM,EACJC,GAAG,EACHA,KAAK,EACHC,SAAS,EACPC,QAAQ,EACNC,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EAC1B,EACF,EACF,EACF,GAAGN;IAEJ,MAAMO,SAAkB;QACtB;YACEC,MAAM;YACNC,MAAM;YACNC,OAAOT,IAAIU,CAAC,CAAC;YACbC,UAAU;QACZ;QACA;YACEJ,MAAM;YACNC,MAAM;YACNC,OAAOT,IAAIU,CAAC,CAAC;YACbC,UAAU;QACZ;QACA;YACEJ,MAAM;YACNC,MAAM;YACNC,OAAOT,IAAIU,CAAC,CAAC;YACbC,UAAU;QACZ;KACD;IAED,MAAMC,YAAY,MAAMlB,qBAAqB;QAC3CmB,aAAaP;QACbQ,WAAW;QACXC,aAAa;YAAET,QAAQ,CAAC;QAAE;QAC1BN;IACF;IAEA,qBACE,oBAACgB;QAAIC,WAAU;qBACb,oBAACC,YAAIlB,IAAIU,CAAC,CAAC,mCACX,oBAACS,WAAGnB,IAAIU,CAAC,CAAC,uDACV,oBAACd;QAAsBwB,cAAcR;QAAWP,UAAUA;;AAGhE,EAAC"}
@@ -1,15 +1,5 @@
1
1
  .create-first-user {
2
- display: flex;
3
- align-items: center;
4
- flex-wrap: wrap;
5
- min-height: 100vh;
6
-
7
- &__wrap {
8
- width: 100%;
9
- margin: 0 auto var(--base);
10
-
11
- svg {
12
- width: 100%;
13
- }
2
+ > form > .field-type {
3
+ margin-bottom: var(--base);
14
4
  }
15
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAUnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAMrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA4M7C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAUnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAMrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA6M7C,CAAA"}
@@ -127,7 +127,8 @@ export const Document = async ({ initPageResult, params, searchParams })=>{
127
127
  collectionConfig: collectionConfig,
128
128
  config: payload.config,
129
129
  globalConfig: globalConfig,
130
- i18n: i18n
130
+ i18n: i18n,
131
+ permissions: permissions
131
132
  }), /*#__PURE__*/ React.createElement(HydrateClientUser, {
132
133
  permissions: permissions,
133
134
  user: user
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type { EditViewComponent } from 'payload/config'\nimport type { AdminViewComponent, ServerSideEditViewProps } from 'payload/types'\nimport type { DocumentPermissions } from 'payload/types'\nimport type { AdminViewProps } from 'payload/types'\n\nimport { DocumentHeader } from '@payloadcms/ui/elements/DocumentHeader'\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent'\nimport { DocumentInfoProvider } from '@payloadcms/ui/providers/DocumentInfo'\nimport { EditDepthProvider } from '@payloadcms/ui/providers/EditDepth'\nimport { FormQueryParamsProvider } from '@payloadcms/ui/providers/FormQueryParams'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { docAccessOperation } from 'payload/operations'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport const Document: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n\n const isEditing = Boolean(globalSlug || (collectionSlug && !!id))\n\n let ViewOverride: EditViewComponent\n let CustomView: EditViewComponent\n let DefaultView: EditViewComponent\n let ErrorView: AdminViewComponent\n\n let docPermissions: DocumentPermissions\n let hasSavePermission: boolean\n let apiURL: string\n let action: string\n\n if (collectionConfig) {\n if (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n notFound()\n }\n\n try {\n docPermissions = await docAccessOperation({\n id,\n collection: {\n config: collectionConfig,\n },\n req,\n })\n } catch (error) {\n notFound()\n }\n\n action = `${serverURL}${apiRoute}/${collectionSlug}${isEditing ? `/${id}` : ''}`\n\n hasSavePermission =\n (isEditing && permissions?.collections?.[collectionSlug]?.update?.permission) ||\n (!isEditing && permissions?.collections?.[collectionSlug]?.create?.permission)\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}?locale=${locale.code}${\n collectionConfig.versions?.drafts ? '&draft=true' : ''\n }`\n\n const editConfig = collectionConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = collectionViews?.CustomView\n DefaultView = collectionViews?.DefaultView\n ErrorView = collectionViews?.ErrorView\n }\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n notFound()\n }\n\n docPermissions = permissions?.globals?.[globalSlug]\n hasSavePermission = isEditing && docPermissions?.update?.permission\n action = `${serverURL}${apiRoute}/globals/${globalSlug}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}?locale=${locale.code}${\n globalConfig.versions?.drafts ? '&draft=true' : ''\n }`\n\n const editConfig = globalConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = globalViews?.CustomView\n DefaultView = globalViews?.DefaultView\n ErrorView = globalViews?.ErrorView\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\n\n if (shouldAutosave && !id && collectionSlug) {\n const doc = await payload.create({\n collection: collectionSlug,\n data: {},\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale: locale.code,\n req,\n user,\n })\n\n if (doc?.id) {\n const redirectURL = `${serverURL}${adminRoute}/collections/${collectionSlug}/${doc.id}`\n redirect(redirectURL)\n } else {\n notFound()\n }\n }\n\n const viewComponentProps: ServerSideEditViewProps = {\n initPageResult,\n params,\n routeSegments: segments,\n searchParams,\n }\n\n return (\n <DocumentInfoProvider\n action={action}\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n disableActions={false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n >\n {!ViewOverride && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n config={payload.config}\n globalConfig={globalConfig}\n i18n={i18n}\n />\n )}\n <HydrateClientUser permissions={permissions} user={user} />\n <EditDepthProvider depth={1} key={`${collectionSlug || globalSlug}-${locale.code}`}>\n <FormQueryParamsProvider\n initialParams={{\n depth: 0,\n 'fallback-locale': 'null',\n locale: locale.code,\n uploadEdits: undefined,\n }}\n >\n {ErrorView ? (\n <ErrorView initPageResult={initPageResult} searchParams={searchParams} />\n ) : (\n <RenderCustomComponent\n CustomComponent={ViewOverride || CustomView}\n DefaultComponent={DefaultView}\n componentProps={viewComponentProps}\n />\n )}\n </FormQueryParamsProvider>\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n}\n"],"names":["DocumentHeader","HydrateClientUser","RenderCustomComponent","DocumentInfoProvider","EditDepthProvider","FormQueryParamsProvider","notFound","redirect","docAccessOperation","React","NotFoundView","getMetaBySegment","getViewsFromConfig","generateMetadata","args","Document","initPageResult","params","searchParams","collectionConfig","docID","id","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","isEditing","Boolean","ViewOverride","CustomView","DefaultView","ErrorView","docPermissions","hasSavePermission","apiURL","action","collections","find","visibleSlug","collection","error","update","permission","create","code","versions","drafts","editConfig","components","views","Edit","collectionViews","routeSegments","globals","globalViews","shouldAutosave","autosave","doc","data","depth","draft","fallbackLocale","redirectURL","viewComponentProps","disableActions","key","initialParams","uploadEdits","CustomComponent","DefaultComponent","componentProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type { EditViewComponent } from 'payload/config'\nimport type { AdminViewComponent, ServerSideEditViewProps } from 'payload/types'\nimport type { DocumentPermissions } from 'payload/types'\nimport type { AdminViewProps } from 'payload/types'\n\nimport { DocumentHeader } from '@payloadcms/ui/elements/DocumentHeader'\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent'\nimport { DocumentInfoProvider } from '@payloadcms/ui/providers/DocumentInfo'\nimport { EditDepthProvider } from '@payloadcms/ui/providers/EditDepth'\nimport { FormQueryParamsProvider } from '@payloadcms/ui/providers/FormQueryParams'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { docAccessOperation } from 'payload/operations'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport const Document: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n\n const isEditing = Boolean(globalSlug || (collectionSlug && !!id))\n\n let ViewOverride: EditViewComponent\n let CustomView: EditViewComponent\n let DefaultView: EditViewComponent\n let ErrorView: AdminViewComponent\n\n let docPermissions: DocumentPermissions\n let hasSavePermission: boolean\n let apiURL: string\n let action: string\n\n if (collectionConfig) {\n if (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n notFound()\n }\n\n try {\n docPermissions = await docAccessOperation({\n id,\n collection: {\n config: collectionConfig,\n },\n req,\n })\n } catch (error) {\n notFound()\n }\n\n action = `${serverURL}${apiRoute}/${collectionSlug}${isEditing ? `/${id}` : ''}`\n\n hasSavePermission =\n (isEditing && permissions?.collections?.[collectionSlug]?.update?.permission) ||\n (!isEditing && permissions?.collections?.[collectionSlug]?.create?.permission)\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}?locale=${locale.code}${\n collectionConfig.versions?.drafts ? '&draft=true' : ''\n }`\n\n const editConfig = collectionConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = collectionViews?.CustomView\n DefaultView = collectionViews?.DefaultView\n ErrorView = collectionViews?.ErrorView\n }\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n notFound()\n }\n\n docPermissions = permissions?.globals?.[globalSlug]\n hasSavePermission = isEditing && docPermissions?.update?.permission\n action = `${serverURL}${apiRoute}/globals/${globalSlug}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}?locale=${locale.code}${\n globalConfig.versions?.drafts ? '&draft=true' : ''\n }`\n\n const editConfig = globalConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = globalViews?.CustomView\n DefaultView = globalViews?.DefaultView\n ErrorView = globalViews?.ErrorView\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\n\n if (shouldAutosave && !id && collectionSlug) {\n const doc = await payload.create({\n collection: collectionSlug,\n data: {},\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale: locale.code,\n req,\n user,\n })\n\n if (doc?.id) {\n const redirectURL = `${serverURL}${adminRoute}/collections/${collectionSlug}/${doc.id}`\n redirect(redirectURL)\n } else {\n notFound()\n }\n }\n\n const viewComponentProps: ServerSideEditViewProps = {\n initPageResult,\n params,\n routeSegments: segments,\n searchParams,\n }\n\n return (\n <DocumentInfoProvider\n action={action}\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n disableActions={false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n >\n {!ViewOverride && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n config={payload.config}\n globalConfig={globalConfig}\n i18n={i18n}\n permissions={permissions}\n />\n )}\n <HydrateClientUser permissions={permissions} user={user} />\n <EditDepthProvider depth={1} key={`${collectionSlug || globalSlug}-${locale.code}`}>\n <FormQueryParamsProvider\n initialParams={{\n depth: 0,\n 'fallback-locale': 'null',\n locale: locale.code,\n uploadEdits: undefined,\n }}\n >\n {ErrorView ? (\n <ErrorView initPageResult={initPageResult} searchParams={searchParams} />\n ) : (\n <RenderCustomComponent\n CustomComponent={ViewOverride || CustomView}\n DefaultComponent={DefaultView}\n componentProps={viewComponentProps}\n />\n )}\n </FormQueryParamsProvider>\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n}\n"],"names":["DocumentHeader","HydrateClientUser","RenderCustomComponent","DocumentInfoProvider","EditDepthProvider","FormQueryParamsProvider","notFound","redirect","docAccessOperation","React","NotFoundView","getMetaBySegment","getViewsFromConfig","generateMetadata","args","Document","initPageResult","params","searchParams","collectionConfig","docID","id","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","isEditing","Boolean","ViewOverride","CustomView","DefaultView","ErrorView","docPermissions","hasSavePermission","apiURL","action","collections","find","visibleSlug","collection","error","update","permission","create","code","versions","drafts","editConfig","components","views","Edit","collectionViews","routeSegments","globals","globalViews","shouldAutosave","autosave","doc","data","depth","draft","fallbackLocale","redirectURL","viewComponentProps","disableActions","key","initialParams","uploadEdits","CustomComponent","DefaultComponent","componentProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  export declare const APIKey: React.FC<{
3
+ enabled: boolean;
3
4
  readOnly?: boolean;
4
5
  }>;
5
6
  //# sourceMappingURL=APIKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"APIKey.d.ts","sourceRoot":"","sources":["../../../../../src/views/Edit/Default/Auth/APIKey.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAO3D,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAwFnD,CAAA"}
1
+ {"version":3,"file":"APIKey.d.ts","sourceRoot":"","sources":["../../../../../src/views/Edit/Default/Auth/APIKey.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAO3D,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CA+FrE,CAAA"}
@@ -12,8 +12,8 @@ import { v4 as uuidv4 } from 'uuid';
12
12
  const path = 'apiKey';
13
13
  const baseClass = 'api-key';
14
14
  const fieldBaseClass = 'field-type';
15
- export const APIKey = ({ readOnly })=>{
16
- const [initialAPIKey, setInitialAPIKey] = useState(null);
15
+ export const APIKey = ({ enabled, readOnly })=>{
16
+ const [initialAPIKey] = useState(uuidv4());
17
17
  const [highlightedField, setHighlightedField] = useState(false);
18
18
  const { t } = useTranslation();
19
19
  const config = useConfig();
@@ -24,6 +24,9 @@ export const APIKey = ({ readOnly })=>{
24
24
  data: {},
25
25
  maxLength: 48,
26
26
  minLength: 24,
27
+ preferences: {
28
+ fields: {}
29
+ },
27
30
  req: {
28
31
  payload: {
29
32
  config
@@ -54,14 +57,15 @@ export const APIKey = ({ readOnly })=>{
54
57
  };
55
58
  const { setValue, value } = fieldType;
56
59
  useEffect(()=>{
57
- setInitialAPIKey(uuidv4());
58
- }, []);
59
- useEffect(()=>{
60
- if (!apiKeyValue) {
60
+ if (!apiKeyValue && enabled) {
61
61
  setValue(initialAPIKey);
62
62
  }
63
+ if (!enabled) {
64
+ setValue(null);
65
+ }
63
66
  }, [
64
67
  apiKeyValue,
68
+ enabled,
65
69
  setValue,
66
70
  initialAPIKey
67
71
  ]);
@@ -74,6 +78,9 @@ export const APIKey = ({ readOnly })=>{
74
78
  }, [
75
79
  highlightedField
76
80
  ]);
81
+ if (!enabled) {
82
+ return null;
83
+ }
77
84
  return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("div", {
78
85
  className: [
79
86
  fieldBaseClass,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/APIKey.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest } from 'payload/types'\n\nimport { CopyToClipboard } from '@payloadcms/ui/elements/CopyToClipboard'\nimport { GenerateConfirmation } from '@payloadcms/ui/elements/GenerateConfirmation'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFormFields } from '@payloadcms/ui/forms/Form'\nimport { useField } from '@payloadcms/ui/forms/useField'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { text } from 'payload/fields/validations'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nconst path = 'apiKey'\nconst baseClass = 'api-key'\nconst fieldBaseClass = 'field-type'\n\nexport const APIKey: React.FC<{ readOnly?: boolean }> = ({ readOnly }) => {\n const [initialAPIKey, setInitialAPIKey] = useState(null)\n const [highlightedField, setHighlightedField] = useState(false)\n const { t } = useTranslation()\n const config = useConfig()\n\n const apiKey = useFormFields(([fields]) => fields[path])\n\n const validate = (val) =>\n text(val, {\n name: 'apiKey',\n type: 'text',\n data: {},\n maxLength: 48,\n minLength: 24,\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequest,\n siblingData: {},\n })\n\n const apiKeyValue = apiKey?.value\n\n const APIKeyLabel = useMemo(\n () => (\n <div className={`${baseClass}__label`}>\n <span>API Key</span>\n <CopyToClipboard value={apiKeyValue as string} />\n </div>\n ),\n [apiKeyValue],\n )\n\n const fieldType = useField({\n path: 'apiKey',\n validate,\n })\n\n const highlightField = () => {\n if (highlightedField) {\n setHighlightedField(false)\n }\n setTimeout(() => {\n setHighlightedField(true)\n }, 1)\n }\n\n const { setValue, value } = fieldType\n\n useEffect(() => {\n setInitialAPIKey(uuidv4())\n }, [])\n\n useEffect(() => {\n if (!apiKeyValue) {\n setValue(initialAPIKey)\n }\n }, [apiKeyValue, setValue, initialAPIKey])\n\n useEffect(() => {\n if (highlightedField) {\n setTimeout(() => {\n setHighlightedField(false)\n }, 10000)\n }\n }, [highlightedField])\n\n return (\n <React.Fragment>\n <div className={[fieldBaseClass, 'api-key', 'read-only'].filter(Boolean).join(' ')}>\n <FieldLabel CustomLabel={APIKeyLabel} htmlFor={path} />\n <input\n className={highlightedField ? 'highlight' : undefined}\n disabled\n id=\"apiKey\"\n name=\"apiKey\"\n type=\"text\"\n value={(value as string) || ''}\n />\n </div>\n {!readOnly && (\n <GenerateConfirmation highlightField={highlightField} setKey={() => setValue(uuidv4())} />\n )}\n </React.Fragment>\n )\n}\n"],"names":["CopyToClipboard","GenerateConfirmation","FieldLabel","useFormFields","useField","useConfig","useTranslation","text","React","useEffect","useMemo","useState","v4","uuidv4","path","baseClass","fieldBaseClass","APIKey","readOnly","initialAPIKey","setInitialAPIKey","highlightedField","setHighlightedField","t","config","apiKey","fields","validate","val","name","type","data","maxLength","minLength","req","payload","siblingData","apiKeyValue","value","APIKeyLabel","div","className","span","fieldType","highlightField","setTimeout","setValue","Fragment","filter","Boolean","join","CustomLabel","htmlFor","input","undefined","disabled","id","setKey"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,SAASA,eAAe,QAAQ,0CAAyC;AACzE,SAASC,oBAAoB,QAAQ,+CAA8C;AACnF,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,IAAI,QAAQ,6BAA4B;AACjD,OAAOC,SAASC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,QAAO;AAC3D,SAASC,MAAMC,MAAM,QAAQ,OAAM;AAEnC,MAAMC,OAAO;AACb,MAAMC,YAAY;AAClB,MAAMC,iBAAiB;AAEvB,OAAO,MAAMC,SAA2C,CAAC,EAAEC,QAAQ,EAAE;IACnE,MAAM,CAACC,eAAeC,iBAAiB,GAAGT,SAAS;IACnD,MAAM,CAACU,kBAAkBC,oBAAoB,GAAGX,SAAS;IACzD,MAAM,EAAEY,CAAC,EAAE,GAAGjB;IACd,MAAMkB,SAASnB;IAEf,MAAMoB,SAAStB,cAAc,CAAC,CAACuB,OAAO,GAAKA,MAAM,CAACZ,KAAK;IAEvD,MAAMa,WAAW,CAACC,MAChBrB,KAAKqB,KAAK;YACRC,MAAM;YACNC,MAAM;YACNC,MAAM,CAAC;YACPC,WAAW;YACXC,WAAW;YACXC,KAAK;gBACHC,SAAS;oBACPX;gBACF;gBACAD;YACF;YACAa,aAAa,CAAC;QAChB;IAEF,MAAMC,cAAcZ,QAAQa;IAE5B,MAAMC,cAAc7B,QAClB,kBACE,oBAAC8B;YAAIC,WAAW,CAAC,EAAE1B,UAAU,OAAO,CAAC;yBACnC,oBAAC2B,cAAK,0BACN,oBAAC1C;YAAgBsC,OAAOD;aAG5B;QAACA;KAAY;IAGf,MAAMM,YAAYvC,SAAS;QACzBU,MAAM;QACNa;IACF;IAEA,MAAMiB,iBAAiB;QACrB,IAAIvB,kBAAkB;YACpBC,oBAAoB;QACtB;QACAuB,WAAW;YACTvB,oBAAoB;QACtB,GAAG;IACL;IAEA,MAAM,EAAEwB,QAAQ,EAAER,KAAK,EAAE,GAAGK;IAE5BlC,UAAU;QACRW,iBAAiBP;IACnB,GAAG,EAAE;IAELJ,UAAU;QACR,IAAI,CAAC4B,aAAa;YAChBS,SAAS3B;QACX;IACF,GAAG;QAACkB;QAAaS;QAAU3B;KAAc;IAEzCV,UAAU;QACR,IAAIY,kBAAkB;YACpBwB,WAAW;gBACTvB,oBAAoB;YACtB,GAAG;QACL;IACF,GAAG;QAACD;KAAiB;IAErB,qBACE,oBAACb,MAAMuC,QAAQ,sBACb,oBAACP;QAAIC,WAAW;YAACzB;YAAgB;YAAW;SAAY,CAACgC,MAAM,CAACC,SAASC,IAAI,CAAC;qBAC5E,oBAAChD;QAAWiD,aAAaZ;QAAaa,SAAStC;sBAC/C,oBAACuC;QACCZ,WAAWpB,mBAAmB,cAAciC;QAC5CC,UAAAA;QACAC,IAAG;QACH3B,MAAK;QACLC,MAAK;QACLQ,OAAO,AAACA,SAAoB;SAG/B,CAACpB,0BACA,oBAACjB;QAAqB2C,gBAAgBA;QAAgBa,QAAQ,IAAMX,SAASjC;;AAIrF,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/APIKey.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequestWithData } from 'payload/types'\n\nimport { CopyToClipboard } from '@payloadcms/ui/elements/CopyToClipboard'\nimport { GenerateConfirmation } from '@payloadcms/ui/elements/GenerateConfirmation'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFormFields } from '@payloadcms/ui/forms/Form'\nimport { useField } from '@payloadcms/ui/forms/useField'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { text } from 'payload/fields/validations'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nconst path = 'apiKey'\nconst baseClass = 'api-key'\nconst fieldBaseClass = 'field-type'\n\nexport const APIKey: React.FC<{ enabled: boolean; readOnly?: boolean }> = ({\n enabled,\n readOnly,\n}) => {\n const [initialAPIKey] = useState(uuidv4())\n const [highlightedField, setHighlightedField] = useState(false)\n const { t } = useTranslation()\n const config = useConfig()\n\n const apiKey = useFormFields(([fields]) => fields[path])\n\n const validate = (val) =>\n text(val, {\n name: 'apiKey',\n type: 'text',\n data: {},\n maxLength: 48,\n minLength: 24,\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequestWithData,\n siblingData: {},\n })\n\n const apiKeyValue = apiKey?.value\n\n const APIKeyLabel = useMemo(\n () => (\n <div className={`${baseClass}__label`}>\n <span>API Key</span>\n <CopyToClipboard value={apiKeyValue as string} />\n </div>\n ),\n [apiKeyValue],\n )\n\n const fieldType = useField({\n path: 'apiKey',\n validate,\n })\n\n const highlightField = () => {\n if (highlightedField) {\n setHighlightedField(false)\n }\n setTimeout(() => {\n setHighlightedField(true)\n }, 1)\n }\n\n const { setValue, value } = fieldType\n\n useEffect(() => {\n if (!apiKeyValue && enabled) {\n setValue(initialAPIKey)\n }\n if (!enabled) {\n setValue(null)\n }\n }, [apiKeyValue, enabled, setValue, initialAPIKey])\n\n useEffect(() => {\n if (highlightedField) {\n setTimeout(() => {\n setHighlightedField(false)\n }, 10000)\n }\n }, [highlightedField])\n\n if (!enabled) {\n return null\n }\n\n return (\n <React.Fragment>\n <div className={[fieldBaseClass, 'api-key', 'read-only'].filter(Boolean).join(' ')}>\n <FieldLabel CustomLabel={APIKeyLabel} htmlFor={path} />\n <input\n className={highlightedField ? 'highlight' : undefined}\n disabled\n id=\"apiKey\"\n name=\"apiKey\"\n type=\"text\"\n value={(value as string) || ''}\n />\n </div>\n {!readOnly && (\n <GenerateConfirmation highlightField={highlightField} setKey={() => setValue(uuidv4())} />\n )}\n </React.Fragment>\n )\n}\n"],"names":["CopyToClipboard","GenerateConfirmation","FieldLabel","useFormFields","useField","useConfig","useTranslation","text","React","useEffect","useMemo","useState","v4","uuidv4","path","baseClass","fieldBaseClass","APIKey","enabled","readOnly","initialAPIKey","highlightedField","setHighlightedField","t","config","apiKey","fields","validate","val","name","type","data","maxLength","minLength","preferences","req","payload","siblingData","apiKeyValue","value","APIKeyLabel","div","className","span","fieldType","highlightField","setTimeout","setValue","Fragment","filter","Boolean","join","CustomLabel","htmlFor","input","undefined","disabled","id","setKey"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,SAASA,eAAe,QAAQ,0CAAyC;AACzE,SAASC,oBAAoB,QAAQ,+CAA8C;AACnF,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,IAAI,QAAQ,6BAA4B;AACjD,OAAOC,SAASC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,QAAO;AAC3D,SAASC,MAAMC,MAAM,QAAQ,OAAM;AAEnC,MAAMC,OAAO;AACb,MAAMC,YAAY;AAClB,MAAMC,iBAAiB;AAEvB,OAAO,MAAMC,SAA6D,CAAC,EACzEC,OAAO,EACPC,QAAQ,EACT;IACC,MAAM,CAACC,cAAc,GAAGT,SAASE;IACjC,MAAM,CAACQ,kBAAkBC,oBAAoB,GAAGX,SAAS;IACzD,MAAM,EAAEY,CAAC,EAAE,GAAGjB;IACd,MAAMkB,SAASnB;IAEf,MAAMoB,SAAStB,cAAc,CAAC,CAACuB,OAAO,GAAKA,MAAM,CAACZ,KAAK;IAEvD,MAAMa,WAAW,CAACC,MAChBrB,KAAKqB,KAAK;YACRC,MAAM;YACNC,MAAM;YACNC,MAAM,CAAC;YACPC,WAAW;YACXC,WAAW;YACXC,aAAa;gBAAER,QAAQ,CAAC;YAAE;YAC1BS,KAAK;gBACHC,SAAS;oBACPZ;gBACF;gBACAD;YACF;YACAc,aAAa,CAAC;QAChB;IAEF,MAAMC,cAAcb,QAAQc;IAE5B,MAAMC,cAAc9B,QAClB,kBACE,oBAAC+B;YAAIC,WAAW,CAAC,EAAE3B,UAAU,OAAO,CAAC;yBACnC,oBAAC4B,cAAK,0BACN,oBAAC3C;YAAgBuC,OAAOD;aAG5B;QAACA;KAAY;IAGf,MAAMM,YAAYxC,SAAS;QACzBU,MAAM;QACNa;IACF;IAEA,MAAMkB,iBAAiB;QACrB,IAAIxB,kBAAkB;YACpBC,oBAAoB;QACtB;QACAwB,WAAW;YACTxB,oBAAoB;QACtB,GAAG;IACL;IAEA,MAAM,EAAEyB,QAAQ,EAAER,KAAK,EAAE,GAAGK;IAE5BnC,UAAU;QACR,IAAI,CAAC6B,eAAepB,SAAS;YAC3B6B,SAAS3B;QACX;QACA,IAAI,CAACF,SAAS;YACZ6B,SAAS;QACX;IACF,GAAG;QAACT;QAAapB;QAAS6B;QAAU3B;KAAc;IAElDX,UAAU;QACR,IAAIY,kBAAkB;YACpByB,WAAW;gBACTxB,oBAAoB;YACtB,GAAG;QACL;IACF,GAAG;QAACD;KAAiB;IAErB,IAAI,CAACH,SAAS;QACZ,OAAO;IACT;IAEA,qBACE,oBAACV,MAAMwC,QAAQ,sBACb,oBAACP;QAAIC,WAAW;YAAC1B;YAAgB;YAAW;SAAY,CAACiC,MAAM,CAACC,SAASC,IAAI,CAAC;qBAC5E,oBAACjD;QAAWkD,aAAaZ;QAAaa,SAASvC;sBAC/C,oBAACwC;QACCZ,WAAWrB,mBAAmB,cAAckC;QAC5CC,UAAAA;QACAC,IAAG;QACH5B,MAAK;QACLC,MAAK;QACLS,OAAO,AAACA,SAAoB;SAG/B,CAACpB,0BACA,oBAAClB;QAAqB4C,gBAAgBA;QAAgBa,QAAQ,IAAMX,SAASlC;;AAIrF,EAAC"}
@@ -117,7 +117,8 @@ export const Auth = (props)=>{
117
117
  label: t('authentication:enableAPIKey'),
118
118
  name: "enableAPIKey",
119
119
  readOnly: readOnly
120
- }), enableAPIKey?.value && /*#__PURE__*/ React.createElement(APIKey, {
120
+ }), /*#__PURE__*/ React.createElement(APIKey, {
121
+ enabled: !!enableAPIKey?.value,
121
122
  readOnly: readOnly
122
123
  })), verify && /*#__PURE__*/ React.createElement(Checkbox, {
123
124
  label: t('authentication:verified'),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Checkbox } from '@payloadcms/ui/fields/Checkbox'\nimport { ConfirmPassword } from '@payloadcms/ui/fields/ConfirmPassword'\nimport { Email } from '@payloadcms/ui/fields/Email'\nimport { Password } from '@payloadcms/ui/fields/Password'\nimport { useFormFields, useFormModified } from '@payloadcms/ui/forms/Form'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport type { Props } from './types.js'\n\nimport { APIKey } from './APIKey.js'\nimport './index.scss'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n operation,\n readOnly,\n requirePassword,\n useAPIKey,\n verify,\n } = props\n\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => fields.enableAPIKey)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n\n const handleChangePassword = useCallback(\n (state: boolean) => {\n if (!state) {\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(state)\n },\n [dispatchFields],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body: JSON.stringify({\n email,\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'), { autoClose: 3000 })\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, t])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !useAPIKey) {\n return null\n }\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {!disableLocalStrategy && (\n <React.Fragment>\n <Email\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n readOnly={readOnly}\n required\n />\n {(changingPassword || requirePassword) && (\n <div className={`${baseClass}__changing-password`}>\n <Password\n autoComplete=\"off\"\n disabled={readOnly}\n label={t('authentication:newPassword')}\n name=\"password\"\n required\n />\n <ConfirmPassword disabled={readOnly} />\n </div>\n )}\n\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={readOnly}\n onClick={() => handleChangePassword(false)}\n size=\"small\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={readOnly}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"small\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && (\n <Button\n buttonStyle=\"secondary\"\n disabled={readOnly}\n onClick={() => unlock()}\n size=\"small\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n <Checkbox\n label={t('authentication:enableAPIKey')}\n name=\"enableAPIKey\"\n readOnly={readOnly}\n />\n {enableAPIKey?.value && <APIKey readOnly={readOnly} />}\n </div>\n )}\n {verify && (\n <Checkbox label={t('authentication:verified')} name=\"_verified\" readOnly={readOnly} />\n )}\n </div>\n )\n}\n"],"names":["Button","Checkbox","ConfirmPassword","Email","Password","useFormFields","useFormModified","useConfig","useTranslation","React","useCallback","useEffect","useState","toast","APIKey","baseClass","Auth","props","className","collectionSlug","disableLocalStrategy","email","operation","readOnly","requirePassword","useAPIKey","verify","changingPassword","setChangingPassword","enableAPIKey","fields","dispatchFields","reducer","modified","i18n","t","routes","api","serverURL","handleChangePassword","state","type","path","unlock","url","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","autoClose","error","div","filter","Boolean","join","Fragment","autoComplete","label","name","required","disabled","buttonStyle","onClick","size","id","value"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/views/Edit/Default/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Checkbox } from '@payloadcms/ui/fields/Checkbox'\nimport { ConfirmPassword } from '@payloadcms/ui/fields/ConfirmPassword'\nimport { Email } from '@payloadcms/ui/fields/Email'\nimport { Password } from '@payloadcms/ui/fields/Password'\nimport { useFormFields, useFormModified } from '@payloadcms/ui/forms/Form'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport type { Props } from './types.js'\n\nimport { APIKey } from './APIKey.js'\nimport './index.scss'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n operation,\n readOnly,\n requirePassword,\n useAPIKey,\n verify,\n } = props\n\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => fields.enableAPIKey)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n\n const handleChangePassword = useCallback(\n (state: boolean) => {\n if (!state) {\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(state)\n },\n [dispatchFields],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body: JSON.stringify({\n email,\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'), { autoClose: 3000 })\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, t])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !useAPIKey) {\n return null\n }\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {!disableLocalStrategy && (\n <React.Fragment>\n <Email\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n readOnly={readOnly}\n required\n />\n {(changingPassword || requirePassword) && (\n <div className={`${baseClass}__changing-password`}>\n <Password\n autoComplete=\"off\"\n disabled={readOnly}\n label={t('authentication:newPassword')}\n name=\"password\"\n required\n />\n <ConfirmPassword disabled={readOnly} />\n </div>\n )}\n\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={readOnly}\n onClick={() => handleChangePassword(false)}\n size=\"small\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={readOnly}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"small\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && (\n <Button\n buttonStyle=\"secondary\"\n disabled={readOnly}\n onClick={() => unlock()}\n size=\"small\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n <Checkbox\n label={t('authentication:enableAPIKey')}\n name=\"enableAPIKey\"\n readOnly={readOnly}\n />\n <APIKey enabled={!!enableAPIKey?.value} readOnly={readOnly} />\n </div>\n )}\n {verify && (\n <Checkbox label={t('authentication:verified')} name=\"_verified\" readOnly={readOnly} />\n )}\n </div>\n )\n}\n"],"names":["Button","Checkbox","ConfirmPassword","Email","Password","useFormFields","useFormModified","useConfig","useTranslation","React","useCallback","useEffect","useState","toast","APIKey","baseClass","Auth","props","className","collectionSlug","disableLocalStrategy","email","operation","readOnly","requirePassword","useAPIKey","verify","changingPassword","setChangingPassword","enableAPIKey","fields","dispatchFields","reducer","modified","i18n","t","routes","api","serverURL","handleChangePassword","state","type","path","unlock","url","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","autoClose","error","div","filter","Boolean","join","Fragment","autoComplete","label","name","required","disabled","buttonStyle","onClick","size","id","enabled","value"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -45,7 +45,7 @@ export const DefaultEditView = ()=>{
45
45
  collectionSlug: collectionConfig?.slug,
46
46
  globalSlug: globalConfig?.slug
47
47
  });
48
- const operation = id ? 'update' : 'create';
48
+ const operation = collectionSlug && !id ? 'create' : 'update';
49
49
  const auth = collectionConfig ? collectionConfig.auth : undefined;
50
50
  const upload = collectionConfig ? collectionConfig.upload : undefined;
51
51
  const preventLeaveWithoutSaving = (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) || !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) && !disableLeaveWithoutSaving;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui/forms/Form'\n\nimport { DocumentControls } from '@payloadcms/ui/elements/DocumentControls'\nimport { DocumentFields } from '@payloadcms/ui/elements/DocumentFields'\nimport { FormLoadingOverlayToggle } from '@payloadcms/ui/elements/Loading'\nimport { Upload } from '@payloadcms/ui/elements/Upload'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { useAuth } from '@payloadcms/ui/providers/Auth'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentEvents } from '@payloadcms/ui/providers/DocumentEvents'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useEditDepth } from '@payloadcms/ui/providers/EditDepth'\nimport { useFormQueryParams } from '@payloadcms/ui/providers/FormQueryParams'\nimport { OperationProvider } from '@payloadcms/ui/providers/Operation'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport { useRouter } from 'next/navigation.js'\nimport { useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC = () => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const config = useConfig()\n const router = useRouter()\n const { dispatchFormQueryParams } = useFormQueryParams()\n const { getFieldMap } = useComponentMap()\n const params = useSearchParams()\n const depth = useEditDepth()\n const { reportUpdate } = useDocumentEvents()\n\n const { i18n } = useTranslation()\n\n const {\n admin: { user: userSlug },\n collections,\n globals,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const locale = params.get('locale')\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n const operation = id ? 'update' : 'create'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const preventLeaveWithoutSaving =\n (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n !disableLeaveWithoutSaving\n\n const classes = [baseClass, id && `${baseClass}--is-editing`].filter(Boolean).join(' ')\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n void getVersions()\n void getDocPermissions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = `${adminRoute}/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`\n router.push(redirectRoute)\n } else {\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n uploadEdits: null,\n },\n })\n }\n },\n [\n onSaveFromContext,\n userSlug,\n reportUpdate,\n id,\n entitySlug,\n user,\n depth,\n collectionSlug,\n getVersions,\n getDocPermissions,\n isEditing,\n refreshCookieAsync,\n adminRoute,\n locale,\n router,\n dispatchFormQueryParams,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath: entitySlug,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, entitySlug, collectionSlug, globalSlug, getDocPreferences],\n )\n\n return (\n <main className={classes}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit\n disabled={!hasSavePermission}\n initialState={initialState}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n <FormLoadingOverlayToggle\n action={operation}\n // formIsLoading={isLoading}\n // loadingSuffix={getTranslation(collectionConfig.labels.singular, i18n)}\n name={`collection-edit--${\n typeof collectionConfig?.labels?.singular === 'string'\n ? collectionConfig.labels.singular\n : i18n.t('general:document')\n }`}\n type=\"withoutNav\"\n />\n {BeforeDocument}\n {preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={data}\n disableActions={disableActions}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={Boolean(id)}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n useAPIKey={auth.useAPIKey}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n docPermissions={docPermissions}\n fieldMap={fieldMap}\n readOnly={!hasSavePermission}\n schemaPath={entitySlug}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","FormLoadingOverlayToggle","Upload","Form","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useFormQueryParams","OperationProvider","useTranslation","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPermissions","getDocPreferences","getVersions","globalSlug","hasSavePermission","initialData","data","initialState","isEditing","onSave","onSaveFromContext","refreshCookieAsync","user","config","router","dispatchFormQueryParams","getFieldMap","params","depth","reportUpdate","i18n","admin","userSlug","collections","globals","routes","adminRoute","api","apiRoute","serverURL","locale","get","collectionConfig","find","collection","slug","globalConfig","global","entitySlug","fieldMap","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","filter","Boolean","join","json","updatedAt","result","Date","toISOString","redirectRoute","doc","push","type","uploadEdits","onChange","formState","prevFormState","docPreferences","body","schemaPath","main","className","disableValidationOnSubmit","disabled","method","onSuccess","name","labels","singular","t","pluralLabel","plural","useAsTitle","fallback","toString","permissions","disableLocalStrategy","email","readOnly","requirePassword","useAPIKey","verify","uploadConfig"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,SAASA,gBAAgB,QAAQ,2CAA0C;AAC3E,SAASC,cAAc,QAAQ,yCAAwC;AACvE,SAASC,wBAAwB,QAAQ,kCAAiC;AAC1E,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,IAAI,QAAQ,4BAA2B;AAChD,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,iBAAiB,QAAQ,0CAAyC;AAC3E,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,kBAAkB,QAAQ,2CAA0C;AAC7E,SAASC,iBAAiB,QAAQ,qCAAoC;AACtE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,YAAY,QAAQ,wCAAuC;AACpE,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,SAASC,eAAe,QAAQ,qBAAoB;AACpD,OAAOC,SAASC,QAAQ,EAAEC,WAAW,QAAQ,QAAO;AAEpD,SAASC,kBAAkB,QAAQ,gDAA+C;AAClF,SAASC,IAAI,QAAQ,kBAAiB;AACtC,SAASC,kBAAkB,QAAQ,gCAA+B;AAClE,SAASC,gBAAgB,QAAQ,8BAA6B;AAG9D,MAAMC,YAAY;AAElB,gDAAgD;AAChD,iDAAiD;AACjD,wEAAwE;AACxE,OAAO,MAAMC,kBAA4B;IACvC,MAAM,EACJC,EAAE,EACFC,aAAa,EACbC,WAAW,EACXC,cAAc,EACdC,YAAY,EACZC,MAAM,EACNC,MAAM,EACNC,cAAc,EACdC,cAAc,EACdC,yBAAyB,EACzBC,cAAc,EACdC,iBAAiB,EACjBC,iBAAiB,EACjBC,WAAW,EACXC,UAAU,EACVC,iBAAiB,EACjBC,aAAaC,IAAI,EACjBC,YAAY,EACZC,SAAS,EACTC,QAAQC,iBAAiB,EAC1B,GAAGtC;IAEJ,MAAM,EAAEuC,kBAAkB,EAAEC,IAAI,EAAE,GAAG5C;IACrC,MAAM6C,SAAS3C;IACf,MAAM4C,SAASpC;IACf,MAAM,EAAEqC,uBAAuB,EAAE,GAAGzC;IACpC,MAAM,EAAE0C,WAAW,EAAE,GAAG/C;IACxB,MAAMgD,SAAStC;IACf,MAAMuC,QAAQ7C;IACd,MAAM,EAAE8C,YAAY,EAAE,GAAGhD;IAEzB,MAAM,EAAEiD,IAAI,EAAE,GAAG5C;IAEjB,MAAM,EACJ6C,OAAO,EAAET,MAAMU,QAAQ,EAAE,EACzBC,WAAW,EACXC,OAAO,EACPC,QAAQ,EAAEJ,OAAOK,UAAU,EAAEC,KAAKC,QAAQ,EAAE,EAC5CC,SAAS,EACV,GAAGhB;IAEJ,MAAMiB,SAASb,OAAOc,GAAG,CAAC;IAE1B,MAAMC,mBACJpC,kBAAkB2B,YAAYU,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKvC;IAEzE,MAAMwC,eAAejC,cAAcqB,QAAQS,IAAI,CAAC,CAACI,SAAWA,OAAOF,IAAI,KAAKhC;IAE5E,MAAMmC,aAAaN,kBAAkBG,QAAQC,cAAcD;IAE3D,MAAMI,WAAWvB,YAAY;QAC3BpB,gBAAgBoC,kBAAkBG;QAClChC,YAAYiC,cAAcD;IAC5B;IAEA,MAAMK,YAAYnD,KAAK,WAAW;IAElC,MAAMoD,OAAOT,mBAAmBA,iBAAiBS,IAAI,GAAGC;IACxD,MAAMC,SAASX,mBAAmBA,iBAAiBW,MAAM,GAAGD;IAE5D,MAAME,4BACJ,AAAC,CAAA,CAAEZ,CAAAA,kBAAkBa,UAAUC,UAAUd,kBAAkBa,UAAUC,QAAQC,QAAO,KAClF,CAAEX,CAAAA,cAAcS,UAAUC,UAAUV,cAAcS,UAAUC,QAAQC,QAAO,CAAC,KAC9E,CAACjD;IAEH,MAAMkD,UAAU;QAAC7D;QAAWE,MAAM,CAAC,EAAEF,UAAU,YAAY,CAAC;KAAC,CAAC8D,MAAM,CAACC,SAASC,IAAI,CAAC;IAEnF,MAAM1C,SAAS3B,YACb,CAACsE;QACCjC,aAAa;YACX9B;YACAiD;YACAe,WAAWD,MAAME,QAAQD,aAAa,IAAIE,OAAOC,WAAW;QAC9D;QAEA,kDAAkD;QAClD,4CAA4C;QAC5C,IAAI5C,QAAQhB,mBAAmB0B,YAAYjC,OAAOuB,KAAKvB,EAAE,EAAE;YACzD,KAAKsB;QACP;QAEA,KAAKT;QACL,KAAKF;QAEL,IAAI,OAAOU,sBAAsB,YAAY;YAC3C,KAAKA,kBAAkB;gBACrB,GAAG0C,IAAI;gBACPZ,WAAWnD,KAAK,WAAW;YAC7B;QACF;QAEA,IAAI,CAACmB,aAAaU,QAAQ,GAAG;YAC3B,+CAA+C;YAC/C,MAAMuC,gBAAgB,CAAC,EAAE/B,WAAW,aAAa,EAAE9B,eAAe,CAAC,EAAEwD,MAAMM,KAAKrE,GAAG,EAAEyC,SAAS,CAAC,QAAQ,EAAEA,OAAO,CAAC,GAAG,GAAG,CAAC;YACxHhB,OAAO6C,IAAI,CAACF;QACd,OAAO;YACL1C,wBAAwB;gBACtB6C,MAAM;gBACN3C,QAAQ;oBACN4C,aAAa;gBACf;YACF;QACF;IACF,GACA;QACEnD;QACAY;QACAH;QACA9B;QACAiD;QACA1B;QACAM;QACAtB;QACAM;QACAF;QACAQ;QACAG;QACAe;QACAI;QACAhB;QACAC;KACD;IAGH,MAAM+C,WAAqChF,YACzC,OAAO,EAAEiF,WAAWC,aAAa,EAAE;QACjC,MAAMC,iBAAiB,MAAMhE;QAE7B,OAAOxB,aAAa;YAClBmD;YACAsC,MAAM;gBACJ7E;gBACAO;gBACAqE;gBACAF,WAAWC;gBACX7D;gBACAqC;gBACA2B,YAAY7B;YACd;YACAT;QACF;IACF,GACA;QAACA;QAAWD;QAAUvC;QAAImD;QAAWF;QAAY1C;QAAgBO;QAAYF;KAAkB;IAGjG,qBACE,oBAACmE;QAAKC,WAAWrB;qBACf,oBAACzE;QAAkBiE,WAAWA;qBAC5B,oBAACzE;QACC2B,QAAQA;QACR2E,WAAW,CAAC,EAAElF,UAAU,MAAM,CAAC;QAC/BmF,2BAAAA;QACAC,UAAU,CAACnE;QACXG,cAAcA;QACdiE,QAAQnF,KAAK,UAAU;QACvByE,UAAU;YAACA;SAAS;QACpBW,WAAWhE;qBAEX,oBAAC5C;QACC6B,QAAQ8C;QACR,4BAA4B;QAC5B,yEAAyE;QACzEkC,MAAM,CAAC,iBAAiB,EACtB,OAAO1C,kBAAkB2C,QAAQC,aAAa,WAC1C5C,iBAAiB2C,MAAM,CAACC,QAAQ,GAChCxD,KAAKyD,CAAC,CAAC,oBACZ,CAAC;QACFjB,MAAK;QAENpE,gBACAoD,2CAA6B,oBAAC7D,yCAC/B,oBAACE;QACCW,gBAAgBoC,kBAAkBG;QAClChC,YAAYiC,cAAcD;QAC1B9C,IAAIA;QACJyF,aAAa9C,kBAAkB2C,QAAQI;QACvCC,YAAYhD,kBAAkBX,OAAO2D;sBAEvC,oBAAC9F;QACC8C,kBAAkBA;QAClBnB,QAAQA;QACRoE,UAAU/D,SAAS,IAAI7B,IAAI6F,aAAaxC;QACxCN,cAAcA;sBAEhB,oBAACzE;QACCgC,QAAQA;QACRW,MAAMA;QACNT,gBAAgBA;QAChBO,mBAAmBA;QACnBf,IAAIA;QACJmB,WAAW0C,QAAQ7D;QACnB8F,aAAapF;QACboC,MAAMH,kBAAkBG,QAAQC,cAAcD;sBAEhD,oBAACvE;QACC2B,aAAaA;QACbE,cACEA,8BACE,oBAACZ,gBACE4D,sBACC,oBAACzD;YACCqF,WAAW,CAAC,EAAElF,UAAU,MAAM,CAAC;YAC/BS,gBAAgBoC,iBAAiBG,IAAI;YACrCiD,sBAAsBpD,iBAAiBS,IAAI,EAAE2C;YAC7CC,OAAO/E,MAAM+E;YACb7C,WAAWA;YACX8C,UAAU,CAAClF;YACXmF,iBAAiB,CAAClG;YAClBmG,WAAW/C,KAAK+C,SAAS;YACzBC,QAAQhD,KAAKgD,MAAM;YAGtB9C,wBACC,oBAAC/D,MAAMC,QAAQ,sBACb,oBAACf;YACC8B,gBAAgBoC,iBAAiBG,IAAI;YACrC5B,cAAcA;YACdmF,cAAc/C;;QAO1B5C,gBAAgBA;QAChBwC,UAAUA;QACV+C,UAAU,CAAClF;QACX+D,YAAY7B;QAEbhD;AAKX,EAAC"}
1
+ {"version":3,"sources":["../../../../src/views/Edit/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui/forms/Form'\n\nimport { DocumentControls } from '@payloadcms/ui/elements/DocumentControls'\nimport { DocumentFields } from '@payloadcms/ui/elements/DocumentFields'\nimport { FormLoadingOverlayToggle } from '@payloadcms/ui/elements/Loading'\nimport { Upload } from '@payloadcms/ui/elements/Upload'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { useAuth } from '@payloadcms/ui/providers/Auth'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentEvents } from '@payloadcms/ui/providers/DocumentEvents'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useEditDepth } from '@payloadcms/ui/providers/EditDepth'\nimport { useFormQueryParams } from '@payloadcms/ui/providers/FormQueryParams'\nimport { OperationProvider } from '@payloadcms/ui/providers/Operation'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport { useRouter } from 'next/navigation.js'\nimport { useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC = () => {\n const {\n id,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n apiURL,\n collectionSlug,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n globalSlug,\n hasSavePermission,\n initialData: data,\n initialState,\n isEditing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const { refreshCookieAsync, user } = useAuth()\n const config = useConfig()\n const router = useRouter()\n const { dispatchFormQueryParams } = useFormQueryParams()\n const { getFieldMap } = useComponentMap()\n const params = useSearchParams()\n const depth = useEditDepth()\n const { reportUpdate } = useDocumentEvents()\n\n const { i18n } = useTranslation()\n\n const {\n admin: { user: userSlug },\n collections,\n globals,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const locale = params.get('locale')\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const fieldMap = getFieldMap({\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n })\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const preventLeaveWithoutSaving =\n (!(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave)) &&\n !disableLeaveWithoutSaving\n\n const classes = [baseClass, id && `${baseClass}--is-editing`].filter(Boolean).join(' ')\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n void getVersions()\n void getDocPermissions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = `${adminRoute}/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`\n router.push(redirectRoute)\n } else {\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n uploadEdits: null,\n },\n })\n }\n },\n [\n onSaveFromContext,\n userSlug,\n reportUpdate,\n id,\n entitySlug,\n user,\n depth,\n collectionSlug,\n getVersions,\n getDocPermissions,\n isEditing,\n refreshCookieAsync,\n adminRoute,\n locale,\n router,\n dispatchFormQueryParams,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n\n return getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n schemaPath: entitySlug,\n },\n serverURL,\n })\n },\n [serverURL, apiRoute, id, operation, entitySlug, collectionSlug, globalSlug, getDocPreferences],\n )\n\n return (\n <main className={classes}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disableValidationOnSubmit\n disabled={!hasSavePermission}\n initialState={initialState}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n <FormLoadingOverlayToggle\n action={operation}\n // formIsLoading={isLoading}\n // loadingSuffix={getTranslation(collectionConfig.labels.singular, i18n)}\n name={`collection-edit--${\n typeof collectionConfig?.labels?.singular === 'string'\n ? collectionConfig.labels.singular\n : i18n.t('general:document')\n }`}\n type=\"withoutNav\"\n />\n {BeforeDocument}\n {preventLeaveWithoutSaving && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={data}\n disableActions={disableActions}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={Boolean(id)}\n permissions={docPermissions}\n slug={collectionConfig?.slug || globalConfig?.slug}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n useAPIKey={auth.useAPIKey}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n docPermissions={docPermissions}\n fieldMap={fieldMap}\n readOnly={!hasSavePermission}\n schemaPath={entitySlug}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"names":["DocumentControls","DocumentFields","FormLoadingOverlayToggle","Upload","Form","useAuth","useComponentMap","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useFormQueryParams","OperationProvider","useTranslation","getFormState","useRouter","useSearchParams","React","Fragment","useCallback","LeaveWithoutSaving","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","id","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","apiURL","collectionSlug","disableActions","disableLeaveWithoutSaving","docPermissions","getDocPermissions","getDocPreferences","getVersions","globalSlug","hasSavePermission","initialData","data","initialState","isEditing","onSave","onSaveFromContext","refreshCookieAsync","user","config","router","dispatchFormQueryParams","getFieldMap","params","depth","reportUpdate","i18n","admin","userSlug","collections","globals","routes","adminRoute","api","apiRoute","serverURL","locale","get","collectionConfig","find","collection","slug","globalConfig","global","entitySlug","fieldMap","operation","auth","undefined","upload","preventLeaveWithoutSaving","versions","drafts","autosave","classes","filter","Boolean","join","json","updatedAt","result","Date","toISOString","redirectRoute","doc","push","type","uploadEdits","onChange","formState","prevFormState","docPreferences","body","schemaPath","main","className","disableValidationOnSubmit","disabled","method","onSuccess","name","labels","singular","t","pluralLabel","plural","useAsTitle","fallback","toString","permissions","disableLocalStrategy","email","readOnly","requirePassword","useAPIKey","verify","uploadConfig"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAGjD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAmEtC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAGjD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAoEtC,CAAA"}
@@ -43,6 +43,9 @@ export const ForgotPasswordForm = ()=>{
43
43
  name: 'email',
44
44
  type: 'email',
45
45
  data: {},
46
+ preferences: {
47
+ fields: {}
48
+ },
46
49
  req: {
47
50
  t
48
51
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormState, PayloadRequest } from 'payload/types'\n\nimport { Email } from '@payloadcms/ui/fields/Email'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { FormSubmit } from '@payloadcms/ui/forms/Submit'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { email } from 'payload/fields/validations'\nimport React, { Fragment, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nexport const ForgotPasswordForm: React.FC = () => {\n const config = useConfig()\n\n const {\n admin: { user: userSlug },\n routes: { api },\n } = config\n\n const { t } = useTranslation()\n const [hasSubmitted, setHasSubmitted] = useState(false)\n\n const handleResponse = (res) => {\n res.json().then(\n () => {\n setHasSubmitted(true)\n },\n () => {\n toast.error(t('authentication:emailNotValid'))\n },\n )\n }\n\n const initialState: FormState = {\n email: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n\n if (hasSubmitted) {\n return (\n <Fragment>\n <h1>{t('authentication:emailSent')}</h1>\n <p>{t('authentication:checkYourEmailForPasswordReset')}</p>\n </Fragment>\n )\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/forgot-password`}\n handleResponse={handleResponse}\n initialState={initialState}\n method=\"POST\"\n >\n <h1>{t('authentication:forgotPassword')}</h1>\n <p>{t('authentication:forgotPasswordEmailInstructions')}</p>\n <Email\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n required\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n data: {},\n req: { t } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n <FormSubmit>{t('general:submit')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["Email","Form","FormSubmit","useConfig","useTranslation","email","React","Fragment","useState","toast","ForgotPasswordForm","config","admin","user","userSlug","routes","api","t","hasSubmitted","setHasSubmitted","handleResponse","res","json","then","error","initialState","initialValue","valid","value","undefined","h1","p","action","method","autoComplete","label","name","required","validate","type","data","req","siblingData"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAIA,SAASA,KAAK,QAAQ,8BAA6B;AACnD,SAASC,IAAI,QAAQ,4BAA2B;AAChD,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,KAAK,QAAQ,6BAA4B;AAClD,OAAOC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,QAAO;AACjD,SAASC,KAAK,QAAQ,iBAAgB;AAEtC,OAAO,MAAMC,qBAA+B;IAC1C,MAAMC,SAASR;IAEf,MAAM,EACJS,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EACzBC,QAAQ,EAAEC,GAAG,EAAE,EAChB,GAAGL;IAEJ,MAAM,EAAEM,CAAC,EAAE,GAAGb;IACd,MAAM,CAACc,cAAcC,gBAAgB,GAAGX,SAAS;IAEjD,MAAMY,iBAAiB,CAACC;QACtBA,IAAIC,IAAI,GAAGC,IAAI,CACb;YACEJ,gBAAgB;QAClB,GACA;YACEV,MAAMe,KAAK,CAACP,EAAE;QAChB;IAEJ;IAEA,MAAMQ,eAA0B;QAC9BpB,OAAO;YACLqB,cAAc;YACdC,OAAO;YACPC,OAAOC;QACT;IACF;IAEA,IAAIX,cAAc;QAChB,qBACE,oBAACX,8BACC,oBAACuB,YAAIb,EAAE,4CACP,oBAACc,WAAGd,EAAE;IAGZ;IAEA,qBACE,oBAAChB;QACC+B,QAAQ,CAAC,EAAEhB,IAAI,CAAC,EAAEF,SAAS,gBAAgB,CAAC;QAC5CM,gBAAgBA;QAChBK,cAAcA;QACdQ,QAAO;qBAEP,oBAACH,YAAIb,EAAE,iDACP,oBAACc,WAAGd,EAAE,kEACN,oBAACjB;QACCkC,cAAa;QACbC,OAAOlB,EAAE;QACTmB,MAAK;QACLC,UAAAA;QACAC,UAAU,CAACV,QACTvB,MAAMuB,OAAO;gBACXQ,MAAM;gBACNG,MAAM;gBACNC,MAAM,CAAC;gBACPC,KAAK;oBAAExB;gBAAE;gBACToB,UAAU;gBACVK,aAAa,CAAC;YAChB;sBAGJ,oBAACxC,kBAAYe,EAAE;AAGrB,EAAC"}
1
+ {"version":3,"sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormState, PayloadRequestWithData } from 'payload/types'\n\nimport { Email } from '@payloadcms/ui/fields/Email'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { FormSubmit } from '@payloadcms/ui/forms/Submit'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { email } from 'payload/fields/validations'\nimport React, { Fragment, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nexport const ForgotPasswordForm: React.FC = () => {\n const config = useConfig()\n\n const {\n admin: { user: userSlug },\n routes: { api },\n } = config\n\n const { t } = useTranslation()\n const [hasSubmitted, setHasSubmitted] = useState(false)\n\n const handleResponse = (res) => {\n res.json().then(\n () => {\n setHasSubmitted(true)\n },\n () => {\n toast.error(t('authentication:emailNotValid'))\n },\n )\n }\n\n const initialState: FormState = {\n email: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n\n if (hasSubmitted) {\n return (\n <Fragment>\n <h1>{t('authentication:emailSent')}</h1>\n <p>{t('authentication:checkYourEmailForPasswordReset')}</p>\n </Fragment>\n )\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/forgot-password`}\n handleResponse={handleResponse}\n initialState={initialState}\n method=\"POST\"\n >\n <h1>{t('authentication:forgotPassword')}</h1>\n <p>{t('authentication:forgotPasswordEmailInstructions')}</p>\n <Email\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n required\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n data: {},\n preferences: { fields: {} },\n req: { t } as PayloadRequestWithData,\n required: true,\n siblingData: {},\n })\n }\n />\n <FormSubmit>{t('general:submit')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["Email","Form","FormSubmit","useConfig","useTranslation","email","React","Fragment","useState","toast","ForgotPasswordForm","config","admin","user","userSlug","routes","api","t","hasSubmitted","setHasSubmitted","handleResponse","res","json","then","error","initialState","initialValue","valid","value","undefined","h1","p","action","method","autoComplete","label","name","required","validate","type","data","preferences","fields","req","siblingData"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAIA,SAASA,KAAK,QAAQ,8BAA6B;AACnD,SAASC,IAAI,QAAQ,4BAA2B;AAChD,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,KAAK,QAAQ,6BAA4B;AAClD,OAAOC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,QAAO;AACjD,SAASC,KAAK,QAAQ,iBAAgB;AAEtC,OAAO,MAAMC,qBAA+B;IAC1C,MAAMC,SAASR;IAEf,MAAM,EACJS,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EACzBC,QAAQ,EAAEC,GAAG,EAAE,EAChB,GAAGL;IAEJ,MAAM,EAAEM,CAAC,EAAE,GAAGb;IACd,MAAM,CAACc,cAAcC,gBAAgB,GAAGX,SAAS;IAEjD,MAAMY,iBAAiB,CAACC;QACtBA,IAAIC,IAAI,GAAGC,IAAI,CACb;YACEJ,gBAAgB;QAClB,GACA;YACEV,MAAMe,KAAK,CAACP,EAAE;QAChB;IAEJ;IAEA,MAAMQ,eAA0B;QAC9BpB,OAAO;YACLqB,cAAc;YACdC,OAAO;YACPC,OAAOC;QACT;IACF;IAEA,IAAIX,cAAc;QAChB,qBACE,oBAACX,8BACC,oBAACuB,YAAIb,EAAE,4CACP,oBAACc,WAAGd,EAAE;IAGZ;IAEA,qBACE,oBAAChB;QACC+B,QAAQ,CAAC,EAAEhB,IAAI,CAAC,EAAEF,SAAS,gBAAgB,CAAC;QAC5CM,gBAAgBA;QAChBK,cAAcA;QACdQ,QAAO;qBAEP,oBAACH,YAAIb,EAAE,iDACP,oBAACc,WAAGd,EAAE,kEACN,oBAACjB;QACCkC,cAAa;QACbC,OAAOlB,EAAE;QACTmB,MAAK;QACLC,UAAAA;QACAC,UAAU,CAACV,QACTvB,MAAMuB,OAAO;gBACXQ,MAAM;gBACNG,MAAM;gBACNC,MAAM,CAAC;gBACPC,aAAa;oBAAEC,QAAQ,CAAC;gBAAE;gBAC1BC,KAAK;oBAAE1B;gBAAE;gBACToB,UAAU;gBACVO,aAAa,CAAC;YAChB;sBAGJ,oBAAC1C,kBAAYe,EAAE;AAGrB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Login/LoginForm/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CA+EA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Login/LoginForm/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAiFA,CAAA"}
@@ -50,6 +50,9 @@ export const LoginForm = ({ searchParams })=>{
50
50
  name: 'email',
51
51
  type: 'email',
52
52
  data: {},
53
+ preferences: {
54
+ fields: {}
55
+ },
53
56
  req: {
54
57
  t
55
58
  },
@@ -65,6 +68,9 @@ export const LoginForm = ({ searchParams })=>{
65
68
  name: 'password',
66
69
  type: 'text',
67
70
  data: {},
71
+ preferences: {
72
+ fields: {}
73
+ },
68
74
  req: {
69
75
  payload: {
70
76
  config
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Login/LoginForm/index.tsx"],"sourcesContent":["'use client'\n\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nconst baseClass = 'login__form'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nimport type { FormState, PayloadRequest } from 'payload/types'\n\nimport { FormLoadingOverlayToggle } from '@payloadcms/ui/elements/Loading'\nimport { Email } from '@payloadcms/ui/fields/Email'\nimport { Password } from '@payloadcms/ui/fields/Password'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { FormSubmit } from '@payloadcms/ui/forms/Submit'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { email, password } from 'payload/fields/validations'\n\nimport './index.scss'\n\nexport const LoginForm: React.FC<{\n searchParams: { [key: string]: string | string[] | undefined }\n}> = ({ searchParams }) => {\n const config = useConfig()\n\n const {\n admin: { autoLogin, user: userSlug },\n routes: { admin, api },\n } = config\n\n const { t } = useTranslation()\n\n const prefillForm = autoLogin && autoLogin.prefillOnly\n\n const initialState: FormState = {\n email: {\n initialValue: prefillForm ? autoLogin.email : undefined,\n valid: true,\n value: prefillForm ? autoLogin.email : undefined,\n },\n password: {\n initialValue: prefillForm ? autoLogin.password : undefined,\n valid: true,\n value: prefillForm ? autoLogin.password : undefined,\n },\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/login`}\n className={baseClass}\n disableSuccessStatus\n initialState={initialState}\n method=\"POST\"\n redirect={typeof searchParams?.redirect === 'string' ? searchParams.redirect : admin}\n waitForAutocomplete\n >\n <FormLoadingOverlayToggle action=\"loading\" name=\"login-form\" />\n <div className={`${baseClass}__inputWrap`}>\n <Email\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n required\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n data: {},\n req: { t } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n <Password\n autoComplete=\"off\"\n label={t('general:password')}\n name=\"password\"\n required\n validate={(value) =>\n password(value, {\n name: 'password',\n type: 'text',\n data: {},\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n </div>\n <Link href={`${admin}/forgot`}>{t('authentication:forgotPasswordQuestion')}</Link>\n <FormSubmit>{t('authentication:login')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["LinkImport","React","baseClass","Link","default","FormLoadingOverlayToggle","Email","Password","Form","FormSubmit","useConfig","useTranslation","email","password","LoginForm","searchParams","config","admin","autoLogin","user","userSlug","routes","api","t","prefillForm","prefillOnly","initialState","initialValue","undefined","valid","value","action","className","disableSuccessStatus","method","redirect","waitForAutocomplete","name","div","autoComplete","label","required","validate","type","data","req","siblingData","payload","href"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,OAAOA,gBAAgB,eAAc;AACrC,OAAOC,WAAW,QAAO;AAEzB,MAAMC,YAAY;AAClB,MAAMC,OAAQH,WAAWI,OAAO,IAAIJ;AAIpC,SAASK,wBAAwB,QAAQ,kCAAiC;AAC1E,SAASC,KAAK,QAAQ,8BAA6B;AACnD,SAASC,QAAQ,QAAQ,iCAAgC;AACzD,SAASC,IAAI,QAAQ,4BAA2B;AAChD,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,KAAK,EAAEC,QAAQ,QAAQ,6BAA4B;AAI5D,OAAO,MAAMC,YAER,CAAC,EAAEC,YAAY,EAAE;IACpB,MAAMC,SAASN;IAEf,MAAM,EACJO,OAAO,EAAEC,SAAS,EAAEC,MAAMC,QAAQ,EAAE,EACpCC,QAAQ,EAAEJ,KAAK,EAAEK,GAAG,EAAE,EACvB,GAAGN;IAEJ,MAAM,EAAEO,CAAC,EAAE,GAAGZ;IAEd,MAAMa,cAAcN,aAAaA,UAAUO,WAAW;IAEtD,MAAMC,eAA0B;QAC9Bd,OAAO;YACLe,cAAcH,cAAcN,UAAUN,KAAK,GAAGgB;YAC9CC,OAAO;YACPC,OAAON,cAAcN,UAAUN,KAAK,GAAGgB;QACzC;QACAf,UAAU;YACRc,cAAcH,cAAcN,UAAUL,QAAQ,GAAGe;YACjDC,OAAO;YACPC,OAAON,cAAcN,UAAUL,QAAQ,GAAGe;QAC5C;IACF;IAEA,qBACE,oBAACpB;QACCuB,QAAQ,CAAC,EAAET,IAAI,CAAC,EAAEF,SAAS,MAAM,CAAC;QAClCY,WAAW9B;QACX+B,sBAAAA;QACAP,cAAcA;QACdQ,QAAO;QACPC,UAAU,OAAOpB,cAAcoB,aAAa,WAAWpB,aAAaoB,QAAQ,GAAGlB;QAC/EmB,qBAAAA;qBAEA,oBAAC/B;QAAyB0B,QAAO;QAAUM,MAAK;sBAChD,oBAACC;QAAIN,WAAW,CAAC,EAAE9B,UAAU,WAAW,CAAC;qBACvC,oBAACI;QACCiC,cAAa;QACbC,OAAOjB,EAAE;QACTc,MAAK;QACLI,UAAAA;QACAC,UAAU,CAACZ,QACTlB,MAAMkB,OAAO;gBACXO,MAAM;gBACNM,MAAM;gBACNC,MAAM,CAAC;gBACPC,KAAK;oBAAEtB;gBAAE;gBACTkB,UAAU;gBACVK,aAAa,CAAC;YAChB;sBAGJ,oBAACvC;QACCgC,cAAa;QACbC,OAAOjB,EAAE;QACTc,MAAK;QACLI,UAAAA;QACAC,UAAU,CAACZ,QACTjB,SAASiB,OAAO;gBACdO,MAAM;gBACNM,MAAM;gBACNC,MAAM,CAAC;gBACPC,KAAK;oBACHE,SAAS;wBACP/B;oBACF;oBACAO;gBACF;gBACAkB,UAAU;gBACVK,aAAa,CAAC;YAChB;uBAIN,oBAAC3C;QAAK6C,MAAM,CAAC,EAAE/B,MAAM,OAAO,CAAC;OAAGM,EAAE,yDAClC,oBAACd,kBAAYc,EAAE;AAGrB,EAAC"}
1
+ {"version":3,"sources":["../../../../src/views/Login/LoginForm/index.tsx"],"sourcesContent":["'use client'\n\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nconst baseClass = 'login__form'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nimport type { FormState, PayloadRequestWithData } from 'payload/types'\n\nimport { FormLoadingOverlayToggle } from '@payloadcms/ui/elements/Loading'\nimport { Email } from '@payloadcms/ui/fields/Email'\nimport { Password } from '@payloadcms/ui/fields/Password'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { FormSubmit } from '@payloadcms/ui/forms/Submit'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { email, password } from 'payload/fields/validations'\n\nimport './index.scss'\n\nexport const LoginForm: React.FC<{\n searchParams: { [key: string]: string | string[] | undefined }\n}> = ({ searchParams }) => {\n const config = useConfig()\n\n const {\n admin: { autoLogin, user: userSlug },\n routes: { admin, api },\n } = config\n\n const { t } = useTranslation()\n\n const prefillForm = autoLogin && autoLogin.prefillOnly\n\n const initialState: FormState = {\n email: {\n initialValue: prefillForm ? autoLogin.email : undefined,\n valid: true,\n value: prefillForm ? autoLogin.email : undefined,\n },\n password: {\n initialValue: prefillForm ? autoLogin.password : undefined,\n valid: true,\n value: prefillForm ? autoLogin.password : undefined,\n },\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/login`}\n className={baseClass}\n disableSuccessStatus\n initialState={initialState}\n method=\"POST\"\n redirect={typeof searchParams?.redirect === 'string' ? searchParams.redirect : admin}\n waitForAutocomplete\n >\n <FormLoadingOverlayToggle action=\"loading\" name=\"login-form\" />\n <div className={`${baseClass}__inputWrap`}>\n <Email\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n required\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n data: {},\n preferences: { fields: {} },\n req: { t } as PayloadRequestWithData,\n required: true,\n siblingData: {},\n })\n }\n />\n <Password\n autoComplete=\"off\"\n label={t('general:password')}\n name=\"password\"\n required\n validate={(value) =>\n password(value, {\n name: 'password',\n type: 'text',\n data: {},\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequestWithData,\n required: true,\n siblingData: {},\n })\n }\n />\n </div>\n <Link href={`${admin}/forgot`}>{t('authentication:forgotPasswordQuestion')}</Link>\n <FormSubmit>{t('authentication:login')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["LinkImport","React","baseClass","Link","default","FormLoadingOverlayToggle","Email","Password","Form","FormSubmit","useConfig","useTranslation","email","password","LoginForm","searchParams","config","admin","autoLogin","user","userSlug","routes","api","t","prefillForm","prefillOnly","initialState","initialValue","undefined","valid","value","action","className","disableSuccessStatus","method","redirect","waitForAutocomplete","name","div","autoComplete","label","required","validate","type","data","preferences","fields","req","siblingData","payload","href"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,OAAOA,gBAAgB,eAAc;AACrC,OAAOC,WAAW,QAAO;AAEzB,MAAMC,YAAY;AAClB,MAAMC,OAAQH,WAAWI,OAAO,IAAIJ;AAIpC,SAASK,wBAAwB,QAAQ,kCAAiC;AAC1E,SAASC,KAAK,QAAQ,8BAA6B;AACnD,SAASC,QAAQ,QAAQ,iCAAgC;AACzD,SAASC,IAAI,QAAQ,4BAA2B;AAChD,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,KAAK,EAAEC,QAAQ,QAAQ,6BAA4B;AAI5D,OAAO,MAAMC,YAER,CAAC,EAAEC,YAAY,EAAE;IACpB,MAAMC,SAASN;IAEf,MAAM,EACJO,OAAO,EAAEC,SAAS,EAAEC,MAAMC,QAAQ,EAAE,EACpCC,QAAQ,EAAEJ,KAAK,EAAEK,GAAG,EAAE,EACvB,GAAGN;IAEJ,MAAM,EAAEO,CAAC,EAAE,GAAGZ;IAEd,MAAMa,cAAcN,aAAaA,UAAUO,WAAW;IAEtD,MAAMC,eAA0B;QAC9Bd,OAAO;YACLe,cAAcH,cAAcN,UAAUN,KAAK,GAAGgB;YAC9CC,OAAO;YACPC,OAAON,cAAcN,UAAUN,KAAK,GAAGgB;QACzC;QACAf,UAAU;YACRc,cAAcH,cAAcN,UAAUL,QAAQ,GAAGe;YACjDC,OAAO;YACPC,OAAON,cAAcN,UAAUL,QAAQ,GAAGe;QAC5C;IACF;IAEA,qBACE,oBAACpB;QACCuB,QAAQ,CAAC,EAAET,IAAI,CAAC,EAAEF,SAAS,MAAM,CAAC;QAClCY,WAAW9B;QACX+B,sBAAAA;QACAP,cAAcA;QACdQ,QAAO;QACPC,UAAU,OAAOpB,cAAcoB,aAAa,WAAWpB,aAAaoB,QAAQ,GAAGlB;QAC/EmB,qBAAAA;qBAEA,oBAAC/B;QAAyB0B,QAAO;QAAUM,MAAK;sBAChD,oBAACC;QAAIN,WAAW,CAAC,EAAE9B,UAAU,WAAW,CAAC;qBACvC,oBAACI;QACCiC,cAAa;QACbC,OAAOjB,EAAE;QACTc,MAAK;QACLI,UAAAA;QACAC,UAAU,CAACZ,QACTlB,MAAMkB,OAAO;gBACXO,MAAM;gBACNM,MAAM;gBACNC,MAAM,CAAC;gBACPC,aAAa;oBAAEC,QAAQ,CAAC;gBAAE;gBAC1BC,KAAK;oBAAExB;gBAAE;gBACTkB,UAAU;gBACVO,aAAa,CAAC;YAChB;sBAGJ,oBAACzC;QACCgC,cAAa;QACbC,OAAOjB,EAAE;QACTc,MAAK;QACLI,UAAAA;QACAC,UAAU,CAACZ,QACTjB,SAASiB,OAAO;gBACdO,MAAM;gBACNM,MAAM;gBACNC,MAAM,CAAC;gBACPC,aAAa;oBAAEC,QAAQ,CAAC;gBAAE;gBAC1BC,KAAK;oBACHE,SAAS;wBACPjC;oBACF;oBACAO;gBACF;gBACAkB,UAAU;gBACVO,aAAa,CAAC;YAChB;uBAIN,oBAAC7C;QAAK+C,MAAM,CAAC,EAAEjC,MAAM,OAAO,CAAC;OAAGM,EAAE,yDAClC,oBAACd,kBAAYc,EAAE;AAGrB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAG9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAKrB,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiF5B,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAG9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAKrB,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgF5B,CAAA;AAED,eAAe,OAAO,CAAA"}