@payloadcms/ui 3.13.0 → 3.14.0

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 (72) hide show
  1. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  2. package/dist/elements/PublishButton/index.js +11 -4
  3. package/dist/elements/PublishButton/index.js.map +1 -1
  4. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  5. package/dist/elements/SaveButton/index.js +12 -4
  6. package/dist/elements/SaveButton/index.js.map +1 -1
  7. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  8. package/dist/elements/SaveDraftButton/index.js +3 -2
  9. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  10. package/dist/elements/Upload/index.d.ts.map +1 -1
  11. package/dist/elements/Upload/index.js +6 -2
  12. package/dist/elements/Upload/index.js.map +1 -1
  13. package/dist/exports/client/index.js +22 -22
  14. package/dist/exports/client/index.js.map +3 -3
  15. package/dist/exports/shared/index.js +2 -2
  16. package/dist/exports/shared/index.js.map +3 -3
  17. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  18. package/dist/fields/Upload/HasMany/index.js +6 -4
  19. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  20. package/dist/fields/Upload/Input.d.ts.map +1 -1
  21. package/dist/fields/Upload/Input.js +166 -143
  22. package/dist/fields/Upload/Input.js.map +1 -1
  23. package/dist/fields/Upload/RelationshipContent/index.d.ts +1 -1
  24. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
  25. package/dist/fields/Upload/RelationshipContent/index.js +55 -45
  26. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  27. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +3 -0
  28. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  29. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +22 -24
  30. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  31. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  32. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +14 -7
  33. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  34. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  35. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  36. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  37. package/dist/forms/fieldSchemasToFormState/iterateFields.js +26 -3
  38. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  39. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  40. package/dist/providers/DocumentInfo/index.js +6 -0
  41. package/dist/providers/DocumentInfo/index.js.map +1 -1
  42. package/dist/providers/DocumentInfo/types.d.ts +3 -0
  43. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  44. package/dist/providers/DocumentInfo/types.js.map +1 -1
  45. package/dist/providers/ServerFunctions/index.d.ts +5 -2
  46. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  47. package/dist/providers/ServerFunctions/index.js +1 -0
  48. package/dist/providers/ServerFunctions/index.js.map +1 -1
  49. package/dist/utilities/abortAndIgnore.d.ts +8 -0
  50. package/dist/utilities/abortAndIgnore.d.ts.map +1 -1
  51. package/dist/utilities/abortAndIgnore.js +11 -5
  52. package/dist/utilities/abortAndIgnore.js.map +1 -1
  53. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  54. package/dist/utilities/buildClientFieldSchemaMap/index.js +4 -6
  55. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  56. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  57. package/dist/utilities/buildFieldSchemaMap/index.js +4 -6
  58. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  59. package/dist/utilities/schedulePublishHandler.d.ts +1 -1
  60. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  61. package/dist/utilities/schedulePublishHandler.js +25 -4
  62. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  63. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  64. package/dist/views/Edit/Auth/index.js +79 -90
  65. package/dist/views/Edit/Auth/index.js.map +1 -1
  66. package/dist/views/Edit/Auth/types.d.ts +0 -1
  67. package/dist/views/Edit/Auth/types.d.ts.map +1 -1
  68. package/dist/views/Edit/Auth/types.js.map +1 -1
  69. package/dist/views/Edit/index.d.ts.map +1 -1
  70. package/dist/views/Edit/index.js +2 -8
  71. package/dist/views/Edit/index.js.map +1 -1
  72. package/package.json +5 -5
@@ -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;
@@ -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,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useRouter","useSearchParams","React","Fragment","useCallback","useEffect","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useServerFunctions","useUploadEdits","abortAndIgnore","handleAbortRef","formatAdminURL","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","Description","PreviewButton","PublishButton","SaveButton","SaveDraftButton","CustomUpload","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","lastUpdateTime","redirectAfterDelete","redirectAfterDuplicate","savedDocumentData","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","updateSavedDocumentData","clearDoc","drawerSlug","onDelete","onDuplicate","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","versions","drafts","autosave","preventLeaveWithoutSaving","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","classes","push","schemaPathSegments","setSchemaPathSegments","disableLocalStrategy","validateBeforeSubmit","setValidateBeforeSubmit","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","json","controller","updatedAt","result","toISOString","doc","redirectRoute","path","docPreferences","state","data","renderAllFields","returnLockStatus","schemaPath","join","signal","onChange","formState","prevFormState","currentTime","timeSinceLastUpdate","updateLastEdited","shouldUnlockDocument","some","window","location","pathname","includes","abortOnChange","abortOnSave","shouldShowDocumentLockedModal","_jsx","className","filter","_jsxs","disabled","disableValidationOnSubmit","method","onSuccess","isActive","onReadOnly","onTakeOver","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","onDrawerCreateNew","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientSideEditViewProps,\n ClientUser,\n FormState,\n} from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { Upload } from '../../elements/Upload/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.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<ClientSideEditViewProps> = ({\n Description,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload: CustomUpload,\n}) => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n redirectAfterDelete,\n redirectAfterDuplicate,\n savedDocumentData,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n updateSavedDocumentData,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\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 docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = Boolean(\n (collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave),\n )\n\n const preventLeaveWithoutSaving =\n typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n\n const isLockExpired = Date.now() > lockExpiryTime\n\n const documentLockStateRef = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`]\n\n if (globalSlug) {\n classes.push(`global-edit--${globalSlug}`)\n }\n\n if (collectionSlug) {\n classes.push(`collection-edit--${collectionSlug}`)\n }\n\n const [schemaPathSegments, setSchemaPathSegments] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return [`_${entitySlug}`, 'auth']\n }\n\n return [entitySlug]\n })\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id\n : documentLockStateRef.current?.user\n\n if (lockedState) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockStateRef.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as ClientUser,\n }\n setCurrentEditor(lockedState.user as ClientUser)\n }\n }\n },\n [setCurrentEditor, setDocumentIsLocked, user?.id],\n )\n\n const onSave = useCallback(\n async (json): Promise<FormState> => {\n const controller = handleAbortRef(abortOnSaveRef)\n\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 incrementVersionCount()\n\n if (typeof updateSavedDocumentData === 'function') {\n void updateSavedDocumentData(json?.doc || {})\n }\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 = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n router.push(redirectRoute)\n } else {\n resetUploadEdits()\n }\n\n await getDocPermissions(json)\n\n if ((id || globalSlug) && !autosaveEnabled) {\n const docPreferences = await getDocPreferences()\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: json?.doc || json?.result,\n docPermissions,\n docPreferences,\n globalSlug,\n operation,\n renderAllFields: true,\n returnLockStatus: false,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n })\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n abortOnSaveRef.current = null\n\n return state\n }\n },\n [\n adminRoute,\n collectionSlug,\n depth,\n docPermissions,\n entitySlug,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n globalSlug,\n id,\n incrementVersionCount,\n isEditing,\n isLockingEnabled,\n locale,\n onSaveFromContext,\n operation,\n refreshCookieAsync,\n reportUpdate,\n resetUploadEdits,\n router,\n schemaPathSegments,\n setDocumentIsLocked,\n updateSavedDocumentData,\n user,\n userSlug,\n autosaveEnabled,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n const docPreferences = await getDocPreferences()\n\n const { lockedState, state } = await getFormState({\n id,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n // Performance optimization: Setting it to false ensure that only fields that have explicit requireRender set in the form state will be rendered (e.g. new array rows).\n // We only want to render ALL fields on initial render, not in onChange.\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n updateLastEdited,\n })\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n id,\n collectionSlug,\n getDocPreferences,\n getFormState,\n globalSlug,\n handleDocumentLocking,\n isLockingEnabled,\n operation,\n schemaPathSegments,\n docPermissions,\n editSessionStartTime,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Only retain the lock if the user is still viewing the document\n const shouldUnlockDocument = !['preview', 'api', 'versions'].some((path) =>\n window.location.pathname.includes(path),\n )\n if (shouldUnlockDocument) {\n // Check if this user is still the current editor\n if (\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id === user?.id\n : documentLockStateRef.current?.user === user?.id\n ) {\n void unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n }\n }\n }\n\n setShowTakeOverModal(false)\n }\n }, [\n collectionSlug,\n globalSlug,\n id,\n unlockDocument,\n user,\n setCurrentEditor,\n isLockingEnabled,\n documentIsLocked,\n setDocumentIsLocked,\n ])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isInDrawer && <DocumentDrawerHeader drawerSlug={drawerSlug} />}\n {isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n false,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n )\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {!isReadOnlyForIncomingUser && 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 customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n }}\n data={savedDocumentData}\n disableActions={disableActions}\n disableCreate={disableCreate}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreateNew={clearDoc}\n onDuplicate={onDuplicate}\n onSave={onSave}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n true,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n setIsReadOnlyForIncomingUser,\n )\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\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={savedDocumentData?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setSchemaPathSegments={setSchemaPathSegments}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n useAPIKey={auth.useAPIKey}\n username={savedDocumentData?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {CustomUpload || (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useRouter","useSearchParams","React","Fragment","useCallback","useEffect","useMemo","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useServerFunctions","useUploadEdits","abortAndIgnore","handleAbortRef","formatAdminURL","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","Description","PreviewButton","PublishButton","SaveButton","SaveDraftButton","CustomUpload","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","lastUpdateTime","redirectAfterDelete","redirectAfterDuplicate","savedDocumentData","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","updateSavedDocumentData","clearDoc","drawerSlug","onDelete","onDuplicate","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","versions","drafts","autosave","preventLeaveWithoutSaving","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","classes","push","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","json","controller","updatedAt","result","toISOString","doc","redirectRoute","path","docPreferences","state","data","renderAllFields","returnLockStatus","schemaPath","join","signal","onChange","formState","prevFormState","currentTime","timeSinceLastUpdate","updateLastEdited","shouldUnlockDocument","some","window","location","pathname","includes","abortOnChange","abortOnSave","shouldShowDocumentLockedModal","_jsx","className","filter","_jsxs","disabled","disableValidationOnSubmit","method","onSuccess","isActive","onReadOnly","onTakeOver","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","onDrawerCreateNew","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientSideEditViewProps,\n ClientUser,\n FormState,\n} from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { Upload } from '../../elements/Upload/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.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<ClientSideEditViewProps> = ({\n Description,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload: CustomUpload,\n}) => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n redirectAfterDelete,\n redirectAfterDuplicate,\n savedDocumentData,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n updateSavedDocumentData,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\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 docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = Boolean(\n (collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave),\n )\n\n const preventLeaveWithoutSaving =\n typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n\n const isLockExpired = Date.now() > lockExpiryTime\n\n const documentLockStateRef = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`]\n\n if (globalSlug) {\n classes.push(`global-edit--${globalSlug}`)\n }\n\n if (collectionSlug) {\n classes.push(`collection-edit--${collectionSlug}`)\n }\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id\n : documentLockStateRef.current?.user\n\n if (lockedState) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockStateRef.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as ClientUser,\n }\n setCurrentEditor(lockedState.user as ClientUser)\n }\n }\n },\n [setCurrentEditor, setDocumentIsLocked, user?.id],\n )\n\n const onSave = useCallback(\n async (json): Promise<FormState> => {\n const controller = handleAbortRef(abortOnSaveRef)\n\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 incrementVersionCount()\n\n if (typeof updateSavedDocumentData === 'function') {\n void updateSavedDocumentData(json?.doc || {})\n }\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 = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n router.push(redirectRoute)\n } else {\n resetUploadEdits()\n }\n\n await getDocPermissions(json)\n\n if ((id || globalSlug) && !autosaveEnabled) {\n const docPreferences = await getDocPreferences()\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: json?.doc || json?.result,\n docPermissions,\n docPreferences,\n globalSlug,\n operation,\n renderAllFields: true,\n returnLockStatus: false,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n })\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n abortOnSaveRef.current = null\n\n return state\n }\n },\n [\n adminRoute,\n collectionSlug,\n depth,\n docPermissions,\n entitySlug,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n globalSlug,\n id,\n incrementVersionCount,\n isEditing,\n isLockingEnabled,\n locale,\n onSaveFromContext,\n operation,\n refreshCookieAsync,\n reportUpdate,\n resetUploadEdits,\n router,\n schemaPathSegments,\n setDocumentIsLocked,\n updateSavedDocumentData,\n user,\n userSlug,\n autosaveEnabled,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n const docPreferences = await getDocPreferences()\n\n const { lockedState, state } = await getFormState({\n id,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n // Performance optimization: Setting it to false ensure that only fields that have explicit requireRender set in the form state will be rendered (e.g. new array rows).\n // We only want to render ALL fields on initial render, not in onChange.\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n updateLastEdited,\n })\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n id,\n collectionSlug,\n getDocPreferences,\n getFormState,\n globalSlug,\n handleDocumentLocking,\n isLockingEnabled,\n operation,\n schemaPathSegments,\n docPermissions,\n editSessionStartTime,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Only retain the lock if the user is still viewing the document\n const shouldUnlockDocument = !['preview', 'api', 'versions'].some((path) =>\n window.location.pathname.includes(path),\n )\n if (shouldUnlockDocument) {\n // Check if this user is still the current editor\n if (\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id === user?.id\n : documentLockStateRef.current?.user === user?.id\n ) {\n void unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n }\n }\n }\n\n setShowTakeOverModal(false)\n }\n }, [\n collectionSlug,\n globalSlug,\n id,\n unlockDocument,\n user,\n setCurrentEditor,\n isLockingEnabled,\n documentIsLocked,\n setDocumentIsLocked,\n ])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isInDrawer && <DocumentDrawerHeader drawerSlug={drawerSlug} />}\n {isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n false,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n )\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {!isReadOnlyForIncomingUser && 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 customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n }}\n data={savedDocumentData}\n disableActions={disableActions}\n disableCreate={disableCreate}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreateNew={clearDoc}\n onDuplicate={onDuplicate}\n onSave={onSave}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n true,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n setIsReadOnlyForIncomingUser,\n )\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\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={savedDocumentData?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n useAPIKey={auth.useAPIKey}\n username={savedDocumentData?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {CustomUpload || (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}