@payloadcms/ui 3.13.0 → 3.14.1-canary.1bb19f3

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 (102) hide show
  1. package/dist/elements/Gutter/index.js +0 -1
  2. package/dist/elements/Gutter/index.js.map +1 -1
  3. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  4. package/dist/elements/ListDrawer/DrawerContent.js +3 -2
  5. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  6. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  7. package/dist/elements/PublishButton/index.js +11 -4
  8. package/dist/elements/PublishButton/index.js.map +1 -1
  9. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  10. package/dist/elements/SaveButton/index.js +12 -4
  11. package/dist/elements/SaveButton/index.js.map +1 -1
  12. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  13. package/dist/elements/SaveDraftButton/index.js +3 -2
  14. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  15. package/dist/elements/Upload/index.d.ts.map +1 -1
  16. package/dist/elements/Upload/index.js +6 -2
  17. package/dist/elements/Upload/index.js.map +1 -1
  18. package/dist/exports/client/{DatePicker-IHDOZXIJ.js → DatePicker-KBQ2BMRY.js} +2 -2
  19. package/dist/exports/client/chunk-KVIFHJCL.js +29 -0
  20. package/dist/exports/client/{chunk-JPWZT3ZI.js.map → chunk-KVIFHJCL.js.map} +4 -4
  21. package/dist/exports/client/index.js +22 -22
  22. package/dist/exports/client/index.js.map +3 -3
  23. package/dist/exports/shared/index.js +2 -2
  24. package/dist/exports/shared/index.js.map +3 -3
  25. package/dist/fields/Text/index.d.ts +1 -1
  26. package/dist/fields/Text/index.d.ts.map +1 -1
  27. package/dist/fields/Text/index.js +1 -1
  28. package/dist/fields/Text/index.js.map +1 -1
  29. package/dist/fields/Textarea/index.d.ts.map +1 -1
  30. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  31. package/dist/fields/Upload/HasMany/index.js +6 -4
  32. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  33. package/dist/fields/Upload/Input.d.ts.map +1 -1
  34. package/dist/fields/Upload/Input.js +166 -143
  35. package/dist/fields/Upload/Input.js.map +1 -1
  36. package/dist/fields/Upload/RelationshipContent/index.d.ts +1 -1
  37. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
  38. package/dist/fields/Upload/RelationshipContent/index.js +55 -45
  39. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  40. package/dist/forms/Form/index.d.ts.map +1 -1
  41. package/dist/forms/Form/index.js +9 -2
  42. package/dist/forms/Form/index.js.map +1 -1
  43. package/dist/forms/Form/mergeServerFormState.d.ts +7 -1
  44. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  45. package/dist/forms/Form/mergeServerFormState.js +9 -2
  46. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  47. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +3 -0
  48. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  49. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +22 -24
  50. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  51. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  52. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +14 -7
  53. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  54. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  55. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  56. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  57. package/dist/forms/fieldSchemasToFormState/iterateFields.js +26 -3
  58. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  59. package/dist/forms/useField/index.d.ts.map +1 -1
  60. package/dist/forms/useField/index.js +8 -9
  61. package/dist/forms/useField/index.js.map +1 -1
  62. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  63. package/dist/providers/DocumentInfo/index.js +6 -0
  64. package/dist/providers/DocumentInfo/index.js.map +1 -1
  65. package/dist/providers/DocumentInfo/types.d.ts +3 -0
  66. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  67. package/dist/providers/DocumentInfo/types.js.map +1 -1
  68. package/dist/providers/ServerFunctions/index.d.ts +5 -2
  69. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  70. package/dist/providers/ServerFunctions/index.js +1 -0
  71. package/dist/providers/ServerFunctions/index.js.map +1 -1
  72. package/dist/utilities/abortAndIgnore.d.ts +8 -0
  73. package/dist/utilities/abortAndIgnore.d.ts.map +1 -1
  74. package/dist/utilities/abortAndIgnore.js +11 -5
  75. package/dist/utilities/abortAndIgnore.js.map +1 -1
  76. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  77. package/dist/utilities/buildClientFieldSchemaMap/index.js +4 -6
  78. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  79. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  80. package/dist/utilities/buildFieldSchemaMap/index.js +4 -6
  81. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  82. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  83. package/dist/utilities/copyDataFromLocale.js +14 -4
  84. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  85. package/dist/utilities/schedulePublishHandler.d.ts +1 -1
  86. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  87. package/dist/utilities/schedulePublishHandler.js +25 -4
  88. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  89. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  90. package/dist/views/Edit/Auth/index.js +79 -90
  91. package/dist/views/Edit/Auth/index.js.map +1 -1
  92. package/dist/views/Edit/Auth/types.d.ts +0 -1
  93. package/dist/views/Edit/Auth/types.d.ts.map +1 -1
  94. package/dist/views/Edit/Auth/types.js.map +1 -1
  95. package/dist/views/Edit/index.d.ts.map +1 -1
  96. package/dist/views/Edit/index.js +3 -9
  97. package/dist/views/Edit/index.js.map +1 -1
  98. package/dist/views/List/index.js +1 -1
  99. package/dist/views/List/index.js.map +1 -1
  100. package/package.json +5 -5
  101. package/dist/exports/client/chunk-JPWZT3ZI.js +0 -29
  102. /package/dist/exports/client/{DatePicker-IHDOZXIJ.js.map → DatePicker-KBQ2BMRY.js.map} +0 -0
@@ -4,18 +4,39 @@ export const schedulePublishHandler = async ({
4
4
  doc,
5
5
  global,
6
6
  locale,
7
- req: {
7
+ req
8
+ }) => {
9
+ const {
8
10
  i18n,
9
- payload
11
+ payload,
12
+ user
13
+ } = req;
14
+ const incomingUserSlug = user?.collection;
15
+ const adminUserSlug = payload.config.admin.user;
16
+ if (!incomingUserSlug) {
17
+ throw new Error('Unauthorized');
18
+ }
19
+ const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin;
20
+ // Run the admin access function from the config if it exists
21
+ if (adminAccessFunction) {
22
+ const canAccessAdmin = await adminAccessFunction({
23
+ req
24
+ });
25
+ if (!canAccessAdmin) {
26
+ throw new Error('Unauthorized');
27
+ }
28
+ // Match the user collection to the global admin config
29
+ } else if (adminUserSlug !== incomingUserSlug) {
30
+ throw new Error('Unauthorized');
10
31
  }
11
- }) => {
12
32
  try {
13
33
  await payload.jobs.queue({
14
34
  input: {
15
35
  type,
16
36
  doc,
17
37
  global,
18
- locale
38
+ locale,
39
+ user: user.id
19
40
  },
20
41
  task: 'schedulePublish',
21
42
  waitUntil: date
@@ -1 +1 @@
1
- {"version":3,"file":"schedulePublishHandler.js","names":["schedulePublishHandler","type","date","doc","global","locale","req","i18n","payload","jobs","queue","input","task","waitUntil","err","error","value","relationTo","logger","message","t"],"sources":["../../src/utilities/schedulePublishHandler.ts"],"sourcesContent":["import type { PayloadRequest, SchedulePublishTaskInput } from 'payload'\n\nexport type SchedulePublishHandlerArgs = {\n date: Date\n req: PayloadRequest\n} & SchedulePublishTaskInput\n\nexport const schedulePublishHandler = async ({\n type,\n date,\n doc,\n global,\n locale,\n req: { i18n, payload },\n}: SchedulePublishHandlerArgs) => {\n try {\n await payload.jobs.queue({\n input: {\n type,\n doc,\n global,\n locale,\n },\n task: 'schedulePublish',\n waitUntil: date,\n })\n } catch (err) {\n let error = `Error scheduling ${type} for `\n\n if (doc) {\n error += `document with ID ${doc.value} in collection ${doc.relationTo}`\n }\n\n payload.logger.error(error)\n payload.logger.error(err)\n\n return {\n error,\n }\n }\n\n return { message: i18n.t('general:success') }\n}\n"],"mappings":"AAOA,OAAO,MAAMA,sBAAA,GAAyB,MAAAA,CAAO;EAC3CC,IAAI;EACJC,IAAI;EACJC,GAAG;EACHC,MAAM;EACNC,MAAM;EACNC,GAAA,EAAK;IAAEC,IAAI;IAAEC;EAAO;AAAE,CACK;EAC3B,IAAI;IACF,MAAMA,OAAA,CAAQC,IAAI,CAACC,KAAK,CAAC;MACvBC,KAAA,EAAO;QACLV,IAAA;QACAE,GAAA;QACAC,MAAA;QACAC;MACF;MACAO,IAAA,EAAM;MACNC,SAAA,EAAWX;IACb;EACF,EAAE,OAAOY,GAAA,EAAK;IACZ,IAAIC,KAAA,GAAQ,oBAAoBd,IAAA,OAAW;IAE3C,IAAIE,GAAA,EAAK;MACPY,KAAA,IAAS,oBAAoBZ,GAAA,CAAIa,KAAK,kBAAkBb,GAAA,CAAIc,UAAU,EAAE;IAC1E;IAEAT,OAAA,CAAQU,MAAM,CAACH,KAAK,CAACA,KAAA;IACrBP,OAAA,CAAQU,MAAM,CAACH,KAAK,CAACD,GAAA;IAErB,OAAO;MACLC;IACF;EACF;EAEA,OAAO;IAAEI,OAAA,EAASZ,IAAA,CAAKa,CAAC,CAAC;EAAmB;AAC9C","ignoreList":[]}
1
+ {"version":3,"file":"schedulePublishHandler.js","names":["schedulePublishHandler","type","date","doc","global","locale","req","i18n","payload","user","incomingUserSlug","collection","adminUserSlug","config","admin","Error","adminAccessFunction","collections","access","canAccessAdmin","jobs","queue","input","id","task","waitUntil","err","error","value","relationTo","logger","message","t"],"sources":["../../src/utilities/schedulePublishHandler.ts"],"sourcesContent":["import type { PayloadRequest, SchedulePublishTaskInput } from 'payload'\n\nexport type SchedulePublishHandlerArgs = {\n date: Date\n req: PayloadRequest\n} & SchedulePublishTaskInput\n\nexport const schedulePublishHandler = async ({\n type,\n date,\n doc,\n global,\n locale,\n req,\n}: SchedulePublishHandlerArgs) => {\n const { i18n, payload, user } = req\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = payload.config.admin.user\n\n if (!incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n try {\n await payload.jobs.queue({\n input: {\n type,\n doc,\n global,\n locale,\n user: user.id,\n },\n task: 'schedulePublish',\n waitUntil: date,\n })\n } catch (err) {\n let error = `Error scheduling ${type} for `\n\n if (doc) {\n error += `document with ID ${doc.value} in collection ${doc.relationTo}`\n }\n\n payload.logger.error(error)\n payload.logger.error(err)\n\n return {\n error,\n }\n }\n\n return { message: i18n.t('general:success') }\n}\n"],"mappings":"AAOA,OAAO,MAAMA,sBAAA,GAAyB,MAAAA,CAAO;EAC3CC,IAAI;EACJC,IAAI;EACJC,GAAG;EACHC,MAAM;EACNC,MAAM;EACNC;AAAG,CACwB;EAC3B,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAI,CAAE,GAAGH,GAAA;EAEhC,MAAMI,gBAAA,GAAmBD,IAAA,EAAME,UAAA;EAE/B,MAAMC,aAAA,GAAgBJ,OAAA,CAAQK,MAAM,CAACC,KAAK,CAACL,IAAI;EAE/C,IAAI,CAACC,gBAAA,EAAkB;IACrB,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,MAAMC,mBAAA,GAAsBR,OAAA,CAAQS,WAAW,CAACP,gBAAA,CAAiB,CAACG,MAAM,CAACK,MAAM,EAAEJ,KAAA;EAEjF;EACA,IAAIE,mBAAA,EAAqB;IACvB,MAAMG,cAAA,GAAiB,MAAMH,mBAAA,CAAoB;MAAEV;IAAI;IAEvD,IAAI,CAACa,cAAA,EAAgB;MACnB,MAAM,IAAIJ,KAAA,CAAM;IAClB;IACA;EACF,OAAO,IAAIH,aAAA,KAAkBF,gBAAA,EAAkB;IAC7C,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,IAAI;IACF,MAAMP,OAAA,CAAQY,IAAI,CAACC,KAAK,CAAC;MACvBC,KAAA,EAAO;QACLrB,IAAA;QACAE,GAAA;QACAC,MAAA;QACAC,MAAA;QACAI,IAAA,EAAMA,IAAA,CAAKc;MACb;MACAC,IAAA,EAAM;MACNC,SAAA,EAAWvB;IACb;EACF,EAAE,OAAOwB,GAAA,EAAK;IACZ,IAAIC,KAAA,GAAQ,oBAAoB1B,IAAA,OAAW;IAE3C,IAAIE,GAAA,EAAK;MACPwB,KAAA,IAAS,oBAAoBxB,GAAA,CAAIyB,KAAK,kBAAkBzB,GAAA,CAAI0B,UAAU,EAAE;IAC1E;IAEArB,OAAA,CAAQsB,MAAM,CAACH,KAAK,CAACA,KAAA;IACrBnB,OAAA,CAAQsB,MAAM,CAACH,KAAK,CAACD,GAAA;IAErB,OAAO;MACLC;IACF;EACF;EAEA,OAAO;IAAEI,OAAA,EAASxB,IAAA,CAAKyB,CAAC,CAAC;EAAmB;AAC9C","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAGxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAavC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuNhC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAGxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAavC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiNhC,CAAA"}
@@ -18,7 +18,7 @@ import { APIKey } from './APIKey.js';
18
18
  import './index.scss';
19
19
  const baseClass = 'auth-fields';
20
20
  export const Auth = props => {
21
- const $ = _c(60);
21
+ const $ = _c(58);
22
22
  const {
23
23
  className,
24
24
  collectionSlug,
@@ -28,7 +28,6 @@ export const Auth = props => {
28
28
  operation,
29
29
  readOnly,
30
30
  requirePassword,
31
- setSchemaPathSegments,
32
31
  setValidateBeforeSubmit,
33
32
  useAPIKey,
34
33
  username,
@@ -39,8 +38,7 @@ export const Auth = props => {
39
38
  } = useAuth();
40
39
  const [changingPassword, setChangingPassword] = useState(requirePassword);
41
40
  const enableAPIKey = useFormFields(_temp);
42
- const forceOpenChangePassword = useFormFields(_temp2);
43
- const dispatchFields = useFormFields(_temp3);
41
+ const dispatchFields = useFormFields(_temp2);
44
42
  const modified = useFormModified();
45
43
  const {
46
44
  i18n,
@@ -77,11 +75,10 @@ export const Auth = props => {
77
75
  const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read;
78
76
  const canReadEnableAPIKey = apiKeyPermissions === true || apiKeyPermissions?.read;
79
77
  let t3;
80
- if ($[0] !== collectionSlug || $[1] !== dispatchFields || $[2] !== setSchemaPathSegments || $[3] !== setValidateBeforeSubmit || $[4] !== t) {
78
+ if ($[0] !== dispatchFields || $[1] !== setValidateBeforeSubmit || $[2] !== t) {
81
79
  t3 = showPasswordFields => {
82
80
  if (showPasswordFields) {
83
81
  setValidateBeforeSubmit(true);
84
- setSchemaPathSegments([`_${collectionSlug}`, "auth"]);
85
82
  dispatchFields({
86
83
  type: "UPDATE",
87
84
  errorMessage: t("validation:required"),
@@ -96,7 +93,6 @@ export const Auth = props => {
96
93
  });
97
94
  } else {
98
95
  setValidateBeforeSubmit(false);
99
- setSchemaPathSegments([collectionSlug]);
100
96
  dispatchFields({
101
97
  type: "REMOVE",
102
98
  path: "password"
@@ -108,18 +104,16 @@ export const Auth = props => {
108
104
  }
109
105
  setChangingPassword(showPasswordFields);
110
106
  };
111
- $[0] = collectionSlug;
112
- $[1] = dispatchFields;
113
- $[2] = setSchemaPathSegments;
114
- $[3] = setValidateBeforeSubmit;
115
- $[4] = t;
116
- $[5] = t3;
107
+ $[0] = dispatchFields;
108
+ $[1] = setValidateBeforeSubmit;
109
+ $[2] = t;
110
+ $[3] = t3;
117
111
  } else {
118
- t3 = $[5];
112
+ t3 = $[3];
119
113
  }
120
114
  const handleChangePassword = t3;
121
115
  let t4;
122
- if ($[6] !== api || $[7] !== collectionSlug || $[8] !== email || $[9] !== i18n.language || $[10] !== loginWithUsername || $[11] !== serverURL || $[12] !== t || $[13] !== username) {
116
+ if ($[4] !== api || $[5] !== collectionSlug || $[6] !== email || $[7] !== i18n.language || $[8] !== loginWithUsername || $[9] !== serverURL || $[10] !== t || $[11] !== username) {
123
117
  t4 = async () => {
124
118
  const url = `${serverURL}${api}/${collectionSlug}/unlock`;
125
119
  const response = await fetch(url, {
@@ -141,54 +135,53 @@ export const Auth = props => {
141
135
  toast.error(t("authentication:failedToUnlock"));
142
136
  }
143
137
  };
144
- $[6] = api;
145
- $[7] = collectionSlug;
146
- $[8] = email;
147
- $[9] = i18n.language;
148
- $[10] = loginWithUsername;
149
- $[11] = serverURL;
150
- $[12] = t;
151
- $[13] = username;
152
- $[14] = t4;
138
+ $[4] = api;
139
+ $[5] = collectionSlug;
140
+ $[6] = email;
141
+ $[7] = i18n.language;
142
+ $[8] = loginWithUsername;
143
+ $[9] = serverURL;
144
+ $[10] = t;
145
+ $[11] = username;
146
+ $[12] = t4;
153
147
  } else {
154
- t4 = $[14];
148
+ t4 = $[12];
155
149
  }
156
150
  const unlock = t4;
157
151
  let t5;
158
152
  let t6;
159
- if ($[15] !== modified) {
153
+ if ($[13] !== modified) {
160
154
  t5 = () => {
161
155
  if (!modified) {
162
156
  setChangingPassword(false);
163
157
  }
164
158
  };
165
159
  t6 = [modified];
166
- $[15] = modified;
167
- $[16] = t5;
168
- $[17] = t6;
160
+ $[13] = modified;
161
+ $[14] = t5;
162
+ $[15] = t6;
169
163
  } else {
170
- t5 = $[16];
171
- t6 = $[17];
164
+ t5 = $[14];
165
+ t6 = $[15];
172
166
  }
173
167
  useEffect(t5, t6);
174
168
  if (disableLocalStrategy && !useAPIKey) {
175
169
  return null;
176
170
  }
177
171
  const disabled = readOnly || isInitializing;
178
- const showPasswordFields_0 = changingPassword || forceOpenChangePassword;
179
172
  let t7;
180
- if ($[18] !== className) {
173
+ if ($[16] !== className) {
181
174
  t7 = [baseClass, className].filter(Boolean);
182
- $[18] = className;
183
- $[19] = t7;
175
+ $[16] = className;
176
+ $[17] = t7;
184
177
  } else {
185
- t7 = $[19];
178
+ t7 = $[17];
186
179
  }
187
180
  const t8 = t7.join(" ");
188
181
  let t9;
189
- if ($[20] !== apiKeyReadOnly || $[21] !== canReadApiKey || $[22] !== canReadEnableAPIKey || $[23] !== collectionSlug || $[24] !== disableLocalStrategy || $[25] !== disabled || $[26] !== docPermissions?.fields || $[27] !== enableAPIKey?.value || $[28] !== enableAPIKeyReadOnly || $[29] !== handleChangePassword || $[30] !== hasPermissionToUnlock || $[31] !== isEditing || $[32] !== loginWithUsername || $[33] !== operation || $[34] !== readOnly || $[35] !== requirePassword || $[36] !== showPasswordFields_0 || $[37] !== t || $[38] !== t8 || $[39] !== unlock || $[40] !== useAPIKey || $[41] !== verify) {
182
+ if ($[18] !== apiKeyReadOnly || $[19] !== canReadApiKey || $[20] !== canReadEnableAPIKey || $[21] !== changingPassword || $[22] !== collectionSlug || $[23] !== disableLocalStrategy || $[24] !== disabled || $[25] !== docPermissions?.fields || $[26] !== enableAPIKey?.value || $[27] !== enableAPIKeyReadOnly || $[28] !== handleChangePassword || $[29] !== hasPermissionToUnlock || $[30] !== isEditing || $[31] !== loginWithUsername || $[32] !== operation || $[33] !== readOnly || $[34] !== requirePassword || $[35] !== t || $[36] !== t8 || $[37] !== unlock || $[38] !== useAPIKey || $[39] !== verify) {
190
183
  let t10;
191
- if ($[43] !== apiKeyReadOnly || $[44] !== canReadApiKey || $[45] !== canReadEnableAPIKey || $[46] !== collectionSlug || $[47] !== disabled || $[48] !== enableAPIKey?.value || $[49] !== enableAPIKeyReadOnly || $[50] !== t || $[51] !== useAPIKey) {
184
+ if ($[41] !== apiKeyReadOnly || $[42] !== canReadApiKey || $[43] !== canReadEnableAPIKey || $[44] !== collectionSlug || $[45] !== disabled || $[46] !== enableAPIKey?.value || $[47] !== enableAPIKeyReadOnly || $[48] !== t || $[49] !== useAPIKey) {
192
185
  t10 = useAPIKey && _jsxs("div", {
193
186
  className: `${baseClass}__api-key`,
194
187
  children: [canReadEnableAPIKey && _jsx(CheckboxField, {
@@ -207,21 +200,21 @@ export const Auth = props => {
207
200
  readOnly: apiKeyReadOnly
208
201
  })]
209
202
  });
210
- $[43] = apiKeyReadOnly;
211
- $[44] = canReadApiKey;
212
- $[45] = canReadEnableAPIKey;
213
- $[46] = collectionSlug;
214
- $[47] = disabled;
215
- $[48] = enableAPIKey?.value;
216
- $[49] = enableAPIKeyReadOnly;
217
- $[50] = t;
218
- $[51] = useAPIKey;
219
- $[52] = t10;
203
+ $[41] = apiKeyReadOnly;
204
+ $[42] = canReadApiKey;
205
+ $[43] = canReadEnableAPIKey;
206
+ $[44] = collectionSlug;
207
+ $[45] = disabled;
208
+ $[46] = enableAPIKey?.value;
209
+ $[47] = enableAPIKeyReadOnly;
210
+ $[48] = t;
211
+ $[49] = useAPIKey;
212
+ $[50] = t10;
220
213
  } else {
221
- t10 = $[52];
214
+ t10 = $[50];
222
215
  }
223
216
  let t11;
224
- if ($[53] !== collectionSlug || $[54] !== disabled || $[55] !== isEditing || $[56] !== readOnly || $[57] !== t || $[58] !== verify) {
217
+ if ($[51] !== collectionSlug || $[52] !== disabled || $[53] !== isEditing || $[54] !== readOnly || $[55] !== t || $[56] !== verify) {
225
218
  t11 = verify && isEditing && _jsx(CheckboxField, {
226
219
  field: {
227
220
  name: "_verified",
@@ -234,15 +227,15 @@ export const Auth = props => {
234
227
  path: "_verified",
235
228
  schemaPath: `${collectionSlug}._verified`
236
229
  });
237
- $[53] = collectionSlug;
238
- $[54] = disabled;
239
- $[55] = isEditing;
240
- $[56] = readOnly;
241
- $[57] = t;
242
- $[58] = verify;
243
- $[59] = t11;
230
+ $[51] = collectionSlug;
231
+ $[52] = disabled;
232
+ $[53] = isEditing;
233
+ $[54] = readOnly;
234
+ $[55] = t;
235
+ $[56] = verify;
236
+ $[57] = t11;
244
237
  } else {
245
- t11 = $[59];
238
+ t11 = $[57];
246
239
  }
247
240
  t9 = _jsxs("div", {
248
241
  className: t8,
@@ -253,7 +246,7 @@ export const Auth = props => {
253
246
  permissions: docPermissions?.fields,
254
247
  readOnly,
255
248
  t
256
- }), (showPasswordFields_0 || requirePassword) && _jsxs("div", {
249
+ }), (changingPassword || requirePassword) && _jsxs("div", {
257
250
  className: `${baseClass}__changing-password`,
258
251
  children: [_jsx(PasswordField, {
259
252
  autoComplete: "new-password",
@@ -272,13 +265,13 @@ export const Auth = props => {
272
265
  })]
273
266
  }), _jsxs("div", {
274
267
  className: `${baseClass}__controls`,
275
- children: [showPasswordFields_0 && !requirePassword && _jsx(Button, {
268
+ children: [changingPassword && !requirePassword && _jsx(Button, {
276
269
  buttonStyle: "secondary",
277
270
  disabled,
278
271
  onClick: () => handleChangePassword(false),
279
272
  size: "medium",
280
273
  children: t("general:cancel")
281
- }), !showPasswordFields_0 && !requirePassword && _jsx(Button, {
274
+ }), !changingPassword && !requirePassword && _jsx(Button, {
282
275
  buttonStyle: "secondary",
283
276
  disabled,
284
277
  id: "change-password",
@@ -295,31 +288,31 @@ export const Auth = props => {
295
288
  })]
296
289
  }), t10, t11]
297
290
  });
298
- $[20] = apiKeyReadOnly;
299
- $[21] = canReadApiKey;
300
- $[22] = canReadEnableAPIKey;
301
- $[23] = collectionSlug;
302
- $[24] = disableLocalStrategy;
303
- $[25] = disabled;
304
- $[26] = docPermissions?.fields;
305
- $[27] = enableAPIKey?.value;
306
- $[28] = enableAPIKeyReadOnly;
307
- $[29] = handleChangePassword;
308
- $[30] = hasPermissionToUnlock;
309
- $[31] = isEditing;
310
- $[32] = loginWithUsername;
311
- $[33] = operation;
312
- $[34] = readOnly;
313
- $[35] = requirePassword;
314
- $[36] = showPasswordFields_0;
315
- $[37] = t;
316
- $[38] = t8;
317
- $[39] = unlock;
318
- $[40] = useAPIKey;
319
- $[41] = verify;
320
- $[42] = t9;
291
+ $[18] = apiKeyReadOnly;
292
+ $[19] = canReadApiKey;
293
+ $[20] = canReadEnableAPIKey;
294
+ $[21] = changingPassword;
295
+ $[22] = collectionSlug;
296
+ $[23] = disableLocalStrategy;
297
+ $[24] = disabled;
298
+ $[25] = docPermissions?.fields;
299
+ $[26] = enableAPIKey?.value;
300
+ $[27] = enableAPIKeyReadOnly;
301
+ $[28] = handleChangePassword;
302
+ $[29] = hasPermissionToUnlock;
303
+ $[30] = isEditing;
304
+ $[31] = loginWithUsername;
305
+ $[32] = operation;
306
+ $[33] = readOnly;
307
+ $[34] = requirePassword;
308
+ $[35] = t;
309
+ $[36] = t8;
310
+ $[37] = unlock;
311
+ $[38] = useAPIKey;
312
+ $[39] = verify;
313
+ $[40] = t9;
321
314
  } else {
322
- t9 = $[42];
315
+ t9 = $[40];
323
316
  }
324
317
  return t9;
325
318
  };
@@ -327,11 +320,7 @@ function _temp(t0) {
327
320
  const [fields] = t0;
328
321
  return fields && fields?.enableAPIKey || null;
329
322
  }
330
- function _temp2(t0) {
331
- const [fields_0] = t0;
332
- return fields_0 && fields_0?.password || null;
333
- }
334
- function _temp3(reducer) {
323
+ function _temp2(reducer) {
335
324
  return reducer[1];
336
325
  }
337
326
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useAuth","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setSchemaPathSegments","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","forceOpenChangePassword","_temp2","dispatchFields","_temp3","modified","i18n","t","docPermissions","isEditing","isInitializing","config","t0","routes","t1","serverURL","api","t2","bb0","collection","collections","Boolean","unlock","undefined","hasPermissionToUnlock","apiKeyPermissions","fields","apiKeyReadOnly","update","enableAPIKeyReadOnly","canReadApiKey","read","canReadEnableAPIKey","t3","showPasswordFields","type","errorMessage","path","valid","handleChangePassword","t4","language","url","response","fetch","body","JSON","stringify","credentials","headers","method","status","success","error","t5","t6","disabled","showPasswordFields_0","t7","filter","t8","join","t9","value","t10","_jsxs","children","_jsx","field","name","admin","label","schemaPath","enabled","t11","Fragment","autoComplete","required","indexPath","parentPath","parentSchemaPath","buttonStyle","onClick","size","id","fields_0","password","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\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 loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setSchemaPathSegments,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const { permissions } = useAuth()\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const forceOpenChangePassword = useFormFields(([fields]) => (fields && fields?.password) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n const collection = permissions?.collections?.[collectionSlug]\n\n if (collection) {\n return Boolean('unlock' in collection ? collection.unlock : undefined)\n }\n\n return false\n }, [permissions, collectionSlug])\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n apiKeyPermissions === true ||\n (apiKeyPermissions && typeof apiKeyPermissions === 'object' && !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n const canReadEnableAPIKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const handleChangePassword = useCallback(\n (showPasswordFields: boolean) => {\n if (showPasswordFields) {\n setValidateBeforeSubmit(true)\n setSchemaPathSegments([`_${collectionSlug}`, 'auth'])\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n setSchemaPathSegments([collectionSlug])\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(showPasswordFields)\n },\n [dispatchFields, t, collectionSlug, setSchemaPathSegments, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\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'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !useAPIKey) {\n return null\n }\n\n const disabled = readOnly || isInitializing\n\n const showPasswordFields = changingPassword || forceOpenChangePassword\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {!disableLocalStrategy && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n t={t}\n />\n {(showPasswordFields || requirePassword) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {showPasswordFields && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!showPasswordFields && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadEnableAPIKey && (\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n )}\n {canReadApiKey && <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />}\n </div>\n )}\n {verify && isEditing && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useAuth","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","dispatchFields","_temp2","modified","i18n","t","docPermissions","isEditing","isInitializing","config","t0","routes","t1","serverURL","api","t2","bb0","collection","collections","Boolean","unlock","undefined","hasPermissionToUnlock","apiKeyPermissions","fields","apiKeyReadOnly","update","enableAPIKeyReadOnly","canReadApiKey","read","canReadEnableAPIKey","t3","showPasswordFields","type","errorMessage","path","valid","handleChangePassword","t4","language","url","response","fetch","body","JSON","stringify","credentials","headers","method","status","success","error","t5","t6","disabled","t7","filter","t8","join","t9","value","t10","_jsxs","children","_jsx","field","name","admin","label","schemaPath","enabled","t11","Fragment","autoComplete","required","indexPath","parentPath","parentSchemaPath","buttonStyle","onClick","size","id","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\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 loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const { permissions } = useAuth()\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n const collection = permissions?.collections?.[collectionSlug]\n\n if (collection) {\n return Boolean('unlock' in collection ? collection.unlock : undefined)\n }\n\n return false\n }, [permissions, collectionSlug])\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n apiKeyPermissions === true ||\n (apiKeyPermissions && typeof apiKeyPermissions === 'object' && !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n const canReadEnableAPIKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const handleChangePassword = useCallback(\n (showPasswordFields: boolean) => {\n if (showPasswordFields) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(showPasswordFields)\n },\n [dispatchFields, t, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\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'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !useAPIKey) {\n return null\n }\n\n const disabled = readOnly || isInitializing\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {!disableLocalStrategy && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n t={t}\n />\n {(changingPassword || requirePassword) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadEnableAPIKey && (\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n )}\n {canReadApiKey && <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />}\n </div>\n )}\n {verify && isEditing && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,6 @@ export type Props = {
8
8
  operation: 'create' | 'update';
9
9
  readOnly: boolean;
10
10
  requirePassword?: boolean;
11
- setSchemaPathSegments: (path: string[]) => void;
12
11
  setValidateBeforeSubmit: (validate: boolean) => void;
13
12
  useAPIKey?: boolean;
14
13
  username: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,oBAAoB,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAA;IAChF,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAA;IACzE,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC/C,uBAAuB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IACpD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,oBAAoB,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAA;IAChF,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAA;IACzE,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,uBAAuB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IACpD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Edit/Auth/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug: SanitizedCollectionConfig['slug']\n disableLocalStrategy?: SanitizedCollectionConfig['auth']['disableLocalStrategy']\n email: string\n loginWithUsername: SanitizedCollectionConfig['auth']['loginWithUsername']\n operation: 'create' | 'update'\n readOnly: boolean\n requirePassword?: boolean\n setSchemaPathSegments: (path: string[]) => void\n setValidateBeforeSubmit: (validate: boolean) => void\n useAPIKey?: boolean\n username: string\n verify?: boolean\n}\n"],"mappings":"AAEA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Edit/Auth/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug: SanitizedCollectionConfig['slug']\n disableLocalStrategy?: SanitizedCollectionConfig['auth']['disableLocalStrategy']\n email: string\n loginWithUsername: SanitizedCollectionConfig['auth']['loginWithUsername']\n operation: 'create' | 'update'\n readOnly: boolean\n requirePassword?: boolean\n setValidateBeforeSubmit: (validate: boolean) => void\n useAPIKey?: boolean\n username: string\n verify?: boolean\n}\n"],"mappings":"AAEA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,uBAAuB,EAGxB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA6D,MAAM,OAAO,CAAA;AA8BjF,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA+hB7D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,uBAAuB,EAGxB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAsE,MAAM,OAAO,CAAA;AA8B1F,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwhB7D,CAAA"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { useRouter, useSearchParams } from 'next/navigation.js';
5
- import React, { Fragment, useCallback, useEffect, useRef, useState } from 'react';
5
+ import React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';
6
6
  import { DocumentControls } from '../../elements/DocumentControls/index.js';
7
7
  import { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js';
8
8
  import { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js';
@@ -149,12 +149,7 @@ export const DefaultEditView = ({
149
149
  if (collectionSlug) {
150
150
  classes.push(`collection-edit--${collectionSlug}`);
151
151
  }
152
- const [schemaPathSegments, setSchemaPathSegments] = useState(() => {
153
- if (operation === 'create' && auth && !auth.disableLocalStrategy) {
154
- return [`_${entitySlug}`, 'auth'];
155
- }
156
- return [entitySlug];
157
- });
152
+ const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug]);
158
153
  const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {
159
154
  if (operation === 'create' && auth && !auth.disableLocalStrategy) {
160
155
  return true;
@@ -237,7 +232,7 @@ export const DefaultEditView = ({
237
232
  abortOnSaveRef.current = null;
238
233
  return state;
239
234
  }
240
- }, [adminRoute, collectionSlug, depth, docPermissions, entitySlug, getDocPermissions, getDocPreferences, getFormState, globalSlug, id, incrementVersionCount, isEditing, isLockingEnabled, locale, onSaveFromContext, operation, refreshCookieAsync, reportUpdate, resetUploadEdits, router, schemaPathSegments, setDocumentIsLocked, updateSavedDocumentData, user, userSlug, autosaveEnabled]);
235
+ }, [reportUpdate, id, entitySlug, user, collectionSlug, userSlug, incrementVersionCount, updateSavedDocumentData, onSaveFromContext, isEditing, depth, getDocPermissions, globalSlug, autosaveEnabled, refreshCookieAsync, adminRoute, locale, router, resetUploadEdits, getDocPreferences, getFormState, docPermissions, operation, schemaPathSegments, isLockingEnabled, setDocumentIsLocked]);
241
236
  const onChange = useCallback(async ({
242
237
  formState: prevFormState
243
238
  }) => {
@@ -391,7 +386,6 @@ export const DefaultEditView = ({
391
386
  operation: operation,
392
387
  readOnly: !hasSavePermission,
393
388
  requirePassword: !id,
394
- setSchemaPathSegments: setSchemaPathSegments,
395
389
  setValidateBeforeSubmit: setValidateBeforeSubmit,
396
390
  useAPIKey: auth.useAPIKey,
397
391
  username: savedDocumentData?.username,